From f2ab3bdca21a0aa64df05de0632150a9ad2f3831 Mon Sep 17 00:00:00 2001 From: Oliver Date: Thu, 23 May 2024 23:39:12 +1000 Subject: [PATCH] New Crowdin updates (#7310) * updated translation base * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.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/bg/LC_MESSAGES/django.po | 3868 +++++++------- .../InvenTree/locale/cs/LC_MESSAGES/django.po | 3868 +++++++------- .../InvenTree/locale/da/LC_MESSAGES/django.po | 3868 +++++++------- .../InvenTree/locale/de/LC_MESSAGES/django.po | 4716 +++++++++-------- .../InvenTree/locale/el/LC_MESSAGES/django.po | 3868 +++++++------- .../InvenTree/locale/en/LC_MESSAGES/django.po | 3863 +++++++------- .../InvenTree/locale/es/LC_MESSAGES/django.po | 4000 +++++++------- .../locale/es_MX/LC_MESSAGES/django.po | 3863 +++++++------- .../InvenTree/locale/fa/LC_MESSAGES/django.po | 3868 +++++++------- .../InvenTree/locale/fi/LC_MESSAGES/django.po | 3876 +++++++------- .../InvenTree/locale/fr/LC_MESSAGES/django.po | 4089 +++++++------- .../InvenTree/locale/he/LC_MESSAGES/django.po | 3868 +++++++------- .../InvenTree/locale/hi/LC_MESSAGES/django.po | 3868 +++++++------- .../InvenTree/locale/hu/LC_MESSAGES/django.po | 3908 +++++++------- .../InvenTree/locale/id/LC_MESSAGES/django.po | 3868 +++++++------- .../InvenTree/locale/it/LC_MESSAGES/django.po | 3910 +++++++------- .../InvenTree/locale/ja/LC_MESSAGES/django.po | 3868 +++++++------- .../InvenTree/locale/ko/LC_MESSAGES/django.po | 3868 +++++++------- .../InvenTree/locale/lv/LC_MESSAGES/django.po | 3868 +++++++------- .../InvenTree/locale/nl/LC_MESSAGES/django.po | 3884 +++++++------- .../InvenTree/locale/no/LC_MESSAGES/django.po | 3916 +++++++------- .../InvenTree/locale/pl/LC_MESSAGES/django.po | 3888 +++++++------- .../InvenTree/locale/pt/LC_MESSAGES/django.po | 3868 +++++++------- .../InvenTree/locale/ru/LC_MESSAGES/django.po | 3886 +++++++------- .../InvenTree/locale/sk/LC_MESSAGES/django.po | 3868 +++++++------- .../InvenTree/locale/sl/LC_MESSAGES/django.po | 3868 +++++++------- .../InvenTree/locale/sr/LC_MESSAGES/django.po | 3868 +++++++------- .../InvenTree/locale/sv/LC_MESSAGES/django.po | 3874 +++++++------- .../InvenTree/locale/th/LC_MESSAGES/django.po | 3868 +++++++------- .../InvenTree/locale/tr/LC_MESSAGES/django.po | 3890 +++++++------- .../InvenTree/locale/uk/LC_MESSAGES/django.po | 3868 +++++++------- .../InvenTree/locale/vi/LC_MESSAGES/django.po | 3916 +++++++------- .../InvenTree/locale/zh/LC_MESSAGES/django.po | 3868 +++++++------- .../locale/zh_Hans/LC_MESSAGES/django.po | 4108 +++++++------- src/frontend/src/locales/bg/messages.po | 2259 ++++---- src/frontend/src/locales/cs/messages.po | 2263 ++++---- src/frontend/src/locales/da/messages.po | 2259 ++++---- src/frontend/src/locales/de/messages.po | 3237 +++++------ src/frontend/src/locales/el/messages.po | 2261 ++++---- src/frontend/src/locales/en/messages.po | 2283 ++++---- src/frontend/src/locales/es-mx/messages.po | 2257 ++++---- src/frontend/src/locales/es/messages.po | 2259 ++++---- src/frontend/src/locales/fa/messages.po | 2259 ++++---- src/frontend/src/locales/fi/messages.po | 2259 ++++---- src/frontend/src/locales/fr/messages.po | 2267 ++++---- src/frontend/src/locales/he/messages.po | 2259 ++++---- src/frontend/src/locales/hi/messages.po | 2261 ++++---- src/frontend/src/locales/hu/messages.po | 2277 ++++---- src/frontend/src/locales/id/messages.po | 2259 ++++---- src/frontend/src/locales/it/messages.po | 2275 ++++---- src/frontend/src/locales/ja/messages.po | 2259 ++++---- src/frontend/src/locales/ko/messages.po | 2259 ++++---- src/frontend/src/locales/lv/messages.po | 2259 ++++---- src/frontend/src/locales/nl/messages.po | 2341 ++++---- src/frontend/src/locales/no/messages.po | 2275 ++++---- src/frontend/src/locales/pl/messages.po | 2259 ++++---- .../src/locales/pseudo-LOCALE/messages.po | 2257 ++++---- src/frontend/src/locales/pt-br/messages.po | 2257 ++++---- src/frontend/src/locales/pt/messages.po | 2279 ++++---- src/frontend/src/locales/ru/messages.po | 2267 ++++---- src/frontend/src/locales/sk/messages.po | 2259 ++++---- src/frontend/src/locales/sl/messages.po | 2259 ++++---- src/frontend/src/locales/sr/messages.po | 2259 ++++---- src/frontend/src/locales/sv/messages.po | 2271 ++++---- src/frontend/src/locales/th/messages.po | 2259 ++++---- src/frontend/src/locales/tr/messages.po | 2265 ++++---- src/frontend/src/locales/uk/messages.po | 2259 ++++---- src/frontend/src/locales/vi/messages.po | 2271 ++++---- src/frontend/src/locales/zh-hans/messages.po | 2257 ++++---- src/frontend/src/locales/zh-hant/messages.po | 2257 ++++---- src/frontend/src/locales/zh/messages.po | 2259 ++++---- 71 files changed, 113895 insertions(+), 104097 deletions(-) diff --git a/src/backend/InvenTree/locale/bg/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/bg/LC_MESSAGES/django.po index a17b5adaeb..38cad00f18 100644 --- a/src/backend/InvenTree/locale/bg/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/bg/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-10 05:37+0000\n" -"PO-Revision-Date: 2024-05-10 08:30\n" +"POT-Creation-Date: 2024-05-23 11:25+0000\n" +"PO-Revision-Date: 2024-05-23 11:38\n" "Last-Translator: \n" "Language-Team: Bulgarian\n" "Language: bg_BG\n" @@ -17,11 +17,11 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 216\n" -#: InvenTree/api.py:271 +#: InvenTree/api.py:272 msgid "API endpoint not found" msgstr "Не е намерена крайна точка на API" -#: InvenTree/api.py:535 +#: InvenTree/api.py:536 msgid "User does not have permission to view this model" msgstr "Потребителя няма нужното разрешение, за да вижда този модел" @@ -56,26 +56,26 @@ msgstr "Подробности за грешката могат да се нам msgid "Enter date" msgstr "Въведи дата" -#: InvenTree/fields.py:208 InvenTree/models.py:1021 build/serializers.py:444 -#: build/serializers.py:522 build/templates/build/sidebar.html:21 +#: InvenTree/fields.py:208 InvenTree/models.py:1035 build/serializers.py:443 +#: build/serializers.py:521 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 -#: order/models.py:1283 order/templates/order/po_sidebar.html:11 +#: order/models.py:1323 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:59 -#: part/models.py:3175 part/templates/part/part_sidebar.html:63 -#: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:226 stock/models.py:2344 stock/models.py:2461 -#: stock/serializers.py:501 stock/serializers.py:659 stock/serializers.py:755 -#: stock/serializers.py:805 stock/serializers.py:1114 stock/serializers.py:1203 -#: stock/serializers.py:1368 stock/templates/stock/stock_sidebar.html:25 +#: part/models.py:3218 part/templates/part/part_sidebar.html:63 +#: report/templates/report/inventree_build_order_report.html:172 +#: stock/admin.py:226 stock/models.py:2321 stock/models.py:2438 +#: stock/serializers.py:630 stock/serializers.py:788 stock/serializers.py:884 +#: stock/serializers.py:934 stock/serializers.py:1243 stock/serializers.py:1332 +#: stock/serializers.py:1497 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1080 -#: templates/js/translated/purchase_order.js:2201 -#: templates/js/translated/return_order.js:776 -#: templates/js/translated/sales_order.js:1067 -#: templates/js/translated/sales_order.js:1982 -#: templates/js/translated/stock.js:1536 templates/js/translated/stock.js:2430 +#: templates/js/translated/purchase_order.js:2200 +#: templates/js/translated/return_order.js:775 +#: templates/js/translated/sales_order.js:1103 +#: templates/js/translated/sales_order.js:2018 +#: templates/js/translated/stock.js:1536 templates/js/translated/stock.js:2428 msgid "Notes" msgstr "Бележки" @@ -132,7 +132,7 @@ msgstr "Въведеният домейн на електронната поща msgid "Registration is disabled." msgstr "Регистрацията е деактивирана." -#: InvenTree/helpers.py:525 order/models.py:541 order/models.py:743 +#: InvenTree/helpers.py:525 order/models.py:563 order/models.py:765 msgid "Invalid quantity provided" msgstr "Въведена е недопустима стойност" @@ -355,142 +355,142 @@ msgstr "" msgid "Error running plugin validation" msgstr "" -#: InvenTree/models.py:162 +#: InvenTree/models.py:176 msgid "Metadata must be a python dict object" msgstr "" -#: InvenTree/models.py:168 +#: InvenTree/models.py:182 msgid "Plugin Metadata" msgstr "" -#: InvenTree/models.py:169 +#: InvenTree/models.py:183 msgid "JSON metadata field, for use by external plugins" msgstr "" -#: InvenTree/models.py:399 +#: InvenTree/models.py:413 msgid "Improperly formatted pattern" msgstr "" -#: InvenTree/models.py:406 +#: InvenTree/models.py:420 msgid "Unknown format key specified" msgstr "" -#: InvenTree/models.py:412 +#: InvenTree/models.py:426 msgid "Missing required format key" msgstr "" -#: InvenTree/models.py:423 +#: InvenTree/models.py:437 msgid "Reference field cannot be empty" msgstr "" -#: InvenTree/models.py:431 +#: InvenTree/models.py:445 msgid "Reference must match required pattern" msgstr "" -#: InvenTree/models.py:462 +#: InvenTree/models.py:476 msgid "Reference number is too large" msgstr "" -#: InvenTree/models.py:536 +#: InvenTree/models.py:550 msgid "Missing file" msgstr "" -#: InvenTree/models.py:537 +#: InvenTree/models.py:551 msgid "Missing external link" msgstr "" -#: InvenTree/models.py:558 stock/models.py:2456 +#: InvenTree/models.py:572 stock/models.py:2433 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" msgstr "" -#: InvenTree/models.py:559 +#: InvenTree/models.py:573 msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:567 common/models.py:3026 company/models.py:146 +#: InvenTree/models.py:581 common/models.py:3032 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 -#: order/models.py:291 order/models.py:1288 order/models.py:1704 -#: part/admin.py:55 part/models.py:919 +#: order/models.py:304 order/models.py:1328 order/models.py:1744 +#: part/admin.py:55 part/models.py:962 #: part/templates/part/part_scheduling.html:11 -#: report/templates/report/inventree_build_order_base.html:164 +#: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2456 -#: templates/js/translated/purchase_order.js:2041 -#: templates/js/translated/purchase_order.js:2205 -#: templates/js/translated/return_order.js:780 -#: templates/js/translated/sales_order.js:1056 -#: templates/js/translated/sales_order.js:1987 +#: templates/js/translated/part.js:2455 +#: templates/js/translated/purchase_order.js:2040 +#: templates/js/translated/purchase_order.js:2204 +#: templates/js/translated/return_order.js:779 +#: templates/js/translated/sales_order.js:1092 +#: templates/js/translated/sales_order.js:2023 msgid "Link" msgstr "" -#: InvenTree/models.py:568 build/models.py:321 part/models.py:920 -#: stock/models.py:819 +#: InvenTree/models.py:582 build/models.py:344 part/models.py:963 +#: stock/models.py:840 msgid "Link to external URL" msgstr "" -#: InvenTree/models.py:574 templates/js/translated/attachment.js:120 +#: InvenTree/models.py:588 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:341 msgid "Comment" msgstr "" -#: InvenTree/models.py:575 +#: InvenTree/models.py:589 msgid "File comment" msgstr "" -#: InvenTree/models.py:583 InvenTree/models.py:584 common/models.py:2502 -#: common/models.py:2503 common/models.py:2727 common/models.py:2728 -#: common/models.py:2973 common/models.py:2974 part/models.py:3185 -#: part/models.py:3272 part/models.py:3365 part/models.py:3393 -#: plugin/models.py:250 plugin/models.py:251 -#: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3039 users/models.py:111 +#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2508 +#: common/models.py:2509 common/models.py:2733 common/models.py:2734 +#: common/models.py:2979 common/models.py:2980 part/models.py:3228 +#: part/models.py:3315 part/models.py:3408 part/models.py:3436 +#: plugin/models.py:259 plugin/models.py:260 +#: report/templates/report/inventree_test_report.html:105 +#: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" msgstr "Потребител" -#: InvenTree/models.py:588 +#: InvenTree/models.py:602 msgid "upload date" msgstr "" -#: InvenTree/models.py:610 +#: InvenTree/models.py:624 msgid "Filename must not be empty" msgstr "" -#: InvenTree/models.py:621 +#: InvenTree/models.py:635 msgid "Invalid attachment directory" msgstr "" -#: InvenTree/models.py:651 +#: InvenTree/models.py:665 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "" -#: InvenTree/models.py:654 +#: InvenTree/models.py:668 msgid "Filename missing extension" msgstr "" -#: InvenTree/models.py:663 +#: InvenTree/models.py:677 msgid "Attachment with this filename already exists" msgstr "" -#: InvenTree/models.py:670 +#: InvenTree/models.py:684 msgid "Error renaming file" msgstr "" -#: InvenTree/models.py:846 +#: InvenTree/models.py:860 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:863 +#: InvenTree/models.py:877 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:893 common/models.py:2714 common/models.py:3112 -#: common/serializers.py:403 company/models.py:614 label/models.py:120 -#: machine/models.py:24 part/models.py:855 part/models.py:3616 -#: plugin/models.py:41 report/models.py:176 stock/models.py:76 +#: InvenTree/models.py:907 common/models.py:2720 common/models.py:3118 +#: common/serializers.py:403 company/models.py:614 machine/models.py:24 +#: part/models.py:898 part/models.py:3659 plugin/models.py:50 +#: report/models.py:149 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -503,22 +503,22 @@ msgstr "" #: templates/js/translated/company.js:1165 #: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186 #: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2719 +#: templates/js/translated/part.js:2748 templates/js/translated/stock.js:2716 msgid "Name" msgstr "" -#: InvenTree/models.py:899 build/models.py:194 +#: InvenTree/models.py:913 build/models.py:217 #: build/templates/build/detail.html:24 common/models.py:136 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 label/models.py:127 -#: order/models.py:277 order/models.py:1316 part/admin.py:303 part/admin.py:414 -#: part/models.py:878 part/models.py:3631 part/templates/part/category.html:82 +#: company/templates/company/supplier_part.html:107 order/models.py:290 +#: order/models.py:1356 part/admin.py:305 part/admin.py:416 part/models.py:921 +#: part/models.py:3674 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 -#: part/templates/part/part_scheduling.html:12 report/models.py:189 -#: report/models.py:655 report/models.py:729 -#: report/templates/report/inventree_build_order_base.html:117 +#: part/templates/part/part_scheduling.html:12 report/models.py:155 +#: report/models.py:510 report/models.py:536 +#: report/templates/report/inventree_build_order_report.html:117 #: stock/admin.py:55 stock/models.py:82 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 @@ -530,71 +530,71 @@ msgstr "" #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 -#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2896 +#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2354 +#: templates/js/translated/part.js:2784 templates/js/translated/part.js:2895 #: templates/js/translated/plugin.js:80 -#: templates/js/translated/purchase_order.js:1707 -#: templates/js/translated/purchase_order.js:1850 -#: templates/js/translated/purchase_order.js:2023 -#: templates/js/translated/return_order.js:314 -#: templates/js/translated/sales_order.js:802 -#: templates/js/translated/sales_order.js:1812 -#: templates/js/translated/stock.js:1515 templates/js/translated/stock.js:2060 -#: templates/js/translated/stock.js:2751 templates/js/translated/stock.js:2834 +#: templates/js/translated/purchase_order.js:1706 +#: templates/js/translated/purchase_order.js:1849 +#: templates/js/translated/purchase_order.js:2022 +#: templates/js/translated/return_order.js:313 +#: templates/js/translated/sales_order.js:838 +#: templates/js/translated/sales_order.js:1848 +#: templates/js/translated/stock.js:1515 templates/js/translated/stock.js:2058 +#: templates/js/translated/stock.js:2748 templates/js/translated/stock.js:2831 msgid "Description" msgstr "" -#: InvenTree/models.py:900 stock/models.py:83 +#: InvenTree/models.py:914 stock/models.py:83 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:909 +#: InvenTree/models.py:923 msgid "parent" msgstr "родител" -#: InvenTree/models.py:915 templates/js/translated/part.js:2794 -#: templates/js/translated/stock.js:2760 +#: InvenTree/models.py:929 templates/js/translated/part.js:2793 +#: templates/js/translated/stock.js:2757 msgid "Path" msgstr "" -#: InvenTree/models.py:1021 +#: InvenTree/models.py:1035 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:1050 +#: InvenTree/models.py:1064 msgid "Barcode Data" msgstr "" -#: InvenTree/models.py:1051 +#: InvenTree/models.py:1065 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:1057 +#: InvenTree/models.py:1071 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:1058 +#: InvenTree/models.py:1072 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:1111 +#: InvenTree/models.py:1125 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:1154 +#: InvenTree/models.py:1168 msgid "Server Error" msgstr "" -#: InvenTree/models.py:1155 +#: InvenTree/models.py:1169 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:62 part/models.py:4169 +#: InvenTree/serializers.py:62 part/models.py:4212 msgid "Must be a valid number" msgstr "" #: InvenTree/serializers.py:99 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:2993 +#: company/templates/company/company_base.html:112 part/models.py:3036 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -686,7 +686,7 @@ msgstr "" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1161 +#: InvenTree/status.py:66 part/serializers.py:1176 msgid "Background worker check failed" msgstr "" @@ -699,8 +699,8 @@ msgid "InvenTree system health checks failed" msgstr "" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:37 -#: InvenTree/status_codes.py:148 InvenTree/status_codes.py:164 -#: InvenTree/status_codes.py:182 generic/states/tests.py:17 +#: InvenTree/status_codes.py:149 InvenTree/status_codes.py:165 +#: InvenTree/status_codes.py:183 generic/states/tests.py:17 #: templates/js/translated/table_filters.js:598 msgid "Pending" msgstr "" @@ -709,188 +709,188 @@ msgstr "" msgid "Placed" msgstr "" -#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:151 -#: InvenTree/status_codes.py:169 generic/states/tests.py:19 -#: order/templates/order/order_base.html:158 -#: order/templates/order/sales_order_base.html:161 +#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:44 +#: InvenTree/status_codes.py:152 InvenTree/status_codes.py:170 +#: generic/states/tests.py:19 order/templates/order/order_base.html:158 +#: order/templates/order/sales_order_base.html:165 report/models.py:444 msgid "Complete" msgstr "" -#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:44 -#: InvenTree/status_codes.py:150 InvenTree/status_codes.py:170 +#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:45 +#: InvenTree/status_codes.py:151 InvenTree/status_codes.py:171 msgid "Cancelled" msgstr "" -#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:45 -#: InvenTree/status_codes.py:67 +#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:46 +#: InvenTree/status_codes.py:68 msgid "Lost" msgstr "Изгубен" -#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:46 -#: InvenTree/status_codes.py:73 +#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:47 +#: InvenTree/status_codes.py:74 msgid "Returned" msgstr "Върнат" -#: InvenTree/status_codes.py:40 InvenTree/status_codes.py:167 +#: InvenTree/status_codes.py:40 InvenTree/status_codes.py:168 msgid "In Progress" msgstr "Изпълнява се" -#: InvenTree/status_codes.py:43 order/models.py:1566 -#: templates/js/translated/sales_order.js:1523 -#: templates/js/translated/sales_order.js:1644 -#: templates/js/translated/sales_order.js:1957 +#: InvenTree/status_codes.py:43 order/models.py:1606 +#: templates/js/translated/sales_order.js:1559 +#: templates/js/translated/sales_order.js:1680 +#: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "Изпратено" -#: InvenTree/status_codes.py:62 +#: InvenTree/status_codes.py:63 msgid "OK" msgstr "Да" -#: InvenTree/status_codes.py:63 +#: InvenTree/status_codes.py:64 msgid "Attention needed" msgstr "" -#: InvenTree/status_codes.py:64 +#: InvenTree/status_codes.py:65 msgid "Damaged" msgstr "" -#: InvenTree/status_codes.py:65 +#: InvenTree/status_codes.py:66 msgid "Destroyed" msgstr "" -#: InvenTree/status_codes.py:66 +#: InvenTree/status_codes.py:67 msgid "Rejected" msgstr "" -#: InvenTree/status_codes.py:70 +#: InvenTree/status_codes.py:71 msgid "Quarantined" msgstr "" -#: InvenTree/status_codes.py:91 +#: InvenTree/status_codes.py:92 msgid "Legacy stock tracking entry" msgstr "" -#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:544 +#: InvenTree/status_codes.py:94 templates/js/translated/stock.js:544 msgid "Stock item created" msgstr "" -#: InvenTree/status_codes.py:96 +#: InvenTree/status_codes.py:97 msgid "Edited stock item" msgstr "" -#: InvenTree/status_codes.py:97 +#: InvenTree/status_codes.py:98 msgid "Assigned serial number" msgstr "" -#: InvenTree/status_codes.py:100 +#: InvenTree/status_codes.py:101 msgid "Stock counted" msgstr "Наличността е преброена" -#: InvenTree/status_codes.py:101 +#: InvenTree/status_codes.py:102 msgid "Stock manually added" msgstr "" -#: InvenTree/status_codes.py:102 +#: InvenTree/status_codes.py:103 msgid "Stock manually removed" msgstr "" -#: InvenTree/status_codes.py:105 +#: InvenTree/status_codes.py:106 msgid "Location changed" msgstr "" -#: InvenTree/status_codes.py:106 +#: InvenTree/status_codes.py:107 msgid "Stock updated" msgstr "" -#: InvenTree/status_codes.py:109 +#: InvenTree/status_codes.py:110 msgid "Installed into assembly" msgstr "" -#: InvenTree/status_codes.py:110 +#: InvenTree/status_codes.py:111 msgid "Removed from assembly" msgstr "" -#: InvenTree/status_codes.py:112 +#: InvenTree/status_codes.py:113 msgid "Installed component item" msgstr "" -#: InvenTree/status_codes.py:113 +#: InvenTree/status_codes.py:114 msgid "Removed component item" msgstr "" -#: InvenTree/status_codes.py:116 +#: InvenTree/status_codes.py:117 msgid "Split from parent item" msgstr "" -#: InvenTree/status_codes.py:117 +#: InvenTree/status_codes.py:118 msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1858 +#: InvenTree/status_codes.py:121 templates/js/translated/stock.js:1858 msgid "Merged stock items" msgstr "" -#: InvenTree/status_codes.py:123 +#: InvenTree/status_codes.py:124 msgid "Converted to variant" msgstr "" -#: InvenTree/status_codes.py:126 +#: InvenTree/status_codes.py:127 msgid "Build order output created" msgstr "" -#: InvenTree/status_codes.py:127 +#: InvenTree/status_codes.py:128 msgid "Build order output completed" msgstr "" -#: InvenTree/status_codes.py:128 +#: InvenTree/status_codes.py:129 msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1764 +#: InvenTree/status_codes.py:130 templates/js/translated/stock.js:1764 msgid "Consumed by build order" msgstr "" -#: InvenTree/status_codes.py:132 +#: InvenTree/status_codes.py:133 msgid "Shipped against Sales Order" msgstr "" -#: InvenTree/status_codes.py:135 +#: InvenTree/status_codes.py:136 msgid "Received against Purchase Order" msgstr "" -#: InvenTree/status_codes.py:138 +#: InvenTree/status_codes.py:139 msgid "Returned against Return Order" msgstr "" -#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:375 +#: InvenTree/status_codes.py:142 templates/js/translated/table_filters.js:375 msgid "Sent to customer" msgstr "" -#: InvenTree/status_codes.py:142 +#: InvenTree/status_codes.py:143 msgid "Returned from customer" msgstr "" -#: InvenTree/status_codes.py:149 +#: InvenTree/status_codes.py:150 msgid "Production" msgstr "" -#: InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:186 msgid "Return" msgstr "" -#: InvenTree/status_codes.py:188 +#: InvenTree/status_codes.py:189 msgid "Repair" msgstr "" -#: InvenTree/status_codes.py:191 +#: InvenTree/status_codes.py:192 msgid "Replace" msgstr "" -#: InvenTree/status_codes.py:194 +#: InvenTree/status_codes.py:195 msgid "Refund" msgstr "" -#: InvenTree/status_codes.py:197 +#: InvenTree/status_codes.py:198 msgid "Reject" msgstr "" @@ -946,14 +946,14 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:299 part/models.py:4047 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4090 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4041 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4084 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -969,7 +969,7 @@ msgstr "" #: build/api.py:303 part/admin.py:144 templates/js/translated/build.js:1744 #: templates/js/translated/build.js:2629 -#: templates/js/translated/sales_order.js:1929 +#: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "" @@ -980,7 +980,7 @@ msgstr "" #: templates/email/low_stock_notification.html:17 #: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 #: templates/js/translated/index.js:123 -#: templates/js/translated/model_renderers.js:228 +#: templates/js/translated/model_renderers.js:234 #: templates/js/translated/part.js:692 templates/js/translated/part.js:694 #: templates/js/translated/part.js:699 #: templates/js/translated/table_filters.js:340 @@ -988,16 +988,16 @@ msgstr "" msgid "Available" msgstr "" -#: build/models.py:74 build/templates/build/build_base.html:9 +#: build/models.py:82 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 -#: report/templates/report/inventree_build_order_base.html:105 -#: templates/email/build_order_completed.html:16 +#: report/templates/report/inventree_build_order_report.html:105 +#: stock/serializers.py:83 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2895 +#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2892 msgid "Build Order" msgstr "" -#: build/models.py:75 build/templates/build/build_base.html:13 +#: build/models.py:83 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -1008,71 +1008,71 @@ msgstr "" msgid "Build Orders" msgstr "" -#: build/models.py:122 +#: build/models.py:130 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:133 order/models.py:239 +#: build/models.py:141 order/models.py:241 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:139 +#: build/models.py:147 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:185 +#: build/models.py:208 msgid "Build Order Reference" msgstr "" -#: build/models.py:186 order/models.py:442 order/models.py:898 -#: order/models.py:1276 order/models.py:1998 part/admin.py:417 -#: part/models.py:4062 part/templates/part/upload_bom.html:54 +#: build/models.py:209 order/models.py:464 order/models.py:929 +#: order/models.py:1316 order/models.py:2047 part/admin.py:419 +#: part/models.py:4105 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 -#: report/templates/report/inventree_so_report_base.html:28 +#: report/templates/report/inventree_purchase_order_report.html:28 +#: report/templates/report/inventree_return_order_report.html:26 +#: report/templates/report/inventree_sales_order_report.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 #: templates/js/translated/build.js:2512 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 -#: templates/js/translated/purchase_order.js:2066 -#: templates/js/translated/return_order.js:729 -#: templates/js/translated/sales_order.js:1818 +#: templates/js/translated/purchase_order.js:2065 +#: templates/js/translated/return_order.js:728 +#: templates/js/translated/sales_order.js:1854 msgid "Reference" msgstr "" -#: build/models.py:197 +#: build/models.py:220 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:205 build/templates/build/build_base.html:183 +#: build/models.py:228 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:206 +#: build/models.py:229 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:211 build/templates/build/build_base.html:97 +#: build/models.py:234 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 -#: order/models.py:1401 order/models.py:1546 order/models.py:1547 -#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004 -#: part/models.py:3148 part/models.py:3292 part/models.py:3315 -#: part/models.py:3336 part/models.py:3358 part/models.py:3468 -#: part/models.py:3764 part/models.py:3920 part/models.py:4013 -#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713 +#: order/models.py:1441 order/models.py:1586 order/models.py:1587 +#: part/api.py:1501 part/api.py:1795 part/models.py:392 part/models.py:3047 +#: part/models.py:3191 part/models.py:3335 part/models.py:3358 +#: part/models.py:3379 part/models.py:3401 part/models.py:3511 +#: part/models.py:3807 part/models.py:3963 part/models.py:4056 +#: part/models.py:4417 part/serializers.py:1122 part/serializers.py:1728 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 -#: report/templates/report/inventree_build_order_base.html:109 -#: report/templates/report/inventree_po_report_base.html:27 -#: report/templates/report/inventree_return_order_report_base.html:24 -#: report/templates/report/inventree_slr_report.html:102 -#: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:267 stock/serializers.py:689 -#: templates/InvenTree/search.html:82 +#: report/templates/report/inventree_build_order_report.html:109 +#: report/templates/report/inventree_purchase_order_report.html:27 +#: report/templates/report/inventree_return_order_report.html:24 +#: report/templates/report/inventree_sales_order_report.html:27 +#: report/templates/report/inventree_stock_location_report.html:102 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:396 +#: stock/serializers.py:818 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -1086,235 +1086,239 @@ msgstr "" #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 #: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 -#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:2323 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:751 #: templates/js/translated/purchase_order.js:1304 -#: templates/js/translated/purchase_order.js:1849 -#: templates/js/translated/purchase_order.js:2008 -#: templates/js/translated/return_order.js:539 -#: templates/js/translated/return_order.js:710 +#: templates/js/translated/purchase_order.js:1848 +#: templates/js/translated/purchase_order.js:2007 +#: templates/js/translated/return_order.js:538 +#: templates/js/translated/return_order.js:709 #: templates/js/translated/sales_order.js:300 -#: templates/js/translated/sales_order.js:1197 -#: templates/js/translated/sales_order.js:1598 -#: templates/js/translated/sales_order.js:1796 +#: templates/js/translated/sales_order.js:1233 +#: templates/js/translated/sales_order.js:1634 +#: templates/js/translated/sales_order.js:1832 #: templates/js/translated/stock.js:676 templates/js/translated/stock.js:842 -#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1999 -#: templates/js/translated/stock.js:2860 templates/js/translated/stock.js:3093 -#: templates/js/translated/stock.js:3239 +#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1997 +#: templates/js/translated/stock.js:2857 templates/js/translated/stock.js:3090 +#: templates/js/translated/stock.js:3236 msgid "Part" msgstr "Част" -#: build/models.py:219 +#: build/models.py:242 msgid "Select part to build" msgstr "" -#: build/models.py:224 +#: build/models.py:247 msgid "Sales Order Reference" msgstr "" -#: build/models.py:228 +#: build/models.py:251 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:233 build/serializers.py:970 +#: build/models.py:256 build/serializers.py:969 #: templates/js/translated/build.js:1731 -#: templates/js/translated/sales_order.js:1185 +#: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "" -#: build/models.py:237 +#: build/models.py:260 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:242 +#: build/models.py:265 msgid "Destination Location" msgstr "" -#: build/models.py:246 +#: build/models.py:269 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:250 +#: build/models.py:273 msgid "Build Quantity" msgstr "" -#: build/models.py:253 +#: build/models.py:276 msgid "Number of stock items to build" msgstr "" -#: build/models.py:257 +#: build/models.py:280 msgid "Completed items" msgstr "" -#: build/models.py:259 +#: build/models.py:282 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:263 +#: build/models.py:286 msgid "Build Status" msgstr "" -#: build/models.py:267 +#: build/models.py:290 msgid "Build status code" msgstr "" -#: build/models.py:276 build/serializers.py:278 order/serializers.py:581 -#: stock/models.py:823 stock/serializers.py:1333 +#: build/models.py:299 build/serializers.py:277 order/serializers.py:581 +#: stock/models.py:844 stock/serializers.py:75 stock/serializers.py:1462 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" -#: build/models.py:280 build/serializers.py:279 +#: build/models.py:303 build/serializers.py:278 msgid "Batch code for this build output" msgstr "" -#: build/models.py:283 order/models.py:304 order/serializers.py:120 -#: part/models.py:1079 part/templates/part/part_base.html:310 -#: templates/js/translated/return_order.js:339 -#: templates/js/translated/sales_order.js:827 +#: build/models.py:306 order/models.py:317 order/serializers.py:120 +#: part/models.py:1122 part/templates/part/part_base.html:310 +#: templates/js/translated/return_order.js:338 +#: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "" -#: build/models.py:287 +#: build/models.py:310 msgid "Target completion date" msgstr "" -#: build/models.py:288 +#: build/models.py:311 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:291 order/models.py:500 order/models.py:2043 +#: build/models.py:314 order/models.py:522 order/models.py:2092 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "" -#: build/models.py:297 +#: build/models.py:320 msgid "completed by" msgstr "" -#: build/models.py:305 templates/js/translated/build.js:2207 +#: build/models.py:328 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "" -#: build/models.py:306 +#: build/models.py:329 msgid "User who issued this build order" msgstr "" -#: build/models.py:314 build/templates/build/build_base.html:204 +#: build/models.py:337 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:145 -#: order/models.py:322 order/templates/order/order_base.html:217 +#: order/models.py:335 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1096 +#: order/templates/order/sales_order_base.html:232 part/models.py:1139 #: part/templates/part/part_base.html:390 -#: report/templates/report/inventree_build_order_base.html:158 +#: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 #: templates/js/translated/build.js:2219 -#: templates/js/translated/purchase_order.js:1764 -#: templates/js/translated/return_order.js:359 +#: templates/js/translated/purchase_order.js:1763 +#: templates/js/translated/return_order.js:358 #: templates/js/translated/table_filters.js:531 msgid "Responsible" msgstr "" -#: build/models.py:315 +#: build/models.py:338 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:320 build/templates/build/detail.html:108 +#: build/models.py:343 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 -#: order/templates/order/sales_order_base.html:180 -#: part/templates/part/part_base.html:383 stock/models.py:819 +#: order/templates/order/sales_order_base.html:184 +#: part/templates/part/part_base.html:383 stock/models.py:840 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "" -#: build/models.py:325 +#: build/models.py:348 msgid "Build Priority" msgstr "" -#: build/models.py:328 +#: build/models.py:351 msgid "Priority of this build order" msgstr "" -#: build/models.py:335 common/models.py:129 order/admin.py:18 -#: order/models.py:286 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:358 common/models.py:129 order/admin.py:18 +#: order/models.py:299 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 -#: templates/js/translated/purchase_order.js:1711 -#: templates/js/translated/return_order.js:318 -#: templates/js/translated/sales_order.js:806 +#: templates/js/translated/purchase_order.js:1710 +#: templates/js/translated/return_order.js:317 +#: templates/js/translated/sales_order.js:842 #: templates/js/translated/table_filters.js:48 #: templates/project_code_data.html:6 msgid "Project Code" msgstr "" -#: build/models.py:336 +#: build/models.py:359 msgid "Project code for this build order" msgstr "" -#: build/models.py:566 build/models.py:631 +#: build/models.py:589 build/models.py:654 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:588 +#: build/models.py:611 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:594 +#: build/models.py:617 msgid "A build order has been completed" msgstr "" -#: build/models.py:820 build/models.py:895 +#: build/models.py:843 build/models.py:918 msgid "No build output specified" msgstr "" -#: build/models.py:823 +#: build/models.py:846 msgid "Build output is already completed" msgstr "" -#: build/models.py:826 +#: build/models.py:849 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:899 build/serializers.py:221 build/serializers.py:260 -#: build/serializers.py:837 order/models.py:538 order/serializers.py:433 -#: order/serializers.py:576 part/serializers.py:1471 part/serializers.py:1871 -#: stock/models.py:662 stock/models.py:1482 stock/serializers.py:472 +#: build/models.py:922 build/serializers.py:220 build/serializers.py:259 +#: build/serializers.py:836 order/models.py:560 order/serializers.py:433 +#: order/serializers.py:576 part/serializers.py:1486 part/serializers.py:1886 +#: stock/models.py:683 stock/models.py:1503 stock/serializers.py:601 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:904 build/serializers.py:226 +#: build/models.py:927 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:961 build/serializers.py:539 +#: build/models.py:984 build/serializers.py:538 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1323 +#: build/models.py:1335 +msgid "Build Order Line Item" +msgstr "" + +#: build/models.py:1360 msgid "Build object" msgstr "" -#: build/models.py:1337 build/models.py:1593 build/serializers.py:208 -#: build/serializers.py:245 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2524 -#: order/models.py:1259 order/models.py:1918 order/serializers.py:1339 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 -#: part/forms.py:48 part/models.py:3162 part/models.py:4035 +#: build/models.py:1374 build/models.py:1630 build/serializers.py:207 +#: build/serializers.py:244 build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2530 +#: order/models.py:1299 order/models.py:1958 order/serializers.py:1339 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 +#: part/forms.py:48 part/models.py:3205 part/models.py:4078 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 -#: report/templates/report/inventree_build_order_base.html:113 -#: report/templates/report/inventree_po_report_base.html:29 -#: report/templates/report/inventree_slr_report.html:104 -#: report/templates/report/inventree_so_report_base.html:29 -#: report/templates/report/inventree_test_report_base.html:90 -#: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:160 stock/serializers.py:463 +#: report/templates/report/inventree_build_order_report.html:113 +#: report/templates/report/inventree_purchase_order_report.html:29 +#: report/templates/report/inventree_sales_order_report.html:29 +#: report/templates/report/inventree_stock_location_report.html:104 +#: report/templates/report/inventree_test_report.html:90 +#: report/templates/report/inventree_test_report.html:170 stock/admin.py:160 +#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:592 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1324,380 +1328,381 @@ msgstr "" #: templates/js/translated/build.js:737 templates/js/translated/build.js:1369 #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 -#: templates/js/translated/model_renderers.js:230 +#: templates/js/translated/model_renderers.js:236 #: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3341 +#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3340 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 #: templates/js/translated/purchase_order.js:754 -#: templates/js/translated/purchase_order.js:1853 -#: templates/js/translated/purchase_order.js:2072 +#: templates/js/translated/purchase_order.js:1852 +#: templates/js/translated/purchase_order.js:2071 #: templates/js/translated/sales_order.js:317 -#: templates/js/translated/sales_order.js:1199 -#: templates/js/translated/sales_order.js:1518 -#: templates/js/translated/sales_order.js:1608 -#: templates/js/translated/sales_order.js:1698 -#: templates/js/translated/sales_order.js:1824 +#: templates/js/translated/sales_order.js:1235 +#: templates/js/translated/sales_order.js:1554 +#: templates/js/translated/sales_order.js:1644 +#: templates/js/translated/sales_order.js:1734 +#: templates/js/translated/sales_order.js:1860 #: templates/js/translated/stock.js:564 templates/js/translated/stock.js:702 -#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:3024 -#: templates/js/translated/stock.js:3107 +#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:3021 +#: templates/js/translated/stock.js:3104 msgid "Quantity" msgstr "" -#: build/models.py:1338 +#: build/models.py:1375 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1418 +#: build/models.py:1455 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1427 +#: build/models.py:1464 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1437 order/models.py:1869 +#: build/models.py:1474 order/models.py:1909 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1443 order/models.py:1872 +#: build/models.py:1480 order/models.py:1912 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1449 +#: build/models.py:1486 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1508 +#: build/models.py:1545 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1580 build/serializers.py:817 order/serializers.py:1183 -#: order/serializers.py:1204 stock/serializers.py:566 stock/serializers.py:1052 -#: stock/serializers.py:1164 stock/templates/stock/item_base.html:10 +#: build/models.py:1617 build/serializers.py:816 order/serializers.py:1183 +#: order/serializers.py:1204 stock/models.py:364 stock/serializers.py:92 +#: stock/serializers.py:695 stock/serializers.py:1181 stock/serializers.py:1293 +#: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 #: templates/js/translated/build.js:1745 #: templates/js/translated/sales_order.js:301 -#: templates/js/translated/sales_order.js:1198 -#: templates/js/translated/sales_order.js:1499 -#: templates/js/translated/sales_order.js:1504 -#: templates/js/translated/sales_order.js:1605 -#: templates/js/translated/sales_order.js:1692 +#: templates/js/translated/sales_order.js:1234 +#: templates/js/translated/sales_order.js:1535 +#: templates/js/translated/sales_order.js:1540 +#: templates/js/translated/sales_order.js:1641 +#: templates/js/translated/sales_order.js:1728 #: templates/js/translated/stock.js:677 templates/js/translated/stock.js:843 -#: templates/js/translated/stock.js:2980 +#: templates/js/translated/stock.js:2977 msgid "Stock Item" msgstr "" -#: build/models.py:1581 +#: build/models.py:1618 msgid "Source stock item" msgstr "" -#: build/models.py:1594 +#: build/models.py:1631 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1602 +#: build/models.py:1639 msgid "Install into" msgstr "" -#: build/models.py:1603 +#: build/models.py:1640 msgid "Destination stock item" msgstr "" -#: build/serializers.py:158 build/serializers.py:846 +#: build/serializers.py:157 build/serializers.py:845 #: templates/js/translated/build.js:1322 msgid "Build Output" msgstr "" -#: build/serializers.py:170 +#: build/serializers.py:169 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:174 +#: build/serializers.py:173 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:178 +#: build/serializers.py:177 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:189 +#: build/serializers.py:188 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:209 build/serializers.py:246 +#: build/serializers.py:208 build/serializers.py:245 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:267 +#: build/serializers.py:266 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:270 +#: build/serializers.py:269 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:285 order/serializers.py:589 order/serializers.py:1343 -#: stock/serializers.py:483 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:284 order/serializers.py:589 order/serializers.py:1343 +#: stock/serializers.py:612 templates/js/translated/purchase_order.js:1153 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:286 +#: build/serializers.py:285 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:291 build/serializers.py:432 build/serializers.py:504 +#: build/serializers.py:290 build/serializers.py:431 build/serializers.py:503 #: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1679 -#: part/serializers.py:1127 stock/serializers.py:494 stock/serializers.py:654 -#: stock/serializers.py:750 stock/serializers.py:1196 stock/serializers.py:1452 -#: stock/templates/stock/item_base.html:394 +#: part/serializers.py:1142 stock/serializers.py:101 stock/serializers.py:623 +#: stock/serializers.py:783 stock/serializers.py:879 stock/serializers.py:1325 +#: stock/serializers.py:1581 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 #: templates/js/translated/purchase_order.js:1178 #: templates/js/translated/purchase_order.js:1268 -#: templates/js/translated/sales_order.js:1511 -#: templates/js/translated/sales_order.js:1619 -#: templates/js/translated/sales_order.js:1627 -#: templates/js/translated/sales_order.js:1706 +#: templates/js/translated/sales_order.js:1547 +#: templates/js/translated/sales_order.js:1655 +#: templates/js/translated/sales_order.js:1663 +#: templates/js/translated/sales_order.js:1742 #: templates/js/translated/stock.js:678 templates/js/translated/stock.js:844 -#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2203 -#: templates/js/translated/stock.js:2874 +#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2201 +#: templates/js/translated/stock.js:2871 msgid "Location" msgstr "" -#: build/serializers.py:292 +#: build/serializers.py:291 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:306 +#: build/serializers.py:305 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:307 +#: build/serializers.py:306 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:322 +#: build/serializers.py:321 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:347 stock/api.py:995 +#: build/serializers.py:346 stock/api.py:1029 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:394 build/serializers.py:456 build/serializers.py:545 +#: build/serializers.py:393 build/serializers.py:455 build/serializers.py:544 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:433 +#: build/serializers.py:432 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:439 +#: build/serializers.py:438 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:440 +#: build/serializers.py:439 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:445 +#: build/serializers.py:444 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:505 +#: build/serializers.py:504 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:511 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:922 -#: order/models.py:2022 order/serializers.py:597 stock/admin.py:165 -#: stock/serializers.py:801 stock/serializers.py:1340 +#: build/serializers.py:510 build/templates/build/build_base.html:151 +#: build/templates/build/detail.html:62 order/models.py:953 +#: order/models.py:2071 order/serializers.py:597 stock/admin.py:165 +#: stock/serializers.py:930 stock/serializers.py:1469 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 -#: templates/js/translated/purchase_order.js:1723 -#: templates/js/translated/return_order.js:331 -#: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2178 templates/js/translated/stock.js:2998 -#: templates/js/translated/stock.js:3123 +#: templates/js/translated/purchase_order.js:1722 +#: templates/js/translated/return_order.js:330 +#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/stock.js:2176 templates/js/translated/stock.js:2995 +#: templates/js/translated/stock.js:3120 msgid "Status" msgstr "" -#: build/serializers.py:517 +#: build/serializers.py:516 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:518 +#: build/serializers.py:517 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:598 +#: build/serializers.py:597 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:599 +#: build/serializers.py:598 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:605 +#: build/serializers.py:604 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:606 +#: build/serializers.py:605 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:633 +#: build/serializers.py:632 msgid "Not permitted" msgstr "" -#: build/serializers.py:634 +#: build/serializers.py:633 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:635 +#: build/serializers.py:634 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:657 +#: build/serializers.py:656 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:659 +#: build/serializers.py:658 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:669 +#: build/serializers.py:668 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:674 +#: build/serializers.py:673 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:675 +#: build/serializers.py:674 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:685 templates/js/translated/build.js:315 +#: build/serializers.py:684 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:690 order/serializers.py:301 order/serializers.py:1246 +#: build/serializers.py:689 order/serializers.py:301 order/serializers.py:1246 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:691 +#: build/serializers.py:690 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:701 templates/js/translated/build.js:319 +#: build/serializers.py:700 templates/js/translated/build.js:319 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:710 templates/js/translated/build.js:303 +#: build/serializers.py:709 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:740 +#: build/serializers.py:739 msgid "Build Line" msgstr "" -#: build/serializers.py:750 +#: build/serializers.py:749 msgid "Build output" msgstr "" -#: build/serializers.py:758 +#: build/serializers.py:757 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:794 +#: build/serializers.py:793 msgid "Build Line Item" msgstr "" -#: build/serializers.py:808 +#: build/serializers.py:807 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:823 stock/serializers.py:1065 +#: build/serializers.py:822 stock/serializers.py:1194 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:871 order/serializers.py:1237 +#: build/serializers.py:870 order/serializers.py:1237 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:877 +#: build/serializers.py:876 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:884 +#: build/serializers.py:883 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:908 order/serializers.py:1489 +#: build/serializers.py:907 order/serializers.py:1489 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:971 +#: build/serializers.py:970 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:979 +#: build/serializers.py:978 msgid "Exclude Location" msgstr "" -#: build/serializers.py:980 +#: build/serializers.py:979 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:985 +#: build/serializers.py:984 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:986 +#: build/serializers.py:985 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:991 +#: build/serializers.py:990 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:992 +#: build/serializers.py:991 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:997 +#: build/serializers.py:996 msgid "Optional Items" msgstr "" -#: build/serializers.py:998 +#: build/serializers.py:997 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1020 +#: build/serializers.py:1019 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1110 part/models.py:3930 part/models.py:4366 -#: stock/api.py:758 +#: build/serializers.py:1109 part/models.py:3973 part/models.py:4409 +#: stock/api.py:792 msgid "BOM Item" msgstr "" -#: build/serializers.py:1119 templates/js/translated/index.js:130 +#: build/serializers.py:1118 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1124 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:817 part/serializers.py:1489 +#: build/serializers.py:1123 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:832 part/serializers.py:1504 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 @@ -1705,15 +1710,15 @@ msgstr "" msgid "On Order" msgstr "" -#: build/serializers.py:1129 part/serializers.py:1491 +#: build/serializers.py:1128 part/serializers.py:1506 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1134 part/bom.py:172 part/serializers.py:1514 +#: build/serializers.py:1133 part/bom.py:172 part/serializers.py:1529 #: part/templates/part/part_base.html:192 -#: templates/js/translated/sales_order.js:1893 +#: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "" @@ -1842,18 +1847,18 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:297 -#: order/models.py:1294 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:310 +#: order/models.py:1334 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 -#: order/templates/order/sales_order_base.html:192 -#: report/templates/report/inventree_build_order_base.html:125 +#: order/templates/order/sales_order_base.html:196 +#: report/templates/report/inventree_build_order_report.html:125 #: templates/js/translated/build.js:2239 templates/js/translated/part.js:1830 -#: templates/js/translated/purchase_order.js:1740 -#: templates/js/translated/purchase_order.js:2148 -#: templates/js/translated/return_order.js:347 -#: templates/js/translated/return_order.js:751 -#: templates/js/translated/sales_order.js:835 -#: templates/js/translated/sales_order.js:1867 +#: templates/js/translated/purchase_order.js:1739 +#: templates/js/translated/purchase_order.js:2147 +#: templates/js/translated/return_order.js:346 +#: templates/js/translated/return_order.js:750 +#: templates/js/translated/sales_order.js:871 +#: templates/js/translated/sales_order.js:1903 msgid "Target Date" msgstr "" @@ -1866,7 +1871,7 @@ msgstr "" #: build/templates/build/build_base.html:222 #: order/templates/order/order_base.html:122 #: order/templates/order/return_order_base.html:117 -#: order/templates/order/sales_order_base.html:122 +#: order/templates/order/sales_order_base.html:126 #: templates/js/translated/table_filters.js:98 #: templates/js/translated/table_filters.js:524 #: templates/js/translated/table_filters.js:626 @@ -1880,24 +1885,24 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:1538 -#: order/models.py:1652 order/models.py:1806 +#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:848 +#: order/models.py:1578 order/models.py:1692 order/models.py:1846 #: 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 +#: report/templates/report/inventree_build_order_report.html:135 +#: report/templates/report/inventree_sales_order_report.html:14 #: stock/templates/stock/item_base.html:369 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:929 -#: templates/js/translated/sales_order.js:769 -#: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2927 +#: templates/js/translated/sales_order.js:805 +#: templates/js/translated/sales_order.js:1028 +#: templates/js/translated/stock.js:2924 msgid "Sales Order" msgstr "" #: build/templates/build/build_base.html:197 #: build/templates/build/detail.html:115 -#: report/templates/report/inventree_build_order_base.html:152 +#: report/templates/report/inventree_build_order_report.html:152 #: templates/js/translated/table_filters.js:24 msgid "Issued By" msgstr "" @@ -1907,15 +1912,15 @@ msgstr "" msgid "Priority" msgstr "" -#: build/templates/build/build_base.html:273 +#: build/templates/build/build_base.html:269 msgid "Delete Build Order" msgstr "" -#: build/templates/build/build_base.html:283 +#: build/templates/build/build_base.html:279 msgid "Build Order QR Code" msgstr "" -#: build/templates/build/build_base.html:295 +#: build/templates/build/build_base.html:291 msgid "Link Barcode to Build Order" msgstr "" @@ -1931,8 +1936,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1430 -#: templates/js/translated/purchase_order.js:2190 +#: build/templates/build/detail.html:49 order/models.py:1470 +#: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "" @@ -1947,10 +1952,10 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 #: templates/js/translated/build.js:1380 -#: templates/js/translated/model_renderers.js:235 +#: templates/js/translated/model_renderers.js:241 #: templates/js/translated/purchase_order.js:1274 -#: templates/js/translated/stock.js:1133 templates/js/translated/stock.js:2192 -#: templates/js/translated/stock.js:3130 +#: templates/js/translated/stock.js:1133 templates/js/translated/stock.js:2190 +#: templates/js/translated/stock.js:3127 #: templates/js/translated/table_filters.js:313 #: templates/js/translated/table_filters.js:404 msgid "Batch" @@ -1959,7 +1964,7 @@ msgstr "" #: build/templates/build/detail.html:133 #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:151 -#: order/templates/order/sales_order_base.html:186 +#: order/templates/order/sales_order_base.html:190 #: templates/js/translated/build.js:2199 msgid "Created" msgstr "" @@ -1969,7 +1974,7 @@ msgid "No target date set" msgstr "" #: build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:202 +#: order/templates/order/sales_order_base.html:206 #: templates/js/translated/table_filters.js:689 msgid "Completed" msgstr "" @@ -2260,8 +2265,8 @@ msgstr "" #: common/models.py:1316 common/models.py:1372 common/models.py:1385 #: common/models.py:1393 common/models.py:1402 common/models.py:1411 -#: common/models.py:1613 common/models.py:1635 common/models.py:1750 -#: common/models.py:2061 +#: common/models.py:1619 common/models.py:1641 common/models.py:1756 +#: common/models.py:2067 msgid "days" msgstr "" @@ -2402,1209 +2407,1218 @@ msgid "Enable revision field for Part" msgstr "" #: common/models.py:1440 -msgid "IPN Regex" +msgid "Allow Deletion from Assembly" msgstr "" #: common/models.py:1441 +msgid "Allow deletion of parts which are used in an assembly" +msgstr "" + +#: common/models.py:1446 +msgid "IPN Regex" +msgstr "" + +#: common/models.py:1447 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1444 +#: common/models.py:1450 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1445 +#: common/models.py:1451 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1450 +#: common/models.py:1456 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1451 +#: common/models.py:1457 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1456 +#: common/models.py:1462 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1457 +#: common/models.py:1463 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1462 +#: common/models.py:1468 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1463 +#: common/models.py:1469 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1468 +#: common/models.py:1474 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1469 +#: common/models.py:1475 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1474 +#: common/models.py:1480 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1475 +#: common/models.py:1481 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1480 part/admin.py:108 part/models.py:3772 -#: report/models.py:182 stock/serializers.py:99 +#: common/models.py:1486 part/admin.py:108 part/models.py:3815 +#: report/models.py:294 report/models.py:361 report/serializers.py:90 +#: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:767 msgid "Template" msgstr "" -#: common/models.py:1481 +#: common/models.py:1487 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1486 part/admin.py:91 part/admin.py:431 part/models.py:1016 +#: common/models.py:1492 part/admin.py:91 part/admin.py:433 part/models.py:1059 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "" -#: common/models.py:1487 +#: common/models.py:1493 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1492 part/admin.py:95 part/models.py:1022 +#: common/models.py:1498 part/admin.py:95 part/models.py:1065 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "" -#: common/models.py:1493 +#: common/models.py:1499 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1498 part/admin.py:100 part/models.py:1034 +#: common/models.py:1504 part/admin.py:100 part/models.py:1077 msgid "Purchaseable" msgstr "" -#: common/models.py:1499 +#: common/models.py:1505 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1504 part/admin.py:104 part/models.py:1040 +#: common/models.py:1510 part/admin.py:104 part/models.py:1083 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "" -#: common/models.py:1505 +#: common/models.py:1511 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1510 part/admin.py:113 part/models.py:1028 +#: common/models.py:1516 part/admin.py:113 part/models.py:1071 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "" -#: common/models.py:1511 +#: common/models.py:1517 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1516 part/admin.py:117 part/models.py:1050 +#: common/models.py:1522 part/admin.py:117 part/models.py:1093 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "" -#: common/models.py:1517 +#: common/models.py:1523 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1522 +#: common/models.py:1528 msgid "Show Import in Views" msgstr "" -#: common/models.py:1523 +#: common/models.py:1529 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1528 +#: common/models.py:1534 msgid "Show related parts" msgstr "" -#: common/models.py:1529 +#: common/models.py:1535 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1534 +#: common/models.py:1540 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1535 +#: common/models.py:1541 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1540 templates/js/translated/part.js:107 +#: common/models.py:1546 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1542 +#: common/models.py:1548 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1548 +#: common/models.py:1554 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1549 +#: common/models.py:1555 msgid "Format to display the part name" msgstr "" -#: common/models.py:1555 +#: common/models.py:1561 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1556 +#: common/models.py:1562 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1560 +#: common/models.py:1566 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1562 +#: common/models.py:1568 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1568 +#: common/models.py:1574 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1570 +#: common/models.py:1576 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1576 +#: common/models.py:1582 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1578 +#: common/models.py:1584 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1584 +#: common/models.py:1590 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1586 +#: common/models.py:1592 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1592 +#: common/models.py:1598 msgid "Purchase History Override" msgstr "" -#: common/models.py:1594 +#: common/models.py:1600 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1600 +#: common/models.py:1606 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1602 +#: common/models.py:1608 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1608 +#: common/models.py:1614 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1610 +#: common/models.py:1616 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1617 +#: common/models.py:1623 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1618 +#: common/models.py:1624 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1623 +#: common/models.py:1629 msgid "Active Variants Only" msgstr "" -#: common/models.py:1625 +#: common/models.py:1631 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1631 +#: common/models.py:1637 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1633 +#: common/models.py:1639 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1640 +#: common/models.py:1646 msgid "Internal Prices" msgstr "" -#: common/models.py:1641 +#: common/models.py:1647 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1646 +#: common/models.py:1652 msgid "Internal Price Override" msgstr "" -#: common/models.py:1648 +#: common/models.py:1654 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1654 +#: common/models.py:1660 msgid "Enable label printing" msgstr "" -#: common/models.py:1655 +#: common/models.py:1661 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1660 +#: common/models.py:1666 msgid "Label Image DPI" msgstr "" -#: common/models.py:1662 +#: common/models.py:1668 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1668 +#: common/models.py:1674 msgid "Enable Reports" msgstr "" -#: common/models.py:1669 +#: common/models.py:1675 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1674 templates/stats.html:25 +#: common/models.py:1680 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1675 +#: common/models.py:1681 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1680 +#: common/models.py:1686 msgid "Log Report Errors" msgstr "" -#: common/models.py:1681 +#: common/models.py:1687 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1686 plugin/builtin/labels/label_sheet.py:28 -#: report/models.py:203 +#: common/models.py:1692 plugin/builtin/labels/label_sheet.py:28 +#: report/models.py:302 msgid "Page Size" msgstr "" -#: common/models.py:1687 +#: common/models.py:1693 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1692 +#: common/models.py:1698 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1693 +#: common/models.py:1699 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1698 +#: common/models.py:1704 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1700 +#: common/models.py:1706 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1706 +#: common/models.py:1712 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1707 +#: common/models.py:1713 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1712 +#: common/models.py:1718 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1713 +#: common/models.py:1719 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1718 +#: common/models.py:1724 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1720 +#: common/models.py:1726 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1726 +#: common/models.py:1732 msgid "Batch Code Template" msgstr "" -#: common/models.py:1728 +#: common/models.py:1734 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1733 +#: common/models.py:1739 msgid "Stock Expiry" msgstr "" -#: common/models.py:1734 +#: common/models.py:1740 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1739 +#: common/models.py:1745 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1740 +#: common/models.py:1746 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1745 +#: common/models.py:1751 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1747 +#: common/models.py:1753 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1754 +#: common/models.py:1760 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1755 +#: common/models.py:1761 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1760 +#: common/models.py:1766 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1761 +#: common/models.py:1767 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1766 +#: common/models.py:1772 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1767 +#: common/models.py:1773 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1771 +#: common/models.py:1777 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1772 +#: common/models.py:1778 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1777 +#: common/models.py:1783 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1779 +#: common/models.py:1785 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1785 +#: common/models.py:1791 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1787 +#: common/models.py:1793 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1793 +#: common/models.py:1799 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1795 +#: common/models.py:1801 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1801 common/models.py:1829 common/models.py:1851 -#: common/models.py:1879 +#: common/models.py:1807 common/models.py:1835 common/models.py:1857 +#: common/models.py:1885 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1802 common/models.py:1830 common/models.py:1852 -#: common/models.py:1880 +#: common/models.py:1808 common/models.py:1836 common/models.py:1858 +#: common/models.py:1886 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1807 +#: common/models.py:1813 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1809 +#: common/models.py:1815 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1815 +#: common/models.py:1821 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1816 +#: common/models.py:1822 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1821 +#: common/models.py:1827 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1823 +#: common/models.py:1829 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1835 +#: common/models.py:1841 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1837 +#: common/models.py:1843 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1843 +#: common/models.py:1849 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1845 +#: common/models.py:1851 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1857 +#: common/models.py:1863 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1858 +#: common/models.py:1864 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1863 +#: common/models.py:1869 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1865 +#: common/models.py:1871 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1871 +#: common/models.py:1877 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1873 +#: common/models.py:1879 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1885 +#: common/models.py:1891 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1887 +#: common/models.py:1893 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1893 +#: common/models.py:1899 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1895 +#: common/models.py:1901 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1902 +#: common/models.py:1908 msgid "Enable password forgot" msgstr "" -#: common/models.py:1903 +#: common/models.py:1909 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1908 +#: common/models.py:1914 msgid "Enable registration" msgstr "" -#: common/models.py:1909 +#: common/models.py:1915 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1914 +#: common/models.py:1920 msgid "Enable SSO" msgstr "" -#: common/models.py:1915 +#: common/models.py:1921 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1920 +#: common/models.py:1926 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1922 +#: common/models.py:1928 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1928 +#: common/models.py:1934 msgid "Email required" msgstr "" -#: common/models.py:1929 +#: common/models.py:1935 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1934 +#: common/models.py:1940 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1936 +#: common/models.py:1942 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1942 +#: common/models.py:1948 msgid "Mail twice" msgstr "" -#: common/models.py:1943 +#: common/models.py:1949 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1948 +#: common/models.py:1954 msgid "Password twice" msgstr "" -#: common/models.py:1949 +#: common/models.py:1955 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1954 +#: common/models.py:1960 msgid "Allowed domains" msgstr "" -#: common/models.py:1956 +#: common/models.py:1962 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1962 +#: common/models.py:1968 msgid "Group on signup" msgstr "" -#: common/models.py:1963 +#: common/models.py:1969 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1968 +#: common/models.py:1974 msgid "Enforce MFA" msgstr "" -#: common/models.py:1969 +#: common/models.py:1975 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1974 +#: common/models.py:1980 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1976 +#: common/models.py:1982 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1984 +#: common/models.py:1990 msgid "Check for plugin updates" msgstr "" -#: common/models.py:1985 +#: common/models.py:1991 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:1991 +#: common/models.py:1997 msgid "Enable URL integration" msgstr "" -#: common/models.py:1992 +#: common/models.py:1998 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1998 +#: common/models.py:2004 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1999 +#: common/models.py:2005 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2005 +#: common/models.py:2011 msgid "Enable app integration" msgstr "" -#: common/models.py:2006 +#: common/models.py:2012 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2012 +#: common/models.py:2018 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2013 +#: common/models.py:2019 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2019 +#: common/models.py:2025 msgid "Enable event integration" msgstr "" -#: common/models.py:2020 +#: common/models.py:2026 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2026 +#: common/models.py:2032 msgid "Enable project codes" msgstr "" -#: common/models.py:2027 +#: common/models.py:2033 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2032 +#: common/models.py:2038 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2034 +#: common/models.py:2040 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2040 +#: common/models.py:2046 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2042 +#: common/models.py:2048 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2048 +#: common/models.py:2054 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2050 +#: common/models.py:2056 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2056 +#: common/models.py:2062 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2058 +#: common/models.py:2064 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2065 +#: common/models.py:2071 msgid "Display Users full names" msgstr "" -#: common/models.py:2066 +#: common/models.py:2072 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2071 +#: common/models.py:2077 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2072 +#: common/models.py:2078 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2084 common/models.py:2494 +#: common/models.py:2090 common/models.py:2500 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2127 +#: common/models.py:2133 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2129 +#: common/models.py:2135 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2135 +#: common/models.py:2141 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2136 +#: common/models.py:2142 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2141 +#: common/models.py:2147 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2142 +#: common/models.py:2148 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2147 +#: common/models.py:2153 msgid "Show latest parts" msgstr "" -#: common/models.py:2148 +#: common/models.py:2154 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2153 +#: common/models.py:2159 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2154 +#: common/models.py:2160 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2159 +#: common/models.py:2165 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2160 +#: common/models.py:2166 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2165 +#: common/models.py:2171 msgid "Show low stock" msgstr "" -#: common/models.py:2166 +#: common/models.py:2172 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2171 +#: common/models.py:2177 msgid "Show depleted stock" msgstr "" -#: common/models.py:2172 +#: common/models.py:2178 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2177 +#: common/models.py:2183 msgid "Show needed stock" msgstr "" -#: common/models.py:2178 +#: common/models.py:2184 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2183 +#: common/models.py:2189 msgid "Show expired stock" msgstr "" -#: common/models.py:2184 +#: common/models.py:2190 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2189 +#: common/models.py:2195 msgid "Show stale stock" msgstr "" -#: common/models.py:2190 +#: common/models.py:2196 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2195 +#: common/models.py:2201 msgid "Show pending builds" msgstr "" -#: common/models.py:2196 +#: common/models.py:2202 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2201 +#: common/models.py:2207 msgid "Show overdue builds" msgstr "" -#: common/models.py:2202 +#: common/models.py:2208 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2207 +#: common/models.py:2213 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2208 +#: common/models.py:2214 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2213 +#: common/models.py:2219 msgid "Show overdue POs" msgstr "" -#: common/models.py:2214 +#: common/models.py:2220 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2219 +#: common/models.py:2225 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2220 +#: common/models.py:2226 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2225 +#: common/models.py:2231 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2226 +#: common/models.py:2232 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2231 +#: common/models.py:2237 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2232 +#: common/models.py:2238 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2237 +#: common/models.py:2243 msgid "Show News" msgstr "" -#: common/models.py:2238 +#: common/models.py:2244 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2243 +#: common/models.py:2249 msgid "Inline label display" msgstr "" -#: common/models.py:2245 +#: common/models.py:2251 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2251 +#: common/models.py:2257 msgid "Default label printer" msgstr "" -#: common/models.py:2253 +#: common/models.py:2259 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2259 +#: common/models.py:2265 msgid "Inline report display" msgstr "" -#: common/models.py:2261 +#: common/models.py:2267 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2267 +#: common/models.py:2273 msgid "Search Parts" msgstr "" -#: common/models.py:2268 +#: common/models.py:2274 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2273 +#: common/models.py:2279 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2274 +#: common/models.py:2280 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2279 +#: common/models.py:2285 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2280 +#: common/models.py:2286 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2285 +#: common/models.py:2291 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2286 +#: common/models.py:2292 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2291 +#: common/models.py:2297 msgid "Search Categories" msgstr "" -#: common/models.py:2292 +#: common/models.py:2298 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2297 +#: common/models.py:2303 msgid "Search Stock" msgstr "" -#: common/models.py:2298 +#: common/models.py:2304 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2303 +#: common/models.py:2309 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2305 +#: common/models.py:2311 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2311 +#: common/models.py:2317 msgid "Search Locations" msgstr "" -#: common/models.py:2312 +#: common/models.py:2318 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2317 +#: common/models.py:2323 msgid "Search Companies" msgstr "" -#: common/models.py:2318 +#: common/models.py:2324 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2323 +#: common/models.py:2329 msgid "Search Build Orders" msgstr "" -#: common/models.py:2324 +#: common/models.py:2330 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2329 +#: common/models.py:2335 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2330 +#: common/models.py:2336 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2335 +#: common/models.py:2341 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2337 +#: common/models.py:2343 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2343 +#: common/models.py:2349 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2344 +#: common/models.py:2350 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2349 +#: common/models.py:2355 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2351 +#: common/models.py:2357 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2357 +#: common/models.py:2363 msgid "Search Return Orders" msgstr "" -#: common/models.py:2358 +#: common/models.py:2364 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2363 +#: common/models.py:2369 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2365 +#: common/models.py:2371 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2371 +#: common/models.py:2377 msgid "Search Preview Results" msgstr "" -#: common/models.py:2373 +#: common/models.py:2379 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2379 +#: common/models.py:2385 msgid "Regex Search" msgstr "" -#: common/models.py:2380 +#: common/models.py:2386 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2385 +#: common/models.py:2391 msgid "Whole Word Search" msgstr "" -#: common/models.py:2386 +#: common/models.py:2392 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2391 +#: common/models.py:2397 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2392 +#: common/models.py:2398 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2397 +#: common/models.py:2403 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2398 +#: common/models.py:2404 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2403 +#: common/models.py:2409 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2404 +#: common/models.py:2410 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2409 +#: common/models.py:2415 msgid "Date Format" msgstr "" -#: common/models.py:2410 +#: common/models.py:2416 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2423 part/templates/part/detail.html:41 +#: common/models.py:2429 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2424 +#: common/models.py:2430 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2429 part/templates/part/detail.html:62 +#: common/models.py:2435 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2431 +#: common/models.py:2437 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2437 +#: common/models.py:2443 msgid "Table String Length" msgstr "" -#: common/models.py:2439 +#: common/models.py:2445 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2445 +#: common/models.py:2451 msgid "Default part label template" msgstr "" -#: common/models.py:2446 +#: common/models.py:2452 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2451 +#: common/models.py:2457 msgid "Default stock item template" msgstr "" -#: common/models.py:2453 +#: common/models.py:2459 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2459 +#: common/models.py:2465 msgid "Default stock location label template" msgstr "" -#: common/models.py:2461 +#: common/models.py:2467 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2467 +#: common/models.py:2473 msgid "Default build line label template" msgstr "" -#: common/models.py:2469 +#: common/models.py:2475 msgid "The build line label template to be automatically selected" msgstr "" -#: common/models.py:2475 +#: common/models.py:2481 msgid "Receive error reports" msgstr "" -#: common/models.py:2476 +#: common/models.py:2482 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2481 +#: common/models.py:2487 msgid "Last used printing machines" msgstr "" -#: common/models.py:2482 +#: common/models.py:2488 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2525 +#: common/models.py:2531 msgid "Price break quantity" msgstr "" -#: common/models.py:2532 company/serializers.py:496 order/admin.py:42 -#: order/models.py:1333 order/models.py:2243 +#: common/models.py:2538 company/serializers.py:496 order/admin.py:42 +#: order/models.py:1373 order/models.py:2292 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 -#: templates/js/translated/return_order.js:741 +#: templates/js/translated/return_order.js:740 msgid "Price" msgstr "" -#: common/models.py:2533 +#: common/models.py:2539 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2704 common/models.py:2889 +#: common/models.py:2710 common/models.py:2895 msgid "Endpoint" msgstr "" -#: common/models.py:2705 +#: common/models.py:2711 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2715 +#: common/models.py:2721 msgid "Name for this webhook" msgstr "" -#: common/models.py:2719 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1045 -#: plugin/models.py:56 templates/js/translated/company.js:523 +#: common/models.py:2725 company/models.py:160 company/models.py:814 +#: machine/models.py:39 part/admin.py:88 part/models.py:1088 +#: plugin/models.py:65 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:492 @@ -3614,135 +3628,135 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2719 +#: common/models.py:2725 msgid "Is this webhook active" msgstr "" -#: common/models.py:2735 users/models.py:159 +#: common/models.py:2741 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2736 +#: common/models.py:2742 msgid "Token for access" msgstr "" -#: common/models.py:2744 +#: common/models.py:2750 msgid "Secret" msgstr "" -#: common/models.py:2745 +#: common/models.py:2751 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2853 +#: common/models.py:2859 msgid "Message ID" msgstr "" -#: common/models.py:2854 +#: common/models.py:2860 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2862 +#: common/models.py:2868 msgid "Host" msgstr "" -#: common/models.py:2863 +#: common/models.py:2869 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2871 +#: common/models.py:2877 msgid "Header" msgstr "" -#: common/models.py:2872 +#: common/models.py:2878 msgid "Header of this message" msgstr "" -#: common/models.py:2879 +#: common/models.py:2885 msgid "Body" msgstr "" -#: common/models.py:2880 +#: common/models.py:2886 msgid "Body of this message" msgstr "" -#: common/models.py:2890 +#: common/models.py:2896 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2895 +#: common/models.py:2901 msgid "Worked on" msgstr "" -#: common/models.py:2896 +#: common/models.py:2902 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3022 +#: common/models.py:3028 msgid "Id" msgstr "" -#: common/models.py:3024 templates/js/translated/company.js:965 +#: common/models.py:3030 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3028 templates/js/translated/news.js:60 +#: common/models.py:3034 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3030 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3036 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3032 templates/js/translated/news.js:52 +#: common/models.py:3038 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3035 +#: common/models.py:3041 msgid "Read" msgstr "" -#: common/models.py:3035 +#: common/models.py:3041 msgid "Was this news item read?" msgstr "" -#: common/models.py:3052 company/models.py:156 part/models.py:929 +#: common/models.py:3058 company/models.py:156 part/models.py:972 #: 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 +#: report/templates/report/inventree_return_order_report.html:35 #: stock/templates/stock/item_base.html:133 templates/503.html:31 #: templates/hover_image.html:7 templates/hover_image.html:9 #: templates/modals.html:6 msgid "Image" msgstr "" -#: common/models.py:3052 +#: common/models.py:3058 msgid "Image file" msgstr "" -#: common/models.py:3094 +#: common/models.py:3100 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3113 +#: common/models.py:3119 msgid "Unit name" msgstr "" -#: common/models.py:3120 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3126 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3121 +#: common/models.py:3127 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3128 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3134 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3129 +#: common/models.py:3135 msgid "Unit definition" msgstr "" @@ -3929,9 +3943,9 @@ msgid "Contact email address" msgstr "" #: company/models.py:139 company/templates/company/company_base.html:145 -#: order/models.py:331 order/templates/order/order_base.html:203 +#: order/models.py:344 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 -#: order/templates/order/sales_order_base.html:214 +#: order/templates/order/sales_order_base.html:218 msgid "Contact" msgstr "" @@ -3977,7 +3991,7 @@ msgstr "" #: company/models.py:273 company/models.py:382 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:776 +#: company/templates/company/company_base.html:12 stock/api.py:810 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "" @@ -4069,8 +4083,8 @@ msgstr "" msgid "Link to address information (external)" msgstr "" -#: company/models.py:489 company/models.py:792 stock/models.py:751 -#: stock/serializers.py:266 stock/templates/stock/item_base.html:142 +#: company/models.py:489 company/models.py:792 stock/models.py:772 +#: stock/serializers.py:395 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -4081,7 +4095,7 @@ msgstr "" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:515 +#: company/templates/company/supplier_part.html:145 part/serializers.py:530 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4096,13 +4110,13 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:525 +#: company/templates/company/supplier_part.html:153 part/serializers.py:540 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800 -#: templates/js/translated/purchase_order.js:1852 -#: templates/js/translated/purchase_order.js:2054 +#: templates/js/translated/purchase_order.js:1851 +#: templates/js/translated/purchase_order.js:2053 msgid "MPN" msgstr "" @@ -4129,9 +4143,8 @@ msgstr "" msgid "Parameter name" msgstr "" -#: company/models.py:621 -#: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2448 templates/js/translated/company.js:1166 +#: company/models.py:621 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2425 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492 #: templates/js/translated/stock.js:1522 msgid "Value" @@ -4142,10 +4155,10 @@ msgid "Parameter value" msgstr "" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1009 part/models.py:3623 +#: part/admin.py:57 part/models.py:1052 part/models.py:3666 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 -#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370 +#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 msgid "Units" msgstr "" @@ -4166,9 +4179,9 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:465 +#: company/templates/company/supplier_part.html:129 order/models.py:487 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:499 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:514 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4176,7 +4189,7 @@ msgstr "" #: templates/js/translated/company.js:511 #: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1690 +#: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/table_filters.js:804 msgid "Supplier" msgstr "" @@ -4185,7 +4198,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:809 part/serializers.py:510 +#: company/models.py:809 part/serializers.py:525 msgid "Supplier stock keeping unit" msgstr "" @@ -4206,29 +4219,29 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:418 part/models.py:4070 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4113 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 -#: report/templates/report/inventree_slr_report.html:105 -#: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:579 +#: report/templates/report/inventree_purchase_order_report.html:32 +#: report/templates/report/inventree_return_order_report.html:27 +#: report/templates/report/inventree_sales_order_report.html:32 +#: report/templates/report/inventree_stock_location_report.html:105 +#: stock/serializers.py:708 msgid "Note" msgstr "" -#: company/models.py:857 part/models.py:1967 +#: company/models.py:857 part/models.py:2010 msgid "base cost" msgstr "" -#: company/models.py:858 part/models.py:1968 +#: company/models.py:858 part/models.py:2011 msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:782 stock/serializers.py:1350 +#: stock/admin.py:224 stock/models.py:803 stock/serializers.py:1479 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 -#: templates/js/translated/stock.js:2426 +#: templates/js/translated/stock.js:2424 msgid "Packaging" msgstr "" @@ -4241,8 +4254,8 @@ msgstr "" #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 -#: templates/js/translated/purchase_order.js:2085 -#: templates/js/translated/purchase_order.js:2102 +#: templates/js/translated/purchase_order.js:2084 +#: templates/js/translated/purchase_order.js:2101 msgid "Pack Quantity" msgstr "" @@ -4250,7 +4263,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:892 part/models.py:1974 +#: company/models.py:892 part/models.py:2017 msgid "multiple" msgstr "" @@ -4285,7 +4298,7 @@ msgstr "" #: part/templates/part/part_base.html:146 #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 -#: templates/js/translated/model_renderers.js:306 +#: templates/js/translated/model_renderers.js:312 #: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 msgid "Inactive" msgstr "" @@ -4321,11 +4334,11 @@ msgstr "" #: company/templates/company/manufacturer_part.html:51 #: company/templates/company/supplier_part.html:83 #: part/templates/part/part_thumb.html:20 -#: report/templates/report/inventree_build_order_base.html:98 -#: report/templates/report/inventree_po_report_base.html:40 -#: report/templates/report/inventree_so_report_base.html:40 -#: report/templates/report/inventree_test_report_base.html:84 -#: report/templates/report/inventree_test_report_base.html:163 +#: report/templates/report/inventree_build_order_report.html:98 +#: report/templates/report/inventree_purchase_order_report.html:40 +#: report/templates/report/inventree_sales_order_report.html:40 +#: report/templates/report/inventree_test_report.html:84 +#: report/templates/report/inventree_test_report.html:163 msgid "Part image" msgstr "" @@ -4344,16 +4357,16 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:92 order/models.py:910 -#: order/models.py:2010 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:144 stock/models.py:804 -#: stock/models.py:805 stock/serializers.py:1100 +#: company/templates/company/company_base.html:92 order/models.py:941 +#: order/models.py:2059 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:148 stock/models.py:825 +#: stock/models.py:826 stock/serializers.py:1229 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 -#: templates/js/translated/return_order.js:296 -#: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2962 +#: templates/js/translated/return_order.js:295 +#: templates/js/translated/sales_order.js:820 +#: templates/js/translated/stock.js:2959 #: templates/js/translated/table_filters.js:808 msgid "Customer" msgstr "" @@ -4362,10 +4375,10 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:124 order/models.py:341 +#: company/templates/company/company_base.html:124 order/models.py:354 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 -#: order/templates/order/sales_order_base.html:221 +#: order/templates/order/sales_order_base.html:225 msgid "Address" msgstr "" @@ -4374,7 +4387,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:211 -#: part/templates/part/part_base.html:528 +#: part/templates/part/part_base.html:527 msgid "Remove Image" msgstr "" @@ -4383,19 +4396,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:214 -#: part/templates/part/part_base.html:531 +#: part/templates/part/part_base.html:530 #: templates/InvenTree/settings/user.html:88 #: templates/InvenTree/settings/user_sso.html:43 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:243 -#: part/templates/part/part_base.html:560 +#: part/templates/part/part_base.html:559 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:258 -#: part/templates/part/part_base.html:614 +#: part/templates/part/part_base.html:613 msgid "Download Image" msgstr "" @@ -4558,7 +4571,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:821 +#: part/admin.py:122 part/serializers.py:836 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4609,10 +4622,10 @@ msgstr "" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:452 -#: stock/models.py:762 stock/templates/stock/item_base.html:233 +#: stock/models.py:783 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 -#: templates/js/translated/stock.js:2282 +#: templates/js/translated/stock.js:2280 msgid "Supplier Part" msgstr "" @@ -4658,11 +4671,11 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:509 +#: part/bom.py:311 part/serializers.py:524 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1851 -#: templates/js/translated/purchase_order.js:2029 +#: templates/js/translated/purchase_order.js:1850 +#: templates/js/translated/purchase_order.js:2028 msgid "SKU" msgstr "" @@ -4671,12 +4684,12 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:209 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:199 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:206 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:200 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:207 #: templates/js/translated/stock.js:537 msgid "New Stock Item" msgstr "" @@ -4708,16 +4721,16 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:820 part/stocktake.py:223 +#: part/serializers.py:835 part/stocktake.py:223 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:787 stock/serializers.py:951 +#: stock/serializers.py:916 stock/serializers.py:1080 #: stock/templates/stock/location.html:170 -#: stock/templates/stock/location.html:184 -#: stock/templates/stock/location.html:196 +#: stock/templates/stock/location.html:191 +#: stock/templates/stock/location.html:203 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2769 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 #: users/models.py:206 msgid "Stock Items" msgstr "" @@ -4751,126 +4764,48 @@ msgstr "" msgid "New Company" msgstr "" -#: label/api.py:247 -msgid "Error printing label" -msgstr "" - -#: label/models.py:120 -msgid "Label name" -msgstr "" - -#: label/models.py:128 -msgid "Label description" -msgstr "" - -#: label/models.py:136 -msgid "Label" -msgstr "" - -#: label/models.py:137 -msgid "Label template file" -msgstr "" - -#: label/models.py:143 part/models.py:3494 report/models.py:324 -#: templates/js/translated/part.js:2900 -#: templates/js/translated/table_filters.js:481 -msgid "Enabled" -msgstr "" - -#: label/models.py:144 -msgid "Label template is enabled" -msgstr "" - -#: label/models.py:149 -msgid "Width [mm]" -msgstr "" - -#: label/models.py:150 -msgid "Label width, specified in mm" -msgstr "" - -#: label/models.py:156 -msgid "Height [mm]" -msgstr "" - -#: label/models.py:157 -msgid "Label height, specified in mm" -msgstr "" - -#: label/models.py:163 report/models.py:317 -msgid "Filename Pattern" -msgstr "" - -#: label/models.py:164 -msgid "Pattern for generating label filenames" -msgstr "" - -#: label/models.py:313 label/models.py:352 label/models.py:377 -#: label/models.py:412 -msgid "Query filters (comma-separated list of key=value pairs)" -msgstr "" - -#: label/models.py:314 label/models.py:353 label/models.py:378 -#: label/models.py:413 report/models.py:345 report/models.py:496 -#: report/models.py:532 report/models.py:568 report/models.py:750 -msgid "Filters" -msgstr "" - -#: label/templates/label/part/part_label.html:31 -#: label/templates/label/stockitem/qr.html:21 -#: label/templates/label/stocklocation/qr.html:20 -#: templates/allauth_2fa/setup.html:18 -msgid "QR Code" -msgstr "" - -#: label/templates/label/part/part_label_code128.html:31 -#: label/templates/label/stocklocation/qr_and_text.html:31 -#: templates/qr_code.html:7 -msgid "QR code" -msgstr "" - -#: machine/machine_types/label_printer.py:217 +#: machine/machine_types/label_printer.py:218 msgid "Copies" msgstr "" -#: machine/machine_types/label_printer.py:218 +#: machine/machine_types/label_printer.py:219 msgid "Number of copies to print for each label" msgstr "" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:234 msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:234 order/api.py:1515 -#: templates/js/translated/sales_order.js:1042 +#: machine/machine_types/label_printer.py:235 order/api.py:1515 +#: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "" -#: machine/machine_types/label_printer.py:235 +#: machine/machine_types/label_printer.py:236 msgid "Printing" msgstr "" -#: machine/machine_types/label_printer.py:236 +#: machine/machine_types/label_printer.py:237 msgid "No media" msgstr "" -#: machine/machine_types/label_printer.py:237 +#: machine/machine_types/label_printer.py:238 msgid "Disconnected" msgstr "" -#: machine/machine_types/label_printer.py:244 +#: machine/machine_types/label_printer.py:245 msgid "Label Printer" msgstr "" -#: machine/machine_types/label_printer.py:245 +#: machine/machine_types/label_printer.py:246 msgid "Directly print labels for various items." msgstr "" -#: machine/machine_types/label_printer.py:251 +#: machine/machine_types/label_printer.py:252 msgid "Printer Location" msgstr "" -#: machine/machine_types/label_printer.py:252 +#: machine/machine_types/label_printer.py:253 msgid "Scope the printer to a specific location" msgstr "" @@ -4930,19 +4865,19 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:89 -#: report/templates/report/inventree_po_report_base.html:31 -#: report/templates/report/inventree_so_report_base.html:31 +#: order/admin.py:30 order/models.py:90 +#: report/templates/report/inventree_purchase_order_report.html:31 +#: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2126 -#: templates/js/translated/sales_order.js:1847 +#: templates/js/translated/purchase_order.js:2125 +#: templates/js/translated/sales_order.js:1883 msgid "Total Price" msgstr "" #: order/api.py:161 order/serializers.py:91 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 -#: order/templates/order/sales_order_base.html:118 +#: order/templates/order/sales_order_base.html:122 msgid "Order Status" msgstr "" @@ -4955,10 +4890,10 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:437 order/api.py:817 order/models.py:1382 order/models.py:1491 -#: order/models.py:1537 order/models.py:1651 order/models.py:1805 -#: order/models.py:2209 order/models.py:2260 -#: templates/js/translated/sales_order.js:1488 +#: order/api.py:437 order/api.py:817 order/models.py:1422 order/models.py:1531 +#: order/models.py:1577 order/models.py:1691 order/models.py:1845 +#: order/models.py:2258 order/models.py:2309 +#: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" @@ -4970,402 +4905,398 @@ msgstr "" msgid "Order Pending" msgstr "" -#: order/api.py:1509 order/models.py:1383 order/models.py:1492 -#: order/templates/order/order_base.html:9 +#: order/api.py:1509 order/models.py:381 order/models.py:1423 +#: order/models.py:1532 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 -#: report/templates/report/inventree_po_report_base.html:14 -#: stock/templates/stock/item_base.html:176 +#: report/templates/report/inventree_purchase_order_report.html:14 +#: stock/serializers.py:119 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 -#: templates/js/translated/purchase_order.js:1674 -#: templates/js/translated/stock.js:2262 templates/js/translated/stock.js:2910 +#: templates/js/translated/purchase_order.js:1673 +#: templates/js/translated/stock.js:2260 templates/js/translated/stock.js:2907 msgid "Purchase Order" msgstr "" -#: order/api.py:1513 order/models.py:2210 order/models.py:2261 -#: order/templates/order/return_order_base.html:9 +#: order/api.py:1513 order/models.py:2008 order/models.py:2259 +#: order/models.py:2310 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:281 -#: templates/js/translated/stock.js:2944 +#: report/templates/report/inventree_return_order_report.html:13 +#: templates/js/translated/return_order.js:280 +#: templates/js/translated/stock.js:2941 msgid "Return Order" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:96 order/serializers.py:71 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:99 order/serializers.py:72 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:246 +#: order/models.py:248 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:278 +#: order/models.py:291 msgid "Order description (optional)" msgstr "" -#: order/models.py:287 +#: order/models.py:300 msgid "Select project code for this order" msgstr "" -#: order/models.py:291 order/models.py:1288 order/models.py:1704 +#: order/models.py:304 order/models.py:1328 order/models.py:1744 msgid "Link to external page" msgstr "" -#: order/models.py:299 +#: order/models.py:312 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:313 +#: order/models.py:326 msgid "Created By" msgstr "" -#: order/models.py:321 +#: order/models.py:334 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:332 +#: order/models.py:345 msgid "Point of contact for this order" msgstr "" -#: order/models.py:342 +#: order/models.py:355 msgid "Company address for this order" msgstr "" -#: order/models.py:443 order/models.py:899 +#: order/models.py:465 order/models.py:930 msgid "Order reference" msgstr "" -#: order/models.py:451 order/models.py:923 +#: order/models.py:473 order/models.py:954 msgid "Purchase order status" msgstr "" -#: order/models.py:466 +#: order/models.py:488 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:477 order/templates/order/order_base.html:148 -#: templates/js/translated/purchase_order.js:1703 +#: order/models.py:499 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1702 msgid "Supplier Reference" msgstr "" -#: order/models.py:478 +#: order/models.py:500 msgid "Supplier order reference code" msgstr "" -#: order/models.py:487 +#: order/models.py:509 msgid "received by" msgstr "" -#: order/models.py:493 order/models.py:2036 +#: order/models.py:515 order/models.py:2085 msgid "Issue Date" msgstr "" -#: order/models.py:494 order/models.py:2037 +#: order/models.py:516 order/models.py:2086 msgid "Date order was issued" msgstr "" -#: order/models.py:501 order/models.py:2044 +#: order/models.py:523 order/models.py:2093 msgid "Date order was completed" msgstr "" -#: order/models.py:545 +#: order/models.py:567 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:739 +#: order/models.py:761 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:911 +#: order/models.py:942 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:934 order/models.py:2029 +#: order/models.py:965 order/models.py:2078 msgid "Customer Reference " msgstr "" -#: order/models.py:935 order/models.py:2030 +#: order/models.py:966 order/models.py:2079 msgid "Customer order reference code" msgstr "" -#: order/models.py:939 order/models.py:1658 -#: templates/js/translated/sales_order.js:843 -#: templates/js/translated/sales_order.js:1024 +#: order/models.py:970 order/models.py:1698 +#: templates/js/translated/sales_order.js:879 +#: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "" -#: order/models.py:948 +#: order/models.py:979 msgid "shipped by" msgstr "" -#: order/models.py:999 -msgid "Order cannot be completed as no parts have been assigned" -msgstr "" - -#: order/models.py:1004 +#: order/models.py:1029 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1008 templates/js/translated/sales_order.js:506 +#: order/models.py:1033 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1013 +#: order/models.py:1038 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1260 +#: order/models.py:1300 msgid "Item quantity" msgstr "" -#: order/models.py:1277 +#: order/models.py:1317 msgid "Line item reference" msgstr "" -#: order/models.py:1284 +#: order/models.py:1324 msgid "Line item notes" msgstr "" -#: order/models.py:1296 +#: order/models.py:1336 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1317 +#: order/models.py:1357 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1323 +#: order/models.py:1363 msgid "Context" msgstr "" -#: order/models.py:1324 +#: order/models.py:1364 msgid "Additional context for this line" msgstr "" -#: order/models.py:1334 +#: order/models.py:1374 msgid "Unit price" msgstr "" -#: order/models.py:1367 +#: order/models.py:1407 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1374 +#: order/models.py:1414 msgid "deleted" msgstr "" -#: order/models.py:1402 +#: order/models.py:1442 msgid "Supplier part" msgstr "" -#: order/models.py:1409 order/templates/order/order_base.html:196 +#: order/models.py:1449 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 #: templates/js/translated/purchase_order.js:1306 -#: templates/js/translated/purchase_order.js:2170 -#: templates/js/translated/return_order.js:764 +#: templates/js/translated/purchase_order.js:2169 +#: templates/js/translated/return_order.js:763 #: templates/js/translated/table_filters.js:120 #: templates/js/translated/table_filters.js:602 msgid "Received" msgstr "" -#: order/models.py:1410 +#: order/models.py:1450 msgid "Number of items received" msgstr "" -#: order/models.py:1418 stock/models.py:923 stock/serializers.py:400 +#: order/models.py:1458 stock/models.py:944 stock/serializers.py:529 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2313 +#: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "" -#: order/models.py:1419 +#: order/models.py:1459 msgid "Unit purchase price" msgstr "" -#: order/models.py:1434 +#: order/models.py:1474 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1525 +#: order/models.py:1565 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1530 +#: order/models.py:1570 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1556 part/templates/part/part_pricing.html:107 +#: order/models.py:1596 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1557 +#: order/models.py:1597 msgid "Unit sale price" msgstr "" -#: order/models.py:1567 +#: order/models.py:1607 msgid "Shipped quantity" msgstr "" -#: order/models.py:1659 +#: order/models.py:1699 msgid "Date of shipment" msgstr "" -#: order/models.py:1665 templates/js/translated/sales_order.js:1036 +#: order/models.py:1705 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1666 +#: order/models.py:1706 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1674 +#: order/models.py:1714 msgid "Checked By" msgstr "" -#: order/models.py:1675 +#: order/models.py:1715 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1682 order/models.py:1895 order/serializers.py:1354 -#: order/serializers.py:1464 templates/js/translated/model_renderers.js:448 +#: order/models.py:1722 order/models.py:1935 order/serializers.py:1354 +#: order/serializers.py:1464 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" -#: order/models.py:1683 +#: order/models.py:1723 msgid "Shipment number" msgstr "" -#: order/models.py:1691 +#: order/models.py:1731 msgid "Tracking Number" msgstr "" -#: order/models.py:1692 +#: order/models.py:1732 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1699 +#: order/models.py:1739 msgid "Invoice Number" msgstr "" -#: order/models.py:1700 +#: order/models.py:1740 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1720 +#: order/models.py:1760 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1723 +#: order/models.py:1763 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1841 order/models.py:1843 +#: order/models.py:1881 order/models.py:1883 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1850 +#: order/models.py:1890 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1853 +#: order/models.py:1893 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1856 +#: order/models.py:1896 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1875 order/serializers.py:1231 +#: order/models.py:1915 order/serializers.py:1231 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1878 +#: order/models.py:1918 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1879 plugin/base/barcodes/api.py:481 +#: order/models.py:1919 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1887 +#: order/models.py:1927 msgid "Line" msgstr "" -#: order/models.py:1896 +#: order/models.py:1936 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1909 order/models.py:2217 -#: templates/js/translated/return_order.js:722 +#: order/models.py:1949 order/models.py:2266 +#: templates/js/translated/return_order.js:721 msgid "Item" msgstr "" -#: order/models.py:1910 +#: order/models.py:1950 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1919 +#: order/models.py:1959 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1999 +#: order/models.py:2048 msgid "Return Order reference" msgstr "" -#: order/models.py:2011 +#: order/models.py:2060 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2023 +#: order/models.py:2072 msgid "Return order status" msgstr "" -#: order/models.py:2202 +#: order/models.py:2251 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2218 +#: order/models.py:2267 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2224 +#: order/models.py:2273 msgid "Received Date" msgstr "" -#: order/models.py:2225 +#: order/models.py:2274 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2236 templates/js/translated/return_order.js:733 +#: order/models.py:2285 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2237 +#: order/models.py:2286 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2244 +#: order/models.py:2293 msgid "Cost associated with return or repair for this line item" msgstr "" #: order/serializers.py:80 order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 -#: report/templates/report/inventree_po_report_base.html:22 -#: report/templates/report/inventree_return_order_report_base.html:19 -#: report/templates/report/inventree_so_report_base.html:22 +#: report/templates/report/inventree_purchase_order_report.html:22 +#: report/templates/report/inventree_return_order_report.html:19 +#: report/templates/report/inventree_sales_order_report.html:22 msgid "Line Items" msgstr "" @@ -5595,7 +5526,7 @@ msgstr "" #: order/templates/order/order_base.html:84 #: order/templates/order/return_order_base.html:87 -#: order/templates/order/sales_order_base.html:93 +#: order/templates/order/sales_order_base.html:97 msgid "Complete Order" msgstr "" @@ -5605,13 +5536,13 @@ msgstr "" #: order/templates/order/order_base.html:106 #: order/templates/order/return_order_base.html:101 -#: order/templates/order/sales_order_base.html:106 +#: order/templates/order/sales_order_base.html:110 msgid "Order Reference" msgstr "" #: order/templates/order/order_base.html:111 #: order/templates/order/return_order_base.html:106 -#: order/templates/order/sales_order_base.html:111 +#: order/templates/order/sales_order_base.html:115 msgid "Order Description" msgstr "" @@ -5620,19 +5551,19 @@ msgid "No suppplier information available" msgstr "" #: order/templates/order/order_base.html:154 -#: order/templates/order/sales_order_base.html:157 +#: order/templates/order/sales_order_base.html:161 msgid "Completed Line Items" msgstr "" #: order/templates/order/order_base.html:160 -#: order/templates/order/sales_order_base.html:163 -#: order/templates/order/sales_order_base.html:173 +#: order/templates/order/sales_order_base.html:167 +#: order/templates/order/sales_order_base.html:177 msgid "Incomplete" msgstr "" #: order/templates/order/order_base.html:179 #: order/templates/order/return_order_base.html:157 -#: report/templates/report/inventree_build_order_base.html:121 +#: report/templates/report/inventree_build_order_report.html:121 msgid "Issued" msgstr "" @@ -5642,15 +5573,15 @@ msgstr "" #: order/templates/order/order_base.html:228 #: order/templates/order/return_order_base.html:199 -#: order/templates/order/sales_order_base.html:239 +#: order/templates/order/sales_order_base.html:243 msgid "Total cost could not be calculated" msgstr "" -#: order/templates/order/order_base.html:318 +#: order/templates/order/order_base.html:314 msgid "Purchase Order QR Code" msgstr "" -#: order/templates/order/order_base.html:330 +#: order/templates/order/order_base.html:326 msgid "Link Barcode to Purchase Order" msgstr "" @@ -5707,8 +5638,8 @@ msgstr "" #: templates/js/translated/build.js:1629 #: templates/js/translated/purchase_order.js:696 #: templates/js/translated/purchase_order.js:1236 -#: templates/js/translated/return_order.js:506 -#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/return_order.js:505 +#: templates/js/translated/sales_order.js:1145 #: templates/js/translated/stock.js:714 templates/js/translated/stock.js:883 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -5762,7 +5693,7 @@ msgstr "" #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 #: templates/js/translated/purchase_order.js:414 -#: templates/js/translated/return_order.js:459 +#: templates/js/translated/return_order.js:458 #: templates/js/translated/sales_order.js:237 msgid "Add Line Item" msgstr "" @@ -5811,30 +5742,30 @@ msgid "Print packing list" msgstr "" #: order/templates/order/return_order_base.html:138 -#: order/templates/order/sales_order_base.html:151 -#: templates/js/translated/return_order.js:309 -#: templates/js/translated/sales_order.js:797 +#: order/templates/order/sales_order_base.html:155 +#: templates/js/translated/return_order.js:308 +#: templates/js/translated/sales_order.js:833 msgid "Customer Reference" msgstr "" #: order/templates/order/return_order_base.html:195 -#: order/templates/order/sales_order_base.html:235 +#: order/templates/order/sales_order_base.html:239 #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1072 -#: templates/js/translated/purchase_order.js:1753 -#: templates/js/translated/return_order.js:381 -#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/purchase_order.js:1752 +#: templates/js/translated/return_order.js:380 +#: templates/js/translated/sales_order.js:891 msgid "Total Cost" msgstr "" -#: order/templates/order/return_order_base.html:263 +#: order/templates/order/return_order_base.html:259 msgid "Return Order QR Code" msgstr "" -#: order/templates/order/return_order_base.html:275 +#: order/templates/order/return_order_base.html:271 msgid "Link Barcode to Return Order" msgstr "" @@ -5852,25 +5783,30 @@ msgid "Ship Items" msgstr "" #: order/templates/order/sales_order_base.html:92 -#: templates/js/translated/sales_order.js:484 +#: order/templates/order/sales_order_base.html:93 +msgid "Mark As Shipped" +msgstr "" + +#: order/templates/order/sales_order_base.html:96 +#: templates/js/translated/sales_order.js:536 msgid "Complete Sales Order" msgstr "" -#: order/templates/order/sales_order_base.html:131 +#: order/templates/order/sales_order_base.html:135 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:169 +#: order/templates/order/sales_order_base.html:173 #: order/templates/order/sales_order_detail.html:99 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "" -#: order/templates/order/sales_order_base.html:312 +#: order/templates/order/sales_order_base.html:321 msgid "Sales Order QR Code" msgstr "" -#: order/templates/order/sales_order_base.html:324 +#: order/templates/order/sales_order_base.html:333 msgid "Link Barcode to Sales Order" msgstr "" @@ -5914,12 +5850,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:404 part/models.py:3921 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:406 part/models.py:3964 part/stocktake.py:218 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:411 part/models.py:3922 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:413 part/models.py:3965 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -5928,20 +5864,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:904 part/templates/part/part_base.html:269 -#: report/templates/report/inventree_slr_report.html:103 -#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2341 -#: templates/js/translated/stock.js:2038 +#: part/admin.py:48 part/models.py:947 part/templates/part/part_base.html:269 +#: report/templates/report/inventree_stock_location_report.html:103 +#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 +#: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:913 part/templates/part/part_base.html:277 -#: report/models.py:195 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2347 +#: part/admin.py:50 part/models.py:956 part/templates/part/part_base.html:277 +#: report/models.py:161 templates/js/translated/part.js:1231 +#: templates/js/translated/part.js:2346 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:317 part/models.py:886 +#: part/admin.py:53 part/admin.py:319 part/models.py:929 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5950,15 +5886,15 @@ msgstr "" msgid "Part Image" msgstr "" -#: part/admin.py:63 part/admin.py:300 part/stocktake.py:221 +#: part/admin.py:63 part/admin.py:302 part/stocktake.py:221 msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:302 part/stocktake.py:222 +#: part/admin.py:67 part/admin.py:304 part/stocktake.py:222 msgid "Category Name" msgstr "" -#: part/admin.py:71 part/admin.py:314 +#: part/admin.py:71 part/admin.py:316 msgid "Default Location ID" msgstr "" @@ -5966,11 +5902,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:872 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:915 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1000 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1043 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5983,160 +5919,164 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3080 part/models.py:3094 +#: part/admin.py:155 part/models.py:3123 part/models.py:3137 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3087 part/models.py:3101 +#: part/admin.py:158 part/models.py:3130 part/models.py:3144 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" -#: part/admin.py:306 part/admin.py:393 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:211 msgid "Parent ID" msgstr "" -#: part/admin.py:310 part/admin.py:400 stock/admin.py:62 +#: part/admin.py:312 part/admin.py:402 stock/admin.py:62 msgid "Parent Name" msgstr "" -#: part/admin.py:318 part/templates/part/category.html:88 +#: part/admin.py:320 part/templates/part/category.html:88 #: part/templates/part/category.html:101 msgid "Category Path" msgstr "" -#: part/admin.py:323 part/models.py:391 part/serializers.py:117 +#: part/admin.py:325 part/models.py:393 part/serializers.py:117 #: part/serializers.py:272 part/serializers.py:391 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2803 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "" -#: part/admin.py:384 +#: part/admin.py:386 msgid "BOM Level" msgstr "" -#: part/admin.py:387 +#: part/admin.py:389 msgid "BOM Item ID" msgstr "" -#: part/admin.py:397 +#: part/admin.py:399 msgid "Parent IPN" msgstr "" -#: part/admin.py:408 part/models.py:3923 +#: part/admin.py:410 part/models.py:3966 msgid "Part IPN" msgstr "" -#: part/admin.py:421 part/serializers.py:1261 +#: part/admin.py:423 part/serializers.py:1276 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:426 part/serializers.py:1276 +#: part/admin.py:428 part/serializers.py:1291 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:119 +#: part/api.py:112 msgid "Starred" msgstr "" -#: part/api.py:121 +#: part/api.py:114 msgid "Filter by starred categories" msgstr "" -#: part/api.py:138 stock/api.py:284 +#: part/api.py:131 stock/api.py:318 msgid "Depth" msgstr "" -#: part/api.py:138 +#: part/api.py:131 msgid "Filter by category depth" msgstr "" -#: part/api.py:156 stock/api.py:302 +#: part/api.py:149 stock/api.py:336 msgid "Cascade" msgstr "" -#: part/api.py:158 +#: part/api.py:151 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:178 +#: part/api.py:171 msgid "Parent" msgstr "" -#: part/api.py:180 +#: part/api.py:173 msgid "Filter by parent category" msgstr "" -#: part/api.py:213 +#: part/api.py:206 msgid "Exclude Tree" msgstr "" -#: part/api.py:215 +#: part/api.py:208 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:461 +#: part/api.py:455 msgid "Has Results" msgstr "" -#: part/api.py:628 +#: part/api.py:622 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:646 +#: part/api.py:640 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:662 +#: part/api.py:656 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:746 +#: part/api.py:740 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:893 +#: part/api.py:887 msgid "Valid" msgstr "" -#: part/api.py:894 +#: part/api.py:888 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:900 +#: part/api.py:894 msgid "This option must be selected" msgstr "" -#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866 -#: part/serializers.py:406 part/serializers.py:1117 -#: part/templates/part/part_base.html:260 stock/api.py:745 +#: part/api.py:1111 +msgid "BOM Valid" +msgstr "" + +#: part/api.py:1515 part/models.py:939 part/models.py:3429 part/models.py:3909 +#: part/serializers.py:406 part/serializers.py:1132 +#: part/templates/part/part_base.html:260 stock/api.py:779 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2377 +#: templates/js/translated/part.js:2376 msgid "Category" msgstr "" -#: part/api.py:1849 +#: part/api.py:1803 msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:101 part/models.py:939 +#: part/bom.py:170 part/models.py:102 part/models.py:982 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:822 +#: part/bom.py:171 part/serializers.py:837 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "Цялостна наличност" @@ -6145,698 +6085,712 @@ msgstr "Цялостна наличност" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:82 part/models.py:3867 part/templates/part/category.html:16 +#: part/models.py:83 part/models.py:3910 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:83 part/templates/part/category.html:136 +#: part/models.py:84 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "" -#: part/models.py:102 +#: part/models.py:103 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:107 stock/models.py:165 templates/js/translated/part.js:2810 -#: templates/js/translated/stock.js:2775 +#: part/models.py:108 stock/models.py:177 templates/js/translated/part.js:2809 +#: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "" -#: part/models.py:109 +#: part/models.py:110 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:118 +#: part/models.py:119 msgid "Default keywords" msgstr "" -#: part/models.py:119 +#: part/models.py:120 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:125 stock/models.py:89 stock/models.py:148 +#: part/models.py:126 stock/models.py:89 stock/models.py:160 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:126 stock/models.py:149 +#: part/models.py:127 stock/models.py:161 msgid "Icon (optional)" msgstr "" -#: part/models.py:148 +#: part/models.py:149 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:484 +#: part/models.py:482 +msgid "Cannot delete this part as it is still active" +msgstr "" + +#: part/models.py:489 +msgid "Cannot delete this part as it is used in an assembly" +msgstr "" + +#: part/models.py:527 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:532 part/models.py:539 +#: part/models.py:575 part/models.py:582 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:551 +#: part/models.py:594 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:616 +#: part/models.py:659 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:696 +#: part/models.py:739 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:801 +#: part/models.py:844 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:811 +#: part/models.py:854 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:826 +#: part/models.py:869 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:855 part/models.py:3922 +#: part/models.py:898 part/models.py:3965 msgid "Part name" msgstr "" -#: part/models.py:860 +#: part/models.py:903 msgid "Is Template" msgstr "" -#: part/models.py:861 +#: part/models.py:904 msgid "Is this part a template part?" msgstr "" -#: part/models.py:871 +#: part/models.py:914 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:879 +#: part/models.py:922 msgid "Part description (optional)" msgstr "" -#: part/models.py:887 +#: part/models.py:930 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:897 +#: part/models.py:940 msgid "Part category" msgstr "" -#: part/models.py:905 +#: part/models.py:948 msgid "Internal Part Number" msgstr "" -#: part/models.py:912 +#: part/models.py:955 msgid "Part revision or version number" msgstr "" -#: part/models.py:937 +#: part/models.py:980 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:983 part/templates/part/part_base.html:376 +#: part/models.py:1026 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:984 +#: part/models.py:1027 msgid "Default supplier part" msgstr "" -#: part/models.py:991 +#: part/models.py:1034 msgid "Default Expiry" msgstr "" -#: part/models.py:992 +#: part/models.py:1035 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1001 +#: part/models.py:1044 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1010 +#: part/models.py:1053 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1017 +#: part/models.py:1060 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1023 +#: part/models.py:1066 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1029 +#: part/models.py:1072 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1035 +#: part/models.py:1078 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1041 +#: part/models.py:1084 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1045 +#: part/models.py:1088 msgid "Is this part active?" msgstr "" -#: part/models.py:1051 +#: part/models.py:1094 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1057 +#: part/models.py:1100 msgid "BOM checksum" msgstr "" -#: part/models.py:1058 +#: part/models.py:1101 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1066 +#: part/models.py:1109 msgid "BOM checked by" msgstr "" -#: part/models.py:1071 +#: part/models.py:1114 msgid "BOM checked date" msgstr "" -#: part/models.py:1087 +#: part/models.py:1130 msgid "Creation User" msgstr "" -#: part/models.py:1097 +#: part/models.py:1140 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1102 part/templates/part/part_base.html:339 +#: part/models.py:1145 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 -#: templates/js/translated/part.js:2471 +#: templates/js/translated/part.js:2470 msgid "Last Stocktake" msgstr "" -#: part/models.py:1975 +#: part/models.py:2018 msgid "Sell multiple" msgstr "" -#: part/models.py:2994 +#: part/models.py:3037 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3010 +#: part/models.py:3053 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3011 +#: part/models.py:3054 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3017 +#: part/models.py:3060 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3018 +#: part/models.py:3061 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3024 +#: part/models.py:3067 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3025 +#: part/models.py:3068 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3031 +#: part/models.py:3074 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3032 +#: part/models.py:3075 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3038 +#: part/models.py:3081 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3039 +#: part/models.py:3082 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3045 +#: part/models.py:3088 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3046 +#: part/models.py:3089 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3052 +#: part/models.py:3095 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3053 +#: part/models.py:3096 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3059 +#: part/models.py:3102 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3060 +#: part/models.py:3103 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3066 +#: part/models.py:3109 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3067 +#: part/models.py:3110 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3073 +#: part/models.py:3116 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3074 +#: part/models.py:3117 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3081 +#: part/models.py:3124 msgid "Override minimum cost" msgstr "" -#: part/models.py:3088 +#: part/models.py:3131 msgid "Override maximum cost" msgstr "" -#: part/models.py:3095 +#: part/models.py:3138 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3102 +#: part/models.py:3145 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3108 +#: part/models.py:3151 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3109 +#: part/models.py:3152 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3115 +#: part/models.py:3158 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3116 +#: part/models.py:3159 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3122 +#: part/models.py:3165 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3123 +#: part/models.py:3166 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3129 +#: part/models.py:3172 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3130 +#: part/models.py:3173 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3149 +#: part/models.py:3192 msgid "Part for stocktake" msgstr "" -#: part/models.py:3154 +#: part/models.py:3197 msgid "Item Count" msgstr "" -#: part/models.py:3155 +#: part/models.py:3198 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3163 +#: part/models.py:3206 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3167 part/models.py:3250 +#: part/models.py:3210 part/models.py:3293 #: part/templates/part/part_scheduling.html:13 -#: report/templates/report/inventree_test_report_base.html:106 +#: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 #: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 -#: templates/js/translated/purchase_order.js:1732 -#: templates/js/translated/stock.js:2824 +#: templates/js/translated/purchase_order.js:1731 +#: templates/js/translated/stock.js:2821 msgid "Date" msgstr "" -#: part/models.py:3168 +#: part/models.py:3211 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3176 +#: part/models.py:3219 msgid "Additional notes" msgstr "" -#: part/models.py:3186 +#: part/models.py:3229 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3192 +#: part/models.py:3235 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3193 +#: part/models.py:3236 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3199 +#: part/models.py:3242 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3200 +#: part/models.py:3243 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3256 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3299 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3257 +#: part/models.py:3300 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3262 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3305 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3263 +#: part/models.py:3306 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3273 +#: part/models.py:3316 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3435 +#: part/models.py:3478 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3446 +#: part/models.py:3489 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3457 +#: part/models.py:3500 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3474 templates/js/translated/part.js:2879 +#: part/models.py:3517 templates/js/translated/part.js:2878 msgid "Test Name" msgstr "" -#: part/models.py:3475 +#: part/models.py:3518 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3481 +#: part/models.py:3524 msgid "Test Key" msgstr "" -#: part/models.py:3482 +#: part/models.py:3525 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3489 +#: part/models.py:3532 msgid "Test Description" msgstr "" -#: part/models.py:3490 +#: part/models.py:3533 msgid "Enter description for this test" msgstr "" -#: part/models.py:3494 +#: part/models.py:3537 report/models.py:208 +#: templates/js/translated/part.js:2899 +#: templates/js/translated/table_filters.js:481 +msgid "Enabled" +msgstr "" + +#: part/models.py:3537 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3499 templates/js/translated/part.js:2908 +#: part/models.py:3542 templates/js/translated/part.js:2907 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3500 +#: part/models.py:3543 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3505 templates/js/translated/part.js:2916 +#: part/models.py:3548 templates/js/translated/part.js:2915 msgid "Requires Value" msgstr "" -#: part/models.py:3506 +#: part/models.py:3549 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3511 templates/js/translated/part.js:2923 +#: part/models.py:3554 templates/js/translated/part.js:2922 msgid "Requires Attachment" msgstr "" -#: part/models.py:3513 +#: part/models.py:3556 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3560 +#: part/models.py:3603 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3565 +#: part/models.py:3608 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3585 +#: part/models.py:3628 msgid "Choices must be unique" msgstr "" -#: part/models.py:3602 +#: part/models.py:3645 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3617 +#: part/models.py:3660 msgid "Parameter Name" msgstr "" -#: part/models.py:3624 +#: part/models.py:3667 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3632 +#: part/models.py:3675 msgid "Parameter description" msgstr "" -#: part/models.py:3638 templates/js/translated/part.js:1627 +#: part/models.py:3681 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3639 +#: part/models.py:3682 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3644 templates/js/translated/part.js:1636 +#: part/models.py:3687 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3645 +#: part/models.py:3688 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3722 +#: part/models.py:3765 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3765 +#: part/models.py:3808 msgid "Parent Part" msgstr "" -#: part/models.py:3773 part/models.py:3874 part/models.py:3875 +#: part/models.py:3816 part/models.py:3917 part/models.py:3918 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3778 +#: part/models.py:3821 msgid "Data" msgstr "" -#: part/models.py:3779 +#: part/models.py:3822 msgid "Parameter Value" msgstr "" -#: part/models.py:3881 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3924 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3882 +#: part/models.py:3925 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3920 +#: part/models.py:3963 msgid "Part ID or part name" msgstr "" -#: part/models.py:3921 +#: part/models.py:3964 msgid "Unique part ID value" msgstr "" -#: part/models.py:3923 +#: part/models.py:3966 msgid "Part IPN value" msgstr "" -#: part/models.py:3924 +#: part/models.py:3967 msgid "Level" msgstr "" -#: part/models.py:3924 +#: part/models.py:3967 msgid "BOM level" msgstr "" -#: part/models.py:4014 +#: part/models.py:4057 msgid "Select parent part" msgstr "" -#: part/models.py:4024 +#: part/models.py:4067 msgid "Sub part" msgstr "" -#: part/models.py:4025 +#: part/models.py:4068 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4036 +#: part/models.py:4079 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4042 +#: part/models.py:4085 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4048 +#: part/models.py:4091 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4055 part/templates/part/upload_bom.html:55 +#: part/models.py:4098 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4056 +#: part/models.py:4099 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4063 +#: part/models.py:4106 msgid "BOM item reference" msgstr "" -#: part/models.py:4071 +#: part/models.py:4114 msgid "BOM item notes" msgstr "" -#: part/models.py:4077 +#: part/models.py:4120 msgid "Checksum" msgstr "" -#: part/models.py:4078 +#: part/models.py:4121 msgid "BOM line checksum" msgstr "" -#: part/models.py:4083 templates/js/translated/table_filters.js:174 +#: part/models.py:4126 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4084 +#: part/models.py:4127 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4089 part/templates/part/upload_bom.html:57 +#: part/models.py:4132 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4090 +#: part/models.py:4133 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4095 part/templates/part/upload_bom.html:56 +#: part/models.py:4138 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4096 +#: part/models.py:4139 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4181 stock/models.py:647 +#: part/models.py:4224 stock/models.py:668 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4191 part/models.py:4193 +#: part/models.py:4234 part/models.py:4236 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4333 +#: part/models.py:4376 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4354 +#: part/models.py:4397 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4367 +#: part/models.py:4410 msgid "Parent BOM item" msgstr "" -#: part/models.py:4375 +#: part/models.py:4418 msgid "Substitute part" msgstr "" -#: part/models.py:4391 +#: part/models.py:4434 msgid "Part 1" msgstr "" -#: part/models.py:4399 +#: part/models.py:4442 msgid "Part 2" msgstr "" -#: part/models.py:4400 +#: part/models.py:4443 msgid "Select Related Part" msgstr "" -#: part/models.py:4419 +#: part/models.py:4462 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4424 +#: part/models.py:4467 msgid "Duplicate relationship already exists" msgstr "" @@ -6854,7 +6808,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:406 +#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:535 msgid "Purchase currency of this stock item" msgstr "" @@ -6870,299 +6824,299 @@ msgstr "" msgid "Select category" msgstr "" -#: part/serializers.py:437 +#: part/serializers.py:442 msgid "Original Part" msgstr "" -#: part/serializers.py:438 +#: part/serializers.py:443 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:448 msgid "Copy Image" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:449 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:450 part/templates/part/detail.html:277 +#: part/serializers.py:455 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:451 +#: part/serializers.py:456 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:462 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:458 +#: part/serializers.py:463 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:464 +#: part/serializers.py:469 msgid "Copy Notes" msgstr "" -#: part/serializers.py:465 +#: part/serializers.py:470 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:478 +#: part/serializers.py:488 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:490 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:487 +#: part/serializers.py:497 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:488 +#: part/serializers.py:498 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:500 +#: part/serializers.py:515 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:531 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:526 +#: part/serializers.py:541 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:533 +#: part/serializers.py:548 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:542 +#: part/serializers.py:557 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:553 +#: part/serializers.py:568 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:560 +#: part/serializers.py:575 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:823 +#: part/serializers.py:838 msgid "External Stock" msgstr "" -#: part/serializers.py:825 +#: part/serializers.py:840 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:828 +#: part/serializers.py:843 msgid "Variant Stock" msgstr "" -#: part/serializers.py:856 part/templates/part/copy_part.html:9 +#: part/serializers.py:871 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:857 +#: part/serializers.py:872 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:863 templates/js/translated/part.js:102 +#: part/serializers.py:878 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:864 +#: part/serializers.py:879 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:870 +#: part/serializers.py:885 msgid "Supplier Information" msgstr "" -#: part/serializers.py:871 +#: part/serializers.py:886 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:879 +#: part/serializers.py:894 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:880 +#: part/serializers.py:895 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:885 +#: part/serializers.py:900 msgid "Existing Image" msgstr "" -#: part/serializers.py:886 +#: part/serializers.py:901 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:918 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1109 +#: part/serializers.py:1124 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1119 +#: part/serializers.py:1134 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1129 +#: part/serializers.py:1144 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1135 +#: part/serializers.py:1150 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1136 +#: part/serializers.py:1151 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1141 +#: part/serializers.py:1156 msgid "Generate Report" msgstr "" -#: part/serializers.py:1142 +#: part/serializers.py:1157 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1147 +#: part/serializers.py:1162 msgid "Update Parts" msgstr "" -#: part/serializers.py:1148 +#: part/serializers.py:1163 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1156 +#: part/serializers.py:1171 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1262 +#: part/serializers.py:1277 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1269 +#: part/serializers.py:1284 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1277 +#: part/serializers.py:1292 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1284 +#: part/serializers.py:1299 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1313 +#: part/serializers.py:1328 msgid "Update" msgstr "" -#: part/serializers.py:1314 +#: part/serializers.py:1329 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1337 +#: part/serializers.py:1352 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1344 +#: part/serializers.py:1359 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1347 +#: part/serializers.py:1362 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1714 +#: part/serializers.py:1729 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1722 +#: part/serializers.py:1737 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1723 +#: part/serializers.py:1738 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1728 +#: part/serializers.py:1743 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1729 +#: part/serializers.py:1744 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1734 +#: part/serializers.py:1749 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1735 +#: part/serializers.py:1750 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1755 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1756 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1775 +#: part/serializers.py:1790 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1776 +#: part/serializers.py:1791 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1806 +#: part/serializers.py:1821 msgid "No part column specified" msgstr "" -#: part/serializers.py:1850 +#: part/serializers.py:1865 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1853 +#: part/serializers.py:1868 msgid "No matching part found" msgstr "" -#: part/serializers.py:1856 +#: part/serializers.py:1871 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1865 +#: part/serializers.py:1880 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1888 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1894 +#: part/serializers.py:1909 msgid "At least one BOM item is required" msgstr "" #: part/stocktake.py:224 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:2085 +#: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" @@ -7314,7 +7268,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2218 users/models.py:204 +#: templates/js/translated/stock.js:2216 users/models.py:204 msgid "Stocktake" msgstr "" @@ -7412,15 +7366,15 @@ msgstr "" msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:659 +#: part/templates/part/detail.html:655 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:667 +#: part/templates/part/detail.html:663 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:752 +#: part/templates/part/detail.html:748 msgid "Add Test Result Template" msgstr "" @@ -7479,7 +7433,7 @@ msgstr "" #: part/templates/part/part_base.html:52 #: stock/templates/stock/item_base.html:62 -#: stock/templates/stock/location.html:74 +#: stock/templates/stock/location.html:74 templates/js/translated/label.js:142 msgid "Print Label" msgstr "" @@ -7501,7 +7455,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2293 +#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2292 msgid "Part actions" msgstr "" @@ -7550,7 +7504,7 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:163 -#: part/templates/part/part_base.html:682 +#: part/templates/part/part_base.html:681 msgid "Show Part Details" msgstr "" @@ -7573,7 +7527,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2444 +#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2443 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7596,19 +7550,19 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:512 +#: part/templates/part/part_base.html:511 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:529 +#: part/templates/part/part_base.html:528 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:580 +#: part/templates/part/part_base.html:579 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:676 +#: part/templates/part/part_base.html:675 msgid "Hide Part Details" msgstr "" @@ -7667,8 +7621,8 @@ msgstr "" #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 -#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 -#: templates/js/translated/stock.js:2072 templates/navbar.html:31 +#: templates/js/translated/part.js:2391 templates/js/translated/stock.js:1059 +#: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "Наличност" @@ -7714,7 +7668,7 @@ msgstr "" #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 -#: templates/js/translated/stock.js:2248 +#: templates/js/translated/stock.js:2246 msgid "Last Updated" msgstr "" @@ -7786,7 +7740,7 @@ msgid "Update Pricing" msgstr "" #: part/templates/part/stock_count.html:7 -#: templates/js/translated/model_renderers.js:221 +#: templates/js/translated/model_renderers.js:227 #: templates/js/translated/part.js:704 templates/js/translated/part.js:2140 #: templates/js/translated/part.js:2142 msgid "No Stock" @@ -7866,7 +7820,7 @@ msgstr "" msgid "Part Pricing" msgstr "" -#: plugin/api.py:168 +#: plugin/api.py:170 msgid "Plugin cannot be deleted as it is currently active" msgstr "" @@ -7933,7 +7887,7 @@ msgid "Stock item does not match line item" msgstr "" #: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2589 -#: templates/js/translated/sales_order.js:1917 +#: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "" @@ -8027,22 +7981,18 @@ msgstr "" msgid "Quantity to allocate" msgstr "" -#: plugin/base/label/label.py:39 +#: plugin/base/label/label.py:39 templates/js/translated/label.js:154 msgid "Label printing failed" msgstr "" -#: plugin/base/label/mixins.py:63 +#: plugin/base/label/mixins.py:56 msgid "Error rendering label to PDF" msgstr "" -#: plugin/base/label/mixins.py:76 +#: plugin/base/label/mixins.py:70 msgid "Error rendering label to HTML" msgstr "" -#: plugin/base/label/mixins.py:111 -msgid "Error rendering label to PNG" -msgstr "" - #: plugin/builtin/barcodes/inventree_barcode.py:25 msgid "InvenTree Barcodes" msgstr "" @@ -8054,7 +8004,7 @@ msgstr "" #: plugin/builtin/barcodes/inventree_barcode.py:28 #: plugin/builtin/integration/core_notifications.py:35 #: plugin/builtin/integration/currency_exchange.py:21 -#: plugin/builtin/labels/inventree_label.py:23 +#: plugin/builtin/labels/inventree_label.py:22 #: plugin/builtin/labels/inventree_machine.py:64 #: plugin/builtin/labels/label_sheet.py:63 #: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 @@ -8108,19 +8058,19 @@ msgstr "" msgid "Default currency exchange integration" msgstr "" -#: plugin/builtin/labels/inventree_label.py:20 +#: plugin/builtin/labels/inventree_label.py:19 msgid "InvenTree PDF label printer" msgstr "" -#: plugin/builtin/labels/inventree_label.py:21 +#: plugin/builtin/labels/inventree_label.py:20 msgid "Provides native support for printing PDF labels" msgstr "" -#: plugin/builtin/labels/inventree_label.py:29 +#: plugin/builtin/labels/inventree_label.py:28 msgid "Debug mode" msgstr "" -#: plugin/builtin/labels/inventree_label.py:30 +#: plugin/builtin/labels/inventree_label.py:29 msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "" @@ -8132,11 +8082,11 @@ msgstr "" msgid "Provides support for printing using a machine" msgstr "" -#: plugin/builtin/labels/inventree_machine.py:150 +#: plugin/builtin/labels/inventree_machine.py:151 msgid "last used" msgstr "" -#: plugin/builtin/labels/inventree_machine.py:167 +#: plugin/builtin/labels/inventree_machine.py:168 msgid "Options" msgstr "" @@ -8160,7 +8110,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:47 report/models.py:209 +#: plugin/builtin/labels/label_sheet.py:47 report/models.py:308 msgid "Landscape" msgstr "" @@ -8176,11 +8126,11 @@ msgstr "" msgid "Arrays multiple labels onto a single sheet" msgstr "" -#: plugin/builtin/labels/label_sheet.py:94 +#: plugin/builtin/labels/label_sheet.py:99 msgid "Label is too large for page size" msgstr "" -#: plugin/builtin/labels/label_sheet.py:128 +#: plugin/builtin/labels/label_sheet.py:133 msgid "No labels were generated" msgstr "" @@ -8273,61 +8223,62 @@ msgstr "" msgid "Uninstalled plugin successfully" msgstr "" -#: plugin/models.py:30 +#: plugin/models.py:35 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:31 +#: plugin/models.py:36 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:34 users/models.py:100 +#: plugin/models.py:42 users/models.py:100 msgid "Key" msgstr "" -#: plugin/models.py:34 +#: plugin/models.py:43 msgid "Key of plugin" msgstr "" -#: plugin/models.py:42 +#: plugin/models.py:51 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:49 plugin/serializers.py:90 +#: plugin/models.py:58 plugin/serializers.py:90 msgid "Package Name" msgstr "" -#: plugin/models.py:51 +#: plugin/models.py:60 msgid "Name of the installed package, if the plugin was installed via PIP" msgstr "" -#: plugin/models.py:56 +#: plugin/models.py:65 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:147 templates/js/translated/table_filters.js:370 +#: plugin/models.py:156 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "" -#: plugin/models.py:156 +#: plugin/models.py:165 msgid "Sample plugin" msgstr "" -#: plugin/models.py:164 +#: plugin/models.py:173 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:172 +#: plugin/models.py:181 msgid "Package Plugin" msgstr "" -#: plugin/models.py:196 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:205 report/models.py:475 +#: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" msgstr "" -#: plugin/models.py:243 +#: plugin/models.py:252 msgid "Method" msgstr "" @@ -8468,239 +8419,323 @@ msgstr "" msgid "Delete the plugin configuration from the database" msgstr "" -#: report/api.py:158 +#: report/api.py:77 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:197 report/api.py:234 +#: report/api.py:89 report/serializers.py:53 +msgid "Model Type" +msgstr "" + +#: report/api.py:92 report/models.py:439 report/serializers.py:98 +#: report/serializers.py:148 templates/js/translated/purchase_order.js:1747 +#: templates/js/translated/return_order.js:353 +#: templates/js/translated/sales_order.js:887 +#: templates/js/translated/sales_order.js:1047 +msgid "Items" +msgstr "" + +#: report/api.py:168 +msgid "Plugin not found" +msgstr "" + +#: report/api.py:170 +msgid "Plugin is not active" +msgstr "" + +#: report/api.py:172 +msgid "Plugin does not support label printing" +msgstr "" + +#: report/api.py:221 +msgid "Invalid label dimensions" +msgstr "" + +#: report/api.py:236 report/api.py:316 +msgid "No valid items provided to template" +msgstr "" + +#: report/api.py:271 +msgid "Error printing label" +msgstr "" + +#: report/api.py:362 report/api.py:398 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:319 -msgid "Test report" -msgstr "" - -#: report/helpers.py:15 +#: report/helpers.py:41 msgid "A4" msgstr "" -#: report/helpers.py:16 +#: report/helpers.py:42 msgid "A3" msgstr "" -#: report/helpers.py:17 +#: report/helpers.py:43 msgid "Legal" msgstr "" -#: report/helpers.py:18 +#: report/helpers.py:44 msgid "Letter" msgstr "" -#: report/models.py:177 +#: report/models.py:118 +msgid "Template file with this name already exists" +msgstr "" + +#: report/models.py:150 msgid "Template name" msgstr "" -#: report/models.py:183 -msgid "Report template file" +#: report/models.py:156 +msgid "Template description" msgstr "" -#: report/models.py:190 -msgid "Report template description" +#: report/models.py:162 +msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:196 -msgid "Report revision number (auto-increments)" +#: report/models.py:202 +msgid "Filename Pattern" msgstr "" -#: report/models.py:204 +#: report/models.py:203 +msgid "Pattern for generating filenames" +msgstr "" + +#: report/models.py:208 +msgid "Template is enabled" +msgstr "" + +#: report/models.py:214 +msgid "Target model type for template" +msgstr "" + +#: report/models.py:234 +msgid "Filters" +msgstr "" + +#: report/models.py:235 +msgid "Template query filters (comma-separated list of key=value pairs)" +msgstr "" + +#: report/models.py:295 report/models.py:362 +msgid "Template file" +msgstr "" + +#: report/models.py:303 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:210 +#: report/models.py:309 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:318 -msgid "Pattern for generating report filenames" +#: report/models.py:368 +msgid "Width [mm]" msgstr "" -#: report/models.py:325 -msgid "Report template is enabled" +#: report/models.py:369 +msgid "Label width, specified in mm" msgstr "" -#: report/models.py:347 -msgid "StockItem query filters (comma-separated list of key=value pairs)" +#: report/models.py:375 +msgid "Height [mm]" msgstr "" -#: report/models.py:354 -msgid "Include Installed Tests" +#: report/models.py:376 +msgid "Label height, specified in mm" msgstr "" -#: report/models.py:356 -msgid "Include test results for stock items installed inside assembled item" +#: report/models.py:439 +msgid "Number of items to process" msgstr "" -#: report/models.py:424 -msgid "Build Filters" +#: report/models.py:445 +msgid "Report generation is complete" msgstr "" -#: report/models.py:425 -msgid "Build query filters (comma-separated list of key=value pairs" +#: report/models.py:449 templates/js/translated/build.js:2177 +msgid "Progress" msgstr "" -#: report/models.py:464 -msgid "Part Filters" +#: report/models.py:449 +msgid "Report generation progress" msgstr "" -#: report/models.py:465 -msgid "Part query filters (comma-separated list of key=value pairs" +#: report/models.py:457 +msgid "Report Template" msgstr "" -#: report/models.py:497 -msgid "Purchase order query filters" +#: report/models.py:464 report/models.py:487 +msgid "Output File" msgstr "" -#: report/models.py:533 -msgid "Sales order query filters" +#: report/models.py:465 report/models.py:488 +msgid "Generated output file" msgstr "" -#: report/models.py:569 -msgid "Return order query filters" +#: report/models.py:476 +msgid "Label output plugin" msgstr "" -#: report/models.py:641 -msgid "Snippet file with this name already exists" +#: report/models.py:480 +msgid "Label Template" msgstr "" -#: report/models.py:648 +#: report/models.py:503 msgid "Snippet" msgstr "" -#: report/models.py:649 +#: report/models.py:504 msgid "Report snippet file" msgstr "" -#: report/models.py:656 +#: report/models.py:511 msgid "Snippet file description" msgstr "" -#: report/models.py:714 -msgid "Asset file with this name already exists" -msgstr "" - -#: report/models.py:722 +#: report/models.py:529 msgid "Asset" msgstr "" -#: report/models.py:723 +#: report/models.py:530 msgid "Report asset file" msgstr "" -#: report/models.py:730 +#: report/models.py:537 msgid "Asset file description" msgstr "" -#: report/models.py:752 -msgid "stock location query filters (comma-separated list of key=value pairs)" +#: report/serializers.py:91 +msgid "Select report template" +msgstr "" + +#: report/serializers.py:99 report/serializers.py:149 +msgid "List of item primary keys to include in the report" +msgstr "" + +#: report/serializers.py:132 +msgid "Select label template" +msgstr "" + +#: report/serializers.py:140 +msgid "Printing Plugin" +msgstr "" + +#: report/serializers.py:141 +msgid "Select plugin to use for label printing" +msgstr "" + +#: report/templates/label/part_label.html:31 +#: report/templates/label/stockitem_qr.html:21 +#: report/templates/label/stocklocation_qr.html:20 +#: templates/allauth_2fa/setup.html:18 +msgid "QR Code" +msgstr "" + +#: report/templates/label/part_label_code128.html:31 +#: report/templates/label/stocklocation_qr_and_text.html:31 +#: templates/qr_code.html:7 +msgid "QR code" msgstr "" #: report/templates/report/inventree_bill_of_materials_report.html:133 msgid "Materials needed" msgstr "" -#: report/templates/report/inventree_build_order_base.html:146 +#: report/templates/report/inventree_build_order_report.html:146 msgid "Required For" msgstr "" -#: report/templates/report/inventree_po_report_base.html:15 +#: report/templates/report/inventree_purchase_order_report.html:15 msgid "Supplier was deleted" msgstr "" -#: report/templates/report/inventree_po_report_base.html:30 -#: report/templates/report/inventree_so_report_base.html:30 +#: report/templates/report/inventree_purchase_order_report.html:30 +#: report/templates/report/inventree_sales_order_report.html:30 #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:834 -#: templates/js/translated/purchase_order.js:2116 -#: templates/js/translated/sales_order.js:1837 +#: templates/js/translated/purchase_order.js:2115 +#: templates/js/translated/sales_order.js:1873 msgid "Unit Price" msgstr "" -#: report/templates/report/inventree_po_report_base.html:55 -#: report/templates/report/inventree_return_order_report_base.html:48 -#: report/templates/report/inventree_so_report_base.html:55 +#: report/templates/report/inventree_purchase_order_report.html:55 +#: report/templates/report/inventree_return_order_report.html:48 +#: report/templates/report/inventree_sales_order_report.html:55 msgid "Extra Line Items" 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:2018 -#: templates/js/translated/sales_order.js:1806 +#: report/templates/report/inventree_purchase_order_report.html:72 +#: report/templates/report/inventree_sales_order_report.html:72 +#: templates/js/translated/purchase_order.js:2017 +#: templates/js/translated/sales_order.js:1842 msgid "Total" msgstr "" -#: report/templates/report/inventree_return_order_report_base.html:25 -#: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:809 stock/templates/stock/item_base.html:311 +#: report/templates/report/inventree_return_order_report.html:25 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:830 +#: stock/serializers.py:150 stock/templates/stock/item_base.html:311 #: templates/js/translated/build.js:519 templates/js/translated/build.js:1367 #: templates/js/translated/build.js:2355 -#: templates/js/translated/model_renderers.js:224 -#: templates/js/translated/return_order.js:540 -#: templates/js/translated/return_order.js:724 +#: templates/js/translated/model_renderers.js:230 +#: templates/js/translated/return_order.js:539 +#: templates/js/translated/return_order.js:723 #: templates/js/translated/sales_order.js:315 -#: templates/js/translated/sales_order.js:1611 -#: templates/js/translated/sales_order.js:1696 +#: templates/js/translated/sales_order.js:1647 +#: templates/js/translated/sales_order.js:1732 #: templates/js/translated/stock.js:596 msgid "Serial Number" msgstr "" -#: report/templates/report/inventree_slr_report.html:97 +#: report/templates/report/inventree_stock_location_report.html:97 msgid "Stock location items" msgstr "" -#: report/templates/report/inventree_test_report_base.html:21 +#: report/templates/report/inventree_test_report.html:21 msgid "Stock Item Test Report" msgstr "" -#: report/templates/report/inventree_test_report_base.html:97 +#: report/templates/report/inventree_test_report.html:97 msgid "Test Results" msgstr "" -#: report/templates/report/inventree_test_report_base.html:102 +#: report/templates/report/inventree_test_report.html:102 #: templates/js/translated/stock.js:1495 msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2442 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2419 msgid "Result" msgstr "" -#: report/templates/report/inventree_test_report_base.html:130 +#: report/templates/report/inventree_test_report.html:130 msgid "Pass" msgstr "" -#: report/templates/report/inventree_test_report_base.html:132 +#: report/templates/report/inventree_test_report.html:132 msgid "Fail" msgstr "" -#: report/templates/report/inventree_test_report_base.html:139 +#: report/templates/report/inventree_test_report.html:139 msgid "No result (required)" msgstr "" -#: report/templates/report/inventree_test_report_base.html:141 +#: report/templates/report/inventree_test_report.html:141 msgid "No result" msgstr "" -#: report/templates/report/inventree_test_report_base.html:154 +#: report/templates/report/inventree_test_report.html:154 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report_base.html:168 -#: stock/admin.py:162 templates/js/translated/stock.js:700 -#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3113 +#: report/templates/report/inventree_test_report.html:168 stock/admin.py:162 +#: templates/js/translated/stock.js:700 templates/js/translated/stock.js:871 +#: templates/js/translated/stock.js:3110 msgid "Serial" msgstr "" @@ -8757,7 +8792,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:201 stock/models.py:789 +#: stock/admin.py:201 stock/models.py:810 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" @@ -8782,66 +8817,66 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:256 stock/models.py:883 +#: stock/admin.py:256 stock/models.py:904 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2232 users/models.py:124 +#: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" msgstr "" -#: stock/api.py:284 +#: stock/api.py:318 msgid "Filter by location depth" msgstr "" -#: stock/api.py:304 +#: stock/api.py:338 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:325 +#: stock/api.py:359 msgid "Parent Location" msgstr "" -#: stock/api.py:326 +#: stock/api.py:360 msgid "Filter by parent location" msgstr "" -#: stock/api.py:579 templates/js/translated/table_filters.js:427 +#: stock/api.py:613 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:767 +#: stock/api.py:801 msgid "Part Tree" msgstr "" -#: stock/api.py:797 +#: stock/api.py:831 msgid "Expiry date before" msgstr "" -#: stock/api.py:801 +#: stock/api.py:835 msgid "Expiry date after" msgstr "" -#: stock/api.py:804 stock/templates/stock/item_base.html:439 +#: stock/api.py:838 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:891 +#: stock/api.py:925 msgid "Quantity is required" msgstr "" -#: stock/api.py:897 +#: stock/api.py:931 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:928 +#: stock/api.py:962 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:938 +#: stock/api.py:972 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:969 +#: stock/api.py:1003 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8857,477 +8892,517 @@ msgstr "" msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:125 stock/models.py:771 +#: stock/models.py:127 stock/models.py:792 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Място в склада" -#: stock/models.py:126 stock/templates/stock/location.html:179 +#: stock/models.py:128 stock/templates/stock/location.html:186 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "Места в склада" -#: stock/models.py:158 stock/models.py:932 +#: stock/models.py:170 stock/models.py:953 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:159 stock/models.py:933 +#: stock/models.py:171 stock/models.py:954 msgid "Select Owner" msgstr "" -#: stock/models.py:167 +#: stock/models.py:179 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:174 templates/js/translated/stock.js:2784 +#: stock/models.py:186 templates/js/translated/stock.js:2781 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "" -#: stock/models.py:175 +#: stock/models.py:187 msgid "This is an external stock location" msgstr "" -#: stock/models.py:181 templates/js/translated/stock.js:2793 +#: stock/models.py:193 templates/js/translated/stock.js:2790 #: templates/js/translated/table_filters.js:246 msgid "Location type" msgstr "" -#: stock/models.py:185 +#: stock/models.py:197 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:254 +#: stock/models.py:266 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:626 +#: stock/models.py:647 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:653 stock/serializers.py:290 +#: stock/models.py:674 stock/serializers.py:419 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:670 +#: stock/models.py:691 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:680 stock/models.py:693 +#: stock/models.py:701 stock/models.py:714 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:683 +#: stock/models.py:704 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:707 +#: stock/models.py:728 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:712 +#: stock/models.py:733 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:725 +#: stock/models.py:746 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:741 +#: stock/models.py:762 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:753 +#: stock/models.py:774 msgid "Base part" msgstr "" -#: stock/models.py:763 +#: stock/models.py:784 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:775 +#: stock/models.py:796 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:783 stock/serializers.py:1351 +#: stock/models.py:804 stock/serializers.py:1480 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:794 +#: stock/models.py:815 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:813 +#: stock/models.py:834 msgid "Serial number for this item" msgstr "" -#: stock/models.py:827 stock/serializers.py:1334 +#: stock/models.py:848 stock/serializers.py:1463 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:832 +#: stock/models.py:853 msgid "Stock Quantity" msgstr "" -#: stock/models.py:842 +#: stock/models.py:863 msgid "Source Build" msgstr "" -#: stock/models.py:845 +#: stock/models.py:866 msgid "Build for this stock item" msgstr "" -#: stock/models.py:852 stock/templates/stock/item_base.html:363 +#: stock/models.py:873 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:855 +#: stock/models.py:876 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:864 +#: stock/models.py:885 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:868 +#: stock/models.py:889 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:874 +#: stock/models.py:895 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:885 +#: stock/models.py:906 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:903 +#: stock/models.py:924 msgid "Delete on deplete" msgstr "" -#: stock/models.py:904 +#: stock/models.py:925 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:924 +#: stock/models.py:945 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:955 +#: stock/models.py:976 msgid "Converted to part" msgstr "" -#: stock/models.py:1473 +#: stock/models.py:1494 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1479 +#: stock/models.py:1500 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1487 +#: stock/models.py:1508 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1493 +#: stock/models.py:1514 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1498 +#: stock/models.py:1519 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1506 stock/serializers.py:529 +#: stock/models.py:1527 stock/serializers.py:658 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1603 +#: stock/models.py:1624 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1621 +#: stock/models.py:1642 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1625 +#: stock/models.py:1646 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1628 +#: stock/models.py:1649 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1631 +#: stock/models.py:1652 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1634 +#: stock/models.py:1655 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1637 +#: stock/models.py:1658 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1644 stock/serializers.py:1240 +#: stock/models.py:1665 stock/serializers.py:1369 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1648 +#: stock/models.py:1669 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1656 +#: stock/models.py:1677 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1661 +#: stock/models.py:1682 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1882 +#: stock/models.py:1903 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2345 +#: stock/models.py:2322 msgid "Entry notes" msgstr "" -#: stock/models.py:2410 +#: stock/models.py:2387 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2415 +#: stock/models.py:2392 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2442 +#: stock/models.py:2419 msgid "Test result" msgstr "" -#: stock/models.py:2449 +#: stock/models.py:2426 msgid "Test output value" msgstr "" -#: stock/models.py:2457 +#: stock/models.py:2434 msgid "Test result attachment" msgstr "" -#: stock/models.py:2461 +#: stock/models.py:2438 msgid "Test notes" msgstr "" -#: stock/models.py:2469 templates/js/translated/stock.js:1548 +#: stock/models.py:2446 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "" -#: stock/models.py:2470 +#: stock/models.py:2447 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2476 +#: stock/models.py:2453 msgid "Started" msgstr "" -#: stock/models.py:2477 +#: stock/models.py:2454 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2483 +#: stock/models.py:2460 msgid "Finished" msgstr "" -#: stock/models.py:2484 +#: stock/models.py:2461 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:100 +#: stock/serializers.py:75 +msgid "Generated batch code" +msgstr "" + +#: stock/serializers.py:84 +msgid "Select build order" +msgstr "" + +#: stock/serializers.py:93 +msgid "Select stock item to generate batch code for" +msgstr "" + +#: stock/serializers.py:102 +msgid "Select location to generate batch code for" +msgstr "" + +#: stock/serializers.py:111 +msgid "Select part to generate batch code for" +msgstr "" + +#: stock/serializers.py:120 +msgid "Select purchase order" +msgstr "" + +#: stock/serializers.py:127 +msgid "Enter quantity for batch code" +msgstr "" + +#: stock/serializers.py:150 +msgid "Generated serial number" +msgstr "" + +#: stock/serializers.py:159 +msgid "Select part to generate serial number for" +msgstr "" + +#: stock/serializers.py:167 +msgid "Quantity of serial numbers to generate" +msgstr "" + +#: stock/serializers.py:229 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:119 +#: stock/serializers.py:248 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:151 +#: stock/serializers.py:280 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:184 +#: stock/serializers.py:313 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:282 +#: stock/serializers.py:411 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:402 +#: stock/serializers.py:531 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:464 +#: stock/serializers.py:593 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:477 +#: stock/serializers.py:606 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:484 +#: stock/serializers.py:613 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:495 stock/serializers.py:1197 stock/serializers.py:1453 +#: stock/serializers.py:624 stock/serializers.py:1326 stock/serializers.py:1582 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:502 +#: stock/serializers.py:631 msgid "Optional note field" msgstr "" -#: stock/serializers.py:512 +#: stock/serializers.py:641 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:567 +#: stock/serializers.py:696 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:574 +#: stock/serializers.py:703 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:575 +#: stock/serializers.py:704 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:580 stock/serializers.py:660 stock/serializers.py:756 -#: stock/serializers.py:806 +#: stock/serializers.py:709 stock/serializers.py:789 stock/serializers.py:885 +#: stock/serializers.py:935 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:588 +#: stock/serializers.py:717 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:596 +#: stock/serializers.py:725 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:607 +#: stock/serializers.py:736 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:620 +#: stock/serializers.py:749 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:655 +#: stock/serializers.py:784 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:690 +#: stock/serializers.py:819 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:703 +#: stock/serializers.py:832 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:720 +#: stock/serializers.py:849 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:751 +#: stock/serializers.py:880 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:788 +#: stock/serializers.py:917 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:794 +#: stock/serializers.py:923 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:890 stock/serializers.py:953 +#: stock/serializers.py:1019 stock/serializers.py:1082 #: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:213 +#: stock/templates/stock/location.html:220 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1069 +#: stock/serializers.py:1198 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1073 +#: stock/serializers.py:1202 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1077 +#: stock/serializers.py:1206 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1101 +#: stock/serializers.py:1230 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1107 +#: stock/serializers.py:1236 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1115 +#: stock/serializers.py:1244 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1125 stock/serializers.py:1379 +#: stock/serializers.py:1254 stock/serializers.py:1508 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1204 +#: stock/serializers.py:1333 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1209 +#: stock/serializers.py:1338 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1210 +#: stock/serializers.py:1339 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1215 +#: stock/serializers.py:1344 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1216 +#: stock/serializers.py:1345 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1226 +#: stock/serializers.py:1355 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1293 +#: stock/serializers.py:1422 msgid "No Change" msgstr "" -#: stock/serializers.py:1322 +#: stock/serializers.py:1451 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1341 +#: stock/serializers.py:1470 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1369 +#: stock/serializers.py:1498 msgid "Stock transaction notes" msgstr "" @@ -9352,7 +9427,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:286 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:282 msgid "Delete Test Data" msgstr "" @@ -9368,15 +9443,15 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3274 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3271 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:274 +#: stock/templates/stock/item.html:270 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:304 templates/js/translated/stock.js:1701 +#: stock/templates/stock/item.html:300 templates/js/translated/stock.js:1701 msgid "Add Test Result" msgstr "" @@ -9561,40 +9636,40 @@ msgstr "" msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:507 -#: templates/js/translated/stock.js:1954 +#: stock/templates/stock/item_base.html:504 +#: templates/js/translated/stock.js:1952 msgid "stock item" msgstr "" -#: stock/templates/stock/item_base.html:532 +#: stock/templates/stock/item_base.html:527 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:541 +#: stock/templates/stock/item_base.html:536 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:552 +#: stock/templates/stock/item_base.html:547 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:616 +#: stock/templates/stock/item_base.html:611 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:619 +#: stock/templates/stock/item_base.html:614 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:620 +#: stock/templates/stock/item_base.html:615 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:628 +#: stock/templates/stock/item_base.html:623 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:662 +#: stock/templates/stock/item_base.html:657 msgid "Return to Stock" msgstr "" @@ -9658,28 +9733,32 @@ msgstr "" msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:217 +#: stock/templates/stock/location.html:176 +msgid "Location Type" +msgstr "" + +#: stock/templates/stock/location.html:224 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:218 +#: stock/templates/stock/location.html:225 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:287 -#: templates/js/translated/stock.js:2575 +#: stock/templates/stock/location.html:295 +#: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:315 +#: stock/templates/stock/location.html:317 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:388 +#: stock/templates/stock/location.html:390 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:399 +#: stock/templates/stock/location.html:401 msgid "Link Barcode to Stock Location" msgstr "" @@ -9949,11 +10028,11 @@ msgstr "" msgid "Part Settings" msgstr "" -#: templates/InvenTree/settings/part.html:42 +#: templates/InvenTree/settings/part.html:43 msgid "Part Import" msgstr "" -#: templates/InvenTree/settings/part.html:46 +#: templates/InvenTree/settings/part.html:47 msgid "Import Part" msgstr "" @@ -10174,7 +10253,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:424 +#: templates/js/translated/stock.js:245 users/models.py:411 msgid "Delete" msgstr "" @@ -10283,7 +10362,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2159 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2163 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" @@ -10874,7 +10953,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3218 +#: templates/js/translated/part.js:3217 msgid "Minimum Quantity" msgstr "" @@ -11254,7 +11333,7 @@ msgid "External stock" msgstr "" #: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2595 -#: templates/js/translated/sales_order.js:1910 +#: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" @@ -11264,7 +11343,7 @@ msgstr "" #: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 #: templates/js/translated/part.js:1256 -#: templates/js/translated/sales_order.js:1907 +#: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" @@ -11519,17 +11598,17 @@ msgstr "" #: templates/js/translated/build.js:1576 #: templates/js/translated/purchase_order.js:611 -#: templates/js/translated/sales_order.js:1171 +#: templates/js/translated/sales_order.js:1207 msgid "Select Parts" msgstr "" #: templates/js/translated/build.js:1577 -#: templates/js/translated/sales_order.js:1172 +#: templates/js/translated/sales_order.js:1208 msgid "You must select at least one part to allocate" msgstr "" #: templates/js/translated/build.js:1640 -#: templates/js/translated/sales_order.js:1121 +#: templates/js/translated/sales_order.js:1157 msgid "Specify stock allocation quantity" msgstr "" @@ -11542,7 +11621,7 @@ msgid "All selected parts have been fully allocated" msgstr "" #: templates/js/translated/build.js:1732 -#: templates/js/translated/sales_order.js:1186 +#: templates/js/translated/sales_order.js:1222 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -11551,12 +11630,12 @@ msgid "Allocate Stock Items to Build Order" msgstr "" #: templates/js/translated/build.js:1771 -#: templates/js/translated/sales_order.js:1283 +#: templates/js/translated/sales_order.js:1319 msgid "No matching stock locations" msgstr "" #: templates/js/translated/build.js:1844 -#: templates/js/translated/sales_order.js:1362 +#: templates/js/translated/sales_order.js:1398 msgid "No matching stock items" msgstr "" @@ -11589,9 +11668,9 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 -#: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 -#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 -#: templates/js/translated/stock.js:1985 templates/js/translated/stock.js:2713 +#: templates/js/translated/forms.js:2159 templates/js/translated/forms.js:2175 +#: templates/js/translated/part.js:2315 templates/js/translated/part.js:2741 +#: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "" @@ -11599,21 +11678,17 @@ msgstr "" msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2177 -msgid "Progress" -msgstr "" - -#: templates/js/translated/build.js:2213 templates/js/translated/stock.js:3045 +#: templates/js/translated/build.js:2213 templates/js/translated/stock.js:3042 msgid "No user information" msgstr "" #: templates/js/translated/build.js:2389 -#: templates/js/translated/sales_order.js:1646 +#: templates/js/translated/sales_order.js:1682 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:2390 -#: templates/js/translated/sales_order.js:1647 +#: templates/js/translated/sales_order.js:1683 msgid "Delete stock allocation" msgstr "" @@ -11647,7 +11722,7 @@ msgid "Unit Quantity" msgstr "" #: templates/js/translated/build.js:2591 -#: templates/js/translated/sales_order.js:1915 +#: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" @@ -11664,7 +11739,7 @@ msgid "Allocate tracked items against individual build outputs" msgstr "" #: templates/js/translated/build.js:2662 -#: templates/js/translated/sales_order.js:2016 +#: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "" @@ -11673,7 +11748,7 @@ msgid "Order stock" msgstr "" #: templates/js/translated/build.js:2671 -#: templates/js/translated/sales_order.js:2010 +#: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "" @@ -11923,12 +11998,12 @@ msgid "Delete price break" msgstr "" #: templates/js/translated/filters.js:186 -#: templates/js/translated/filters.js:672 +#: templates/js/translated/filters.js:667 msgid "true" msgstr "" #: templates/js/translated/filters.js:190 -#: templates/js/translated/filters.js:673 +#: templates/js/translated/filters.js:668 msgid "false" msgstr "" @@ -11960,7 +12035,7 @@ msgstr "" msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:582 +#: templates/js/translated/filters.js:577 msgid "Create filter" msgstr "" @@ -11993,32 +12068,32 @@ msgstr "" msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1473 templates/modals.html:19 +#: templates/js/translated/forms.js:1477 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1971 +#: templates/js/translated/forms.js:1975 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2275 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2279 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2489 +#: templates/js/translated/forms.js:2493 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3091 +#: templates/js/translated/forms.js:3095 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3091 +#: templates/js/translated/forms.js:3095 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3103 +#: templates/js/translated/forms.js:3107 msgid "Select Columns" msgstr "" @@ -12042,51 +12117,15 @@ msgstr "" msgid "No parts required for builds" msgstr "" -#: templates/js/translated/label.js:53 templates/js/translated/report.js:123 +#: templates/js/translated/label.js:55 templates/js/translated/report.js:38 msgid "Select Items" msgstr "" -#: templates/js/translated/label.js:54 +#: templates/js/translated/label.js:56 templates/js/translated/report.js:39 msgid "No items selected for printing" msgstr "" -#: templates/js/translated/label.js:72 -msgid "No Labels Found" -msgstr "" - -#: templates/js/translated/label.js:73 -msgid "No label templates found which match the selected items" -msgstr "" - -#: templates/js/translated/label.js:97 -msgid "selected" -msgstr "" - -#: templates/js/translated/label.js:133 -msgid "Printing Options" -msgstr "" - -#: templates/js/translated/label.js:148 -msgid "Print label" -msgstr "" - -#: templates/js/translated/label.js:148 -msgid "Print labels" -msgstr "" - #: templates/js/translated/label.js:149 -msgid "Print" -msgstr "" - -#: templates/js/translated/label.js:155 -msgid "Select label template" -msgstr "" - -#: templates/js/translated/label.js:168 -msgid "Select plugin" -msgstr "" - -#: templates/js/translated/label.js:187 msgid "Labels sent to printer" msgstr "" @@ -12204,7 +12243,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1991 +#: templates/js/translated/purchase_order.js:1990 msgid "No line items found" msgstr "" @@ -12442,19 +12481,19 @@ msgid "Delete Part Parameter Template" msgstr "" #: templates/js/translated/part.js:1716 -#: templates/js/translated/purchase_order.js:1655 +#: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1860 -#: templates/js/translated/purchase_order.js:2154 -#: templates/js/translated/return_order.js:756 -#: templates/js/translated/sales_order.js:1875 +#: templates/js/translated/purchase_order.js:2153 +#: templates/js/translated/return_order.js:755 +#: templates/js/translated/sales_order.js:1911 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1906 -#: templates/js/translated/purchase_order.js:2221 +#: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "" @@ -12466,7 +12505,7 @@ msgstr "" msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2506 +#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2505 msgid "No parts found" msgstr "" @@ -12482,101 +12521,101 @@ msgstr "" msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2286 msgid "part" msgstr "" -#: templates/js/translated/part.js:2288 +#: templates/js/translated/part.js:2287 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2384 +#: templates/js/translated/part.js:2383 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 -#: templates/js/translated/stock.js:2672 +#: templates/js/translated/part.js:2530 templates/js/translated/part.js:2660 +#: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2547 +#: templates/js/translated/part.js:2546 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2645 +#: templates/js/translated/part.js:2644 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2692 +#: templates/js/translated/part.js:2680 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2761 +#: templates/js/translated/part.js:2760 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2777 +#: templates/js/translated/part.js:2776 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2864 +#: templates/js/translated/part.js:2863 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2886 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2885 templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2935 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2941 +#: templates/js/translated/part.js:2940 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2957 +#: templates/js/translated/part.js:2956 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2971 +#: templates/js/translated/part.js:2970 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3050 templates/js/translated/part.js:3051 +#: templates/js/translated/part.js:3049 templates/js/translated/part.js:3050 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3053 +#: templates/js/translated/part.js:3052 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3059 +#: templates/js/translated/part.js:3058 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3109 +#: templates/js/translated/part.js:3108 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3115 +#: templates/js/translated/part.js:3114 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3211 +#: templates/js/translated/part.js:3210 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3227 +#: templates/js/translated/part.js:3226 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3272 +#: templates/js/translated/part.js:3271 msgid "Minimum Stock Level" msgstr "" @@ -12702,7 +12741,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:448 #: templates/js/translated/return_order.js:210 -#: templates/js/translated/sales_order.js:500 +#: templates/js/translated/sales_order.js:552 msgid "Mark this order as complete?" msgstr "" @@ -12715,7 +12754,6 @@ msgid "This order has line items which have not been marked as received." msgstr "" #: templates/js/translated/purchase_order.js:460 -#: templates/js/translated/sales_order.js:514 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" @@ -12773,12 +12811,12 @@ msgid "No matching purchase orders" msgstr "" #: templates/js/translated/purchase_order.js:1073 -#: templates/js/translated/return_order.js:491 +#: templates/js/translated/return_order.js:490 msgid "Select Line Items" msgstr "" #: templates/js/translated/purchase_order.js:1074 -#: templates/js/translated/return_order.js:492 +#: templates/js/translated/return_order.js:491 msgid "At least one line item must be selected" msgstr "" @@ -12827,7 +12865,7 @@ msgid "Quantity to Receive" msgstr "" #: templates/js/translated/purchase_order.js:1333 -#: templates/js/translated/return_order.js:561 +#: templates/js/translated/return_order.js:560 msgid "Confirm receipt of items" msgstr "" @@ -12847,81 +12885,66 @@ msgstr "" msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1682 -#: templates/js/translated/return_order.js:286 -#: templates/js/translated/sales_order.js:774 -#: templates/js/translated/sales_order.js:998 +#: templates/js/translated/purchase_order.js:1681 +#: templates/js/translated/return_order.js:285 +#: templates/js/translated/sales_order.js:810 +#: templates/js/translated/sales_order.js:1034 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1748 -#: templates/js/translated/return_order.js:354 -#: templates/js/translated/sales_order.js:851 -#: templates/js/translated/sales_order.js:1011 -msgid "Items" -msgstr "" - -#: templates/js/translated/purchase_order.js:1844 +#: templates/js/translated/purchase_order.js:1843 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1862 +#: templates/js/translated/purchase_order.js:1861 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1917 -#: templates/js/translated/sales_order.js:2070 +#: templates/js/translated/purchase_order.js:1916 +#: templates/js/translated/sales_order.js:2106 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1932 -#: templates/js/translated/return_order.js:476 -#: templates/js/translated/return_order.js:669 -#: templates/js/translated/sales_order.js:2083 +#: templates/js/translated/purchase_order.js:1931 +#: templates/js/translated/return_order.js:475 +#: templates/js/translated/return_order.js:668 +#: templates/js/translated/sales_order.js:2119 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1943 -#: templates/js/translated/return_order.js:682 -#: templates/js/translated/sales_order.js:2094 +#: templates/js/translated/purchase_order.js:1942 +#: templates/js/translated/return_order.js:681 +#: templates/js/translated/sales_order.js:2130 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2225 -#: templates/js/translated/sales_order.js:2024 +#: templates/js/translated/purchase_order.js:2224 +#: templates/js/translated/sales_order.js:2060 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2226 -#: templates/js/translated/return_order.js:801 -#: templates/js/translated/sales_order.js:2025 +#: templates/js/translated/purchase_order.js:2225 +#: templates/js/translated/return_order.js:800 +#: templates/js/translated/sales_order.js:2061 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2227 -#: templates/js/translated/return_order.js:805 -#: templates/js/translated/sales_order.js:2031 +#: templates/js/translated/purchase_order.js:2226 +#: templates/js/translated/return_order.js:804 +#: templates/js/translated/sales_order.js:2067 msgid "Delete line item" msgstr "" -#: templates/js/translated/report.js:63 -msgid "items selected" +#: templates/js/translated/report.js:49 +msgid "Print Report" msgstr "" -#: templates/js/translated/report.js:71 -msgid "Select Report Template" +#: templates/js/translated/report.js:68 +msgid "Report print successful" msgstr "" -#: templates/js/translated/report.js:86 -msgid "Select Test Report Template" -msgstr "" - -#: templates/js/translated/report.js:140 -msgid "No Reports Found" -msgstr "" - -#: templates/js/translated/report.js:141 -msgid "No report templates found which match the selected items" +#: templates/js/translated/report.js:73 +msgid "Report printing failed" msgstr "" #: templates/js/translated/return_order.js:60 @@ -12953,25 +12976,25 @@ msgstr "" msgid "Complete Return Order" msgstr "" -#: templates/js/translated/return_order.js:266 +#: templates/js/translated/return_order.js:265 msgid "No return orders found" msgstr "" -#: templates/js/translated/return_order.js:300 -#: templates/js/translated/sales_order.js:788 +#: templates/js/translated/return_order.js:299 +#: templates/js/translated/sales_order.js:824 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/return_order.js:562 +#: templates/js/translated/return_order.js:561 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:693 -#: templates/js/translated/sales_order.js:2231 +#: templates/js/translated/return_order.js:692 +#: templates/js/translated/sales_order.js:2267 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:798 +#: templates/js/translated/return_order.js:797 msgid "Mark item as received" msgstr "" @@ -13015,140 +13038,156 @@ msgstr "" msgid "Skip" msgstr "" +#: templates/js/translated/sales_order.js:484 +msgid "Ship Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:500 +msgid "Ship this order?" +msgstr "" + +#: templates/js/translated/sales_order.js:506 +msgid "Order cannot be shipped as there are incomplete shipments" +msgstr "" + #: templates/js/translated/sales_order.js:513 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/sales_order.js:535 +#: templates/js/translated/sales_order.js:514 +msgid "Shipping this order means that the order and line items will no longer be editable." +msgstr "" + +#: templates/js/translated/sales_order.js:572 msgid "Issue this Sales Order?" msgstr "" -#: templates/js/translated/sales_order.js:540 +#: templates/js/translated/sales_order.js:577 msgid "Issue Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:559 +#: templates/js/translated/sales_order.js:596 msgid "Cancel Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:564 +#: templates/js/translated/sales_order.js:601 msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: templates/js/translated/sales_order.js:618 +#: templates/js/translated/sales_order.js:655 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/sales_order.js:728 +#: templates/js/translated/sales_order.js:764 msgid "No sales orders found" msgstr "" -#: templates/js/translated/sales_order.js:908 +#: templates/js/translated/sales_order.js:944 msgid "Edit shipment" msgstr "" -#: templates/js/translated/sales_order.js:911 +#: templates/js/translated/sales_order.js:947 msgid "Complete shipment" msgstr "" -#: templates/js/translated/sales_order.js:916 +#: templates/js/translated/sales_order.js:952 msgid "Delete shipment" msgstr "" -#: templates/js/translated/sales_order.js:933 +#: templates/js/translated/sales_order.js:969 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/sales_order.js:948 +#: templates/js/translated/sales_order.js:984 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:981 +#: templates/js/translated/sales_order.js:1017 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/sales_order.js:1006 +#: templates/js/translated/sales_order.js:1042 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/sales_order.js:1030 -#: templates/js/translated/sales_order.js:1529 +#: templates/js/translated/sales_order.js:1066 +#: templates/js/translated/sales_order.js:1565 msgid "Not shipped" msgstr "" -#: templates/js/translated/sales_order.js:1048 +#: templates/js/translated/sales_order.js:1084 msgid "Tracking" msgstr "" -#: templates/js/translated/sales_order.js:1052 +#: templates/js/translated/sales_order.js:1088 msgid "Invoice" msgstr "" -#: templates/js/translated/sales_order.js:1219 +#: templates/js/translated/sales_order.js:1255 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1270 +#: templates/js/translated/sales_order.js:1306 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/sales_order.js:1271 +#: templates/js/translated/sales_order.js:1307 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1477 +#: templates/js/translated/sales_order.js:1513 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1569 +#: templates/js/translated/sales_order.js:1605 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1583 +#: templates/js/translated/sales_order.js:1619 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/sales_order.js:1584 +#: templates/js/translated/sales_order.js:1620 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1623 -#: templates/js/translated/sales_order.js:1710 +#: templates/js/translated/sales_order.js:1659 +#: templates/js/translated/sales_order.js:1746 #: templates/js/translated/stock.js:1776 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/sales_order.js:1631 -#: templates/js/translated/sales_order.js:1719 +#: templates/js/translated/sales_order.js:1667 +#: templates/js/translated/sales_order.js:1755 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:2008 +#: templates/js/translated/sales_order.js:2044 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/sales_order.js:2012 +#: templates/js/translated/sales_order.js:2048 msgid "Purchase stock" msgstr "" -#: templates/js/translated/sales_order.js:2021 -#: templates/js/translated/sales_order.js:2209 +#: templates/js/translated/sales_order.js:2057 +#: templates/js/translated/sales_order.js:2245 msgid "Calculate price" msgstr "" -#: templates/js/translated/sales_order.js:2035 +#: templates/js/translated/sales_order.js:2071 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:2038 +#: templates/js/translated/sales_order.js:2074 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:2109 +#: templates/js/translated/sales_order.js:2145 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/sales_order.js:2217 +#: templates/js/translated/sales_order.js:2253 msgid "Update Unit Price" msgstr "" @@ -13356,7 +13395,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1042 users/models.py:414 +#: templates/js/translated/stock.js:1042 users/models.py:401 msgid "Add" msgstr "" @@ -13372,7 +13411,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1180 templates/js/translated/stock.js:3302 +#: templates/js/translated/stock.js:1180 templates/js/translated/stock.js:3299 msgid "Select Stock Items" msgstr "" @@ -13456,196 +13495,196 @@ msgstr "" msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:1955 +#: templates/js/translated/stock.js:1953 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1960 +#: templates/js/translated/stock.js:1958 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:1971 +#: templates/js/translated/stock.js:1969 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:2015 +#: templates/js/translated/stock.js:2013 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2093 +#: templates/js/translated/stock.js:2091 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2098 +#: templates/js/translated/stock.js:2096 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2101 +#: templates/js/translated/stock.js:2099 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2104 +#: templates/js/translated/stock.js:2102 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2106 +#: templates/js/translated/stock.js:2104 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2108 +#: templates/js/translated/stock.js:2106 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2111 +#: templates/js/translated/stock.js:2109 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2113 +#: templates/js/translated/stock.js:2111 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2117 +#: templates/js/translated/stock.js:2115 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2119 +#: templates/js/translated/stock.js:2117 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2124 +#: templates/js/translated/stock.js:2122 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2126 +#: templates/js/translated/stock.js:2124 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2128 +#: templates/js/translated/stock.js:2126 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2132 +#: templates/js/translated/stock.js:2130 #: templates/js/translated/table_filters.js:350 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2297 +#: templates/js/translated/stock.js:2295 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2344 +#: templates/js/translated/stock.js:2342 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2472 +#: templates/js/translated/stock.js:2470 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2576 +#: templates/js/translated/stock.js:2573 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2731 +#: templates/js/translated/stock.js:2728 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2849 +#: templates/js/translated/stock.js:2846 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2853 +#: templates/js/translated/stock.js:2850 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2865 +#: templates/js/translated/stock.js:2862 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2887 +#: templates/js/translated/stock.js:2884 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2904 +#: templates/js/translated/stock.js:2901 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2919 +#: templates/js/translated/stock.js:2916 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2936 +#: templates/js/translated/stock.js:2933 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:2950 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2972 +#: templates/js/translated/stock.js:2969 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2990 +#: templates/js/translated/stock.js:2987 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:3008 +#: templates/js/translated/stock.js:3005 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:3016 +#: templates/js/translated/stock.js:3013 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3088 +#: templates/js/translated/stock.js:3085 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3142 templates/js/translated/stock.js:3178 +#: templates/js/translated/stock.js:3139 templates/js/translated/stock.js:3175 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3200 +#: templates/js/translated/stock.js:3197 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3221 +#: templates/js/translated/stock.js:3218 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3222 +#: templates/js/translated/stock.js:3219 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3224 +#: templates/js/translated/stock.js:3221 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3225 +#: templates/js/translated/stock.js:3222 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3226 +#: templates/js/translated/stock.js:3223 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3227 +#: templates/js/translated/stock.js:3224 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3240 +#: templates/js/translated/stock.js:3237 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3303 +#: templates/js/translated/stock.js:3300 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3316 +#: templates/js/translated/stock.js:3313 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3320 +#: templates/js/translated/stock.js:3317 msgid "Change Stock Status" msgstr "" @@ -14247,34 +14286,35 @@ msgstr "" msgid "Revoked" msgstr "" -#: users/models.py:397 +#: users/models.py:384 msgid "Permission set" msgstr "" -#: users/models.py:406 +#: users/models.py:393 msgid "Group" msgstr "" -#: users/models.py:410 +#: users/models.py:397 msgid "View" msgstr "" -#: users/models.py:410 +#: users/models.py:397 msgid "Permission to view items" msgstr "" -#: users/models.py:414 +#: users/models.py:401 msgid "Permission to add items" msgstr "" -#: users/models.py:418 +#: users/models.py:405 msgid "Change" msgstr "" -#: users/models.py:420 +#: users/models.py:407 msgid "Permissions to edit items" msgstr "" -#: users/models.py:426 +#: users/models.py:413 msgid "Permission to delete items" msgstr "" + diff --git a/src/backend/InvenTree/locale/cs/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/cs/LC_MESSAGES/django.po index e3ef9a9665..73cd6a18d8 100644 --- a/src/backend/InvenTree/locale/cs/LC_MESSAGES/django.po +++ b/src/backend/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: 2024-05-10 05:37+0000\n" -"PO-Revision-Date: 2024-05-10 08:30\n" +"POT-Creation-Date: 2024-05-23 11:25+0000\n" +"PO-Revision-Date: 2024-05-23 11:38\n" "Last-Translator: \n" "Language-Team: Czech\n" "Language: cs_CZ\n" @@ -17,11 +17,11 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 216\n" -#: InvenTree/api.py:271 +#: InvenTree/api.py:272 msgid "API endpoint not found" msgstr "API endpoint nebyl nalezen" -#: InvenTree/api.py:535 +#: InvenTree/api.py:536 msgid "User does not have permission to view this model" msgstr "Uživatel nemá právo zobrazit tento model" @@ -56,26 +56,26 @@ msgstr "Podrobnosti o chybě lze nalézt v panelu administrace" msgid "Enter date" msgstr "Zadejte datum" -#: InvenTree/fields.py:208 InvenTree/models.py:1021 build/serializers.py:444 -#: build/serializers.py:522 build/templates/build/sidebar.html:21 +#: InvenTree/fields.py:208 InvenTree/models.py:1035 build/serializers.py:443 +#: build/serializers.py:521 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 -#: order/models.py:1283 order/templates/order/po_sidebar.html:11 +#: order/models.py:1323 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:59 -#: part/models.py:3175 part/templates/part/part_sidebar.html:63 -#: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:226 stock/models.py:2344 stock/models.py:2461 -#: stock/serializers.py:501 stock/serializers.py:659 stock/serializers.py:755 -#: stock/serializers.py:805 stock/serializers.py:1114 stock/serializers.py:1203 -#: stock/serializers.py:1368 stock/templates/stock/stock_sidebar.html:25 +#: part/models.py:3218 part/templates/part/part_sidebar.html:63 +#: report/templates/report/inventree_build_order_report.html:172 +#: stock/admin.py:226 stock/models.py:2321 stock/models.py:2438 +#: stock/serializers.py:630 stock/serializers.py:788 stock/serializers.py:884 +#: stock/serializers.py:934 stock/serializers.py:1243 stock/serializers.py:1332 +#: stock/serializers.py:1497 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1080 -#: templates/js/translated/purchase_order.js:2201 -#: templates/js/translated/return_order.js:776 -#: templates/js/translated/sales_order.js:1067 -#: templates/js/translated/sales_order.js:1982 -#: templates/js/translated/stock.js:1536 templates/js/translated/stock.js:2430 +#: templates/js/translated/purchase_order.js:2200 +#: templates/js/translated/return_order.js:775 +#: templates/js/translated/sales_order.js:1103 +#: templates/js/translated/sales_order.js:2018 +#: templates/js/translated/stock.js:1536 templates/js/translated/stock.js:2428 msgid "Notes" msgstr "Poznámky" @@ -132,7 +132,7 @@ msgstr "Zadaná e-mailová doména není povolena." msgid "Registration is disabled." msgstr "Registrace vypnuta." -#: InvenTree/helpers.py:525 order/models.py:541 order/models.py:743 +#: InvenTree/helpers.py:525 order/models.py:563 order/models.py:765 msgid "Invalid quantity provided" msgstr "Vyplněno neplatné množství" @@ -355,142 +355,142 @@ msgstr "E-mail" msgid "Error running plugin validation" msgstr "Chyba při ověření pluginu" -#: InvenTree/models.py:162 +#: InvenTree/models.py:176 msgid "Metadata must be a python dict object" msgstr "Metadata musí být objekt python dict" -#: InvenTree/models.py:168 +#: InvenTree/models.py:182 msgid "Plugin Metadata" msgstr "Metadata pluginu" -#: InvenTree/models.py:169 +#: InvenTree/models.py:183 msgid "JSON metadata field, for use by external plugins" msgstr "Pole metadat JSON pro použití externími pluginy" -#: InvenTree/models.py:399 +#: InvenTree/models.py:413 msgid "Improperly formatted pattern" msgstr "Nesprávně naformátovaný vzor" -#: InvenTree/models.py:406 +#: InvenTree/models.py:420 msgid "Unknown format key specified" msgstr "Neznámý formát klíče" -#: InvenTree/models.py:412 +#: InvenTree/models.py:426 msgid "Missing required format key" msgstr "Chybí požadovaný klíč" -#: InvenTree/models.py:423 +#: InvenTree/models.py:437 msgid "Reference field cannot be empty" msgstr "Referenční pole nemůže být prázdné" -#: InvenTree/models.py:431 +#: InvenTree/models.py:445 msgid "Reference must match required pattern" msgstr "Referenční číslo musí odpovídat požadovanému vzoru" -#: InvenTree/models.py:462 +#: InvenTree/models.py:476 msgid "Reference number is too large" msgstr "Referenční číslo je příliš velké" -#: InvenTree/models.py:536 +#: InvenTree/models.py:550 msgid "Missing file" msgstr "Chybějící soubor" -#: InvenTree/models.py:537 +#: InvenTree/models.py:551 msgid "Missing external link" msgstr "Chybějící externí odkaz" -#: InvenTree/models.py:558 stock/models.py:2456 +#: InvenTree/models.py:572 stock/models.py:2433 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" msgstr "Příloha" -#: InvenTree/models.py:559 +#: InvenTree/models.py:573 msgid "Select file to attach" msgstr "Vyberte soubor k přiložení" -#: InvenTree/models.py:567 common/models.py:3026 company/models.py:146 +#: InvenTree/models.py:581 common/models.py:3032 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 -#: order/models.py:291 order/models.py:1288 order/models.py:1704 -#: part/admin.py:55 part/models.py:919 +#: order/models.py:304 order/models.py:1328 order/models.py:1744 +#: part/admin.py:55 part/models.py:962 #: part/templates/part/part_scheduling.html:11 -#: report/templates/report/inventree_build_order_base.html:164 +#: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2456 -#: templates/js/translated/purchase_order.js:2041 -#: templates/js/translated/purchase_order.js:2205 -#: templates/js/translated/return_order.js:780 -#: templates/js/translated/sales_order.js:1056 -#: templates/js/translated/sales_order.js:1987 +#: templates/js/translated/part.js:2455 +#: templates/js/translated/purchase_order.js:2040 +#: templates/js/translated/purchase_order.js:2204 +#: templates/js/translated/return_order.js:779 +#: templates/js/translated/sales_order.js:1092 +#: templates/js/translated/sales_order.js:2023 msgid "Link" msgstr "Odkaz" -#: InvenTree/models.py:568 build/models.py:321 part/models.py:920 -#: stock/models.py:819 +#: InvenTree/models.py:582 build/models.py:344 part/models.py:963 +#: stock/models.py:840 msgid "Link to external URL" msgstr "Odkaz na externí URL" -#: InvenTree/models.py:574 templates/js/translated/attachment.js:120 +#: InvenTree/models.py:588 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:341 msgid "Comment" msgstr "Komentář" -#: InvenTree/models.py:575 +#: InvenTree/models.py:589 msgid "File comment" msgstr "Komentář k souboru" -#: InvenTree/models.py:583 InvenTree/models.py:584 common/models.py:2502 -#: common/models.py:2503 common/models.py:2727 common/models.py:2728 -#: common/models.py:2973 common/models.py:2974 part/models.py:3185 -#: part/models.py:3272 part/models.py:3365 part/models.py:3393 -#: plugin/models.py:250 plugin/models.py:251 -#: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3039 users/models.py:111 +#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2508 +#: common/models.py:2509 common/models.py:2733 common/models.py:2734 +#: common/models.py:2979 common/models.py:2980 part/models.py:3228 +#: part/models.py:3315 part/models.py:3408 part/models.py:3436 +#: plugin/models.py:259 plugin/models.py:260 +#: report/templates/report/inventree_test_report.html:105 +#: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" msgstr "Uživatel" -#: InvenTree/models.py:588 +#: InvenTree/models.py:602 msgid "upload date" msgstr "datum přidání" -#: InvenTree/models.py:610 +#: InvenTree/models.py:624 msgid "Filename must not be empty" msgstr "Název souboru nesmí být prázdný" -#: InvenTree/models.py:621 +#: InvenTree/models.py:635 msgid "Invalid attachment directory" msgstr "Neplatný adresář přílohy" -#: InvenTree/models.py:651 +#: InvenTree/models.py:665 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "Název souboru obsahuje nepovolený znak '{c}'" -#: InvenTree/models.py:654 +#: InvenTree/models.py:668 msgid "Filename missing extension" msgstr "Chybějící přípona souboru" -#: InvenTree/models.py:663 +#: InvenTree/models.py:677 msgid "Attachment with this filename already exists" msgstr "Příloha s tímto názvem již existuje" -#: InvenTree/models.py:670 +#: InvenTree/models.py:684 msgid "Error renaming file" msgstr "Chyba při přejmenování souboru" -#: InvenTree/models.py:846 +#: InvenTree/models.py:860 msgid "Duplicate names cannot exist under the same parent" msgstr "Duplicitní názvy nemohou existovat pod stejným nadřazeným názvem" -#: InvenTree/models.py:863 +#: InvenTree/models.py:877 msgid "Invalid choice" msgstr "Neplatný výběr" -#: InvenTree/models.py:893 common/models.py:2714 common/models.py:3112 -#: common/serializers.py:403 company/models.py:614 label/models.py:120 -#: machine/models.py:24 part/models.py:855 part/models.py:3616 -#: plugin/models.py:41 report/models.py:176 stock/models.py:76 +#: InvenTree/models.py:907 common/models.py:2720 common/models.py:3118 +#: common/serializers.py:403 company/models.py:614 machine/models.py:24 +#: part/models.py:898 part/models.py:3659 plugin/models.py:50 +#: report/models.py:149 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -503,22 +503,22 @@ msgstr "Neplatný výběr" #: templates/js/translated/company.js:1165 #: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186 #: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2719 +#: templates/js/translated/part.js:2748 templates/js/translated/stock.js:2716 msgid "Name" msgstr "Název" -#: InvenTree/models.py:899 build/models.py:194 +#: InvenTree/models.py:913 build/models.py:217 #: build/templates/build/detail.html:24 common/models.py:136 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 label/models.py:127 -#: order/models.py:277 order/models.py:1316 part/admin.py:303 part/admin.py:414 -#: part/models.py:878 part/models.py:3631 part/templates/part/category.html:82 +#: company/templates/company/supplier_part.html:107 order/models.py:290 +#: order/models.py:1356 part/admin.py:305 part/admin.py:416 part/models.py:921 +#: part/models.py:3674 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 -#: part/templates/part/part_scheduling.html:12 report/models.py:189 -#: report/models.py:655 report/models.py:729 -#: report/templates/report/inventree_build_order_base.html:117 +#: part/templates/part/part_scheduling.html:12 report/models.py:155 +#: report/models.py:510 report/models.py:536 +#: report/templates/report/inventree_build_order_report.html:117 #: stock/admin.py:55 stock/models.py:82 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 @@ -530,71 +530,71 @@ msgstr "Název" #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 -#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2896 +#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2354 +#: templates/js/translated/part.js:2784 templates/js/translated/part.js:2895 #: templates/js/translated/plugin.js:80 -#: templates/js/translated/purchase_order.js:1707 -#: templates/js/translated/purchase_order.js:1850 -#: templates/js/translated/purchase_order.js:2023 -#: templates/js/translated/return_order.js:314 -#: templates/js/translated/sales_order.js:802 -#: templates/js/translated/sales_order.js:1812 -#: templates/js/translated/stock.js:1515 templates/js/translated/stock.js:2060 -#: templates/js/translated/stock.js:2751 templates/js/translated/stock.js:2834 +#: templates/js/translated/purchase_order.js:1706 +#: templates/js/translated/purchase_order.js:1849 +#: templates/js/translated/purchase_order.js:2022 +#: templates/js/translated/return_order.js:313 +#: templates/js/translated/sales_order.js:838 +#: templates/js/translated/sales_order.js:1848 +#: templates/js/translated/stock.js:1515 templates/js/translated/stock.js:2058 +#: templates/js/translated/stock.js:2748 templates/js/translated/stock.js:2831 msgid "Description" msgstr "Popis" -#: InvenTree/models.py:900 stock/models.py:83 +#: InvenTree/models.py:914 stock/models.py:83 msgid "Description (optional)" msgstr "Popis (volitelně)" -#: InvenTree/models.py:909 +#: InvenTree/models.py:923 msgid "parent" msgstr "nadřazený" -#: InvenTree/models.py:915 templates/js/translated/part.js:2794 -#: templates/js/translated/stock.js:2760 +#: InvenTree/models.py:929 templates/js/translated/part.js:2793 +#: templates/js/translated/stock.js:2757 msgid "Path" msgstr "Cesta" -#: InvenTree/models.py:1021 +#: InvenTree/models.py:1035 msgid "Markdown notes (optional)" msgstr "Poznámky (volitelné)" -#: InvenTree/models.py:1050 +#: InvenTree/models.py:1064 msgid "Barcode Data" msgstr "Data čárového kódu" -#: InvenTree/models.py:1051 +#: InvenTree/models.py:1065 msgid "Third party barcode data" msgstr "Data čárového kódu třetí strany" -#: InvenTree/models.py:1057 +#: InvenTree/models.py:1071 msgid "Barcode Hash" msgstr "Hash čárového kódu" -#: InvenTree/models.py:1058 +#: InvenTree/models.py:1072 msgid "Unique hash of barcode data" msgstr "Jedinečný hash dat čárového kódu" -#: InvenTree/models.py:1111 +#: InvenTree/models.py:1125 msgid "Existing barcode found" msgstr "Nalezen existující čárový kód" -#: InvenTree/models.py:1154 +#: InvenTree/models.py:1168 msgid "Server Error" msgstr "Chyba serveru" -#: InvenTree/models.py:1155 +#: InvenTree/models.py:1169 msgid "An error has been logged by the server." msgstr "Server zaznamenal chybu." -#: InvenTree/serializers.py:62 part/models.py:4169 +#: InvenTree/serializers.py:62 part/models.py:4212 msgid "Must be a valid number" msgstr "Musí být platné číslo" #: InvenTree/serializers.py:99 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:2993 +#: company/templates/company/company_base.html:112 part/models.py:3036 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -686,7 +686,7 @@ msgstr "URL souboru vzdáleného obrázku" msgid "Downloading images from remote URL is not enabled" msgstr "Stahování obrázků ze vzdálené URL není povoleno" -#: InvenTree/status.py:66 part/serializers.py:1161 +#: InvenTree/status.py:66 part/serializers.py:1176 msgid "Background worker check failed" msgstr "Kontrola procesů na pozadí se nezdařila" @@ -699,8 +699,8 @@ msgid "InvenTree system health checks failed" msgstr "Kontroly zdraví systému InvenTree selhaly" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:37 -#: InvenTree/status_codes.py:148 InvenTree/status_codes.py:164 -#: InvenTree/status_codes.py:182 generic/states/tests.py:17 +#: InvenTree/status_codes.py:149 InvenTree/status_codes.py:165 +#: InvenTree/status_codes.py:183 generic/states/tests.py:17 #: templates/js/translated/table_filters.js:598 msgid "Pending" msgstr "Nevyřízeno" @@ -709,188 +709,188 @@ msgstr "Nevyřízeno" msgid "Placed" msgstr "Umístěno" -#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:151 -#: InvenTree/status_codes.py:169 generic/states/tests.py:19 -#: order/templates/order/order_base.html:158 -#: order/templates/order/sales_order_base.html:161 +#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:44 +#: InvenTree/status_codes.py:152 InvenTree/status_codes.py:170 +#: generic/states/tests.py:19 order/templates/order/order_base.html:158 +#: order/templates/order/sales_order_base.html:165 report/models.py:444 msgid "Complete" msgstr "Hotovo" -#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:44 -#: InvenTree/status_codes.py:150 InvenTree/status_codes.py:170 +#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:45 +#: InvenTree/status_codes.py:151 InvenTree/status_codes.py:171 msgid "Cancelled" msgstr "Zrušeno" -#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:45 -#: InvenTree/status_codes.py:67 +#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:46 +#: InvenTree/status_codes.py:68 msgid "Lost" msgstr "Ztraceno" -#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:46 -#: InvenTree/status_codes.py:73 +#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:47 +#: InvenTree/status_codes.py:74 msgid "Returned" msgstr "Vráceno" -#: InvenTree/status_codes.py:40 InvenTree/status_codes.py:167 +#: InvenTree/status_codes.py:40 InvenTree/status_codes.py:168 msgid "In Progress" msgstr "Zpracovává se" -#: InvenTree/status_codes.py:43 order/models.py:1566 -#: templates/js/translated/sales_order.js:1523 -#: templates/js/translated/sales_order.js:1644 -#: templates/js/translated/sales_order.js:1957 +#: InvenTree/status_codes.py:43 order/models.py:1606 +#: templates/js/translated/sales_order.js:1559 +#: templates/js/translated/sales_order.js:1680 +#: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "Odesláno" -#: InvenTree/status_codes.py:62 +#: InvenTree/status_codes.py:63 msgid "OK" msgstr "OK" -#: InvenTree/status_codes.py:63 +#: InvenTree/status_codes.py:64 msgid "Attention needed" msgstr "Vyžaduje pozornost" -#: InvenTree/status_codes.py:64 +#: InvenTree/status_codes.py:65 msgid "Damaged" msgstr "Poškozeno" -#: InvenTree/status_codes.py:65 +#: InvenTree/status_codes.py:66 msgid "Destroyed" msgstr "Zničeno" -#: InvenTree/status_codes.py:66 +#: InvenTree/status_codes.py:67 msgid "Rejected" msgstr "Odmítnuto" -#: InvenTree/status_codes.py:70 +#: InvenTree/status_codes.py:71 msgid "Quarantined" msgstr "V karanténě" -#: InvenTree/status_codes.py:91 +#: InvenTree/status_codes.py:92 msgid "Legacy stock tracking entry" msgstr "Původní položka sledování zásob" -#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:544 +#: InvenTree/status_codes.py:94 templates/js/translated/stock.js:544 msgid "Stock item created" msgstr "Položka zásob vytvořena" -#: InvenTree/status_codes.py:96 +#: InvenTree/status_codes.py:97 msgid "Edited stock item" msgstr "Položka zásob upravena" -#: InvenTree/status_codes.py:97 +#: InvenTree/status_codes.py:98 msgid "Assigned serial number" msgstr "Přiřazeno výrobní číslo" -#: InvenTree/status_codes.py:100 +#: InvenTree/status_codes.py:101 msgid "Stock counted" msgstr "Stav zásob sečten" -#: InvenTree/status_codes.py:101 +#: InvenTree/status_codes.py:102 msgid "Stock manually added" msgstr "Zásoba přidána ručně" -#: InvenTree/status_codes.py:102 +#: InvenTree/status_codes.py:103 msgid "Stock manually removed" msgstr "Zásoba odebrána ručně" -#: InvenTree/status_codes.py:105 +#: InvenTree/status_codes.py:106 msgid "Location changed" msgstr "Umístění změněno" -#: InvenTree/status_codes.py:106 +#: InvenTree/status_codes.py:107 msgid "Stock updated" msgstr "Stav zásob byl aktualizován" -#: InvenTree/status_codes.py:109 +#: InvenTree/status_codes.py:110 msgid "Installed into assembly" msgstr "Nainstalováno do sestavy" -#: InvenTree/status_codes.py:110 +#: InvenTree/status_codes.py:111 msgid "Removed from assembly" msgstr "Odstraněno ze sestavy" -#: InvenTree/status_codes.py:112 +#: InvenTree/status_codes.py:113 msgid "Installed component item" msgstr "Instalovaná položka komponenty" -#: InvenTree/status_codes.py:113 +#: InvenTree/status_codes.py:114 msgid "Removed component item" msgstr "Odstraněná komponenta" -#: InvenTree/status_codes.py:116 +#: InvenTree/status_codes.py:117 msgid "Split from parent item" msgstr "Rozdělit od nadřazené položky" -#: InvenTree/status_codes.py:117 +#: InvenTree/status_codes.py:118 msgid "Split child item" msgstr "Rozdělit podřazený předmět" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1858 +#: InvenTree/status_codes.py:121 templates/js/translated/stock.js:1858 msgid "Merged stock items" msgstr "Sloučené položky zásob" -#: InvenTree/status_codes.py:123 +#: InvenTree/status_codes.py:124 msgid "Converted to variant" msgstr "Převedeno na variantu" -#: InvenTree/status_codes.py:126 +#: InvenTree/status_codes.py:127 msgid "Build order output created" msgstr "Výstup objednávky byl vytvořen" -#: InvenTree/status_codes.py:127 +#: InvenTree/status_codes.py:128 msgid "Build order output completed" msgstr "Výstup objednávky sestavení dokončen" -#: InvenTree/status_codes.py:128 +#: InvenTree/status_codes.py:129 msgid "Build order output rejected" msgstr "Výstup objednávky sestavení byl odmítnut" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1764 +#: InvenTree/status_codes.py:130 templates/js/translated/stock.js:1764 msgid "Consumed by build order" msgstr "Spotřebováno podle objednávky" -#: InvenTree/status_codes.py:132 +#: InvenTree/status_codes.py:133 msgid "Shipped against Sales Order" msgstr "Odesláno v souladu se zákaznickou objednávkou" -#: InvenTree/status_codes.py:135 +#: InvenTree/status_codes.py:136 msgid "Received against Purchase Order" msgstr "Přijato proti objednávce" -#: InvenTree/status_codes.py:138 +#: InvenTree/status_codes.py:139 msgid "Returned against Return Order" msgstr "Vráceno proti vratce" -#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:375 +#: InvenTree/status_codes.py:142 templates/js/translated/table_filters.js:375 msgid "Sent to customer" msgstr "Odesláno zákazníkovi" -#: InvenTree/status_codes.py:142 +#: InvenTree/status_codes.py:143 msgid "Returned from customer" msgstr "Vráceno od zákazníka" -#: InvenTree/status_codes.py:149 +#: InvenTree/status_codes.py:150 msgid "Production" msgstr "Výroba" -#: InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:186 msgid "Return" msgstr "Vrátit zpět" -#: InvenTree/status_codes.py:188 +#: InvenTree/status_codes.py:189 msgid "Repair" msgstr "Oprava" -#: InvenTree/status_codes.py:191 +#: InvenTree/status_codes.py:192 msgid "Replace" msgstr "Náhrada" -#: InvenTree/status_codes.py:194 +#: InvenTree/status_codes.py:195 msgid "Refund" msgstr "Vrácení peněz" -#: InvenTree/status_codes.py:197 +#: InvenTree/status_codes.py:198 msgid "Reject" msgstr "Odmítnout" @@ -946,14 +946,14 @@ msgstr "O InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Sestavení musí být zrušeno před odstraněním" -#: build/api.py:299 part/models.py:4047 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4090 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "Spotřební materiál" -#: build/api.py:300 part/models.py:4041 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4084 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -969,7 +969,7 @@ msgstr "Sledováno" #: build/api.py:303 part/admin.py:144 templates/js/translated/build.js:1744 #: templates/js/translated/build.js:2629 -#: templates/js/translated/sales_order.js:1929 +#: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "Přiděleno" @@ -980,7 +980,7 @@ msgstr "Přiděleno" #: templates/email/low_stock_notification.html:17 #: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 #: templates/js/translated/index.js:123 -#: templates/js/translated/model_renderers.js:228 +#: templates/js/translated/model_renderers.js:234 #: templates/js/translated/part.js:692 templates/js/translated/part.js:694 #: templates/js/translated/part.js:699 #: templates/js/translated/table_filters.js:340 @@ -988,16 +988,16 @@ msgstr "Přiděleno" msgid "Available" msgstr "Dostupné" -#: build/models.py:74 build/templates/build/build_base.html:9 +#: build/models.py:82 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 -#: report/templates/report/inventree_build_order_base.html:105 -#: templates/email/build_order_completed.html:16 +#: report/templates/report/inventree_build_order_report.html:105 +#: stock/serializers.py:83 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2895 +#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2892 msgid "Build Order" msgstr "Vytvořit objednávku" -#: build/models.py:75 build/templates/build/build_base.html:13 +#: build/models.py:83 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -1008,71 +1008,71 @@ msgstr "Vytvořit objednávku" msgid "Build Orders" msgstr "Vytvořené objednávky" -#: build/models.py:122 +#: build/models.py:130 msgid "Invalid choice for parent build" msgstr "Neplatná volba nadřazeného sestavení" -#: build/models.py:133 order/models.py:239 +#: build/models.py:141 order/models.py:241 msgid "Responsible user or group must be specified" msgstr "Musí být specifikován odpovědný uživatel nebo skupina" -#: build/models.py:139 +#: build/models.py:147 msgid "Build order part cannot be changed" msgstr "Díly obědnávky sestavení nemohou být změněny" -#: build/models.py:185 +#: build/models.py:208 msgid "Build Order Reference" msgstr "Referenční číslo objednávky" -#: build/models.py:186 order/models.py:442 order/models.py:898 -#: order/models.py:1276 order/models.py:1998 part/admin.py:417 -#: part/models.py:4062 part/templates/part/upload_bom.html:54 +#: build/models.py:209 order/models.py:464 order/models.py:929 +#: order/models.py:1316 order/models.py:2047 part/admin.py:419 +#: part/models.py:4105 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 -#: report/templates/report/inventree_so_report_base.html:28 +#: report/templates/report/inventree_purchase_order_report.html:28 +#: report/templates/report/inventree_return_order_report.html:26 +#: report/templates/report/inventree_sales_order_report.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 #: templates/js/translated/build.js:2512 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 -#: templates/js/translated/purchase_order.js:2066 -#: templates/js/translated/return_order.js:729 -#: templates/js/translated/sales_order.js:1818 +#: templates/js/translated/purchase_order.js:2065 +#: templates/js/translated/return_order.js:728 +#: templates/js/translated/sales_order.js:1854 msgid "Reference" msgstr "Reference" -#: build/models.py:197 +#: build/models.py:220 msgid "Brief description of the build (optional)" msgstr "Stručný popis sestavení (nepovinné)" -#: build/models.py:205 build/templates/build/build_base.html:183 +#: build/models.py:228 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Nadřazená sestava" -#: build/models.py:206 +#: build/models.py:229 msgid "BuildOrder to which this build is allocated" msgstr "Příkaz sestavení pro který je toto sestavení přiděleno" -#: build/models.py:211 build/templates/build/build_base.html:97 +#: build/models.py:234 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 -#: order/models.py:1401 order/models.py:1546 order/models.py:1547 -#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004 -#: part/models.py:3148 part/models.py:3292 part/models.py:3315 -#: part/models.py:3336 part/models.py:3358 part/models.py:3468 -#: part/models.py:3764 part/models.py:3920 part/models.py:4013 -#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713 +#: order/models.py:1441 order/models.py:1586 order/models.py:1587 +#: part/api.py:1501 part/api.py:1795 part/models.py:392 part/models.py:3047 +#: part/models.py:3191 part/models.py:3335 part/models.py:3358 +#: part/models.py:3379 part/models.py:3401 part/models.py:3511 +#: part/models.py:3807 part/models.py:3963 part/models.py:4056 +#: part/models.py:4417 part/serializers.py:1122 part/serializers.py:1728 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 -#: report/templates/report/inventree_build_order_base.html:109 -#: report/templates/report/inventree_po_report_base.html:27 -#: report/templates/report/inventree_return_order_report_base.html:24 -#: report/templates/report/inventree_slr_report.html:102 -#: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:267 stock/serializers.py:689 -#: templates/InvenTree/search.html:82 +#: report/templates/report/inventree_build_order_report.html:109 +#: report/templates/report/inventree_purchase_order_report.html:27 +#: report/templates/report/inventree_return_order_report.html:24 +#: report/templates/report/inventree_sales_order_report.html:27 +#: report/templates/report/inventree_stock_location_report.html:102 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:396 +#: stock/serializers.py:818 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -1086,235 +1086,239 @@ msgstr "Příkaz sestavení pro který je toto sestavení přiděleno" #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 #: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 -#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:2323 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:751 #: templates/js/translated/purchase_order.js:1304 -#: templates/js/translated/purchase_order.js:1849 -#: templates/js/translated/purchase_order.js:2008 -#: templates/js/translated/return_order.js:539 -#: templates/js/translated/return_order.js:710 +#: templates/js/translated/purchase_order.js:1848 +#: templates/js/translated/purchase_order.js:2007 +#: templates/js/translated/return_order.js:538 +#: templates/js/translated/return_order.js:709 #: templates/js/translated/sales_order.js:300 -#: templates/js/translated/sales_order.js:1197 -#: templates/js/translated/sales_order.js:1598 -#: templates/js/translated/sales_order.js:1796 +#: templates/js/translated/sales_order.js:1233 +#: templates/js/translated/sales_order.js:1634 +#: templates/js/translated/sales_order.js:1832 #: templates/js/translated/stock.js:676 templates/js/translated/stock.js:842 -#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1999 -#: templates/js/translated/stock.js:2860 templates/js/translated/stock.js:3093 -#: templates/js/translated/stock.js:3239 +#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1997 +#: templates/js/translated/stock.js:2857 templates/js/translated/stock.js:3090 +#: templates/js/translated/stock.js:3236 msgid "Part" msgstr "Díl" -#: build/models.py:219 +#: build/models.py:242 msgid "Select part to build" msgstr "Vyber téma, které chceš stavět" -#: build/models.py:224 +#: build/models.py:247 msgid "Sales Order Reference" msgstr "Referenční číslo prodejní objednávky" -#: build/models.py:228 +#: build/models.py:251 msgid "SalesOrder to which this build is allocated" msgstr "Prodejní příkaz, kterému je tato verze přidělena" -#: build/models.py:233 build/serializers.py:970 +#: build/models.py:256 build/serializers.py:969 #: templates/js/translated/build.js:1731 -#: templates/js/translated/sales_order.js:1185 +#: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "Umístění lokace" -#: build/models.py:237 +#: build/models.py:260 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Vyberte lokaci, ze které chcete provést inventuru pro sestavu. (nechte prázdné, chcete-li provést inventuru z libovolné lokace)" -#: build/models.py:242 +#: build/models.py:265 msgid "Destination Location" msgstr "Cílová lokace" -#: build/models.py:246 +#: build/models.py:269 msgid "Select location where the completed items will be stored" msgstr "Vyberte lokaci, kde budou dokončené položky uloženy" -#: build/models.py:250 +#: build/models.py:273 msgid "Build Quantity" msgstr "Množství sestav" -#: build/models.py:253 +#: build/models.py:276 msgid "Number of stock items to build" msgstr "Počet skladových položek k sestavení" -#: build/models.py:257 +#: build/models.py:280 msgid "Completed items" msgstr "Dokončené položky" -#: build/models.py:259 +#: build/models.py:282 msgid "Number of stock items which have been completed" msgstr "Počet skladových položek, které byly dokončeny" -#: build/models.py:263 +#: build/models.py:286 msgid "Build Status" msgstr "Stav sestavení" -#: build/models.py:267 +#: build/models.py:290 msgid "Build status code" msgstr "Stavový kód sestavení" -#: build/models.py:276 build/serializers.py:278 order/serializers.py:581 -#: stock/models.py:823 stock/serializers.py:1333 +#: build/models.py:299 build/serializers.py:277 order/serializers.py:581 +#: stock/models.py:844 stock/serializers.py:75 stock/serializers.py:1462 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Kód dávky" -#: build/models.py:280 build/serializers.py:279 +#: build/models.py:303 build/serializers.py:278 msgid "Batch code for this build output" msgstr "Dávkový kód pro tento výstup sestavení" -#: build/models.py:283 order/models.py:304 order/serializers.py:120 -#: part/models.py:1079 part/templates/part/part_base.html:310 -#: templates/js/translated/return_order.js:339 -#: templates/js/translated/sales_order.js:827 +#: build/models.py:306 order/models.py:317 order/serializers.py:120 +#: part/models.py:1122 part/templates/part/part_base.html:310 +#: templates/js/translated/return_order.js:338 +#: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "Datum vytvoření" -#: build/models.py:287 +#: build/models.py:310 msgid "Target completion date" msgstr "Cílové datum dokončení" -#: build/models.py:288 +#: build/models.py:311 msgid "Target date for build completion. Build will be overdue after this date." msgstr "Cílové datum dokončení sestavení. Sestavení bude po tomto datu v prodlení." -#: build/models.py:291 order/models.py:500 order/models.py:2043 +#: build/models.py:314 order/models.py:522 order/models.py:2092 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "Datum dokončení" -#: build/models.py:297 +#: build/models.py:320 msgid "completed by" msgstr "dokončil" -#: build/models.py:305 templates/js/translated/build.js:2207 +#: build/models.py:328 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "Vystavil" -#: build/models.py:306 +#: build/models.py:329 msgid "User who issued this build order" msgstr "Uživatel, který vydal tento příkaz k sestavení" -#: build/models.py:314 build/templates/build/build_base.html:204 +#: build/models.py:337 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:145 -#: order/models.py:322 order/templates/order/order_base.html:217 +#: order/models.py:335 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1096 +#: order/templates/order/sales_order_base.html:232 part/models.py:1139 #: part/templates/part/part_base.html:390 -#: report/templates/report/inventree_build_order_base.html:158 +#: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 #: templates/js/translated/build.js:2219 -#: templates/js/translated/purchase_order.js:1764 -#: templates/js/translated/return_order.js:359 +#: templates/js/translated/purchase_order.js:1763 +#: templates/js/translated/return_order.js:358 #: templates/js/translated/table_filters.js:531 msgid "Responsible" msgstr "Odpovědný" -#: build/models.py:315 +#: build/models.py:338 msgid "User or group responsible for this build order" msgstr "Uživatel nebo skupina odpovědná za tento příkaz k sestavení" -#: build/models.py:320 build/templates/build/detail.html:108 +#: build/models.py:343 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 -#: order/templates/order/sales_order_base.html:180 -#: part/templates/part/part_base.html:383 stock/models.py:819 +#: order/templates/order/sales_order_base.html:184 +#: part/templates/part/part_base.html:383 stock/models.py:840 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "Externí odkaz" -#: build/models.py:325 +#: build/models.py:348 msgid "Build Priority" msgstr "Priorita sestavení" -#: build/models.py:328 +#: build/models.py:351 msgid "Priority of this build order" msgstr "Priorita tohoto příkazu k sestavení" -#: build/models.py:335 common/models.py:129 order/admin.py:18 -#: order/models.py:286 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:358 common/models.py:129 order/admin.py:18 +#: order/models.py:299 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 -#: templates/js/translated/purchase_order.js:1711 -#: templates/js/translated/return_order.js:318 -#: templates/js/translated/sales_order.js:806 +#: templates/js/translated/purchase_order.js:1710 +#: templates/js/translated/return_order.js:317 +#: templates/js/translated/sales_order.js:842 #: templates/js/translated/table_filters.js:48 #: templates/project_code_data.html:6 msgid "Project Code" msgstr "Kód projektu" -#: build/models.py:336 +#: build/models.py:359 msgid "Project code for this build order" msgstr "Kód projektu pro objednávku sestavení" -#: build/models.py:566 build/models.py:631 +#: build/models.py:589 build/models.py:654 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:588 +#: build/models.py:611 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Příkaz k sestavení {build} byl dokončen" -#: build/models.py:594 +#: build/models.py:617 msgid "A build order has been completed" msgstr "Příkaz k sestavení byl dokončen" -#: build/models.py:820 build/models.py:895 +#: build/models.py:843 build/models.py:918 msgid "No build output specified" msgstr "Nebyl specifikováno žádný výstup sestavení" -#: build/models.py:823 +#: build/models.py:846 msgid "Build output is already completed" msgstr "Výstup sestavení je již dokončen" -#: build/models.py:826 +#: build/models.py:849 msgid "Build output does not match Build Order" msgstr "Výstup sestavení neodpovídá příkazu sestavení" -#: build/models.py:899 build/serializers.py:221 build/serializers.py:260 -#: build/serializers.py:837 order/models.py:538 order/serializers.py:433 -#: order/serializers.py:576 part/serializers.py:1471 part/serializers.py:1871 -#: stock/models.py:662 stock/models.py:1482 stock/serializers.py:472 +#: build/models.py:922 build/serializers.py:220 build/serializers.py:259 +#: build/serializers.py:836 order/models.py:560 order/serializers.py:433 +#: order/serializers.py:576 part/serializers.py:1486 part/serializers.py:1886 +#: stock/models.py:683 stock/models.py:1503 stock/serializers.py:601 msgid "Quantity must be greater than zero" msgstr "Množství musí být vyšší než nula" -#: build/models.py:904 build/serializers.py:226 +#: build/models.py:927 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "Množství nemůže být větší než výstupní množství" -#: build/models.py:961 build/serializers.py:539 +#: build/models.py:984 build/serializers.py:538 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "Výstup sestavy {serial} neprošel všemi požadavky" -#: build/models.py:1323 +#: build/models.py:1335 +msgid "Build Order Line Item" +msgstr "" + +#: build/models.py:1360 msgid "Build object" msgstr "Vytvořit objekt" -#: build/models.py:1337 build/models.py:1593 build/serializers.py:208 -#: build/serializers.py:245 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2524 -#: order/models.py:1259 order/models.py:1918 order/serializers.py:1339 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 -#: part/forms.py:48 part/models.py:3162 part/models.py:4035 +#: build/models.py:1374 build/models.py:1630 build/serializers.py:207 +#: build/serializers.py:244 build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2530 +#: order/models.py:1299 order/models.py:1958 order/serializers.py:1339 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 +#: part/forms.py:48 part/models.py:3205 part/models.py:4078 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 -#: report/templates/report/inventree_build_order_base.html:113 -#: report/templates/report/inventree_po_report_base.html:29 -#: report/templates/report/inventree_slr_report.html:104 -#: report/templates/report/inventree_so_report_base.html:29 -#: report/templates/report/inventree_test_report_base.html:90 -#: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:160 stock/serializers.py:463 +#: report/templates/report/inventree_build_order_report.html:113 +#: report/templates/report/inventree_purchase_order_report.html:29 +#: report/templates/report/inventree_sales_order_report.html:29 +#: report/templates/report/inventree_stock_location_report.html:104 +#: report/templates/report/inventree_test_report.html:90 +#: report/templates/report/inventree_test_report.html:170 stock/admin.py:160 +#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:592 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1324,380 +1328,381 @@ msgstr "Vytvořit objekt" #: templates/js/translated/build.js:737 templates/js/translated/build.js:1369 #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 -#: templates/js/translated/model_renderers.js:230 +#: templates/js/translated/model_renderers.js:236 #: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3341 +#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3340 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 #: templates/js/translated/purchase_order.js:754 -#: templates/js/translated/purchase_order.js:1853 -#: templates/js/translated/purchase_order.js:2072 +#: templates/js/translated/purchase_order.js:1852 +#: templates/js/translated/purchase_order.js:2071 #: templates/js/translated/sales_order.js:317 -#: templates/js/translated/sales_order.js:1199 -#: templates/js/translated/sales_order.js:1518 -#: templates/js/translated/sales_order.js:1608 -#: templates/js/translated/sales_order.js:1698 -#: templates/js/translated/sales_order.js:1824 +#: templates/js/translated/sales_order.js:1235 +#: templates/js/translated/sales_order.js:1554 +#: templates/js/translated/sales_order.js:1644 +#: templates/js/translated/sales_order.js:1734 +#: templates/js/translated/sales_order.js:1860 #: templates/js/translated/stock.js:564 templates/js/translated/stock.js:702 -#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:3024 -#: templates/js/translated/stock.js:3107 +#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:3021 +#: templates/js/translated/stock.js:3104 msgid "Quantity" msgstr "Množství" -#: build/models.py:1338 +#: build/models.py:1375 msgid "Required quantity for build order" msgstr "Vyžadované množství pro objednávku" -#: build/models.py:1418 +#: build/models.py:1455 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Položka sestavení musí specifikovat výstup sestavení, protože hlavní díl je označen jako sledovatelný" -#: build/models.py:1427 +#: build/models.py:1464 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Zabrané množství ({q}) nesmí překročit dostupné skladové množství ({a})" -#: build/models.py:1437 order/models.py:1869 +#: build/models.py:1474 order/models.py:1909 msgid "Stock item is over-allocated" msgstr "Skladová položka je nadměrně zabrána" -#: build/models.py:1443 order/models.py:1872 +#: build/models.py:1480 order/models.py:1912 msgid "Allocation quantity must be greater than zero" msgstr "Zabrané množství musí být větší než nula" -#: build/models.py:1449 +#: build/models.py:1486 msgid "Quantity must be 1 for serialized stock" msgstr "Množství musí být 1 pro zřetězený sklad" -#: build/models.py:1508 +#: build/models.py:1545 msgid "Selected stock item does not match BOM line" msgstr "Vybraná položka zásob neodpovídá řádku BOM" -#: build/models.py:1580 build/serializers.py:817 order/serializers.py:1183 -#: order/serializers.py:1204 stock/serializers.py:566 stock/serializers.py:1052 -#: stock/serializers.py:1164 stock/templates/stock/item_base.html:10 +#: build/models.py:1617 build/serializers.py:816 order/serializers.py:1183 +#: order/serializers.py:1204 stock/models.py:364 stock/serializers.py:92 +#: stock/serializers.py:695 stock/serializers.py:1181 stock/serializers.py:1293 +#: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 #: templates/js/translated/build.js:1745 #: templates/js/translated/sales_order.js:301 -#: templates/js/translated/sales_order.js:1198 -#: templates/js/translated/sales_order.js:1499 -#: templates/js/translated/sales_order.js:1504 -#: templates/js/translated/sales_order.js:1605 -#: templates/js/translated/sales_order.js:1692 +#: templates/js/translated/sales_order.js:1234 +#: templates/js/translated/sales_order.js:1535 +#: templates/js/translated/sales_order.js:1540 +#: templates/js/translated/sales_order.js:1641 +#: templates/js/translated/sales_order.js:1728 #: templates/js/translated/stock.js:677 templates/js/translated/stock.js:843 -#: templates/js/translated/stock.js:2980 +#: templates/js/translated/stock.js:2977 msgid "Stock Item" msgstr "Skladové položky" -#: build/models.py:1581 +#: build/models.py:1618 msgid "Source stock item" msgstr "Zdrojová skladová položka" -#: build/models.py:1594 +#: build/models.py:1631 msgid "Stock quantity to allocate to build" msgstr "Skladové množství pro sestavení" -#: build/models.py:1602 +#: build/models.py:1639 msgid "Install into" msgstr "Instalovat do" -#: build/models.py:1603 +#: build/models.py:1640 msgid "Destination stock item" msgstr "Cílová skladová položka" -#: build/serializers.py:158 build/serializers.py:846 +#: build/serializers.py:157 build/serializers.py:845 #: templates/js/translated/build.js:1322 msgid "Build Output" msgstr "Vytvořit výstup" -#: build/serializers.py:170 +#: build/serializers.py:169 msgid "Build output does not match the parent build" msgstr "Vytvořený výstup neodpovídá nadřazenému sestavení" -#: build/serializers.py:174 +#: build/serializers.py:173 msgid "Output part does not match BuildOrder part" msgstr "Výstupní část se neshoduje s částí příkazu sestavení" -#: build/serializers.py:178 +#: build/serializers.py:177 msgid "This build output has already been completed" msgstr "Výstup sestavení je již dokončen" -#: build/serializers.py:189 +#: build/serializers.py:188 msgid "This build output is not fully allocated" msgstr "Tento stavební výstup není plně přiřazen" -#: build/serializers.py:209 build/serializers.py:246 +#: build/serializers.py:208 build/serializers.py:245 msgid "Enter quantity for build output" msgstr "Zadejte množství pro výstup sestavení" -#: build/serializers.py:267 +#: build/serializers.py:266 msgid "Integer quantity required for trackable parts" msgstr "Celé množství požadované pro sledovatelné díly" -#: build/serializers.py:270 +#: build/serializers.py:269 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Je vyžadována celočíselná hodnota množství, protože kusovník obsahuje sledovatelné díly" -#: build/serializers.py:285 order/serializers.py:589 order/serializers.py:1343 -#: stock/serializers.py:483 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:284 order/serializers.py:589 order/serializers.py:1343 +#: stock/serializers.py:612 templates/js/translated/purchase_order.js:1153 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "Sériová čísla" -#: build/serializers.py:286 +#: build/serializers.py:285 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:291 build/serializers.py:432 build/serializers.py:504 +#: build/serializers.py:290 build/serializers.py:431 build/serializers.py:503 #: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1679 -#: part/serializers.py:1127 stock/serializers.py:494 stock/serializers.py:654 -#: stock/serializers.py:750 stock/serializers.py:1196 stock/serializers.py:1452 -#: stock/templates/stock/item_base.html:394 +#: part/serializers.py:1142 stock/serializers.py:101 stock/serializers.py:623 +#: stock/serializers.py:783 stock/serializers.py:879 stock/serializers.py:1325 +#: stock/serializers.py:1581 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 #: templates/js/translated/purchase_order.js:1178 #: templates/js/translated/purchase_order.js:1268 -#: templates/js/translated/sales_order.js:1511 -#: templates/js/translated/sales_order.js:1619 -#: templates/js/translated/sales_order.js:1627 -#: templates/js/translated/sales_order.js:1706 +#: templates/js/translated/sales_order.js:1547 +#: templates/js/translated/sales_order.js:1655 +#: templates/js/translated/sales_order.js:1663 +#: templates/js/translated/sales_order.js:1742 #: templates/js/translated/stock.js:678 templates/js/translated/stock.js:844 -#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2203 -#: templates/js/translated/stock.js:2874 +#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2201 +#: templates/js/translated/stock.js:2871 msgid "Location" msgstr "Lokace" -#: build/serializers.py:292 +#: build/serializers.py:291 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:306 +#: build/serializers.py:305 msgid "Auto Allocate Serial Numbers" msgstr "Automaticky zvolit sériová čísla" -#: build/serializers.py:307 +#: build/serializers.py:306 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:322 +#: build/serializers.py:321 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:347 stock/api.py:995 +#: build/serializers.py:346 stock/api.py:1029 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:394 build/serializers.py:456 build/serializers.py:545 +#: build/serializers.py:393 build/serializers.py:455 build/serializers.py:544 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:433 +#: build/serializers.py:432 msgid "Stock location for scrapped outputs" msgstr "Umístění zásob pro seškrábnuté výstupy" -#: build/serializers.py:439 +#: build/serializers.py:438 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:440 +#: build/serializers.py:439 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:445 +#: build/serializers.py:444 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:505 +#: build/serializers.py:504 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:511 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:922 -#: order/models.py:2022 order/serializers.py:597 stock/admin.py:165 -#: stock/serializers.py:801 stock/serializers.py:1340 +#: build/serializers.py:510 build/templates/build/build_base.html:151 +#: build/templates/build/detail.html:62 order/models.py:953 +#: order/models.py:2071 order/serializers.py:597 stock/admin.py:165 +#: stock/serializers.py:930 stock/serializers.py:1469 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 -#: templates/js/translated/purchase_order.js:1723 -#: templates/js/translated/return_order.js:331 -#: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2178 templates/js/translated/stock.js:2998 -#: templates/js/translated/stock.js:3123 +#: templates/js/translated/purchase_order.js:1722 +#: templates/js/translated/return_order.js:330 +#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/stock.js:2176 templates/js/translated/stock.js:2995 +#: templates/js/translated/stock.js:3120 msgid "Status" msgstr "Stav" -#: build/serializers.py:517 +#: build/serializers.py:516 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:518 +#: build/serializers.py:517 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:598 +#: build/serializers.py:597 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:599 +#: build/serializers.py:598 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:605 +#: build/serializers.py:604 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:606 +#: build/serializers.py:605 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:633 +#: build/serializers.py:632 msgid "Not permitted" msgstr "" -#: build/serializers.py:634 +#: build/serializers.py:633 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:635 +#: build/serializers.py:634 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:657 +#: build/serializers.py:656 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:659 +#: build/serializers.py:658 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:669 +#: build/serializers.py:668 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:674 +#: build/serializers.py:673 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:675 +#: build/serializers.py:674 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:685 templates/js/translated/build.js:315 +#: build/serializers.py:684 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:690 order/serializers.py:301 order/serializers.py:1246 +#: build/serializers.py:689 order/serializers.py:301 order/serializers.py:1246 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:691 +#: build/serializers.py:690 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:701 templates/js/translated/build.js:319 +#: build/serializers.py:700 templates/js/translated/build.js:319 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:710 templates/js/translated/build.js:303 +#: build/serializers.py:709 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:740 +#: build/serializers.py:739 msgid "Build Line" msgstr "" -#: build/serializers.py:750 +#: build/serializers.py:749 msgid "Build output" msgstr "" -#: build/serializers.py:758 +#: build/serializers.py:757 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:794 +#: build/serializers.py:793 msgid "Build Line Item" msgstr "" -#: build/serializers.py:808 +#: build/serializers.py:807 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:823 stock/serializers.py:1065 +#: build/serializers.py:822 stock/serializers.py:1194 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:871 order/serializers.py:1237 +#: build/serializers.py:870 order/serializers.py:1237 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:877 +#: build/serializers.py:876 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:884 +#: build/serializers.py:883 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:908 order/serializers.py:1489 +#: build/serializers.py:907 order/serializers.py:1489 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:971 +#: build/serializers.py:970 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:979 +#: build/serializers.py:978 msgid "Exclude Location" msgstr "Vynechat lokace" -#: build/serializers.py:980 +#: build/serializers.py:979 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:985 +#: build/serializers.py:984 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:986 +#: build/serializers.py:985 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:991 +#: build/serializers.py:990 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:992 +#: build/serializers.py:991 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:997 +#: build/serializers.py:996 msgid "Optional Items" msgstr "Volitelné položky" -#: build/serializers.py:998 +#: build/serializers.py:997 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1020 +#: build/serializers.py:1019 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1110 part/models.py:3930 part/models.py:4366 -#: stock/api.py:758 +#: build/serializers.py:1109 part/models.py:3973 part/models.py:4409 +#: stock/api.py:792 msgid "BOM Item" msgstr "" -#: build/serializers.py:1119 templates/js/translated/index.js:130 +#: build/serializers.py:1118 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1124 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:817 part/serializers.py:1489 +#: build/serializers.py:1123 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:832 part/serializers.py:1504 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 @@ -1705,15 +1710,15 @@ msgstr "" msgid "On Order" msgstr "" -#: build/serializers.py:1129 part/serializers.py:1491 +#: build/serializers.py:1128 part/serializers.py:1506 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1134 part/bom.py:172 part/serializers.py:1514 +#: build/serializers.py:1133 part/bom.py:172 part/serializers.py:1529 #: part/templates/part/part_base.html:192 -#: templates/js/translated/sales_order.js:1893 +#: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "" @@ -1842,18 +1847,18 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:297 -#: order/models.py:1294 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:310 +#: order/models.py:1334 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 -#: order/templates/order/sales_order_base.html:192 -#: report/templates/report/inventree_build_order_base.html:125 +#: order/templates/order/sales_order_base.html:196 +#: report/templates/report/inventree_build_order_report.html:125 #: templates/js/translated/build.js:2239 templates/js/translated/part.js:1830 -#: templates/js/translated/purchase_order.js:1740 -#: templates/js/translated/purchase_order.js:2148 -#: templates/js/translated/return_order.js:347 -#: templates/js/translated/return_order.js:751 -#: templates/js/translated/sales_order.js:835 -#: templates/js/translated/sales_order.js:1867 +#: templates/js/translated/purchase_order.js:1739 +#: templates/js/translated/purchase_order.js:2147 +#: templates/js/translated/return_order.js:346 +#: templates/js/translated/return_order.js:750 +#: templates/js/translated/sales_order.js:871 +#: templates/js/translated/sales_order.js:1903 msgid "Target Date" msgstr "Cílené datum" @@ -1866,7 +1871,7 @@ msgstr "" #: build/templates/build/build_base.html:222 #: order/templates/order/order_base.html:122 #: order/templates/order/return_order_base.html:117 -#: order/templates/order/sales_order_base.html:122 +#: order/templates/order/sales_order_base.html:126 #: templates/js/translated/table_filters.js:98 #: templates/js/translated/table_filters.js:524 #: templates/js/translated/table_filters.js:626 @@ -1880,24 +1885,24 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:1538 -#: order/models.py:1652 order/models.py:1806 +#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:848 +#: order/models.py:1578 order/models.py:1692 order/models.py:1846 #: 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 +#: report/templates/report/inventree_build_order_report.html:135 +#: report/templates/report/inventree_sales_order_report.html:14 #: stock/templates/stock/item_base.html:369 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:929 -#: templates/js/translated/sales_order.js:769 -#: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2927 +#: templates/js/translated/sales_order.js:805 +#: templates/js/translated/sales_order.js:1028 +#: templates/js/translated/stock.js:2924 msgid "Sales Order" msgstr "" #: build/templates/build/build_base.html:197 #: build/templates/build/detail.html:115 -#: report/templates/report/inventree_build_order_base.html:152 +#: report/templates/report/inventree_build_order_report.html:152 #: templates/js/translated/table_filters.js:24 msgid "Issued By" msgstr "" @@ -1907,15 +1912,15 @@ msgstr "" msgid "Priority" msgstr "Priorita" -#: build/templates/build/build_base.html:273 +#: build/templates/build/build_base.html:269 msgid "Delete Build Order" msgstr "" -#: build/templates/build/build_base.html:283 +#: build/templates/build/build_base.html:279 msgid "Build Order QR Code" msgstr "" -#: build/templates/build/build_base.html:295 +#: build/templates/build/build_base.html:291 msgid "Link Barcode to Build Order" msgstr "" @@ -1931,8 +1936,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1430 -#: templates/js/translated/purchase_order.js:2190 +#: build/templates/build/detail.html:49 order/models.py:1470 +#: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "" @@ -1947,10 +1952,10 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 #: templates/js/translated/build.js:1380 -#: templates/js/translated/model_renderers.js:235 +#: templates/js/translated/model_renderers.js:241 #: templates/js/translated/purchase_order.js:1274 -#: templates/js/translated/stock.js:1133 templates/js/translated/stock.js:2192 -#: templates/js/translated/stock.js:3130 +#: templates/js/translated/stock.js:1133 templates/js/translated/stock.js:2190 +#: templates/js/translated/stock.js:3127 #: templates/js/translated/table_filters.js:313 #: templates/js/translated/table_filters.js:404 msgid "Batch" @@ -1959,7 +1964,7 @@ msgstr "" #: build/templates/build/detail.html:133 #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:151 -#: order/templates/order/sales_order_base.html:186 +#: order/templates/order/sales_order_base.html:190 #: templates/js/translated/build.js:2199 msgid "Created" msgstr "Vytvořeno" @@ -1969,7 +1974,7 @@ msgid "No target date set" msgstr "Nenastaveno cílené datum" #: build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:202 +#: order/templates/order/sales_order_base.html:206 #: templates/js/translated/table_filters.js:689 msgid "Completed" msgstr "Dokončeno" @@ -2260,8 +2265,8 @@ msgstr "" #: common/models.py:1316 common/models.py:1372 common/models.py:1385 #: common/models.py:1393 common/models.py:1402 common/models.py:1411 -#: common/models.py:1613 common/models.py:1635 common/models.py:1750 -#: common/models.py:2061 +#: common/models.py:1619 common/models.py:1641 common/models.py:1756 +#: common/models.py:2067 msgid "days" msgstr "" @@ -2402,1209 +2407,1218 @@ msgid "Enable revision field for Part" msgstr "" #: common/models.py:1440 -msgid "IPN Regex" +msgid "Allow Deletion from Assembly" msgstr "" #: common/models.py:1441 +msgid "Allow deletion of parts which are used in an assembly" +msgstr "" + +#: common/models.py:1446 +msgid "IPN Regex" +msgstr "" + +#: common/models.py:1447 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1444 +#: common/models.py:1450 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1445 +#: common/models.py:1451 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1450 +#: common/models.py:1456 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1451 +#: common/models.py:1457 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1456 +#: common/models.py:1462 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1457 +#: common/models.py:1463 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1462 +#: common/models.py:1468 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1463 +#: common/models.py:1469 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1468 +#: common/models.py:1474 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1469 +#: common/models.py:1475 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1474 +#: common/models.py:1480 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1475 +#: common/models.py:1481 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1480 part/admin.py:108 part/models.py:3772 -#: report/models.py:182 stock/serializers.py:99 +#: common/models.py:1486 part/admin.py:108 part/models.py:3815 +#: report/models.py:294 report/models.py:361 report/serializers.py:90 +#: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:767 msgid "Template" msgstr "" -#: common/models.py:1481 +#: common/models.py:1487 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1486 part/admin.py:91 part/admin.py:431 part/models.py:1016 +#: common/models.py:1492 part/admin.py:91 part/admin.py:433 part/models.py:1059 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "" -#: common/models.py:1487 +#: common/models.py:1493 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1492 part/admin.py:95 part/models.py:1022 +#: common/models.py:1498 part/admin.py:95 part/models.py:1065 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "" -#: common/models.py:1493 +#: common/models.py:1499 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1498 part/admin.py:100 part/models.py:1034 +#: common/models.py:1504 part/admin.py:100 part/models.py:1077 msgid "Purchaseable" msgstr "Možné zakoupit" -#: common/models.py:1499 +#: common/models.py:1505 msgid "Parts are purchaseable by default" msgstr "Díly jsou zakoupitelné ve výchozím nastavení" -#: common/models.py:1504 part/admin.py:104 part/models.py:1040 +#: common/models.py:1510 part/admin.py:104 part/models.py:1083 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "Prodejné" -#: common/models.py:1505 +#: common/models.py:1511 msgid "Parts are salable by default" msgstr "Díly jsou prodejné ve výchozím nastavení" -#: common/models.py:1510 part/admin.py:113 part/models.py:1028 +#: common/models.py:1516 part/admin.py:113 part/models.py:1071 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "Sledovatelné" -#: common/models.py:1511 +#: common/models.py:1517 msgid "Parts are trackable by default" msgstr "Díly jsou sledovatelné ve výchozím nastavení" -#: common/models.py:1516 part/admin.py:117 part/models.py:1050 +#: common/models.py:1522 part/admin.py:117 part/models.py:1093 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "Nehmotné (virtuální)" -#: common/models.py:1517 +#: common/models.py:1523 msgid "Parts are virtual by default" msgstr "Díly jsou nehmotné (virtuální) ve výchozím nastavení" -#: common/models.py:1522 +#: common/models.py:1528 msgid "Show Import in Views" msgstr "Zobrazit Import v zobrazeních" -#: common/models.py:1523 +#: common/models.py:1529 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1528 +#: common/models.py:1534 msgid "Show related parts" msgstr "Zobrazit související díly" -#: common/models.py:1529 +#: common/models.py:1535 msgid "Display related parts for a part" msgstr "Zobrazit související díly pro díl" -#: common/models.py:1534 +#: common/models.py:1540 msgid "Initial Stock Data" msgstr "Počáteční údaje zásob" -#: common/models.py:1535 +#: common/models.py:1541 msgid "Allow creation of initial stock when adding a new part" msgstr "Povolit vytvoření počátečního skladu při přidání nové části" -#: common/models.py:1540 templates/js/translated/part.js:107 +#: common/models.py:1546 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "Počáteční údaje dodavatele" -#: common/models.py:1542 +#: common/models.py:1548 msgid "Allow creation of initial supplier data when adding a new part" msgstr "Povolit vytvoření počátečních dat dodavatele při přidávání nového dílu" -#: common/models.py:1548 +#: common/models.py:1554 msgid "Part Name Display Format" msgstr "Formát zobrazení jména dílu" -#: common/models.py:1549 +#: common/models.py:1555 msgid "Format to display the part name" msgstr "Formát pro zobrazení názvu dílu" -#: common/models.py:1555 +#: common/models.py:1561 msgid "Part Category Default Icon" msgstr "Výchozí ikona kategorie dílu" -#: common/models.py:1556 +#: common/models.py:1562 msgid "Part category default icon (empty means no icon)" msgstr "Výchozí ikona kategorie dílu (prázdné znamená bez ikony)" -#: common/models.py:1560 +#: common/models.py:1566 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1562 +#: common/models.py:1568 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1568 +#: common/models.py:1574 msgid "Minimum Pricing Decimal Places" msgstr "Minimální počet desetinných míst u cen" -#: common/models.py:1570 +#: common/models.py:1576 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "Minimální počet desetinných míst k zobrazení u cenových údajů" -#: common/models.py:1576 +#: common/models.py:1582 msgid "Maximum Pricing Decimal Places" msgstr "Maximální počet desetinných míst u cen" -#: common/models.py:1578 +#: common/models.py:1584 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "Maximální počet desetinných míst k zobrazení u cenových údajů" -#: common/models.py:1584 +#: common/models.py:1590 msgid "Use Supplier Pricing" msgstr "Použít ceny dodavatele" -#: common/models.py:1586 +#: common/models.py:1592 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1592 +#: common/models.py:1598 msgid "Purchase History Override" msgstr "Přepsání historie nákupu" -#: common/models.py:1594 +#: common/models.py:1600 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1600 +#: common/models.py:1606 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1602 +#: common/models.py:1608 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1608 +#: common/models.py:1614 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1610 +#: common/models.py:1616 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1617 +#: common/models.py:1623 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1618 +#: common/models.py:1624 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1623 +#: common/models.py:1629 msgid "Active Variants Only" msgstr "" -#: common/models.py:1625 +#: common/models.py:1631 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1631 +#: common/models.py:1637 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1633 +#: common/models.py:1639 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1640 +#: common/models.py:1646 msgid "Internal Prices" msgstr "" -#: common/models.py:1641 +#: common/models.py:1647 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1646 +#: common/models.py:1652 msgid "Internal Price Override" msgstr "" -#: common/models.py:1648 +#: common/models.py:1654 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1654 +#: common/models.py:1660 msgid "Enable label printing" msgstr "" -#: common/models.py:1655 +#: common/models.py:1661 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1660 +#: common/models.py:1666 msgid "Label Image DPI" msgstr "" -#: common/models.py:1662 +#: common/models.py:1668 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1668 +#: common/models.py:1674 msgid "Enable Reports" msgstr "" -#: common/models.py:1669 +#: common/models.py:1675 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1674 templates/stats.html:25 +#: common/models.py:1680 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1675 +#: common/models.py:1681 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1680 +#: common/models.py:1686 msgid "Log Report Errors" msgstr "" -#: common/models.py:1681 +#: common/models.py:1687 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1686 plugin/builtin/labels/label_sheet.py:28 -#: report/models.py:203 +#: common/models.py:1692 plugin/builtin/labels/label_sheet.py:28 +#: report/models.py:302 msgid "Page Size" msgstr "Velikost stránky" -#: common/models.py:1687 +#: common/models.py:1693 msgid "Default page size for PDF reports" msgstr "Výchozí velikost stránky pro PDF reporty" -#: common/models.py:1692 +#: common/models.py:1698 msgid "Enable Test Reports" msgstr "Povolit testovací reporty" -#: common/models.py:1693 +#: common/models.py:1699 msgid "Enable generation of test reports" msgstr "Povolit generování zkušebních reportů" -#: common/models.py:1698 +#: common/models.py:1704 msgid "Attach Test Reports" msgstr "Připojit testovací reporty" -#: common/models.py:1700 +#: common/models.py:1706 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "Při tisku testovacího reportu, připojte kopii reportu k přidružené skladové položce" -#: common/models.py:1706 +#: common/models.py:1712 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1707 +#: common/models.py:1713 msgid "Serial numbers for stock items must be globally unique" msgstr "Sériová čísla pro skladové položky musí být globálně unikátní" -#: common/models.py:1712 +#: common/models.py:1718 msgid "Autofill Serial Numbers" msgstr "Automaticky vyplnit sériová čísla" -#: common/models.py:1713 +#: common/models.py:1719 msgid "Autofill serial numbers in forms" msgstr "Automaticky vyplnit sériová čísla ve formulářích" -#: common/models.py:1718 +#: common/models.py:1724 msgid "Delete Depleted Stock" msgstr "Odstranit vyčerpané zásoby" -#: common/models.py:1720 +#: common/models.py:1726 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1726 +#: common/models.py:1732 msgid "Batch Code Template" msgstr "" -#: common/models.py:1728 +#: common/models.py:1734 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1733 +#: common/models.py:1739 msgid "Stock Expiry" msgstr "" -#: common/models.py:1734 +#: common/models.py:1740 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1739 +#: common/models.py:1745 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1740 +#: common/models.py:1746 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1745 +#: common/models.py:1751 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1747 +#: common/models.py:1753 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1754 +#: common/models.py:1760 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1755 +#: common/models.py:1761 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1760 +#: common/models.py:1766 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1761 +#: common/models.py:1767 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1766 +#: common/models.py:1772 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1767 +#: common/models.py:1773 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1771 +#: common/models.py:1777 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1772 +#: common/models.py:1778 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1777 +#: common/models.py:1783 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1779 +#: common/models.py:1785 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1785 +#: common/models.py:1791 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1787 +#: common/models.py:1793 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1793 +#: common/models.py:1799 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1795 +#: common/models.py:1801 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1801 common/models.py:1829 common/models.py:1851 -#: common/models.py:1879 +#: common/models.py:1807 common/models.py:1835 common/models.py:1857 +#: common/models.py:1885 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1802 common/models.py:1830 common/models.py:1852 -#: common/models.py:1880 +#: common/models.py:1808 common/models.py:1836 common/models.py:1858 +#: common/models.py:1886 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1807 +#: common/models.py:1813 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1809 +#: common/models.py:1815 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1815 +#: common/models.py:1821 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1816 +#: common/models.py:1822 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1821 +#: common/models.py:1827 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1823 +#: common/models.py:1829 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1835 +#: common/models.py:1841 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1837 +#: common/models.py:1843 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1843 +#: common/models.py:1849 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1845 +#: common/models.py:1851 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1857 +#: common/models.py:1863 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1858 +#: common/models.py:1864 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1863 +#: common/models.py:1869 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1865 +#: common/models.py:1871 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1871 +#: common/models.py:1877 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1873 +#: common/models.py:1879 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1885 +#: common/models.py:1891 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1887 +#: common/models.py:1893 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1893 +#: common/models.py:1899 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1895 +#: common/models.py:1901 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1902 +#: common/models.py:1908 msgid "Enable password forgot" msgstr "" -#: common/models.py:1903 +#: common/models.py:1909 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1908 +#: common/models.py:1914 msgid "Enable registration" msgstr "" -#: common/models.py:1909 +#: common/models.py:1915 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1914 +#: common/models.py:1920 msgid "Enable SSO" msgstr "" -#: common/models.py:1915 +#: common/models.py:1921 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1920 +#: common/models.py:1926 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1922 +#: common/models.py:1928 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1928 +#: common/models.py:1934 msgid "Email required" msgstr "" -#: common/models.py:1929 +#: common/models.py:1935 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1934 +#: common/models.py:1940 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1936 +#: common/models.py:1942 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1942 +#: common/models.py:1948 msgid "Mail twice" msgstr "" -#: common/models.py:1943 +#: common/models.py:1949 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1948 +#: common/models.py:1954 msgid "Password twice" msgstr "" -#: common/models.py:1949 +#: common/models.py:1955 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1954 +#: common/models.py:1960 msgid "Allowed domains" msgstr "" -#: common/models.py:1956 +#: common/models.py:1962 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1962 +#: common/models.py:1968 msgid "Group on signup" msgstr "" -#: common/models.py:1963 +#: common/models.py:1969 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1968 +#: common/models.py:1974 msgid "Enforce MFA" msgstr "" -#: common/models.py:1969 +#: common/models.py:1975 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1974 +#: common/models.py:1980 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1976 +#: common/models.py:1982 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1984 +#: common/models.py:1990 msgid "Check for plugin updates" msgstr "" -#: common/models.py:1985 +#: common/models.py:1991 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:1991 +#: common/models.py:1997 msgid "Enable URL integration" msgstr "" -#: common/models.py:1992 +#: common/models.py:1998 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1998 +#: common/models.py:2004 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1999 +#: common/models.py:2005 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2005 +#: common/models.py:2011 msgid "Enable app integration" msgstr "" -#: common/models.py:2006 +#: common/models.py:2012 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2012 +#: common/models.py:2018 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2013 +#: common/models.py:2019 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2019 +#: common/models.py:2025 msgid "Enable event integration" msgstr "" -#: common/models.py:2020 +#: common/models.py:2026 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2026 +#: common/models.py:2032 msgid "Enable project codes" msgstr "" -#: common/models.py:2027 +#: common/models.py:2033 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2032 +#: common/models.py:2038 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2034 +#: common/models.py:2040 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2040 +#: common/models.py:2046 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2042 +#: common/models.py:2048 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2048 +#: common/models.py:2054 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2050 +#: common/models.py:2056 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2056 +#: common/models.py:2062 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2058 +#: common/models.py:2064 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2065 +#: common/models.py:2071 msgid "Display Users full names" msgstr "" -#: common/models.py:2066 +#: common/models.py:2072 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2071 +#: common/models.py:2077 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2072 +#: common/models.py:2078 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2084 common/models.py:2494 +#: common/models.py:2090 common/models.py:2500 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2127 +#: common/models.py:2133 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2129 +#: common/models.py:2135 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2135 +#: common/models.py:2141 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2136 +#: common/models.py:2142 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2141 +#: common/models.py:2147 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2142 +#: common/models.py:2148 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2147 +#: common/models.py:2153 msgid "Show latest parts" msgstr "" -#: common/models.py:2148 +#: common/models.py:2154 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2153 +#: common/models.py:2159 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2154 +#: common/models.py:2160 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2159 +#: common/models.py:2165 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2160 +#: common/models.py:2166 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2165 +#: common/models.py:2171 msgid "Show low stock" msgstr "" -#: common/models.py:2166 +#: common/models.py:2172 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2171 +#: common/models.py:2177 msgid "Show depleted stock" msgstr "" -#: common/models.py:2172 +#: common/models.py:2178 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2177 +#: common/models.py:2183 msgid "Show needed stock" msgstr "" -#: common/models.py:2178 +#: common/models.py:2184 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2183 +#: common/models.py:2189 msgid "Show expired stock" msgstr "" -#: common/models.py:2184 +#: common/models.py:2190 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2189 +#: common/models.py:2195 msgid "Show stale stock" msgstr "" -#: common/models.py:2190 +#: common/models.py:2196 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2195 +#: common/models.py:2201 msgid "Show pending builds" msgstr "" -#: common/models.py:2196 +#: common/models.py:2202 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2201 +#: common/models.py:2207 msgid "Show overdue builds" msgstr "" -#: common/models.py:2202 +#: common/models.py:2208 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2207 +#: common/models.py:2213 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2208 +#: common/models.py:2214 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2213 +#: common/models.py:2219 msgid "Show overdue POs" msgstr "" -#: common/models.py:2214 +#: common/models.py:2220 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2219 +#: common/models.py:2225 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2220 +#: common/models.py:2226 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2225 +#: common/models.py:2231 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2226 +#: common/models.py:2232 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2231 +#: common/models.py:2237 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2232 +#: common/models.py:2238 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2237 +#: common/models.py:2243 msgid "Show News" msgstr "" -#: common/models.py:2238 +#: common/models.py:2244 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2243 +#: common/models.py:2249 msgid "Inline label display" msgstr "" -#: common/models.py:2245 +#: common/models.py:2251 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2251 +#: common/models.py:2257 msgid "Default label printer" msgstr "" -#: common/models.py:2253 +#: common/models.py:2259 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2259 +#: common/models.py:2265 msgid "Inline report display" msgstr "" -#: common/models.py:2261 +#: common/models.py:2267 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2267 +#: common/models.py:2273 msgid "Search Parts" msgstr "" -#: common/models.py:2268 +#: common/models.py:2274 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2273 +#: common/models.py:2279 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2274 +#: common/models.py:2280 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2279 +#: common/models.py:2285 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2280 +#: common/models.py:2286 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2285 +#: common/models.py:2291 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2286 +#: common/models.py:2292 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2291 +#: common/models.py:2297 msgid "Search Categories" msgstr "" -#: common/models.py:2292 +#: common/models.py:2298 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2297 +#: common/models.py:2303 msgid "Search Stock" msgstr "" -#: common/models.py:2298 +#: common/models.py:2304 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2303 +#: common/models.py:2309 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2305 +#: common/models.py:2311 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2311 +#: common/models.py:2317 msgid "Search Locations" msgstr "" -#: common/models.py:2312 +#: common/models.py:2318 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2317 +#: common/models.py:2323 msgid "Search Companies" msgstr "" -#: common/models.py:2318 +#: common/models.py:2324 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2323 +#: common/models.py:2329 msgid "Search Build Orders" msgstr "" -#: common/models.py:2324 +#: common/models.py:2330 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2329 +#: common/models.py:2335 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2330 +#: common/models.py:2336 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2335 +#: common/models.py:2341 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2337 +#: common/models.py:2343 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2343 +#: common/models.py:2349 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2344 +#: common/models.py:2350 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2349 +#: common/models.py:2355 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2351 +#: common/models.py:2357 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2357 +#: common/models.py:2363 msgid "Search Return Orders" msgstr "" -#: common/models.py:2358 +#: common/models.py:2364 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2363 +#: common/models.py:2369 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2365 +#: common/models.py:2371 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2371 +#: common/models.py:2377 msgid "Search Preview Results" msgstr "" -#: common/models.py:2373 +#: common/models.py:2379 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2379 +#: common/models.py:2385 msgid "Regex Search" msgstr "" -#: common/models.py:2380 +#: common/models.py:2386 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2385 +#: common/models.py:2391 msgid "Whole Word Search" msgstr "" -#: common/models.py:2386 +#: common/models.py:2392 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2391 +#: common/models.py:2397 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2392 +#: common/models.py:2398 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2397 +#: common/models.py:2403 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2398 +#: common/models.py:2404 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2403 +#: common/models.py:2409 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2404 +#: common/models.py:2410 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2409 +#: common/models.py:2415 msgid "Date Format" msgstr "Formát data" -#: common/models.py:2410 +#: common/models.py:2416 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2423 part/templates/part/detail.html:41 +#: common/models.py:2429 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2424 +#: common/models.py:2430 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2429 part/templates/part/detail.html:62 +#: common/models.py:2435 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2431 +#: common/models.py:2437 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2437 +#: common/models.py:2443 msgid "Table String Length" msgstr "" -#: common/models.py:2439 +#: common/models.py:2445 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2445 +#: common/models.py:2451 msgid "Default part label template" msgstr "" -#: common/models.py:2446 +#: common/models.py:2452 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2451 +#: common/models.py:2457 msgid "Default stock item template" msgstr "" -#: common/models.py:2453 +#: common/models.py:2459 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2459 +#: common/models.py:2465 msgid "Default stock location label template" msgstr "" -#: common/models.py:2461 +#: common/models.py:2467 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2467 +#: common/models.py:2473 msgid "Default build line label template" msgstr "" -#: common/models.py:2469 +#: common/models.py:2475 msgid "The build line label template to be automatically selected" msgstr "" -#: common/models.py:2475 +#: common/models.py:2481 msgid "Receive error reports" msgstr "" -#: common/models.py:2476 +#: common/models.py:2482 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2481 +#: common/models.py:2487 msgid "Last used printing machines" msgstr "" -#: common/models.py:2482 +#: common/models.py:2488 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2525 +#: common/models.py:2531 msgid "Price break quantity" msgstr "" -#: common/models.py:2532 company/serializers.py:496 order/admin.py:42 -#: order/models.py:1333 order/models.py:2243 +#: common/models.py:2538 company/serializers.py:496 order/admin.py:42 +#: order/models.py:1373 order/models.py:2292 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 -#: templates/js/translated/return_order.js:741 +#: templates/js/translated/return_order.js:740 msgid "Price" msgstr "Cena" -#: common/models.py:2533 +#: common/models.py:2539 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2704 common/models.py:2889 +#: common/models.py:2710 common/models.py:2895 msgid "Endpoint" msgstr "" -#: common/models.py:2705 +#: common/models.py:2711 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2715 +#: common/models.py:2721 msgid "Name for this webhook" msgstr "" -#: common/models.py:2719 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1045 -#: plugin/models.py:56 templates/js/translated/company.js:523 +#: common/models.py:2725 company/models.py:160 company/models.py:814 +#: machine/models.py:39 part/admin.py:88 part/models.py:1088 +#: plugin/models.py:65 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:492 @@ -3614,135 +3628,135 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2719 +#: common/models.py:2725 msgid "Is this webhook active" msgstr "" -#: common/models.py:2735 users/models.py:159 +#: common/models.py:2741 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2736 +#: common/models.py:2742 msgid "Token for access" msgstr "" -#: common/models.py:2744 +#: common/models.py:2750 msgid "Secret" msgstr "" -#: common/models.py:2745 +#: common/models.py:2751 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2853 +#: common/models.py:2859 msgid "Message ID" msgstr "" -#: common/models.py:2854 +#: common/models.py:2860 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2862 +#: common/models.py:2868 msgid "Host" msgstr "" -#: common/models.py:2863 +#: common/models.py:2869 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2871 +#: common/models.py:2877 msgid "Header" msgstr "" -#: common/models.py:2872 +#: common/models.py:2878 msgid "Header of this message" msgstr "" -#: common/models.py:2879 +#: common/models.py:2885 msgid "Body" msgstr "" -#: common/models.py:2880 +#: common/models.py:2886 msgid "Body of this message" msgstr "" -#: common/models.py:2890 +#: common/models.py:2896 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2895 +#: common/models.py:2901 msgid "Worked on" msgstr "" -#: common/models.py:2896 +#: common/models.py:2902 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3022 +#: common/models.py:3028 msgid "Id" msgstr "" -#: common/models.py:3024 templates/js/translated/company.js:965 +#: common/models.py:3030 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3028 templates/js/translated/news.js:60 +#: common/models.py:3034 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3030 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3036 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3032 templates/js/translated/news.js:52 +#: common/models.py:3038 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3035 +#: common/models.py:3041 msgid "Read" msgstr "" -#: common/models.py:3035 +#: common/models.py:3041 msgid "Was this news item read?" msgstr "" -#: common/models.py:3052 company/models.py:156 part/models.py:929 +#: common/models.py:3058 company/models.py:156 part/models.py:972 #: 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 +#: report/templates/report/inventree_return_order_report.html:35 #: stock/templates/stock/item_base.html:133 templates/503.html:31 #: templates/hover_image.html:7 templates/hover_image.html:9 #: templates/modals.html:6 msgid "Image" msgstr "Obrazek" -#: common/models.py:3052 +#: common/models.py:3058 msgid "Image file" msgstr "" -#: common/models.py:3094 +#: common/models.py:3100 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3113 +#: common/models.py:3119 msgid "Unit name" msgstr "" -#: common/models.py:3120 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3126 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3121 +#: common/models.py:3127 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3128 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3134 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3129 +#: common/models.py:3135 msgid "Unit definition" msgstr "" @@ -3929,9 +3943,9 @@ msgid "Contact email address" msgstr "Kontaktní e-mailová adresa" #: company/models.py:139 company/templates/company/company_base.html:145 -#: order/models.py:331 order/templates/order/order_base.html:203 +#: order/models.py:344 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 -#: order/templates/order/sales_order_base.html:214 +#: order/templates/order/sales_order_base.html:218 msgid "Contact" msgstr "Kontakt" @@ -3977,7 +3991,7 @@ msgstr "" #: company/models.py:273 company/models.py:382 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:776 +#: company/templates/company/company_base.html:12 stock/api.py:810 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "Společnost" @@ -4069,8 +4083,8 @@ msgstr "" msgid "Link to address information (external)" msgstr "" -#: company/models.py:489 company/models.py:792 stock/models.py:751 -#: stock/serializers.py:266 stock/templates/stock/item_base.html:142 +#: company/models.py:489 company/models.py:792 stock/models.py:772 +#: stock/serializers.py:395 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "Základní díl" @@ -4081,7 +4095,7 @@ msgstr "Zvolte díl" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:515 +#: company/templates/company/supplier_part.html:145 part/serializers.py:530 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4096,13 +4110,13 @@ msgid "Select manufacturer" msgstr "Vyberte výrobce" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:525 +#: company/templates/company/supplier_part.html:153 part/serializers.py:540 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800 -#: templates/js/translated/purchase_order.js:1852 -#: templates/js/translated/purchase_order.js:2054 +#: templates/js/translated/purchase_order.js:1851 +#: templates/js/translated/purchase_order.js:2053 msgid "MPN" msgstr "" @@ -4129,9 +4143,8 @@ msgstr "Výrobce dílu" msgid "Parameter name" msgstr "Název parametru" -#: company/models.py:621 -#: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2448 templates/js/translated/company.js:1166 +#: company/models.py:621 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2425 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492 #: templates/js/translated/stock.js:1522 msgid "Value" @@ -4142,10 +4155,10 @@ msgid "Parameter value" msgstr "Hodnota parametru" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1009 part/models.py:3623 +#: part/admin.py:57 part/models.py:1052 part/models.py:3666 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 -#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370 +#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 msgid "Units" msgstr "Jednotky" @@ -4166,9 +4179,9 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:465 +#: company/templates/company/supplier_part.html:129 order/models.py:487 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:499 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:514 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4176,7 +4189,7 @@ msgstr "" #: templates/js/translated/company.js:511 #: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1690 +#: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/table_filters.js:804 msgid "Supplier" msgstr "Dodavatel" @@ -4185,7 +4198,7 @@ msgstr "Dodavatel" msgid "Select supplier" msgstr "" -#: company/models.py:809 part/serializers.py:510 +#: company/models.py:809 part/serializers.py:525 msgid "Supplier stock keeping unit" msgstr "" @@ -4206,29 +4219,29 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:418 part/models.py:4070 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4113 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 -#: report/templates/report/inventree_slr_report.html:105 -#: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:579 +#: report/templates/report/inventree_purchase_order_report.html:32 +#: report/templates/report/inventree_return_order_report.html:27 +#: report/templates/report/inventree_sales_order_report.html:32 +#: report/templates/report/inventree_stock_location_report.html:105 +#: stock/serializers.py:708 msgid "Note" msgstr "Poznámka" -#: company/models.py:857 part/models.py:1967 +#: company/models.py:857 part/models.py:2010 msgid "base cost" msgstr "" -#: company/models.py:858 part/models.py:1968 +#: company/models.py:858 part/models.py:2011 msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:782 stock/serializers.py:1350 +#: stock/admin.py:224 stock/models.py:803 stock/serializers.py:1479 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 -#: templates/js/translated/stock.js:2426 +#: templates/js/translated/stock.js:2424 msgid "Packaging" msgstr "" @@ -4241,8 +4254,8 @@ msgstr "" #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 -#: templates/js/translated/purchase_order.js:2085 -#: templates/js/translated/purchase_order.js:2102 +#: templates/js/translated/purchase_order.js:2084 +#: templates/js/translated/purchase_order.js:2101 msgid "Pack Quantity" msgstr "" @@ -4250,7 +4263,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:892 part/models.py:1974 +#: company/models.py:892 part/models.py:2017 msgid "multiple" msgstr "" @@ -4285,7 +4298,7 @@ msgstr "" #: part/templates/part/part_base.html:146 #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 -#: templates/js/translated/model_renderers.js:306 +#: templates/js/translated/model_renderers.js:312 #: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 msgid "Inactive" msgstr "" @@ -4321,11 +4334,11 @@ msgstr "Odstranit společnost" #: company/templates/company/manufacturer_part.html:51 #: company/templates/company/supplier_part.html:83 #: part/templates/part/part_thumb.html:20 -#: report/templates/report/inventree_build_order_base.html:98 -#: report/templates/report/inventree_po_report_base.html:40 -#: report/templates/report/inventree_so_report_base.html:40 -#: report/templates/report/inventree_test_report_base.html:84 -#: report/templates/report/inventree_test_report_base.html:163 +#: report/templates/report/inventree_build_order_report.html:98 +#: report/templates/report/inventree_purchase_order_report.html:40 +#: report/templates/report/inventree_sales_order_report.html:40 +#: report/templates/report/inventree_test_report.html:84 +#: report/templates/report/inventree_test_report.html:163 msgid "Part image" msgstr "" @@ -4344,16 +4357,16 @@ msgstr "Stáhnout obrázek z URL" msgid "Delete image" msgstr "Smazat obrázek" -#: company/templates/company/company_base.html:92 order/models.py:910 -#: order/models.py:2010 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:144 stock/models.py:804 -#: stock/models.py:805 stock/serializers.py:1100 +#: company/templates/company/company_base.html:92 order/models.py:941 +#: order/models.py:2059 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:148 stock/models.py:825 +#: stock/models.py:826 stock/serializers.py:1229 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 -#: templates/js/translated/return_order.js:296 -#: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2962 +#: templates/js/translated/return_order.js:295 +#: templates/js/translated/sales_order.js:820 +#: templates/js/translated/stock.js:2959 #: templates/js/translated/table_filters.js:808 msgid "Customer" msgstr "Zákazník" @@ -4362,10 +4375,10 @@ msgstr "Zákazník" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:124 order/models.py:341 +#: company/templates/company/company_base.html:124 order/models.py:354 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 -#: order/templates/order/sales_order_base.html:221 +#: order/templates/order/sales_order_base.html:225 msgid "Address" msgstr "Adresa" @@ -4374,7 +4387,7 @@ msgid "Phone" msgstr "Telefon" #: company/templates/company/company_base.html:211 -#: part/templates/part/part_base.html:528 +#: part/templates/part/part_base.html:527 msgid "Remove Image" msgstr "" @@ -4383,19 +4396,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:214 -#: part/templates/part/part_base.html:531 +#: part/templates/part/part_base.html:530 #: templates/InvenTree/settings/user.html:88 #: templates/InvenTree/settings/user_sso.html:43 msgid "Remove" msgstr "Odstranit" #: company/templates/company/company_base.html:243 -#: part/templates/part/part_base.html:560 +#: part/templates/part/part_base.html:559 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:258 -#: part/templates/part/part_base.html:614 +#: part/templates/part/part_base.html:613 msgid "Download Image" msgstr "" @@ -4558,7 +4571,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:821 +#: part/admin.py:122 part/serializers.py:836 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4609,10 +4622,10 @@ msgstr "" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:452 -#: stock/models.py:762 stock/templates/stock/item_base.html:233 +#: stock/models.py:783 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 -#: templates/js/translated/stock.js:2282 +#: templates/js/translated/stock.js:2280 msgid "Supplier Part" msgstr "" @@ -4658,11 +4671,11 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:509 +#: part/bom.py:311 part/serializers.py:524 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1851 -#: templates/js/translated/purchase_order.js:2029 +#: templates/js/translated/purchase_order.js:1850 +#: templates/js/translated/purchase_order.js:2028 msgid "SKU" msgstr "" @@ -4671,12 +4684,12 @@ msgid "Supplier Part Stock" msgstr "Sklad dílu dodavatele" #: company/templates/company/supplier_part.html:209 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:199 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:206 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:200 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:207 #: templates/js/translated/stock.js:537 msgid "New Stock Item" msgstr "" @@ -4708,16 +4721,16 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:820 part/stocktake.py:223 +#: part/serializers.py:835 part/stocktake.py:223 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:787 stock/serializers.py:951 +#: stock/serializers.py:916 stock/serializers.py:1080 #: stock/templates/stock/location.html:170 -#: stock/templates/stock/location.html:184 -#: stock/templates/stock/location.html:196 +#: stock/templates/stock/location.html:191 +#: stock/templates/stock/location.html:203 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2769 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 #: users/models.py:206 msgid "Stock Items" msgstr "" @@ -4751,126 +4764,48 @@ msgstr "" msgid "New Company" msgstr "" -#: label/api.py:247 -msgid "Error printing label" -msgstr "" - -#: label/models.py:120 -msgid "Label name" -msgstr "" - -#: label/models.py:128 -msgid "Label description" -msgstr "" - -#: label/models.py:136 -msgid "Label" -msgstr "" - -#: label/models.py:137 -msgid "Label template file" -msgstr "" - -#: label/models.py:143 part/models.py:3494 report/models.py:324 -#: templates/js/translated/part.js:2900 -#: templates/js/translated/table_filters.js:481 -msgid "Enabled" -msgstr "" - -#: label/models.py:144 -msgid "Label template is enabled" -msgstr "" - -#: label/models.py:149 -msgid "Width [mm]" -msgstr "" - -#: label/models.py:150 -msgid "Label width, specified in mm" -msgstr "" - -#: label/models.py:156 -msgid "Height [mm]" -msgstr "" - -#: label/models.py:157 -msgid "Label height, specified in mm" -msgstr "" - -#: label/models.py:163 report/models.py:317 -msgid "Filename Pattern" -msgstr "" - -#: label/models.py:164 -msgid "Pattern for generating label filenames" -msgstr "" - -#: label/models.py:313 label/models.py:352 label/models.py:377 -#: label/models.py:412 -msgid "Query filters (comma-separated list of key=value pairs)" -msgstr "" - -#: label/models.py:314 label/models.py:353 label/models.py:378 -#: label/models.py:413 report/models.py:345 report/models.py:496 -#: report/models.py:532 report/models.py:568 report/models.py:750 -msgid "Filters" -msgstr "" - -#: label/templates/label/part/part_label.html:31 -#: label/templates/label/stockitem/qr.html:21 -#: label/templates/label/stocklocation/qr.html:20 -#: templates/allauth_2fa/setup.html:18 -msgid "QR Code" -msgstr "" - -#: label/templates/label/part/part_label_code128.html:31 -#: label/templates/label/stocklocation/qr_and_text.html:31 -#: templates/qr_code.html:7 -msgid "QR code" -msgstr "" - -#: machine/machine_types/label_printer.py:217 +#: machine/machine_types/label_printer.py:218 msgid "Copies" msgstr "" -#: machine/machine_types/label_printer.py:218 +#: machine/machine_types/label_printer.py:219 msgid "Number of copies to print for each label" msgstr "" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:234 msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:234 order/api.py:1515 -#: templates/js/translated/sales_order.js:1042 +#: machine/machine_types/label_printer.py:235 order/api.py:1515 +#: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "" -#: machine/machine_types/label_printer.py:235 +#: machine/machine_types/label_printer.py:236 msgid "Printing" msgstr "" -#: machine/machine_types/label_printer.py:236 +#: machine/machine_types/label_printer.py:237 msgid "No media" msgstr "" -#: machine/machine_types/label_printer.py:237 +#: machine/machine_types/label_printer.py:238 msgid "Disconnected" msgstr "" -#: machine/machine_types/label_printer.py:244 +#: machine/machine_types/label_printer.py:245 msgid "Label Printer" msgstr "" -#: machine/machine_types/label_printer.py:245 +#: machine/machine_types/label_printer.py:246 msgid "Directly print labels for various items." msgstr "" -#: machine/machine_types/label_printer.py:251 +#: machine/machine_types/label_printer.py:252 msgid "Printer Location" msgstr "" -#: machine/machine_types/label_printer.py:252 +#: machine/machine_types/label_printer.py:253 msgid "Scope the printer to a specific location" msgstr "" @@ -4930,19 +4865,19 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:89 -#: report/templates/report/inventree_po_report_base.html:31 -#: report/templates/report/inventree_so_report_base.html:31 +#: order/admin.py:30 order/models.py:90 +#: report/templates/report/inventree_purchase_order_report.html:31 +#: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2126 -#: templates/js/translated/sales_order.js:1847 +#: templates/js/translated/purchase_order.js:2125 +#: templates/js/translated/sales_order.js:1883 msgid "Total Price" msgstr "" #: order/api.py:161 order/serializers.py:91 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 -#: order/templates/order/sales_order_base.html:118 +#: order/templates/order/sales_order_base.html:122 msgid "Order Status" msgstr "" @@ -4955,10 +4890,10 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:437 order/api.py:817 order/models.py:1382 order/models.py:1491 -#: order/models.py:1537 order/models.py:1651 order/models.py:1805 -#: order/models.py:2209 order/models.py:2260 -#: templates/js/translated/sales_order.js:1488 +#: order/api.py:437 order/api.py:817 order/models.py:1422 order/models.py:1531 +#: order/models.py:1577 order/models.py:1691 order/models.py:1845 +#: order/models.py:2258 order/models.py:2309 +#: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" @@ -4970,402 +4905,398 @@ msgstr "" msgid "Order Pending" msgstr "" -#: order/api.py:1509 order/models.py:1383 order/models.py:1492 -#: order/templates/order/order_base.html:9 +#: order/api.py:1509 order/models.py:381 order/models.py:1423 +#: order/models.py:1532 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 -#: report/templates/report/inventree_po_report_base.html:14 -#: stock/templates/stock/item_base.html:176 +#: report/templates/report/inventree_purchase_order_report.html:14 +#: stock/serializers.py:119 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 -#: templates/js/translated/purchase_order.js:1674 -#: templates/js/translated/stock.js:2262 templates/js/translated/stock.js:2910 +#: templates/js/translated/purchase_order.js:1673 +#: templates/js/translated/stock.js:2260 templates/js/translated/stock.js:2907 msgid "Purchase Order" msgstr "" -#: order/api.py:1513 order/models.py:2210 order/models.py:2261 -#: order/templates/order/return_order_base.html:9 +#: order/api.py:1513 order/models.py:2008 order/models.py:2259 +#: order/models.py:2310 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:281 -#: templates/js/translated/stock.js:2944 +#: report/templates/report/inventree_return_order_report.html:13 +#: templates/js/translated/return_order.js:280 +#: templates/js/translated/stock.js:2941 msgid "Return Order" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:96 order/serializers.py:71 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:99 order/serializers.py:72 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:246 +#: order/models.py:248 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:278 +#: order/models.py:291 msgid "Order description (optional)" msgstr "" -#: order/models.py:287 +#: order/models.py:300 msgid "Select project code for this order" msgstr "" -#: order/models.py:291 order/models.py:1288 order/models.py:1704 +#: order/models.py:304 order/models.py:1328 order/models.py:1744 msgid "Link to external page" msgstr "" -#: order/models.py:299 +#: order/models.py:312 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:313 +#: order/models.py:326 msgid "Created By" msgstr "" -#: order/models.py:321 +#: order/models.py:334 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:332 +#: order/models.py:345 msgid "Point of contact for this order" msgstr "" -#: order/models.py:342 +#: order/models.py:355 msgid "Company address for this order" msgstr "" -#: order/models.py:443 order/models.py:899 +#: order/models.py:465 order/models.py:930 msgid "Order reference" msgstr "" -#: order/models.py:451 order/models.py:923 +#: order/models.py:473 order/models.py:954 msgid "Purchase order status" msgstr "" -#: order/models.py:466 +#: order/models.py:488 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:477 order/templates/order/order_base.html:148 -#: templates/js/translated/purchase_order.js:1703 +#: order/models.py:499 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1702 msgid "Supplier Reference" msgstr "" -#: order/models.py:478 +#: order/models.py:500 msgid "Supplier order reference code" msgstr "" -#: order/models.py:487 +#: order/models.py:509 msgid "received by" msgstr "" -#: order/models.py:493 order/models.py:2036 +#: order/models.py:515 order/models.py:2085 msgid "Issue Date" msgstr "" -#: order/models.py:494 order/models.py:2037 +#: order/models.py:516 order/models.py:2086 msgid "Date order was issued" msgstr "" -#: order/models.py:501 order/models.py:2044 +#: order/models.py:523 order/models.py:2093 msgid "Date order was completed" msgstr "" -#: order/models.py:545 +#: order/models.py:567 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:739 +#: order/models.py:761 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:911 +#: order/models.py:942 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:934 order/models.py:2029 +#: order/models.py:965 order/models.py:2078 msgid "Customer Reference " msgstr "" -#: order/models.py:935 order/models.py:2030 +#: order/models.py:966 order/models.py:2079 msgid "Customer order reference code" msgstr "" -#: order/models.py:939 order/models.py:1658 -#: templates/js/translated/sales_order.js:843 -#: templates/js/translated/sales_order.js:1024 +#: order/models.py:970 order/models.py:1698 +#: templates/js/translated/sales_order.js:879 +#: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "" -#: order/models.py:948 +#: order/models.py:979 msgid "shipped by" msgstr "" -#: order/models.py:999 -msgid "Order cannot be completed as no parts have been assigned" -msgstr "" - -#: order/models.py:1004 +#: order/models.py:1029 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1008 templates/js/translated/sales_order.js:506 +#: order/models.py:1033 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1013 +#: order/models.py:1038 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1260 +#: order/models.py:1300 msgid "Item quantity" msgstr "" -#: order/models.py:1277 +#: order/models.py:1317 msgid "Line item reference" msgstr "" -#: order/models.py:1284 +#: order/models.py:1324 msgid "Line item notes" msgstr "" -#: order/models.py:1296 +#: order/models.py:1336 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1317 +#: order/models.py:1357 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1323 +#: order/models.py:1363 msgid "Context" msgstr "" -#: order/models.py:1324 +#: order/models.py:1364 msgid "Additional context for this line" msgstr "" -#: order/models.py:1334 +#: order/models.py:1374 msgid "Unit price" msgstr "" -#: order/models.py:1367 +#: order/models.py:1407 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1374 +#: order/models.py:1414 msgid "deleted" msgstr "" -#: order/models.py:1402 +#: order/models.py:1442 msgid "Supplier part" msgstr "" -#: order/models.py:1409 order/templates/order/order_base.html:196 +#: order/models.py:1449 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 #: templates/js/translated/purchase_order.js:1306 -#: templates/js/translated/purchase_order.js:2170 -#: templates/js/translated/return_order.js:764 +#: templates/js/translated/purchase_order.js:2169 +#: templates/js/translated/return_order.js:763 #: templates/js/translated/table_filters.js:120 #: templates/js/translated/table_filters.js:602 msgid "Received" msgstr "" -#: order/models.py:1410 +#: order/models.py:1450 msgid "Number of items received" msgstr "" -#: order/models.py:1418 stock/models.py:923 stock/serializers.py:400 +#: order/models.py:1458 stock/models.py:944 stock/serializers.py:529 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2313 +#: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "" -#: order/models.py:1419 +#: order/models.py:1459 msgid "Unit purchase price" msgstr "" -#: order/models.py:1434 +#: order/models.py:1474 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1525 +#: order/models.py:1565 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1530 +#: order/models.py:1570 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1556 part/templates/part/part_pricing.html:107 +#: order/models.py:1596 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1557 +#: order/models.py:1597 msgid "Unit sale price" msgstr "" -#: order/models.py:1567 +#: order/models.py:1607 msgid "Shipped quantity" msgstr "" -#: order/models.py:1659 +#: order/models.py:1699 msgid "Date of shipment" msgstr "" -#: order/models.py:1665 templates/js/translated/sales_order.js:1036 +#: order/models.py:1705 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1666 +#: order/models.py:1706 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1674 +#: order/models.py:1714 msgid "Checked By" msgstr "" -#: order/models.py:1675 +#: order/models.py:1715 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1682 order/models.py:1895 order/serializers.py:1354 -#: order/serializers.py:1464 templates/js/translated/model_renderers.js:448 +#: order/models.py:1722 order/models.py:1935 order/serializers.py:1354 +#: order/serializers.py:1464 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" -#: order/models.py:1683 +#: order/models.py:1723 msgid "Shipment number" msgstr "" -#: order/models.py:1691 +#: order/models.py:1731 msgid "Tracking Number" msgstr "" -#: order/models.py:1692 +#: order/models.py:1732 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1699 +#: order/models.py:1739 msgid "Invoice Number" msgstr "" -#: order/models.py:1700 +#: order/models.py:1740 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1720 +#: order/models.py:1760 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1723 +#: order/models.py:1763 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1841 order/models.py:1843 +#: order/models.py:1881 order/models.py:1883 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1850 +#: order/models.py:1890 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1853 +#: order/models.py:1893 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1856 +#: order/models.py:1896 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1875 order/serializers.py:1231 +#: order/models.py:1915 order/serializers.py:1231 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1878 +#: order/models.py:1918 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1879 plugin/base/barcodes/api.py:481 +#: order/models.py:1919 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1887 +#: order/models.py:1927 msgid "Line" msgstr "" -#: order/models.py:1896 +#: order/models.py:1936 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1909 order/models.py:2217 -#: templates/js/translated/return_order.js:722 +#: order/models.py:1949 order/models.py:2266 +#: templates/js/translated/return_order.js:721 msgid "Item" msgstr "" -#: order/models.py:1910 +#: order/models.py:1950 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1919 +#: order/models.py:1959 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1999 +#: order/models.py:2048 msgid "Return Order reference" msgstr "" -#: order/models.py:2011 +#: order/models.py:2060 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2023 +#: order/models.py:2072 msgid "Return order status" msgstr "" -#: order/models.py:2202 +#: order/models.py:2251 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2218 +#: order/models.py:2267 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2224 +#: order/models.py:2273 msgid "Received Date" msgstr "" -#: order/models.py:2225 +#: order/models.py:2274 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2236 templates/js/translated/return_order.js:733 +#: order/models.py:2285 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2237 +#: order/models.py:2286 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2244 +#: order/models.py:2293 msgid "Cost associated with return or repair for this line item" msgstr "" #: order/serializers.py:80 order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 -#: report/templates/report/inventree_po_report_base.html:22 -#: report/templates/report/inventree_return_order_report_base.html:19 -#: report/templates/report/inventree_so_report_base.html:22 +#: report/templates/report/inventree_purchase_order_report.html:22 +#: report/templates/report/inventree_return_order_report.html:19 +#: report/templates/report/inventree_sales_order_report.html:22 msgid "Line Items" msgstr "" @@ -5595,7 +5526,7 @@ msgstr "" #: order/templates/order/order_base.html:84 #: order/templates/order/return_order_base.html:87 -#: order/templates/order/sales_order_base.html:93 +#: order/templates/order/sales_order_base.html:97 msgid "Complete Order" msgstr "" @@ -5605,13 +5536,13 @@ msgstr "" #: order/templates/order/order_base.html:106 #: order/templates/order/return_order_base.html:101 -#: order/templates/order/sales_order_base.html:106 +#: order/templates/order/sales_order_base.html:110 msgid "Order Reference" msgstr "" #: order/templates/order/order_base.html:111 #: order/templates/order/return_order_base.html:106 -#: order/templates/order/sales_order_base.html:111 +#: order/templates/order/sales_order_base.html:115 msgid "Order Description" msgstr "" @@ -5620,19 +5551,19 @@ msgid "No suppplier information available" msgstr "" #: order/templates/order/order_base.html:154 -#: order/templates/order/sales_order_base.html:157 +#: order/templates/order/sales_order_base.html:161 msgid "Completed Line Items" msgstr "" #: order/templates/order/order_base.html:160 -#: order/templates/order/sales_order_base.html:163 -#: order/templates/order/sales_order_base.html:173 +#: order/templates/order/sales_order_base.html:167 +#: order/templates/order/sales_order_base.html:177 msgid "Incomplete" msgstr "" #: order/templates/order/order_base.html:179 #: order/templates/order/return_order_base.html:157 -#: report/templates/report/inventree_build_order_base.html:121 +#: report/templates/report/inventree_build_order_report.html:121 msgid "Issued" msgstr "" @@ -5642,15 +5573,15 @@ msgstr "" #: order/templates/order/order_base.html:228 #: order/templates/order/return_order_base.html:199 -#: order/templates/order/sales_order_base.html:239 +#: order/templates/order/sales_order_base.html:243 msgid "Total cost could not be calculated" msgstr "" -#: order/templates/order/order_base.html:318 +#: order/templates/order/order_base.html:314 msgid "Purchase Order QR Code" msgstr "" -#: order/templates/order/order_base.html:330 +#: order/templates/order/order_base.html:326 msgid "Link Barcode to Purchase Order" msgstr "" @@ -5707,8 +5638,8 @@ msgstr "" #: templates/js/translated/build.js:1629 #: templates/js/translated/purchase_order.js:696 #: templates/js/translated/purchase_order.js:1236 -#: templates/js/translated/return_order.js:506 -#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/return_order.js:505 +#: templates/js/translated/sales_order.js:1145 #: templates/js/translated/stock.js:714 templates/js/translated/stock.js:883 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -5762,7 +5693,7 @@ msgstr "" #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 #: templates/js/translated/purchase_order.js:414 -#: templates/js/translated/return_order.js:459 +#: templates/js/translated/return_order.js:458 #: templates/js/translated/sales_order.js:237 msgid "Add Line Item" msgstr "" @@ -5811,30 +5742,30 @@ msgid "Print packing list" msgstr "" #: order/templates/order/return_order_base.html:138 -#: order/templates/order/sales_order_base.html:151 -#: templates/js/translated/return_order.js:309 -#: templates/js/translated/sales_order.js:797 +#: order/templates/order/sales_order_base.html:155 +#: templates/js/translated/return_order.js:308 +#: templates/js/translated/sales_order.js:833 msgid "Customer Reference" msgstr "" #: order/templates/order/return_order_base.html:195 -#: order/templates/order/sales_order_base.html:235 +#: order/templates/order/sales_order_base.html:239 #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1072 -#: templates/js/translated/purchase_order.js:1753 -#: templates/js/translated/return_order.js:381 -#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/purchase_order.js:1752 +#: templates/js/translated/return_order.js:380 +#: templates/js/translated/sales_order.js:891 msgid "Total Cost" msgstr "" -#: order/templates/order/return_order_base.html:263 +#: order/templates/order/return_order_base.html:259 msgid "Return Order QR Code" msgstr "" -#: order/templates/order/return_order_base.html:275 +#: order/templates/order/return_order_base.html:271 msgid "Link Barcode to Return Order" msgstr "" @@ -5852,25 +5783,30 @@ msgid "Ship Items" msgstr "" #: order/templates/order/sales_order_base.html:92 -#: templates/js/translated/sales_order.js:484 +#: order/templates/order/sales_order_base.html:93 +msgid "Mark As Shipped" +msgstr "" + +#: order/templates/order/sales_order_base.html:96 +#: templates/js/translated/sales_order.js:536 msgid "Complete Sales Order" msgstr "" -#: order/templates/order/sales_order_base.html:131 +#: order/templates/order/sales_order_base.html:135 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:169 +#: order/templates/order/sales_order_base.html:173 #: order/templates/order/sales_order_detail.html:99 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "" -#: order/templates/order/sales_order_base.html:312 +#: order/templates/order/sales_order_base.html:321 msgid "Sales Order QR Code" msgstr "" -#: order/templates/order/sales_order_base.html:324 +#: order/templates/order/sales_order_base.html:333 msgid "Link Barcode to Sales Order" msgstr "" @@ -5914,12 +5850,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:404 part/models.py:3921 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:406 part/models.py:3964 part/stocktake.py:218 #: stock/admin.py:153 msgid "Part ID" msgstr "ID dílu" -#: part/admin.py:41 part/admin.py:411 part/models.py:3922 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:413 part/models.py:3965 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "Název dílu" @@ -5928,20 +5864,20 @@ msgstr "Název dílu" msgid "Part Description" msgstr "Popis dílu" -#: part/admin.py:48 part/models.py:904 part/templates/part/part_base.html:269 -#: report/templates/report/inventree_slr_report.html:103 -#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2341 -#: templates/js/translated/stock.js:2038 +#: part/admin.py:48 part/models.py:947 part/templates/part/part_base.html:269 +#: report/templates/report/inventree_stock_location_report.html:103 +#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 +#: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:913 part/templates/part/part_base.html:277 -#: report/models.py:195 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2347 +#: part/admin.py:50 part/models.py:956 part/templates/part/part_base.html:277 +#: report/models.py:161 templates/js/translated/part.js:1231 +#: templates/js/translated/part.js:2346 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:317 part/models.py:886 +#: part/admin.py:53 part/admin.py:319 part/models.py:929 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5950,15 +5886,15 @@ msgstr "" msgid "Part Image" msgstr "" -#: part/admin.py:63 part/admin.py:300 part/stocktake.py:221 +#: part/admin.py:63 part/admin.py:302 part/stocktake.py:221 msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:302 part/stocktake.py:222 +#: part/admin.py:67 part/admin.py:304 part/stocktake.py:222 msgid "Category Name" msgstr "" -#: part/admin.py:71 part/admin.py:314 +#: part/admin.py:71 part/admin.py:316 msgid "Default Location ID" msgstr "" @@ -5966,11 +5902,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:872 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:915 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1000 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1043 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5983,160 +5919,164 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3080 part/models.py:3094 +#: part/admin.py:155 part/models.py:3123 part/models.py:3137 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3087 part/models.py:3101 +#: part/admin.py:158 part/models.py:3130 part/models.py:3144 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" -#: part/admin.py:306 part/admin.py:393 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:211 msgid "Parent ID" msgstr "" -#: part/admin.py:310 part/admin.py:400 stock/admin.py:62 +#: part/admin.py:312 part/admin.py:402 stock/admin.py:62 msgid "Parent Name" msgstr "" -#: part/admin.py:318 part/templates/part/category.html:88 +#: part/admin.py:320 part/templates/part/category.html:88 #: part/templates/part/category.html:101 msgid "Category Path" msgstr "" -#: part/admin.py:323 part/models.py:391 part/serializers.py:117 +#: part/admin.py:325 part/models.py:393 part/serializers.py:117 #: part/serializers.py:272 part/serializers.py:391 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2803 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "Díly" -#: part/admin.py:384 +#: part/admin.py:386 msgid "BOM Level" msgstr "" -#: part/admin.py:387 +#: part/admin.py:389 msgid "BOM Item ID" msgstr "" -#: part/admin.py:397 +#: part/admin.py:399 msgid "Parent IPN" msgstr "" -#: part/admin.py:408 part/models.py:3923 +#: part/admin.py:410 part/models.py:3966 msgid "Part IPN" msgstr "IPN dílu" -#: part/admin.py:421 part/serializers.py:1261 +#: part/admin.py:423 part/serializers.py:1276 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:426 part/serializers.py:1276 +#: part/admin.py:428 part/serializers.py:1291 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:119 +#: part/api.py:112 msgid "Starred" msgstr "" -#: part/api.py:121 +#: part/api.py:114 msgid "Filter by starred categories" msgstr "" -#: part/api.py:138 stock/api.py:284 +#: part/api.py:131 stock/api.py:318 msgid "Depth" msgstr "" -#: part/api.py:138 +#: part/api.py:131 msgid "Filter by category depth" msgstr "" -#: part/api.py:156 stock/api.py:302 +#: part/api.py:149 stock/api.py:336 msgid "Cascade" msgstr "" -#: part/api.py:158 +#: part/api.py:151 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:178 +#: part/api.py:171 msgid "Parent" msgstr "" -#: part/api.py:180 +#: part/api.py:173 msgid "Filter by parent category" msgstr "" -#: part/api.py:213 +#: part/api.py:206 msgid "Exclude Tree" msgstr "" -#: part/api.py:215 +#: part/api.py:208 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:461 +#: part/api.py:455 msgid "Has Results" msgstr "" -#: part/api.py:628 +#: part/api.py:622 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:646 +#: part/api.py:640 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:662 +#: part/api.py:656 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:746 +#: part/api.py:740 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:893 +#: part/api.py:887 msgid "Valid" msgstr "" -#: part/api.py:894 +#: part/api.py:888 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:900 +#: part/api.py:894 msgid "This option must be selected" msgstr "" -#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866 -#: part/serializers.py:406 part/serializers.py:1117 -#: part/templates/part/part_base.html:260 stock/api.py:745 +#: part/api.py:1111 +msgid "BOM Valid" +msgstr "" + +#: part/api.py:1515 part/models.py:939 part/models.py:3429 part/models.py:3909 +#: part/serializers.py:406 part/serializers.py:1132 +#: part/templates/part/part_base.html:260 stock/api.py:779 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2377 +#: templates/js/translated/part.js:2376 msgid "Category" msgstr "" -#: part/api.py:1849 +#: part/api.py:1803 msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:101 part/models.py:939 +#: part/bom.py:170 part/models.py:102 part/models.py:982 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:822 +#: part/bom.py:171 part/serializers.py:837 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6145,698 +6085,712 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:82 part/models.py:3867 part/templates/part/category.html:16 +#: part/models.py:83 part/models.py:3910 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Kategorie dílu" -#: part/models.py:83 part/templates/part/category.html:136 +#: part/models.py:84 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "Kategorie dílů" -#: part/models.py:102 +#: part/models.py:103 msgid "Default location for parts in this category" msgstr "Výchozí umístění dílů v této kategorii" -#: part/models.py:107 stock/models.py:165 templates/js/translated/part.js:2810 -#: templates/js/translated/stock.js:2775 +#: part/models.py:108 stock/models.py:177 templates/js/translated/part.js:2809 +#: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "" -#: part/models.py:109 +#: part/models.py:110 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "Díly nesmějí být přímo zařazeny do strukturované kategorie, ale mohou být zařazeny jako podkategorie." -#: part/models.py:118 +#: part/models.py:119 msgid "Default keywords" msgstr "" -#: part/models.py:119 +#: part/models.py:120 msgid "Default keywords for parts in this category" msgstr "Výchozí klíčová slova pro díly v této kategorii" -#: part/models.py:125 stock/models.py:89 stock/models.py:148 +#: part/models.py:126 stock/models.py:89 stock/models.py:160 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:126 stock/models.py:149 +#: part/models.py:127 stock/models.py:161 msgid "Icon (optional)" msgstr "" -#: part/models.py:148 +#: part/models.py:149 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:484 +#: part/models.py:482 +msgid "Cannot delete this part as it is still active" +msgstr "" + +#: part/models.py:489 +msgid "Cannot delete this part as it is used in an assembly" +msgstr "" + +#: part/models.py:527 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:532 part/models.py:539 +#: part/models.py:575 part/models.py:582 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:551 +#: part/models.py:594 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:616 +#: part/models.py:659 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:696 +#: part/models.py:739 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:801 +#: part/models.py:844 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:811 +#: part/models.py:854 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:826 +#: part/models.py:869 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:855 part/models.py:3922 +#: part/models.py:898 part/models.py:3965 msgid "Part name" msgstr "Název dílu" -#: part/models.py:860 +#: part/models.py:903 msgid "Is Template" msgstr "" -#: part/models.py:861 +#: part/models.py:904 msgid "Is this part a template part?" msgstr "" -#: part/models.py:871 +#: part/models.py:914 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:879 +#: part/models.py:922 msgid "Part description (optional)" msgstr "" -#: part/models.py:887 +#: part/models.py:930 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:897 +#: part/models.py:940 msgid "Part category" msgstr "Kategorie dílu" -#: part/models.py:905 +#: part/models.py:948 msgid "Internal Part Number" msgstr "Interní číslo dílu" -#: part/models.py:912 +#: part/models.py:955 msgid "Part revision or version number" msgstr "" -#: part/models.py:937 +#: part/models.py:980 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:983 part/templates/part/part_base.html:376 +#: part/models.py:1026 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:984 +#: part/models.py:1027 msgid "Default supplier part" msgstr "" -#: part/models.py:991 +#: part/models.py:1034 msgid "Default Expiry" msgstr "" -#: part/models.py:992 +#: part/models.py:1035 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1001 +#: part/models.py:1044 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1010 +#: part/models.py:1053 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1017 +#: part/models.py:1060 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1023 +#: part/models.py:1066 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1029 +#: part/models.py:1072 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1035 +#: part/models.py:1078 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1041 +#: part/models.py:1084 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1045 +#: part/models.py:1088 msgid "Is this part active?" msgstr "" -#: part/models.py:1051 +#: part/models.py:1094 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1057 +#: part/models.py:1100 msgid "BOM checksum" msgstr "" -#: part/models.py:1058 +#: part/models.py:1101 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1066 +#: part/models.py:1109 msgid "BOM checked by" msgstr "" -#: part/models.py:1071 +#: part/models.py:1114 msgid "BOM checked date" msgstr "" -#: part/models.py:1087 +#: part/models.py:1130 msgid "Creation User" msgstr "" -#: part/models.py:1097 +#: part/models.py:1140 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1102 part/templates/part/part_base.html:339 +#: part/models.py:1145 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 -#: templates/js/translated/part.js:2471 +#: templates/js/translated/part.js:2470 msgid "Last Stocktake" msgstr "" -#: part/models.py:1975 +#: part/models.py:2018 msgid "Sell multiple" msgstr "" -#: part/models.py:2994 +#: part/models.py:3037 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3010 +#: part/models.py:3053 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3011 +#: part/models.py:3054 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3017 +#: part/models.py:3060 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3018 +#: part/models.py:3061 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3024 +#: part/models.py:3067 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3025 +#: part/models.py:3068 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3031 +#: part/models.py:3074 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3032 +#: part/models.py:3075 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3038 +#: part/models.py:3081 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3039 +#: part/models.py:3082 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3045 +#: part/models.py:3088 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3046 +#: part/models.py:3089 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3052 +#: part/models.py:3095 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3053 +#: part/models.py:3096 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3059 +#: part/models.py:3102 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3060 +#: part/models.py:3103 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3066 +#: part/models.py:3109 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3067 +#: part/models.py:3110 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3073 +#: part/models.py:3116 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3074 +#: part/models.py:3117 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3081 +#: part/models.py:3124 msgid "Override minimum cost" msgstr "" -#: part/models.py:3088 +#: part/models.py:3131 msgid "Override maximum cost" msgstr "" -#: part/models.py:3095 +#: part/models.py:3138 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3102 +#: part/models.py:3145 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3108 +#: part/models.py:3151 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3109 +#: part/models.py:3152 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3115 +#: part/models.py:3158 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3116 +#: part/models.py:3159 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3122 +#: part/models.py:3165 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3123 +#: part/models.py:3166 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3129 +#: part/models.py:3172 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3130 +#: part/models.py:3173 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3149 +#: part/models.py:3192 msgid "Part for stocktake" msgstr "" -#: part/models.py:3154 +#: part/models.py:3197 msgid "Item Count" msgstr "" -#: part/models.py:3155 +#: part/models.py:3198 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3163 +#: part/models.py:3206 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3167 part/models.py:3250 +#: part/models.py:3210 part/models.py:3293 #: part/templates/part/part_scheduling.html:13 -#: report/templates/report/inventree_test_report_base.html:106 +#: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 #: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 -#: templates/js/translated/purchase_order.js:1732 -#: templates/js/translated/stock.js:2824 +#: templates/js/translated/purchase_order.js:1731 +#: templates/js/translated/stock.js:2821 msgid "Date" msgstr "" -#: part/models.py:3168 +#: part/models.py:3211 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3176 +#: part/models.py:3219 msgid "Additional notes" msgstr "" -#: part/models.py:3186 +#: part/models.py:3229 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3192 +#: part/models.py:3235 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3193 +#: part/models.py:3236 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3199 +#: part/models.py:3242 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3200 +#: part/models.py:3243 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3256 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3299 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3257 +#: part/models.py:3300 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3262 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3305 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3263 +#: part/models.py:3306 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3273 +#: part/models.py:3316 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3435 +#: part/models.py:3478 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3446 +#: part/models.py:3489 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3457 +#: part/models.py:3500 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3474 templates/js/translated/part.js:2879 +#: part/models.py:3517 templates/js/translated/part.js:2878 msgid "Test Name" msgstr "" -#: part/models.py:3475 +#: part/models.py:3518 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3481 +#: part/models.py:3524 msgid "Test Key" msgstr "" -#: part/models.py:3482 +#: part/models.py:3525 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3489 +#: part/models.py:3532 msgid "Test Description" msgstr "" -#: part/models.py:3490 +#: part/models.py:3533 msgid "Enter description for this test" msgstr "" -#: part/models.py:3494 +#: part/models.py:3537 report/models.py:208 +#: templates/js/translated/part.js:2899 +#: templates/js/translated/table_filters.js:481 +msgid "Enabled" +msgstr "" + +#: part/models.py:3537 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3499 templates/js/translated/part.js:2908 +#: part/models.py:3542 templates/js/translated/part.js:2907 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3500 +#: part/models.py:3543 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3505 templates/js/translated/part.js:2916 +#: part/models.py:3548 templates/js/translated/part.js:2915 msgid "Requires Value" msgstr "" -#: part/models.py:3506 +#: part/models.py:3549 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3511 templates/js/translated/part.js:2923 +#: part/models.py:3554 templates/js/translated/part.js:2922 msgid "Requires Attachment" msgstr "" -#: part/models.py:3513 +#: part/models.py:3556 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3560 +#: part/models.py:3603 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3565 +#: part/models.py:3608 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3585 +#: part/models.py:3628 msgid "Choices must be unique" msgstr "" -#: part/models.py:3602 +#: part/models.py:3645 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3617 +#: part/models.py:3660 msgid "Parameter Name" msgstr "" -#: part/models.py:3624 +#: part/models.py:3667 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3632 +#: part/models.py:3675 msgid "Parameter description" msgstr "" -#: part/models.py:3638 templates/js/translated/part.js:1627 +#: part/models.py:3681 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3639 +#: part/models.py:3682 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3644 templates/js/translated/part.js:1636 +#: part/models.py:3687 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3645 +#: part/models.py:3688 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3722 +#: part/models.py:3765 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3765 +#: part/models.py:3808 msgid "Parent Part" msgstr "" -#: part/models.py:3773 part/models.py:3874 part/models.py:3875 +#: part/models.py:3816 part/models.py:3917 part/models.py:3918 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3778 +#: part/models.py:3821 msgid "Data" msgstr "" -#: part/models.py:3779 +#: part/models.py:3822 msgid "Parameter Value" msgstr "" -#: part/models.py:3881 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3924 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3882 +#: part/models.py:3925 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3920 +#: part/models.py:3963 msgid "Part ID or part name" msgstr "ID dílu nebo název dílu" -#: part/models.py:3921 +#: part/models.py:3964 msgid "Unique part ID value" msgstr "Jedinečná hodnota ID dílu" -#: part/models.py:3923 +#: part/models.py:3966 msgid "Part IPN value" msgstr "Hodnota IPN dílu" -#: part/models.py:3924 +#: part/models.py:3967 msgid "Level" msgstr "" -#: part/models.py:3924 +#: part/models.py:3967 msgid "BOM level" msgstr "" -#: part/models.py:4014 +#: part/models.py:4057 msgid "Select parent part" msgstr "Vyberte nadřazený díl" -#: part/models.py:4024 +#: part/models.py:4067 msgid "Sub part" msgstr "" -#: part/models.py:4025 +#: part/models.py:4068 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4036 +#: part/models.py:4079 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4042 +#: part/models.py:4085 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4048 +#: part/models.py:4091 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4055 part/templates/part/upload_bom.html:55 +#: part/models.py:4098 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4056 +#: part/models.py:4099 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4063 +#: part/models.py:4106 msgid "BOM item reference" msgstr "" -#: part/models.py:4071 +#: part/models.py:4114 msgid "BOM item notes" msgstr "" -#: part/models.py:4077 +#: part/models.py:4120 msgid "Checksum" msgstr "" -#: part/models.py:4078 +#: part/models.py:4121 msgid "BOM line checksum" msgstr "" -#: part/models.py:4083 templates/js/translated/table_filters.js:174 +#: part/models.py:4126 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4084 +#: part/models.py:4127 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4089 part/templates/part/upload_bom.html:57 +#: part/models.py:4132 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4090 +#: part/models.py:4133 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4095 part/templates/part/upload_bom.html:56 +#: part/models.py:4138 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4096 +#: part/models.py:4139 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4181 stock/models.py:647 +#: part/models.py:4224 stock/models.py:668 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4191 part/models.py:4193 +#: part/models.py:4234 part/models.py:4236 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4333 +#: part/models.py:4376 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4354 +#: part/models.py:4397 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4367 +#: part/models.py:4410 msgid "Parent BOM item" msgstr "" -#: part/models.py:4375 +#: part/models.py:4418 msgid "Substitute part" msgstr "" -#: part/models.py:4391 +#: part/models.py:4434 msgid "Part 1" msgstr "" -#: part/models.py:4399 +#: part/models.py:4442 msgid "Part 2" msgstr "" -#: part/models.py:4400 +#: part/models.py:4443 msgid "Select Related Part" msgstr "" -#: part/models.py:4419 +#: part/models.py:4462 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4424 +#: part/models.py:4467 msgid "Duplicate relationship already exists" msgstr "" @@ -6854,7 +6808,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:406 +#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:535 msgid "Purchase currency of this stock item" msgstr "" @@ -6870,299 +6824,299 @@ msgstr "" msgid "Select category" msgstr "" -#: part/serializers.py:437 +#: part/serializers.py:442 msgid "Original Part" msgstr "" -#: part/serializers.py:438 +#: part/serializers.py:443 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:448 msgid "Copy Image" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:449 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:450 part/templates/part/detail.html:277 +#: part/serializers.py:455 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:451 +#: part/serializers.py:456 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:462 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:458 +#: part/serializers.py:463 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:464 +#: part/serializers.py:469 msgid "Copy Notes" msgstr "" -#: part/serializers.py:465 +#: part/serializers.py:470 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:478 +#: part/serializers.py:488 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:490 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:487 +#: part/serializers.py:497 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:488 +#: part/serializers.py:498 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:500 +#: part/serializers.py:515 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:531 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:526 +#: part/serializers.py:541 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:533 +#: part/serializers.py:548 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:542 +#: part/serializers.py:557 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:553 +#: part/serializers.py:568 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:560 +#: part/serializers.py:575 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:823 +#: part/serializers.py:838 msgid "External Stock" msgstr "" -#: part/serializers.py:825 +#: part/serializers.py:840 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:828 +#: part/serializers.py:843 msgid "Variant Stock" msgstr "" -#: part/serializers.py:856 part/templates/part/copy_part.html:9 +#: part/serializers.py:871 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:857 +#: part/serializers.py:872 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:863 templates/js/translated/part.js:102 +#: part/serializers.py:878 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:864 +#: part/serializers.py:879 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:870 +#: part/serializers.py:885 msgid "Supplier Information" msgstr "" -#: part/serializers.py:871 +#: part/serializers.py:886 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:879 +#: part/serializers.py:894 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:880 +#: part/serializers.py:895 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:885 +#: part/serializers.py:900 msgid "Existing Image" msgstr "" -#: part/serializers.py:886 +#: part/serializers.py:901 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:918 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1109 +#: part/serializers.py:1124 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1119 +#: part/serializers.py:1134 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1129 +#: part/serializers.py:1144 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1135 +#: part/serializers.py:1150 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1136 +#: part/serializers.py:1151 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1141 +#: part/serializers.py:1156 msgid "Generate Report" msgstr "" -#: part/serializers.py:1142 +#: part/serializers.py:1157 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1147 +#: part/serializers.py:1162 msgid "Update Parts" msgstr "Aktualizovat díly" -#: part/serializers.py:1148 +#: part/serializers.py:1163 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1156 +#: part/serializers.py:1171 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1262 +#: part/serializers.py:1277 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1269 +#: part/serializers.py:1284 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1277 +#: part/serializers.py:1292 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1284 +#: part/serializers.py:1299 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1313 +#: part/serializers.py:1328 msgid "Update" msgstr "" -#: part/serializers.py:1314 +#: part/serializers.py:1329 msgid "Update pricing for this part" msgstr "Aktualizovat cenu pro díl" -#: part/serializers.py:1337 +#: part/serializers.py:1352 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1344 +#: part/serializers.py:1359 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1347 +#: part/serializers.py:1362 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1714 +#: part/serializers.py:1729 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1722 +#: part/serializers.py:1737 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1723 +#: part/serializers.py:1738 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1728 +#: part/serializers.py:1743 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1729 +#: part/serializers.py:1744 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1734 +#: part/serializers.py:1749 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1735 +#: part/serializers.py:1750 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1755 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1756 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1775 +#: part/serializers.py:1790 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1776 +#: part/serializers.py:1791 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1806 +#: part/serializers.py:1821 msgid "No part column specified" msgstr "" -#: part/serializers.py:1850 +#: part/serializers.py:1865 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1853 +#: part/serializers.py:1868 msgid "No matching part found" msgstr "" -#: part/serializers.py:1856 +#: part/serializers.py:1871 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1865 +#: part/serializers.py:1880 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1888 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1894 +#: part/serializers.py:1909 msgid "At least one BOM item is required" msgstr "" #: part/stocktake.py:224 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:2085 +#: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" @@ -7314,7 +7268,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2218 users/models.py:204 +#: templates/js/translated/stock.js:2216 users/models.py:204 msgid "Stocktake" msgstr "" @@ -7412,15 +7366,15 @@ msgstr "" msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:659 +#: part/templates/part/detail.html:655 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:667 +#: part/templates/part/detail.html:663 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:752 +#: part/templates/part/detail.html:748 msgid "Add Test Result Template" msgstr "" @@ -7479,7 +7433,7 @@ msgstr "" #: part/templates/part/part_base.html:52 #: stock/templates/stock/item_base.html:62 -#: stock/templates/stock/location.html:74 +#: stock/templates/stock/location.html:74 templates/js/translated/label.js:142 msgid "Print Label" msgstr "" @@ -7501,7 +7455,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2293 +#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2292 msgid "Part actions" msgstr "" @@ -7550,7 +7504,7 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:163 -#: part/templates/part/part_base.html:682 +#: part/templates/part/part_base.html:681 msgid "Show Part Details" msgstr "" @@ -7573,7 +7527,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2444 +#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2443 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7596,19 +7550,19 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:512 +#: part/templates/part/part_base.html:511 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:529 +#: part/templates/part/part_base.html:528 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:580 +#: part/templates/part/part_base.html:579 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:676 +#: part/templates/part/part_base.html:675 msgid "Hide Part Details" msgstr "" @@ -7667,8 +7621,8 @@ msgstr "" #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 -#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 -#: templates/js/translated/stock.js:2072 templates/navbar.html:31 +#: templates/js/translated/part.js:2391 templates/js/translated/stock.js:1059 +#: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7714,7 +7668,7 @@ msgstr "" #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 -#: templates/js/translated/stock.js:2248 +#: templates/js/translated/stock.js:2246 msgid "Last Updated" msgstr "" @@ -7786,7 +7740,7 @@ msgid "Update Pricing" msgstr "" #: part/templates/part/stock_count.html:7 -#: templates/js/translated/model_renderers.js:221 +#: templates/js/translated/model_renderers.js:227 #: templates/js/translated/part.js:704 templates/js/translated/part.js:2140 #: templates/js/translated/part.js:2142 msgid "No Stock" @@ -7866,7 +7820,7 @@ msgstr "" msgid "Part Pricing" msgstr "" -#: plugin/api.py:168 +#: plugin/api.py:170 msgid "Plugin cannot be deleted as it is currently active" msgstr "" @@ -7933,7 +7887,7 @@ msgid "Stock item does not match line item" msgstr "" #: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2589 -#: templates/js/translated/sales_order.js:1917 +#: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "" @@ -8027,22 +7981,18 @@ msgstr "" msgid "Quantity to allocate" msgstr "" -#: plugin/base/label/label.py:39 +#: plugin/base/label/label.py:39 templates/js/translated/label.js:154 msgid "Label printing failed" msgstr "" -#: plugin/base/label/mixins.py:63 +#: plugin/base/label/mixins.py:56 msgid "Error rendering label to PDF" msgstr "" -#: plugin/base/label/mixins.py:76 +#: plugin/base/label/mixins.py:70 msgid "Error rendering label to HTML" msgstr "" -#: plugin/base/label/mixins.py:111 -msgid "Error rendering label to PNG" -msgstr "" - #: plugin/builtin/barcodes/inventree_barcode.py:25 msgid "InvenTree Barcodes" msgstr "" @@ -8054,7 +8004,7 @@ msgstr "" #: plugin/builtin/barcodes/inventree_barcode.py:28 #: plugin/builtin/integration/core_notifications.py:35 #: plugin/builtin/integration/currency_exchange.py:21 -#: plugin/builtin/labels/inventree_label.py:23 +#: plugin/builtin/labels/inventree_label.py:22 #: plugin/builtin/labels/inventree_machine.py:64 #: plugin/builtin/labels/label_sheet.py:63 #: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 @@ -8108,19 +8058,19 @@ msgstr "" msgid "Default currency exchange integration" msgstr "" -#: plugin/builtin/labels/inventree_label.py:20 +#: plugin/builtin/labels/inventree_label.py:19 msgid "InvenTree PDF label printer" msgstr "" -#: plugin/builtin/labels/inventree_label.py:21 +#: plugin/builtin/labels/inventree_label.py:20 msgid "Provides native support for printing PDF labels" msgstr "" -#: plugin/builtin/labels/inventree_label.py:29 +#: plugin/builtin/labels/inventree_label.py:28 msgid "Debug mode" msgstr "" -#: plugin/builtin/labels/inventree_label.py:30 +#: plugin/builtin/labels/inventree_label.py:29 msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "" @@ -8132,11 +8082,11 @@ msgstr "" msgid "Provides support for printing using a machine" msgstr "" -#: plugin/builtin/labels/inventree_machine.py:150 +#: plugin/builtin/labels/inventree_machine.py:151 msgid "last used" msgstr "" -#: plugin/builtin/labels/inventree_machine.py:167 +#: plugin/builtin/labels/inventree_machine.py:168 msgid "Options" msgstr "" @@ -8160,7 +8110,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:47 report/models.py:209 +#: plugin/builtin/labels/label_sheet.py:47 report/models.py:308 msgid "Landscape" msgstr "" @@ -8176,11 +8126,11 @@ msgstr "" msgid "Arrays multiple labels onto a single sheet" msgstr "" -#: plugin/builtin/labels/label_sheet.py:94 +#: plugin/builtin/labels/label_sheet.py:99 msgid "Label is too large for page size" msgstr "" -#: plugin/builtin/labels/label_sheet.py:128 +#: plugin/builtin/labels/label_sheet.py:133 msgid "No labels were generated" msgstr "" @@ -8273,61 +8223,62 @@ msgstr "" msgid "Uninstalled plugin successfully" msgstr "" -#: plugin/models.py:30 +#: plugin/models.py:35 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:31 +#: plugin/models.py:36 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:34 users/models.py:100 +#: plugin/models.py:42 users/models.py:100 msgid "Key" msgstr "" -#: plugin/models.py:34 +#: plugin/models.py:43 msgid "Key of plugin" msgstr "" -#: plugin/models.py:42 +#: plugin/models.py:51 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:49 plugin/serializers.py:90 +#: plugin/models.py:58 plugin/serializers.py:90 msgid "Package Name" msgstr "" -#: plugin/models.py:51 +#: plugin/models.py:60 msgid "Name of the installed package, if the plugin was installed via PIP" msgstr "" -#: plugin/models.py:56 +#: plugin/models.py:65 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:147 templates/js/translated/table_filters.js:370 +#: plugin/models.py:156 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "" -#: plugin/models.py:156 +#: plugin/models.py:165 msgid "Sample plugin" msgstr "" -#: plugin/models.py:164 +#: plugin/models.py:173 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:172 +#: plugin/models.py:181 msgid "Package Plugin" msgstr "" -#: plugin/models.py:196 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:205 report/models.py:475 +#: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" msgstr "" -#: plugin/models.py:243 +#: plugin/models.py:252 msgid "Method" msgstr "" @@ -8468,239 +8419,323 @@ msgstr "" msgid "Delete the plugin configuration from the database" msgstr "" -#: report/api.py:158 +#: report/api.py:77 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:197 report/api.py:234 +#: report/api.py:89 report/serializers.py:53 +msgid "Model Type" +msgstr "" + +#: report/api.py:92 report/models.py:439 report/serializers.py:98 +#: report/serializers.py:148 templates/js/translated/purchase_order.js:1747 +#: templates/js/translated/return_order.js:353 +#: templates/js/translated/sales_order.js:887 +#: templates/js/translated/sales_order.js:1047 +msgid "Items" +msgstr "" + +#: report/api.py:168 +msgid "Plugin not found" +msgstr "" + +#: report/api.py:170 +msgid "Plugin is not active" +msgstr "" + +#: report/api.py:172 +msgid "Plugin does not support label printing" +msgstr "" + +#: report/api.py:221 +msgid "Invalid label dimensions" +msgstr "" + +#: report/api.py:236 report/api.py:316 +msgid "No valid items provided to template" +msgstr "" + +#: report/api.py:271 +msgid "Error printing label" +msgstr "" + +#: report/api.py:362 report/api.py:398 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:319 -msgid "Test report" -msgstr "" - -#: report/helpers.py:15 +#: report/helpers.py:41 msgid "A4" msgstr "" -#: report/helpers.py:16 +#: report/helpers.py:42 msgid "A3" msgstr "" -#: report/helpers.py:17 +#: report/helpers.py:43 msgid "Legal" msgstr "" -#: report/helpers.py:18 +#: report/helpers.py:44 msgid "Letter" msgstr "" -#: report/models.py:177 +#: report/models.py:118 +msgid "Template file with this name already exists" +msgstr "" + +#: report/models.py:150 msgid "Template name" msgstr "" -#: report/models.py:183 -msgid "Report template file" +#: report/models.py:156 +msgid "Template description" msgstr "" -#: report/models.py:190 -msgid "Report template description" +#: report/models.py:162 +msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:196 -msgid "Report revision number (auto-increments)" +#: report/models.py:202 +msgid "Filename Pattern" msgstr "" -#: report/models.py:204 +#: report/models.py:203 +msgid "Pattern for generating filenames" +msgstr "" + +#: report/models.py:208 +msgid "Template is enabled" +msgstr "" + +#: report/models.py:214 +msgid "Target model type for template" +msgstr "" + +#: report/models.py:234 +msgid "Filters" +msgstr "" + +#: report/models.py:235 +msgid "Template query filters (comma-separated list of key=value pairs)" +msgstr "" + +#: report/models.py:295 report/models.py:362 +msgid "Template file" +msgstr "" + +#: report/models.py:303 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:210 +#: report/models.py:309 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:318 -msgid "Pattern for generating report filenames" +#: report/models.py:368 +msgid "Width [mm]" msgstr "" -#: report/models.py:325 -msgid "Report template is enabled" +#: report/models.py:369 +msgid "Label width, specified in mm" msgstr "" -#: report/models.py:347 -msgid "StockItem query filters (comma-separated list of key=value pairs)" +#: report/models.py:375 +msgid "Height [mm]" msgstr "" -#: report/models.py:354 -msgid "Include Installed Tests" +#: report/models.py:376 +msgid "Label height, specified in mm" msgstr "" -#: report/models.py:356 -msgid "Include test results for stock items installed inside assembled item" +#: report/models.py:439 +msgid "Number of items to process" msgstr "" -#: report/models.py:424 -msgid "Build Filters" +#: report/models.py:445 +msgid "Report generation is complete" msgstr "" -#: report/models.py:425 -msgid "Build query filters (comma-separated list of key=value pairs" +#: report/models.py:449 templates/js/translated/build.js:2177 +msgid "Progress" msgstr "" -#: report/models.py:464 -msgid "Part Filters" +#: report/models.py:449 +msgid "Report generation progress" msgstr "" -#: report/models.py:465 -msgid "Part query filters (comma-separated list of key=value pairs" +#: report/models.py:457 +msgid "Report Template" msgstr "" -#: report/models.py:497 -msgid "Purchase order query filters" +#: report/models.py:464 report/models.py:487 +msgid "Output File" msgstr "" -#: report/models.py:533 -msgid "Sales order query filters" +#: report/models.py:465 report/models.py:488 +msgid "Generated output file" msgstr "" -#: report/models.py:569 -msgid "Return order query filters" +#: report/models.py:476 +msgid "Label output plugin" msgstr "" -#: report/models.py:641 -msgid "Snippet file with this name already exists" +#: report/models.py:480 +msgid "Label Template" msgstr "" -#: report/models.py:648 +#: report/models.py:503 msgid "Snippet" msgstr "" -#: report/models.py:649 +#: report/models.py:504 msgid "Report snippet file" msgstr "" -#: report/models.py:656 +#: report/models.py:511 msgid "Snippet file description" msgstr "" -#: report/models.py:714 -msgid "Asset file with this name already exists" -msgstr "" - -#: report/models.py:722 +#: report/models.py:529 msgid "Asset" msgstr "" -#: report/models.py:723 +#: report/models.py:530 msgid "Report asset file" msgstr "" -#: report/models.py:730 +#: report/models.py:537 msgid "Asset file description" msgstr "" -#: report/models.py:752 -msgid "stock location query filters (comma-separated list of key=value pairs)" +#: report/serializers.py:91 +msgid "Select report template" +msgstr "" + +#: report/serializers.py:99 report/serializers.py:149 +msgid "List of item primary keys to include in the report" +msgstr "" + +#: report/serializers.py:132 +msgid "Select label template" +msgstr "" + +#: report/serializers.py:140 +msgid "Printing Plugin" +msgstr "" + +#: report/serializers.py:141 +msgid "Select plugin to use for label printing" +msgstr "" + +#: report/templates/label/part_label.html:31 +#: report/templates/label/stockitem_qr.html:21 +#: report/templates/label/stocklocation_qr.html:20 +#: templates/allauth_2fa/setup.html:18 +msgid "QR Code" +msgstr "" + +#: report/templates/label/part_label_code128.html:31 +#: report/templates/label/stocklocation_qr_and_text.html:31 +#: templates/qr_code.html:7 +msgid "QR code" msgstr "" #: report/templates/report/inventree_bill_of_materials_report.html:133 msgid "Materials needed" msgstr "" -#: report/templates/report/inventree_build_order_base.html:146 +#: report/templates/report/inventree_build_order_report.html:146 msgid "Required For" msgstr "" -#: report/templates/report/inventree_po_report_base.html:15 +#: report/templates/report/inventree_purchase_order_report.html:15 msgid "Supplier was deleted" msgstr "" -#: report/templates/report/inventree_po_report_base.html:30 -#: report/templates/report/inventree_so_report_base.html:30 +#: report/templates/report/inventree_purchase_order_report.html:30 +#: report/templates/report/inventree_sales_order_report.html:30 #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:834 -#: templates/js/translated/purchase_order.js:2116 -#: templates/js/translated/sales_order.js:1837 +#: templates/js/translated/purchase_order.js:2115 +#: templates/js/translated/sales_order.js:1873 msgid "Unit Price" msgstr "" -#: report/templates/report/inventree_po_report_base.html:55 -#: report/templates/report/inventree_return_order_report_base.html:48 -#: report/templates/report/inventree_so_report_base.html:55 +#: report/templates/report/inventree_purchase_order_report.html:55 +#: report/templates/report/inventree_return_order_report.html:48 +#: report/templates/report/inventree_sales_order_report.html:55 msgid "Extra Line Items" 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:2018 -#: templates/js/translated/sales_order.js:1806 +#: report/templates/report/inventree_purchase_order_report.html:72 +#: report/templates/report/inventree_sales_order_report.html:72 +#: templates/js/translated/purchase_order.js:2017 +#: templates/js/translated/sales_order.js:1842 msgid "Total" msgstr "" -#: report/templates/report/inventree_return_order_report_base.html:25 -#: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:809 stock/templates/stock/item_base.html:311 +#: report/templates/report/inventree_return_order_report.html:25 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:830 +#: stock/serializers.py:150 stock/templates/stock/item_base.html:311 #: templates/js/translated/build.js:519 templates/js/translated/build.js:1367 #: templates/js/translated/build.js:2355 -#: templates/js/translated/model_renderers.js:224 -#: templates/js/translated/return_order.js:540 -#: templates/js/translated/return_order.js:724 +#: templates/js/translated/model_renderers.js:230 +#: templates/js/translated/return_order.js:539 +#: templates/js/translated/return_order.js:723 #: templates/js/translated/sales_order.js:315 -#: templates/js/translated/sales_order.js:1611 -#: templates/js/translated/sales_order.js:1696 +#: templates/js/translated/sales_order.js:1647 +#: templates/js/translated/sales_order.js:1732 #: templates/js/translated/stock.js:596 msgid "Serial Number" msgstr "" -#: report/templates/report/inventree_slr_report.html:97 +#: report/templates/report/inventree_stock_location_report.html:97 msgid "Stock location items" msgstr "" -#: report/templates/report/inventree_test_report_base.html:21 +#: report/templates/report/inventree_test_report.html:21 msgid "Stock Item Test Report" msgstr "" -#: report/templates/report/inventree_test_report_base.html:97 +#: report/templates/report/inventree_test_report.html:97 msgid "Test Results" msgstr "" -#: report/templates/report/inventree_test_report_base.html:102 +#: report/templates/report/inventree_test_report.html:102 #: templates/js/translated/stock.js:1495 msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2442 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2419 msgid "Result" msgstr "" -#: report/templates/report/inventree_test_report_base.html:130 +#: report/templates/report/inventree_test_report.html:130 msgid "Pass" msgstr "" -#: report/templates/report/inventree_test_report_base.html:132 +#: report/templates/report/inventree_test_report.html:132 msgid "Fail" msgstr "" -#: report/templates/report/inventree_test_report_base.html:139 +#: report/templates/report/inventree_test_report.html:139 msgid "No result (required)" msgstr "" -#: report/templates/report/inventree_test_report_base.html:141 +#: report/templates/report/inventree_test_report.html:141 msgid "No result" msgstr "" -#: report/templates/report/inventree_test_report_base.html:154 +#: report/templates/report/inventree_test_report.html:154 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report_base.html:168 -#: stock/admin.py:162 templates/js/translated/stock.js:700 -#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3113 +#: report/templates/report/inventree_test_report.html:168 stock/admin.py:162 +#: templates/js/translated/stock.js:700 templates/js/translated/stock.js:871 +#: templates/js/translated/stock.js:3110 msgid "Serial" msgstr "" @@ -8757,7 +8792,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:201 stock/models.py:789 +#: stock/admin.py:201 stock/models.py:810 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" @@ -8782,66 +8817,66 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:256 stock/models.py:883 +#: stock/admin.py:256 stock/models.py:904 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2232 users/models.py:124 +#: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" msgstr "" -#: stock/api.py:284 +#: stock/api.py:318 msgid "Filter by location depth" msgstr "" -#: stock/api.py:304 +#: stock/api.py:338 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:325 +#: stock/api.py:359 msgid "Parent Location" msgstr "" -#: stock/api.py:326 +#: stock/api.py:360 msgid "Filter by parent location" msgstr "" -#: stock/api.py:579 templates/js/translated/table_filters.js:427 +#: stock/api.py:613 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:767 +#: stock/api.py:801 msgid "Part Tree" msgstr "" -#: stock/api.py:797 +#: stock/api.py:831 msgid "Expiry date before" msgstr "" -#: stock/api.py:801 +#: stock/api.py:835 msgid "Expiry date after" msgstr "" -#: stock/api.py:804 stock/templates/stock/item_base.html:439 +#: stock/api.py:838 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:891 +#: stock/api.py:925 msgid "Quantity is required" msgstr "" -#: stock/api.py:897 +#: stock/api.py:931 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:928 +#: stock/api.py:962 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:938 +#: stock/api.py:972 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:969 +#: stock/api.py:1003 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8857,477 +8892,517 @@ msgstr "" msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:125 stock/models.py:771 +#: stock/models.py:127 stock/models.py:792 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:126 stock/templates/stock/location.html:179 +#: stock/models.py:128 stock/templates/stock/location.html:186 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "" -#: stock/models.py:158 stock/models.py:932 +#: stock/models.py:170 stock/models.py:953 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:159 stock/models.py:933 +#: stock/models.py:171 stock/models.py:954 msgid "Select Owner" msgstr "" -#: stock/models.py:167 +#: stock/models.py:179 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:174 templates/js/translated/stock.js:2784 +#: stock/models.py:186 templates/js/translated/stock.js:2781 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "" -#: stock/models.py:175 +#: stock/models.py:187 msgid "This is an external stock location" msgstr "" -#: stock/models.py:181 templates/js/translated/stock.js:2793 +#: stock/models.py:193 templates/js/translated/stock.js:2790 #: templates/js/translated/table_filters.js:246 msgid "Location type" msgstr "" -#: stock/models.py:185 +#: stock/models.py:197 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:254 +#: stock/models.py:266 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:626 +#: stock/models.py:647 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:653 stock/serializers.py:290 +#: stock/models.py:674 stock/serializers.py:419 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:670 +#: stock/models.py:691 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:680 stock/models.py:693 +#: stock/models.py:701 stock/models.py:714 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:683 +#: stock/models.py:704 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:707 +#: stock/models.py:728 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:712 +#: stock/models.py:733 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:725 +#: stock/models.py:746 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:741 +#: stock/models.py:762 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:753 +#: stock/models.py:774 msgid "Base part" msgstr "" -#: stock/models.py:763 +#: stock/models.py:784 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:775 +#: stock/models.py:796 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:783 stock/serializers.py:1351 +#: stock/models.py:804 stock/serializers.py:1480 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:794 +#: stock/models.py:815 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:813 +#: stock/models.py:834 msgid "Serial number for this item" msgstr "" -#: stock/models.py:827 stock/serializers.py:1334 +#: stock/models.py:848 stock/serializers.py:1463 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:832 +#: stock/models.py:853 msgid "Stock Quantity" msgstr "" -#: stock/models.py:842 +#: stock/models.py:863 msgid "Source Build" msgstr "" -#: stock/models.py:845 +#: stock/models.py:866 msgid "Build for this stock item" msgstr "" -#: stock/models.py:852 stock/templates/stock/item_base.html:363 +#: stock/models.py:873 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:855 +#: stock/models.py:876 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:864 +#: stock/models.py:885 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:868 +#: stock/models.py:889 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:874 +#: stock/models.py:895 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:885 +#: stock/models.py:906 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:903 +#: stock/models.py:924 msgid "Delete on deplete" msgstr "" -#: stock/models.py:904 +#: stock/models.py:925 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:924 +#: stock/models.py:945 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:955 +#: stock/models.py:976 msgid "Converted to part" msgstr "" -#: stock/models.py:1473 +#: stock/models.py:1494 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1479 +#: stock/models.py:1500 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1487 +#: stock/models.py:1508 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1493 +#: stock/models.py:1514 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1498 +#: stock/models.py:1519 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1506 stock/serializers.py:529 +#: stock/models.py:1527 stock/serializers.py:658 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1603 +#: stock/models.py:1624 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1621 +#: stock/models.py:1642 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1625 +#: stock/models.py:1646 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1628 +#: stock/models.py:1649 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1631 +#: stock/models.py:1652 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1634 +#: stock/models.py:1655 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1637 +#: stock/models.py:1658 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1644 stock/serializers.py:1240 +#: stock/models.py:1665 stock/serializers.py:1369 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1648 +#: stock/models.py:1669 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1656 +#: stock/models.py:1677 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1661 +#: stock/models.py:1682 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1882 +#: stock/models.py:1903 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2345 +#: stock/models.py:2322 msgid "Entry notes" msgstr "" -#: stock/models.py:2410 +#: stock/models.py:2387 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2415 +#: stock/models.py:2392 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2442 +#: stock/models.py:2419 msgid "Test result" msgstr "" -#: stock/models.py:2449 +#: stock/models.py:2426 msgid "Test output value" msgstr "" -#: stock/models.py:2457 +#: stock/models.py:2434 msgid "Test result attachment" msgstr "" -#: stock/models.py:2461 +#: stock/models.py:2438 msgid "Test notes" msgstr "" -#: stock/models.py:2469 templates/js/translated/stock.js:1548 +#: stock/models.py:2446 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "" -#: stock/models.py:2470 +#: stock/models.py:2447 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2476 +#: stock/models.py:2453 msgid "Started" msgstr "" -#: stock/models.py:2477 +#: stock/models.py:2454 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2483 +#: stock/models.py:2460 msgid "Finished" msgstr "" -#: stock/models.py:2484 +#: stock/models.py:2461 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:100 +#: stock/serializers.py:75 +msgid "Generated batch code" +msgstr "" + +#: stock/serializers.py:84 +msgid "Select build order" +msgstr "" + +#: stock/serializers.py:93 +msgid "Select stock item to generate batch code for" +msgstr "" + +#: stock/serializers.py:102 +msgid "Select location to generate batch code for" +msgstr "" + +#: stock/serializers.py:111 +msgid "Select part to generate batch code for" +msgstr "" + +#: stock/serializers.py:120 +msgid "Select purchase order" +msgstr "" + +#: stock/serializers.py:127 +msgid "Enter quantity for batch code" +msgstr "" + +#: stock/serializers.py:150 +msgid "Generated serial number" +msgstr "" + +#: stock/serializers.py:159 +msgid "Select part to generate serial number for" +msgstr "" + +#: stock/serializers.py:167 +msgid "Quantity of serial numbers to generate" +msgstr "" + +#: stock/serializers.py:229 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:119 +#: stock/serializers.py:248 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:151 +#: stock/serializers.py:280 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:184 +#: stock/serializers.py:313 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:282 +#: stock/serializers.py:411 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:402 +#: stock/serializers.py:531 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:464 +#: stock/serializers.py:593 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:477 +#: stock/serializers.py:606 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:484 +#: stock/serializers.py:613 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:495 stock/serializers.py:1197 stock/serializers.py:1453 +#: stock/serializers.py:624 stock/serializers.py:1326 stock/serializers.py:1582 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:502 +#: stock/serializers.py:631 msgid "Optional note field" msgstr "" -#: stock/serializers.py:512 +#: stock/serializers.py:641 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:567 +#: stock/serializers.py:696 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:574 +#: stock/serializers.py:703 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:575 +#: stock/serializers.py:704 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:580 stock/serializers.py:660 stock/serializers.py:756 -#: stock/serializers.py:806 +#: stock/serializers.py:709 stock/serializers.py:789 stock/serializers.py:885 +#: stock/serializers.py:935 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:588 +#: stock/serializers.py:717 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:596 +#: stock/serializers.py:725 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:607 +#: stock/serializers.py:736 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:620 +#: stock/serializers.py:749 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:655 +#: stock/serializers.py:784 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:690 +#: stock/serializers.py:819 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:703 +#: stock/serializers.py:832 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:720 +#: stock/serializers.py:849 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:751 +#: stock/serializers.py:880 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:788 +#: stock/serializers.py:917 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:794 +#: stock/serializers.py:923 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:890 stock/serializers.py:953 +#: stock/serializers.py:1019 stock/serializers.py:1082 #: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:213 +#: stock/templates/stock/location.html:220 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1069 +#: stock/serializers.py:1198 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1073 +#: stock/serializers.py:1202 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1077 +#: stock/serializers.py:1206 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1101 +#: stock/serializers.py:1230 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1107 +#: stock/serializers.py:1236 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1115 +#: stock/serializers.py:1244 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1125 stock/serializers.py:1379 +#: stock/serializers.py:1254 stock/serializers.py:1508 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1204 +#: stock/serializers.py:1333 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1209 +#: stock/serializers.py:1338 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1210 +#: stock/serializers.py:1339 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1215 +#: stock/serializers.py:1344 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1216 +#: stock/serializers.py:1345 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1226 +#: stock/serializers.py:1355 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1293 +#: stock/serializers.py:1422 msgid "No Change" msgstr "" -#: stock/serializers.py:1322 +#: stock/serializers.py:1451 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1341 +#: stock/serializers.py:1470 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1369 +#: stock/serializers.py:1498 msgid "Stock transaction notes" msgstr "" @@ -9352,7 +9427,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:286 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:282 msgid "Delete Test Data" msgstr "" @@ -9368,15 +9443,15 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3274 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3271 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:274 +#: stock/templates/stock/item.html:270 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:304 templates/js/translated/stock.js:1701 +#: stock/templates/stock/item.html:300 templates/js/translated/stock.js:1701 msgid "Add Test Result" msgstr "" @@ -9561,40 +9636,40 @@ msgstr "" msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:507 -#: templates/js/translated/stock.js:1954 +#: stock/templates/stock/item_base.html:504 +#: templates/js/translated/stock.js:1952 msgid "stock item" msgstr "" -#: stock/templates/stock/item_base.html:532 +#: stock/templates/stock/item_base.html:527 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:541 +#: stock/templates/stock/item_base.html:536 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:552 +#: stock/templates/stock/item_base.html:547 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:616 +#: stock/templates/stock/item_base.html:611 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:619 +#: stock/templates/stock/item_base.html:614 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:620 +#: stock/templates/stock/item_base.html:615 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:628 +#: stock/templates/stock/item_base.html:623 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:662 +#: stock/templates/stock/item_base.html:657 msgid "Return to Stock" msgstr "" @@ -9658,28 +9733,32 @@ msgstr "" msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:217 +#: stock/templates/stock/location.html:176 +msgid "Location Type" +msgstr "" + +#: stock/templates/stock/location.html:224 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:218 +#: stock/templates/stock/location.html:225 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:287 -#: templates/js/translated/stock.js:2575 +#: stock/templates/stock/location.html:295 +#: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:315 +#: stock/templates/stock/location.html:317 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:388 +#: stock/templates/stock/location.html:390 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:399 +#: stock/templates/stock/location.html:401 msgid "Link Barcode to Stock Location" msgstr "" @@ -9949,11 +10028,11 @@ msgstr "" msgid "Part Settings" msgstr "" -#: templates/InvenTree/settings/part.html:42 +#: templates/InvenTree/settings/part.html:43 msgid "Part Import" msgstr "" -#: templates/InvenTree/settings/part.html:46 +#: templates/InvenTree/settings/part.html:47 msgid "Import Part" msgstr "" @@ -10174,7 +10253,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:424 +#: templates/js/translated/stock.js:245 users/models.py:411 msgid "Delete" msgstr "Odstranit" @@ -10283,7 +10362,7 @@ msgid "Home Page" msgstr "Domovská stránka" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2159 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2163 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" @@ -10874,7 +10953,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3218 +#: templates/js/translated/part.js:3217 msgid "Minimum Quantity" msgstr "" @@ -11254,7 +11333,7 @@ msgid "External stock" msgstr "" #: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2595 -#: templates/js/translated/sales_order.js:1910 +#: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" @@ -11264,7 +11343,7 @@ msgstr "" #: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 #: templates/js/translated/part.js:1256 -#: templates/js/translated/sales_order.js:1907 +#: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" @@ -11519,17 +11598,17 @@ msgstr "" #: templates/js/translated/build.js:1576 #: templates/js/translated/purchase_order.js:611 -#: templates/js/translated/sales_order.js:1171 +#: templates/js/translated/sales_order.js:1207 msgid "Select Parts" msgstr "" #: templates/js/translated/build.js:1577 -#: templates/js/translated/sales_order.js:1172 +#: templates/js/translated/sales_order.js:1208 msgid "You must select at least one part to allocate" msgstr "" #: templates/js/translated/build.js:1640 -#: templates/js/translated/sales_order.js:1121 +#: templates/js/translated/sales_order.js:1157 msgid "Specify stock allocation quantity" msgstr "" @@ -11542,7 +11621,7 @@ msgid "All selected parts have been fully allocated" msgstr "" #: templates/js/translated/build.js:1732 -#: templates/js/translated/sales_order.js:1186 +#: templates/js/translated/sales_order.js:1222 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -11551,12 +11630,12 @@ msgid "Allocate Stock Items to Build Order" msgstr "" #: templates/js/translated/build.js:1771 -#: templates/js/translated/sales_order.js:1283 +#: templates/js/translated/sales_order.js:1319 msgid "No matching stock locations" msgstr "" #: templates/js/translated/build.js:1844 -#: templates/js/translated/sales_order.js:1362 +#: templates/js/translated/sales_order.js:1398 msgid "No matching stock items" msgstr "" @@ -11589,9 +11668,9 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 -#: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 -#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 -#: templates/js/translated/stock.js:1985 templates/js/translated/stock.js:2713 +#: templates/js/translated/forms.js:2159 templates/js/translated/forms.js:2175 +#: templates/js/translated/part.js:2315 templates/js/translated/part.js:2741 +#: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "" @@ -11599,21 +11678,17 @@ msgstr "" msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2177 -msgid "Progress" -msgstr "" - -#: templates/js/translated/build.js:2213 templates/js/translated/stock.js:3045 +#: templates/js/translated/build.js:2213 templates/js/translated/stock.js:3042 msgid "No user information" msgstr "" #: templates/js/translated/build.js:2389 -#: templates/js/translated/sales_order.js:1646 +#: templates/js/translated/sales_order.js:1682 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:2390 -#: templates/js/translated/sales_order.js:1647 +#: templates/js/translated/sales_order.js:1683 msgid "Delete stock allocation" msgstr "" @@ -11647,7 +11722,7 @@ msgid "Unit Quantity" msgstr "" #: templates/js/translated/build.js:2591 -#: templates/js/translated/sales_order.js:1915 +#: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" @@ -11664,7 +11739,7 @@ msgid "Allocate tracked items against individual build outputs" msgstr "" #: templates/js/translated/build.js:2662 -#: templates/js/translated/sales_order.js:2016 +#: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "" @@ -11673,7 +11748,7 @@ msgid "Order stock" msgstr "" #: templates/js/translated/build.js:2671 -#: templates/js/translated/sales_order.js:2010 +#: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "" @@ -11923,12 +11998,12 @@ msgid "Delete price break" msgstr "" #: templates/js/translated/filters.js:186 -#: templates/js/translated/filters.js:672 +#: templates/js/translated/filters.js:667 msgid "true" msgstr "" #: templates/js/translated/filters.js:190 -#: templates/js/translated/filters.js:673 +#: templates/js/translated/filters.js:668 msgid "false" msgstr "" @@ -11960,7 +12035,7 @@ msgstr "" msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:582 +#: templates/js/translated/filters.js:577 msgid "Create filter" msgstr "" @@ -11993,32 +12068,32 @@ msgstr "" msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1473 templates/modals.html:19 +#: templates/js/translated/forms.js:1477 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1971 +#: templates/js/translated/forms.js:1975 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2275 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2279 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2489 +#: templates/js/translated/forms.js:2493 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3091 +#: templates/js/translated/forms.js:3095 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3091 +#: templates/js/translated/forms.js:3095 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3103 +#: templates/js/translated/forms.js:3107 msgid "Select Columns" msgstr "" @@ -12042,51 +12117,15 @@ msgstr "" msgid "No parts required for builds" msgstr "" -#: templates/js/translated/label.js:53 templates/js/translated/report.js:123 +#: templates/js/translated/label.js:55 templates/js/translated/report.js:38 msgid "Select Items" msgstr "" -#: templates/js/translated/label.js:54 +#: templates/js/translated/label.js:56 templates/js/translated/report.js:39 msgid "No items selected for printing" msgstr "" -#: templates/js/translated/label.js:72 -msgid "No Labels Found" -msgstr "" - -#: templates/js/translated/label.js:73 -msgid "No label templates found which match the selected items" -msgstr "" - -#: templates/js/translated/label.js:97 -msgid "selected" -msgstr "" - -#: templates/js/translated/label.js:133 -msgid "Printing Options" -msgstr "" - -#: templates/js/translated/label.js:148 -msgid "Print label" -msgstr "" - -#: templates/js/translated/label.js:148 -msgid "Print labels" -msgstr "" - #: templates/js/translated/label.js:149 -msgid "Print" -msgstr "" - -#: templates/js/translated/label.js:155 -msgid "Select label template" -msgstr "" - -#: templates/js/translated/label.js:168 -msgid "Select plugin" -msgstr "" - -#: templates/js/translated/label.js:187 msgid "Labels sent to printer" msgstr "" @@ -12204,7 +12243,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1991 +#: templates/js/translated/purchase_order.js:1990 msgid "No line items found" msgstr "" @@ -12442,19 +12481,19 @@ msgid "Delete Part Parameter Template" msgstr "" #: templates/js/translated/part.js:1716 -#: templates/js/translated/purchase_order.js:1655 +#: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1860 -#: templates/js/translated/purchase_order.js:2154 -#: templates/js/translated/return_order.js:756 -#: templates/js/translated/sales_order.js:1875 +#: templates/js/translated/purchase_order.js:2153 +#: templates/js/translated/return_order.js:755 +#: templates/js/translated/sales_order.js:1911 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1906 -#: templates/js/translated/purchase_order.js:2221 +#: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "" @@ -12466,7 +12505,7 @@ msgstr "" msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2506 +#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2505 msgid "No parts found" msgstr "" @@ -12482,101 +12521,101 @@ msgstr "" msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2286 msgid "part" msgstr "" -#: templates/js/translated/part.js:2288 +#: templates/js/translated/part.js:2287 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2384 +#: templates/js/translated/part.js:2383 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 -#: templates/js/translated/stock.js:2672 +#: templates/js/translated/part.js:2530 templates/js/translated/part.js:2660 +#: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2547 +#: templates/js/translated/part.js:2546 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2645 +#: templates/js/translated/part.js:2644 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2692 +#: templates/js/translated/part.js:2680 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2761 +#: templates/js/translated/part.js:2760 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2777 +#: templates/js/translated/part.js:2776 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2864 +#: templates/js/translated/part.js:2863 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2886 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2885 templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2935 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2941 +#: templates/js/translated/part.js:2940 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2957 +#: templates/js/translated/part.js:2956 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2971 +#: templates/js/translated/part.js:2970 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3050 templates/js/translated/part.js:3051 +#: templates/js/translated/part.js:3049 templates/js/translated/part.js:3050 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3053 +#: templates/js/translated/part.js:3052 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3059 +#: templates/js/translated/part.js:3058 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3109 +#: templates/js/translated/part.js:3108 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3115 +#: templates/js/translated/part.js:3114 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3211 +#: templates/js/translated/part.js:3210 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3227 +#: templates/js/translated/part.js:3226 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3272 +#: templates/js/translated/part.js:3271 msgid "Minimum Stock Level" msgstr "" @@ -12702,7 +12741,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:448 #: templates/js/translated/return_order.js:210 -#: templates/js/translated/sales_order.js:500 +#: templates/js/translated/sales_order.js:552 msgid "Mark this order as complete?" msgstr "" @@ -12715,7 +12754,6 @@ msgid "This order has line items which have not been marked as received." msgstr "" #: templates/js/translated/purchase_order.js:460 -#: templates/js/translated/sales_order.js:514 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" @@ -12773,12 +12811,12 @@ msgid "No matching purchase orders" msgstr "" #: templates/js/translated/purchase_order.js:1073 -#: templates/js/translated/return_order.js:491 +#: templates/js/translated/return_order.js:490 msgid "Select Line Items" msgstr "" #: templates/js/translated/purchase_order.js:1074 -#: templates/js/translated/return_order.js:492 +#: templates/js/translated/return_order.js:491 msgid "At least one line item must be selected" msgstr "" @@ -12827,7 +12865,7 @@ msgid "Quantity to Receive" msgstr "" #: templates/js/translated/purchase_order.js:1333 -#: templates/js/translated/return_order.js:561 +#: templates/js/translated/return_order.js:560 msgid "Confirm receipt of items" msgstr "" @@ -12847,81 +12885,66 @@ msgstr "" msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1682 -#: templates/js/translated/return_order.js:286 -#: templates/js/translated/sales_order.js:774 -#: templates/js/translated/sales_order.js:998 +#: templates/js/translated/purchase_order.js:1681 +#: templates/js/translated/return_order.js:285 +#: templates/js/translated/sales_order.js:810 +#: templates/js/translated/sales_order.js:1034 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1748 -#: templates/js/translated/return_order.js:354 -#: templates/js/translated/sales_order.js:851 -#: templates/js/translated/sales_order.js:1011 -msgid "Items" -msgstr "" - -#: templates/js/translated/purchase_order.js:1844 +#: templates/js/translated/purchase_order.js:1843 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1862 +#: templates/js/translated/purchase_order.js:1861 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1917 -#: templates/js/translated/sales_order.js:2070 +#: templates/js/translated/purchase_order.js:1916 +#: templates/js/translated/sales_order.js:2106 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1932 -#: templates/js/translated/return_order.js:476 -#: templates/js/translated/return_order.js:669 -#: templates/js/translated/sales_order.js:2083 +#: templates/js/translated/purchase_order.js:1931 +#: templates/js/translated/return_order.js:475 +#: templates/js/translated/return_order.js:668 +#: templates/js/translated/sales_order.js:2119 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1943 -#: templates/js/translated/return_order.js:682 -#: templates/js/translated/sales_order.js:2094 +#: templates/js/translated/purchase_order.js:1942 +#: templates/js/translated/return_order.js:681 +#: templates/js/translated/sales_order.js:2130 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2225 -#: templates/js/translated/sales_order.js:2024 +#: templates/js/translated/purchase_order.js:2224 +#: templates/js/translated/sales_order.js:2060 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2226 -#: templates/js/translated/return_order.js:801 -#: templates/js/translated/sales_order.js:2025 +#: templates/js/translated/purchase_order.js:2225 +#: templates/js/translated/return_order.js:800 +#: templates/js/translated/sales_order.js:2061 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2227 -#: templates/js/translated/return_order.js:805 -#: templates/js/translated/sales_order.js:2031 +#: templates/js/translated/purchase_order.js:2226 +#: templates/js/translated/return_order.js:804 +#: templates/js/translated/sales_order.js:2067 msgid "Delete line item" msgstr "" -#: templates/js/translated/report.js:63 -msgid "items selected" +#: templates/js/translated/report.js:49 +msgid "Print Report" msgstr "" -#: templates/js/translated/report.js:71 -msgid "Select Report Template" +#: templates/js/translated/report.js:68 +msgid "Report print successful" msgstr "" -#: templates/js/translated/report.js:86 -msgid "Select Test Report Template" -msgstr "" - -#: templates/js/translated/report.js:140 -msgid "No Reports Found" -msgstr "" - -#: templates/js/translated/report.js:141 -msgid "No report templates found which match the selected items" +#: templates/js/translated/report.js:73 +msgid "Report printing failed" msgstr "" #: templates/js/translated/return_order.js:60 @@ -12953,25 +12976,25 @@ msgstr "" msgid "Complete Return Order" msgstr "" -#: templates/js/translated/return_order.js:266 +#: templates/js/translated/return_order.js:265 msgid "No return orders found" msgstr "" -#: templates/js/translated/return_order.js:300 -#: templates/js/translated/sales_order.js:788 +#: templates/js/translated/return_order.js:299 +#: templates/js/translated/sales_order.js:824 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/return_order.js:562 +#: templates/js/translated/return_order.js:561 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:693 -#: templates/js/translated/sales_order.js:2231 +#: templates/js/translated/return_order.js:692 +#: templates/js/translated/sales_order.js:2267 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:798 +#: templates/js/translated/return_order.js:797 msgid "Mark item as received" msgstr "" @@ -13015,140 +13038,156 @@ msgstr "" msgid "Skip" msgstr "" +#: templates/js/translated/sales_order.js:484 +msgid "Ship Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:500 +msgid "Ship this order?" +msgstr "" + +#: templates/js/translated/sales_order.js:506 +msgid "Order cannot be shipped as there are incomplete shipments" +msgstr "" + #: templates/js/translated/sales_order.js:513 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/sales_order.js:535 +#: templates/js/translated/sales_order.js:514 +msgid "Shipping this order means that the order and line items will no longer be editable." +msgstr "" + +#: templates/js/translated/sales_order.js:572 msgid "Issue this Sales Order?" msgstr "" -#: templates/js/translated/sales_order.js:540 +#: templates/js/translated/sales_order.js:577 msgid "Issue Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:559 +#: templates/js/translated/sales_order.js:596 msgid "Cancel Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:564 +#: templates/js/translated/sales_order.js:601 msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: templates/js/translated/sales_order.js:618 +#: templates/js/translated/sales_order.js:655 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/sales_order.js:728 +#: templates/js/translated/sales_order.js:764 msgid "No sales orders found" msgstr "" -#: templates/js/translated/sales_order.js:908 +#: templates/js/translated/sales_order.js:944 msgid "Edit shipment" msgstr "" -#: templates/js/translated/sales_order.js:911 +#: templates/js/translated/sales_order.js:947 msgid "Complete shipment" msgstr "" -#: templates/js/translated/sales_order.js:916 +#: templates/js/translated/sales_order.js:952 msgid "Delete shipment" msgstr "" -#: templates/js/translated/sales_order.js:933 +#: templates/js/translated/sales_order.js:969 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/sales_order.js:948 +#: templates/js/translated/sales_order.js:984 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:981 +#: templates/js/translated/sales_order.js:1017 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/sales_order.js:1006 +#: templates/js/translated/sales_order.js:1042 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/sales_order.js:1030 -#: templates/js/translated/sales_order.js:1529 +#: templates/js/translated/sales_order.js:1066 +#: templates/js/translated/sales_order.js:1565 msgid "Not shipped" msgstr "" -#: templates/js/translated/sales_order.js:1048 +#: templates/js/translated/sales_order.js:1084 msgid "Tracking" msgstr "" -#: templates/js/translated/sales_order.js:1052 +#: templates/js/translated/sales_order.js:1088 msgid "Invoice" msgstr "" -#: templates/js/translated/sales_order.js:1219 +#: templates/js/translated/sales_order.js:1255 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1270 +#: templates/js/translated/sales_order.js:1306 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/sales_order.js:1271 +#: templates/js/translated/sales_order.js:1307 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1477 +#: templates/js/translated/sales_order.js:1513 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1569 +#: templates/js/translated/sales_order.js:1605 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1583 +#: templates/js/translated/sales_order.js:1619 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/sales_order.js:1584 +#: templates/js/translated/sales_order.js:1620 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1623 -#: templates/js/translated/sales_order.js:1710 +#: templates/js/translated/sales_order.js:1659 +#: templates/js/translated/sales_order.js:1746 #: templates/js/translated/stock.js:1776 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/sales_order.js:1631 -#: templates/js/translated/sales_order.js:1719 +#: templates/js/translated/sales_order.js:1667 +#: templates/js/translated/sales_order.js:1755 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:2008 +#: templates/js/translated/sales_order.js:2044 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/sales_order.js:2012 +#: templates/js/translated/sales_order.js:2048 msgid "Purchase stock" msgstr "" -#: templates/js/translated/sales_order.js:2021 -#: templates/js/translated/sales_order.js:2209 +#: templates/js/translated/sales_order.js:2057 +#: templates/js/translated/sales_order.js:2245 msgid "Calculate price" msgstr "" -#: templates/js/translated/sales_order.js:2035 +#: templates/js/translated/sales_order.js:2071 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:2038 +#: templates/js/translated/sales_order.js:2074 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:2109 +#: templates/js/translated/sales_order.js:2145 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/sales_order.js:2217 +#: templates/js/translated/sales_order.js:2253 msgid "Update Unit Price" msgstr "" @@ -13356,7 +13395,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1042 users/models.py:414 +#: templates/js/translated/stock.js:1042 users/models.py:401 msgid "Add" msgstr "" @@ -13372,7 +13411,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1180 templates/js/translated/stock.js:3302 +#: templates/js/translated/stock.js:1180 templates/js/translated/stock.js:3299 msgid "Select Stock Items" msgstr "" @@ -13456,196 +13495,196 @@ msgstr "" msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:1955 +#: templates/js/translated/stock.js:1953 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1960 +#: templates/js/translated/stock.js:1958 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:1971 +#: templates/js/translated/stock.js:1969 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:2015 +#: templates/js/translated/stock.js:2013 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2093 +#: templates/js/translated/stock.js:2091 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2098 +#: templates/js/translated/stock.js:2096 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2101 +#: templates/js/translated/stock.js:2099 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2104 +#: templates/js/translated/stock.js:2102 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2106 +#: templates/js/translated/stock.js:2104 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2108 +#: templates/js/translated/stock.js:2106 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2111 +#: templates/js/translated/stock.js:2109 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2113 +#: templates/js/translated/stock.js:2111 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2117 +#: templates/js/translated/stock.js:2115 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2119 +#: templates/js/translated/stock.js:2117 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2124 +#: templates/js/translated/stock.js:2122 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2126 +#: templates/js/translated/stock.js:2124 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2128 +#: templates/js/translated/stock.js:2126 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2132 +#: templates/js/translated/stock.js:2130 #: templates/js/translated/table_filters.js:350 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2297 +#: templates/js/translated/stock.js:2295 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2344 +#: templates/js/translated/stock.js:2342 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2472 +#: templates/js/translated/stock.js:2470 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2576 +#: templates/js/translated/stock.js:2573 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2731 +#: templates/js/translated/stock.js:2728 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2849 +#: templates/js/translated/stock.js:2846 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2853 +#: templates/js/translated/stock.js:2850 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2865 +#: templates/js/translated/stock.js:2862 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2887 +#: templates/js/translated/stock.js:2884 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2904 +#: templates/js/translated/stock.js:2901 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2919 +#: templates/js/translated/stock.js:2916 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2936 +#: templates/js/translated/stock.js:2933 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:2950 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2972 +#: templates/js/translated/stock.js:2969 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2990 +#: templates/js/translated/stock.js:2987 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:3008 +#: templates/js/translated/stock.js:3005 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:3016 +#: templates/js/translated/stock.js:3013 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3088 +#: templates/js/translated/stock.js:3085 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3142 templates/js/translated/stock.js:3178 +#: templates/js/translated/stock.js:3139 templates/js/translated/stock.js:3175 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3200 +#: templates/js/translated/stock.js:3197 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3221 +#: templates/js/translated/stock.js:3218 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3222 +#: templates/js/translated/stock.js:3219 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3224 +#: templates/js/translated/stock.js:3221 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3225 +#: templates/js/translated/stock.js:3222 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3226 +#: templates/js/translated/stock.js:3223 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3227 +#: templates/js/translated/stock.js:3224 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3240 +#: templates/js/translated/stock.js:3237 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3303 +#: templates/js/translated/stock.js:3300 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3316 +#: templates/js/translated/stock.js:3313 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3320 +#: templates/js/translated/stock.js:3317 msgid "Change Stock Status" msgstr "" @@ -14247,34 +14286,35 @@ msgstr "" msgid "Revoked" msgstr "" -#: users/models.py:397 +#: users/models.py:384 msgid "Permission set" msgstr "Nastavení oprávnění" -#: users/models.py:406 +#: users/models.py:393 msgid "Group" msgstr "Skupina" -#: users/models.py:410 +#: users/models.py:397 msgid "View" msgstr "Zobrazit" -#: users/models.py:410 +#: users/models.py:397 msgid "Permission to view items" msgstr "Oprávnění k zobrazení položek" -#: users/models.py:414 +#: users/models.py:401 msgid "Permission to add items" msgstr "Oprávnění přidat položky" -#: users/models.py:418 +#: users/models.py:405 msgid "Change" msgstr "Změnit" -#: users/models.py:420 +#: users/models.py:407 msgid "Permissions to edit items" msgstr "Oprávnění k úpravě položek" -#: users/models.py:426 +#: users/models.py:413 msgid "Permission to delete items" msgstr "Oprávnění k odstranění položek" + diff --git a/src/backend/InvenTree/locale/da/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/da/LC_MESSAGES/django.po index 9bf9b249d4..fc7f6d0e90 100644 --- a/src/backend/InvenTree/locale/da/LC_MESSAGES/django.po +++ b/src/backend/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: 2024-05-10 05:37+0000\n" -"PO-Revision-Date: 2024-05-10 08:30\n" +"POT-Creation-Date: 2024-05-23 11:25+0000\n" +"PO-Revision-Date: 2024-05-23 11:38\n" "Last-Translator: \n" "Language-Team: Danish\n" "Language: da_DK\n" @@ -17,11 +17,11 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 216\n" -#: InvenTree/api.py:271 +#: InvenTree/api.py:272 msgid "API endpoint not found" msgstr "API endpoint ikke fundet" -#: InvenTree/api.py:535 +#: InvenTree/api.py:536 msgid "User does not have permission to view this model" msgstr "Bruger har ikke tilladelse til at se denne model" @@ -56,26 +56,26 @@ msgstr "Fejloplysninger kan findes i admin panelet" msgid "Enter date" msgstr "Angiv dato" -#: InvenTree/fields.py:208 InvenTree/models.py:1021 build/serializers.py:444 -#: build/serializers.py:522 build/templates/build/sidebar.html:21 +#: InvenTree/fields.py:208 InvenTree/models.py:1035 build/serializers.py:443 +#: build/serializers.py:521 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 -#: order/models.py:1283 order/templates/order/po_sidebar.html:11 +#: order/models.py:1323 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:59 -#: part/models.py:3175 part/templates/part/part_sidebar.html:63 -#: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:226 stock/models.py:2344 stock/models.py:2461 -#: stock/serializers.py:501 stock/serializers.py:659 stock/serializers.py:755 -#: stock/serializers.py:805 stock/serializers.py:1114 stock/serializers.py:1203 -#: stock/serializers.py:1368 stock/templates/stock/stock_sidebar.html:25 +#: part/models.py:3218 part/templates/part/part_sidebar.html:63 +#: report/templates/report/inventree_build_order_report.html:172 +#: stock/admin.py:226 stock/models.py:2321 stock/models.py:2438 +#: stock/serializers.py:630 stock/serializers.py:788 stock/serializers.py:884 +#: stock/serializers.py:934 stock/serializers.py:1243 stock/serializers.py:1332 +#: stock/serializers.py:1497 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1080 -#: templates/js/translated/purchase_order.js:2201 -#: templates/js/translated/return_order.js:776 -#: templates/js/translated/sales_order.js:1067 -#: templates/js/translated/sales_order.js:1982 -#: templates/js/translated/stock.js:1536 templates/js/translated/stock.js:2430 +#: templates/js/translated/purchase_order.js:2200 +#: templates/js/translated/return_order.js:775 +#: templates/js/translated/sales_order.js:1103 +#: templates/js/translated/sales_order.js:2018 +#: templates/js/translated/stock.js:1536 templates/js/translated/stock.js:2428 msgid "Notes" msgstr "Bemærkninger" @@ -132,7 +132,7 @@ msgstr "Det angivne e-mail domæne er ikke godkendt." msgid "Registration is disabled." msgstr "Registrering er deaktiveret." -#: InvenTree/helpers.py:525 order/models.py:541 order/models.py:743 +#: InvenTree/helpers.py:525 order/models.py:563 order/models.py:765 msgid "Invalid quantity provided" msgstr "Ugyldigt antal angivet" @@ -355,142 +355,142 @@ msgstr "E-mail" msgid "Error running plugin validation" msgstr "" -#: InvenTree/models.py:162 +#: InvenTree/models.py:176 msgid "Metadata must be a python dict object" msgstr "Metadata skal være et python dict objekt" -#: InvenTree/models.py:168 +#: InvenTree/models.py:182 msgid "Plugin Metadata" msgstr "" -#: InvenTree/models.py:169 +#: InvenTree/models.py:183 msgid "JSON metadata field, for use by external plugins" msgstr "JSON metadata felt, til brug af eksterne plugins" -#: InvenTree/models.py:399 +#: InvenTree/models.py:413 msgid "Improperly formatted pattern" msgstr "Forkert formateret mønster" -#: InvenTree/models.py:406 +#: InvenTree/models.py:420 msgid "Unknown format key specified" msgstr "Ukendt formatnøgle angivet" -#: InvenTree/models.py:412 +#: InvenTree/models.py:426 msgid "Missing required format key" msgstr "Mangler nødvendig formatnøgle" -#: InvenTree/models.py:423 +#: InvenTree/models.py:437 msgid "Reference field cannot be empty" msgstr "Referencefelt må ikke være tomt" -#: InvenTree/models.py:431 +#: InvenTree/models.py:445 msgid "Reference must match required pattern" msgstr "Reference skal matche det påkrævede mønster" -#: InvenTree/models.py:462 +#: InvenTree/models.py:476 msgid "Reference number is too large" msgstr "Referencenummer er for stort" -#: InvenTree/models.py:536 +#: InvenTree/models.py:550 msgid "Missing file" msgstr "Manglende fil" -#: InvenTree/models.py:537 +#: InvenTree/models.py:551 msgid "Missing external link" msgstr "Manglende eksternt link" -#: InvenTree/models.py:558 stock/models.py:2456 +#: InvenTree/models.py:572 stock/models.py:2433 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" msgstr "Vedhæftning" -#: InvenTree/models.py:559 +#: InvenTree/models.py:573 msgid "Select file to attach" msgstr "Vælg fil, der skal vedhæftes" -#: InvenTree/models.py:567 common/models.py:3026 company/models.py:146 +#: InvenTree/models.py:581 common/models.py:3032 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 -#: order/models.py:291 order/models.py:1288 order/models.py:1704 -#: part/admin.py:55 part/models.py:919 +#: order/models.py:304 order/models.py:1328 order/models.py:1744 +#: part/admin.py:55 part/models.py:962 #: part/templates/part/part_scheduling.html:11 -#: report/templates/report/inventree_build_order_base.html:164 +#: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2456 -#: templates/js/translated/purchase_order.js:2041 -#: templates/js/translated/purchase_order.js:2205 -#: templates/js/translated/return_order.js:780 -#: templates/js/translated/sales_order.js:1056 -#: templates/js/translated/sales_order.js:1987 +#: templates/js/translated/part.js:2455 +#: templates/js/translated/purchase_order.js:2040 +#: templates/js/translated/purchase_order.js:2204 +#: templates/js/translated/return_order.js:779 +#: templates/js/translated/sales_order.js:1092 +#: templates/js/translated/sales_order.js:2023 msgid "Link" msgstr "" -#: InvenTree/models.py:568 build/models.py:321 part/models.py:920 -#: stock/models.py:819 +#: InvenTree/models.py:582 build/models.py:344 part/models.py:963 +#: stock/models.py:840 msgid "Link to external URL" msgstr "Link til ekstern URL" -#: InvenTree/models.py:574 templates/js/translated/attachment.js:120 +#: InvenTree/models.py:588 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:341 msgid "Comment" msgstr "Kommentar" -#: InvenTree/models.py:575 +#: InvenTree/models.py:589 msgid "File comment" msgstr "Fil kommentar" -#: InvenTree/models.py:583 InvenTree/models.py:584 common/models.py:2502 -#: common/models.py:2503 common/models.py:2727 common/models.py:2728 -#: common/models.py:2973 common/models.py:2974 part/models.py:3185 -#: part/models.py:3272 part/models.py:3365 part/models.py:3393 -#: plugin/models.py:250 plugin/models.py:251 -#: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3039 users/models.py:111 +#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2508 +#: common/models.py:2509 common/models.py:2733 common/models.py:2734 +#: common/models.py:2979 common/models.py:2980 part/models.py:3228 +#: part/models.py:3315 part/models.py:3408 part/models.py:3436 +#: plugin/models.py:259 plugin/models.py:260 +#: report/templates/report/inventree_test_report.html:105 +#: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" msgstr "Bruger" -#: InvenTree/models.py:588 +#: InvenTree/models.py:602 msgid "upload date" msgstr "dato for upload" -#: InvenTree/models.py:610 +#: InvenTree/models.py:624 msgid "Filename must not be empty" msgstr "Filnavn må ikke være tomt" -#: InvenTree/models.py:621 +#: InvenTree/models.py:635 msgid "Invalid attachment directory" msgstr "Ugyldig vedhæftningsmappe" -#: InvenTree/models.py:651 +#: InvenTree/models.py:665 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "Filnavn indeholder ugyldigt tegn '{c}'" -#: InvenTree/models.py:654 +#: InvenTree/models.py:668 msgid "Filename missing extension" msgstr "Filnavn mangler filtype" -#: InvenTree/models.py:663 +#: InvenTree/models.py:677 msgid "Attachment with this filename already exists" msgstr "Vedhæftning med dette filnavn findes allerede" -#: InvenTree/models.py:670 +#: InvenTree/models.py:684 msgid "Error renaming file" msgstr "Fejl ved omdøbning af fil" -#: InvenTree/models.py:846 +#: InvenTree/models.py:860 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:863 +#: InvenTree/models.py:877 msgid "Invalid choice" msgstr "Ugyldigt valg" -#: InvenTree/models.py:893 common/models.py:2714 common/models.py:3112 -#: common/serializers.py:403 company/models.py:614 label/models.py:120 -#: machine/models.py:24 part/models.py:855 part/models.py:3616 -#: plugin/models.py:41 report/models.py:176 stock/models.py:76 +#: InvenTree/models.py:907 common/models.py:2720 common/models.py:3118 +#: common/serializers.py:403 company/models.py:614 machine/models.py:24 +#: part/models.py:898 part/models.py:3659 plugin/models.py:50 +#: report/models.py:149 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -503,22 +503,22 @@ msgstr "Ugyldigt valg" #: templates/js/translated/company.js:1165 #: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186 #: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2719 +#: templates/js/translated/part.js:2748 templates/js/translated/stock.js:2716 msgid "Name" msgstr "Navn" -#: InvenTree/models.py:899 build/models.py:194 +#: InvenTree/models.py:913 build/models.py:217 #: build/templates/build/detail.html:24 common/models.py:136 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 label/models.py:127 -#: order/models.py:277 order/models.py:1316 part/admin.py:303 part/admin.py:414 -#: part/models.py:878 part/models.py:3631 part/templates/part/category.html:82 +#: company/templates/company/supplier_part.html:107 order/models.py:290 +#: order/models.py:1356 part/admin.py:305 part/admin.py:416 part/models.py:921 +#: part/models.py:3674 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 -#: part/templates/part/part_scheduling.html:12 report/models.py:189 -#: report/models.py:655 report/models.py:729 -#: report/templates/report/inventree_build_order_base.html:117 +#: part/templates/part/part_scheduling.html:12 report/models.py:155 +#: report/models.py:510 report/models.py:536 +#: report/templates/report/inventree_build_order_report.html:117 #: stock/admin.py:55 stock/models.py:82 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 @@ -530,71 +530,71 @@ msgstr "Navn" #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 -#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2896 +#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2354 +#: templates/js/translated/part.js:2784 templates/js/translated/part.js:2895 #: templates/js/translated/plugin.js:80 -#: templates/js/translated/purchase_order.js:1707 -#: templates/js/translated/purchase_order.js:1850 -#: templates/js/translated/purchase_order.js:2023 -#: templates/js/translated/return_order.js:314 -#: templates/js/translated/sales_order.js:802 -#: templates/js/translated/sales_order.js:1812 -#: templates/js/translated/stock.js:1515 templates/js/translated/stock.js:2060 -#: templates/js/translated/stock.js:2751 templates/js/translated/stock.js:2834 +#: templates/js/translated/purchase_order.js:1706 +#: templates/js/translated/purchase_order.js:1849 +#: templates/js/translated/purchase_order.js:2022 +#: templates/js/translated/return_order.js:313 +#: templates/js/translated/sales_order.js:838 +#: templates/js/translated/sales_order.js:1848 +#: templates/js/translated/stock.js:1515 templates/js/translated/stock.js:2058 +#: templates/js/translated/stock.js:2748 templates/js/translated/stock.js:2831 msgid "Description" msgstr "Beskrivelse" -#: InvenTree/models.py:900 stock/models.py:83 +#: InvenTree/models.py:914 stock/models.py:83 msgid "Description (optional)" msgstr "Beskrivelse (valgfri)" -#: InvenTree/models.py:909 +#: InvenTree/models.py:923 msgid "parent" msgstr "overordnet" -#: InvenTree/models.py:915 templates/js/translated/part.js:2794 -#: templates/js/translated/stock.js:2760 +#: InvenTree/models.py:929 templates/js/translated/part.js:2793 +#: templates/js/translated/stock.js:2757 msgid "Path" msgstr "Sti" -#: InvenTree/models.py:1021 +#: InvenTree/models.py:1035 msgid "Markdown notes (optional)" msgstr "Markdown noter (valgfri)" -#: InvenTree/models.py:1050 +#: InvenTree/models.py:1064 msgid "Barcode Data" msgstr "Stregkode Data" -#: InvenTree/models.py:1051 +#: InvenTree/models.py:1065 msgid "Third party barcode data" msgstr "Tredjeparts stregkode data" -#: InvenTree/models.py:1057 +#: InvenTree/models.py:1071 msgid "Barcode Hash" msgstr "Stregkode Hash" -#: InvenTree/models.py:1058 +#: InvenTree/models.py:1072 msgid "Unique hash of barcode data" msgstr "Unik hash af stregkode data" -#: InvenTree/models.py:1111 +#: InvenTree/models.py:1125 msgid "Existing barcode found" msgstr "Eksisterende stregkode fundet" -#: InvenTree/models.py:1154 +#: InvenTree/models.py:1168 msgid "Server Error" msgstr "Serverfejl" -#: InvenTree/models.py:1155 +#: InvenTree/models.py:1169 msgid "An error has been logged by the server." msgstr "En fejl blev logget af serveren." -#: InvenTree/serializers.py:62 part/models.py:4169 +#: InvenTree/serializers.py:62 part/models.py:4212 msgid "Must be a valid number" msgstr "Skal være et gyldigt tal" #: InvenTree/serializers.py:99 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:2993 +#: company/templates/company/company_base.html:112 part/models.py:3036 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -686,7 +686,7 @@ msgstr "URL til ekstern billedfil" msgid "Downloading images from remote URL is not enabled" msgstr "Download af billeder fra ekstern URL er ikke aktiveret" -#: InvenTree/status.py:66 part/serializers.py:1161 +#: InvenTree/status.py:66 part/serializers.py:1176 msgid "Background worker check failed" msgstr "Kontrol af baggrundstjeneste mislykkedes" @@ -699,8 +699,8 @@ msgid "InvenTree system health checks failed" msgstr "Helbredstjek af InvenTree system mislykkedes" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:37 -#: InvenTree/status_codes.py:148 InvenTree/status_codes.py:164 -#: InvenTree/status_codes.py:182 generic/states/tests.py:17 +#: InvenTree/status_codes.py:149 InvenTree/status_codes.py:165 +#: InvenTree/status_codes.py:183 generic/states/tests.py:17 #: templates/js/translated/table_filters.js:598 msgid "Pending" msgstr "Afventende" @@ -709,188 +709,188 @@ msgstr "Afventende" msgid "Placed" msgstr "Placeret" -#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:151 -#: InvenTree/status_codes.py:169 generic/states/tests.py:19 -#: order/templates/order/order_base.html:158 -#: order/templates/order/sales_order_base.html:161 +#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:44 +#: InvenTree/status_codes.py:152 InvenTree/status_codes.py:170 +#: generic/states/tests.py:19 order/templates/order/order_base.html:158 +#: order/templates/order/sales_order_base.html:165 report/models.py:444 msgid "Complete" msgstr "Fuldført" -#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:44 -#: InvenTree/status_codes.py:150 InvenTree/status_codes.py:170 +#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:45 +#: InvenTree/status_codes.py:151 InvenTree/status_codes.py:171 msgid "Cancelled" msgstr "Annulleret" -#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:45 -#: InvenTree/status_codes.py:67 +#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:46 +#: InvenTree/status_codes.py:68 msgid "Lost" msgstr "Mistet" -#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:46 -#: InvenTree/status_codes.py:73 +#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:47 +#: InvenTree/status_codes.py:74 msgid "Returned" msgstr "Returneret" -#: InvenTree/status_codes.py:40 InvenTree/status_codes.py:167 +#: InvenTree/status_codes.py:40 InvenTree/status_codes.py:168 msgid "In Progress" msgstr "Igangværende" -#: InvenTree/status_codes.py:43 order/models.py:1566 -#: templates/js/translated/sales_order.js:1523 -#: templates/js/translated/sales_order.js:1644 -#: templates/js/translated/sales_order.js:1957 +#: InvenTree/status_codes.py:43 order/models.py:1606 +#: templates/js/translated/sales_order.js:1559 +#: templates/js/translated/sales_order.js:1680 +#: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "Afsendt" -#: InvenTree/status_codes.py:62 +#: InvenTree/status_codes.py:63 msgid "OK" msgstr "" -#: InvenTree/status_codes.py:63 +#: InvenTree/status_codes.py:64 msgid "Attention needed" msgstr "Opmærksomhed påkrævet" -#: InvenTree/status_codes.py:64 +#: InvenTree/status_codes.py:65 msgid "Damaged" msgstr "Beskadiget" -#: InvenTree/status_codes.py:65 +#: InvenTree/status_codes.py:66 msgid "Destroyed" msgstr "Destrueret" -#: InvenTree/status_codes.py:66 +#: InvenTree/status_codes.py:67 msgid "Rejected" msgstr "Afvist" -#: InvenTree/status_codes.py:70 +#: InvenTree/status_codes.py:71 msgid "Quarantined" msgstr "I karantæne" -#: InvenTree/status_codes.py:91 +#: InvenTree/status_codes.py:92 msgid "Legacy stock tracking entry" msgstr "Forældet lager sporings post" -#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:544 +#: InvenTree/status_codes.py:94 templates/js/translated/stock.js:544 msgid "Stock item created" msgstr "Lager-element oprettet" -#: InvenTree/status_codes.py:96 +#: InvenTree/status_codes.py:97 msgid "Edited stock item" msgstr "Redigeret lager-element" -#: InvenTree/status_codes.py:97 +#: InvenTree/status_codes.py:98 msgid "Assigned serial number" msgstr "Serienummer tildelt" -#: InvenTree/status_codes.py:100 +#: InvenTree/status_codes.py:101 msgid "Stock counted" msgstr "Lagerbeholdning optalt" -#: InvenTree/status_codes.py:101 +#: InvenTree/status_codes.py:102 msgid "Stock manually added" msgstr "Lagerbeholdning tilføjet manuelt" -#: InvenTree/status_codes.py:102 +#: InvenTree/status_codes.py:103 msgid "Stock manually removed" msgstr "Lagerbeholdning fjernet manuelt" -#: InvenTree/status_codes.py:105 +#: InvenTree/status_codes.py:106 msgid "Location changed" msgstr "Lokation ændret" -#: InvenTree/status_codes.py:106 +#: InvenTree/status_codes.py:107 msgid "Stock updated" msgstr "Lager opdateret" -#: InvenTree/status_codes.py:109 +#: InvenTree/status_codes.py:110 msgid "Installed into assembly" msgstr "Monteret i samling" -#: InvenTree/status_codes.py:110 +#: InvenTree/status_codes.py:111 msgid "Removed from assembly" msgstr "Fjernet fra samling" -#: InvenTree/status_codes.py:112 +#: InvenTree/status_codes.py:113 msgid "Installed component item" msgstr "Installeret komponent element" -#: InvenTree/status_codes.py:113 +#: InvenTree/status_codes.py:114 msgid "Removed component item" msgstr "Fjernet komponent element" -#: InvenTree/status_codes.py:116 +#: InvenTree/status_codes.py:117 msgid "Split from parent item" msgstr "Opdel fra overordnet element" -#: InvenTree/status_codes.py:117 +#: InvenTree/status_codes.py:118 msgid "Split child item" msgstr "Opdel underordnet element" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1858 +#: InvenTree/status_codes.py:121 templates/js/translated/stock.js:1858 msgid "Merged stock items" msgstr "Flettede lagervarer" -#: InvenTree/status_codes.py:123 +#: InvenTree/status_codes.py:124 msgid "Converted to variant" msgstr "Konverteret til variant" -#: InvenTree/status_codes.py:126 +#: InvenTree/status_codes.py:127 msgid "Build order output created" msgstr "Byggeordre output genereret" -#: InvenTree/status_codes.py:127 +#: InvenTree/status_codes.py:128 msgid "Build order output completed" msgstr "Byggeorder output fuldført" -#: InvenTree/status_codes.py:128 +#: InvenTree/status_codes.py:129 msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1764 +#: InvenTree/status_codes.py:130 templates/js/translated/stock.js:1764 msgid "Consumed by build order" msgstr "Brugt efter byggeordre" -#: InvenTree/status_codes.py:132 +#: InvenTree/status_codes.py:133 msgid "Shipped against Sales Order" msgstr "Afsendt mod salgsordre" -#: InvenTree/status_codes.py:135 +#: InvenTree/status_codes.py:136 msgid "Received against Purchase Order" msgstr "Modtaget mod indkøbsordre" -#: InvenTree/status_codes.py:138 +#: InvenTree/status_codes.py:139 msgid "Returned against Return Order" msgstr "Returneret mod returordre" -#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:375 +#: InvenTree/status_codes.py:142 templates/js/translated/table_filters.js:375 msgid "Sent to customer" msgstr "Sendt til kunde" -#: InvenTree/status_codes.py:142 +#: InvenTree/status_codes.py:143 msgid "Returned from customer" msgstr "Returneret fra kunde" -#: InvenTree/status_codes.py:149 +#: InvenTree/status_codes.py:150 msgid "Production" msgstr "Produktion" -#: InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:186 msgid "Return" msgstr "Retur" -#: InvenTree/status_codes.py:188 +#: InvenTree/status_codes.py:189 msgid "Repair" msgstr "Reparér" -#: InvenTree/status_codes.py:191 +#: InvenTree/status_codes.py:192 msgid "Replace" msgstr "Erstat" -#: InvenTree/status_codes.py:194 +#: InvenTree/status_codes.py:195 msgid "Refund" msgstr "Refusion" -#: InvenTree/status_codes.py:197 +#: InvenTree/status_codes.py:198 msgid "Reject" msgstr "Afvis" @@ -946,14 +946,14 @@ msgstr "Om InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Produktion skal anulleres, før den kan slettes" -#: build/api.py:299 part/models.py:4047 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4090 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "Forbrugsvare" -#: build/api.py:300 part/models.py:4041 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4084 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -969,7 +969,7 @@ msgstr "Sporet" #: build/api.py:303 part/admin.py:144 templates/js/translated/build.js:1744 #: templates/js/translated/build.js:2629 -#: templates/js/translated/sales_order.js:1929 +#: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "Allokeret" @@ -980,7 +980,7 @@ msgstr "Allokeret" #: templates/email/low_stock_notification.html:17 #: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 #: templates/js/translated/index.js:123 -#: templates/js/translated/model_renderers.js:228 +#: templates/js/translated/model_renderers.js:234 #: templates/js/translated/part.js:692 templates/js/translated/part.js:694 #: templates/js/translated/part.js:699 #: templates/js/translated/table_filters.js:340 @@ -988,16 +988,16 @@ msgstr "Allokeret" msgid "Available" msgstr "Tilgængelig" -#: build/models.py:74 build/templates/build/build_base.html:9 +#: build/models.py:82 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 -#: report/templates/report/inventree_build_order_base.html:105 -#: templates/email/build_order_completed.html:16 +#: report/templates/report/inventree_build_order_report.html:105 +#: stock/serializers.py:83 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2895 +#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2892 msgid "Build Order" msgstr "Produktionsordre" -#: build/models.py:75 build/templates/build/build_base.html:13 +#: build/models.py:83 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -1008,71 +1008,71 @@ msgstr "Produktionsordre" msgid "Build Orders" msgstr "Produktionsordrer" -#: build/models.py:122 +#: build/models.py:130 msgid "Invalid choice for parent build" msgstr "Ugyldigt valg for overordnet produktion" -#: build/models.py:133 order/models.py:239 +#: build/models.py:141 order/models.py:241 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:139 +#: build/models.py:147 msgid "Build order part cannot be changed" msgstr "Byggeordre enhed kan ikke ændres" -#: build/models.py:185 +#: build/models.py:208 msgid "Build Order Reference" msgstr "Produktionsordre reference" -#: build/models.py:186 order/models.py:442 order/models.py:898 -#: order/models.py:1276 order/models.py:1998 part/admin.py:417 -#: part/models.py:4062 part/templates/part/upload_bom.html:54 +#: build/models.py:209 order/models.py:464 order/models.py:929 +#: order/models.py:1316 order/models.py:2047 part/admin.py:419 +#: part/models.py:4105 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 -#: report/templates/report/inventree_so_report_base.html:28 +#: report/templates/report/inventree_purchase_order_report.html:28 +#: report/templates/report/inventree_return_order_report.html:26 +#: report/templates/report/inventree_sales_order_report.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 #: templates/js/translated/build.js:2512 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 -#: templates/js/translated/purchase_order.js:2066 -#: templates/js/translated/return_order.js:729 -#: templates/js/translated/sales_order.js:1818 +#: templates/js/translated/purchase_order.js:2065 +#: templates/js/translated/return_order.js:728 +#: templates/js/translated/sales_order.js:1854 msgid "Reference" msgstr "" -#: build/models.py:197 +#: build/models.py:220 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:205 build/templates/build/build_base.html:183 +#: build/models.py:228 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Overordnet produktion" -#: build/models.py:206 +#: build/models.py:229 msgid "BuildOrder to which this build is allocated" msgstr "Produktionsordre som er tildelt denne produktion" -#: build/models.py:211 build/templates/build/build_base.html:97 +#: build/models.py:234 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 -#: order/models.py:1401 order/models.py:1546 order/models.py:1547 -#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004 -#: part/models.py:3148 part/models.py:3292 part/models.py:3315 -#: part/models.py:3336 part/models.py:3358 part/models.py:3468 -#: part/models.py:3764 part/models.py:3920 part/models.py:4013 -#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713 +#: order/models.py:1441 order/models.py:1586 order/models.py:1587 +#: part/api.py:1501 part/api.py:1795 part/models.py:392 part/models.py:3047 +#: part/models.py:3191 part/models.py:3335 part/models.py:3358 +#: part/models.py:3379 part/models.py:3401 part/models.py:3511 +#: part/models.py:3807 part/models.py:3963 part/models.py:4056 +#: part/models.py:4417 part/serializers.py:1122 part/serializers.py:1728 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 -#: report/templates/report/inventree_build_order_base.html:109 -#: report/templates/report/inventree_po_report_base.html:27 -#: report/templates/report/inventree_return_order_report_base.html:24 -#: report/templates/report/inventree_slr_report.html:102 -#: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:267 stock/serializers.py:689 -#: templates/InvenTree/search.html:82 +#: report/templates/report/inventree_build_order_report.html:109 +#: report/templates/report/inventree_purchase_order_report.html:27 +#: report/templates/report/inventree_return_order_report.html:24 +#: report/templates/report/inventree_sales_order_report.html:27 +#: report/templates/report/inventree_stock_location_report.html:102 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:396 +#: stock/serializers.py:818 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -1086,235 +1086,239 @@ msgstr "Produktionsordre som er tildelt denne produktion" #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 #: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 -#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:2323 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:751 #: templates/js/translated/purchase_order.js:1304 -#: templates/js/translated/purchase_order.js:1849 -#: templates/js/translated/purchase_order.js:2008 -#: templates/js/translated/return_order.js:539 -#: templates/js/translated/return_order.js:710 +#: templates/js/translated/purchase_order.js:1848 +#: templates/js/translated/purchase_order.js:2007 +#: templates/js/translated/return_order.js:538 +#: templates/js/translated/return_order.js:709 #: templates/js/translated/sales_order.js:300 -#: templates/js/translated/sales_order.js:1197 -#: templates/js/translated/sales_order.js:1598 -#: templates/js/translated/sales_order.js:1796 +#: templates/js/translated/sales_order.js:1233 +#: templates/js/translated/sales_order.js:1634 +#: templates/js/translated/sales_order.js:1832 #: templates/js/translated/stock.js:676 templates/js/translated/stock.js:842 -#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1999 -#: templates/js/translated/stock.js:2860 templates/js/translated/stock.js:3093 -#: templates/js/translated/stock.js:3239 +#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1997 +#: templates/js/translated/stock.js:2857 templates/js/translated/stock.js:3090 +#: templates/js/translated/stock.js:3236 msgid "Part" msgstr "Del" -#: build/models.py:219 +#: build/models.py:242 msgid "Select part to build" msgstr "Vælg dele til produktion" -#: build/models.py:224 +#: build/models.py:247 msgid "Sales Order Reference" msgstr "Salgsordrereference" -#: build/models.py:228 +#: build/models.py:251 msgid "SalesOrder to which this build is allocated" msgstr "Salgsordre, som er tildelt denne produktion" -#: build/models.py:233 build/serializers.py:970 +#: build/models.py:256 build/serializers.py:969 #: templates/js/translated/build.js:1731 -#: templates/js/translated/sales_order.js:1185 +#: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "Kilde Lokation" -#: build/models.py:237 +#: build/models.py:260 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Vælg lokation for lager, som skal benyttes til denne produktion (lad feltet stå tomt for at benytte vilkårligt lager)" -#: build/models.py:242 +#: build/models.py:265 msgid "Destination Location" msgstr "Destinations Placering" -#: build/models.py:246 +#: build/models.py:269 msgid "Select location where the completed items will be stored" msgstr "Vælg placering, hvor de færdige elementer vil blive gemt" -#: build/models.py:250 +#: build/models.py:273 msgid "Build Quantity" msgstr "Produktions antal" -#: build/models.py:253 +#: build/models.py:276 msgid "Number of stock items to build" msgstr "Antal lagervarer som skal produceres" -#: build/models.py:257 +#: build/models.py:280 msgid "Completed items" msgstr "Afsluttede elementer" -#: build/models.py:259 +#: build/models.py:282 msgid "Number of stock items which have been completed" msgstr "Antal lagervarer som er færdiggjort" -#: build/models.py:263 +#: build/models.py:286 msgid "Build Status" msgstr "Produktions Status" -#: build/models.py:267 +#: build/models.py:290 msgid "Build status code" msgstr "Produktions statuskode" -#: build/models.py:276 build/serializers.py:278 order/serializers.py:581 -#: stock/models.py:823 stock/serializers.py:1333 +#: build/models.py:299 build/serializers.py:277 order/serializers.py:581 +#: stock/models.py:844 stock/serializers.py:75 stock/serializers.py:1462 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Batch Kode" -#: build/models.py:280 build/serializers.py:279 +#: build/models.py:303 build/serializers.py:278 msgid "Batch code for this build output" msgstr "Batch kode til dette produktions output" -#: build/models.py:283 order/models.py:304 order/serializers.py:120 -#: part/models.py:1079 part/templates/part/part_base.html:310 -#: templates/js/translated/return_order.js:339 -#: templates/js/translated/sales_order.js:827 +#: build/models.py:306 order/models.py:317 order/serializers.py:120 +#: part/models.py:1122 part/templates/part/part_base.html:310 +#: templates/js/translated/return_order.js:338 +#: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "Oprettelsesdato" -#: build/models.py:287 +#: build/models.py:310 msgid "Target completion date" msgstr "Projekteret afslutningsdato" -#: build/models.py:288 +#: build/models.py:311 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:291 order/models.py:500 order/models.py:2043 +#: build/models.py:314 order/models.py:522 order/models.py:2092 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "Dato for afslutning" -#: build/models.py:297 +#: build/models.py:320 msgid "completed by" msgstr "udført af" -#: build/models.py:305 templates/js/translated/build.js:2207 +#: build/models.py:328 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "Udstedt af" -#: build/models.py:306 +#: build/models.py:329 msgid "User who issued this build order" msgstr "Bruger som udstedte denne byggeordre" -#: build/models.py:314 build/templates/build/build_base.html:204 +#: build/models.py:337 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:145 -#: order/models.py:322 order/templates/order/order_base.html:217 +#: order/models.py:335 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1096 +#: order/templates/order/sales_order_base.html:232 part/models.py:1139 #: part/templates/part/part_base.html:390 -#: report/templates/report/inventree_build_order_base.html:158 +#: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 #: templates/js/translated/build.js:2219 -#: templates/js/translated/purchase_order.js:1764 -#: templates/js/translated/return_order.js:359 +#: templates/js/translated/purchase_order.js:1763 +#: templates/js/translated/return_order.js:358 #: templates/js/translated/table_filters.js:531 msgid "Responsible" msgstr "Ansvarlig" -#: build/models.py:315 +#: build/models.py:338 msgid "User or group responsible for this build order" msgstr "Bruger eller gruppe ansvarlig for denne byggeordre" -#: build/models.py:320 build/templates/build/detail.html:108 +#: build/models.py:343 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 -#: order/templates/order/sales_order_base.html:180 -#: part/templates/part/part_base.html:383 stock/models.py:819 +#: order/templates/order/sales_order_base.html:184 +#: part/templates/part/part_base.html:383 stock/models.py:840 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "Ekstern link" -#: build/models.py:325 +#: build/models.py:348 msgid "Build Priority" msgstr "Bygge Prioritet" -#: build/models.py:328 +#: build/models.py:351 msgid "Priority of this build order" msgstr "Prioritet af denne byggeordre" -#: build/models.py:335 common/models.py:129 order/admin.py:18 -#: order/models.py:286 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:358 common/models.py:129 order/admin.py:18 +#: order/models.py:299 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 -#: templates/js/translated/purchase_order.js:1711 -#: templates/js/translated/return_order.js:318 -#: templates/js/translated/sales_order.js:806 +#: templates/js/translated/purchase_order.js:1710 +#: templates/js/translated/return_order.js:317 +#: templates/js/translated/sales_order.js:842 #: templates/js/translated/table_filters.js:48 #: templates/project_code_data.html:6 msgid "Project Code" msgstr "" -#: build/models.py:336 +#: build/models.py:359 msgid "Project code for this build order" msgstr "" -#: build/models.py:566 build/models.py:631 +#: build/models.py:589 build/models.py:654 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:588 +#: build/models.py:611 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Bygningsordre {build} er fuldført" -#: build/models.py:594 +#: build/models.py:617 msgid "A build order has been completed" msgstr "En byggeordre er fuldført" -#: build/models.py:820 build/models.py:895 +#: build/models.py:843 build/models.py:918 msgid "No build output specified" msgstr "" -#: build/models.py:823 +#: build/models.py:846 msgid "Build output is already completed" msgstr "" -#: build/models.py:826 +#: build/models.py:849 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:899 build/serializers.py:221 build/serializers.py:260 -#: build/serializers.py:837 order/models.py:538 order/serializers.py:433 -#: order/serializers.py:576 part/serializers.py:1471 part/serializers.py:1871 -#: stock/models.py:662 stock/models.py:1482 stock/serializers.py:472 +#: build/models.py:922 build/serializers.py:220 build/serializers.py:259 +#: build/serializers.py:836 order/models.py:560 order/serializers.py:433 +#: order/serializers.py:576 part/serializers.py:1486 part/serializers.py:1886 +#: stock/models.py:683 stock/models.py:1503 stock/serializers.py:601 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:904 build/serializers.py:226 +#: build/models.py:927 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:961 build/serializers.py:539 +#: build/models.py:984 build/serializers.py:538 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1323 +#: build/models.py:1335 +msgid "Build Order Line Item" +msgstr "" + +#: build/models.py:1360 msgid "Build object" msgstr "" -#: build/models.py:1337 build/models.py:1593 build/serializers.py:208 -#: build/serializers.py:245 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2524 -#: order/models.py:1259 order/models.py:1918 order/serializers.py:1339 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 -#: part/forms.py:48 part/models.py:3162 part/models.py:4035 +#: build/models.py:1374 build/models.py:1630 build/serializers.py:207 +#: build/serializers.py:244 build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2530 +#: order/models.py:1299 order/models.py:1958 order/serializers.py:1339 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 +#: part/forms.py:48 part/models.py:3205 part/models.py:4078 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 -#: report/templates/report/inventree_build_order_base.html:113 -#: report/templates/report/inventree_po_report_base.html:29 -#: report/templates/report/inventree_slr_report.html:104 -#: report/templates/report/inventree_so_report_base.html:29 -#: report/templates/report/inventree_test_report_base.html:90 -#: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:160 stock/serializers.py:463 +#: report/templates/report/inventree_build_order_report.html:113 +#: report/templates/report/inventree_purchase_order_report.html:29 +#: report/templates/report/inventree_sales_order_report.html:29 +#: report/templates/report/inventree_stock_location_report.html:104 +#: report/templates/report/inventree_test_report.html:90 +#: report/templates/report/inventree_test_report.html:170 stock/admin.py:160 +#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:592 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1324,380 +1328,381 @@ msgstr "" #: templates/js/translated/build.js:737 templates/js/translated/build.js:1369 #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 -#: templates/js/translated/model_renderers.js:230 +#: templates/js/translated/model_renderers.js:236 #: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3341 +#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3340 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 #: templates/js/translated/purchase_order.js:754 -#: templates/js/translated/purchase_order.js:1853 -#: templates/js/translated/purchase_order.js:2072 +#: templates/js/translated/purchase_order.js:1852 +#: templates/js/translated/purchase_order.js:2071 #: templates/js/translated/sales_order.js:317 -#: templates/js/translated/sales_order.js:1199 -#: templates/js/translated/sales_order.js:1518 -#: templates/js/translated/sales_order.js:1608 -#: templates/js/translated/sales_order.js:1698 -#: templates/js/translated/sales_order.js:1824 +#: templates/js/translated/sales_order.js:1235 +#: templates/js/translated/sales_order.js:1554 +#: templates/js/translated/sales_order.js:1644 +#: templates/js/translated/sales_order.js:1734 +#: templates/js/translated/sales_order.js:1860 #: templates/js/translated/stock.js:564 templates/js/translated/stock.js:702 -#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:3024 -#: templates/js/translated/stock.js:3107 +#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:3021 +#: templates/js/translated/stock.js:3104 msgid "Quantity" msgstr "" -#: build/models.py:1338 +#: build/models.py:1375 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1418 +#: build/models.py:1455 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1427 +#: build/models.py:1464 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1437 order/models.py:1869 +#: build/models.py:1474 order/models.py:1909 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1443 order/models.py:1872 +#: build/models.py:1480 order/models.py:1912 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1449 +#: build/models.py:1486 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1508 +#: build/models.py:1545 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1580 build/serializers.py:817 order/serializers.py:1183 -#: order/serializers.py:1204 stock/serializers.py:566 stock/serializers.py:1052 -#: stock/serializers.py:1164 stock/templates/stock/item_base.html:10 +#: build/models.py:1617 build/serializers.py:816 order/serializers.py:1183 +#: order/serializers.py:1204 stock/models.py:364 stock/serializers.py:92 +#: stock/serializers.py:695 stock/serializers.py:1181 stock/serializers.py:1293 +#: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 #: templates/js/translated/build.js:1745 #: templates/js/translated/sales_order.js:301 -#: templates/js/translated/sales_order.js:1198 -#: templates/js/translated/sales_order.js:1499 -#: templates/js/translated/sales_order.js:1504 -#: templates/js/translated/sales_order.js:1605 -#: templates/js/translated/sales_order.js:1692 +#: templates/js/translated/sales_order.js:1234 +#: templates/js/translated/sales_order.js:1535 +#: templates/js/translated/sales_order.js:1540 +#: templates/js/translated/sales_order.js:1641 +#: templates/js/translated/sales_order.js:1728 #: templates/js/translated/stock.js:677 templates/js/translated/stock.js:843 -#: templates/js/translated/stock.js:2980 +#: templates/js/translated/stock.js:2977 msgid "Stock Item" msgstr "" -#: build/models.py:1581 +#: build/models.py:1618 msgid "Source stock item" msgstr "" -#: build/models.py:1594 +#: build/models.py:1631 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1602 +#: build/models.py:1639 msgid "Install into" msgstr "" -#: build/models.py:1603 +#: build/models.py:1640 msgid "Destination stock item" msgstr "" -#: build/serializers.py:158 build/serializers.py:846 +#: build/serializers.py:157 build/serializers.py:845 #: templates/js/translated/build.js:1322 msgid "Build Output" msgstr "" -#: build/serializers.py:170 +#: build/serializers.py:169 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:174 +#: build/serializers.py:173 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:178 +#: build/serializers.py:177 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:189 +#: build/serializers.py:188 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:209 build/serializers.py:246 +#: build/serializers.py:208 build/serializers.py:245 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:267 +#: build/serializers.py:266 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:270 +#: build/serializers.py:269 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:285 order/serializers.py:589 order/serializers.py:1343 -#: stock/serializers.py:483 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:284 order/serializers.py:589 order/serializers.py:1343 +#: stock/serializers.py:612 templates/js/translated/purchase_order.js:1153 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:286 +#: build/serializers.py:285 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:291 build/serializers.py:432 build/serializers.py:504 +#: build/serializers.py:290 build/serializers.py:431 build/serializers.py:503 #: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1679 -#: part/serializers.py:1127 stock/serializers.py:494 stock/serializers.py:654 -#: stock/serializers.py:750 stock/serializers.py:1196 stock/serializers.py:1452 -#: stock/templates/stock/item_base.html:394 +#: part/serializers.py:1142 stock/serializers.py:101 stock/serializers.py:623 +#: stock/serializers.py:783 stock/serializers.py:879 stock/serializers.py:1325 +#: stock/serializers.py:1581 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 #: templates/js/translated/purchase_order.js:1178 #: templates/js/translated/purchase_order.js:1268 -#: templates/js/translated/sales_order.js:1511 -#: templates/js/translated/sales_order.js:1619 -#: templates/js/translated/sales_order.js:1627 -#: templates/js/translated/sales_order.js:1706 +#: templates/js/translated/sales_order.js:1547 +#: templates/js/translated/sales_order.js:1655 +#: templates/js/translated/sales_order.js:1663 +#: templates/js/translated/sales_order.js:1742 #: templates/js/translated/stock.js:678 templates/js/translated/stock.js:844 -#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2203 -#: templates/js/translated/stock.js:2874 +#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2201 +#: templates/js/translated/stock.js:2871 msgid "Location" msgstr "" -#: build/serializers.py:292 +#: build/serializers.py:291 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:306 +#: build/serializers.py:305 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:307 +#: build/serializers.py:306 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:322 +#: build/serializers.py:321 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:347 stock/api.py:995 +#: build/serializers.py:346 stock/api.py:1029 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:394 build/serializers.py:456 build/serializers.py:545 +#: build/serializers.py:393 build/serializers.py:455 build/serializers.py:544 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:433 +#: build/serializers.py:432 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:439 +#: build/serializers.py:438 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:440 +#: build/serializers.py:439 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:445 +#: build/serializers.py:444 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:505 +#: build/serializers.py:504 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:511 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:922 -#: order/models.py:2022 order/serializers.py:597 stock/admin.py:165 -#: stock/serializers.py:801 stock/serializers.py:1340 +#: build/serializers.py:510 build/templates/build/build_base.html:151 +#: build/templates/build/detail.html:62 order/models.py:953 +#: order/models.py:2071 order/serializers.py:597 stock/admin.py:165 +#: stock/serializers.py:930 stock/serializers.py:1469 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 -#: templates/js/translated/purchase_order.js:1723 -#: templates/js/translated/return_order.js:331 -#: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2178 templates/js/translated/stock.js:2998 -#: templates/js/translated/stock.js:3123 +#: templates/js/translated/purchase_order.js:1722 +#: templates/js/translated/return_order.js:330 +#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/stock.js:2176 templates/js/translated/stock.js:2995 +#: templates/js/translated/stock.js:3120 msgid "Status" msgstr "" -#: build/serializers.py:517 +#: build/serializers.py:516 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:518 +#: build/serializers.py:517 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:598 +#: build/serializers.py:597 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:599 +#: build/serializers.py:598 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:605 +#: build/serializers.py:604 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:606 +#: build/serializers.py:605 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:633 +#: build/serializers.py:632 msgid "Not permitted" msgstr "Ikke tilladt" -#: build/serializers.py:634 +#: build/serializers.py:633 msgid "Accept as consumed by this build order" msgstr "Accepter som forbrugt af denne byggeordre" -#: build/serializers.py:635 +#: build/serializers.py:634 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:657 +#: build/serializers.py:656 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:659 +#: build/serializers.py:658 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:669 +#: build/serializers.py:668 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:674 +#: build/serializers.py:673 msgid "Accept Unallocated" msgstr "Accepter Ikke tildelt" -#: build/serializers.py:675 +#: build/serializers.py:674 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Accepter at lagervarer ikke er fuldt tildelt til denne byggeordre" -#: build/serializers.py:685 templates/js/translated/build.js:315 +#: build/serializers.py:684 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:690 order/serializers.py:301 order/serializers.py:1246 +#: build/serializers.py:689 order/serializers.py:301 order/serializers.py:1246 msgid "Accept Incomplete" msgstr "Accepter ufuldført" -#: build/serializers.py:691 +#: build/serializers.py:690 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:701 templates/js/translated/build.js:319 +#: build/serializers.py:700 templates/js/translated/build.js:319 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:710 templates/js/translated/build.js:303 +#: build/serializers.py:709 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:740 +#: build/serializers.py:739 msgid "Build Line" msgstr "Bygge linje" -#: build/serializers.py:750 +#: build/serializers.py:749 msgid "Build output" msgstr "" -#: build/serializers.py:758 +#: build/serializers.py:757 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:794 +#: build/serializers.py:793 msgid "Build Line Item" msgstr "" -#: build/serializers.py:808 +#: build/serializers.py:807 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:823 stock/serializers.py:1065 +#: build/serializers.py:822 stock/serializers.py:1194 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:871 order/serializers.py:1237 +#: build/serializers.py:870 order/serializers.py:1237 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:877 +#: build/serializers.py:876 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:884 +#: build/serializers.py:883 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:908 order/serializers.py:1489 +#: build/serializers.py:907 order/serializers.py:1489 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:971 +#: build/serializers.py:970 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:979 +#: build/serializers.py:978 msgid "Exclude Location" msgstr "" -#: build/serializers.py:980 +#: build/serializers.py:979 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:985 +#: build/serializers.py:984 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:986 +#: build/serializers.py:985 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:991 +#: build/serializers.py:990 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:992 +#: build/serializers.py:991 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:997 +#: build/serializers.py:996 msgid "Optional Items" msgstr "" -#: build/serializers.py:998 +#: build/serializers.py:997 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1020 +#: build/serializers.py:1019 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1110 part/models.py:3930 part/models.py:4366 -#: stock/api.py:758 +#: build/serializers.py:1109 part/models.py:3973 part/models.py:4409 +#: stock/api.py:792 msgid "BOM Item" msgstr "" -#: build/serializers.py:1119 templates/js/translated/index.js:130 +#: build/serializers.py:1118 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1124 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:817 part/serializers.py:1489 +#: build/serializers.py:1123 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:832 part/serializers.py:1504 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 @@ -1705,15 +1710,15 @@ msgstr "" msgid "On Order" msgstr "" -#: build/serializers.py:1129 part/serializers.py:1491 +#: build/serializers.py:1128 part/serializers.py:1506 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1134 part/bom.py:172 part/serializers.py:1514 +#: build/serializers.py:1133 part/bom.py:172 part/serializers.py:1529 #: part/templates/part/part_base.html:192 -#: templates/js/translated/sales_order.js:1893 +#: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "" @@ -1842,18 +1847,18 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:297 -#: order/models.py:1294 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:310 +#: order/models.py:1334 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 -#: order/templates/order/sales_order_base.html:192 -#: report/templates/report/inventree_build_order_base.html:125 +#: order/templates/order/sales_order_base.html:196 +#: report/templates/report/inventree_build_order_report.html:125 #: templates/js/translated/build.js:2239 templates/js/translated/part.js:1830 -#: templates/js/translated/purchase_order.js:1740 -#: templates/js/translated/purchase_order.js:2148 -#: templates/js/translated/return_order.js:347 -#: templates/js/translated/return_order.js:751 -#: templates/js/translated/sales_order.js:835 -#: templates/js/translated/sales_order.js:1867 +#: templates/js/translated/purchase_order.js:1739 +#: templates/js/translated/purchase_order.js:2147 +#: templates/js/translated/return_order.js:346 +#: templates/js/translated/return_order.js:750 +#: templates/js/translated/sales_order.js:871 +#: templates/js/translated/sales_order.js:1903 msgid "Target Date" msgstr "" @@ -1866,7 +1871,7 @@ msgstr "" #: build/templates/build/build_base.html:222 #: order/templates/order/order_base.html:122 #: order/templates/order/return_order_base.html:117 -#: order/templates/order/sales_order_base.html:122 +#: order/templates/order/sales_order_base.html:126 #: templates/js/translated/table_filters.js:98 #: templates/js/translated/table_filters.js:524 #: templates/js/translated/table_filters.js:626 @@ -1880,24 +1885,24 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:1538 -#: order/models.py:1652 order/models.py:1806 +#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:848 +#: order/models.py:1578 order/models.py:1692 order/models.py:1846 #: 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 +#: report/templates/report/inventree_build_order_report.html:135 +#: report/templates/report/inventree_sales_order_report.html:14 #: stock/templates/stock/item_base.html:369 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:929 -#: templates/js/translated/sales_order.js:769 -#: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2927 +#: templates/js/translated/sales_order.js:805 +#: templates/js/translated/sales_order.js:1028 +#: templates/js/translated/stock.js:2924 msgid "Sales Order" msgstr "" #: build/templates/build/build_base.html:197 #: build/templates/build/detail.html:115 -#: report/templates/report/inventree_build_order_base.html:152 +#: report/templates/report/inventree_build_order_report.html:152 #: templates/js/translated/table_filters.js:24 msgid "Issued By" msgstr "" @@ -1907,15 +1912,15 @@ msgstr "" msgid "Priority" msgstr "" -#: build/templates/build/build_base.html:273 +#: build/templates/build/build_base.html:269 msgid "Delete Build Order" msgstr "" -#: build/templates/build/build_base.html:283 +#: build/templates/build/build_base.html:279 msgid "Build Order QR Code" msgstr "" -#: build/templates/build/build_base.html:295 +#: build/templates/build/build_base.html:291 msgid "Link Barcode to Build Order" msgstr "" @@ -1931,8 +1936,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1430 -#: templates/js/translated/purchase_order.js:2190 +#: build/templates/build/detail.html:49 order/models.py:1470 +#: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "" @@ -1947,10 +1952,10 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 #: templates/js/translated/build.js:1380 -#: templates/js/translated/model_renderers.js:235 +#: templates/js/translated/model_renderers.js:241 #: templates/js/translated/purchase_order.js:1274 -#: templates/js/translated/stock.js:1133 templates/js/translated/stock.js:2192 -#: templates/js/translated/stock.js:3130 +#: templates/js/translated/stock.js:1133 templates/js/translated/stock.js:2190 +#: templates/js/translated/stock.js:3127 #: templates/js/translated/table_filters.js:313 #: templates/js/translated/table_filters.js:404 msgid "Batch" @@ -1959,7 +1964,7 @@ msgstr "" #: build/templates/build/detail.html:133 #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:151 -#: order/templates/order/sales_order_base.html:186 +#: order/templates/order/sales_order_base.html:190 #: templates/js/translated/build.js:2199 msgid "Created" msgstr "" @@ -1969,7 +1974,7 @@ msgid "No target date set" msgstr "" #: build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:202 +#: order/templates/order/sales_order_base.html:206 #: templates/js/translated/table_filters.js:689 msgid "Completed" msgstr "" @@ -2260,8 +2265,8 @@ msgstr "" #: common/models.py:1316 common/models.py:1372 common/models.py:1385 #: common/models.py:1393 common/models.py:1402 common/models.py:1411 -#: common/models.py:1613 common/models.py:1635 common/models.py:1750 -#: common/models.py:2061 +#: common/models.py:1619 common/models.py:1641 common/models.py:1756 +#: common/models.py:2067 msgid "days" msgstr "" @@ -2402,1209 +2407,1218 @@ msgid "Enable revision field for Part" msgstr "" #: common/models.py:1440 -msgid "IPN Regex" +msgid "Allow Deletion from Assembly" msgstr "" #: common/models.py:1441 +msgid "Allow deletion of parts which are used in an assembly" +msgstr "" + +#: common/models.py:1446 +msgid "IPN Regex" +msgstr "" + +#: common/models.py:1447 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1444 +#: common/models.py:1450 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1445 +#: common/models.py:1451 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1450 +#: common/models.py:1456 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1451 +#: common/models.py:1457 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1456 +#: common/models.py:1462 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1457 +#: common/models.py:1463 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1462 +#: common/models.py:1468 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1463 +#: common/models.py:1469 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1468 +#: common/models.py:1474 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1469 +#: common/models.py:1475 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1474 +#: common/models.py:1480 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1475 +#: common/models.py:1481 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1480 part/admin.py:108 part/models.py:3772 -#: report/models.py:182 stock/serializers.py:99 +#: common/models.py:1486 part/admin.py:108 part/models.py:3815 +#: report/models.py:294 report/models.py:361 report/serializers.py:90 +#: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:767 msgid "Template" msgstr "" -#: common/models.py:1481 +#: common/models.py:1487 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1486 part/admin.py:91 part/admin.py:431 part/models.py:1016 +#: common/models.py:1492 part/admin.py:91 part/admin.py:433 part/models.py:1059 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "" -#: common/models.py:1487 +#: common/models.py:1493 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1492 part/admin.py:95 part/models.py:1022 +#: common/models.py:1498 part/admin.py:95 part/models.py:1065 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "" -#: common/models.py:1493 +#: common/models.py:1499 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1498 part/admin.py:100 part/models.py:1034 +#: common/models.py:1504 part/admin.py:100 part/models.py:1077 msgid "Purchaseable" msgstr "" -#: common/models.py:1499 +#: common/models.py:1505 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1504 part/admin.py:104 part/models.py:1040 +#: common/models.py:1510 part/admin.py:104 part/models.py:1083 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "" -#: common/models.py:1505 +#: common/models.py:1511 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1510 part/admin.py:113 part/models.py:1028 +#: common/models.py:1516 part/admin.py:113 part/models.py:1071 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "" -#: common/models.py:1511 +#: common/models.py:1517 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1516 part/admin.py:117 part/models.py:1050 +#: common/models.py:1522 part/admin.py:117 part/models.py:1093 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "" -#: common/models.py:1517 +#: common/models.py:1523 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1522 +#: common/models.py:1528 msgid "Show Import in Views" msgstr "" -#: common/models.py:1523 +#: common/models.py:1529 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1528 +#: common/models.py:1534 msgid "Show related parts" msgstr "" -#: common/models.py:1529 +#: common/models.py:1535 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1534 +#: common/models.py:1540 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1535 +#: common/models.py:1541 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1540 templates/js/translated/part.js:107 +#: common/models.py:1546 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1542 +#: common/models.py:1548 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1548 +#: common/models.py:1554 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1549 +#: common/models.py:1555 msgid "Format to display the part name" msgstr "" -#: common/models.py:1555 +#: common/models.py:1561 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1556 +#: common/models.py:1562 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1560 +#: common/models.py:1566 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1562 +#: common/models.py:1568 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1568 +#: common/models.py:1574 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1570 +#: common/models.py:1576 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1576 +#: common/models.py:1582 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1578 +#: common/models.py:1584 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1584 +#: common/models.py:1590 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1586 +#: common/models.py:1592 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1592 +#: common/models.py:1598 msgid "Purchase History Override" msgstr "" -#: common/models.py:1594 +#: common/models.py:1600 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1600 +#: common/models.py:1606 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1602 +#: common/models.py:1608 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1608 +#: common/models.py:1614 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1610 +#: common/models.py:1616 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1617 +#: common/models.py:1623 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1618 +#: common/models.py:1624 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1623 +#: common/models.py:1629 msgid "Active Variants Only" msgstr "" -#: common/models.py:1625 +#: common/models.py:1631 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1631 +#: common/models.py:1637 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1633 +#: common/models.py:1639 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1640 +#: common/models.py:1646 msgid "Internal Prices" msgstr "" -#: common/models.py:1641 +#: common/models.py:1647 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1646 +#: common/models.py:1652 msgid "Internal Price Override" msgstr "" -#: common/models.py:1648 +#: common/models.py:1654 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1654 +#: common/models.py:1660 msgid "Enable label printing" msgstr "" -#: common/models.py:1655 +#: common/models.py:1661 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1660 +#: common/models.py:1666 msgid "Label Image DPI" msgstr "" -#: common/models.py:1662 +#: common/models.py:1668 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1668 +#: common/models.py:1674 msgid "Enable Reports" msgstr "" -#: common/models.py:1669 +#: common/models.py:1675 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1674 templates/stats.html:25 +#: common/models.py:1680 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1675 +#: common/models.py:1681 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1680 +#: common/models.py:1686 msgid "Log Report Errors" msgstr "" -#: common/models.py:1681 +#: common/models.py:1687 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1686 plugin/builtin/labels/label_sheet.py:28 -#: report/models.py:203 +#: common/models.py:1692 plugin/builtin/labels/label_sheet.py:28 +#: report/models.py:302 msgid "Page Size" msgstr "" -#: common/models.py:1687 +#: common/models.py:1693 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1692 +#: common/models.py:1698 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1693 +#: common/models.py:1699 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1698 +#: common/models.py:1704 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1700 +#: common/models.py:1706 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1706 +#: common/models.py:1712 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1707 +#: common/models.py:1713 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1712 +#: common/models.py:1718 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1713 +#: common/models.py:1719 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1718 +#: common/models.py:1724 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1720 +#: common/models.py:1726 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1726 +#: common/models.py:1732 msgid "Batch Code Template" msgstr "" -#: common/models.py:1728 +#: common/models.py:1734 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1733 +#: common/models.py:1739 msgid "Stock Expiry" msgstr "" -#: common/models.py:1734 +#: common/models.py:1740 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1739 +#: common/models.py:1745 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1740 +#: common/models.py:1746 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1745 +#: common/models.py:1751 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1747 +#: common/models.py:1753 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1754 +#: common/models.py:1760 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1755 +#: common/models.py:1761 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1760 +#: common/models.py:1766 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1761 +#: common/models.py:1767 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1766 +#: common/models.py:1772 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1767 +#: common/models.py:1773 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1771 +#: common/models.py:1777 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1772 +#: common/models.py:1778 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1777 +#: common/models.py:1783 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1779 +#: common/models.py:1785 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1785 +#: common/models.py:1791 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1787 +#: common/models.py:1793 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1793 +#: common/models.py:1799 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1795 +#: common/models.py:1801 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1801 common/models.py:1829 common/models.py:1851 -#: common/models.py:1879 +#: common/models.py:1807 common/models.py:1835 common/models.py:1857 +#: common/models.py:1885 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1802 common/models.py:1830 common/models.py:1852 -#: common/models.py:1880 +#: common/models.py:1808 common/models.py:1836 common/models.py:1858 +#: common/models.py:1886 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1807 +#: common/models.py:1813 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1809 +#: common/models.py:1815 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1815 +#: common/models.py:1821 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1816 +#: common/models.py:1822 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1821 +#: common/models.py:1827 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1823 +#: common/models.py:1829 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1835 +#: common/models.py:1841 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1837 +#: common/models.py:1843 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1843 +#: common/models.py:1849 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1845 +#: common/models.py:1851 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1857 +#: common/models.py:1863 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1858 +#: common/models.py:1864 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1863 +#: common/models.py:1869 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1865 +#: common/models.py:1871 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1871 +#: common/models.py:1877 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1873 +#: common/models.py:1879 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1885 +#: common/models.py:1891 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1887 +#: common/models.py:1893 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1893 +#: common/models.py:1899 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1895 +#: common/models.py:1901 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1902 +#: common/models.py:1908 msgid "Enable password forgot" msgstr "" -#: common/models.py:1903 +#: common/models.py:1909 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1908 +#: common/models.py:1914 msgid "Enable registration" msgstr "" -#: common/models.py:1909 +#: common/models.py:1915 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1914 +#: common/models.py:1920 msgid "Enable SSO" msgstr "" -#: common/models.py:1915 +#: common/models.py:1921 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1920 +#: common/models.py:1926 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1922 +#: common/models.py:1928 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1928 +#: common/models.py:1934 msgid "Email required" msgstr "" -#: common/models.py:1929 +#: common/models.py:1935 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1934 +#: common/models.py:1940 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1936 +#: common/models.py:1942 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1942 +#: common/models.py:1948 msgid "Mail twice" msgstr "" -#: common/models.py:1943 +#: common/models.py:1949 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1948 +#: common/models.py:1954 msgid "Password twice" msgstr "" -#: common/models.py:1949 +#: common/models.py:1955 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1954 +#: common/models.py:1960 msgid "Allowed domains" msgstr "" -#: common/models.py:1956 +#: common/models.py:1962 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1962 +#: common/models.py:1968 msgid "Group on signup" msgstr "" -#: common/models.py:1963 +#: common/models.py:1969 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1968 +#: common/models.py:1974 msgid "Enforce MFA" msgstr "" -#: common/models.py:1969 +#: common/models.py:1975 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1974 +#: common/models.py:1980 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1976 +#: common/models.py:1982 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1984 +#: common/models.py:1990 msgid "Check for plugin updates" msgstr "" -#: common/models.py:1985 +#: common/models.py:1991 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:1991 +#: common/models.py:1997 msgid "Enable URL integration" msgstr "" -#: common/models.py:1992 +#: common/models.py:1998 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1998 +#: common/models.py:2004 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1999 +#: common/models.py:2005 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2005 +#: common/models.py:2011 msgid "Enable app integration" msgstr "" -#: common/models.py:2006 +#: common/models.py:2012 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2012 +#: common/models.py:2018 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2013 +#: common/models.py:2019 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2019 +#: common/models.py:2025 msgid "Enable event integration" msgstr "" -#: common/models.py:2020 +#: common/models.py:2026 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2026 +#: common/models.py:2032 msgid "Enable project codes" msgstr "" -#: common/models.py:2027 +#: common/models.py:2033 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2032 +#: common/models.py:2038 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2034 +#: common/models.py:2040 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2040 +#: common/models.py:2046 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2042 +#: common/models.py:2048 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2048 +#: common/models.py:2054 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2050 +#: common/models.py:2056 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2056 +#: common/models.py:2062 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2058 +#: common/models.py:2064 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2065 +#: common/models.py:2071 msgid "Display Users full names" msgstr "" -#: common/models.py:2066 +#: common/models.py:2072 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2071 +#: common/models.py:2077 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2072 +#: common/models.py:2078 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2084 common/models.py:2494 +#: common/models.py:2090 common/models.py:2500 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2127 +#: common/models.py:2133 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2129 +#: common/models.py:2135 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2135 +#: common/models.py:2141 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2136 +#: common/models.py:2142 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2141 +#: common/models.py:2147 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2142 +#: common/models.py:2148 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2147 +#: common/models.py:2153 msgid "Show latest parts" msgstr "" -#: common/models.py:2148 +#: common/models.py:2154 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2153 +#: common/models.py:2159 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2154 +#: common/models.py:2160 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2159 +#: common/models.py:2165 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2160 +#: common/models.py:2166 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2165 +#: common/models.py:2171 msgid "Show low stock" msgstr "" -#: common/models.py:2166 +#: common/models.py:2172 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2171 +#: common/models.py:2177 msgid "Show depleted stock" msgstr "" -#: common/models.py:2172 +#: common/models.py:2178 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2177 +#: common/models.py:2183 msgid "Show needed stock" msgstr "" -#: common/models.py:2178 +#: common/models.py:2184 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2183 +#: common/models.py:2189 msgid "Show expired stock" msgstr "" -#: common/models.py:2184 +#: common/models.py:2190 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2189 +#: common/models.py:2195 msgid "Show stale stock" msgstr "" -#: common/models.py:2190 +#: common/models.py:2196 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2195 +#: common/models.py:2201 msgid "Show pending builds" msgstr "" -#: common/models.py:2196 +#: common/models.py:2202 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2201 +#: common/models.py:2207 msgid "Show overdue builds" msgstr "" -#: common/models.py:2202 +#: common/models.py:2208 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2207 +#: common/models.py:2213 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2208 +#: common/models.py:2214 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2213 +#: common/models.py:2219 msgid "Show overdue POs" msgstr "" -#: common/models.py:2214 +#: common/models.py:2220 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2219 +#: common/models.py:2225 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2220 +#: common/models.py:2226 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2225 +#: common/models.py:2231 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2226 +#: common/models.py:2232 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2231 +#: common/models.py:2237 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2232 +#: common/models.py:2238 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2237 +#: common/models.py:2243 msgid "Show News" msgstr "" -#: common/models.py:2238 +#: common/models.py:2244 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2243 +#: common/models.py:2249 msgid "Inline label display" msgstr "" -#: common/models.py:2245 +#: common/models.py:2251 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2251 +#: common/models.py:2257 msgid "Default label printer" msgstr "" -#: common/models.py:2253 +#: common/models.py:2259 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2259 +#: common/models.py:2265 msgid "Inline report display" msgstr "" -#: common/models.py:2261 +#: common/models.py:2267 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2267 +#: common/models.py:2273 msgid "Search Parts" msgstr "" -#: common/models.py:2268 +#: common/models.py:2274 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2273 +#: common/models.py:2279 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2274 +#: common/models.py:2280 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2279 +#: common/models.py:2285 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2280 +#: common/models.py:2286 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2285 +#: common/models.py:2291 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2286 +#: common/models.py:2292 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2291 +#: common/models.py:2297 msgid "Search Categories" msgstr "" -#: common/models.py:2292 +#: common/models.py:2298 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2297 +#: common/models.py:2303 msgid "Search Stock" msgstr "" -#: common/models.py:2298 +#: common/models.py:2304 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2303 +#: common/models.py:2309 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2305 +#: common/models.py:2311 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2311 +#: common/models.py:2317 msgid "Search Locations" msgstr "" -#: common/models.py:2312 +#: common/models.py:2318 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2317 +#: common/models.py:2323 msgid "Search Companies" msgstr "" -#: common/models.py:2318 +#: common/models.py:2324 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2323 +#: common/models.py:2329 msgid "Search Build Orders" msgstr "" -#: common/models.py:2324 +#: common/models.py:2330 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2329 +#: common/models.py:2335 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2330 +#: common/models.py:2336 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2335 +#: common/models.py:2341 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2337 +#: common/models.py:2343 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2343 +#: common/models.py:2349 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2344 +#: common/models.py:2350 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2349 +#: common/models.py:2355 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2351 +#: common/models.py:2357 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2357 +#: common/models.py:2363 msgid "Search Return Orders" msgstr "" -#: common/models.py:2358 +#: common/models.py:2364 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2363 +#: common/models.py:2369 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2365 +#: common/models.py:2371 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2371 +#: common/models.py:2377 msgid "Search Preview Results" msgstr "" -#: common/models.py:2373 +#: common/models.py:2379 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2379 +#: common/models.py:2385 msgid "Regex Search" msgstr "" -#: common/models.py:2380 +#: common/models.py:2386 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2385 +#: common/models.py:2391 msgid "Whole Word Search" msgstr "" -#: common/models.py:2386 +#: common/models.py:2392 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2391 +#: common/models.py:2397 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2392 +#: common/models.py:2398 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2397 +#: common/models.py:2403 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2398 +#: common/models.py:2404 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2403 +#: common/models.py:2409 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2404 +#: common/models.py:2410 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2409 +#: common/models.py:2415 msgid "Date Format" msgstr "" -#: common/models.py:2410 +#: common/models.py:2416 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2423 part/templates/part/detail.html:41 +#: common/models.py:2429 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2424 +#: common/models.py:2430 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2429 part/templates/part/detail.html:62 +#: common/models.py:2435 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2431 +#: common/models.py:2437 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2437 +#: common/models.py:2443 msgid "Table String Length" msgstr "" -#: common/models.py:2439 +#: common/models.py:2445 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2445 +#: common/models.py:2451 msgid "Default part label template" msgstr "" -#: common/models.py:2446 +#: common/models.py:2452 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2451 +#: common/models.py:2457 msgid "Default stock item template" msgstr "" -#: common/models.py:2453 +#: common/models.py:2459 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2459 +#: common/models.py:2465 msgid "Default stock location label template" msgstr "" -#: common/models.py:2461 +#: common/models.py:2467 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2467 +#: common/models.py:2473 msgid "Default build line label template" msgstr "" -#: common/models.py:2469 +#: common/models.py:2475 msgid "The build line label template to be automatically selected" msgstr "" -#: common/models.py:2475 +#: common/models.py:2481 msgid "Receive error reports" msgstr "" -#: common/models.py:2476 +#: common/models.py:2482 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2481 +#: common/models.py:2487 msgid "Last used printing machines" msgstr "" -#: common/models.py:2482 +#: common/models.py:2488 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2525 +#: common/models.py:2531 msgid "Price break quantity" msgstr "" -#: common/models.py:2532 company/serializers.py:496 order/admin.py:42 -#: order/models.py:1333 order/models.py:2243 +#: common/models.py:2538 company/serializers.py:496 order/admin.py:42 +#: order/models.py:1373 order/models.py:2292 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 -#: templates/js/translated/return_order.js:741 +#: templates/js/translated/return_order.js:740 msgid "Price" msgstr "" -#: common/models.py:2533 +#: common/models.py:2539 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2704 common/models.py:2889 +#: common/models.py:2710 common/models.py:2895 msgid "Endpoint" msgstr "" -#: common/models.py:2705 +#: common/models.py:2711 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2715 +#: common/models.py:2721 msgid "Name for this webhook" msgstr "" -#: common/models.py:2719 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1045 -#: plugin/models.py:56 templates/js/translated/company.js:523 +#: common/models.py:2725 company/models.py:160 company/models.py:814 +#: machine/models.py:39 part/admin.py:88 part/models.py:1088 +#: plugin/models.py:65 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:492 @@ -3614,135 +3628,135 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2719 +#: common/models.py:2725 msgid "Is this webhook active" msgstr "" -#: common/models.py:2735 users/models.py:159 +#: common/models.py:2741 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2736 +#: common/models.py:2742 msgid "Token for access" msgstr "" -#: common/models.py:2744 +#: common/models.py:2750 msgid "Secret" msgstr "" -#: common/models.py:2745 +#: common/models.py:2751 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2853 +#: common/models.py:2859 msgid "Message ID" msgstr "" -#: common/models.py:2854 +#: common/models.py:2860 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2862 +#: common/models.py:2868 msgid "Host" msgstr "" -#: common/models.py:2863 +#: common/models.py:2869 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2871 +#: common/models.py:2877 msgid "Header" msgstr "" -#: common/models.py:2872 +#: common/models.py:2878 msgid "Header of this message" msgstr "" -#: common/models.py:2879 +#: common/models.py:2885 msgid "Body" msgstr "" -#: common/models.py:2880 +#: common/models.py:2886 msgid "Body of this message" msgstr "" -#: common/models.py:2890 +#: common/models.py:2896 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2895 +#: common/models.py:2901 msgid "Worked on" msgstr "" -#: common/models.py:2896 +#: common/models.py:2902 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3022 +#: common/models.py:3028 msgid "Id" msgstr "" -#: common/models.py:3024 templates/js/translated/company.js:965 +#: common/models.py:3030 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3028 templates/js/translated/news.js:60 +#: common/models.py:3034 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3030 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3036 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3032 templates/js/translated/news.js:52 +#: common/models.py:3038 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3035 +#: common/models.py:3041 msgid "Read" msgstr "" -#: common/models.py:3035 +#: common/models.py:3041 msgid "Was this news item read?" msgstr "" -#: common/models.py:3052 company/models.py:156 part/models.py:929 +#: common/models.py:3058 company/models.py:156 part/models.py:972 #: 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 +#: report/templates/report/inventree_return_order_report.html:35 #: stock/templates/stock/item_base.html:133 templates/503.html:31 #: templates/hover_image.html:7 templates/hover_image.html:9 #: templates/modals.html:6 msgid "Image" msgstr "" -#: common/models.py:3052 +#: common/models.py:3058 msgid "Image file" msgstr "" -#: common/models.py:3094 +#: common/models.py:3100 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3113 +#: common/models.py:3119 msgid "Unit name" msgstr "" -#: common/models.py:3120 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3126 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3121 +#: common/models.py:3127 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3128 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3134 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3129 +#: common/models.py:3135 msgid "Unit definition" msgstr "" @@ -3929,9 +3943,9 @@ msgid "Contact email address" msgstr "" #: company/models.py:139 company/templates/company/company_base.html:145 -#: order/models.py:331 order/templates/order/order_base.html:203 +#: order/models.py:344 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 -#: order/templates/order/sales_order_base.html:214 +#: order/templates/order/sales_order_base.html:218 msgid "Contact" msgstr "" @@ -3977,7 +3991,7 @@ msgstr "" #: company/models.py:273 company/models.py:382 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:776 +#: company/templates/company/company_base.html:12 stock/api.py:810 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "" @@ -4069,8 +4083,8 @@ msgstr "" msgid "Link to address information (external)" msgstr "" -#: company/models.py:489 company/models.py:792 stock/models.py:751 -#: stock/serializers.py:266 stock/templates/stock/item_base.html:142 +#: company/models.py:489 company/models.py:792 stock/models.py:772 +#: stock/serializers.py:395 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -4081,7 +4095,7 @@ msgstr "" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:515 +#: company/templates/company/supplier_part.html:145 part/serializers.py:530 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4096,13 +4110,13 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:525 +#: company/templates/company/supplier_part.html:153 part/serializers.py:540 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800 -#: templates/js/translated/purchase_order.js:1852 -#: templates/js/translated/purchase_order.js:2054 +#: templates/js/translated/purchase_order.js:1851 +#: templates/js/translated/purchase_order.js:2053 msgid "MPN" msgstr "" @@ -4129,9 +4143,8 @@ msgstr "" msgid "Parameter name" msgstr "" -#: company/models.py:621 -#: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2448 templates/js/translated/company.js:1166 +#: company/models.py:621 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2425 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492 #: templates/js/translated/stock.js:1522 msgid "Value" @@ -4142,10 +4155,10 @@ msgid "Parameter value" msgstr "" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1009 part/models.py:3623 +#: part/admin.py:57 part/models.py:1052 part/models.py:3666 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 -#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370 +#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 msgid "Units" msgstr "" @@ -4166,9 +4179,9 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:465 +#: company/templates/company/supplier_part.html:129 order/models.py:487 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:499 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:514 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4176,7 +4189,7 @@ msgstr "" #: templates/js/translated/company.js:511 #: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1690 +#: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/table_filters.js:804 msgid "Supplier" msgstr "" @@ -4185,7 +4198,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:809 part/serializers.py:510 +#: company/models.py:809 part/serializers.py:525 msgid "Supplier stock keeping unit" msgstr "" @@ -4206,29 +4219,29 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:418 part/models.py:4070 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4113 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 -#: report/templates/report/inventree_slr_report.html:105 -#: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:579 +#: report/templates/report/inventree_purchase_order_report.html:32 +#: report/templates/report/inventree_return_order_report.html:27 +#: report/templates/report/inventree_sales_order_report.html:32 +#: report/templates/report/inventree_stock_location_report.html:105 +#: stock/serializers.py:708 msgid "Note" msgstr "" -#: company/models.py:857 part/models.py:1967 +#: company/models.py:857 part/models.py:2010 msgid "base cost" msgstr "" -#: company/models.py:858 part/models.py:1968 +#: company/models.py:858 part/models.py:2011 msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:782 stock/serializers.py:1350 +#: stock/admin.py:224 stock/models.py:803 stock/serializers.py:1479 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 -#: templates/js/translated/stock.js:2426 +#: templates/js/translated/stock.js:2424 msgid "Packaging" msgstr "" @@ -4241,8 +4254,8 @@ msgstr "" #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 -#: templates/js/translated/purchase_order.js:2085 -#: templates/js/translated/purchase_order.js:2102 +#: templates/js/translated/purchase_order.js:2084 +#: templates/js/translated/purchase_order.js:2101 msgid "Pack Quantity" msgstr "" @@ -4250,7 +4263,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:892 part/models.py:1974 +#: company/models.py:892 part/models.py:2017 msgid "multiple" msgstr "" @@ -4285,7 +4298,7 @@ msgstr "" #: part/templates/part/part_base.html:146 #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 -#: templates/js/translated/model_renderers.js:306 +#: templates/js/translated/model_renderers.js:312 #: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 msgid "Inactive" msgstr "" @@ -4321,11 +4334,11 @@ msgstr "" #: company/templates/company/manufacturer_part.html:51 #: company/templates/company/supplier_part.html:83 #: part/templates/part/part_thumb.html:20 -#: report/templates/report/inventree_build_order_base.html:98 -#: report/templates/report/inventree_po_report_base.html:40 -#: report/templates/report/inventree_so_report_base.html:40 -#: report/templates/report/inventree_test_report_base.html:84 -#: report/templates/report/inventree_test_report_base.html:163 +#: report/templates/report/inventree_build_order_report.html:98 +#: report/templates/report/inventree_purchase_order_report.html:40 +#: report/templates/report/inventree_sales_order_report.html:40 +#: report/templates/report/inventree_test_report.html:84 +#: report/templates/report/inventree_test_report.html:163 msgid "Part image" msgstr "" @@ -4344,16 +4357,16 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:92 order/models.py:910 -#: order/models.py:2010 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:144 stock/models.py:804 -#: stock/models.py:805 stock/serializers.py:1100 +#: company/templates/company/company_base.html:92 order/models.py:941 +#: order/models.py:2059 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:148 stock/models.py:825 +#: stock/models.py:826 stock/serializers.py:1229 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 -#: templates/js/translated/return_order.js:296 -#: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2962 +#: templates/js/translated/return_order.js:295 +#: templates/js/translated/sales_order.js:820 +#: templates/js/translated/stock.js:2959 #: templates/js/translated/table_filters.js:808 msgid "Customer" msgstr "" @@ -4362,10 +4375,10 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:124 order/models.py:341 +#: company/templates/company/company_base.html:124 order/models.py:354 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 -#: order/templates/order/sales_order_base.html:221 +#: order/templates/order/sales_order_base.html:225 msgid "Address" msgstr "" @@ -4374,7 +4387,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:211 -#: part/templates/part/part_base.html:528 +#: part/templates/part/part_base.html:527 msgid "Remove Image" msgstr "" @@ -4383,19 +4396,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:214 -#: part/templates/part/part_base.html:531 +#: part/templates/part/part_base.html:530 #: templates/InvenTree/settings/user.html:88 #: templates/InvenTree/settings/user_sso.html:43 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:243 -#: part/templates/part/part_base.html:560 +#: part/templates/part/part_base.html:559 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:258 -#: part/templates/part/part_base.html:614 +#: part/templates/part/part_base.html:613 msgid "Download Image" msgstr "" @@ -4558,7 +4571,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:821 +#: part/admin.py:122 part/serializers.py:836 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4609,10 +4622,10 @@ msgstr "" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:452 -#: stock/models.py:762 stock/templates/stock/item_base.html:233 +#: stock/models.py:783 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 -#: templates/js/translated/stock.js:2282 +#: templates/js/translated/stock.js:2280 msgid "Supplier Part" msgstr "" @@ -4658,11 +4671,11 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:509 +#: part/bom.py:311 part/serializers.py:524 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1851 -#: templates/js/translated/purchase_order.js:2029 +#: templates/js/translated/purchase_order.js:1850 +#: templates/js/translated/purchase_order.js:2028 msgid "SKU" msgstr "" @@ -4671,12 +4684,12 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:209 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:199 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:206 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:200 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:207 #: templates/js/translated/stock.js:537 msgid "New Stock Item" msgstr "" @@ -4708,16 +4721,16 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:820 part/stocktake.py:223 +#: part/serializers.py:835 part/stocktake.py:223 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:787 stock/serializers.py:951 +#: stock/serializers.py:916 stock/serializers.py:1080 #: stock/templates/stock/location.html:170 -#: stock/templates/stock/location.html:184 -#: stock/templates/stock/location.html:196 +#: stock/templates/stock/location.html:191 +#: stock/templates/stock/location.html:203 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2769 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 #: users/models.py:206 msgid "Stock Items" msgstr "" @@ -4751,126 +4764,48 @@ msgstr "" msgid "New Company" msgstr "" -#: label/api.py:247 -msgid "Error printing label" -msgstr "" - -#: label/models.py:120 -msgid "Label name" -msgstr "" - -#: label/models.py:128 -msgid "Label description" -msgstr "" - -#: label/models.py:136 -msgid "Label" -msgstr "" - -#: label/models.py:137 -msgid "Label template file" -msgstr "" - -#: label/models.py:143 part/models.py:3494 report/models.py:324 -#: templates/js/translated/part.js:2900 -#: templates/js/translated/table_filters.js:481 -msgid "Enabled" -msgstr "" - -#: label/models.py:144 -msgid "Label template is enabled" -msgstr "" - -#: label/models.py:149 -msgid "Width [mm]" -msgstr "" - -#: label/models.py:150 -msgid "Label width, specified in mm" -msgstr "" - -#: label/models.py:156 -msgid "Height [mm]" -msgstr "" - -#: label/models.py:157 -msgid "Label height, specified in mm" -msgstr "" - -#: label/models.py:163 report/models.py:317 -msgid "Filename Pattern" -msgstr "" - -#: label/models.py:164 -msgid "Pattern for generating label filenames" -msgstr "" - -#: label/models.py:313 label/models.py:352 label/models.py:377 -#: label/models.py:412 -msgid "Query filters (comma-separated list of key=value pairs)" -msgstr "" - -#: label/models.py:314 label/models.py:353 label/models.py:378 -#: label/models.py:413 report/models.py:345 report/models.py:496 -#: report/models.py:532 report/models.py:568 report/models.py:750 -msgid "Filters" -msgstr "" - -#: label/templates/label/part/part_label.html:31 -#: label/templates/label/stockitem/qr.html:21 -#: label/templates/label/stocklocation/qr.html:20 -#: templates/allauth_2fa/setup.html:18 -msgid "QR Code" -msgstr "" - -#: label/templates/label/part/part_label_code128.html:31 -#: label/templates/label/stocklocation/qr_and_text.html:31 -#: templates/qr_code.html:7 -msgid "QR code" -msgstr "" - -#: machine/machine_types/label_printer.py:217 +#: machine/machine_types/label_printer.py:218 msgid "Copies" msgstr "" -#: machine/machine_types/label_printer.py:218 +#: machine/machine_types/label_printer.py:219 msgid "Number of copies to print for each label" msgstr "" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:234 msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:234 order/api.py:1515 -#: templates/js/translated/sales_order.js:1042 +#: machine/machine_types/label_printer.py:235 order/api.py:1515 +#: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "" -#: machine/machine_types/label_printer.py:235 +#: machine/machine_types/label_printer.py:236 msgid "Printing" msgstr "" -#: machine/machine_types/label_printer.py:236 +#: machine/machine_types/label_printer.py:237 msgid "No media" msgstr "" -#: machine/machine_types/label_printer.py:237 +#: machine/machine_types/label_printer.py:238 msgid "Disconnected" msgstr "" -#: machine/machine_types/label_printer.py:244 +#: machine/machine_types/label_printer.py:245 msgid "Label Printer" msgstr "" -#: machine/machine_types/label_printer.py:245 +#: machine/machine_types/label_printer.py:246 msgid "Directly print labels for various items." msgstr "" -#: machine/machine_types/label_printer.py:251 +#: machine/machine_types/label_printer.py:252 msgid "Printer Location" msgstr "" -#: machine/machine_types/label_printer.py:252 +#: machine/machine_types/label_printer.py:253 msgid "Scope the printer to a specific location" msgstr "" @@ -4930,19 +4865,19 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:89 -#: report/templates/report/inventree_po_report_base.html:31 -#: report/templates/report/inventree_so_report_base.html:31 +#: order/admin.py:30 order/models.py:90 +#: report/templates/report/inventree_purchase_order_report.html:31 +#: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2126 -#: templates/js/translated/sales_order.js:1847 +#: templates/js/translated/purchase_order.js:2125 +#: templates/js/translated/sales_order.js:1883 msgid "Total Price" msgstr "" #: order/api.py:161 order/serializers.py:91 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 -#: order/templates/order/sales_order_base.html:118 +#: order/templates/order/sales_order_base.html:122 msgid "Order Status" msgstr "" @@ -4955,10 +4890,10 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:437 order/api.py:817 order/models.py:1382 order/models.py:1491 -#: order/models.py:1537 order/models.py:1651 order/models.py:1805 -#: order/models.py:2209 order/models.py:2260 -#: templates/js/translated/sales_order.js:1488 +#: order/api.py:437 order/api.py:817 order/models.py:1422 order/models.py:1531 +#: order/models.py:1577 order/models.py:1691 order/models.py:1845 +#: order/models.py:2258 order/models.py:2309 +#: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" @@ -4970,402 +4905,398 @@ msgstr "" msgid "Order Pending" msgstr "" -#: order/api.py:1509 order/models.py:1383 order/models.py:1492 -#: order/templates/order/order_base.html:9 +#: order/api.py:1509 order/models.py:381 order/models.py:1423 +#: order/models.py:1532 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 -#: report/templates/report/inventree_po_report_base.html:14 -#: stock/templates/stock/item_base.html:176 +#: report/templates/report/inventree_purchase_order_report.html:14 +#: stock/serializers.py:119 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 -#: templates/js/translated/purchase_order.js:1674 -#: templates/js/translated/stock.js:2262 templates/js/translated/stock.js:2910 +#: templates/js/translated/purchase_order.js:1673 +#: templates/js/translated/stock.js:2260 templates/js/translated/stock.js:2907 msgid "Purchase Order" msgstr "" -#: order/api.py:1513 order/models.py:2210 order/models.py:2261 -#: order/templates/order/return_order_base.html:9 +#: order/api.py:1513 order/models.py:2008 order/models.py:2259 +#: order/models.py:2310 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:281 -#: templates/js/translated/stock.js:2944 +#: report/templates/report/inventree_return_order_report.html:13 +#: templates/js/translated/return_order.js:280 +#: templates/js/translated/stock.js:2941 msgid "Return Order" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:96 order/serializers.py:71 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:99 order/serializers.py:72 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:246 +#: order/models.py:248 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:278 +#: order/models.py:291 msgid "Order description (optional)" msgstr "" -#: order/models.py:287 +#: order/models.py:300 msgid "Select project code for this order" msgstr "" -#: order/models.py:291 order/models.py:1288 order/models.py:1704 +#: order/models.py:304 order/models.py:1328 order/models.py:1744 msgid "Link to external page" msgstr "" -#: order/models.py:299 +#: order/models.py:312 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:313 +#: order/models.py:326 msgid "Created By" msgstr "" -#: order/models.py:321 +#: order/models.py:334 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:332 +#: order/models.py:345 msgid "Point of contact for this order" msgstr "" -#: order/models.py:342 +#: order/models.py:355 msgid "Company address for this order" msgstr "" -#: order/models.py:443 order/models.py:899 +#: order/models.py:465 order/models.py:930 msgid "Order reference" msgstr "" -#: order/models.py:451 order/models.py:923 +#: order/models.py:473 order/models.py:954 msgid "Purchase order status" msgstr "" -#: order/models.py:466 +#: order/models.py:488 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:477 order/templates/order/order_base.html:148 -#: templates/js/translated/purchase_order.js:1703 +#: order/models.py:499 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1702 msgid "Supplier Reference" msgstr "" -#: order/models.py:478 +#: order/models.py:500 msgid "Supplier order reference code" msgstr "" -#: order/models.py:487 +#: order/models.py:509 msgid "received by" msgstr "" -#: order/models.py:493 order/models.py:2036 +#: order/models.py:515 order/models.py:2085 msgid "Issue Date" msgstr "" -#: order/models.py:494 order/models.py:2037 +#: order/models.py:516 order/models.py:2086 msgid "Date order was issued" msgstr "" -#: order/models.py:501 order/models.py:2044 +#: order/models.py:523 order/models.py:2093 msgid "Date order was completed" msgstr "" -#: order/models.py:545 +#: order/models.py:567 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:739 +#: order/models.py:761 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:911 +#: order/models.py:942 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:934 order/models.py:2029 +#: order/models.py:965 order/models.py:2078 msgid "Customer Reference " msgstr "" -#: order/models.py:935 order/models.py:2030 +#: order/models.py:966 order/models.py:2079 msgid "Customer order reference code" msgstr "" -#: order/models.py:939 order/models.py:1658 -#: templates/js/translated/sales_order.js:843 -#: templates/js/translated/sales_order.js:1024 +#: order/models.py:970 order/models.py:1698 +#: templates/js/translated/sales_order.js:879 +#: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "" -#: order/models.py:948 +#: order/models.py:979 msgid "shipped by" msgstr "" -#: order/models.py:999 -msgid "Order cannot be completed as no parts have been assigned" -msgstr "" - -#: order/models.py:1004 +#: order/models.py:1029 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1008 templates/js/translated/sales_order.js:506 +#: order/models.py:1033 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1013 +#: order/models.py:1038 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1260 +#: order/models.py:1300 msgid "Item quantity" msgstr "" -#: order/models.py:1277 +#: order/models.py:1317 msgid "Line item reference" msgstr "" -#: order/models.py:1284 +#: order/models.py:1324 msgid "Line item notes" msgstr "" -#: order/models.py:1296 +#: order/models.py:1336 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1317 +#: order/models.py:1357 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1323 +#: order/models.py:1363 msgid "Context" msgstr "" -#: order/models.py:1324 +#: order/models.py:1364 msgid "Additional context for this line" msgstr "" -#: order/models.py:1334 +#: order/models.py:1374 msgid "Unit price" msgstr "" -#: order/models.py:1367 +#: order/models.py:1407 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1374 +#: order/models.py:1414 msgid "deleted" msgstr "" -#: order/models.py:1402 +#: order/models.py:1442 msgid "Supplier part" msgstr "" -#: order/models.py:1409 order/templates/order/order_base.html:196 +#: order/models.py:1449 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 #: templates/js/translated/purchase_order.js:1306 -#: templates/js/translated/purchase_order.js:2170 -#: templates/js/translated/return_order.js:764 +#: templates/js/translated/purchase_order.js:2169 +#: templates/js/translated/return_order.js:763 #: templates/js/translated/table_filters.js:120 #: templates/js/translated/table_filters.js:602 msgid "Received" msgstr "" -#: order/models.py:1410 +#: order/models.py:1450 msgid "Number of items received" msgstr "" -#: order/models.py:1418 stock/models.py:923 stock/serializers.py:400 +#: order/models.py:1458 stock/models.py:944 stock/serializers.py:529 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2313 +#: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "" -#: order/models.py:1419 +#: order/models.py:1459 msgid "Unit purchase price" msgstr "" -#: order/models.py:1434 +#: order/models.py:1474 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1525 +#: order/models.py:1565 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1530 +#: order/models.py:1570 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1556 part/templates/part/part_pricing.html:107 +#: order/models.py:1596 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1557 +#: order/models.py:1597 msgid "Unit sale price" msgstr "" -#: order/models.py:1567 +#: order/models.py:1607 msgid "Shipped quantity" msgstr "" -#: order/models.py:1659 +#: order/models.py:1699 msgid "Date of shipment" msgstr "" -#: order/models.py:1665 templates/js/translated/sales_order.js:1036 +#: order/models.py:1705 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1666 +#: order/models.py:1706 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1674 +#: order/models.py:1714 msgid "Checked By" msgstr "" -#: order/models.py:1675 +#: order/models.py:1715 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1682 order/models.py:1895 order/serializers.py:1354 -#: order/serializers.py:1464 templates/js/translated/model_renderers.js:448 +#: order/models.py:1722 order/models.py:1935 order/serializers.py:1354 +#: order/serializers.py:1464 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" -#: order/models.py:1683 +#: order/models.py:1723 msgid "Shipment number" msgstr "" -#: order/models.py:1691 +#: order/models.py:1731 msgid "Tracking Number" msgstr "" -#: order/models.py:1692 +#: order/models.py:1732 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1699 +#: order/models.py:1739 msgid "Invoice Number" msgstr "" -#: order/models.py:1700 +#: order/models.py:1740 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1720 +#: order/models.py:1760 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1723 +#: order/models.py:1763 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1841 order/models.py:1843 +#: order/models.py:1881 order/models.py:1883 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1850 +#: order/models.py:1890 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1853 +#: order/models.py:1893 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1856 +#: order/models.py:1896 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1875 order/serializers.py:1231 +#: order/models.py:1915 order/serializers.py:1231 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1878 +#: order/models.py:1918 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1879 plugin/base/barcodes/api.py:481 +#: order/models.py:1919 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1887 +#: order/models.py:1927 msgid "Line" msgstr "" -#: order/models.py:1896 +#: order/models.py:1936 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1909 order/models.py:2217 -#: templates/js/translated/return_order.js:722 +#: order/models.py:1949 order/models.py:2266 +#: templates/js/translated/return_order.js:721 msgid "Item" msgstr "" -#: order/models.py:1910 +#: order/models.py:1950 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1919 +#: order/models.py:1959 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1999 +#: order/models.py:2048 msgid "Return Order reference" msgstr "" -#: order/models.py:2011 +#: order/models.py:2060 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2023 +#: order/models.py:2072 msgid "Return order status" msgstr "" -#: order/models.py:2202 +#: order/models.py:2251 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2218 +#: order/models.py:2267 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2224 +#: order/models.py:2273 msgid "Received Date" msgstr "" -#: order/models.py:2225 +#: order/models.py:2274 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2236 templates/js/translated/return_order.js:733 +#: order/models.py:2285 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2237 +#: order/models.py:2286 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2244 +#: order/models.py:2293 msgid "Cost associated with return or repair for this line item" msgstr "" #: order/serializers.py:80 order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 -#: report/templates/report/inventree_po_report_base.html:22 -#: report/templates/report/inventree_return_order_report_base.html:19 -#: report/templates/report/inventree_so_report_base.html:22 +#: report/templates/report/inventree_purchase_order_report.html:22 +#: report/templates/report/inventree_return_order_report.html:19 +#: report/templates/report/inventree_sales_order_report.html:22 msgid "Line Items" msgstr "" @@ -5595,7 +5526,7 @@ msgstr "" #: order/templates/order/order_base.html:84 #: order/templates/order/return_order_base.html:87 -#: order/templates/order/sales_order_base.html:93 +#: order/templates/order/sales_order_base.html:97 msgid "Complete Order" msgstr "" @@ -5605,13 +5536,13 @@ msgstr "" #: order/templates/order/order_base.html:106 #: order/templates/order/return_order_base.html:101 -#: order/templates/order/sales_order_base.html:106 +#: order/templates/order/sales_order_base.html:110 msgid "Order Reference" msgstr "" #: order/templates/order/order_base.html:111 #: order/templates/order/return_order_base.html:106 -#: order/templates/order/sales_order_base.html:111 +#: order/templates/order/sales_order_base.html:115 msgid "Order Description" msgstr "" @@ -5620,19 +5551,19 @@ msgid "No suppplier information available" msgstr "" #: order/templates/order/order_base.html:154 -#: order/templates/order/sales_order_base.html:157 +#: order/templates/order/sales_order_base.html:161 msgid "Completed Line Items" msgstr "" #: order/templates/order/order_base.html:160 -#: order/templates/order/sales_order_base.html:163 -#: order/templates/order/sales_order_base.html:173 +#: order/templates/order/sales_order_base.html:167 +#: order/templates/order/sales_order_base.html:177 msgid "Incomplete" msgstr "" #: order/templates/order/order_base.html:179 #: order/templates/order/return_order_base.html:157 -#: report/templates/report/inventree_build_order_base.html:121 +#: report/templates/report/inventree_build_order_report.html:121 msgid "Issued" msgstr "" @@ -5642,15 +5573,15 @@ msgstr "" #: order/templates/order/order_base.html:228 #: order/templates/order/return_order_base.html:199 -#: order/templates/order/sales_order_base.html:239 +#: order/templates/order/sales_order_base.html:243 msgid "Total cost could not be calculated" msgstr "" -#: order/templates/order/order_base.html:318 +#: order/templates/order/order_base.html:314 msgid "Purchase Order QR Code" msgstr "" -#: order/templates/order/order_base.html:330 +#: order/templates/order/order_base.html:326 msgid "Link Barcode to Purchase Order" msgstr "" @@ -5707,8 +5638,8 @@ msgstr "" #: templates/js/translated/build.js:1629 #: templates/js/translated/purchase_order.js:696 #: templates/js/translated/purchase_order.js:1236 -#: templates/js/translated/return_order.js:506 -#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/return_order.js:505 +#: templates/js/translated/sales_order.js:1145 #: templates/js/translated/stock.js:714 templates/js/translated/stock.js:883 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -5762,7 +5693,7 @@ msgstr "" #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 #: templates/js/translated/purchase_order.js:414 -#: templates/js/translated/return_order.js:459 +#: templates/js/translated/return_order.js:458 #: templates/js/translated/sales_order.js:237 msgid "Add Line Item" msgstr "" @@ -5811,30 +5742,30 @@ msgid "Print packing list" msgstr "" #: order/templates/order/return_order_base.html:138 -#: order/templates/order/sales_order_base.html:151 -#: templates/js/translated/return_order.js:309 -#: templates/js/translated/sales_order.js:797 +#: order/templates/order/sales_order_base.html:155 +#: templates/js/translated/return_order.js:308 +#: templates/js/translated/sales_order.js:833 msgid "Customer Reference" msgstr "" #: order/templates/order/return_order_base.html:195 -#: order/templates/order/sales_order_base.html:235 +#: order/templates/order/sales_order_base.html:239 #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1072 -#: templates/js/translated/purchase_order.js:1753 -#: templates/js/translated/return_order.js:381 -#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/purchase_order.js:1752 +#: templates/js/translated/return_order.js:380 +#: templates/js/translated/sales_order.js:891 msgid "Total Cost" msgstr "" -#: order/templates/order/return_order_base.html:263 +#: order/templates/order/return_order_base.html:259 msgid "Return Order QR Code" msgstr "" -#: order/templates/order/return_order_base.html:275 +#: order/templates/order/return_order_base.html:271 msgid "Link Barcode to Return Order" msgstr "" @@ -5852,25 +5783,30 @@ msgid "Ship Items" msgstr "" #: order/templates/order/sales_order_base.html:92 -#: templates/js/translated/sales_order.js:484 +#: order/templates/order/sales_order_base.html:93 +msgid "Mark As Shipped" +msgstr "" + +#: order/templates/order/sales_order_base.html:96 +#: templates/js/translated/sales_order.js:536 msgid "Complete Sales Order" msgstr "" -#: order/templates/order/sales_order_base.html:131 +#: order/templates/order/sales_order_base.html:135 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:169 +#: order/templates/order/sales_order_base.html:173 #: order/templates/order/sales_order_detail.html:99 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "" -#: order/templates/order/sales_order_base.html:312 +#: order/templates/order/sales_order_base.html:321 msgid "Sales Order QR Code" msgstr "" -#: order/templates/order/sales_order_base.html:324 +#: order/templates/order/sales_order_base.html:333 msgid "Link Barcode to Sales Order" msgstr "" @@ -5914,12 +5850,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:404 part/models.py:3921 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:406 part/models.py:3964 part/stocktake.py:218 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:411 part/models.py:3922 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:413 part/models.py:3965 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -5928,20 +5864,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:904 part/templates/part/part_base.html:269 -#: report/templates/report/inventree_slr_report.html:103 -#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2341 -#: templates/js/translated/stock.js:2038 +#: part/admin.py:48 part/models.py:947 part/templates/part/part_base.html:269 +#: report/templates/report/inventree_stock_location_report.html:103 +#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 +#: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:913 part/templates/part/part_base.html:277 -#: report/models.py:195 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2347 +#: part/admin.py:50 part/models.py:956 part/templates/part/part_base.html:277 +#: report/models.py:161 templates/js/translated/part.js:1231 +#: templates/js/translated/part.js:2346 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:317 part/models.py:886 +#: part/admin.py:53 part/admin.py:319 part/models.py:929 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5950,15 +5886,15 @@ msgstr "" msgid "Part Image" msgstr "" -#: part/admin.py:63 part/admin.py:300 part/stocktake.py:221 +#: part/admin.py:63 part/admin.py:302 part/stocktake.py:221 msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:302 part/stocktake.py:222 +#: part/admin.py:67 part/admin.py:304 part/stocktake.py:222 msgid "Category Name" msgstr "" -#: part/admin.py:71 part/admin.py:314 +#: part/admin.py:71 part/admin.py:316 msgid "Default Location ID" msgstr "" @@ -5966,11 +5902,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:872 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:915 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1000 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1043 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5983,160 +5919,164 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3080 part/models.py:3094 +#: part/admin.py:155 part/models.py:3123 part/models.py:3137 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3087 part/models.py:3101 +#: part/admin.py:158 part/models.py:3130 part/models.py:3144 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" -#: part/admin.py:306 part/admin.py:393 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:211 msgid "Parent ID" msgstr "" -#: part/admin.py:310 part/admin.py:400 stock/admin.py:62 +#: part/admin.py:312 part/admin.py:402 stock/admin.py:62 msgid "Parent Name" msgstr "" -#: part/admin.py:318 part/templates/part/category.html:88 +#: part/admin.py:320 part/templates/part/category.html:88 #: part/templates/part/category.html:101 msgid "Category Path" msgstr "" -#: part/admin.py:323 part/models.py:391 part/serializers.py:117 +#: part/admin.py:325 part/models.py:393 part/serializers.py:117 #: part/serializers.py:272 part/serializers.py:391 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2803 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "" -#: part/admin.py:384 +#: part/admin.py:386 msgid "BOM Level" msgstr "" -#: part/admin.py:387 +#: part/admin.py:389 msgid "BOM Item ID" msgstr "" -#: part/admin.py:397 +#: part/admin.py:399 msgid "Parent IPN" msgstr "" -#: part/admin.py:408 part/models.py:3923 +#: part/admin.py:410 part/models.py:3966 msgid "Part IPN" msgstr "" -#: part/admin.py:421 part/serializers.py:1261 +#: part/admin.py:423 part/serializers.py:1276 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:426 part/serializers.py:1276 +#: part/admin.py:428 part/serializers.py:1291 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:119 +#: part/api.py:112 msgid "Starred" msgstr "" -#: part/api.py:121 +#: part/api.py:114 msgid "Filter by starred categories" msgstr "" -#: part/api.py:138 stock/api.py:284 +#: part/api.py:131 stock/api.py:318 msgid "Depth" msgstr "" -#: part/api.py:138 +#: part/api.py:131 msgid "Filter by category depth" msgstr "" -#: part/api.py:156 stock/api.py:302 +#: part/api.py:149 stock/api.py:336 msgid "Cascade" msgstr "" -#: part/api.py:158 +#: part/api.py:151 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:178 +#: part/api.py:171 msgid "Parent" msgstr "" -#: part/api.py:180 +#: part/api.py:173 msgid "Filter by parent category" msgstr "" -#: part/api.py:213 +#: part/api.py:206 msgid "Exclude Tree" msgstr "" -#: part/api.py:215 +#: part/api.py:208 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:461 +#: part/api.py:455 msgid "Has Results" msgstr "" -#: part/api.py:628 +#: part/api.py:622 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:646 +#: part/api.py:640 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:662 +#: part/api.py:656 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:746 +#: part/api.py:740 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:893 +#: part/api.py:887 msgid "Valid" msgstr "" -#: part/api.py:894 +#: part/api.py:888 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:900 +#: part/api.py:894 msgid "This option must be selected" msgstr "" -#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866 -#: part/serializers.py:406 part/serializers.py:1117 -#: part/templates/part/part_base.html:260 stock/api.py:745 +#: part/api.py:1111 +msgid "BOM Valid" +msgstr "" + +#: part/api.py:1515 part/models.py:939 part/models.py:3429 part/models.py:3909 +#: part/serializers.py:406 part/serializers.py:1132 +#: part/templates/part/part_base.html:260 stock/api.py:779 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2377 +#: templates/js/translated/part.js:2376 msgid "Category" msgstr "" -#: part/api.py:1849 +#: part/api.py:1803 msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:101 part/models.py:939 +#: part/bom.py:170 part/models.py:102 part/models.py:982 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:822 +#: part/bom.py:171 part/serializers.py:837 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6145,698 +6085,712 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:82 part/models.py:3867 part/templates/part/category.html:16 +#: part/models.py:83 part/models.py:3910 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:83 part/templates/part/category.html:136 +#: part/models.py:84 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "" -#: part/models.py:102 +#: part/models.py:103 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:107 stock/models.py:165 templates/js/translated/part.js:2810 -#: templates/js/translated/stock.js:2775 +#: part/models.py:108 stock/models.py:177 templates/js/translated/part.js:2809 +#: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "" -#: part/models.py:109 +#: part/models.py:110 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:118 +#: part/models.py:119 msgid "Default keywords" msgstr "" -#: part/models.py:119 +#: part/models.py:120 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:125 stock/models.py:89 stock/models.py:148 +#: part/models.py:126 stock/models.py:89 stock/models.py:160 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:126 stock/models.py:149 +#: part/models.py:127 stock/models.py:161 msgid "Icon (optional)" msgstr "" -#: part/models.py:148 +#: part/models.py:149 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:484 +#: part/models.py:482 +msgid "Cannot delete this part as it is still active" +msgstr "" + +#: part/models.py:489 +msgid "Cannot delete this part as it is used in an assembly" +msgstr "" + +#: part/models.py:527 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:532 part/models.py:539 +#: part/models.py:575 part/models.py:582 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:551 +#: part/models.py:594 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:616 +#: part/models.py:659 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:696 +#: part/models.py:739 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:801 +#: part/models.py:844 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:811 +#: part/models.py:854 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:826 +#: part/models.py:869 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:855 part/models.py:3922 +#: part/models.py:898 part/models.py:3965 msgid "Part name" msgstr "" -#: part/models.py:860 +#: part/models.py:903 msgid "Is Template" msgstr "" -#: part/models.py:861 +#: part/models.py:904 msgid "Is this part a template part?" msgstr "" -#: part/models.py:871 +#: part/models.py:914 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:879 +#: part/models.py:922 msgid "Part description (optional)" msgstr "" -#: part/models.py:887 +#: part/models.py:930 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:897 +#: part/models.py:940 msgid "Part category" msgstr "" -#: part/models.py:905 +#: part/models.py:948 msgid "Internal Part Number" msgstr "" -#: part/models.py:912 +#: part/models.py:955 msgid "Part revision or version number" msgstr "" -#: part/models.py:937 +#: part/models.py:980 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:983 part/templates/part/part_base.html:376 +#: part/models.py:1026 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:984 +#: part/models.py:1027 msgid "Default supplier part" msgstr "" -#: part/models.py:991 +#: part/models.py:1034 msgid "Default Expiry" msgstr "" -#: part/models.py:992 +#: part/models.py:1035 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1001 +#: part/models.py:1044 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1010 +#: part/models.py:1053 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1017 +#: part/models.py:1060 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1023 +#: part/models.py:1066 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1029 +#: part/models.py:1072 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1035 +#: part/models.py:1078 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1041 +#: part/models.py:1084 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1045 +#: part/models.py:1088 msgid "Is this part active?" msgstr "" -#: part/models.py:1051 +#: part/models.py:1094 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1057 +#: part/models.py:1100 msgid "BOM checksum" msgstr "" -#: part/models.py:1058 +#: part/models.py:1101 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1066 +#: part/models.py:1109 msgid "BOM checked by" msgstr "" -#: part/models.py:1071 +#: part/models.py:1114 msgid "BOM checked date" msgstr "" -#: part/models.py:1087 +#: part/models.py:1130 msgid "Creation User" msgstr "" -#: part/models.py:1097 +#: part/models.py:1140 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1102 part/templates/part/part_base.html:339 +#: part/models.py:1145 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 -#: templates/js/translated/part.js:2471 +#: templates/js/translated/part.js:2470 msgid "Last Stocktake" msgstr "" -#: part/models.py:1975 +#: part/models.py:2018 msgid "Sell multiple" msgstr "" -#: part/models.py:2994 +#: part/models.py:3037 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3010 +#: part/models.py:3053 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3011 +#: part/models.py:3054 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3017 +#: part/models.py:3060 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3018 +#: part/models.py:3061 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3024 +#: part/models.py:3067 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3025 +#: part/models.py:3068 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3031 +#: part/models.py:3074 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3032 +#: part/models.py:3075 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3038 +#: part/models.py:3081 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3039 +#: part/models.py:3082 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3045 +#: part/models.py:3088 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3046 +#: part/models.py:3089 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3052 +#: part/models.py:3095 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3053 +#: part/models.py:3096 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3059 +#: part/models.py:3102 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3060 +#: part/models.py:3103 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3066 +#: part/models.py:3109 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3067 +#: part/models.py:3110 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3073 +#: part/models.py:3116 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3074 +#: part/models.py:3117 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3081 +#: part/models.py:3124 msgid "Override minimum cost" msgstr "" -#: part/models.py:3088 +#: part/models.py:3131 msgid "Override maximum cost" msgstr "" -#: part/models.py:3095 +#: part/models.py:3138 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3102 +#: part/models.py:3145 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3108 +#: part/models.py:3151 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3109 +#: part/models.py:3152 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3115 +#: part/models.py:3158 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3116 +#: part/models.py:3159 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3122 +#: part/models.py:3165 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3123 +#: part/models.py:3166 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3129 +#: part/models.py:3172 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3130 +#: part/models.py:3173 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3149 +#: part/models.py:3192 msgid "Part for stocktake" msgstr "" -#: part/models.py:3154 +#: part/models.py:3197 msgid "Item Count" msgstr "" -#: part/models.py:3155 +#: part/models.py:3198 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3163 +#: part/models.py:3206 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3167 part/models.py:3250 +#: part/models.py:3210 part/models.py:3293 #: part/templates/part/part_scheduling.html:13 -#: report/templates/report/inventree_test_report_base.html:106 +#: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 #: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 -#: templates/js/translated/purchase_order.js:1732 -#: templates/js/translated/stock.js:2824 +#: templates/js/translated/purchase_order.js:1731 +#: templates/js/translated/stock.js:2821 msgid "Date" msgstr "" -#: part/models.py:3168 +#: part/models.py:3211 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3176 +#: part/models.py:3219 msgid "Additional notes" msgstr "" -#: part/models.py:3186 +#: part/models.py:3229 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3192 +#: part/models.py:3235 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3193 +#: part/models.py:3236 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3199 +#: part/models.py:3242 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3200 +#: part/models.py:3243 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3256 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3299 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3257 +#: part/models.py:3300 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3262 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3305 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3263 +#: part/models.py:3306 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3273 +#: part/models.py:3316 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3435 +#: part/models.py:3478 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3446 +#: part/models.py:3489 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3457 +#: part/models.py:3500 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3474 templates/js/translated/part.js:2879 +#: part/models.py:3517 templates/js/translated/part.js:2878 msgid "Test Name" msgstr "" -#: part/models.py:3475 +#: part/models.py:3518 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3481 +#: part/models.py:3524 msgid "Test Key" msgstr "" -#: part/models.py:3482 +#: part/models.py:3525 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3489 +#: part/models.py:3532 msgid "Test Description" msgstr "" -#: part/models.py:3490 +#: part/models.py:3533 msgid "Enter description for this test" msgstr "" -#: part/models.py:3494 +#: part/models.py:3537 report/models.py:208 +#: templates/js/translated/part.js:2899 +#: templates/js/translated/table_filters.js:481 +msgid "Enabled" +msgstr "" + +#: part/models.py:3537 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3499 templates/js/translated/part.js:2908 +#: part/models.py:3542 templates/js/translated/part.js:2907 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3500 +#: part/models.py:3543 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3505 templates/js/translated/part.js:2916 +#: part/models.py:3548 templates/js/translated/part.js:2915 msgid "Requires Value" msgstr "" -#: part/models.py:3506 +#: part/models.py:3549 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3511 templates/js/translated/part.js:2923 +#: part/models.py:3554 templates/js/translated/part.js:2922 msgid "Requires Attachment" msgstr "" -#: part/models.py:3513 +#: part/models.py:3556 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3560 +#: part/models.py:3603 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3565 +#: part/models.py:3608 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3585 +#: part/models.py:3628 msgid "Choices must be unique" msgstr "" -#: part/models.py:3602 +#: part/models.py:3645 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3617 +#: part/models.py:3660 msgid "Parameter Name" msgstr "" -#: part/models.py:3624 +#: part/models.py:3667 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3632 +#: part/models.py:3675 msgid "Parameter description" msgstr "" -#: part/models.py:3638 templates/js/translated/part.js:1627 +#: part/models.py:3681 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3639 +#: part/models.py:3682 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3644 templates/js/translated/part.js:1636 +#: part/models.py:3687 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3645 +#: part/models.py:3688 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3722 +#: part/models.py:3765 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3765 +#: part/models.py:3808 msgid "Parent Part" msgstr "" -#: part/models.py:3773 part/models.py:3874 part/models.py:3875 +#: part/models.py:3816 part/models.py:3917 part/models.py:3918 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3778 +#: part/models.py:3821 msgid "Data" msgstr "" -#: part/models.py:3779 +#: part/models.py:3822 msgid "Parameter Value" msgstr "" -#: part/models.py:3881 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3924 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3882 +#: part/models.py:3925 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3920 +#: part/models.py:3963 msgid "Part ID or part name" msgstr "" -#: part/models.py:3921 +#: part/models.py:3964 msgid "Unique part ID value" msgstr "" -#: part/models.py:3923 +#: part/models.py:3966 msgid "Part IPN value" msgstr "" -#: part/models.py:3924 +#: part/models.py:3967 msgid "Level" msgstr "" -#: part/models.py:3924 +#: part/models.py:3967 msgid "BOM level" msgstr "" -#: part/models.py:4014 +#: part/models.py:4057 msgid "Select parent part" msgstr "" -#: part/models.py:4024 +#: part/models.py:4067 msgid "Sub part" msgstr "" -#: part/models.py:4025 +#: part/models.py:4068 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4036 +#: part/models.py:4079 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4042 +#: part/models.py:4085 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4048 +#: part/models.py:4091 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4055 part/templates/part/upload_bom.html:55 +#: part/models.py:4098 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4056 +#: part/models.py:4099 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4063 +#: part/models.py:4106 msgid "BOM item reference" msgstr "" -#: part/models.py:4071 +#: part/models.py:4114 msgid "BOM item notes" msgstr "" -#: part/models.py:4077 +#: part/models.py:4120 msgid "Checksum" msgstr "" -#: part/models.py:4078 +#: part/models.py:4121 msgid "BOM line checksum" msgstr "" -#: part/models.py:4083 templates/js/translated/table_filters.js:174 +#: part/models.py:4126 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4084 +#: part/models.py:4127 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4089 part/templates/part/upload_bom.html:57 +#: part/models.py:4132 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4090 +#: part/models.py:4133 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4095 part/templates/part/upload_bom.html:56 +#: part/models.py:4138 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4096 +#: part/models.py:4139 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4181 stock/models.py:647 +#: part/models.py:4224 stock/models.py:668 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4191 part/models.py:4193 +#: part/models.py:4234 part/models.py:4236 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4333 +#: part/models.py:4376 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4354 +#: part/models.py:4397 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4367 +#: part/models.py:4410 msgid "Parent BOM item" msgstr "" -#: part/models.py:4375 +#: part/models.py:4418 msgid "Substitute part" msgstr "" -#: part/models.py:4391 +#: part/models.py:4434 msgid "Part 1" msgstr "" -#: part/models.py:4399 +#: part/models.py:4442 msgid "Part 2" msgstr "" -#: part/models.py:4400 +#: part/models.py:4443 msgid "Select Related Part" msgstr "" -#: part/models.py:4419 +#: part/models.py:4462 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4424 +#: part/models.py:4467 msgid "Duplicate relationship already exists" msgstr "" @@ -6854,7 +6808,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:406 +#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:535 msgid "Purchase currency of this stock item" msgstr "" @@ -6870,299 +6824,299 @@ msgstr "" msgid "Select category" msgstr "" -#: part/serializers.py:437 +#: part/serializers.py:442 msgid "Original Part" msgstr "" -#: part/serializers.py:438 +#: part/serializers.py:443 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:448 msgid "Copy Image" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:449 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:450 part/templates/part/detail.html:277 +#: part/serializers.py:455 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:451 +#: part/serializers.py:456 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:462 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:458 +#: part/serializers.py:463 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:464 +#: part/serializers.py:469 msgid "Copy Notes" msgstr "" -#: part/serializers.py:465 +#: part/serializers.py:470 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:478 +#: part/serializers.py:488 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:490 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:487 +#: part/serializers.py:497 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:488 +#: part/serializers.py:498 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:500 +#: part/serializers.py:515 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:531 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:526 +#: part/serializers.py:541 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:533 +#: part/serializers.py:548 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:542 +#: part/serializers.py:557 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:553 +#: part/serializers.py:568 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:560 +#: part/serializers.py:575 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:823 +#: part/serializers.py:838 msgid "External Stock" msgstr "" -#: part/serializers.py:825 +#: part/serializers.py:840 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:828 +#: part/serializers.py:843 msgid "Variant Stock" msgstr "" -#: part/serializers.py:856 part/templates/part/copy_part.html:9 +#: part/serializers.py:871 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:857 +#: part/serializers.py:872 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:863 templates/js/translated/part.js:102 +#: part/serializers.py:878 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:864 +#: part/serializers.py:879 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:870 +#: part/serializers.py:885 msgid "Supplier Information" msgstr "" -#: part/serializers.py:871 +#: part/serializers.py:886 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:879 +#: part/serializers.py:894 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:880 +#: part/serializers.py:895 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:885 +#: part/serializers.py:900 msgid "Existing Image" msgstr "" -#: part/serializers.py:886 +#: part/serializers.py:901 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:918 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1109 +#: part/serializers.py:1124 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1119 +#: part/serializers.py:1134 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1129 +#: part/serializers.py:1144 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1135 +#: part/serializers.py:1150 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1136 +#: part/serializers.py:1151 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1141 +#: part/serializers.py:1156 msgid "Generate Report" msgstr "" -#: part/serializers.py:1142 +#: part/serializers.py:1157 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1147 +#: part/serializers.py:1162 msgid "Update Parts" msgstr "" -#: part/serializers.py:1148 +#: part/serializers.py:1163 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1156 +#: part/serializers.py:1171 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1262 +#: part/serializers.py:1277 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1269 +#: part/serializers.py:1284 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1277 +#: part/serializers.py:1292 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1284 +#: part/serializers.py:1299 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1313 +#: part/serializers.py:1328 msgid "Update" msgstr "" -#: part/serializers.py:1314 +#: part/serializers.py:1329 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1337 +#: part/serializers.py:1352 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1344 +#: part/serializers.py:1359 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1347 +#: part/serializers.py:1362 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1714 +#: part/serializers.py:1729 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1722 +#: part/serializers.py:1737 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1723 +#: part/serializers.py:1738 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1728 +#: part/serializers.py:1743 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1729 +#: part/serializers.py:1744 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1734 +#: part/serializers.py:1749 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1735 +#: part/serializers.py:1750 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1755 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1756 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1775 +#: part/serializers.py:1790 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1776 +#: part/serializers.py:1791 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1806 +#: part/serializers.py:1821 msgid "No part column specified" msgstr "" -#: part/serializers.py:1850 +#: part/serializers.py:1865 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1853 +#: part/serializers.py:1868 msgid "No matching part found" msgstr "" -#: part/serializers.py:1856 +#: part/serializers.py:1871 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1865 +#: part/serializers.py:1880 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1888 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1894 +#: part/serializers.py:1909 msgid "At least one BOM item is required" msgstr "" #: part/stocktake.py:224 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:2085 +#: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" @@ -7314,7 +7268,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2218 users/models.py:204 +#: templates/js/translated/stock.js:2216 users/models.py:204 msgid "Stocktake" msgstr "" @@ -7412,15 +7366,15 @@ msgstr "" msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:659 +#: part/templates/part/detail.html:655 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:667 +#: part/templates/part/detail.html:663 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:752 +#: part/templates/part/detail.html:748 msgid "Add Test Result Template" msgstr "" @@ -7479,7 +7433,7 @@ msgstr "" #: part/templates/part/part_base.html:52 #: stock/templates/stock/item_base.html:62 -#: stock/templates/stock/location.html:74 +#: stock/templates/stock/location.html:74 templates/js/translated/label.js:142 msgid "Print Label" msgstr "" @@ -7501,7 +7455,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2293 +#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2292 msgid "Part actions" msgstr "" @@ -7550,7 +7504,7 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:163 -#: part/templates/part/part_base.html:682 +#: part/templates/part/part_base.html:681 msgid "Show Part Details" msgstr "" @@ -7573,7 +7527,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2444 +#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2443 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7596,19 +7550,19 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:512 +#: part/templates/part/part_base.html:511 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:529 +#: part/templates/part/part_base.html:528 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:580 +#: part/templates/part/part_base.html:579 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:676 +#: part/templates/part/part_base.html:675 msgid "Hide Part Details" msgstr "" @@ -7667,8 +7621,8 @@ msgstr "" #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 -#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 -#: templates/js/translated/stock.js:2072 templates/navbar.html:31 +#: templates/js/translated/part.js:2391 templates/js/translated/stock.js:1059 +#: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7714,7 +7668,7 @@ msgstr "" #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 -#: templates/js/translated/stock.js:2248 +#: templates/js/translated/stock.js:2246 msgid "Last Updated" msgstr "" @@ -7786,7 +7740,7 @@ msgid "Update Pricing" msgstr "" #: part/templates/part/stock_count.html:7 -#: templates/js/translated/model_renderers.js:221 +#: templates/js/translated/model_renderers.js:227 #: templates/js/translated/part.js:704 templates/js/translated/part.js:2140 #: templates/js/translated/part.js:2142 msgid "No Stock" @@ -7866,7 +7820,7 @@ msgstr "" msgid "Part Pricing" msgstr "" -#: plugin/api.py:168 +#: plugin/api.py:170 msgid "Plugin cannot be deleted as it is currently active" msgstr "" @@ -7933,7 +7887,7 @@ msgid "Stock item does not match line item" msgstr "" #: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2589 -#: templates/js/translated/sales_order.js:1917 +#: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "" @@ -8027,22 +7981,18 @@ msgstr "" msgid "Quantity to allocate" msgstr "" -#: plugin/base/label/label.py:39 +#: plugin/base/label/label.py:39 templates/js/translated/label.js:154 msgid "Label printing failed" msgstr "" -#: plugin/base/label/mixins.py:63 +#: plugin/base/label/mixins.py:56 msgid "Error rendering label to PDF" msgstr "" -#: plugin/base/label/mixins.py:76 +#: plugin/base/label/mixins.py:70 msgid "Error rendering label to HTML" msgstr "" -#: plugin/base/label/mixins.py:111 -msgid "Error rendering label to PNG" -msgstr "" - #: plugin/builtin/barcodes/inventree_barcode.py:25 msgid "InvenTree Barcodes" msgstr "" @@ -8054,7 +8004,7 @@ msgstr "" #: plugin/builtin/barcodes/inventree_barcode.py:28 #: plugin/builtin/integration/core_notifications.py:35 #: plugin/builtin/integration/currency_exchange.py:21 -#: plugin/builtin/labels/inventree_label.py:23 +#: plugin/builtin/labels/inventree_label.py:22 #: plugin/builtin/labels/inventree_machine.py:64 #: plugin/builtin/labels/label_sheet.py:63 #: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 @@ -8108,19 +8058,19 @@ msgstr "" msgid "Default currency exchange integration" msgstr "" -#: plugin/builtin/labels/inventree_label.py:20 +#: plugin/builtin/labels/inventree_label.py:19 msgid "InvenTree PDF label printer" msgstr "" -#: plugin/builtin/labels/inventree_label.py:21 +#: plugin/builtin/labels/inventree_label.py:20 msgid "Provides native support for printing PDF labels" msgstr "" -#: plugin/builtin/labels/inventree_label.py:29 +#: plugin/builtin/labels/inventree_label.py:28 msgid "Debug mode" msgstr "" -#: plugin/builtin/labels/inventree_label.py:30 +#: plugin/builtin/labels/inventree_label.py:29 msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "" @@ -8132,11 +8082,11 @@ msgstr "" msgid "Provides support for printing using a machine" msgstr "" -#: plugin/builtin/labels/inventree_machine.py:150 +#: plugin/builtin/labels/inventree_machine.py:151 msgid "last used" msgstr "" -#: plugin/builtin/labels/inventree_machine.py:167 +#: plugin/builtin/labels/inventree_machine.py:168 msgid "Options" msgstr "" @@ -8160,7 +8110,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:47 report/models.py:209 +#: plugin/builtin/labels/label_sheet.py:47 report/models.py:308 msgid "Landscape" msgstr "" @@ -8176,11 +8126,11 @@ msgstr "" msgid "Arrays multiple labels onto a single sheet" msgstr "" -#: plugin/builtin/labels/label_sheet.py:94 +#: plugin/builtin/labels/label_sheet.py:99 msgid "Label is too large for page size" msgstr "" -#: plugin/builtin/labels/label_sheet.py:128 +#: plugin/builtin/labels/label_sheet.py:133 msgid "No labels were generated" msgstr "" @@ -8273,61 +8223,62 @@ msgstr "" msgid "Uninstalled plugin successfully" msgstr "" -#: plugin/models.py:30 +#: plugin/models.py:35 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:31 +#: plugin/models.py:36 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:34 users/models.py:100 +#: plugin/models.py:42 users/models.py:100 msgid "Key" msgstr "" -#: plugin/models.py:34 +#: plugin/models.py:43 msgid "Key of plugin" msgstr "" -#: plugin/models.py:42 +#: plugin/models.py:51 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:49 plugin/serializers.py:90 +#: plugin/models.py:58 plugin/serializers.py:90 msgid "Package Name" msgstr "" -#: plugin/models.py:51 +#: plugin/models.py:60 msgid "Name of the installed package, if the plugin was installed via PIP" msgstr "" -#: plugin/models.py:56 +#: plugin/models.py:65 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:147 templates/js/translated/table_filters.js:370 +#: plugin/models.py:156 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "" -#: plugin/models.py:156 +#: plugin/models.py:165 msgid "Sample plugin" msgstr "" -#: plugin/models.py:164 +#: plugin/models.py:173 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:172 +#: plugin/models.py:181 msgid "Package Plugin" msgstr "" -#: plugin/models.py:196 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:205 report/models.py:475 +#: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" msgstr "" -#: plugin/models.py:243 +#: plugin/models.py:252 msgid "Method" msgstr "" @@ -8468,239 +8419,323 @@ msgstr "" msgid "Delete the plugin configuration from the database" msgstr "" -#: report/api.py:158 +#: report/api.py:77 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:197 report/api.py:234 +#: report/api.py:89 report/serializers.py:53 +msgid "Model Type" +msgstr "" + +#: report/api.py:92 report/models.py:439 report/serializers.py:98 +#: report/serializers.py:148 templates/js/translated/purchase_order.js:1747 +#: templates/js/translated/return_order.js:353 +#: templates/js/translated/sales_order.js:887 +#: templates/js/translated/sales_order.js:1047 +msgid "Items" +msgstr "" + +#: report/api.py:168 +msgid "Plugin not found" +msgstr "" + +#: report/api.py:170 +msgid "Plugin is not active" +msgstr "" + +#: report/api.py:172 +msgid "Plugin does not support label printing" +msgstr "" + +#: report/api.py:221 +msgid "Invalid label dimensions" +msgstr "" + +#: report/api.py:236 report/api.py:316 +msgid "No valid items provided to template" +msgstr "" + +#: report/api.py:271 +msgid "Error printing label" +msgstr "" + +#: report/api.py:362 report/api.py:398 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:319 -msgid "Test report" -msgstr "" - -#: report/helpers.py:15 +#: report/helpers.py:41 msgid "A4" msgstr "" -#: report/helpers.py:16 +#: report/helpers.py:42 msgid "A3" msgstr "" -#: report/helpers.py:17 +#: report/helpers.py:43 msgid "Legal" msgstr "" -#: report/helpers.py:18 +#: report/helpers.py:44 msgid "Letter" msgstr "" -#: report/models.py:177 +#: report/models.py:118 +msgid "Template file with this name already exists" +msgstr "" + +#: report/models.py:150 msgid "Template name" msgstr "" -#: report/models.py:183 -msgid "Report template file" +#: report/models.py:156 +msgid "Template description" msgstr "" -#: report/models.py:190 -msgid "Report template description" +#: report/models.py:162 +msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:196 -msgid "Report revision number (auto-increments)" +#: report/models.py:202 +msgid "Filename Pattern" msgstr "" -#: report/models.py:204 +#: report/models.py:203 +msgid "Pattern for generating filenames" +msgstr "" + +#: report/models.py:208 +msgid "Template is enabled" +msgstr "" + +#: report/models.py:214 +msgid "Target model type for template" +msgstr "" + +#: report/models.py:234 +msgid "Filters" +msgstr "" + +#: report/models.py:235 +msgid "Template query filters (comma-separated list of key=value pairs)" +msgstr "" + +#: report/models.py:295 report/models.py:362 +msgid "Template file" +msgstr "" + +#: report/models.py:303 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:210 +#: report/models.py:309 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:318 -msgid "Pattern for generating report filenames" +#: report/models.py:368 +msgid "Width [mm]" msgstr "" -#: report/models.py:325 -msgid "Report template is enabled" +#: report/models.py:369 +msgid "Label width, specified in mm" msgstr "" -#: report/models.py:347 -msgid "StockItem query filters (comma-separated list of key=value pairs)" +#: report/models.py:375 +msgid "Height [mm]" msgstr "" -#: report/models.py:354 -msgid "Include Installed Tests" +#: report/models.py:376 +msgid "Label height, specified in mm" msgstr "" -#: report/models.py:356 -msgid "Include test results for stock items installed inside assembled item" +#: report/models.py:439 +msgid "Number of items to process" msgstr "" -#: report/models.py:424 -msgid "Build Filters" +#: report/models.py:445 +msgid "Report generation is complete" msgstr "" -#: report/models.py:425 -msgid "Build query filters (comma-separated list of key=value pairs" +#: report/models.py:449 templates/js/translated/build.js:2177 +msgid "Progress" msgstr "" -#: report/models.py:464 -msgid "Part Filters" +#: report/models.py:449 +msgid "Report generation progress" msgstr "" -#: report/models.py:465 -msgid "Part query filters (comma-separated list of key=value pairs" +#: report/models.py:457 +msgid "Report Template" msgstr "" -#: report/models.py:497 -msgid "Purchase order query filters" +#: report/models.py:464 report/models.py:487 +msgid "Output File" msgstr "" -#: report/models.py:533 -msgid "Sales order query filters" +#: report/models.py:465 report/models.py:488 +msgid "Generated output file" msgstr "" -#: report/models.py:569 -msgid "Return order query filters" +#: report/models.py:476 +msgid "Label output plugin" msgstr "" -#: report/models.py:641 -msgid "Snippet file with this name already exists" +#: report/models.py:480 +msgid "Label Template" msgstr "" -#: report/models.py:648 +#: report/models.py:503 msgid "Snippet" msgstr "" -#: report/models.py:649 +#: report/models.py:504 msgid "Report snippet file" msgstr "" -#: report/models.py:656 +#: report/models.py:511 msgid "Snippet file description" msgstr "" -#: report/models.py:714 -msgid "Asset file with this name already exists" -msgstr "" - -#: report/models.py:722 +#: report/models.py:529 msgid "Asset" msgstr "" -#: report/models.py:723 +#: report/models.py:530 msgid "Report asset file" msgstr "" -#: report/models.py:730 +#: report/models.py:537 msgid "Asset file description" msgstr "" -#: report/models.py:752 -msgid "stock location query filters (comma-separated list of key=value pairs)" +#: report/serializers.py:91 +msgid "Select report template" +msgstr "" + +#: report/serializers.py:99 report/serializers.py:149 +msgid "List of item primary keys to include in the report" +msgstr "" + +#: report/serializers.py:132 +msgid "Select label template" +msgstr "" + +#: report/serializers.py:140 +msgid "Printing Plugin" +msgstr "" + +#: report/serializers.py:141 +msgid "Select plugin to use for label printing" +msgstr "" + +#: report/templates/label/part_label.html:31 +#: report/templates/label/stockitem_qr.html:21 +#: report/templates/label/stocklocation_qr.html:20 +#: templates/allauth_2fa/setup.html:18 +msgid "QR Code" +msgstr "" + +#: report/templates/label/part_label_code128.html:31 +#: report/templates/label/stocklocation_qr_and_text.html:31 +#: templates/qr_code.html:7 +msgid "QR code" msgstr "" #: report/templates/report/inventree_bill_of_materials_report.html:133 msgid "Materials needed" msgstr "" -#: report/templates/report/inventree_build_order_base.html:146 +#: report/templates/report/inventree_build_order_report.html:146 msgid "Required For" msgstr "" -#: report/templates/report/inventree_po_report_base.html:15 +#: report/templates/report/inventree_purchase_order_report.html:15 msgid "Supplier was deleted" msgstr "" -#: report/templates/report/inventree_po_report_base.html:30 -#: report/templates/report/inventree_so_report_base.html:30 +#: report/templates/report/inventree_purchase_order_report.html:30 +#: report/templates/report/inventree_sales_order_report.html:30 #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:834 -#: templates/js/translated/purchase_order.js:2116 -#: templates/js/translated/sales_order.js:1837 +#: templates/js/translated/purchase_order.js:2115 +#: templates/js/translated/sales_order.js:1873 msgid "Unit Price" msgstr "" -#: report/templates/report/inventree_po_report_base.html:55 -#: report/templates/report/inventree_return_order_report_base.html:48 -#: report/templates/report/inventree_so_report_base.html:55 +#: report/templates/report/inventree_purchase_order_report.html:55 +#: report/templates/report/inventree_return_order_report.html:48 +#: report/templates/report/inventree_sales_order_report.html:55 msgid "Extra Line Items" 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:2018 -#: templates/js/translated/sales_order.js:1806 +#: report/templates/report/inventree_purchase_order_report.html:72 +#: report/templates/report/inventree_sales_order_report.html:72 +#: templates/js/translated/purchase_order.js:2017 +#: templates/js/translated/sales_order.js:1842 msgid "Total" msgstr "" -#: report/templates/report/inventree_return_order_report_base.html:25 -#: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:809 stock/templates/stock/item_base.html:311 +#: report/templates/report/inventree_return_order_report.html:25 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:830 +#: stock/serializers.py:150 stock/templates/stock/item_base.html:311 #: templates/js/translated/build.js:519 templates/js/translated/build.js:1367 #: templates/js/translated/build.js:2355 -#: templates/js/translated/model_renderers.js:224 -#: templates/js/translated/return_order.js:540 -#: templates/js/translated/return_order.js:724 +#: templates/js/translated/model_renderers.js:230 +#: templates/js/translated/return_order.js:539 +#: templates/js/translated/return_order.js:723 #: templates/js/translated/sales_order.js:315 -#: templates/js/translated/sales_order.js:1611 -#: templates/js/translated/sales_order.js:1696 +#: templates/js/translated/sales_order.js:1647 +#: templates/js/translated/sales_order.js:1732 #: templates/js/translated/stock.js:596 msgid "Serial Number" msgstr "" -#: report/templates/report/inventree_slr_report.html:97 +#: report/templates/report/inventree_stock_location_report.html:97 msgid "Stock location items" msgstr "" -#: report/templates/report/inventree_test_report_base.html:21 +#: report/templates/report/inventree_test_report.html:21 msgid "Stock Item Test Report" msgstr "" -#: report/templates/report/inventree_test_report_base.html:97 +#: report/templates/report/inventree_test_report.html:97 msgid "Test Results" msgstr "" -#: report/templates/report/inventree_test_report_base.html:102 +#: report/templates/report/inventree_test_report.html:102 #: templates/js/translated/stock.js:1495 msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2442 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2419 msgid "Result" msgstr "" -#: report/templates/report/inventree_test_report_base.html:130 +#: report/templates/report/inventree_test_report.html:130 msgid "Pass" msgstr "" -#: report/templates/report/inventree_test_report_base.html:132 +#: report/templates/report/inventree_test_report.html:132 msgid "Fail" msgstr "" -#: report/templates/report/inventree_test_report_base.html:139 +#: report/templates/report/inventree_test_report.html:139 msgid "No result (required)" msgstr "" -#: report/templates/report/inventree_test_report_base.html:141 +#: report/templates/report/inventree_test_report.html:141 msgid "No result" msgstr "" -#: report/templates/report/inventree_test_report_base.html:154 +#: report/templates/report/inventree_test_report.html:154 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report_base.html:168 -#: stock/admin.py:162 templates/js/translated/stock.js:700 -#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3113 +#: report/templates/report/inventree_test_report.html:168 stock/admin.py:162 +#: templates/js/translated/stock.js:700 templates/js/translated/stock.js:871 +#: templates/js/translated/stock.js:3110 msgid "Serial" msgstr "" @@ -8757,7 +8792,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:201 stock/models.py:789 +#: stock/admin.py:201 stock/models.py:810 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" @@ -8782,66 +8817,66 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:256 stock/models.py:883 +#: stock/admin.py:256 stock/models.py:904 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2232 users/models.py:124 +#: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" msgstr "" -#: stock/api.py:284 +#: stock/api.py:318 msgid "Filter by location depth" msgstr "" -#: stock/api.py:304 +#: stock/api.py:338 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:325 +#: stock/api.py:359 msgid "Parent Location" msgstr "" -#: stock/api.py:326 +#: stock/api.py:360 msgid "Filter by parent location" msgstr "" -#: stock/api.py:579 templates/js/translated/table_filters.js:427 +#: stock/api.py:613 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:767 +#: stock/api.py:801 msgid "Part Tree" msgstr "" -#: stock/api.py:797 +#: stock/api.py:831 msgid "Expiry date before" msgstr "" -#: stock/api.py:801 +#: stock/api.py:835 msgid "Expiry date after" msgstr "" -#: stock/api.py:804 stock/templates/stock/item_base.html:439 +#: stock/api.py:838 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:891 +#: stock/api.py:925 msgid "Quantity is required" msgstr "" -#: stock/api.py:897 +#: stock/api.py:931 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:928 +#: stock/api.py:962 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:938 +#: stock/api.py:972 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:969 +#: stock/api.py:1003 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8857,477 +8892,517 @@ msgstr "" msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:125 stock/models.py:771 +#: stock/models.py:127 stock/models.py:792 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:126 stock/templates/stock/location.html:179 +#: stock/models.py:128 stock/templates/stock/location.html:186 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "" -#: stock/models.py:158 stock/models.py:932 +#: stock/models.py:170 stock/models.py:953 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:159 stock/models.py:933 +#: stock/models.py:171 stock/models.py:954 msgid "Select Owner" msgstr "" -#: stock/models.py:167 +#: stock/models.py:179 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:174 templates/js/translated/stock.js:2784 +#: stock/models.py:186 templates/js/translated/stock.js:2781 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "" -#: stock/models.py:175 +#: stock/models.py:187 msgid "This is an external stock location" msgstr "" -#: stock/models.py:181 templates/js/translated/stock.js:2793 +#: stock/models.py:193 templates/js/translated/stock.js:2790 #: templates/js/translated/table_filters.js:246 msgid "Location type" msgstr "" -#: stock/models.py:185 +#: stock/models.py:197 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:254 +#: stock/models.py:266 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:626 +#: stock/models.py:647 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:653 stock/serializers.py:290 +#: stock/models.py:674 stock/serializers.py:419 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:670 +#: stock/models.py:691 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:680 stock/models.py:693 +#: stock/models.py:701 stock/models.py:714 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:683 +#: stock/models.py:704 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:707 +#: stock/models.py:728 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:712 +#: stock/models.py:733 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:725 +#: stock/models.py:746 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:741 +#: stock/models.py:762 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:753 +#: stock/models.py:774 msgid "Base part" msgstr "" -#: stock/models.py:763 +#: stock/models.py:784 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:775 +#: stock/models.py:796 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:783 stock/serializers.py:1351 +#: stock/models.py:804 stock/serializers.py:1480 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:794 +#: stock/models.py:815 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:813 +#: stock/models.py:834 msgid "Serial number for this item" msgstr "" -#: stock/models.py:827 stock/serializers.py:1334 +#: stock/models.py:848 stock/serializers.py:1463 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:832 +#: stock/models.py:853 msgid "Stock Quantity" msgstr "" -#: stock/models.py:842 +#: stock/models.py:863 msgid "Source Build" msgstr "" -#: stock/models.py:845 +#: stock/models.py:866 msgid "Build for this stock item" msgstr "" -#: stock/models.py:852 stock/templates/stock/item_base.html:363 +#: stock/models.py:873 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:855 +#: stock/models.py:876 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:864 +#: stock/models.py:885 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:868 +#: stock/models.py:889 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:874 +#: stock/models.py:895 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:885 +#: stock/models.py:906 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:903 +#: stock/models.py:924 msgid "Delete on deplete" msgstr "" -#: stock/models.py:904 +#: stock/models.py:925 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:924 +#: stock/models.py:945 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:955 +#: stock/models.py:976 msgid "Converted to part" msgstr "" -#: stock/models.py:1473 +#: stock/models.py:1494 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1479 +#: stock/models.py:1500 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1487 +#: stock/models.py:1508 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1493 +#: stock/models.py:1514 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1498 +#: stock/models.py:1519 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1506 stock/serializers.py:529 +#: stock/models.py:1527 stock/serializers.py:658 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1603 +#: stock/models.py:1624 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1621 +#: stock/models.py:1642 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1625 +#: stock/models.py:1646 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1628 +#: stock/models.py:1649 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1631 +#: stock/models.py:1652 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1634 +#: stock/models.py:1655 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1637 +#: stock/models.py:1658 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1644 stock/serializers.py:1240 +#: stock/models.py:1665 stock/serializers.py:1369 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1648 +#: stock/models.py:1669 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1656 +#: stock/models.py:1677 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1661 +#: stock/models.py:1682 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1882 +#: stock/models.py:1903 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2345 +#: stock/models.py:2322 msgid "Entry notes" msgstr "" -#: stock/models.py:2410 +#: stock/models.py:2387 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2415 +#: stock/models.py:2392 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2442 +#: stock/models.py:2419 msgid "Test result" msgstr "" -#: stock/models.py:2449 +#: stock/models.py:2426 msgid "Test output value" msgstr "" -#: stock/models.py:2457 +#: stock/models.py:2434 msgid "Test result attachment" msgstr "" -#: stock/models.py:2461 +#: stock/models.py:2438 msgid "Test notes" msgstr "" -#: stock/models.py:2469 templates/js/translated/stock.js:1548 +#: stock/models.py:2446 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "" -#: stock/models.py:2470 +#: stock/models.py:2447 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2476 +#: stock/models.py:2453 msgid "Started" msgstr "" -#: stock/models.py:2477 +#: stock/models.py:2454 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2483 +#: stock/models.py:2460 msgid "Finished" msgstr "" -#: stock/models.py:2484 +#: stock/models.py:2461 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:100 +#: stock/serializers.py:75 +msgid "Generated batch code" +msgstr "" + +#: stock/serializers.py:84 +msgid "Select build order" +msgstr "" + +#: stock/serializers.py:93 +msgid "Select stock item to generate batch code for" +msgstr "" + +#: stock/serializers.py:102 +msgid "Select location to generate batch code for" +msgstr "" + +#: stock/serializers.py:111 +msgid "Select part to generate batch code for" +msgstr "" + +#: stock/serializers.py:120 +msgid "Select purchase order" +msgstr "" + +#: stock/serializers.py:127 +msgid "Enter quantity for batch code" +msgstr "" + +#: stock/serializers.py:150 +msgid "Generated serial number" +msgstr "" + +#: stock/serializers.py:159 +msgid "Select part to generate serial number for" +msgstr "" + +#: stock/serializers.py:167 +msgid "Quantity of serial numbers to generate" +msgstr "" + +#: stock/serializers.py:229 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:119 +#: stock/serializers.py:248 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:151 +#: stock/serializers.py:280 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:184 +#: stock/serializers.py:313 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:282 +#: stock/serializers.py:411 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:402 +#: stock/serializers.py:531 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:464 +#: stock/serializers.py:593 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:477 +#: stock/serializers.py:606 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:484 +#: stock/serializers.py:613 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:495 stock/serializers.py:1197 stock/serializers.py:1453 +#: stock/serializers.py:624 stock/serializers.py:1326 stock/serializers.py:1582 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:502 +#: stock/serializers.py:631 msgid "Optional note field" msgstr "" -#: stock/serializers.py:512 +#: stock/serializers.py:641 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:567 +#: stock/serializers.py:696 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:574 +#: stock/serializers.py:703 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:575 +#: stock/serializers.py:704 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:580 stock/serializers.py:660 stock/serializers.py:756 -#: stock/serializers.py:806 +#: stock/serializers.py:709 stock/serializers.py:789 stock/serializers.py:885 +#: stock/serializers.py:935 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:588 +#: stock/serializers.py:717 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:596 +#: stock/serializers.py:725 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:607 +#: stock/serializers.py:736 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:620 +#: stock/serializers.py:749 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:655 +#: stock/serializers.py:784 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:690 +#: stock/serializers.py:819 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:703 +#: stock/serializers.py:832 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:720 +#: stock/serializers.py:849 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:751 +#: stock/serializers.py:880 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:788 +#: stock/serializers.py:917 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:794 +#: stock/serializers.py:923 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:890 stock/serializers.py:953 +#: stock/serializers.py:1019 stock/serializers.py:1082 #: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:213 +#: stock/templates/stock/location.html:220 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1069 +#: stock/serializers.py:1198 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1073 +#: stock/serializers.py:1202 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1077 +#: stock/serializers.py:1206 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1101 +#: stock/serializers.py:1230 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1107 +#: stock/serializers.py:1236 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1115 +#: stock/serializers.py:1244 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1125 stock/serializers.py:1379 +#: stock/serializers.py:1254 stock/serializers.py:1508 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1204 +#: stock/serializers.py:1333 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1209 +#: stock/serializers.py:1338 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1210 +#: stock/serializers.py:1339 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1215 +#: stock/serializers.py:1344 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1216 +#: stock/serializers.py:1345 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1226 +#: stock/serializers.py:1355 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1293 +#: stock/serializers.py:1422 msgid "No Change" msgstr "" -#: stock/serializers.py:1322 +#: stock/serializers.py:1451 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1341 +#: stock/serializers.py:1470 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1369 +#: stock/serializers.py:1498 msgid "Stock transaction notes" msgstr "" @@ -9352,7 +9427,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:286 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:282 msgid "Delete Test Data" msgstr "" @@ -9368,15 +9443,15 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3274 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3271 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:274 +#: stock/templates/stock/item.html:270 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:304 templates/js/translated/stock.js:1701 +#: stock/templates/stock/item.html:300 templates/js/translated/stock.js:1701 msgid "Add Test Result" msgstr "" @@ -9561,40 +9636,40 @@ msgstr "" msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:507 -#: templates/js/translated/stock.js:1954 +#: stock/templates/stock/item_base.html:504 +#: templates/js/translated/stock.js:1952 msgid "stock item" msgstr "" -#: stock/templates/stock/item_base.html:532 +#: stock/templates/stock/item_base.html:527 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:541 +#: stock/templates/stock/item_base.html:536 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:552 +#: stock/templates/stock/item_base.html:547 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:616 +#: stock/templates/stock/item_base.html:611 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:619 +#: stock/templates/stock/item_base.html:614 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:620 +#: stock/templates/stock/item_base.html:615 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:628 +#: stock/templates/stock/item_base.html:623 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:662 +#: stock/templates/stock/item_base.html:657 msgid "Return to Stock" msgstr "" @@ -9658,28 +9733,32 @@ msgstr "" msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:217 +#: stock/templates/stock/location.html:176 +msgid "Location Type" +msgstr "" + +#: stock/templates/stock/location.html:224 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:218 +#: stock/templates/stock/location.html:225 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:287 -#: templates/js/translated/stock.js:2575 +#: stock/templates/stock/location.html:295 +#: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:315 +#: stock/templates/stock/location.html:317 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:388 +#: stock/templates/stock/location.html:390 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:399 +#: stock/templates/stock/location.html:401 msgid "Link Barcode to Stock Location" msgstr "" @@ -9949,11 +10028,11 @@ msgstr "" msgid "Part Settings" msgstr "" -#: templates/InvenTree/settings/part.html:42 +#: templates/InvenTree/settings/part.html:43 msgid "Part Import" msgstr "" -#: templates/InvenTree/settings/part.html:46 +#: templates/InvenTree/settings/part.html:47 msgid "Import Part" msgstr "" @@ -10174,7 +10253,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:424 +#: templates/js/translated/stock.js:245 users/models.py:411 msgid "Delete" msgstr "" @@ -10283,7 +10362,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2159 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2163 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" @@ -10874,7 +10953,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3218 +#: templates/js/translated/part.js:3217 msgid "Minimum Quantity" msgstr "" @@ -11254,7 +11333,7 @@ msgid "External stock" msgstr "" #: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2595 -#: templates/js/translated/sales_order.js:1910 +#: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" @@ -11264,7 +11343,7 @@ msgstr "" #: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 #: templates/js/translated/part.js:1256 -#: templates/js/translated/sales_order.js:1907 +#: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" @@ -11519,17 +11598,17 @@ msgstr "" #: templates/js/translated/build.js:1576 #: templates/js/translated/purchase_order.js:611 -#: templates/js/translated/sales_order.js:1171 +#: templates/js/translated/sales_order.js:1207 msgid "Select Parts" msgstr "" #: templates/js/translated/build.js:1577 -#: templates/js/translated/sales_order.js:1172 +#: templates/js/translated/sales_order.js:1208 msgid "You must select at least one part to allocate" msgstr "" #: templates/js/translated/build.js:1640 -#: templates/js/translated/sales_order.js:1121 +#: templates/js/translated/sales_order.js:1157 msgid "Specify stock allocation quantity" msgstr "" @@ -11542,7 +11621,7 @@ msgid "All selected parts have been fully allocated" msgstr "" #: templates/js/translated/build.js:1732 -#: templates/js/translated/sales_order.js:1186 +#: templates/js/translated/sales_order.js:1222 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -11551,12 +11630,12 @@ msgid "Allocate Stock Items to Build Order" msgstr "" #: templates/js/translated/build.js:1771 -#: templates/js/translated/sales_order.js:1283 +#: templates/js/translated/sales_order.js:1319 msgid "No matching stock locations" msgstr "" #: templates/js/translated/build.js:1844 -#: templates/js/translated/sales_order.js:1362 +#: templates/js/translated/sales_order.js:1398 msgid "No matching stock items" msgstr "" @@ -11589,9 +11668,9 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 -#: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 -#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 -#: templates/js/translated/stock.js:1985 templates/js/translated/stock.js:2713 +#: templates/js/translated/forms.js:2159 templates/js/translated/forms.js:2175 +#: templates/js/translated/part.js:2315 templates/js/translated/part.js:2741 +#: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "" @@ -11599,21 +11678,17 @@ msgstr "" msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2177 -msgid "Progress" -msgstr "" - -#: templates/js/translated/build.js:2213 templates/js/translated/stock.js:3045 +#: templates/js/translated/build.js:2213 templates/js/translated/stock.js:3042 msgid "No user information" msgstr "" #: templates/js/translated/build.js:2389 -#: templates/js/translated/sales_order.js:1646 +#: templates/js/translated/sales_order.js:1682 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:2390 -#: templates/js/translated/sales_order.js:1647 +#: templates/js/translated/sales_order.js:1683 msgid "Delete stock allocation" msgstr "" @@ -11647,7 +11722,7 @@ msgid "Unit Quantity" msgstr "" #: templates/js/translated/build.js:2591 -#: templates/js/translated/sales_order.js:1915 +#: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" @@ -11664,7 +11739,7 @@ msgid "Allocate tracked items against individual build outputs" msgstr "" #: templates/js/translated/build.js:2662 -#: templates/js/translated/sales_order.js:2016 +#: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "" @@ -11673,7 +11748,7 @@ msgid "Order stock" msgstr "" #: templates/js/translated/build.js:2671 -#: templates/js/translated/sales_order.js:2010 +#: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "" @@ -11923,12 +11998,12 @@ msgid "Delete price break" msgstr "" #: templates/js/translated/filters.js:186 -#: templates/js/translated/filters.js:672 +#: templates/js/translated/filters.js:667 msgid "true" msgstr "" #: templates/js/translated/filters.js:190 -#: templates/js/translated/filters.js:673 +#: templates/js/translated/filters.js:668 msgid "false" msgstr "" @@ -11960,7 +12035,7 @@ msgstr "" msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:582 +#: templates/js/translated/filters.js:577 msgid "Create filter" msgstr "" @@ -11993,32 +12068,32 @@ msgstr "" msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1473 templates/modals.html:19 +#: templates/js/translated/forms.js:1477 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1971 +#: templates/js/translated/forms.js:1975 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2275 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2279 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2489 +#: templates/js/translated/forms.js:2493 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3091 +#: templates/js/translated/forms.js:3095 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3091 +#: templates/js/translated/forms.js:3095 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3103 +#: templates/js/translated/forms.js:3107 msgid "Select Columns" msgstr "" @@ -12042,51 +12117,15 @@ msgstr "" msgid "No parts required for builds" msgstr "" -#: templates/js/translated/label.js:53 templates/js/translated/report.js:123 +#: templates/js/translated/label.js:55 templates/js/translated/report.js:38 msgid "Select Items" msgstr "" -#: templates/js/translated/label.js:54 +#: templates/js/translated/label.js:56 templates/js/translated/report.js:39 msgid "No items selected for printing" msgstr "" -#: templates/js/translated/label.js:72 -msgid "No Labels Found" -msgstr "" - -#: templates/js/translated/label.js:73 -msgid "No label templates found which match the selected items" -msgstr "" - -#: templates/js/translated/label.js:97 -msgid "selected" -msgstr "" - -#: templates/js/translated/label.js:133 -msgid "Printing Options" -msgstr "" - -#: templates/js/translated/label.js:148 -msgid "Print label" -msgstr "" - -#: templates/js/translated/label.js:148 -msgid "Print labels" -msgstr "" - #: templates/js/translated/label.js:149 -msgid "Print" -msgstr "" - -#: templates/js/translated/label.js:155 -msgid "Select label template" -msgstr "" - -#: templates/js/translated/label.js:168 -msgid "Select plugin" -msgstr "" - -#: templates/js/translated/label.js:187 msgid "Labels sent to printer" msgstr "" @@ -12204,7 +12243,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1991 +#: templates/js/translated/purchase_order.js:1990 msgid "No line items found" msgstr "" @@ -12442,19 +12481,19 @@ msgid "Delete Part Parameter Template" msgstr "" #: templates/js/translated/part.js:1716 -#: templates/js/translated/purchase_order.js:1655 +#: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1860 -#: templates/js/translated/purchase_order.js:2154 -#: templates/js/translated/return_order.js:756 -#: templates/js/translated/sales_order.js:1875 +#: templates/js/translated/purchase_order.js:2153 +#: templates/js/translated/return_order.js:755 +#: templates/js/translated/sales_order.js:1911 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1906 -#: templates/js/translated/purchase_order.js:2221 +#: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "" @@ -12466,7 +12505,7 @@ msgstr "" msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2506 +#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2505 msgid "No parts found" msgstr "" @@ -12482,101 +12521,101 @@ msgstr "" msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2286 msgid "part" msgstr "" -#: templates/js/translated/part.js:2288 +#: templates/js/translated/part.js:2287 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2384 +#: templates/js/translated/part.js:2383 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 -#: templates/js/translated/stock.js:2672 +#: templates/js/translated/part.js:2530 templates/js/translated/part.js:2660 +#: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2547 +#: templates/js/translated/part.js:2546 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2645 +#: templates/js/translated/part.js:2644 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2692 +#: templates/js/translated/part.js:2680 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2761 +#: templates/js/translated/part.js:2760 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2777 +#: templates/js/translated/part.js:2776 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2864 +#: templates/js/translated/part.js:2863 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2886 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2885 templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2935 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2941 +#: templates/js/translated/part.js:2940 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2957 +#: templates/js/translated/part.js:2956 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2971 +#: templates/js/translated/part.js:2970 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3050 templates/js/translated/part.js:3051 +#: templates/js/translated/part.js:3049 templates/js/translated/part.js:3050 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3053 +#: templates/js/translated/part.js:3052 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3059 +#: templates/js/translated/part.js:3058 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3109 +#: templates/js/translated/part.js:3108 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3115 +#: templates/js/translated/part.js:3114 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3211 +#: templates/js/translated/part.js:3210 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3227 +#: templates/js/translated/part.js:3226 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3272 +#: templates/js/translated/part.js:3271 msgid "Minimum Stock Level" msgstr "" @@ -12702,7 +12741,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:448 #: templates/js/translated/return_order.js:210 -#: templates/js/translated/sales_order.js:500 +#: templates/js/translated/sales_order.js:552 msgid "Mark this order as complete?" msgstr "" @@ -12715,7 +12754,6 @@ msgid "This order has line items which have not been marked as received." msgstr "" #: templates/js/translated/purchase_order.js:460 -#: templates/js/translated/sales_order.js:514 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" @@ -12773,12 +12811,12 @@ msgid "No matching purchase orders" msgstr "" #: templates/js/translated/purchase_order.js:1073 -#: templates/js/translated/return_order.js:491 +#: templates/js/translated/return_order.js:490 msgid "Select Line Items" msgstr "" #: templates/js/translated/purchase_order.js:1074 -#: templates/js/translated/return_order.js:492 +#: templates/js/translated/return_order.js:491 msgid "At least one line item must be selected" msgstr "" @@ -12827,7 +12865,7 @@ msgid "Quantity to Receive" msgstr "" #: templates/js/translated/purchase_order.js:1333 -#: templates/js/translated/return_order.js:561 +#: templates/js/translated/return_order.js:560 msgid "Confirm receipt of items" msgstr "" @@ -12847,81 +12885,66 @@ msgstr "" msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1682 -#: templates/js/translated/return_order.js:286 -#: templates/js/translated/sales_order.js:774 -#: templates/js/translated/sales_order.js:998 +#: templates/js/translated/purchase_order.js:1681 +#: templates/js/translated/return_order.js:285 +#: templates/js/translated/sales_order.js:810 +#: templates/js/translated/sales_order.js:1034 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1748 -#: templates/js/translated/return_order.js:354 -#: templates/js/translated/sales_order.js:851 -#: templates/js/translated/sales_order.js:1011 -msgid "Items" -msgstr "" - -#: templates/js/translated/purchase_order.js:1844 +#: templates/js/translated/purchase_order.js:1843 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1862 +#: templates/js/translated/purchase_order.js:1861 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1917 -#: templates/js/translated/sales_order.js:2070 +#: templates/js/translated/purchase_order.js:1916 +#: templates/js/translated/sales_order.js:2106 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1932 -#: templates/js/translated/return_order.js:476 -#: templates/js/translated/return_order.js:669 -#: templates/js/translated/sales_order.js:2083 +#: templates/js/translated/purchase_order.js:1931 +#: templates/js/translated/return_order.js:475 +#: templates/js/translated/return_order.js:668 +#: templates/js/translated/sales_order.js:2119 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1943 -#: templates/js/translated/return_order.js:682 -#: templates/js/translated/sales_order.js:2094 +#: templates/js/translated/purchase_order.js:1942 +#: templates/js/translated/return_order.js:681 +#: templates/js/translated/sales_order.js:2130 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2225 -#: templates/js/translated/sales_order.js:2024 +#: templates/js/translated/purchase_order.js:2224 +#: templates/js/translated/sales_order.js:2060 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2226 -#: templates/js/translated/return_order.js:801 -#: templates/js/translated/sales_order.js:2025 +#: templates/js/translated/purchase_order.js:2225 +#: templates/js/translated/return_order.js:800 +#: templates/js/translated/sales_order.js:2061 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2227 -#: templates/js/translated/return_order.js:805 -#: templates/js/translated/sales_order.js:2031 +#: templates/js/translated/purchase_order.js:2226 +#: templates/js/translated/return_order.js:804 +#: templates/js/translated/sales_order.js:2067 msgid "Delete line item" msgstr "" -#: templates/js/translated/report.js:63 -msgid "items selected" +#: templates/js/translated/report.js:49 +msgid "Print Report" msgstr "" -#: templates/js/translated/report.js:71 -msgid "Select Report Template" +#: templates/js/translated/report.js:68 +msgid "Report print successful" msgstr "" -#: templates/js/translated/report.js:86 -msgid "Select Test Report Template" -msgstr "" - -#: templates/js/translated/report.js:140 -msgid "No Reports Found" -msgstr "" - -#: templates/js/translated/report.js:141 -msgid "No report templates found which match the selected items" +#: templates/js/translated/report.js:73 +msgid "Report printing failed" msgstr "" #: templates/js/translated/return_order.js:60 @@ -12953,25 +12976,25 @@ msgstr "" msgid "Complete Return Order" msgstr "" -#: templates/js/translated/return_order.js:266 +#: templates/js/translated/return_order.js:265 msgid "No return orders found" msgstr "" -#: templates/js/translated/return_order.js:300 -#: templates/js/translated/sales_order.js:788 +#: templates/js/translated/return_order.js:299 +#: templates/js/translated/sales_order.js:824 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/return_order.js:562 +#: templates/js/translated/return_order.js:561 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:693 -#: templates/js/translated/sales_order.js:2231 +#: templates/js/translated/return_order.js:692 +#: templates/js/translated/sales_order.js:2267 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:798 +#: templates/js/translated/return_order.js:797 msgid "Mark item as received" msgstr "" @@ -13015,140 +13038,156 @@ msgstr "" msgid "Skip" msgstr "" +#: templates/js/translated/sales_order.js:484 +msgid "Ship Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:500 +msgid "Ship this order?" +msgstr "" + +#: templates/js/translated/sales_order.js:506 +msgid "Order cannot be shipped as there are incomplete shipments" +msgstr "" + #: templates/js/translated/sales_order.js:513 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/sales_order.js:535 +#: templates/js/translated/sales_order.js:514 +msgid "Shipping this order means that the order and line items will no longer be editable." +msgstr "" + +#: templates/js/translated/sales_order.js:572 msgid "Issue this Sales Order?" msgstr "" -#: templates/js/translated/sales_order.js:540 +#: templates/js/translated/sales_order.js:577 msgid "Issue Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:559 +#: templates/js/translated/sales_order.js:596 msgid "Cancel Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:564 +#: templates/js/translated/sales_order.js:601 msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: templates/js/translated/sales_order.js:618 +#: templates/js/translated/sales_order.js:655 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/sales_order.js:728 +#: templates/js/translated/sales_order.js:764 msgid "No sales orders found" msgstr "" -#: templates/js/translated/sales_order.js:908 +#: templates/js/translated/sales_order.js:944 msgid "Edit shipment" msgstr "" -#: templates/js/translated/sales_order.js:911 +#: templates/js/translated/sales_order.js:947 msgid "Complete shipment" msgstr "" -#: templates/js/translated/sales_order.js:916 +#: templates/js/translated/sales_order.js:952 msgid "Delete shipment" msgstr "" -#: templates/js/translated/sales_order.js:933 +#: templates/js/translated/sales_order.js:969 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/sales_order.js:948 +#: templates/js/translated/sales_order.js:984 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:981 +#: templates/js/translated/sales_order.js:1017 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/sales_order.js:1006 +#: templates/js/translated/sales_order.js:1042 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/sales_order.js:1030 -#: templates/js/translated/sales_order.js:1529 +#: templates/js/translated/sales_order.js:1066 +#: templates/js/translated/sales_order.js:1565 msgid "Not shipped" msgstr "" -#: templates/js/translated/sales_order.js:1048 +#: templates/js/translated/sales_order.js:1084 msgid "Tracking" msgstr "" -#: templates/js/translated/sales_order.js:1052 +#: templates/js/translated/sales_order.js:1088 msgid "Invoice" msgstr "" -#: templates/js/translated/sales_order.js:1219 +#: templates/js/translated/sales_order.js:1255 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1270 +#: templates/js/translated/sales_order.js:1306 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/sales_order.js:1271 +#: templates/js/translated/sales_order.js:1307 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1477 +#: templates/js/translated/sales_order.js:1513 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1569 +#: templates/js/translated/sales_order.js:1605 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1583 +#: templates/js/translated/sales_order.js:1619 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/sales_order.js:1584 +#: templates/js/translated/sales_order.js:1620 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1623 -#: templates/js/translated/sales_order.js:1710 +#: templates/js/translated/sales_order.js:1659 +#: templates/js/translated/sales_order.js:1746 #: templates/js/translated/stock.js:1776 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/sales_order.js:1631 -#: templates/js/translated/sales_order.js:1719 +#: templates/js/translated/sales_order.js:1667 +#: templates/js/translated/sales_order.js:1755 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:2008 +#: templates/js/translated/sales_order.js:2044 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/sales_order.js:2012 +#: templates/js/translated/sales_order.js:2048 msgid "Purchase stock" msgstr "" -#: templates/js/translated/sales_order.js:2021 -#: templates/js/translated/sales_order.js:2209 +#: templates/js/translated/sales_order.js:2057 +#: templates/js/translated/sales_order.js:2245 msgid "Calculate price" msgstr "" -#: templates/js/translated/sales_order.js:2035 +#: templates/js/translated/sales_order.js:2071 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:2038 +#: templates/js/translated/sales_order.js:2074 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:2109 +#: templates/js/translated/sales_order.js:2145 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/sales_order.js:2217 +#: templates/js/translated/sales_order.js:2253 msgid "Update Unit Price" msgstr "" @@ -13356,7 +13395,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1042 users/models.py:414 +#: templates/js/translated/stock.js:1042 users/models.py:401 msgid "Add" msgstr "" @@ -13372,7 +13411,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1180 templates/js/translated/stock.js:3302 +#: templates/js/translated/stock.js:1180 templates/js/translated/stock.js:3299 msgid "Select Stock Items" msgstr "" @@ -13456,196 +13495,196 @@ msgstr "" msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:1955 +#: templates/js/translated/stock.js:1953 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1960 +#: templates/js/translated/stock.js:1958 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:1971 +#: templates/js/translated/stock.js:1969 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:2015 +#: templates/js/translated/stock.js:2013 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2093 +#: templates/js/translated/stock.js:2091 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2098 +#: templates/js/translated/stock.js:2096 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2101 +#: templates/js/translated/stock.js:2099 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2104 +#: templates/js/translated/stock.js:2102 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2106 +#: templates/js/translated/stock.js:2104 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2108 +#: templates/js/translated/stock.js:2106 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2111 +#: templates/js/translated/stock.js:2109 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2113 +#: templates/js/translated/stock.js:2111 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2117 +#: templates/js/translated/stock.js:2115 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2119 +#: templates/js/translated/stock.js:2117 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2124 +#: templates/js/translated/stock.js:2122 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2126 +#: templates/js/translated/stock.js:2124 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2128 +#: templates/js/translated/stock.js:2126 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2132 +#: templates/js/translated/stock.js:2130 #: templates/js/translated/table_filters.js:350 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2297 +#: templates/js/translated/stock.js:2295 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2344 +#: templates/js/translated/stock.js:2342 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2472 +#: templates/js/translated/stock.js:2470 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2576 +#: templates/js/translated/stock.js:2573 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2731 +#: templates/js/translated/stock.js:2728 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2849 +#: templates/js/translated/stock.js:2846 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2853 +#: templates/js/translated/stock.js:2850 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2865 +#: templates/js/translated/stock.js:2862 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2887 +#: templates/js/translated/stock.js:2884 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2904 +#: templates/js/translated/stock.js:2901 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2919 +#: templates/js/translated/stock.js:2916 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2936 +#: templates/js/translated/stock.js:2933 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:2950 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2972 +#: templates/js/translated/stock.js:2969 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2990 +#: templates/js/translated/stock.js:2987 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:3008 +#: templates/js/translated/stock.js:3005 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:3016 +#: templates/js/translated/stock.js:3013 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3088 +#: templates/js/translated/stock.js:3085 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3142 templates/js/translated/stock.js:3178 +#: templates/js/translated/stock.js:3139 templates/js/translated/stock.js:3175 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3200 +#: templates/js/translated/stock.js:3197 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3221 +#: templates/js/translated/stock.js:3218 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3222 +#: templates/js/translated/stock.js:3219 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3224 +#: templates/js/translated/stock.js:3221 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3225 +#: templates/js/translated/stock.js:3222 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3226 +#: templates/js/translated/stock.js:3223 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3227 +#: templates/js/translated/stock.js:3224 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3240 +#: templates/js/translated/stock.js:3237 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3303 +#: templates/js/translated/stock.js:3300 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3316 +#: templates/js/translated/stock.js:3313 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3320 +#: templates/js/translated/stock.js:3317 msgid "Change Stock Status" msgstr "" @@ -14247,34 +14286,35 @@ msgstr "" msgid "Revoked" msgstr "" -#: users/models.py:397 +#: users/models.py:384 msgid "Permission set" msgstr "" -#: users/models.py:406 +#: users/models.py:393 msgid "Group" msgstr "" -#: users/models.py:410 +#: users/models.py:397 msgid "View" msgstr "" -#: users/models.py:410 +#: users/models.py:397 msgid "Permission to view items" msgstr "" -#: users/models.py:414 +#: users/models.py:401 msgid "Permission to add items" msgstr "" -#: users/models.py:418 +#: users/models.py:405 msgid "Change" msgstr "" -#: users/models.py:420 +#: users/models.py:407 msgid "Permissions to edit items" msgstr "" -#: users/models.py:426 +#: users/models.py:413 msgid "Permission to delete items" msgstr "" + diff --git a/src/backend/InvenTree/locale/de/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/de/LC_MESSAGES/django.po index 84db387711..be01a42819 100644 --- a/src/backend/InvenTree/locale/de/LC_MESSAGES/django.po +++ b/src/backend/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: 2024-05-10 05:37+0000\n" -"PO-Revision-Date: 2024-05-10 08:30\n" +"POT-Creation-Date: 2024-05-23 11:25+0000\n" +"PO-Revision-Date: 2024-05-23 11:38\n" "Last-Translator: \n" "Language-Team: German\n" "Language: de_DE\n" @@ -17,11 +17,11 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 216\n" -#: InvenTree/api.py:271 +#: InvenTree/api.py:272 msgid "API endpoint not found" msgstr "API-Endpunkt nicht gefunden" -#: InvenTree/api.py:535 +#: InvenTree/api.py:536 msgid "User does not have permission to view this model" msgstr "Benutzer hat keine Berechtigung, dieses Modell anzuzeigen" @@ -56,26 +56,26 @@ msgstr "Fehlerdetails finden Sie im Admin-Panel" msgid "Enter date" msgstr "Datum eingeben" -#: InvenTree/fields.py:208 InvenTree/models.py:1021 build/serializers.py:444 -#: build/serializers.py:522 build/templates/build/sidebar.html:21 +#: InvenTree/fields.py:208 InvenTree/models.py:1035 build/serializers.py:443 +#: build/serializers.py:521 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 -#: order/models.py:1283 order/templates/order/po_sidebar.html:11 +#: order/models.py:1323 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:59 -#: part/models.py:3175 part/templates/part/part_sidebar.html:63 -#: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:226 stock/models.py:2344 stock/models.py:2461 -#: stock/serializers.py:501 stock/serializers.py:659 stock/serializers.py:755 -#: stock/serializers.py:805 stock/serializers.py:1114 stock/serializers.py:1203 -#: stock/serializers.py:1368 stock/templates/stock/stock_sidebar.html:25 +#: part/models.py:3218 part/templates/part/part_sidebar.html:63 +#: report/templates/report/inventree_build_order_report.html:172 +#: stock/admin.py:226 stock/models.py:2321 stock/models.py:2438 +#: stock/serializers.py:630 stock/serializers.py:788 stock/serializers.py:884 +#: stock/serializers.py:934 stock/serializers.py:1243 stock/serializers.py:1332 +#: stock/serializers.py:1497 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1080 -#: templates/js/translated/purchase_order.js:2201 -#: templates/js/translated/return_order.js:776 -#: templates/js/translated/sales_order.js:1067 -#: templates/js/translated/sales_order.js:1982 -#: templates/js/translated/stock.js:1536 templates/js/translated/stock.js:2430 +#: templates/js/translated/purchase_order.js:2200 +#: templates/js/translated/return_order.js:775 +#: templates/js/translated/sales_order.js:1103 +#: templates/js/translated/sales_order.js:2018 +#: templates/js/translated/stock.js:1536 templates/js/translated/stock.js:2428 msgid "Notes" msgstr "Notizen" @@ -132,7 +132,7 @@ msgstr "Die angegebene E-Mail-Domain ist nicht freigegeben." msgid "Registration is disabled." msgstr "Registrierung ist deaktiviert." -#: InvenTree/helpers.py:525 order/models.py:541 order/models.py:743 +#: InvenTree/helpers.py:525 order/models.py:563 order/models.py:765 msgid "Invalid quantity provided" msgstr "Keine gültige Menge" @@ -253,7 +253,7 @@ msgstr "Hebräisch" #: InvenTree/locales.py:30 msgid "Hindi" -msgstr "" +msgstr "Hinduistisch" #: InvenTree/locales.py:31 msgid "Hungarian" @@ -325,7 +325,7 @@ msgstr "Türkisch" #: InvenTree/locales.py:48 msgid "Ukrainian" -msgstr "" +msgstr "Ukrainisch" #: InvenTree/locales.py:49 msgid "Vietnamese" @@ -349,148 +349,148 @@ msgstr "[{site_name}] In App einloggen" #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:677 msgid "Email" -msgstr "" +msgstr "Email" #: InvenTree/models.py:107 msgid "Error running plugin validation" msgstr "Fehler beim Ausführen der Plugin Validierung" -#: InvenTree/models.py:162 +#: InvenTree/models.py:176 msgid "Metadata must be a python dict object" msgstr "Metadaten müssen ein Python-Dict Objekt sein" -#: InvenTree/models.py:168 +#: InvenTree/models.py:182 msgid "Plugin Metadata" msgstr "Plugin Metadaten" -#: InvenTree/models.py:169 +#: InvenTree/models.py:183 msgid "JSON metadata field, for use by external plugins" msgstr "JSON-Metadatenfeld, für die Verwendung durch externe Plugins" -#: InvenTree/models.py:399 +#: InvenTree/models.py:413 msgid "Improperly formatted pattern" msgstr "Falsch formatiertes Muster" -#: InvenTree/models.py:406 +#: InvenTree/models.py:420 msgid "Unknown format key specified" msgstr "Unbekannter Formatschlüssel angegeben" -#: InvenTree/models.py:412 +#: InvenTree/models.py:426 msgid "Missing required format key" msgstr "Erforderlicher Formatschlüssel fehlt" -#: InvenTree/models.py:423 +#: InvenTree/models.py:437 msgid "Reference field cannot be empty" msgstr "Referenz-Feld darf nicht leer sein" -#: InvenTree/models.py:431 +#: InvenTree/models.py:445 msgid "Reference must match required pattern" msgstr "Referenz muss erforderlichem Muster entsprechen" -#: InvenTree/models.py:462 +#: InvenTree/models.py:476 msgid "Reference number is too large" msgstr "Referenznummer ist zu groß" -#: InvenTree/models.py:536 +#: InvenTree/models.py:550 msgid "Missing file" msgstr "Fehlende Datei" -#: InvenTree/models.py:537 +#: InvenTree/models.py:551 msgid "Missing external link" msgstr "Fehlender externer Link" -#: InvenTree/models.py:558 stock/models.py:2456 +#: InvenTree/models.py:572 stock/models.py:2433 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" msgstr "Anhang" -#: InvenTree/models.py:559 +#: InvenTree/models.py:573 msgid "Select file to attach" msgstr "Datei zum Anhängen auswählen" -#: InvenTree/models.py:567 common/models.py:3026 company/models.py:146 +#: InvenTree/models.py:581 common/models.py:3032 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 -#: order/models.py:291 order/models.py:1288 order/models.py:1704 -#: part/admin.py:55 part/models.py:919 +#: order/models.py:304 order/models.py:1328 order/models.py:1744 +#: part/admin.py:55 part/models.py:962 #: part/templates/part/part_scheduling.html:11 -#: report/templates/report/inventree_build_order_base.html:164 +#: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2456 -#: templates/js/translated/purchase_order.js:2041 -#: templates/js/translated/purchase_order.js:2205 -#: templates/js/translated/return_order.js:780 -#: templates/js/translated/sales_order.js:1056 -#: templates/js/translated/sales_order.js:1987 +#: templates/js/translated/part.js:2455 +#: templates/js/translated/purchase_order.js:2040 +#: templates/js/translated/purchase_order.js:2204 +#: templates/js/translated/return_order.js:779 +#: templates/js/translated/sales_order.js:1092 +#: templates/js/translated/sales_order.js:2023 msgid "Link" -msgstr "" +msgstr "Link" -#: InvenTree/models.py:568 build/models.py:321 part/models.py:920 -#: stock/models.py:819 +#: InvenTree/models.py:582 build/models.py:344 part/models.py:963 +#: stock/models.py:840 msgid "Link to external URL" msgstr "Link zu einer externen URL" -#: InvenTree/models.py:574 templates/js/translated/attachment.js:120 +#: InvenTree/models.py:588 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:341 msgid "Comment" msgstr "Kommentar" -#: InvenTree/models.py:575 +#: InvenTree/models.py:589 msgid "File comment" msgstr "Datei-Kommentar" -#: InvenTree/models.py:583 InvenTree/models.py:584 common/models.py:2502 -#: common/models.py:2503 common/models.py:2727 common/models.py:2728 -#: common/models.py:2973 common/models.py:2974 part/models.py:3185 -#: part/models.py:3272 part/models.py:3365 part/models.py:3393 -#: plugin/models.py:250 plugin/models.py:251 -#: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3039 users/models.py:111 +#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2508 +#: common/models.py:2509 common/models.py:2733 common/models.py:2734 +#: common/models.py:2979 common/models.py:2980 part/models.py:3228 +#: part/models.py:3315 part/models.py:3408 part/models.py:3436 +#: plugin/models.py:259 plugin/models.py:260 +#: report/templates/report/inventree_test_report.html:105 +#: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" msgstr "Benutzer" -#: InvenTree/models.py:588 +#: InvenTree/models.py:602 msgid "upload date" msgstr "Hochladedatum" -#: InvenTree/models.py:610 +#: InvenTree/models.py:624 msgid "Filename must not be empty" msgstr "Dateiname darf nicht leer sein" -#: InvenTree/models.py:621 +#: InvenTree/models.py:635 msgid "Invalid attachment directory" msgstr "Ungültiges Verzeichnis für Anhang" -#: InvenTree/models.py:651 +#: InvenTree/models.py:665 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "Dateiname enthält ungültiges Zeichen '{c}'" -#: InvenTree/models.py:654 +#: InvenTree/models.py:668 msgid "Filename missing extension" msgstr "Dateiendung fehlt" -#: InvenTree/models.py:663 +#: InvenTree/models.py:677 msgid "Attachment with this filename already exists" msgstr "Anhang mit diesem Dateinamen bereits vorhanden" -#: InvenTree/models.py:670 +#: InvenTree/models.py:684 msgid "Error renaming file" msgstr "Fehler beim Umbenennen" -#: InvenTree/models.py:846 +#: InvenTree/models.py:860 msgid "Duplicate names cannot exist under the same parent" msgstr "Doppelte Namen können nicht unter dem selben Elternteil existieren" -#: InvenTree/models.py:863 +#: InvenTree/models.py:877 msgid "Invalid choice" msgstr "Ungültige Auswahl" -#: InvenTree/models.py:893 common/models.py:2714 common/models.py:3112 -#: common/serializers.py:403 company/models.py:614 label/models.py:120 -#: machine/models.py:24 part/models.py:855 part/models.py:3616 -#: plugin/models.py:41 report/models.py:176 stock/models.py:76 +#: InvenTree/models.py:907 common/models.py:2720 common/models.py:3118 +#: common/serializers.py:403 company/models.py:614 machine/models.py:24 +#: part/models.py:898 part/models.py:3659 plugin/models.py:50 +#: report/models.py:149 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -503,22 +503,22 @@ msgstr "Ungültige Auswahl" #: templates/js/translated/company.js:1165 #: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186 #: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2719 +#: templates/js/translated/part.js:2748 templates/js/translated/stock.js:2716 msgid "Name" -msgstr "" +msgstr "Name" -#: InvenTree/models.py:899 build/models.py:194 +#: InvenTree/models.py:913 build/models.py:217 #: build/templates/build/detail.html:24 common/models.py:136 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 label/models.py:127 -#: order/models.py:277 order/models.py:1316 part/admin.py:303 part/admin.py:414 -#: part/models.py:878 part/models.py:3631 part/templates/part/category.html:82 +#: company/templates/company/supplier_part.html:107 order/models.py:290 +#: order/models.py:1356 part/admin.py:305 part/admin.py:416 part/models.py:921 +#: part/models.py:3674 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 -#: part/templates/part/part_scheduling.html:12 report/models.py:189 -#: report/models.py:655 report/models.py:729 -#: report/templates/report/inventree_build_order_base.html:117 +#: part/templates/part/part_scheduling.html:12 report/models.py:155 +#: report/models.py:510 report/models.py:536 +#: report/templates/report/inventree_build_order_report.html:117 #: stock/admin.py:55 stock/models.py:82 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 @@ -530,71 +530,71 @@ msgstr "" #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 -#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2896 +#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2354 +#: templates/js/translated/part.js:2784 templates/js/translated/part.js:2895 #: templates/js/translated/plugin.js:80 -#: templates/js/translated/purchase_order.js:1707 -#: templates/js/translated/purchase_order.js:1850 -#: templates/js/translated/purchase_order.js:2023 -#: templates/js/translated/return_order.js:314 -#: templates/js/translated/sales_order.js:802 -#: templates/js/translated/sales_order.js:1812 -#: templates/js/translated/stock.js:1515 templates/js/translated/stock.js:2060 -#: templates/js/translated/stock.js:2751 templates/js/translated/stock.js:2834 +#: templates/js/translated/purchase_order.js:1706 +#: templates/js/translated/purchase_order.js:1849 +#: templates/js/translated/purchase_order.js:2022 +#: templates/js/translated/return_order.js:313 +#: templates/js/translated/sales_order.js:838 +#: templates/js/translated/sales_order.js:1848 +#: templates/js/translated/stock.js:1515 templates/js/translated/stock.js:2058 +#: templates/js/translated/stock.js:2748 templates/js/translated/stock.js:2831 msgid "Description" msgstr "Beschreibung" -#: InvenTree/models.py:900 stock/models.py:83 +#: InvenTree/models.py:914 stock/models.py:83 msgid "Description (optional)" msgstr "Beschreibung (optional)" -#: InvenTree/models.py:909 +#: InvenTree/models.py:923 msgid "parent" msgstr "Eltern" -#: InvenTree/models.py:915 templates/js/translated/part.js:2794 -#: templates/js/translated/stock.js:2760 +#: InvenTree/models.py:929 templates/js/translated/part.js:2793 +#: templates/js/translated/stock.js:2757 msgid "Path" msgstr "Pfad" -#: InvenTree/models.py:1021 +#: InvenTree/models.py:1035 msgid "Markdown notes (optional)" msgstr "Markdown Notizen (optional)" -#: InvenTree/models.py:1050 +#: InvenTree/models.py:1064 msgid "Barcode Data" msgstr "Barcode-Daten" -#: InvenTree/models.py:1051 +#: InvenTree/models.py:1065 msgid "Third party barcode data" msgstr "Drittanbieter-Barcode-Daten" -#: InvenTree/models.py:1057 +#: InvenTree/models.py:1071 msgid "Barcode Hash" msgstr "Barcode-Hash" -#: InvenTree/models.py:1058 +#: InvenTree/models.py:1072 msgid "Unique hash of barcode data" msgstr "Eindeutiger Hash der Barcode-Daten" -#: InvenTree/models.py:1111 +#: InvenTree/models.py:1125 msgid "Existing barcode found" msgstr "Bestehender Barcode gefunden" -#: InvenTree/models.py:1154 +#: InvenTree/models.py:1168 msgid "Server Error" msgstr "Serverfehler" -#: InvenTree/models.py:1155 +#: InvenTree/models.py:1169 msgid "An error has been logged by the server." msgstr "Ein Fehler wurde vom Server protokolliert." -#: InvenTree/serializers.py:62 part/models.py:4169 +#: InvenTree/serializers.py:62 part/models.py:4212 msgid "Must be a valid number" msgstr "Muss eine gültige Nummer sein" #: InvenTree/serializers.py:99 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:2993 +#: company/templates/company/company_base.html:112 part/models.py:3036 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -686,7 +686,7 @@ msgstr "URL der Remote-Bilddatei" msgid "Downloading images from remote URL is not enabled" msgstr "Das Herunterladen von Bildern von Remote-URLs ist nicht aktiviert" -#: InvenTree/status.py:66 part/serializers.py:1161 +#: InvenTree/status.py:66 part/serializers.py:1176 msgid "Background worker check failed" msgstr "Hintergrund-Prozess-Kontrolle fehlgeschlagen" @@ -699,8 +699,8 @@ msgid "InvenTree system health checks failed" msgstr "InvenTree Status-Überprüfung fehlgeschlagen" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:37 -#: InvenTree/status_codes.py:148 InvenTree/status_codes.py:164 -#: InvenTree/status_codes.py:182 generic/states/tests.py:17 +#: InvenTree/status_codes.py:149 InvenTree/status_codes.py:165 +#: InvenTree/status_codes.py:183 generic/states/tests.py:17 #: templates/js/translated/table_filters.js:598 msgid "Pending" msgstr "Ausstehend" @@ -709,188 +709,188 @@ msgstr "Ausstehend" msgid "Placed" msgstr "Platziert" -#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:151 -#: InvenTree/status_codes.py:169 generic/states/tests.py:19 -#: order/templates/order/order_base.html:158 -#: order/templates/order/sales_order_base.html:161 +#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:44 +#: InvenTree/status_codes.py:152 InvenTree/status_codes.py:170 +#: generic/states/tests.py:19 order/templates/order/order_base.html:158 +#: order/templates/order/sales_order_base.html:165 report/models.py:444 msgid "Complete" msgstr "Fertig" -#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:44 -#: InvenTree/status_codes.py:150 InvenTree/status_codes.py:170 +#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:45 +#: InvenTree/status_codes.py:151 InvenTree/status_codes.py:171 msgid "Cancelled" msgstr "Storniert" -#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:45 -#: InvenTree/status_codes.py:67 +#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:46 +#: InvenTree/status_codes.py:68 msgid "Lost" msgstr "Verloren" -#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:46 -#: InvenTree/status_codes.py:73 +#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:47 +#: InvenTree/status_codes.py:74 msgid "Returned" msgstr "Zurückgegeben" -#: InvenTree/status_codes.py:40 InvenTree/status_codes.py:167 +#: InvenTree/status_codes.py:40 InvenTree/status_codes.py:168 msgid "In Progress" msgstr "In Bearbeitung" -#: InvenTree/status_codes.py:43 order/models.py:1566 -#: templates/js/translated/sales_order.js:1523 -#: templates/js/translated/sales_order.js:1644 -#: templates/js/translated/sales_order.js:1957 +#: InvenTree/status_codes.py:43 order/models.py:1606 +#: templates/js/translated/sales_order.js:1559 +#: templates/js/translated/sales_order.js:1680 +#: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "Versendet" -#: InvenTree/status_codes.py:62 -msgid "OK" -msgstr "" - #: InvenTree/status_codes.py:63 +msgid "OK" +msgstr "OK" + +#: InvenTree/status_codes.py:64 msgid "Attention needed" msgstr "erfordert Eingriff" -#: InvenTree/status_codes.py:64 +#: InvenTree/status_codes.py:65 msgid "Damaged" msgstr "Beschädigt" -#: InvenTree/status_codes.py:65 +#: InvenTree/status_codes.py:66 msgid "Destroyed" msgstr "Zerstört" -#: InvenTree/status_codes.py:66 +#: InvenTree/status_codes.py:67 msgid "Rejected" msgstr "Zurückgewiesen" -#: InvenTree/status_codes.py:70 +#: InvenTree/status_codes.py:71 msgid "Quarantined" msgstr "In Quarantäne" -#: InvenTree/status_codes.py:91 +#: InvenTree/status_codes.py:92 msgid "Legacy stock tracking entry" msgstr "Alter Bestand-Verfolgungs-Eintrag" -#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:544 +#: InvenTree/status_codes.py:94 templates/js/translated/stock.js:544 msgid "Stock item created" msgstr "Lagerartikel erstellt" -#: InvenTree/status_codes.py:96 +#: InvenTree/status_codes.py:97 msgid "Edited stock item" msgstr "Lagerartikel bearbeitet" -#: InvenTree/status_codes.py:97 +#: InvenTree/status_codes.py:98 msgid "Assigned serial number" msgstr "Seriennummer hinzugefügt" -#: InvenTree/status_codes.py:100 +#: InvenTree/status_codes.py:101 msgid "Stock counted" msgstr "Bestand gezählt" -#: InvenTree/status_codes.py:101 +#: InvenTree/status_codes.py:102 msgid "Stock manually added" msgstr "Bestand manuell hinzugefügt" -#: InvenTree/status_codes.py:102 +#: InvenTree/status_codes.py:103 msgid "Stock manually removed" msgstr "Bestand manuell entfernt" -#: InvenTree/status_codes.py:105 +#: InvenTree/status_codes.py:106 msgid "Location changed" msgstr "Standort geändert" -#: InvenTree/status_codes.py:106 +#: InvenTree/status_codes.py:107 msgid "Stock updated" msgstr "Lagerbestand aktualisiert" -#: InvenTree/status_codes.py:109 +#: InvenTree/status_codes.py:110 msgid "Installed into assembly" msgstr "In Baugruppe installiert" -#: InvenTree/status_codes.py:110 +#: InvenTree/status_codes.py:111 msgid "Removed from assembly" msgstr "Aus Baugruppe entfernt" -#: InvenTree/status_codes.py:112 +#: InvenTree/status_codes.py:113 msgid "Installed component item" msgstr "Komponente installiert" -#: InvenTree/status_codes.py:113 +#: InvenTree/status_codes.py:114 msgid "Removed component item" msgstr "Komponente entfernt" -#: InvenTree/status_codes.py:116 +#: InvenTree/status_codes.py:117 msgid "Split from parent item" msgstr "Vom übergeordneten Element geteilt" -#: InvenTree/status_codes.py:117 +#: InvenTree/status_codes.py:118 msgid "Split child item" msgstr "Unterobjekt geteilt" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1858 +#: InvenTree/status_codes.py:121 templates/js/translated/stock.js:1858 msgid "Merged stock items" msgstr "Lagerartikel zusammengeführt" -#: InvenTree/status_codes.py:123 +#: InvenTree/status_codes.py:124 msgid "Converted to variant" msgstr "In Variante umgewandelt" -#: InvenTree/status_codes.py:126 +#: InvenTree/status_codes.py:127 msgid "Build order output created" msgstr "Endprodukt erstellt" -#: InvenTree/status_codes.py:127 +#: InvenTree/status_codes.py:128 msgid "Build order output completed" msgstr "Endprodukt fertiggestellt" -#: InvenTree/status_codes.py:128 +#: InvenTree/status_codes.py:129 msgid "Build order output rejected" msgstr "Endprodukt abgelehnt" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1764 +#: InvenTree/status_codes.py:130 templates/js/translated/stock.js:1764 msgid "Consumed by build order" msgstr "Durch Bauauftrag verbraucht" -#: InvenTree/status_codes.py:132 +#: InvenTree/status_codes.py:133 msgid "Shipped against Sales Order" msgstr "Versandt gegen Verkaufsauftrag" -#: InvenTree/status_codes.py:135 +#: InvenTree/status_codes.py:136 msgid "Received against Purchase Order" msgstr "Gegen Bestellung empfangen" -#: InvenTree/status_codes.py:138 +#: InvenTree/status_codes.py:139 msgid "Returned against Return Order" msgstr "Zurückgeschickt gegen Rücksendeauftrag" -#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:375 +#: InvenTree/status_codes.py:142 templates/js/translated/table_filters.js:375 msgid "Sent to customer" msgstr "Zum Kunden geschickt" -#: InvenTree/status_codes.py:142 +#: InvenTree/status_codes.py:143 msgid "Returned from customer" msgstr "Rücksendung vom Kunden" -#: InvenTree/status_codes.py:149 +#: InvenTree/status_codes.py:150 msgid "Production" msgstr "in Arbeit" -#: InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:186 msgid "Return" msgstr "Zurück" -#: InvenTree/status_codes.py:188 +#: InvenTree/status_codes.py:189 msgid "Repair" msgstr "Reparatur" -#: InvenTree/status_codes.py:191 +#: InvenTree/status_codes.py:192 msgid "Replace" msgstr "Ersetzen" -#: InvenTree/status_codes.py:194 +#: InvenTree/status_codes.py:195 msgid "Refund" msgstr "Rückerstattung" -#: InvenTree/status_codes.py:197 +#: InvenTree/status_codes.py:198 msgid "Reject" msgstr "Ablehnen" @@ -946,21 +946,21 @@ msgstr "Über InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Bauauftrag muss abgebrochen werden, bevor er gelöscht werden kann" -#: build/api.py:299 part/models.py:4047 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4090 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "Verbrauchsmaterial" -#: build/api.py:300 part/models.py:4041 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4084 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:587 msgid "Optional" -msgstr "" +msgstr "Optional" #: build/api.py:301 templates/js/translated/table_filters.js:408 #: templates/js/translated/table_filters.js:579 @@ -969,7 +969,7 @@ msgstr "Nachverfolgt" #: build/api.py:303 part/admin.py:144 templates/js/translated/build.js:1744 #: templates/js/translated/build.js:2629 -#: templates/js/translated/sales_order.js:1929 +#: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "Zugeordnet" @@ -980,7 +980,7 @@ msgstr "Zugeordnet" #: templates/email/low_stock_notification.html:17 #: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 #: templates/js/translated/index.js:123 -#: templates/js/translated/model_renderers.js:228 +#: templates/js/translated/model_renderers.js:234 #: templates/js/translated/part.js:692 templates/js/translated/part.js:694 #: templates/js/translated/part.js:699 #: templates/js/translated/table_filters.js:340 @@ -988,16 +988,16 @@ msgstr "Zugeordnet" msgid "Available" msgstr "Verfügbar" -#: build/models.py:74 build/templates/build/build_base.html:9 +#: build/models.py:82 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 -#: report/templates/report/inventree_build_order_base.html:105 -#: templates/email/build_order_completed.html:16 +#: report/templates/report/inventree_build_order_report.html:105 +#: stock/serializers.py:83 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2895 +#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2892 msgid "Build Order" msgstr "Bauauftrag" -#: build/models.py:75 build/templates/build/build_base.html:13 +#: build/models.py:83 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -1008,71 +1008,71 @@ msgstr "Bauauftrag" msgid "Build Orders" msgstr "Bauaufträge" -#: build/models.py:122 +#: build/models.py:130 msgid "Invalid choice for parent build" msgstr "Ungültige Wahl für übergeordneten Bauauftrag" -#: build/models.py:133 order/models.py:239 +#: build/models.py:141 order/models.py:241 msgid "Responsible user or group must be specified" -msgstr "" +msgstr "Verantwortlicher Benutzer oder Gruppe muss angegeben werden" -#: build/models.py:139 +#: build/models.py:147 msgid "Build order part cannot be changed" msgstr "Teil in Bauauftrag kann nicht geändert werden" -#: build/models.py:185 +#: build/models.py:208 msgid "Build Order Reference" msgstr "Bauauftragsreferenz" -#: build/models.py:186 order/models.py:442 order/models.py:898 -#: order/models.py:1276 order/models.py:1998 part/admin.py:417 -#: part/models.py:4062 part/templates/part/upload_bom.html:54 +#: build/models.py:209 order/models.py:464 order/models.py:929 +#: order/models.py:1316 order/models.py:2047 part/admin.py:419 +#: part/models.py:4105 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 -#: report/templates/report/inventree_so_report_base.html:28 +#: report/templates/report/inventree_purchase_order_report.html:28 +#: report/templates/report/inventree_return_order_report.html:26 +#: report/templates/report/inventree_sales_order_report.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 #: templates/js/translated/build.js:2512 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 -#: templates/js/translated/purchase_order.js:2066 -#: templates/js/translated/return_order.js:729 -#: templates/js/translated/sales_order.js:1818 +#: templates/js/translated/purchase_order.js:2065 +#: templates/js/translated/return_order.js:728 +#: templates/js/translated/sales_order.js:1854 msgid "Reference" msgstr "Referenz" -#: build/models.py:197 +#: build/models.py:220 msgid "Brief description of the build (optional)" msgstr "Kurze Beschreibung des Baus (optional)" -#: build/models.py:205 build/templates/build/build_base.html:183 +#: build/models.py:228 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Eltern-Bauauftrag" -#: build/models.py:206 +#: build/models.py:229 msgid "BuildOrder to which this build is allocated" msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist" -#: build/models.py:211 build/templates/build/build_base.html:97 +#: build/models.py:234 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 -#: order/models.py:1401 order/models.py:1546 order/models.py:1547 -#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004 -#: part/models.py:3148 part/models.py:3292 part/models.py:3315 -#: part/models.py:3336 part/models.py:3358 part/models.py:3468 -#: part/models.py:3764 part/models.py:3920 part/models.py:4013 -#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713 +#: order/models.py:1441 order/models.py:1586 order/models.py:1587 +#: part/api.py:1501 part/api.py:1795 part/models.py:392 part/models.py:3047 +#: part/models.py:3191 part/models.py:3335 part/models.py:3358 +#: part/models.py:3379 part/models.py:3401 part/models.py:3511 +#: part/models.py:3807 part/models.py:3963 part/models.py:4056 +#: part/models.py:4417 part/serializers.py:1122 part/serializers.py:1728 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 -#: report/templates/report/inventree_build_order_base.html:109 -#: report/templates/report/inventree_po_report_base.html:27 -#: report/templates/report/inventree_return_order_report_base.html:24 -#: report/templates/report/inventree_slr_report.html:102 -#: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:267 stock/serializers.py:689 -#: templates/InvenTree/search.html:82 +#: report/templates/report/inventree_build_order_report.html:109 +#: report/templates/report/inventree_purchase_order_report.html:27 +#: report/templates/report/inventree_return_order_report.html:24 +#: report/templates/report/inventree_sales_order_report.html:27 +#: report/templates/report/inventree_stock_location_report.html:102 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:396 +#: stock/serializers.py:818 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -1086,235 +1086,239 @@ msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist" #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 #: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 -#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:2323 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:751 #: templates/js/translated/purchase_order.js:1304 -#: templates/js/translated/purchase_order.js:1849 -#: templates/js/translated/purchase_order.js:2008 -#: templates/js/translated/return_order.js:539 -#: templates/js/translated/return_order.js:710 +#: templates/js/translated/purchase_order.js:1848 +#: templates/js/translated/purchase_order.js:2007 +#: templates/js/translated/return_order.js:538 +#: templates/js/translated/return_order.js:709 #: templates/js/translated/sales_order.js:300 -#: templates/js/translated/sales_order.js:1197 -#: templates/js/translated/sales_order.js:1598 -#: templates/js/translated/sales_order.js:1796 +#: templates/js/translated/sales_order.js:1233 +#: templates/js/translated/sales_order.js:1634 +#: templates/js/translated/sales_order.js:1832 #: templates/js/translated/stock.js:676 templates/js/translated/stock.js:842 -#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1999 -#: templates/js/translated/stock.js:2860 templates/js/translated/stock.js:3093 -#: templates/js/translated/stock.js:3239 +#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1997 +#: templates/js/translated/stock.js:2857 templates/js/translated/stock.js:3090 +#: templates/js/translated/stock.js:3236 msgid "Part" msgstr "Teil" -#: build/models.py:219 +#: build/models.py:242 msgid "Select part to build" msgstr "Teil für den Bauauftrag wählen" -#: build/models.py:224 +#: build/models.py:247 msgid "Sales Order Reference" msgstr "Auftrag Referenz" -#: build/models.py:228 +#: build/models.py:251 msgid "SalesOrder to which this build is allocated" msgstr "Bestellung, die diesem Bauauftrag zugewiesen ist" -#: build/models.py:233 build/serializers.py:970 +#: build/models.py:256 build/serializers.py:969 #: templates/js/translated/build.js:1731 -#: templates/js/translated/sales_order.js:1185 +#: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "Quell-Lagerort" -#: build/models.py:237 +#: build/models.py:260 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Entnahme-Lagerort für diesen Bauauftrag wählen (oder leer lassen für einen beliebigen Lagerort)" -#: build/models.py:242 +#: build/models.py:265 msgid "Destination Location" msgstr "Ziel-Lagerort" -#: build/models.py:246 +#: build/models.py:269 msgid "Select location where the completed items will be stored" msgstr "Lagerort an dem fertige Objekte gelagert werden auswählen" -#: build/models.py:250 +#: build/models.py:273 msgid "Build Quantity" msgstr "Bau-Anzahl" -#: build/models.py:253 +#: build/models.py:276 msgid "Number of stock items to build" msgstr "Anzahl der zu bauenden Lagerartikel" -#: build/models.py:257 +#: build/models.py:280 msgid "Completed items" msgstr "Fertiggestellte Teile" -#: build/models.py:259 +#: build/models.py:282 msgid "Number of stock items which have been completed" msgstr "Anzahl der fertigen Lagerartikel" -#: build/models.py:263 +#: build/models.py:286 msgid "Build Status" msgstr "Bauauftrags-Status" -#: build/models.py:267 +#: build/models.py:290 msgid "Build status code" msgstr "Bau-Statuscode" -#: build/models.py:276 build/serializers.py:278 order/serializers.py:581 -#: stock/models.py:823 stock/serializers.py:1333 +#: build/models.py:299 build/serializers.py:277 order/serializers.py:581 +#: stock/models.py:844 stock/serializers.py:75 stock/serializers.py:1462 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Losnummer" -#: build/models.py:280 build/serializers.py:279 +#: build/models.py:303 build/serializers.py:278 msgid "Batch code for this build output" msgstr "Losnummer für dieses Endprodukt" -#: build/models.py:283 order/models.py:304 order/serializers.py:120 -#: part/models.py:1079 part/templates/part/part_base.html:310 -#: templates/js/translated/return_order.js:339 -#: templates/js/translated/sales_order.js:827 +#: build/models.py:306 order/models.py:317 order/serializers.py:120 +#: part/models.py:1122 part/templates/part/part_base.html:310 +#: templates/js/translated/return_order.js:338 +#: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "Erstelldatum" -#: build/models.py:287 +#: build/models.py:310 msgid "Target completion date" msgstr "geplantes Fertigstellungsdatum" -#: build/models.py:288 +#: build/models.py:311 msgid "Target date for build completion. Build will be overdue after this date." msgstr "Zieldatum für Bauauftrag-Fertigstellung." -#: build/models.py:291 order/models.py:500 order/models.py:2043 +#: build/models.py:314 order/models.py:522 order/models.py:2092 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "Fertigstellungsdatum" -#: build/models.py:297 +#: build/models.py:320 msgid "completed by" msgstr "Fertiggestellt von" -#: build/models.py:305 templates/js/translated/build.js:2207 +#: build/models.py:328 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "Aufgegeben von" -#: build/models.py:306 +#: build/models.py:329 msgid "User who issued this build order" msgstr "Nutzer der diesen Bauauftrag erstellt hat" -#: build/models.py:314 build/templates/build/build_base.html:204 +#: build/models.py:337 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:145 -#: order/models.py:322 order/templates/order/order_base.html:217 +#: order/models.py:335 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1096 +#: order/templates/order/sales_order_base.html:232 part/models.py:1139 #: part/templates/part/part_base.html:390 -#: report/templates/report/inventree_build_order_base.html:158 +#: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 #: templates/js/translated/build.js:2219 -#: templates/js/translated/purchase_order.js:1764 -#: templates/js/translated/return_order.js:359 +#: templates/js/translated/purchase_order.js:1763 +#: templates/js/translated/return_order.js:358 #: templates/js/translated/table_filters.js:531 msgid "Responsible" msgstr "Verantwortlicher Benutzer" -#: build/models.py:315 +#: build/models.py:338 msgid "User or group responsible for this build order" msgstr "Benutzer oder Gruppe verantwortlich für diesen Bauauftrag" -#: build/models.py:320 build/templates/build/detail.html:108 +#: build/models.py:343 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 -#: order/templates/order/sales_order_base.html:180 -#: part/templates/part/part_base.html:383 stock/models.py:819 +#: order/templates/order/sales_order_base.html:184 +#: part/templates/part/part_base.html:383 stock/models.py:840 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "Externer Link" -#: build/models.py:325 +#: build/models.py:348 msgid "Build Priority" msgstr "Bauauftrags-Priorität" -#: build/models.py:328 +#: build/models.py:351 msgid "Priority of this build order" msgstr "Priorität dieses Bauauftrags" -#: build/models.py:335 common/models.py:129 order/admin.py:18 -#: order/models.py:286 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:358 common/models.py:129 order/admin.py:18 +#: order/models.py:299 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 -#: templates/js/translated/purchase_order.js:1711 -#: templates/js/translated/return_order.js:318 -#: templates/js/translated/sales_order.js:806 +#: templates/js/translated/purchase_order.js:1710 +#: templates/js/translated/return_order.js:317 +#: templates/js/translated/sales_order.js:842 #: templates/js/translated/table_filters.js:48 #: templates/project_code_data.html:6 msgid "Project Code" msgstr "Projektcode" -#: build/models.py:336 +#: build/models.py:359 msgid "Project code for this build order" msgstr "Projektcode für diesen Auftrag" -#: build/models.py:566 build/models.py:631 +#: build/models.py:589 build/models.py:654 msgid "Failed to offload task to complete build allocations" -msgstr "" +msgstr "Fehler beim Abladen der Aufgabe, um die Build-Allokation abzuschließen" -#: build/models.py:588 +#: build/models.py:611 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Bauauftrag {build} wurde fertiggestellt" -#: build/models.py:594 +#: build/models.py:617 msgid "A build order has been completed" msgstr "Ein Bauauftrag wurde fertiggestellt" -#: build/models.py:820 build/models.py:895 +#: build/models.py:843 build/models.py:918 msgid "No build output specified" msgstr "kein Endprodukt angegeben" -#: build/models.py:823 +#: build/models.py:846 msgid "Build output is already completed" msgstr "Endprodukt bereits hergstellt" -#: build/models.py:826 +#: build/models.py:849 msgid "Build output does not match Build Order" msgstr "Endprodukt stimmt nicht mit dem Bauauftrag überein" -#: build/models.py:899 build/serializers.py:221 build/serializers.py:260 -#: build/serializers.py:837 order/models.py:538 order/serializers.py:433 -#: order/serializers.py:576 part/serializers.py:1471 part/serializers.py:1871 -#: stock/models.py:662 stock/models.py:1482 stock/serializers.py:472 +#: build/models.py:922 build/serializers.py:220 build/serializers.py:259 +#: build/serializers.py:836 order/models.py:560 order/serializers.py:433 +#: order/serializers.py:576 part/serializers.py:1486 part/serializers.py:1886 +#: stock/models.py:683 stock/models.py:1503 stock/serializers.py:601 msgid "Quantity must be greater than zero" msgstr "Anzahl muss größer Null sein" -#: build/models.py:904 build/serializers.py:226 +#: build/models.py:927 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "Menge kann nicht größer als die Ausgangsmenge sein" -#: build/models.py:961 build/serializers.py:539 +#: build/models.py:984 build/serializers.py:538 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "Build Ausgabe {serial} hat nicht alle erforderlichen Tests bestanden" -#: build/models.py:1323 +#: build/models.py:1335 +msgid "Build Order Line Item" +msgstr "" + +#: build/models.py:1360 msgid "Build object" msgstr "Objekt bauen" -#: build/models.py:1337 build/models.py:1593 build/serializers.py:208 -#: build/serializers.py:245 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2524 -#: order/models.py:1259 order/models.py:1918 order/serializers.py:1339 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 -#: part/forms.py:48 part/models.py:3162 part/models.py:4035 +#: build/models.py:1374 build/models.py:1630 build/serializers.py:207 +#: build/serializers.py:244 build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2530 +#: order/models.py:1299 order/models.py:1958 order/serializers.py:1339 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 +#: part/forms.py:48 part/models.py:3205 part/models.py:4078 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 -#: report/templates/report/inventree_build_order_base.html:113 -#: report/templates/report/inventree_po_report_base.html:29 -#: report/templates/report/inventree_slr_report.html:104 -#: report/templates/report/inventree_so_report_base.html:29 -#: report/templates/report/inventree_test_report_base.html:90 -#: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:160 stock/serializers.py:463 +#: report/templates/report/inventree_build_order_report.html:113 +#: report/templates/report/inventree_purchase_order_report.html:29 +#: report/templates/report/inventree_sales_order_report.html:29 +#: report/templates/report/inventree_stock_location_report.html:104 +#: report/templates/report/inventree_test_report.html:90 +#: report/templates/report/inventree_test_report.html:170 stock/admin.py:160 +#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:592 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1324,380 +1328,381 @@ msgstr "Objekt bauen" #: templates/js/translated/build.js:737 templates/js/translated/build.js:1369 #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 -#: templates/js/translated/model_renderers.js:230 +#: templates/js/translated/model_renderers.js:236 #: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3341 +#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3340 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 #: templates/js/translated/purchase_order.js:754 -#: templates/js/translated/purchase_order.js:1853 -#: templates/js/translated/purchase_order.js:2072 +#: templates/js/translated/purchase_order.js:1852 +#: templates/js/translated/purchase_order.js:2071 #: templates/js/translated/sales_order.js:317 -#: templates/js/translated/sales_order.js:1199 -#: templates/js/translated/sales_order.js:1518 -#: templates/js/translated/sales_order.js:1608 -#: templates/js/translated/sales_order.js:1698 -#: templates/js/translated/sales_order.js:1824 +#: templates/js/translated/sales_order.js:1235 +#: templates/js/translated/sales_order.js:1554 +#: templates/js/translated/sales_order.js:1644 +#: templates/js/translated/sales_order.js:1734 +#: templates/js/translated/sales_order.js:1860 #: templates/js/translated/stock.js:564 templates/js/translated/stock.js:702 -#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:3024 -#: templates/js/translated/stock.js:3107 +#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:3021 +#: templates/js/translated/stock.js:3104 msgid "Quantity" msgstr "Anzahl" -#: build/models.py:1338 +#: build/models.py:1375 msgid "Required quantity for build order" msgstr "Erforderliche Menge für Auftrag" -#: build/models.py:1418 +#: build/models.py:1455 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Bauauftragsposition muss ein Endprodukt festlegen, da der übergeordnete Teil verfolgbar ist" -#: build/models.py:1427 +#: build/models.py:1464 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Zugewiesene Menge ({q}) darf nicht verfügbare Menge ({a}) übersteigen" -#: build/models.py:1437 order/models.py:1869 +#: build/models.py:1474 order/models.py:1909 msgid "Stock item is over-allocated" msgstr "BestandObjekt ist zu oft zugewiesen" -#: build/models.py:1443 order/models.py:1872 +#: build/models.py:1480 order/models.py:1912 msgid "Allocation quantity must be greater than zero" msgstr "Reserviermenge muss größer null sein" -#: build/models.py:1449 +#: build/models.py:1486 msgid "Quantity must be 1 for serialized stock" msgstr "Anzahl muss 1 für Objekte mit Seriennummer sein" -#: build/models.py:1508 +#: build/models.py:1545 msgid "Selected stock item does not match BOM line" msgstr "Ausgewählter Lagerbestand stimmt nicht mit BOM-Linie überein" -#: build/models.py:1580 build/serializers.py:817 order/serializers.py:1183 -#: order/serializers.py:1204 stock/serializers.py:566 stock/serializers.py:1052 -#: stock/serializers.py:1164 stock/templates/stock/item_base.html:10 +#: build/models.py:1617 build/serializers.py:816 order/serializers.py:1183 +#: order/serializers.py:1204 stock/models.py:364 stock/serializers.py:92 +#: stock/serializers.py:695 stock/serializers.py:1181 stock/serializers.py:1293 +#: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 #: templates/js/translated/build.js:1745 #: templates/js/translated/sales_order.js:301 -#: templates/js/translated/sales_order.js:1198 -#: templates/js/translated/sales_order.js:1499 -#: templates/js/translated/sales_order.js:1504 -#: templates/js/translated/sales_order.js:1605 -#: templates/js/translated/sales_order.js:1692 +#: templates/js/translated/sales_order.js:1234 +#: templates/js/translated/sales_order.js:1535 +#: templates/js/translated/sales_order.js:1540 +#: templates/js/translated/sales_order.js:1641 +#: templates/js/translated/sales_order.js:1728 #: templates/js/translated/stock.js:677 templates/js/translated/stock.js:843 -#: templates/js/translated/stock.js:2980 +#: templates/js/translated/stock.js:2977 msgid "Stock Item" msgstr "Lagerartikel" -#: build/models.py:1581 +#: build/models.py:1618 msgid "Source stock item" msgstr "Quell-Lagerartikel" -#: build/models.py:1594 +#: build/models.py:1631 msgid "Stock quantity to allocate to build" msgstr "Anzahl an Lagerartikel dem Bauauftrag zuweisen" -#: build/models.py:1602 +#: build/models.py:1639 msgid "Install into" msgstr "Installiere in" -#: build/models.py:1603 +#: build/models.py:1640 msgid "Destination stock item" msgstr "Ziel-Lagerartikel" -#: build/serializers.py:158 build/serializers.py:846 +#: build/serializers.py:157 build/serializers.py:845 #: templates/js/translated/build.js:1322 msgid "Build Output" msgstr "Endprodukt" -#: build/serializers.py:170 +#: build/serializers.py:169 msgid "Build output does not match the parent build" msgstr "Endprodukt stimmt nicht mit übergeordnetem Bauauftrag überein" -#: build/serializers.py:174 +#: build/serializers.py:173 msgid "Output part does not match BuildOrder part" msgstr "Endprodukt entspricht nicht dem Teil des Bauauftrags" -#: build/serializers.py:178 +#: build/serializers.py:177 msgid "This build output has already been completed" msgstr "Dieses Endprodukt wurde bereits fertiggestellt" -#: build/serializers.py:189 +#: build/serializers.py:188 msgid "This build output is not fully allocated" msgstr "Dieses Endprodukt ist nicht vollständig zugewiesen" -#: build/serializers.py:209 build/serializers.py:246 +#: build/serializers.py:208 build/serializers.py:245 msgid "Enter quantity for build output" msgstr "Menge der Endprodukte angeben" -#: build/serializers.py:267 +#: build/serializers.py:266 msgid "Integer quantity required for trackable parts" msgstr "Ganzzahl für verfolgbare Teile erforderlich" -#: build/serializers.py:270 +#: build/serializers.py:269 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:285 order/serializers.py:589 order/serializers.py:1343 -#: stock/serializers.py:483 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:284 order/serializers.py:589 order/serializers.py:1343 +#: stock/serializers.py:612 templates/js/translated/purchase_order.js:1153 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "Seriennummer" -#: build/serializers.py:286 +#: build/serializers.py:285 msgid "Enter serial numbers for build outputs" msgstr "Seriennummer für dieses Endprodukt eingeben" -#: build/serializers.py:291 build/serializers.py:432 build/serializers.py:504 +#: build/serializers.py:290 build/serializers.py:431 build/serializers.py:503 #: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1679 -#: part/serializers.py:1127 stock/serializers.py:494 stock/serializers.py:654 -#: stock/serializers.py:750 stock/serializers.py:1196 stock/serializers.py:1452 -#: stock/templates/stock/item_base.html:394 +#: part/serializers.py:1142 stock/serializers.py:101 stock/serializers.py:623 +#: stock/serializers.py:783 stock/serializers.py:879 stock/serializers.py:1325 +#: stock/serializers.py:1581 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 #: templates/js/translated/purchase_order.js:1178 #: templates/js/translated/purchase_order.js:1268 -#: templates/js/translated/sales_order.js:1511 -#: templates/js/translated/sales_order.js:1619 -#: templates/js/translated/sales_order.js:1627 -#: templates/js/translated/sales_order.js:1706 +#: templates/js/translated/sales_order.js:1547 +#: templates/js/translated/sales_order.js:1655 +#: templates/js/translated/sales_order.js:1663 +#: templates/js/translated/sales_order.js:1742 #: templates/js/translated/stock.js:678 templates/js/translated/stock.js:844 -#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2203 -#: templates/js/translated/stock.js:2874 +#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2201 +#: templates/js/translated/stock.js:2871 msgid "Location" msgstr "Lagerort" -#: build/serializers.py:292 +#: build/serializers.py:291 msgid "Stock location for build output" -msgstr "" +msgstr "Lagerort für Bauprodukt" -#: build/serializers.py:306 +#: build/serializers.py:305 msgid "Auto Allocate Serial Numbers" msgstr "Seriennummern automatisch zuweisen" -#: build/serializers.py:307 +#: build/serializers.py:306 msgid "Automatically allocate required items with matching serial numbers" msgstr "Benötigte Lagerartikel automatisch mit passenden Seriennummern zuweisen" -#: build/serializers.py:322 +#: build/serializers.py:321 msgid "Serial numbers must be provided for trackable parts" -msgstr "" +msgstr "Seriennummern müssen für nachverfolgbare Teile angegeben werden" -#: build/serializers.py:347 stock/api.py:995 +#: build/serializers.py:346 stock/api.py:1029 msgid "The following serial numbers already exist or are invalid" msgstr "Die folgenden Seriennummern existieren bereits oder sind ungültig" -#: build/serializers.py:394 build/serializers.py:456 build/serializers.py:545 +#: build/serializers.py:393 build/serializers.py:455 build/serializers.py:544 msgid "A list of build outputs must be provided" msgstr "Eine Liste von Endprodukten muss angegeben werden" -#: build/serializers.py:433 +#: build/serializers.py:432 msgid "Stock location for scrapped outputs" msgstr "Lagerort für ausgemusterte Ausgänge" -#: build/serializers.py:439 +#: build/serializers.py:438 msgid "Discard Allocations" msgstr "Zuteilungen verwerfen" -#: build/serializers.py:440 +#: build/serializers.py:439 msgid "Discard any stock allocations for scrapped outputs" msgstr "Bestandszuteilung für ausgemusterte Endprodukte verwerfen" -#: build/serializers.py:445 +#: build/serializers.py:444 msgid "Reason for scrapping build output(s)" msgstr "Grund für das Verwerfen des Bauauftrages/der Bauaufträge" -#: build/serializers.py:505 +#: build/serializers.py:504 msgid "Location for completed build outputs" msgstr "Lagerort für fertige Endprodukte" -#: build/serializers.py:511 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:922 -#: order/models.py:2022 order/serializers.py:597 stock/admin.py:165 -#: stock/serializers.py:801 stock/serializers.py:1340 +#: build/serializers.py:510 build/templates/build/build_base.html:151 +#: build/templates/build/detail.html:62 order/models.py:953 +#: order/models.py:2071 order/serializers.py:597 stock/admin.py:165 +#: stock/serializers.py:930 stock/serializers.py:1469 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 -#: templates/js/translated/purchase_order.js:1723 -#: templates/js/translated/return_order.js:331 -#: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2178 templates/js/translated/stock.js:2998 -#: templates/js/translated/stock.js:3123 +#: templates/js/translated/purchase_order.js:1722 +#: templates/js/translated/return_order.js:330 +#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/stock.js:2176 templates/js/translated/stock.js:2995 +#: templates/js/translated/stock.js:3120 msgid "Status" -msgstr "" +msgstr "Status" -#: build/serializers.py:517 +#: build/serializers.py:516 msgid "Accept Incomplete Allocation" msgstr "Unvollständige Zuweisung akzeptieren" -#: build/serializers.py:518 +#: build/serializers.py:517 msgid "Complete outputs if stock has not been fully allocated" msgstr "Endprodukte fertigstellen, auch wenn Bestand nicht fertig zugewiesen wurde" -#: build/serializers.py:598 +#: build/serializers.py:597 msgid "Consume Allocated Stock" -msgstr "" +msgstr "Zugewiesen Bestand verbrauchen" -#: build/serializers.py:599 +#: build/serializers.py:598 msgid "Consume any stock which has already been allocated to this build" -msgstr "" +msgstr "Verbrauche alle Bestände, die diesem Bauauftrag bereits zugewiesen wurden" -#: build/serializers.py:605 +#: build/serializers.py:604 msgid "Remove Incomplete Outputs" msgstr "Unfertige Endprodukte entfernen" -#: build/serializers.py:606 +#: build/serializers.py:605 msgid "Delete any build outputs which have not been completed" msgstr "Lösche alle noch nicht abgeschlossenen Endprodukte" -#: build/serializers.py:633 +#: build/serializers.py:632 msgid "Not permitted" msgstr "Nicht erlaubt" -#: build/serializers.py:634 +#: build/serializers.py:633 msgid "Accept as consumed by this build order" msgstr "Als von diesem Bauauftrag verbraucht setzen" -#: build/serializers.py:635 +#: build/serializers.py:634 msgid "Deallocate before completing this build order" msgstr "Bestandszuordnung vor dem Abschluss dieses Bauauftrags freigeben" -#: build/serializers.py:657 +#: build/serializers.py:656 msgid "Overallocated Stock" msgstr "Überbelegter Lagerbestand" -#: build/serializers.py:659 +#: build/serializers.py:658 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "Wie sollen zusätzliche Lagerbestandteile, die dem Bauauftrag zugewiesen wurden, behandelt werden" -#: build/serializers.py:669 +#: build/serializers.py:668 msgid "Some stock items have been overallocated" msgstr "Der Bestand einiger Lagerartikel ist überbelegt" -#: build/serializers.py:674 +#: build/serializers.py:673 msgid "Accept Unallocated" msgstr "Nicht zugewiesene akzeptieren" -#: build/serializers.py:675 +#: build/serializers.py:674 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Akzeptieren, dass Lagerartikel diesem Bauauftrag nicht vollständig zugewiesen wurden" -#: build/serializers.py:685 templates/js/translated/build.js:315 +#: build/serializers.py:684 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" msgstr "Benötigter Bestand wurde nicht vollständig zugewiesen" -#: build/serializers.py:690 order/serializers.py:301 order/serializers.py:1246 +#: build/serializers.py:689 order/serializers.py:301 order/serializers.py:1246 msgid "Accept Incomplete" msgstr "Unvollständig Zuweisung akzeptieren" -#: build/serializers.py:691 +#: build/serializers.py:690 msgid "Accept that the required number of build outputs have not been completed" msgstr "Akzeptieren, dass die erforderliche Anzahl der Bauaufträge nicht abgeschlossen ist" -#: build/serializers.py:701 templates/js/translated/build.js:319 +#: build/serializers.py:700 templates/js/translated/build.js:319 msgid "Required build quantity has not been completed" msgstr "Benötigte Teil-Anzahl wurde noch nicht fertiggestellt" -#: build/serializers.py:710 templates/js/translated/build.js:303 +#: build/serializers.py:709 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" msgstr "Bauauftrag hat unvollständige Aufbauten" -#: build/serializers.py:740 +#: build/serializers.py:739 msgid "Build Line" msgstr "Bauauftragsposition" -#: build/serializers.py:750 +#: build/serializers.py:749 msgid "Build output" msgstr "Endprodukt" -#: build/serializers.py:758 +#: build/serializers.py:757 msgid "Build output must point to the same build" msgstr "Endprodukt muss auf den gleichen Bauauftrag verweisen" -#: build/serializers.py:794 +#: build/serializers.py:793 msgid "Build Line Item" msgstr "Bauauftragspositionsartikel" -#: build/serializers.py:808 +#: build/serializers.py:807 msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part muss auf dasselbe Teil verweisen wie der Bauauftrag" -#: build/serializers.py:823 stock/serializers.py:1065 +#: build/serializers.py:822 stock/serializers.py:1194 msgid "Item must be in stock" msgstr "Teil muss auf Lager sein" -#: build/serializers.py:871 order/serializers.py:1237 +#: build/serializers.py:870 order/serializers.py:1237 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Verfügbare Menge ({q}) überschritten" -#: build/serializers.py:877 +#: build/serializers.py:876 msgid "Build output must be specified for allocation of tracked parts" msgstr "Für Zuweisung von verfolgten Teilen muss ein Endprodukt angegeben sein" -#: build/serializers.py:884 +#: build/serializers.py:883 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "Endprodukt kann bei Zuweisung nicht-verfolgter Teile nicht angegeben werden" -#: build/serializers.py:908 order/serializers.py:1489 +#: build/serializers.py:907 order/serializers.py:1489 msgid "Allocation items must be provided" msgstr "Zuweisungen müssen angegeben werden" -#: build/serializers.py:971 +#: build/serializers.py:970 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "Lagerort, von dem Teile bezogen werden sollen (leer lassen, um sie von jedem Lagerort zu nehmen)" -#: build/serializers.py:979 +#: build/serializers.py:978 msgid "Exclude Location" msgstr "Lagerort ausschließen" -#: build/serializers.py:980 +#: build/serializers.py:979 msgid "Exclude stock items from this selected location" msgstr "Lagerartikel vom ausgewählten Ort ausschließen" -#: build/serializers.py:985 +#: build/serializers.py:984 msgid "Interchangeable Stock" msgstr "Wechselbares Lagerbestand" -#: build/serializers.py:986 +#: build/serializers.py:985 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Lagerartikel an mehreren Standorten können austauschbar verwendet werden" -#: build/serializers.py:991 +#: build/serializers.py:990 msgid "Substitute Stock" msgstr "Ersatzbestand" -#: build/serializers.py:992 +#: build/serializers.py:991 msgid "Allow allocation of substitute parts" msgstr "Zuordnung von Ersatzteilen erlauben" -#: build/serializers.py:997 +#: build/serializers.py:996 msgid "Optional Items" msgstr "Optionale Positionen" -#: build/serializers.py:998 +#: build/serializers.py:997 msgid "Allocate optional BOM items to build order" msgstr "Optionale Stücklisten-Positionen dem Bauauftrag hinzufügen" -#: build/serializers.py:1020 +#: build/serializers.py:1019 msgid "Failed to start auto-allocation task" -msgstr "" +msgstr "Fehler beim Starten der automatischen Zuweisung" -#: build/serializers.py:1110 part/models.py:3930 part/models.py:4366 -#: stock/api.py:758 +#: build/serializers.py:1109 part/models.py:3973 part/models.py:4409 +#: stock/api.py:792 msgid "BOM Item" msgstr "Stücklisten-Position" -#: build/serializers.py:1119 templates/js/translated/index.js:130 +#: build/serializers.py:1118 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "Zugewiesener Bestand" -#: build/serializers.py:1124 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:817 part/serializers.py:1489 +#: build/serializers.py:1123 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:832 part/serializers.py:1504 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 @@ -1705,15 +1710,15 @@ msgstr "Zugewiesener Bestand" msgid "On Order" msgstr "Bestellt" -#: build/serializers.py:1129 part/serializers.py:1491 +#: build/serializers.py:1128 part/serializers.py:1506 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "In Produktion" -#: build/serializers.py:1134 part/bom.py:172 part/serializers.py:1514 +#: build/serializers.py:1133 part/bom.py:172 part/serializers.py:1529 #: part/templates/part/part_base.html:192 -#: templates/js/translated/sales_order.js:1893 +#: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "Verfügbarer Bestand" @@ -1842,18 +1847,18 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "Bestand wurde Bauauftrag noch nicht vollständig zugewiesen" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:297 -#: order/models.py:1294 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:310 +#: order/models.py:1334 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 -#: order/templates/order/sales_order_base.html:192 -#: report/templates/report/inventree_build_order_base.html:125 +#: order/templates/order/sales_order_base.html:196 +#: report/templates/report/inventree_build_order_report.html:125 #: templates/js/translated/build.js:2239 templates/js/translated/part.js:1830 -#: templates/js/translated/purchase_order.js:1740 -#: templates/js/translated/purchase_order.js:2148 -#: templates/js/translated/return_order.js:347 -#: templates/js/translated/return_order.js:751 -#: templates/js/translated/sales_order.js:835 -#: templates/js/translated/sales_order.js:1867 +#: templates/js/translated/purchase_order.js:1739 +#: templates/js/translated/purchase_order.js:2147 +#: templates/js/translated/return_order.js:346 +#: templates/js/translated/return_order.js:750 +#: templates/js/translated/sales_order.js:871 +#: templates/js/translated/sales_order.js:1903 msgid "Target Date" msgstr "Zieldatum" @@ -1866,7 +1871,7 @@ msgstr "Bauauftrag war fällig am %(target)s" #: build/templates/build/build_base.html:222 #: order/templates/order/order_base.html:122 #: order/templates/order/return_order_base.html:117 -#: order/templates/order/sales_order_base.html:122 +#: order/templates/order/sales_order_base.html:126 #: templates/js/translated/table_filters.js:98 #: templates/js/translated/table_filters.js:524 #: templates/js/translated/table_filters.js:626 @@ -1880,24 +1885,24 @@ msgid "Completed Outputs" msgstr "Fertiggestellte Endprodukte" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:1538 -#: order/models.py:1652 order/models.py:1806 +#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:848 +#: order/models.py:1578 order/models.py:1692 order/models.py:1846 #: 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 +#: report/templates/report/inventree_build_order_report.html:135 +#: report/templates/report/inventree_sales_order_report.html:14 #: stock/templates/stock/item_base.html:369 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:929 -#: templates/js/translated/sales_order.js:769 -#: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2927 +#: templates/js/translated/sales_order.js:805 +#: templates/js/translated/sales_order.js:1028 +#: templates/js/translated/stock.js:2924 msgid "Sales Order" msgstr "Auftrag" #: build/templates/build/build_base.html:197 #: build/templates/build/detail.html:115 -#: report/templates/report/inventree_build_order_base.html:152 +#: report/templates/report/inventree_build_order_report.html:152 #: templates/js/translated/table_filters.js:24 msgid "Issued By" msgstr "Aufgegeben von" @@ -1907,15 +1912,15 @@ msgstr "Aufgegeben von" msgid "Priority" msgstr "Priorität" -#: build/templates/build/build_base.html:273 +#: build/templates/build/build_base.html:269 msgid "Delete Build Order" msgstr "Bauauftrag löschen" -#: build/templates/build/build_base.html:283 +#: build/templates/build/build_base.html:279 msgid "Build Order QR Code" msgstr "Bauftrags-QR-Code" -#: build/templates/build/build_base.html:295 +#: build/templates/build/build_base.html:291 msgid "Link Barcode to Build Order" msgstr "Barcode mit Bauauftrag verknüpfen" @@ -1931,8 +1936,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:1430 -#: templates/js/translated/purchase_order.js:2190 +#: build/templates/build/detail.html:49 order/models.py:1470 +#: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "Ziel-Lager" @@ -1947,10 +1952,10 @@ msgstr "Zugewiesene Teile" #: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 #: templates/js/translated/build.js:1380 -#: templates/js/translated/model_renderers.js:235 +#: templates/js/translated/model_renderers.js:241 #: templates/js/translated/purchase_order.js:1274 -#: templates/js/translated/stock.js:1133 templates/js/translated/stock.js:2192 -#: templates/js/translated/stock.js:3130 +#: templates/js/translated/stock.js:1133 templates/js/translated/stock.js:2190 +#: templates/js/translated/stock.js:3127 #: templates/js/translated/table_filters.js:313 #: templates/js/translated/table_filters.js:404 msgid "Batch" @@ -1959,7 +1964,7 @@ msgstr "Losnummer" #: build/templates/build/detail.html:133 #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:151 -#: order/templates/order/sales_order_base.html:186 +#: order/templates/order/sales_order_base.html:190 #: templates/js/translated/build.js:2199 msgid "Created" msgstr "Erstellt" @@ -1969,7 +1974,7 @@ msgid "No target date set" msgstr "Kein Ziel-Datum gesetzt" #: build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:202 +#: order/templates/order/sales_order_base.html:206 #: templates/js/translated/table_filters.js:689 msgid "Completed" msgstr "Fertig" @@ -2260,8 +2265,8 @@ msgstr "Wie oft Wechselkurse aktualisiert werden sollen (auf Null zum Deaktivier #: common/models.py:1316 common/models.py:1372 common/models.py:1385 #: common/models.py:1393 common/models.py:1402 common/models.py:1411 -#: common/models.py:1613 common/models.py:1635 common/models.py:1750 -#: common/models.py:2061 +#: common/models.py:1619 common/models.py:1641 common/models.py:1756 +#: common/models.py:2067 msgid "days" msgstr "Tage" @@ -2402,1209 +2407,1218 @@ msgid "Enable revision field for Part" msgstr "Revisions-Feld für Artikel aktivieren" #: common/models.py:1440 -msgid "IPN Regex" +msgid "Allow Deletion from Assembly" msgstr "" #: common/models.py:1441 +msgid "Allow deletion of parts which are used in an assembly" +msgstr "" + +#: common/models.py:1446 +msgid "IPN Regex" +msgstr "IPN Regex" + +#: common/models.py:1447 msgid "Regular expression pattern for matching Part IPN" msgstr "RegEx Muster für die Zuordnung von Teil-IPN" -#: common/models.py:1444 +#: common/models.py:1450 msgid "Allow Duplicate IPN" msgstr "Mehrere Artikel mit gleicher IPN erlaubt" -#: common/models.py:1445 +#: common/models.py:1451 msgid "Allow multiple parts to share the same IPN" msgstr "Mehrere Artikel mit gleicher IPN erlaubt" -#: common/models.py:1450 +#: common/models.py:1456 msgid "Allow Editing IPN" msgstr "Ändern von IPN erlaubt" -#: common/models.py:1451 +#: common/models.py:1457 msgid "Allow changing the IPN value while editing a part" msgstr "Ändern der IPN während des Bearbeiten eines Teils erlaubt" -#: common/models.py:1456 +#: common/models.py:1462 msgid "Copy Part BOM Data" msgstr "Teil-Stückliste kopieren" -#: common/models.py:1457 +#: common/models.py:1463 msgid "Copy BOM data by default when duplicating a part" msgstr "Stückliste von Teil kopieren wenn das Teil dupliziert wird " -#: common/models.py:1462 +#: common/models.py:1468 msgid "Copy Part Parameter Data" msgstr "Teil-Parameter kopieren" -#: common/models.py:1463 +#: common/models.py:1469 msgid "Copy parameter data by default when duplicating a part" msgstr "Parameter-Daten für dieses Teil kopieren wenn das Teil dupliziert wird" -#: common/models.py:1468 +#: common/models.py:1474 msgid "Copy Part Test Data" msgstr "Teil-Testdaten kopieren" -#: common/models.py:1469 +#: common/models.py:1475 msgid "Copy test data by default when duplicating a part" msgstr "Test-Daten für dieses Teil kopieren wenn das Teil dupliziert wird" -#: common/models.py:1474 +#: common/models.py:1480 msgid "Copy Category Parameter Templates" msgstr "Kategorie-Parametervorlage kopieren" -#: common/models.py:1475 +#: common/models.py:1481 msgid "Copy category parameter templates when creating a part" msgstr "Kategorie-Parameter Vorlagen kopieren wenn ein Teil angelegt wird" -#: common/models.py:1480 part/admin.py:108 part/models.py:3772 -#: report/models.py:182 stock/serializers.py:99 +#: common/models.py:1486 part/admin.py:108 part/models.py:3815 +#: report/models.py:294 report/models.py:361 report/serializers.py:90 +#: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:767 msgid "Template" msgstr "Vorlage" -#: common/models.py:1481 +#: common/models.py:1487 msgid "Parts are templates by default" msgstr "Teile sind standardmäßig Vorlagen" -#: common/models.py:1486 part/admin.py:91 part/admin.py:431 part/models.py:1016 +#: common/models.py:1492 part/admin.py:91 part/admin.py:433 part/models.py:1059 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "Baugruppe" -#: common/models.py:1487 +#: common/models.py:1493 msgid "Parts can be assembled from other components by default" msgstr "Teile können standardmäßig aus anderen Teilen angefertigt werden" -#: common/models.py:1492 part/admin.py:95 part/models.py:1022 +#: common/models.py:1498 part/admin.py:95 part/models.py:1065 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "Komponente" -#: common/models.py:1493 +#: common/models.py:1499 msgid "Parts can be used as sub-components by default" msgstr "Teile können standardmäßig in Baugruppen benutzt werden" -#: common/models.py:1498 part/admin.py:100 part/models.py:1034 +#: common/models.py:1504 part/admin.py:100 part/models.py:1077 msgid "Purchaseable" msgstr "Kaufbar" -#: common/models.py:1499 +#: common/models.py:1505 msgid "Parts are purchaseable by default" msgstr "Artikel sind grundsätzlich kaufbar" -#: common/models.py:1504 part/admin.py:104 part/models.py:1040 +#: common/models.py:1510 part/admin.py:104 part/models.py:1083 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "Verkäuflich" -#: common/models.py:1505 +#: common/models.py:1511 msgid "Parts are salable by default" msgstr "Artikel sind grundsätzlich verkaufbar" -#: common/models.py:1510 part/admin.py:113 part/models.py:1028 +#: common/models.py:1516 part/admin.py:113 part/models.py:1071 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "Nachverfolgbar" -#: common/models.py:1511 +#: common/models.py:1517 msgid "Parts are trackable by default" msgstr "Artikel sind grundsätzlich verfolgbar" -#: common/models.py:1516 part/admin.py:117 part/models.py:1050 +#: common/models.py:1522 part/admin.py:117 part/models.py:1093 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "Virtuell" -#: common/models.py:1517 +#: common/models.py:1523 msgid "Parts are virtual by default" msgstr "Teile sind grundsätzlich virtuell" -#: common/models.py:1522 +#: common/models.py:1528 msgid "Show Import in Views" msgstr "Import in Ansichten anzeigen" -#: common/models.py:1523 +#: common/models.py:1529 msgid "Display the import wizard in some part views" msgstr "Importassistent in einigen Teil-Ansichten anzeigen" -#: common/models.py:1528 +#: common/models.py:1534 msgid "Show related parts" msgstr "Verwandte Teile anzeigen" -#: common/models.py:1529 +#: common/models.py:1535 msgid "Display related parts for a part" msgstr "Verwandte Teile eines Teils anzeigen" -#: common/models.py:1534 +#: common/models.py:1540 msgid "Initial Stock Data" msgstr "Initialer Lagerbestand" -#: common/models.py:1535 +#: common/models.py:1541 msgid "Allow creation of initial stock when adding a new part" msgstr "Erstellen von Lagerbestand beim Hinzufügen eines neuen Teils erlauben" -#: common/models.py:1540 templates/js/translated/part.js:107 +#: common/models.py:1546 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "Initiale Lieferantendaten" -#: common/models.py:1542 +#: common/models.py:1548 msgid "Allow creation of initial supplier data when adding a new part" msgstr "Erstellen von Lieferantendaten beim Hinzufügen eines neuen Teils erlauben" -#: common/models.py:1548 +#: common/models.py:1554 msgid "Part Name Display Format" msgstr "Anzeigeformat für Teilenamen" -#: common/models.py:1549 +#: common/models.py:1555 msgid "Format to display the part name" msgstr "Format für den Namen eines Teiles" -#: common/models.py:1555 +#: common/models.py:1561 msgid "Part Category Default Icon" msgstr "Standardsymbol der Teilkategorie" -#: common/models.py:1556 +#: common/models.py:1562 msgid "Part category default icon (empty means no icon)" msgstr "Standardsymbol der Teilkategorie (leer bedeutet kein Symbol)" -#: common/models.py:1560 +#: common/models.py:1566 msgid "Enforce Parameter Units" msgstr "Parameter Einheiten durchsetzen" -#: common/models.py:1562 +#: common/models.py:1568 msgid "If units are provided, parameter values must match the specified units" msgstr "Wenn Einheiten angegeben werden, müssen die Parameterwerte mit den angegebenen Einheiten übereinstimmen" -#: common/models.py:1568 +#: common/models.py:1574 msgid "Minimum Pricing Decimal Places" msgstr "Dezimalstellen für minimalen Preis" -#: common/models.py:1570 +#: common/models.py:1576 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "Mindestanzahl der Dezimalstellen bei der Darstellung der Preisdaten" -#: common/models.py:1576 +#: common/models.py:1582 msgid "Maximum Pricing Decimal Places" msgstr "Dezimalstellen für maximalen Preis" -#: common/models.py:1578 +#: common/models.py:1584 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "Maximale Anzahl der Dezimalstellen bei der Darstellung der Preisdaten" -#: common/models.py:1584 +#: common/models.py:1590 msgid "Use Supplier Pricing" msgstr "Zulieferer-Preise verwenden" -#: common/models.py:1586 +#: common/models.py:1592 msgid "Include supplier price breaks in overall pricing calculations" msgstr "Lieferanten-Staffelpreise in die Gesamt-Preisberechnungen einbeziehen" -#: common/models.py:1592 +#: common/models.py:1598 msgid "Purchase History Override" msgstr "Kaufverlauf überschreiben" -#: common/models.py:1594 +#: common/models.py:1600 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "Historische Bestellungspreise überschreiben die Lieferanten-Staffelpreise" -#: common/models.py:1600 +#: common/models.py:1606 msgid "Use Stock Item Pricing" msgstr "Lagerartikel-Preis verwenden" -#: common/models.py:1602 +#: common/models.py:1608 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "Preise aus manuell eingegebenen Lagerdaten für Preisberechnungen verwenden" -#: common/models.py:1608 +#: common/models.py:1614 msgid "Stock Item Pricing Age" msgstr "Lagerartikelpreis Alter" -#: common/models.py:1610 +#: common/models.py:1616 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "Lagerartikel, die älter als diese Anzahl an Tagen sind, von der Preisberechnung ausschließen" -#: common/models.py:1617 +#: common/models.py:1623 msgid "Use Variant Pricing" msgstr "Variantenpreise verwenden" -#: common/models.py:1618 +#: common/models.py:1624 msgid "Include variant pricing in overall pricing calculations" msgstr "Variantenpreise in die Gesamt-Preisberechnungen einbeziehen" -#: common/models.py:1623 +#: common/models.py:1629 msgid "Active Variants Only" msgstr "Nur aktive Varianten" -#: common/models.py:1625 +#: common/models.py:1631 msgid "Only use active variant parts for calculating variant pricing" msgstr "Nur aktive Variantenteile zur Berechnung der Variantenbepreisung verwenden" -#: common/models.py:1631 +#: common/models.py:1637 msgid "Pricing Rebuild Interval" msgstr "Intervall für Neuberechnung von Preisen" -#: common/models.py:1633 +#: common/models.py:1639 msgid "Number of days before part pricing is automatically updated" msgstr "Anzahl der Tage bis die Teile-Preisberechnungen automatisch aktualisiert werden" -#: common/models.py:1640 +#: common/models.py:1646 msgid "Internal Prices" msgstr "Interne Preise" -#: common/models.py:1641 +#: common/models.py:1647 msgid "Enable internal prices for parts" msgstr "Interne Preise für Teile aktivieren" -#: common/models.py:1646 +#: common/models.py:1652 msgid "Internal Price Override" msgstr "Interne Preisüberschreibung" -#: common/models.py:1648 +#: common/models.py:1654 msgid "If available, internal prices override price range calculations" msgstr "Falls verfügbar, überschreiben interne Preise Preispannenberechnungen" -#: common/models.py:1654 +#: common/models.py:1660 msgid "Enable label printing" msgstr "Labeldruck aktivieren" -#: common/models.py:1655 +#: common/models.py:1661 msgid "Enable label printing from the web interface" msgstr "Labeldruck über die Website aktivieren" -#: common/models.py:1660 +#: common/models.py:1666 msgid "Label Image DPI" msgstr "Label Bild DPI" -#: common/models.py:1662 +#: common/models.py:1668 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "DPI-Auflösung bei der Erstellung von Bilddateien für Etikettendruck-Plugins" -#: common/models.py:1668 +#: common/models.py:1674 msgid "Enable Reports" msgstr "Berichte aktivieren" -#: common/models.py:1669 +#: common/models.py:1675 msgid "Enable generation of reports" msgstr "Berichterstellung aktivieren" -#: common/models.py:1674 templates/stats.html:25 +#: common/models.py:1680 templates/stats.html:25 msgid "Debug Mode" msgstr "Entwickler-Modus" -#: common/models.py:1675 +#: common/models.py:1681 msgid "Generate reports in debug mode (HTML output)" msgstr "Berichte im Entwickler-Modus generieren (als HTML)" -#: common/models.py:1680 +#: common/models.py:1686 msgid "Log Report Errors" msgstr "Berichtsfehler protokollieren" -#: common/models.py:1681 +#: common/models.py:1687 msgid "Log errors which occur when generating reports" msgstr "Fehler, die beim Erstellen von Berichten auftreten, protokollieren" -#: common/models.py:1686 plugin/builtin/labels/label_sheet.py:28 -#: report/models.py:203 +#: common/models.py:1692 plugin/builtin/labels/label_sheet.py:28 +#: report/models.py:302 msgid "Page Size" msgstr "Seitengröße" -#: common/models.py:1687 +#: common/models.py:1693 msgid "Default page size for PDF reports" msgstr "Standardseitenformat für PDF-Bericht" -#: common/models.py:1692 +#: common/models.py:1698 msgid "Enable Test Reports" msgstr "Testberichte aktivieren" -#: common/models.py:1693 +#: common/models.py:1699 msgid "Enable generation of test reports" msgstr "Erstellung von Test-Berichten aktivieren" -#: common/models.py:1698 +#: common/models.py:1704 msgid "Attach Test Reports" msgstr "Testberichte anhängen" -#: common/models.py:1700 +#: common/models.py:1706 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "Beim Drucken eines Testberichts dem zugehörigen Lagerbestand eine Kopie des Testberichts beifügen" -#: common/models.py:1706 +#: common/models.py:1712 msgid "Globally Unique Serials" msgstr "Global einzigartige Seriennummern" -#: common/models.py:1707 +#: common/models.py:1713 msgid "Serial numbers for stock items must be globally unique" msgstr "Seriennummern für Lagerartikel müssen global eindeutig sein" -#: common/models.py:1712 +#: common/models.py:1718 msgid "Autofill Serial Numbers" msgstr "Seriennummern automatisch ausfüllen" -#: common/models.py:1713 +#: common/models.py:1719 msgid "Autofill serial numbers in forms" msgstr "Seriennummern in Formularen automatisch ausfüllen" -#: common/models.py:1718 +#: common/models.py:1724 msgid "Delete Depleted Stock" msgstr "Erschöpften Lagerartikel löschen" -#: common/models.py:1720 -msgid "Determines default behavior when a stock item is depleted" -msgstr "" - #: common/models.py:1726 +msgid "Determines default behavior when a stock item is depleted" +msgstr "Legt das Standardverhalten fest, wenn ein Lagerartikel aufgebraucht ist" + +#: common/models.py:1732 msgid "Batch Code Template" msgstr "Losnummer Vorlage" -#: common/models.py:1728 +#: common/models.py:1734 msgid "Template for generating default batch codes for stock items" msgstr "Vorlage für die Generierung von Standard-Losnummern für Lagerbestände" -#: common/models.py:1733 +#: common/models.py:1739 msgid "Stock Expiry" msgstr "Bestands-Ablauf" -#: common/models.py:1734 +#: common/models.py:1740 msgid "Enable stock expiry functionality" msgstr "Ablaufen von Bestand ermöglichen" -#: common/models.py:1739 +#: common/models.py:1745 msgid "Sell Expired Stock" msgstr "Abgelaufenen Bestand verkaufen" -#: common/models.py:1740 +#: common/models.py:1746 msgid "Allow sale of expired stock" msgstr "Verkauf von abgelaufenem Bestand erlaubt" -#: common/models.py:1745 +#: common/models.py:1751 msgid "Stock Stale Time" msgstr "Bestands-Stehzeit" -#: common/models.py:1747 +#: common/models.py:1753 msgid "Number of days stock items are considered stale before expiring" msgstr "Anzahl an Tagen, an denen Bestand als abgestanden markiert wird, bevor sie ablaufen" -#: common/models.py:1754 +#: common/models.py:1760 msgid "Build Expired Stock" msgstr "Abgelaufenen Bestand verbauen" -#: common/models.py:1755 +#: common/models.py:1761 msgid "Allow building with expired stock" msgstr "Verbauen von abgelaufenen Bestand erlaubt" -#: common/models.py:1760 +#: common/models.py:1766 msgid "Stock Ownership Control" msgstr "Bestands-Eigentümerkontrolle" -#: common/models.py:1761 +#: common/models.py:1767 msgid "Enable ownership control over stock locations and items" msgstr "Eigentümerkontrolle für Lagerorte und Teile aktivieren" -#: common/models.py:1766 +#: common/models.py:1772 msgid "Stock Location Default Icon" msgstr "Standardsymbol für Lagerort" -#: common/models.py:1767 +#: common/models.py:1773 msgid "Stock location default icon (empty means no icon)" msgstr "Standardsymbol für Lagerstandort (leer bedeutet kein Symbol)" -#: common/models.py:1771 +#: common/models.py:1777 msgid "Show Installed Stock Items" msgstr "Zeige installierte Lagerartikel" -#: common/models.py:1772 +#: common/models.py:1778 msgid "Display installed stock items in stock tables" msgstr "Anzeige der installierten Lagerartikel in Bestandstabellen" -#: common/models.py:1777 +#: common/models.py:1783 msgid "Check BOM when installing items" msgstr "Prüfe BOM bei der Installation von Elementen" -#: common/models.py:1779 +#: common/models.py:1785 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "Installierte Lagerbestandteile müssen im BOM für den übergeordneten Teil vorhanden sein" -#: common/models.py:1785 +#: common/models.py:1791 msgid "Allow Out of Stock Transfer" -msgstr "" - -#: common/models.py:1787 -msgid "Allow stock items which are not in stock to be transferred between stock locations" -msgstr "" +msgstr "Erlaube Verschieben von \"nicht auf Lager\" Bestand" #: common/models.py:1793 +msgid "Allow stock items which are not in stock to be transferred between stock locations" +msgstr "Lagerartikel, die nicht auf Lager sind, können zwischen Lagerstandorten übertragen werden" + +#: common/models.py:1799 msgid "Build Order Reference Pattern" msgstr "Bauauftragsreferenz-Muster" -#: common/models.py:1795 +#: common/models.py:1801 msgid "Required pattern for generating Build Order reference field" msgstr "Benötigtes Muster für die Generierung des Referenzfeldes für Bauaufträge" -#: common/models.py:1801 common/models.py:1829 common/models.py:1851 -#: common/models.py:1879 +#: common/models.py:1807 common/models.py:1835 common/models.py:1857 +#: common/models.py:1885 msgid "Require Responsible Owner" -msgstr "" +msgstr "Verantwortlicher Besitzer erforderlich" -#: common/models.py:1802 common/models.py:1830 common/models.py:1852 -#: common/models.py:1880 +#: common/models.py:1808 common/models.py:1836 common/models.py:1858 +#: common/models.py:1886 msgid "A responsible owner must be assigned to each order" -msgstr "" +msgstr "Jeder Bestellung muss ein verantwortlicher Besitzer zugewiesen werden" -#: common/models.py:1807 +#: common/models.py:1813 msgid "Block Until Tests Pass" msgstr "Blockieren bis Test bestanden" -#: common/models.py:1809 +#: common/models.py:1815 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "Verhindert die Fertigstellung bis alle erforderlichen Tests bestanden sind" -#: common/models.py:1815 +#: common/models.py:1821 msgid "Enable Return Orders" msgstr "Rücksendungen aktivieren" -#: common/models.py:1816 +#: common/models.py:1822 msgid "Enable return order functionality in the user interface" msgstr "Aktivieren der Rücksendung-Funktion in der Benutzeroberfläche" -#: common/models.py:1821 +#: common/models.py:1827 msgid "Return Order Reference Pattern" msgstr "Referenz Muster für Rücksendungen" -#: common/models.py:1823 +#: common/models.py:1829 msgid "Required pattern for generating Return Order reference field" msgstr "Benötigtes Muster für die Generierung des Referenzfeldes für Rücksendungen" -#: common/models.py:1835 +#: common/models.py:1841 msgid "Edit Completed Return Orders" msgstr "Abgeschlossene Rücksendungen bearbeiten" -#: common/models.py:1837 +#: common/models.py:1843 msgid "Allow editing of return orders after they have been completed" msgstr "Bearbeitung von Rücksendungen nach Abschluss erlauben" -#: common/models.py:1843 +#: common/models.py:1849 msgid "Sales Order Reference Pattern" msgstr "Auftragsreferenz-Muster" -#: common/models.py:1845 +#: common/models.py:1851 msgid "Required pattern for generating Sales Order reference field" msgstr "Benötigtes Muster für die Generierung des Referenzfeldes für Aufträge" -#: common/models.py:1857 +#: common/models.py:1863 msgid "Sales Order Default Shipment" msgstr "Auftrag Standardsendung" -#: common/models.py:1858 +#: common/models.py:1864 msgid "Enable creation of default shipment with sales orders" msgstr "Erstelle eine Standardsendung für Aufträge" -#: common/models.py:1863 +#: common/models.py:1869 msgid "Edit Completed Sales Orders" msgstr "Abgeschlossene Aufträge bearbeiten" -#: common/models.py:1865 +#: common/models.py:1871 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "Bearbeitung von Aufträgen nach Versand oder Abschluss erlauben" -#: common/models.py:1871 +#: common/models.py:1877 msgid "Purchase Order Reference Pattern" msgstr "Bestellungsreferenz-Muster" -#: common/models.py:1873 +#: common/models.py:1879 msgid "Required pattern for generating Purchase Order reference field" msgstr "Benötigtes Muster für die Generierung des Referenzfeldes für Bestellungen" -#: common/models.py:1885 +#: common/models.py:1891 msgid "Edit Completed Purchase Orders" msgstr "Abgeschlossene Einkaufsaufträge bearbeiten" -#: common/models.py:1887 +#: common/models.py:1893 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "Bearbeitung von Einkaufsaufträgen nach Versand oder Abschluss erlauben" -#: common/models.py:1893 +#: common/models.py:1899 msgid "Auto Complete Purchase Orders" msgstr "Bestellungen automatisch abschließen" -#: common/models.py:1895 +#: common/models.py:1901 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "Bestellung automatisch als abgeschlossen markieren, wenn der Empfang aller Artikel bestätigt wurde" -#: common/models.py:1902 +#: common/models.py:1908 msgid "Enable password forgot" msgstr "Passwort vergessen aktivieren" -#: common/models.py:1903 +#: common/models.py:1909 msgid "Enable password forgot function on the login pages" msgstr "Passwort-vergessen-Funktion auf den Anmeldeseiten aktivieren" -#: common/models.py:1908 +#: common/models.py:1914 msgid "Enable registration" msgstr "Registrierung erlauben" -#: common/models.py:1909 +#: common/models.py:1915 msgid "Enable self-registration for users on the login pages" msgstr "Selbstregistrierung für Benutzer auf den Anmeldeseiten aktivieren" -#: common/models.py:1914 +#: common/models.py:1920 msgid "Enable SSO" msgstr "SSO aktivieren" -#: common/models.py:1915 +#: common/models.py:1921 msgid "Enable SSO on the login pages" msgstr "SSO auf den Anmeldeseiten aktivieren" -#: common/models.py:1920 +#: common/models.py:1926 msgid "Enable SSO registration" msgstr "SSO Selbstregistrierung aktivieren" -#: common/models.py:1922 +#: common/models.py:1928 msgid "Enable self-registration via SSO for users on the login pages" msgstr "Selbstregistrierung über SSO für Benutzer auf den Anmeldeseiten aktivieren" -#: common/models.py:1928 +#: common/models.py:1934 msgid "Email required" msgstr "Email-Adresse erforderlich" -#: common/models.py:1929 +#: common/models.py:1935 msgid "Require user to supply mail on signup" msgstr "Benutzer müssen bei der Registrierung eine E-Mail angeben" -#: common/models.py:1934 +#: common/models.py:1940 msgid "Auto-fill SSO users" msgstr "SSO-Benutzer automatisch ausfüllen" -#: common/models.py:1936 +#: common/models.py:1942 msgid "Automatically fill out user-details from SSO account-data" msgstr "Benutzer-Details automatisch aus SSO-Konto ausfüllen" -#: common/models.py:1942 +#: common/models.py:1948 msgid "Mail twice" msgstr "E-Mail zweimal" -#: common/models.py:1943 +#: common/models.py:1949 msgid "On signup ask users twice for their mail" msgstr "Bei der Registrierung den Benutzer zweimal nach der E-Mail-Adresse fragen" -#: common/models.py:1948 +#: common/models.py:1954 msgid "Password twice" msgstr "Passwort zweimal" -#: common/models.py:1949 +#: common/models.py:1955 msgid "On signup ask users twice for their password" msgstr "Bei der Registrierung den Benutzer zweimal nach dem Passwort fragen" -#: common/models.py:1954 +#: common/models.py:1960 msgid "Allowed domains" msgstr "Erlaubte Domains" -#: common/models.py:1956 +#: common/models.py:1962 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "Anmeldung auf bestimmte Domänen beschränken (kommagetrennt, beginnend mit @)" -#: common/models.py:1962 +#: common/models.py:1968 msgid "Group on signup" msgstr "Gruppe bei Registrierung" -#: common/models.py:1963 +#: common/models.py:1969 msgid "Group to which new users are assigned on registration" msgstr "Gruppe der neue Benutzer bei der Registrierung zugewiesen werden" -#: common/models.py:1968 +#: common/models.py:1974 msgid "Enforce MFA" msgstr "MFA erzwingen" -#: common/models.py:1969 +#: common/models.py:1975 msgid "Users must use multifactor security." msgstr "Benutzer müssen Multifaktor-Authentifizierung verwenden." -#: common/models.py:1974 +#: common/models.py:1980 msgid "Check plugins on startup" msgstr "Plugins beim Start prüfen" -#: common/models.py:1976 +#: common/models.py:1982 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "Beim Start überprüfen, ob alle Plugins installiert sind - Für Container aktivieren" -#: common/models.py:1984 +#: common/models.py:1990 msgid "Check for plugin updates" msgstr "Nach Plugin-Aktualisierungen suchen" -#: common/models.py:1985 +#: common/models.py:1991 msgid "Enable periodic checks for updates to installed plugins" msgstr "Periodische Überprüfungen auf Updates für installierte Plugins aktivieren" -#: common/models.py:1991 +#: common/models.py:1997 msgid "Enable URL integration" msgstr "URL-Integration aktivieren" -#: common/models.py:1992 +#: common/models.py:1998 msgid "Enable plugins to add URL routes" msgstr "Plugins zum Hinzufügen von URLs aktivieren" -#: common/models.py:1998 +#: common/models.py:2004 msgid "Enable navigation integration" msgstr "Navigations-Integration aktivieren" -#: common/models.py:1999 +#: common/models.py:2005 msgid "Enable plugins to integrate into navigation" msgstr "Plugins zur Integration in die Navigation aktivieren" -#: common/models.py:2005 +#: common/models.py:2011 msgid "Enable app integration" msgstr "App-Integration aktivieren" -#: common/models.py:2006 +#: common/models.py:2012 msgid "Enable plugins to add apps" msgstr "Plugins zum Hinzufügen von Apps aktivieren" -#: common/models.py:2012 +#: common/models.py:2018 msgid "Enable schedule integration" msgstr "Terminplan-Integration aktivieren" -#: common/models.py:2013 +#: common/models.py:2019 msgid "Enable plugins to run scheduled tasks" msgstr "Geplante Aufgaben aktivieren" -#: common/models.py:2019 +#: common/models.py:2025 msgid "Enable event integration" msgstr "Ereignis-Integration aktivieren" -#: common/models.py:2020 +#: common/models.py:2026 msgid "Enable plugins to respond to internal events" msgstr "Plugins ermöglichen auf interne Ereignisse zu reagieren" -#: common/models.py:2026 +#: common/models.py:2032 msgid "Enable project codes" msgstr "Projektcodes aktivieren" -#: common/models.py:2027 +#: common/models.py:2033 msgid "Enable project codes for tracking projects" msgstr "Aktiviere Projektcodes für die Verfolgung von Projekten" -#: common/models.py:2032 +#: common/models.py:2038 msgid "Stocktake Functionality" msgstr "Inventurfunktionen" -#: common/models.py:2034 +#: common/models.py:2040 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "Inventur-Funktionen zur Aufzeichnung von Lagerbeständen und zur Berechnung des Lagerwerts aktivieren" -#: common/models.py:2040 +#: common/models.py:2046 msgid "Exclude External Locations" msgstr "Externe Standorte ausschließen" -#: common/models.py:2042 +#: common/models.py:2048 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "Lagerartikeln in externen Standorten in der Berechnungen zur Bestandsaufnahme ausschließen" -#: common/models.py:2048 +#: common/models.py:2054 msgid "Automatic Stocktake Period" msgstr "Automatische Inventur-Periode" -#: common/models.py:2050 +#: common/models.py:2056 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "Anzahl der Tage zwischen automatischen Bestandsaufnahmen (zum Deaktivieren auf Null setzen)" -#: common/models.py:2056 +#: common/models.py:2062 msgid "Report Deletion Interval" msgstr "Löschintervall für Berichte" -#: common/models.py:2058 +#: common/models.py:2064 msgid "Stocktake reports will be deleted after specified number of days" msgstr "Inventurberichte werden nach der angegebenen Anzahl von Tagen gelöscht" -#: common/models.py:2065 +#: common/models.py:2071 msgid "Display Users full names" msgstr "Vollständige Namen von Benutzern anzeigen" -#: common/models.py:2066 +#: common/models.py:2072 msgid "Display Users full names instead of usernames" msgstr "Vollständigen Namen von Benutzern anstatt Benutzername anzeigen" -#: common/models.py:2071 +#: common/models.py:2077 msgid "Enable Test Station Data" msgstr "Teststation-Daten aktivieren" -#: common/models.py:2072 +#: common/models.py:2078 msgid "Enable test station data collection for test results" msgstr "Teststation-Datenerfassung für Testergebnisse aktivieren" -#: common/models.py:2084 common/models.py:2494 +#: common/models.py:2090 common/models.py:2500 msgid "Settings key (must be unique - case insensitive" msgstr "Einstellungs-Schlüssel (muss einzigartig sein, Groß-/ Kleinschreibung wird nicht beachtet)" -#: common/models.py:2127 +#: common/models.py:2133 msgid "Hide inactive parts" msgstr "Inaktive Teile ausblenden" -#: common/models.py:2129 +#: common/models.py:2135 msgid "Hide inactive parts in results displayed on the homepage" msgstr "Ausblenden inaktiver Teile in den auf der Startseite angezeigten Ergebnissen" -#: common/models.py:2135 +#: common/models.py:2141 msgid "Show subscribed parts" msgstr "Abonnierte Teile anzeigen" -#: common/models.py:2136 +#: common/models.py:2142 msgid "Show subscribed parts on the homepage" msgstr "Zeige abonnierte Teile auf der Startseite" -#: common/models.py:2141 +#: common/models.py:2147 msgid "Show subscribed categories" msgstr "Abonnierte Kategorien anzeigen" -#: common/models.py:2142 +#: common/models.py:2148 msgid "Show subscribed part categories on the homepage" msgstr "Zeige abonnierte Teilkategorien auf der Startseite" -#: common/models.py:2147 +#: common/models.py:2153 msgid "Show latest parts" msgstr "Neueste Teile anzeigen" -#: common/models.py:2148 +#: common/models.py:2154 msgid "Show latest parts on the homepage" msgstr "Zeige neueste Teile auf der Startseite" -#: common/models.py:2153 +#: common/models.py:2159 msgid "Show invalid BOMs" -msgstr "" +msgstr "Zeige ungültige Stücklisten" -#: common/models.py:2154 +#: common/models.py:2160 msgid "Show BOMs that await validation on the homepage" msgstr "Zeige Stücklisten, die noch nicht validiert sind, auf der Startseite" -#: common/models.py:2159 +#: common/models.py:2165 msgid "Show recent stock changes" msgstr "Neueste Bestandänderungen anzeigen" -#: common/models.py:2160 +#: common/models.py:2166 msgid "Show recently changed stock items on the homepage" msgstr "Zeige zuletzt geänderte Lagerbestände auf der Startseite" -#: common/models.py:2165 +#: common/models.py:2171 msgid "Show low stock" msgstr "Niedrigen Bestand anzeigen" -#: common/models.py:2166 +#: common/models.py:2172 msgid "Show low stock items on the homepage" msgstr "Zeige geringen Bestand auf der Startseite" -#: common/models.py:2171 +#: common/models.py:2177 msgid "Show depleted stock" msgstr "Lerren Bestand anzeigen" -#: common/models.py:2172 +#: common/models.py:2178 msgid "Show depleted stock items on the homepage" msgstr "Zeige aufgebrauchte Lagerartikel auf der Startseite" -#: common/models.py:2177 +#: common/models.py:2183 msgid "Show needed stock" msgstr "Benötigten Bestand anzeigen" -#: common/models.py:2178 +#: common/models.py:2184 msgid "Show stock items needed for builds on the homepage" msgstr "Zeige Bestand für Bauaufträge auf der Startseite" -#: common/models.py:2183 +#: common/models.py:2189 msgid "Show expired stock" msgstr "Abgelaufenen Bestand anzeigen" -#: common/models.py:2184 +#: common/models.py:2190 msgid "Show expired stock items on the homepage" msgstr "Zeige abgelaufene Lagerbestände auf der Startseite" -#: common/models.py:2189 +#: common/models.py:2195 msgid "Show stale stock" msgstr "Alten Bestand anzeigen" -#: common/models.py:2190 +#: common/models.py:2196 msgid "Show stale stock items on the homepage" msgstr "Zeige überfällige Lagerartikel auf der Startseite" -#: common/models.py:2195 +#: common/models.py:2201 msgid "Show pending builds" msgstr "Ausstehende Bauaufträge anzeigen" -#: common/models.py:2196 +#: common/models.py:2202 msgid "Show pending builds on the homepage" msgstr "Zeige ausstehende Bauaufträge auf der Startseite" -#: common/models.py:2201 +#: common/models.py:2207 msgid "Show overdue builds" msgstr "Zeige überfällige Bauaufträge" -#: common/models.py:2202 +#: common/models.py:2208 msgid "Show overdue builds on the homepage" msgstr "Zeige überfällige Bauaufträge auf der Startseite" -#: common/models.py:2207 +#: common/models.py:2213 msgid "Show outstanding POs" msgstr "Ausstehende POs anzeigen" -#: common/models.py:2208 +#: common/models.py:2214 msgid "Show outstanding POs on the homepage" msgstr "Zeige ausstehende POs auf der Startseite" -#: common/models.py:2213 +#: common/models.py:2219 msgid "Show overdue POs" msgstr "Überfällige POs anzeigen" -#: common/models.py:2214 +#: common/models.py:2220 msgid "Show overdue POs on the homepage" msgstr "Zeige überfällige POs auf der Startseite" -#: common/models.py:2219 +#: common/models.py:2225 msgid "Show outstanding SOs" msgstr "Ausstehende SOs anzeigen" -#: common/models.py:2220 +#: common/models.py:2226 msgid "Show outstanding SOs on the homepage" msgstr "Zeige ausstehende SOs auf der Startseite" -#: common/models.py:2225 +#: common/models.py:2231 msgid "Show overdue SOs" msgstr "Überfällige SOs anzeigen" -#: common/models.py:2226 +#: common/models.py:2232 msgid "Show overdue SOs on the homepage" msgstr "Zeige überfällige SOs auf der Startseite" -#: common/models.py:2231 +#: common/models.py:2237 msgid "Show pending SO shipments" msgstr "Ausstehende Versandaufträge anzeigen" -#: common/models.py:2232 +#: common/models.py:2238 msgid "Show pending SO shipments on the homepage" msgstr "Ausstehende Versandaufträge auf der Startseite anzeigen" -#: common/models.py:2237 +#: common/models.py:2243 msgid "Show News" msgstr "Zeige Neuigkeiten" -#: common/models.py:2238 +#: common/models.py:2244 msgid "Show news on the homepage" msgstr "Neuigkeiten auf der Startseite anzeigen" -#: common/models.py:2243 +#: common/models.py:2249 msgid "Inline label display" msgstr "Label inline anzeigen" -#: common/models.py:2245 +#: common/models.py:2251 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "PDF-Labels im Browser anzeigen, anstatt als Datei herunterzuladen" -#: common/models.py:2251 +#: common/models.py:2257 msgid "Default label printer" msgstr "Standard-Etikettendrucker" -#: common/models.py:2253 +#: common/models.py:2259 msgid "Configure which label printer should be selected by default" msgstr "Einen standardmäßig ausgewählten Etikettendrucker konfigurieren" -#: common/models.py:2259 +#: common/models.py:2265 msgid "Inline report display" msgstr "Berichte inline anzeigen" -#: common/models.py:2261 +#: common/models.py:2267 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "PDF-Berichte im Browser anzeigen, anstatt als Datei herunterzuladen" -#: common/models.py:2267 +#: common/models.py:2273 msgid "Search Parts" msgstr "Teile suchen" -#: common/models.py:2268 +#: common/models.py:2274 msgid "Display parts in search preview window" msgstr "Teile in der Suchvorschau anzeigen" -#: common/models.py:2273 +#: common/models.py:2279 msgid "Search Supplier Parts" msgstr "Zulieferteile durchsuchen" -#: common/models.py:2274 +#: common/models.py:2280 msgid "Display supplier parts in search preview window" msgstr "Zuliefererteile in der Suchvorschau anzeigen" -#: common/models.py:2279 +#: common/models.py:2285 msgid "Search Manufacturer Parts" msgstr "Herstellerteile durchsuchen" -#: common/models.py:2280 +#: common/models.py:2286 msgid "Display manufacturer parts in search preview window" msgstr "Herstellerteile in der Suchvorschau anzeigen" -#: common/models.py:2285 +#: common/models.py:2291 msgid "Hide Inactive Parts" msgstr "Inaktive Teile ausblenden" -#: common/models.py:2286 +#: common/models.py:2292 msgid "Excluded inactive parts from search preview window" msgstr "Inaktive Teile in der Suchvorschau ausblenden" -#: common/models.py:2291 +#: common/models.py:2297 msgid "Search Categories" msgstr "Kategorien durchsuchen" -#: common/models.py:2292 +#: common/models.py:2298 msgid "Display part categories in search preview window" msgstr "Teilekategorien in der Suchvorschau anzeigen" -#: common/models.py:2297 +#: common/models.py:2303 msgid "Search Stock" msgstr "Bestand durchsuchen" -#: common/models.py:2298 +#: common/models.py:2304 msgid "Display stock items in search preview window" msgstr "Lagerartikel in Suchvorschau anzeigen" -#: common/models.py:2303 +#: common/models.py:2309 msgid "Hide Unavailable Stock Items" msgstr "Nicht verfügbare Artikel ausblenden" -#: common/models.py:2305 +#: common/models.py:2311 msgid "Exclude stock items which are not available from the search preview window" msgstr "Nicht verfügbare Lagerartikel aus der Suchvorschau ausschließen" -#: common/models.py:2311 +#: common/models.py:2317 msgid "Search Locations" msgstr "Lagerorte durchsuchen" -#: common/models.py:2312 +#: common/models.py:2318 msgid "Display stock locations in search preview window" msgstr "Lagerorte in Suchvorschau anzeigen" -#: common/models.py:2317 +#: common/models.py:2323 msgid "Search Companies" msgstr "Firmen durchsuchen" -#: common/models.py:2318 +#: common/models.py:2324 msgid "Display companies in search preview window" msgstr "Firmen in der Suchvorschau anzeigen" -#: common/models.py:2323 +#: common/models.py:2329 msgid "Search Build Orders" msgstr "Bauaufträge durchsuchen" -#: common/models.py:2324 +#: common/models.py:2330 msgid "Display build orders in search preview window" msgstr "Bauaufträge in der Suchvorschau anzeigen" -#: common/models.py:2329 +#: common/models.py:2335 msgid "Search Purchase Orders" msgstr "Bestellungen durchsuchen" -#: common/models.py:2330 +#: common/models.py:2336 msgid "Display purchase orders in search preview window" msgstr "Bestellungen in der Suchvorschau anzeigen" -#: common/models.py:2335 +#: common/models.py:2341 msgid "Exclude Inactive Purchase Orders" msgstr "Inaktive Bestellungen ausblenden" -#: common/models.py:2337 +#: common/models.py:2343 msgid "Exclude inactive purchase orders from search preview window" msgstr "Inaktive Bestellungen in der Suchvorschau ausblenden" -#: common/models.py:2343 +#: common/models.py:2349 msgid "Search Sales Orders" msgstr "Aufträge durchsuchen" -#: common/models.py:2344 +#: common/models.py:2350 msgid "Display sales orders in search preview window" msgstr "Aufträge in der Suchvorschau anzeigen" -#: common/models.py:2349 +#: common/models.py:2355 msgid "Exclude Inactive Sales Orders" msgstr "Inaktive Aufträge ausblenden" -#: common/models.py:2351 +#: common/models.py:2357 msgid "Exclude inactive sales orders from search preview window" msgstr "Inaktive Aufträge in der Suchvorschau ausblenden" -#: common/models.py:2357 +#: common/models.py:2363 msgid "Search Return Orders" msgstr "Suche nach Rücksendungen" -#: common/models.py:2358 +#: common/models.py:2364 msgid "Display return orders in search preview window" msgstr "Rücksendungen in der Suchvorschau anzeigen" -#: common/models.py:2363 +#: common/models.py:2369 msgid "Exclude Inactive Return Orders" msgstr "Inaktive Rücksendungen ausblenden" -#: common/models.py:2365 +#: common/models.py:2371 msgid "Exclude inactive return orders from search preview window" msgstr "Inaktive Rücksendungen in der Suchvorschau ausblenden" -#: common/models.py:2371 +#: common/models.py:2377 msgid "Search Preview Results" msgstr "Anzahl Suchergebnisse" -#: common/models.py:2373 +#: common/models.py:2379 msgid "Number of results to show in each section of the search preview window" msgstr "Anzahl der Ergebnisse, die in der Vorschau pro Sektion angezeigt werden sollen" -#: common/models.py:2379 +#: common/models.py:2385 msgid "Regex Search" msgstr "Regex Suche" -#: common/models.py:2380 +#: common/models.py:2386 msgid "Enable regular expressions in search queries" msgstr "Reguläre Ausdrücke in Suchabfragen aktivieren" -#: common/models.py:2385 +#: common/models.py:2391 msgid "Whole Word Search" msgstr "Ganzes Wort suchen" -#: common/models.py:2386 +#: common/models.py:2392 msgid "Search queries return results for whole word matches" msgstr "Suchabfragen liefern Ergebnisse für ganze Wortkombinationen" -#: common/models.py:2391 +#: common/models.py:2397 msgid "Show Quantity in Forms" msgstr "zeige Bestand in Eingabemasken" -#: common/models.py:2392 +#: common/models.py:2398 msgid "Display available part quantity in some forms" msgstr "Zeige den verfügbaren Bestand in einigen Eingabemasken" -#: common/models.py:2397 +#: common/models.py:2403 msgid "Escape Key Closes Forms" msgstr "Esc-Taste schließt Formulare" -#: common/models.py:2398 +#: common/models.py:2404 msgid "Use the escape key to close modal forms" msgstr "Benutze die Esc-Taste, um Formulare zu schließen" -#: common/models.py:2403 +#: common/models.py:2409 msgid "Fixed Navbar" msgstr "Fixierter Navigationsleiste" -#: common/models.py:2404 +#: common/models.py:2410 msgid "The navbar position is fixed to the top of the screen" msgstr "Position der Navigationsleiste am oberen Bildschirmrand fixieren" -#: common/models.py:2409 +#: common/models.py:2415 msgid "Date Format" msgstr "Datumsformat" -#: common/models.py:2410 +#: common/models.py:2416 msgid "Preferred format for displaying dates" msgstr "Bevorzugtes Format für die Anzeige von Daten" -#: common/models.py:2423 part/templates/part/detail.html:41 +#: common/models.py:2429 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Teilzeitplanung" -#: common/models.py:2424 +#: common/models.py:2430 msgid "Display part scheduling information" msgstr "Zeige Zeitplanung für Teile" -#: common/models.py:2429 part/templates/part/detail.html:62 +#: common/models.py:2435 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Inventur" -#: common/models.py:2431 +#: common/models.py:2437 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "Zeigt Inventur-Informationen an (falls die Inventurfunktion aktiviert ist)" -#: common/models.py:2437 +#: common/models.py:2443 msgid "Table String Length" msgstr "Zeichenkettenlänge in Tabellen" -#: common/models.py:2439 +#: common/models.py:2445 msgid "Maximum length limit for strings displayed in table views" msgstr "Maximale Länge für Zeichenketten, die in Tabellenansichten angezeigt werden" -#: common/models.py:2445 +#: common/models.py:2451 msgid "Default part label template" msgstr "Standardvorlage für Teilebeschriftung" -#: common/models.py:2446 +#: common/models.py:2452 msgid "The part label template to be automatically selected" msgstr "Die Teil-Etikettenvorlage, die automatisch ausgewählt werden soll" -#: common/models.py:2451 +#: common/models.py:2457 msgid "Default stock item template" msgstr "Lagerartikel-Standardvorlage" -#: common/models.py:2453 +#: common/models.py:2459 msgid "The stock item label template to be automatically selected" msgstr "Die Lagerartikel-Etikettenvorlage soll automatisch ausgewählt werden" -#: common/models.py:2459 +#: common/models.py:2465 msgid "Default stock location label template" msgstr "Standardetikettenvorlage für Lagerstandort" -#: common/models.py:2461 +#: common/models.py:2467 msgid "The stock location label template to be automatically selected" msgstr "Die Lagerstandort-Etikettenvorlage, die automatisch ausgewählt werden soll" -#: common/models.py:2467 +#: common/models.py:2473 msgid "Default build line label template" -msgstr "" - -#: common/models.py:2469 -msgid "The build line label template to be automatically selected" -msgstr "" +msgstr "Standardetikettenvorlage für Bauauftragspositionen" #: common/models.py:2475 +msgid "The build line label template to be automatically selected" +msgstr "Die Bauauftragspositionsetikettenvorlage welche automatisch ausgewählt werden soll" + +#: common/models.py:2481 msgid "Receive error reports" msgstr "Fehlerberichte empfangen" -#: common/models.py:2476 +#: common/models.py:2482 msgid "Receive notifications for system errors" msgstr "Benachrichtigungen bei Systemfehlern erhalten" -#: common/models.py:2481 +#: common/models.py:2487 msgid "Last used printing machines" msgstr "Zuletzt verwendete Druckmaschinen" -#: common/models.py:2482 +#: common/models.py:2488 msgid "Save the last used printing machines for a user" msgstr "Die zuletzt benutzten Druckmaschinen für einen Benutzer speichern" -#: common/models.py:2525 +#: common/models.py:2531 msgid "Price break quantity" msgstr "Preisstaffelungs Anzahl" -#: common/models.py:2532 company/serializers.py:496 order/admin.py:42 -#: order/models.py:1333 order/models.py:2243 +#: common/models.py:2538 company/serializers.py:496 order/admin.py:42 +#: order/models.py:1373 order/models.py:2292 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 -#: templates/js/translated/return_order.js:741 +#: templates/js/translated/return_order.js:740 msgid "Price" msgstr "Preis" -#: common/models.py:2533 +#: common/models.py:2539 msgid "Unit price at specified quantity" msgstr "Stückpreis für die angegebene Anzahl" -#: common/models.py:2704 common/models.py:2889 +#: common/models.py:2710 common/models.py:2895 msgid "Endpoint" msgstr "Endpunkt" -#: common/models.py:2705 +#: common/models.py:2711 msgid "Endpoint at which this webhook is received" msgstr "Endpunkt, an dem dieser Webhook empfangen wird" -#: common/models.py:2715 +#: common/models.py:2721 msgid "Name for this webhook" msgstr "Name für diesen Webhook" -#: common/models.py:2719 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1045 -#: plugin/models.py:56 templates/js/translated/company.js:523 +#: common/models.py:2725 company/models.py:160 company/models.py:814 +#: machine/models.py:39 part/admin.py:88 part/models.py:1088 +#: plugin/models.py:65 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:492 @@ -3614,135 +3628,135 @@ msgstr "Name für diesen Webhook" msgid "Active" msgstr "Aktiv" -#: common/models.py:2719 +#: common/models.py:2725 msgid "Is this webhook active" msgstr "Ist dieser Webhook aktiv" -#: common/models.py:2735 users/models.py:159 +#: common/models.py:2741 users/models.py:159 msgid "Token" -msgstr "" +msgstr "Token" -#: common/models.py:2736 +#: common/models.py:2742 msgid "Token for access" msgstr "Token für Zugang" -#: common/models.py:2744 +#: common/models.py:2750 msgid "Secret" msgstr "Geheimnis" -#: common/models.py:2745 +#: common/models.py:2751 msgid "Shared secret for HMAC" msgstr "Shared Secret für HMAC" -#: common/models.py:2853 +#: common/models.py:2859 msgid "Message ID" msgstr "Nachrichten-ID" -#: common/models.py:2854 +#: common/models.py:2860 msgid "Unique identifier for this message" msgstr "Eindeutige Kennung für diese Nachricht" -#: common/models.py:2862 +#: common/models.py:2868 msgid "Host" -msgstr "" +msgstr "Host" -#: common/models.py:2863 +#: common/models.py:2869 msgid "Host from which this message was received" msgstr "Host von dem diese Nachricht empfangen wurde" -#: common/models.py:2871 +#: common/models.py:2877 msgid "Header" msgstr "Kopfzeile" -#: common/models.py:2872 +#: common/models.py:2878 msgid "Header of this message" msgstr "Header dieser Nachricht" -#: common/models.py:2879 +#: common/models.py:2885 msgid "Body" -msgstr "" +msgstr "Body" -#: common/models.py:2880 +#: common/models.py:2886 msgid "Body of this message" msgstr "Body dieser Nachricht" -#: common/models.py:2890 +#: common/models.py:2896 msgid "Endpoint on which this message was received" msgstr "Endpunkt, über den diese Nachricht empfangen wurde" -#: common/models.py:2895 +#: common/models.py:2901 msgid "Worked on" msgstr "Bearbeitet" -#: common/models.py:2896 +#: common/models.py:2902 msgid "Was the work on this message finished?" msgstr "Wurde die Arbeit an dieser Nachricht abgeschlossen?" -#: common/models.py:3022 +#: common/models.py:3028 msgid "Id" msgstr "ID" -#: common/models.py:3024 templates/js/translated/company.js:965 +#: common/models.py:3030 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "Titel" -#: common/models.py:3028 templates/js/translated/news.js:60 +#: common/models.py:3034 templates/js/translated/news.js:60 msgid "Published" msgstr "Veröffentlicht" -#: common/models.py:3030 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3036 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "Autor" -#: common/models.py:3032 templates/js/translated/news.js:52 +#: common/models.py:3038 templates/js/translated/news.js:52 msgid "Summary" msgstr "Zusammenfassung" -#: common/models.py:3035 +#: common/models.py:3041 msgid "Read" msgstr "Gelesen" -#: common/models.py:3035 +#: common/models.py:3041 msgid "Was this news item read?" msgstr "Wurde diese Nachricht gelesen?" -#: common/models.py:3052 company/models.py:156 part/models.py:929 +#: common/models.py:3058 company/models.py:156 part/models.py:972 #: 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 +#: report/templates/report/inventree_return_order_report.html:35 #: stock/templates/stock/item_base.html:133 templates/503.html:31 #: templates/hover_image.html:7 templates/hover_image.html:9 #: templates/modals.html:6 msgid "Image" msgstr "Bild" -#: common/models.py:3052 +#: common/models.py:3058 msgid "Image file" msgstr "Bilddatei" -#: common/models.py:3094 +#: common/models.py:3100 msgid "Unit name must be a valid identifier" msgstr "Einheitsname muss eine gültige Kennung sein" -#: common/models.py:3113 +#: common/models.py:3119 msgid "Unit name" msgstr "Einheitsname" -#: common/models.py:3120 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3126 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" -msgstr "" +msgstr "Symbol" -#: common/models.py:3121 +#: common/models.py:3127 msgid "Optional unit symbol" msgstr "Optionales Einheitssymbol" -#: common/models.py:3128 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3134 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" -msgstr "" +msgstr "Definition" -#: common/models.py:3129 +#: common/models.py:3135 msgid "Unit definition" msgstr "Einheitsdefinition" @@ -3880,23 +3894,23 @@ msgstr "Vorheriger Schritt" #: company/api.py:164 msgid "Part is Active" -msgstr "" +msgstr "Teil ist aktiv" #: company/api.py:168 msgid "Manufacturer is Active" -msgstr "" +msgstr "Hersteller ist aktiv" #: company/api.py:317 msgid "Supplier Part is Active" -msgstr "" +msgstr "Lieferantenteil ist aktiv" #: company/api.py:321 msgid "Internal Part is Active" -msgstr "" +msgstr "Internes Teil ist aktiv" #: company/api.py:325 msgid "Supplier is Active" -msgstr "" +msgstr "Lieferant ist aktiv" #: company/models.py:114 msgid "Company description" @@ -3910,7 +3924,7 @@ msgstr "Firmenbeschreibung" #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:532 msgid "Website" -msgstr "" +msgstr "Webseite" #: company/models.py:120 msgid "Company website URL" @@ -3929,9 +3943,9 @@ msgid "Contact email address" msgstr "Kontakt-Email" #: company/models.py:139 company/templates/company/company_base.html:145 -#: order/models.py:331 order/templates/order/order_base.html:203 +#: order/models.py:344 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 -#: order/templates/order/sales_order_base.html:214 +#: order/templates/order/sales_order_base.html:218 msgid "Contact" msgstr "Kontakt" @@ -3945,7 +3959,7 @@ msgstr "Link auf externe Firmeninformation" #: company/models.py:160 msgid "Is this company active?" -msgstr "" +msgstr "Ist dieses Unternehmen aktiv?" #: company/models.py:165 msgid "is customer" @@ -3977,7 +3991,7 @@ msgstr "Standard-Währung für diese Firma" #: company/models.py:273 company/models.py:382 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:776 +#: company/templates/company/company_base.html:12 stock/api.py:810 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "Firma" @@ -4069,8 +4083,8 @@ msgstr "Versandnotizen für interne Verwendung" msgid "Link to address information (external)" msgstr "Link zu Adressinformationen (extern)" -#: company/models.py:489 company/models.py:792 stock/models.py:751 -#: stock/serializers.py:266 stock/templates/stock/item_base.html:142 +#: company/models.py:489 company/models.py:792 stock/models.py:772 +#: stock/serializers.py:395 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "Basisteil" @@ -4081,7 +4095,7 @@ msgstr "Teil auswählen" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:515 +#: company/templates/company/supplier_part.html:145 part/serializers.py:530 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4096,15 +4110,15 @@ msgid "Select manufacturer" msgstr "Hersteller auswählen" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:525 +#: company/templates/company/supplier_part.html:153 part/serializers.py:540 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800 -#: templates/js/translated/purchase_order.js:1852 -#: templates/js/translated/purchase_order.js:2054 +#: templates/js/translated/purchase_order.js:1851 +#: templates/js/translated/purchase_order.js:2053 msgid "MPN" -msgstr "" +msgstr "MPN" #: company/models.py:508 msgid "Manufacturer Part Number" @@ -4129,9 +4143,8 @@ msgstr "Herstellerteil" msgid "Parameter name" msgstr "Parametername" -#: company/models.py:621 -#: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2448 templates/js/translated/company.js:1166 +#: company/models.py:621 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2425 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492 #: templates/js/translated/stock.js:1522 msgid "Value" @@ -4142,10 +4155,10 @@ msgid "Parameter value" msgstr "Parameterwert" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1009 part/models.py:3623 +#: part/admin.py:57 part/models.py:1052 part/models.py:3666 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 -#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370 +#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 msgid "Units" msgstr "Einheiten" @@ -4166,9 +4179,9 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "Verlinktes Herstellerteil muss dasselbe Basisteil referenzieren" #: company/models.py:802 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:465 +#: company/templates/company/supplier_part.html:129 order/models.py:487 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:499 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:514 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4176,7 +4189,7 @@ msgstr "Verlinktes Herstellerteil muss dasselbe Basisteil referenzieren" #: templates/js/translated/company.js:511 #: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1690 +#: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/table_filters.js:804 msgid "Supplier" msgstr "Zulieferer" @@ -4185,13 +4198,13 @@ msgstr "Zulieferer" msgid "Select supplier" msgstr "Zulieferer auswählen" -#: company/models.py:809 part/serializers.py:510 +#: company/models.py:809 part/serializers.py:525 msgid "Supplier stock keeping unit" msgstr "Lagerbestandseinheit (SKU) des Zulieferers" #: company/models.py:815 msgid "Is this supplier part active?" -msgstr "" +msgstr "Ist dieser Lieferantenteil aktiv?" #: company/models.py:825 msgid "Select manufacturer part" @@ -4206,29 +4219,29 @@ msgid "Supplier part description" msgstr "Zuliefererbeschreibung des Teils" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:418 part/models.py:4070 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4113 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 -#: report/templates/report/inventree_slr_report.html:105 -#: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:579 +#: report/templates/report/inventree_purchase_order_report.html:32 +#: report/templates/report/inventree_return_order_report.html:27 +#: report/templates/report/inventree_sales_order_report.html:32 +#: report/templates/report/inventree_stock_location_report.html:105 +#: stock/serializers.py:708 msgid "Note" msgstr "Notiz" -#: company/models.py:857 part/models.py:1967 +#: company/models.py:857 part/models.py:2010 msgid "base cost" msgstr "Basiskosten" -#: company/models.py:858 part/models.py:1968 +#: company/models.py:858 part/models.py:2011 msgid "Minimum charge (e.g. stocking fee)" msgstr "Mindestpreis" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:782 stock/serializers.py:1350 +#: stock/admin.py:224 stock/models.py:803 stock/serializers.py:1479 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 -#: templates/js/translated/stock.js:2426 +#: templates/js/translated/stock.js:2424 msgid "Packaging" msgstr "Verpackungen" @@ -4241,8 +4254,8 @@ msgstr "Teile-Verpackungen" #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 -#: templates/js/translated/purchase_order.js:2085 -#: templates/js/translated/purchase_order.js:2102 +#: templates/js/translated/purchase_order.js:2084 +#: templates/js/translated/purchase_order.js:2101 msgid "Pack Quantity" msgstr "Packmenge" @@ -4250,7 +4263,7 @@ msgstr "Packmenge" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "Gesamtmenge, die in einer einzelnen Packung geliefert wird. Für Einzelstücke leer lassen." -#: company/models.py:892 part/models.py:1974 +#: company/models.py:892 part/models.py:2017 msgid "multiple" msgstr "Vielfache" @@ -4285,7 +4298,7 @@ msgstr "Auf Lager" #: part/templates/part/part_base.html:146 #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 -#: templates/js/translated/model_renderers.js:306 +#: templates/js/translated/model_renderers.js:312 #: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 msgid "Inactive" msgstr "Inaktiv" @@ -4321,11 +4334,11 @@ msgstr "Firma löschen" #: company/templates/company/manufacturer_part.html:51 #: company/templates/company/supplier_part.html:83 #: part/templates/part/part_thumb.html:20 -#: report/templates/report/inventree_build_order_base.html:98 -#: report/templates/report/inventree_po_report_base.html:40 -#: report/templates/report/inventree_so_report_base.html:40 -#: report/templates/report/inventree_test_report_base.html:84 -#: report/templates/report/inventree_test_report_base.html:163 +#: report/templates/report/inventree_build_order_report.html:98 +#: report/templates/report/inventree_purchase_order_report.html:40 +#: report/templates/report/inventree_sales_order_report.html:40 +#: report/templates/report/inventree_test_report.html:84 +#: report/templates/report/inventree_test_report.html:163 msgid "Part image" msgstr "Artikelbild" @@ -4344,16 +4357,16 @@ msgstr "Bild von URL herunterladen" msgid "Delete image" msgstr "Bild löschen" -#: company/templates/company/company_base.html:92 order/models.py:910 -#: order/models.py:2010 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:144 stock/models.py:804 -#: stock/models.py:805 stock/serializers.py:1100 +#: company/templates/company/company_base.html:92 order/models.py:941 +#: order/models.py:2059 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:148 stock/models.py:825 +#: stock/models.py:826 stock/serializers.py:1229 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 -#: templates/js/translated/return_order.js:296 -#: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2962 +#: templates/js/translated/return_order.js:295 +#: templates/js/translated/sales_order.js:820 +#: templates/js/translated/stock.js:2959 #: templates/js/translated/table_filters.js:808 msgid "Customer" msgstr "Kunde" @@ -4362,10 +4375,10 @@ msgstr "Kunde" msgid "Uses default currency" msgstr "verwendet Standard-Währung" -#: company/templates/company/company_base.html:124 order/models.py:341 +#: company/templates/company/company_base.html:124 order/models.py:354 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 -#: order/templates/order/sales_order_base.html:221 +#: order/templates/order/sales_order_base.html:225 msgid "Address" msgstr "Adresse" @@ -4374,7 +4387,7 @@ msgid "Phone" msgstr "Telefon" #: company/templates/company/company_base.html:211 -#: part/templates/part/part_base.html:528 +#: part/templates/part/part_base.html:527 msgid "Remove Image" msgstr "Bild entfernen" @@ -4383,19 +4396,19 @@ msgid "Remove associated image from this company" msgstr "Verknüpftes Bild von dieser Firma entfernen" #: company/templates/company/company_base.html:214 -#: part/templates/part/part_base.html:531 +#: part/templates/part/part_base.html:530 #: templates/InvenTree/settings/user.html:88 #: templates/InvenTree/settings/user_sso.html:43 msgid "Remove" msgstr "Entfernen" #: company/templates/company/company_base.html:243 -#: part/templates/part/part_base.html:560 +#: part/templates/part/part_base.html:559 msgid "Upload Image" msgstr "Bild hochladen" #: company/templates/company/company_base.html:258 -#: part/templates/part/part_base.html:614 +#: part/templates/part/part_base.html:613 msgid "Download Image" msgstr "Bild herunterladen" @@ -4558,7 +4571,7 @@ msgstr "Keine Herstellerdaten verfügbar" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:821 +#: part/admin.py:122 part/serializers.py:836 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4609,10 +4622,10 @@ msgstr "Adressen" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:452 -#: stock/models.py:762 stock/templates/stock/item_base.html:233 +#: stock/models.py:783 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 -#: templates/js/translated/stock.js:2282 +#: templates/js/translated/stock.js:2280 msgid "Supplier Part" msgstr "Zuliefererteil" @@ -4658,11 +4671,11 @@ msgid "No supplier information available" msgstr "Keine Lieferanteninformationen verfügbar" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:509 +#: part/bom.py:311 part/serializers.py:524 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1851 -#: templates/js/translated/purchase_order.js:2029 +#: templates/js/translated/purchase_order.js:1850 +#: templates/js/translated/purchase_order.js:2028 msgid "SKU" msgstr "Lieferanten-Teilenummer" @@ -4671,12 +4684,12 @@ msgid "Supplier Part Stock" msgstr "Zulieferer-Bestand" #: company/templates/company/supplier_part.html:209 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:199 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:206 msgid "Create new stock item" msgstr "Neuen Lagerartikel hinzufügen" #: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:200 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:207 #: templates/js/translated/stock.js:537 msgid "New Stock Item" msgstr "Neuer Lagerartikel" @@ -4708,16 +4721,16 @@ msgid "Update Part Availability" msgstr "Verfügbarkeit der Teile aktualisieren" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:820 part/stocktake.py:223 +#: part/serializers.py:835 part/stocktake.py:223 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:787 stock/serializers.py:951 +#: stock/serializers.py:916 stock/serializers.py:1080 #: stock/templates/stock/location.html:170 -#: stock/templates/stock/location.html:184 -#: stock/templates/stock/location.html:196 +#: stock/templates/stock/location.html:191 +#: stock/templates/stock/location.html:203 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2769 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 #: users/models.py:206 msgid "Stock Items" msgstr "Lagerartikel" @@ -4751,126 +4764,48 @@ msgstr "Firmen" msgid "New Company" msgstr "Neue Firma" -#: label/api.py:247 -msgid "Error printing label" -msgstr "Fehler beim Drucken des Labels" - -#: label/models.py:120 -msgid "Label name" -msgstr "Label Name" - -#: label/models.py:128 -msgid "Label description" -msgstr "Label Beschreibung" - -#: label/models.py:136 -msgid "Label" -msgstr "" - -#: label/models.py:137 -msgid "Label template file" -msgstr "Label-Vorlage-Datei" - -#: label/models.py:143 part/models.py:3494 report/models.py:324 -#: templates/js/translated/part.js:2900 -#: templates/js/translated/table_filters.js:481 -msgid "Enabled" -msgstr "Aktiviert" - -#: label/models.py:144 -msgid "Label template is enabled" -msgstr "Label-Vorlage ist aktiviert" - -#: label/models.py:149 -msgid "Width [mm]" -msgstr "Breite [mm]" - -#: label/models.py:150 -msgid "Label width, specified in mm" -msgstr "Label-Breite in mm" - -#: label/models.py:156 -msgid "Height [mm]" -msgstr "Höhe [mm]" - -#: label/models.py:157 -msgid "Label height, specified in mm" -msgstr "Label-Höhe in mm" - -#: label/models.py:163 report/models.py:317 -msgid "Filename Pattern" -msgstr "Dateinamen-Muster" - -#: label/models.py:164 -msgid "Pattern for generating label filenames" -msgstr "Muster für die Erstellung von Label-Dateinamen" - -#: label/models.py:313 label/models.py:352 label/models.py:377 -#: label/models.py:412 -msgid "Query filters (comma-separated list of key=value pairs)" -msgstr "Abfragefilter (kommagetrennte Liste mit Schlüssel=Wert-Paaren)" - -#: label/models.py:314 label/models.py:353 label/models.py:378 -#: label/models.py:413 report/models.py:345 report/models.py:496 -#: report/models.py:532 report/models.py:568 report/models.py:750 -msgid "Filters" -msgstr "Filter" - -#: label/templates/label/part/part_label.html:31 -#: label/templates/label/stockitem/qr.html:21 -#: label/templates/label/stocklocation/qr.html:20 -#: templates/allauth_2fa/setup.html:18 -msgid "QR Code" -msgstr "QR-Code" - -#: label/templates/label/part/part_label_code128.html:31 -#: label/templates/label/stocklocation/qr_and_text.html:31 -#: templates/qr_code.html:7 -msgid "QR code" -msgstr "QR-Code" - -#: machine/machine_types/label_printer.py:217 +#: machine/machine_types/label_printer.py:218 msgid "Copies" msgstr "Kopien" -#: machine/machine_types/label_printer.py:218 +#: machine/machine_types/label_printer.py:219 msgid "Number of copies to print for each label" msgstr "Anzahl der zu druckenden Kopien für jedes Label" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:234 msgid "Connected" msgstr "Verbunden" -#: machine/machine_types/label_printer.py:234 order/api.py:1515 -#: templates/js/translated/sales_order.js:1042 +#: machine/machine_types/label_printer.py:235 order/api.py:1515 +#: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "Unbekannt" -#: machine/machine_types/label_printer.py:235 +#: machine/machine_types/label_printer.py:236 msgid "Printing" msgstr "Drucken" -#: machine/machine_types/label_printer.py:236 +#: machine/machine_types/label_printer.py:237 msgid "No media" msgstr "Keine Medien" -#: machine/machine_types/label_printer.py:237 +#: machine/machine_types/label_printer.py:238 msgid "Disconnected" msgstr "Verbindung getrennt" -#: machine/machine_types/label_printer.py:244 +#: machine/machine_types/label_printer.py:245 msgid "Label Printer" msgstr "Etikettendrucker" -#: machine/machine_types/label_printer.py:245 +#: machine/machine_types/label_printer.py:246 msgid "Directly print labels for various items." msgstr "Drucken Sie Etiketten direkt für verschiedene Artikel." -#: machine/machine_types/label_printer.py:251 +#: machine/machine_types/label_printer.py:252 msgid "Printer Location" msgstr "Druckerstandort" -#: machine/machine_types/label_printer.py:252 +#: machine/machine_types/label_printer.py:253 msgid "Scope the printer to a specific location" msgstr "Den Drucker an einen bestimmten Ort aufstellen" @@ -4930,448 +4865,444 @@ msgstr "Maschinenkonfiguration" msgid "Config type" msgstr "Konfigurationstyp" -#: order/admin.py:30 order/models.py:89 -#: report/templates/report/inventree_po_report_base.html:31 -#: report/templates/report/inventree_so_report_base.html:31 +#: order/admin.py:30 order/models.py:90 +#: report/templates/report/inventree_purchase_order_report.html:31 +#: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2126 -#: templates/js/translated/sales_order.js:1847 +#: templates/js/translated/purchase_order.js:2125 +#: templates/js/translated/sales_order.js:1883 msgid "Total Price" msgstr "Gesamtpreis" #: order/api.py:161 order/serializers.py:91 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 -#: order/templates/order/sales_order_base.html:118 +#: order/templates/order/sales_order_base.html:122 msgid "Order Status" msgstr "Bestellstatus" #: order/api.py:165 templates/js/translated/table_filters.js:194 #: templates/js/translated/table_filters.js:779 msgid "Has Pricing" -msgstr "" +msgstr "Hat Preise" #: order/api.py:240 msgid "No matching purchase order found" msgstr "Keine passende Bestellung gefunden" -#: order/api.py:437 order/api.py:817 order/models.py:1382 order/models.py:1491 -#: order/models.py:1537 order/models.py:1651 order/models.py:1805 -#: order/models.py:2209 order/models.py:2260 -#: templates/js/translated/sales_order.js:1488 +#: order/api.py:437 order/api.py:817 order/models.py:1422 order/models.py:1531 +#: order/models.py:1577 order/models.py:1691 order/models.py:1845 +#: order/models.py:2258 order/models.py:2309 +#: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "Bestellung" #: order/api.py:441 order/api.py:838 msgid "Order Complete" -msgstr "" +msgstr "Bestellung abgeschlossen" #: order/api.py:462 msgid "Order Pending" -msgstr "" +msgstr "Bestellung ausstehend" -#: order/api.py:1509 order/models.py:1383 order/models.py:1492 -#: order/templates/order/order_base.html:9 +#: order/api.py:1509 order/models.py:381 order/models.py:1423 +#: order/models.py:1532 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 -#: report/templates/report/inventree_po_report_base.html:14 -#: stock/templates/stock/item_base.html:176 +#: report/templates/report/inventree_purchase_order_report.html:14 +#: stock/serializers.py:119 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 -#: templates/js/translated/purchase_order.js:1674 -#: templates/js/translated/stock.js:2262 templates/js/translated/stock.js:2910 +#: templates/js/translated/purchase_order.js:1673 +#: templates/js/translated/stock.js:2260 templates/js/translated/stock.js:2907 msgid "Purchase Order" msgstr "Bestellung" -#: order/api.py:1513 order/models.py:2210 order/models.py:2261 -#: order/templates/order/return_order_base.html:9 +#: order/api.py:1513 order/models.py:2008 order/models.py:2259 +#: order/models.py:2310 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:281 -#: templates/js/translated/stock.js:2944 +#: report/templates/report/inventree_return_order_report.html:13 +#: templates/js/translated/return_order.js:280 +#: templates/js/translated/stock.js:2941 msgid "Return Order" msgstr "Rücksendeauftrag" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "Gesamtpreis für diese Bestellung" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:96 order/serializers.py:71 msgid "Order Currency" msgstr "Auftragswährung" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:99 order/serializers.py:72 msgid "Currency for this order (leave blank to use company default)" msgstr "Währung für diesen Auftrag (leer lassen, um Firmenstandard zu verwenden)" -#: order/models.py:246 +#: order/models.py:248 msgid "Contact does not match selected company" msgstr "Kontakt stimmt nicht mit der ausgewählten Firma überein" -#: order/models.py:278 +#: order/models.py:291 msgid "Order description (optional)" msgstr "Auftragsbeschreibung (optional)" -#: order/models.py:287 +#: order/models.py:300 msgid "Select project code for this order" msgstr "Projektcode für diesen Auftrag auswählen" -#: order/models.py:291 order/models.py:1288 order/models.py:1704 +#: order/models.py:304 order/models.py:1328 order/models.py:1744 msgid "Link to external page" msgstr "Link auf externe Seite" -#: order/models.py:299 +#: order/models.py:312 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "Geplantes Lieferdatum für Auftrag." -#: order/models.py:313 +#: order/models.py:326 msgid "Created By" msgstr "Erstellt von" -#: order/models.py:321 +#: order/models.py:334 msgid "User or group responsible for this order" msgstr "Nutzer oder Gruppe der/die für diesen Auftrag zuständig ist/sind" -#: order/models.py:332 +#: order/models.py:345 msgid "Point of contact for this order" msgstr "Ansprechpartner für diesen Auftrag" -#: order/models.py:342 +#: order/models.py:355 msgid "Company address for this order" msgstr "Firmenadresse für diesen Auftrag" -#: order/models.py:443 order/models.py:899 +#: order/models.py:465 order/models.py:930 msgid "Order reference" msgstr "Bestell-Referenz" -#: order/models.py:451 order/models.py:923 +#: order/models.py:473 order/models.py:954 msgid "Purchase order status" msgstr "Bestellungs-Status" -#: order/models.py:466 +#: order/models.py:488 msgid "Company from which the items are being ordered" msgstr "Firma bei der die Teile bestellt werden" -#: order/models.py:477 order/templates/order/order_base.html:148 -#: templates/js/translated/purchase_order.js:1703 +#: order/models.py:499 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1702 msgid "Supplier Reference" msgstr "Zulieferer-Referenz" -#: order/models.py:478 +#: order/models.py:500 msgid "Supplier order reference code" msgstr "Zulieferer Bestellreferenz" -#: order/models.py:487 +#: order/models.py:509 msgid "received by" msgstr "Empfangen von" -#: order/models.py:493 order/models.py:2036 +#: order/models.py:515 order/models.py:2085 msgid "Issue Date" msgstr "Aufgabedatum" -#: order/models.py:494 order/models.py:2037 +#: order/models.py:516 order/models.py:2086 msgid "Date order was issued" msgstr "Datum an dem die Bestellung aufgegeben wurde" -#: order/models.py:501 order/models.py:2044 +#: order/models.py:523 order/models.py:2093 msgid "Date order was completed" msgstr "Datum an dem der Auftrag fertigstellt wurde" -#: order/models.py:545 +#: order/models.py:567 msgid "Part supplier must match PO supplier" msgstr "Teile-Zulieferer muss dem Zulieferer der Bestellung entsprechen" -#: order/models.py:739 +#: order/models.py:761 msgid "Quantity must be a positive number" msgstr "Anzahl muss eine positive Zahl sein" -#: order/models.py:911 +#: order/models.py:942 msgid "Company to which the items are being sold" msgstr "Firma an die die Teile verkauft werden" -#: order/models.py:934 order/models.py:2029 +#: order/models.py:965 order/models.py:2078 msgid "Customer Reference " msgstr "Kundenreferenz" -#: order/models.py:935 order/models.py:2030 +#: order/models.py:966 order/models.py:2079 msgid "Customer order reference code" msgstr "Bestellreferenz" -#: order/models.py:939 order/models.py:1658 -#: templates/js/translated/sales_order.js:843 -#: templates/js/translated/sales_order.js:1024 +#: order/models.py:970 order/models.py:1698 +#: templates/js/translated/sales_order.js:879 +#: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "Versanddatum" -#: order/models.py:948 +#: order/models.py:979 msgid "shipped by" msgstr "Versand von" -#: order/models.py:999 -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:1004 +#: order/models.py:1029 msgid "Only an open order can be marked as complete" msgstr "Nur ein offener Auftrag kann als abgeschlossen markiert werden" -#: order/models.py:1008 templates/js/translated/sales_order.js:506 +#: order/models.py:1033 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:1013 +#: order/models.py:1038 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:1260 +#: order/models.py:1300 msgid "Item quantity" msgstr "Anzahl" -#: order/models.py:1277 +#: order/models.py:1317 msgid "Line item reference" msgstr "Position - Referenz" -#: order/models.py:1284 +#: order/models.py:1324 msgid "Line item notes" msgstr "Position - Notizen" -#: order/models.py:1296 +#: order/models.py:1336 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:1317 +#: order/models.py:1357 msgid "Line item description (optional)" msgstr "Positionsbeschreibung (optional)" -#: order/models.py:1323 +#: order/models.py:1363 msgid "Context" msgstr "Kontext" -#: order/models.py:1324 +#: order/models.py:1364 msgid "Additional context for this line" msgstr "Zusätzlicher Kontext für diese Zeile" -#: order/models.py:1334 +#: order/models.py:1374 msgid "Unit price" msgstr "Stückpreis" -#: order/models.py:1367 +#: order/models.py:1407 msgid "Supplier part must match supplier" msgstr "Lieferantenteil muss mit Lieferant übereinstimmen" -#: order/models.py:1374 +#: order/models.py:1414 msgid "deleted" msgstr "gelöscht" -#: order/models.py:1402 +#: order/models.py:1442 msgid "Supplier part" msgstr "Zuliefererteil" -#: order/models.py:1409 order/templates/order/order_base.html:196 +#: order/models.py:1449 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 #: templates/js/translated/purchase_order.js:1306 -#: templates/js/translated/purchase_order.js:2170 -#: templates/js/translated/return_order.js:764 +#: templates/js/translated/purchase_order.js:2169 +#: templates/js/translated/return_order.js:763 #: templates/js/translated/table_filters.js:120 #: templates/js/translated/table_filters.js:602 msgid "Received" msgstr "Empfangen" -#: order/models.py:1410 +#: order/models.py:1450 msgid "Number of items received" msgstr "Empfangene Objekt-Anzahl" -#: order/models.py:1418 stock/models.py:923 stock/serializers.py:400 +#: order/models.py:1458 stock/models.py:944 stock/serializers.py:529 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2313 +#: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "Preis" -#: order/models.py:1419 +#: order/models.py:1459 msgid "Unit purchase price" msgstr "Preis pro Einheit" -#: order/models.py:1434 +#: order/models.py:1474 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:1525 +#: order/models.py:1565 msgid "Virtual part cannot be assigned to a sales order" msgstr "Ein virtuelles Teil kann nicht einem Auftrag zugeordnet werden" -#: order/models.py:1530 +#: order/models.py:1570 msgid "Only salable parts can be assigned to a sales order" msgstr "Nur verkaufbare Teile können einem Auftrag zugewiesen werden" -#: order/models.py:1556 part/templates/part/part_pricing.html:107 +#: order/models.py:1596 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "Verkaufspreis" -#: order/models.py:1557 +#: order/models.py:1597 msgid "Unit sale price" msgstr "Stückverkaufspreis" -#: order/models.py:1567 +#: order/models.py:1607 msgid "Shipped quantity" msgstr "Versendete Menge" -#: order/models.py:1659 +#: order/models.py:1699 msgid "Date of shipment" msgstr "Versanddatum" -#: order/models.py:1665 templates/js/translated/sales_order.js:1036 +#: order/models.py:1705 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "Lieferdatum" -#: order/models.py:1666 +#: order/models.py:1706 msgid "Date of delivery of shipment" msgstr "Versanddatum" -#: order/models.py:1674 +#: order/models.py:1714 msgid "Checked By" msgstr "Kontrolliert von" -#: order/models.py:1675 +#: order/models.py:1715 msgid "User who checked this shipment" msgstr "Benutzer, der diese Sendung kontrolliert hat" -#: order/models.py:1682 order/models.py:1895 order/serializers.py:1354 -#: order/serializers.py:1464 templates/js/translated/model_renderers.js:448 +#: order/models.py:1722 order/models.py:1935 order/serializers.py:1354 +#: order/serializers.py:1464 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "Sendung" -#: order/models.py:1683 +#: order/models.py:1723 msgid "Shipment number" msgstr "Sendungsnummer" -#: order/models.py:1691 +#: order/models.py:1731 msgid "Tracking Number" msgstr "Sendungsverfolgungsnummer" -#: order/models.py:1692 +#: order/models.py:1732 msgid "Shipment tracking information" msgstr "Informationen zur Sendungsverfolgung" -#: order/models.py:1699 +#: order/models.py:1739 msgid "Invoice Number" msgstr "Rechnungsnummer" -#: order/models.py:1700 +#: order/models.py:1740 msgid "Reference number for associated invoice" msgstr "Referenznummer für zugehörige Rechnung" -#: order/models.py:1720 +#: order/models.py:1760 msgid "Shipment has already been sent" msgstr "Sendung wurde bereits versandt" -#: order/models.py:1723 +#: order/models.py:1763 msgid "Shipment has no allocated stock items" msgstr "Sendung hat keine zugewiesene Lagerartikel" -#: order/models.py:1841 order/models.py:1843 +#: order/models.py:1881 order/models.py:1883 msgid "Stock item has not been assigned" msgstr "Lagerartikel wurde nicht zugewiesen" -#: order/models.py:1850 +#: order/models.py:1890 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:1853 +#: order/models.py:1893 msgid "Cannot allocate stock to a line without a part" msgstr "Kann Lagerartikel keiner Zeile ohne Teil hinzufügen" -#: order/models.py:1856 +#: order/models.py:1896 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Die zugeordnete Anzahl darf nicht die verfügbare Anzahl überschreiten" -#: order/models.py:1875 order/serializers.py:1231 +#: order/models.py:1915 order/serializers.py:1231 msgid "Quantity must be 1 for serialized stock item" msgstr "Anzahl für serialisierte Lagerartikel muss 1 sein" -#: order/models.py:1878 +#: order/models.py:1918 msgid "Sales order does not match shipment" msgstr "Auftrag gehört nicht zu Sendung" -#: order/models.py:1879 plugin/base/barcodes/api.py:481 +#: order/models.py:1919 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "Sendung gehört nicht zu Auftrag" -#: order/models.py:1887 +#: order/models.py:1927 msgid "Line" msgstr "Position" -#: order/models.py:1896 +#: order/models.py:1936 msgid "Sales order shipment reference" msgstr "Sendungsnummer-Referenz" -#: order/models.py:1909 order/models.py:2217 -#: templates/js/translated/return_order.js:722 +#: order/models.py:1949 order/models.py:2266 +#: templates/js/translated/return_order.js:721 msgid "Item" msgstr "Position" -#: order/models.py:1910 +#: order/models.py:1950 msgid "Select stock item to allocate" msgstr "Lagerartikel für Zuordnung auswählen" -#: order/models.py:1919 +#: order/models.py:1959 msgid "Enter stock allocation quantity" msgstr "Anzahl für Bestandszuordnung eingeben" -#: order/models.py:1999 +#: order/models.py:2048 msgid "Return Order reference" msgstr "Rücksendungsreferenz" -#: order/models.py:2011 +#: order/models.py:2060 msgid "Company from which items are being returned" msgstr "Firma von der die Artikel zurückgeschickt werden" -#: order/models.py:2023 +#: order/models.py:2072 msgid "Return order status" msgstr "Status der Rücksendung" -#: order/models.py:2202 +#: order/models.py:2251 msgid "Only serialized items can be assigned to a Return Order" msgstr "Nur serialisierte Artikel können einer Rücksendung zugeordnet werden" -#: order/models.py:2218 +#: order/models.py:2267 msgid "Select item to return from customer" msgstr "Artikel zur Rücksendung auswählen" -#: order/models.py:2224 +#: order/models.py:2273 msgid "Received Date" msgstr "Empfangsdatum" -#: order/models.py:2225 +#: order/models.py:2274 msgid "The date this this return item was received" msgstr "Das Datum des Empfangs dieses Rücksendeartikels" -#: order/models.py:2236 templates/js/translated/return_order.js:733 +#: order/models.py:2285 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "Ergebnis" -#: order/models.py:2237 +#: order/models.py:2286 msgid "Outcome for this line item" msgstr "Ergebnis für dieses Zeilenelement" -#: order/models.py:2244 +#: order/models.py:2293 msgid "Cost associated with return or repair for this line item" msgstr "Kosten für die Rückgabe oder Reparatur dieses Objektes" #: order/serializers.py:80 order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 -#: report/templates/report/inventree_po_report_base.html:22 -#: report/templates/report/inventree_return_order_report_base.html:19 -#: report/templates/report/inventree_so_report_base.html:22 +#: report/templates/report/inventree_purchase_order_report.html:22 +#: report/templates/report/inventree_return_order_report.html:19 +#: report/templates/report/inventree_sales_order_report.html:22 msgid "Line Items" msgstr "Positionen" #: order/serializers.py:84 msgid "Completed Lines" -msgstr "" +msgstr "Abgeschlossene Positionen" #: order/serializers.py:287 msgid "Order cannot be cancelled" @@ -5447,7 +5378,7 @@ msgstr "Seriennummern für eingehende Lagerartikel" #: order/serializers.py:601 templates/js/translated/barcode.js:52 msgid "Barcode" -msgstr "" +msgstr "Barcode" #: order/serializers.py:602 msgid "Scanned barcode" @@ -5595,7 +5526,7 @@ msgstr "Bestellung als vollständig markieren" #: order/templates/order/order_base.html:84 #: order/templates/order/return_order_base.html:87 -#: order/templates/order/sales_order_base.html:93 +#: order/templates/order/sales_order_base.html:97 msgid "Complete Order" msgstr "Auftrag fertigstellen" @@ -5605,13 +5536,13 @@ msgstr "Vorschaubild des Lieferanten" #: order/templates/order/order_base.html:106 #: order/templates/order/return_order_base.html:101 -#: order/templates/order/sales_order_base.html:106 +#: order/templates/order/sales_order_base.html:110 msgid "Order Reference" msgstr "Bestellreferenz" #: order/templates/order/order_base.html:111 #: order/templates/order/return_order_base.html:106 -#: order/templates/order/sales_order_base.html:111 +#: order/templates/order/sales_order_base.html:115 msgid "Order Description" msgstr "Bestellungsbeschreibung" @@ -5620,19 +5551,19 @@ msgid "No suppplier information available" msgstr "Keine Lieferanteninformationen verfügbar" #: order/templates/order/order_base.html:154 -#: order/templates/order/sales_order_base.html:157 +#: order/templates/order/sales_order_base.html:161 msgid "Completed Line Items" msgstr "Abgeschlossene Positionen" #: order/templates/order/order_base.html:160 -#: order/templates/order/sales_order_base.html:163 -#: order/templates/order/sales_order_base.html:173 +#: order/templates/order/sales_order_base.html:167 +#: order/templates/order/sales_order_base.html:177 msgid "Incomplete" msgstr "Unvollständig" #: order/templates/order/order_base.html:179 #: order/templates/order/return_order_base.html:157 -#: report/templates/report/inventree_build_order_base.html:121 +#: report/templates/report/inventree_build_order_report.html:121 msgid "Issued" msgstr "Aufgegeben" @@ -5642,15 +5573,15 @@ msgstr "Gesamtsumme" #: order/templates/order/order_base.html:228 #: order/templates/order/return_order_base.html:199 -#: order/templates/order/sales_order_base.html:239 +#: order/templates/order/sales_order_base.html:243 msgid "Total cost could not be calculated" msgstr "Gesamtkosten konnten nicht berechnet werden" -#: order/templates/order/order_base.html:318 +#: order/templates/order/order_base.html:314 msgid "Purchase Order QR Code" msgstr "Bestellung QR-Code" -#: order/templates/order/order_base.html:330 +#: order/templates/order/order_base.html:326 msgid "Link Barcode to Purchase Order" msgstr "Barcode mit Bestellung verknüpfen" @@ -5707,8 +5638,8 @@ msgstr "Auswahl duplizieren" #: templates/js/translated/build.js:1629 #: templates/js/translated/purchase_order.js:696 #: templates/js/translated/purchase_order.js:1236 -#: templates/js/translated/return_order.js:506 -#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/return_order.js:505 +#: templates/js/translated/sales_order.js:1145 #: templates/js/translated/stock.js:714 templates/js/translated/stock.js:883 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -5762,7 +5693,7 @@ msgstr "Bestellungs-Positionen" #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 #: templates/js/translated/purchase_order.js:414 -#: templates/js/translated/return_order.js:459 +#: templates/js/translated/return_order.js:458 #: templates/js/translated/sales_order.js:237 msgid "Add Line Item" msgstr "Position hinzufügen" @@ -5811,30 +5742,30 @@ msgid "Print packing list" msgstr "Paketliste drucken" #: order/templates/order/return_order_base.html:138 -#: order/templates/order/sales_order_base.html:151 -#: templates/js/translated/return_order.js:309 -#: templates/js/translated/sales_order.js:797 +#: order/templates/order/sales_order_base.html:155 +#: templates/js/translated/return_order.js:308 +#: templates/js/translated/sales_order.js:833 msgid "Customer Reference" msgstr "Kundenreferenz" #: order/templates/order/return_order_base.html:195 -#: order/templates/order/sales_order_base.html:235 +#: order/templates/order/sales_order_base.html:239 #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1072 -#: templates/js/translated/purchase_order.js:1753 -#: templates/js/translated/return_order.js:381 -#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/purchase_order.js:1752 +#: templates/js/translated/return_order.js:380 +#: templates/js/translated/sales_order.js:891 msgid "Total Cost" msgstr "Gesamtkosten" -#: order/templates/order/return_order_base.html:263 +#: order/templates/order/return_order_base.html:259 msgid "Return Order QR Code" msgstr "QR-Code Bestellung zurückgeben" -#: order/templates/order/return_order_base.html:275 +#: order/templates/order/return_order_base.html:271 msgid "Link Barcode to Return Order" msgstr "Barcode mit Rücksendung verknüpfen" @@ -5852,25 +5783,30 @@ msgid "Ship Items" msgstr "Versandartikel" #: order/templates/order/sales_order_base.html:92 -#: templates/js/translated/sales_order.js:484 +#: order/templates/order/sales_order_base.html:93 +msgid "Mark As Shipped" +msgstr "Als verschickt markieren" + +#: order/templates/order/sales_order_base.html:96 +#: templates/js/translated/sales_order.js:536 msgid "Complete Sales Order" msgstr "Auftrag abschließen" -#: order/templates/order/sales_order_base.html:131 +#: order/templates/order/sales_order_base.html:135 msgid "This Sales Order has not been fully allocated" msgstr "Dieser Auftrag ist nicht vollständig zugeordnet" -#: order/templates/order/sales_order_base.html:169 +#: order/templates/order/sales_order_base.html:173 #: order/templates/order/sales_order_detail.html:99 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "Abgeschlossene Sendungen" -#: order/templates/order/sales_order_base.html:312 +#: order/templates/order/sales_order_base.html:321 msgid "Sales Order QR Code" msgstr "Auftrag QR-Code" -#: order/templates/order/sales_order_base.html:324 +#: order/templates/order/sales_order_base.html:333 msgid "Link Barcode to Sales Order" msgstr "Barcode mit Verkaufsauftrag verknüpfen" @@ -5914,12 +5850,12 @@ 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:39 part/admin.py:404 part/models.py:3921 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:406 part/models.py:3964 part/stocktake.py:218 #: stock/admin.py:153 msgid "Part ID" msgstr "Teil-ID" -#: part/admin.py:41 part/admin.py:411 part/models.py:3922 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:413 part/models.py:3965 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "Name des Teils" @@ -5928,20 +5864,20 @@ msgstr "Name des Teils" msgid "Part Description" msgstr "Beschreibung des Teils" -#: part/admin.py:48 part/models.py:904 part/templates/part/part_base.html:269 -#: report/templates/report/inventree_slr_report.html:103 -#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2341 -#: templates/js/translated/stock.js:2038 +#: part/admin.py:48 part/models.py:947 part/templates/part/part_base.html:269 +#: report/templates/report/inventree_stock_location_report.html:103 +#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 +#: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "IPN (Interne Produktnummer)" -#: part/admin.py:50 part/models.py:913 part/templates/part/part_base.html:277 -#: report/models.py:195 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2347 +#: part/admin.py:50 part/models.py:956 part/templates/part/part_base.html:277 +#: report/models.py:161 templates/js/translated/part.js:1231 +#: templates/js/translated/part.js:2346 msgid "Revision" msgstr "Version" -#: part/admin.py:53 part/admin.py:317 part/models.py:886 +#: part/admin.py:53 part/admin.py:319 part/models.py:929 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "Schlüsselwörter" @@ -5950,15 +5886,15 @@ msgstr "Schlüsselwörter" msgid "Part Image" msgstr "Artikelbild" -#: part/admin.py:63 part/admin.py:300 part/stocktake.py:221 +#: part/admin.py:63 part/admin.py:302 part/stocktake.py:221 msgid "Category ID" msgstr "Kategorie-ID" -#: part/admin.py:67 part/admin.py:302 part/stocktake.py:222 +#: part/admin.py:67 part/admin.py:304 part/stocktake.py:222 msgid "Category Name" msgstr "Kategoriename" -#: part/admin.py:71 part/admin.py:314 +#: part/admin.py:71 part/admin.py:316 msgid "Default Location ID" msgstr "Standard-Standortnummer" @@ -5966,11 +5902,11 @@ msgstr "Standard-Standortnummer" msgid "Default Supplier ID" msgstr "Standard-Lieferantennummer" -#: part/admin.py:81 part/models.py:872 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:915 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "Variante von" -#: part/admin.py:84 part/models.py:1000 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1043 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "Minimaler Bestand" @@ -5983,160 +5919,164 @@ msgstr "Benutzt in" msgid "Building" msgstr "Im Bau" -#: part/admin.py:155 part/models.py:3080 part/models.py:3094 +#: part/admin.py:155 part/models.py:3123 part/models.py:3137 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "Minimale Kosten" -#: part/admin.py:158 part/models.py:3087 part/models.py:3101 +#: part/admin.py:158 part/models.py:3130 part/models.py:3144 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "Maximale Kosten" -#: part/admin.py:306 part/admin.py:393 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:211 msgid "Parent ID" msgstr "Eltern ID" -#: part/admin.py:310 part/admin.py:400 stock/admin.py:62 +#: part/admin.py:312 part/admin.py:402 stock/admin.py:62 msgid "Parent Name" msgstr "Name des übergeordneten Teils" -#: part/admin.py:318 part/templates/part/category.html:88 +#: part/admin.py:320 part/templates/part/category.html:88 #: part/templates/part/category.html:101 msgid "Category Path" msgstr "Pfad zur Kategorie" -#: part/admin.py:323 part/models.py:391 part/serializers.py:117 +#: part/admin.py:325 part/models.py:393 part/serializers.py:117 #: part/serializers.py:272 part/serializers.py:391 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2803 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "Teile" -#: part/admin.py:384 +#: part/admin.py:386 msgid "BOM Level" msgstr "Stücklistenebene" -#: part/admin.py:387 +#: part/admin.py:389 msgid "BOM Item ID" msgstr "Stücklisten-Position ID" -#: part/admin.py:397 +#: part/admin.py:399 msgid "Parent IPN" msgstr "Übergeordnete IPN" -#: part/admin.py:408 part/models.py:3923 +#: part/admin.py:410 part/models.py:3966 msgid "Part IPN" msgstr "Teil IPN" -#: part/admin.py:421 part/serializers.py:1261 +#: part/admin.py:423 part/serializers.py:1276 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "Niedrigster Preis" -#: part/admin.py:426 part/serializers.py:1276 +#: part/admin.py:428 part/serializers.py:1291 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "Höchster Preis" -#: part/api.py:119 +#: part/api.py:112 msgid "Starred" msgstr "Markiert" -#: part/api.py:121 +#: part/api.py:114 msgid "Filter by starred categories" msgstr "Nach markierten Kategorien filtern" -#: part/api.py:138 stock/api.py:284 +#: part/api.py:131 stock/api.py:318 msgid "Depth" msgstr "Ebenen" -#: part/api.py:138 +#: part/api.py:131 msgid "Filter by category depth" msgstr "Filter nach Kategorietiefe" -#: part/api.py:156 stock/api.py:302 +#: part/api.py:149 stock/api.py:336 msgid "Cascade" msgstr "Mehrstufig" -#: part/api.py:158 +#: part/api.py:151 msgid "Include sub-categories in filtered results" msgstr "Unterkategorien in gefilterte Ergebnisse einbeziehen" -#: part/api.py:178 +#: part/api.py:171 msgid "Parent" msgstr "Übergeordnetes" -#: part/api.py:180 +#: part/api.py:173 msgid "Filter by parent category" msgstr "Nach übergeordneter Kategorie filtern" -#: part/api.py:213 +#: part/api.py:206 msgid "Exclude Tree" msgstr "Baum ausschließen" -#: part/api.py:215 +#: part/api.py:208 msgid "Exclude sub-categories under the specified category" msgstr "Unterkategorien in der angegebenen Kategorie ausschließen" -#: part/api.py:461 +#: part/api.py:455 msgid "Has Results" msgstr "Ergebnisse" -#: part/api.py:628 +#: part/api.py:622 msgid "Incoming Purchase Order" msgstr "Eingehende Bestellung" -#: part/api.py:646 +#: part/api.py:640 msgid "Outgoing Sales Order" msgstr "Ausgehender Auftrag" -#: part/api.py:662 +#: part/api.py:656 msgid "Stock produced by Build Order" msgstr "Lagerartikel produziert von Bauauftrag" -#: part/api.py:746 +#: part/api.py:740 msgid "Stock required for Build Order" msgstr "Lagerartikel für Bauauftrag benötigt" -#: part/api.py:893 +#: part/api.py:887 msgid "Valid" msgstr "Gültig" -#: part/api.py:894 +#: part/api.py:888 msgid "Validate entire Bill of Materials" msgstr "Gesamte Stückliste validieren" -#: part/api.py:900 +#: part/api.py:894 msgid "This option must be selected" msgstr "Diese Option muss ausgewählt werden" -#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866 -#: part/serializers.py:406 part/serializers.py:1117 -#: part/templates/part/part_base.html:260 stock/api.py:745 +#: part/api.py:1111 +msgid "BOM Valid" +msgstr "" + +#: part/api.py:1515 part/models.py:939 part/models.py:3429 part/models.py:3909 +#: part/serializers.py:406 part/serializers.py:1132 +#: part/templates/part/part_base.html:260 stock/api.py:779 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2377 +#: templates/js/translated/part.js:2376 msgid "Category" msgstr "Kategorie" -#: part/api.py:1849 +#: part/api.py:1803 msgid "Uses" msgstr "Verwendet" -#: part/bom.py:170 part/models.py:101 part/models.py:939 +#: part/bom.py:170 part/models.py:102 part/models.py:982 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "Standard-Lagerort" -#: part/bom.py:171 part/serializers.py:822 +#: part/bom.py:171 part/serializers.py:837 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "Gesamtbestand" @@ -6145,698 +6085,712 @@ msgstr "Gesamtbestand" msgid "Input quantity for price calculation" msgstr "Menge für die Preisberechnung" -#: part/models.py:82 part/models.py:3867 part/templates/part/category.html:16 +#: part/models.py:83 part/models.py:3910 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Teil-Kategorie" -#: part/models.py:83 part/templates/part/category.html:136 +#: part/models.py:84 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "Teil-Kategorien" -#: part/models.py:102 +#: part/models.py:103 msgid "Default location for parts in this category" msgstr "Standard-Lagerort für Teile dieser Kategorie" -#: part/models.py:107 stock/models.py:165 templates/js/translated/part.js:2810 -#: templates/js/translated/stock.js:2775 +#: part/models.py:108 stock/models.py:177 templates/js/translated/part.js:2809 +#: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "Strukturell" -#: part/models.py:109 +#: part/models.py:110 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "Teile können nicht direkt einer strukturellen Kategorie zugeordnet werden, können aber untergeordneten Kategorien zugeordnet werden." -#: part/models.py:118 +#: part/models.py:119 msgid "Default keywords" msgstr "Standard Stichwörter" -#: part/models.py:119 +#: part/models.py:120 msgid "Default keywords for parts in this category" msgstr "Standard-Stichworte für Teile dieser Kategorie" -#: part/models.py:125 stock/models.py:89 stock/models.py:148 +#: part/models.py:126 stock/models.py:89 stock/models.py:160 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "Symbol" -#: part/models.py:126 stock/models.py:149 +#: part/models.py:127 stock/models.py:161 msgid "Icon (optional)" msgstr "Symbol (optional)" -#: part/models.py:148 +#: part/models.py:149 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "Sie können diese Teilekategorie nicht als strukturell festlegen, da ihr bereits Teile zugewiesen sind!" -#: part/models.py:484 +#: part/models.py:482 +msgid "Cannot delete this part as it is still active" +msgstr "" + +#: part/models.py:489 +msgid "Cannot delete this part as it is used in an assembly" +msgstr "" + +#: part/models.py:527 msgid "Invalid choice for parent part" msgstr "Ungültige Auswahl für übergeordnetes Teil" -#: part/models.py:532 part/models.py:539 +#: part/models.py:575 part/models.py:582 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "Teil '{self}' kann in der Stückliste nicht für '{parent}' (rekursiv) verwendet werden" -#: part/models.py:551 +#: part/models.py:594 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "Teil '{parent}' wird in der Stückliste für '{self}' (rekursiv) verwendet" -#: part/models.py:616 +#: part/models.py:659 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "IPN muss mit Regex-Muster {pattern} übereinstimmen" -#: part/models.py:696 +#: part/models.py:739 msgid "Stock item with this serial number already exists" msgstr "Ein Lagerartikel mit dieser Seriennummer existiert bereits" -#: part/models.py:801 +#: part/models.py:844 msgid "Duplicate IPN not allowed in part settings" msgstr "Doppelte IPN in den Teil-Einstellungen nicht erlaubt" -#: part/models.py:811 +#: part/models.py:854 msgid "Part with this Name, IPN and Revision already exists." msgstr "Teil mit diesem Namen, IPN und Revision existiert bereits." -#: part/models.py:826 +#: part/models.py:869 msgid "Parts cannot be assigned to structural part categories!" msgstr "Strukturellen Teilekategorien können keine Teile zugewiesen werden!" -#: part/models.py:855 part/models.py:3922 +#: part/models.py:898 part/models.py:3965 msgid "Part name" msgstr "Name des Teils" -#: part/models.py:860 +#: part/models.py:903 msgid "Is Template" msgstr "Ist eine Vorlage" -#: part/models.py:861 +#: part/models.py:904 msgid "Is this part a template part?" msgstr "Ist dieses Teil eine Vorlage?" -#: part/models.py:871 +#: part/models.py:914 msgid "Is this part a variant of another part?" msgstr "Ist dieses Teil eine Variante eines anderen Teils?" -#: part/models.py:879 +#: part/models.py:922 msgid "Part description (optional)" msgstr "Artikelbeschreibung (optional)" -#: part/models.py:887 +#: part/models.py:930 msgid "Part keywords to improve visibility in search results" msgstr "Schlüsselworte um die Sichtbarkeit in Suchergebnissen zu verbessern" -#: part/models.py:897 +#: part/models.py:940 msgid "Part category" msgstr "Teile-Kategorie" -#: part/models.py:905 +#: part/models.py:948 msgid "Internal Part Number" msgstr "Interne Teilenummer" -#: part/models.py:912 +#: part/models.py:955 msgid "Part revision or version number" msgstr "Revisions- oder Versionsnummer" -#: part/models.py:937 +#: part/models.py:980 msgid "Where is this item normally stored?" msgstr "Wo wird dieses Teil normalerweise gelagert?" -#: part/models.py:983 part/templates/part/part_base.html:376 +#: part/models.py:1026 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "Standard Zulieferer" -#: part/models.py:984 +#: part/models.py:1027 msgid "Default supplier part" msgstr "Standard Zuliefererteil" -#: part/models.py:991 +#: part/models.py:1034 msgid "Default Expiry" msgstr "Standard Ablaufzeit" -#: part/models.py:992 +#: part/models.py:1035 msgid "Expiry time (in days) for stock items of this part" msgstr "Ablauf-Zeit (in Tagen) für Bestand dieses Teils" -#: part/models.py:1001 +#: part/models.py:1044 msgid "Minimum allowed stock level" msgstr "Minimal zulässiger Bestand" -#: part/models.py:1010 +#: part/models.py:1053 msgid "Units of measure for this part" msgstr "Maßeinheit für diesen Teil" -#: part/models.py:1017 +#: part/models.py:1060 msgid "Can this part be built from other parts?" msgstr "Kann dieses Teil aus anderen Teilen angefertigt werden?" -#: part/models.py:1023 +#: part/models.py:1066 msgid "Can this part be used to build other parts?" msgstr "Kann dieses Teil zum Bauauftrag von anderen genutzt werden?" -#: part/models.py:1029 +#: part/models.py:1072 msgid "Does this part have tracking for unique items?" msgstr "Hat dieses Teil Tracking für einzelne Objekte?" -#: part/models.py:1035 +#: part/models.py:1078 msgid "Can this part be purchased from external suppliers?" msgstr "Kann dieses Teil von externen Zulieferern gekauft werden?" -#: part/models.py:1041 +#: part/models.py:1084 msgid "Can this part be sold to customers?" msgstr "Kann dieses Teil an Kunden verkauft werden?" -#: part/models.py:1045 +#: part/models.py:1088 msgid "Is this part active?" msgstr "Ist dieses Teil aktiv?" -#: part/models.py:1051 +#: part/models.py:1094 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:1057 +#: part/models.py:1100 msgid "BOM checksum" msgstr "Prüfsumme der Stückliste" -#: part/models.py:1058 +#: part/models.py:1101 msgid "Stored BOM checksum" msgstr "Prüfsumme der Stückliste gespeichert" -#: part/models.py:1066 +#: part/models.py:1109 msgid "BOM checked by" msgstr "Stückliste kontrolliert von" -#: part/models.py:1071 +#: part/models.py:1114 msgid "BOM checked date" msgstr "BOM Kontrolldatum" -#: part/models.py:1087 +#: part/models.py:1130 msgid "Creation User" msgstr "Erstellungs-Nutzer" -#: part/models.py:1097 +#: part/models.py:1140 msgid "Owner responsible for this part" msgstr "Verantwortlicher Besitzer für dieses Teil" -#: part/models.py:1102 part/templates/part/part_base.html:339 +#: part/models.py:1145 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 -#: templates/js/translated/part.js:2471 +#: templates/js/translated/part.js:2470 msgid "Last Stocktake" msgstr "Letzte Inventur" -#: part/models.py:1975 +#: part/models.py:2018 msgid "Sell multiple" msgstr "Mehrere verkaufen" -#: part/models.py:2994 +#: part/models.py:3037 msgid "Currency used to cache pricing calculations" msgstr "Währung für die Berechnung der Preise im Cache" -#: part/models.py:3010 +#: part/models.py:3053 msgid "Minimum BOM Cost" msgstr "Minimale Stücklisten Kosten" -#: part/models.py:3011 +#: part/models.py:3054 msgid "Minimum cost of component parts" msgstr "Minimale Kosten für Teile" -#: part/models.py:3017 +#: part/models.py:3060 msgid "Maximum BOM Cost" msgstr "Maximale Stücklisten Kosten" -#: part/models.py:3018 +#: part/models.py:3061 msgid "Maximum cost of component parts" msgstr "Maximale Kosten für Teile" -#: part/models.py:3024 +#: part/models.py:3067 msgid "Minimum Purchase Cost" msgstr "Minimale Einkaufskosten" -#: part/models.py:3025 +#: part/models.py:3068 msgid "Minimum historical purchase cost" msgstr "Minimale historische Kaufkosten" -#: part/models.py:3031 +#: part/models.py:3074 msgid "Maximum Purchase Cost" msgstr "Maximale Einkaufskosten" -#: part/models.py:3032 +#: part/models.py:3075 msgid "Maximum historical purchase cost" msgstr "Maximale historische Einkaufskosten" -#: part/models.py:3038 +#: part/models.py:3081 msgid "Minimum Internal Price" msgstr "Minimaler interner Preis" -#: part/models.py:3039 +#: part/models.py:3082 msgid "Minimum cost based on internal price breaks" msgstr "Minimale Kosten basierend auf den internen Staffelpreisen" -#: part/models.py:3045 +#: part/models.py:3088 msgid "Maximum Internal Price" msgstr "Maximaler interner Preis" -#: part/models.py:3046 +#: part/models.py:3089 msgid "Maximum cost based on internal price breaks" msgstr "Maximale Kosten basierend auf internen Preisstaffeln" -#: part/models.py:3052 +#: part/models.py:3095 msgid "Minimum Supplier Price" msgstr "Minimaler Lieferantenpreis" -#: part/models.py:3053 +#: part/models.py:3096 msgid "Minimum price of part from external suppliers" msgstr "Mindestpreis für Teil von externen Lieferanten" -#: part/models.py:3059 +#: part/models.py:3102 msgid "Maximum Supplier Price" msgstr "Maximaler Lieferantenpreis" -#: part/models.py:3060 +#: part/models.py:3103 msgid "Maximum price of part from external suppliers" msgstr "Maximaler Preis für Teil von externen Lieferanten" -#: part/models.py:3066 +#: part/models.py:3109 msgid "Minimum Variant Cost" msgstr "Minimale Variantenkosten" -#: part/models.py:3067 +#: part/models.py:3110 msgid "Calculated minimum cost of variant parts" msgstr "Berechnete minimale Kosten für Variantenteile" -#: part/models.py:3073 +#: part/models.py:3116 msgid "Maximum Variant Cost" msgstr "Maximale Variantenkosten" -#: part/models.py:3074 +#: part/models.py:3117 msgid "Calculated maximum cost of variant parts" msgstr "Berechnete maximale Kosten für Variantenteile" -#: part/models.py:3081 +#: part/models.py:3124 msgid "Override minimum cost" msgstr "Mindestkosten überschreiben" -#: part/models.py:3088 +#: part/models.py:3131 msgid "Override maximum cost" msgstr "Maximale Kosten überschreiben" -#: part/models.py:3095 +#: part/models.py:3138 msgid "Calculated overall minimum cost" msgstr "Berechnete Mindestkosten" -#: part/models.py:3102 +#: part/models.py:3145 msgid "Calculated overall maximum cost" msgstr "Berechnete Maximalkosten" -#: part/models.py:3108 +#: part/models.py:3151 msgid "Minimum Sale Price" msgstr "Mindestverkaufspreis" -#: part/models.py:3109 +#: part/models.py:3152 msgid "Minimum sale price based on price breaks" msgstr "Mindestverkaufspreis basierend auf Staffelpreisen" -#: part/models.py:3115 +#: part/models.py:3158 msgid "Maximum Sale Price" msgstr "Maximaler Verkaufspreis" -#: part/models.py:3116 +#: part/models.py:3159 msgid "Maximum sale price based on price breaks" msgstr "Maximalverkaufspreis basierend auf Staffelpreisen" -#: part/models.py:3122 +#: part/models.py:3165 msgid "Minimum Sale Cost" msgstr "Mindestverkaufskosten" -#: part/models.py:3123 +#: part/models.py:3166 msgid "Minimum historical sale price" msgstr "Minimaler historischer Verkaufspreis" -#: part/models.py:3129 +#: part/models.py:3172 msgid "Maximum Sale Cost" msgstr "Maximale Verkaufskosten" -#: part/models.py:3130 +#: part/models.py:3173 msgid "Maximum historical sale price" msgstr "Maximaler historischer Verkaufspreis" -#: part/models.py:3149 +#: part/models.py:3192 msgid "Part for stocktake" msgstr "Teil für die Inventur" -#: part/models.py:3154 +#: part/models.py:3197 msgid "Item Count" msgstr "Stückzahl" -#: part/models.py:3155 +#: part/models.py:3198 msgid "Number of individual stock entries at time of stocktake" msgstr "Anzahl einzelner Bestandseinträge zum Zeitpunkt der Inventur" -#: part/models.py:3163 +#: part/models.py:3206 msgid "Total available stock at time of stocktake" msgstr "Insgesamt verfügbarer Lagerbestand zum Zeitpunkt der Inventur" -#: part/models.py:3167 part/models.py:3250 +#: part/models.py:3210 part/models.py:3293 #: part/templates/part/part_scheduling.html:13 -#: report/templates/report/inventree_test_report_base.html:106 +#: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 #: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 -#: templates/js/translated/purchase_order.js:1732 -#: templates/js/translated/stock.js:2824 +#: templates/js/translated/purchase_order.js:1731 +#: templates/js/translated/stock.js:2821 msgid "Date" msgstr "Datum" -#: part/models.py:3168 +#: part/models.py:3211 msgid "Date stocktake was performed" msgstr "Datum der Inventur" -#: part/models.py:3176 +#: part/models.py:3219 msgid "Additional notes" msgstr "Zusätzliche Notizen" -#: part/models.py:3186 +#: part/models.py:3229 msgid "User who performed this stocktake" msgstr "Benutzer, der diese Inventur durchgeführt hat" -#: part/models.py:3192 +#: part/models.py:3235 msgid "Minimum Stock Cost" msgstr "Mindestbestandswert" -#: part/models.py:3193 +#: part/models.py:3236 msgid "Estimated minimum cost of stock on hand" msgstr "Geschätzter Mindestwert des vorhandenen Bestands" -#: part/models.py:3199 +#: part/models.py:3242 msgid "Maximum Stock Cost" msgstr "Maximaler Bestandswert" -#: part/models.py:3200 +#: part/models.py:3243 msgid "Estimated maximum cost of stock on hand" msgstr "Geschätzter Maximalwert des vorhandenen Bestands" -#: part/models.py:3256 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3299 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "Bericht" -#: part/models.py:3257 +#: part/models.py:3300 msgid "Stocktake report file (generated internally)" msgstr "Inventur-Berichtsdatei (intern generiert)" -#: part/models.py:3262 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3305 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "Anzahl der Teile" -#: part/models.py:3263 +#: part/models.py:3306 msgid "Number of parts covered by stocktake" msgstr "Anzahl der Teile, die von der Inventur abgedeckt werden" -#: part/models.py:3273 +#: part/models.py:3316 msgid "User who requested this stocktake report" msgstr "Benutzer, der diesen Inventurbericht angefordert hat" -#: part/models.py:3435 +#: part/models.py:3478 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "Ungültiger Vorlagenname - es muss mindestens ein alphanumerisches Zeichen enthalten sein" -#: part/models.py:3446 +#: part/models.py:3489 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:3457 +#: part/models.py:3500 msgid "Test template with the same key already exists for part" msgstr "Testvorlage mit demselben Schlüssel existiert bereits für Teil" -#: part/models.py:3474 templates/js/translated/part.js:2879 +#: part/models.py:3517 templates/js/translated/part.js:2878 msgid "Test Name" msgstr "Test-Name" -#: part/models.py:3475 +#: part/models.py:3518 msgid "Enter a name for the test" msgstr "Namen für diesen Test eingeben" -#: part/models.py:3481 +#: part/models.py:3524 msgid "Test Key" msgstr "Testschlüssel" -#: part/models.py:3482 +#: part/models.py:3525 msgid "Simplified key for the test" msgstr "Vereinfachter Schlüssel zum Test" -#: part/models.py:3489 +#: part/models.py:3532 msgid "Test Description" msgstr "Test-Beschreibung" -#: part/models.py:3490 +#: part/models.py:3533 msgid "Enter description for this test" msgstr "Beschreibung für diesen Test eingeben" -#: part/models.py:3494 +#: part/models.py:3537 report/models.py:208 +#: templates/js/translated/part.js:2899 +#: templates/js/translated/table_filters.js:481 +msgid "Enabled" +msgstr "Aktiviert" + +#: part/models.py:3537 msgid "Is this test enabled?" msgstr "Ist dieser Test aktiviert?" -#: part/models.py:3499 templates/js/translated/part.js:2908 +#: part/models.py:3542 templates/js/translated/part.js:2907 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "Benötigt" -#: part/models.py:3500 +#: part/models.py:3543 msgid "Is this test required to pass?" msgstr "Muss dieser Test erfolgreich sein?" -#: part/models.py:3505 templates/js/translated/part.js:2916 +#: part/models.py:3548 templates/js/translated/part.js:2915 msgid "Requires Value" msgstr "Erfordert Wert" -#: part/models.py:3506 +#: part/models.py:3549 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:3511 templates/js/translated/part.js:2923 +#: part/models.py:3554 templates/js/translated/part.js:2922 msgid "Requires Attachment" msgstr "Anhang muss eingegeben werden" -#: part/models.py:3513 +#: part/models.py:3556 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:3560 +#: part/models.py:3603 msgid "Checkbox parameters cannot have units" msgstr "Checkbox-Parameter können keine Einheiten haben" -#: part/models.py:3565 +#: part/models.py:3608 msgid "Checkbox parameters cannot have choices" msgstr "Checkbox-Parameter können keine Auswahl haben" -#: part/models.py:3585 +#: part/models.py:3628 msgid "Choices must be unique" msgstr "Auswahl muss einzigartig sein" -#: part/models.py:3602 +#: part/models.py:3645 msgid "Parameter template name must be unique" msgstr "Vorlagen-Name des Parameters muss eindeutig sein" -#: part/models.py:3617 +#: part/models.py:3660 msgid "Parameter Name" msgstr "Name des Parameters" -#: part/models.py:3624 +#: part/models.py:3667 msgid "Physical units for this parameter" msgstr "Physikalische Einheiten für diesen Parameter" -#: part/models.py:3632 +#: part/models.py:3675 msgid "Parameter description" msgstr "Parameter-Beschreibung" -#: part/models.py:3638 templates/js/translated/part.js:1627 +#: part/models.py:3681 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" -msgstr "" +msgstr "Checkbox" -#: part/models.py:3639 +#: part/models.py:3682 msgid "Is this parameter a checkbox?" msgstr "Ist dieser Parameter eine Checkbox?" -#: part/models.py:3644 templates/js/translated/part.js:1636 +#: part/models.py:3687 templates/js/translated/part.js:1636 msgid "Choices" msgstr "Auswahlmöglichkeiten" -#: part/models.py:3645 +#: part/models.py:3688 msgid "Valid choices for this parameter (comma-separated)" msgstr "Gültige Optionen für diesen Parameter (durch Kommas getrennt)" -#: part/models.py:3722 +#: part/models.py:3765 msgid "Invalid choice for parameter value" msgstr "Ungültige Auswahl für Parameterwert" -#: part/models.py:3765 +#: part/models.py:3808 msgid "Parent Part" msgstr "Ausgangsteil" -#: part/models.py:3773 part/models.py:3874 part/models.py:3875 +#: part/models.py:3816 part/models.py:3917 part/models.py:3918 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "Parameter Vorlage" -#: part/models.py:3778 +#: part/models.py:3821 msgid "Data" msgstr "Wert" -#: part/models.py:3779 +#: part/models.py:3822 msgid "Parameter Value" msgstr "Parameter Wert" -#: part/models.py:3881 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3924 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "Standard-Wert" -#: part/models.py:3882 +#: part/models.py:3925 msgid "Default Parameter Value" msgstr "Standard Parameter Wert" -#: part/models.py:3920 +#: part/models.py:3963 msgid "Part ID or part name" msgstr "Teilnummer oder Teilname" -#: part/models.py:3921 +#: part/models.py:3964 msgid "Unique part ID value" msgstr "Eindeutige Teil-ID" -#: part/models.py:3923 +#: part/models.py:3966 msgid "Part IPN value" msgstr "IPN-Wert des Teils" -#: part/models.py:3924 +#: part/models.py:3967 msgid "Level" msgstr "Stufe" -#: part/models.py:3924 +#: part/models.py:3967 msgid "BOM level" msgstr "Stücklistenebene" -#: part/models.py:4014 +#: part/models.py:4057 msgid "Select parent part" msgstr "Ausgangsteil auswählen" -#: part/models.py:4024 +#: part/models.py:4067 msgid "Sub part" msgstr "Untergeordnetes Teil" -#: part/models.py:4025 +#: part/models.py:4068 msgid "Select part to be used in BOM" msgstr "Teil für die Nutzung in der Stückliste auswählen" -#: part/models.py:4036 +#: part/models.py:4079 msgid "BOM quantity for this BOM item" msgstr "Stücklisten-Anzahl für dieses Stücklisten-Teil" -#: part/models.py:4042 +#: part/models.py:4085 msgid "This BOM item is optional" msgstr "Diese Stücklisten-Position ist optional" -#: part/models.py:4048 +#: part/models.py:4091 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:4055 part/templates/part/upload_bom.html:55 +#: part/models.py:4098 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Überschuss" -#: part/models.py:4056 +#: part/models.py:4099 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Geschätzter Ausschuss (absolut oder prozentual)" -#: part/models.py:4063 +#: part/models.py:4106 msgid "BOM item reference" msgstr "Referenz der Postion auf der Stückliste" -#: part/models.py:4071 +#: part/models.py:4114 msgid "BOM item notes" msgstr "Notizen zur Stücklisten-Position" -#: part/models.py:4077 +#: part/models.py:4120 msgid "Checksum" msgstr "Prüfsumme" -#: part/models.py:4078 +#: part/models.py:4121 msgid "BOM line checksum" msgstr "Prüfsumme der Stückliste" -#: part/models.py:4083 templates/js/translated/table_filters.js:174 +#: part/models.py:4126 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "überprüft" -#: part/models.py:4084 +#: part/models.py:4127 msgid "This BOM item has been validated" msgstr "Diese Stücklistenposition wurde validiert" -#: part/models.py:4089 part/templates/part/upload_bom.html:57 +#: part/models.py:4132 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "Wird vererbt" -#: part/models.py:4090 +#: part/models.py:4133 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:4095 part/templates/part/upload_bom.html:56 +#: part/models.py:4138 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "Varianten zulassen" -#: part/models.py:4096 +#: part/models.py:4139 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:4181 stock/models.py:647 +#: part/models.py:4224 stock/models.py:668 msgid "Quantity must be integer value for trackable parts" msgstr "Menge muss eine Ganzzahl sein" -#: part/models.py:4191 part/models.py:4193 +#: part/models.py:4234 part/models.py:4236 msgid "Sub part must be specified" msgstr "Zuliefererteil muss festgelegt sein" -#: part/models.py:4333 +#: part/models.py:4376 msgid "BOM Item Substitute" msgstr "Stücklisten Ersatzteile" -#: part/models.py:4354 +#: part/models.py:4397 msgid "Substitute part cannot be the same as the master part" msgstr "Ersatzteil kann nicht identisch mit dem Hauptteil sein" -#: part/models.py:4367 +#: part/models.py:4410 msgid "Parent BOM item" msgstr "Übergeordnete Stücklisten Position" -#: part/models.py:4375 +#: part/models.py:4418 msgid "Substitute part" msgstr "Ersatzteil" -#: part/models.py:4391 +#: part/models.py:4434 msgid "Part 1" msgstr "Teil 1" -#: part/models.py:4399 +#: part/models.py:4442 msgid "Part 2" msgstr "Teil 2" -#: part/models.py:4400 +#: part/models.py:4443 msgid "Select Related Part" msgstr "verknüpftes Teil auswählen" -#: part/models.py:4419 +#: part/models.py:4462 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:4424 +#: part/models.py:4467 msgid "Duplicate relationship already exists" msgstr "Doppelte Beziehung existiert bereits" @@ -6854,7 +6808,7 @@ msgstr "Ergebnisse" msgid "Number of results recorded against this template" msgstr "Anzahl der Ergebnisse, die in dieser Vorlage aufgezeichnet wurden" -#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:406 +#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:535 msgid "Purchase currency of this stock item" msgstr "Kaufwährung dieses Lagerartikels" @@ -6870,299 +6824,299 @@ msgstr "Keine Teile ausgewählt" msgid "Select category" msgstr "Kategorie auswählen" -#: part/serializers.py:437 +#: part/serializers.py:442 msgid "Original Part" msgstr "Originalteil" -#: part/serializers.py:438 +#: part/serializers.py:443 msgid "Select original part to duplicate" msgstr "Originalteil zum Duplizieren auswählen" -#: part/serializers.py:443 +#: part/serializers.py:448 msgid "Copy Image" msgstr "Bild kopieren" -#: part/serializers.py:444 +#: part/serializers.py:449 msgid "Copy image from original part" msgstr "Bild vom Originalteil kopieren" -#: part/serializers.py:450 part/templates/part/detail.html:277 +#: part/serializers.py:455 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "Stückliste kopieren" -#: part/serializers.py:451 +#: part/serializers.py:456 msgid "Copy bill of materials from original part" msgstr "Stückliste vom Originalteil kopieren" -#: part/serializers.py:457 +#: part/serializers.py:462 msgid "Copy Parameters" msgstr "Parameter kopieren" -#: part/serializers.py:458 +#: part/serializers.py:463 msgid "Copy parameter data from original part" msgstr "Parameterdaten vom Originalteil kopieren" -#: part/serializers.py:464 +#: part/serializers.py:469 msgid "Copy Notes" msgstr "Anmerkungen kopieren" -#: part/serializers.py:465 +#: part/serializers.py:470 msgid "Copy notes from original part" msgstr "Notizen aus Originalteil kopieren" -#: part/serializers.py:478 +#: part/serializers.py:488 msgid "Initial Stock Quantity" msgstr "Start-Bestandsmenge" -#: part/serializers.py:480 +#: part/serializers.py:490 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:487 +#: part/serializers.py:497 msgid "Initial Stock Location" msgstr "Initialer Lagerort" -#: part/serializers.py:488 +#: part/serializers.py:498 msgid "Specify initial stock location for this Part" msgstr "Lagerstandort für dieses Teil angeben" -#: part/serializers.py:500 +#: part/serializers.py:515 msgid "Select supplier (or leave blank to skip)" msgstr "Lieferant auswählen (oder leer lassen, um zu überspringen)" -#: part/serializers.py:516 +#: part/serializers.py:531 msgid "Select manufacturer (or leave blank to skip)" msgstr "Hersteller auswählen (oder leer lassen, um zu überspringen)" -#: part/serializers.py:526 +#: part/serializers.py:541 msgid "Manufacturer part number" msgstr "Hersteller-Teilenummer" -#: part/serializers.py:533 +#: part/serializers.py:548 msgid "Selected company is not a valid supplier" msgstr "Ausgewählte Firma ist kein gültiger Lieferant" -#: part/serializers.py:542 +#: part/serializers.py:557 msgid "Selected company is not a valid manufacturer" msgstr "Ausgewählte Firma ist kein gültiger Hersteller" -#: part/serializers.py:553 +#: part/serializers.py:568 msgid "Manufacturer part matching this MPN already exists" msgstr "Herstellerteil mit dieser MPN existiert bereits" -#: part/serializers.py:560 +#: part/serializers.py:575 msgid "Supplier part matching this SKU already exists" msgstr "Lieferantenteil mit dieser SKU existiert bereits" -#: part/serializers.py:823 +#: part/serializers.py:838 msgid "External Stock" msgstr "Externes Lager" -#: part/serializers.py:825 +#: part/serializers.py:840 msgid "Unallocated Stock" msgstr "Nicht zugewiesenes Lager" -#: part/serializers.py:828 +#: part/serializers.py:843 msgid "Variant Stock" msgstr "Alternatives Lager" -#: part/serializers.py:856 part/templates/part/copy_part.html:9 +#: part/serializers.py:871 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "Teil duplizieren" -#: part/serializers.py:857 +#: part/serializers.py:872 msgid "Copy initial data from another Part" msgstr "Initiale Daten von anderem Teil kopieren" -#: part/serializers.py:863 templates/js/translated/part.js:102 +#: part/serializers.py:878 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "Initialer Lagerbestand" -#: part/serializers.py:864 +#: part/serializers.py:879 msgid "Create Part with initial stock quantity" msgstr "Erstelle Teil mit Ausgangsbestand" -#: part/serializers.py:870 +#: part/serializers.py:885 msgid "Supplier Information" msgstr "Lieferanteninformationen" -#: part/serializers.py:871 +#: part/serializers.py:886 msgid "Add initial supplier information for this part" msgstr "Lieferanteninformationen zu diesem Teil hinzufügen" -#: part/serializers.py:879 +#: part/serializers.py:894 msgid "Copy Category Parameters" msgstr "Kategorieparameter kopieren" -#: part/serializers.py:880 +#: part/serializers.py:895 msgid "Copy parameter templates from selected part category" msgstr "Parametervorlagen aus der ausgewählten Teilkategorie kopieren" -#: part/serializers.py:885 +#: part/serializers.py:900 msgid "Existing Image" msgstr "Vorhandenes Bild" -#: part/serializers.py:886 +#: part/serializers.py:901 msgid "Filename of an existing part image" msgstr "Dateiname eines vorhandenen Teilbildes" -#: part/serializers.py:903 +#: part/serializers.py:918 msgid "Image file does not exist" msgstr "Bilddatei existiert nicht" -#: part/serializers.py:1109 +#: part/serializers.py:1124 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:1119 +#: part/serializers.py:1134 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:1129 +#: part/serializers.py:1144 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:1135 +#: part/serializers.py:1150 msgid "Exclude External Stock" msgstr "Externen Bestand ausschließen" -#: part/serializers.py:1136 +#: part/serializers.py:1151 msgid "Exclude stock items in external locations" msgstr "Lagerartikel an externen Orten ausschließen" -#: part/serializers.py:1141 +#: part/serializers.py:1156 msgid "Generate Report" msgstr "Bericht generieren" -#: part/serializers.py:1142 +#: part/serializers.py:1157 msgid "Generate report file containing calculated stocktake data" msgstr "Erstelle Berichtsdatei mit berechneten Inventurdaten" -#: part/serializers.py:1147 +#: part/serializers.py:1162 msgid "Update Parts" msgstr "Teile aktualisieren" -#: part/serializers.py:1148 +#: part/serializers.py:1163 msgid "Update specified parts with calculated stocktake data" msgstr "Angegebene Teile mit berechneten Inventurdaten aktualisieren" -#: part/serializers.py:1156 +#: part/serializers.py:1171 msgid "Stocktake functionality is not enabled" msgstr "Inventur-Funktionalität ist nicht aktiviert" -#: part/serializers.py:1262 +#: part/serializers.py:1277 msgid "Override calculated value for minimum price" msgstr "Berechneten Wert für Mindestpreis überschreiben" -#: part/serializers.py:1269 +#: part/serializers.py:1284 msgid "Minimum price currency" msgstr "Mindestpreis Währung" -#: part/serializers.py:1277 +#: part/serializers.py:1292 msgid "Override calculated value for maximum price" msgstr "Berechneten Wert für maximalen Preis überschreiben" -#: part/serializers.py:1284 +#: part/serializers.py:1299 msgid "Maximum price currency" msgstr "Maximalpreis Währung" -#: part/serializers.py:1313 +#: part/serializers.py:1328 msgid "Update" msgstr "Aktualisieren" -#: part/serializers.py:1314 +#: part/serializers.py:1329 msgid "Update pricing for this part" msgstr "Preis für dieses Teil aktualisieren" -#: part/serializers.py:1337 +#: part/serializers.py:1352 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "Konnte nicht von den angegebenen Währungen in {default_currency} umrechnen" -#: part/serializers.py:1344 +#: part/serializers.py:1359 msgid "Minimum price must not be greater than maximum price" msgstr "Mindestpreis darf nicht größer als der Maximalpreis sein" -#: part/serializers.py:1347 +#: part/serializers.py:1362 msgid "Maximum price must not be less than minimum price" msgstr "Der Maximalpreis darf nicht kleiner als der Mindestpreis sein" -#: part/serializers.py:1714 +#: part/serializers.py:1729 msgid "Select part to copy BOM from" msgstr "Teil auswählen, von dem Stückliste kopiert wird" -#: part/serializers.py:1722 +#: part/serializers.py:1737 msgid "Remove Existing Data" msgstr "Bestehende Daten entfernen" -#: part/serializers.py:1723 +#: part/serializers.py:1738 msgid "Remove existing BOM items before copying" msgstr "Bestehende Stücklisten-Positionen vor dem Kopieren entfernen" -#: part/serializers.py:1728 +#: part/serializers.py:1743 msgid "Include Inherited" msgstr "Vererbtes einschließen" -#: part/serializers.py:1729 +#: part/serializers.py:1744 msgid "Include BOM items which are inherited from templated parts" msgstr "Stücklisten-Positionen einbeziehen, die von Vorlage-Teilen geerbt werden" -#: part/serializers.py:1734 +#: part/serializers.py:1749 msgid "Skip Invalid Rows" msgstr "Ungültige Zeilen überspringen" -#: part/serializers.py:1735 +#: part/serializers.py:1750 msgid "Enable this option to skip invalid rows" msgstr "Aktiviere diese Option, um ungültige Zeilen zu überspringen" -#: part/serializers.py:1740 +#: part/serializers.py:1755 msgid "Copy Substitute Parts" msgstr "Ersatzteile kopieren" -#: part/serializers.py:1741 +#: part/serializers.py:1756 msgid "Copy substitute parts when duplicate BOM items" msgstr "Ersatzteile beim Duplizieren von Stücklisten-Positionen kopieren" -#: part/serializers.py:1775 +#: part/serializers.py:1790 msgid "Clear Existing BOM" msgstr "Bestehende Stückliste löschen" -#: part/serializers.py:1776 +#: part/serializers.py:1791 msgid "Delete existing BOM items before uploading" msgstr "Bestehende Stücklisten-Positionen vor dem Importieren entfernen" -#: part/serializers.py:1806 +#: part/serializers.py:1821 msgid "No part column specified" msgstr "Keine Teilspalte angegeben" -#: part/serializers.py:1850 +#: part/serializers.py:1865 msgid "Multiple matching parts found" msgstr "Mehrere übereinstimmende Teile gefunden" -#: part/serializers.py:1853 +#: part/serializers.py:1868 msgid "No matching part found" msgstr "Keine passenden Teile gefunden" -#: part/serializers.py:1856 +#: part/serializers.py:1871 msgid "Part is not designated as a component" msgstr "Teil ist nicht als Komponente angelegt" -#: part/serializers.py:1865 +#: part/serializers.py:1880 msgid "Quantity not provided" msgstr "Menge nicht angegeben" -#: part/serializers.py:1873 +#: part/serializers.py:1888 msgid "Invalid quantity" msgstr "Ungültige Menge" -#: part/serializers.py:1894 +#: part/serializers.py:1909 msgid "At least one BOM item is required" msgstr "Mindestens eine Stückliste-Position ist erforderlich" #: part/stocktake.py:224 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:2085 +#: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "Gesamtstückzahl" @@ -7314,7 +7268,7 @@ msgstr "Inventurinformationen hinzufügen" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2218 users/models.py:204 +#: templates/js/translated/stock.js:2216 users/models.py:204 msgid "Stocktake" msgstr "Inventur" @@ -7412,15 +7366,15 @@ msgstr "Zulieferer" msgid "Part Manufacturers" msgstr "Teil-Hersteller" -#: part/templates/part/detail.html:659 +#: part/templates/part/detail.html:655 msgid "Related Part" msgstr "Verknüpftes Teil" -#: part/templates/part/detail.html:667 +#: part/templates/part/detail.html:663 msgid "Add Related Part" msgstr "Verknüpftes Teil hinzufügen" -#: part/templates/part/detail.html:752 +#: part/templates/part/detail.html:748 msgid "Add Test Result Template" msgstr "Testergebnis-Vorlage hinzufügen" @@ -7457,7 +7411,7 @@ msgstr "Teile-Importvorlage herunterladen" #: templates/js/translated/bom.js:309 templates/js/translated/bom.js:343 #: templates/js/translated/order.js:129 templates/js/translated/tables.js:189 msgid "Format" -msgstr "" +msgstr "Format" #: part/templates/part/import_wizard/part_upload.html:93 #: templates/js/translated/bom.js:310 templates/js/translated/bom.js:344 @@ -7479,7 +7433,7 @@ msgstr "Benachrichtigungen für dieses Teil abonnieren" #: part/templates/part/part_base.html:52 #: stock/templates/stock/item_base.html:62 -#: stock/templates/stock/location.html:74 +#: stock/templates/stock/location.html:74 templates/js/translated/label.js:142 msgid "Print Label" msgstr "Label drucken" @@ -7501,7 +7455,7 @@ msgstr "Bestand zählen" msgid "Transfer part stock" msgstr "Teilbestand verschieben" -#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2293 +#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2292 msgid "Part actions" msgstr "Teile Aktionen" @@ -7550,7 +7504,7 @@ msgid "Part is virtual (not a physical part)" msgstr "Teil ist virtuell (kein physisches Teil)" #: part/templates/part/part_base.html:163 -#: part/templates/part/part_base.html:682 +#: part/templates/part/part_base.html:681 msgid "Show Part Details" msgstr "Teildetails anzeigen" @@ -7573,7 +7527,7 @@ msgid "Minimum stock level" msgstr "Minimaler Bestand" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2444 +#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2443 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7596,19 +7550,19 @@ msgstr "QR-Code Teil" msgid "Link Barcode to Part" msgstr "Barcode mit Teil verknüpfen" -#: part/templates/part/part_base.html:512 +#: part/templates/part/part_base.html:511 msgid "Calculate" msgstr "Berechnen" -#: part/templates/part/part_base.html:529 +#: part/templates/part/part_base.html:528 msgid "Remove associated image from this part" msgstr "Verknüpftes Bild von diesem Teil entfernen" -#: part/templates/part/part_base.html:580 +#: part/templates/part/part_base.html:579 msgid "No matching images found" msgstr "Keine passenden Bilder gefunden" -#: part/templates/part/part_base.html:676 +#: part/templates/part/part_base.html:675 msgid "Hide Part Details" msgstr "Teildetails ausblenden" @@ -7667,8 +7621,8 @@ msgstr "Varianten" #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 -#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 -#: templates/js/translated/stock.js:2072 templates/navbar.html:31 +#: templates/js/translated/part.js:2391 templates/js/translated/stock.js:1059 +#: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "Bestand" @@ -7714,7 +7668,7 @@ msgstr "Bearbeiten" #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 -#: templates/js/translated/stock.js:2248 +#: templates/js/translated/stock.js:2246 msgid "Last Updated" msgstr "Zuletzt aktualisiert" @@ -7724,11 +7678,11 @@ msgstr "Preiskategorie" #: part/templates/part/prices.html:38 part/templates/part/prices.html:128 msgid "Minimum" -msgstr "" +msgstr "Minimum" #: part/templates/part/prices.html:39 part/templates/part/prices.html:129 msgid "Maximum" -msgstr "" +msgstr "Maximum" #: part/templates/part/prices.html:51 part/templates/part/prices.html:174 msgid "Internal Pricing" @@ -7786,7 +7740,7 @@ msgid "Update Pricing" msgstr "Preise aktualisieren" #: part/templates/part/stock_count.html:7 -#: templates/js/translated/model_renderers.js:221 +#: templates/js/translated/model_renderers.js:227 #: templates/js/translated/part.js:704 templates/js/translated/part.js:2140 #: templates/js/translated/part.js:2142 msgid "No Stock" @@ -7866,7 +7820,7 @@ msgstr "Teilbild nicht gefunden" msgid "Part Pricing" msgstr "Teilbepreisung" -#: plugin/api.py:168 +#: plugin/api.py:170 msgid "Plugin cannot be deleted as it is currently active" msgstr "Das Plugin kann nicht gelöscht werden, da es derzeit aktiv ist" @@ -7933,7 +7887,7 @@ msgid "Stock item does not match line item" msgstr "Lagerartikel stimmt nicht mit dem Element überein" #: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2589 -#: templates/js/translated/sales_order.js:1917 +#: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "Unzureichender Bestand verfügbar" @@ -8027,25 +7981,21 @@ msgstr "Sendung wurde bereits geliefert" msgid "Quantity to allocate" msgstr "Zugewiesene Menge" -#: plugin/base/label/label.py:39 +#: plugin/base/label/label.py:39 templates/js/translated/label.js:154 msgid "Label printing failed" msgstr "Labeldruck fehlgeschlagen" -#: plugin/base/label/mixins.py:63 +#: plugin/base/label/mixins.py:56 msgid "Error rendering label to PDF" msgstr "Fehler beim Rendern des Etikett als PDF" -#: plugin/base/label/mixins.py:76 +#: plugin/base/label/mixins.py:70 msgid "Error rendering label to HTML" msgstr "Fehler beim Rendern des Etikett als HTML" -#: plugin/base/label/mixins.py:111 -msgid "Error rendering label to PNG" -msgstr "Fehler beim Rendern des Etikett als PNG" - #: plugin/builtin/barcodes/inventree_barcode.py:25 msgid "InvenTree Barcodes" -msgstr "" +msgstr "InvenTree Barcodes" #: plugin/builtin/barcodes/inventree_barcode.py:26 msgid "Provides native support for barcodes" @@ -8054,7 +8004,7 @@ msgstr "Bietet native Unterstützung für Barcodes" #: plugin/builtin/barcodes/inventree_barcode.py:28 #: plugin/builtin/integration/core_notifications.py:35 #: plugin/builtin/integration/currency_exchange.py:21 -#: plugin/builtin/labels/inventree_label.py:23 +#: plugin/builtin/labels/inventree_label.py:22 #: plugin/builtin/labels/inventree_machine.py:64 #: plugin/builtin/labels/label_sheet.py:63 #: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 @@ -8108,19 +8058,19 @@ msgstr "InvenTree Währungsumstellung" msgid "Default currency exchange integration" msgstr "Standard-Wechselkursintegration" -#: plugin/builtin/labels/inventree_label.py:20 +#: plugin/builtin/labels/inventree_label.py:19 msgid "InvenTree PDF label printer" msgstr "InvenTree PDF-Etikettendrucker" -#: plugin/builtin/labels/inventree_label.py:21 +#: plugin/builtin/labels/inventree_label.py:20 msgid "Provides native support for printing PDF labels" msgstr "Bietet native Unterstützung für das Drucken von PDF-Etiketten" -#: plugin/builtin/labels/inventree_label.py:29 +#: plugin/builtin/labels/inventree_label.py:28 msgid "Debug mode" msgstr "Debug-Modus" -#: plugin/builtin/labels/inventree_label.py:30 +#: plugin/builtin/labels/inventree_label.py:29 msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "Debug-Modus aktivieren - gibt Roh-HTML statt PDF zurück" @@ -8132,11 +8082,11 @@ msgstr "InvenTree Maschinen-Etikettendrucker" msgid "Provides support for printing using a machine" msgstr "Unterstützt das Drucken mit einer Maschine" -#: plugin/builtin/labels/inventree_machine.py:150 +#: plugin/builtin/labels/inventree_machine.py:151 msgid "last used" msgstr "Zuletzt benutzt" -#: plugin/builtin/labels/inventree_machine.py:167 +#: plugin/builtin/labels/inventree_machine.py:168 msgid "Options" msgstr "Optionen" @@ -8160,7 +8110,7 @@ msgstr "Rand" msgid "Print a border around each label" msgstr "Einen Rahmen um jedes Label drucken" -#: plugin/builtin/labels/label_sheet.py:47 report/models.py:209 +#: plugin/builtin/labels/label_sheet.py:47 report/models.py:308 msgid "Landscape" msgstr "Querformat" @@ -8176,11 +8126,11 @@ msgstr "InvenTree Etikettendrucker" msgid "Arrays multiple labels onto a single sheet" msgstr "Anordnen mehrerer Etiketten auf einem einzigen Blatt" -#: plugin/builtin/labels/label_sheet.py:94 +#: plugin/builtin/labels/label_sheet.py:99 msgid "Label is too large for page size" msgstr "Label ist zu groß für Seitengröße" -#: plugin/builtin/labels/label_sheet.py:128 +#: plugin/builtin/labels/label_sheet.py:133 msgid "No labels were generated" msgstr "Es wurden keine Etiketten generiert" @@ -8273,61 +8223,62 @@ msgstr "Plugin kann nicht deinstalliert werden, da es momentan aktiv ist" msgid "Uninstalled plugin successfully" msgstr "Plugin erfolgreich deinstallieren" -#: plugin/models.py:30 +#: plugin/models.py:35 msgid "Plugin Configuration" msgstr "Plugin-Konfiguration" -#: plugin/models.py:31 +#: plugin/models.py:36 msgid "Plugin Configurations" msgstr "Plugin-Konfigurationen" -#: plugin/models.py:34 users/models.py:100 +#: plugin/models.py:42 users/models.py:100 msgid "Key" msgstr "Schlüssel" -#: plugin/models.py:34 +#: plugin/models.py:43 msgid "Key of plugin" msgstr "Schlüssel des Plugins" -#: plugin/models.py:42 +#: plugin/models.py:51 msgid "PluginName of the plugin" msgstr "Name des Plugins" -#: plugin/models.py:49 plugin/serializers.py:90 +#: plugin/models.py:58 plugin/serializers.py:90 msgid "Package Name" msgstr "Paket-Name" -#: plugin/models.py:51 +#: plugin/models.py:60 msgid "Name of the installed package, if the plugin was installed via PIP" msgstr "Name des installierten Paketes, wenn das Plugin über PIP installiert wurde" -#: plugin/models.py:56 +#: plugin/models.py:65 msgid "Is the plugin active" msgstr "Ist das Plugin aktiv" -#: plugin/models.py:147 templates/js/translated/table_filters.js:370 +#: plugin/models.py:156 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "Installiert" -#: plugin/models.py:156 +#: plugin/models.py:165 msgid "Sample plugin" msgstr "Beispiel-Plugin" -#: plugin/models.py:164 +#: plugin/models.py:173 msgid "Builtin Plugin" msgstr "Integriertes Plugin" -#: plugin/models.py:172 +#: plugin/models.py:181 msgid "Package Plugin" msgstr "Paket-Plugin" -#: plugin/models.py:196 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:205 report/models.py:475 +#: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" -msgstr "" +msgstr "Plugin" -#: plugin/models.py:243 +#: plugin/models.py:252 msgid "Method" msgstr "Methode" @@ -8406,7 +8357,7 @@ msgstr "Name für das Plugin-Paket - kann auch einen Versionstext enthalten" #: templates/InvenTree/settings/plugin_settings.html:42 #: templates/js/translated/plugin.js:86 msgid "Version" -msgstr "" +msgstr "Version" #: plugin/serializers.py:101 msgid "Version specifier for the plugin. Leave blank for latest version." @@ -8468,239 +8419,323 @@ msgstr "Konfiguration löschen" msgid "Delete the plugin configuration from the database" msgstr "Plugin-Konfiguration aus der Datenbank löschen" -#: report/api.py:158 +#: report/api.py:77 msgid "No valid objects provided to template" msgstr "Keine korrekten Objekte für Vorlage gegeben" -#: report/api.py:197 report/api.py:234 +#: report/api.py:89 report/serializers.py:53 +msgid "Model Type" +msgstr "" + +#: report/api.py:92 report/models.py:439 report/serializers.py:98 +#: report/serializers.py:148 templates/js/translated/purchase_order.js:1747 +#: templates/js/translated/return_order.js:353 +#: templates/js/translated/sales_order.js:887 +#: templates/js/translated/sales_order.js:1047 +msgid "Items" +msgstr "Teile" + +#: report/api.py:168 +msgid "Plugin not found" +msgstr "" + +#: report/api.py:170 +msgid "Plugin is not active" +msgstr "" + +#: report/api.py:172 +msgid "Plugin does not support label printing" +msgstr "" + +#: report/api.py:221 +msgid "Invalid label dimensions" +msgstr "" + +#: report/api.py:236 report/api.py:316 +msgid "No valid items provided to template" +msgstr "" + +#: report/api.py:271 +msgid "Error printing label" +msgstr "Fehler beim Drucken des Labels" + +#: report/api.py:362 report/api.py:398 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "Vorlagendatei '{template}' fehlt oder existiert nicht" -#: report/api.py:319 -msgid "Test report" -msgstr "Testbericht" - -#: report/helpers.py:15 +#: report/helpers.py:41 msgid "A4" -msgstr "" +msgstr "A4" -#: report/helpers.py:16 +#: report/helpers.py:42 msgid "A3" -msgstr "" +msgstr "A3" -#: report/helpers.py:17 +#: report/helpers.py:43 msgid "Legal" msgstr "US-Legal" -#: report/helpers.py:18 +#: report/helpers.py:44 msgid "Letter" msgstr "US-Letter" -#: report/models.py:177 +#: report/models.py:118 +msgid "Template file with this name already exists" +msgstr "" + +#: report/models.py:150 msgid "Template name" msgstr "Vorlagen Name" -#: report/models.py:183 -msgid "Report template file" -msgstr "Bericht-Vorlage Datei" +#: report/models.py:156 +msgid "Template description" +msgstr "" -#: report/models.py:190 -msgid "Report template description" -msgstr "Bericht-Vorlage Beschreibung" +#: report/models.py:162 +msgid "Revision number (auto-increments)" +msgstr "" -#: report/models.py:196 -msgid "Report revision number (auto-increments)" -msgstr "Bericht Revisionsnummer (autom. erhöht)" +#: report/models.py:202 +msgid "Filename Pattern" +msgstr "Dateinamen-Muster" -#: report/models.py:204 +#: report/models.py:203 +msgid "Pattern for generating filenames" +msgstr "" + +#: report/models.py:208 +msgid "Template is enabled" +msgstr "" + +#: report/models.py:214 +msgid "Target model type for template" +msgstr "" + +#: report/models.py:234 +msgid "Filters" +msgstr "Filter" + +#: report/models.py:235 +msgid "Template query filters (comma-separated list of key=value pairs)" +msgstr "" + +#: report/models.py:295 report/models.py:362 +msgid "Template file" +msgstr "" + +#: report/models.py:303 msgid "Page size for PDF reports" msgstr "Seitengröße für PDF-Berichte" -#: report/models.py:210 +#: report/models.py:309 msgid "Render report in landscape orientation" msgstr "Bericht in Querformat anzeigen" -#: report/models.py:318 -msgid "Pattern for generating report filenames" -msgstr "Muster für die Erstellung von Berichtsdateinamen" +#: report/models.py:368 +msgid "Width [mm]" +msgstr "Breite [mm]" -#: report/models.py:325 -msgid "Report template is enabled" -msgstr "Bericht-Vorlage ist ein" +#: report/models.py:369 +msgid "Label width, specified in mm" +msgstr "Label-Breite in mm" -#: report/models.py:347 -msgid "StockItem query filters (comma-separated list of key=value pairs)" -msgstr "Lagerartikel-Abfragefilter (kommagetrennte Liste mit Schlüssel=Wert-Paaren)" +#: report/models.py:375 +msgid "Height [mm]" +msgstr "Höhe [mm]" -#: report/models.py:354 -msgid "Include Installed Tests" -msgstr "einfügen Installiert in Tests" +#: report/models.py:376 +msgid "Label height, specified in mm" +msgstr "Label-Höhe in mm" -#: report/models.py:356 -msgid "Include test results for stock items installed inside assembled item" -msgstr "Test-Ergebnisse für Lagerartikel in Baugruppen einschließen" - -#: report/models.py:424 -msgid "Build Filters" -msgstr "Bauauftrag Filter" - -#: report/models.py:425 -msgid "Build query filters (comma-separated list of key=value pairs" -msgstr "Bau-Abfragefilter (kommagetrennte Liste mit Schlüssel=Wert-Paaren)" - -#: report/models.py:464 -msgid "Part Filters" -msgstr "Teil Filter" - -#: report/models.py:465 -msgid "Part query filters (comma-separated list of key=value pairs" -msgstr "Teile-Abfragefilter (kommagetrennte Liste mit Schlüssel=Wert-Paaren)" - -#: report/models.py:497 -msgid "Purchase order query filters" -msgstr "Bestellungs-Abfragefilter" - -#: report/models.py:533 -msgid "Sales order query filters" -msgstr "Auftrags-Abfragefilter" - -#: report/models.py:569 -msgid "Return order query filters" -msgstr "Rückgabe von Auftragsabfragefiltern" - -#: report/models.py:641 -msgid "Snippet file with this name already exists" -msgstr "Snippet-Datei mit diesem Namen existiert bereits" - -#: report/models.py:648 -msgid "Snippet" +#: report/models.py:439 +msgid "Number of items to process" msgstr "" -#: report/models.py:649 +#: report/models.py:445 +msgid "Report generation is complete" +msgstr "" + +#: report/models.py:449 templates/js/translated/build.js:2177 +msgid "Progress" +msgstr "Fortschritt" + +#: report/models.py:449 +msgid "Report generation progress" +msgstr "" + +#: report/models.py:457 +msgid "Report Template" +msgstr "" + +#: report/models.py:464 report/models.py:487 +msgid "Output File" +msgstr "" + +#: report/models.py:465 report/models.py:488 +msgid "Generated output file" +msgstr "" + +#: report/models.py:476 +msgid "Label output plugin" +msgstr "" + +#: report/models.py:480 +msgid "Label Template" +msgstr "" + +#: report/models.py:503 +msgid "Snippet" +msgstr "Schnipsel" + +#: report/models.py:504 msgid "Report snippet file" msgstr "Berichts-Snippet" -#: report/models.py:656 +#: report/models.py:511 msgid "Snippet file description" msgstr "Snippet-Beschreibung" -#: report/models.py:714 -msgid "Asset file with this name already exists" -msgstr "Eine Datei mit diesem Namen existiert bereits" - -#: report/models.py:722 +#: report/models.py:529 msgid "Asset" msgstr "Ressource" -#: report/models.py:723 +#: report/models.py:530 msgid "Report asset file" msgstr "Berichts-Ressource" -#: report/models.py:730 +#: report/models.py:537 msgid "Asset file description" msgstr "Ressource-Beschreibung" -#: report/models.py:752 -msgid "stock location query filters (comma-separated list of key=value pairs)" -msgstr "Filter für standortbezogene Abfragen (kommaseparierte Liste von Schlüssel=Wert-Paaren)" +#: report/serializers.py:91 +msgid "Select report template" +msgstr "" + +#: report/serializers.py:99 report/serializers.py:149 +msgid "List of item primary keys to include in the report" +msgstr "" + +#: report/serializers.py:132 +msgid "Select label template" +msgstr "Etiketten-Vorlage auswählen" + +#: report/serializers.py:140 +msgid "Printing Plugin" +msgstr "" + +#: report/serializers.py:141 +msgid "Select plugin to use for label printing" +msgstr "" + +#: report/templates/label/part_label.html:31 +#: report/templates/label/stockitem_qr.html:21 +#: report/templates/label/stocklocation_qr.html:20 +#: templates/allauth_2fa/setup.html:18 +msgid "QR Code" +msgstr "QR-Code" + +#: report/templates/label/part_label_code128.html:31 +#: report/templates/label/stocklocation_qr_and_text.html:31 +#: templates/qr_code.html:7 +msgid "QR code" +msgstr "QR-Code" #: report/templates/report/inventree_bill_of_materials_report.html:133 msgid "Materials needed" msgstr "Benötigte Materialien" -#: report/templates/report/inventree_build_order_base.html:146 +#: report/templates/report/inventree_build_order_report.html:146 msgid "Required For" msgstr "benötigt für" -#: report/templates/report/inventree_po_report_base.html:15 +#: report/templates/report/inventree_purchase_order_report.html:15 msgid "Supplier was deleted" msgstr "Lieferant gelöscht" -#: report/templates/report/inventree_po_report_base.html:30 -#: report/templates/report/inventree_so_report_base.html:30 +#: report/templates/report/inventree_purchase_order_report.html:30 +#: report/templates/report/inventree_sales_order_report.html:30 #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:834 -#: templates/js/translated/purchase_order.js:2116 -#: templates/js/translated/sales_order.js:1837 +#: templates/js/translated/purchase_order.js:2115 +#: templates/js/translated/sales_order.js:1873 msgid "Unit Price" msgstr "Stück-Preis" -#: report/templates/report/inventree_po_report_base.html:55 -#: report/templates/report/inventree_return_order_report_base.html:48 -#: report/templates/report/inventree_so_report_base.html:55 +#: report/templates/report/inventree_purchase_order_report.html:55 +#: report/templates/report/inventree_return_order_report.html:48 +#: report/templates/report/inventree_sales_order_report.html:55 msgid "Extra Line Items" 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:2018 -#: templates/js/translated/sales_order.js:1806 +#: report/templates/report/inventree_purchase_order_report.html:72 +#: report/templates/report/inventree_sales_order_report.html:72 +#: templates/js/translated/purchase_order.js:2017 +#: templates/js/translated/sales_order.js:1842 msgid "Total" msgstr "Summe" -#: report/templates/report/inventree_return_order_report_base.html:25 -#: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:809 stock/templates/stock/item_base.html:311 +#: report/templates/report/inventree_return_order_report.html:25 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:830 +#: stock/serializers.py:150 stock/templates/stock/item_base.html:311 #: templates/js/translated/build.js:519 templates/js/translated/build.js:1367 #: templates/js/translated/build.js:2355 -#: templates/js/translated/model_renderers.js:224 -#: templates/js/translated/return_order.js:540 -#: templates/js/translated/return_order.js:724 +#: templates/js/translated/model_renderers.js:230 +#: templates/js/translated/return_order.js:539 +#: templates/js/translated/return_order.js:723 #: templates/js/translated/sales_order.js:315 -#: templates/js/translated/sales_order.js:1611 -#: templates/js/translated/sales_order.js:1696 +#: templates/js/translated/sales_order.js:1647 +#: templates/js/translated/sales_order.js:1732 #: templates/js/translated/stock.js:596 msgid "Serial Number" msgstr "Seriennummer" -#: report/templates/report/inventree_slr_report.html:97 +#: report/templates/report/inventree_stock_location_report.html:97 msgid "Stock location items" msgstr "Lagerstandorte" -#: report/templates/report/inventree_test_report_base.html:21 +#: report/templates/report/inventree_test_report.html:21 msgid "Stock Item Test Report" msgstr "Lagerartikel Test-Bericht" -#: report/templates/report/inventree_test_report_base.html:97 +#: report/templates/report/inventree_test_report.html:97 msgid "Test Results" msgstr "Testergebnisse" -#: report/templates/report/inventree_test_report_base.html:102 +#: report/templates/report/inventree_test_report.html:102 #: templates/js/translated/stock.js:1495 msgid "Test" -msgstr "" +msgstr "Test" -#: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2442 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2419 msgid "Result" msgstr "Ergebnis" -#: report/templates/report/inventree_test_report_base.html:130 +#: report/templates/report/inventree_test_report.html:130 msgid "Pass" msgstr "bestanden" -#: report/templates/report/inventree_test_report_base.html:132 +#: report/templates/report/inventree_test_report.html:132 msgid "Fail" msgstr "fehlgeschlagen" -#: report/templates/report/inventree_test_report_base.html:139 +#: report/templates/report/inventree_test_report.html:139 msgid "No result (required)" msgstr "Kein Ergebnis (erforderlich)" -#: report/templates/report/inventree_test_report_base.html:141 +#: report/templates/report/inventree_test_report.html:141 msgid "No result" msgstr "Kein Ergebnis" -#: report/templates/report/inventree_test_report_base.html:154 +#: report/templates/report/inventree_test_report.html:154 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "Verbaute Objekte" -#: report/templates/report/inventree_test_report_base.html:168 -#: stock/admin.py:162 templates/js/translated/stock.js:700 -#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3113 +#: report/templates/report/inventree_test_report.html:168 stock/admin.py:162 +#: templates/js/translated/stock.js:700 templates/js/translated/stock.js:871 +#: templates/js/translated/stock.js:3110 msgid "Serial" msgstr "Seriennummer" @@ -8757,7 +8792,7 @@ msgstr "Lieferant" msgid "Customer ID" msgstr "Kunden ID" -#: stock/admin.py:201 stock/models.py:789 +#: stock/admin.py:201 stock/models.py:810 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "verbaut in" @@ -8782,66 +8817,66 @@ msgstr "Überprüfung erforderlich" msgid "Delete on Deplete" msgstr "Löschen wenn leer" -#: stock/admin.py:256 stock/models.py:883 +#: stock/admin.py:256 stock/models.py:904 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2232 users/models.py:124 +#: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" msgstr "Ablaufdatum" -#: stock/api.py:284 +#: stock/api.py:318 msgid "Filter by location depth" msgstr "Filtern nach Standorttiefe" -#: stock/api.py:304 +#: stock/api.py:338 msgid "Include sub-locations in filtered results" msgstr "Unterorte in gefilterte Ergebnisse einbeziehen" -#: stock/api.py:325 +#: stock/api.py:359 msgid "Parent Location" msgstr "Übergeordneter Ort" -#: stock/api.py:326 +#: stock/api.py:360 msgid "Filter by parent location" msgstr "Filtern nach übergeordnetem Ort" -#: stock/api.py:579 templates/js/translated/table_filters.js:427 +#: stock/api.py:613 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "Externer Standort" -#: stock/api.py:767 +#: stock/api.py:801 msgid "Part Tree" msgstr "Teile-Baum" -#: stock/api.py:797 +#: stock/api.py:831 msgid "Expiry date before" msgstr "Gültigkeitsdauer vor" -#: stock/api.py:801 +#: stock/api.py:835 msgid "Expiry date after" msgstr "Gültigkeitsdauer nach" -#: stock/api.py:804 stock/templates/stock/item_base.html:439 +#: stock/api.py:838 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "überfällig" -#: stock/api.py:891 +#: stock/api.py:925 msgid "Quantity is required" msgstr "Menge ist erforderlich" -#: stock/api.py:897 +#: stock/api.py:931 msgid "Valid part must be supplied" msgstr "Gültiges Teil muss angegeben werden" -#: stock/api.py:928 +#: stock/api.py:962 msgid "The given supplier part does not exist" msgstr "Der angegebene Lieferantenartikel existiert nicht" -#: stock/api.py:938 +#: stock/api.py:972 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "Das Zulieferteil hat eine Packungsgröße definiert, aber das Kennzeichen use_pack_size ist nicht gesetzt" -#: stock/api.py:969 +#: stock/api.py:1003 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "Seriennummern können für nicht verfolgbare Teile nicht angegeben werden" @@ -8857,477 +8892,517 @@ msgstr "Lagerstandorte Typen" msgid "Default icon for all locations that have no icon set (optional)" msgstr "Standardsymbol für alle Orte, die kein Icon gesetzt haben (optional)" -#: stock/models.py:125 stock/models.py:771 +#: stock/models.py:127 stock/models.py:792 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Bestand-Lagerort" -#: stock/models.py:126 stock/templates/stock/location.html:179 +#: stock/models.py:128 stock/templates/stock/location.html:186 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "Bestand-Lagerorte" -#: stock/models.py:158 stock/models.py:932 +#: stock/models.py:170 stock/models.py:953 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "Besitzer" -#: stock/models.py:159 stock/models.py:933 +#: stock/models.py:171 stock/models.py:954 msgid "Select Owner" msgstr "Besitzer auswählen" -#: stock/models.py:167 +#: stock/models.py:179 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "Lagerartikel können nicht direkt an einen strukturellen Lagerort verlegt werden, können aber an einen untergeordneten Lagerort verlegt werden." -#: stock/models.py:174 templates/js/translated/stock.js:2784 +#: stock/models.py:186 templates/js/translated/stock.js:2781 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "Extern" -#: stock/models.py:175 +#: stock/models.py:187 msgid "This is an external stock location" msgstr "Dies ist ein externer Lagerort" -#: stock/models.py:181 templates/js/translated/stock.js:2793 +#: stock/models.py:193 templates/js/translated/stock.js:2790 #: templates/js/translated/table_filters.js:246 msgid "Location type" msgstr "Standorttyp" -#: stock/models.py:185 +#: stock/models.py:197 msgid "Stock location type of this location" msgstr "Standortart dieses Standortes" -#: stock/models.py:254 +#: stock/models.py:266 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "Sie können diesen Lagerort nicht als strukturell markieren, da sich bereits Lagerartikel darin befinden!" -#: stock/models.py:626 +#: stock/models.py:647 msgid "Stock items cannot be located into structural stock locations!" msgstr "Lagerartikel können nicht in strukturelle Lagerorte abgelegt werden!" -#: stock/models.py:653 stock/serializers.py:290 +#: stock/models.py:674 stock/serializers.py:419 msgid "Stock item cannot be created for virtual parts" msgstr "Für virtuelle Teile können keine Lagerartikel erstellt werden" -#: stock/models.py:670 +#: stock/models.py:691 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "Artikeltyp ('{self.supplier_part.part}') muss {self.part} sein" -#: stock/models.py:680 stock/models.py:693 +#: stock/models.py:701 stock/models.py:714 msgid "Quantity must be 1 for item with a serial number" msgstr "Anzahl muss für Objekte mit Seriennummer 1 sein" -#: stock/models.py:683 +#: stock/models.py:704 msgid "Serial number cannot be set if quantity greater than 1" msgstr "Seriennummer kann nicht gesetzt werden wenn die Anzahl größer als 1 ist" -#: stock/models.py:707 +#: stock/models.py:728 msgid "Item cannot belong to itself" msgstr "Teil kann nicht zu sich selbst gehören" -#: stock/models.py:712 +#: stock/models.py:733 msgid "Item must have a build reference if is_building=True" msgstr "Teil muss eine Referenz haben wenn is_building wahr ist" -#: stock/models.py:725 +#: stock/models.py:746 msgid "Build reference does not point to the same part object" msgstr "Referenz verweist nicht auf das gleiche Teil" -#: stock/models.py:741 +#: stock/models.py:762 msgid "Parent Stock Item" msgstr "Eltern-Lagerartikel" -#: stock/models.py:753 +#: stock/models.py:774 msgid "Base part" msgstr "Basis-Teil" -#: stock/models.py:763 +#: stock/models.py:784 msgid "Select a matching supplier part for this stock item" msgstr "Passendes Zuliefererteil für diesen Lagerartikel auswählen" -#: stock/models.py:775 +#: stock/models.py:796 msgid "Where is this stock item located?" msgstr "Wo wird dieses Teil normalerweise gelagert?" -#: stock/models.py:783 stock/serializers.py:1351 +#: stock/models.py:804 stock/serializers.py:1480 msgid "Packaging this stock item is stored in" msgstr "Verpackung, in der dieser Lagerartikel gelagert ist" -#: stock/models.py:794 +#: stock/models.py:815 msgid "Is this item installed in another item?" msgstr "Ist dieses Teil in einem anderen verbaut?" -#: stock/models.py:813 +#: stock/models.py:834 msgid "Serial number for this item" msgstr "Seriennummer für dieses Teil" -#: stock/models.py:827 stock/serializers.py:1334 +#: stock/models.py:848 stock/serializers.py:1463 msgid "Batch code for this stock item" msgstr "Losnummer für diesen Lagerartikel" -#: stock/models.py:832 +#: stock/models.py:853 msgid "Stock Quantity" msgstr "Bestand" -#: stock/models.py:842 +#: stock/models.py:863 msgid "Source Build" msgstr "Quellbau" -#: stock/models.py:845 +#: stock/models.py:866 msgid "Build for this stock item" msgstr "Bauauftrag für diesen Lagerartikel" -#: stock/models.py:852 stock/templates/stock/item_base.html:363 +#: stock/models.py:873 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "Verbraucht von" -#: stock/models.py:855 +#: stock/models.py:876 msgid "Build order which consumed this stock item" msgstr "Bauauftrag der diesen Lagerartikel verbrauchte" -#: stock/models.py:864 +#: stock/models.py:885 msgid "Source Purchase Order" msgstr "Quelle Bestellung" -#: stock/models.py:868 +#: stock/models.py:889 msgid "Purchase order for this stock item" msgstr "Bestellung für diesen Lagerartikel" -#: stock/models.py:874 +#: stock/models.py:895 msgid "Destination Sales Order" msgstr "Ziel-Auftrag" -#: stock/models.py:885 +#: stock/models.py:906 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "Ablaufdatum für Lagerartikel. Bestand wird danach als abgelaufen gekennzeichnet" -#: stock/models.py:903 +#: stock/models.py:924 msgid "Delete on deplete" msgstr "Löschen wenn leer" -#: stock/models.py:904 +#: stock/models.py:925 msgid "Delete this Stock Item when stock is depleted" msgstr "Diesen Lagerartikel löschen wenn der Bestand aufgebraucht ist" -#: stock/models.py:924 +#: stock/models.py:945 msgid "Single unit purchase price at time of purchase" msgstr "Preis für eine Einheit bei Einkauf" -#: stock/models.py:955 +#: stock/models.py:976 msgid "Converted to part" msgstr "In Teil umgewandelt" -#: stock/models.py:1473 +#: stock/models.py:1494 msgid "Part is not set as trackable" msgstr "Teil ist nicht verfolgbar" -#: stock/models.py:1479 +#: stock/models.py:1500 msgid "Quantity must be integer" msgstr "Anzahl muss eine Ganzzahl sein" -#: stock/models.py:1487 +#: stock/models.py:1508 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "Menge darf die verfügbare Lagermenge ({self.quantity}) nicht überschreiten" -#: stock/models.py:1493 +#: stock/models.py:1514 msgid "Serial numbers must be a list of integers" msgstr "Seriennummern muss eine Liste von Ganzzahlen sein" -#: stock/models.py:1498 +#: stock/models.py:1519 msgid "Quantity does not match serial numbers" msgstr "Anzahl stimmt nicht mit den Seriennummern überein" -#: stock/models.py:1506 stock/serializers.py:529 +#: stock/models.py:1527 stock/serializers.py:658 msgid "Serial numbers already exist" msgstr "Seriennummern existieren bereits" -#: stock/models.py:1603 +#: stock/models.py:1624 msgid "Test template does not exist" msgstr "Testvorlage existiert nicht" -#: stock/models.py:1621 +#: stock/models.py:1642 msgid "Stock item has been assigned to a sales order" msgstr "Artikel wurde einem Kundenauftrag zugewiesen" -#: stock/models.py:1625 +#: stock/models.py:1646 msgid "Stock item is installed in another item" msgstr "Lagerartikel ist in anderem Element verbaut" -#: stock/models.py:1628 +#: stock/models.py:1649 msgid "Stock item contains other items" msgstr "Lagerartikel enthält andere Artikel" -#: stock/models.py:1631 +#: stock/models.py:1652 msgid "Stock item has been assigned to a customer" msgstr "Artikel wurde einem Kunden zugewiesen" -#: stock/models.py:1634 +#: stock/models.py:1655 msgid "Stock item is currently in production" msgstr "Lagerartikel wird aktuell produziert" -#: stock/models.py:1637 +#: stock/models.py:1658 msgid "Serialized stock cannot be merged" msgstr "Nachverfolgbare Lagerartikel können nicht zusammengeführt werden" -#: stock/models.py:1644 stock/serializers.py:1240 +#: stock/models.py:1665 stock/serializers.py:1369 msgid "Duplicate stock items" msgstr "Artikel duplizeren" -#: stock/models.py:1648 +#: stock/models.py:1669 msgid "Stock items must refer to the same part" msgstr "Lagerartikel müssen auf dasselbe Teil verweisen" -#: stock/models.py:1656 +#: stock/models.py:1677 msgid "Stock items must refer to the same supplier part" msgstr "Lagerartikel müssen auf dasselbe Lieferantenteil verweisen" -#: stock/models.py:1661 +#: stock/models.py:1682 msgid "Stock status codes must match" msgstr "Status-Codes müssen zusammenpassen" -#: stock/models.py:1882 +#: stock/models.py:1903 msgid "StockItem cannot be moved as it is not in stock" msgstr "Lagerartikel kann nicht bewegt werden, da kein Bestand vorhanden ist" -#: stock/models.py:2345 +#: stock/models.py:2322 msgid "Entry notes" msgstr "Eintrags-Notizen" -#: stock/models.py:2410 +#: stock/models.py:2387 msgid "Value must be provided for this test" msgstr "Wert muss für diesen Test angegeben werden" -#: stock/models.py:2415 +#: stock/models.py:2392 msgid "Attachment must be uploaded for this test" msgstr "Anhang muss für diesen Test hochgeladen werden" -#: stock/models.py:2442 +#: stock/models.py:2419 msgid "Test result" msgstr "Testergebnis" -#: stock/models.py:2449 +#: stock/models.py:2426 msgid "Test output value" msgstr "Test Ausgabe Wert" -#: stock/models.py:2457 +#: stock/models.py:2434 msgid "Test result attachment" msgstr "Test Ergebnis Anhang" -#: stock/models.py:2461 +#: stock/models.py:2438 msgid "Test notes" msgstr "Test Notizen" -#: stock/models.py:2469 templates/js/translated/stock.js:1548 +#: stock/models.py:2446 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "Teststation" -#: stock/models.py:2470 +#: stock/models.py:2447 msgid "The identifier of the test station where the test was performed" msgstr "Der Bezeichner der Teststation, in der der Test durchgeführt wurde" -#: stock/models.py:2476 +#: stock/models.py:2453 msgid "Started" msgstr "Gestartet" -#: stock/models.py:2477 +#: stock/models.py:2454 msgid "The timestamp of the test start" msgstr "Der Zeitstempel des Teststarts" -#: stock/models.py:2483 +#: stock/models.py:2460 msgid "Finished" msgstr "Fertiggestellt" -#: stock/models.py:2484 +#: stock/models.py:2461 msgid "The timestamp of the test finish" msgstr "Der Zeitstempel der Test-Beendigung" -#: stock/serializers.py:100 +#: stock/serializers.py:75 +msgid "Generated batch code" +msgstr "" + +#: stock/serializers.py:84 +msgid "Select build order" +msgstr "" + +#: stock/serializers.py:93 +msgid "Select stock item to generate batch code for" +msgstr "" + +#: stock/serializers.py:102 +msgid "Select location to generate batch code for" +msgstr "" + +#: stock/serializers.py:111 +msgid "Select part to generate batch code for" +msgstr "" + +#: stock/serializers.py:120 +msgid "Select purchase order" +msgstr "" + +#: stock/serializers.py:127 +msgid "Enter quantity for batch code" +msgstr "" + +#: stock/serializers.py:150 +msgid "Generated serial number" +msgstr "" + +#: stock/serializers.py:159 +msgid "Select part to generate serial number for" +msgstr "" + +#: stock/serializers.py:167 +msgid "Quantity of serial numbers to generate" +msgstr "" + +#: stock/serializers.py:229 msgid "Test template for this result" msgstr "Testvorlage für dieses Ergebnis" -#: stock/serializers.py:119 +#: stock/serializers.py:248 msgid "Template ID or test name must be provided" msgstr "Vorlagen-ID oder Testname muss angegeben werden" -#: stock/serializers.py:151 +#: stock/serializers.py:280 msgid "The test finished time cannot be earlier than the test started time" msgstr "Die Test-Endzeit kann nicht früher als die Startzeit des Tests sein" -#: stock/serializers.py:184 +#: stock/serializers.py:313 msgid "Serial number is too large" msgstr "Seriennummer ist zu lang" -#: stock/serializers.py:282 +#: stock/serializers.py:411 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "Packungsgröße beim Hinzufügen verwenden: Die definierte Menge ist die Anzahl der Pakete" -#: stock/serializers.py:402 +#: stock/serializers.py:531 msgid "Purchase price of this stock item, per unit or pack" msgstr "Einkaufspreis dieses Lagerartikels, pro Einheit oder Verpackungseinheit" -#: stock/serializers.py:464 +#: stock/serializers.py:593 msgid "Enter number of stock items to serialize" msgstr "Anzahl der zu serialisierenden Lagerartikel eingeben" -#: stock/serializers.py:477 +#: stock/serializers.py:606 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "Anzahl darf nicht die verfügbare Menge überschreiten ({q})" -#: stock/serializers.py:484 +#: stock/serializers.py:613 msgid "Enter serial numbers for new items" msgstr "Seriennummern für neue Teile eingeben" -#: stock/serializers.py:495 stock/serializers.py:1197 stock/serializers.py:1453 +#: stock/serializers.py:624 stock/serializers.py:1326 stock/serializers.py:1582 msgid "Destination stock location" msgstr "Ziel-Bestand" -#: stock/serializers.py:502 +#: stock/serializers.py:631 msgid "Optional note field" msgstr "Optionales Notizfeld" -#: stock/serializers.py:512 +#: stock/serializers.py:641 msgid "Serial numbers cannot be assigned to this part" msgstr "Seriennummern können diesem Teil nicht zugewiesen werden" -#: stock/serializers.py:567 +#: stock/serializers.py:696 msgid "Select stock item to install" msgstr "Lagerartikel für Installation auswählen" -#: stock/serializers.py:574 +#: stock/serializers.py:703 msgid "Quantity to Install" msgstr "Zu installierende Menge" -#: stock/serializers.py:575 +#: stock/serializers.py:704 msgid "Enter the quantity of items to install" msgstr "Anzahl der zu verwendenden Artikel eingeben" -#: stock/serializers.py:580 stock/serializers.py:660 stock/serializers.py:756 -#: stock/serializers.py:806 +#: stock/serializers.py:709 stock/serializers.py:789 stock/serializers.py:885 +#: stock/serializers.py:935 msgid "Add transaction note (optional)" msgstr " Transaktionsnotizen hinzufügen (optional)" -#: stock/serializers.py:588 +#: stock/serializers.py:717 msgid "Quantity to install must be at least 1" msgstr "Die zu verwendende Menge muss mindestens 1 sein" -#: stock/serializers.py:596 +#: stock/serializers.py:725 msgid "Stock item is unavailable" msgstr "Lagerartikel ist nicht verfügbar" -#: stock/serializers.py:607 +#: stock/serializers.py:736 msgid "Selected part is not in the Bill of Materials" msgstr "Ausgewähltes Teil ist nicht in der Stückliste" -#: stock/serializers.py:620 +#: stock/serializers.py:749 msgid "Quantity to install must not exceed available quantity" msgstr "Die zu verwendende Menge darf die verfügbare Menge nicht überschreiten" -#: stock/serializers.py:655 +#: stock/serializers.py:784 msgid "Destination location for uninstalled item" msgstr "Ziel Lagerort für unverbautes Objekt" -#: stock/serializers.py:690 +#: stock/serializers.py:819 msgid "Select part to convert stock item into" msgstr "Wählen Sie einen Teil aus, zu dem dieser Lagerartikel geändert werden soll" -#: stock/serializers.py:703 +#: stock/serializers.py:832 msgid "Selected part is not a valid option for conversion" msgstr "Das ausgewählte Teil ist keine gültige Option für die Umwandlung" -#: stock/serializers.py:720 +#: stock/serializers.py:849 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "Lagerartikel konnte nicht mit Zulieferteil zugewiesen werden" -#: stock/serializers.py:751 +#: stock/serializers.py:880 msgid "Destination location for returned item" msgstr "Ziel Lagerort für zurückgegebene Artikel" -#: stock/serializers.py:788 +#: stock/serializers.py:917 msgid "Select stock items to change status" msgstr "Lagerartikel auswählen, um den Status zu ändern" -#: stock/serializers.py:794 +#: stock/serializers.py:923 msgid "No stock items selected" msgstr "Keine Lagerartikel ausgewählt" -#: stock/serializers.py:890 stock/serializers.py:953 +#: stock/serializers.py:1019 stock/serializers.py:1082 #: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:213 +#: stock/templates/stock/location.html:220 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "Unter-Lagerorte" -#: stock/serializers.py:1069 +#: stock/serializers.py:1198 msgid "Part must be salable" msgstr "Teil muss verkaufbar sein" -#: stock/serializers.py:1073 +#: stock/serializers.py:1202 msgid "Item is allocated to a sales order" msgstr "Artikel ist einem Kundenauftrag zugeordnet" -#: stock/serializers.py:1077 +#: stock/serializers.py:1206 msgid "Item is allocated to a build order" msgstr "Artikel ist einem Fertigungsauftrag zugeordnet" -#: stock/serializers.py:1101 +#: stock/serializers.py:1230 msgid "Customer to assign stock items" msgstr "Kunde zum Zuweisen von Lagerartikel" -#: stock/serializers.py:1107 +#: stock/serializers.py:1236 msgid "Selected company is not a customer" msgstr "Ausgewählte Firma ist kein Kunde" -#: stock/serializers.py:1115 +#: stock/serializers.py:1244 msgid "Stock assignment notes" msgstr "Notizen zur Lagerzuordnung" -#: stock/serializers.py:1125 stock/serializers.py:1379 +#: stock/serializers.py:1254 stock/serializers.py:1508 msgid "A list of stock items must be provided" msgstr "Eine Liste der Lagerbestände muss angegeben werden" -#: stock/serializers.py:1204 +#: stock/serializers.py:1333 msgid "Stock merging notes" msgstr "Notizen zur Lagerartikelzusammenführung" -#: stock/serializers.py:1209 +#: stock/serializers.py:1338 msgid "Allow mismatched suppliers" msgstr "Unterschiedliche Lieferanten erlauben" -#: stock/serializers.py:1210 +#: stock/serializers.py:1339 msgid "Allow stock items with different supplier parts to be merged" msgstr "Zusammenführen von Lagerartikeln mit unterschiedlichen Lieferanten erlauben" -#: stock/serializers.py:1215 +#: stock/serializers.py:1344 msgid "Allow mismatched status" msgstr "Unterschiedliche Status erlauben" -#: stock/serializers.py:1216 +#: stock/serializers.py:1345 msgid "Allow stock items with different status codes to be merged" msgstr "Zusammenführen von Lagerartikeln mit unterschiedlichen Status-Codes erlauben" -#: stock/serializers.py:1226 +#: stock/serializers.py:1355 msgid "At least two stock items must be provided" msgstr "Mindestens zwei Lagerartikel müssen angegeben werden" -#: stock/serializers.py:1293 +#: stock/serializers.py:1422 msgid "No Change" msgstr "Keine Änderung" -#: stock/serializers.py:1322 +#: stock/serializers.py:1451 msgid "StockItem primary key value" msgstr "Primärschlüssel Lagerelement" -#: stock/serializers.py:1341 +#: stock/serializers.py:1470 msgid "Stock item status code" msgstr "Lagerartikel Status-Code" -#: stock/serializers.py:1369 +#: stock/serializers.py:1498 msgid "Stock transaction notes" msgstr "Bestandsbewegungsnotizen" @@ -9352,7 +9427,7 @@ msgstr "Testdaten" msgid "Test Report" msgstr "Test-Bericht" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:286 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:282 msgid "Delete Test Data" msgstr "Testdaten löschen" @@ -9368,15 +9443,15 @@ msgstr "Lagerartikel-Notizen" msgid "Installed Stock Items" msgstr "Installierte Lagerartikel" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3274 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3271 msgid "Install Stock Item" msgstr "Lagerartikel installieren" -#: stock/templates/stock/item.html:274 +#: stock/templates/stock/item.html:270 msgid "Delete all test results for this stock item" msgstr "Alle Testergebnisse für diesen Lagerartikel löschen" -#: stock/templates/stock/item.html:304 templates/js/translated/stock.js:1701 +#: stock/templates/stock/item.html:300 templates/js/translated/stock.js:1701 msgid "Add Test Result" msgstr "Testergebnis hinzufügen" @@ -9536,7 +9611,7 @@ msgstr "Kein Lagerort gesetzt" #: stock/templates/stock/item_base.html:413 msgid "Tests" -msgstr "" +msgstr "Tests" #: stock/templates/stock/item_base.html:419 msgid "This stock item has not passed all required tests" @@ -9561,40 +9636,40 @@ msgstr "Dieser Lagerartikel läuft am %(item.expiry_date)s ab" msgid "No stocktake performed" msgstr "Keine Inventur ausgeführt" -#: stock/templates/stock/item_base.html:507 -#: templates/js/translated/stock.js:1954 +#: stock/templates/stock/item_base.html:504 +#: templates/js/translated/stock.js:1952 msgid "stock item" msgstr "Lagerartikel" -#: stock/templates/stock/item_base.html:532 +#: stock/templates/stock/item_base.html:527 msgid "Edit Stock Status" msgstr "Lagerstatus bearbeiten" -#: stock/templates/stock/item_base.html:541 +#: stock/templates/stock/item_base.html:536 msgid "Stock Item QR Code" msgstr "Lagerartikel QR-Code" -#: stock/templates/stock/item_base.html:552 +#: stock/templates/stock/item_base.html:547 msgid "Link Barcode to Stock Item" msgstr "Barcode mit Lagerartikel verknüpfen" -#: stock/templates/stock/item_base.html:616 +#: stock/templates/stock/item_base.html:611 msgid "Select one of the part variants listed below." msgstr "Wählen Sie eine der unten aufgeführten Teilvarianten aus." -#: stock/templates/stock/item_base.html:619 +#: stock/templates/stock/item_base.html:614 msgid "Warning" msgstr "Warnung" -#: stock/templates/stock/item_base.html:620 +#: stock/templates/stock/item_base.html:615 msgid "This action cannot be easily undone" msgstr "Diese Aktion kann nicht einfach rückgängig gemacht werden" -#: stock/templates/stock/item_base.html:628 +#: stock/templates/stock/item_base.html:623 msgid "Convert Stock Item" msgstr "Lagerartikel umwandeln" -#: stock/templates/stock/item_base.html:662 +#: stock/templates/stock/item_base.html:657 msgid "Return to Stock" msgstr "Zurück ins Lager" @@ -9658,28 +9733,32 @@ msgstr "Standortbesitzer" msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "Sie sind nicht auf der Liste der Besitzer dieses Lagerorts. Der Bestands-Lagerort kann nicht verändert werden." -#: stock/templates/stock/location.html:217 +#: stock/templates/stock/location.html:176 +msgid "Location Type" +msgstr "Lagerort Typ" + +#: stock/templates/stock/location.html:224 msgid "Create new stock location" msgstr "Neuen Lagerort anlegen" -#: stock/templates/stock/location.html:218 +#: stock/templates/stock/location.html:225 msgid "New Location" msgstr "Neuer Lagerort" -#: stock/templates/stock/location.html:287 -#: templates/js/translated/stock.js:2575 +#: stock/templates/stock/location.html:295 +#: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "Lagerort" -#: stock/templates/stock/location.html:315 +#: stock/templates/stock/location.html:317 msgid "Scanned stock container into this location" msgstr "Lagerbehälter an diesen Ort eingescannt" -#: stock/templates/stock/location.html:388 +#: stock/templates/stock/location.html:390 msgid "Stock Location QR Code" msgstr "Lagerort QR-Code" -#: stock/templates/stock/location.html:399 +#: stock/templates/stock/location.html:401 msgid "Link Barcode to Stock Location" msgstr "Barcode mit Lagerort verknüpfen" @@ -9751,7 +9830,7 @@ msgstr "Die Seite ist derzeit in Wartung und sollte bald wieder verfügbar sein! #: templates/InvenTree/index.html:7 msgid "Index" -msgstr "" +msgstr "Index" #: templates/InvenTree/index.html:39 msgid "Subscribed Parts" @@ -9912,7 +9991,7 @@ msgstr "Anmelden" #: templates/InvenTree/settings/login.html:36 msgid "Single Sign On" -msgstr "" +msgstr "Single Sign On" #: templates/InvenTree/settings/mixins/settings.html:5 #: templates/InvenTree/settings/settings.html:12 templates/navbar.html:147 @@ -9921,7 +10000,7 @@ msgstr "Einstellungen" #: templates/InvenTree/settings/mixins/urls.html:5 msgid "URLs" -msgstr "" +msgstr "URLs" #: templates/InvenTree/settings/mixins/urls.html:8 #, python-format @@ -9930,7 +10009,7 @@ msgstr "Die Basis-URL für dieses Plugin ist =" #: templates/js/translated/table_filters.js:302 #: templates/js/translated/table_filters.js:388 msgid "Serial number greater than or equal to" -msgstr "" +msgstr "Seriennummer größer oder gleich" #: templates/js/translated/table_filters.js:305 #: templates/js/translated/table_filters.js:391 msgid "Serial number LTE" -msgstr "" +msgstr "Seriennummer <=" #: templates/js/translated/table_filters.js:306 #: templates/js/translated/table_filters.js:392 msgid "Serial number less than or equal to" -msgstr "" +msgstr "Seriennummern kleiner oder gleich" #: templates/js/translated/table_filters.js:309 #: templates/js/translated/table_filters.js:310 #: templates/js/translated/table_filters.js:383 #: templates/js/translated/table_filters.js:384 msgid "Serial number" -msgstr "" +msgstr "Seriennummer" #: templates/js/translated/table_filters.js:314 #: templates/js/translated/table_filters.js:405 msgid "Batch code" -msgstr "" +msgstr "Losnummer" #: templates/js/translated/table_filters.js:325 #: templates/js/translated/table_filters.js:700 msgid "Active parts" -msgstr "" +msgstr "Aktive Teile" #: templates/js/translated/table_filters.js:326 msgid "Show stock for active parts" -msgstr "" +msgstr "Bestand aktiver Teile anzeigen" #: templates/js/translated/table_filters.js:331 msgid "Part is an assembly" -msgstr "" +msgstr "Teil ist eine Baugruppe" #: templates/js/translated/table_filters.js:335 msgid "Is allocated" -msgstr "" +msgstr "Ist zugeordnet" #: templates/js/translated/table_filters.js:336 msgid "Item has been allocated" -msgstr "" +msgstr "Teil wurde zugeordnet" #: templates/js/translated/table_filters.js:341 msgid "Stock is available for use" -msgstr "" +msgstr "Lagerartikel ist zur Verwendung verfügbar" #: templates/js/translated/table_filters.js:346 msgid "Include stock in sublocations" -msgstr "" +msgstr "Bestand in Unter-Lagerorten einschließen" #: templates/js/translated/table_filters.js:351 msgid "Show stock items which are depleted" -msgstr "" +msgstr "Zeige aufgebrauchte Lagerartikel" #: templates/js/translated/table_filters.js:356 msgid "Show items which are in stock" -msgstr "" +msgstr "Zeige Teile welche im Lager sind" #: templates/js/translated/table_filters.js:361 msgid "Show items which are in production" -msgstr "" +msgstr "Zeige Teile welche in Produktion sind" #: templates/js/translated/table_filters.js:365 msgid "Include Variants" -msgstr "" +msgstr "Varianten einschließen" #: templates/js/translated/table_filters.js:366 msgid "Include stock items for variant parts" @@ -13802,181 +13841,181 @@ msgstr "Lagerartikel für Teile-Varianten einschließen" #: templates/js/translated/table_filters.js:371 msgid "Show stock items which are installed in another item" -msgstr "" +msgstr "Zeige Bestand, welcher in einem anderen Teil verbaut ist" #: templates/js/translated/table_filters.js:376 msgid "Show items which have been assigned to a customer" -msgstr "" +msgstr "Zeige Bestand, welcher Kunden zugeordnet ist" #: templates/js/translated/table_filters.js:396 #: templates/js/translated/table_filters.js:397 msgid "Stock status" -msgstr "" +msgstr "Bestandsstatus" #: templates/js/translated/table_filters.js:400 msgid "Has batch code" -msgstr "" +msgstr "Hat Batch-Code" #: templates/js/translated/table_filters.js:409 msgid "Stock item is tracked by either batch code or serial number" -msgstr "" +msgstr "Lagerbestand wird entweder per Batch-Code oder Seriennummer verfolgt" #: templates/js/translated/table_filters.js:414 msgid "Has purchase price" -msgstr "" +msgstr "Hat Einkaufspreis" #: templates/js/translated/table_filters.js:415 msgid "Show stock items which have a purchase price set" -msgstr "" +msgstr "Zeige Bestand, für welchen ein Einkaufspreis verfügbar ist" #: templates/js/translated/table_filters.js:419 msgid "Expiry Date before" -msgstr "" +msgstr "Ablaufdatum vor" #: templates/js/translated/table_filters.js:423 msgid "Expiry Date after" -msgstr "" +msgstr "Ablaufdatum nach" #: templates/js/translated/table_filters.js:436 msgid "Show stock items which have expired" -msgstr "" +msgstr "Zeige abgelaufene Lagerartikel" #: templates/js/translated/table_filters.js:442 msgid "Show stock which is close to expiring" -msgstr "" +msgstr "Zeige Bestand, der bald abläuft" #: templates/js/translated/table_filters.js:456 msgid "Test Passed" -msgstr "" +msgstr "Test bestanden" #: templates/js/translated/table_filters.js:460 msgid "Include Installed Items" -msgstr "" +msgstr "Installierte Teile einschließen" #: templates/js/translated/table_filters.js:515 msgid "Build status" -msgstr "" +msgstr "Bauauftrags Status" #: templates/js/translated/table_filters.js:712 msgid "Include parts in subcategories" -msgstr "" +msgstr "Teile in Unterkategorien einschließen" #: templates/js/translated/table_filters.js:717 msgid "Show active parts" -msgstr "" +msgstr "Aktive Teile anzeigen" #: templates/js/translated/table_filters.js:725 msgid "Available stock" -msgstr "" +msgstr "Verfügbarer Lagerbestand" #: templates/js/translated/table_filters.js:733 #: templates/js/translated/table_filters.js:833 msgid "Has Units" -msgstr "" +msgstr "Hat Einheiten" #: templates/js/translated/table_filters.js:734 msgid "Part has defined units" -msgstr "" +msgstr "Teil hat definierte Einheiten" #: templates/js/translated/table_filters.js:738 msgid "Has IPN" -msgstr "" +msgstr "Hat IPN" #: templates/js/translated/table_filters.js:739 msgid "Part has internal part number" -msgstr "" +msgstr "Teil hat Interne Teilenummer" #: templates/js/translated/table_filters.js:743 msgid "In stock" -msgstr "" +msgstr "Auf Lager" #: templates/js/translated/table_filters.js:751 msgid "Purchasable" -msgstr "" +msgstr "Kaufbar" #: templates/js/translated/table_filters.js:763 msgid "Has stocktake entries" -msgstr "" +msgstr "Hat Inventureinträge" #: templates/js/translated/table_filters.js:829 msgid "Has Choices" -msgstr "" +msgstr "Hat Auswahlen" #: templates/js/translated/tables.js:92 msgid "Display calendar view" -msgstr "" +msgstr "Kalenderansicht anzeigen" #: templates/js/translated/tables.js:102 msgid "Display list view" -msgstr "" +msgstr "Listenansicht anzeigen" #: templates/js/translated/tables.js:112 msgid "Display tree view" -msgstr "" +msgstr "Baumansicht anzeigen" #: templates/js/translated/tables.js:130 msgid "Expand all rows" -msgstr "" +msgstr "Alle Zeilen ausklappen" #: templates/js/translated/tables.js:136 msgid "Collapse all rows" -msgstr "" +msgstr "Alle Zeilen einklappen" #: templates/js/translated/tables.js:186 msgid "Export Table Data" -msgstr "" +msgstr "Tabellendaten exportieren" #: templates/js/translated/tables.js:190 msgid "Select File Format" -msgstr "" +msgstr "Dateiformat wählen" #: templates/js/translated/tables.js:529 msgid "Loading data" -msgstr "" +msgstr "Lade Daten" #: templates/js/translated/tables.js:532 msgid "rows per page" -msgstr "" +msgstr "Zeilen pro Seite" #: templates/js/translated/tables.js:537 msgid "Showing all rows" -msgstr "" +msgstr "Alle Zeilen anzeigen" #: templates/js/translated/tables.js:539 msgid "Showing" -msgstr "" +msgstr "Zeige" #: templates/js/translated/tables.js:539 msgid "to" -msgstr "" +msgstr "bis" #: templates/js/translated/tables.js:539 msgid "of" -msgstr "" +msgstr "von" #: templates/js/translated/tables.js:539 msgid "rows" -msgstr "" +msgstr "Zeilen" #: templates/js/translated/tables.js:546 msgid "No matching results" -msgstr "" +msgstr "Keine passenden Ergebnisse gefunden" #: templates/js/translated/tables.js:549 msgid "Hide/Show pagination" -msgstr "" +msgstr "Seitennavigation verstecken/anzeigen" #: templates/js/translated/tables.js:555 msgid "Toggle" -msgstr "" +msgstr "Umschalten" #: templates/js/translated/tables.js:558 msgid "Columns" -msgstr "" +msgstr "Spalten" #: templates/js/translated/tables.js:561 msgid "All" -msgstr "" +msgstr "Alle" #: templates/navbar.html:45 msgid "Buy" @@ -13996,7 +14035,7 @@ msgstr "Neue Benachrichtigungen" #: templates/navbar.html:144 users/models.py:201 msgid "Admin" -msgstr "" +msgstr "Admin" #: templates/navbar.html:148 msgid "Logout" @@ -14012,19 +14051,19 @@ msgstr "Zeige alle Benachrichtigungen und Verlauf" #: templates/pui_banner.html:9 msgid "Platform UI - the new UI for InvenTree - provides more modern administration options." -msgstr "" +msgstr "Plattform UI - die neue Oberfläche für InvenTree - bietet modernere Administrationsmöglichkeiten." #: templates/pui_banner.html:12 msgid "Platform UI - the new UI for InvenTree - is ready to be tested." -msgstr "" +msgstr "Plattform UI - die neue Benutzeroberfläche für InvenTree - ist bereit um getestet zu werden." #: templates/pui_banner.html:15 msgid "Try it out now" -msgstr "" +msgstr "Jetzt ausprobieren" #: templates/pui_banner.html:15 msgid "here" -msgstr "" +msgstr "hier" #: templates/qr_code.html:11 msgid "QR data not provided" @@ -14092,28 +14131,28 @@ msgstr "Weiter" #: templates/socialaccount/login.html:29 msgid "Invalid SSO Provider" -msgstr "" +msgstr "Ungültiger SSO-Anbieter" #: templates/socialaccount/login.html:31 msgid "The selected SSO provider is invalid, or has not been correctly configured" -msgstr "" +msgstr "Der ausgewählte SSO-Anbieter ist ungültig oder wurde nicht korrekt konfiguriert" #: templates/socialaccount/signup.html:11 #, python-format msgid "You are about to use your %(provider_name)s account to login to %(site_name)s." -msgstr "" +msgstr "Sie sind dabei, Ihr %(provider_name)s Konto zu verwenden, um sich bei %(site_name)s anzumelden." #: templates/socialaccount/signup.html:13 msgid "As a final step, please complete the following form" -msgstr "" +msgstr "Bitte füllen Sie zum Abschluss folgendes Formular aus" #: templates/socialaccount/snippets/provider_list.html:26 msgid "Provider has not been configured" -msgstr "" +msgstr "Anbieter wurde nicht konfiguriert" #: templates/socialaccount/snippets/provider_list.html:35 msgid "No SSO providers have been configured" -msgstr "" +msgstr "Es wurden keine SSO-Anbieter konfiguriert" #: templates/stats.html:13 msgid "Instance Name" @@ -14193,7 +14232,7 @@ msgstr "Welche Benutzer gehören zu dieser Gruppe" #: users/admin.py:249 msgid "The following users are members of multiple groups" -msgstr "" +msgstr "Folgende Benutzer gehören zu mehreren Gruppen" #: users/admin.py:283 msgid "Personal info" @@ -14209,19 +14248,19 @@ msgstr "wichtige Daten" #: users/authentication.py:29 users/models.py:138 msgid "Token has been revoked" -msgstr "" +msgstr "Token wurde widerrufen" #: users/authentication.py:32 msgid "Token has expired" -msgstr "" +msgstr "Token ist abgelaufen" #: users/models.py:81 msgid "API Token" -msgstr "" +msgstr "API Token" #: users/models.py:82 msgid "API Tokens" -msgstr "" +msgstr "API-Tokens" #: users/models.py:118 msgid "Token Name" @@ -14233,48 +14272,49 @@ msgstr "Benutzerdefinierter Tokenname" #: users/models.py:125 msgid "Token expiry date" -msgstr "" +msgstr "Token Ablaufdatum" #: users/models.py:133 msgid "Last Seen" -msgstr "" +msgstr "Zuletzt gesehen" #: users/models.py:134 msgid "Last time the token was used" -msgstr "" +msgstr "Das letzte Mal, wo das Token verwendet wurde" #: users/models.py:138 msgid "Revoked" -msgstr "" +msgstr "Widerrufen" -#: users/models.py:397 +#: users/models.py:384 msgid "Permission set" msgstr "Berechtigung geändert" -#: users/models.py:406 +#: users/models.py:393 msgid "Group" msgstr "Gruppe" -#: users/models.py:410 +#: users/models.py:397 msgid "View" msgstr "Ansicht" -#: users/models.py:410 +#: users/models.py:397 msgid "Permission to view items" msgstr "Berechtigung Einträge anzuzeigen" -#: users/models.py:414 +#: users/models.py:401 msgid "Permission to add items" msgstr "Berechtigung Einträge zu erstellen" -#: users/models.py:418 +#: users/models.py:405 msgid "Change" msgstr "Ändern" -#: users/models.py:420 +#: users/models.py:407 msgid "Permissions to edit items" msgstr "Berechtigungen Einträge zu ändern" -#: users/models.py:426 +#: users/models.py:413 msgid "Permission to delete items" msgstr "Berechtigung Einträge zu löschen" + diff --git a/src/backend/InvenTree/locale/el/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/el/LC_MESSAGES/django.po index fc9a435c6b..d9469704ac 100644 --- a/src/backend/InvenTree/locale/el/LC_MESSAGES/django.po +++ b/src/backend/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: 2024-05-10 05:37+0000\n" -"PO-Revision-Date: 2024-05-10 08:30\n" +"POT-Creation-Date: 2024-05-23 11:25+0000\n" +"PO-Revision-Date: 2024-05-23 11:38\n" "Last-Translator: \n" "Language-Team: Greek\n" "Language: el_GR\n" @@ -17,11 +17,11 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 216\n" -#: InvenTree/api.py:271 +#: InvenTree/api.py:272 msgid "API endpoint not found" msgstr "Το API endpoint δε βρέθηκε" -#: InvenTree/api.py:535 +#: InvenTree/api.py:536 msgid "User does not have permission to view this model" msgstr "Δεν έχετε δικαιώματα να το δείτε αυτό" @@ -56,26 +56,26 @@ msgstr "Μπορείτε να βρείτε λεπτομέρειες σφάλμα msgid "Enter date" msgstr "Εισάγετε ημερομηνία" -#: InvenTree/fields.py:208 InvenTree/models.py:1021 build/serializers.py:444 -#: build/serializers.py:522 build/templates/build/sidebar.html:21 +#: InvenTree/fields.py:208 InvenTree/models.py:1035 build/serializers.py:443 +#: build/serializers.py:521 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 -#: order/models.py:1283 order/templates/order/po_sidebar.html:11 +#: order/models.py:1323 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:59 -#: part/models.py:3175 part/templates/part/part_sidebar.html:63 -#: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:226 stock/models.py:2344 stock/models.py:2461 -#: stock/serializers.py:501 stock/serializers.py:659 stock/serializers.py:755 -#: stock/serializers.py:805 stock/serializers.py:1114 stock/serializers.py:1203 -#: stock/serializers.py:1368 stock/templates/stock/stock_sidebar.html:25 +#: part/models.py:3218 part/templates/part/part_sidebar.html:63 +#: report/templates/report/inventree_build_order_report.html:172 +#: stock/admin.py:226 stock/models.py:2321 stock/models.py:2438 +#: stock/serializers.py:630 stock/serializers.py:788 stock/serializers.py:884 +#: stock/serializers.py:934 stock/serializers.py:1243 stock/serializers.py:1332 +#: stock/serializers.py:1497 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1080 -#: templates/js/translated/purchase_order.js:2201 -#: templates/js/translated/return_order.js:776 -#: templates/js/translated/sales_order.js:1067 -#: templates/js/translated/sales_order.js:1982 -#: templates/js/translated/stock.js:1536 templates/js/translated/stock.js:2430 +#: templates/js/translated/purchase_order.js:2200 +#: templates/js/translated/return_order.js:775 +#: templates/js/translated/sales_order.js:1103 +#: templates/js/translated/sales_order.js:2018 +#: templates/js/translated/stock.js:1536 templates/js/translated/stock.js:2428 msgid "Notes" msgstr "Σημειώσεις" @@ -132,7 +132,7 @@ msgstr "Ο παρεχόμενος τομέας ηλεκτρονικού ταχυ msgid "Registration is disabled." msgstr "Η εγγραφή είναι απενεργοποιημένη." -#: InvenTree/helpers.py:525 order/models.py:541 order/models.py:743 +#: InvenTree/helpers.py:525 order/models.py:563 order/models.py:765 msgid "Invalid quantity provided" msgstr "Μη έγκυρη ποσότητα" @@ -355,142 +355,142 @@ msgstr "" msgid "Error running plugin validation" msgstr "Σφάλμα κατά την εκτέλεση επικύρωσης προσθέτου" -#: InvenTree/models.py:162 +#: InvenTree/models.py:176 msgid "Metadata must be a python dict object" msgstr "Τα μεταδεδομένα πρέπει να είναι ένα αντικείμενο dict python" -#: InvenTree/models.py:168 +#: InvenTree/models.py:182 msgid "Plugin Metadata" msgstr "Μεταδεδομένα Πρόσθετου" -#: InvenTree/models.py:169 +#: InvenTree/models.py:183 msgid "JSON metadata field, for use by external plugins" msgstr "JSON πεδίο μεταδεδομένων, για χρήση από εξωτερικά πρόσθετα" -#: InvenTree/models.py:399 +#: InvenTree/models.py:413 msgid "Improperly formatted pattern" msgstr "Λανθασμένο μοτίβο" -#: InvenTree/models.py:406 +#: InvenTree/models.py:420 msgid "Unknown format key specified" msgstr "Δώσατε λάθος μορφή κλειδιού" -#: InvenTree/models.py:412 +#: InvenTree/models.py:426 msgid "Missing required format key" msgstr "Λείπει το απαραίτητο κλειδί" -#: InvenTree/models.py:423 +#: InvenTree/models.py:437 msgid "Reference field cannot be empty" msgstr "Το πεδίο δεν μπορεί να είναι άδειο" -#: InvenTree/models.py:431 +#: InvenTree/models.py:445 msgid "Reference must match required pattern" msgstr "Η αναφορά πρέπει να ταιριάζει με το απαιτούμενο μοτίβο" -#: InvenTree/models.py:462 +#: InvenTree/models.py:476 msgid "Reference number is too large" msgstr "Ο αριθμός αναφοράς είναι πολύ μεγάλος" -#: InvenTree/models.py:536 +#: InvenTree/models.py:550 msgid "Missing file" msgstr "Το αρχείο λείπει" -#: InvenTree/models.py:537 +#: InvenTree/models.py:551 msgid "Missing external link" msgstr "Λείπει ο εξωτερικός σύνδεσμος" -#: InvenTree/models.py:558 stock/models.py:2456 +#: InvenTree/models.py:572 stock/models.py:2433 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" msgstr "Συνημμένο" -#: InvenTree/models.py:559 +#: InvenTree/models.py:573 msgid "Select file to attach" msgstr "Επιλέξτε αρχείο για επισύναψη" -#: InvenTree/models.py:567 common/models.py:3026 company/models.py:146 +#: InvenTree/models.py:581 common/models.py:3032 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 -#: order/models.py:291 order/models.py:1288 order/models.py:1704 -#: part/admin.py:55 part/models.py:919 +#: order/models.py:304 order/models.py:1328 order/models.py:1744 +#: part/admin.py:55 part/models.py:962 #: part/templates/part/part_scheduling.html:11 -#: report/templates/report/inventree_build_order_base.html:164 +#: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2456 -#: templates/js/translated/purchase_order.js:2041 -#: templates/js/translated/purchase_order.js:2205 -#: templates/js/translated/return_order.js:780 -#: templates/js/translated/sales_order.js:1056 -#: templates/js/translated/sales_order.js:1987 +#: templates/js/translated/part.js:2455 +#: templates/js/translated/purchase_order.js:2040 +#: templates/js/translated/purchase_order.js:2204 +#: templates/js/translated/return_order.js:779 +#: templates/js/translated/sales_order.js:1092 +#: templates/js/translated/sales_order.js:2023 msgid "Link" msgstr "Σύνδεσμος" -#: InvenTree/models.py:568 build/models.py:321 part/models.py:920 -#: stock/models.py:819 +#: InvenTree/models.py:582 build/models.py:344 part/models.py:963 +#: stock/models.py:840 msgid "Link to external URL" msgstr "Σύνδεσμος προς εξωτερική διεύθυνση URL" -#: InvenTree/models.py:574 templates/js/translated/attachment.js:120 +#: InvenTree/models.py:588 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:341 msgid "Comment" msgstr "Σχόλιο" -#: InvenTree/models.py:575 +#: InvenTree/models.py:589 msgid "File comment" msgstr "Σχόλιο αρχείου" -#: InvenTree/models.py:583 InvenTree/models.py:584 common/models.py:2502 -#: common/models.py:2503 common/models.py:2727 common/models.py:2728 -#: common/models.py:2973 common/models.py:2974 part/models.py:3185 -#: part/models.py:3272 part/models.py:3365 part/models.py:3393 -#: plugin/models.py:250 plugin/models.py:251 -#: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3039 users/models.py:111 +#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2508 +#: common/models.py:2509 common/models.py:2733 common/models.py:2734 +#: common/models.py:2979 common/models.py:2980 part/models.py:3228 +#: part/models.py:3315 part/models.py:3408 part/models.py:3436 +#: plugin/models.py:259 plugin/models.py:260 +#: report/templates/report/inventree_test_report.html:105 +#: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" msgstr "Χρήστης" -#: InvenTree/models.py:588 +#: InvenTree/models.py:602 msgid "upload date" msgstr "ημερομηνία φόρτωσης" -#: InvenTree/models.py:610 +#: InvenTree/models.py:624 msgid "Filename must not be empty" msgstr "Το όνομα αρχείου δεν μπορεί να είναι κενό" -#: InvenTree/models.py:621 +#: InvenTree/models.py:635 msgid "Invalid attachment directory" msgstr "Μη διαθέσιμη τοποθεσία συνημμένου" -#: InvenTree/models.py:651 +#: InvenTree/models.py:665 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "Το όνομα αρχείου περιέχει μη έγκυρους χαρακτήρες '{c}'" -#: InvenTree/models.py:654 +#: InvenTree/models.py:668 msgid "Filename missing extension" msgstr "Λείπει επέκταση ονόματος αρχείου" -#: InvenTree/models.py:663 +#: InvenTree/models.py:677 msgid "Attachment with this filename already exists" msgstr "Αρχείο με αυτό το όνομα υπάρχει ήδη" -#: InvenTree/models.py:670 +#: InvenTree/models.py:684 msgid "Error renaming file" msgstr "Σφάλμα κατά τη μετονομασία" -#: InvenTree/models.py:846 +#: InvenTree/models.py:860 msgid "Duplicate names cannot exist under the same parent" msgstr "Διπλότυπα ονόματα δεν μπορούν να υπάρχουν στον ίδιο γονέα" -#: InvenTree/models.py:863 +#: InvenTree/models.py:877 msgid "Invalid choice" msgstr "Μη έγκυρη επιλογή" -#: InvenTree/models.py:893 common/models.py:2714 common/models.py:3112 -#: common/serializers.py:403 company/models.py:614 label/models.py:120 -#: machine/models.py:24 part/models.py:855 part/models.py:3616 -#: plugin/models.py:41 report/models.py:176 stock/models.py:76 +#: InvenTree/models.py:907 common/models.py:2720 common/models.py:3118 +#: common/serializers.py:403 company/models.py:614 machine/models.py:24 +#: part/models.py:898 part/models.py:3659 plugin/models.py:50 +#: report/models.py:149 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -503,22 +503,22 @@ msgstr "Μη έγκυρη επιλογή" #: templates/js/translated/company.js:1165 #: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186 #: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2719 +#: templates/js/translated/part.js:2748 templates/js/translated/stock.js:2716 msgid "Name" msgstr "Όνομα" -#: InvenTree/models.py:899 build/models.py:194 +#: InvenTree/models.py:913 build/models.py:217 #: build/templates/build/detail.html:24 common/models.py:136 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 label/models.py:127 -#: order/models.py:277 order/models.py:1316 part/admin.py:303 part/admin.py:414 -#: part/models.py:878 part/models.py:3631 part/templates/part/category.html:82 +#: company/templates/company/supplier_part.html:107 order/models.py:290 +#: order/models.py:1356 part/admin.py:305 part/admin.py:416 part/models.py:921 +#: part/models.py:3674 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 -#: part/templates/part/part_scheduling.html:12 report/models.py:189 -#: report/models.py:655 report/models.py:729 -#: report/templates/report/inventree_build_order_base.html:117 +#: part/templates/part/part_scheduling.html:12 report/models.py:155 +#: report/models.py:510 report/models.py:536 +#: report/templates/report/inventree_build_order_report.html:117 #: stock/admin.py:55 stock/models.py:82 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 @@ -530,71 +530,71 @@ msgstr "Όνομα" #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 -#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2896 +#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2354 +#: templates/js/translated/part.js:2784 templates/js/translated/part.js:2895 #: templates/js/translated/plugin.js:80 -#: templates/js/translated/purchase_order.js:1707 -#: templates/js/translated/purchase_order.js:1850 -#: templates/js/translated/purchase_order.js:2023 -#: templates/js/translated/return_order.js:314 -#: templates/js/translated/sales_order.js:802 -#: templates/js/translated/sales_order.js:1812 -#: templates/js/translated/stock.js:1515 templates/js/translated/stock.js:2060 -#: templates/js/translated/stock.js:2751 templates/js/translated/stock.js:2834 +#: templates/js/translated/purchase_order.js:1706 +#: templates/js/translated/purchase_order.js:1849 +#: templates/js/translated/purchase_order.js:2022 +#: templates/js/translated/return_order.js:313 +#: templates/js/translated/sales_order.js:838 +#: templates/js/translated/sales_order.js:1848 +#: templates/js/translated/stock.js:1515 templates/js/translated/stock.js:2058 +#: templates/js/translated/stock.js:2748 templates/js/translated/stock.js:2831 msgid "Description" msgstr "Περιγραφή" -#: InvenTree/models.py:900 stock/models.py:83 +#: InvenTree/models.py:914 stock/models.py:83 msgid "Description (optional)" msgstr "Περιγραφή (προαιρετική)" -#: InvenTree/models.py:909 +#: InvenTree/models.py:923 msgid "parent" msgstr "γονέας" -#: InvenTree/models.py:915 templates/js/translated/part.js:2794 -#: templates/js/translated/stock.js:2760 +#: InvenTree/models.py:929 templates/js/translated/part.js:2793 +#: templates/js/translated/stock.js:2757 msgid "Path" msgstr "Μονοπάτι" -#: InvenTree/models.py:1021 +#: InvenTree/models.py:1035 msgid "Markdown notes (optional)" msgstr "Σημειώσεις Markdown (προαιρετικό)" -#: InvenTree/models.py:1050 +#: InvenTree/models.py:1064 msgid "Barcode Data" msgstr "Στοιχεία Barcode" -#: InvenTree/models.py:1051 +#: InvenTree/models.py:1065 msgid "Third party barcode data" msgstr "Δεδομένα barcode τρίτων" -#: InvenTree/models.py:1057 +#: InvenTree/models.py:1071 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:1058 +#: InvenTree/models.py:1072 msgid "Unique hash of barcode data" msgstr "Μοναδικό hash δεδομένων barcode" -#: InvenTree/models.py:1111 +#: InvenTree/models.py:1125 msgid "Existing barcode found" msgstr "Βρέθηκε υπάρχων barcode" -#: InvenTree/models.py:1154 +#: InvenTree/models.py:1168 msgid "Server Error" msgstr "Σφάλμα διακομιστή" -#: InvenTree/models.py:1155 +#: InvenTree/models.py:1169 msgid "An error has been logged by the server." msgstr "Ένα σφάλμα έχει καταγραφεί από το διακομιστή." -#: InvenTree/serializers.py:62 part/models.py:4169 +#: InvenTree/serializers.py:62 part/models.py:4212 msgid "Must be a valid number" msgstr "Πρέπει να είναι αριθμός" #: InvenTree/serializers.py:99 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:2993 +#: company/templates/company/company_base.html:112 part/models.py:3036 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -686,7 +686,7 @@ msgstr "Διεύθυνση URL του αρχείου απομακρυσμένη msgid "Downloading images from remote URL is not enabled" msgstr "Η λήψη εικόνων από απομακρυσμένο URL δεν είναι ενεργοποιημένη" -#: InvenTree/status.py:66 part/serializers.py:1161 +#: InvenTree/status.py:66 part/serializers.py:1176 msgid "Background worker check failed" msgstr "Ο έλεγχος εργασίας στο παρασκήνιο απέτυχε" @@ -699,8 +699,8 @@ msgid "InvenTree system health checks failed" msgstr "Ο έλεγχος συστήματος για το Inventree απέτυχε" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:37 -#: InvenTree/status_codes.py:148 InvenTree/status_codes.py:164 -#: InvenTree/status_codes.py:182 generic/states/tests.py:17 +#: InvenTree/status_codes.py:149 InvenTree/status_codes.py:165 +#: InvenTree/status_codes.py:183 generic/states/tests.py:17 #: templates/js/translated/table_filters.js:598 msgid "Pending" msgstr "Σε εκκρεμότητα" @@ -709,188 +709,188 @@ msgstr "Σε εκκρεμότητα" msgid "Placed" msgstr "Τοποθετήθηκε" -#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:151 -#: InvenTree/status_codes.py:169 generic/states/tests.py:19 -#: order/templates/order/order_base.html:158 -#: order/templates/order/sales_order_base.html:161 +#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:44 +#: InvenTree/status_codes.py:152 InvenTree/status_codes.py:170 +#: generic/states/tests.py:19 order/templates/order/order_base.html:158 +#: order/templates/order/sales_order_base.html:165 report/models.py:444 msgid "Complete" msgstr "Ολοκληρώθηκε" -#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:44 -#: InvenTree/status_codes.py:150 InvenTree/status_codes.py:170 +#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:45 +#: InvenTree/status_codes.py:151 InvenTree/status_codes.py:171 msgid "Cancelled" msgstr "Ακυρώθηκε" -#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:45 -#: InvenTree/status_codes.py:67 +#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:46 +#: InvenTree/status_codes.py:68 msgid "Lost" msgstr "Χάθηκε" -#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:46 -#: InvenTree/status_codes.py:73 +#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:47 +#: InvenTree/status_codes.py:74 msgid "Returned" msgstr "Επιστράφηκε" -#: InvenTree/status_codes.py:40 InvenTree/status_codes.py:167 +#: InvenTree/status_codes.py:40 InvenTree/status_codes.py:168 msgid "In Progress" msgstr "Σε Εξέλιξη" -#: InvenTree/status_codes.py:43 order/models.py:1566 -#: templates/js/translated/sales_order.js:1523 -#: templates/js/translated/sales_order.js:1644 -#: templates/js/translated/sales_order.js:1957 +#: InvenTree/status_codes.py:43 order/models.py:1606 +#: templates/js/translated/sales_order.js:1559 +#: templates/js/translated/sales_order.js:1680 +#: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "Αποστάλθηκε" -#: InvenTree/status_codes.py:62 +#: InvenTree/status_codes.py:63 msgid "OK" msgstr "ΟΚ" -#: InvenTree/status_codes.py:63 +#: InvenTree/status_codes.py:64 msgid "Attention needed" msgstr "Απαιτείται προσοχή" -#: InvenTree/status_codes.py:64 +#: InvenTree/status_codes.py:65 msgid "Damaged" msgstr "Κατεστραμμένο" -#: InvenTree/status_codes.py:65 +#: InvenTree/status_codes.py:66 msgid "Destroyed" msgstr "Καταστράφηκε" -#: InvenTree/status_codes.py:66 +#: InvenTree/status_codes.py:67 msgid "Rejected" msgstr "Απορρίφθηκε" -#: InvenTree/status_codes.py:70 +#: InvenTree/status_codes.py:71 msgid "Quarantined" msgstr "Σε Καραντίνα" -#: InvenTree/status_codes.py:91 +#: InvenTree/status_codes.py:92 msgid "Legacy stock tracking entry" msgstr "Καταχώρηση παλαιού αποθέματος" -#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:544 +#: InvenTree/status_codes.py:94 templates/js/translated/stock.js:544 msgid "Stock item created" msgstr "Το αντικείμενο αποθεμάτων δημιουργήθηκε" -#: InvenTree/status_codes.py:96 +#: InvenTree/status_codes.py:97 msgid "Edited stock item" msgstr "Έγινε συγχώνευση αποθεμάτων" -#: InvenTree/status_codes.py:97 +#: InvenTree/status_codes.py:98 msgid "Assigned serial number" msgstr "Εκχωρημένος σειριακός κωδικός" -#: InvenTree/status_codes.py:100 +#: InvenTree/status_codes.py:101 msgid "Stock counted" msgstr "Απόθεμα που μετρήθηκε" -#: InvenTree/status_codes.py:101 +#: InvenTree/status_codes.py:102 msgid "Stock manually added" msgstr "Προστέθηκε απόθεμα χειροκίνητα" -#: InvenTree/status_codes.py:102 +#: InvenTree/status_codes.py:103 msgid "Stock manually removed" msgstr "Αφαιρέθηκε απόθεμα χειροκίνητα" -#: InvenTree/status_codes.py:105 +#: InvenTree/status_codes.py:106 msgid "Location changed" msgstr "Η τοποθεσία τροποποιήθηκε" -#: InvenTree/status_codes.py:106 +#: InvenTree/status_codes.py:107 msgid "Stock updated" msgstr "Το απόθεμα ενημερώθηκε" -#: InvenTree/status_codes.py:109 +#: InvenTree/status_codes.py:110 msgid "Installed into assembly" msgstr "Εγκαταστάθηκε στη συναρμολόγηση" -#: InvenTree/status_codes.py:110 +#: InvenTree/status_codes.py:111 msgid "Removed from assembly" msgstr "Αφαιρέθηκε από τη συναρμολόγηση" -#: InvenTree/status_codes.py:112 +#: InvenTree/status_codes.py:113 msgid "Installed component item" msgstr "Εγκαταστάθηκε αντικείμενο" -#: InvenTree/status_codes.py:113 +#: InvenTree/status_codes.py:114 msgid "Removed component item" msgstr "Αφαιρέθηκε αντικείμενο" -#: InvenTree/status_codes.py:116 +#: InvenTree/status_codes.py:117 msgid "Split from parent item" msgstr "Έγινε διαχωρισμός από το γονεϊκό αρχείο" -#: InvenTree/status_codes.py:117 +#: InvenTree/status_codes.py:118 msgid "Split child item" msgstr "Διαχωρίστηκε θυγατρικό στοιχείο" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1858 +#: InvenTree/status_codes.py:121 templates/js/translated/stock.js:1858 msgid "Merged stock items" msgstr "Έγινε συγχώνευση αποθεμάτων" -#: InvenTree/status_codes.py:123 +#: InvenTree/status_codes.py:124 msgid "Converted to variant" msgstr "Μετατράπηκε σε παραλλαγή" -#: InvenTree/status_codes.py:126 +#: InvenTree/status_codes.py:127 msgid "Build order output created" msgstr "Δημιουργήθηκε η έξοδος παραγγελίας" -#: InvenTree/status_codes.py:127 +#: InvenTree/status_codes.py:128 msgid "Build order output completed" msgstr "Η έξοδος της σειράς κατασκευής ολοκληρώθηκε" -#: InvenTree/status_codes.py:128 +#: InvenTree/status_codes.py:129 msgid "Build order output rejected" msgstr "Η εντολή κατασκευής απορρίφθηκε" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1764 +#: InvenTree/status_codes.py:130 templates/js/translated/stock.js:1764 msgid "Consumed by build order" msgstr "Κατανάλωση με εντολή κατασκευής" -#: InvenTree/status_codes.py:132 +#: InvenTree/status_codes.py:133 msgid "Shipped against Sales Order" msgstr "Αποστολή έναντι Εντολής Πώλησης" -#: InvenTree/status_codes.py:135 +#: InvenTree/status_codes.py:136 msgid "Received against Purchase Order" msgstr "Λήφθηκε έναντι Εντολής Αγοράς" -#: InvenTree/status_codes.py:138 +#: InvenTree/status_codes.py:139 msgid "Returned against Return Order" msgstr "Επιστράφηκε έναντι Εντολής Αγοράς" -#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:375 +#: InvenTree/status_codes.py:142 templates/js/translated/table_filters.js:375 msgid "Sent to customer" msgstr "Απεστάλη στον πελάτη" -#: InvenTree/status_codes.py:142 +#: InvenTree/status_codes.py:143 msgid "Returned from customer" msgstr "Επιστράφηκε από πελάτη" -#: InvenTree/status_codes.py:149 +#: InvenTree/status_codes.py:150 msgid "Production" msgstr "Παραγωγή" -#: InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:186 msgid "Return" msgstr "Επιστροφή" -#: InvenTree/status_codes.py:188 +#: InvenTree/status_codes.py:189 msgid "Repair" msgstr "Επισκευή" -#: InvenTree/status_codes.py:191 +#: InvenTree/status_codes.py:192 msgid "Replace" msgstr "Αντικατάσταση" -#: InvenTree/status_codes.py:194 +#: InvenTree/status_codes.py:195 msgid "Refund" msgstr "Επιστροφή χρημάτων" -#: InvenTree/status_codes.py:197 +#: InvenTree/status_codes.py:198 msgid "Reject" msgstr "Απόρριψη" @@ -946,14 +946,14 @@ msgstr "Σχετικά με το InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Η έκδοση πρέπει να ακυρωθεί πριν διαγραφεί" -#: build/api.py:299 part/models.py:4047 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4090 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "Αναλώσιμο" -#: build/api.py:300 part/models.py:4041 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4084 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -969,7 +969,7 @@ msgstr "Υπό παρακολούθηση" #: build/api.py:303 part/admin.py:144 templates/js/translated/build.js:1744 #: templates/js/translated/build.js:2629 -#: templates/js/translated/sales_order.js:1929 +#: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "Κατανεμημένο" @@ -980,7 +980,7 @@ msgstr "Κατανεμημένο" #: templates/email/low_stock_notification.html:17 #: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 #: templates/js/translated/index.js:123 -#: templates/js/translated/model_renderers.js:228 +#: templates/js/translated/model_renderers.js:234 #: templates/js/translated/part.js:692 templates/js/translated/part.js:694 #: templates/js/translated/part.js:699 #: templates/js/translated/table_filters.js:340 @@ -988,16 +988,16 @@ msgstr "Κατανεμημένο" msgid "Available" msgstr "Διαθέσιμο" -#: build/models.py:74 build/templates/build/build_base.html:9 +#: build/models.py:82 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 -#: report/templates/report/inventree_build_order_base.html:105 -#: templates/email/build_order_completed.html:16 +#: report/templates/report/inventree_build_order_report.html:105 +#: stock/serializers.py:83 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2895 +#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2892 msgid "Build Order" msgstr "Σειρά Κατασκευής" -#: build/models.py:75 build/templates/build/build_base.html:13 +#: build/models.py:83 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -1008,71 +1008,71 @@ msgstr "Σειρά Κατασκευής" msgid "Build Orders" msgstr "Δημιουργία Παραγγελιών" -#: build/models.py:122 +#: build/models.py:130 msgid "Invalid choice for parent build" msgstr "Μη έγκυρη επιλογή για γονική κατασκευή" -#: build/models.py:133 order/models.py:239 +#: build/models.py:141 order/models.py:241 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:139 +#: build/models.py:147 msgid "Build order part cannot be changed" msgstr "Εξάρτημα από εντολή κατασκευής δεν μπορεί να αλλάξει" -#: build/models.py:185 +#: build/models.py:208 msgid "Build Order Reference" msgstr "Αναφορά Παραγγελίας Κατασκευής" -#: build/models.py:186 order/models.py:442 order/models.py:898 -#: order/models.py:1276 order/models.py:1998 part/admin.py:417 -#: part/models.py:4062 part/templates/part/upload_bom.html:54 +#: build/models.py:209 order/models.py:464 order/models.py:929 +#: order/models.py:1316 order/models.py:2047 part/admin.py:419 +#: part/models.py:4105 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 -#: report/templates/report/inventree_so_report_base.html:28 +#: report/templates/report/inventree_purchase_order_report.html:28 +#: report/templates/report/inventree_return_order_report.html:26 +#: report/templates/report/inventree_sales_order_report.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 #: templates/js/translated/build.js:2512 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 -#: templates/js/translated/purchase_order.js:2066 -#: templates/js/translated/return_order.js:729 -#: templates/js/translated/sales_order.js:1818 +#: templates/js/translated/purchase_order.js:2065 +#: templates/js/translated/return_order.js:728 +#: templates/js/translated/sales_order.js:1854 msgid "Reference" msgstr "Αναφορά" -#: build/models.py:197 +#: build/models.py:220 msgid "Brief description of the build (optional)" msgstr "Σύντομη περιγραφή της κατασκευής (προαιρετικό)" -#: build/models.py:205 build/templates/build/build_base.html:183 +#: build/models.py:228 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Γονική Κατασκευή" -#: build/models.py:206 +#: build/models.py:229 msgid "BuildOrder to which this build is allocated" msgstr "BuildOrder στην οποία έχει δοθεί αυτή η κατασκευή" -#: build/models.py:211 build/templates/build/build_base.html:97 +#: build/models.py:234 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 -#: order/models.py:1401 order/models.py:1546 order/models.py:1547 -#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004 -#: part/models.py:3148 part/models.py:3292 part/models.py:3315 -#: part/models.py:3336 part/models.py:3358 part/models.py:3468 -#: part/models.py:3764 part/models.py:3920 part/models.py:4013 -#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713 +#: order/models.py:1441 order/models.py:1586 order/models.py:1587 +#: part/api.py:1501 part/api.py:1795 part/models.py:392 part/models.py:3047 +#: part/models.py:3191 part/models.py:3335 part/models.py:3358 +#: part/models.py:3379 part/models.py:3401 part/models.py:3511 +#: part/models.py:3807 part/models.py:3963 part/models.py:4056 +#: part/models.py:4417 part/serializers.py:1122 part/serializers.py:1728 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 -#: report/templates/report/inventree_build_order_base.html:109 -#: report/templates/report/inventree_po_report_base.html:27 -#: report/templates/report/inventree_return_order_report_base.html:24 -#: report/templates/report/inventree_slr_report.html:102 -#: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:267 stock/serializers.py:689 -#: templates/InvenTree/search.html:82 +#: report/templates/report/inventree_build_order_report.html:109 +#: report/templates/report/inventree_purchase_order_report.html:27 +#: report/templates/report/inventree_return_order_report.html:24 +#: report/templates/report/inventree_sales_order_report.html:27 +#: report/templates/report/inventree_stock_location_report.html:102 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:396 +#: stock/serializers.py:818 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -1086,235 +1086,239 @@ msgstr "BuildOrder στην οποία έχει δοθεί αυτή η κατα #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 #: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 -#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:2323 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:751 #: templates/js/translated/purchase_order.js:1304 -#: templates/js/translated/purchase_order.js:1849 -#: templates/js/translated/purchase_order.js:2008 -#: templates/js/translated/return_order.js:539 -#: templates/js/translated/return_order.js:710 +#: templates/js/translated/purchase_order.js:1848 +#: templates/js/translated/purchase_order.js:2007 +#: templates/js/translated/return_order.js:538 +#: templates/js/translated/return_order.js:709 #: templates/js/translated/sales_order.js:300 -#: templates/js/translated/sales_order.js:1197 -#: templates/js/translated/sales_order.js:1598 -#: templates/js/translated/sales_order.js:1796 +#: templates/js/translated/sales_order.js:1233 +#: templates/js/translated/sales_order.js:1634 +#: templates/js/translated/sales_order.js:1832 #: templates/js/translated/stock.js:676 templates/js/translated/stock.js:842 -#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1999 -#: templates/js/translated/stock.js:2860 templates/js/translated/stock.js:3093 -#: templates/js/translated/stock.js:3239 +#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1997 +#: templates/js/translated/stock.js:2857 templates/js/translated/stock.js:3090 +#: templates/js/translated/stock.js:3236 msgid "Part" msgstr "Εξάρτημα" -#: build/models.py:219 +#: build/models.py:242 msgid "Select part to build" msgstr "Επιλέξτε τμήμα για κατασκευή" -#: build/models.py:224 +#: build/models.py:247 msgid "Sales Order Reference" msgstr "Κωδικός Παραγγελίας Πωλήσεων" -#: build/models.py:228 +#: build/models.py:251 msgid "SalesOrder to which this build is allocated" msgstr "SalesOrder στην οποία έχει διατεθεί αυτό το build" -#: build/models.py:233 build/serializers.py:970 +#: build/models.py:256 build/serializers.py:969 #: templates/js/translated/build.js:1731 -#: templates/js/translated/sales_order.js:1185 +#: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "Τοποθεσία Προέλευσης" -#: build/models.py:237 +#: build/models.py:260 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Επιλέξτε τοποθεσία από την οποία θα γίνει απόθεμα, για αυτή την κατασκευή (αφήστε κενό για να πάρετε από οποιαδήποτε θέση αποθήκευσης)" -#: build/models.py:242 +#: build/models.py:265 msgid "Destination Location" msgstr "Τοποθεσία Προορισμού" -#: build/models.py:246 +#: build/models.py:269 msgid "Select location where the completed items will be stored" msgstr "Επιλέξτε την τοποθεσία όπου θα αποθηκευτούν τα ολοκληρωμένα στοιχεία" -#: build/models.py:250 +#: build/models.py:273 msgid "Build Quantity" msgstr "Ποσότητα Κατασκευής" -#: build/models.py:253 +#: build/models.py:276 msgid "Number of stock items to build" msgstr "Αριθμός αντικειμένων για κατασκευή" -#: build/models.py:257 +#: build/models.py:280 msgid "Completed items" msgstr "Ολοκληρωμένα αντικείμενα" -#: build/models.py:259 +#: build/models.py:282 msgid "Number of stock items which have been completed" msgstr "Αριθμός αντικειμένων αποθέματος που έχουν ολοκληρωθεί" -#: build/models.py:263 +#: build/models.py:286 msgid "Build Status" msgstr "Κατάσταση Κατασκευής" -#: build/models.py:267 +#: build/models.py:290 msgid "Build status code" msgstr "Κωδικός κατάστασης κατασκευής" -#: build/models.py:276 build/serializers.py:278 order/serializers.py:581 -#: stock/models.py:823 stock/serializers.py:1333 +#: build/models.py:299 build/serializers.py:277 order/serializers.py:581 +#: stock/models.py:844 stock/serializers.py:75 stock/serializers.py:1462 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Κωδικός Παρτίδας" -#: build/models.py:280 build/serializers.py:279 +#: build/models.py:303 build/serializers.py:278 msgid "Batch code for this build output" msgstr "Κωδικός παρτίδας για αυτήν την κατασκευή" -#: build/models.py:283 order/models.py:304 order/serializers.py:120 -#: part/models.py:1079 part/templates/part/part_base.html:310 -#: templates/js/translated/return_order.js:339 -#: templates/js/translated/sales_order.js:827 +#: build/models.py:306 order/models.py:317 order/serializers.py:120 +#: part/models.py:1122 part/templates/part/part_base.html:310 +#: templates/js/translated/return_order.js:338 +#: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "Ημερομηνία Δημιουργίας" -#: build/models.py:287 +#: build/models.py:310 msgid "Target completion date" msgstr "Ημερομηνία ολοκλήρωσης στόχου" -#: build/models.py:288 +#: build/models.py:311 msgid "Target date for build completion. Build will be overdue after this date." msgstr "Ημερομηνία ολοκλήρωσης της κατασκευής. Η κατασκευή θα καθυστερήσει μετά από αυτή την ημερομηνία." -#: build/models.py:291 order/models.py:500 order/models.py:2043 +#: build/models.py:314 order/models.py:522 order/models.py:2092 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "Ημερομηνία ολοκλήρωσης" -#: build/models.py:297 +#: build/models.py:320 msgid "completed by" msgstr "ολοκληρώθηκε από" -#: build/models.py:305 templates/js/translated/build.js:2207 +#: build/models.py:328 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "Εκδόθηκε από" -#: build/models.py:306 +#: build/models.py:329 msgid "User who issued this build order" msgstr "Χρήστης που εξέδωσε αυτήν την παραγγελία κατασκευής" -#: build/models.py:314 build/templates/build/build_base.html:204 +#: build/models.py:337 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:145 -#: order/models.py:322 order/templates/order/order_base.html:217 +#: order/models.py:335 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1096 +#: order/templates/order/sales_order_base.html:232 part/models.py:1139 #: part/templates/part/part_base.html:390 -#: report/templates/report/inventree_build_order_base.html:158 +#: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 #: templates/js/translated/build.js:2219 -#: templates/js/translated/purchase_order.js:1764 -#: templates/js/translated/return_order.js:359 +#: templates/js/translated/purchase_order.js:1763 +#: templates/js/translated/return_order.js:358 #: templates/js/translated/table_filters.js:531 msgid "Responsible" msgstr "Υπεύθυνος" -#: build/models.py:315 +#: build/models.py:338 msgid "User or group responsible for this build order" msgstr "Χρήστης ή ομάδα υπεύθυνη για αυτή την εντολή κατασκευής" -#: build/models.py:320 build/templates/build/detail.html:108 +#: build/models.py:343 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 -#: order/templates/order/sales_order_base.html:180 -#: part/templates/part/part_base.html:383 stock/models.py:819 +#: order/templates/order/sales_order_base.html:184 +#: part/templates/part/part_base.html:383 stock/models.py:840 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "Εξωτερικοί σύνδεσμοι" -#: build/models.py:325 +#: build/models.py:348 msgid "Build Priority" msgstr "Προτεραιότητα Κατασκευής" -#: build/models.py:328 +#: build/models.py:351 msgid "Priority of this build order" msgstr "Προτεραιότητα αυτής της εντολής κατασκευής" -#: build/models.py:335 common/models.py:129 order/admin.py:18 -#: order/models.py:286 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:358 common/models.py:129 order/admin.py:18 +#: order/models.py:299 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 -#: templates/js/translated/purchase_order.js:1711 -#: templates/js/translated/return_order.js:318 -#: templates/js/translated/sales_order.js:806 +#: templates/js/translated/purchase_order.js:1710 +#: templates/js/translated/return_order.js:317 +#: templates/js/translated/sales_order.js:842 #: templates/js/translated/table_filters.js:48 #: templates/project_code_data.html:6 msgid "Project Code" msgstr "Κωδικός Έργου" -#: build/models.py:336 +#: build/models.py:359 msgid "Project code for this build order" msgstr "Κωδικός έργου για αυτήν την εντολή κατασκευής" -#: build/models.py:566 build/models.py:631 +#: build/models.py:589 build/models.py:654 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:588 +#: build/models.py:611 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Η παραγγελία κατασκευής {build} έχει ολοκληρωθεί" -#: build/models.py:594 +#: build/models.py:617 msgid "A build order has been completed" msgstr "Η παραγγελία κατασκευής έχει ολοκληρωθεί" -#: build/models.py:820 build/models.py:895 +#: build/models.py:843 build/models.py:918 msgid "No build output specified" msgstr "Δεν καθορίστηκε έξοδος κατασκευής" -#: build/models.py:823 +#: build/models.py:846 msgid "Build output is already completed" msgstr "Η παραγγελία κατασκευής έχει ολοκληρωθεί" -#: build/models.py:826 +#: build/models.py:849 msgid "Build output does not match Build Order" msgstr "Η έξοδος κατασκευής δεν ταιριάζει με την παραγγελία κατασκευής" -#: build/models.py:899 build/serializers.py:221 build/serializers.py:260 -#: build/serializers.py:837 order/models.py:538 order/serializers.py:433 -#: order/serializers.py:576 part/serializers.py:1471 part/serializers.py:1871 -#: stock/models.py:662 stock/models.py:1482 stock/serializers.py:472 +#: build/models.py:922 build/serializers.py:220 build/serializers.py:259 +#: build/serializers.py:836 order/models.py:560 order/serializers.py:433 +#: order/serializers.py:576 part/serializers.py:1486 part/serializers.py:1886 +#: stock/models.py:683 stock/models.py:1503 stock/serializers.py:601 msgid "Quantity must be greater than zero" msgstr "Η ποσότητα πρέπει να είναι μεγαλύτερη από 0" -#: build/models.py:904 build/serializers.py:226 +#: build/models.py:927 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "Η ποσότητα δεν μπορεί να είναι μεγαλύτερη από την παραγόμενη ποσότητα" -#: build/models.py:961 build/serializers.py:539 +#: build/models.py:984 build/serializers.py:538 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "Το προϊόν κατασκευής {serial} δεν έχει περάσει όλες τις απαιτούμενες δοκιμές" -#: build/models.py:1323 +#: build/models.py:1335 +msgid "Build Order Line Item" +msgstr "" + +#: build/models.py:1360 msgid "Build object" msgstr "Αντικείμενο κατασκευής" -#: build/models.py:1337 build/models.py:1593 build/serializers.py:208 -#: build/serializers.py:245 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2524 -#: order/models.py:1259 order/models.py:1918 order/serializers.py:1339 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 -#: part/forms.py:48 part/models.py:3162 part/models.py:4035 +#: build/models.py:1374 build/models.py:1630 build/serializers.py:207 +#: build/serializers.py:244 build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2530 +#: order/models.py:1299 order/models.py:1958 order/serializers.py:1339 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 +#: part/forms.py:48 part/models.py:3205 part/models.py:4078 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 -#: report/templates/report/inventree_build_order_base.html:113 -#: report/templates/report/inventree_po_report_base.html:29 -#: report/templates/report/inventree_slr_report.html:104 -#: report/templates/report/inventree_so_report_base.html:29 -#: report/templates/report/inventree_test_report_base.html:90 -#: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:160 stock/serializers.py:463 +#: report/templates/report/inventree_build_order_report.html:113 +#: report/templates/report/inventree_purchase_order_report.html:29 +#: report/templates/report/inventree_sales_order_report.html:29 +#: report/templates/report/inventree_stock_location_report.html:104 +#: report/templates/report/inventree_test_report.html:90 +#: report/templates/report/inventree_test_report.html:170 stock/admin.py:160 +#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:592 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1324,380 +1328,381 @@ msgstr "Αντικείμενο κατασκευής" #: templates/js/translated/build.js:737 templates/js/translated/build.js:1369 #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 -#: templates/js/translated/model_renderers.js:230 +#: templates/js/translated/model_renderers.js:236 #: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3341 +#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3340 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 #: templates/js/translated/purchase_order.js:754 -#: templates/js/translated/purchase_order.js:1853 -#: templates/js/translated/purchase_order.js:2072 +#: templates/js/translated/purchase_order.js:1852 +#: templates/js/translated/purchase_order.js:2071 #: templates/js/translated/sales_order.js:317 -#: templates/js/translated/sales_order.js:1199 -#: templates/js/translated/sales_order.js:1518 -#: templates/js/translated/sales_order.js:1608 -#: templates/js/translated/sales_order.js:1698 -#: templates/js/translated/sales_order.js:1824 +#: templates/js/translated/sales_order.js:1235 +#: templates/js/translated/sales_order.js:1554 +#: templates/js/translated/sales_order.js:1644 +#: templates/js/translated/sales_order.js:1734 +#: templates/js/translated/sales_order.js:1860 #: templates/js/translated/stock.js:564 templates/js/translated/stock.js:702 -#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:3024 -#: templates/js/translated/stock.js:3107 +#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:3021 +#: templates/js/translated/stock.js:3104 msgid "Quantity" msgstr "Ποσότητα" -#: build/models.py:1338 +#: build/models.py:1375 msgid "Required quantity for build order" msgstr "Απαιτούμενη ποσότητα για την εντολή κατασκευής" -#: build/models.py:1418 +#: build/models.py:1455 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Το στοιχείο κατασκευής πρέπει να ορίζει μια έξοδο κατασκευής, καθώς το κύριο τμήμα επισημαίνεται ως ανιχνεύσιμο" -#: build/models.py:1427 +#: build/models.py:1464 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Η καταχωρημένη ποσότητα ({q}) δεν πρέπει να υπερβαίνει τη διαθέσιμη ποσότητα αποθέματος ({a})" -#: build/models.py:1437 order/models.py:1869 +#: build/models.py:1474 order/models.py:1909 msgid "Stock item is over-allocated" msgstr "Στοιχείο αποθέματος είναι υπερ-κατανεμημένο" -#: build/models.py:1443 order/models.py:1872 +#: build/models.py:1480 order/models.py:1912 msgid "Allocation quantity must be greater than zero" msgstr "Η ποσότητα πρέπει να είναι μεγαλύτερη από 0" -#: build/models.py:1449 +#: build/models.py:1486 msgid "Quantity must be 1 for serialized stock" msgstr "Η ποσότητα πρέπει να είναι 1 για σειριακό απόθεμα" -#: build/models.py:1508 +#: build/models.py:1545 msgid "Selected stock item does not match BOM line" msgstr "Το επιλεγμένο στοιχείο αποθέματος δεν ταιριάζει με τη γραμμή ΤΥ" -#: build/models.py:1580 build/serializers.py:817 order/serializers.py:1183 -#: order/serializers.py:1204 stock/serializers.py:566 stock/serializers.py:1052 -#: stock/serializers.py:1164 stock/templates/stock/item_base.html:10 +#: build/models.py:1617 build/serializers.py:816 order/serializers.py:1183 +#: order/serializers.py:1204 stock/models.py:364 stock/serializers.py:92 +#: stock/serializers.py:695 stock/serializers.py:1181 stock/serializers.py:1293 +#: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 #: templates/js/translated/build.js:1745 #: templates/js/translated/sales_order.js:301 -#: templates/js/translated/sales_order.js:1198 -#: templates/js/translated/sales_order.js:1499 -#: templates/js/translated/sales_order.js:1504 -#: templates/js/translated/sales_order.js:1605 -#: templates/js/translated/sales_order.js:1692 +#: templates/js/translated/sales_order.js:1234 +#: templates/js/translated/sales_order.js:1535 +#: templates/js/translated/sales_order.js:1540 +#: templates/js/translated/sales_order.js:1641 +#: templates/js/translated/sales_order.js:1728 #: templates/js/translated/stock.js:677 templates/js/translated/stock.js:843 -#: templates/js/translated/stock.js:2980 +#: templates/js/translated/stock.js:2977 msgid "Stock Item" msgstr "Στοιχείο Αποθέματος" -#: build/models.py:1581 +#: build/models.py:1618 msgid "Source stock item" msgstr "Στοιχείο πηγαίου αποθέματος" -#: build/models.py:1594 +#: build/models.py:1631 msgid "Stock quantity to allocate to build" msgstr "Ποσότητα αποθέματος για διάθεση για κατασκευή" -#: build/models.py:1602 +#: build/models.py:1639 msgid "Install into" msgstr "Εγκατάσταση σε" -#: build/models.py:1603 +#: build/models.py:1640 msgid "Destination stock item" msgstr "Αποθήκη προορισμού" -#: build/serializers.py:158 build/serializers.py:846 +#: build/serializers.py:157 build/serializers.py:845 #: templates/js/translated/build.js:1322 msgid "Build Output" msgstr "Κατασκευή Εξόδου" -#: build/serializers.py:170 +#: build/serializers.py:169 msgid "Build output does not match the parent build" msgstr "Η έξοδος κατασκευής δεν ταιριάζει με την παραγγελία κατασκευής" -#: build/serializers.py:174 +#: build/serializers.py:173 msgid "Output part does not match BuildOrder part" msgstr "Το εξερχόμενο μέρος δεν ταιριάζει με το μέρος BuildOrder" -#: build/serializers.py:178 +#: build/serializers.py:177 msgid "This build output has already been completed" msgstr "Η παραγγελία κατασκευής έχει ολοκληρωθεί" -#: build/serializers.py:189 +#: build/serializers.py:188 msgid "This build output is not fully allocated" msgstr "Αυτή η έξοδος κατασκευής δεν έχει εκχωρηθεί πλήρως" -#: build/serializers.py:209 build/serializers.py:246 +#: build/serializers.py:208 build/serializers.py:245 msgid "Enter quantity for build output" msgstr "Εισάγετε ποσότητα για την έξοδο κατασκευής" -#: build/serializers.py:267 +#: build/serializers.py:266 msgid "Integer quantity required for trackable parts" msgstr "Ακέραιη ποσότητα που απαιτείται για ανιχνεύσιμα μέρη" -#: build/serializers.py:270 +#: build/serializers.py:269 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Ακέραιη ποσότητα που απαιτείται, καθώς ο λογαριασμός των υλικών περιέχει ανιχνεύσιμα μέρη" -#: build/serializers.py:285 order/serializers.py:589 order/serializers.py:1343 -#: stock/serializers.py:483 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:284 order/serializers.py:589 order/serializers.py:1343 +#: stock/serializers.py:612 templates/js/translated/purchase_order.js:1153 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "Σειριακοί αριθμοί" -#: build/serializers.py:286 +#: build/serializers.py:285 msgid "Enter serial numbers for build outputs" msgstr "Εισάγετε ποσότητα για την έξοδο κατασκευής" -#: build/serializers.py:291 build/serializers.py:432 build/serializers.py:504 +#: build/serializers.py:290 build/serializers.py:431 build/serializers.py:503 #: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1679 -#: part/serializers.py:1127 stock/serializers.py:494 stock/serializers.py:654 -#: stock/serializers.py:750 stock/serializers.py:1196 stock/serializers.py:1452 -#: stock/templates/stock/item_base.html:394 +#: part/serializers.py:1142 stock/serializers.py:101 stock/serializers.py:623 +#: stock/serializers.py:783 stock/serializers.py:879 stock/serializers.py:1325 +#: stock/serializers.py:1581 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 #: templates/js/translated/purchase_order.js:1178 #: templates/js/translated/purchase_order.js:1268 -#: templates/js/translated/sales_order.js:1511 -#: templates/js/translated/sales_order.js:1619 -#: templates/js/translated/sales_order.js:1627 -#: templates/js/translated/sales_order.js:1706 +#: templates/js/translated/sales_order.js:1547 +#: templates/js/translated/sales_order.js:1655 +#: templates/js/translated/sales_order.js:1663 +#: templates/js/translated/sales_order.js:1742 #: templates/js/translated/stock.js:678 templates/js/translated/stock.js:844 -#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2203 -#: templates/js/translated/stock.js:2874 +#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2201 +#: templates/js/translated/stock.js:2871 msgid "Location" msgstr "Τοποθεσία" -#: build/serializers.py:292 +#: build/serializers.py:291 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:306 +#: build/serializers.py:305 msgid "Auto Allocate Serial Numbers" msgstr "Αυτόματη Κατανομή Σειριακών Αριθμών" -#: build/serializers.py:307 +#: build/serializers.py:306 msgid "Automatically allocate required items with matching serial numbers" msgstr "Αυτόματη κατανομή των απαιτούμενων στοιχείων με τους αντίστοιχους σειριακούς αριθμούς" -#: build/serializers.py:322 +#: build/serializers.py:321 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:347 stock/api.py:995 +#: build/serializers.py:346 stock/api.py:1029 msgid "The following serial numbers already exist or are invalid" msgstr "Οι παρακάτω σειριακοί αριθμοί υπάρχουν ήδη ή δεν είναι έγκυροι" -#: build/serializers.py:394 build/serializers.py:456 build/serializers.py:545 +#: build/serializers.py:393 build/serializers.py:455 build/serializers.py:544 msgid "A list of build outputs must be provided" msgstr "Πρέπει να παρέχεται μια λίστα με τα αποτελέσματα κατασκευής" -#: build/serializers.py:433 +#: build/serializers.py:432 msgid "Stock location for scrapped outputs" msgstr "Θέση αποθέματος για απορριφθείσες παραγωγές" -#: build/serializers.py:439 +#: build/serializers.py:438 msgid "Discard Allocations" msgstr "Απόρριψη Κατανομών" -#: build/serializers.py:440 +#: build/serializers.py:439 msgid "Discard any stock allocations for scrapped outputs" msgstr "Απορρίψτε τυχόν κατανομές αποθέματος για παραγωγές που έχουν απορριφθεί" -#: build/serializers.py:445 +#: build/serializers.py:444 msgid "Reason for scrapping build output(s)" msgstr "Αιτία απόρριψης προϊόντων κατασκευής" -#: build/serializers.py:505 +#: build/serializers.py:504 msgid "Location for completed build outputs" msgstr "Τοποθεσία για ολοκληρωμένα προϊόντα κατασκευής" -#: build/serializers.py:511 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:922 -#: order/models.py:2022 order/serializers.py:597 stock/admin.py:165 -#: stock/serializers.py:801 stock/serializers.py:1340 +#: build/serializers.py:510 build/templates/build/build_base.html:151 +#: build/templates/build/detail.html:62 order/models.py:953 +#: order/models.py:2071 order/serializers.py:597 stock/admin.py:165 +#: stock/serializers.py:930 stock/serializers.py:1469 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 -#: templates/js/translated/purchase_order.js:1723 -#: templates/js/translated/return_order.js:331 -#: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2178 templates/js/translated/stock.js:2998 -#: templates/js/translated/stock.js:3123 +#: templates/js/translated/purchase_order.js:1722 +#: templates/js/translated/return_order.js:330 +#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/stock.js:2176 templates/js/translated/stock.js:2995 +#: templates/js/translated/stock.js:3120 msgid "Status" msgstr "Κατάσταση" -#: build/serializers.py:517 +#: build/serializers.py:516 msgid "Accept Incomplete Allocation" msgstr "Αποδοχή Ελλιπούς Δέσμευσης" -#: build/serializers.py:518 +#: build/serializers.py:517 msgid "Complete outputs if stock has not been fully allocated" msgstr "Ολοκλήρωσε τα προϊόντα εάν το απόθεμα δεν έχει δεσμευτεί πλήρως" -#: build/serializers.py:598 +#: build/serializers.py:597 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:599 +#: build/serializers.py:598 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:605 +#: build/serializers.py:604 msgid "Remove Incomplete Outputs" msgstr "Αφαίρεση Ατελείωτων Προϊόντων" -#: build/serializers.py:606 +#: build/serializers.py:605 msgid "Delete any build outputs which have not been completed" msgstr "Διαγράψτε τυχόν προϊόντα κατασκευής που δεν έχουν ολοκληρωθεί" -#: build/serializers.py:633 +#: build/serializers.py:632 msgid "Not permitted" msgstr "Δεν επιτρέπεται" -#: build/serializers.py:634 +#: build/serializers.py:633 msgid "Accept as consumed by this build order" msgstr "Αποδοχή ως κατανάλωση για αυτή την παραγγελία κατασκευής" -#: build/serializers.py:635 +#: build/serializers.py:634 msgid "Deallocate before completing this build order" msgstr "Αποδέσμευση πριν από την ολοκλήρωση αυτής της παραγγελίας κατασκευής" -#: build/serializers.py:657 +#: build/serializers.py:656 msgid "Overallocated Stock" msgstr "Υπερ-δεσμευμένο Απόθεμα" -#: build/serializers.py:659 +#: build/serializers.py:658 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "Πώς θέλετε να χειριστείτε το επιπλέον απόθεμα που έχει δεσμευτεί στην παραγγελία κατασκευής" -#: build/serializers.py:669 +#: build/serializers.py:668 msgid "Some stock items have been overallocated" msgstr "Μερικά στοιχεία αποθέματος έχουν υπερ-δεσμευτεί" -#: build/serializers.py:674 +#: build/serializers.py:673 msgid "Accept Unallocated" msgstr "Αποδοχή Μη Δεσμευμένων" -#: build/serializers.py:675 +#: build/serializers.py:674 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Αποδεχτείτε ότι αντικείμενα αποθέματος δεν έχουν δεσμευτεί πλήρως σε αυτή την παραγγελία κατασκευής" -#: build/serializers.py:685 templates/js/translated/build.js:315 +#: build/serializers.py:684 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" msgstr "Το απαιτούμενο απόθεμα δεν έχει δεσμευτεί πλήρως" -#: build/serializers.py:690 order/serializers.py:301 order/serializers.py:1246 +#: build/serializers.py:689 order/serializers.py:301 order/serializers.py:1246 msgid "Accept Incomplete" msgstr "Αποδοχή Μη Ολοκληρωμένων" -#: build/serializers.py:691 +#: build/serializers.py:690 msgid "Accept that the required number of build outputs have not been completed" msgstr "Αποδεχτείτε ότι ο απαιτούμενος αριθμός προϊόντων κατασκευής δεν έχει ολοκληρωθεί" -#: build/serializers.py:701 templates/js/translated/build.js:319 +#: build/serializers.py:700 templates/js/translated/build.js:319 msgid "Required build quantity has not been completed" msgstr "Ο απαιτούμενος αριθμός προϊόντων δεν έχει ολοκληρωθεί" -#: build/serializers.py:710 templates/js/translated/build.js:303 +#: build/serializers.py:709 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" msgstr "Η παραγγελία κατασκευής έχει ελλιπή προϊόντα" -#: build/serializers.py:740 +#: build/serializers.py:739 msgid "Build Line" msgstr "Γραμμή Κατασκευής" -#: build/serializers.py:750 +#: build/serializers.py:749 msgid "Build output" msgstr "Προϊόν Κατασκευής" -#: build/serializers.py:758 +#: build/serializers.py:757 msgid "Build output must point to the same build" msgstr "Το προϊόν κατασκευής πρέπει να δείχνει στην ίδια κατασκευή" -#: build/serializers.py:794 +#: build/serializers.py:793 msgid "Build Line Item" msgstr "Αντικείμενο Γραμμής Κατασκευής" -#: build/serializers.py:808 +#: build/serializers.py:807 msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part πρέπει να δείχνει στο ίδιο εξάρτημα με τη εντολή κατασκευής" -#: build/serializers.py:823 stock/serializers.py:1065 +#: build/serializers.py:822 stock/serializers.py:1194 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:871 order/serializers.py:1237 +#: build/serializers.py:870 order/serializers.py:1237 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:877 +#: build/serializers.py:876 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:884 +#: build/serializers.py:883 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:908 order/serializers.py:1489 +#: build/serializers.py:907 order/serializers.py:1489 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:971 +#: build/serializers.py:970 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:979 +#: build/serializers.py:978 msgid "Exclude Location" msgstr "" -#: build/serializers.py:980 +#: build/serializers.py:979 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:985 +#: build/serializers.py:984 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:986 +#: build/serializers.py:985 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:991 +#: build/serializers.py:990 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:992 +#: build/serializers.py:991 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:997 +#: build/serializers.py:996 msgid "Optional Items" msgstr "" -#: build/serializers.py:998 +#: build/serializers.py:997 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1020 +#: build/serializers.py:1019 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1110 part/models.py:3930 part/models.py:4366 -#: stock/api.py:758 +#: build/serializers.py:1109 part/models.py:3973 part/models.py:4409 +#: stock/api.py:792 msgid "BOM Item" msgstr "" -#: build/serializers.py:1119 templates/js/translated/index.js:130 +#: build/serializers.py:1118 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1124 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:817 part/serializers.py:1489 +#: build/serializers.py:1123 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:832 part/serializers.py:1504 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 @@ -1705,15 +1710,15 @@ msgstr "" msgid "On Order" msgstr "" -#: build/serializers.py:1129 part/serializers.py:1491 +#: build/serializers.py:1128 part/serializers.py:1506 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1134 part/bom.py:172 part/serializers.py:1514 +#: build/serializers.py:1133 part/bom.py:172 part/serializers.py:1529 #: part/templates/part/part_base.html:192 -#: templates/js/translated/sales_order.js:1893 +#: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "" @@ -1842,18 +1847,18 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "Το Απόθεμα δεν έχει κατανεμηθεί πλήρως σε αυτή την Εντολή Κατασκευής" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:297 -#: order/models.py:1294 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:310 +#: order/models.py:1334 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 -#: order/templates/order/sales_order_base.html:192 -#: report/templates/report/inventree_build_order_base.html:125 +#: order/templates/order/sales_order_base.html:196 +#: report/templates/report/inventree_build_order_report.html:125 #: templates/js/translated/build.js:2239 templates/js/translated/part.js:1830 -#: templates/js/translated/purchase_order.js:1740 -#: templates/js/translated/purchase_order.js:2148 -#: templates/js/translated/return_order.js:347 -#: templates/js/translated/return_order.js:751 -#: templates/js/translated/sales_order.js:835 -#: templates/js/translated/sales_order.js:1867 +#: templates/js/translated/purchase_order.js:1739 +#: templates/js/translated/purchase_order.js:2147 +#: templates/js/translated/return_order.js:346 +#: templates/js/translated/return_order.js:750 +#: templates/js/translated/sales_order.js:871 +#: templates/js/translated/sales_order.js:1903 msgid "Target Date" msgstr "Επιθυμητή Προθεσμία" @@ -1866,7 +1871,7 @@ msgstr "Αυτή η κατασκευή είχε προθεσμία %(target)s" #: build/templates/build/build_base.html:222 #: order/templates/order/order_base.html:122 #: order/templates/order/return_order_base.html:117 -#: order/templates/order/sales_order_base.html:122 +#: order/templates/order/sales_order_base.html:126 #: templates/js/translated/table_filters.js:98 #: templates/js/translated/table_filters.js:524 #: templates/js/translated/table_filters.js:626 @@ -1880,24 +1885,24 @@ msgid "Completed Outputs" msgstr "Ολοκληρωμένα Προϊόντα" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:1538 -#: order/models.py:1652 order/models.py:1806 +#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:848 +#: order/models.py:1578 order/models.py:1692 order/models.py:1846 #: 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 +#: report/templates/report/inventree_build_order_report.html:135 +#: report/templates/report/inventree_sales_order_report.html:14 #: stock/templates/stock/item_base.html:369 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:929 -#: templates/js/translated/sales_order.js:769 -#: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2927 +#: templates/js/translated/sales_order.js:805 +#: templates/js/translated/sales_order.js:1028 +#: templates/js/translated/stock.js:2924 msgid "Sales Order" msgstr "Εντολές Πώλησης" #: build/templates/build/build_base.html:197 #: build/templates/build/detail.html:115 -#: report/templates/report/inventree_build_order_base.html:152 +#: report/templates/report/inventree_build_order_report.html:152 #: templates/js/translated/table_filters.js:24 msgid "Issued By" msgstr "Εκδόθηκε από" @@ -1907,15 +1912,15 @@ msgstr "Εκδόθηκε από" msgid "Priority" msgstr "Προτεραιότητα" -#: build/templates/build/build_base.html:273 +#: build/templates/build/build_base.html:269 msgid "Delete Build Order" msgstr "Διαγραφή Εντολής Κατασκευής" -#: build/templates/build/build_base.html:283 +#: build/templates/build/build_base.html:279 msgid "Build Order QR Code" msgstr "Κωδικός QR Εντολής Κατασκευής" -#: build/templates/build/build_base.html:295 +#: build/templates/build/build_base.html:291 msgid "Link Barcode to Build Order" msgstr "Σύνδεση Barcode με την Εντολή Κατασκευής" @@ -1931,8 +1936,8 @@ msgstr "Προέλευση Αποθέματος" msgid "Stock can be taken from any available location." msgstr "Το απόθεμα μπορεί να ληφθεί από οποιαδήποτε διαθέσιμη τοποθεσία." -#: build/templates/build/detail.html:49 order/models.py:1430 -#: templates/js/translated/purchase_order.js:2190 +#: build/templates/build/detail.html:49 order/models.py:1470 +#: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "Προορισμός" @@ -1947,10 +1952,10 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 #: templates/js/translated/build.js:1380 -#: templates/js/translated/model_renderers.js:235 +#: templates/js/translated/model_renderers.js:241 #: templates/js/translated/purchase_order.js:1274 -#: templates/js/translated/stock.js:1133 templates/js/translated/stock.js:2192 -#: templates/js/translated/stock.js:3130 +#: templates/js/translated/stock.js:1133 templates/js/translated/stock.js:2190 +#: templates/js/translated/stock.js:3127 #: templates/js/translated/table_filters.js:313 #: templates/js/translated/table_filters.js:404 msgid "Batch" @@ -1959,7 +1964,7 @@ msgstr "" #: build/templates/build/detail.html:133 #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:151 -#: order/templates/order/sales_order_base.html:186 +#: order/templates/order/sales_order_base.html:190 #: templates/js/translated/build.js:2199 msgid "Created" msgstr "" @@ -1969,7 +1974,7 @@ msgid "No target date set" msgstr "" #: build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:202 +#: order/templates/order/sales_order_base.html:206 #: templates/js/translated/table_filters.js:689 msgid "Completed" msgstr "" @@ -2260,8 +2265,8 @@ msgstr "" #: common/models.py:1316 common/models.py:1372 common/models.py:1385 #: common/models.py:1393 common/models.py:1402 common/models.py:1411 -#: common/models.py:1613 common/models.py:1635 common/models.py:1750 -#: common/models.py:2061 +#: common/models.py:1619 common/models.py:1641 common/models.py:1756 +#: common/models.py:2067 msgid "days" msgstr "" @@ -2402,1209 +2407,1218 @@ msgid "Enable revision field for Part" msgstr "" #: common/models.py:1440 -msgid "IPN Regex" +msgid "Allow Deletion from Assembly" msgstr "" #: common/models.py:1441 +msgid "Allow deletion of parts which are used in an assembly" +msgstr "" + +#: common/models.py:1446 +msgid "IPN Regex" +msgstr "" + +#: common/models.py:1447 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1444 +#: common/models.py:1450 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1445 +#: common/models.py:1451 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1450 +#: common/models.py:1456 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1451 +#: common/models.py:1457 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1456 +#: common/models.py:1462 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1457 +#: common/models.py:1463 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1462 +#: common/models.py:1468 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1463 +#: common/models.py:1469 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1468 +#: common/models.py:1474 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1469 +#: common/models.py:1475 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1474 +#: common/models.py:1480 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1475 +#: common/models.py:1481 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1480 part/admin.py:108 part/models.py:3772 -#: report/models.py:182 stock/serializers.py:99 +#: common/models.py:1486 part/admin.py:108 part/models.py:3815 +#: report/models.py:294 report/models.py:361 report/serializers.py:90 +#: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:767 msgid "Template" msgstr "" -#: common/models.py:1481 +#: common/models.py:1487 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1486 part/admin.py:91 part/admin.py:431 part/models.py:1016 +#: common/models.py:1492 part/admin.py:91 part/admin.py:433 part/models.py:1059 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "" -#: common/models.py:1487 +#: common/models.py:1493 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1492 part/admin.py:95 part/models.py:1022 +#: common/models.py:1498 part/admin.py:95 part/models.py:1065 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "" -#: common/models.py:1493 +#: common/models.py:1499 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1498 part/admin.py:100 part/models.py:1034 +#: common/models.py:1504 part/admin.py:100 part/models.py:1077 msgid "Purchaseable" msgstr "" -#: common/models.py:1499 +#: common/models.py:1505 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1504 part/admin.py:104 part/models.py:1040 +#: common/models.py:1510 part/admin.py:104 part/models.py:1083 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "" -#: common/models.py:1505 +#: common/models.py:1511 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1510 part/admin.py:113 part/models.py:1028 +#: common/models.py:1516 part/admin.py:113 part/models.py:1071 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "" -#: common/models.py:1511 +#: common/models.py:1517 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1516 part/admin.py:117 part/models.py:1050 +#: common/models.py:1522 part/admin.py:117 part/models.py:1093 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "" -#: common/models.py:1517 +#: common/models.py:1523 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1522 +#: common/models.py:1528 msgid "Show Import in Views" msgstr "" -#: common/models.py:1523 +#: common/models.py:1529 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1528 +#: common/models.py:1534 msgid "Show related parts" msgstr "" -#: common/models.py:1529 +#: common/models.py:1535 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1534 +#: common/models.py:1540 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1535 +#: common/models.py:1541 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1540 templates/js/translated/part.js:107 +#: common/models.py:1546 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1542 +#: common/models.py:1548 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1548 +#: common/models.py:1554 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1549 +#: common/models.py:1555 msgid "Format to display the part name" msgstr "" -#: common/models.py:1555 +#: common/models.py:1561 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1556 +#: common/models.py:1562 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1560 +#: common/models.py:1566 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1562 +#: common/models.py:1568 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1568 +#: common/models.py:1574 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1570 +#: common/models.py:1576 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1576 +#: common/models.py:1582 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1578 +#: common/models.py:1584 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1584 +#: common/models.py:1590 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1586 +#: common/models.py:1592 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1592 +#: common/models.py:1598 msgid "Purchase History Override" msgstr "" -#: common/models.py:1594 +#: common/models.py:1600 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1600 +#: common/models.py:1606 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1602 +#: common/models.py:1608 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1608 +#: common/models.py:1614 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1610 +#: common/models.py:1616 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1617 +#: common/models.py:1623 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1618 +#: common/models.py:1624 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1623 +#: common/models.py:1629 msgid "Active Variants Only" msgstr "" -#: common/models.py:1625 +#: common/models.py:1631 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1631 +#: common/models.py:1637 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1633 +#: common/models.py:1639 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1640 +#: common/models.py:1646 msgid "Internal Prices" msgstr "" -#: common/models.py:1641 +#: common/models.py:1647 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1646 +#: common/models.py:1652 msgid "Internal Price Override" msgstr "" -#: common/models.py:1648 +#: common/models.py:1654 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1654 +#: common/models.py:1660 msgid "Enable label printing" msgstr "" -#: common/models.py:1655 +#: common/models.py:1661 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1660 +#: common/models.py:1666 msgid "Label Image DPI" msgstr "" -#: common/models.py:1662 +#: common/models.py:1668 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1668 +#: common/models.py:1674 msgid "Enable Reports" msgstr "" -#: common/models.py:1669 +#: common/models.py:1675 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1674 templates/stats.html:25 +#: common/models.py:1680 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1675 +#: common/models.py:1681 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1680 +#: common/models.py:1686 msgid "Log Report Errors" msgstr "" -#: common/models.py:1681 +#: common/models.py:1687 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1686 plugin/builtin/labels/label_sheet.py:28 -#: report/models.py:203 +#: common/models.py:1692 plugin/builtin/labels/label_sheet.py:28 +#: report/models.py:302 msgid "Page Size" msgstr "" -#: common/models.py:1687 +#: common/models.py:1693 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1692 +#: common/models.py:1698 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1693 +#: common/models.py:1699 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1698 +#: common/models.py:1704 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1700 +#: common/models.py:1706 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1706 +#: common/models.py:1712 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1707 +#: common/models.py:1713 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1712 +#: common/models.py:1718 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1713 +#: common/models.py:1719 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1718 +#: common/models.py:1724 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1720 +#: common/models.py:1726 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1726 +#: common/models.py:1732 msgid "Batch Code Template" msgstr "" -#: common/models.py:1728 +#: common/models.py:1734 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1733 +#: common/models.py:1739 msgid "Stock Expiry" msgstr "" -#: common/models.py:1734 +#: common/models.py:1740 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1739 +#: common/models.py:1745 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1740 +#: common/models.py:1746 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1745 +#: common/models.py:1751 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1747 +#: common/models.py:1753 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1754 +#: common/models.py:1760 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1755 +#: common/models.py:1761 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1760 +#: common/models.py:1766 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1761 +#: common/models.py:1767 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1766 +#: common/models.py:1772 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1767 +#: common/models.py:1773 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1771 +#: common/models.py:1777 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1772 +#: common/models.py:1778 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1777 +#: common/models.py:1783 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1779 +#: common/models.py:1785 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1785 +#: common/models.py:1791 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1787 +#: common/models.py:1793 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1793 +#: common/models.py:1799 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1795 +#: common/models.py:1801 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1801 common/models.py:1829 common/models.py:1851 -#: common/models.py:1879 +#: common/models.py:1807 common/models.py:1835 common/models.py:1857 +#: common/models.py:1885 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1802 common/models.py:1830 common/models.py:1852 -#: common/models.py:1880 +#: common/models.py:1808 common/models.py:1836 common/models.py:1858 +#: common/models.py:1886 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1807 +#: common/models.py:1813 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1809 +#: common/models.py:1815 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1815 +#: common/models.py:1821 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1816 +#: common/models.py:1822 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1821 +#: common/models.py:1827 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1823 +#: common/models.py:1829 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1835 +#: common/models.py:1841 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1837 +#: common/models.py:1843 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1843 +#: common/models.py:1849 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1845 +#: common/models.py:1851 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1857 +#: common/models.py:1863 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1858 +#: common/models.py:1864 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1863 +#: common/models.py:1869 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1865 +#: common/models.py:1871 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1871 +#: common/models.py:1877 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1873 +#: common/models.py:1879 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1885 +#: common/models.py:1891 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1887 +#: common/models.py:1893 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1893 +#: common/models.py:1899 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1895 +#: common/models.py:1901 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1902 +#: common/models.py:1908 msgid "Enable password forgot" msgstr "" -#: common/models.py:1903 +#: common/models.py:1909 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1908 +#: common/models.py:1914 msgid "Enable registration" msgstr "" -#: common/models.py:1909 +#: common/models.py:1915 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1914 +#: common/models.py:1920 msgid "Enable SSO" msgstr "" -#: common/models.py:1915 +#: common/models.py:1921 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1920 +#: common/models.py:1926 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1922 +#: common/models.py:1928 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1928 +#: common/models.py:1934 msgid "Email required" msgstr "" -#: common/models.py:1929 +#: common/models.py:1935 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1934 +#: common/models.py:1940 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1936 +#: common/models.py:1942 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1942 +#: common/models.py:1948 msgid "Mail twice" msgstr "" -#: common/models.py:1943 +#: common/models.py:1949 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1948 +#: common/models.py:1954 msgid "Password twice" msgstr "" -#: common/models.py:1949 +#: common/models.py:1955 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1954 +#: common/models.py:1960 msgid "Allowed domains" msgstr "" -#: common/models.py:1956 +#: common/models.py:1962 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1962 +#: common/models.py:1968 msgid "Group on signup" msgstr "" -#: common/models.py:1963 +#: common/models.py:1969 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1968 +#: common/models.py:1974 msgid "Enforce MFA" msgstr "" -#: common/models.py:1969 +#: common/models.py:1975 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1974 +#: common/models.py:1980 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1976 +#: common/models.py:1982 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1984 +#: common/models.py:1990 msgid "Check for plugin updates" msgstr "" -#: common/models.py:1985 +#: common/models.py:1991 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:1991 +#: common/models.py:1997 msgid "Enable URL integration" msgstr "" -#: common/models.py:1992 +#: common/models.py:1998 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1998 +#: common/models.py:2004 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1999 +#: common/models.py:2005 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2005 +#: common/models.py:2011 msgid "Enable app integration" msgstr "" -#: common/models.py:2006 +#: common/models.py:2012 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2012 +#: common/models.py:2018 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2013 +#: common/models.py:2019 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2019 +#: common/models.py:2025 msgid "Enable event integration" msgstr "" -#: common/models.py:2020 +#: common/models.py:2026 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2026 +#: common/models.py:2032 msgid "Enable project codes" msgstr "" -#: common/models.py:2027 +#: common/models.py:2033 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2032 +#: common/models.py:2038 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2034 +#: common/models.py:2040 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2040 +#: common/models.py:2046 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2042 +#: common/models.py:2048 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2048 +#: common/models.py:2054 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2050 +#: common/models.py:2056 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2056 +#: common/models.py:2062 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2058 +#: common/models.py:2064 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2065 +#: common/models.py:2071 msgid "Display Users full names" msgstr "" -#: common/models.py:2066 +#: common/models.py:2072 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2071 +#: common/models.py:2077 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2072 +#: common/models.py:2078 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2084 common/models.py:2494 +#: common/models.py:2090 common/models.py:2500 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2127 +#: common/models.py:2133 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2129 +#: common/models.py:2135 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2135 +#: common/models.py:2141 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2136 +#: common/models.py:2142 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2141 +#: common/models.py:2147 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2142 +#: common/models.py:2148 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2147 +#: common/models.py:2153 msgid "Show latest parts" msgstr "" -#: common/models.py:2148 +#: common/models.py:2154 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2153 +#: common/models.py:2159 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2154 +#: common/models.py:2160 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2159 +#: common/models.py:2165 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2160 +#: common/models.py:2166 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2165 +#: common/models.py:2171 msgid "Show low stock" msgstr "" -#: common/models.py:2166 +#: common/models.py:2172 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2171 +#: common/models.py:2177 msgid "Show depleted stock" msgstr "" -#: common/models.py:2172 +#: common/models.py:2178 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2177 +#: common/models.py:2183 msgid "Show needed stock" msgstr "" -#: common/models.py:2178 +#: common/models.py:2184 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2183 +#: common/models.py:2189 msgid "Show expired stock" msgstr "" -#: common/models.py:2184 +#: common/models.py:2190 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2189 +#: common/models.py:2195 msgid "Show stale stock" msgstr "" -#: common/models.py:2190 +#: common/models.py:2196 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2195 +#: common/models.py:2201 msgid "Show pending builds" msgstr "" -#: common/models.py:2196 +#: common/models.py:2202 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2201 +#: common/models.py:2207 msgid "Show overdue builds" msgstr "" -#: common/models.py:2202 +#: common/models.py:2208 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2207 +#: common/models.py:2213 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2208 +#: common/models.py:2214 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2213 +#: common/models.py:2219 msgid "Show overdue POs" msgstr "" -#: common/models.py:2214 +#: common/models.py:2220 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2219 +#: common/models.py:2225 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2220 +#: common/models.py:2226 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2225 +#: common/models.py:2231 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2226 +#: common/models.py:2232 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2231 +#: common/models.py:2237 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2232 +#: common/models.py:2238 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2237 +#: common/models.py:2243 msgid "Show News" msgstr "" -#: common/models.py:2238 +#: common/models.py:2244 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2243 +#: common/models.py:2249 msgid "Inline label display" msgstr "" -#: common/models.py:2245 +#: common/models.py:2251 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2251 +#: common/models.py:2257 msgid "Default label printer" msgstr "" -#: common/models.py:2253 +#: common/models.py:2259 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2259 +#: common/models.py:2265 msgid "Inline report display" msgstr "" -#: common/models.py:2261 +#: common/models.py:2267 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2267 +#: common/models.py:2273 msgid "Search Parts" msgstr "" -#: common/models.py:2268 +#: common/models.py:2274 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2273 +#: common/models.py:2279 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2274 +#: common/models.py:2280 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2279 +#: common/models.py:2285 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2280 +#: common/models.py:2286 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2285 +#: common/models.py:2291 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2286 +#: common/models.py:2292 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2291 +#: common/models.py:2297 msgid "Search Categories" msgstr "" -#: common/models.py:2292 +#: common/models.py:2298 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2297 +#: common/models.py:2303 msgid "Search Stock" msgstr "" -#: common/models.py:2298 +#: common/models.py:2304 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2303 +#: common/models.py:2309 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2305 +#: common/models.py:2311 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2311 +#: common/models.py:2317 msgid "Search Locations" msgstr "" -#: common/models.py:2312 +#: common/models.py:2318 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2317 +#: common/models.py:2323 msgid "Search Companies" msgstr "" -#: common/models.py:2318 +#: common/models.py:2324 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2323 +#: common/models.py:2329 msgid "Search Build Orders" msgstr "" -#: common/models.py:2324 +#: common/models.py:2330 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2329 +#: common/models.py:2335 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2330 +#: common/models.py:2336 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2335 +#: common/models.py:2341 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2337 +#: common/models.py:2343 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2343 +#: common/models.py:2349 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2344 +#: common/models.py:2350 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2349 +#: common/models.py:2355 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2351 +#: common/models.py:2357 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2357 +#: common/models.py:2363 msgid "Search Return Orders" msgstr "" -#: common/models.py:2358 +#: common/models.py:2364 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2363 +#: common/models.py:2369 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2365 +#: common/models.py:2371 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2371 +#: common/models.py:2377 msgid "Search Preview Results" msgstr "" -#: common/models.py:2373 +#: common/models.py:2379 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2379 +#: common/models.py:2385 msgid "Regex Search" msgstr "" -#: common/models.py:2380 +#: common/models.py:2386 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2385 +#: common/models.py:2391 msgid "Whole Word Search" msgstr "" -#: common/models.py:2386 +#: common/models.py:2392 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2391 +#: common/models.py:2397 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2392 +#: common/models.py:2398 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2397 +#: common/models.py:2403 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2398 +#: common/models.py:2404 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2403 +#: common/models.py:2409 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2404 +#: common/models.py:2410 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2409 +#: common/models.py:2415 msgid "Date Format" msgstr "" -#: common/models.py:2410 +#: common/models.py:2416 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2423 part/templates/part/detail.html:41 +#: common/models.py:2429 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2424 +#: common/models.py:2430 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2429 part/templates/part/detail.html:62 +#: common/models.py:2435 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2431 +#: common/models.py:2437 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2437 +#: common/models.py:2443 msgid "Table String Length" msgstr "" -#: common/models.py:2439 +#: common/models.py:2445 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2445 +#: common/models.py:2451 msgid "Default part label template" msgstr "" -#: common/models.py:2446 +#: common/models.py:2452 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2451 +#: common/models.py:2457 msgid "Default stock item template" msgstr "" -#: common/models.py:2453 +#: common/models.py:2459 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2459 +#: common/models.py:2465 msgid "Default stock location label template" msgstr "" -#: common/models.py:2461 +#: common/models.py:2467 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2467 +#: common/models.py:2473 msgid "Default build line label template" msgstr "" -#: common/models.py:2469 +#: common/models.py:2475 msgid "The build line label template to be automatically selected" msgstr "" -#: common/models.py:2475 +#: common/models.py:2481 msgid "Receive error reports" msgstr "" -#: common/models.py:2476 +#: common/models.py:2482 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2481 +#: common/models.py:2487 msgid "Last used printing machines" msgstr "" -#: common/models.py:2482 +#: common/models.py:2488 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2525 +#: common/models.py:2531 msgid "Price break quantity" msgstr "" -#: common/models.py:2532 company/serializers.py:496 order/admin.py:42 -#: order/models.py:1333 order/models.py:2243 +#: common/models.py:2538 company/serializers.py:496 order/admin.py:42 +#: order/models.py:1373 order/models.py:2292 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 -#: templates/js/translated/return_order.js:741 +#: templates/js/translated/return_order.js:740 msgid "Price" msgstr "" -#: common/models.py:2533 +#: common/models.py:2539 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2704 common/models.py:2889 +#: common/models.py:2710 common/models.py:2895 msgid "Endpoint" msgstr "" -#: common/models.py:2705 +#: common/models.py:2711 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2715 +#: common/models.py:2721 msgid "Name for this webhook" msgstr "" -#: common/models.py:2719 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1045 -#: plugin/models.py:56 templates/js/translated/company.js:523 +#: common/models.py:2725 company/models.py:160 company/models.py:814 +#: machine/models.py:39 part/admin.py:88 part/models.py:1088 +#: plugin/models.py:65 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:492 @@ -3614,135 +3628,135 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2719 +#: common/models.py:2725 msgid "Is this webhook active" msgstr "" -#: common/models.py:2735 users/models.py:159 +#: common/models.py:2741 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2736 +#: common/models.py:2742 msgid "Token for access" msgstr "" -#: common/models.py:2744 +#: common/models.py:2750 msgid "Secret" msgstr "" -#: common/models.py:2745 +#: common/models.py:2751 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2853 +#: common/models.py:2859 msgid "Message ID" msgstr "" -#: common/models.py:2854 +#: common/models.py:2860 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2862 +#: common/models.py:2868 msgid "Host" msgstr "" -#: common/models.py:2863 +#: common/models.py:2869 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2871 +#: common/models.py:2877 msgid "Header" msgstr "" -#: common/models.py:2872 +#: common/models.py:2878 msgid "Header of this message" msgstr "" -#: common/models.py:2879 +#: common/models.py:2885 msgid "Body" msgstr "" -#: common/models.py:2880 +#: common/models.py:2886 msgid "Body of this message" msgstr "" -#: common/models.py:2890 +#: common/models.py:2896 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2895 +#: common/models.py:2901 msgid "Worked on" msgstr "" -#: common/models.py:2896 +#: common/models.py:2902 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3022 +#: common/models.py:3028 msgid "Id" msgstr "" -#: common/models.py:3024 templates/js/translated/company.js:965 +#: common/models.py:3030 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3028 templates/js/translated/news.js:60 +#: common/models.py:3034 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3030 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3036 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3032 templates/js/translated/news.js:52 +#: common/models.py:3038 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3035 +#: common/models.py:3041 msgid "Read" msgstr "" -#: common/models.py:3035 +#: common/models.py:3041 msgid "Was this news item read?" msgstr "" -#: common/models.py:3052 company/models.py:156 part/models.py:929 +#: common/models.py:3058 company/models.py:156 part/models.py:972 #: 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 +#: report/templates/report/inventree_return_order_report.html:35 #: stock/templates/stock/item_base.html:133 templates/503.html:31 #: templates/hover_image.html:7 templates/hover_image.html:9 #: templates/modals.html:6 msgid "Image" msgstr "" -#: common/models.py:3052 +#: common/models.py:3058 msgid "Image file" msgstr "" -#: common/models.py:3094 +#: common/models.py:3100 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3113 +#: common/models.py:3119 msgid "Unit name" msgstr "" -#: common/models.py:3120 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3126 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3121 +#: common/models.py:3127 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3128 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3134 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3129 +#: common/models.py:3135 msgid "Unit definition" msgstr "" @@ -3929,9 +3943,9 @@ msgid "Contact email address" msgstr "" #: company/models.py:139 company/templates/company/company_base.html:145 -#: order/models.py:331 order/templates/order/order_base.html:203 +#: order/models.py:344 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 -#: order/templates/order/sales_order_base.html:214 +#: order/templates/order/sales_order_base.html:218 msgid "Contact" msgstr "" @@ -3977,7 +3991,7 @@ msgstr "" #: company/models.py:273 company/models.py:382 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:776 +#: company/templates/company/company_base.html:12 stock/api.py:810 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "" @@ -4069,8 +4083,8 @@ msgstr "" msgid "Link to address information (external)" msgstr "" -#: company/models.py:489 company/models.py:792 stock/models.py:751 -#: stock/serializers.py:266 stock/templates/stock/item_base.html:142 +#: company/models.py:489 company/models.py:792 stock/models.py:772 +#: stock/serializers.py:395 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -4081,7 +4095,7 @@ msgstr "" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:515 +#: company/templates/company/supplier_part.html:145 part/serializers.py:530 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4096,13 +4110,13 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:525 +#: company/templates/company/supplier_part.html:153 part/serializers.py:540 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800 -#: templates/js/translated/purchase_order.js:1852 -#: templates/js/translated/purchase_order.js:2054 +#: templates/js/translated/purchase_order.js:1851 +#: templates/js/translated/purchase_order.js:2053 msgid "MPN" msgstr "" @@ -4129,9 +4143,8 @@ msgstr "" msgid "Parameter name" msgstr "" -#: company/models.py:621 -#: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2448 templates/js/translated/company.js:1166 +#: company/models.py:621 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2425 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492 #: templates/js/translated/stock.js:1522 msgid "Value" @@ -4142,10 +4155,10 @@ msgid "Parameter value" msgstr "" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1009 part/models.py:3623 +#: part/admin.py:57 part/models.py:1052 part/models.py:3666 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 -#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370 +#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 msgid "Units" msgstr "" @@ -4166,9 +4179,9 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:465 +#: company/templates/company/supplier_part.html:129 order/models.py:487 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:499 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:514 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4176,7 +4189,7 @@ msgstr "" #: templates/js/translated/company.js:511 #: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1690 +#: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/table_filters.js:804 msgid "Supplier" msgstr "" @@ -4185,7 +4198,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:809 part/serializers.py:510 +#: company/models.py:809 part/serializers.py:525 msgid "Supplier stock keeping unit" msgstr "" @@ -4206,29 +4219,29 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:418 part/models.py:4070 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4113 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 -#: report/templates/report/inventree_slr_report.html:105 -#: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:579 +#: report/templates/report/inventree_purchase_order_report.html:32 +#: report/templates/report/inventree_return_order_report.html:27 +#: report/templates/report/inventree_sales_order_report.html:32 +#: report/templates/report/inventree_stock_location_report.html:105 +#: stock/serializers.py:708 msgid "Note" msgstr "" -#: company/models.py:857 part/models.py:1967 +#: company/models.py:857 part/models.py:2010 msgid "base cost" msgstr "" -#: company/models.py:858 part/models.py:1968 +#: company/models.py:858 part/models.py:2011 msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:782 stock/serializers.py:1350 +#: stock/admin.py:224 stock/models.py:803 stock/serializers.py:1479 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 -#: templates/js/translated/stock.js:2426 +#: templates/js/translated/stock.js:2424 msgid "Packaging" msgstr "" @@ -4241,8 +4254,8 @@ msgstr "" #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 -#: templates/js/translated/purchase_order.js:2085 -#: templates/js/translated/purchase_order.js:2102 +#: templates/js/translated/purchase_order.js:2084 +#: templates/js/translated/purchase_order.js:2101 msgid "Pack Quantity" msgstr "" @@ -4250,7 +4263,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:892 part/models.py:1974 +#: company/models.py:892 part/models.py:2017 msgid "multiple" msgstr "" @@ -4285,7 +4298,7 @@ msgstr "" #: part/templates/part/part_base.html:146 #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 -#: templates/js/translated/model_renderers.js:306 +#: templates/js/translated/model_renderers.js:312 #: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 msgid "Inactive" msgstr "" @@ -4321,11 +4334,11 @@ msgstr "" #: company/templates/company/manufacturer_part.html:51 #: company/templates/company/supplier_part.html:83 #: part/templates/part/part_thumb.html:20 -#: report/templates/report/inventree_build_order_base.html:98 -#: report/templates/report/inventree_po_report_base.html:40 -#: report/templates/report/inventree_so_report_base.html:40 -#: report/templates/report/inventree_test_report_base.html:84 -#: report/templates/report/inventree_test_report_base.html:163 +#: report/templates/report/inventree_build_order_report.html:98 +#: report/templates/report/inventree_purchase_order_report.html:40 +#: report/templates/report/inventree_sales_order_report.html:40 +#: report/templates/report/inventree_test_report.html:84 +#: report/templates/report/inventree_test_report.html:163 msgid "Part image" msgstr "" @@ -4344,16 +4357,16 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:92 order/models.py:910 -#: order/models.py:2010 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:144 stock/models.py:804 -#: stock/models.py:805 stock/serializers.py:1100 +#: company/templates/company/company_base.html:92 order/models.py:941 +#: order/models.py:2059 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:148 stock/models.py:825 +#: stock/models.py:826 stock/serializers.py:1229 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 -#: templates/js/translated/return_order.js:296 -#: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2962 +#: templates/js/translated/return_order.js:295 +#: templates/js/translated/sales_order.js:820 +#: templates/js/translated/stock.js:2959 #: templates/js/translated/table_filters.js:808 msgid "Customer" msgstr "" @@ -4362,10 +4375,10 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:124 order/models.py:341 +#: company/templates/company/company_base.html:124 order/models.py:354 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 -#: order/templates/order/sales_order_base.html:221 +#: order/templates/order/sales_order_base.html:225 msgid "Address" msgstr "" @@ -4374,7 +4387,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:211 -#: part/templates/part/part_base.html:528 +#: part/templates/part/part_base.html:527 msgid "Remove Image" msgstr "" @@ -4383,19 +4396,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:214 -#: part/templates/part/part_base.html:531 +#: part/templates/part/part_base.html:530 #: templates/InvenTree/settings/user.html:88 #: templates/InvenTree/settings/user_sso.html:43 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:243 -#: part/templates/part/part_base.html:560 +#: part/templates/part/part_base.html:559 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:258 -#: part/templates/part/part_base.html:614 +#: part/templates/part/part_base.html:613 msgid "Download Image" msgstr "" @@ -4558,7 +4571,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:821 +#: part/admin.py:122 part/serializers.py:836 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4609,10 +4622,10 @@ msgstr "" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:452 -#: stock/models.py:762 stock/templates/stock/item_base.html:233 +#: stock/models.py:783 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 -#: templates/js/translated/stock.js:2282 +#: templates/js/translated/stock.js:2280 msgid "Supplier Part" msgstr "" @@ -4658,11 +4671,11 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:509 +#: part/bom.py:311 part/serializers.py:524 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1851 -#: templates/js/translated/purchase_order.js:2029 +#: templates/js/translated/purchase_order.js:1850 +#: templates/js/translated/purchase_order.js:2028 msgid "SKU" msgstr "" @@ -4671,12 +4684,12 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:209 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:199 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:206 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:200 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:207 #: templates/js/translated/stock.js:537 msgid "New Stock Item" msgstr "" @@ -4708,16 +4721,16 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:820 part/stocktake.py:223 +#: part/serializers.py:835 part/stocktake.py:223 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:787 stock/serializers.py:951 +#: stock/serializers.py:916 stock/serializers.py:1080 #: stock/templates/stock/location.html:170 -#: stock/templates/stock/location.html:184 -#: stock/templates/stock/location.html:196 +#: stock/templates/stock/location.html:191 +#: stock/templates/stock/location.html:203 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2769 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 #: users/models.py:206 msgid "Stock Items" msgstr "" @@ -4751,126 +4764,48 @@ msgstr "" msgid "New Company" msgstr "" -#: label/api.py:247 -msgid "Error printing label" -msgstr "" - -#: label/models.py:120 -msgid "Label name" -msgstr "" - -#: label/models.py:128 -msgid "Label description" -msgstr "" - -#: label/models.py:136 -msgid "Label" -msgstr "" - -#: label/models.py:137 -msgid "Label template file" -msgstr "" - -#: label/models.py:143 part/models.py:3494 report/models.py:324 -#: templates/js/translated/part.js:2900 -#: templates/js/translated/table_filters.js:481 -msgid "Enabled" -msgstr "" - -#: label/models.py:144 -msgid "Label template is enabled" -msgstr "" - -#: label/models.py:149 -msgid "Width [mm]" -msgstr "" - -#: label/models.py:150 -msgid "Label width, specified in mm" -msgstr "" - -#: label/models.py:156 -msgid "Height [mm]" -msgstr "" - -#: label/models.py:157 -msgid "Label height, specified in mm" -msgstr "" - -#: label/models.py:163 report/models.py:317 -msgid "Filename Pattern" -msgstr "" - -#: label/models.py:164 -msgid "Pattern for generating label filenames" -msgstr "" - -#: label/models.py:313 label/models.py:352 label/models.py:377 -#: label/models.py:412 -msgid "Query filters (comma-separated list of key=value pairs)" -msgstr "" - -#: label/models.py:314 label/models.py:353 label/models.py:378 -#: label/models.py:413 report/models.py:345 report/models.py:496 -#: report/models.py:532 report/models.py:568 report/models.py:750 -msgid "Filters" -msgstr "" - -#: label/templates/label/part/part_label.html:31 -#: label/templates/label/stockitem/qr.html:21 -#: label/templates/label/stocklocation/qr.html:20 -#: templates/allauth_2fa/setup.html:18 -msgid "QR Code" -msgstr "" - -#: label/templates/label/part/part_label_code128.html:31 -#: label/templates/label/stocklocation/qr_and_text.html:31 -#: templates/qr_code.html:7 -msgid "QR code" -msgstr "" - -#: machine/machine_types/label_printer.py:217 +#: machine/machine_types/label_printer.py:218 msgid "Copies" msgstr "" -#: machine/machine_types/label_printer.py:218 +#: machine/machine_types/label_printer.py:219 msgid "Number of copies to print for each label" msgstr "" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:234 msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:234 order/api.py:1515 -#: templates/js/translated/sales_order.js:1042 +#: machine/machine_types/label_printer.py:235 order/api.py:1515 +#: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "" -#: machine/machine_types/label_printer.py:235 +#: machine/machine_types/label_printer.py:236 msgid "Printing" msgstr "" -#: machine/machine_types/label_printer.py:236 +#: machine/machine_types/label_printer.py:237 msgid "No media" msgstr "" -#: machine/machine_types/label_printer.py:237 +#: machine/machine_types/label_printer.py:238 msgid "Disconnected" msgstr "" -#: machine/machine_types/label_printer.py:244 +#: machine/machine_types/label_printer.py:245 msgid "Label Printer" msgstr "" -#: machine/machine_types/label_printer.py:245 +#: machine/machine_types/label_printer.py:246 msgid "Directly print labels for various items." msgstr "" -#: machine/machine_types/label_printer.py:251 +#: machine/machine_types/label_printer.py:252 msgid "Printer Location" msgstr "" -#: machine/machine_types/label_printer.py:252 +#: machine/machine_types/label_printer.py:253 msgid "Scope the printer to a specific location" msgstr "" @@ -4930,19 +4865,19 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:89 -#: report/templates/report/inventree_po_report_base.html:31 -#: report/templates/report/inventree_so_report_base.html:31 +#: order/admin.py:30 order/models.py:90 +#: report/templates/report/inventree_purchase_order_report.html:31 +#: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2126 -#: templates/js/translated/sales_order.js:1847 +#: templates/js/translated/purchase_order.js:2125 +#: templates/js/translated/sales_order.js:1883 msgid "Total Price" msgstr "" #: order/api.py:161 order/serializers.py:91 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 -#: order/templates/order/sales_order_base.html:118 +#: order/templates/order/sales_order_base.html:122 msgid "Order Status" msgstr "" @@ -4955,10 +4890,10 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:437 order/api.py:817 order/models.py:1382 order/models.py:1491 -#: order/models.py:1537 order/models.py:1651 order/models.py:1805 -#: order/models.py:2209 order/models.py:2260 -#: templates/js/translated/sales_order.js:1488 +#: order/api.py:437 order/api.py:817 order/models.py:1422 order/models.py:1531 +#: order/models.py:1577 order/models.py:1691 order/models.py:1845 +#: order/models.py:2258 order/models.py:2309 +#: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" @@ -4970,402 +4905,398 @@ msgstr "" msgid "Order Pending" msgstr "" -#: order/api.py:1509 order/models.py:1383 order/models.py:1492 -#: order/templates/order/order_base.html:9 +#: order/api.py:1509 order/models.py:381 order/models.py:1423 +#: order/models.py:1532 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 -#: report/templates/report/inventree_po_report_base.html:14 -#: stock/templates/stock/item_base.html:176 +#: report/templates/report/inventree_purchase_order_report.html:14 +#: stock/serializers.py:119 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 -#: templates/js/translated/purchase_order.js:1674 -#: templates/js/translated/stock.js:2262 templates/js/translated/stock.js:2910 +#: templates/js/translated/purchase_order.js:1673 +#: templates/js/translated/stock.js:2260 templates/js/translated/stock.js:2907 msgid "Purchase Order" msgstr "" -#: order/api.py:1513 order/models.py:2210 order/models.py:2261 -#: order/templates/order/return_order_base.html:9 +#: order/api.py:1513 order/models.py:2008 order/models.py:2259 +#: order/models.py:2310 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:281 -#: templates/js/translated/stock.js:2944 +#: report/templates/report/inventree_return_order_report.html:13 +#: templates/js/translated/return_order.js:280 +#: templates/js/translated/stock.js:2941 msgid "Return Order" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:96 order/serializers.py:71 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:99 order/serializers.py:72 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:246 +#: order/models.py:248 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:278 +#: order/models.py:291 msgid "Order description (optional)" msgstr "" -#: order/models.py:287 +#: order/models.py:300 msgid "Select project code for this order" msgstr "" -#: order/models.py:291 order/models.py:1288 order/models.py:1704 +#: order/models.py:304 order/models.py:1328 order/models.py:1744 msgid "Link to external page" msgstr "" -#: order/models.py:299 +#: order/models.py:312 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:313 +#: order/models.py:326 msgid "Created By" msgstr "" -#: order/models.py:321 +#: order/models.py:334 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:332 +#: order/models.py:345 msgid "Point of contact for this order" msgstr "" -#: order/models.py:342 +#: order/models.py:355 msgid "Company address for this order" msgstr "" -#: order/models.py:443 order/models.py:899 +#: order/models.py:465 order/models.py:930 msgid "Order reference" msgstr "" -#: order/models.py:451 order/models.py:923 +#: order/models.py:473 order/models.py:954 msgid "Purchase order status" msgstr "" -#: order/models.py:466 +#: order/models.py:488 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:477 order/templates/order/order_base.html:148 -#: templates/js/translated/purchase_order.js:1703 +#: order/models.py:499 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1702 msgid "Supplier Reference" msgstr "" -#: order/models.py:478 +#: order/models.py:500 msgid "Supplier order reference code" msgstr "" -#: order/models.py:487 +#: order/models.py:509 msgid "received by" msgstr "" -#: order/models.py:493 order/models.py:2036 +#: order/models.py:515 order/models.py:2085 msgid "Issue Date" msgstr "" -#: order/models.py:494 order/models.py:2037 +#: order/models.py:516 order/models.py:2086 msgid "Date order was issued" msgstr "" -#: order/models.py:501 order/models.py:2044 +#: order/models.py:523 order/models.py:2093 msgid "Date order was completed" msgstr "" -#: order/models.py:545 +#: order/models.py:567 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:739 +#: order/models.py:761 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:911 +#: order/models.py:942 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:934 order/models.py:2029 +#: order/models.py:965 order/models.py:2078 msgid "Customer Reference " msgstr "" -#: order/models.py:935 order/models.py:2030 +#: order/models.py:966 order/models.py:2079 msgid "Customer order reference code" msgstr "" -#: order/models.py:939 order/models.py:1658 -#: templates/js/translated/sales_order.js:843 -#: templates/js/translated/sales_order.js:1024 +#: order/models.py:970 order/models.py:1698 +#: templates/js/translated/sales_order.js:879 +#: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "" -#: order/models.py:948 +#: order/models.py:979 msgid "shipped by" msgstr "" -#: order/models.py:999 -msgid "Order cannot be completed as no parts have been assigned" -msgstr "" - -#: order/models.py:1004 +#: order/models.py:1029 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1008 templates/js/translated/sales_order.js:506 +#: order/models.py:1033 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1013 +#: order/models.py:1038 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1260 +#: order/models.py:1300 msgid "Item quantity" msgstr "" -#: order/models.py:1277 +#: order/models.py:1317 msgid "Line item reference" msgstr "" -#: order/models.py:1284 +#: order/models.py:1324 msgid "Line item notes" msgstr "" -#: order/models.py:1296 +#: order/models.py:1336 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1317 +#: order/models.py:1357 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1323 +#: order/models.py:1363 msgid "Context" msgstr "" -#: order/models.py:1324 +#: order/models.py:1364 msgid "Additional context for this line" msgstr "" -#: order/models.py:1334 +#: order/models.py:1374 msgid "Unit price" msgstr "" -#: order/models.py:1367 +#: order/models.py:1407 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1374 +#: order/models.py:1414 msgid "deleted" msgstr "" -#: order/models.py:1402 +#: order/models.py:1442 msgid "Supplier part" msgstr "" -#: order/models.py:1409 order/templates/order/order_base.html:196 +#: order/models.py:1449 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 #: templates/js/translated/purchase_order.js:1306 -#: templates/js/translated/purchase_order.js:2170 -#: templates/js/translated/return_order.js:764 +#: templates/js/translated/purchase_order.js:2169 +#: templates/js/translated/return_order.js:763 #: templates/js/translated/table_filters.js:120 #: templates/js/translated/table_filters.js:602 msgid "Received" msgstr "" -#: order/models.py:1410 +#: order/models.py:1450 msgid "Number of items received" msgstr "" -#: order/models.py:1418 stock/models.py:923 stock/serializers.py:400 +#: order/models.py:1458 stock/models.py:944 stock/serializers.py:529 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2313 +#: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "" -#: order/models.py:1419 +#: order/models.py:1459 msgid "Unit purchase price" msgstr "" -#: order/models.py:1434 +#: order/models.py:1474 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1525 +#: order/models.py:1565 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1530 +#: order/models.py:1570 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1556 part/templates/part/part_pricing.html:107 +#: order/models.py:1596 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1557 +#: order/models.py:1597 msgid "Unit sale price" msgstr "" -#: order/models.py:1567 +#: order/models.py:1607 msgid "Shipped quantity" msgstr "" -#: order/models.py:1659 +#: order/models.py:1699 msgid "Date of shipment" msgstr "" -#: order/models.py:1665 templates/js/translated/sales_order.js:1036 +#: order/models.py:1705 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1666 +#: order/models.py:1706 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1674 +#: order/models.py:1714 msgid "Checked By" msgstr "" -#: order/models.py:1675 +#: order/models.py:1715 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1682 order/models.py:1895 order/serializers.py:1354 -#: order/serializers.py:1464 templates/js/translated/model_renderers.js:448 +#: order/models.py:1722 order/models.py:1935 order/serializers.py:1354 +#: order/serializers.py:1464 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" -#: order/models.py:1683 +#: order/models.py:1723 msgid "Shipment number" msgstr "" -#: order/models.py:1691 +#: order/models.py:1731 msgid "Tracking Number" msgstr "" -#: order/models.py:1692 +#: order/models.py:1732 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1699 +#: order/models.py:1739 msgid "Invoice Number" msgstr "" -#: order/models.py:1700 +#: order/models.py:1740 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1720 +#: order/models.py:1760 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1723 +#: order/models.py:1763 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1841 order/models.py:1843 +#: order/models.py:1881 order/models.py:1883 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1850 +#: order/models.py:1890 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1853 +#: order/models.py:1893 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1856 +#: order/models.py:1896 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1875 order/serializers.py:1231 +#: order/models.py:1915 order/serializers.py:1231 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1878 +#: order/models.py:1918 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1879 plugin/base/barcodes/api.py:481 +#: order/models.py:1919 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1887 +#: order/models.py:1927 msgid "Line" msgstr "" -#: order/models.py:1896 +#: order/models.py:1936 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1909 order/models.py:2217 -#: templates/js/translated/return_order.js:722 +#: order/models.py:1949 order/models.py:2266 +#: templates/js/translated/return_order.js:721 msgid "Item" msgstr "" -#: order/models.py:1910 +#: order/models.py:1950 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1919 +#: order/models.py:1959 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1999 +#: order/models.py:2048 msgid "Return Order reference" msgstr "" -#: order/models.py:2011 +#: order/models.py:2060 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2023 +#: order/models.py:2072 msgid "Return order status" msgstr "" -#: order/models.py:2202 +#: order/models.py:2251 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2218 +#: order/models.py:2267 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2224 +#: order/models.py:2273 msgid "Received Date" msgstr "" -#: order/models.py:2225 +#: order/models.py:2274 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2236 templates/js/translated/return_order.js:733 +#: order/models.py:2285 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2237 +#: order/models.py:2286 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2244 +#: order/models.py:2293 msgid "Cost associated with return or repair for this line item" msgstr "" #: order/serializers.py:80 order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 -#: report/templates/report/inventree_po_report_base.html:22 -#: report/templates/report/inventree_return_order_report_base.html:19 -#: report/templates/report/inventree_so_report_base.html:22 +#: report/templates/report/inventree_purchase_order_report.html:22 +#: report/templates/report/inventree_return_order_report.html:19 +#: report/templates/report/inventree_sales_order_report.html:22 msgid "Line Items" msgstr "" @@ -5595,7 +5526,7 @@ msgstr "" #: order/templates/order/order_base.html:84 #: order/templates/order/return_order_base.html:87 -#: order/templates/order/sales_order_base.html:93 +#: order/templates/order/sales_order_base.html:97 msgid "Complete Order" msgstr "" @@ -5605,13 +5536,13 @@ msgstr "" #: order/templates/order/order_base.html:106 #: order/templates/order/return_order_base.html:101 -#: order/templates/order/sales_order_base.html:106 +#: order/templates/order/sales_order_base.html:110 msgid "Order Reference" msgstr "" #: order/templates/order/order_base.html:111 #: order/templates/order/return_order_base.html:106 -#: order/templates/order/sales_order_base.html:111 +#: order/templates/order/sales_order_base.html:115 msgid "Order Description" msgstr "" @@ -5620,19 +5551,19 @@ msgid "No suppplier information available" msgstr "" #: order/templates/order/order_base.html:154 -#: order/templates/order/sales_order_base.html:157 +#: order/templates/order/sales_order_base.html:161 msgid "Completed Line Items" msgstr "" #: order/templates/order/order_base.html:160 -#: order/templates/order/sales_order_base.html:163 -#: order/templates/order/sales_order_base.html:173 +#: order/templates/order/sales_order_base.html:167 +#: order/templates/order/sales_order_base.html:177 msgid "Incomplete" msgstr "" #: order/templates/order/order_base.html:179 #: order/templates/order/return_order_base.html:157 -#: report/templates/report/inventree_build_order_base.html:121 +#: report/templates/report/inventree_build_order_report.html:121 msgid "Issued" msgstr "" @@ -5642,15 +5573,15 @@ msgstr "" #: order/templates/order/order_base.html:228 #: order/templates/order/return_order_base.html:199 -#: order/templates/order/sales_order_base.html:239 +#: order/templates/order/sales_order_base.html:243 msgid "Total cost could not be calculated" msgstr "" -#: order/templates/order/order_base.html:318 +#: order/templates/order/order_base.html:314 msgid "Purchase Order QR Code" msgstr "" -#: order/templates/order/order_base.html:330 +#: order/templates/order/order_base.html:326 msgid "Link Barcode to Purchase Order" msgstr "" @@ -5707,8 +5638,8 @@ msgstr "" #: templates/js/translated/build.js:1629 #: templates/js/translated/purchase_order.js:696 #: templates/js/translated/purchase_order.js:1236 -#: templates/js/translated/return_order.js:506 -#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/return_order.js:505 +#: templates/js/translated/sales_order.js:1145 #: templates/js/translated/stock.js:714 templates/js/translated/stock.js:883 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -5762,7 +5693,7 @@ msgstr "" #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 #: templates/js/translated/purchase_order.js:414 -#: templates/js/translated/return_order.js:459 +#: templates/js/translated/return_order.js:458 #: templates/js/translated/sales_order.js:237 msgid "Add Line Item" msgstr "" @@ -5811,30 +5742,30 @@ msgid "Print packing list" msgstr "" #: order/templates/order/return_order_base.html:138 -#: order/templates/order/sales_order_base.html:151 -#: templates/js/translated/return_order.js:309 -#: templates/js/translated/sales_order.js:797 +#: order/templates/order/sales_order_base.html:155 +#: templates/js/translated/return_order.js:308 +#: templates/js/translated/sales_order.js:833 msgid "Customer Reference" msgstr "" #: order/templates/order/return_order_base.html:195 -#: order/templates/order/sales_order_base.html:235 +#: order/templates/order/sales_order_base.html:239 #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1072 -#: templates/js/translated/purchase_order.js:1753 -#: templates/js/translated/return_order.js:381 -#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/purchase_order.js:1752 +#: templates/js/translated/return_order.js:380 +#: templates/js/translated/sales_order.js:891 msgid "Total Cost" msgstr "" -#: order/templates/order/return_order_base.html:263 +#: order/templates/order/return_order_base.html:259 msgid "Return Order QR Code" msgstr "" -#: order/templates/order/return_order_base.html:275 +#: order/templates/order/return_order_base.html:271 msgid "Link Barcode to Return Order" msgstr "" @@ -5852,25 +5783,30 @@ msgid "Ship Items" msgstr "" #: order/templates/order/sales_order_base.html:92 -#: templates/js/translated/sales_order.js:484 +#: order/templates/order/sales_order_base.html:93 +msgid "Mark As Shipped" +msgstr "" + +#: order/templates/order/sales_order_base.html:96 +#: templates/js/translated/sales_order.js:536 msgid "Complete Sales Order" msgstr "" -#: order/templates/order/sales_order_base.html:131 +#: order/templates/order/sales_order_base.html:135 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:169 +#: order/templates/order/sales_order_base.html:173 #: order/templates/order/sales_order_detail.html:99 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "" -#: order/templates/order/sales_order_base.html:312 +#: order/templates/order/sales_order_base.html:321 msgid "Sales Order QR Code" msgstr "" -#: order/templates/order/sales_order_base.html:324 +#: order/templates/order/sales_order_base.html:333 msgid "Link Barcode to Sales Order" msgstr "" @@ -5914,12 +5850,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:404 part/models.py:3921 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:406 part/models.py:3964 part/stocktake.py:218 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:411 part/models.py:3922 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:413 part/models.py:3965 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -5928,20 +5864,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:904 part/templates/part/part_base.html:269 -#: report/templates/report/inventree_slr_report.html:103 -#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2341 -#: templates/js/translated/stock.js:2038 +#: part/admin.py:48 part/models.py:947 part/templates/part/part_base.html:269 +#: report/templates/report/inventree_stock_location_report.html:103 +#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 +#: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:913 part/templates/part/part_base.html:277 -#: report/models.py:195 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2347 +#: part/admin.py:50 part/models.py:956 part/templates/part/part_base.html:277 +#: report/models.py:161 templates/js/translated/part.js:1231 +#: templates/js/translated/part.js:2346 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:317 part/models.py:886 +#: part/admin.py:53 part/admin.py:319 part/models.py:929 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5950,15 +5886,15 @@ msgstr "" msgid "Part Image" msgstr "" -#: part/admin.py:63 part/admin.py:300 part/stocktake.py:221 +#: part/admin.py:63 part/admin.py:302 part/stocktake.py:221 msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:302 part/stocktake.py:222 +#: part/admin.py:67 part/admin.py:304 part/stocktake.py:222 msgid "Category Name" msgstr "" -#: part/admin.py:71 part/admin.py:314 +#: part/admin.py:71 part/admin.py:316 msgid "Default Location ID" msgstr "" @@ -5966,11 +5902,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:872 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:915 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1000 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1043 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5983,160 +5919,164 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3080 part/models.py:3094 +#: part/admin.py:155 part/models.py:3123 part/models.py:3137 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3087 part/models.py:3101 +#: part/admin.py:158 part/models.py:3130 part/models.py:3144 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" -#: part/admin.py:306 part/admin.py:393 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:211 msgid "Parent ID" msgstr "" -#: part/admin.py:310 part/admin.py:400 stock/admin.py:62 +#: part/admin.py:312 part/admin.py:402 stock/admin.py:62 msgid "Parent Name" msgstr "" -#: part/admin.py:318 part/templates/part/category.html:88 +#: part/admin.py:320 part/templates/part/category.html:88 #: part/templates/part/category.html:101 msgid "Category Path" msgstr "" -#: part/admin.py:323 part/models.py:391 part/serializers.py:117 +#: part/admin.py:325 part/models.py:393 part/serializers.py:117 #: part/serializers.py:272 part/serializers.py:391 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2803 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "" -#: part/admin.py:384 +#: part/admin.py:386 msgid "BOM Level" msgstr "" -#: part/admin.py:387 +#: part/admin.py:389 msgid "BOM Item ID" msgstr "" -#: part/admin.py:397 +#: part/admin.py:399 msgid "Parent IPN" msgstr "" -#: part/admin.py:408 part/models.py:3923 +#: part/admin.py:410 part/models.py:3966 msgid "Part IPN" msgstr "" -#: part/admin.py:421 part/serializers.py:1261 +#: part/admin.py:423 part/serializers.py:1276 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:426 part/serializers.py:1276 +#: part/admin.py:428 part/serializers.py:1291 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:119 +#: part/api.py:112 msgid "Starred" msgstr "" -#: part/api.py:121 +#: part/api.py:114 msgid "Filter by starred categories" msgstr "" -#: part/api.py:138 stock/api.py:284 +#: part/api.py:131 stock/api.py:318 msgid "Depth" msgstr "" -#: part/api.py:138 +#: part/api.py:131 msgid "Filter by category depth" msgstr "" -#: part/api.py:156 stock/api.py:302 +#: part/api.py:149 stock/api.py:336 msgid "Cascade" msgstr "" -#: part/api.py:158 +#: part/api.py:151 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:178 +#: part/api.py:171 msgid "Parent" msgstr "" -#: part/api.py:180 +#: part/api.py:173 msgid "Filter by parent category" msgstr "" -#: part/api.py:213 +#: part/api.py:206 msgid "Exclude Tree" msgstr "" -#: part/api.py:215 +#: part/api.py:208 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:461 +#: part/api.py:455 msgid "Has Results" msgstr "" -#: part/api.py:628 +#: part/api.py:622 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:646 +#: part/api.py:640 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:662 +#: part/api.py:656 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:746 +#: part/api.py:740 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:893 +#: part/api.py:887 msgid "Valid" msgstr "" -#: part/api.py:894 +#: part/api.py:888 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:900 +#: part/api.py:894 msgid "This option must be selected" msgstr "" -#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866 -#: part/serializers.py:406 part/serializers.py:1117 -#: part/templates/part/part_base.html:260 stock/api.py:745 +#: part/api.py:1111 +msgid "BOM Valid" +msgstr "" + +#: part/api.py:1515 part/models.py:939 part/models.py:3429 part/models.py:3909 +#: part/serializers.py:406 part/serializers.py:1132 +#: part/templates/part/part_base.html:260 stock/api.py:779 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2377 +#: templates/js/translated/part.js:2376 msgid "Category" msgstr "" -#: part/api.py:1849 +#: part/api.py:1803 msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:101 part/models.py:939 +#: part/bom.py:170 part/models.py:102 part/models.py:982 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:822 +#: part/bom.py:171 part/serializers.py:837 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6145,698 +6085,712 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:82 part/models.py:3867 part/templates/part/category.html:16 +#: part/models.py:83 part/models.py:3910 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:83 part/templates/part/category.html:136 +#: part/models.py:84 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "" -#: part/models.py:102 +#: part/models.py:103 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:107 stock/models.py:165 templates/js/translated/part.js:2810 -#: templates/js/translated/stock.js:2775 +#: part/models.py:108 stock/models.py:177 templates/js/translated/part.js:2809 +#: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "" -#: part/models.py:109 +#: part/models.py:110 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:118 +#: part/models.py:119 msgid "Default keywords" msgstr "" -#: part/models.py:119 +#: part/models.py:120 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:125 stock/models.py:89 stock/models.py:148 +#: part/models.py:126 stock/models.py:89 stock/models.py:160 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:126 stock/models.py:149 +#: part/models.py:127 stock/models.py:161 msgid "Icon (optional)" msgstr "" -#: part/models.py:148 +#: part/models.py:149 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:484 +#: part/models.py:482 +msgid "Cannot delete this part as it is still active" +msgstr "" + +#: part/models.py:489 +msgid "Cannot delete this part as it is used in an assembly" +msgstr "" + +#: part/models.py:527 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:532 part/models.py:539 +#: part/models.py:575 part/models.py:582 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:551 +#: part/models.py:594 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:616 +#: part/models.py:659 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:696 +#: part/models.py:739 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:801 +#: part/models.py:844 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:811 +#: part/models.py:854 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:826 +#: part/models.py:869 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:855 part/models.py:3922 +#: part/models.py:898 part/models.py:3965 msgid "Part name" msgstr "" -#: part/models.py:860 +#: part/models.py:903 msgid "Is Template" msgstr "" -#: part/models.py:861 +#: part/models.py:904 msgid "Is this part a template part?" msgstr "" -#: part/models.py:871 +#: part/models.py:914 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:879 +#: part/models.py:922 msgid "Part description (optional)" msgstr "" -#: part/models.py:887 +#: part/models.py:930 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:897 +#: part/models.py:940 msgid "Part category" msgstr "" -#: part/models.py:905 +#: part/models.py:948 msgid "Internal Part Number" msgstr "" -#: part/models.py:912 +#: part/models.py:955 msgid "Part revision or version number" msgstr "" -#: part/models.py:937 +#: part/models.py:980 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:983 part/templates/part/part_base.html:376 +#: part/models.py:1026 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:984 +#: part/models.py:1027 msgid "Default supplier part" msgstr "" -#: part/models.py:991 +#: part/models.py:1034 msgid "Default Expiry" msgstr "" -#: part/models.py:992 +#: part/models.py:1035 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1001 +#: part/models.py:1044 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1010 +#: part/models.py:1053 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1017 +#: part/models.py:1060 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1023 +#: part/models.py:1066 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1029 +#: part/models.py:1072 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1035 +#: part/models.py:1078 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1041 +#: part/models.py:1084 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1045 +#: part/models.py:1088 msgid "Is this part active?" msgstr "" -#: part/models.py:1051 +#: part/models.py:1094 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1057 +#: part/models.py:1100 msgid "BOM checksum" msgstr "" -#: part/models.py:1058 +#: part/models.py:1101 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1066 +#: part/models.py:1109 msgid "BOM checked by" msgstr "" -#: part/models.py:1071 +#: part/models.py:1114 msgid "BOM checked date" msgstr "" -#: part/models.py:1087 +#: part/models.py:1130 msgid "Creation User" msgstr "" -#: part/models.py:1097 +#: part/models.py:1140 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1102 part/templates/part/part_base.html:339 +#: part/models.py:1145 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 -#: templates/js/translated/part.js:2471 +#: templates/js/translated/part.js:2470 msgid "Last Stocktake" msgstr "" -#: part/models.py:1975 +#: part/models.py:2018 msgid "Sell multiple" msgstr "" -#: part/models.py:2994 +#: part/models.py:3037 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3010 +#: part/models.py:3053 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3011 +#: part/models.py:3054 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3017 +#: part/models.py:3060 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3018 +#: part/models.py:3061 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3024 +#: part/models.py:3067 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3025 +#: part/models.py:3068 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3031 +#: part/models.py:3074 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3032 +#: part/models.py:3075 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3038 +#: part/models.py:3081 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3039 +#: part/models.py:3082 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3045 +#: part/models.py:3088 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3046 +#: part/models.py:3089 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3052 +#: part/models.py:3095 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3053 +#: part/models.py:3096 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3059 +#: part/models.py:3102 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3060 +#: part/models.py:3103 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3066 +#: part/models.py:3109 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3067 +#: part/models.py:3110 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3073 +#: part/models.py:3116 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3074 +#: part/models.py:3117 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3081 +#: part/models.py:3124 msgid "Override minimum cost" msgstr "" -#: part/models.py:3088 +#: part/models.py:3131 msgid "Override maximum cost" msgstr "" -#: part/models.py:3095 +#: part/models.py:3138 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3102 +#: part/models.py:3145 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3108 +#: part/models.py:3151 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3109 +#: part/models.py:3152 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3115 +#: part/models.py:3158 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3116 +#: part/models.py:3159 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3122 +#: part/models.py:3165 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3123 +#: part/models.py:3166 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3129 +#: part/models.py:3172 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3130 +#: part/models.py:3173 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3149 +#: part/models.py:3192 msgid "Part for stocktake" msgstr "" -#: part/models.py:3154 +#: part/models.py:3197 msgid "Item Count" msgstr "" -#: part/models.py:3155 +#: part/models.py:3198 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3163 +#: part/models.py:3206 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3167 part/models.py:3250 +#: part/models.py:3210 part/models.py:3293 #: part/templates/part/part_scheduling.html:13 -#: report/templates/report/inventree_test_report_base.html:106 +#: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 #: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 -#: templates/js/translated/purchase_order.js:1732 -#: templates/js/translated/stock.js:2824 +#: templates/js/translated/purchase_order.js:1731 +#: templates/js/translated/stock.js:2821 msgid "Date" msgstr "" -#: part/models.py:3168 +#: part/models.py:3211 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3176 +#: part/models.py:3219 msgid "Additional notes" msgstr "" -#: part/models.py:3186 +#: part/models.py:3229 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3192 +#: part/models.py:3235 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3193 +#: part/models.py:3236 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3199 +#: part/models.py:3242 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3200 +#: part/models.py:3243 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3256 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3299 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3257 +#: part/models.py:3300 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3262 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3305 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3263 +#: part/models.py:3306 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3273 +#: part/models.py:3316 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3435 +#: part/models.py:3478 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3446 +#: part/models.py:3489 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3457 +#: part/models.py:3500 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3474 templates/js/translated/part.js:2879 +#: part/models.py:3517 templates/js/translated/part.js:2878 msgid "Test Name" msgstr "" -#: part/models.py:3475 +#: part/models.py:3518 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3481 +#: part/models.py:3524 msgid "Test Key" msgstr "" -#: part/models.py:3482 +#: part/models.py:3525 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3489 +#: part/models.py:3532 msgid "Test Description" msgstr "" -#: part/models.py:3490 +#: part/models.py:3533 msgid "Enter description for this test" msgstr "" -#: part/models.py:3494 +#: part/models.py:3537 report/models.py:208 +#: templates/js/translated/part.js:2899 +#: templates/js/translated/table_filters.js:481 +msgid "Enabled" +msgstr "" + +#: part/models.py:3537 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3499 templates/js/translated/part.js:2908 +#: part/models.py:3542 templates/js/translated/part.js:2907 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3500 +#: part/models.py:3543 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3505 templates/js/translated/part.js:2916 +#: part/models.py:3548 templates/js/translated/part.js:2915 msgid "Requires Value" msgstr "" -#: part/models.py:3506 +#: part/models.py:3549 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3511 templates/js/translated/part.js:2923 +#: part/models.py:3554 templates/js/translated/part.js:2922 msgid "Requires Attachment" msgstr "" -#: part/models.py:3513 +#: part/models.py:3556 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3560 +#: part/models.py:3603 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3565 +#: part/models.py:3608 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3585 +#: part/models.py:3628 msgid "Choices must be unique" msgstr "" -#: part/models.py:3602 +#: part/models.py:3645 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3617 +#: part/models.py:3660 msgid "Parameter Name" msgstr "" -#: part/models.py:3624 +#: part/models.py:3667 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3632 +#: part/models.py:3675 msgid "Parameter description" msgstr "" -#: part/models.py:3638 templates/js/translated/part.js:1627 +#: part/models.py:3681 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3639 +#: part/models.py:3682 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3644 templates/js/translated/part.js:1636 +#: part/models.py:3687 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3645 +#: part/models.py:3688 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3722 +#: part/models.py:3765 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3765 +#: part/models.py:3808 msgid "Parent Part" msgstr "" -#: part/models.py:3773 part/models.py:3874 part/models.py:3875 +#: part/models.py:3816 part/models.py:3917 part/models.py:3918 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3778 +#: part/models.py:3821 msgid "Data" msgstr "" -#: part/models.py:3779 +#: part/models.py:3822 msgid "Parameter Value" msgstr "" -#: part/models.py:3881 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3924 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3882 +#: part/models.py:3925 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3920 +#: part/models.py:3963 msgid "Part ID or part name" msgstr "" -#: part/models.py:3921 +#: part/models.py:3964 msgid "Unique part ID value" msgstr "" -#: part/models.py:3923 +#: part/models.py:3966 msgid "Part IPN value" msgstr "" -#: part/models.py:3924 +#: part/models.py:3967 msgid "Level" msgstr "" -#: part/models.py:3924 +#: part/models.py:3967 msgid "BOM level" msgstr "" -#: part/models.py:4014 +#: part/models.py:4057 msgid "Select parent part" msgstr "" -#: part/models.py:4024 +#: part/models.py:4067 msgid "Sub part" msgstr "" -#: part/models.py:4025 +#: part/models.py:4068 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4036 +#: part/models.py:4079 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4042 +#: part/models.py:4085 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4048 +#: part/models.py:4091 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4055 part/templates/part/upload_bom.html:55 +#: part/models.py:4098 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4056 +#: part/models.py:4099 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4063 +#: part/models.py:4106 msgid "BOM item reference" msgstr "" -#: part/models.py:4071 +#: part/models.py:4114 msgid "BOM item notes" msgstr "" -#: part/models.py:4077 +#: part/models.py:4120 msgid "Checksum" msgstr "" -#: part/models.py:4078 +#: part/models.py:4121 msgid "BOM line checksum" msgstr "" -#: part/models.py:4083 templates/js/translated/table_filters.js:174 +#: part/models.py:4126 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4084 +#: part/models.py:4127 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4089 part/templates/part/upload_bom.html:57 +#: part/models.py:4132 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4090 +#: part/models.py:4133 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4095 part/templates/part/upload_bom.html:56 +#: part/models.py:4138 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4096 +#: part/models.py:4139 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4181 stock/models.py:647 +#: part/models.py:4224 stock/models.py:668 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4191 part/models.py:4193 +#: part/models.py:4234 part/models.py:4236 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4333 +#: part/models.py:4376 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4354 +#: part/models.py:4397 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4367 +#: part/models.py:4410 msgid "Parent BOM item" msgstr "" -#: part/models.py:4375 +#: part/models.py:4418 msgid "Substitute part" msgstr "" -#: part/models.py:4391 +#: part/models.py:4434 msgid "Part 1" msgstr "" -#: part/models.py:4399 +#: part/models.py:4442 msgid "Part 2" msgstr "" -#: part/models.py:4400 +#: part/models.py:4443 msgid "Select Related Part" msgstr "" -#: part/models.py:4419 +#: part/models.py:4462 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4424 +#: part/models.py:4467 msgid "Duplicate relationship already exists" msgstr "" @@ -6854,7 +6808,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:406 +#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:535 msgid "Purchase currency of this stock item" msgstr "" @@ -6870,299 +6824,299 @@ msgstr "" msgid "Select category" msgstr "" -#: part/serializers.py:437 +#: part/serializers.py:442 msgid "Original Part" msgstr "" -#: part/serializers.py:438 +#: part/serializers.py:443 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:448 msgid "Copy Image" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:449 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:450 part/templates/part/detail.html:277 +#: part/serializers.py:455 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:451 +#: part/serializers.py:456 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:462 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:458 +#: part/serializers.py:463 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:464 +#: part/serializers.py:469 msgid "Copy Notes" msgstr "" -#: part/serializers.py:465 +#: part/serializers.py:470 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:478 +#: part/serializers.py:488 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:490 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:487 +#: part/serializers.py:497 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:488 +#: part/serializers.py:498 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:500 +#: part/serializers.py:515 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:531 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:526 +#: part/serializers.py:541 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:533 +#: part/serializers.py:548 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:542 +#: part/serializers.py:557 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:553 +#: part/serializers.py:568 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:560 +#: part/serializers.py:575 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:823 +#: part/serializers.py:838 msgid "External Stock" msgstr "" -#: part/serializers.py:825 +#: part/serializers.py:840 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:828 +#: part/serializers.py:843 msgid "Variant Stock" msgstr "" -#: part/serializers.py:856 part/templates/part/copy_part.html:9 +#: part/serializers.py:871 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:857 +#: part/serializers.py:872 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:863 templates/js/translated/part.js:102 +#: part/serializers.py:878 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:864 +#: part/serializers.py:879 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:870 +#: part/serializers.py:885 msgid "Supplier Information" msgstr "" -#: part/serializers.py:871 +#: part/serializers.py:886 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:879 +#: part/serializers.py:894 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:880 +#: part/serializers.py:895 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:885 +#: part/serializers.py:900 msgid "Existing Image" msgstr "" -#: part/serializers.py:886 +#: part/serializers.py:901 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:918 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1109 +#: part/serializers.py:1124 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1119 +#: part/serializers.py:1134 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1129 +#: part/serializers.py:1144 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1135 +#: part/serializers.py:1150 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1136 +#: part/serializers.py:1151 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1141 +#: part/serializers.py:1156 msgid "Generate Report" msgstr "" -#: part/serializers.py:1142 +#: part/serializers.py:1157 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1147 +#: part/serializers.py:1162 msgid "Update Parts" msgstr "" -#: part/serializers.py:1148 +#: part/serializers.py:1163 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1156 +#: part/serializers.py:1171 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1262 +#: part/serializers.py:1277 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1269 +#: part/serializers.py:1284 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1277 +#: part/serializers.py:1292 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1284 +#: part/serializers.py:1299 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1313 +#: part/serializers.py:1328 msgid "Update" msgstr "" -#: part/serializers.py:1314 +#: part/serializers.py:1329 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1337 +#: part/serializers.py:1352 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1344 +#: part/serializers.py:1359 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1347 +#: part/serializers.py:1362 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1714 +#: part/serializers.py:1729 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1722 +#: part/serializers.py:1737 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1723 +#: part/serializers.py:1738 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1728 +#: part/serializers.py:1743 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1729 +#: part/serializers.py:1744 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1734 +#: part/serializers.py:1749 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1735 +#: part/serializers.py:1750 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1755 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1756 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1775 +#: part/serializers.py:1790 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1776 +#: part/serializers.py:1791 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1806 +#: part/serializers.py:1821 msgid "No part column specified" msgstr "" -#: part/serializers.py:1850 +#: part/serializers.py:1865 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1853 +#: part/serializers.py:1868 msgid "No matching part found" msgstr "" -#: part/serializers.py:1856 +#: part/serializers.py:1871 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1865 +#: part/serializers.py:1880 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1888 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1894 +#: part/serializers.py:1909 msgid "At least one BOM item is required" msgstr "" #: part/stocktake.py:224 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:2085 +#: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" @@ -7314,7 +7268,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2218 users/models.py:204 +#: templates/js/translated/stock.js:2216 users/models.py:204 msgid "Stocktake" msgstr "" @@ -7412,15 +7366,15 @@ msgstr "" msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:659 +#: part/templates/part/detail.html:655 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:667 +#: part/templates/part/detail.html:663 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:752 +#: part/templates/part/detail.html:748 msgid "Add Test Result Template" msgstr "" @@ -7479,7 +7433,7 @@ msgstr "" #: part/templates/part/part_base.html:52 #: stock/templates/stock/item_base.html:62 -#: stock/templates/stock/location.html:74 +#: stock/templates/stock/location.html:74 templates/js/translated/label.js:142 msgid "Print Label" msgstr "" @@ -7501,7 +7455,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2293 +#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2292 msgid "Part actions" msgstr "" @@ -7550,7 +7504,7 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:163 -#: part/templates/part/part_base.html:682 +#: part/templates/part/part_base.html:681 msgid "Show Part Details" msgstr "" @@ -7573,7 +7527,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2444 +#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2443 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7596,19 +7550,19 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:512 +#: part/templates/part/part_base.html:511 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:529 +#: part/templates/part/part_base.html:528 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:580 +#: part/templates/part/part_base.html:579 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:676 +#: part/templates/part/part_base.html:675 msgid "Hide Part Details" msgstr "" @@ -7667,8 +7621,8 @@ msgstr "" #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 -#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 -#: templates/js/translated/stock.js:2072 templates/navbar.html:31 +#: templates/js/translated/part.js:2391 templates/js/translated/stock.js:1059 +#: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7714,7 +7668,7 @@ msgstr "" #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 -#: templates/js/translated/stock.js:2248 +#: templates/js/translated/stock.js:2246 msgid "Last Updated" msgstr "" @@ -7786,7 +7740,7 @@ msgid "Update Pricing" msgstr "" #: part/templates/part/stock_count.html:7 -#: templates/js/translated/model_renderers.js:221 +#: templates/js/translated/model_renderers.js:227 #: templates/js/translated/part.js:704 templates/js/translated/part.js:2140 #: templates/js/translated/part.js:2142 msgid "No Stock" @@ -7866,7 +7820,7 @@ msgstr "" msgid "Part Pricing" msgstr "" -#: plugin/api.py:168 +#: plugin/api.py:170 msgid "Plugin cannot be deleted as it is currently active" msgstr "" @@ -7933,7 +7887,7 @@ msgid "Stock item does not match line item" msgstr "" #: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2589 -#: templates/js/translated/sales_order.js:1917 +#: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "" @@ -8027,22 +7981,18 @@ msgstr "" msgid "Quantity to allocate" msgstr "" -#: plugin/base/label/label.py:39 +#: plugin/base/label/label.py:39 templates/js/translated/label.js:154 msgid "Label printing failed" msgstr "" -#: plugin/base/label/mixins.py:63 +#: plugin/base/label/mixins.py:56 msgid "Error rendering label to PDF" msgstr "" -#: plugin/base/label/mixins.py:76 +#: plugin/base/label/mixins.py:70 msgid "Error rendering label to HTML" msgstr "" -#: plugin/base/label/mixins.py:111 -msgid "Error rendering label to PNG" -msgstr "" - #: plugin/builtin/barcodes/inventree_barcode.py:25 msgid "InvenTree Barcodes" msgstr "" @@ -8054,7 +8004,7 @@ msgstr "" #: plugin/builtin/barcodes/inventree_barcode.py:28 #: plugin/builtin/integration/core_notifications.py:35 #: plugin/builtin/integration/currency_exchange.py:21 -#: plugin/builtin/labels/inventree_label.py:23 +#: plugin/builtin/labels/inventree_label.py:22 #: plugin/builtin/labels/inventree_machine.py:64 #: plugin/builtin/labels/label_sheet.py:63 #: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 @@ -8108,19 +8058,19 @@ msgstr "" msgid "Default currency exchange integration" msgstr "" -#: plugin/builtin/labels/inventree_label.py:20 +#: plugin/builtin/labels/inventree_label.py:19 msgid "InvenTree PDF label printer" msgstr "" -#: plugin/builtin/labels/inventree_label.py:21 +#: plugin/builtin/labels/inventree_label.py:20 msgid "Provides native support for printing PDF labels" msgstr "" -#: plugin/builtin/labels/inventree_label.py:29 +#: plugin/builtin/labels/inventree_label.py:28 msgid "Debug mode" msgstr "" -#: plugin/builtin/labels/inventree_label.py:30 +#: plugin/builtin/labels/inventree_label.py:29 msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "" @@ -8132,11 +8082,11 @@ msgstr "" msgid "Provides support for printing using a machine" msgstr "" -#: plugin/builtin/labels/inventree_machine.py:150 +#: plugin/builtin/labels/inventree_machine.py:151 msgid "last used" msgstr "" -#: plugin/builtin/labels/inventree_machine.py:167 +#: plugin/builtin/labels/inventree_machine.py:168 msgid "Options" msgstr "" @@ -8160,7 +8110,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:47 report/models.py:209 +#: plugin/builtin/labels/label_sheet.py:47 report/models.py:308 msgid "Landscape" msgstr "" @@ -8176,11 +8126,11 @@ msgstr "" msgid "Arrays multiple labels onto a single sheet" msgstr "" -#: plugin/builtin/labels/label_sheet.py:94 +#: plugin/builtin/labels/label_sheet.py:99 msgid "Label is too large for page size" msgstr "" -#: plugin/builtin/labels/label_sheet.py:128 +#: plugin/builtin/labels/label_sheet.py:133 msgid "No labels were generated" msgstr "" @@ -8273,61 +8223,62 @@ msgstr "" msgid "Uninstalled plugin successfully" msgstr "" -#: plugin/models.py:30 +#: plugin/models.py:35 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:31 +#: plugin/models.py:36 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:34 users/models.py:100 +#: plugin/models.py:42 users/models.py:100 msgid "Key" msgstr "" -#: plugin/models.py:34 +#: plugin/models.py:43 msgid "Key of plugin" msgstr "" -#: plugin/models.py:42 +#: plugin/models.py:51 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:49 plugin/serializers.py:90 +#: plugin/models.py:58 plugin/serializers.py:90 msgid "Package Name" msgstr "" -#: plugin/models.py:51 +#: plugin/models.py:60 msgid "Name of the installed package, if the plugin was installed via PIP" msgstr "" -#: plugin/models.py:56 +#: plugin/models.py:65 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:147 templates/js/translated/table_filters.js:370 +#: plugin/models.py:156 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "" -#: plugin/models.py:156 +#: plugin/models.py:165 msgid "Sample plugin" msgstr "" -#: plugin/models.py:164 +#: plugin/models.py:173 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:172 +#: plugin/models.py:181 msgid "Package Plugin" msgstr "" -#: plugin/models.py:196 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:205 report/models.py:475 +#: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" msgstr "" -#: plugin/models.py:243 +#: plugin/models.py:252 msgid "Method" msgstr "" @@ -8468,239 +8419,323 @@ msgstr "" msgid "Delete the plugin configuration from the database" msgstr "" -#: report/api.py:158 +#: report/api.py:77 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:197 report/api.py:234 +#: report/api.py:89 report/serializers.py:53 +msgid "Model Type" +msgstr "" + +#: report/api.py:92 report/models.py:439 report/serializers.py:98 +#: report/serializers.py:148 templates/js/translated/purchase_order.js:1747 +#: templates/js/translated/return_order.js:353 +#: templates/js/translated/sales_order.js:887 +#: templates/js/translated/sales_order.js:1047 +msgid "Items" +msgstr "" + +#: report/api.py:168 +msgid "Plugin not found" +msgstr "" + +#: report/api.py:170 +msgid "Plugin is not active" +msgstr "" + +#: report/api.py:172 +msgid "Plugin does not support label printing" +msgstr "" + +#: report/api.py:221 +msgid "Invalid label dimensions" +msgstr "" + +#: report/api.py:236 report/api.py:316 +msgid "No valid items provided to template" +msgstr "" + +#: report/api.py:271 +msgid "Error printing label" +msgstr "" + +#: report/api.py:362 report/api.py:398 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:319 -msgid "Test report" -msgstr "" - -#: report/helpers.py:15 +#: report/helpers.py:41 msgid "A4" msgstr "" -#: report/helpers.py:16 +#: report/helpers.py:42 msgid "A3" msgstr "" -#: report/helpers.py:17 +#: report/helpers.py:43 msgid "Legal" msgstr "" -#: report/helpers.py:18 +#: report/helpers.py:44 msgid "Letter" msgstr "" -#: report/models.py:177 +#: report/models.py:118 +msgid "Template file with this name already exists" +msgstr "" + +#: report/models.py:150 msgid "Template name" msgstr "" -#: report/models.py:183 -msgid "Report template file" +#: report/models.py:156 +msgid "Template description" msgstr "" -#: report/models.py:190 -msgid "Report template description" +#: report/models.py:162 +msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:196 -msgid "Report revision number (auto-increments)" +#: report/models.py:202 +msgid "Filename Pattern" msgstr "" -#: report/models.py:204 +#: report/models.py:203 +msgid "Pattern for generating filenames" +msgstr "" + +#: report/models.py:208 +msgid "Template is enabled" +msgstr "" + +#: report/models.py:214 +msgid "Target model type for template" +msgstr "" + +#: report/models.py:234 +msgid "Filters" +msgstr "" + +#: report/models.py:235 +msgid "Template query filters (comma-separated list of key=value pairs)" +msgstr "" + +#: report/models.py:295 report/models.py:362 +msgid "Template file" +msgstr "" + +#: report/models.py:303 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:210 +#: report/models.py:309 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:318 -msgid "Pattern for generating report filenames" +#: report/models.py:368 +msgid "Width [mm]" msgstr "" -#: report/models.py:325 -msgid "Report template is enabled" +#: report/models.py:369 +msgid "Label width, specified in mm" msgstr "" -#: report/models.py:347 -msgid "StockItem query filters (comma-separated list of key=value pairs)" +#: report/models.py:375 +msgid "Height [mm]" msgstr "" -#: report/models.py:354 -msgid "Include Installed Tests" +#: report/models.py:376 +msgid "Label height, specified in mm" msgstr "" -#: report/models.py:356 -msgid "Include test results for stock items installed inside assembled item" +#: report/models.py:439 +msgid "Number of items to process" msgstr "" -#: report/models.py:424 -msgid "Build Filters" +#: report/models.py:445 +msgid "Report generation is complete" msgstr "" -#: report/models.py:425 -msgid "Build query filters (comma-separated list of key=value pairs" +#: report/models.py:449 templates/js/translated/build.js:2177 +msgid "Progress" msgstr "" -#: report/models.py:464 -msgid "Part Filters" +#: report/models.py:449 +msgid "Report generation progress" msgstr "" -#: report/models.py:465 -msgid "Part query filters (comma-separated list of key=value pairs" +#: report/models.py:457 +msgid "Report Template" msgstr "" -#: report/models.py:497 -msgid "Purchase order query filters" +#: report/models.py:464 report/models.py:487 +msgid "Output File" msgstr "" -#: report/models.py:533 -msgid "Sales order query filters" +#: report/models.py:465 report/models.py:488 +msgid "Generated output file" msgstr "" -#: report/models.py:569 -msgid "Return order query filters" +#: report/models.py:476 +msgid "Label output plugin" msgstr "" -#: report/models.py:641 -msgid "Snippet file with this name already exists" +#: report/models.py:480 +msgid "Label Template" msgstr "" -#: report/models.py:648 +#: report/models.py:503 msgid "Snippet" msgstr "" -#: report/models.py:649 +#: report/models.py:504 msgid "Report snippet file" msgstr "" -#: report/models.py:656 +#: report/models.py:511 msgid "Snippet file description" msgstr "" -#: report/models.py:714 -msgid "Asset file with this name already exists" -msgstr "" - -#: report/models.py:722 +#: report/models.py:529 msgid "Asset" msgstr "" -#: report/models.py:723 +#: report/models.py:530 msgid "Report asset file" msgstr "" -#: report/models.py:730 +#: report/models.py:537 msgid "Asset file description" msgstr "" -#: report/models.py:752 -msgid "stock location query filters (comma-separated list of key=value pairs)" +#: report/serializers.py:91 +msgid "Select report template" +msgstr "" + +#: report/serializers.py:99 report/serializers.py:149 +msgid "List of item primary keys to include in the report" +msgstr "" + +#: report/serializers.py:132 +msgid "Select label template" +msgstr "" + +#: report/serializers.py:140 +msgid "Printing Plugin" +msgstr "" + +#: report/serializers.py:141 +msgid "Select plugin to use for label printing" +msgstr "" + +#: report/templates/label/part_label.html:31 +#: report/templates/label/stockitem_qr.html:21 +#: report/templates/label/stocklocation_qr.html:20 +#: templates/allauth_2fa/setup.html:18 +msgid "QR Code" +msgstr "" + +#: report/templates/label/part_label_code128.html:31 +#: report/templates/label/stocklocation_qr_and_text.html:31 +#: templates/qr_code.html:7 +msgid "QR code" msgstr "" #: report/templates/report/inventree_bill_of_materials_report.html:133 msgid "Materials needed" msgstr "" -#: report/templates/report/inventree_build_order_base.html:146 +#: report/templates/report/inventree_build_order_report.html:146 msgid "Required For" msgstr "" -#: report/templates/report/inventree_po_report_base.html:15 +#: report/templates/report/inventree_purchase_order_report.html:15 msgid "Supplier was deleted" msgstr "" -#: report/templates/report/inventree_po_report_base.html:30 -#: report/templates/report/inventree_so_report_base.html:30 +#: report/templates/report/inventree_purchase_order_report.html:30 +#: report/templates/report/inventree_sales_order_report.html:30 #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:834 -#: templates/js/translated/purchase_order.js:2116 -#: templates/js/translated/sales_order.js:1837 +#: templates/js/translated/purchase_order.js:2115 +#: templates/js/translated/sales_order.js:1873 msgid "Unit Price" msgstr "" -#: report/templates/report/inventree_po_report_base.html:55 -#: report/templates/report/inventree_return_order_report_base.html:48 -#: report/templates/report/inventree_so_report_base.html:55 +#: report/templates/report/inventree_purchase_order_report.html:55 +#: report/templates/report/inventree_return_order_report.html:48 +#: report/templates/report/inventree_sales_order_report.html:55 msgid "Extra Line Items" 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:2018 -#: templates/js/translated/sales_order.js:1806 +#: report/templates/report/inventree_purchase_order_report.html:72 +#: report/templates/report/inventree_sales_order_report.html:72 +#: templates/js/translated/purchase_order.js:2017 +#: templates/js/translated/sales_order.js:1842 msgid "Total" msgstr "" -#: report/templates/report/inventree_return_order_report_base.html:25 -#: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:809 stock/templates/stock/item_base.html:311 +#: report/templates/report/inventree_return_order_report.html:25 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:830 +#: stock/serializers.py:150 stock/templates/stock/item_base.html:311 #: templates/js/translated/build.js:519 templates/js/translated/build.js:1367 #: templates/js/translated/build.js:2355 -#: templates/js/translated/model_renderers.js:224 -#: templates/js/translated/return_order.js:540 -#: templates/js/translated/return_order.js:724 +#: templates/js/translated/model_renderers.js:230 +#: templates/js/translated/return_order.js:539 +#: templates/js/translated/return_order.js:723 #: templates/js/translated/sales_order.js:315 -#: templates/js/translated/sales_order.js:1611 -#: templates/js/translated/sales_order.js:1696 +#: templates/js/translated/sales_order.js:1647 +#: templates/js/translated/sales_order.js:1732 #: templates/js/translated/stock.js:596 msgid "Serial Number" msgstr "" -#: report/templates/report/inventree_slr_report.html:97 +#: report/templates/report/inventree_stock_location_report.html:97 msgid "Stock location items" msgstr "" -#: report/templates/report/inventree_test_report_base.html:21 +#: report/templates/report/inventree_test_report.html:21 msgid "Stock Item Test Report" msgstr "" -#: report/templates/report/inventree_test_report_base.html:97 +#: report/templates/report/inventree_test_report.html:97 msgid "Test Results" msgstr "" -#: report/templates/report/inventree_test_report_base.html:102 +#: report/templates/report/inventree_test_report.html:102 #: templates/js/translated/stock.js:1495 msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2442 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2419 msgid "Result" msgstr "" -#: report/templates/report/inventree_test_report_base.html:130 +#: report/templates/report/inventree_test_report.html:130 msgid "Pass" msgstr "" -#: report/templates/report/inventree_test_report_base.html:132 +#: report/templates/report/inventree_test_report.html:132 msgid "Fail" msgstr "" -#: report/templates/report/inventree_test_report_base.html:139 +#: report/templates/report/inventree_test_report.html:139 msgid "No result (required)" msgstr "" -#: report/templates/report/inventree_test_report_base.html:141 +#: report/templates/report/inventree_test_report.html:141 msgid "No result" msgstr "" -#: report/templates/report/inventree_test_report_base.html:154 +#: report/templates/report/inventree_test_report.html:154 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report_base.html:168 -#: stock/admin.py:162 templates/js/translated/stock.js:700 -#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3113 +#: report/templates/report/inventree_test_report.html:168 stock/admin.py:162 +#: templates/js/translated/stock.js:700 templates/js/translated/stock.js:871 +#: templates/js/translated/stock.js:3110 msgid "Serial" msgstr "" @@ -8757,7 +8792,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:201 stock/models.py:789 +#: stock/admin.py:201 stock/models.py:810 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" @@ -8782,66 +8817,66 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:256 stock/models.py:883 +#: stock/admin.py:256 stock/models.py:904 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2232 users/models.py:124 +#: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" msgstr "" -#: stock/api.py:284 +#: stock/api.py:318 msgid "Filter by location depth" msgstr "" -#: stock/api.py:304 +#: stock/api.py:338 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:325 +#: stock/api.py:359 msgid "Parent Location" msgstr "" -#: stock/api.py:326 +#: stock/api.py:360 msgid "Filter by parent location" msgstr "" -#: stock/api.py:579 templates/js/translated/table_filters.js:427 +#: stock/api.py:613 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:767 +#: stock/api.py:801 msgid "Part Tree" msgstr "" -#: stock/api.py:797 +#: stock/api.py:831 msgid "Expiry date before" msgstr "" -#: stock/api.py:801 +#: stock/api.py:835 msgid "Expiry date after" msgstr "" -#: stock/api.py:804 stock/templates/stock/item_base.html:439 +#: stock/api.py:838 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:891 +#: stock/api.py:925 msgid "Quantity is required" msgstr "" -#: stock/api.py:897 +#: stock/api.py:931 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:928 +#: stock/api.py:962 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:938 +#: stock/api.py:972 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:969 +#: stock/api.py:1003 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8857,477 +8892,517 @@ msgstr "" msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:125 stock/models.py:771 +#: stock/models.py:127 stock/models.py:792 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:126 stock/templates/stock/location.html:179 +#: stock/models.py:128 stock/templates/stock/location.html:186 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "" -#: stock/models.py:158 stock/models.py:932 +#: stock/models.py:170 stock/models.py:953 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:159 stock/models.py:933 +#: stock/models.py:171 stock/models.py:954 msgid "Select Owner" msgstr "" -#: stock/models.py:167 +#: stock/models.py:179 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:174 templates/js/translated/stock.js:2784 +#: stock/models.py:186 templates/js/translated/stock.js:2781 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "" -#: stock/models.py:175 +#: stock/models.py:187 msgid "This is an external stock location" msgstr "" -#: stock/models.py:181 templates/js/translated/stock.js:2793 +#: stock/models.py:193 templates/js/translated/stock.js:2790 #: templates/js/translated/table_filters.js:246 msgid "Location type" msgstr "" -#: stock/models.py:185 +#: stock/models.py:197 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:254 +#: stock/models.py:266 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:626 +#: stock/models.py:647 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:653 stock/serializers.py:290 +#: stock/models.py:674 stock/serializers.py:419 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:670 +#: stock/models.py:691 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:680 stock/models.py:693 +#: stock/models.py:701 stock/models.py:714 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:683 +#: stock/models.py:704 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:707 +#: stock/models.py:728 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:712 +#: stock/models.py:733 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:725 +#: stock/models.py:746 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:741 +#: stock/models.py:762 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:753 +#: stock/models.py:774 msgid "Base part" msgstr "" -#: stock/models.py:763 +#: stock/models.py:784 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:775 +#: stock/models.py:796 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:783 stock/serializers.py:1351 +#: stock/models.py:804 stock/serializers.py:1480 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:794 +#: stock/models.py:815 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:813 +#: stock/models.py:834 msgid "Serial number for this item" msgstr "" -#: stock/models.py:827 stock/serializers.py:1334 +#: stock/models.py:848 stock/serializers.py:1463 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:832 +#: stock/models.py:853 msgid "Stock Quantity" msgstr "" -#: stock/models.py:842 +#: stock/models.py:863 msgid "Source Build" msgstr "" -#: stock/models.py:845 +#: stock/models.py:866 msgid "Build for this stock item" msgstr "" -#: stock/models.py:852 stock/templates/stock/item_base.html:363 +#: stock/models.py:873 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:855 +#: stock/models.py:876 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:864 +#: stock/models.py:885 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:868 +#: stock/models.py:889 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:874 +#: stock/models.py:895 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:885 +#: stock/models.py:906 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:903 +#: stock/models.py:924 msgid "Delete on deplete" msgstr "" -#: stock/models.py:904 +#: stock/models.py:925 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:924 +#: stock/models.py:945 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:955 +#: stock/models.py:976 msgid "Converted to part" msgstr "" -#: stock/models.py:1473 +#: stock/models.py:1494 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1479 +#: stock/models.py:1500 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1487 +#: stock/models.py:1508 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1493 +#: stock/models.py:1514 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1498 +#: stock/models.py:1519 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1506 stock/serializers.py:529 +#: stock/models.py:1527 stock/serializers.py:658 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1603 +#: stock/models.py:1624 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1621 +#: stock/models.py:1642 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1625 +#: stock/models.py:1646 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1628 +#: stock/models.py:1649 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1631 +#: stock/models.py:1652 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1634 +#: stock/models.py:1655 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1637 +#: stock/models.py:1658 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1644 stock/serializers.py:1240 +#: stock/models.py:1665 stock/serializers.py:1369 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1648 +#: stock/models.py:1669 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1656 +#: stock/models.py:1677 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1661 +#: stock/models.py:1682 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1882 +#: stock/models.py:1903 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2345 +#: stock/models.py:2322 msgid "Entry notes" msgstr "" -#: stock/models.py:2410 +#: stock/models.py:2387 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2415 +#: stock/models.py:2392 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2442 +#: stock/models.py:2419 msgid "Test result" msgstr "" -#: stock/models.py:2449 +#: stock/models.py:2426 msgid "Test output value" msgstr "" -#: stock/models.py:2457 +#: stock/models.py:2434 msgid "Test result attachment" msgstr "" -#: stock/models.py:2461 +#: stock/models.py:2438 msgid "Test notes" msgstr "" -#: stock/models.py:2469 templates/js/translated/stock.js:1548 +#: stock/models.py:2446 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "" -#: stock/models.py:2470 +#: stock/models.py:2447 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2476 +#: stock/models.py:2453 msgid "Started" msgstr "" -#: stock/models.py:2477 +#: stock/models.py:2454 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2483 +#: stock/models.py:2460 msgid "Finished" msgstr "" -#: stock/models.py:2484 +#: stock/models.py:2461 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:100 +#: stock/serializers.py:75 +msgid "Generated batch code" +msgstr "" + +#: stock/serializers.py:84 +msgid "Select build order" +msgstr "" + +#: stock/serializers.py:93 +msgid "Select stock item to generate batch code for" +msgstr "" + +#: stock/serializers.py:102 +msgid "Select location to generate batch code for" +msgstr "" + +#: stock/serializers.py:111 +msgid "Select part to generate batch code for" +msgstr "" + +#: stock/serializers.py:120 +msgid "Select purchase order" +msgstr "" + +#: stock/serializers.py:127 +msgid "Enter quantity for batch code" +msgstr "" + +#: stock/serializers.py:150 +msgid "Generated serial number" +msgstr "" + +#: stock/serializers.py:159 +msgid "Select part to generate serial number for" +msgstr "" + +#: stock/serializers.py:167 +msgid "Quantity of serial numbers to generate" +msgstr "" + +#: stock/serializers.py:229 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:119 +#: stock/serializers.py:248 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:151 +#: stock/serializers.py:280 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:184 +#: stock/serializers.py:313 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:282 +#: stock/serializers.py:411 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:402 +#: stock/serializers.py:531 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:464 +#: stock/serializers.py:593 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:477 +#: stock/serializers.py:606 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:484 +#: stock/serializers.py:613 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:495 stock/serializers.py:1197 stock/serializers.py:1453 +#: stock/serializers.py:624 stock/serializers.py:1326 stock/serializers.py:1582 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:502 +#: stock/serializers.py:631 msgid "Optional note field" msgstr "" -#: stock/serializers.py:512 +#: stock/serializers.py:641 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:567 +#: stock/serializers.py:696 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:574 +#: stock/serializers.py:703 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:575 +#: stock/serializers.py:704 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:580 stock/serializers.py:660 stock/serializers.py:756 -#: stock/serializers.py:806 +#: stock/serializers.py:709 stock/serializers.py:789 stock/serializers.py:885 +#: stock/serializers.py:935 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:588 +#: stock/serializers.py:717 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:596 +#: stock/serializers.py:725 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:607 +#: stock/serializers.py:736 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:620 +#: stock/serializers.py:749 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:655 +#: stock/serializers.py:784 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:690 +#: stock/serializers.py:819 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:703 +#: stock/serializers.py:832 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:720 +#: stock/serializers.py:849 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:751 +#: stock/serializers.py:880 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:788 +#: stock/serializers.py:917 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:794 +#: stock/serializers.py:923 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:890 stock/serializers.py:953 +#: stock/serializers.py:1019 stock/serializers.py:1082 #: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:213 +#: stock/templates/stock/location.html:220 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1069 +#: stock/serializers.py:1198 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1073 +#: stock/serializers.py:1202 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1077 +#: stock/serializers.py:1206 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1101 +#: stock/serializers.py:1230 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1107 +#: stock/serializers.py:1236 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1115 +#: stock/serializers.py:1244 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1125 stock/serializers.py:1379 +#: stock/serializers.py:1254 stock/serializers.py:1508 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1204 +#: stock/serializers.py:1333 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1209 +#: stock/serializers.py:1338 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1210 +#: stock/serializers.py:1339 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1215 +#: stock/serializers.py:1344 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1216 +#: stock/serializers.py:1345 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1226 +#: stock/serializers.py:1355 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1293 +#: stock/serializers.py:1422 msgid "No Change" msgstr "" -#: stock/serializers.py:1322 +#: stock/serializers.py:1451 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1341 +#: stock/serializers.py:1470 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1369 +#: stock/serializers.py:1498 msgid "Stock transaction notes" msgstr "" @@ -9352,7 +9427,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:286 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:282 msgid "Delete Test Data" msgstr "" @@ -9368,15 +9443,15 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3274 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3271 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:274 +#: stock/templates/stock/item.html:270 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:304 templates/js/translated/stock.js:1701 +#: stock/templates/stock/item.html:300 templates/js/translated/stock.js:1701 msgid "Add Test Result" msgstr "" @@ -9561,40 +9636,40 @@ msgstr "" msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:507 -#: templates/js/translated/stock.js:1954 +#: stock/templates/stock/item_base.html:504 +#: templates/js/translated/stock.js:1952 msgid "stock item" msgstr "" -#: stock/templates/stock/item_base.html:532 +#: stock/templates/stock/item_base.html:527 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:541 +#: stock/templates/stock/item_base.html:536 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:552 +#: stock/templates/stock/item_base.html:547 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:616 +#: stock/templates/stock/item_base.html:611 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:619 +#: stock/templates/stock/item_base.html:614 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:620 +#: stock/templates/stock/item_base.html:615 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:628 +#: stock/templates/stock/item_base.html:623 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:662 +#: stock/templates/stock/item_base.html:657 msgid "Return to Stock" msgstr "" @@ -9658,28 +9733,32 @@ msgstr "" msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:217 +#: stock/templates/stock/location.html:176 +msgid "Location Type" +msgstr "" + +#: stock/templates/stock/location.html:224 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:218 +#: stock/templates/stock/location.html:225 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:287 -#: templates/js/translated/stock.js:2575 +#: stock/templates/stock/location.html:295 +#: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:315 +#: stock/templates/stock/location.html:317 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:388 +#: stock/templates/stock/location.html:390 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:399 +#: stock/templates/stock/location.html:401 msgid "Link Barcode to Stock Location" msgstr "" @@ -9949,11 +10028,11 @@ msgstr "" msgid "Part Settings" msgstr "" -#: templates/InvenTree/settings/part.html:42 +#: templates/InvenTree/settings/part.html:43 msgid "Part Import" msgstr "" -#: templates/InvenTree/settings/part.html:46 +#: templates/InvenTree/settings/part.html:47 msgid "Import Part" msgstr "" @@ -10174,7 +10253,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:424 +#: templates/js/translated/stock.js:245 users/models.py:411 msgid "Delete" msgstr "" @@ -10283,7 +10362,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2159 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2163 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" @@ -10874,7 +10953,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3218 +#: templates/js/translated/part.js:3217 msgid "Minimum Quantity" msgstr "" @@ -11254,7 +11333,7 @@ msgid "External stock" msgstr "" #: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2595 -#: templates/js/translated/sales_order.js:1910 +#: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" @@ -11264,7 +11343,7 @@ msgstr "" #: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 #: templates/js/translated/part.js:1256 -#: templates/js/translated/sales_order.js:1907 +#: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" @@ -11519,17 +11598,17 @@ msgstr "" #: templates/js/translated/build.js:1576 #: templates/js/translated/purchase_order.js:611 -#: templates/js/translated/sales_order.js:1171 +#: templates/js/translated/sales_order.js:1207 msgid "Select Parts" msgstr "" #: templates/js/translated/build.js:1577 -#: templates/js/translated/sales_order.js:1172 +#: templates/js/translated/sales_order.js:1208 msgid "You must select at least one part to allocate" msgstr "" #: templates/js/translated/build.js:1640 -#: templates/js/translated/sales_order.js:1121 +#: templates/js/translated/sales_order.js:1157 msgid "Specify stock allocation quantity" msgstr "" @@ -11542,7 +11621,7 @@ msgid "All selected parts have been fully allocated" msgstr "" #: templates/js/translated/build.js:1732 -#: templates/js/translated/sales_order.js:1186 +#: templates/js/translated/sales_order.js:1222 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -11551,12 +11630,12 @@ msgid "Allocate Stock Items to Build Order" msgstr "" #: templates/js/translated/build.js:1771 -#: templates/js/translated/sales_order.js:1283 +#: templates/js/translated/sales_order.js:1319 msgid "No matching stock locations" msgstr "" #: templates/js/translated/build.js:1844 -#: templates/js/translated/sales_order.js:1362 +#: templates/js/translated/sales_order.js:1398 msgid "No matching stock items" msgstr "" @@ -11589,9 +11668,9 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 -#: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 -#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 -#: templates/js/translated/stock.js:1985 templates/js/translated/stock.js:2713 +#: templates/js/translated/forms.js:2159 templates/js/translated/forms.js:2175 +#: templates/js/translated/part.js:2315 templates/js/translated/part.js:2741 +#: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "" @@ -11599,21 +11678,17 @@ msgstr "" msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2177 -msgid "Progress" -msgstr "" - -#: templates/js/translated/build.js:2213 templates/js/translated/stock.js:3045 +#: templates/js/translated/build.js:2213 templates/js/translated/stock.js:3042 msgid "No user information" msgstr "" #: templates/js/translated/build.js:2389 -#: templates/js/translated/sales_order.js:1646 +#: templates/js/translated/sales_order.js:1682 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:2390 -#: templates/js/translated/sales_order.js:1647 +#: templates/js/translated/sales_order.js:1683 msgid "Delete stock allocation" msgstr "" @@ -11647,7 +11722,7 @@ msgid "Unit Quantity" msgstr "" #: templates/js/translated/build.js:2591 -#: templates/js/translated/sales_order.js:1915 +#: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" @@ -11664,7 +11739,7 @@ msgid "Allocate tracked items against individual build outputs" msgstr "" #: templates/js/translated/build.js:2662 -#: templates/js/translated/sales_order.js:2016 +#: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "" @@ -11673,7 +11748,7 @@ msgid "Order stock" msgstr "" #: templates/js/translated/build.js:2671 -#: templates/js/translated/sales_order.js:2010 +#: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "" @@ -11923,12 +11998,12 @@ msgid "Delete price break" msgstr "" #: templates/js/translated/filters.js:186 -#: templates/js/translated/filters.js:672 +#: templates/js/translated/filters.js:667 msgid "true" msgstr "" #: templates/js/translated/filters.js:190 -#: templates/js/translated/filters.js:673 +#: templates/js/translated/filters.js:668 msgid "false" msgstr "" @@ -11960,7 +12035,7 @@ msgstr "" msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:582 +#: templates/js/translated/filters.js:577 msgid "Create filter" msgstr "" @@ -11993,32 +12068,32 @@ msgstr "" msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1473 templates/modals.html:19 +#: templates/js/translated/forms.js:1477 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1971 +#: templates/js/translated/forms.js:1975 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2275 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2279 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2489 +#: templates/js/translated/forms.js:2493 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3091 +#: templates/js/translated/forms.js:3095 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3091 +#: templates/js/translated/forms.js:3095 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3103 +#: templates/js/translated/forms.js:3107 msgid "Select Columns" msgstr "" @@ -12042,51 +12117,15 @@ msgstr "" msgid "No parts required for builds" msgstr "" -#: templates/js/translated/label.js:53 templates/js/translated/report.js:123 +#: templates/js/translated/label.js:55 templates/js/translated/report.js:38 msgid "Select Items" msgstr "" -#: templates/js/translated/label.js:54 +#: templates/js/translated/label.js:56 templates/js/translated/report.js:39 msgid "No items selected for printing" msgstr "" -#: templates/js/translated/label.js:72 -msgid "No Labels Found" -msgstr "" - -#: templates/js/translated/label.js:73 -msgid "No label templates found which match the selected items" -msgstr "" - -#: templates/js/translated/label.js:97 -msgid "selected" -msgstr "" - -#: templates/js/translated/label.js:133 -msgid "Printing Options" -msgstr "" - -#: templates/js/translated/label.js:148 -msgid "Print label" -msgstr "" - -#: templates/js/translated/label.js:148 -msgid "Print labels" -msgstr "" - #: templates/js/translated/label.js:149 -msgid "Print" -msgstr "" - -#: templates/js/translated/label.js:155 -msgid "Select label template" -msgstr "" - -#: templates/js/translated/label.js:168 -msgid "Select plugin" -msgstr "" - -#: templates/js/translated/label.js:187 msgid "Labels sent to printer" msgstr "" @@ -12204,7 +12243,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1991 +#: templates/js/translated/purchase_order.js:1990 msgid "No line items found" msgstr "" @@ -12442,19 +12481,19 @@ msgid "Delete Part Parameter Template" msgstr "" #: templates/js/translated/part.js:1716 -#: templates/js/translated/purchase_order.js:1655 +#: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1860 -#: templates/js/translated/purchase_order.js:2154 -#: templates/js/translated/return_order.js:756 -#: templates/js/translated/sales_order.js:1875 +#: templates/js/translated/purchase_order.js:2153 +#: templates/js/translated/return_order.js:755 +#: templates/js/translated/sales_order.js:1911 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1906 -#: templates/js/translated/purchase_order.js:2221 +#: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "" @@ -12466,7 +12505,7 @@ msgstr "" msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2506 +#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2505 msgid "No parts found" msgstr "" @@ -12482,101 +12521,101 @@ msgstr "" msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2286 msgid "part" msgstr "" -#: templates/js/translated/part.js:2288 +#: templates/js/translated/part.js:2287 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2384 +#: templates/js/translated/part.js:2383 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 -#: templates/js/translated/stock.js:2672 +#: templates/js/translated/part.js:2530 templates/js/translated/part.js:2660 +#: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2547 +#: templates/js/translated/part.js:2546 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2645 +#: templates/js/translated/part.js:2644 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2692 +#: templates/js/translated/part.js:2680 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2761 +#: templates/js/translated/part.js:2760 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2777 +#: templates/js/translated/part.js:2776 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2864 +#: templates/js/translated/part.js:2863 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2886 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2885 templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2935 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2941 +#: templates/js/translated/part.js:2940 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2957 +#: templates/js/translated/part.js:2956 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2971 +#: templates/js/translated/part.js:2970 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3050 templates/js/translated/part.js:3051 +#: templates/js/translated/part.js:3049 templates/js/translated/part.js:3050 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3053 +#: templates/js/translated/part.js:3052 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3059 +#: templates/js/translated/part.js:3058 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3109 +#: templates/js/translated/part.js:3108 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3115 +#: templates/js/translated/part.js:3114 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3211 +#: templates/js/translated/part.js:3210 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3227 +#: templates/js/translated/part.js:3226 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3272 +#: templates/js/translated/part.js:3271 msgid "Minimum Stock Level" msgstr "" @@ -12702,7 +12741,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:448 #: templates/js/translated/return_order.js:210 -#: templates/js/translated/sales_order.js:500 +#: templates/js/translated/sales_order.js:552 msgid "Mark this order as complete?" msgstr "" @@ -12715,7 +12754,6 @@ msgid "This order has line items which have not been marked as received." msgstr "" #: templates/js/translated/purchase_order.js:460 -#: templates/js/translated/sales_order.js:514 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" @@ -12773,12 +12811,12 @@ msgid "No matching purchase orders" msgstr "" #: templates/js/translated/purchase_order.js:1073 -#: templates/js/translated/return_order.js:491 +#: templates/js/translated/return_order.js:490 msgid "Select Line Items" msgstr "" #: templates/js/translated/purchase_order.js:1074 -#: templates/js/translated/return_order.js:492 +#: templates/js/translated/return_order.js:491 msgid "At least one line item must be selected" msgstr "" @@ -12827,7 +12865,7 @@ msgid "Quantity to Receive" msgstr "" #: templates/js/translated/purchase_order.js:1333 -#: templates/js/translated/return_order.js:561 +#: templates/js/translated/return_order.js:560 msgid "Confirm receipt of items" msgstr "" @@ -12847,81 +12885,66 @@ msgstr "" msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1682 -#: templates/js/translated/return_order.js:286 -#: templates/js/translated/sales_order.js:774 -#: templates/js/translated/sales_order.js:998 +#: templates/js/translated/purchase_order.js:1681 +#: templates/js/translated/return_order.js:285 +#: templates/js/translated/sales_order.js:810 +#: templates/js/translated/sales_order.js:1034 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1748 -#: templates/js/translated/return_order.js:354 -#: templates/js/translated/sales_order.js:851 -#: templates/js/translated/sales_order.js:1011 -msgid "Items" -msgstr "" - -#: templates/js/translated/purchase_order.js:1844 +#: templates/js/translated/purchase_order.js:1843 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1862 +#: templates/js/translated/purchase_order.js:1861 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1917 -#: templates/js/translated/sales_order.js:2070 +#: templates/js/translated/purchase_order.js:1916 +#: templates/js/translated/sales_order.js:2106 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1932 -#: templates/js/translated/return_order.js:476 -#: templates/js/translated/return_order.js:669 -#: templates/js/translated/sales_order.js:2083 +#: templates/js/translated/purchase_order.js:1931 +#: templates/js/translated/return_order.js:475 +#: templates/js/translated/return_order.js:668 +#: templates/js/translated/sales_order.js:2119 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1943 -#: templates/js/translated/return_order.js:682 -#: templates/js/translated/sales_order.js:2094 +#: templates/js/translated/purchase_order.js:1942 +#: templates/js/translated/return_order.js:681 +#: templates/js/translated/sales_order.js:2130 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2225 -#: templates/js/translated/sales_order.js:2024 +#: templates/js/translated/purchase_order.js:2224 +#: templates/js/translated/sales_order.js:2060 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2226 -#: templates/js/translated/return_order.js:801 -#: templates/js/translated/sales_order.js:2025 +#: templates/js/translated/purchase_order.js:2225 +#: templates/js/translated/return_order.js:800 +#: templates/js/translated/sales_order.js:2061 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2227 -#: templates/js/translated/return_order.js:805 -#: templates/js/translated/sales_order.js:2031 +#: templates/js/translated/purchase_order.js:2226 +#: templates/js/translated/return_order.js:804 +#: templates/js/translated/sales_order.js:2067 msgid "Delete line item" msgstr "" -#: templates/js/translated/report.js:63 -msgid "items selected" +#: templates/js/translated/report.js:49 +msgid "Print Report" msgstr "" -#: templates/js/translated/report.js:71 -msgid "Select Report Template" +#: templates/js/translated/report.js:68 +msgid "Report print successful" msgstr "" -#: templates/js/translated/report.js:86 -msgid "Select Test Report Template" -msgstr "" - -#: templates/js/translated/report.js:140 -msgid "No Reports Found" -msgstr "" - -#: templates/js/translated/report.js:141 -msgid "No report templates found which match the selected items" +#: templates/js/translated/report.js:73 +msgid "Report printing failed" msgstr "" #: templates/js/translated/return_order.js:60 @@ -12953,25 +12976,25 @@ msgstr "" msgid "Complete Return Order" msgstr "" -#: templates/js/translated/return_order.js:266 +#: templates/js/translated/return_order.js:265 msgid "No return orders found" msgstr "" -#: templates/js/translated/return_order.js:300 -#: templates/js/translated/sales_order.js:788 +#: templates/js/translated/return_order.js:299 +#: templates/js/translated/sales_order.js:824 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/return_order.js:562 +#: templates/js/translated/return_order.js:561 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:693 -#: templates/js/translated/sales_order.js:2231 +#: templates/js/translated/return_order.js:692 +#: templates/js/translated/sales_order.js:2267 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:798 +#: templates/js/translated/return_order.js:797 msgid "Mark item as received" msgstr "" @@ -13015,140 +13038,156 @@ msgstr "" msgid "Skip" msgstr "" +#: templates/js/translated/sales_order.js:484 +msgid "Ship Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:500 +msgid "Ship this order?" +msgstr "" + +#: templates/js/translated/sales_order.js:506 +msgid "Order cannot be shipped as there are incomplete shipments" +msgstr "" + #: templates/js/translated/sales_order.js:513 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/sales_order.js:535 +#: templates/js/translated/sales_order.js:514 +msgid "Shipping this order means that the order and line items will no longer be editable." +msgstr "" + +#: templates/js/translated/sales_order.js:572 msgid "Issue this Sales Order?" msgstr "" -#: templates/js/translated/sales_order.js:540 +#: templates/js/translated/sales_order.js:577 msgid "Issue Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:559 +#: templates/js/translated/sales_order.js:596 msgid "Cancel Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:564 +#: templates/js/translated/sales_order.js:601 msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: templates/js/translated/sales_order.js:618 +#: templates/js/translated/sales_order.js:655 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/sales_order.js:728 +#: templates/js/translated/sales_order.js:764 msgid "No sales orders found" msgstr "" -#: templates/js/translated/sales_order.js:908 +#: templates/js/translated/sales_order.js:944 msgid "Edit shipment" msgstr "" -#: templates/js/translated/sales_order.js:911 +#: templates/js/translated/sales_order.js:947 msgid "Complete shipment" msgstr "" -#: templates/js/translated/sales_order.js:916 +#: templates/js/translated/sales_order.js:952 msgid "Delete shipment" msgstr "" -#: templates/js/translated/sales_order.js:933 +#: templates/js/translated/sales_order.js:969 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/sales_order.js:948 +#: templates/js/translated/sales_order.js:984 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:981 +#: templates/js/translated/sales_order.js:1017 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/sales_order.js:1006 +#: templates/js/translated/sales_order.js:1042 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/sales_order.js:1030 -#: templates/js/translated/sales_order.js:1529 +#: templates/js/translated/sales_order.js:1066 +#: templates/js/translated/sales_order.js:1565 msgid "Not shipped" msgstr "" -#: templates/js/translated/sales_order.js:1048 +#: templates/js/translated/sales_order.js:1084 msgid "Tracking" msgstr "" -#: templates/js/translated/sales_order.js:1052 +#: templates/js/translated/sales_order.js:1088 msgid "Invoice" msgstr "" -#: templates/js/translated/sales_order.js:1219 +#: templates/js/translated/sales_order.js:1255 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1270 +#: templates/js/translated/sales_order.js:1306 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/sales_order.js:1271 +#: templates/js/translated/sales_order.js:1307 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1477 +#: templates/js/translated/sales_order.js:1513 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1569 +#: templates/js/translated/sales_order.js:1605 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1583 +#: templates/js/translated/sales_order.js:1619 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/sales_order.js:1584 +#: templates/js/translated/sales_order.js:1620 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1623 -#: templates/js/translated/sales_order.js:1710 +#: templates/js/translated/sales_order.js:1659 +#: templates/js/translated/sales_order.js:1746 #: templates/js/translated/stock.js:1776 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/sales_order.js:1631 -#: templates/js/translated/sales_order.js:1719 +#: templates/js/translated/sales_order.js:1667 +#: templates/js/translated/sales_order.js:1755 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:2008 +#: templates/js/translated/sales_order.js:2044 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/sales_order.js:2012 +#: templates/js/translated/sales_order.js:2048 msgid "Purchase stock" msgstr "" -#: templates/js/translated/sales_order.js:2021 -#: templates/js/translated/sales_order.js:2209 +#: templates/js/translated/sales_order.js:2057 +#: templates/js/translated/sales_order.js:2245 msgid "Calculate price" msgstr "" -#: templates/js/translated/sales_order.js:2035 +#: templates/js/translated/sales_order.js:2071 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:2038 +#: templates/js/translated/sales_order.js:2074 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:2109 +#: templates/js/translated/sales_order.js:2145 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/sales_order.js:2217 +#: templates/js/translated/sales_order.js:2253 msgid "Update Unit Price" msgstr "" @@ -13356,7 +13395,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1042 users/models.py:414 +#: templates/js/translated/stock.js:1042 users/models.py:401 msgid "Add" msgstr "" @@ -13372,7 +13411,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1180 templates/js/translated/stock.js:3302 +#: templates/js/translated/stock.js:1180 templates/js/translated/stock.js:3299 msgid "Select Stock Items" msgstr "" @@ -13456,196 +13495,196 @@ msgstr "" msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:1955 +#: templates/js/translated/stock.js:1953 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1960 +#: templates/js/translated/stock.js:1958 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:1971 +#: templates/js/translated/stock.js:1969 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:2015 +#: templates/js/translated/stock.js:2013 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2093 +#: templates/js/translated/stock.js:2091 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2098 +#: templates/js/translated/stock.js:2096 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2101 +#: templates/js/translated/stock.js:2099 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2104 +#: templates/js/translated/stock.js:2102 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2106 +#: templates/js/translated/stock.js:2104 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2108 +#: templates/js/translated/stock.js:2106 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2111 +#: templates/js/translated/stock.js:2109 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2113 +#: templates/js/translated/stock.js:2111 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2117 +#: templates/js/translated/stock.js:2115 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2119 +#: templates/js/translated/stock.js:2117 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2124 +#: templates/js/translated/stock.js:2122 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2126 +#: templates/js/translated/stock.js:2124 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2128 +#: templates/js/translated/stock.js:2126 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2132 +#: templates/js/translated/stock.js:2130 #: templates/js/translated/table_filters.js:350 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2297 +#: templates/js/translated/stock.js:2295 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2344 +#: templates/js/translated/stock.js:2342 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2472 +#: templates/js/translated/stock.js:2470 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2576 +#: templates/js/translated/stock.js:2573 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2731 +#: templates/js/translated/stock.js:2728 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2849 +#: templates/js/translated/stock.js:2846 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2853 +#: templates/js/translated/stock.js:2850 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2865 +#: templates/js/translated/stock.js:2862 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2887 +#: templates/js/translated/stock.js:2884 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2904 +#: templates/js/translated/stock.js:2901 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2919 +#: templates/js/translated/stock.js:2916 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2936 +#: templates/js/translated/stock.js:2933 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:2950 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2972 +#: templates/js/translated/stock.js:2969 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2990 +#: templates/js/translated/stock.js:2987 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:3008 +#: templates/js/translated/stock.js:3005 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:3016 +#: templates/js/translated/stock.js:3013 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3088 +#: templates/js/translated/stock.js:3085 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3142 templates/js/translated/stock.js:3178 +#: templates/js/translated/stock.js:3139 templates/js/translated/stock.js:3175 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3200 +#: templates/js/translated/stock.js:3197 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3221 +#: templates/js/translated/stock.js:3218 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3222 +#: templates/js/translated/stock.js:3219 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3224 +#: templates/js/translated/stock.js:3221 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3225 +#: templates/js/translated/stock.js:3222 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3226 +#: templates/js/translated/stock.js:3223 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3227 +#: templates/js/translated/stock.js:3224 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3240 +#: templates/js/translated/stock.js:3237 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3303 +#: templates/js/translated/stock.js:3300 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3316 +#: templates/js/translated/stock.js:3313 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3320 +#: templates/js/translated/stock.js:3317 msgid "Change Stock Status" msgstr "" @@ -14247,34 +14286,35 @@ msgstr "" msgid "Revoked" msgstr "" -#: users/models.py:397 +#: users/models.py:384 msgid "Permission set" msgstr "" -#: users/models.py:406 +#: users/models.py:393 msgid "Group" msgstr "" -#: users/models.py:410 +#: users/models.py:397 msgid "View" msgstr "" -#: users/models.py:410 +#: users/models.py:397 msgid "Permission to view items" msgstr "" -#: users/models.py:414 +#: users/models.py:401 msgid "Permission to add items" msgstr "" -#: users/models.py:418 +#: users/models.py:405 msgid "Change" msgstr "" -#: users/models.py:420 +#: users/models.py:407 msgid "Permissions to edit items" msgstr "" -#: users/models.py:426 +#: users/models.py:413 msgid "Permission to delete items" msgstr "" + diff --git a/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po index 4a89fcb7b7..7fac3e5b43 100644 --- a/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po +++ b/src/backend/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: 2024-05-10 05:37+0000\n" +"POT-Creation-Date: 2024-05-22 07:02+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,11 +18,11 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: InvenTree/api.py:271 +#: InvenTree/api.py:272 msgid "API endpoint not found" msgstr "" -#: InvenTree/api.py:535 +#: InvenTree/api.py:536 msgid "User does not have permission to view this model" msgstr "" @@ -57,26 +57,26 @@ msgstr "" msgid "Enter date" msgstr "" -#: InvenTree/fields.py:208 InvenTree/models.py:1021 build/serializers.py:444 -#: build/serializers.py:522 build/templates/build/sidebar.html:21 +#: InvenTree/fields.py:208 InvenTree/models.py:1035 build/serializers.py:443 +#: build/serializers.py:521 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 -#: order/models.py:1283 order/templates/order/po_sidebar.html:11 +#: order/models.py:1329 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:59 -#: part/models.py:3175 part/templates/part/part_sidebar.html:63 -#: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:226 stock/models.py:2344 stock/models.py:2461 -#: stock/serializers.py:501 stock/serializers.py:659 stock/serializers.py:755 -#: stock/serializers.py:805 stock/serializers.py:1114 stock/serializers.py:1203 -#: stock/serializers.py:1368 stock/templates/stock/stock_sidebar.html:25 +#: part/models.py:3218 part/templates/part/part_sidebar.html:63 +#: report/templates/report/inventree_build_order_report.html:172 +#: stock/admin.py:226 stock/models.py:2321 stock/models.py:2438 +#: stock/serializers.py:630 stock/serializers.py:788 stock/serializers.py:884 +#: stock/serializers.py:934 stock/serializers.py:1243 stock/serializers.py:1332 +#: stock/serializers.py:1497 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1080 -#: templates/js/translated/purchase_order.js:2201 -#: templates/js/translated/return_order.js:776 -#: templates/js/translated/sales_order.js:1067 -#: templates/js/translated/sales_order.js:1982 -#: templates/js/translated/stock.js:1536 templates/js/translated/stock.js:2430 +#: templates/js/translated/purchase_order.js:2200 +#: templates/js/translated/return_order.js:775 +#: templates/js/translated/sales_order.js:1103 +#: templates/js/translated/sales_order.js:2018 +#: templates/js/translated/stock.js:1536 templates/js/translated/stock.js:2428 msgid "Notes" msgstr "" @@ -133,7 +133,7 @@ msgstr "" msgid "Registration is disabled." msgstr "" -#: InvenTree/helpers.py:525 order/models.py:541 order/models.py:743 +#: InvenTree/helpers.py:525 order/models.py:563 order/models.py:765 msgid "Invalid quantity provided" msgstr "" @@ -356,142 +356,142 @@ msgstr "" msgid "Error running plugin validation" msgstr "" -#: InvenTree/models.py:162 +#: InvenTree/models.py:176 msgid "Metadata must be a python dict object" msgstr "" -#: InvenTree/models.py:168 +#: InvenTree/models.py:182 msgid "Plugin Metadata" msgstr "" -#: InvenTree/models.py:169 +#: InvenTree/models.py:183 msgid "JSON metadata field, for use by external plugins" msgstr "" -#: InvenTree/models.py:399 +#: InvenTree/models.py:413 msgid "Improperly formatted pattern" msgstr "" -#: InvenTree/models.py:406 +#: InvenTree/models.py:420 msgid "Unknown format key specified" msgstr "" -#: InvenTree/models.py:412 +#: InvenTree/models.py:426 msgid "Missing required format key" msgstr "" -#: InvenTree/models.py:423 +#: InvenTree/models.py:437 msgid "Reference field cannot be empty" msgstr "" -#: InvenTree/models.py:431 +#: InvenTree/models.py:445 msgid "Reference must match required pattern" msgstr "" -#: InvenTree/models.py:462 +#: InvenTree/models.py:476 msgid "Reference number is too large" msgstr "" -#: InvenTree/models.py:536 +#: InvenTree/models.py:550 msgid "Missing file" msgstr "" -#: InvenTree/models.py:537 +#: InvenTree/models.py:551 msgid "Missing external link" msgstr "" -#: InvenTree/models.py:558 stock/models.py:2456 +#: InvenTree/models.py:572 stock/models.py:2433 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" msgstr "" -#: InvenTree/models.py:559 +#: InvenTree/models.py:573 msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:567 common/models.py:3026 company/models.py:146 +#: InvenTree/models.py:581 common/models.py:3032 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 -#: order/models.py:291 order/models.py:1288 order/models.py:1704 -#: part/admin.py:55 part/models.py:919 +#: order/models.py:304 order/models.py:1334 order/models.py:1750 +#: part/admin.py:55 part/models.py:962 #: part/templates/part/part_scheduling.html:11 -#: report/templates/report/inventree_build_order_base.html:164 +#: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2456 -#: templates/js/translated/purchase_order.js:2041 -#: templates/js/translated/purchase_order.js:2205 -#: templates/js/translated/return_order.js:780 -#: templates/js/translated/sales_order.js:1056 -#: templates/js/translated/sales_order.js:1987 +#: templates/js/translated/part.js:2455 +#: templates/js/translated/purchase_order.js:2040 +#: templates/js/translated/purchase_order.js:2204 +#: templates/js/translated/return_order.js:779 +#: templates/js/translated/sales_order.js:1092 +#: templates/js/translated/sales_order.js:2023 msgid "Link" msgstr "" -#: InvenTree/models.py:568 build/models.py:321 part/models.py:920 -#: stock/models.py:819 +#: InvenTree/models.py:582 build/models.py:344 part/models.py:963 +#: stock/models.py:840 msgid "Link to external URL" msgstr "" -#: InvenTree/models.py:574 templates/js/translated/attachment.js:120 +#: InvenTree/models.py:588 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:341 msgid "Comment" msgstr "" -#: InvenTree/models.py:575 +#: InvenTree/models.py:589 msgid "File comment" msgstr "" -#: InvenTree/models.py:583 InvenTree/models.py:584 common/models.py:2502 -#: common/models.py:2503 common/models.py:2727 common/models.py:2728 -#: common/models.py:2973 common/models.py:2974 part/models.py:3185 -#: part/models.py:3272 part/models.py:3365 part/models.py:3393 -#: plugin/models.py:250 plugin/models.py:251 -#: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3039 users/models.py:111 +#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2508 +#: common/models.py:2509 common/models.py:2733 common/models.py:2734 +#: common/models.py:2979 common/models.py:2980 part/models.py:3228 +#: part/models.py:3315 part/models.py:3408 part/models.py:3436 +#: plugin/models.py:259 plugin/models.py:260 +#: report/templates/report/inventree_test_report.html:105 +#: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" msgstr "" -#: InvenTree/models.py:588 +#: InvenTree/models.py:602 msgid "upload date" msgstr "" -#: InvenTree/models.py:610 +#: InvenTree/models.py:624 msgid "Filename must not be empty" msgstr "" -#: InvenTree/models.py:621 +#: InvenTree/models.py:635 msgid "Invalid attachment directory" msgstr "" -#: InvenTree/models.py:651 +#: InvenTree/models.py:665 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "" -#: InvenTree/models.py:654 +#: InvenTree/models.py:668 msgid "Filename missing extension" msgstr "" -#: InvenTree/models.py:663 +#: InvenTree/models.py:677 msgid "Attachment with this filename already exists" msgstr "" -#: InvenTree/models.py:670 +#: InvenTree/models.py:684 msgid "Error renaming file" msgstr "" -#: InvenTree/models.py:846 +#: InvenTree/models.py:860 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:863 +#: InvenTree/models.py:877 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:893 common/models.py:2714 common/models.py:3112 -#: common/serializers.py:403 company/models.py:614 label/models.py:120 -#: machine/models.py:24 part/models.py:855 part/models.py:3616 -#: plugin/models.py:41 report/models.py:176 stock/models.py:76 +#: InvenTree/models.py:907 common/models.py:2720 common/models.py:3118 +#: common/serializers.py:403 company/models.py:614 machine/models.py:24 +#: part/models.py:898 part/models.py:3659 plugin/models.py:50 +#: report/models.py:149 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -504,22 +504,22 @@ msgstr "" #: templates/js/translated/company.js:1165 #: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186 #: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2719 +#: templates/js/translated/part.js:2748 templates/js/translated/stock.js:2716 msgid "Name" msgstr "" -#: InvenTree/models.py:899 build/models.py:194 +#: InvenTree/models.py:913 build/models.py:217 #: build/templates/build/detail.html:24 common/models.py:136 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 label/models.py:127 -#: order/models.py:277 order/models.py:1316 part/admin.py:303 part/admin.py:414 -#: part/models.py:878 part/models.py:3631 part/templates/part/category.html:82 +#: company/templates/company/supplier_part.html:107 order/models.py:290 +#: order/models.py:1362 part/admin.py:305 part/admin.py:416 part/models.py:921 +#: part/models.py:3674 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 -#: part/templates/part/part_scheduling.html:12 report/models.py:189 -#: report/models.py:655 report/models.py:729 -#: report/templates/report/inventree_build_order_base.html:117 +#: part/templates/part/part_scheduling.html:12 report/models.py:155 +#: report/models.py:510 report/models.py:536 +#: report/templates/report/inventree_build_order_report.html:117 #: stock/admin.py:55 stock/models.py:82 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 @@ -531,71 +531,71 @@ msgstr "" #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 -#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2896 +#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2354 +#: templates/js/translated/part.js:2784 templates/js/translated/part.js:2895 #: templates/js/translated/plugin.js:80 -#: templates/js/translated/purchase_order.js:1707 -#: templates/js/translated/purchase_order.js:1850 -#: templates/js/translated/purchase_order.js:2023 -#: templates/js/translated/return_order.js:314 -#: templates/js/translated/sales_order.js:802 -#: templates/js/translated/sales_order.js:1812 -#: templates/js/translated/stock.js:1515 templates/js/translated/stock.js:2060 -#: templates/js/translated/stock.js:2751 templates/js/translated/stock.js:2834 +#: templates/js/translated/purchase_order.js:1706 +#: templates/js/translated/purchase_order.js:1849 +#: templates/js/translated/purchase_order.js:2022 +#: templates/js/translated/return_order.js:313 +#: templates/js/translated/sales_order.js:838 +#: templates/js/translated/sales_order.js:1848 +#: templates/js/translated/stock.js:1515 templates/js/translated/stock.js:2058 +#: templates/js/translated/stock.js:2748 templates/js/translated/stock.js:2831 msgid "Description" msgstr "" -#: InvenTree/models.py:900 stock/models.py:83 +#: InvenTree/models.py:914 stock/models.py:83 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:909 +#: InvenTree/models.py:923 msgid "parent" msgstr "" -#: InvenTree/models.py:915 templates/js/translated/part.js:2794 -#: templates/js/translated/stock.js:2760 +#: InvenTree/models.py:929 templates/js/translated/part.js:2793 +#: templates/js/translated/stock.js:2757 msgid "Path" msgstr "" -#: InvenTree/models.py:1021 +#: InvenTree/models.py:1035 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:1050 +#: InvenTree/models.py:1064 msgid "Barcode Data" msgstr "" -#: InvenTree/models.py:1051 +#: InvenTree/models.py:1065 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:1057 +#: InvenTree/models.py:1071 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:1058 +#: InvenTree/models.py:1072 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:1111 +#: InvenTree/models.py:1125 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:1154 +#: InvenTree/models.py:1168 msgid "Server Error" msgstr "" -#: InvenTree/models.py:1155 +#: InvenTree/models.py:1169 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:62 part/models.py:4169 +#: InvenTree/serializers.py:62 part/models.py:4212 msgid "Must be a valid number" msgstr "" #: InvenTree/serializers.py:99 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:2993 +#: company/templates/company/company_base.html:112 part/models.py:3036 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -687,7 +687,7 @@ msgstr "" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1161 +#: InvenTree/status.py:66 part/serializers.py:1176 msgid "Background worker check failed" msgstr "" @@ -700,8 +700,8 @@ msgid "InvenTree system health checks failed" msgstr "" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:37 -#: InvenTree/status_codes.py:148 InvenTree/status_codes.py:164 -#: InvenTree/status_codes.py:182 generic/states/tests.py:17 +#: InvenTree/status_codes.py:149 InvenTree/status_codes.py:165 +#: InvenTree/status_codes.py:183 generic/states/tests.py:17 #: templates/js/translated/table_filters.js:598 msgid "Pending" msgstr "" @@ -710,188 +710,188 @@ msgstr "" msgid "Placed" msgstr "" -#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:151 -#: InvenTree/status_codes.py:169 generic/states/tests.py:19 -#: order/templates/order/order_base.html:158 -#: order/templates/order/sales_order_base.html:161 +#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:44 +#: InvenTree/status_codes.py:152 InvenTree/status_codes.py:170 +#: generic/states/tests.py:19 order/templates/order/order_base.html:158 +#: order/templates/order/sales_order_base.html:165 report/models.py:444 msgid "Complete" msgstr "" -#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:44 -#: InvenTree/status_codes.py:150 InvenTree/status_codes.py:170 +#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:45 +#: InvenTree/status_codes.py:151 InvenTree/status_codes.py:171 msgid "Cancelled" msgstr "" -#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:45 -#: InvenTree/status_codes.py:67 +#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:46 +#: InvenTree/status_codes.py:68 msgid "Lost" msgstr "" -#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:46 -#: InvenTree/status_codes.py:73 +#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:47 +#: InvenTree/status_codes.py:74 msgid "Returned" msgstr "" -#: InvenTree/status_codes.py:40 InvenTree/status_codes.py:167 +#: InvenTree/status_codes.py:40 InvenTree/status_codes.py:168 msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:43 order/models.py:1566 -#: templates/js/translated/sales_order.js:1523 -#: templates/js/translated/sales_order.js:1644 -#: templates/js/translated/sales_order.js:1957 +#: InvenTree/status_codes.py:43 order/models.py:1612 +#: templates/js/translated/sales_order.js:1559 +#: templates/js/translated/sales_order.js:1680 +#: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "" -#: InvenTree/status_codes.py:62 +#: InvenTree/status_codes.py:63 msgid "OK" msgstr "" -#: InvenTree/status_codes.py:63 +#: InvenTree/status_codes.py:64 msgid "Attention needed" msgstr "" -#: InvenTree/status_codes.py:64 +#: InvenTree/status_codes.py:65 msgid "Damaged" msgstr "" -#: InvenTree/status_codes.py:65 +#: InvenTree/status_codes.py:66 msgid "Destroyed" msgstr "" -#: InvenTree/status_codes.py:66 +#: InvenTree/status_codes.py:67 msgid "Rejected" msgstr "" -#: InvenTree/status_codes.py:70 +#: InvenTree/status_codes.py:71 msgid "Quarantined" msgstr "" -#: InvenTree/status_codes.py:91 +#: InvenTree/status_codes.py:92 msgid "Legacy stock tracking entry" msgstr "" -#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:544 +#: InvenTree/status_codes.py:94 templates/js/translated/stock.js:544 msgid "Stock item created" msgstr "" -#: InvenTree/status_codes.py:96 +#: InvenTree/status_codes.py:97 msgid "Edited stock item" msgstr "" -#: InvenTree/status_codes.py:97 +#: InvenTree/status_codes.py:98 msgid "Assigned serial number" msgstr "" -#: InvenTree/status_codes.py:100 +#: InvenTree/status_codes.py:101 msgid "Stock counted" msgstr "" -#: InvenTree/status_codes.py:101 +#: InvenTree/status_codes.py:102 msgid "Stock manually added" msgstr "" -#: InvenTree/status_codes.py:102 +#: InvenTree/status_codes.py:103 msgid "Stock manually removed" msgstr "" -#: InvenTree/status_codes.py:105 +#: InvenTree/status_codes.py:106 msgid "Location changed" msgstr "" -#: InvenTree/status_codes.py:106 +#: InvenTree/status_codes.py:107 msgid "Stock updated" msgstr "" -#: InvenTree/status_codes.py:109 +#: InvenTree/status_codes.py:110 msgid "Installed into assembly" msgstr "" -#: InvenTree/status_codes.py:110 +#: InvenTree/status_codes.py:111 msgid "Removed from assembly" msgstr "" -#: InvenTree/status_codes.py:112 +#: InvenTree/status_codes.py:113 msgid "Installed component item" msgstr "" -#: InvenTree/status_codes.py:113 +#: InvenTree/status_codes.py:114 msgid "Removed component item" msgstr "" -#: InvenTree/status_codes.py:116 +#: InvenTree/status_codes.py:117 msgid "Split from parent item" msgstr "" -#: InvenTree/status_codes.py:117 +#: InvenTree/status_codes.py:118 msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1858 +#: InvenTree/status_codes.py:121 templates/js/translated/stock.js:1858 msgid "Merged stock items" msgstr "" -#: InvenTree/status_codes.py:123 +#: InvenTree/status_codes.py:124 msgid "Converted to variant" msgstr "" -#: InvenTree/status_codes.py:126 +#: InvenTree/status_codes.py:127 msgid "Build order output created" msgstr "" -#: InvenTree/status_codes.py:127 +#: InvenTree/status_codes.py:128 msgid "Build order output completed" msgstr "" -#: InvenTree/status_codes.py:128 +#: InvenTree/status_codes.py:129 msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1764 +#: InvenTree/status_codes.py:130 templates/js/translated/stock.js:1764 msgid "Consumed by build order" msgstr "" -#: InvenTree/status_codes.py:132 +#: InvenTree/status_codes.py:133 msgid "Shipped against Sales Order" msgstr "" -#: InvenTree/status_codes.py:135 +#: InvenTree/status_codes.py:136 msgid "Received against Purchase Order" msgstr "" -#: InvenTree/status_codes.py:138 +#: InvenTree/status_codes.py:139 msgid "Returned against Return Order" msgstr "" -#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:375 +#: InvenTree/status_codes.py:142 templates/js/translated/table_filters.js:375 msgid "Sent to customer" msgstr "" -#: InvenTree/status_codes.py:142 +#: InvenTree/status_codes.py:143 msgid "Returned from customer" msgstr "" -#: InvenTree/status_codes.py:149 +#: InvenTree/status_codes.py:150 msgid "Production" msgstr "" -#: InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:186 msgid "Return" msgstr "" -#: InvenTree/status_codes.py:188 +#: InvenTree/status_codes.py:189 msgid "Repair" msgstr "" -#: InvenTree/status_codes.py:191 +#: InvenTree/status_codes.py:192 msgid "Replace" msgstr "" -#: InvenTree/status_codes.py:194 +#: InvenTree/status_codes.py:195 msgid "Refund" msgstr "" -#: InvenTree/status_codes.py:197 +#: InvenTree/status_codes.py:198 msgid "Reject" msgstr "" @@ -947,14 +947,14 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:299 part/models.py:4047 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4090 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4041 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4084 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -970,7 +970,7 @@ msgstr "" #: build/api.py:303 part/admin.py:144 templates/js/translated/build.js:1744 #: templates/js/translated/build.js:2629 -#: templates/js/translated/sales_order.js:1929 +#: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "" @@ -981,7 +981,7 @@ msgstr "" #: templates/email/low_stock_notification.html:17 #: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 #: templates/js/translated/index.js:123 -#: templates/js/translated/model_renderers.js:228 +#: templates/js/translated/model_renderers.js:234 #: templates/js/translated/part.js:692 templates/js/translated/part.js:694 #: templates/js/translated/part.js:699 #: templates/js/translated/table_filters.js:340 @@ -989,16 +989,16 @@ msgstr "" msgid "Available" msgstr "" -#: build/models.py:74 build/templates/build/build_base.html:9 +#: build/models.py:82 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 -#: report/templates/report/inventree_build_order_base.html:105 -#: templates/email/build_order_completed.html:16 +#: report/templates/report/inventree_build_order_report.html:105 +#: stock/serializers.py:83 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2895 +#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2892 msgid "Build Order" msgstr "" -#: build/models.py:75 build/templates/build/build_base.html:13 +#: build/models.py:83 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -1009,71 +1009,71 @@ msgstr "" msgid "Build Orders" msgstr "" -#: build/models.py:122 +#: build/models.py:130 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:133 order/models.py:239 +#: build/models.py:141 order/models.py:241 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:139 +#: build/models.py:147 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:185 +#: build/models.py:208 msgid "Build Order Reference" msgstr "" -#: build/models.py:186 order/models.py:442 order/models.py:898 -#: order/models.py:1276 order/models.py:1998 part/admin.py:417 -#: part/models.py:4062 part/templates/part/upload_bom.html:54 +#: build/models.py:209 order/models.py:464 order/models.py:929 +#: order/models.py:1322 order/models.py:2053 part/admin.py:419 +#: part/models.py:4105 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 -#: report/templates/report/inventree_so_report_base.html:28 +#: report/templates/report/inventree_purchase_order_report.html:28 +#: report/templates/report/inventree_return_order_report.html:26 +#: report/templates/report/inventree_sales_order_report.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 #: templates/js/translated/build.js:2512 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 -#: templates/js/translated/purchase_order.js:2066 -#: templates/js/translated/return_order.js:729 -#: templates/js/translated/sales_order.js:1818 +#: templates/js/translated/purchase_order.js:2065 +#: templates/js/translated/return_order.js:728 +#: templates/js/translated/sales_order.js:1854 msgid "Reference" msgstr "" -#: build/models.py:197 +#: build/models.py:220 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:205 build/templates/build/build_base.html:183 +#: build/models.py:228 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:206 +#: build/models.py:229 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:211 build/templates/build/build_base.html:97 +#: build/models.py:234 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 -#: order/models.py:1401 order/models.py:1546 order/models.py:1547 -#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004 -#: part/models.py:3148 part/models.py:3292 part/models.py:3315 -#: part/models.py:3336 part/models.py:3358 part/models.py:3468 -#: part/models.py:3764 part/models.py:3920 part/models.py:4013 -#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713 +#: order/models.py:1447 order/models.py:1592 order/models.py:1593 +#: part/api.py:1501 part/api.py:1795 part/models.py:392 part/models.py:3047 +#: part/models.py:3191 part/models.py:3335 part/models.py:3358 +#: part/models.py:3379 part/models.py:3401 part/models.py:3511 +#: part/models.py:3807 part/models.py:3963 part/models.py:4056 +#: part/models.py:4417 part/serializers.py:1122 part/serializers.py:1728 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 -#: report/templates/report/inventree_build_order_base.html:109 -#: report/templates/report/inventree_po_report_base.html:27 -#: report/templates/report/inventree_return_order_report_base.html:24 -#: report/templates/report/inventree_slr_report.html:102 -#: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:267 stock/serializers.py:689 -#: templates/InvenTree/search.html:82 +#: report/templates/report/inventree_build_order_report.html:109 +#: report/templates/report/inventree_purchase_order_report.html:27 +#: report/templates/report/inventree_return_order_report.html:24 +#: report/templates/report/inventree_sales_order_report.html:27 +#: report/templates/report/inventree_stock_location_report.html:102 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:396 +#: stock/serializers.py:818 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -1087,235 +1087,239 @@ msgstr "" #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 #: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 -#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:2323 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:751 #: templates/js/translated/purchase_order.js:1304 -#: templates/js/translated/purchase_order.js:1849 -#: templates/js/translated/purchase_order.js:2008 -#: templates/js/translated/return_order.js:539 -#: templates/js/translated/return_order.js:710 +#: templates/js/translated/purchase_order.js:1848 +#: templates/js/translated/purchase_order.js:2007 +#: templates/js/translated/return_order.js:538 +#: templates/js/translated/return_order.js:709 #: templates/js/translated/sales_order.js:300 -#: templates/js/translated/sales_order.js:1197 -#: templates/js/translated/sales_order.js:1598 -#: templates/js/translated/sales_order.js:1796 +#: templates/js/translated/sales_order.js:1233 +#: templates/js/translated/sales_order.js:1634 +#: templates/js/translated/sales_order.js:1832 #: templates/js/translated/stock.js:676 templates/js/translated/stock.js:842 -#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1999 -#: templates/js/translated/stock.js:2860 templates/js/translated/stock.js:3093 -#: templates/js/translated/stock.js:3239 +#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1997 +#: templates/js/translated/stock.js:2857 templates/js/translated/stock.js:3090 +#: templates/js/translated/stock.js:3236 msgid "Part" msgstr "" -#: build/models.py:219 +#: build/models.py:242 msgid "Select part to build" msgstr "" -#: build/models.py:224 +#: build/models.py:247 msgid "Sales Order Reference" msgstr "" -#: build/models.py:228 +#: build/models.py:251 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:233 build/serializers.py:970 +#: build/models.py:256 build/serializers.py:969 #: templates/js/translated/build.js:1731 -#: templates/js/translated/sales_order.js:1185 +#: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "" -#: build/models.py:237 +#: build/models.py:260 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:242 +#: build/models.py:265 msgid "Destination Location" msgstr "" -#: build/models.py:246 +#: build/models.py:269 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:250 +#: build/models.py:273 msgid "Build Quantity" msgstr "" -#: build/models.py:253 +#: build/models.py:276 msgid "Number of stock items to build" msgstr "" -#: build/models.py:257 +#: build/models.py:280 msgid "Completed items" msgstr "" -#: build/models.py:259 +#: build/models.py:282 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:263 +#: build/models.py:286 msgid "Build Status" msgstr "" -#: build/models.py:267 +#: build/models.py:290 msgid "Build status code" msgstr "" -#: build/models.py:276 build/serializers.py:278 order/serializers.py:581 -#: stock/models.py:823 stock/serializers.py:1333 +#: build/models.py:299 build/serializers.py:277 order/serializers.py:581 +#: stock/models.py:844 stock/serializers.py:75 stock/serializers.py:1462 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" -#: build/models.py:280 build/serializers.py:279 +#: build/models.py:303 build/serializers.py:278 msgid "Batch code for this build output" msgstr "" -#: build/models.py:283 order/models.py:304 order/serializers.py:120 -#: part/models.py:1079 part/templates/part/part_base.html:310 -#: templates/js/translated/return_order.js:339 -#: templates/js/translated/sales_order.js:827 +#: build/models.py:306 order/models.py:317 order/serializers.py:120 +#: part/models.py:1122 part/templates/part/part_base.html:310 +#: templates/js/translated/return_order.js:338 +#: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "" -#: build/models.py:287 +#: build/models.py:310 msgid "Target completion date" msgstr "" -#: build/models.py:288 +#: build/models.py:311 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:291 order/models.py:500 order/models.py:2043 +#: build/models.py:314 order/models.py:522 order/models.py:2098 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "" -#: build/models.py:297 +#: build/models.py:320 msgid "completed by" msgstr "" -#: build/models.py:305 templates/js/translated/build.js:2207 +#: build/models.py:328 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "" -#: build/models.py:306 +#: build/models.py:329 msgid "User who issued this build order" msgstr "" -#: build/models.py:314 build/templates/build/build_base.html:204 +#: build/models.py:337 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:145 -#: order/models.py:322 order/templates/order/order_base.html:217 +#: order/models.py:335 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1096 +#: order/templates/order/sales_order_base.html:232 part/models.py:1139 #: part/templates/part/part_base.html:390 -#: report/templates/report/inventree_build_order_base.html:158 +#: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 #: templates/js/translated/build.js:2219 -#: templates/js/translated/purchase_order.js:1764 -#: templates/js/translated/return_order.js:359 +#: templates/js/translated/purchase_order.js:1763 +#: templates/js/translated/return_order.js:358 #: templates/js/translated/table_filters.js:531 msgid "Responsible" msgstr "" -#: build/models.py:315 +#: build/models.py:338 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:320 build/templates/build/detail.html:108 +#: build/models.py:343 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 -#: order/templates/order/sales_order_base.html:180 -#: part/templates/part/part_base.html:383 stock/models.py:819 +#: order/templates/order/sales_order_base.html:184 +#: part/templates/part/part_base.html:383 stock/models.py:840 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "" -#: build/models.py:325 +#: build/models.py:348 msgid "Build Priority" msgstr "" -#: build/models.py:328 +#: build/models.py:351 msgid "Priority of this build order" msgstr "" -#: build/models.py:335 common/models.py:129 order/admin.py:18 -#: order/models.py:286 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:358 common/models.py:129 order/admin.py:18 +#: order/models.py:299 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 -#: templates/js/translated/purchase_order.js:1711 -#: templates/js/translated/return_order.js:318 -#: templates/js/translated/sales_order.js:806 +#: templates/js/translated/purchase_order.js:1710 +#: templates/js/translated/return_order.js:317 +#: templates/js/translated/sales_order.js:842 #: templates/js/translated/table_filters.js:48 #: templates/project_code_data.html:6 msgid "Project Code" msgstr "" -#: build/models.py:336 +#: build/models.py:359 msgid "Project code for this build order" msgstr "" -#: build/models.py:566 build/models.py:631 +#: build/models.py:589 build/models.py:654 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:588 +#: build/models.py:611 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:594 +#: build/models.py:617 msgid "A build order has been completed" msgstr "" -#: build/models.py:820 build/models.py:895 +#: build/models.py:843 build/models.py:918 msgid "No build output specified" msgstr "" -#: build/models.py:823 +#: build/models.py:846 msgid "Build output is already completed" msgstr "" -#: build/models.py:826 +#: build/models.py:849 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:899 build/serializers.py:221 build/serializers.py:260 -#: build/serializers.py:837 order/models.py:538 order/serializers.py:433 -#: order/serializers.py:576 part/serializers.py:1471 part/serializers.py:1871 -#: stock/models.py:662 stock/models.py:1482 stock/serializers.py:472 +#: build/models.py:922 build/serializers.py:220 build/serializers.py:259 +#: build/serializers.py:836 order/models.py:560 order/serializers.py:433 +#: order/serializers.py:576 part/serializers.py:1486 part/serializers.py:1886 +#: stock/models.py:683 stock/models.py:1503 stock/serializers.py:601 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:904 build/serializers.py:226 +#: build/models.py:927 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:961 build/serializers.py:539 +#: build/models.py:984 build/serializers.py:538 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1323 +#: build/models.py:1335 +msgid "Build Order Line Item" +msgstr "" + +#: build/models.py:1360 msgid "Build object" msgstr "" -#: build/models.py:1337 build/models.py:1593 build/serializers.py:208 -#: build/serializers.py:245 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2524 -#: order/models.py:1259 order/models.py:1918 order/serializers.py:1339 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 -#: part/forms.py:48 part/models.py:3162 part/models.py:4035 +#: build/models.py:1374 build/models.py:1630 build/serializers.py:207 +#: build/serializers.py:244 build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2530 +#: order/models.py:1305 order/models.py:1964 order/serializers.py:1339 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 +#: part/forms.py:48 part/models.py:3205 part/models.py:4078 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 -#: report/templates/report/inventree_build_order_base.html:113 -#: report/templates/report/inventree_po_report_base.html:29 -#: report/templates/report/inventree_slr_report.html:104 -#: report/templates/report/inventree_so_report_base.html:29 -#: report/templates/report/inventree_test_report_base.html:90 -#: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:160 stock/serializers.py:463 +#: report/templates/report/inventree_build_order_report.html:113 +#: report/templates/report/inventree_purchase_order_report.html:29 +#: report/templates/report/inventree_sales_order_report.html:29 +#: report/templates/report/inventree_stock_location_report.html:104 +#: report/templates/report/inventree_test_report.html:90 +#: report/templates/report/inventree_test_report.html:170 stock/admin.py:160 +#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:592 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1325,380 +1329,381 @@ msgstr "" #: templates/js/translated/build.js:737 templates/js/translated/build.js:1369 #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 -#: templates/js/translated/model_renderers.js:230 +#: templates/js/translated/model_renderers.js:236 #: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3341 +#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3340 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 #: templates/js/translated/purchase_order.js:754 -#: templates/js/translated/purchase_order.js:1853 -#: templates/js/translated/purchase_order.js:2072 +#: templates/js/translated/purchase_order.js:1852 +#: templates/js/translated/purchase_order.js:2071 #: templates/js/translated/sales_order.js:317 -#: templates/js/translated/sales_order.js:1199 -#: templates/js/translated/sales_order.js:1518 -#: templates/js/translated/sales_order.js:1608 -#: templates/js/translated/sales_order.js:1698 -#: templates/js/translated/sales_order.js:1824 +#: templates/js/translated/sales_order.js:1235 +#: templates/js/translated/sales_order.js:1554 +#: templates/js/translated/sales_order.js:1644 +#: templates/js/translated/sales_order.js:1734 +#: templates/js/translated/sales_order.js:1860 #: templates/js/translated/stock.js:564 templates/js/translated/stock.js:702 -#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:3024 -#: templates/js/translated/stock.js:3107 +#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:3021 +#: templates/js/translated/stock.js:3104 msgid "Quantity" msgstr "" -#: build/models.py:1338 +#: build/models.py:1375 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1418 +#: build/models.py:1455 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1427 +#: build/models.py:1464 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1437 order/models.py:1869 +#: build/models.py:1474 order/models.py:1915 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1443 order/models.py:1872 +#: build/models.py:1480 order/models.py:1918 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1449 +#: build/models.py:1486 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1508 +#: build/models.py:1545 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1580 build/serializers.py:817 order/serializers.py:1183 -#: order/serializers.py:1204 stock/serializers.py:566 stock/serializers.py:1052 -#: stock/serializers.py:1164 stock/templates/stock/item_base.html:10 +#: build/models.py:1617 build/serializers.py:816 order/serializers.py:1183 +#: order/serializers.py:1204 stock/models.py:364 stock/serializers.py:92 +#: stock/serializers.py:695 stock/serializers.py:1181 stock/serializers.py:1293 +#: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 #: templates/js/translated/build.js:1745 #: templates/js/translated/sales_order.js:301 -#: templates/js/translated/sales_order.js:1198 -#: templates/js/translated/sales_order.js:1499 -#: templates/js/translated/sales_order.js:1504 -#: templates/js/translated/sales_order.js:1605 -#: templates/js/translated/sales_order.js:1692 +#: templates/js/translated/sales_order.js:1234 +#: templates/js/translated/sales_order.js:1535 +#: templates/js/translated/sales_order.js:1540 +#: templates/js/translated/sales_order.js:1641 +#: templates/js/translated/sales_order.js:1728 #: templates/js/translated/stock.js:677 templates/js/translated/stock.js:843 -#: templates/js/translated/stock.js:2980 +#: templates/js/translated/stock.js:2977 msgid "Stock Item" msgstr "" -#: build/models.py:1581 +#: build/models.py:1618 msgid "Source stock item" msgstr "" -#: build/models.py:1594 +#: build/models.py:1631 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1602 +#: build/models.py:1639 msgid "Install into" msgstr "" -#: build/models.py:1603 +#: build/models.py:1640 msgid "Destination stock item" msgstr "" -#: build/serializers.py:158 build/serializers.py:846 +#: build/serializers.py:157 build/serializers.py:845 #: templates/js/translated/build.js:1322 msgid "Build Output" msgstr "" -#: build/serializers.py:170 +#: build/serializers.py:169 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:174 +#: build/serializers.py:173 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:178 +#: build/serializers.py:177 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:189 +#: build/serializers.py:188 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:209 build/serializers.py:246 +#: build/serializers.py:208 build/serializers.py:245 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:267 +#: build/serializers.py:266 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:270 +#: build/serializers.py:269 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:285 order/serializers.py:589 order/serializers.py:1343 -#: stock/serializers.py:483 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:284 order/serializers.py:589 order/serializers.py:1343 +#: stock/serializers.py:612 templates/js/translated/purchase_order.js:1153 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:286 +#: build/serializers.py:285 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:291 build/serializers.py:432 build/serializers.py:504 +#: build/serializers.py:290 build/serializers.py:431 build/serializers.py:503 #: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1679 -#: part/serializers.py:1127 stock/serializers.py:494 stock/serializers.py:654 -#: stock/serializers.py:750 stock/serializers.py:1196 stock/serializers.py:1452 -#: stock/templates/stock/item_base.html:394 +#: part/serializers.py:1142 stock/serializers.py:101 stock/serializers.py:623 +#: stock/serializers.py:783 stock/serializers.py:879 stock/serializers.py:1325 +#: stock/serializers.py:1581 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 #: templates/js/translated/purchase_order.js:1178 #: templates/js/translated/purchase_order.js:1268 -#: templates/js/translated/sales_order.js:1511 -#: templates/js/translated/sales_order.js:1619 -#: templates/js/translated/sales_order.js:1627 -#: templates/js/translated/sales_order.js:1706 +#: templates/js/translated/sales_order.js:1547 +#: templates/js/translated/sales_order.js:1655 +#: templates/js/translated/sales_order.js:1663 +#: templates/js/translated/sales_order.js:1742 #: templates/js/translated/stock.js:678 templates/js/translated/stock.js:844 -#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2203 -#: templates/js/translated/stock.js:2874 +#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2201 +#: templates/js/translated/stock.js:2871 msgid "Location" msgstr "" -#: build/serializers.py:292 +#: build/serializers.py:291 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:306 +#: build/serializers.py:305 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:307 +#: build/serializers.py:306 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:322 +#: build/serializers.py:321 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:347 stock/api.py:995 +#: build/serializers.py:346 stock/api.py:1029 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:394 build/serializers.py:456 build/serializers.py:545 +#: build/serializers.py:393 build/serializers.py:455 build/serializers.py:544 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:433 +#: build/serializers.py:432 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:439 +#: build/serializers.py:438 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:440 +#: build/serializers.py:439 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:445 +#: build/serializers.py:444 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:505 +#: build/serializers.py:504 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:511 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:922 -#: order/models.py:2022 order/serializers.py:597 stock/admin.py:165 -#: stock/serializers.py:801 stock/serializers.py:1340 +#: build/serializers.py:510 build/templates/build/build_base.html:151 +#: build/templates/build/detail.html:62 order/models.py:953 +#: order/models.py:2077 order/serializers.py:597 stock/admin.py:165 +#: stock/serializers.py:930 stock/serializers.py:1469 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 -#: templates/js/translated/purchase_order.js:1723 -#: templates/js/translated/return_order.js:331 -#: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2178 templates/js/translated/stock.js:2998 -#: templates/js/translated/stock.js:3123 +#: templates/js/translated/purchase_order.js:1722 +#: templates/js/translated/return_order.js:330 +#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/stock.js:2176 templates/js/translated/stock.js:2995 +#: templates/js/translated/stock.js:3120 msgid "Status" msgstr "" -#: build/serializers.py:517 +#: build/serializers.py:516 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:518 +#: build/serializers.py:517 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:598 +#: build/serializers.py:597 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:599 +#: build/serializers.py:598 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:605 +#: build/serializers.py:604 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:606 +#: build/serializers.py:605 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:633 +#: build/serializers.py:632 msgid "Not permitted" msgstr "" -#: build/serializers.py:634 +#: build/serializers.py:633 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:635 +#: build/serializers.py:634 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:657 +#: build/serializers.py:656 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:659 +#: build/serializers.py:658 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:669 +#: build/serializers.py:668 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:674 +#: build/serializers.py:673 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:675 +#: build/serializers.py:674 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:685 templates/js/translated/build.js:315 +#: build/serializers.py:684 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:690 order/serializers.py:301 order/serializers.py:1246 +#: build/serializers.py:689 order/serializers.py:301 order/serializers.py:1246 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:691 +#: build/serializers.py:690 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:701 templates/js/translated/build.js:319 +#: build/serializers.py:700 templates/js/translated/build.js:319 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:710 templates/js/translated/build.js:303 +#: build/serializers.py:709 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:740 +#: build/serializers.py:739 msgid "Build Line" msgstr "" -#: build/serializers.py:750 +#: build/serializers.py:749 msgid "Build output" msgstr "" -#: build/serializers.py:758 +#: build/serializers.py:757 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:794 +#: build/serializers.py:793 msgid "Build Line Item" msgstr "" -#: build/serializers.py:808 +#: build/serializers.py:807 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:823 stock/serializers.py:1065 +#: build/serializers.py:822 stock/serializers.py:1194 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:871 order/serializers.py:1237 +#: build/serializers.py:870 order/serializers.py:1237 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:877 +#: build/serializers.py:876 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:884 +#: build/serializers.py:883 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:908 order/serializers.py:1489 +#: build/serializers.py:907 order/serializers.py:1489 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:971 +#: build/serializers.py:970 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:979 +#: build/serializers.py:978 msgid "Exclude Location" msgstr "" -#: build/serializers.py:980 +#: build/serializers.py:979 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:985 +#: build/serializers.py:984 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:986 +#: build/serializers.py:985 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:991 +#: build/serializers.py:990 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:992 +#: build/serializers.py:991 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:997 +#: build/serializers.py:996 msgid "Optional Items" msgstr "" -#: build/serializers.py:998 +#: build/serializers.py:997 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1020 +#: build/serializers.py:1019 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1110 part/models.py:3930 part/models.py:4366 -#: stock/api.py:758 +#: build/serializers.py:1109 part/models.py:3973 part/models.py:4409 +#: stock/api.py:792 msgid "BOM Item" msgstr "" -#: build/serializers.py:1119 templates/js/translated/index.js:130 +#: build/serializers.py:1118 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1124 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:817 part/serializers.py:1489 +#: build/serializers.py:1123 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:832 part/serializers.py:1504 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 @@ -1706,15 +1711,15 @@ msgstr "" msgid "On Order" msgstr "" -#: build/serializers.py:1129 part/serializers.py:1491 +#: build/serializers.py:1128 part/serializers.py:1506 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1134 part/bom.py:172 part/serializers.py:1514 +#: build/serializers.py:1133 part/bom.py:172 part/serializers.py:1529 #: part/templates/part/part_base.html:192 -#: templates/js/translated/sales_order.js:1893 +#: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "" @@ -1843,18 +1848,18 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:297 -#: order/models.py:1294 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:310 +#: order/models.py:1340 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 -#: order/templates/order/sales_order_base.html:192 -#: report/templates/report/inventree_build_order_base.html:125 +#: order/templates/order/sales_order_base.html:196 +#: report/templates/report/inventree_build_order_report.html:125 #: templates/js/translated/build.js:2239 templates/js/translated/part.js:1830 -#: templates/js/translated/purchase_order.js:1740 -#: templates/js/translated/purchase_order.js:2148 -#: templates/js/translated/return_order.js:347 -#: templates/js/translated/return_order.js:751 -#: templates/js/translated/sales_order.js:835 -#: templates/js/translated/sales_order.js:1867 +#: templates/js/translated/purchase_order.js:1739 +#: templates/js/translated/purchase_order.js:2147 +#: templates/js/translated/return_order.js:346 +#: templates/js/translated/return_order.js:750 +#: templates/js/translated/sales_order.js:871 +#: templates/js/translated/sales_order.js:1903 msgid "Target Date" msgstr "" @@ -1867,7 +1872,7 @@ msgstr "" #: build/templates/build/build_base.html:222 #: order/templates/order/order_base.html:122 #: order/templates/order/return_order_base.html:117 -#: order/templates/order/sales_order_base.html:122 +#: order/templates/order/sales_order_base.html:126 #: templates/js/translated/table_filters.js:98 #: templates/js/translated/table_filters.js:524 #: templates/js/translated/table_filters.js:626 @@ -1881,24 +1886,24 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:1538 -#: order/models.py:1652 order/models.py:1806 +#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:848 +#: order/models.py:1584 order/models.py:1698 order/models.py:1852 #: 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 +#: report/templates/report/inventree_build_order_report.html:135 +#: report/templates/report/inventree_sales_order_report.html:14 #: stock/templates/stock/item_base.html:369 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:929 -#: templates/js/translated/sales_order.js:769 -#: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2927 +#: templates/js/translated/sales_order.js:805 +#: templates/js/translated/sales_order.js:1028 +#: templates/js/translated/stock.js:2924 msgid "Sales Order" msgstr "" #: build/templates/build/build_base.html:197 #: build/templates/build/detail.html:115 -#: report/templates/report/inventree_build_order_base.html:152 +#: report/templates/report/inventree_build_order_report.html:152 #: templates/js/translated/table_filters.js:24 msgid "Issued By" msgstr "" @@ -1908,15 +1913,15 @@ msgstr "" msgid "Priority" msgstr "" -#: build/templates/build/build_base.html:273 +#: build/templates/build/build_base.html:269 msgid "Delete Build Order" msgstr "" -#: build/templates/build/build_base.html:283 +#: build/templates/build/build_base.html:279 msgid "Build Order QR Code" msgstr "" -#: build/templates/build/build_base.html:295 +#: build/templates/build/build_base.html:291 msgid "Link Barcode to Build Order" msgstr "" @@ -1932,8 +1937,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1430 -#: templates/js/translated/purchase_order.js:2190 +#: build/templates/build/detail.html:49 order/models.py:1476 +#: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "" @@ -1948,10 +1953,10 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 #: templates/js/translated/build.js:1380 -#: templates/js/translated/model_renderers.js:235 +#: templates/js/translated/model_renderers.js:241 #: templates/js/translated/purchase_order.js:1274 -#: templates/js/translated/stock.js:1133 templates/js/translated/stock.js:2192 -#: templates/js/translated/stock.js:3130 +#: templates/js/translated/stock.js:1133 templates/js/translated/stock.js:2190 +#: templates/js/translated/stock.js:3127 #: templates/js/translated/table_filters.js:313 #: templates/js/translated/table_filters.js:404 msgid "Batch" @@ -1960,7 +1965,7 @@ msgstr "" #: build/templates/build/detail.html:133 #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:151 -#: order/templates/order/sales_order_base.html:186 +#: order/templates/order/sales_order_base.html:190 #: templates/js/translated/build.js:2199 msgid "Created" msgstr "" @@ -1970,7 +1975,7 @@ msgid "No target date set" msgstr "" #: build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:202 +#: order/templates/order/sales_order_base.html:206 #: templates/js/translated/table_filters.js:689 msgid "Completed" msgstr "" @@ -2261,8 +2266,8 @@ msgstr "" #: common/models.py:1316 common/models.py:1372 common/models.py:1385 #: common/models.py:1393 common/models.py:1402 common/models.py:1411 -#: common/models.py:1613 common/models.py:1635 common/models.py:1750 -#: common/models.py:2061 +#: common/models.py:1619 common/models.py:1641 common/models.py:1756 +#: common/models.py:2067 msgid "days" msgstr "" @@ -2403,1209 +2408,1218 @@ msgid "Enable revision field for Part" msgstr "" #: common/models.py:1440 -msgid "IPN Regex" +msgid "Allow Deletion from Assembly" msgstr "" #: common/models.py:1441 +msgid "Allow deletion of parts which are used in an assembly" +msgstr "" + +#: common/models.py:1446 +msgid "IPN Regex" +msgstr "" + +#: common/models.py:1447 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1444 +#: common/models.py:1450 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1445 +#: common/models.py:1451 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1450 +#: common/models.py:1456 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1451 +#: common/models.py:1457 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1456 +#: common/models.py:1462 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1457 +#: common/models.py:1463 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1462 +#: common/models.py:1468 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1463 +#: common/models.py:1469 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1468 +#: common/models.py:1474 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1469 +#: common/models.py:1475 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1474 +#: common/models.py:1480 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1475 +#: common/models.py:1481 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1480 part/admin.py:108 part/models.py:3772 -#: report/models.py:182 stock/serializers.py:99 +#: common/models.py:1486 part/admin.py:108 part/models.py:3815 +#: report/models.py:294 report/models.py:361 report/serializers.py:90 +#: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:767 msgid "Template" msgstr "" -#: common/models.py:1481 +#: common/models.py:1487 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1486 part/admin.py:91 part/admin.py:431 part/models.py:1016 +#: common/models.py:1492 part/admin.py:91 part/admin.py:433 part/models.py:1059 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "" -#: common/models.py:1487 +#: common/models.py:1493 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1492 part/admin.py:95 part/models.py:1022 +#: common/models.py:1498 part/admin.py:95 part/models.py:1065 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "" -#: common/models.py:1493 +#: common/models.py:1499 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1498 part/admin.py:100 part/models.py:1034 +#: common/models.py:1504 part/admin.py:100 part/models.py:1077 msgid "Purchaseable" msgstr "" -#: common/models.py:1499 +#: common/models.py:1505 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1504 part/admin.py:104 part/models.py:1040 +#: common/models.py:1510 part/admin.py:104 part/models.py:1083 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "" -#: common/models.py:1505 +#: common/models.py:1511 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1510 part/admin.py:113 part/models.py:1028 +#: common/models.py:1516 part/admin.py:113 part/models.py:1071 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "" -#: common/models.py:1511 +#: common/models.py:1517 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1516 part/admin.py:117 part/models.py:1050 +#: common/models.py:1522 part/admin.py:117 part/models.py:1093 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "" -#: common/models.py:1517 +#: common/models.py:1523 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1522 +#: common/models.py:1528 msgid "Show Import in Views" msgstr "" -#: common/models.py:1523 +#: common/models.py:1529 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1528 +#: common/models.py:1534 msgid "Show related parts" msgstr "" -#: common/models.py:1529 +#: common/models.py:1535 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1534 +#: common/models.py:1540 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1535 +#: common/models.py:1541 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1540 templates/js/translated/part.js:107 +#: common/models.py:1546 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1542 +#: common/models.py:1548 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1548 +#: common/models.py:1554 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1549 +#: common/models.py:1555 msgid "Format to display the part name" msgstr "" -#: common/models.py:1555 +#: common/models.py:1561 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1556 +#: common/models.py:1562 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1560 +#: common/models.py:1566 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1562 +#: common/models.py:1568 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1568 +#: common/models.py:1574 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1570 +#: common/models.py:1576 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1576 +#: common/models.py:1582 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1578 +#: common/models.py:1584 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1584 +#: common/models.py:1590 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1586 +#: common/models.py:1592 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1592 +#: common/models.py:1598 msgid "Purchase History Override" msgstr "" -#: common/models.py:1594 +#: common/models.py:1600 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1600 +#: common/models.py:1606 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1602 +#: common/models.py:1608 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1608 +#: common/models.py:1614 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1610 +#: common/models.py:1616 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1617 +#: common/models.py:1623 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1618 +#: common/models.py:1624 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1623 +#: common/models.py:1629 msgid "Active Variants Only" msgstr "" -#: common/models.py:1625 +#: common/models.py:1631 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1631 +#: common/models.py:1637 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1633 +#: common/models.py:1639 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1640 +#: common/models.py:1646 msgid "Internal Prices" msgstr "" -#: common/models.py:1641 +#: common/models.py:1647 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1646 +#: common/models.py:1652 msgid "Internal Price Override" msgstr "" -#: common/models.py:1648 +#: common/models.py:1654 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1654 +#: common/models.py:1660 msgid "Enable label printing" msgstr "" -#: common/models.py:1655 +#: common/models.py:1661 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1660 +#: common/models.py:1666 msgid "Label Image DPI" msgstr "" -#: common/models.py:1662 +#: common/models.py:1668 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1668 +#: common/models.py:1674 msgid "Enable Reports" msgstr "" -#: common/models.py:1669 +#: common/models.py:1675 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1674 templates/stats.html:25 +#: common/models.py:1680 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1675 +#: common/models.py:1681 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1680 +#: common/models.py:1686 msgid "Log Report Errors" msgstr "" -#: common/models.py:1681 +#: common/models.py:1687 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1686 plugin/builtin/labels/label_sheet.py:28 -#: report/models.py:203 +#: common/models.py:1692 plugin/builtin/labels/label_sheet.py:28 +#: report/models.py:302 msgid "Page Size" msgstr "" -#: common/models.py:1687 +#: common/models.py:1693 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1692 +#: common/models.py:1698 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1693 +#: common/models.py:1699 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1698 +#: common/models.py:1704 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1700 +#: common/models.py:1706 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1706 +#: common/models.py:1712 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1707 +#: common/models.py:1713 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1712 +#: common/models.py:1718 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1713 +#: common/models.py:1719 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1718 +#: common/models.py:1724 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1720 +#: common/models.py:1726 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1726 +#: common/models.py:1732 msgid "Batch Code Template" msgstr "" -#: common/models.py:1728 +#: common/models.py:1734 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1733 +#: common/models.py:1739 msgid "Stock Expiry" msgstr "" -#: common/models.py:1734 +#: common/models.py:1740 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1739 +#: common/models.py:1745 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1740 +#: common/models.py:1746 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1745 +#: common/models.py:1751 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1747 +#: common/models.py:1753 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1754 +#: common/models.py:1760 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1755 +#: common/models.py:1761 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1760 +#: common/models.py:1766 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1761 +#: common/models.py:1767 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1766 +#: common/models.py:1772 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1767 +#: common/models.py:1773 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1771 +#: common/models.py:1777 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1772 +#: common/models.py:1778 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1777 +#: common/models.py:1783 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1779 +#: common/models.py:1785 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1785 +#: common/models.py:1791 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1787 +#: common/models.py:1793 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1793 +#: common/models.py:1799 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1795 +#: common/models.py:1801 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1801 common/models.py:1829 common/models.py:1851 -#: common/models.py:1879 +#: common/models.py:1807 common/models.py:1835 common/models.py:1857 +#: common/models.py:1885 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1802 common/models.py:1830 common/models.py:1852 -#: common/models.py:1880 +#: common/models.py:1808 common/models.py:1836 common/models.py:1858 +#: common/models.py:1886 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1807 +#: common/models.py:1813 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1809 +#: common/models.py:1815 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1815 +#: common/models.py:1821 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1816 +#: common/models.py:1822 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1821 +#: common/models.py:1827 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1823 +#: common/models.py:1829 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1835 +#: common/models.py:1841 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1837 +#: common/models.py:1843 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1843 +#: common/models.py:1849 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1845 +#: common/models.py:1851 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1857 +#: common/models.py:1863 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1858 +#: common/models.py:1864 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1863 +#: common/models.py:1869 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1865 +#: common/models.py:1871 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1871 +#: common/models.py:1877 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1873 +#: common/models.py:1879 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1885 +#: common/models.py:1891 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1887 +#: common/models.py:1893 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1893 +#: common/models.py:1899 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1895 +#: common/models.py:1901 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1902 +#: common/models.py:1908 msgid "Enable password forgot" msgstr "" -#: common/models.py:1903 +#: common/models.py:1909 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1908 +#: common/models.py:1914 msgid "Enable registration" msgstr "" -#: common/models.py:1909 +#: common/models.py:1915 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1914 +#: common/models.py:1920 msgid "Enable SSO" msgstr "" -#: common/models.py:1915 +#: common/models.py:1921 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1920 +#: common/models.py:1926 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1922 +#: common/models.py:1928 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1928 +#: common/models.py:1934 msgid "Email required" msgstr "" -#: common/models.py:1929 +#: common/models.py:1935 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1934 +#: common/models.py:1940 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1936 +#: common/models.py:1942 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1942 +#: common/models.py:1948 msgid "Mail twice" msgstr "" -#: common/models.py:1943 +#: common/models.py:1949 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1948 +#: common/models.py:1954 msgid "Password twice" msgstr "" -#: common/models.py:1949 +#: common/models.py:1955 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1954 +#: common/models.py:1960 msgid "Allowed domains" msgstr "" -#: common/models.py:1956 +#: common/models.py:1962 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1962 +#: common/models.py:1968 msgid "Group on signup" msgstr "" -#: common/models.py:1963 +#: common/models.py:1969 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1968 +#: common/models.py:1974 msgid "Enforce MFA" msgstr "" -#: common/models.py:1969 +#: common/models.py:1975 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1974 +#: common/models.py:1980 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1976 +#: common/models.py:1982 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1984 +#: common/models.py:1990 msgid "Check for plugin updates" msgstr "" -#: common/models.py:1985 +#: common/models.py:1991 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:1991 +#: common/models.py:1997 msgid "Enable URL integration" msgstr "" -#: common/models.py:1992 +#: common/models.py:1998 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1998 +#: common/models.py:2004 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1999 +#: common/models.py:2005 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2005 +#: common/models.py:2011 msgid "Enable app integration" msgstr "" -#: common/models.py:2006 +#: common/models.py:2012 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2012 +#: common/models.py:2018 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2013 +#: common/models.py:2019 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2019 +#: common/models.py:2025 msgid "Enable event integration" msgstr "" -#: common/models.py:2020 +#: common/models.py:2026 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2026 +#: common/models.py:2032 msgid "Enable project codes" msgstr "" -#: common/models.py:2027 +#: common/models.py:2033 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2032 +#: common/models.py:2038 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2034 +#: common/models.py:2040 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2040 +#: common/models.py:2046 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2042 +#: common/models.py:2048 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2048 +#: common/models.py:2054 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2050 +#: common/models.py:2056 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2056 +#: common/models.py:2062 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2058 +#: common/models.py:2064 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2065 +#: common/models.py:2071 msgid "Display Users full names" msgstr "" -#: common/models.py:2066 +#: common/models.py:2072 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2071 +#: common/models.py:2077 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2072 +#: common/models.py:2078 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2084 common/models.py:2494 +#: common/models.py:2090 common/models.py:2500 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2127 +#: common/models.py:2133 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2129 +#: common/models.py:2135 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2135 +#: common/models.py:2141 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2136 +#: common/models.py:2142 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2141 +#: common/models.py:2147 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2142 +#: common/models.py:2148 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2147 +#: common/models.py:2153 msgid "Show latest parts" msgstr "" -#: common/models.py:2148 +#: common/models.py:2154 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2153 +#: common/models.py:2159 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2154 +#: common/models.py:2160 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2159 +#: common/models.py:2165 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2160 +#: common/models.py:2166 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2165 +#: common/models.py:2171 msgid "Show low stock" msgstr "" -#: common/models.py:2166 +#: common/models.py:2172 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2171 +#: common/models.py:2177 msgid "Show depleted stock" msgstr "" -#: common/models.py:2172 +#: common/models.py:2178 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2177 +#: common/models.py:2183 msgid "Show needed stock" msgstr "" -#: common/models.py:2178 +#: common/models.py:2184 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2183 +#: common/models.py:2189 msgid "Show expired stock" msgstr "" -#: common/models.py:2184 +#: common/models.py:2190 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2189 +#: common/models.py:2195 msgid "Show stale stock" msgstr "" -#: common/models.py:2190 +#: common/models.py:2196 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2195 +#: common/models.py:2201 msgid "Show pending builds" msgstr "" -#: common/models.py:2196 +#: common/models.py:2202 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2201 +#: common/models.py:2207 msgid "Show overdue builds" msgstr "" -#: common/models.py:2202 +#: common/models.py:2208 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2207 +#: common/models.py:2213 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2208 +#: common/models.py:2214 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2213 +#: common/models.py:2219 msgid "Show overdue POs" msgstr "" -#: common/models.py:2214 +#: common/models.py:2220 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2219 +#: common/models.py:2225 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2220 +#: common/models.py:2226 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2225 +#: common/models.py:2231 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2226 +#: common/models.py:2232 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2231 +#: common/models.py:2237 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2232 +#: common/models.py:2238 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2237 +#: common/models.py:2243 msgid "Show News" msgstr "" -#: common/models.py:2238 +#: common/models.py:2244 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2243 +#: common/models.py:2249 msgid "Inline label display" msgstr "" -#: common/models.py:2245 +#: common/models.py:2251 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2251 +#: common/models.py:2257 msgid "Default label printer" msgstr "" -#: common/models.py:2253 +#: common/models.py:2259 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2259 +#: common/models.py:2265 msgid "Inline report display" msgstr "" -#: common/models.py:2261 +#: common/models.py:2267 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2267 +#: common/models.py:2273 msgid "Search Parts" msgstr "" -#: common/models.py:2268 +#: common/models.py:2274 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2273 +#: common/models.py:2279 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2274 +#: common/models.py:2280 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2279 +#: common/models.py:2285 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2280 +#: common/models.py:2286 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2285 +#: common/models.py:2291 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2286 +#: common/models.py:2292 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2291 +#: common/models.py:2297 msgid "Search Categories" msgstr "" -#: common/models.py:2292 +#: common/models.py:2298 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2297 +#: common/models.py:2303 msgid "Search Stock" msgstr "" -#: common/models.py:2298 +#: common/models.py:2304 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2303 +#: common/models.py:2309 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2305 +#: common/models.py:2311 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2311 +#: common/models.py:2317 msgid "Search Locations" msgstr "" -#: common/models.py:2312 +#: common/models.py:2318 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2317 +#: common/models.py:2323 msgid "Search Companies" msgstr "" -#: common/models.py:2318 +#: common/models.py:2324 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2323 +#: common/models.py:2329 msgid "Search Build Orders" msgstr "" -#: common/models.py:2324 +#: common/models.py:2330 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2329 +#: common/models.py:2335 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2330 +#: common/models.py:2336 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2335 +#: common/models.py:2341 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2337 +#: common/models.py:2343 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2343 +#: common/models.py:2349 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2344 +#: common/models.py:2350 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2349 +#: common/models.py:2355 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2351 +#: common/models.py:2357 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2357 +#: common/models.py:2363 msgid "Search Return Orders" msgstr "" -#: common/models.py:2358 +#: common/models.py:2364 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2363 +#: common/models.py:2369 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2365 +#: common/models.py:2371 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2371 +#: common/models.py:2377 msgid "Search Preview Results" msgstr "" -#: common/models.py:2373 +#: common/models.py:2379 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2379 +#: common/models.py:2385 msgid "Regex Search" msgstr "" -#: common/models.py:2380 +#: common/models.py:2386 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2385 +#: common/models.py:2391 msgid "Whole Word Search" msgstr "" -#: common/models.py:2386 +#: common/models.py:2392 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2391 +#: common/models.py:2397 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2392 +#: common/models.py:2398 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2397 +#: common/models.py:2403 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2398 +#: common/models.py:2404 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2403 +#: common/models.py:2409 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2404 +#: common/models.py:2410 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2409 +#: common/models.py:2415 msgid "Date Format" msgstr "" -#: common/models.py:2410 +#: common/models.py:2416 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2423 part/templates/part/detail.html:41 +#: common/models.py:2429 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2424 +#: common/models.py:2430 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2429 part/templates/part/detail.html:62 +#: common/models.py:2435 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2431 +#: common/models.py:2437 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2437 +#: common/models.py:2443 msgid "Table String Length" msgstr "" -#: common/models.py:2439 +#: common/models.py:2445 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2445 +#: common/models.py:2451 msgid "Default part label template" msgstr "" -#: common/models.py:2446 +#: common/models.py:2452 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2451 +#: common/models.py:2457 msgid "Default stock item template" msgstr "" -#: common/models.py:2453 +#: common/models.py:2459 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2459 +#: common/models.py:2465 msgid "Default stock location label template" msgstr "" -#: common/models.py:2461 +#: common/models.py:2467 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2467 +#: common/models.py:2473 msgid "Default build line label template" msgstr "" -#: common/models.py:2469 +#: common/models.py:2475 msgid "The build line label template to be automatically selected" msgstr "" -#: common/models.py:2475 +#: common/models.py:2481 msgid "Receive error reports" msgstr "" -#: common/models.py:2476 +#: common/models.py:2482 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2481 +#: common/models.py:2487 msgid "Last used printing machines" msgstr "" -#: common/models.py:2482 +#: common/models.py:2488 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2525 +#: common/models.py:2531 msgid "Price break quantity" msgstr "" -#: common/models.py:2532 company/serializers.py:496 order/admin.py:42 -#: order/models.py:1333 order/models.py:2243 +#: common/models.py:2538 company/serializers.py:496 order/admin.py:42 +#: order/models.py:1379 order/models.py:2298 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 -#: templates/js/translated/return_order.js:741 +#: templates/js/translated/return_order.js:740 msgid "Price" msgstr "" -#: common/models.py:2533 +#: common/models.py:2539 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2704 common/models.py:2889 +#: common/models.py:2710 common/models.py:2895 msgid "Endpoint" msgstr "" -#: common/models.py:2705 +#: common/models.py:2711 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2715 +#: common/models.py:2721 msgid "Name for this webhook" msgstr "" -#: common/models.py:2719 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1045 -#: plugin/models.py:56 templates/js/translated/company.js:523 +#: common/models.py:2725 company/models.py:160 company/models.py:814 +#: machine/models.py:39 part/admin.py:88 part/models.py:1088 +#: plugin/models.py:65 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:492 @@ -3615,135 +3629,135 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2719 +#: common/models.py:2725 msgid "Is this webhook active" msgstr "" -#: common/models.py:2735 users/models.py:159 +#: common/models.py:2741 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2736 +#: common/models.py:2742 msgid "Token for access" msgstr "" -#: common/models.py:2744 +#: common/models.py:2750 msgid "Secret" msgstr "" -#: common/models.py:2745 +#: common/models.py:2751 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2853 +#: common/models.py:2859 msgid "Message ID" msgstr "" -#: common/models.py:2854 +#: common/models.py:2860 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2862 +#: common/models.py:2868 msgid "Host" msgstr "" -#: common/models.py:2863 +#: common/models.py:2869 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2871 +#: common/models.py:2877 msgid "Header" msgstr "" -#: common/models.py:2872 +#: common/models.py:2878 msgid "Header of this message" msgstr "" -#: common/models.py:2879 +#: common/models.py:2885 msgid "Body" msgstr "" -#: common/models.py:2880 +#: common/models.py:2886 msgid "Body of this message" msgstr "" -#: common/models.py:2890 +#: common/models.py:2896 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2895 +#: common/models.py:2901 msgid "Worked on" msgstr "" -#: common/models.py:2896 +#: common/models.py:2902 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3022 +#: common/models.py:3028 msgid "Id" msgstr "" -#: common/models.py:3024 templates/js/translated/company.js:965 +#: common/models.py:3030 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3028 templates/js/translated/news.js:60 +#: common/models.py:3034 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3030 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3036 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3032 templates/js/translated/news.js:52 +#: common/models.py:3038 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3035 +#: common/models.py:3041 msgid "Read" msgstr "" -#: common/models.py:3035 +#: common/models.py:3041 msgid "Was this news item read?" msgstr "" -#: common/models.py:3052 company/models.py:156 part/models.py:929 +#: common/models.py:3058 company/models.py:156 part/models.py:972 #: 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 +#: report/templates/report/inventree_return_order_report.html:35 #: stock/templates/stock/item_base.html:133 templates/503.html:31 #: templates/hover_image.html:7 templates/hover_image.html:9 #: templates/modals.html:6 msgid "Image" msgstr "" -#: common/models.py:3052 +#: common/models.py:3058 msgid "Image file" msgstr "" -#: common/models.py:3094 +#: common/models.py:3100 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3113 +#: common/models.py:3119 msgid "Unit name" msgstr "" -#: common/models.py:3120 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3126 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3121 +#: common/models.py:3127 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3128 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3134 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3129 +#: common/models.py:3135 msgid "Unit definition" msgstr "" @@ -3930,9 +3944,9 @@ msgid "Contact email address" msgstr "" #: company/models.py:139 company/templates/company/company_base.html:145 -#: order/models.py:331 order/templates/order/order_base.html:203 +#: order/models.py:344 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 -#: order/templates/order/sales_order_base.html:214 +#: order/templates/order/sales_order_base.html:218 msgid "Contact" msgstr "" @@ -3978,7 +3992,7 @@ msgstr "" #: company/models.py:273 company/models.py:382 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:776 +#: company/templates/company/company_base.html:12 stock/api.py:810 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "" @@ -4070,8 +4084,8 @@ msgstr "" msgid "Link to address information (external)" msgstr "" -#: company/models.py:489 company/models.py:792 stock/models.py:751 -#: stock/serializers.py:266 stock/templates/stock/item_base.html:142 +#: company/models.py:489 company/models.py:792 stock/models.py:772 +#: stock/serializers.py:395 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -4082,7 +4096,7 @@ msgstr "" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:515 +#: company/templates/company/supplier_part.html:145 part/serializers.py:530 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4097,13 +4111,13 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:525 +#: company/templates/company/supplier_part.html:153 part/serializers.py:540 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800 -#: templates/js/translated/purchase_order.js:1852 -#: templates/js/translated/purchase_order.js:2054 +#: templates/js/translated/purchase_order.js:1851 +#: templates/js/translated/purchase_order.js:2053 msgid "MPN" msgstr "" @@ -4130,9 +4144,8 @@ msgstr "" msgid "Parameter name" msgstr "" -#: company/models.py:621 -#: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2448 templates/js/translated/company.js:1166 +#: company/models.py:621 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2425 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492 #: templates/js/translated/stock.js:1522 msgid "Value" @@ -4143,10 +4156,10 @@ msgid "Parameter value" msgstr "" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1009 part/models.py:3623 +#: part/admin.py:57 part/models.py:1052 part/models.py:3666 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 -#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370 +#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 msgid "Units" msgstr "" @@ -4167,9 +4180,9 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:465 +#: company/templates/company/supplier_part.html:129 order/models.py:487 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:499 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:514 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4177,7 +4190,7 @@ msgstr "" #: templates/js/translated/company.js:511 #: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1690 +#: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/table_filters.js:804 msgid "Supplier" msgstr "" @@ -4186,7 +4199,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:809 part/serializers.py:510 +#: company/models.py:809 part/serializers.py:525 msgid "Supplier stock keeping unit" msgstr "" @@ -4207,29 +4220,29 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:418 part/models.py:4070 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4113 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 -#: report/templates/report/inventree_slr_report.html:105 -#: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:579 +#: report/templates/report/inventree_purchase_order_report.html:32 +#: report/templates/report/inventree_return_order_report.html:27 +#: report/templates/report/inventree_sales_order_report.html:32 +#: report/templates/report/inventree_stock_location_report.html:105 +#: stock/serializers.py:708 msgid "Note" msgstr "" -#: company/models.py:857 part/models.py:1967 +#: company/models.py:857 part/models.py:2010 msgid "base cost" msgstr "" -#: company/models.py:858 part/models.py:1968 +#: company/models.py:858 part/models.py:2011 msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:782 stock/serializers.py:1350 +#: stock/admin.py:224 stock/models.py:803 stock/serializers.py:1479 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 -#: templates/js/translated/stock.js:2426 +#: templates/js/translated/stock.js:2424 msgid "Packaging" msgstr "" @@ -4242,8 +4255,8 @@ msgstr "" #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 -#: templates/js/translated/purchase_order.js:2085 -#: templates/js/translated/purchase_order.js:2102 +#: templates/js/translated/purchase_order.js:2084 +#: templates/js/translated/purchase_order.js:2101 msgid "Pack Quantity" msgstr "" @@ -4251,7 +4264,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:892 part/models.py:1974 +#: company/models.py:892 part/models.py:2017 msgid "multiple" msgstr "" @@ -4286,7 +4299,7 @@ msgstr "" #: part/templates/part/part_base.html:146 #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 -#: templates/js/translated/model_renderers.js:306 +#: templates/js/translated/model_renderers.js:312 #: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 msgid "Inactive" msgstr "" @@ -4322,11 +4335,11 @@ msgstr "" #: company/templates/company/manufacturer_part.html:51 #: company/templates/company/supplier_part.html:83 #: part/templates/part/part_thumb.html:20 -#: report/templates/report/inventree_build_order_base.html:98 -#: report/templates/report/inventree_po_report_base.html:40 -#: report/templates/report/inventree_so_report_base.html:40 -#: report/templates/report/inventree_test_report_base.html:84 -#: report/templates/report/inventree_test_report_base.html:163 +#: report/templates/report/inventree_build_order_report.html:98 +#: report/templates/report/inventree_purchase_order_report.html:40 +#: report/templates/report/inventree_sales_order_report.html:40 +#: report/templates/report/inventree_test_report.html:84 +#: report/templates/report/inventree_test_report.html:163 msgid "Part image" msgstr "" @@ -4345,16 +4358,16 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:92 order/models.py:910 -#: order/models.py:2010 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:144 stock/models.py:804 -#: stock/models.py:805 stock/serializers.py:1100 +#: company/templates/company/company_base.html:92 order/models.py:941 +#: order/models.py:2065 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:148 stock/models.py:825 +#: stock/models.py:826 stock/serializers.py:1229 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 -#: templates/js/translated/return_order.js:296 -#: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2962 +#: templates/js/translated/return_order.js:295 +#: templates/js/translated/sales_order.js:820 +#: templates/js/translated/stock.js:2959 #: templates/js/translated/table_filters.js:808 msgid "Customer" msgstr "" @@ -4363,10 +4376,10 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:124 order/models.py:341 +#: company/templates/company/company_base.html:124 order/models.py:354 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 -#: order/templates/order/sales_order_base.html:221 +#: order/templates/order/sales_order_base.html:225 msgid "Address" msgstr "" @@ -4375,7 +4388,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:211 -#: part/templates/part/part_base.html:528 +#: part/templates/part/part_base.html:527 msgid "Remove Image" msgstr "" @@ -4384,19 +4397,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:214 -#: part/templates/part/part_base.html:531 +#: part/templates/part/part_base.html:530 #: templates/InvenTree/settings/user.html:88 #: templates/InvenTree/settings/user_sso.html:43 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:243 -#: part/templates/part/part_base.html:560 +#: part/templates/part/part_base.html:559 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:258 -#: part/templates/part/part_base.html:614 +#: part/templates/part/part_base.html:613 msgid "Download Image" msgstr "" @@ -4559,7 +4572,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:821 +#: part/admin.py:122 part/serializers.py:836 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4610,10 +4623,10 @@ msgstr "" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:452 -#: stock/models.py:762 stock/templates/stock/item_base.html:233 +#: stock/models.py:783 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 -#: templates/js/translated/stock.js:2282 +#: templates/js/translated/stock.js:2280 msgid "Supplier Part" msgstr "" @@ -4659,11 +4672,11 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:509 +#: part/bom.py:311 part/serializers.py:524 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1851 -#: templates/js/translated/purchase_order.js:2029 +#: templates/js/translated/purchase_order.js:1850 +#: templates/js/translated/purchase_order.js:2028 msgid "SKU" msgstr "" @@ -4672,12 +4685,12 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:209 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:199 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:206 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:200 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:207 #: templates/js/translated/stock.js:537 msgid "New Stock Item" msgstr "" @@ -4709,16 +4722,16 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:820 part/stocktake.py:223 +#: part/serializers.py:835 part/stocktake.py:223 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:787 stock/serializers.py:951 +#: stock/serializers.py:916 stock/serializers.py:1080 #: stock/templates/stock/location.html:170 -#: stock/templates/stock/location.html:184 -#: stock/templates/stock/location.html:196 +#: stock/templates/stock/location.html:191 +#: stock/templates/stock/location.html:203 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2769 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 #: users/models.py:206 msgid "Stock Items" msgstr "" @@ -4752,126 +4765,48 @@ msgstr "" msgid "New Company" msgstr "" -#: label/api.py:247 -msgid "Error printing label" -msgstr "" - -#: label/models.py:120 -msgid "Label name" -msgstr "" - -#: label/models.py:128 -msgid "Label description" -msgstr "" - -#: label/models.py:136 -msgid "Label" -msgstr "" - -#: label/models.py:137 -msgid "Label template file" -msgstr "" - -#: label/models.py:143 part/models.py:3494 report/models.py:324 -#: templates/js/translated/part.js:2900 -#: templates/js/translated/table_filters.js:481 -msgid "Enabled" -msgstr "" - -#: label/models.py:144 -msgid "Label template is enabled" -msgstr "" - -#: label/models.py:149 -msgid "Width [mm]" -msgstr "" - -#: label/models.py:150 -msgid "Label width, specified in mm" -msgstr "" - -#: label/models.py:156 -msgid "Height [mm]" -msgstr "" - -#: label/models.py:157 -msgid "Label height, specified in mm" -msgstr "" - -#: label/models.py:163 report/models.py:317 -msgid "Filename Pattern" -msgstr "" - -#: label/models.py:164 -msgid "Pattern for generating label filenames" -msgstr "" - -#: label/models.py:313 label/models.py:352 label/models.py:377 -#: label/models.py:412 -msgid "Query filters (comma-separated list of key=value pairs)" -msgstr "" - -#: label/models.py:314 label/models.py:353 label/models.py:378 -#: label/models.py:413 report/models.py:345 report/models.py:496 -#: report/models.py:532 report/models.py:568 report/models.py:750 -msgid "Filters" -msgstr "" - -#: label/templates/label/part/part_label.html:31 -#: label/templates/label/stockitem/qr.html:21 -#: label/templates/label/stocklocation/qr.html:20 -#: templates/allauth_2fa/setup.html:18 -msgid "QR Code" -msgstr "" - -#: label/templates/label/part/part_label_code128.html:31 -#: label/templates/label/stocklocation/qr_and_text.html:31 -#: templates/qr_code.html:7 -msgid "QR code" -msgstr "" - -#: machine/machine_types/label_printer.py:217 +#: machine/machine_types/label_printer.py:218 msgid "Copies" msgstr "" -#: machine/machine_types/label_printer.py:218 +#: machine/machine_types/label_printer.py:219 msgid "Number of copies to print for each label" msgstr "" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:234 msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:234 order/api.py:1515 -#: templates/js/translated/sales_order.js:1042 +#: machine/machine_types/label_printer.py:235 order/api.py:1515 +#: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "" -#: machine/machine_types/label_printer.py:235 +#: machine/machine_types/label_printer.py:236 msgid "Printing" msgstr "" -#: machine/machine_types/label_printer.py:236 +#: machine/machine_types/label_printer.py:237 msgid "No media" msgstr "" -#: machine/machine_types/label_printer.py:237 +#: machine/machine_types/label_printer.py:238 msgid "Disconnected" msgstr "" -#: machine/machine_types/label_printer.py:244 +#: machine/machine_types/label_printer.py:245 msgid "Label Printer" msgstr "" -#: machine/machine_types/label_printer.py:245 +#: machine/machine_types/label_printer.py:246 msgid "Directly print labels for various items." msgstr "" -#: machine/machine_types/label_printer.py:251 +#: machine/machine_types/label_printer.py:252 msgid "Printer Location" msgstr "" -#: machine/machine_types/label_printer.py:252 +#: machine/machine_types/label_printer.py:253 msgid "Scope the printer to a specific location" msgstr "" @@ -4931,19 +4866,19 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:89 -#: report/templates/report/inventree_po_report_base.html:31 -#: report/templates/report/inventree_so_report_base.html:31 +#: order/admin.py:30 order/models.py:90 +#: report/templates/report/inventree_purchase_order_report.html:31 +#: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2126 -#: templates/js/translated/sales_order.js:1847 +#: templates/js/translated/purchase_order.js:2125 +#: templates/js/translated/sales_order.js:1883 msgid "Total Price" msgstr "" #: order/api.py:161 order/serializers.py:91 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 -#: order/templates/order/sales_order_base.html:118 +#: order/templates/order/sales_order_base.html:122 msgid "Order Status" msgstr "" @@ -4956,10 +4891,10 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:437 order/api.py:817 order/models.py:1382 order/models.py:1491 -#: order/models.py:1537 order/models.py:1651 order/models.py:1805 -#: order/models.py:2209 order/models.py:2260 -#: templates/js/translated/sales_order.js:1488 +#: order/api.py:437 order/api.py:817 order/models.py:1428 order/models.py:1537 +#: order/models.py:1583 order/models.py:1697 order/models.py:1851 +#: order/models.py:2264 order/models.py:2315 +#: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" @@ -4971,402 +4906,402 @@ msgstr "" msgid "Order Pending" msgstr "" -#: order/api.py:1509 order/models.py:1383 order/models.py:1492 -#: order/templates/order/order_base.html:9 +#: order/api.py:1509 order/models.py:381 order/models.py:1429 +#: order/models.py:1538 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 -#: report/templates/report/inventree_po_report_base.html:14 -#: stock/templates/stock/item_base.html:176 +#: report/templates/report/inventree_purchase_order_report.html:14 +#: stock/serializers.py:119 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 -#: templates/js/translated/purchase_order.js:1674 -#: templates/js/translated/stock.js:2262 templates/js/translated/stock.js:2910 +#: templates/js/translated/purchase_order.js:1673 +#: templates/js/translated/stock.js:2260 templates/js/translated/stock.js:2907 msgid "Purchase Order" msgstr "" -#: order/api.py:1513 order/models.py:2210 order/models.py:2261 -#: order/templates/order/return_order_base.html:9 +#: order/api.py:1513 order/models.py:2014 order/models.py:2265 +#: order/models.py:2316 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:281 -#: templates/js/translated/stock.js:2944 +#: report/templates/report/inventree_return_order_report.html:13 +#: templates/js/translated/return_order.js:280 +#: templates/js/translated/stock.js:2941 msgid "Return Order" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:96 order/serializers.py:71 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:99 order/serializers.py:72 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:246 +#: order/models.py:248 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:278 +#: order/models.py:291 msgid "Order description (optional)" msgstr "" -#: order/models.py:287 +#: order/models.py:300 msgid "Select project code for this order" msgstr "" -#: order/models.py:291 order/models.py:1288 order/models.py:1704 +#: order/models.py:304 order/models.py:1334 order/models.py:1750 msgid "Link to external page" msgstr "" -#: order/models.py:299 +#: order/models.py:312 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:313 +#: order/models.py:326 msgid "Created By" msgstr "" -#: order/models.py:321 +#: order/models.py:334 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:332 +#: order/models.py:345 msgid "Point of contact for this order" msgstr "" -#: order/models.py:342 +#: order/models.py:355 msgid "Company address for this order" msgstr "" -#: order/models.py:443 order/models.py:899 +#: order/models.py:465 order/models.py:930 msgid "Order reference" msgstr "" -#: order/models.py:451 order/models.py:923 +#: order/models.py:473 order/models.py:954 msgid "Purchase order status" msgstr "" -#: order/models.py:466 +#: order/models.py:488 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:477 order/templates/order/order_base.html:148 -#: templates/js/translated/purchase_order.js:1703 +#: order/models.py:499 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1702 msgid "Supplier Reference" msgstr "" -#: order/models.py:478 +#: order/models.py:500 msgid "Supplier order reference code" msgstr "" -#: order/models.py:487 +#: order/models.py:509 msgid "received by" msgstr "" -#: order/models.py:493 order/models.py:2036 +#: order/models.py:515 order/models.py:2091 msgid "Issue Date" msgstr "" -#: order/models.py:494 order/models.py:2037 +#: order/models.py:516 order/models.py:2092 msgid "Date order was issued" msgstr "" -#: order/models.py:501 order/models.py:2044 +#: order/models.py:523 order/models.py:2099 msgid "Date order was completed" msgstr "" -#: order/models.py:545 +#: order/models.py:567 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:739 +#: order/models.py:761 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:911 +#: order/models.py:942 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:934 order/models.py:2029 +#: order/models.py:965 order/models.py:2084 msgid "Customer Reference " msgstr "" -#: order/models.py:935 order/models.py:2030 +#: order/models.py:966 order/models.py:2085 msgid "Customer order reference code" msgstr "" -#: order/models.py:939 order/models.py:1658 -#: templates/js/translated/sales_order.js:843 -#: templates/js/translated/sales_order.js:1024 +#: order/models.py:970 order/models.py:1704 +#: templates/js/translated/sales_order.js:879 +#: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "" -#: order/models.py:948 +#: order/models.py:979 msgid "shipped by" msgstr "" -#: order/models.py:999 +#: order/models.py:1030 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:1004 +#: order/models.py:1035 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1008 templates/js/translated/sales_order.js:506 +#: order/models.py:1039 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1013 +#: order/models.py:1044 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1260 +#: order/models.py:1306 msgid "Item quantity" msgstr "" -#: order/models.py:1277 +#: order/models.py:1323 msgid "Line item reference" msgstr "" -#: order/models.py:1284 +#: order/models.py:1330 msgid "Line item notes" msgstr "" -#: order/models.py:1296 +#: order/models.py:1342 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1317 +#: order/models.py:1363 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1323 +#: order/models.py:1369 msgid "Context" msgstr "" -#: order/models.py:1324 +#: order/models.py:1370 msgid "Additional context for this line" msgstr "" -#: order/models.py:1334 +#: order/models.py:1380 msgid "Unit price" msgstr "" -#: order/models.py:1367 +#: order/models.py:1413 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1374 +#: order/models.py:1420 msgid "deleted" msgstr "" -#: order/models.py:1402 +#: order/models.py:1448 msgid "Supplier part" msgstr "" -#: order/models.py:1409 order/templates/order/order_base.html:196 +#: order/models.py:1455 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 #: templates/js/translated/purchase_order.js:1306 -#: templates/js/translated/purchase_order.js:2170 -#: templates/js/translated/return_order.js:764 +#: templates/js/translated/purchase_order.js:2169 +#: templates/js/translated/return_order.js:763 #: templates/js/translated/table_filters.js:120 #: templates/js/translated/table_filters.js:602 msgid "Received" msgstr "" -#: order/models.py:1410 +#: order/models.py:1456 msgid "Number of items received" msgstr "" -#: order/models.py:1418 stock/models.py:923 stock/serializers.py:400 +#: order/models.py:1464 stock/models.py:944 stock/serializers.py:529 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2313 +#: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "" -#: order/models.py:1419 +#: order/models.py:1465 msgid "Unit purchase price" msgstr "" -#: order/models.py:1434 +#: order/models.py:1480 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1525 +#: order/models.py:1571 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1530 +#: order/models.py:1576 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1556 part/templates/part/part_pricing.html:107 +#: order/models.py:1602 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1557 +#: order/models.py:1603 msgid "Unit sale price" msgstr "" -#: order/models.py:1567 +#: order/models.py:1613 msgid "Shipped quantity" msgstr "" -#: order/models.py:1659 +#: order/models.py:1705 msgid "Date of shipment" msgstr "" -#: order/models.py:1665 templates/js/translated/sales_order.js:1036 +#: order/models.py:1711 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1666 +#: order/models.py:1712 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1674 +#: order/models.py:1720 msgid "Checked By" msgstr "" -#: order/models.py:1675 +#: order/models.py:1721 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1682 order/models.py:1895 order/serializers.py:1354 -#: order/serializers.py:1464 templates/js/translated/model_renderers.js:448 +#: order/models.py:1728 order/models.py:1941 order/serializers.py:1354 +#: order/serializers.py:1464 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" -#: order/models.py:1683 +#: order/models.py:1729 msgid "Shipment number" msgstr "" -#: order/models.py:1691 +#: order/models.py:1737 msgid "Tracking Number" msgstr "" -#: order/models.py:1692 +#: order/models.py:1738 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1699 +#: order/models.py:1745 msgid "Invoice Number" msgstr "" -#: order/models.py:1700 +#: order/models.py:1746 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1720 +#: order/models.py:1766 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1723 +#: order/models.py:1769 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1841 order/models.py:1843 +#: order/models.py:1887 order/models.py:1889 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1850 +#: order/models.py:1896 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1853 +#: order/models.py:1899 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1856 +#: order/models.py:1902 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1875 order/serializers.py:1231 +#: order/models.py:1921 order/serializers.py:1231 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1878 +#: order/models.py:1924 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1879 plugin/base/barcodes/api.py:481 +#: order/models.py:1925 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1887 +#: order/models.py:1933 msgid "Line" msgstr "" -#: order/models.py:1896 +#: order/models.py:1942 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1909 order/models.py:2217 -#: templates/js/translated/return_order.js:722 +#: order/models.py:1955 order/models.py:2272 +#: templates/js/translated/return_order.js:721 msgid "Item" msgstr "" -#: order/models.py:1910 +#: order/models.py:1956 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1919 +#: order/models.py:1965 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1999 +#: order/models.py:2054 msgid "Return Order reference" msgstr "" -#: order/models.py:2011 +#: order/models.py:2066 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2023 +#: order/models.py:2078 msgid "Return order status" msgstr "" -#: order/models.py:2202 +#: order/models.py:2257 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2218 +#: order/models.py:2273 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2224 +#: order/models.py:2279 msgid "Received Date" msgstr "" -#: order/models.py:2225 +#: order/models.py:2280 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2236 templates/js/translated/return_order.js:733 +#: order/models.py:2291 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2237 +#: order/models.py:2292 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2244 +#: order/models.py:2299 msgid "Cost associated with return or repair for this line item" msgstr "" #: order/serializers.py:80 order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 -#: report/templates/report/inventree_po_report_base.html:22 -#: report/templates/report/inventree_return_order_report_base.html:19 -#: report/templates/report/inventree_so_report_base.html:22 +#: report/templates/report/inventree_purchase_order_report.html:22 +#: report/templates/report/inventree_return_order_report.html:19 +#: report/templates/report/inventree_sales_order_report.html:22 msgid "Line Items" msgstr "" @@ -5596,7 +5531,7 @@ msgstr "" #: order/templates/order/order_base.html:84 #: order/templates/order/return_order_base.html:87 -#: order/templates/order/sales_order_base.html:93 +#: order/templates/order/sales_order_base.html:97 msgid "Complete Order" msgstr "" @@ -5606,13 +5541,13 @@ msgstr "" #: order/templates/order/order_base.html:106 #: order/templates/order/return_order_base.html:101 -#: order/templates/order/sales_order_base.html:106 +#: order/templates/order/sales_order_base.html:110 msgid "Order Reference" msgstr "" #: order/templates/order/order_base.html:111 #: order/templates/order/return_order_base.html:106 -#: order/templates/order/sales_order_base.html:111 +#: order/templates/order/sales_order_base.html:115 msgid "Order Description" msgstr "" @@ -5621,19 +5556,19 @@ msgid "No suppplier information available" msgstr "" #: order/templates/order/order_base.html:154 -#: order/templates/order/sales_order_base.html:157 +#: order/templates/order/sales_order_base.html:161 msgid "Completed Line Items" msgstr "" #: order/templates/order/order_base.html:160 -#: order/templates/order/sales_order_base.html:163 -#: order/templates/order/sales_order_base.html:173 +#: order/templates/order/sales_order_base.html:167 +#: order/templates/order/sales_order_base.html:177 msgid "Incomplete" msgstr "" #: order/templates/order/order_base.html:179 #: order/templates/order/return_order_base.html:157 -#: report/templates/report/inventree_build_order_base.html:121 +#: report/templates/report/inventree_build_order_report.html:121 msgid "Issued" msgstr "" @@ -5643,15 +5578,15 @@ msgstr "" #: order/templates/order/order_base.html:228 #: order/templates/order/return_order_base.html:199 -#: order/templates/order/sales_order_base.html:239 +#: order/templates/order/sales_order_base.html:243 msgid "Total cost could not be calculated" msgstr "" -#: order/templates/order/order_base.html:318 +#: order/templates/order/order_base.html:314 msgid "Purchase Order QR Code" msgstr "" -#: order/templates/order/order_base.html:330 +#: order/templates/order/order_base.html:326 msgid "Link Barcode to Purchase Order" msgstr "" @@ -5708,8 +5643,8 @@ msgstr "" #: templates/js/translated/build.js:1629 #: templates/js/translated/purchase_order.js:696 #: templates/js/translated/purchase_order.js:1236 -#: templates/js/translated/return_order.js:506 -#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/return_order.js:505 +#: templates/js/translated/sales_order.js:1145 #: templates/js/translated/stock.js:714 templates/js/translated/stock.js:883 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -5763,7 +5698,7 @@ msgstr "" #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 #: templates/js/translated/purchase_order.js:414 -#: templates/js/translated/return_order.js:459 +#: templates/js/translated/return_order.js:458 #: templates/js/translated/sales_order.js:237 msgid "Add Line Item" msgstr "" @@ -5812,30 +5747,30 @@ msgid "Print packing list" msgstr "" #: order/templates/order/return_order_base.html:138 -#: order/templates/order/sales_order_base.html:151 -#: templates/js/translated/return_order.js:309 -#: templates/js/translated/sales_order.js:797 +#: order/templates/order/sales_order_base.html:155 +#: templates/js/translated/return_order.js:308 +#: templates/js/translated/sales_order.js:833 msgid "Customer Reference" msgstr "" #: order/templates/order/return_order_base.html:195 -#: order/templates/order/sales_order_base.html:235 +#: order/templates/order/sales_order_base.html:239 #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1072 -#: templates/js/translated/purchase_order.js:1753 -#: templates/js/translated/return_order.js:381 -#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/purchase_order.js:1752 +#: templates/js/translated/return_order.js:380 +#: templates/js/translated/sales_order.js:891 msgid "Total Cost" msgstr "" -#: order/templates/order/return_order_base.html:263 +#: order/templates/order/return_order_base.html:259 msgid "Return Order QR Code" msgstr "" -#: order/templates/order/return_order_base.html:275 +#: order/templates/order/return_order_base.html:271 msgid "Link Barcode to Return Order" msgstr "" @@ -5852,26 +5787,31 @@ msgstr "" msgid "Ship Items" msgstr "" +#: order/templates/order/sales_order_base.html:91 #: order/templates/order/sales_order_base.html:92 -#: templates/js/translated/sales_order.js:484 +msgid "Mark As Shipped" +msgstr "" + +#: order/templates/order/sales_order_base.html:96 +#: templates/js/translated/sales_order.js:536 msgid "Complete Sales Order" msgstr "" -#: order/templates/order/sales_order_base.html:131 +#: order/templates/order/sales_order_base.html:135 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:169 +#: order/templates/order/sales_order_base.html:173 #: order/templates/order/sales_order_detail.html:99 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "" -#: order/templates/order/sales_order_base.html:312 +#: order/templates/order/sales_order_base.html:321 msgid "Sales Order QR Code" msgstr "" -#: order/templates/order/sales_order_base.html:324 +#: order/templates/order/sales_order_base.html:333 msgid "Link Barcode to Sales Order" msgstr "" @@ -5915,12 +5855,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:404 part/models.py:3921 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:406 part/models.py:3964 part/stocktake.py:218 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:411 part/models.py:3922 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:413 part/models.py:3965 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -5929,20 +5869,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:904 part/templates/part/part_base.html:269 -#: report/templates/report/inventree_slr_report.html:103 -#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2341 -#: templates/js/translated/stock.js:2038 +#: part/admin.py:48 part/models.py:947 part/templates/part/part_base.html:269 +#: report/templates/report/inventree_stock_location_report.html:103 +#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 +#: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:913 part/templates/part/part_base.html:277 -#: report/models.py:195 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2347 +#: part/admin.py:50 part/models.py:956 part/templates/part/part_base.html:277 +#: report/models.py:161 templates/js/translated/part.js:1231 +#: templates/js/translated/part.js:2346 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:317 part/models.py:886 +#: part/admin.py:53 part/admin.py:319 part/models.py:929 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5951,15 +5891,15 @@ msgstr "" msgid "Part Image" msgstr "" -#: part/admin.py:63 part/admin.py:300 part/stocktake.py:221 +#: part/admin.py:63 part/admin.py:302 part/stocktake.py:221 msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:302 part/stocktake.py:222 +#: part/admin.py:67 part/admin.py:304 part/stocktake.py:222 msgid "Category Name" msgstr "" -#: part/admin.py:71 part/admin.py:314 +#: part/admin.py:71 part/admin.py:316 msgid "Default Location ID" msgstr "" @@ -5967,11 +5907,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:872 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:915 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1000 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1043 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5984,160 +5924,164 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3080 part/models.py:3094 +#: part/admin.py:155 part/models.py:3123 part/models.py:3137 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3087 part/models.py:3101 +#: part/admin.py:158 part/models.py:3130 part/models.py:3144 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" -#: part/admin.py:306 part/admin.py:393 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:211 msgid "Parent ID" msgstr "" -#: part/admin.py:310 part/admin.py:400 stock/admin.py:62 +#: part/admin.py:312 part/admin.py:402 stock/admin.py:62 msgid "Parent Name" msgstr "" -#: part/admin.py:318 part/templates/part/category.html:88 +#: part/admin.py:320 part/templates/part/category.html:88 #: part/templates/part/category.html:101 msgid "Category Path" msgstr "" -#: part/admin.py:323 part/models.py:391 part/serializers.py:117 +#: part/admin.py:325 part/models.py:393 part/serializers.py:117 #: part/serializers.py:272 part/serializers.py:391 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2803 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "" -#: part/admin.py:384 +#: part/admin.py:386 msgid "BOM Level" msgstr "" -#: part/admin.py:387 +#: part/admin.py:389 msgid "BOM Item ID" msgstr "" -#: part/admin.py:397 +#: part/admin.py:399 msgid "Parent IPN" msgstr "" -#: part/admin.py:408 part/models.py:3923 +#: part/admin.py:410 part/models.py:3966 msgid "Part IPN" msgstr "" -#: part/admin.py:421 part/serializers.py:1261 +#: part/admin.py:423 part/serializers.py:1276 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:426 part/serializers.py:1276 +#: part/admin.py:428 part/serializers.py:1291 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:119 +#: part/api.py:112 msgid "Starred" msgstr "" -#: part/api.py:121 +#: part/api.py:114 msgid "Filter by starred categories" msgstr "" -#: part/api.py:138 stock/api.py:284 +#: part/api.py:131 stock/api.py:318 msgid "Depth" msgstr "" -#: part/api.py:138 +#: part/api.py:131 msgid "Filter by category depth" msgstr "" -#: part/api.py:156 stock/api.py:302 +#: part/api.py:149 stock/api.py:336 msgid "Cascade" msgstr "" -#: part/api.py:158 +#: part/api.py:151 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:178 +#: part/api.py:171 msgid "Parent" msgstr "" -#: part/api.py:180 +#: part/api.py:173 msgid "Filter by parent category" msgstr "" -#: part/api.py:213 +#: part/api.py:206 msgid "Exclude Tree" msgstr "" -#: part/api.py:215 +#: part/api.py:208 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:461 +#: part/api.py:455 msgid "Has Results" msgstr "" -#: part/api.py:628 +#: part/api.py:622 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:646 +#: part/api.py:640 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:662 +#: part/api.py:656 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:746 +#: part/api.py:740 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:893 +#: part/api.py:887 msgid "Valid" msgstr "" -#: part/api.py:894 +#: part/api.py:888 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:900 +#: part/api.py:894 msgid "This option must be selected" msgstr "" -#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866 -#: part/serializers.py:406 part/serializers.py:1117 -#: part/templates/part/part_base.html:260 stock/api.py:745 +#: part/api.py:1111 +msgid "BOM Valid" +msgstr "" + +#: part/api.py:1515 part/models.py:939 part/models.py:3429 part/models.py:3909 +#: part/serializers.py:406 part/serializers.py:1132 +#: part/templates/part/part_base.html:260 stock/api.py:779 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2377 +#: templates/js/translated/part.js:2376 msgid "Category" msgstr "" -#: part/api.py:1849 +#: part/api.py:1803 msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:101 part/models.py:939 +#: part/bom.py:170 part/models.py:102 part/models.py:982 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:822 +#: part/bom.py:171 part/serializers.py:837 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6146,698 +6090,712 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:82 part/models.py:3867 part/templates/part/category.html:16 +#: part/models.py:83 part/models.py:3910 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:83 part/templates/part/category.html:136 +#: part/models.py:84 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "" -#: part/models.py:102 +#: part/models.py:103 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:107 stock/models.py:165 templates/js/translated/part.js:2810 -#: templates/js/translated/stock.js:2775 +#: part/models.py:108 stock/models.py:177 templates/js/translated/part.js:2809 +#: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "" -#: part/models.py:109 +#: part/models.py:110 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:118 +#: part/models.py:119 msgid "Default keywords" msgstr "" -#: part/models.py:119 +#: part/models.py:120 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:125 stock/models.py:89 stock/models.py:148 +#: part/models.py:126 stock/models.py:89 stock/models.py:160 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:126 stock/models.py:149 +#: part/models.py:127 stock/models.py:161 msgid "Icon (optional)" msgstr "" -#: part/models.py:148 +#: part/models.py:149 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:484 +#: part/models.py:482 +msgid "Cannot delete this part as it is still active" +msgstr "" + +#: part/models.py:489 +msgid "Cannot delete this part as it is used in an assembly" +msgstr "" + +#: part/models.py:527 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:532 part/models.py:539 +#: part/models.py:575 part/models.py:582 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:551 +#: part/models.py:594 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:616 +#: part/models.py:659 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:696 +#: part/models.py:739 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:801 +#: part/models.py:844 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:811 +#: part/models.py:854 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:826 +#: part/models.py:869 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:855 part/models.py:3922 +#: part/models.py:898 part/models.py:3965 msgid "Part name" msgstr "" -#: part/models.py:860 +#: part/models.py:903 msgid "Is Template" msgstr "" -#: part/models.py:861 +#: part/models.py:904 msgid "Is this part a template part?" msgstr "" -#: part/models.py:871 +#: part/models.py:914 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:879 +#: part/models.py:922 msgid "Part description (optional)" msgstr "" -#: part/models.py:887 +#: part/models.py:930 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:897 +#: part/models.py:940 msgid "Part category" msgstr "" -#: part/models.py:905 +#: part/models.py:948 msgid "Internal Part Number" msgstr "" -#: part/models.py:912 +#: part/models.py:955 msgid "Part revision or version number" msgstr "" -#: part/models.py:937 +#: part/models.py:980 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:983 part/templates/part/part_base.html:376 +#: part/models.py:1026 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:984 +#: part/models.py:1027 msgid "Default supplier part" msgstr "" -#: part/models.py:991 +#: part/models.py:1034 msgid "Default Expiry" msgstr "" -#: part/models.py:992 +#: part/models.py:1035 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1001 +#: part/models.py:1044 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1010 +#: part/models.py:1053 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1017 +#: part/models.py:1060 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1023 +#: part/models.py:1066 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1029 +#: part/models.py:1072 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1035 +#: part/models.py:1078 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1041 +#: part/models.py:1084 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1045 +#: part/models.py:1088 msgid "Is this part active?" msgstr "" -#: part/models.py:1051 +#: part/models.py:1094 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1057 +#: part/models.py:1100 msgid "BOM checksum" msgstr "" -#: part/models.py:1058 +#: part/models.py:1101 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1066 +#: part/models.py:1109 msgid "BOM checked by" msgstr "" -#: part/models.py:1071 +#: part/models.py:1114 msgid "BOM checked date" msgstr "" -#: part/models.py:1087 +#: part/models.py:1130 msgid "Creation User" msgstr "" -#: part/models.py:1097 +#: part/models.py:1140 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1102 part/templates/part/part_base.html:339 +#: part/models.py:1145 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 -#: templates/js/translated/part.js:2471 +#: templates/js/translated/part.js:2470 msgid "Last Stocktake" msgstr "" -#: part/models.py:1975 +#: part/models.py:2018 msgid "Sell multiple" msgstr "" -#: part/models.py:2994 +#: part/models.py:3037 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3010 +#: part/models.py:3053 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3011 +#: part/models.py:3054 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3017 +#: part/models.py:3060 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3018 +#: part/models.py:3061 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3024 +#: part/models.py:3067 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3025 +#: part/models.py:3068 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3031 +#: part/models.py:3074 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3032 +#: part/models.py:3075 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3038 +#: part/models.py:3081 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3039 +#: part/models.py:3082 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3045 +#: part/models.py:3088 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3046 +#: part/models.py:3089 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3052 +#: part/models.py:3095 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3053 +#: part/models.py:3096 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3059 +#: part/models.py:3102 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3060 +#: part/models.py:3103 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3066 +#: part/models.py:3109 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3067 +#: part/models.py:3110 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3073 +#: part/models.py:3116 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3074 +#: part/models.py:3117 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3081 +#: part/models.py:3124 msgid "Override minimum cost" msgstr "" -#: part/models.py:3088 +#: part/models.py:3131 msgid "Override maximum cost" msgstr "" -#: part/models.py:3095 +#: part/models.py:3138 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3102 +#: part/models.py:3145 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3108 +#: part/models.py:3151 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3109 +#: part/models.py:3152 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3115 +#: part/models.py:3158 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3116 +#: part/models.py:3159 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3122 +#: part/models.py:3165 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3123 +#: part/models.py:3166 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3129 +#: part/models.py:3172 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3130 +#: part/models.py:3173 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3149 +#: part/models.py:3192 msgid "Part for stocktake" msgstr "" -#: part/models.py:3154 +#: part/models.py:3197 msgid "Item Count" msgstr "" -#: part/models.py:3155 +#: part/models.py:3198 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3163 +#: part/models.py:3206 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3167 part/models.py:3250 +#: part/models.py:3210 part/models.py:3293 #: part/templates/part/part_scheduling.html:13 -#: report/templates/report/inventree_test_report_base.html:106 +#: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 #: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 -#: templates/js/translated/purchase_order.js:1732 -#: templates/js/translated/stock.js:2824 +#: templates/js/translated/purchase_order.js:1731 +#: templates/js/translated/stock.js:2821 msgid "Date" msgstr "" -#: part/models.py:3168 +#: part/models.py:3211 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3176 +#: part/models.py:3219 msgid "Additional notes" msgstr "" -#: part/models.py:3186 +#: part/models.py:3229 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3192 +#: part/models.py:3235 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3193 +#: part/models.py:3236 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3199 +#: part/models.py:3242 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3200 +#: part/models.py:3243 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3256 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3299 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3257 +#: part/models.py:3300 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3262 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3305 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3263 +#: part/models.py:3306 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3273 +#: part/models.py:3316 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3435 +#: part/models.py:3478 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3446 +#: part/models.py:3489 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3457 +#: part/models.py:3500 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3474 templates/js/translated/part.js:2879 +#: part/models.py:3517 templates/js/translated/part.js:2878 msgid "Test Name" msgstr "" -#: part/models.py:3475 +#: part/models.py:3518 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3481 +#: part/models.py:3524 msgid "Test Key" msgstr "" -#: part/models.py:3482 +#: part/models.py:3525 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3489 +#: part/models.py:3532 msgid "Test Description" msgstr "" -#: part/models.py:3490 +#: part/models.py:3533 msgid "Enter description for this test" msgstr "" -#: part/models.py:3494 +#: part/models.py:3537 report/models.py:208 +#: templates/js/translated/part.js:2899 +#: templates/js/translated/table_filters.js:481 +msgid "Enabled" +msgstr "" + +#: part/models.py:3537 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3499 templates/js/translated/part.js:2908 +#: part/models.py:3542 templates/js/translated/part.js:2907 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3500 +#: part/models.py:3543 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3505 templates/js/translated/part.js:2916 +#: part/models.py:3548 templates/js/translated/part.js:2915 msgid "Requires Value" msgstr "" -#: part/models.py:3506 +#: part/models.py:3549 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3511 templates/js/translated/part.js:2923 +#: part/models.py:3554 templates/js/translated/part.js:2922 msgid "Requires Attachment" msgstr "" -#: part/models.py:3513 +#: part/models.py:3556 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3560 +#: part/models.py:3603 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3565 +#: part/models.py:3608 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3585 +#: part/models.py:3628 msgid "Choices must be unique" msgstr "" -#: part/models.py:3602 +#: part/models.py:3645 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3617 +#: part/models.py:3660 msgid "Parameter Name" msgstr "" -#: part/models.py:3624 +#: part/models.py:3667 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3632 +#: part/models.py:3675 msgid "Parameter description" msgstr "" -#: part/models.py:3638 templates/js/translated/part.js:1627 +#: part/models.py:3681 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3639 +#: part/models.py:3682 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3644 templates/js/translated/part.js:1636 +#: part/models.py:3687 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3645 +#: part/models.py:3688 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3722 +#: part/models.py:3765 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3765 +#: part/models.py:3808 msgid "Parent Part" msgstr "" -#: part/models.py:3773 part/models.py:3874 part/models.py:3875 +#: part/models.py:3816 part/models.py:3917 part/models.py:3918 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3778 +#: part/models.py:3821 msgid "Data" msgstr "" -#: part/models.py:3779 +#: part/models.py:3822 msgid "Parameter Value" msgstr "" -#: part/models.py:3881 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3924 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3882 +#: part/models.py:3925 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3920 +#: part/models.py:3963 msgid "Part ID or part name" msgstr "" -#: part/models.py:3921 +#: part/models.py:3964 msgid "Unique part ID value" msgstr "" -#: part/models.py:3923 +#: part/models.py:3966 msgid "Part IPN value" msgstr "" -#: part/models.py:3924 +#: part/models.py:3967 msgid "Level" msgstr "" -#: part/models.py:3924 +#: part/models.py:3967 msgid "BOM level" msgstr "" -#: part/models.py:4014 +#: part/models.py:4057 msgid "Select parent part" msgstr "" -#: part/models.py:4024 +#: part/models.py:4067 msgid "Sub part" msgstr "" -#: part/models.py:4025 +#: part/models.py:4068 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4036 +#: part/models.py:4079 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4042 +#: part/models.py:4085 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4048 +#: part/models.py:4091 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4055 part/templates/part/upload_bom.html:55 +#: part/models.py:4098 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4056 +#: part/models.py:4099 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4063 +#: part/models.py:4106 msgid "BOM item reference" msgstr "" -#: part/models.py:4071 +#: part/models.py:4114 msgid "BOM item notes" msgstr "" -#: part/models.py:4077 +#: part/models.py:4120 msgid "Checksum" msgstr "" -#: part/models.py:4078 +#: part/models.py:4121 msgid "BOM line checksum" msgstr "" -#: part/models.py:4083 templates/js/translated/table_filters.js:174 +#: part/models.py:4126 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4084 +#: part/models.py:4127 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4089 part/templates/part/upload_bom.html:57 +#: part/models.py:4132 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4090 +#: part/models.py:4133 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4095 part/templates/part/upload_bom.html:56 +#: part/models.py:4138 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4096 +#: part/models.py:4139 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4181 stock/models.py:647 +#: part/models.py:4224 stock/models.py:668 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4191 part/models.py:4193 +#: part/models.py:4234 part/models.py:4236 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4333 +#: part/models.py:4376 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4354 +#: part/models.py:4397 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4367 +#: part/models.py:4410 msgid "Parent BOM item" msgstr "" -#: part/models.py:4375 +#: part/models.py:4418 msgid "Substitute part" msgstr "" -#: part/models.py:4391 +#: part/models.py:4434 msgid "Part 1" msgstr "" -#: part/models.py:4399 +#: part/models.py:4442 msgid "Part 2" msgstr "" -#: part/models.py:4400 +#: part/models.py:4443 msgid "Select Related Part" msgstr "" -#: part/models.py:4419 +#: part/models.py:4462 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4424 +#: part/models.py:4467 msgid "Duplicate relationship already exists" msgstr "" @@ -6855,7 +6813,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:406 +#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:535 msgid "Purchase currency of this stock item" msgstr "" @@ -6871,299 +6829,299 @@ msgstr "" msgid "Select category" msgstr "" -#: part/serializers.py:437 +#: part/serializers.py:442 msgid "Original Part" msgstr "" -#: part/serializers.py:438 +#: part/serializers.py:443 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:448 msgid "Copy Image" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:449 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:450 part/templates/part/detail.html:277 +#: part/serializers.py:455 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:451 +#: part/serializers.py:456 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:462 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:458 +#: part/serializers.py:463 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:464 +#: part/serializers.py:469 msgid "Copy Notes" msgstr "" -#: part/serializers.py:465 +#: part/serializers.py:470 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:478 +#: part/serializers.py:488 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:490 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:487 +#: part/serializers.py:497 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:488 +#: part/serializers.py:498 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:500 +#: part/serializers.py:515 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:531 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:526 +#: part/serializers.py:541 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:533 +#: part/serializers.py:548 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:542 +#: part/serializers.py:557 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:553 +#: part/serializers.py:568 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:560 +#: part/serializers.py:575 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:823 +#: part/serializers.py:838 msgid "External Stock" msgstr "" -#: part/serializers.py:825 +#: part/serializers.py:840 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:828 +#: part/serializers.py:843 msgid "Variant Stock" msgstr "" -#: part/serializers.py:856 part/templates/part/copy_part.html:9 +#: part/serializers.py:871 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:857 +#: part/serializers.py:872 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:863 templates/js/translated/part.js:102 +#: part/serializers.py:878 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:864 +#: part/serializers.py:879 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:870 +#: part/serializers.py:885 msgid "Supplier Information" msgstr "" -#: part/serializers.py:871 +#: part/serializers.py:886 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:879 +#: part/serializers.py:894 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:880 +#: part/serializers.py:895 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:885 +#: part/serializers.py:900 msgid "Existing Image" msgstr "" -#: part/serializers.py:886 +#: part/serializers.py:901 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:918 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1109 +#: part/serializers.py:1124 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1119 +#: part/serializers.py:1134 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1129 +#: part/serializers.py:1144 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1135 +#: part/serializers.py:1150 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1136 +#: part/serializers.py:1151 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1141 +#: part/serializers.py:1156 msgid "Generate Report" msgstr "" -#: part/serializers.py:1142 +#: part/serializers.py:1157 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1147 +#: part/serializers.py:1162 msgid "Update Parts" msgstr "" -#: part/serializers.py:1148 +#: part/serializers.py:1163 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1156 +#: part/serializers.py:1171 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1262 +#: part/serializers.py:1277 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1269 +#: part/serializers.py:1284 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1277 +#: part/serializers.py:1292 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1284 +#: part/serializers.py:1299 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1313 +#: part/serializers.py:1328 msgid "Update" msgstr "" -#: part/serializers.py:1314 +#: part/serializers.py:1329 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1337 +#: part/serializers.py:1352 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1344 +#: part/serializers.py:1359 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1347 +#: part/serializers.py:1362 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1714 +#: part/serializers.py:1729 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1722 +#: part/serializers.py:1737 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1723 +#: part/serializers.py:1738 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1728 +#: part/serializers.py:1743 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1729 +#: part/serializers.py:1744 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1734 +#: part/serializers.py:1749 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1735 +#: part/serializers.py:1750 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1755 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1756 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1775 +#: part/serializers.py:1790 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1776 +#: part/serializers.py:1791 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1806 +#: part/serializers.py:1821 msgid "No part column specified" msgstr "" -#: part/serializers.py:1850 +#: part/serializers.py:1865 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1853 +#: part/serializers.py:1868 msgid "No matching part found" msgstr "" -#: part/serializers.py:1856 +#: part/serializers.py:1871 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1865 +#: part/serializers.py:1880 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1888 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1894 +#: part/serializers.py:1909 msgid "At least one BOM item is required" msgstr "" #: part/stocktake.py:224 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:2085 +#: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" @@ -7315,7 +7273,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2218 users/models.py:204 +#: templates/js/translated/stock.js:2216 users/models.py:204 msgid "Stocktake" msgstr "" @@ -7413,15 +7371,15 @@ msgstr "" msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:659 +#: part/templates/part/detail.html:655 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:667 +#: part/templates/part/detail.html:663 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:752 +#: part/templates/part/detail.html:748 msgid "Add Test Result Template" msgstr "" @@ -7480,7 +7438,7 @@ msgstr "" #: part/templates/part/part_base.html:52 #: stock/templates/stock/item_base.html:62 -#: stock/templates/stock/location.html:74 +#: stock/templates/stock/location.html:74 templates/js/translated/label.js:142 msgid "Print Label" msgstr "" @@ -7502,7 +7460,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2293 +#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2292 msgid "Part actions" msgstr "" @@ -7551,7 +7509,7 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:163 -#: part/templates/part/part_base.html:682 +#: part/templates/part/part_base.html:681 msgid "Show Part Details" msgstr "" @@ -7574,7 +7532,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2444 +#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2443 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7597,19 +7555,19 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:512 +#: part/templates/part/part_base.html:511 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:529 +#: part/templates/part/part_base.html:528 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:580 +#: part/templates/part/part_base.html:579 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:676 +#: part/templates/part/part_base.html:675 msgid "Hide Part Details" msgstr "" @@ -7668,8 +7626,8 @@ msgstr "" #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 -#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 -#: templates/js/translated/stock.js:2072 templates/navbar.html:31 +#: templates/js/translated/part.js:2391 templates/js/translated/stock.js:1059 +#: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7715,7 +7673,7 @@ msgstr "" #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 -#: templates/js/translated/stock.js:2248 +#: templates/js/translated/stock.js:2246 msgid "Last Updated" msgstr "" @@ -7787,7 +7745,7 @@ msgid "Update Pricing" msgstr "" #: part/templates/part/stock_count.html:7 -#: templates/js/translated/model_renderers.js:221 +#: templates/js/translated/model_renderers.js:227 #: templates/js/translated/part.js:704 templates/js/translated/part.js:2140 #: templates/js/translated/part.js:2142 msgid "No Stock" @@ -7867,7 +7825,7 @@ msgstr "" msgid "Part Pricing" msgstr "" -#: plugin/api.py:168 +#: plugin/api.py:170 msgid "Plugin cannot be deleted as it is currently active" msgstr "" @@ -7934,7 +7892,7 @@ msgid "Stock item does not match line item" msgstr "" #: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2589 -#: templates/js/translated/sales_order.js:1917 +#: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "" @@ -8028,22 +7986,18 @@ msgstr "" msgid "Quantity to allocate" msgstr "" -#: plugin/base/label/label.py:39 +#: plugin/base/label/label.py:39 templates/js/translated/label.js:154 msgid "Label printing failed" msgstr "" -#: plugin/base/label/mixins.py:63 +#: plugin/base/label/mixins.py:56 msgid "Error rendering label to PDF" msgstr "" -#: plugin/base/label/mixins.py:76 +#: plugin/base/label/mixins.py:70 msgid "Error rendering label to HTML" msgstr "" -#: plugin/base/label/mixins.py:111 -msgid "Error rendering label to PNG" -msgstr "" - #: plugin/builtin/barcodes/inventree_barcode.py:25 msgid "InvenTree Barcodes" msgstr "" @@ -8055,7 +8009,7 @@ msgstr "" #: plugin/builtin/barcodes/inventree_barcode.py:28 #: plugin/builtin/integration/core_notifications.py:35 #: plugin/builtin/integration/currency_exchange.py:21 -#: plugin/builtin/labels/inventree_label.py:23 +#: plugin/builtin/labels/inventree_label.py:22 #: plugin/builtin/labels/inventree_machine.py:64 #: plugin/builtin/labels/label_sheet.py:63 #: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 @@ -8109,19 +8063,19 @@ msgstr "" msgid "Default currency exchange integration" msgstr "" -#: plugin/builtin/labels/inventree_label.py:20 +#: plugin/builtin/labels/inventree_label.py:19 msgid "InvenTree PDF label printer" msgstr "" -#: plugin/builtin/labels/inventree_label.py:21 +#: plugin/builtin/labels/inventree_label.py:20 msgid "Provides native support for printing PDF labels" msgstr "" -#: plugin/builtin/labels/inventree_label.py:29 +#: plugin/builtin/labels/inventree_label.py:28 msgid "Debug mode" msgstr "" -#: plugin/builtin/labels/inventree_label.py:30 +#: plugin/builtin/labels/inventree_label.py:29 msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "" @@ -8133,11 +8087,11 @@ msgstr "" msgid "Provides support for printing using a machine" msgstr "" -#: plugin/builtin/labels/inventree_machine.py:150 +#: plugin/builtin/labels/inventree_machine.py:151 msgid "last used" msgstr "" -#: plugin/builtin/labels/inventree_machine.py:167 +#: plugin/builtin/labels/inventree_machine.py:168 msgid "Options" msgstr "" @@ -8161,7 +8115,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:47 report/models.py:209 +#: plugin/builtin/labels/label_sheet.py:47 report/models.py:308 msgid "Landscape" msgstr "" @@ -8177,11 +8131,11 @@ msgstr "" msgid "Arrays multiple labels onto a single sheet" msgstr "" -#: plugin/builtin/labels/label_sheet.py:94 +#: plugin/builtin/labels/label_sheet.py:99 msgid "Label is too large for page size" msgstr "" -#: plugin/builtin/labels/label_sheet.py:128 +#: plugin/builtin/labels/label_sheet.py:133 msgid "No labels were generated" msgstr "" @@ -8274,61 +8228,62 @@ msgstr "" msgid "Uninstalled plugin successfully" msgstr "" -#: plugin/models.py:30 +#: plugin/models.py:35 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:31 +#: plugin/models.py:36 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:34 users/models.py:100 +#: plugin/models.py:42 users/models.py:100 msgid "Key" msgstr "" -#: plugin/models.py:34 +#: plugin/models.py:43 msgid "Key of plugin" msgstr "" -#: plugin/models.py:42 +#: plugin/models.py:51 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:49 plugin/serializers.py:90 +#: plugin/models.py:58 plugin/serializers.py:90 msgid "Package Name" msgstr "" -#: plugin/models.py:51 +#: plugin/models.py:60 msgid "Name of the installed package, if the plugin was installed via PIP" msgstr "" -#: plugin/models.py:56 +#: plugin/models.py:65 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:147 templates/js/translated/table_filters.js:370 +#: plugin/models.py:156 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "" -#: plugin/models.py:156 +#: plugin/models.py:165 msgid "Sample plugin" msgstr "" -#: plugin/models.py:164 +#: plugin/models.py:173 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:172 +#: plugin/models.py:181 msgid "Package Plugin" msgstr "" -#: plugin/models.py:196 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:205 report/models.py:475 +#: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" msgstr "" -#: plugin/models.py:243 +#: plugin/models.py:252 msgid "Method" msgstr "" @@ -8469,239 +8424,323 @@ msgstr "" msgid "Delete the plugin configuration from the database" msgstr "" -#: report/api.py:158 +#: report/api.py:77 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:197 report/api.py:234 +#: report/api.py:89 report/serializers.py:53 +msgid "Model Type" +msgstr "" + +#: report/api.py:92 report/models.py:439 report/serializers.py:98 +#: report/serializers.py:148 templates/js/translated/purchase_order.js:1747 +#: templates/js/translated/return_order.js:353 +#: templates/js/translated/sales_order.js:887 +#: templates/js/translated/sales_order.js:1047 +msgid "Items" +msgstr "" + +#: report/api.py:168 +msgid "Plugin not found" +msgstr "" + +#: report/api.py:170 +msgid "Plugin is not active" +msgstr "" + +#: report/api.py:172 +msgid "Plugin does not support label printing" +msgstr "" + +#: report/api.py:221 +msgid "Invalid label dimensions" +msgstr "" + +#: report/api.py:236 report/api.py:316 +msgid "No valid items provided to template" +msgstr "" + +#: report/api.py:271 +msgid "Error printing label" +msgstr "" + +#: report/api.py:362 report/api.py:398 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:319 -msgid "Test report" -msgstr "" - -#: report/helpers.py:15 +#: report/helpers.py:41 msgid "A4" msgstr "" -#: report/helpers.py:16 +#: report/helpers.py:42 msgid "A3" msgstr "" -#: report/helpers.py:17 +#: report/helpers.py:43 msgid "Legal" msgstr "" -#: report/helpers.py:18 +#: report/helpers.py:44 msgid "Letter" msgstr "" -#: report/models.py:177 +#: report/models.py:118 +msgid "Template file with this name already exists" +msgstr "" + +#: report/models.py:150 msgid "Template name" msgstr "" -#: report/models.py:183 -msgid "Report template file" +#: report/models.py:156 +msgid "Template description" msgstr "" -#: report/models.py:190 -msgid "Report template description" +#: report/models.py:162 +msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:196 -msgid "Report revision number (auto-increments)" +#: report/models.py:202 +msgid "Filename Pattern" msgstr "" -#: report/models.py:204 +#: report/models.py:203 +msgid "Pattern for generating filenames" +msgstr "" + +#: report/models.py:208 +msgid "Template is enabled" +msgstr "" + +#: report/models.py:214 +msgid "Target model type for template" +msgstr "" + +#: report/models.py:234 +msgid "Filters" +msgstr "" + +#: report/models.py:235 +msgid "Template query filters (comma-separated list of key=value pairs)" +msgstr "" + +#: report/models.py:295 report/models.py:362 +msgid "Template file" +msgstr "" + +#: report/models.py:303 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:210 +#: report/models.py:309 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:318 -msgid "Pattern for generating report filenames" +#: report/models.py:368 +msgid "Width [mm]" msgstr "" -#: report/models.py:325 -msgid "Report template is enabled" +#: report/models.py:369 +msgid "Label width, specified in mm" msgstr "" -#: report/models.py:347 -msgid "StockItem query filters (comma-separated list of key=value pairs)" +#: report/models.py:375 +msgid "Height [mm]" msgstr "" -#: report/models.py:354 -msgid "Include Installed Tests" +#: report/models.py:376 +msgid "Label height, specified in mm" msgstr "" -#: report/models.py:356 -msgid "Include test results for stock items installed inside assembled item" +#: report/models.py:439 +msgid "Number of items to process" msgstr "" -#: report/models.py:424 -msgid "Build Filters" +#: report/models.py:445 +msgid "Report generation is complete" msgstr "" -#: report/models.py:425 -msgid "Build query filters (comma-separated list of key=value pairs" +#: report/models.py:449 templates/js/translated/build.js:2177 +msgid "Progress" msgstr "" -#: report/models.py:464 -msgid "Part Filters" +#: report/models.py:449 +msgid "Report generation progress" msgstr "" -#: report/models.py:465 -msgid "Part query filters (comma-separated list of key=value pairs" +#: report/models.py:457 +msgid "Report Template" msgstr "" -#: report/models.py:497 -msgid "Purchase order query filters" +#: report/models.py:464 report/models.py:487 +msgid "Output File" msgstr "" -#: report/models.py:533 -msgid "Sales order query filters" +#: report/models.py:465 report/models.py:488 +msgid "Generated output file" msgstr "" -#: report/models.py:569 -msgid "Return order query filters" +#: report/models.py:476 +msgid "Label output plugin" msgstr "" -#: report/models.py:641 -msgid "Snippet file with this name already exists" +#: report/models.py:480 +msgid "Label Template" msgstr "" -#: report/models.py:648 +#: report/models.py:503 msgid "Snippet" msgstr "" -#: report/models.py:649 +#: report/models.py:504 msgid "Report snippet file" msgstr "" -#: report/models.py:656 +#: report/models.py:511 msgid "Snippet file description" msgstr "" -#: report/models.py:714 -msgid "Asset file with this name already exists" -msgstr "" - -#: report/models.py:722 +#: report/models.py:529 msgid "Asset" msgstr "" -#: report/models.py:723 +#: report/models.py:530 msgid "Report asset file" msgstr "" -#: report/models.py:730 +#: report/models.py:537 msgid "Asset file description" msgstr "" -#: report/models.py:752 -msgid "stock location query filters (comma-separated list of key=value pairs)" +#: report/serializers.py:91 +msgid "Select report template" +msgstr "" + +#: report/serializers.py:99 report/serializers.py:149 +msgid "List of item primary keys to include in the report" +msgstr "" + +#: report/serializers.py:132 +msgid "Select label template" +msgstr "" + +#: report/serializers.py:140 +msgid "Printing Plugin" +msgstr "" + +#: report/serializers.py:141 +msgid "Select plugin to use for label printing" +msgstr "" + +#: report/templates/label/part_label.html:31 +#: report/templates/label/stockitem_qr.html:21 +#: report/templates/label/stocklocation_qr.html:20 +#: templates/allauth_2fa/setup.html:18 +msgid "QR Code" +msgstr "" + +#: report/templates/label/part_label_code128.html:31 +#: report/templates/label/stocklocation_qr_and_text.html:31 +#: templates/qr_code.html:7 +msgid "QR code" msgstr "" #: report/templates/report/inventree_bill_of_materials_report.html:133 msgid "Materials needed" msgstr "" -#: report/templates/report/inventree_build_order_base.html:146 +#: report/templates/report/inventree_build_order_report.html:146 msgid "Required For" msgstr "" -#: report/templates/report/inventree_po_report_base.html:15 +#: report/templates/report/inventree_purchase_order_report.html:15 msgid "Supplier was deleted" msgstr "" -#: report/templates/report/inventree_po_report_base.html:30 -#: report/templates/report/inventree_so_report_base.html:30 +#: report/templates/report/inventree_purchase_order_report.html:30 +#: report/templates/report/inventree_sales_order_report.html:30 #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:834 -#: templates/js/translated/purchase_order.js:2116 -#: templates/js/translated/sales_order.js:1837 +#: templates/js/translated/purchase_order.js:2115 +#: templates/js/translated/sales_order.js:1873 msgid "Unit Price" msgstr "" -#: report/templates/report/inventree_po_report_base.html:55 -#: report/templates/report/inventree_return_order_report_base.html:48 -#: report/templates/report/inventree_so_report_base.html:55 +#: report/templates/report/inventree_purchase_order_report.html:55 +#: report/templates/report/inventree_return_order_report.html:48 +#: report/templates/report/inventree_sales_order_report.html:55 msgid "Extra Line Items" 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:2018 -#: templates/js/translated/sales_order.js:1806 +#: report/templates/report/inventree_purchase_order_report.html:72 +#: report/templates/report/inventree_sales_order_report.html:72 +#: templates/js/translated/purchase_order.js:2017 +#: templates/js/translated/sales_order.js:1842 msgid "Total" msgstr "" -#: report/templates/report/inventree_return_order_report_base.html:25 -#: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:809 stock/templates/stock/item_base.html:311 +#: report/templates/report/inventree_return_order_report.html:25 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:830 +#: stock/serializers.py:150 stock/templates/stock/item_base.html:311 #: templates/js/translated/build.js:519 templates/js/translated/build.js:1367 #: templates/js/translated/build.js:2355 -#: templates/js/translated/model_renderers.js:224 -#: templates/js/translated/return_order.js:540 -#: templates/js/translated/return_order.js:724 +#: templates/js/translated/model_renderers.js:230 +#: templates/js/translated/return_order.js:539 +#: templates/js/translated/return_order.js:723 #: templates/js/translated/sales_order.js:315 -#: templates/js/translated/sales_order.js:1611 -#: templates/js/translated/sales_order.js:1696 +#: templates/js/translated/sales_order.js:1647 +#: templates/js/translated/sales_order.js:1732 #: templates/js/translated/stock.js:596 msgid "Serial Number" msgstr "" -#: report/templates/report/inventree_slr_report.html:97 +#: report/templates/report/inventree_stock_location_report.html:97 msgid "Stock location items" msgstr "" -#: report/templates/report/inventree_test_report_base.html:21 +#: report/templates/report/inventree_test_report.html:21 msgid "Stock Item Test Report" msgstr "" -#: report/templates/report/inventree_test_report_base.html:97 +#: report/templates/report/inventree_test_report.html:97 msgid "Test Results" msgstr "" -#: report/templates/report/inventree_test_report_base.html:102 +#: report/templates/report/inventree_test_report.html:102 #: templates/js/translated/stock.js:1495 msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2442 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2419 msgid "Result" msgstr "" -#: report/templates/report/inventree_test_report_base.html:130 +#: report/templates/report/inventree_test_report.html:130 msgid "Pass" msgstr "" -#: report/templates/report/inventree_test_report_base.html:132 +#: report/templates/report/inventree_test_report.html:132 msgid "Fail" msgstr "" -#: report/templates/report/inventree_test_report_base.html:139 +#: report/templates/report/inventree_test_report.html:139 msgid "No result (required)" msgstr "" -#: report/templates/report/inventree_test_report_base.html:141 +#: report/templates/report/inventree_test_report.html:141 msgid "No result" msgstr "" -#: report/templates/report/inventree_test_report_base.html:154 +#: report/templates/report/inventree_test_report.html:154 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report_base.html:168 -#: stock/admin.py:162 templates/js/translated/stock.js:700 -#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3113 +#: report/templates/report/inventree_test_report.html:168 stock/admin.py:162 +#: templates/js/translated/stock.js:700 templates/js/translated/stock.js:871 +#: templates/js/translated/stock.js:3110 msgid "Serial" msgstr "" @@ -8758,7 +8797,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:201 stock/models.py:789 +#: stock/admin.py:201 stock/models.py:810 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" @@ -8783,66 +8822,66 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:256 stock/models.py:883 +#: stock/admin.py:256 stock/models.py:904 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2232 users/models.py:124 +#: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" msgstr "" -#: stock/api.py:284 +#: stock/api.py:318 msgid "Filter by location depth" msgstr "" -#: stock/api.py:304 +#: stock/api.py:338 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:325 +#: stock/api.py:359 msgid "Parent Location" msgstr "" -#: stock/api.py:326 +#: stock/api.py:360 msgid "Filter by parent location" msgstr "" -#: stock/api.py:579 templates/js/translated/table_filters.js:427 +#: stock/api.py:613 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:767 +#: stock/api.py:801 msgid "Part Tree" msgstr "" -#: stock/api.py:797 +#: stock/api.py:831 msgid "Expiry date before" msgstr "" -#: stock/api.py:801 +#: stock/api.py:835 msgid "Expiry date after" msgstr "" -#: stock/api.py:804 stock/templates/stock/item_base.html:439 +#: stock/api.py:838 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:891 +#: stock/api.py:925 msgid "Quantity is required" msgstr "" -#: stock/api.py:897 +#: stock/api.py:931 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:928 +#: stock/api.py:962 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:938 +#: stock/api.py:972 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:969 +#: stock/api.py:1003 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8858,477 +8897,517 @@ msgstr "" msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:125 stock/models.py:771 +#: stock/models.py:127 stock/models.py:792 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:126 stock/templates/stock/location.html:179 +#: stock/models.py:128 stock/templates/stock/location.html:186 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "" -#: stock/models.py:158 stock/models.py:932 +#: stock/models.py:170 stock/models.py:953 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:159 stock/models.py:933 +#: stock/models.py:171 stock/models.py:954 msgid "Select Owner" msgstr "" -#: stock/models.py:167 +#: stock/models.py:179 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:174 templates/js/translated/stock.js:2784 +#: stock/models.py:186 templates/js/translated/stock.js:2781 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "" -#: stock/models.py:175 +#: stock/models.py:187 msgid "This is an external stock location" msgstr "" -#: stock/models.py:181 templates/js/translated/stock.js:2793 +#: stock/models.py:193 templates/js/translated/stock.js:2790 #: templates/js/translated/table_filters.js:246 msgid "Location type" msgstr "" -#: stock/models.py:185 +#: stock/models.py:197 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:254 +#: stock/models.py:266 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:626 +#: stock/models.py:647 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:653 stock/serializers.py:290 +#: stock/models.py:674 stock/serializers.py:419 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:670 +#: stock/models.py:691 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:680 stock/models.py:693 +#: stock/models.py:701 stock/models.py:714 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:683 +#: stock/models.py:704 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:707 +#: stock/models.py:728 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:712 +#: stock/models.py:733 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:725 +#: stock/models.py:746 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:741 +#: stock/models.py:762 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:753 +#: stock/models.py:774 msgid "Base part" msgstr "" -#: stock/models.py:763 +#: stock/models.py:784 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:775 +#: stock/models.py:796 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:783 stock/serializers.py:1351 +#: stock/models.py:804 stock/serializers.py:1480 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:794 +#: stock/models.py:815 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:813 +#: stock/models.py:834 msgid "Serial number for this item" msgstr "" -#: stock/models.py:827 stock/serializers.py:1334 +#: stock/models.py:848 stock/serializers.py:1463 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:832 +#: stock/models.py:853 msgid "Stock Quantity" msgstr "" -#: stock/models.py:842 +#: stock/models.py:863 msgid "Source Build" msgstr "" -#: stock/models.py:845 +#: stock/models.py:866 msgid "Build for this stock item" msgstr "" -#: stock/models.py:852 stock/templates/stock/item_base.html:363 +#: stock/models.py:873 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:855 +#: stock/models.py:876 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:864 +#: stock/models.py:885 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:868 +#: stock/models.py:889 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:874 +#: stock/models.py:895 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:885 +#: stock/models.py:906 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:903 +#: stock/models.py:924 msgid "Delete on deplete" msgstr "" -#: stock/models.py:904 +#: stock/models.py:925 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:924 +#: stock/models.py:945 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:955 +#: stock/models.py:976 msgid "Converted to part" msgstr "" -#: stock/models.py:1473 +#: stock/models.py:1494 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1479 +#: stock/models.py:1500 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1487 +#: stock/models.py:1508 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1493 +#: stock/models.py:1514 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1498 +#: stock/models.py:1519 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1506 stock/serializers.py:529 +#: stock/models.py:1527 stock/serializers.py:658 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1603 +#: stock/models.py:1624 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1621 +#: stock/models.py:1642 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1625 +#: stock/models.py:1646 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1628 +#: stock/models.py:1649 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1631 +#: stock/models.py:1652 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1634 +#: stock/models.py:1655 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1637 +#: stock/models.py:1658 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1644 stock/serializers.py:1240 +#: stock/models.py:1665 stock/serializers.py:1369 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1648 +#: stock/models.py:1669 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1656 +#: stock/models.py:1677 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1661 +#: stock/models.py:1682 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1882 +#: stock/models.py:1903 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2345 +#: stock/models.py:2322 msgid "Entry notes" msgstr "" -#: stock/models.py:2410 +#: stock/models.py:2387 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2415 +#: stock/models.py:2392 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2442 +#: stock/models.py:2419 msgid "Test result" msgstr "" -#: stock/models.py:2449 +#: stock/models.py:2426 msgid "Test output value" msgstr "" -#: stock/models.py:2457 +#: stock/models.py:2434 msgid "Test result attachment" msgstr "" -#: stock/models.py:2461 +#: stock/models.py:2438 msgid "Test notes" msgstr "" -#: stock/models.py:2469 templates/js/translated/stock.js:1548 +#: stock/models.py:2446 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "" -#: stock/models.py:2470 +#: stock/models.py:2447 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2476 +#: stock/models.py:2453 msgid "Started" msgstr "" -#: stock/models.py:2477 +#: stock/models.py:2454 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2483 +#: stock/models.py:2460 msgid "Finished" msgstr "" -#: stock/models.py:2484 +#: stock/models.py:2461 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:100 +#: stock/serializers.py:75 +msgid "Generated batch code" +msgstr "" + +#: stock/serializers.py:84 +msgid "Select build order" +msgstr "" + +#: stock/serializers.py:93 +msgid "Select stock item to generate batch code for" +msgstr "" + +#: stock/serializers.py:102 +msgid "Select location to generate batch code for" +msgstr "" + +#: stock/serializers.py:111 +msgid "Select part to generate batch code for" +msgstr "" + +#: stock/serializers.py:120 +msgid "Select purchase order" +msgstr "" + +#: stock/serializers.py:127 +msgid "Enter quantity for batch code" +msgstr "" + +#: stock/serializers.py:150 +msgid "Generated serial number" +msgstr "" + +#: stock/serializers.py:159 +msgid "Select part to generate serial number for" +msgstr "" + +#: stock/serializers.py:167 +msgid "Quantity of serial numbers to generate" +msgstr "" + +#: stock/serializers.py:229 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:119 +#: stock/serializers.py:248 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:151 +#: stock/serializers.py:280 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:184 +#: stock/serializers.py:313 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:282 +#: stock/serializers.py:411 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:402 +#: stock/serializers.py:531 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:464 +#: stock/serializers.py:593 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:477 +#: stock/serializers.py:606 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:484 +#: stock/serializers.py:613 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:495 stock/serializers.py:1197 stock/serializers.py:1453 +#: stock/serializers.py:624 stock/serializers.py:1326 stock/serializers.py:1582 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:502 +#: stock/serializers.py:631 msgid "Optional note field" msgstr "" -#: stock/serializers.py:512 +#: stock/serializers.py:641 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:567 +#: stock/serializers.py:696 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:574 +#: stock/serializers.py:703 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:575 +#: stock/serializers.py:704 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:580 stock/serializers.py:660 stock/serializers.py:756 -#: stock/serializers.py:806 +#: stock/serializers.py:709 stock/serializers.py:789 stock/serializers.py:885 +#: stock/serializers.py:935 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:588 +#: stock/serializers.py:717 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:596 +#: stock/serializers.py:725 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:607 +#: stock/serializers.py:736 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:620 +#: stock/serializers.py:749 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:655 +#: stock/serializers.py:784 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:690 +#: stock/serializers.py:819 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:703 +#: stock/serializers.py:832 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:720 +#: stock/serializers.py:849 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:751 +#: stock/serializers.py:880 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:788 +#: stock/serializers.py:917 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:794 +#: stock/serializers.py:923 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:890 stock/serializers.py:953 +#: stock/serializers.py:1019 stock/serializers.py:1082 #: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:213 +#: stock/templates/stock/location.html:220 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1069 +#: stock/serializers.py:1198 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1073 +#: stock/serializers.py:1202 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1077 +#: stock/serializers.py:1206 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1101 +#: stock/serializers.py:1230 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1107 +#: stock/serializers.py:1236 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1115 +#: stock/serializers.py:1244 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1125 stock/serializers.py:1379 +#: stock/serializers.py:1254 stock/serializers.py:1508 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1204 +#: stock/serializers.py:1333 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1209 +#: stock/serializers.py:1338 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1210 +#: stock/serializers.py:1339 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1215 +#: stock/serializers.py:1344 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1216 +#: stock/serializers.py:1345 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1226 +#: stock/serializers.py:1355 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1293 +#: stock/serializers.py:1422 msgid "No Change" msgstr "" -#: stock/serializers.py:1322 +#: stock/serializers.py:1451 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1341 +#: stock/serializers.py:1470 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1369 +#: stock/serializers.py:1498 msgid "Stock transaction notes" msgstr "" @@ -9353,7 +9432,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:286 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:282 msgid "Delete Test Data" msgstr "" @@ -9369,15 +9448,15 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3274 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3271 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:274 +#: stock/templates/stock/item.html:270 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:304 templates/js/translated/stock.js:1701 +#: stock/templates/stock/item.html:300 templates/js/translated/stock.js:1701 msgid "Add Test Result" msgstr "" @@ -9562,40 +9641,40 @@ msgstr "" msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:507 -#: templates/js/translated/stock.js:1954 +#: stock/templates/stock/item_base.html:504 +#: templates/js/translated/stock.js:1952 msgid "stock item" msgstr "" -#: stock/templates/stock/item_base.html:532 +#: stock/templates/stock/item_base.html:527 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:541 +#: stock/templates/stock/item_base.html:536 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:552 +#: stock/templates/stock/item_base.html:547 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:616 +#: stock/templates/stock/item_base.html:611 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:619 +#: stock/templates/stock/item_base.html:614 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:620 +#: stock/templates/stock/item_base.html:615 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:628 +#: stock/templates/stock/item_base.html:623 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:662 +#: stock/templates/stock/item_base.html:657 msgid "Return to Stock" msgstr "" @@ -9659,28 +9738,32 @@ msgstr "" msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:217 +#: stock/templates/stock/location.html:176 +msgid "Location Type" +msgstr "" + +#: stock/templates/stock/location.html:224 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:218 +#: stock/templates/stock/location.html:225 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:287 -#: templates/js/translated/stock.js:2575 +#: stock/templates/stock/location.html:295 +#: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:315 +#: stock/templates/stock/location.html:317 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:388 +#: stock/templates/stock/location.html:390 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:399 +#: stock/templates/stock/location.html:401 msgid "Link Barcode to Stock Location" msgstr "" @@ -9950,11 +10033,11 @@ msgstr "" msgid "Part Settings" msgstr "" -#: templates/InvenTree/settings/part.html:42 +#: templates/InvenTree/settings/part.html:43 msgid "Part Import" msgstr "" -#: templates/InvenTree/settings/part.html:46 +#: templates/InvenTree/settings/part.html:47 msgid "Import Part" msgstr "" @@ -10175,7 +10258,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:424 +#: templates/js/translated/stock.js:245 users/models.py:411 msgid "Delete" msgstr "" @@ -10284,7 +10367,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2159 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2163 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" @@ -10875,7 +10958,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3218 +#: templates/js/translated/part.js:3217 msgid "Minimum Quantity" msgstr "" @@ -11255,7 +11338,7 @@ msgid "External stock" msgstr "" #: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2595 -#: templates/js/translated/sales_order.js:1910 +#: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" @@ -11265,7 +11348,7 @@ msgstr "" #: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 #: templates/js/translated/part.js:1256 -#: templates/js/translated/sales_order.js:1907 +#: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" @@ -11520,17 +11603,17 @@ msgstr "" #: templates/js/translated/build.js:1576 #: templates/js/translated/purchase_order.js:611 -#: templates/js/translated/sales_order.js:1171 +#: templates/js/translated/sales_order.js:1207 msgid "Select Parts" msgstr "" #: templates/js/translated/build.js:1577 -#: templates/js/translated/sales_order.js:1172 +#: templates/js/translated/sales_order.js:1208 msgid "You must select at least one part to allocate" msgstr "" #: templates/js/translated/build.js:1640 -#: templates/js/translated/sales_order.js:1121 +#: templates/js/translated/sales_order.js:1157 msgid "Specify stock allocation quantity" msgstr "" @@ -11543,7 +11626,7 @@ msgid "All selected parts have been fully allocated" msgstr "" #: templates/js/translated/build.js:1732 -#: templates/js/translated/sales_order.js:1186 +#: templates/js/translated/sales_order.js:1222 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -11552,12 +11635,12 @@ msgid "Allocate Stock Items to Build Order" msgstr "" #: templates/js/translated/build.js:1771 -#: templates/js/translated/sales_order.js:1283 +#: templates/js/translated/sales_order.js:1319 msgid "No matching stock locations" msgstr "" #: templates/js/translated/build.js:1844 -#: templates/js/translated/sales_order.js:1362 +#: templates/js/translated/sales_order.js:1398 msgid "No matching stock items" msgstr "" @@ -11590,9 +11673,9 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 -#: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 -#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 -#: templates/js/translated/stock.js:1985 templates/js/translated/stock.js:2713 +#: templates/js/translated/forms.js:2159 templates/js/translated/forms.js:2175 +#: templates/js/translated/part.js:2315 templates/js/translated/part.js:2741 +#: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "" @@ -11600,21 +11683,17 @@ msgstr "" msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2177 -msgid "Progress" -msgstr "" - -#: templates/js/translated/build.js:2213 templates/js/translated/stock.js:3045 +#: templates/js/translated/build.js:2213 templates/js/translated/stock.js:3042 msgid "No user information" msgstr "" #: templates/js/translated/build.js:2389 -#: templates/js/translated/sales_order.js:1646 +#: templates/js/translated/sales_order.js:1682 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:2390 -#: templates/js/translated/sales_order.js:1647 +#: templates/js/translated/sales_order.js:1683 msgid "Delete stock allocation" msgstr "" @@ -11648,7 +11727,7 @@ msgid "Unit Quantity" msgstr "" #: templates/js/translated/build.js:2591 -#: templates/js/translated/sales_order.js:1915 +#: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" @@ -11665,7 +11744,7 @@ msgid "Allocate tracked items against individual build outputs" msgstr "" #: templates/js/translated/build.js:2662 -#: templates/js/translated/sales_order.js:2016 +#: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "" @@ -11674,7 +11753,7 @@ msgid "Order stock" msgstr "" #: templates/js/translated/build.js:2671 -#: templates/js/translated/sales_order.js:2010 +#: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "" @@ -11924,12 +12003,12 @@ msgid "Delete price break" msgstr "" #: templates/js/translated/filters.js:186 -#: templates/js/translated/filters.js:672 +#: templates/js/translated/filters.js:667 msgid "true" msgstr "" #: templates/js/translated/filters.js:190 -#: templates/js/translated/filters.js:673 +#: templates/js/translated/filters.js:668 msgid "false" msgstr "" @@ -11961,7 +12040,7 @@ msgstr "" msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:582 +#: templates/js/translated/filters.js:577 msgid "Create filter" msgstr "" @@ -11994,32 +12073,32 @@ msgstr "" msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1473 templates/modals.html:19 +#: templates/js/translated/forms.js:1477 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1971 +#: templates/js/translated/forms.js:1975 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2275 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2279 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2489 +#: templates/js/translated/forms.js:2493 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3091 +#: templates/js/translated/forms.js:3095 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3091 +#: templates/js/translated/forms.js:3095 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3103 +#: templates/js/translated/forms.js:3107 msgid "Select Columns" msgstr "" @@ -12043,51 +12122,15 @@ msgstr "" msgid "No parts required for builds" msgstr "" -#: templates/js/translated/label.js:53 templates/js/translated/report.js:123 +#: templates/js/translated/label.js:55 templates/js/translated/report.js:38 msgid "Select Items" msgstr "" -#: templates/js/translated/label.js:54 +#: templates/js/translated/label.js:56 templates/js/translated/report.js:39 msgid "No items selected for printing" msgstr "" -#: templates/js/translated/label.js:72 -msgid "No Labels Found" -msgstr "" - -#: templates/js/translated/label.js:73 -msgid "No label templates found which match the selected items" -msgstr "" - -#: templates/js/translated/label.js:97 -msgid "selected" -msgstr "" - -#: templates/js/translated/label.js:133 -msgid "Printing Options" -msgstr "" - -#: templates/js/translated/label.js:148 -msgid "Print label" -msgstr "" - -#: templates/js/translated/label.js:148 -msgid "Print labels" -msgstr "" - #: templates/js/translated/label.js:149 -msgid "Print" -msgstr "" - -#: templates/js/translated/label.js:155 -msgid "Select label template" -msgstr "" - -#: templates/js/translated/label.js:168 -msgid "Select plugin" -msgstr "" - -#: templates/js/translated/label.js:187 msgid "Labels sent to printer" msgstr "" @@ -12205,7 +12248,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1991 +#: templates/js/translated/purchase_order.js:1990 msgid "No line items found" msgstr "" @@ -12443,19 +12486,19 @@ msgid "Delete Part Parameter Template" msgstr "" #: templates/js/translated/part.js:1716 -#: templates/js/translated/purchase_order.js:1655 +#: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1860 -#: templates/js/translated/purchase_order.js:2154 -#: templates/js/translated/return_order.js:756 -#: templates/js/translated/sales_order.js:1875 +#: templates/js/translated/purchase_order.js:2153 +#: templates/js/translated/return_order.js:755 +#: templates/js/translated/sales_order.js:1911 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1906 -#: templates/js/translated/purchase_order.js:2221 +#: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "" @@ -12467,7 +12510,7 @@ msgstr "" msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2506 +#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2505 msgid "No parts found" msgstr "" @@ -12483,101 +12526,101 @@ msgstr "" msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2286 msgid "part" msgstr "" -#: templates/js/translated/part.js:2288 +#: templates/js/translated/part.js:2287 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2384 +#: templates/js/translated/part.js:2383 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 -#: templates/js/translated/stock.js:2672 +#: templates/js/translated/part.js:2530 templates/js/translated/part.js:2660 +#: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2547 +#: templates/js/translated/part.js:2546 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2645 +#: templates/js/translated/part.js:2644 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2692 +#: templates/js/translated/part.js:2680 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2761 +#: templates/js/translated/part.js:2760 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2777 +#: templates/js/translated/part.js:2776 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2864 +#: templates/js/translated/part.js:2863 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2886 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2885 templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2935 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2941 +#: templates/js/translated/part.js:2940 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2957 +#: templates/js/translated/part.js:2956 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2971 +#: templates/js/translated/part.js:2970 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3050 templates/js/translated/part.js:3051 +#: templates/js/translated/part.js:3049 templates/js/translated/part.js:3050 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3053 +#: templates/js/translated/part.js:3052 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3059 +#: templates/js/translated/part.js:3058 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3109 +#: templates/js/translated/part.js:3108 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3115 +#: templates/js/translated/part.js:3114 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3211 +#: templates/js/translated/part.js:3210 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3227 +#: templates/js/translated/part.js:3226 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3272 +#: templates/js/translated/part.js:3271 msgid "Minimum Stock Level" msgstr "" @@ -12703,7 +12746,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:448 #: templates/js/translated/return_order.js:210 -#: templates/js/translated/sales_order.js:500 +#: templates/js/translated/sales_order.js:552 msgid "Mark this order as complete?" msgstr "" @@ -12716,7 +12759,6 @@ msgid "This order has line items which have not been marked as received." msgstr "" #: templates/js/translated/purchase_order.js:460 -#: templates/js/translated/sales_order.js:514 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" @@ -12774,12 +12816,12 @@ msgid "No matching purchase orders" msgstr "" #: templates/js/translated/purchase_order.js:1073 -#: templates/js/translated/return_order.js:491 +#: templates/js/translated/return_order.js:490 msgid "Select Line Items" msgstr "" #: templates/js/translated/purchase_order.js:1074 -#: templates/js/translated/return_order.js:492 +#: templates/js/translated/return_order.js:491 msgid "At least one line item must be selected" msgstr "" @@ -12828,7 +12870,7 @@ msgid "Quantity to Receive" msgstr "" #: templates/js/translated/purchase_order.js:1333 -#: templates/js/translated/return_order.js:561 +#: templates/js/translated/return_order.js:560 msgid "Confirm receipt of items" msgstr "" @@ -12848,81 +12890,66 @@ msgstr "" msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1682 -#: templates/js/translated/return_order.js:286 -#: templates/js/translated/sales_order.js:774 -#: templates/js/translated/sales_order.js:998 +#: templates/js/translated/purchase_order.js:1681 +#: templates/js/translated/return_order.js:285 +#: templates/js/translated/sales_order.js:810 +#: templates/js/translated/sales_order.js:1034 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1748 -#: templates/js/translated/return_order.js:354 -#: templates/js/translated/sales_order.js:851 -#: templates/js/translated/sales_order.js:1011 -msgid "Items" -msgstr "" - -#: templates/js/translated/purchase_order.js:1844 +#: templates/js/translated/purchase_order.js:1843 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1862 +#: templates/js/translated/purchase_order.js:1861 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1917 -#: templates/js/translated/sales_order.js:2070 +#: templates/js/translated/purchase_order.js:1916 +#: templates/js/translated/sales_order.js:2106 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1932 -#: templates/js/translated/return_order.js:476 -#: templates/js/translated/return_order.js:669 -#: templates/js/translated/sales_order.js:2083 +#: templates/js/translated/purchase_order.js:1931 +#: templates/js/translated/return_order.js:475 +#: templates/js/translated/return_order.js:668 +#: templates/js/translated/sales_order.js:2119 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1943 -#: templates/js/translated/return_order.js:682 -#: templates/js/translated/sales_order.js:2094 +#: templates/js/translated/purchase_order.js:1942 +#: templates/js/translated/return_order.js:681 +#: templates/js/translated/sales_order.js:2130 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2225 -#: templates/js/translated/sales_order.js:2024 +#: templates/js/translated/purchase_order.js:2224 +#: templates/js/translated/sales_order.js:2060 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2226 -#: templates/js/translated/return_order.js:801 -#: templates/js/translated/sales_order.js:2025 +#: templates/js/translated/purchase_order.js:2225 +#: templates/js/translated/return_order.js:800 +#: templates/js/translated/sales_order.js:2061 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2227 -#: templates/js/translated/return_order.js:805 -#: templates/js/translated/sales_order.js:2031 +#: templates/js/translated/purchase_order.js:2226 +#: templates/js/translated/return_order.js:804 +#: templates/js/translated/sales_order.js:2067 msgid "Delete line item" msgstr "" -#: templates/js/translated/report.js:63 -msgid "items selected" +#: templates/js/translated/report.js:49 +msgid "Print Report" msgstr "" -#: templates/js/translated/report.js:71 -msgid "Select Report Template" +#: templates/js/translated/report.js:68 +msgid "Report print successful" msgstr "" -#: templates/js/translated/report.js:86 -msgid "Select Test Report Template" -msgstr "" - -#: templates/js/translated/report.js:140 -msgid "No Reports Found" -msgstr "" - -#: templates/js/translated/report.js:141 -msgid "No report templates found which match the selected items" +#: templates/js/translated/report.js:73 +msgid "Report printing failed" msgstr "" #: templates/js/translated/return_order.js:60 @@ -12954,25 +12981,25 @@ msgstr "" msgid "Complete Return Order" msgstr "" -#: templates/js/translated/return_order.js:266 +#: templates/js/translated/return_order.js:265 msgid "No return orders found" msgstr "" -#: templates/js/translated/return_order.js:300 -#: templates/js/translated/sales_order.js:788 +#: templates/js/translated/return_order.js:299 +#: templates/js/translated/sales_order.js:824 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/return_order.js:562 +#: templates/js/translated/return_order.js:561 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:693 -#: templates/js/translated/sales_order.js:2231 +#: templates/js/translated/return_order.js:692 +#: templates/js/translated/sales_order.js:2267 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:798 +#: templates/js/translated/return_order.js:797 msgid "Mark item as received" msgstr "" @@ -13016,140 +13043,156 @@ msgstr "" msgid "Skip" msgstr "" +#: templates/js/translated/sales_order.js:484 +msgid "Ship Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:500 +msgid "Ship this order?" +msgstr "" + +#: templates/js/translated/sales_order.js:506 +msgid "Order cannot be shipped as there are incomplete shipments" +msgstr "" + #: templates/js/translated/sales_order.js:513 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/sales_order.js:535 +#: templates/js/translated/sales_order.js:514 +msgid "Shipping this order means that the order and line items will no longer be editable." +msgstr "" + +#: templates/js/translated/sales_order.js:572 msgid "Issue this Sales Order?" msgstr "" -#: templates/js/translated/sales_order.js:540 +#: templates/js/translated/sales_order.js:577 msgid "Issue Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:559 +#: templates/js/translated/sales_order.js:596 msgid "Cancel Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:564 +#: templates/js/translated/sales_order.js:601 msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: templates/js/translated/sales_order.js:618 +#: templates/js/translated/sales_order.js:655 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/sales_order.js:728 +#: templates/js/translated/sales_order.js:764 msgid "No sales orders found" msgstr "" -#: templates/js/translated/sales_order.js:908 +#: templates/js/translated/sales_order.js:944 msgid "Edit shipment" msgstr "" -#: templates/js/translated/sales_order.js:911 +#: templates/js/translated/sales_order.js:947 msgid "Complete shipment" msgstr "" -#: templates/js/translated/sales_order.js:916 +#: templates/js/translated/sales_order.js:952 msgid "Delete shipment" msgstr "" -#: templates/js/translated/sales_order.js:933 +#: templates/js/translated/sales_order.js:969 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/sales_order.js:948 +#: templates/js/translated/sales_order.js:984 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:981 +#: templates/js/translated/sales_order.js:1017 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/sales_order.js:1006 +#: templates/js/translated/sales_order.js:1042 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/sales_order.js:1030 -#: templates/js/translated/sales_order.js:1529 +#: templates/js/translated/sales_order.js:1066 +#: templates/js/translated/sales_order.js:1565 msgid "Not shipped" msgstr "" -#: templates/js/translated/sales_order.js:1048 +#: templates/js/translated/sales_order.js:1084 msgid "Tracking" msgstr "" -#: templates/js/translated/sales_order.js:1052 +#: templates/js/translated/sales_order.js:1088 msgid "Invoice" msgstr "" -#: templates/js/translated/sales_order.js:1219 +#: templates/js/translated/sales_order.js:1255 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1270 +#: templates/js/translated/sales_order.js:1306 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/sales_order.js:1271 +#: templates/js/translated/sales_order.js:1307 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1477 +#: templates/js/translated/sales_order.js:1513 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1569 +#: templates/js/translated/sales_order.js:1605 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1583 +#: templates/js/translated/sales_order.js:1619 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/sales_order.js:1584 +#: templates/js/translated/sales_order.js:1620 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1623 -#: templates/js/translated/sales_order.js:1710 +#: templates/js/translated/sales_order.js:1659 +#: templates/js/translated/sales_order.js:1746 #: templates/js/translated/stock.js:1776 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/sales_order.js:1631 -#: templates/js/translated/sales_order.js:1719 +#: templates/js/translated/sales_order.js:1667 +#: templates/js/translated/sales_order.js:1755 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:2008 +#: templates/js/translated/sales_order.js:2044 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/sales_order.js:2012 +#: templates/js/translated/sales_order.js:2048 msgid "Purchase stock" msgstr "" -#: templates/js/translated/sales_order.js:2021 -#: templates/js/translated/sales_order.js:2209 +#: templates/js/translated/sales_order.js:2057 +#: templates/js/translated/sales_order.js:2245 msgid "Calculate price" msgstr "" -#: templates/js/translated/sales_order.js:2035 +#: templates/js/translated/sales_order.js:2071 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:2038 +#: templates/js/translated/sales_order.js:2074 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:2109 +#: templates/js/translated/sales_order.js:2145 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/sales_order.js:2217 +#: templates/js/translated/sales_order.js:2253 msgid "Update Unit Price" msgstr "" @@ -13357,7 +13400,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1042 users/models.py:414 +#: templates/js/translated/stock.js:1042 users/models.py:401 msgid "Add" msgstr "" @@ -13373,7 +13416,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1180 templates/js/translated/stock.js:3302 +#: templates/js/translated/stock.js:1180 templates/js/translated/stock.js:3299 msgid "Select Stock Items" msgstr "" @@ -13457,196 +13500,196 @@ msgstr "" msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:1955 +#: templates/js/translated/stock.js:1953 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1960 +#: templates/js/translated/stock.js:1958 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:1971 +#: templates/js/translated/stock.js:1969 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:2015 +#: templates/js/translated/stock.js:2013 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2093 +#: templates/js/translated/stock.js:2091 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2098 +#: templates/js/translated/stock.js:2096 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2101 +#: templates/js/translated/stock.js:2099 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2104 +#: templates/js/translated/stock.js:2102 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2106 +#: templates/js/translated/stock.js:2104 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2108 +#: templates/js/translated/stock.js:2106 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2111 +#: templates/js/translated/stock.js:2109 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2113 +#: templates/js/translated/stock.js:2111 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2117 +#: templates/js/translated/stock.js:2115 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2119 +#: templates/js/translated/stock.js:2117 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2124 +#: templates/js/translated/stock.js:2122 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2126 +#: templates/js/translated/stock.js:2124 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2128 +#: templates/js/translated/stock.js:2126 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2132 +#: templates/js/translated/stock.js:2130 #: templates/js/translated/table_filters.js:350 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2297 +#: templates/js/translated/stock.js:2295 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2344 +#: templates/js/translated/stock.js:2342 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2472 +#: templates/js/translated/stock.js:2470 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2576 +#: templates/js/translated/stock.js:2573 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2731 +#: templates/js/translated/stock.js:2728 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2849 +#: templates/js/translated/stock.js:2846 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2853 +#: templates/js/translated/stock.js:2850 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2865 +#: templates/js/translated/stock.js:2862 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2887 +#: templates/js/translated/stock.js:2884 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2904 +#: templates/js/translated/stock.js:2901 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2919 +#: templates/js/translated/stock.js:2916 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2936 +#: templates/js/translated/stock.js:2933 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:2950 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2972 +#: templates/js/translated/stock.js:2969 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2990 +#: templates/js/translated/stock.js:2987 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:3008 +#: templates/js/translated/stock.js:3005 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:3016 +#: templates/js/translated/stock.js:3013 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3088 +#: templates/js/translated/stock.js:3085 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3142 templates/js/translated/stock.js:3178 +#: templates/js/translated/stock.js:3139 templates/js/translated/stock.js:3175 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3200 +#: templates/js/translated/stock.js:3197 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3221 +#: templates/js/translated/stock.js:3218 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3222 +#: templates/js/translated/stock.js:3219 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3224 +#: templates/js/translated/stock.js:3221 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3225 +#: templates/js/translated/stock.js:3222 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3226 +#: templates/js/translated/stock.js:3223 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3227 +#: templates/js/translated/stock.js:3224 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3240 +#: templates/js/translated/stock.js:3237 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3303 +#: templates/js/translated/stock.js:3300 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3316 +#: templates/js/translated/stock.js:3313 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3320 +#: templates/js/translated/stock.js:3317 msgid "Change Stock Status" msgstr "" @@ -14248,34 +14291,34 @@ msgstr "" msgid "Revoked" msgstr "" -#: users/models.py:397 +#: users/models.py:384 msgid "Permission set" msgstr "" -#: users/models.py:406 +#: users/models.py:393 msgid "Group" msgstr "" -#: users/models.py:410 +#: users/models.py:397 msgid "View" msgstr "" -#: users/models.py:410 +#: users/models.py:397 msgid "Permission to view items" msgstr "" -#: users/models.py:414 +#: users/models.py:401 msgid "Permission to add items" msgstr "" -#: users/models.py:418 +#: users/models.py:405 msgid "Change" msgstr "" -#: users/models.py:420 +#: users/models.py:407 msgid "Permissions to edit items" msgstr "" -#: users/models.py:426 +#: users/models.py:413 msgid "Permission to delete items" msgstr "" diff --git a/src/backend/InvenTree/locale/es/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/es/LC_MESSAGES/django.po index 40b2d09696..c9661b22cc 100644 --- a/src/backend/InvenTree/locale/es/LC_MESSAGES/django.po +++ b/src/backend/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: 2024-05-10 05:37+0000\n" -"PO-Revision-Date: 2024-05-10 08:31\n" +"POT-Creation-Date: 2024-05-23 11:25+0000\n" +"PO-Revision-Date: 2024-05-23 11:39\n" "Last-Translator: \n" "Language-Team: Spanish, Mexico\n" "Language: es_MX\n" @@ -17,67 +17,67 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 216\n" -#: InvenTree/api.py:271 +#: InvenTree/api.py:272 msgid "API endpoint not found" -msgstr "" +msgstr "Endpoint de API no encontrado" -#: InvenTree/api.py:535 +#: InvenTree/api.py:536 msgid "User does not have permission to view this model" -msgstr "" +msgstr "El usuario no tiene permiso para ver este modelo" #: InvenTree/conversion.py:160 #, python-brace-format msgid "Invalid unit provided ({unit})" -msgstr "" +msgstr "Unidad proporcionada no válida ({unit})" #: InvenTree/conversion.py:177 msgid "No value provided" -msgstr "" +msgstr "Ningún valor proporcionado" #: InvenTree/conversion.py:204 #, python-brace-format msgid "Could not convert {original} to {unit}" -msgstr "" +msgstr "No se pudo convertir {original} a {unit}" #: InvenTree/conversion.py:206 msgid "Invalid quantity supplied" -msgstr "" +msgstr "La cantidad suministrada es inválida" #: InvenTree/conversion.py:220 #, python-brace-format msgid "Invalid quantity supplied ({exc})" -msgstr "" +msgstr "La cantidad suministrada es inválida ({exc})" #: InvenTree/exceptions.py:109 msgid "Error details can be found in the admin panel" -msgstr "" +msgstr "Detalles del error pueden encontrarse en el panel de administración" #: InvenTree/fields.py:139 msgid "Enter date" -msgstr "" +msgstr "Ingrese la fecha" -#: InvenTree/fields.py:208 InvenTree/models.py:1021 build/serializers.py:444 -#: build/serializers.py:522 build/templates/build/sidebar.html:21 +#: InvenTree/fields.py:208 InvenTree/models.py:1035 build/serializers.py:443 +#: build/serializers.py:521 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 -#: order/models.py:1283 order/templates/order/po_sidebar.html:11 +#: order/models.py:1323 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:59 -#: part/models.py:3175 part/templates/part/part_sidebar.html:63 -#: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:226 stock/models.py:2344 stock/models.py:2461 -#: stock/serializers.py:501 stock/serializers.py:659 stock/serializers.py:755 -#: stock/serializers.py:805 stock/serializers.py:1114 stock/serializers.py:1203 -#: stock/serializers.py:1368 stock/templates/stock/stock_sidebar.html:25 +#: part/models.py:3218 part/templates/part/part_sidebar.html:63 +#: report/templates/report/inventree_build_order_report.html:172 +#: stock/admin.py:226 stock/models.py:2321 stock/models.py:2438 +#: stock/serializers.py:630 stock/serializers.py:788 stock/serializers.py:884 +#: stock/serializers.py:934 stock/serializers.py:1243 stock/serializers.py:1332 +#: stock/serializers.py:1497 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1080 -#: templates/js/translated/purchase_order.js:2201 -#: templates/js/translated/return_order.js:776 -#: templates/js/translated/sales_order.js:1067 -#: templates/js/translated/sales_order.js:1982 -#: templates/js/translated/stock.js:1536 templates/js/translated/stock.js:2430 +#: templates/js/translated/purchase_order.js:2200 +#: templates/js/translated/return_order.js:775 +#: templates/js/translated/sales_order.js:1103 +#: templates/js/translated/sales_order.js:2018 +#: templates/js/translated/stock.js:1536 templates/js/translated/stock.js:2428 msgid "Notes" -msgstr "" +msgstr "Notas" #: InvenTree/format.py:164 #, python-brace-format @@ -90,170 +90,170 @@ msgstr "" #: InvenTree/forms.py:128 msgid "Enter password" -msgstr "" +msgstr "Ingresa tu contraseña" #: InvenTree/forms.py:129 msgid "Enter new password" -msgstr "" +msgstr "Ingrese su nueva contraseña" #: InvenTree/forms.py:138 msgid "Confirm password" -msgstr "" +msgstr "Confirma la contraseña" #: InvenTree/forms.py:139 msgid "Confirm new password" -msgstr "" +msgstr "Confirma la nueva contraseña" #: InvenTree/forms.py:143 msgid "Old password" -msgstr "" +msgstr "Contraseña anterior" #: InvenTree/forms.py:182 msgid "Email (again)" -msgstr "" +msgstr "Email (de nuevo)" #: InvenTree/forms.py:186 msgid "Email address confirmation" -msgstr "" +msgstr "Confirmación de correo electrónico" #: InvenTree/forms.py:209 msgid "You must type the same email each time." -msgstr "" +msgstr "El correo electrónico debe coincidir." #: InvenTree/forms.py:253 InvenTree/forms.py:261 msgid "The provided primary email address is not valid." -msgstr "" +msgstr "La dirección de correo electrónico principal proporcionada no es válida." #: InvenTree/forms.py:268 msgid "The provided email domain is not approved." -msgstr "" +msgstr "El dominio de correo electrónico proporcionado no está aprobado." #: InvenTree/forms.py:395 msgid "Registration is disabled." -msgstr "" +msgstr "El registro ha sido desactivado." -#: InvenTree/helpers.py:525 order/models.py:541 order/models.py:743 +#: InvenTree/helpers.py:525 order/models.py:563 order/models.py:765 msgid "Invalid quantity provided" -msgstr "" +msgstr "Cantidad proporcionada no válida" #: InvenTree/helpers.py:533 msgid "Empty serial number string" -msgstr "" +msgstr "No se ha proporcionado un número de serie" #: InvenTree/helpers.py:562 msgid "Duplicate serial" -msgstr "" +msgstr "Número de serie duplicado" #: InvenTree/helpers.py:594 InvenTree/helpers.py:637 #, python-brace-format msgid "Invalid group range: {group}" -msgstr "" +msgstr "Rango de grupo inválido: {group}" #: InvenTree/helpers.py:625 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" -msgstr "" +msgstr "El rango del grupo {group} supera la cantidad permitida ({expected_quantity})" #: InvenTree/helpers.py:655 InvenTree/helpers.py:662 InvenTree/helpers.py:681 #, python-brace-format msgid "Invalid group sequence: {group}" -msgstr "" +msgstr "Secuencia de grupo inválida: {group}" #: InvenTree/helpers.py:691 msgid "No serial numbers found" -msgstr "" +msgstr "No se encontraron números de serie" #: InvenTree/helpers.py:696 msgid "Number of unique serial numbers ({len(serials)}) must match quantity ({expected_quantity})" -msgstr "" +msgstr "Los números de serie únicos ({len(serials)}) deben coincidir con la cantidad ({expected_quantity})" #: InvenTree/helpers.py:814 msgid "Remove HTML tags from this value" -msgstr "" +msgstr "Elimine etiquetas HTML de este valor" #: InvenTree/helpers_model.py:150 msgid "Connection error" -msgstr "" +msgstr "Error de conexión" #: InvenTree/helpers_model.py:155 InvenTree/helpers_model.py:162 msgid "Server responded with invalid status code" -msgstr "" +msgstr "El servidor respondió con un código de estado no válido" #: InvenTree/helpers_model.py:158 msgid "Exception occurred" -msgstr "" +msgstr "Se ha producido una excepción" #: InvenTree/helpers_model.py:168 msgid "Server responded with invalid Content-Length value" -msgstr "" +msgstr "El servidor respondió con un valor de longitud de contenido inválido" #: InvenTree/helpers_model.py:171 msgid "Image size is too large" -msgstr "" +msgstr "El tamaño de la imagen es demasiado grande" #: InvenTree/helpers_model.py:183 msgid "Image download exceeded maximum size" -msgstr "" +msgstr "La imagen descargada exedió el tamaño máximo" #: InvenTree/helpers_model.py:188 msgid "Remote server returned empty response" -msgstr "" +msgstr "El servidor remoto devolvió una respuesta vacía" #: InvenTree/helpers_model.py:196 msgid "Supplied URL is not a valid image file" -msgstr "" +msgstr "La URL proporcionada no es un archivo de imagen válido" #: InvenTree/locales.py:18 msgid "Bulgarian" -msgstr "" +msgstr "Búlgaro" #: InvenTree/locales.py:19 msgid "Czech" -msgstr "" +msgstr "Checo" #: InvenTree/locales.py:20 msgid "Danish" -msgstr "" +msgstr "Danés" #: InvenTree/locales.py:21 msgid "German" -msgstr "" +msgstr "Alemán" #: InvenTree/locales.py:22 msgid "Greek" -msgstr "" +msgstr "Griego" #: InvenTree/locales.py:23 msgid "English" -msgstr "" +msgstr "Inglés" #: InvenTree/locales.py:24 msgid "Spanish" -msgstr "" +msgstr "Español" #: InvenTree/locales.py:25 msgid "Spanish (Mexican)" -msgstr "" +msgstr "Español (México)" #: InvenTree/locales.py:26 msgid "Farsi / Persian" -msgstr "" +msgstr "Farsi / Persa" #: InvenTree/locales.py:27 msgid "Finnish" -msgstr "" +msgstr "Finlandés" #: InvenTree/locales.py:28 msgid "French" -msgstr "" +msgstr "Francés" #: InvenTree/locales.py:29 msgid "Hebrew" -msgstr "" +msgstr "Hebreo" #: InvenTree/locales.py:30 msgid "Hindi" -msgstr "" +msgstr "Hindi" #: InvenTree/locales.py:31 msgid "Hungarian" @@ -355,142 +355,142 @@ msgstr "" msgid "Error running plugin validation" msgstr "" -#: InvenTree/models.py:162 +#: InvenTree/models.py:176 msgid "Metadata must be a python dict object" msgstr "" -#: InvenTree/models.py:168 +#: InvenTree/models.py:182 msgid "Plugin Metadata" msgstr "" -#: InvenTree/models.py:169 +#: InvenTree/models.py:183 msgid "JSON metadata field, for use by external plugins" msgstr "" -#: InvenTree/models.py:399 +#: InvenTree/models.py:413 msgid "Improperly formatted pattern" msgstr "" -#: InvenTree/models.py:406 +#: InvenTree/models.py:420 msgid "Unknown format key specified" msgstr "" -#: InvenTree/models.py:412 +#: InvenTree/models.py:426 msgid "Missing required format key" msgstr "" -#: InvenTree/models.py:423 +#: InvenTree/models.py:437 msgid "Reference field cannot be empty" msgstr "" -#: InvenTree/models.py:431 +#: InvenTree/models.py:445 msgid "Reference must match required pattern" msgstr "" -#: InvenTree/models.py:462 +#: InvenTree/models.py:476 msgid "Reference number is too large" msgstr "" -#: InvenTree/models.py:536 +#: InvenTree/models.py:550 msgid "Missing file" msgstr "" -#: InvenTree/models.py:537 +#: InvenTree/models.py:551 msgid "Missing external link" msgstr "" -#: InvenTree/models.py:558 stock/models.py:2456 +#: InvenTree/models.py:572 stock/models.py:2433 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" msgstr "" -#: InvenTree/models.py:559 +#: InvenTree/models.py:573 msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:567 common/models.py:3026 company/models.py:146 +#: InvenTree/models.py:581 common/models.py:3032 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 -#: order/models.py:291 order/models.py:1288 order/models.py:1704 -#: part/admin.py:55 part/models.py:919 +#: order/models.py:304 order/models.py:1328 order/models.py:1744 +#: part/admin.py:55 part/models.py:962 #: part/templates/part/part_scheduling.html:11 -#: report/templates/report/inventree_build_order_base.html:164 +#: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2456 -#: templates/js/translated/purchase_order.js:2041 -#: templates/js/translated/purchase_order.js:2205 -#: templates/js/translated/return_order.js:780 -#: templates/js/translated/sales_order.js:1056 -#: templates/js/translated/sales_order.js:1987 +#: templates/js/translated/part.js:2455 +#: templates/js/translated/purchase_order.js:2040 +#: templates/js/translated/purchase_order.js:2204 +#: templates/js/translated/return_order.js:779 +#: templates/js/translated/sales_order.js:1092 +#: templates/js/translated/sales_order.js:2023 msgid "Link" msgstr "" -#: InvenTree/models.py:568 build/models.py:321 part/models.py:920 -#: stock/models.py:819 +#: InvenTree/models.py:582 build/models.py:344 part/models.py:963 +#: stock/models.py:840 msgid "Link to external URL" msgstr "" -#: InvenTree/models.py:574 templates/js/translated/attachment.js:120 +#: InvenTree/models.py:588 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:341 msgid "Comment" msgstr "" -#: InvenTree/models.py:575 +#: InvenTree/models.py:589 msgid "File comment" msgstr "" -#: InvenTree/models.py:583 InvenTree/models.py:584 common/models.py:2502 -#: common/models.py:2503 common/models.py:2727 common/models.py:2728 -#: common/models.py:2973 common/models.py:2974 part/models.py:3185 -#: part/models.py:3272 part/models.py:3365 part/models.py:3393 -#: plugin/models.py:250 plugin/models.py:251 -#: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3039 users/models.py:111 +#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2508 +#: common/models.py:2509 common/models.py:2733 common/models.py:2734 +#: common/models.py:2979 common/models.py:2980 part/models.py:3228 +#: part/models.py:3315 part/models.py:3408 part/models.py:3436 +#: plugin/models.py:259 plugin/models.py:260 +#: report/templates/report/inventree_test_report.html:105 +#: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" msgstr "" -#: InvenTree/models.py:588 +#: InvenTree/models.py:602 msgid "upload date" msgstr "" -#: InvenTree/models.py:610 +#: InvenTree/models.py:624 msgid "Filename must not be empty" msgstr "" -#: InvenTree/models.py:621 +#: InvenTree/models.py:635 msgid "Invalid attachment directory" msgstr "" -#: InvenTree/models.py:651 +#: InvenTree/models.py:665 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "" -#: InvenTree/models.py:654 +#: InvenTree/models.py:668 msgid "Filename missing extension" msgstr "" -#: InvenTree/models.py:663 +#: InvenTree/models.py:677 msgid "Attachment with this filename already exists" msgstr "" -#: InvenTree/models.py:670 +#: InvenTree/models.py:684 msgid "Error renaming file" -msgstr "" +msgstr "Error al cambiar el nombre del archivo" -#: InvenTree/models.py:846 +#: InvenTree/models.py:860 msgid "Duplicate names cannot exist under the same parent" -msgstr "" +msgstr "Los nombres duplicados no pueden existir bajo el mismo padre" -#: InvenTree/models.py:863 +#: InvenTree/models.py:877 msgid "Invalid choice" -msgstr "" +msgstr "Selección no válida" -#: InvenTree/models.py:893 common/models.py:2714 common/models.py:3112 -#: common/serializers.py:403 company/models.py:614 label/models.py:120 -#: machine/models.py:24 part/models.py:855 part/models.py:3616 -#: plugin/models.py:41 report/models.py:176 stock/models.py:76 +#: InvenTree/models.py:907 common/models.py:2720 common/models.py:3118 +#: common/serializers.py:403 company/models.py:614 machine/models.py:24 +#: part/models.py:898 part/models.py:3659 plugin/models.py:50 +#: report/models.py:149 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -503,22 +503,22 @@ msgstr "" #: templates/js/translated/company.js:1165 #: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186 #: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2719 +#: templates/js/translated/part.js:2748 templates/js/translated/stock.js:2716 msgid "Name" -msgstr "" +msgstr "Nombre" -#: InvenTree/models.py:899 build/models.py:194 +#: InvenTree/models.py:913 build/models.py:217 #: build/templates/build/detail.html:24 common/models.py:136 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 label/models.py:127 -#: order/models.py:277 order/models.py:1316 part/admin.py:303 part/admin.py:414 -#: part/models.py:878 part/models.py:3631 part/templates/part/category.html:82 +#: company/templates/company/supplier_part.html:107 order/models.py:290 +#: order/models.py:1356 part/admin.py:305 part/admin.py:416 part/models.py:921 +#: part/models.py:3674 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 -#: part/templates/part/part_scheduling.html:12 report/models.py:189 -#: report/models.py:655 report/models.py:729 -#: report/templates/report/inventree_build_order_base.html:117 +#: part/templates/part/part_scheduling.html:12 report/models.py:155 +#: report/models.py:510 report/models.py:536 +#: report/templates/report/inventree_build_order_report.html:117 #: stock/admin.py:55 stock/models.py:82 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 @@ -530,71 +530,71 @@ msgstr "" #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 -#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2896 +#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2354 +#: templates/js/translated/part.js:2784 templates/js/translated/part.js:2895 #: templates/js/translated/plugin.js:80 -#: templates/js/translated/purchase_order.js:1707 -#: templates/js/translated/purchase_order.js:1850 -#: templates/js/translated/purchase_order.js:2023 -#: templates/js/translated/return_order.js:314 -#: templates/js/translated/sales_order.js:802 -#: templates/js/translated/sales_order.js:1812 -#: templates/js/translated/stock.js:1515 templates/js/translated/stock.js:2060 -#: templates/js/translated/stock.js:2751 templates/js/translated/stock.js:2834 +#: templates/js/translated/purchase_order.js:1706 +#: templates/js/translated/purchase_order.js:1849 +#: templates/js/translated/purchase_order.js:2022 +#: templates/js/translated/return_order.js:313 +#: templates/js/translated/sales_order.js:838 +#: templates/js/translated/sales_order.js:1848 +#: templates/js/translated/stock.js:1515 templates/js/translated/stock.js:2058 +#: templates/js/translated/stock.js:2748 templates/js/translated/stock.js:2831 msgid "Description" -msgstr "" +msgstr "Descripción" -#: InvenTree/models.py:900 stock/models.py:83 +#: InvenTree/models.py:914 stock/models.py:83 msgid "Description (optional)" -msgstr "" +msgstr "Descripción (opcional)" -#: InvenTree/models.py:909 +#: InvenTree/models.py:923 msgid "parent" -msgstr "" +msgstr "padre" -#: InvenTree/models.py:915 templates/js/translated/part.js:2794 -#: templates/js/translated/stock.js:2760 +#: InvenTree/models.py:929 templates/js/translated/part.js:2793 +#: templates/js/translated/stock.js:2757 msgid "Path" -msgstr "" +msgstr "Ruta" -#: InvenTree/models.py:1021 +#: InvenTree/models.py:1035 msgid "Markdown notes (optional)" -msgstr "" +msgstr "Notas (opcional)" -#: InvenTree/models.py:1050 +#: InvenTree/models.py:1064 msgid "Barcode Data" -msgstr "" +msgstr "Datos de código de barras" -#: InvenTree/models.py:1051 +#: InvenTree/models.py:1065 msgid "Third party barcode data" -msgstr "" +msgstr "Datos de código de barras de terceros" -#: InvenTree/models.py:1057 +#: InvenTree/models.py:1071 msgid "Barcode Hash" -msgstr "" +msgstr "Hash del Código de barras" -#: InvenTree/models.py:1058 +#: InvenTree/models.py:1072 msgid "Unique hash of barcode data" -msgstr "" +msgstr "Hash único de datos de código de barras" -#: InvenTree/models.py:1111 +#: InvenTree/models.py:1125 msgid "Existing barcode found" -msgstr "" +msgstr "Código de barras existente encontrado" -#: InvenTree/models.py:1154 +#: InvenTree/models.py:1168 msgid "Server Error" -msgstr "" +msgstr "Error de servidor" -#: InvenTree/models.py:1155 +#: InvenTree/models.py:1169 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:62 part/models.py:4169 +#: InvenTree/serializers.py:62 part/models.py:4212 msgid "Must be a valid number" msgstr "" #: InvenTree/serializers.py:99 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:2993 +#: company/templates/company/company_base.html:112 part/models.py:3036 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -686,7 +686,7 @@ msgstr "" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1161 +#: InvenTree/status.py:66 part/serializers.py:1176 msgid "Background worker check failed" msgstr "" @@ -699,8 +699,8 @@ msgid "InvenTree system health checks failed" msgstr "" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:37 -#: InvenTree/status_codes.py:148 InvenTree/status_codes.py:164 -#: InvenTree/status_codes.py:182 generic/states/tests.py:17 +#: InvenTree/status_codes.py:149 InvenTree/status_codes.py:165 +#: InvenTree/status_codes.py:183 generic/states/tests.py:17 #: templates/js/translated/table_filters.js:598 msgid "Pending" msgstr "" @@ -709,188 +709,188 @@ msgstr "" msgid "Placed" msgstr "" -#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:151 -#: InvenTree/status_codes.py:169 generic/states/tests.py:19 -#: order/templates/order/order_base.html:158 -#: order/templates/order/sales_order_base.html:161 +#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:44 +#: InvenTree/status_codes.py:152 InvenTree/status_codes.py:170 +#: generic/states/tests.py:19 order/templates/order/order_base.html:158 +#: order/templates/order/sales_order_base.html:165 report/models.py:444 msgid "Complete" msgstr "" -#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:44 -#: InvenTree/status_codes.py:150 InvenTree/status_codes.py:170 +#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:45 +#: InvenTree/status_codes.py:151 InvenTree/status_codes.py:171 msgid "Cancelled" msgstr "" -#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:45 -#: InvenTree/status_codes.py:67 +#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:46 +#: InvenTree/status_codes.py:68 msgid "Lost" msgstr "" -#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:46 -#: InvenTree/status_codes.py:73 +#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:47 +#: InvenTree/status_codes.py:74 msgid "Returned" msgstr "" -#: InvenTree/status_codes.py:40 InvenTree/status_codes.py:167 +#: InvenTree/status_codes.py:40 InvenTree/status_codes.py:168 msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:43 order/models.py:1566 -#: templates/js/translated/sales_order.js:1523 -#: templates/js/translated/sales_order.js:1644 -#: templates/js/translated/sales_order.js:1957 +#: InvenTree/status_codes.py:43 order/models.py:1606 +#: templates/js/translated/sales_order.js:1559 +#: templates/js/translated/sales_order.js:1680 +#: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "" -#: InvenTree/status_codes.py:62 +#: InvenTree/status_codes.py:63 msgid "OK" msgstr "" -#: InvenTree/status_codes.py:63 +#: InvenTree/status_codes.py:64 msgid "Attention needed" msgstr "" -#: InvenTree/status_codes.py:64 +#: InvenTree/status_codes.py:65 msgid "Damaged" msgstr "" -#: InvenTree/status_codes.py:65 +#: InvenTree/status_codes.py:66 msgid "Destroyed" msgstr "" -#: InvenTree/status_codes.py:66 +#: InvenTree/status_codes.py:67 msgid "Rejected" msgstr "" -#: InvenTree/status_codes.py:70 +#: InvenTree/status_codes.py:71 msgid "Quarantined" msgstr "" -#: InvenTree/status_codes.py:91 +#: InvenTree/status_codes.py:92 msgid "Legacy stock tracking entry" msgstr "" -#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:544 +#: InvenTree/status_codes.py:94 templates/js/translated/stock.js:544 msgid "Stock item created" msgstr "" -#: InvenTree/status_codes.py:96 +#: InvenTree/status_codes.py:97 msgid "Edited stock item" msgstr "" -#: InvenTree/status_codes.py:97 +#: InvenTree/status_codes.py:98 msgid "Assigned serial number" msgstr "" -#: InvenTree/status_codes.py:100 +#: InvenTree/status_codes.py:101 msgid "Stock counted" msgstr "" -#: InvenTree/status_codes.py:101 +#: InvenTree/status_codes.py:102 msgid "Stock manually added" msgstr "" -#: InvenTree/status_codes.py:102 +#: InvenTree/status_codes.py:103 msgid "Stock manually removed" msgstr "" -#: InvenTree/status_codes.py:105 +#: InvenTree/status_codes.py:106 msgid "Location changed" msgstr "" -#: InvenTree/status_codes.py:106 +#: InvenTree/status_codes.py:107 msgid "Stock updated" msgstr "" -#: InvenTree/status_codes.py:109 +#: InvenTree/status_codes.py:110 msgid "Installed into assembly" msgstr "" -#: InvenTree/status_codes.py:110 +#: InvenTree/status_codes.py:111 msgid "Removed from assembly" msgstr "" -#: InvenTree/status_codes.py:112 +#: InvenTree/status_codes.py:113 msgid "Installed component item" msgstr "" -#: InvenTree/status_codes.py:113 +#: InvenTree/status_codes.py:114 msgid "Removed component item" msgstr "" -#: InvenTree/status_codes.py:116 +#: InvenTree/status_codes.py:117 msgid "Split from parent item" msgstr "" -#: InvenTree/status_codes.py:117 +#: InvenTree/status_codes.py:118 msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1858 +#: InvenTree/status_codes.py:121 templates/js/translated/stock.js:1858 msgid "Merged stock items" msgstr "" -#: InvenTree/status_codes.py:123 +#: InvenTree/status_codes.py:124 msgid "Converted to variant" msgstr "" -#: InvenTree/status_codes.py:126 +#: InvenTree/status_codes.py:127 msgid "Build order output created" msgstr "" -#: InvenTree/status_codes.py:127 +#: InvenTree/status_codes.py:128 msgid "Build order output completed" msgstr "" -#: InvenTree/status_codes.py:128 +#: InvenTree/status_codes.py:129 msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1764 +#: InvenTree/status_codes.py:130 templates/js/translated/stock.js:1764 msgid "Consumed by build order" msgstr "" -#: InvenTree/status_codes.py:132 +#: InvenTree/status_codes.py:133 msgid "Shipped against Sales Order" msgstr "" -#: InvenTree/status_codes.py:135 +#: InvenTree/status_codes.py:136 msgid "Received against Purchase Order" msgstr "" -#: InvenTree/status_codes.py:138 +#: InvenTree/status_codes.py:139 msgid "Returned against Return Order" msgstr "" -#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:375 +#: InvenTree/status_codes.py:142 templates/js/translated/table_filters.js:375 msgid "Sent to customer" msgstr "" -#: InvenTree/status_codes.py:142 +#: InvenTree/status_codes.py:143 msgid "Returned from customer" msgstr "" -#: InvenTree/status_codes.py:149 +#: InvenTree/status_codes.py:150 msgid "Production" msgstr "" -#: InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:186 msgid "Return" msgstr "" -#: InvenTree/status_codes.py:188 +#: InvenTree/status_codes.py:189 msgid "Repair" msgstr "" -#: InvenTree/status_codes.py:191 +#: InvenTree/status_codes.py:192 msgid "Replace" msgstr "" -#: InvenTree/status_codes.py:194 +#: InvenTree/status_codes.py:195 msgid "Refund" msgstr "" -#: InvenTree/status_codes.py:197 +#: InvenTree/status_codes.py:198 msgid "Reject" msgstr "" @@ -946,14 +946,14 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:299 part/models.py:4047 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4090 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4041 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4084 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -969,7 +969,7 @@ msgstr "" #: build/api.py:303 part/admin.py:144 templates/js/translated/build.js:1744 #: templates/js/translated/build.js:2629 -#: templates/js/translated/sales_order.js:1929 +#: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "" @@ -980,7 +980,7 @@ msgstr "" #: templates/email/low_stock_notification.html:17 #: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 #: templates/js/translated/index.js:123 -#: templates/js/translated/model_renderers.js:228 +#: templates/js/translated/model_renderers.js:234 #: templates/js/translated/part.js:692 templates/js/translated/part.js:694 #: templates/js/translated/part.js:699 #: templates/js/translated/table_filters.js:340 @@ -988,16 +988,16 @@ msgstr "" msgid "Available" msgstr "" -#: build/models.py:74 build/templates/build/build_base.html:9 +#: build/models.py:82 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 -#: report/templates/report/inventree_build_order_base.html:105 -#: templates/email/build_order_completed.html:16 +#: report/templates/report/inventree_build_order_report.html:105 +#: stock/serializers.py:83 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2895 +#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2892 msgid "Build Order" msgstr "" -#: build/models.py:75 build/templates/build/build_base.html:13 +#: build/models.py:83 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -1008,71 +1008,71 @@ msgstr "" msgid "Build Orders" msgstr "" -#: build/models.py:122 +#: build/models.py:130 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:133 order/models.py:239 +#: build/models.py:141 order/models.py:241 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:139 +#: build/models.py:147 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:185 +#: build/models.py:208 msgid "Build Order Reference" msgstr "" -#: build/models.py:186 order/models.py:442 order/models.py:898 -#: order/models.py:1276 order/models.py:1998 part/admin.py:417 -#: part/models.py:4062 part/templates/part/upload_bom.html:54 +#: build/models.py:209 order/models.py:464 order/models.py:929 +#: order/models.py:1316 order/models.py:2047 part/admin.py:419 +#: part/models.py:4105 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 -#: report/templates/report/inventree_so_report_base.html:28 +#: report/templates/report/inventree_purchase_order_report.html:28 +#: report/templates/report/inventree_return_order_report.html:26 +#: report/templates/report/inventree_sales_order_report.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 #: templates/js/translated/build.js:2512 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 -#: templates/js/translated/purchase_order.js:2066 -#: templates/js/translated/return_order.js:729 -#: templates/js/translated/sales_order.js:1818 +#: templates/js/translated/purchase_order.js:2065 +#: templates/js/translated/return_order.js:728 +#: templates/js/translated/sales_order.js:1854 msgid "Reference" msgstr "" -#: build/models.py:197 +#: build/models.py:220 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:205 build/templates/build/build_base.html:183 +#: build/models.py:228 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:206 +#: build/models.py:229 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:211 build/templates/build/build_base.html:97 +#: build/models.py:234 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 -#: order/models.py:1401 order/models.py:1546 order/models.py:1547 -#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004 -#: part/models.py:3148 part/models.py:3292 part/models.py:3315 -#: part/models.py:3336 part/models.py:3358 part/models.py:3468 -#: part/models.py:3764 part/models.py:3920 part/models.py:4013 -#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713 +#: order/models.py:1441 order/models.py:1586 order/models.py:1587 +#: part/api.py:1501 part/api.py:1795 part/models.py:392 part/models.py:3047 +#: part/models.py:3191 part/models.py:3335 part/models.py:3358 +#: part/models.py:3379 part/models.py:3401 part/models.py:3511 +#: part/models.py:3807 part/models.py:3963 part/models.py:4056 +#: part/models.py:4417 part/serializers.py:1122 part/serializers.py:1728 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 -#: report/templates/report/inventree_build_order_base.html:109 -#: report/templates/report/inventree_po_report_base.html:27 -#: report/templates/report/inventree_return_order_report_base.html:24 -#: report/templates/report/inventree_slr_report.html:102 -#: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:267 stock/serializers.py:689 -#: templates/InvenTree/search.html:82 +#: report/templates/report/inventree_build_order_report.html:109 +#: report/templates/report/inventree_purchase_order_report.html:27 +#: report/templates/report/inventree_return_order_report.html:24 +#: report/templates/report/inventree_sales_order_report.html:27 +#: report/templates/report/inventree_stock_location_report.html:102 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:396 +#: stock/serializers.py:818 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -1086,235 +1086,239 @@ msgstr "" #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 #: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 -#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:2323 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:751 #: templates/js/translated/purchase_order.js:1304 -#: templates/js/translated/purchase_order.js:1849 -#: templates/js/translated/purchase_order.js:2008 -#: templates/js/translated/return_order.js:539 -#: templates/js/translated/return_order.js:710 +#: templates/js/translated/purchase_order.js:1848 +#: templates/js/translated/purchase_order.js:2007 +#: templates/js/translated/return_order.js:538 +#: templates/js/translated/return_order.js:709 #: templates/js/translated/sales_order.js:300 -#: templates/js/translated/sales_order.js:1197 -#: templates/js/translated/sales_order.js:1598 -#: templates/js/translated/sales_order.js:1796 +#: templates/js/translated/sales_order.js:1233 +#: templates/js/translated/sales_order.js:1634 +#: templates/js/translated/sales_order.js:1832 #: templates/js/translated/stock.js:676 templates/js/translated/stock.js:842 -#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1999 -#: templates/js/translated/stock.js:2860 templates/js/translated/stock.js:3093 -#: templates/js/translated/stock.js:3239 +#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1997 +#: templates/js/translated/stock.js:2857 templates/js/translated/stock.js:3090 +#: templates/js/translated/stock.js:3236 msgid "Part" msgstr "" -#: build/models.py:219 +#: build/models.py:242 msgid "Select part to build" msgstr "" -#: build/models.py:224 +#: build/models.py:247 msgid "Sales Order Reference" msgstr "" -#: build/models.py:228 +#: build/models.py:251 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:233 build/serializers.py:970 +#: build/models.py:256 build/serializers.py:969 #: templates/js/translated/build.js:1731 -#: templates/js/translated/sales_order.js:1185 +#: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "" -#: build/models.py:237 +#: build/models.py:260 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:242 +#: build/models.py:265 msgid "Destination Location" msgstr "" -#: build/models.py:246 +#: build/models.py:269 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:250 +#: build/models.py:273 msgid "Build Quantity" msgstr "" -#: build/models.py:253 +#: build/models.py:276 msgid "Number of stock items to build" msgstr "" -#: build/models.py:257 +#: build/models.py:280 msgid "Completed items" msgstr "" -#: build/models.py:259 +#: build/models.py:282 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:263 +#: build/models.py:286 msgid "Build Status" msgstr "" -#: build/models.py:267 +#: build/models.py:290 msgid "Build status code" msgstr "" -#: build/models.py:276 build/serializers.py:278 order/serializers.py:581 -#: stock/models.py:823 stock/serializers.py:1333 +#: build/models.py:299 build/serializers.py:277 order/serializers.py:581 +#: stock/models.py:844 stock/serializers.py:75 stock/serializers.py:1462 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" -#: build/models.py:280 build/serializers.py:279 +#: build/models.py:303 build/serializers.py:278 msgid "Batch code for this build output" msgstr "" -#: build/models.py:283 order/models.py:304 order/serializers.py:120 -#: part/models.py:1079 part/templates/part/part_base.html:310 -#: templates/js/translated/return_order.js:339 -#: templates/js/translated/sales_order.js:827 +#: build/models.py:306 order/models.py:317 order/serializers.py:120 +#: part/models.py:1122 part/templates/part/part_base.html:310 +#: templates/js/translated/return_order.js:338 +#: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "" -#: build/models.py:287 +#: build/models.py:310 msgid "Target completion date" msgstr "" -#: build/models.py:288 +#: build/models.py:311 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:291 order/models.py:500 order/models.py:2043 +#: build/models.py:314 order/models.py:522 order/models.py:2092 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "" -#: build/models.py:297 +#: build/models.py:320 msgid "completed by" msgstr "" -#: build/models.py:305 templates/js/translated/build.js:2207 +#: build/models.py:328 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "" -#: build/models.py:306 +#: build/models.py:329 msgid "User who issued this build order" msgstr "" -#: build/models.py:314 build/templates/build/build_base.html:204 +#: build/models.py:337 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:145 -#: order/models.py:322 order/templates/order/order_base.html:217 +#: order/models.py:335 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1096 +#: order/templates/order/sales_order_base.html:232 part/models.py:1139 #: part/templates/part/part_base.html:390 -#: report/templates/report/inventree_build_order_base.html:158 +#: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 #: templates/js/translated/build.js:2219 -#: templates/js/translated/purchase_order.js:1764 -#: templates/js/translated/return_order.js:359 +#: templates/js/translated/purchase_order.js:1763 +#: templates/js/translated/return_order.js:358 #: templates/js/translated/table_filters.js:531 msgid "Responsible" msgstr "" -#: build/models.py:315 +#: build/models.py:338 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:320 build/templates/build/detail.html:108 +#: build/models.py:343 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 -#: order/templates/order/sales_order_base.html:180 -#: part/templates/part/part_base.html:383 stock/models.py:819 +#: order/templates/order/sales_order_base.html:184 +#: part/templates/part/part_base.html:383 stock/models.py:840 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "" -#: build/models.py:325 +#: build/models.py:348 msgid "Build Priority" msgstr "" -#: build/models.py:328 +#: build/models.py:351 msgid "Priority of this build order" msgstr "" -#: build/models.py:335 common/models.py:129 order/admin.py:18 -#: order/models.py:286 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:358 common/models.py:129 order/admin.py:18 +#: order/models.py:299 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 -#: templates/js/translated/purchase_order.js:1711 -#: templates/js/translated/return_order.js:318 -#: templates/js/translated/sales_order.js:806 +#: templates/js/translated/purchase_order.js:1710 +#: templates/js/translated/return_order.js:317 +#: templates/js/translated/sales_order.js:842 #: templates/js/translated/table_filters.js:48 #: templates/project_code_data.html:6 msgid "Project Code" msgstr "" -#: build/models.py:336 +#: build/models.py:359 msgid "Project code for this build order" msgstr "" -#: build/models.py:566 build/models.py:631 +#: build/models.py:589 build/models.py:654 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:588 +#: build/models.py:611 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:594 +#: build/models.py:617 msgid "A build order has been completed" msgstr "" -#: build/models.py:820 build/models.py:895 +#: build/models.py:843 build/models.py:918 msgid "No build output specified" msgstr "" -#: build/models.py:823 +#: build/models.py:846 msgid "Build output is already completed" msgstr "" -#: build/models.py:826 +#: build/models.py:849 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:899 build/serializers.py:221 build/serializers.py:260 -#: build/serializers.py:837 order/models.py:538 order/serializers.py:433 -#: order/serializers.py:576 part/serializers.py:1471 part/serializers.py:1871 -#: stock/models.py:662 stock/models.py:1482 stock/serializers.py:472 +#: build/models.py:922 build/serializers.py:220 build/serializers.py:259 +#: build/serializers.py:836 order/models.py:560 order/serializers.py:433 +#: order/serializers.py:576 part/serializers.py:1486 part/serializers.py:1886 +#: stock/models.py:683 stock/models.py:1503 stock/serializers.py:601 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:904 build/serializers.py:226 +#: build/models.py:927 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:961 build/serializers.py:539 +#: build/models.py:984 build/serializers.py:538 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1323 +#: build/models.py:1335 +msgid "Build Order Line Item" +msgstr "" + +#: build/models.py:1360 msgid "Build object" msgstr "" -#: build/models.py:1337 build/models.py:1593 build/serializers.py:208 -#: build/serializers.py:245 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2524 -#: order/models.py:1259 order/models.py:1918 order/serializers.py:1339 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 -#: part/forms.py:48 part/models.py:3162 part/models.py:4035 +#: build/models.py:1374 build/models.py:1630 build/serializers.py:207 +#: build/serializers.py:244 build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2530 +#: order/models.py:1299 order/models.py:1958 order/serializers.py:1339 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 +#: part/forms.py:48 part/models.py:3205 part/models.py:4078 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 -#: report/templates/report/inventree_build_order_base.html:113 -#: report/templates/report/inventree_po_report_base.html:29 -#: report/templates/report/inventree_slr_report.html:104 -#: report/templates/report/inventree_so_report_base.html:29 -#: report/templates/report/inventree_test_report_base.html:90 -#: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:160 stock/serializers.py:463 +#: report/templates/report/inventree_build_order_report.html:113 +#: report/templates/report/inventree_purchase_order_report.html:29 +#: report/templates/report/inventree_sales_order_report.html:29 +#: report/templates/report/inventree_stock_location_report.html:104 +#: report/templates/report/inventree_test_report.html:90 +#: report/templates/report/inventree_test_report.html:170 stock/admin.py:160 +#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:592 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1324,380 +1328,381 @@ msgstr "" #: templates/js/translated/build.js:737 templates/js/translated/build.js:1369 #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 -#: templates/js/translated/model_renderers.js:230 +#: templates/js/translated/model_renderers.js:236 #: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3341 +#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3340 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 #: templates/js/translated/purchase_order.js:754 -#: templates/js/translated/purchase_order.js:1853 -#: templates/js/translated/purchase_order.js:2072 +#: templates/js/translated/purchase_order.js:1852 +#: templates/js/translated/purchase_order.js:2071 #: templates/js/translated/sales_order.js:317 -#: templates/js/translated/sales_order.js:1199 -#: templates/js/translated/sales_order.js:1518 -#: templates/js/translated/sales_order.js:1608 -#: templates/js/translated/sales_order.js:1698 -#: templates/js/translated/sales_order.js:1824 +#: templates/js/translated/sales_order.js:1235 +#: templates/js/translated/sales_order.js:1554 +#: templates/js/translated/sales_order.js:1644 +#: templates/js/translated/sales_order.js:1734 +#: templates/js/translated/sales_order.js:1860 #: templates/js/translated/stock.js:564 templates/js/translated/stock.js:702 -#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:3024 -#: templates/js/translated/stock.js:3107 +#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:3021 +#: templates/js/translated/stock.js:3104 msgid "Quantity" msgstr "" -#: build/models.py:1338 +#: build/models.py:1375 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1418 +#: build/models.py:1455 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1427 +#: build/models.py:1464 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1437 order/models.py:1869 +#: build/models.py:1474 order/models.py:1909 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1443 order/models.py:1872 +#: build/models.py:1480 order/models.py:1912 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1449 +#: build/models.py:1486 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1508 +#: build/models.py:1545 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1580 build/serializers.py:817 order/serializers.py:1183 -#: order/serializers.py:1204 stock/serializers.py:566 stock/serializers.py:1052 -#: stock/serializers.py:1164 stock/templates/stock/item_base.html:10 +#: build/models.py:1617 build/serializers.py:816 order/serializers.py:1183 +#: order/serializers.py:1204 stock/models.py:364 stock/serializers.py:92 +#: stock/serializers.py:695 stock/serializers.py:1181 stock/serializers.py:1293 +#: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 #: templates/js/translated/build.js:1745 #: templates/js/translated/sales_order.js:301 -#: templates/js/translated/sales_order.js:1198 -#: templates/js/translated/sales_order.js:1499 -#: templates/js/translated/sales_order.js:1504 -#: templates/js/translated/sales_order.js:1605 -#: templates/js/translated/sales_order.js:1692 +#: templates/js/translated/sales_order.js:1234 +#: templates/js/translated/sales_order.js:1535 +#: templates/js/translated/sales_order.js:1540 +#: templates/js/translated/sales_order.js:1641 +#: templates/js/translated/sales_order.js:1728 #: templates/js/translated/stock.js:677 templates/js/translated/stock.js:843 -#: templates/js/translated/stock.js:2980 +#: templates/js/translated/stock.js:2977 msgid "Stock Item" msgstr "" -#: build/models.py:1581 +#: build/models.py:1618 msgid "Source stock item" msgstr "" -#: build/models.py:1594 +#: build/models.py:1631 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1602 +#: build/models.py:1639 msgid "Install into" msgstr "" -#: build/models.py:1603 +#: build/models.py:1640 msgid "Destination stock item" msgstr "" -#: build/serializers.py:158 build/serializers.py:846 +#: build/serializers.py:157 build/serializers.py:845 #: templates/js/translated/build.js:1322 msgid "Build Output" msgstr "" -#: build/serializers.py:170 +#: build/serializers.py:169 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:174 +#: build/serializers.py:173 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:178 +#: build/serializers.py:177 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:189 +#: build/serializers.py:188 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:209 build/serializers.py:246 +#: build/serializers.py:208 build/serializers.py:245 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:267 +#: build/serializers.py:266 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:270 +#: build/serializers.py:269 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:285 order/serializers.py:589 order/serializers.py:1343 -#: stock/serializers.py:483 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:284 order/serializers.py:589 order/serializers.py:1343 +#: stock/serializers.py:612 templates/js/translated/purchase_order.js:1153 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:286 +#: build/serializers.py:285 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:291 build/serializers.py:432 build/serializers.py:504 +#: build/serializers.py:290 build/serializers.py:431 build/serializers.py:503 #: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1679 -#: part/serializers.py:1127 stock/serializers.py:494 stock/serializers.py:654 -#: stock/serializers.py:750 stock/serializers.py:1196 stock/serializers.py:1452 -#: stock/templates/stock/item_base.html:394 +#: part/serializers.py:1142 stock/serializers.py:101 stock/serializers.py:623 +#: stock/serializers.py:783 stock/serializers.py:879 stock/serializers.py:1325 +#: stock/serializers.py:1581 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 #: templates/js/translated/purchase_order.js:1178 #: templates/js/translated/purchase_order.js:1268 -#: templates/js/translated/sales_order.js:1511 -#: templates/js/translated/sales_order.js:1619 -#: templates/js/translated/sales_order.js:1627 -#: templates/js/translated/sales_order.js:1706 +#: templates/js/translated/sales_order.js:1547 +#: templates/js/translated/sales_order.js:1655 +#: templates/js/translated/sales_order.js:1663 +#: templates/js/translated/sales_order.js:1742 #: templates/js/translated/stock.js:678 templates/js/translated/stock.js:844 -#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2203 -#: templates/js/translated/stock.js:2874 +#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2201 +#: templates/js/translated/stock.js:2871 msgid "Location" msgstr "" -#: build/serializers.py:292 +#: build/serializers.py:291 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:306 +#: build/serializers.py:305 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:307 +#: build/serializers.py:306 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:322 +#: build/serializers.py:321 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:347 stock/api.py:995 +#: build/serializers.py:346 stock/api.py:1029 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:394 build/serializers.py:456 build/serializers.py:545 +#: build/serializers.py:393 build/serializers.py:455 build/serializers.py:544 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:433 +#: build/serializers.py:432 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:439 +#: build/serializers.py:438 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:440 +#: build/serializers.py:439 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:445 +#: build/serializers.py:444 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:505 +#: build/serializers.py:504 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:511 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:922 -#: order/models.py:2022 order/serializers.py:597 stock/admin.py:165 -#: stock/serializers.py:801 stock/serializers.py:1340 +#: build/serializers.py:510 build/templates/build/build_base.html:151 +#: build/templates/build/detail.html:62 order/models.py:953 +#: order/models.py:2071 order/serializers.py:597 stock/admin.py:165 +#: stock/serializers.py:930 stock/serializers.py:1469 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 -#: templates/js/translated/purchase_order.js:1723 -#: templates/js/translated/return_order.js:331 -#: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2178 templates/js/translated/stock.js:2998 -#: templates/js/translated/stock.js:3123 +#: templates/js/translated/purchase_order.js:1722 +#: templates/js/translated/return_order.js:330 +#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/stock.js:2176 templates/js/translated/stock.js:2995 +#: templates/js/translated/stock.js:3120 msgid "Status" msgstr "" -#: build/serializers.py:517 +#: build/serializers.py:516 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:518 +#: build/serializers.py:517 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:598 +#: build/serializers.py:597 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:599 +#: build/serializers.py:598 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:605 +#: build/serializers.py:604 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:606 +#: build/serializers.py:605 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:633 +#: build/serializers.py:632 msgid "Not permitted" msgstr "" -#: build/serializers.py:634 +#: build/serializers.py:633 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:635 +#: build/serializers.py:634 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:657 +#: build/serializers.py:656 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:659 +#: build/serializers.py:658 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:669 +#: build/serializers.py:668 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:674 +#: build/serializers.py:673 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:675 +#: build/serializers.py:674 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:685 templates/js/translated/build.js:315 +#: build/serializers.py:684 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:690 order/serializers.py:301 order/serializers.py:1246 +#: build/serializers.py:689 order/serializers.py:301 order/serializers.py:1246 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:691 +#: build/serializers.py:690 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:701 templates/js/translated/build.js:319 +#: build/serializers.py:700 templates/js/translated/build.js:319 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:710 templates/js/translated/build.js:303 +#: build/serializers.py:709 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:740 +#: build/serializers.py:739 msgid "Build Line" msgstr "" -#: build/serializers.py:750 +#: build/serializers.py:749 msgid "Build output" msgstr "" -#: build/serializers.py:758 +#: build/serializers.py:757 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:794 +#: build/serializers.py:793 msgid "Build Line Item" msgstr "" -#: build/serializers.py:808 +#: build/serializers.py:807 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:823 stock/serializers.py:1065 +#: build/serializers.py:822 stock/serializers.py:1194 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:871 order/serializers.py:1237 +#: build/serializers.py:870 order/serializers.py:1237 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:877 +#: build/serializers.py:876 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:884 +#: build/serializers.py:883 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:908 order/serializers.py:1489 +#: build/serializers.py:907 order/serializers.py:1489 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:971 +#: build/serializers.py:970 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:979 +#: build/serializers.py:978 msgid "Exclude Location" msgstr "" -#: build/serializers.py:980 +#: build/serializers.py:979 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:985 +#: build/serializers.py:984 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:986 +#: build/serializers.py:985 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:991 +#: build/serializers.py:990 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:992 +#: build/serializers.py:991 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:997 +#: build/serializers.py:996 msgid "Optional Items" msgstr "" -#: build/serializers.py:998 +#: build/serializers.py:997 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1020 +#: build/serializers.py:1019 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1110 part/models.py:3930 part/models.py:4366 -#: stock/api.py:758 +#: build/serializers.py:1109 part/models.py:3973 part/models.py:4409 +#: stock/api.py:792 msgid "BOM Item" msgstr "" -#: build/serializers.py:1119 templates/js/translated/index.js:130 +#: build/serializers.py:1118 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1124 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:817 part/serializers.py:1489 +#: build/serializers.py:1123 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:832 part/serializers.py:1504 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 @@ -1705,15 +1710,15 @@ msgstr "" msgid "On Order" msgstr "" -#: build/serializers.py:1129 part/serializers.py:1491 +#: build/serializers.py:1128 part/serializers.py:1506 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1134 part/bom.py:172 part/serializers.py:1514 +#: build/serializers.py:1133 part/bom.py:172 part/serializers.py:1529 #: part/templates/part/part_base.html:192 -#: templates/js/translated/sales_order.js:1893 +#: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "" @@ -1842,18 +1847,18 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:297 -#: order/models.py:1294 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:310 +#: order/models.py:1334 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 -#: order/templates/order/sales_order_base.html:192 -#: report/templates/report/inventree_build_order_base.html:125 +#: order/templates/order/sales_order_base.html:196 +#: report/templates/report/inventree_build_order_report.html:125 #: templates/js/translated/build.js:2239 templates/js/translated/part.js:1830 -#: templates/js/translated/purchase_order.js:1740 -#: templates/js/translated/purchase_order.js:2148 -#: templates/js/translated/return_order.js:347 -#: templates/js/translated/return_order.js:751 -#: templates/js/translated/sales_order.js:835 -#: templates/js/translated/sales_order.js:1867 +#: templates/js/translated/purchase_order.js:1739 +#: templates/js/translated/purchase_order.js:2147 +#: templates/js/translated/return_order.js:346 +#: templates/js/translated/return_order.js:750 +#: templates/js/translated/sales_order.js:871 +#: templates/js/translated/sales_order.js:1903 msgid "Target Date" msgstr "" @@ -1866,7 +1871,7 @@ msgstr "" #: build/templates/build/build_base.html:222 #: order/templates/order/order_base.html:122 #: order/templates/order/return_order_base.html:117 -#: order/templates/order/sales_order_base.html:122 +#: order/templates/order/sales_order_base.html:126 #: templates/js/translated/table_filters.js:98 #: templates/js/translated/table_filters.js:524 #: templates/js/translated/table_filters.js:626 @@ -1880,24 +1885,24 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:1538 -#: order/models.py:1652 order/models.py:1806 +#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:848 +#: order/models.py:1578 order/models.py:1692 order/models.py:1846 #: 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 +#: report/templates/report/inventree_build_order_report.html:135 +#: report/templates/report/inventree_sales_order_report.html:14 #: stock/templates/stock/item_base.html:369 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:929 -#: templates/js/translated/sales_order.js:769 -#: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2927 +#: templates/js/translated/sales_order.js:805 +#: templates/js/translated/sales_order.js:1028 +#: templates/js/translated/stock.js:2924 msgid "Sales Order" msgstr "" #: build/templates/build/build_base.html:197 #: build/templates/build/detail.html:115 -#: report/templates/report/inventree_build_order_base.html:152 +#: report/templates/report/inventree_build_order_report.html:152 #: templates/js/translated/table_filters.js:24 msgid "Issued By" msgstr "" @@ -1907,15 +1912,15 @@ msgstr "" msgid "Priority" msgstr "" -#: build/templates/build/build_base.html:273 +#: build/templates/build/build_base.html:269 msgid "Delete Build Order" msgstr "" -#: build/templates/build/build_base.html:283 +#: build/templates/build/build_base.html:279 msgid "Build Order QR Code" msgstr "" -#: build/templates/build/build_base.html:295 +#: build/templates/build/build_base.html:291 msgid "Link Barcode to Build Order" msgstr "" @@ -1931,8 +1936,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1430 -#: templates/js/translated/purchase_order.js:2190 +#: build/templates/build/detail.html:49 order/models.py:1470 +#: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "" @@ -1947,10 +1952,10 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 #: templates/js/translated/build.js:1380 -#: templates/js/translated/model_renderers.js:235 +#: templates/js/translated/model_renderers.js:241 #: templates/js/translated/purchase_order.js:1274 -#: templates/js/translated/stock.js:1133 templates/js/translated/stock.js:2192 -#: templates/js/translated/stock.js:3130 +#: templates/js/translated/stock.js:1133 templates/js/translated/stock.js:2190 +#: templates/js/translated/stock.js:3127 #: templates/js/translated/table_filters.js:313 #: templates/js/translated/table_filters.js:404 msgid "Batch" @@ -1959,7 +1964,7 @@ msgstr "" #: build/templates/build/detail.html:133 #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:151 -#: order/templates/order/sales_order_base.html:186 +#: order/templates/order/sales_order_base.html:190 #: templates/js/translated/build.js:2199 msgid "Created" msgstr "" @@ -1969,7 +1974,7 @@ msgid "No target date set" msgstr "" #: build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:202 +#: order/templates/order/sales_order_base.html:206 #: templates/js/translated/table_filters.js:689 msgid "Completed" msgstr "" @@ -2260,8 +2265,8 @@ msgstr "" #: common/models.py:1316 common/models.py:1372 common/models.py:1385 #: common/models.py:1393 common/models.py:1402 common/models.py:1411 -#: common/models.py:1613 common/models.py:1635 common/models.py:1750 -#: common/models.py:2061 +#: common/models.py:1619 common/models.py:1641 common/models.py:1756 +#: common/models.py:2067 msgid "days" msgstr "" @@ -2402,1209 +2407,1218 @@ msgid "Enable revision field for Part" msgstr "" #: common/models.py:1440 -msgid "IPN Regex" +msgid "Allow Deletion from Assembly" msgstr "" #: common/models.py:1441 +msgid "Allow deletion of parts which are used in an assembly" +msgstr "" + +#: common/models.py:1446 +msgid "IPN Regex" +msgstr "" + +#: common/models.py:1447 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1444 +#: common/models.py:1450 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1445 +#: common/models.py:1451 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1450 +#: common/models.py:1456 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1451 +#: common/models.py:1457 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1456 +#: common/models.py:1462 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1457 +#: common/models.py:1463 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1462 +#: common/models.py:1468 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1463 +#: common/models.py:1469 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1468 +#: common/models.py:1474 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1469 +#: common/models.py:1475 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1474 +#: common/models.py:1480 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1475 +#: common/models.py:1481 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1480 part/admin.py:108 part/models.py:3772 -#: report/models.py:182 stock/serializers.py:99 +#: common/models.py:1486 part/admin.py:108 part/models.py:3815 +#: report/models.py:294 report/models.py:361 report/serializers.py:90 +#: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:767 msgid "Template" msgstr "" -#: common/models.py:1481 +#: common/models.py:1487 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1486 part/admin.py:91 part/admin.py:431 part/models.py:1016 +#: common/models.py:1492 part/admin.py:91 part/admin.py:433 part/models.py:1059 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "" -#: common/models.py:1487 +#: common/models.py:1493 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1492 part/admin.py:95 part/models.py:1022 +#: common/models.py:1498 part/admin.py:95 part/models.py:1065 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "" -#: common/models.py:1493 +#: common/models.py:1499 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1498 part/admin.py:100 part/models.py:1034 +#: common/models.py:1504 part/admin.py:100 part/models.py:1077 msgid "Purchaseable" msgstr "" -#: common/models.py:1499 +#: common/models.py:1505 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1504 part/admin.py:104 part/models.py:1040 +#: common/models.py:1510 part/admin.py:104 part/models.py:1083 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "" -#: common/models.py:1505 +#: common/models.py:1511 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1510 part/admin.py:113 part/models.py:1028 +#: common/models.py:1516 part/admin.py:113 part/models.py:1071 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "" -#: common/models.py:1511 +#: common/models.py:1517 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1516 part/admin.py:117 part/models.py:1050 +#: common/models.py:1522 part/admin.py:117 part/models.py:1093 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "" -#: common/models.py:1517 +#: common/models.py:1523 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1522 +#: common/models.py:1528 msgid "Show Import in Views" msgstr "" -#: common/models.py:1523 +#: common/models.py:1529 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1528 +#: common/models.py:1534 msgid "Show related parts" msgstr "" -#: common/models.py:1529 +#: common/models.py:1535 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1534 +#: common/models.py:1540 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1535 +#: common/models.py:1541 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1540 templates/js/translated/part.js:107 +#: common/models.py:1546 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1542 +#: common/models.py:1548 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1548 +#: common/models.py:1554 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1549 +#: common/models.py:1555 msgid "Format to display the part name" msgstr "" -#: common/models.py:1555 +#: common/models.py:1561 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1556 +#: common/models.py:1562 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1560 +#: common/models.py:1566 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1562 +#: common/models.py:1568 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1568 +#: common/models.py:1574 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1570 +#: common/models.py:1576 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1576 +#: common/models.py:1582 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1578 +#: common/models.py:1584 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1584 +#: common/models.py:1590 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1586 +#: common/models.py:1592 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1592 +#: common/models.py:1598 msgid "Purchase History Override" msgstr "" -#: common/models.py:1594 +#: common/models.py:1600 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1600 +#: common/models.py:1606 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1602 +#: common/models.py:1608 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1608 +#: common/models.py:1614 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1610 +#: common/models.py:1616 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1617 +#: common/models.py:1623 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1618 +#: common/models.py:1624 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1623 +#: common/models.py:1629 msgid "Active Variants Only" msgstr "" -#: common/models.py:1625 +#: common/models.py:1631 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1631 +#: common/models.py:1637 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1633 +#: common/models.py:1639 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1640 +#: common/models.py:1646 msgid "Internal Prices" msgstr "" -#: common/models.py:1641 +#: common/models.py:1647 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1646 +#: common/models.py:1652 msgid "Internal Price Override" msgstr "" -#: common/models.py:1648 +#: common/models.py:1654 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1654 +#: common/models.py:1660 msgid "Enable label printing" msgstr "" -#: common/models.py:1655 +#: common/models.py:1661 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1660 +#: common/models.py:1666 msgid "Label Image DPI" msgstr "" -#: common/models.py:1662 +#: common/models.py:1668 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1668 +#: common/models.py:1674 msgid "Enable Reports" msgstr "" -#: common/models.py:1669 +#: common/models.py:1675 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1674 templates/stats.html:25 +#: common/models.py:1680 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1675 +#: common/models.py:1681 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1680 +#: common/models.py:1686 msgid "Log Report Errors" msgstr "" -#: common/models.py:1681 +#: common/models.py:1687 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1686 plugin/builtin/labels/label_sheet.py:28 -#: report/models.py:203 +#: common/models.py:1692 plugin/builtin/labels/label_sheet.py:28 +#: report/models.py:302 msgid "Page Size" msgstr "" -#: common/models.py:1687 +#: common/models.py:1693 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1692 +#: common/models.py:1698 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1693 +#: common/models.py:1699 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1698 +#: common/models.py:1704 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1700 +#: common/models.py:1706 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1706 +#: common/models.py:1712 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1707 +#: common/models.py:1713 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1712 +#: common/models.py:1718 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1713 +#: common/models.py:1719 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1718 +#: common/models.py:1724 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1720 +#: common/models.py:1726 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1726 +#: common/models.py:1732 msgid "Batch Code Template" msgstr "" -#: common/models.py:1728 +#: common/models.py:1734 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1733 +#: common/models.py:1739 msgid "Stock Expiry" msgstr "" -#: common/models.py:1734 +#: common/models.py:1740 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1739 +#: common/models.py:1745 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1740 +#: common/models.py:1746 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1745 +#: common/models.py:1751 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1747 +#: common/models.py:1753 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1754 +#: common/models.py:1760 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1755 +#: common/models.py:1761 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1760 +#: common/models.py:1766 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1761 +#: common/models.py:1767 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1766 +#: common/models.py:1772 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1767 +#: common/models.py:1773 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1771 +#: common/models.py:1777 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1772 +#: common/models.py:1778 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1777 +#: common/models.py:1783 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1779 +#: common/models.py:1785 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1785 +#: common/models.py:1791 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1787 +#: common/models.py:1793 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1793 +#: common/models.py:1799 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1795 +#: common/models.py:1801 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1801 common/models.py:1829 common/models.py:1851 -#: common/models.py:1879 +#: common/models.py:1807 common/models.py:1835 common/models.py:1857 +#: common/models.py:1885 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1802 common/models.py:1830 common/models.py:1852 -#: common/models.py:1880 +#: common/models.py:1808 common/models.py:1836 common/models.py:1858 +#: common/models.py:1886 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1807 +#: common/models.py:1813 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1809 +#: common/models.py:1815 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1815 +#: common/models.py:1821 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1816 +#: common/models.py:1822 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1821 +#: common/models.py:1827 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1823 +#: common/models.py:1829 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1835 +#: common/models.py:1841 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1837 +#: common/models.py:1843 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1843 +#: common/models.py:1849 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1845 +#: common/models.py:1851 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1857 +#: common/models.py:1863 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1858 +#: common/models.py:1864 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1863 +#: common/models.py:1869 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1865 +#: common/models.py:1871 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1871 +#: common/models.py:1877 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1873 +#: common/models.py:1879 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1885 +#: common/models.py:1891 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1887 +#: common/models.py:1893 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1893 +#: common/models.py:1899 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1895 +#: common/models.py:1901 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1902 +#: common/models.py:1908 msgid "Enable password forgot" msgstr "" -#: common/models.py:1903 +#: common/models.py:1909 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1908 +#: common/models.py:1914 msgid "Enable registration" msgstr "" -#: common/models.py:1909 +#: common/models.py:1915 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1914 +#: common/models.py:1920 msgid "Enable SSO" msgstr "" -#: common/models.py:1915 +#: common/models.py:1921 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1920 +#: common/models.py:1926 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1922 +#: common/models.py:1928 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1928 +#: common/models.py:1934 msgid "Email required" msgstr "" -#: common/models.py:1929 +#: common/models.py:1935 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1934 +#: common/models.py:1940 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1936 +#: common/models.py:1942 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1942 +#: common/models.py:1948 msgid "Mail twice" msgstr "" -#: common/models.py:1943 +#: common/models.py:1949 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1948 +#: common/models.py:1954 msgid "Password twice" msgstr "" -#: common/models.py:1949 +#: common/models.py:1955 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1954 +#: common/models.py:1960 msgid "Allowed domains" msgstr "" -#: common/models.py:1956 +#: common/models.py:1962 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1962 +#: common/models.py:1968 msgid "Group on signup" msgstr "" -#: common/models.py:1963 +#: common/models.py:1969 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1968 +#: common/models.py:1974 msgid "Enforce MFA" msgstr "" -#: common/models.py:1969 +#: common/models.py:1975 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1974 +#: common/models.py:1980 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1976 +#: common/models.py:1982 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1984 +#: common/models.py:1990 msgid "Check for plugin updates" msgstr "" -#: common/models.py:1985 +#: common/models.py:1991 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:1991 +#: common/models.py:1997 msgid "Enable URL integration" msgstr "" -#: common/models.py:1992 +#: common/models.py:1998 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1998 +#: common/models.py:2004 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1999 +#: common/models.py:2005 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2005 +#: common/models.py:2011 msgid "Enable app integration" msgstr "" -#: common/models.py:2006 +#: common/models.py:2012 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2012 +#: common/models.py:2018 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2013 +#: common/models.py:2019 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2019 +#: common/models.py:2025 msgid "Enable event integration" msgstr "" -#: common/models.py:2020 +#: common/models.py:2026 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2026 +#: common/models.py:2032 msgid "Enable project codes" msgstr "" -#: common/models.py:2027 +#: common/models.py:2033 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2032 +#: common/models.py:2038 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2034 +#: common/models.py:2040 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2040 +#: common/models.py:2046 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2042 +#: common/models.py:2048 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2048 +#: common/models.py:2054 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2050 +#: common/models.py:2056 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2056 +#: common/models.py:2062 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2058 +#: common/models.py:2064 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2065 +#: common/models.py:2071 msgid "Display Users full names" msgstr "" -#: common/models.py:2066 +#: common/models.py:2072 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2071 +#: common/models.py:2077 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2072 +#: common/models.py:2078 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2084 common/models.py:2494 +#: common/models.py:2090 common/models.py:2500 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2127 +#: common/models.py:2133 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2129 +#: common/models.py:2135 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2135 +#: common/models.py:2141 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2136 +#: common/models.py:2142 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2141 +#: common/models.py:2147 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2142 +#: common/models.py:2148 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2147 +#: common/models.py:2153 msgid "Show latest parts" msgstr "" -#: common/models.py:2148 +#: common/models.py:2154 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2153 +#: common/models.py:2159 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2154 +#: common/models.py:2160 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2159 +#: common/models.py:2165 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2160 +#: common/models.py:2166 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2165 +#: common/models.py:2171 msgid "Show low stock" msgstr "" -#: common/models.py:2166 +#: common/models.py:2172 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2171 +#: common/models.py:2177 msgid "Show depleted stock" msgstr "" -#: common/models.py:2172 +#: common/models.py:2178 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2177 +#: common/models.py:2183 msgid "Show needed stock" msgstr "" -#: common/models.py:2178 +#: common/models.py:2184 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2183 +#: common/models.py:2189 msgid "Show expired stock" msgstr "" -#: common/models.py:2184 +#: common/models.py:2190 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2189 +#: common/models.py:2195 msgid "Show stale stock" msgstr "" -#: common/models.py:2190 +#: common/models.py:2196 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2195 +#: common/models.py:2201 msgid "Show pending builds" msgstr "" -#: common/models.py:2196 +#: common/models.py:2202 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2201 +#: common/models.py:2207 msgid "Show overdue builds" msgstr "" -#: common/models.py:2202 +#: common/models.py:2208 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2207 +#: common/models.py:2213 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2208 +#: common/models.py:2214 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2213 +#: common/models.py:2219 msgid "Show overdue POs" msgstr "" -#: common/models.py:2214 +#: common/models.py:2220 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2219 +#: common/models.py:2225 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2220 +#: common/models.py:2226 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2225 +#: common/models.py:2231 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2226 +#: common/models.py:2232 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2231 +#: common/models.py:2237 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2232 +#: common/models.py:2238 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2237 +#: common/models.py:2243 msgid "Show News" msgstr "" -#: common/models.py:2238 +#: common/models.py:2244 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2243 +#: common/models.py:2249 msgid "Inline label display" msgstr "" -#: common/models.py:2245 +#: common/models.py:2251 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2251 +#: common/models.py:2257 msgid "Default label printer" msgstr "" -#: common/models.py:2253 +#: common/models.py:2259 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2259 +#: common/models.py:2265 msgid "Inline report display" msgstr "" -#: common/models.py:2261 +#: common/models.py:2267 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2267 +#: common/models.py:2273 msgid "Search Parts" msgstr "" -#: common/models.py:2268 +#: common/models.py:2274 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2273 +#: common/models.py:2279 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2274 +#: common/models.py:2280 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2279 +#: common/models.py:2285 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2280 +#: common/models.py:2286 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2285 +#: common/models.py:2291 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2286 +#: common/models.py:2292 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2291 +#: common/models.py:2297 msgid "Search Categories" msgstr "" -#: common/models.py:2292 +#: common/models.py:2298 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2297 +#: common/models.py:2303 msgid "Search Stock" msgstr "" -#: common/models.py:2298 +#: common/models.py:2304 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2303 +#: common/models.py:2309 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2305 +#: common/models.py:2311 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2311 +#: common/models.py:2317 msgid "Search Locations" msgstr "" -#: common/models.py:2312 +#: common/models.py:2318 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2317 +#: common/models.py:2323 msgid "Search Companies" msgstr "" -#: common/models.py:2318 +#: common/models.py:2324 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2323 +#: common/models.py:2329 msgid "Search Build Orders" msgstr "" -#: common/models.py:2324 +#: common/models.py:2330 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2329 +#: common/models.py:2335 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2330 +#: common/models.py:2336 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2335 +#: common/models.py:2341 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2337 +#: common/models.py:2343 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2343 +#: common/models.py:2349 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2344 +#: common/models.py:2350 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2349 +#: common/models.py:2355 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2351 +#: common/models.py:2357 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2357 +#: common/models.py:2363 msgid "Search Return Orders" msgstr "" -#: common/models.py:2358 +#: common/models.py:2364 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2363 +#: common/models.py:2369 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2365 +#: common/models.py:2371 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2371 +#: common/models.py:2377 msgid "Search Preview Results" msgstr "" -#: common/models.py:2373 +#: common/models.py:2379 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2379 +#: common/models.py:2385 msgid "Regex Search" msgstr "" -#: common/models.py:2380 +#: common/models.py:2386 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2385 +#: common/models.py:2391 msgid "Whole Word Search" msgstr "" -#: common/models.py:2386 +#: common/models.py:2392 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2391 +#: common/models.py:2397 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2392 +#: common/models.py:2398 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2397 +#: common/models.py:2403 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2398 +#: common/models.py:2404 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2403 +#: common/models.py:2409 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2404 +#: common/models.py:2410 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2409 +#: common/models.py:2415 msgid "Date Format" msgstr "" -#: common/models.py:2410 +#: common/models.py:2416 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2423 part/templates/part/detail.html:41 +#: common/models.py:2429 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2424 +#: common/models.py:2430 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2429 part/templates/part/detail.html:62 +#: common/models.py:2435 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2431 +#: common/models.py:2437 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2437 +#: common/models.py:2443 msgid "Table String Length" msgstr "" -#: common/models.py:2439 +#: common/models.py:2445 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2445 +#: common/models.py:2451 msgid "Default part label template" msgstr "" -#: common/models.py:2446 +#: common/models.py:2452 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2451 +#: common/models.py:2457 msgid "Default stock item template" msgstr "" -#: common/models.py:2453 +#: common/models.py:2459 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2459 +#: common/models.py:2465 msgid "Default stock location label template" msgstr "" -#: common/models.py:2461 +#: common/models.py:2467 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2467 +#: common/models.py:2473 msgid "Default build line label template" msgstr "" -#: common/models.py:2469 +#: common/models.py:2475 msgid "The build line label template to be automatically selected" msgstr "" -#: common/models.py:2475 +#: common/models.py:2481 msgid "Receive error reports" msgstr "" -#: common/models.py:2476 +#: common/models.py:2482 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2481 +#: common/models.py:2487 msgid "Last used printing machines" msgstr "" -#: common/models.py:2482 +#: common/models.py:2488 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2525 +#: common/models.py:2531 msgid "Price break quantity" msgstr "" -#: common/models.py:2532 company/serializers.py:496 order/admin.py:42 -#: order/models.py:1333 order/models.py:2243 +#: common/models.py:2538 company/serializers.py:496 order/admin.py:42 +#: order/models.py:1373 order/models.py:2292 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 -#: templates/js/translated/return_order.js:741 +#: templates/js/translated/return_order.js:740 msgid "Price" msgstr "" -#: common/models.py:2533 +#: common/models.py:2539 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2704 common/models.py:2889 +#: common/models.py:2710 common/models.py:2895 msgid "Endpoint" msgstr "" -#: common/models.py:2705 +#: common/models.py:2711 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2715 +#: common/models.py:2721 msgid "Name for this webhook" msgstr "" -#: common/models.py:2719 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1045 -#: plugin/models.py:56 templates/js/translated/company.js:523 +#: common/models.py:2725 company/models.py:160 company/models.py:814 +#: machine/models.py:39 part/admin.py:88 part/models.py:1088 +#: plugin/models.py:65 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:492 @@ -3614,135 +3628,135 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2719 +#: common/models.py:2725 msgid "Is this webhook active" msgstr "" -#: common/models.py:2735 users/models.py:159 +#: common/models.py:2741 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2736 +#: common/models.py:2742 msgid "Token for access" msgstr "" -#: common/models.py:2744 +#: common/models.py:2750 msgid "Secret" msgstr "" -#: common/models.py:2745 +#: common/models.py:2751 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2853 +#: common/models.py:2859 msgid "Message ID" msgstr "" -#: common/models.py:2854 +#: common/models.py:2860 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2862 +#: common/models.py:2868 msgid "Host" msgstr "" -#: common/models.py:2863 +#: common/models.py:2869 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2871 +#: common/models.py:2877 msgid "Header" msgstr "" -#: common/models.py:2872 +#: common/models.py:2878 msgid "Header of this message" msgstr "" -#: common/models.py:2879 +#: common/models.py:2885 msgid "Body" msgstr "" -#: common/models.py:2880 +#: common/models.py:2886 msgid "Body of this message" msgstr "" -#: common/models.py:2890 +#: common/models.py:2896 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2895 +#: common/models.py:2901 msgid "Worked on" msgstr "" -#: common/models.py:2896 +#: common/models.py:2902 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3022 +#: common/models.py:3028 msgid "Id" msgstr "" -#: common/models.py:3024 templates/js/translated/company.js:965 +#: common/models.py:3030 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3028 templates/js/translated/news.js:60 +#: common/models.py:3034 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3030 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3036 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3032 templates/js/translated/news.js:52 +#: common/models.py:3038 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3035 +#: common/models.py:3041 msgid "Read" msgstr "" -#: common/models.py:3035 +#: common/models.py:3041 msgid "Was this news item read?" msgstr "" -#: common/models.py:3052 company/models.py:156 part/models.py:929 +#: common/models.py:3058 company/models.py:156 part/models.py:972 #: 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 +#: report/templates/report/inventree_return_order_report.html:35 #: stock/templates/stock/item_base.html:133 templates/503.html:31 #: templates/hover_image.html:7 templates/hover_image.html:9 #: templates/modals.html:6 msgid "Image" msgstr "" -#: common/models.py:3052 +#: common/models.py:3058 msgid "Image file" msgstr "" -#: common/models.py:3094 +#: common/models.py:3100 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3113 +#: common/models.py:3119 msgid "Unit name" msgstr "" -#: common/models.py:3120 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3126 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3121 +#: common/models.py:3127 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3128 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3134 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3129 +#: common/models.py:3135 msgid "Unit definition" msgstr "" @@ -3929,9 +3943,9 @@ msgid "Contact email address" msgstr "" #: company/models.py:139 company/templates/company/company_base.html:145 -#: order/models.py:331 order/templates/order/order_base.html:203 +#: order/models.py:344 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 -#: order/templates/order/sales_order_base.html:214 +#: order/templates/order/sales_order_base.html:218 msgid "Contact" msgstr "" @@ -3977,7 +3991,7 @@ msgstr "" #: company/models.py:273 company/models.py:382 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:776 +#: company/templates/company/company_base.html:12 stock/api.py:810 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "" @@ -4069,8 +4083,8 @@ msgstr "" msgid "Link to address information (external)" msgstr "" -#: company/models.py:489 company/models.py:792 stock/models.py:751 -#: stock/serializers.py:266 stock/templates/stock/item_base.html:142 +#: company/models.py:489 company/models.py:792 stock/models.py:772 +#: stock/serializers.py:395 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -4081,7 +4095,7 @@ msgstr "" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:515 +#: company/templates/company/supplier_part.html:145 part/serializers.py:530 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4096,13 +4110,13 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:525 +#: company/templates/company/supplier_part.html:153 part/serializers.py:540 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800 -#: templates/js/translated/purchase_order.js:1852 -#: templates/js/translated/purchase_order.js:2054 +#: templates/js/translated/purchase_order.js:1851 +#: templates/js/translated/purchase_order.js:2053 msgid "MPN" msgstr "" @@ -4129,9 +4143,8 @@ msgstr "" msgid "Parameter name" msgstr "" -#: company/models.py:621 -#: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2448 templates/js/translated/company.js:1166 +#: company/models.py:621 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2425 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492 #: templates/js/translated/stock.js:1522 msgid "Value" @@ -4142,10 +4155,10 @@ msgid "Parameter value" msgstr "" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1009 part/models.py:3623 +#: part/admin.py:57 part/models.py:1052 part/models.py:3666 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 -#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370 +#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 msgid "Units" msgstr "" @@ -4166,9 +4179,9 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:465 +#: company/templates/company/supplier_part.html:129 order/models.py:487 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:499 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:514 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4176,7 +4189,7 @@ msgstr "" #: templates/js/translated/company.js:511 #: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1690 +#: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/table_filters.js:804 msgid "Supplier" msgstr "" @@ -4185,7 +4198,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:809 part/serializers.py:510 +#: company/models.py:809 part/serializers.py:525 msgid "Supplier stock keeping unit" msgstr "" @@ -4206,29 +4219,29 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:418 part/models.py:4070 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4113 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 -#: report/templates/report/inventree_slr_report.html:105 -#: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:579 +#: report/templates/report/inventree_purchase_order_report.html:32 +#: report/templates/report/inventree_return_order_report.html:27 +#: report/templates/report/inventree_sales_order_report.html:32 +#: report/templates/report/inventree_stock_location_report.html:105 +#: stock/serializers.py:708 msgid "Note" msgstr "" -#: company/models.py:857 part/models.py:1967 +#: company/models.py:857 part/models.py:2010 msgid "base cost" msgstr "" -#: company/models.py:858 part/models.py:1968 +#: company/models.py:858 part/models.py:2011 msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:782 stock/serializers.py:1350 +#: stock/admin.py:224 stock/models.py:803 stock/serializers.py:1479 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 -#: templates/js/translated/stock.js:2426 +#: templates/js/translated/stock.js:2424 msgid "Packaging" msgstr "" @@ -4241,8 +4254,8 @@ msgstr "" #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 -#: templates/js/translated/purchase_order.js:2085 -#: templates/js/translated/purchase_order.js:2102 +#: templates/js/translated/purchase_order.js:2084 +#: templates/js/translated/purchase_order.js:2101 msgid "Pack Quantity" msgstr "" @@ -4250,7 +4263,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:892 part/models.py:1974 +#: company/models.py:892 part/models.py:2017 msgid "multiple" msgstr "" @@ -4285,7 +4298,7 @@ msgstr "" #: part/templates/part/part_base.html:146 #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 -#: templates/js/translated/model_renderers.js:306 +#: templates/js/translated/model_renderers.js:312 #: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 msgid "Inactive" msgstr "" @@ -4321,11 +4334,11 @@ msgstr "" #: company/templates/company/manufacturer_part.html:51 #: company/templates/company/supplier_part.html:83 #: part/templates/part/part_thumb.html:20 -#: report/templates/report/inventree_build_order_base.html:98 -#: report/templates/report/inventree_po_report_base.html:40 -#: report/templates/report/inventree_so_report_base.html:40 -#: report/templates/report/inventree_test_report_base.html:84 -#: report/templates/report/inventree_test_report_base.html:163 +#: report/templates/report/inventree_build_order_report.html:98 +#: report/templates/report/inventree_purchase_order_report.html:40 +#: report/templates/report/inventree_sales_order_report.html:40 +#: report/templates/report/inventree_test_report.html:84 +#: report/templates/report/inventree_test_report.html:163 msgid "Part image" msgstr "" @@ -4344,16 +4357,16 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:92 order/models.py:910 -#: order/models.py:2010 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:144 stock/models.py:804 -#: stock/models.py:805 stock/serializers.py:1100 +#: company/templates/company/company_base.html:92 order/models.py:941 +#: order/models.py:2059 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:148 stock/models.py:825 +#: stock/models.py:826 stock/serializers.py:1229 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 -#: templates/js/translated/return_order.js:296 -#: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2962 +#: templates/js/translated/return_order.js:295 +#: templates/js/translated/sales_order.js:820 +#: templates/js/translated/stock.js:2959 #: templates/js/translated/table_filters.js:808 msgid "Customer" msgstr "" @@ -4362,10 +4375,10 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:124 order/models.py:341 +#: company/templates/company/company_base.html:124 order/models.py:354 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 -#: order/templates/order/sales_order_base.html:221 +#: order/templates/order/sales_order_base.html:225 msgid "Address" msgstr "" @@ -4374,7 +4387,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:211 -#: part/templates/part/part_base.html:528 +#: part/templates/part/part_base.html:527 msgid "Remove Image" msgstr "" @@ -4383,19 +4396,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:214 -#: part/templates/part/part_base.html:531 +#: part/templates/part/part_base.html:530 #: templates/InvenTree/settings/user.html:88 #: templates/InvenTree/settings/user_sso.html:43 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:243 -#: part/templates/part/part_base.html:560 +#: part/templates/part/part_base.html:559 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:258 -#: part/templates/part/part_base.html:614 +#: part/templates/part/part_base.html:613 msgid "Download Image" msgstr "" @@ -4558,7 +4571,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:821 +#: part/admin.py:122 part/serializers.py:836 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4609,10 +4622,10 @@ msgstr "" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:452 -#: stock/models.py:762 stock/templates/stock/item_base.html:233 +#: stock/models.py:783 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 -#: templates/js/translated/stock.js:2282 +#: templates/js/translated/stock.js:2280 msgid "Supplier Part" msgstr "" @@ -4658,11 +4671,11 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:509 +#: part/bom.py:311 part/serializers.py:524 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1851 -#: templates/js/translated/purchase_order.js:2029 +#: templates/js/translated/purchase_order.js:1850 +#: templates/js/translated/purchase_order.js:2028 msgid "SKU" msgstr "" @@ -4671,12 +4684,12 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:209 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:199 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:206 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:200 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:207 #: templates/js/translated/stock.js:537 msgid "New Stock Item" msgstr "" @@ -4708,16 +4721,16 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:820 part/stocktake.py:223 +#: part/serializers.py:835 part/stocktake.py:223 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:787 stock/serializers.py:951 +#: stock/serializers.py:916 stock/serializers.py:1080 #: stock/templates/stock/location.html:170 -#: stock/templates/stock/location.html:184 -#: stock/templates/stock/location.html:196 +#: stock/templates/stock/location.html:191 +#: stock/templates/stock/location.html:203 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2769 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 #: users/models.py:206 msgid "Stock Items" msgstr "" @@ -4751,126 +4764,48 @@ msgstr "" msgid "New Company" msgstr "" -#: label/api.py:247 -msgid "Error printing label" -msgstr "" - -#: label/models.py:120 -msgid "Label name" -msgstr "" - -#: label/models.py:128 -msgid "Label description" -msgstr "" - -#: label/models.py:136 -msgid "Label" -msgstr "" - -#: label/models.py:137 -msgid "Label template file" -msgstr "" - -#: label/models.py:143 part/models.py:3494 report/models.py:324 -#: templates/js/translated/part.js:2900 -#: templates/js/translated/table_filters.js:481 -msgid "Enabled" -msgstr "" - -#: label/models.py:144 -msgid "Label template is enabled" -msgstr "" - -#: label/models.py:149 -msgid "Width [mm]" -msgstr "" - -#: label/models.py:150 -msgid "Label width, specified in mm" -msgstr "" - -#: label/models.py:156 -msgid "Height [mm]" -msgstr "" - -#: label/models.py:157 -msgid "Label height, specified in mm" -msgstr "" - -#: label/models.py:163 report/models.py:317 -msgid "Filename Pattern" -msgstr "" - -#: label/models.py:164 -msgid "Pattern for generating label filenames" -msgstr "" - -#: label/models.py:313 label/models.py:352 label/models.py:377 -#: label/models.py:412 -msgid "Query filters (comma-separated list of key=value pairs)" -msgstr "" - -#: label/models.py:314 label/models.py:353 label/models.py:378 -#: label/models.py:413 report/models.py:345 report/models.py:496 -#: report/models.py:532 report/models.py:568 report/models.py:750 -msgid "Filters" -msgstr "" - -#: label/templates/label/part/part_label.html:31 -#: label/templates/label/stockitem/qr.html:21 -#: label/templates/label/stocklocation/qr.html:20 -#: templates/allauth_2fa/setup.html:18 -msgid "QR Code" -msgstr "" - -#: label/templates/label/part/part_label_code128.html:31 -#: label/templates/label/stocklocation/qr_and_text.html:31 -#: templates/qr_code.html:7 -msgid "QR code" -msgstr "" - -#: machine/machine_types/label_printer.py:217 +#: machine/machine_types/label_printer.py:218 msgid "Copies" msgstr "" -#: machine/machine_types/label_printer.py:218 +#: machine/machine_types/label_printer.py:219 msgid "Number of copies to print for each label" msgstr "" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:234 msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:234 order/api.py:1515 -#: templates/js/translated/sales_order.js:1042 +#: machine/machine_types/label_printer.py:235 order/api.py:1515 +#: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "" -#: machine/machine_types/label_printer.py:235 +#: machine/machine_types/label_printer.py:236 msgid "Printing" msgstr "" -#: machine/machine_types/label_printer.py:236 +#: machine/machine_types/label_printer.py:237 msgid "No media" msgstr "" -#: machine/machine_types/label_printer.py:237 +#: machine/machine_types/label_printer.py:238 msgid "Disconnected" msgstr "" -#: machine/machine_types/label_printer.py:244 +#: machine/machine_types/label_printer.py:245 msgid "Label Printer" msgstr "" -#: machine/machine_types/label_printer.py:245 +#: machine/machine_types/label_printer.py:246 msgid "Directly print labels for various items." msgstr "" -#: machine/machine_types/label_printer.py:251 +#: machine/machine_types/label_printer.py:252 msgid "Printer Location" msgstr "" -#: machine/machine_types/label_printer.py:252 +#: machine/machine_types/label_printer.py:253 msgid "Scope the printer to a specific location" msgstr "" @@ -4930,19 +4865,19 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:89 -#: report/templates/report/inventree_po_report_base.html:31 -#: report/templates/report/inventree_so_report_base.html:31 +#: order/admin.py:30 order/models.py:90 +#: report/templates/report/inventree_purchase_order_report.html:31 +#: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2126 -#: templates/js/translated/sales_order.js:1847 +#: templates/js/translated/purchase_order.js:2125 +#: templates/js/translated/sales_order.js:1883 msgid "Total Price" msgstr "" #: order/api.py:161 order/serializers.py:91 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 -#: order/templates/order/sales_order_base.html:118 +#: order/templates/order/sales_order_base.html:122 msgid "Order Status" msgstr "" @@ -4955,10 +4890,10 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:437 order/api.py:817 order/models.py:1382 order/models.py:1491 -#: order/models.py:1537 order/models.py:1651 order/models.py:1805 -#: order/models.py:2209 order/models.py:2260 -#: templates/js/translated/sales_order.js:1488 +#: order/api.py:437 order/api.py:817 order/models.py:1422 order/models.py:1531 +#: order/models.py:1577 order/models.py:1691 order/models.py:1845 +#: order/models.py:2258 order/models.py:2309 +#: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" @@ -4970,402 +4905,398 @@ msgstr "" msgid "Order Pending" msgstr "" -#: order/api.py:1509 order/models.py:1383 order/models.py:1492 -#: order/templates/order/order_base.html:9 +#: order/api.py:1509 order/models.py:381 order/models.py:1423 +#: order/models.py:1532 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 -#: report/templates/report/inventree_po_report_base.html:14 -#: stock/templates/stock/item_base.html:176 +#: report/templates/report/inventree_purchase_order_report.html:14 +#: stock/serializers.py:119 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 -#: templates/js/translated/purchase_order.js:1674 -#: templates/js/translated/stock.js:2262 templates/js/translated/stock.js:2910 +#: templates/js/translated/purchase_order.js:1673 +#: templates/js/translated/stock.js:2260 templates/js/translated/stock.js:2907 msgid "Purchase Order" msgstr "" -#: order/api.py:1513 order/models.py:2210 order/models.py:2261 -#: order/templates/order/return_order_base.html:9 +#: order/api.py:1513 order/models.py:2008 order/models.py:2259 +#: order/models.py:2310 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:281 -#: templates/js/translated/stock.js:2944 +#: report/templates/report/inventree_return_order_report.html:13 +#: templates/js/translated/return_order.js:280 +#: templates/js/translated/stock.js:2941 msgid "Return Order" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:96 order/serializers.py:71 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:99 order/serializers.py:72 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:246 +#: order/models.py:248 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:278 +#: order/models.py:291 msgid "Order description (optional)" msgstr "" -#: order/models.py:287 +#: order/models.py:300 msgid "Select project code for this order" msgstr "" -#: order/models.py:291 order/models.py:1288 order/models.py:1704 +#: order/models.py:304 order/models.py:1328 order/models.py:1744 msgid "Link to external page" msgstr "" -#: order/models.py:299 +#: order/models.py:312 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:313 +#: order/models.py:326 msgid "Created By" msgstr "" -#: order/models.py:321 +#: order/models.py:334 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:332 +#: order/models.py:345 msgid "Point of contact for this order" msgstr "" -#: order/models.py:342 +#: order/models.py:355 msgid "Company address for this order" msgstr "" -#: order/models.py:443 order/models.py:899 +#: order/models.py:465 order/models.py:930 msgid "Order reference" msgstr "" -#: order/models.py:451 order/models.py:923 +#: order/models.py:473 order/models.py:954 msgid "Purchase order status" msgstr "" -#: order/models.py:466 +#: order/models.py:488 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:477 order/templates/order/order_base.html:148 -#: templates/js/translated/purchase_order.js:1703 +#: order/models.py:499 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1702 msgid "Supplier Reference" msgstr "" -#: order/models.py:478 +#: order/models.py:500 msgid "Supplier order reference code" msgstr "" -#: order/models.py:487 +#: order/models.py:509 msgid "received by" msgstr "" -#: order/models.py:493 order/models.py:2036 +#: order/models.py:515 order/models.py:2085 msgid "Issue Date" msgstr "" -#: order/models.py:494 order/models.py:2037 +#: order/models.py:516 order/models.py:2086 msgid "Date order was issued" msgstr "" -#: order/models.py:501 order/models.py:2044 +#: order/models.py:523 order/models.py:2093 msgid "Date order was completed" msgstr "" -#: order/models.py:545 +#: order/models.py:567 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:739 +#: order/models.py:761 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:911 +#: order/models.py:942 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:934 order/models.py:2029 +#: order/models.py:965 order/models.py:2078 msgid "Customer Reference " msgstr "" -#: order/models.py:935 order/models.py:2030 +#: order/models.py:966 order/models.py:2079 msgid "Customer order reference code" msgstr "" -#: order/models.py:939 order/models.py:1658 -#: templates/js/translated/sales_order.js:843 -#: templates/js/translated/sales_order.js:1024 +#: order/models.py:970 order/models.py:1698 +#: templates/js/translated/sales_order.js:879 +#: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "" -#: order/models.py:948 +#: order/models.py:979 msgid "shipped by" msgstr "" -#: order/models.py:999 -msgid "Order cannot be completed as no parts have been assigned" -msgstr "" - -#: order/models.py:1004 +#: order/models.py:1029 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1008 templates/js/translated/sales_order.js:506 +#: order/models.py:1033 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1013 +#: order/models.py:1038 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1260 +#: order/models.py:1300 msgid "Item quantity" msgstr "" -#: order/models.py:1277 +#: order/models.py:1317 msgid "Line item reference" msgstr "" -#: order/models.py:1284 +#: order/models.py:1324 msgid "Line item notes" msgstr "" -#: order/models.py:1296 +#: order/models.py:1336 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1317 +#: order/models.py:1357 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1323 +#: order/models.py:1363 msgid "Context" msgstr "" -#: order/models.py:1324 +#: order/models.py:1364 msgid "Additional context for this line" msgstr "" -#: order/models.py:1334 +#: order/models.py:1374 msgid "Unit price" msgstr "" -#: order/models.py:1367 +#: order/models.py:1407 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1374 +#: order/models.py:1414 msgid "deleted" msgstr "" -#: order/models.py:1402 +#: order/models.py:1442 msgid "Supplier part" msgstr "" -#: order/models.py:1409 order/templates/order/order_base.html:196 +#: order/models.py:1449 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 #: templates/js/translated/purchase_order.js:1306 -#: templates/js/translated/purchase_order.js:2170 -#: templates/js/translated/return_order.js:764 +#: templates/js/translated/purchase_order.js:2169 +#: templates/js/translated/return_order.js:763 #: templates/js/translated/table_filters.js:120 #: templates/js/translated/table_filters.js:602 msgid "Received" msgstr "" -#: order/models.py:1410 +#: order/models.py:1450 msgid "Number of items received" msgstr "" -#: order/models.py:1418 stock/models.py:923 stock/serializers.py:400 +#: order/models.py:1458 stock/models.py:944 stock/serializers.py:529 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2313 +#: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "" -#: order/models.py:1419 +#: order/models.py:1459 msgid "Unit purchase price" msgstr "" -#: order/models.py:1434 +#: order/models.py:1474 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1525 +#: order/models.py:1565 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1530 +#: order/models.py:1570 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1556 part/templates/part/part_pricing.html:107 +#: order/models.py:1596 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1557 +#: order/models.py:1597 msgid "Unit sale price" msgstr "" -#: order/models.py:1567 +#: order/models.py:1607 msgid "Shipped quantity" msgstr "" -#: order/models.py:1659 +#: order/models.py:1699 msgid "Date of shipment" msgstr "" -#: order/models.py:1665 templates/js/translated/sales_order.js:1036 +#: order/models.py:1705 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1666 +#: order/models.py:1706 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1674 +#: order/models.py:1714 msgid "Checked By" msgstr "" -#: order/models.py:1675 +#: order/models.py:1715 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1682 order/models.py:1895 order/serializers.py:1354 -#: order/serializers.py:1464 templates/js/translated/model_renderers.js:448 +#: order/models.py:1722 order/models.py:1935 order/serializers.py:1354 +#: order/serializers.py:1464 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" -#: order/models.py:1683 +#: order/models.py:1723 msgid "Shipment number" msgstr "" -#: order/models.py:1691 +#: order/models.py:1731 msgid "Tracking Number" msgstr "" -#: order/models.py:1692 +#: order/models.py:1732 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1699 +#: order/models.py:1739 msgid "Invoice Number" msgstr "" -#: order/models.py:1700 +#: order/models.py:1740 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1720 +#: order/models.py:1760 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1723 +#: order/models.py:1763 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1841 order/models.py:1843 +#: order/models.py:1881 order/models.py:1883 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1850 +#: order/models.py:1890 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1853 +#: order/models.py:1893 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1856 +#: order/models.py:1896 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1875 order/serializers.py:1231 +#: order/models.py:1915 order/serializers.py:1231 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1878 +#: order/models.py:1918 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1879 plugin/base/barcodes/api.py:481 +#: order/models.py:1919 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1887 +#: order/models.py:1927 msgid "Line" msgstr "" -#: order/models.py:1896 +#: order/models.py:1936 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1909 order/models.py:2217 -#: templates/js/translated/return_order.js:722 +#: order/models.py:1949 order/models.py:2266 +#: templates/js/translated/return_order.js:721 msgid "Item" msgstr "" -#: order/models.py:1910 +#: order/models.py:1950 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1919 +#: order/models.py:1959 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1999 +#: order/models.py:2048 msgid "Return Order reference" msgstr "" -#: order/models.py:2011 +#: order/models.py:2060 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2023 +#: order/models.py:2072 msgid "Return order status" msgstr "" -#: order/models.py:2202 +#: order/models.py:2251 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2218 +#: order/models.py:2267 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2224 +#: order/models.py:2273 msgid "Received Date" msgstr "" -#: order/models.py:2225 +#: order/models.py:2274 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2236 templates/js/translated/return_order.js:733 +#: order/models.py:2285 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2237 +#: order/models.py:2286 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2244 +#: order/models.py:2293 msgid "Cost associated with return or repair for this line item" msgstr "" #: order/serializers.py:80 order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 -#: report/templates/report/inventree_po_report_base.html:22 -#: report/templates/report/inventree_return_order_report_base.html:19 -#: report/templates/report/inventree_so_report_base.html:22 +#: report/templates/report/inventree_purchase_order_report.html:22 +#: report/templates/report/inventree_return_order_report.html:19 +#: report/templates/report/inventree_sales_order_report.html:22 msgid "Line Items" msgstr "" @@ -5595,7 +5526,7 @@ msgstr "" #: order/templates/order/order_base.html:84 #: order/templates/order/return_order_base.html:87 -#: order/templates/order/sales_order_base.html:93 +#: order/templates/order/sales_order_base.html:97 msgid "Complete Order" msgstr "" @@ -5605,13 +5536,13 @@ msgstr "" #: order/templates/order/order_base.html:106 #: order/templates/order/return_order_base.html:101 -#: order/templates/order/sales_order_base.html:106 +#: order/templates/order/sales_order_base.html:110 msgid "Order Reference" msgstr "" #: order/templates/order/order_base.html:111 #: order/templates/order/return_order_base.html:106 -#: order/templates/order/sales_order_base.html:111 +#: order/templates/order/sales_order_base.html:115 msgid "Order Description" msgstr "" @@ -5620,19 +5551,19 @@ msgid "No suppplier information available" msgstr "" #: order/templates/order/order_base.html:154 -#: order/templates/order/sales_order_base.html:157 +#: order/templates/order/sales_order_base.html:161 msgid "Completed Line Items" msgstr "" #: order/templates/order/order_base.html:160 -#: order/templates/order/sales_order_base.html:163 -#: order/templates/order/sales_order_base.html:173 +#: order/templates/order/sales_order_base.html:167 +#: order/templates/order/sales_order_base.html:177 msgid "Incomplete" msgstr "" #: order/templates/order/order_base.html:179 #: order/templates/order/return_order_base.html:157 -#: report/templates/report/inventree_build_order_base.html:121 +#: report/templates/report/inventree_build_order_report.html:121 msgid "Issued" msgstr "" @@ -5642,15 +5573,15 @@ msgstr "" #: order/templates/order/order_base.html:228 #: order/templates/order/return_order_base.html:199 -#: order/templates/order/sales_order_base.html:239 +#: order/templates/order/sales_order_base.html:243 msgid "Total cost could not be calculated" msgstr "" -#: order/templates/order/order_base.html:318 +#: order/templates/order/order_base.html:314 msgid "Purchase Order QR Code" msgstr "" -#: order/templates/order/order_base.html:330 +#: order/templates/order/order_base.html:326 msgid "Link Barcode to Purchase Order" msgstr "" @@ -5707,8 +5638,8 @@ msgstr "" #: templates/js/translated/build.js:1629 #: templates/js/translated/purchase_order.js:696 #: templates/js/translated/purchase_order.js:1236 -#: templates/js/translated/return_order.js:506 -#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/return_order.js:505 +#: templates/js/translated/sales_order.js:1145 #: templates/js/translated/stock.js:714 templates/js/translated/stock.js:883 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -5762,7 +5693,7 @@ msgstr "" #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 #: templates/js/translated/purchase_order.js:414 -#: templates/js/translated/return_order.js:459 +#: templates/js/translated/return_order.js:458 #: templates/js/translated/sales_order.js:237 msgid "Add Line Item" msgstr "" @@ -5811,30 +5742,30 @@ msgid "Print packing list" msgstr "" #: order/templates/order/return_order_base.html:138 -#: order/templates/order/sales_order_base.html:151 -#: templates/js/translated/return_order.js:309 -#: templates/js/translated/sales_order.js:797 +#: order/templates/order/sales_order_base.html:155 +#: templates/js/translated/return_order.js:308 +#: templates/js/translated/sales_order.js:833 msgid "Customer Reference" msgstr "" #: order/templates/order/return_order_base.html:195 -#: order/templates/order/sales_order_base.html:235 +#: order/templates/order/sales_order_base.html:239 #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1072 -#: templates/js/translated/purchase_order.js:1753 -#: templates/js/translated/return_order.js:381 -#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/purchase_order.js:1752 +#: templates/js/translated/return_order.js:380 +#: templates/js/translated/sales_order.js:891 msgid "Total Cost" msgstr "" -#: order/templates/order/return_order_base.html:263 +#: order/templates/order/return_order_base.html:259 msgid "Return Order QR Code" msgstr "" -#: order/templates/order/return_order_base.html:275 +#: order/templates/order/return_order_base.html:271 msgid "Link Barcode to Return Order" msgstr "" @@ -5852,25 +5783,30 @@ msgid "Ship Items" msgstr "" #: order/templates/order/sales_order_base.html:92 -#: templates/js/translated/sales_order.js:484 +#: order/templates/order/sales_order_base.html:93 +msgid "Mark As Shipped" +msgstr "" + +#: order/templates/order/sales_order_base.html:96 +#: templates/js/translated/sales_order.js:536 msgid "Complete Sales Order" msgstr "" -#: order/templates/order/sales_order_base.html:131 +#: order/templates/order/sales_order_base.html:135 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:169 +#: order/templates/order/sales_order_base.html:173 #: order/templates/order/sales_order_detail.html:99 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "" -#: order/templates/order/sales_order_base.html:312 +#: order/templates/order/sales_order_base.html:321 msgid "Sales Order QR Code" msgstr "" -#: order/templates/order/sales_order_base.html:324 +#: order/templates/order/sales_order_base.html:333 msgid "Link Barcode to Sales Order" msgstr "" @@ -5914,12 +5850,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:404 part/models.py:3921 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:406 part/models.py:3964 part/stocktake.py:218 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:411 part/models.py:3922 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:413 part/models.py:3965 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -5928,20 +5864,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:904 part/templates/part/part_base.html:269 -#: report/templates/report/inventree_slr_report.html:103 -#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2341 -#: templates/js/translated/stock.js:2038 +#: part/admin.py:48 part/models.py:947 part/templates/part/part_base.html:269 +#: report/templates/report/inventree_stock_location_report.html:103 +#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 +#: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:913 part/templates/part/part_base.html:277 -#: report/models.py:195 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2347 +#: part/admin.py:50 part/models.py:956 part/templates/part/part_base.html:277 +#: report/models.py:161 templates/js/translated/part.js:1231 +#: templates/js/translated/part.js:2346 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:317 part/models.py:886 +#: part/admin.py:53 part/admin.py:319 part/models.py:929 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5950,15 +5886,15 @@ msgstr "" msgid "Part Image" msgstr "" -#: part/admin.py:63 part/admin.py:300 part/stocktake.py:221 +#: part/admin.py:63 part/admin.py:302 part/stocktake.py:221 msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:302 part/stocktake.py:222 +#: part/admin.py:67 part/admin.py:304 part/stocktake.py:222 msgid "Category Name" msgstr "" -#: part/admin.py:71 part/admin.py:314 +#: part/admin.py:71 part/admin.py:316 msgid "Default Location ID" msgstr "" @@ -5966,11 +5902,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:872 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:915 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1000 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1043 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5983,160 +5919,164 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3080 part/models.py:3094 +#: part/admin.py:155 part/models.py:3123 part/models.py:3137 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3087 part/models.py:3101 +#: part/admin.py:158 part/models.py:3130 part/models.py:3144 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" -#: part/admin.py:306 part/admin.py:393 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:211 msgid "Parent ID" msgstr "" -#: part/admin.py:310 part/admin.py:400 stock/admin.py:62 +#: part/admin.py:312 part/admin.py:402 stock/admin.py:62 msgid "Parent Name" msgstr "" -#: part/admin.py:318 part/templates/part/category.html:88 +#: part/admin.py:320 part/templates/part/category.html:88 #: part/templates/part/category.html:101 msgid "Category Path" msgstr "" -#: part/admin.py:323 part/models.py:391 part/serializers.py:117 +#: part/admin.py:325 part/models.py:393 part/serializers.py:117 #: part/serializers.py:272 part/serializers.py:391 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2803 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "" -#: part/admin.py:384 +#: part/admin.py:386 msgid "BOM Level" msgstr "" -#: part/admin.py:387 +#: part/admin.py:389 msgid "BOM Item ID" msgstr "" -#: part/admin.py:397 +#: part/admin.py:399 msgid "Parent IPN" msgstr "" -#: part/admin.py:408 part/models.py:3923 +#: part/admin.py:410 part/models.py:3966 msgid "Part IPN" msgstr "" -#: part/admin.py:421 part/serializers.py:1261 +#: part/admin.py:423 part/serializers.py:1276 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:426 part/serializers.py:1276 +#: part/admin.py:428 part/serializers.py:1291 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:119 +#: part/api.py:112 msgid "Starred" msgstr "" -#: part/api.py:121 +#: part/api.py:114 msgid "Filter by starred categories" msgstr "" -#: part/api.py:138 stock/api.py:284 +#: part/api.py:131 stock/api.py:318 msgid "Depth" msgstr "" -#: part/api.py:138 +#: part/api.py:131 msgid "Filter by category depth" msgstr "" -#: part/api.py:156 stock/api.py:302 +#: part/api.py:149 stock/api.py:336 msgid "Cascade" msgstr "" -#: part/api.py:158 +#: part/api.py:151 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:178 +#: part/api.py:171 msgid "Parent" msgstr "" -#: part/api.py:180 +#: part/api.py:173 msgid "Filter by parent category" msgstr "" -#: part/api.py:213 +#: part/api.py:206 msgid "Exclude Tree" msgstr "" -#: part/api.py:215 +#: part/api.py:208 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:461 +#: part/api.py:455 msgid "Has Results" msgstr "" -#: part/api.py:628 +#: part/api.py:622 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:646 +#: part/api.py:640 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:662 +#: part/api.py:656 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:746 +#: part/api.py:740 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:893 +#: part/api.py:887 msgid "Valid" msgstr "" -#: part/api.py:894 +#: part/api.py:888 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:900 +#: part/api.py:894 msgid "This option must be selected" msgstr "" -#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866 -#: part/serializers.py:406 part/serializers.py:1117 -#: part/templates/part/part_base.html:260 stock/api.py:745 +#: part/api.py:1111 +msgid "BOM Valid" +msgstr "" + +#: part/api.py:1515 part/models.py:939 part/models.py:3429 part/models.py:3909 +#: part/serializers.py:406 part/serializers.py:1132 +#: part/templates/part/part_base.html:260 stock/api.py:779 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2377 +#: templates/js/translated/part.js:2376 msgid "Category" msgstr "" -#: part/api.py:1849 +#: part/api.py:1803 msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:101 part/models.py:939 +#: part/bom.py:170 part/models.py:102 part/models.py:982 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:822 +#: part/bom.py:171 part/serializers.py:837 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6145,698 +6085,712 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:82 part/models.py:3867 part/templates/part/category.html:16 +#: part/models.py:83 part/models.py:3910 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:83 part/templates/part/category.html:136 +#: part/models.py:84 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "" -#: part/models.py:102 +#: part/models.py:103 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:107 stock/models.py:165 templates/js/translated/part.js:2810 -#: templates/js/translated/stock.js:2775 +#: part/models.py:108 stock/models.py:177 templates/js/translated/part.js:2809 +#: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "" -#: part/models.py:109 +#: part/models.py:110 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:118 +#: part/models.py:119 msgid "Default keywords" msgstr "" -#: part/models.py:119 +#: part/models.py:120 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:125 stock/models.py:89 stock/models.py:148 +#: part/models.py:126 stock/models.py:89 stock/models.py:160 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:126 stock/models.py:149 +#: part/models.py:127 stock/models.py:161 msgid "Icon (optional)" msgstr "" -#: part/models.py:148 +#: part/models.py:149 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:484 +#: part/models.py:482 +msgid "Cannot delete this part as it is still active" +msgstr "" + +#: part/models.py:489 +msgid "Cannot delete this part as it is used in an assembly" +msgstr "" + +#: part/models.py:527 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:532 part/models.py:539 +#: part/models.py:575 part/models.py:582 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:551 +#: part/models.py:594 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:616 +#: part/models.py:659 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:696 +#: part/models.py:739 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:801 +#: part/models.py:844 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:811 +#: part/models.py:854 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:826 +#: part/models.py:869 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:855 part/models.py:3922 +#: part/models.py:898 part/models.py:3965 msgid "Part name" msgstr "" -#: part/models.py:860 +#: part/models.py:903 msgid "Is Template" msgstr "" -#: part/models.py:861 +#: part/models.py:904 msgid "Is this part a template part?" msgstr "" -#: part/models.py:871 +#: part/models.py:914 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:879 +#: part/models.py:922 msgid "Part description (optional)" msgstr "" -#: part/models.py:887 +#: part/models.py:930 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:897 +#: part/models.py:940 msgid "Part category" msgstr "" -#: part/models.py:905 +#: part/models.py:948 msgid "Internal Part Number" msgstr "" -#: part/models.py:912 +#: part/models.py:955 msgid "Part revision or version number" msgstr "" -#: part/models.py:937 +#: part/models.py:980 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:983 part/templates/part/part_base.html:376 +#: part/models.py:1026 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:984 +#: part/models.py:1027 msgid "Default supplier part" msgstr "" -#: part/models.py:991 +#: part/models.py:1034 msgid "Default Expiry" msgstr "" -#: part/models.py:992 +#: part/models.py:1035 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1001 +#: part/models.py:1044 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1010 +#: part/models.py:1053 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1017 +#: part/models.py:1060 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1023 +#: part/models.py:1066 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1029 +#: part/models.py:1072 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1035 +#: part/models.py:1078 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1041 +#: part/models.py:1084 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1045 +#: part/models.py:1088 msgid "Is this part active?" msgstr "" -#: part/models.py:1051 +#: part/models.py:1094 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1057 +#: part/models.py:1100 msgid "BOM checksum" msgstr "" -#: part/models.py:1058 +#: part/models.py:1101 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1066 +#: part/models.py:1109 msgid "BOM checked by" msgstr "" -#: part/models.py:1071 +#: part/models.py:1114 msgid "BOM checked date" msgstr "" -#: part/models.py:1087 +#: part/models.py:1130 msgid "Creation User" msgstr "" -#: part/models.py:1097 +#: part/models.py:1140 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1102 part/templates/part/part_base.html:339 +#: part/models.py:1145 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 -#: templates/js/translated/part.js:2471 +#: templates/js/translated/part.js:2470 msgid "Last Stocktake" msgstr "" -#: part/models.py:1975 +#: part/models.py:2018 msgid "Sell multiple" msgstr "" -#: part/models.py:2994 +#: part/models.py:3037 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3010 +#: part/models.py:3053 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3011 +#: part/models.py:3054 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3017 +#: part/models.py:3060 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3018 +#: part/models.py:3061 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3024 +#: part/models.py:3067 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3025 +#: part/models.py:3068 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3031 +#: part/models.py:3074 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3032 +#: part/models.py:3075 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3038 +#: part/models.py:3081 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3039 +#: part/models.py:3082 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3045 +#: part/models.py:3088 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3046 +#: part/models.py:3089 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3052 +#: part/models.py:3095 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3053 +#: part/models.py:3096 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3059 +#: part/models.py:3102 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3060 +#: part/models.py:3103 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3066 +#: part/models.py:3109 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3067 +#: part/models.py:3110 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3073 +#: part/models.py:3116 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3074 +#: part/models.py:3117 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3081 +#: part/models.py:3124 msgid "Override minimum cost" msgstr "" -#: part/models.py:3088 +#: part/models.py:3131 msgid "Override maximum cost" msgstr "" -#: part/models.py:3095 +#: part/models.py:3138 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3102 +#: part/models.py:3145 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3108 +#: part/models.py:3151 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3109 +#: part/models.py:3152 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3115 +#: part/models.py:3158 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3116 +#: part/models.py:3159 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3122 +#: part/models.py:3165 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3123 +#: part/models.py:3166 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3129 +#: part/models.py:3172 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3130 +#: part/models.py:3173 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3149 +#: part/models.py:3192 msgid "Part for stocktake" msgstr "" -#: part/models.py:3154 +#: part/models.py:3197 msgid "Item Count" msgstr "" -#: part/models.py:3155 +#: part/models.py:3198 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3163 +#: part/models.py:3206 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3167 part/models.py:3250 +#: part/models.py:3210 part/models.py:3293 #: part/templates/part/part_scheduling.html:13 -#: report/templates/report/inventree_test_report_base.html:106 +#: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 #: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 -#: templates/js/translated/purchase_order.js:1732 -#: templates/js/translated/stock.js:2824 +#: templates/js/translated/purchase_order.js:1731 +#: templates/js/translated/stock.js:2821 msgid "Date" msgstr "" -#: part/models.py:3168 +#: part/models.py:3211 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3176 +#: part/models.py:3219 msgid "Additional notes" msgstr "" -#: part/models.py:3186 +#: part/models.py:3229 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3192 +#: part/models.py:3235 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3193 +#: part/models.py:3236 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3199 +#: part/models.py:3242 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3200 +#: part/models.py:3243 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3256 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3299 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3257 +#: part/models.py:3300 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3262 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3305 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3263 +#: part/models.py:3306 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3273 +#: part/models.py:3316 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3435 +#: part/models.py:3478 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3446 +#: part/models.py:3489 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3457 +#: part/models.py:3500 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3474 templates/js/translated/part.js:2879 +#: part/models.py:3517 templates/js/translated/part.js:2878 msgid "Test Name" msgstr "" -#: part/models.py:3475 +#: part/models.py:3518 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3481 +#: part/models.py:3524 msgid "Test Key" msgstr "" -#: part/models.py:3482 +#: part/models.py:3525 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3489 +#: part/models.py:3532 msgid "Test Description" msgstr "" -#: part/models.py:3490 +#: part/models.py:3533 msgid "Enter description for this test" msgstr "" -#: part/models.py:3494 +#: part/models.py:3537 report/models.py:208 +#: templates/js/translated/part.js:2899 +#: templates/js/translated/table_filters.js:481 +msgid "Enabled" +msgstr "" + +#: part/models.py:3537 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3499 templates/js/translated/part.js:2908 +#: part/models.py:3542 templates/js/translated/part.js:2907 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3500 +#: part/models.py:3543 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3505 templates/js/translated/part.js:2916 +#: part/models.py:3548 templates/js/translated/part.js:2915 msgid "Requires Value" msgstr "" -#: part/models.py:3506 +#: part/models.py:3549 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3511 templates/js/translated/part.js:2923 +#: part/models.py:3554 templates/js/translated/part.js:2922 msgid "Requires Attachment" msgstr "" -#: part/models.py:3513 +#: part/models.py:3556 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3560 +#: part/models.py:3603 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3565 +#: part/models.py:3608 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3585 +#: part/models.py:3628 msgid "Choices must be unique" msgstr "" -#: part/models.py:3602 +#: part/models.py:3645 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3617 +#: part/models.py:3660 msgid "Parameter Name" msgstr "" -#: part/models.py:3624 +#: part/models.py:3667 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3632 +#: part/models.py:3675 msgid "Parameter description" msgstr "" -#: part/models.py:3638 templates/js/translated/part.js:1627 +#: part/models.py:3681 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3639 +#: part/models.py:3682 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3644 templates/js/translated/part.js:1636 +#: part/models.py:3687 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3645 +#: part/models.py:3688 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3722 +#: part/models.py:3765 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3765 +#: part/models.py:3808 msgid "Parent Part" msgstr "" -#: part/models.py:3773 part/models.py:3874 part/models.py:3875 +#: part/models.py:3816 part/models.py:3917 part/models.py:3918 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3778 +#: part/models.py:3821 msgid "Data" msgstr "" -#: part/models.py:3779 +#: part/models.py:3822 msgid "Parameter Value" msgstr "" -#: part/models.py:3881 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3924 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3882 +#: part/models.py:3925 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3920 +#: part/models.py:3963 msgid "Part ID or part name" msgstr "" -#: part/models.py:3921 +#: part/models.py:3964 msgid "Unique part ID value" msgstr "" -#: part/models.py:3923 +#: part/models.py:3966 msgid "Part IPN value" msgstr "" -#: part/models.py:3924 +#: part/models.py:3967 msgid "Level" msgstr "" -#: part/models.py:3924 +#: part/models.py:3967 msgid "BOM level" msgstr "" -#: part/models.py:4014 +#: part/models.py:4057 msgid "Select parent part" msgstr "" -#: part/models.py:4024 +#: part/models.py:4067 msgid "Sub part" msgstr "" -#: part/models.py:4025 +#: part/models.py:4068 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4036 +#: part/models.py:4079 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4042 +#: part/models.py:4085 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4048 +#: part/models.py:4091 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4055 part/templates/part/upload_bom.html:55 +#: part/models.py:4098 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4056 +#: part/models.py:4099 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4063 +#: part/models.py:4106 msgid "BOM item reference" msgstr "" -#: part/models.py:4071 +#: part/models.py:4114 msgid "BOM item notes" msgstr "" -#: part/models.py:4077 +#: part/models.py:4120 msgid "Checksum" msgstr "" -#: part/models.py:4078 +#: part/models.py:4121 msgid "BOM line checksum" msgstr "" -#: part/models.py:4083 templates/js/translated/table_filters.js:174 +#: part/models.py:4126 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4084 +#: part/models.py:4127 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4089 part/templates/part/upload_bom.html:57 +#: part/models.py:4132 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4090 +#: part/models.py:4133 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4095 part/templates/part/upload_bom.html:56 +#: part/models.py:4138 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4096 +#: part/models.py:4139 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4181 stock/models.py:647 +#: part/models.py:4224 stock/models.py:668 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4191 part/models.py:4193 +#: part/models.py:4234 part/models.py:4236 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4333 +#: part/models.py:4376 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4354 +#: part/models.py:4397 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4367 +#: part/models.py:4410 msgid "Parent BOM item" msgstr "" -#: part/models.py:4375 +#: part/models.py:4418 msgid "Substitute part" msgstr "" -#: part/models.py:4391 +#: part/models.py:4434 msgid "Part 1" msgstr "" -#: part/models.py:4399 +#: part/models.py:4442 msgid "Part 2" msgstr "" -#: part/models.py:4400 +#: part/models.py:4443 msgid "Select Related Part" msgstr "" -#: part/models.py:4419 +#: part/models.py:4462 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4424 +#: part/models.py:4467 msgid "Duplicate relationship already exists" msgstr "" @@ -6854,7 +6808,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:406 +#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:535 msgid "Purchase currency of this stock item" msgstr "" @@ -6870,299 +6824,299 @@ msgstr "" msgid "Select category" msgstr "" -#: part/serializers.py:437 +#: part/serializers.py:442 msgid "Original Part" msgstr "" -#: part/serializers.py:438 +#: part/serializers.py:443 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:448 msgid "Copy Image" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:449 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:450 part/templates/part/detail.html:277 +#: part/serializers.py:455 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:451 +#: part/serializers.py:456 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:462 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:458 +#: part/serializers.py:463 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:464 +#: part/serializers.py:469 msgid "Copy Notes" msgstr "" -#: part/serializers.py:465 +#: part/serializers.py:470 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:478 +#: part/serializers.py:488 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:490 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:487 +#: part/serializers.py:497 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:488 +#: part/serializers.py:498 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:500 +#: part/serializers.py:515 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:531 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:526 +#: part/serializers.py:541 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:533 +#: part/serializers.py:548 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:542 +#: part/serializers.py:557 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:553 +#: part/serializers.py:568 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:560 +#: part/serializers.py:575 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:823 +#: part/serializers.py:838 msgid "External Stock" msgstr "" -#: part/serializers.py:825 +#: part/serializers.py:840 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:828 +#: part/serializers.py:843 msgid "Variant Stock" msgstr "" -#: part/serializers.py:856 part/templates/part/copy_part.html:9 +#: part/serializers.py:871 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:857 +#: part/serializers.py:872 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:863 templates/js/translated/part.js:102 +#: part/serializers.py:878 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:864 +#: part/serializers.py:879 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:870 +#: part/serializers.py:885 msgid "Supplier Information" msgstr "" -#: part/serializers.py:871 +#: part/serializers.py:886 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:879 +#: part/serializers.py:894 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:880 +#: part/serializers.py:895 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:885 +#: part/serializers.py:900 msgid "Existing Image" msgstr "" -#: part/serializers.py:886 +#: part/serializers.py:901 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:918 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1109 +#: part/serializers.py:1124 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1119 +#: part/serializers.py:1134 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1129 +#: part/serializers.py:1144 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1135 +#: part/serializers.py:1150 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1136 +#: part/serializers.py:1151 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1141 +#: part/serializers.py:1156 msgid "Generate Report" msgstr "" -#: part/serializers.py:1142 +#: part/serializers.py:1157 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1147 +#: part/serializers.py:1162 msgid "Update Parts" msgstr "" -#: part/serializers.py:1148 +#: part/serializers.py:1163 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1156 +#: part/serializers.py:1171 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1262 +#: part/serializers.py:1277 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1269 +#: part/serializers.py:1284 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1277 +#: part/serializers.py:1292 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1284 +#: part/serializers.py:1299 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1313 +#: part/serializers.py:1328 msgid "Update" msgstr "" -#: part/serializers.py:1314 +#: part/serializers.py:1329 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1337 +#: part/serializers.py:1352 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1344 +#: part/serializers.py:1359 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1347 +#: part/serializers.py:1362 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1714 +#: part/serializers.py:1729 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1722 +#: part/serializers.py:1737 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1723 +#: part/serializers.py:1738 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1728 +#: part/serializers.py:1743 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1729 +#: part/serializers.py:1744 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1734 +#: part/serializers.py:1749 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1735 +#: part/serializers.py:1750 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1755 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1756 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1775 +#: part/serializers.py:1790 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1776 +#: part/serializers.py:1791 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1806 +#: part/serializers.py:1821 msgid "No part column specified" msgstr "" -#: part/serializers.py:1850 +#: part/serializers.py:1865 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1853 +#: part/serializers.py:1868 msgid "No matching part found" msgstr "" -#: part/serializers.py:1856 +#: part/serializers.py:1871 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1865 +#: part/serializers.py:1880 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1888 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1894 +#: part/serializers.py:1909 msgid "At least one BOM item is required" msgstr "" #: part/stocktake.py:224 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:2085 +#: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" @@ -7314,7 +7268,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2218 users/models.py:204 +#: templates/js/translated/stock.js:2216 users/models.py:204 msgid "Stocktake" msgstr "" @@ -7412,15 +7366,15 @@ msgstr "" msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:659 +#: part/templates/part/detail.html:655 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:667 +#: part/templates/part/detail.html:663 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:752 +#: part/templates/part/detail.html:748 msgid "Add Test Result Template" msgstr "" @@ -7479,7 +7433,7 @@ msgstr "" #: part/templates/part/part_base.html:52 #: stock/templates/stock/item_base.html:62 -#: stock/templates/stock/location.html:74 +#: stock/templates/stock/location.html:74 templates/js/translated/label.js:142 msgid "Print Label" msgstr "" @@ -7501,7 +7455,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2293 +#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2292 msgid "Part actions" msgstr "" @@ -7550,7 +7504,7 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:163 -#: part/templates/part/part_base.html:682 +#: part/templates/part/part_base.html:681 msgid "Show Part Details" msgstr "" @@ -7573,7 +7527,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2444 +#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2443 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7596,19 +7550,19 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:512 +#: part/templates/part/part_base.html:511 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:529 +#: part/templates/part/part_base.html:528 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:580 +#: part/templates/part/part_base.html:579 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:676 +#: part/templates/part/part_base.html:675 msgid "Hide Part Details" msgstr "" @@ -7667,8 +7621,8 @@ msgstr "" #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 -#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 -#: templates/js/translated/stock.js:2072 templates/navbar.html:31 +#: templates/js/translated/part.js:2391 templates/js/translated/stock.js:1059 +#: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7714,7 +7668,7 @@ msgstr "" #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 -#: templates/js/translated/stock.js:2248 +#: templates/js/translated/stock.js:2246 msgid "Last Updated" msgstr "" @@ -7786,7 +7740,7 @@ msgid "Update Pricing" msgstr "" #: part/templates/part/stock_count.html:7 -#: templates/js/translated/model_renderers.js:221 +#: templates/js/translated/model_renderers.js:227 #: templates/js/translated/part.js:704 templates/js/translated/part.js:2140 #: templates/js/translated/part.js:2142 msgid "No Stock" @@ -7866,7 +7820,7 @@ msgstr "" msgid "Part Pricing" msgstr "" -#: plugin/api.py:168 +#: plugin/api.py:170 msgid "Plugin cannot be deleted as it is currently active" msgstr "" @@ -7933,7 +7887,7 @@ msgid "Stock item does not match line item" msgstr "" #: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2589 -#: templates/js/translated/sales_order.js:1917 +#: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "" @@ -8027,22 +7981,18 @@ msgstr "" msgid "Quantity to allocate" msgstr "" -#: plugin/base/label/label.py:39 +#: plugin/base/label/label.py:39 templates/js/translated/label.js:154 msgid "Label printing failed" msgstr "" -#: plugin/base/label/mixins.py:63 +#: plugin/base/label/mixins.py:56 msgid "Error rendering label to PDF" msgstr "" -#: plugin/base/label/mixins.py:76 +#: plugin/base/label/mixins.py:70 msgid "Error rendering label to HTML" msgstr "" -#: plugin/base/label/mixins.py:111 -msgid "Error rendering label to PNG" -msgstr "" - #: plugin/builtin/barcodes/inventree_barcode.py:25 msgid "InvenTree Barcodes" msgstr "" @@ -8054,7 +8004,7 @@ msgstr "" #: plugin/builtin/barcodes/inventree_barcode.py:28 #: plugin/builtin/integration/core_notifications.py:35 #: plugin/builtin/integration/currency_exchange.py:21 -#: plugin/builtin/labels/inventree_label.py:23 +#: plugin/builtin/labels/inventree_label.py:22 #: plugin/builtin/labels/inventree_machine.py:64 #: plugin/builtin/labels/label_sheet.py:63 #: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 @@ -8108,19 +8058,19 @@ msgstr "" msgid "Default currency exchange integration" msgstr "" -#: plugin/builtin/labels/inventree_label.py:20 +#: plugin/builtin/labels/inventree_label.py:19 msgid "InvenTree PDF label printer" msgstr "" -#: plugin/builtin/labels/inventree_label.py:21 +#: plugin/builtin/labels/inventree_label.py:20 msgid "Provides native support for printing PDF labels" msgstr "" -#: plugin/builtin/labels/inventree_label.py:29 +#: plugin/builtin/labels/inventree_label.py:28 msgid "Debug mode" msgstr "" -#: plugin/builtin/labels/inventree_label.py:30 +#: plugin/builtin/labels/inventree_label.py:29 msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "" @@ -8132,11 +8082,11 @@ msgstr "" msgid "Provides support for printing using a machine" msgstr "" -#: plugin/builtin/labels/inventree_machine.py:150 +#: plugin/builtin/labels/inventree_machine.py:151 msgid "last used" msgstr "" -#: plugin/builtin/labels/inventree_machine.py:167 +#: plugin/builtin/labels/inventree_machine.py:168 msgid "Options" msgstr "" @@ -8160,7 +8110,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:47 report/models.py:209 +#: plugin/builtin/labels/label_sheet.py:47 report/models.py:308 msgid "Landscape" msgstr "" @@ -8176,11 +8126,11 @@ msgstr "" msgid "Arrays multiple labels onto a single sheet" msgstr "" -#: plugin/builtin/labels/label_sheet.py:94 +#: plugin/builtin/labels/label_sheet.py:99 msgid "Label is too large for page size" msgstr "" -#: plugin/builtin/labels/label_sheet.py:128 +#: plugin/builtin/labels/label_sheet.py:133 msgid "No labels were generated" msgstr "" @@ -8273,61 +8223,62 @@ msgstr "" msgid "Uninstalled plugin successfully" msgstr "" -#: plugin/models.py:30 +#: plugin/models.py:35 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:31 +#: plugin/models.py:36 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:34 users/models.py:100 +#: plugin/models.py:42 users/models.py:100 msgid "Key" msgstr "" -#: plugin/models.py:34 +#: plugin/models.py:43 msgid "Key of plugin" msgstr "" -#: plugin/models.py:42 +#: plugin/models.py:51 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:49 plugin/serializers.py:90 +#: plugin/models.py:58 plugin/serializers.py:90 msgid "Package Name" msgstr "" -#: plugin/models.py:51 +#: plugin/models.py:60 msgid "Name of the installed package, if the plugin was installed via PIP" msgstr "" -#: plugin/models.py:56 +#: plugin/models.py:65 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:147 templates/js/translated/table_filters.js:370 +#: plugin/models.py:156 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "" -#: plugin/models.py:156 +#: plugin/models.py:165 msgid "Sample plugin" msgstr "" -#: plugin/models.py:164 +#: plugin/models.py:173 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:172 +#: plugin/models.py:181 msgid "Package Plugin" msgstr "" -#: plugin/models.py:196 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:205 report/models.py:475 +#: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" msgstr "" -#: plugin/models.py:243 +#: plugin/models.py:252 msgid "Method" msgstr "" @@ -8468,239 +8419,323 @@ msgstr "" msgid "Delete the plugin configuration from the database" msgstr "" -#: report/api.py:158 +#: report/api.py:77 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:197 report/api.py:234 +#: report/api.py:89 report/serializers.py:53 +msgid "Model Type" +msgstr "" + +#: report/api.py:92 report/models.py:439 report/serializers.py:98 +#: report/serializers.py:148 templates/js/translated/purchase_order.js:1747 +#: templates/js/translated/return_order.js:353 +#: templates/js/translated/sales_order.js:887 +#: templates/js/translated/sales_order.js:1047 +msgid "Items" +msgstr "" + +#: report/api.py:168 +msgid "Plugin not found" +msgstr "" + +#: report/api.py:170 +msgid "Plugin is not active" +msgstr "" + +#: report/api.py:172 +msgid "Plugin does not support label printing" +msgstr "" + +#: report/api.py:221 +msgid "Invalid label dimensions" +msgstr "" + +#: report/api.py:236 report/api.py:316 +msgid "No valid items provided to template" +msgstr "" + +#: report/api.py:271 +msgid "Error printing label" +msgstr "" + +#: report/api.py:362 report/api.py:398 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:319 -msgid "Test report" -msgstr "" - -#: report/helpers.py:15 +#: report/helpers.py:41 msgid "A4" msgstr "" -#: report/helpers.py:16 +#: report/helpers.py:42 msgid "A3" msgstr "" -#: report/helpers.py:17 +#: report/helpers.py:43 msgid "Legal" msgstr "" -#: report/helpers.py:18 +#: report/helpers.py:44 msgid "Letter" msgstr "" -#: report/models.py:177 +#: report/models.py:118 +msgid "Template file with this name already exists" +msgstr "" + +#: report/models.py:150 msgid "Template name" msgstr "" -#: report/models.py:183 -msgid "Report template file" +#: report/models.py:156 +msgid "Template description" msgstr "" -#: report/models.py:190 -msgid "Report template description" +#: report/models.py:162 +msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:196 -msgid "Report revision number (auto-increments)" +#: report/models.py:202 +msgid "Filename Pattern" msgstr "" -#: report/models.py:204 +#: report/models.py:203 +msgid "Pattern for generating filenames" +msgstr "" + +#: report/models.py:208 +msgid "Template is enabled" +msgstr "" + +#: report/models.py:214 +msgid "Target model type for template" +msgstr "" + +#: report/models.py:234 +msgid "Filters" +msgstr "" + +#: report/models.py:235 +msgid "Template query filters (comma-separated list of key=value pairs)" +msgstr "" + +#: report/models.py:295 report/models.py:362 +msgid "Template file" +msgstr "" + +#: report/models.py:303 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:210 +#: report/models.py:309 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:318 -msgid "Pattern for generating report filenames" +#: report/models.py:368 +msgid "Width [mm]" msgstr "" -#: report/models.py:325 -msgid "Report template is enabled" +#: report/models.py:369 +msgid "Label width, specified in mm" msgstr "" -#: report/models.py:347 -msgid "StockItem query filters (comma-separated list of key=value pairs)" +#: report/models.py:375 +msgid "Height [mm]" msgstr "" -#: report/models.py:354 -msgid "Include Installed Tests" +#: report/models.py:376 +msgid "Label height, specified in mm" msgstr "" -#: report/models.py:356 -msgid "Include test results for stock items installed inside assembled item" +#: report/models.py:439 +msgid "Number of items to process" msgstr "" -#: report/models.py:424 -msgid "Build Filters" +#: report/models.py:445 +msgid "Report generation is complete" msgstr "" -#: report/models.py:425 -msgid "Build query filters (comma-separated list of key=value pairs" +#: report/models.py:449 templates/js/translated/build.js:2177 +msgid "Progress" msgstr "" -#: report/models.py:464 -msgid "Part Filters" +#: report/models.py:449 +msgid "Report generation progress" msgstr "" -#: report/models.py:465 -msgid "Part query filters (comma-separated list of key=value pairs" +#: report/models.py:457 +msgid "Report Template" msgstr "" -#: report/models.py:497 -msgid "Purchase order query filters" +#: report/models.py:464 report/models.py:487 +msgid "Output File" msgstr "" -#: report/models.py:533 -msgid "Sales order query filters" +#: report/models.py:465 report/models.py:488 +msgid "Generated output file" msgstr "" -#: report/models.py:569 -msgid "Return order query filters" +#: report/models.py:476 +msgid "Label output plugin" msgstr "" -#: report/models.py:641 -msgid "Snippet file with this name already exists" +#: report/models.py:480 +msgid "Label Template" msgstr "" -#: report/models.py:648 +#: report/models.py:503 msgid "Snippet" msgstr "" -#: report/models.py:649 +#: report/models.py:504 msgid "Report snippet file" msgstr "" -#: report/models.py:656 +#: report/models.py:511 msgid "Snippet file description" msgstr "" -#: report/models.py:714 -msgid "Asset file with this name already exists" -msgstr "" - -#: report/models.py:722 +#: report/models.py:529 msgid "Asset" msgstr "" -#: report/models.py:723 +#: report/models.py:530 msgid "Report asset file" msgstr "" -#: report/models.py:730 +#: report/models.py:537 msgid "Asset file description" msgstr "" -#: report/models.py:752 -msgid "stock location query filters (comma-separated list of key=value pairs)" +#: report/serializers.py:91 +msgid "Select report template" +msgstr "" + +#: report/serializers.py:99 report/serializers.py:149 +msgid "List of item primary keys to include in the report" +msgstr "" + +#: report/serializers.py:132 +msgid "Select label template" +msgstr "" + +#: report/serializers.py:140 +msgid "Printing Plugin" +msgstr "" + +#: report/serializers.py:141 +msgid "Select plugin to use for label printing" +msgstr "" + +#: report/templates/label/part_label.html:31 +#: report/templates/label/stockitem_qr.html:21 +#: report/templates/label/stocklocation_qr.html:20 +#: templates/allauth_2fa/setup.html:18 +msgid "QR Code" +msgstr "" + +#: report/templates/label/part_label_code128.html:31 +#: report/templates/label/stocklocation_qr_and_text.html:31 +#: templates/qr_code.html:7 +msgid "QR code" msgstr "" #: report/templates/report/inventree_bill_of_materials_report.html:133 msgid "Materials needed" msgstr "" -#: report/templates/report/inventree_build_order_base.html:146 +#: report/templates/report/inventree_build_order_report.html:146 msgid "Required For" msgstr "" -#: report/templates/report/inventree_po_report_base.html:15 +#: report/templates/report/inventree_purchase_order_report.html:15 msgid "Supplier was deleted" msgstr "" -#: report/templates/report/inventree_po_report_base.html:30 -#: report/templates/report/inventree_so_report_base.html:30 +#: report/templates/report/inventree_purchase_order_report.html:30 +#: report/templates/report/inventree_sales_order_report.html:30 #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:834 -#: templates/js/translated/purchase_order.js:2116 -#: templates/js/translated/sales_order.js:1837 +#: templates/js/translated/purchase_order.js:2115 +#: templates/js/translated/sales_order.js:1873 msgid "Unit Price" msgstr "" -#: report/templates/report/inventree_po_report_base.html:55 -#: report/templates/report/inventree_return_order_report_base.html:48 -#: report/templates/report/inventree_so_report_base.html:55 +#: report/templates/report/inventree_purchase_order_report.html:55 +#: report/templates/report/inventree_return_order_report.html:48 +#: report/templates/report/inventree_sales_order_report.html:55 msgid "Extra Line Items" 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:2018 -#: templates/js/translated/sales_order.js:1806 +#: report/templates/report/inventree_purchase_order_report.html:72 +#: report/templates/report/inventree_sales_order_report.html:72 +#: templates/js/translated/purchase_order.js:2017 +#: templates/js/translated/sales_order.js:1842 msgid "Total" msgstr "" -#: report/templates/report/inventree_return_order_report_base.html:25 -#: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:809 stock/templates/stock/item_base.html:311 +#: report/templates/report/inventree_return_order_report.html:25 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:830 +#: stock/serializers.py:150 stock/templates/stock/item_base.html:311 #: templates/js/translated/build.js:519 templates/js/translated/build.js:1367 #: templates/js/translated/build.js:2355 -#: templates/js/translated/model_renderers.js:224 -#: templates/js/translated/return_order.js:540 -#: templates/js/translated/return_order.js:724 +#: templates/js/translated/model_renderers.js:230 +#: templates/js/translated/return_order.js:539 +#: templates/js/translated/return_order.js:723 #: templates/js/translated/sales_order.js:315 -#: templates/js/translated/sales_order.js:1611 -#: templates/js/translated/sales_order.js:1696 +#: templates/js/translated/sales_order.js:1647 +#: templates/js/translated/sales_order.js:1732 #: templates/js/translated/stock.js:596 msgid "Serial Number" msgstr "" -#: report/templates/report/inventree_slr_report.html:97 +#: report/templates/report/inventree_stock_location_report.html:97 msgid "Stock location items" msgstr "" -#: report/templates/report/inventree_test_report_base.html:21 +#: report/templates/report/inventree_test_report.html:21 msgid "Stock Item Test Report" msgstr "" -#: report/templates/report/inventree_test_report_base.html:97 +#: report/templates/report/inventree_test_report.html:97 msgid "Test Results" msgstr "" -#: report/templates/report/inventree_test_report_base.html:102 +#: report/templates/report/inventree_test_report.html:102 #: templates/js/translated/stock.js:1495 msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2442 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2419 msgid "Result" msgstr "" -#: report/templates/report/inventree_test_report_base.html:130 +#: report/templates/report/inventree_test_report.html:130 msgid "Pass" msgstr "" -#: report/templates/report/inventree_test_report_base.html:132 +#: report/templates/report/inventree_test_report.html:132 msgid "Fail" msgstr "" -#: report/templates/report/inventree_test_report_base.html:139 +#: report/templates/report/inventree_test_report.html:139 msgid "No result (required)" msgstr "" -#: report/templates/report/inventree_test_report_base.html:141 +#: report/templates/report/inventree_test_report.html:141 msgid "No result" msgstr "" -#: report/templates/report/inventree_test_report_base.html:154 +#: report/templates/report/inventree_test_report.html:154 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report_base.html:168 -#: stock/admin.py:162 templates/js/translated/stock.js:700 -#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3113 +#: report/templates/report/inventree_test_report.html:168 stock/admin.py:162 +#: templates/js/translated/stock.js:700 templates/js/translated/stock.js:871 +#: templates/js/translated/stock.js:3110 msgid "Serial" msgstr "" @@ -8757,7 +8792,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:201 stock/models.py:789 +#: stock/admin.py:201 stock/models.py:810 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" @@ -8782,66 +8817,66 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:256 stock/models.py:883 +#: stock/admin.py:256 stock/models.py:904 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2232 users/models.py:124 +#: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" msgstr "" -#: stock/api.py:284 +#: stock/api.py:318 msgid "Filter by location depth" msgstr "" -#: stock/api.py:304 +#: stock/api.py:338 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:325 +#: stock/api.py:359 msgid "Parent Location" msgstr "" -#: stock/api.py:326 +#: stock/api.py:360 msgid "Filter by parent location" msgstr "" -#: stock/api.py:579 templates/js/translated/table_filters.js:427 +#: stock/api.py:613 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:767 +#: stock/api.py:801 msgid "Part Tree" msgstr "" -#: stock/api.py:797 +#: stock/api.py:831 msgid "Expiry date before" msgstr "" -#: stock/api.py:801 +#: stock/api.py:835 msgid "Expiry date after" msgstr "" -#: stock/api.py:804 stock/templates/stock/item_base.html:439 +#: stock/api.py:838 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:891 +#: stock/api.py:925 msgid "Quantity is required" msgstr "" -#: stock/api.py:897 +#: stock/api.py:931 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:928 +#: stock/api.py:962 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:938 +#: stock/api.py:972 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:969 +#: stock/api.py:1003 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8857,477 +8892,517 @@ msgstr "" msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:125 stock/models.py:771 +#: stock/models.py:127 stock/models.py:792 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:126 stock/templates/stock/location.html:179 +#: stock/models.py:128 stock/templates/stock/location.html:186 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "" -#: stock/models.py:158 stock/models.py:932 +#: stock/models.py:170 stock/models.py:953 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:159 stock/models.py:933 +#: stock/models.py:171 stock/models.py:954 msgid "Select Owner" msgstr "" -#: stock/models.py:167 +#: stock/models.py:179 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:174 templates/js/translated/stock.js:2784 +#: stock/models.py:186 templates/js/translated/stock.js:2781 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "" -#: stock/models.py:175 +#: stock/models.py:187 msgid "This is an external stock location" msgstr "" -#: stock/models.py:181 templates/js/translated/stock.js:2793 +#: stock/models.py:193 templates/js/translated/stock.js:2790 #: templates/js/translated/table_filters.js:246 msgid "Location type" msgstr "" -#: stock/models.py:185 +#: stock/models.py:197 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:254 +#: stock/models.py:266 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:626 +#: stock/models.py:647 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:653 stock/serializers.py:290 +#: stock/models.py:674 stock/serializers.py:419 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:670 +#: stock/models.py:691 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:680 stock/models.py:693 +#: stock/models.py:701 stock/models.py:714 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:683 +#: stock/models.py:704 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:707 +#: stock/models.py:728 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:712 +#: stock/models.py:733 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:725 +#: stock/models.py:746 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:741 +#: stock/models.py:762 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:753 +#: stock/models.py:774 msgid "Base part" msgstr "" -#: stock/models.py:763 +#: stock/models.py:784 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:775 +#: stock/models.py:796 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:783 stock/serializers.py:1351 +#: stock/models.py:804 stock/serializers.py:1480 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:794 +#: stock/models.py:815 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:813 +#: stock/models.py:834 msgid "Serial number for this item" msgstr "" -#: stock/models.py:827 stock/serializers.py:1334 +#: stock/models.py:848 stock/serializers.py:1463 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:832 +#: stock/models.py:853 msgid "Stock Quantity" msgstr "" -#: stock/models.py:842 +#: stock/models.py:863 msgid "Source Build" msgstr "" -#: stock/models.py:845 +#: stock/models.py:866 msgid "Build for this stock item" msgstr "" -#: stock/models.py:852 stock/templates/stock/item_base.html:363 +#: stock/models.py:873 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:855 +#: stock/models.py:876 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:864 +#: stock/models.py:885 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:868 +#: stock/models.py:889 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:874 +#: stock/models.py:895 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:885 +#: stock/models.py:906 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:903 +#: stock/models.py:924 msgid "Delete on deplete" msgstr "" -#: stock/models.py:904 +#: stock/models.py:925 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:924 +#: stock/models.py:945 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:955 +#: stock/models.py:976 msgid "Converted to part" msgstr "" -#: stock/models.py:1473 +#: stock/models.py:1494 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1479 +#: stock/models.py:1500 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1487 +#: stock/models.py:1508 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1493 +#: stock/models.py:1514 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1498 +#: stock/models.py:1519 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1506 stock/serializers.py:529 +#: stock/models.py:1527 stock/serializers.py:658 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1603 +#: stock/models.py:1624 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1621 +#: stock/models.py:1642 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1625 +#: stock/models.py:1646 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1628 +#: stock/models.py:1649 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1631 +#: stock/models.py:1652 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1634 +#: stock/models.py:1655 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1637 +#: stock/models.py:1658 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1644 stock/serializers.py:1240 +#: stock/models.py:1665 stock/serializers.py:1369 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1648 +#: stock/models.py:1669 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1656 +#: stock/models.py:1677 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1661 +#: stock/models.py:1682 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1882 +#: stock/models.py:1903 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2345 +#: stock/models.py:2322 msgid "Entry notes" msgstr "" -#: stock/models.py:2410 +#: stock/models.py:2387 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2415 +#: stock/models.py:2392 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2442 +#: stock/models.py:2419 msgid "Test result" msgstr "" -#: stock/models.py:2449 +#: stock/models.py:2426 msgid "Test output value" msgstr "" -#: stock/models.py:2457 +#: stock/models.py:2434 msgid "Test result attachment" msgstr "" -#: stock/models.py:2461 +#: stock/models.py:2438 msgid "Test notes" msgstr "" -#: stock/models.py:2469 templates/js/translated/stock.js:1548 +#: stock/models.py:2446 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "" -#: stock/models.py:2470 +#: stock/models.py:2447 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2476 +#: stock/models.py:2453 msgid "Started" msgstr "" -#: stock/models.py:2477 +#: stock/models.py:2454 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2483 +#: stock/models.py:2460 msgid "Finished" msgstr "" -#: stock/models.py:2484 +#: stock/models.py:2461 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:100 +#: stock/serializers.py:75 +msgid "Generated batch code" +msgstr "" + +#: stock/serializers.py:84 +msgid "Select build order" +msgstr "" + +#: stock/serializers.py:93 +msgid "Select stock item to generate batch code for" +msgstr "" + +#: stock/serializers.py:102 +msgid "Select location to generate batch code for" +msgstr "" + +#: stock/serializers.py:111 +msgid "Select part to generate batch code for" +msgstr "" + +#: stock/serializers.py:120 +msgid "Select purchase order" +msgstr "" + +#: stock/serializers.py:127 +msgid "Enter quantity for batch code" +msgstr "" + +#: stock/serializers.py:150 +msgid "Generated serial number" +msgstr "" + +#: stock/serializers.py:159 +msgid "Select part to generate serial number for" +msgstr "" + +#: stock/serializers.py:167 +msgid "Quantity of serial numbers to generate" +msgstr "" + +#: stock/serializers.py:229 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:119 +#: stock/serializers.py:248 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:151 +#: stock/serializers.py:280 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:184 +#: stock/serializers.py:313 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:282 +#: stock/serializers.py:411 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:402 +#: stock/serializers.py:531 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:464 +#: stock/serializers.py:593 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:477 +#: stock/serializers.py:606 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:484 +#: stock/serializers.py:613 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:495 stock/serializers.py:1197 stock/serializers.py:1453 +#: stock/serializers.py:624 stock/serializers.py:1326 stock/serializers.py:1582 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:502 +#: stock/serializers.py:631 msgid "Optional note field" msgstr "" -#: stock/serializers.py:512 +#: stock/serializers.py:641 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:567 +#: stock/serializers.py:696 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:574 +#: stock/serializers.py:703 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:575 +#: stock/serializers.py:704 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:580 stock/serializers.py:660 stock/serializers.py:756 -#: stock/serializers.py:806 +#: stock/serializers.py:709 stock/serializers.py:789 stock/serializers.py:885 +#: stock/serializers.py:935 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:588 +#: stock/serializers.py:717 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:596 +#: stock/serializers.py:725 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:607 +#: stock/serializers.py:736 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:620 +#: stock/serializers.py:749 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:655 +#: stock/serializers.py:784 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:690 +#: stock/serializers.py:819 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:703 +#: stock/serializers.py:832 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:720 +#: stock/serializers.py:849 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:751 +#: stock/serializers.py:880 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:788 +#: stock/serializers.py:917 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:794 +#: stock/serializers.py:923 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:890 stock/serializers.py:953 +#: stock/serializers.py:1019 stock/serializers.py:1082 #: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:213 +#: stock/templates/stock/location.html:220 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1069 +#: stock/serializers.py:1198 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1073 +#: stock/serializers.py:1202 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1077 +#: stock/serializers.py:1206 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1101 +#: stock/serializers.py:1230 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1107 +#: stock/serializers.py:1236 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1115 +#: stock/serializers.py:1244 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1125 stock/serializers.py:1379 +#: stock/serializers.py:1254 stock/serializers.py:1508 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1204 +#: stock/serializers.py:1333 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1209 +#: stock/serializers.py:1338 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1210 +#: stock/serializers.py:1339 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1215 +#: stock/serializers.py:1344 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1216 +#: stock/serializers.py:1345 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1226 +#: stock/serializers.py:1355 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1293 +#: stock/serializers.py:1422 msgid "No Change" msgstr "" -#: stock/serializers.py:1322 +#: stock/serializers.py:1451 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1341 +#: stock/serializers.py:1470 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1369 +#: stock/serializers.py:1498 msgid "Stock transaction notes" msgstr "" @@ -9352,7 +9427,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:286 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:282 msgid "Delete Test Data" msgstr "" @@ -9368,15 +9443,15 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3274 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3271 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:274 +#: stock/templates/stock/item.html:270 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:304 templates/js/translated/stock.js:1701 +#: stock/templates/stock/item.html:300 templates/js/translated/stock.js:1701 msgid "Add Test Result" msgstr "" @@ -9561,40 +9636,40 @@ msgstr "" msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:507 -#: templates/js/translated/stock.js:1954 +#: stock/templates/stock/item_base.html:504 +#: templates/js/translated/stock.js:1952 msgid "stock item" msgstr "" -#: stock/templates/stock/item_base.html:532 +#: stock/templates/stock/item_base.html:527 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:541 +#: stock/templates/stock/item_base.html:536 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:552 +#: stock/templates/stock/item_base.html:547 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:616 +#: stock/templates/stock/item_base.html:611 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:619 +#: stock/templates/stock/item_base.html:614 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:620 +#: stock/templates/stock/item_base.html:615 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:628 +#: stock/templates/stock/item_base.html:623 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:662 +#: stock/templates/stock/item_base.html:657 msgid "Return to Stock" msgstr "" @@ -9658,28 +9733,32 @@ msgstr "" msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:217 +#: stock/templates/stock/location.html:176 +msgid "Location Type" +msgstr "" + +#: stock/templates/stock/location.html:224 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:218 +#: stock/templates/stock/location.html:225 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:287 -#: templates/js/translated/stock.js:2575 +#: stock/templates/stock/location.html:295 +#: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:315 +#: stock/templates/stock/location.html:317 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:388 +#: stock/templates/stock/location.html:390 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:399 +#: stock/templates/stock/location.html:401 msgid "Link Barcode to Stock Location" msgstr "" @@ -9949,11 +10028,11 @@ msgstr "" msgid "Part Settings" msgstr "" -#: templates/InvenTree/settings/part.html:42 +#: templates/InvenTree/settings/part.html:43 msgid "Part Import" msgstr "" -#: templates/InvenTree/settings/part.html:46 +#: templates/InvenTree/settings/part.html:47 msgid "Import Part" msgstr "" @@ -10174,7 +10253,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:424 +#: templates/js/translated/stock.js:245 users/models.py:411 msgid "Delete" msgstr "" @@ -10283,7 +10362,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2159 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2163 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" @@ -10874,7 +10953,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3218 +#: templates/js/translated/part.js:3217 msgid "Minimum Quantity" msgstr "" @@ -11254,7 +11333,7 @@ msgid "External stock" msgstr "" #: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2595 -#: templates/js/translated/sales_order.js:1910 +#: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" @@ -11264,7 +11343,7 @@ msgstr "" #: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 #: templates/js/translated/part.js:1256 -#: templates/js/translated/sales_order.js:1907 +#: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" @@ -11519,17 +11598,17 @@ msgstr "" #: templates/js/translated/build.js:1576 #: templates/js/translated/purchase_order.js:611 -#: templates/js/translated/sales_order.js:1171 +#: templates/js/translated/sales_order.js:1207 msgid "Select Parts" msgstr "" #: templates/js/translated/build.js:1577 -#: templates/js/translated/sales_order.js:1172 +#: templates/js/translated/sales_order.js:1208 msgid "You must select at least one part to allocate" msgstr "" #: templates/js/translated/build.js:1640 -#: templates/js/translated/sales_order.js:1121 +#: templates/js/translated/sales_order.js:1157 msgid "Specify stock allocation quantity" msgstr "" @@ -11542,7 +11621,7 @@ msgid "All selected parts have been fully allocated" msgstr "" #: templates/js/translated/build.js:1732 -#: templates/js/translated/sales_order.js:1186 +#: templates/js/translated/sales_order.js:1222 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -11551,12 +11630,12 @@ msgid "Allocate Stock Items to Build Order" msgstr "" #: templates/js/translated/build.js:1771 -#: templates/js/translated/sales_order.js:1283 +#: templates/js/translated/sales_order.js:1319 msgid "No matching stock locations" msgstr "" #: templates/js/translated/build.js:1844 -#: templates/js/translated/sales_order.js:1362 +#: templates/js/translated/sales_order.js:1398 msgid "No matching stock items" msgstr "" @@ -11589,9 +11668,9 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 -#: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 -#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 -#: templates/js/translated/stock.js:1985 templates/js/translated/stock.js:2713 +#: templates/js/translated/forms.js:2159 templates/js/translated/forms.js:2175 +#: templates/js/translated/part.js:2315 templates/js/translated/part.js:2741 +#: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "" @@ -11599,21 +11678,17 @@ msgstr "" msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2177 -msgid "Progress" -msgstr "" - -#: templates/js/translated/build.js:2213 templates/js/translated/stock.js:3045 +#: templates/js/translated/build.js:2213 templates/js/translated/stock.js:3042 msgid "No user information" msgstr "" #: templates/js/translated/build.js:2389 -#: templates/js/translated/sales_order.js:1646 +#: templates/js/translated/sales_order.js:1682 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:2390 -#: templates/js/translated/sales_order.js:1647 +#: templates/js/translated/sales_order.js:1683 msgid "Delete stock allocation" msgstr "" @@ -11647,7 +11722,7 @@ msgid "Unit Quantity" msgstr "" #: templates/js/translated/build.js:2591 -#: templates/js/translated/sales_order.js:1915 +#: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" @@ -11664,7 +11739,7 @@ msgid "Allocate tracked items against individual build outputs" msgstr "" #: templates/js/translated/build.js:2662 -#: templates/js/translated/sales_order.js:2016 +#: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "" @@ -11673,7 +11748,7 @@ msgid "Order stock" msgstr "" #: templates/js/translated/build.js:2671 -#: templates/js/translated/sales_order.js:2010 +#: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "" @@ -11923,12 +11998,12 @@ msgid "Delete price break" msgstr "" #: templates/js/translated/filters.js:186 -#: templates/js/translated/filters.js:672 +#: templates/js/translated/filters.js:667 msgid "true" msgstr "" #: templates/js/translated/filters.js:190 -#: templates/js/translated/filters.js:673 +#: templates/js/translated/filters.js:668 msgid "false" msgstr "" @@ -11960,7 +12035,7 @@ msgstr "" msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:582 +#: templates/js/translated/filters.js:577 msgid "Create filter" msgstr "" @@ -11993,32 +12068,32 @@ msgstr "" msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1473 templates/modals.html:19 +#: templates/js/translated/forms.js:1477 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1971 +#: templates/js/translated/forms.js:1975 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2275 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2279 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2489 +#: templates/js/translated/forms.js:2493 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3091 +#: templates/js/translated/forms.js:3095 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3091 +#: templates/js/translated/forms.js:3095 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3103 +#: templates/js/translated/forms.js:3107 msgid "Select Columns" msgstr "" @@ -12042,51 +12117,15 @@ msgstr "" msgid "No parts required for builds" msgstr "" -#: templates/js/translated/label.js:53 templates/js/translated/report.js:123 +#: templates/js/translated/label.js:55 templates/js/translated/report.js:38 msgid "Select Items" msgstr "" -#: templates/js/translated/label.js:54 +#: templates/js/translated/label.js:56 templates/js/translated/report.js:39 msgid "No items selected for printing" msgstr "" -#: templates/js/translated/label.js:72 -msgid "No Labels Found" -msgstr "" - -#: templates/js/translated/label.js:73 -msgid "No label templates found which match the selected items" -msgstr "" - -#: templates/js/translated/label.js:97 -msgid "selected" -msgstr "" - -#: templates/js/translated/label.js:133 -msgid "Printing Options" -msgstr "" - -#: templates/js/translated/label.js:148 -msgid "Print label" -msgstr "" - -#: templates/js/translated/label.js:148 -msgid "Print labels" -msgstr "" - #: templates/js/translated/label.js:149 -msgid "Print" -msgstr "" - -#: templates/js/translated/label.js:155 -msgid "Select label template" -msgstr "" - -#: templates/js/translated/label.js:168 -msgid "Select plugin" -msgstr "" - -#: templates/js/translated/label.js:187 msgid "Labels sent to printer" msgstr "" @@ -12204,7 +12243,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1991 +#: templates/js/translated/purchase_order.js:1990 msgid "No line items found" msgstr "" @@ -12442,19 +12481,19 @@ msgid "Delete Part Parameter Template" msgstr "" #: templates/js/translated/part.js:1716 -#: templates/js/translated/purchase_order.js:1655 +#: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1860 -#: templates/js/translated/purchase_order.js:2154 -#: templates/js/translated/return_order.js:756 -#: templates/js/translated/sales_order.js:1875 +#: templates/js/translated/purchase_order.js:2153 +#: templates/js/translated/return_order.js:755 +#: templates/js/translated/sales_order.js:1911 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1906 -#: templates/js/translated/purchase_order.js:2221 +#: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "" @@ -12466,7 +12505,7 @@ msgstr "" msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2506 +#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2505 msgid "No parts found" msgstr "" @@ -12482,101 +12521,101 @@ msgstr "" msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2286 msgid "part" msgstr "" -#: templates/js/translated/part.js:2288 +#: templates/js/translated/part.js:2287 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2384 +#: templates/js/translated/part.js:2383 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 -#: templates/js/translated/stock.js:2672 +#: templates/js/translated/part.js:2530 templates/js/translated/part.js:2660 +#: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2547 +#: templates/js/translated/part.js:2546 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2645 +#: templates/js/translated/part.js:2644 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2692 +#: templates/js/translated/part.js:2680 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2761 +#: templates/js/translated/part.js:2760 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2777 +#: templates/js/translated/part.js:2776 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2864 +#: templates/js/translated/part.js:2863 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2886 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2885 templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2935 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2941 +#: templates/js/translated/part.js:2940 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2957 +#: templates/js/translated/part.js:2956 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2971 +#: templates/js/translated/part.js:2970 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3050 templates/js/translated/part.js:3051 +#: templates/js/translated/part.js:3049 templates/js/translated/part.js:3050 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3053 +#: templates/js/translated/part.js:3052 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3059 +#: templates/js/translated/part.js:3058 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3109 +#: templates/js/translated/part.js:3108 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3115 +#: templates/js/translated/part.js:3114 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3211 +#: templates/js/translated/part.js:3210 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3227 +#: templates/js/translated/part.js:3226 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3272 +#: templates/js/translated/part.js:3271 msgid "Minimum Stock Level" msgstr "" @@ -12702,7 +12741,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:448 #: templates/js/translated/return_order.js:210 -#: templates/js/translated/sales_order.js:500 +#: templates/js/translated/sales_order.js:552 msgid "Mark this order as complete?" msgstr "" @@ -12715,7 +12754,6 @@ msgid "This order has line items which have not been marked as received." msgstr "" #: templates/js/translated/purchase_order.js:460 -#: templates/js/translated/sales_order.js:514 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" @@ -12773,12 +12811,12 @@ msgid "No matching purchase orders" msgstr "" #: templates/js/translated/purchase_order.js:1073 -#: templates/js/translated/return_order.js:491 +#: templates/js/translated/return_order.js:490 msgid "Select Line Items" msgstr "" #: templates/js/translated/purchase_order.js:1074 -#: templates/js/translated/return_order.js:492 +#: templates/js/translated/return_order.js:491 msgid "At least one line item must be selected" msgstr "" @@ -12827,7 +12865,7 @@ msgid "Quantity to Receive" msgstr "" #: templates/js/translated/purchase_order.js:1333 -#: templates/js/translated/return_order.js:561 +#: templates/js/translated/return_order.js:560 msgid "Confirm receipt of items" msgstr "" @@ -12847,81 +12885,66 @@ msgstr "" msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1682 -#: templates/js/translated/return_order.js:286 -#: templates/js/translated/sales_order.js:774 -#: templates/js/translated/sales_order.js:998 +#: templates/js/translated/purchase_order.js:1681 +#: templates/js/translated/return_order.js:285 +#: templates/js/translated/sales_order.js:810 +#: templates/js/translated/sales_order.js:1034 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1748 -#: templates/js/translated/return_order.js:354 -#: templates/js/translated/sales_order.js:851 -#: templates/js/translated/sales_order.js:1011 -msgid "Items" -msgstr "" - -#: templates/js/translated/purchase_order.js:1844 +#: templates/js/translated/purchase_order.js:1843 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1862 +#: templates/js/translated/purchase_order.js:1861 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1917 -#: templates/js/translated/sales_order.js:2070 +#: templates/js/translated/purchase_order.js:1916 +#: templates/js/translated/sales_order.js:2106 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1932 -#: templates/js/translated/return_order.js:476 -#: templates/js/translated/return_order.js:669 -#: templates/js/translated/sales_order.js:2083 +#: templates/js/translated/purchase_order.js:1931 +#: templates/js/translated/return_order.js:475 +#: templates/js/translated/return_order.js:668 +#: templates/js/translated/sales_order.js:2119 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1943 -#: templates/js/translated/return_order.js:682 -#: templates/js/translated/sales_order.js:2094 +#: templates/js/translated/purchase_order.js:1942 +#: templates/js/translated/return_order.js:681 +#: templates/js/translated/sales_order.js:2130 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2225 -#: templates/js/translated/sales_order.js:2024 +#: templates/js/translated/purchase_order.js:2224 +#: templates/js/translated/sales_order.js:2060 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2226 -#: templates/js/translated/return_order.js:801 -#: templates/js/translated/sales_order.js:2025 +#: templates/js/translated/purchase_order.js:2225 +#: templates/js/translated/return_order.js:800 +#: templates/js/translated/sales_order.js:2061 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2227 -#: templates/js/translated/return_order.js:805 -#: templates/js/translated/sales_order.js:2031 +#: templates/js/translated/purchase_order.js:2226 +#: templates/js/translated/return_order.js:804 +#: templates/js/translated/sales_order.js:2067 msgid "Delete line item" msgstr "" -#: templates/js/translated/report.js:63 -msgid "items selected" +#: templates/js/translated/report.js:49 +msgid "Print Report" msgstr "" -#: templates/js/translated/report.js:71 -msgid "Select Report Template" +#: templates/js/translated/report.js:68 +msgid "Report print successful" msgstr "" -#: templates/js/translated/report.js:86 -msgid "Select Test Report Template" -msgstr "" - -#: templates/js/translated/report.js:140 -msgid "No Reports Found" -msgstr "" - -#: templates/js/translated/report.js:141 -msgid "No report templates found which match the selected items" +#: templates/js/translated/report.js:73 +msgid "Report printing failed" msgstr "" #: templates/js/translated/return_order.js:60 @@ -12953,25 +12976,25 @@ msgstr "" msgid "Complete Return Order" msgstr "" -#: templates/js/translated/return_order.js:266 +#: templates/js/translated/return_order.js:265 msgid "No return orders found" msgstr "" -#: templates/js/translated/return_order.js:300 -#: templates/js/translated/sales_order.js:788 +#: templates/js/translated/return_order.js:299 +#: templates/js/translated/sales_order.js:824 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/return_order.js:562 +#: templates/js/translated/return_order.js:561 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:693 -#: templates/js/translated/sales_order.js:2231 +#: templates/js/translated/return_order.js:692 +#: templates/js/translated/sales_order.js:2267 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:798 +#: templates/js/translated/return_order.js:797 msgid "Mark item as received" msgstr "" @@ -13015,140 +13038,156 @@ msgstr "" msgid "Skip" msgstr "" +#: templates/js/translated/sales_order.js:484 +msgid "Ship Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:500 +msgid "Ship this order?" +msgstr "" + +#: templates/js/translated/sales_order.js:506 +msgid "Order cannot be shipped as there are incomplete shipments" +msgstr "" + #: templates/js/translated/sales_order.js:513 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/sales_order.js:535 +#: templates/js/translated/sales_order.js:514 +msgid "Shipping this order means that the order and line items will no longer be editable." +msgstr "" + +#: templates/js/translated/sales_order.js:572 msgid "Issue this Sales Order?" msgstr "" -#: templates/js/translated/sales_order.js:540 +#: templates/js/translated/sales_order.js:577 msgid "Issue Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:559 +#: templates/js/translated/sales_order.js:596 msgid "Cancel Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:564 +#: templates/js/translated/sales_order.js:601 msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: templates/js/translated/sales_order.js:618 +#: templates/js/translated/sales_order.js:655 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/sales_order.js:728 +#: templates/js/translated/sales_order.js:764 msgid "No sales orders found" msgstr "" -#: templates/js/translated/sales_order.js:908 +#: templates/js/translated/sales_order.js:944 msgid "Edit shipment" msgstr "" -#: templates/js/translated/sales_order.js:911 +#: templates/js/translated/sales_order.js:947 msgid "Complete shipment" msgstr "" -#: templates/js/translated/sales_order.js:916 +#: templates/js/translated/sales_order.js:952 msgid "Delete shipment" msgstr "" -#: templates/js/translated/sales_order.js:933 +#: templates/js/translated/sales_order.js:969 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/sales_order.js:948 +#: templates/js/translated/sales_order.js:984 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:981 +#: templates/js/translated/sales_order.js:1017 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/sales_order.js:1006 +#: templates/js/translated/sales_order.js:1042 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/sales_order.js:1030 -#: templates/js/translated/sales_order.js:1529 +#: templates/js/translated/sales_order.js:1066 +#: templates/js/translated/sales_order.js:1565 msgid "Not shipped" msgstr "" -#: templates/js/translated/sales_order.js:1048 +#: templates/js/translated/sales_order.js:1084 msgid "Tracking" msgstr "" -#: templates/js/translated/sales_order.js:1052 +#: templates/js/translated/sales_order.js:1088 msgid "Invoice" msgstr "" -#: templates/js/translated/sales_order.js:1219 +#: templates/js/translated/sales_order.js:1255 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1270 +#: templates/js/translated/sales_order.js:1306 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/sales_order.js:1271 +#: templates/js/translated/sales_order.js:1307 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1477 +#: templates/js/translated/sales_order.js:1513 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1569 +#: templates/js/translated/sales_order.js:1605 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1583 +#: templates/js/translated/sales_order.js:1619 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/sales_order.js:1584 +#: templates/js/translated/sales_order.js:1620 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1623 -#: templates/js/translated/sales_order.js:1710 +#: templates/js/translated/sales_order.js:1659 +#: templates/js/translated/sales_order.js:1746 #: templates/js/translated/stock.js:1776 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/sales_order.js:1631 -#: templates/js/translated/sales_order.js:1719 +#: templates/js/translated/sales_order.js:1667 +#: templates/js/translated/sales_order.js:1755 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:2008 +#: templates/js/translated/sales_order.js:2044 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/sales_order.js:2012 +#: templates/js/translated/sales_order.js:2048 msgid "Purchase stock" msgstr "" -#: templates/js/translated/sales_order.js:2021 -#: templates/js/translated/sales_order.js:2209 +#: templates/js/translated/sales_order.js:2057 +#: templates/js/translated/sales_order.js:2245 msgid "Calculate price" msgstr "" -#: templates/js/translated/sales_order.js:2035 +#: templates/js/translated/sales_order.js:2071 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:2038 +#: templates/js/translated/sales_order.js:2074 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:2109 +#: templates/js/translated/sales_order.js:2145 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/sales_order.js:2217 +#: templates/js/translated/sales_order.js:2253 msgid "Update Unit Price" msgstr "" @@ -13356,7 +13395,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1042 users/models.py:414 +#: templates/js/translated/stock.js:1042 users/models.py:401 msgid "Add" msgstr "" @@ -13372,7 +13411,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1180 templates/js/translated/stock.js:3302 +#: templates/js/translated/stock.js:1180 templates/js/translated/stock.js:3299 msgid "Select Stock Items" msgstr "" @@ -13456,196 +13495,196 @@ msgstr "" msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:1955 +#: templates/js/translated/stock.js:1953 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1960 +#: templates/js/translated/stock.js:1958 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:1971 +#: templates/js/translated/stock.js:1969 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:2015 +#: templates/js/translated/stock.js:2013 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2093 +#: templates/js/translated/stock.js:2091 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2098 +#: templates/js/translated/stock.js:2096 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2101 +#: templates/js/translated/stock.js:2099 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2104 +#: templates/js/translated/stock.js:2102 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2106 +#: templates/js/translated/stock.js:2104 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2108 +#: templates/js/translated/stock.js:2106 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2111 +#: templates/js/translated/stock.js:2109 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2113 +#: templates/js/translated/stock.js:2111 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2117 +#: templates/js/translated/stock.js:2115 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2119 +#: templates/js/translated/stock.js:2117 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2124 +#: templates/js/translated/stock.js:2122 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2126 +#: templates/js/translated/stock.js:2124 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2128 +#: templates/js/translated/stock.js:2126 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2132 +#: templates/js/translated/stock.js:2130 #: templates/js/translated/table_filters.js:350 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2297 +#: templates/js/translated/stock.js:2295 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2344 +#: templates/js/translated/stock.js:2342 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2472 +#: templates/js/translated/stock.js:2470 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2576 +#: templates/js/translated/stock.js:2573 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2731 +#: templates/js/translated/stock.js:2728 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2849 +#: templates/js/translated/stock.js:2846 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2853 +#: templates/js/translated/stock.js:2850 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2865 +#: templates/js/translated/stock.js:2862 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2887 +#: templates/js/translated/stock.js:2884 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2904 +#: templates/js/translated/stock.js:2901 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2919 +#: templates/js/translated/stock.js:2916 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2936 +#: templates/js/translated/stock.js:2933 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:2950 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2972 +#: templates/js/translated/stock.js:2969 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2990 +#: templates/js/translated/stock.js:2987 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:3008 +#: templates/js/translated/stock.js:3005 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:3016 +#: templates/js/translated/stock.js:3013 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3088 +#: templates/js/translated/stock.js:3085 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3142 templates/js/translated/stock.js:3178 +#: templates/js/translated/stock.js:3139 templates/js/translated/stock.js:3175 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3200 +#: templates/js/translated/stock.js:3197 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3221 +#: templates/js/translated/stock.js:3218 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3222 +#: templates/js/translated/stock.js:3219 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3224 +#: templates/js/translated/stock.js:3221 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3225 +#: templates/js/translated/stock.js:3222 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3226 +#: templates/js/translated/stock.js:3223 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3227 +#: templates/js/translated/stock.js:3224 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3240 +#: templates/js/translated/stock.js:3237 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3303 +#: templates/js/translated/stock.js:3300 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3316 +#: templates/js/translated/stock.js:3313 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3320 +#: templates/js/translated/stock.js:3317 msgid "Change Stock Status" msgstr "" @@ -14247,34 +14286,35 @@ msgstr "" msgid "Revoked" msgstr "" -#: users/models.py:397 +#: users/models.py:384 msgid "Permission set" msgstr "" -#: users/models.py:406 +#: users/models.py:393 msgid "Group" msgstr "" -#: users/models.py:410 +#: users/models.py:397 msgid "View" msgstr "" -#: users/models.py:410 +#: users/models.py:397 msgid "Permission to view items" msgstr "" -#: users/models.py:414 +#: users/models.py:401 msgid "Permission to add items" msgstr "" -#: users/models.py:418 +#: users/models.py:405 msgid "Change" msgstr "" -#: users/models.py:420 +#: users/models.py:407 msgid "Permissions to edit items" msgstr "" -#: users/models.py:426 +#: users/models.py:413 msgid "Permission to delete items" msgstr "" + diff --git a/src/backend/InvenTree/locale/es_MX/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/es_MX/LC_MESSAGES/django.po index 4a89fcb7b7..7fac3e5b43 100644 --- a/src/backend/InvenTree/locale/es_MX/LC_MESSAGES/django.po +++ b/src/backend/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: 2024-05-10 05:37+0000\n" +"POT-Creation-Date: 2024-05-22 07:02+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,11 +18,11 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: InvenTree/api.py:271 +#: InvenTree/api.py:272 msgid "API endpoint not found" msgstr "" -#: InvenTree/api.py:535 +#: InvenTree/api.py:536 msgid "User does not have permission to view this model" msgstr "" @@ -57,26 +57,26 @@ msgstr "" msgid "Enter date" msgstr "" -#: InvenTree/fields.py:208 InvenTree/models.py:1021 build/serializers.py:444 -#: build/serializers.py:522 build/templates/build/sidebar.html:21 +#: InvenTree/fields.py:208 InvenTree/models.py:1035 build/serializers.py:443 +#: build/serializers.py:521 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 -#: order/models.py:1283 order/templates/order/po_sidebar.html:11 +#: order/models.py:1329 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:59 -#: part/models.py:3175 part/templates/part/part_sidebar.html:63 -#: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:226 stock/models.py:2344 stock/models.py:2461 -#: stock/serializers.py:501 stock/serializers.py:659 stock/serializers.py:755 -#: stock/serializers.py:805 stock/serializers.py:1114 stock/serializers.py:1203 -#: stock/serializers.py:1368 stock/templates/stock/stock_sidebar.html:25 +#: part/models.py:3218 part/templates/part/part_sidebar.html:63 +#: report/templates/report/inventree_build_order_report.html:172 +#: stock/admin.py:226 stock/models.py:2321 stock/models.py:2438 +#: stock/serializers.py:630 stock/serializers.py:788 stock/serializers.py:884 +#: stock/serializers.py:934 stock/serializers.py:1243 stock/serializers.py:1332 +#: stock/serializers.py:1497 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1080 -#: templates/js/translated/purchase_order.js:2201 -#: templates/js/translated/return_order.js:776 -#: templates/js/translated/sales_order.js:1067 -#: templates/js/translated/sales_order.js:1982 -#: templates/js/translated/stock.js:1536 templates/js/translated/stock.js:2430 +#: templates/js/translated/purchase_order.js:2200 +#: templates/js/translated/return_order.js:775 +#: templates/js/translated/sales_order.js:1103 +#: templates/js/translated/sales_order.js:2018 +#: templates/js/translated/stock.js:1536 templates/js/translated/stock.js:2428 msgid "Notes" msgstr "" @@ -133,7 +133,7 @@ msgstr "" msgid "Registration is disabled." msgstr "" -#: InvenTree/helpers.py:525 order/models.py:541 order/models.py:743 +#: InvenTree/helpers.py:525 order/models.py:563 order/models.py:765 msgid "Invalid quantity provided" msgstr "" @@ -356,142 +356,142 @@ msgstr "" msgid "Error running plugin validation" msgstr "" -#: InvenTree/models.py:162 +#: InvenTree/models.py:176 msgid "Metadata must be a python dict object" msgstr "" -#: InvenTree/models.py:168 +#: InvenTree/models.py:182 msgid "Plugin Metadata" msgstr "" -#: InvenTree/models.py:169 +#: InvenTree/models.py:183 msgid "JSON metadata field, for use by external plugins" msgstr "" -#: InvenTree/models.py:399 +#: InvenTree/models.py:413 msgid "Improperly formatted pattern" msgstr "" -#: InvenTree/models.py:406 +#: InvenTree/models.py:420 msgid "Unknown format key specified" msgstr "" -#: InvenTree/models.py:412 +#: InvenTree/models.py:426 msgid "Missing required format key" msgstr "" -#: InvenTree/models.py:423 +#: InvenTree/models.py:437 msgid "Reference field cannot be empty" msgstr "" -#: InvenTree/models.py:431 +#: InvenTree/models.py:445 msgid "Reference must match required pattern" msgstr "" -#: InvenTree/models.py:462 +#: InvenTree/models.py:476 msgid "Reference number is too large" msgstr "" -#: InvenTree/models.py:536 +#: InvenTree/models.py:550 msgid "Missing file" msgstr "" -#: InvenTree/models.py:537 +#: InvenTree/models.py:551 msgid "Missing external link" msgstr "" -#: InvenTree/models.py:558 stock/models.py:2456 +#: InvenTree/models.py:572 stock/models.py:2433 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" msgstr "" -#: InvenTree/models.py:559 +#: InvenTree/models.py:573 msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:567 common/models.py:3026 company/models.py:146 +#: InvenTree/models.py:581 common/models.py:3032 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 -#: order/models.py:291 order/models.py:1288 order/models.py:1704 -#: part/admin.py:55 part/models.py:919 +#: order/models.py:304 order/models.py:1334 order/models.py:1750 +#: part/admin.py:55 part/models.py:962 #: part/templates/part/part_scheduling.html:11 -#: report/templates/report/inventree_build_order_base.html:164 +#: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2456 -#: templates/js/translated/purchase_order.js:2041 -#: templates/js/translated/purchase_order.js:2205 -#: templates/js/translated/return_order.js:780 -#: templates/js/translated/sales_order.js:1056 -#: templates/js/translated/sales_order.js:1987 +#: templates/js/translated/part.js:2455 +#: templates/js/translated/purchase_order.js:2040 +#: templates/js/translated/purchase_order.js:2204 +#: templates/js/translated/return_order.js:779 +#: templates/js/translated/sales_order.js:1092 +#: templates/js/translated/sales_order.js:2023 msgid "Link" msgstr "" -#: InvenTree/models.py:568 build/models.py:321 part/models.py:920 -#: stock/models.py:819 +#: InvenTree/models.py:582 build/models.py:344 part/models.py:963 +#: stock/models.py:840 msgid "Link to external URL" msgstr "" -#: InvenTree/models.py:574 templates/js/translated/attachment.js:120 +#: InvenTree/models.py:588 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:341 msgid "Comment" msgstr "" -#: InvenTree/models.py:575 +#: InvenTree/models.py:589 msgid "File comment" msgstr "" -#: InvenTree/models.py:583 InvenTree/models.py:584 common/models.py:2502 -#: common/models.py:2503 common/models.py:2727 common/models.py:2728 -#: common/models.py:2973 common/models.py:2974 part/models.py:3185 -#: part/models.py:3272 part/models.py:3365 part/models.py:3393 -#: plugin/models.py:250 plugin/models.py:251 -#: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3039 users/models.py:111 +#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2508 +#: common/models.py:2509 common/models.py:2733 common/models.py:2734 +#: common/models.py:2979 common/models.py:2980 part/models.py:3228 +#: part/models.py:3315 part/models.py:3408 part/models.py:3436 +#: plugin/models.py:259 plugin/models.py:260 +#: report/templates/report/inventree_test_report.html:105 +#: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" msgstr "" -#: InvenTree/models.py:588 +#: InvenTree/models.py:602 msgid "upload date" msgstr "" -#: InvenTree/models.py:610 +#: InvenTree/models.py:624 msgid "Filename must not be empty" msgstr "" -#: InvenTree/models.py:621 +#: InvenTree/models.py:635 msgid "Invalid attachment directory" msgstr "" -#: InvenTree/models.py:651 +#: InvenTree/models.py:665 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "" -#: InvenTree/models.py:654 +#: InvenTree/models.py:668 msgid "Filename missing extension" msgstr "" -#: InvenTree/models.py:663 +#: InvenTree/models.py:677 msgid "Attachment with this filename already exists" msgstr "" -#: InvenTree/models.py:670 +#: InvenTree/models.py:684 msgid "Error renaming file" msgstr "" -#: InvenTree/models.py:846 +#: InvenTree/models.py:860 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:863 +#: InvenTree/models.py:877 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:893 common/models.py:2714 common/models.py:3112 -#: common/serializers.py:403 company/models.py:614 label/models.py:120 -#: machine/models.py:24 part/models.py:855 part/models.py:3616 -#: plugin/models.py:41 report/models.py:176 stock/models.py:76 +#: InvenTree/models.py:907 common/models.py:2720 common/models.py:3118 +#: common/serializers.py:403 company/models.py:614 machine/models.py:24 +#: part/models.py:898 part/models.py:3659 plugin/models.py:50 +#: report/models.py:149 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -504,22 +504,22 @@ msgstr "" #: templates/js/translated/company.js:1165 #: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186 #: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2719 +#: templates/js/translated/part.js:2748 templates/js/translated/stock.js:2716 msgid "Name" msgstr "" -#: InvenTree/models.py:899 build/models.py:194 +#: InvenTree/models.py:913 build/models.py:217 #: build/templates/build/detail.html:24 common/models.py:136 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 label/models.py:127 -#: order/models.py:277 order/models.py:1316 part/admin.py:303 part/admin.py:414 -#: part/models.py:878 part/models.py:3631 part/templates/part/category.html:82 +#: company/templates/company/supplier_part.html:107 order/models.py:290 +#: order/models.py:1362 part/admin.py:305 part/admin.py:416 part/models.py:921 +#: part/models.py:3674 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 -#: part/templates/part/part_scheduling.html:12 report/models.py:189 -#: report/models.py:655 report/models.py:729 -#: report/templates/report/inventree_build_order_base.html:117 +#: part/templates/part/part_scheduling.html:12 report/models.py:155 +#: report/models.py:510 report/models.py:536 +#: report/templates/report/inventree_build_order_report.html:117 #: stock/admin.py:55 stock/models.py:82 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 @@ -531,71 +531,71 @@ msgstr "" #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 -#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2896 +#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2354 +#: templates/js/translated/part.js:2784 templates/js/translated/part.js:2895 #: templates/js/translated/plugin.js:80 -#: templates/js/translated/purchase_order.js:1707 -#: templates/js/translated/purchase_order.js:1850 -#: templates/js/translated/purchase_order.js:2023 -#: templates/js/translated/return_order.js:314 -#: templates/js/translated/sales_order.js:802 -#: templates/js/translated/sales_order.js:1812 -#: templates/js/translated/stock.js:1515 templates/js/translated/stock.js:2060 -#: templates/js/translated/stock.js:2751 templates/js/translated/stock.js:2834 +#: templates/js/translated/purchase_order.js:1706 +#: templates/js/translated/purchase_order.js:1849 +#: templates/js/translated/purchase_order.js:2022 +#: templates/js/translated/return_order.js:313 +#: templates/js/translated/sales_order.js:838 +#: templates/js/translated/sales_order.js:1848 +#: templates/js/translated/stock.js:1515 templates/js/translated/stock.js:2058 +#: templates/js/translated/stock.js:2748 templates/js/translated/stock.js:2831 msgid "Description" msgstr "" -#: InvenTree/models.py:900 stock/models.py:83 +#: InvenTree/models.py:914 stock/models.py:83 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:909 +#: InvenTree/models.py:923 msgid "parent" msgstr "" -#: InvenTree/models.py:915 templates/js/translated/part.js:2794 -#: templates/js/translated/stock.js:2760 +#: InvenTree/models.py:929 templates/js/translated/part.js:2793 +#: templates/js/translated/stock.js:2757 msgid "Path" msgstr "" -#: InvenTree/models.py:1021 +#: InvenTree/models.py:1035 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:1050 +#: InvenTree/models.py:1064 msgid "Barcode Data" msgstr "" -#: InvenTree/models.py:1051 +#: InvenTree/models.py:1065 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:1057 +#: InvenTree/models.py:1071 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:1058 +#: InvenTree/models.py:1072 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:1111 +#: InvenTree/models.py:1125 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:1154 +#: InvenTree/models.py:1168 msgid "Server Error" msgstr "" -#: InvenTree/models.py:1155 +#: InvenTree/models.py:1169 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:62 part/models.py:4169 +#: InvenTree/serializers.py:62 part/models.py:4212 msgid "Must be a valid number" msgstr "" #: InvenTree/serializers.py:99 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:2993 +#: company/templates/company/company_base.html:112 part/models.py:3036 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -687,7 +687,7 @@ msgstr "" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1161 +#: InvenTree/status.py:66 part/serializers.py:1176 msgid "Background worker check failed" msgstr "" @@ -700,8 +700,8 @@ msgid "InvenTree system health checks failed" msgstr "" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:37 -#: InvenTree/status_codes.py:148 InvenTree/status_codes.py:164 -#: InvenTree/status_codes.py:182 generic/states/tests.py:17 +#: InvenTree/status_codes.py:149 InvenTree/status_codes.py:165 +#: InvenTree/status_codes.py:183 generic/states/tests.py:17 #: templates/js/translated/table_filters.js:598 msgid "Pending" msgstr "" @@ -710,188 +710,188 @@ msgstr "" msgid "Placed" msgstr "" -#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:151 -#: InvenTree/status_codes.py:169 generic/states/tests.py:19 -#: order/templates/order/order_base.html:158 -#: order/templates/order/sales_order_base.html:161 +#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:44 +#: InvenTree/status_codes.py:152 InvenTree/status_codes.py:170 +#: generic/states/tests.py:19 order/templates/order/order_base.html:158 +#: order/templates/order/sales_order_base.html:165 report/models.py:444 msgid "Complete" msgstr "" -#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:44 -#: InvenTree/status_codes.py:150 InvenTree/status_codes.py:170 +#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:45 +#: InvenTree/status_codes.py:151 InvenTree/status_codes.py:171 msgid "Cancelled" msgstr "" -#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:45 -#: InvenTree/status_codes.py:67 +#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:46 +#: InvenTree/status_codes.py:68 msgid "Lost" msgstr "" -#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:46 -#: InvenTree/status_codes.py:73 +#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:47 +#: InvenTree/status_codes.py:74 msgid "Returned" msgstr "" -#: InvenTree/status_codes.py:40 InvenTree/status_codes.py:167 +#: InvenTree/status_codes.py:40 InvenTree/status_codes.py:168 msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:43 order/models.py:1566 -#: templates/js/translated/sales_order.js:1523 -#: templates/js/translated/sales_order.js:1644 -#: templates/js/translated/sales_order.js:1957 +#: InvenTree/status_codes.py:43 order/models.py:1612 +#: templates/js/translated/sales_order.js:1559 +#: templates/js/translated/sales_order.js:1680 +#: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "" -#: InvenTree/status_codes.py:62 +#: InvenTree/status_codes.py:63 msgid "OK" msgstr "" -#: InvenTree/status_codes.py:63 +#: InvenTree/status_codes.py:64 msgid "Attention needed" msgstr "" -#: InvenTree/status_codes.py:64 +#: InvenTree/status_codes.py:65 msgid "Damaged" msgstr "" -#: InvenTree/status_codes.py:65 +#: InvenTree/status_codes.py:66 msgid "Destroyed" msgstr "" -#: InvenTree/status_codes.py:66 +#: InvenTree/status_codes.py:67 msgid "Rejected" msgstr "" -#: InvenTree/status_codes.py:70 +#: InvenTree/status_codes.py:71 msgid "Quarantined" msgstr "" -#: InvenTree/status_codes.py:91 +#: InvenTree/status_codes.py:92 msgid "Legacy stock tracking entry" msgstr "" -#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:544 +#: InvenTree/status_codes.py:94 templates/js/translated/stock.js:544 msgid "Stock item created" msgstr "" -#: InvenTree/status_codes.py:96 +#: InvenTree/status_codes.py:97 msgid "Edited stock item" msgstr "" -#: InvenTree/status_codes.py:97 +#: InvenTree/status_codes.py:98 msgid "Assigned serial number" msgstr "" -#: InvenTree/status_codes.py:100 +#: InvenTree/status_codes.py:101 msgid "Stock counted" msgstr "" -#: InvenTree/status_codes.py:101 +#: InvenTree/status_codes.py:102 msgid "Stock manually added" msgstr "" -#: InvenTree/status_codes.py:102 +#: InvenTree/status_codes.py:103 msgid "Stock manually removed" msgstr "" -#: InvenTree/status_codes.py:105 +#: InvenTree/status_codes.py:106 msgid "Location changed" msgstr "" -#: InvenTree/status_codes.py:106 +#: InvenTree/status_codes.py:107 msgid "Stock updated" msgstr "" -#: InvenTree/status_codes.py:109 +#: InvenTree/status_codes.py:110 msgid "Installed into assembly" msgstr "" -#: InvenTree/status_codes.py:110 +#: InvenTree/status_codes.py:111 msgid "Removed from assembly" msgstr "" -#: InvenTree/status_codes.py:112 +#: InvenTree/status_codes.py:113 msgid "Installed component item" msgstr "" -#: InvenTree/status_codes.py:113 +#: InvenTree/status_codes.py:114 msgid "Removed component item" msgstr "" -#: InvenTree/status_codes.py:116 +#: InvenTree/status_codes.py:117 msgid "Split from parent item" msgstr "" -#: InvenTree/status_codes.py:117 +#: InvenTree/status_codes.py:118 msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1858 +#: InvenTree/status_codes.py:121 templates/js/translated/stock.js:1858 msgid "Merged stock items" msgstr "" -#: InvenTree/status_codes.py:123 +#: InvenTree/status_codes.py:124 msgid "Converted to variant" msgstr "" -#: InvenTree/status_codes.py:126 +#: InvenTree/status_codes.py:127 msgid "Build order output created" msgstr "" -#: InvenTree/status_codes.py:127 +#: InvenTree/status_codes.py:128 msgid "Build order output completed" msgstr "" -#: InvenTree/status_codes.py:128 +#: InvenTree/status_codes.py:129 msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1764 +#: InvenTree/status_codes.py:130 templates/js/translated/stock.js:1764 msgid "Consumed by build order" msgstr "" -#: InvenTree/status_codes.py:132 +#: InvenTree/status_codes.py:133 msgid "Shipped against Sales Order" msgstr "" -#: InvenTree/status_codes.py:135 +#: InvenTree/status_codes.py:136 msgid "Received against Purchase Order" msgstr "" -#: InvenTree/status_codes.py:138 +#: InvenTree/status_codes.py:139 msgid "Returned against Return Order" msgstr "" -#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:375 +#: InvenTree/status_codes.py:142 templates/js/translated/table_filters.js:375 msgid "Sent to customer" msgstr "" -#: InvenTree/status_codes.py:142 +#: InvenTree/status_codes.py:143 msgid "Returned from customer" msgstr "" -#: InvenTree/status_codes.py:149 +#: InvenTree/status_codes.py:150 msgid "Production" msgstr "" -#: InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:186 msgid "Return" msgstr "" -#: InvenTree/status_codes.py:188 +#: InvenTree/status_codes.py:189 msgid "Repair" msgstr "" -#: InvenTree/status_codes.py:191 +#: InvenTree/status_codes.py:192 msgid "Replace" msgstr "" -#: InvenTree/status_codes.py:194 +#: InvenTree/status_codes.py:195 msgid "Refund" msgstr "" -#: InvenTree/status_codes.py:197 +#: InvenTree/status_codes.py:198 msgid "Reject" msgstr "" @@ -947,14 +947,14 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:299 part/models.py:4047 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4090 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4041 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4084 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -970,7 +970,7 @@ msgstr "" #: build/api.py:303 part/admin.py:144 templates/js/translated/build.js:1744 #: templates/js/translated/build.js:2629 -#: templates/js/translated/sales_order.js:1929 +#: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "" @@ -981,7 +981,7 @@ msgstr "" #: templates/email/low_stock_notification.html:17 #: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 #: templates/js/translated/index.js:123 -#: templates/js/translated/model_renderers.js:228 +#: templates/js/translated/model_renderers.js:234 #: templates/js/translated/part.js:692 templates/js/translated/part.js:694 #: templates/js/translated/part.js:699 #: templates/js/translated/table_filters.js:340 @@ -989,16 +989,16 @@ msgstr "" msgid "Available" msgstr "" -#: build/models.py:74 build/templates/build/build_base.html:9 +#: build/models.py:82 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 -#: report/templates/report/inventree_build_order_base.html:105 -#: templates/email/build_order_completed.html:16 +#: report/templates/report/inventree_build_order_report.html:105 +#: stock/serializers.py:83 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2895 +#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2892 msgid "Build Order" msgstr "" -#: build/models.py:75 build/templates/build/build_base.html:13 +#: build/models.py:83 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -1009,71 +1009,71 @@ msgstr "" msgid "Build Orders" msgstr "" -#: build/models.py:122 +#: build/models.py:130 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:133 order/models.py:239 +#: build/models.py:141 order/models.py:241 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:139 +#: build/models.py:147 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:185 +#: build/models.py:208 msgid "Build Order Reference" msgstr "" -#: build/models.py:186 order/models.py:442 order/models.py:898 -#: order/models.py:1276 order/models.py:1998 part/admin.py:417 -#: part/models.py:4062 part/templates/part/upload_bom.html:54 +#: build/models.py:209 order/models.py:464 order/models.py:929 +#: order/models.py:1322 order/models.py:2053 part/admin.py:419 +#: part/models.py:4105 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 -#: report/templates/report/inventree_so_report_base.html:28 +#: report/templates/report/inventree_purchase_order_report.html:28 +#: report/templates/report/inventree_return_order_report.html:26 +#: report/templates/report/inventree_sales_order_report.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 #: templates/js/translated/build.js:2512 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 -#: templates/js/translated/purchase_order.js:2066 -#: templates/js/translated/return_order.js:729 -#: templates/js/translated/sales_order.js:1818 +#: templates/js/translated/purchase_order.js:2065 +#: templates/js/translated/return_order.js:728 +#: templates/js/translated/sales_order.js:1854 msgid "Reference" msgstr "" -#: build/models.py:197 +#: build/models.py:220 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:205 build/templates/build/build_base.html:183 +#: build/models.py:228 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:206 +#: build/models.py:229 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:211 build/templates/build/build_base.html:97 +#: build/models.py:234 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 -#: order/models.py:1401 order/models.py:1546 order/models.py:1547 -#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004 -#: part/models.py:3148 part/models.py:3292 part/models.py:3315 -#: part/models.py:3336 part/models.py:3358 part/models.py:3468 -#: part/models.py:3764 part/models.py:3920 part/models.py:4013 -#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713 +#: order/models.py:1447 order/models.py:1592 order/models.py:1593 +#: part/api.py:1501 part/api.py:1795 part/models.py:392 part/models.py:3047 +#: part/models.py:3191 part/models.py:3335 part/models.py:3358 +#: part/models.py:3379 part/models.py:3401 part/models.py:3511 +#: part/models.py:3807 part/models.py:3963 part/models.py:4056 +#: part/models.py:4417 part/serializers.py:1122 part/serializers.py:1728 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 -#: report/templates/report/inventree_build_order_base.html:109 -#: report/templates/report/inventree_po_report_base.html:27 -#: report/templates/report/inventree_return_order_report_base.html:24 -#: report/templates/report/inventree_slr_report.html:102 -#: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:267 stock/serializers.py:689 -#: templates/InvenTree/search.html:82 +#: report/templates/report/inventree_build_order_report.html:109 +#: report/templates/report/inventree_purchase_order_report.html:27 +#: report/templates/report/inventree_return_order_report.html:24 +#: report/templates/report/inventree_sales_order_report.html:27 +#: report/templates/report/inventree_stock_location_report.html:102 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:396 +#: stock/serializers.py:818 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -1087,235 +1087,239 @@ msgstr "" #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 #: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 -#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:2323 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:751 #: templates/js/translated/purchase_order.js:1304 -#: templates/js/translated/purchase_order.js:1849 -#: templates/js/translated/purchase_order.js:2008 -#: templates/js/translated/return_order.js:539 -#: templates/js/translated/return_order.js:710 +#: templates/js/translated/purchase_order.js:1848 +#: templates/js/translated/purchase_order.js:2007 +#: templates/js/translated/return_order.js:538 +#: templates/js/translated/return_order.js:709 #: templates/js/translated/sales_order.js:300 -#: templates/js/translated/sales_order.js:1197 -#: templates/js/translated/sales_order.js:1598 -#: templates/js/translated/sales_order.js:1796 +#: templates/js/translated/sales_order.js:1233 +#: templates/js/translated/sales_order.js:1634 +#: templates/js/translated/sales_order.js:1832 #: templates/js/translated/stock.js:676 templates/js/translated/stock.js:842 -#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1999 -#: templates/js/translated/stock.js:2860 templates/js/translated/stock.js:3093 -#: templates/js/translated/stock.js:3239 +#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1997 +#: templates/js/translated/stock.js:2857 templates/js/translated/stock.js:3090 +#: templates/js/translated/stock.js:3236 msgid "Part" msgstr "" -#: build/models.py:219 +#: build/models.py:242 msgid "Select part to build" msgstr "" -#: build/models.py:224 +#: build/models.py:247 msgid "Sales Order Reference" msgstr "" -#: build/models.py:228 +#: build/models.py:251 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:233 build/serializers.py:970 +#: build/models.py:256 build/serializers.py:969 #: templates/js/translated/build.js:1731 -#: templates/js/translated/sales_order.js:1185 +#: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "" -#: build/models.py:237 +#: build/models.py:260 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:242 +#: build/models.py:265 msgid "Destination Location" msgstr "" -#: build/models.py:246 +#: build/models.py:269 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:250 +#: build/models.py:273 msgid "Build Quantity" msgstr "" -#: build/models.py:253 +#: build/models.py:276 msgid "Number of stock items to build" msgstr "" -#: build/models.py:257 +#: build/models.py:280 msgid "Completed items" msgstr "" -#: build/models.py:259 +#: build/models.py:282 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:263 +#: build/models.py:286 msgid "Build Status" msgstr "" -#: build/models.py:267 +#: build/models.py:290 msgid "Build status code" msgstr "" -#: build/models.py:276 build/serializers.py:278 order/serializers.py:581 -#: stock/models.py:823 stock/serializers.py:1333 +#: build/models.py:299 build/serializers.py:277 order/serializers.py:581 +#: stock/models.py:844 stock/serializers.py:75 stock/serializers.py:1462 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" -#: build/models.py:280 build/serializers.py:279 +#: build/models.py:303 build/serializers.py:278 msgid "Batch code for this build output" msgstr "" -#: build/models.py:283 order/models.py:304 order/serializers.py:120 -#: part/models.py:1079 part/templates/part/part_base.html:310 -#: templates/js/translated/return_order.js:339 -#: templates/js/translated/sales_order.js:827 +#: build/models.py:306 order/models.py:317 order/serializers.py:120 +#: part/models.py:1122 part/templates/part/part_base.html:310 +#: templates/js/translated/return_order.js:338 +#: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "" -#: build/models.py:287 +#: build/models.py:310 msgid "Target completion date" msgstr "" -#: build/models.py:288 +#: build/models.py:311 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:291 order/models.py:500 order/models.py:2043 +#: build/models.py:314 order/models.py:522 order/models.py:2098 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "" -#: build/models.py:297 +#: build/models.py:320 msgid "completed by" msgstr "" -#: build/models.py:305 templates/js/translated/build.js:2207 +#: build/models.py:328 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "" -#: build/models.py:306 +#: build/models.py:329 msgid "User who issued this build order" msgstr "" -#: build/models.py:314 build/templates/build/build_base.html:204 +#: build/models.py:337 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:145 -#: order/models.py:322 order/templates/order/order_base.html:217 +#: order/models.py:335 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1096 +#: order/templates/order/sales_order_base.html:232 part/models.py:1139 #: part/templates/part/part_base.html:390 -#: report/templates/report/inventree_build_order_base.html:158 +#: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 #: templates/js/translated/build.js:2219 -#: templates/js/translated/purchase_order.js:1764 -#: templates/js/translated/return_order.js:359 +#: templates/js/translated/purchase_order.js:1763 +#: templates/js/translated/return_order.js:358 #: templates/js/translated/table_filters.js:531 msgid "Responsible" msgstr "" -#: build/models.py:315 +#: build/models.py:338 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:320 build/templates/build/detail.html:108 +#: build/models.py:343 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 -#: order/templates/order/sales_order_base.html:180 -#: part/templates/part/part_base.html:383 stock/models.py:819 +#: order/templates/order/sales_order_base.html:184 +#: part/templates/part/part_base.html:383 stock/models.py:840 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "" -#: build/models.py:325 +#: build/models.py:348 msgid "Build Priority" msgstr "" -#: build/models.py:328 +#: build/models.py:351 msgid "Priority of this build order" msgstr "" -#: build/models.py:335 common/models.py:129 order/admin.py:18 -#: order/models.py:286 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:358 common/models.py:129 order/admin.py:18 +#: order/models.py:299 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 -#: templates/js/translated/purchase_order.js:1711 -#: templates/js/translated/return_order.js:318 -#: templates/js/translated/sales_order.js:806 +#: templates/js/translated/purchase_order.js:1710 +#: templates/js/translated/return_order.js:317 +#: templates/js/translated/sales_order.js:842 #: templates/js/translated/table_filters.js:48 #: templates/project_code_data.html:6 msgid "Project Code" msgstr "" -#: build/models.py:336 +#: build/models.py:359 msgid "Project code for this build order" msgstr "" -#: build/models.py:566 build/models.py:631 +#: build/models.py:589 build/models.py:654 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:588 +#: build/models.py:611 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:594 +#: build/models.py:617 msgid "A build order has been completed" msgstr "" -#: build/models.py:820 build/models.py:895 +#: build/models.py:843 build/models.py:918 msgid "No build output specified" msgstr "" -#: build/models.py:823 +#: build/models.py:846 msgid "Build output is already completed" msgstr "" -#: build/models.py:826 +#: build/models.py:849 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:899 build/serializers.py:221 build/serializers.py:260 -#: build/serializers.py:837 order/models.py:538 order/serializers.py:433 -#: order/serializers.py:576 part/serializers.py:1471 part/serializers.py:1871 -#: stock/models.py:662 stock/models.py:1482 stock/serializers.py:472 +#: build/models.py:922 build/serializers.py:220 build/serializers.py:259 +#: build/serializers.py:836 order/models.py:560 order/serializers.py:433 +#: order/serializers.py:576 part/serializers.py:1486 part/serializers.py:1886 +#: stock/models.py:683 stock/models.py:1503 stock/serializers.py:601 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:904 build/serializers.py:226 +#: build/models.py:927 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:961 build/serializers.py:539 +#: build/models.py:984 build/serializers.py:538 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1323 +#: build/models.py:1335 +msgid "Build Order Line Item" +msgstr "" + +#: build/models.py:1360 msgid "Build object" msgstr "" -#: build/models.py:1337 build/models.py:1593 build/serializers.py:208 -#: build/serializers.py:245 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2524 -#: order/models.py:1259 order/models.py:1918 order/serializers.py:1339 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 -#: part/forms.py:48 part/models.py:3162 part/models.py:4035 +#: build/models.py:1374 build/models.py:1630 build/serializers.py:207 +#: build/serializers.py:244 build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2530 +#: order/models.py:1305 order/models.py:1964 order/serializers.py:1339 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 +#: part/forms.py:48 part/models.py:3205 part/models.py:4078 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 -#: report/templates/report/inventree_build_order_base.html:113 -#: report/templates/report/inventree_po_report_base.html:29 -#: report/templates/report/inventree_slr_report.html:104 -#: report/templates/report/inventree_so_report_base.html:29 -#: report/templates/report/inventree_test_report_base.html:90 -#: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:160 stock/serializers.py:463 +#: report/templates/report/inventree_build_order_report.html:113 +#: report/templates/report/inventree_purchase_order_report.html:29 +#: report/templates/report/inventree_sales_order_report.html:29 +#: report/templates/report/inventree_stock_location_report.html:104 +#: report/templates/report/inventree_test_report.html:90 +#: report/templates/report/inventree_test_report.html:170 stock/admin.py:160 +#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:592 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1325,380 +1329,381 @@ msgstr "" #: templates/js/translated/build.js:737 templates/js/translated/build.js:1369 #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 -#: templates/js/translated/model_renderers.js:230 +#: templates/js/translated/model_renderers.js:236 #: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3341 +#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3340 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 #: templates/js/translated/purchase_order.js:754 -#: templates/js/translated/purchase_order.js:1853 -#: templates/js/translated/purchase_order.js:2072 +#: templates/js/translated/purchase_order.js:1852 +#: templates/js/translated/purchase_order.js:2071 #: templates/js/translated/sales_order.js:317 -#: templates/js/translated/sales_order.js:1199 -#: templates/js/translated/sales_order.js:1518 -#: templates/js/translated/sales_order.js:1608 -#: templates/js/translated/sales_order.js:1698 -#: templates/js/translated/sales_order.js:1824 +#: templates/js/translated/sales_order.js:1235 +#: templates/js/translated/sales_order.js:1554 +#: templates/js/translated/sales_order.js:1644 +#: templates/js/translated/sales_order.js:1734 +#: templates/js/translated/sales_order.js:1860 #: templates/js/translated/stock.js:564 templates/js/translated/stock.js:702 -#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:3024 -#: templates/js/translated/stock.js:3107 +#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:3021 +#: templates/js/translated/stock.js:3104 msgid "Quantity" msgstr "" -#: build/models.py:1338 +#: build/models.py:1375 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1418 +#: build/models.py:1455 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1427 +#: build/models.py:1464 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1437 order/models.py:1869 +#: build/models.py:1474 order/models.py:1915 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1443 order/models.py:1872 +#: build/models.py:1480 order/models.py:1918 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1449 +#: build/models.py:1486 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1508 +#: build/models.py:1545 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1580 build/serializers.py:817 order/serializers.py:1183 -#: order/serializers.py:1204 stock/serializers.py:566 stock/serializers.py:1052 -#: stock/serializers.py:1164 stock/templates/stock/item_base.html:10 +#: build/models.py:1617 build/serializers.py:816 order/serializers.py:1183 +#: order/serializers.py:1204 stock/models.py:364 stock/serializers.py:92 +#: stock/serializers.py:695 stock/serializers.py:1181 stock/serializers.py:1293 +#: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 #: templates/js/translated/build.js:1745 #: templates/js/translated/sales_order.js:301 -#: templates/js/translated/sales_order.js:1198 -#: templates/js/translated/sales_order.js:1499 -#: templates/js/translated/sales_order.js:1504 -#: templates/js/translated/sales_order.js:1605 -#: templates/js/translated/sales_order.js:1692 +#: templates/js/translated/sales_order.js:1234 +#: templates/js/translated/sales_order.js:1535 +#: templates/js/translated/sales_order.js:1540 +#: templates/js/translated/sales_order.js:1641 +#: templates/js/translated/sales_order.js:1728 #: templates/js/translated/stock.js:677 templates/js/translated/stock.js:843 -#: templates/js/translated/stock.js:2980 +#: templates/js/translated/stock.js:2977 msgid "Stock Item" msgstr "" -#: build/models.py:1581 +#: build/models.py:1618 msgid "Source stock item" msgstr "" -#: build/models.py:1594 +#: build/models.py:1631 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1602 +#: build/models.py:1639 msgid "Install into" msgstr "" -#: build/models.py:1603 +#: build/models.py:1640 msgid "Destination stock item" msgstr "" -#: build/serializers.py:158 build/serializers.py:846 +#: build/serializers.py:157 build/serializers.py:845 #: templates/js/translated/build.js:1322 msgid "Build Output" msgstr "" -#: build/serializers.py:170 +#: build/serializers.py:169 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:174 +#: build/serializers.py:173 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:178 +#: build/serializers.py:177 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:189 +#: build/serializers.py:188 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:209 build/serializers.py:246 +#: build/serializers.py:208 build/serializers.py:245 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:267 +#: build/serializers.py:266 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:270 +#: build/serializers.py:269 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:285 order/serializers.py:589 order/serializers.py:1343 -#: stock/serializers.py:483 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:284 order/serializers.py:589 order/serializers.py:1343 +#: stock/serializers.py:612 templates/js/translated/purchase_order.js:1153 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:286 +#: build/serializers.py:285 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:291 build/serializers.py:432 build/serializers.py:504 +#: build/serializers.py:290 build/serializers.py:431 build/serializers.py:503 #: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1679 -#: part/serializers.py:1127 stock/serializers.py:494 stock/serializers.py:654 -#: stock/serializers.py:750 stock/serializers.py:1196 stock/serializers.py:1452 -#: stock/templates/stock/item_base.html:394 +#: part/serializers.py:1142 stock/serializers.py:101 stock/serializers.py:623 +#: stock/serializers.py:783 stock/serializers.py:879 stock/serializers.py:1325 +#: stock/serializers.py:1581 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 #: templates/js/translated/purchase_order.js:1178 #: templates/js/translated/purchase_order.js:1268 -#: templates/js/translated/sales_order.js:1511 -#: templates/js/translated/sales_order.js:1619 -#: templates/js/translated/sales_order.js:1627 -#: templates/js/translated/sales_order.js:1706 +#: templates/js/translated/sales_order.js:1547 +#: templates/js/translated/sales_order.js:1655 +#: templates/js/translated/sales_order.js:1663 +#: templates/js/translated/sales_order.js:1742 #: templates/js/translated/stock.js:678 templates/js/translated/stock.js:844 -#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2203 -#: templates/js/translated/stock.js:2874 +#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2201 +#: templates/js/translated/stock.js:2871 msgid "Location" msgstr "" -#: build/serializers.py:292 +#: build/serializers.py:291 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:306 +#: build/serializers.py:305 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:307 +#: build/serializers.py:306 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:322 +#: build/serializers.py:321 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:347 stock/api.py:995 +#: build/serializers.py:346 stock/api.py:1029 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:394 build/serializers.py:456 build/serializers.py:545 +#: build/serializers.py:393 build/serializers.py:455 build/serializers.py:544 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:433 +#: build/serializers.py:432 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:439 +#: build/serializers.py:438 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:440 +#: build/serializers.py:439 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:445 +#: build/serializers.py:444 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:505 +#: build/serializers.py:504 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:511 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:922 -#: order/models.py:2022 order/serializers.py:597 stock/admin.py:165 -#: stock/serializers.py:801 stock/serializers.py:1340 +#: build/serializers.py:510 build/templates/build/build_base.html:151 +#: build/templates/build/detail.html:62 order/models.py:953 +#: order/models.py:2077 order/serializers.py:597 stock/admin.py:165 +#: stock/serializers.py:930 stock/serializers.py:1469 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 -#: templates/js/translated/purchase_order.js:1723 -#: templates/js/translated/return_order.js:331 -#: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2178 templates/js/translated/stock.js:2998 -#: templates/js/translated/stock.js:3123 +#: templates/js/translated/purchase_order.js:1722 +#: templates/js/translated/return_order.js:330 +#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/stock.js:2176 templates/js/translated/stock.js:2995 +#: templates/js/translated/stock.js:3120 msgid "Status" msgstr "" -#: build/serializers.py:517 +#: build/serializers.py:516 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:518 +#: build/serializers.py:517 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:598 +#: build/serializers.py:597 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:599 +#: build/serializers.py:598 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:605 +#: build/serializers.py:604 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:606 +#: build/serializers.py:605 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:633 +#: build/serializers.py:632 msgid "Not permitted" msgstr "" -#: build/serializers.py:634 +#: build/serializers.py:633 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:635 +#: build/serializers.py:634 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:657 +#: build/serializers.py:656 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:659 +#: build/serializers.py:658 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:669 +#: build/serializers.py:668 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:674 +#: build/serializers.py:673 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:675 +#: build/serializers.py:674 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:685 templates/js/translated/build.js:315 +#: build/serializers.py:684 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:690 order/serializers.py:301 order/serializers.py:1246 +#: build/serializers.py:689 order/serializers.py:301 order/serializers.py:1246 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:691 +#: build/serializers.py:690 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:701 templates/js/translated/build.js:319 +#: build/serializers.py:700 templates/js/translated/build.js:319 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:710 templates/js/translated/build.js:303 +#: build/serializers.py:709 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:740 +#: build/serializers.py:739 msgid "Build Line" msgstr "" -#: build/serializers.py:750 +#: build/serializers.py:749 msgid "Build output" msgstr "" -#: build/serializers.py:758 +#: build/serializers.py:757 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:794 +#: build/serializers.py:793 msgid "Build Line Item" msgstr "" -#: build/serializers.py:808 +#: build/serializers.py:807 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:823 stock/serializers.py:1065 +#: build/serializers.py:822 stock/serializers.py:1194 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:871 order/serializers.py:1237 +#: build/serializers.py:870 order/serializers.py:1237 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:877 +#: build/serializers.py:876 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:884 +#: build/serializers.py:883 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:908 order/serializers.py:1489 +#: build/serializers.py:907 order/serializers.py:1489 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:971 +#: build/serializers.py:970 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:979 +#: build/serializers.py:978 msgid "Exclude Location" msgstr "" -#: build/serializers.py:980 +#: build/serializers.py:979 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:985 +#: build/serializers.py:984 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:986 +#: build/serializers.py:985 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:991 +#: build/serializers.py:990 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:992 +#: build/serializers.py:991 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:997 +#: build/serializers.py:996 msgid "Optional Items" msgstr "" -#: build/serializers.py:998 +#: build/serializers.py:997 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1020 +#: build/serializers.py:1019 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1110 part/models.py:3930 part/models.py:4366 -#: stock/api.py:758 +#: build/serializers.py:1109 part/models.py:3973 part/models.py:4409 +#: stock/api.py:792 msgid "BOM Item" msgstr "" -#: build/serializers.py:1119 templates/js/translated/index.js:130 +#: build/serializers.py:1118 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1124 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:817 part/serializers.py:1489 +#: build/serializers.py:1123 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:832 part/serializers.py:1504 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 @@ -1706,15 +1711,15 @@ msgstr "" msgid "On Order" msgstr "" -#: build/serializers.py:1129 part/serializers.py:1491 +#: build/serializers.py:1128 part/serializers.py:1506 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1134 part/bom.py:172 part/serializers.py:1514 +#: build/serializers.py:1133 part/bom.py:172 part/serializers.py:1529 #: part/templates/part/part_base.html:192 -#: templates/js/translated/sales_order.js:1893 +#: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "" @@ -1843,18 +1848,18 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:297 -#: order/models.py:1294 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:310 +#: order/models.py:1340 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 -#: order/templates/order/sales_order_base.html:192 -#: report/templates/report/inventree_build_order_base.html:125 +#: order/templates/order/sales_order_base.html:196 +#: report/templates/report/inventree_build_order_report.html:125 #: templates/js/translated/build.js:2239 templates/js/translated/part.js:1830 -#: templates/js/translated/purchase_order.js:1740 -#: templates/js/translated/purchase_order.js:2148 -#: templates/js/translated/return_order.js:347 -#: templates/js/translated/return_order.js:751 -#: templates/js/translated/sales_order.js:835 -#: templates/js/translated/sales_order.js:1867 +#: templates/js/translated/purchase_order.js:1739 +#: templates/js/translated/purchase_order.js:2147 +#: templates/js/translated/return_order.js:346 +#: templates/js/translated/return_order.js:750 +#: templates/js/translated/sales_order.js:871 +#: templates/js/translated/sales_order.js:1903 msgid "Target Date" msgstr "" @@ -1867,7 +1872,7 @@ msgstr "" #: build/templates/build/build_base.html:222 #: order/templates/order/order_base.html:122 #: order/templates/order/return_order_base.html:117 -#: order/templates/order/sales_order_base.html:122 +#: order/templates/order/sales_order_base.html:126 #: templates/js/translated/table_filters.js:98 #: templates/js/translated/table_filters.js:524 #: templates/js/translated/table_filters.js:626 @@ -1881,24 +1886,24 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:1538 -#: order/models.py:1652 order/models.py:1806 +#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:848 +#: order/models.py:1584 order/models.py:1698 order/models.py:1852 #: 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 +#: report/templates/report/inventree_build_order_report.html:135 +#: report/templates/report/inventree_sales_order_report.html:14 #: stock/templates/stock/item_base.html:369 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:929 -#: templates/js/translated/sales_order.js:769 -#: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2927 +#: templates/js/translated/sales_order.js:805 +#: templates/js/translated/sales_order.js:1028 +#: templates/js/translated/stock.js:2924 msgid "Sales Order" msgstr "" #: build/templates/build/build_base.html:197 #: build/templates/build/detail.html:115 -#: report/templates/report/inventree_build_order_base.html:152 +#: report/templates/report/inventree_build_order_report.html:152 #: templates/js/translated/table_filters.js:24 msgid "Issued By" msgstr "" @@ -1908,15 +1913,15 @@ msgstr "" msgid "Priority" msgstr "" -#: build/templates/build/build_base.html:273 +#: build/templates/build/build_base.html:269 msgid "Delete Build Order" msgstr "" -#: build/templates/build/build_base.html:283 +#: build/templates/build/build_base.html:279 msgid "Build Order QR Code" msgstr "" -#: build/templates/build/build_base.html:295 +#: build/templates/build/build_base.html:291 msgid "Link Barcode to Build Order" msgstr "" @@ -1932,8 +1937,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1430 -#: templates/js/translated/purchase_order.js:2190 +#: build/templates/build/detail.html:49 order/models.py:1476 +#: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "" @@ -1948,10 +1953,10 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 #: templates/js/translated/build.js:1380 -#: templates/js/translated/model_renderers.js:235 +#: templates/js/translated/model_renderers.js:241 #: templates/js/translated/purchase_order.js:1274 -#: templates/js/translated/stock.js:1133 templates/js/translated/stock.js:2192 -#: templates/js/translated/stock.js:3130 +#: templates/js/translated/stock.js:1133 templates/js/translated/stock.js:2190 +#: templates/js/translated/stock.js:3127 #: templates/js/translated/table_filters.js:313 #: templates/js/translated/table_filters.js:404 msgid "Batch" @@ -1960,7 +1965,7 @@ msgstr "" #: build/templates/build/detail.html:133 #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:151 -#: order/templates/order/sales_order_base.html:186 +#: order/templates/order/sales_order_base.html:190 #: templates/js/translated/build.js:2199 msgid "Created" msgstr "" @@ -1970,7 +1975,7 @@ msgid "No target date set" msgstr "" #: build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:202 +#: order/templates/order/sales_order_base.html:206 #: templates/js/translated/table_filters.js:689 msgid "Completed" msgstr "" @@ -2261,8 +2266,8 @@ msgstr "" #: common/models.py:1316 common/models.py:1372 common/models.py:1385 #: common/models.py:1393 common/models.py:1402 common/models.py:1411 -#: common/models.py:1613 common/models.py:1635 common/models.py:1750 -#: common/models.py:2061 +#: common/models.py:1619 common/models.py:1641 common/models.py:1756 +#: common/models.py:2067 msgid "days" msgstr "" @@ -2403,1209 +2408,1218 @@ msgid "Enable revision field for Part" msgstr "" #: common/models.py:1440 -msgid "IPN Regex" +msgid "Allow Deletion from Assembly" msgstr "" #: common/models.py:1441 +msgid "Allow deletion of parts which are used in an assembly" +msgstr "" + +#: common/models.py:1446 +msgid "IPN Regex" +msgstr "" + +#: common/models.py:1447 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1444 +#: common/models.py:1450 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1445 +#: common/models.py:1451 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1450 +#: common/models.py:1456 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1451 +#: common/models.py:1457 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1456 +#: common/models.py:1462 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1457 +#: common/models.py:1463 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1462 +#: common/models.py:1468 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1463 +#: common/models.py:1469 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1468 +#: common/models.py:1474 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1469 +#: common/models.py:1475 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1474 +#: common/models.py:1480 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1475 +#: common/models.py:1481 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1480 part/admin.py:108 part/models.py:3772 -#: report/models.py:182 stock/serializers.py:99 +#: common/models.py:1486 part/admin.py:108 part/models.py:3815 +#: report/models.py:294 report/models.py:361 report/serializers.py:90 +#: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:767 msgid "Template" msgstr "" -#: common/models.py:1481 +#: common/models.py:1487 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1486 part/admin.py:91 part/admin.py:431 part/models.py:1016 +#: common/models.py:1492 part/admin.py:91 part/admin.py:433 part/models.py:1059 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "" -#: common/models.py:1487 +#: common/models.py:1493 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1492 part/admin.py:95 part/models.py:1022 +#: common/models.py:1498 part/admin.py:95 part/models.py:1065 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "" -#: common/models.py:1493 +#: common/models.py:1499 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1498 part/admin.py:100 part/models.py:1034 +#: common/models.py:1504 part/admin.py:100 part/models.py:1077 msgid "Purchaseable" msgstr "" -#: common/models.py:1499 +#: common/models.py:1505 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1504 part/admin.py:104 part/models.py:1040 +#: common/models.py:1510 part/admin.py:104 part/models.py:1083 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "" -#: common/models.py:1505 +#: common/models.py:1511 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1510 part/admin.py:113 part/models.py:1028 +#: common/models.py:1516 part/admin.py:113 part/models.py:1071 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "" -#: common/models.py:1511 +#: common/models.py:1517 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1516 part/admin.py:117 part/models.py:1050 +#: common/models.py:1522 part/admin.py:117 part/models.py:1093 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "" -#: common/models.py:1517 +#: common/models.py:1523 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1522 +#: common/models.py:1528 msgid "Show Import in Views" msgstr "" -#: common/models.py:1523 +#: common/models.py:1529 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1528 +#: common/models.py:1534 msgid "Show related parts" msgstr "" -#: common/models.py:1529 +#: common/models.py:1535 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1534 +#: common/models.py:1540 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1535 +#: common/models.py:1541 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1540 templates/js/translated/part.js:107 +#: common/models.py:1546 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1542 +#: common/models.py:1548 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1548 +#: common/models.py:1554 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1549 +#: common/models.py:1555 msgid "Format to display the part name" msgstr "" -#: common/models.py:1555 +#: common/models.py:1561 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1556 +#: common/models.py:1562 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1560 +#: common/models.py:1566 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1562 +#: common/models.py:1568 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1568 +#: common/models.py:1574 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1570 +#: common/models.py:1576 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1576 +#: common/models.py:1582 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1578 +#: common/models.py:1584 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1584 +#: common/models.py:1590 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1586 +#: common/models.py:1592 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1592 +#: common/models.py:1598 msgid "Purchase History Override" msgstr "" -#: common/models.py:1594 +#: common/models.py:1600 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1600 +#: common/models.py:1606 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1602 +#: common/models.py:1608 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1608 +#: common/models.py:1614 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1610 +#: common/models.py:1616 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1617 +#: common/models.py:1623 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1618 +#: common/models.py:1624 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1623 +#: common/models.py:1629 msgid "Active Variants Only" msgstr "" -#: common/models.py:1625 +#: common/models.py:1631 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1631 +#: common/models.py:1637 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1633 +#: common/models.py:1639 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1640 +#: common/models.py:1646 msgid "Internal Prices" msgstr "" -#: common/models.py:1641 +#: common/models.py:1647 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1646 +#: common/models.py:1652 msgid "Internal Price Override" msgstr "" -#: common/models.py:1648 +#: common/models.py:1654 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1654 +#: common/models.py:1660 msgid "Enable label printing" msgstr "" -#: common/models.py:1655 +#: common/models.py:1661 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1660 +#: common/models.py:1666 msgid "Label Image DPI" msgstr "" -#: common/models.py:1662 +#: common/models.py:1668 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1668 +#: common/models.py:1674 msgid "Enable Reports" msgstr "" -#: common/models.py:1669 +#: common/models.py:1675 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1674 templates/stats.html:25 +#: common/models.py:1680 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1675 +#: common/models.py:1681 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1680 +#: common/models.py:1686 msgid "Log Report Errors" msgstr "" -#: common/models.py:1681 +#: common/models.py:1687 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1686 plugin/builtin/labels/label_sheet.py:28 -#: report/models.py:203 +#: common/models.py:1692 plugin/builtin/labels/label_sheet.py:28 +#: report/models.py:302 msgid "Page Size" msgstr "" -#: common/models.py:1687 +#: common/models.py:1693 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1692 +#: common/models.py:1698 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1693 +#: common/models.py:1699 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1698 +#: common/models.py:1704 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1700 +#: common/models.py:1706 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1706 +#: common/models.py:1712 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1707 +#: common/models.py:1713 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1712 +#: common/models.py:1718 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1713 +#: common/models.py:1719 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1718 +#: common/models.py:1724 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1720 +#: common/models.py:1726 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1726 +#: common/models.py:1732 msgid "Batch Code Template" msgstr "" -#: common/models.py:1728 +#: common/models.py:1734 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1733 +#: common/models.py:1739 msgid "Stock Expiry" msgstr "" -#: common/models.py:1734 +#: common/models.py:1740 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1739 +#: common/models.py:1745 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1740 +#: common/models.py:1746 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1745 +#: common/models.py:1751 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1747 +#: common/models.py:1753 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1754 +#: common/models.py:1760 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1755 +#: common/models.py:1761 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1760 +#: common/models.py:1766 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1761 +#: common/models.py:1767 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1766 +#: common/models.py:1772 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1767 +#: common/models.py:1773 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1771 +#: common/models.py:1777 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1772 +#: common/models.py:1778 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1777 +#: common/models.py:1783 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1779 +#: common/models.py:1785 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1785 +#: common/models.py:1791 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1787 +#: common/models.py:1793 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1793 +#: common/models.py:1799 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1795 +#: common/models.py:1801 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1801 common/models.py:1829 common/models.py:1851 -#: common/models.py:1879 +#: common/models.py:1807 common/models.py:1835 common/models.py:1857 +#: common/models.py:1885 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1802 common/models.py:1830 common/models.py:1852 -#: common/models.py:1880 +#: common/models.py:1808 common/models.py:1836 common/models.py:1858 +#: common/models.py:1886 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1807 +#: common/models.py:1813 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1809 +#: common/models.py:1815 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1815 +#: common/models.py:1821 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1816 +#: common/models.py:1822 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1821 +#: common/models.py:1827 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1823 +#: common/models.py:1829 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1835 +#: common/models.py:1841 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1837 +#: common/models.py:1843 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1843 +#: common/models.py:1849 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1845 +#: common/models.py:1851 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1857 +#: common/models.py:1863 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1858 +#: common/models.py:1864 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1863 +#: common/models.py:1869 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1865 +#: common/models.py:1871 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1871 +#: common/models.py:1877 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1873 +#: common/models.py:1879 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1885 +#: common/models.py:1891 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1887 +#: common/models.py:1893 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1893 +#: common/models.py:1899 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1895 +#: common/models.py:1901 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1902 +#: common/models.py:1908 msgid "Enable password forgot" msgstr "" -#: common/models.py:1903 +#: common/models.py:1909 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1908 +#: common/models.py:1914 msgid "Enable registration" msgstr "" -#: common/models.py:1909 +#: common/models.py:1915 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1914 +#: common/models.py:1920 msgid "Enable SSO" msgstr "" -#: common/models.py:1915 +#: common/models.py:1921 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1920 +#: common/models.py:1926 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1922 +#: common/models.py:1928 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1928 +#: common/models.py:1934 msgid "Email required" msgstr "" -#: common/models.py:1929 +#: common/models.py:1935 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1934 +#: common/models.py:1940 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1936 +#: common/models.py:1942 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1942 +#: common/models.py:1948 msgid "Mail twice" msgstr "" -#: common/models.py:1943 +#: common/models.py:1949 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1948 +#: common/models.py:1954 msgid "Password twice" msgstr "" -#: common/models.py:1949 +#: common/models.py:1955 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1954 +#: common/models.py:1960 msgid "Allowed domains" msgstr "" -#: common/models.py:1956 +#: common/models.py:1962 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1962 +#: common/models.py:1968 msgid "Group on signup" msgstr "" -#: common/models.py:1963 +#: common/models.py:1969 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1968 +#: common/models.py:1974 msgid "Enforce MFA" msgstr "" -#: common/models.py:1969 +#: common/models.py:1975 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1974 +#: common/models.py:1980 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1976 +#: common/models.py:1982 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1984 +#: common/models.py:1990 msgid "Check for plugin updates" msgstr "" -#: common/models.py:1985 +#: common/models.py:1991 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:1991 +#: common/models.py:1997 msgid "Enable URL integration" msgstr "" -#: common/models.py:1992 +#: common/models.py:1998 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1998 +#: common/models.py:2004 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1999 +#: common/models.py:2005 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2005 +#: common/models.py:2011 msgid "Enable app integration" msgstr "" -#: common/models.py:2006 +#: common/models.py:2012 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2012 +#: common/models.py:2018 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2013 +#: common/models.py:2019 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2019 +#: common/models.py:2025 msgid "Enable event integration" msgstr "" -#: common/models.py:2020 +#: common/models.py:2026 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2026 +#: common/models.py:2032 msgid "Enable project codes" msgstr "" -#: common/models.py:2027 +#: common/models.py:2033 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2032 +#: common/models.py:2038 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2034 +#: common/models.py:2040 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2040 +#: common/models.py:2046 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2042 +#: common/models.py:2048 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2048 +#: common/models.py:2054 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2050 +#: common/models.py:2056 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2056 +#: common/models.py:2062 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2058 +#: common/models.py:2064 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2065 +#: common/models.py:2071 msgid "Display Users full names" msgstr "" -#: common/models.py:2066 +#: common/models.py:2072 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2071 +#: common/models.py:2077 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2072 +#: common/models.py:2078 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2084 common/models.py:2494 +#: common/models.py:2090 common/models.py:2500 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2127 +#: common/models.py:2133 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2129 +#: common/models.py:2135 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2135 +#: common/models.py:2141 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2136 +#: common/models.py:2142 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2141 +#: common/models.py:2147 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2142 +#: common/models.py:2148 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2147 +#: common/models.py:2153 msgid "Show latest parts" msgstr "" -#: common/models.py:2148 +#: common/models.py:2154 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2153 +#: common/models.py:2159 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2154 +#: common/models.py:2160 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2159 +#: common/models.py:2165 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2160 +#: common/models.py:2166 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2165 +#: common/models.py:2171 msgid "Show low stock" msgstr "" -#: common/models.py:2166 +#: common/models.py:2172 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2171 +#: common/models.py:2177 msgid "Show depleted stock" msgstr "" -#: common/models.py:2172 +#: common/models.py:2178 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2177 +#: common/models.py:2183 msgid "Show needed stock" msgstr "" -#: common/models.py:2178 +#: common/models.py:2184 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2183 +#: common/models.py:2189 msgid "Show expired stock" msgstr "" -#: common/models.py:2184 +#: common/models.py:2190 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2189 +#: common/models.py:2195 msgid "Show stale stock" msgstr "" -#: common/models.py:2190 +#: common/models.py:2196 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2195 +#: common/models.py:2201 msgid "Show pending builds" msgstr "" -#: common/models.py:2196 +#: common/models.py:2202 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2201 +#: common/models.py:2207 msgid "Show overdue builds" msgstr "" -#: common/models.py:2202 +#: common/models.py:2208 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2207 +#: common/models.py:2213 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2208 +#: common/models.py:2214 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2213 +#: common/models.py:2219 msgid "Show overdue POs" msgstr "" -#: common/models.py:2214 +#: common/models.py:2220 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2219 +#: common/models.py:2225 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2220 +#: common/models.py:2226 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2225 +#: common/models.py:2231 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2226 +#: common/models.py:2232 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2231 +#: common/models.py:2237 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2232 +#: common/models.py:2238 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2237 +#: common/models.py:2243 msgid "Show News" msgstr "" -#: common/models.py:2238 +#: common/models.py:2244 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2243 +#: common/models.py:2249 msgid "Inline label display" msgstr "" -#: common/models.py:2245 +#: common/models.py:2251 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2251 +#: common/models.py:2257 msgid "Default label printer" msgstr "" -#: common/models.py:2253 +#: common/models.py:2259 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2259 +#: common/models.py:2265 msgid "Inline report display" msgstr "" -#: common/models.py:2261 +#: common/models.py:2267 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2267 +#: common/models.py:2273 msgid "Search Parts" msgstr "" -#: common/models.py:2268 +#: common/models.py:2274 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2273 +#: common/models.py:2279 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2274 +#: common/models.py:2280 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2279 +#: common/models.py:2285 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2280 +#: common/models.py:2286 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2285 +#: common/models.py:2291 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2286 +#: common/models.py:2292 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2291 +#: common/models.py:2297 msgid "Search Categories" msgstr "" -#: common/models.py:2292 +#: common/models.py:2298 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2297 +#: common/models.py:2303 msgid "Search Stock" msgstr "" -#: common/models.py:2298 +#: common/models.py:2304 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2303 +#: common/models.py:2309 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2305 +#: common/models.py:2311 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2311 +#: common/models.py:2317 msgid "Search Locations" msgstr "" -#: common/models.py:2312 +#: common/models.py:2318 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2317 +#: common/models.py:2323 msgid "Search Companies" msgstr "" -#: common/models.py:2318 +#: common/models.py:2324 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2323 +#: common/models.py:2329 msgid "Search Build Orders" msgstr "" -#: common/models.py:2324 +#: common/models.py:2330 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2329 +#: common/models.py:2335 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2330 +#: common/models.py:2336 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2335 +#: common/models.py:2341 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2337 +#: common/models.py:2343 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2343 +#: common/models.py:2349 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2344 +#: common/models.py:2350 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2349 +#: common/models.py:2355 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2351 +#: common/models.py:2357 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2357 +#: common/models.py:2363 msgid "Search Return Orders" msgstr "" -#: common/models.py:2358 +#: common/models.py:2364 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2363 +#: common/models.py:2369 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2365 +#: common/models.py:2371 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2371 +#: common/models.py:2377 msgid "Search Preview Results" msgstr "" -#: common/models.py:2373 +#: common/models.py:2379 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2379 +#: common/models.py:2385 msgid "Regex Search" msgstr "" -#: common/models.py:2380 +#: common/models.py:2386 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2385 +#: common/models.py:2391 msgid "Whole Word Search" msgstr "" -#: common/models.py:2386 +#: common/models.py:2392 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2391 +#: common/models.py:2397 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2392 +#: common/models.py:2398 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2397 +#: common/models.py:2403 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2398 +#: common/models.py:2404 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2403 +#: common/models.py:2409 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2404 +#: common/models.py:2410 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2409 +#: common/models.py:2415 msgid "Date Format" msgstr "" -#: common/models.py:2410 +#: common/models.py:2416 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2423 part/templates/part/detail.html:41 +#: common/models.py:2429 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2424 +#: common/models.py:2430 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2429 part/templates/part/detail.html:62 +#: common/models.py:2435 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2431 +#: common/models.py:2437 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2437 +#: common/models.py:2443 msgid "Table String Length" msgstr "" -#: common/models.py:2439 +#: common/models.py:2445 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2445 +#: common/models.py:2451 msgid "Default part label template" msgstr "" -#: common/models.py:2446 +#: common/models.py:2452 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2451 +#: common/models.py:2457 msgid "Default stock item template" msgstr "" -#: common/models.py:2453 +#: common/models.py:2459 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2459 +#: common/models.py:2465 msgid "Default stock location label template" msgstr "" -#: common/models.py:2461 +#: common/models.py:2467 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2467 +#: common/models.py:2473 msgid "Default build line label template" msgstr "" -#: common/models.py:2469 +#: common/models.py:2475 msgid "The build line label template to be automatically selected" msgstr "" -#: common/models.py:2475 +#: common/models.py:2481 msgid "Receive error reports" msgstr "" -#: common/models.py:2476 +#: common/models.py:2482 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2481 +#: common/models.py:2487 msgid "Last used printing machines" msgstr "" -#: common/models.py:2482 +#: common/models.py:2488 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2525 +#: common/models.py:2531 msgid "Price break quantity" msgstr "" -#: common/models.py:2532 company/serializers.py:496 order/admin.py:42 -#: order/models.py:1333 order/models.py:2243 +#: common/models.py:2538 company/serializers.py:496 order/admin.py:42 +#: order/models.py:1379 order/models.py:2298 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 -#: templates/js/translated/return_order.js:741 +#: templates/js/translated/return_order.js:740 msgid "Price" msgstr "" -#: common/models.py:2533 +#: common/models.py:2539 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2704 common/models.py:2889 +#: common/models.py:2710 common/models.py:2895 msgid "Endpoint" msgstr "" -#: common/models.py:2705 +#: common/models.py:2711 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2715 +#: common/models.py:2721 msgid "Name for this webhook" msgstr "" -#: common/models.py:2719 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1045 -#: plugin/models.py:56 templates/js/translated/company.js:523 +#: common/models.py:2725 company/models.py:160 company/models.py:814 +#: machine/models.py:39 part/admin.py:88 part/models.py:1088 +#: plugin/models.py:65 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:492 @@ -3615,135 +3629,135 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2719 +#: common/models.py:2725 msgid "Is this webhook active" msgstr "" -#: common/models.py:2735 users/models.py:159 +#: common/models.py:2741 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2736 +#: common/models.py:2742 msgid "Token for access" msgstr "" -#: common/models.py:2744 +#: common/models.py:2750 msgid "Secret" msgstr "" -#: common/models.py:2745 +#: common/models.py:2751 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2853 +#: common/models.py:2859 msgid "Message ID" msgstr "" -#: common/models.py:2854 +#: common/models.py:2860 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2862 +#: common/models.py:2868 msgid "Host" msgstr "" -#: common/models.py:2863 +#: common/models.py:2869 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2871 +#: common/models.py:2877 msgid "Header" msgstr "" -#: common/models.py:2872 +#: common/models.py:2878 msgid "Header of this message" msgstr "" -#: common/models.py:2879 +#: common/models.py:2885 msgid "Body" msgstr "" -#: common/models.py:2880 +#: common/models.py:2886 msgid "Body of this message" msgstr "" -#: common/models.py:2890 +#: common/models.py:2896 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2895 +#: common/models.py:2901 msgid "Worked on" msgstr "" -#: common/models.py:2896 +#: common/models.py:2902 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3022 +#: common/models.py:3028 msgid "Id" msgstr "" -#: common/models.py:3024 templates/js/translated/company.js:965 +#: common/models.py:3030 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3028 templates/js/translated/news.js:60 +#: common/models.py:3034 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3030 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3036 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3032 templates/js/translated/news.js:52 +#: common/models.py:3038 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3035 +#: common/models.py:3041 msgid "Read" msgstr "" -#: common/models.py:3035 +#: common/models.py:3041 msgid "Was this news item read?" msgstr "" -#: common/models.py:3052 company/models.py:156 part/models.py:929 +#: common/models.py:3058 company/models.py:156 part/models.py:972 #: 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 +#: report/templates/report/inventree_return_order_report.html:35 #: stock/templates/stock/item_base.html:133 templates/503.html:31 #: templates/hover_image.html:7 templates/hover_image.html:9 #: templates/modals.html:6 msgid "Image" msgstr "" -#: common/models.py:3052 +#: common/models.py:3058 msgid "Image file" msgstr "" -#: common/models.py:3094 +#: common/models.py:3100 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3113 +#: common/models.py:3119 msgid "Unit name" msgstr "" -#: common/models.py:3120 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3126 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3121 +#: common/models.py:3127 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3128 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3134 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3129 +#: common/models.py:3135 msgid "Unit definition" msgstr "" @@ -3930,9 +3944,9 @@ msgid "Contact email address" msgstr "" #: company/models.py:139 company/templates/company/company_base.html:145 -#: order/models.py:331 order/templates/order/order_base.html:203 +#: order/models.py:344 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 -#: order/templates/order/sales_order_base.html:214 +#: order/templates/order/sales_order_base.html:218 msgid "Contact" msgstr "" @@ -3978,7 +3992,7 @@ msgstr "" #: company/models.py:273 company/models.py:382 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:776 +#: company/templates/company/company_base.html:12 stock/api.py:810 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "" @@ -4070,8 +4084,8 @@ msgstr "" msgid "Link to address information (external)" msgstr "" -#: company/models.py:489 company/models.py:792 stock/models.py:751 -#: stock/serializers.py:266 stock/templates/stock/item_base.html:142 +#: company/models.py:489 company/models.py:792 stock/models.py:772 +#: stock/serializers.py:395 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -4082,7 +4096,7 @@ msgstr "" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:515 +#: company/templates/company/supplier_part.html:145 part/serializers.py:530 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4097,13 +4111,13 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:525 +#: company/templates/company/supplier_part.html:153 part/serializers.py:540 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800 -#: templates/js/translated/purchase_order.js:1852 -#: templates/js/translated/purchase_order.js:2054 +#: templates/js/translated/purchase_order.js:1851 +#: templates/js/translated/purchase_order.js:2053 msgid "MPN" msgstr "" @@ -4130,9 +4144,8 @@ msgstr "" msgid "Parameter name" msgstr "" -#: company/models.py:621 -#: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2448 templates/js/translated/company.js:1166 +#: company/models.py:621 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2425 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492 #: templates/js/translated/stock.js:1522 msgid "Value" @@ -4143,10 +4156,10 @@ msgid "Parameter value" msgstr "" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1009 part/models.py:3623 +#: part/admin.py:57 part/models.py:1052 part/models.py:3666 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 -#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370 +#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 msgid "Units" msgstr "" @@ -4167,9 +4180,9 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:465 +#: company/templates/company/supplier_part.html:129 order/models.py:487 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:499 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:514 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4177,7 +4190,7 @@ msgstr "" #: templates/js/translated/company.js:511 #: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1690 +#: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/table_filters.js:804 msgid "Supplier" msgstr "" @@ -4186,7 +4199,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:809 part/serializers.py:510 +#: company/models.py:809 part/serializers.py:525 msgid "Supplier stock keeping unit" msgstr "" @@ -4207,29 +4220,29 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:418 part/models.py:4070 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4113 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 -#: report/templates/report/inventree_slr_report.html:105 -#: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:579 +#: report/templates/report/inventree_purchase_order_report.html:32 +#: report/templates/report/inventree_return_order_report.html:27 +#: report/templates/report/inventree_sales_order_report.html:32 +#: report/templates/report/inventree_stock_location_report.html:105 +#: stock/serializers.py:708 msgid "Note" msgstr "" -#: company/models.py:857 part/models.py:1967 +#: company/models.py:857 part/models.py:2010 msgid "base cost" msgstr "" -#: company/models.py:858 part/models.py:1968 +#: company/models.py:858 part/models.py:2011 msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:782 stock/serializers.py:1350 +#: stock/admin.py:224 stock/models.py:803 stock/serializers.py:1479 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 -#: templates/js/translated/stock.js:2426 +#: templates/js/translated/stock.js:2424 msgid "Packaging" msgstr "" @@ -4242,8 +4255,8 @@ msgstr "" #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 -#: templates/js/translated/purchase_order.js:2085 -#: templates/js/translated/purchase_order.js:2102 +#: templates/js/translated/purchase_order.js:2084 +#: templates/js/translated/purchase_order.js:2101 msgid "Pack Quantity" msgstr "" @@ -4251,7 +4264,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:892 part/models.py:1974 +#: company/models.py:892 part/models.py:2017 msgid "multiple" msgstr "" @@ -4286,7 +4299,7 @@ msgstr "" #: part/templates/part/part_base.html:146 #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 -#: templates/js/translated/model_renderers.js:306 +#: templates/js/translated/model_renderers.js:312 #: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 msgid "Inactive" msgstr "" @@ -4322,11 +4335,11 @@ msgstr "" #: company/templates/company/manufacturer_part.html:51 #: company/templates/company/supplier_part.html:83 #: part/templates/part/part_thumb.html:20 -#: report/templates/report/inventree_build_order_base.html:98 -#: report/templates/report/inventree_po_report_base.html:40 -#: report/templates/report/inventree_so_report_base.html:40 -#: report/templates/report/inventree_test_report_base.html:84 -#: report/templates/report/inventree_test_report_base.html:163 +#: report/templates/report/inventree_build_order_report.html:98 +#: report/templates/report/inventree_purchase_order_report.html:40 +#: report/templates/report/inventree_sales_order_report.html:40 +#: report/templates/report/inventree_test_report.html:84 +#: report/templates/report/inventree_test_report.html:163 msgid "Part image" msgstr "" @@ -4345,16 +4358,16 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:92 order/models.py:910 -#: order/models.py:2010 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:144 stock/models.py:804 -#: stock/models.py:805 stock/serializers.py:1100 +#: company/templates/company/company_base.html:92 order/models.py:941 +#: order/models.py:2065 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:148 stock/models.py:825 +#: stock/models.py:826 stock/serializers.py:1229 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 -#: templates/js/translated/return_order.js:296 -#: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2962 +#: templates/js/translated/return_order.js:295 +#: templates/js/translated/sales_order.js:820 +#: templates/js/translated/stock.js:2959 #: templates/js/translated/table_filters.js:808 msgid "Customer" msgstr "" @@ -4363,10 +4376,10 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:124 order/models.py:341 +#: company/templates/company/company_base.html:124 order/models.py:354 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 -#: order/templates/order/sales_order_base.html:221 +#: order/templates/order/sales_order_base.html:225 msgid "Address" msgstr "" @@ -4375,7 +4388,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:211 -#: part/templates/part/part_base.html:528 +#: part/templates/part/part_base.html:527 msgid "Remove Image" msgstr "" @@ -4384,19 +4397,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:214 -#: part/templates/part/part_base.html:531 +#: part/templates/part/part_base.html:530 #: templates/InvenTree/settings/user.html:88 #: templates/InvenTree/settings/user_sso.html:43 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:243 -#: part/templates/part/part_base.html:560 +#: part/templates/part/part_base.html:559 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:258 -#: part/templates/part/part_base.html:614 +#: part/templates/part/part_base.html:613 msgid "Download Image" msgstr "" @@ -4559,7 +4572,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:821 +#: part/admin.py:122 part/serializers.py:836 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4610,10 +4623,10 @@ msgstr "" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:452 -#: stock/models.py:762 stock/templates/stock/item_base.html:233 +#: stock/models.py:783 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 -#: templates/js/translated/stock.js:2282 +#: templates/js/translated/stock.js:2280 msgid "Supplier Part" msgstr "" @@ -4659,11 +4672,11 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:509 +#: part/bom.py:311 part/serializers.py:524 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1851 -#: templates/js/translated/purchase_order.js:2029 +#: templates/js/translated/purchase_order.js:1850 +#: templates/js/translated/purchase_order.js:2028 msgid "SKU" msgstr "" @@ -4672,12 +4685,12 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:209 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:199 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:206 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:200 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:207 #: templates/js/translated/stock.js:537 msgid "New Stock Item" msgstr "" @@ -4709,16 +4722,16 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:820 part/stocktake.py:223 +#: part/serializers.py:835 part/stocktake.py:223 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:787 stock/serializers.py:951 +#: stock/serializers.py:916 stock/serializers.py:1080 #: stock/templates/stock/location.html:170 -#: stock/templates/stock/location.html:184 -#: stock/templates/stock/location.html:196 +#: stock/templates/stock/location.html:191 +#: stock/templates/stock/location.html:203 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2769 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 #: users/models.py:206 msgid "Stock Items" msgstr "" @@ -4752,126 +4765,48 @@ msgstr "" msgid "New Company" msgstr "" -#: label/api.py:247 -msgid "Error printing label" -msgstr "" - -#: label/models.py:120 -msgid "Label name" -msgstr "" - -#: label/models.py:128 -msgid "Label description" -msgstr "" - -#: label/models.py:136 -msgid "Label" -msgstr "" - -#: label/models.py:137 -msgid "Label template file" -msgstr "" - -#: label/models.py:143 part/models.py:3494 report/models.py:324 -#: templates/js/translated/part.js:2900 -#: templates/js/translated/table_filters.js:481 -msgid "Enabled" -msgstr "" - -#: label/models.py:144 -msgid "Label template is enabled" -msgstr "" - -#: label/models.py:149 -msgid "Width [mm]" -msgstr "" - -#: label/models.py:150 -msgid "Label width, specified in mm" -msgstr "" - -#: label/models.py:156 -msgid "Height [mm]" -msgstr "" - -#: label/models.py:157 -msgid "Label height, specified in mm" -msgstr "" - -#: label/models.py:163 report/models.py:317 -msgid "Filename Pattern" -msgstr "" - -#: label/models.py:164 -msgid "Pattern for generating label filenames" -msgstr "" - -#: label/models.py:313 label/models.py:352 label/models.py:377 -#: label/models.py:412 -msgid "Query filters (comma-separated list of key=value pairs)" -msgstr "" - -#: label/models.py:314 label/models.py:353 label/models.py:378 -#: label/models.py:413 report/models.py:345 report/models.py:496 -#: report/models.py:532 report/models.py:568 report/models.py:750 -msgid "Filters" -msgstr "" - -#: label/templates/label/part/part_label.html:31 -#: label/templates/label/stockitem/qr.html:21 -#: label/templates/label/stocklocation/qr.html:20 -#: templates/allauth_2fa/setup.html:18 -msgid "QR Code" -msgstr "" - -#: label/templates/label/part/part_label_code128.html:31 -#: label/templates/label/stocklocation/qr_and_text.html:31 -#: templates/qr_code.html:7 -msgid "QR code" -msgstr "" - -#: machine/machine_types/label_printer.py:217 +#: machine/machine_types/label_printer.py:218 msgid "Copies" msgstr "" -#: machine/machine_types/label_printer.py:218 +#: machine/machine_types/label_printer.py:219 msgid "Number of copies to print for each label" msgstr "" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:234 msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:234 order/api.py:1515 -#: templates/js/translated/sales_order.js:1042 +#: machine/machine_types/label_printer.py:235 order/api.py:1515 +#: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "" -#: machine/machine_types/label_printer.py:235 +#: machine/machine_types/label_printer.py:236 msgid "Printing" msgstr "" -#: machine/machine_types/label_printer.py:236 +#: machine/machine_types/label_printer.py:237 msgid "No media" msgstr "" -#: machine/machine_types/label_printer.py:237 +#: machine/machine_types/label_printer.py:238 msgid "Disconnected" msgstr "" -#: machine/machine_types/label_printer.py:244 +#: machine/machine_types/label_printer.py:245 msgid "Label Printer" msgstr "" -#: machine/machine_types/label_printer.py:245 +#: machine/machine_types/label_printer.py:246 msgid "Directly print labels for various items." msgstr "" -#: machine/machine_types/label_printer.py:251 +#: machine/machine_types/label_printer.py:252 msgid "Printer Location" msgstr "" -#: machine/machine_types/label_printer.py:252 +#: machine/machine_types/label_printer.py:253 msgid "Scope the printer to a specific location" msgstr "" @@ -4931,19 +4866,19 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:89 -#: report/templates/report/inventree_po_report_base.html:31 -#: report/templates/report/inventree_so_report_base.html:31 +#: order/admin.py:30 order/models.py:90 +#: report/templates/report/inventree_purchase_order_report.html:31 +#: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2126 -#: templates/js/translated/sales_order.js:1847 +#: templates/js/translated/purchase_order.js:2125 +#: templates/js/translated/sales_order.js:1883 msgid "Total Price" msgstr "" #: order/api.py:161 order/serializers.py:91 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 -#: order/templates/order/sales_order_base.html:118 +#: order/templates/order/sales_order_base.html:122 msgid "Order Status" msgstr "" @@ -4956,10 +4891,10 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:437 order/api.py:817 order/models.py:1382 order/models.py:1491 -#: order/models.py:1537 order/models.py:1651 order/models.py:1805 -#: order/models.py:2209 order/models.py:2260 -#: templates/js/translated/sales_order.js:1488 +#: order/api.py:437 order/api.py:817 order/models.py:1428 order/models.py:1537 +#: order/models.py:1583 order/models.py:1697 order/models.py:1851 +#: order/models.py:2264 order/models.py:2315 +#: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" @@ -4971,402 +4906,402 @@ msgstr "" msgid "Order Pending" msgstr "" -#: order/api.py:1509 order/models.py:1383 order/models.py:1492 -#: order/templates/order/order_base.html:9 +#: order/api.py:1509 order/models.py:381 order/models.py:1429 +#: order/models.py:1538 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 -#: report/templates/report/inventree_po_report_base.html:14 -#: stock/templates/stock/item_base.html:176 +#: report/templates/report/inventree_purchase_order_report.html:14 +#: stock/serializers.py:119 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 -#: templates/js/translated/purchase_order.js:1674 -#: templates/js/translated/stock.js:2262 templates/js/translated/stock.js:2910 +#: templates/js/translated/purchase_order.js:1673 +#: templates/js/translated/stock.js:2260 templates/js/translated/stock.js:2907 msgid "Purchase Order" msgstr "" -#: order/api.py:1513 order/models.py:2210 order/models.py:2261 -#: order/templates/order/return_order_base.html:9 +#: order/api.py:1513 order/models.py:2014 order/models.py:2265 +#: order/models.py:2316 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:281 -#: templates/js/translated/stock.js:2944 +#: report/templates/report/inventree_return_order_report.html:13 +#: templates/js/translated/return_order.js:280 +#: templates/js/translated/stock.js:2941 msgid "Return Order" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:96 order/serializers.py:71 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:99 order/serializers.py:72 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:246 +#: order/models.py:248 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:278 +#: order/models.py:291 msgid "Order description (optional)" msgstr "" -#: order/models.py:287 +#: order/models.py:300 msgid "Select project code for this order" msgstr "" -#: order/models.py:291 order/models.py:1288 order/models.py:1704 +#: order/models.py:304 order/models.py:1334 order/models.py:1750 msgid "Link to external page" msgstr "" -#: order/models.py:299 +#: order/models.py:312 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:313 +#: order/models.py:326 msgid "Created By" msgstr "" -#: order/models.py:321 +#: order/models.py:334 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:332 +#: order/models.py:345 msgid "Point of contact for this order" msgstr "" -#: order/models.py:342 +#: order/models.py:355 msgid "Company address for this order" msgstr "" -#: order/models.py:443 order/models.py:899 +#: order/models.py:465 order/models.py:930 msgid "Order reference" msgstr "" -#: order/models.py:451 order/models.py:923 +#: order/models.py:473 order/models.py:954 msgid "Purchase order status" msgstr "" -#: order/models.py:466 +#: order/models.py:488 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:477 order/templates/order/order_base.html:148 -#: templates/js/translated/purchase_order.js:1703 +#: order/models.py:499 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1702 msgid "Supplier Reference" msgstr "" -#: order/models.py:478 +#: order/models.py:500 msgid "Supplier order reference code" msgstr "" -#: order/models.py:487 +#: order/models.py:509 msgid "received by" msgstr "" -#: order/models.py:493 order/models.py:2036 +#: order/models.py:515 order/models.py:2091 msgid "Issue Date" msgstr "" -#: order/models.py:494 order/models.py:2037 +#: order/models.py:516 order/models.py:2092 msgid "Date order was issued" msgstr "" -#: order/models.py:501 order/models.py:2044 +#: order/models.py:523 order/models.py:2099 msgid "Date order was completed" msgstr "" -#: order/models.py:545 +#: order/models.py:567 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:739 +#: order/models.py:761 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:911 +#: order/models.py:942 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:934 order/models.py:2029 +#: order/models.py:965 order/models.py:2084 msgid "Customer Reference " msgstr "" -#: order/models.py:935 order/models.py:2030 +#: order/models.py:966 order/models.py:2085 msgid "Customer order reference code" msgstr "" -#: order/models.py:939 order/models.py:1658 -#: templates/js/translated/sales_order.js:843 -#: templates/js/translated/sales_order.js:1024 +#: order/models.py:970 order/models.py:1704 +#: templates/js/translated/sales_order.js:879 +#: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "" -#: order/models.py:948 +#: order/models.py:979 msgid "shipped by" msgstr "" -#: order/models.py:999 +#: order/models.py:1030 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:1004 +#: order/models.py:1035 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1008 templates/js/translated/sales_order.js:506 +#: order/models.py:1039 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1013 +#: order/models.py:1044 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1260 +#: order/models.py:1306 msgid "Item quantity" msgstr "" -#: order/models.py:1277 +#: order/models.py:1323 msgid "Line item reference" msgstr "" -#: order/models.py:1284 +#: order/models.py:1330 msgid "Line item notes" msgstr "" -#: order/models.py:1296 +#: order/models.py:1342 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1317 +#: order/models.py:1363 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1323 +#: order/models.py:1369 msgid "Context" msgstr "" -#: order/models.py:1324 +#: order/models.py:1370 msgid "Additional context for this line" msgstr "" -#: order/models.py:1334 +#: order/models.py:1380 msgid "Unit price" msgstr "" -#: order/models.py:1367 +#: order/models.py:1413 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1374 +#: order/models.py:1420 msgid "deleted" msgstr "" -#: order/models.py:1402 +#: order/models.py:1448 msgid "Supplier part" msgstr "" -#: order/models.py:1409 order/templates/order/order_base.html:196 +#: order/models.py:1455 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 #: templates/js/translated/purchase_order.js:1306 -#: templates/js/translated/purchase_order.js:2170 -#: templates/js/translated/return_order.js:764 +#: templates/js/translated/purchase_order.js:2169 +#: templates/js/translated/return_order.js:763 #: templates/js/translated/table_filters.js:120 #: templates/js/translated/table_filters.js:602 msgid "Received" msgstr "" -#: order/models.py:1410 +#: order/models.py:1456 msgid "Number of items received" msgstr "" -#: order/models.py:1418 stock/models.py:923 stock/serializers.py:400 +#: order/models.py:1464 stock/models.py:944 stock/serializers.py:529 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2313 +#: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "" -#: order/models.py:1419 +#: order/models.py:1465 msgid "Unit purchase price" msgstr "" -#: order/models.py:1434 +#: order/models.py:1480 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1525 +#: order/models.py:1571 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1530 +#: order/models.py:1576 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1556 part/templates/part/part_pricing.html:107 +#: order/models.py:1602 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1557 +#: order/models.py:1603 msgid "Unit sale price" msgstr "" -#: order/models.py:1567 +#: order/models.py:1613 msgid "Shipped quantity" msgstr "" -#: order/models.py:1659 +#: order/models.py:1705 msgid "Date of shipment" msgstr "" -#: order/models.py:1665 templates/js/translated/sales_order.js:1036 +#: order/models.py:1711 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1666 +#: order/models.py:1712 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1674 +#: order/models.py:1720 msgid "Checked By" msgstr "" -#: order/models.py:1675 +#: order/models.py:1721 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1682 order/models.py:1895 order/serializers.py:1354 -#: order/serializers.py:1464 templates/js/translated/model_renderers.js:448 +#: order/models.py:1728 order/models.py:1941 order/serializers.py:1354 +#: order/serializers.py:1464 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" -#: order/models.py:1683 +#: order/models.py:1729 msgid "Shipment number" msgstr "" -#: order/models.py:1691 +#: order/models.py:1737 msgid "Tracking Number" msgstr "" -#: order/models.py:1692 +#: order/models.py:1738 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1699 +#: order/models.py:1745 msgid "Invoice Number" msgstr "" -#: order/models.py:1700 +#: order/models.py:1746 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1720 +#: order/models.py:1766 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1723 +#: order/models.py:1769 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1841 order/models.py:1843 +#: order/models.py:1887 order/models.py:1889 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1850 +#: order/models.py:1896 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1853 +#: order/models.py:1899 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1856 +#: order/models.py:1902 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1875 order/serializers.py:1231 +#: order/models.py:1921 order/serializers.py:1231 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1878 +#: order/models.py:1924 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1879 plugin/base/barcodes/api.py:481 +#: order/models.py:1925 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1887 +#: order/models.py:1933 msgid "Line" msgstr "" -#: order/models.py:1896 +#: order/models.py:1942 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1909 order/models.py:2217 -#: templates/js/translated/return_order.js:722 +#: order/models.py:1955 order/models.py:2272 +#: templates/js/translated/return_order.js:721 msgid "Item" msgstr "" -#: order/models.py:1910 +#: order/models.py:1956 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1919 +#: order/models.py:1965 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1999 +#: order/models.py:2054 msgid "Return Order reference" msgstr "" -#: order/models.py:2011 +#: order/models.py:2066 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2023 +#: order/models.py:2078 msgid "Return order status" msgstr "" -#: order/models.py:2202 +#: order/models.py:2257 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2218 +#: order/models.py:2273 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2224 +#: order/models.py:2279 msgid "Received Date" msgstr "" -#: order/models.py:2225 +#: order/models.py:2280 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2236 templates/js/translated/return_order.js:733 +#: order/models.py:2291 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2237 +#: order/models.py:2292 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2244 +#: order/models.py:2299 msgid "Cost associated with return or repair for this line item" msgstr "" #: order/serializers.py:80 order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 -#: report/templates/report/inventree_po_report_base.html:22 -#: report/templates/report/inventree_return_order_report_base.html:19 -#: report/templates/report/inventree_so_report_base.html:22 +#: report/templates/report/inventree_purchase_order_report.html:22 +#: report/templates/report/inventree_return_order_report.html:19 +#: report/templates/report/inventree_sales_order_report.html:22 msgid "Line Items" msgstr "" @@ -5596,7 +5531,7 @@ msgstr "" #: order/templates/order/order_base.html:84 #: order/templates/order/return_order_base.html:87 -#: order/templates/order/sales_order_base.html:93 +#: order/templates/order/sales_order_base.html:97 msgid "Complete Order" msgstr "" @@ -5606,13 +5541,13 @@ msgstr "" #: order/templates/order/order_base.html:106 #: order/templates/order/return_order_base.html:101 -#: order/templates/order/sales_order_base.html:106 +#: order/templates/order/sales_order_base.html:110 msgid "Order Reference" msgstr "" #: order/templates/order/order_base.html:111 #: order/templates/order/return_order_base.html:106 -#: order/templates/order/sales_order_base.html:111 +#: order/templates/order/sales_order_base.html:115 msgid "Order Description" msgstr "" @@ -5621,19 +5556,19 @@ msgid "No suppplier information available" msgstr "" #: order/templates/order/order_base.html:154 -#: order/templates/order/sales_order_base.html:157 +#: order/templates/order/sales_order_base.html:161 msgid "Completed Line Items" msgstr "" #: order/templates/order/order_base.html:160 -#: order/templates/order/sales_order_base.html:163 -#: order/templates/order/sales_order_base.html:173 +#: order/templates/order/sales_order_base.html:167 +#: order/templates/order/sales_order_base.html:177 msgid "Incomplete" msgstr "" #: order/templates/order/order_base.html:179 #: order/templates/order/return_order_base.html:157 -#: report/templates/report/inventree_build_order_base.html:121 +#: report/templates/report/inventree_build_order_report.html:121 msgid "Issued" msgstr "" @@ -5643,15 +5578,15 @@ msgstr "" #: order/templates/order/order_base.html:228 #: order/templates/order/return_order_base.html:199 -#: order/templates/order/sales_order_base.html:239 +#: order/templates/order/sales_order_base.html:243 msgid "Total cost could not be calculated" msgstr "" -#: order/templates/order/order_base.html:318 +#: order/templates/order/order_base.html:314 msgid "Purchase Order QR Code" msgstr "" -#: order/templates/order/order_base.html:330 +#: order/templates/order/order_base.html:326 msgid "Link Barcode to Purchase Order" msgstr "" @@ -5708,8 +5643,8 @@ msgstr "" #: templates/js/translated/build.js:1629 #: templates/js/translated/purchase_order.js:696 #: templates/js/translated/purchase_order.js:1236 -#: templates/js/translated/return_order.js:506 -#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/return_order.js:505 +#: templates/js/translated/sales_order.js:1145 #: templates/js/translated/stock.js:714 templates/js/translated/stock.js:883 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -5763,7 +5698,7 @@ msgstr "" #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 #: templates/js/translated/purchase_order.js:414 -#: templates/js/translated/return_order.js:459 +#: templates/js/translated/return_order.js:458 #: templates/js/translated/sales_order.js:237 msgid "Add Line Item" msgstr "" @@ -5812,30 +5747,30 @@ msgid "Print packing list" msgstr "" #: order/templates/order/return_order_base.html:138 -#: order/templates/order/sales_order_base.html:151 -#: templates/js/translated/return_order.js:309 -#: templates/js/translated/sales_order.js:797 +#: order/templates/order/sales_order_base.html:155 +#: templates/js/translated/return_order.js:308 +#: templates/js/translated/sales_order.js:833 msgid "Customer Reference" msgstr "" #: order/templates/order/return_order_base.html:195 -#: order/templates/order/sales_order_base.html:235 +#: order/templates/order/sales_order_base.html:239 #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1072 -#: templates/js/translated/purchase_order.js:1753 -#: templates/js/translated/return_order.js:381 -#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/purchase_order.js:1752 +#: templates/js/translated/return_order.js:380 +#: templates/js/translated/sales_order.js:891 msgid "Total Cost" msgstr "" -#: order/templates/order/return_order_base.html:263 +#: order/templates/order/return_order_base.html:259 msgid "Return Order QR Code" msgstr "" -#: order/templates/order/return_order_base.html:275 +#: order/templates/order/return_order_base.html:271 msgid "Link Barcode to Return Order" msgstr "" @@ -5852,26 +5787,31 @@ msgstr "" msgid "Ship Items" msgstr "" +#: order/templates/order/sales_order_base.html:91 #: order/templates/order/sales_order_base.html:92 -#: templates/js/translated/sales_order.js:484 +msgid "Mark As Shipped" +msgstr "" + +#: order/templates/order/sales_order_base.html:96 +#: templates/js/translated/sales_order.js:536 msgid "Complete Sales Order" msgstr "" -#: order/templates/order/sales_order_base.html:131 +#: order/templates/order/sales_order_base.html:135 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:169 +#: order/templates/order/sales_order_base.html:173 #: order/templates/order/sales_order_detail.html:99 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "" -#: order/templates/order/sales_order_base.html:312 +#: order/templates/order/sales_order_base.html:321 msgid "Sales Order QR Code" msgstr "" -#: order/templates/order/sales_order_base.html:324 +#: order/templates/order/sales_order_base.html:333 msgid "Link Barcode to Sales Order" msgstr "" @@ -5915,12 +5855,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:404 part/models.py:3921 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:406 part/models.py:3964 part/stocktake.py:218 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:411 part/models.py:3922 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:413 part/models.py:3965 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -5929,20 +5869,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:904 part/templates/part/part_base.html:269 -#: report/templates/report/inventree_slr_report.html:103 -#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2341 -#: templates/js/translated/stock.js:2038 +#: part/admin.py:48 part/models.py:947 part/templates/part/part_base.html:269 +#: report/templates/report/inventree_stock_location_report.html:103 +#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 +#: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:913 part/templates/part/part_base.html:277 -#: report/models.py:195 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2347 +#: part/admin.py:50 part/models.py:956 part/templates/part/part_base.html:277 +#: report/models.py:161 templates/js/translated/part.js:1231 +#: templates/js/translated/part.js:2346 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:317 part/models.py:886 +#: part/admin.py:53 part/admin.py:319 part/models.py:929 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5951,15 +5891,15 @@ msgstr "" msgid "Part Image" msgstr "" -#: part/admin.py:63 part/admin.py:300 part/stocktake.py:221 +#: part/admin.py:63 part/admin.py:302 part/stocktake.py:221 msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:302 part/stocktake.py:222 +#: part/admin.py:67 part/admin.py:304 part/stocktake.py:222 msgid "Category Name" msgstr "" -#: part/admin.py:71 part/admin.py:314 +#: part/admin.py:71 part/admin.py:316 msgid "Default Location ID" msgstr "" @@ -5967,11 +5907,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:872 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:915 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1000 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1043 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5984,160 +5924,164 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3080 part/models.py:3094 +#: part/admin.py:155 part/models.py:3123 part/models.py:3137 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3087 part/models.py:3101 +#: part/admin.py:158 part/models.py:3130 part/models.py:3144 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" -#: part/admin.py:306 part/admin.py:393 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:211 msgid "Parent ID" msgstr "" -#: part/admin.py:310 part/admin.py:400 stock/admin.py:62 +#: part/admin.py:312 part/admin.py:402 stock/admin.py:62 msgid "Parent Name" msgstr "" -#: part/admin.py:318 part/templates/part/category.html:88 +#: part/admin.py:320 part/templates/part/category.html:88 #: part/templates/part/category.html:101 msgid "Category Path" msgstr "" -#: part/admin.py:323 part/models.py:391 part/serializers.py:117 +#: part/admin.py:325 part/models.py:393 part/serializers.py:117 #: part/serializers.py:272 part/serializers.py:391 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2803 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "" -#: part/admin.py:384 +#: part/admin.py:386 msgid "BOM Level" msgstr "" -#: part/admin.py:387 +#: part/admin.py:389 msgid "BOM Item ID" msgstr "" -#: part/admin.py:397 +#: part/admin.py:399 msgid "Parent IPN" msgstr "" -#: part/admin.py:408 part/models.py:3923 +#: part/admin.py:410 part/models.py:3966 msgid "Part IPN" msgstr "" -#: part/admin.py:421 part/serializers.py:1261 +#: part/admin.py:423 part/serializers.py:1276 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:426 part/serializers.py:1276 +#: part/admin.py:428 part/serializers.py:1291 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:119 +#: part/api.py:112 msgid "Starred" msgstr "" -#: part/api.py:121 +#: part/api.py:114 msgid "Filter by starred categories" msgstr "" -#: part/api.py:138 stock/api.py:284 +#: part/api.py:131 stock/api.py:318 msgid "Depth" msgstr "" -#: part/api.py:138 +#: part/api.py:131 msgid "Filter by category depth" msgstr "" -#: part/api.py:156 stock/api.py:302 +#: part/api.py:149 stock/api.py:336 msgid "Cascade" msgstr "" -#: part/api.py:158 +#: part/api.py:151 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:178 +#: part/api.py:171 msgid "Parent" msgstr "" -#: part/api.py:180 +#: part/api.py:173 msgid "Filter by parent category" msgstr "" -#: part/api.py:213 +#: part/api.py:206 msgid "Exclude Tree" msgstr "" -#: part/api.py:215 +#: part/api.py:208 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:461 +#: part/api.py:455 msgid "Has Results" msgstr "" -#: part/api.py:628 +#: part/api.py:622 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:646 +#: part/api.py:640 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:662 +#: part/api.py:656 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:746 +#: part/api.py:740 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:893 +#: part/api.py:887 msgid "Valid" msgstr "" -#: part/api.py:894 +#: part/api.py:888 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:900 +#: part/api.py:894 msgid "This option must be selected" msgstr "" -#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866 -#: part/serializers.py:406 part/serializers.py:1117 -#: part/templates/part/part_base.html:260 stock/api.py:745 +#: part/api.py:1111 +msgid "BOM Valid" +msgstr "" + +#: part/api.py:1515 part/models.py:939 part/models.py:3429 part/models.py:3909 +#: part/serializers.py:406 part/serializers.py:1132 +#: part/templates/part/part_base.html:260 stock/api.py:779 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2377 +#: templates/js/translated/part.js:2376 msgid "Category" msgstr "" -#: part/api.py:1849 +#: part/api.py:1803 msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:101 part/models.py:939 +#: part/bom.py:170 part/models.py:102 part/models.py:982 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:822 +#: part/bom.py:171 part/serializers.py:837 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6146,698 +6090,712 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:82 part/models.py:3867 part/templates/part/category.html:16 +#: part/models.py:83 part/models.py:3910 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:83 part/templates/part/category.html:136 +#: part/models.py:84 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "" -#: part/models.py:102 +#: part/models.py:103 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:107 stock/models.py:165 templates/js/translated/part.js:2810 -#: templates/js/translated/stock.js:2775 +#: part/models.py:108 stock/models.py:177 templates/js/translated/part.js:2809 +#: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "" -#: part/models.py:109 +#: part/models.py:110 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:118 +#: part/models.py:119 msgid "Default keywords" msgstr "" -#: part/models.py:119 +#: part/models.py:120 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:125 stock/models.py:89 stock/models.py:148 +#: part/models.py:126 stock/models.py:89 stock/models.py:160 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:126 stock/models.py:149 +#: part/models.py:127 stock/models.py:161 msgid "Icon (optional)" msgstr "" -#: part/models.py:148 +#: part/models.py:149 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:484 +#: part/models.py:482 +msgid "Cannot delete this part as it is still active" +msgstr "" + +#: part/models.py:489 +msgid "Cannot delete this part as it is used in an assembly" +msgstr "" + +#: part/models.py:527 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:532 part/models.py:539 +#: part/models.py:575 part/models.py:582 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:551 +#: part/models.py:594 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:616 +#: part/models.py:659 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:696 +#: part/models.py:739 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:801 +#: part/models.py:844 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:811 +#: part/models.py:854 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:826 +#: part/models.py:869 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:855 part/models.py:3922 +#: part/models.py:898 part/models.py:3965 msgid "Part name" msgstr "" -#: part/models.py:860 +#: part/models.py:903 msgid "Is Template" msgstr "" -#: part/models.py:861 +#: part/models.py:904 msgid "Is this part a template part?" msgstr "" -#: part/models.py:871 +#: part/models.py:914 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:879 +#: part/models.py:922 msgid "Part description (optional)" msgstr "" -#: part/models.py:887 +#: part/models.py:930 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:897 +#: part/models.py:940 msgid "Part category" msgstr "" -#: part/models.py:905 +#: part/models.py:948 msgid "Internal Part Number" msgstr "" -#: part/models.py:912 +#: part/models.py:955 msgid "Part revision or version number" msgstr "" -#: part/models.py:937 +#: part/models.py:980 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:983 part/templates/part/part_base.html:376 +#: part/models.py:1026 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:984 +#: part/models.py:1027 msgid "Default supplier part" msgstr "" -#: part/models.py:991 +#: part/models.py:1034 msgid "Default Expiry" msgstr "" -#: part/models.py:992 +#: part/models.py:1035 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1001 +#: part/models.py:1044 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1010 +#: part/models.py:1053 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1017 +#: part/models.py:1060 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1023 +#: part/models.py:1066 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1029 +#: part/models.py:1072 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1035 +#: part/models.py:1078 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1041 +#: part/models.py:1084 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1045 +#: part/models.py:1088 msgid "Is this part active?" msgstr "" -#: part/models.py:1051 +#: part/models.py:1094 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1057 +#: part/models.py:1100 msgid "BOM checksum" msgstr "" -#: part/models.py:1058 +#: part/models.py:1101 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1066 +#: part/models.py:1109 msgid "BOM checked by" msgstr "" -#: part/models.py:1071 +#: part/models.py:1114 msgid "BOM checked date" msgstr "" -#: part/models.py:1087 +#: part/models.py:1130 msgid "Creation User" msgstr "" -#: part/models.py:1097 +#: part/models.py:1140 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1102 part/templates/part/part_base.html:339 +#: part/models.py:1145 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 -#: templates/js/translated/part.js:2471 +#: templates/js/translated/part.js:2470 msgid "Last Stocktake" msgstr "" -#: part/models.py:1975 +#: part/models.py:2018 msgid "Sell multiple" msgstr "" -#: part/models.py:2994 +#: part/models.py:3037 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3010 +#: part/models.py:3053 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3011 +#: part/models.py:3054 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3017 +#: part/models.py:3060 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3018 +#: part/models.py:3061 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3024 +#: part/models.py:3067 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3025 +#: part/models.py:3068 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3031 +#: part/models.py:3074 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3032 +#: part/models.py:3075 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3038 +#: part/models.py:3081 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3039 +#: part/models.py:3082 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3045 +#: part/models.py:3088 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3046 +#: part/models.py:3089 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3052 +#: part/models.py:3095 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3053 +#: part/models.py:3096 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3059 +#: part/models.py:3102 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3060 +#: part/models.py:3103 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3066 +#: part/models.py:3109 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3067 +#: part/models.py:3110 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3073 +#: part/models.py:3116 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3074 +#: part/models.py:3117 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3081 +#: part/models.py:3124 msgid "Override minimum cost" msgstr "" -#: part/models.py:3088 +#: part/models.py:3131 msgid "Override maximum cost" msgstr "" -#: part/models.py:3095 +#: part/models.py:3138 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3102 +#: part/models.py:3145 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3108 +#: part/models.py:3151 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3109 +#: part/models.py:3152 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3115 +#: part/models.py:3158 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3116 +#: part/models.py:3159 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3122 +#: part/models.py:3165 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3123 +#: part/models.py:3166 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3129 +#: part/models.py:3172 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3130 +#: part/models.py:3173 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3149 +#: part/models.py:3192 msgid "Part for stocktake" msgstr "" -#: part/models.py:3154 +#: part/models.py:3197 msgid "Item Count" msgstr "" -#: part/models.py:3155 +#: part/models.py:3198 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3163 +#: part/models.py:3206 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3167 part/models.py:3250 +#: part/models.py:3210 part/models.py:3293 #: part/templates/part/part_scheduling.html:13 -#: report/templates/report/inventree_test_report_base.html:106 +#: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 #: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 -#: templates/js/translated/purchase_order.js:1732 -#: templates/js/translated/stock.js:2824 +#: templates/js/translated/purchase_order.js:1731 +#: templates/js/translated/stock.js:2821 msgid "Date" msgstr "" -#: part/models.py:3168 +#: part/models.py:3211 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3176 +#: part/models.py:3219 msgid "Additional notes" msgstr "" -#: part/models.py:3186 +#: part/models.py:3229 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3192 +#: part/models.py:3235 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3193 +#: part/models.py:3236 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3199 +#: part/models.py:3242 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3200 +#: part/models.py:3243 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3256 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3299 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3257 +#: part/models.py:3300 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3262 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3305 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3263 +#: part/models.py:3306 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3273 +#: part/models.py:3316 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3435 +#: part/models.py:3478 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3446 +#: part/models.py:3489 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3457 +#: part/models.py:3500 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3474 templates/js/translated/part.js:2879 +#: part/models.py:3517 templates/js/translated/part.js:2878 msgid "Test Name" msgstr "" -#: part/models.py:3475 +#: part/models.py:3518 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3481 +#: part/models.py:3524 msgid "Test Key" msgstr "" -#: part/models.py:3482 +#: part/models.py:3525 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3489 +#: part/models.py:3532 msgid "Test Description" msgstr "" -#: part/models.py:3490 +#: part/models.py:3533 msgid "Enter description for this test" msgstr "" -#: part/models.py:3494 +#: part/models.py:3537 report/models.py:208 +#: templates/js/translated/part.js:2899 +#: templates/js/translated/table_filters.js:481 +msgid "Enabled" +msgstr "" + +#: part/models.py:3537 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3499 templates/js/translated/part.js:2908 +#: part/models.py:3542 templates/js/translated/part.js:2907 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3500 +#: part/models.py:3543 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3505 templates/js/translated/part.js:2916 +#: part/models.py:3548 templates/js/translated/part.js:2915 msgid "Requires Value" msgstr "" -#: part/models.py:3506 +#: part/models.py:3549 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3511 templates/js/translated/part.js:2923 +#: part/models.py:3554 templates/js/translated/part.js:2922 msgid "Requires Attachment" msgstr "" -#: part/models.py:3513 +#: part/models.py:3556 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3560 +#: part/models.py:3603 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3565 +#: part/models.py:3608 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3585 +#: part/models.py:3628 msgid "Choices must be unique" msgstr "" -#: part/models.py:3602 +#: part/models.py:3645 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3617 +#: part/models.py:3660 msgid "Parameter Name" msgstr "" -#: part/models.py:3624 +#: part/models.py:3667 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3632 +#: part/models.py:3675 msgid "Parameter description" msgstr "" -#: part/models.py:3638 templates/js/translated/part.js:1627 +#: part/models.py:3681 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3639 +#: part/models.py:3682 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3644 templates/js/translated/part.js:1636 +#: part/models.py:3687 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3645 +#: part/models.py:3688 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3722 +#: part/models.py:3765 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3765 +#: part/models.py:3808 msgid "Parent Part" msgstr "" -#: part/models.py:3773 part/models.py:3874 part/models.py:3875 +#: part/models.py:3816 part/models.py:3917 part/models.py:3918 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3778 +#: part/models.py:3821 msgid "Data" msgstr "" -#: part/models.py:3779 +#: part/models.py:3822 msgid "Parameter Value" msgstr "" -#: part/models.py:3881 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3924 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3882 +#: part/models.py:3925 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3920 +#: part/models.py:3963 msgid "Part ID or part name" msgstr "" -#: part/models.py:3921 +#: part/models.py:3964 msgid "Unique part ID value" msgstr "" -#: part/models.py:3923 +#: part/models.py:3966 msgid "Part IPN value" msgstr "" -#: part/models.py:3924 +#: part/models.py:3967 msgid "Level" msgstr "" -#: part/models.py:3924 +#: part/models.py:3967 msgid "BOM level" msgstr "" -#: part/models.py:4014 +#: part/models.py:4057 msgid "Select parent part" msgstr "" -#: part/models.py:4024 +#: part/models.py:4067 msgid "Sub part" msgstr "" -#: part/models.py:4025 +#: part/models.py:4068 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4036 +#: part/models.py:4079 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4042 +#: part/models.py:4085 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4048 +#: part/models.py:4091 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4055 part/templates/part/upload_bom.html:55 +#: part/models.py:4098 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4056 +#: part/models.py:4099 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4063 +#: part/models.py:4106 msgid "BOM item reference" msgstr "" -#: part/models.py:4071 +#: part/models.py:4114 msgid "BOM item notes" msgstr "" -#: part/models.py:4077 +#: part/models.py:4120 msgid "Checksum" msgstr "" -#: part/models.py:4078 +#: part/models.py:4121 msgid "BOM line checksum" msgstr "" -#: part/models.py:4083 templates/js/translated/table_filters.js:174 +#: part/models.py:4126 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4084 +#: part/models.py:4127 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4089 part/templates/part/upload_bom.html:57 +#: part/models.py:4132 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4090 +#: part/models.py:4133 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4095 part/templates/part/upload_bom.html:56 +#: part/models.py:4138 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4096 +#: part/models.py:4139 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4181 stock/models.py:647 +#: part/models.py:4224 stock/models.py:668 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4191 part/models.py:4193 +#: part/models.py:4234 part/models.py:4236 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4333 +#: part/models.py:4376 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4354 +#: part/models.py:4397 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4367 +#: part/models.py:4410 msgid "Parent BOM item" msgstr "" -#: part/models.py:4375 +#: part/models.py:4418 msgid "Substitute part" msgstr "" -#: part/models.py:4391 +#: part/models.py:4434 msgid "Part 1" msgstr "" -#: part/models.py:4399 +#: part/models.py:4442 msgid "Part 2" msgstr "" -#: part/models.py:4400 +#: part/models.py:4443 msgid "Select Related Part" msgstr "" -#: part/models.py:4419 +#: part/models.py:4462 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4424 +#: part/models.py:4467 msgid "Duplicate relationship already exists" msgstr "" @@ -6855,7 +6813,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:406 +#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:535 msgid "Purchase currency of this stock item" msgstr "" @@ -6871,299 +6829,299 @@ msgstr "" msgid "Select category" msgstr "" -#: part/serializers.py:437 +#: part/serializers.py:442 msgid "Original Part" msgstr "" -#: part/serializers.py:438 +#: part/serializers.py:443 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:448 msgid "Copy Image" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:449 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:450 part/templates/part/detail.html:277 +#: part/serializers.py:455 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:451 +#: part/serializers.py:456 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:462 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:458 +#: part/serializers.py:463 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:464 +#: part/serializers.py:469 msgid "Copy Notes" msgstr "" -#: part/serializers.py:465 +#: part/serializers.py:470 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:478 +#: part/serializers.py:488 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:490 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:487 +#: part/serializers.py:497 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:488 +#: part/serializers.py:498 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:500 +#: part/serializers.py:515 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:531 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:526 +#: part/serializers.py:541 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:533 +#: part/serializers.py:548 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:542 +#: part/serializers.py:557 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:553 +#: part/serializers.py:568 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:560 +#: part/serializers.py:575 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:823 +#: part/serializers.py:838 msgid "External Stock" msgstr "" -#: part/serializers.py:825 +#: part/serializers.py:840 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:828 +#: part/serializers.py:843 msgid "Variant Stock" msgstr "" -#: part/serializers.py:856 part/templates/part/copy_part.html:9 +#: part/serializers.py:871 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:857 +#: part/serializers.py:872 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:863 templates/js/translated/part.js:102 +#: part/serializers.py:878 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:864 +#: part/serializers.py:879 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:870 +#: part/serializers.py:885 msgid "Supplier Information" msgstr "" -#: part/serializers.py:871 +#: part/serializers.py:886 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:879 +#: part/serializers.py:894 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:880 +#: part/serializers.py:895 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:885 +#: part/serializers.py:900 msgid "Existing Image" msgstr "" -#: part/serializers.py:886 +#: part/serializers.py:901 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:918 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1109 +#: part/serializers.py:1124 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1119 +#: part/serializers.py:1134 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1129 +#: part/serializers.py:1144 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1135 +#: part/serializers.py:1150 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1136 +#: part/serializers.py:1151 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1141 +#: part/serializers.py:1156 msgid "Generate Report" msgstr "" -#: part/serializers.py:1142 +#: part/serializers.py:1157 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1147 +#: part/serializers.py:1162 msgid "Update Parts" msgstr "" -#: part/serializers.py:1148 +#: part/serializers.py:1163 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1156 +#: part/serializers.py:1171 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1262 +#: part/serializers.py:1277 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1269 +#: part/serializers.py:1284 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1277 +#: part/serializers.py:1292 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1284 +#: part/serializers.py:1299 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1313 +#: part/serializers.py:1328 msgid "Update" msgstr "" -#: part/serializers.py:1314 +#: part/serializers.py:1329 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1337 +#: part/serializers.py:1352 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1344 +#: part/serializers.py:1359 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1347 +#: part/serializers.py:1362 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1714 +#: part/serializers.py:1729 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1722 +#: part/serializers.py:1737 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1723 +#: part/serializers.py:1738 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1728 +#: part/serializers.py:1743 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1729 +#: part/serializers.py:1744 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1734 +#: part/serializers.py:1749 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1735 +#: part/serializers.py:1750 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1755 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1756 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1775 +#: part/serializers.py:1790 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1776 +#: part/serializers.py:1791 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1806 +#: part/serializers.py:1821 msgid "No part column specified" msgstr "" -#: part/serializers.py:1850 +#: part/serializers.py:1865 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1853 +#: part/serializers.py:1868 msgid "No matching part found" msgstr "" -#: part/serializers.py:1856 +#: part/serializers.py:1871 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1865 +#: part/serializers.py:1880 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1888 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1894 +#: part/serializers.py:1909 msgid "At least one BOM item is required" msgstr "" #: part/stocktake.py:224 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:2085 +#: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" @@ -7315,7 +7273,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2218 users/models.py:204 +#: templates/js/translated/stock.js:2216 users/models.py:204 msgid "Stocktake" msgstr "" @@ -7413,15 +7371,15 @@ msgstr "" msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:659 +#: part/templates/part/detail.html:655 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:667 +#: part/templates/part/detail.html:663 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:752 +#: part/templates/part/detail.html:748 msgid "Add Test Result Template" msgstr "" @@ -7480,7 +7438,7 @@ msgstr "" #: part/templates/part/part_base.html:52 #: stock/templates/stock/item_base.html:62 -#: stock/templates/stock/location.html:74 +#: stock/templates/stock/location.html:74 templates/js/translated/label.js:142 msgid "Print Label" msgstr "" @@ -7502,7 +7460,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2293 +#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2292 msgid "Part actions" msgstr "" @@ -7551,7 +7509,7 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:163 -#: part/templates/part/part_base.html:682 +#: part/templates/part/part_base.html:681 msgid "Show Part Details" msgstr "" @@ -7574,7 +7532,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2444 +#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2443 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7597,19 +7555,19 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:512 +#: part/templates/part/part_base.html:511 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:529 +#: part/templates/part/part_base.html:528 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:580 +#: part/templates/part/part_base.html:579 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:676 +#: part/templates/part/part_base.html:675 msgid "Hide Part Details" msgstr "" @@ -7668,8 +7626,8 @@ msgstr "" #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 -#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 -#: templates/js/translated/stock.js:2072 templates/navbar.html:31 +#: templates/js/translated/part.js:2391 templates/js/translated/stock.js:1059 +#: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7715,7 +7673,7 @@ msgstr "" #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 -#: templates/js/translated/stock.js:2248 +#: templates/js/translated/stock.js:2246 msgid "Last Updated" msgstr "" @@ -7787,7 +7745,7 @@ msgid "Update Pricing" msgstr "" #: part/templates/part/stock_count.html:7 -#: templates/js/translated/model_renderers.js:221 +#: templates/js/translated/model_renderers.js:227 #: templates/js/translated/part.js:704 templates/js/translated/part.js:2140 #: templates/js/translated/part.js:2142 msgid "No Stock" @@ -7867,7 +7825,7 @@ msgstr "" msgid "Part Pricing" msgstr "" -#: plugin/api.py:168 +#: plugin/api.py:170 msgid "Plugin cannot be deleted as it is currently active" msgstr "" @@ -7934,7 +7892,7 @@ msgid "Stock item does not match line item" msgstr "" #: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2589 -#: templates/js/translated/sales_order.js:1917 +#: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "" @@ -8028,22 +7986,18 @@ msgstr "" msgid "Quantity to allocate" msgstr "" -#: plugin/base/label/label.py:39 +#: plugin/base/label/label.py:39 templates/js/translated/label.js:154 msgid "Label printing failed" msgstr "" -#: plugin/base/label/mixins.py:63 +#: plugin/base/label/mixins.py:56 msgid "Error rendering label to PDF" msgstr "" -#: plugin/base/label/mixins.py:76 +#: plugin/base/label/mixins.py:70 msgid "Error rendering label to HTML" msgstr "" -#: plugin/base/label/mixins.py:111 -msgid "Error rendering label to PNG" -msgstr "" - #: plugin/builtin/barcodes/inventree_barcode.py:25 msgid "InvenTree Barcodes" msgstr "" @@ -8055,7 +8009,7 @@ msgstr "" #: plugin/builtin/barcodes/inventree_barcode.py:28 #: plugin/builtin/integration/core_notifications.py:35 #: plugin/builtin/integration/currency_exchange.py:21 -#: plugin/builtin/labels/inventree_label.py:23 +#: plugin/builtin/labels/inventree_label.py:22 #: plugin/builtin/labels/inventree_machine.py:64 #: plugin/builtin/labels/label_sheet.py:63 #: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 @@ -8109,19 +8063,19 @@ msgstr "" msgid "Default currency exchange integration" msgstr "" -#: plugin/builtin/labels/inventree_label.py:20 +#: plugin/builtin/labels/inventree_label.py:19 msgid "InvenTree PDF label printer" msgstr "" -#: plugin/builtin/labels/inventree_label.py:21 +#: plugin/builtin/labels/inventree_label.py:20 msgid "Provides native support for printing PDF labels" msgstr "" -#: plugin/builtin/labels/inventree_label.py:29 +#: plugin/builtin/labels/inventree_label.py:28 msgid "Debug mode" msgstr "" -#: plugin/builtin/labels/inventree_label.py:30 +#: plugin/builtin/labels/inventree_label.py:29 msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "" @@ -8133,11 +8087,11 @@ msgstr "" msgid "Provides support for printing using a machine" msgstr "" -#: plugin/builtin/labels/inventree_machine.py:150 +#: plugin/builtin/labels/inventree_machine.py:151 msgid "last used" msgstr "" -#: plugin/builtin/labels/inventree_machine.py:167 +#: plugin/builtin/labels/inventree_machine.py:168 msgid "Options" msgstr "" @@ -8161,7 +8115,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:47 report/models.py:209 +#: plugin/builtin/labels/label_sheet.py:47 report/models.py:308 msgid "Landscape" msgstr "" @@ -8177,11 +8131,11 @@ msgstr "" msgid "Arrays multiple labels onto a single sheet" msgstr "" -#: plugin/builtin/labels/label_sheet.py:94 +#: plugin/builtin/labels/label_sheet.py:99 msgid "Label is too large for page size" msgstr "" -#: plugin/builtin/labels/label_sheet.py:128 +#: plugin/builtin/labels/label_sheet.py:133 msgid "No labels were generated" msgstr "" @@ -8274,61 +8228,62 @@ msgstr "" msgid "Uninstalled plugin successfully" msgstr "" -#: plugin/models.py:30 +#: plugin/models.py:35 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:31 +#: plugin/models.py:36 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:34 users/models.py:100 +#: plugin/models.py:42 users/models.py:100 msgid "Key" msgstr "" -#: plugin/models.py:34 +#: plugin/models.py:43 msgid "Key of plugin" msgstr "" -#: plugin/models.py:42 +#: plugin/models.py:51 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:49 plugin/serializers.py:90 +#: plugin/models.py:58 plugin/serializers.py:90 msgid "Package Name" msgstr "" -#: plugin/models.py:51 +#: plugin/models.py:60 msgid "Name of the installed package, if the plugin was installed via PIP" msgstr "" -#: plugin/models.py:56 +#: plugin/models.py:65 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:147 templates/js/translated/table_filters.js:370 +#: plugin/models.py:156 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "" -#: plugin/models.py:156 +#: plugin/models.py:165 msgid "Sample plugin" msgstr "" -#: plugin/models.py:164 +#: plugin/models.py:173 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:172 +#: plugin/models.py:181 msgid "Package Plugin" msgstr "" -#: plugin/models.py:196 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:205 report/models.py:475 +#: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" msgstr "" -#: plugin/models.py:243 +#: plugin/models.py:252 msgid "Method" msgstr "" @@ -8469,239 +8424,323 @@ msgstr "" msgid "Delete the plugin configuration from the database" msgstr "" -#: report/api.py:158 +#: report/api.py:77 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:197 report/api.py:234 +#: report/api.py:89 report/serializers.py:53 +msgid "Model Type" +msgstr "" + +#: report/api.py:92 report/models.py:439 report/serializers.py:98 +#: report/serializers.py:148 templates/js/translated/purchase_order.js:1747 +#: templates/js/translated/return_order.js:353 +#: templates/js/translated/sales_order.js:887 +#: templates/js/translated/sales_order.js:1047 +msgid "Items" +msgstr "" + +#: report/api.py:168 +msgid "Plugin not found" +msgstr "" + +#: report/api.py:170 +msgid "Plugin is not active" +msgstr "" + +#: report/api.py:172 +msgid "Plugin does not support label printing" +msgstr "" + +#: report/api.py:221 +msgid "Invalid label dimensions" +msgstr "" + +#: report/api.py:236 report/api.py:316 +msgid "No valid items provided to template" +msgstr "" + +#: report/api.py:271 +msgid "Error printing label" +msgstr "" + +#: report/api.py:362 report/api.py:398 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:319 -msgid "Test report" -msgstr "" - -#: report/helpers.py:15 +#: report/helpers.py:41 msgid "A4" msgstr "" -#: report/helpers.py:16 +#: report/helpers.py:42 msgid "A3" msgstr "" -#: report/helpers.py:17 +#: report/helpers.py:43 msgid "Legal" msgstr "" -#: report/helpers.py:18 +#: report/helpers.py:44 msgid "Letter" msgstr "" -#: report/models.py:177 +#: report/models.py:118 +msgid "Template file with this name already exists" +msgstr "" + +#: report/models.py:150 msgid "Template name" msgstr "" -#: report/models.py:183 -msgid "Report template file" +#: report/models.py:156 +msgid "Template description" msgstr "" -#: report/models.py:190 -msgid "Report template description" +#: report/models.py:162 +msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:196 -msgid "Report revision number (auto-increments)" +#: report/models.py:202 +msgid "Filename Pattern" msgstr "" -#: report/models.py:204 +#: report/models.py:203 +msgid "Pattern for generating filenames" +msgstr "" + +#: report/models.py:208 +msgid "Template is enabled" +msgstr "" + +#: report/models.py:214 +msgid "Target model type for template" +msgstr "" + +#: report/models.py:234 +msgid "Filters" +msgstr "" + +#: report/models.py:235 +msgid "Template query filters (comma-separated list of key=value pairs)" +msgstr "" + +#: report/models.py:295 report/models.py:362 +msgid "Template file" +msgstr "" + +#: report/models.py:303 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:210 +#: report/models.py:309 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:318 -msgid "Pattern for generating report filenames" +#: report/models.py:368 +msgid "Width [mm]" msgstr "" -#: report/models.py:325 -msgid "Report template is enabled" +#: report/models.py:369 +msgid "Label width, specified in mm" msgstr "" -#: report/models.py:347 -msgid "StockItem query filters (comma-separated list of key=value pairs)" +#: report/models.py:375 +msgid "Height [mm]" msgstr "" -#: report/models.py:354 -msgid "Include Installed Tests" +#: report/models.py:376 +msgid "Label height, specified in mm" msgstr "" -#: report/models.py:356 -msgid "Include test results for stock items installed inside assembled item" +#: report/models.py:439 +msgid "Number of items to process" msgstr "" -#: report/models.py:424 -msgid "Build Filters" +#: report/models.py:445 +msgid "Report generation is complete" msgstr "" -#: report/models.py:425 -msgid "Build query filters (comma-separated list of key=value pairs" +#: report/models.py:449 templates/js/translated/build.js:2177 +msgid "Progress" msgstr "" -#: report/models.py:464 -msgid "Part Filters" +#: report/models.py:449 +msgid "Report generation progress" msgstr "" -#: report/models.py:465 -msgid "Part query filters (comma-separated list of key=value pairs" +#: report/models.py:457 +msgid "Report Template" msgstr "" -#: report/models.py:497 -msgid "Purchase order query filters" +#: report/models.py:464 report/models.py:487 +msgid "Output File" msgstr "" -#: report/models.py:533 -msgid "Sales order query filters" +#: report/models.py:465 report/models.py:488 +msgid "Generated output file" msgstr "" -#: report/models.py:569 -msgid "Return order query filters" +#: report/models.py:476 +msgid "Label output plugin" msgstr "" -#: report/models.py:641 -msgid "Snippet file with this name already exists" +#: report/models.py:480 +msgid "Label Template" msgstr "" -#: report/models.py:648 +#: report/models.py:503 msgid "Snippet" msgstr "" -#: report/models.py:649 +#: report/models.py:504 msgid "Report snippet file" msgstr "" -#: report/models.py:656 +#: report/models.py:511 msgid "Snippet file description" msgstr "" -#: report/models.py:714 -msgid "Asset file with this name already exists" -msgstr "" - -#: report/models.py:722 +#: report/models.py:529 msgid "Asset" msgstr "" -#: report/models.py:723 +#: report/models.py:530 msgid "Report asset file" msgstr "" -#: report/models.py:730 +#: report/models.py:537 msgid "Asset file description" msgstr "" -#: report/models.py:752 -msgid "stock location query filters (comma-separated list of key=value pairs)" +#: report/serializers.py:91 +msgid "Select report template" +msgstr "" + +#: report/serializers.py:99 report/serializers.py:149 +msgid "List of item primary keys to include in the report" +msgstr "" + +#: report/serializers.py:132 +msgid "Select label template" +msgstr "" + +#: report/serializers.py:140 +msgid "Printing Plugin" +msgstr "" + +#: report/serializers.py:141 +msgid "Select plugin to use for label printing" +msgstr "" + +#: report/templates/label/part_label.html:31 +#: report/templates/label/stockitem_qr.html:21 +#: report/templates/label/stocklocation_qr.html:20 +#: templates/allauth_2fa/setup.html:18 +msgid "QR Code" +msgstr "" + +#: report/templates/label/part_label_code128.html:31 +#: report/templates/label/stocklocation_qr_and_text.html:31 +#: templates/qr_code.html:7 +msgid "QR code" msgstr "" #: report/templates/report/inventree_bill_of_materials_report.html:133 msgid "Materials needed" msgstr "" -#: report/templates/report/inventree_build_order_base.html:146 +#: report/templates/report/inventree_build_order_report.html:146 msgid "Required For" msgstr "" -#: report/templates/report/inventree_po_report_base.html:15 +#: report/templates/report/inventree_purchase_order_report.html:15 msgid "Supplier was deleted" msgstr "" -#: report/templates/report/inventree_po_report_base.html:30 -#: report/templates/report/inventree_so_report_base.html:30 +#: report/templates/report/inventree_purchase_order_report.html:30 +#: report/templates/report/inventree_sales_order_report.html:30 #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:834 -#: templates/js/translated/purchase_order.js:2116 -#: templates/js/translated/sales_order.js:1837 +#: templates/js/translated/purchase_order.js:2115 +#: templates/js/translated/sales_order.js:1873 msgid "Unit Price" msgstr "" -#: report/templates/report/inventree_po_report_base.html:55 -#: report/templates/report/inventree_return_order_report_base.html:48 -#: report/templates/report/inventree_so_report_base.html:55 +#: report/templates/report/inventree_purchase_order_report.html:55 +#: report/templates/report/inventree_return_order_report.html:48 +#: report/templates/report/inventree_sales_order_report.html:55 msgid "Extra Line Items" 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:2018 -#: templates/js/translated/sales_order.js:1806 +#: report/templates/report/inventree_purchase_order_report.html:72 +#: report/templates/report/inventree_sales_order_report.html:72 +#: templates/js/translated/purchase_order.js:2017 +#: templates/js/translated/sales_order.js:1842 msgid "Total" msgstr "" -#: report/templates/report/inventree_return_order_report_base.html:25 -#: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:809 stock/templates/stock/item_base.html:311 +#: report/templates/report/inventree_return_order_report.html:25 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:830 +#: stock/serializers.py:150 stock/templates/stock/item_base.html:311 #: templates/js/translated/build.js:519 templates/js/translated/build.js:1367 #: templates/js/translated/build.js:2355 -#: templates/js/translated/model_renderers.js:224 -#: templates/js/translated/return_order.js:540 -#: templates/js/translated/return_order.js:724 +#: templates/js/translated/model_renderers.js:230 +#: templates/js/translated/return_order.js:539 +#: templates/js/translated/return_order.js:723 #: templates/js/translated/sales_order.js:315 -#: templates/js/translated/sales_order.js:1611 -#: templates/js/translated/sales_order.js:1696 +#: templates/js/translated/sales_order.js:1647 +#: templates/js/translated/sales_order.js:1732 #: templates/js/translated/stock.js:596 msgid "Serial Number" msgstr "" -#: report/templates/report/inventree_slr_report.html:97 +#: report/templates/report/inventree_stock_location_report.html:97 msgid "Stock location items" msgstr "" -#: report/templates/report/inventree_test_report_base.html:21 +#: report/templates/report/inventree_test_report.html:21 msgid "Stock Item Test Report" msgstr "" -#: report/templates/report/inventree_test_report_base.html:97 +#: report/templates/report/inventree_test_report.html:97 msgid "Test Results" msgstr "" -#: report/templates/report/inventree_test_report_base.html:102 +#: report/templates/report/inventree_test_report.html:102 #: templates/js/translated/stock.js:1495 msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2442 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2419 msgid "Result" msgstr "" -#: report/templates/report/inventree_test_report_base.html:130 +#: report/templates/report/inventree_test_report.html:130 msgid "Pass" msgstr "" -#: report/templates/report/inventree_test_report_base.html:132 +#: report/templates/report/inventree_test_report.html:132 msgid "Fail" msgstr "" -#: report/templates/report/inventree_test_report_base.html:139 +#: report/templates/report/inventree_test_report.html:139 msgid "No result (required)" msgstr "" -#: report/templates/report/inventree_test_report_base.html:141 +#: report/templates/report/inventree_test_report.html:141 msgid "No result" msgstr "" -#: report/templates/report/inventree_test_report_base.html:154 +#: report/templates/report/inventree_test_report.html:154 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report_base.html:168 -#: stock/admin.py:162 templates/js/translated/stock.js:700 -#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3113 +#: report/templates/report/inventree_test_report.html:168 stock/admin.py:162 +#: templates/js/translated/stock.js:700 templates/js/translated/stock.js:871 +#: templates/js/translated/stock.js:3110 msgid "Serial" msgstr "" @@ -8758,7 +8797,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:201 stock/models.py:789 +#: stock/admin.py:201 stock/models.py:810 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" @@ -8783,66 +8822,66 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:256 stock/models.py:883 +#: stock/admin.py:256 stock/models.py:904 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2232 users/models.py:124 +#: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" msgstr "" -#: stock/api.py:284 +#: stock/api.py:318 msgid "Filter by location depth" msgstr "" -#: stock/api.py:304 +#: stock/api.py:338 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:325 +#: stock/api.py:359 msgid "Parent Location" msgstr "" -#: stock/api.py:326 +#: stock/api.py:360 msgid "Filter by parent location" msgstr "" -#: stock/api.py:579 templates/js/translated/table_filters.js:427 +#: stock/api.py:613 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:767 +#: stock/api.py:801 msgid "Part Tree" msgstr "" -#: stock/api.py:797 +#: stock/api.py:831 msgid "Expiry date before" msgstr "" -#: stock/api.py:801 +#: stock/api.py:835 msgid "Expiry date after" msgstr "" -#: stock/api.py:804 stock/templates/stock/item_base.html:439 +#: stock/api.py:838 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:891 +#: stock/api.py:925 msgid "Quantity is required" msgstr "" -#: stock/api.py:897 +#: stock/api.py:931 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:928 +#: stock/api.py:962 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:938 +#: stock/api.py:972 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:969 +#: stock/api.py:1003 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8858,477 +8897,517 @@ msgstr "" msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:125 stock/models.py:771 +#: stock/models.py:127 stock/models.py:792 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:126 stock/templates/stock/location.html:179 +#: stock/models.py:128 stock/templates/stock/location.html:186 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "" -#: stock/models.py:158 stock/models.py:932 +#: stock/models.py:170 stock/models.py:953 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:159 stock/models.py:933 +#: stock/models.py:171 stock/models.py:954 msgid "Select Owner" msgstr "" -#: stock/models.py:167 +#: stock/models.py:179 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:174 templates/js/translated/stock.js:2784 +#: stock/models.py:186 templates/js/translated/stock.js:2781 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "" -#: stock/models.py:175 +#: stock/models.py:187 msgid "This is an external stock location" msgstr "" -#: stock/models.py:181 templates/js/translated/stock.js:2793 +#: stock/models.py:193 templates/js/translated/stock.js:2790 #: templates/js/translated/table_filters.js:246 msgid "Location type" msgstr "" -#: stock/models.py:185 +#: stock/models.py:197 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:254 +#: stock/models.py:266 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:626 +#: stock/models.py:647 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:653 stock/serializers.py:290 +#: stock/models.py:674 stock/serializers.py:419 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:670 +#: stock/models.py:691 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:680 stock/models.py:693 +#: stock/models.py:701 stock/models.py:714 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:683 +#: stock/models.py:704 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:707 +#: stock/models.py:728 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:712 +#: stock/models.py:733 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:725 +#: stock/models.py:746 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:741 +#: stock/models.py:762 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:753 +#: stock/models.py:774 msgid "Base part" msgstr "" -#: stock/models.py:763 +#: stock/models.py:784 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:775 +#: stock/models.py:796 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:783 stock/serializers.py:1351 +#: stock/models.py:804 stock/serializers.py:1480 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:794 +#: stock/models.py:815 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:813 +#: stock/models.py:834 msgid "Serial number for this item" msgstr "" -#: stock/models.py:827 stock/serializers.py:1334 +#: stock/models.py:848 stock/serializers.py:1463 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:832 +#: stock/models.py:853 msgid "Stock Quantity" msgstr "" -#: stock/models.py:842 +#: stock/models.py:863 msgid "Source Build" msgstr "" -#: stock/models.py:845 +#: stock/models.py:866 msgid "Build for this stock item" msgstr "" -#: stock/models.py:852 stock/templates/stock/item_base.html:363 +#: stock/models.py:873 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:855 +#: stock/models.py:876 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:864 +#: stock/models.py:885 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:868 +#: stock/models.py:889 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:874 +#: stock/models.py:895 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:885 +#: stock/models.py:906 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:903 +#: stock/models.py:924 msgid "Delete on deplete" msgstr "" -#: stock/models.py:904 +#: stock/models.py:925 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:924 +#: stock/models.py:945 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:955 +#: stock/models.py:976 msgid "Converted to part" msgstr "" -#: stock/models.py:1473 +#: stock/models.py:1494 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1479 +#: stock/models.py:1500 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1487 +#: stock/models.py:1508 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1493 +#: stock/models.py:1514 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1498 +#: stock/models.py:1519 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1506 stock/serializers.py:529 +#: stock/models.py:1527 stock/serializers.py:658 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1603 +#: stock/models.py:1624 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1621 +#: stock/models.py:1642 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1625 +#: stock/models.py:1646 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1628 +#: stock/models.py:1649 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1631 +#: stock/models.py:1652 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1634 +#: stock/models.py:1655 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1637 +#: stock/models.py:1658 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1644 stock/serializers.py:1240 +#: stock/models.py:1665 stock/serializers.py:1369 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1648 +#: stock/models.py:1669 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1656 +#: stock/models.py:1677 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1661 +#: stock/models.py:1682 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1882 +#: stock/models.py:1903 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2345 +#: stock/models.py:2322 msgid "Entry notes" msgstr "" -#: stock/models.py:2410 +#: stock/models.py:2387 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2415 +#: stock/models.py:2392 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2442 +#: stock/models.py:2419 msgid "Test result" msgstr "" -#: stock/models.py:2449 +#: stock/models.py:2426 msgid "Test output value" msgstr "" -#: stock/models.py:2457 +#: stock/models.py:2434 msgid "Test result attachment" msgstr "" -#: stock/models.py:2461 +#: stock/models.py:2438 msgid "Test notes" msgstr "" -#: stock/models.py:2469 templates/js/translated/stock.js:1548 +#: stock/models.py:2446 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "" -#: stock/models.py:2470 +#: stock/models.py:2447 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2476 +#: stock/models.py:2453 msgid "Started" msgstr "" -#: stock/models.py:2477 +#: stock/models.py:2454 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2483 +#: stock/models.py:2460 msgid "Finished" msgstr "" -#: stock/models.py:2484 +#: stock/models.py:2461 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:100 +#: stock/serializers.py:75 +msgid "Generated batch code" +msgstr "" + +#: stock/serializers.py:84 +msgid "Select build order" +msgstr "" + +#: stock/serializers.py:93 +msgid "Select stock item to generate batch code for" +msgstr "" + +#: stock/serializers.py:102 +msgid "Select location to generate batch code for" +msgstr "" + +#: stock/serializers.py:111 +msgid "Select part to generate batch code for" +msgstr "" + +#: stock/serializers.py:120 +msgid "Select purchase order" +msgstr "" + +#: stock/serializers.py:127 +msgid "Enter quantity for batch code" +msgstr "" + +#: stock/serializers.py:150 +msgid "Generated serial number" +msgstr "" + +#: stock/serializers.py:159 +msgid "Select part to generate serial number for" +msgstr "" + +#: stock/serializers.py:167 +msgid "Quantity of serial numbers to generate" +msgstr "" + +#: stock/serializers.py:229 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:119 +#: stock/serializers.py:248 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:151 +#: stock/serializers.py:280 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:184 +#: stock/serializers.py:313 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:282 +#: stock/serializers.py:411 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:402 +#: stock/serializers.py:531 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:464 +#: stock/serializers.py:593 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:477 +#: stock/serializers.py:606 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:484 +#: stock/serializers.py:613 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:495 stock/serializers.py:1197 stock/serializers.py:1453 +#: stock/serializers.py:624 stock/serializers.py:1326 stock/serializers.py:1582 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:502 +#: stock/serializers.py:631 msgid "Optional note field" msgstr "" -#: stock/serializers.py:512 +#: stock/serializers.py:641 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:567 +#: stock/serializers.py:696 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:574 +#: stock/serializers.py:703 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:575 +#: stock/serializers.py:704 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:580 stock/serializers.py:660 stock/serializers.py:756 -#: stock/serializers.py:806 +#: stock/serializers.py:709 stock/serializers.py:789 stock/serializers.py:885 +#: stock/serializers.py:935 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:588 +#: stock/serializers.py:717 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:596 +#: stock/serializers.py:725 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:607 +#: stock/serializers.py:736 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:620 +#: stock/serializers.py:749 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:655 +#: stock/serializers.py:784 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:690 +#: stock/serializers.py:819 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:703 +#: stock/serializers.py:832 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:720 +#: stock/serializers.py:849 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:751 +#: stock/serializers.py:880 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:788 +#: stock/serializers.py:917 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:794 +#: stock/serializers.py:923 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:890 stock/serializers.py:953 +#: stock/serializers.py:1019 stock/serializers.py:1082 #: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:213 +#: stock/templates/stock/location.html:220 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1069 +#: stock/serializers.py:1198 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1073 +#: stock/serializers.py:1202 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1077 +#: stock/serializers.py:1206 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1101 +#: stock/serializers.py:1230 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1107 +#: stock/serializers.py:1236 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1115 +#: stock/serializers.py:1244 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1125 stock/serializers.py:1379 +#: stock/serializers.py:1254 stock/serializers.py:1508 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1204 +#: stock/serializers.py:1333 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1209 +#: stock/serializers.py:1338 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1210 +#: stock/serializers.py:1339 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1215 +#: stock/serializers.py:1344 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1216 +#: stock/serializers.py:1345 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1226 +#: stock/serializers.py:1355 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1293 +#: stock/serializers.py:1422 msgid "No Change" msgstr "" -#: stock/serializers.py:1322 +#: stock/serializers.py:1451 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1341 +#: stock/serializers.py:1470 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1369 +#: stock/serializers.py:1498 msgid "Stock transaction notes" msgstr "" @@ -9353,7 +9432,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:286 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:282 msgid "Delete Test Data" msgstr "" @@ -9369,15 +9448,15 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3274 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3271 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:274 +#: stock/templates/stock/item.html:270 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:304 templates/js/translated/stock.js:1701 +#: stock/templates/stock/item.html:300 templates/js/translated/stock.js:1701 msgid "Add Test Result" msgstr "" @@ -9562,40 +9641,40 @@ msgstr "" msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:507 -#: templates/js/translated/stock.js:1954 +#: stock/templates/stock/item_base.html:504 +#: templates/js/translated/stock.js:1952 msgid "stock item" msgstr "" -#: stock/templates/stock/item_base.html:532 +#: stock/templates/stock/item_base.html:527 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:541 +#: stock/templates/stock/item_base.html:536 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:552 +#: stock/templates/stock/item_base.html:547 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:616 +#: stock/templates/stock/item_base.html:611 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:619 +#: stock/templates/stock/item_base.html:614 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:620 +#: stock/templates/stock/item_base.html:615 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:628 +#: stock/templates/stock/item_base.html:623 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:662 +#: stock/templates/stock/item_base.html:657 msgid "Return to Stock" msgstr "" @@ -9659,28 +9738,32 @@ msgstr "" msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:217 +#: stock/templates/stock/location.html:176 +msgid "Location Type" +msgstr "" + +#: stock/templates/stock/location.html:224 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:218 +#: stock/templates/stock/location.html:225 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:287 -#: templates/js/translated/stock.js:2575 +#: stock/templates/stock/location.html:295 +#: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:315 +#: stock/templates/stock/location.html:317 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:388 +#: stock/templates/stock/location.html:390 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:399 +#: stock/templates/stock/location.html:401 msgid "Link Barcode to Stock Location" msgstr "" @@ -9950,11 +10033,11 @@ msgstr "" msgid "Part Settings" msgstr "" -#: templates/InvenTree/settings/part.html:42 +#: templates/InvenTree/settings/part.html:43 msgid "Part Import" msgstr "" -#: templates/InvenTree/settings/part.html:46 +#: templates/InvenTree/settings/part.html:47 msgid "Import Part" msgstr "" @@ -10175,7 +10258,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:424 +#: templates/js/translated/stock.js:245 users/models.py:411 msgid "Delete" msgstr "" @@ -10284,7 +10367,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2159 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2163 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" @@ -10875,7 +10958,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3218 +#: templates/js/translated/part.js:3217 msgid "Minimum Quantity" msgstr "" @@ -11255,7 +11338,7 @@ msgid "External stock" msgstr "" #: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2595 -#: templates/js/translated/sales_order.js:1910 +#: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" @@ -11265,7 +11348,7 @@ msgstr "" #: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 #: templates/js/translated/part.js:1256 -#: templates/js/translated/sales_order.js:1907 +#: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" @@ -11520,17 +11603,17 @@ msgstr "" #: templates/js/translated/build.js:1576 #: templates/js/translated/purchase_order.js:611 -#: templates/js/translated/sales_order.js:1171 +#: templates/js/translated/sales_order.js:1207 msgid "Select Parts" msgstr "" #: templates/js/translated/build.js:1577 -#: templates/js/translated/sales_order.js:1172 +#: templates/js/translated/sales_order.js:1208 msgid "You must select at least one part to allocate" msgstr "" #: templates/js/translated/build.js:1640 -#: templates/js/translated/sales_order.js:1121 +#: templates/js/translated/sales_order.js:1157 msgid "Specify stock allocation quantity" msgstr "" @@ -11543,7 +11626,7 @@ msgid "All selected parts have been fully allocated" msgstr "" #: templates/js/translated/build.js:1732 -#: templates/js/translated/sales_order.js:1186 +#: templates/js/translated/sales_order.js:1222 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -11552,12 +11635,12 @@ msgid "Allocate Stock Items to Build Order" msgstr "" #: templates/js/translated/build.js:1771 -#: templates/js/translated/sales_order.js:1283 +#: templates/js/translated/sales_order.js:1319 msgid "No matching stock locations" msgstr "" #: templates/js/translated/build.js:1844 -#: templates/js/translated/sales_order.js:1362 +#: templates/js/translated/sales_order.js:1398 msgid "No matching stock items" msgstr "" @@ -11590,9 +11673,9 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 -#: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 -#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 -#: templates/js/translated/stock.js:1985 templates/js/translated/stock.js:2713 +#: templates/js/translated/forms.js:2159 templates/js/translated/forms.js:2175 +#: templates/js/translated/part.js:2315 templates/js/translated/part.js:2741 +#: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "" @@ -11600,21 +11683,17 @@ msgstr "" msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2177 -msgid "Progress" -msgstr "" - -#: templates/js/translated/build.js:2213 templates/js/translated/stock.js:3045 +#: templates/js/translated/build.js:2213 templates/js/translated/stock.js:3042 msgid "No user information" msgstr "" #: templates/js/translated/build.js:2389 -#: templates/js/translated/sales_order.js:1646 +#: templates/js/translated/sales_order.js:1682 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:2390 -#: templates/js/translated/sales_order.js:1647 +#: templates/js/translated/sales_order.js:1683 msgid "Delete stock allocation" msgstr "" @@ -11648,7 +11727,7 @@ msgid "Unit Quantity" msgstr "" #: templates/js/translated/build.js:2591 -#: templates/js/translated/sales_order.js:1915 +#: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" @@ -11665,7 +11744,7 @@ msgid "Allocate tracked items against individual build outputs" msgstr "" #: templates/js/translated/build.js:2662 -#: templates/js/translated/sales_order.js:2016 +#: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "" @@ -11674,7 +11753,7 @@ msgid "Order stock" msgstr "" #: templates/js/translated/build.js:2671 -#: templates/js/translated/sales_order.js:2010 +#: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "" @@ -11924,12 +12003,12 @@ msgid "Delete price break" msgstr "" #: templates/js/translated/filters.js:186 -#: templates/js/translated/filters.js:672 +#: templates/js/translated/filters.js:667 msgid "true" msgstr "" #: templates/js/translated/filters.js:190 -#: templates/js/translated/filters.js:673 +#: templates/js/translated/filters.js:668 msgid "false" msgstr "" @@ -11961,7 +12040,7 @@ msgstr "" msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:582 +#: templates/js/translated/filters.js:577 msgid "Create filter" msgstr "" @@ -11994,32 +12073,32 @@ msgstr "" msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1473 templates/modals.html:19 +#: templates/js/translated/forms.js:1477 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1971 +#: templates/js/translated/forms.js:1975 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2275 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2279 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2489 +#: templates/js/translated/forms.js:2493 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3091 +#: templates/js/translated/forms.js:3095 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3091 +#: templates/js/translated/forms.js:3095 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3103 +#: templates/js/translated/forms.js:3107 msgid "Select Columns" msgstr "" @@ -12043,51 +12122,15 @@ msgstr "" msgid "No parts required for builds" msgstr "" -#: templates/js/translated/label.js:53 templates/js/translated/report.js:123 +#: templates/js/translated/label.js:55 templates/js/translated/report.js:38 msgid "Select Items" msgstr "" -#: templates/js/translated/label.js:54 +#: templates/js/translated/label.js:56 templates/js/translated/report.js:39 msgid "No items selected for printing" msgstr "" -#: templates/js/translated/label.js:72 -msgid "No Labels Found" -msgstr "" - -#: templates/js/translated/label.js:73 -msgid "No label templates found which match the selected items" -msgstr "" - -#: templates/js/translated/label.js:97 -msgid "selected" -msgstr "" - -#: templates/js/translated/label.js:133 -msgid "Printing Options" -msgstr "" - -#: templates/js/translated/label.js:148 -msgid "Print label" -msgstr "" - -#: templates/js/translated/label.js:148 -msgid "Print labels" -msgstr "" - #: templates/js/translated/label.js:149 -msgid "Print" -msgstr "" - -#: templates/js/translated/label.js:155 -msgid "Select label template" -msgstr "" - -#: templates/js/translated/label.js:168 -msgid "Select plugin" -msgstr "" - -#: templates/js/translated/label.js:187 msgid "Labels sent to printer" msgstr "" @@ -12205,7 +12248,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1991 +#: templates/js/translated/purchase_order.js:1990 msgid "No line items found" msgstr "" @@ -12443,19 +12486,19 @@ msgid "Delete Part Parameter Template" msgstr "" #: templates/js/translated/part.js:1716 -#: templates/js/translated/purchase_order.js:1655 +#: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1860 -#: templates/js/translated/purchase_order.js:2154 -#: templates/js/translated/return_order.js:756 -#: templates/js/translated/sales_order.js:1875 +#: templates/js/translated/purchase_order.js:2153 +#: templates/js/translated/return_order.js:755 +#: templates/js/translated/sales_order.js:1911 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1906 -#: templates/js/translated/purchase_order.js:2221 +#: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "" @@ -12467,7 +12510,7 @@ msgstr "" msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2506 +#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2505 msgid "No parts found" msgstr "" @@ -12483,101 +12526,101 @@ msgstr "" msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2286 msgid "part" msgstr "" -#: templates/js/translated/part.js:2288 +#: templates/js/translated/part.js:2287 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2384 +#: templates/js/translated/part.js:2383 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 -#: templates/js/translated/stock.js:2672 +#: templates/js/translated/part.js:2530 templates/js/translated/part.js:2660 +#: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2547 +#: templates/js/translated/part.js:2546 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2645 +#: templates/js/translated/part.js:2644 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2692 +#: templates/js/translated/part.js:2680 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2761 +#: templates/js/translated/part.js:2760 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2777 +#: templates/js/translated/part.js:2776 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2864 +#: templates/js/translated/part.js:2863 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2886 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2885 templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2935 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2941 +#: templates/js/translated/part.js:2940 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2957 +#: templates/js/translated/part.js:2956 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2971 +#: templates/js/translated/part.js:2970 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3050 templates/js/translated/part.js:3051 +#: templates/js/translated/part.js:3049 templates/js/translated/part.js:3050 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3053 +#: templates/js/translated/part.js:3052 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3059 +#: templates/js/translated/part.js:3058 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3109 +#: templates/js/translated/part.js:3108 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3115 +#: templates/js/translated/part.js:3114 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3211 +#: templates/js/translated/part.js:3210 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3227 +#: templates/js/translated/part.js:3226 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3272 +#: templates/js/translated/part.js:3271 msgid "Minimum Stock Level" msgstr "" @@ -12703,7 +12746,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:448 #: templates/js/translated/return_order.js:210 -#: templates/js/translated/sales_order.js:500 +#: templates/js/translated/sales_order.js:552 msgid "Mark this order as complete?" msgstr "" @@ -12716,7 +12759,6 @@ msgid "This order has line items which have not been marked as received." msgstr "" #: templates/js/translated/purchase_order.js:460 -#: templates/js/translated/sales_order.js:514 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" @@ -12774,12 +12816,12 @@ msgid "No matching purchase orders" msgstr "" #: templates/js/translated/purchase_order.js:1073 -#: templates/js/translated/return_order.js:491 +#: templates/js/translated/return_order.js:490 msgid "Select Line Items" msgstr "" #: templates/js/translated/purchase_order.js:1074 -#: templates/js/translated/return_order.js:492 +#: templates/js/translated/return_order.js:491 msgid "At least one line item must be selected" msgstr "" @@ -12828,7 +12870,7 @@ msgid "Quantity to Receive" msgstr "" #: templates/js/translated/purchase_order.js:1333 -#: templates/js/translated/return_order.js:561 +#: templates/js/translated/return_order.js:560 msgid "Confirm receipt of items" msgstr "" @@ -12848,81 +12890,66 @@ msgstr "" msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1682 -#: templates/js/translated/return_order.js:286 -#: templates/js/translated/sales_order.js:774 -#: templates/js/translated/sales_order.js:998 +#: templates/js/translated/purchase_order.js:1681 +#: templates/js/translated/return_order.js:285 +#: templates/js/translated/sales_order.js:810 +#: templates/js/translated/sales_order.js:1034 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1748 -#: templates/js/translated/return_order.js:354 -#: templates/js/translated/sales_order.js:851 -#: templates/js/translated/sales_order.js:1011 -msgid "Items" -msgstr "" - -#: templates/js/translated/purchase_order.js:1844 +#: templates/js/translated/purchase_order.js:1843 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1862 +#: templates/js/translated/purchase_order.js:1861 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1917 -#: templates/js/translated/sales_order.js:2070 +#: templates/js/translated/purchase_order.js:1916 +#: templates/js/translated/sales_order.js:2106 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1932 -#: templates/js/translated/return_order.js:476 -#: templates/js/translated/return_order.js:669 -#: templates/js/translated/sales_order.js:2083 +#: templates/js/translated/purchase_order.js:1931 +#: templates/js/translated/return_order.js:475 +#: templates/js/translated/return_order.js:668 +#: templates/js/translated/sales_order.js:2119 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1943 -#: templates/js/translated/return_order.js:682 -#: templates/js/translated/sales_order.js:2094 +#: templates/js/translated/purchase_order.js:1942 +#: templates/js/translated/return_order.js:681 +#: templates/js/translated/sales_order.js:2130 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2225 -#: templates/js/translated/sales_order.js:2024 +#: templates/js/translated/purchase_order.js:2224 +#: templates/js/translated/sales_order.js:2060 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2226 -#: templates/js/translated/return_order.js:801 -#: templates/js/translated/sales_order.js:2025 +#: templates/js/translated/purchase_order.js:2225 +#: templates/js/translated/return_order.js:800 +#: templates/js/translated/sales_order.js:2061 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2227 -#: templates/js/translated/return_order.js:805 -#: templates/js/translated/sales_order.js:2031 +#: templates/js/translated/purchase_order.js:2226 +#: templates/js/translated/return_order.js:804 +#: templates/js/translated/sales_order.js:2067 msgid "Delete line item" msgstr "" -#: templates/js/translated/report.js:63 -msgid "items selected" +#: templates/js/translated/report.js:49 +msgid "Print Report" msgstr "" -#: templates/js/translated/report.js:71 -msgid "Select Report Template" +#: templates/js/translated/report.js:68 +msgid "Report print successful" msgstr "" -#: templates/js/translated/report.js:86 -msgid "Select Test Report Template" -msgstr "" - -#: templates/js/translated/report.js:140 -msgid "No Reports Found" -msgstr "" - -#: templates/js/translated/report.js:141 -msgid "No report templates found which match the selected items" +#: templates/js/translated/report.js:73 +msgid "Report printing failed" msgstr "" #: templates/js/translated/return_order.js:60 @@ -12954,25 +12981,25 @@ msgstr "" msgid "Complete Return Order" msgstr "" -#: templates/js/translated/return_order.js:266 +#: templates/js/translated/return_order.js:265 msgid "No return orders found" msgstr "" -#: templates/js/translated/return_order.js:300 -#: templates/js/translated/sales_order.js:788 +#: templates/js/translated/return_order.js:299 +#: templates/js/translated/sales_order.js:824 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/return_order.js:562 +#: templates/js/translated/return_order.js:561 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:693 -#: templates/js/translated/sales_order.js:2231 +#: templates/js/translated/return_order.js:692 +#: templates/js/translated/sales_order.js:2267 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:798 +#: templates/js/translated/return_order.js:797 msgid "Mark item as received" msgstr "" @@ -13016,140 +13043,156 @@ msgstr "" msgid "Skip" msgstr "" +#: templates/js/translated/sales_order.js:484 +msgid "Ship Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:500 +msgid "Ship this order?" +msgstr "" + +#: templates/js/translated/sales_order.js:506 +msgid "Order cannot be shipped as there are incomplete shipments" +msgstr "" + #: templates/js/translated/sales_order.js:513 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/sales_order.js:535 +#: templates/js/translated/sales_order.js:514 +msgid "Shipping this order means that the order and line items will no longer be editable." +msgstr "" + +#: templates/js/translated/sales_order.js:572 msgid "Issue this Sales Order?" msgstr "" -#: templates/js/translated/sales_order.js:540 +#: templates/js/translated/sales_order.js:577 msgid "Issue Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:559 +#: templates/js/translated/sales_order.js:596 msgid "Cancel Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:564 +#: templates/js/translated/sales_order.js:601 msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: templates/js/translated/sales_order.js:618 +#: templates/js/translated/sales_order.js:655 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/sales_order.js:728 +#: templates/js/translated/sales_order.js:764 msgid "No sales orders found" msgstr "" -#: templates/js/translated/sales_order.js:908 +#: templates/js/translated/sales_order.js:944 msgid "Edit shipment" msgstr "" -#: templates/js/translated/sales_order.js:911 +#: templates/js/translated/sales_order.js:947 msgid "Complete shipment" msgstr "" -#: templates/js/translated/sales_order.js:916 +#: templates/js/translated/sales_order.js:952 msgid "Delete shipment" msgstr "" -#: templates/js/translated/sales_order.js:933 +#: templates/js/translated/sales_order.js:969 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/sales_order.js:948 +#: templates/js/translated/sales_order.js:984 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:981 +#: templates/js/translated/sales_order.js:1017 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/sales_order.js:1006 +#: templates/js/translated/sales_order.js:1042 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/sales_order.js:1030 -#: templates/js/translated/sales_order.js:1529 +#: templates/js/translated/sales_order.js:1066 +#: templates/js/translated/sales_order.js:1565 msgid "Not shipped" msgstr "" -#: templates/js/translated/sales_order.js:1048 +#: templates/js/translated/sales_order.js:1084 msgid "Tracking" msgstr "" -#: templates/js/translated/sales_order.js:1052 +#: templates/js/translated/sales_order.js:1088 msgid "Invoice" msgstr "" -#: templates/js/translated/sales_order.js:1219 +#: templates/js/translated/sales_order.js:1255 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1270 +#: templates/js/translated/sales_order.js:1306 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/sales_order.js:1271 +#: templates/js/translated/sales_order.js:1307 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1477 +#: templates/js/translated/sales_order.js:1513 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1569 +#: templates/js/translated/sales_order.js:1605 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1583 +#: templates/js/translated/sales_order.js:1619 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/sales_order.js:1584 +#: templates/js/translated/sales_order.js:1620 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1623 -#: templates/js/translated/sales_order.js:1710 +#: templates/js/translated/sales_order.js:1659 +#: templates/js/translated/sales_order.js:1746 #: templates/js/translated/stock.js:1776 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/sales_order.js:1631 -#: templates/js/translated/sales_order.js:1719 +#: templates/js/translated/sales_order.js:1667 +#: templates/js/translated/sales_order.js:1755 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:2008 +#: templates/js/translated/sales_order.js:2044 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/sales_order.js:2012 +#: templates/js/translated/sales_order.js:2048 msgid "Purchase stock" msgstr "" -#: templates/js/translated/sales_order.js:2021 -#: templates/js/translated/sales_order.js:2209 +#: templates/js/translated/sales_order.js:2057 +#: templates/js/translated/sales_order.js:2245 msgid "Calculate price" msgstr "" -#: templates/js/translated/sales_order.js:2035 +#: templates/js/translated/sales_order.js:2071 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:2038 +#: templates/js/translated/sales_order.js:2074 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:2109 +#: templates/js/translated/sales_order.js:2145 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/sales_order.js:2217 +#: templates/js/translated/sales_order.js:2253 msgid "Update Unit Price" msgstr "" @@ -13357,7 +13400,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1042 users/models.py:414 +#: templates/js/translated/stock.js:1042 users/models.py:401 msgid "Add" msgstr "" @@ -13373,7 +13416,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1180 templates/js/translated/stock.js:3302 +#: templates/js/translated/stock.js:1180 templates/js/translated/stock.js:3299 msgid "Select Stock Items" msgstr "" @@ -13457,196 +13500,196 @@ msgstr "" msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:1955 +#: templates/js/translated/stock.js:1953 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1960 +#: templates/js/translated/stock.js:1958 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:1971 +#: templates/js/translated/stock.js:1969 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:2015 +#: templates/js/translated/stock.js:2013 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2093 +#: templates/js/translated/stock.js:2091 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2098 +#: templates/js/translated/stock.js:2096 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2101 +#: templates/js/translated/stock.js:2099 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2104 +#: templates/js/translated/stock.js:2102 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2106 +#: templates/js/translated/stock.js:2104 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2108 +#: templates/js/translated/stock.js:2106 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2111 +#: templates/js/translated/stock.js:2109 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2113 +#: templates/js/translated/stock.js:2111 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2117 +#: templates/js/translated/stock.js:2115 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2119 +#: templates/js/translated/stock.js:2117 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2124 +#: templates/js/translated/stock.js:2122 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2126 +#: templates/js/translated/stock.js:2124 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2128 +#: templates/js/translated/stock.js:2126 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2132 +#: templates/js/translated/stock.js:2130 #: templates/js/translated/table_filters.js:350 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2297 +#: templates/js/translated/stock.js:2295 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2344 +#: templates/js/translated/stock.js:2342 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2472 +#: templates/js/translated/stock.js:2470 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2576 +#: templates/js/translated/stock.js:2573 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2731 +#: templates/js/translated/stock.js:2728 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2849 +#: templates/js/translated/stock.js:2846 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2853 +#: templates/js/translated/stock.js:2850 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2865 +#: templates/js/translated/stock.js:2862 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2887 +#: templates/js/translated/stock.js:2884 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2904 +#: templates/js/translated/stock.js:2901 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2919 +#: templates/js/translated/stock.js:2916 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2936 +#: templates/js/translated/stock.js:2933 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:2950 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2972 +#: templates/js/translated/stock.js:2969 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2990 +#: templates/js/translated/stock.js:2987 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:3008 +#: templates/js/translated/stock.js:3005 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:3016 +#: templates/js/translated/stock.js:3013 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3088 +#: templates/js/translated/stock.js:3085 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3142 templates/js/translated/stock.js:3178 +#: templates/js/translated/stock.js:3139 templates/js/translated/stock.js:3175 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3200 +#: templates/js/translated/stock.js:3197 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3221 +#: templates/js/translated/stock.js:3218 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3222 +#: templates/js/translated/stock.js:3219 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3224 +#: templates/js/translated/stock.js:3221 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3225 +#: templates/js/translated/stock.js:3222 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3226 +#: templates/js/translated/stock.js:3223 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3227 +#: templates/js/translated/stock.js:3224 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3240 +#: templates/js/translated/stock.js:3237 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3303 +#: templates/js/translated/stock.js:3300 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3316 +#: templates/js/translated/stock.js:3313 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3320 +#: templates/js/translated/stock.js:3317 msgid "Change Stock Status" msgstr "" @@ -14248,34 +14291,34 @@ msgstr "" msgid "Revoked" msgstr "" -#: users/models.py:397 +#: users/models.py:384 msgid "Permission set" msgstr "" -#: users/models.py:406 +#: users/models.py:393 msgid "Group" msgstr "" -#: users/models.py:410 +#: users/models.py:397 msgid "View" msgstr "" -#: users/models.py:410 +#: users/models.py:397 msgid "Permission to view items" msgstr "" -#: users/models.py:414 +#: users/models.py:401 msgid "Permission to add items" msgstr "" -#: users/models.py:418 +#: users/models.py:405 msgid "Change" msgstr "" -#: users/models.py:420 +#: users/models.py:407 msgid "Permissions to edit items" msgstr "" -#: users/models.py:426 +#: users/models.py:413 msgid "Permission to delete items" msgstr "" diff --git a/src/backend/InvenTree/locale/fa/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/fa/LC_MESSAGES/django.po index 57f7eb89d5..3f0f264d58 100644 --- a/src/backend/InvenTree/locale/fa/LC_MESSAGES/django.po +++ b/src/backend/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: 2024-05-10 05:37+0000\n" -"PO-Revision-Date: 2024-05-10 08:31\n" +"POT-Creation-Date: 2024-05-23 11:25+0000\n" +"PO-Revision-Date: 2024-05-23 11:39\n" "Last-Translator: \n" "Language-Team: Persian\n" "Language: fa_IR\n" @@ -17,11 +17,11 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 216\n" -#: InvenTree/api.py:271 +#: InvenTree/api.py:272 msgid "API endpoint not found" msgstr "Address e API peida nashod" -#: InvenTree/api.py:535 +#: InvenTree/api.py:536 msgid "User does not have permission to view this model" msgstr "کاربر سطح دسترسی نمایش این مدل را ندارد" @@ -56,26 +56,26 @@ msgstr "جزئیات خطا را می توان در پنل مدیریت پیدا msgid "Enter date" msgstr "تاریخ را وارد کنید" -#: InvenTree/fields.py:208 InvenTree/models.py:1021 build/serializers.py:444 -#: build/serializers.py:522 build/templates/build/sidebar.html:21 +#: InvenTree/fields.py:208 InvenTree/models.py:1035 build/serializers.py:443 +#: build/serializers.py:521 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 -#: order/models.py:1283 order/templates/order/po_sidebar.html:11 +#: order/models.py:1323 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:59 -#: part/models.py:3175 part/templates/part/part_sidebar.html:63 -#: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:226 stock/models.py:2344 stock/models.py:2461 -#: stock/serializers.py:501 stock/serializers.py:659 stock/serializers.py:755 -#: stock/serializers.py:805 stock/serializers.py:1114 stock/serializers.py:1203 -#: stock/serializers.py:1368 stock/templates/stock/stock_sidebar.html:25 +#: part/models.py:3218 part/templates/part/part_sidebar.html:63 +#: report/templates/report/inventree_build_order_report.html:172 +#: stock/admin.py:226 stock/models.py:2321 stock/models.py:2438 +#: stock/serializers.py:630 stock/serializers.py:788 stock/serializers.py:884 +#: stock/serializers.py:934 stock/serializers.py:1243 stock/serializers.py:1332 +#: stock/serializers.py:1497 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1080 -#: templates/js/translated/purchase_order.js:2201 -#: templates/js/translated/return_order.js:776 -#: templates/js/translated/sales_order.js:1067 -#: templates/js/translated/sales_order.js:1982 -#: templates/js/translated/stock.js:1536 templates/js/translated/stock.js:2430 +#: templates/js/translated/purchase_order.js:2200 +#: templates/js/translated/return_order.js:775 +#: templates/js/translated/sales_order.js:1103 +#: templates/js/translated/sales_order.js:2018 +#: templates/js/translated/stock.js:1536 templates/js/translated/stock.js:2428 msgid "Notes" msgstr "یادداشت" @@ -132,7 +132,7 @@ msgstr "دامنه ایمیل ارائه شده تایید نشده است." msgid "Registration is disabled." msgstr "" -#: InvenTree/helpers.py:525 order/models.py:541 order/models.py:743 +#: InvenTree/helpers.py:525 order/models.py:563 order/models.py:765 msgid "Invalid quantity provided" msgstr "" @@ -355,142 +355,142 @@ msgstr "" msgid "Error running plugin validation" msgstr "" -#: InvenTree/models.py:162 +#: InvenTree/models.py:176 msgid "Metadata must be a python dict object" msgstr "" -#: InvenTree/models.py:168 +#: InvenTree/models.py:182 msgid "Plugin Metadata" msgstr "" -#: InvenTree/models.py:169 +#: InvenTree/models.py:183 msgid "JSON metadata field, for use by external plugins" msgstr "" -#: InvenTree/models.py:399 +#: InvenTree/models.py:413 msgid "Improperly formatted pattern" msgstr "" -#: InvenTree/models.py:406 +#: InvenTree/models.py:420 msgid "Unknown format key specified" msgstr "" -#: InvenTree/models.py:412 +#: InvenTree/models.py:426 msgid "Missing required format key" msgstr "" -#: InvenTree/models.py:423 +#: InvenTree/models.py:437 msgid "Reference field cannot be empty" msgstr "" -#: InvenTree/models.py:431 +#: InvenTree/models.py:445 msgid "Reference must match required pattern" msgstr "" -#: InvenTree/models.py:462 +#: InvenTree/models.py:476 msgid "Reference number is too large" msgstr "" -#: InvenTree/models.py:536 +#: InvenTree/models.py:550 msgid "Missing file" msgstr "" -#: InvenTree/models.py:537 +#: InvenTree/models.py:551 msgid "Missing external link" msgstr "" -#: InvenTree/models.py:558 stock/models.py:2456 +#: InvenTree/models.py:572 stock/models.py:2433 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" msgstr "" -#: InvenTree/models.py:559 +#: InvenTree/models.py:573 msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:567 common/models.py:3026 company/models.py:146 +#: InvenTree/models.py:581 common/models.py:3032 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 -#: order/models.py:291 order/models.py:1288 order/models.py:1704 -#: part/admin.py:55 part/models.py:919 +#: order/models.py:304 order/models.py:1328 order/models.py:1744 +#: part/admin.py:55 part/models.py:962 #: part/templates/part/part_scheduling.html:11 -#: report/templates/report/inventree_build_order_base.html:164 +#: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2456 -#: templates/js/translated/purchase_order.js:2041 -#: templates/js/translated/purchase_order.js:2205 -#: templates/js/translated/return_order.js:780 -#: templates/js/translated/sales_order.js:1056 -#: templates/js/translated/sales_order.js:1987 +#: templates/js/translated/part.js:2455 +#: templates/js/translated/purchase_order.js:2040 +#: templates/js/translated/purchase_order.js:2204 +#: templates/js/translated/return_order.js:779 +#: templates/js/translated/sales_order.js:1092 +#: templates/js/translated/sales_order.js:2023 msgid "Link" msgstr "" -#: InvenTree/models.py:568 build/models.py:321 part/models.py:920 -#: stock/models.py:819 +#: InvenTree/models.py:582 build/models.py:344 part/models.py:963 +#: stock/models.py:840 msgid "Link to external URL" msgstr "" -#: InvenTree/models.py:574 templates/js/translated/attachment.js:120 +#: InvenTree/models.py:588 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:341 msgid "Comment" msgstr "" -#: InvenTree/models.py:575 +#: InvenTree/models.py:589 msgid "File comment" msgstr "" -#: InvenTree/models.py:583 InvenTree/models.py:584 common/models.py:2502 -#: common/models.py:2503 common/models.py:2727 common/models.py:2728 -#: common/models.py:2973 common/models.py:2974 part/models.py:3185 -#: part/models.py:3272 part/models.py:3365 part/models.py:3393 -#: plugin/models.py:250 plugin/models.py:251 -#: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3039 users/models.py:111 +#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2508 +#: common/models.py:2509 common/models.py:2733 common/models.py:2734 +#: common/models.py:2979 common/models.py:2980 part/models.py:3228 +#: part/models.py:3315 part/models.py:3408 part/models.py:3436 +#: plugin/models.py:259 plugin/models.py:260 +#: report/templates/report/inventree_test_report.html:105 +#: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" msgstr "" -#: InvenTree/models.py:588 +#: InvenTree/models.py:602 msgid "upload date" msgstr "" -#: InvenTree/models.py:610 +#: InvenTree/models.py:624 msgid "Filename must not be empty" msgstr "" -#: InvenTree/models.py:621 +#: InvenTree/models.py:635 msgid "Invalid attachment directory" msgstr "" -#: InvenTree/models.py:651 +#: InvenTree/models.py:665 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "" -#: InvenTree/models.py:654 +#: InvenTree/models.py:668 msgid "Filename missing extension" msgstr "" -#: InvenTree/models.py:663 +#: InvenTree/models.py:677 msgid "Attachment with this filename already exists" msgstr "" -#: InvenTree/models.py:670 +#: InvenTree/models.py:684 msgid "Error renaming file" msgstr "" -#: InvenTree/models.py:846 +#: InvenTree/models.py:860 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:863 +#: InvenTree/models.py:877 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:893 common/models.py:2714 common/models.py:3112 -#: common/serializers.py:403 company/models.py:614 label/models.py:120 -#: machine/models.py:24 part/models.py:855 part/models.py:3616 -#: plugin/models.py:41 report/models.py:176 stock/models.py:76 +#: InvenTree/models.py:907 common/models.py:2720 common/models.py:3118 +#: common/serializers.py:403 company/models.py:614 machine/models.py:24 +#: part/models.py:898 part/models.py:3659 plugin/models.py:50 +#: report/models.py:149 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -503,22 +503,22 @@ msgstr "" #: templates/js/translated/company.js:1165 #: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186 #: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2719 +#: templates/js/translated/part.js:2748 templates/js/translated/stock.js:2716 msgid "Name" msgstr "" -#: InvenTree/models.py:899 build/models.py:194 +#: InvenTree/models.py:913 build/models.py:217 #: build/templates/build/detail.html:24 common/models.py:136 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 label/models.py:127 -#: order/models.py:277 order/models.py:1316 part/admin.py:303 part/admin.py:414 -#: part/models.py:878 part/models.py:3631 part/templates/part/category.html:82 +#: company/templates/company/supplier_part.html:107 order/models.py:290 +#: order/models.py:1356 part/admin.py:305 part/admin.py:416 part/models.py:921 +#: part/models.py:3674 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 -#: part/templates/part/part_scheduling.html:12 report/models.py:189 -#: report/models.py:655 report/models.py:729 -#: report/templates/report/inventree_build_order_base.html:117 +#: part/templates/part/part_scheduling.html:12 report/models.py:155 +#: report/models.py:510 report/models.py:536 +#: report/templates/report/inventree_build_order_report.html:117 #: stock/admin.py:55 stock/models.py:82 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 @@ -530,71 +530,71 @@ msgstr "" #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 -#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2896 +#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2354 +#: templates/js/translated/part.js:2784 templates/js/translated/part.js:2895 #: templates/js/translated/plugin.js:80 -#: templates/js/translated/purchase_order.js:1707 -#: templates/js/translated/purchase_order.js:1850 -#: templates/js/translated/purchase_order.js:2023 -#: templates/js/translated/return_order.js:314 -#: templates/js/translated/sales_order.js:802 -#: templates/js/translated/sales_order.js:1812 -#: templates/js/translated/stock.js:1515 templates/js/translated/stock.js:2060 -#: templates/js/translated/stock.js:2751 templates/js/translated/stock.js:2834 +#: templates/js/translated/purchase_order.js:1706 +#: templates/js/translated/purchase_order.js:1849 +#: templates/js/translated/purchase_order.js:2022 +#: templates/js/translated/return_order.js:313 +#: templates/js/translated/sales_order.js:838 +#: templates/js/translated/sales_order.js:1848 +#: templates/js/translated/stock.js:1515 templates/js/translated/stock.js:2058 +#: templates/js/translated/stock.js:2748 templates/js/translated/stock.js:2831 msgid "Description" msgstr "" -#: InvenTree/models.py:900 stock/models.py:83 +#: InvenTree/models.py:914 stock/models.py:83 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:909 +#: InvenTree/models.py:923 msgid "parent" msgstr "" -#: InvenTree/models.py:915 templates/js/translated/part.js:2794 -#: templates/js/translated/stock.js:2760 +#: InvenTree/models.py:929 templates/js/translated/part.js:2793 +#: templates/js/translated/stock.js:2757 msgid "Path" msgstr "" -#: InvenTree/models.py:1021 +#: InvenTree/models.py:1035 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:1050 +#: InvenTree/models.py:1064 msgid "Barcode Data" msgstr "" -#: InvenTree/models.py:1051 +#: InvenTree/models.py:1065 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:1057 +#: InvenTree/models.py:1071 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:1058 +#: InvenTree/models.py:1072 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:1111 +#: InvenTree/models.py:1125 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:1154 +#: InvenTree/models.py:1168 msgid "Server Error" msgstr "" -#: InvenTree/models.py:1155 +#: InvenTree/models.py:1169 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:62 part/models.py:4169 +#: InvenTree/serializers.py:62 part/models.py:4212 msgid "Must be a valid number" msgstr "" #: InvenTree/serializers.py:99 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:2993 +#: company/templates/company/company_base.html:112 part/models.py:3036 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -686,7 +686,7 @@ msgstr "آدرس فایل تصویری از راه دور" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1161 +#: InvenTree/status.py:66 part/serializers.py:1176 msgid "Background worker check failed" msgstr "" @@ -699,8 +699,8 @@ msgid "InvenTree system health checks failed" msgstr "" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:37 -#: InvenTree/status_codes.py:148 InvenTree/status_codes.py:164 -#: InvenTree/status_codes.py:182 generic/states/tests.py:17 +#: InvenTree/status_codes.py:149 InvenTree/status_codes.py:165 +#: InvenTree/status_codes.py:183 generic/states/tests.py:17 #: templates/js/translated/table_filters.js:598 msgid "Pending" msgstr "" @@ -709,188 +709,188 @@ msgstr "" msgid "Placed" msgstr "" -#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:151 -#: InvenTree/status_codes.py:169 generic/states/tests.py:19 -#: order/templates/order/order_base.html:158 -#: order/templates/order/sales_order_base.html:161 +#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:44 +#: InvenTree/status_codes.py:152 InvenTree/status_codes.py:170 +#: generic/states/tests.py:19 order/templates/order/order_base.html:158 +#: order/templates/order/sales_order_base.html:165 report/models.py:444 msgid "Complete" msgstr "" -#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:44 -#: InvenTree/status_codes.py:150 InvenTree/status_codes.py:170 +#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:45 +#: InvenTree/status_codes.py:151 InvenTree/status_codes.py:171 msgid "Cancelled" msgstr "" -#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:45 -#: InvenTree/status_codes.py:67 +#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:46 +#: InvenTree/status_codes.py:68 msgid "Lost" msgstr "" -#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:46 -#: InvenTree/status_codes.py:73 +#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:47 +#: InvenTree/status_codes.py:74 msgid "Returned" msgstr "" -#: InvenTree/status_codes.py:40 InvenTree/status_codes.py:167 +#: InvenTree/status_codes.py:40 InvenTree/status_codes.py:168 msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:43 order/models.py:1566 -#: templates/js/translated/sales_order.js:1523 -#: templates/js/translated/sales_order.js:1644 -#: templates/js/translated/sales_order.js:1957 +#: InvenTree/status_codes.py:43 order/models.py:1606 +#: templates/js/translated/sales_order.js:1559 +#: templates/js/translated/sales_order.js:1680 +#: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "" -#: InvenTree/status_codes.py:62 +#: InvenTree/status_codes.py:63 msgid "OK" msgstr "" -#: InvenTree/status_codes.py:63 +#: InvenTree/status_codes.py:64 msgid "Attention needed" msgstr "" -#: InvenTree/status_codes.py:64 +#: InvenTree/status_codes.py:65 msgid "Damaged" msgstr "" -#: InvenTree/status_codes.py:65 +#: InvenTree/status_codes.py:66 msgid "Destroyed" msgstr "" -#: InvenTree/status_codes.py:66 +#: InvenTree/status_codes.py:67 msgid "Rejected" msgstr "" -#: InvenTree/status_codes.py:70 +#: InvenTree/status_codes.py:71 msgid "Quarantined" msgstr "" -#: InvenTree/status_codes.py:91 +#: InvenTree/status_codes.py:92 msgid "Legacy stock tracking entry" msgstr "" -#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:544 +#: InvenTree/status_codes.py:94 templates/js/translated/stock.js:544 msgid "Stock item created" msgstr "" -#: InvenTree/status_codes.py:96 +#: InvenTree/status_codes.py:97 msgid "Edited stock item" msgstr "" -#: InvenTree/status_codes.py:97 +#: InvenTree/status_codes.py:98 msgid "Assigned serial number" msgstr "" -#: InvenTree/status_codes.py:100 +#: InvenTree/status_codes.py:101 msgid "Stock counted" msgstr "" -#: InvenTree/status_codes.py:101 +#: InvenTree/status_codes.py:102 msgid "Stock manually added" msgstr "" -#: InvenTree/status_codes.py:102 +#: InvenTree/status_codes.py:103 msgid "Stock manually removed" msgstr "" -#: InvenTree/status_codes.py:105 +#: InvenTree/status_codes.py:106 msgid "Location changed" msgstr "" -#: InvenTree/status_codes.py:106 +#: InvenTree/status_codes.py:107 msgid "Stock updated" msgstr "" -#: InvenTree/status_codes.py:109 +#: InvenTree/status_codes.py:110 msgid "Installed into assembly" msgstr "" -#: InvenTree/status_codes.py:110 +#: InvenTree/status_codes.py:111 msgid "Removed from assembly" msgstr "" -#: InvenTree/status_codes.py:112 +#: InvenTree/status_codes.py:113 msgid "Installed component item" msgstr "" -#: InvenTree/status_codes.py:113 +#: InvenTree/status_codes.py:114 msgid "Removed component item" msgstr "" -#: InvenTree/status_codes.py:116 +#: InvenTree/status_codes.py:117 msgid "Split from parent item" msgstr "" -#: InvenTree/status_codes.py:117 +#: InvenTree/status_codes.py:118 msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1858 +#: InvenTree/status_codes.py:121 templates/js/translated/stock.js:1858 msgid "Merged stock items" msgstr "" -#: InvenTree/status_codes.py:123 +#: InvenTree/status_codes.py:124 msgid "Converted to variant" msgstr "" -#: InvenTree/status_codes.py:126 +#: InvenTree/status_codes.py:127 msgid "Build order output created" msgstr "" -#: InvenTree/status_codes.py:127 +#: InvenTree/status_codes.py:128 msgid "Build order output completed" msgstr "" -#: InvenTree/status_codes.py:128 +#: InvenTree/status_codes.py:129 msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1764 +#: InvenTree/status_codes.py:130 templates/js/translated/stock.js:1764 msgid "Consumed by build order" msgstr "" -#: InvenTree/status_codes.py:132 +#: InvenTree/status_codes.py:133 msgid "Shipped against Sales Order" msgstr "" -#: InvenTree/status_codes.py:135 +#: InvenTree/status_codes.py:136 msgid "Received against Purchase Order" msgstr "" -#: InvenTree/status_codes.py:138 +#: InvenTree/status_codes.py:139 msgid "Returned against Return Order" msgstr "" -#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:375 +#: InvenTree/status_codes.py:142 templates/js/translated/table_filters.js:375 msgid "Sent to customer" msgstr "" -#: InvenTree/status_codes.py:142 +#: InvenTree/status_codes.py:143 msgid "Returned from customer" msgstr "" -#: InvenTree/status_codes.py:149 +#: InvenTree/status_codes.py:150 msgid "Production" msgstr "" -#: InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:186 msgid "Return" msgstr "" -#: InvenTree/status_codes.py:188 +#: InvenTree/status_codes.py:189 msgid "Repair" msgstr "" -#: InvenTree/status_codes.py:191 +#: InvenTree/status_codes.py:192 msgid "Replace" msgstr "" -#: InvenTree/status_codes.py:194 +#: InvenTree/status_codes.py:195 msgid "Refund" msgstr "" -#: InvenTree/status_codes.py:197 +#: InvenTree/status_codes.py:198 msgid "Reject" msgstr "" @@ -946,14 +946,14 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:299 part/models.py:4047 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4090 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4041 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4084 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -969,7 +969,7 @@ msgstr "" #: build/api.py:303 part/admin.py:144 templates/js/translated/build.js:1744 #: templates/js/translated/build.js:2629 -#: templates/js/translated/sales_order.js:1929 +#: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "" @@ -980,7 +980,7 @@ msgstr "" #: templates/email/low_stock_notification.html:17 #: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 #: templates/js/translated/index.js:123 -#: templates/js/translated/model_renderers.js:228 +#: templates/js/translated/model_renderers.js:234 #: templates/js/translated/part.js:692 templates/js/translated/part.js:694 #: templates/js/translated/part.js:699 #: templates/js/translated/table_filters.js:340 @@ -988,16 +988,16 @@ msgstr "" msgid "Available" msgstr "" -#: build/models.py:74 build/templates/build/build_base.html:9 +#: build/models.py:82 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 -#: report/templates/report/inventree_build_order_base.html:105 -#: templates/email/build_order_completed.html:16 +#: report/templates/report/inventree_build_order_report.html:105 +#: stock/serializers.py:83 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2895 +#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2892 msgid "Build Order" msgstr "" -#: build/models.py:75 build/templates/build/build_base.html:13 +#: build/models.py:83 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -1008,71 +1008,71 @@ msgstr "" msgid "Build Orders" msgstr "" -#: build/models.py:122 +#: build/models.py:130 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:133 order/models.py:239 +#: build/models.py:141 order/models.py:241 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:139 +#: build/models.py:147 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:185 +#: build/models.py:208 msgid "Build Order Reference" msgstr "" -#: build/models.py:186 order/models.py:442 order/models.py:898 -#: order/models.py:1276 order/models.py:1998 part/admin.py:417 -#: part/models.py:4062 part/templates/part/upload_bom.html:54 +#: build/models.py:209 order/models.py:464 order/models.py:929 +#: order/models.py:1316 order/models.py:2047 part/admin.py:419 +#: part/models.py:4105 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 -#: report/templates/report/inventree_so_report_base.html:28 +#: report/templates/report/inventree_purchase_order_report.html:28 +#: report/templates/report/inventree_return_order_report.html:26 +#: report/templates/report/inventree_sales_order_report.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 #: templates/js/translated/build.js:2512 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 -#: templates/js/translated/purchase_order.js:2066 -#: templates/js/translated/return_order.js:729 -#: templates/js/translated/sales_order.js:1818 +#: templates/js/translated/purchase_order.js:2065 +#: templates/js/translated/return_order.js:728 +#: templates/js/translated/sales_order.js:1854 msgid "Reference" msgstr "" -#: build/models.py:197 +#: build/models.py:220 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:205 build/templates/build/build_base.html:183 +#: build/models.py:228 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:206 +#: build/models.py:229 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:211 build/templates/build/build_base.html:97 +#: build/models.py:234 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 -#: order/models.py:1401 order/models.py:1546 order/models.py:1547 -#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004 -#: part/models.py:3148 part/models.py:3292 part/models.py:3315 -#: part/models.py:3336 part/models.py:3358 part/models.py:3468 -#: part/models.py:3764 part/models.py:3920 part/models.py:4013 -#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713 +#: order/models.py:1441 order/models.py:1586 order/models.py:1587 +#: part/api.py:1501 part/api.py:1795 part/models.py:392 part/models.py:3047 +#: part/models.py:3191 part/models.py:3335 part/models.py:3358 +#: part/models.py:3379 part/models.py:3401 part/models.py:3511 +#: part/models.py:3807 part/models.py:3963 part/models.py:4056 +#: part/models.py:4417 part/serializers.py:1122 part/serializers.py:1728 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 -#: report/templates/report/inventree_build_order_base.html:109 -#: report/templates/report/inventree_po_report_base.html:27 -#: report/templates/report/inventree_return_order_report_base.html:24 -#: report/templates/report/inventree_slr_report.html:102 -#: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:267 stock/serializers.py:689 -#: templates/InvenTree/search.html:82 +#: report/templates/report/inventree_build_order_report.html:109 +#: report/templates/report/inventree_purchase_order_report.html:27 +#: report/templates/report/inventree_return_order_report.html:24 +#: report/templates/report/inventree_sales_order_report.html:27 +#: report/templates/report/inventree_stock_location_report.html:102 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:396 +#: stock/serializers.py:818 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -1086,235 +1086,239 @@ msgstr "" #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 #: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 -#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:2323 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:751 #: templates/js/translated/purchase_order.js:1304 -#: templates/js/translated/purchase_order.js:1849 -#: templates/js/translated/purchase_order.js:2008 -#: templates/js/translated/return_order.js:539 -#: templates/js/translated/return_order.js:710 +#: templates/js/translated/purchase_order.js:1848 +#: templates/js/translated/purchase_order.js:2007 +#: templates/js/translated/return_order.js:538 +#: templates/js/translated/return_order.js:709 #: templates/js/translated/sales_order.js:300 -#: templates/js/translated/sales_order.js:1197 -#: templates/js/translated/sales_order.js:1598 -#: templates/js/translated/sales_order.js:1796 +#: templates/js/translated/sales_order.js:1233 +#: templates/js/translated/sales_order.js:1634 +#: templates/js/translated/sales_order.js:1832 #: templates/js/translated/stock.js:676 templates/js/translated/stock.js:842 -#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1999 -#: templates/js/translated/stock.js:2860 templates/js/translated/stock.js:3093 -#: templates/js/translated/stock.js:3239 +#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1997 +#: templates/js/translated/stock.js:2857 templates/js/translated/stock.js:3090 +#: templates/js/translated/stock.js:3236 msgid "Part" msgstr "" -#: build/models.py:219 +#: build/models.py:242 msgid "Select part to build" msgstr "" -#: build/models.py:224 +#: build/models.py:247 msgid "Sales Order Reference" msgstr "مرجع سفارش فروش" -#: build/models.py:228 +#: build/models.py:251 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:233 build/serializers.py:970 +#: build/models.py:256 build/serializers.py:969 #: templates/js/translated/build.js:1731 -#: templates/js/translated/sales_order.js:1185 +#: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "منبع محل" -#: build/models.py:237 +#: build/models.py:260 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:242 +#: build/models.py:265 msgid "Destination Location" msgstr "مقصد" -#: build/models.py:246 +#: build/models.py:269 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:250 +#: build/models.py:273 msgid "Build Quantity" msgstr "" -#: build/models.py:253 +#: build/models.py:276 msgid "Number of stock items to build" msgstr "" -#: build/models.py:257 +#: build/models.py:280 msgid "Completed items" msgstr "" -#: build/models.py:259 +#: build/models.py:282 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:263 +#: build/models.py:286 msgid "Build Status" msgstr "" -#: build/models.py:267 +#: build/models.py:290 msgid "Build status code" msgstr "" -#: build/models.py:276 build/serializers.py:278 order/serializers.py:581 -#: stock/models.py:823 stock/serializers.py:1333 +#: build/models.py:299 build/serializers.py:277 order/serializers.py:581 +#: stock/models.py:844 stock/serializers.py:75 stock/serializers.py:1462 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" -#: build/models.py:280 build/serializers.py:279 +#: build/models.py:303 build/serializers.py:278 msgid "Batch code for this build output" msgstr "" -#: build/models.py:283 order/models.py:304 order/serializers.py:120 -#: part/models.py:1079 part/templates/part/part_base.html:310 -#: templates/js/translated/return_order.js:339 -#: templates/js/translated/sales_order.js:827 +#: build/models.py:306 order/models.py:317 order/serializers.py:120 +#: part/models.py:1122 part/templates/part/part_base.html:310 +#: templates/js/translated/return_order.js:338 +#: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "" -#: build/models.py:287 +#: build/models.py:310 msgid "Target completion date" msgstr "" -#: build/models.py:288 +#: build/models.py:311 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:291 order/models.py:500 order/models.py:2043 +#: build/models.py:314 order/models.py:522 order/models.py:2092 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "" -#: build/models.py:297 +#: build/models.py:320 msgid "completed by" msgstr "" -#: build/models.py:305 templates/js/translated/build.js:2207 +#: build/models.py:328 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "" -#: build/models.py:306 +#: build/models.py:329 msgid "User who issued this build order" msgstr "" -#: build/models.py:314 build/templates/build/build_base.html:204 +#: build/models.py:337 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:145 -#: order/models.py:322 order/templates/order/order_base.html:217 +#: order/models.py:335 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1096 +#: order/templates/order/sales_order_base.html:232 part/models.py:1139 #: part/templates/part/part_base.html:390 -#: report/templates/report/inventree_build_order_base.html:158 +#: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 #: templates/js/translated/build.js:2219 -#: templates/js/translated/purchase_order.js:1764 -#: templates/js/translated/return_order.js:359 +#: templates/js/translated/purchase_order.js:1763 +#: templates/js/translated/return_order.js:358 #: templates/js/translated/table_filters.js:531 msgid "Responsible" msgstr "" -#: build/models.py:315 +#: build/models.py:338 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:320 build/templates/build/detail.html:108 +#: build/models.py:343 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 -#: order/templates/order/sales_order_base.html:180 -#: part/templates/part/part_base.html:383 stock/models.py:819 +#: order/templates/order/sales_order_base.html:184 +#: part/templates/part/part_base.html:383 stock/models.py:840 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "" -#: build/models.py:325 +#: build/models.py:348 msgid "Build Priority" msgstr "" -#: build/models.py:328 +#: build/models.py:351 msgid "Priority of this build order" msgstr "" -#: build/models.py:335 common/models.py:129 order/admin.py:18 -#: order/models.py:286 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:358 common/models.py:129 order/admin.py:18 +#: order/models.py:299 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 -#: templates/js/translated/purchase_order.js:1711 -#: templates/js/translated/return_order.js:318 -#: templates/js/translated/sales_order.js:806 +#: templates/js/translated/purchase_order.js:1710 +#: templates/js/translated/return_order.js:317 +#: templates/js/translated/sales_order.js:842 #: templates/js/translated/table_filters.js:48 #: templates/project_code_data.html:6 msgid "Project Code" msgstr "" -#: build/models.py:336 +#: build/models.py:359 msgid "Project code for this build order" msgstr "" -#: build/models.py:566 build/models.py:631 +#: build/models.py:589 build/models.py:654 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:588 +#: build/models.py:611 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:594 +#: build/models.py:617 msgid "A build order has been completed" msgstr "" -#: build/models.py:820 build/models.py:895 +#: build/models.py:843 build/models.py:918 msgid "No build output specified" msgstr "" -#: build/models.py:823 +#: build/models.py:846 msgid "Build output is already completed" msgstr "" -#: build/models.py:826 +#: build/models.py:849 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:899 build/serializers.py:221 build/serializers.py:260 -#: build/serializers.py:837 order/models.py:538 order/serializers.py:433 -#: order/serializers.py:576 part/serializers.py:1471 part/serializers.py:1871 -#: stock/models.py:662 stock/models.py:1482 stock/serializers.py:472 +#: build/models.py:922 build/serializers.py:220 build/serializers.py:259 +#: build/serializers.py:836 order/models.py:560 order/serializers.py:433 +#: order/serializers.py:576 part/serializers.py:1486 part/serializers.py:1886 +#: stock/models.py:683 stock/models.py:1503 stock/serializers.py:601 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:904 build/serializers.py:226 +#: build/models.py:927 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:961 build/serializers.py:539 +#: build/models.py:984 build/serializers.py:538 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1323 +#: build/models.py:1335 +msgid "Build Order Line Item" +msgstr "" + +#: build/models.py:1360 msgid "Build object" msgstr "" -#: build/models.py:1337 build/models.py:1593 build/serializers.py:208 -#: build/serializers.py:245 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2524 -#: order/models.py:1259 order/models.py:1918 order/serializers.py:1339 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 -#: part/forms.py:48 part/models.py:3162 part/models.py:4035 +#: build/models.py:1374 build/models.py:1630 build/serializers.py:207 +#: build/serializers.py:244 build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2530 +#: order/models.py:1299 order/models.py:1958 order/serializers.py:1339 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 +#: part/forms.py:48 part/models.py:3205 part/models.py:4078 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 -#: report/templates/report/inventree_build_order_base.html:113 -#: report/templates/report/inventree_po_report_base.html:29 -#: report/templates/report/inventree_slr_report.html:104 -#: report/templates/report/inventree_so_report_base.html:29 -#: report/templates/report/inventree_test_report_base.html:90 -#: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:160 stock/serializers.py:463 +#: report/templates/report/inventree_build_order_report.html:113 +#: report/templates/report/inventree_purchase_order_report.html:29 +#: report/templates/report/inventree_sales_order_report.html:29 +#: report/templates/report/inventree_stock_location_report.html:104 +#: report/templates/report/inventree_test_report.html:90 +#: report/templates/report/inventree_test_report.html:170 stock/admin.py:160 +#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:592 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1324,380 +1328,381 @@ msgstr "" #: templates/js/translated/build.js:737 templates/js/translated/build.js:1369 #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 -#: templates/js/translated/model_renderers.js:230 +#: templates/js/translated/model_renderers.js:236 #: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3341 +#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3340 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 #: templates/js/translated/purchase_order.js:754 -#: templates/js/translated/purchase_order.js:1853 -#: templates/js/translated/purchase_order.js:2072 +#: templates/js/translated/purchase_order.js:1852 +#: templates/js/translated/purchase_order.js:2071 #: templates/js/translated/sales_order.js:317 -#: templates/js/translated/sales_order.js:1199 -#: templates/js/translated/sales_order.js:1518 -#: templates/js/translated/sales_order.js:1608 -#: templates/js/translated/sales_order.js:1698 -#: templates/js/translated/sales_order.js:1824 +#: templates/js/translated/sales_order.js:1235 +#: templates/js/translated/sales_order.js:1554 +#: templates/js/translated/sales_order.js:1644 +#: templates/js/translated/sales_order.js:1734 +#: templates/js/translated/sales_order.js:1860 #: templates/js/translated/stock.js:564 templates/js/translated/stock.js:702 -#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:3024 -#: templates/js/translated/stock.js:3107 +#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:3021 +#: templates/js/translated/stock.js:3104 msgid "Quantity" msgstr "" -#: build/models.py:1338 +#: build/models.py:1375 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1418 +#: build/models.py:1455 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1427 +#: build/models.py:1464 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1437 order/models.py:1869 +#: build/models.py:1474 order/models.py:1909 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1443 order/models.py:1872 +#: build/models.py:1480 order/models.py:1912 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1449 +#: build/models.py:1486 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1508 +#: build/models.py:1545 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1580 build/serializers.py:817 order/serializers.py:1183 -#: order/serializers.py:1204 stock/serializers.py:566 stock/serializers.py:1052 -#: stock/serializers.py:1164 stock/templates/stock/item_base.html:10 +#: build/models.py:1617 build/serializers.py:816 order/serializers.py:1183 +#: order/serializers.py:1204 stock/models.py:364 stock/serializers.py:92 +#: stock/serializers.py:695 stock/serializers.py:1181 stock/serializers.py:1293 +#: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 #: templates/js/translated/build.js:1745 #: templates/js/translated/sales_order.js:301 -#: templates/js/translated/sales_order.js:1198 -#: templates/js/translated/sales_order.js:1499 -#: templates/js/translated/sales_order.js:1504 -#: templates/js/translated/sales_order.js:1605 -#: templates/js/translated/sales_order.js:1692 +#: templates/js/translated/sales_order.js:1234 +#: templates/js/translated/sales_order.js:1535 +#: templates/js/translated/sales_order.js:1540 +#: templates/js/translated/sales_order.js:1641 +#: templates/js/translated/sales_order.js:1728 #: templates/js/translated/stock.js:677 templates/js/translated/stock.js:843 -#: templates/js/translated/stock.js:2980 +#: templates/js/translated/stock.js:2977 msgid "Stock Item" msgstr "" -#: build/models.py:1581 +#: build/models.py:1618 msgid "Source stock item" msgstr "" -#: build/models.py:1594 +#: build/models.py:1631 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1602 +#: build/models.py:1639 msgid "Install into" msgstr "" -#: build/models.py:1603 +#: build/models.py:1640 msgid "Destination stock item" msgstr "" -#: build/serializers.py:158 build/serializers.py:846 +#: build/serializers.py:157 build/serializers.py:845 #: templates/js/translated/build.js:1322 msgid "Build Output" msgstr "" -#: build/serializers.py:170 +#: build/serializers.py:169 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:174 +#: build/serializers.py:173 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:178 +#: build/serializers.py:177 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:189 +#: build/serializers.py:188 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:209 build/serializers.py:246 +#: build/serializers.py:208 build/serializers.py:245 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:267 +#: build/serializers.py:266 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:270 +#: build/serializers.py:269 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:285 order/serializers.py:589 order/serializers.py:1343 -#: stock/serializers.py:483 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:284 order/serializers.py:589 order/serializers.py:1343 +#: stock/serializers.py:612 templates/js/translated/purchase_order.js:1153 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:286 +#: build/serializers.py:285 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:291 build/serializers.py:432 build/serializers.py:504 +#: build/serializers.py:290 build/serializers.py:431 build/serializers.py:503 #: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1679 -#: part/serializers.py:1127 stock/serializers.py:494 stock/serializers.py:654 -#: stock/serializers.py:750 stock/serializers.py:1196 stock/serializers.py:1452 -#: stock/templates/stock/item_base.html:394 +#: part/serializers.py:1142 stock/serializers.py:101 stock/serializers.py:623 +#: stock/serializers.py:783 stock/serializers.py:879 stock/serializers.py:1325 +#: stock/serializers.py:1581 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 #: templates/js/translated/purchase_order.js:1178 #: templates/js/translated/purchase_order.js:1268 -#: templates/js/translated/sales_order.js:1511 -#: templates/js/translated/sales_order.js:1619 -#: templates/js/translated/sales_order.js:1627 -#: templates/js/translated/sales_order.js:1706 +#: templates/js/translated/sales_order.js:1547 +#: templates/js/translated/sales_order.js:1655 +#: templates/js/translated/sales_order.js:1663 +#: templates/js/translated/sales_order.js:1742 #: templates/js/translated/stock.js:678 templates/js/translated/stock.js:844 -#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2203 -#: templates/js/translated/stock.js:2874 +#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2201 +#: templates/js/translated/stock.js:2871 msgid "Location" msgstr "" -#: build/serializers.py:292 +#: build/serializers.py:291 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:306 +#: build/serializers.py:305 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:307 +#: build/serializers.py:306 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:322 +#: build/serializers.py:321 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:347 stock/api.py:995 +#: build/serializers.py:346 stock/api.py:1029 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:394 build/serializers.py:456 build/serializers.py:545 +#: build/serializers.py:393 build/serializers.py:455 build/serializers.py:544 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:433 +#: build/serializers.py:432 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:439 +#: build/serializers.py:438 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:440 +#: build/serializers.py:439 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:445 +#: build/serializers.py:444 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:505 +#: build/serializers.py:504 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:511 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:922 -#: order/models.py:2022 order/serializers.py:597 stock/admin.py:165 -#: stock/serializers.py:801 stock/serializers.py:1340 +#: build/serializers.py:510 build/templates/build/build_base.html:151 +#: build/templates/build/detail.html:62 order/models.py:953 +#: order/models.py:2071 order/serializers.py:597 stock/admin.py:165 +#: stock/serializers.py:930 stock/serializers.py:1469 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 -#: templates/js/translated/purchase_order.js:1723 -#: templates/js/translated/return_order.js:331 -#: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2178 templates/js/translated/stock.js:2998 -#: templates/js/translated/stock.js:3123 +#: templates/js/translated/purchase_order.js:1722 +#: templates/js/translated/return_order.js:330 +#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/stock.js:2176 templates/js/translated/stock.js:2995 +#: templates/js/translated/stock.js:3120 msgid "Status" msgstr "" -#: build/serializers.py:517 +#: build/serializers.py:516 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:518 +#: build/serializers.py:517 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:598 +#: build/serializers.py:597 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:599 +#: build/serializers.py:598 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:605 +#: build/serializers.py:604 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:606 +#: build/serializers.py:605 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:633 +#: build/serializers.py:632 msgid "Not permitted" msgstr "" -#: build/serializers.py:634 +#: build/serializers.py:633 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:635 +#: build/serializers.py:634 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:657 +#: build/serializers.py:656 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:659 +#: build/serializers.py:658 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:669 +#: build/serializers.py:668 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:674 +#: build/serializers.py:673 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:675 +#: build/serializers.py:674 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:685 templates/js/translated/build.js:315 +#: build/serializers.py:684 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:690 order/serializers.py:301 order/serializers.py:1246 +#: build/serializers.py:689 order/serializers.py:301 order/serializers.py:1246 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:691 +#: build/serializers.py:690 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:701 templates/js/translated/build.js:319 +#: build/serializers.py:700 templates/js/translated/build.js:319 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:710 templates/js/translated/build.js:303 +#: build/serializers.py:709 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:740 +#: build/serializers.py:739 msgid "Build Line" msgstr "" -#: build/serializers.py:750 +#: build/serializers.py:749 msgid "Build output" msgstr "" -#: build/serializers.py:758 +#: build/serializers.py:757 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:794 +#: build/serializers.py:793 msgid "Build Line Item" msgstr "" -#: build/serializers.py:808 +#: build/serializers.py:807 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:823 stock/serializers.py:1065 +#: build/serializers.py:822 stock/serializers.py:1194 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:871 order/serializers.py:1237 +#: build/serializers.py:870 order/serializers.py:1237 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:877 +#: build/serializers.py:876 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:884 +#: build/serializers.py:883 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:908 order/serializers.py:1489 +#: build/serializers.py:907 order/serializers.py:1489 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:971 +#: build/serializers.py:970 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:979 +#: build/serializers.py:978 msgid "Exclude Location" msgstr "" -#: build/serializers.py:980 +#: build/serializers.py:979 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:985 +#: build/serializers.py:984 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:986 +#: build/serializers.py:985 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:991 +#: build/serializers.py:990 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:992 +#: build/serializers.py:991 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:997 +#: build/serializers.py:996 msgid "Optional Items" msgstr "" -#: build/serializers.py:998 +#: build/serializers.py:997 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1020 +#: build/serializers.py:1019 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1110 part/models.py:3930 part/models.py:4366 -#: stock/api.py:758 +#: build/serializers.py:1109 part/models.py:3973 part/models.py:4409 +#: stock/api.py:792 msgid "BOM Item" msgstr "" -#: build/serializers.py:1119 templates/js/translated/index.js:130 +#: build/serializers.py:1118 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1124 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:817 part/serializers.py:1489 +#: build/serializers.py:1123 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:832 part/serializers.py:1504 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 @@ -1705,15 +1710,15 @@ msgstr "" msgid "On Order" msgstr "" -#: build/serializers.py:1129 part/serializers.py:1491 +#: build/serializers.py:1128 part/serializers.py:1506 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1134 part/bom.py:172 part/serializers.py:1514 +#: build/serializers.py:1133 part/bom.py:172 part/serializers.py:1529 #: part/templates/part/part_base.html:192 -#: templates/js/translated/sales_order.js:1893 +#: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "" @@ -1842,18 +1847,18 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:297 -#: order/models.py:1294 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:310 +#: order/models.py:1334 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 -#: order/templates/order/sales_order_base.html:192 -#: report/templates/report/inventree_build_order_base.html:125 +#: order/templates/order/sales_order_base.html:196 +#: report/templates/report/inventree_build_order_report.html:125 #: templates/js/translated/build.js:2239 templates/js/translated/part.js:1830 -#: templates/js/translated/purchase_order.js:1740 -#: templates/js/translated/purchase_order.js:2148 -#: templates/js/translated/return_order.js:347 -#: templates/js/translated/return_order.js:751 -#: templates/js/translated/sales_order.js:835 -#: templates/js/translated/sales_order.js:1867 +#: templates/js/translated/purchase_order.js:1739 +#: templates/js/translated/purchase_order.js:2147 +#: templates/js/translated/return_order.js:346 +#: templates/js/translated/return_order.js:750 +#: templates/js/translated/sales_order.js:871 +#: templates/js/translated/sales_order.js:1903 msgid "Target Date" msgstr "" @@ -1866,7 +1871,7 @@ msgstr "" #: build/templates/build/build_base.html:222 #: order/templates/order/order_base.html:122 #: order/templates/order/return_order_base.html:117 -#: order/templates/order/sales_order_base.html:122 +#: order/templates/order/sales_order_base.html:126 #: templates/js/translated/table_filters.js:98 #: templates/js/translated/table_filters.js:524 #: templates/js/translated/table_filters.js:626 @@ -1880,24 +1885,24 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:1538 -#: order/models.py:1652 order/models.py:1806 +#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:848 +#: order/models.py:1578 order/models.py:1692 order/models.py:1846 #: 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 +#: report/templates/report/inventree_build_order_report.html:135 +#: report/templates/report/inventree_sales_order_report.html:14 #: stock/templates/stock/item_base.html:369 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:929 -#: templates/js/translated/sales_order.js:769 -#: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2927 +#: templates/js/translated/sales_order.js:805 +#: templates/js/translated/sales_order.js:1028 +#: templates/js/translated/stock.js:2924 msgid "Sales Order" msgstr "" #: build/templates/build/build_base.html:197 #: build/templates/build/detail.html:115 -#: report/templates/report/inventree_build_order_base.html:152 +#: report/templates/report/inventree_build_order_report.html:152 #: templates/js/translated/table_filters.js:24 msgid "Issued By" msgstr "" @@ -1907,15 +1912,15 @@ msgstr "" msgid "Priority" msgstr "" -#: build/templates/build/build_base.html:273 +#: build/templates/build/build_base.html:269 msgid "Delete Build Order" msgstr "" -#: build/templates/build/build_base.html:283 +#: build/templates/build/build_base.html:279 msgid "Build Order QR Code" msgstr "" -#: build/templates/build/build_base.html:295 +#: build/templates/build/build_base.html:291 msgid "Link Barcode to Build Order" msgstr "" @@ -1931,8 +1936,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1430 -#: templates/js/translated/purchase_order.js:2190 +#: build/templates/build/detail.html:49 order/models.py:1470 +#: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "" @@ -1947,10 +1952,10 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 #: templates/js/translated/build.js:1380 -#: templates/js/translated/model_renderers.js:235 +#: templates/js/translated/model_renderers.js:241 #: templates/js/translated/purchase_order.js:1274 -#: templates/js/translated/stock.js:1133 templates/js/translated/stock.js:2192 -#: templates/js/translated/stock.js:3130 +#: templates/js/translated/stock.js:1133 templates/js/translated/stock.js:2190 +#: templates/js/translated/stock.js:3127 #: templates/js/translated/table_filters.js:313 #: templates/js/translated/table_filters.js:404 msgid "Batch" @@ -1959,7 +1964,7 @@ msgstr "" #: build/templates/build/detail.html:133 #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:151 -#: order/templates/order/sales_order_base.html:186 +#: order/templates/order/sales_order_base.html:190 #: templates/js/translated/build.js:2199 msgid "Created" msgstr "" @@ -1969,7 +1974,7 @@ msgid "No target date set" msgstr "" #: build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:202 +#: order/templates/order/sales_order_base.html:206 #: templates/js/translated/table_filters.js:689 msgid "Completed" msgstr "" @@ -2260,8 +2265,8 @@ msgstr "" #: common/models.py:1316 common/models.py:1372 common/models.py:1385 #: common/models.py:1393 common/models.py:1402 common/models.py:1411 -#: common/models.py:1613 common/models.py:1635 common/models.py:1750 -#: common/models.py:2061 +#: common/models.py:1619 common/models.py:1641 common/models.py:1756 +#: common/models.py:2067 msgid "days" msgstr "" @@ -2402,1209 +2407,1218 @@ msgid "Enable revision field for Part" msgstr "" #: common/models.py:1440 -msgid "IPN Regex" +msgid "Allow Deletion from Assembly" msgstr "" #: common/models.py:1441 +msgid "Allow deletion of parts which are used in an assembly" +msgstr "" + +#: common/models.py:1446 +msgid "IPN Regex" +msgstr "" + +#: common/models.py:1447 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1444 +#: common/models.py:1450 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1445 +#: common/models.py:1451 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1450 +#: common/models.py:1456 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1451 +#: common/models.py:1457 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1456 +#: common/models.py:1462 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1457 +#: common/models.py:1463 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1462 +#: common/models.py:1468 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1463 +#: common/models.py:1469 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1468 +#: common/models.py:1474 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1469 +#: common/models.py:1475 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1474 +#: common/models.py:1480 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1475 +#: common/models.py:1481 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1480 part/admin.py:108 part/models.py:3772 -#: report/models.py:182 stock/serializers.py:99 +#: common/models.py:1486 part/admin.py:108 part/models.py:3815 +#: report/models.py:294 report/models.py:361 report/serializers.py:90 +#: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:767 msgid "Template" msgstr "" -#: common/models.py:1481 +#: common/models.py:1487 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1486 part/admin.py:91 part/admin.py:431 part/models.py:1016 +#: common/models.py:1492 part/admin.py:91 part/admin.py:433 part/models.py:1059 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "" -#: common/models.py:1487 +#: common/models.py:1493 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1492 part/admin.py:95 part/models.py:1022 +#: common/models.py:1498 part/admin.py:95 part/models.py:1065 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "" -#: common/models.py:1493 +#: common/models.py:1499 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1498 part/admin.py:100 part/models.py:1034 +#: common/models.py:1504 part/admin.py:100 part/models.py:1077 msgid "Purchaseable" msgstr "" -#: common/models.py:1499 +#: common/models.py:1505 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1504 part/admin.py:104 part/models.py:1040 +#: common/models.py:1510 part/admin.py:104 part/models.py:1083 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "" -#: common/models.py:1505 +#: common/models.py:1511 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1510 part/admin.py:113 part/models.py:1028 +#: common/models.py:1516 part/admin.py:113 part/models.py:1071 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "" -#: common/models.py:1511 +#: common/models.py:1517 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1516 part/admin.py:117 part/models.py:1050 +#: common/models.py:1522 part/admin.py:117 part/models.py:1093 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "" -#: common/models.py:1517 +#: common/models.py:1523 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1522 +#: common/models.py:1528 msgid "Show Import in Views" msgstr "" -#: common/models.py:1523 +#: common/models.py:1529 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1528 +#: common/models.py:1534 msgid "Show related parts" msgstr "" -#: common/models.py:1529 +#: common/models.py:1535 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1534 +#: common/models.py:1540 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1535 +#: common/models.py:1541 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1540 templates/js/translated/part.js:107 +#: common/models.py:1546 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1542 +#: common/models.py:1548 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1548 +#: common/models.py:1554 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1549 +#: common/models.py:1555 msgid "Format to display the part name" msgstr "" -#: common/models.py:1555 +#: common/models.py:1561 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1556 +#: common/models.py:1562 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1560 +#: common/models.py:1566 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1562 +#: common/models.py:1568 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1568 +#: common/models.py:1574 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1570 +#: common/models.py:1576 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1576 +#: common/models.py:1582 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1578 +#: common/models.py:1584 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1584 +#: common/models.py:1590 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1586 +#: common/models.py:1592 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1592 +#: common/models.py:1598 msgid "Purchase History Override" msgstr "" -#: common/models.py:1594 +#: common/models.py:1600 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1600 +#: common/models.py:1606 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1602 +#: common/models.py:1608 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1608 +#: common/models.py:1614 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1610 +#: common/models.py:1616 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1617 +#: common/models.py:1623 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1618 +#: common/models.py:1624 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1623 +#: common/models.py:1629 msgid "Active Variants Only" msgstr "" -#: common/models.py:1625 +#: common/models.py:1631 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1631 +#: common/models.py:1637 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1633 +#: common/models.py:1639 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1640 +#: common/models.py:1646 msgid "Internal Prices" msgstr "" -#: common/models.py:1641 +#: common/models.py:1647 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1646 +#: common/models.py:1652 msgid "Internal Price Override" msgstr "" -#: common/models.py:1648 +#: common/models.py:1654 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1654 +#: common/models.py:1660 msgid "Enable label printing" msgstr "" -#: common/models.py:1655 +#: common/models.py:1661 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1660 +#: common/models.py:1666 msgid "Label Image DPI" msgstr "" -#: common/models.py:1662 +#: common/models.py:1668 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1668 +#: common/models.py:1674 msgid "Enable Reports" msgstr "" -#: common/models.py:1669 +#: common/models.py:1675 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1674 templates/stats.html:25 +#: common/models.py:1680 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1675 +#: common/models.py:1681 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1680 +#: common/models.py:1686 msgid "Log Report Errors" msgstr "" -#: common/models.py:1681 +#: common/models.py:1687 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1686 plugin/builtin/labels/label_sheet.py:28 -#: report/models.py:203 +#: common/models.py:1692 plugin/builtin/labels/label_sheet.py:28 +#: report/models.py:302 msgid "Page Size" msgstr "" -#: common/models.py:1687 +#: common/models.py:1693 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1692 +#: common/models.py:1698 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1693 +#: common/models.py:1699 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1698 +#: common/models.py:1704 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1700 +#: common/models.py:1706 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1706 +#: common/models.py:1712 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1707 +#: common/models.py:1713 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1712 +#: common/models.py:1718 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1713 +#: common/models.py:1719 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1718 +#: common/models.py:1724 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1720 +#: common/models.py:1726 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1726 +#: common/models.py:1732 msgid "Batch Code Template" msgstr "" -#: common/models.py:1728 +#: common/models.py:1734 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1733 +#: common/models.py:1739 msgid "Stock Expiry" msgstr "" -#: common/models.py:1734 +#: common/models.py:1740 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1739 +#: common/models.py:1745 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1740 +#: common/models.py:1746 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1745 +#: common/models.py:1751 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1747 +#: common/models.py:1753 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1754 +#: common/models.py:1760 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1755 +#: common/models.py:1761 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1760 +#: common/models.py:1766 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1761 +#: common/models.py:1767 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1766 +#: common/models.py:1772 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1767 +#: common/models.py:1773 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1771 +#: common/models.py:1777 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1772 +#: common/models.py:1778 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1777 +#: common/models.py:1783 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1779 +#: common/models.py:1785 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1785 +#: common/models.py:1791 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1787 +#: common/models.py:1793 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1793 +#: common/models.py:1799 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1795 +#: common/models.py:1801 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1801 common/models.py:1829 common/models.py:1851 -#: common/models.py:1879 +#: common/models.py:1807 common/models.py:1835 common/models.py:1857 +#: common/models.py:1885 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1802 common/models.py:1830 common/models.py:1852 -#: common/models.py:1880 +#: common/models.py:1808 common/models.py:1836 common/models.py:1858 +#: common/models.py:1886 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1807 +#: common/models.py:1813 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1809 +#: common/models.py:1815 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1815 +#: common/models.py:1821 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1816 +#: common/models.py:1822 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1821 +#: common/models.py:1827 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1823 +#: common/models.py:1829 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1835 +#: common/models.py:1841 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1837 +#: common/models.py:1843 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1843 +#: common/models.py:1849 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1845 +#: common/models.py:1851 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1857 +#: common/models.py:1863 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1858 +#: common/models.py:1864 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1863 +#: common/models.py:1869 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1865 +#: common/models.py:1871 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1871 +#: common/models.py:1877 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1873 +#: common/models.py:1879 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1885 +#: common/models.py:1891 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1887 +#: common/models.py:1893 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1893 +#: common/models.py:1899 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1895 +#: common/models.py:1901 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1902 +#: common/models.py:1908 msgid "Enable password forgot" msgstr "" -#: common/models.py:1903 +#: common/models.py:1909 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1908 +#: common/models.py:1914 msgid "Enable registration" msgstr "" -#: common/models.py:1909 +#: common/models.py:1915 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1914 +#: common/models.py:1920 msgid "Enable SSO" msgstr "" -#: common/models.py:1915 +#: common/models.py:1921 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1920 +#: common/models.py:1926 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1922 +#: common/models.py:1928 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1928 +#: common/models.py:1934 msgid "Email required" msgstr "" -#: common/models.py:1929 +#: common/models.py:1935 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1934 +#: common/models.py:1940 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1936 +#: common/models.py:1942 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1942 +#: common/models.py:1948 msgid "Mail twice" msgstr "" -#: common/models.py:1943 +#: common/models.py:1949 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1948 +#: common/models.py:1954 msgid "Password twice" msgstr "" -#: common/models.py:1949 +#: common/models.py:1955 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1954 +#: common/models.py:1960 msgid "Allowed domains" msgstr "" -#: common/models.py:1956 +#: common/models.py:1962 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1962 +#: common/models.py:1968 msgid "Group on signup" msgstr "" -#: common/models.py:1963 +#: common/models.py:1969 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1968 +#: common/models.py:1974 msgid "Enforce MFA" msgstr "" -#: common/models.py:1969 +#: common/models.py:1975 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1974 +#: common/models.py:1980 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1976 +#: common/models.py:1982 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1984 +#: common/models.py:1990 msgid "Check for plugin updates" msgstr "" -#: common/models.py:1985 +#: common/models.py:1991 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:1991 +#: common/models.py:1997 msgid "Enable URL integration" msgstr "" -#: common/models.py:1992 +#: common/models.py:1998 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1998 +#: common/models.py:2004 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1999 +#: common/models.py:2005 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2005 +#: common/models.py:2011 msgid "Enable app integration" msgstr "" -#: common/models.py:2006 +#: common/models.py:2012 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2012 +#: common/models.py:2018 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2013 +#: common/models.py:2019 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2019 +#: common/models.py:2025 msgid "Enable event integration" msgstr "" -#: common/models.py:2020 +#: common/models.py:2026 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2026 +#: common/models.py:2032 msgid "Enable project codes" msgstr "" -#: common/models.py:2027 +#: common/models.py:2033 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2032 +#: common/models.py:2038 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2034 +#: common/models.py:2040 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2040 +#: common/models.py:2046 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2042 +#: common/models.py:2048 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2048 +#: common/models.py:2054 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2050 +#: common/models.py:2056 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2056 +#: common/models.py:2062 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2058 +#: common/models.py:2064 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2065 +#: common/models.py:2071 msgid "Display Users full names" msgstr "" -#: common/models.py:2066 +#: common/models.py:2072 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2071 +#: common/models.py:2077 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2072 +#: common/models.py:2078 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2084 common/models.py:2494 +#: common/models.py:2090 common/models.py:2500 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2127 +#: common/models.py:2133 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2129 +#: common/models.py:2135 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2135 +#: common/models.py:2141 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2136 +#: common/models.py:2142 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2141 +#: common/models.py:2147 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2142 +#: common/models.py:2148 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2147 +#: common/models.py:2153 msgid "Show latest parts" msgstr "" -#: common/models.py:2148 +#: common/models.py:2154 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2153 +#: common/models.py:2159 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2154 +#: common/models.py:2160 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2159 +#: common/models.py:2165 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2160 +#: common/models.py:2166 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2165 +#: common/models.py:2171 msgid "Show low stock" msgstr "" -#: common/models.py:2166 +#: common/models.py:2172 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2171 +#: common/models.py:2177 msgid "Show depleted stock" msgstr "" -#: common/models.py:2172 +#: common/models.py:2178 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2177 +#: common/models.py:2183 msgid "Show needed stock" msgstr "" -#: common/models.py:2178 +#: common/models.py:2184 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2183 +#: common/models.py:2189 msgid "Show expired stock" msgstr "" -#: common/models.py:2184 +#: common/models.py:2190 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2189 +#: common/models.py:2195 msgid "Show stale stock" msgstr "" -#: common/models.py:2190 +#: common/models.py:2196 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2195 +#: common/models.py:2201 msgid "Show pending builds" msgstr "" -#: common/models.py:2196 +#: common/models.py:2202 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2201 +#: common/models.py:2207 msgid "Show overdue builds" msgstr "" -#: common/models.py:2202 +#: common/models.py:2208 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2207 +#: common/models.py:2213 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2208 +#: common/models.py:2214 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2213 +#: common/models.py:2219 msgid "Show overdue POs" msgstr "" -#: common/models.py:2214 +#: common/models.py:2220 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2219 +#: common/models.py:2225 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2220 +#: common/models.py:2226 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2225 +#: common/models.py:2231 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2226 +#: common/models.py:2232 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2231 +#: common/models.py:2237 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2232 +#: common/models.py:2238 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2237 +#: common/models.py:2243 msgid "Show News" msgstr "" -#: common/models.py:2238 +#: common/models.py:2244 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2243 +#: common/models.py:2249 msgid "Inline label display" msgstr "" -#: common/models.py:2245 +#: common/models.py:2251 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2251 +#: common/models.py:2257 msgid "Default label printer" msgstr "" -#: common/models.py:2253 +#: common/models.py:2259 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2259 +#: common/models.py:2265 msgid "Inline report display" msgstr "" -#: common/models.py:2261 +#: common/models.py:2267 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2267 +#: common/models.py:2273 msgid "Search Parts" msgstr "" -#: common/models.py:2268 +#: common/models.py:2274 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2273 +#: common/models.py:2279 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2274 +#: common/models.py:2280 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2279 +#: common/models.py:2285 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2280 +#: common/models.py:2286 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2285 +#: common/models.py:2291 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2286 +#: common/models.py:2292 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2291 +#: common/models.py:2297 msgid "Search Categories" msgstr "" -#: common/models.py:2292 +#: common/models.py:2298 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2297 +#: common/models.py:2303 msgid "Search Stock" msgstr "" -#: common/models.py:2298 +#: common/models.py:2304 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2303 +#: common/models.py:2309 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2305 +#: common/models.py:2311 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2311 +#: common/models.py:2317 msgid "Search Locations" msgstr "" -#: common/models.py:2312 +#: common/models.py:2318 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2317 +#: common/models.py:2323 msgid "Search Companies" msgstr "" -#: common/models.py:2318 +#: common/models.py:2324 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2323 +#: common/models.py:2329 msgid "Search Build Orders" msgstr "" -#: common/models.py:2324 +#: common/models.py:2330 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2329 +#: common/models.py:2335 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2330 +#: common/models.py:2336 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2335 +#: common/models.py:2341 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2337 +#: common/models.py:2343 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2343 +#: common/models.py:2349 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2344 +#: common/models.py:2350 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2349 +#: common/models.py:2355 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2351 +#: common/models.py:2357 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2357 +#: common/models.py:2363 msgid "Search Return Orders" msgstr "" -#: common/models.py:2358 +#: common/models.py:2364 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2363 +#: common/models.py:2369 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2365 +#: common/models.py:2371 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2371 +#: common/models.py:2377 msgid "Search Preview Results" msgstr "" -#: common/models.py:2373 +#: common/models.py:2379 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2379 +#: common/models.py:2385 msgid "Regex Search" msgstr "" -#: common/models.py:2380 +#: common/models.py:2386 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2385 +#: common/models.py:2391 msgid "Whole Word Search" msgstr "" -#: common/models.py:2386 +#: common/models.py:2392 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2391 +#: common/models.py:2397 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2392 +#: common/models.py:2398 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2397 +#: common/models.py:2403 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2398 +#: common/models.py:2404 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2403 +#: common/models.py:2409 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2404 +#: common/models.py:2410 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2409 +#: common/models.py:2415 msgid "Date Format" msgstr "" -#: common/models.py:2410 +#: common/models.py:2416 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2423 part/templates/part/detail.html:41 +#: common/models.py:2429 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2424 +#: common/models.py:2430 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2429 part/templates/part/detail.html:62 +#: common/models.py:2435 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2431 +#: common/models.py:2437 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2437 +#: common/models.py:2443 msgid "Table String Length" msgstr "" -#: common/models.py:2439 +#: common/models.py:2445 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2445 +#: common/models.py:2451 msgid "Default part label template" msgstr "" -#: common/models.py:2446 +#: common/models.py:2452 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2451 +#: common/models.py:2457 msgid "Default stock item template" msgstr "" -#: common/models.py:2453 +#: common/models.py:2459 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2459 +#: common/models.py:2465 msgid "Default stock location label template" msgstr "" -#: common/models.py:2461 +#: common/models.py:2467 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2467 +#: common/models.py:2473 msgid "Default build line label template" msgstr "" -#: common/models.py:2469 +#: common/models.py:2475 msgid "The build line label template to be automatically selected" msgstr "" -#: common/models.py:2475 +#: common/models.py:2481 msgid "Receive error reports" msgstr "" -#: common/models.py:2476 +#: common/models.py:2482 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2481 +#: common/models.py:2487 msgid "Last used printing machines" msgstr "" -#: common/models.py:2482 +#: common/models.py:2488 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2525 +#: common/models.py:2531 msgid "Price break quantity" msgstr "" -#: common/models.py:2532 company/serializers.py:496 order/admin.py:42 -#: order/models.py:1333 order/models.py:2243 +#: common/models.py:2538 company/serializers.py:496 order/admin.py:42 +#: order/models.py:1373 order/models.py:2292 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 -#: templates/js/translated/return_order.js:741 +#: templates/js/translated/return_order.js:740 msgid "Price" msgstr "" -#: common/models.py:2533 +#: common/models.py:2539 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2704 common/models.py:2889 +#: common/models.py:2710 common/models.py:2895 msgid "Endpoint" msgstr "" -#: common/models.py:2705 +#: common/models.py:2711 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2715 +#: common/models.py:2721 msgid "Name for this webhook" msgstr "" -#: common/models.py:2719 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1045 -#: plugin/models.py:56 templates/js/translated/company.js:523 +#: common/models.py:2725 company/models.py:160 company/models.py:814 +#: machine/models.py:39 part/admin.py:88 part/models.py:1088 +#: plugin/models.py:65 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:492 @@ -3614,135 +3628,135 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2719 +#: common/models.py:2725 msgid "Is this webhook active" msgstr "" -#: common/models.py:2735 users/models.py:159 +#: common/models.py:2741 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2736 +#: common/models.py:2742 msgid "Token for access" msgstr "" -#: common/models.py:2744 +#: common/models.py:2750 msgid "Secret" msgstr "" -#: common/models.py:2745 +#: common/models.py:2751 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2853 +#: common/models.py:2859 msgid "Message ID" msgstr "" -#: common/models.py:2854 +#: common/models.py:2860 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2862 +#: common/models.py:2868 msgid "Host" msgstr "" -#: common/models.py:2863 +#: common/models.py:2869 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2871 +#: common/models.py:2877 msgid "Header" msgstr "" -#: common/models.py:2872 +#: common/models.py:2878 msgid "Header of this message" msgstr "" -#: common/models.py:2879 +#: common/models.py:2885 msgid "Body" msgstr "" -#: common/models.py:2880 +#: common/models.py:2886 msgid "Body of this message" msgstr "" -#: common/models.py:2890 +#: common/models.py:2896 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2895 +#: common/models.py:2901 msgid "Worked on" msgstr "" -#: common/models.py:2896 +#: common/models.py:2902 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3022 +#: common/models.py:3028 msgid "Id" msgstr "" -#: common/models.py:3024 templates/js/translated/company.js:965 +#: common/models.py:3030 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3028 templates/js/translated/news.js:60 +#: common/models.py:3034 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3030 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3036 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3032 templates/js/translated/news.js:52 +#: common/models.py:3038 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3035 +#: common/models.py:3041 msgid "Read" msgstr "" -#: common/models.py:3035 +#: common/models.py:3041 msgid "Was this news item read?" msgstr "" -#: common/models.py:3052 company/models.py:156 part/models.py:929 +#: common/models.py:3058 company/models.py:156 part/models.py:972 #: 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 +#: report/templates/report/inventree_return_order_report.html:35 #: stock/templates/stock/item_base.html:133 templates/503.html:31 #: templates/hover_image.html:7 templates/hover_image.html:9 #: templates/modals.html:6 msgid "Image" msgstr "" -#: common/models.py:3052 +#: common/models.py:3058 msgid "Image file" msgstr "" -#: common/models.py:3094 +#: common/models.py:3100 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3113 +#: common/models.py:3119 msgid "Unit name" msgstr "" -#: common/models.py:3120 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3126 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3121 +#: common/models.py:3127 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3128 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3134 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3129 +#: common/models.py:3135 msgid "Unit definition" msgstr "" @@ -3929,9 +3943,9 @@ msgid "Contact email address" msgstr "" #: company/models.py:139 company/templates/company/company_base.html:145 -#: order/models.py:331 order/templates/order/order_base.html:203 +#: order/models.py:344 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 -#: order/templates/order/sales_order_base.html:214 +#: order/templates/order/sales_order_base.html:218 msgid "Contact" msgstr "" @@ -3977,7 +3991,7 @@ msgstr "" #: company/models.py:273 company/models.py:382 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:776 +#: company/templates/company/company_base.html:12 stock/api.py:810 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "" @@ -4069,8 +4083,8 @@ msgstr "" msgid "Link to address information (external)" msgstr "" -#: company/models.py:489 company/models.py:792 stock/models.py:751 -#: stock/serializers.py:266 stock/templates/stock/item_base.html:142 +#: company/models.py:489 company/models.py:792 stock/models.py:772 +#: stock/serializers.py:395 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -4081,7 +4095,7 @@ msgstr "" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:515 +#: company/templates/company/supplier_part.html:145 part/serializers.py:530 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4096,13 +4110,13 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:525 +#: company/templates/company/supplier_part.html:153 part/serializers.py:540 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800 -#: templates/js/translated/purchase_order.js:1852 -#: templates/js/translated/purchase_order.js:2054 +#: templates/js/translated/purchase_order.js:1851 +#: templates/js/translated/purchase_order.js:2053 msgid "MPN" msgstr "" @@ -4129,9 +4143,8 @@ msgstr "" msgid "Parameter name" msgstr "" -#: company/models.py:621 -#: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2448 templates/js/translated/company.js:1166 +#: company/models.py:621 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2425 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492 #: templates/js/translated/stock.js:1522 msgid "Value" @@ -4142,10 +4155,10 @@ msgid "Parameter value" msgstr "" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1009 part/models.py:3623 +#: part/admin.py:57 part/models.py:1052 part/models.py:3666 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 -#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370 +#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 msgid "Units" msgstr "" @@ -4166,9 +4179,9 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:465 +#: company/templates/company/supplier_part.html:129 order/models.py:487 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:499 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:514 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4176,7 +4189,7 @@ msgstr "" #: templates/js/translated/company.js:511 #: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1690 +#: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/table_filters.js:804 msgid "Supplier" msgstr "" @@ -4185,7 +4198,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:809 part/serializers.py:510 +#: company/models.py:809 part/serializers.py:525 msgid "Supplier stock keeping unit" msgstr "" @@ -4206,29 +4219,29 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:418 part/models.py:4070 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4113 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 -#: report/templates/report/inventree_slr_report.html:105 -#: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:579 +#: report/templates/report/inventree_purchase_order_report.html:32 +#: report/templates/report/inventree_return_order_report.html:27 +#: report/templates/report/inventree_sales_order_report.html:32 +#: report/templates/report/inventree_stock_location_report.html:105 +#: stock/serializers.py:708 msgid "Note" msgstr "" -#: company/models.py:857 part/models.py:1967 +#: company/models.py:857 part/models.py:2010 msgid "base cost" msgstr "" -#: company/models.py:858 part/models.py:1968 +#: company/models.py:858 part/models.py:2011 msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:782 stock/serializers.py:1350 +#: stock/admin.py:224 stock/models.py:803 stock/serializers.py:1479 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 -#: templates/js/translated/stock.js:2426 +#: templates/js/translated/stock.js:2424 msgid "Packaging" msgstr "" @@ -4241,8 +4254,8 @@ msgstr "" #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 -#: templates/js/translated/purchase_order.js:2085 -#: templates/js/translated/purchase_order.js:2102 +#: templates/js/translated/purchase_order.js:2084 +#: templates/js/translated/purchase_order.js:2101 msgid "Pack Quantity" msgstr "" @@ -4250,7 +4263,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:892 part/models.py:1974 +#: company/models.py:892 part/models.py:2017 msgid "multiple" msgstr "" @@ -4285,7 +4298,7 @@ msgstr "" #: part/templates/part/part_base.html:146 #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 -#: templates/js/translated/model_renderers.js:306 +#: templates/js/translated/model_renderers.js:312 #: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 msgid "Inactive" msgstr "" @@ -4321,11 +4334,11 @@ msgstr "" #: company/templates/company/manufacturer_part.html:51 #: company/templates/company/supplier_part.html:83 #: part/templates/part/part_thumb.html:20 -#: report/templates/report/inventree_build_order_base.html:98 -#: report/templates/report/inventree_po_report_base.html:40 -#: report/templates/report/inventree_so_report_base.html:40 -#: report/templates/report/inventree_test_report_base.html:84 -#: report/templates/report/inventree_test_report_base.html:163 +#: report/templates/report/inventree_build_order_report.html:98 +#: report/templates/report/inventree_purchase_order_report.html:40 +#: report/templates/report/inventree_sales_order_report.html:40 +#: report/templates/report/inventree_test_report.html:84 +#: report/templates/report/inventree_test_report.html:163 msgid "Part image" msgstr "" @@ -4344,16 +4357,16 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:92 order/models.py:910 -#: order/models.py:2010 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:144 stock/models.py:804 -#: stock/models.py:805 stock/serializers.py:1100 +#: company/templates/company/company_base.html:92 order/models.py:941 +#: order/models.py:2059 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:148 stock/models.py:825 +#: stock/models.py:826 stock/serializers.py:1229 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 -#: templates/js/translated/return_order.js:296 -#: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2962 +#: templates/js/translated/return_order.js:295 +#: templates/js/translated/sales_order.js:820 +#: templates/js/translated/stock.js:2959 #: templates/js/translated/table_filters.js:808 msgid "Customer" msgstr "" @@ -4362,10 +4375,10 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:124 order/models.py:341 +#: company/templates/company/company_base.html:124 order/models.py:354 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 -#: order/templates/order/sales_order_base.html:221 +#: order/templates/order/sales_order_base.html:225 msgid "Address" msgstr "" @@ -4374,7 +4387,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:211 -#: part/templates/part/part_base.html:528 +#: part/templates/part/part_base.html:527 msgid "Remove Image" msgstr "" @@ -4383,19 +4396,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:214 -#: part/templates/part/part_base.html:531 +#: part/templates/part/part_base.html:530 #: templates/InvenTree/settings/user.html:88 #: templates/InvenTree/settings/user_sso.html:43 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:243 -#: part/templates/part/part_base.html:560 +#: part/templates/part/part_base.html:559 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:258 -#: part/templates/part/part_base.html:614 +#: part/templates/part/part_base.html:613 msgid "Download Image" msgstr "" @@ -4558,7 +4571,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:821 +#: part/admin.py:122 part/serializers.py:836 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4609,10 +4622,10 @@ msgstr "" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:452 -#: stock/models.py:762 stock/templates/stock/item_base.html:233 +#: stock/models.py:783 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 -#: templates/js/translated/stock.js:2282 +#: templates/js/translated/stock.js:2280 msgid "Supplier Part" msgstr "" @@ -4658,11 +4671,11 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:509 +#: part/bom.py:311 part/serializers.py:524 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1851 -#: templates/js/translated/purchase_order.js:2029 +#: templates/js/translated/purchase_order.js:1850 +#: templates/js/translated/purchase_order.js:2028 msgid "SKU" msgstr "" @@ -4671,12 +4684,12 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:209 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:199 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:206 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:200 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:207 #: templates/js/translated/stock.js:537 msgid "New Stock Item" msgstr "" @@ -4708,16 +4721,16 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:820 part/stocktake.py:223 +#: part/serializers.py:835 part/stocktake.py:223 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:787 stock/serializers.py:951 +#: stock/serializers.py:916 stock/serializers.py:1080 #: stock/templates/stock/location.html:170 -#: stock/templates/stock/location.html:184 -#: stock/templates/stock/location.html:196 +#: stock/templates/stock/location.html:191 +#: stock/templates/stock/location.html:203 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2769 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 #: users/models.py:206 msgid "Stock Items" msgstr "" @@ -4751,126 +4764,48 @@ msgstr "" msgid "New Company" msgstr "" -#: label/api.py:247 -msgid "Error printing label" -msgstr "" - -#: label/models.py:120 -msgid "Label name" -msgstr "" - -#: label/models.py:128 -msgid "Label description" -msgstr "" - -#: label/models.py:136 -msgid "Label" -msgstr "" - -#: label/models.py:137 -msgid "Label template file" -msgstr "" - -#: label/models.py:143 part/models.py:3494 report/models.py:324 -#: templates/js/translated/part.js:2900 -#: templates/js/translated/table_filters.js:481 -msgid "Enabled" -msgstr "" - -#: label/models.py:144 -msgid "Label template is enabled" -msgstr "" - -#: label/models.py:149 -msgid "Width [mm]" -msgstr "" - -#: label/models.py:150 -msgid "Label width, specified in mm" -msgstr "" - -#: label/models.py:156 -msgid "Height [mm]" -msgstr "" - -#: label/models.py:157 -msgid "Label height, specified in mm" -msgstr "" - -#: label/models.py:163 report/models.py:317 -msgid "Filename Pattern" -msgstr "" - -#: label/models.py:164 -msgid "Pattern for generating label filenames" -msgstr "" - -#: label/models.py:313 label/models.py:352 label/models.py:377 -#: label/models.py:412 -msgid "Query filters (comma-separated list of key=value pairs)" -msgstr "" - -#: label/models.py:314 label/models.py:353 label/models.py:378 -#: label/models.py:413 report/models.py:345 report/models.py:496 -#: report/models.py:532 report/models.py:568 report/models.py:750 -msgid "Filters" -msgstr "" - -#: label/templates/label/part/part_label.html:31 -#: label/templates/label/stockitem/qr.html:21 -#: label/templates/label/stocklocation/qr.html:20 -#: templates/allauth_2fa/setup.html:18 -msgid "QR Code" -msgstr "" - -#: label/templates/label/part/part_label_code128.html:31 -#: label/templates/label/stocklocation/qr_and_text.html:31 -#: templates/qr_code.html:7 -msgid "QR code" -msgstr "" - -#: machine/machine_types/label_printer.py:217 +#: machine/machine_types/label_printer.py:218 msgid "Copies" msgstr "" -#: machine/machine_types/label_printer.py:218 +#: machine/machine_types/label_printer.py:219 msgid "Number of copies to print for each label" msgstr "" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:234 msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:234 order/api.py:1515 -#: templates/js/translated/sales_order.js:1042 +#: machine/machine_types/label_printer.py:235 order/api.py:1515 +#: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "" -#: machine/machine_types/label_printer.py:235 +#: machine/machine_types/label_printer.py:236 msgid "Printing" msgstr "" -#: machine/machine_types/label_printer.py:236 +#: machine/machine_types/label_printer.py:237 msgid "No media" msgstr "" -#: machine/machine_types/label_printer.py:237 +#: machine/machine_types/label_printer.py:238 msgid "Disconnected" msgstr "" -#: machine/machine_types/label_printer.py:244 +#: machine/machine_types/label_printer.py:245 msgid "Label Printer" msgstr "" -#: machine/machine_types/label_printer.py:245 +#: machine/machine_types/label_printer.py:246 msgid "Directly print labels for various items." msgstr "" -#: machine/machine_types/label_printer.py:251 +#: machine/machine_types/label_printer.py:252 msgid "Printer Location" msgstr "" -#: machine/machine_types/label_printer.py:252 +#: machine/machine_types/label_printer.py:253 msgid "Scope the printer to a specific location" msgstr "" @@ -4930,19 +4865,19 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:89 -#: report/templates/report/inventree_po_report_base.html:31 -#: report/templates/report/inventree_so_report_base.html:31 +#: order/admin.py:30 order/models.py:90 +#: report/templates/report/inventree_purchase_order_report.html:31 +#: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2126 -#: templates/js/translated/sales_order.js:1847 +#: templates/js/translated/purchase_order.js:2125 +#: templates/js/translated/sales_order.js:1883 msgid "Total Price" msgstr "" #: order/api.py:161 order/serializers.py:91 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 -#: order/templates/order/sales_order_base.html:118 +#: order/templates/order/sales_order_base.html:122 msgid "Order Status" msgstr "" @@ -4955,10 +4890,10 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:437 order/api.py:817 order/models.py:1382 order/models.py:1491 -#: order/models.py:1537 order/models.py:1651 order/models.py:1805 -#: order/models.py:2209 order/models.py:2260 -#: templates/js/translated/sales_order.js:1488 +#: order/api.py:437 order/api.py:817 order/models.py:1422 order/models.py:1531 +#: order/models.py:1577 order/models.py:1691 order/models.py:1845 +#: order/models.py:2258 order/models.py:2309 +#: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" @@ -4970,402 +4905,398 @@ msgstr "" msgid "Order Pending" msgstr "" -#: order/api.py:1509 order/models.py:1383 order/models.py:1492 -#: order/templates/order/order_base.html:9 +#: order/api.py:1509 order/models.py:381 order/models.py:1423 +#: order/models.py:1532 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 -#: report/templates/report/inventree_po_report_base.html:14 -#: stock/templates/stock/item_base.html:176 +#: report/templates/report/inventree_purchase_order_report.html:14 +#: stock/serializers.py:119 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 -#: templates/js/translated/purchase_order.js:1674 -#: templates/js/translated/stock.js:2262 templates/js/translated/stock.js:2910 +#: templates/js/translated/purchase_order.js:1673 +#: templates/js/translated/stock.js:2260 templates/js/translated/stock.js:2907 msgid "Purchase Order" msgstr "" -#: order/api.py:1513 order/models.py:2210 order/models.py:2261 -#: order/templates/order/return_order_base.html:9 +#: order/api.py:1513 order/models.py:2008 order/models.py:2259 +#: order/models.py:2310 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:281 -#: templates/js/translated/stock.js:2944 +#: report/templates/report/inventree_return_order_report.html:13 +#: templates/js/translated/return_order.js:280 +#: templates/js/translated/stock.js:2941 msgid "Return Order" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:96 order/serializers.py:71 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:99 order/serializers.py:72 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:246 +#: order/models.py:248 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:278 +#: order/models.py:291 msgid "Order description (optional)" msgstr "" -#: order/models.py:287 +#: order/models.py:300 msgid "Select project code for this order" msgstr "" -#: order/models.py:291 order/models.py:1288 order/models.py:1704 +#: order/models.py:304 order/models.py:1328 order/models.py:1744 msgid "Link to external page" msgstr "" -#: order/models.py:299 +#: order/models.py:312 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:313 +#: order/models.py:326 msgid "Created By" msgstr "" -#: order/models.py:321 +#: order/models.py:334 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:332 +#: order/models.py:345 msgid "Point of contact for this order" msgstr "" -#: order/models.py:342 +#: order/models.py:355 msgid "Company address for this order" msgstr "" -#: order/models.py:443 order/models.py:899 +#: order/models.py:465 order/models.py:930 msgid "Order reference" msgstr "" -#: order/models.py:451 order/models.py:923 +#: order/models.py:473 order/models.py:954 msgid "Purchase order status" msgstr "" -#: order/models.py:466 +#: order/models.py:488 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:477 order/templates/order/order_base.html:148 -#: templates/js/translated/purchase_order.js:1703 +#: order/models.py:499 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1702 msgid "Supplier Reference" msgstr "" -#: order/models.py:478 +#: order/models.py:500 msgid "Supplier order reference code" msgstr "" -#: order/models.py:487 +#: order/models.py:509 msgid "received by" msgstr "" -#: order/models.py:493 order/models.py:2036 +#: order/models.py:515 order/models.py:2085 msgid "Issue Date" msgstr "" -#: order/models.py:494 order/models.py:2037 +#: order/models.py:516 order/models.py:2086 msgid "Date order was issued" msgstr "" -#: order/models.py:501 order/models.py:2044 +#: order/models.py:523 order/models.py:2093 msgid "Date order was completed" msgstr "" -#: order/models.py:545 +#: order/models.py:567 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:739 +#: order/models.py:761 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:911 +#: order/models.py:942 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:934 order/models.py:2029 +#: order/models.py:965 order/models.py:2078 msgid "Customer Reference " msgstr "" -#: order/models.py:935 order/models.py:2030 +#: order/models.py:966 order/models.py:2079 msgid "Customer order reference code" msgstr "" -#: order/models.py:939 order/models.py:1658 -#: templates/js/translated/sales_order.js:843 -#: templates/js/translated/sales_order.js:1024 +#: order/models.py:970 order/models.py:1698 +#: templates/js/translated/sales_order.js:879 +#: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "" -#: order/models.py:948 +#: order/models.py:979 msgid "shipped by" msgstr "" -#: order/models.py:999 -msgid "Order cannot be completed as no parts have been assigned" -msgstr "" - -#: order/models.py:1004 +#: order/models.py:1029 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1008 templates/js/translated/sales_order.js:506 +#: order/models.py:1033 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1013 +#: order/models.py:1038 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1260 +#: order/models.py:1300 msgid "Item quantity" msgstr "" -#: order/models.py:1277 +#: order/models.py:1317 msgid "Line item reference" msgstr "" -#: order/models.py:1284 +#: order/models.py:1324 msgid "Line item notes" msgstr "" -#: order/models.py:1296 +#: order/models.py:1336 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1317 +#: order/models.py:1357 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1323 +#: order/models.py:1363 msgid "Context" msgstr "" -#: order/models.py:1324 +#: order/models.py:1364 msgid "Additional context for this line" msgstr "" -#: order/models.py:1334 +#: order/models.py:1374 msgid "Unit price" msgstr "" -#: order/models.py:1367 +#: order/models.py:1407 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1374 +#: order/models.py:1414 msgid "deleted" msgstr "" -#: order/models.py:1402 +#: order/models.py:1442 msgid "Supplier part" msgstr "" -#: order/models.py:1409 order/templates/order/order_base.html:196 +#: order/models.py:1449 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 #: templates/js/translated/purchase_order.js:1306 -#: templates/js/translated/purchase_order.js:2170 -#: templates/js/translated/return_order.js:764 +#: templates/js/translated/purchase_order.js:2169 +#: templates/js/translated/return_order.js:763 #: templates/js/translated/table_filters.js:120 #: templates/js/translated/table_filters.js:602 msgid "Received" msgstr "" -#: order/models.py:1410 +#: order/models.py:1450 msgid "Number of items received" msgstr "" -#: order/models.py:1418 stock/models.py:923 stock/serializers.py:400 +#: order/models.py:1458 stock/models.py:944 stock/serializers.py:529 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2313 +#: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "" -#: order/models.py:1419 +#: order/models.py:1459 msgid "Unit purchase price" msgstr "" -#: order/models.py:1434 +#: order/models.py:1474 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1525 +#: order/models.py:1565 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1530 +#: order/models.py:1570 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1556 part/templates/part/part_pricing.html:107 +#: order/models.py:1596 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1557 +#: order/models.py:1597 msgid "Unit sale price" msgstr "" -#: order/models.py:1567 +#: order/models.py:1607 msgid "Shipped quantity" msgstr "" -#: order/models.py:1659 +#: order/models.py:1699 msgid "Date of shipment" msgstr "" -#: order/models.py:1665 templates/js/translated/sales_order.js:1036 +#: order/models.py:1705 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1666 +#: order/models.py:1706 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1674 +#: order/models.py:1714 msgid "Checked By" msgstr "" -#: order/models.py:1675 +#: order/models.py:1715 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1682 order/models.py:1895 order/serializers.py:1354 -#: order/serializers.py:1464 templates/js/translated/model_renderers.js:448 +#: order/models.py:1722 order/models.py:1935 order/serializers.py:1354 +#: order/serializers.py:1464 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" -#: order/models.py:1683 +#: order/models.py:1723 msgid "Shipment number" msgstr "" -#: order/models.py:1691 +#: order/models.py:1731 msgid "Tracking Number" msgstr "" -#: order/models.py:1692 +#: order/models.py:1732 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1699 +#: order/models.py:1739 msgid "Invoice Number" msgstr "" -#: order/models.py:1700 +#: order/models.py:1740 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1720 +#: order/models.py:1760 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1723 +#: order/models.py:1763 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1841 order/models.py:1843 +#: order/models.py:1881 order/models.py:1883 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1850 +#: order/models.py:1890 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1853 +#: order/models.py:1893 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1856 +#: order/models.py:1896 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1875 order/serializers.py:1231 +#: order/models.py:1915 order/serializers.py:1231 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1878 +#: order/models.py:1918 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1879 plugin/base/barcodes/api.py:481 +#: order/models.py:1919 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1887 +#: order/models.py:1927 msgid "Line" msgstr "" -#: order/models.py:1896 +#: order/models.py:1936 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1909 order/models.py:2217 -#: templates/js/translated/return_order.js:722 +#: order/models.py:1949 order/models.py:2266 +#: templates/js/translated/return_order.js:721 msgid "Item" msgstr "" -#: order/models.py:1910 +#: order/models.py:1950 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1919 +#: order/models.py:1959 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1999 +#: order/models.py:2048 msgid "Return Order reference" msgstr "" -#: order/models.py:2011 +#: order/models.py:2060 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2023 +#: order/models.py:2072 msgid "Return order status" msgstr "" -#: order/models.py:2202 +#: order/models.py:2251 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2218 +#: order/models.py:2267 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2224 +#: order/models.py:2273 msgid "Received Date" msgstr "" -#: order/models.py:2225 +#: order/models.py:2274 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2236 templates/js/translated/return_order.js:733 +#: order/models.py:2285 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2237 +#: order/models.py:2286 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2244 +#: order/models.py:2293 msgid "Cost associated with return or repair for this line item" msgstr "" #: order/serializers.py:80 order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 -#: report/templates/report/inventree_po_report_base.html:22 -#: report/templates/report/inventree_return_order_report_base.html:19 -#: report/templates/report/inventree_so_report_base.html:22 +#: report/templates/report/inventree_purchase_order_report.html:22 +#: report/templates/report/inventree_return_order_report.html:19 +#: report/templates/report/inventree_sales_order_report.html:22 msgid "Line Items" msgstr "" @@ -5595,7 +5526,7 @@ msgstr "" #: order/templates/order/order_base.html:84 #: order/templates/order/return_order_base.html:87 -#: order/templates/order/sales_order_base.html:93 +#: order/templates/order/sales_order_base.html:97 msgid "Complete Order" msgstr "" @@ -5605,13 +5536,13 @@ msgstr "" #: order/templates/order/order_base.html:106 #: order/templates/order/return_order_base.html:101 -#: order/templates/order/sales_order_base.html:106 +#: order/templates/order/sales_order_base.html:110 msgid "Order Reference" msgstr "" #: order/templates/order/order_base.html:111 #: order/templates/order/return_order_base.html:106 -#: order/templates/order/sales_order_base.html:111 +#: order/templates/order/sales_order_base.html:115 msgid "Order Description" msgstr "" @@ -5620,19 +5551,19 @@ msgid "No suppplier information available" msgstr "" #: order/templates/order/order_base.html:154 -#: order/templates/order/sales_order_base.html:157 +#: order/templates/order/sales_order_base.html:161 msgid "Completed Line Items" msgstr "" #: order/templates/order/order_base.html:160 -#: order/templates/order/sales_order_base.html:163 -#: order/templates/order/sales_order_base.html:173 +#: order/templates/order/sales_order_base.html:167 +#: order/templates/order/sales_order_base.html:177 msgid "Incomplete" msgstr "" #: order/templates/order/order_base.html:179 #: order/templates/order/return_order_base.html:157 -#: report/templates/report/inventree_build_order_base.html:121 +#: report/templates/report/inventree_build_order_report.html:121 msgid "Issued" msgstr "" @@ -5642,15 +5573,15 @@ msgstr "" #: order/templates/order/order_base.html:228 #: order/templates/order/return_order_base.html:199 -#: order/templates/order/sales_order_base.html:239 +#: order/templates/order/sales_order_base.html:243 msgid "Total cost could not be calculated" msgstr "" -#: order/templates/order/order_base.html:318 +#: order/templates/order/order_base.html:314 msgid "Purchase Order QR Code" msgstr "" -#: order/templates/order/order_base.html:330 +#: order/templates/order/order_base.html:326 msgid "Link Barcode to Purchase Order" msgstr "" @@ -5707,8 +5638,8 @@ msgstr "" #: templates/js/translated/build.js:1629 #: templates/js/translated/purchase_order.js:696 #: templates/js/translated/purchase_order.js:1236 -#: templates/js/translated/return_order.js:506 -#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/return_order.js:505 +#: templates/js/translated/sales_order.js:1145 #: templates/js/translated/stock.js:714 templates/js/translated/stock.js:883 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -5762,7 +5693,7 @@ msgstr "" #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 #: templates/js/translated/purchase_order.js:414 -#: templates/js/translated/return_order.js:459 +#: templates/js/translated/return_order.js:458 #: templates/js/translated/sales_order.js:237 msgid "Add Line Item" msgstr "" @@ -5811,30 +5742,30 @@ msgid "Print packing list" msgstr "" #: order/templates/order/return_order_base.html:138 -#: order/templates/order/sales_order_base.html:151 -#: templates/js/translated/return_order.js:309 -#: templates/js/translated/sales_order.js:797 +#: order/templates/order/sales_order_base.html:155 +#: templates/js/translated/return_order.js:308 +#: templates/js/translated/sales_order.js:833 msgid "Customer Reference" msgstr "" #: order/templates/order/return_order_base.html:195 -#: order/templates/order/sales_order_base.html:235 +#: order/templates/order/sales_order_base.html:239 #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1072 -#: templates/js/translated/purchase_order.js:1753 -#: templates/js/translated/return_order.js:381 -#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/purchase_order.js:1752 +#: templates/js/translated/return_order.js:380 +#: templates/js/translated/sales_order.js:891 msgid "Total Cost" msgstr "" -#: order/templates/order/return_order_base.html:263 +#: order/templates/order/return_order_base.html:259 msgid "Return Order QR Code" msgstr "" -#: order/templates/order/return_order_base.html:275 +#: order/templates/order/return_order_base.html:271 msgid "Link Barcode to Return Order" msgstr "" @@ -5852,25 +5783,30 @@ msgid "Ship Items" msgstr "" #: order/templates/order/sales_order_base.html:92 -#: templates/js/translated/sales_order.js:484 +#: order/templates/order/sales_order_base.html:93 +msgid "Mark As Shipped" +msgstr "" + +#: order/templates/order/sales_order_base.html:96 +#: templates/js/translated/sales_order.js:536 msgid "Complete Sales Order" msgstr "" -#: order/templates/order/sales_order_base.html:131 +#: order/templates/order/sales_order_base.html:135 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:169 +#: order/templates/order/sales_order_base.html:173 #: order/templates/order/sales_order_detail.html:99 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "" -#: order/templates/order/sales_order_base.html:312 +#: order/templates/order/sales_order_base.html:321 msgid "Sales Order QR Code" msgstr "" -#: order/templates/order/sales_order_base.html:324 +#: order/templates/order/sales_order_base.html:333 msgid "Link Barcode to Sales Order" msgstr "" @@ -5914,12 +5850,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:404 part/models.py:3921 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:406 part/models.py:3964 part/stocktake.py:218 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:411 part/models.py:3922 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:413 part/models.py:3965 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -5928,20 +5864,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:904 part/templates/part/part_base.html:269 -#: report/templates/report/inventree_slr_report.html:103 -#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2341 -#: templates/js/translated/stock.js:2038 +#: part/admin.py:48 part/models.py:947 part/templates/part/part_base.html:269 +#: report/templates/report/inventree_stock_location_report.html:103 +#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 +#: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:913 part/templates/part/part_base.html:277 -#: report/models.py:195 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2347 +#: part/admin.py:50 part/models.py:956 part/templates/part/part_base.html:277 +#: report/models.py:161 templates/js/translated/part.js:1231 +#: templates/js/translated/part.js:2346 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:317 part/models.py:886 +#: part/admin.py:53 part/admin.py:319 part/models.py:929 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5950,15 +5886,15 @@ msgstr "" msgid "Part Image" msgstr "" -#: part/admin.py:63 part/admin.py:300 part/stocktake.py:221 +#: part/admin.py:63 part/admin.py:302 part/stocktake.py:221 msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:302 part/stocktake.py:222 +#: part/admin.py:67 part/admin.py:304 part/stocktake.py:222 msgid "Category Name" msgstr "" -#: part/admin.py:71 part/admin.py:314 +#: part/admin.py:71 part/admin.py:316 msgid "Default Location ID" msgstr "" @@ -5966,11 +5902,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:872 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:915 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1000 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1043 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5983,160 +5919,164 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3080 part/models.py:3094 +#: part/admin.py:155 part/models.py:3123 part/models.py:3137 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3087 part/models.py:3101 +#: part/admin.py:158 part/models.py:3130 part/models.py:3144 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" -#: part/admin.py:306 part/admin.py:393 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:211 msgid "Parent ID" msgstr "" -#: part/admin.py:310 part/admin.py:400 stock/admin.py:62 +#: part/admin.py:312 part/admin.py:402 stock/admin.py:62 msgid "Parent Name" msgstr "" -#: part/admin.py:318 part/templates/part/category.html:88 +#: part/admin.py:320 part/templates/part/category.html:88 #: part/templates/part/category.html:101 msgid "Category Path" msgstr "" -#: part/admin.py:323 part/models.py:391 part/serializers.py:117 +#: part/admin.py:325 part/models.py:393 part/serializers.py:117 #: part/serializers.py:272 part/serializers.py:391 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2803 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "" -#: part/admin.py:384 +#: part/admin.py:386 msgid "BOM Level" msgstr "" -#: part/admin.py:387 +#: part/admin.py:389 msgid "BOM Item ID" msgstr "" -#: part/admin.py:397 +#: part/admin.py:399 msgid "Parent IPN" msgstr "" -#: part/admin.py:408 part/models.py:3923 +#: part/admin.py:410 part/models.py:3966 msgid "Part IPN" msgstr "" -#: part/admin.py:421 part/serializers.py:1261 +#: part/admin.py:423 part/serializers.py:1276 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:426 part/serializers.py:1276 +#: part/admin.py:428 part/serializers.py:1291 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:119 +#: part/api.py:112 msgid "Starred" msgstr "" -#: part/api.py:121 +#: part/api.py:114 msgid "Filter by starred categories" msgstr "" -#: part/api.py:138 stock/api.py:284 +#: part/api.py:131 stock/api.py:318 msgid "Depth" msgstr "" -#: part/api.py:138 +#: part/api.py:131 msgid "Filter by category depth" msgstr "" -#: part/api.py:156 stock/api.py:302 +#: part/api.py:149 stock/api.py:336 msgid "Cascade" msgstr "" -#: part/api.py:158 +#: part/api.py:151 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:178 +#: part/api.py:171 msgid "Parent" msgstr "" -#: part/api.py:180 +#: part/api.py:173 msgid "Filter by parent category" msgstr "" -#: part/api.py:213 +#: part/api.py:206 msgid "Exclude Tree" msgstr "" -#: part/api.py:215 +#: part/api.py:208 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:461 +#: part/api.py:455 msgid "Has Results" msgstr "" -#: part/api.py:628 +#: part/api.py:622 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:646 +#: part/api.py:640 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:662 +#: part/api.py:656 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:746 +#: part/api.py:740 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:893 +#: part/api.py:887 msgid "Valid" msgstr "" -#: part/api.py:894 +#: part/api.py:888 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:900 +#: part/api.py:894 msgid "This option must be selected" msgstr "" -#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866 -#: part/serializers.py:406 part/serializers.py:1117 -#: part/templates/part/part_base.html:260 stock/api.py:745 +#: part/api.py:1111 +msgid "BOM Valid" +msgstr "" + +#: part/api.py:1515 part/models.py:939 part/models.py:3429 part/models.py:3909 +#: part/serializers.py:406 part/serializers.py:1132 +#: part/templates/part/part_base.html:260 stock/api.py:779 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2377 +#: templates/js/translated/part.js:2376 msgid "Category" msgstr "" -#: part/api.py:1849 +#: part/api.py:1803 msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:101 part/models.py:939 +#: part/bom.py:170 part/models.py:102 part/models.py:982 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:822 +#: part/bom.py:171 part/serializers.py:837 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6145,698 +6085,712 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:82 part/models.py:3867 part/templates/part/category.html:16 +#: part/models.py:83 part/models.py:3910 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:83 part/templates/part/category.html:136 +#: part/models.py:84 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "" -#: part/models.py:102 +#: part/models.py:103 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:107 stock/models.py:165 templates/js/translated/part.js:2810 -#: templates/js/translated/stock.js:2775 +#: part/models.py:108 stock/models.py:177 templates/js/translated/part.js:2809 +#: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "" -#: part/models.py:109 +#: part/models.py:110 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:118 +#: part/models.py:119 msgid "Default keywords" msgstr "" -#: part/models.py:119 +#: part/models.py:120 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:125 stock/models.py:89 stock/models.py:148 +#: part/models.py:126 stock/models.py:89 stock/models.py:160 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:126 stock/models.py:149 +#: part/models.py:127 stock/models.py:161 msgid "Icon (optional)" msgstr "" -#: part/models.py:148 +#: part/models.py:149 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:484 +#: part/models.py:482 +msgid "Cannot delete this part as it is still active" +msgstr "" + +#: part/models.py:489 +msgid "Cannot delete this part as it is used in an assembly" +msgstr "" + +#: part/models.py:527 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:532 part/models.py:539 +#: part/models.py:575 part/models.py:582 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:551 +#: part/models.py:594 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:616 +#: part/models.py:659 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:696 +#: part/models.py:739 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:801 +#: part/models.py:844 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:811 +#: part/models.py:854 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:826 +#: part/models.py:869 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:855 part/models.py:3922 +#: part/models.py:898 part/models.py:3965 msgid "Part name" msgstr "" -#: part/models.py:860 +#: part/models.py:903 msgid "Is Template" msgstr "" -#: part/models.py:861 +#: part/models.py:904 msgid "Is this part a template part?" msgstr "" -#: part/models.py:871 +#: part/models.py:914 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:879 +#: part/models.py:922 msgid "Part description (optional)" msgstr "" -#: part/models.py:887 +#: part/models.py:930 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:897 +#: part/models.py:940 msgid "Part category" msgstr "" -#: part/models.py:905 +#: part/models.py:948 msgid "Internal Part Number" msgstr "" -#: part/models.py:912 +#: part/models.py:955 msgid "Part revision or version number" msgstr "" -#: part/models.py:937 +#: part/models.py:980 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:983 part/templates/part/part_base.html:376 +#: part/models.py:1026 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:984 +#: part/models.py:1027 msgid "Default supplier part" msgstr "" -#: part/models.py:991 +#: part/models.py:1034 msgid "Default Expiry" msgstr "" -#: part/models.py:992 +#: part/models.py:1035 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1001 +#: part/models.py:1044 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1010 +#: part/models.py:1053 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1017 +#: part/models.py:1060 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1023 +#: part/models.py:1066 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1029 +#: part/models.py:1072 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1035 +#: part/models.py:1078 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1041 +#: part/models.py:1084 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1045 +#: part/models.py:1088 msgid "Is this part active?" msgstr "" -#: part/models.py:1051 +#: part/models.py:1094 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1057 +#: part/models.py:1100 msgid "BOM checksum" msgstr "" -#: part/models.py:1058 +#: part/models.py:1101 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1066 +#: part/models.py:1109 msgid "BOM checked by" msgstr "" -#: part/models.py:1071 +#: part/models.py:1114 msgid "BOM checked date" msgstr "" -#: part/models.py:1087 +#: part/models.py:1130 msgid "Creation User" msgstr "" -#: part/models.py:1097 +#: part/models.py:1140 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1102 part/templates/part/part_base.html:339 +#: part/models.py:1145 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 -#: templates/js/translated/part.js:2471 +#: templates/js/translated/part.js:2470 msgid "Last Stocktake" msgstr "" -#: part/models.py:1975 +#: part/models.py:2018 msgid "Sell multiple" msgstr "" -#: part/models.py:2994 +#: part/models.py:3037 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3010 +#: part/models.py:3053 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3011 +#: part/models.py:3054 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3017 +#: part/models.py:3060 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3018 +#: part/models.py:3061 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3024 +#: part/models.py:3067 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3025 +#: part/models.py:3068 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3031 +#: part/models.py:3074 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3032 +#: part/models.py:3075 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3038 +#: part/models.py:3081 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3039 +#: part/models.py:3082 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3045 +#: part/models.py:3088 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3046 +#: part/models.py:3089 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3052 +#: part/models.py:3095 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3053 +#: part/models.py:3096 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3059 +#: part/models.py:3102 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3060 +#: part/models.py:3103 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3066 +#: part/models.py:3109 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3067 +#: part/models.py:3110 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3073 +#: part/models.py:3116 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3074 +#: part/models.py:3117 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3081 +#: part/models.py:3124 msgid "Override minimum cost" msgstr "" -#: part/models.py:3088 +#: part/models.py:3131 msgid "Override maximum cost" msgstr "" -#: part/models.py:3095 +#: part/models.py:3138 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3102 +#: part/models.py:3145 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3108 +#: part/models.py:3151 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3109 +#: part/models.py:3152 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3115 +#: part/models.py:3158 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3116 +#: part/models.py:3159 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3122 +#: part/models.py:3165 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3123 +#: part/models.py:3166 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3129 +#: part/models.py:3172 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3130 +#: part/models.py:3173 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3149 +#: part/models.py:3192 msgid "Part for stocktake" msgstr "" -#: part/models.py:3154 +#: part/models.py:3197 msgid "Item Count" msgstr "" -#: part/models.py:3155 +#: part/models.py:3198 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3163 +#: part/models.py:3206 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3167 part/models.py:3250 +#: part/models.py:3210 part/models.py:3293 #: part/templates/part/part_scheduling.html:13 -#: report/templates/report/inventree_test_report_base.html:106 +#: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 #: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 -#: templates/js/translated/purchase_order.js:1732 -#: templates/js/translated/stock.js:2824 +#: templates/js/translated/purchase_order.js:1731 +#: templates/js/translated/stock.js:2821 msgid "Date" msgstr "" -#: part/models.py:3168 +#: part/models.py:3211 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3176 +#: part/models.py:3219 msgid "Additional notes" msgstr "" -#: part/models.py:3186 +#: part/models.py:3229 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3192 +#: part/models.py:3235 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3193 +#: part/models.py:3236 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3199 +#: part/models.py:3242 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3200 +#: part/models.py:3243 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3256 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3299 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3257 +#: part/models.py:3300 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3262 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3305 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3263 +#: part/models.py:3306 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3273 +#: part/models.py:3316 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3435 +#: part/models.py:3478 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3446 +#: part/models.py:3489 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3457 +#: part/models.py:3500 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3474 templates/js/translated/part.js:2879 +#: part/models.py:3517 templates/js/translated/part.js:2878 msgid "Test Name" msgstr "" -#: part/models.py:3475 +#: part/models.py:3518 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3481 +#: part/models.py:3524 msgid "Test Key" msgstr "" -#: part/models.py:3482 +#: part/models.py:3525 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3489 +#: part/models.py:3532 msgid "Test Description" msgstr "" -#: part/models.py:3490 +#: part/models.py:3533 msgid "Enter description for this test" msgstr "" -#: part/models.py:3494 +#: part/models.py:3537 report/models.py:208 +#: templates/js/translated/part.js:2899 +#: templates/js/translated/table_filters.js:481 +msgid "Enabled" +msgstr "" + +#: part/models.py:3537 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3499 templates/js/translated/part.js:2908 +#: part/models.py:3542 templates/js/translated/part.js:2907 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3500 +#: part/models.py:3543 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3505 templates/js/translated/part.js:2916 +#: part/models.py:3548 templates/js/translated/part.js:2915 msgid "Requires Value" msgstr "" -#: part/models.py:3506 +#: part/models.py:3549 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3511 templates/js/translated/part.js:2923 +#: part/models.py:3554 templates/js/translated/part.js:2922 msgid "Requires Attachment" msgstr "" -#: part/models.py:3513 +#: part/models.py:3556 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3560 +#: part/models.py:3603 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3565 +#: part/models.py:3608 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3585 +#: part/models.py:3628 msgid "Choices must be unique" msgstr "" -#: part/models.py:3602 +#: part/models.py:3645 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3617 +#: part/models.py:3660 msgid "Parameter Name" msgstr "" -#: part/models.py:3624 +#: part/models.py:3667 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3632 +#: part/models.py:3675 msgid "Parameter description" msgstr "" -#: part/models.py:3638 templates/js/translated/part.js:1627 +#: part/models.py:3681 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3639 +#: part/models.py:3682 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3644 templates/js/translated/part.js:1636 +#: part/models.py:3687 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3645 +#: part/models.py:3688 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3722 +#: part/models.py:3765 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3765 +#: part/models.py:3808 msgid "Parent Part" msgstr "" -#: part/models.py:3773 part/models.py:3874 part/models.py:3875 +#: part/models.py:3816 part/models.py:3917 part/models.py:3918 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3778 +#: part/models.py:3821 msgid "Data" msgstr "" -#: part/models.py:3779 +#: part/models.py:3822 msgid "Parameter Value" msgstr "" -#: part/models.py:3881 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3924 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3882 +#: part/models.py:3925 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3920 +#: part/models.py:3963 msgid "Part ID or part name" msgstr "" -#: part/models.py:3921 +#: part/models.py:3964 msgid "Unique part ID value" msgstr "" -#: part/models.py:3923 +#: part/models.py:3966 msgid "Part IPN value" msgstr "" -#: part/models.py:3924 +#: part/models.py:3967 msgid "Level" msgstr "" -#: part/models.py:3924 +#: part/models.py:3967 msgid "BOM level" msgstr "" -#: part/models.py:4014 +#: part/models.py:4057 msgid "Select parent part" msgstr "" -#: part/models.py:4024 +#: part/models.py:4067 msgid "Sub part" msgstr "" -#: part/models.py:4025 +#: part/models.py:4068 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4036 +#: part/models.py:4079 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4042 +#: part/models.py:4085 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4048 +#: part/models.py:4091 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4055 part/templates/part/upload_bom.html:55 +#: part/models.py:4098 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4056 +#: part/models.py:4099 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4063 +#: part/models.py:4106 msgid "BOM item reference" msgstr "" -#: part/models.py:4071 +#: part/models.py:4114 msgid "BOM item notes" msgstr "" -#: part/models.py:4077 +#: part/models.py:4120 msgid "Checksum" msgstr "" -#: part/models.py:4078 +#: part/models.py:4121 msgid "BOM line checksum" msgstr "" -#: part/models.py:4083 templates/js/translated/table_filters.js:174 +#: part/models.py:4126 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4084 +#: part/models.py:4127 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4089 part/templates/part/upload_bom.html:57 +#: part/models.py:4132 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4090 +#: part/models.py:4133 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4095 part/templates/part/upload_bom.html:56 +#: part/models.py:4138 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4096 +#: part/models.py:4139 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4181 stock/models.py:647 +#: part/models.py:4224 stock/models.py:668 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4191 part/models.py:4193 +#: part/models.py:4234 part/models.py:4236 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4333 +#: part/models.py:4376 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4354 +#: part/models.py:4397 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4367 +#: part/models.py:4410 msgid "Parent BOM item" msgstr "" -#: part/models.py:4375 +#: part/models.py:4418 msgid "Substitute part" msgstr "" -#: part/models.py:4391 +#: part/models.py:4434 msgid "Part 1" msgstr "" -#: part/models.py:4399 +#: part/models.py:4442 msgid "Part 2" msgstr "" -#: part/models.py:4400 +#: part/models.py:4443 msgid "Select Related Part" msgstr "" -#: part/models.py:4419 +#: part/models.py:4462 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4424 +#: part/models.py:4467 msgid "Duplicate relationship already exists" msgstr "" @@ -6854,7 +6808,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:406 +#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:535 msgid "Purchase currency of this stock item" msgstr "" @@ -6870,299 +6824,299 @@ msgstr "" msgid "Select category" msgstr "" -#: part/serializers.py:437 +#: part/serializers.py:442 msgid "Original Part" msgstr "" -#: part/serializers.py:438 +#: part/serializers.py:443 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:448 msgid "Copy Image" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:449 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:450 part/templates/part/detail.html:277 +#: part/serializers.py:455 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:451 +#: part/serializers.py:456 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:462 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:458 +#: part/serializers.py:463 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:464 +#: part/serializers.py:469 msgid "Copy Notes" msgstr "" -#: part/serializers.py:465 +#: part/serializers.py:470 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:478 +#: part/serializers.py:488 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:490 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:487 +#: part/serializers.py:497 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:488 +#: part/serializers.py:498 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:500 +#: part/serializers.py:515 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:531 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:526 +#: part/serializers.py:541 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:533 +#: part/serializers.py:548 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:542 +#: part/serializers.py:557 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:553 +#: part/serializers.py:568 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:560 +#: part/serializers.py:575 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:823 +#: part/serializers.py:838 msgid "External Stock" msgstr "" -#: part/serializers.py:825 +#: part/serializers.py:840 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:828 +#: part/serializers.py:843 msgid "Variant Stock" msgstr "" -#: part/serializers.py:856 part/templates/part/copy_part.html:9 +#: part/serializers.py:871 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:857 +#: part/serializers.py:872 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:863 templates/js/translated/part.js:102 +#: part/serializers.py:878 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:864 +#: part/serializers.py:879 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:870 +#: part/serializers.py:885 msgid "Supplier Information" msgstr "" -#: part/serializers.py:871 +#: part/serializers.py:886 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:879 +#: part/serializers.py:894 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:880 +#: part/serializers.py:895 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:885 +#: part/serializers.py:900 msgid "Existing Image" msgstr "" -#: part/serializers.py:886 +#: part/serializers.py:901 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:918 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1109 +#: part/serializers.py:1124 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1119 +#: part/serializers.py:1134 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1129 +#: part/serializers.py:1144 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1135 +#: part/serializers.py:1150 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1136 +#: part/serializers.py:1151 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1141 +#: part/serializers.py:1156 msgid "Generate Report" msgstr "" -#: part/serializers.py:1142 +#: part/serializers.py:1157 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1147 +#: part/serializers.py:1162 msgid "Update Parts" msgstr "" -#: part/serializers.py:1148 +#: part/serializers.py:1163 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1156 +#: part/serializers.py:1171 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1262 +#: part/serializers.py:1277 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1269 +#: part/serializers.py:1284 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1277 +#: part/serializers.py:1292 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1284 +#: part/serializers.py:1299 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1313 +#: part/serializers.py:1328 msgid "Update" msgstr "" -#: part/serializers.py:1314 +#: part/serializers.py:1329 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1337 +#: part/serializers.py:1352 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1344 +#: part/serializers.py:1359 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1347 +#: part/serializers.py:1362 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1714 +#: part/serializers.py:1729 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1722 +#: part/serializers.py:1737 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1723 +#: part/serializers.py:1738 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1728 +#: part/serializers.py:1743 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1729 +#: part/serializers.py:1744 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1734 +#: part/serializers.py:1749 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1735 +#: part/serializers.py:1750 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1755 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1756 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1775 +#: part/serializers.py:1790 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1776 +#: part/serializers.py:1791 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1806 +#: part/serializers.py:1821 msgid "No part column specified" msgstr "" -#: part/serializers.py:1850 +#: part/serializers.py:1865 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1853 +#: part/serializers.py:1868 msgid "No matching part found" msgstr "" -#: part/serializers.py:1856 +#: part/serializers.py:1871 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1865 +#: part/serializers.py:1880 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1888 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1894 +#: part/serializers.py:1909 msgid "At least one BOM item is required" msgstr "" #: part/stocktake.py:224 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:2085 +#: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" @@ -7314,7 +7268,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2218 users/models.py:204 +#: templates/js/translated/stock.js:2216 users/models.py:204 msgid "Stocktake" msgstr "" @@ -7412,15 +7366,15 @@ msgstr "" msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:659 +#: part/templates/part/detail.html:655 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:667 +#: part/templates/part/detail.html:663 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:752 +#: part/templates/part/detail.html:748 msgid "Add Test Result Template" msgstr "" @@ -7479,7 +7433,7 @@ msgstr "" #: part/templates/part/part_base.html:52 #: stock/templates/stock/item_base.html:62 -#: stock/templates/stock/location.html:74 +#: stock/templates/stock/location.html:74 templates/js/translated/label.js:142 msgid "Print Label" msgstr "" @@ -7501,7 +7455,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2293 +#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2292 msgid "Part actions" msgstr "" @@ -7550,7 +7504,7 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:163 -#: part/templates/part/part_base.html:682 +#: part/templates/part/part_base.html:681 msgid "Show Part Details" msgstr "" @@ -7573,7 +7527,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2444 +#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2443 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7596,19 +7550,19 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:512 +#: part/templates/part/part_base.html:511 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:529 +#: part/templates/part/part_base.html:528 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:580 +#: part/templates/part/part_base.html:579 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:676 +#: part/templates/part/part_base.html:675 msgid "Hide Part Details" msgstr "" @@ -7667,8 +7621,8 @@ msgstr "" #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 -#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 -#: templates/js/translated/stock.js:2072 templates/navbar.html:31 +#: templates/js/translated/part.js:2391 templates/js/translated/stock.js:1059 +#: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7714,7 +7668,7 @@ msgstr "" #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 -#: templates/js/translated/stock.js:2248 +#: templates/js/translated/stock.js:2246 msgid "Last Updated" msgstr "" @@ -7786,7 +7740,7 @@ msgid "Update Pricing" msgstr "" #: part/templates/part/stock_count.html:7 -#: templates/js/translated/model_renderers.js:221 +#: templates/js/translated/model_renderers.js:227 #: templates/js/translated/part.js:704 templates/js/translated/part.js:2140 #: templates/js/translated/part.js:2142 msgid "No Stock" @@ -7866,7 +7820,7 @@ msgstr "" msgid "Part Pricing" msgstr "" -#: plugin/api.py:168 +#: plugin/api.py:170 msgid "Plugin cannot be deleted as it is currently active" msgstr "" @@ -7933,7 +7887,7 @@ msgid "Stock item does not match line item" msgstr "" #: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2589 -#: templates/js/translated/sales_order.js:1917 +#: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "" @@ -8027,22 +7981,18 @@ msgstr "" msgid "Quantity to allocate" msgstr "" -#: plugin/base/label/label.py:39 +#: plugin/base/label/label.py:39 templates/js/translated/label.js:154 msgid "Label printing failed" msgstr "" -#: plugin/base/label/mixins.py:63 +#: plugin/base/label/mixins.py:56 msgid "Error rendering label to PDF" msgstr "" -#: plugin/base/label/mixins.py:76 +#: plugin/base/label/mixins.py:70 msgid "Error rendering label to HTML" msgstr "" -#: plugin/base/label/mixins.py:111 -msgid "Error rendering label to PNG" -msgstr "" - #: plugin/builtin/barcodes/inventree_barcode.py:25 msgid "InvenTree Barcodes" msgstr "" @@ -8054,7 +8004,7 @@ msgstr "" #: plugin/builtin/barcodes/inventree_barcode.py:28 #: plugin/builtin/integration/core_notifications.py:35 #: plugin/builtin/integration/currency_exchange.py:21 -#: plugin/builtin/labels/inventree_label.py:23 +#: plugin/builtin/labels/inventree_label.py:22 #: plugin/builtin/labels/inventree_machine.py:64 #: plugin/builtin/labels/label_sheet.py:63 #: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 @@ -8108,19 +8058,19 @@ msgstr "" msgid "Default currency exchange integration" msgstr "" -#: plugin/builtin/labels/inventree_label.py:20 +#: plugin/builtin/labels/inventree_label.py:19 msgid "InvenTree PDF label printer" msgstr "" -#: plugin/builtin/labels/inventree_label.py:21 +#: plugin/builtin/labels/inventree_label.py:20 msgid "Provides native support for printing PDF labels" msgstr "" -#: plugin/builtin/labels/inventree_label.py:29 +#: plugin/builtin/labels/inventree_label.py:28 msgid "Debug mode" msgstr "" -#: plugin/builtin/labels/inventree_label.py:30 +#: plugin/builtin/labels/inventree_label.py:29 msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "" @@ -8132,11 +8082,11 @@ msgstr "" msgid "Provides support for printing using a machine" msgstr "" -#: plugin/builtin/labels/inventree_machine.py:150 +#: plugin/builtin/labels/inventree_machine.py:151 msgid "last used" msgstr "" -#: plugin/builtin/labels/inventree_machine.py:167 +#: plugin/builtin/labels/inventree_machine.py:168 msgid "Options" msgstr "" @@ -8160,7 +8110,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:47 report/models.py:209 +#: plugin/builtin/labels/label_sheet.py:47 report/models.py:308 msgid "Landscape" msgstr "" @@ -8176,11 +8126,11 @@ msgstr "" msgid "Arrays multiple labels onto a single sheet" msgstr "" -#: plugin/builtin/labels/label_sheet.py:94 +#: plugin/builtin/labels/label_sheet.py:99 msgid "Label is too large for page size" msgstr "" -#: plugin/builtin/labels/label_sheet.py:128 +#: plugin/builtin/labels/label_sheet.py:133 msgid "No labels were generated" msgstr "" @@ -8273,61 +8223,62 @@ msgstr "" msgid "Uninstalled plugin successfully" msgstr "" -#: plugin/models.py:30 +#: plugin/models.py:35 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:31 +#: plugin/models.py:36 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:34 users/models.py:100 +#: plugin/models.py:42 users/models.py:100 msgid "Key" msgstr "" -#: plugin/models.py:34 +#: plugin/models.py:43 msgid "Key of plugin" msgstr "" -#: plugin/models.py:42 +#: plugin/models.py:51 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:49 plugin/serializers.py:90 +#: plugin/models.py:58 plugin/serializers.py:90 msgid "Package Name" msgstr "" -#: plugin/models.py:51 +#: plugin/models.py:60 msgid "Name of the installed package, if the plugin was installed via PIP" msgstr "" -#: plugin/models.py:56 +#: plugin/models.py:65 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:147 templates/js/translated/table_filters.js:370 +#: plugin/models.py:156 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "" -#: plugin/models.py:156 +#: plugin/models.py:165 msgid "Sample plugin" msgstr "" -#: plugin/models.py:164 +#: plugin/models.py:173 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:172 +#: plugin/models.py:181 msgid "Package Plugin" msgstr "" -#: plugin/models.py:196 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:205 report/models.py:475 +#: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" msgstr "" -#: plugin/models.py:243 +#: plugin/models.py:252 msgid "Method" msgstr "" @@ -8468,239 +8419,323 @@ msgstr "" msgid "Delete the plugin configuration from the database" msgstr "" -#: report/api.py:158 +#: report/api.py:77 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:197 report/api.py:234 +#: report/api.py:89 report/serializers.py:53 +msgid "Model Type" +msgstr "" + +#: report/api.py:92 report/models.py:439 report/serializers.py:98 +#: report/serializers.py:148 templates/js/translated/purchase_order.js:1747 +#: templates/js/translated/return_order.js:353 +#: templates/js/translated/sales_order.js:887 +#: templates/js/translated/sales_order.js:1047 +msgid "Items" +msgstr "" + +#: report/api.py:168 +msgid "Plugin not found" +msgstr "" + +#: report/api.py:170 +msgid "Plugin is not active" +msgstr "" + +#: report/api.py:172 +msgid "Plugin does not support label printing" +msgstr "" + +#: report/api.py:221 +msgid "Invalid label dimensions" +msgstr "" + +#: report/api.py:236 report/api.py:316 +msgid "No valid items provided to template" +msgstr "" + +#: report/api.py:271 +msgid "Error printing label" +msgstr "" + +#: report/api.py:362 report/api.py:398 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:319 -msgid "Test report" -msgstr "" - -#: report/helpers.py:15 +#: report/helpers.py:41 msgid "A4" msgstr "" -#: report/helpers.py:16 +#: report/helpers.py:42 msgid "A3" msgstr "" -#: report/helpers.py:17 +#: report/helpers.py:43 msgid "Legal" msgstr "" -#: report/helpers.py:18 +#: report/helpers.py:44 msgid "Letter" msgstr "" -#: report/models.py:177 +#: report/models.py:118 +msgid "Template file with this name already exists" +msgstr "" + +#: report/models.py:150 msgid "Template name" msgstr "" -#: report/models.py:183 -msgid "Report template file" +#: report/models.py:156 +msgid "Template description" msgstr "" -#: report/models.py:190 -msgid "Report template description" +#: report/models.py:162 +msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:196 -msgid "Report revision number (auto-increments)" +#: report/models.py:202 +msgid "Filename Pattern" msgstr "" -#: report/models.py:204 +#: report/models.py:203 +msgid "Pattern for generating filenames" +msgstr "" + +#: report/models.py:208 +msgid "Template is enabled" +msgstr "" + +#: report/models.py:214 +msgid "Target model type for template" +msgstr "" + +#: report/models.py:234 +msgid "Filters" +msgstr "" + +#: report/models.py:235 +msgid "Template query filters (comma-separated list of key=value pairs)" +msgstr "" + +#: report/models.py:295 report/models.py:362 +msgid "Template file" +msgstr "" + +#: report/models.py:303 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:210 +#: report/models.py:309 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:318 -msgid "Pattern for generating report filenames" +#: report/models.py:368 +msgid "Width [mm]" msgstr "" -#: report/models.py:325 -msgid "Report template is enabled" +#: report/models.py:369 +msgid "Label width, specified in mm" msgstr "" -#: report/models.py:347 -msgid "StockItem query filters (comma-separated list of key=value pairs)" +#: report/models.py:375 +msgid "Height [mm]" msgstr "" -#: report/models.py:354 -msgid "Include Installed Tests" +#: report/models.py:376 +msgid "Label height, specified in mm" msgstr "" -#: report/models.py:356 -msgid "Include test results for stock items installed inside assembled item" +#: report/models.py:439 +msgid "Number of items to process" msgstr "" -#: report/models.py:424 -msgid "Build Filters" +#: report/models.py:445 +msgid "Report generation is complete" msgstr "" -#: report/models.py:425 -msgid "Build query filters (comma-separated list of key=value pairs" +#: report/models.py:449 templates/js/translated/build.js:2177 +msgid "Progress" msgstr "" -#: report/models.py:464 -msgid "Part Filters" +#: report/models.py:449 +msgid "Report generation progress" msgstr "" -#: report/models.py:465 -msgid "Part query filters (comma-separated list of key=value pairs" +#: report/models.py:457 +msgid "Report Template" msgstr "" -#: report/models.py:497 -msgid "Purchase order query filters" +#: report/models.py:464 report/models.py:487 +msgid "Output File" msgstr "" -#: report/models.py:533 -msgid "Sales order query filters" +#: report/models.py:465 report/models.py:488 +msgid "Generated output file" msgstr "" -#: report/models.py:569 -msgid "Return order query filters" +#: report/models.py:476 +msgid "Label output plugin" msgstr "" -#: report/models.py:641 -msgid "Snippet file with this name already exists" +#: report/models.py:480 +msgid "Label Template" msgstr "" -#: report/models.py:648 +#: report/models.py:503 msgid "Snippet" msgstr "" -#: report/models.py:649 +#: report/models.py:504 msgid "Report snippet file" msgstr "" -#: report/models.py:656 +#: report/models.py:511 msgid "Snippet file description" msgstr "" -#: report/models.py:714 -msgid "Asset file with this name already exists" -msgstr "" - -#: report/models.py:722 +#: report/models.py:529 msgid "Asset" msgstr "" -#: report/models.py:723 +#: report/models.py:530 msgid "Report asset file" msgstr "" -#: report/models.py:730 +#: report/models.py:537 msgid "Asset file description" msgstr "" -#: report/models.py:752 -msgid "stock location query filters (comma-separated list of key=value pairs)" +#: report/serializers.py:91 +msgid "Select report template" +msgstr "" + +#: report/serializers.py:99 report/serializers.py:149 +msgid "List of item primary keys to include in the report" +msgstr "" + +#: report/serializers.py:132 +msgid "Select label template" +msgstr "" + +#: report/serializers.py:140 +msgid "Printing Plugin" +msgstr "" + +#: report/serializers.py:141 +msgid "Select plugin to use for label printing" +msgstr "" + +#: report/templates/label/part_label.html:31 +#: report/templates/label/stockitem_qr.html:21 +#: report/templates/label/stocklocation_qr.html:20 +#: templates/allauth_2fa/setup.html:18 +msgid "QR Code" +msgstr "" + +#: report/templates/label/part_label_code128.html:31 +#: report/templates/label/stocklocation_qr_and_text.html:31 +#: templates/qr_code.html:7 +msgid "QR code" msgstr "" #: report/templates/report/inventree_bill_of_materials_report.html:133 msgid "Materials needed" msgstr "" -#: report/templates/report/inventree_build_order_base.html:146 +#: report/templates/report/inventree_build_order_report.html:146 msgid "Required For" msgstr "" -#: report/templates/report/inventree_po_report_base.html:15 +#: report/templates/report/inventree_purchase_order_report.html:15 msgid "Supplier was deleted" msgstr "" -#: report/templates/report/inventree_po_report_base.html:30 -#: report/templates/report/inventree_so_report_base.html:30 +#: report/templates/report/inventree_purchase_order_report.html:30 +#: report/templates/report/inventree_sales_order_report.html:30 #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:834 -#: templates/js/translated/purchase_order.js:2116 -#: templates/js/translated/sales_order.js:1837 +#: templates/js/translated/purchase_order.js:2115 +#: templates/js/translated/sales_order.js:1873 msgid "Unit Price" msgstr "" -#: report/templates/report/inventree_po_report_base.html:55 -#: report/templates/report/inventree_return_order_report_base.html:48 -#: report/templates/report/inventree_so_report_base.html:55 +#: report/templates/report/inventree_purchase_order_report.html:55 +#: report/templates/report/inventree_return_order_report.html:48 +#: report/templates/report/inventree_sales_order_report.html:55 msgid "Extra Line Items" 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:2018 -#: templates/js/translated/sales_order.js:1806 +#: report/templates/report/inventree_purchase_order_report.html:72 +#: report/templates/report/inventree_sales_order_report.html:72 +#: templates/js/translated/purchase_order.js:2017 +#: templates/js/translated/sales_order.js:1842 msgid "Total" msgstr "" -#: report/templates/report/inventree_return_order_report_base.html:25 -#: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:809 stock/templates/stock/item_base.html:311 +#: report/templates/report/inventree_return_order_report.html:25 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:830 +#: stock/serializers.py:150 stock/templates/stock/item_base.html:311 #: templates/js/translated/build.js:519 templates/js/translated/build.js:1367 #: templates/js/translated/build.js:2355 -#: templates/js/translated/model_renderers.js:224 -#: templates/js/translated/return_order.js:540 -#: templates/js/translated/return_order.js:724 +#: templates/js/translated/model_renderers.js:230 +#: templates/js/translated/return_order.js:539 +#: templates/js/translated/return_order.js:723 #: templates/js/translated/sales_order.js:315 -#: templates/js/translated/sales_order.js:1611 -#: templates/js/translated/sales_order.js:1696 +#: templates/js/translated/sales_order.js:1647 +#: templates/js/translated/sales_order.js:1732 #: templates/js/translated/stock.js:596 msgid "Serial Number" msgstr "" -#: report/templates/report/inventree_slr_report.html:97 +#: report/templates/report/inventree_stock_location_report.html:97 msgid "Stock location items" msgstr "" -#: report/templates/report/inventree_test_report_base.html:21 +#: report/templates/report/inventree_test_report.html:21 msgid "Stock Item Test Report" msgstr "" -#: report/templates/report/inventree_test_report_base.html:97 +#: report/templates/report/inventree_test_report.html:97 msgid "Test Results" msgstr "" -#: report/templates/report/inventree_test_report_base.html:102 +#: report/templates/report/inventree_test_report.html:102 #: templates/js/translated/stock.js:1495 msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2442 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2419 msgid "Result" msgstr "" -#: report/templates/report/inventree_test_report_base.html:130 +#: report/templates/report/inventree_test_report.html:130 msgid "Pass" msgstr "" -#: report/templates/report/inventree_test_report_base.html:132 +#: report/templates/report/inventree_test_report.html:132 msgid "Fail" msgstr "" -#: report/templates/report/inventree_test_report_base.html:139 +#: report/templates/report/inventree_test_report.html:139 msgid "No result (required)" msgstr "" -#: report/templates/report/inventree_test_report_base.html:141 +#: report/templates/report/inventree_test_report.html:141 msgid "No result" msgstr "" -#: report/templates/report/inventree_test_report_base.html:154 +#: report/templates/report/inventree_test_report.html:154 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report_base.html:168 -#: stock/admin.py:162 templates/js/translated/stock.js:700 -#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3113 +#: report/templates/report/inventree_test_report.html:168 stock/admin.py:162 +#: templates/js/translated/stock.js:700 templates/js/translated/stock.js:871 +#: templates/js/translated/stock.js:3110 msgid "Serial" msgstr "" @@ -8757,7 +8792,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:201 stock/models.py:789 +#: stock/admin.py:201 stock/models.py:810 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" @@ -8782,66 +8817,66 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:256 stock/models.py:883 +#: stock/admin.py:256 stock/models.py:904 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2232 users/models.py:124 +#: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" msgstr "" -#: stock/api.py:284 +#: stock/api.py:318 msgid "Filter by location depth" msgstr "" -#: stock/api.py:304 +#: stock/api.py:338 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:325 +#: stock/api.py:359 msgid "Parent Location" msgstr "" -#: stock/api.py:326 +#: stock/api.py:360 msgid "Filter by parent location" msgstr "" -#: stock/api.py:579 templates/js/translated/table_filters.js:427 +#: stock/api.py:613 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:767 +#: stock/api.py:801 msgid "Part Tree" msgstr "" -#: stock/api.py:797 +#: stock/api.py:831 msgid "Expiry date before" msgstr "" -#: stock/api.py:801 +#: stock/api.py:835 msgid "Expiry date after" msgstr "" -#: stock/api.py:804 stock/templates/stock/item_base.html:439 +#: stock/api.py:838 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:891 +#: stock/api.py:925 msgid "Quantity is required" msgstr "" -#: stock/api.py:897 +#: stock/api.py:931 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:928 +#: stock/api.py:962 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:938 +#: stock/api.py:972 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:969 +#: stock/api.py:1003 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8857,477 +8892,517 @@ msgstr "" msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:125 stock/models.py:771 +#: stock/models.py:127 stock/models.py:792 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:126 stock/templates/stock/location.html:179 +#: stock/models.py:128 stock/templates/stock/location.html:186 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "" -#: stock/models.py:158 stock/models.py:932 +#: stock/models.py:170 stock/models.py:953 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:159 stock/models.py:933 +#: stock/models.py:171 stock/models.py:954 msgid "Select Owner" msgstr "" -#: stock/models.py:167 +#: stock/models.py:179 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:174 templates/js/translated/stock.js:2784 +#: stock/models.py:186 templates/js/translated/stock.js:2781 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "" -#: stock/models.py:175 +#: stock/models.py:187 msgid "This is an external stock location" msgstr "" -#: stock/models.py:181 templates/js/translated/stock.js:2793 +#: stock/models.py:193 templates/js/translated/stock.js:2790 #: templates/js/translated/table_filters.js:246 msgid "Location type" msgstr "" -#: stock/models.py:185 +#: stock/models.py:197 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:254 +#: stock/models.py:266 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:626 +#: stock/models.py:647 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:653 stock/serializers.py:290 +#: stock/models.py:674 stock/serializers.py:419 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:670 +#: stock/models.py:691 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:680 stock/models.py:693 +#: stock/models.py:701 stock/models.py:714 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:683 +#: stock/models.py:704 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:707 +#: stock/models.py:728 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:712 +#: stock/models.py:733 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:725 +#: stock/models.py:746 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:741 +#: stock/models.py:762 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:753 +#: stock/models.py:774 msgid "Base part" msgstr "" -#: stock/models.py:763 +#: stock/models.py:784 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:775 +#: stock/models.py:796 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:783 stock/serializers.py:1351 +#: stock/models.py:804 stock/serializers.py:1480 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:794 +#: stock/models.py:815 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:813 +#: stock/models.py:834 msgid "Serial number for this item" msgstr "" -#: stock/models.py:827 stock/serializers.py:1334 +#: stock/models.py:848 stock/serializers.py:1463 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:832 +#: stock/models.py:853 msgid "Stock Quantity" msgstr "" -#: stock/models.py:842 +#: stock/models.py:863 msgid "Source Build" msgstr "" -#: stock/models.py:845 +#: stock/models.py:866 msgid "Build for this stock item" msgstr "" -#: stock/models.py:852 stock/templates/stock/item_base.html:363 +#: stock/models.py:873 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:855 +#: stock/models.py:876 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:864 +#: stock/models.py:885 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:868 +#: stock/models.py:889 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:874 +#: stock/models.py:895 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:885 +#: stock/models.py:906 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:903 +#: stock/models.py:924 msgid "Delete on deplete" msgstr "" -#: stock/models.py:904 +#: stock/models.py:925 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:924 +#: stock/models.py:945 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:955 +#: stock/models.py:976 msgid "Converted to part" msgstr "" -#: stock/models.py:1473 +#: stock/models.py:1494 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1479 +#: stock/models.py:1500 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1487 +#: stock/models.py:1508 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1493 +#: stock/models.py:1514 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1498 +#: stock/models.py:1519 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1506 stock/serializers.py:529 +#: stock/models.py:1527 stock/serializers.py:658 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1603 +#: stock/models.py:1624 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1621 +#: stock/models.py:1642 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1625 +#: stock/models.py:1646 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1628 +#: stock/models.py:1649 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1631 +#: stock/models.py:1652 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1634 +#: stock/models.py:1655 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1637 +#: stock/models.py:1658 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1644 stock/serializers.py:1240 +#: stock/models.py:1665 stock/serializers.py:1369 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1648 +#: stock/models.py:1669 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1656 +#: stock/models.py:1677 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1661 +#: stock/models.py:1682 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1882 +#: stock/models.py:1903 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2345 +#: stock/models.py:2322 msgid "Entry notes" msgstr "" -#: stock/models.py:2410 +#: stock/models.py:2387 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2415 +#: stock/models.py:2392 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2442 +#: stock/models.py:2419 msgid "Test result" msgstr "" -#: stock/models.py:2449 +#: stock/models.py:2426 msgid "Test output value" msgstr "" -#: stock/models.py:2457 +#: stock/models.py:2434 msgid "Test result attachment" msgstr "" -#: stock/models.py:2461 +#: stock/models.py:2438 msgid "Test notes" msgstr "" -#: stock/models.py:2469 templates/js/translated/stock.js:1548 +#: stock/models.py:2446 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "" -#: stock/models.py:2470 +#: stock/models.py:2447 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2476 +#: stock/models.py:2453 msgid "Started" msgstr "" -#: stock/models.py:2477 +#: stock/models.py:2454 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2483 +#: stock/models.py:2460 msgid "Finished" msgstr "" -#: stock/models.py:2484 +#: stock/models.py:2461 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:100 +#: stock/serializers.py:75 +msgid "Generated batch code" +msgstr "" + +#: stock/serializers.py:84 +msgid "Select build order" +msgstr "" + +#: stock/serializers.py:93 +msgid "Select stock item to generate batch code for" +msgstr "" + +#: stock/serializers.py:102 +msgid "Select location to generate batch code for" +msgstr "" + +#: stock/serializers.py:111 +msgid "Select part to generate batch code for" +msgstr "" + +#: stock/serializers.py:120 +msgid "Select purchase order" +msgstr "" + +#: stock/serializers.py:127 +msgid "Enter quantity for batch code" +msgstr "" + +#: stock/serializers.py:150 +msgid "Generated serial number" +msgstr "" + +#: stock/serializers.py:159 +msgid "Select part to generate serial number for" +msgstr "" + +#: stock/serializers.py:167 +msgid "Quantity of serial numbers to generate" +msgstr "" + +#: stock/serializers.py:229 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:119 +#: stock/serializers.py:248 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:151 +#: stock/serializers.py:280 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:184 +#: stock/serializers.py:313 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:282 +#: stock/serializers.py:411 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:402 +#: stock/serializers.py:531 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:464 +#: stock/serializers.py:593 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:477 +#: stock/serializers.py:606 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:484 +#: stock/serializers.py:613 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:495 stock/serializers.py:1197 stock/serializers.py:1453 +#: stock/serializers.py:624 stock/serializers.py:1326 stock/serializers.py:1582 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:502 +#: stock/serializers.py:631 msgid "Optional note field" msgstr "" -#: stock/serializers.py:512 +#: stock/serializers.py:641 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:567 +#: stock/serializers.py:696 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:574 +#: stock/serializers.py:703 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:575 +#: stock/serializers.py:704 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:580 stock/serializers.py:660 stock/serializers.py:756 -#: stock/serializers.py:806 +#: stock/serializers.py:709 stock/serializers.py:789 stock/serializers.py:885 +#: stock/serializers.py:935 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:588 +#: stock/serializers.py:717 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:596 +#: stock/serializers.py:725 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:607 +#: stock/serializers.py:736 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:620 +#: stock/serializers.py:749 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:655 +#: stock/serializers.py:784 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:690 +#: stock/serializers.py:819 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:703 +#: stock/serializers.py:832 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:720 +#: stock/serializers.py:849 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:751 +#: stock/serializers.py:880 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:788 +#: stock/serializers.py:917 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:794 +#: stock/serializers.py:923 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:890 stock/serializers.py:953 +#: stock/serializers.py:1019 stock/serializers.py:1082 #: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:213 +#: stock/templates/stock/location.html:220 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1069 +#: stock/serializers.py:1198 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1073 +#: stock/serializers.py:1202 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1077 +#: stock/serializers.py:1206 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1101 +#: stock/serializers.py:1230 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1107 +#: stock/serializers.py:1236 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1115 +#: stock/serializers.py:1244 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1125 stock/serializers.py:1379 +#: stock/serializers.py:1254 stock/serializers.py:1508 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1204 +#: stock/serializers.py:1333 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1209 +#: stock/serializers.py:1338 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1210 +#: stock/serializers.py:1339 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1215 +#: stock/serializers.py:1344 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1216 +#: stock/serializers.py:1345 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1226 +#: stock/serializers.py:1355 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1293 +#: stock/serializers.py:1422 msgid "No Change" msgstr "" -#: stock/serializers.py:1322 +#: stock/serializers.py:1451 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1341 +#: stock/serializers.py:1470 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1369 +#: stock/serializers.py:1498 msgid "Stock transaction notes" msgstr "" @@ -9352,7 +9427,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:286 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:282 msgid "Delete Test Data" msgstr "" @@ -9368,15 +9443,15 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3274 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3271 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:274 +#: stock/templates/stock/item.html:270 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:304 templates/js/translated/stock.js:1701 +#: stock/templates/stock/item.html:300 templates/js/translated/stock.js:1701 msgid "Add Test Result" msgstr "" @@ -9561,40 +9636,40 @@ msgstr "" msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:507 -#: templates/js/translated/stock.js:1954 +#: stock/templates/stock/item_base.html:504 +#: templates/js/translated/stock.js:1952 msgid "stock item" msgstr "" -#: stock/templates/stock/item_base.html:532 +#: stock/templates/stock/item_base.html:527 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:541 +#: stock/templates/stock/item_base.html:536 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:552 +#: stock/templates/stock/item_base.html:547 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:616 +#: stock/templates/stock/item_base.html:611 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:619 +#: stock/templates/stock/item_base.html:614 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:620 +#: stock/templates/stock/item_base.html:615 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:628 +#: stock/templates/stock/item_base.html:623 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:662 +#: stock/templates/stock/item_base.html:657 msgid "Return to Stock" msgstr "" @@ -9658,28 +9733,32 @@ msgstr "" msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:217 +#: stock/templates/stock/location.html:176 +msgid "Location Type" +msgstr "" + +#: stock/templates/stock/location.html:224 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:218 +#: stock/templates/stock/location.html:225 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:287 -#: templates/js/translated/stock.js:2575 +#: stock/templates/stock/location.html:295 +#: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:315 +#: stock/templates/stock/location.html:317 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:388 +#: stock/templates/stock/location.html:390 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:399 +#: stock/templates/stock/location.html:401 msgid "Link Barcode to Stock Location" msgstr "" @@ -9949,11 +10028,11 @@ msgstr "" msgid "Part Settings" msgstr "" -#: templates/InvenTree/settings/part.html:42 +#: templates/InvenTree/settings/part.html:43 msgid "Part Import" msgstr "" -#: templates/InvenTree/settings/part.html:46 +#: templates/InvenTree/settings/part.html:47 msgid "Import Part" msgstr "" @@ -10174,7 +10253,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:424 +#: templates/js/translated/stock.js:245 users/models.py:411 msgid "Delete" msgstr "" @@ -10283,7 +10362,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2159 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2163 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" @@ -10874,7 +10953,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3218 +#: templates/js/translated/part.js:3217 msgid "Minimum Quantity" msgstr "" @@ -11254,7 +11333,7 @@ msgid "External stock" msgstr "" #: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2595 -#: templates/js/translated/sales_order.js:1910 +#: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" @@ -11264,7 +11343,7 @@ msgstr "" #: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 #: templates/js/translated/part.js:1256 -#: templates/js/translated/sales_order.js:1907 +#: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" @@ -11519,17 +11598,17 @@ msgstr "" #: templates/js/translated/build.js:1576 #: templates/js/translated/purchase_order.js:611 -#: templates/js/translated/sales_order.js:1171 +#: templates/js/translated/sales_order.js:1207 msgid "Select Parts" msgstr "" #: templates/js/translated/build.js:1577 -#: templates/js/translated/sales_order.js:1172 +#: templates/js/translated/sales_order.js:1208 msgid "You must select at least one part to allocate" msgstr "" #: templates/js/translated/build.js:1640 -#: templates/js/translated/sales_order.js:1121 +#: templates/js/translated/sales_order.js:1157 msgid "Specify stock allocation quantity" msgstr "" @@ -11542,7 +11621,7 @@ msgid "All selected parts have been fully allocated" msgstr "" #: templates/js/translated/build.js:1732 -#: templates/js/translated/sales_order.js:1186 +#: templates/js/translated/sales_order.js:1222 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -11551,12 +11630,12 @@ msgid "Allocate Stock Items to Build Order" msgstr "" #: templates/js/translated/build.js:1771 -#: templates/js/translated/sales_order.js:1283 +#: templates/js/translated/sales_order.js:1319 msgid "No matching stock locations" msgstr "" #: templates/js/translated/build.js:1844 -#: templates/js/translated/sales_order.js:1362 +#: templates/js/translated/sales_order.js:1398 msgid "No matching stock items" msgstr "" @@ -11589,9 +11668,9 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 -#: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 -#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 -#: templates/js/translated/stock.js:1985 templates/js/translated/stock.js:2713 +#: templates/js/translated/forms.js:2159 templates/js/translated/forms.js:2175 +#: templates/js/translated/part.js:2315 templates/js/translated/part.js:2741 +#: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "" @@ -11599,21 +11678,17 @@ msgstr "" msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2177 -msgid "Progress" -msgstr "" - -#: templates/js/translated/build.js:2213 templates/js/translated/stock.js:3045 +#: templates/js/translated/build.js:2213 templates/js/translated/stock.js:3042 msgid "No user information" msgstr "" #: templates/js/translated/build.js:2389 -#: templates/js/translated/sales_order.js:1646 +#: templates/js/translated/sales_order.js:1682 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:2390 -#: templates/js/translated/sales_order.js:1647 +#: templates/js/translated/sales_order.js:1683 msgid "Delete stock allocation" msgstr "" @@ -11647,7 +11722,7 @@ msgid "Unit Quantity" msgstr "" #: templates/js/translated/build.js:2591 -#: templates/js/translated/sales_order.js:1915 +#: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" @@ -11664,7 +11739,7 @@ msgid "Allocate tracked items against individual build outputs" msgstr "" #: templates/js/translated/build.js:2662 -#: templates/js/translated/sales_order.js:2016 +#: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "" @@ -11673,7 +11748,7 @@ msgid "Order stock" msgstr "" #: templates/js/translated/build.js:2671 -#: templates/js/translated/sales_order.js:2010 +#: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "" @@ -11923,12 +11998,12 @@ msgid "Delete price break" msgstr "" #: templates/js/translated/filters.js:186 -#: templates/js/translated/filters.js:672 +#: templates/js/translated/filters.js:667 msgid "true" msgstr "" #: templates/js/translated/filters.js:190 -#: templates/js/translated/filters.js:673 +#: templates/js/translated/filters.js:668 msgid "false" msgstr "" @@ -11960,7 +12035,7 @@ msgstr "" msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:582 +#: templates/js/translated/filters.js:577 msgid "Create filter" msgstr "" @@ -11993,32 +12068,32 @@ msgstr "" msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1473 templates/modals.html:19 +#: templates/js/translated/forms.js:1477 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1971 +#: templates/js/translated/forms.js:1975 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2275 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2279 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2489 +#: templates/js/translated/forms.js:2493 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3091 +#: templates/js/translated/forms.js:3095 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3091 +#: templates/js/translated/forms.js:3095 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3103 +#: templates/js/translated/forms.js:3107 msgid "Select Columns" msgstr "" @@ -12042,51 +12117,15 @@ msgstr "" msgid "No parts required for builds" msgstr "" -#: templates/js/translated/label.js:53 templates/js/translated/report.js:123 +#: templates/js/translated/label.js:55 templates/js/translated/report.js:38 msgid "Select Items" msgstr "" -#: templates/js/translated/label.js:54 +#: templates/js/translated/label.js:56 templates/js/translated/report.js:39 msgid "No items selected for printing" msgstr "" -#: templates/js/translated/label.js:72 -msgid "No Labels Found" -msgstr "" - -#: templates/js/translated/label.js:73 -msgid "No label templates found which match the selected items" -msgstr "" - -#: templates/js/translated/label.js:97 -msgid "selected" -msgstr "" - -#: templates/js/translated/label.js:133 -msgid "Printing Options" -msgstr "" - -#: templates/js/translated/label.js:148 -msgid "Print label" -msgstr "" - -#: templates/js/translated/label.js:148 -msgid "Print labels" -msgstr "" - #: templates/js/translated/label.js:149 -msgid "Print" -msgstr "" - -#: templates/js/translated/label.js:155 -msgid "Select label template" -msgstr "" - -#: templates/js/translated/label.js:168 -msgid "Select plugin" -msgstr "" - -#: templates/js/translated/label.js:187 msgid "Labels sent to printer" msgstr "" @@ -12204,7 +12243,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1991 +#: templates/js/translated/purchase_order.js:1990 msgid "No line items found" msgstr "" @@ -12442,19 +12481,19 @@ msgid "Delete Part Parameter Template" msgstr "" #: templates/js/translated/part.js:1716 -#: templates/js/translated/purchase_order.js:1655 +#: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1860 -#: templates/js/translated/purchase_order.js:2154 -#: templates/js/translated/return_order.js:756 -#: templates/js/translated/sales_order.js:1875 +#: templates/js/translated/purchase_order.js:2153 +#: templates/js/translated/return_order.js:755 +#: templates/js/translated/sales_order.js:1911 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1906 -#: templates/js/translated/purchase_order.js:2221 +#: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "" @@ -12466,7 +12505,7 @@ msgstr "" msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2506 +#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2505 msgid "No parts found" msgstr "" @@ -12482,101 +12521,101 @@ msgstr "" msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2286 msgid "part" msgstr "" -#: templates/js/translated/part.js:2288 +#: templates/js/translated/part.js:2287 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2384 +#: templates/js/translated/part.js:2383 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 -#: templates/js/translated/stock.js:2672 +#: templates/js/translated/part.js:2530 templates/js/translated/part.js:2660 +#: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2547 +#: templates/js/translated/part.js:2546 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2645 +#: templates/js/translated/part.js:2644 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2692 +#: templates/js/translated/part.js:2680 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2761 +#: templates/js/translated/part.js:2760 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2777 +#: templates/js/translated/part.js:2776 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2864 +#: templates/js/translated/part.js:2863 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2886 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2885 templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2935 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2941 +#: templates/js/translated/part.js:2940 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2957 +#: templates/js/translated/part.js:2956 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2971 +#: templates/js/translated/part.js:2970 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3050 templates/js/translated/part.js:3051 +#: templates/js/translated/part.js:3049 templates/js/translated/part.js:3050 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3053 +#: templates/js/translated/part.js:3052 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3059 +#: templates/js/translated/part.js:3058 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3109 +#: templates/js/translated/part.js:3108 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3115 +#: templates/js/translated/part.js:3114 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3211 +#: templates/js/translated/part.js:3210 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3227 +#: templates/js/translated/part.js:3226 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3272 +#: templates/js/translated/part.js:3271 msgid "Minimum Stock Level" msgstr "" @@ -12702,7 +12741,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:448 #: templates/js/translated/return_order.js:210 -#: templates/js/translated/sales_order.js:500 +#: templates/js/translated/sales_order.js:552 msgid "Mark this order as complete?" msgstr "" @@ -12715,7 +12754,6 @@ msgid "This order has line items which have not been marked as received." msgstr "" #: templates/js/translated/purchase_order.js:460 -#: templates/js/translated/sales_order.js:514 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" @@ -12773,12 +12811,12 @@ msgid "No matching purchase orders" msgstr "" #: templates/js/translated/purchase_order.js:1073 -#: templates/js/translated/return_order.js:491 +#: templates/js/translated/return_order.js:490 msgid "Select Line Items" msgstr "" #: templates/js/translated/purchase_order.js:1074 -#: templates/js/translated/return_order.js:492 +#: templates/js/translated/return_order.js:491 msgid "At least one line item must be selected" msgstr "" @@ -12827,7 +12865,7 @@ msgid "Quantity to Receive" msgstr "" #: templates/js/translated/purchase_order.js:1333 -#: templates/js/translated/return_order.js:561 +#: templates/js/translated/return_order.js:560 msgid "Confirm receipt of items" msgstr "" @@ -12847,81 +12885,66 @@ msgstr "" msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1682 -#: templates/js/translated/return_order.js:286 -#: templates/js/translated/sales_order.js:774 -#: templates/js/translated/sales_order.js:998 +#: templates/js/translated/purchase_order.js:1681 +#: templates/js/translated/return_order.js:285 +#: templates/js/translated/sales_order.js:810 +#: templates/js/translated/sales_order.js:1034 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1748 -#: templates/js/translated/return_order.js:354 -#: templates/js/translated/sales_order.js:851 -#: templates/js/translated/sales_order.js:1011 -msgid "Items" -msgstr "" - -#: templates/js/translated/purchase_order.js:1844 +#: templates/js/translated/purchase_order.js:1843 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1862 +#: templates/js/translated/purchase_order.js:1861 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1917 -#: templates/js/translated/sales_order.js:2070 +#: templates/js/translated/purchase_order.js:1916 +#: templates/js/translated/sales_order.js:2106 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1932 -#: templates/js/translated/return_order.js:476 -#: templates/js/translated/return_order.js:669 -#: templates/js/translated/sales_order.js:2083 +#: templates/js/translated/purchase_order.js:1931 +#: templates/js/translated/return_order.js:475 +#: templates/js/translated/return_order.js:668 +#: templates/js/translated/sales_order.js:2119 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1943 -#: templates/js/translated/return_order.js:682 -#: templates/js/translated/sales_order.js:2094 +#: templates/js/translated/purchase_order.js:1942 +#: templates/js/translated/return_order.js:681 +#: templates/js/translated/sales_order.js:2130 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2225 -#: templates/js/translated/sales_order.js:2024 +#: templates/js/translated/purchase_order.js:2224 +#: templates/js/translated/sales_order.js:2060 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2226 -#: templates/js/translated/return_order.js:801 -#: templates/js/translated/sales_order.js:2025 +#: templates/js/translated/purchase_order.js:2225 +#: templates/js/translated/return_order.js:800 +#: templates/js/translated/sales_order.js:2061 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2227 -#: templates/js/translated/return_order.js:805 -#: templates/js/translated/sales_order.js:2031 +#: templates/js/translated/purchase_order.js:2226 +#: templates/js/translated/return_order.js:804 +#: templates/js/translated/sales_order.js:2067 msgid "Delete line item" msgstr "" -#: templates/js/translated/report.js:63 -msgid "items selected" +#: templates/js/translated/report.js:49 +msgid "Print Report" msgstr "" -#: templates/js/translated/report.js:71 -msgid "Select Report Template" +#: templates/js/translated/report.js:68 +msgid "Report print successful" msgstr "" -#: templates/js/translated/report.js:86 -msgid "Select Test Report Template" -msgstr "" - -#: templates/js/translated/report.js:140 -msgid "No Reports Found" -msgstr "" - -#: templates/js/translated/report.js:141 -msgid "No report templates found which match the selected items" +#: templates/js/translated/report.js:73 +msgid "Report printing failed" msgstr "" #: templates/js/translated/return_order.js:60 @@ -12953,25 +12976,25 @@ msgstr "" msgid "Complete Return Order" msgstr "" -#: templates/js/translated/return_order.js:266 +#: templates/js/translated/return_order.js:265 msgid "No return orders found" msgstr "" -#: templates/js/translated/return_order.js:300 -#: templates/js/translated/sales_order.js:788 +#: templates/js/translated/return_order.js:299 +#: templates/js/translated/sales_order.js:824 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/return_order.js:562 +#: templates/js/translated/return_order.js:561 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:693 -#: templates/js/translated/sales_order.js:2231 +#: templates/js/translated/return_order.js:692 +#: templates/js/translated/sales_order.js:2267 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:798 +#: templates/js/translated/return_order.js:797 msgid "Mark item as received" msgstr "" @@ -13015,140 +13038,156 @@ msgstr "" msgid "Skip" msgstr "" +#: templates/js/translated/sales_order.js:484 +msgid "Ship Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:500 +msgid "Ship this order?" +msgstr "" + +#: templates/js/translated/sales_order.js:506 +msgid "Order cannot be shipped as there are incomplete shipments" +msgstr "" + #: templates/js/translated/sales_order.js:513 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/sales_order.js:535 +#: templates/js/translated/sales_order.js:514 +msgid "Shipping this order means that the order and line items will no longer be editable." +msgstr "" + +#: templates/js/translated/sales_order.js:572 msgid "Issue this Sales Order?" msgstr "" -#: templates/js/translated/sales_order.js:540 +#: templates/js/translated/sales_order.js:577 msgid "Issue Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:559 +#: templates/js/translated/sales_order.js:596 msgid "Cancel Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:564 +#: templates/js/translated/sales_order.js:601 msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: templates/js/translated/sales_order.js:618 +#: templates/js/translated/sales_order.js:655 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/sales_order.js:728 +#: templates/js/translated/sales_order.js:764 msgid "No sales orders found" msgstr "" -#: templates/js/translated/sales_order.js:908 +#: templates/js/translated/sales_order.js:944 msgid "Edit shipment" msgstr "" -#: templates/js/translated/sales_order.js:911 +#: templates/js/translated/sales_order.js:947 msgid "Complete shipment" msgstr "" -#: templates/js/translated/sales_order.js:916 +#: templates/js/translated/sales_order.js:952 msgid "Delete shipment" msgstr "" -#: templates/js/translated/sales_order.js:933 +#: templates/js/translated/sales_order.js:969 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/sales_order.js:948 +#: templates/js/translated/sales_order.js:984 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:981 +#: templates/js/translated/sales_order.js:1017 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/sales_order.js:1006 +#: templates/js/translated/sales_order.js:1042 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/sales_order.js:1030 -#: templates/js/translated/sales_order.js:1529 +#: templates/js/translated/sales_order.js:1066 +#: templates/js/translated/sales_order.js:1565 msgid "Not shipped" msgstr "" -#: templates/js/translated/sales_order.js:1048 +#: templates/js/translated/sales_order.js:1084 msgid "Tracking" msgstr "" -#: templates/js/translated/sales_order.js:1052 +#: templates/js/translated/sales_order.js:1088 msgid "Invoice" msgstr "" -#: templates/js/translated/sales_order.js:1219 +#: templates/js/translated/sales_order.js:1255 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1270 +#: templates/js/translated/sales_order.js:1306 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/sales_order.js:1271 +#: templates/js/translated/sales_order.js:1307 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1477 +#: templates/js/translated/sales_order.js:1513 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1569 +#: templates/js/translated/sales_order.js:1605 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1583 +#: templates/js/translated/sales_order.js:1619 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/sales_order.js:1584 +#: templates/js/translated/sales_order.js:1620 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1623 -#: templates/js/translated/sales_order.js:1710 +#: templates/js/translated/sales_order.js:1659 +#: templates/js/translated/sales_order.js:1746 #: templates/js/translated/stock.js:1776 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/sales_order.js:1631 -#: templates/js/translated/sales_order.js:1719 +#: templates/js/translated/sales_order.js:1667 +#: templates/js/translated/sales_order.js:1755 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:2008 +#: templates/js/translated/sales_order.js:2044 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/sales_order.js:2012 +#: templates/js/translated/sales_order.js:2048 msgid "Purchase stock" msgstr "" -#: templates/js/translated/sales_order.js:2021 -#: templates/js/translated/sales_order.js:2209 +#: templates/js/translated/sales_order.js:2057 +#: templates/js/translated/sales_order.js:2245 msgid "Calculate price" msgstr "" -#: templates/js/translated/sales_order.js:2035 +#: templates/js/translated/sales_order.js:2071 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:2038 +#: templates/js/translated/sales_order.js:2074 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:2109 +#: templates/js/translated/sales_order.js:2145 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/sales_order.js:2217 +#: templates/js/translated/sales_order.js:2253 msgid "Update Unit Price" msgstr "" @@ -13356,7 +13395,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1042 users/models.py:414 +#: templates/js/translated/stock.js:1042 users/models.py:401 msgid "Add" msgstr "" @@ -13372,7 +13411,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1180 templates/js/translated/stock.js:3302 +#: templates/js/translated/stock.js:1180 templates/js/translated/stock.js:3299 msgid "Select Stock Items" msgstr "" @@ -13456,196 +13495,196 @@ msgstr "" msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:1955 +#: templates/js/translated/stock.js:1953 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1960 +#: templates/js/translated/stock.js:1958 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:1971 +#: templates/js/translated/stock.js:1969 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:2015 +#: templates/js/translated/stock.js:2013 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2093 +#: templates/js/translated/stock.js:2091 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2098 +#: templates/js/translated/stock.js:2096 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2101 +#: templates/js/translated/stock.js:2099 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2104 +#: templates/js/translated/stock.js:2102 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2106 +#: templates/js/translated/stock.js:2104 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2108 +#: templates/js/translated/stock.js:2106 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2111 +#: templates/js/translated/stock.js:2109 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2113 +#: templates/js/translated/stock.js:2111 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2117 +#: templates/js/translated/stock.js:2115 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2119 +#: templates/js/translated/stock.js:2117 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2124 +#: templates/js/translated/stock.js:2122 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2126 +#: templates/js/translated/stock.js:2124 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2128 +#: templates/js/translated/stock.js:2126 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2132 +#: templates/js/translated/stock.js:2130 #: templates/js/translated/table_filters.js:350 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2297 +#: templates/js/translated/stock.js:2295 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2344 +#: templates/js/translated/stock.js:2342 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2472 +#: templates/js/translated/stock.js:2470 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2576 +#: templates/js/translated/stock.js:2573 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2731 +#: templates/js/translated/stock.js:2728 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2849 +#: templates/js/translated/stock.js:2846 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2853 +#: templates/js/translated/stock.js:2850 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2865 +#: templates/js/translated/stock.js:2862 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2887 +#: templates/js/translated/stock.js:2884 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2904 +#: templates/js/translated/stock.js:2901 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2919 +#: templates/js/translated/stock.js:2916 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2936 +#: templates/js/translated/stock.js:2933 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:2950 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2972 +#: templates/js/translated/stock.js:2969 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2990 +#: templates/js/translated/stock.js:2987 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:3008 +#: templates/js/translated/stock.js:3005 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:3016 +#: templates/js/translated/stock.js:3013 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3088 +#: templates/js/translated/stock.js:3085 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3142 templates/js/translated/stock.js:3178 +#: templates/js/translated/stock.js:3139 templates/js/translated/stock.js:3175 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3200 +#: templates/js/translated/stock.js:3197 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3221 +#: templates/js/translated/stock.js:3218 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3222 +#: templates/js/translated/stock.js:3219 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3224 +#: templates/js/translated/stock.js:3221 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3225 +#: templates/js/translated/stock.js:3222 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3226 +#: templates/js/translated/stock.js:3223 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3227 +#: templates/js/translated/stock.js:3224 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3240 +#: templates/js/translated/stock.js:3237 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3303 +#: templates/js/translated/stock.js:3300 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3316 +#: templates/js/translated/stock.js:3313 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3320 +#: templates/js/translated/stock.js:3317 msgid "Change Stock Status" msgstr "" @@ -14247,34 +14286,35 @@ msgstr "" msgid "Revoked" msgstr "" -#: users/models.py:397 +#: users/models.py:384 msgid "Permission set" msgstr "" -#: users/models.py:406 +#: users/models.py:393 msgid "Group" msgstr "" -#: users/models.py:410 +#: users/models.py:397 msgid "View" msgstr "" -#: users/models.py:410 +#: users/models.py:397 msgid "Permission to view items" msgstr "" -#: users/models.py:414 +#: users/models.py:401 msgid "Permission to add items" msgstr "" -#: users/models.py:418 +#: users/models.py:405 msgid "Change" msgstr "" -#: users/models.py:420 +#: users/models.py:407 msgid "Permissions to edit items" msgstr "" -#: users/models.py:426 +#: users/models.py:413 msgid "Permission to delete items" msgstr "" + diff --git a/src/backend/InvenTree/locale/fi/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/fi/LC_MESSAGES/django.po index 1c308d623e..07809d4154 100644 --- a/src/backend/InvenTree/locale/fi/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/fi/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-10 05:37+0000\n" -"PO-Revision-Date: 2024-05-10 08:30\n" +"POT-Creation-Date: 2024-05-23 11:25+0000\n" +"PO-Revision-Date: 2024-05-23 11:38\n" "Last-Translator: \n" "Language-Team: Finnish\n" "Language: fi_FI\n" @@ -17,11 +17,11 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 216\n" -#: InvenTree/api.py:271 +#: InvenTree/api.py:272 msgid "API endpoint not found" msgstr "API-rajapintaa ei löydy" -#: InvenTree/api.py:535 +#: InvenTree/api.py:536 msgid "User does not have permission to view this model" msgstr "Käyttäjän oikeudet eivät riitä kohteen tarkastelemiseen" @@ -56,26 +56,26 @@ msgstr "Virheen tiedot löytyvät hallintapaneelista" msgid "Enter date" msgstr "Anna päivämäärä" -#: InvenTree/fields.py:208 InvenTree/models.py:1021 build/serializers.py:444 -#: build/serializers.py:522 build/templates/build/sidebar.html:21 +#: InvenTree/fields.py:208 InvenTree/models.py:1035 build/serializers.py:443 +#: build/serializers.py:521 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 -#: order/models.py:1283 order/templates/order/po_sidebar.html:11 +#: order/models.py:1323 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:59 -#: part/models.py:3175 part/templates/part/part_sidebar.html:63 -#: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:226 stock/models.py:2344 stock/models.py:2461 -#: stock/serializers.py:501 stock/serializers.py:659 stock/serializers.py:755 -#: stock/serializers.py:805 stock/serializers.py:1114 stock/serializers.py:1203 -#: stock/serializers.py:1368 stock/templates/stock/stock_sidebar.html:25 +#: part/models.py:3218 part/templates/part/part_sidebar.html:63 +#: report/templates/report/inventree_build_order_report.html:172 +#: stock/admin.py:226 stock/models.py:2321 stock/models.py:2438 +#: stock/serializers.py:630 stock/serializers.py:788 stock/serializers.py:884 +#: stock/serializers.py:934 stock/serializers.py:1243 stock/serializers.py:1332 +#: stock/serializers.py:1497 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1080 -#: templates/js/translated/purchase_order.js:2201 -#: templates/js/translated/return_order.js:776 -#: templates/js/translated/sales_order.js:1067 -#: templates/js/translated/sales_order.js:1982 -#: templates/js/translated/stock.js:1536 templates/js/translated/stock.js:2430 +#: templates/js/translated/purchase_order.js:2200 +#: templates/js/translated/return_order.js:775 +#: templates/js/translated/sales_order.js:1103 +#: templates/js/translated/sales_order.js:2018 +#: templates/js/translated/stock.js:1536 templates/js/translated/stock.js:2428 msgid "Notes" msgstr "Merkinnät" @@ -132,7 +132,7 @@ msgstr "Annetun sähköpostiosoitteen verkkotunnusta ei hyväksytä." msgid "Registration is disabled." msgstr "" -#: InvenTree/helpers.py:525 order/models.py:541 order/models.py:743 +#: InvenTree/helpers.py:525 order/models.py:563 order/models.py:765 msgid "Invalid quantity provided" msgstr "Annettu määrä on virheellinen" @@ -355,142 +355,142 @@ msgstr "Sähköposti" msgid "Error running plugin validation" msgstr "" -#: InvenTree/models.py:162 +#: InvenTree/models.py:176 msgid "Metadata must be a python dict object" msgstr "Metatietojen tulee olla python dict objekti" -#: InvenTree/models.py:168 +#: InvenTree/models.py:182 msgid "Plugin Metadata" msgstr "Liitännäisen metadata" -#: InvenTree/models.py:169 +#: InvenTree/models.py:183 msgid "JSON metadata field, for use by external plugins" msgstr "JSON metadatakenttä, ulkoisten liitännäisten käyttöön" -#: InvenTree/models.py:399 +#: InvenTree/models.py:413 msgid "Improperly formatted pattern" msgstr "Virheellisesti muotoiltu malli" -#: InvenTree/models.py:406 +#: InvenTree/models.py:420 msgid "Unknown format key specified" msgstr "" -#: InvenTree/models.py:412 +#: InvenTree/models.py:426 msgid "Missing required format key" msgstr "" -#: InvenTree/models.py:423 +#: InvenTree/models.py:437 msgid "Reference field cannot be empty" msgstr "Viitekenttä ei voi olla tyhjä" -#: InvenTree/models.py:431 +#: InvenTree/models.py:445 msgid "Reference must match required pattern" msgstr "" -#: InvenTree/models.py:462 +#: InvenTree/models.py:476 msgid "Reference number is too large" msgstr "Viitenumero on liian suuri" -#: InvenTree/models.py:536 +#: InvenTree/models.py:550 msgid "Missing file" msgstr "Puuttuva tiedosto" -#: InvenTree/models.py:537 +#: InvenTree/models.py:551 msgid "Missing external link" msgstr "Puuttuva ulkoinen linkki" -#: InvenTree/models.py:558 stock/models.py:2456 +#: InvenTree/models.py:572 stock/models.py:2433 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" msgstr "Liite" -#: InvenTree/models.py:559 +#: InvenTree/models.py:573 msgid "Select file to attach" msgstr "Valitse liitettävä tiedosto" -#: InvenTree/models.py:567 common/models.py:3026 company/models.py:146 +#: InvenTree/models.py:581 common/models.py:3032 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 -#: order/models.py:291 order/models.py:1288 order/models.py:1704 -#: part/admin.py:55 part/models.py:919 +#: order/models.py:304 order/models.py:1328 order/models.py:1744 +#: part/admin.py:55 part/models.py:962 #: part/templates/part/part_scheduling.html:11 -#: report/templates/report/inventree_build_order_base.html:164 +#: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2456 -#: templates/js/translated/purchase_order.js:2041 -#: templates/js/translated/purchase_order.js:2205 -#: templates/js/translated/return_order.js:780 -#: templates/js/translated/sales_order.js:1056 -#: templates/js/translated/sales_order.js:1987 +#: templates/js/translated/part.js:2455 +#: templates/js/translated/purchase_order.js:2040 +#: templates/js/translated/purchase_order.js:2204 +#: templates/js/translated/return_order.js:779 +#: templates/js/translated/sales_order.js:1092 +#: templates/js/translated/sales_order.js:2023 msgid "Link" msgstr "Linkki" -#: InvenTree/models.py:568 build/models.py:321 part/models.py:920 -#: stock/models.py:819 +#: InvenTree/models.py:582 build/models.py:344 part/models.py:963 +#: stock/models.py:840 msgid "Link to external URL" msgstr "Linkki ulkoiseen URLiin" -#: InvenTree/models.py:574 templates/js/translated/attachment.js:120 +#: InvenTree/models.py:588 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:341 msgid "Comment" msgstr "Kommentti" -#: InvenTree/models.py:575 +#: InvenTree/models.py:589 msgid "File comment" msgstr "Tiedoston kommentti" -#: InvenTree/models.py:583 InvenTree/models.py:584 common/models.py:2502 -#: common/models.py:2503 common/models.py:2727 common/models.py:2728 -#: common/models.py:2973 common/models.py:2974 part/models.py:3185 -#: part/models.py:3272 part/models.py:3365 part/models.py:3393 -#: plugin/models.py:250 plugin/models.py:251 -#: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3039 users/models.py:111 +#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2508 +#: common/models.py:2509 common/models.py:2733 common/models.py:2734 +#: common/models.py:2979 common/models.py:2980 part/models.py:3228 +#: part/models.py:3315 part/models.py:3408 part/models.py:3436 +#: plugin/models.py:259 plugin/models.py:260 +#: report/templates/report/inventree_test_report.html:105 +#: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" msgstr "Käyttäjä" -#: InvenTree/models.py:588 +#: InvenTree/models.py:602 msgid "upload date" msgstr "latauspäivä" -#: InvenTree/models.py:610 +#: InvenTree/models.py:624 msgid "Filename must not be empty" msgstr "Tiedoston nimi ei saa olla tyhjä" -#: InvenTree/models.py:621 +#: InvenTree/models.py:635 msgid "Invalid attachment directory" msgstr "Virheellinen liitteen hakemisto" -#: InvenTree/models.py:651 +#: InvenTree/models.py:665 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "Tiedostonimi sisältää kielletyn merkin '{c}'" -#: InvenTree/models.py:654 +#: InvenTree/models.py:668 msgid "Filename missing extension" msgstr "Tiedostonimen pääte puuttuu" -#: InvenTree/models.py:663 +#: InvenTree/models.py:677 msgid "Attachment with this filename already exists" msgstr "Samanniminen liite on jo olemassa" -#: InvenTree/models.py:670 +#: InvenTree/models.py:684 msgid "Error renaming file" msgstr "Virhe tiedoston uudelleennimeämisessä" -#: InvenTree/models.py:846 +#: InvenTree/models.py:860 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:863 +#: InvenTree/models.py:877 msgid "Invalid choice" msgstr "Virheellinen valinta" -#: InvenTree/models.py:893 common/models.py:2714 common/models.py:3112 -#: common/serializers.py:403 company/models.py:614 label/models.py:120 -#: machine/models.py:24 part/models.py:855 part/models.py:3616 -#: plugin/models.py:41 report/models.py:176 stock/models.py:76 +#: InvenTree/models.py:907 common/models.py:2720 common/models.py:3118 +#: common/serializers.py:403 company/models.py:614 machine/models.py:24 +#: part/models.py:898 part/models.py:3659 plugin/models.py:50 +#: report/models.py:149 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -503,22 +503,22 @@ msgstr "Virheellinen valinta" #: templates/js/translated/company.js:1165 #: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186 #: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2719 +#: templates/js/translated/part.js:2748 templates/js/translated/stock.js:2716 msgid "Name" msgstr "Nimi" -#: InvenTree/models.py:899 build/models.py:194 +#: InvenTree/models.py:913 build/models.py:217 #: build/templates/build/detail.html:24 common/models.py:136 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 label/models.py:127 -#: order/models.py:277 order/models.py:1316 part/admin.py:303 part/admin.py:414 -#: part/models.py:878 part/models.py:3631 part/templates/part/category.html:82 +#: company/templates/company/supplier_part.html:107 order/models.py:290 +#: order/models.py:1356 part/admin.py:305 part/admin.py:416 part/models.py:921 +#: part/models.py:3674 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 -#: part/templates/part/part_scheduling.html:12 report/models.py:189 -#: report/models.py:655 report/models.py:729 -#: report/templates/report/inventree_build_order_base.html:117 +#: part/templates/part/part_scheduling.html:12 report/models.py:155 +#: report/models.py:510 report/models.py:536 +#: report/templates/report/inventree_build_order_report.html:117 #: stock/admin.py:55 stock/models.py:82 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 @@ -530,71 +530,71 @@ msgstr "Nimi" #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 -#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2896 +#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2354 +#: templates/js/translated/part.js:2784 templates/js/translated/part.js:2895 #: templates/js/translated/plugin.js:80 -#: templates/js/translated/purchase_order.js:1707 -#: templates/js/translated/purchase_order.js:1850 -#: templates/js/translated/purchase_order.js:2023 -#: templates/js/translated/return_order.js:314 -#: templates/js/translated/sales_order.js:802 -#: templates/js/translated/sales_order.js:1812 -#: templates/js/translated/stock.js:1515 templates/js/translated/stock.js:2060 -#: templates/js/translated/stock.js:2751 templates/js/translated/stock.js:2834 +#: templates/js/translated/purchase_order.js:1706 +#: templates/js/translated/purchase_order.js:1849 +#: templates/js/translated/purchase_order.js:2022 +#: templates/js/translated/return_order.js:313 +#: templates/js/translated/sales_order.js:838 +#: templates/js/translated/sales_order.js:1848 +#: templates/js/translated/stock.js:1515 templates/js/translated/stock.js:2058 +#: templates/js/translated/stock.js:2748 templates/js/translated/stock.js:2831 msgid "Description" msgstr "Kuvaus" -#: InvenTree/models.py:900 stock/models.py:83 +#: InvenTree/models.py:914 stock/models.py:83 msgid "Description (optional)" msgstr "Kuvaus (valinnainen)" -#: InvenTree/models.py:909 +#: InvenTree/models.py:923 msgid "parent" msgstr "" -#: InvenTree/models.py:915 templates/js/translated/part.js:2794 -#: templates/js/translated/stock.js:2760 +#: InvenTree/models.py:929 templates/js/translated/part.js:2793 +#: templates/js/translated/stock.js:2757 msgid "Path" msgstr "Polku" -#: InvenTree/models.py:1021 +#: InvenTree/models.py:1035 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:1050 +#: InvenTree/models.py:1064 msgid "Barcode Data" msgstr "Viivakoodin Tiedot" -#: InvenTree/models.py:1051 +#: InvenTree/models.py:1065 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:1057 +#: InvenTree/models.py:1071 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:1058 +#: InvenTree/models.py:1072 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:1111 +#: InvenTree/models.py:1125 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:1154 +#: InvenTree/models.py:1168 msgid "Server Error" msgstr "Palvelinvirhe" -#: InvenTree/models.py:1155 +#: InvenTree/models.py:1169 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:62 part/models.py:4169 +#: InvenTree/serializers.py:62 part/models.py:4212 msgid "Must be a valid number" msgstr "Täytyy olla kelvollinen luku" #: InvenTree/serializers.py:99 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:2993 +#: company/templates/company/company_base.html:112 part/models.py:3036 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -686,7 +686,7 @@ msgstr "Kuvatiedoston URL" msgid "Downloading images from remote URL is not enabled" msgstr "Kuvien lataaminen ei ole käytössä" -#: InvenTree/status.py:66 part/serializers.py:1161 +#: InvenTree/status.py:66 part/serializers.py:1176 msgid "Background worker check failed" msgstr "" @@ -699,8 +699,8 @@ msgid "InvenTree system health checks failed" msgstr "InvenTree järjestelmän terveystarkastukset epäonnistui" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:37 -#: InvenTree/status_codes.py:148 InvenTree/status_codes.py:164 -#: InvenTree/status_codes.py:182 generic/states/tests.py:17 +#: InvenTree/status_codes.py:149 InvenTree/status_codes.py:165 +#: InvenTree/status_codes.py:183 generic/states/tests.py:17 #: templates/js/translated/table_filters.js:598 msgid "Pending" msgstr "Odottaa" @@ -709,188 +709,188 @@ msgstr "Odottaa" msgid "Placed" msgstr "" -#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:151 -#: InvenTree/status_codes.py:169 generic/states/tests.py:19 -#: order/templates/order/order_base.html:158 -#: order/templates/order/sales_order_base.html:161 +#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:44 +#: InvenTree/status_codes.py:152 InvenTree/status_codes.py:170 +#: generic/states/tests.py:19 order/templates/order/order_base.html:158 +#: order/templates/order/sales_order_base.html:165 report/models.py:444 msgid "Complete" msgstr "Valmis" -#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:44 -#: InvenTree/status_codes.py:150 InvenTree/status_codes.py:170 +#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:45 +#: InvenTree/status_codes.py:151 InvenTree/status_codes.py:171 msgid "Cancelled" msgstr "Peruttu" -#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:45 -#: InvenTree/status_codes.py:67 +#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:46 +#: InvenTree/status_codes.py:68 msgid "Lost" msgstr "Kadonnut" -#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:46 -#: InvenTree/status_codes.py:73 +#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:47 +#: InvenTree/status_codes.py:74 msgid "Returned" msgstr "Palautettu" -#: InvenTree/status_codes.py:40 InvenTree/status_codes.py:167 +#: InvenTree/status_codes.py:40 InvenTree/status_codes.py:168 msgid "In Progress" msgstr "Kesken" -#: InvenTree/status_codes.py:43 order/models.py:1566 -#: templates/js/translated/sales_order.js:1523 -#: templates/js/translated/sales_order.js:1644 -#: templates/js/translated/sales_order.js:1957 +#: InvenTree/status_codes.py:43 order/models.py:1606 +#: templates/js/translated/sales_order.js:1559 +#: templates/js/translated/sales_order.js:1680 +#: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "Lähetetty" -#: InvenTree/status_codes.py:62 +#: InvenTree/status_codes.py:63 msgid "OK" msgstr "" -#: InvenTree/status_codes.py:63 +#: InvenTree/status_codes.py:64 msgid "Attention needed" msgstr "Huomiota tarvitaan" -#: InvenTree/status_codes.py:64 +#: InvenTree/status_codes.py:65 msgid "Damaged" msgstr "Vahingoittunut" -#: InvenTree/status_codes.py:65 +#: InvenTree/status_codes.py:66 msgid "Destroyed" msgstr "Tuhottu" -#: InvenTree/status_codes.py:66 +#: InvenTree/status_codes.py:67 msgid "Rejected" msgstr "Hylätty" -#: InvenTree/status_codes.py:70 +#: InvenTree/status_codes.py:71 msgid "Quarantined" msgstr "Asetettu karanteeniin" -#: InvenTree/status_codes.py:91 +#: InvenTree/status_codes.py:92 msgid "Legacy stock tracking entry" msgstr "" -#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:544 +#: InvenTree/status_codes.py:94 templates/js/translated/stock.js:544 msgid "Stock item created" msgstr "Varastotuote luotu" -#: InvenTree/status_codes.py:96 +#: InvenTree/status_codes.py:97 msgid "Edited stock item" msgstr "" -#: InvenTree/status_codes.py:97 +#: InvenTree/status_codes.py:98 msgid "Assigned serial number" msgstr "" -#: InvenTree/status_codes.py:100 +#: InvenTree/status_codes.py:101 msgid "Stock counted" msgstr "" -#: InvenTree/status_codes.py:101 +#: InvenTree/status_codes.py:102 msgid "Stock manually added" msgstr "" -#: InvenTree/status_codes.py:102 +#: InvenTree/status_codes.py:103 msgid "Stock manually removed" msgstr "" -#: InvenTree/status_codes.py:105 +#: InvenTree/status_codes.py:106 msgid "Location changed" msgstr "Sijainti muutettu" -#: InvenTree/status_codes.py:106 +#: InvenTree/status_codes.py:107 msgid "Stock updated" msgstr "Varasto päivitetty" -#: InvenTree/status_codes.py:109 +#: InvenTree/status_codes.py:110 msgid "Installed into assembly" msgstr "" -#: InvenTree/status_codes.py:110 +#: InvenTree/status_codes.py:111 msgid "Removed from assembly" msgstr "" -#: InvenTree/status_codes.py:112 +#: InvenTree/status_codes.py:113 msgid "Installed component item" msgstr "" -#: InvenTree/status_codes.py:113 +#: InvenTree/status_codes.py:114 msgid "Removed component item" msgstr "" -#: InvenTree/status_codes.py:116 +#: InvenTree/status_codes.py:117 msgid "Split from parent item" msgstr "" -#: InvenTree/status_codes.py:117 +#: InvenTree/status_codes.py:118 msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1858 +#: InvenTree/status_codes.py:121 templates/js/translated/stock.js:1858 msgid "Merged stock items" msgstr "" -#: InvenTree/status_codes.py:123 +#: InvenTree/status_codes.py:124 msgid "Converted to variant" msgstr "" -#: InvenTree/status_codes.py:126 +#: InvenTree/status_codes.py:127 msgid "Build order output created" msgstr "" -#: InvenTree/status_codes.py:127 +#: InvenTree/status_codes.py:128 msgid "Build order output completed" msgstr "" -#: InvenTree/status_codes.py:128 +#: InvenTree/status_codes.py:129 msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1764 +#: InvenTree/status_codes.py:130 templates/js/translated/stock.js:1764 msgid "Consumed by build order" msgstr "" -#: InvenTree/status_codes.py:132 +#: InvenTree/status_codes.py:133 msgid "Shipped against Sales Order" msgstr "" -#: InvenTree/status_codes.py:135 +#: InvenTree/status_codes.py:136 msgid "Received against Purchase Order" msgstr "" -#: InvenTree/status_codes.py:138 +#: InvenTree/status_codes.py:139 msgid "Returned against Return Order" msgstr "" -#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:375 +#: InvenTree/status_codes.py:142 templates/js/translated/table_filters.js:375 msgid "Sent to customer" msgstr "" -#: InvenTree/status_codes.py:142 +#: InvenTree/status_codes.py:143 msgid "Returned from customer" msgstr "" -#: InvenTree/status_codes.py:149 +#: InvenTree/status_codes.py:150 msgid "Production" msgstr "" -#: InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:186 msgid "Return" msgstr "" -#: InvenTree/status_codes.py:188 +#: InvenTree/status_codes.py:189 msgid "Repair" msgstr "" -#: InvenTree/status_codes.py:191 +#: InvenTree/status_codes.py:192 msgid "Replace" msgstr "" -#: InvenTree/status_codes.py:194 +#: InvenTree/status_codes.py:195 msgid "Refund" msgstr "" -#: InvenTree/status_codes.py:197 +#: InvenTree/status_codes.py:198 msgid "Reject" msgstr "" @@ -946,14 +946,14 @@ msgstr "Tietoja InvenTree:stä" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:299 part/models.py:4047 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4090 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4041 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4084 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -969,7 +969,7 @@ msgstr "" #: build/api.py:303 part/admin.py:144 templates/js/translated/build.js:1744 #: templates/js/translated/build.js:2629 -#: templates/js/translated/sales_order.js:1929 +#: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "" @@ -980,7 +980,7 @@ msgstr "" #: templates/email/low_stock_notification.html:17 #: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 #: templates/js/translated/index.js:123 -#: templates/js/translated/model_renderers.js:228 +#: templates/js/translated/model_renderers.js:234 #: templates/js/translated/part.js:692 templates/js/translated/part.js:694 #: templates/js/translated/part.js:699 #: templates/js/translated/table_filters.js:340 @@ -988,16 +988,16 @@ msgstr "" msgid "Available" msgstr "Saatavilla" -#: build/models.py:74 build/templates/build/build_base.html:9 +#: build/models.py:82 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 -#: report/templates/report/inventree_build_order_base.html:105 -#: templates/email/build_order_completed.html:16 +#: report/templates/report/inventree_build_order_report.html:105 +#: stock/serializers.py:83 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2895 +#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2892 msgid "Build Order" msgstr "" -#: build/models.py:75 build/templates/build/build_base.html:13 +#: build/models.py:83 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -1008,71 +1008,71 @@ msgstr "" msgid "Build Orders" msgstr "" -#: build/models.py:122 +#: build/models.py:130 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:133 order/models.py:239 +#: build/models.py:141 order/models.py:241 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:139 +#: build/models.py:147 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:185 +#: build/models.py:208 msgid "Build Order Reference" msgstr "" -#: build/models.py:186 order/models.py:442 order/models.py:898 -#: order/models.py:1276 order/models.py:1998 part/admin.py:417 -#: part/models.py:4062 part/templates/part/upload_bom.html:54 +#: build/models.py:209 order/models.py:464 order/models.py:929 +#: order/models.py:1316 order/models.py:2047 part/admin.py:419 +#: part/models.py:4105 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 -#: report/templates/report/inventree_so_report_base.html:28 +#: report/templates/report/inventree_purchase_order_report.html:28 +#: report/templates/report/inventree_return_order_report.html:26 +#: report/templates/report/inventree_sales_order_report.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 #: templates/js/translated/build.js:2512 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 -#: templates/js/translated/purchase_order.js:2066 -#: templates/js/translated/return_order.js:729 -#: templates/js/translated/sales_order.js:1818 +#: templates/js/translated/purchase_order.js:2065 +#: templates/js/translated/return_order.js:728 +#: templates/js/translated/sales_order.js:1854 msgid "Reference" msgstr "" -#: build/models.py:197 +#: build/models.py:220 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:205 build/templates/build/build_base.html:183 +#: build/models.py:228 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:206 +#: build/models.py:229 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:211 build/templates/build/build_base.html:97 +#: build/models.py:234 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 -#: order/models.py:1401 order/models.py:1546 order/models.py:1547 -#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004 -#: part/models.py:3148 part/models.py:3292 part/models.py:3315 -#: part/models.py:3336 part/models.py:3358 part/models.py:3468 -#: part/models.py:3764 part/models.py:3920 part/models.py:4013 -#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713 +#: order/models.py:1441 order/models.py:1586 order/models.py:1587 +#: part/api.py:1501 part/api.py:1795 part/models.py:392 part/models.py:3047 +#: part/models.py:3191 part/models.py:3335 part/models.py:3358 +#: part/models.py:3379 part/models.py:3401 part/models.py:3511 +#: part/models.py:3807 part/models.py:3963 part/models.py:4056 +#: part/models.py:4417 part/serializers.py:1122 part/serializers.py:1728 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 -#: report/templates/report/inventree_build_order_base.html:109 -#: report/templates/report/inventree_po_report_base.html:27 -#: report/templates/report/inventree_return_order_report_base.html:24 -#: report/templates/report/inventree_slr_report.html:102 -#: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:267 stock/serializers.py:689 -#: templates/InvenTree/search.html:82 +#: report/templates/report/inventree_build_order_report.html:109 +#: report/templates/report/inventree_purchase_order_report.html:27 +#: report/templates/report/inventree_return_order_report.html:24 +#: report/templates/report/inventree_sales_order_report.html:27 +#: report/templates/report/inventree_stock_location_report.html:102 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:396 +#: stock/serializers.py:818 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -1086,235 +1086,239 @@ msgstr "" #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 #: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 -#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:2323 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:751 #: templates/js/translated/purchase_order.js:1304 -#: templates/js/translated/purchase_order.js:1849 -#: templates/js/translated/purchase_order.js:2008 -#: templates/js/translated/return_order.js:539 -#: templates/js/translated/return_order.js:710 +#: templates/js/translated/purchase_order.js:1848 +#: templates/js/translated/purchase_order.js:2007 +#: templates/js/translated/return_order.js:538 +#: templates/js/translated/return_order.js:709 #: templates/js/translated/sales_order.js:300 -#: templates/js/translated/sales_order.js:1197 -#: templates/js/translated/sales_order.js:1598 -#: templates/js/translated/sales_order.js:1796 +#: templates/js/translated/sales_order.js:1233 +#: templates/js/translated/sales_order.js:1634 +#: templates/js/translated/sales_order.js:1832 #: templates/js/translated/stock.js:676 templates/js/translated/stock.js:842 -#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1999 -#: templates/js/translated/stock.js:2860 templates/js/translated/stock.js:3093 -#: templates/js/translated/stock.js:3239 +#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1997 +#: templates/js/translated/stock.js:2857 templates/js/translated/stock.js:3090 +#: templates/js/translated/stock.js:3236 msgid "Part" msgstr "Osa" -#: build/models.py:219 +#: build/models.py:242 msgid "Select part to build" msgstr "" -#: build/models.py:224 +#: build/models.py:247 msgid "Sales Order Reference" msgstr "" -#: build/models.py:228 +#: build/models.py:251 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:233 build/serializers.py:970 +#: build/models.py:256 build/serializers.py:969 #: templates/js/translated/build.js:1731 -#: templates/js/translated/sales_order.js:1185 +#: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "" -#: build/models.py:237 +#: build/models.py:260 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:242 +#: build/models.py:265 msgid "Destination Location" msgstr "" -#: build/models.py:246 +#: build/models.py:269 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:250 +#: build/models.py:273 msgid "Build Quantity" msgstr "" -#: build/models.py:253 +#: build/models.py:276 msgid "Number of stock items to build" msgstr "" -#: build/models.py:257 +#: build/models.py:280 msgid "Completed items" msgstr "" -#: build/models.py:259 +#: build/models.py:282 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:263 +#: build/models.py:286 msgid "Build Status" msgstr "" -#: build/models.py:267 +#: build/models.py:290 msgid "Build status code" msgstr "" -#: build/models.py:276 build/serializers.py:278 order/serializers.py:581 -#: stock/models.py:823 stock/serializers.py:1333 +#: build/models.py:299 build/serializers.py:277 order/serializers.py:581 +#: stock/models.py:844 stock/serializers.py:75 stock/serializers.py:1462 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" -#: build/models.py:280 build/serializers.py:279 +#: build/models.py:303 build/serializers.py:278 msgid "Batch code for this build output" msgstr "" -#: build/models.py:283 order/models.py:304 order/serializers.py:120 -#: part/models.py:1079 part/templates/part/part_base.html:310 -#: templates/js/translated/return_order.js:339 -#: templates/js/translated/sales_order.js:827 +#: build/models.py:306 order/models.py:317 order/serializers.py:120 +#: part/models.py:1122 part/templates/part/part_base.html:310 +#: templates/js/translated/return_order.js:338 +#: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "" -#: build/models.py:287 +#: build/models.py:310 msgid "Target completion date" msgstr "" -#: build/models.py:288 +#: build/models.py:311 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:291 order/models.py:500 order/models.py:2043 +#: build/models.py:314 order/models.py:522 order/models.py:2092 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "" -#: build/models.py:297 +#: build/models.py:320 msgid "completed by" msgstr "" -#: build/models.py:305 templates/js/translated/build.js:2207 +#: build/models.py:328 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "" -#: build/models.py:306 +#: build/models.py:329 msgid "User who issued this build order" msgstr "" -#: build/models.py:314 build/templates/build/build_base.html:204 +#: build/models.py:337 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:145 -#: order/models.py:322 order/templates/order/order_base.html:217 +#: order/models.py:335 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1096 +#: order/templates/order/sales_order_base.html:232 part/models.py:1139 #: part/templates/part/part_base.html:390 -#: report/templates/report/inventree_build_order_base.html:158 +#: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 #: templates/js/translated/build.js:2219 -#: templates/js/translated/purchase_order.js:1764 -#: templates/js/translated/return_order.js:359 +#: templates/js/translated/purchase_order.js:1763 +#: templates/js/translated/return_order.js:358 #: templates/js/translated/table_filters.js:531 msgid "Responsible" msgstr "" -#: build/models.py:315 +#: build/models.py:338 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:320 build/templates/build/detail.html:108 +#: build/models.py:343 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 -#: order/templates/order/sales_order_base.html:180 -#: part/templates/part/part_base.html:383 stock/models.py:819 +#: order/templates/order/sales_order_base.html:184 +#: part/templates/part/part_base.html:383 stock/models.py:840 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "Ulkoinen linkki" -#: build/models.py:325 +#: build/models.py:348 msgid "Build Priority" msgstr "" -#: build/models.py:328 +#: build/models.py:351 msgid "Priority of this build order" msgstr "" -#: build/models.py:335 common/models.py:129 order/admin.py:18 -#: order/models.py:286 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:358 common/models.py:129 order/admin.py:18 +#: order/models.py:299 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 -#: templates/js/translated/purchase_order.js:1711 -#: templates/js/translated/return_order.js:318 -#: templates/js/translated/sales_order.js:806 +#: templates/js/translated/purchase_order.js:1710 +#: templates/js/translated/return_order.js:317 +#: templates/js/translated/sales_order.js:842 #: templates/js/translated/table_filters.js:48 #: templates/project_code_data.html:6 msgid "Project Code" msgstr "" -#: build/models.py:336 +#: build/models.py:359 msgid "Project code for this build order" msgstr "" -#: build/models.py:566 build/models.py:631 +#: build/models.py:589 build/models.py:654 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:588 +#: build/models.py:611 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:594 +#: build/models.py:617 msgid "A build order has been completed" msgstr "" -#: build/models.py:820 build/models.py:895 +#: build/models.py:843 build/models.py:918 msgid "No build output specified" msgstr "" -#: build/models.py:823 +#: build/models.py:846 msgid "Build output is already completed" msgstr "" -#: build/models.py:826 +#: build/models.py:849 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:899 build/serializers.py:221 build/serializers.py:260 -#: build/serializers.py:837 order/models.py:538 order/serializers.py:433 -#: order/serializers.py:576 part/serializers.py:1471 part/serializers.py:1871 -#: stock/models.py:662 stock/models.py:1482 stock/serializers.py:472 +#: build/models.py:922 build/serializers.py:220 build/serializers.py:259 +#: build/serializers.py:836 order/models.py:560 order/serializers.py:433 +#: order/serializers.py:576 part/serializers.py:1486 part/serializers.py:1886 +#: stock/models.py:683 stock/models.py:1503 stock/serializers.py:601 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:904 build/serializers.py:226 +#: build/models.py:927 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:961 build/serializers.py:539 +#: build/models.py:984 build/serializers.py:538 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1323 +#: build/models.py:1335 +msgid "Build Order Line Item" +msgstr "" + +#: build/models.py:1360 msgid "Build object" msgstr "" -#: build/models.py:1337 build/models.py:1593 build/serializers.py:208 -#: build/serializers.py:245 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2524 -#: order/models.py:1259 order/models.py:1918 order/serializers.py:1339 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 -#: part/forms.py:48 part/models.py:3162 part/models.py:4035 +#: build/models.py:1374 build/models.py:1630 build/serializers.py:207 +#: build/serializers.py:244 build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2530 +#: order/models.py:1299 order/models.py:1958 order/serializers.py:1339 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 +#: part/forms.py:48 part/models.py:3205 part/models.py:4078 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 -#: report/templates/report/inventree_build_order_base.html:113 -#: report/templates/report/inventree_po_report_base.html:29 -#: report/templates/report/inventree_slr_report.html:104 -#: report/templates/report/inventree_so_report_base.html:29 -#: report/templates/report/inventree_test_report_base.html:90 -#: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:160 stock/serializers.py:463 +#: report/templates/report/inventree_build_order_report.html:113 +#: report/templates/report/inventree_purchase_order_report.html:29 +#: report/templates/report/inventree_sales_order_report.html:29 +#: report/templates/report/inventree_stock_location_report.html:104 +#: report/templates/report/inventree_test_report.html:90 +#: report/templates/report/inventree_test_report.html:170 stock/admin.py:160 +#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:592 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1324,380 +1328,381 @@ msgstr "" #: templates/js/translated/build.js:737 templates/js/translated/build.js:1369 #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 -#: templates/js/translated/model_renderers.js:230 +#: templates/js/translated/model_renderers.js:236 #: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3341 +#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3340 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 #: templates/js/translated/purchase_order.js:754 -#: templates/js/translated/purchase_order.js:1853 -#: templates/js/translated/purchase_order.js:2072 +#: templates/js/translated/purchase_order.js:1852 +#: templates/js/translated/purchase_order.js:2071 #: templates/js/translated/sales_order.js:317 -#: templates/js/translated/sales_order.js:1199 -#: templates/js/translated/sales_order.js:1518 -#: templates/js/translated/sales_order.js:1608 -#: templates/js/translated/sales_order.js:1698 -#: templates/js/translated/sales_order.js:1824 +#: templates/js/translated/sales_order.js:1235 +#: templates/js/translated/sales_order.js:1554 +#: templates/js/translated/sales_order.js:1644 +#: templates/js/translated/sales_order.js:1734 +#: templates/js/translated/sales_order.js:1860 #: templates/js/translated/stock.js:564 templates/js/translated/stock.js:702 -#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:3024 -#: templates/js/translated/stock.js:3107 +#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:3021 +#: templates/js/translated/stock.js:3104 msgid "Quantity" msgstr "Määrä" -#: build/models.py:1338 +#: build/models.py:1375 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1418 +#: build/models.py:1455 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1427 +#: build/models.py:1464 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1437 order/models.py:1869 +#: build/models.py:1474 order/models.py:1909 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1443 order/models.py:1872 +#: build/models.py:1480 order/models.py:1912 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1449 +#: build/models.py:1486 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1508 +#: build/models.py:1545 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1580 build/serializers.py:817 order/serializers.py:1183 -#: order/serializers.py:1204 stock/serializers.py:566 stock/serializers.py:1052 -#: stock/serializers.py:1164 stock/templates/stock/item_base.html:10 +#: build/models.py:1617 build/serializers.py:816 order/serializers.py:1183 +#: order/serializers.py:1204 stock/models.py:364 stock/serializers.py:92 +#: stock/serializers.py:695 stock/serializers.py:1181 stock/serializers.py:1293 +#: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 #: templates/js/translated/build.js:1745 #: templates/js/translated/sales_order.js:301 -#: templates/js/translated/sales_order.js:1198 -#: templates/js/translated/sales_order.js:1499 -#: templates/js/translated/sales_order.js:1504 -#: templates/js/translated/sales_order.js:1605 -#: templates/js/translated/sales_order.js:1692 +#: templates/js/translated/sales_order.js:1234 +#: templates/js/translated/sales_order.js:1535 +#: templates/js/translated/sales_order.js:1540 +#: templates/js/translated/sales_order.js:1641 +#: templates/js/translated/sales_order.js:1728 #: templates/js/translated/stock.js:677 templates/js/translated/stock.js:843 -#: templates/js/translated/stock.js:2980 +#: templates/js/translated/stock.js:2977 msgid "Stock Item" msgstr "Varastotuote" -#: build/models.py:1581 +#: build/models.py:1618 msgid "Source stock item" msgstr "" -#: build/models.py:1594 +#: build/models.py:1631 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1602 +#: build/models.py:1639 msgid "Install into" msgstr "" -#: build/models.py:1603 +#: build/models.py:1640 msgid "Destination stock item" msgstr "" -#: build/serializers.py:158 build/serializers.py:846 +#: build/serializers.py:157 build/serializers.py:845 #: templates/js/translated/build.js:1322 msgid "Build Output" msgstr "" -#: build/serializers.py:170 +#: build/serializers.py:169 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:174 +#: build/serializers.py:173 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:178 +#: build/serializers.py:177 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:189 +#: build/serializers.py:188 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:209 build/serializers.py:246 +#: build/serializers.py:208 build/serializers.py:245 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:267 +#: build/serializers.py:266 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:270 +#: build/serializers.py:269 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:285 order/serializers.py:589 order/serializers.py:1343 -#: stock/serializers.py:483 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:284 order/serializers.py:589 order/serializers.py:1343 +#: stock/serializers.py:612 templates/js/translated/purchase_order.js:1153 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "Sarjanumerot" -#: build/serializers.py:286 +#: build/serializers.py:285 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:291 build/serializers.py:432 build/serializers.py:504 +#: build/serializers.py:290 build/serializers.py:431 build/serializers.py:503 #: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1679 -#: part/serializers.py:1127 stock/serializers.py:494 stock/serializers.py:654 -#: stock/serializers.py:750 stock/serializers.py:1196 stock/serializers.py:1452 -#: stock/templates/stock/item_base.html:394 +#: part/serializers.py:1142 stock/serializers.py:101 stock/serializers.py:623 +#: stock/serializers.py:783 stock/serializers.py:879 stock/serializers.py:1325 +#: stock/serializers.py:1581 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 #: templates/js/translated/purchase_order.js:1178 #: templates/js/translated/purchase_order.js:1268 -#: templates/js/translated/sales_order.js:1511 -#: templates/js/translated/sales_order.js:1619 -#: templates/js/translated/sales_order.js:1627 -#: templates/js/translated/sales_order.js:1706 +#: templates/js/translated/sales_order.js:1547 +#: templates/js/translated/sales_order.js:1655 +#: templates/js/translated/sales_order.js:1663 +#: templates/js/translated/sales_order.js:1742 #: templates/js/translated/stock.js:678 templates/js/translated/stock.js:844 -#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2203 -#: templates/js/translated/stock.js:2874 +#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2201 +#: templates/js/translated/stock.js:2871 msgid "Location" msgstr "Sijainti" -#: build/serializers.py:292 +#: build/serializers.py:291 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:306 +#: build/serializers.py:305 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:307 +#: build/serializers.py:306 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:322 +#: build/serializers.py:321 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:347 stock/api.py:995 +#: build/serializers.py:346 stock/api.py:1029 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:394 build/serializers.py:456 build/serializers.py:545 +#: build/serializers.py:393 build/serializers.py:455 build/serializers.py:544 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:433 +#: build/serializers.py:432 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:439 +#: build/serializers.py:438 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:440 +#: build/serializers.py:439 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:445 +#: build/serializers.py:444 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:505 +#: build/serializers.py:504 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:511 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:922 -#: order/models.py:2022 order/serializers.py:597 stock/admin.py:165 -#: stock/serializers.py:801 stock/serializers.py:1340 +#: build/serializers.py:510 build/templates/build/build_base.html:151 +#: build/templates/build/detail.html:62 order/models.py:953 +#: order/models.py:2071 order/serializers.py:597 stock/admin.py:165 +#: stock/serializers.py:930 stock/serializers.py:1469 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 -#: templates/js/translated/purchase_order.js:1723 -#: templates/js/translated/return_order.js:331 -#: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2178 templates/js/translated/stock.js:2998 -#: templates/js/translated/stock.js:3123 +#: templates/js/translated/purchase_order.js:1722 +#: templates/js/translated/return_order.js:330 +#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/stock.js:2176 templates/js/translated/stock.js:2995 +#: templates/js/translated/stock.js:3120 msgid "Status" msgstr "Tila" -#: build/serializers.py:517 +#: build/serializers.py:516 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:518 +#: build/serializers.py:517 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:598 +#: build/serializers.py:597 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:599 +#: build/serializers.py:598 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:605 +#: build/serializers.py:604 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:606 +#: build/serializers.py:605 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:633 +#: build/serializers.py:632 msgid "Not permitted" msgstr "Ei sallittu" -#: build/serializers.py:634 +#: build/serializers.py:633 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:635 +#: build/serializers.py:634 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:657 +#: build/serializers.py:656 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:659 +#: build/serializers.py:658 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:669 +#: build/serializers.py:668 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:674 +#: build/serializers.py:673 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:675 +#: build/serializers.py:674 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:685 templates/js/translated/build.js:315 +#: build/serializers.py:684 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:690 order/serializers.py:301 order/serializers.py:1246 +#: build/serializers.py:689 order/serializers.py:301 order/serializers.py:1246 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:691 +#: build/serializers.py:690 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:701 templates/js/translated/build.js:319 +#: build/serializers.py:700 templates/js/translated/build.js:319 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:710 templates/js/translated/build.js:303 +#: build/serializers.py:709 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:740 +#: build/serializers.py:739 msgid "Build Line" msgstr "" -#: build/serializers.py:750 +#: build/serializers.py:749 msgid "Build output" msgstr "" -#: build/serializers.py:758 +#: build/serializers.py:757 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:794 +#: build/serializers.py:793 msgid "Build Line Item" msgstr "" -#: build/serializers.py:808 +#: build/serializers.py:807 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:823 stock/serializers.py:1065 +#: build/serializers.py:822 stock/serializers.py:1194 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:871 order/serializers.py:1237 +#: build/serializers.py:870 order/serializers.py:1237 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:877 +#: build/serializers.py:876 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:884 +#: build/serializers.py:883 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:908 order/serializers.py:1489 +#: build/serializers.py:907 order/serializers.py:1489 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:971 +#: build/serializers.py:970 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:979 +#: build/serializers.py:978 msgid "Exclude Location" msgstr "" -#: build/serializers.py:980 +#: build/serializers.py:979 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:985 +#: build/serializers.py:984 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:986 +#: build/serializers.py:985 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:991 +#: build/serializers.py:990 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:992 +#: build/serializers.py:991 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:997 +#: build/serializers.py:996 msgid "Optional Items" msgstr "" -#: build/serializers.py:998 +#: build/serializers.py:997 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1020 +#: build/serializers.py:1019 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1110 part/models.py:3930 part/models.py:4366 -#: stock/api.py:758 +#: build/serializers.py:1109 part/models.py:3973 part/models.py:4409 +#: stock/api.py:792 msgid "BOM Item" msgstr "" -#: build/serializers.py:1119 templates/js/translated/index.js:130 +#: build/serializers.py:1118 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1124 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:817 part/serializers.py:1489 +#: build/serializers.py:1123 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:832 part/serializers.py:1504 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 @@ -1705,15 +1710,15 @@ msgstr "" msgid "On Order" msgstr "" -#: build/serializers.py:1129 part/serializers.py:1491 +#: build/serializers.py:1128 part/serializers.py:1506 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1134 part/bom.py:172 part/serializers.py:1514 +#: build/serializers.py:1133 part/bom.py:172 part/serializers.py:1529 #: part/templates/part/part_base.html:192 -#: templates/js/translated/sales_order.js:1893 +#: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "" @@ -1842,18 +1847,18 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:297 -#: order/models.py:1294 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:310 +#: order/models.py:1334 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 -#: order/templates/order/sales_order_base.html:192 -#: report/templates/report/inventree_build_order_base.html:125 +#: order/templates/order/sales_order_base.html:196 +#: report/templates/report/inventree_build_order_report.html:125 #: templates/js/translated/build.js:2239 templates/js/translated/part.js:1830 -#: templates/js/translated/purchase_order.js:1740 -#: templates/js/translated/purchase_order.js:2148 -#: templates/js/translated/return_order.js:347 -#: templates/js/translated/return_order.js:751 -#: templates/js/translated/sales_order.js:835 -#: templates/js/translated/sales_order.js:1867 +#: templates/js/translated/purchase_order.js:1739 +#: templates/js/translated/purchase_order.js:2147 +#: templates/js/translated/return_order.js:346 +#: templates/js/translated/return_order.js:750 +#: templates/js/translated/sales_order.js:871 +#: templates/js/translated/sales_order.js:1903 msgid "Target Date" msgstr "" @@ -1866,7 +1871,7 @@ msgstr "" #: build/templates/build/build_base.html:222 #: order/templates/order/order_base.html:122 #: order/templates/order/return_order_base.html:117 -#: order/templates/order/sales_order_base.html:122 +#: order/templates/order/sales_order_base.html:126 #: templates/js/translated/table_filters.js:98 #: templates/js/translated/table_filters.js:524 #: templates/js/translated/table_filters.js:626 @@ -1880,24 +1885,24 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:1538 -#: order/models.py:1652 order/models.py:1806 +#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:848 +#: order/models.py:1578 order/models.py:1692 order/models.py:1846 #: 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 +#: report/templates/report/inventree_build_order_report.html:135 +#: report/templates/report/inventree_sales_order_report.html:14 #: stock/templates/stock/item_base.html:369 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:929 -#: templates/js/translated/sales_order.js:769 -#: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2927 +#: templates/js/translated/sales_order.js:805 +#: templates/js/translated/sales_order.js:1028 +#: templates/js/translated/stock.js:2924 msgid "Sales Order" msgstr "" #: build/templates/build/build_base.html:197 #: build/templates/build/detail.html:115 -#: report/templates/report/inventree_build_order_base.html:152 +#: report/templates/report/inventree_build_order_report.html:152 #: templates/js/translated/table_filters.js:24 msgid "Issued By" msgstr "" @@ -1907,15 +1912,15 @@ msgstr "" msgid "Priority" msgstr "Prioriteetti" -#: build/templates/build/build_base.html:273 +#: build/templates/build/build_base.html:269 msgid "Delete Build Order" msgstr "" -#: build/templates/build/build_base.html:283 +#: build/templates/build/build_base.html:279 msgid "Build Order QR Code" msgstr "" -#: build/templates/build/build_base.html:295 +#: build/templates/build/build_base.html:291 msgid "Link Barcode to Build Order" msgstr "" @@ -1931,8 +1936,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1430 -#: templates/js/translated/purchase_order.js:2190 +#: build/templates/build/detail.html:49 order/models.py:1470 +#: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "" @@ -1947,10 +1952,10 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 #: templates/js/translated/build.js:1380 -#: templates/js/translated/model_renderers.js:235 +#: templates/js/translated/model_renderers.js:241 #: templates/js/translated/purchase_order.js:1274 -#: templates/js/translated/stock.js:1133 templates/js/translated/stock.js:2192 -#: templates/js/translated/stock.js:3130 +#: templates/js/translated/stock.js:1133 templates/js/translated/stock.js:2190 +#: templates/js/translated/stock.js:3127 #: templates/js/translated/table_filters.js:313 #: templates/js/translated/table_filters.js:404 msgid "Batch" @@ -1959,7 +1964,7 @@ msgstr "" #: build/templates/build/detail.html:133 #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:151 -#: order/templates/order/sales_order_base.html:186 +#: order/templates/order/sales_order_base.html:190 #: templates/js/translated/build.js:2199 msgid "Created" msgstr "" @@ -1969,7 +1974,7 @@ msgid "No target date set" msgstr "" #: build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:202 +#: order/templates/order/sales_order_base.html:206 #: templates/js/translated/table_filters.js:689 msgid "Completed" msgstr "Valmis" @@ -2260,8 +2265,8 @@ msgstr "" #: common/models.py:1316 common/models.py:1372 common/models.py:1385 #: common/models.py:1393 common/models.py:1402 common/models.py:1411 -#: common/models.py:1613 common/models.py:1635 common/models.py:1750 -#: common/models.py:2061 +#: common/models.py:1619 common/models.py:1641 common/models.py:1756 +#: common/models.py:2067 msgid "days" msgstr "päivää" @@ -2402,1209 +2407,1218 @@ msgid "Enable revision field for Part" msgstr "" #: common/models.py:1440 -msgid "IPN Regex" +msgid "Allow Deletion from Assembly" msgstr "" #: common/models.py:1441 +msgid "Allow deletion of parts which are used in an assembly" +msgstr "" + +#: common/models.py:1446 +msgid "IPN Regex" +msgstr "" + +#: common/models.py:1447 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1444 +#: common/models.py:1450 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1445 +#: common/models.py:1451 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1450 +#: common/models.py:1456 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1451 +#: common/models.py:1457 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1456 +#: common/models.py:1462 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1457 +#: common/models.py:1463 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1462 +#: common/models.py:1468 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1463 +#: common/models.py:1469 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1468 +#: common/models.py:1474 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1469 +#: common/models.py:1475 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1474 +#: common/models.py:1480 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1475 +#: common/models.py:1481 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1480 part/admin.py:108 part/models.py:3772 -#: report/models.py:182 stock/serializers.py:99 +#: common/models.py:1486 part/admin.py:108 part/models.py:3815 +#: report/models.py:294 report/models.py:361 report/serializers.py:90 +#: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:767 msgid "Template" msgstr "" -#: common/models.py:1481 +#: common/models.py:1487 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1486 part/admin.py:91 part/admin.py:431 part/models.py:1016 +#: common/models.py:1492 part/admin.py:91 part/admin.py:433 part/models.py:1059 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "" -#: common/models.py:1487 +#: common/models.py:1493 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1492 part/admin.py:95 part/models.py:1022 +#: common/models.py:1498 part/admin.py:95 part/models.py:1065 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "Komponentti" -#: common/models.py:1493 +#: common/models.py:1499 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1498 part/admin.py:100 part/models.py:1034 +#: common/models.py:1504 part/admin.py:100 part/models.py:1077 msgid "Purchaseable" msgstr "Ostettavissa" -#: common/models.py:1499 +#: common/models.py:1505 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1504 part/admin.py:104 part/models.py:1040 +#: common/models.py:1510 part/admin.py:104 part/models.py:1083 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "" -#: common/models.py:1505 +#: common/models.py:1511 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1510 part/admin.py:113 part/models.py:1028 +#: common/models.py:1516 part/admin.py:113 part/models.py:1071 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "Seurattavissa" -#: common/models.py:1511 +#: common/models.py:1517 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1516 part/admin.py:117 part/models.py:1050 +#: common/models.py:1522 part/admin.py:117 part/models.py:1093 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "" -#: common/models.py:1517 +#: common/models.py:1523 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1522 +#: common/models.py:1528 msgid "Show Import in Views" msgstr "" -#: common/models.py:1523 +#: common/models.py:1529 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1528 +#: common/models.py:1534 msgid "Show related parts" msgstr "" -#: common/models.py:1529 +#: common/models.py:1535 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1534 +#: common/models.py:1540 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1535 +#: common/models.py:1541 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1540 templates/js/translated/part.js:107 +#: common/models.py:1546 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1542 +#: common/models.py:1548 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1548 +#: common/models.py:1554 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1549 +#: common/models.py:1555 msgid "Format to display the part name" msgstr "" -#: common/models.py:1555 +#: common/models.py:1561 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1556 +#: common/models.py:1562 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1560 +#: common/models.py:1566 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1562 +#: common/models.py:1568 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1568 +#: common/models.py:1574 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1570 +#: common/models.py:1576 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1576 +#: common/models.py:1582 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1578 +#: common/models.py:1584 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1584 +#: common/models.py:1590 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1586 +#: common/models.py:1592 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1592 +#: common/models.py:1598 msgid "Purchase History Override" msgstr "" -#: common/models.py:1594 +#: common/models.py:1600 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1600 +#: common/models.py:1606 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1602 +#: common/models.py:1608 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1608 +#: common/models.py:1614 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1610 +#: common/models.py:1616 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1617 +#: common/models.py:1623 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1618 +#: common/models.py:1624 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1623 +#: common/models.py:1629 msgid "Active Variants Only" msgstr "" -#: common/models.py:1625 +#: common/models.py:1631 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1631 +#: common/models.py:1637 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1633 +#: common/models.py:1639 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1640 +#: common/models.py:1646 msgid "Internal Prices" msgstr "Sisäiset hinnat" -#: common/models.py:1641 +#: common/models.py:1647 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1646 +#: common/models.py:1652 msgid "Internal Price Override" msgstr "Sisäisen hinnan ohitus" -#: common/models.py:1648 +#: common/models.py:1654 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1654 +#: common/models.py:1660 msgid "Enable label printing" msgstr "" -#: common/models.py:1655 +#: common/models.py:1661 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1660 +#: common/models.py:1666 msgid "Label Image DPI" msgstr "" -#: common/models.py:1662 +#: common/models.py:1668 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1668 +#: common/models.py:1674 msgid "Enable Reports" msgstr "" -#: common/models.py:1669 +#: common/models.py:1675 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1674 templates/stats.html:25 +#: common/models.py:1680 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1675 +#: common/models.py:1681 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1680 +#: common/models.py:1686 msgid "Log Report Errors" msgstr "" -#: common/models.py:1681 +#: common/models.py:1687 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1686 plugin/builtin/labels/label_sheet.py:28 -#: report/models.py:203 +#: common/models.py:1692 plugin/builtin/labels/label_sheet.py:28 +#: report/models.py:302 msgid "Page Size" msgstr "Sivun koko" -#: common/models.py:1687 +#: common/models.py:1693 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1692 +#: common/models.py:1698 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1693 +#: common/models.py:1699 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1698 +#: common/models.py:1704 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1700 +#: common/models.py:1706 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1706 +#: common/models.py:1712 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1707 +#: common/models.py:1713 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1712 +#: common/models.py:1718 msgid "Autofill Serial Numbers" msgstr "Täytä sarjanumerot automaattisesti" -#: common/models.py:1713 +#: common/models.py:1719 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1718 +#: common/models.py:1724 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1720 +#: common/models.py:1726 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1726 +#: common/models.py:1732 msgid "Batch Code Template" msgstr "" -#: common/models.py:1728 +#: common/models.py:1734 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1733 +#: common/models.py:1739 msgid "Stock Expiry" msgstr "" -#: common/models.py:1734 +#: common/models.py:1740 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1739 +#: common/models.py:1745 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1740 +#: common/models.py:1746 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1745 +#: common/models.py:1751 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1747 +#: common/models.py:1753 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1754 +#: common/models.py:1760 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1755 +#: common/models.py:1761 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1760 +#: common/models.py:1766 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1761 +#: common/models.py:1767 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1766 +#: common/models.py:1772 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1767 +#: common/models.py:1773 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1771 +#: common/models.py:1777 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1772 +#: common/models.py:1778 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1777 +#: common/models.py:1783 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1779 +#: common/models.py:1785 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1785 +#: common/models.py:1791 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1787 +#: common/models.py:1793 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1793 +#: common/models.py:1799 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1795 +#: common/models.py:1801 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1801 common/models.py:1829 common/models.py:1851 -#: common/models.py:1879 +#: common/models.py:1807 common/models.py:1835 common/models.py:1857 +#: common/models.py:1885 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1802 common/models.py:1830 common/models.py:1852 -#: common/models.py:1880 +#: common/models.py:1808 common/models.py:1836 common/models.py:1858 +#: common/models.py:1886 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1807 +#: common/models.py:1813 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1809 +#: common/models.py:1815 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1815 +#: common/models.py:1821 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1816 +#: common/models.py:1822 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1821 +#: common/models.py:1827 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1823 +#: common/models.py:1829 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1835 +#: common/models.py:1841 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1837 +#: common/models.py:1843 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1843 +#: common/models.py:1849 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1845 +#: common/models.py:1851 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1857 +#: common/models.py:1863 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1858 +#: common/models.py:1864 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1863 +#: common/models.py:1869 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1865 +#: common/models.py:1871 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1871 +#: common/models.py:1877 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1873 +#: common/models.py:1879 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1885 +#: common/models.py:1891 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1887 +#: common/models.py:1893 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1893 +#: common/models.py:1899 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1895 +#: common/models.py:1901 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1902 +#: common/models.py:1908 msgid "Enable password forgot" msgstr "Salli salasananpalautus" -#: common/models.py:1903 +#: common/models.py:1909 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1908 +#: common/models.py:1914 msgid "Enable registration" msgstr "Salli rekisteröinti" -#: common/models.py:1909 +#: common/models.py:1915 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1914 +#: common/models.py:1920 msgid "Enable SSO" msgstr "Salli SSO" -#: common/models.py:1915 +#: common/models.py:1921 msgid "Enable SSO on the login pages" msgstr "Salli SSO kirjautumissivuilla" -#: common/models.py:1920 +#: common/models.py:1926 msgid "Enable SSO registration" msgstr "Salli SSO rekisteröinti" -#: common/models.py:1922 +#: common/models.py:1928 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1928 +#: common/models.py:1934 msgid "Email required" msgstr "Sähköposti vaaditaan" -#: common/models.py:1929 +#: common/models.py:1935 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1934 +#: common/models.py:1940 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1936 +#: common/models.py:1942 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1942 +#: common/models.py:1948 msgid "Mail twice" msgstr "Sähköpostiosoite kahdesti" -#: common/models.py:1943 +#: common/models.py:1949 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1948 +#: common/models.py:1954 msgid "Password twice" msgstr "Salasana kahdesti" -#: common/models.py:1949 +#: common/models.py:1955 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1954 +#: common/models.py:1960 msgid "Allowed domains" msgstr "Sallitut verkkotunnukset" -#: common/models.py:1956 +#: common/models.py:1962 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1962 +#: common/models.py:1968 msgid "Group on signup" msgstr "" -#: common/models.py:1963 +#: common/models.py:1969 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1968 +#: common/models.py:1974 msgid "Enforce MFA" msgstr "Pakota MFA" -#: common/models.py:1969 +#: common/models.py:1975 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1974 +#: common/models.py:1980 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1976 +#: common/models.py:1982 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1984 +#: common/models.py:1990 msgid "Check for plugin updates" msgstr "" -#: common/models.py:1985 +#: common/models.py:1991 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:1991 +#: common/models.py:1997 msgid "Enable URL integration" msgstr "" -#: common/models.py:1992 +#: common/models.py:1998 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1998 +#: common/models.py:2004 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1999 +#: common/models.py:2005 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2005 +#: common/models.py:2011 msgid "Enable app integration" msgstr "" -#: common/models.py:2006 +#: common/models.py:2012 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2012 +#: common/models.py:2018 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2013 +#: common/models.py:2019 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2019 +#: common/models.py:2025 msgid "Enable event integration" msgstr "" -#: common/models.py:2020 +#: common/models.py:2026 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2026 +#: common/models.py:2032 msgid "Enable project codes" msgstr "" -#: common/models.py:2027 +#: common/models.py:2033 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2032 +#: common/models.py:2038 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2034 +#: common/models.py:2040 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2040 +#: common/models.py:2046 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2042 +#: common/models.py:2048 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2048 +#: common/models.py:2054 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2050 +#: common/models.py:2056 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2056 +#: common/models.py:2062 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2058 +#: common/models.py:2064 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2065 +#: common/models.py:2071 msgid "Display Users full names" msgstr "" -#: common/models.py:2066 +#: common/models.py:2072 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2071 +#: common/models.py:2077 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2072 +#: common/models.py:2078 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2084 common/models.py:2494 +#: common/models.py:2090 common/models.py:2500 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2127 +#: common/models.py:2133 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2129 +#: common/models.py:2135 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2135 +#: common/models.py:2141 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2136 +#: common/models.py:2142 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2141 +#: common/models.py:2147 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2142 +#: common/models.py:2148 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2147 +#: common/models.py:2153 msgid "Show latest parts" msgstr "" -#: common/models.py:2148 +#: common/models.py:2154 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2153 +#: common/models.py:2159 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2154 +#: common/models.py:2160 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2159 +#: common/models.py:2165 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2160 +#: common/models.py:2166 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2165 +#: common/models.py:2171 msgid "Show low stock" msgstr "" -#: common/models.py:2166 +#: common/models.py:2172 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2171 +#: common/models.py:2177 msgid "Show depleted stock" msgstr "" -#: common/models.py:2172 +#: common/models.py:2178 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2177 +#: common/models.py:2183 msgid "Show needed stock" msgstr "" -#: common/models.py:2178 +#: common/models.py:2184 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2183 +#: common/models.py:2189 msgid "Show expired stock" msgstr "" -#: common/models.py:2184 +#: common/models.py:2190 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2189 +#: common/models.py:2195 msgid "Show stale stock" msgstr "" -#: common/models.py:2190 +#: common/models.py:2196 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2195 +#: common/models.py:2201 msgid "Show pending builds" msgstr "" -#: common/models.py:2196 +#: common/models.py:2202 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2201 +#: common/models.py:2207 msgid "Show overdue builds" msgstr "" -#: common/models.py:2202 +#: common/models.py:2208 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2207 +#: common/models.py:2213 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2208 +#: common/models.py:2214 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2213 +#: common/models.py:2219 msgid "Show overdue POs" msgstr "" -#: common/models.py:2214 +#: common/models.py:2220 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2219 +#: common/models.py:2225 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2220 +#: common/models.py:2226 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2225 +#: common/models.py:2231 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2226 +#: common/models.py:2232 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2231 +#: common/models.py:2237 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2232 +#: common/models.py:2238 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2237 +#: common/models.py:2243 msgid "Show News" msgstr "Näytä uutiset" -#: common/models.py:2238 +#: common/models.py:2244 msgid "Show news on the homepage" msgstr "Näytä uutiset kotisivulla" -#: common/models.py:2243 +#: common/models.py:2249 msgid "Inline label display" msgstr "" -#: common/models.py:2245 +#: common/models.py:2251 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2251 +#: common/models.py:2257 msgid "Default label printer" msgstr "" -#: common/models.py:2253 +#: common/models.py:2259 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2259 +#: common/models.py:2265 msgid "Inline report display" msgstr "" -#: common/models.py:2261 +#: common/models.py:2267 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2267 +#: common/models.py:2273 msgid "Search Parts" msgstr "" -#: common/models.py:2268 +#: common/models.py:2274 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2273 +#: common/models.py:2279 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2274 +#: common/models.py:2280 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2279 +#: common/models.py:2285 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2280 +#: common/models.py:2286 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2285 +#: common/models.py:2291 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2286 +#: common/models.py:2292 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2291 +#: common/models.py:2297 msgid "Search Categories" msgstr "" -#: common/models.py:2292 +#: common/models.py:2298 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2297 +#: common/models.py:2303 msgid "Search Stock" msgstr "" -#: common/models.py:2298 +#: common/models.py:2304 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2303 +#: common/models.py:2309 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2305 +#: common/models.py:2311 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2311 +#: common/models.py:2317 msgid "Search Locations" msgstr "" -#: common/models.py:2312 +#: common/models.py:2318 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2317 +#: common/models.py:2323 msgid "Search Companies" msgstr "" -#: common/models.py:2318 +#: common/models.py:2324 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2323 +#: common/models.py:2329 msgid "Search Build Orders" msgstr "" -#: common/models.py:2324 +#: common/models.py:2330 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2329 +#: common/models.py:2335 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2330 +#: common/models.py:2336 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2335 +#: common/models.py:2341 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2337 +#: common/models.py:2343 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2343 +#: common/models.py:2349 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2344 +#: common/models.py:2350 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2349 +#: common/models.py:2355 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2351 +#: common/models.py:2357 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2357 +#: common/models.py:2363 msgid "Search Return Orders" msgstr "" -#: common/models.py:2358 +#: common/models.py:2364 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2363 +#: common/models.py:2369 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2365 +#: common/models.py:2371 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2371 +#: common/models.py:2377 msgid "Search Preview Results" msgstr "" -#: common/models.py:2373 +#: common/models.py:2379 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2379 +#: common/models.py:2385 msgid "Regex Search" msgstr "" -#: common/models.py:2380 +#: common/models.py:2386 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2385 +#: common/models.py:2391 msgid "Whole Word Search" msgstr "" -#: common/models.py:2386 +#: common/models.py:2392 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2391 +#: common/models.py:2397 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2392 +#: common/models.py:2398 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2397 +#: common/models.py:2403 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2398 +#: common/models.py:2404 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2403 +#: common/models.py:2409 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2404 +#: common/models.py:2410 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2409 +#: common/models.py:2415 msgid "Date Format" msgstr "" -#: common/models.py:2410 +#: common/models.py:2416 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2423 part/templates/part/detail.html:41 +#: common/models.py:2429 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2424 +#: common/models.py:2430 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2429 part/templates/part/detail.html:62 +#: common/models.py:2435 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2431 +#: common/models.py:2437 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2437 +#: common/models.py:2443 msgid "Table String Length" msgstr "" -#: common/models.py:2439 +#: common/models.py:2445 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2445 +#: common/models.py:2451 msgid "Default part label template" msgstr "" -#: common/models.py:2446 +#: common/models.py:2452 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2451 +#: common/models.py:2457 msgid "Default stock item template" msgstr "" -#: common/models.py:2453 +#: common/models.py:2459 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2459 +#: common/models.py:2465 msgid "Default stock location label template" msgstr "" -#: common/models.py:2461 +#: common/models.py:2467 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2467 +#: common/models.py:2473 msgid "Default build line label template" msgstr "" -#: common/models.py:2469 +#: common/models.py:2475 msgid "The build line label template to be automatically selected" msgstr "" -#: common/models.py:2475 +#: common/models.py:2481 msgid "Receive error reports" msgstr "" -#: common/models.py:2476 +#: common/models.py:2482 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2481 +#: common/models.py:2487 msgid "Last used printing machines" msgstr "" -#: common/models.py:2482 +#: common/models.py:2488 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2525 +#: common/models.py:2531 msgid "Price break quantity" msgstr "" -#: common/models.py:2532 company/serializers.py:496 order/admin.py:42 -#: order/models.py:1333 order/models.py:2243 +#: common/models.py:2538 company/serializers.py:496 order/admin.py:42 +#: order/models.py:1373 order/models.py:2292 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 -#: templates/js/translated/return_order.js:741 +#: templates/js/translated/return_order.js:740 msgid "Price" msgstr "Hinta" -#: common/models.py:2533 +#: common/models.py:2539 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2704 common/models.py:2889 +#: common/models.py:2710 common/models.py:2895 msgid "Endpoint" msgstr "" -#: common/models.py:2705 +#: common/models.py:2711 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2715 +#: common/models.py:2721 msgid "Name for this webhook" msgstr "" -#: common/models.py:2719 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1045 -#: plugin/models.py:56 templates/js/translated/company.js:523 +#: common/models.py:2725 company/models.py:160 company/models.py:814 +#: machine/models.py:39 part/admin.py:88 part/models.py:1088 +#: plugin/models.py:65 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:492 @@ -3614,135 +3628,135 @@ msgstr "" msgid "Active" msgstr "Aktiivinen" -#: common/models.py:2719 +#: common/models.py:2725 msgid "Is this webhook active" msgstr "" -#: common/models.py:2735 users/models.py:159 +#: common/models.py:2741 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2736 +#: common/models.py:2742 msgid "Token for access" msgstr "" -#: common/models.py:2744 +#: common/models.py:2750 msgid "Secret" msgstr "Salaisuus" -#: common/models.py:2745 +#: common/models.py:2751 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2853 +#: common/models.py:2859 msgid "Message ID" msgstr "" -#: common/models.py:2854 +#: common/models.py:2860 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2862 +#: common/models.py:2868 msgid "Host" msgstr "Isäntä" -#: common/models.py:2863 +#: common/models.py:2869 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2871 +#: common/models.py:2877 msgid "Header" msgstr "" -#: common/models.py:2872 +#: common/models.py:2878 msgid "Header of this message" msgstr "" -#: common/models.py:2879 +#: common/models.py:2885 msgid "Body" msgstr "" -#: common/models.py:2880 +#: common/models.py:2886 msgid "Body of this message" msgstr "" -#: common/models.py:2890 +#: common/models.py:2896 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2895 +#: common/models.py:2901 msgid "Worked on" msgstr "" -#: common/models.py:2896 +#: common/models.py:2902 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3022 +#: common/models.py:3028 msgid "Id" msgstr "" -#: common/models.py:3024 templates/js/translated/company.js:965 +#: common/models.py:3030 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "Otsikko" -#: common/models.py:3028 templates/js/translated/news.js:60 +#: common/models.py:3034 templates/js/translated/news.js:60 msgid "Published" msgstr "Julkaistu" -#: common/models.py:3030 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3036 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "Julkaisija" -#: common/models.py:3032 templates/js/translated/news.js:52 +#: common/models.py:3038 templates/js/translated/news.js:52 msgid "Summary" msgstr "Yhteenveto" -#: common/models.py:3035 +#: common/models.py:3041 msgid "Read" msgstr "" -#: common/models.py:3035 +#: common/models.py:3041 msgid "Was this news item read?" msgstr "" -#: common/models.py:3052 company/models.py:156 part/models.py:929 +#: common/models.py:3058 company/models.py:156 part/models.py:972 #: 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 +#: report/templates/report/inventree_return_order_report.html:35 #: stock/templates/stock/item_base.html:133 templates/503.html:31 #: templates/hover_image.html:7 templates/hover_image.html:9 #: templates/modals.html:6 msgid "Image" msgstr "Kuva" -#: common/models.py:3052 +#: common/models.py:3058 msgid "Image file" msgstr "Kuvatiedosto" -#: common/models.py:3094 +#: common/models.py:3100 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3113 +#: common/models.py:3119 msgid "Unit name" msgstr "" -#: common/models.py:3120 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3126 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3121 +#: common/models.py:3127 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3128 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3134 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3129 +#: common/models.py:3135 msgid "Unit definition" msgstr "" @@ -3929,9 +3943,9 @@ msgid "Contact email address" msgstr "" #: company/models.py:139 company/templates/company/company_base.html:145 -#: order/models.py:331 order/templates/order/order_base.html:203 +#: order/models.py:344 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 -#: order/templates/order/sales_order_base.html:214 +#: order/templates/order/sales_order_base.html:218 msgid "Contact" msgstr "Kontakti" @@ -3977,7 +3991,7 @@ msgstr "" #: company/models.py:273 company/models.py:382 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:776 +#: company/templates/company/company_base.html:12 stock/api.py:810 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "Yritys" @@ -4069,8 +4083,8 @@ msgstr "" msgid "Link to address information (external)" msgstr "" -#: company/models.py:489 company/models.py:792 stock/models.py:751 -#: stock/serializers.py:266 stock/templates/stock/item_base.html:142 +#: company/models.py:489 company/models.py:792 stock/models.py:772 +#: stock/serializers.py:395 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -4081,7 +4095,7 @@ msgstr "" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:515 +#: company/templates/company/supplier_part.html:145 part/serializers.py:530 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4096,13 +4110,13 @@ msgid "Select manufacturer" msgstr "Valitse valmistaja" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:525 +#: company/templates/company/supplier_part.html:153 part/serializers.py:540 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800 -#: templates/js/translated/purchase_order.js:1852 -#: templates/js/translated/purchase_order.js:2054 +#: templates/js/translated/purchase_order.js:1851 +#: templates/js/translated/purchase_order.js:2053 msgid "MPN" msgstr "" @@ -4129,9 +4143,8 @@ msgstr "" msgid "Parameter name" msgstr "" -#: company/models.py:621 -#: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2448 templates/js/translated/company.js:1166 +#: company/models.py:621 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2425 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492 #: templates/js/translated/stock.js:1522 msgid "Value" @@ -4142,10 +4155,10 @@ msgid "Parameter value" msgstr "" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1009 part/models.py:3623 +#: part/admin.py:57 part/models.py:1052 part/models.py:3666 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 -#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370 +#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 msgid "Units" msgstr "" @@ -4166,9 +4179,9 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:465 +#: company/templates/company/supplier_part.html:129 order/models.py:487 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:499 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:514 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4176,7 +4189,7 @@ msgstr "" #: templates/js/translated/company.js:511 #: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1690 +#: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/table_filters.js:804 msgid "Supplier" msgstr "Toimittaja" @@ -4185,7 +4198,7 @@ msgstr "Toimittaja" msgid "Select supplier" msgstr "Valitse toimittaja" -#: company/models.py:809 part/serializers.py:510 +#: company/models.py:809 part/serializers.py:525 msgid "Supplier stock keeping unit" msgstr "Toimittajan varastonimike" @@ -4206,29 +4219,29 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:418 part/models.py:4070 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4113 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 -#: report/templates/report/inventree_slr_report.html:105 -#: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:579 +#: report/templates/report/inventree_purchase_order_report.html:32 +#: report/templates/report/inventree_return_order_report.html:27 +#: report/templates/report/inventree_sales_order_report.html:32 +#: report/templates/report/inventree_stock_location_report.html:105 +#: stock/serializers.py:708 msgid "Note" msgstr "Muistiinpano" -#: company/models.py:857 part/models.py:1967 +#: company/models.py:857 part/models.py:2010 msgid "base cost" msgstr "" -#: company/models.py:858 part/models.py:1968 +#: company/models.py:858 part/models.py:2011 msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:782 stock/serializers.py:1350 +#: stock/admin.py:224 stock/models.py:803 stock/serializers.py:1479 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 -#: templates/js/translated/stock.js:2426 +#: templates/js/translated/stock.js:2424 msgid "Packaging" msgstr "" @@ -4241,8 +4254,8 @@ msgstr "" #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 -#: templates/js/translated/purchase_order.js:2085 -#: templates/js/translated/purchase_order.js:2102 +#: templates/js/translated/purchase_order.js:2084 +#: templates/js/translated/purchase_order.js:2101 msgid "Pack Quantity" msgstr "" @@ -4250,7 +4263,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:892 part/models.py:1974 +#: company/models.py:892 part/models.py:2017 msgid "multiple" msgstr "" @@ -4285,7 +4298,7 @@ msgstr "" #: part/templates/part/part_base.html:146 #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 -#: templates/js/translated/model_renderers.js:306 +#: templates/js/translated/model_renderers.js:312 #: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 msgid "Inactive" msgstr "" @@ -4321,11 +4334,11 @@ msgstr "Poista yritys" #: company/templates/company/manufacturer_part.html:51 #: company/templates/company/supplier_part.html:83 #: part/templates/part/part_thumb.html:20 -#: report/templates/report/inventree_build_order_base.html:98 -#: report/templates/report/inventree_po_report_base.html:40 -#: report/templates/report/inventree_so_report_base.html:40 -#: report/templates/report/inventree_test_report_base.html:84 -#: report/templates/report/inventree_test_report_base.html:163 +#: report/templates/report/inventree_build_order_report.html:98 +#: report/templates/report/inventree_purchase_order_report.html:40 +#: report/templates/report/inventree_sales_order_report.html:40 +#: report/templates/report/inventree_test_report.html:84 +#: report/templates/report/inventree_test_report.html:163 msgid "Part image" msgstr "Osan kuva" @@ -4344,16 +4357,16 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:92 order/models.py:910 -#: order/models.py:2010 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:144 stock/models.py:804 -#: stock/models.py:805 stock/serializers.py:1100 +#: company/templates/company/company_base.html:92 order/models.py:941 +#: order/models.py:2059 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:148 stock/models.py:825 +#: stock/models.py:826 stock/serializers.py:1229 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 -#: templates/js/translated/return_order.js:296 -#: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2962 +#: templates/js/translated/return_order.js:295 +#: templates/js/translated/sales_order.js:820 +#: templates/js/translated/stock.js:2959 #: templates/js/translated/table_filters.js:808 msgid "Customer" msgstr "Asiakas" @@ -4362,10 +4375,10 @@ msgstr "Asiakas" msgid "Uses default currency" msgstr "Käyttää oletusvaluuttaa" -#: company/templates/company/company_base.html:124 order/models.py:341 +#: company/templates/company/company_base.html:124 order/models.py:354 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 -#: order/templates/order/sales_order_base.html:221 +#: order/templates/order/sales_order_base.html:225 msgid "Address" msgstr "Osoite" @@ -4374,7 +4387,7 @@ msgid "Phone" msgstr "Puhelin" #: company/templates/company/company_base.html:211 -#: part/templates/part/part_base.html:528 +#: part/templates/part/part_base.html:527 msgid "Remove Image" msgstr "" @@ -4383,19 +4396,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:214 -#: part/templates/part/part_base.html:531 +#: part/templates/part/part_base.html:530 #: templates/InvenTree/settings/user.html:88 #: templates/InvenTree/settings/user_sso.html:43 msgid "Remove" msgstr "Poista" #: company/templates/company/company_base.html:243 -#: part/templates/part/part_base.html:560 +#: part/templates/part/part_base.html:559 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:258 -#: part/templates/part/part_base.html:614 +#: part/templates/part/part_base.html:613 msgid "Download Image" msgstr "" @@ -4558,7 +4571,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:821 +#: part/admin.py:122 part/serializers.py:836 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4609,10 +4622,10 @@ msgstr "" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:452 -#: stock/models.py:762 stock/templates/stock/item_base.html:233 +#: stock/models.py:783 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 -#: templates/js/translated/stock.js:2282 +#: templates/js/translated/stock.js:2280 msgid "Supplier Part" msgstr "" @@ -4658,11 +4671,11 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:509 +#: part/bom.py:311 part/serializers.py:524 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1851 -#: templates/js/translated/purchase_order.js:2029 +#: templates/js/translated/purchase_order.js:1850 +#: templates/js/translated/purchase_order.js:2028 msgid "SKU" msgstr "" @@ -4671,12 +4684,12 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:209 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:199 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:206 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:200 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:207 #: templates/js/translated/stock.js:537 msgid "New Stock Item" msgstr "" @@ -4708,16 +4721,16 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:820 part/stocktake.py:223 +#: part/serializers.py:835 part/stocktake.py:223 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:787 stock/serializers.py:951 +#: stock/serializers.py:916 stock/serializers.py:1080 #: stock/templates/stock/location.html:170 -#: stock/templates/stock/location.html:184 -#: stock/templates/stock/location.html:196 +#: stock/templates/stock/location.html:191 +#: stock/templates/stock/location.html:203 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2769 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 #: users/models.py:206 msgid "Stock Items" msgstr "" @@ -4751,126 +4764,48 @@ msgstr "Yritykset" msgid "New Company" msgstr "Uusi yritys" -#: label/api.py:247 -msgid "Error printing label" -msgstr "" - -#: label/models.py:120 -msgid "Label name" -msgstr "" - -#: label/models.py:128 -msgid "Label description" -msgstr "" - -#: label/models.py:136 -msgid "Label" -msgstr "" - -#: label/models.py:137 -msgid "Label template file" -msgstr "" - -#: label/models.py:143 part/models.py:3494 report/models.py:324 -#: templates/js/translated/part.js:2900 -#: templates/js/translated/table_filters.js:481 -msgid "Enabled" -msgstr "Käytössä" - -#: label/models.py:144 -msgid "Label template is enabled" -msgstr "" - -#: label/models.py:149 -msgid "Width [mm]" -msgstr "Leveys [mm]" - -#: label/models.py:150 -msgid "Label width, specified in mm" -msgstr "" - -#: label/models.py:156 -msgid "Height [mm]" -msgstr "Korkeus [mm]" - -#: label/models.py:157 -msgid "Label height, specified in mm" -msgstr "" - -#: label/models.py:163 report/models.py:317 -msgid "Filename Pattern" -msgstr "" - -#: label/models.py:164 -msgid "Pattern for generating label filenames" -msgstr "" - -#: label/models.py:313 label/models.py:352 label/models.py:377 -#: label/models.py:412 -msgid "Query filters (comma-separated list of key=value pairs)" -msgstr "" - -#: label/models.py:314 label/models.py:353 label/models.py:378 -#: label/models.py:413 report/models.py:345 report/models.py:496 -#: report/models.py:532 report/models.py:568 report/models.py:750 -msgid "Filters" -msgstr "Suodattimet" - -#: label/templates/label/part/part_label.html:31 -#: label/templates/label/stockitem/qr.html:21 -#: label/templates/label/stocklocation/qr.html:20 -#: templates/allauth_2fa/setup.html:18 -msgid "QR Code" -msgstr "" - -#: label/templates/label/part/part_label_code128.html:31 -#: label/templates/label/stocklocation/qr_and_text.html:31 -#: templates/qr_code.html:7 -msgid "QR code" -msgstr "QR-koodi" - -#: machine/machine_types/label_printer.py:217 +#: machine/machine_types/label_printer.py:218 msgid "Copies" msgstr "" -#: machine/machine_types/label_printer.py:218 +#: machine/machine_types/label_printer.py:219 msgid "Number of copies to print for each label" msgstr "" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:234 msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:234 order/api.py:1515 -#: templates/js/translated/sales_order.js:1042 +#: machine/machine_types/label_printer.py:235 order/api.py:1515 +#: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "" -#: machine/machine_types/label_printer.py:235 +#: machine/machine_types/label_printer.py:236 msgid "Printing" msgstr "" -#: machine/machine_types/label_printer.py:236 +#: machine/machine_types/label_printer.py:237 msgid "No media" msgstr "" -#: machine/machine_types/label_printer.py:237 +#: machine/machine_types/label_printer.py:238 msgid "Disconnected" msgstr "" -#: machine/machine_types/label_printer.py:244 +#: machine/machine_types/label_printer.py:245 msgid "Label Printer" msgstr "" -#: machine/machine_types/label_printer.py:245 +#: machine/machine_types/label_printer.py:246 msgid "Directly print labels for various items." msgstr "" -#: machine/machine_types/label_printer.py:251 +#: machine/machine_types/label_printer.py:252 msgid "Printer Location" msgstr "" -#: machine/machine_types/label_printer.py:252 +#: machine/machine_types/label_printer.py:253 msgid "Scope the printer to a specific location" msgstr "" @@ -4930,19 +4865,19 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:89 -#: report/templates/report/inventree_po_report_base.html:31 -#: report/templates/report/inventree_so_report_base.html:31 +#: order/admin.py:30 order/models.py:90 +#: report/templates/report/inventree_purchase_order_report.html:31 +#: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2126 -#: templates/js/translated/sales_order.js:1847 +#: templates/js/translated/purchase_order.js:2125 +#: templates/js/translated/sales_order.js:1883 msgid "Total Price" msgstr "Hinta yhteensä" #: order/api.py:161 order/serializers.py:91 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 -#: order/templates/order/sales_order_base.html:118 +#: order/templates/order/sales_order_base.html:122 msgid "Order Status" msgstr "" @@ -4955,10 +4890,10 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:437 order/api.py:817 order/models.py:1382 order/models.py:1491 -#: order/models.py:1537 order/models.py:1651 order/models.py:1805 -#: order/models.py:2209 order/models.py:2260 -#: templates/js/translated/sales_order.js:1488 +#: order/api.py:437 order/api.py:817 order/models.py:1422 order/models.py:1531 +#: order/models.py:1577 order/models.py:1691 order/models.py:1845 +#: order/models.py:2258 order/models.py:2309 +#: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" @@ -4970,402 +4905,398 @@ msgstr "" msgid "Order Pending" msgstr "" -#: order/api.py:1509 order/models.py:1383 order/models.py:1492 -#: order/templates/order/order_base.html:9 +#: order/api.py:1509 order/models.py:381 order/models.py:1423 +#: order/models.py:1532 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 -#: report/templates/report/inventree_po_report_base.html:14 -#: stock/templates/stock/item_base.html:176 +#: report/templates/report/inventree_purchase_order_report.html:14 +#: stock/serializers.py:119 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 -#: templates/js/translated/purchase_order.js:1674 -#: templates/js/translated/stock.js:2262 templates/js/translated/stock.js:2910 +#: templates/js/translated/purchase_order.js:1673 +#: templates/js/translated/stock.js:2260 templates/js/translated/stock.js:2907 msgid "Purchase Order" msgstr "" -#: order/api.py:1513 order/models.py:2210 order/models.py:2261 -#: order/templates/order/return_order_base.html:9 +#: order/api.py:1513 order/models.py:2008 order/models.py:2259 +#: order/models.py:2310 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:281 -#: templates/js/translated/stock.js:2944 +#: report/templates/report/inventree_return_order_report.html:13 +#: templates/js/translated/return_order.js:280 +#: templates/js/translated/stock.js:2941 msgid "Return Order" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:96 order/serializers.py:71 msgid "Order Currency" msgstr "Tilauksen valuutta" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:99 order/serializers.py:72 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:246 +#: order/models.py:248 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:278 +#: order/models.py:291 msgid "Order description (optional)" msgstr "" -#: order/models.py:287 +#: order/models.py:300 msgid "Select project code for this order" msgstr "" -#: order/models.py:291 order/models.py:1288 order/models.py:1704 +#: order/models.py:304 order/models.py:1328 order/models.py:1744 msgid "Link to external page" msgstr "" -#: order/models.py:299 +#: order/models.py:312 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:313 +#: order/models.py:326 msgid "Created By" msgstr "" -#: order/models.py:321 +#: order/models.py:334 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:332 +#: order/models.py:345 msgid "Point of contact for this order" msgstr "" -#: order/models.py:342 +#: order/models.py:355 msgid "Company address for this order" msgstr "" -#: order/models.py:443 order/models.py:899 +#: order/models.py:465 order/models.py:930 msgid "Order reference" msgstr "Tilauksen viite" -#: order/models.py:451 order/models.py:923 +#: order/models.py:473 order/models.py:954 msgid "Purchase order status" msgstr "" -#: order/models.py:466 +#: order/models.py:488 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:477 order/templates/order/order_base.html:148 -#: templates/js/translated/purchase_order.js:1703 +#: order/models.py:499 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1702 msgid "Supplier Reference" msgstr "" -#: order/models.py:478 +#: order/models.py:500 msgid "Supplier order reference code" msgstr "" -#: order/models.py:487 +#: order/models.py:509 msgid "received by" msgstr "" -#: order/models.py:493 order/models.py:2036 +#: order/models.py:515 order/models.py:2085 msgid "Issue Date" msgstr "" -#: order/models.py:494 order/models.py:2037 +#: order/models.py:516 order/models.py:2086 msgid "Date order was issued" msgstr "" -#: order/models.py:501 order/models.py:2044 +#: order/models.py:523 order/models.py:2093 msgid "Date order was completed" msgstr "" -#: order/models.py:545 +#: order/models.py:567 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:739 +#: order/models.py:761 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:911 +#: order/models.py:942 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:934 order/models.py:2029 +#: order/models.py:965 order/models.py:2078 msgid "Customer Reference " msgstr "Asiakkaan viite " -#: order/models.py:935 order/models.py:2030 +#: order/models.py:966 order/models.py:2079 msgid "Customer order reference code" msgstr "" -#: order/models.py:939 order/models.py:1658 -#: templates/js/translated/sales_order.js:843 -#: templates/js/translated/sales_order.js:1024 +#: order/models.py:970 order/models.py:1698 +#: templates/js/translated/sales_order.js:879 +#: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "" -#: order/models.py:948 +#: order/models.py:979 msgid "shipped by" msgstr "" -#: order/models.py:999 -msgid "Order cannot be completed as no parts have been assigned" -msgstr "" - -#: order/models.py:1004 +#: order/models.py:1029 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1008 templates/js/translated/sales_order.js:506 +#: order/models.py:1033 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1013 +#: order/models.py:1038 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1260 +#: order/models.py:1300 msgid "Item quantity" msgstr "" -#: order/models.py:1277 +#: order/models.py:1317 msgid "Line item reference" msgstr "" -#: order/models.py:1284 +#: order/models.py:1324 msgid "Line item notes" msgstr "" -#: order/models.py:1296 +#: order/models.py:1336 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1317 +#: order/models.py:1357 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1323 +#: order/models.py:1363 msgid "Context" msgstr "" -#: order/models.py:1324 +#: order/models.py:1364 msgid "Additional context for this line" msgstr "" -#: order/models.py:1334 +#: order/models.py:1374 msgid "Unit price" msgstr "" -#: order/models.py:1367 +#: order/models.py:1407 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1374 +#: order/models.py:1414 msgid "deleted" msgstr "" -#: order/models.py:1402 +#: order/models.py:1442 msgid "Supplier part" msgstr "" -#: order/models.py:1409 order/templates/order/order_base.html:196 +#: order/models.py:1449 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 #: templates/js/translated/purchase_order.js:1306 -#: templates/js/translated/purchase_order.js:2170 -#: templates/js/translated/return_order.js:764 +#: templates/js/translated/purchase_order.js:2169 +#: templates/js/translated/return_order.js:763 #: templates/js/translated/table_filters.js:120 #: templates/js/translated/table_filters.js:602 msgid "Received" msgstr "Vastaanotettu" -#: order/models.py:1410 +#: order/models.py:1450 msgid "Number of items received" msgstr "" -#: order/models.py:1418 stock/models.py:923 stock/serializers.py:400 +#: order/models.py:1458 stock/models.py:944 stock/serializers.py:529 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2313 +#: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "" -#: order/models.py:1419 +#: order/models.py:1459 msgid "Unit purchase price" msgstr "" -#: order/models.py:1434 +#: order/models.py:1474 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1525 +#: order/models.py:1565 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1530 +#: order/models.py:1570 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1556 part/templates/part/part_pricing.html:107 +#: order/models.py:1596 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1557 +#: order/models.py:1597 msgid "Unit sale price" msgstr "" -#: order/models.py:1567 +#: order/models.py:1607 msgid "Shipped quantity" msgstr "" -#: order/models.py:1659 +#: order/models.py:1699 msgid "Date of shipment" msgstr "" -#: order/models.py:1665 templates/js/translated/sales_order.js:1036 +#: order/models.py:1705 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1666 +#: order/models.py:1706 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1674 +#: order/models.py:1714 msgid "Checked By" msgstr "" -#: order/models.py:1675 +#: order/models.py:1715 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1682 order/models.py:1895 order/serializers.py:1354 -#: order/serializers.py:1464 templates/js/translated/model_renderers.js:448 +#: order/models.py:1722 order/models.py:1935 order/serializers.py:1354 +#: order/serializers.py:1464 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" -#: order/models.py:1683 +#: order/models.py:1723 msgid "Shipment number" msgstr "" -#: order/models.py:1691 +#: order/models.py:1731 msgid "Tracking Number" msgstr "Seurantakoodi" -#: order/models.py:1692 +#: order/models.py:1732 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1699 +#: order/models.py:1739 msgid "Invoice Number" msgstr "Laskunumero" -#: order/models.py:1700 +#: order/models.py:1740 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1720 +#: order/models.py:1760 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1723 +#: order/models.py:1763 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1841 order/models.py:1843 +#: order/models.py:1881 order/models.py:1883 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1850 +#: order/models.py:1890 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1853 +#: order/models.py:1893 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1856 +#: order/models.py:1896 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1875 order/serializers.py:1231 +#: order/models.py:1915 order/serializers.py:1231 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1878 +#: order/models.py:1918 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1879 plugin/base/barcodes/api.py:481 +#: order/models.py:1919 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1887 +#: order/models.py:1927 msgid "Line" msgstr "" -#: order/models.py:1896 +#: order/models.py:1936 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1909 order/models.py:2217 -#: templates/js/translated/return_order.js:722 +#: order/models.py:1949 order/models.py:2266 +#: templates/js/translated/return_order.js:721 msgid "Item" msgstr "" -#: order/models.py:1910 +#: order/models.py:1950 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1919 +#: order/models.py:1959 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1999 +#: order/models.py:2048 msgid "Return Order reference" msgstr "" -#: order/models.py:2011 +#: order/models.py:2060 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2023 +#: order/models.py:2072 msgid "Return order status" msgstr "" -#: order/models.py:2202 +#: order/models.py:2251 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2218 +#: order/models.py:2267 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2224 +#: order/models.py:2273 msgid "Received Date" msgstr "" -#: order/models.py:2225 +#: order/models.py:2274 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2236 templates/js/translated/return_order.js:733 +#: order/models.py:2285 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2237 +#: order/models.py:2286 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2244 +#: order/models.py:2293 msgid "Cost associated with return or repair for this line item" msgstr "" #: order/serializers.py:80 order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 -#: report/templates/report/inventree_po_report_base.html:22 -#: report/templates/report/inventree_return_order_report_base.html:19 -#: report/templates/report/inventree_so_report_base.html:22 +#: report/templates/report/inventree_purchase_order_report.html:22 +#: report/templates/report/inventree_return_order_report.html:19 +#: report/templates/report/inventree_sales_order_report.html:22 msgid "Line Items" msgstr "" @@ -5595,7 +5526,7 @@ msgstr "" #: order/templates/order/order_base.html:84 #: order/templates/order/return_order_base.html:87 -#: order/templates/order/sales_order_base.html:93 +#: order/templates/order/sales_order_base.html:97 msgid "Complete Order" msgstr "" @@ -5605,13 +5536,13 @@ msgstr "" #: order/templates/order/order_base.html:106 #: order/templates/order/return_order_base.html:101 -#: order/templates/order/sales_order_base.html:106 +#: order/templates/order/sales_order_base.html:110 msgid "Order Reference" msgstr "" #: order/templates/order/order_base.html:111 #: order/templates/order/return_order_base.html:106 -#: order/templates/order/sales_order_base.html:111 +#: order/templates/order/sales_order_base.html:115 msgid "Order Description" msgstr "" @@ -5620,19 +5551,19 @@ msgid "No suppplier information available" msgstr "" #: order/templates/order/order_base.html:154 -#: order/templates/order/sales_order_base.html:157 +#: order/templates/order/sales_order_base.html:161 msgid "Completed Line Items" msgstr "" #: order/templates/order/order_base.html:160 -#: order/templates/order/sales_order_base.html:163 -#: order/templates/order/sales_order_base.html:173 +#: order/templates/order/sales_order_base.html:167 +#: order/templates/order/sales_order_base.html:177 msgid "Incomplete" msgstr "" #: order/templates/order/order_base.html:179 #: order/templates/order/return_order_base.html:157 -#: report/templates/report/inventree_build_order_base.html:121 +#: report/templates/report/inventree_build_order_report.html:121 msgid "Issued" msgstr "" @@ -5642,15 +5573,15 @@ msgstr "Kokonaiskustannukset" #: order/templates/order/order_base.html:228 #: order/templates/order/return_order_base.html:199 -#: order/templates/order/sales_order_base.html:239 +#: order/templates/order/sales_order_base.html:243 msgid "Total cost could not be calculated" msgstr "Kokonaiskustannuksia ei voitu laskea" -#: order/templates/order/order_base.html:318 +#: order/templates/order/order_base.html:314 msgid "Purchase Order QR Code" msgstr "" -#: order/templates/order/order_base.html:330 +#: order/templates/order/order_base.html:326 msgid "Link Barcode to Purchase Order" msgstr "" @@ -5707,8 +5638,8 @@ msgstr "" #: templates/js/translated/build.js:1629 #: templates/js/translated/purchase_order.js:696 #: templates/js/translated/purchase_order.js:1236 -#: templates/js/translated/return_order.js:506 -#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/return_order.js:505 +#: templates/js/translated/sales_order.js:1145 #: templates/js/translated/stock.js:714 templates/js/translated/stock.js:883 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -5762,7 +5693,7 @@ msgstr "" #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 #: templates/js/translated/purchase_order.js:414 -#: templates/js/translated/return_order.js:459 +#: templates/js/translated/return_order.js:458 #: templates/js/translated/sales_order.js:237 msgid "Add Line Item" msgstr "" @@ -5811,30 +5742,30 @@ msgid "Print packing list" msgstr "" #: order/templates/order/return_order_base.html:138 -#: order/templates/order/sales_order_base.html:151 -#: templates/js/translated/return_order.js:309 -#: templates/js/translated/sales_order.js:797 +#: order/templates/order/sales_order_base.html:155 +#: templates/js/translated/return_order.js:308 +#: templates/js/translated/sales_order.js:833 msgid "Customer Reference" msgstr "" #: order/templates/order/return_order_base.html:195 -#: order/templates/order/sales_order_base.html:235 +#: order/templates/order/sales_order_base.html:239 #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1072 -#: templates/js/translated/purchase_order.js:1753 -#: templates/js/translated/return_order.js:381 -#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/purchase_order.js:1752 +#: templates/js/translated/return_order.js:380 +#: templates/js/translated/sales_order.js:891 msgid "Total Cost" msgstr "" -#: order/templates/order/return_order_base.html:263 +#: order/templates/order/return_order_base.html:259 msgid "Return Order QR Code" msgstr "" -#: order/templates/order/return_order_base.html:275 +#: order/templates/order/return_order_base.html:271 msgid "Link Barcode to Return Order" msgstr "" @@ -5852,25 +5783,30 @@ msgid "Ship Items" msgstr "" #: order/templates/order/sales_order_base.html:92 -#: templates/js/translated/sales_order.js:484 +#: order/templates/order/sales_order_base.html:93 +msgid "Mark As Shipped" +msgstr "" + +#: order/templates/order/sales_order_base.html:96 +#: templates/js/translated/sales_order.js:536 msgid "Complete Sales Order" msgstr "" -#: order/templates/order/sales_order_base.html:131 +#: order/templates/order/sales_order_base.html:135 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:169 +#: order/templates/order/sales_order_base.html:173 #: order/templates/order/sales_order_detail.html:99 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "" -#: order/templates/order/sales_order_base.html:312 +#: order/templates/order/sales_order_base.html:321 msgid "Sales Order QR Code" msgstr "" -#: order/templates/order/sales_order_base.html:324 +#: order/templates/order/sales_order_base.html:333 msgid "Link Barcode to Sales Order" msgstr "" @@ -5914,12 +5850,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:404 part/models.py:3921 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:406 part/models.py:3964 part/stocktake.py:218 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:411 part/models.py:3922 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:413 part/models.py:3965 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -5928,20 +5864,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:904 part/templates/part/part_base.html:269 -#: report/templates/report/inventree_slr_report.html:103 -#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2341 -#: templates/js/translated/stock.js:2038 +#: part/admin.py:48 part/models.py:947 part/templates/part/part_base.html:269 +#: report/templates/report/inventree_stock_location_report.html:103 +#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 +#: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:913 part/templates/part/part_base.html:277 -#: report/models.py:195 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2347 +#: part/admin.py:50 part/models.py:956 part/templates/part/part_base.html:277 +#: report/models.py:161 templates/js/translated/part.js:1231 +#: templates/js/translated/part.js:2346 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:317 part/models.py:886 +#: part/admin.py:53 part/admin.py:319 part/models.py:929 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "Avainsanat" @@ -5950,15 +5886,15 @@ msgstr "Avainsanat" msgid "Part Image" msgstr "" -#: part/admin.py:63 part/admin.py:300 part/stocktake.py:221 +#: part/admin.py:63 part/admin.py:302 part/stocktake.py:221 msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:302 part/stocktake.py:222 +#: part/admin.py:67 part/admin.py:304 part/stocktake.py:222 msgid "Category Name" msgstr "" -#: part/admin.py:71 part/admin.py:314 +#: part/admin.py:71 part/admin.py:316 msgid "Default Location ID" msgstr "" @@ -5966,11 +5902,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:872 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:915 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1000 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1043 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5983,160 +5919,164 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3080 part/models.py:3094 +#: part/admin.py:155 part/models.py:3123 part/models.py:3137 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3087 part/models.py:3101 +#: part/admin.py:158 part/models.py:3130 part/models.py:3144 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" -#: part/admin.py:306 part/admin.py:393 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:211 msgid "Parent ID" msgstr "" -#: part/admin.py:310 part/admin.py:400 stock/admin.py:62 +#: part/admin.py:312 part/admin.py:402 stock/admin.py:62 msgid "Parent Name" msgstr "" -#: part/admin.py:318 part/templates/part/category.html:88 +#: part/admin.py:320 part/templates/part/category.html:88 #: part/templates/part/category.html:101 msgid "Category Path" msgstr "" -#: part/admin.py:323 part/models.py:391 part/serializers.py:117 +#: part/admin.py:325 part/models.py:393 part/serializers.py:117 #: part/serializers.py:272 part/serializers.py:391 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2803 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "" -#: part/admin.py:384 +#: part/admin.py:386 msgid "BOM Level" msgstr "" -#: part/admin.py:387 +#: part/admin.py:389 msgid "BOM Item ID" msgstr "" -#: part/admin.py:397 +#: part/admin.py:399 msgid "Parent IPN" msgstr "" -#: part/admin.py:408 part/models.py:3923 +#: part/admin.py:410 part/models.py:3966 msgid "Part IPN" msgstr "" -#: part/admin.py:421 part/serializers.py:1261 +#: part/admin.py:423 part/serializers.py:1276 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:426 part/serializers.py:1276 +#: part/admin.py:428 part/serializers.py:1291 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:119 +#: part/api.py:112 msgid "Starred" msgstr "" -#: part/api.py:121 +#: part/api.py:114 msgid "Filter by starred categories" msgstr "" -#: part/api.py:138 stock/api.py:284 +#: part/api.py:131 stock/api.py:318 msgid "Depth" msgstr "" -#: part/api.py:138 +#: part/api.py:131 msgid "Filter by category depth" msgstr "" -#: part/api.py:156 stock/api.py:302 +#: part/api.py:149 stock/api.py:336 msgid "Cascade" msgstr "" -#: part/api.py:158 +#: part/api.py:151 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:178 +#: part/api.py:171 msgid "Parent" msgstr "" -#: part/api.py:180 +#: part/api.py:173 msgid "Filter by parent category" msgstr "" -#: part/api.py:213 +#: part/api.py:206 msgid "Exclude Tree" msgstr "" -#: part/api.py:215 +#: part/api.py:208 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:461 +#: part/api.py:455 msgid "Has Results" msgstr "" -#: part/api.py:628 +#: part/api.py:622 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:646 +#: part/api.py:640 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:662 +#: part/api.py:656 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:746 +#: part/api.py:740 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:893 +#: part/api.py:887 msgid "Valid" msgstr "" -#: part/api.py:894 +#: part/api.py:888 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:900 +#: part/api.py:894 msgid "This option must be selected" msgstr "" -#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866 -#: part/serializers.py:406 part/serializers.py:1117 -#: part/templates/part/part_base.html:260 stock/api.py:745 +#: part/api.py:1111 +msgid "BOM Valid" +msgstr "" + +#: part/api.py:1515 part/models.py:939 part/models.py:3429 part/models.py:3909 +#: part/serializers.py:406 part/serializers.py:1132 +#: part/templates/part/part_base.html:260 stock/api.py:779 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2377 +#: templates/js/translated/part.js:2376 msgid "Category" msgstr "Kategoria" -#: part/api.py:1849 +#: part/api.py:1803 msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:101 part/models.py:939 +#: part/bom.py:170 part/models.py:102 part/models.py:982 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:822 +#: part/bom.py:171 part/serializers.py:837 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6145,698 +6085,712 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:82 part/models.py:3867 part/templates/part/category.html:16 +#: part/models.py:83 part/models.py:3910 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:83 part/templates/part/category.html:136 +#: part/models.py:84 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "" -#: part/models.py:102 +#: part/models.py:103 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:107 stock/models.py:165 templates/js/translated/part.js:2810 -#: templates/js/translated/stock.js:2775 +#: part/models.py:108 stock/models.py:177 templates/js/translated/part.js:2809 +#: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "" -#: part/models.py:109 +#: part/models.py:110 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:118 +#: part/models.py:119 msgid "Default keywords" msgstr "Oletus avainsanat" -#: part/models.py:119 +#: part/models.py:120 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:125 stock/models.py:89 stock/models.py:148 +#: part/models.py:126 stock/models.py:89 stock/models.py:160 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "Kuvake" -#: part/models.py:126 stock/models.py:149 +#: part/models.py:127 stock/models.py:161 msgid "Icon (optional)" msgstr "Kuvake (valinnainen)" -#: part/models.py:148 +#: part/models.py:149 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:484 +#: part/models.py:482 +msgid "Cannot delete this part as it is still active" +msgstr "" + +#: part/models.py:489 +msgid "Cannot delete this part as it is used in an assembly" +msgstr "" + +#: part/models.py:527 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:532 part/models.py:539 +#: part/models.py:575 part/models.py:582 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:551 +#: part/models.py:594 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:616 +#: part/models.py:659 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:696 +#: part/models.py:739 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:801 +#: part/models.py:844 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:811 +#: part/models.py:854 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:826 +#: part/models.py:869 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:855 part/models.py:3922 +#: part/models.py:898 part/models.py:3965 msgid "Part name" msgstr "" -#: part/models.py:860 +#: part/models.py:903 msgid "Is Template" msgstr "" -#: part/models.py:861 +#: part/models.py:904 msgid "Is this part a template part?" msgstr "" -#: part/models.py:871 +#: part/models.py:914 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:879 +#: part/models.py:922 msgid "Part description (optional)" msgstr "" -#: part/models.py:887 +#: part/models.py:930 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:897 +#: part/models.py:940 msgid "Part category" msgstr "" -#: part/models.py:905 +#: part/models.py:948 msgid "Internal Part Number" msgstr "" -#: part/models.py:912 +#: part/models.py:955 msgid "Part revision or version number" msgstr "" -#: part/models.py:937 +#: part/models.py:980 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:983 part/templates/part/part_base.html:376 +#: part/models.py:1026 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:984 +#: part/models.py:1027 msgid "Default supplier part" msgstr "" -#: part/models.py:991 +#: part/models.py:1034 msgid "Default Expiry" msgstr "" -#: part/models.py:992 +#: part/models.py:1035 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1001 +#: part/models.py:1044 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1010 +#: part/models.py:1053 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1017 +#: part/models.py:1060 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1023 +#: part/models.py:1066 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1029 +#: part/models.py:1072 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1035 +#: part/models.py:1078 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1041 +#: part/models.py:1084 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1045 +#: part/models.py:1088 msgid "Is this part active?" msgstr "" -#: part/models.py:1051 +#: part/models.py:1094 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1057 +#: part/models.py:1100 msgid "BOM checksum" msgstr "" -#: part/models.py:1058 +#: part/models.py:1101 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1066 +#: part/models.py:1109 msgid "BOM checked by" msgstr "" -#: part/models.py:1071 +#: part/models.py:1114 msgid "BOM checked date" msgstr "" -#: part/models.py:1087 +#: part/models.py:1130 msgid "Creation User" msgstr "" -#: part/models.py:1097 +#: part/models.py:1140 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1102 part/templates/part/part_base.html:339 +#: part/models.py:1145 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 -#: templates/js/translated/part.js:2471 +#: templates/js/translated/part.js:2470 msgid "Last Stocktake" msgstr "" -#: part/models.py:1975 +#: part/models.py:2018 msgid "Sell multiple" msgstr "" -#: part/models.py:2994 +#: part/models.py:3037 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3010 +#: part/models.py:3053 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3011 +#: part/models.py:3054 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3017 +#: part/models.py:3060 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3018 +#: part/models.py:3061 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3024 +#: part/models.py:3067 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3025 +#: part/models.py:3068 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3031 +#: part/models.py:3074 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3032 +#: part/models.py:3075 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3038 +#: part/models.py:3081 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3039 +#: part/models.py:3082 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3045 +#: part/models.py:3088 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3046 +#: part/models.py:3089 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3052 +#: part/models.py:3095 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3053 +#: part/models.py:3096 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3059 +#: part/models.py:3102 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3060 +#: part/models.py:3103 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3066 +#: part/models.py:3109 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3067 +#: part/models.py:3110 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3073 +#: part/models.py:3116 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3074 +#: part/models.py:3117 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3081 +#: part/models.py:3124 msgid "Override minimum cost" msgstr "" -#: part/models.py:3088 +#: part/models.py:3131 msgid "Override maximum cost" msgstr "" -#: part/models.py:3095 +#: part/models.py:3138 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3102 +#: part/models.py:3145 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3108 +#: part/models.py:3151 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3109 +#: part/models.py:3152 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3115 +#: part/models.py:3158 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3116 +#: part/models.py:3159 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3122 +#: part/models.py:3165 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3123 +#: part/models.py:3166 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3129 +#: part/models.py:3172 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3130 +#: part/models.py:3173 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3149 +#: part/models.py:3192 msgid "Part for stocktake" msgstr "" -#: part/models.py:3154 +#: part/models.py:3197 msgid "Item Count" msgstr "" -#: part/models.py:3155 +#: part/models.py:3198 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3163 +#: part/models.py:3206 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3167 part/models.py:3250 +#: part/models.py:3210 part/models.py:3293 #: part/templates/part/part_scheduling.html:13 -#: report/templates/report/inventree_test_report_base.html:106 +#: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 #: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 -#: templates/js/translated/purchase_order.js:1732 -#: templates/js/translated/stock.js:2824 +#: templates/js/translated/purchase_order.js:1731 +#: templates/js/translated/stock.js:2821 msgid "Date" msgstr "Päivämäärä" -#: part/models.py:3168 +#: part/models.py:3211 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3176 +#: part/models.py:3219 msgid "Additional notes" msgstr "Muut merkinnät" -#: part/models.py:3186 +#: part/models.py:3229 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3192 +#: part/models.py:3235 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3193 +#: part/models.py:3236 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3199 +#: part/models.py:3242 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3200 +#: part/models.py:3243 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3256 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3299 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "Raportti" -#: part/models.py:3257 +#: part/models.py:3300 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3262 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3305 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3263 +#: part/models.py:3306 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3273 +#: part/models.py:3316 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3435 +#: part/models.py:3478 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3446 +#: part/models.py:3489 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3457 +#: part/models.py:3500 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3474 templates/js/translated/part.js:2879 +#: part/models.py:3517 templates/js/translated/part.js:2878 msgid "Test Name" msgstr "" -#: part/models.py:3475 +#: part/models.py:3518 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3481 +#: part/models.py:3524 msgid "Test Key" msgstr "" -#: part/models.py:3482 +#: part/models.py:3525 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3489 +#: part/models.py:3532 msgid "Test Description" msgstr "" -#: part/models.py:3490 +#: part/models.py:3533 msgid "Enter description for this test" msgstr "" -#: part/models.py:3494 +#: part/models.py:3537 report/models.py:208 +#: templates/js/translated/part.js:2899 +#: templates/js/translated/table_filters.js:481 +msgid "Enabled" +msgstr "Käytössä" + +#: part/models.py:3537 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3499 templates/js/translated/part.js:2908 +#: part/models.py:3542 templates/js/translated/part.js:2907 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3500 +#: part/models.py:3543 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3505 templates/js/translated/part.js:2916 +#: part/models.py:3548 templates/js/translated/part.js:2915 msgid "Requires Value" msgstr "" -#: part/models.py:3506 +#: part/models.py:3549 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3511 templates/js/translated/part.js:2923 +#: part/models.py:3554 templates/js/translated/part.js:2922 msgid "Requires Attachment" msgstr "" -#: part/models.py:3513 +#: part/models.py:3556 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3560 +#: part/models.py:3603 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3565 +#: part/models.py:3608 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3585 +#: part/models.py:3628 msgid "Choices must be unique" msgstr "" -#: part/models.py:3602 +#: part/models.py:3645 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3617 +#: part/models.py:3660 msgid "Parameter Name" msgstr "" -#: part/models.py:3624 +#: part/models.py:3667 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3632 +#: part/models.py:3675 msgid "Parameter description" msgstr "" -#: part/models.py:3638 templates/js/translated/part.js:1627 +#: part/models.py:3681 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3639 +#: part/models.py:3682 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3644 templates/js/translated/part.js:1636 +#: part/models.py:3687 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3645 +#: part/models.py:3688 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3722 +#: part/models.py:3765 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3765 +#: part/models.py:3808 msgid "Parent Part" msgstr "" -#: part/models.py:3773 part/models.py:3874 part/models.py:3875 +#: part/models.py:3816 part/models.py:3917 part/models.py:3918 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3778 +#: part/models.py:3821 msgid "Data" msgstr "" -#: part/models.py:3779 +#: part/models.py:3822 msgid "Parameter Value" msgstr "" -#: part/models.py:3881 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3924 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3882 +#: part/models.py:3925 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3920 +#: part/models.py:3963 msgid "Part ID or part name" msgstr "" -#: part/models.py:3921 +#: part/models.py:3964 msgid "Unique part ID value" msgstr "" -#: part/models.py:3923 +#: part/models.py:3966 msgid "Part IPN value" msgstr "" -#: part/models.py:3924 +#: part/models.py:3967 msgid "Level" msgstr "" -#: part/models.py:3924 +#: part/models.py:3967 msgid "BOM level" msgstr "" -#: part/models.py:4014 +#: part/models.py:4057 msgid "Select parent part" msgstr "" -#: part/models.py:4024 +#: part/models.py:4067 msgid "Sub part" msgstr "" -#: part/models.py:4025 +#: part/models.py:4068 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4036 +#: part/models.py:4079 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4042 +#: part/models.py:4085 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4048 +#: part/models.py:4091 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4055 part/templates/part/upload_bom.html:55 +#: part/models.py:4098 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4056 +#: part/models.py:4099 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4063 +#: part/models.py:4106 msgid "BOM item reference" msgstr "" -#: part/models.py:4071 +#: part/models.py:4114 msgid "BOM item notes" msgstr "" -#: part/models.py:4077 +#: part/models.py:4120 msgid "Checksum" msgstr "" -#: part/models.py:4078 +#: part/models.py:4121 msgid "BOM line checksum" msgstr "" -#: part/models.py:4083 templates/js/translated/table_filters.js:174 +#: part/models.py:4126 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4084 +#: part/models.py:4127 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4089 part/templates/part/upload_bom.html:57 +#: part/models.py:4132 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4090 +#: part/models.py:4133 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4095 part/templates/part/upload_bom.html:56 +#: part/models.py:4138 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4096 +#: part/models.py:4139 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4181 stock/models.py:647 +#: part/models.py:4224 stock/models.py:668 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4191 part/models.py:4193 +#: part/models.py:4234 part/models.py:4236 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4333 +#: part/models.py:4376 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4354 +#: part/models.py:4397 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4367 +#: part/models.py:4410 msgid "Parent BOM item" msgstr "" -#: part/models.py:4375 +#: part/models.py:4418 msgid "Substitute part" msgstr "" -#: part/models.py:4391 +#: part/models.py:4434 msgid "Part 1" msgstr "" -#: part/models.py:4399 +#: part/models.py:4442 msgid "Part 2" msgstr "" -#: part/models.py:4400 +#: part/models.py:4443 msgid "Select Related Part" msgstr "" -#: part/models.py:4419 +#: part/models.py:4462 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4424 +#: part/models.py:4467 msgid "Duplicate relationship already exists" msgstr "" @@ -6854,7 +6808,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:406 +#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:535 msgid "Purchase currency of this stock item" msgstr "" @@ -6870,299 +6824,299 @@ msgstr "" msgid "Select category" msgstr "" -#: part/serializers.py:437 +#: part/serializers.py:442 msgid "Original Part" msgstr "" -#: part/serializers.py:438 +#: part/serializers.py:443 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:448 msgid "Copy Image" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:449 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:450 part/templates/part/detail.html:277 +#: part/serializers.py:455 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:451 +#: part/serializers.py:456 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:462 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:458 +#: part/serializers.py:463 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:464 +#: part/serializers.py:469 msgid "Copy Notes" msgstr "" -#: part/serializers.py:465 +#: part/serializers.py:470 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:478 +#: part/serializers.py:488 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:490 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:487 +#: part/serializers.py:497 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:488 +#: part/serializers.py:498 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:500 +#: part/serializers.py:515 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:531 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:526 +#: part/serializers.py:541 msgid "Manufacturer part number" msgstr "Valmistajan osanumero" -#: part/serializers.py:533 +#: part/serializers.py:548 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:542 +#: part/serializers.py:557 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:553 +#: part/serializers.py:568 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:560 +#: part/serializers.py:575 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:823 +#: part/serializers.py:838 msgid "External Stock" msgstr "" -#: part/serializers.py:825 +#: part/serializers.py:840 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:828 +#: part/serializers.py:843 msgid "Variant Stock" msgstr "" -#: part/serializers.py:856 part/templates/part/copy_part.html:9 +#: part/serializers.py:871 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:857 +#: part/serializers.py:872 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:863 templates/js/translated/part.js:102 +#: part/serializers.py:878 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:864 +#: part/serializers.py:879 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:870 +#: part/serializers.py:885 msgid "Supplier Information" msgstr "" -#: part/serializers.py:871 +#: part/serializers.py:886 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:879 +#: part/serializers.py:894 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:880 +#: part/serializers.py:895 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:885 +#: part/serializers.py:900 msgid "Existing Image" msgstr "" -#: part/serializers.py:886 +#: part/serializers.py:901 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:918 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1109 +#: part/serializers.py:1124 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1119 +#: part/serializers.py:1134 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1129 +#: part/serializers.py:1144 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1135 +#: part/serializers.py:1150 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1136 +#: part/serializers.py:1151 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1141 +#: part/serializers.py:1156 msgid "Generate Report" msgstr "Luo raportti" -#: part/serializers.py:1142 +#: part/serializers.py:1157 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1147 +#: part/serializers.py:1162 msgid "Update Parts" msgstr "" -#: part/serializers.py:1148 +#: part/serializers.py:1163 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1156 +#: part/serializers.py:1171 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1262 +#: part/serializers.py:1277 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1269 +#: part/serializers.py:1284 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1277 +#: part/serializers.py:1292 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1284 +#: part/serializers.py:1299 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1313 +#: part/serializers.py:1328 msgid "Update" msgstr "" -#: part/serializers.py:1314 +#: part/serializers.py:1329 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1337 +#: part/serializers.py:1352 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1344 +#: part/serializers.py:1359 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1347 +#: part/serializers.py:1362 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1714 +#: part/serializers.py:1729 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1722 +#: part/serializers.py:1737 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1723 +#: part/serializers.py:1738 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1728 +#: part/serializers.py:1743 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1729 +#: part/serializers.py:1744 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1734 +#: part/serializers.py:1749 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1735 +#: part/serializers.py:1750 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1755 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1756 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1775 +#: part/serializers.py:1790 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1776 +#: part/serializers.py:1791 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1806 +#: part/serializers.py:1821 msgid "No part column specified" msgstr "" -#: part/serializers.py:1850 +#: part/serializers.py:1865 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1853 +#: part/serializers.py:1868 msgid "No matching part found" msgstr "" -#: part/serializers.py:1856 +#: part/serializers.py:1871 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1865 +#: part/serializers.py:1880 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1888 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1894 +#: part/serializers.py:1909 msgid "At least one BOM item is required" msgstr "" #: part/stocktake.py:224 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:2085 +#: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" @@ -7314,7 +7268,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2218 users/models.py:204 +#: templates/js/translated/stock.js:2216 users/models.py:204 msgid "Stocktake" msgstr "" @@ -7412,15 +7366,15 @@ msgstr "" msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:659 +#: part/templates/part/detail.html:655 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:667 +#: part/templates/part/detail.html:663 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:752 +#: part/templates/part/detail.html:748 msgid "Add Test Result Template" msgstr "" @@ -7479,7 +7433,7 @@ msgstr "" #: part/templates/part/part_base.html:52 #: stock/templates/stock/item_base.html:62 -#: stock/templates/stock/location.html:74 +#: stock/templates/stock/location.html:74 templates/js/translated/label.js:142 msgid "Print Label" msgstr "" @@ -7501,7 +7455,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2293 +#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2292 msgid "Part actions" msgstr "" @@ -7550,7 +7504,7 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:163 -#: part/templates/part/part_base.html:682 +#: part/templates/part/part_base.html:681 msgid "Show Part Details" msgstr "" @@ -7573,7 +7527,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2444 +#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2443 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7596,19 +7550,19 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:512 +#: part/templates/part/part_base.html:511 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:529 +#: part/templates/part/part_base.html:528 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:580 +#: part/templates/part/part_base.html:579 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:676 +#: part/templates/part/part_base.html:675 msgid "Hide Part Details" msgstr "" @@ -7667,8 +7621,8 @@ msgstr "" #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 -#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 -#: templates/js/translated/stock.js:2072 templates/navbar.html:31 +#: templates/js/translated/part.js:2391 templates/js/translated/stock.js:1059 +#: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7714,7 +7668,7 @@ msgstr "Muokkaa" #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 -#: templates/js/translated/stock.js:2248 +#: templates/js/translated/stock.js:2246 msgid "Last Updated" msgstr "" @@ -7786,7 +7740,7 @@ msgid "Update Pricing" msgstr "" #: part/templates/part/stock_count.html:7 -#: templates/js/translated/model_renderers.js:221 +#: templates/js/translated/model_renderers.js:227 #: templates/js/translated/part.js:704 templates/js/translated/part.js:2140 #: templates/js/translated/part.js:2142 msgid "No Stock" @@ -7866,7 +7820,7 @@ msgstr "" msgid "Part Pricing" msgstr "" -#: plugin/api.py:168 +#: plugin/api.py:170 msgid "Plugin cannot be deleted as it is currently active" msgstr "" @@ -7933,7 +7887,7 @@ msgid "Stock item does not match line item" msgstr "" #: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2589 -#: templates/js/translated/sales_order.js:1917 +#: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "" @@ -8027,22 +7981,18 @@ msgstr "" msgid "Quantity to allocate" msgstr "" -#: plugin/base/label/label.py:39 +#: plugin/base/label/label.py:39 templates/js/translated/label.js:154 msgid "Label printing failed" msgstr "" -#: plugin/base/label/mixins.py:63 +#: plugin/base/label/mixins.py:56 msgid "Error rendering label to PDF" msgstr "" -#: plugin/base/label/mixins.py:76 +#: plugin/base/label/mixins.py:70 msgid "Error rendering label to HTML" msgstr "" -#: plugin/base/label/mixins.py:111 -msgid "Error rendering label to PNG" -msgstr "" - #: plugin/builtin/barcodes/inventree_barcode.py:25 msgid "InvenTree Barcodes" msgstr "" @@ -8054,7 +8004,7 @@ msgstr "" #: plugin/builtin/barcodes/inventree_barcode.py:28 #: plugin/builtin/integration/core_notifications.py:35 #: plugin/builtin/integration/currency_exchange.py:21 -#: plugin/builtin/labels/inventree_label.py:23 +#: plugin/builtin/labels/inventree_label.py:22 #: plugin/builtin/labels/inventree_machine.py:64 #: plugin/builtin/labels/label_sheet.py:63 #: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 @@ -8108,19 +8058,19 @@ msgstr "" msgid "Default currency exchange integration" msgstr "" -#: plugin/builtin/labels/inventree_label.py:20 +#: plugin/builtin/labels/inventree_label.py:19 msgid "InvenTree PDF label printer" msgstr "" -#: plugin/builtin/labels/inventree_label.py:21 +#: plugin/builtin/labels/inventree_label.py:20 msgid "Provides native support for printing PDF labels" msgstr "" -#: plugin/builtin/labels/inventree_label.py:29 +#: plugin/builtin/labels/inventree_label.py:28 msgid "Debug mode" msgstr "" -#: plugin/builtin/labels/inventree_label.py:30 +#: plugin/builtin/labels/inventree_label.py:29 msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "" @@ -8132,11 +8082,11 @@ msgstr "" msgid "Provides support for printing using a machine" msgstr "" -#: plugin/builtin/labels/inventree_machine.py:150 +#: plugin/builtin/labels/inventree_machine.py:151 msgid "last used" msgstr "" -#: plugin/builtin/labels/inventree_machine.py:167 +#: plugin/builtin/labels/inventree_machine.py:168 msgid "Options" msgstr "" @@ -8160,7 +8110,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:47 report/models.py:209 +#: plugin/builtin/labels/label_sheet.py:47 report/models.py:308 msgid "Landscape" msgstr "" @@ -8176,11 +8126,11 @@ msgstr "" msgid "Arrays multiple labels onto a single sheet" msgstr "" -#: plugin/builtin/labels/label_sheet.py:94 +#: plugin/builtin/labels/label_sheet.py:99 msgid "Label is too large for page size" msgstr "" -#: plugin/builtin/labels/label_sheet.py:128 +#: plugin/builtin/labels/label_sheet.py:133 msgid "No labels were generated" msgstr "" @@ -8273,61 +8223,62 @@ msgstr "" msgid "Uninstalled plugin successfully" msgstr "" -#: plugin/models.py:30 +#: plugin/models.py:35 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:31 +#: plugin/models.py:36 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:34 users/models.py:100 +#: plugin/models.py:42 users/models.py:100 msgid "Key" msgstr "Avain" -#: plugin/models.py:34 +#: plugin/models.py:43 msgid "Key of plugin" msgstr "" -#: plugin/models.py:42 +#: plugin/models.py:51 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:49 plugin/serializers.py:90 +#: plugin/models.py:58 plugin/serializers.py:90 msgid "Package Name" msgstr "" -#: plugin/models.py:51 +#: plugin/models.py:60 msgid "Name of the installed package, if the plugin was installed via PIP" msgstr "" -#: plugin/models.py:56 +#: plugin/models.py:65 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:147 templates/js/translated/table_filters.js:370 +#: plugin/models.py:156 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "" -#: plugin/models.py:156 +#: plugin/models.py:165 msgid "Sample plugin" msgstr "" -#: plugin/models.py:164 +#: plugin/models.py:173 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:172 +#: plugin/models.py:181 msgid "Package Plugin" msgstr "" -#: plugin/models.py:196 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:205 report/models.py:475 +#: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" msgstr "" -#: plugin/models.py:243 +#: plugin/models.py:252 msgid "Method" msgstr "" @@ -8468,239 +8419,323 @@ msgstr "" msgid "Delete the plugin configuration from the database" msgstr "" -#: report/api.py:158 +#: report/api.py:77 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:197 report/api.py:234 +#: report/api.py:89 report/serializers.py:53 +msgid "Model Type" +msgstr "" + +#: report/api.py:92 report/models.py:439 report/serializers.py:98 +#: report/serializers.py:148 templates/js/translated/purchase_order.js:1747 +#: templates/js/translated/return_order.js:353 +#: templates/js/translated/sales_order.js:887 +#: templates/js/translated/sales_order.js:1047 +msgid "Items" +msgstr "" + +#: report/api.py:168 +msgid "Plugin not found" +msgstr "" + +#: report/api.py:170 +msgid "Plugin is not active" +msgstr "" + +#: report/api.py:172 +msgid "Plugin does not support label printing" +msgstr "" + +#: report/api.py:221 +msgid "Invalid label dimensions" +msgstr "" + +#: report/api.py:236 report/api.py:316 +msgid "No valid items provided to template" +msgstr "" + +#: report/api.py:271 +msgid "Error printing label" +msgstr "" + +#: report/api.py:362 report/api.py:398 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:319 -msgid "Test report" -msgstr "" - -#: report/helpers.py:15 +#: report/helpers.py:41 msgid "A4" msgstr "" -#: report/helpers.py:16 +#: report/helpers.py:42 msgid "A3" msgstr "" -#: report/helpers.py:17 +#: report/helpers.py:43 msgid "Legal" msgstr "" -#: report/helpers.py:18 +#: report/helpers.py:44 msgid "Letter" msgstr "" -#: report/models.py:177 +#: report/models.py:118 +msgid "Template file with this name already exists" +msgstr "" + +#: report/models.py:150 msgid "Template name" msgstr "" -#: report/models.py:183 -msgid "Report template file" +#: report/models.py:156 +msgid "Template description" msgstr "" -#: report/models.py:190 -msgid "Report template description" +#: report/models.py:162 +msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:196 -msgid "Report revision number (auto-increments)" +#: report/models.py:202 +msgid "Filename Pattern" msgstr "" -#: report/models.py:204 +#: report/models.py:203 +msgid "Pattern for generating filenames" +msgstr "" + +#: report/models.py:208 +msgid "Template is enabled" +msgstr "" + +#: report/models.py:214 +msgid "Target model type for template" +msgstr "" + +#: report/models.py:234 +msgid "Filters" +msgstr "Suodattimet" + +#: report/models.py:235 +msgid "Template query filters (comma-separated list of key=value pairs)" +msgstr "" + +#: report/models.py:295 report/models.py:362 +msgid "Template file" +msgstr "" + +#: report/models.py:303 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:210 +#: report/models.py:309 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:318 -msgid "Pattern for generating report filenames" +#: report/models.py:368 +msgid "Width [mm]" +msgstr "Leveys [mm]" + +#: report/models.py:369 +msgid "Label width, specified in mm" msgstr "" -#: report/models.py:325 -msgid "Report template is enabled" +#: report/models.py:375 +msgid "Height [mm]" +msgstr "Korkeus [mm]" + +#: report/models.py:376 +msgid "Label height, specified in mm" msgstr "" -#: report/models.py:347 -msgid "StockItem query filters (comma-separated list of key=value pairs)" +#: report/models.py:439 +msgid "Number of items to process" msgstr "" -#: report/models.py:354 -msgid "Include Installed Tests" +#: report/models.py:445 +msgid "Report generation is complete" msgstr "" -#: report/models.py:356 -msgid "Include test results for stock items installed inside assembled item" +#: report/models.py:449 templates/js/translated/build.js:2177 +msgid "Progress" msgstr "" -#: report/models.py:424 -msgid "Build Filters" +#: report/models.py:449 +msgid "Report generation progress" msgstr "" -#: report/models.py:425 -msgid "Build query filters (comma-separated list of key=value pairs" +#: report/models.py:457 +msgid "Report Template" msgstr "" -#: report/models.py:464 -msgid "Part Filters" +#: report/models.py:464 report/models.py:487 +msgid "Output File" msgstr "" -#: report/models.py:465 -msgid "Part query filters (comma-separated list of key=value pairs" +#: report/models.py:465 report/models.py:488 +msgid "Generated output file" msgstr "" -#: report/models.py:497 -msgid "Purchase order query filters" +#: report/models.py:476 +msgid "Label output plugin" msgstr "" -#: report/models.py:533 -msgid "Sales order query filters" +#: report/models.py:480 +msgid "Label Template" msgstr "" -#: report/models.py:569 -msgid "Return order query filters" -msgstr "" - -#: report/models.py:641 -msgid "Snippet file with this name already exists" -msgstr "" - -#: report/models.py:648 +#: report/models.py:503 msgid "Snippet" msgstr "" -#: report/models.py:649 +#: report/models.py:504 msgid "Report snippet file" msgstr "" -#: report/models.py:656 +#: report/models.py:511 msgid "Snippet file description" msgstr "" -#: report/models.py:714 -msgid "Asset file with this name already exists" -msgstr "" - -#: report/models.py:722 +#: report/models.py:529 msgid "Asset" msgstr "" -#: report/models.py:723 +#: report/models.py:530 msgid "Report asset file" msgstr "" -#: report/models.py:730 +#: report/models.py:537 msgid "Asset file description" msgstr "" -#: report/models.py:752 -msgid "stock location query filters (comma-separated list of key=value pairs)" +#: report/serializers.py:91 +msgid "Select report template" msgstr "" +#: report/serializers.py:99 report/serializers.py:149 +msgid "List of item primary keys to include in the report" +msgstr "" + +#: report/serializers.py:132 +msgid "Select label template" +msgstr "" + +#: report/serializers.py:140 +msgid "Printing Plugin" +msgstr "" + +#: report/serializers.py:141 +msgid "Select plugin to use for label printing" +msgstr "" + +#: report/templates/label/part_label.html:31 +#: report/templates/label/stockitem_qr.html:21 +#: report/templates/label/stocklocation_qr.html:20 +#: templates/allauth_2fa/setup.html:18 +msgid "QR Code" +msgstr "" + +#: report/templates/label/part_label_code128.html:31 +#: report/templates/label/stocklocation_qr_and_text.html:31 +#: templates/qr_code.html:7 +msgid "QR code" +msgstr "QR-koodi" + #: report/templates/report/inventree_bill_of_materials_report.html:133 msgid "Materials needed" msgstr "" -#: report/templates/report/inventree_build_order_base.html:146 +#: report/templates/report/inventree_build_order_report.html:146 msgid "Required For" msgstr "" -#: report/templates/report/inventree_po_report_base.html:15 +#: report/templates/report/inventree_purchase_order_report.html:15 msgid "Supplier was deleted" msgstr "" -#: report/templates/report/inventree_po_report_base.html:30 -#: report/templates/report/inventree_so_report_base.html:30 +#: report/templates/report/inventree_purchase_order_report.html:30 +#: report/templates/report/inventree_sales_order_report.html:30 #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:834 -#: templates/js/translated/purchase_order.js:2116 -#: templates/js/translated/sales_order.js:1837 +#: templates/js/translated/purchase_order.js:2115 +#: templates/js/translated/sales_order.js:1873 msgid "Unit Price" msgstr "" -#: report/templates/report/inventree_po_report_base.html:55 -#: report/templates/report/inventree_return_order_report_base.html:48 -#: report/templates/report/inventree_so_report_base.html:55 +#: report/templates/report/inventree_purchase_order_report.html:55 +#: report/templates/report/inventree_return_order_report.html:48 +#: report/templates/report/inventree_sales_order_report.html:55 msgid "Extra Line Items" 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:2018 -#: templates/js/translated/sales_order.js:1806 +#: report/templates/report/inventree_purchase_order_report.html:72 +#: report/templates/report/inventree_sales_order_report.html:72 +#: templates/js/translated/purchase_order.js:2017 +#: templates/js/translated/sales_order.js:1842 msgid "Total" msgstr "" -#: report/templates/report/inventree_return_order_report_base.html:25 -#: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:809 stock/templates/stock/item_base.html:311 +#: report/templates/report/inventree_return_order_report.html:25 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:830 +#: stock/serializers.py:150 stock/templates/stock/item_base.html:311 #: templates/js/translated/build.js:519 templates/js/translated/build.js:1367 #: templates/js/translated/build.js:2355 -#: templates/js/translated/model_renderers.js:224 -#: templates/js/translated/return_order.js:540 -#: templates/js/translated/return_order.js:724 +#: templates/js/translated/model_renderers.js:230 +#: templates/js/translated/return_order.js:539 +#: templates/js/translated/return_order.js:723 #: templates/js/translated/sales_order.js:315 -#: templates/js/translated/sales_order.js:1611 -#: templates/js/translated/sales_order.js:1696 +#: templates/js/translated/sales_order.js:1647 +#: templates/js/translated/sales_order.js:1732 #: templates/js/translated/stock.js:596 msgid "Serial Number" msgstr "Sarjanumero" -#: report/templates/report/inventree_slr_report.html:97 +#: report/templates/report/inventree_stock_location_report.html:97 msgid "Stock location items" msgstr "" -#: report/templates/report/inventree_test_report_base.html:21 +#: report/templates/report/inventree_test_report.html:21 msgid "Stock Item Test Report" msgstr "" -#: report/templates/report/inventree_test_report_base.html:97 +#: report/templates/report/inventree_test_report.html:97 msgid "Test Results" msgstr "" -#: report/templates/report/inventree_test_report_base.html:102 +#: report/templates/report/inventree_test_report.html:102 #: templates/js/translated/stock.js:1495 msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2442 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2419 msgid "Result" msgstr "" -#: report/templates/report/inventree_test_report_base.html:130 +#: report/templates/report/inventree_test_report.html:130 msgid "Pass" msgstr "" -#: report/templates/report/inventree_test_report_base.html:132 +#: report/templates/report/inventree_test_report.html:132 msgid "Fail" msgstr "" -#: report/templates/report/inventree_test_report_base.html:139 +#: report/templates/report/inventree_test_report.html:139 msgid "No result (required)" msgstr "" -#: report/templates/report/inventree_test_report_base.html:141 +#: report/templates/report/inventree_test_report.html:141 msgid "No result" msgstr "" -#: report/templates/report/inventree_test_report_base.html:154 +#: report/templates/report/inventree_test_report.html:154 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report_base.html:168 -#: stock/admin.py:162 templates/js/translated/stock.js:700 -#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3113 +#: report/templates/report/inventree_test_report.html:168 stock/admin.py:162 +#: templates/js/translated/stock.js:700 templates/js/translated/stock.js:871 +#: templates/js/translated/stock.js:3110 msgid "Serial" msgstr "Sarjanumero" @@ -8757,7 +8792,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:201 stock/models.py:789 +#: stock/admin.py:201 stock/models.py:810 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" @@ -8782,66 +8817,66 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:256 stock/models.py:883 +#: stock/admin.py:256 stock/models.py:904 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2232 users/models.py:124 +#: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" msgstr "" -#: stock/api.py:284 +#: stock/api.py:318 msgid "Filter by location depth" msgstr "" -#: stock/api.py:304 +#: stock/api.py:338 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:325 +#: stock/api.py:359 msgid "Parent Location" msgstr "" -#: stock/api.py:326 +#: stock/api.py:360 msgid "Filter by parent location" msgstr "" -#: stock/api.py:579 templates/js/translated/table_filters.js:427 +#: stock/api.py:613 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:767 +#: stock/api.py:801 msgid "Part Tree" msgstr "" -#: stock/api.py:797 +#: stock/api.py:831 msgid "Expiry date before" msgstr "" -#: stock/api.py:801 +#: stock/api.py:835 msgid "Expiry date after" msgstr "" -#: stock/api.py:804 stock/templates/stock/item_base.html:439 +#: stock/api.py:838 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:891 +#: stock/api.py:925 msgid "Quantity is required" msgstr "" -#: stock/api.py:897 +#: stock/api.py:931 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:928 +#: stock/api.py:962 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:938 +#: stock/api.py:972 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:969 +#: stock/api.py:1003 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8857,477 +8892,517 @@ msgstr "" msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:125 stock/models.py:771 +#: stock/models.py:127 stock/models.py:792 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:126 stock/templates/stock/location.html:179 +#: stock/models.py:128 stock/templates/stock/location.html:186 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "" -#: stock/models.py:158 stock/models.py:932 +#: stock/models.py:170 stock/models.py:953 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:159 stock/models.py:933 +#: stock/models.py:171 stock/models.py:954 msgid "Select Owner" msgstr "" -#: stock/models.py:167 +#: stock/models.py:179 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:174 templates/js/translated/stock.js:2784 +#: stock/models.py:186 templates/js/translated/stock.js:2781 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "" -#: stock/models.py:175 +#: stock/models.py:187 msgid "This is an external stock location" msgstr "" -#: stock/models.py:181 templates/js/translated/stock.js:2793 +#: stock/models.py:193 templates/js/translated/stock.js:2790 #: templates/js/translated/table_filters.js:246 msgid "Location type" msgstr "" -#: stock/models.py:185 +#: stock/models.py:197 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:254 +#: stock/models.py:266 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:626 +#: stock/models.py:647 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:653 stock/serializers.py:290 +#: stock/models.py:674 stock/serializers.py:419 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:670 +#: stock/models.py:691 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:680 stock/models.py:693 +#: stock/models.py:701 stock/models.py:714 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:683 +#: stock/models.py:704 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:707 +#: stock/models.py:728 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:712 +#: stock/models.py:733 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:725 +#: stock/models.py:746 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:741 +#: stock/models.py:762 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:753 +#: stock/models.py:774 msgid "Base part" msgstr "" -#: stock/models.py:763 +#: stock/models.py:784 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:775 +#: stock/models.py:796 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:783 stock/serializers.py:1351 +#: stock/models.py:804 stock/serializers.py:1480 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:794 +#: stock/models.py:815 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:813 +#: stock/models.py:834 msgid "Serial number for this item" msgstr "" -#: stock/models.py:827 stock/serializers.py:1334 +#: stock/models.py:848 stock/serializers.py:1463 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:832 +#: stock/models.py:853 msgid "Stock Quantity" msgstr "" -#: stock/models.py:842 +#: stock/models.py:863 msgid "Source Build" msgstr "" -#: stock/models.py:845 +#: stock/models.py:866 msgid "Build for this stock item" msgstr "" -#: stock/models.py:852 stock/templates/stock/item_base.html:363 +#: stock/models.py:873 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:855 +#: stock/models.py:876 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:864 +#: stock/models.py:885 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:868 +#: stock/models.py:889 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:874 +#: stock/models.py:895 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:885 +#: stock/models.py:906 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:903 +#: stock/models.py:924 msgid "Delete on deplete" msgstr "" -#: stock/models.py:904 +#: stock/models.py:925 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:924 +#: stock/models.py:945 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:955 +#: stock/models.py:976 msgid "Converted to part" msgstr "" -#: stock/models.py:1473 +#: stock/models.py:1494 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1479 +#: stock/models.py:1500 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1487 +#: stock/models.py:1508 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1493 +#: stock/models.py:1514 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1498 +#: stock/models.py:1519 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1506 stock/serializers.py:529 +#: stock/models.py:1527 stock/serializers.py:658 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1603 +#: stock/models.py:1624 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1621 +#: stock/models.py:1642 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1625 +#: stock/models.py:1646 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1628 +#: stock/models.py:1649 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1631 +#: stock/models.py:1652 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1634 +#: stock/models.py:1655 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1637 +#: stock/models.py:1658 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1644 stock/serializers.py:1240 +#: stock/models.py:1665 stock/serializers.py:1369 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1648 +#: stock/models.py:1669 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1656 +#: stock/models.py:1677 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1661 +#: stock/models.py:1682 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1882 +#: stock/models.py:1903 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2345 +#: stock/models.py:2322 msgid "Entry notes" msgstr "" -#: stock/models.py:2410 +#: stock/models.py:2387 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2415 +#: stock/models.py:2392 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2442 +#: stock/models.py:2419 msgid "Test result" msgstr "" -#: stock/models.py:2449 +#: stock/models.py:2426 msgid "Test output value" msgstr "" -#: stock/models.py:2457 +#: stock/models.py:2434 msgid "Test result attachment" msgstr "" -#: stock/models.py:2461 +#: stock/models.py:2438 msgid "Test notes" msgstr "" -#: stock/models.py:2469 templates/js/translated/stock.js:1548 +#: stock/models.py:2446 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "" -#: stock/models.py:2470 +#: stock/models.py:2447 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2476 +#: stock/models.py:2453 msgid "Started" msgstr "" -#: stock/models.py:2477 +#: stock/models.py:2454 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2483 +#: stock/models.py:2460 msgid "Finished" msgstr "" -#: stock/models.py:2484 +#: stock/models.py:2461 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:100 +#: stock/serializers.py:75 +msgid "Generated batch code" +msgstr "" + +#: stock/serializers.py:84 +msgid "Select build order" +msgstr "" + +#: stock/serializers.py:93 +msgid "Select stock item to generate batch code for" +msgstr "" + +#: stock/serializers.py:102 +msgid "Select location to generate batch code for" +msgstr "" + +#: stock/serializers.py:111 +msgid "Select part to generate batch code for" +msgstr "" + +#: stock/serializers.py:120 +msgid "Select purchase order" +msgstr "" + +#: stock/serializers.py:127 +msgid "Enter quantity for batch code" +msgstr "" + +#: stock/serializers.py:150 +msgid "Generated serial number" +msgstr "" + +#: stock/serializers.py:159 +msgid "Select part to generate serial number for" +msgstr "" + +#: stock/serializers.py:167 +msgid "Quantity of serial numbers to generate" +msgstr "" + +#: stock/serializers.py:229 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:119 +#: stock/serializers.py:248 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:151 +#: stock/serializers.py:280 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:184 +#: stock/serializers.py:313 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:282 +#: stock/serializers.py:411 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:402 +#: stock/serializers.py:531 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:464 +#: stock/serializers.py:593 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:477 +#: stock/serializers.py:606 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:484 +#: stock/serializers.py:613 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:495 stock/serializers.py:1197 stock/serializers.py:1453 +#: stock/serializers.py:624 stock/serializers.py:1326 stock/serializers.py:1582 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:502 +#: stock/serializers.py:631 msgid "Optional note field" msgstr "" -#: stock/serializers.py:512 +#: stock/serializers.py:641 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:567 +#: stock/serializers.py:696 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:574 +#: stock/serializers.py:703 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:575 +#: stock/serializers.py:704 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:580 stock/serializers.py:660 stock/serializers.py:756 -#: stock/serializers.py:806 +#: stock/serializers.py:709 stock/serializers.py:789 stock/serializers.py:885 +#: stock/serializers.py:935 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:588 +#: stock/serializers.py:717 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:596 +#: stock/serializers.py:725 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:607 +#: stock/serializers.py:736 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:620 +#: stock/serializers.py:749 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:655 +#: stock/serializers.py:784 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:690 +#: stock/serializers.py:819 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:703 +#: stock/serializers.py:832 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:720 +#: stock/serializers.py:849 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:751 +#: stock/serializers.py:880 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:788 +#: stock/serializers.py:917 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:794 +#: stock/serializers.py:923 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:890 stock/serializers.py:953 +#: stock/serializers.py:1019 stock/serializers.py:1082 #: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:213 +#: stock/templates/stock/location.html:220 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1069 +#: stock/serializers.py:1198 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1073 +#: stock/serializers.py:1202 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1077 +#: stock/serializers.py:1206 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1101 +#: stock/serializers.py:1230 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1107 +#: stock/serializers.py:1236 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1115 +#: stock/serializers.py:1244 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1125 stock/serializers.py:1379 +#: stock/serializers.py:1254 stock/serializers.py:1508 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1204 +#: stock/serializers.py:1333 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1209 +#: stock/serializers.py:1338 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1210 +#: stock/serializers.py:1339 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1215 +#: stock/serializers.py:1344 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1216 +#: stock/serializers.py:1345 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1226 +#: stock/serializers.py:1355 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1293 +#: stock/serializers.py:1422 msgid "No Change" msgstr "" -#: stock/serializers.py:1322 +#: stock/serializers.py:1451 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1341 +#: stock/serializers.py:1470 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1369 +#: stock/serializers.py:1498 msgid "Stock transaction notes" msgstr "" @@ -9352,7 +9427,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:286 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:282 msgid "Delete Test Data" msgstr "" @@ -9368,15 +9443,15 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3274 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3271 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:274 +#: stock/templates/stock/item.html:270 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:304 templates/js/translated/stock.js:1701 +#: stock/templates/stock/item.html:300 templates/js/translated/stock.js:1701 msgid "Add Test Result" msgstr "" @@ -9561,40 +9636,40 @@ msgstr "" msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:507 -#: templates/js/translated/stock.js:1954 +#: stock/templates/stock/item_base.html:504 +#: templates/js/translated/stock.js:1952 msgid "stock item" msgstr "" -#: stock/templates/stock/item_base.html:532 +#: stock/templates/stock/item_base.html:527 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:541 +#: stock/templates/stock/item_base.html:536 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:552 +#: stock/templates/stock/item_base.html:547 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:616 +#: stock/templates/stock/item_base.html:611 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:619 +#: stock/templates/stock/item_base.html:614 msgid "Warning" msgstr "Varoitus" -#: stock/templates/stock/item_base.html:620 +#: stock/templates/stock/item_base.html:615 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:628 +#: stock/templates/stock/item_base.html:623 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:662 +#: stock/templates/stock/item_base.html:657 msgid "Return to Stock" msgstr "" @@ -9658,28 +9733,32 @@ msgstr "" msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:217 +#: stock/templates/stock/location.html:176 +msgid "Location Type" +msgstr "" + +#: stock/templates/stock/location.html:224 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:218 +#: stock/templates/stock/location.html:225 msgid "New Location" msgstr "Uusi sijainti" -#: stock/templates/stock/location.html:287 -#: templates/js/translated/stock.js:2575 +#: stock/templates/stock/location.html:295 +#: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:315 +#: stock/templates/stock/location.html:317 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:388 +#: stock/templates/stock/location.html:390 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:399 +#: stock/templates/stock/location.html:401 msgid "Link Barcode to Stock Location" msgstr "" @@ -9949,11 +10028,11 @@ msgstr "" msgid "Part Settings" msgstr "" -#: templates/InvenTree/settings/part.html:42 +#: templates/InvenTree/settings/part.html:43 msgid "Part Import" msgstr "" -#: templates/InvenTree/settings/part.html:46 +#: templates/InvenTree/settings/part.html:47 msgid "Import Part" msgstr "" @@ -10174,7 +10253,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:424 +#: templates/js/translated/stock.js:245 users/models.py:411 msgid "Delete" msgstr "Poista" @@ -10283,7 +10362,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2159 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2163 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" @@ -10874,7 +10953,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3218 +#: templates/js/translated/part.js:3217 msgid "Minimum Quantity" msgstr "" @@ -11254,7 +11333,7 @@ msgid "External stock" msgstr "" #: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2595 -#: templates/js/translated/sales_order.js:1910 +#: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" @@ -11264,7 +11343,7 @@ msgstr "" #: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 #: templates/js/translated/part.js:1256 -#: templates/js/translated/sales_order.js:1907 +#: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" @@ -11519,17 +11598,17 @@ msgstr "" #: templates/js/translated/build.js:1576 #: templates/js/translated/purchase_order.js:611 -#: templates/js/translated/sales_order.js:1171 +#: templates/js/translated/sales_order.js:1207 msgid "Select Parts" msgstr "" #: templates/js/translated/build.js:1577 -#: templates/js/translated/sales_order.js:1172 +#: templates/js/translated/sales_order.js:1208 msgid "You must select at least one part to allocate" msgstr "" #: templates/js/translated/build.js:1640 -#: templates/js/translated/sales_order.js:1121 +#: templates/js/translated/sales_order.js:1157 msgid "Specify stock allocation quantity" msgstr "" @@ -11542,7 +11621,7 @@ msgid "All selected parts have been fully allocated" msgstr "" #: templates/js/translated/build.js:1732 -#: templates/js/translated/sales_order.js:1186 +#: templates/js/translated/sales_order.js:1222 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -11551,12 +11630,12 @@ msgid "Allocate Stock Items to Build Order" msgstr "" #: templates/js/translated/build.js:1771 -#: templates/js/translated/sales_order.js:1283 +#: templates/js/translated/sales_order.js:1319 msgid "No matching stock locations" msgstr "" #: templates/js/translated/build.js:1844 -#: templates/js/translated/sales_order.js:1362 +#: templates/js/translated/sales_order.js:1398 msgid "No matching stock items" msgstr "" @@ -11589,9 +11668,9 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 -#: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 -#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 -#: templates/js/translated/stock.js:1985 templates/js/translated/stock.js:2713 +#: templates/js/translated/forms.js:2159 templates/js/translated/forms.js:2175 +#: templates/js/translated/part.js:2315 templates/js/translated/part.js:2741 +#: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "" @@ -11599,21 +11678,17 @@ msgstr "" msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2177 -msgid "Progress" -msgstr "" - -#: templates/js/translated/build.js:2213 templates/js/translated/stock.js:3045 +#: templates/js/translated/build.js:2213 templates/js/translated/stock.js:3042 msgid "No user information" msgstr "" #: templates/js/translated/build.js:2389 -#: templates/js/translated/sales_order.js:1646 +#: templates/js/translated/sales_order.js:1682 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:2390 -#: templates/js/translated/sales_order.js:1647 +#: templates/js/translated/sales_order.js:1683 msgid "Delete stock allocation" msgstr "" @@ -11647,7 +11722,7 @@ msgid "Unit Quantity" msgstr "" #: templates/js/translated/build.js:2591 -#: templates/js/translated/sales_order.js:1915 +#: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" @@ -11664,7 +11739,7 @@ msgid "Allocate tracked items against individual build outputs" msgstr "" #: templates/js/translated/build.js:2662 -#: templates/js/translated/sales_order.js:2016 +#: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "" @@ -11673,7 +11748,7 @@ msgid "Order stock" msgstr "" #: templates/js/translated/build.js:2671 -#: templates/js/translated/sales_order.js:2010 +#: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "" @@ -11923,12 +11998,12 @@ msgid "Delete price break" msgstr "" #: templates/js/translated/filters.js:186 -#: templates/js/translated/filters.js:672 +#: templates/js/translated/filters.js:667 msgid "true" msgstr "" #: templates/js/translated/filters.js:190 -#: templates/js/translated/filters.js:673 +#: templates/js/translated/filters.js:668 msgid "false" msgstr "" @@ -11960,7 +12035,7 @@ msgstr "" msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:582 +#: templates/js/translated/filters.js:577 msgid "Create filter" msgstr "" @@ -11993,32 +12068,32 @@ msgstr "" msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1473 templates/modals.html:19 +#: templates/js/translated/forms.js:1477 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1971 +#: templates/js/translated/forms.js:1975 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2275 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2279 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2489 +#: templates/js/translated/forms.js:2493 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3091 +#: templates/js/translated/forms.js:3095 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3091 +#: templates/js/translated/forms.js:3095 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3103 +#: templates/js/translated/forms.js:3107 msgid "Select Columns" msgstr "" @@ -12042,51 +12117,15 @@ msgstr "" msgid "No parts required for builds" msgstr "" -#: templates/js/translated/label.js:53 templates/js/translated/report.js:123 +#: templates/js/translated/label.js:55 templates/js/translated/report.js:38 msgid "Select Items" msgstr "" -#: templates/js/translated/label.js:54 +#: templates/js/translated/label.js:56 templates/js/translated/report.js:39 msgid "No items selected for printing" msgstr "" -#: templates/js/translated/label.js:72 -msgid "No Labels Found" -msgstr "" - -#: templates/js/translated/label.js:73 -msgid "No label templates found which match the selected items" -msgstr "" - -#: templates/js/translated/label.js:97 -msgid "selected" -msgstr "" - -#: templates/js/translated/label.js:133 -msgid "Printing Options" -msgstr "" - -#: templates/js/translated/label.js:148 -msgid "Print label" -msgstr "" - -#: templates/js/translated/label.js:148 -msgid "Print labels" -msgstr "" - #: templates/js/translated/label.js:149 -msgid "Print" -msgstr "" - -#: templates/js/translated/label.js:155 -msgid "Select label template" -msgstr "" - -#: templates/js/translated/label.js:168 -msgid "Select plugin" -msgstr "" - -#: templates/js/translated/label.js:187 msgid "Labels sent to printer" msgstr "" @@ -12204,7 +12243,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1991 +#: templates/js/translated/purchase_order.js:1990 msgid "No line items found" msgstr "" @@ -12442,19 +12481,19 @@ msgid "Delete Part Parameter Template" msgstr "" #: templates/js/translated/part.js:1716 -#: templates/js/translated/purchase_order.js:1655 +#: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1860 -#: templates/js/translated/purchase_order.js:2154 -#: templates/js/translated/return_order.js:756 -#: templates/js/translated/sales_order.js:1875 +#: templates/js/translated/purchase_order.js:2153 +#: templates/js/translated/return_order.js:755 +#: templates/js/translated/sales_order.js:1911 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1906 -#: templates/js/translated/purchase_order.js:2221 +#: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "" @@ -12466,7 +12505,7 @@ msgstr "" msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2506 +#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2505 msgid "No parts found" msgstr "" @@ -12482,101 +12521,101 @@ msgstr "" msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2286 msgid "part" msgstr "" -#: templates/js/translated/part.js:2288 +#: templates/js/translated/part.js:2287 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2384 +#: templates/js/translated/part.js:2383 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 -#: templates/js/translated/stock.js:2672 +#: templates/js/translated/part.js:2530 templates/js/translated/part.js:2660 +#: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2547 +#: templates/js/translated/part.js:2546 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2645 +#: templates/js/translated/part.js:2644 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2692 +#: templates/js/translated/part.js:2680 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2761 +#: templates/js/translated/part.js:2760 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2777 +#: templates/js/translated/part.js:2776 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2864 +#: templates/js/translated/part.js:2863 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2886 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2885 templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2935 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2941 +#: templates/js/translated/part.js:2940 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2957 +#: templates/js/translated/part.js:2956 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2971 +#: templates/js/translated/part.js:2970 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3050 templates/js/translated/part.js:3051 +#: templates/js/translated/part.js:3049 templates/js/translated/part.js:3050 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3053 +#: templates/js/translated/part.js:3052 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3059 +#: templates/js/translated/part.js:3058 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3109 +#: templates/js/translated/part.js:3108 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3115 +#: templates/js/translated/part.js:3114 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3211 +#: templates/js/translated/part.js:3210 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3227 +#: templates/js/translated/part.js:3226 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3272 +#: templates/js/translated/part.js:3271 msgid "Minimum Stock Level" msgstr "" @@ -12702,7 +12741,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:448 #: templates/js/translated/return_order.js:210 -#: templates/js/translated/sales_order.js:500 +#: templates/js/translated/sales_order.js:552 msgid "Mark this order as complete?" msgstr "" @@ -12715,7 +12754,6 @@ msgid "This order has line items which have not been marked as received." msgstr "" #: templates/js/translated/purchase_order.js:460 -#: templates/js/translated/sales_order.js:514 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" @@ -12773,12 +12811,12 @@ msgid "No matching purchase orders" msgstr "" #: templates/js/translated/purchase_order.js:1073 -#: templates/js/translated/return_order.js:491 +#: templates/js/translated/return_order.js:490 msgid "Select Line Items" msgstr "" #: templates/js/translated/purchase_order.js:1074 -#: templates/js/translated/return_order.js:492 +#: templates/js/translated/return_order.js:491 msgid "At least one line item must be selected" msgstr "" @@ -12827,7 +12865,7 @@ msgid "Quantity to Receive" msgstr "" #: templates/js/translated/purchase_order.js:1333 -#: templates/js/translated/return_order.js:561 +#: templates/js/translated/return_order.js:560 msgid "Confirm receipt of items" msgstr "" @@ -12847,81 +12885,66 @@ msgstr "" msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1682 -#: templates/js/translated/return_order.js:286 -#: templates/js/translated/sales_order.js:774 -#: templates/js/translated/sales_order.js:998 +#: templates/js/translated/purchase_order.js:1681 +#: templates/js/translated/return_order.js:285 +#: templates/js/translated/sales_order.js:810 +#: templates/js/translated/sales_order.js:1034 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1748 -#: templates/js/translated/return_order.js:354 -#: templates/js/translated/sales_order.js:851 -#: templates/js/translated/sales_order.js:1011 -msgid "Items" -msgstr "" - -#: templates/js/translated/purchase_order.js:1844 +#: templates/js/translated/purchase_order.js:1843 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1862 +#: templates/js/translated/purchase_order.js:1861 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1917 -#: templates/js/translated/sales_order.js:2070 +#: templates/js/translated/purchase_order.js:1916 +#: templates/js/translated/sales_order.js:2106 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1932 -#: templates/js/translated/return_order.js:476 -#: templates/js/translated/return_order.js:669 -#: templates/js/translated/sales_order.js:2083 +#: templates/js/translated/purchase_order.js:1931 +#: templates/js/translated/return_order.js:475 +#: templates/js/translated/return_order.js:668 +#: templates/js/translated/sales_order.js:2119 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1943 -#: templates/js/translated/return_order.js:682 -#: templates/js/translated/sales_order.js:2094 +#: templates/js/translated/purchase_order.js:1942 +#: templates/js/translated/return_order.js:681 +#: templates/js/translated/sales_order.js:2130 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2225 -#: templates/js/translated/sales_order.js:2024 +#: templates/js/translated/purchase_order.js:2224 +#: templates/js/translated/sales_order.js:2060 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2226 -#: templates/js/translated/return_order.js:801 -#: templates/js/translated/sales_order.js:2025 +#: templates/js/translated/purchase_order.js:2225 +#: templates/js/translated/return_order.js:800 +#: templates/js/translated/sales_order.js:2061 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2227 -#: templates/js/translated/return_order.js:805 -#: templates/js/translated/sales_order.js:2031 +#: templates/js/translated/purchase_order.js:2226 +#: templates/js/translated/return_order.js:804 +#: templates/js/translated/sales_order.js:2067 msgid "Delete line item" msgstr "" -#: templates/js/translated/report.js:63 -msgid "items selected" +#: templates/js/translated/report.js:49 +msgid "Print Report" msgstr "" -#: templates/js/translated/report.js:71 -msgid "Select Report Template" +#: templates/js/translated/report.js:68 +msgid "Report print successful" msgstr "" -#: templates/js/translated/report.js:86 -msgid "Select Test Report Template" -msgstr "" - -#: templates/js/translated/report.js:140 -msgid "No Reports Found" -msgstr "" - -#: templates/js/translated/report.js:141 -msgid "No report templates found which match the selected items" +#: templates/js/translated/report.js:73 +msgid "Report printing failed" msgstr "" #: templates/js/translated/return_order.js:60 @@ -12953,25 +12976,25 @@ msgstr "" msgid "Complete Return Order" msgstr "" -#: templates/js/translated/return_order.js:266 +#: templates/js/translated/return_order.js:265 msgid "No return orders found" msgstr "" -#: templates/js/translated/return_order.js:300 -#: templates/js/translated/sales_order.js:788 +#: templates/js/translated/return_order.js:299 +#: templates/js/translated/sales_order.js:824 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/return_order.js:562 +#: templates/js/translated/return_order.js:561 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:693 -#: templates/js/translated/sales_order.js:2231 +#: templates/js/translated/return_order.js:692 +#: templates/js/translated/sales_order.js:2267 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:798 +#: templates/js/translated/return_order.js:797 msgid "Mark item as received" msgstr "" @@ -13015,140 +13038,156 @@ msgstr "" msgid "Skip" msgstr "" +#: templates/js/translated/sales_order.js:484 +msgid "Ship Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:500 +msgid "Ship this order?" +msgstr "" + +#: templates/js/translated/sales_order.js:506 +msgid "Order cannot be shipped as there are incomplete shipments" +msgstr "" + #: templates/js/translated/sales_order.js:513 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/sales_order.js:535 +#: templates/js/translated/sales_order.js:514 +msgid "Shipping this order means that the order and line items will no longer be editable." +msgstr "" + +#: templates/js/translated/sales_order.js:572 msgid "Issue this Sales Order?" msgstr "" -#: templates/js/translated/sales_order.js:540 +#: templates/js/translated/sales_order.js:577 msgid "Issue Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:559 +#: templates/js/translated/sales_order.js:596 msgid "Cancel Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:564 +#: templates/js/translated/sales_order.js:601 msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: templates/js/translated/sales_order.js:618 +#: templates/js/translated/sales_order.js:655 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/sales_order.js:728 +#: templates/js/translated/sales_order.js:764 msgid "No sales orders found" msgstr "" -#: templates/js/translated/sales_order.js:908 +#: templates/js/translated/sales_order.js:944 msgid "Edit shipment" msgstr "" -#: templates/js/translated/sales_order.js:911 +#: templates/js/translated/sales_order.js:947 msgid "Complete shipment" msgstr "" -#: templates/js/translated/sales_order.js:916 +#: templates/js/translated/sales_order.js:952 msgid "Delete shipment" msgstr "" -#: templates/js/translated/sales_order.js:933 +#: templates/js/translated/sales_order.js:969 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/sales_order.js:948 +#: templates/js/translated/sales_order.js:984 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:981 +#: templates/js/translated/sales_order.js:1017 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/sales_order.js:1006 +#: templates/js/translated/sales_order.js:1042 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/sales_order.js:1030 -#: templates/js/translated/sales_order.js:1529 +#: templates/js/translated/sales_order.js:1066 +#: templates/js/translated/sales_order.js:1565 msgid "Not shipped" msgstr "" -#: templates/js/translated/sales_order.js:1048 +#: templates/js/translated/sales_order.js:1084 msgid "Tracking" msgstr "" -#: templates/js/translated/sales_order.js:1052 +#: templates/js/translated/sales_order.js:1088 msgid "Invoice" msgstr "" -#: templates/js/translated/sales_order.js:1219 +#: templates/js/translated/sales_order.js:1255 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1270 +#: templates/js/translated/sales_order.js:1306 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/sales_order.js:1271 +#: templates/js/translated/sales_order.js:1307 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1477 +#: templates/js/translated/sales_order.js:1513 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1569 +#: templates/js/translated/sales_order.js:1605 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1583 +#: templates/js/translated/sales_order.js:1619 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/sales_order.js:1584 +#: templates/js/translated/sales_order.js:1620 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1623 -#: templates/js/translated/sales_order.js:1710 +#: templates/js/translated/sales_order.js:1659 +#: templates/js/translated/sales_order.js:1746 #: templates/js/translated/stock.js:1776 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/sales_order.js:1631 -#: templates/js/translated/sales_order.js:1719 +#: templates/js/translated/sales_order.js:1667 +#: templates/js/translated/sales_order.js:1755 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:2008 +#: templates/js/translated/sales_order.js:2044 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/sales_order.js:2012 +#: templates/js/translated/sales_order.js:2048 msgid "Purchase stock" msgstr "" -#: templates/js/translated/sales_order.js:2021 -#: templates/js/translated/sales_order.js:2209 +#: templates/js/translated/sales_order.js:2057 +#: templates/js/translated/sales_order.js:2245 msgid "Calculate price" msgstr "" -#: templates/js/translated/sales_order.js:2035 +#: templates/js/translated/sales_order.js:2071 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:2038 +#: templates/js/translated/sales_order.js:2074 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:2109 +#: templates/js/translated/sales_order.js:2145 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/sales_order.js:2217 +#: templates/js/translated/sales_order.js:2253 msgid "Update Unit Price" msgstr "" @@ -13356,7 +13395,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1042 users/models.py:414 +#: templates/js/translated/stock.js:1042 users/models.py:401 msgid "Add" msgstr "" @@ -13372,7 +13411,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1180 templates/js/translated/stock.js:3302 +#: templates/js/translated/stock.js:1180 templates/js/translated/stock.js:3299 msgid "Select Stock Items" msgstr "" @@ -13456,196 +13495,196 @@ msgstr "" msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:1955 +#: templates/js/translated/stock.js:1953 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1960 +#: templates/js/translated/stock.js:1958 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:1971 +#: templates/js/translated/stock.js:1969 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:2015 +#: templates/js/translated/stock.js:2013 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2093 +#: templates/js/translated/stock.js:2091 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2098 +#: templates/js/translated/stock.js:2096 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2101 +#: templates/js/translated/stock.js:2099 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2104 +#: templates/js/translated/stock.js:2102 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2106 +#: templates/js/translated/stock.js:2104 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2108 +#: templates/js/translated/stock.js:2106 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2111 +#: templates/js/translated/stock.js:2109 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2113 +#: templates/js/translated/stock.js:2111 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2117 +#: templates/js/translated/stock.js:2115 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2119 +#: templates/js/translated/stock.js:2117 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2124 +#: templates/js/translated/stock.js:2122 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2126 +#: templates/js/translated/stock.js:2124 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2128 +#: templates/js/translated/stock.js:2126 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2132 +#: templates/js/translated/stock.js:2130 #: templates/js/translated/table_filters.js:350 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2297 +#: templates/js/translated/stock.js:2295 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2344 +#: templates/js/translated/stock.js:2342 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2472 +#: templates/js/translated/stock.js:2470 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2576 +#: templates/js/translated/stock.js:2573 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2731 +#: templates/js/translated/stock.js:2728 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2849 +#: templates/js/translated/stock.js:2846 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2853 +#: templates/js/translated/stock.js:2850 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2865 +#: templates/js/translated/stock.js:2862 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2887 +#: templates/js/translated/stock.js:2884 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2904 +#: templates/js/translated/stock.js:2901 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2919 +#: templates/js/translated/stock.js:2916 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2936 +#: templates/js/translated/stock.js:2933 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:2950 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2972 +#: templates/js/translated/stock.js:2969 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2990 +#: templates/js/translated/stock.js:2987 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:3008 +#: templates/js/translated/stock.js:3005 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:3016 +#: templates/js/translated/stock.js:3013 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3088 +#: templates/js/translated/stock.js:3085 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3142 templates/js/translated/stock.js:3178 +#: templates/js/translated/stock.js:3139 templates/js/translated/stock.js:3175 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3200 +#: templates/js/translated/stock.js:3197 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3221 +#: templates/js/translated/stock.js:3218 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3222 +#: templates/js/translated/stock.js:3219 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3224 +#: templates/js/translated/stock.js:3221 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3225 +#: templates/js/translated/stock.js:3222 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3226 +#: templates/js/translated/stock.js:3223 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3227 +#: templates/js/translated/stock.js:3224 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3240 +#: templates/js/translated/stock.js:3237 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3303 +#: templates/js/translated/stock.js:3300 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3316 +#: templates/js/translated/stock.js:3313 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3320 +#: templates/js/translated/stock.js:3317 msgid "Change Stock Status" msgstr "" @@ -14247,34 +14286,35 @@ msgstr "" msgid "Revoked" msgstr "" -#: users/models.py:397 +#: users/models.py:384 msgid "Permission set" msgstr "" -#: users/models.py:406 +#: users/models.py:393 msgid "Group" msgstr "Ryhmä" -#: users/models.py:410 +#: users/models.py:397 msgid "View" msgstr "Näytä" -#: users/models.py:410 +#: users/models.py:397 msgid "Permission to view items" msgstr "Oikeus tarkastella kohteita" -#: users/models.py:414 +#: users/models.py:401 msgid "Permission to add items" msgstr "Oikeus lisätä kohteita" -#: users/models.py:418 +#: users/models.py:405 msgid "Change" msgstr "Muuta" -#: users/models.py:420 +#: users/models.py:407 msgid "Permissions to edit items" msgstr "Oikeus muokata kohteita" -#: users/models.py:426 +#: users/models.py:413 msgid "Permission to delete items" msgstr "Oikeus poistaa kohteita" + diff --git a/src/backend/InvenTree/locale/fr/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/fr/LC_MESSAGES/django.po index 2cb0feb8e5..e788d9ceb8 100644 --- a/src/backend/InvenTree/locale/fr/LC_MESSAGES/django.po +++ b/src/backend/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: 2024-05-10 05:37+0000\n" -"PO-Revision-Date: 2024-05-14 02:46\n" +"POT-Creation-Date: 2024-05-23 11:25+0000\n" +"PO-Revision-Date: 2024-05-23 11:38\n" "Last-Translator: \n" "Language-Team: French\n" "Language: fr_FR\n" @@ -17,11 +17,11 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 216\n" -#: InvenTree/api.py:271 +#: InvenTree/api.py:272 msgid "API endpoint not found" msgstr "Point de terminaison de l'API introuvable" -#: InvenTree/api.py:535 +#: InvenTree/api.py:536 msgid "User does not have permission to view this model" msgstr "L'utilisateur n'a pas la permission de voir ce modèle" @@ -56,26 +56,26 @@ msgstr "Les détails de l'erreur peuvent être trouvées dans le panneau d'admin msgid "Enter date" msgstr "Entrer la date" -#: InvenTree/fields.py:208 InvenTree/models.py:1021 build/serializers.py:444 -#: build/serializers.py:522 build/templates/build/sidebar.html:21 +#: InvenTree/fields.py:208 InvenTree/models.py:1035 build/serializers.py:443 +#: build/serializers.py:521 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 -#: order/models.py:1283 order/templates/order/po_sidebar.html:11 +#: order/models.py:1323 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:59 -#: part/models.py:3175 part/templates/part/part_sidebar.html:63 -#: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:226 stock/models.py:2344 stock/models.py:2461 -#: stock/serializers.py:501 stock/serializers.py:659 stock/serializers.py:755 -#: stock/serializers.py:805 stock/serializers.py:1114 stock/serializers.py:1203 -#: stock/serializers.py:1368 stock/templates/stock/stock_sidebar.html:25 +#: part/models.py:3218 part/templates/part/part_sidebar.html:63 +#: report/templates/report/inventree_build_order_report.html:172 +#: stock/admin.py:226 stock/models.py:2321 stock/models.py:2438 +#: stock/serializers.py:630 stock/serializers.py:788 stock/serializers.py:884 +#: stock/serializers.py:934 stock/serializers.py:1243 stock/serializers.py:1332 +#: stock/serializers.py:1497 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1080 -#: templates/js/translated/purchase_order.js:2201 -#: templates/js/translated/return_order.js:776 -#: templates/js/translated/sales_order.js:1067 -#: templates/js/translated/sales_order.js:1982 -#: templates/js/translated/stock.js:1536 templates/js/translated/stock.js:2430 +#: templates/js/translated/purchase_order.js:2200 +#: templates/js/translated/return_order.js:775 +#: templates/js/translated/sales_order.js:1103 +#: templates/js/translated/sales_order.js:2018 +#: templates/js/translated/stock.js:1536 templates/js/translated/stock.js:2428 msgid "Notes" msgstr "Notes" @@ -132,7 +132,7 @@ msgstr "Le domaine e-mail fourni n'est pas approuvé." msgid "Registration is disabled." msgstr "L'enregistrement est désactivé." -#: InvenTree/helpers.py:525 order/models.py:541 order/models.py:743 +#: InvenTree/helpers.py:525 order/models.py:563 order/models.py:765 msgid "Invalid quantity provided" msgstr "Quantité fournie invalide" @@ -355,142 +355,142 @@ msgstr "E-mail" msgid "Error running plugin validation" msgstr "Erreur lors de l'exécution de la validation du plugin" -#: InvenTree/models.py:162 +#: InvenTree/models.py:176 msgid "Metadata must be a python dict object" msgstr "Les metadata doivent être un objet python de type \"dict\"" -#: InvenTree/models.py:168 +#: InvenTree/models.py:182 msgid "Plugin Metadata" msgstr "Métadonnées de l'Extension" -#: InvenTree/models.py:169 +#: InvenTree/models.py:183 msgid "JSON metadata field, for use by external plugins" msgstr "Champs metadata JSON, pour plugins tiers" -#: InvenTree/models.py:399 +#: InvenTree/models.py:413 msgid "Improperly formatted pattern" msgstr "Modèle mal formaté" -#: InvenTree/models.py:406 +#: InvenTree/models.py:420 msgid "Unknown format key specified" msgstr "Clé de format inconnu spécifiée" -#: InvenTree/models.py:412 +#: InvenTree/models.py:426 msgid "Missing required format key" msgstr "Clé de format requise manquante" -#: InvenTree/models.py:423 +#: InvenTree/models.py:437 msgid "Reference field cannot be empty" msgstr "Le champ de référence ne peut pas être vide" -#: InvenTree/models.py:431 +#: InvenTree/models.py:445 msgid "Reference must match required pattern" msgstr "La référence doit correspondre au modèle requis" -#: InvenTree/models.py:462 +#: InvenTree/models.py:476 msgid "Reference number is too large" msgstr "Le numéro de référence est trop grand" -#: InvenTree/models.py:536 +#: InvenTree/models.py:550 msgid "Missing file" msgstr "Fichier manquant" -#: InvenTree/models.py:537 +#: InvenTree/models.py:551 msgid "Missing external link" msgstr "Lien externe manquant" -#: InvenTree/models.py:558 stock/models.py:2456 +#: InvenTree/models.py:572 stock/models.py:2433 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" msgstr "Pièce jointe" -#: InvenTree/models.py:559 +#: InvenTree/models.py:573 msgid "Select file to attach" msgstr "Sélectionnez un fichier à joindre" -#: InvenTree/models.py:567 common/models.py:3026 company/models.py:146 +#: InvenTree/models.py:581 common/models.py:3032 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 -#: order/models.py:291 order/models.py:1288 order/models.py:1704 -#: part/admin.py:55 part/models.py:919 +#: order/models.py:304 order/models.py:1328 order/models.py:1744 +#: part/admin.py:55 part/models.py:962 #: part/templates/part/part_scheduling.html:11 -#: report/templates/report/inventree_build_order_base.html:164 +#: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2456 -#: templates/js/translated/purchase_order.js:2041 -#: templates/js/translated/purchase_order.js:2205 -#: templates/js/translated/return_order.js:780 -#: templates/js/translated/sales_order.js:1056 -#: templates/js/translated/sales_order.js:1987 +#: templates/js/translated/part.js:2455 +#: templates/js/translated/purchase_order.js:2040 +#: templates/js/translated/purchase_order.js:2204 +#: templates/js/translated/return_order.js:779 +#: templates/js/translated/sales_order.js:1092 +#: templates/js/translated/sales_order.js:2023 msgid "Link" msgstr "Lien" -#: InvenTree/models.py:568 build/models.py:321 part/models.py:920 -#: stock/models.py:819 +#: InvenTree/models.py:582 build/models.py:344 part/models.py:963 +#: stock/models.py:840 msgid "Link to external URL" msgstr "Lien vers une url externe" -#: InvenTree/models.py:574 templates/js/translated/attachment.js:120 +#: InvenTree/models.py:588 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:341 msgid "Comment" msgstr "Commentaire" -#: InvenTree/models.py:575 +#: InvenTree/models.py:589 msgid "File comment" msgstr "Commentaire du fichier" -#: InvenTree/models.py:583 InvenTree/models.py:584 common/models.py:2502 -#: common/models.py:2503 common/models.py:2727 common/models.py:2728 -#: common/models.py:2973 common/models.py:2974 part/models.py:3185 -#: part/models.py:3272 part/models.py:3365 part/models.py:3393 -#: plugin/models.py:250 plugin/models.py:251 -#: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3039 users/models.py:111 +#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2508 +#: common/models.py:2509 common/models.py:2733 common/models.py:2734 +#: common/models.py:2979 common/models.py:2980 part/models.py:3228 +#: part/models.py:3315 part/models.py:3408 part/models.py:3436 +#: plugin/models.py:259 plugin/models.py:260 +#: report/templates/report/inventree_test_report.html:105 +#: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" msgstr "Utilisateur" -#: InvenTree/models.py:588 +#: InvenTree/models.py:602 msgid "upload date" msgstr "date de chargement" -#: InvenTree/models.py:610 +#: InvenTree/models.py:624 msgid "Filename must not be empty" msgstr "Le nom de fichier ne doit pas être vide" -#: InvenTree/models.py:621 +#: InvenTree/models.py:635 msgid "Invalid attachment directory" msgstr "Répertoire de pièce jointe invalide" -#: InvenTree/models.py:651 +#: InvenTree/models.py:665 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "Le nom de fichier contient le caractère illégal '{c}'" -#: InvenTree/models.py:654 +#: InvenTree/models.py:668 msgid "Filename missing extension" msgstr "Extension manquante du nom de fichier" -#: InvenTree/models.py:663 +#: InvenTree/models.py:677 msgid "Attachment with this filename already exists" msgstr "Une pièce jointe avec ce nom de fichier existe déjà" -#: InvenTree/models.py:670 +#: InvenTree/models.py:684 msgid "Error renaming file" msgstr "Erreur lors du renommage du fichier" -#: InvenTree/models.py:846 +#: InvenTree/models.py:860 msgid "Duplicate names cannot exist under the same parent" msgstr "Les noms dupliqués ne peuvent pas exister sous le même parent" -#: InvenTree/models.py:863 +#: InvenTree/models.py:877 msgid "Invalid choice" msgstr "Choix invalide" -#: InvenTree/models.py:893 common/models.py:2714 common/models.py:3112 -#: common/serializers.py:403 company/models.py:614 label/models.py:120 -#: machine/models.py:24 part/models.py:855 part/models.py:3616 -#: plugin/models.py:41 report/models.py:176 stock/models.py:76 +#: InvenTree/models.py:907 common/models.py:2720 common/models.py:3118 +#: common/serializers.py:403 company/models.py:614 machine/models.py:24 +#: part/models.py:898 part/models.py:3659 plugin/models.py:50 +#: report/models.py:149 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -503,22 +503,22 @@ msgstr "Choix invalide" #: templates/js/translated/company.js:1165 #: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186 #: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2719 +#: templates/js/translated/part.js:2748 templates/js/translated/stock.js:2716 msgid "Name" msgstr "Nom" -#: InvenTree/models.py:899 build/models.py:194 +#: InvenTree/models.py:913 build/models.py:217 #: build/templates/build/detail.html:24 common/models.py:136 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 label/models.py:127 -#: order/models.py:277 order/models.py:1316 part/admin.py:303 part/admin.py:414 -#: part/models.py:878 part/models.py:3631 part/templates/part/category.html:82 +#: company/templates/company/supplier_part.html:107 order/models.py:290 +#: order/models.py:1356 part/admin.py:305 part/admin.py:416 part/models.py:921 +#: part/models.py:3674 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 -#: part/templates/part/part_scheduling.html:12 report/models.py:189 -#: report/models.py:655 report/models.py:729 -#: report/templates/report/inventree_build_order_base.html:117 +#: part/templates/part/part_scheduling.html:12 report/models.py:155 +#: report/models.py:510 report/models.py:536 +#: report/templates/report/inventree_build_order_report.html:117 #: stock/admin.py:55 stock/models.py:82 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 @@ -530,71 +530,71 @@ msgstr "Nom" #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 -#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2896 +#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2354 +#: templates/js/translated/part.js:2784 templates/js/translated/part.js:2895 #: templates/js/translated/plugin.js:80 -#: templates/js/translated/purchase_order.js:1707 -#: templates/js/translated/purchase_order.js:1850 -#: templates/js/translated/purchase_order.js:2023 -#: templates/js/translated/return_order.js:314 -#: templates/js/translated/sales_order.js:802 -#: templates/js/translated/sales_order.js:1812 -#: templates/js/translated/stock.js:1515 templates/js/translated/stock.js:2060 -#: templates/js/translated/stock.js:2751 templates/js/translated/stock.js:2834 +#: templates/js/translated/purchase_order.js:1706 +#: templates/js/translated/purchase_order.js:1849 +#: templates/js/translated/purchase_order.js:2022 +#: templates/js/translated/return_order.js:313 +#: templates/js/translated/sales_order.js:838 +#: templates/js/translated/sales_order.js:1848 +#: templates/js/translated/stock.js:1515 templates/js/translated/stock.js:2058 +#: templates/js/translated/stock.js:2748 templates/js/translated/stock.js:2831 msgid "Description" msgstr "Description" -#: InvenTree/models.py:900 stock/models.py:83 +#: InvenTree/models.py:914 stock/models.py:83 msgid "Description (optional)" msgstr "Description (facultative)" -#: InvenTree/models.py:909 +#: InvenTree/models.py:923 msgid "parent" msgstr "parent" -#: InvenTree/models.py:915 templates/js/translated/part.js:2794 -#: templates/js/translated/stock.js:2760 +#: InvenTree/models.py:929 templates/js/translated/part.js:2793 +#: templates/js/translated/stock.js:2757 msgid "Path" msgstr "Chemin d'accès" -#: InvenTree/models.py:1021 +#: InvenTree/models.py:1035 msgid "Markdown notes (optional)" msgstr "Notes Markdown (option)" -#: InvenTree/models.py:1050 +#: InvenTree/models.py:1064 msgid "Barcode Data" msgstr "Données du code-barres" -#: InvenTree/models.py:1051 +#: InvenTree/models.py:1065 msgid "Third party barcode data" msgstr "Données de code-barres tierces" -#: InvenTree/models.py:1057 +#: InvenTree/models.py:1071 msgid "Barcode Hash" msgstr "Hash du code-barre" -#: InvenTree/models.py:1058 +#: InvenTree/models.py:1072 msgid "Unique hash of barcode data" msgstr "Hachage unique des données du code-barres" -#: InvenTree/models.py:1111 +#: InvenTree/models.py:1125 msgid "Existing barcode found" msgstr "Code-barres existant trouvé" -#: InvenTree/models.py:1154 +#: InvenTree/models.py:1168 msgid "Server Error" msgstr "Erreur serveur" -#: InvenTree/models.py:1155 +#: InvenTree/models.py:1169 msgid "An error has been logged by the server." msgstr "Une erreur a été loguée par le serveur." -#: InvenTree/serializers.py:62 part/models.py:4169 +#: InvenTree/serializers.py:62 part/models.py:4212 msgid "Must be a valid number" msgstr "Doit être un nombre valide" #: InvenTree/serializers.py:99 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:2993 +#: company/templates/company/company_base.html:112 part/models.py:3036 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -686,7 +686,7 @@ msgstr "URL du fichier image distant" msgid "Downloading images from remote URL is not enabled" msgstr "Le téléchargement des images depuis une URL distante n'est pas activé" -#: InvenTree/status.py:66 part/serializers.py:1161 +#: InvenTree/status.py:66 part/serializers.py:1176 msgid "Background worker check failed" msgstr "Échec de la vérification du processus d'arrière-plan" @@ -699,8 +699,8 @@ msgid "InvenTree system health checks failed" msgstr "Échec des contrôles de santé du système" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:37 -#: InvenTree/status_codes.py:148 InvenTree/status_codes.py:164 -#: InvenTree/status_codes.py:182 generic/states/tests.py:17 +#: InvenTree/status_codes.py:149 InvenTree/status_codes.py:165 +#: InvenTree/status_codes.py:183 generic/states/tests.py:17 #: templates/js/translated/table_filters.js:598 msgid "Pending" msgstr "En attente" @@ -709,188 +709,188 @@ msgstr "En attente" msgid "Placed" msgstr "Placé" -#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:151 -#: InvenTree/status_codes.py:169 generic/states/tests.py:19 -#: order/templates/order/order_base.html:158 -#: order/templates/order/sales_order_base.html:161 +#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:44 +#: InvenTree/status_codes.py:152 InvenTree/status_codes.py:170 +#: generic/states/tests.py:19 order/templates/order/order_base.html:158 +#: order/templates/order/sales_order_base.html:165 report/models.py:444 msgid "Complete" msgstr "Terminé" -#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:44 -#: InvenTree/status_codes.py:150 InvenTree/status_codes.py:170 +#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:45 +#: InvenTree/status_codes.py:151 InvenTree/status_codes.py:171 msgid "Cancelled" msgstr "Annulé" -#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:45 -#: InvenTree/status_codes.py:67 +#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:46 +#: InvenTree/status_codes.py:68 msgid "Lost" msgstr "Perdu" -#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:46 -#: InvenTree/status_codes.py:73 +#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:47 +#: InvenTree/status_codes.py:74 msgid "Returned" msgstr "Retourné" -#: InvenTree/status_codes.py:40 InvenTree/status_codes.py:167 +#: InvenTree/status_codes.py:40 InvenTree/status_codes.py:168 msgid "In Progress" msgstr "En Cours" -#: InvenTree/status_codes.py:43 order/models.py:1566 -#: templates/js/translated/sales_order.js:1523 -#: templates/js/translated/sales_order.js:1644 -#: templates/js/translated/sales_order.js:1957 +#: InvenTree/status_codes.py:43 order/models.py:1606 +#: templates/js/translated/sales_order.js:1559 +#: templates/js/translated/sales_order.js:1680 +#: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "Expédié" -#: InvenTree/status_codes.py:62 +#: InvenTree/status_codes.py:63 msgid "OK" msgstr "OK" -#: InvenTree/status_codes.py:63 +#: InvenTree/status_codes.py:64 msgid "Attention needed" msgstr "Attention requise" -#: InvenTree/status_codes.py:64 +#: InvenTree/status_codes.py:65 msgid "Damaged" msgstr "Endommagé" -#: InvenTree/status_codes.py:65 +#: InvenTree/status_codes.py:66 msgid "Destroyed" msgstr "Détruit" -#: InvenTree/status_codes.py:66 +#: InvenTree/status_codes.py:67 msgid "Rejected" msgstr "Rejeté" -#: InvenTree/status_codes.py:70 +#: InvenTree/status_codes.py:71 msgid "Quarantined" msgstr "En quarantaine" -#: InvenTree/status_codes.py:91 +#: InvenTree/status_codes.py:92 msgid "Legacy stock tracking entry" msgstr "Ancienne entrée de suivi de stock" -#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:544 +#: InvenTree/status_codes.py:94 templates/js/translated/stock.js:544 msgid "Stock item created" msgstr "Article en stock créé" -#: InvenTree/status_codes.py:96 +#: InvenTree/status_codes.py:97 msgid "Edited stock item" msgstr "Article de stock modifié" -#: InvenTree/status_codes.py:97 +#: InvenTree/status_codes.py:98 msgid "Assigned serial number" msgstr "Numéro de série attribué" -#: InvenTree/status_codes.py:100 +#: InvenTree/status_codes.py:101 msgid "Stock counted" msgstr "Stock comptabilisé" -#: InvenTree/status_codes.py:101 +#: InvenTree/status_codes.py:102 msgid "Stock manually added" msgstr "Stock ajouté manuellement" -#: InvenTree/status_codes.py:102 +#: InvenTree/status_codes.py:103 msgid "Stock manually removed" msgstr "Stock supprimé manuellement" -#: InvenTree/status_codes.py:105 +#: InvenTree/status_codes.py:106 msgid "Location changed" msgstr "Emplacement modifié" -#: InvenTree/status_codes.py:106 +#: InvenTree/status_codes.py:107 msgid "Stock updated" msgstr "Stock mis à jour" -#: InvenTree/status_codes.py:109 +#: InvenTree/status_codes.py:110 msgid "Installed into assembly" msgstr "Installé dans l'assemblage" -#: InvenTree/status_codes.py:110 +#: InvenTree/status_codes.py:111 msgid "Removed from assembly" msgstr "Retiré de l'assemblage" -#: InvenTree/status_codes.py:112 +#: InvenTree/status_codes.py:113 msgid "Installed component item" msgstr "Composant installé" -#: InvenTree/status_codes.py:113 +#: InvenTree/status_codes.py:114 msgid "Removed component item" msgstr "Composant retiré" -#: InvenTree/status_codes.py:116 +#: InvenTree/status_codes.py:117 msgid "Split from parent item" msgstr "Séparer de l'élément parent" -#: InvenTree/status_codes.py:117 +#: InvenTree/status_codes.py:118 msgid "Split child item" msgstr "Fractionner l'élément enfant" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1858 +#: InvenTree/status_codes.py:121 templates/js/translated/stock.js:1858 msgid "Merged stock items" msgstr "Articles de stock fusionnés" -#: InvenTree/status_codes.py:123 +#: InvenTree/status_codes.py:124 msgid "Converted to variant" msgstr "Converti en variante" -#: InvenTree/status_codes.py:126 +#: InvenTree/status_codes.py:127 msgid "Build order output created" msgstr "La sortie de l'ordre de construction a été créée" -#: InvenTree/status_codes.py:127 +#: InvenTree/status_codes.py:128 msgid "Build order output completed" msgstr "Sortie de l'ordre de construction terminée" -#: InvenTree/status_codes.py:128 +#: InvenTree/status_codes.py:129 msgid "Build order output rejected" msgstr "La sortie de l'ordre de construction a été refusée" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1764 +#: InvenTree/status_codes.py:130 templates/js/translated/stock.js:1764 msgid "Consumed by build order" msgstr "Consommé par ordre de construction" -#: InvenTree/status_codes.py:132 +#: InvenTree/status_codes.py:133 msgid "Shipped against Sales Order" msgstr "Commandes expédiées vs. ventes" -#: InvenTree/status_codes.py:135 +#: InvenTree/status_codes.py:136 msgid "Received against Purchase Order" msgstr "Livraisons reçues vs. commandes réalisées" -#: InvenTree/status_codes.py:138 +#: InvenTree/status_codes.py:139 msgid "Returned against Return Order" msgstr "Livraisons retournées vs. commandes retournées" -#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:375 +#: InvenTree/status_codes.py:142 templates/js/translated/table_filters.js:375 msgid "Sent to customer" msgstr "Envoyé au client" -#: InvenTree/status_codes.py:142 +#: InvenTree/status_codes.py:143 msgid "Returned from customer" msgstr "Retourné par le client" -#: InvenTree/status_codes.py:149 +#: InvenTree/status_codes.py:150 msgid "Production" msgstr "Fabrication" -#: InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:186 msgid "Return" msgstr "Retour" -#: InvenTree/status_codes.py:188 +#: InvenTree/status_codes.py:189 msgid "Repair" msgstr "Réparer" -#: InvenTree/status_codes.py:191 +#: InvenTree/status_codes.py:192 msgid "Replace" msgstr "Remplacer" -#: InvenTree/status_codes.py:194 +#: InvenTree/status_codes.py:195 msgid "Refund" msgstr "Remboursement" -#: InvenTree/status_codes.py:197 +#: InvenTree/status_codes.py:198 msgid "Reject" msgstr "Refuser" @@ -946,14 +946,14 @@ msgstr "À propos d'InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "La construction doit être annulée avant de pouvoir être supprimée" -#: build/api.py:299 part/models.py:4047 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4090 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "Consommable" -#: build/api.py:300 part/models.py:4041 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4084 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -969,7 +969,7 @@ msgstr "Suivi" #: build/api.py:303 part/admin.py:144 templates/js/translated/build.js:1744 #: templates/js/translated/build.js:2629 -#: templates/js/translated/sales_order.js:1929 +#: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "Allouée" @@ -980,7 +980,7 @@ msgstr "Allouée" #: templates/email/low_stock_notification.html:17 #: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 #: templates/js/translated/index.js:123 -#: templates/js/translated/model_renderers.js:228 +#: templates/js/translated/model_renderers.js:234 #: templates/js/translated/part.js:692 templates/js/translated/part.js:694 #: templates/js/translated/part.js:699 #: templates/js/translated/table_filters.js:340 @@ -988,16 +988,16 @@ msgstr "Allouée" msgid "Available" msgstr "Disponible" -#: build/models.py:74 build/templates/build/build_base.html:9 +#: build/models.py:82 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 -#: report/templates/report/inventree_build_order_base.html:105 -#: templates/email/build_order_completed.html:16 +#: report/templates/report/inventree_build_order_report.html:105 +#: stock/serializers.py:83 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2895 +#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2892 msgid "Build Order" msgstr "Ordre de Fabrication" -#: build/models.py:75 build/templates/build/build_base.html:13 +#: build/models.py:83 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -1008,71 +1008,71 @@ msgstr "Ordre de Fabrication" msgid "Build Orders" msgstr "Ordres de Fabrication" -#: build/models.py:122 +#: build/models.py:130 msgid "Invalid choice for parent build" msgstr "Choix invalide pour la fabrication parente" -#: build/models.py:133 order/models.py:239 +#: build/models.py:141 order/models.py:241 msgid "Responsible user or group must be specified" msgstr "Un utilisateur ou un groupe responsable doit être spécifié" -#: build/models.py:139 +#: build/models.py:147 msgid "Build order part cannot be changed" msgstr "La pièce de commande de construction ne peut pas être changée" -#: build/models.py:185 +#: build/models.py:208 msgid "Build Order Reference" msgstr "Référence de l' Ordre de Fabrication" -#: build/models.py:186 order/models.py:442 order/models.py:898 -#: order/models.py:1276 order/models.py:1998 part/admin.py:417 -#: part/models.py:4062 part/templates/part/upload_bom.html:54 +#: build/models.py:209 order/models.py:464 order/models.py:929 +#: order/models.py:1316 order/models.py:2047 part/admin.py:419 +#: part/models.py:4105 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 -#: report/templates/report/inventree_so_report_base.html:28 +#: report/templates/report/inventree_purchase_order_report.html:28 +#: report/templates/report/inventree_return_order_report.html:26 +#: report/templates/report/inventree_sales_order_report.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 #: templates/js/translated/build.js:2512 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 -#: templates/js/translated/purchase_order.js:2066 -#: templates/js/translated/return_order.js:729 -#: templates/js/translated/sales_order.js:1818 +#: templates/js/translated/purchase_order.js:2065 +#: templates/js/translated/return_order.js:728 +#: templates/js/translated/sales_order.js:1854 msgid "Reference" msgstr "Référence" -#: build/models.py:197 +#: build/models.py:220 msgid "Brief description of the build (optional)" msgstr "Brève description de la fabrication (optionnel)" -#: build/models.py:205 build/templates/build/build_base.html:183 +#: build/models.py:228 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Fabrication parente" -#: build/models.py:206 +#: build/models.py:229 msgid "BuildOrder to which this build is allocated" msgstr "BuildOrder associé a cette fabrication" -#: build/models.py:211 build/templates/build/build_base.html:97 +#: build/models.py:234 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 -#: order/models.py:1401 order/models.py:1546 order/models.py:1547 -#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004 -#: part/models.py:3148 part/models.py:3292 part/models.py:3315 -#: part/models.py:3336 part/models.py:3358 part/models.py:3468 -#: part/models.py:3764 part/models.py:3920 part/models.py:4013 -#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713 +#: order/models.py:1441 order/models.py:1586 order/models.py:1587 +#: part/api.py:1501 part/api.py:1795 part/models.py:392 part/models.py:3047 +#: part/models.py:3191 part/models.py:3335 part/models.py:3358 +#: part/models.py:3379 part/models.py:3401 part/models.py:3511 +#: part/models.py:3807 part/models.py:3963 part/models.py:4056 +#: part/models.py:4417 part/serializers.py:1122 part/serializers.py:1728 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 -#: report/templates/report/inventree_build_order_base.html:109 -#: report/templates/report/inventree_po_report_base.html:27 -#: report/templates/report/inventree_return_order_report_base.html:24 -#: report/templates/report/inventree_slr_report.html:102 -#: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:267 stock/serializers.py:689 -#: templates/InvenTree/search.html:82 +#: report/templates/report/inventree_build_order_report.html:109 +#: report/templates/report/inventree_purchase_order_report.html:27 +#: report/templates/report/inventree_return_order_report.html:24 +#: report/templates/report/inventree_sales_order_report.html:27 +#: report/templates/report/inventree_stock_location_report.html:102 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:396 +#: stock/serializers.py:818 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -1086,235 +1086,239 @@ msgstr "BuildOrder associé a cette fabrication" #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 #: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 -#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:2323 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:751 #: templates/js/translated/purchase_order.js:1304 -#: templates/js/translated/purchase_order.js:1849 -#: templates/js/translated/purchase_order.js:2008 -#: templates/js/translated/return_order.js:539 -#: templates/js/translated/return_order.js:710 +#: templates/js/translated/purchase_order.js:1848 +#: templates/js/translated/purchase_order.js:2007 +#: templates/js/translated/return_order.js:538 +#: templates/js/translated/return_order.js:709 #: templates/js/translated/sales_order.js:300 -#: templates/js/translated/sales_order.js:1197 -#: templates/js/translated/sales_order.js:1598 -#: templates/js/translated/sales_order.js:1796 +#: templates/js/translated/sales_order.js:1233 +#: templates/js/translated/sales_order.js:1634 +#: templates/js/translated/sales_order.js:1832 #: templates/js/translated/stock.js:676 templates/js/translated/stock.js:842 -#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1999 -#: templates/js/translated/stock.js:2860 templates/js/translated/stock.js:3093 -#: templates/js/translated/stock.js:3239 +#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1997 +#: templates/js/translated/stock.js:2857 templates/js/translated/stock.js:3090 +#: templates/js/translated/stock.js:3236 msgid "Part" msgstr "Pièce" -#: build/models.py:219 +#: build/models.py:242 msgid "Select part to build" msgstr "Sélectionnez la pièce à construire" -#: build/models.py:224 +#: build/models.py:247 msgid "Sales Order Reference" msgstr "Bon de commande de référence" -#: build/models.py:228 +#: build/models.py:251 msgid "SalesOrder to which this build is allocated" msgstr "Commande de vente à laquelle cette construction est allouée" -#: build/models.py:233 build/serializers.py:970 +#: build/models.py:256 build/serializers.py:969 #: templates/js/translated/build.js:1731 -#: templates/js/translated/sales_order.js:1185 +#: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "Emplacement d'origine" -#: build/models.py:237 +#: build/models.py:260 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Sélectionner l'emplacement à partir duquel le stock doit être pris pour cette construction (laisser vide pour prendre à partir de n'importe quel emplacement de stock)" -#: build/models.py:242 +#: build/models.py:265 msgid "Destination Location" msgstr "Emplacement cible" -#: build/models.py:246 +#: build/models.py:269 msgid "Select location where the completed items will be stored" msgstr "Sélectionnez l'emplacement où les éléments complétés seront stockés" -#: build/models.py:250 +#: build/models.py:273 msgid "Build Quantity" msgstr "Quantité a fabriquer" -#: build/models.py:253 +#: build/models.py:276 msgid "Number of stock items to build" msgstr "Nombre de stock items à construire" -#: build/models.py:257 +#: build/models.py:280 msgid "Completed items" msgstr "Articles terminés" -#: build/models.py:259 +#: build/models.py:282 msgid "Number of stock items which have been completed" msgstr "Nombre d'articles de stock qui ont été terminés" -#: build/models.py:263 +#: build/models.py:286 msgid "Build Status" msgstr "État de la construction" -#: build/models.py:267 +#: build/models.py:290 msgid "Build status code" msgstr "Code de statut de construction" -#: build/models.py:276 build/serializers.py:278 order/serializers.py:581 -#: stock/models.py:823 stock/serializers.py:1333 +#: build/models.py:299 build/serializers.py:277 order/serializers.py:581 +#: stock/models.py:844 stock/serializers.py:75 stock/serializers.py:1462 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Code de lot" -#: build/models.py:280 build/serializers.py:279 +#: build/models.py:303 build/serializers.py:278 msgid "Batch code for this build output" msgstr "Code de lot pour ce build output" -#: build/models.py:283 order/models.py:304 order/serializers.py:120 -#: part/models.py:1079 part/templates/part/part_base.html:310 -#: templates/js/translated/return_order.js:339 -#: templates/js/translated/sales_order.js:827 +#: build/models.py:306 order/models.py:317 order/serializers.py:120 +#: part/models.py:1122 part/templates/part/part_base.html:310 +#: templates/js/translated/return_order.js:338 +#: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "Date de création" -#: build/models.py:287 +#: build/models.py:310 msgid "Target completion date" msgstr "Date d'achèvement cible" -#: build/models.py:288 +#: build/models.py:311 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:291 order/models.py:500 order/models.py:2043 +#: build/models.py:314 order/models.py:522 order/models.py:2092 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "Date d'achèvement" -#: build/models.py:297 +#: build/models.py:320 msgid "completed by" msgstr "achevé par" -#: build/models.py:305 templates/js/translated/build.js:2207 +#: build/models.py:328 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "Émis par" -#: build/models.py:306 +#: build/models.py:329 msgid "User who issued this build order" msgstr "Utilisateur ayant émis cette commande de construction" -#: build/models.py:314 build/templates/build/build_base.html:204 +#: build/models.py:337 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:145 -#: order/models.py:322 order/templates/order/order_base.html:217 +#: order/models.py:335 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1096 +#: order/templates/order/sales_order_base.html:232 part/models.py:1139 #: part/templates/part/part_base.html:390 -#: report/templates/report/inventree_build_order_base.html:158 +#: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 #: templates/js/translated/build.js:2219 -#: templates/js/translated/purchase_order.js:1764 -#: templates/js/translated/return_order.js:359 +#: templates/js/translated/purchase_order.js:1763 +#: templates/js/translated/return_order.js:358 #: templates/js/translated/table_filters.js:531 msgid "Responsible" msgstr "Responsable" -#: build/models.py:315 +#: build/models.py:338 msgid "User or group responsible for this build order" msgstr "Utilisateur ou groupe responsable de cet ordre de construction" -#: build/models.py:320 build/templates/build/detail.html:108 +#: build/models.py:343 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 -#: order/templates/order/sales_order_base.html:180 -#: part/templates/part/part_base.html:383 stock/models.py:819 +#: order/templates/order/sales_order_base.html:184 +#: part/templates/part/part_base.html:383 stock/models.py:840 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "Lien Externe" -#: build/models.py:325 +#: build/models.py:348 msgid "Build Priority" msgstr "Priorité de fabrication" -#: build/models.py:328 +#: build/models.py:351 msgid "Priority of this build order" msgstr "Priorité de cet ordre de fabrication" -#: build/models.py:335 common/models.py:129 order/admin.py:18 -#: order/models.py:286 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:358 common/models.py:129 order/admin.py:18 +#: order/models.py:299 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 -#: templates/js/translated/purchase_order.js:1711 -#: templates/js/translated/return_order.js:318 -#: templates/js/translated/sales_order.js:806 +#: templates/js/translated/purchase_order.js:1710 +#: templates/js/translated/return_order.js:317 +#: templates/js/translated/sales_order.js:842 #: templates/js/translated/table_filters.js:48 #: templates/project_code_data.html:6 msgid "Project Code" msgstr "Code du projet" -#: build/models.py:336 +#: build/models.py:359 msgid "Project code for this build order" msgstr "Code de projet pour cet ordre de construction" -#: build/models.py:566 build/models.py:631 +#: build/models.py:589 build/models.py:654 msgid "Failed to offload task to complete build allocations" msgstr "Échec du déchargement de la tâche pour terminer les allocations de construction" -#: build/models.py:588 +#: build/models.py:611 #, python-brace-format msgid "Build order {build} has been completed" msgstr "La commande de construction {build} a été effectuée" -#: build/models.py:594 +#: build/models.py:617 msgid "A build order has been completed" msgstr "Une commande de construction a été effectuée" -#: build/models.py:820 build/models.py:895 +#: build/models.py:843 build/models.py:918 msgid "No build output specified" msgstr "Pas d'ordre de production défini" -#: build/models.py:823 +#: build/models.py:846 msgid "Build output is already completed" msgstr "L'ordre de production a déjà été réalisé" -#: build/models.py:826 +#: build/models.py:849 msgid "Build output does not match Build Order" msgstr "L'ordre de production de correspond pas à l'ordre de commande" -#: build/models.py:899 build/serializers.py:221 build/serializers.py:260 -#: build/serializers.py:837 order/models.py:538 order/serializers.py:433 -#: order/serializers.py:576 part/serializers.py:1471 part/serializers.py:1871 -#: stock/models.py:662 stock/models.py:1482 stock/serializers.py:472 +#: build/models.py:922 build/serializers.py:220 build/serializers.py:259 +#: build/serializers.py:836 order/models.py:560 order/serializers.py:433 +#: order/serializers.py:576 part/serializers.py:1486 part/serializers.py:1886 +#: stock/models.py:683 stock/models.py:1503 stock/serializers.py:601 msgid "Quantity must be greater than zero" msgstr "La quantité doit être supérieure à zéro" -#: build/models.py:904 build/serializers.py:226 +#: build/models.py:927 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "La quantité ne peut pas être supérieure à la quantité de sortie" -#: build/models.py:961 build/serializers.py:539 +#: build/models.py:984 build/serializers.py:538 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "La sortie de compilation {serial} n'a pas réussi tous les tests requis" -#: build/models.py:1323 +#: build/models.py:1335 +msgid "Build Order Line Item" +msgstr "" + +#: build/models.py:1360 msgid "Build object" msgstr "Création de l'objet" -#: build/models.py:1337 build/models.py:1593 build/serializers.py:208 -#: build/serializers.py:245 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2524 -#: order/models.py:1259 order/models.py:1918 order/serializers.py:1339 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 -#: part/forms.py:48 part/models.py:3162 part/models.py:4035 +#: build/models.py:1374 build/models.py:1630 build/serializers.py:207 +#: build/serializers.py:244 build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2530 +#: order/models.py:1299 order/models.py:1958 order/serializers.py:1339 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 +#: part/forms.py:48 part/models.py:3205 part/models.py:4078 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 -#: report/templates/report/inventree_build_order_base.html:113 -#: report/templates/report/inventree_po_report_base.html:29 -#: report/templates/report/inventree_slr_report.html:104 -#: report/templates/report/inventree_so_report_base.html:29 -#: report/templates/report/inventree_test_report_base.html:90 -#: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:160 stock/serializers.py:463 +#: report/templates/report/inventree_build_order_report.html:113 +#: report/templates/report/inventree_purchase_order_report.html:29 +#: report/templates/report/inventree_sales_order_report.html:29 +#: report/templates/report/inventree_stock_location_report.html:104 +#: report/templates/report/inventree_test_report.html:90 +#: report/templates/report/inventree_test_report.html:170 stock/admin.py:160 +#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:592 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1324,380 +1328,381 @@ msgstr "Création de l'objet" #: templates/js/translated/build.js:737 templates/js/translated/build.js:1369 #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 -#: templates/js/translated/model_renderers.js:230 +#: templates/js/translated/model_renderers.js:236 #: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3341 +#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3340 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 #: templates/js/translated/purchase_order.js:754 -#: templates/js/translated/purchase_order.js:1853 -#: templates/js/translated/purchase_order.js:2072 +#: templates/js/translated/purchase_order.js:1852 +#: templates/js/translated/purchase_order.js:2071 #: templates/js/translated/sales_order.js:317 -#: templates/js/translated/sales_order.js:1199 -#: templates/js/translated/sales_order.js:1518 -#: templates/js/translated/sales_order.js:1608 -#: templates/js/translated/sales_order.js:1698 -#: templates/js/translated/sales_order.js:1824 +#: templates/js/translated/sales_order.js:1235 +#: templates/js/translated/sales_order.js:1554 +#: templates/js/translated/sales_order.js:1644 +#: templates/js/translated/sales_order.js:1734 +#: templates/js/translated/sales_order.js:1860 #: templates/js/translated/stock.js:564 templates/js/translated/stock.js:702 -#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:3024 -#: templates/js/translated/stock.js:3107 +#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:3021 +#: templates/js/translated/stock.js:3104 msgid "Quantity" msgstr "Quantité" -#: build/models.py:1338 +#: build/models.py:1375 msgid "Required quantity for build order" msgstr "Quantité requise pour la commande de construction" -#: build/models.py:1418 +#: build/models.py:1455 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "L'élément de construction doit spécifier une sortie de construction, la pièce maîtresse étant marquée comme objet traçable" -#: build/models.py:1427 +#: build/models.py:1464 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "La quantité allouée ({q}) ne doit pas excéder la quantité disponible ({a})" -#: build/models.py:1437 order/models.py:1869 +#: build/models.py:1474 order/models.py:1909 msgid "Stock item is over-allocated" msgstr "L'article de stock est suralloué" -#: build/models.py:1443 order/models.py:1872 +#: build/models.py:1480 order/models.py:1912 msgid "Allocation quantity must be greater than zero" msgstr "La quantité allouée doit être supérieure à zéro" -#: build/models.py:1449 +#: build/models.py:1486 msgid "Quantity must be 1 for serialized stock" msgstr "La quantité doit être de 1 pour stock sérialisé" -#: build/models.py:1508 +#: build/models.py:1545 msgid "Selected stock item does not match BOM line" msgstr "L'article de stock sélectionné ne correspond pas à la ligne BOM" -#: build/models.py:1580 build/serializers.py:817 order/serializers.py:1183 -#: order/serializers.py:1204 stock/serializers.py:566 stock/serializers.py:1052 -#: stock/serializers.py:1164 stock/templates/stock/item_base.html:10 +#: build/models.py:1617 build/serializers.py:816 order/serializers.py:1183 +#: order/serializers.py:1204 stock/models.py:364 stock/serializers.py:92 +#: stock/serializers.py:695 stock/serializers.py:1181 stock/serializers.py:1293 +#: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 #: templates/js/translated/build.js:1745 #: templates/js/translated/sales_order.js:301 -#: templates/js/translated/sales_order.js:1198 -#: templates/js/translated/sales_order.js:1499 -#: templates/js/translated/sales_order.js:1504 -#: templates/js/translated/sales_order.js:1605 -#: templates/js/translated/sales_order.js:1692 +#: templates/js/translated/sales_order.js:1234 +#: templates/js/translated/sales_order.js:1535 +#: templates/js/translated/sales_order.js:1540 +#: templates/js/translated/sales_order.js:1641 +#: templates/js/translated/sales_order.js:1728 #: templates/js/translated/stock.js:677 templates/js/translated/stock.js:843 -#: templates/js/translated/stock.js:2980 +#: templates/js/translated/stock.js:2977 msgid "Stock Item" msgstr "Article en stock" -#: build/models.py:1581 +#: build/models.py:1618 msgid "Source stock item" msgstr "Stock d'origine de l'article" -#: build/models.py:1594 +#: build/models.py:1631 msgid "Stock quantity to allocate to build" msgstr "Quantité de stock à allouer à la construction" -#: build/models.py:1602 +#: build/models.py:1639 msgid "Install into" msgstr "Installer dans" -#: build/models.py:1603 +#: build/models.py:1640 msgid "Destination stock item" msgstr "Stock de destination de l'article" -#: build/serializers.py:158 build/serializers.py:846 +#: build/serializers.py:157 build/serializers.py:845 #: templates/js/translated/build.js:1322 msgid "Build Output" msgstr "Sortie d'assemblage" -#: build/serializers.py:170 +#: build/serializers.py:169 msgid "Build output does not match the parent build" msgstr "L'ordre de production ne correspond pas à l'ordre parent" -#: build/serializers.py:174 +#: build/serializers.py:173 msgid "Output part does not match BuildOrder part" msgstr "La pièce en sortie ne correspond pas à la pièce de l'ordre de construction" -#: build/serializers.py:178 +#: build/serializers.py:177 msgid "This build output has already been completed" msgstr "Cet ordre de production a déjà été produit" -#: build/serializers.py:189 +#: build/serializers.py:188 msgid "This build output is not fully allocated" msgstr "Cet ordre de production n'est pas complètement attribué" -#: build/serializers.py:209 build/serializers.py:246 +#: build/serializers.py:208 build/serializers.py:245 msgid "Enter quantity for build output" msgstr "Entrer la quantité désiré pour la fabrication" -#: build/serializers.py:267 +#: build/serializers.py:266 msgid "Integer quantity required for trackable parts" msgstr "Quantité entière requise pour les pièces à suivre" -#: build/serializers.py:270 +#: build/serializers.py:269 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:285 order/serializers.py:589 order/serializers.py:1343 -#: stock/serializers.py:483 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:284 order/serializers.py:589 order/serializers.py:1343 +#: stock/serializers.py:612 templates/js/translated/purchase_order.js:1153 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "Numéros de série" -#: build/serializers.py:286 +#: build/serializers.py:285 msgid "Enter serial numbers for build outputs" msgstr "Entrer les numéros de séries pour la fabrication" -#: build/serializers.py:291 build/serializers.py:432 build/serializers.py:504 +#: build/serializers.py:290 build/serializers.py:431 build/serializers.py:503 #: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1679 -#: part/serializers.py:1127 stock/serializers.py:494 stock/serializers.py:654 -#: stock/serializers.py:750 stock/serializers.py:1196 stock/serializers.py:1452 -#: stock/templates/stock/item_base.html:394 +#: part/serializers.py:1142 stock/serializers.py:101 stock/serializers.py:623 +#: stock/serializers.py:783 stock/serializers.py:879 stock/serializers.py:1325 +#: stock/serializers.py:1581 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 #: templates/js/translated/purchase_order.js:1178 #: templates/js/translated/purchase_order.js:1268 -#: templates/js/translated/sales_order.js:1511 -#: templates/js/translated/sales_order.js:1619 -#: templates/js/translated/sales_order.js:1627 -#: templates/js/translated/sales_order.js:1706 +#: templates/js/translated/sales_order.js:1547 +#: templates/js/translated/sales_order.js:1655 +#: templates/js/translated/sales_order.js:1663 +#: templates/js/translated/sales_order.js:1742 #: templates/js/translated/stock.js:678 templates/js/translated/stock.js:844 -#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2203 -#: templates/js/translated/stock.js:2874 +#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2201 +#: templates/js/translated/stock.js:2871 msgid "Location" msgstr "Emplacement" -#: build/serializers.py:292 +#: build/serializers.py:291 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:306 +#: build/serializers.py:305 msgid "Auto Allocate Serial Numbers" msgstr "Allouer automatiquement les numéros de série" -#: build/serializers.py:307 +#: build/serializers.py:306 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:322 +#: build/serializers.py:321 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:347 stock/api.py:995 +#: build/serializers.py:346 stock/api.py:1029 msgid "The following serial numbers already exist or are invalid" msgstr "Les numéros de série suivants existent déjà, ou sont invalides" -#: build/serializers.py:394 build/serializers.py:456 build/serializers.py:545 +#: build/serializers.py:393 build/serializers.py:455 build/serializers.py:544 msgid "A list of build outputs must be provided" msgstr "Une liste d'ordre de production doit être fourni" -#: build/serializers.py:433 +#: build/serializers.py:432 msgid "Stock location for scrapped outputs" msgstr "Emplacement du stock pour les sorties épuisées" -#: build/serializers.py:439 +#: build/serializers.py:438 msgid "Discard Allocations" msgstr "Ignorer les allocations" -#: build/serializers.py:440 +#: build/serializers.py:439 msgid "Discard any stock allocations for scrapped outputs" msgstr "Abandonner les allocations de stock pour les sorties abandonnées" -#: build/serializers.py:445 +#: build/serializers.py:444 msgid "Reason for scrapping build output(s)" msgstr "Motif de l'élimination des produits de construction(s)" -#: build/serializers.py:505 +#: build/serializers.py:504 msgid "Location for completed build outputs" msgstr "Emplacement des ordres de production achevés" -#: build/serializers.py:511 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:922 -#: order/models.py:2022 order/serializers.py:597 stock/admin.py:165 -#: stock/serializers.py:801 stock/serializers.py:1340 +#: build/serializers.py:510 build/templates/build/build_base.html:151 +#: build/templates/build/detail.html:62 order/models.py:953 +#: order/models.py:2071 order/serializers.py:597 stock/admin.py:165 +#: stock/serializers.py:930 stock/serializers.py:1469 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 -#: templates/js/translated/purchase_order.js:1723 -#: templates/js/translated/return_order.js:331 -#: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2178 templates/js/translated/stock.js:2998 -#: templates/js/translated/stock.js:3123 +#: templates/js/translated/purchase_order.js:1722 +#: templates/js/translated/return_order.js:330 +#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/stock.js:2176 templates/js/translated/stock.js:2995 +#: templates/js/translated/stock.js:3120 msgid "Status" msgstr "État" -#: build/serializers.py:517 +#: build/serializers.py:516 msgid "Accept Incomplete Allocation" msgstr "Accepter l'allocation incomplète" -#: build/serializers.py:518 +#: build/serializers.py:517 msgid "Complete outputs if stock has not been fully allocated" msgstr "Compléter les sorties si le stock n'a pas été entièrement alloué" -#: build/serializers.py:598 +#: build/serializers.py:597 msgid "Consume Allocated Stock" -msgstr "" +msgstr "Consommation du stock alloué" -#: build/serializers.py:599 +#: build/serializers.py:598 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:605 +#: build/serializers.py:604 msgid "Remove Incomplete Outputs" msgstr "Retirer les sorties incomplètes" -#: build/serializers.py:606 +#: build/serializers.py:605 msgid "Delete any build outputs which have not been completed" msgstr "Supprimer toutes les sorties de construction qui n'ont pas été complétées" -#: build/serializers.py:633 +#: build/serializers.py:632 msgid "Not permitted" msgstr "Non permis" -#: build/serializers.py:634 +#: build/serializers.py:633 msgid "Accept as consumed by this build order" msgstr "Accepter comme consommé par cet ordre de construction" -#: build/serializers.py:635 +#: build/serializers.py:634 msgid "Deallocate before completing this build order" msgstr "Désaffecter avant de terminer cette commande de fabrication" -#: build/serializers.py:657 +#: build/serializers.py:656 msgid "Overallocated Stock" msgstr "Stock suralloué" -#: build/serializers.py:659 +#: build/serializers.py:658 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "Comment voulez-vous gérer les articles en stock supplémentaires assignés à l'ordre de construction" -#: build/serializers.py:669 +#: build/serializers.py:668 msgid "Some stock items have been overallocated" msgstr "Certains articles de stock ont été suralloués" -#: build/serializers.py:674 +#: build/serializers.py:673 msgid "Accept Unallocated" msgstr "Accepter les non-alloués" -#: build/serializers.py:675 +#: build/serializers.py:674 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Accepter les articles de stock qui n'ont pas été complètement alloués à cette ordre de production" -#: build/serializers.py:685 templates/js/translated/build.js:315 +#: build/serializers.py:684 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" msgstr "Le stock requis n'a pas encore été totalement alloué" -#: build/serializers.py:690 order/serializers.py:301 order/serializers.py:1246 +#: build/serializers.py:689 order/serializers.py:301 order/serializers.py:1246 msgid "Accept Incomplete" msgstr "Accepter les incomplèts" -#: build/serializers.py:691 +#: build/serializers.py:690 msgid "Accept that the required number of build outputs have not been completed" msgstr "Accepter que tous les ordres de production n'aient pas encore été achevés" -#: build/serializers.py:701 templates/js/translated/build.js:319 +#: build/serializers.py:700 templates/js/translated/build.js:319 msgid "Required build quantity has not been completed" msgstr "La quantité nécessaire n'a pas encore été complétée" -#: build/serializers.py:710 templates/js/translated/build.js:303 +#: build/serializers.py:709 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" msgstr "L'ordre de production a des sorties incomplètes" -#: build/serializers.py:740 +#: build/serializers.py:739 msgid "Build Line" msgstr "Chaîne d'assemblage" -#: build/serializers.py:750 +#: build/serializers.py:749 msgid "Build output" msgstr "Sortie d'assemblage" -#: build/serializers.py:758 +#: build/serializers.py:757 msgid "Build output must point to the same build" msgstr "La sortie de la construction doit pointer vers la même construction" -#: build/serializers.py:794 +#: build/serializers.py:793 msgid "Build Line Item" msgstr "Élément de la ligne de construction" -#: build/serializers.py:808 +#: build/serializers.py:807 msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part doit pointer sur la même pièce que l'ordre de construction" -#: build/serializers.py:823 stock/serializers.py:1065 +#: build/serializers.py:822 stock/serializers.py:1194 msgid "Item must be in stock" msgstr "L'article doit être en stock" -#: build/serializers.py:871 order/serializers.py:1237 +#: build/serializers.py:870 order/serializers.py:1237 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Quantité disponible ({q}) dépassée" -#: build/serializers.py:877 +#: build/serializers.py:876 msgid "Build output must be specified for allocation of tracked parts" msgstr "La sortie de construction doit être spécifiée pour l'allocation des pièces suivies" -#: build/serializers.py:884 +#: build/serializers.py:883 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "La sortie de la construction ne peut pas être spécifiée pour l'allocation des pièces non suivies" -#: build/serializers.py:908 order/serializers.py:1489 +#: build/serializers.py:907 order/serializers.py:1489 msgid "Allocation items must be provided" msgstr "Les articles d'allocation doivent être fournis" -#: build/serializers.py:971 +#: build/serializers.py:970 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "Emplacement de stock où les pièces doivent être fournies (laissez vide pour les prendre à partir de n'importe quel emplacement)" -#: build/serializers.py:979 +#: build/serializers.py:978 msgid "Exclude Location" msgstr "Emplacements exclus" -#: build/serializers.py:980 +#: build/serializers.py:979 msgid "Exclude stock items from this selected location" msgstr "Exclure les articles de stock de cet emplacement sélectionné" -#: build/serializers.py:985 +#: build/serializers.py:984 msgid "Interchangeable Stock" msgstr "Stock interchangeable" -#: build/serializers.py:986 +#: build/serializers.py:985 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Les articles de stock à plusieurs emplacements peuvent être utilisés de manière interchangeable" -#: build/serializers.py:991 +#: build/serializers.py:990 msgid "Substitute Stock" msgstr "Stock de substitution" -#: build/serializers.py:992 +#: build/serializers.py:991 msgid "Allow allocation of substitute parts" msgstr "Autoriser l'allocation de pièces de remplacement" -#: build/serializers.py:997 +#: build/serializers.py:996 msgid "Optional Items" msgstr "Objets Optionnels" -#: build/serializers.py:998 +#: build/serializers.py:997 msgid "Allocate optional BOM items to build order" msgstr "Affecter des éléments de nomenclature facultatifs à l'ordre de fabrication" -#: build/serializers.py:1020 +#: build/serializers.py:1019 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1110 part/models.py:3930 part/models.py:4366 -#: stock/api.py:758 +#: build/serializers.py:1109 part/models.py:3973 part/models.py:4409 +#: stock/api.py:792 msgid "BOM Item" msgstr "Article du BOM" -#: build/serializers.py:1119 templates/js/translated/index.js:130 +#: build/serializers.py:1118 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "Stock alloué" -#: build/serializers.py:1124 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:817 part/serializers.py:1489 +#: build/serializers.py:1123 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:832 part/serializers.py:1504 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 @@ -1705,15 +1710,15 @@ msgstr "Stock alloué" msgid "On Order" msgstr "En Commande" -#: build/serializers.py:1129 part/serializers.py:1491 +#: build/serializers.py:1128 part/serializers.py:1506 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "En Production" -#: build/serializers.py:1134 part/bom.py:172 part/serializers.py:1514 +#: build/serializers.py:1133 part/bom.py:172 part/serializers.py:1529 #: part/templates/part/part_base.html:192 -#: templates/js/translated/sales_order.js:1893 +#: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "Stock disponible" @@ -1842,18 +1847,18 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "Le stock n'a pas été entièrement alloué à cet ordre de construction" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:297 -#: order/models.py:1294 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:310 +#: order/models.py:1334 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 -#: order/templates/order/sales_order_base.html:192 -#: report/templates/report/inventree_build_order_base.html:125 +#: order/templates/order/sales_order_base.html:196 +#: report/templates/report/inventree_build_order_report.html:125 #: templates/js/translated/build.js:2239 templates/js/translated/part.js:1830 -#: templates/js/translated/purchase_order.js:1740 -#: templates/js/translated/purchase_order.js:2148 -#: templates/js/translated/return_order.js:347 -#: templates/js/translated/return_order.js:751 -#: templates/js/translated/sales_order.js:835 -#: templates/js/translated/sales_order.js:1867 +#: templates/js/translated/purchase_order.js:1739 +#: templates/js/translated/purchase_order.js:2147 +#: templates/js/translated/return_order.js:346 +#: templates/js/translated/return_order.js:750 +#: templates/js/translated/sales_order.js:871 +#: templates/js/translated/sales_order.js:1903 msgid "Target Date" msgstr "Date Cible" @@ -1866,7 +1871,7 @@ msgstr "Cette construction était due le %(target)s" #: build/templates/build/build_base.html:222 #: order/templates/order/order_base.html:122 #: order/templates/order/return_order_base.html:117 -#: order/templates/order/sales_order_base.html:122 +#: order/templates/order/sales_order_base.html:126 #: templates/js/translated/table_filters.js:98 #: templates/js/translated/table_filters.js:524 #: templates/js/translated/table_filters.js:626 @@ -1880,24 +1885,24 @@ msgid "Completed Outputs" msgstr "Sorties de Construction terminées" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:1538 -#: order/models.py:1652 order/models.py:1806 +#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:848 +#: order/models.py:1578 order/models.py:1692 order/models.py:1846 #: 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 +#: report/templates/report/inventree_build_order_report.html:135 +#: report/templates/report/inventree_sales_order_report.html:14 #: stock/templates/stock/item_base.html:369 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:929 -#: templates/js/translated/sales_order.js:769 -#: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2927 +#: templates/js/translated/sales_order.js:805 +#: templates/js/translated/sales_order.js:1028 +#: templates/js/translated/stock.js:2924 msgid "Sales Order" msgstr "Commandes" #: build/templates/build/build_base.html:197 #: build/templates/build/detail.html:115 -#: report/templates/report/inventree_build_order_base.html:152 +#: report/templates/report/inventree_build_order_report.html:152 #: templates/js/translated/table_filters.js:24 msgid "Issued By" msgstr "Émis par" @@ -1907,15 +1912,15 @@ msgstr "Émis par" msgid "Priority" msgstr "Priorité" -#: build/templates/build/build_base.html:273 +#: build/templates/build/build_base.html:269 msgid "Delete Build Order" msgstr "Supprimer la commande de construction" -#: build/templates/build/build_base.html:283 +#: build/templates/build/build_base.html:279 msgid "Build Order QR Code" msgstr "Génération du QR Code de commande" -#: build/templates/build/build_base.html:295 +#: build/templates/build/build_base.html:291 msgid "Link Barcode to Build Order" msgstr "Lier le code-barres pour construire la commande" @@ -1931,10 +1936,10 @@ 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:1430 -#: templates/js/translated/purchase_order.js:2190 +#: build/templates/build/detail.html:49 order/models.py:1470 +#: templates/js/translated/purchase_order.js:2189 msgid "Destination" -msgstr "" +msgstr "Destination" #: build/templates/build/detail.html:56 msgid "Destination location not specified" @@ -1947,10 +1952,10 @@ msgstr "Pièces allouées" #: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 #: templates/js/translated/build.js:1380 -#: templates/js/translated/model_renderers.js:235 +#: templates/js/translated/model_renderers.js:241 #: templates/js/translated/purchase_order.js:1274 -#: templates/js/translated/stock.js:1133 templates/js/translated/stock.js:2192 -#: templates/js/translated/stock.js:3130 +#: templates/js/translated/stock.js:1133 templates/js/translated/stock.js:2190 +#: templates/js/translated/stock.js:3127 #: templates/js/translated/table_filters.js:313 #: templates/js/translated/table_filters.js:404 msgid "Batch" @@ -1959,7 +1964,7 @@ msgstr "Lot" #: build/templates/build/detail.html:133 #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:151 -#: order/templates/order/sales_order_base.html:186 +#: order/templates/order/sales_order_base.html:190 #: templates/js/translated/build.js:2199 msgid "Created" msgstr "Créé le" @@ -1969,7 +1974,7 @@ msgid "No target date set" msgstr "Pas de date cible définie" #: build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:202 +#: order/templates/order/sales_order_base.html:206 #: templates/js/translated/table_filters.js:689 msgid "Completed" msgstr "Terminé" @@ -2260,8 +2265,8 @@ msgstr "Fréquence de mise à jour des taux de change (définir à zéro pour d #: common/models.py:1316 common/models.py:1372 common/models.py:1385 #: common/models.py:1393 common/models.py:1402 common/models.py:1411 -#: common/models.py:1613 common/models.py:1635 common/models.py:1750 -#: common/models.py:2061 +#: common/models.py:1619 common/models.py:1641 common/models.py:1756 +#: common/models.py:2067 msgid "days" msgstr "jours" @@ -2402,1209 +2407,1218 @@ msgid "Enable revision field for Part" msgstr "Activer le champ de modification de la pièce" #: common/models.py:1440 +msgid "Allow Deletion from Assembly" +msgstr "" + +#: common/models.py:1441 +msgid "Allow deletion of parts which are used in an assembly" +msgstr "" + +#: common/models.py:1446 msgid "IPN Regex" msgstr "Regex IPN" -#: common/models.py:1441 +#: common/models.py:1447 msgid "Regular expression pattern for matching Part IPN" msgstr "Expression régulière pour la correspondance avec l'IPN de la Pièce" -#: common/models.py:1444 +#: common/models.py:1450 msgid "Allow Duplicate IPN" msgstr "Autoriser les IPN dupliqués" -#: common/models.py:1445 +#: common/models.py:1451 msgid "Allow multiple parts to share the same IPN" msgstr "Permettre à plusieurs pièces de partager le même IPN" -#: common/models.py:1450 +#: common/models.py:1456 msgid "Allow Editing IPN" msgstr "Autoriser l'édition de l'IPN" -#: common/models.py:1451 +#: common/models.py:1457 msgid "Allow changing the IPN value while editing a part" msgstr "Permettre de modifier la valeur de l'IPN lors de l'édition d'une pièce" -#: common/models.py:1456 +#: common/models.py:1462 msgid "Copy Part BOM Data" msgstr "Copier les données de la pièce" -#: common/models.py:1457 +#: common/models.py:1463 msgid "Copy BOM data by default when duplicating a part" msgstr "Copier les données des paramètres par défaut lors de la duplication d'une pièce" -#: common/models.py:1462 +#: common/models.py:1468 msgid "Copy Part Parameter Data" msgstr "Copier les données des paramètres de la pièce" -#: common/models.py:1463 +#: common/models.py:1469 msgid "Copy parameter data by default when duplicating a part" msgstr "Copier les données des paramètres par défaut lors de la duplication d'une pièce" -#: common/models.py:1468 +#: common/models.py:1474 msgid "Copy Part Test Data" msgstr "Copier les données de test de la pièce" -#: common/models.py:1469 +#: common/models.py:1475 msgid "Copy test data by default when duplicating a part" msgstr "Copier les données de test par défaut lors de la duplication d'une pièce" -#: common/models.py:1474 +#: common/models.py:1480 msgid "Copy Category Parameter Templates" msgstr "Copier les templates de paramètres de catégorie" -#: common/models.py:1475 +#: common/models.py:1481 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:1480 part/admin.py:108 part/models.py:3772 -#: report/models.py:182 stock/serializers.py:99 +#: common/models.py:1486 part/admin.py:108 part/models.py:3815 +#: report/models.py:294 report/models.py:361 report/serializers.py:90 +#: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:767 msgid "Template" msgstr "Modèle" -#: common/models.py:1481 +#: common/models.py:1487 msgid "Parts are templates by default" msgstr "Les pièces sont des templates par défaut" -#: common/models.py:1486 part/admin.py:91 part/admin.py:431 part/models.py:1016 +#: common/models.py:1492 part/admin.py:91 part/admin.py:433 part/models.py:1059 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "Assemblage" -#: common/models.py:1487 +#: common/models.py:1493 msgid "Parts can be assembled from other components by default" msgstr "Les pièces peuvent être assemblées à partir d'autres composants par défaut" -#: common/models.py:1492 part/admin.py:95 part/models.py:1022 +#: common/models.py:1498 part/admin.py:95 part/models.py:1065 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "Composant" -#: common/models.py:1493 +#: common/models.py:1499 msgid "Parts can be used as sub-components by default" msgstr "Les pièces peuvent être utilisées comme sous-composants par défaut" -#: common/models.py:1498 part/admin.py:100 part/models.py:1034 +#: common/models.py:1504 part/admin.py:100 part/models.py:1077 msgid "Purchaseable" msgstr "Achetable" -#: common/models.py:1499 +#: common/models.py:1505 msgid "Parts are purchaseable by default" msgstr "Les pièces sont achetables par défaut" -#: common/models.py:1504 part/admin.py:104 part/models.py:1040 +#: common/models.py:1510 part/admin.py:104 part/models.py:1083 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "Vendable" -#: common/models.py:1505 +#: common/models.py:1511 msgid "Parts are salable by default" msgstr "Les pièces sont vendables par défaut" -#: common/models.py:1510 part/admin.py:113 part/models.py:1028 +#: common/models.py:1516 part/admin.py:113 part/models.py:1071 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "Traçable" -#: common/models.py:1511 +#: common/models.py:1517 msgid "Parts are trackable by default" msgstr "Les pièces sont traçables par défaut" -#: common/models.py:1516 part/admin.py:117 part/models.py:1050 +#: common/models.py:1522 part/admin.py:117 part/models.py:1093 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "Virtuelle" -#: common/models.py:1517 +#: common/models.py:1523 msgid "Parts are virtual by default" msgstr "Les pièces sont virtuelles par défaut" -#: common/models.py:1522 +#: common/models.py:1528 msgid "Show Import in Views" msgstr "Afficher l'import dans les vues" -#: common/models.py:1523 +#: common/models.py:1529 msgid "Display the import wizard in some part views" msgstr "Afficher l'assistant d'importation pour certaine vues de produits" -#: common/models.py:1528 +#: common/models.py:1534 msgid "Show related parts" msgstr "Afficher les pièces connexes" -#: common/models.py:1529 +#: common/models.py:1535 msgid "Display related parts for a part" msgstr "Afficher les pièces connexes à une pièce" -#: common/models.py:1534 +#: common/models.py:1540 msgid "Initial Stock Data" msgstr "Stock initial" -#: common/models.py:1535 +#: common/models.py:1541 msgid "Allow creation of initial stock when adding a new part" msgstr "Permettre la création d'un stock initial lors de l'ajout d'une nouvelle pièce" -#: common/models.py:1540 templates/js/translated/part.js:107 +#: common/models.py:1546 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "Données initiales du fournisseur" -#: common/models.py:1542 +#: common/models.py:1548 msgid "Allow creation of initial supplier data when adding a new part" msgstr "Permettre la création des données initiales du fournisseur lors de l'ajout d'une nouvelle pièce" -#: common/models.py:1548 +#: common/models.py:1554 msgid "Part Name Display Format" msgstr "Format d'affichage du nom de la pièce" -#: common/models.py:1549 +#: common/models.py:1555 msgid "Format to display the part name" msgstr "Format pour afficher le nom de la pièce" -#: common/models.py:1555 +#: common/models.py:1561 msgid "Part Category Default Icon" msgstr "Icône de catégorie par défaut" -#: common/models.py:1556 +#: common/models.py:1562 msgid "Part category default icon (empty means no icon)" msgstr "Icône par défaut de la catégorie de la pièce (vide signifie aucune icône)" -#: common/models.py:1560 +#: common/models.py:1566 msgid "Enforce Parameter Units" msgstr "Renforcer les unités des paramètres" -#: common/models.py:1562 +#: common/models.py:1568 msgid "If units are provided, parameter values must match the specified units" msgstr "Si des unités sont fournies, les valeurs de paramètre doivent correspondre aux unités spécifiées" -#: common/models.py:1568 +#: common/models.py:1574 msgid "Minimum Pricing Decimal Places" msgstr "Nombre minimal de décimales" -#: common/models.py:1570 +#: common/models.py:1576 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "Nombre minimum de décimales à afficher lors de l'affichage des prix" -#: common/models.py:1576 +#: common/models.py:1582 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1578 +#: common/models.py:1584 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1584 +#: common/models.py:1590 msgid "Use Supplier Pricing" msgstr "Utiliser le prix fournisseur" -#: common/models.py:1586 +#: common/models.py:1592 msgid "Include supplier price breaks in overall pricing calculations" msgstr "Inclure les réductions de prix dans le calcul du prix global" -#: common/models.py:1592 +#: common/models.py:1598 msgid "Purchase History Override" msgstr "Remplacer l'historique des achats" -#: common/models.py:1594 +#: common/models.py:1600 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "La tarification historique des bons de commande remplace les réductions de prix des fournisseurs" -#: common/models.py:1600 +#: common/models.py:1606 msgid "Use Stock Item Pricing" msgstr "Utiliser les prix des articles en stock" -#: common/models.py:1602 +#: common/models.py:1608 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "Utiliser les prix des données de stock saisies manuellement pour calculer les prix" -#: common/models.py:1608 +#: common/models.py:1614 msgid "Stock Item Pricing Age" msgstr "Âge de tarification des articles de stock" -#: common/models.py:1610 +#: common/models.py:1616 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "Exclure les articles en stock datant de plus de ce nombre de jours des calculs de prix" -#: common/models.py:1617 +#: common/models.py:1623 msgid "Use Variant Pricing" msgstr "Utiliser les prix variants" -#: common/models.py:1618 +#: common/models.py:1624 msgid "Include variant pricing in overall pricing calculations" msgstr "Inclure la tarification variante dans le calcul global des prix" -#: common/models.py:1623 +#: common/models.py:1629 msgid "Active Variants Only" msgstr "Variantes actives uniquement" -#: common/models.py:1625 +#: common/models.py:1631 msgid "Only use active variant parts for calculating variant pricing" msgstr "N'utiliser que des pièces de variante actives pour calculer le prix de la variante" -#: common/models.py:1631 +#: common/models.py:1637 msgid "Pricing Rebuild Interval" msgstr "Intervalle de regénération des prix" -#: common/models.py:1633 +#: common/models.py:1639 msgid "Number of days before part pricing is automatically updated" msgstr "Nombre de jours avant la mise à jour automatique du prix de la pièce" -#: common/models.py:1640 +#: common/models.py:1646 msgid "Internal Prices" msgstr "Prix internes" -#: common/models.py:1641 +#: common/models.py:1647 msgid "Enable internal prices for parts" msgstr "Activer les prix internes pour les pièces" -#: common/models.py:1646 +#: common/models.py:1652 msgid "Internal Price Override" msgstr "Substitution du prix interne" -#: common/models.py:1648 +#: common/models.py:1654 msgid "If available, internal prices override price range calculations" msgstr "Si disponible, les prix internes remplacent les calculs de la fourchette de prix" -#: common/models.py:1654 +#: common/models.py:1660 msgid "Enable label printing" msgstr "Activer l'impression d'étiquettes" -#: common/models.py:1655 +#: common/models.py:1661 msgid "Enable label printing from the web interface" msgstr "Activer l'impression d'étiquettes depuis l'interface Web" -#: common/models.py:1660 +#: common/models.py:1666 msgid "Label Image DPI" msgstr "Étiquette image DPI" -#: common/models.py:1662 +#: common/models.py:1668 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "Résolution DPI lors de la génération de fichiers image pour fournir aux plugins d'impression d'étiquettes" -#: common/models.py:1668 +#: common/models.py:1674 msgid "Enable Reports" msgstr "Activer les rapports" -#: common/models.py:1669 +#: common/models.py:1675 msgid "Enable generation of reports" msgstr "Activer la génération de rapports" -#: common/models.py:1674 templates/stats.html:25 +#: common/models.py:1680 templates/stats.html:25 msgid "Debug Mode" msgstr "Mode Débogage" -#: common/models.py:1675 +#: common/models.py:1681 msgid "Generate reports in debug mode (HTML output)" msgstr "Générer des rapports en mode debug (sortie HTML)" -#: common/models.py:1680 +#: common/models.py:1686 msgid "Log Report Errors" -msgstr "" +msgstr "Journal des erreurs" -#: common/models.py:1681 +#: common/models.py:1687 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1686 plugin/builtin/labels/label_sheet.py:28 -#: report/models.py:203 +#: common/models.py:1692 plugin/builtin/labels/label_sheet.py:28 +#: report/models.py:302 msgid "Page Size" msgstr "Taille de la page" -#: common/models.py:1687 +#: common/models.py:1693 msgid "Default page size for PDF reports" msgstr "Taille de page par défaut pour les rapports PDF" -#: common/models.py:1692 +#: common/models.py:1698 msgid "Enable Test Reports" msgstr "Activer les rapports de test" -#: common/models.py:1693 +#: common/models.py:1699 msgid "Enable generation of test reports" msgstr "Activer la génération de rapports de test" -#: common/models.py:1698 +#: common/models.py:1704 msgid "Attach Test Reports" msgstr "Joindre des rapports de test" -#: common/models.py:1700 +#: common/models.py:1706 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "Lors de l'impression d'un rapport de test, joignez une copie du rapport de test à l'article en stock associé" -#: common/models.py:1706 +#: common/models.py:1712 msgid "Globally Unique Serials" msgstr "Numéro de Série Universellement Unique" -#: common/models.py:1707 +#: common/models.py:1713 msgid "Serial numbers for stock items must be globally unique" msgstr "Les numéros de série pour les articles en stock doivent être uniques au niveau global" -#: common/models.py:1712 +#: common/models.py:1718 msgid "Autofill Serial Numbers" msgstr "Remplir automatiquement les Numéros de Série" -#: common/models.py:1713 +#: common/models.py:1719 msgid "Autofill serial numbers in forms" msgstr "Remplir automatiquement les numéros de série dans les formulaires" -#: common/models.py:1718 +#: common/models.py:1724 msgid "Delete Depleted Stock" msgstr "Supprimer le stock épuisé" -#: common/models.py:1720 +#: common/models.py:1726 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1726 +#: common/models.py:1732 msgid "Batch Code Template" msgstr "Modèle de code de lot" -#: common/models.py:1728 +#: common/models.py:1734 msgid "Template for generating default batch codes for stock items" msgstr "Modèle pour générer des codes par défaut pour les articles en stock" -#: common/models.py:1733 +#: common/models.py:1739 msgid "Stock Expiry" msgstr "Expiration du stock" -#: common/models.py:1734 +#: common/models.py:1740 msgid "Enable stock expiry functionality" msgstr "Activer la fonctionnalité d'expiration du stock" -#: common/models.py:1739 +#: common/models.py:1745 msgid "Sell Expired Stock" msgstr "Vendre le stock expiré" -#: common/models.py:1740 +#: common/models.py:1746 msgid "Allow sale of expired stock" msgstr "Autoriser la vente de stock expiré" -#: common/models.py:1745 +#: common/models.py:1751 msgid "Stock Stale Time" msgstr "Délai de péremption du stock" -#: common/models.py:1747 +#: common/models.py:1753 msgid "Number of days stock items are considered stale before expiring" msgstr "Nombre de jours pendant lesquels les articles en stock sont considérés comme périmés avant d'expirer" -#: common/models.py:1754 +#: common/models.py:1760 msgid "Build Expired Stock" msgstr "Construction de stock expirée" -#: common/models.py:1755 +#: common/models.py:1761 msgid "Allow building with expired stock" msgstr "Autoriser la construction avec un stock expiré" -#: common/models.py:1760 +#: common/models.py:1766 msgid "Stock Ownership Control" msgstr "Contrôle de la propriété des stocks" -#: common/models.py:1761 +#: common/models.py:1767 msgid "Enable ownership control over stock locations and items" msgstr "Activer le contrôle de la propriété sur les emplacements de stock et les articles" -#: common/models.py:1766 +#: common/models.py:1772 msgid "Stock Location Default Icon" msgstr "Icône par défaut de l'emplacement du stock" -#: common/models.py:1767 +#: common/models.py:1773 msgid "Stock location default icon (empty means no icon)" msgstr "Icône par défaut de l'emplacement du stock (vide signifie aucune icône)" -#: common/models.py:1771 +#: common/models.py:1777 msgid "Show Installed Stock Items" msgstr "Afficher les pièces en stock installées" -#: common/models.py:1772 +#: common/models.py:1778 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1777 +#: common/models.py:1783 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1779 +#: common/models.py:1785 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1785 +#: common/models.py:1791 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1787 +#: common/models.py:1793 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1793 +#: common/models.py:1799 msgid "Build Order Reference Pattern" msgstr "Modèle de référence de commande de construction" -#: common/models.py:1795 +#: common/models.py:1801 msgid "Required pattern for generating Build Order reference field" msgstr "Modèle requis pour générer le champ de référence de l'ordre de construction" -#: common/models.py:1801 common/models.py:1829 common/models.py:1851 -#: common/models.py:1879 +#: common/models.py:1807 common/models.py:1835 common/models.py:1857 +#: common/models.py:1885 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1802 common/models.py:1830 common/models.py:1852 -#: common/models.py:1880 +#: common/models.py:1808 common/models.py:1836 common/models.py:1858 +#: common/models.py:1886 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1807 +#: common/models.py:1813 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1809 +#: common/models.py:1815 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1815 +#: common/models.py:1821 msgid "Enable Return Orders" msgstr "Activer les retours de commandes" -#: common/models.py:1816 +#: common/models.py:1822 msgid "Enable return order functionality in the user interface" msgstr "Activer la fonctionnalité de retour de commande dans l'interface utilisateur" -#: common/models.py:1821 +#: common/models.py:1827 msgid "Return Order Reference Pattern" msgstr "Modèle de référence de retour de commande" -#: common/models.py:1823 +#: common/models.py:1829 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1835 +#: common/models.py:1841 msgid "Edit Completed Return Orders" msgstr "Modifier les retours de commandes terminées" -#: common/models.py:1837 +#: common/models.py:1843 msgid "Allow editing of return orders after they have been completed" msgstr "Autoriser la modification des retours après leur enregistrement" -#: common/models.py:1843 +#: common/models.py:1849 msgid "Sales Order Reference Pattern" msgstr "Modèle de référence de bon de commande" -#: common/models.py:1845 +#: common/models.py:1851 msgid "Required pattern for generating Sales Order reference field" msgstr "Modèle requis pour générer le champ de référence du bon de commande" -#: common/models.py:1857 +#: common/models.py:1863 msgid "Sales Order Default Shipment" msgstr "Expédition par défaut du bon de commande" -#: common/models.py:1858 +#: common/models.py:1864 msgid "Enable creation of default shipment with sales orders" msgstr "Activer la création d'expédition par défaut avec les bons de commandes" -#: common/models.py:1863 +#: common/models.py:1869 msgid "Edit Completed Sales Orders" msgstr "Modifier les commandes de vente terminées" -#: common/models.py:1865 +#: common/models.py:1871 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "Autoriser la modification des commandes de vente après avoir été expédiées ou complétées" -#: common/models.py:1871 +#: common/models.py:1877 msgid "Purchase Order Reference Pattern" msgstr "Modèle de référence de commande d'achat" -#: common/models.py:1873 +#: common/models.py:1879 msgid "Required pattern for generating Purchase Order reference field" msgstr "Modèle requis pour générer le champ de référence de bon de commande" -#: common/models.py:1885 +#: common/models.py:1891 msgid "Edit Completed Purchase Orders" msgstr "Modifier les bons de commande terminés" -#: common/models.py:1887 +#: common/models.py:1893 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "Autoriser la modification des bons de commande après avoir été expédiés ou complétés" -#: common/models.py:1893 +#: common/models.py:1899 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1895 +#: common/models.py:1901 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1902 +#: common/models.py:1908 msgid "Enable password forgot" msgstr "Activer les mots de passe oubliés" -#: common/models.py:1903 +#: common/models.py:1909 msgid "Enable password forgot function on the login pages" msgstr "Activer la fonction \"Mot de passe oublié\" sur les pages de connexion" -#: common/models.py:1908 +#: common/models.py:1914 msgid "Enable registration" msgstr "Activer les inscriptions" -#: common/models.py:1909 +#: common/models.py:1915 msgid "Enable self-registration for users on the login pages" msgstr "Activer l'auto-inscription pour les utilisateurs sur les pages de connexion" -#: common/models.py:1914 +#: common/models.py:1920 msgid "Enable SSO" msgstr "Activer le SSO" -#: common/models.py:1915 +#: common/models.py:1921 msgid "Enable SSO on the login pages" msgstr "Activer le SSO sur les pages de connexion" -#: common/models.py:1920 +#: common/models.py:1926 msgid "Enable SSO registration" msgstr "Activer l'inscription SSO" -#: common/models.py:1922 +#: common/models.py:1928 msgid "Enable self-registration via SSO for users on the login pages" msgstr "Activer l'auto-inscription via SSO pour les utilisateurs sur les pages de connexion" -#: common/models.py:1928 +#: common/models.py:1934 msgid "Email required" msgstr "Email requis" -#: common/models.py:1929 +#: common/models.py:1935 msgid "Require user to supply mail on signup" msgstr "Exiger que l'utilisateur fournisse un mail lors de l'inscription" -#: common/models.py:1934 +#: common/models.py:1940 msgid "Auto-fill SSO users" msgstr "Saisie automatique des utilisateurs SSO" -#: common/models.py:1936 +#: common/models.py:1942 msgid "Automatically fill out user-details from SSO account-data" msgstr "Remplir automatiquement les détails de l'utilisateur à partir des données de compte SSO" -#: common/models.py:1942 +#: common/models.py:1948 msgid "Mail twice" msgstr "Courriel en double" -#: common/models.py:1943 +#: common/models.py:1949 msgid "On signup ask users twice for their mail" msgstr "Lors de l'inscription, demandez deux fois aux utilisateurs leur mail" -#: common/models.py:1948 +#: common/models.py:1954 msgid "Password twice" msgstr "Mot de passe deux fois" -#: common/models.py:1949 +#: common/models.py:1955 msgid "On signup ask users twice for their password" msgstr "Lors de l'inscription, demandez deux fois aux utilisateurs leur mot de passe" -#: common/models.py:1954 +#: common/models.py:1960 msgid "Allowed domains" msgstr "Domaines autorisés" -#: common/models.py:1956 +#: common/models.py:1962 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1962 +#: common/models.py:1968 msgid "Group on signup" msgstr "Grouper sur inscription" -#: common/models.py:1963 +#: common/models.py:1969 msgid "Group to which new users are assigned on registration" msgstr "Groupe auquel les nouveaux utilisateurs sont assignés lors de l'inscription" -#: common/models.py:1968 +#: common/models.py:1974 msgid "Enforce MFA" msgstr "Forcer l'authentification multifacteurs" -#: common/models.py:1969 +#: common/models.py:1975 msgid "Users must use multifactor security." msgstr "Les utilisateurs doivent utiliser l'authentification multifacteurs." -#: common/models.py:1974 +#: common/models.py:1980 msgid "Check plugins on startup" msgstr "Vérifier les plugins au démarrage" -#: common/models.py:1976 +#: common/models.py:1982 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "Vérifier que tous les plugins sont installés au démarrage - activer dans les environnements conteneurs" -#: common/models.py:1984 +#: common/models.py:1990 msgid "Check for plugin updates" msgstr "" -#: common/models.py:1985 +#: common/models.py:1991 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:1991 +#: common/models.py:1997 msgid "Enable URL integration" msgstr "Activer l'intégration d'URL" -#: common/models.py:1992 +#: common/models.py:1998 msgid "Enable plugins to add URL routes" msgstr "Autoriser les plugins à ajouter des chemins URL" -#: common/models.py:1998 +#: common/models.py:2004 msgid "Enable navigation integration" msgstr "Activer l'intégration de navigation" -#: common/models.py:1999 +#: common/models.py:2005 msgid "Enable plugins to integrate into navigation" msgstr "Activer les plugins à s'intégrer dans la navigation" -#: common/models.py:2005 +#: common/models.py:2011 msgid "Enable app integration" msgstr "Activer l'intégration de plugins" -#: common/models.py:2006 +#: common/models.py:2012 msgid "Enable plugins to add apps" msgstr "Activer l'intégration de plugin pour ajouter des apps" -#: common/models.py:2012 +#: common/models.py:2018 msgid "Enable schedule integration" msgstr "Activer l'intégration du planning" -#: common/models.py:2013 +#: common/models.py:2019 msgid "Enable plugins to run scheduled tasks" msgstr "Autoriser les plugins à éxécuter des tâches planifiées" -#: common/models.py:2019 +#: common/models.py:2025 msgid "Enable event integration" msgstr "Activer l'intégration des évènements" -#: common/models.py:2020 +#: common/models.py:2026 msgid "Enable plugins to respond to internal events" msgstr "Autoriser les plugins à répondre aux évènements internes" -#: common/models.py:2026 +#: common/models.py:2032 msgid "Enable project codes" msgstr "Activer les codes projet" -#: common/models.py:2027 +#: common/models.py:2033 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2032 +#: common/models.py:2038 msgid "Stocktake Functionality" msgstr "Fonctionnalité d'inventaire" -#: common/models.py:2034 +#: common/models.py:2040 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "Activer la fonctionnalité d'inventaire pour enregistrer les niveaux de stock et le calcul de la valeur du stock" -#: common/models.py:2040 +#: common/models.py:2046 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2042 +#: common/models.py:2048 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2048 +#: common/models.py:2054 msgid "Automatic Stocktake Period" msgstr "Période de l'inventaire automatique" -#: common/models.py:2050 +#: common/models.py:2056 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "Nombre de jours entre l'enregistrement automatique des stocks (définir à zéro pour désactiver)" -#: common/models.py:2056 +#: common/models.py:2062 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2058 +#: common/models.py:2064 msgid "Stocktake reports will be deleted after specified number of days" msgstr "Les rapports d'inventaire seront supprimés après le nombre de jours spécifié" -#: common/models.py:2065 +#: common/models.py:2071 msgid "Display Users full names" msgstr "" -#: common/models.py:2066 +#: common/models.py:2072 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2071 +#: common/models.py:2077 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2072 +#: common/models.py:2078 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2084 common/models.py:2494 +#: common/models.py:2090 common/models.py:2500 msgid "Settings key (must be unique - case insensitive" msgstr "Clé du paramètre (doit être unique - insensible à la casse)" -#: common/models.py:2127 +#: common/models.py:2133 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2129 +#: common/models.py:2135 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2135 +#: common/models.py:2141 msgid "Show subscribed parts" msgstr "Afficher les composants suivis" -#: common/models.py:2136 +#: common/models.py:2142 msgid "Show subscribed parts on the homepage" msgstr "Afficher les composants suivis sur l'écran d'accueil" -#: common/models.py:2141 +#: common/models.py:2147 msgid "Show subscribed categories" msgstr "Afficher les catégories suivies" -#: common/models.py:2142 +#: common/models.py:2148 msgid "Show subscribed part categories on the homepage" msgstr "Afficher les catégories de pièces suivies sur la page d'accueil" -#: common/models.py:2147 +#: common/models.py:2153 msgid "Show latest parts" msgstr "Afficher les dernières pièces" -#: common/models.py:2148 +#: common/models.py:2154 msgid "Show latest parts on the homepage" msgstr "Afficher les derniers composants sur la page d'accueil" -#: common/models.py:2153 +#: common/models.py:2159 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2154 +#: common/models.py:2160 msgid "Show BOMs that await validation on the homepage" msgstr "Afficher les listes de matériaux en attente de validation sur la page d'accueil" -#: common/models.py:2159 +#: common/models.py:2165 msgid "Show recent stock changes" msgstr "Afficher les dernières modifications du stock" -#: common/models.py:2160 +#: common/models.py:2166 msgid "Show recently changed stock items on the homepage" msgstr "Afficher les articles de stock récemment modifiés sur la page d'accueil" -#: common/models.py:2165 +#: common/models.py:2171 msgid "Show low stock" msgstr "Afficher le stock faible" -#: common/models.py:2166 +#: common/models.py:2172 msgid "Show low stock items on the homepage" msgstr "Afficher les articles en stock bas sur la page d'accueil" -#: common/models.py:2171 +#: common/models.py:2177 msgid "Show depleted stock" msgstr "Afficher le stock épuisé" -#: common/models.py:2172 +#: common/models.py:2178 msgid "Show depleted stock items on the homepage" msgstr "Afficher les stocks épuisés sur la page d'accueil" -#: common/models.py:2177 +#: common/models.py:2183 msgid "Show needed stock" msgstr "Afficher le stock nécessaire" -#: common/models.py:2178 +#: common/models.py:2184 msgid "Show stock items needed for builds on the homepage" msgstr "Afficher les pièces en stock nécessaires pour les assemblages sur la page d'accueil" -#: common/models.py:2183 +#: common/models.py:2189 msgid "Show expired stock" msgstr "Afficher le stock expiré" -#: common/models.py:2184 +#: common/models.py:2190 msgid "Show expired stock items on the homepage" msgstr "Afficher les pièces en stock expirées sur la page d'accueil" -#: common/models.py:2189 +#: common/models.py:2195 msgid "Show stale stock" msgstr "Afficher le stock périmé" -#: common/models.py:2190 +#: common/models.py:2196 msgid "Show stale stock items on the homepage" msgstr "Afficher les articles de stock périmés sur la page d'accueil" -#: common/models.py:2195 +#: common/models.py:2201 msgid "Show pending builds" msgstr "Afficher les constructions en attente" -#: common/models.py:2196 +#: common/models.py:2202 msgid "Show pending builds on the homepage" msgstr "Afficher les constructions en attente sur la page d'accueil" -#: common/models.py:2201 +#: common/models.py:2207 msgid "Show overdue builds" msgstr "Afficher les constructions en retard" -#: common/models.py:2202 +#: common/models.py:2208 msgid "Show overdue builds on the homepage" msgstr "Afficher les constructions en retard sur la page d'accueil" -#: common/models.py:2207 +#: common/models.py:2213 msgid "Show outstanding POs" msgstr "Afficher les commandes en suspens" -#: common/models.py:2208 +#: common/models.py:2214 msgid "Show outstanding POs on the homepage" msgstr "Afficher les commandes en suspens sur la page d'accueil" -#: common/models.py:2213 +#: common/models.py:2219 msgid "Show overdue POs" msgstr "Afficher les commandes en retard" -#: common/models.py:2214 +#: common/models.py:2220 msgid "Show overdue POs on the homepage" msgstr "Afficher les commandes en retard sur la page d'accueil" -#: common/models.py:2219 +#: common/models.py:2225 msgid "Show outstanding SOs" msgstr "Afficher les envois en suspens" -#: common/models.py:2220 +#: common/models.py:2226 msgid "Show outstanding SOs on the homepage" msgstr "Afficher les envois en suspens sur la page d'accueil" -#: common/models.py:2225 +#: common/models.py:2231 msgid "Show overdue SOs" msgstr "Afficher les envois en retard" -#: common/models.py:2226 +#: common/models.py:2232 msgid "Show overdue SOs on the homepage" msgstr "Afficher les envois en retard sur la page d'accueil" -#: common/models.py:2231 +#: common/models.py:2237 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2232 +#: common/models.py:2238 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2237 +#: common/models.py:2243 msgid "Show News" msgstr "Afficher les nouvelles" -#: common/models.py:2238 +#: common/models.py:2244 msgid "Show news on the homepage" msgstr "Afficher les nouvelles sur la page d'accueil" -#: common/models.py:2243 +#: common/models.py:2249 msgid "Inline label display" msgstr "Affichage du libellé en ligne" -#: common/models.py:2245 +#: common/models.py:2251 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "Afficher les étiquettes PDF dans le navigateur, au lieu de les télécharger en tant que fichier" -#: common/models.py:2251 +#: common/models.py:2257 msgid "Default label printer" msgstr "Imprimante d'étiquettes par défaut" -#: common/models.py:2253 +#: common/models.py:2259 msgid "Configure which label printer should be selected by default" msgstr "Configurer quelle imprimante d'étiquette doit être sélectionnée par défaut" -#: common/models.py:2259 +#: common/models.py:2265 msgid "Inline report display" msgstr "Affichage du rapport en ligne" -#: common/models.py:2261 +#: common/models.py:2267 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "Afficher les rapports PDF dans le navigateur, au lieu de les télécharger en tant que fichier" -#: common/models.py:2267 +#: common/models.py:2273 msgid "Search Parts" msgstr "Rechercher de pièces" -#: common/models.py:2268 +#: common/models.py:2274 msgid "Display parts in search preview window" msgstr "Afficher les pièces dans la fenêtre d'aperçu de la recherche" -#: common/models.py:2273 +#: common/models.py:2279 msgid "Search Supplier Parts" -msgstr "" +msgstr "Recherche du fournisseur de pièces" -#: common/models.py:2274 +#: common/models.py:2280 msgid "Display supplier parts in search preview window" msgstr "Afficher les pièces du fournisseur dans la fenêtre de prévisualisation de la recherche" -#: common/models.py:2279 +#: common/models.py:2285 msgid "Search Manufacturer Parts" msgstr "Rechercher les pièces du fabricant" -#: common/models.py:2280 +#: common/models.py:2286 msgid "Display manufacturer parts in search preview window" msgstr "Afficher les pièces du fabricant dans la fenêtre de prévisualisation de recherche" -#: common/models.py:2285 +#: common/models.py:2291 msgid "Hide Inactive Parts" msgstr "Masquer les pièces inactives" -#: common/models.py:2286 +#: common/models.py:2292 msgid "Excluded inactive parts from search preview window" msgstr "Exclure les pièces inactives de la fenêtre de prévisualisation de recherche" -#: common/models.py:2291 +#: common/models.py:2297 msgid "Search Categories" msgstr "Rechercher des catégories" -#: common/models.py:2292 +#: common/models.py:2298 msgid "Display part categories in search preview window" msgstr "Afficher les catégories de pièces dans la fenêtre de prévisualisation de recherche" -#: common/models.py:2297 +#: common/models.py:2303 msgid "Search Stock" msgstr "Rechercher dans le stock" -#: common/models.py:2298 +#: common/models.py:2304 msgid "Display stock items in search preview window" msgstr "Afficher les pièces en stock dans la fenêtre d'aperçu de la recherche" -#: common/models.py:2303 +#: common/models.py:2309 msgid "Hide Unavailable Stock Items" msgstr "Cacher les pièces indisponibles" -#: common/models.py:2305 +#: common/models.py:2311 msgid "Exclude stock items which are not available from the search preview window" msgstr "Exclure les articles en stock qui ne sont pas disponibles de la fenêtre de prévisualisation de recherche" -#: common/models.py:2311 +#: common/models.py:2317 msgid "Search Locations" msgstr "Chercher des Emplacements" -#: common/models.py:2312 +#: common/models.py:2318 msgid "Display stock locations in search preview window" msgstr "Afficher les emplacements dans la fenêtre d'aperçu de la recherche" -#: common/models.py:2317 +#: common/models.py:2323 msgid "Search Companies" msgstr "Rechercher les entreprises" -#: common/models.py:2318 +#: common/models.py:2324 msgid "Display companies in search preview window" msgstr "Afficher les entreprises dans la fenêtre de prévisualisation de recherche" -#: common/models.py:2323 +#: common/models.py:2329 msgid "Search Build Orders" msgstr "Rechercher les commandes de construction" -#: common/models.py:2324 +#: common/models.py:2330 msgid "Display build orders in search preview window" msgstr "Afficher les commandes de construction dans la fenêtre de prévisualisation de recherche" -#: common/models.py:2329 +#: common/models.py:2335 msgid "Search Purchase Orders" msgstr "Rechercher des bons de commande" -#: common/models.py:2330 +#: common/models.py:2336 msgid "Display purchase orders in search preview window" msgstr "Afficher les bons de commande dans la fenêtre de prévisualisation de recherche" -#: common/models.py:2335 +#: common/models.py:2341 msgid "Exclude Inactive Purchase Orders" msgstr "Exclure les bons de commande inactifs" -#: common/models.py:2337 +#: common/models.py:2343 msgid "Exclude inactive purchase orders from search preview window" msgstr "Exclure les commandes d’achat inactives de la fenêtre de prévisualisation de recherche" -#: common/models.py:2343 +#: common/models.py:2349 msgid "Search Sales Orders" msgstr "Rechercher les bons de commande" -#: common/models.py:2344 +#: common/models.py:2350 msgid "Display sales orders in search preview window" msgstr "Afficher les bons de commande dans la fenêtre de prévisualisation de la recherche" -#: common/models.py:2349 +#: common/models.py:2355 msgid "Exclude Inactive Sales Orders" msgstr "Exclure les bons de commande inactives" -#: common/models.py:2351 +#: common/models.py:2357 msgid "Exclude inactive sales orders from search preview window" msgstr "Exclure les bons de commande inactifs de la fenêtre de prévisualisation de recherche" -#: common/models.py:2357 +#: common/models.py:2363 msgid "Search Return Orders" msgstr "Rechercher les commandes retournées" -#: common/models.py:2358 +#: common/models.py:2364 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2363 +#: common/models.py:2369 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2365 +#: common/models.py:2371 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2371 +#: common/models.py:2377 msgid "Search Preview Results" msgstr "Résultats de l'aperçu de la recherche" -#: common/models.py:2373 +#: common/models.py:2379 msgid "Number of results to show in each section of the search preview window" msgstr "Nombre de résultats à afficher dans chaque section de la fenêtre de prévisualisation de recherche" -#: common/models.py:2379 +#: common/models.py:2385 msgid "Regex Search" msgstr "Recherche Regex" -#: common/models.py:2380 +#: common/models.py:2386 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2385 +#: common/models.py:2391 msgid "Whole Word Search" msgstr "" -#: common/models.py:2386 +#: common/models.py:2392 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2391 +#: common/models.py:2397 msgid "Show Quantity in Forms" msgstr "Afficher la quantité dans les formulaires" -#: common/models.py:2392 +#: common/models.py:2398 msgid "Display available part quantity in some forms" msgstr "Afficher la quantité disponible dans certains formulaires" -#: common/models.py:2397 +#: common/models.py:2403 msgid "Escape Key Closes Forms" msgstr "La touche Echap ferme les formulaires" -#: common/models.py:2398 +#: common/models.py:2404 msgid "Use the escape key to close modal forms" msgstr "Utilisez la touche Echap pour fermer les formulaires modaux" -#: common/models.py:2403 +#: common/models.py:2409 msgid "Fixed Navbar" msgstr "Barre de navigation fixe" -#: common/models.py:2404 +#: common/models.py:2410 msgid "The navbar position is fixed to the top of the screen" msgstr "La position de la barre de navigation est fixée en haut de l'écran" -#: common/models.py:2409 +#: common/models.py:2415 msgid "Date Format" msgstr "Format de date" -#: common/models.py:2410 +#: common/models.py:2416 msgid "Preferred format for displaying dates" msgstr "Format préféré pour l'affichage des dates" -#: common/models.py:2423 part/templates/part/detail.html:41 +#: common/models.py:2429 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Planification des pièces" -#: common/models.py:2424 +#: common/models.py:2430 msgid "Display part scheduling information" msgstr "Afficher les informations de planification des pièces" -#: common/models.py:2429 part/templates/part/detail.html:62 +#: common/models.py:2435 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Inventaire des pièces" -#: common/models.py:2431 +#: common/models.py:2437 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2437 +#: common/models.py:2443 msgid "Table String Length" msgstr "Longueur de la chaîne dans les Tableau" -#: common/models.py:2439 +#: common/models.py:2445 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2445 +#: common/models.py:2451 msgid "Default part label template" msgstr "" -#: common/models.py:2446 +#: common/models.py:2452 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2451 +#: common/models.py:2457 msgid "Default stock item template" msgstr "" -#: common/models.py:2453 +#: common/models.py:2459 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2459 +#: common/models.py:2465 msgid "Default stock location label template" msgstr "" -#: common/models.py:2461 +#: common/models.py:2467 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2467 +#: common/models.py:2473 msgid "Default build line label template" msgstr "" -#: common/models.py:2469 +#: common/models.py:2475 msgid "The build line label template to be automatically selected" msgstr "" -#: common/models.py:2475 +#: common/models.py:2481 msgid "Receive error reports" msgstr "" -#: common/models.py:2476 +#: common/models.py:2482 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2481 +#: common/models.py:2487 msgid "Last used printing machines" msgstr "" -#: common/models.py:2482 +#: common/models.py:2488 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2525 +#: common/models.py:2531 msgid "Price break quantity" msgstr "" -#: common/models.py:2532 company/serializers.py:496 order/admin.py:42 -#: order/models.py:1333 order/models.py:2243 +#: common/models.py:2538 company/serializers.py:496 order/admin.py:42 +#: order/models.py:1373 order/models.py:2292 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 -#: templates/js/translated/return_order.js:741 +#: templates/js/translated/return_order.js:740 msgid "Price" msgstr "Prix" -#: common/models.py:2533 +#: common/models.py:2539 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2704 common/models.py:2889 +#: common/models.py:2710 common/models.py:2895 msgid "Endpoint" msgstr "" -#: common/models.py:2705 +#: common/models.py:2711 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2715 +#: common/models.py:2721 msgid "Name for this webhook" msgstr "" -#: common/models.py:2719 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1045 -#: plugin/models.py:56 templates/js/translated/company.js:523 +#: common/models.py:2725 company/models.py:160 company/models.py:814 +#: machine/models.py:39 part/admin.py:88 part/models.py:1088 +#: plugin/models.py:65 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:492 @@ -3614,137 +3628,137 @@ msgstr "" msgid "Active" msgstr "Actif" -#: common/models.py:2719 +#: common/models.py:2725 msgid "Is this webhook active" msgstr "Ce webhook (lien de rappel HTTP) est-il actif" -#: common/models.py:2735 users/models.py:159 +#: common/models.py:2741 users/models.py:159 msgid "Token" msgstr "Jeton" -#: common/models.py:2736 +#: common/models.py:2742 msgid "Token for access" msgstr "Jeton d'accès" -#: common/models.py:2744 +#: common/models.py:2750 msgid "Secret" msgstr "Confidentiel" -#: common/models.py:2745 +#: common/models.py:2751 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2853 +#: common/models.py:2859 msgid "Message ID" msgstr "ID message" -#: common/models.py:2854 +#: common/models.py:2860 msgid "Unique identifier for this message" msgstr "Identifiant unique pour ce message" -#: common/models.py:2862 +#: common/models.py:2868 msgid "Host" msgstr "Hôte" -#: common/models.py:2863 +#: common/models.py:2869 msgid "Host from which this message was received" msgstr "Hôte à partir duquel ce message a été reçu" -#: common/models.py:2871 +#: common/models.py:2877 msgid "Header" msgstr "Entête" -#: common/models.py:2872 +#: common/models.py:2878 msgid "Header of this message" msgstr "En-tête de ce message" -#: common/models.py:2879 +#: common/models.py:2885 msgid "Body" msgstr "Corps" -#: common/models.py:2880 +#: common/models.py:2886 msgid "Body of this message" msgstr "Corps de ce message" -#: common/models.py:2890 +#: common/models.py:2896 msgid "Endpoint on which this message was received" msgstr "Endpoint à partir duquel ce message a été reçu" -#: common/models.py:2895 +#: common/models.py:2901 msgid "Worked on" msgstr "" -#: common/models.py:2896 +#: common/models.py:2902 msgid "Was the work on this message finished?" msgstr "Le travail sur ce message est-il terminé ?" -#: common/models.py:3022 +#: common/models.py:3028 msgid "Id" -msgstr "" +msgstr "Id" -#: common/models.py:3024 templates/js/translated/company.js:965 +#: common/models.py:3030 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "Titre" -#: common/models.py:3028 templates/js/translated/news.js:60 +#: common/models.py:3034 templates/js/translated/news.js:60 msgid "Published" msgstr "Publié" -#: common/models.py:3030 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3036 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "Auteur" -#: common/models.py:3032 templates/js/translated/news.js:52 +#: common/models.py:3038 templates/js/translated/news.js:52 msgid "Summary" msgstr "Résumé" -#: common/models.py:3035 +#: common/models.py:3041 msgid "Read" msgstr "Lu" -#: common/models.py:3035 +#: common/models.py:3041 msgid "Was this news item read?" msgstr "Cette nouvelle a-t-elle été lue ?" -#: common/models.py:3052 company/models.py:156 part/models.py:929 +#: common/models.py:3058 company/models.py:156 part/models.py:972 #: 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 +#: report/templates/report/inventree_return_order_report.html:35 #: stock/templates/stock/item_base.html:133 templates/503.html:31 #: templates/hover_image.html:7 templates/hover_image.html:9 #: templates/modals.html:6 msgid "Image" -msgstr "" +msgstr "Image" -#: common/models.py:3052 +#: common/models.py:3058 msgid "Image file" -msgstr "" +msgstr "Fichier image" -#: common/models.py:3094 +#: common/models.py:3100 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3113 +#: common/models.py:3119 msgid "Unit name" msgstr "" -#: common/models.py:3120 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3126 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" -msgstr "" +msgstr "Symbole" -#: common/models.py:3121 +#: common/models.py:3127 msgid "Optional unit symbol" -msgstr "" +msgstr "Symbole d'unité facultatif" -#: common/models.py:3128 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3134 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "Définition" -#: common/models.py:3129 +#: common/models.py:3135 msgid "Unit definition" -msgstr "" +msgstr "Définition de l'unité" #: common/notifications.py:314 #, python-brace-format @@ -3758,11 +3772,11 @@ msgstr "Une nouvelle commande a été créée et vous a été assignée" #: common/notifications.py:322 #, python-brace-format msgid "{verbose_name} canceled" -msgstr "" +msgstr "{verbose_name} annulé" #: common/notifications.py:324 msgid "A order that is assigned to you was canceled" -msgstr "" +msgstr "Une commande qui vous est assignée a été annulée" #: common/notifications.py:330 common/notifications.py:337 order/api.py:472 msgid "Items Received" @@ -3782,63 +3796,63 @@ msgstr "Erreur déclenchée par le plugin" #: common/serializers.py:366 msgid "Is Running" -msgstr "" +msgstr "En cours d'exécution" #: common/serializers.py:372 msgid "Pending Tasks" -msgstr "" +msgstr "Tâches en attente" #: common/serializers.py:378 msgid "Scheduled Tasks" -msgstr "" +msgstr "Tâches planifiées" #: common/serializers.py:384 msgid "Failed Tasks" -msgstr "" +msgstr "Tâches échouées" #: common/serializers.py:399 msgid "Task ID" -msgstr "" +msgstr "ID de la tâche" #: common/serializers.py:399 msgid "Unique task ID" -msgstr "" +msgstr "ID unique de la tâche" #: common/serializers.py:401 msgid "Lock" -msgstr "" +msgstr "Verrouillé" #: common/serializers.py:401 msgid "Lock time" -msgstr "" +msgstr "Heure verrouillé" #: common/serializers.py:403 msgid "Task name" -msgstr "" +msgstr "Nom de la tâche" #: common/serializers.py:405 msgid "Function" -msgstr "" +msgstr "Fonction" #: common/serializers.py:405 msgid "Function name" -msgstr "" +msgstr "Nom de la fonction" #: common/serializers.py:407 msgid "Arguments" -msgstr "" +msgstr "Arguments" #: common/serializers.py:407 msgid "Task arguments" -msgstr "" +msgstr "Arguments tâche" #: common/serializers.py:410 msgid "Keyword Arguments" -msgstr "" +msgstr "Mots-clés Arguments" #: common/serializers.py:410 msgid "Task keyword arguments" -msgstr "" +msgstr "Mots-clés arguments tâche" #: common/views.py:84 order/templates/order/order_wizard/po_upload.html:51 #: order/templates/order/purchase_order_detail.html:24 order/views.py:118 @@ -3880,23 +3894,23 @@ msgstr "Étape précédente" #: company/api.py:164 msgid "Part is Active" -msgstr "" +msgstr "La pièce est active" #: company/api.py:168 msgid "Manufacturer is Active" -msgstr "" +msgstr "Le fabricant est actif" #: company/api.py:317 msgid "Supplier Part is Active" -msgstr "" +msgstr "Le fournisseur de la pièce est active" #: company/api.py:321 msgid "Internal Part is Active" -msgstr "" +msgstr "La pièce interne est active" #: company/api.py:325 msgid "Supplier is Active" -msgstr "" +msgstr "Le fournisseur est actif" #: company/models.py:114 msgid "Company description" @@ -3929,11 +3943,11 @@ msgid "Contact email address" msgstr "Adresse e-mail de contact" #: company/models.py:139 company/templates/company/company_base.html:145 -#: order/models.py:331 order/templates/order/order_base.html:203 +#: order/models.py:344 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 -#: order/templates/order/sales_order_base.html:214 +#: order/templates/order/sales_order_base.html:218 msgid "Contact" -msgstr "" +msgstr "Contact" #: company/models.py:141 msgid "Point of contact" @@ -3945,7 +3959,7 @@ msgstr "Lien externe vers les informations de l'entreprise" #: company/models.py:160 msgid "Is this company active?" -msgstr "" +msgstr "Cette entreprise est-elle active ?" #: company/models.py:165 msgid "is customer" @@ -3977,7 +3991,7 @@ msgstr "Devise par défaut utilisée pour cette entreprise" #: company/models.py:273 company/models.py:382 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:776 +#: company/templates/company/company_base.html:12 stock/api.py:810 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "Société" @@ -3988,15 +4002,15 @@ msgstr "Sélectionner une entreprise" #: company/models.py:388 msgid "Address title" -msgstr "" +msgstr "Intitulé de l'adresse" #: company/models.py:389 msgid "Title describing the address entry" -msgstr "" +msgstr "Titre décrivant la saisie de l'adresse" #: company/models.py:395 msgid "Primary address" -msgstr "" +msgstr "Adresse principale" #: company/models.py:396 msgid "Set as primary address" @@ -4067,10 +4081,10 @@ msgstr "Notes internes pour la livraison" #: company/models.py:458 msgid "Link to address information (external)" -msgstr "" +msgstr "Lien vers les informations de l'adresse (externe)" -#: company/models.py:489 company/models.py:792 stock/models.py:751 -#: stock/serializers.py:266 stock/templates/stock/item_base.html:142 +#: company/models.py:489 company/models.py:792 stock/models.py:772 +#: stock/serializers.py:395 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -4081,7 +4095,7 @@ msgstr "" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:515 +#: company/templates/company/supplier_part.html:145 part/serializers.py:530 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4096,13 +4110,13 @@ msgid "Select manufacturer" msgstr "Sélectionner un fabricant" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:525 +#: company/templates/company/supplier_part.html:153 part/serializers.py:540 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800 -#: templates/js/translated/purchase_order.js:1852 -#: templates/js/translated/purchase_order.js:2054 +#: templates/js/translated/purchase_order.js:1851 +#: templates/js/translated/purchase_order.js:2053 msgid "MPN" msgstr "" @@ -4129,9 +4143,8 @@ msgstr "Pièces du fabricant" msgid "Parameter name" msgstr "Nom du paramètre" -#: company/models.py:621 -#: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2448 templates/js/translated/company.js:1166 +#: company/models.py:621 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2425 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492 #: templates/js/translated/stock.js:1522 msgid "Value" @@ -4142,10 +4155,10 @@ msgid "Parameter value" msgstr "Valeur du paramètre" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1009 part/models.py:3623 +#: part/admin.py:57 part/models.py:1052 part/models.py:3666 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 -#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370 +#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 msgid "Units" msgstr "Unités" @@ -4166,9 +4179,9 @@ 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:802 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:465 +#: company/templates/company/supplier_part.html:129 order/models.py:487 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:499 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:514 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4176,7 +4189,7 @@ msgstr "La pièce du fabricant liée doit faire référence à la même pièce d #: templates/js/translated/company.js:511 #: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1690 +#: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/table_filters.js:804 msgid "Supplier" msgstr "Fournisseur" @@ -4185,7 +4198,7 @@ msgstr "Fournisseur" msgid "Select supplier" msgstr "Sélectionner un fournisseur" -#: company/models.py:809 part/serializers.py:510 +#: company/models.py:809 part/serializers.py:525 msgid "Supplier stock keeping unit" msgstr "Unité de gestion des stocks des fournisseurs" @@ -4206,29 +4219,29 @@ msgid "Supplier part description" msgstr "Description de la pièce du fournisseur" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:418 part/models.py:4070 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4113 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 -#: report/templates/report/inventree_slr_report.html:105 -#: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:579 +#: report/templates/report/inventree_purchase_order_report.html:32 +#: report/templates/report/inventree_return_order_report.html:27 +#: report/templates/report/inventree_sales_order_report.html:32 +#: report/templates/report/inventree_stock_location_report.html:105 +#: stock/serializers.py:708 msgid "Note" msgstr "" -#: company/models.py:857 part/models.py:1967 +#: company/models.py:857 part/models.py:2010 msgid "base cost" msgstr "coût de base" -#: company/models.py:858 part/models.py:1968 +#: company/models.py:858 part/models.py:2011 msgid "Minimum charge (e.g. stocking fee)" msgstr "Frais minimums (par exemple frais de stock)" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:782 stock/serializers.py:1350 +#: stock/admin.py:224 stock/models.py:803 stock/serializers.py:1479 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 -#: templates/js/translated/stock.js:2426 +#: templates/js/translated/stock.js:2424 msgid "Packaging" msgstr "Conditionnement" @@ -4241,8 +4254,8 @@ msgstr "Conditionnement de l'article" #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 -#: templates/js/translated/purchase_order.js:2085 -#: templates/js/translated/purchase_order.js:2102 +#: templates/js/translated/purchase_order.js:2084 +#: templates/js/translated/purchase_order.js:2101 msgid "Pack Quantity" msgstr "Nombre de paquet" @@ -4250,7 +4263,7 @@ msgstr "Nombre de paquet" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:892 part/models.py:1974 +#: company/models.py:892 part/models.py:2017 msgid "multiple" msgstr "plusieurs" @@ -4285,7 +4298,7 @@ msgstr "En Stock" #: part/templates/part/part_base.html:146 #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 -#: templates/js/translated/model_renderers.js:306 +#: templates/js/translated/model_renderers.js:312 #: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 msgid "Inactive" msgstr "" @@ -4321,11 +4334,11 @@ msgstr "Supprimer la société" #: company/templates/company/manufacturer_part.html:51 #: company/templates/company/supplier_part.html:83 #: part/templates/part/part_thumb.html:20 -#: report/templates/report/inventree_build_order_base.html:98 -#: report/templates/report/inventree_po_report_base.html:40 -#: report/templates/report/inventree_so_report_base.html:40 -#: report/templates/report/inventree_test_report_base.html:84 -#: report/templates/report/inventree_test_report_base.html:163 +#: report/templates/report/inventree_build_order_report.html:98 +#: report/templates/report/inventree_purchase_order_report.html:40 +#: report/templates/report/inventree_sales_order_report.html:40 +#: report/templates/report/inventree_test_report.html:84 +#: report/templates/report/inventree_test_report.html:163 msgid "Part image" msgstr "" @@ -4344,16 +4357,16 @@ msgstr "Télécharger l'image depuis l'URL" msgid "Delete image" msgstr "Supprimer image" -#: company/templates/company/company_base.html:92 order/models.py:910 -#: order/models.py:2010 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:144 stock/models.py:804 -#: stock/models.py:805 stock/serializers.py:1100 +#: company/templates/company/company_base.html:92 order/models.py:941 +#: order/models.py:2059 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:148 stock/models.py:825 +#: stock/models.py:826 stock/serializers.py:1229 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 -#: templates/js/translated/return_order.js:296 -#: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2962 +#: templates/js/translated/return_order.js:295 +#: templates/js/translated/sales_order.js:820 +#: templates/js/translated/stock.js:2959 #: templates/js/translated/table_filters.js:808 msgid "Customer" msgstr "Client" @@ -4362,10 +4375,10 @@ msgstr "Client" msgid "Uses default currency" msgstr "Utiliser la devise par défaut" -#: company/templates/company/company_base.html:124 order/models.py:341 +#: company/templates/company/company_base.html:124 order/models.py:354 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 -#: order/templates/order/sales_order_base.html:221 +#: order/templates/order/sales_order_base.html:225 msgid "Address" msgstr "Adresse" @@ -4374,7 +4387,7 @@ msgid "Phone" msgstr "Téléphone" #: company/templates/company/company_base.html:211 -#: part/templates/part/part_base.html:528 +#: part/templates/part/part_base.html:527 msgid "Remove Image" msgstr "" @@ -4383,19 +4396,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:214 -#: part/templates/part/part_base.html:531 +#: part/templates/part/part_base.html:530 #: templates/InvenTree/settings/user.html:88 #: templates/InvenTree/settings/user_sso.html:43 msgid "Remove" msgstr "Supprimer" #: company/templates/company/company_base.html:243 -#: part/templates/part/part_base.html:560 +#: part/templates/part/part_base.html:559 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:258 -#: part/templates/part/part_base.html:614 +#: part/templates/part/part_base.html:613 msgid "Download Image" msgstr "" @@ -4558,7 +4571,7 @@ msgstr "Aucune information sur le fabricant disponible" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:821 +#: part/admin.py:122 part/serializers.py:836 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4609,10 +4622,10 @@ msgstr "Adresses" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:452 -#: stock/models.py:762 stock/templates/stock/item_base.html:233 +#: stock/models.py:783 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 -#: templates/js/translated/stock.js:2282 +#: templates/js/translated/stock.js:2280 msgid "Supplier Part" msgstr "Pièce fournisseur" @@ -4658,11 +4671,11 @@ msgid "No supplier information available" msgstr "Aucune information de fournisseur disponible" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:509 +#: part/bom.py:311 part/serializers.py:524 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1851 -#: templates/js/translated/purchase_order.js:2029 +#: templates/js/translated/purchase_order.js:1850 +#: templates/js/translated/purchase_order.js:2028 msgid "SKU" msgstr "" @@ -4671,12 +4684,12 @@ msgid "Supplier Part Stock" msgstr "Stock de pièces du fournisseur" #: company/templates/company/supplier_part.html:209 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:199 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:206 msgid "Create new stock item" msgstr "Créer un nouvel article de stock" #: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:200 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:207 #: templates/js/translated/stock.js:537 msgid "New Stock Item" msgstr "Nouvel article de stock" @@ -4708,16 +4721,16 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:820 part/stocktake.py:223 +#: part/serializers.py:835 part/stocktake.py:223 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:787 stock/serializers.py:951 +#: stock/serializers.py:916 stock/serializers.py:1080 #: stock/templates/stock/location.html:170 -#: stock/templates/stock/location.html:184 -#: stock/templates/stock/location.html:196 +#: stock/templates/stock/location.html:191 +#: stock/templates/stock/location.html:203 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2769 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 #: users/models.py:206 msgid "Stock Items" msgstr "Éléments en stock" @@ -4751,621 +4764,539 @@ msgstr "Entreprises" msgid "New Company" msgstr "Nouvelle Entreprise" -#: label/api.py:247 -msgid "Error printing label" -msgstr "" - -#: label/models.py:120 -msgid "Label name" -msgstr "Nom de l'étiquette" - -#: label/models.py:128 -msgid "Label description" -msgstr "Description de l’étiquette" - -#: label/models.py:136 -msgid "Label" -msgstr "Étiquette" - -#: label/models.py:137 -msgid "Label template file" -msgstr "Fichier de modèle d'étiquette" - -#: label/models.py:143 part/models.py:3494 report/models.py:324 -#: templates/js/translated/part.js:2900 -#: templates/js/translated/table_filters.js:481 -msgid "Enabled" -msgstr "Activé" - -#: label/models.py:144 -msgid "Label template is enabled" -msgstr "Le modèle d'étiquette est activé" - -#: label/models.py:149 -msgid "Width [mm]" -msgstr "Largeur [mm]" - -#: label/models.py:150 -msgid "Label width, specified in mm" -msgstr "Largeur de l'étiquette, spécifiée en mm" - -#: label/models.py:156 -msgid "Height [mm]" -msgstr "Hauteur [mm]" - -#: label/models.py:157 -msgid "Label height, specified in mm" -msgstr "Hauteur de l'étiquette, spécifiée en mm" - -#: label/models.py:163 report/models.py:317 -msgid "Filename Pattern" -msgstr "Modèle de nom de fichier" - -#: label/models.py:164 -msgid "Pattern for generating label filenames" -msgstr "Modèle pour la génération des noms de fichiers d'étiquette" - -#: label/models.py:313 label/models.py:352 label/models.py:377 -#: label/models.py:412 -msgid "Query filters (comma-separated list of key=value pairs)" -msgstr "" - -#: label/models.py:314 label/models.py:353 label/models.py:378 -#: label/models.py:413 report/models.py:345 report/models.py:496 -#: report/models.py:532 report/models.py:568 report/models.py:750 -msgid "Filters" -msgstr "Filtres" - -#: label/templates/label/part/part_label.html:31 -#: label/templates/label/stockitem/qr.html:21 -#: label/templates/label/stocklocation/qr.html:20 -#: templates/allauth_2fa/setup.html:18 -msgid "QR Code" -msgstr "" - -#: label/templates/label/part/part_label_code128.html:31 -#: label/templates/label/stocklocation/qr_and_text.html:31 -#: templates/qr_code.html:7 -msgid "QR code" -msgstr "" - -#: machine/machine_types/label_printer.py:217 +#: machine/machine_types/label_printer.py:218 msgid "Copies" msgstr "" -#: machine/machine_types/label_printer.py:218 +#: machine/machine_types/label_printer.py:219 msgid "Number of copies to print for each label" msgstr "" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:234 msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:234 order/api.py:1515 -#: templates/js/translated/sales_order.js:1042 +#: machine/machine_types/label_printer.py:235 order/api.py:1515 +#: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "Inconnu" -#: machine/machine_types/label_printer.py:235 -msgid "Printing" -msgstr "" - #: machine/machine_types/label_printer.py:236 -msgid "No media" -msgstr "" +msgid "Printing" +msgstr "Impression" #: machine/machine_types/label_printer.py:237 -msgid "Disconnected" -msgstr "" +msgid "No media" +msgstr "Aucun média" -#: machine/machine_types/label_printer.py:244 -msgid "Label Printer" -msgstr "" +#: machine/machine_types/label_printer.py:238 +msgid "Disconnected" +msgstr "Déconnecté" #: machine/machine_types/label_printer.py:245 -msgid "Directly print labels for various items." -msgstr "" +msgid "Label Printer" +msgstr "Imprimante Etiquette" -#: machine/machine_types/label_printer.py:251 -msgid "Printer Location" -msgstr "" +#: machine/machine_types/label_printer.py:246 +msgid "Directly print labels for various items." +msgstr "Impression directe des étiquettes pour divers articles." #: machine/machine_types/label_printer.py:252 +msgid "Printer Location" +msgstr "Emplacement Imprimante" + +#: machine/machine_types/label_printer.py:253 msgid "Scope the printer to a specific location" -msgstr "" +msgstr "Porter de l'imprimante sur un emplacement spécifique" #: machine/models.py:25 msgid "Name of machine" -msgstr "" +msgstr "Nom de la machine" #: machine/models.py:29 msgid "Machine Type" -msgstr "" +msgstr "Machine Type" #: machine/models.py:29 msgid "Type of machine" -msgstr "" +msgstr "Type de machine" #: machine/models.py:34 machine/models.py:146 msgid "Driver" -msgstr "" +msgstr "Pilote" #: machine/models.py:35 msgid "Driver used for the machine" -msgstr "" +msgstr "Pilote utilisé pour la machine" #: machine/models.py:39 msgid "Machines can be disabled" -msgstr "" +msgstr "Les machines peuvent être inactivées" #: machine/models.py:95 msgid "Driver available" -msgstr "" +msgstr "Pilote disponible" #: machine/models.py:100 msgid "No errors" -msgstr "" +msgstr "Aucune erreur" #: machine/models.py:105 msgid "Initialized" -msgstr "" +msgstr "Initialisé" #: machine/models.py:110 msgid "Errors" -msgstr "" +msgstr "Erreurs" #: machine/models.py:117 msgid "Machine status" -msgstr "" +msgstr "Statut de la machine" #: machine/models.py:145 msgid "Machine" -msgstr "" +msgstr "Machine" #: machine/models.py:151 msgid "Machine Config" -msgstr "" +msgstr "Configuration de la machine" #: machine/models.py:156 msgid "Config type" -msgstr "" +msgstr "Type de configuration" -#: order/admin.py:30 order/models.py:89 -#: report/templates/report/inventree_po_report_base.html:31 -#: report/templates/report/inventree_so_report_base.html:31 +#: order/admin.py:30 order/models.py:90 +#: report/templates/report/inventree_purchase_order_report.html:31 +#: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2126 -#: templates/js/translated/sales_order.js:1847 +#: templates/js/translated/purchase_order.js:2125 +#: templates/js/translated/sales_order.js:1883 msgid "Total Price" msgstr "Prix Total" #: order/api.py:161 order/serializers.py:91 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 -#: order/templates/order/sales_order_base.html:118 +#: order/templates/order/sales_order_base.html:122 msgid "Order Status" msgstr "Statut de la commande" #: order/api.py:165 templates/js/translated/table_filters.js:194 #: templates/js/translated/table_filters.js:779 msgid "Has Pricing" -msgstr "" +msgstr "Possède un Tarif" #: order/api.py:240 msgid "No matching purchase order found" msgstr "Aucun bon de commande correspondant n'a été trouvé" -#: order/api.py:437 order/api.py:817 order/models.py:1382 order/models.py:1491 -#: order/models.py:1537 order/models.py:1651 order/models.py:1805 -#: order/models.py:2209 order/models.py:2260 -#: templates/js/translated/sales_order.js:1488 +#: order/api.py:437 order/api.py:817 order/models.py:1422 order/models.py:1531 +#: order/models.py:1577 order/models.py:1691 order/models.py:1845 +#: order/models.py:2258 order/models.py:2309 +#: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "Commande" #: order/api.py:441 order/api.py:838 msgid "Order Complete" -msgstr "" +msgstr "Commande Complétée" #: order/api.py:462 msgid "Order Pending" -msgstr "" +msgstr "Commande En Attente" -#: order/api.py:1509 order/models.py:1383 order/models.py:1492 -#: order/templates/order/order_base.html:9 +#: order/api.py:1509 order/models.py:381 order/models.py:1423 +#: order/models.py:1532 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 -#: report/templates/report/inventree_po_report_base.html:14 -#: stock/templates/stock/item_base.html:176 +#: report/templates/report/inventree_purchase_order_report.html:14 +#: stock/serializers.py:119 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 -#: templates/js/translated/purchase_order.js:1674 -#: templates/js/translated/stock.js:2262 templates/js/translated/stock.js:2910 +#: templates/js/translated/purchase_order.js:1673 +#: templates/js/translated/stock.js:2260 templates/js/translated/stock.js:2907 msgid "Purchase Order" msgstr "Commande d’achat" -#: order/api.py:1513 order/models.py:2210 order/models.py:2261 -#: order/templates/order/return_order_base.html:9 +#: order/api.py:1513 order/models.py:2008 order/models.py:2259 +#: order/models.py:2310 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:281 -#: templates/js/translated/stock.js:2944 +#: report/templates/report/inventree_return_order_report.html:13 +#: templates/js/translated/return_order.js:280 +#: templates/js/translated/stock.js:2941 msgid "Return Order" msgstr "Retour de commande" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "Prix total pour cette commande" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:96 order/serializers.py:71 msgid "Order Currency" msgstr "Devise de la commande" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:99 order/serializers.py:72 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:246 +#: order/models.py:248 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:278 +#: order/models.py:291 msgid "Order description (optional)" -msgstr "" +msgstr "Description de la commande (facultatif)" -#: order/models.py:287 +#: order/models.py:300 msgid "Select project code for this order" msgstr "" -#: order/models.py:291 order/models.py:1288 order/models.py:1704 +#: order/models.py:304 order/models.py:1328 order/models.py:1744 msgid "Link to external page" msgstr "Lien vers une page externe" -#: order/models.py:299 +#: order/models.py:312 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "Date prévue pour la livraison de la commande. La commande sera en retard après cette date." -#: order/models.py:313 +#: order/models.py:326 msgid "Created By" msgstr "Créé par" -#: order/models.py:321 +#: order/models.py:334 msgid "User or group responsible for this order" msgstr "Utilisateur ou groupe responsable de cette commande" -#: order/models.py:332 +#: order/models.py:345 msgid "Point of contact for this order" msgstr "" -#: order/models.py:342 +#: order/models.py:355 msgid "Company address for this order" -msgstr "" +msgstr "Adresse de l'entreprise pour cette commande" -#: order/models.py:443 order/models.py:899 +#: order/models.py:465 order/models.py:930 msgid "Order reference" msgstr "Référence de la commande" -#: order/models.py:451 order/models.py:923 +#: order/models.py:473 order/models.py:954 msgid "Purchase order status" msgstr "Statut de la commande d'achat" -#: order/models.py:466 +#: order/models.py:488 msgid "Company from which the items are being ordered" msgstr "Société de laquelle les articles sont commandés" -#: order/models.py:477 order/templates/order/order_base.html:148 -#: templates/js/translated/purchase_order.js:1703 +#: order/models.py:499 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1702 msgid "Supplier Reference" msgstr "Référence du fournisseur" -#: order/models.py:478 +#: order/models.py:500 msgid "Supplier order reference code" msgstr "Code de référence de la commande fournisseur" -#: order/models.py:487 +#: order/models.py:509 msgid "received by" msgstr "reçu par" -#: order/models.py:493 order/models.py:2036 +#: order/models.py:515 order/models.py:2085 msgid "Issue Date" msgstr "Date d'émission" -#: order/models.py:494 order/models.py:2037 +#: order/models.py:516 order/models.py:2086 msgid "Date order was issued" msgstr "Date d'émission de la commande" -#: order/models.py:501 order/models.py:2044 +#: order/models.py:523 order/models.py:2093 msgid "Date order was completed" msgstr "Date à laquelle la commande a été complété" -#: order/models.py:545 +#: order/models.py:567 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:739 +#: order/models.py:761 msgid "Quantity must be a positive number" msgstr "La quantité doit être un nombre positif" -#: order/models.py:911 +#: order/models.py:942 msgid "Company to which the items are being sold" msgstr "Société à laquelle les articles sont vendus" -#: order/models.py:934 order/models.py:2029 +#: order/models.py:965 order/models.py:2078 msgid "Customer Reference " msgstr "Référence client " -#: order/models.py:935 order/models.py:2030 +#: order/models.py:966 order/models.py:2079 msgid "Customer order reference code" msgstr "" -#: order/models.py:939 order/models.py:1658 -#: templates/js/translated/sales_order.js:843 -#: templates/js/translated/sales_order.js:1024 +#: order/models.py:970 order/models.py:1698 +#: templates/js/translated/sales_order.js:879 +#: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "Nom de l’expédition" -#: order/models.py:948 +#: order/models.py:979 msgid "shipped by" msgstr "expédié par" -#: order/models.py:999 -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:1004 +#: order/models.py:1029 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1008 templates/js/translated/sales_order.js:506 +#: order/models.py:1033 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:1013 +#: order/models.py:1038 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1260 +#: order/models.py:1300 msgid "Item quantity" msgstr "Nombre d'élement" -#: order/models.py:1277 +#: order/models.py:1317 msgid "Line item reference" msgstr "" -#: order/models.py:1284 +#: order/models.py:1324 msgid "Line item notes" msgstr "" -#: order/models.py:1296 +#: order/models.py:1336 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1317 +#: order/models.py:1357 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1323 +#: order/models.py:1363 msgid "Context" msgstr "Contexte" -#: order/models.py:1324 +#: order/models.py:1364 msgid "Additional context for this line" msgstr "" -#: order/models.py:1334 +#: order/models.py:1374 msgid "Unit price" msgstr "Prix unitaire" -#: order/models.py:1367 +#: order/models.py:1407 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1374 +#: order/models.py:1414 msgid "deleted" msgstr "supprimé" -#: order/models.py:1402 +#: order/models.py:1442 msgid "Supplier part" msgstr "Pièce fournisseur" -#: order/models.py:1409 order/templates/order/order_base.html:196 +#: order/models.py:1449 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 #: templates/js/translated/purchase_order.js:1306 -#: templates/js/translated/purchase_order.js:2170 -#: templates/js/translated/return_order.js:764 +#: templates/js/translated/purchase_order.js:2169 +#: templates/js/translated/return_order.js:763 #: templates/js/translated/table_filters.js:120 #: templates/js/translated/table_filters.js:602 msgid "Received" msgstr "Reçu" -#: order/models.py:1410 +#: order/models.py:1450 msgid "Number of items received" msgstr "Nombre d'éléments reçus" -#: order/models.py:1418 stock/models.py:923 stock/serializers.py:400 +#: order/models.py:1458 stock/models.py:944 stock/serializers.py:529 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2313 +#: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "Prix d'achat" -#: order/models.py:1419 +#: order/models.py:1459 msgid "Unit purchase price" msgstr "Prix d'achat unitaire" -#: order/models.py:1434 +#: order/models.py:1474 msgid "Where does the Purchaser want this item to be stored?" msgstr "Où l'Acheteur veut-il stocker cet article ?" -#: order/models.py:1525 +#: order/models.py:1565 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:1530 +#: order/models.py:1570 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:1556 part/templates/part/part_pricing.html:107 +#: order/models.py:1596 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "Prix de vente" -#: order/models.py:1557 +#: order/models.py:1597 msgid "Unit sale price" msgstr "Prix de vente unitaire" -#: order/models.py:1567 +#: order/models.py:1607 msgid "Shipped quantity" msgstr "Quantité expédiée" -#: order/models.py:1659 +#: order/models.py:1699 msgid "Date of shipment" msgstr "Date d'expédition" -#: order/models.py:1665 templates/js/translated/sales_order.js:1036 +#: order/models.py:1705 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" -msgstr "" +msgstr "Date de Livraison" -#: order/models.py:1666 +#: order/models.py:1706 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1674 +#: order/models.py:1714 msgid "Checked By" msgstr "Vérifié par" -#: order/models.py:1675 +#: order/models.py:1715 msgid "User who checked this shipment" msgstr "Utilisateur qui a vérifié cet envoi" -#: order/models.py:1682 order/models.py:1895 order/serializers.py:1354 -#: order/serializers.py:1464 templates/js/translated/model_renderers.js:448 +#: order/models.py:1722 order/models.py:1935 order/serializers.py:1354 +#: order/serializers.py:1464 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "Envoi" -#: order/models.py:1683 +#: order/models.py:1723 msgid "Shipment number" msgstr "Numéro d'expédition" -#: order/models.py:1691 +#: order/models.py:1731 msgid "Tracking Number" msgstr "N° de suivi" -#: order/models.py:1692 +#: order/models.py:1732 msgid "Shipment tracking information" msgstr "Information de suivi des colis" -#: order/models.py:1699 +#: order/models.py:1739 msgid "Invoice Number" msgstr "N° de facture" -#: order/models.py:1700 +#: order/models.py:1740 msgid "Reference number for associated invoice" msgstr "Numéro de référence de la facture associée" -#: order/models.py:1720 +#: order/models.py:1760 msgid "Shipment has already been sent" msgstr "Le colis a déjà été envoyé" -#: order/models.py:1723 +#: order/models.py:1763 msgid "Shipment has no allocated stock items" msgstr "L'expédition n'a pas d'articles en stock alloués" -#: order/models.py:1841 order/models.py:1843 +#: order/models.py:1881 order/models.py:1883 msgid "Stock item has not been assigned" msgstr "L'article de stock n'a pas été assigné" -#: order/models.py:1850 +#: order/models.py:1890 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1853 +#: order/models.py:1893 msgid "Cannot allocate stock to a line without a part" msgstr "Impossible d'allouer le stock à une ligne sans pièce" -#: order/models.py:1856 +#: order/models.py:1896 msgid "Allocation quantity cannot exceed stock quantity" msgstr "La quantité d'allocation ne peut pas excéder la quantité en stock" -#: order/models.py:1875 order/serializers.py:1231 +#: order/models.py:1915 order/serializers.py:1231 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1878 +#: order/models.py:1918 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1879 plugin/base/barcodes/api.py:481 +#: order/models.py:1919 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1887 +#: order/models.py:1927 msgid "Line" msgstr "Ligne" -#: order/models.py:1896 +#: order/models.py:1936 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1909 order/models.py:2217 -#: templates/js/translated/return_order.js:722 +#: order/models.py:1949 order/models.py:2266 +#: templates/js/translated/return_order.js:721 msgid "Item" msgstr "Article" -#: order/models.py:1910 +#: order/models.py:1950 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1919 +#: order/models.py:1959 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1999 +#: order/models.py:2048 msgid "Return Order reference" msgstr "" -#: order/models.py:2011 +#: order/models.py:2060 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2023 +#: order/models.py:2072 msgid "Return order status" msgstr "Statut du retour de commande" -#: order/models.py:2202 +#: order/models.py:2251 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2218 +#: order/models.py:2267 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2224 +#: order/models.py:2273 msgid "Received Date" msgstr "" -#: order/models.py:2225 +#: order/models.py:2274 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2236 templates/js/translated/return_order.js:733 +#: order/models.py:2285 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2237 +#: order/models.py:2286 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2244 +#: order/models.py:2293 msgid "Cost associated with return or repair for this line item" msgstr "" #: order/serializers.py:80 order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 -#: report/templates/report/inventree_po_report_base.html:22 -#: report/templates/report/inventree_return_order_report_base.html:19 -#: report/templates/report/inventree_so_report_base.html:22 +#: report/templates/report/inventree_purchase_order_report.html:22 +#: report/templates/report/inventree_return_order_report.html:19 +#: report/templates/report/inventree_sales_order_report.html:22 msgid "Line Items" msgstr "" @@ -5475,7 +5406,7 @@ msgstr "" #: order/serializers.py:1074 msgid "Sale price currency" -msgstr "" +msgstr "Devise du prix de vente" #: order/serializers.py:1134 msgid "No shipment details provided" @@ -5595,7 +5526,7 @@ msgstr "Marquer la commande comme complète" #: order/templates/order/order_base.html:84 #: order/templates/order/return_order_base.html:87 -#: order/templates/order/sales_order_base.html:93 +#: order/templates/order/sales_order_base.html:97 msgid "Complete Order" msgstr "Finaliser la commande" @@ -5605,13 +5536,13 @@ msgstr "" #: order/templates/order/order_base.html:106 #: order/templates/order/return_order_base.html:101 -#: order/templates/order/sales_order_base.html:106 +#: order/templates/order/sales_order_base.html:110 msgid "Order Reference" msgstr "Référence de commande" #: order/templates/order/order_base.html:111 #: order/templates/order/return_order_base.html:106 -#: order/templates/order/sales_order_base.html:111 +#: order/templates/order/sales_order_base.html:115 msgid "Order Description" msgstr "Description de la commande" @@ -5620,19 +5551,19 @@ msgid "No suppplier information available" msgstr "" #: order/templates/order/order_base.html:154 -#: order/templates/order/sales_order_base.html:157 +#: order/templates/order/sales_order_base.html:161 msgid "Completed Line Items" msgstr "" #: order/templates/order/order_base.html:160 -#: order/templates/order/sales_order_base.html:163 -#: order/templates/order/sales_order_base.html:173 +#: order/templates/order/sales_order_base.html:167 +#: order/templates/order/sales_order_base.html:177 msgid "Incomplete" msgstr "Incomplet" #: order/templates/order/order_base.html:179 #: order/templates/order/return_order_base.html:157 -#: report/templates/report/inventree_build_order_base.html:121 +#: report/templates/report/inventree_build_order_report.html:121 msgid "Issued" msgstr "" @@ -5642,15 +5573,15 @@ msgstr "" #: order/templates/order/order_base.html:228 #: order/templates/order/return_order_base.html:199 -#: order/templates/order/sales_order_base.html:239 +#: order/templates/order/sales_order_base.html:243 msgid "Total cost could not be calculated" msgstr "" -#: order/templates/order/order_base.html:318 +#: order/templates/order/order_base.html:314 msgid "Purchase Order QR Code" msgstr "" -#: order/templates/order/order_base.html:330 +#: order/templates/order/order_base.html:326 msgid "Link Barcode to Purchase Order" msgstr "" @@ -5681,7 +5612,7 @@ msgstr "" #: part/templates/part/import_wizard/match_fields.html:35 #: templates/patterns/wizard/match_fields.html:34 msgid "File Fields" -msgstr "" +msgstr "Champs fichier" #: order/templates/order/order_wizard/match_fields.html:42 #: part/templates/part/import_wizard/ajax_match_fields.html:35 @@ -5707,8 +5638,8 @@ msgstr "Dupliquer la sélection" #: templates/js/translated/build.js:1629 #: templates/js/translated/purchase_order.js:696 #: templates/js/translated/purchase_order.js:1236 -#: templates/js/translated/return_order.js:506 -#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/return_order.js:505 +#: templates/js/translated/sales_order.js:1145 #: templates/js/translated/stock.js:714 templates/js/translated/stock.js:883 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -5752,7 +5683,7 @@ msgstr "" #: order/templates/order/po_sidebar.html:7 msgid "Received Stock" -msgstr "" +msgstr "Réception de Stock" #: order/templates/order/purchase_order_detail.html:18 msgid "Purchase Order Items" @@ -5762,33 +5693,33 @@ msgstr "Articles de la commande d'achat" #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 #: templates/js/translated/purchase_order.js:414 -#: templates/js/translated/return_order.js:459 +#: templates/js/translated/return_order.js:458 #: templates/js/translated/sales_order.js:237 msgid "Add Line Item" -msgstr "" +msgstr "Ajouter un Article de la Chaîne" #: order/templates/order/purchase_order_detail.html:31 #: order/templates/order/purchase_order_detail.html:32 #: order/templates/order/return_order_detail.html:28 #: order/templates/order/return_order_detail.html:29 msgid "Receive Line Items" -msgstr "" +msgstr "Articles de la Chaîne reçus" #: order/templates/order/purchase_order_detail.html:50 #: order/templates/order/return_order_detail.html:45 #: order/templates/order/sales_order_detail.html:41 msgid "Extra Lines" -msgstr "" +msgstr "Lignes supplémentaires" #: order/templates/order/purchase_order_detail.html:56 #: order/templates/order/return_order_detail.html:51 #: order/templates/order/sales_order_detail.html:47 msgid "Add Extra Line" -msgstr "" +msgstr "Ajoutez une Ligne Supplémentaire" #: order/templates/order/purchase_order_detail.html:74 msgid "Received Items" -msgstr "" +msgstr "Articles reçus" #: order/templates/order/purchase_order_detail.html:99 #: order/templates/order/return_order_detail.html:85 @@ -5811,30 +5742,30 @@ msgid "Print packing list" msgstr "" #: order/templates/order/return_order_base.html:138 -#: order/templates/order/sales_order_base.html:151 -#: templates/js/translated/return_order.js:309 -#: templates/js/translated/sales_order.js:797 +#: order/templates/order/sales_order_base.html:155 +#: templates/js/translated/return_order.js:308 +#: templates/js/translated/sales_order.js:833 msgid "Customer Reference" -msgstr "" +msgstr "Référence client" #: order/templates/order/return_order_base.html:195 -#: order/templates/order/sales_order_base.html:235 +#: order/templates/order/sales_order_base.html:239 #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1072 -#: templates/js/translated/purchase_order.js:1753 -#: templates/js/translated/return_order.js:381 -#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/purchase_order.js:1752 +#: templates/js/translated/return_order.js:380 +#: templates/js/translated/sales_order.js:891 msgid "Total Cost" -msgstr "" +msgstr "Coût total" -#: order/templates/order/return_order_base.html:263 +#: order/templates/order/return_order_base.html:259 msgid "Return Order QR Code" msgstr "" -#: order/templates/order/return_order_base.html:275 +#: order/templates/order/return_order_base.html:271 msgid "Link Barcode to Return Order" msgstr "" @@ -5852,25 +5783,30 @@ msgid "Ship Items" msgstr "" #: order/templates/order/sales_order_base.html:92 -#: templates/js/translated/sales_order.js:484 +#: order/templates/order/sales_order_base.html:93 +msgid "Mark As Shipped" +msgstr "" + +#: order/templates/order/sales_order_base.html:96 +#: templates/js/translated/sales_order.js:536 msgid "Complete Sales Order" msgstr "" -#: order/templates/order/sales_order_base.html:131 +#: order/templates/order/sales_order_base.html:135 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:169 +#: order/templates/order/sales_order_base.html:173 #: order/templates/order/sales_order_detail.html:99 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "" -#: order/templates/order/sales_order_base.html:312 +#: order/templates/order/sales_order_base.html:321 msgid "Sales Order QR Code" msgstr "" -#: order/templates/order/sales_order_base.html:324 +#: order/templates/order/sales_order_base.html:333 msgid "Link Barcode to Sales Order" msgstr "" @@ -5886,7 +5822,7 @@ msgstr "Expéditions en attente" #: order/templates/order/sales_order_detail.html:71 #: templates/js/translated/bom.js:1277 templates/js/translated/filters.js:296 msgid "Actions" -msgstr "" +msgstr "Actions" #: order/templates/order/sales_order_detail.html:80 msgid "New Shipment" @@ -5914,929 +5850,947 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:404 part/models.py:3921 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:406 part/models.py:3964 part/stocktake.py:218 #: stock/admin.py:153 msgid "Part ID" msgstr "ID de composant" -#: part/admin.py:41 part/admin.py:411 part/models.py:3922 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:413 part/models.py:3965 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "Nom de l'article" #: part/admin.py:45 part/stocktake.py:220 msgid "Part Description" -msgstr "" +msgstr "Description pièce" -#: part/admin.py:48 part/models.py:904 part/templates/part/part_base.html:269 -#: report/templates/report/inventree_slr_report.html:103 -#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2341 -#: templates/js/translated/stock.js:2038 +#: part/admin.py:48 part/models.py:947 part/templates/part/part_base.html:269 +#: report/templates/report/inventree_stock_location_report.html:103 +#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 +#: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:913 part/templates/part/part_base.html:277 -#: report/models.py:195 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2347 +#: part/admin.py:50 part/models.py:956 part/templates/part/part_base.html:277 +#: report/models.py:161 templates/js/translated/part.js:1231 +#: templates/js/translated/part.js:2346 msgid "Revision" msgstr "Révision" -#: part/admin.py:53 part/admin.py:317 part/models.py:886 +#: part/admin.py:53 part/admin.py:319 part/models.py:929 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "Mots-clés" #: part/admin.py:60 msgid "Part Image" -msgstr "" +msgstr "Image pièce" -#: part/admin.py:63 part/admin.py:300 part/stocktake.py:221 +#: part/admin.py:63 part/admin.py:302 part/stocktake.py:221 msgid "Category ID" -msgstr "" +msgstr "ID catégorie" -#: part/admin.py:67 part/admin.py:302 part/stocktake.py:222 +#: part/admin.py:67 part/admin.py:304 part/stocktake.py:222 msgid "Category Name" -msgstr "" +msgstr "Nom catégorie" -#: part/admin.py:71 part/admin.py:314 +#: part/admin.py:71 part/admin.py:316 msgid "Default Location ID" -msgstr "" +msgstr "ID Emplacement par défaut" #: part/admin.py:76 msgid "Default Supplier ID" -msgstr "" +msgstr "ID Fournisseur par défaut" -#: part/admin.py:81 part/models.py:872 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:915 part/templates/part/part_base.html:177 msgid "Variant Of" -msgstr "" +msgstr "Variante de" -#: part/admin.py:84 part/models.py:1000 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1043 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "Stock Minimum" #: part/admin.py:138 part/templates/part/part_sidebar.html:27 msgid "Used In" -msgstr "" +msgstr "Utilisé pour" #: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:231 #: templates/js/translated/part.js:714 templates/js/translated/part.js:2152 msgid "Building" -msgstr "" +msgstr "Construction" -#: part/admin.py:155 part/models.py:3080 part/models.py:3094 +#: part/admin.py:155 part/models.py:3123 part/models.py:3137 #: templates/js/translated/part.js:969 msgid "Minimum Cost" -msgstr "" +msgstr "Coût minimal" -#: part/admin.py:158 part/models.py:3087 part/models.py:3101 +#: part/admin.py:158 part/models.py:3130 part/models.py:3144 #: templates/js/translated/part.js:979 msgid "Maximum Cost" -msgstr "" +msgstr "Coût maximal" -#: part/admin.py:306 part/admin.py:393 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:211 msgid "Parent ID" msgstr "" -#: part/admin.py:310 part/admin.py:400 stock/admin.py:62 +#: part/admin.py:312 part/admin.py:402 stock/admin.py:62 msgid "Parent Name" msgstr "" -#: part/admin.py:318 part/templates/part/category.html:88 +#: part/admin.py:320 part/templates/part/category.html:88 #: part/templates/part/category.html:101 msgid "Category Path" -msgstr "" +msgstr "Chemin catégorie" -#: part/admin.py:323 part/models.py:391 part/serializers.py:117 +#: part/admin.py:325 part/models.py:393 part/serializers.py:117 #: part/serializers.py:272 part/serializers.py:391 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2803 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "Pièces" -#: part/admin.py:384 +#: part/admin.py:386 msgid "BOM Level" msgstr "" -#: part/admin.py:387 +#: part/admin.py:389 msgid "BOM Item ID" msgstr "" -#: part/admin.py:397 +#: part/admin.py:399 msgid "Parent IPN" msgstr "" -#: part/admin.py:408 part/models.py:3923 +#: part/admin.py:410 part/models.py:3966 msgid "Part IPN" msgstr "" -#: part/admin.py:421 part/serializers.py:1261 +#: part/admin.py:423 part/serializers.py:1276 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "Prix Minimum" -#: part/admin.py:426 part/serializers.py:1276 +#: part/admin.py:428 part/serializers.py:1291 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "Prix Maximum" -#: part/api.py:119 +#: part/api.py:112 msgid "Starred" msgstr "" -#: part/api.py:121 +#: part/api.py:114 msgid "Filter by starred categories" msgstr "" -#: part/api.py:138 stock/api.py:284 +#: part/api.py:131 stock/api.py:318 msgid "Depth" -msgstr "" +msgstr "Profondeur" -#: part/api.py:138 +#: part/api.py:131 msgid "Filter by category depth" msgstr "" -#: part/api.py:156 stock/api.py:302 +#: part/api.py:149 stock/api.py:336 msgid "Cascade" msgstr "" -#: part/api.py:158 +#: part/api.py:151 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:178 +#: part/api.py:171 msgid "Parent" msgstr "" -#: part/api.py:180 +#: part/api.py:173 msgid "Filter by parent category" msgstr "" -#: part/api.py:213 +#: part/api.py:206 msgid "Exclude Tree" msgstr "" -#: part/api.py:215 +#: part/api.py:208 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:461 +#: part/api.py:455 msgid "Has Results" msgstr "" -#: part/api.py:628 +#: part/api.py:622 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:646 +#: part/api.py:640 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:662 +#: part/api.py:656 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:746 +#: part/api.py:740 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:893 +#: part/api.py:887 msgid "Valid" -msgstr "" +msgstr "Valide" -#: part/api.py:894 +#: part/api.py:888 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:900 +#: part/api.py:894 msgid "This option must be selected" msgstr "" -#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866 -#: part/serializers.py:406 part/serializers.py:1117 -#: part/templates/part/part_base.html:260 stock/api.py:745 +#: part/api.py:1111 +msgid "BOM Valid" +msgstr "" + +#: part/api.py:1515 part/models.py:939 part/models.py:3429 part/models.py:3909 +#: part/serializers.py:406 part/serializers.py:1132 +#: part/templates/part/part_base.html:260 stock/api.py:779 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2377 +#: templates/js/translated/part.js:2376 msgid "Category" msgstr "Catégorie" -#: part/api.py:1849 +#: part/api.py:1803 msgid "Uses" -msgstr "" +msgstr "Utilise" -#: part/bom.py:170 part/models.py:101 part/models.py:939 +#: part/bom.py:170 part/models.py:102 part/models.py:982 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" -msgstr "" +msgstr "Emplacement par défaut" -#: part/bom.py:171 part/serializers.py:822 +#: part/bom.py:171 part/serializers.py:837 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" -msgstr "" +msgstr "Stock total" #: part/forms.py:49 msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:82 part/models.py:3867 part/templates/part/category.html:16 +#: part/models.py:83 part/models.py:3910 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Catégorie de composant" -#: part/models.py:83 part/templates/part/category.html:136 +#: part/models.py:84 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "Catégories de composants" -#: part/models.py:102 +#: part/models.py:103 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:107 stock/models.py:165 templates/js/translated/part.js:2810 -#: templates/js/translated/stock.js:2775 +#: part/models.py:108 stock/models.py:177 templates/js/translated/part.js:2809 +#: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" -msgstr "" +msgstr "Structurel" -#: part/models.py:109 +#: part/models.py:110 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:118 -msgid "Default keywords" -msgstr "" - #: part/models.py:119 +msgid "Default keywords" +msgstr "Mots-clés par défaut" + +#: part/models.py:120 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:125 stock/models.py:89 stock/models.py:148 +#: part/models.py:126 stock/models.py:89 stock/models.py:160 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:126 stock/models.py:149 +#: part/models.py:127 stock/models.py:161 msgid "Icon (optional)" msgstr "" -#: part/models.py:148 +#: part/models.py:149 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:484 +#: part/models.py:482 +msgid "Cannot delete this part as it is still active" +msgstr "" + +#: part/models.py:489 +msgid "Cannot delete this part as it is used in an assembly" +msgstr "" + +#: part/models.py:527 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:532 part/models.py:539 +#: part/models.py:575 part/models.py:582 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:551 +#: part/models.py:594 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:616 +#: part/models.py:659 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:696 +#: part/models.py:739 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:801 +#: part/models.py:844 msgid "Duplicate IPN not allowed in part settings" msgstr "IPN dupliqué non autorisé dans les paramètres de la pièce" -#: part/models.py:811 +#: part/models.py:854 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:826 +#: part/models.py:869 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:855 part/models.py:3922 +#: part/models.py:898 part/models.py:3965 msgid "Part name" msgstr "Nom de l'article" -#: part/models.py:860 +#: part/models.py:903 msgid "Is Template" msgstr "" -#: part/models.py:861 +#: part/models.py:904 msgid "Is this part a template part?" msgstr "" -#: part/models.py:871 +#: part/models.py:914 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:879 +#: part/models.py:922 msgid "Part description (optional)" msgstr "" -#: part/models.py:887 +#: part/models.py:930 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:897 +#: part/models.py:940 msgid "Part category" msgstr "Catégorie de la pièce" -#: part/models.py:905 +#: part/models.py:948 msgid "Internal Part Number" msgstr "" -#: part/models.py:912 +#: part/models.py:955 msgid "Part revision or version number" msgstr "" -#: part/models.py:937 +#: part/models.py:980 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:983 part/templates/part/part_base.html:376 +#: part/models.py:1026 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:984 +#: part/models.py:1027 msgid "Default supplier part" msgstr "" -#: part/models.py:991 +#: part/models.py:1034 msgid "Default Expiry" msgstr "" -#: part/models.py:992 +#: part/models.py:1035 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1001 +#: part/models.py:1044 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1010 +#: part/models.py:1053 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1017 +#: part/models.py:1060 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1023 +#: part/models.py:1066 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1029 +#: part/models.py:1072 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1035 +#: part/models.py:1078 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1041 +#: part/models.py:1084 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1045 +#: part/models.py:1088 msgid "Is this part active?" -msgstr "" +msgstr "Est-ce que cette pièce est active ?" -#: part/models.py:1051 +#: part/models.py:1094 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1057 +#: part/models.py:1100 msgid "BOM checksum" msgstr "" -#: part/models.py:1058 +#: part/models.py:1101 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1066 +#: part/models.py:1109 msgid "BOM checked by" msgstr "" -#: part/models.py:1071 +#: part/models.py:1114 msgid "BOM checked date" msgstr "" -#: part/models.py:1087 +#: part/models.py:1130 msgid "Creation User" -msgstr "" +msgstr "Création Utilisateur" -#: part/models.py:1097 +#: part/models.py:1140 msgid "Owner responsible for this part" -msgstr "" +msgstr "Propriétaire responsable de cette pièce" -#: part/models.py:1102 part/templates/part/part_base.html:339 +#: part/models.py:1145 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 -#: templates/js/translated/part.js:2471 +#: templates/js/translated/part.js:2470 msgid "Last Stocktake" msgstr "" -#: part/models.py:1975 +#: part/models.py:2018 msgid "Sell multiple" msgstr "Ventes multiples" -#: part/models.py:2994 +#: part/models.py:3037 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3010 +#: part/models.py:3053 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3011 +#: part/models.py:3054 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3017 +#: part/models.py:3060 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3018 +#: part/models.py:3061 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3024 +#: part/models.py:3067 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3025 +#: part/models.py:3068 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3031 +#: part/models.py:3074 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3032 +#: part/models.py:3075 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3038 +#: part/models.py:3081 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3039 +#: part/models.py:3082 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3045 +#: part/models.py:3088 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3046 +#: part/models.py:3089 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3052 +#: part/models.py:3095 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3053 +#: part/models.py:3096 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3059 +#: part/models.py:3102 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3060 +#: part/models.py:3103 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3066 +#: part/models.py:3109 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3067 +#: part/models.py:3110 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3073 +#: part/models.py:3116 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3074 +#: part/models.py:3117 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3081 +#: part/models.py:3124 msgid "Override minimum cost" msgstr "" -#: part/models.py:3088 +#: part/models.py:3131 msgid "Override maximum cost" msgstr "" -#: part/models.py:3095 +#: part/models.py:3138 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3102 +#: part/models.py:3145 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3108 +#: part/models.py:3151 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3109 +#: part/models.py:3152 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3115 +#: part/models.py:3158 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3116 +#: part/models.py:3159 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3122 +#: part/models.py:3165 msgid "Minimum Sale Cost" -msgstr "" +msgstr "Coût minimum de vente" -#: part/models.py:3123 +#: part/models.py:3166 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3129 +#: part/models.py:3172 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3130 +#: part/models.py:3173 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3149 +#: part/models.py:3192 msgid "Part for stocktake" msgstr "" -#: part/models.py:3154 +#: part/models.py:3197 msgid "Item Count" msgstr "" -#: part/models.py:3155 +#: part/models.py:3198 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3163 +#: part/models.py:3206 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3167 part/models.py:3250 +#: part/models.py:3210 part/models.py:3293 #: part/templates/part/part_scheduling.html:13 -#: report/templates/report/inventree_test_report_base.html:106 +#: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 #: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 -#: templates/js/translated/purchase_order.js:1732 -#: templates/js/translated/stock.js:2824 +#: templates/js/translated/purchase_order.js:1731 +#: templates/js/translated/stock.js:2821 msgid "Date" msgstr "" -#: part/models.py:3168 +#: part/models.py:3211 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3176 +#: part/models.py:3219 msgid "Additional notes" msgstr "Notes additionnelles" -#: part/models.py:3186 +#: part/models.py:3229 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3192 +#: part/models.py:3235 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3193 +#: part/models.py:3236 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3199 +#: part/models.py:3242 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3200 +#: part/models.py:3243 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3256 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3299 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3257 +#: part/models.py:3300 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3262 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3305 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3263 +#: part/models.py:3306 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3273 +#: part/models.py:3316 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3435 +#: part/models.py:3478 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3446 +#: part/models.py:3489 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3457 +#: part/models.py:3500 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3474 templates/js/translated/part.js:2879 +#: part/models.py:3517 templates/js/translated/part.js:2878 msgid "Test Name" msgstr "Nom de test" -#: part/models.py:3475 +#: part/models.py:3518 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3481 +#: part/models.py:3524 msgid "Test Key" msgstr "" -#: part/models.py:3482 +#: part/models.py:3525 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3489 +#: part/models.py:3532 msgid "Test Description" msgstr "" -#: part/models.py:3490 +#: part/models.py:3533 msgid "Enter description for this test" msgstr "" -#: part/models.py:3494 +#: part/models.py:3537 report/models.py:208 +#: templates/js/translated/part.js:2899 +#: templates/js/translated/table_filters.js:481 +msgid "Enabled" +msgstr "Activé" + +#: part/models.py:3537 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3499 templates/js/translated/part.js:2908 +#: part/models.py:3542 templates/js/translated/part.js:2907 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "Requis" -#: part/models.py:3500 +#: part/models.py:3543 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3505 templates/js/translated/part.js:2916 +#: part/models.py:3548 templates/js/translated/part.js:2915 msgid "Requires Value" msgstr "Valeur requise" -#: part/models.py:3506 +#: part/models.py:3549 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3511 templates/js/translated/part.js:2923 +#: part/models.py:3554 templates/js/translated/part.js:2922 msgid "Requires Attachment" msgstr "" -#: part/models.py:3513 +#: part/models.py:3556 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3560 +#: part/models.py:3603 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3565 +#: part/models.py:3608 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3585 +#: part/models.py:3628 msgid "Choices must be unique" msgstr "" -#: part/models.py:3602 +#: part/models.py:3645 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3617 +#: part/models.py:3660 msgid "Parameter Name" msgstr "" -#: part/models.py:3624 +#: part/models.py:3667 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3632 +#: part/models.py:3675 msgid "Parameter description" msgstr "" -#: part/models.py:3638 templates/js/translated/part.js:1627 +#: part/models.py:3681 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3639 +#: part/models.py:3682 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3644 templates/js/translated/part.js:1636 +#: part/models.py:3687 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3645 +#: part/models.py:3688 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3722 +#: part/models.py:3765 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3765 +#: part/models.py:3808 msgid "Parent Part" msgstr "" -#: part/models.py:3773 part/models.py:3874 part/models.py:3875 +#: part/models.py:3816 part/models.py:3917 part/models.py:3918 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3778 +#: part/models.py:3821 msgid "Data" msgstr "Données" -#: part/models.py:3779 +#: part/models.py:3822 msgid "Parameter Value" msgstr "" -#: part/models.py:3881 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3924 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "Valeur par Défaut" -#: part/models.py:3882 +#: part/models.py:3925 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3920 +#: part/models.py:3963 msgid "Part ID or part name" msgstr "" -#: part/models.py:3921 +#: part/models.py:3964 msgid "Unique part ID value" msgstr "" -#: part/models.py:3923 +#: part/models.py:3966 msgid "Part IPN value" msgstr "" -#: part/models.py:3924 +#: part/models.py:3967 msgid "Level" msgstr "" -#: part/models.py:3924 +#: part/models.py:3967 msgid "BOM level" msgstr "" -#: part/models.py:4014 +#: part/models.py:4057 msgid "Select parent part" msgstr "" -#: part/models.py:4024 +#: part/models.py:4067 msgid "Sub part" msgstr "" -#: part/models.py:4025 +#: part/models.py:4068 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4036 +#: part/models.py:4079 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4042 +#: part/models.py:4085 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4048 +#: part/models.py:4091 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4055 part/templates/part/upload_bom.html:55 +#: part/models.py:4098 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Surplus" -#: part/models.py:4056 +#: part/models.py:4099 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4063 +#: part/models.py:4106 msgid "BOM item reference" msgstr "" -#: part/models.py:4071 +#: part/models.py:4114 msgid "BOM item notes" msgstr "" -#: part/models.py:4077 +#: part/models.py:4120 msgid "Checksum" msgstr "" -#: part/models.py:4078 +#: part/models.py:4121 msgid "BOM line checksum" msgstr "" -#: part/models.py:4083 templates/js/translated/table_filters.js:174 +#: part/models.py:4126 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "Validée" -#: part/models.py:4084 +#: part/models.py:4127 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4089 part/templates/part/upload_bom.html:57 +#: part/models.py:4132 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4090 +#: part/models.py:4133 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4095 part/templates/part/upload_bom.html:56 +#: part/models.py:4138 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4096 +#: part/models.py:4139 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4181 stock/models.py:647 +#: part/models.py:4224 stock/models.py:668 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4191 part/models.py:4193 +#: part/models.py:4234 part/models.py:4236 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4333 +#: part/models.py:4376 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4354 +#: part/models.py:4397 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4367 +#: part/models.py:4410 msgid "Parent BOM item" msgstr "" -#: part/models.py:4375 +#: part/models.py:4418 msgid "Substitute part" msgstr "" -#: part/models.py:4391 +#: part/models.py:4434 msgid "Part 1" msgstr "" -#: part/models.py:4399 +#: part/models.py:4442 msgid "Part 2" msgstr "" -#: part/models.py:4400 +#: part/models.py:4443 msgid "Select Related Part" msgstr "" -#: part/models.py:4419 +#: part/models.py:4462 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4424 +#: part/models.py:4467 msgid "Duplicate relationship already exists" msgstr "" @@ -6854,7 +6808,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:406 +#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:535 msgid "Purchase currency of this stock item" msgstr "Devise d'achat de l'item" @@ -6870,299 +6824,299 @@ msgstr "" msgid "Select category" msgstr "" -#: part/serializers.py:437 +#: part/serializers.py:442 msgid "Original Part" msgstr "" -#: part/serializers.py:438 +#: part/serializers.py:443 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:448 msgid "Copy Image" msgstr "Copier l'image" -#: part/serializers.py:444 +#: part/serializers.py:449 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:450 part/templates/part/detail.html:277 +#: part/serializers.py:455 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:451 +#: part/serializers.py:456 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:462 msgid "Copy Parameters" msgstr "Copier les paramètres" -#: part/serializers.py:458 +#: part/serializers.py:463 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:464 +#: part/serializers.py:469 msgid "Copy Notes" msgstr "" -#: part/serializers.py:465 +#: part/serializers.py:470 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:478 +#: part/serializers.py:488 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:490 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:487 +#: part/serializers.py:497 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:488 +#: part/serializers.py:498 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:500 +#: part/serializers.py:515 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:531 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:526 +#: part/serializers.py:541 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:533 +#: part/serializers.py:548 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:542 +#: part/serializers.py:557 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:553 +#: part/serializers.py:568 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:560 +#: part/serializers.py:575 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:823 +#: part/serializers.py:838 msgid "External Stock" msgstr "" -#: part/serializers.py:825 +#: part/serializers.py:840 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:828 +#: part/serializers.py:843 msgid "Variant Stock" msgstr "" -#: part/serializers.py:856 part/templates/part/copy_part.html:9 +#: part/serializers.py:871 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:857 +#: part/serializers.py:872 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:863 templates/js/translated/part.js:102 +#: part/serializers.py:878 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:864 +#: part/serializers.py:879 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:870 +#: part/serializers.py:885 msgid "Supplier Information" msgstr "" -#: part/serializers.py:871 +#: part/serializers.py:886 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:879 +#: part/serializers.py:894 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:880 +#: part/serializers.py:895 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:885 +#: part/serializers.py:900 msgid "Existing Image" msgstr "" -#: part/serializers.py:886 +#: part/serializers.py:901 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:918 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1109 +#: part/serializers.py:1124 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1119 +#: part/serializers.py:1134 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1129 +#: part/serializers.py:1144 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1135 +#: part/serializers.py:1150 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1136 +#: part/serializers.py:1151 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1141 +#: part/serializers.py:1156 msgid "Generate Report" msgstr "" -#: part/serializers.py:1142 +#: part/serializers.py:1157 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1147 +#: part/serializers.py:1162 msgid "Update Parts" msgstr "" -#: part/serializers.py:1148 +#: part/serializers.py:1163 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1156 +#: part/serializers.py:1171 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1262 +#: part/serializers.py:1277 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1269 +#: part/serializers.py:1284 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1277 +#: part/serializers.py:1292 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1284 +#: part/serializers.py:1299 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1313 +#: part/serializers.py:1328 msgid "Update" msgstr "" -#: part/serializers.py:1314 +#: part/serializers.py:1329 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1337 +#: part/serializers.py:1352 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1344 +#: part/serializers.py:1359 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1347 +#: part/serializers.py:1362 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1714 +#: part/serializers.py:1729 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1722 +#: part/serializers.py:1737 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1723 +#: part/serializers.py:1738 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1728 +#: part/serializers.py:1743 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1729 +#: part/serializers.py:1744 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1734 +#: part/serializers.py:1749 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1735 +#: part/serializers.py:1750 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1755 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1756 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1775 +#: part/serializers.py:1790 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1776 +#: part/serializers.py:1791 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1806 +#: part/serializers.py:1821 msgid "No part column specified" msgstr "" -#: part/serializers.py:1850 +#: part/serializers.py:1865 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1853 +#: part/serializers.py:1868 msgid "No matching part found" msgstr "" -#: part/serializers.py:1856 +#: part/serializers.py:1871 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1865 +#: part/serializers.py:1880 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1888 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1894 +#: part/serializers.py:1909 msgid "At least one BOM item is required" msgstr "" #: part/stocktake.py:224 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:2085 +#: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" @@ -7314,7 +7268,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2218 users/models.py:204 +#: templates/js/translated/stock.js:2216 users/models.py:204 msgid "Stocktake" msgstr "Prise d'inventaire" @@ -7412,15 +7366,15 @@ msgstr "" msgid "Part Manufacturers" msgstr "Fabricants de composants" -#: part/templates/part/detail.html:659 +#: part/templates/part/detail.html:655 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:667 +#: part/templates/part/detail.html:663 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:752 +#: part/templates/part/detail.html:748 msgid "Add Test Result Template" msgstr "" @@ -7479,7 +7433,7 @@ msgstr "" #: part/templates/part/part_base.html:52 #: stock/templates/stock/item_base.html:62 -#: stock/templates/stock/location.html:74 +#: stock/templates/stock/location.html:74 templates/js/translated/label.js:142 msgid "Print Label" msgstr "Impression étiquette" @@ -7501,7 +7455,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2293 +#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2292 msgid "Part actions" msgstr "" @@ -7550,7 +7504,7 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:163 -#: part/templates/part/part_base.html:682 +#: part/templates/part/part_base.html:681 msgid "Show Part Details" msgstr "" @@ -7573,7 +7527,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2444 +#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2443 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7596,19 +7550,19 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:512 +#: part/templates/part/part_base.html:511 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:529 +#: part/templates/part/part_base.html:528 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:580 +#: part/templates/part/part_base.html:579 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:676 +#: part/templates/part/part_base.html:675 msgid "Hide Part Details" msgstr "" @@ -7667,8 +7621,8 @@ msgstr "" #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 -#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 -#: templates/js/translated/stock.js:2072 templates/navbar.html:31 +#: templates/js/translated/part.js:2391 templates/js/translated/stock.js:1059 +#: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7714,7 +7668,7 @@ msgstr "Modifier" #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 -#: templates/js/translated/stock.js:2248 +#: templates/js/translated/stock.js:2246 msgid "Last Updated" msgstr "" @@ -7786,7 +7740,7 @@ msgid "Update Pricing" msgstr "" #: part/templates/part/stock_count.html:7 -#: templates/js/translated/model_renderers.js:221 +#: templates/js/translated/model_renderers.js:227 #: templates/js/translated/part.js:704 templates/js/translated/part.js:2140 #: templates/js/translated/part.js:2142 msgid "No Stock" @@ -7866,7 +7820,7 @@ msgstr "" msgid "Part Pricing" msgstr "" -#: plugin/api.py:168 +#: plugin/api.py:170 msgid "Plugin cannot be deleted as it is currently active" msgstr "" @@ -7933,7 +7887,7 @@ msgid "Stock item does not match line item" msgstr "" #: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2589 -#: templates/js/translated/sales_order.js:1917 +#: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "" @@ -8027,22 +7981,18 @@ msgstr "" msgid "Quantity to allocate" msgstr "" -#: plugin/base/label/label.py:39 +#: plugin/base/label/label.py:39 templates/js/translated/label.js:154 msgid "Label printing failed" msgstr "" -#: plugin/base/label/mixins.py:63 +#: plugin/base/label/mixins.py:56 msgid "Error rendering label to PDF" msgstr "" -#: plugin/base/label/mixins.py:76 +#: plugin/base/label/mixins.py:70 msgid "Error rendering label to HTML" msgstr "" -#: plugin/base/label/mixins.py:111 -msgid "Error rendering label to PNG" -msgstr "" - #: plugin/builtin/barcodes/inventree_barcode.py:25 msgid "InvenTree Barcodes" msgstr "" @@ -8054,7 +8004,7 @@ msgstr "" #: plugin/builtin/barcodes/inventree_barcode.py:28 #: plugin/builtin/integration/core_notifications.py:35 #: plugin/builtin/integration/currency_exchange.py:21 -#: plugin/builtin/labels/inventree_label.py:23 +#: plugin/builtin/labels/inventree_label.py:22 #: plugin/builtin/labels/inventree_machine.py:64 #: plugin/builtin/labels/label_sheet.py:63 #: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 @@ -8108,19 +8058,19 @@ msgstr "" msgid "Default currency exchange integration" msgstr "" -#: plugin/builtin/labels/inventree_label.py:20 +#: plugin/builtin/labels/inventree_label.py:19 msgid "InvenTree PDF label printer" msgstr "" -#: plugin/builtin/labels/inventree_label.py:21 +#: plugin/builtin/labels/inventree_label.py:20 msgid "Provides native support for printing PDF labels" msgstr "" -#: plugin/builtin/labels/inventree_label.py:29 +#: plugin/builtin/labels/inventree_label.py:28 msgid "Debug mode" msgstr "" -#: plugin/builtin/labels/inventree_label.py:30 +#: plugin/builtin/labels/inventree_label.py:29 msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "" @@ -8132,11 +8082,11 @@ msgstr "" msgid "Provides support for printing using a machine" msgstr "" -#: plugin/builtin/labels/inventree_machine.py:150 +#: plugin/builtin/labels/inventree_machine.py:151 msgid "last used" msgstr "" -#: plugin/builtin/labels/inventree_machine.py:167 +#: plugin/builtin/labels/inventree_machine.py:168 msgid "Options" msgstr "" @@ -8160,7 +8110,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:47 report/models.py:209 +#: plugin/builtin/labels/label_sheet.py:47 report/models.py:308 msgid "Landscape" msgstr "" @@ -8176,11 +8126,11 @@ msgstr "" msgid "Arrays multiple labels onto a single sheet" msgstr "" -#: plugin/builtin/labels/label_sheet.py:94 +#: plugin/builtin/labels/label_sheet.py:99 msgid "Label is too large for page size" msgstr "" -#: plugin/builtin/labels/label_sheet.py:128 +#: plugin/builtin/labels/label_sheet.py:133 msgid "No labels were generated" msgstr "" @@ -8273,61 +8223,62 @@ msgstr "" msgid "Uninstalled plugin successfully" msgstr "" -#: plugin/models.py:30 +#: plugin/models.py:35 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:31 +#: plugin/models.py:36 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:34 users/models.py:100 +#: plugin/models.py:42 users/models.py:100 msgid "Key" msgstr "" -#: plugin/models.py:34 +#: plugin/models.py:43 msgid "Key of plugin" msgstr "" -#: plugin/models.py:42 +#: plugin/models.py:51 msgid "PluginName of the plugin" msgstr "Non du Plugin" -#: plugin/models.py:49 plugin/serializers.py:90 +#: plugin/models.py:58 plugin/serializers.py:90 msgid "Package Name" msgstr "" -#: plugin/models.py:51 +#: plugin/models.py:60 msgid "Name of the installed package, if the plugin was installed via PIP" msgstr "" -#: plugin/models.py:56 +#: plugin/models.py:65 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:147 templates/js/translated/table_filters.js:370 +#: plugin/models.py:156 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "" -#: plugin/models.py:156 +#: plugin/models.py:165 msgid "Sample plugin" msgstr "" -#: plugin/models.py:164 +#: plugin/models.py:173 msgid "Builtin Plugin" msgstr "Extension Intégrée" -#: plugin/models.py:172 +#: plugin/models.py:181 msgid "Package Plugin" msgstr "" -#: plugin/models.py:196 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:205 report/models.py:475 +#: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" msgstr "Extension" -#: plugin/models.py:243 +#: plugin/models.py:252 msgid "Method" msgstr "" @@ -8468,239 +8419,323 @@ msgstr "" msgid "Delete the plugin configuration from the database" msgstr "" -#: report/api.py:158 +#: report/api.py:77 msgid "No valid objects provided to template" msgstr "Aucun objet valide n'a été fourni au modèle" -#: report/api.py:197 report/api.py:234 +#: report/api.py:89 report/serializers.py:53 +msgid "Model Type" +msgstr "" + +#: report/api.py:92 report/models.py:439 report/serializers.py:98 +#: report/serializers.py:148 templates/js/translated/purchase_order.js:1747 +#: templates/js/translated/return_order.js:353 +#: templates/js/translated/sales_order.js:887 +#: templates/js/translated/sales_order.js:1047 +msgid "Items" +msgstr "" + +#: report/api.py:168 +msgid "Plugin not found" +msgstr "" + +#: report/api.py:170 +msgid "Plugin is not active" +msgstr "" + +#: report/api.py:172 +msgid "Plugin does not support label printing" +msgstr "" + +#: report/api.py:221 +msgid "Invalid label dimensions" +msgstr "" + +#: report/api.py:236 report/api.py:316 +msgid "No valid items provided to template" +msgstr "" + +#: report/api.py:271 +msgid "Error printing label" +msgstr "" + +#: report/api.py:362 report/api.py:398 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:319 -msgid "Test report" -msgstr "" - -#: report/helpers.py:15 +#: report/helpers.py:41 msgid "A4" msgstr "" -#: report/helpers.py:16 +#: report/helpers.py:42 msgid "A3" msgstr "" -#: report/helpers.py:17 +#: report/helpers.py:43 msgid "Legal" msgstr "" -#: report/helpers.py:18 +#: report/helpers.py:44 msgid "Letter" msgstr "" -#: report/models.py:177 +#: report/models.py:118 +msgid "Template file with this name already exists" +msgstr "" + +#: report/models.py:150 msgid "Template name" msgstr "Nom du modèle" -#: report/models.py:183 -msgid "Report template file" +#: report/models.py:156 +msgid "Template description" msgstr "" -#: report/models.py:190 -msgid "Report template description" +#: report/models.py:162 +msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:196 -msgid "Report revision number (auto-increments)" +#: report/models.py:202 +msgid "Filename Pattern" +msgstr "Modèle de nom de fichier" + +#: report/models.py:203 +msgid "Pattern for generating filenames" msgstr "" -#: report/models.py:204 +#: report/models.py:208 +msgid "Template is enabled" +msgstr "" + +#: report/models.py:214 +msgid "Target model type for template" +msgstr "" + +#: report/models.py:234 +msgid "Filters" +msgstr "Filtres" + +#: report/models.py:235 +msgid "Template query filters (comma-separated list of key=value pairs)" +msgstr "" + +#: report/models.py:295 report/models.py:362 +msgid "Template file" +msgstr "" + +#: report/models.py:303 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:210 +#: report/models.py:309 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:318 -msgid "Pattern for generating report filenames" +#: report/models.py:368 +msgid "Width [mm]" +msgstr "Largeur [mm]" + +#: report/models.py:369 +msgid "Label width, specified in mm" +msgstr "Largeur de l'étiquette, spécifiée en mm" + +#: report/models.py:375 +msgid "Height [mm]" +msgstr "Hauteur [mm]" + +#: report/models.py:376 +msgid "Label height, specified in mm" +msgstr "Hauteur de l'étiquette, spécifiée en mm" + +#: report/models.py:439 +msgid "Number of items to process" msgstr "" -#: report/models.py:325 -msgid "Report template is enabled" +#: report/models.py:445 +msgid "Report generation is complete" msgstr "" -#: report/models.py:347 -msgid "StockItem query filters (comma-separated list of key=value pairs)" +#: report/models.py:449 templates/js/translated/build.js:2177 +msgid "Progress" msgstr "" -#: report/models.py:354 -msgid "Include Installed Tests" +#: report/models.py:449 +msgid "Report generation progress" msgstr "" -#: report/models.py:356 -msgid "Include test results for stock items installed inside assembled item" +#: report/models.py:457 +msgid "Report Template" msgstr "" -#: report/models.py:424 -msgid "Build Filters" +#: report/models.py:464 report/models.py:487 +msgid "Output File" msgstr "" -#: report/models.py:425 -msgid "Build query filters (comma-separated list of key=value pairs" +#: report/models.py:465 report/models.py:488 +msgid "Generated output file" msgstr "" -#: report/models.py:464 -msgid "Part Filters" -msgstr "Filtres de composants" - -#: report/models.py:465 -msgid "Part query filters (comma-separated list of key=value pairs" +#: report/models.py:476 +msgid "Label output plugin" msgstr "" -#: report/models.py:497 -msgid "Purchase order query filters" +#: report/models.py:480 +msgid "Label Template" msgstr "" -#: report/models.py:533 -msgid "Sales order query filters" -msgstr "" - -#: report/models.py:569 -msgid "Return order query filters" -msgstr "" - -#: report/models.py:641 -msgid "Snippet file with this name already exists" -msgstr "" - -#: report/models.py:648 +#: report/models.py:503 msgid "Snippet" msgstr "Extrait " -#: report/models.py:649 +#: report/models.py:504 msgid "Report snippet file" msgstr "" -#: report/models.py:656 +#: report/models.py:511 msgid "Snippet file description" msgstr "" -#: report/models.py:714 -msgid "Asset file with this name already exists" -msgstr "" - -#: report/models.py:722 +#: report/models.py:529 msgid "Asset" msgstr "Elément" -#: report/models.py:723 +#: report/models.py:530 msgid "Report asset file" msgstr "" -#: report/models.py:730 +#: report/models.py:537 msgid "Asset file description" msgstr "" -#: report/models.py:752 -msgid "stock location query filters (comma-separated list of key=value pairs)" +#: report/serializers.py:91 +msgid "Select report template" +msgstr "" + +#: report/serializers.py:99 report/serializers.py:149 +msgid "List of item primary keys to include in the report" +msgstr "" + +#: report/serializers.py:132 +msgid "Select label template" +msgstr "" + +#: report/serializers.py:140 +msgid "Printing Plugin" +msgstr "" + +#: report/serializers.py:141 +msgid "Select plugin to use for label printing" +msgstr "" + +#: report/templates/label/part_label.html:31 +#: report/templates/label/stockitem_qr.html:21 +#: report/templates/label/stocklocation_qr.html:20 +#: templates/allauth_2fa/setup.html:18 +msgid "QR Code" +msgstr "" + +#: report/templates/label/part_label_code128.html:31 +#: report/templates/label/stocklocation_qr_and_text.html:31 +#: templates/qr_code.html:7 +msgid "QR code" msgstr "" #: report/templates/report/inventree_bill_of_materials_report.html:133 msgid "Materials needed" msgstr "" -#: report/templates/report/inventree_build_order_base.html:146 +#: report/templates/report/inventree_build_order_report.html:146 msgid "Required For" msgstr "Requis pour" -#: report/templates/report/inventree_po_report_base.html:15 +#: report/templates/report/inventree_purchase_order_report.html:15 msgid "Supplier was deleted" msgstr "" -#: report/templates/report/inventree_po_report_base.html:30 -#: report/templates/report/inventree_so_report_base.html:30 +#: report/templates/report/inventree_purchase_order_report.html:30 +#: report/templates/report/inventree_sales_order_report.html:30 #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:834 -#: templates/js/translated/purchase_order.js:2116 -#: templates/js/translated/sales_order.js:1837 +#: templates/js/translated/purchase_order.js:2115 +#: templates/js/translated/sales_order.js:1873 msgid "Unit Price" msgstr "" -#: report/templates/report/inventree_po_report_base.html:55 -#: report/templates/report/inventree_return_order_report_base.html:48 -#: report/templates/report/inventree_so_report_base.html:55 +#: report/templates/report/inventree_purchase_order_report.html:55 +#: report/templates/report/inventree_return_order_report.html:48 +#: report/templates/report/inventree_sales_order_report.html:55 msgid "Extra Line Items" 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:2018 -#: templates/js/translated/sales_order.js:1806 +#: report/templates/report/inventree_purchase_order_report.html:72 +#: report/templates/report/inventree_sales_order_report.html:72 +#: templates/js/translated/purchase_order.js:2017 +#: templates/js/translated/sales_order.js:1842 msgid "Total" msgstr "" -#: report/templates/report/inventree_return_order_report_base.html:25 -#: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:809 stock/templates/stock/item_base.html:311 +#: report/templates/report/inventree_return_order_report.html:25 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:830 +#: stock/serializers.py:150 stock/templates/stock/item_base.html:311 #: templates/js/translated/build.js:519 templates/js/translated/build.js:1367 #: templates/js/translated/build.js:2355 -#: templates/js/translated/model_renderers.js:224 -#: templates/js/translated/return_order.js:540 -#: templates/js/translated/return_order.js:724 +#: templates/js/translated/model_renderers.js:230 +#: templates/js/translated/return_order.js:539 +#: templates/js/translated/return_order.js:723 #: templates/js/translated/sales_order.js:315 -#: templates/js/translated/sales_order.js:1611 -#: templates/js/translated/sales_order.js:1696 +#: templates/js/translated/sales_order.js:1647 +#: templates/js/translated/sales_order.js:1732 #: templates/js/translated/stock.js:596 msgid "Serial Number" msgstr "Numéro de série" -#: report/templates/report/inventree_slr_report.html:97 +#: report/templates/report/inventree_stock_location_report.html:97 msgid "Stock location items" msgstr "" -#: report/templates/report/inventree_test_report_base.html:21 +#: report/templates/report/inventree_test_report.html:21 msgid "Stock Item Test Report" msgstr "" -#: report/templates/report/inventree_test_report_base.html:97 +#: report/templates/report/inventree_test_report.html:97 msgid "Test Results" msgstr "" -#: report/templates/report/inventree_test_report_base.html:102 +#: report/templates/report/inventree_test_report.html:102 #: templates/js/translated/stock.js:1495 msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2442 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2419 msgid "Result" msgstr "Résultat" -#: report/templates/report/inventree_test_report_base.html:130 +#: report/templates/report/inventree_test_report.html:130 msgid "Pass" msgstr "" -#: report/templates/report/inventree_test_report_base.html:132 +#: report/templates/report/inventree_test_report.html:132 msgid "Fail" msgstr "" -#: report/templates/report/inventree_test_report_base.html:139 +#: report/templates/report/inventree_test_report.html:139 msgid "No result (required)" msgstr "" -#: report/templates/report/inventree_test_report_base.html:141 +#: report/templates/report/inventree_test_report.html:141 msgid "No result" msgstr "" -#: report/templates/report/inventree_test_report_base.html:154 +#: report/templates/report/inventree_test_report.html:154 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report_base.html:168 -#: stock/admin.py:162 templates/js/translated/stock.js:700 -#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3113 +#: report/templates/report/inventree_test_report.html:168 stock/admin.py:162 +#: templates/js/translated/stock.js:700 templates/js/translated/stock.js:871 +#: templates/js/translated/stock.js:3110 msgid "Serial" msgstr "Numéro de série" @@ -8757,7 +8792,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:201 stock/models.py:789 +#: stock/admin.py:201 stock/models.py:810 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" @@ -8782,66 +8817,66 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:256 stock/models.py:883 +#: stock/admin.py:256 stock/models.py:904 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2232 users/models.py:124 +#: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" msgstr "" -#: stock/api.py:284 +#: stock/api.py:318 msgid "Filter by location depth" msgstr "" -#: stock/api.py:304 +#: stock/api.py:338 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:325 +#: stock/api.py:359 msgid "Parent Location" msgstr "" -#: stock/api.py:326 +#: stock/api.py:360 msgid "Filter by parent location" msgstr "" -#: stock/api.py:579 templates/js/translated/table_filters.js:427 +#: stock/api.py:613 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:767 +#: stock/api.py:801 msgid "Part Tree" msgstr "" -#: stock/api.py:797 +#: stock/api.py:831 msgid "Expiry date before" msgstr "" -#: stock/api.py:801 +#: stock/api.py:835 msgid "Expiry date after" msgstr "" -#: stock/api.py:804 stock/templates/stock/item_base.html:439 +#: stock/api.py:838 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:891 +#: stock/api.py:925 msgid "Quantity is required" msgstr "" -#: stock/api.py:897 +#: stock/api.py:931 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:928 +#: stock/api.py:962 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:938 +#: stock/api.py:972 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:969 +#: stock/api.py:1003 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8857,477 +8892,517 @@ msgstr "" msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:125 stock/models.py:771 +#: stock/models.py:127 stock/models.py:792 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:126 stock/templates/stock/location.html:179 +#: stock/models.py:128 stock/templates/stock/location.html:186 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "" -#: stock/models.py:158 stock/models.py:932 +#: stock/models.py:170 stock/models.py:953 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "Propriétaire" -#: stock/models.py:159 stock/models.py:933 +#: stock/models.py:171 stock/models.py:954 msgid "Select Owner" msgstr "Sélectionner un propriétaire" -#: stock/models.py:167 +#: stock/models.py:179 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:174 templates/js/translated/stock.js:2784 +#: stock/models.py:186 templates/js/translated/stock.js:2781 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "" -#: stock/models.py:175 +#: stock/models.py:187 msgid "This is an external stock location" msgstr "" -#: stock/models.py:181 templates/js/translated/stock.js:2793 +#: stock/models.py:193 templates/js/translated/stock.js:2790 #: templates/js/translated/table_filters.js:246 msgid "Location type" msgstr "" -#: stock/models.py:185 +#: stock/models.py:197 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:254 +#: stock/models.py:266 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:626 +#: stock/models.py:647 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:653 stock/serializers.py:290 +#: stock/models.py:674 stock/serializers.py:419 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:670 +#: stock/models.py:691 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:680 stock/models.py:693 +#: stock/models.py:701 stock/models.py:714 msgid "Quantity must be 1 for item with a serial number" msgstr "La quantité doit être de 1 pour un article avec un numéro de série" -#: stock/models.py:683 +#: stock/models.py:704 msgid "Serial number cannot be set if quantity greater than 1" msgstr "Le numéro de série ne peut pas être défini si la quantité est supérieure à 1" -#: stock/models.py:707 +#: stock/models.py:728 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:712 +#: stock/models.py:733 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:725 +#: stock/models.py:746 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:741 +#: stock/models.py:762 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:753 +#: stock/models.py:774 msgid "Base part" msgstr "" -#: stock/models.py:763 +#: stock/models.py:784 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:775 +#: stock/models.py:796 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:783 stock/serializers.py:1351 +#: stock/models.py:804 stock/serializers.py:1480 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:794 +#: stock/models.py:815 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:813 +#: stock/models.py:834 msgid "Serial number for this item" msgstr "Numéro de série pour cet article" -#: stock/models.py:827 stock/serializers.py:1334 +#: stock/models.py:848 stock/serializers.py:1463 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:832 +#: stock/models.py:853 msgid "Stock Quantity" msgstr "" -#: stock/models.py:842 +#: stock/models.py:863 msgid "Source Build" msgstr "" -#: stock/models.py:845 +#: stock/models.py:866 msgid "Build for this stock item" msgstr "" -#: stock/models.py:852 stock/templates/stock/item_base.html:363 +#: stock/models.py:873 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:855 +#: stock/models.py:876 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:864 +#: stock/models.py:885 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:868 +#: stock/models.py:889 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:874 +#: stock/models.py:895 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:885 +#: stock/models.py:906 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:903 +#: stock/models.py:924 msgid "Delete on deplete" msgstr "" -#: stock/models.py:904 +#: stock/models.py:925 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:924 +#: stock/models.py:945 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:955 +#: stock/models.py:976 msgid "Converted to part" msgstr "" -#: stock/models.py:1473 +#: stock/models.py:1494 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1479 +#: stock/models.py:1500 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1487 +#: stock/models.py:1508 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1493 +#: stock/models.py:1514 msgid "Serial numbers must be a list of integers" msgstr "Les numéros de série doivent être une liste de nombres entiers" -#: stock/models.py:1498 +#: stock/models.py:1519 msgid "Quantity does not match serial numbers" msgstr "La quantité ne correspond pas au nombre de numéros de série" -#: stock/models.py:1506 stock/serializers.py:529 +#: stock/models.py:1527 stock/serializers.py:658 msgid "Serial numbers already exist" msgstr "Les numéros de série existent déjà" -#: stock/models.py:1603 +#: stock/models.py:1624 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1621 +#: stock/models.py:1642 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1625 +#: stock/models.py:1646 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1628 +#: stock/models.py:1649 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1631 +#: stock/models.py:1652 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1634 +#: stock/models.py:1655 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1637 +#: stock/models.py:1658 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1644 stock/serializers.py:1240 +#: stock/models.py:1665 stock/serializers.py:1369 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1648 +#: stock/models.py:1669 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1656 +#: stock/models.py:1677 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1661 +#: stock/models.py:1682 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1882 +#: stock/models.py:1903 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2345 +#: stock/models.py:2322 msgid "Entry notes" msgstr "" -#: stock/models.py:2410 +#: stock/models.py:2387 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2415 +#: stock/models.py:2392 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2442 +#: stock/models.py:2419 msgid "Test result" msgstr "" -#: stock/models.py:2449 +#: stock/models.py:2426 msgid "Test output value" msgstr "" -#: stock/models.py:2457 +#: stock/models.py:2434 msgid "Test result attachment" msgstr "" -#: stock/models.py:2461 +#: stock/models.py:2438 msgid "Test notes" msgstr "" -#: stock/models.py:2469 templates/js/translated/stock.js:1548 +#: stock/models.py:2446 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "" -#: stock/models.py:2470 +#: stock/models.py:2447 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2476 +#: stock/models.py:2453 msgid "Started" msgstr "" -#: stock/models.py:2477 +#: stock/models.py:2454 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2483 +#: stock/models.py:2460 msgid "Finished" msgstr "" -#: stock/models.py:2484 +#: stock/models.py:2461 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:100 +#: stock/serializers.py:75 +msgid "Generated batch code" +msgstr "" + +#: stock/serializers.py:84 +msgid "Select build order" +msgstr "" + +#: stock/serializers.py:93 +msgid "Select stock item to generate batch code for" +msgstr "" + +#: stock/serializers.py:102 +msgid "Select location to generate batch code for" +msgstr "" + +#: stock/serializers.py:111 +msgid "Select part to generate batch code for" +msgstr "" + +#: stock/serializers.py:120 +msgid "Select purchase order" +msgstr "" + +#: stock/serializers.py:127 +msgid "Enter quantity for batch code" +msgstr "" + +#: stock/serializers.py:150 +msgid "Generated serial number" +msgstr "" + +#: stock/serializers.py:159 +msgid "Select part to generate serial number for" +msgstr "" + +#: stock/serializers.py:167 +msgid "Quantity of serial numbers to generate" +msgstr "" + +#: stock/serializers.py:229 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:119 +#: stock/serializers.py:248 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:151 +#: stock/serializers.py:280 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:184 +#: stock/serializers.py:313 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:282 +#: stock/serializers.py:411 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:402 +#: stock/serializers.py:531 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:464 +#: stock/serializers.py:593 msgid "Enter number of stock items to serialize" msgstr "Entrez le nombre d'articles en stock à sérialiser" -#: stock/serializers.py:477 +#: stock/serializers.py:606 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:484 +#: stock/serializers.py:613 msgid "Enter serial numbers for new items" msgstr "Entrez les numéros de série pour les nouveaux articles" -#: stock/serializers.py:495 stock/serializers.py:1197 stock/serializers.py:1453 +#: stock/serializers.py:624 stock/serializers.py:1326 stock/serializers.py:1582 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:502 +#: stock/serializers.py:631 msgid "Optional note field" msgstr "" -#: stock/serializers.py:512 +#: stock/serializers.py:641 msgid "Serial numbers cannot be assigned to this part" msgstr "Les numéros de série ne peuvent pas être assignés à cette pièce" -#: stock/serializers.py:567 +#: stock/serializers.py:696 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:574 +#: stock/serializers.py:703 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:575 +#: stock/serializers.py:704 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:580 stock/serializers.py:660 stock/serializers.py:756 -#: stock/serializers.py:806 +#: stock/serializers.py:709 stock/serializers.py:789 stock/serializers.py:885 +#: stock/serializers.py:935 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:588 +#: stock/serializers.py:717 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:596 +#: stock/serializers.py:725 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:607 +#: stock/serializers.py:736 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:620 +#: stock/serializers.py:749 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:655 +#: stock/serializers.py:784 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:690 +#: stock/serializers.py:819 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:703 +#: stock/serializers.py:832 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:720 +#: stock/serializers.py:849 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:751 +#: stock/serializers.py:880 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:788 +#: stock/serializers.py:917 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:794 +#: stock/serializers.py:923 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:890 stock/serializers.py:953 +#: stock/serializers.py:1019 stock/serializers.py:1082 #: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:213 +#: stock/templates/stock/location.html:220 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1069 +#: stock/serializers.py:1198 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1073 +#: stock/serializers.py:1202 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1077 +#: stock/serializers.py:1206 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1101 +#: stock/serializers.py:1230 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1107 +#: stock/serializers.py:1236 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1115 +#: stock/serializers.py:1244 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1125 stock/serializers.py:1379 +#: stock/serializers.py:1254 stock/serializers.py:1508 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1204 +#: stock/serializers.py:1333 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1209 +#: stock/serializers.py:1338 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1210 +#: stock/serializers.py:1339 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1215 +#: stock/serializers.py:1344 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1216 +#: stock/serializers.py:1345 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1226 +#: stock/serializers.py:1355 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1293 +#: stock/serializers.py:1422 msgid "No Change" msgstr "" -#: stock/serializers.py:1322 +#: stock/serializers.py:1451 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1341 +#: stock/serializers.py:1470 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1369 +#: stock/serializers.py:1498 msgid "Stock transaction notes" msgstr "" @@ -9352,7 +9427,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:286 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:282 msgid "Delete Test Data" msgstr "" @@ -9368,15 +9443,15 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3274 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3271 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:274 +#: stock/templates/stock/item.html:270 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:304 templates/js/translated/stock.js:1701 +#: stock/templates/stock/item.html:300 templates/js/translated/stock.js:1701 msgid "Add Test Result" msgstr "" @@ -9561,40 +9636,40 @@ msgstr "" msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:507 -#: templates/js/translated/stock.js:1954 +#: stock/templates/stock/item_base.html:504 +#: templates/js/translated/stock.js:1952 msgid "stock item" msgstr "" -#: stock/templates/stock/item_base.html:532 +#: stock/templates/stock/item_base.html:527 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:541 +#: stock/templates/stock/item_base.html:536 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:552 +#: stock/templates/stock/item_base.html:547 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:616 +#: stock/templates/stock/item_base.html:611 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:619 +#: stock/templates/stock/item_base.html:614 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:620 +#: stock/templates/stock/item_base.html:615 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:628 +#: stock/templates/stock/item_base.html:623 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:662 +#: stock/templates/stock/item_base.html:657 msgid "Return to Stock" msgstr "" @@ -9658,28 +9733,32 @@ msgstr "" msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:217 +#: stock/templates/stock/location.html:176 +msgid "Location Type" +msgstr "" + +#: stock/templates/stock/location.html:224 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:218 +#: stock/templates/stock/location.html:225 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:287 -#: templates/js/translated/stock.js:2575 +#: stock/templates/stock/location.html:295 +#: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:315 +#: stock/templates/stock/location.html:317 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:388 +#: stock/templates/stock/location.html:390 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:399 +#: stock/templates/stock/location.html:401 msgid "Link Barcode to Stock Location" msgstr "" @@ -9949,11 +10028,11 @@ msgstr "" msgid "Part Settings" msgstr "" -#: templates/InvenTree/settings/part.html:42 +#: templates/InvenTree/settings/part.html:43 msgid "Part Import" msgstr "" -#: templates/InvenTree/settings/part.html:46 +#: templates/InvenTree/settings/part.html:47 msgid "Import Part" msgstr "" @@ -10174,7 +10253,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:424 +#: templates/js/translated/stock.js:245 users/models.py:411 msgid "Delete" msgstr "Supprimer" @@ -10283,7 +10362,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2159 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2163 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" @@ -10874,7 +10953,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3218 +#: templates/js/translated/part.js:3217 msgid "Minimum Quantity" msgstr "" @@ -11254,7 +11333,7 @@ msgid "External stock" msgstr "" #: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2595 -#: templates/js/translated/sales_order.js:1910 +#: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" @@ -11264,7 +11343,7 @@ msgstr "" #: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 #: templates/js/translated/part.js:1256 -#: templates/js/translated/sales_order.js:1907 +#: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" @@ -11519,17 +11598,17 @@ msgstr "" #: templates/js/translated/build.js:1576 #: templates/js/translated/purchase_order.js:611 -#: templates/js/translated/sales_order.js:1171 +#: templates/js/translated/sales_order.js:1207 msgid "Select Parts" msgstr "" #: templates/js/translated/build.js:1577 -#: templates/js/translated/sales_order.js:1172 +#: templates/js/translated/sales_order.js:1208 msgid "You must select at least one part to allocate" msgstr "" #: templates/js/translated/build.js:1640 -#: templates/js/translated/sales_order.js:1121 +#: templates/js/translated/sales_order.js:1157 msgid "Specify stock allocation quantity" msgstr "" @@ -11542,7 +11621,7 @@ msgid "All selected parts have been fully allocated" msgstr "" #: templates/js/translated/build.js:1732 -#: templates/js/translated/sales_order.js:1186 +#: templates/js/translated/sales_order.js:1222 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -11551,12 +11630,12 @@ msgid "Allocate Stock Items to Build Order" msgstr "" #: templates/js/translated/build.js:1771 -#: templates/js/translated/sales_order.js:1283 +#: templates/js/translated/sales_order.js:1319 msgid "No matching stock locations" msgstr "" #: templates/js/translated/build.js:1844 -#: templates/js/translated/sales_order.js:1362 +#: templates/js/translated/sales_order.js:1398 msgid "No matching stock items" msgstr "" @@ -11589,9 +11668,9 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 -#: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 -#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 -#: templates/js/translated/stock.js:1985 templates/js/translated/stock.js:2713 +#: templates/js/translated/forms.js:2159 templates/js/translated/forms.js:2175 +#: templates/js/translated/part.js:2315 templates/js/translated/part.js:2741 +#: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "" @@ -11599,21 +11678,17 @@ msgstr "" msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2177 -msgid "Progress" -msgstr "" - -#: templates/js/translated/build.js:2213 templates/js/translated/stock.js:3045 +#: templates/js/translated/build.js:2213 templates/js/translated/stock.js:3042 msgid "No user information" msgstr "" #: templates/js/translated/build.js:2389 -#: templates/js/translated/sales_order.js:1646 +#: templates/js/translated/sales_order.js:1682 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:2390 -#: templates/js/translated/sales_order.js:1647 +#: templates/js/translated/sales_order.js:1683 msgid "Delete stock allocation" msgstr "" @@ -11647,7 +11722,7 @@ msgid "Unit Quantity" msgstr "" #: templates/js/translated/build.js:2591 -#: templates/js/translated/sales_order.js:1915 +#: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" @@ -11664,7 +11739,7 @@ msgid "Allocate tracked items against individual build outputs" msgstr "" #: templates/js/translated/build.js:2662 -#: templates/js/translated/sales_order.js:2016 +#: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "" @@ -11673,7 +11748,7 @@ msgid "Order stock" msgstr "" #: templates/js/translated/build.js:2671 -#: templates/js/translated/sales_order.js:2010 +#: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "" @@ -11923,12 +11998,12 @@ msgid "Delete price break" msgstr "" #: templates/js/translated/filters.js:186 -#: templates/js/translated/filters.js:672 +#: templates/js/translated/filters.js:667 msgid "true" msgstr "" #: templates/js/translated/filters.js:190 -#: templates/js/translated/filters.js:673 +#: templates/js/translated/filters.js:668 msgid "false" msgstr "" @@ -11960,7 +12035,7 @@ msgstr "" msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:582 +#: templates/js/translated/filters.js:577 msgid "Create filter" msgstr "" @@ -11993,32 +12068,32 @@ msgstr "" msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1473 templates/modals.html:19 +#: templates/js/translated/forms.js:1477 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1971 +#: templates/js/translated/forms.js:1975 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2275 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2279 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2489 +#: templates/js/translated/forms.js:2493 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3091 +#: templates/js/translated/forms.js:3095 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3091 +#: templates/js/translated/forms.js:3095 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3103 +#: templates/js/translated/forms.js:3107 msgid "Select Columns" msgstr "" @@ -12042,51 +12117,15 @@ msgstr "" msgid "No parts required for builds" msgstr "" -#: templates/js/translated/label.js:53 templates/js/translated/report.js:123 +#: templates/js/translated/label.js:55 templates/js/translated/report.js:38 msgid "Select Items" msgstr "" -#: templates/js/translated/label.js:54 +#: templates/js/translated/label.js:56 templates/js/translated/report.js:39 msgid "No items selected for printing" msgstr "" -#: templates/js/translated/label.js:72 -msgid "No Labels Found" -msgstr "" - -#: templates/js/translated/label.js:73 -msgid "No label templates found which match the selected items" -msgstr "" - -#: templates/js/translated/label.js:97 -msgid "selected" -msgstr "" - -#: templates/js/translated/label.js:133 -msgid "Printing Options" -msgstr "" - -#: templates/js/translated/label.js:148 -msgid "Print label" -msgstr "" - -#: templates/js/translated/label.js:148 -msgid "Print labels" -msgstr "" - #: templates/js/translated/label.js:149 -msgid "Print" -msgstr "" - -#: templates/js/translated/label.js:155 -msgid "Select label template" -msgstr "" - -#: templates/js/translated/label.js:168 -msgid "Select plugin" -msgstr "" - -#: templates/js/translated/label.js:187 msgid "Labels sent to printer" msgstr "" @@ -12204,7 +12243,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1991 +#: templates/js/translated/purchase_order.js:1990 msgid "No line items found" msgstr "" @@ -12442,19 +12481,19 @@ msgid "Delete Part Parameter Template" msgstr "" #: templates/js/translated/part.js:1716 -#: templates/js/translated/purchase_order.js:1655 +#: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1860 -#: templates/js/translated/purchase_order.js:2154 -#: templates/js/translated/return_order.js:756 -#: templates/js/translated/sales_order.js:1875 +#: templates/js/translated/purchase_order.js:2153 +#: templates/js/translated/return_order.js:755 +#: templates/js/translated/sales_order.js:1911 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1906 -#: templates/js/translated/purchase_order.js:2221 +#: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "" @@ -12466,7 +12505,7 @@ msgstr "" msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2506 +#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2505 msgid "No parts found" msgstr "" @@ -12482,101 +12521,101 @@ msgstr "" msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2286 msgid "part" msgstr "" -#: templates/js/translated/part.js:2288 +#: templates/js/translated/part.js:2287 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2384 +#: templates/js/translated/part.js:2383 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 -#: templates/js/translated/stock.js:2672 +#: templates/js/translated/part.js:2530 templates/js/translated/part.js:2660 +#: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2547 +#: templates/js/translated/part.js:2546 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2645 +#: templates/js/translated/part.js:2644 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2692 +#: templates/js/translated/part.js:2680 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2761 +#: templates/js/translated/part.js:2760 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2777 +#: templates/js/translated/part.js:2776 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2864 +#: templates/js/translated/part.js:2863 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2886 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2885 templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2935 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2941 +#: templates/js/translated/part.js:2940 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2957 +#: templates/js/translated/part.js:2956 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2971 +#: templates/js/translated/part.js:2970 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3050 templates/js/translated/part.js:3051 +#: templates/js/translated/part.js:3049 templates/js/translated/part.js:3050 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3053 +#: templates/js/translated/part.js:3052 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3059 +#: templates/js/translated/part.js:3058 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3109 +#: templates/js/translated/part.js:3108 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3115 +#: templates/js/translated/part.js:3114 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3211 +#: templates/js/translated/part.js:3210 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3227 +#: templates/js/translated/part.js:3226 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3272 +#: templates/js/translated/part.js:3271 msgid "Minimum Stock Level" msgstr "" @@ -12702,7 +12741,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:448 #: templates/js/translated/return_order.js:210 -#: templates/js/translated/sales_order.js:500 +#: templates/js/translated/sales_order.js:552 msgid "Mark this order as complete?" msgstr "" @@ -12715,7 +12754,6 @@ msgid "This order has line items which have not been marked as received." msgstr "" #: templates/js/translated/purchase_order.js:460 -#: templates/js/translated/sales_order.js:514 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" @@ -12773,12 +12811,12 @@ msgid "No matching purchase orders" msgstr "" #: templates/js/translated/purchase_order.js:1073 -#: templates/js/translated/return_order.js:491 +#: templates/js/translated/return_order.js:490 msgid "Select Line Items" msgstr "" #: templates/js/translated/purchase_order.js:1074 -#: templates/js/translated/return_order.js:492 +#: templates/js/translated/return_order.js:491 msgid "At least one line item must be selected" msgstr "" @@ -12827,7 +12865,7 @@ msgid "Quantity to Receive" msgstr "" #: templates/js/translated/purchase_order.js:1333 -#: templates/js/translated/return_order.js:561 +#: templates/js/translated/return_order.js:560 msgid "Confirm receipt of items" msgstr "" @@ -12847,81 +12885,66 @@ msgstr "" msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1682 -#: templates/js/translated/return_order.js:286 -#: templates/js/translated/sales_order.js:774 -#: templates/js/translated/sales_order.js:998 +#: templates/js/translated/purchase_order.js:1681 +#: templates/js/translated/return_order.js:285 +#: templates/js/translated/sales_order.js:810 +#: templates/js/translated/sales_order.js:1034 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1748 -#: templates/js/translated/return_order.js:354 -#: templates/js/translated/sales_order.js:851 -#: templates/js/translated/sales_order.js:1011 -msgid "Items" -msgstr "" - -#: templates/js/translated/purchase_order.js:1844 +#: templates/js/translated/purchase_order.js:1843 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1862 +#: templates/js/translated/purchase_order.js:1861 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1917 -#: templates/js/translated/sales_order.js:2070 +#: templates/js/translated/purchase_order.js:1916 +#: templates/js/translated/sales_order.js:2106 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1932 -#: templates/js/translated/return_order.js:476 -#: templates/js/translated/return_order.js:669 -#: templates/js/translated/sales_order.js:2083 +#: templates/js/translated/purchase_order.js:1931 +#: templates/js/translated/return_order.js:475 +#: templates/js/translated/return_order.js:668 +#: templates/js/translated/sales_order.js:2119 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1943 -#: templates/js/translated/return_order.js:682 -#: templates/js/translated/sales_order.js:2094 +#: templates/js/translated/purchase_order.js:1942 +#: templates/js/translated/return_order.js:681 +#: templates/js/translated/sales_order.js:2130 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2225 -#: templates/js/translated/sales_order.js:2024 +#: templates/js/translated/purchase_order.js:2224 +#: templates/js/translated/sales_order.js:2060 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2226 -#: templates/js/translated/return_order.js:801 -#: templates/js/translated/sales_order.js:2025 +#: templates/js/translated/purchase_order.js:2225 +#: templates/js/translated/return_order.js:800 +#: templates/js/translated/sales_order.js:2061 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2227 -#: templates/js/translated/return_order.js:805 -#: templates/js/translated/sales_order.js:2031 +#: templates/js/translated/purchase_order.js:2226 +#: templates/js/translated/return_order.js:804 +#: templates/js/translated/sales_order.js:2067 msgid "Delete line item" msgstr "" -#: templates/js/translated/report.js:63 -msgid "items selected" +#: templates/js/translated/report.js:49 +msgid "Print Report" msgstr "" -#: templates/js/translated/report.js:71 -msgid "Select Report Template" +#: templates/js/translated/report.js:68 +msgid "Report print successful" msgstr "" -#: templates/js/translated/report.js:86 -msgid "Select Test Report Template" -msgstr "" - -#: templates/js/translated/report.js:140 -msgid "No Reports Found" -msgstr "" - -#: templates/js/translated/report.js:141 -msgid "No report templates found which match the selected items" +#: templates/js/translated/report.js:73 +msgid "Report printing failed" msgstr "" #: templates/js/translated/return_order.js:60 @@ -12953,25 +12976,25 @@ msgstr "" msgid "Complete Return Order" msgstr "" -#: templates/js/translated/return_order.js:266 +#: templates/js/translated/return_order.js:265 msgid "No return orders found" msgstr "" -#: templates/js/translated/return_order.js:300 -#: templates/js/translated/sales_order.js:788 +#: templates/js/translated/return_order.js:299 +#: templates/js/translated/sales_order.js:824 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/return_order.js:562 +#: templates/js/translated/return_order.js:561 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:693 -#: templates/js/translated/sales_order.js:2231 +#: templates/js/translated/return_order.js:692 +#: templates/js/translated/sales_order.js:2267 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:798 +#: templates/js/translated/return_order.js:797 msgid "Mark item as received" msgstr "" @@ -13015,140 +13038,156 @@ msgstr "" msgid "Skip" msgstr "" +#: templates/js/translated/sales_order.js:484 +msgid "Ship Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:500 +msgid "Ship this order?" +msgstr "" + +#: templates/js/translated/sales_order.js:506 +msgid "Order cannot be shipped as there are incomplete shipments" +msgstr "" + #: templates/js/translated/sales_order.js:513 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/sales_order.js:535 +#: templates/js/translated/sales_order.js:514 +msgid "Shipping this order means that the order and line items will no longer be editable." +msgstr "" + +#: templates/js/translated/sales_order.js:572 msgid "Issue this Sales Order?" msgstr "" -#: templates/js/translated/sales_order.js:540 +#: templates/js/translated/sales_order.js:577 msgid "Issue Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:559 +#: templates/js/translated/sales_order.js:596 msgid "Cancel Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:564 +#: templates/js/translated/sales_order.js:601 msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: templates/js/translated/sales_order.js:618 +#: templates/js/translated/sales_order.js:655 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/sales_order.js:728 +#: templates/js/translated/sales_order.js:764 msgid "No sales orders found" msgstr "" -#: templates/js/translated/sales_order.js:908 +#: templates/js/translated/sales_order.js:944 msgid "Edit shipment" msgstr "" -#: templates/js/translated/sales_order.js:911 +#: templates/js/translated/sales_order.js:947 msgid "Complete shipment" msgstr "" -#: templates/js/translated/sales_order.js:916 +#: templates/js/translated/sales_order.js:952 msgid "Delete shipment" msgstr "" -#: templates/js/translated/sales_order.js:933 +#: templates/js/translated/sales_order.js:969 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/sales_order.js:948 +#: templates/js/translated/sales_order.js:984 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:981 +#: templates/js/translated/sales_order.js:1017 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/sales_order.js:1006 +#: templates/js/translated/sales_order.js:1042 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/sales_order.js:1030 -#: templates/js/translated/sales_order.js:1529 +#: templates/js/translated/sales_order.js:1066 +#: templates/js/translated/sales_order.js:1565 msgid "Not shipped" msgstr "" -#: templates/js/translated/sales_order.js:1048 +#: templates/js/translated/sales_order.js:1084 msgid "Tracking" msgstr "" -#: templates/js/translated/sales_order.js:1052 +#: templates/js/translated/sales_order.js:1088 msgid "Invoice" msgstr "" -#: templates/js/translated/sales_order.js:1219 +#: templates/js/translated/sales_order.js:1255 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1270 +#: templates/js/translated/sales_order.js:1306 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/sales_order.js:1271 +#: templates/js/translated/sales_order.js:1307 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1477 +#: templates/js/translated/sales_order.js:1513 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1569 +#: templates/js/translated/sales_order.js:1605 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1583 +#: templates/js/translated/sales_order.js:1619 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/sales_order.js:1584 +#: templates/js/translated/sales_order.js:1620 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1623 -#: templates/js/translated/sales_order.js:1710 +#: templates/js/translated/sales_order.js:1659 +#: templates/js/translated/sales_order.js:1746 #: templates/js/translated/stock.js:1776 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/sales_order.js:1631 -#: templates/js/translated/sales_order.js:1719 +#: templates/js/translated/sales_order.js:1667 +#: templates/js/translated/sales_order.js:1755 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:2008 +#: templates/js/translated/sales_order.js:2044 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/sales_order.js:2012 +#: templates/js/translated/sales_order.js:2048 msgid "Purchase stock" msgstr "" -#: templates/js/translated/sales_order.js:2021 -#: templates/js/translated/sales_order.js:2209 +#: templates/js/translated/sales_order.js:2057 +#: templates/js/translated/sales_order.js:2245 msgid "Calculate price" msgstr "" -#: templates/js/translated/sales_order.js:2035 +#: templates/js/translated/sales_order.js:2071 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:2038 +#: templates/js/translated/sales_order.js:2074 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:2109 +#: templates/js/translated/sales_order.js:2145 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/sales_order.js:2217 +#: templates/js/translated/sales_order.js:2253 msgid "Update Unit Price" msgstr "" @@ -13356,7 +13395,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1042 users/models.py:414 +#: templates/js/translated/stock.js:1042 users/models.py:401 msgid "Add" msgstr "Ajouter" @@ -13372,7 +13411,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1180 templates/js/translated/stock.js:3302 +#: templates/js/translated/stock.js:1180 templates/js/translated/stock.js:3299 msgid "Select Stock Items" msgstr "" @@ -13456,196 +13495,196 @@ msgstr "" msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:1955 +#: templates/js/translated/stock.js:1953 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1960 +#: templates/js/translated/stock.js:1958 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:1971 +#: templates/js/translated/stock.js:1969 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:2015 +#: templates/js/translated/stock.js:2013 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2093 +#: templates/js/translated/stock.js:2091 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2098 +#: templates/js/translated/stock.js:2096 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2101 +#: templates/js/translated/stock.js:2099 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2104 +#: templates/js/translated/stock.js:2102 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2106 +#: templates/js/translated/stock.js:2104 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2108 +#: templates/js/translated/stock.js:2106 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2111 +#: templates/js/translated/stock.js:2109 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2113 +#: templates/js/translated/stock.js:2111 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2117 +#: templates/js/translated/stock.js:2115 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2119 +#: templates/js/translated/stock.js:2117 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2124 +#: templates/js/translated/stock.js:2122 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2126 +#: templates/js/translated/stock.js:2124 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2128 +#: templates/js/translated/stock.js:2126 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2132 +#: templates/js/translated/stock.js:2130 #: templates/js/translated/table_filters.js:350 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2297 +#: templates/js/translated/stock.js:2295 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2344 +#: templates/js/translated/stock.js:2342 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2472 +#: templates/js/translated/stock.js:2470 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2576 +#: templates/js/translated/stock.js:2573 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2731 +#: templates/js/translated/stock.js:2728 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2849 +#: templates/js/translated/stock.js:2846 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2853 +#: templates/js/translated/stock.js:2850 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2865 +#: templates/js/translated/stock.js:2862 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2887 +#: templates/js/translated/stock.js:2884 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2904 +#: templates/js/translated/stock.js:2901 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2919 +#: templates/js/translated/stock.js:2916 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2936 +#: templates/js/translated/stock.js:2933 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:2950 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2972 +#: templates/js/translated/stock.js:2969 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2990 +#: templates/js/translated/stock.js:2987 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:3008 +#: templates/js/translated/stock.js:3005 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:3016 +#: templates/js/translated/stock.js:3013 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3088 +#: templates/js/translated/stock.js:3085 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3142 templates/js/translated/stock.js:3178 +#: templates/js/translated/stock.js:3139 templates/js/translated/stock.js:3175 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3200 +#: templates/js/translated/stock.js:3197 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3221 +#: templates/js/translated/stock.js:3218 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3222 +#: templates/js/translated/stock.js:3219 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3224 +#: templates/js/translated/stock.js:3221 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3225 +#: templates/js/translated/stock.js:3222 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3226 +#: templates/js/translated/stock.js:3223 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3227 +#: templates/js/translated/stock.js:3224 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3240 +#: templates/js/translated/stock.js:3237 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3303 +#: templates/js/translated/stock.js:3300 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3316 +#: templates/js/translated/stock.js:3313 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3320 +#: templates/js/translated/stock.js:3317 msgid "Change Stock Status" msgstr "" @@ -14247,35 +14286,35 @@ msgstr "" msgid "Revoked" msgstr "" -#: users/models.py:397 +#: users/models.py:384 msgid "Permission set" msgstr "Droit défini" -#: users/models.py:406 +#: users/models.py:393 msgid "Group" msgstr "Groupe" -#: users/models.py:410 +#: users/models.py:397 msgid "View" msgstr "Vue" -#: users/models.py:410 +#: users/models.py:397 msgid "Permission to view items" msgstr "Droit de voir des éléments" -#: users/models.py:414 +#: users/models.py:401 msgid "Permission to add items" msgstr "Droit d'ajouter des éléments" -#: users/models.py:418 +#: users/models.py:405 msgid "Change" msgstr "Modifier" -#: users/models.py:420 +#: users/models.py:407 msgid "Permissions to edit items" msgstr "Droit de modifier des élément" -#: users/models.py:426 +#: users/models.py:413 msgid "Permission to delete items" msgstr "Droit de supprimer des éléments" diff --git a/src/backend/InvenTree/locale/he/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/he/LC_MESSAGES/django.po index 9d784ab845..cd406d52a3 100644 --- a/src/backend/InvenTree/locale/he/LC_MESSAGES/django.po +++ b/src/backend/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: 2024-05-10 05:37+0000\n" -"PO-Revision-Date: 2024-05-10 08:30\n" +"POT-Creation-Date: 2024-05-23 11:25+0000\n" +"PO-Revision-Date: 2024-05-23 11:38\n" "Last-Translator: \n" "Language-Team: Hebrew\n" "Language: he_IL\n" @@ -17,11 +17,11 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 216\n" -#: InvenTree/api.py:271 +#: InvenTree/api.py:272 msgid "API endpoint not found" msgstr "" -#: InvenTree/api.py:535 +#: InvenTree/api.py:536 msgid "User does not have permission to view this model" msgstr "" @@ -56,26 +56,26 @@ msgstr "" msgid "Enter date" msgstr "הזן תאריך סיום" -#: InvenTree/fields.py:208 InvenTree/models.py:1021 build/serializers.py:444 -#: build/serializers.py:522 build/templates/build/sidebar.html:21 +#: InvenTree/fields.py:208 InvenTree/models.py:1035 build/serializers.py:443 +#: build/serializers.py:521 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 -#: order/models.py:1283 order/templates/order/po_sidebar.html:11 +#: order/models.py:1323 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:59 -#: part/models.py:3175 part/templates/part/part_sidebar.html:63 -#: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:226 stock/models.py:2344 stock/models.py:2461 -#: stock/serializers.py:501 stock/serializers.py:659 stock/serializers.py:755 -#: stock/serializers.py:805 stock/serializers.py:1114 stock/serializers.py:1203 -#: stock/serializers.py:1368 stock/templates/stock/stock_sidebar.html:25 +#: part/models.py:3218 part/templates/part/part_sidebar.html:63 +#: report/templates/report/inventree_build_order_report.html:172 +#: stock/admin.py:226 stock/models.py:2321 stock/models.py:2438 +#: stock/serializers.py:630 stock/serializers.py:788 stock/serializers.py:884 +#: stock/serializers.py:934 stock/serializers.py:1243 stock/serializers.py:1332 +#: stock/serializers.py:1497 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1080 -#: templates/js/translated/purchase_order.js:2201 -#: templates/js/translated/return_order.js:776 -#: templates/js/translated/sales_order.js:1067 -#: templates/js/translated/sales_order.js:1982 -#: templates/js/translated/stock.js:1536 templates/js/translated/stock.js:2430 +#: templates/js/translated/purchase_order.js:2200 +#: templates/js/translated/return_order.js:775 +#: templates/js/translated/sales_order.js:1103 +#: templates/js/translated/sales_order.js:2018 +#: templates/js/translated/stock.js:1536 templates/js/translated/stock.js:2428 msgid "Notes" msgstr "" @@ -132,7 +132,7 @@ msgstr "" msgid "Registration is disabled." msgstr "" -#: InvenTree/helpers.py:525 order/models.py:541 order/models.py:743 +#: InvenTree/helpers.py:525 order/models.py:563 order/models.py:765 msgid "Invalid quantity provided" msgstr "" @@ -355,142 +355,142 @@ msgstr "" msgid "Error running plugin validation" msgstr "" -#: InvenTree/models.py:162 +#: InvenTree/models.py:176 msgid "Metadata must be a python dict object" msgstr "" -#: InvenTree/models.py:168 +#: InvenTree/models.py:182 msgid "Plugin Metadata" msgstr "" -#: InvenTree/models.py:169 +#: InvenTree/models.py:183 msgid "JSON metadata field, for use by external plugins" msgstr "" -#: InvenTree/models.py:399 +#: InvenTree/models.py:413 msgid "Improperly formatted pattern" msgstr "" -#: InvenTree/models.py:406 +#: InvenTree/models.py:420 msgid "Unknown format key specified" msgstr "" -#: InvenTree/models.py:412 +#: InvenTree/models.py:426 msgid "Missing required format key" msgstr "" -#: InvenTree/models.py:423 +#: InvenTree/models.py:437 msgid "Reference field cannot be empty" msgstr "" -#: InvenTree/models.py:431 +#: InvenTree/models.py:445 msgid "Reference must match required pattern" msgstr "" -#: InvenTree/models.py:462 +#: InvenTree/models.py:476 msgid "Reference number is too large" msgstr "" -#: InvenTree/models.py:536 +#: InvenTree/models.py:550 msgid "Missing file" msgstr "קובץ חסר" -#: InvenTree/models.py:537 +#: InvenTree/models.py:551 msgid "Missing external link" msgstr "חסר קישור חיצוני" -#: InvenTree/models.py:558 stock/models.py:2456 +#: InvenTree/models.py:572 stock/models.py:2433 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" msgstr "קובץ מצורף" -#: InvenTree/models.py:559 +#: InvenTree/models.py:573 msgid "Select file to attach" msgstr "בחר קובץ לצירוף" -#: InvenTree/models.py:567 common/models.py:3026 company/models.py:146 +#: InvenTree/models.py:581 common/models.py:3032 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 -#: order/models.py:291 order/models.py:1288 order/models.py:1704 -#: part/admin.py:55 part/models.py:919 +#: order/models.py:304 order/models.py:1328 order/models.py:1744 +#: part/admin.py:55 part/models.py:962 #: part/templates/part/part_scheduling.html:11 -#: report/templates/report/inventree_build_order_base.html:164 +#: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2456 -#: templates/js/translated/purchase_order.js:2041 -#: templates/js/translated/purchase_order.js:2205 -#: templates/js/translated/return_order.js:780 -#: templates/js/translated/sales_order.js:1056 -#: templates/js/translated/sales_order.js:1987 +#: templates/js/translated/part.js:2455 +#: templates/js/translated/purchase_order.js:2040 +#: templates/js/translated/purchase_order.js:2204 +#: templates/js/translated/return_order.js:779 +#: templates/js/translated/sales_order.js:1092 +#: templates/js/translated/sales_order.js:2023 msgid "Link" msgstr "קישור" -#: InvenTree/models.py:568 build/models.py:321 part/models.py:920 -#: stock/models.py:819 +#: InvenTree/models.py:582 build/models.py:344 part/models.py:963 +#: stock/models.py:840 msgid "Link to external URL" msgstr "קישור חיצוני" -#: InvenTree/models.py:574 templates/js/translated/attachment.js:120 +#: InvenTree/models.py:588 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:341 msgid "Comment" msgstr "הערה" -#: InvenTree/models.py:575 +#: InvenTree/models.py:589 msgid "File comment" msgstr "הערת קובץ" -#: InvenTree/models.py:583 InvenTree/models.py:584 common/models.py:2502 -#: common/models.py:2503 common/models.py:2727 common/models.py:2728 -#: common/models.py:2973 common/models.py:2974 part/models.py:3185 -#: part/models.py:3272 part/models.py:3365 part/models.py:3393 -#: plugin/models.py:250 plugin/models.py:251 -#: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3039 users/models.py:111 +#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2508 +#: common/models.py:2509 common/models.py:2733 common/models.py:2734 +#: common/models.py:2979 common/models.py:2980 part/models.py:3228 +#: part/models.py:3315 part/models.py:3408 part/models.py:3436 +#: plugin/models.py:259 plugin/models.py:260 +#: report/templates/report/inventree_test_report.html:105 +#: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" msgstr "משתמש" -#: InvenTree/models.py:588 +#: InvenTree/models.py:602 msgid "upload date" msgstr "תאריך העלאה" -#: InvenTree/models.py:610 +#: InvenTree/models.py:624 msgid "Filename must not be empty" msgstr "חובה למלא שם קובץ" -#: InvenTree/models.py:621 +#: InvenTree/models.py:635 msgid "Invalid attachment directory" msgstr "תיקיית קובץ שגויה" -#: InvenTree/models.py:651 +#: InvenTree/models.py:665 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "שם הקובץ מכיל תו '{c}' שאינו חוקי" -#: InvenTree/models.py:654 +#: InvenTree/models.py:668 msgid "Filename missing extension" msgstr "" -#: InvenTree/models.py:663 +#: InvenTree/models.py:677 msgid "Attachment with this filename already exists" msgstr "" -#: InvenTree/models.py:670 +#: InvenTree/models.py:684 msgid "Error renaming file" msgstr "שגיאה בשינוי שם פריט" -#: InvenTree/models.py:846 +#: InvenTree/models.py:860 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:863 +#: InvenTree/models.py:877 msgid "Invalid choice" msgstr "בחירה שגויה" -#: InvenTree/models.py:893 common/models.py:2714 common/models.py:3112 -#: common/serializers.py:403 company/models.py:614 label/models.py:120 -#: machine/models.py:24 part/models.py:855 part/models.py:3616 -#: plugin/models.py:41 report/models.py:176 stock/models.py:76 +#: InvenTree/models.py:907 common/models.py:2720 common/models.py:3118 +#: common/serializers.py:403 company/models.py:614 machine/models.py:24 +#: part/models.py:898 part/models.py:3659 plugin/models.py:50 +#: report/models.py:149 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -503,22 +503,22 @@ msgstr "בחירה שגויה" #: templates/js/translated/company.js:1165 #: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186 #: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2719 +#: templates/js/translated/part.js:2748 templates/js/translated/stock.js:2716 msgid "Name" msgstr "שם" -#: InvenTree/models.py:899 build/models.py:194 +#: InvenTree/models.py:913 build/models.py:217 #: build/templates/build/detail.html:24 common/models.py:136 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 label/models.py:127 -#: order/models.py:277 order/models.py:1316 part/admin.py:303 part/admin.py:414 -#: part/models.py:878 part/models.py:3631 part/templates/part/category.html:82 +#: company/templates/company/supplier_part.html:107 order/models.py:290 +#: order/models.py:1356 part/admin.py:305 part/admin.py:416 part/models.py:921 +#: part/models.py:3674 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 -#: part/templates/part/part_scheduling.html:12 report/models.py:189 -#: report/models.py:655 report/models.py:729 -#: report/templates/report/inventree_build_order_base.html:117 +#: part/templates/part/part_scheduling.html:12 report/models.py:155 +#: report/models.py:510 report/models.py:536 +#: report/templates/report/inventree_build_order_report.html:117 #: stock/admin.py:55 stock/models.py:82 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 @@ -530,71 +530,71 @@ msgstr "שם" #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 -#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2896 +#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2354 +#: templates/js/translated/part.js:2784 templates/js/translated/part.js:2895 #: templates/js/translated/plugin.js:80 -#: templates/js/translated/purchase_order.js:1707 -#: templates/js/translated/purchase_order.js:1850 -#: templates/js/translated/purchase_order.js:2023 -#: templates/js/translated/return_order.js:314 -#: templates/js/translated/sales_order.js:802 -#: templates/js/translated/sales_order.js:1812 -#: templates/js/translated/stock.js:1515 templates/js/translated/stock.js:2060 -#: templates/js/translated/stock.js:2751 templates/js/translated/stock.js:2834 +#: templates/js/translated/purchase_order.js:1706 +#: templates/js/translated/purchase_order.js:1849 +#: templates/js/translated/purchase_order.js:2022 +#: templates/js/translated/return_order.js:313 +#: templates/js/translated/sales_order.js:838 +#: templates/js/translated/sales_order.js:1848 +#: templates/js/translated/stock.js:1515 templates/js/translated/stock.js:2058 +#: templates/js/translated/stock.js:2748 templates/js/translated/stock.js:2831 msgid "Description" msgstr "תיאור" -#: InvenTree/models.py:900 stock/models.py:83 +#: InvenTree/models.py:914 stock/models.py:83 msgid "Description (optional)" msgstr "תיאור (לא חובה)" -#: InvenTree/models.py:909 +#: InvenTree/models.py:923 msgid "parent" msgstr "מקור" -#: InvenTree/models.py:915 templates/js/translated/part.js:2794 -#: templates/js/translated/stock.js:2760 +#: InvenTree/models.py:929 templates/js/translated/part.js:2793 +#: templates/js/translated/stock.js:2757 msgid "Path" msgstr "" -#: InvenTree/models.py:1021 +#: InvenTree/models.py:1035 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:1050 +#: InvenTree/models.py:1064 msgid "Barcode Data" msgstr "" -#: InvenTree/models.py:1051 +#: InvenTree/models.py:1065 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:1057 +#: InvenTree/models.py:1071 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:1058 +#: InvenTree/models.py:1072 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:1111 +#: InvenTree/models.py:1125 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:1154 +#: InvenTree/models.py:1168 msgid "Server Error" msgstr "" -#: InvenTree/models.py:1155 +#: InvenTree/models.py:1169 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:62 part/models.py:4169 +#: InvenTree/serializers.py:62 part/models.py:4212 msgid "Must be a valid number" msgstr "המספר חייב להיות תקין" #: InvenTree/serializers.py:99 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:2993 +#: company/templates/company/company_base.html:112 part/models.py:3036 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -686,7 +686,7 @@ msgstr "" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1161 +#: InvenTree/status.py:66 part/serializers.py:1176 msgid "Background worker check failed" msgstr "" @@ -699,8 +699,8 @@ msgid "InvenTree system health checks failed" msgstr "" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:37 -#: InvenTree/status_codes.py:148 InvenTree/status_codes.py:164 -#: InvenTree/status_codes.py:182 generic/states/tests.py:17 +#: InvenTree/status_codes.py:149 InvenTree/status_codes.py:165 +#: InvenTree/status_codes.py:183 generic/states/tests.py:17 #: templates/js/translated/table_filters.js:598 msgid "Pending" msgstr "בהמתנה" @@ -709,188 +709,188 @@ msgstr "בהמתנה" msgid "Placed" msgstr "מוקם" -#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:151 -#: InvenTree/status_codes.py:169 generic/states/tests.py:19 -#: order/templates/order/order_base.html:158 -#: order/templates/order/sales_order_base.html:161 +#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:44 +#: InvenTree/status_codes.py:152 InvenTree/status_codes.py:170 +#: generic/states/tests.py:19 order/templates/order/order_base.html:158 +#: order/templates/order/sales_order_base.html:165 report/models.py:444 msgid "Complete" msgstr "הושלם" -#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:44 -#: InvenTree/status_codes.py:150 InvenTree/status_codes.py:170 +#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:45 +#: InvenTree/status_codes.py:151 InvenTree/status_codes.py:171 msgid "Cancelled" msgstr "מבוטל" -#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:45 -#: InvenTree/status_codes.py:67 +#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:46 +#: InvenTree/status_codes.py:68 msgid "Lost" msgstr "אבד" -#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:46 -#: InvenTree/status_codes.py:73 +#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:47 +#: InvenTree/status_codes.py:74 msgid "Returned" msgstr "הוחזר" -#: InvenTree/status_codes.py:40 InvenTree/status_codes.py:167 +#: InvenTree/status_codes.py:40 InvenTree/status_codes.py:168 msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:43 order/models.py:1566 -#: templates/js/translated/sales_order.js:1523 -#: templates/js/translated/sales_order.js:1644 -#: templates/js/translated/sales_order.js:1957 +#: InvenTree/status_codes.py:43 order/models.py:1606 +#: templates/js/translated/sales_order.js:1559 +#: templates/js/translated/sales_order.js:1680 +#: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "נשלח" -#: InvenTree/status_codes.py:62 +#: InvenTree/status_codes.py:63 msgid "OK" msgstr "מצב טוב" -#: InvenTree/status_codes.py:63 +#: InvenTree/status_codes.py:64 msgid "Attention needed" msgstr "דרושה תשומת לב" -#: InvenTree/status_codes.py:64 +#: InvenTree/status_codes.py:65 msgid "Damaged" msgstr "פגום" -#: InvenTree/status_codes.py:65 +#: InvenTree/status_codes.py:66 msgid "Destroyed" msgstr "הרוס" -#: InvenTree/status_codes.py:66 +#: InvenTree/status_codes.py:67 msgid "Rejected" msgstr "נדחה" -#: InvenTree/status_codes.py:70 +#: InvenTree/status_codes.py:71 msgid "Quarantined" msgstr "" -#: InvenTree/status_codes.py:91 +#: InvenTree/status_codes.py:92 msgid "Legacy stock tracking entry" msgstr "" -#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:544 +#: InvenTree/status_codes.py:94 templates/js/translated/stock.js:544 msgid "Stock item created" msgstr "" -#: InvenTree/status_codes.py:96 +#: InvenTree/status_codes.py:97 msgid "Edited stock item" msgstr "" -#: InvenTree/status_codes.py:97 +#: InvenTree/status_codes.py:98 msgid "Assigned serial number" msgstr "" -#: InvenTree/status_codes.py:100 +#: InvenTree/status_codes.py:101 msgid "Stock counted" msgstr "" -#: InvenTree/status_codes.py:101 +#: InvenTree/status_codes.py:102 msgid "Stock manually added" msgstr "" -#: InvenTree/status_codes.py:102 +#: InvenTree/status_codes.py:103 msgid "Stock manually removed" msgstr "" -#: InvenTree/status_codes.py:105 +#: InvenTree/status_codes.py:106 msgid "Location changed" msgstr "מיקום שונה" -#: InvenTree/status_codes.py:106 +#: InvenTree/status_codes.py:107 msgid "Stock updated" msgstr "" -#: InvenTree/status_codes.py:109 +#: InvenTree/status_codes.py:110 msgid "Installed into assembly" msgstr "" -#: InvenTree/status_codes.py:110 +#: InvenTree/status_codes.py:111 msgid "Removed from assembly" msgstr "" -#: InvenTree/status_codes.py:112 +#: InvenTree/status_codes.py:113 msgid "Installed component item" msgstr "" -#: InvenTree/status_codes.py:113 +#: InvenTree/status_codes.py:114 msgid "Removed component item" msgstr "" -#: InvenTree/status_codes.py:116 +#: InvenTree/status_codes.py:117 msgid "Split from parent item" msgstr "" -#: InvenTree/status_codes.py:117 +#: InvenTree/status_codes.py:118 msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1858 +#: InvenTree/status_codes.py:121 templates/js/translated/stock.js:1858 msgid "Merged stock items" msgstr "" -#: InvenTree/status_codes.py:123 +#: InvenTree/status_codes.py:124 msgid "Converted to variant" msgstr "" -#: InvenTree/status_codes.py:126 +#: InvenTree/status_codes.py:127 msgid "Build order output created" msgstr "" -#: InvenTree/status_codes.py:127 +#: InvenTree/status_codes.py:128 msgid "Build order output completed" msgstr "" -#: InvenTree/status_codes.py:128 +#: InvenTree/status_codes.py:129 msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1764 +#: InvenTree/status_codes.py:130 templates/js/translated/stock.js:1764 msgid "Consumed by build order" msgstr "" -#: InvenTree/status_codes.py:132 +#: InvenTree/status_codes.py:133 msgid "Shipped against Sales Order" msgstr "" -#: InvenTree/status_codes.py:135 +#: InvenTree/status_codes.py:136 msgid "Received against Purchase Order" msgstr "" -#: InvenTree/status_codes.py:138 +#: InvenTree/status_codes.py:139 msgid "Returned against Return Order" msgstr "" -#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:375 +#: InvenTree/status_codes.py:142 templates/js/translated/table_filters.js:375 msgid "Sent to customer" msgstr "נשלח ללקוח" -#: InvenTree/status_codes.py:142 +#: InvenTree/status_codes.py:143 msgid "Returned from customer" msgstr "הוחזר מלקוח" -#: InvenTree/status_codes.py:149 +#: InvenTree/status_codes.py:150 msgid "Production" msgstr "ייצור" -#: InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:186 msgid "Return" msgstr "" -#: InvenTree/status_codes.py:188 +#: InvenTree/status_codes.py:189 msgid "Repair" msgstr "" -#: InvenTree/status_codes.py:191 +#: InvenTree/status_codes.py:192 msgid "Replace" msgstr "" -#: InvenTree/status_codes.py:194 +#: InvenTree/status_codes.py:195 msgid "Refund" msgstr "" -#: InvenTree/status_codes.py:197 +#: InvenTree/status_codes.py:198 msgid "Reject" msgstr "" @@ -946,14 +946,14 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:299 part/models.py:4047 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4090 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4041 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4084 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -969,7 +969,7 @@ msgstr "" #: build/api.py:303 part/admin.py:144 templates/js/translated/build.js:1744 #: templates/js/translated/build.js:2629 -#: templates/js/translated/sales_order.js:1929 +#: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "" @@ -980,7 +980,7 @@ msgstr "" #: templates/email/low_stock_notification.html:17 #: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 #: templates/js/translated/index.js:123 -#: templates/js/translated/model_renderers.js:228 +#: templates/js/translated/model_renderers.js:234 #: templates/js/translated/part.js:692 templates/js/translated/part.js:694 #: templates/js/translated/part.js:699 #: templates/js/translated/table_filters.js:340 @@ -988,16 +988,16 @@ msgstr "" msgid "Available" msgstr "" -#: build/models.py:74 build/templates/build/build_base.html:9 +#: build/models.py:82 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 -#: report/templates/report/inventree_build_order_base.html:105 -#: templates/email/build_order_completed.html:16 +#: report/templates/report/inventree_build_order_report.html:105 +#: stock/serializers.py:83 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2895 +#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2892 msgid "Build Order" msgstr "" -#: build/models.py:75 build/templates/build/build_base.html:13 +#: build/models.py:83 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -1008,71 +1008,71 @@ msgstr "" msgid "Build Orders" msgstr "" -#: build/models.py:122 +#: build/models.py:130 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:133 order/models.py:239 +#: build/models.py:141 order/models.py:241 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:139 +#: build/models.py:147 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:185 +#: build/models.py:208 msgid "Build Order Reference" msgstr "" -#: build/models.py:186 order/models.py:442 order/models.py:898 -#: order/models.py:1276 order/models.py:1998 part/admin.py:417 -#: part/models.py:4062 part/templates/part/upload_bom.html:54 +#: build/models.py:209 order/models.py:464 order/models.py:929 +#: order/models.py:1316 order/models.py:2047 part/admin.py:419 +#: part/models.py:4105 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 -#: report/templates/report/inventree_so_report_base.html:28 +#: report/templates/report/inventree_purchase_order_report.html:28 +#: report/templates/report/inventree_return_order_report.html:26 +#: report/templates/report/inventree_sales_order_report.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 #: templates/js/translated/build.js:2512 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 -#: templates/js/translated/purchase_order.js:2066 -#: templates/js/translated/return_order.js:729 -#: templates/js/translated/sales_order.js:1818 +#: templates/js/translated/purchase_order.js:2065 +#: templates/js/translated/return_order.js:728 +#: templates/js/translated/sales_order.js:1854 msgid "Reference" msgstr "מקט" -#: build/models.py:197 +#: build/models.py:220 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:205 build/templates/build/build_base.html:183 +#: build/models.py:228 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "מקור הבנייה" -#: build/models.py:206 +#: build/models.py:229 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:211 build/templates/build/build_base.html:97 +#: build/models.py:234 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 -#: order/models.py:1401 order/models.py:1546 order/models.py:1547 -#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004 -#: part/models.py:3148 part/models.py:3292 part/models.py:3315 -#: part/models.py:3336 part/models.py:3358 part/models.py:3468 -#: part/models.py:3764 part/models.py:3920 part/models.py:4013 -#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713 +#: order/models.py:1441 order/models.py:1586 order/models.py:1587 +#: part/api.py:1501 part/api.py:1795 part/models.py:392 part/models.py:3047 +#: part/models.py:3191 part/models.py:3335 part/models.py:3358 +#: part/models.py:3379 part/models.py:3401 part/models.py:3511 +#: part/models.py:3807 part/models.py:3963 part/models.py:4056 +#: part/models.py:4417 part/serializers.py:1122 part/serializers.py:1728 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 -#: report/templates/report/inventree_build_order_base.html:109 -#: report/templates/report/inventree_po_report_base.html:27 -#: report/templates/report/inventree_return_order_report_base.html:24 -#: report/templates/report/inventree_slr_report.html:102 -#: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:267 stock/serializers.py:689 -#: templates/InvenTree/search.html:82 +#: report/templates/report/inventree_build_order_report.html:109 +#: report/templates/report/inventree_purchase_order_report.html:27 +#: report/templates/report/inventree_return_order_report.html:24 +#: report/templates/report/inventree_sales_order_report.html:27 +#: report/templates/report/inventree_stock_location_report.html:102 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:396 +#: stock/serializers.py:818 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -1086,235 +1086,239 @@ msgstr "" #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 #: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 -#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:2323 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:751 #: templates/js/translated/purchase_order.js:1304 -#: templates/js/translated/purchase_order.js:1849 -#: templates/js/translated/purchase_order.js:2008 -#: templates/js/translated/return_order.js:539 -#: templates/js/translated/return_order.js:710 +#: templates/js/translated/purchase_order.js:1848 +#: templates/js/translated/purchase_order.js:2007 +#: templates/js/translated/return_order.js:538 +#: templates/js/translated/return_order.js:709 #: templates/js/translated/sales_order.js:300 -#: templates/js/translated/sales_order.js:1197 -#: templates/js/translated/sales_order.js:1598 -#: templates/js/translated/sales_order.js:1796 +#: templates/js/translated/sales_order.js:1233 +#: templates/js/translated/sales_order.js:1634 +#: templates/js/translated/sales_order.js:1832 #: templates/js/translated/stock.js:676 templates/js/translated/stock.js:842 -#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1999 -#: templates/js/translated/stock.js:2860 templates/js/translated/stock.js:3093 -#: templates/js/translated/stock.js:3239 +#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1997 +#: templates/js/translated/stock.js:2857 templates/js/translated/stock.js:3090 +#: templates/js/translated/stock.js:3236 msgid "Part" msgstr "רכיב" -#: build/models.py:219 +#: build/models.py:242 msgid "Select part to build" msgstr "בחר רכיב לבנייה" -#: build/models.py:224 +#: build/models.py:247 msgid "Sales Order Reference" msgstr "" -#: build/models.py:228 +#: build/models.py:251 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:233 build/serializers.py:970 +#: build/models.py:256 build/serializers.py:969 #: templates/js/translated/build.js:1731 -#: templates/js/translated/sales_order.js:1185 +#: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "" -#: build/models.py:237 +#: build/models.py:260 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:242 +#: build/models.py:265 msgid "Destination Location" msgstr "" -#: build/models.py:246 +#: build/models.py:269 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:250 +#: build/models.py:273 msgid "Build Quantity" msgstr "כמות בניה" -#: build/models.py:253 +#: build/models.py:276 msgid "Number of stock items to build" msgstr "" -#: build/models.py:257 +#: build/models.py:280 msgid "Completed items" msgstr "" -#: build/models.py:259 +#: build/models.py:282 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:263 +#: build/models.py:286 msgid "Build Status" msgstr "" -#: build/models.py:267 +#: build/models.py:290 msgid "Build status code" msgstr "" -#: build/models.py:276 build/serializers.py:278 order/serializers.py:581 -#: stock/models.py:823 stock/serializers.py:1333 +#: build/models.py:299 build/serializers.py:277 order/serializers.py:581 +#: stock/models.py:844 stock/serializers.py:75 stock/serializers.py:1462 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" -#: build/models.py:280 build/serializers.py:279 +#: build/models.py:303 build/serializers.py:278 msgid "Batch code for this build output" msgstr "" -#: build/models.py:283 order/models.py:304 order/serializers.py:120 -#: part/models.py:1079 part/templates/part/part_base.html:310 -#: templates/js/translated/return_order.js:339 -#: templates/js/translated/sales_order.js:827 +#: build/models.py:306 order/models.py:317 order/serializers.py:120 +#: part/models.py:1122 part/templates/part/part_base.html:310 +#: templates/js/translated/return_order.js:338 +#: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "" -#: build/models.py:287 +#: build/models.py:310 msgid "Target completion date" msgstr "" -#: build/models.py:288 +#: build/models.py:311 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:291 order/models.py:500 order/models.py:2043 +#: build/models.py:314 order/models.py:522 order/models.py:2092 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "" -#: build/models.py:297 +#: build/models.py:320 msgid "completed by" msgstr "" -#: build/models.py:305 templates/js/translated/build.js:2207 +#: build/models.py:328 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "" -#: build/models.py:306 +#: build/models.py:329 msgid "User who issued this build order" msgstr "" -#: build/models.py:314 build/templates/build/build_base.html:204 +#: build/models.py:337 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:145 -#: order/models.py:322 order/templates/order/order_base.html:217 +#: order/models.py:335 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1096 +#: order/templates/order/sales_order_base.html:232 part/models.py:1139 #: part/templates/part/part_base.html:390 -#: report/templates/report/inventree_build_order_base.html:158 +#: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 #: templates/js/translated/build.js:2219 -#: templates/js/translated/purchase_order.js:1764 -#: templates/js/translated/return_order.js:359 +#: templates/js/translated/purchase_order.js:1763 +#: templates/js/translated/return_order.js:358 #: templates/js/translated/table_filters.js:531 msgid "Responsible" msgstr "" -#: build/models.py:315 +#: build/models.py:338 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:320 build/templates/build/detail.html:108 +#: build/models.py:343 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 -#: order/templates/order/sales_order_base.html:180 -#: part/templates/part/part_base.html:383 stock/models.py:819 +#: order/templates/order/sales_order_base.html:184 +#: part/templates/part/part_base.html:383 stock/models.py:840 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "" -#: build/models.py:325 +#: build/models.py:348 msgid "Build Priority" msgstr "" -#: build/models.py:328 +#: build/models.py:351 msgid "Priority of this build order" msgstr "" -#: build/models.py:335 common/models.py:129 order/admin.py:18 -#: order/models.py:286 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:358 common/models.py:129 order/admin.py:18 +#: order/models.py:299 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 -#: templates/js/translated/purchase_order.js:1711 -#: templates/js/translated/return_order.js:318 -#: templates/js/translated/sales_order.js:806 +#: templates/js/translated/purchase_order.js:1710 +#: templates/js/translated/return_order.js:317 +#: templates/js/translated/sales_order.js:842 #: templates/js/translated/table_filters.js:48 #: templates/project_code_data.html:6 msgid "Project Code" msgstr "" -#: build/models.py:336 +#: build/models.py:359 msgid "Project code for this build order" msgstr "" -#: build/models.py:566 build/models.py:631 +#: build/models.py:589 build/models.py:654 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:588 +#: build/models.py:611 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:594 +#: build/models.py:617 msgid "A build order has been completed" msgstr "" -#: build/models.py:820 build/models.py:895 +#: build/models.py:843 build/models.py:918 msgid "No build output specified" msgstr "" -#: build/models.py:823 +#: build/models.py:846 msgid "Build output is already completed" msgstr "" -#: build/models.py:826 +#: build/models.py:849 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:899 build/serializers.py:221 build/serializers.py:260 -#: build/serializers.py:837 order/models.py:538 order/serializers.py:433 -#: order/serializers.py:576 part/serializers.py:1471 part/serializers.py:1871 -#: stock/models.py:662 stock/models.py:1482 stock/serializers.py:472 +#: build/models.py:922 build/serializers.py:220 build/serializers.py:259 +#: build/serializers.py:836 order/models.py:560 order/serializers.py:433 +#: order/serializers.py:576 part/serializers.py:1486 part/serializers.py:1886 +#: stock/models.py:683 stock/models.py:1503 stock/serializers.py:601 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:904 build/serializers.py:226 +#: build/models.py:927 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:961 build/serializers.py:539 +#: build/models.py:984 build/serializers.py:538 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1323 +#: build/models.py:1335 +msgid "Build Order Line Item" +msgstr "" + +#: build/models.py:1360 msgid "Build object" msgstr "" -#: build/models.py:1337 build/models.py:1593 build/serializers.py:208 -#: build/serializers.py:245 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2524 -#: order/models.py:1259 order/models.py:1918 order/serializers.py:1339 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 -#: part/forms.py:48 part/models.py:3162 part/models.py:4035 +#: build/models.py:1374 build/models.py:1630 build/serializers.py:207 +#: build/serializers.py:244 build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2530 +#: order/models.py:1299 order/models.py:1958 order/serializers.py:1339 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 +#: part/forms.py:48 part/models.py:3205 part/models.py:4078 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 -#: report/templates/report/inventree_build_order_base.html:113 -#: report/templates/report/inventree_po_report_base.html:29 -#: report/templates/report/inventree_slr_report.html:104 -#: report/templates/report/inventree_so_report_base.html:29 -#: report/templates/report/inventree_test_report_base.html:90 -#: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:160 stock/serializers.py:463 +#: report/templates/report/inventree_build_order_report.html:113 +#: report/templates/report/inventree_purchase_order_report.html:29 +#: report/templates/report/inventree_sales_order_report.html:29 +#: report/templates/report/inventree_stock_location_report.html:104 +#: report/templates/report/inventree_test_report.html:90 +#: report/templates/report/inventree_test_report.html:170 stock/admin.py:160 +#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:592 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1324,380 +1328,381 @@ msgstr "" #: templates/js/translated/build.js:737 templates/js/translated/build.js:1369 #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 -#: templates/js/translated/model_renderers.js:230 +#: templates/js/translated/model_renderers.js:236 #: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3341 +#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3340 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 #: templates/js/translated/purchase_order.js:754 -#: templates/js/translated/purchase_order.js:1853 -#: templates/js/translated/purchase_order.js:2072 +#: templates/js/translated/purchase_order.js:1852 +#: templates/js/translated/purchase_order.js:2071 #: templates/js/translated/sales_order.js:317 -#: templates/js/translated/sales_order.js:1199 -#: templates/js/translated/sales_order.js:1518 -#: templates/js/translated/sales_order.js:1608 -#: templates/js/translated/sales_order.js:1698 -#: templates/js/translated/sales_order.js:1824 +#: templates/js/translated/sales_order.js:1235 +#: templates/js/translated/sales_order.js:1554 +#: templates/js/translated/sales_order.js:1644 +#: templates/js/translated/sales_order.js:1734 +#: templates/js/translated/sales_order.js:1860 #: templates/js/translated/stock.js:564 templates/js/translated/stock.js:702 -#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:3024 -#: templates/js/translated/stock.js:3107 +#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:3021 +#: templates/js/translated/stock.js:3104 msgid "Quantity" msgstr "כמות" -#: build/models.py:1338 +#: build/models.py:1375 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1418 +#: build/models.py:1455 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1427 +#: build/models.py:1464 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1437 order/models.py:1869 +#: build/models.py:1474 order/models.py:1909 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1443 order/models.py:1872 +#: build/models.py:1480 order/models.py:1912 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1449 +#: build/models.py:1486 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1508 +#: build/models.py:1545 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1580 build/serializers.py:817 order/serializers.py:1183 -#: order/serializers.py:1204 stock/serializers.py:566 stock/serializers.py:1052 -#: stock/serializers.py:1164 stock/templates/stock/item_base.html:10 +#: build/models.py:1617 build/serializers.py:816 order/serializers.py:1183 +#: order/serializers.py:1204 stock/models.py:364 stock/serializers.py:92 +#: stock/serializers.py:695 stock/serializers.py:1181 stock/serializers.py:1293 +#: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 #: templates/js/translated/build.js:1745 #: templates/js/translated/sales_order.js:301 -#: templates/js/translated/sales_order.js:1198 -#: templates/js/translated/sales_order.js:1499 -#: templates/js/translated/sales_order.js:1504 -#: templates/js/translated/sales_order.js:1605 -#: templates/js/translated/sales_order.js:1692 +#: templates/js/translated/sales_order.js:1234 +#: templates/js/translated/sales_order.js:1535 +#: templates/js/translated/sales_order.js:1540 +#: templates/js/translated/sales_order.js:1641 +#: templates/js/translated/sales_order.js:1728 #: templates/js/translated/stock.js:677 templates/js/translated/stock.js:843 -#: templates/js/translated/stock.js:2980 +#: templates/js/translated/stock.js:2977 msgid "Stock Item" msgstr "" -#: build/models.py:1581 +#: build/models.py:1618 msgid "Source stock item" msgstr "" -#: build/models.py:1594 +#: build/models.py:1631 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1602 +#: build/models.py:1639 msgid "Install into" msgstr "" -#: build/models.py:1603 +#: build/models.py:1640 msgid "Destination stock item" msgstr "" -#: build/serializers.py:158 build/serializers.py:846 +#: build/serializers.py:157 build/serializers.py:845 #: templates/js/translated/build.js:1322 msgid "Build Output" msgstr "" -#: build/serializers.py:170 +#: build/serializers.py:169 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:174 +#: build/serializers.py:173 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:178 +#: build/serializers.py:177 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:189 +#: build/serializers.py:188 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:209 build/serializers.py:246 +#: build/serializers.py:208 build/serializers.py:245 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:267 +#: build/serializers.py:266 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:270 +#: build/serializers.py:269 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:285 order/serializers.py:589 order/serializers.py:1343 -#: stock/serializers.py:483 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:284 order/serializers.py:589 order/serializers.py:1343 +#: stock/serializers.py:612 templates/js/translated/purchase_order.js:1153 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "מספרים סידוריים" -#: build/serializers.py:286 +#: build/serializers.py:285 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:291 build/serializers.py:432 build/serializers.py:504 +#: build/serializers.py:290 build/serializers.py:431 build/serializers.py:503 #: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1679 -#: part/serializers.py:1127 stock/serializers.py:494 stock/serializers.py:654 -#: stock/serializers.py:750 stock/serializers.py:1196 stock/serializers.py:1452 -#: stock/templates/stock/item_base.html:394 +#: part/serializers.py:1142 stock/serializers.py:101 stock/serializers.py:623 +#: stock/serializers.py:783 stock/serializers.py:879 stock/serializers.py:1325 +#: stock/serializers.py:1581 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 #: templates/js/translated/purchase_order.js:1178 #: templates/js/translated/purchase_order.js:1268 -#: templates/js/translated/sales_order.js:1511 -#: templates/js/translated/sales_order.js:1619 -#: templates/js/translated/sales_order.js:1627 -#: templates/js/translated/sales_order.js:1706 +#: templates/js/translated/sales_order.js:1547 +#: templates/js/translated/sales_order.js:1655 +#: templates/js/translated/sales_order.js:1663 +#: templates/js/translated/sales_order.js:1742 #: templates/js/translated/stock.js:678 templates/js/translated/stock.js:844 -#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2203 -#: templates/js/translated/stock.js:2874 +#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2201 +#: templates/js/translated/stock.js:2871 msgid "Location" msgstr "" -#: build/serializers.py:292 +#: build/serializers.py:291 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:306 +#: build/serializers.py:305 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:307 +#: build/serializers.py:306 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:322 +#: build/serializers.py:321 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:347 stock/api.py:995 +#: build/serializers.py:346 stock/api.py:1029 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:394 build/serializers.py:456 build/serializers.py:545 +#: build/serializers.py:393 build/serializers.py:455 build/serializers.py:544 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:433 +#: build/serializers.py:432 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:439 +#: build/serializers.py:438 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:440 +#: build/serializers.py:439 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:445 +#: build/serializers.py:444 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:505 +#: build/serializers.py:504 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:511 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:922 -#: order/models.py:2022 order/serializers.py:597 stock/admin.py:165 -#: stock/serializers.py:801 stock/serializers.py:1340 +#: build/serializers.py:510 build/templates/build/build_base.html:151 +#: build/templates/build/detail.html:62 order/models.py:953 +#: order/models.py:2071 order/serializers.py:597 stock/admin.py:165 +#: stock/serializers.py:930 stock/serializers.py:1469 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 -#: templates/js/translated/purchase_order.js:1723 -#: templates/js/translated/return_order.js:331 -#: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2178 templates/js/translated/stock.js:2998 -#: templates/js/translated/stock.js:3123 +#: templates/js/translated/purchase_order.js:1722 +#: templates/js/translated/return_order.js:330 +#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/stock.js:2176 templates/js/translated/stock.js:2995 +#: templates/js/translated/stock.js:3120 msgid "Status" msgstr "" -#: build/serializers.py:517 +#: build/serializers.py:516 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:518 +#: build/serializers.py:517 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:598 +#: build/serializers.py:597 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:599 +#: build/serializers.py:598 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:605 +#: build/serializers.py:604 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:606 +#: build/serializers.py:605 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:633 +#: build/serializers.py:632 msgid "Not permitted" msgstr "" -#: build/serializers.py:634 +#: build/serializers.py:633 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:635 +#: build/serializers.py:634 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:657 +#: build/serializers.py:656 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:659 +#: build/serializers.py:658 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:669 +#: build/serializers.py:668 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:674 +#: build/serializers.py:673 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:675 +#: build/serializers.py:674 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:685 templates/js/translated/build.js:315 +#: build/serializers.py:684 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:690 order/serializers.py:301 order/serializers.py:1246 +#: build/serializers.py:689 order/serializers.py:301 order/serializers.py:1246 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:691 +#: build/serializers.py:690 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:701 templates/js/translated/build.js:319 +#: build/serializers.py:700 templates/js/translated/build.js:319 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:710 templates/js/translated/build.js:303 +#: build/serializers.py:709 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:740 +#: build/serializers.py:739 msgid "Build Line" msgstr "" -#: build/serializers.py:750 +#: build/serializers.py:749 msgid "Build output" msgstr "" -#: build/serializers.py:758 +#: build/serializers.py:757 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:794 +#: build/serializers.py:793 msgid "Build Line Item" msgstr "" -#: build/serializers.py:808 +#: build/serializers.py:807 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:823 stock/serializers.py:1065 +#: build/serializers.py:822 stock/serializers.py:1194 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:871 order/serializers.py:1237 +#: build/serializers.py:870 order/serializers.py:1237 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:877 +#: build/serializers.py:876 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:884 +#: build/serializers.py:883 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:908 order/serializers.py:1489 +#: build/serializers.py:907 order/serializers.py:1489 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:971 +#: build/serializers.py:970 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:979 +#: build/serializers.py:978 msgid "Exclude Location" msgstr "" -#: build/serializers.py:980 +#: build/serializers.py:979 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:985 +#: build/serializers.py:984 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:986 +#: build/serializers.py:985 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:991 +#: build/serializers.py:990 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:992 +#: build/serializers.py:991 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:997 +#: build/serializers.py:996 msgid "Optional Items" msgstr "" -#: build/serializers.py:998 +#: build/serializers.py:997 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1020 +#: build/serializers.py:1019 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1110 part/models.py:3930 part/models.py:4366 -#: stock/api.py:758 +#: build/serializers.py:1109 part/models.py:3973 part/models.py:4409 +#: stock/api.py:792 msgid "BOM Item" msgstr "" -#: build/serializers.py:1119 templates/js/translated/index.js:130 +#: build/serializers.py:1118 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1124 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:817 part/serializers.py:1489 +#: build/serializers.py:1123 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:832 part/serializers.py:1504 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 @@ -1705,15 +1710,15 @@ msgstr "" msgid "On Order" msgstr "" -#: build/serializers.py:1129 part/serializers.py:1491 +#: build/serializers.py:1128 part/serializers.py:1506 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1134 part/bom.py:172 part/serializers.py:1514 +#: build/serializers.py:1133 part/bom.py:172 part/serializers.py:1529 #: part/templates/part/part_base.html:192 -#: templates/js/translated/sales_order.js:1893 +#: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "" @@ -1842,18 +1847,18 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:297 -#: order/models.py:1294 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:310 +#: order/models.py:1334 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 -#: order/templates/order/sales_order_base.html:192 -#: report/templates/report/inventree_build_order_base.html:125 +#: order/templates/order/sales_order_base.html:196 +#: report/templates/report/inventree_build_order_report.html:125 #: templates/js/translated/build.js:2239 templates/js/translated/part.js:1830 -#: templates/js/translated/purchase_order.js:1740 -#: templates/js/translated/purchase_order.js:2148 -#: templates/js/translated/return_order.js:347 -#: templates/js/translated/return_order.js:751 -#: templates/js/translated/sales_order.js:835 -#: templates/js/translated/sales_order.js:1867 +#: templates/js/translated/purchase_order.js:1739 +#: templates/js/translated/purchase_order.js:2147 +#: templates/js/translated/return_order.js:346 +#: templates/js/translated/return_order.js:750 +#: templates/js/translated/sales_order.js:871 +#: templates/js/translated/sales_order.js:1903 msgid "Target Date" msgstr "" @@ -1866,7 +1871,7 @@ msgstr "" #: build/templates/build/build_base.html:222 #: order/templates/order/order_base.html:122 #: order/templates/order/return_order_base.html:117 -#: order/templates/order/sales_order_base.html:122 +#: order/templates/order/sales_order_base.html:126 #: templates/js/translated/table_filters.js:98 #: templates/js/translated/table_filters.js:524 #: templates/js/translated/table_filters.js:626 @@ -1880,24 +1885,24 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:1538 -#: order/models.py:1652 order/models.py:1806 +#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:848 +#: order/models.py:1578 order/models.py:1692 order/models.py:1846 #: 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 +#: report/templates/report/inventree_build_order_report.html:135 +#: report/templates/report/inventree_sales_order_report.html:14 #: stock/templates/stock/item_base.html:369 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:929 -#: templates/js/translated/sales_order.js:769 -#: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2927 +#: templates/js/translated/sales_order.js:805 +#: templates/js/translated/sales_order.js:1028 +#: templates/js/translated/stock.js:2924 msgid "Sales Order" msgstr "" #: build/templates/build/build_base.html:197 #: build/templates/build/detail.html:115 -#: report/templates/report/inventree_build_order_base.html:152 +#: report/templates/report/inventree_build_order_report.html:152 #: templates/js/translated/table_filters.js:24 msgid "Issued By" msgstr "" @@ -1907,15 +1912,15 @@ msgstr "" msgid "Priority" msgstr "" -#: build/templates/build/build_base.html:273 +#: build/templates/build/build_base.html:269 msgid "Delete Build Order" msgstr "" -#: build/templates/build/build_base.html:283 +#: build/templates/build/build_base.html:279 msgid "Build Order QR Code" msgstr "" -#: build/templates/build/build_base.html:295 +#: build/templates/build/build_base.html:291 msgid "Link Barcode to Build Order" msgstr "" @@ -1931,8 +1936,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1430 -#: templates/js/translated/purchase_order.js:2190 +#: build/templates/build/detail.html:49 order/models.py:1470 +#: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "" @@ -1947,10 +1952,10 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 #: templates/js/translated/build.js:1380 -#: templates/js/translated/model_renderers.js:235 +#: templates/js/translated/model_renderers.js:241 #: templates/js/translated/purchase_order.js:1274 -#: templates/js/translated/stock.js:1133 templates/js/translated/stock.js:2192 -#: templates/js/translated/stock.js:3130 +#: templates/js/translated/stock.js:1133 templates/js/translated/stock.js:2190 +#: templates/js/translated/stock.js:3127 #: templates/js/translated/table_filters.js:313 #: templates/js/translated/table_filters.js:404 msgid "Batch" @@ -1959,7 +1964,7 @@ msgstr "" #: build/templates/build/detail.html:133 #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:151 -#: order/templates/order/sales_order_base.html:186 +#: order/templates/order/sales_order_base.html:190 #: templates/js/translated/build.js:2199 msgid "Created" msgstr "" @@ -1969,7 +1974,7 @@ msgid "No target date set" msgstr "" #: build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:202 +#: order/templates/order/sales_order_base.html:206 #: templates/js/translated/table_filters.js:689 msgid "Completed" msgstr "" @@ -2260,8 +2265,8 @@ msgstr "" #: common/models.py:1316 common/models.py:1372 common/models.py:1385 #: common/models.py:1393 common/models.py:1402 common/models.py:1411 -#: common/models.py:1613 common/models.py:1635 common/models.py:1750 -#: common/models.py:2061 +#: common/models.py:1619 common/models.py:1641 common/models.py:1756 +#: common/models.py:2067 msgid "days" msgstr "" @@ -2402,1209 +2407,1218 @@ msgid "Enable revision field for Part" msgstr "" #: common/models.py:1440 -msgid "IPN Regex" +msgid "Allow Deletion from Assembly" msgstr "" #: common/models.py:1441 +msgid "Allow deletion of parts which are used in an assembly" +msgstr "" + +#: common/models.py:1446 +msgid "IPN Regex" +msgstr "" + +#: common/models.py:1447 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1444 +#: common/models.py:1450 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1445 +#: common/models.py:1451 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1450 +#: common/models.py:1456 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1451 +#: common/models.py:1457 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1456 +#: common/models.py:1462 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1457 +#: common/models.py:1463 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1462 +#: common/models.py:1468 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1463 +#: common/models.py:1469 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1468 +#: common/models.py:1474 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1469 +#: common/models.py:1475 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1474 +#: common/models.py:1480 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1475 +#: common/models.py:1481 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1480 part/admin.py:108 part/models.py:3772 -#: report/models.py:182 stock/serializers.py:99 +#: common/models.py:1486 part/admin.py:108 part/models.py:3815 +#: report/models.py:294 report/models.py:361 report/serializers.py:90 +#: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:767 msgid "Template" msgstr "" -#: common/models.py:1481 +#: common/models.py:1487 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1486 part/admin.py:91 part/admin.py:431 part/models.py:1016 +#: common/models.py:1492 part/admin.py:91 part/admin.py:433 part/models.py:1059 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "" -#: common/models.py:1487 +#: common/models.py:1493 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1492 part/admin.py:95 part/models.py:1022 +#: common/models.py:1498 part/admin.py:95 part/models.py:1065 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "" -#: common/models.py:1493 +#: common/models.py:1499 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1498 part/admin.py:100 part/models.py:1034 +#: common/models.py:1504 part/admin.py:100 part/models.py:1077 msgid "Purchaseable" msgstr "" -#: common/models.py:1499 +#: common/models.py:1505 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1504 part/admin.py:104 part/models.py:1040 +#: common/models.py:1510 part/admin.py:104 part/models.py:1083 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "" -#: common/models.py:1505 +#: common/models.py:1511 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1510 part/admin.py:113 part/models.py:1028 +#: common/models.py:1516 part/admin.py:113 part/models.py:1071 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "" -#: common/models.py:1511 +#: common/models.py:1517 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1516 part/admin.py:117 part/models.py:1050 +#: common/models.py:1522 part/admin.py:117 part/models.py:1093 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "" -#: common/models.py:1517 +#: common/models.py:1523 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1522 +#: common/models.py:1528 msgid "Show Import in Views" msgstr "" -#: common/models.py:1523 +#: common/models.py:1529 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1528 +#: common/models.py:1534 msgid "Show related parts" msgstr "" -#: common/models.py:1529 +#: common/models.py:1535 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1534 +#: common/models.py:1540 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1535 +#: common/models.py:1541 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1540 templates/js/translated/part.js:107 +#: common/models.py:1546 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1542 +#: common/models.py:1548 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1548 +#: common/models.py:1554 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1549 +#: common/models.py:1555 msgid "Format to display the part name" msgstr "" -#: common/models.py:1555 +#: common/models.py:1561 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1556 +#: common/models.py:1562 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1560 +#: common/models.py:1566 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1562 +#: common/models.py:1568 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1568 +#: common/models.py:1574 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1570 +#: common/models.py:1576 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1576 +#: common/models.py:1582 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1578 +#: common/models.py:1584 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1584 +#: common/models.py:1590 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1586 +#: common/models.py:1592 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1592 +#: common/models.py:1598 msgid "Purchase History Override" msgstr "" -#: common/models.py:1594 +#: common/models.py:1600 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1600 +#: common/models.py:1606 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1602 +#: common/models.py:1608 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1608 +#: common/models.py:1614 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1610 +#: common/models.py:1616 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1617 +#: common/models.py:1623 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1618 +#: common/models.py:1624 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1623 +#: common/models.py:1629 msgid "Active Variants Only" msgstr "" -#: common/models.py:1625 +#: common/models.py:1631 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1631 +#: common/models.py:1637 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1633 +#: common/models.py:1639 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1640 +#: common/models.py:1646 msgid "Internal Prices" msgstr "" -#: common/models.py:1641 +#: common/models.py:1647 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1646 +#: common/models.py:1652 msgid "Internal Price Override" msgstr "" -#: common/models.py:1648 +#: common/models.py:1654 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1654 +#: common/models.py:1660 msgid "Enable label printing" msgstr "" -#: common/models.py:1655 +#: common/models.py:1661 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1660 +#: common/models.py:1666 msgid "Label Image DPI" msgstr "" -#: common/models.py:1662 +#: common/models.py:1668 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1668 +#: common/models.py:1674 msgid "Enable Reports" msgstr "" -#: common/models.py:1669 +#: common/models.py:1675 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1674 templates/stats.html:25 +#: common/models.py:1680 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1675 +#: common/models.py:1681 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1680 +#: common/models.py:1686 msgid "Log Report Errors" msgstr "" -#: common/models.py:1681 +#: common/models.py:1687 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1686 plugin/builtin/labels/label_sheet.py:28 -#: report/models.py:203 +#: common/models.py:1692 plugin/builtin/labels/label_sheet.py:28 +#: report/models.py:302 msgid "Page Size" msgstr "" -#: common/models.py:1687 +#: common/models.py:1693 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1692 +#: common/models.py:1698 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1693 +#: common/models.py:1699 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1698 +#: common/models.py:1704 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1700 +#: common/models.py:1706 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1706 +#: common/models.py:1712 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1707 +#: common/models.py:1713 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1712 +#: common/models.py:1718 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1713 +#: common/models.py:1719 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1718 +#: common/models.py:1724 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1720 +#: common/models.py:1726 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1726 +#: common/models.py:1732 msgid "Batch Code Template" msgstr "" -#: common/models.py:1728 +#: common/models.py:1734 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1733 +#: common/models.py:1739 msgid "Stock Expiry" msgstr "" -#: common/models.py:1734 +#: common/models.py:1740 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1739 +#: common/models.py:1745 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1740 +#: common/models.py:1746 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1745 +#: common/models.py:1751 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1747 +#: common/models.py:1753 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1754 +#: common/models.py:1760 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1755 +#: common/models.py:1761 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1760 +#: common/models.py:1766 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1761 +#: common/models.py:1767 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1766 +#: common/models.py:1772 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1767 +#: common/models.py:1773 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1771 +#: common/models.py:1777 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1772 +#: common/models.py:1778 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1777 +#: common/models.py:1783 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1779 +#: common/models.py:1785 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1785 +#: common/models.py:1791 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1787 +#: common/models.py:1793 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1793 +#: common/models.py:1799 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1795 +#: common/models.py:1801 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1801 common/models.py:1829 common/models.py:1851 -#: common/models.py:1879 +#: common/models.py:1807 common/models.py:1835 common/models.py:1857 +#: common/models.py:1885 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1802 common/models.py:1830 common/models.py:1852 -#: common/models.py:1880 +#: common/models.py:1808 common/models.py:1836 common/models.py:1858 +#: common/models.py:1886 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1807 +#: common/models.py:1813 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1809 +#: common/models.py:1815 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1815 +#: common/models.py:1821 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1816 +#: common/models.py:1822 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1821 +#: common/models.py:1827 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1823 +#: common/models.py:1829 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1835 +#: common/models.py:1841 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1837 +#: common/models.py:1843 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1843 +#: common/models.py:1849 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1845 +#: common/models.py:1851 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1857 +#: common/models.py:1863 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1858 +#: common/models.py:1864 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1863 +#: common/models.py:1869 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1865 +#: common/models.py:1871 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1871 +#: common/models.py:1877 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1873 +#: common/models.py:1879 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1885 +#: common/models.py:1891 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1887 +#: common/models.py:1893 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1893 +#: common/models.py:1899 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1895 +#: common/models.py:1901 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1902 +#: common/models.py:1908 msgid "Enable password forgot" msgstr "" -#: common/models.py:1903 +#: common/models.py:1909 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1908 +#: common/models.py:1914 msgid "Enable registration" msgstr "" -#: common/models.py:1909 +#: common/models.py:1915 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1914 +#: common/models.py:1920 msgid "Enable SSO" msgstr "" -#: common/models.py:1915 +#: common/models.py:1921 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1920 +#: common/models.py:1926 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1922 +#: common/models.py:1928 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1928 +#: common/models.py:1934 msgid "Email required" msgstr "" -#: common/models.py:1929 +#: common/models.py:1935 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1934 +#: common/models.py:1940 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1936 +#: common/models.py:1942 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1942 +#: common/models.py:1948 msgid "Mail twice" msgstr "" -#: common/models.py:1943 +#: common/models.py:1949 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1948 +#: common/models.py:1954 msgid "Password twice" msgstr "" -#: common/models.py:1949 +#: common/models.py:1955 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1954 +#: common/models.py:1960 msgid "Allowed domains" msgstr "" -#: common/models.py:1956 +#: common/models.py:1962 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1962 +#: common/models.py:1968 msgid "Group on signup" msgstr "" -#: common/models.py:1963 +#: common/models.py:1969 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1968 +#: common/models.py:1974 msgid "Enforce MFA" msgstr "" -#: common/models.py:1969 +#: common/models.py:1975 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1974 +#: common/models.py:1980 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1976 +#: common/models.py:1982 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1984 +#: common/models.py:1990 msgid "Check for plugin updates" msgstr "" -#: common/models.py:1985 +#: common/models.py:1991 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:1991 +#: common/models.py:1997 msgid "Enable URL integration" msgstr "" -#: common/models.py:1992 +#: common/models.py:1998 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1998 +#: common/models.py:2004 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1999 +#: common/models.py:2005 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2005 +#: common/models.py:2011 msgid "Enable app integration" msgstr "" -#: common/models.py:2006 +#: common/models.py:2012 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2012 +#: common/models.py:2018 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2013 +#: common/models.py:2019 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2019 +#: common/models.py:2025 msgid "Enable event integration" msgstr "" -#: common/models.py:2020 +#: common/models.py:2026 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2026 +#: common/models.py:2032 msgid "Enable project codes" msgstr "" -#: common/models.py:2027 +#: common/models.py:2033 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2032 +#: common/models.py:2038 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2034 +#: common/models.py:2040 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2040 +#: common/models.py:2046 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2042 +#: common/models.py:2048 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2048 +#: common/models.py:2054 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2050 +#: common/models.py:2056 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2056 +#: common/models.py:2062 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2058 +#: common/models.py:2064 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2065 +#: common/models.py:2071 msgid "Display Users full names" msgstr "" -#: common/models.py:2066 +#: common/models.py:2072 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2071 +#: common/models.py:2077 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2072 +#: common/models.py:2078 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2084 common/models.py:2494 +#: common/models.py:2090 common/models.py:2500 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2127 +#: common/models.py:2133 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2129 +#: common/models.py:2135 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2135 +#: common/models.py:2141 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2136 +#: common/models.py:2142 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2141 +#: common/models.py:2147 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2142 +#: common/models.py:2148 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2147 +#: common/models.py:2153 msgid "Show latest parts" msgstr "" -#: common/models.py:2148 +#: common/models.py:2154 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2153 +#: common/models.py:2159 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2154 +#: common/models.py:2160 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2159 +#: common/models.py:2165 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2160 +#: common/models.py:2166 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2165 +#: common/models.py:2171 msgid "Show low stock" msgstr "" -#: common/models.py:2166 +#: common/models.py:2172 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2171 +#: common/models.py:2177 msgid "Show depleted stock" msgstr "" -#: common/models.py:2172 +#: common/models.py:2178 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2177 +#: common/models.py:2183 msgid "Show needed stock" msgstr "" -#: common/models.py:2178 +#: common/models.py:2184 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2183 +#: common/models.py:2189 msgid "Show expired stock" msgstr "" -#: common/models.py:2184 +#: common/models.py:2190 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2189 +#: common/models.py:2195 msgid "Show stale stock" msgstr "" -#: common/models.py:2190 +#: common/models.py:2196 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2195 +#: common/models.py:2201 msgid "Show pending builds" msgstr "" -#: common/models.py:2196 +#: common/models.py:2202 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2201 +#: common/models.py:2207 msgid "Show overdue builds" msgstr "" -#: common/models.py:2202 +#: common/models.py:2208 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2207 +#: common/models.py:2213 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2208 +#: common/models.py:2214 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2213 +#: common/models.py:2219 msgid "Show overdue POs" msgstr "" -#: common/models.py:2214 +#: common/models.py:2220 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2219 +#: common/models.py:2225 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2220 +#: common/models.py:2226 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2225 +#: common/models.py:2231 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2226 +#: common/models.py:2232 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2231 +#: common/models.py:2237 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2232 +#: common/models.py:2238 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2237 +#: common/models.py:2243 msgid "Show News" msgstr "" -#: common/models.py:2238 +#: common/models.py:2244 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2243 +#: common/models.py:2249 msgid "Inline label display" msgstr "" -#: common/models.py:2245 +#: common/models.py:2251 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2251 +#: common/models.py:2257 msgid "Default label printer" msgstr "" -#: common/models.py:2253 +#: common/models.py:2259 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2259 +#: common/models.py:2265 msgid "Inline report display" msgstr "" -#: common/models.py:2261 +#: common/models.py:2267 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2267 +#: common/models.py:2273 msgid "Search Parts" msgstr "" -#: common/models.py:2268 +#: common/models.py:2274 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2273 +#: common/models.py:2279 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2274 +#: common/models.py:2280 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2279 +#: common/models.py:2285 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2280 +#: common/models.py:2286 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2285 +#: common/models.py:2291 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2286 +#: common/models.py:2292 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2291 +#: common/models.py:2297 msgid "Search Categories" msgstr "" -#: common/models.py:2292 +#: common/models.py:2298 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2297 +#: common/models.py:2303 msgid "Search Stock" msgstr "" -#: common/models.py:2298 +#: common/models.py:2304 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2303 +#: common/models.py:2309 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2305 +#: common/models.py:2311 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2311 +#: common/models.py:2317 msgid "Search Locations" msgstr "" -#: common/models.py:2312 +#: common/models.py:2318 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2317 +#: common/models.py:2323 msgid "Search Companies" msgstr "" -#: common/models.py:2318 +#: common/models.py:2324 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2323 +#: common/models.py:2329 msgid "Search Build Orders" msgstr "" -#: common/models.py:2324 +#: common/models.py:2330 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2329 +#: common/models.py:2335 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2330 +#: common/models.py:2336 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2335 +#: common/models.py:2341 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2337 +#: common/models.py:2343 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2343 +#: common/models.py:2349 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2344 +#: common/models.py:2350 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2349 +#: common/models.py:2355 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2351 +#: common/models.py:2357 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2357 +#: common/models.py:2363 msgid "Search Return Orders" msgstr "" -#: common/models.py:2358 +#: common/models.py:2364 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2363 +#: common/models.py:2369 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2365 +#: common/models.py:2371 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2371 +#: common/models.py:2377 msgid "Search Preview Results" msgstr "" -#: common/models.py:2373 +#: common/models.py:2379 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2379 +#: common/models.py:2385 msgid "Regex Search" msgstr "" -#: common/models.py:2380 +#: common/models.py:2386 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2385 +#: common/models.py:2391 msgid "Whole Word Search" msgstr "" -#: common/models.py:2386 +#: common/models.py:2392 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2391 +#: common/models.py:2397 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2392 +#: common/models.py:2398 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2397 +#: common/models.py:2403 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2398 +#: common/models.py:2404 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2403 +#: common/models.py:2409 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2404 +#: common/models.py:2410 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2409 +#: common/models.py:2415 msgid "Date Format" msgstr "" -#: common/models.py:2410 +#: common/models.py:2416 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2423 part/templates/part/detail.html:41 +#: common/models.py:2429 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2424 +#: common/models.py:2430 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2429 part/templates/part/detail.html:62 +#: common/models.py:2435 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2431 +#: common/models.py:2437 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2437 +#: common/models.py:2443 msgid "Table String Length" msgstr "" -#: common/models.py:2439 +#: common/models.py:2445 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2445 +#: common/models.py:2451 msgid "Default part label template" msgstr "" -#: common/models.py:2446 +#: common/models.py:2452 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2451 +#: common/models.py:2457 msgid "Default stock item template" msgstr "" -#: common/models.py:2453 +#: common/models.py:2459 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2459 +#: common/models.py:2465 msgid "Default stock location label template" msgstr "" -#: common/models.py:2461 +#: common/models.py:2467 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2467 +#: common/models.py:2473 msgid "Default build line label template" msgstr "" -#: common/models.py:2469 +#: common/models.py:2475 msgid "The build line label template to be automatically selected" msgstr "" -#: common/models.py:2475 +#: common/models.py:2481 msgid "Receive error reports" msgstr "" -#: common/models.py:2476 +#: common/models.py:2482 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2481 +#: common/models.py:2487 msgid "Last used printing machines" msgstr "" -#: common/models.py:2482 +#: common/models.py:2488 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2525 +#: common/models.py:2531 msgid "Price break quantity" msgstr "" -#: common/models.py:2532 company/serializers.py:496 order/admin.py:42 -#: order/models.py:1333 order/models.py:2243 +#: common/models.py:2538 company/serializers.py:496 order/admin.py:42 +#: order/models.py:1373 order/models.py:2292 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 -#: templates/js/translated/return_order.js:741 +#: templates/js/translated/return_order.js:740 msgid "Price" msgstr "" -#: common/models.py:2533 +#: common/models.py:2539 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2704 common/models.py:2889 +#: common/models.py:2710 common/models.py:2895 msgid "Endpoint" msgstr "" -#: common/models.py:2705 +#: common/models.py:2711 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2715 +#: common/models.py:2721 msgid "Name for this webhook" msgstr "" -#: common/models.py:2719 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1045 -#: plugin/models.py:56 templates/js/translated/company.js:523 +#: common/models.py:2725 company/models.py:160 company/models.py:814 +#: machine/models.py:39 part/admin.py:88 part/models.py:1088 +#: plugin/models.py:65 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:492 @@ -3614,135 +3628,135 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2719 +#: common/models.py:2725 msgid "Is this webhook active" msgstr "" -#: common/models.py:2735 users/models.py:159 +#: common/models.py:2741 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2736 +#: common/models.py:2742 msgid "Token for access" msgstr "" -#: common/models.py:2744 +#: common/models.py:2750 msgid "Secret" msgstr "" -#: common/models.py:2745 +#: common/models.py:2751 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2853 +#: common/models.py:2859 msgid "Message ID" msgstr "" -#: common/models.py:2854 +#: common/models.py:2860 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2862 +#: common/models.py:2868 msgid "Host" msgstr "" -#: common/models.py:2863 +#: common/models.py:2869 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2871 +#: common/models.py:2877 msgid "Header" msgstr "" -#: common/models.py:2872 +#: common/models.py:2878 msgid "Header of this message" msgstr "" -#: common/models.py:2879 +#: common/models.py:2885 msgid "Body" msgstr "" -#: common/models.py:2880 +#: common/models.py:2886 msgid "Body of this message" msgstr "" -#: common/models.py:2890 +#: common/models.py:2896 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2895 +#: common/models.py:2901 msgid "Worked on" msgstr "" -#: common/models.py:2896 +#: common/models.py:2902 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3022 +#: common/models.py:3028 msgid "Id" msgstr "" -#: common/models.py:3024 templates/js/translated/company.js:965 +#: common/models.py:3030 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3028 templates/js/translated/news.js:60 +#: common/models.py:3034 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3030 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3036 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3032 templates/js/translated/news.js:52 +#: common/models.py:3038 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3035 +#: common/models.py:3041 msgid "Read" msgstr "" -#: common/models.py:3035 +#: common/models.py:3041 msgid "Was this news item read?" msgstr "" -#: common/models.py:3052 company/models.py:156 part/models.py:929 +#: common/models.py:3058 company/models.py:156 part/models.py:972 #: 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 +#: report/templates/report/inventree_return_order_report.html:35 #: stock/templates/stock/item_base.html:133 templates/503.html:31 #: templates/hover_image.html:7 templates/hover_image.html:9 #: templates/modals.html:6 msgid "Image" msgstr "" -#: common/models.py:3052 +#: common/models.py:3058 msgid "Image file" msgstr "" -#: common/models.py:3094 +#: common/models.py:3100 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3113 +#: common/models.py:3119 msgid "Unit name" msgstr "" -#: common/models.py:3120 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3126 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3121 +#: common/models.py:3127 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3128 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3134 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3129 +#: common/models.py:3135 msgid "Unit definition" msgstr "" @@ -3929,9 +3943,9 @@ msgid "Contact email address" msgstr "" #: company/models.py:139 company/templates/company/company_base.html:145 -#: order/models.py:331 order/templates/order/order_base.html:203 +#: order/models.py:344 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 -#: order/templates/order/sales_order_base.html:214 +#: order/templates/order/sales_order_base.html:218 msgid "Contact" msgstr "" @@ -3977,7 +3991,7 @@ msgstr "" #: company/models.py:273 company/models.py:382 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:776 +#: company/templates/company/company_base.html:12 stock/api.py:810 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "" @@ -4069,8 +4083,8 @@ msgstr "" msgid "Link to address information (external)" msgstr "" -#: company/models.py:489 company/models.py:792 stock/models.py:751 -#: stock/serializers.py:266 stock/templates/stock/item_base.html:142 +#: company/models.py:489 company/models.py:792 stock/models.py:772 +#: stock/serializers.py:395 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -4081,7 +4095,7 @@ msgstr "" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:515 +#: company/templates/company/supplier_part.html:145 part/serializers.py:530 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4096,13 +4110,13 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:525 +#: company/templates/company/supplier_part.html:153 part/serializers.py:540 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800 -#: templates/js/translated/purchase_order.js:1852 -#: templates/js/translated/purchase_order.js:2054 +#: templates/js/translated/purchase_order.js:1851 +#: templates/js/translated/purchase_order.js:2053 msgid "MPN" msgstr "" @@ -4129,9 +4143,8 @@ msgstr "" msgid "Parameter name" msgstr "" -#: company/models.py:621 -#: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2448 templates/js/translated/company.js:1166 +#: company/models.py:621 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2425 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492 #: templates/js/translated/stock.js:1522 msgid "Value" @@ -4142,10 +4155,10 @@ msgid "Parameter value" msgstr "" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1009 part/models.py:3623 +#: part/admin.py:57 part/models.py:1052 part/models.py:3666 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 -#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370 +#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 msgid "Units" msgstr "" @@ -4166,9 +4179,9 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:465 +#: company/templates/company/supplier_part.html:129 order/models.py:487 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:499 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:514 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4176,7 +4189,7 @@ msgstr "" #: templates/js/translated/company.js:511 #: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1690 +#: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/table_filters.js:804 msgid "Supplier" msgstr "" @@ -4185,7 +4198,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:809 part/serializers.py:510 +#: company/models.py:809 part/serializers.py:525 msgid "Supplier stock keeping unit" msgstr "" @@ -4206,29 +4219,29 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:418 part/models.py:4070 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4113 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 -#: report/templates/report/inventree_slr_report.html:105 -#: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:579 +#: report/templates/report/inventree_purchase_order_report.html:32 +#: report/templates/report/inventree_return_order_report.html:27 +#: report/templates/report/inventree_sales_order_report.html:32 +#: report/templates/report/inventree_stock_location_report.html:105 +#: stock/serializers.py:708 msgid "Note" msgstr "" -#: company/models.py:857 part/models.py:1967 +#: company/models.py:857 part/models.py:2010 msgid "base cost" msgstr "" -#: company/models.py:858 part/models.py:1968 +#: company/models.py:858 part/models.py:2011 msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:782 stock/serializers.py:1350 +#: stock/admin.py:224 stock/models.py:803 stock/serializers.py:1479 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 -#: templates/js/translated/stock.js:2426 +#: templates/js/translated/stock.js:2424 msgid "Packaging" msgstr "" @@ -4241,8 +4254,8 @@ msgstr "" #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 -#: templates/js/translated/purchase_order.js:2085 -#: templates/js/translated/purchase_order.js:2102 +#: templates/js/translated/purchase_order.js:2084 +#: templates/js/translated/purchase_order.js:2101 msgid "Pack Quantity" msgstr "" @@ -4250,7 +4263,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:892 part/models.py:1974 +#: company/models.py:892 part/models.py:2017 msgid "multiple" msgstr "" @@ -4285,7 +4298,7 @@ msgstr "" #: part/templates/part/part_base.html:146 #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 -#: templates/js/translated/model_renderers.js:306 +#: templates/js/translated/model_renderers.js:312 #: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 msgid "Inactive" msgstr "" @@ -4321,11 +4334,11 @@ msgstr "" #: company/templates/company/manufacturer_part.html:51 #: company/templates/company/supplier_part.html:83 #: part/templates/part/part_thumb.html:20 -#: report/templates/report/inventree_build_order_base.html:98 -#: report/templates/report/inventree_po_report_base.html:40 -#: report/templates/report/inventree_so_report_base.html:40 -#: report/templates/report/inventree_test_report_base.html:84 -#: report/templates/report/inventree_test_report_base.html:163 +#: report/templates/report/inventree_build_order_report.html:98 +#: report/templates/report/inventree_purchase_order_report.html:40 +#: report/templates/report/inventree_sales_order_report.html:40 +#: report/templates/report/inventree_test_report.html:84 +#: report/templates/report/inventree_test_report.html:163 msgid "Part image" msgstr "" @@ -4344,16 +4357,16 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:92 order/models.py:910 -#: order/models.py:2010 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:144 stock/models.py:804 -#: stock/models.py:805 stock/serializers.py:1100 +#: company/templates/company/company_base.html:92 order/models.py:941 +#: order/models.py:2059 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:148 stock/models.py:825 +#: stock/models.py:826 stock/serializers.py:1229 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 -#: templates/js/translated/return_order.js:296 -#: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2962 +#: templates/js/translated/return_order.js:295 +#: templates/js/translated/sales_order.js:820 +#: templates/js/translated/stock.js:2959 #: templates/js/translated/table_filters.js:808 msgid "Customer" msgstr "" @@ -4362,10 +4375,10 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:124 order/models.py:341 +#: company/templates/company/company_base.html:124 order/models.py:354 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 -#: order/templates/order/sales_order_base.html:221 +#: order/templates/order/sales_order_base.html:225 msgid "Address" msgstr "" @@ -4374,7 +4387,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:211 -#: part/templates/part/part_base.html:528 +#: part/templates/part/part_base.html:527 msgid "Remove Image" msgstr "" @@ -4383,19 +4396,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:214 -#: part/templates/part/part_base.html:531 +#: part/templates/part/part_base.html:530 #: templates/InvenTree/settings/user.html:88 #: templates/InvenTree/settings/user_sso.html:43 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:243 -#: part/templates/part/part_base.html:560 +#: part/templates/part/part_base.html:559 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:258 -#: part/templates/part/part_base.html:614 +#: part/templates/part/part_base.html:613 msgid "Download Image" msgstr "" @@ -4558,7 +4571,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:821 +#: part/admin.py:122 part/serializers.py:836 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4609,10 +4622,10 @@ msgstr "" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:452 -#: stock/models.py:762 stock/templates/stock/item_base.html:233 +#: stock/models.py:783 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 -#: templates/js/translated/stock.js:2282 +#: templates/js/translated/stock.js:2280 msgid "Supplier Part" msgstr "" @@ -4658,11 +4671,11 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:509 +#: part/bom.py:311 part/serializers.py:524 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1851 -#: templates/js/translated/purchase_order.js:2029 +#: templates/js/translated/purchase_order.js:1850 +#: templates/js/translated/purchase_order.js:2028 msgid "SKU" msgstr "" @@ -4671,12 +4684,12 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:209 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:199 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:206 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:200 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:207 #: templates/js/translated/stock.js:537 msgid "New Stock Item" msgstr "" @@ -4708,16 +4721,16 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:820 part/stocktake.py:223 +#: part/serializers.py:835 part/stocktake.py:223 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:787 stock/serializers.py:951 +#: stock/serializers.py:916 stock/serializers.py:1080 #: stock/templates/stock/location.html:170 -#: stock/templates/stock/location.html:184 -#: stock/templates/stock/location.html:196 +#: stock/templates/stock/location.html:191 +#: stock/templates/stock/location.html:203 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2769 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 #: users/models.py:206 msgid "Stock Items" msgstr "" @@ -4751,126 +4764,48 @@ msgstr "" msgid "New Company" msgstr "" -#: label/api.py:247 -msgid "Error printing label" -msgstr "" - -#: label/models.py:120 -msgid "Label name" -msgstr "" - -#: label/models.py:128 -msgid "Label description" -msgstr "" - -#: label/models.py:136 -msgid "Label" -msgstr "" - -#: label/models.py:137 -msgid "Label template file" -msgstr "" - -#: label/models.py:143 part/models.py:3494 report/models.py:324 -#: templates/js/translated/part.js:2900 -#: templates/js/translated/table_filters.js:481 -msgid "Enabled" -msgstr "" - -#: label/models.py:144 -msgid "Label template is enabled" -msgstr "" - -#: label/models.py:149 -msgid "Width [mm]" -msgstr "" - -#: label/models.py:150 -msgid "Label width, specified in mm" -msgstr "" - -#: label/models.py:156 -msgid "Height [mm]" -msgstr "" - -#: label/models.py:157 -msgid "Label height, specified in mm" -msgstr "" - -#: label/models.py:163 report/models.py:317 -msgid "Filename Pattern" -msgstr "" - -#: label/models.py:164 -msgid "Pattern for generating label filenames" -msgstr "" - -#: label/models.py:313 label/models.py:352 label/models.py:377 -#: label/models.py:412 -msgid "Query filters (comma-separated list of key=value pairs)" -msgstr "" - -#: label/models.py:314 label/models.py:353 label/models.py:378 -#: label/models.py:413 report/models.py:345 report/models.py:496 -#: report/models.py:532 report/models.py:568 report/models.py:750 -msgid "Filters" -msgstr "" - -#: label/templates/label/part/part_label.html:31 -#: label/templates/label/stockitem/qr.html:21 -#: label/templates/label/stocklocation/qr.html:20 -#: templates/allauth_2fa/setup.html:18 -msgid "QR Code" -msgstr "" - -#: label/templates/label/part/part_label_code128.html:31 -#: label/templates/label/stocklocation/qr_and_text.html:31 -#: templates/qr_code.html:7 -msgid "QR code" -msgstr "" - -#: machine/machine_types/label_printer.py:217 +#: machine/machine_types/label_printer.py:218 msgid "Copies" msgstr "" -#: machine/machine_types/label_printer.py:218 +#: machine/machine_types/label_printer.py:219 msgid "Number of copies to print for each label" msgstr "" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:234 msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:234 order/api.py:1515 -#: templates/js/translated/sales_order.js:1042 +#: machine/machine_types/label_printer.py:235 order/api.py:1515 +#: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "" -#: machine/machine_types/label_printer.py:235 +#: machine/machine_types/label_printer.py:236 msgid "Printing" msgstr "" -#: machine/machine_types/label_printer.py:236 +#: machine/machine_types/label_printer.py:237 msgid "No media" msgstr "" -#: machine/machine_types/label_printer.py:237 +#: machine/machine_types/label_printer.py:238 msgid "Disconnected" msgstr "" -#: machine/machine_types/label_printer.py:244 +#: machine/machine_types/label_printer.py:245 msgid "Label Printer" msgstr "" -#: machine/machine_types/label_printer.py:245 +#: machine/machine_types/label_printer.py:246 msgid "Directly print labels for various items." msgstr "" -#: machine/machine_types/label_printer.py:251 +#: machine/machine_types/label_printer.py:252 msgid "Printer Location" msgstr "" -#: machine/machine_types/label_printer.py:252 +#: machine/machine_types/label_printer.py:253 msgid "Scope the printer to a specific location" msgstr "" @@ -4930,19 +4865,19 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:89 -#: report/templates/report/inventree_po_report_base.html:31 -#: report/templates/report/inventree_so_report_base.html:31 +#: order/admin.py:30 order/models.py:90 +#: report/templates/report/inventree_purchase_order_report.html:31 +#: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2126 -#: templates/js/translated/sales_order.js:1847 +#: templates/js/translated/purchase_order.js:2125 +#: templates/js/translated/sales_order.js:1883 msgid "Total Price" msgstr "" #: order/api.py:161 order/serializers.py:91 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 -#: order/templates/order/sales_order_base.html:118 +#: order/templates/order/sales_order_base.html:122 msgid "Order Status" msgstr "" @@ -4955,10 +4890,10 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:437 order/api.py:817 order/models.py:1382 order/models.py:1491 -#: order/models.py:1537 order/models.py:1651 order/models.py:1805 -#: order/models.py:2209 order/models.py:2260 -#: templates/js/translated/sales_order.js:1488 +#: order/api.py:437 order/api.py:817 order/models.py:1422 order/models.py:1531 +#: order/models.py:1577 order/models.py:1691 order/models.py:1845 +#: order/models.py:2258 order/models.py:2309 +#: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" @@ -4970,402 +4905,398 @@ msgstr "" msgid "Order Pending" msgstr "" -#: order/api.py:1509 order/models.py:1383 order/models.py:1492 -#: order/templates/order/order_base.html:9 +#: order/api.py:1509 order/models.py:381 order/models.py:1423 +#: order/models.py:1532 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 -#: report/templates/report/inventree_po_report_base.html:14 -#: stock/templates/stock/item_base.html:176 +#: report/templates/report/inventree_purchase_order_report.html:14 +#: stock/serializers.py:119 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 -#: templates/js/translated/purchase_order.js:1674 -#: templates/js/translated/stock.js:2262 templates/js/translated/stock.js:2910 +#: templates/js/translated/purchase_order.js:1673 +#: templates/js/translated/stock.js:2260 templates/js/translated/stock.js:2907 msgid "Purchase Order" msgstr "" -#: order/api.py:1513 order/models.py:2210 order/models.py:2261 -#: order/templates/order/return_order_base.html:9 +#: order/api.py:1513 order/models.py:2008 order/models.py:2259 +#: order/models.py:2310 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:281 -#: templates/js/translated/stock.js:2944 +#: report/templates/report/inventree_return_order_report.html:13 +#: templates/js/translated/return_order.js:280 +#: templates/js/translated/stock.js:2941 msgid "Return Order" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:96 order/serializers.py:71 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:99 order/serializers.py:72 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:246 +#: order/models.py:248 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:278 +#: order/models.py:291 msgid "Order description (optional)" msgstr "" -#: order/models.py:287 +#: order/models.py:300 msgid "Select project code for this order" msgstr "" -#: order/models.py:291 order/models.py:1288 order/models.py:1704 +#: order/models.py:304 order/models.py:1328 order/models.py:1744 msgid "Link to external page" msgstr "" -#: order/models.py:299 +#: order/models.py:312 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:313 +#: order/models.py:326 msgid "Created By" msgstr "" -#: order/models.py:321 +#: order/models.py:334 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:332 +#: order/models.py:345 msgid "Point of contact for this order" msgstr "" -#: order/models.py:342 +#: order/models.py:355 msgid "Company address for this order" msgstr "" -#: order/models.py:443 order/models.py:899 +#: order/models.py:465 order/models.py:930 msgid "Order reference" msgstr "" -#: order/models.py:451 order/models.py:923 +#: order/models.py:473 order/models.py:954 msgid "Purchase order status" msgstr "" -#: order/models.py:466 +#: order/models.py:488 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:477 order/templates/order/order_base.html:148 -#: templates/js/translated/purchase_order.js:1703 +#: order/models.py:499 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1702 msgid "Supplier Reference" msgstr "" -#: order/models.py:478 +#: order/models.py:500 msgid "Supplier order reference code" msgstr "" -#: order/models.py:487 +#: order/models.py:509 msgid "received by" msgstr "" -#: order/models.py:493 order/models.py:2036 +#: order/models.py:515 order/models.py:2085 msgid "Issue Date" msgstr "" -#: order/models.py:494 order/models.py:2037 +#: order/models.py:516 order/models.py:2086 msgid "Date order was issued" msgstr "" -#: order/models.py:501 order/models.py:2044 +#: order/models.py:523 order/models.py:2093 msgid "Date order was completed" msgstr "" -#: order/models.py:545 +#: order/models.py:567 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:739 +#: order/models.py:761 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:911 +#: order/models.py:942 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:934 order/models.py:2029 +#: order/models.py:965 order/models.py:2078 msgid "Customer Reference " msgstr "" -#: order/models.py:935 order/models.py:2030 +#: order/models.py:966 order/models.py:2079 msgid "Customer order reference code" msgstr "" -#: order/models.py:939 order/models.py:1658 -#: templates/js/translated/sales_order.js:843 -#: templates/js/translated/sales_order.js:1024 +#: order/models.py:970 order/models.py:1698 +#: templates/js/translated/sales_order.js:879 +#: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "" -#: order/models.py:948 +#: order/models.py:979 msgid "shipped by" msgstr "" -#: order/models.py:999 -msgid "Order cannot be completed as no parts have been assigned" -msgstr "" - -#: order/models.py:1004 +#: order/models.py:1029 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1008 templates/js/translated/sales_order.js:506 +#: order/models.py:1033 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1013 +#: order/models.py:1038 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1260 +#: order/models.py:1300 msgid "Item quantity" msgstr "" -#: order/models.py:1277 +#: order/models.py:1317 msgid "Line item reference" msgstr "" -#: order/models.py:1284 +#: order/models.py:1324 msgid "Line item notes" msgstr "" -#: order/models.py:1296 +#: order/models.py:1336 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1317 +#: order/models.py:1357 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1323 +#: order/models.py:1363 msgid "Context" msgstr "" -#: order/models.py:1324 +#: order/models.py:1364 msgid "Additional context for this line" msgstr "" -#: order/models.py:1334 +#: order/models.py:1374 msgid "Unit price" msgstr "" -#: order/models.py:1367 +#: order/models.py:1407 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1374 +#: order/models.py:1414 msgid "deleted" msgstr "" -#: order/models.py:1402 +#: order/models.py:1442 msgid "Supplier part" msgstr "" -#: order/models.py:1409 order/templates/order/order_base.html:196 +#: order/models.py:1449 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 #: templates/js/translated/purchase_order.js:1306 -#: templates/js/translated/purchase_order.js:2170 -#: templates/js/translated/return_order.js:764 +#: templates/js/translated/purchase_order.js:2169 +#: templates/js/translated/return_order.js:763 #: templates/js/translated/table_filters.js:120 #: templates/js/translated/table_filters.js:602 msgid "Received" msgstr "" -#: order/models.py:1410 +#: order/models.py:1450 msgid "Number of items received" msgstr "" -#: order/models.py:1418 stock/models.py:923 stock/serializers.py:400 +#: order/models.py:1458 stock/models.py:944 stock/serializers.py:529 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2313 +#: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "" -#: order/models.py:1419 +#: order/models.py:1459 msgid "Unit purchase price" msgstr "" -#: order/models.py:1434 +#: order/models.py:1474 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1525 +#: order/models.py:1565 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1530 +#: order/models.py:1570 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1556 part/templates/part/part_pricing.html:107 +#: order/models.py:1596 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1557 +#: order/models.py:1597 msgid "Unit sale price" msgstr "" -#: order/models.py:1567 +#: order/models.py:1607 msgid "Shipped quantity" msgstr "" -#: order/models.py:1659 +#: order/models.py:1699 msgid "Date of shipment" msgstr "" -#: order/models.py:1665 templates/js/translated/sales_order.js:1036 +#: order/models.py:1705 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1666 +#: order/models.py:1706 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1674 +#: order/models.py:1714 msgid "Checked By" msgstr "" -#: order/models.py:1675 +#: order/models.py:1715 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1682 order/models.py:1895 order/serializers.py:1354 -#: order/serializers.py:1464 templates/js/translated/model_renderers.js:448 +#: order/models.py:1722 order/models.py:1935 order/serializers.py:1354 +#: order/serializers.py:1464 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" -#: order/models.py:1683 +#: order/models.py:1723 msgid "Shipment number" msgstr "" -#: order/models.py:1691 +#: order/models.py:1731 msgid "Tracking Number" msgstr "" -#: order/models.py:1692 +#: order/models.py:1732 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1699 +#: order/models.py:1739 msgid "Invoice Number" msgstr "" -#: order/models.py:1700 +#: order/models.py:1740 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1720 +#: order/models.py:1760 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1723 +#: order/models.py:1763 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1841 order/models.py:1843 +#: order/models.py:1881 order/models.py:1883 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1850 +#: order/models.py:1890 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1853 +#: order/models.py:1893 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1856 +#: order/models.py:1896 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1875 order/serializers.py:1231 +#: order/models.py:1915 order/serializers.py:1231 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1878 +#: order/models.py:1918 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1879 plugin/base/barcodes/api.py:481 +#: order/models.py:1919 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1887 +#: order/models.py:1927 msgid "Line" msgstr "" -#: order/models.py:1896 +#: order/models.py:1936 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1909 order/models.py:2217 -#: templates/js/translated/return_order.js:722 +#: order/models.py:1949 order/models.py:2266 +#: templates/js/translated/return_order.js:721 msgid "Item" msgstr "" -#: order/models.py:1910 +#: order/models.py:1950 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1919 +#: order/models.py:1959 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1999 +#: order/models.py:2048 msgid "Return Order reference" msgstr "" -#: order/models.py:2011 +#: order/models.py:2060 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2023 +#: order/models.py:2072 msgid "Return order status" msgstr "" -#: order/models.py:2202 +#: order/models.py:2251 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2218 +#: order/models.py:2267 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2224 +#: order/models.py:2273 msgid "Received Date" msgstr "" -#: order/models.py:2225 +#: order/models.py:2274 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2236 templates/js/translated/return_order.js:733 +#: order/models.py:2285 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2237 +#: order/models.py:2286 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2244 +#: order/models.py:2293 msgid "Cost associated with return or repair for this line item" msgstr "" #: order/serializers.py:80 order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 -#: report/templates/report/inventree_po_report_base.html:22 -#: report/templates/report/inventree_return_order_report_base.html:19 -#: report/templates/report/inventree_so_report_base.html:22 +#: report/templates/report/inventree_purchase_order_report.html:22 +#: report/templates/report/inventree_return_order_report.html:19 +#: report/templates/report/inventree_sales_order_report.html:22 msgid "Line Items" msgstr "" @@ -5595,7 +5526,7 @@ msgstr "" #: order/templates/order/order_base.html:84 #: order/templates/order/return_order_base.html:87 -#: order/templates/order/sales_order_base.html:93 +#: order/templates/order/sales_order_base.html:97 msgid "Complete Order" msgstr "" @@ -5605,13 +5536,13 @@ msgstr "" #: order/templates/order/order_base.html:106 #: order/templates/order/return_order_base.html:101 -#: order/templates/order/sales_order_base.html:106 +#: order/templates/order/sales_order_base.html:110 msgid "Order Reference" msgstr "" #: order/templates/order/order_base.html:111 #: order/templates/order/return_order_base.html:106 -#: order/templates/order/sales_order_base.html:111 +#: order/templates/order/sales_order_base.html:115 msgid "Order Description" msgstr "" @@ -5620,19 +5551,19 @@ msgid "No suppplier information available" msgstr "" #: order/templates/order/order_base.html:154 -#: order/templates/order/sales_order_base.html:157 +#: order/templates/order/sales_order_base.html:161 msgid "Completed Line Items" msgstr "" #: order/templates/order/order_base.html:160 -#: order/templates/order/sales_order_base.html:163 -#: order/templates/order/sales_order_base.html:173 +#: order/templates/order/sales_order_base.html:167 +#: order/templates/order/sales_order_base.html:177 msgid "Incomplete" msgstr "" #: order/templates/order/order_base.html:179 #: order/templates/order/return_order_base.html:157 -#: report/templates/report/inventree_build_order_base.html:121 +#: report/templates/report/inventree_build_order_report.html:121 msgid "Issued" msgstr "" @@ -5642,15 +5573,15 @@ msgstr "" #: order/templates/order/order_base.html:228 #: order/templates/order/return_order_base.html:199 -#: order/templates/order/sales_order_base.html:239 +#: order/templates/order/sales_order_base.html:243 msgid "Total cost could not be calculated" msgstr "" -#: order/templates/order/order_base.html:318 +#: order/templates/order/order_base.html:314 msgid "Purchase Order QR Code" msgstr "" -#: order/templates/order/order_base.html:330 +#: order/templates/order/order_base.html:326 msgid "Link Barcode to Purchase Order" msgstr "" @@ -5707,8 +5638,8 @@ msgstr "" #: templates/js/translated/build.js:1629 #: templates/js/translated/purchase_order.js:696 #: templates/js/translated/purchase_order.js:1236 -#: templates/js/translated/return_order.js:506 -#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/return_order.js:505 +#: templates/js/translated/sales_order.js:1145 #: templates/js/translated/stock.js:714 templates/js/translated/stock.js:883 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -5762,7 +5693,7 @@ msgstr "" #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 #: templates/js/translated/purchase_order.js:414 -#: templates/js/translated/return_order.js:459 +#: templates/js/translated/return_order.js:458 #: templates/js/translated/sales_order.js:237 msgid "Add Line Item" msgstr "" @@ -5811,30 +5742,30 @@ msgid "Print packing list" msgstr "" #: order/templates/order/return_order_base.html:138 -#: order/templates/order/sales_order_base.html:151 -#: templates/js/translated/return_order.js:309 -#: templates/js/translated/sales_order.js:797 +#: order/templates/order/sales_order_base.html:155 +#: templates/js/translated/return_order.js:308 +#: templates/js/translated/sales_order.js:833 msgid "Customer Reference" msgstr "" #: order/templates/order/return_order_base.html:195 -#: order/templates/order/sales_order_base.html:235 +#: order/templates/order/sales_order_base.html:239 #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1072 -#: templates/js/translated/purchase_order.js:1753 -#: templates/js/translated/return_order.js:381 -#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/purchase_order.js:1752 +#: templates/js/translated/return_order.js:380 +#: templates/js/translated/sales_order.js:891 msgid "Total Cost" msgstr "" -#: order/templates/order/return_order_base.html:263 +#: order/templates/order/return_order_base.html:259 msgid "Return Order QR Code" msgstr "" -#: order/templates/order/return_order_base.html:275 +#: order/templates/order/return_order_base.html:271 msgid "Link Barcode to Return Order" msgstr "" @@ -5852,25 +5783,30 @@ msgid "Ship Items" msgstr "" #: order/templates/order/sales_order_base.html:92 -#: templates/js/translated/sales_order.js:484 +#: order/templates/order/sales_order_base.html:93 +msgid "Mark As Shipped" +msgstr "" + +#: order/templates/order/sales_order_base.html:96 +#: templates/js/translated/sales_order.js:536 msgid "Complete Sales Order" msgstr "" -#: order/templates/order/sales_order_base.html:131 +#: order/templates/order/sales_order_base.html:135 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:169 +#: order/templates/order/sales_order_base.html:173 #: order/templates/order/sales_order_detail.html:99 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "" -#: order/templates/order/sales_order_base.html:312 +#: order/templates/order/sales_order_base.html:321 msgid "Sales Order QR Code" msgstr "" -#: order/templates/order/sales_order_base.html:324 +#: order/templates/order/sales_order_base.html:333 msgid "Link Barcode to Sales Order" msgstr "" @@ -5914,12 +5850,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:404 part/models.py:3921 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:406 part/models.py:3964 part/stocktake.py:218 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:411 part/models.py:3922 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:413 part/models.py:3965 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -5928,20 +5864,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:904 part/templates/part/part_base.html:269 -#: report/templates/report/inventree_slr_report.html:103 -#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2341 -#: templates/js/translated/stock.js:2038 +#: part/admin.py:48 part/models.py:947 part/templates/part/part_base.html:269 +#: report/templates/report/inventree_stock_location_report.html:103 +#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 +#: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:913 part/templates/part/part_base.html:277 -#: report/models.py:195 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2347 +#: part/admin.py:50 part/models.py:956 part/templates/part/part_base.html:277 +#: report/models.py:161 templates/js/translated/part.js:1231 +#: templates/js/translated/part.js:2346 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:317 part/models.py:886 +#: part/admin.py:53 part/admin.py:319 part/models.py:929 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5950,15 +5886,15 @@ msgstr "" msgid "Part Image" msgstr "" -#: part/admin.py:63 part/admin.py:300 part/stocktake.py:221 +#: part/admin.py:63 part/admin.py:302 part/stocktake.py:221 msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:302 part/stocktake.py:222 +#: part/admin.py:67 part/admin.py:304 part/stocktake.py:222 msgid "Category Name" msgstr "" -#: part/admin.py:71 part/admin.py:314 +#: part/admin.py:71 part/admin.py:316 msgid "Default Location ID" msgstr "" @@ -5966,11 +5902,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:872 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:915 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1000 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1043 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5983,160 +5919,164 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3080 part/models.py:3094 +#: part/admin.py:155 part/models.py:3123 part/models.py:3137 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3087 part/models.py:3101 +#: part/admin.py:158 part/models.py:3130 part/models.py:3144 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" -#: part/admin.py:306 part/admin.py:393 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:211 msgid "Parent ID" msgstr "" -#: part/admin.py:310 part/admin.py:400 stock/admin.py:62 +#: part/admin.py:312 part/admin.py:402 stock/admin.py:62 msgid "Parent Name" msgstr "" -#: part/admin.py:318 part/templates/part/category.html:88 +#: part/admin.py:320 part/templates/part/category.html:88 #: part/templates/part/category.html:101 msgid "Category Path" msgstr "" -#: part/admin.py:323 part/models.py:391 part/serializers.py:117 +#: part/admin.py:325 part/models.py:393 part/serializers.py:117 #: part/serializers.py:272 part/serializers.py:391 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2803 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "" -#: part/admin.py:384 +#: part/admin.py:386 msgid "BOM Level" msgstr "" -#: part/admin.py:387 +#: part/admin.py:389 msgid "BOM Item ID" msgstr "" -#: part/admin.py:397 +#: part/admin.py:399 msgid "Parent IPN" msgstr "" -#: part/admin.py:408 part/models.py:3923 +#: part/admin.py:410 part/models.py:3966 msgid "Part IPN" msgstr "" -#: part/admin.py:421 part/serializers.py:1261 +#: part/admin.py:423 part/serializers.py:1276 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:426 part/serializers.py:1276 +#: part/admin.py:428 part/serializers.py:1291 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:119 +#: part/api.py:112 msgid "Starred" msgstr "" -#: part/api.py:121 +#: part/api.py:114 msgid "Filter by starred categories" msgstr "" -#: part/api.py:138 stock/api.py:284 +#: part/api.py:131 stock/api.py:318 msgid "Depth" msgstr "" -#: part/api.py:138 +#: part/api.py:131 msgid "Filter by category depth" msgstr "" -#: part/api.py:156 stock/api.py:302 +#: part/api.py:149 stock/api.py:336 msgid "Cascade" msgstr "" -#: part/api.py:158 +#: part/api.py:151 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:178 +#: part/api.py:171 msgid "Parent" msgstr "" -#: part/api.py:180 +#: part/api.py:173 msgid "Filter by parent category" msgstr "" -#: part/api.py:213 +#: part/api.py:206 msgid "Exclude Tree" msgstr "" -#: part/api.py:215 +#: part/api.py:208 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:461 +#: part/api.py:455 msgid "Has Results" msgstr "" -#: part/api.py:628 +#: part/api.py:622 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:646 +#: part/api.py:640 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:662 +#: part/api.py:656 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:746 +#: part/api.py:740 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:893 +#: part/api.py:887 msgid "Valid" msgstr "" -#: part/api.py:894 +#: part/api.py:888 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:900 +#: part/api.py:894 msgid "This option must be selected" msgstr "" -#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866 -#: part/serializers.py:406 part/serializers.py:1117 -#: part/templates/part/part_base.html:260 stock/api.py:745 +#: part/api.py:1111 +msgid "BOM Valid" +msgstr "" + +#: part/api.py:1515 part/models.py:939 part/models.py:3429 part/models.py:3909 +#: part/serializers.py:406 part/serializers.py:1132 +#: part/templates/part/part_base.html:260 stock/api.py:779 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2377 +#: templates/js/translated/part.js:2376 msgid "Category" msgstr "" -#: part/api.py:1849 +#: part/api.py:1803 msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:101 part/models.py:939 +#: part/bom.py:170 part/models.py:102 part/models.py:982 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:822 +#: part/bom.py:171 part/serializers.py:837 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6145,698 +6085,712 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:82 part/models.py:3867 part/templates/part/category.html:16 +#: part/models.py:83 part/models.py:3910 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:83 part/templates/part/category.html:136 +#: part/models.py:84 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "" -#: part/models.py:102 +#: part/models.py:103 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:107 stock/models.py:165 templates/js/translated/part.js:2810 -#: templates/js/translated/stock.js:2775 +#: part/models.py:108 stock/models.py:177 templates/js/translated/part.js:2809 +#: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "" -#: part/models.py:109 +#: part/models.py:110 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:118 +#: part/models.py:119 msgid "Default keywords" msgstr "" -#: part/models.py:119 +#: part/models.py:120 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:125 stock/models.py:89 stock/models.py:148 +#: part/models.py:126 stock/models.py:89 stock/models.py:160 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:126 stock/models.py:149 +#: part/models.py:127 stock/models.py:161 msgid "Icon (optional)" msgstr "" -#: part/models.py:148 +#: part/models.py:149 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:484 +#: part/models.py:482 +msgid "Cannot delete this part as it is still active" +msgstr "" + +#: part/models.py:489 +msgid "Cannot delete this part as it is used in an assembly" +msgstr "" + +#: part/models.py:527 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:532 part/models.py:539 +#: part/models.py:575 part/models.py:582 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:551 +#: part/models.py:594 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:616 +#: part/models.py:659 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:696 +#: part/models.py:739 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:801 +#: part/models.py:844 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:811 +#: part/models.py:854 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:826 +#: part/models.py:869 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:855 part/models.py:3922 +#: part/models.py:898 part/models.py:3965 msgid "Part name" msgstr "" -#: part/models.py:860 +#: part/models.py:903 msgid "Is Template" msgstr "" -#: part/models.py:861 +#: part/models.py:904 msgid "Is this part a template part?" msgstr "" -#: part/models.py:871 +#: part/models.py:914 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:879 +#: part/models.py:922 msgid "Part description (optional)" msgstr "" -#: part/models.py:887 +#: part/models.py:930 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:897 +#: part/models.py:940 msgid "Part category" msgstr "" -#: part/models.py:905 +#: part/models.py:948 msgid "Internal Part Number" msgstr "" -#: part/models.py:912 +#: part/models.py:955 msgid "Part revision or version number" msgstr "" -#: part/models.py:937 +#: part/models.py:980 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:983 part/templates/part/part_base.html:376 +#: part/models.py:1026 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:984 +#: part/models.py:1027 msgid "Default supplier part" msgstr "" -#: part/models.py:991 +#: part/models.py:1034 msgid "Default Expiry" msgstr "" -#: part/models.py:992 +#: part/models.py:1035 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1001 +#: part/models.py:1044 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1010 +#: part/models.py:1053 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1017 +#: part/models.py:1060 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1023 +#: part/models.py:1066 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1029 +#: part/models.py:1072 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1035 +#: part/models.py:1078 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1041 +#: part/models.py:1084 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1045 +#: part/models.py:1088 msgid "Is this part active?" msgstr "" -#: part/models.py:1051 +#: part/models.py:1094 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1057 +#: part/models.py:1100 msgid "BOM checksum" msgstr "" -#: part/models.py:1058 +#: part/models.py:1101 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1066 +#: part/models.py:1109 msgid "BOM checked by" msgstr "" -#: part/models.py:1071 +#: part/models.py:1114 msgid "BOM checked date" msgstr "" -#: part/models.py:1087 +#: part/models.py:1130 msgid "Creation User" msgstr "" -#: part/models.py:1097 +#: part/models.py:1140 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1102 part/templates/part/part_base.html:339 +#: part/models.py:1145 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 -#: templates/js/translated/part.js:2471 +#: templates/js/translated/part.js:2470 msgid "Last Stocktake" msgstr "" -#: part/models.py:1975 +#: part/models.py:2018 msgid "Sell multiple" msgstr "" -#: part/models.py:2994 +#: part/models.py:3037 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3010 +#: part/models.py:3053 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3011 +#: part/models.py:3054 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3017 +#: part/models.py:3060 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3018 +#: part/models.py:3061 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3024 +#: part/models.py:3067 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3025 +#: part/models.py:3068 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3031 +#: part/models.py:3074 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3032 +#: part/models.py:3075 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3038 +#: part/models.py:3081 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3039 +#: part/models.py:3082 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3045 +#: part/models.py:3088 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3046 +#: part/models.py:3089 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3052 +#: part/models.py:3095 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3053 +#: part/models.py:3096 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3059 +#: part/models.py:3102 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3060 +#: part/models.py:3103 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3066 +#: part/models.py:3109 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3067 +#: part/models.py:3110 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3073 +#: part/models.py:3116 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3074 +#: part/models.py:3117 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3081 +#: part/models.py:3124 msgid "Override minimum cost" msgstr "" -#: part/models.py:3088 +#: part/models.py:3131 msgid "Override maximum cost" msgstr "" -#: part/models.py:3095 +#: part/models.py:3138 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3102 +#: part/models.py:3145 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3108 +#: part/models.py:3151 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3109 +#: part/models.py:3152 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3115 +#: part/models.py:3158 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3116 +#: part/models.py:3159 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3122 +#: part/models.py:3165 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3123 +#: part/models.py:3166 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3129 +#: part/models.py:3172 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3130 +#: part/models.py:3173 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3149 +#: part/models.py:3192 msgid "Part for stocktake" msgstr "" -#: part/models.py:3154 +#: part/models.py:3197 msgid "Item Count" msgstr "" -#: part/models.py:3155 +#: part/models.py:3198 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3163 +#: part/models.py:3206 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3167 part/models.py:3250 +#: part/models.py:3210 part/models.py:3293 #: part/templates/part/part_scheduling.html:13 -#: report/templates/report/inventree_test_report_base.html:106 +#: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 #: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 -#: templates/js/translated/purchase_order.js:1732 -#: templates/js/translated/stock.js:2824 +#: templates/js/translated/purchase_order.js:1731 +#: templates/js/translated/stock.js:2821 msgid "Date" msgstr "" -#: part/models.py:3168 +#: part/models.py:3211 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3176 +#: part/models.py:3219 msgid "Additional notes" msgstr "" -#: part/models.py:3186 +#: part/models.py:3229 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3192 +#: part/models.py:3235 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3193 +#: part/models.py:3236 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3199 +#: part/models.py:3242 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3200 +#: part/models.py:3243 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3256 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3299 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3257 +#: part/models.py:3300 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3262 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3305 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3263 +#: part/models.py:3306 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3273 +#: part/models.py:3316 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3435 +#: part/models.py:3478 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3446 +#: part/models.py:3489 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3457 +#: part/models.py:3500 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3474 templates/js/translated/part.js:2879 +#: part/models.py:3517 templates/js/translated/part.js:2878 msgid "Test Name" msgstr "" -#: part/models.py:3475 +#: part/models.py:3518 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3481 +#: part/models.py:3524 msgid "Test Key" msgstr "" -#: part/models.py:3482 +#: part/models.py:3525 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3489 +#: part/models.py:3532 msgid "Test Description" msgstr "" -#: part/models.py:3490 +#: part/models.py:3533 msgid "Enter description for this test" msgstr "" -#: part/models.py:3494 +#: part/models.py:3537 report/models.py:208 +#: templates/js/translated/part.js:2899 +#: templates/js/translated/table_filters.js:481 +msgid "Enabled" +msgstr "" + +#: part/models.py:3537 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3499 templates/js/translated/part.js:2908 +#: part/models.py:3542 templates/js/translated/part.js:2907 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3500 +#: part/models.py:3543 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3505 templates/js/translated/part.js:2916 +#: part/models.py:3548 templates/js/translated/part.js:2915 msgid "Requires Value" msgstr "" -#: part/models.py:3506 +#: part/models.py:3549 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3511 templates/js/translated/part.js:2923 +#: part/models.py:3554 templates/js/translated/part.js:2922 msgid "Requires Attachment" msgstr "" -#: part/models.py:3513 +#: part/models.py:3556 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3560 +#: part/models.py:3603 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3565 +#: part/models.py:3608 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3585 +#: part/models.py:3628 msgid "Choices must be unique" msgstr "" -#: part/models.py:3602 +#: part/models.py:3645 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3617 +#: part/models.py:3660 msgid "Parameter Name" msgstr "" -#: part/models.py:3624 +#: part/models.py:3667 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3632 +#: part/models.py:3675 msgid "Parameter description" msgstr "" -#: part/models.py:3638 templates/js/translated/part.js:1627 +#: part/models.py:3681 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3639 +#: part/models.py:3682 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3644 templates/js/translated/part.js:1636 +#: part/models.py:3687 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3645 +#: part/models.py:3688 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3722 +#: part/models.py:3765 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3765 +#: part/models.py:3808 msgid "Parent Part" msgstr "" -#: part/models.py:3773 part/models.py:3874 part/models.py:3875 +#: part/models.py:3816 part/models.py:3917 part/models.py:3918 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3778 +#: part/models.py:3821 msgid "Data" msgstr "" -#: part/models.py:3779 +#: part/models.py:3822 msgid "Parameter Value" msgstr "" -#: part/models.py:3881 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3924 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3882 +#: part/models.py:3925 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3920 +#: part/models.py:3963 msgid "Part ID or part name" msgstr "" -#: part/models.py:3921 +#: part/models.py:3964 msgid "Unique part ID value" msgstr "" -#: part/models.py:3923 +#: part/models.py:3966 msgid "Part IPN value" msgstr "" -#: part/models.py:3924 +#: part/models.py:3967 msgid "Level" msgstr "" -#: part/models.py:3924 +#: part/models.py:3967 msgid "BOM level" msgstr "" -#: part/models.py:4014 +#: part/models.py:4057 msgid "Select parent part" msgstr "" -#: part/models.py:4024 +#: part/models.py:4067 msgid "Sub part" msgstr "" -#: part/models.py:4025 +#: part/models.py:4068 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4036 +#: part/models.py:4079 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4042 +#: part/models.py:4085 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4048 +#: part/models.py:4091 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4055 part/templates/part/upload_bom.html:55 +#: part/models.py:4098 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4056 +#: part/models.py:4099 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4063 +#: part/models.py:4106 msgid "BOM item reference" msgstr "" -#: part/models.py:4071 +#: part/models.py:4114 msgid "BOM item notes" msgstr "" -#: part/models.py:4077 +#: part/models.py:4120 msgid "Checksum" msgstr "" -#: part/models.py:4078 +#: part/models.py:4121 msgid "BOM line checksum" msgstr "" -#: part/models.py:4083 templates/js/translated/table_filters.js:174 +#: part/models.py:4126 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4084 +#: part/models.py:4127 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4089 part/templates/part/upload_bom.html:57 +#: part/models.py:4132 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4090 +#: part/models.py:4133 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4095 part/templates/part/upload_bom.html:56 +#: part/models.py:4138 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4096 +#: part/models.py:4139 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4181 stock/models.py:647 +#: part/models.py:4224 stock/models.py:668 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4191 part/models.py:4193 +#: part/models.py:4234 part/models.py:4236 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4333 +#: part/models.py:4376 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4354 +#: part/models.py:4397 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4367 +#: part/models.py:4410 msgid "Parent BOM item" msgstr "" -#: part/models.py:4375 +#: part/models.py:4418 msgid "Substitute part" msgstr "" -#: part/models.py:4391 +#: part/models.py:4434 msgid "Part 1" msgstr "" -#: part/models.py:4399 +#: part/models.py:4442 msgid "Part 2" msgstr "" -#: part/models.py:4400 +#: part/models.py:4443 msgid "Select Related Part" msgstr "" -#: part/models.py:4419 +#: part/models.py:4462 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4424 +#: part/models.py:4467 msgid "Duplicate relationship already exists" msgstr "" @@ -6854,7 +6808,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:406 +#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:535 msgid "Purchase currency of this stock item" msgstr "" @@ -6870,299 +6824,299 @@ msgstr "" msgid "Select category" msgstr "" -#: part/serializers.py:437 +#: part/serializers.py:442 msgid "Original Part" msgstr "" -#: part/serializers.py:438 +#: part/serializers.py:443 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:448 msgid "Copy Image" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:449 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:450 part/templates/part/detail.html:277 +#: part/serializers.py:455 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:451 +#: part/serializers.py:456 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:462 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:458 +#: part/serializers.py:463 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:464 +#: part/serializers.py:469 msgid "Copy Notes" msgstr "" -#: part/serializers.py:465 +#: part/serializers.py:470 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:478 +#: part/serializers.py:488 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:490 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:487 +#: part/serializers.py:497 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:488 +#: part/serializers.py:498 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:500 +#: part/serializers.py:515 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:531 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:526 +#: part/serializers.py:541 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:533 +#: part/serializers.py:548 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:542 +#: part/serializers.py:557 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:553 +#: part/serializers.py:568 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:560 +#: part/serializers.py:575 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:823 +#: part/serializers.py:838 msgid "External Stock" msgstr "" -#: part/serializers.py:825 +#: part/serializers.py:840 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:828 +#: part/serializers.py:843 msgid "Variant Stock" msgstr "" -#: part/serializers.py:856 part/templates/part/copy_part.html:9 +#: part/serializers.py:871 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:857 +#: part/serializers.py:872 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:863 templates/js/translated/part.js:102 +#: part/serializers.py:878 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:864 +#: part/serializers.py:879 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:870 +#: part/serializers.py:885 msgid "Supplier Information" msgstr "" -#: part/serializers.py:871 +#: part/serializers.py:886 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:879 +#: part/serializers.py:894 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:880 +#: part/serializers.py:895 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:885 +#: part/serializers.py:900 msgid "Existing Image" msgstr "" -#: part/serializers.py:886 +#: part/serializers.py:901 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:918 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1109 +#: part/serializers.py:1124 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1119 +#: part/serializers.py:1134 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1129 +#: part/serializers.py:1144 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1135 +#: part/serializers.py:1150 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1136 +#: part/serializers.py:1151 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1141 +#: part/serializers.py:1156 msgid "Generate Report" msgstr "" -#: part/serializers.py:1142 +#: part/serializers.py:1157 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1147 +#: part/serializers.py:1162 msgid "Update Parts" msgstr "" -#: part/serializers.py:1148 +#: part/serializers.py:1163 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1156 +#: part/serializers.py:1171 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1262 +#: part/serializers.py:1277 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1269 +#: part/serializers.py:1284 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1277 +#: part/serializers.py:1292 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1284 +#: part/serializers.py:1299 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1313 +#: part/serializers.py:1328 msgid "Update" msgstr "" -#: part/serializers.py:1314 +#: part/serializers.py:1329 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1337 +#: part/serializers.py:1352 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1344 +#: part/serializers.py:1359 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1347 +#: part/serializers.py:1362 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1714 +#: part/serializers.py:1729 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1722 +#: part/serializers.py:1737 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1723 +#: part/serializers.py:1738 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1728 +#: part/serializers.py:1743 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1729 +#: part/serializers.py:1744 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1734 +#: part/serializers.py:1749 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1735 +#: part/serializers.py:1750 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1755 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1756 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1775 +#: part/serializers.py:1790 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1776 +#: part/serializers.py:1791 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1806 +#: part/serializers.py:1821 msgid "No part column specified" msgstr "" -#: part/serializers.py:1850 +#: part/serializers.py:1865 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1853 +#: part/serializers.py:1868 msgid "No matching part found" msgstr "" -#: part/serializers.py:1856 +#: part/serializers.py:1871 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1865 +#: part/serializers.py:1880 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1888 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1894 +#: part/serializers.py:1909 msgid "At least one BOM item is required" msgstr "" #: part/stocktake.py:224 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:2085 +#: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" @@ -7314,7 +7268,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2218 users/models.py:204 +#: templates/js/translated/stock.js:2216 users/models.py:204 msgid "Stocktake" msgstr "" @@ -7412,15 +7366,15 @@ msgstr "" msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:659 +#: part/templates/part/detail.html:655 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:667 +#: part/templates/part/detail.html:663 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:752 +#: part/templates/part/detail.html:748 msgid "Add Test Result Template" msgstr "" @@ -7479,7 +7433,7 @@ msgstr "" #: part/templates/part/part_base.html:52 #: stock/templates/stock/item_base.html:62 -#: stock/templates/stock/location.html:74 +#: stock/templates/stock/location.html:74 templates/js/translated/label.js:142 msgid "Print Label" msgstr "" @@ -7501,7 +7455,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2293 +#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2292 msgid "Part actions" msgstr "" @@ -7550,7 +7504,7 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:163 -#: part/templates/part/part_base.html:682 +#: part/templates/part/part_base.html:681 msgid "Show Part Details" msgstr "" @@ -7573,7 +7527,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2444 +#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2443 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7596,19 +7550,19 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:512 +#: part/templates/part/part_base.html:511 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:529 +#: part/templates/part/part_base.html:528 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:580 +#: part/templates/part/part_base.html:579 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:676 +#: part/templates/part/part_base.html:675 msgid "Hide Part Details" msgstr "" @@ -7667,8 +7621,8 @@ msgstr "" #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 -#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 -#: templates/js/translated/stock.js:2072 templates/navbar.html:31 +#: templates/js/translated/part.js:2391 templates/js/translated/stock.js:1059 +#: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7714,7 +7668,7 @@ msgstr "" #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 -#: templates/js/translated/stock.js:2248 +#: templates/js/translated/stock.js:2246 msgid "Last Updated" msgstr "" @@ -7786,7 +7740,7 @@ msgid "Update Pricing" msgstr "" #: part/templates/part/stock_count.html:7 -#: templates/js/translated/model_renderers.js:221 +#: templates/js/translated/model_renderers.js:227 #: templates/js/translated/part.js:704 templates/js/translated/part.js:2140 #: templates/js/translated/part.js:2142 msgid "No Stock" @@ -7866,7 +7820,7 @@ msgstr "" msgid "Part Pricing" msgstr "" -#: plugin/api.py:168 +#: plugin/api.py:170 msgid "Plugin cannot be deleted as it is currently active" msgstr "" @@ -7933,7 +7887,7 @@ msgid "Stock item does not match line item" msgstr "" #: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2589 -#: templates/js/translated/sales_order.js:1917 +#: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "" @@ -8027,22 +7981,18 @@ msgstr "" msgid "Quantity to allocate" msgstr "" -#: plugin/base/label/label.py:39 +#: plugin/base/label/label.py:39 templates/js/translated/label.js:154 msgid "Label printing failed" msgstr "" -#: plugin/base/label/mixins.py:63 +#: plugin/base/label/mixins.py:56 msgid "Error rendering label to PDF" msgstr "" -#: plugin/base/label/mixins.py:76 +#: plugin/base/label/mixins.py:70 msgid "Error rendering label to HTML" msgstr "" -#: plugin/base/label/mixins.py:111 -msgid "Error rendering label to PNG" -msgstr "" - #: plugin/builtin/barcodes/inventree_barcode.py:25 msgid "InvenTree Barcodes" msgstr "" @@ -8054,7 +8004,7 @@ msgstr "" #: plugin/builtin/barcodes/inventree_barcode.py:28 #: plugin/builtin/integration/core_notifications.py:35 #: plugin/builtin/integration/currency_exchange.py:21 -#: plugin/builtin/labels/inventree_label.py:23 +#: plugin/builtin/labels/inventree_label.py:22 #: plugin/builtin/labels/inventree_machine.py:64 #: plugin/builtin/labels/label_sheet.py:63 #: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 @@ -8108,19 +8058,19 @@ msgstr "" msgid "Default currency exchange integration" msgstr "" -#: plugin/builtin/labels/inventree_label.py:20 +#: plugin/builtin/labels/inventree_label.py:19 msgid "InvenTree PDF label printer" msgstr "" -#: plugin/builtin/labels/inventree_label.py:21 +#: plugin/builtin/labels/inventree_label.py:20 msgid "Provides native support for printing PDF labels" msgstr "" -#: plugin/builtin/labels/inventree_label.py:29 +#: plugin/builtin/labels/inventree_label.py:28 msgid "Debug mode" msgstr "" -#: plugin/builtin/labels/inventree_label.py:30 +#: plugin/builtin/labels/inventree_label.py:29 msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "" @@ -8132,11 +8082,11 @@ msgstr "" msgid "Provides support for printing using a machine" msgstr "" -#: plugin/builtin/labels/inventree_machine.py:150 +#: plugin/builtin/labels/inventree_machine.py:151 msgid "last used" msgstr "" -#: plugin/builtin/labels/inventree_machine.py:167 +#: plugin/builtin/labels/inventree_machine.py:168 msgid "Options" msgstr "" @@ -8160,7 +8110,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:47 report/models.py:209 +#: plugin/builtin/labels/label_sheet.py:47 report/models.py:308 msgid "Landscape" msgstr "" @@ -8176,11 +8126,11 @@ msgstr "" msgid "Arrays multiple labels onto a single sheet" msgstr "" -#: plugin/builtin/labels/label_sheet.py:94 +#: plugin/builtin/labels/label_sheet.py:99 msgid "Label is too large for page size" msgstr "" -#: plugin/builtin/labels/label_sheet.py:128 +#: plugin/builtin/labels/label_sheet.py:133 msgid "No labels were generated" msgstr "" @@ -8273,61 +8223,62 @@ msgstr "" msgid "Uninstalled plugin successfully" msgstr "" -#: plugin/models.py:30 +#: plugin/models.py:35 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:31 +#: plugin/models.py:36 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:34 users/models.py:100 +#: plugin/models.py:42 users/models.py:100 msgid "Key" msgstr "" -#: plugin/models.py:34 +#: plugin/models.py:43 msgid "Key of plugin" msgstr "" -#: plugin/models.py:42 +#: plugin/models.py:51 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:49 plugin/serializers.py:90 +#: plugin/models.py:58 plugin/serializers.py:90 msgid "Package Name" msgstr "" -#: plugin/models.py:51 +#: plugin/models.py:60 msgid "Name of the installed package, if the plugin was installed via PIP" msgstr "" -#: plugin/models.py:56 +#: plugin/models.py:65 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:147 templates/js/translated/table_filters.js:370 +#: plugin/models.py:156 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "" -#: plugin/models.py:156 +#: plugin/models.py:165 msgid "Sample plugin" msgstr "" -#: plugin/models.py:164 +#: plugin/models.py:173 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:172 +#: plugin/models.py:181 msgid "Package Plugin" msgstr "" -#: plugin/models.py:196 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:205 report/models.py:475 +#: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" msgstr "" -#: plugin/models.py:243 +#: plugin/models.py:252 msgid "Method" msgstr "" @@ -8468,239 +8419,323 @@ msgstr "" msgid "Delete the plugin configuration from the database" msgstr "" -#: report/api.py:158 +#: report/api.py:77 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:197 report/api.py:234 +#: report/api.py:89 report/serializers.py:53 +msgid "Model Type" +msgstr "" + +#: report/api.py:92 report/models.py:439 report/serializers.py:98 +#: report/serializers.py:148 templates/js/translated/purchase_order.js:1747 +#: templates/js/translated/return_order.js:353 +#: templates/js/translated/sales_order.js:887 +#: templates/js/translated/sales_order.js:1047 +msgid "Items" +msgstr "" + +#: report/api.py:168 +msgid "Plugin not found" +msgstr "" + +#: report/api.py:170 +msgid "Plugin is not active" +msgstr "" + +#: report/api.py:172 +msgid "Plugin does not support label printing" +msgstr "" + +#: report/api.py:221 +msgid "Invalid label dimensions" +msgstr "" + +#: report/api.py:236 report/api.py:316 +msgid "No valid items provided to template" +msgstr "" + +#: report/api.py:271 +msgid "Error printing label" +msgstr "" + +#: report/api.py:362 report/api.py:398 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:319 -msgid "Test report" -msgstr "" - -#: report/helpers.py:15 +#: report/helpers.py:41 msgid "A4" msgstr "" -#: report/helpers.py:16 +#: report/helpers.py:42 msgid "A3" msgstr "" -#: report/helpers.py:17 +#: report/helpers.py:43 msgid "Legal" msgstr "" -#: report/helpers.py:18 +#: report/helpers.py:44 msgid "Letter" msgstr "" -#: report/models.py:177 +#: report/models.py:118 +msgid "Template file with this name already exists" +msgstr "" + +#: report/models.py:150 msgid "Template name" msgstr "" -#: report/models.py:183 -msgid "Report template file" +#: report/models.py:156 +msgid "Template description" msgstr "" -#: report/models.py:190 -msgid "Report template description" +#: report/models.py:162 +msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:196 -msgid "Report revision number (auto-increments)" +#: report/models.py:202 +msgid "Filename Pattern" msgstr "" -#: report/models.py:204 +#: report/models.py:203 +msgid "Pattern for generating filenames" +msgstr "" + +#: report/models.py:208 +msgid "Template is enabled" +msgstr "" + +#: report/models.py:214 +msgid "Target model type for template" +msgstr "" + +#: report/models.py:234 +msgid "Filters" +msgstr "" + +#: report/models.py:235 +msgid "Template query filters (comma-separated list of key=value pairs)" +msgstr "" + +#: report/models.py:295 report/models.py:362 +msgid "Template file" +msgstr "" + +#: report/models.py:303 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:210 +#: report/models.py:309 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:318 -msgid "Pattern for generating report filenames" +#: report/models.py:368 +msgid "Width [mm]" msgstr "" -#: report/models.py:325 -msgid "Report template is enabled" +#: report/models.py:369 +msgid "Label width, specified in mm" msgstr "" -#: report/models.py:347 -msgid "StockItem query filters (comma-separated list of key=value pairs)" +#: report/models.py:375 +msgid "Height [mm]" msgstr "" -#: report/models.py:354 -msgid "Include Installed Tests" +#: report/models.py:376 +msgid "Label height, specified in mm" msgstr "" -#: report/models.py:356 -msgid "Include test results for stock items installed inside assembled item" +#: report/models.py:439 +msgid "Number of items to process" msgstr "" -#: report/models.py:424 -msgid "Build Filters" +#: report/models.py:445 +msgid "Report generation is complete" msgstr "" -#: report/models.py:425 -msgid "Build query filters (comma-separated list of key=value pairs" +#: report/models.py:449 templates/js/translated/build.js:2177 +msgid "Progress" msgstr "" -#: report/models.py:464 -msgid "Part Filters" +#: report/models.py:449 +msgid "Report generation progress" msgstr "" -#: report/models.py:465 -msgid "Part query filters (comma-separated list of key=value pairs" +#: report/models.py:457 +msgid "Report Template" msgstr "" -#: report/models.py:497 -msgid "Purchase order query filters" +#: report/models.py:464 report/models.py:487 +msgid "Output File" msgstr "" -#: report/models.py:533 -msgid "Sales order query filters" +#: report/models.py:465 report/models.py:488 +msgid "Generated output file" msgstr "" -#: report/models.py:569 -msgid "Return order query filters" +#: report/models.py:476 +msgid "Label output plugin" msgstr "" -#: report/models.py:641 -msgid "Snippet file with this name already exists" +#: report/models.py:480 +msgid "Label Template" msgstr "" -#: report/models.py:648 +#: report/models.py:503 msgid "Snippet" msgstr "" -#: report/models.py:649 +#: report/models.py:504 msgid "Report snippet file" msgstr "" -#: report/models.py:656 +#: report/models.py:511 msgid "Snippet file description" msgstr "" -#: report/models.py:714 -msgid "Asset file with this name already exists" -msgstr "" - -#: report/models.py:722 +#: report/models.py:529 msgid "Asset" msgstr "" -#: report/models.py:723 +#: report/models.py:530 msgid "Report asset file" msgstr "" -#: report/models.py:730 +#: report/models.py:537 msgid "Asset file description" msgstr "" -#: report/models.py:752 -msgid "stock location query filters (comma-separated list of key=value pairs)" +#: report/serializers.py:91 +msgid "Select report template" +msgstr "" + +#: report/serializers.py:99 report/serializers.py:149 +msgid "List of item primary keys to include in the report" +msgstr "" + +#: report/serializers.py:132 +msgid "Select label template" +msgstr "" + +#: report/serializers.py:140 +msgid "Printing Plugin" +msgstr "" + +#: report/serializers.py:141 +msgid "Select plugin to use for label printing" +msgstr "" + +#: report/templates/label/part_label.html:31 +#: report/templates/label/stockitem_qr.html:21 +#: report/templates/label/stocklocation_qr.html:20 +#: templates/allauth_2fa/setup.html:18 +msgid "QR Code" +msgstr "" + +#: report/templates/label/part_label_code128.html:31 +#: report/templates/label/stocklocation_qr_and_text.html:31 +#: templates/qr_code.html:7 +msgid "QR code" msgstr "" #: report/templates/report/inventree_bill_of_materials_report.html:133 msgid "Materials needed" msgstr "" -#: report/templates/report/inventree_build_order_base.html:146 +#: report/templates/report/inventree_build_order_report.html:146 msgid "Required For" msgstr "" -#: report/templates/report/inventree_po_report_base.html:15 +#: report/templates/report/inventree_purchase_order_report.html:15 msgid "Supplier was deleted" msgstr "" -#: report/templates/report/inventree_po_report_base.html:30 -#: report/templates/report/inventree_so_report_base.html:30 +#: report/templates/report/inventree_purchase_order_report.html:30 +#: report/templates/report/inventree_sales_order_report.html:30 #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:834 -#: templates/js/translated/purchase_order.js:2116 -#: templates/js/translated/sales_order.js:1837 +#: templates/js/translated/purchase_order.js:2115 +#: templates/js/translated/sales_order.js:1873 msgid "Unit Price" msgstr "" -#: report/templates/report/inventree_po_report_base.html:55 -#: report/templates/report/inventree_return_order_report_base.html:48 -#: report/templates/report/inventree_so_report_base.html:55 +#: report/templates/report/inventree_purchase_order_report.html:55 +#: report/templates/report/inventree_return_order_report.html:48 +#: report/templates/report/inventree_sales_order_report.html:55 msgid "Extra Line Items" 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:2018 -#: templates/js/translated/sales_order.js:1806 +#: report/templates/report/inventree_purchase_order_report.html:72 +#: report/templates/report/inventree_sales_order_report.html:72 +#: templates/js/translated/purchase_order.js:2017 +#: templates/js/translated/sales_order.js:1842 msgid "Total" msgstr "" -#: report/templates/report/inventree_return_order_report_base.html:25 -#: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:809 stock/templates/stock/item_base.html:311 +#: report/templates/report/inventree_return_order_report.html:25 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:830 +#: stock/serializers.py:150 stock/templates/stock/item_base.html:311 #: templates/js/translated/build.js:519 templates/js/translated/build.js:1367 #: templates/js/translated/build.js:2355 -#: templates/js/translated/model_renderers.js:224 -#: templates/js/translated/return_order.js:540 -#: templates/js/translated/return_order.js:724 +#: templates/js/translated/model_renderers.js:230 +#: templates/js/translated/return_order.js:539 +#: templates/js/translated/return_order.js:723 #: templates/js/translated/sales_order.js:315 -#: templates/js/translated/sales_order.js:1611 -#: templates/js/translated/sales_order.js:1696 +#: templates/js/translated/sales_order.js:1647 +#: templates/js/translated/sales_order.js:1732 #: templates/js/translated/stock.js:596 msgid "Serial Number" msgstr "" -#: report/templates/report/inventree_slr_report.html:97 +#: report/templates/report/inventree_stock_location_report.html:97 msgid "Stock location items" msgstr "" -#: report/templates/report/inventree_test_report_base.html:21 +#: report/templates/report/inventree_test_report.html:21 msgid "Stock Item Test Report" msgstr "" -#: report/templates/report/inventree_test_report_base.html:97 +#: report/templates/report/inventree_test_report.html:97 msgid "Test Results" msgstr "" -#: report/templates/report/inventree_test_report_base.html:102 +#: report/templates/report/inventree_test_report.html:102 #: templates/js/translated/stock.js:1495 msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2442 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2419 msgid "Result" msgstr "" -#: report/templates/report/inventree_test_report_base.html:130 +#: report/templates/report/inventree_test_report.html:130 msgid "Pass" msgstr "" -#: report/templates/report/inventree_test_report_base.html:132 +#: report/templates/report/inventree_test_report.html:132 msgid "Fail" msgstr "" -#: report/templates/report/inventree_test_report_base.html:139 +#: report/templates/report/inventree_test_report.html:139 msgid "No result (required)" msgstr "" -#: report/templates/report/inventree_test_report_base.html:141 +#: report/templates/report/inventree_test_report.html:141 msgid "No result" msgstr "" -#: report/templates/report/inventree_test_report_base.html:154 +#: report/templates/report/inventree_test_report.html:154 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report_base.html:168 -#: stock/admin.py:162 templates/js/translated/stock.js:700 -#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3113 +#: report/templates/report/inventree_test_report.html:168 stock/admin.py:162 +#: templates/js/translated/stock.js:700 templates/js/translated/stock.js:871 +#: templates/js/translated/stock.js:3110 msgid "Serial" msgstr "" @@ -8757,7 +8792,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:201 stock/models.py:789 +#: stock/admin.py:201 stock/models.py:810 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" @@ -8782,66 +8817,66 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:256 stock/models.py:883 +#: stock/admin.py:256 stock/models.py:904 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2232 users/models.py:124 +#: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" msgstr "" -#: stock/api.py:284 +#: stock/api.py:318 msgid "Filter by location depth" msgstr "" -#: stock/api.py:304 +#: stock/api.py:338 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:325 +#: stock/api.py:359 msgid "Parent Location" msgstr "" -#: stock/api.py:326 +#: stock/api.py:360 msgid "Filter by parent location" msgstr "" -#: stock/api.py:579 templates/js/translated/table_filters.js:427 +#: stock/api.py:613 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:767 +#: stock/api.py:801 msgid "Part Tree" msgstr "" -#: stock/api.py:797 +#: stock/api.py:831 msgid "Expiry date before" msgstr "" -#: stock/api.py:801 +#: stock/api.py:835 msgid "Expiry date after" msgstr "" -#: stock/api.py:804 stock/templates/stock/item_base.html:439 +#: stock/api.py:838 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:891 +#: stock/api.py:925 msgid "Quantity is required" msgstr "" -#: stock/api.py:897 +#: stock/api.py:931 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:928 +#: stock/api.py:962 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:938 +#: stock/api.py:972 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:969 +#: stock/api.py:1003 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8857,477 +8892,517 @@ msgstr "" msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:125 stock/models.py:771 +#: stock/models.py:127 stock/models.py:792 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:126 stock/templates/stock/location.html:179 +#: stock/models.py:128 stock/templates/stock/location.html:186 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "" -#: stock/models.py:158 stock/models.py:932 +#: stock/models.py:170 stock/models.py:953 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:159 stock/models.py:933 +#: stock/models.py:171 stock/models.py:954 msgid "Select Owner" msgstr "" -#: stock/models.py:167 +#: stock/models.py:179 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:174 templates/js/translated/stock.js:2784 +#: stock/models.py:186 templates/js/translated/stock.js:2781 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "" -#: stock/models.py:175 +#: stock/models.py:187 msgid "This is an external stock location" msgstr "" -#: stock/models.py:181 templates/js/translated/stock.js:2793 +#: stock/models.py:193 templates/js/translated/stock.js:2790 #: templates/js/translated/table_filters.js:246 msgid "Location type" msgstr "" -#: stock/models.py:185 +#: stock/models.py:197 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:254 +#: stock/models.py:266 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:626 +#: stock/models.py:647 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:653 stock/serializers.py:290 +#: stock/models.py:674 stock/serializers.py:419 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:670 +#: stock/models.py:691 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:680 stock/models.py:693 +#: stock/models.py:701 stock/models.py:714 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:683 +#: stock/models.py:704 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:707 +#: stock/models.py:728 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:712 +#: stock/models.py:733 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:725 +#: stock/models.py:746 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:741 +#: stock/models.py:762 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:753 +#: stock/models.py:774 msgid "Base part" msgstr "" -#: stock/models.py:763 +#: stock/models.py:784 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:775 +#: stock/models.py:796 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:783 stock/serializers.py:1351 +#: stock/models.py:804 stock/serializers.py:1480 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:794 +#: stock/models.py:815 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:813 +#: stock/models.py:834 msgid "Serial number for this item" msgstr "" -#: stock/models.py:827 stock/serializers.py:1334 +#: stock/models.py:848 stock/serializers.py:1463 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:832 +#: stock/models.py:853 msgid "Stock Quantity" msgstr "" -#: stock/models.py:842 +#: stock/models.py:863 msgid "Source Build" msgstr "" -#: stock/models.py:845 +#: stock/models.py:866 msgid "Build for this stock item" msgstr "" -#: stock/models.py:852 stock/templates/stock/item_base.html:363 +#: stock/models.py:873 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:855 +#: stock/models.py:876 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:864 +#: stock/models.py:885 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:868 +#: stock/models.py:889 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:874 +#: stock/models.py:895 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:885 +#: stock/models.py:906 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:903 +#: stock/models.py:924 msgid "Delete on deplete" msgstr "" -#: stock/models.py:904 +#: stock/models.py:925 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:924 +#: stock/models.py:945 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:955 +#: stock/models.py:976 msgid "Converted to part" msgstr "" -#: stock/models.py:1473 +#: stock/models.py:1494 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1479 +#: stock/models.py:1500 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1487 +#: stock/models.py:1508 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1493 +#: stock/models.py:1514 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1498 +#: stock/models.py:1519 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1506 stock/serializers.py:529 +#: stock/models.py:1527 stock/serializers.py:658 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1603 +#: stock/models.py:1624 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1621 +#: stock/models.py:1642 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1625 +#: stock/models.py:1646 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1628 +#: stock/models.py:1649 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1631 +#: stock/models.py:1652 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1634 +#: stock/models.py:1655 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1637 +#: stock/models.py:1658 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1644 stock/serializers.py:1240 +#: stock/models.py:1665 stock/serializers.py:1369 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1648 +#: stock/models.py:1669 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1656 +#: stock/models.py:1677 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1661 +#: stock/models.py:1682 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1882 +#: stock/models.py:1903 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2345 +#: stock/models.py:2322 msgid "Entry notes" msgstr "" -#: stock/models.py:2410 +#: stock/models.py:2387 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2415 +#: stock/models.py:2392 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2442 +#: stock/models.py:2419 msgid "Test result" msgstr "" -#: stock/models.py:2449 +#: stock/models.py:2426 msgid "Test output value" msgstr "" -#: stock/models.py:2457 +#: stock/models.py:2434 msgid "Test result attachment" msgstr "" -#: stock/models.py:2461 +#: stock/models.py:2438 msgid "Test notes" msgstr "" -#: stock/models.py:2469 templates/js/translated/stock.js:1548 +#: stock/models.py:2446 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "" -#: stock/models.py:2470 +#: stock/models.py:2447 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2476 +#: stock/models.py:2453 msgid "Started" msgstr "" -#: stock/models.py:2477 +#: stock/models.py:2454 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2483 +#: stock/models.py:2460 msgid "Finished" msgstr "" -#: stock/models.py:2484 +#: stock/models.py:2461 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:100 +#: stock/serializers.py:75 +msgid "Generated batch code" +msgstr "" + +#: stock/serializers.py:84 +msgid "Select build order" +msgstr "" + +#: stock/serializers.py:93 +msgid "Select stock item to generate batch code for" +msgstr "" + +#: stock/serializers.py:102 +msgid "Select location to generate batch code for" +msgstr "" + +#: stock/serializers.py:111 +msgid "Select part to generate batch code for" +msgstr "" + +#: stock/serializers.py:120 +msgid "Select purchase order" +msgstr "" + +#: stock/serializers.py:127 +msgid "Enter quantity for batch code" +msgstr "" + +#: stock/serializers.py:150 +msgid "Generated serial number" +msgstr "" + +#: stock/serializers.py:159 +msgid "Select part to generate serial number for" +msgstr "" + +#: stock/serializers.py:167 +msgid "Quantity of serial numbers to generate" +msgstr "" + +#: stock/serializers.py:229 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:119 +#: stock/serializers.py:248 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:151 +#: stock/serializers.py:280 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:184 +#: stock/serializers.py:313 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:282 +#: stock/serializers.py:411 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:402 +#: stock/serializers.py:531 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:464 +#: stock/serializers.py:593 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:477 +#: stock/serializers.py:606 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:484 +#: stock/serializers.py:613 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:495 stock/serializers.py:1197 stock/serializers.py:1453 +#: stock/serializers.py:624 stock/serializers.py:1326 stock/serializers.py:1582 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:502 +#: stock/serializers.py:631 msgid "Optional note field" msgstr "" -#: stock/serializers.py:512 +#: stock/serializers.py:641 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:567 +#: stock/serializers.py:696 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:574 +#: stock/serializers.py:703 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:575 +#: stock/serializers.py:704 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:580 stock/serializers.py:660 stock/serializers.py:756 -#: stock/serializers.py:806 +#: stock/serializers.py:709 stock/serializers.py:789 stock/serializers.py:885 +#: stock/serializers.py:935 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:588 +#: stock/serializers.py:717 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:596 +#: stock/serializers.py:725 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:607 +#: stock/serializers.py:736 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:620 +#: stock/serializers.py:749 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:655 +#: stock/serializers.py:784 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:690 +#: stock/serializers.py:819 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:703 +#: stock/serializers.py:832 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:720 +#: stock/serializers.py:849 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:751 +#: stock/serializers.py:880 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:788 +#: stock/serializers.py:917 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:794 +#: stock/serializers.py:923 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:890 stock/serializers.py:953 +#: stock/serializers.py:1019 stock/serializers.py:1082 #: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:213 +#: stock/templates/stock/location.html:220 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1069 +#: stock/serializers.py:1198 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1073 +#: stock/serializers.py:1202 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1077 +#: stock/serializers.py:1206 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1101 +#: stock/serializers.py:1230 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1107 +#: stock/serializers.py:1236 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1115 +#: stock/serializers.py:1244 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1125 stock/serializers.py:1379 +#: stock/serializers.py:1254 stock/serializers.py:1508 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1204 +#: stock/serializers.py:1333 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1209 +#: stock/serializers.py:1338 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1210 +#: stock/serializers.py:1339 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1215 +#: stock/serializers.py:1344 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1216 +#: stock/serializers.py:1345 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1226 +#: stock/serializers.py:1355 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1293 +#: stock/serializers.py:1422 msgid "No Change" msgstr "" -#: stock/serializers.py:1322 +#: stock/serializers.py:1451 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1341 +#: stock/serializers.py:1470 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1369 +#: stock/serializers.py:1498 msgid "Stock transaction notes" msgstr "" @@ -9352,7 +9427,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:286 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:282 msgid "Delete Test Data" msgstr "" @@ -9368,15 +9443,15 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3274 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3271 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:274 +#: stock/templates/stock/item.html:270 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:304 templates/js/translated/stock.js:1701 +#: stock/templates/stock/item.html:300 templates/js/translated/stock.js:1701 msgid "Add Test Result" msgstr "" @@ -9561,40 +9636,40 @@ msgstr "" msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:507 -#: templates/js/translated/stock.js:1954 +#: stock/templates/stock/item_base.html:504 +#: templates/js/translated/stock.js:1952 msgid "stock item" msgstr "" -#: stock/templates/stock/item_base.html:532 +#: stock/templates/stock/item_base.html:527 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:541 +#: stock/templates/stock/item_base.html:536 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:552 +#: stock/templates/stock/item_base.html:547 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:616 +#: stock/templates/stock/item_base.html:611 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:619 +#: stock/templates/stock/item_base.html:614 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:620 +#: stock/templates/stock/item_base.html:615 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:628 +#: stock/templates/stock/item_base.html:623 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:662 +#: stock/templates/stock/item_base.html:657 msgid "Return to Stock" msgstr "" @@ -9658,28 +9733,32 @@ msgstr "" msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:217 +#: stock/templates/stock/location.html:176 +msgid "Location Type" +msgstr "" + +#: stock/templates/stock/location.html:224 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:218 +#: stock/templates/stock/location.html:225 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:287 -#: templates/js/translated/stock.js:2575 +#: stock/templates/stock/location.html:295 +#: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:315 +#: stock/templates/stock/location.html:317 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:388 +#: stock/templates/stock/location.html:390 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:399 +#: stock/templates/stock/location.html:401 msgid "Link Barcode to Stock Location" msgstr "" @@ -9949,11 +10028,11 @@ msgstr "" msgid "Part Settings" msgstr "" -#: templates/InvenTree/settings/part.html:42 +#: templates/InvenTree/settings/part.html:43 msgid "Part Import" msgstr "" -#: templates/InvenTree/settings/part.html:46 +#: templates/InvenTree/settings/part.html:47 msgid "Import Part" msgstr "" @@ -10174,7 +10253,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:424 +#: templates/js/translated/stock.js:245 users/models.py:411 msgid "Delete" msgstr "" @@ -10283,7 +10362,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2159 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2163 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" @@ -10874,7 +10953,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3218 +#: templates/js/translated/part.js:3217 msgid "Minimum Quantity" msgstr "" @@ -11254,7 +11333,7 @@ msgid "External stock" msgstr "" #: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2595 -#: templates/js/translated/sales_order.js:1910 +#: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" @@ -11264,7 +11343,7 @@ msgstr "" #: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 #: templates/js/translated/part.js:1256 -#: templates/js/translated/sales_order.js:1907 +#: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" @@ -11519,17 +11598,17 @@ msgstr "" #: templates/js/translated/build.js:1576 #: templates/js/translated/purchase_order.js:611 -#: templates/js/translated/sales_order.js:1171 +#: templates/js/translated/sales_order.js:1207 msgid "Select Parts" msgstr "" #: templates/js/translated/build.js:1577 -#: templates/js/translated/sales_order.js:1172 +#: templates/js/translated/sales_order.js:1208 msgid "You must select at least one part to allocate" msgstr "" #: templates/js/translated/build.js:1640 -#: templates/js/translated/sales_order.js:1121 +#: templates/js/translated/sales_order.js:1157 msgid "Specify stock allocation quantity" msgstr "" @@ -11542,7 +11621,7 @@ msgid "All selected parts have been fully allocated" msgstr "" #: templates/js/translated/build.js:1732 -#: templates/js/translated/sales_order.js:1186 +#: templates/js/translated/sales_order.js:1222 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -11551,12 +11630,12 @@ msgid "Allocate Stock Items to Build Order" msgstr "" #: templates/js/translated/build.js:1771 -#: templates/js/translated/sales_order.js:1283 +#: templates/js/translated/sales_order.js:1319 msgid "No matching stock locations" msgstr "" #: templates/js/translated/build.js:1844 -#: templates/js/translated/sales_order.js:1362 +#: templates/js/translated/sales_order.js:1398 msgid "No matching stock items" msgstr "" @@ -11589,9 +11668,9 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 -#: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 -#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 -#: templates/js/translated/stock.js:1985 templates/js/translated/stock.js:2713 +#: templates/js/translated/forms.js:2159 templates/js/translated/forms.js:2175 +#: templates/js/translated/part.js:2315 templates/js/translated/part.js:2741 +#: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "" @@ -11599,21 +11678,17 @@ msgstr "" msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2177 -msgid "Progress" -msgstr "" - -#: templates/js/translated/build.js:2213 templates/js/translated/stock.js:3045 +#: templates/js/translated/build.js:2213 templates/js/translated/stock.js:3042 msgid "No user information" msgstr "" #: templates/js/translated/build.js:2389 -#: templates/js/translated/sales_order.js:1646 +#: templates/js/translated/sales_order.js:1682 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:2390 -#: templates/js/translated/sales_order.js:1647 +#: templates/js/translated/sales_order.js:1683 msgid "Delete stock allocation" msgstr "" @@ -11647,7 +11722,7 @@ msgid "Unit Quantity" msgstr "" #: templates/js/translated/build.js:2591 -#: templates/js/translated/sales_order.js:1915 +#: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" @@ -11664,7 +11739,7 @@ msgid "Allocate tracked items against individual build outputs" msgstr "" #: templates/js/translated/build.js:2662 -#: templates/js/translated/sales_order.js:2016 +#: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "" @@ -11673,7 +11748,7 @@ msgid "Order stock" msgstr "" #: templates/js/translated/build.js:2671 -#: templates/js/translated/sales_order.js:2010 +#: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "" @@ -11923,12 +11998,12 @@ msgid "Delete price break" msgstr "" #: templates/js/translated/filters.js:186 -#: templates/js/translated/filters.js:672 +#: templates/js/translated/filters.js:667 msgid "true" msgstr "" #: templates/js/translated/filters.js:190 -#: templates/js/translated/filters.js:673 +#: templates/js/translated/filters.js:668 msgid "false" msgstr "" @@ -11960,7 +12035,7 @@ msgstr "" msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:582 +#: templates/js/translated/filters.js:577 msgid "Create filter" msgstr "" @@ -11993,32 +12068,32 @@ msgstr "" msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1473 templates/modals.html:19 +#: templates/js/translated/forms.js:1477 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1971 +#: templates/js/translated/forms.js:1975 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2275 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2279 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2489 +#: templates/js/translated/forms.js:2493 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3091 +#: templates/js/translated/forms.js:3095 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3091 +#: templates/js/translated/forms.js:3095 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3103 +#: templates/js/translated/forms.js:3107 msgid "Select Columns" msgstr "" @@ -12042,51 +12117,15 @@ msgstr "" msgid "No parts required for builds" msgstr "" -#: templates/js/translated/label.js:53 templates/js/translated/report.js:123 +#: templates/js/translated/label.js:55 templates/js/translated/report.js:38 msgid "Select Items" msgstr "" -#: templates/js/translated/label.js:54 +#: templates/js/translated/label.js:56 templates/js/translated/report.js:39 msgid "No items selected for printing" msgstr "" -#: templates/js/translated/label.js:72 -msgid "No Labels Found" -msgstr "" - -#: templates/js/translated/label.js:73 -msgid "No label templates found which match the selected items" -msgstr "" - -#: templates/js/translated/label.js:97 -msgid "selected" -msgstr "" - -#: templates/js/translated/label.js:133 -msgid "Printing Options" -msgstr "" - -#: templates/js/translated/label.js:148 -msgid "Print label" -msgstr "" - -#: templates/js/translated/label.js:148 -msgid "Print labels" -msgstr "" - #: templates/js/translated/label.js:149 -msgid "Print" -msgstr "" - -#: templates/js/translated/label.js:155 -msgid "Select label template" -msgstr "" - -#: templates/js/translated/label.js:168 -msgid "Select plugin" -msgstr "" - -#: templates/js/translated/label.js:187 msgid "Labels sent to printer" msgstr "" @@ -12204,7 +12243,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1991 +#: templates/js/translated/purchase_order.js:1990 msgid "No line items found" msgstr "" @@ -12442,19 +12481,19 @@ msgid "Delete Part Parameter Template" msgstr "" #: templates/js/translated/part.js:1716 -#: templates/js/translated/purchase_order.js:1655 +#: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1860 -#: templates/js/translated/purchase_order.js:2154 -#: templates/js/translated/return_order.js:756 -#: templates/js/translated/sales_order.js:1875 +#: templates/js/translated/purchase_order.js:2153 +#: templates/js/translated/return_order.js:755 +#: templates/js/translated/sales_order.js:1911 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1906 -#: templates/js/translated/purchase_order.js:2221 +#: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "" @@ -12466,7 +12505,7 @@ msgstr "" msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2506 +#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2505 msgid "No parts found" msgstr "" @@ -12482,101 +12521,101 @@ msgstr "" msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2286 msgid "part" msgstr "" -#: templates/js/translated/part.js:2288 +#: templates/js/translated/part.js:2287 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2384 +#: templates/js/translated/part.js:2383 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 -#: templates/js/translated/stock.js:2672 +#: templates/js/translated/part.js:2530 templates/js/translated/part.js:2660 +#: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2547 +#: templates/js/translated/part.js:2546 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2645 +#: templates/js/translated/part.js:2644 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2692 +#: templates/js/translated/part.js:2680 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2761 +#: templates/js/translated/part.js:2760 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2777 +#: templates/js/translated/part.js:2776 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2864 +#: templates/js/translated/part.js:2863 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2886 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2885 templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2935 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2941 +#: templates/js/translated/part.js:2940 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2957 +#: templates/js/translated/part.js:2956 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2971 +#: templates/js/translated/part.js:2970 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3050 templates/js/translated/part.js:3051 +#: templates/js/translated/part.js:3049 templates/js/translated/part.js:3050 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3053 +#: templates/js/translated/part.js:3052 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3059 +#: templates/js/translated/part.js:3058 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3109 +#: templates/js/translated/part.js:3108 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3115 +#: templates/js/translated/part.js:3114 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3211 +#: templates/js/translated/part.js:3210 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3227 +#: templates/js/translated/part.js:3226 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3272 +#: templates/js/translated/part.js:3271 msgid "Minimum Stock Level" msgstr "" @@ -12702,7 +12741,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:448 #: templates/js/translated/return_order.js:210 -#: templates/js/translated/sales_order.js:500 +#: templates/js/translated/sales_order.js:552 msgid "Mark this order as complete?" msgstr "" @@ -12715,7 +12754,6 @@ msgid "This order has line items which have not been marked as received." msgstr "" #: templates/js/translated/purchase_order.js:460 -#: templates/js/translated/sales_order.js:514 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" @@ -12773,12 +12811,12 @@ msgid "No matching purchase orders" msgstr "" #: templates/js/translated/purchase_order.js:1073 -#: templates/js/translated/return_order.js:491 +#: templates/js/translated/return_order.js:490 msgid "Select Line Items" msgstr "" #: templates/js/translated/purchase_order.js:1074 -#: templates/js/translated/return_order.js:492 +#: templates/js/translated/return_order.js:491 msgid "At least one line item must be selected" msgstr "" @@ -12827,7 +12865,7 @@ msgid "Quantity to Receive" msgstr "" #: templates/js/translated/purchase_order.js:1333 -#: templates/js/translated/return_order.js:561 +#: templates/js/translated/return_order.js:560 msgid "Confirm receipt of items" msgstr "" @@ -12847,81 +12885,66 @@ msgstr "" msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1682 -#: templates/js/translated/return_order.js:286 -#: templates/js/translated/sales_order.js:774 -#: templates/js/translated/sales_order.js:998 +#: templates/js/translated/purchase_order.js:1681 +#: templates/js/translated/return_order.js:285 +#: templates/js/translated/sales_order.js:810 +#: templates/js/translated/sales_order.js:1034 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1748 -#: templates/js/translated/return_order.js:354 -#: templates/js/translated/sales_order.js:851 -#: templates/js/translated/sales_order.js:1011 -msgid "Items" -msgstr "" - -#: templates/js/translated/purchase_order.js:1844 +#: templates/js/translated/purchase_order.js:1843 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1862 +#: templates/js/translated/purchase_order.js:1861 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1917 -#: templates/js/translated/sales_order.js:2070 +#: templates/js/translated/purchase_order.js:1916 +#: templates/js/translated/sales_order.js:2106 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1932 -#: templates/js/translated/return_order.js:476 -#: templates/js/translated/return_order.js:669 -#: templates/js/translated/sales_order.js:2083 +#: templates/js/translated/purchase_order.js:1931 +#: templates/js/translated/return_order.js:475 +#: templates/js/translated/return_order.js:668 +#: templates/js/translated/sales_order.js:2119 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1943 -#: templates/js/translated/return_order.js:682 -#: templates/js/translated/sales_order.js:2094 +#: templates/js/translated/purchase_order.js:1942 +#: templates/js/translated/return_order.js:681 +#: templates/js/translated/sales_order.js:2130 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2225 -#: templates/js/translated/sales_order.js:2024 +#: templates/js/translated/purchase_order.js:2224 +#: templates/js/translated/sales_order.js:2060 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2226 -#: templates/js/translated/return_order.js:801 -#: templates/js/translated/sales_order.js:2025 +#: templates/js/translated/purchase_order.js:2225 +#: templates/js/translated/return_order.js:800 +#: templates/js/translated/sales_order.js:2061 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2227 -#: templates/js/translated/return_order.js:805 -#: templates/js/translated/sales_order.js:2031 +#: templates/js/translated/purchase_order.js:2226 +#: templates/js/translated/return_order.js:804 +#: templates/js/translated/sales_order.js:2067 msgid "Delete line item" msgstr "" -#: templates/js/translated/report.js:63 -msgid "items selected" +#: templates/js/translated/report.js:49 +msgid "Print Report" msgstr "" -#: templates/js/translated/report.js:71 -msgid "Select Report Template" +#: templates/js/translated/report.js:68 +msgid "Report print successful" msgstr "" -#: templates/js/translated/report.js:86 -msgid "Select Test Report Template" -msgstr "" - -#: templates/js/translated/report.js:140 -msgid "No Reports Found" -msgstr "" - -#: templates/js/translated/report.js:141 -msgid "No report templates found which match the selected items" +#: templates/js/translated/report.js:73 +msgid "Report printing failed" msgstr "" #: templates/js/translated/return_order.js:60 @@ -12953,25 +12976,25 @@ msgstr "" msgid "Complete Return Order" msgstr "" -#: templates/js/translated/return_order.js:266 +#: templates/js/translated/return_order.js:265 msgid "No return orders found" msgstr "" -#: templates/js/translated/return_order.js:300 -#: templates/js/translated/sales_order.js:788 +#: templates/js/translated/return_order.js:299 +#: templates/js/translated/sales_order.js:824 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/return_order.js:562 +#: templates/js/translated/return_order.js:561 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:693 -#: templates/js/translated/sales_order.js:2231 +#: templates/js/translated/return_order.js:692 +#: templates/js/translated/sales_order.js:2267 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:798 +#: templates/js/translated/return_order.js:797 msgid "Mark item as received" msgstr "" @@ -13015,140 +13038,156 @@ msgstr "" msgid "Skip" msgstr "" +#: templates/js/translated/sales_order.js:484 +msgid "Ship Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:500 +msgid "Ship this order?" +msgstr "" + +#: templates/js/translated/sales_order.js:506 +msgid "Order cannot be shipped as there are incomplete shipments" +msgstr "" + #: templates/js/translated/sales_order.js:513 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/sales_order.js:535 +#: templates/js/translated/sales_order.js:514 +msgid "Shipping this order means that the order and line items will no longer be editable." +msgstr "" + +#: templates/js/translated/sales_order.js:572 msgid "Issue this Sales Order?" msgstr "" -#: templates/js/translated/sales_order.js:540 +#: templates/js/translated/sales_order.js:577 msgid "Issue Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:559 +#: templates/js/translated/sales_order.js:596 msgid "Cancel Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:564 +#: templates/js/translated/sales_order.js:601 msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: templates/js/translated/sales_order.js:618 +#: templates/js/translated/sales_order.js:655 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/sales_order.js:728 +#: templates/js/translated/sales_order.js:764 msgid "No sales orders found" msgstr "" -#: templates/js/translated/sales_order.js:908 +#: templates/js/translated/sales_order.js:944 msgid "Edit shipment" msgstr "" -#: templates/js/translated/sales_order.js:911 +#: templates/js/translated/sales_order.js:947 msgid "Complete shipment" msgstr "" -#: templates/js/translated/sales_order.js:916 +#: templates/js/translated/sales_order.js:952 msgid "Delete shipment" msgstr "" -#: templates/js/translated/sales_order.js:933 +#: templates/js/translated/sales_order.js:969 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/sales_order.js:948 +#: templates/js/translated/sales_order.js:984 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:981 +#: templates/js/translated/sales_order.js:1017 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/sales_order.js:1006 +#: templates/js/translated/sales_order.js:1042 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/sales_order.js:1030 -#: templates/js/translated/sales_order.js:1529 +#: templates/js/translated/sales_order.js:1066 +#: templates/js/translated/sales_order.js:1565 msgid "Not shipped" msgstr "" -#: templates/js/translated/sales_order.js:1048 +#: templates/js/translated/sales_order.js:1084 msgid "Tracking" msgstr "" -#: templates/js/translated/sales_order.js:1052 +#: templates/js/translated/sales_order.js:1088 msgid "Invoice" msgstr "" -#: templates/js/translated/sales_order.js:1219 +#: templates/js/translated/sales_order.js:1255 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1270 +#: templates/js/translated/sales_order.js:1306 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/sales_order.js:1271 +#: templates/js/translated/sales_order.js:1307 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1477 +#: templates/js/translated/sales_order.js:1513 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1569 +#: templates/js/translated/sales_order.js:1605 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1583 +#: templates/js/translated/sales_order.js:1619 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/sales_order.js:1584 +#: templates/js/translated/sales_order.js:1620 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1623 -#: templates/js/translated/sales_order.js:1710 +#: templates/js/translated/sales_order.js:1659 +#: templates/js/translated/sales_order.js:1746 #: templates/js/translated/stock.js:1776 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/sales_order.js:1631 -#: templates/js/translated/sales_order.js:1719 +#: templates/js/translated/sales_order.js:1667 +#: templates/js/translated/sales_order.js:1755 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:2008 +#: templates/js/translated/sales_order.js:2044 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/sales_order.js:2012 +#: templates/js/translated/sales_order.js:2048 msgid "Purchase stock" msgstr "" -#: templates/js/translated/sales_order.js:2021 -#: templates/js/translated/sales_order.js:2209 +#: templates/js/translated/sales_order.js:2057 +#: templates/js/translated/sales_order.js:2245 msgid "Calculate price" msgstr "" -#: templates/js/translated/sales_order.js:2035 +#: templates/js/translated/sales_order.js:2071 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:2038 +#: templates/js/translated/sales_order.js:2074 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:2109 +#: templates/js/translated/sales_order.js:2145 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/sales_order.js:2217 +#: templates/js/translated/sales_order.js:2253 msgid "Update Unit Price" msgstr "" @@ -13356,7 +13395,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1042 users/models.py:414 +#: templates/js/translated/stock.js:1042 users/models.py:401 msgid "Add" msgstr "" @@ -13372,7 +13411,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1180 templates/js/translated/stock.js:3302 +#: templates/js/translated/stock.js:1180 templates/js/translated/stock.js:3299 msgid "Select Stock Items" msgstr "" @@ -13456,196 +13495,196 @@ msgstr "" msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:1955 +#: templates/js/translated/stock.js:1953 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1960 +#: templates/js/translated/stock.js:1958 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:1971 +#: templates/js/translated/stock.js:1969 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:2015 +#: templates/js/translated/stock.js:2013 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2093 +#: templates/js/translated/stock.js:2091 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2098 +#: templates/js/translated/stock.js:2096 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2101 +#: templates/js/translated/stock.js:2099 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2104 +#: templates/js/translated/stock.js:2102 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2106 +#: templates/js/translated/stock.js:2104 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2108 +#: templates/js/translated/stock.js:2106 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2111 +#: templates/js/translated/stock.js:2109 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2113 +#: templates/js/translated/stock.js:2111 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2117 +#: templates/js/translated/stock.js:2115 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2119 +#: templates/js/translated/stock.js:2117 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2124 +#: templates/js/translated/stock.js:2122 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2126 +#: templates/js/translated/stock.js:2124 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2128 +#: templates/js/translated/stock.js:2126 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2132 +#: templates/js/translated/stock.js:2130 #: templates/js/translated/table_filters.js:350 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2297 +#: templates/js/translated/stock.js:2295 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2344 +#: templates/js/translated/stock.js:2342 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2472 +#: templates/js/translated/stock.js:2470 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2576 +#: templates/js/translated/stock.js:2573 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2731 +#: templates/js/translated/stock.js:2728 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2849 +#: templates/js/translated/stock.js:2846 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2853 +#: templates/js/translated/stock.js:2850 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2865 +#: templates/js/translated/stock.js:2862 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2887 +#: templates/js/translated/stock.js:2884 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2904 +#: templates/js/translated/stock.js:2901 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2919 +#: templates/js/translated/stock.js:2916 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2936 +#: templates/js/translated/stock.js:2933 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:2950 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2972 +#: templates/js/translated/stock.js:2969 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2990 +#: templates/js/translated/stock.js:2987 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:3008 +#: templates/js/translated/stock.js:3005 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:3016 +#: templates/js/translated/stock.js:3013 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3088 +#: templates/js/translated/stock.js:3085 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3142 templates/js/translated/stock.js:3178 +#: templates/js/translated/stock.js:3139 templates/js/translated/stock.js:3175 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3200 +#: templates/js/translated/stock.js:3197 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3221 +#: templates/js/translated/stock.js:3218 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3222 +#: templates/js/translated/stock.js:3219 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3224 +#: templates/js/translated/stock.js:3221 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3225 +#: templates/js/translated/stock.js:3222 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3226 +#: templates/js/translated/stock.js:3223 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3227 +#: templates/js/translated/stock.js:3224 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3240 +#: templates/js/translated/stock.js:3237 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3303 +#: templates/js/translated/stock.js:3300 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3316 +#: templates/js/translated/stock.js:3313 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3320 +#: templates/js/translated/stock.js:3317 msgid "Change Stock Status" msgstr "" @@ -14247,34 +14286,35 @@ msgstr "" msgid "Revoked" msgstr "" -#: users/models.py:397 +#: users/models.py:384 msgid "Permission set" msgstr "" -#: users/models.py:406 +#: users/models.py:393 msgid "Group" msgstr "" -#: users/models.py:410 +#: users/models.py:397 msgid "View" msgstr "" -#: users/models.py:410 +#: users/models.py:397 msgid "Permission to view items" msgstr "" -#: users/models.py:414 +#: users/models.py:401 msgid "Permission to add items" msgstr "" -#: users/models.py:418 +#: users/models.py:405 msgid "Change" msgstr "" -#: users/models.py:420 +#: users/models.py:407 msgid "Permissions to edit items" msgstr "" -#: users/models.py:426 +#: users/models.py:413 msgid "Permission to delete items" msgstr "" + diff --git a/src/backend/InvenTree/locale/hi/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/hi/LC_MESSAGES/django.po index 7334f4bc7b..2d08a58296 100644 --- a/src/backend/InvenTree/locale/hi/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/hi/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-10 05:37+0000\n" -"PO-Revision-Date: 2024-05-10 08:31\n" +"POT-Creation-Date: 2024-05-23 11:25+0000\n" +"PO-Revision-Date: 2024-05-23 11:39\n" "Last-Translator: \n" "Language-Team: Hindi\n" "Language: hi_IN\n" @@ -17,11 +17,11 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 216\n" -#: InvenTree/api.py:271 +#: InvenTree/api.py:272 msgid "API endpoint not found" msgstr "" -#: InvenTree/api.py:535 +#: InvenTree/api.py:536 msgid "User does not have permission to view this model" msgstr "" @@ -56,26 +56,26 @@ msgstr "" msgid "Enter date" msgstr "तारीख दर्ज करें" -#: InvenTree/fields.py:208 InvenTree/models.py:1021 build/serializers.py:444 -#: build/serializers.py:522 build/templates/build/sidebar.html:21 +#: InvenTree/fields.py:208 InvenTree/models.py:1035 build/serializers.py:443 +#: build/serializers.py:521 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 -#: order/models.py:1283 order/templates/order/po_sidebar.html:11 +#: order/models.py:1323 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:59 -#: part/models.py:3175 part/templates/part/part_sidebar.html:63 -#: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:226 stock/models.py:2344 stock/models.py:2461 -#: stock/serializers.py:501 stock/serializers.py:659 stock/serializers.py:755 -#: stock/serializers.py:805 stock/serializers.py:1114 stock/serializers.py:1203 -#: stock/serializers.py:1368 stock/templates/stock/stock_sidebar.html:25 +#: part/models.py:3218 part/templates/part/part_sidebar.html:63 +#: report/templates/report/inventree_build_order_report.html:172 +#: stock/admin.py:226 stock/models.py:2321 stock/models.py:2438 +#: stock/serializers.py:630 stock/serializers.py:788 stock/serializers.py:884 +#: stock/serializers.py:934 stock/serializers.py:1243 stock/serializers.py:1332 +#: stock/serializers.py:1497 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1080 -#: templates/js/translated/purchase_order.js:2201 -#: templates/js/translated/return_order.js:776 -#: templates/js/translated/sales_order.js:1067 -#: templates/js/translated/sales_order.js:1982 -#: templates/js/translated/stock.js:1536 templates/js/translated/stock.js:2430 +#: templates/js/translated/purchase_order.js:2200 +#: templates/js/translated/return_order.js:775 +#: templates/js/translated/sales_order.js:1103 +#: templates/js/translated/sales_order.js:2018 +#: templates/js/translated/stock.js:1536 templates/js/translated/stock.js:2428 msgid "Notes" msgstr "" @@ -132,7 +132,7 @@ msgstr "" msgid "Registration is disabled." msgstr "" -#: InvenTree/helpers.py:525 order/models.py:541 order/models.py:743 +#: InvenTree/helpers.py:525 order/models.py:563 order/models.py:765 msgid "Invalid quantity provided" msgstr "" @@ -355,142 +355,142 @@ msgstr "ई-मेल" msgid "Error running plugin validation" msgstr "" -#: InvenTree/models.py:162 +#: InvenTree/models.py:176 msgid "Metadata must be a python dict object" msgstr "" -#: InvenTree/models.py:168 +#: InvenTree/models.py:182 msgid "Plugin Metadata" msgstr "" -#: InvenTree/models.py:169 +#: InvenTree/models.py:183 msgid "JSON metadata field, for use by external plugins" msgstr "" -#: InvenTree/models.py:399 +#: InvenTree/models.py:413 msgid "Improperly formatted pattern" msgstr "" -#: InvenTree/models.py:406 +#: InvenTree/models.py:420 msgid "Unknown format key specified" msgstr "" -#: InvenTree/models.py:412 +#: InvenTree/models.py:426 msgid "Missing required format key" msgstr "" -#: InvenTree/models.py:423 +#: InvenTree/models.py:437 msgid "Reference field cannot be empty" msgstr "" -#: InvenTree/models.py:431 +#: InvenTree/models.py:445 msgid "Reference must match required pattern" msgstr "" -#: InvenTree/models.py:462 +#: InvenTree/models.py:476 msgid "Reference number is too large" msgstr "" -#: InvenTree/models.py:536 +#: InvenTree/models.py:550 msgid "Missing file" msgstr "" -#: InvenTree/models.py:537 +#: InvenTree/models.py:551 msgid "Missing external link" msgstr "" -#: InvenTree/models.py:558 stock/models.py:2456 +#: InvenTree/models.py:572 stock/models.py:2433 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" msgstr "" -#: InvenTree/models.py:559 +#: InvenTree/models.py:573 msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:567 common/models.py:3026 company/models.py:146 +#: InvenTree/models.py:581 common/models.py:3032 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 -#: order/models.py:291 order/models.py:1288 order/models.py:1704 -#: part/admin.py:55 part/models.py:919 +#: order/models.py:304 order/models.py:1328 order/models.py:1744 +#: part/admin.py:55 part/models.py:962 #: part/templates/part/part_scheduling.html:11 -#: report/templates/report/inventree_build_order_base.html:164 +#: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2456 -#: templates/js/translated/purchase_order.js:2041 -#: templates/js/translated/purchase_order.js:2205 -#: templates/js/translated/return_order.js:780 -#: templates/js/translated/sales_order.js:1056 -#: templates/js/translated/sales_order.js:1987 +#: templates/js/translated/part.js:2455 +#: templates/js/translated/purchase_order.js:2040 +#: templates/js/translated/purchase_order.js:2204 +#: templates/js/translated/return_order.js:779 +#: templates/js/translated/sales_order.js:1092 +#: templates/js/translated/sales_order.js:2023 msgid "Link" msgstr "" -#: InvenTree/models.py:568 build/models.py:321 part/models.py:920 -#: stock/models.py:819 +#: InvenTree/models.py:582 build/models.py:344 part/models.py:963 +#: stock/models.py:840 msgid "Link to external URL" msgstr "" -#: InvenTree/models.py:574 templates/js/translated/attachment.js:120 +#: InvenTree/models.py:588 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:341 msgid "Comment" msgstr "" -#: InvenTree/models.py:575 +#: InvenTree/models.py:589 msgid "File comment" msgstr "" -#: InvenTree/models.py:583 InvenTree/models.py:584 common/models.py:2502 -#: common/models.py:2503 common/models.py:2727 common/models.py:2728 -#: common/models.py:2973 common/models.py:2974 part/models.py:3185 -#: part/models.py:3272 part/models.py:3365 part/models.py:3393 -#: plugin/models.py:250 plugin/models.py:251 -#: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3039 users/models.py:111 +#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2508 +#: common/models.py:2509 common/models.py:2733 common/models.py:2734 +#: common/models.py:2979 common/models.py:2980 part/models.py:3228 +#: part/models.py:3315 part/models.py:3408 part/models.py:3436 +#: plugin/models.py:259 plugin/models.py:260 +#: report/templates/report/inventree_test_report.html:105 +#: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" msgstr "" -#: InvenTree/models.py:588 +#: InvenTree/models.py:602 msgid "upload date" msgstr "" -#: InvenTree/models.py:610 +#: InvenTree/models.py:624 msgid "Filename must not be empty" msgstr "" -#: InvenTree/models.py:621 +#: InvenTree/models.py:635 msgid "Invalid attachment directory" msgstr "" -#: InvenTree/models.py:651 +#: InvenTree/models.py:665 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "" -#: InvenTree/models.py:654 +#: InvenTree/models.py:668 msgid "Filename missing extension" msgstr "" -#: InvenTree/models.py:663 +#: InvenTree/models.py:677 msgid "Attachment with this filename already exists" msgstr "" -#: InvenTree/models.py:670 +#: InvenTree/models.py:684 msgid "Error renaming file" msgstr "" -#: InvenTree/models.py:846 +#: InvenTree/models.py:860 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:863 +#: InvenTree/models.py:877 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:893 common/models.py:2714 common/models.py:3112 -#: common/serializers.py:403 company/models.py:614 label/models.py:120 -#: machine/models.py:24 part/models.py:855 part/models.py:3616 -#: plugin/models.py:41 report/models.py:176 stock/models.py:76 +#: InvenTree/models.py:907 common/models.py:2720 common/models.py:3118 +#: common/serializers.py:403 company/models.py:614 machine/models.py:24 +#: part/models.py:898 part/models.py:3659 plugin/models.py:50 +#: report/models.py:149 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -503,22 +503,22 @@ msgstr "" #: templates/js/translated/company.js:1165 #: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186 #: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2719 +#: templates/js/translated/part.js:2748 templates/js/translated/stock.js:2716 msgid "Name" msgstr "" -#: InvenTree/models.py:899 build/models.py:194 +#: InvenTree/models.py:913 build/models.py:217 #: build/templates/build/detail.html:24 common/models.py:136 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 label/models.py:127 -#: order/models.py:277 order/models.py:1316 part/admin.py:303 part/admin.py:414 -#: part/models.py:878 part/models.py:3631 part/templates/part/category.html:82 +#: company/templates/company/supplier_part.html:107 order/models.py:290 +#: order/models.py:1356 part/admin.py:305 part/admin.py:416 part/models.py:921 +#: part/models.py:3674 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 -#: part/templates/part/part_scheduling.html:12 report/models.py:189 -#: report/models.py:655 report/models.py:729 -#: report/templates/report/inventree_build_order_base.html:117 +#: part/templates/part/part_scheduling.html:12 report/models.py:155 +#: report/models.py:510 report/models.py:536 +#: report/templates/report/inventree_build_order_report.html:117 #: stock/admin.py:55 stock/models.py:82 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 @@ -530,71 +530,71 @@ msgstr "" #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 -#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2896 +#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2354 +#: templates/js/translated/part.js:2784 templates/js/translated/part.js:2895 #: templates/js/translated/plugin.js:80 -#: templates/js/translated/purchase_order.js:1707 -#: templates/js/translated/purchase_order.js:1850 -#: templates/js/translated/purchase_order.js:2023 -#: templates/js/translated/return_order.js:314 -#: templates/js/translated/sales_order.js:802 -#: templates/js/translated/sales_order.js:1812 -#: templates/js/translated/stock.js:1515 templates/js/translated/stock.js:2060 -#: templates/js/translated/stock.js:2751 templates/js/translated/stock.js:2834 +#: templates/js/translated/purchase_order.js:1706 +#: templates/js/translated/purchase_order.js:1849 +#: templates/js/translated/purchase_order.js:2022 +#: templates/js/translated/return_order.js:313 +#: templates/js/translated/sales_order.js:838 +#: templates/js/translated/sales_order.js:1848 +#: templates/js/translated/stock.js:1515 templates/js/translated/stock.js:2058 +#: templates/js/translated/stock.js:2748 templates/js/translated/stock.js:2831 msgid "Description" msgstr "" -#: InvenTree/models.py:900 stock/models.py:83 +#: InvenTree/models.py:914 stock/models.py:83 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:909 +#: InvenTree/models.py:923 msgid "parent" msgstr "" -#: InvenTree/models.py:915 templates/js/translated/part.js:2794 -#: templates/js/translated/stock.js:2760 +#: InvenTree/models.py:929 templates/js/translated/part.js:2793 +#: templates/js/translated/stock.js:2757 msgid "Path" msgstr "" -#: InvenTree/models.py:1021 +#: InvenTree/models.py:1035 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:1050 +#: InvenTree/models.py:1064 msgid "Barcode Data" msgstr "" -#: InvenTree/models.py:1051 +#: InvenTree/models.py:1065 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:1057 +#: InvenTree/models.py:1071 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:1058 +#: InvenTree/models.py:1072 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:1111 +#: InvenTree/models.py:1125 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:1154 +#: InvenTree/models.py:1168 msgid "Server Error" msgstr "" -#: InvenTree/models.py:1155 +#: InvenTree/models.py:1169 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:62 part/models.py:4169 +#: InvenTree/serializers.py:62 part/models.py:4212 msgid "Must be a valid number" msgstr "" #: InvenTree/serializers.py:99 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:2993 +#: company/templates/company/company_base.html:112 part/models.py:3036 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -686,7 +686,7 @@ msgstr "" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1161 +#: InvenTree/status.py:66 part/serializers.py:1176 msgid "Background worker check failed" msgstr "" @@ -699,8 +699,8 @@ msgid "InvenTree system health checks failed" msgstr "" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:37 -#: InvenTree/status_codes.py:148 InvenTree/status_codes.py:164 -#: InvenTree/status_codes.py:182 generic/states/tests.py:17 +#: InvenTree/status_codes.py:149 InvenTree/status_codes.py:165 +#: InvenTree/status_codes.py:183 generic/states/tests.py:17 #: templates/js/translated/table_filters.js:598 msgid "Pending" msgstr "" @@ -709,188 +709,188 @@ msgstr "" msgid "Placed" msgstr "" -#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:151 -#: InvenTree/status_codes.py:169 generic/states/tests.py:19 -#: order/templates/order/order_base.html:158 -#: order/templates/order/sales_order_base.html:161 +#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:44 +#: InvenTree/status_codes.py:152 InvenTree/status_codes.py:170 +#: generic/states/tests.py:19 order/templates/order/order_base.html:158 +#: order/templates/order/sales_order_base.html:165 report/models.py:444 msgid "Complete" msgstr "" -#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:44 -#: InvenTree/status_codes.py:150 InvenTree/status_codes.py:170 +#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:45 +#: InvenTree/status_codes.py:151 InvenTree/status_codes.py:171 msgid "Cancelled" msgstr "" -#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:45 -#: InvenTree/status_codes.py:67 +#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:46 +#: InvenTree/status_codes.py:68 msgid "Lost" msgstr "" -#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:46 -#: InvenTree/status_codes.py:73 +#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:47 +#: InvenTree/status_codes.py:74 msgid "Returned" msgstr "" -#: InvenTree/status_codes.py:40 InvenTree/status_codes.py:167 +#: InvenTree/status_codes.py:40 InvenTree/status_codes.py:168 msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:43 order/models.py:1566 -#: templates/js/translated/sales_order.js:1523 -#: templates/js/translated/sales_order.js:1644 -#: templates/js/translated/sales_order.js:1957 +#: InvenTree/status_codes.py:43 order/models.py:1606 +#: templates/js/translated/sales_order.js:1559 +#: templates/js/translated/sales_order.js:1680 +#: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "" -#: InvenTree/status_codes.py:62 +#: InvenTree/status_codes.py:63 msgid "OK" msgstr "" -#: InvenTree/status_codes.py:63 +#: InvenTree/status_codes.py:64 msgid "Attention needed" msgstr "" -#: InvenTree/status_codes.py:64 +#: InvenTree/status_codes.py:65 msgid "Damaged" msgstr "" -#: InvenTree/status_codes.py:65 +#: InvenTree/status_codes.py:66 msgid "Destroyed" msgstr "" -#: InvenTree/status_codes.py:66 +#: InvenTree/status_codes.py:67 msgid "Rejected" msgstr "" -#: InvenTree/status_codes.py:70 +#: InvenTree/status_codes.py:71 msgid "Quarantined" msgstr "" -#: InvenTree/status_codes.py:91 +#: InvenTree/status_codes.py:92 msgid "Legacy stock tracking entry" msgstr "" -#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:544 +#: InvenTree/status_codes.py:94 templates/js/translated/stock.js:544 msgid "Stock item created" msgstr "" -#: InvenTree/status_codes.py:96 +#: InvenTree/status_codes.py:97 msgid "Edited stock item" msgstr "" -#: InvenTree/status_codes.py:97 +#: InvenTree/status_codes.py:98 msgid "Assigned serial number" msgstr "" -#: InvenTree/status_codes.py:100 +#: InvenTree/status_codes.py:101 msgid "Stock counted" msgstr "" -#: InvenTree/status_codes.py:101 +#: InvenTree/status_codes.py:102 msgid "Stock manually added" msgstr "" -#: InvenTree/status_codes.py:102 +#: InvenTree/status_codes.py:103 msgid "Stock manually removed" msgstr "" -#: InvenTree/status_codes.py:105 +#: InvenTree/status_codes.py:106 msgid "Location changed" msgstr "" -#: InvenTree/status_codes.py:106 +#: InvenTree/status_codes.py:107 msgid "Stock updated" msgstr "" -#: InvenTree/status_codes.py:109 +#: InvenTree/status_codes.py:110 msgid "Installed into assembly" msgstr "" -#: InvenTree/status_codes.py:110 +#: InvenTree/status_codes.py:111 msgid "Removed from assembly" msgstr "" -#: InvenTree/status_codes.py:112 +#: InvenTree/status_codes.py:113 msgid "Installed component item" msgstr "" -#: InvenTree/status_codes.py:113 +#: InvenTree/status_codes.py:114 msgid "Removed component item" msgstr "" -#: InvenTree/status_codes.py:116 +#: InvenTree/status_codes.py:117 msgid "Split from parent item" msgstr "" -#: InvenTree/status_codes.py:117 +#: InvenTree/status_codes.py:118 msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1858 +#: InvenTree/status_codes.py:121 templates/js/translated/stock.js:1858 msgid "Merged stock items" msgstr "" -#: InvenTree/status_codes.py:123 +#: InvenTree/status_codes.py:124 msgid "Converted to variant" msgstr "" -#: InvenTree/status_codes.py:126 +#: InvenTree/status_codes.py:127 msgid "Build order output created" msgstr "" -#: InvenTree/status_codes.py:127 +#: InvenTree/status_codes.py:128 msgid "Build order output completed" msgstr "" -#: InvenTree/status_codes.py:128 +#: InvenTree/status_codes.py:129 msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1764 +#: InvenTree/status_codes.py:130 templates/js/translated/stock.js:1764 msgid "Consumed by build order" msgstr "" -#: InvenTree/status_codes.py:132 +#: InvenTree/status_codes.py:133 msgid "Shipped against Sales Order" msgstr "" -#: InvenTree/status_codes.py:135 +#: InvenTree/status_codes.py:136 msgid "Received against Purchase Order" msgstr "" -#: InvenTree/status_codes.py:138 +#: InvenTree/status_codes.py:139 msgid "Returned against Return Order" msgstr "" -#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:375 +#: InvenTree/status_codes.py:142 templates/js/translated/table_filters.js:375 msgid "Sent to customer" msgstr "" -#: InvenTree/status_codes.py:142 +#: InvenTree/status_codes.py:143 msgid "Returned from customer" msgstr "" -#: InvenTree/status_codes.py:149 +#: InvenTree/status_codes.py:150 msgid "Production" msgstr "" -#: InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:186 msgid "Return" msgstr "" -#: InvenTree/status_codes.py:188 +#: InvenTree/status_codes.py:189 msgid "Repair" msgstr "" -#: InvenTree/status_codes.py:191 +#: InvenTree/status_codes.py:192 msgid "Replace" msgstr "" -#: InvenTree/status_codes.py:194 +#: InvenTree/status_codes.py:195 msgid "Refund" msgstr "" -#: InvenTree/status_codes.py:197 +#: InvenTree/status_codes.py:198 msgid "Reject" msgstr "" @@ -946,14 +946,14 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:299 part/models.py:4047 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4090 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4041 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4084 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -969,7 +969,7 @@ msgstr "" #: build/api.py:303 part/admin.py:144 templates/js/translated/build.js:1744 #: templates/js/translated/build.js:2629 -#: templates/js/translated/sales_order.js:1929 +#: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "" @@ -980,7 +980,7 @@ msgstr "" #: templates/email/low_stock_notification.html:17 #: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 #: templates/js/translated/index.js:123 -#: templates/js/translated/model_renderers.js:228 +#: templates/js/translated/model_renderers.js:234 #: templates/js/translated/part.js:692 templates/js/translated/part.js:694 #: templates/js/translated/part.js:699 #: templates/js/translated/table_filters.js:340 @@ -988,16 +988,16 @@ msgstr "" msgid "Available" msgstr "" -#: build/models.py:74 build/templates/build/build_base.html:9 +#: build/models.py:82 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 -#: report/templates/report/inventree_build_order_base.html:105 -#: templates/email/build_order_completed.html:16 +#: report/templates/report/inventree_build_order_report.html:105 +#: stock/serializers.py:83 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2895 +#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2892 msgid "Build Order" msgstr "" -#: build/models.py:75 build/templates/build/build_base.html:13 +#: build/models.py:83 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -1008,71 +1008,71 @@ msgstr "" msgid "Build Orders" msgstr "" -#: build/models.py:122 +#: build/models.py:130 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:133 order/models.py:239 +#: build/models.py:141 order/models.py:241 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:139 +#: build/models.py:147 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:185 +#: build/models.py:208 msgid "Build Order Reference" msgstr "" -#: build/models.py:186 order/models.py:442 order/models.py:898 -#: order/models.py:1276 order/models.py:1998 part/admin.py:417 -#: part/models.py:4062 part/templates/part/upload_bom.html:54 +#: build/models.py:209 order/models.py:464 order/models.py:929 +#: order/models.py:1316 order/models.py:2047 part/admin.py:419 +#: part/models.py:4105 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 -#: report/templates/report/inventree_so_report_base.html:28 +#: report/templates/report/inventree_purchase_order_report.html:28 +#: report/templates/report/inventree_return_order_report.html:26 +#: report/templates/report/inventree_sales_order_report.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 #: templates/js/translated/build.js:2512 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 -#: templates/js/translated/purchase_order.js:2066 -#: templates/js/translated/return_order.js:729 -#: templates/js/translated/sales_order.js:1818 +#: templates/js/translated/purchase_order.js:2065 +#: templates/js/translated/return_order.js:728 +#: templates/js/translated/sales_order.js:1854 msgid "Reference" msgstr "" -#: build/models.py:197 +#: build/models.py:220 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:205 build/templates/build/build_base.html:183 +#: build/models.py:228 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:206 +#: build/models.py:229 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:211 build/templates/build/build_base.html:97 +#: build/models.py:234 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 -#: order/models.py:1401 order/models.py:1546 order/models.py:1547 -#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004 -#: part/models.py:3148 part/models.py:3292 part/models.py:3315 -#: part/models.py:3336 part/models.py:3358 part/models.py:3468 -#: part/models.py:3764 part/models.py:3920 part/models.py:4013 -#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713 +#: order/models.py:1441 order/models.py:1586 order/models.py:1587 +#: part/api.py:1501 part/api.py:1795 part/models.py:392 part/models.py:3047 +#: part/models.py:3191 part/models.py:3335 part/models.py:3358 +#: part/models.py:3379 part/models.py:3401 part/models.py:3511 +#: part/models.py:3807 part/models.py:3963 part/models.py:4056 +#: part/models.py:4417 part/serializers.py:1122 part/serializers.py:1728 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 -#: report/templates/report/inventree_build_order_base.html:109 -#: report/templates/report/inventree_po_report_base.html:27 -#: report/templates/report/inventree_return_order_report_base.html:24 -#: report/templates/report/inventree_slr_report.html:102 -#: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:267 stock/serializers.py:689 -#: templates/InvenTree/search.html:82 +#: report/templates/report/inventree_build_order_report.html:109 +#: report/templates/report/inventree_purchase_order_report.html:27 +#: report/templates/report/inventree_return_order_report.html:24 +#: report/templates/report/inventree_sales_order_report.html:27 +#: report/templates/report/inventree_stock_location_report.html:102 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:396 +#: stock/serializers.py:818 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -1086,235 +1086,239 @@ msgstr "" #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 #: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 -#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:2323 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:751 #: templates/js/translated/purchase_order.js:1304 -#: templates/js/translated/purchase_order.js:1849 -#: templates/js/translated/purchase_order.js:2008 -#: templates/js/translated/return_order.js:539 -#: templates/js/translated/return_order.js:710 +#: templates/js/translated/purchase_order.js:1848 +#: templates/js/translated/purchase_order.js:2007 +#: templates/js/translated/return_order.js:538 +#: templates/js/translated/return_order.js:709 #: templates/js/translated/sales_order.js:300 -#: templates/js/translated/sales_order.js:1197 -#: templates/js/translated/sales_order.js:1598 -#: templates/js/translated/sales_order.js:1796 +#: templates/js/translated/sales_order.js:1233 +#: templates/js/translated/sales_order.js:1634 +#: templates/js/translated/sales_order.js:1832 #: templates/js/translated/stock.js:676 templates/js/translated/stock.js:842 -#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1999 -#: templates/js/translated/stock.js:2860 templates/js/translated/stock.js:3093 -#: templates/js/translated/stock.js:3239 +#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1997 +#: templates/js/translated/stock.js:2857 templates/js/translated/stock.js:3090 +#: templates/js/translated/stock.js:3236 msgid "Part" msgstr "" -#: build/models.py:219 +#: build/models.py:242 msgid "Select part to build" msgstr "" -#: build/models.py:224 +#: build/models.py:247 msgid "Sales Order Reference" msgstr "" -#: build/models.py:228 +#: build/models.py:251 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:233 build/serializers.py:970 +#: build/models.py:256 build/serializers.py:969 #: templates/js/translated/build.js:1731 -#: templates/js/translated/sales_order.js:1185 +#: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "" -#: build/models.py:237 +#: build/models.py:260 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:242 +#: build/models.py:265 msgid "Destination Location" msgstr "" -#: build/models.py:246 +#: build/models.py:269 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:250 +#: build/models.py:273 msgid "Build Quantity" msgstr "" -#: build/models.py:253 +#: build/models.py:276 msgid "Number of stock items to build" msgstr "" -#: build/models.py:257 +#: build/models.py:280 msgid "Completed items" msgstr "" -#: build/models.py:259 +#: build/models.py:282 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:263 +#: build/models.py:286 msgid "Build Status" msgstr "" -#: build/models.py:267 +#: build/models.py:290 msgid "Build status code" msgstr "" -#: build/models.py:276 build/serializers.py:278 order/serializers.py:581 -#: stock/models.py:823 stock/serializers.py:1333 +#: build/models.py:299 build/serializers.py:277 order/serializers.py:581 +#: stock/models.py:844 stock/serializers.py:75 stock/serializers.py:1462 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" -#: build/models.py:280 build/serializers.py:279 +#: build/models.py:303 build/serializers.py:278 msgid "Batch code for this build output" msgstr "" -#: build/models.py:283 order/models.py:304 order/serializers.py:120 -#: part/models.py:1079 part/templates/part/part_base.html:310 -#: templates/js/translated/return_order.js:339 -#: templates/js/translated/sales_order.js:827 +#: build/models.py:306 order/models.py:317 order/serializers.py:120 +#: part/models.py:1122 part/templates/part/part_base.html:310 +#: templates/js/translated/return_order.js:338 +#: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "" -#: build/models.py:287 +#: build/models.py:310 msgid "Target completion date" msgstr "" -#: build/models.py:288 +#: build/models.py:311 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:291 order/models.py:500 order/models.py:2043 +#: build/models.py:314 order/models.py:522 order/models.py:2092 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "" -#: build/models.py:297 +#: build/models.py:320 msgid "completed by" msgstr "" -#: build/models.py:305 templates/js/translated/build.js:2207 +#: build/models.py:328 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "" -#: build/models.py:306 +#: build/models.py:329 msgid "User who issued this build order" msgstr "" -#: build/models.py:314 build/templates/build/build_base.html:204 +#: build/models.py:337 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:145 -#: order/models.py:322 order/templates/order/order_base.html:217 +#: order/models.py:335 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1096 +#: order/templates/order/sales_order_base.html:232 part/models.py:1139 #: part/templates/part/part_base.html:390 -#: report/templates/report/inventree_build_order_base.html:158 +#: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 #: templates/js/translated/build.js:2219 -#: templates/js/translated/purchase_order.js:1764 -#: templates/js/translated/return_order.js:359 +#: templates/js/translated/purchase_order.js:1763 +#: templates/js/translated/return_order.js:358 #: templates/js/translated/table_filters.js:531 msgid "Responsible" msgstr "" -#: build/models.py:315 +#: build/models.py:338 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:320 build/templates/build/detail.html:108 +#: build/models.py:343 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 -#: order/templates/order/sales_order_base.html:180 -#: part/templates/part/part_base.html:383 stock/models.py:819 +#: order/templates/order/sales_order_base.html:184 +#: part/templates/part/part_base.html:383 stock/models.py:840 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "" -#: build/models.py:325 +#: build/models.py:348 msgid "Build Priority" msgstr "" -#: build/models.py:328 +#: build/models.py:351 msgid "Priority of this build order" msgstr "" -#: build/models.py:335 common/models.py:129 order/admin.py:18 -#: order/models.py:286 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:358 common/models.py:129 order/admin.py:18 +#: order/models.py:299 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 -#: templates/js/translated/purchase_order.js:1711 -#: templates/js/translated/return_order.js:318 -#: templates/js/translated/sales_order.js:806 +#: templates/js/translated/purchase_order.js:1710 +#: templates/js/translated/return_order.js:317 +#: templates/js/translated/sales_order.js:842 #: templates/js/translated/table_filters.js:48 #: templates/project_code_data.html:6 msgid "Project Code" msgstr "" -#: build/models.py:336 +#: build/models.py:359 msgid "Project code for this build order" msgstr "" -#: build/models.py:566 build/models.py:631 +#: build/models.py:589 build/models.py:654 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:588 +#: build/models.py:611 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:594 +#: build/models.py:617 msgid "A build order has been completed" msgstr "" -#: build/models.py:820 build/models.py:895 +#: build/models.py:843 build/models.py:918 msgid "No build output specified" msgstr "" -#: build/models.py:823 +#: build/models.py:846 msgid "Build output is already completed" msgstr "" -#: build/models.py:826 +#: build/models.py:849 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:899 build/serializers.py:221 build/serializers.py:260 -#: build/serializers.py:837 order/models.py:538 order/serializers.py:433 -#: order/serializers.py:576 part/serializers.py:1471 part/serializers.py:1871 -#: stock/models.py:662 stock/models.py:1482 stock/serializers.py:472 +#: build/models.py:922 build/serializers.py:220 build/serializers.py:259 +#: build/serializers.py:836 order/models.py:560 order/serializers.py:433 +#: order/serializers.py:576 part/serializers.py:1486 part/serializers.py:1886 +#: stock/models.py:683 stock/models.py:1503 stock/serializers.py:601 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:904 build/serializers.py:226 +#: build/models.py:927 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:961 build/serializers.py:539 +#: build/models.py:984 build/serializers.py:538 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1323 +#: build/models.py:1335 +msgid "Build Order Line Item" +msgstr "" + +#: build/models.py:1360 msgid "Build object" msgstr "" -#: build/models.py:1337 build/models.py:1593 build/serializers.py:208 -#: build/serializers.py:245 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2524 -#: order/models.py:1259 order/models.py:1918 order/serializers.py:1339 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 -#: part/forms.py:48 part/models.py:3162 part/models.py:4035 +#: build/models.py:1374 build/models.py:1630 build/serializers.py:207 +#: build/serializers.py:244 build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2530 +#: order/models.py:1299 order/models.py:1958 order/serializers.py:1339 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 +#: part/forms.py:48 part/models.py:3205 part/models.py:4078 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 -#: report/templates/report/inventree_build_order_base.html:113 -#: report/templates/report/inventree_po_report_base.html:29 -#: report/templates/report/inventree_slr_report.html:104 -#: report/templates/report/inventree_so_report_base.html:29 -#: report/templates/report/inventree_test_report_base.html:90 -#: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:160 stock/serializers.py:463 +#: report/templates/report/inventree_build_order_report.html:113 +#: report/templates/report/inventree_purchase_order_report.html:29 +#: report/templates/report/inventree_sales_order_report.html:29 +#: report/templates/report/inventree_stock_location_report.html:104 +#: report/templates/report/inventree_test_report.html:90 +#: report/templates/report/inventree_test_report.html:170 stock/admin.py:160 +#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:592 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1324,380 +1328,381 @@ msgstr "" #: templates/js/translated/build.js:737 templates/js/translated/build.js:1369 #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 -#: templates/js/translated/model_renderers.js:230 +#: templates/js/translated/model_renderers.js:236 #: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3341 +#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3340 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 #: templates/js/translated/purchase_order.js:754 -#: templates/js/translated/purchase_order.js:1853 -#: templates/js/translated/purchase_order.js:2072 +#: templates/js/translated/purchase_order.js:1852 +#: templates/js/translated/purchase_order.js:2071 #: templates/js/translated/sales_order.js:317 -#: templates/js/translated/sales_order.js:1199 -#: templates/js/translated/sales_order.js:1518 -#: templates/js/translated/sales_order.js:1608 -#: templates/js/translated/sales_order.js:1698 -#: templates/js/translated/sales_order.js:1824 +#: templates/js/translated/sales_order.js:1235 +#: templates/js/translated/sales_order.js:1554 +#: templates/js/translated/sales_order.js:1644 +#: templates/js/translated/sales_order.js:1734 +#: templates/js/translated/sales_order.js:1860 #: templates/js/translated/stock.js:564 templates/js/translated/stock.js:702 -#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:3024 -#: templates/js/translated/stock.js:3107 +#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:3021 +#: templates/js/translated/stock.js:3104 msgid "Quantity" msgstr "" -#: build/models.py:1338 +#: build/models.py:1375 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1418 +#: build/models.py:1455 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1427 +#: build/models.py:1464 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1437 order/models.py:1869 +#: build/models.py:1474 order/models.py:1909 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1443 order/models.py:1872 +#: build/models.py:1480 order/models.py:1912 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1449 +#: build/models.py:1486 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1508 +#: build/models.py:1545 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1580 build/serializers.py:817 order/serializers.py:1183 -#: order/serializers.py:1204 stock/serializers.py:566 stock/serializers.py:1052 -#: stock/serializers.py:1164 stock/templates/stock/item_base.html:10 +#: build/models.py:1617 build/serializers.py:816 order/serializers.py:1183 +#: order/serializers.py:1204 stock/models.py:364 stock/serializers.py:92 +#: stock/serializers.py:695 stock/serializers.py:1181 stock/serializers.py:1293 +#: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 #: templates/js/translated/build.js:1745 #: templates/js/translated/sales_order.js:301 -#: templates/js/translated/sales_order.js:1198 -#: templates/js/translated/sales_order.js:1499 -#: templates/js/translated/sales_order.js:1504 -#: templates/js/translated/sales_order.js:1605 -#: templates/js/translated/sales_order.js:1692 +#: templates/js/translated/sales_order.js:1234 +#: templates/js/translated/sales_order.js:1535 +#: templates/js/translated/sales_order.js:1540 +#: templates/js/translated/sales_order.js:1641 +#: templates/js/translated/sales_order.js:1728 #: templates/js/translated/stock.js:677 templates/js/translated/stock.js:843 -#: templates/js/translated/stock.js:2980 +#: templates/js/translated/stock.js:2977 msgid "Stock Item" msgstr "" -#: build/models.py:1581 +#: build/models.py:1618 msgid "Source stock item" msgstr "" -#: build/models.py:1594 +#: build/models.py:1631 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1602 +#: build/models.py:1639 msgid "Install into" msgstr "" -#: build/models.py:1603 +#: build/models.py:1640 msgid "Destination stock item" msgstr "" -#: build/serializers.py:158 build/serializers.py:846 +#: build/serializers.py:157 build/serializers.py:845 #: templates/js/translated/build.js:1322 msgid "Build Output" msgstr "" -#: build/serializers.py:170 +#: build/serializers.py:169 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:174 +#: build/serializers.py:173 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:178 +#: build/serializers.py:177 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:189 +#: build/serializers.py:188 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:209 build/serializers.py:246 +#: build/serializers.py:208 build/serializers.py:245 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:267 +#: build/serializers.py:266 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:270 +#: build/serializers.py:269 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:285 order/serializers.py:589 order/serializers.py:1343 -#: stock/serializers.py:483 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:284 order/serializers.py:589 order/serializers.py:1343 +#: stock/serializers.py:612 templates/js/translated/purchase_order.js:1153 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:286 +#: build/serializers.py:285 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:291 build/serializers.py:432 build/serializers.py:504 +#: build/serializers.py:290 build/serializers.py:431 build/serializers.py:503 #: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1679 -#: part/serializers.py:1127 stock/serializers.py:494 stock/serializers.py:654 -#: stock/serializers.py:750 stock/serializers.py:1196 stock/serializers.py:1452 -#: stock/templates/stock/item_base.html:394 +#: part/serializers.py:1142 stock/serializers.py:101 stock/serializers.py:623 +#: stock/serializers.py:783 stock/serializers.py:879 stock/serializers.py:1325 +#: stock/serializers.py:1581 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 #: templates/js/translated/purchase_order.js:1178 #: templates/js/translated/purchase_order.js:1268 -#: templates/js/translated/sales_order.js:1511 -#: templates/js/translated/sales_order.js:1619 -#: templates/js/translated/sales_order.js:1627 -#: templates/js/translated/sales_order.js:1706 +#: templates/js/translated/sales_order.js:1547 +#: templates/js/translated/sales_order.js:1655 +#: templates/js/translated/sales_order.js:1663 +#: templates/js/translated/sales_order.js:1742 #: templates/js/translated/stock.js:678 templates/js/translated/stock.js:844 -#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2203 -#: templates/js/translated/stock.js:2874 +#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2201 +#: templates/js/translated/stock.js:2871 msgid "Location" msgstr "" -#: build/serializers.py:292 +#: build/serializers.py:291 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:306 +#: build/serializers.py:305 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:307 +#: build/serializers.py:306 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:322 +#: build/serializers.py:321 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:347 stock/api.py:995 +#: build/serializers.py:346 stock/api.py:1029 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:394 build/serializers.py:456 build/serializers.py:545 +#: build/serializers.py:393 build/serializers.py:455 build/serializers.py:544 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:433 +#: build/serializers.py:432 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:439 +#: build/serializers.py:438 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:440 +#: build/serializers.py:439 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:445 +#: build/serializers.py:444 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:505 +#: build/serializers.py:504 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:511 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:922 -#: order/models.py:2022 order/serializers.py:597 stock/admin.py:165 -#: stock/serializers.py:801 stock/serializers.py:1340 +#: build/serializers.py:510 build/templates/build/build_base.html:151 +#: build/templates/build/detail.html:62 order/models.py:953 +#: order/models.py:2071 order/serializers.py:597 stock/admin.py:165 +#: stock/serializers.py:930 stock/serializers.py:1469 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 -#: templates/js/translated/purchase_order.js:1723 -#: templates/js/translated/return_order.js:331 -#: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2178 templates/js/translated/stock.js:2998 -#: templates/js/translated/stock.js:3123 +#: templates/js/translated/purchase_order.js:1722 +#: templates/js/translated/return_order.js:330 +#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/stock.js:2176 templates/js/translated/stock.js:2995 +#: templates/js/translated/stock.js:3120 msgid "Status" msgstr "" -#: build/serializers.py:517 +#: build/serializers.py:516 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:518 +#: build/serializers.py:517 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:598 +#: build/serializers.py:597 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:599 +#: build/serializers.py:598 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:605 +#: build/serializers.py:604 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:606 +#: build/serializers.py:605 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:633 +#: build/serializers.py:632 msgid "Not permitted" msgstr "" -#: build/serializers.py:634 +#: build/serializers.py:633 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:635 +#: build/serializers.py:634 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:657 +#: build/serializers.py:656 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:659 +#: build/serializers.py:658 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:669 +#: build/serializers.py:668 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:674 +#: build/serializers.py:673 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:675 +#: build/serializers.py:674 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:685 templates/js/translated/build.js:315 +#: build/serializers.py:684 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:690 order/serializers.py:301 order/serializers.py:1246 +#: build/serializers.py:689 order/serializers.py:301 order/serializers.py:1246 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:691 +#: build/serializers.py:690 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:701 templates/js/translated/build.js:319 +#: build/serializers.py:700 templates/js/translated/build.js:319 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:710 templates/js/translated/build.js:303 +#: build/serializers.py:709 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:740 +#: build/serializers.py:739 msgid "Build Line" msgstr "" -#: build/serializers.py:750 +#: build/serializers.py:749 msgid "Build output" msgstr "" -#: build/serializers.py:758 +#: build/serializers.py:757 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:794 +#: build/serializers.py:793 msgid "Build Line Item" msgstr "" -#: build/serializers.py:808 +#: build/serializers.py:807 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:823 stock/serializers.py:1065 +#: build/serializers.py:822 stock/serializers.py:1194 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:871 order/serializers.py:1237 +#: build/serializers.py:870 order/serializers.py:1237 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:877 +#: build/serializers.py:876 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:884 +#: build/serializers.py:883 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:908 order/serializers.py:1489 +#: build/serializers.py:907 order/serializers.py:1489 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:971 +#: build/serializers.py:970 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:979 +#: build/serializers.py:978 msgid "Exclude Location" msgstr "" -#: build/serializers.py:980 +#: build/serializers.py:979 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:985 +#: build/serializers.py:984 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:986 +#: build/serializers.py:985 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:991 +#: build/serializers.py:990 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:992 +#: build/serializers.py:991 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:997 +#: build/serializers.py:996 msgid "Optional Items" msgstr "" -#: build/serializers.py:998 +#: build/serializers.py:997 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1020 +#: build/serializers.py:1019 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1110 part/models.py:3930 part/models.py:4366 -#: stock/api.py:758 +#: build/serializers.py:1109 part/models.py:3973 part/models.py:4409 +#: stock/api.py:792 msgid "BOM Item" msgstr "" -#: build/serializers.py:1119 templates/js/translated/index.js:130 +#: build/serializers.py:1118 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1124 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:817 part/serializers.py:1489 +#: build/serializers.py:1123 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:832 part/serializers.py:1504 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 @@ -1705,15 +1710,15 @@ msgstr "" msgid "On Order" msgstr "" -#: build/serializers.py:1129 part/serializers.py:1491 +#: build/serializers.py:1128 part/serializers.py:1506 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1134 part/bom.py:172 part/serializers.py:1514 +#: build/serializers.py:1133 part/bom.py:172 part/serializers.py:1529 #: part/templates/part/part_base.html:192 -#: templates/js/translated/sales_order.js:1893 +#: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "" @@ -1842,18 +1847,18 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:297 -#: order/models.py:1294 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:310 +#: order/models.py:1334 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 -#: order/templates/order/sales_order_base.html:192 -#: report/templates/report/inventree_build_order_base.html:125 +#: order/templates/order/sales_order_base.html:196 +#: report/templates/report/inventree_build_order_report.html:125 #: templates/js/translated/build.js:2239 templates/js/translated/part.js:1830 -#: templates/js/translated/purchase_order.js:1740 -#: templates/js/translated/purchase_order.js:2148 -#: templates/js/translated/return_order.js:347 -#: templates/js/translated/return_order.js:751 -#: templates/js/translated/sales_order.js:835 -#: templates/js/translated/sales_order.js:1867 +#: templates/js/translated/purchase_order.js:1739 +#: templates/js/translated/purchase_order.js:2147 +#: templates/js/translated/return_order.js:346 +#: templates/js/translated/return_order.js:750 +#: templates/js/translated/sales_order.js:871 +#: templates/js/translated/sales_order.js:1903 msgid "Target Date" msgstr "" @@ -1866,7 +1871,7 @@ msgstr "" #: build/templates/build/build_base.html:222 #: order/templates/order/order_base.html:122 #: order/templates/order/return_order_base.html:117 -#: order/templates/order/sales_order_base.html:122 +#: order/templates/order/sales_order_base.html:126 #: templates/js/translated/table_filters.js:98 #: templates/js/translated/table_filters.js:524 #: templates/js/translated/table_filters.js:626 @@ -1880,24 +1885,24 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:1538 -#: order/models.py:1652 order/models.py:1806 +#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:848 +#: order/models.py:1578 order/models.py:1692 order/models.py:1846 #: 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 +#: report/templates/report/inventree_build_order_report.html:135 +#: report/templates/report/inventree_sales_order_report.html:14 #: stock/templates/stock/item_base.html:369 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:929 -#: templates/js/translated/sales_order.js:769 -#: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2927 +#: templates/js/translated/sales_order.js:805 +#: templates/js/translated/sales_order.js:1028 +#: templates/js/translated/stock.js:2924 msgid "Sales Order" msgstr "" #: build/templates/build/build_base.html:197 #: build/templates/build/detail.html:115 -#: report/templates/report/inventree_build_order_base.html:152 +#: report/templates/report/inventree_build_order_report.html:152 #: templates/js/translated/table_filters.js:24 msgid "Issued By" msgstr "" @@ -1907,15 +1912,15 @@ msgstr "" msgid "Priority" msgstr "" -#: build/templates/build/build_base.html:273 +#: build/templates/build/build_base.html:269 msgid "Delete Build Order" msgstr "" -#: build/templates/build/build_base.html:283 +#: build/templates/build/build_base.html:279 msgid "Build Order QR Code" msgstr "" -#: build/templates/build/build_base.html:295 +#: build/templates/build/build_base.html:291 msgid "Link Barcode to Build Order" msgstr "" @@ -1931,8 +1936,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1430 -#: templates/js/translated/purchase_order.js:2190 +#: build/templates/build/detail.html:49 order/models.py:1470 +#: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "" @@ -1947,10 +1952,10 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 #: templates/js/translated/build.js:1380 -#: templates/js/translated/model_renderers.js:235 +#: templates/js/translated/model_renderers.js:241 #: templates/js/translated/purchase_order.js:1274 -#: templates/js/translated/stock.js:1133 templates/js/translated/stock.js:2192 -#: templates/js/translated/stock.js:3130 +#: templates/js/translated/stock.js:1133 templates/js/translated/stock.js:2190 +#: templates/js/translated/stock.js:3127 #: templates/js/translated/table_filters.js:313 #: templates/js/translated/table_filters.js:404 msgid "Batch" @@ -1959,7 +1964,7 @@ msgstr "" #: build/templates/build/detail.html:133 #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:151 -#: order/templates/order/sales_order_base.html:186 +#: order/templates/order/sales_order_base.html:190 #: templates/js/translated/build.js:2199 msgid "Created" msgstr "" @@ -1969,7 +1974,7 @@ msgid "No target date set" msgstr "" #: build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:202 +#: order/templates/order/sales_order_base.html:206 #: templates/js/translated/table_filters.js:689 msgid "Completed" msgstr "" @@ -2260,8 +2265,8 @@ msgstr "" #: common/models.py:1316 common/models.py:1372 common/models.py:1385 #: common/models.py:1393 common/models.py:1402 common/models.py:1411 -#: common/models.py:1613 common/models.py:1635 common/models.py:1750 -#: common/models.py:2061 +#: common/models.py:1619 common/models.py:1641 common/models.py:1756 +#: common/models.py:2067 msgid "days" msgstr "" @@ -2402,1209 +2407,1218 @@ msgid "Enable revision field for Part" msgstr "" #: common/models.py:1440 -msgid "IPN Regex" +msgid "Allow Deletion from Assembly" msgstr "" #: common/models.py:1441 +msgid "Allow deletion of parts which are used in an assembly" +msgstr "" + +#: common/models.py:1446 +msgid "IPN Regex" +msgstr "" + +#: common/models.py:1447 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1444 +#: common/models.py:1450 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1445 +#: common/models.py:1451 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1450 +#: common/models.py:1456 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1451 +#: common/models.py:1457 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1456 +#: common/models.py:1462 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1457 +#: common/models.py:1463 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1462 +#: common/models.py:1468 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1463 +#: common/models.py:1469 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1468 +#: common/models.py:1474 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1469 +#: common/models.py:1475 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1474 +#: common/models.py:1480 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1475 +#: common/models.py:1481 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1480 part/admin.py:108 part/models.py:3772 -#: report/models.py:182 stock/serializers.py:99 +#: common/models.py:1486 part/admin.py:108 part/models.py:3815 +#: report/models.py:294 report/models.py:361 report/serializers.py:90 +#: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:767 msgid "Template" msgstr "" -#: common/models.py:1481 +#: common/models.py:1487 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1486 part/admin.py:91 part/admin.py:431 part/models.py:1016 +#: common/models.py:1492 part/admin.py:91 part/admin.py:433 part/models.py:1059 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "" -#: common/models.py:1487 +#: common/models.py:1493 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1492 part/admin.py:95 part/models.py:1022 +#: common/models.py:1498 part/admin.py:95 part/models.py:1065 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "" -#: common/models.py:1493 +#: common/models.py:1499 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1498 part/admin.py:100 part/models.py:1034 +#: common/models.py:1504 part/admin.py:100 part/models.py:1077 msgid "Purchaseable" msgstr "" -#: common/models.py:1499 +#: common/models.py:1505 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1504 part/admin.py:104 part/models.py:1040 +#: common/models.py:1510 part/admin.py:104 part/models.py:1083 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "" -#: common/models.py:1505 +#: common/models.py:1511 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1510 part/admin.py:113 part/models.py:1028 +#: common/models.py:1516 part/admin.py:113 part/models.py:1071 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "" -#: common/models.py:1511 +#: common/models.py:1517 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1516 part/admin.py:117 part/models.py:1050 +#: common/models.py:1522 part/admin.py:117 part/models.py:1093 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "" -#: common/models.py:1517 +#: common/models.py:1523 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1522 +#: common/models.py:1528 msgid "Show Import in Views" msgstr "" -#: common/models.py:1523 +#: common/models.py:1529 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1528 +#: common/models.py:1534 msgid "Show related parts" msgstr "" -#: common/models.py:1529 +#: common/models.py:1535 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1534 +#: common/models.py:1540 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1535 +#: common/models.py:1541 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1540 templates/js/translated/part.js:107 +#: common/models.py:1546 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1542 +#: common/models.py:1548 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1548 +#: common/models.py:1554 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1549 +#: common/models.py:1555 msgid "Format to display the part name" msgstr "" -#: common/models.py:1555 +#: common/models.py:1561 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1556 +#: common/models.py:1562 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1560 +#: common/models.py:1566 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1562 +#: common/models.py:1568 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1568 +#: common/models.py:1574 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1570 +#: common/models.py:1576 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1576 +#: common/models.py:1582 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1578 +#: common/models.py:1584 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1584 +#: common/models.py:1590 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1586 +#: common/models.py:1592 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1592 +#: common/models.py:1598 msgid "Purchase History Override" msgstr "" -#: common/models.py:1594 +#: common/models.py:1600 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1600 +#: common/models.py:1606 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1602 +#: common/models.py:1608 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1608 +#: common/models.py:1614 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1610 +#: common/models.py:1616 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1617 +#: common/models.py:1623 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1618 +#: common/models.py:1624 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1623 +#: common/models.py:1629 msgid "Active Variants Only" msgstr "" -#: common/models.py:1625 +#: common/models.py:1631 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1631 +#: common/models.py:1637 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1633 +#: common/models.py:1639 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1640 +#: common/models.py:1646 msgid "Internal Prices" msgstr "" -#: common/models.py:1641 +#: common/models.py:1647 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1646 +#: common/models.py:1652 msgid "Internal Price Override" msgstr "" -#: common/models.py:1648 +#: common/models.py:1654 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1654 +#: common/models.py:1660 msgid "Enable label printing" msgstr "" -#: common/models.py:1655 +#: common/models.py:1661 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1660 +#: common/models.py:1666 msgid "Label Image DPI" msgstr "" -#: common/models.py:1662 +#: common/models.py:1668 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1668 +#: common/models.py:1674 msgid "Enable Reports" msgstr "" -#: common/models.py:1669 +#: common/models.py:1675 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1674 templates/stats.html:25 +#: common/models.py:1680 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1675 +#: common/models.py:1681 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1680 +#: common/models.py:1686 msgid "Log Report Errors" msgstr "" -#: common/models.py:1681 +#: common/models.py:1687 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1686 plugin/builtin/labels/label_sheet.py:28 -#: report/models.py:203 +#: common/models.py:1692 plugin/builtin/labels/label_sheet.py:28 +#: report/models.py:302 msgid "Page Size" msgstr "" -#: common/models.py:1687 +#: common/models.py:1693 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1692 +#: common/models.py:1698 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1693 +#: common/models.py:1699 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1698 +#: common/models.py:1704 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1700 +#: common/models.py:1706 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1706 +#: common/models.py:1712 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1707 +#: common/models.py:1713 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1712 +#: common/models.py:1718 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1713 +#: common/models.py:1719 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1718 +#: common/models.py:1724 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1720 +#: common/models.py:1726 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1726 +#: common/models.py:1732 msgid "Batch Code Template" msgstr "" -#: common/models.py:1728 +#: common/models.py:1734 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1733 +#: common/models.py:1739 msgid "Stock Expiry" msgstr "" -#: common/models.py:1734 +#: common/models.py:1740 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1739 +#: common/models.py:1745 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1740 +#: common/models.py:1746 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1745 +#: common/models.py:1751 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1747 +#: common/models.py:1753 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1754 +#: common/models.py:1760 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1755 +#: common/models.py:1761 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1760 +#: common/models.py:1766 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1761 +#: common/models.py:1767 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1766 +#: common/models.py:1772 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1767 +#: common/models.py:1773 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1771 +#: common/models.py:1777 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1772 +#: common/models.py:1778 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1777 +#: common/models.py:1783 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1779 +#: common/models.py:1785 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1785 +#: common/models.py:1791 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1787 +#: common/models.py:1793 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1793 +#: common/models.py:1799 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1795 +#: common/models.py:1801 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1801 common/models.py:1829 common/models.py:1851 -#: common/models.py:1879 +#: common/models.py:1807 common/models.py:1835 common/models.py:1857 +#: common/models.py:1885 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1802 common/models.py:1830 common/models.py:1852 -#: common/models.py:1880 +#: common/models.py:1808 common/models.py:1836 common/models.py:1858 +#: common/models.py:1886 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1807 +#: common/models.py:1813 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1809 +#: common/models.py:1815 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1815 +#: common/models.py:1821 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1816 +#: common/models.py:1822 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1821 +#: common/models.py:1827 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1823 +#: common/models.py:1829 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1835 +#: common/models.py:1841 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1837 +#: common/models.py:1843 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1843 +#: common/models.py:1849 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1845 +#: common/models.py:1851 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1857 +#: common/models.py:1863 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1858 +#: common/models.py:1864 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1863 +#: common/models.py:1869 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1865 +#: common/models.py:1871 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1871 +#: common/models.py:1877 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1873 +#: common/models.py:1879 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1885 +#: common/models.py:1891 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1887 +#: common/models.py:1893 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1893 +#: common/models.py:1899 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1895 +#: common/models.py:1901 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1902 +#: common/models.py:1908 msgid "Enable password forgot" msgstr "" -#: common/models.py:1903 +#: common/models.py:1909 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1908 +#: common/models.py:1914 msgid "Enable registration" msgstr "" -#: common/models.py:1909 +#: common/models.py:1915 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1914 +#: common/models.py:1920 msgid "Enable SSO" msgstr "" -#: common/models.py:1915 +#: common/models.py:1921 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1920 +#: common/models.py:1926 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1922 +#: common/models.py:1928 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1928 +#: common/models.py:1934 msgid "Email required" msgstr "" -#: common/models.py:1929 +#: common/models.py:1935 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1934 +#: common/models.py:1940 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1936 +#: common/models.py:1942 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1942 +#: common/models.py:1948 msgid "Mail twice" msgstr "" -#: common/models.py:1943 +#: common/models.py:1949 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1948 +#: common/models.py:1954 msgid "Password twice" msgstr "" -#: common/models.py:1949 +#: common/models.py:1955 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1954 +#: common/models.py:1960 msgid "Allowed domains" msgstr "" -#: common/models.py:1956 +#: common/models.py:1962 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1962 +#: common/models.py:1968 msgid "Group on signup" msgstr "" -#: common/models.py:1963 +#: common/models.py:1969 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1968 +#: common/models.py:1974 msgid "Enforce MFA" msgstr "" -#: common/models.py:1969 +#: common/models.py:1975 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1974 +#: common/models.py:1980 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1976 +#: common/models.py:1982 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1984 +#: common/models.py:1990 msgid "Check for plugin updates" msgstr "" -#: common/models.py:1985 +#: common/models.py:1991 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:1991 +#: common/models.py:1997 msgid "Enable URL integration" msgstr "" -#: common/models.py:1992 +#: common/models.py:1998 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1998 +#: common/models.py:2004 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1999 +#: common/models.py:2005 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2005 +#: common/models.py:2011 msgid "Enable app integration" msgstr "" -#: common/models.py:2006 +#: common/models.py:2012 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2012 +#: common/models.py:2018 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2013 +#: common/models.py:2019 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2019 +#: common/models.py:2025 msgid "Enable event integration" msgstr "" -#: common/models.py:2020 +#: common/models.py:2026 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2026 +#: common/models.py:2032 msgid "Enable project codes" msgstr "" -#: common/models.py:2027 +#: common/models.py:2033 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2032 +#: common/models.py:2038 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2034 +#: common/models.py:2040 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2040 +#: common/models.py:2046 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2042 +#: common/models.py:2048 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2048 +#: common/models.py:2054 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2050 +#: common/models.py:2056 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2056 +#: common/models.py:2062 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2058 +#: common/models.py:2064 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2065 +#: common/models.py:2071 msgid "Display Users full names" msgstr "" -#: common/models.py:2066 +#: common/models.py:2072 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2071 +#: common/models.py:2077 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2072 +#: common/models.py:2078 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2084 common/models.py:2494 +#: common/models.py:2090 common/models.py:2500 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2127 +#: common/models.py:2133 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2129 +#: common/models.py:2135 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2135 +#: common/models.py:2141 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2136 +#: common/models.py:2142 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2141 +#: common/models.py:2147 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2142 +#: common/models.py:2148 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2147 +#: common/models.py:2153 msgid "Show latest parts" msgstr "" -#: common/models.py:2148 +#: common/models.py:2154 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2153 +#: common/models.py:2159 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2154 +#: common/models.py:2160 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2159 +#: common/models.py:2165 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2160 +#: common/models.py:2166 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2165 +#: common/models.py:2171 msgid "Show low stock" msgstr "" -#: common/models.py:2166 +#: common/models.py:2172 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2171 +#: common/models.py:2177 msgid "Show depleted stock" msgstr "" -#: common/models.py:2172 +#: common/models.py:2178 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2177 +#: common/models.py:2183 msgid "Show needed stock" msgstr "" -#: common/models.py:2178 +#: common/models.py:2184 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2183 +#: common/models.py:2189 msgid "Show expired stock" msgstr "" -#: common/models.py:2184 +#: common/models.py:2190 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2189 +#: common/models.py:2195 msgid "Show stale stock" msgstr "" -#: common/models.py:2190 +#: common/models.py:2196 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2195 +#: common/models.py:2201 msgid "Show pending builds" msgstr "" -#: common/models.py:2196 +#: common/models.py:2202 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2201 +#: common/models.py:2207 msgid "Show overdue builds" msgstr "" -#: common/models.py:2202 +#: common/models.py:2208 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2207 +#: common/models.py:2213 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2208 +#: common/models.py:2214 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2213 +#: common/models.py:2219 msgid "Show overdue POs" msgstr "" -#: common/models.py:2214 +#: common/models.py:2220 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2219 +#: common/models.py:2225 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2220 +#: common/models.py:2226 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2225 +#: common/models.py:2231 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2226 +#: common/models.py:2232 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2231 +#: common/models.py:2237 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2232 +#: common/models.py:2238 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2237 +#: common/models.py:2243 msgid "Show News" msgstr "" -#: common/models.py:2238 +#: common/models.py:2244 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2243 +#: common/models.py:2249 msgid "Inline label display" msgstr "" -#: common/models.py:2245 +#: common/models.py:2251 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2251 +#: common/models.py:2257 msgid "Default label printer" msgstr "" -#: common/models.py:2253 +#: common/models.py:2259 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2259 +#: common/models.py:2265 msgid "Inline report display" msgstr "" -#: common/models.py:2261 +#: common/models.py:2267 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2267 +#: common/models.py:2273 msgid "Search Parts" msgstr "" -#: common/models.py:2268 +#: common/models.py:2274 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2273 +#: common/models.py:2279 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2274 +#: common/models.py:2280 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2279 +#: common/models.py:2285 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2280 +#: common/models.py:2286 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2285 +#: common/models.py:2291 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2286 +#: common/models.py:2292 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2291 +#: common/models.py:2297 msgid "Search Categories" msgstr "" -#: common/models.py:2292 +#: common/models.py:2298 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2297 +#: common/models.py:2303 msgid "Search Stock" msgstr "" -#: common/models.py:2298 +#: common/models.py:2304 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2303 +#: common/models.py:2309 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2305 +#: common/models.py:2311 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2311 +#: common/models.py:2317 msgid "Search Locations" msgstr "" -#: common/models.py:2312 +#: common/models.py:2318 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2317 +#: common/models.py:2323 msgid "Search Companies" msgstr "" -#: common/models.py:2318 +#: common/models.py:2324 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2323 +#: common/models.py:2329 msgid "Search Build Orders" msgstr "" -#: common/models.py:2324 +#: common/models.py:2330 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2329 +#: common/models.py:2335 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2330 +#: common/models.py:2336 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2335 +#: common/models.py:2341 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2337 +#: common/models.py:2343 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2343 +#: common/models.py:2349 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2344 +#: common/models.py:2350 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2349 +#: common/models.py:2355 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2351 +#: common/models.py:2357 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2357 +#: common/models.py:2363 msgid "Search Return Orders" msgstr "" -#: common/models.py:2358 +#: common/models.py:2364 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2363 +#: common/models.py:2369 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2365 +#: common/models.py:2371 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2371 +#: common/models.py:2377 msgid "Search Preview Results" msgstr "" -#: common/models.py:2373 +#: common/models.py:2379 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2379 +#: common/models.py:2385 msgid "Regex Search" msgstr "" -#: common/models.py:2380 +#: common/models.py:2386 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2385 +#: common/models.py:2391 msgid "Whole Word Search" msgstr "" -#: common/models.py:2386 +#: common/models.py:2392 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2391 +#: common/models.py:2397 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2392 +#: common/models.py:2398 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2397 +#: common/models.py:2403 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2398 +#: common/models.py:2404 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2403 +#: common/models.py:2409 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2404 +#: common/models.py:2410 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2409 +#: common/models.py:2415 msgid "Date Format" msgstr "" -#: common/models.py:2410 +#: common/models.py:2416 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2423 part/templates/part/detail.html:41 +#: common/models.py:2429 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2424 +#: common/models.py:2430 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2429 part/templates/part/detail.html:62 +#: common/models.py:2435 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2431 +#: common/models.py:2437 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2437 +#: common/models.py:2443 msgid "Table String Length" msgstr "" -#: common/models.py:2439 +#: common/models.py:2445 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2445 +#: common/models.py:2451 msgid "Default part label template" msgstr "" -#: common/models.py:2446 +#: common/models.py:2452 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2451 +#: common/models.py:2457 msgid "Default stock item template" msgstr "" -#: common/models.py:2453 +#: common/models.py:2459 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2459 +#: common/models.py:2465 msgid "Default stock location label template" msgstr "" -#: common/models.py:2461 +#: common/models.py:2467 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2467 +#: common/models.py:2473 msgid "Default build line label template" msgstr "" -#: common/models.py:2469 +#: common/models.py:2475 msgid "The build line label template to be automatically selected" msgstr "" -#: common/models.py:2475 +#: common/models.py:2481 msgid "Receive error reports" msgstr "" -#: common/models.py:2476 +#: common/models.py:2482 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2481 +#: common/models.py:2487 msgid "Last used printing machines" msgstr "" -#: common/models.py:2482 +#: common/models.py:2488 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2525 +#: common/models.py:2531 msgid "Price break quantity" msgstr "" -#: common/models.py:2532 company/serializers.py:496 order/admin.py:42 -#: order/models.py:1333 order/models.py:2243 +#: common/models.py:2538 company/serializers.py:496 order/admin.py:42 +#: order/models.py:1373 order/models.py:2292 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 -#: templates/js/translated/return_order.js:741 +#: templates/js/translated/return_order.js:740 msgid "Price" msgstr "" -#: common/models.py:2533 +#: common/models.py:2539 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2704 common/models.py:2889 +#: common/models.py:2710 common/models.py:2895 msgid "Endpoint" msgstr "" -#: common/models.py:2705 +#: common/models.py:2711 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2715 +#: common/models.py:2721 msgid "Name for this webhook" msgstr "" -#: common/models.py:2719 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1045 -#: plugin/models.py:56 templates/js/translated/company.js:523 +#: common/models.py:2725 company/models.py:160 company/models.py:814 +#: machine/models.py:39 part/admin.py:88 part/models.py:1088 +#: plugin/models.py:65 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:492 @@ -3614,135 +3628,135 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2719 +#: common/models.py:2725 msgid "Is this webhook active" msgstr "" -#: common/models.py:2735 users/models.py:159 +#: common/models.py:2741 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2736 +#: common/models.py:2742 msgid "Token for access" msgstr "" -#: common/models.py:2744 +#: common/models.py:2750 msgid "Secret" msgstr "" -#: common/models.py:2745 +#: common/models.py:2751 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2853 +#: common/models.py:2859 msgid "Message ID" msgstr "" -#: common/models.py:2854 +#: common/models.py:2860 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2862 +#: common/models.py:2868 msgid "Host" msgstr "" -#: common/models.py:2863 +#: common/models.py:2869 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2871 +#: common/models.py:2877 msgid "Header" msgstr "" -#: common/models.py:2872 +#: common/models.py:2878 msgid "Header of this message" msgstr "" -#: common/models.py:2879 +#: common/models.py:2885 msgid "Body" msgstr "" -#: common/models.py:2880 +#: common/models.py:2886 msgid "Body of this message" msgstr "" -#: common/models.py:2890 +#: common/models.py:2896 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2895 +#: common/models.py:2901 msgid "Worked on" msgstr "" -#: common/models.py:2896 +#: common/models.py:2902 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3022 +#: common/models.py:3028 msgid "Id" msgstr "" -#: common/models.py:3024 templates/js/translated/company.js:965 +#: common/models.py:3030 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3028 templates/js/translated/news.js:60 +#: common/models.py:3034 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3030 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3036 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3032 templates/js/translated/news.js:52 +#: common/models.py:3038 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3035 +#: common/models.py:3041 msgid "Read" msgstr "" -#: common/models.py:3035 +#: common/models.py:3041 msgid "Was this news item read?" msgstr "" -#: common/models.py:3052 company/models.py:156 part/models.py:929 +#: common/models.py:3058 company/models.py:156 part/models.py:972 #: 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 +#: report/templates/report/inventree_return_order_report.html:35 #: stock/templates/stock/item_base.html:133 templates/503.html:31 #: templates/hover_image.html:7 templates/hover_image.html:9 #: templates/modals.html:6 msgid "Image" msgstr "" -#: common/models.py:3052 +#: common/models.py:3058 msgid "Image file" msgstr "" -#: common/models.py:3094 +#: common/models.py:3100 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3113 +#: common/models.py:3119 msgid "Unit name" msgstr "" -#: common/models.py:3120 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3126 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3121 +#: common/models.py:3127 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3128 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3134 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3129 +#: common/models.py:3135 msgid "Unit definition" msgstr "" @@ -3929,9 +3943,9 @@ msgid "Contact email address" msgstr "" #: company/models.py:139 company/templates/company/company_base.html:145 -#: order/models.py:331 order/templates/order/order_base.html:203 +#: order/models.py:344 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 -#: order/templates/order/sales_order_base.html:214 +#: order/templates/order/sales_order_base.html:218 msgid "Contact" msgstr "" @@ -3977,7 +3991,7 @@ msgstr "" #: company/models.py:273 company/models.py:382 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:776 +#: company/templates/company/company_base.html:12 stock/api.py:810 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "" @@ -4069,8 +4083,8 @@ msgstr "" msgid "Link to address information (external)" msgstr "" -#: company/models.py:489 company/models.py:792 stock/models.py:751 -#: stock/serializers.py:266 stock/templates/stock/item_base.html:142 +#: company/models.py:489 company/models.py:792 stock/models.py:772 +#: stock/serializers.py:395 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -4081,7 +4095,7 @@ msgstr "" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:515 +#: company/templates/company/supplier_part.html:145 part/serializers.py:530 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4096,13 +4110,13 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:525 +#: company/templates/company/supplier_part.html:153 part/serializers.py:540 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800 -#: templates/js/translated/purchase_order.js:1852 -#: templates/js/translated/purchase_order.js:2054 +#: templates/js/translated/purchase_order.js:1851 +#: templates/js/translated/purchase_order.js:2053 msgid "MPN" msgstr "" @@ -4129,9 +4143,8 @@ msgstr "" msgid "Parameter name" msgstr "" -#: company/models.py:621 -#: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2448 templates/js/translated/company.js:1166 +#: company/models.py:621 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2425 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492 #: templates/js/translated/stock.js:1522 msgid "Value" @@ -4142,10 +4155,10 @@ msgid "Parameter value" msgstr "" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1009 part/models.py:3623 +#: part/admin.py:57 part/models.py:1052 part/models.py:3666 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 -#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370 +#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 msgid "Units" msgstr "" @@ -4166,9 +4179,9 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:465 +#: company/templates/company/supplier_part.html:129 order/models.py:487 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:499 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:514 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4176,7 +4189,7 @@ msgstr "" #: templates/js/translated/company.js:511 #: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1690 +#: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/table_filters.js:804 msgid "Supplier" msgstr "" @@ -4185,7 +4198,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:809 part/serializers.py:510 +#: company/models.py:809 part/serializers.py:525 msgid "Supplier stock keeping unit" msgstr "" @@ -4206,29 +4219,29 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:418 part/models.py:4070 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4113 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 -#: report/templates/report/inventree_slr_report.html:105 -#: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:579 +#: report/templates/report/inventree_purchase_order_report.html:32 +#: report/templates/report/inventree_return_order_report.html:27 +#: report/templates/report/inventree_sales_order_report.html:32 +#: report/templates/report/inventree_stock_location_report.html:105 +#: stock/serializers.py:708 msgid "Note" msgstr "" -#: company/models.py:857 part/models.py:1967 +#: company/models.py:857 part/models.py:2010 msgid "base cost" msgstr "" -#: company/models.py:858 part/models.py:1968 +#: company/models.py:858 part/models.py:2011 msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:782 stock/serializers.py:1350 +#: stock/admin.py:224 stock/models.py:803 stock/serializers.py:1479 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 -#: templates/js/translated/stock.js:2426 +#: templates/js/translated/stock.js:2424 msgid "Packaging" msgstr "" @@ -4241,8 +4254,8 @@ msgstr "" #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 -#: templates/js/translated/purchase_order.js:2085 -#: templates/js/translated/purchase_order.js:2102 +#: templates/js/translated/purchase_order.js:2084 +#: templates/js/translated/purchase_order.js:2101 msgid "Pack Quantity" msgstr "" @@ -4250,7 +4263,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:892 part/models.py:1974 +#: company/models.py:892 part/models.py:2017 msgid "multiple" msgstr "" @@ -4285,7 +4298,7 @@ msgstr "" #: part/templates/part/part_base.html:146 #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 -#: templates/js/translated/model_renderers.js:306 +#: templates/js/translated/model_renderers.js:312 #: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 msgid "Inactive" msgstr "" @@ -4321,11 +4334,11 @@ msgstr "" #: company/templates/company/manufacturer_part.html:51 #: company/templates/company/supplier_part.html:83 #: part/templates/part/part_thumb.html:20 -#: report/templates/report/inventree_build_order_base.html:98 -#: report/templates/report/inventree_po_report_base.html:40 -#: report/templates/report/inventree_so_report_base.html:40 -#: report/templates/report/inventree_test_report_base.html:84 -#: report/templates/report/inventree_test_report_base.html:163 +#: report/templates/report/inventree_build_order_report.html:98 +#: report/templates/report/inventree_purchase_order_report.html:40 +#: report/templates/report/inventree_sales_order_report.html:40 +#: report/templates/report/inventree_test_report.html:84 +#: report/templates/report/inventree_test_report.html:163 msgid "Part image" msgstr "" @@ -4344,16 +4357,16 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:92 order/models.py:910 -#: order/models.py:2010 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:144 stock/models.py:804 -#: stock/models.py:805 stock/serializers.py:1100 +#: company/templates/company/company_base.html:92 order/models.py:941 +#: order/models.py:2059 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:148 stock/models.py:825 +#: stock/models.py:826 stock/serializers.py:1229 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 -#: templates/js/translated/return_order.js:296 -#: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2962 +#: templates/js/translated/return_order.js:295 +#: templates/js/translated/sales_order.js:820 +#: templates/js/translated/stock.js:2959 #: templates/js/translated/table_filters.js:808 msgid "Customer" msgstr "" @@ -4362,10 +4375,10 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:124 order/models.py:341 +#: company/templates/company/company_base.html:124 order/models.py:354 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 -#: order/templates/order/sales_order_base.html:221 +#: order/templates/order/sales_order_base.html:225 msgid "Address" msgstr "" @@ -4374,7 +4387,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:211 -#: part/templates/part/part_base.html:528 +#: part/templates/part/part_base.html:527 msgid "Remove Image" msgstr "" @@ -4383,19 +4396,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:214 -#: part/templates/part/part_base.html:531 +#: part/templates/part/part_base.html:530 #: templates/InvenTree/settings/user.html:88 #: templates/InvenTree/settings/user_sso.html:43 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:243 -#: part/templates/part/part_base.html:560 +#: part/templates/part/part_base.html:559 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:258 -#: part/templates/part/part_base.html:614 +#: part/templates/part/part_base.html:613 msgid "Download Image" msgstr "" @@ -4558,7 +4571,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:821 +#: part/admin.py:122 part/serializers.py:836 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4609,10 +4622,10 @@ msgstr "" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:452 -#: stock/models.py:762 stock/templates/stock/item_base.html:233 +#: stock/models.py:783 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 -#: templates/js/translated/stock.js:2282 +#: templates/js/translated/stock.js:2280 msgid "Supplier Part" msgstr "" @@ -4658,11 +4671,11 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:509 +#: part/bom.py:311 part/serializers.py:524 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1851 -#: templates/js/translated/purchase_order.js:2029 +#: templates/js/translated/purchase_order.js:1850 +#: templates/js/translated/purchase_order.js:2028 msgid "SKU" msgstr "" @@ -4671,12 +4684,12 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:209 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:199 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:206 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:200 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:207 #: templates/js/translated/stock.js:537 msgid "New Stock Item" msgstr "" @@ -4708,16 +4721,16 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:820 part/stocktake.py:223 +#: part/serializers.py:835 part/stocktake.py:223 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:787 stock/serializers.py:951 +#: stock/serializers.py:916 stock/serializers.py:1080 #: stock/templates/stock/location.html:170 -#: stock/templates/stock/location.html:184 -#: stock/templates/stock/location.html:196 +#: stock/templates/stock/location.html:191 +#: stock/templates/stock/location.html:203 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2769 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 #: users/models.py:206 msgid "Stock Items" msgstr "" @@ -4751,126 +4764,48 @@ msgstr "" msgid "New Company" msgstr "" -#: label/api.py:247 -msgid "Error printing label" -msgstr "" - -#: label/models.py:120 -msgid "Label name" -msgstr "" - -#: label/models.py:128 -msgid "Label description" -msgstr "" - -#: label/models.py:136 -msgid "Label" -msgstr "" - -#: label/models.py:137 -msgid "Label template file" -msgstr "" - -#: label/models.py:143 part/models.py:3494 report/models.py:324 -#: templates/js/translated/part.js:2900 -#: templates/js/translated/table_filters.js:481 -msgid "Enabled" -msgstr "" - -#: label/models.py:144 -msgid "Label template is enabled" -msgstr "" - -#: label/models.py:149 -msgid "Width [mm]" -msgstr "" - -#: label/models.py:150 -msgid "Label width, specified in mm" -msgstr "" - -#: label/models.py:156 -msgid "Height [mm]" -msgstr "" - -#: label/models.py:157 -msgid "Label height, specified in mm" -msgstr "" - -#: label/models.py:163 report/models.py:317 -msgid "Filename Pattern" -msgstr "" - -#: label/models.py:164 -msgid "Pattern for generating label filenames" -msgstr "" - -#: label/models.py:313 label/models.py:352 label/models.py:377 -#: label/models.py:412 -msgid "Query filters (comma-separated list of key=value pairs)" -msgstr "" - -#: label/models.py:314 label/models.py:353 label/models.py:378 -#: label/models.py:413 report/models.py:345 report/models.py:496 -#: report/models.py:532 report/models.py:568 report/models.py:750 -msgid "Filters" -msgstr "" - -#: label/templates/label/part/part_label.html:31 -#: label/templates/label/stockitem/qr.html:21 -#: label/templates/label/stocklocation/qr.html:20 -#: templates/allauth_2fa/setup.html:18 -msgid "QR Code" -msgstr "" - -#: label/templates/label/part/part_label_code128.html:31 -#: label/templates/label/stocklocation/qr_and_text.html:31 -#: templates/qr_code.html:7 -msgid "QR code" -msgstr "" - -#: machine/machine_types/label_printer.py:217 +#: machine/machine_types/label_printer.py:218 msgid "Copies" msgstr "" -#: machine/machine_types/label_printer.py:218 +#: machine/machine_types/label_printer.py:219 msgid "Number of copies to print for each label" msgstr "" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:234 msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:234 order/api.py:1515 -#: templates/js/translated/sales_order.js:1042 +#: machine/machine_types/label_printer.py:235 order/api.py:1515 +#: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "" -#: machine/machine_types/label_printer.py:235 +#: machine/machine_types/label_printer.py:236 msgid "Printing" msgstr "" -#: machine/machine_types/label_printer.py:236 +#: machine/machine_types/label_printer.py:237 msgid "No media" msgstr "" -#: machine/machine_types/label_printer.py:237 +#: machine/machine_types/label_printer.py:238 msgid "Disconnected" msgstr "" -#: machine/machine_types/label_printer.py:244 +#: machine/machine_types/label_printer.py:245 msgid "Label Printer" msgstr "" -#: machine/machine_types/label_printer.py:245 +#: machine/machine_types/label_printer.py:246 msgid "Directly print labels for various items." msgstr "" -#: machine/machine_types/label_printer.py:251 +#: machine/machine_types/label_printer.py:252 msgid "Printer Location" msgstr "" -#: machine/machine_types/label_printer.py:252 +#: machine/machine_types/label_printer.py:253 msgid "Scope the printer to a specific location" msgstr "" @@ -4930,19 +4865,19 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:89 -#: report/templates/report/inventree_po_report_base.html:31 -#: report/templates/report/inventree_so_report_base.html:31 +#: order/admin.py:30 order/models.py:90 +#: report/templates/report/inventree_purchase_order_report.html:31 +#: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2126 -#: templates/js/translated/sales_order.js:1847 +#: templates/js/translated/purchase_order.js:2125 +#: templates/js/translated/sales_order.js:1883 msgid "Total Price" msgstr "" #: order/api.py:161 order/serializers.py:91 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 -#: order/templates/order/sales_order_base.html:118 +#: order/templates/order/sales_order_base.html:122 msgid "Order Status" msgstr "" @@ -4955,10 +4890,10 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:437 order/api.py:817 order/models.py:1382 order/models.py:1491 -#: order/models.py:1537 order/models.py:1651 order/models.py:1805 -#: order/models.py:2209 order/models.py:2260 -#: templates/js/translated/sales_order.js:1488 +#: order/api.py:437 order/api.py:817 order/models.py:1422 order/models.py:1531 +#: order/models.py:1577 order/models.py:1691 order/models.py:1845 +#: order/models.py:2258 order/models.py:2309 +#: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" @@ -4970,402 +4905,398 @@ msgstr "" msgid "Order Pending" msgstr "" -#: order/api.py:1509 order/models.py:1383 order/models.py:1492 -#: order/templates/order/order_base.html:9 +#: order/api.py:1509 order/models.py:381 order/models.py:1423 +#: order/models.py:1532 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 -#: report/templates/report/inventree_po_report_base.html:14 -#: stock/templates/stock/item_base.html:176 +#: report/templates/report/inventree_purchase_order_report.html:14 +#: stock/serializers.py:119 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 -#: templates/js/translated/purchase_order.js:1674 -#: templates/js/translated/stock.js:2262 templates/js/translated/stock.js:2910 +#: templates/js/translated/purchase_order.js:1673 +#: templates/js/translated/stock.js:2260 templates/js/translated/stock.js:2907 msgid "Purchase Order" msgstr "" -#: order/api.py:1513 order/models.py:2210 order/models.py:2261 -#: order/templates/order/return_order_base.html:9 +#: order/api.py:1513 order/models.py:2008 order/models.py:2259 +#: order/models.py:2310 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:281 -#: templates/js/translated/stock.js:2944 +#: report/templates/report/inventree_return_order_report.html:13 +#: templates/js/translated/return_order.js:280 +#: templates/js/translated/stock.js:2941 msgid "Return Order" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:96 order/serializers.py:71 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:99 order/serializers.py:72 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:246 +#: order/models.py:248 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:278 +#: order/models.py:291 msgid "Order description (optional)" msgstr "" -#: order/models.py:287 +#: order/models.py:300 msgid "Select project code for this order" msgstr "" -#: order/models.py:291 order/models.py:1288 order/models.py:1704 +#: order/models.py:304 order/models.py:1328 order/models.py:1744 msgid "Link to external page" msgstr "" -#: order/models.py:299 +#: order/models.py:312 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:313 +#: order/models.py:326 msgid "Created By" msgstr "" -#: order/models.py:321 +#: order/models.py:334 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:332 +#: order/models.py:345 msgid "Point of contact for this order" msgstr "" -#: order/models.py:342 +#: order/models.py:355 msgid "Company address for this order" msgstr "" -#: order/models.py:443 order/models.py:899 +#: order/models.py:465 order/models.py:930 msgid "Order reference" msgstr "" -#: order/models.py:451 order/models.py:923 +#: order/models.py:473 order/models.py:954 msgid "Purchase order status" msgstr "" -#: order/models.py:466 +#: order/models.py:488 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:477 order/templates/order/order_base.html:148 -#: templates/js/translated/purchase_order.js:1703 +#: order/models.py:499 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1702 msgid "Supplier Reference" msgstr "" -#: order/models.py:478 +#: order/models.py:500 msgid "Supplier order reference code" msgstr "" -#: order/models.py:487 +#: order/models.py:509 msgid "received by" msgstr "" -#: order/models.py:493 order/models.py:2036 +#: order/models.py:515 order/models.py:2085 msgid "Issue Date" msgstr "" -#: order/models.py:494 order/models.py:2037 +#: order/models.py:516 order/models.py:2086 msgid "Date order was issued" msgstr "" -#: order/models.py:501 order/models.py:2044 +#: order/models.py:523 order/models.py:2093 msgid "Date order was completed" msgstr "" -#: order/models.py:545 +#: order/models.py:567 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:739 +#: order/models.py:761 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:911 +#: order/models.py:942 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:934 order/models.py:2029 +#: order/models.py:965 order/models.py:2078 msgid "Customer Reference " msgstr "" -#: order/models.py:935 order/models.py:2030 +#: order/models.py:966 order/models.py:2079 msgid "Customer order reference code" msgstr "" -#: order/models.py:939 order/models.py:1658 -#: templates/js/translated/sales_order.js:843 -#: templates/js/translated/sales_order.js:1024 +#: order/models.py:970 order/models.py:1698 +#: templates/js/translated/sales_order.js:879 +#: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "" -#: order/models.py:948 +#: order/models.py:979 msgid "shipped by" msgstr "" -#: order/models.py:999 -msgid "Order cannot be completed as no parts have been assigned" -msgstr "" - -#: order/models.py:1004 +#: order/models.py:1029 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1008 templates/js/translated/sales_order.js:506 +#: order/models.py:1033 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1013 +#: order/models.py:1038 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1260 +#: order/models.py:1300 msgid "Item quantity" msgstr "" -#: order/models.py:1277 +#: order/models.py:1317 msgid "Line item reference" msgstr "" -#: order/models.py:1284 +#: order/models.py:1324 msgid "Line item notes" msgstr "" -#: order/models.py:1296 +#: order/models.py:1336 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1317 +#: order/models.py:1357 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1323 +#: order/models.py:1363 msgid "Context" msgstr "" -#: order/models.py:1324 +#: order/models.py:1364 msgid "Additional context for this line" msgstr "" -#: order/models.py:1334 +#: order/models.py:1374 msgid "Unit price" msgstr "" -#: order/models.py:1367 +#: order/models.py:1407 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1374 +#: order/models.py:1414 msgid "deleted" msgstr "" -#: order/models.py:1402 +#: order/models.py:1442 msgid "Supplier part" msgstr "" -#: order/models.py:1409 order/templates/order/order_base.html:196 +#: order/models.py:1449 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 #: templates/js/translated/purchase_order.js:1306 -#: templates/js/translated/purchase_order.js:2170 -#: templates/js/translated/return_order.js:764 +#: templates/js/translated/purchase_order.js:2169 +#: templates/js/translated/return_order.js:763 #: templates/js/translated/table_filters.js:120 #: templates/js/translated/table_filters.js:602 msgid "Received" msgstr "" -#: order/models.py:1410 +#: order/models.py:1450 msgid "Number of items received" msgstr "" -#: order/models.py:1418 stock/models.py:923 stock/serializers.py:400 +#: order/models.py:1458 stock/models.py:944 stock/serializers.py:529 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2313 +#: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "" -#: order/models.py:1419 +#: order/models.py:1459 msgid "Unit purchase price" msgstr "" -#: order/models.py:1434 +#: order/models.py:1474 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1525 +#: order/models.py:1565 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1530 +#: order/models.py:1570 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1556 part/templates/part/part_pricing.html:107 +#: order/models.py:1596 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1557 +#: order/models.py:1597 msgid "Unit sale price" msgstr "" -#: order/models.py:1567 +#: order/models.py:1607 msgid "Shipped quantity" msgstr "" -#: order/models.py:1659 +#: order/models.py:1699 msgid "Date of shipment" msgstr "" -#: order/models.py:1665 templates/js/translated/sales_order.js:1036 +#: order/models.py:1705 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1666 +#: order/models.py:1706 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1674 +#: order/models.py:1714 msgid "Checked By" msgstr "" -#: order/models.py:1675 +#: order/models.py:1715 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1682 order/models.py:1895 order/serializers.py:1354 -#: order/serializers.py:1464 templates/js/translated/model_renderers.js:448 +#: order/models.py:1722 order/models.py:1935 order/serializers.py:1354 +#: order/serializers.py:1464 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" -#: order/models.py:1683 +#: order/models.py:1723 msgid "Shipment number" msgstr "" -#: order/models.py:1691 +#: order/models.py:1731 msgid "Tracking Number" msgstr "" -#: order/models.py:1692 +#: order/models.py:1732 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1699 +#: order/models.py:1739 msgid "Invoice Number" msgstr "" -#: order/models.py:1700 +#: order/models.py:1740 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1720 +#: order/models.py:1760 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1723 +#: order/models.py:1763 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1841 order/models.py:1843 +#: order/models.py:1881 order/models.py:1883 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1850 +#: order/models.py:1890 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1853 +#: order/models.py:1893 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1856 +#: order/models.py:1896 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1875 order/serializers.py:1231 +#: order/models.py:1915 order/serializers.py:1231 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1878 +#: order/models.py:1918 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1879 plugin/base/barcodes/api.py:481 +#: order/models.py:1919 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1887 +#: order/models.py:1927 msgid "Line" msgstr "" -#: order/models.py:1896 +#: order/models.py:1936 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1909 order/models.py:2217 -#: templates/js/translated/return_order.js:722 +#: order/models.py:1949 order/models.py:2266 +#: templates/js/translated/return_order.js:721 msgid "Item" msgstr "" -#: order/models.py:1910 +#: order/models.py:1950 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1919 +#: order/models.py:1959 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1999 +#: order/models.py:2048 msgid "Return Order reference" msgstr "" -#: order/models.py:2011 +#: order/models.py:2060 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2023 +#: order/models.py:2072 msgid "Return order status" msgstr "" -#: order/models.py:2202 +#: order/models.py:2251 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2218 +#: order/models.py:2267 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2224 +#: order/models.py:2273 msgid "Received Date" msgstr "" -#: order/models.py:2225 +#: order/models.py:2274 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2236 templates/js/translated/return_order.js:733 +#: order/models.py:2285 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2237 +#: order/models.py:2286 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2244 +#: order/models.py:2293 msgid "Cost associated with return or repair for this line item" msgstr "" #: order/serializers.py:80 order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 -#: report/templates/report/inventree_po_report_base.html:22 -#: report/templates/report/inventree_return_order_report_base.html:19 -#: report/templates/report/inventree_so_report_base.html:22 +#: report/templates/report/inventree_purchase_order_report.html:22 +#: report/templates/report/inventree_return_order_report.html:19 +#: report/templates/report/inventree_sales_order_report.html:22 msgid "Line Items" msgstr "" @@ -5595,7 +5526,7 @@ msgstr "" #: order/templates/order/order_base.html:84 #: order/templates/order/return_order_base.html:87 -#: order/templates/order/sales_order_base.html:93 +#: order/templates/order/sales_order_base.html:97 msgid "Complete Order" msgstr "" @@ -5605,13 +5536,13 @@ msgstr "" #: order/templates/order/order_base.html:106 #: order/templates/order/return_order_base.html:101 -#: order/templates/order/sales_order_base.html:106 +#: order/templates/order/sales_order_base.html:110 msgid "Order Reference" msgstr "" #: order/templates/order/order_base.html:111 #: order/templates/order/return_order_base.html:106 -#: order/templates/order/sales_order_base.html:111 +#: order/templates/order/sales_order_base.html:115 msgid "Order Description" msgstr "" @@ -5620,19 +5551,19 @@ msgid "No suppplier information available" msgstr "" #: order/templates/order/order_base.html:154 -#: order/templates/order/sales_order_base.html:157 +#: order/templates/order/sales_order_base.html:161 msgid "Completed Line Items" msgstr "" #: order/templates/order/order_base.html:160 -#: order/templates/order/sales_order_base.html:163 -#: order/templates/order/sales_order_base.html:173 +#: order/templates/order/sales_order_base.html:167 +#: order/templates/order/sales_order_base.html:177 msgid "Incomplete" msgstr "" #: order/templates/order/order_base.html:179 #: order/templates/order/return_order_base.html:157 -#: report/templates/report/inventree_build_order_base.html:121 +#: report/templates/report/inventree_build_order_report.html:121 msgid "Issued" msgstr "" @@ -5642,15 +5573,15 @@ msgstr "" #: order/templates/order/order_base.html:228 #: order/templates/order/return_order_base.html:199 -#: order/templates/order/sales_order_base.html:239 +#: order/templates/order/sales_order_base.html:243 msgid "Total cost could not be calculated" msgstr "" -#: order/templates/order/order_base.html:318 +#: order/templates/order/order_base.html:314 msgid "Purchase Order QR Code" msgstr "" -#: order/templates/order/order_base.html:330 +#: order/templates/order/order_base.html:326 msgid "Link Barcode to Purchase Order" msgstr "" @@ -5707,8 +5638,8 @@ msgstr "" #: templates/js/translated/build.js:1629 #: templates/js/translated/purchase_order.js:696 #: templates/js/translated/purchase_order.js:1236 -#: templates/js/translated/return_order.js:506 -#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/return_order.js:505 +#: templates/js/translated/sales_order.js:1145 #: templates/js/translated/stock.js:714 templates/js/translated/stock.js:883 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -5762,7 +5693,7 @@ msgstr "" #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 #: templates/js/translated/purchase_order.js:414 -#: templates/js/translated/return_order.js:459 +#: templates/js/translated/return_order.js:458 #: templates/js/translated/sales_order.js:237 msgid "Add Line Item" msgstr "" @@ -5811,30 +5742,30 @@ msgid "Print packing list" msgstr "" #: order/templates/order/return_order_base.html:138 -#: order/templates/order/sales_order_base.html:151 -#: templates/js/translated/return_order.js:309 -#: templates/js/translated/sales_order.js:797 +#: order/templates/order/sales_order_base.html:155 +#: templates/js/translated/return_order.js:308 +#: templates/js/translated/sales_order.js:833 msgid "Customer Reference" msgstr "" #: order/templates/order/return_order_base.html:195 -#: order/templates/order/sales_order_base.html:235 +#: order/templates/order/sales_order_base.html:239 #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1072 -#: templates/js/translated/purchase_order.js:1753 -#: templates/js/translated/return_order.js:381 -#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/purchase_order.js:1752 +#: templates/js/translated/return_order.js:380 +#: templates/js/translated/sales_order.js:891 msgid "Total Cost" msgstr "" -#: order/templates/order/return_order_base.html:263 +#: order/templates/order/return_order_base.html:259 msgid "Return Order QR Code" msgstr "" -#: order/templates/order/return_order_base.html:275 +#: order/templates/order/return_order_base.html:271 msgid "Link Barcode to Return Order" msgstr "" @@ -5852,25 +5783,30 @@ msgid "Ship Items" msgstr "" #: order/templates/order/sales_order_base.html:92 -#: templates/js/translated/sales_order.js:484 +#: order/templates/order/sales_order_base.html:93 +msgid "Mark As Shipped" +msgstr "" + +#: order/templates/order/sales_order_base.html:96 +#: templates/js/translated/sales_order.js:536 msgid "Complete Sales Order" msgstr "" -#: order/templates/order/sales_order_base.html:131 +#: order/templates/order/sales_order_base.html:135 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:169 +#: order/templates/order/sales_order_base.html:173 #: order/templates/order/sales_order_detail.html:99 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "" -#: order/templates/order/sales_order_base.html:312 +#: order/templates/order/sales_order_base.html:321 msgid "Sales Order QR Code" msgstr "" -#: order/templates/order/sales_order_base.html:324 +#: order/templates/order/sales_order_base.html:333 msgid "Link Barcode to Sales Order" msgstr "" @@ -5914,12 +5850,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:404 part/models.py:3921 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:406 part/models.py:3964 part/stocktake.py:218 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:411 part/models.py:3922 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:413 part/models.py:3965 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -5928,20 +5864,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:904 part/templates/part/part_base.html:269 -#: report/templates/report/inventree_slr_report.html:103 -#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2341 -#: templates/js/translated/stock.js:2038 +#: part/admin.py:48 part/models.py:947 part/templates/part/part_base.html:269 +#: report/templates/report/inventree_stock_location_report.html:103 +#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 +#: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:913 part/templates/part/part_base.html:277 -#: report/models.py:195 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2347 +#: part/admin.py:50 part/models.py:956 part/templates/part/part_base.html:277 +#: report/models.py:161 templates/js/translated/part.js:1231 +#: templates/js/translated/part.js:2346 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:317 part/models.py:886 +#: part/admin.py:53 part/admin.py:319 part/models.py:929 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5950,15 +5886,15 @@ msgstr "" msgid "Part Image" msgstr "" -#: part/admin.py:63 part/admin.py:300 part/stocktake.py:221 +#: part/admin.py:63 part/admin.py:302 part/stocktake.py:221 msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:302 part/stocktake.py:222 +#: part/admin.py:67 part/admin.py:304 part/stocktake.py:222 msgid "Category Name" msgstr "" -#: part/admin.py:71 part/admin.py:314 +#: part/admin.py:71 part/admin.py:316 msgid "Default Location ID" msgstr "" @@ -5966,11 +5902,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:872 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:915 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1000 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1043 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5983,160 +5919,164 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3080 part/models.py:3094 +#: part/admin.py:155 part/models.py:3123 part/models.py:3137 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3087 part/models.py:3101 +#: part/admin.py:158 part/models.py:3130 part/models.py:3144 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" -#: part/admin.py:306 part/admin.py:393 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:211 msgid "Parent ID" msgstr "" -#: part/admin.py:310 part/admin.py:400 stock/admin.py:62 +#: part/admin.py:312 part/admin.py:402 stock/admin.py:62 msgid "Parent Name" msgstr "" -#: part/admin.py:318 part/templates/part/category.html:88 +#: part/admin.py:320 part/templates/part/category.html:88 #: part/templates/part/category.html:101 msgid "Category Path" msgstr "" -#: part/admin.py:323 part/models.py:391 part/serializers.py:117 +#: part/admin.py:325 part/models.py:393 part/serializers.py:117 #: part/serializers.py:272 part/serializers.py:391 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2803 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "" -#: part/admin.py:384 +#: part/admin.py:386 msgid "BOM Level" msgstr "" -#: part/admin.py:387 +#: part/admin.py:389 msgid "BOM Item ID" msgstr "" -#: part/admin.py:397 +#: part/admin.py:399 msgid "Parent IPN" msgstr "" -#: part/admin.py:408 part/models.py:3923 +#: part/admin.py:410 part/models.py:3966 msgid "Part IPN" msgstr "" -#: part/admin.py:421 part/serializers.py:1261 +#: part/admin.py:423 part/serializers.py:1276 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:426 part/serializers.py:1276 +#: part/admin.py:428 part/serializers.py:1291 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:119 +#: part/api.py:112 msgid "Starred" msgstr "" -#: part/api.py:121 +#: part/api.py:114 msgid "Filter by starred categories" msgstr "" -#: part/api.py:138 stock/api.py:284 +#: part/api.py:131 stock/api.py:318 msgid "Depth" msgstr "" -#: part/api.py:138 +#: part/api.py:131 msgid "Filter by category depth" msgstr "" -#: part/api.py:156 stock/api.py:302 +#: part/api.py:149 stock/api.py:336 msgid "Cascade" msgstr "" -#: part/api.py:158 +#: part/api.py:151 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:178 +#: part/api.py:171 msgid "Parent" msgstr "" -#: part/api.py:180 +#: part/api.py:173 msgid "Filter by parent category" msgstr "" -#: part/api.py:213 +#: part/api.py:206 msgid "Exclude Tree" msgstr "" -#: part/api.py:215 +#: part/api.py:208 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:461 +#: part/api.py:455 msgid "Has Results" msgstr "" -#: part/api.py:628 +#: part/api.py:622 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:646 +#: part/api.py:640 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:662 +#: part/api.py:656 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:746 +#: part/api.py:740 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:893 +#: part/api.py:887 msgid "Valid" msgstr "" -#: part/api.py:894 +#: part/api.py:888 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:900 +#: part/api.py:894 msgid "This option must be selected" msgstr "" -#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866 -#: part/serializers.py:406 part/serializers.py:1117 -#: part/templates/part/part_base.html:260 stock/api.py:745 +#: part/api.py:1111 +msgid "BOM Valid" +msgstr "" + +#: part/api.py:1515 part/models.py:939 part/models.py:3429 part/models.py:3909 +#: part/serializers.py:406 part/serializers.py:1132 +#: part/templates/part/part_base.html:260 stock/api.py:779 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2377 +#: templates/js/translated/part.js:2376 msgid "Category" msgstr "" -#: part/api.py:1849 +#: part/api.py:1803 msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:101 part/models.py:939 +#: part/bom.py:170 part/models.py:102 part/models.py:982 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:822 +#: part/bom.py:171 part/serializers.py:837 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6145,698 +6085,712 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:82 part/models.py:3867 part/templates/part/category.html:16 +#: part/models.py:83 part/models.py:3910 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:83 part/templates/part/category.html:136 +#: part/models.py:84 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "" -#: part/models.py:102 +#: part/models.py:103 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:107 stock/models.py:165 templates/js/translated/part.js:2810 -#: templates/js/translated/stock.js:2775 +#: part/models.py:108 stock/models.py:177 templates/js/translated/part.js:2809 +#: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "" -#: part/models.py:109 +#: part/models.py:110 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:118 +#: part/models.py:119 msgid "Default keywords" msgstr "" -#: part/models.py:119 +#: part/models.py:120 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:125 stock/models.py:89 stock/models.py:148 +#: part/models.py:126 stock/models.py:89 stock/models.py:160 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:126 stock/models.py:149 +#: part/models.py:127 stock/models.py:161 msgid "Icon (optional)" msgstr "" -#: part/models.py:148 +#: part/models.py:149 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:484 +#: part/models.py:482 +msgid "Cannot delete this part as it is still active" +msgstr "" + +#: part/models.py:489 +msgid "Cannot delete this part as it is used in an assembly" +msgstr "" + +#: part/models.py:527 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:532 part/models.py:539 +#: part/models.py:575 part/models.py:582 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:551 +#: part/models.py:594 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:616 +#: part/models.py:659 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:696 +#: part/models.py:739 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:801 +#: part/models.py:844 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:811 +#: part/models.py:854 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:826 +#: part/models.py:869 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:855 part/models.py:3922 +#: part/models.py:898 part/models.py:3965 msgid "Part name" msgstr "" -#: part/models.py:860 +#: part/models.py:903 msgid "Is Template" msgstr "" -#: part/models.py:861 +#: part/models.py:904 msgid "Is this part a template part?" msgstr "" -#: part/models.py:871 +#: part/models.py:914 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:879 +#: part/models.py:922 msgid "Part description (optional)" msgstr "" -#: part/models.py:887 +#: part/models.py:930 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:897 +#: part/models.py:940 msgid "Part category" msgstr "" -#: part/models.py:905 +#: part/models.py:948 msgid "Internal Part Number" msgstr "" -#: part/models.py:912 +#: part/models.py:955 msgid "Part revision or version number" msgstr "" -#: part/models.py:937 +#: part/models.py:980 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:983 part/templates/part/part_base.html:376 +#: part/models.py:1026 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:984 +#: part/models.py:1027 msgid "Default supplier part" msgstr "" -#: part/models.py:991 +#: part/models.py:1034 msgid "Default Expiry" msgstr "" -#: part/models.py:992 +#: part/models.py:1035 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1001 +#: part/models.py:1044 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1010 +#: part/models.py:1053 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1017 +#: part/models.py:1060 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1023 +#: part/models.py:1066 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1029 +#: part/models.py:1072 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1035 +#: part/models.py:1078 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1041 +#: part/models.py:1084 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1045 +#: part/models.py:1088 msgid "Is this part active?" msgstr "" -#: part/models.py:1051 +#: part/models.py:1094 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1057 +#: part/models.py:1100 msgid "BOM checksum" msgstr "" -#: part/models.py:1058 +#: part/models.py:1101 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1066 +#: part/models.py:1109 msgid "BOM checked by" msgstr "" -#: part/models.py:1071 +#: part/models.py:1114 msgid "BOM checked date" msgstr "" -#: part/models.py:1087 +#: part/models.py:1130 msgid "Creation User" msgstr "" -#: part/models.py:1097 +#: part/models.py:1140 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1102 part/templates/part/part_base.html:339 +#: part/models.py:1145 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 -#: templates/js/translated/part.js:2471 +#: templates/js/translated/part.js:2470 msgid "Last Stocktake" msgstr "" -#: part/models.py:1975 +#: part/models.py:2018 msgid "Sell multiple" msgstr "" -#: part/models.py:2994 +#: part/models.py:3037 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3010 +#: part/models.py:3053 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3011 +#: part/models.py:3054 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3017 +#: part/models.py:3060 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3018 +#: part/models.py:3061 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3024 +#: part/models.py:3067 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3025 +#: part/models.py:3068 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3031 +#: part/models.py:3074 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3032 +#: part/models.py:3075 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3038 +#: part/models.py:3081 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3039 +#: part/models.py:3082 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3045 +#: part/models.py:3088 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3046 +#: part/models.py:3089 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3052 +#: part/models.py:3095 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3053 +#: part/models.py:3096 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3059 +#: part/models.py:3102 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3060 +#: part/models.py:3103 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3066 +#: part/models.py:3109 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3067 +#: part/models.py:3110 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3073 +#: part/models.py:3116 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3074 +#: part/models.py:3117 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3081 +#: part/models.py:3124 msgid "Override minimum cost" msgstr "" -#: part/models.py:3088 +#: part/models.py:3131 msgid "Override maximum cost" msgstr "" -#: part/models.py:3095 +#: part/models.py:3138 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3102 +#: part/models.py:3145 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3108 +#: part/models.py:3151 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3109 +#: part/models.py:3152 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3115 +#: part/models.py:3158 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3116 +#: part/models.py:3159 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3122 +#: part/models.py:3165 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3123 +#: part/models.py:3166 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3129 +#: part/models.py:3172 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3130 +#: part/models.py:3173 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3149 +#: part/models.py:3192 msgid "Part for stocktake" msgstr "" -#: part/models.py:3154 +#: part/models.py:3197 msgid "Item Count" msgstr "" -#: part/models.py:3155 +#: part/models.py:3198 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3163 +#: part/models.py:3206 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3167 part/models.py:3250 +#: part/models.py:3210 part/models.py:3293 #: part/templates/part/part_scheduling.html:13 -#: report/templates/report/inventree_test_report_base.html:106 +#: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 #: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 -#: templates/js/translated/purchase_order.js:1732 -#: templates/js/translated/stock.js:2824 +#: templates/js/translated/purchase_order.js:1731 +#: templates/js/translated/stock.js:2821 msgid "Date" msgstr "" -#: part/models.py:3168 +#: part/models.py:3211 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3176 +#: part/models.py:3219 msgid "Additional notes" msgstr "" -#: part/models.py:3186 +#: part/models.py:3229 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3192 +#: part/models.py:3235 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3193 +#: part/models.py:3236 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3199 +#: part/models.py:3242 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3200 +#: part/models.py:3243 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3256 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3299 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3257 +#: part/models.py:3300 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3262 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3305 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3263 +#: part/models.py:3306 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3273 +#: part/models.py:3316 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3435 +#: part/models.py:3478 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3446 +#: part/models.py:3489 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3457 +#: part/models.py:3500 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3474 templates/js/translated/part.js:2879 +#: part/models.py:3517 templates/js/translated/part.js:2878 msgid "Test Name" msgstr "" -#: part/models.py:3475 +#: part/models.py:3518 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3481 +#: part/models.py:3524 msgid "Test Key" msgstr "" -#: part/models.py:3482 +#: part/models.py:3525 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3489 +#: part/models.py:3532 msgid "Test Description" msgstr "" -#: part/models.py:3490 +#: part/models.py:3533 msgid "Enter description for this test" msgstr "" -#: part/models.py:3494 +#: part/models.py:3537 report/models.py:208 +#: templates/js/translated/part.js:2899 +#: templates/js/translated/table_filters.js:481 +msgid "Enabled" +msgstr "" + +#: part/models.py:3537 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3499 templates/js/translated/part.js:2908 +#: part/models.py:3542 templates/js/translated/part.js:2907 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3500 +#: part/models.py:3543 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3505 templates/js/translated/part.js:2916 +#: part/models.py:3548 templates/js/translated/part.js:2915 msgid "Requires Value" msgstr "" -#: part/models.py:3506 +#: part/models.py:3549 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3511 templates/js/translated/part.js:2923 +#: part/models.py:3554 templates/js/translated/part.js:2922 msgid "Requires Attachment" msgstr "" -#: part/models.py:3513 +#: part/models.py:3556 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3560 +#: part/models.py:3603 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3565 +#: part/models.py:3608 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3585 +#: part/models.py:3628 msgid "Choices must be unique" msgstr "" -#: part/models.py:3602 +#: part/models.py:3645 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3617 +#: part/models.py:3660 msgid "Parameter Name" msgstr "" -#: part/models.py:3624 +#: part/models.py:3667 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3632 +#: part/models.py:3675 msgid "Parameter description" msgstr "" -#: part/models.py:3638 templates/js/translated/part.js:1627 +#: part/models.py:3681 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3639 +#: part/models.py:3682 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3644 templates/js/translated/part.js:1636 +#: part/models.py:3687 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3645 +#: part/models.py:3688 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3722 +#: part/models.py:3765 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3765 +#: part/models.py:3808 msgid "Parent Part" msgstr "" -#: part/models.py:3773 part/models.py:3874 part/models.py:3875 +#: part/models.py:3816 part/models.py:3917 part/models.py:3918 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3778 +#: part/models.py:3821 msgid "Data" msgstr "" -#: part/models.py:3779 +#: part/models.py:3822 msgid "Parameter Value" msgstr "" -#: part/models.py:3881 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3924 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3882 +#: part/models.py:3925 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3920 +#: part/models.py:3963 msgid "Part ID or part name" msgstr "" -#: part/models.py:3921 +#: part/models.py:3964 msgid "Unique part ID value" msgstr "" -#: part/models.py:3923 +#: part/models.py:3966 msgid "Part IPN value" msgstr "" -#: part/models.py:3924 +#: part/models.py:3967 msgid "Level" msgstr "" -#: part/models.py:3924 +#: part/models.py:3967 msgid "BOM level" msgstr "" -#: part/models.py:4014 +#: part/models.py:4057 msgid "Select parent part" msgstr "" -#: part/models.py:4024 +#: part/models.py:4067 msgid "Sub part" msgstr "" -#: part/models.py:4025 +#: part/models.py:4068 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4036 +#: part/models.py:4079 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4042 +#: part/models.py:4085 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4048 +#: part/models.py:4091 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4055 part/templates/part/upload_bom.html:55 +#: part/models.py:4098 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4056 +#: part/models.py:4099 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4063 +#: part/models.py:4106 msgid "BOM item reference" msgstr "" -#: part/models.py:4071 +#: part/models.py:4114 msgid "BOM item notes" msgstr "" -#: part/models.py:4077 +#: part/models.py:4120 msgid "Checksum" msgstr "" -#: part/models.py:4078 +#: part/models.py:4121 msgid "BOM line checksum" msgstr "" -#: part/models.py:4083 templates/js/translated/table_filters.js:174 +#: part/models.py:4126 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4084 +#: part/models.py:4127 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4089 part/templates/part/upload_bom.html:57 +#: part/models.py:4132 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4090 +#: part/models.py:4133 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4095 part/templates/part/upload_bom.html:56 +#: part/models.py:4138 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4096 +#: part/models.py:4139 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4181 stock/models.py:647 +#: part/models.py:4224 stock/models.py:668 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4191 part/models.py:4193 +#: part/models.py:4234 part/models.py:4236 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4333 +#: part/models.py:4376 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4354 +#: part/models.py:4397 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4367 +#: part/models.py:4410 msgid "Parent BOM item" msgstr "" -#: part/models.py:4375 +#: part/models.py:4418 msgid "Substitute part" msgstr "" -#: part/models.py:4391 +#: part/models.py:4434 msgid "Part 1" msgstr "" -#: part/models.py:4399 +#: part/models.py:4442 msgid "Part 2" msgstr "" -#: part/models.py:4400 +#: part/models.py:4443 msgid "Select Related Part" msgstr "" -#: part/models.py:4419 +#: part/models.py:4462 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4424 +#: part/models.py:4467 msgid "Duplicate relationship already exists" msgstr "" @@ -6854,7 +6808,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:406 +#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:535 msgid "Purchase currency of this stock item" msgstr "" @@ -6870,299 +6824,299 @@ msgstr "" msgid "Select category" msgstr "" -#: part/serializers.py:437 +#: part/serializers.py:442 msgid "Original Part" msgstr "" -#: part/serializers.py:438 +#: part/serializers.py:443 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:448 msgid "Copy Image" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:449 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:450 part/templates/part/detail.html:277 +#: part/serializers.py:455 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:451 +#: part/serializers.py:456 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:462 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:458 +#: part/serializers.py:463 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:464 +#: part/serializers.py:469 msgid "Copy Notes" msgstr "" -#: part/serializers.py:465 +#: part/serializers.py:470 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:478 +#: part/serializers.py:488 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:490 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:487 +#: part/serializers.py:497 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:488 +#: part/serializers.py:498 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:500 +#: part/serializers.py:515 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:531 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:526 +#: part/serializers.py:541 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:533 +#: part/serializers.py:548 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:542 +#: part/serializers.py:557 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:553 +#: part/serializers.py:568 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:560 +#: part/serializers.py:575 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:823 +#: part/serializers.py:838 msgid "External Stock" msgstr "" -#: part/serializers.py:825 +#: part/serializers.py:840 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:828 +#: part/serializers.py:843 msgid "Variant Stock" msgstr "" -#: part/serializers.py:856 part/templates/part/copy_part.html:9 +#: part/serializers.py:871 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:857 +#: part/serializers.py:872 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:863 templates/js/translated/part.js:102 +#: part/serializers.py:878 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:864 +#: part/serializers.py:879 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:870 +#: part/serializers.py:885 msgid "Supplier Information" msgstr "" -#: part/serializers.py:871 +#: part/serializers.py:886 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:879 +#: part/serializers.py:894 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:880 +#: part/serializers.py:895 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:885 +#: part/serializers.py:900 msgid "Existing Image" msgstr "" -#: part/serializers.py:886 +#: part/serializers.py:901 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:918 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1109 +#: part/serializers.py:1124 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1119 +#: part/serializers.py:1134 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1129 +#: part/serializers.py:1144 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1135 +#: part/serializers.py:1150 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1136 +#: part/serializers.py:1151 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1141 +#: part/serializers.py:1156 msgid "Generate Report" msgstr "" -#: part/serializers.py:1142 +#: part/serializers.py:1157 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1147 +#: part/serializers.py:1162 msgid "Update Parts" msgstr "" -#: part/serializers.py:1148 +#: part/serializers.py:1163 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1156 +#: part/serializers.py:1171 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1262 +#: part/serializers.py:1277 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1269 +#: part/serializers.py:1284 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1277 +#: part/serializers.py:1292 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1284 +#: part/serializers.py:1299 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1313 +#: part/serializers.py:1328 msgid "Update" msgstr "" -#: part/serializers.py:1314 +#: part/serializers.py:1329 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1337 +#: part/serializers.py:1352 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1344 +#: part/serializers.py:1359 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1347 +#: part/serializers.py:1362 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1714 +#: part/serializers.py:1729 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1722 +#: part/serializers.py:1737 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1723 +#: part/serializers.py:1738 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1728 +#: part/serializers.py:1743 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1729 +#: part/serializers.py:1744 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1734 +#: part/serializers.py:1749 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1735 +#: part/serializers.py:1750 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1755 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1756 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1775 +#: part/serializers.py:1790 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1776 +#: part/serializers.py:1791 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1806 +#: part/serializers.py:1821 msgid "No part column specified" msgstr "" -#: part/serializers.py:1850 +#: part/serializers.py:1865 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1853 +#: part/serializers.py:1868 msgid "No matching part found" msgstr "" -#: part/serializers.py:1856 +#: part/serializers.py:1871 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1865 +#: part/serializers.py:1880 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1888 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1894 +#: part/serializers.py:1909 msgid "At least one BOM item is required" msgstr "" #: part/stocktake.py:224 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:2085 +#: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" @@ -7314,7 +7268,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2218 users/models.py:204 +#: templates/js/translated/stock.js:2216 users/models.py:204 msgid "Stocktake" msgstr "" @@ -7412,15 +7366,15 @@ msgstr "" msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:659 +#: part/templates/part/detail.html:655 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:667 +#: part/templates/part/detail.html:663 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:752 +#: part/templates/part/detail.html:748 msgid "Add Test Result Template" msgstr "" @@ -7479,7 +7433,7 @@ msgstr "" #: part/templates/part/part_base.html:52 #: stock/templates/stock/item_base.html:62 -#: stock/templates/stock/location.html:74 +#: stock/templates/stock/location.html:74 templates/js/translated/label.js:142 msgid "Print Label" msgstr "" @@ -7501,7 +7455,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2293 +#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2292 msgid "Part actions" msgstr "" @@ -7550,7 +7504,7 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:163 -#: part/templates/part/part_base.html:682 +#: part/templates/part/part_base.html:681 msgid "Show Part Details" msgstr "" @@ -7573,7 +7527,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2444 +#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2443 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7596,19 +7550,19 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:512 +#: part/templates/part/part_base.html:511 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:529 +#: part/templates/part/part_base.html:528 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:580 +#: part/templates/part/part_base.html:579 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:676 +#: part/templates/part/part_base.html:675 msgid "Hide Part Details" msgstr "" @@ -7667,8 +7621,8 @@ msgstr "" #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 -#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 -#: templates/js/translated/stock.js:2072 templates/navbar.html:31 +#: templates/js/translated/part.js:2391 templates/js/translated/stock.js:1059 +#: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7714,7 +7668,7 @@ msgstr "" #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 -#: templates/js/translated/stock.js:2248 +#: templates/js/translated/stock.js:2246 msgid "Last Updated" msgstr "" @@ -7786,7 +7740,7 @@ msgid "Update Pricing" msgstr "" #: part/templates/part/stock_count.html:7 -#: templates/js/translated/model_renderers.js:221 +#: templates/js/translated/model_renderers.js:227 #: templates/js/translated/part.js:704 templates/js/translated/part.js:2140 #: templates/js/translated/part.js:2142 msgid "No Stock" @@ -7866,7 +7820,7 @@ msgstr "" msgid "Part Pricing" msgstr "" -#: plugin/api.py:168 +#: plugin/api.py:170 msgid "Plugin cannot be deleted as it is currently active" msgstr "" @@ -7933,7 +7887,7 @@ msgid "Stock item does not match line item" msgstr "" #: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2589 -#: templates/js/translated/sales_order.js:1917 +#: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "" @@ -8027,22 +7981,18 @@ msgstr "" msgid "Quantity to allocate" msgstr "" -#: plugin/base/label/label.py:39 +#: plugin/base/label/label.py:39 templates/js/translated/label.js:154 msgid "Label printing failed" msgstr "" -#: plugin/base/label/mixins.py:63 +#: plugin/base/label/mixins.py:56 msgid "Error rendering label to PDF" msgstr "" -#: plugin/base/label/mixins.py:76 +#: plugin/base/label/mixins.py:70 msgid "Error rendering label to HTML" msgstr "" -#: plugin/base/label/mixins.py:111 -msgid "Error rendering label to PNG" -msgstr "" - #: plugin/builtin/barcodes/inventree_barcode.py:25 msgid "InvenTree Barcodes" msgstr "" @@ -8054,7 +8004,7 @@ msgstr "" #: plugin/builtin/barcodes/inventree_barcode.py:28 #: plugin/builtin/integration/core_notifications.py:35 #: plugin/builtin/integration/currency_exchange.py:21 -#: plugin/builtin/labels/inventree_label.py:23 +#: plugin/builtin/labels/inventree_label.py:22 #: plugin/builtin/labels/inventree_machine.py:64 #: plugin/builtin/labels/label_sheet.py:63 #: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 @@ -8108,19 +8058,19 @@ msgstr "" msgid "Default currency exchange integration" msgstr "" -#: plugin/builtin/labels/inventree_label.py:20 +#: plugin/builtin/labels/inventree_label.py:19 msgid "InvenTree PDF label printer" msgstr "" -#: plugin/builtin/labels/inventree_label.py:21 +#: plugin/builtin/labels/inventree_label.py:20 msgid "Provides native support for printing PDF labels" msgstr "" -#: plugin/builtin/labels/inventree_label.py:29 +#: plugin/builtin/labels/inventree_label.py:28 msgid "Debug mode" msgstr "" -#: plugin/builtin/labels/inventree_label.py:30 +#: plugin/builtin/labels/inventree_label.py:29 msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "" @@ -8132,11 +8082,11 @@ msgstr "" msgid "Provides support for printing using a machine" msgstr "" -#: plugin/builtin/labels/inventree_machine.py:150 +#: plugin/builtin/labels/inventree_machine.py:151 msgid "last used" msgstr "" -#: plugin/builtin/labels/inventree_machine.py:167 +#: plugin/builtin/labels/inventree_machine.py:168 msgid "Options" msgstr "" @@ -8160,7 +8110,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:47 report/models.py:209 +#: plugin/builtin/labels/label_sheet.py:47 report/models.py:308 msgid "Landscape" msgstr "" @@ -8176,11 +8126,11 @@ msgstr "" msgid "Arrays multiple labels onto a single sheet" msgstr "" -#: plugin/builtin/labels/label_sheet.py:94 +#: plugin/builtin/labels/label_sheet.py:99 msgid "Label is too large for page size" msgstr "" -#: plugin/builtin/labels/label_sheet.py:128 +#: plugin/builtin/labels/label_sheet.py:133 msgid "No labels were generated" msgstr "" @@ -8273,61 +8223,62 @@ msgstr "" msgid "Uninstalled plugin successfully" msgstr "" -#: plugin/models.py:30 +#: plugin/models.py:35 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:31 +#: plugin/models.py:36 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:34 users/models.py:100 +#: plugin/models.py:42 users/models.py:100 msgid "Key" msgstr "" -#: plugin/models.py:34 +#: plugin/models.py:43 msgid "Key of plugin" msgstr "" -#: plugin/models.py:42 +#: plugin/models.py:51 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:49 plugin/serializers.py:90 +#: plugin/models.py:58 plugin/serializers.py:90 msgid "Package Name" msgstr "" -#: plugin/models.py:51 +#: plugin/models.py:60 msgid "Name of the installed package, if the plugin was installed via PIP" msgstr "" -#: plugin/models.py:56 +#: plugin/models.py:65 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:147 templates/js/translated/table_filters.js:370 +#: plugin/models.py:156 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "" -#: plugin/models.py:156 +#: plugin/models.py:165 msgid "Sample plugin" msgstr "" -#: plugin/models.py:164 +#: plugin/models.py:173 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:172 +#: plugin/models.py:181 msgid "Package Plugin" msgstr "" -#: plugin/models.py:196 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:205 report/models.py:475 +#: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" msgstr "" -#: plugin/models.py:243 +#: plugin/models.py:252 msgid "Method" msgstr "" @@ -8468,239 +8419,323 @@ msgstr "" msgid "Delete the plugin configuration from the database" msgstr "" -#: report/api.py:158 +#: report/api.py:77 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:197 report/api.py:234 +#: report/api.py:89 report/serializers.py:53 +msgid "Model Type" +msgstr "" + +#: report/api.py:92 report/models.py:439 report/serializers.py:98 +#: report/serializers.py:148 templates/js/translated/purchase_order.js:1747 +#: templates/js/translated/return_order.js:353 +#: templates/js/translated/sales_order.js:887 +#: templates/js/translated/sales_order.js:1047 +msgid "Items" +msgstr "" + +#: report/api.py:168 +msgid "Plugin not found" +msgstr "" + +#: report/api.py:170 +msgid "Plugin is not active" +msgstr "" + +#: report/api.py:172 +msgid "Plugin does not support label printing" +msgstr "" + +#: report/api.py:221 +msgid "Invalid label dimensions" +msgstr "" + +#: report/api.py:236 report/api.py:316 +msgid "No valid items provided to template" +msgstr "" + +#: report/api.py:271 +msgid "Error printing label" +msgstr "" + +#: report/api.py:362 report/api.py:398 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:319 -msgid "Test report" -msgstr "" - -#: report/helpers.py:15 +#: report/helpers.py:41 msgid "A4" msgstr "" -#: report/helpers.py:16 +#: report/helpers.py:42 msgid "A3" msgstr "" -#: report/helpers.py:17 +#: report/helpers.py:43 msgid "Legal" msgstr "" -#: report/helpers.py:18 +#: report/helpers.py:44 msgid "Letter" msgstr "" -#: report/models.py:177 +#: report/models.py:118 +msgid "Template file with this name already exists" +msgstr "" + +#: report/models.py:150 msgid "Template name" msgstr "" -#: report/models.py:183 -msgid "Report template file" +#: report/models.py:156 +msgid "Template description" msgstr "" -#: report/models.py:190 -msgid "Report template description" +#: report/models.py:162 +msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:196 -msgid "Report revision number (auto-increments)" +#: report/models.py:202 +msgid "Filename Pattern" msgstr "" -#: report/models.py:204 +#: report/models.py:203 +msgid "Pattern for generating filenames" +msgstr "" + +#: report/models.py:208 +msgid "Template is enabled" +msgstr "" + +#: report/models.py:214 +msgid "Target model type for template" +msgstr "" + +#: report/models.py:234 +msgid "Filters" +msgstr "" + +#: report/models.py:235 +msgid "Template query filters (comma-separated list of key=value pairs)" +msgstr "" + +#: report/models.py:295 report/models.py:362 +msgid "Template file" +msgstr "" + +#: report/models.py:303 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:210 +#: report/models.py:309 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:318 -msgid "Pattern for generating report filenames" +#: report/models.py:368 +msgid "Width [mm]" msgstr "" -#: report/models.py:325 -msgid "Report template is enabled" +#: report/models.py:369 +msgid "Label width, specified in mm" msgstr "" -#: report/models.py:347 -msgid "StockItem query filters (comma-separated list of key=value pairs)" +#: report/models.py:375 +msgid "Height [mm]" msgstr "" -#: report/models.py:354 -msgid "Include Installed Tests" +#: report/models.py:376 +msgid "Label height, specified in mm" msgstr "" -#: report/models.py:356 -msgid "Include test results for stock items installed inside assembled item" +#: report/models.py:439 +msgid "Number of items to process" msgstr "" -#: report/models.py:424 -msgid "Build Filters" +#: report/models.py:445 +msgid "Report generation is complete" msgstr "" -#: report/models.py:425 -msgid "Build query filters (comma-separated list of key=value pairs" +#: report/models.py:449 templates/js/translated/build.js:2177 +msgid "Progress" msgstr "" -#: report/models.py:464 -msgid "Part Filters" +#: report/models.py:449 +msgid "Report generation progress" msgstr "" -#: report/models.py:465 -msgid "Part query filters (comma-separated list of key=value pairs" +#: report/models.py:457 +msgid "Report Template" msgstr "" -#: report/models.py:497 -msgid "Purchase order query filters" +#: report/models.py:464 report/models.py:487 +msgid "Output File" msgstr "" -#: report/models.py:533 -msgid "Sales order query filters" +#: report/models.py:465 report/models.py:488 +msgid "Generated output file" msgstr "" -#: report/models.py:569 -msgid "Return order query filters" +#: report/models.py:476 +msgid "Label output plugin" msgstr "" -#: report/models.py:641 -msgid "Snippet file with this name already exists" +#: report/models.py:480 +msgid "Label Template" msgstr "" -#: report/models.py:648 +#: report/models.py:503 msgid "Snippet" msgstr "" -#: report/models.py:649 +#: report/models.py:504 msgid "Report snippet file" msgstr "" -#: report/models.py:656 +#: report/models.py:511 msgid "Snippet file description" msgstr "" -#: report/models.py:714 -msgid "Asset file with this name already exists" -msgstr "" - -#: report/models.py:722 +#: report/models.py:529 msgid "Asset" msgstr "" -#: report/models.py:723 +#: report/models.py:530 msgid "Report asset file" msgstr "" -#: report/models.py:730 +#: report/models.py:537 msgid "Asset file description" msgstr "" -#: report/models.py:752 -msgid "stock location query filters (comma-separated list of key=value pairs)" +#: report/serializers.py:91 +msgid "Select report template" +msgstr "" + +#: report/serializers.py:99 report/serializers.py:149 +msgid "List of item primary keys to include in the report" +msgstr "" + +#: report/serializers.py:132 +msgid "Select label template" +msgstr "" + +#: report/serializers.py:140 +msgid "Printing Plugin" +msgstr "" + +#: report/serializers.py:141 +msgid "Select plugin to use for label printing" +msgstr "" + +#: report/templates/label/part_label.html:31 +#: report/templates/label/stockitem_qr.html:21 +#: report/templates/label/stocklocation_qr.html:20 +#: templates/allauth_2fa/setup.html:18 +msgid "QR Code" +msgstr "" + +#: report/templates/label/part_label_code128.html:31 +#: report/templates/label/stocklocation_qr_and_text.html:31 +#: templates/qr_code.html:7 +msgid "QR code" msgstr "" #: report/templates/report/inventree_bill_of_materials_report.html:133 msgid "Materials needed" msgstr "" -#: report/templates/report/inventree_build_order_base.html:146 +#: report/templates/report/inventree_build_order_report.html:146 msgid "Required For" msgstr "" -#: report/templates/report/inventree_po_report_base.html:15 +#: report/templates/report/inventree_purchase_order_report.html:15 msgid "Supplier was deleted" msgstr "" -#: report/templates/report/inventree_po_report_base.html:30 -#: report/templates/report/inventree_so_report_base.html:30 +#: report/templates/report/inventree_purchase_order_report.html:30 +#: report/templates/report/inventree_sales_order_report.html:30 #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:834 -#: templates/js/translated/purchase_order.js:2116 -#: templates/js/translated/sales_order.js:1837 +#: templates/js/translated/purchase_order.js:2115 +#: templates/js/translated/sales_order.js:1873 msgid "Unit Price" msgstr "" -#: report/templates/report/inventree_po_report_base.html:55 -#: report/templates/report/inventree_return_order_report_base.html:48 -#: report/templates/report/inventree_so_report_base.html:55 +#: report/templates/report/inventree_purchase_order_report.html:55 +#: report/templates/report/inventree_return_order_report.html:48 +#: report/templates/report/inventree_sales_order_report.html:55 msgid "Extra Line Items" 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:2018 -#: templates/js/translated/sales_order.js:1806 +#: report/templates/report/inventree_purchase_order_report.html:72 +#: report/templates/report/inventree_sales_order_report.html:72 +#: templates/js/translated/purchase_order.js:2017 +#: templates/js/translated/sales_order.js:1842 msgid "Total" msgstr "" -#: report/templates/report/inventree_return_order_report_base.html:25 -#: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:809 stock/templates/stock/item_base.html:311 +#: report/templates/report/inventree_return_order_report.html:25 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:830 +#: stock/serializers.py:150 stock/templates/stock/item_base.html:311 #: templates/js/translated/build.js:519 templates/js/translated/build.js:1367 #: templates/js/translated/build.js:2355 -#: templates/js/translated/model_renderers.js:224 -#: templates/js/translated/return_order.js:540 -#: templates/js/translated/return_order.js:724 +#: templates/js/translated/model_renderers.js:230 +#: templates/js/translated/return_order.js:539 +#: templates/js/translated/return_order.js:723 #: templates/js/translated/sales_order.js:315 -#: templates/js/translated/sales_order.js:1611 -#: templates/js/translated/sales_order.js:1696 +#: templates/js/translated/sales_order.js:1647 +#: templates/js/translated/sales_order.js:1732 #: templates/js/translated/stock.js:596 msgid "Serial Number" msgstr "" -#: report/templates/report/inventree_slr_report.html:97 +#: report/templates/report/inventree_stock_location_report.html:97 msgid "Stock location items" msgstr "" -#: report/templates/report/inventree_test_report_base.html:21 +#: report/templates/report/inventree_test_report.html:21 msgid "Stock Item Test Report" msgstr "" -#: report/templates/report/inventree_test_report_base.html:97 +#: report/templates/report/inventree_test_report.html:97 msgid "Test Results" msgstr "" -#: report/templates/report/inventree_test_report_base.html:102 +#: report/templates/report/inventree_test_report.html:102 #: templates/js/translated/stock.js:1495 msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2442 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2419 msgid "Result" msgstr "" -#: report/templates/report/inventree_test_report_base.html:130 +#: report/templates/report/inventree_test_report.html:130 msgid "Pass" msgstr "" -#: report/templates/report/inventree_test_report_base.html:132 +#: report/templates/report/inventree_test_report.html:132 msgid "Fail" msgstr "" -#: report/templates/report/inventree_test_report_base.html:139 +#: report/templates/report/inventree_test_report.html:139 msgid "No result (required)" msgstr "" -#: report/templates/report/inventree_test_report_base.html:141 +#: report/templates/report/inventree_test_report.html:141 msgid "No result" msgstr "" -#: report/templates/report/inventree_test_report_base.html:154 +#: report/templates/report/inventree_test_report.html:154 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report_base.html:168 -#: stock/admin.py:162 templates/js/translated/stock.js:700 -#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3113 +#: report/templates/report/inventree_test_report.html:168 stock/admin.py:162 +#: templates/js/translated/stock.js:700 templates/js/translated/stock.js:871 +#: templates/js/translated/stock.js:3110 msgid "Serial" msgstr "" @@ -8757,7 +8792,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:201 stock/models.py:789 +#: stock/admin.py:201 stock/models.py:810 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" @@ -8782,66 +8817,66 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:256 stock/models.py:883 +#: stock/admin.py:256 stock/models.py:904 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2232 users/models.py:124 +#: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" msgstr "" -#: stock/api.py:284 +#: stock/api.py:318 msgid "Filter by location depth" msgstr "" -#: stock/api.py:304 +#: stock/api.py:338 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:325 +#: stock/api.py:359 msgid "Parent Location" msgstr "" -#: stock/api.py:326 +#: stock/api.py:360 msgid "Filter by parent location" msgstr "" -#: stock/api.py:579 templates/js/translated/table_filters.js:427 +#: stock/api.py:613 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:767 +#: stock/api.py:801 msgid "Part Tree" msgstr "" -#: stock/api.py:797 +#: stock/api.py:831 msgid "Expiry date before" msgstr "" -#: stock/api.py:801 +#: stock/api.py:835 msgid "Expiry date after" msgstr "" -#: stock/api.py:804 stock/templates/stock/item_base.html:439 +#: stock/api.py:838 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:891 +#: stock/api.py:925 msgid "Quantity is required" msgstr "" -#: stock/api.py:897 +#: stock/api.py:931 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:928 +#: stock/api.py:962 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:938 +#: stock/api.py:972 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:969 +#: stock/api.py:1003 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8857,477 +8892,517 @@ msgstr "" msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:125 stock/models.py:771 +#: stock/models.py:127 stock/models.py:792 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:126 stock/templates/stock/location.html:179 +#: stock/models.py:128 stock/templates/stock/location.html:186 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "" -#: stock/models.py:158 stock/models.py:932 +#: stock/models.py:170 stock/models.py:953 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:159 stock/models.py:933 +#: stock/models.py:171 stock/models.py:954 msgid "Select Owner" msgstr "" -#: stock/models.py:167 +#: stock/models.py:179 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:174 templates/js/translated/stock.js:2784 +#: stock/models.py:186 templates/js/translated/stock.js:2781 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "" -#: stock/models.py:175 +#: stock/models.py:187 msgid "This is an external stock location" msgstr "" -#: stock/models.py:181 templates/js/translated/stock.js:2793 +#: stock/models.py:193 templates/js/translated/stock.js:2790 #: templates/js/translated/table_filters.js:246 msgid "Location type" msgstr "" -#: stock/models.py:185 +#: stock/models.py:197 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:254 +#: stock/models.py:266 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:626 +#: stock/models.py:647 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:653 stock/serializers.py:290 +#: stock/models.py:674 stock/serializers.py:419 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:670 +#: stock/models.py:691 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:680 stock/models.py:693 +#: stock/models.py:701 stock/models.py:714 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:683 +#: stock/models.py:704 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:707 +#: stock/models.py:728 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:712 +#: stock/models.py:733 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:725 +#: stock/models.py:746 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:741 +#: stock/models.py:762 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:753 +#: stock/models.py:774 msgid "Base part" msgstr "" -#: stock/models.py:763 +#: stock/models.py:784 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:775 +#: stock/models.py:796 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:783 stock/serializers.py:1351 +#: stock/models.py:804 stock/serializers.py:1480 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:794 +#: stock/models.py:815 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:813 +#: stock/models.py:834 msgid "Serial number for this item" msgstr "" -#: stock/models.py:827 stock/serializers.py:1334 +#: stock/models.py:848 stock/serializers.py:1463 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:832 +#: stock/models.py:853 msgid "Stock Quantity" msgstr "" -#: stock/models.py:842 +#: stock/models.py:863 msgid "Source Build" msgstr "" -#: stock/models.py:845 +#: stock/models.py:866 msgid "Build for this stock item" msgstr "" -#: stock/models.py:852 stock/templates/stock/item_base.html:363 +#: stock/models.py:873 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:855 +#: stock/models.py:876 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:864 +#: stock/models.py:885 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:868 +#: stock/models.py:889 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:874 +#: stock/models.py:895 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:885 +#: stock/models.py:906 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:903 +#: stock/models.py:924 msgid "Delete on deplete" msgstr "" -#: stock/models.py:904 +#: stock/models.py:925 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:924 +#: stock/models.py:945 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:955 +#: stock/models.py:976 msgid "Converted to part" msgstr "" -#: stock/models.py:1473 +#: stock/models.py:1494 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1479 +#: stock/models.py:1500 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1487 +#: stock/models.py:1508 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1493 +#: stock/models.py:1514 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1498 +#: stock/models.py:1519 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1506 stock/serializers.py:529 +#: stock/models.py:1527 stock/serializers.py:658 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1603 +#: stock/models.py:1624 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1621 +#: stock/models.py:1642 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1625 +#: stock/models.py:1646 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1628 +#: stock/models.py:1649 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1631 +#: stock/models.py:1652 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1634 +#: stock/models.py:1655 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1637 +#: stock/models.py:1658 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1644 stock/serializers.py:1240 +#: stock/models.py:1665 stock/serializers.py:1369 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1648 +#: stock/models.py:1669 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1656 +#: stock/models.py:1677 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1661 +#: stock/models.py:1682 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1882 +#: stock/models.py:1903 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2345 +#: stock/models.py:2322 msgid "Entry notes" msgstr "" -#: stock/models.py:2410 +#: stock/models.py:2387 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2415 +#: stock/models.py:2392 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2442 +#: stock/models.py:2419 msgid "Test result" msgstr "" -#: stock/models.py:2449 +#: stock/models.py:2426 msgid "Test output value" msgstr "" -#: stock/models.py:2457 +#: stock/models.py:2434 msgid "Test result attachment" msgstr "" -#: stock/models.py:2461 +#: stock/models.py:2438 msgid "Test notes" msgstr "" -#: stock/models.py:2469 templates/js/translated/stock.js:1548 +#: stock/models.py:2446 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "" -#: stock/models.py:2470 +#: stock/models.py:2447 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2476 +#: stock/models.py:2453 msgid "Started" msgstr "" -#: stock/models.py:2477 +#: stock/models.py:2454 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2483 +#: stock/models.py:2460 msgid "Finished" msgstr "" -#: stock/models.py:2484 +#: stock/models.py:2461 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:100 +#: stock/serializers.py:75 +msgid "Generated batch code" +msgstr "" + +#: stock/serializers.py:84 +msgid "Select build order" +msgstr "" + +#: stock/serializers.py:93 +msgid "Select stock item to generate batch code for" +msgstr "" + +#: stock/serializers.py:102 +msgid "Select location to generate batch code for" +msgstr "" + +#: stock/serializers.py:111 +msgid "Select part to generate batch code for" +msgstr "" + +#: stock/serializers.py:120 +msgid "Select purchase order" +msgstr "" + +#: stock/serializers.py:127 +msgid "Enter quantity for batch code" +msgstr "" + +#: stock/serializers.py:150 +msgid "Generated serial number" +msgstr "" + +#: stock/serializers.py:159 +msgid "Select part to generate serial number for" +msgstr "" + +#: stock/serializers.py:167 +msgid "Quantity of serial numbers to generate" +msgstr "" + +#: stock/serializers.py:229 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:119 +#: stock/serializers.py:248 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:151 +#: stock/serializers.py:280 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:184 +#: stock/serializers.py:313 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:282 +#: stock/serializers.py:411 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:402 +#: stock/serializers.py:531 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:464 +#: stock/serializers.py:593 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:477 +#: stock/serializers.py:606 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:484 +#: stock/serializers.py:613 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:495 stock/serializers.py:1197 stock/serializers.py:1453 +#: stock/serializers.py:624 stock/serializers.py:1326 stock/serializers.py:1582 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:502 +#: stock/serializers.py:631 msgid "Optional note field" msgstr "" -#: stock/serializers.py:512 +#: stock/serializers.py:641 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:567 +#: stock/serializers.py:696 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:574 +#: stock/serializers.py:703 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:575 +#: stock/serializers.py:704 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:580 stock/serializers.py:660 stock/serializers.py:756 -#: stock/serializers.py:806 +#: stock/serializers.py:709 stock/serializers.py:789 stock/serializers.py:885 +#: stock/serializers.py:935 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:588 +#: stock/serializers.py:717 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:596 +#: stock/serializers.py:725 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:607 +#: stock/serializers.py:736 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:620 +#: stock/serializers.py:749 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:655 +#: stock/serializers.py:784 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:690 +#: stock/serializers.py:819 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:703 +#: stock/serializers.py:832 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:720 +#: stock/serializers.py:849 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:751 +#: stock/serializers.py:880 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:788 +#: stock/serializers.py:917 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:794 +#: stock/serializers.py:923 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:890 stock/serializers.py:953 +#: stock/serializers.py:1019 stock/serializers.py:1082 #: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:213 +#: stock/templates/stock/location.html:220 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1069 +#: stock/serializers.py:1198 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1073 +#: stock/serializers.py:1202 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1077 +#: stock/serializers.py:1206 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1101 +#: stock/serializers.py:1230 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1107 +#: stock/serializers.py:1236 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1115 +#: stock/serializers.py:1244 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1125 stock/serializers.py:1379 +#: stock/serializers.py:1254 stock/serializers.py:1508 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1204 +#: stock/serializers.py:1333 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1209 +#: stock/serializers.py:1338 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1210 +#: stock/serializers.py:1339 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1215 +#: stock/serializers.py:1344 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1216 +#: stock/serializers.py:1345 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1226 +#: stock/serializers.py:1355 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1293 +#: stock/serializers.py:1422 msgid "No Change" msgstr "" -#: stock/serializers.py:1322 +#: stock/serializers.py:1451 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1341 +#: stock/serializers.py:1470 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1369 +#: stock/serializers.py:1498 msgid "Stock transaction notes" msgstr "" @@ -9352,7 +9427,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:286 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:282 msgid "Delete Test Data" msgstr "" @@ -9368,15 +9443,15 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3274 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3271 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:274 +#: stock/templates/stock/item.html:270 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:304 templates/js/translated/stock.js:1701 +#: stock/templates/stock/item.html:300 templates/js/translated/stock.js:1701 msgid "Add Test Result" msgstr "" @@ -9561,40 +9636,40 @@ msgstr "" msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:507 -#: templates/js/translated/stock.js:1954 +#: stock/templates/stock/item_base.html:504 +#: templates/js/translated/stock.js:1952 msgid "stock item" msgstr "" -#: stock/templates/stock/item_base.html:532 +#: stock/templates/stock/item_base.html:527 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:541 +#: stock/templates/stock/item_base.html:536 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:552 +#: stock/templates/stock/item_base.html:547 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:616 +#: stock/templates/stock/item_base.html:611 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:619 +#: stock/templates/stock/item_base.html:614 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:620 +#: stock/templates/stock/item_base.html:615 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:628 +#: stock/templates/stock/item_base.html:623 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:662 +#: stock/templates/stock/item_base.html:657 msgid "Return to Stock" msgstr "" @@ -9658,28 +9733,32 @@ msgstr "" msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:217 +#: stock/templates/stock/location.html:176 +msgid "Location Type" +msgstr "" + +#: stock/templates/stock/location.html:224 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:218 +#: stock/templates/stock/location.html:225 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:287 -#: templates/js/translated/stock.js:2575 +#: stock/templates/stock/location.html:295 +#: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:315 +#: stock/templates/stock/location.html:317 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:388 +#: stock/templates/stock/location.html:390 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:399 +#: stock/templates/stock/location.html:401 msgid "Link Barcode to Stock Location" msgstr "" @@ -9949,11 +10028,11 @@ msgstr "" msgid "Part Settings" msgstr "" -#: templates/InvenTree/settings/part.html:42 +#: templates/InvenTree/settings/part.html:43 msgid "Part Import" msgstr "" -#: templates/InvenTree/settings/part.html:46 +#: templates/InvenTree/settings/part.html:47 msgid "Import Part" msgstr "" @@ -10174,7 +10253,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:424 +#: templates/js/translated/stock.js:245 users/models.py:411 msgid "Delete" msgstr "" @@ -10283,7 +10362,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2159 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2163 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" @@ -10874,7 +10953,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3218 +#: templates/js/translated/part.js:3217 msgid "Minimum Quantity" msgstr "" @@ -11254,7 +11333,7 @@ msgid "External stock" msgstr "" #: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2595 -#: templates/js/translated/sales_order.js:1910 +#: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" @@ -11264,7 +11343,7 @@ msgstr "" #: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 #: templates/js/translated/part.js:1256 -#: templates/js/translated/sales_order.js:1907 +#: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" @@ -11519,17 +11598,17 @@ msgstr "" #: templates/js/translated/build.js:1576 #: templates/js/translated/purchase_order.js:611 -#: templates/js/translated/sales_order.js:1171 +#: templates/js/translated/sales_order.js:1207 msgid "Select Parts" msgstr "" #: templates/js/translated/build.js:1577 -#: templates/js/translated/sales_order.js:1172 +#: templates/js/translated/sales_order.js:1208 msgid "You must select at least one part to allocate" msgstr "" #: templates/js/translated/build.js:1640 -#: templates/js/translated/sales_order.js:1121 +#: templates/js/translated/sales_order.js:1157 msgid "Specify stock allocation quantity" msgstr "" @@ -11542,7 +11621,7 @@ msgid "All selected parts have been fully allocated" msgstr "" #: templates/js/translated/build.js:1732 -#: templates/js/translated/sales_order.js:1186 +#: templates/js/translated/sales_order.js:1222 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -11551,12 +11630,12 @@ msgid "Allocate Stock Items to Build Order" msgstr "" #: templates/js/translated/build.js:1771 -#: templates/js/translated/sales_order.js:1283 +#: templates/js/translated/sales_order.js:1319 msgid "No matching stock locations" msgstr "" #: templates/js/translated/build.js:1844 -#: templates/js/translated/sales_order.js:1362 +#: templates/js/translated/sales_order.js:1398 msgid "No matching stock items" msgstr "" @@ -11589,9 +11668,9 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 -#: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 -#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 -#: templates/js/translated/stock.js:1985 templates/js/translated/stock.js:2713 +#: templates/js/translated/forms.js:2159 templates/js/translated/forms.js:2175 +#: templates/js/translated/part.js:2315 templates/js/translated/part.js:2741 +#: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "" @@ -11599,21 +11678,17 @@ msgstr "" msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2177 -msgid "Progress" -msgstr "" - -#: templates/js/translated/build.js:2213 templates/js/translated/stock.js:3045 +#: templates/js/translated/build.js:2213 templates/js/translated/stock.js:3042 msgid "No user information" msgstr "" #: templates/js/translated/build.js:2389 -#: templates/js/translated/sales_order.js:1646 +#: templates/js/translated/sales_order.js:1682 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:2390 -#: templates/js/translated/sales_order.js:1647 +#: templates/js/translated/sales_order.js:1683 msgid "Delete stock allocation" msgstr "" @@ -11647,7 +11722,7 @@ msgid "Unit Quantity" msgstr "" #: templates/js/translated/build.js:2591 -#: templates/js/translated/sales_order.js:1915 +#: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" @@ -11664,7 +11739,7 @@ msgid "Allocate tracked items against individual build outputs" msgstr "" #: templates/js/translated/build.js:2662 -#: templates/js/translated/sales_order.js:2016 +#: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "" @@ -11673,7 +11748,7 @@ msgid "Order stock" msgstr "" #: templates/js/translated/build.js:2671 -#: templates/js/translated/sales_order.js:2010 +#: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "" @@ -11923,12 +11998,12 @@ msgid "Delete price break" msgstr "" #: templates/js/translated/filters.js:186 -#: templates/js/translated/filters.js:672 +#: templates/js/translated/filters.js:667 msgid "true" msgstr "" #: templates/js/translated/filters.js:190 -#: templates/js/translated/filters.js:673 +#: templates/js/translated/filters.js:668 msgid "false" msgstr "" @@ -11960,7 +12035,7 @@ msgstr "" msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:582 +#: templates/js/translated/filters.js:577 msgid "Create filter" msgstr "" @@ -11993,32 +12068,32 @@ msgstr "" msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1473 templates/modals.html:19 +#: templates/js/translated/forms.js:1477 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1971 +#: templates/js/translated/forms.js:1975 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2275 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2279 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2489 +#: templates/js/translated/forms.js:2493 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3091 +#: templates/js/translated/forms.js:3095 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3091 +#: templates/js/translated/forms.js:3095 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3103 +#: templates/js/translated/forms.js:3107 msgid "Select Columns" msgstr "" @@ -12042,51 +12117,15 @@ msgstr "" msgid "No parts required for builds" msgstr "" -#: templates/js/translated/label.js:53 templates/js/translated/report.js:123 +#: templates/js/translated/label.js:55 templates/js/translated/report.js:38 msgid "Select Items" msgstr "" -#: templates/js/translated/label.js:54 +#: templates/js/translated/label.js:56 templates/js/translated/report.js:39 msgid "No items selected for printing" msgstr "" -#: templates/js/translated/label.js:72 -msgid "No Labels Found" -msgstr "" - -#: templates/js/translated/label.js:73 -msgid "No label templates found which match the selected items" -msgstr "" - -#: templates/js/translated/label.js:97 -msgid "selected" -msgstr "" - -#: templates/js/translated/label.js:133 -msgid "Printing Options" -msgstr "" - -#: templates/js/translated/label.js:148 -msgid "Print label" -msgstr "" - -#: templates/js/translated/label.js:148 -msgid "Print labels" -msgstr "" - #: templates/js/translated/label.js:149 -msgid "Print" -msgstr "" - -#: templates/js/translated/label.js:155 -msgid "Select label template" -msgstr "" - -#: templates/js/translated/label.js:168 -msgid "Select plugin" -msgstr "" - -#: templates/js/translated/label.js:187 msgid "Labels sent to printer" msgstr "" @@ -12204,7 +12243,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1991 +#: templates/js/translated/purchase_order.js:1990 msgid "No line items found" msgstr "" @@ -12442,19 +12481,19 @@ msgid "Delete Part Parameter Template" msgstr "" #: templates/js/translated/part.js:1716 -#: templates/js/translated/purchase_order.js:1655 +#: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1860 -#: templates/js/translated/purchase_order.js:2154 -#: templates/js/translated/return_order.js:756 -#: templates/js/translated/sales_order.js:1875 +#: templates/js/translated/purchase_order.js:2153 +#: templates/js/translated/return_order.js:755 +#: templates/js/translated/sales_order.js:1911 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1906 -#: templates/js/translated/purchase_order.js:2221 +#: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "" @@ -12466,7 +12505,7 @@ msgstr "" msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2506 +#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2505 msgid "No parts found" msgstr "" @@ -12482,101 +12521,101 @@ msgstr "" msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2286 msgid "part" msgstr "" -#: templates/js/translated/part.js:2288 +#: templates/js/translated/part.js:2287 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2384 +#: templates/js/translated/part.js:2383 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 -#: templates/js/translated/stock.js:2672 +#: templates/js/translated/part.js:2530 templates/js/translated/part.js:2660 +#: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2547 +#: templates/js/translated/part.js:2546 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2645 +#: templates/js/translated/part.js:2644 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2692 +#: templates/js/translated/part.js:2680 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2761 +#: templates/js/translated/part.js:2760 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2777 +#: templates/js/translated/part.js:2776 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2864 +#: templates/js/translated/part.js:2863 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2886 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2885 templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2935 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2941 +#: templates/js/translated/part.js:2940 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2957 +#: templates/js/translated/part.js:2956 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2971 +#: templates/js/translated/part.js:2970 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3050 templates/js/translated/part.js:3051 +#: templates/js/translated/part.js:3049 templates/js/translated/part.js:3050 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3053 +#: templates/js/translated/part.js:3052 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3059 +#: templates/js/translated/part.js:3058 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3109 +#: templates/js/translated/part.js:3108 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3115 +#: templates/js/translated/part.js:3114 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3211 +#: templates/js/translated/part.js:3210 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3227 +#: templates/js/translated/part.js:3226 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3272 +#: templates/js/translated/part.js:3271 msgid "Minimum Stock Level" msgstr "" @@ -12702,7 +12741,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:448 #: templates/js/translated/return_order.js:210 -#: templates/js/translated/sales_order.js:500 +#: templates/js/translated/sales_order.js:552 msgid "Mark this order as complete?" msgstr "" @@ -12715,7 +12754,6 @@ msgid "This order has line items which have not been marked as received." msgstr "" #: templates/js/translated/purchase_order.js:460 -#: templates/js/translated/sales_order.js:514 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" @@ -12773,12 +12811,12 @@ msgid "No matching purchase orders" msgstr "" #: templates/js/translated/purchase_order.js:1073 -#: templates/js/translated/return_order.js:491 +#: templates/js/translated/return_order.js:490 msgid "Select Line Items" msgstr "" #: templates/js/translated/purchase_order.js:1074 -#: templates/js/translated/return_order.js:492 +#: templates/js/translated/return_order.js:491 msgid "At least one line item must be selected" msgstr "" @@ -12827,7 +12865,7 @@ msgid "Quantity to Receive" msgstr "" #: templates/js/translated/purchase_order.js:1333 -#: templates/js/translated/return_order.js:561 +#: templates/js/translated/return_order.js:560 msgid "Confirm receipt of items" msgstr "" @@ -12847,81 +12885,66 @@ msgstr "" msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1682 -#: templates/js/translated/return_order.js:286 -#: templates/js/translated/sales_order.js:774 -#: templates/js/translated/sales_order.js:998 +#: templates/js/translated/purchase_order.js:1681 +#: templates/js/translated/return_order.js:285 +#: templates/js/translated/sales_order.js:810 +#: templates/js/translated/sales_order.js:1034 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1748 -#: templates/js/translated/return_order.js:354 -#: templates/js/translated/sales_order.js:851 -#: templates/js/translated/sales_order.js:1011 -msgid "Items" -msgstr "" - -#: templates/js/translated/purchase_order.js:1844 +#: templates/js/translated/purchase_order.js:1843 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1862 +#: templates/js/translated/purchase_order.js:1861 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1917 -#: templates/js/translated/sales_order.js:2070 +#: templates/js/translated/purchase_order.js:1916 +#: templates/js/translated/sales_order.js:2106 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1932 -#: templates/js/translated/return_order.js:476 -#: templates/js/translated/return_order.js:669 -#: templates/js/translated/sales_order.js:2083 +#: templates/js/translated/purchase_order.js:1931 +#: templates/js/translated/return_order.js:475 +#: templates/js/translated/return_order.js:668 +#: templates/js/translated/sales_order.js:2119 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1943 -#: templates/js/translated/return_order.js:682 -#: templates/js/translated/sales_order.js:2094 +#: templates/js/translated/purchase_order.js:1942 +#: templates/js/translated/return_order.js:681 +#: templates/js/translated/sales_order.js:2130 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2225 -#: templates/js/translated/sales_order.js:2024 +#: templates/js/translated/purchase_order.js:2224 +#: templates/js/translated/sales_order.js:2060 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2226 -#: templates/js/translated/return_order.js:801 -#: templates/js/translated/sales_order.js:2025 +#: templates/js/translated/purchase_order.js:2225 +#: templates/js/translated/return_order.js:800 +#: templates/js/translated/sales_order.js:2061 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2227 -#: templates/js/translated/return_order.js:805 -#: templates/js/translated/sales_order.js:2031 +#: templates/js/translated/purchase_order.js:2226 +#: templates/js/translated/return_order.js:804 +#: templates/js/translated/sales_order.js:2067 msgid "Delete line item" msgstr "" -#: templates/js/translated/report.js:63 -msgid "items selected" +#: templates/js/translated/report.js:49 +msgid "Print Report" msgstr "" -#: templates/js/translated/report.js:71 -msgid "Select Report Template" +#: templates/js/translated/report.js:68 +msgid "Report print successful" msgstr "" -#: templates/js/translated/report.js:86 -msgid "Select Test Report Template" -msgstr "" - -#: templates/js/translated/report.js:140 -msgid "No Reports Found" -msgstr "" - -#: templates/js/translated/report.js:141 -msgid "No report templates found which match the selected items" +#: templates/js/translated/report.js:73 +msgid "Report printing failed" msgstr "" #: templates/js/translated/return_order.js:60 @@ -12953,25 +12976,25 @@ msgstr "" msgid "Complete Return Order" msgstr "" -#: templates/js/translated/return_order.js:266 +#: templates/js/translated/return_order.js:265 msgid "No return orders found" msgstr "" -#: templates/js/translated/return_order.js:300 -#: templates/js/translated/sales_order.js:788 +#: templates/js/translated/return_order.js:299 +#: templates/js/translated/sales_order.js:824 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/return_order.js:562 +#: templates/js/translated/return_order.js:561 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:693 -#: templates/js/translated/sales_order.js:2231 +#: templates/js/translated/return_order.js:692 +#: templates/js/translated/sales_order.js:2267 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:798 +#: templates/js/translated/return_order.js:797 msgid "Mark item as received" msgstr "" @@ -13015,140 +13038,156 @@ msgstr "" msgid "Skip" msgstr "" +#: templates/js/translated/sales_order.js:484 +msgid "Ship Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:500 +msgid "Ship this order?" +msgstr "" + +#: templates/js/translated/sales_order.js:506 +msgid "Order cannot be shipped as there are incomplete shipments" +msgstr "" + #: templates/js/translated/sales_order.js:513 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/sales_order.js:535 +#: templates/js/translated/sales_order.js:514 +msgid "Shipping this order means that the order and line items will no longer be editable." +msgstr "" + +#: templates/js/translated/sales_order.js:572 msgid "Issue this Sales Order?" msgstr "" -#: templates/js/translated/sales_order.js:540 +#: templates/js/translated/sales_order.js:577 msgid "Issue Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:559 +#: templates/js/translated/sales_order.js:596 msgid "Cancel Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:564 +#: templates/js/translated/sales_order.js:601 msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: templates/js/translated/sales_order.js:618 +#: templates/js/translated/sales_order.js:655 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/sales_order.js:728 +#: templates/js/translated/sales_order.js:764 msgid "No sales orders found" msgstr "" -#: templates/js/translated/sales_order.js:908 +#: templates/js/translated/sales_order.js:944 msgid "Edit shipment" msgstr "" -#: templates/js/translated/sales_order.js:911 +#: templates/js/translated/sales_order.js:947 msgid "Complete shipment" msgstr "" -#: templates/js/translated/sales_order.js:916 +#: templates/js/translated/sales_order.js:952 msgid "Delete shipment" msgstr "" -#: templates/js/translated/sales_order.js:933 +#: templates/js/translated/sales_order.js:969 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/sales_order.js:948 +#: templates/js/translated/sales_order.js:984 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:981 +#: templates/js/translated/sales_order.js:1017 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/sales_order.js:1006 +#: templates/js/translated/sales_order.js:1042 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/sales_order.js:1030 -#: templates/js/translated/sales_order.js:1529 +#: templates/js/translated/sales_order.js:1066 +#: templates/js/translated/sales_order.js:1565 msgid "Not shipped" msgstr "" -#: templates/js/translated/sales_order.js:1048 +#: templates/js/translated/sales_order.js:1084 msgid "Tracking" msgstr "" -#: templates/js/translated/sales_order.js:1052 +#: templates/js/translated/sales_order.js:1088 msgid "Invoice" msgstr "" -#: templates/js/translated/sales_order.js:1219 +#: templates/js/translated/sales_order.js:1255 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1270 +#: templates/js/translated/sales_order.js:1306 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/sales_order.js:1271 +#: templates/js/translated/sales_order.js:1307 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1477 +#: templates/js/translated/sales_order.js:1513 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1569 +#: templates/js/translated/sales_order.js:1605 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1583 +#: templates/js/translated/sales_order.js:1619 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/sales_order.js:1584 +#: templates/js/translated/sales_order.js:1620 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1623 -#: templates/js/translated/sales_order.js:1710 +#: templates/js/translated/sales_order.js:1659 +#: templates/js/translated/sales_order.js:1746 #: templates/js/translated/stock.js:1776 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/sales_order.js:1631 -#: templates/js/translated/sales_order.js:1719 +#: templates/js/translated/sales_order.js:1667 +#: templates/js/translated/sales_order.js:1755 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:2008 +#: templates/js/translated/sales_order.js:2044 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/sales_order.js:2012 +#: templates/js/translated/sales_order.js:2048 msgid "Purchase stock" msgstr "" -#: templates/js/translated/sales_order.js:2021 -#: templates/js/translated/sales_order.js:2209 +#: templates/js/translated/sales_order.js:2057 +#: templates/js/translated/sales_order.js:2245 msgid "Calculate price" msgstr "" -#: templates/js/translated/sales_order.js:2035 +#: templates/js/translated/sales_order.js:2071 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:2038 +#: templates/js/translated/sales_order.js:2074 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:2109 +#: templates/js/translated/sales_order.js:2145 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/sales_order.js:2217 +#: templates/js/translated/sales_order.js:2253 msgid "Update Unit Price" msgstr "" @@ -13356,7 +13395,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1042 users/models.py:414 +#: templates/js/translated/stock.js:1042 users/models.py:401 msgid "Add" msgstr "" @@ -13372,7 +13411,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1180 templates/js/translated/stock.js:3302 +#: templates/js/translated/stock.js:1180 templates/js/translated/stock.js:3299 msgid "Select Stock Items" msgstr "" @@ -13456,196 +13495,196 @@ msgstr "" msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:1955 +#: templates/js/translated/stock.js:1953 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1960 +#: templates/js/translated/stock.js:1958 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:1971 +#: templates/js/translated/stock.js:1969 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:2015 +#: templates/js/translated/stock.js:2013 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2093 +#: templates/js/translated/stock.js:2091 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2098 +#: templates/js/translated/stock.js:2096 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2101 +#: templates/js/translated/stock.js:2099 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2104 +#: templates/js/translated/stock.js:2102 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2106 +#: templates/js/translated/stock.js:2104 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2108 +#: templates/js/translated/stock.js:2106 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2111 +#: templates/js/translated/stock.js:2109 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2113 +#: templates/js/translated/stock.js:2111 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2117 +#: templates/js/translated/stock.js:2115 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2119 +#: templates/js/translated/stock.js:2117 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2124 +#: templates/js/translated/stock.js:2122 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2126 +#: templates/js/translated/stock.js:2124 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2128 +#: templates/js/translated/stock.js:2126 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2132 +#: templates/js/translated/stock.js:2130 #: templates/js/translated/table_filters.js:350 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2297 +#: templates/js/translated/stock.js:2295 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2344 +#: templates/js/translated/stock.js:2342 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2472 +#: templates/js/translated/stock.js:2470 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2576 +#: templates/js/translated/stock.js:2573 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2731 +#: templates/js/translated/stock.js:2728 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2849 +#: templates/js/translated/stock.js:2846 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2853 +#: templates/js/translated/stock.js:2850 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2865 +#: templates/js/translated/stock.js:2862 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2887 +#: templates/js/translated/stock.js:2884 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2904 +#: templates/js/translated/stock.js:2901 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2919 +#: templates/js/translated/stock.js:2916 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2936 +#: templates/js/translated/stock.js:2933 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:2950 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2972 +#: templates/js/translated/stock.js:2969 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2990 +#: templates/js/translated/stock.js:2987 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:3008 +#: templates/js/translated/stock.js:3005 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:3016 +#: templates/js/translated/stock.js:3013 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3088 +#: templates/js/translated/stock.js:3085 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3142 templates/js/translated/stock.js:3178 +#: templates/js/translated/stock.js:3139 templates/js/translated/stock.js:3175 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3200 +#: templates/js/translated/stock.js:3197 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3221 +#: templates/js/translated/stock.js:3218 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3222 +#: templates/js/translated/stock.js:3219 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3224 +#: templates/js/translated/stock.js:3221 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3225 +#: templates/js/translated/stock.js:3222 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3226 +#: templates/js/translated/stock.js:3223 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3227 +#: templates/js/translated/stock.js:3224 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3240 +#: templates/js/translated/stock.js:3237 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3303 +#: templates/js/translated/stock.js:3300 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3316 +#: templates/js/translated/stock.js:3313 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3320 +#: templates/js/translated/stock.js:3317 msgid "Change Stock Status" msgstr "" @@ -14247,34 +14286,35 @@ msgstr "" msgid "Revoked" msgstr "" -#: users/models.py:397 +#: users/models.py:384 msgid "Permission set" msgstr "" -#: users/models.py:406 +#: users/models.py:393 msgid "Group" msgstr "" -#: users/models.py:410 +#: users/models.py:397 msgid "View" msgstr "" -#: users/models.py:410 +#: users/models.py:397 msgid "Permission to view items" msgstr "" -#: users/models.py:414 +#: users/models.py:401 msgid "Permission to add items" msgstr "" -#: users/models.py:418 +#: users/models.py:405 msgid "Change" msgstr "" -#: users/models.py:420 +#: users/models.py:407 msgid "Permissions to edit items" msgstr "" -#: users/models.py:426 +#: users/models.py:413 msgid "Permission to delete items" msgstr "" + diff --git a/src/backend/InvenTree/locale/hu/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/hu/LC_MESSAGES/django.po index 96bbf12f52..133d62bfc6 100644 --- a/src/backend/InvenTree/locale/hu/LC_MESSAGES/django.po +++ b/src/backend/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: 2024-05-10 05:37+0000\n" -"PO-Revision-Date: 2024-05-10 08:31\n" +"POT-Creation-Date: 2024-05-23 11:25+0000\n" +"PO-Revision-Date: 2024-05-23 11:38\n" "Last-Translator: \n" "Language-Team: Hungarian\n" "Language: hu_HU\n" @@ -17,11 +17,11 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 216\n" -#: InvenTree/api.py:271 +#: InvenTree/api.py:272 msgid "API endpoint not found" msgstr "API funkciót nem találom" -#: InvenTree/api.py:535 +#: InvenTree/api.py:536 msgid "User does not have permission to view this model" msgstr "Nincs jogosultságod az adatok megtekintéséhez" @@ -56,26 +56,26 @@ msgstr "A hiba részleteit megtalálod az admin panelen" msgid "Enter date" msgstr "Dátum megadása" -#: InvenTree/fields.py:208 InvenTree/models.py:1021 build/serializers.py:444 -#: build/serializers.py:522 build/templates/build/sidebar.html:21 +#: InvenTree/fields.py:208 InvenTree/models.py:1035 build/serializers.py:443 +#: build/serializers.py:521 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 -#: order/models.py:1283 order/templates/order/po_sidebar.html:11 +#: order/models.py:1323 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:59 -#: part/models.py:3175 part/templates/part/part_sidebar.html:63 -#: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:226 stock/models.py:2344 stock/models.py:2461 -#: stock/serializers.py:501 stock/serializers.py:659 stock/serializers.py:755 -#: stock/serializers.py:805 stock/serializers.py:1114 stock/serializers.py:1203 -#: stock/serializers.py:1368 stock/templates/stock/stock_sidebar.html:25 +#: part/models.py:3218 part/templates/part/part_sidebar.html:63 +#: report/templates/report/inventree_build_order_report.html:172 +#: stock/admin.py:226 stock/models.py:2321 stock/models.py:2438 +#: stock/serializers.py:630 stock/serializers.py:788 stock/serializers.py:884 +#: stock/serializers.py:934 stock/serializers.py:1243 stock/serializers.py:1332 +#: stock/serializers.py:1497 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1080 -#: templates/js/translated/purchase_order.js:2201 -#: templates/js/translated/return_order.js:776 -#: templates/js/translated/sales_order.js:1067 -#: templates/js/translated/sales_order.js:1982 -#: templates/js/translated/stock.js:1536 templates/js/translated/stock.js:2430 +#: templates/js/translated/purchase_order.js:2200 +#: templates/js/translated/return_order.js:775 +#: templates/js/translated/sales_order.js:1103 +#: templates/js/translated/sales_order.js:2018 +#: templates/js/translated/stock.js:1536 templates/js/translated/stock.js:2428 msgid "Notes" msgstr "Megjegyzések" @@ -132,7 +132,7 @@ msgstr "A megadott email domain nincs jóváhagyva." msgid "Registration is disabled." msgstr "Regisztráció le van tiltva." -#: InvenTree/helpers.py:525 order/models.py:541 order/models.py:743 +#: InvenTree/helpers.py:525 order/models.py:563 order/models.py:765 msgid "Invalid quantity provided" msgstr "Nem megfelelő mennyiség" @@ -355,142 +355,142 @@ msgstr "Email" msgid "Error running plugin validation" msgstr "Hiba a plugin validálása közben" -#: InvenTree/models.py:162 +#: InvenTree/models.py:176 msgid "Metadata must be a python dict object" msgstr "A meta adatnak egy python dict objektumnak kell lennie" -#: InvenTree/models.py:168 +#: InvenTree/models.py:182 msgid "Plugin Metadata" msgstr "Plugin meta adatok" -#: InvenTree/models.py:169 +#: InvenTree/models.py:183 msgid "JSON metadata field, for use by external plugins" msgstr "JSON meta adat mező, külső pluginok számára" -#: InvenTree/models.py:399 +#: InvenTree/models.py:413 msgid "Improperly formatted pattern" msgstr "Helytelenül formázott minta" -#: InvenTree/models.py:406 +#: InvenTree/models.py:420 msgid "Unknown format key specified" msgstr "Ismeretlen formátum kulcs lett megadva" -#: InvenTree/models.py:412 +#: InvenTree/models.py:426 msgid "Missing required format key" msgstr "Hiányzó formátum kulcs" -#: InvenTree/models.py:423 +#: InvenTree/models.py:437 msgid "Reference field cannot be empty" msgstr "Az azonosító mező nem lehet üres" -#: InvenTree/models.py:431 +#: InvenTree/models.py:445 msgid "Reference must match required pattern" msgstr "Az azonosítónak egyeznie kell a mintával" -#: InvenTree/models.py:462 +#: InvenTree/models.py:476 msgid "Reference number is too large" msgstr "Azonosító szám túl nagy" -#: InvenTree/models.py:536 +#: InvenTree/models.py:550 msgid "Missing file" msgstr "Hiányzó fájl" -#: InvenTree/models.py:537 +#: InvenTree/models.py:551 msgid "Missing external link" msgstr "Hiányzó külső link" -#: InvenTree/models.py:558 stock/models.py:2456 +#: InvenTree/models.py:572 stock/models.py:2433 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" msgstr "Melléklet" -#: InvenTree/models.py:559 +#: InvenTree/models.py:573 msgid "Select file to attach" msgstr "Válaszd ki a mellekelni kívánt fájlt" -#: InvenTree/models.py:567 common/models.py:3026 company/models.py:146 +#: InvenTree/models.py:581 common/models.py:3032 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 -#: order/models.py:291 order/models.py:1288 order/models.py:1704 -#: part/admin.py:55 part/models.py:919 +#: order/models.py:304 order/models.py:1328 order/models.py:1744 +#: part/admin.py:55 part/models.py:962 #: part/templates/part/part_scheduling.html:11 -#: report/templates/report/inventree_build_order_base.html:164 +#: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2456 -#: templates/js/translated/purchase_order.js:2041 -#: templates/js/translated/purchase_order.js:2205 -#: templates/js/translated/return_order.js:780 -#: templates/js/translated/sales_order.js:1056 -#: templates/js/translated/sales_order.js:1987 +#: templates/js/translated/part.js:2455 +#: templates/js/translated/purchase_order.js:2040 +#: templates/js/translated/purchase_order.js:2204 +#: templates/js/translated/return_order.js:779 +#: templates/js/translated/sales_order.js:1092 +#: templates/js/translated/sales_order.js:2023 msgid "Link" msgstr "Link" -#: InvenTree/models.py:568 build/models.py:321 part/models.py:920 -#: stock/models.py:819 +#: InvenTree/models.py:582 build/models.py:344 part/models.py:963 +#: stock/models.py:840 msgid "Link to external URL" msgstr "Link külső URL-re" -#: InvenTree/models.py:574 templates/js/translated/attachment.js:120 +#: InvenTree/models.py:588 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:341 msgid "Comment" msgstr "Megjegyzés" -#: InvenTree/models.py:575 +#: InvenTree/models.py:589 msgid "File comment" msgstr "Leírás, bővebb infó" -#: InvenTree/models.py:583 InvenTree/models.py:584 common/models.py:2502 -#: common/models.py:2503 common/models.py:2727 common/models.py:2728 -#: common/models.py:2973 common/models.py:2974 part/models.py:3185 -#: part/models.py:3272 part/models.py:3365 part/models.py:3393 -#: plugin/models.py:250 plugin/models.py:251 -#: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3039 users/models.py:111 +#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2508 +#: common/models.py:2509 common/models.py:2733 common/models.py:2734 +#: common/models.py:2979 common/models.py:2980 part/models.py:3228 +#: part/models.py:3315 part/models.py:3408 part/models.py:3436 +#: plugin/models.py:259 plugin/models.py:260 +#: report/templates/report/inventree_test_report.html:105 +#: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" msgstr "Felhasználó" -#: InvenTree/models.py:588 +#: InvenTree/models.py:602 msgid "upload date" msgstr "feltöltés dátuma" -#: InvenTree/models.py:610 +#: InvenTree/models.py:624 msgid "Filename must not be empty" msgstr "A fájlnév nem lehet üres" -#: InvenTree/models.py:621 +#: InvenTree/models.py:635 msgid "Invalid attachment directory" msgstr "Érvénytelen melléklet mappa" -#: InvenTree/models.py:651 +#: InvenTree/models.py:665 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "Fájlnévben érvénytelen karakter van '{c}'" -#: InvenTree/models.py:654 +#: InvenTree/models.py:668 msgid "Filename missing extension" msgstr "Fájlnév kiterjesztése hiányzik" -#: InvenTree/models.py:663 +#: InvenTree/models.py:677 msgid "Attachment with this filename already exists" msgstr "Ilyen fájlnévvel már létezik melléklet" -#: InvenTree/models.py:670 +#: InvenTree/models.py:684 msgid "Error renaming file" msgstr "Hiba a fájl átnevezésekor" -#: InvenTree/models.py:846 +#: InvenTree/models.py:860 msgid "Duplicate names cannot exist under the same parent" msgstr "Duplikált nevek nem lehetnek ugyanazon szülő alatt" -#: InvenTree/models.py:863 +#: InvenTree/models.py:877 msgid "Invalid choice" msgstr "Érvénytelen választás" -#: InvenTree/models.py:893 common/models.py:2714 common/models.py:3112 -#: common/serializers.py:403 company/models.py:614 label/models.py:120 -#: machine/models.py:24 part/models.py:855 part/models.py:3616 -#: plugin/models.py:41 report/models.py:176 stock/models.py:76 +#: InvenTree/models.py:907 common/models.py:2720 common/models.py:3118 +#: common/serializers.py:403 company/models.py:614 machine/models.py:24 +#: part/models.py:898 part/models.py:3659 plugin/models.py:50 +#: report/models.py:149 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -503,22 +503,22 @@ msgstr "Érvénytelen választás" #: templates/js/translated/company.js:1165 #: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186 #: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2719 +#: templates/js/translated/part.js:2748 templates/js/translated/stock.js:2716 msgid "Name" msgstr "Név" -#: InvenTree/models.py:899 build/models.py:194 +#: InvenTree/models.py:913 build/models.py:217 #: build/templates/build/detail.html:24 common/models.py:136 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 label/models.py:127 -#: order/models.py:277 order/models.py:1316 part/admin.py:303 part/admin.py:414 -#: part/models.py:878 part/models.py:3631 part/templates/part/category.html:82 +#: company/templates/company/supplier_part.html:107 order/models.py:290 +#: order/models.py:1356 part/admin.py:305 part/admin.py:416 part/models.py:921 +#: part/models.py:3674 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 -#: part/templates/part/part_scheduling.html:12 report/models.py:189 -#: report/models.py:655 report/models.py:729 -#: report/templates/report/inventree_build_order_base.html:117 +#: part/templates/part/part_scheduling.html:12 report/models.py:155 +#: report/models.py:510 report/models.py:536 +#: report/templates/report/inventree_build_order_report.html:117 #: stock/admin.py:55 stock/models.py:82 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 @@ -530,71 +530,71 @@ msgstr "Név" #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 -#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2896 +#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2354 +#: templates/js/translated/part.js:2784 templates/js/translated/part.js:2895 #: templates/js/translated/plugin.js:80 -#: templates/js/translated/purchase_order.js:1707 -#: templates/js/translated/purchase_order.js:1850 -#: templates/js/translated/purchase_order.js:2023 -#: templates/js/translated/return_order.js:314 -#: templates/js/translated/sales_order.js:802 -#: templates/js/translated/sales_order.js:1812 -#: templates/js/translated/stock.js:1515 templates/js/translated/stock.js:2060 -#: templates/js/translated/stock.js:2751 templates/js/translated/stock.js:2834 +#: templates/js/translated/purchase_order.js:1706 +#: templates/js/translated/purchase_order.js:1849 +#: templates/js/translated/purchase_order.js:2022 +#: templates/js/translated/return_order.js:313 +#: templates/js/translated/sales_order.js:838 +#: templates/js/translated/sales_order.js:1848 +#: templates/js/translated/stock.js:1515 templates/js/translated/stock.js:2058 +#: templates/js/translated/stock.js:2748 templates/js/translated/stock.js:2831 msgid "Description" msgstr "Leírás" -#: InvenTree/models.py:900 stock/models.py:83 +#: InvenTree/models.py:914 stock/models.py:83 msgid "Description (optional)" msgstr "Leírás (opcionális)" -#: InvenTree/models.py:909 +#: InvenTree/models.py:923 msgid "parent" msgstr "szülő" -#: InvenTree/models.py:915 templates/js/translated/part.js:2794 -#: templates/js/translated/stock.js:2760 +#: InvenTree/models.py:929 templates/js/translated/part.js:2793 +#: templates/js/translated/stock.js:2757 msgid "Path" msgstr "Elérési út" -#: InvenTree/models.py:1021 +#: InvenTree/models.py:1035 msgid "Markdown notes (optional)" msgstr "Markdown megjegyzések (opcionális)" -#: InvenTree/models.py:1050 +#: InvenTree/models.py:1064 msgid "Barcode Data" msgstr "Vonalkód adat" -#: InvenTree/models.py:1051 +#: InvenTree/models.py:1065 msgid "Third party barcode data" msgstr "Harmadik féltől származó vonalkód adat" -#: InvenTree/models.py:1057 +#: InvenTree/models.py:1071 msgid "Barcode Hash" msgstr "Vonalkód hash" -#: InvenTree/models.py:1058 +#: InvenTree/models.py:1072 msgid "Unique hash of barcode data" msgstr "Egyedi vonalkód hash" -#: InvenTree/models.py:1111 +#: InvenTree/models.py:1125 msgid "Existing barcode found" msgstr "Létező vonalkód" -#: InvenTree/models.py:1154 +#: InvenTree/models.py:1168 msgid "Server Error" msgstr "Kiszolgálóhiba" -#: InvenTree/models.py:1155 +#: InvenTree/models.py:1169 msgid "An error has been logged by the server." msgstr "A kiszolgáló egy hibaüzenetet rögzített." -#: InvenTree/serializers.py:62 part/models.py:4169 +#: InvenTree/serializers.py:62 part/models.py:4212 msgid "Must be a valid number" msgstr "Érvényes számnak kell lennie" #: InvenTree/serializers.py:99 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:2993 +#: company/templates/company/company_base.html:112 part/models.py:3036 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -686,7 +686,7 @@ msgstr "A távoli kép URL-je" msgid "Downloading images from remote URL is not enabled" msgstr "Képek letöltése távoli URL-ről nem engedélyezett" -#: InvenTree/status.py:66 part/serializers.py:1161 +#: InvenTree/status.py:66 part/serializers.py:1176 msgid "Background worker check failed" msgstr "Háttér folyamat ellenőrzés sikertelen" @@ -699,8 +699,8 @@ msgid "InvenTree system health checks failed" msgstr "InvenTree rendszer állapotának ellenőrzése sikertelen" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:37 -#: InvenTree/status_codes.py:148 InvenTree/status_codes.py:164 -#: InvenTree/status_codes.py:182 generic/states/tests.py:17 +#: InvenTree/status_codes.py:149 InvenTree/status_codes.py:165 +#: InvenTree/status_codes.py:183 generic/states/tests.py:17 #: templates/js/translated/table_filters.js:598 msgid "Pending" msgstr "Függőben" @@ -709,188 +709,188 @@ msgstr "Függőben" msgid "Placed" msgstr "Kiküldve" -#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:151 -#: InvenTree/status_codes.py:169 generic/states/tests.py:19 -#: order/templates/order/order_base.html:158 -#: order/templates/order/sales_order_base.html:161 +#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:44 +#: InvenTree/status_codes.py:152 InvenTree/status_codes.py:170 +#: generic/states/tests.py:19 order/templates/order/order_base.html:158 +#: order/templates/order/sales_order_base.html:165 report/models.py:444 msgid "Complete" msgstr "Kész" -#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:44 -#: InvenTree/status_codes.py:150 InvenTree/status_codes.py:170 +#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:45 +#: InvenTree/status_codes.py:151 InvenTree/status_codes.py:171 msgid "Cancelled" msgstr "Törölve" -#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:45 -#: InvenTree/status_codes.py:67 +#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:46 +#: InvenTree/status_codes.py:68 msgid "Lost" msgstr "Elveszett" -#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:46 -#: InvenTree/status_codes.py:73 +#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:47 +#: InvenTree/status_codes.py:74 msgid "Returned" msgstr "Visszaküldve" -#: InvenTree/status_codes.py:40 InvenTree/status_codes.py:167 +#: InvenTree/status_codes.py:40 InvenTree/status_codes.py:168 msgid "In Progress" msgstr "Folyamatban" -#: InvenTree/status_codes.py:43 order/models.py:1566 -#: templates/js/translated/sales_order.js:1523 -#: templates/js/translated/sales_order.js:1644 -#: templates/js/translated/sales_order.js:1957 +#: InvenTree/status_codes.py:43 order/models.py:1606 +#: templates/js/translated/sales_order.js:1559 +#: templates/js/translated/sales_order.js:1680 +#: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "Kiszállítva" -#: InvenTree/status_codes.py:62 +#: InvenTree/status_codes.py:63 msgid "OK" msgstr "Rendben" -#: InvenTree/status_codes.py:63 +#: InvenTree/status_codes.py:64 msgid "Attention needed" msgstr "Ellenőrizendő" -#: InvenTree/status_codes.py:64 +#: InvenTree/status_codes.py:65 msgid "Damaged" msgstr "Sérült" -#: InvenTree/status_codes.py:65 +#: InvenTree/status_codes.py:66 msgid "Destroyed" msgstr "Megsemmisült" -#: InvenTree/status_codes.py:66 +#: InvenTree/status_codes.py:67 msgid "Rejected" msgstr "Elutasított" -#: InvenTree/status_codes.py:70 +#: InvenTree/status_codes.py:71 msgid "Quarantined" msgstr "Karanténban" -#: InvenTree/status_codes.py:91 +#: InvenTree/status_codes.py:92 msgid "Legacy stock tracking entry" msgstr "Örökölt készlet követési bejegyzés" -#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:544 +#: InvenTree/status_codes.py:94 templates/js/translated/stock.js:544 msgid "Stock item created" msgstr "Készlet tétel létrehozva" -#: InvenTree/status_codes.py:96 +#: InvenTree/status_codes.py:97 msgid "Edited stock item" msgstr "Szerkeszett készlet tétel" -#: InvenTree/status_codes.py:97 +#: InvenTree/status_codes.py:98 msgid "Assigned serial number" msgstr "Hozzárendelt sorozatszám" -#: InvenTree/status_codes.py:100 +#: InvenTree/status_codes.py:101 msgid "Stock counted" msgstr "Készlet leleltározva" -#: InvenTree/status_codes.py:101 +#: InvenTree/status_codes.py:102 msgid "Stock manually added" msgstr "Készlet manuálisan hozzáadva" -#: InvenTree/status_codes.py:102 +#: InvenTree/status_codes.py:103 msgid "Stock manually removed" msgstr "Készlet manuálisan elvéve" -#: InvenTree/status_codes.py:105 +#: InvenTree/status_codes.py:106 msgid "Location changed" msgstr "Hely megváltozott" -#: InvenTree/status_codes.py:106 +#: InvenTree/status_codes.py:107 msgid "Stock updated" msgstr "Készletadatok frissítve" -#: InvenTree/status_codes.py:109 +#: InvenTree/status_codes.py:110 msgid "Installed into assembly" msgstr "Gyártmányba beépült" -#: InvenTree/status_codes.py:110 +#: InvenTree/status_codes.py:111 msgid "Removed from assembly" msgstr "Gyártmányból eltávolítva" -#: InvenTree/status_codes.py:112 +#: InvenTree/status_codes.py:113 msgid "Installed component item" msgstr "Beépült összetevő tétel" -#: InvenTree/status_codes.py:113 +#: InvenTree/status_codes.py:114 msgid "Removed component item" msgstr "Eltávolított összetevő tétel" -#: InvenTree/status_codes.py:116 +#: InvenTree/status_codes.py:117 msgid "Split from parent item" msgstr "Szülő tételből szétválasztva" -#: InvenTree/status_codes.py:117 +#: InvenTree/status_codes.py:118 msgid "Split child item" msgstr "Szétválasztott gyermek tétel" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1858 +#: InvenTree/status_codes.py:121 templates/js/translated/stock.js:1858 msgid "Merged stock items" msgstr "Összevont készlet tétel" -#: InvenTree/status_codes.py:123 +#: InvenTree/status_codes.py:124 msgid "Converted to variant" msgstr "Alkatrészváltozattá alakítva" -#: InvenTree/status_codes.py:126 +#: InvenTree/status_codes.py:127 msgid "Build order output created" msgstr "Gyártási utasítás kimenete elkészült" -#: InvenTree/status_codes.py:127 +#: InvenTree/status_codes.py:128 msgid "Build order output completed" msgstr "Gyártási utasítás kimenete kész" -#: InvenTree/status_codes.py:128 +#: InvenTree/status_codes.py:129 msgid "Build order output rejected" msgstr "Gyártási utasítás kimenete elutasítva" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1764 +#: InvenTree/status_codes.py:130 templates/js/translated/stock.js:1764 msgid "Consumed by build order" msgstr "Gyártásra felhasználva" -#: InvenTree/status_codes.py:132 +#: InvenTree/status_codes.py:133 msgid "Shipped against Sales Order" msgstr "Vevői rendelésre kiszállítva" -#: InvenTree/status_codes.py:135 +#: InvenTree/status_codes.py:136 msgid "Received against Purchase Order" msgstr "Megrendelésre érkezett" -#: InvenTree/status_codes.py:138 +#: InvenTree/status_codes.py:139 msgid "Returned against Return Order" msgstr "Visszavéve" -#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:375 +#: InvenTree/status_codes.py:142 templates/js/translated/table_filters.js:375 msgid "Sent to customer" msgstr "Vevőnek kiszállítva" -#: InvenTree/status_codes.py:142 +#: InvenTree/status_codes.py:143 msgid "Returned from customer" msgstr "Vevőtől visszaérkezett" -#: InvenTree/status_codes.py:149 +#: InvenTree/status_codes.py:150 msgid "Production" msgstr "Folyamatban" -#: InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:186 msgid "Return" msgstr "Visszavétel" -#: InvenTree/status_codes.py:188 +#: InvenTree/status_codes.py:189 msgid "Repair" msgstr "Javítás" -#: InvenTree/status_codes.py:191 +#: InvenTree/status_codes.py:192 msgid "Replace" msgstr "Csere" -#: InvenTree/status_codes.py:194 +#: InvenTree/status_codes.py:195 msgid "Refund" msgstr "Visszatérítés" -#: InvenTree/status_codes.py:197 +#: InvenTree/status_codes.py:198 msgid "Reject" msgstr "Elutasított" @@ -946,14 +946,14 @@ msgstr "Verzió információk" msgid "Build must be cancelled before it can be deleted" msgstr "A gyártást be kell fejezni a törlés előtt" -#: build/api.py:299 part/models.py:4047 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4090 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "Fogyóeszköz" -#: build/api.py:300 part/models.py:4041 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4084 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -969,7 +969,7 @@ msgstr "Követett" #: build/api.py:303 part/admin.py:144 templates/js/translated/build.js:1744 #: templates/js/translated/build.js:2629 -#: templates/js/translated/sales_order.js:1929 +#: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "Lefoglalva" @@ -980,7 +980,7 @@ msgstr "Lefoglalva" #: templates/email/low_stock_notification.html:17 #: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 #: templates/js/translated/index.js:123 -#: templates/js/translated/model_renderers.js:228 +#: templates/js/translated/model_renderers.js:234 #: templates/js/translated/part.js:692 templates/js/translated/part.js:694 #: templates/js/translated/part.js:699 #: templates/js/translated/table_filters.js:340 @@ -988,16 +988,16 @@ msgstr "Lefoglalva" msgid "Available" msgstr "Elérhető" -#: build/models.py:74 build/templates/build/build_base.html:9 +#: build/models.py:82 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 -#: report/templates/report/inventree_build_order_base.html:105 -#: templates/email/build_order_completed.html:16 +#: report/templates/report/inventree_build_order_report.html:105 +#: stock/serializers.py:83 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2895 +#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2892 msgid "Build Order" msgstr "Gyártási utasítás" -#: build/models.py:75 build/templates/build/build_base.html:13 +#: build/models.py:83 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -1008,71 +1008,71 @@ msgstr "Gyártási utasítás" msgid "Build Orders" msgstr "Gyártási utasítások" -#: build/models.py:122 +#: build/models.py:130 msgid "Invalid choice for parent build" msgstr "Hibás választás a szülő gyártásra" -#: build/models.py:133 order/models.py:239 +#: build/models.py:141 order/models.py:241 msgid "Responsible user or group must be specified" msgstr "Meg kell adni felelős felhasználót vagy csoportot" -#: build/models.py:139 +#: build/models.py:147 msgid "Build order part cannot be changed" msgstr "Gyártási rendelés alkatrész nem változtatható" -#: build/models.py:185 +#: build/models.py:208 msgid "Build Order Reference" msgstr "Gyártási utasítás azonosító" -#: build/models.py:186 order/models.py:442 order/models.py:898 -#: order/models.py:1276 order/models.py:1998 part/admin.py:417 -#: part/models.py:4062 part/templates/part/upload_bom.html:54 +#: build/models.py:209 order/models.py:464 order/models.py:929 +#: order/models.py:1316 order/models.py:2047 part/admin.py:419 +#: part/models.py:4105 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 -#: report/templates/report/inventree_so_report_base.html:28 +#: report/templates/report/inventree_purchase_order_report.html:28 +#: report/templates/report/inventree_return_order_report.html:26 +#: report/templates/report/inventree_sales_order_report.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 #: templates/js/translated/build.js:2512 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 -#: templates/js/translated/purchase_order.js:2066 -#: templates/js/translated/return_order.js:729 -#: templates/js/translated/sales_order.js:1818 +#: templates/js/translated/purchase_order.js:2065 +#: templates/js/translated/return_order.js:728 +#: templates/js/translated/sales_order.js:1854 msgid "Reference" msgstr "Azonosító" -#: build/models.py:197 +#: build/models.py:220 msgid "Brief description of the build (optional)" msgstr "Gyártás rövid leírása (opcionális)" -#: build/models.py:205 build/templates/build/build_base.html:183 +#: build/models.py:228 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Szülő gyártás" -#: build/models.py:206 +#: build/models.py:229 msgid "BuildOrder to which this build is allocated" msgstr "Gyártás, amihez ez a gyártás hozzá van rendelve" -#: build/models.py:211 build/templates/build/build_base.html:97 +#: build/models.py:234 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 -#: order/models.py:1401 order/models.py:1546 order/models.py:1547 -#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004 -#: part/models.py:3148 part/models.py:3292 part/models.py:3315 -#: part/models.py:3336 part/models.py:3358 part/models.py:3468 -#: part/models.py:3764 part/models.py:3920 part/models.py:4013 -#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713 +#: order/models.py:1441 order/models.py:1586 order/models.py:1587 +#: part/api.py:1501 part/api.py:1795 part/models.py:392 part/models.py:3047 +#: part/models.py:3191 part/models.py:3335 part/models.py:3358 +#: part/models.py:3379 part/models.py:3401 part/models.py:3511 +#: part/models.py:3807 part/models.py:3963 part/models.py:4056 +#: part/models.py:4417 part/serializers.py:1122 part/serializers.py:1728 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 -#: report/templates/report/inventree_build_order_base.html:109 -#: report/templates/report/inventree_po_report_base.html:27 -#: report/templates/report/inventree_return_order_report_base.html:24 -#: report/templates/report/inventree_slr_report.html:102 -#: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:267 stock/serializers.py:689 -#: templates/InvenTree/search.html:82 +#: report/templates/report/inventree_build_order_report.html:109 +#: report/templates/report/inventree_purchase_order_report.html:27 +#: report/templates/report/inventree_return_order_report.html:24 +#: report/templates/report/inventree_sales_order_report.html:27 +#: report/templates/report/inventree_stock_location_report.html:102 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:396 +#: stock/serializers.py:818 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -1086,235 +1086,239 @@ msgstr "Gyártás, amihez ez a gyártás hozzá van rendelve" #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 #: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 -#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:2323 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:751 #: templates/js/translated/purchase_order.js:1304 -#: templates/js/translated/purchase_order.js:1849 -#: templates/js/translated/purchase_order.js:2008 -#: templates/js/translated/return_order.js:539 -#: templates/js/translated/return_order.js:710 +#: templates/js/translated/purchase_order.js:1848 +#: templates/js/translated/purchase_order.js:2007 +#: templates/js/translated/return_order.js:538 +#: templates/js/translated/return_order.js:709 #: templates/js/translated/sales_order.js:300 -#: templates/js/translated/sales_order.js:1197 -#: templates/js/translated/sales_order.js:1598 -#: templates/js/translated/sales_order.js:1796 +#: templates/js/translated/sales_order.js:1233 +#: templates/js/translated/sales_order.js:1634 +#: templates/js/translated/sales_order.js:1832 #: templates/js/translated/stock.js:676 templates/js/translated/stock.js:842 -#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1999 -#: templates/js/translated/stock.js:2860 templates/js/translated/stock.js:3093 -#: templates/js/translated/stock.js:3239 +#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1997 +#: templates/js/translated/stock.js:2857 templates/js/translated/stock.js:3090 +#: templates/js/translated/stock.js:3236 msgid "Part" msgstr "Alkatrész" -#: build/models.py:219 +#: build/models.py:242 msgid "Select part to build" msgstr "Válassz alkatrészt a gyártáshoz" -#: build/models.py:224 +#: build/models.py:247 msgid "Sales Order Reference" msgstr "Vevői rendelés azonosító" -#: build/models.py:228 +#: build/models.py:251 msgid "SalesOrder to which this build is allocated" msgstr "Vevői rendelés amihez ez a gyártás hozzá van rendelve" -#: build/models.py:233 build/serializers.py:970 +#: build/models.py:256 build/serializers.py:969 #: templates/js/translated/build.js:1731 -#: templates/js/translated/sales_order.js:1185 +#: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "Forrás hely" -#: build/models.py:237 +#: build/models.py:260 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Válassz helyet ahonnan készletet vegyünk el ehhez a gyártáshoz (hagyd üresen ha bárhonnan)" -#: build/models.py:242 +#: build/models.py:265 msgid "Destination Location" msgstr "Cél hely" -#: build/models.py:246 +#: build/models.py:269 msgid "Select location where the completed items will be stored" msgstr "Válassz helyet ahol a kész tételek tárolva lesznek" -#: build/models.py:250 +#: build/models.py:273 msgid "Build Quantity" msgstr "Gyártási mennyiség" -#: build/models.py:253 +#: build/models.py:276 msgid "Number of stock items to build" msgstr "Gyártandó készlet tételek száma" -#: build/models.py:257 +#: build/models.py:280 msgid "Completed items" msgstr "Kész tételek" -#: build/models.py:259 +#: build/models.py:282 msgid "Number of stock items which have been completed" msgstr "Elkészült készlet tételek száma" -#: build/models.py:263 +#: build/models.py:286 msgid "Build Status" msgstr "Gyártási állapot" -#: build/models.py:267 +#: build/models.py:290 msgid "Build status code" msgstr "Gyártás státusz kód" -#: build/models.py:276 build/serializers.py:278 order/serializers.py:581 -#: stock/models.py:823 stock/serializers.py:1333 +#: build/models.py:299 build/serializers.py:277 order/serializers.py:581 +#: stock/models.py:844 stock/serializers.py:75 stock/serializers.py:1462 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Batch kód" -#: build/models.py:280 build/serializers.py:279 +#: build/models.py:303 build/serializers.py:278 msgid "Batch code for this build output" msgstr "Batch kód a gyártás kimenetéhez" -#: build/models.py:283 order/models.py:304 order/serializers.py:120 -#: part/models.py:1079 part/templates/part/part_base.html:310 -#: templates/js/translated/return_order.js:339 -#: templates/js/translated/sales_order.js:827 +#: build/models.py:306 order/models.py:317 order/serializers.py:120 +#: part/models.py:1122 part/templates/part/part_base.html:310 +#: templates/js/translated/return_order.js:338 +#: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "Létrehozás dátuma" -#: build/models.py:287 +#: build/models.py:310 msgid "Target completion date" msgstr "Befejezés cél dátuma" -#: build/models.py:288 +#: build/models.py:311 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:291 order/models.py:500 order/models.py:2043 +#: build/models.py:314 order/models.py:522 order/models.py:2092 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "Befejezés dátuma" -#: build/models.py:297 +#: build/models.py:320 msgid "completed by" msgstr "elkészítette" -#: build/models.py:305 templates/js/translated/build.js:2207 +#: build/models.py:328 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "Indította" -#: build/models.py:306 +#: build/models.py:329 msgid "User who issued this build order" msgstr "Felhasználó aki ezt a gyártási utasítást kiállította" -#: build/models.py:314 build/templates/build/build_base.html:204 +#: build/models.py:337 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:145 -#: order/models.py:322 order/templates/order/order_base.html:217 +#: order/models.py:335 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1096 +#: order/templates/order/sales_order_base.html:232 part/models.py:1139 #: part/templates/part/part_base.html:390 -#: report/templates/report/inventree_build_order_base.html:158 +#: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 #: templates/js/translated/build.js:2219 -#: templates/js/translated/purchase_order.js:1764 -#: templates/js/translated/return_order.js:359 +#: templates/js/translated/purchase_order.js:1763 +#: templates/js/translated/return_order.js:358 #: templates/js/translated/table_filters.js:531 msgid "Responsible" msgstr "Felelős" -#: build/models.py:315 +#: build/models.py:338 msgid "User or group responsible for this build order" msgstr "Felhasználó vagy csoport aki felelős ezért a gyártásért" -#: build/models.py:320 build/templates/build/detail.html:108 +#: build/models.py:343 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 -#: order/templates/order/sales_order_base.html:180 -#: part/templates/part/part_base.html:383 stock/models.py:819 +#: order/templates/order/sales_order_base.html:184 +#: part/templates/part/part_base.html:383 stock/models.py:840 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "Külső link" -#: build/models.py:325 +#: build/models.py:348 msgid "Build Priority" msgstr "Priorítás" -#: build/models.py:328 +#: build/models.py:351 msgid "Priority of this build order" msgstr "Gyártási utasítás priorítása" -#: build/models.py:335 common/models.py:129 order/admin.py:18 -#: order/models.py:286 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:358 common/models.py:129 order/admin.py:18 +#: order/models.py:299 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 -#: templates/js/translated/purchase_order.js:1711 -#: templates/js/translated/return_order.js:318 -#: templates/js/translated/sales_order.js:806 +#: templates/js/translated/purchase_order.js:1710 +#: templates/js/translated/return_order.js:317 +#: templates/js/translated/sales_order.js:842 #: templates/js/translated/table_filters.js:48 #: templates/project_code_data.html:6 msgid "Project Code" msgstr "Projektszám" -#: build/models.py:336 +#: build/models.py:359 msgid "Project code for this build order" msgstr "Projekt kód a gyártáshoz" -#: build/models.py:566 build/models.py:631 +#: build/models.py:589 build/models.py:654 msgid "Failed to offload task to complete build allocations" msgstr "A gyártási foglalások teljesítése háttérfeladat elvégzése nem sikerült" -#: build/models.py:588 +#: build/models.py:611 #, python-brace-format msgid "Build order {build} has been completed" msgstr "A {build} gyártási utasítás elkészült" -#: build/models.py:594 +#: build/models.py:617 msgid "A build order has been completed" msgstr "Gyártási utasítás elkészült" -#: build/models.py:820 build/models.py:895 +#: build/models.py:843 build/models.py:918 msgid "No build output specified" msgstr "Nincs gyártási kimenet megadva" -#: build/models.py:823 +#: build/models.py:846 msgid "Build output is already completed" msgstr "Gyártási kimenet már kész" -#: build/models.py:826 +#: build/models.py:849 msgid "Build output does not match Build Order" msgstr "Gyártási kimenet nem egyezik a gyártási utasítással" -#: build/models.py:899 build/serializers.py:221 build/serializers.py:260 -#: build/serializers.py:837 order/models.py:538 order/serializers.py:433 -#: order/serializers.py:576 part/serializers.py:1471 part/serializers.py:1871 -#: stock/models.py:662 stock/models.py:1482 stock/serializers.py:472 +#: build/models.py:922 build/serializers.py:220 build/serializers.py:259 +#: build/serializers.py:836 order/models.py:560 order/serializers.py:433 +#: order/serializers.py:576 part/serializers.py:1486 part/serializers.py:1886 +#: stock/models.py:683 stock/models.py:1503 stock/serializers.py:601 msgid "Quantity must be greater than zero" msgstr "Mennyiségnek nullánál többnek kell lennie" -#: build/models.py:904 build/serializers.py:226 +#: build/models.py:927 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "A mennyiség nem lehet több mint a gyártási mennyiség" -#: build/models.py:961 build/serializers.py:539 +#: build/models.py:984 build/serializers.py:538 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "A {serial} gyártási kimenet nem felelt meg az összes kötelező teszten" -#: build/models.py:1323 +#: build/models.py:1335 +msgid "Build Order Line Item" +msgstr "" + +#: build/models.py:1360 msgid "Build object" msgstr "Gyártás objektum" -#: build/models.py:1337 build/models.py:1593 build/serializers.py:208 -#: build/serializers.py:245 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2524 -#: order/models.py:1259 order/models.py:1918 order/serializers.py:1339 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 -#: part/forms.py:48 part/models.py:3162 part/models.py:4035 +#: build/models.py:1374 build/models.py:1630 build/serializers.py:207 +#: build/serializers.py:244 build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2530 +#: order/models.py:1299 order/models.py:1958 order/serializers.py:1339 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 +#: part/forms.py:48 part/models.py:3205 part/models.py:4078 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 -#: report/templates/report/inventree_build_order_base.html:113 -#: report/templates/report/inventree_po_report_base.html:29 -#: report/templates/report/inventree_slr_report.html:104 -#: report/templates/report/inventree_so_report_base.html:29 -#: report/templates/report/inventree_test_report_base.html:90 -#: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:160 stock/serializers.py:463 +#: report/templates/report/inventree_build_order_report.html:113 +#: report/templates/report/inventree_purchase_order_report.html:29 +#: report/templates/report/inventree_sales_order_report.html:29 +#: report/templates/report/inventree_stock_location_report.html:104 +#: report/templates/report/inventree_test_report.html:90 +#: report/templates/report/inventree_test_report.html:170 stock/admin.py:160 +#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:592 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1324,381 +1328,382 @@ msgstr "Gyártás objektum" #: templates/js/translated/build.js:737 templates/js/translated/build.js:1369 #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 -#: templates/js/translated/model_renderers.js:230 +#: templates/js/translated/model_renderers.js:236 #: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3341 +#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3340 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 #: templates/js/translated/purchase_order.js:754 -#: templates/js/translated/purchase_order.js:1853 -#: templates/js/translated/purchase_order.js:2072 +#: templates/js/translated/purchase_order.js:1852 +#: templates/js/translated/purchase_order.js:2071 #: templates/js/translated/sales_order.js:317 -#: templates/js/translated/sales_order.js:1199 -#: templates/js/translated/sales_order.js:1518 -#: templates/js/translated/sales_order.js:1608 -#: templates/js/translated/sales_order.js:1698 -#: templates/js/translated/sales_order.js:1824 +#: templates/js/translated/sales_order.js:1235 +#: templates/js/translated/sales_order.js:1554 +#: templates/js/translated/sales_order.js:1644 +#: templates/js/translated/sales_order.js:1734 +#: templates/js/translated/sales_order.js:1860 #: templates/js/translated/stock.js:564 templates/js/translated/stock.js:702 -#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:3024 -#: templates/js/translated/stock.js:3107 +#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:3021 +#: templates/js/translated/stock.js:3104 msgid "Quantity" msgstr "Mennyiség" -#: build/models.py:1338 +#: build/models.py:1375 msgid "Required quantity for build order" msgstr "Gyártáshoz szükséges mennyiség" -#: build/models.py:1418 +#: build/models.py:1455 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Gyártási tételnek meg kell adnia a gyártási kimenetet, mivel a fő darab egyedi követésre kötelezett" -#: build/models.py:1427 +#: build/models.py:1464 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "A lefoglalt mennyiség ({q}) nem lépheti túl a szabad készletet ({a})" -#: build/models.py:1437 order/models.py:1869 +#: build/models.py:1474 order/models.py:1909 msgid "Stock item is over-allocated" msgstr "Készlet túlfoglalva" -#: build/models.py:1443 order/models.py:1872 +#: build/models.py:1480 order/models.py:1912 msgid "Allocation quantity must be greater than zero" msgstr "Lefoglalt mennyiségnek nullánál többnek kell lennie" -#: build/models.py:1449 +#: build/models.py:1486 msgid "Quantity must be 1 for serialized stock" msgstr "Egyedi követésre kötelezett tételeknél a menyiség 1 kell legyen" -#: build/models.py:1508 +#: build/models.py:1545 msgid "Selected stock item does not match BOM line" msgstr "A készlet tétel nem egyezik az alkatrészjegyzékkel" -#: build/models.py:1580 build/serializers.py:817 order/serializers.py:1183 -#: order/serializers.py:1204 stock/serializers.py:566 stock/serializers.py:1052 -#: stock/serializers.py:1164 stock/templates/stock/item_base.html:10 +#: build/models.py:1617 build/serializers.py:816 order/serializers.py:1183 +#: order/serializers.py:1204 stock/models.py:364 stock/serializers.py:92 +#: stock/serializers.py:695 stock/serializers.py:1181 stock/serializers.py:1293 +#: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 #: templates/js/translated/build.js:1745 #: templates/js/translated/sales_order.js:301 -#: templates/js/translated/sales_order.js:1198 -#: templates/js/translated/sales_order.js:1499 -#: templates/js/translated/sales_order.js:1504 -#: templates/js/translated/sales_order.js:1605 -#: templates/js/translated/sales_order.js:1692 +#: templates/js/translated/sales_order.js:1234 +#: templates/js/translated/sales_order.js:1535 +#: templates/js/translated/sales_order.js:1540 +#: templates/js/translated/sales_order.js:1641 +#: templates/js/translated/sales_order.js:1728 #: templates/js/translated/stock.js:677 templates/js/translated/stock.js:843 -#: templates/js/translated/stock.js:2980 +#: templates/js/translated/stock.js:2977 msgid "Stock Item" msgstr "Készlet tétel" -#: build/models.py:1581 +#: build/models.py:1618 msgid "Source stock item" msgstr "Forrás készlet tétel" -#: build/models.py:1594 +#: build/models.py:1631 msgid "Stock quantity to allocate to build" msgstr "Készlet mennyiség amit foglaljunk a gyártáshoz" -#: build/models.py:1602 +#: build/models.py:1639 msgid "Install into" msgstr "Beépítés ebbe" -#: build/models.py:1603 +#: build/models.py:1640 msgid "Destination stock item" msgstr "Cél készlet tétel" -#: build/serializers.py:158 build/serializers.py:846 +#: build/serializers.py:157 build/serializers.py:845 #: templates/js/translated/build.js:1322 msgid "Build Output" msgstr "Gyártás kimenet" -#: build/serializers.py:170 +#: build/serializers.py:169 msgid "Build output does not match the parent build" msgstr "Gyártási kimenet nem egyezik a szülő gyártással" -#: build/serializers.py:174 +#: build/serializers.py:173 msgid "Output part does not match BuildOrder part" msgstr "Kimeneti alkatrész nem egyezik a gyártási utasításban lévő alkatrésszel" -#: build/serializers.py:178 +#: build/serializers.py:177 msgid "This build output has already been completed" msgstr "Ez a gyártási kimenet már elkészült" -#: build/serializers.py:189 +#: build/serializers.py:188 msgid "This build output is not fully allocated" msgstr "Ez a gyártási kimenet nincs teljesen lefoglalva" -#: build/serializers.py:209 build/serializers.py:246 +#: build/serializers.py:208 build/serializers.py:245 msgid "Enter quantity for build output" msgstr "Add meg a mennyiséget a gyártás kimenetéhez" -#: build/serializers.py:267 +#: build/serializers.py:266 msgid "Integer quantity required for trackable parts" msgstr "Egész számú mennyiség szükséges az egyedi követésre kötelezett alkatrészeknél" -#: build/serializers.py:270 +#: build/serializers.py:269 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:285 order/serializers.py:589 order/serializers.py:1343 -#: stock/serializers.py:483 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:284 order/serializers.py:589 order/serializers.py:1343 +#: stock/serializers.py:612 templates/js/translated/purchase_order.js:1153 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "Sorozatszámok" -#: build/serializers.py:286 +#: build/serializers.py:285 msgid "Enter serial numbers for build outputs" msgstr "Add meg a sorozatszámokat a gyártás kimenetéhez" -#: build/serializers.py:291 build/serializers.py:432 build/serializers.py:504 +#: build/serializers.py:290 build/serializers.py:431 build/serializers.py:503 #: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1679 -#: part/serializers.py:1127 stock/serializers.py:494 stock/serializers.py:654 -#: stock/serializers.py:750 stock/serializers.py:1196 stock/serializers.py:1452 -#: stock/templates/stock/item_base.html:394 +#: part/serializers.py:1142 stock/serializers.py:101 stock/serializers.py:623 +#: stock/serializers.py:783 stock/serializers.py:879 stock/serializers.py:1325 +#: stock/serializers.py:1581 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 #: templates/js/translated/purchase_order.js:1178 #: templates/js/translated/purchase_order.js:1268 -#: templates/js/translated/sales_order.js:1511 -#: templates/js/translated/sales_order.js:1619 -#: templates/js/translated/sales_order.js:1627 -#: templates/js/translated/sales_order.js:1706 +#: templates/js/translated/sales_order.js:1547 +#: templates/js/translated/sales_order.js:1655 +#: templates/js/translated/sales_order.js:1663 +#: templates/js/translated/sales_order.js:1742 #: templates/js/translated/stock.js:678 templates/js/translated/stock.js:844 -#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2203 -#: templates/js/translated/stock.js:2874 +#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2201 +#: templates/js/translated/stock.js:2871 msgid "Location" msgstr "Hely" -#: build/serializers.py:292 +#: build/serializers.py:291 msgid "Stock location for build output" msgstr "Legyártott készlet helye" -#: build/serializers.py:306 +#: build/serializers.py:305 msgid "Auto Allocate Serial Numbers" msgstr "Sorozatszámok automatikus hozzárendelése" -#: build/serializers.py:307 +#: build/serializers.py:306 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:322 +#: build/serializers.py:321 msgid "Serial numbers must be provided for trackable parts" msgstr "Egyedi követésre jelölt alkatrészeknél kötelező sorozatszámot megadni" -#: build/serializers.py:347 stock/api.py:995 +#: build/serializers.py:346 stock/api.py:1029 msgid "The following serial numbers already exist or are invalid" msgstr "A következő sorozatszámok már léteznek vagy nem megfelelőek" -#: build/serializers.py:394 build/serializers.py:456 build/serializers.py:545 +#: build/serializers.py:393 build/serializers.py:455 build/serializers.py:544 msgid "A list of build outputs must be provided" msgstr "A gyártási kimenetek listáját meg kell adni" -#: build/serializers.py:433 +#: build/serializers.py:432 msgid "Stock location for scrapped outputs" msgstr "Selejtezet gyártási kimenetek helye" -#: build/serializers.py:439 +#: build/serializers.py:438 msgid "Discard Allocations" msgstr "Foglalások törlése" -#: build/serializers.py:440 +#: build/serializers.py:439 msgid "Discard any stock allocations for scrapped outputs" msgstr "Selejtezett kimenetek foglalásainak felszabadítása" -#: build/serializers.py:445 +#: build/serializers.py:444 msgid "Reason for scrapping build output(s)" msgstr "Selejtezés oka" -#: build/serializers.py:505 +#: build/serializers.py:504 msgid "Location for completed build outputs" msgstr "A kész gyártási kimenetek helye" -#: build/serializers.py:511 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:922 -#: order/models.py:2022 order/serializers.py:597 stock/admin.py:165 -#: stock/serializers.py:801 stock/serializers.py:1340 +#: build/serializers.py:510 build/templates/build/build_base.html:151 +#: build/templates/build/detail.html:62 order/models.py:953 +#: order/models.py:2071 order/serializers.py:597 stock/admin.py:165 +#: stock/serializers.py:930 stock/serializers.py:1469 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 -#: templates/js/translated/purchase_order.js:1723 -#: templates/js/translated/return_order.js:331 -#: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2178 templates/js/translated/stock.js:2998 -#: templates/js/translated/stock.js:3123 +#: templates/js/translated/purchase_order.js:1722 +#: templates/js/translated/return_order.js:330 +#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/stock.js:2176 templates/js/translated/stock.js:2995 +#: templates/js/translated/stock.js:3120 msgid "Status" msgstr "Állapot" -#: build/serializers.py:517 +#: build/serializers.py:516 msgid "Accept Incomplete Allocation" msgstr "Hiányos foglalás elfogadása" -#: build/serializers.py:518 +#: build/serializers.py:517 msgid "Complete outputs if stock has not been fully allocated" msgstr "Kimenetek befejezése akkor is ha a készlet nem\n" "lett teljesen lefoglalva" -#: build/serializers.py:598 +#: build/serializers.py:597 msgid "Consume Allocated Stock" msgstr "Lefoglalt készlet felhasználása" -#: build/serializers.py:599 +#: build/serializers.py:598 msgid "Consume any stock which has already been allocated to this build" msgstr "Az összes ehhez a gyártáshoz lefoglalt készlet felhasználása" -#: build/serializers.py:605 +#: build/serializers.py:604 msgid "Remove Incomplete Outputs" msgstr "Befejezetlen kimenetek törlése" -#: build/serializers.py:606 +#: build/serializers.py:605 msgid "Delete any build outputs which have not been completed" msgstr "A nem befejezett gyártási kimenetek törlése" -#: build/serializers.py:633 +#: build/serializers.py:632 msgid "Not permitted" msgstr "Nem engedélyezett" -#: build/serializers.py:634 +#: build/serializers.py:633 msgid "Accept as consumed by this build order" msgstr "Gyártásban fel lett használva" -#: build/serializers.py:635 +#: build/serializers.py:634 msgid "Deallocate before completing this build order" msgstr "Foglalás felszabadítása a készre jelentés előtt" -#: build/serializers.py:657 +#: build/serializers.py:656 msgid "Overallocated Stock" msgstr "Túlfoglalt készlet" -#: build/serializers.py:659 +#: build/serializers.py:658 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "Hogyan kezeljük az gyártáshoz rendelt egyéb készletet" -#: build/serializers.py:669 +#: build/serializers.py:668 msgid "Some stock items have been overallocated" msgstr "Pár készlet tétel túl lett foglalva" -#: build/serializers.py:674 +#: build/serializers.py:673 msgid "Accept Unallocated" msgstr "Kiosztatlanok elfogadása" -#: build/serializers.py:675 +#: build/serializers.py:674 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Fogadd el hogy a készlet tételek nincsenek teljesen lefoglalva ehhez a gyártási utastáshoz" -#: build/serializers.py:685 templates/js/translated/build.js:315 +#: build/serializers.py:684 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" msgstr "A szükséges készlet nem lett teljesen lefoglalva" -#: build/serializers.py:690 order/serializers.py:301 order/serializers.py:1246 +#: build/serializers.py:689 order/serializers.py:301 order/serializers.py:1246 msgid "Accept Incomplete" msgstr "Befejezetlenek elfogadása" -#: build/serializers.py:691 +#: build/serializers.py:690 msgid "Accept that the required number of build outputs have not been completed" msgstr "Fogadd el hogy a szükséges számú gyártási kimenet nem lett elérve" -#: build/serializers.py:701 templates/js/translated/build.js:319 +#: build/serializers.py:700 templates/js/translated/build.js:319 msgid "Required build quantity has not been completed" msgstr "Szükséges gyártási mennyiség nem lett elérve" -#: build/serializers.py:710 templates/js/translated/build.js:303 +#: build/serializers.py:709 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" msgstr "A gyártási utasítás befejezetlen kimeneteket tartalmaz" -#: build/serializers.py:740 +#: build/serializers.py:739 msgid "Build Line" msgstr "Gyártás sor" -#: build/serializers.py:750 +#: build/serializers.py:749 msgid "Build output" msgstr "Gyártás kimenet" -#: build/serializers.py:758 +#: build/serializers.py:757 msgid "Build output must point to the same build" msgstr "A gyártási kimenetnek ugyanarra a gyártásra kell mutatnia" -#: build/serializers.py:794 +#: build/serializers.py:793 msgid "Build Line Item" msgstr "Gyártás sor tétel" -#: build/serializers.py:808 +#: build/serializers.py:807 msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part ugyanarra az alkatrészre kell mutasson mint a gyártási utasítás" -#: build/serializers.py:823 stock/serializers.py:1065 +#: build/serializers.py:822 stock/serializers.py:1194 msgid "Item must be in stock" msgstr "A tételnek kell legyen készlete" -#: build/serializers.py:871 order/serializers.py:1237 +#: build/serializers.py:870 order/serializers.py:1237 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Rendelkezésre álló mennyiség ({q}) túllépve" -#: build/serializers.py:877 +#: build/serializers.py:876 msgid "Build output must be specified for allocation of tracked parts" msgstr "Gyártási kimenetet meg kell adni a követésre kötelezett alkatrészek lefoglalásához" -#: build/serializers.py:884 +#: build/serializers.py:883 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "Gyártási kimenetet nem lehet megadni a követésre kötelezett alkatrészek lefoglalásához" -#: build/serializers.py:908 order/serializers.py:1489 +#: build/serializers.py:907 order/serializers.py:1489 msgid "Allocation items must be provided" msgstr "A lefoglalandó tételeket meg kell adni" -#: build/serializers.py:971 +#: build/serializers.py:970 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "Készlet hely ahonnan az alkatrészek származnak (hagyd üresen ha bárhonnan)" -#: build/serializers.py:979 +#: build/serializers.py:978 msgid "Exclude Location" msgstr "Hely kizárása" -#: build/serializers.py:980 +#: build/serializers.py:979 msgid "Exclude stock items from this selected location" msgstr "Készlet tételek kizárása erről a kiválasztott helyről" -#: build/serializers.py:985 +#: build/serializers.py:984 msgid "Interchangeable Stock" msgstr "Felcserélhető készlet" -#: build/serializers.py:986 +#: build/serializers.py:985 msgid "Stock items in multiple locations can be used interchangeably" msgstr "A különböző helyeken lévő készlet egyenrangúan felhasználható" -#: build/serializers.py:991 +#: build/serializers.py:990 msgid "Substitute Stock" msgstr "Készlet helyettesítés" -#: build/serializers.py:992 +#: build/serializers.py:991 msgid "Allow allocation of substitute parts" msgstr "Helyettesítő alkatrészek foglalásának engedélyezése" -#: build/serializers.py:997 +#: build/serializers.py:996 msgid "Optional Items" msgstr "Opcionális tételek" -#: build/serializers.py:998 +#: build/serializers.py:997 msgid "Allocate optional BOM items to build order" msgstr "Opcionális tételek lefoglalása a gyártáshoz" -#: build/serializers.py:1020 +#: build/serializers.py:1019 msgid "Failed to start auto-allocation task" msgstr "Nem sikerült az automatikus lefoglalás feladatot elindítani" -#: build/serializers.py:1110 part/models.py:3930 part/models.py:4366 -#: stock/api.py:758 +#: build/serializers.py:1109 part/models.py:3973 part/models.py:4409 +#: stock/api.py:792 msgid "BOM Item" msgstr "Alkatrészjegyzék tétel" -#: build/serializers.py:1119 templates/js/translated/index.js:130 +#: build/serializers.py:1118 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "Lefoglalt készlet" -#: build/serializers.py:1124 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:817 part/serializers.py:1489 +#: build/serializers.py:1123 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:832 part/serializers.py:1504 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 @@ -1706,15 +1711,15 @@ msgstr "Lefoglalt készlet" msgid "On Order" msgstr "Rendelve" -#: build/serializers.py:1129 part/serializers.py:1491 +#: build/serializers.py:1128 part/serializers.py:1506 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "Gyártásban" -#: build/serializers.py:1134 part/bom.py:172 part/serializers.py:1514 +#: build/serializers.py:1133 part/bom.py:172 part/serializers.py:1529 #: part/templates/part/part_base.html:192 -#: templates/js/translated/sales_order.js:1893 +#: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "Elérhető készlet" @@ -1843,18 +1848,18 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "Még nincs lefoglalva a szükséges készlet" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:297 -#: order/models.py:1294 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:310 +#: order/models.py:1334 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 -#: order/templates/order/sales_order_base.html:192 -#: report/templates/report/inventree_build_order_base.html:125 +#: order/templates/order/sales_order_base.html:196 +#: report/templates/report/inventree_build_order_report.html:125 #: templates/js/translated/build.js:2239 templates/js/translated/part.js:1830 -#: templates/js/translated/purchase_order.js:1740 -#: templates/js/translated/purchase_order.js:2148 -#: templates/js/translated/return_order.js:347 -#: templates/js/translated/return_order.js:751 -#: templates/js/translated/sales_order.js:835 -#: templates/js/translated/sales_order.js:1867 +#: templates/js/translated/purchase_order.js:1739 +#: templates/js/translated/purchase_order.js:2147 +#: templates/js/translated/return_order.js:346 +#: templates/js/translated/return_order.js:750 +#: templates/js/translated/sales_order.js:871 +#: templates/js/translated/sales_order.js:1903 msgid "Target Date" msgstr "Cél dátum" @@ -1867,7 +1872,7 @@ msgstr "Ez a gyártás %(target)s-n volt esedékes" #: build/templates/build/build_base.html:222 #: order/templates/order/order_base.html:122 #: order/templates/order/return_order_base.html:117 -#: order/templates/order/sales_order_base.html:122 +#: order/templates/order/sales_order_base.html:126 #: templates/js/translated/table_filters.js:98 #: templates/js/translated/table_filters.js:524 #: templates/js/translated/table_filters.js:626 @@ -1881,24 +1886,24 @@ msgid "Completed Outputs" msgstr "Befejezett kimenetek" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:1538 -#: order/models.py:1652 order/models.py:1806 +#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:848 +#: order/models.py:1578 order/models.py:1692 order/models.py:1846 #: 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 +#: report/templates/report/inventree_build_order_report.html:135 +#: report/templates/report/inventree_sales_order_report.html:14 #: stock/templates/stock/item_base.html:369 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:929 -#: templates/js/translated/sales_order.js:769 -#: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2927 +#: templates/js/translated/sales_order.js:805 +#: templates/js/translated/sales_order.js:1028 +#: templates/js/translated/stock.js:2924 msgid "Sales Order" msgstr "Vevői rendelés" #: build/templates/build/build_base.html:197 #: build/templates/build/detail.html:115 -#: report/templates/report/inventree_build_order_base.html:152 +#: report/templates/report/inventree_build_order_report.html:152 #: templates/js/translated/table_filters.js:24 msgid "Issued By" msgstr "Kiállította" @@ -1908,15 +1913,15 @@ msgstr "Kiállította" msgid "Priority" msgstr "Prioritás" -#: build/templates/build/build_base.html:273 +#: build/templates/build/build_base.html:269 msgid "Delete Build Order" msgstr "Gyártási utasítás törlése" -#: build/templates/build/build_base.html:283 +#: build/templates/build/build_base.html:279 msgid "Build Order QR Code" msgstr "Gyártási utasítás QR kódja" -#: build/templates/build/build_base.html:295 +#: build/templates/build/build_base.html:291 msgid "Link Barcode to Build Order" msgstr "Vonalkód gyártáshoz rendelése" @@ -1932,8 +1937,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:1430 -#: templates/js/translated/purchase_order.js:2190 +#: build/templates/build/detail.html:49 order/models.py:1470 +#: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "Cél" @@ -1948,10 +1953,10 @@ msgstr "Lefoglalt alkatrészek" #: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 #: templates/js/translated/build.js:1380 -#: templates/js/translated/model_renderers.js:235 +#: templates/js/translated/model_renderers.js:241 #: templates/js/translated/purchase_order.js:1274 -#: templates/js/translated/stock.js:1133 templates/js/translated/stock.js:2192 -#: templates/js/translated/stock.js:3130 +#: templates/js/translated/stock.js:1133 templates/js/translated/stock.js:2190 +#: templates/js/translated/stock.js:3127 #: templates/js/translated/table_filters.js:313 #: templates/js/translated/table_filters.js:404 msgid "Batch" @@ -1960,7 +1965,7 @@ msgstr "Köteg" #: build/templates/build/detail.html:133 #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:151 -#: order/templates/order/sales_order_base.html:186 +#: order/templates/order/sales_order_base.html:190 #: templates/js/translated/build.js:2199 msgid "Created" msgstr "Létrehozva" @@ -1970,7 +1975,7 @@ msgid "No target date set" msgstr "Nincs céldátum beállítva" #: build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:202 +#: order/templates/order/sales_order_base.html:206 #: templates/js/translated/table_filters.js:689 msgid "Completed" msgstr "Kész" @@ -2261,8 +2266,8 @@ msgstr "Milyen gyakran frissítse az árfolyamokat (nulla a kikapcsoláshoz)" #: common/models.py:1316 common/models.py:1372 common/models.py:1385 #: common/models.py:1393 common/models.py:1402 common/models.py:1411 -#: common/models.py:1613 common/models.py:1635 common/models.py:1750 -#: common/models.py:2061 +#: common/models.py:1619 common/models.py:1641 common/models.py:1756 +#: common/models.py:2067 msgid "days" msgstr "nap" @@ -2403,1209 +2408,1218 @@ msgid "Enable revision field for Part" msgstr "Alkatrész változat vagy verziószám tulajdonság használata" #: common/models.py:1440 +msgid "Allow Deletion from Assembly" +msgstr "" + +#: common/models.py:1441 +msgid "Allow deletion of parts which are used in an assembly" +msgstr "" + +#: common/models.py:1446 msgid "IPN Regex" msgstr "IPN reguláris kifejezés" -#: common/models.py:1441 +#: common/models.py:1447 msgid "Regular expression pattern for matching Part IPN" msgstr "Reguláris kifejezés ami illeszkedik az alkatrész IPN-re" -#: common/models.py:1444 +#: common/models.py:1450 msgid "Allow Duplicate IPN" msgstr "Többször is előforduló IPN engedélyezése" -#: common/models.py:1445 +#: common/models.py:1451 msgid "Allow multiple parts to share the same IPN" msgstr "Azonos IPN használható legyen több alkatrészre is" -#: common/models.py:1450 +#: common/models.py:1456 msgid "Allow Editing IPN" msgstr "IPN szerkesztésének engedélyezése" -#: common/models.py:1451 +#: common/models.py:1457 msgid "Allow changing the IPN value while editing a part" msgstr "IPN megváltoztatásánsak engedélyezése az alkatrész szerkesztése közben" -#: common/models.py:1456 +#: common/models.py:1462 msgid "Copy Part BOM Data" msgstr "Alkatrészjegyzék adatok másolása" -#: common/models.py:1457 +#: common/models.py:1463 msgid "Copy BOM data by default when duplicating a part" msgstr "Alkatrész másoláskor az alkatrészjegyzék adatokat is másoljuk alapból" -#: common/models.py:1462 +#: common/models.py:1468 msgid "Copy Part Parameter Data" msgstr "Alkatrész paraméterek másolása" -#: common/models.py:1463 +#: common/models.py:1469 msgid "Copy parameter data by default when duplicating a part" msgstr "Alkatrész másoláskor a paramétereket is másoljuk alapból" -#: common/models.py:1468 +#: common/models.py:1474 msgid "Copy Part Test Data" msgstr "Alkatrész teszt adatok másolása" -#: common/models.py:1469 +#: common/models.py:1475 msgid "Copy test data by default when duplicating a part" msgstr "Alkatrész másoláskor a tesztek adatait is másoljuk alapból" -#: common/models.py:1474 +#: common/models.py:1480 msgid "Copy Category Parameter Templates" msgstr "Kategória paraméter sablonok másolása" -#: common/models.py:1475 +#: common/models.py:1481 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:1480 part/admin.py:108 part/models.py:3772 -#: report/models.py:182 stock/serializers.py:99 +#: common/models.py:1486 part/admin.py:108 part/models.py:3815 +#: report/models.py:294 report/models.py:361 report/serializers.py:90 +#: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:767 msgid "Template" msgstr "Sablon" -#: common/models.py:1481 +#: common/models.py:1487 msgid "Parts are templates by default" msgstr "Alkatrészek alapból sablon alkatrészek legyenek" -#: common/models.py:1486 part/admin.py:91 part/admin.py:431 part/models.py:1016 +#: common/models.py:1492 part/admin.py:91 part/admin.py:433 part/models.py:1059 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "Gyártmány" -#: common/models.py:1487 +#: common/models.py:1493 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:1492 part/admin.py:95 part/models.py:1022 +#: common/models.py:1498 part/admin.py:95 part/models.py:1065 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "Összetevő" -#: common/models.py:1493 +#: common/models.py:1499 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:1498 part/admin.py:100 part/models.py:1034 +#: common/models.py:1504 part/admin.py:100 part/models.py:1077 msgid "Purchaseable" msgstr "Beszerezhető" -#: common/models.py:1499 +#: common/models.py:1505 msgid "Parts are purchaseable by default" msgstr "Alkatrészek alapból beszerezhetők legyenek" -#: common/models.py:1504 part/admin.py:104 part/models.py:1040 +#: common/models.py:1510 part/admin.py:104 part/models.py:1083 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "Értékesíthető" -#: common/models.py:1505 +#: common/models.py:1511 msgid "Parts are salable by default" msgstr "Alkatrészek alapból eladhatók legyenek" -#: common/models.py:1510 part/admin.py:113 part/models.py:1028 +#: common/models.py:1516 part/admin.py:113 part/models.py:1071 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "Követésre kötelezett" -#: common/models.py:1511 +#: common/models.py:1517 msgid "Parts are trackable by default" msgstr "Alkatrészek alapból követésre kötelezettek legyenek" -#: common/models.py:1516 part/admin.py:117 part/models.py:1050 +#: common/models.py:1522 part/admin.py:117 part/models.py:1093 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "Virtuális" -#: common/models.py:1517 +#: common/models.py:1523 msgid "Parts are virtual by default" msgstr "Alkatrészek alapból virtuálisak legyenek" -#: common/models.py:1522 +#: common/models.py:1528 msgid "Show Import in Views" msgstr "Importálás megjelenítése a nézetekben" -#: common/models.py:1523 +#: common/models.py:1529 msgid "Display the import wizard in some part views" msgstr "Import segéd megjelenítése néhány alkatrész nézetben" -#: common/models.py:1528 +#: common/models.py:1534 msgid "Show related parts" msgstr "Kapcsolódó alkatrészek megjelenítése" -#: common/models.py:1529 +#: common/models.py:1535 msgid "Display related parts for a part" msgstr "Alkatrész kapcsolódó alkatrészeinek megjelenítése" -#: common/models.py:1534 +#: common/models.py:1540 msgid "Initial Stock Data" msgstr "Kezdeti készlet adatok" -#: common/models.py:1535 +#: common/models.py:1541 msgid "Allow creation of initial stock when adding a new part" msgstr "Kezdeti készlet létrehozása új alkatrész felvételekor" -#: common/models.py:1540 templates/js/translated/part.js:107 +#: common/models.py:1546 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "Kezdeti beszállítói adatok" -#: common/models.py:1542 +#: common/models.py:1548 msgid "Allow creation of initial supplier data when adding a new part" msgstr "Kezdeti beszállítói adatok létrehozása új alkatrész felvételekor" -#: common/models.py:1548 +#: common/models.py:1554 msgid "Part Name Display Format" msgstr "Alkatrész név megjelenítés formátuma" -#: common/models.py:1549 +#: common/models.py:1555 msgid "Format to display the part name" msgstr "Formátum az alkatrész név megjelenítéséhez" -#: common/models.py:1555 +#: common/models.py:1561 msgid "Part Category Default Icon" msgstr "Alkatrész kategória alapértelmezett ikon" -#: common/models.py:1556 +#: common/models.py:1562 msgid "Part category default icon (empty means no icon)" msgstr "Alkatrész kategória alapértelmezett ikon (üres ha nincs)" -#: common/models.py:1560 +#: common/models.py:1566 msgid "Enforce Parameter Units" msgstr "Csak választható mértékegységek" -#: common/models.py:1562 +#: common/models.py:1568 msgid "If units are provided, parameter values must match the specified units" msgstr "A megadott mértékegység csak a beállított lehetőségekből legyen elfogadva" -#: common/models.py:1568 +#: common/models.py:1574 msgid "Minimum Pricing Decimal Places" msgstr "Áraknál használt tizedesjegyek min. száma" -#: common/models.py:1570 +#: common/models.py:1576 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "Tizedejegyek minimális száma az árak megjelenítésekor" -#: common/models.py:1576 +#: common/models.py:1582 msgid "Maximum Pricing Decimal Places" msgstr "Áraknál használt tizedesjegyek max. száma" -#: common/models.py:1578 +#: common/models.py:1584 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "Tizedejegyek maximális száma az árak megjelenítésekor" -#: common/models.py:1584 +#: common/models.py:1590 msgid "Use Supplier Pricing" msgstr "Beszállítói árazás használata" -#: common/models.py:1586 +#: common/models.py:1592 msgid "Include supplier price breaks in overall pricing calculations" msgstr "Beszállítói ársávok megjelenítése az általános árkalkulációkban" -#: common/models.py:1592 +#: common/models.py:1598 msgid "Purchase History Override" msgstr "Beszerzési előzmények felülbírálása" -#: common/models.py:1594 +#: common/models.py:1600 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "Beszerzési árelőzmények felülírják a beszállítói ársávokat" -#: common/models.py:1600 +#: common/models.py:1606 msgid "Use Stock Item Pricing" msgstr "Készlet tétel ár használata" -#: common/models.py:1602 +#: common/models.py:1608 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "A kézzel bevitt készlet tétel árak használata az árszámításokhoz" -#: common/models.py:1608 +#: common/models.py:1614 msgid "Stock Item Pricing Age" msgstr "Készlet tétel ár kora" -#: common/models.py:1610 +#: common/models.py:1616 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "Az ennyi napnál régebbi készlet tételek kizárása az árszámításból" -#: common/models.py:1617 +#: common/models.py:1623 msgid "Use Variant Pricing" msgstr "Alkatrészváltozat árak használata" -#: common/models.py:1618 +#: common/models.py:1624 msgid "Include variant pricing in overall pricing calculations" msgstr "Alkatrészváltozat árak megjelenítése az általános árkalkulációkban" -#: common/models.py:1623 +#: common/models.py:1629 msgid "Active Variants Only" msgstr "Csak az aktív változatokat" -#: common/models.py:1625 +#: common/models.py:1631 msgid "Only use active variant parts for calculating variant pricing" msgstr "Csak az aktív alkatrészváltozatok használata az árazásban" -#: common/models.py:1631 +#: common/models.py:1637 msgid "Pricing Rebuild Interval" msgstr "Árazás újraszámítás gyakoriság" -#: common/models.py:1633 +#: common/models.py:1639 msgid "Number of days before part pricing is automatically updated" msgstr "Árak automatikus frissítése ennyi nap után" -#: common/models.py:1640 +#: common/models.py:1646 msgid "Internal Prices" msgstr "Belső árak" -#: common/models.py:1641 +#: common/models.py:1647 msgid "Enable internal prices for parts" msgstr "Alkatrészekhez belső ár engedélyezése" -#: common/models.py:1646 +#: common/models.py:1652 msgid "Internal Price Override" msgstr "Belső ár felülbírálása" -#: common/models.py:1648 +#: common/models.py:1654 msgid "If available, internal prices override price range calculations" msgstr "Ha elérhetőek az árkalkulációkban a belső árak lesznek alapul véve" -#: common/models.py:1654 +#: common/models.py:1660 msgid "Enable label printing" msgstr "Címke nyomtatás engedélyezése" -#: common/models.py:1655 +#: common/models.py:1661 msgid "Enable label printing from the web interface" msgstr "Címke nyomtatás engedélyezése a web felületről" -#: common/models.py:1660 +#: common/models.py:1666 msgid "Label Image DPI" msgstr "Címke kép DPI" -#: common/models.py:1662 +#: common/models.py:1668 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "Képek felbontása amik átadásra kerülnek címkenyomtató pluginoknak" -#: common/models.py:1668 +#: common/models.py:1674 msgid "Enable Reports" msgstr "Riportok engedélyezése" -#: common/models.py:1669 +#: common/models.py:1675 msgid "Enable generation of reports" msgstr "Riportok előállításának engedélyezése" -#: common/models.py:1674 templates/stats.html:25 +#: common/models.py:1680 templates/stats.html:25 msgid "Debug Mode" msgstr "Debug mód" -#: common/models.py:1675 +#: common/models.py:1681 msgid "Generate reports in debug mode (HTML output)" msgstr "Riportok előállítása HTML formátumban (hibakereséshez)" -#: common/models.py:1680 +#: common/models.py:1686 msgid "Log Report Errors" msgstr "Jelentési hibák naplózása" -#: common/models.py:1681 +#: common/models.py:1687 msgid "Log errors which occur when generating reports" msgstr "Jelentések generálása közben jelentkező hibák naplózása" -#: common/models.py:1686 plugin/builtin/labels/label_sheet.py:28 -#: report/models.py:203 +#: common/models.py:1692 plugin/builtin/labels/label_sheet.py:28 +#: report/models.py:302 msgid "Page Size" msgstr "Lapméret" -#: common/models.py:1687 +#: common/models.py:1693 msgid "Default page size for PDF reports" msgstr "Alapértelmezett lapméret a PDF riportokhoz" -#: common/models.py:1692 +#: common/models.py:1698 msgid "Enable Test Reports" msgstr "Teszt riportok engedélyezése" -#: common/models.py:1693 +#: common/models.py:1699 msgid "Enable generation of test reports" msgstr "Teszt riportok előállításának engedélyezése" -#: common/models.py:1698 +#: common/models.py:1704 msgid "Attach Test Reports" msgstr "Teszt riportok hozzáadása" -#: common/models.py:1700 +#: common/models.py:1706 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "Teszt riport nyomtatáskor egy másolat hozzáadása a készlet tételhez" -#: common/models.py:1706 +#: common/models.py:1712 msgid "Globally Unique Serials" msgstr "Globálisan egyedi sorozatszámok" -#: common/models.py:1707 +#: common/models.py:1713 msgid "Serial numbers for stock items must be globally unique" msgstr "A sorozatszámoknak egyedinek kell lennie a teljes készletre vonatkozóan" -#: common/models.py:1712 +#: common/models.py:1718 msgid "Autofill Serial Numbers" msgstr "Sorozatszámok automatikus kitöltése" -#: common/models.py:1713 +#: common/models.py:1719 msgid "Autofill serial numbers in forms" msgstr "Sorozatszámok automatikus kitöltése a formokon" -#: common/models.py:1718 +#: common/models.py:1724 msgid "Delete Depleted Stock" msgstr "Kimerült készlet törlése" -#: common/models.py:1720 +#: common/models.py:1726 msgid "Determines default behavior when a stock item is depleted" msgstr "Alapértelmezett művelet mikor a készlet tétel elfogy" -#: common/models.py:1726 +#: common/models.py:1732 msgid "Batch Code Template" msgstr "Batch kód sablon" -#: common/models.py:1728 +#: common/models.py:1734 msgid "Template for generating default batch codes for stock items" msgstr "Sablon a készlet tételekhez alapértelmezett batch kódok előállításához" -#: common/models.py:1733 +#: common/models.py:1739 msgid "Stock Expiry" msgstr "Készlet lejárata" -#: common/models.py:1734 +#: common/models.py:1740 msgid "Enable stock expiry functionality" msgstr "Készlet lejárat kezelésének engedélyezése" -#: common/models.py:1739 +#: common/models.py:1745 msgid "Sell Expired Stock" msgstr "Lejárt készlet értékesítése" -#: common/models.py:1740 +#: common/models.py:1746 msgid "Allow sale of expired stock" msgstr "Lejárt készlet értékesítésének engedélyezése" -#: common/models.py:1745 +#: common/models.py:1751 msgid "Stock Stale Time" msgstr "Álló készlet ideje" -#: common/models.py:1747 +#: common/models.py:1753 msgid "Number of days stock items are considered stale before expiring" msgstr "Napok száma amennyivel a lejárat előtt a készlet tételeket állottnak vesszük" -#: common/models.py:1754 +#: common/models.py:1760 msgid "Build Expired Stock" msgstr "Lejárt készlet gyártása" -#: common/models.py:1755 +#: common/models.py:1761 msgid "Allow building with expired stock" msgstr "Gyártás engedélyezése lejárt készletből" -#: common/models.py:1760 +#: common/models.py:1766 msgid "Stock Ownership Control" msgstr "Készlet tulajdonosok kezelése" -#: common/models.py:1761 +#: common/models.py:1767 msgid "Enable ownership control over stock locations and items" msgstr "Tulajdonosok kezelésének engedélyezése a készlet helyekre és tételekre" -#: common/models.py:1766 +#: common/models.py:1772 msgid "Stock Location Default Icon" msgstr "Hely alapértelmezett ikon" -#: common/models.py:1767 +#: common/models.py:1773 msgid "Stock location default icon (empty means no icon)" msgstr "Hely alapértelmezett ikon (üres ha nincs)" -#: common/models.py:1771 +#: common/models.py:1777 msgid "Show Installed Stock Items" msgstr "Beépített készlet megjelenítése" -#: common/models.py:1772 +#: common/models.py:1778 msgid "Display installed stock items in stock tables" msgstr "Beépített készlet tételek megjelenítése a készlet táblákban" -#: common/models.py:1777 +#: common/models.py:1783 msgid "Check BOM when installing items" msgstr "Tételek telepítésekor a darabjegyzék ellenőrzése" -#: common/models.py:1779 +#: common/models.py:1785 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "A beépített tételeknek a szülő elem darabjegyzékében szerepelniük kell" -#: common/models.py:1785 +#: common/models.py:1791 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1787 +#: common/models.py:1793 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1793 +#: common/models.py:1799 msgid "Build Order Reference Pattern" msgstr "Gyártási utasítás azonosító minta" -#: common/models.py:1795 +#: common/models.py:1801 msgid "Required pattern for generating Build Order reference field" msgstr "Szükséges minta a gyártási utasítás azonosító mező előállításához" -#: common/models.py:1801 common/models.py:1829 common/models.py:1851 -#: common/models.py:1879 +#: common/models.py:1807 common/models.py:1835 common/models.py:1857 +#: common/models.py:1885 msgid "Require Responsible Owner" msgstr "Felelős tulajdonos szükséges" -#: common/models.py:1802 common/models.py:1830 common/models.py:1852 -#: common/models.py:1880 +#: common/models.py:1808 common/models.py:1836 common/models.py:1858 +#: common/models.py:1886 msgid "A responsible owner must be assigned to each order" msgstr "Minden rendeléshez felelőst kell rendelni" -#: common/models.py:1807 +#: common/models.py:1813 msgid "Block Until Tests Pass" msgstr "Blokkolás a tesztek sikeres végrehajtásáig" -#: common/models.py:1809 +#: common/models.py:1815 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "Nem lehet gyártási tételt befejezni amíg valamennyi kötelező teszt sikeres nem lett" -#: common/models.py:1815 +#: common/models.py:1821 msgid "Enable Return Orders" msgstr "Visszavétel engedélyezése" -#: common/models.py:1816 +#: common/models.py:1822 msgid "Enable return order functionality in the user interface" msgstr "Visszavételek engedélyezése a felületen" -#: common/models.py:1821 +#: common/models.py:1827 msgid "Return Order Reference Pattern" msgstr "Visszavétel azonosító minta" -#: common/models.py:1823 +#: common/models.py:1829 msgid "Required pattern for generating Return Order reference field" msgstr "Szükséges minta a visszavétel azonosító mező előállításához" -#: common/models.py:1835 +#: common/models.py:1841 msgid "Edit Completed Return Orders" msgstr "Befejezett visszavétel szerkesztése" -#: common/models.py:1837 +#: common/models.py:1843 msgid "Allow editing of return orders after they have been completed" msgstr "Visszavétel szerkesztésének engedélyezése befejezés után" -#: common/models.py:1843 +#: common/models.py:1849 msgid "Sales Order Reference Pattern" msgstr "Vevői rendelés azonosító minta" -#: common/models.py:1845 +#: common/models.py:1851 msgid "Required pattern for generating Sales Order reference field" msgstr "Szükséges minta a vevői rendelés azonosító mező előállításához" -#: common/models.py:1857 +#: common/models.py:1863 msgid "Sales Order Default Shipment" msgstr "Vevői rendeléshez alapértelmezett szállítmány" -#: common/models.py:1858 +#: common/models.py:1864 msgid "Enable creation of default shipment with sales orders" msgstr "Szállítmány automatikus létrehozása az új vevő rendelésekhez" -#: common/models.py:1863 +#: common/models.py:1869 msgid "Edit Completed Sales Orders" msgstr "Befejezett vevői rendelés szerkesztése" -#: common/models.py:1865 +#: common/models.py:1871 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "Vevői rendelések szerkesztésének engedélyezése szállítás vagy befejezés után" -#: common/models.py:1871 +#: common/models.py:1877 msgid "Purchase Order Reference Pattern" msgstr "Beszerzési rendelés azonosító minta" -#: common/models.py:1873 +#: common/models.py:1879 msgid "Required pattern for generating Purchase Order reference field" msgstr "Szükséges minta a beszerzési rendelés azonosító mező előállításához" -#: common/models.py:1885 +#: common/models.py:1891 msgid "Edit Completed Purchase Orders" msgstr "Befejezett beszerzési rendelés szerkesztése" -#: common/models.py:1887 +#: common/models.py:1893 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "Beszérzési rendelések szerkesztésének engedélyezése kiküldés vagy befejezés után" -#: common/models.py:1893 +#: common/models.py:1899 msgid "Auto Complete Purchase Orders" msgstr "Beszerzési rendelések automatikus befejezése" -#: common/models.py:1895 +#: common/models.py:1901 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "A beszerzési rendelés automatikus befejezése ha minden sortétel beérkezett" -#: common/models.py:1902 +#: common/models.py:1908 msgid "Enable password forgot" msgstr "Elfelejtett jelszó engedélyezése" -#: common/models.py:1903 +#: common/models.py:1909 msgid "Enable password forgot function on the login pages" msgstr "Elfelejtett jelszó funkció engedélyezése a bejentkező oldalon" -#: common/models.py:1908 +#: common/models.py:1914 msgid "Enable registration" msgstr "Regisztráció engedélyezése" -#: common/models.py:1909 +#: common/models.py:1915 msgid "Enable self-registration for users on the login pages" msgstr "Felhaszálók önkéntes regisztrációjának engedélyezése a bejelentkező oldalon" -#: common/models.py:1914 +#: common/models.py:1920 msgid "Enable SSO" msgstr "SSO engedélyezése" -#: common/models.py:1915 +#: common/models.py:1921 msgid "Enable SSO on the login pages" msgstr "SSO engedélyezése a bejelentkező oldalon" -#: common/models.py:1920 +#: common/models.py:1926 msgid "Enable SSO registration" msgstr "SSO regisztráció engedélyezése" -#: common/models.py:1922 +#: common/models.py:1928 msgid "Enable self-registration via SSO for users on the login pages" msgstr "Felhaszálók önkéntes regisztrációjának engedélyezése SSO-n keresztül a bejelentkező oldalon" -#: common/models.py:1928 +#: common/models.py:1934 msgid "Email required" msgstr "Email szükséges" -#: common/models.py:1929 +#: common/models.py:1935 msgid "Require user to supply mail on signup" msgstr "Kötelező email megadás regisztrációkor" -#: common/models.py:1934 +#: common/models.py:1940 msgid "Auto-fill SSO users" msgstr "SSO felhasználók automatikus kitöltése" -#: common/models.py:1936 +#: common/models.py:1942 msgid "Automatically fill out user-details from SSO account-data" msgstr "Felhasználó adatainak automatikus kitöltése az SSO fiókadatokból" -#: common/models.py:1942 +#: common/models.py:1948 msgid "Mail twice" msgstr "Email kétszer" -#: common/models.py:1943 +#: common/models.py:1949 msgid "On signup ask users twice for their mail" msgstr "Regisztráláskor kétszer kérdezze a felhasználó email címét" -#: common/models.py:1948 +#: common/models.py:1954 msgid "Password twice" msgstr "Jelszó kétszer" -#: common/models.py:1949 +#: common/models.py:1955 msgid "On signup ask users twice for their password" msgstr "Regisztráláskor kétszer kérdezze a felhasználó jelszavát" -#: common/models.py:1954 +#: common/models.py:1960 msgid "Allowed domains" msgstr "Engedélyezett domainek" -#: common/models.py:1956 +#: common/models.py:1962 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "Feliratkozás korlátozása megadott domain-ekre (vesszővel elválasztva, @-al kezdve)" -#: common/models.py:1962 +#: common/models.py:1968 msgid "Group on signup" msgstr "Csoport regisztráláskor" -#: common/models.py:1963 +#: common/models.py:1969 msgid "Group to which new users are assigned on registration" msgstr "Csoport amihez a frissen regisztrált felhasználók hozzá lesznek rendelve" -#: common/models.py:1968 +#: common/models.py:1974 msgid "Enforce MFA" msgstr "Többfaktoros hitelesítés kényszerítése" -#: common/models.py:1969 +#: common/models.py:1975 msgid "Users must use multifactor security." msgstr "A felhasználóknak többfaktoros hitelesítést kell használniuk." -#: common/models.py:1974 +#: common/models.py:1980 msgid "Check plugins on startup" msgstr "Pluginok ellenőrzése indításkor" -#: common/models.py:1976 +#: common/models.py:1982 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "Ellenőrizze induláskor hogy minden plugin telepítve van - engedélyezd konténer környezetben (docker)" -#: common/models.py:1984 +#: common/models.py:1990 msgid "Check for plugin updates" msgstr "Plugin frissítések ellenőrzése" -#: common/models.py:1985 +#: common/models.py:1991 msgid "Enable periodic checks for updates to installed plugins" msgstr "Frissítések periódikus ellenőrzésének engedélyezése a telepített pluginokra" -#: common/models.py:1991 +#: common/models.py:1997 msgid "Enable URL integration" msgstr "URL integráció engedélyezése" -#: common/models.py:1992 +#: common/models.py:1998 msgid "Enable plugins to add URL routes" msgstr "URL útvonalalak hozzáadásának engedélyezése a pluginok számára" -#: common/models.py:1998 +#: common/models.py:2004 msgid "Enable navigation integration" msgstr "Navigációs integráció engedélyezése" -#: common/models.py:1999 +#: common/models.py:2005 msgid "Enable plugins to integrate into navigation" msgstr "Navigációs integráció engedélyezése a pluginok számára" -#: common/models.py:2005 +#: common/models.py:2011 msgid "Enable app integration" msgstr "App integráció engedélyezése" -#: common/models.py:2006 +#: common/models.py:2012 msgid "Enable plugins to add apps" msgstr "App hozzáadásának engedélyezése a pluginok számára" -#: common/models.py:2012 +#: common/models.py:2018 msgid "Enable schedule integration" msgstr "Ütemezés integráció engedélyezése" -#: common/models.py:2013 +#: common/models.py:2019 msgid "Enable plugins to run scheduled tasks" msgstr "Háttérben futó feladatok hozzáadásának engedélyezése a pluginok számára" -#: common/models.py:2019 +#: common/models.py:2025 msgid "Enable event integration" msgstr "Esemény integráció engedélyezése" -#: common/models.py:2020 +#: common/models.py:2026 msgid "Enable plugins to respond to internal events" msgstr "Belső eseményekre reagálás engedélyezése a pluginok számára" -#: common/models.py:2026 +#: common/models.py:2032 msgid "Enable project codes" msgstr "Projektszámok engedélyezése" -#: common/models.py:2027 +#: common/models.py:2033 msgid "Enable project codes for tracking projects" msgstr "Projektszámok használatának engedélyezése a projektek követéséhez" -#: common/models.py:2032 +#: common/models.py:2038 msgid "Stocktake Functionality" msgstr "Leltár funkció" -#: common/models.py:2034 +#: common/models.py:2040 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "Leltár funkció engedélyezése a készlet mennyiség és érték számításhoz" -#: common/models.py:2040 +#: common/models.py:2046 msgid "Exclude External Locations" msgstr "Külső helyek nélkül" -#: common/models.py:2042 +#: common/models.py:2048 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "Külső helyek figyelmen kívül hagyása a leltár számításoknál" -#: common/models.py:2048 +#: common/models.py:2054 msgid "Automatic Stocktake Period" msgstr "Automatikus leltár időpontja" -#: common/models.py:2050 +#: common/models.py:2056 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "Hány naponta történjen automatikus leltár (nulla egyenlő tiltva)" -#: common/models.py:2056 +#: common/models.py:2062 msgid "Report Deletion Interval" msgstr "Riport törlési gyakoriság" -#: common/models.py:2058 +#: common/models.py:2064 msgid "Stocktake reports will be deleted after specified number of days" msgstr "Régi leltár riportok törlése hány naponta történjen" -#: common/models.py:2065 +#: common/models.py:2071 msgid "Display Users full names" msgstr "Felhasználók teljes nevének megjelenítése" -#: common/models.py:2066 +#: common/models.py:2072 msgid "Display Users full names instead of usernames" msgstr "Felhasználói név helyett a felhasználók teljes neve jelenik meg" -#: common/models.py:2071 +#: common/models.py:2077 msgid "Enable Test Station Data" msgstr "Teszt állomás adatok engedélyezése" -#: common/models.py:2072 +#: common/models.py:2078 msgid "Enable test station data collection for test results" msgstr "Tesztállomás adatok gyűjtésének teszt eredménybe gyűjtésének engedélyezése" -#: common/models.py:2084 common/models.py:2494 +#: common/models.py:2090 common/models.py:2500 msgid "Settings key (must be unique - case insensitive" msgstr "Beállítások kulcs (egyedinek kell lennie, nem kis- nagybetű érzékeny" -#: common/models.py:2127 +#: common/models.py:2133 msgid "Hide inactive parts" msgstr "Inaktív alkatrészek elrejtése" -#: common/models.py:2129 +#: common/models.py:2135 msgid "Hide inactive parts in results displayed on the homepage" msgstr "Nem aktív alkatrészek elrejtése a kezdőlapon" -#: common/models.py:2135 +#: common/models.py:2141 msgid "Show subscribed parts" msgstr "Értesítésre beállított alkatrészek megjelenítése" -#: common/models.py:2136 +#: common/models.py:2142 msgid "Show subscribed parts on the homepage" msgstr "Alkatrész értesítések megjelenítése a főoldalon" -#: common/models.py:2141 +#: common/models.py:2147 msgid "Show subscribed categories" msgstr "Értesítésre beállított kategóriák megjelenítése" -#: common/models.py:2142 +#: common/models.py:2148 msgid "Show subscribed part categories on the homepage" msgstr "Alkatrész kategória értesítések megjelenítése a főoldalon" -#: common/models.py:2147 +#: common/models.py:2153 msgid "Show latest parts" msgstr "Legújabb alkatrészek megjelenítése" -#: common/models.py:2148 +#: common/models.py:2154 msgid "Show latest parts on the homepage" msgstr "Legújabb alkatrészek megjelenítése a főoldalon" -#: common/models.py:2153 +#: common/models.py:2159 msgid "Show invalid BOMs" msgstr "Hibás alkatrészjegyzékek megjelenítése" -#: common/models.py:2154 +#: common/models.py:2160 msgid "Show BOMs that await validation on the homepage" msgstr "Jóváhagyásra váró alkatrészjegyzékek megjelenítése a főoldalon" -#: common/models.py:2159 +#: common/models.py:2165 msgid "Show recent stock changes" msgstr "Legfrissebb készlet változások megjelenítése" -#: common/models.py:2160 +#: common/models.py:2166 msgid "Show recently changed stock items on the homepage" msgstr "Legutóbb megváltozott alkatrészek megjelenítése a főoldalon" -#: common/models.py:2165 +#: common/models.py:2171 msgid "Show low stock" msgstr "Alacsony készlet megjelenítése" -#: common/models.py:2166 +#: common/models.py:2172 msgid "Show low stock items on the homepage" msgstr "Alacsony készletek megjelenítése a főoldalon" -#: common/models.py:2171 +#: common/models.py:2177 msgid "Show depleted stock" msgstr "Kimerült készlet megjelenítése" -#: common/models.py:2172 +#: common/models.py:2178 msgid "Show depleted stock items on the homepage" msgstr "Kimerült készletek megjelenítése a főoldalon" -#: common/models.py:2177 +#: common/models.py:2183 msgid "Show needed stock" msgstr "Gyártáshoz szükséges készlet megjelenítése" -#: common/models.py:2178 +#: common/models.py:2184 msgid "Show stock items needed for builds on the homepage" msgstr "Gyártáshoz szükséges készletek megjelenítése a főoldalon" -#: common/models.py:2183 +#: common/models.py:2189 msgid "Show expired stock" msgstr "Lejárt készlet megjelenítése" -#: common/models.py:2184 +#: common/models.py:2190 msgid "Show expired stock items on the homepage" msgstr "Lejárt készletek megjelenítése a főoldalon" -#: common/models.py:2189 +#: common/models.py:2195 msgid "Show stale stock" msgstr "Állott készlet megjelenítése" -#: common/models.py:2190 +#: common/models.py:2196 msgid "Show stale stock items on the homepage" msgstr "Álló készletek megjelenítése a főoldalon" -#: common/models.py:2195 +#: common/models.py:2201 msgid "Show pending builds" msgstr "Függő gyártások megjelenítése" -#: common/models.py:2196 +#: common/models.py:2202 msgid "Show pending builds on the homepage" msgstr "Folyamatban lévő gyártások megjelenítése a főoldalon" -#: common/models.py:2201 +#: common/models.py:2207 msgid "Show overdue builds" msgstr "Késésben lévő gyártások megjelenítése" -#: common/models.py:2202 +#: common/models.py:2208 msgid "Show overdue builds on the homepage" msgstr "Késésben lévő gyártások megjelenítése a főoldalon" -#: common/models.py:2207 +#: common/models.py:2213 msgid "Show outstanding POs" msgstr "Kintlévő beszerzési rendelések megjelenítése" -#: common/models.py:2208 +#: common/models.py:2214 msgid "Show outstanding POs on the homepage" msgstr "Kintlévő beszerzési rendelések megjelenítése a főoldalon" -#: common/models.py:2213 +#: common/models.py:2219 msgid "Show overdue POs" msgstr "Késésben lévő megrendelések megjelenítése" -#: common/models.py:2214 +#: common/models.py:2220 msgid "Show overdue POs on the homepage" msgstr "Késésben lévő megrendelések megjelenítése a főoldalon" -#: common/models.py:2219 +#: common/models.py:2225 msgid "Show outstanding SOs" msgstr "Függő vevői rendelések megjelenítése" -#: common/models.py:2220 +#: common/models.py:2226 msgid "Show outstanding SOs on the homepage" msgstr "Függő vevői rendelések megjelenítése a főoldalon" -#: common/models.py:2225 +#: common/models.py:2231 msgid "Show overdue SOs" msgstr "Késésben lévő vevői rendelések megjelenítése" -#: common/models.py:2226 +#: common/models.py:2232 msgid "Show overdue SOs on the homepage" msgstr "Késésben lévő vevői rendelések megjelenítése a főoldalon" -#: common/models.py:2231 +#: common/models.py:2237 msgid "Show pending SO shipments" msgstr "Függő vevői szállítmányok megjelenítése" -#: common/models.py:2232 +#: common/models.py:2238 msgid "Show pending SO shipments on the homepage" msgstr "Folyamatban lévő vevői szállítmányok megjelenítése a főoldalon" -#: common/models.py:2237 +#: common/models.py:2243 msgid "Show News" msgstr "Hírek megjelenítése" -#: common/models.py:2238 +#: common/models.py:2244 msgid "Show news on the homepage" msgstr "Hírek megjelenítése a főoldalon" -#: common/models.py:2243 +#: common/models.py:2249 msgid "Inline label display" msgstr "Beágyazott címke megjelenítés" -#: common/models.py:2245 +#: common/models.py:2251 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "PDF címkék megjelenítése a böngészőben letöltés helyett" -#: common/models.py:2251 +#: common/models.py:2257 msgid "Default label printer" msgstr "Alapértelmezett címkenyomtató" -#: common/models.py:2253 +#: common/models.py:2259 msgid "Configure which label printer should be selected by default" msgstr "Melyik címkenyomtató legyen az alapértelmezett" -#: common/models.py:2259 +#: common/models.py:2265 msgid "Inline report display" msgstr "Beágyazott riport megjelenítés" -#: common/models.py:2261 +#: common/models.py:2267 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "PDF riport megjelenítése a böngészőben letöltés helyett" -#: common/models.py:2267 +#: common/models.py:2273 msgid "Search Parts" msgstr "Alkatrészek keresése" -#: common/models.py:2268 +#: common/models.py:2274 msgid "Display parts in search preview window" msgstr "Alkatrészek megjelenítése a keresési előnézetben" -#: common/models.py:2273 +#: common/models.py:2279 msgid "Search Supplier Parts" msgstr "Beszállítói alkatrészek keresése" -#: common/models.py:2274 +#: common/models.py:2280 msgid "Display supplier parts in search preview window" msgstr "Beszállítói alkatrészek megjelenítése a keresési előnézetben" -#: common/models.py:2279 +#: common/models.py:2285 msgid "Search Manufacturer Parts" msgstr "Gyártói alkatrészek keresése" -#: common/models.py:2280 +#: common/models.py:2286 msgid "Display manufacturer parts in search preview window" msgstr "Gyártói alkatrészek megjelenítése a keresési előnézetben" -#: common/models.py:2285 +#: common/models.py:2291 msgid "Hide Inactive Parts" msgstr "Inaktív alkatrészek elrejtése" -#: common/models.py:2286 +#: common/models.py:2292 msgid "Excluded inactive parts from search preview window" msgstr "Inaktív alkatrészek kihagyása a keresési előnézet találataiból" -#: common/models.py:2291 +#: common/models.py:2297 msgid "Search Categories" msgstr "Kategóriák keresése" -#: common/models.py:2292 +#: common/models.py:2298 msgid "Display part categories in search preview window" msgstr "Alkatrész kategóriák megjelenítése a keresési előnézetben" -#: common/models.py:2297 +#: common/models.py:2303 msgid "Search Stock" msgstr "Készlet keresése" -#: common/models.py:2298 +#: common/models.py:2304 msgid "Display stock items in search preview window" msgstr "Készlet tételek megjelenítése a keresési előnézetben" -#: common/models.py:2303 +#: common/models.py:2309 msgid "Hide Unavailable Stock Items" msgstr "Nem elérhető készlet tételek elrejtése" -#: common/models.py:2305 +#: common/models.py:2311 msgid "Exclude stock items which are not available from the search preview window" msgstr "Nem elérhető készlet kihagyása a keresési előnézet találataiból" -#: common/models.py:2311 +#: common/models.py:2317 msgid "Search Locations" msgstr "Helyek keresése" -#: common/models.py:2312 +#: common/models.py:2318 msgid "Display stock locations in search preview window" msgstr "Készlet helyek megjelenítése a keresési előnézetben" -#: common/models.py:2317 +#: common/models.py:2323 msgid "Search Companies" msgstr "Cégek keresése" -#: common/models.py:2318 +#: common/models.py:2324 msgid "Display companies in search preview window" msgstr "Cégek megjelenítése a keresési előnézetben" -#: common/models.py:2323 +#: common/models.py:2329 msgid "Search Build Orders" msgstr "Gyártási utasítások keresése" -#: common/models.py:2324 +#: common/models.py:2330 msgid "Display build orders in search preview window" msgstr "Gyártási utasítások megjelenítése a keresés előnézet ablakban" -#: common/models.py:2329 +#: common/models.py:2335 msgid "Search Purchase Orders" msgstr "Beszerzési rendelések keresése" -#: common/models.py:2330 +#: common/models.py:2336 msgid "Display purchase orders in search preview window" msgstr "Beszerzési rendelések megjelenítése a keresési előnézetben" -#: common/models.py:2335 +#: common/models.py:2341 msgid "Exclude Inactive Purchase Orders" msgstr "Inaktív beszerzési rendelések kihagyása" -#: common/models.py:2337 +#: common/models.py:2343 msgid "Exclude inactive purchase orders from search preview window" msgstr "Inaktív beszerzési rendelések kihagyása a keresési előnézet találataiból" -#: common/models.py:2343 +#: common/models.py:2349 msgid "Search Sales Orders" msgstr "Vevői rendelések keresése" -#: common/models.py:2344 +#: common/models.py:2350 msgid "Display sales orders in search preview window" msgstr "Vevői rendelések megjelenítése a keresési előnézetben" -#: common/models.py:2349 +#: common/models.py:2355 msgid "Exclude Inactive Sales Orders" msgstr "Inaktív vevői rendelések kihagyása" -#: common/models.py:2351 +#: common/models.py:2357 msgid "Exclude inactive sales orders from search preview window" msgstr "Inaktív vevői rendelések kihagyása a keresési előnézet találataiból" -#: common/models.py:2357 +#: common/models.py:2363 msgid "Search Return Orders" msgstr "Visszavétel keresése" -#: common/models.py:2358 +#: common/models.py:2364 msgid "Display return orders in search preview window" msgstr "Visszavételek megjelenítése a keresés előnézet ablakban" -#: common/models.py:2363 +#: common/models.py:2369 msgid "Exclude Inactive Return Orders" msgstr "Inaktív visszavételek kihagyása" -#: common/models.py:2365 +#: common/models.py:2371 msgid "Exclude inactive return orders from search preview window" msgstr "Inaktív visszavételek kihagyása a keresési előnézet találataiból" -#: common/models.py:2371 +#: common/models.py:2377 msgid "Search Preview Results" msgstr "Keresési előnézet eredményei" -#: common/models.py:2373 +#: common/models.py:2379 msgid "Number of results to show in each section of the search preview window" msgstr "A keresési előnézetben megjelenítendő eredmények száma szekciónként" -#: common/models.py:2379 +#: common/models.py:2385 msgid "Regex Search" msgstr "Regex keresés" -#: common/models.py:2380 +#: common/models.py:2386 msgid "Enable regular expressions in search queries" msgstr "Reguláris kifejezések engedélyezése a keresésekben" -#: common/models.py:2385 +#: common/models.py:2391 msgid "Whole Word Search" msgstr "Teljes szó keresés" -#: common/models.py:2386 +#: common/models.py:2392 msgid "Search queries return results for whole word matches" msgstr "A keresések csak teljes szóra egyező találatokat adjanak" -#: common/models.py:2391 +#: common/models.py:2397 msgid "Show Quantity in Forms" msgstr "Mennyiség megjelenítése a formokon" -#: common/models.py:2392 +#: common/models.py:2398 msgid "Display available part quantity in some forms" msgstr "Rendelkezésre álló alkatrész mennyiség megjelenítése néhány formon" -#: common/models.py:2397 +#: common/models.py:2403 msgid "Escape Key Closes Forms" msgstr "ESC billentyű zárja be a formot" -#: common/models.py:2398 +#: common/models.py:2404 msgid "Use the escape key to close modal forms" msgstr "ESC billentyű használata a modális formok bezárásához" -#: common/models.py:2403 +#: common/models.py:2409 msgid "Fixed Navbar" msgstr "Rögzített menüsor" -#: common/models.py:2404 +#: common/models.py:2410 msgid "The navbar position is fixed to the top of the screen" msgstr "A menü pozíciója mindig rögzítve a lap tetején" -#: common/models.py:2409 +#: common/models.py:2415 msgid "Date Format" msgstr "Dátum formátum" -#: common/models.py:2410 +#: common/models.py:2416 msgid "Preferred format for displaying dates" msgstr "Preferált dátum formátum a dátumok kijelzésekor" -#: common/models.py:2423 part/templates/part/detail.html:41 +#: common/models.py:2429 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Alkatrész ütemezés" -#: common/models.py:2424 +#: common/models.py:2430 msgid "Display part scheduling information" msgstr "Alkatrész ütemezési információk megjelenítése" -#: common/models.py:2429 part/templates/part/detail.html:62 +#: common/models.py:2435 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Alkatrész leltár" -#: common/models.py:2431 +#: common/models.py:2437 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "Alkatrész leltár információk megjelenítése (ha a leltár funkció engedélyezett)" -#: common/models.py:2437 +#: common/models.py:2443 msgid "Table String Length" msgstr "Táblázati szöveg hossz" -#: common/models.py:2439 +#: common/models.py:2445 msgid "Maximum length limit for strings displayed in table views" msgstr "Maximális szöveg hossz ami megjelenhet a táblázatokban" -#: common/models.py:2445 +#: common/models.py:2451 msgid "Default part label template" msgstr "Alapértelmezett alkatrész címke sablon" -#: common/models.py:2446 +#: common/models.py:2452 msgid "The part label template to be automatically selected" msgstr "Az alapértelmezetten kiválasztott alkatrész címke sablon" -#: common/models.py:2451 +#: common/models.py:2457 msgid "Default stock item template" msgstr "Alapértelmezett készlet címke sablon" -#: common/models.py:2453 +#: common/models.py:2459 msgid "The stock item label template to be automatically selected" msgstr "Az alapértelmezetten kiválasztott készlet címke sablon" -#: common/models.py:2459 +#: common/models.py:2465 msgid "Default stock location label template" msgstr "Alapértelmezett készlethely címke sablon" -#: common/models.py:2461 +#: common/models.py:2467 msgid "The stock location label template to be automatically selected" msgstr "Az alapértelmezetten kiválasztott készlethely címke sablon" -#: common/models.py:2467 +#: common/models.py:2473 msgid "Default build line label template" msgstr "Alapértelmezett gyártási tétel címke sablon" -#: common/models.py:2469 +#: common/models.py:2475 msgid "The build line label template to be automatically selected" msgstr "Az alapértelmezetten kiválasztott gyártási tétel címke sablon" -#: common/models.py:2475 +#: common/models.py:2481 msgid "Receive error reports" msgstr "Hibariportok fogadása" -#: common/models.py:2476 +#: common/models.py:2482 msgid "Receive notifications for system errors" msgstr "Értesítések fogadása a rendszerhibákról" -#: common/models.py:2481 +#: common/models.py:2487 msgid "Last used printing machines" msgstr "Utoljára használt nyomtató gépek" -#: common/models.py:2482 +#: common/models.py:2488 msgid "Save the last used printing machines for a user" msgstr "Az utoljára használt nyomtató tárolása a felhasználóhoz" -#: common/models.py:2525 +#: common/models.py:2531 msgid "Price break quantity" msgstr "Ársáv mennyiség" -#: common/models.py:2532 company/serializers.py:496 order/admin.py:42 -#: order/models.py:1333 order/models.py:2243 +#: common/models.py:2538 company/serializers.py:496 order/admin.py:42 +#: order/models.py:1373 order/models.py:2292 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 -#: templates/js/translated/return_order.js:741 +#: templates/js/translated/return_order.js:740 msgid "Price" msgstr "Ár" -#: common/models.py:2533 +#: common/models.py:2539 msgid "Unit price at specified quantity" msgstr "Egységár egy meghatározott mennyiség esetén" -#: common/models.py:2704 common/models.py:2889 +#: common/models.py:2710 common/models.py:2895 msgid "Endpoint" msgstr "Végpont" -#: common/models.py:2705 +#: common/models.py:2711 msgid "Endpoint at which this webhook is received" msgstr "Végpont ahol ez a webhook érkezik" -#: common/models.py:2715 +#: common/models.py:2721 msgid "Name for this webhook" msgstr "Webhook neve" -#: common/models.py:2719 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1045 -#: plugin/models.py:56 templates/js/translated/company.js:523 +#: common/models.py:2725 company/models.py:160 company/models.py:814 +#: machine/models.py:39 part/admin.py:88 part/models.py:1088 +#: plugin/models.py:65 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:492 @@ -3615,135 +3629,135 @@ msgstr "Webhook neve" msgid "Active" msgstr "Aktív" -#: common/models.py:2719 +#: common/models.py:2725 msgid "Is this webhook active" msgstr "Aktív-e ez a webhook" -#: common/models.py:2735 users/models.py:159 +#: common/models.py:2741 users/models.py:159 msgid "Token" msgstr "Token" -#: common/models.py:2736 +#: common/models.py:2742 msgid "Token for access" msgstr "Token a hozzáféréshez" -#: common/models.py:2744 +#: common/models.py:2750 msgid "Secret" msgstr "Titok" -#: common/models.py:2745 +#: common/models.py:2751 msgid "Shared secret for HMAC" msgstr "Megosztott titok a HMAC-hoz" -#: common/models.py:2853 +#: common/models.py:2859 msgid "Message ID" msgstr "Üzenet azonosító" -#: common/models.py:2854 +#: common/models.py:2860 msgid "Unique identifier for this message" msgstr "Egyedi azonosító ehhez az üzenethez" -#: common/models.py:2862 +#: common/models.py:2868 msgid "Host" msgstr "Kiszolgáló" -#: common/models.py:2863 +#: common/models.py:2869 msgid "Host from which this message was received" msgstr "Kiszolgáló ahonnan ez az üzenet érkezett" -#: common/models.py:2871 +#: common/models.py:2877 msgid "Header" msgstr "Fejléc" -#: common/models.py:2872 +#: common/models.py:2878 msgid "Header of this message" msgstr "Üzenet fejléce" -#: common/models.py:2879 +#: common/models.py:2885 msgid "Body" msgstr "Törzs" -#: common/models.py:2880 +#: common/models.py:2886 msgid "Body of this message" msgstr "Üzenet törzse" -#: common/models.py:2890 +#: common/models.py:2896 msgid "Endpoint on which this message was received" msgstr "Végpont amin ez az üzenet érkezett" -#: common/models.py:2895 +#: common/models.py:2901 msgid "Worked on" msgstr "Dolgozott rajta" -#: common/models.py:2896 +#: common/models.py:2902 msgid "Was the work on this message finished?" msgstr "Befejeződött a munka ezzel az üzenettel?" -#: common/models.py:3022 +#: common/models.py:3028 msgid "Id" msgstr "Azonosító" -#: common/models.py:3024 templates/js/translated/company.js:965 +#: common/models.py:3030 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "Cím" -#: common/models.py:3028 templates/js/translated/news.js:60 +#: common/models.py:3034 templates/js/translated/news.js:60 msgid "Published" msgstr "Közzétéve" -#: common/models.py:3030 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3036 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "Szerző" -#: common/models.py:3032 templates/js/translated/news.js:52 +#: common/models.py:3038 templates/js/translated/news.js:52 msgid "Summary" msgstr "Összefoglaló" -#: common/models.py:3035 +#: common/models.py:3041 msgid "Read" msgstr "Elolvasva" -#: common/models.py:3035 +#: common/models.py:3041 msgid "Was this news item read?" msgstr "Elolvasva?" -#: common/models.py:3052 company/models.py:156 part/models.py:929 +#: common/models.py:3058 company/models.py:156 part/models.py:972 #: 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 +#: report/templates/report/inventree_return_order_report.html:35 #: stock/templates/stock/item_base.html:133 templates/503.html:31 #: templates/hover_image.html:7 templates/hover_image.html:9 #: templates/modals.html:6 msgid "Image" msgstr "Kép" -#: common/models.py:3052 +#: common/models.py:3058 msgid "Image file" msgstr "Képfájl" -#: common/models.py:3094 +#: common/models.py:3100 msgid "Unit name must be a valid identifier" msgstr "A mértékegységnek valós azonosítónak kell lennie" -#: common/models.py:3113 +#: common/models.py:3119 msgid "Unit name" msgstr "Egység neve" -#: common/models.py:3120 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3126 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "Szimbólum" -#: common/models.py:3121 +#: common/models.py:3127 msgid "Optional unit symbol" msgstr "Opcionális mértékegység szimbólum" -#: common/models.py:3128 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3134 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "Definíció" -#: common/models.py:3129 +#: common/models.py:3135 msgid "Unit definition" msgstr "Mértékegység definíció" @@ -3930,9 +3944,9 @@ msgid "Contact email address" msgstr "Kapcsolattartó email címe" #: company/models.py:139 company/templates/company/company_base.html:145 -#: order/models.py:331 order/templates/order/order_base.html:203 +#: order/models.py:344 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 -#: order/templates/order/sales_order_base.html:214 +#: order/templates/order/sales_order_base.html:218 msgid "Contact" msgstr "Névjegy" @@ -3978,7 +3992,7 @@ msgstr "Cég által használt alapértelmezett pénznem" #: company/models.py:273 company/models.py:382 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:776 +#: company/templates/company/company_base.html:12 stock/api.py:810 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "Cég" @@ -4070,8 +4084,8 @@ msgstr "Szállítási megjegyzések belső használatra" msgid "Link to address information (external)" msgstr "Link a címinformációkhoz (külső)" -#: company/models.py:489 company/models.py:792 stock/models.py:751 -#: stock/serializers.py:266 stock/templates/stock/item_base.html:142 +#: company/models.py:489 company/models.py:792 stock/models.py:772 +#: stock/serializers.py:395 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "Kiindulási alkatrész" @@ -4082,7 +4096,7 @@ msgstr "Válassz alkatrészt" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:515 +#: company/templates/company/supplier_part.html:145 part/serializers.py:530 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4097,13 +4111,13 @@ msgid "Select manufacturer" msgstr "Gyártó kiválasztása" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:525 +#: company/templates/company/supplier_part.html:153 part/serializers.py:540 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800 -#: templates/js/translated/purchase_order.js:1852 -#: templates/js/translated/purchase_order.js:2054 +#: templates/js/translated/purchase_order.js:1851 +#: templates/js/translated/purchase_order.js:2053 msgid "MPN" msgstr "MPN (Gyártói cikkszám)" @@ -4130,9 +4144,8 @@ msgstr "Gyártói alkatrész" msgid "Parameter name" msgstr "Paraméter neve" -#: company/models.py:621 -#: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2448 templates/js/translated/company.js:1166 +#: company/models.py:621 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2425 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492 #: templates/js/translated/stock.js:1522 msgid "Value" @@ -4143,10 +4156,10 @@ msgid "Parameter value" msgstr "Paraméter értéke" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1009 part/models.py:3623 +#: part/admin.py:57 part/models.py:1052 part/models.py:3666 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 -#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370 +#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 msgid "Units" msgstr "Mértékegység" @@ -4167,9 +4180,9 @@ 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:802 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:465 +#: company/templates/company/supplier_part.html:129 order/models.py:487 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:499 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:514 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4177,7 +4190,7 @@ msgstr "Kapcsolódó gyártói alkatrésznek ugyanarra a kiindulási alkatrészr #: templates/js/translated/company.js:511 #: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1690 +#: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/table_filters.js:804 msgid "Supplier" msgstr "Beszállító" @@ -4186,7 +4199,7 @@ msgstr "Beszállító" msgid "Select supplier" msgstr "Beszállító kiválasztása" -#: company/models.py:809 part/serializers.py:510 +#: company/models.py:809 part/serializers.py:525 msgid "Supplier stock keeping unit" msgstr "Beszállítói cikkszám" @@ -4207,29 +4220,29 @@ msgid "Supplier part description" msgstr "Beszállítói alkatrész leírása" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:418 part/models.py:4070 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4113 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 -#: report/templates/report/inventree_slr_report.html:105 -#: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:579 +#: report/templates/report/inventree_purchase_order_report.html:32 +#: report/templates/report/inventree_return_order_report.html:27 +#: report/templates/report/inventree_sales_order_report.html:32 +#: report/templates/report/inventree_stock_location_report.html:105 +#: stock/serializers.py:708 msgid "Note" msgstr "Megjegyzés" -#: company/models.py:857 part/models.py:1967 +#: company/models.py:857 part/models.py:2010 msgid "base cost" msgstr "alap költség" -#: company/models.py:858 part/models.py:1968 +#: company/models.py:858 part/models.py:2011 msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimális díj (pl. tárolási díj)" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:782 stock/serializers.py:1350 +#: stock/admin.py:224 stock/models.py:803 stock/serializers.py:1479 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 -#: templates/js/translated/stock.js:2426 +#: templates/js/translated/stock.js:2424 msgid "Packaging" msgstr "Csomagolás" @@ -4242,8 +4255,8 @@ msgstr "Alkatrész csomagolás" #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 -#: templates/js/translated/purchase_order.js:2085 -#: templates/js/translated/purchase_order.js:2102 +#: templates/js/translated/purchase_order.js:2084 +#: templates/js/translated/purchase_order.js:2101 msgid "Pack Quantity" msgstr "Csomagolási mennyiség" @@ -4251,7 +4264,7 @@ msgstr "Csomagolási mennyiség" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "Egy csomagban kiszállítható mennyiség, hagyd üresen az egyedi tételeknél." -#: company/models.py:892 part/models.py:1974 +#: company/models.py:892 part/models.py:2017 msgid "multiple" msgstr "többszörös" @@ -4286,7 +4299,7 @@ msgstr "Készleten" #: part/templates/part/part_base.html:146 #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 -#: templates/js/translated/model_renderers.js:306 +#: templates/js/translated/model_renderers.js:312 #: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 msgid "Inactive" msgstr "Inaktív" @@ -4322,11 +4335,11 @@ msgstr "Cég törlése" #: company/templates/company/manufacturer_part.html:51 #: company/templates/company/supplier_part.html:83 #: part/templates/part/part_thumb.html:20 -#: report/templates/report/inventree_build_order_base.html:98 -#: report/templates/report/inventree_po_report_base.html:40 -#: report/templates/report/inventree_so_report_base.html:40 -#: report/templates/report/inventree_test_report_base.html:84 -#: report/templates/report/inventree_test_report_base.html:163 +#: report/templates/report/inventree_build_order_report.html:98 +#: report/templates/report/inventree_purchase_order_report.html:40 +#: report/templates/report/inventree_sales_order_report.html:40 +#: report/templates/report/inventree_test_report.html:84 +#: report/templates/report/inventree_test_report.html:163 msgid "Part image" msgstr "Alkatrész képe" @@ -4345,16 +4358,16 @@ msgstr "Kép letöltése URL-ről" msgid "Delete image" msgstr "Kép törlése" -#: company/templates/company/company_base.html:92 order/models.py:910 -#: order/models.py:2010 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:144 stock/models.py:804 -#: stock/models.py:805 stock/serializers.py:1100 +#: company/templates/company/company_base.html:92 order/models.py:941 +#: order/models.py:2059 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:148 stock/models.py:825 +#: stock/models.py:826 stock/serializers.py:1229 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 -#: templates/js/translated/return_order.js:296 -#: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2962 +#: templates/js/translated/return_order.js:295 +#: templates/js/translated/sales_order.js:820 +#: templates/js/translated/stock.js:2959 #: templates/js/translated/table_filters.js:808 msgid "Customer" msgstr "Vevő" @@ -4363,10 +4376,10 @@ msgstr "Vevő" msgid "Uses default currency" msgstr "Alapértelmezett pénznemet használja" -#: company/templates/company/company_base.html:124 order/models.py:341 +#: company/templates/company/company_base.html:124 order/models.py:354 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 -#: order/templates/order/sales_order_base.html:221 +#: order/templates/order/sales_order_base.html:225 msgid "Address" msgstr "Cím" @@ -4375,7 +4388,7 @@ msgid "Phone" msgstr "Telefonszám" #: company/templates/company/company_base.html:211 -#: part/templates/part/part_base.html:528 +#: part/templates/part/part_base.html:527 msgid "Remove Image" msgstr "Kép eltávolítása" @@ -4384,19 +4397,19 @@ msgid "Remove associated image from this company" msgstr "Céghez rendelt kép eltávolítása" #: company/templates/company/company_base.html:214 -#: part/templates/part/part_base.html:531 +#: part/templates/part/part_base.html:530 #: templates/InvenTree/settings/user.html:88 #: templates/InvenTree/settings/user_sso.html:43 msgid "Remove" msgstr "Törlés" #: company/templates/company/company_base.html:243 -#: part/templates/part/part_base.html:560 +#: part/templates/part/part_base.html:559 msgid "Upload Image" msgstr "Kép feltöltése" #: company/templates/company/company_base.html:258 -#: part/templates/part/part_base.html:614 +#: part/templates/part/part_base.html:613 msgid "Download Image" msgstr "Kép letöltése" @@ -4559,7 +4572,7 @@ msgstr "Nincs elérhető gyártói információ" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:821 +#: part/admin.py:122 part/serializers.py:836 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4610,10 +4623,10 @@ msgstr "Címek" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:452 -#: stock/models.py:762 stock/templates/stock/item_base.html:233 +#: stock/models.py:783 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 -#: templates/js/translated/stock.js:2282 +#: templates/js/translated/stock.js:2280 msgid "Supplier Part" msgstr "Beszállítói alkatrész" @@ -4659,11 +4672,11 @@ msgid "No supplier information available" msgstr "Nincs elérhető beszállítói információ" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:509 +#: part/bom.py:311 part/serializers.py:524 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1851 -#: templates/js/translated/purchase_order.js:2029 +#: templates/js/translated/purchase_order.js:1850 +#: templates/js/translated/purchase_order.js:2028 msgid "SKU" msgstr "SKU (leltári azonosító)" @@ -4672,12 +4685,12 @@ msgid "Supplier Part Stock" msgstr "Beszállítói készlet" #: company/templates/company/supplier_part.html:209 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:199 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:206 msgid "Create new stock item" msgstr "Új készlet tétel létrehozása" #: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:200 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:207 #: templates/js/translated/stock.js:537 msgid "New Stock Item" msgstr "Új készlet tétel" @@ -4709,16 +4722,16 @@ msgid "Update Part Availability" msgstr "Alkatrész elérhetőség frissítése" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:820 part/stocktake.py:223 +#: part/serializers.py:835 part/stocktake.py:223 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:787 stock/serializers.py:951 +#: stock/serializers.py:916 stock/serializers.py:1080 #: stock/templates/stock/location.html:170 -#: stock/templates/stock/location.html:184 -#: stock/templates/stock/location.html:196 +#: stock/templates/stock/location.html:191 +#: stock/templates/stock/location.html:203 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2769 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 #: users/models.py:206 msgid "Stock Items" msgstr "Készlet tételek" @@ -4752,126 +4765,48 @@ msgstr "Cégek" msgid "New Company" msgstr "Új cég" -#: label/api.py:247 -msgid "Error printing label" -msgstr "Címkenyomtatási hiba" - -#: label/models.py:120 -msgid "Label name" -msgstr "Címke neve" - -#: label/models.py:128 -msgid "Label description" -msgstr "Címke leírása" - -#: label/models.py:136 -msgid "Label" -msgstr "Címke" - -#: label/models.py:137 -msgid "Label template file" -msgstr "Címke sablon fájl" - -#: label/models.py:143 part/models.py:3494 report/models.py:324 -#: templates/js/translated/part.js:2900 -#: templates/js/translated/table_filters.js:481 -msgid "Enabled" -msgstr "Engedélyezve" - -#: label/models.py:144 -msgid "Label template is enabled" -msgstr "Címke sablon engedélyezve" - -#: label/models.py:149 -msgid "Width [mm]" -msgstr "Szélesség [mm]" - -#: label/models.py:150 -msgid "Label width, specified in mm" -msgstr "Címke szélessége, mm-ben" - -#: label/models.py:156 -msgid "Height [mm]" -msgstr "Magasság [mm]" - -#: label/models.py:157 -msgid "Label height, specified in mm" -msgstr "Címke magassága, mm-ben" - -#: label/models.py:163 report/models.py:317 -msgid "Filename Pattern" -msgstr "Fájlnév minta" - -#: label/models.py:164 -msgid "Pattern for generating label filenames" -msgstr "Minta a címke fájlnevek előállításához" - -#: label/models.py:313 label/models.py:352 label/models.py:377 -#: label/models.py:412 -msgid "Query filters (comma-separated list of key=value pairs)" -msgstr "Lekérdezés szűrők (vesszővel elválasztott kulcs=érték párok)" - -#: label/models.py:314 label/models.py:353 label/models.py:378 -#: label/models.py:413 report/models.py:345 report/models.py:496 -#: report/models.py:532 report/models.py:568 report/models.py:750 -msgid "Filters" -msgstr "Szűrők" - -#: label/templates/label/part/part_label.html:31 -#: label/templates/label/stockitem/qr.html:21 -#: label/templates/label/stocklocation/qr.html:20 -#: templates/allauth_2fa/setup.html:18 -msgid "QR Code" -msgstr "QR kód" - -#: label/templates/label/part/part_label_code128.html:31 -#: label/templates/label/stocklocation/qr_and_text.html:31 -#: templates/qr_code.html:7 -msgid "QR code" -msgstr "QR kód" - -#: machine/machine_types/label_printer.py:217 +#: machine/machine_types/label_printer.py:218 msgid "Copies" msgstr "Másolatok" -#: machine/machine_types/label_printer.py:218 +#: machine/machine_types/label_printer.py:219 msgid "Number of copies to print for each label" msgstr "Címkénkénti nyomtatandó mennyiség" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:234 msgid "Connected" msgstr "Csatlakoztatba" -#: machine/machine_types/label_printer.py:234 order/api.py:1515 -#: templates/js/translated/sales_order.js:1042 +#: machine/machine_types/label_printer.py:235 order/api.py:1515 +#: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "Ismeretlen" -#: machine/machine_types/label_printer.py:235 +#: machine/machine_types/label_printer.py:236 msgid "Printing" msgstr "Nyomtatás" -#: machine/machine_types/label_printer.py:236 +#: machine/machine_types/label_printer.py:237 msgid "No media" msgstr "Nincs papír" -#: machine/machine_types/label_printer.py:237 +#: machine/machine_types/label_printer.py:238 msgid "Disconnected" msgstr "Nincs kapcsolat" -#: machine/machine_types/label_printer.py:244 +#: machine/machine_types/label_printer.py:245 msgid "Label Printer" msgstr "Címkenyomtató" -#: machine/machine_types/label_printer.py:245 +#: machine/machine_types/label_printer.py:246 msgid "Directly print labels for various items." msgstr "Közvetlen címkenyomtatás különféle tételekre." -#: machine/machine_types/label_printer.py:251 +#: machine/machine_types/label_printer.py:252 msgid "Printer Location" msgstr "Nyomtató helye" -#: machine/machine_types/label_printer.py:252 +#: machine/machine_types/label_printer.py:253 msgid "Scope the printer to a specific location" msgstr "Nyomtató korlátozása egy készlethelyhez" @@ -4931,19 +4866,19 @@ msgstr "Gép konfiguráció" msgid "Config type" msgstr "Konfiguráció típusa" -#: order/admin.py:30 order/models.py:89 -#: report/templates/report/inventree_po_report_base.html:31 -#: report/templates/report/inventree_so_report_base.html:31 +#: order/admin.py:30 order/models.py:90 +#: report/templates/report/inventree_purchase_order_report.html:31 +#: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2126 -#: templates/js/translated/sales_order.js:1847 +#: templates/js/translated/purchase_order.js:2125 +#: templates/js/translated/sales_order.js:1883 msgid "Total Price" msgstr "Teljes ár" #: order/api.py:161 order/serializers.py:91 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 -#: order/templates/order/sales_order_base.html:118 +#: order/templates/order/sales_order_base.html:122 msgid "Order Status" msgstr "Rendelés állapota" @@ -4956,10 +4891,10 @@ msgstr "Van árazás" msgid "No matching purchase order found" msgstr "Nincs egyező beszerzési rendelés" -#: order/api.py:437 order/api.py:817 order/models.py:1382 order/models.py:1491 -#: order/models.py:1537 order/models.py:1651 order/models.py:1805 -#: order/models.py:2209 order/models.py:2260 -#: templates/js/translated/sales_order.js:1488 +#: order/api.py:437 order/api.py:817 order/models.py:1422 order/models.py:1531 +#: order/models.py:1577 order/models.py:1691 order/models.py:1845 +#: order/models.py:2258 order/models.py:2309 +#: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "Rendelés" @@ -4971,402 +4906,398 @@ msgstr "A rendelés teljesítve" msgid "Order Pending" msgstr "A rendelés függőben" -#: order/api.py:1509 order/models.py:1383 order/models.py:1492 -#: order/templates/order/order_base.html:9 +#: order/api.py:1509 order/models.py:381 order/models.py:1423 +#: order/models.py:1532 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 -#: report/templates/report/inventree_po_report_base.html:14 -#: stock/templates/stock/item_base.html:176 +#: report/templates/report/inventree_purchase_order_report.html:14 +#: stock/serializers.py:119 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 -#: templates/js/translated/purchase_order.js:1674 -#: templates/js/translated/stock.js:2262 templates/js/translated/stock.js:2910 +#: templates/js/translated/purchase_order.js:1673 +#: templates/js/translated/stock.js:2260 templates/js/translated/stock.js:2907 msgid "Purchase Order" msgstr "Beszerzési rendelés" -#: order/api.py:1513 order/models.py:2210 order/models.py:2261 -#: order/templates/order/return_order_base.html:9 +#: order/api.py:1513 order/models.py:2008 order/models.py:2259 +#: order/models.py:2310 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:281 -#: templates/js/translated/stock.js:2944 +#: report/templates/report/inventree_return_order_report.html:13 +#: templates/js/translated/return_order.js:280 +#: templates/js/translated/stock.js:2941 msgid "Return Order" msgstr "Visszavétel" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "A rendelés teljes ára" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:96 order/serializers.py:71 msgid "Order Currency" msgstr "Rendelés pénzneme" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:99 order/serializers.py:72 msgid "Currency for this order (leave blank to use company default)" msgstr "Megrendeléshez használt pénznem (hagyd üresen a cégnél alapértelmezetthez)" -#: order/models.py:246 +#: order/models.py:248 msgid "Contact does not match selected company" msgstr "A kapcsolattartó nem egyezik a kiválasztott céggel" -#: order/models.py:278 +#: order/models.py:291 msgid "Order description (optional)" msgstr "Rendelés leírása (opcionális)" -#: order/models.py:287 +#: order/models.py:300 msgid "Select project code for this order" msgstr "Válassz projektszámot ehhez a rendeléshez" -#: order/models.py:291 order/models.py:1288 order/models.py:1704 +#: order/models.py:304 order/models.py:1328 order/models.py:1744 msgid "Link to external page" msgstr "Link külső weboldalra" -#: order/models.py:299 +#: order/models.py:312 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "Várt teljesítési dátuma a megrendelésnek. Ezután már késésben lévőnek számít majd." -#: order/models.py:313 +#: order/models.py:326 msgid "Created By" msgstr "Készítette" -#: order/models.py:321 +#: order/models.py:334 msgid "User or group responsible for this order" msgstr "Felhasználó vagy csoport aki felelőse ennek a rendelésnek" -#: order/models.py:332 +#: order/models.py:345 msgid "Point of contact for this order" msgstr "Kapcsolattartó ehhez a rendeléshez" -#: order/models.py:342 +#: order/models.py:355 msgid "Company address for this order" msgstr "Cég címei ehhez a rendeléshez" -#: order/models.py:443 order/models.py:899 +#: order/models.py:465 order/models.py:930 msgid "Order reference" msgstr "Rendelés azonosító" -#: order/models.py:451 order/models.py:923 +#: order/models.py:473 order/models.py:954 msgid "Purchase order status" msgstr "Beszerzési rendelés állapota" -#: order/models.py:466 +#: order/models.py:488 msgid "Company from which the items are being ordered" msgstr "Cég akitől a tételek beszerzésre kerülnek" -#: order/models.py:477 order/templates/order/order_base.html:148 -#: templates/js/translated/purchase_order.js:1703 +#: order/models.py:499 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1702 msgid "Supplier Reference" msgstr "Beszállítói azonosító" -#: order/models.py:478 +#: order/models.py:500 msgid "Supplier order reference code" msgstr "Beszállítói rendelés azonosító kód" -#: order/models.py:487 +#: order/models.py:509 msgid "received by" msgstr "érkeztette" -#: order/models.py:493 order/models.py:2036 +#: order/models.py:515 order/models.py:2085 msgid "Issue Date" msgstr "Kiállítás dátuma" -#: order/models.py:494 order/models.py:2037 +#: order/models.py:516 order/models.py:2086 msgid "Date order was issued" msgstr "Kiállítás dátuma" -#: order/models.py:501 order/models.py:2044 +#: order/models.py:523 order/models.py:2093 msgid "Date order was completed" msgstr "Rendelés teljesítési dátuma" -#: order/models.py:545 +#: order/models.py:567 msgid "Part supplier must match PO supplier" msgstr "Az alkatrész beszállítója meg kell egyezzen a beszerzési rendelés beszállítójával" -#: order/models.py:739 +#: order/models.py:761 msgid "Quantity must be a positive number" msgstr "Mennyiség pozitív kell legyen" -#: order/models.py:911 +#: order/models.py:942 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:934 order/models.py:2029 +#: order/models.py:965 order/models.py:2078 msgid "Customer Reference " msgstr "Vevői azonosító " -#: order/models.py:935 order/models.py:2030 +#: order/models.py:966 order/models.py:2079 msgid "Customer order reference code" msgstr "Megrendelés azonosító kódja a vevőnél" -#: order/models.py:939 order/models.py:1658 -#: templates/js/translated/sales_order.js:843 -#: templates/js/translated/sales_order.js:1024 +#: order/models.py:970 order/models.py:1698 +#: templates/js/translated/sales_order.js:879 +#: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "Kiszállítás dátuma" -#: order/models.py:948 +#: order/models.py:979 msgid "shipped by" msgstr "szállította" -#: order/models.py:999 -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:1004 +#: order/models.py:1029 msgid "Only an open order can be marked as complete" msgstr "Csak nyitott rendelés jelölhető késznek" -#: order/models.py:1008 templates/js/translated/sales_order.js:506 +#: order/models.py:1033 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:1013 +#: order/models.py:1038 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:1260 +#: order/models.py:1300 msgid "Item quantity" msgstr "Tétel mennyiség" -#: order/models.py:1277 +#: order/models.py:1317 msgid "Line item reference" msgstr "Sortétel azonosító" -#: order/models.py:1284 +#: order/models.py:1324 msgid "Line item notes" msgstr "Sortétel megjegyzései" -#: order/models.py:1296 +#: order/models.py:1336 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:1317 +#: order/models.py:1357 msgid "Line item description (optional)" msgstr "Sortétel leírása (opcionális)" -#: order/models.py:1323 +#: order/models.py:1363 msgid "Context" msgstr "Kontextus" -#: order/models.py:1324 +#: order/models.py:1364 msgid "Additional context for this line" msgstr "További kontextus ehhez a sorhoz" -#: order/models.py:1334 +#: order/models.py:1374 msgid "Unit price" msgstr "Egységár" -#: order/models.py:1367 +#: order/models.py:1407 msgid "Supplier part must match supplier" msgstr "Beszállítói alkatrésznek egyeznie kell a beszállítóval" -#: order/models.py:1374 +#: order/models.py:1414 msgid "deleted" msgstr "törölve" -#: order/models.py:1402 +#: order/models.py:1442 msgid "Supplier part" msgstr "Beszállítói alkatrész" -#: order/models.py:1409 order/templates/order/order_base.html:196 +#: order/models.py:1449 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 #: templates/js/translated/purchase_order.js:1306 -#: templates/js/translated/purchase_order.js:2170 -#: templates/js/translated/return_order.js:764 +#: templates/js/translated/purchase_order.js:2169 +#: templates/js/translated/return_order.js:763 #: templates/js/translated/table_filters.js:120 #: templates/js/translated/table_filters.js:602 msgid "Received" msgstr "Beérkezett" -#: order/models.py:1410 +#: order/models.py:1450 msgid "Number of items received" msgstr "Érkezett tételek száma" -#: order/models.py:1418 stock/models.py:923 stock/serializers.py:400 +#: order/models.py:1458 stock/models.py:944 stock/serializers.py:529 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2313 +#: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "Beszerzési ár" -#: order/models.py:1419 +#: order/models.py:1459 msgid "Unit purchase price" msgstr "Beszerzési egységár" -#: order/models.py:1434 +#: order/models.py:1474 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:1525 +#: order/models.py:1565 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:1530 +#: order/models.py:1570 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:1556 part/templates/part/part_pricing.html:107 +#: order/models.py:1596 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "Eladási ár" -#: order/models.py:1557 +#: order/models.py:1597 msgid "Unit sale price" msgstr "Eladási egységár" -#: order/models.py:1567 +#: order/models.py:1607 msgid "Shipped quantity" msgstr "Szállított mennyiség" -#: order/models.py:1659 +#: order/models.py:1699 msgid "Date of shipment" msgstr "Szállítás dátuma" -#: order/models.py:1665 templates/js/translated/sales_order.js:1036 +#: order/models.py:1705 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "Szállítási dátum" -#: order/models.py:1666 +#: order/models.py:1706 msgid "Date of delivery of shipment" msgstr "Kézbesítés dátuma" -#: order/models.py:1674 +#: order/models.py:1714 msgid "Checked By" msgstr "Ellenőrizte" -#: order/models.py:1675 +#: order/models.py:1715 msgid "User who checked this shipment" msgstr "Felhasználó aki ellenőrizte ezt a szállítmányt" -#: order/models.py:1682 order/models.py:1895 order/serializers.py:1354 -#: order/serializers.py:1464 templates/js/translated/model_renderers.js:448 +#: order/models.py:1722 order/models.py:1935 order/serializers.py:1354 +#: order/serializers.py:1464 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "Szállítmány" -#: order/models.py:1683 +#: order/models.py:1723 msgid "Shipment number" msgstr "Szállítmány száma" -#: order/models.py:1691 +#: order/models.py:1731 msgid "Tracking Number" msgstr "Nyomkövetési szám" -#: order/models.py:1692 +#: order/models.py:1732 msgid "Shipment tracking information" msgstr "Szállítmány nyomkövetési információ" -#: order/models.py:1699 +#: order/models.py:1739 msgid "Invoice Number" msgstr "Számlaszám" -#: order/models.py:1700 +#: order/models.py:1740 msgid "Reference number for associated invoice" msgstr "Hozzátartozó számla referencia száma" -#: order/models.py:1720 +#: order/models.py:1760 msgid "Shipment has already been sent" msgstr "Szállítmány már elküldve" -#: order/models.py:1723 +#: order/models.py:1763 msgid "Shipment has no allocated stock items" msgstr "Szállítmány nem tartalmaz foglalt készlet tételeket" -#: order/models.py:1841 order/models.py:1843 +#: order/models.py:1881 order/models.py:1883 msgid "Stock item has not been assigned" msgstr "Készlet tétel nincs hozzárendelve" -#: order/models.py:1850 +#: order/models.py:1890 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:1853 +#: order/models.py:1893 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:1856 +#: order/models.py:1896 msgid "Allocation quantity cannot exceed stock quantity" msgstr "A lefoglalandó mennyiség nem haladhatja meg a készlet mennyiségét" -#: order/models.py:1875 order/serializers.py:1231 +#: order/models.py:1915 order/serializers.py:1231 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:1878 +#: order/models.py:1918 msgid "Sales order does not match shipment" msgstr "Vevői rendelés nem egyezik a szállítmánnyal" -#: order/models.py:1879 plugin/base/barcodes/api.py:481 +#: order/models.py:1919 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "Szállítmány nem egyezik a vevői rendeléssel" -#: order/models.py:1887 +#: order/models.py:1927 msgid "Line" msgstr "Sor" -#: order/models.py:1896 +#: order/models.py:1936 msgid "Sales order shipment reference" msgstr "Vevői rendelés szállítmány azonosító" -#: order/models.py:1909 order/models.py:2217 -#: templates/js/translated/return_order.js:722 +#: order/models.py:1949 order/models.py:2266 +#: templates/js/translated/return_order.js:721 msgid "Item" msgstr "Tétel" -#: order/models.py:1910 +#: order/models.py:1950 msgid "Select stock item to allocate" msgstr "Válaszd ki a foglalásra szánt készlet tételt" -#: order/models.py:1919 +#: order/models.py:1959 msgid "Enter stock allocation quantity" msgstr "Készlet foglalási mennyiség megadása" -#: order/models.py:1999 +#: order/models.py:2048 msgid "Return Order reference" msgstr "Visszavétel azonosító" -#: order/models.py:2011 +#: order/models.py:2060 msgid "Company from which items are being returned" msgstr "Cég akitől a tételek visszavételre kerülnek" -#: order/models.py:2023 +#: order/models.py:2072 msgid "Return order status" msgstr "Visszavétel állapota" -#: order/models.py:2202 +#: order/models.py:2251 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:2218 +#: order/models.py:2267 msgid "Select item to return from customer" msgstr "Válaszd ki a vevőtől visszavenni kívánt tételt" -#: order/models.py:2224 +#: order/models.py:2273 msgid "Received Date" msgstr "Visszavétel dátuma" -#: order/models.py:2225 +#: order/models.py:2274 msgid "The date this this return item was received" msgstr "Mikor lett visszavéve a tétel" -#: order/models.py:2236 templates/js/translated/return_order.js:733 +#: order/models.py:2285 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "Kimenetel" -#: order/models.py:2237 +#: order/models.py:2286 msgid "Outcome for this line item" msgstr "Sortétel végső kimenetele" -#: order/models.py:2244 +#: order/models.py:2293 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" #: order/serializers.py:80 order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 -#: report/templates/report/inventree_po_report_base.html:22 -#: report/templates/report/inventree_return_order_report_base.html:19 -#: report/templates/report/inventree_so_report_base.html:22 +#: report/templates/report/inventree_purchase_order_report.html:22 +#: report/templates/report/inventree_return_order_report.html:19 +#: report/templates/report/inventree_sales_order_report.html:22 msgid "Line Items" msgstr "Sortételek" @@ -5596,7 +5527,7 @@ msgstr "Rendelés teljesítettnek jelölése" #: order/templates/order/order_base.html:84 #: order/templates/order/return_order_base.html:87 -#: order/templates/order/sales_order_base.html:93 +#: order/templates/order/sales_order_base.html:97 msgid "Complete Order" msgstr "Rendelés befejezése" @@ -5606,13 +5537,13 @@ msgstr "Beszállítói alkatrész bélyegkép" #: order/templates/order/order_base.html:106 #: order/templates/order/return_order_base.html:101 -#: order/templates/order/sales_order_base.html:106 +#: order/templates/order/sales_order_base.html:110 msgid "Order Reference" msgstr "Rendelés azonosítója" #: order/templates/order/order_base.html:111 #: order/templates/order/return_order_base.html:106 -#: order/templates/order/sales_order_base.html:111 +#: order/templates/order/sales_order_base.html:115 msgid "Order Description" msgstr "Rendelés leírása" @@ -5621,19 +5552,19 @@ msgid "No suppplier information available" msgstr "Nincs elérhető beszállítói információ" #: order/templates/order/order_base.html:154 -#: order/templates/order/sales_order_base.html:157 +#: order/templates/order/sales_order_base.html:161 msgid "Completed Line Items" msgstr "Kész sortételek" #: order/templates/order/order_base.html:160 -#: order/templates/order/sales_order_base.html:163 -#: order/templates/order/sales_order_base.html:173 +#: order/templates/order/sales_order_base.html:167 +#: order/templates/order/sales_order_base.html:177 msgid "Incomplete" msgstr "Hiányos" #: order/templates/order/order_base.html:179 #: order/templates/order/return_order_base.html:157 -#: report/templates/report/inventree_build_order_base.html:121 +#: report/templates/report/inventree_build_order_report.html:121 msgid "Issued" msgstr "Kiküldve" @@ -5643,15 +5574,15 @@ msgstr "Teljes költség" #: order/templates/order/order_base.html:228 #: order/templates/order/return_order_base.html:199 -#: order/templates/order/sales_order_base.html:239 +#: order/templates/order/sales_order_base.html:243 msgid "Total cost could not be calculated" msgstr "A teljes költség nem számolható" -#: order/templates/order/order_base.html:318 +#: order/templates/order/order_base.html:314 msgid "Purchase Order QR Code" msgstr "Beszerzési rendelés QR kódja" -#: order/templates/order/order_base.html:330 +#: order/templates/order/order_base.html:326 msgid "Link Barcode to Purchase Order" msgstr "Vonalkód hozzáadása a beszerzési rendeléshez" @@ -5708,8 +5639,8 @@ msgstr "Kijelöltek másolása" #: templates/js/translated/build.js:1629 #: templates/js/translated/purchase_order.js:696 #: templates/js/translated/purchase_order.js:1236 -#: templates/js/translated/return_order.js:506 -#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/return_order.js:505 +#: templates/js/translated/sales_order.js:1145 #: templates/js/translated/stock.js:714 templates/js/translated/stock.js:883 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -5763,7 +5694,7 @@ msgstr "Beszerzési rendelés tételei" #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 #: templates/js/translated/purchase_order.js:414 -#: templates/js/translated/return_order.js:459 +#: templates/js/translated/return_order.js:458 #: templates/js/translated/sales_order.js:237 msgid "Add Line Item" msgstr "Sortétel hozzáadása" @@ -5812,30 +5743,30 @@ msgid "Print packing list" msgstr "Csomagolási lista nyomtatása" #: order/templates/order/return_order_base.html:138 -#: order/templates/order/sales_order_base.html:151 -#: templates/js/translated/return_order.js:309 -#: templates/js/translated/sales_order.js:797 +#: order/templates/order/sales_order_base.html:155 +#: templates/js/translated/return_order.js:308 +#: templates/js/translated/sales_order.js:833 msgid "Customer Reference" msgstr "Vevői azonosító" #: order/templates/order/return_order_base.html:195 -#: order/templates/order/sales_order_base.html:235 +#: order/templates/order/sales_order_base.html:239 #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1072 -#: templates/js/translated/purchase_order.js:1753 -#: templates/js/translated/return_order.js:381 -#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/purchase_order.js:1752 +#: templates/js/translated/return_order.js:380 +#: templates/js/translated/sales_order.js:891 msgid "Total Cost" msgstr "Teljes költség" -#: order/templates/order/return_order_base.html:263 +#: order/templates/order/return_order_base.html:259 msgid "Return Order QR Code" msgstr "Visszavétel QR kódja" -#: order/templates/order/return_order_base.html:275 +#: order/templates/order/return_order_base.html:271 msgid "Link Barcode to Return Order" msgstr "Vonalkód visszavételhez rendelése" @@ -5853,25 +5784,30 @@ msgid "Ship Items" msgstr "Tételek kiszállítása" #: order/templates/order/sales_order_base.html:92 -#: templates/js/translated/sales_order.js:484 +#: order/templates/order/sales_order_base.html:93 +msgid "Mark As Shipped" +msgstr "" + +#: order/templates/order/sales_order_base.html:96 +#: templates/js/translated/sales_order.js:536 msgid "Complete Sales Order" msgstr "Vevői rendelés befejezése, minden kiszállítva" -#: order/templates/order/sales_order_base.html:131 +#: order/templates/order/sales_order_base.html:135 msgid "This Sales Order has not been fully allocated" msgstr "Ehhez a vevői rendeléshez nincs minden alkatrész lefoglalva" -#: order/templates/order/sales_order_base.html:169 +#: order/templates/order/sales_order_base.html:173 #: order/templates/order/sales_order_detail.html:99 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "Kész szállítmányok" -#: order/templates/order/sales_order_base.html:312 +#: order/templates/order/sales_order_base.html:321 msgid "Sales Order QR Code" msgstr "Vevő rendelés QR kódja" -#: order/templates/order/sales_order_base.html:324 +#: order/templates/order/sales_order_base.html:333 msgid "Link Barcode to Sales Order" msgstr "Vonalkód hozzáadása a vevői rendeléshez" @@ -5915,12 +5851,12 @@ 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:39 part/admin.py:404 part/models.py:3921 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:406 part/models.py:3964 part/stocktake.py:218 #: stock/admin.py:153 msgid "Part ID" msgstr "Alkatrész ID" -#: part/admin.py:41 part/admin.py:411 part/models.py:3922 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:413 part/models.py:3965 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "Alkatrész neve" @@ -5929,20 +5865,20 @@ msgstr "Alkatrész neve" msgid "Part Description" msgstr "Alkatrész leírása" -#: part/admin.py:48 part/models.py:904 part/templates/part/part_base.html:269 -#: report/templates/report/inventree_slr_report.html:103 -#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2341 -#: templates/js/translated/stock.js:2038 +#: part/admin.py:48 part/models.py:947 part/templates/part/part_base.html:269 +#: report/templates/report/inventree_stock_location_report.html:103 +#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 +#: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "IPN (Belső Cikkszám)" -#: part/admin.py:50 part/models.py:913 part/templates/part/part_base.html:277 -#: report/models.py:195 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2347 +#: part/admin.py:50 part/models.py:956 part/templates/part/part_base.html:277 +#: report/models.py:161 templates/js/translated/part.js:1231 +#: templates/js/translated/part.js:2346 msgid "Revision" msgstr "Változat" -#: part/admin.py:53 part/admin.py:317 part/models.py:886 +#: part/admin.py:53 part/admin.py:319 part/models.py:929 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "Kulcsszavak" @@ -5951,15 +5887,15 @@ msgstr "Kulcsszavak" msgid "Part Image" msgstr "Alkatrész ábra" -#: part/admin.py:63 part/admin.py:300 part/stocktake.py:221 +#: part/admin.py:63 part/admin.py:302 part/stocktake.py:221 msgid "Category ID" msgstr "Kategória ID" -#: part/admin.py:67 part/admin.py:302 part/stocktake.py:222 +#: part/admin.py:67 part/admin.py:304 part/stocktake.py:222 msgid "Category Name" msgstr "Kategória neve" -#: part/admin.py:71 part/admin.py:314 +#: part/admin.py:71 part/admin.py:316 msgid "Default Location ID" msgstr "Alapértelmezett készlethely ID" @@ -5967,11 +5903,11 @@ msgstr "Alapértelmezett készlethely ID" msgid "Default Supplier ID" msgstr "Alapértelmezett beszállító ID" -#: part/admin.py:81 part/models.py:872 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:915 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "Ebből a sablonból" -#: part/admin.py:84 part/models.py:1000 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1043 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "Minimális készlet" @@ -5984,160 +5920,164 @@ msgstr "Felhasználva ebben" msgid "Building" msgstr "Gyártásban" -#: part/admin.py:155 part/models.py:3080 part/models.py:3094 +#: part/admin.py:155 part/models.py:3123 part/models.py:3137 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "Minimum költség" -#: part/admin.py:158 part/models.py:3087 part/models.py:3101 +#: part/admin.py:158 part/models.py:3130 part/models.py:3144 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "Maximum költség" -#: part/admin.py:306 part/admin.py:393 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:211 msgid "Parent ID" msgstr "Szülő ID" -#: part/admin.py:310 part/admin.py:400 stock/admin.py:62 +#: part/admin.py:312 part/admin.py:402 stock/admin.py:62 msgid "Parent Name" msgstr "Szülő neve" -#: part/admin.py:318 part/templates/part/category.html:88 +#: part/admin.py:320 part/templates/part/category.html:88 #: part/templates/part/category.html:101 msgid "Category Path" msgstr "Kategória elérési út" -#: part/admin.py:323 part/models.py:391 part/serializers.py:117 +#: part/admin.py:325 part/models.py:393 part/serializers.py:117 #: part/serializers.py:272 part/serializers.py:391 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2803 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "Alkatrészek" -#: part/admin.py:384 +#: part/admin.py:386 msgid "BOM Level" msgstr "Alkatrészjegyzék szint" -#: part/admin.py:387 +#: part/admin.py:389 msgid "BOM Item ID" msgstr "Alkatrészjegyzék tétel ID" -#: part/admin.py:397 +#: part/admin.py:399 msgid "Parent IPN" msgstr "Szülő IPN" -#: part/admin.py:408 part/models.py:3923 +#: part/admin.py:410 part/models.py:3966 msgid "Part IPN" msgstr "Alkatrész IPN" -#: part/admin.py:421 part/serializers.py:1261 +#: part/admin.py:423 part/serializers.py:1276 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "Minimum ár" -#: part/admin.py:426 part/serializers.py:1276 +#: part/admin.py:428 part/serializers.py:1291 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "Maximum ár" -#: part/api.py:119 +#: part/api.py:112 msgid "Starred" msgstr "Csillagozott" -#: part/api.py:121 +#: part/api.py:114 msgid "Filter by starred categories" msgstr "Csillagozottra szűrés" -#: part/api.py:138 stock/api.py:284 +#: part/api.py:131 stock/api.py:318 msgid "Depth" msgstr "Mélység" -#: part/api.py:138 +#: part/api.py:131 msgid "Filter by category depth" msgstr "Kategória mélységre szűrés" -#: part/api.py:156 stock/api.py:302 +#: part/api.py:149 stock/api.py:336 msgid "Cascade" msgstr "Lépcsőzetes" -#: part/api.py:158 +#: part/api.py:151 msgid "Include sub-categories in filtered results" msgstr "Szűrt eredmények tartalmazzák az alkategóriákat" -#: part/api.py:178 +#: part/api.py:171 msgid "Parent" msgstr "Szülő" -#: part/api.py:180 +#: part/api.py:173 msgid "Filter by parent category" msgstr "Szülő kategóriára szűrés" -#: part/api.py:213 +#: part/api.py:206 msgid "Exclude Tree" msgstr "Fa kihagyása" -#: part/api.py:215 +#: part/api.py:208 msgid "Exclude sub-categories under the specified category" msgstr "Az adott kategória alkategóriáinak kihagyása" -#: part/api.py:461 +#: part/api.py:455 msgid "Has Results" msgstr "Van találat" -#: part/api.py:628 +#: part/api.py:622 msgid "Incoming Purchase Order" msgstr "Beérkező beszerzési rendelés" -#: part/api.py:646 +#: part/api.py:640 msgid "Outgoing Sales Order" msgstr "Kimenő vevői rendelés" -#: part/api.py:662 +#: part/api.py:656 msgid "Stock produced by Build Order" msgstr "Gyártással előállított készlet" -#: part/api.py:746 +#: part/api.py:740 msgid "Stock required for Build Order" msgstr "A gyártási utasításhoz szükséges készlet" -#: part/api.py:893 +#: part/api.py:887 msgid "Valid" msgstr "Érvényes" -#: part/api.py:894 +#: part/api.py:888 msgid "Validate entire Bill of Materials" msgstr "Teljes alkatrészjegyzék jóváhagyása" -#: part/api.py:900 +#: part/api.py:894 msgid "This option must be selected" msgstr "Ennek az opciónak ki kll lennie választva" -#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866 -#: part/serializers.py:406 part/serializers.py:1117 -#: part/templates/part/part_base.html:260 stock/api.py:745 +#: part/api.py:1111 +msgid "BOM Valid" +msgstr "" + +#: part/api.py:1515 part/models.py:939 part/models.py:3429 part/models.py:3909 +#: part/serializers.py:406 part/serializers.py:1132 +#: part/templates/part/part_base.html:260 stock/api.py:779 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2377 +#: templates/js/translated/part.js:2376 msgid "Category" msgstr "Kategória" -#: part/api.py:1849 +#: part/api.py:1803 msgid "Uses" msgstr "Használ" -#: part/bom.py:170 part/models.py:101 part/models.py:939 +#: part/bom.py:170 part/models.py:102 part/models.py:982 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "Alapértelmezett hely" -#: part/bom.py:171 part/serializers.py:822 +#: part/bom.py:171 part/serializers.py:837 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "Teljes készlet" @@ -6146,698 +6086,712 @@ msgstr "Teljes készlet" msgid "Input quantity for price calculation" msgstr "Add meg a mennyiséget az árszámításhoz" -#: part/models.py:82 part/models.py:3867 part/templates/part/category.html:16 +#: part/models.py:83 part/models.py:3910 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Alkatrész kategória" -#: part/models.py:83 part/templates/part/category.html:136 +#: part/models.py:84 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "Alkatrész kategóriák" -#: part/models.py:102 +#: part/models.py:103 msgid "Default location for parts in this category" msgstr "Ebben a kategóriában lévő alkatrészek helye alapban" -#: part/models.py:107 stock/models.py:165 templates/js/translated/part.js:2810 -#: templates/js/translated/stock.js:2775 +#: part/models.py:108 stock/models.py:177 templates/js/translated/part.js:2809 +#: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "Szerkezeti" -#: part/models.py:109 +#: part/models.py:110 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "A szerkezeti alkatrész kategóriákhoz nem lehet direktben alkatrészeket hozzáadni, csak az alkategóriáikhoz." -#: part/models.py:118 +#: part/models.py:119 msgid "Default keywords" msgstr "Alapértelmezett kulcsszavak" -#: part/models.py:119 +#: part/models.py:120 msgid "Default keywords for parts in this category" msgstr "Ebben a kategóriában évő alkatrészek kulcsszavai alapban" -#: part/models.py:125 stock/models.py:89 stock/models.py:148 +#: part/models.py:126 stock/models.py:89 stock/models.py:160 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "Ikon" -#: part/models.py:126 stock/models.py:149 +#: part/models.py:127 stock/models.py:161 msgid "Icon (optional)" msgstr "Ikon (opcionális)" -#: part/models.py:148 +#: part/models.py:149 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "Nem lehet az alkatrészkategóriát szerkezeti kategóriává tenni, mert már vannak itt alkatrészek!" -#: part/models.py:484 +#: part/models.py:482 +msgid "Cannot delete this part as it is still active" +msgstr "" + +#: part/models.py:489 +msgid "Cannot delete this part as it is used in an assembly" +msgstr "" + +#: part/models.py:527 msgid "Invalid choice for parent part" msgstr "Hibás választás a szülő alkatrészre" -#: part/models.py:532 part/models.py:539 +#: part/models.py:575 part/models.py:582 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "Az '{self}' alkatrész nem használható a '{parent}' alkatrészjegyzékében (mert rekurzív lenne)" -#: part/models.py:551 +#: part/models.py:594 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "Az '{parent}' alkatrész szerepel a '{self}' alkatrészjegyzékében (rekurzív)" -#: part/models.py:616 +#: part/models.py:659 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "Az IPN belső cikkszámnak illeszkednie kell a {pattern} regex mintára" -#: part/models.py:696 +#: part/models.py:739 msgid "Stock item with this serial number already exists" msgstr "Létezik már készlet tétel ilyen a sorozatszámmal" -#: part/models.py:801 +#: part/models.py:844 msgid "Duplicate IPN not allowed in part settings" msgstr "Azonos IPN nem engedélyezett az alkatrészekre, már létezik ilyen" -#: part/models.py:811 +#: part/models.py:854 msgid "Part with this Name, IPN and Revision already exists." msgstr "Ilyen nevű, IPN-ű és reviziójú alkatrész már létezik." -#: part/models.py:826 +#: part/models.py:869 msgid "Parts cannot be assigned to structural part categories!" msgstr "Szerkezeti kategóriákhoz nem lehet alkatrészeket rendelni!" -#: part/models.py:855 part/models.py:3922 +#: part/models.py:898 part/models.py:3965 msgid "Part name" msgstr "Alkatrész neve" -#: part/models.py:860 +#: part/models.py:903 msgid "Is Template" msgstr "Sablon-e" -#: part/models.py:861 +#: part/models.py:904 msgid "Is this part a template part?" msgstr "Ez egy sablon alkatrész?" -#: part/models.py:871 +#: part/models.py:914 msgid "Is this part a variant of another part?" msgstr "Ez az alkatrész egy másik változata?" -#: part/models.py:879 +#: part/models.py:922 msgid "Part description (optional)" msgstr "Alkatrész leírása (opcionális)" -#: part/models.py:887 +#: part/models.py:930 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:897 +#: part/models.py:940 msgid "Part category" msgstr "Alkatrész kategória" -#: part/models.py:905 +#: part/models.py:948 msgid "Internal Part Number" msgstr "Belső cikkszám" -#: part/models.py:912 +#: part/models.py:955 msgid "Part revision or version number" msgstr "Alkatrész változat vagy verziószám (pl. szín, hossz, revízió, stb.)" -#: part/models.py:937 +#: part/models.py:980 msgid "Where is this item normally stored?" msgstr "Alapban hol tároljuk ezt az alkatrészt?" -#: part/models.py:983 part/templates/part/part_base.html:376 +#: part/models.py:1026 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "Alapértelmezett beszállító" -#: part/models.py:984 +#: part/models.py:1027 msgid "Default supplier part" msgstr "Alapértelmezett beszállítói alkatrész" -#: part/models.py:991 +#: part/models.py:1034 msgid "Default Expiry" msgstr "Alapértelmezett lejárat" -#: part/models.py:992 +#: part/models.py:1035 msgid "Expiry time (in days) for stock items of this part" msgstr "Lejárati idő (napban) ennek az alkatrésznek a készleteire" -#: part/models.py:1001 +#: part/models.py:1044 msgid "Minimum allowed stock level" msgstr "Minimálisan megengedett készlet mennyiség" -#: part/models.py:1010 +#: part/models.py:1053 msgid "Units of measure for this part" msgstr "Alkatrész mértékegysége" -#: part/models.py:1017 +#: part/models.py:1060 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:1023 +#: part/models.py:1066 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:1029 +#: part/models.py:1072 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:1035 +#: part/models.py:1078 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:1041 +#: part/models.py:1084 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:1045 +#: part/models.py:1088 msgid "Is this part active?" msgstr "Aktív-e ez az alkatrész?" -#: part/models.py:1051 +#: part/models.py:1094 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:1057 +#: part/models.py:1100 msgid "BOM checksum" msgstr "Alkatrészjegyzék ellenőrző összeg" -#: part/models.py:1058 +#: part/models.py:1101 msgid "Stored BOM checksum" msgstr "Tárolt alkatrészjegyzék ellenőrző összeg" -#: part/models.py:1066 +#: part/models.py:1109 msgid "BOM checked by" msgstr "Alkatrészjegyzéket ellenőrizte" -#: part/models.py:1071 +#: part/models.py:1114 msgid "BOM checked date" msgstr "Alkatrészjegyzék ellenőrzési dátuma" -#: part/models.py:1087 +#: part/models.py:1130 msgid "Creation User" msgstr "Létrehozó" -#: part/models.py:1097 +#: part/models.py:1140 msgid "Owner responsible for this part" msgstr "Alkatrész felelőse" -#: part/models.py:1102 part/templates/part/part_base.html:339 +#: part/models.py:1145 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 -#: templates/js/translated/part.js:2471 +#: templates/js/translated/part.js:2470 msgid "Last Stocktake" msgstr "Utolsó leltár" -#: part/models.py:1975 +#: part/models.py:2018 msgid "Sell multiple" msgstr "Több értékesítése" -#: part/models.py:2994 +#: part/models.py:3037 msgid "Currency used to cache pricing calculations" msgstr "Árszámítások gyorstárazásához használt pénznem" -#: part/models.py:3010 +#: part/models.py:3053 msgid "Minimum BOM Cost" msgstr "Minimum alkatrészjegyzék költség" -#: part/models.py:3011 +#: part/models.py:3054 msgid "Minimum cost of component parts" msgstr "Összetevők minimum költsége" -#: part/models.py:3017 +#: part/models.py:3060 msgid "Maximum BOM Cost" msgstr "Maximum alkatrészjegyzék költség" -#: part/models.py:3018 +#: part/models.py:3061 msgid "Maximum cost of component parts" msgstr "Összetevők maximum költsége" -#: part/models.py:3024 +#: part/models.py:3067 msgid "Minimum Purchase Cost" msgstr "Minimum beszerzési ár" -#: part/models.py:3025 +#: part/models.py:3068 msgid "Minimum historical purchase cost" msgstr "Eddigi minimum beszerzési költség" -#: part/models.py:3031 +#: part/models.py:3074 msgid "Maximum Purchase Cost" msgstr "Maximum beszerzési ár" -#: part/models.py:3032 +#: part/models.py:3075 msgid "Maximum historical purchase cost" msgstr "Eddigi maximum beszerzési költség" -#: part/models.py:3038 +#: part/models.py:3081 msgid "Minimum Internal Price" msgstr "Minimum belső ár" -#: part/models.py:3039 +#: part/models.py:3082 msgid "Minimum cost based on internal price breaks" msgstr "Minimum költség a belső ársávok alapján" -#: part/models.py:3045 +#: part/models.py:3088 msgid "Maximum Internal Price" msgstr "Maximum belső ár" -#: part/models.py:3046 +#: part/models.py:3089 msgid "Maximum cost based on internal price breaks" msgstr "Maximum költség a belső ársávok alapján" -#: part/models.py:3052 +#: part/models.py:3095 msgid "Minimum Supplier Price" msgstr "Minimum beszállítói ár" -#: part/models.py:3053 +#: part/models.py:3096 msgid "Minimum price of part from external suppliers" msgstr "Minimum alkatrész ár a beszállítóktól" -#: part/models.py:3059 +#: part/models.py:3102 msgid "Maximum Supplier Price" msgstr "Maximum beszállítói ár" -#: part/models.py:3060 +#: part/models.py:3103 msgid "Maximum price of part from external suppliers" msgstr "Maximum alkatrész ár a beszállítóktól" -#: part/models.py:3066 +#: part/models.py:3109 msgid "Minimum Variant Cost" msgstr "Minimum alkatrészváltozat ár" -#: part/models.py:3067 +#: part/models.py:3110 msgid "Calculated minimum cost of variant parts" msgstr "Alkatrészváltozatok számolt minimum költsége" -#: part/models.py:3073 +#: part/models.py:3116 msgid "Maximum Variant Cost" msgstr "Maximum alkatrészváltozat ár" -#: part/models.py:3074 +#: part/models.py:3117 msgid "Calculated maximum cost of variant parts" msgstr "Alkatrészváltozatok számolt maximum költsége" -#: part/models.py:3081 +#: part/models.py:3124 msgid "Override minimum cost" msgstr "Minimum költség felülbírálása" -#: part/models.py:3088 +#: part/models.py:3131 msgid "Override maximum cost" msgstr "Maximum költség felülbírálása" -#: part/models.py:3095 +#: part/models.py:3138 msgid "Calculated overall minimum cost" msgstr "Számított általános minimum költség" -#: part/models.py:3102 +#: part/models.py:3145 msgid "Calculated overall maximum cost" msgstr "Számított általános maximum költség" -#: part/models.py:3108 +#: part/models.py:3151 msgid "Minimum Sale Price" msgstr "Minimum eladási ár" -#: part/models.py:3109 +#: part/models.py:3152 msgid "Minimum sale price based on price breaks" msgstr "Minimum eladási ár az ársávok alapján" -#: part/models.py:3115 +#: part/models.py:3158 msgid "Maximum Sale Price" msgstr "Maximum eladási ár" -#: part/models.py:3116 +#: part/models.py:3159 msgid "Maximum sale price based on price breaks" msgstr "Maximum eladási ár az ársávok alapján" -#: part/models.py:3122 +#: part/models.py:3165 msgid "Minimum Sale Cost" msgstr "Minimum eladási költség" -#: part/models.py:3123 +#: part/models.py:3166 msgid "Minimum historical sale price" msgstr "Eddigi minimum eladási ár" -#: part/models.py:3129 +#: part/models.py:3172 msgid "Maximum Sale Cost" msgstr "Maximum eladási költség" -#: part/models.py:3130 +#: part/models.py:3173 msgid "Maximum historical sale price" msgstr "Eddigi maximum eladási ár" -#: part/models.py:3149 +#: part/models.py:3192 msgid "Part for stocktake" msgstr "Leltározható alkatrész" -#: part/models.py:3154 +#: part/models.py:3197 msgid "Item Count" msgstr "Tételszám" -#: part/models.py:3155 +#: part/models.py:3198 msgid "Number of individual stock entries at time of stocktake" msgstr "Egyedi készlet tételek száma a leltárkor" -#: part/models.py:3163 +#: part/models.py:3206 msgid "Total available stock at time of stocktake" msgstr "Teljes készlet a leltárkor" -#: part/models.py:3167 part/models.py:3250 +#: part/models.py:3210 part/models.py:3293 #: part/templates/part/part_scheduling.html:13 -#: report/templates/report/inventree_test_report_base.html:106 +#: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 #: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 -#: templates/js/translated/purchase_order.js:1732 -#: templates/js/translated/stock.js:2824 +#: templates/js/translated/purchase_order.js:1731 +#: templates/js/translated/stock.js:2821 msgid "Date" msgstr "Dátum" -#: part/models.py:3168 +#: part/models.py:3211 msgid "Date stocktake was performed" msgstr "Leltározva ekkor" -#: part/models.py:3176 +#: part/models.py:3219 msgid "Additional notes" msgstr "További megjegyzések" -#: part/models.py:3186 +#: part/models.py:3229 msgid "User who performed this stocktake" msgstr "Leltározta" -#: part/models.py:3192 +#: part/models.py:3235 msgid "Minimum Stock Cost" msgstr "Minimum készlet érték" -#: part/models.py:3193 +#: part/models.py:3236 msgid "Estimated minimum cost of stock on hand" msgstr "Becsült minimum raktárkészlet érték" -#: part/models.py:3199 +#: part/models.py:3242 msgid "Maximum Stock Cost" msgstr "Maximum készlet érték" -#: part/models.py:3200 +#: part/models.py:3243 msgid "Estimated maximum cost of stock on hand" msgstr "Becsült maximum raktárkészlet érték" -#: part/models.py:3256 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3299 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "Riport" -#: part/models.py:3257 +#: part/models.py:3300 msgid "Stocktake report file (generated internally)" msgstr "Leltár riport fájl (generált)" -#: part/models.py:3262 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3305 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "Alkatrész szám" -#: part/models.py:3263 +#: part/models.py:3306 msgid "Number of parts covered by stocktake" msgstr "Leltározott alkatrészek száma" -#: part/models.py:3273 +#: part/models.py:3316 msgid "User who requested this stocktake report" msgstr "Felhasználó aki a leltár riportot kérte" -#: part/models.py:3435 +#: part/models.py:3478 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "Hibás sablon név - legalább egy alfanumerikus karakter kötelező" -#: part/models.py:3446 +#: part/models.py:3489 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:3457 +#: part/models.py:3500 msgid "Test template with the same key already exists for part" msgstr "Már létezik ilyen azonosítójú Teszt sablon ehhez az alkatrészhez" -#: part/models.py:3474 templates/js/translated/part.js:2879 +#: part/models.py:3517 templates/js/translated/part.js:2878 msgid "Test Name" msgstr "Teszt név" -#: part/models.py:3475 +#: part/models.py:3518 msgid "Enter a name for the test" msgstr "Add meg a teszt nevét" -#: part/models.py:3481 +#: part/models.py:3524 msgid "Test Key" msgstr "Teszt azonosító" -#: part/models.py:3482 +#: part/models.py:3525 msgid "Simplified key for the test" msgstr "Egyszerűsített Teszt azonosító" -#: part/models.py:3489 +#: part/models.py:3532 msgid "Test Description" msgstr "Teszt leírása" -#: part/models.py:3490 +#: part/models.py:3533 msgid "Enter description for this test" msgstr "Adj hozzá egy leírást ehhez a teszthez" -#: part/models.py:3494 +#: part/models.py:3537 report/models.py:208 +#: templates/js/translated/part.js:2899 +#: templates/js/translated/table_filters.js:481 +msgid "Enabled" +msgstr "Engedélyezve" + +#: part/models.py:3537 msgid "Is this test enabled?" msgstr "Teszt engedélyezve?" -#: part/models.py:3499 templates/js/translated/part.js:2908 +#: part/models.py:3542 templates/js/translated/part.js:2907 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "Kötelező" -#: part/models.py:3500 +#: part/models.py:3543 msgid "Is this test required to pass?" msgstr "Szükséges-e hogy ez a teszt sikeres legyen?" -#: part/models.py:3505 templates/js/translated/part.js:2916 +#: part/models.py:3548 templates/js/translated/part.js:2915 msgid "Requires Value" msgstr "Kötelező érték" -#: part/models.py:3506 +#: part/models.py:3549 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:3511 templates/js/translated/part.js:2923 +#: part/models.py:3554 templates/js/translated/part.js:2922 msgid "Requires Attachment" msgstr "Kötelező melléklet" -#: part/models.py:3513 +#: part/models.py:3556 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:3560 +#: part/models.py:3603 msgid "Checkbox parameters cannot have units" msgstr "Jelölőnégyzet paraméternek nem lehet mértékegysége" -#: part/models.py:3565 +#: part/models.py:3608 msgid "Checkbox parameters cannot have choices" msgstr "Jelölőnégyzet paraméternek nem lehetnek választási lehetőségei" -#: part/models.py:3585 +#: part/models.py:3628 msgid "Choices must be unique" msgstr "A lehetőségek egyediek kell legyenek" -#: part/models.py:3602 +#: part/models.py:3645 msgid "Parameter template name must be unique" msgstr "A paraméter sablon nevének egyedinek kell lennie" -#: part/models.py:3617 +#: part/models.py:3660 msgid "Parameter Name" msgstr "Paraméter neve" -#: part/models.py:3624 +#: part/models.py:3667 msgid "Physical units for this parameter" msgstr "Paraméter mértékegysége" -#: part/models.py:3632 +#: part/models.py:3675 msgid "Parameter description" msgstr "Paraméter leírása" -#: part/models.py:3638 templates/js/translated/part.js:1627 +#: part/models.py:3681 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "Jelölőnégyzet" -#: part/models.py:3639 +#: part/models.py:3682 msgid "Is this parameter a checkbox?" msgstr "Ez a paraméter egy jelölőnégyzet?" -#: part/models.py:3644 templates/js/translated/part.js:1636 +#: part/models.py:3687 templates/js/translated/part.js:1636 msgid "Choices" msgstr "Lehetőségek" -#: part/models.py:3645 +#: part/models.py:3688 msgid "Valid choices for this parameter (comma-separated)" msgstr "Választható lehetőségek (vesszővel elválasztva)" -#: part/models.py:3722 +#: part/models.py:3765 msgid "Invalid choice for parameter value" msgstr "Hibás választás a paraméterre" -#: part/models.py:3765 +#: part/models.py:3808 msgid "Parent Part" msgstr "Szülő alkatrész" -#: part/models.py:3773 part/models.py:3874 part/models.py:3875 +#: part/models.py:3816 part/models.py:3917 part/models.py:3918 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "Paraméter sablon" -#: part/models.py:3778 +#: part/models.py:3821 msgid "Data" msgstr "Adat" -#: part/models.py:3779 +#: part/models.py:3822 msgid "Parameter Value" msgstr "Paraméter értéke" -#: part/models.py:3881 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3924 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "Alapértelmezett érték" -#: part/models.py:3882 +#: part/models.py:3925 msgid "Default Parameter Value" msgstr "Alapértelmezett paraméter érték" -#: part/models.py:3920 +#: part/models.py:3963 msgid "Part ID or part name" msgstr "Alkatrész ID vagy alkatrész név" -#: part/models.py:3921 +#: part/models.py:3964 msgid "Unique part ID value" msgstr "Egyedi alkatrész ID értéke" -#: part/models.py:3923 +#: part/models.py:3966 msgid "Part IPN value" msgstr "Alkatrész IPN érték" -#: part/models.py:3924 +#: part/models.py:3967 msgid "Level" msgstr "Szint" -#: part/models.py:3924 +#: part/models.py:3967 msgid "BOM level" msgstr "Alkatrészjegyzék szint" -#: part/models.py:4014 +#: part/models.py:4057 msgid "Select parent part" msgstr "Szülő alkatrész kiválasztása" -#: part/models.py:4024 +#: part/models.py:4067 msgid "Sub part" msgstr "Al alkatrész" -#: part/models.py:4025 +#: part/models.py:4068 msgid "Select part to be used in BOM" msgstr "Válaszd ki az alkatrészjegyzékben használandó alkatrészt" -#: part/models.py:4036 +#: part/models.py:4079 msgid "BOM quantity for this BOM item" msgstr "Alkatrészjegyzék mennyiség ehhez az alkatrészjegyzék tételhez" -#: part/models.py:4042 +#: part/models.py:4085 msgid "This BOM item is optional" msgstr "Ez az alkatrészjegyzék tétel opcionális" -#: part/models.py:4048 +#: part/models.py:4091 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:4055 part/templates/part/upload_bom.html:55 +#: part/models.py:4098 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Többlet" -#: part/models.py:4056 +#: part/models.py:4099 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:4063 +#: part/models.py:4106 msgid "BOM item reference" msgstr "Alkatrészjegyzék tétel azonosító" -#: part/models.py:4071 +#: part/models.py:4114 msgid "BOM item notes" msgstr "Alkatrészjegyzék tétel megjegyzései" -#: part/models.py:4077 +#: part/models.py:4120 msgid "Checksum" msgstr "Ellenőrző összeg" -#: part/models.py:4078 +#: part/models.py:4121 msgid "BOM line checksum" msgstr "Alkatrészjegyzék sor ellenőrző összeg" -#: part/models.py:4083 templates/js/translated/table_filters.js:174 +#: part/models.py:4126 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "Jóváhagyva" -#: part/models.py:4084 +#: part/models.py:4127 msgid "This BOM item has been validated" msgstr "Ez a BOM tétel jóvá lett hagyva" -#: part/models.py:4089 part/templates/part/upload_bom.html:57 +#: part/models.py:4132 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "Öröklődött" -#: part/models.py:4090 +#: part/models.py:4133 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:4095 part/templates/part/upload_bom.html:56 +#: part/models.py:4138 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "Változatok" -#: part/models.py:4096 +#: part/models.py:4139 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:4181 stock/models.py:647 +#: part/models.py:4224 stock/models.py:668 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:4191 part/models.py:4193 +#: part/models.py:4234 part/models.py:4236 msgid "Sub part must be specified" msgstr "Al alkatrészt kötelező megadni" -#: part/models.py:4333 +#: part/models.py:4376 msgid "BOM Item Substitute" msgstr "Alkatrészjegyzék tétel helyettesítő" -#: part/models.py:4354 +#: part/models.py:4397 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:4367 +#: part/models.py:4410 msgid "Parent BOM item" msgstr "Szülő alkatrészjegyzék tétel" -#: part/models.py:4375 +#: part/models.py:4418 msgid "Substitute part" msgstr "Helyettesítő alkatrész" -#: part/models.py:4391 +#: part/models.py:4434 msgid "Part 1" msgstr "1.rész" -#: part/models.py:4399 +#: part/models.py:4442 msgid "Part 2" msgstr "2.rész" -#: part/models.py:4400 +#: part/models.py:4443 msgid "Select Related Part" msgstr "Válassz kapcsolódó alkatrészt" -#: part/models.py:4419 +#: part/models.py:4462 msgid "Part relationship cannot be created between a part and itself" msgstr "Alkatrész kapcsolat nem hozható létre önmagával" -#: part/models.py:4424 +#: part/models.py:4467 msgid "Duplicate relationship already exists" msgstr "Már létezik duplikált alkatrész kapcsolat" @@ -6855,7 +6809,7 @@ msgstr "Eredmények" msgid "Number of results recorded against this template" msgstr "Eszerint a sablon szerint rögzített eredmények száma" -#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:406 +#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:535 msgid "Purchase currency of this stock item" msgstr "Beszerzési pénzneme ennek a készlet tételnek" @@ -6871,299 +6825,299 @@ msgstr "Nincs kiválasztva alkatrész" msgid "Select category" msgstr "Válassz kategóriát" -#: part/serializers.py:437 +#: part/serializers.py:442 msgid "Original Part" msgstr "Eredeti alkatrész" -#: part/serializers.py:438 +#: part/serializers.py:443 msgid "Select original part to duplicate" msgstr "Válassz eredeti alkatrészt a másoláshoz" -#: part/serializers.py:443 +#: part/serializers.py:448 msgid "Copy Image" msgstr "Kép másolása" -#: part/serializers.py:444 +#: part/serializers.py:449 msgid "Copy image from original part" msgstr "Kép másolása az eredeti alkatrészről" -#: part/serializers.py:450 part/templates/part/detail.html:277 +#: part/serializers.py:455 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "Alkatrészjegyzék másolása" -#: part/serializers.py:451 +#: part/serializers.py:456 msgid "Copy bill of materials from original part" msgstr "Alkatrészjegyzék másolása az eredeti alkatrészről" -#: part/serializers.py:457 +#: part/serializers.py:462 msgid "Copy Parameters" msgstr "Paraméterek másolása" -#: part/serializers.py:458 +#: part/serializers.py:463 msgid "Copy parameter data from original part" msgstr "Paraméterek másolása az eredeti alkatrészről" -#: part/serializers.py:464 +#: part/serializers.py:469 msgid "Copy Notes" msgstr "Megjegyzések másolása" -#: part/serializers.py:465 +#: part/serializers.py:470 msgid "Copy notes from original part" msgstr "Megjegyzések másolása az eredeti alkatrészről" -#: part/serializers.py:478 +#: part/serializers.py:488 msgid "Initial Stock Quantity" msgstr "Kezdeti készlet mennyiség" -#: part/serializers.py:480 +#: part/serializers.py:490 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:487 +#: part/serializers.py:497 msgid "Initial Stock Location" msgstr "Kezdeti készlet hely" -#: part/serializers.py:488 +#: part/serializers.py:498 msgid "Specify initial stock location for this Part" msgstr "Add meg a kezdeti készlet helyét" -#: part/serializers.py:500 +#: part/serializers.py:515 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:516 +#: part/serializers.py:531 msgid "Select manufacturer (or leave blank to skip)" msgstr "Válassz gyártót (hagyd üresen ha nem kell létrehozni)" -#: part/serializers.py:526 +#: part/serializers.py:541 msgid "Manufacturer part number" msgstr "Gyártói cikkszám" -#: part/serializers.py:533 +#: part/serializers.py:548 msgid "Selected company is not a valid supplier" msgstr "A kiválasztott cég nem érvényes beszállító" -#: part/serializers.py:542 +#: part/serializers.py:557 msgid "Selected company is not a valid manufacturer" msgstr "A kiválasztott cég nem érvényes gyártó" -#: part/serializers.py:553 +#: part/serializers.py:568 msgid "Manufacturer part matching this MPN already exists" msgstr "Van már ilyen gyártói alkatrész" -#: part/serializers.py:560 +#: part/serializers.py:575 msgid "Supplier part matching this SKU already exists" msgstr "Van már ilyen beszállítói alkatrész" -#: part/serializers.py:823 +#: part/serializers.py:838 msgid "External Stock" msgstr "Külső raktárkészlet" -#: part/serializers.py:825 +#: part/serializers.py:840 msgid "Unallocated Stock" msgstr "Nem lefoglalt készlet" -#: part/serializers.py:828 +#: part/serializers.py:843 msgid "Variant Stock" msgstr "Variánsok Raktárkészlet" -#: part/serializers.py:856 part/templates/part/copy_part.html:9 +#: part/serializers.py:871 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "Alkatrész másolása" -#: part/serializers.py:857 +#: part/serializers.py:872 msgid "Copy initial data from another Part" msgstr "Kezdeti adatok másolása egy másik alkatrészről" -#: part/serializers.py:863 templates/js/translated/part.js:102 +#: part/serializers.py:878 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "Kezdeti készlet" -#: part/serializers.py:864 +#: part/serializers.py:879 msgid "Create Part with initial stock quantity" msgstr "Kezdeti készlet mennyiség létrehozása" -#: part/serializers.py:870 +#: part/serializers.py:885 msgid "Supplier Information" msgstr "Beszállító információ" -#: part/serializers.py:871 +#: part/serializers.py:886 msgid "Add initial supplier information for this part" msgstr "Kezdeti beszállító adatok hozzáadása" -#: part/serializers.py:879 +#: part/serializers.py:894 msgid "Copy Category Parameters" msgstr "Kategória paraméterek másolása" -#: part/serializers.py:880 +#: part/serializers.py:895 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:885 +#: part/serializers.py:900 msgid "Existing Image" msgstr "Meglévő kép" -#: part/serializers.py:886 +#: part/serializers.py:901 msgid "Filename of an existing part image" msgstr "A meglévő alkatrész képfájl neve" -#: part/serializers.py:903 +#: part/serializers.py:918 msgid "Image file does not exist" msgstr "A képfájl nem létezik" -#: part/serializers.py:1109 +#: part/serializers.py:1124 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:1119 +#: part/serializers.py:1134 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:1129 +#: part/serializers.py:1144 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:1135 +#: part/serializers.py:1150 msgid "Exclude External Stock" msgstr "Külső készlet nélkül" -#: part/serializers.py:1136 +#: part/serializers.py:1151 msgid "Exclude stock items in external locations" msgstr "Külső helyeken lévő készlet nélkül" -#: part/serializers.py:1141 +#: part/serializers.py:1156 msgid "Generate Report" msgstr "Riport létrehozása" -#: part/serializers.py:1142 +#: part/serializers.py:1157 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:1147 +#: part/serializers.py:1162 msgid "Update Parts" msgstr "Alaktrészek frissítése" -#: part/serializers.py:1148 +#: part/serializers.py:1163 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:1156 +#: part/serializers.py:1171 msgid "Stocktake functionality is not enabled" msgstr "Leltár funkció nincs engedélyezve" -#: part/serializers.py:1262 +#: part/serializers.py:1277 msgid "Override calculated value for minimum price" msgstr "Számított minimum ár felülbírálása" -#: part/serializers.py:1269 +#: part/serializers.py:1284 msgid "Minimum price currency" msgstr "Minimum ár pénzneme" -#: part/serializers.py:1277 +#: part/serializers.py:1292 msgid "Override calculated value for maximum price" msgstr "Számított maximum ár felülbírálása" -#: part/serializers.py:1284 +#: part/serializers.py:1299 msgid "Maximum price currency" msgstr "Maximum ár pénzneme" -#: part/serializers.py:1313 +#: part/serializers.py:1328 msgid "Update" msgstr "Frissítés" -#: part/serializers.py:1314 +#: part/serializers.py:1329 msgid "Update pricing for this part" msgstr "Alkatrész árak frissítése" -#: part/serializers.py:1337 +#: part/serializers.py:1352 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "Megadott pénznem átváltása {default_currency}-re sikertelen" -#: part/serializers.py:1344 +#: part/serializers.py:1359 msgid "Minimum price must not be greater than maximum price" msgstr "A Minimum ár nem lehet nagyobb mint a Maximum ár" -#: part/serializers.py:1347 +#: part/serializers.py:1362 msgid "Maximum price must not be less than minimum price" msgstr "A Maximum ár nem lehet kisebb mint a Minimum ár" -#: part/serializers.py:1714 +#: part/serializers.py:1729 msgid "Select part to copy BOM from" msgstr "Válassz alkatrészt ahonnan az alkatrészjegyzéket másoljuk" -#: part/serializers.py:1722 +#: part/serializers.py:1737 msgid "Remove Existing Data" msgstr "Létező adat törlése" -#: part/serializers.py:1723 +#: part/serializers.py:1738 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:1728 +#: part/serializers.py:1743 msgid "Include Inherited" msgstr "Örököltekkel együtt" -#: part/serializers.py:1729 +#: part/serializers.py:1744 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:1734 +#: part/serializers.py:1749 msgid "Skip Invalid Rows" msgstr "Hibás sorok kihagyása" -#: part/serializers.py:1735 +#: part/serializers.py:1750 msgid "Enable this option to skip invalid rows" msgstr "Engedély a hibás sorok kihagyására" -#: part/serializers.py:1740 +#: part/serializers.py:1755 msgid "Copy Substitute Parts" msgstr "Helyettesítő alkatrészek másolása" -#: part/serializers.py:1741 +#: part/serializers.py:1756 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:1775 +#: part/serializers.py:1790 msgid "Clear Existing BOM" msgstr "Meglévő alkatrészjegyzék törlése" -#: part/serializers.py:1776 +#: part/serializers.py:1791 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:1806 +#: part/serializers.py:1821 msgid "No part column specified" msgstr "Nincs megadva alkatrész oszlop" -#: part/serializers.py:1850 +#: part/serializers.py:1865 msgid "Multiple matching parts found" msgstr "Több egyező alkatrész is található" -#: part/serializers.py:1853 +#: part/serializers.py:1868 msgid "No matching part found" msgstr "Nincs egyező alkatrész" -#: part/serializers.py:1856 +#: part/serializers.py:1871 msgid "Part is not designated as a component" msgstr "Az alkatrész nem lett összetevőként jelölve" -#: part/serializers.py:1865 +#: part/serializers.py:1880 msgid "Quantity not provided" msgstr "Mennyiség nincs megadva" -#: part/serializers.py:1873 +#: part/serializers.py:1888 msgid "Invalid quantity" msgstr "Érvénytelen mennyiség" -#: part/serializers.py:1894 +#: part/serializers.py:1909 msgid "At least one BOM item is required" msgstr "Legalább egy alkatrészjegyzék tétel szükséges" #: part/stocktake.py:224 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:2085 +#: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "Teljes mennyiség" @@ -7315,7 +7269,7 @@ msgstr "Leltár információ hozzáadása" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2218 users/models.py:204 +#: templates/js/translated/stock.js:2216 users/models.py:204 msgid "Stocktake" msgstr "Leltár" @@ -7413,15 +7367,15 @@ msgstr "Alkatrész beszállítók" msgid "Part Manufacturers" msgstr "Alkatrész gyártók" -#: part/templates/part/detail.html:659 +#: part/templates/part/detail.html:655 msgid "Related Part" msgstr "Kapcsolódó alkatrész" -#: part/templates/part/detail.html:667 +#: part/templates/part/detail.html:663 msgid "Add Related Part" msgstr "Kapcsolódó alkatrész hozzáadása" -#: part/templates/part/detail.html:752 +#: part/templates/part/detail.html:748 msgid "Add Test Result Template" msgstr "Teszt eredmény sablon hozzáadása" @@ -7480,7 +7434,7 @@ msgstr "Értesítések kérése erre az alkatrészre" #: part/templates/part/part_base.html:52 #: stock/templates/stock/item_base.html:62 -#: stock/templates/stock/location.html:74 +#: stock/templates/stock/location.html:74 templates/js/translated/label.js:142 msgid "Print Label" msgstr "Címke nyomtatása" @@ -7502,7 +7456,7 @@ msgstr "Készlet számolása" msgid "Transfer part stock" msgstr "Készlet áthelyezése" -#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2293 +#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2292 msgid "Part actions" msgstr "Készlet műveletek" @@ -7551,7 +7505,7 @@ msgid "Part is virtual (not a physical part)" msgstr "Virtuális (nem kézzelfogható alkatrész)" #: part/templates/part/part_base.html:163 -#: part/templates/part/part_base.html:682 +#: part/templates/part/part_base.html:681 msgid "Show Part Details" msgstr "Alkatrész részletei" @@ -7574,7 +7528,7 @@ msgid "Minimum stock level" msgstr "Minimális készlet" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2444 +#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2443 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7597,19 +7551,19 @@ 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:512 +#: part/templates/part/part_base.html:511 msgid "Calculate" msgstr "Számítás" -#: part/templates/part/part_base.html:529 +#: part/templates/part/part_base.html:528 msgid "Remove associated image from this part" msgstr "Alkatrészhez rendelt kép eltávolítása" -#: part/templates/part/part_base.html:580 +#: part/templates/part/part_base.html:579 msgid "No matching images found" msgstr "Nincs egyező kép" -#: part/templates/part/part_base.html:676 +#: part/templates/part/part_base.html:675 msgid "Hide Part Details" msgstr "Részletek elrejtése" @@ -7668,8 +7622,8 @@ msgstr "Változatok" #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 -#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 -#: templates/js/translated/stock.js:2072 templates/navbar.html:31 +#: templates/js/translated/part.js:2391 templates/js/translated/stock.js:1059 +#: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "Készlet" @@ -7715,7 +7669,7 @@ msgstr "Szerkesztés" #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 -#: templates/js/translated/stock.js:2248 +#: templates/js/translated/stock.js:2246 msgid "Last Updated" msgstr "Utoljára módosítva" @@ -7787,7 +7741,7 @@ msgid "Update Pricing" msgstr "Árazás Frissítése" #: part/templates/part/stock_count.html:7 -#: templates/js/translated/model_renderers.js:221 +#: templates/js/translated/model_renderers.js:227 #: templates/js/translated/part.js:704 templates/js/translated/part.js:2140 #: templates/js/translated/part.js:2142 msgid "No Stock" @@ -7867,7 +7821,7 @@ msgstr "Az alkatrész képe nem található" msgid "Part Pricing" msgstr "Alkatrész árak" -#: plugin/api.py:168 +#: plugin/api.py:170 msgid "Plugin cannot be deleted as it is currently active" msgstr "Plugin nem törölhető mivel még aktív" @@ -7934,7 +7888,7 @@ msgid "Stock item does not match line item" msgstr "Készlet tétel nem egyezik a sortétellel" #: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2589 -#: templates/js/translated/sales_order.js:1917 +#: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "Nincs elegendő" @@ -8028,22 +7982,18 @@ msgstr "Szállítmány kiszállítva" msgid "Quantity to allocate" msgstr "Lefoglalandó mennyiség" -#: plugin/base/label/label.py:39 +#: plugin/base/label/label.py:39 templates/js/translated/label.js:154 msgid "Label printing failed" msgstr "Címkenyomtatás sikertelen" -#: plugin/base/label/mixins.py:63 +#: plugin/base/label/mixins.py:56 msgid "Error rendering label to PDF" msgstr "A címke PDF nyomtatása sikertelen" -#: plugin/base/label/mixins.py:76 +#: plugin/base/label/mixins.py:70 msgid "Error rendering label to HTML" msgstr "A címke HTML nyomtatása sikertelen" -#: plugin/base/label/mixins.py:111 -msgid "Error rendering label to PNG" -msgstr "A címke PNG nyomtatása sikertelen" - #: plugin/builtin/barcodes/inventree_barcode.py:25 msgid "InvenTree Barcodes" msgstr "InventTree vonalkódok" @@ -8055,7 +8005,7 @@ msgstr "Alapvető vonalkód támogatást ad" #: plugin/builtin/barcodes/inventree_barcode.py:28 #: plugin/builtin/integration/core_notifications.py:35 #: plugin/builtin/integration/currency_exchange.py:21 -#: plugin/builtin/labels/inventree_label.py:23 +#: plugin/builtin/labels/inventree_label.py:22 #: plugin/builtin/labels/inventree_machine.py:64 #: plugin/builtin/labels/label_sheet.py:63 #: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 @@ -8109,19 +8059,19 @@ msgstr "InvenTree Pénzváltó" msgid "Default currency exchange integration" msgstr "Alapértelmezett pénzváltó integráció" -#: plugin/builtin/labels/inventree_label.py:20 +#: plugin/builtin/labels/inventree_label.py:19 msgid "InvenTree PDF label printer" msgstr "InvenTree PDF címkenyomtató" -#: plugin/builtin/labels/inventree_label.py:21 +#: plugin/builtin/labels/inventree_label.py:20 msgid "Provides native support for printing PDF labels" msgstr "PDF címkék nyomtatásához beépített támogatás" -#: plugin/builtin/labels/inventree_label.py:29 +#: plugin/builtin/labels/inventree_label.py:28 msgid "Debug mode" msgstr "Debug mód" -#: plugin/builtin/labels/inventree_label.py:30 +#: plugin/builtin/labels/inventree_label.py:29 msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "Debug mód engedélyezése - nyers HTML-t ad vissza PDF helyett" @@ -8133,11 +8083,11 @@ msgstr "InvenTree címkenyomtató" msgid "Provides support for printing using a machine" msgstr "Nyomtatási támogatást nyújt egy Berendezés által" -#: plugin/builtin/labels/inventree_machine.py:150 +#: plugin/builtin/labels/inventree_machine.py:151 msgid "last used" msgstr "utoljára használva" -#: plugin/builtin/labels/inventree_machine.py:167 +#: plugin/builtin/labels/inventree_machine.py:168 msgid "Options" msgstr "Opciók" @@ -8161,7 +8111,7 @@ msgstr "Szegély" msgid "Print a border around each label" msgstr "Az egyes címkék körüli margó" -#: plugin/builtin/labels/label_sheet.py:47 report/models.py:209 +#: plugin/builtin/labels/label_sheet.py:47 report/models.py:308 msgid "Landscape" msgstr "Fekvő" @@ -8177,11 +8127,11 @@ msgstr "Inventree Címke Ív Nyomtató" msgid "Arrays multiple labels onto a single sheet" msgstr "Több címke egy ívre helyezése" -#: plugin/builtin/labels/label_sheet.py:94 +#: plugin/builtin/labels/label_sheet.py:99 msgid "Label is too large for page size" msgstr "Címke túl nagy a lapmérethez képest" -#: plugin/builtin/labels/label_sheet.py:128 +#: plugin/builtin/labels/label_sheet.py:133 msgid "No labels were generated" msgstr "Nem készült címke" @@ -8274,61 +8224,62 @@ msgstr "Plugin nem eltávolítható mivel még aktív" msgid "Uninstalled plugin successfully" msgstr "Plugin eltávolítása sikeres" -#: plugin/models.py:30 +#: plugin/models.py:35 msgid "Plugin Configuration" msgstr "Plugin beállítás" -#: plugin/models.py:31 +#: plugin/models.py:36 msgid "Plugin Configurations" msgstr "Plugin beállítások" -#: plugin/models.py:34 users/models.py:100 +#: plugin/models.py:42 users/models.py:100 msgid "Key" msgstr "Kulcs" -#: plugin/models.py:34 +#: plugin/models.py:43 msgid "Key of plugin" msgstr "Plugin kulcsa" -#: plugin/models.py:42 +#: plugin/models.py:51 msgid "PluginName of the plugin" msgstr "PluginNeve a pluginnak" -#: plugin/models.py:49 plugin/serializers.py:90 +#: plugin/models.py:58 plugin/serializers.py:90 msgid "Package Name" msgstr "Csomag neve" -#: plugin/models.py:51 +#: plugin/models.py:60 msgid "Name of the installed package, if the plugin was installed via PIP" msgstr "A telepített csomag neve, ha a plugin a PIP-el lett telepítve" -#: plugin/models.py:56 +#: plugin/models.py:65 msgid "Is the plugin active" msgstr "Aktív-e a plugin" -#: plugin/models.py:147 templates/js/translated/table_filters.js:370 +#: plugin/models.py:156 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "Beépítve" -#: plugin/models.py:156 +#: plugin/models.py:165 msgid "Sample plugin" msgstr "Példa plugin" -#: plugin/models.py:164 +#: plugin/models.py:173 msgid "Builtin Plugin" msgstr "Beépített plugin" -#: plugin/models.py:172 +#: plugin/models.py:181 msgid "Package Plugin" msgstr "Csomag plugin" -#: plugin/models.py:196 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:205 report/models.py:475 +#: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" msgstr "Bővítmény" -#: plugin/models.py:243 +#: plugin/models.py:252 msgid "Method" msgstr "Módszer" @@ -8469,239 +8420,323 @@ msgstr "Konfiguráció törlése" msgid "Delete the plugin configuration from the database" msgstr "Plugin konfiguráció törlése az adatbázisból" -#: report/api.py:158 +#: report/api.py:77 msgid "No valid objects provided to template" msgstr "Nincs érvényes objektum megadva a sablonhoz" -#: report/api.py:197 report/api.py:234 +#: report/api.py:89 report/serializers.py:53 +msgid "Model Type" +msgstr "" + +#: report/api.py:92 report/models.py:439 report/serializers.py:98 +#: report/serializers.py:148 templates/js/translated/purchase_order.js:1747 +#: templates/js/translated/return_order.js:353 +#: templates/js/translated/sales_order.js:887 +#: templates/js/translated/sales_order.js:1047 +msgid "Items" +msgstr "Tételek" + +#: report/api.py:168 +msgid "Plugin not found" +msgstr "" + +#: report/api.py:170 +msgid "Plugin is not active" +msgstr "" + +#: report/api.py:172 +msgid "Plugin does not support label printing" +msgstr "" + +#: report/api.py:221 +msgid "Invalid label dimensions" +msgstr "" + +#: report/api.py:236 report/api.py:316 +msgid "No valid items provided to template" +msgstr "" + +#: report/api.py:271 +msgid "Error printing label" +msgstr "Címkenyomtatási hiba" + +#: report/api.py:362 report/api.py:398 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "A '{template}' sablon fájl hiányzik vagy nem érhető el" -#: report/api.py:319 -msgid "Test report" -msgstr "Teszt riport" - -#: report/helpers.py:15 +#: report/helpers.py:41 msgid "A4" msgstr "A4" -#: report/helpers.py:16 +#: report/helpers.py:42 msgid "A3" msgstr "A3" -#: report/helpers.py:17 +#: report/helpers.py:43 msgid "Legal" msgstr "Jogi információk" -#: report/helpers.py:18 +#: report/helpers.py:44 msgid "Letter" msgstr "„Letter” méret" -#: report/models.py:177 +#: report/models.py:118 +msgid "Template file with this name already exists" +msgstr "" + +#: report/models.py:150 msgid "Template name" msgstr "Sablon neve" -#: report/models.py:183 -msgid "Report template file" -msgstr "Riport sablon fájl" +#: report/models.py:156 +msgid "Template description" +msgstr "" -#: report/models.py:190 -msgid "Report template description" -msgstr "Riport sablon leírása" +#: report/models.py:162 +msgid "Revision number (auto-increments)" +msgstr "" -#: report/models.py:196 -msgid "Report revision number (auto-increments)" -msgstr "Riport verziószáma (automatikusan nő)" +#: report/models.py:202 +msgid "Filename Pattern" +msgstr "Fájlnév minta" -#: report/models.py:204 +#: report/models.py:203 +msgid "Pattern for generating filenames" +msgstr "" + +#: report/models.py:208 +msgid "Template is enabled" +msgstr "" + +#: report/models.py:214 +msgid "Target model type for template" +msgstr "" + +#: report/models.py:234 +msgid "Filters" +msgstr "Szűrők" + +#: report/models.py:235 +msgid "Template query filters (comma-separated list of key=value pairs)" +msgstr "" + +#: report/models.py:295 report/models.py:362 +msgid "Template file" +msgstr "" + +#: report/models.py:303 msgid "Page size for PDF reports" msgstr "Lapméret a PDF riportokhoz" -#: report/models.py:210 +#: report/models.py:309 msgid "Render report in landscape orientation" msgstr "Jelentés fekvő nézetben" -#: report/models.py:318 -msgid "Pattern for generating report filenames" -msgstr "Minta a riport fájlnevek előállításához" +#: report/models.py:368 +msgid "Width [mm]" +msgstr "Szélesség [mm]" -#: report/models.py:325 -msgid "Report template is enabled" -msgstr "Riport sablon engedélyezve" +#: report/models.py:369 +msgid "Label width, specified in mm" +msgstr "Címke szélessége, mm-ben" -#: report/models.py:347 -msgid "StockItem query filters (comma-separated list of key=value pairs)" -msgstr "Készlet lekérdezés szűrők (vesszővel elválasztott kulcs=érték párok)" +#: report/models.py:375 +msgid "Height [mm]" +msgstr "Magasság [mm]" -#: report/models.py:354 -msgid "Include Installed Tests" -msgstr "Beépített tesztekkel együtt" +#: report/models.py:376 +msgid "Label height, specified in mm" +msgstr "Címke magassága, mm-ben" -#: report/models.py:356 -msgid "Include test results for stock items installed inside assembled item" -msgstr "Gyártmányba beépített készlet tételek teszt eredményeivel együtt" +#: report/models.py:439 +msgid "Number of items to process" +msgstr "" -#: report/models.py:424 -msgid "Build Filters" -msgstr "Gyártás szűrők" +#: report/models.py:445 +msgid "Report generation is complete" +msgstr "" -#: report/models.py:425 -msgid "Build query filters (comma-separated list of key=value pairs" -msgstr "Gyártás lekérdezés szűrők (vesszővel elválasztott kulcs=érték párok" +#: report/models.py:449 templates/js/translated/build.js:2177 +msgid "Progress" +msgstr "Haladás" -#: report/models.py:464 -msgid "Part Filters" -msgstr "Alkatrész szűrők" +#: report/models.py:449 +msgid "Report generation progress" +msgstr "" -#: report/models.py:465 -msgid "Part query filters (comma-separated list of key=value pairs" -msgstr "Alkatrész lekérdezés szűrők (vesszővel elválasztott kulcs=érték párok" +#: report/models.py:457 +msgid "Report Template" +msgstr "" -#: report/models.py:497 -msgid "Purchase order query filters" -msgstr "Megrendelés lekérdezés szűrők" +#: report/models.py:464 report/models.py:487 +msgid "Output File" +msgstr "" -#: report/models.py:533 -msgid "Sales order query filters" -msgstr "Vevő rendelés lekérdezés szűrők" +#: report/models.py:465 report/models.py:488 +msgid "Generated output file" +msgstr "" -#: report/models.py:569 -msgid "Return order query filters" -msgstr "Visszavétel lekérdezés szűrők" +#: report/models.py:476 +msgid "Label output plugin" +msgstr "" -#: report/models.py:641 -msgid "Snippet file with this name already exists" -msgstr "Ilyen nevű vágó fájl már létezik" +#: report/models.py:480 +msgid "Label Template" +msgstr "" -#: report/models.py:648 +#: report/models.py:503 msgid "Snippet" msgstr "Részlet" -#: report/models.py:649 +#: report/models.py:504 msgid "Report snippet file" msgstr "Riport részlet fájl" -#: report/models.py:656 +#: report/models.py:511 msgid "Snippet file description" msgstr "Részlet fájl leírása" -#: report/models.py:714 -msgid "Asset file with this name already exists" -msgstr "Ilyen nevű Asset fájl már létezik" - -#: report/models.py:722 +#: report/models.py:529 msgid "Asset" msgstr "Eszköz" -#: report/models.py:723 +#: report/models.py:530 msgid "Report asset file" msgstr "Riport asset fájl" -#: report/models.py:730 +#: report/models.py:537 msgid "Asset file description" msgstr "Asset fájl leírása" -#: report/models.py:752 -msgid "stock location query filters (comma-separated list of key=value pairs)" -msgstr "készlethely lekérdezés szűrők (vesszővel elválasztott kulcs=érték párok)" +#: report/serializers.py:91 +msgid "Select report template" +msgstr "" + +#: report/serializers.py:99 report/serializers.py:149 +msgid "List of item primary keys to include in the report" +msgstr "" + +#: report/serializers.py:132 +msgid "Select label template" +msgstr "Címke sablon választás" + +#: report/serializers.py:140 +msgid "Printing Plugin" +msgstr "" + +#: report/serializers.py:141 +msgid "Select plugin to use for label printing" +msgstr "" + +#: report/templates/label/part_label.html:31 +#: report/templates/label/stockitem_qr.html:21 +#: report/templates/label/stocklocation_qr.html:20 +#: templates/allauth_2fa/setup.html:18 +msgid "QR Code" +msgstr "QR kód" + +#: report/templates/label/part_label_code128.html:31 +#: report/templates/label/stocklocation_qr_and_text.html:31 +#: templates/qr_code.html:7 +msgid "QR code" +msgstr "QR kód" #: report/templates/report/inventree_bill_of_materials_report.html:133 msgid "Materials needed" msgstr "Szükséges alapanyagok" -#: report/templates/report/inventree_build_order_base.html:146 +#: report/templates/report/inventree_build_order_report.html:146 msgid "Required For" msgstr "Szükséges ehhez" -#: report/templates/report/inventree_po_report_base.html:15 +#: report/templates/report/inventree_purchase_order_report.html:15 msgid "Supplier was deleted" msgstr "Beszállító törölve lett" -#: report/templates/report/inventree_po_report_base.html:30 -#: report/templates/report/inventree_so_report_base.html:30 +#: report/templates/report/inventree_purchase_order_report.html:30 +#: report/templates/report/inventree_sales_order_report.html:30 #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:834 -#: templates/js/translated/purchase_order.js:2116 -#: templates/js/translated/sales_order.js:1837 +#: templates/js/translated/purchase_order.js:2115 +#: templates/js/translated/sales_order.js:1873 msgid "Unit Price" msgstr "Egységár" -#: report/templates/report/inventree_po_report_base.html:55 -#: report/templates/report/inventree_return_order_report_base.html:48 -#: report/templates/report/inventree_so_report_base.html:55 +#: report/templates/report/inventree_purchase_order_report.html:55 +#: report/templates/report/inventree_return_order_report.html:48 +#: report/templates/report/inventree_sales_order_report.html:55 msgid "Extra Line Items" 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:2018 -#: templates/js/translated/sales_order.js:1806 +#: report/templates/report/inventree_purchase_order_report.html:72 +#: report/templates/report/inventree_sales_order_report.html:72 +#: templates/js/translated/purchase_order.js:2017 +#: templates/js/translated/sales_order.js:1842 msgid "Total" msgstr "Összesen" -#: report/templates/report/inventree_return_order_report_base.html:25 -#: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:809 stock/templates/stock/item_base.html:311 +#: report/templates/report/inventree_return_order_report.html:25 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:830 +#: stock/serializers.py:150 stock/templates/stock/item_base.html:311 #: templates/js/translated/build.js:519 templates/js/translated/build.js:1367 #: templates/js/translated/build.js:2355 -#: templates/js/translated/model_renderers.js:224 -#: templates/js/translated/return_order.js:540 -#: templates/js/translated/return_order.js:724 +#: templates/js/translated/model_renderers.js:230 +#: templates/js/translated/return_order.js:539 +#: templates/js/translated/return_order.js:723 #: templates/js/translated/sales_order.js:315 -#: templates/js/translated/sales_order.js:1611 -#: templates/js/translated/sales_order.js:1696 +#: templates/js/translated/sales_order.js:1647 +#: templates/js/translated/sales_order.js:1732 #: templates/js/translated/stock.js:596 msgid "Serial Number" msgstr "Sorozatszám" -#: report/templates/report/inventree_slr_report.html:97 +#: report/templates/report/inventree_stock_location_report.html:97 msgid "Stock location items" msgstr "Készlethely tételek" -#: report/templates/report/inventree_test_report_base.html:21 +#: report/templates/report/inventree_test_report.html:21 msgid "Stock Item Test Report" msgstr "Készlet tétel teszt riport" -#: report/templates/report/inventree_test_report_base.html:97 +#: report/templates/report/inventree_test_report.html:97 msgid "Test Results" msgstr "Teszt eredmények" -#: report/templates/report/inventree_test_report_base.html:102 +#: report/templates/report/inventree_test_report.html:102 #: templates/js/translated/stock.js:1495 msgid "Test" msgstr "Teszt" -#: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2442 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2419 msgid "Result" msgstr "Eredmény" -#: report/templates/report/inventree_test_report_base.html:130 +#: report/templates/report/inventree_test_report.html:130 msgid "Pass" msgstr "Sikeres" -#: report/templates/report/inventree_test_report_base.html:132 +#: report/templates/report/inventree_test_report.html:132 msgid "Fail" msgstr "Sikertelen" -#: report/templates/report/inventree_test_report_base.html:139 +#: report/templates/report/inventree_test_report.html:139 msgid "No result (required)" msgstr "Nincs eredmény (szükséges)" -#: report/templates/report/inventree_test_report_base.html:141 +#: report/templates/report/inventree_test_report.html:141 msgid "No result" msgstr "Nincs eredmény" -#: report/templates/report/inventree_test_report_base.html:154 +#: report/templates/report/inventree_test_report.html:154 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "Beépített tételek" -#: report/templates/report/inventree_test_report_base.html:168 -#: stock/admin.py:162 templates/js/translated/stock.js:700 -#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3113 +#: report/templates/report/inventree_test_report.html:168 stock/admin.py:162 +#: templates/js/translated/stock.js:700 templates/js/translated/stock.js:871 +#: templates/js/translated/stock.js:3110 msgid "Serial" msgstr "Sorozatszám" @@ -8758,7 +8793,7 @@ msgstr "Beszállító neve" msgid "Customer ID" msgstr "Vevő ID" -#: stock/admin.py:201 stock/models.py:789 +#: stock/admin.py:201 stock/models.py:810 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "Beépítve ebbe" @@ -8783,66 +8818,66 @@ msgstr "Felülvizsgálat szükséges" msgid "Delete on Deplete" msgstr "Törlés ha kimerül" -#: stock/admin.py:256 stock/models.py:883 +#: stock/admin.py:256 stock/models.py:904 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2232 users/models.py:124 +#: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" msgstr "Lejárati dátum" -#: stock/api.py:284 +#: stock/api.py:318 msgid "Filter by location depth" msgstr "Hely mélységre szűrés" -#: stock/api.py:304 +#: stock/api.py:338 msgid "Include sub-locations in filtered results" msgstr "Szűrt eredmények tartalmazzák az alhelyeket" -#: stock/api.py:325 +#: stock/api.py:359 msgid "Parent Location" msgstr "Szülő hely" -#: stock/api.py:326 +#: stock/api.py:360 msgid "Filter by parent location" msgstr "Szülő helyre szűrés" -#: stock/api.py:579 templates/js/translated/table_filters.js:427 +#: stock/api.py:613 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "Külső hely" -#: stock/api.py:767 +#: stock/api.py:801 msgid "Part Tree" msgstr "Alkatrész fa" -#: stock/api.py:797 +#: stock/api.py:831 msgid "Expiry date before" msgstr "Lejárat előtt" -#: stock/api.py:801 +#: stock/api.py:835 msgid "Expiry date after" msgstr "Lejárat után" -#: stock/api.py:804 stock/templates/stock/item_base.html:439 +#: stock/api.py:838 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "Állott" -#: stock/api.py:891 +#: stock/api.py:925 msgid "Quantity is required" msgstr "Mennyiség megadása kötelező" -#: stock/api.py:897 +#: stock/api.py:931 msgid "Valid part must be supplied" msgstr "Egy érvényes alkatrészt meg kell adni" -#: stock/api.py:928 +#: stock/api.py:962 msgid "The given supplier part does not exist" msgstr "A megadott beszállítói alkatrész nem létezik" -#: stock/api.py:938 +#: stock/api.py:972 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "A beszállítói alkatrészhez van megadva csomagolási mennyiség, de a use_pack_size flag nincs beállítva" -#: stock/api.py:969 +#: stock/api.py:1003 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" @@ -8858,477 +8893,517 @@ msgstr "Készlethely típusok" msgid "Default icon for all locations that have no icon set (optional)" msgstr "Alapértelmezett ikon azokhoz a helyekhez, melyeknek nincs ikonja beállítva (válaszható)" -#: stock/models.py:125 stock/models.py:771 +#: stock/models.py:127 stock/models.py:792 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Készlet hely" -#: stock/models.py:126 stock/templates/stock/location.html:179 +#: stock/models.py:128 stock/templates/stock/location.html:186 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "Készlethelyek" -#: stock/models.py:158 stock/models.py:932 +#: stock/models.py:170 stock/models.py:953 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "Tulajdonos" -#: stock/models.py:159 stock/models.py:933 +#: stock/models.py:171 stock/models.py:954 msgid "Select Owner" msgstr "Tulajdonos kiválasztása" -#: stock/models.py:167 +#: stock/models.py:179 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "A szerkezeti raktári helyekre nem lehet direktben raktározni, csak az al-helyekre." -#: stock/models.py:174 templates/js/translated/stock.js:2784 +#: stock/models.py:186 templates/js/translated/stock.js:2781 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "Külső" -#: stock/models.py:175 +#: stock/models.py:187 msgid "This is an external stock location" msgstr "Ez egy külső készlethely" -#: stock/models.py:181 templates/js/translated/stock.js:2793 +#: stock/models.py:193 templates/js/translated/stock.js:2790 #: templates/js/translated/table_filters.js:246 msgid "Location type" msgstr "Helyszín típusa" -#: stock/models.py:185 +#: stock/models.py:197 msgid "Stock location type of this location" msgstr "Tárolóhely típus" -#: stock/models.py:254 +#: stock/models.py:266 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "Nem lehet ezt a raktári helyet szerkezetivé tenni, mert már vannak itt tételek!" -#: stock/models.py:626 +#: stock/models.py:647 msgid "Stock items cannot be located into structural stock locations!" msgstr "A szerkezeti raktári helyre nem lehet készletet felvenni!" -#: stock/models.py:653 stock/serializers.py:290 +#: stock/models.py:674 stock/serializers.py:419 msgid "Stock item cannot be created for virtual parts" msgstr "Virtuális alkatrészből nem lehet készletet létrehozni" -#: stock/models.py:670 +#: stock/models.py:691 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "A beszállítói alkatrész típusa ('{self.supplier_part.part}') mindenképpen {self.part} kellene, hogy legyen" -#: stock/models.py:680 stock/models.py:693 +#: stock/models.py:701 stock/models.py:714 msgid "Quantity must be 1 for item with a serial number" msgstr "Mennyiség 1 kell legyen a sorozatszámmal rendelkező tételnél" -#: stock/models.py:683 +#: stock/models.py:704 msgid "Serial number cannot be set if quantity greater than 1" msgstr "Nem lehet sorozatszámot megadni ha a mennyiség több mint egy" -#: stock/models.py:707 +#: stock/models.py:728 msgid "Item cannot belong to itself" msgstr "A tétel nem tartozhat saját magához" -#: stock/models.py:712 +#: stock/models.py:733 msgid "Item must have a build reference if is_building=True" msgstr "A tételnek kell legyen gyártási azonosítója ha az is_bulding igaz" -#: stock/models.py:725 +#: stock/models.py:746 msgid "Build reference does not point to the same part object" msgstr "Gyártási azonosító nem ugyanarra az alkatrész objektumra mutat" -#: stock/models.py:741 +#: stock/models.py:762 msgid "Parent Stock Item" msgstr "Szülő készlet tétel" -#: stock/models.py:753 +#: stock/models.py:774 msgid "Base part" msgstr "Kiindulási alkatrész" -#: stock/models.py:763 +#: stock/models.py:784 msgid "Select a matching supplier part for this stock item" msgstr "Válassz egy egyező beszállítói alkatrészt ehhez a készlet tételhez" -#: stock/models.py:775 +#: stock/models.py:796 msgid "Where is this stock item located?" msgstr "Hol található ez az alkatrész?" -#: stock/models.py:783 stock/serializers.py:1351 +#: stock/models.py:804 stock/serializers.py:1480 msgid "Packaging this stock item is stored in" msgstr "A csomagolása ennek a készlet tételnek itt van tárolva" -#: stock/models.py:794 +#: stock/models.py:815 msgid "Is this item installed in another item?" msgstr "Ez a tétel be van építve egy másik tételbe?" -#: stock/models.py:813 +#: stock/models.py:834 msgid "Serial number for this item" msgstr "Sorozatszám ehhez a tételhez" -#: stock/models.py:827 stock/serializers.py:1334 +#: stock/models.py:848 stock/serializers.py:1463 msgid "Batch code for this stock item" msgstr "Batch kód ehhez a készlet tételhez" -#: stock/models.py:832 +#: stock/models.py:853 msgid "Stock Quantity" msgstr "Készlet mennyiség" -#: stock/models.py:842 +#: stock/models.py:863 msgid "Source Build" msgstr "Forrás gyártás" -#: stock/models.py:845 +#: stock/models.py:866 msgid "Build for this stock item" msgstr "Gyártás ehhez a készlet tételhez" -#: stock/models.py:852 stock/templates/stock/item_base.html:363 +#: stock/models.py:873 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "Felhasználva ebben" -#: stock/models.py:855 +#: stock/models.py:876 msgid "Build order which consumed this stock item" msgstr "Felhasználva ebben a gyártásban" -#: stock/models.py:864 +#: stock/models.py:885 msgid "Source Purchase Order" msgstr "Forrás beszerzési rendelés" -#: stock/models.py:868 +#: stock/models.py:889 msgid "Purchase order for this stock item" msgstr "Beszerzés ehhez a készlet tételhez" -#: stock/models.py:874 +#: stock/models.py:895 msgid "Destination Sales Order" msgstr "Cél vevői rendelés" -#: stock/models.py:885 +#: stock/models.py:906 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "Készlet tétel lejárati dátuma. A készlet lejártnak tekinthető ezután a dátum után" -#: stock/models.py:903 +#: stock/models.py:924 msgid "Delete on deplete" msgstr "Törlés ha kimerül" -#: stock/models.py:904 +#: stock/models.py:925 msgid "Delete this Stock Item when stock is depleted" msgstr "Készlet tétel törlése ha kimerül" -#: stock/models.py:924 +#: stock/models.py:945 msgid "Single unit purchase price at time of purchase" msgstr "Egy egység beszerzési ára a beszerzés időpontjában" -#: stock/models.py:955 +#: stock/models.py:976 msgid "Converted to part" msgstr "Alkatrésszé alakítva" -#: stock/models.py:1473 +#: stock/models.py:1494 msgid "Part is not set as trackable" msgstr "Az alkatrész nem követésre kötelezett" -#: stock/models.py:1479 +#: stock/models.py:1500 msgid "Quantity must be integer" msgstr "Mennyiség egész szám kell legyen" -#: stock/models.py:1487 +#: stock/models.py:1508 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "A mennyiség nem haladhatja meg az elérhető készletet ({self.quantity})" -#: stock/models.py:1493 +#: stock/models.py:1514 msgid "Serial numbers must be a list of integers" msgstr "A sorozatszám egész számok listája kell legyen" -#: stock/models.py:1498 +#: stock/models.py:1519 msgid "Quantity does not match serial numbers" msgstr "A mennyiség nem egyezik a megadott sorozatszámok számával" -#: stock/models.py:1506 stock/serializers.py:529 +#: stock/models.py:1527 stock/serializers.py:658 msgid "Serial numbers already exist" msgstr "A sorozatszámok már léteznek" -#: stock/models.py:1603 +#: stock/models.py:1624 msgid "Test template does not exist" msgstr "Ez a Teszt sablon nem létezik" -#: stock/models.py:1621 +#: stock/models.py:1642 msgid "Stock item has been assigned to a sales order" msgstr "Készlet tétel hozzárendelve egy vevői rendeléshez" -#: stock/models.py:1625 +#: stock/models.py:1646 msgid "Stock item is installed in another item" msgstr "Készlet tétel beépül egy másikba" -#: stock/models.py:1628 +#: stock/models.py:1649 msgid "Stock item contains other items" msgstr "A készlet tétel más tételeket tartalmaz" -#: stock/models.py:1631 +#: stock/models.py:1652 msgid "Stock item has been assigned to a customer" msgstr "Készlet tétel hozzárendelve egy vevőhöz" -#: stock/models.py:1634 +#: stock/models.py:1655 msgid "Stock item is currently in production" msgstr "Készlet tétel gyártás alatt" -#: stock/models.py:1637 +#: stock/models.py:1658 msgid "Serialized stock cannot be merged" msgstr "Követésre kötelezett készlet nem vonható össze" -#: stock/models.py:1644 stock/serializers.py:1240 +#: stock/models.py:1665 stock/serializers.py:1369 msgid "Duplicate stock items" msgstr "Duplikált készlet tételek vannak" -#: stock/models.py:1648 +#: stock/models.py:1669 msgid "Stock items must refer to the same part" msgstr "A készlet tétel ugyanarra az alkatrészre kell vonatkozzon" -#: stock/models.py:1656 +#: stock/models.py:1677 msgid "Stock items must refer to the same supplier part" msgstr "A készlet tétel ugyanarra a beszállítói alkatrészre kell vonatkozzon" -#: stock/models.py:1661 +#: stock/models.py:1682 msgid "Stock status codes must match" msgstr "Készlet tételek állapotainak egyeznie kell" -#: stock/models.py:1882 +#: stock/models.py:1903 msgid "StockItem cannot be moved as it is not in stock" msgstr "Készlet tétel nem mozgatható mivel nincs készleten" -#: stock/models.py:2345 +#: stock/models.py:2322 msgid "Entry notes" msgstr "Bejegyzés megjegyzései" -#: stock/models.py:2410 +#: stock/models.py:2387 msgid "Value must be provided for this test" msgstr "Ehhez a teszthez meg kell adni értéket" -#: stock/models.py:2415 +#: stock/models.py:2392 msgid "Attachment must be uploaded for this test" msgstr "Ehhez a teszthez fel kell tölteni mellékletet" -#: stock/models.py:2442 +#: stock/models.py:2419 msgid "Test result" msgstr "Teszt eredménye" -#: stock/models.py:2449 +#: stock/models.py:2426 msgid "Test output value" msgstr "Teszt kimeneti értéke" -#: stock/models.py:2457 +#: stock/models.py:2434 msgid "Test result attachment" msgstr "Teszt eredmény melléklet" -#: stock/models.py:2461 +#: stock/models.py:2438 msgid "Test notes" msgstr "Tesztek megjegyzései" -#: stock/models.py:2469 templates/js/translated/stock.js:1548 +#: stock/models.py:2446 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "Teszt állomás" -#: stock/models.py:2470 +#: stock/models.py:2447 msgid "The identifier of the test station where the test was performed" msgstr "A tesztet elvégző tesztállomás azonosítója" -#: stock/models.py:2476 +#: stock/models.py:2453 msgid "Started" msgstr "Elkezdődött" -#: stock/models.py:2477 +#: stock/models.py:2454 msgid "The timestamp of the test start" msgstr "A teszt indításának időpontja" -#: stock/models.py:2483 +#: stock/models.py:2460 msgid "Finished" msgstr "Befejezve" -#: stock/models.py:2484 +#: stock/models.py:2461 msgid "The timestamp of the test finish" msgstr "A teszt befejezésének időpontja" -#: stock/serializers.py:100 +#: stock/serializers.py:75 +msgid "Generated batch code" +msgstr "" + +#: stock/serializers.py:84 +msgid "Select build order" +msgstr "" + +#: stock/serializers.py:93 +msgid "Select stock item to generate batch code for" +msgstr "" + +#: stock/serializers.py:102 +msgid "Select location to generate batch code for" +msgstr "" + +#: stock/serializers.py:111 +msgid "Select part to generate batch code for" +msgstr "" + +#: stock/serializers.py:120 +msgid "Select purchase order" +msgstr "" + +#: stock/serializers.py:127 +msgid "Enter quantity for batch code" +msgstr "" + +#: stock/serializers.py:150 +msgid "Generated serial number" +msgstr "" + +#: stock/serializers.py:159 +msgid "Select part to generate serial number for" +msgstr "" + +#: stock/serializers.py:167 +msgid "Quantity of serial numbers to generate" +msgstr "" + +#: stock/serializers.py:229 msgid "Test template for this result" msgstr "Az eredmény Teszt sablonja" -#: stock/serializers.py:119 +#: stock/serializers.py:248 msgid "Template ID or test name must be provided" msgstr "Sablon azonosító vagy Teszt név szükséges" -#: stock/serializers.py:151 +#: stock/serializers.py:280 msgid "The test finished time cannot be earlier than the test started time" msgstr "A tesztet nem lehet a kezdésnél hamarabb befejezni" -#: stock/serializers.py:184 +#: stock/serializers.py:313 msgid "Serial number is too large" msgstr "Szériaszám túl nagy" -#: stock/serializers.py:282 +#: stock/serializers.py:411 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "Csomagolási mennyiség használata: a megadott mennyiség ennyi csomag" -#: stock/serializers.py:402 +#: stock/serializers.py:531 msgid "Purchase price of this stock item, per unit or pack" msgstr "Készlet tétel beszerzési ára, per darab vagy csomag" -#: stock/serializers.py:464 +#: stock/serializers.py:593 msgid "Enter number of stock items to serialize" msgstr "Add meg hány készlet tételt lássunk el sorozatszámmal" -#: stock/serializers.py:477 +#: stock/serializers.py:606 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "A mennyiség nem lépheti túl a rendelkezésre álló készletet ({q})" -#: stock/serializers.py:484 +#: stock/serializers.py:613 msgid "Enter serial numbers for new items" msgstr "Írd be a sorozatszámokat az új tételekhez" -#: stock/serializers.py:495 stock/serializers.py:1197 stock/serializers.py:1453 +#: stock/serializers.py:624 stock/serializers.py:1326 stock/serializers.py:1582 msgid "Destination stock location" msgstr "Cél készlet hely" -#: stock/serializers.py:502 +#: stock/serializers.py:631 msgid "Optional note field" msgstr "Opcionális megjegyzés mező" -#: stock/serializers.py:512 +#: stock/serializers.py:641 msgid "Serial numbers cannot be assigned to this part" msgstr "Sorozatszámokat nem lehet hozzárendelni ehhez az alkatrészhez" -#: stock/serializers.py:567 +#: stock/serializers.py:696 msgid "Select stock item to install" msgstr "Válaszd ki a beépítésre szánt készlet tételt" -#: stock/serializers.py:574 +#: stock/serializers.py:703 msgid "Quantity to Install" msgstr "Beépítendő mennyiség" -#: stock/serializers.py:575 +#: stock/serializers.py:704 msgid "Enter the quantity of items to install" msgstr "Adja meg a beépítendő mennyiséget" -#: stock/serializers.py:580 stock/serializers.py:660 stock/serializers.py:756 -#: stock/serializers.py:806 +#: stock/serializers.py:709 stock/serializers.py:789 stock/serializers.py:885 +#: stock/serializers.py:935 msgid "Add transaction note (optional)" msgstr "Tranzakció megjegyzés hozzáadása (opcionális)" -#: stock/serializers.py:588 +#: stock/serializers.py:717 msgid "Quantity to install must be at least 1" msgstr "A beépítendő mennyiség legalább 1 legyen" -#: stock/serializers.py:596 +#: stock/serializers.py:725 msgid "Stock item is unavailable" msgstr "Készlet tétel nem elérhető" -#: stock/serializers.py:607 +#: stock/serializers.py:736 msgid "Selected part is not in the Bill of Materials" msgstr "A kiválasztott alkatrész nincs az alkatrészjegyzékben" -#: stock/serializers.py:620 +#: stock/serializers.py:749 msgid "Quantity to install must not exceed available quantity" msgstr "A beépítendő mennyiség nem haladhatja meg az elérhető mennyiséget" -#: stock/serializers.py:655 +#: stock/serializers.py:784 msgid "Destination location for uninstalled item" msgstr "Cél hely a kiszedett tételeknek" -#: stock/serializers.py:690 +#: stock/serializers.py:819 msgid "Select part to convert stock item into" msgstr "Válassz alkatrészt amire konvertáljuk a készletet" -#: stock/serializers.py:703 +#: stock/serializers.py:832 msgid "Selected part is not a valid option for conversion" msgstr "A kiválasztott alkatrész nem megfelelő a konverzióhoz" -#: stock/serializers.py:720 +#: stock/serializers.py:849 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "Készlet tétel hozzárendelt beszállítói alkatrésszel nem konvertálható" -#: stock/serializers.py:751 +#: stock/serializers.py:880 msgid "Destination location for returned item" msgstr "Cél hely a visszatérő tételeknek" -#: stock/serializers.py:788 +#: stock/serializers.py:917 msgid "Select stock items to change status" msgstr "Válaszd ki a státuszváltásra szánt készlet tételeket" -#: stock/serializers.py:794 +#: stock/serializers.py:923 msgid "No stock items selected" msgstr "Nincs készlet tétel kiválasztva" -#: stock/serializers.py:890 stock/serializers.py:953 +#: stock/serializers.py:1019 stock/serializers.py:1082 #: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:213 +#: stock/templates/stock/location.html:220 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "Alhelyek" -#: stock/serializers.py:1069 +#: stock/serializers.py:1198 msgid "Part must be salable" msgstr "Az alkatrésznek értékesíthetőnek kell lennie" -#: stock/serializers.py:1073 +#: stock/serializers.py:1202 msgid "Item is allocated to a sales order" msgstr "A tétel egy vevő rendeléshez foglalt" -#: stock/serializers.py:1077 +#: stock/serializers.py:1206 msgid "Item is allocated to a build order" msgstr "A tétel egy gyártási utasításhoz foglalt" -#: stock/serializers.py:1101 +#: stock/serializers.py:1230 msgid "Customer to assign stock items" msgstr "Vevő akihez rendeljük a készlet tételeket" -#: stock/serializers.py:1107 +#: stock/serializers.py:1236 msgid "Selected company is not a customer" msgstr "A kiválasztott cég nem egy vevő" -#: stock/serializers.py:1115 +#: stock/serializers.py:1244 msgid "Stock assignment notes" msgstr "Készlet hozzárendelés megjegyzései" -#: stock/serializers.py:1125 stock/serializers.py:1379 +#: stock/serializers.py:1254 stock/serializers.py:1508 msgid "A list of stock items must be provided" msgstr "A készlet tételek listáját meg kell adni" -#: stock/serializers.py:1204 +#: stock/serializers.py:1333 msgid "Stock merging notes" msgstr "Készlet összevonás megjegyzései" -#: stock/serializers.py:1209 +#: stock/serializers.py:1338 msgid "Allow mismatched suppliers" msgstr "Nem egyező beszállítók megengedése" -#: stock/serializers.py:1210 +#: stock/serializers.py:1339 msgid "Allow stock items with different supplier parts to be merged" msgstr "Különböző beszállítói alkatrészekből származó készletek összevonásának engedélyezése" -#: stock/serializers.py:1215 +#: stock/serializers.py:1344 msgid "Allow mismatched status" msgstr "Nem egyező állapotok megjelenítése" -#: stock/serializers.py:1216 +#: stock/serializers.py:1345 msgid "Allow stock items with different status codes to be merged" msgstr "Különböző állapotú készletek összevonásának engedélyezése" -#: stock/serializers.py:1226 +#: stock/serializers.py:1355 msgid "At least two stock items must be provided" msgstr "Legalább két készlet tételt meg kell adni" -#: stock/serializers.py:1293 +#: stock/serializers.py:1422 msgid "No Change" msgstr "Nincs változás" -#: stock/serializers.py:1322 +#: stock/serializers.py:1451 msgid "StockItem primary key value" msgstr "Készlet tétel elsődleges kulcs értéke" -#: stock/serializers.py:1341 +#: stock/serializers.py:1470 msgid "Stock item status code" msgstr "Készlet tétel státusz kódja" -#: stock/serializers.py:1369 +#: stock/serializers.py:1498 msgid "Stock transaction notes" msgstr "Készlet tranzakció megjegyzései" @@ -9353,7 +9428,7 @@ msgstr "Teszt adatok" msgid "Test Report" msgstr "Teszt riport" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:286 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:282 msgid "Delete Test Data" msgstr "Teszt adatok törlése" @@ -9369,15 +9444,15 @@ msgstr "Készlet tétel megjegyzések" msgid "Installed Stock Items" msgstr "Beépített készlet tételek" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3274 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3271 msgid "Install Stock Item" msgstr "Készlet tétel beépítése" -#: stock/templates/stock/item.html:274 +#: stock/templates/stock/item.html:270 msgid "Delete all test results for this stock item" msgstr "Készlet tétel összes teszt eredményének törlése" -#: stock/templates/stock/item.html:304 templates/js/translated/stock.js:1701 +#: stock/templates/stock/item.html:300 templates/js/translated/stock.js:1701 msgid "Add Test Result" msgstr "Teszt eredmény hozzáadása" @@ -9562,40 +9637,40 @@ msgstr "Ez a készlet tétel lejár %(item.expiry_date)s-n" msgid "No stocktake performed" msgstr "Még nem volt leltározva" -#: stock/templates/stock/item_base.html:507 -#: templates/js/translated/stock.js:1954 +#: stock/templates/stock/item_base.html:504 +#: templates/js/translated/stock.js:1952 msgid "stock item" msgstr "készlet tétel" -#: stock/templates/stock/item_base.html:532 +#: stock/templates/stock/item_base.html:527 msgid "Edit Stock Status" msgstr "Készlet állapot szerkesztése" -#: stock/templates/stock/item_base.html:541 +#: stock/templates/stock/item_base.html:536 msgid "Stock Item QR Code" msgstr "Készlet tétel QR kódja" -#: stock/templates/stock/item_base.html:552 +#: stock/templates/stock/item_base.html:547 msgid "Link Barcode to Stock Item" msgstr "Vonalkód hozzárendelése a készlet tételhez" -#: stock/templates/stock/item_base.html:616 +#: stock/templates/stock/item_base.html:611 msgid "Select one of the part variants listed below." msgstr "Válassz a lenti alkatrész változatok közül" -#: stock/templates/stock/item_base.html:619 +#: stock/templates/stock/item_base.html:614 msgid "Warning" msgstr "Figyelem" -#: stock/templates/stock/item_base.html:620 +#: stock/templates/stock/item_base.html:615 msgid "This action cannot be easily undone" msgstr "Ez a művelet nem vonható vissza könnyen" -#: stock/templates/stock/item_base.html:628 +#: stock/templates/stock/item_base.html:623 msgid "Convert Stock Item" msgstr "Készlet tétel konvertálása" -#: stock/templates/stock/item_base.html:662 +#: stock/templates/stock/item_base.html:657 msgid "Return to Stock" msgstr "Visszavétel készletre" @@ -9659,28 +9734,32 @@ msgstr "Hely tulajdonosa" msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "Úgytűnik nem vagy ennek a készlethelynek a tulajdonosa. Ezt így nem tudod módosítani." -#: stock/templates/stock/location.html:217 +#: stock/templates/stock/location.html:176 +msgid "Location Type" +msgstr "" + +#: stock/templates/stock/location.html:224 msgid "Create new stock location" msgstr "Új készlet hely létrehozása" -#: stock/templates/stock/location.html:218 +#: stock/templates/stock/location.html:225 msgid "New Location" msgstr "Új hely" -#: stock/templates/stock/location.html:287 -#: templates/js/translated/stock.js:2575 +#: stock/templates/stock/location.html:295 +#: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "készlet hely" -#: stock/templates/stock/location.html:315 +#: stock/templates/stock/location.html:317 msgid "Scanned stock container into this location" msgstr "Készlet tároló bevételezve erre a helyre" -#: stock/templates/stock/location.html:388 +#: stock/templates/stock/location.html:390 msgid "Stock Location QR Code" msgstr "Készlet hely QR kódja" -#: stock/templates/stock/location.html:399 +#: stock/templates/stock/location.html:401 msgid "Link Barcode to Stock Location" msgstr "Vonalkód hozzárendelése a készlet helyhez" @@ -9950,11 +10029,11 @@ msgstr "URL kompatibilis név (Slug)" msgid "Part Settings" msgstr "Alkatrész beállítások" -#: templates/InvenTree/settings/part.html:42 +#: templates/InvenTree/settings/part.html:43 msgid "Part Import" msgstr "Alkatrész importálás" -#: templates/InvenTree/settings/part.html:46 +#: templates/InvenTree/settings/part.html:47 msgid "Import Part" msgstr "Alkatrész importálása" @@ -10175,7 +10254,7 @@ msgstr "Árfolyam" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:424 +#: templates/js/translated/stock.js:245 users/models.py:411 msgid "Delete" msgstr "Törlés" @@ -10284,7 +10363,7 @@ msgid "Home Page" msgstr "Főoldal" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2159 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2163 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" @@ -10875,7 +10954,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:3218 +#: templates/js/translated/part.js:3217 msgid "Minimum Quantity" msgstr "Minimum mennyiség" @@ -11255,7 +11334,7 @@ msgid "External stock" msgstr "Külső raktárkészlet" #: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2595 -#: templates/js/translated/sales_order.js:1910 +#: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "Nincs szabad" @@ -11265,7 +11344,7 @@ msgstr "Változatokkal és helyettesítőkkel együtt" #: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 #: templates/js/translated/part.js:1256 -#: templates/js/translated/sales_order.js:1907 +#: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "Változatokkal együtt" @@ -11520,17 +11599,17 @@ msgstr "Szükséges tesztek" #: templates/js/translated/build.js:1576 #: templates/js/translated/purchase_order.js:611 -#: templates/js/translated/sales_order.js:1171 +#: templates/js/translated/sales_order.js:1207 msgid "Select Parts" msgstr "Válassz alkatrészeket" #: templates/js/translated/build.js:1577 -#: templates/js/translated/sales_order.js:1172 +#: templates/js/translated/sales_order.js:1208 msgid "You must select at least one part to allocate" msgstr "Legalább egy alkatrész választása szükséges a foglaláshoz" #: templates/js/translated/build.js:1640 -#: templates/js/translated/sales_order.js:1121 +#: templates/js/translated/sales_order.js:1157 msgid "Specify stock allocation quantity" msgstr "Készlet foglalási mennyiség megadása" @@ -11543,7 +11622,7 @@ msgid "All selected parts have been fully allocated" msgstr "Minden kiválasztott alkatrész teljesen lefoglalva" #: templates/js/translated/build.js:1732 -#: templates/js/translated/sales_order.js:1186 +#: templates/js/translated/sales_order.js:1222 msgid "Select source location (leave blank to take from all locations)" msgstr "Válassz forrás helyet (vagy hagyd üresen ha bárhonnan)" @@ -11552,12 +11631,12 @@ msgid "Allocate Stock Items to Build Order" msgstr "Készlet foglalása a gyártási utasításhoz" #: templates/js/translated/build.js:1771 -#: templates/js/translated/sales_order.js:1283 +#: templates/js/translated/sales_order.js:1319 msgid "No matching stock locations" msgstr "Nincs egyező készlethely" #: templates/js/translated/build.js:1844 -#: templates/js/translated/sales_order.js:1362 +#: templates/js/translated/sales_order.js:1398 msgid "No matching stock items" msgstr "Nincs egyező készlet" @@ -11590,9 +11669,9 @@ msgid "No builds matching query" msgstr "Nincs a lekérdezéssel egyező gyártási utasítás" #: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 -#: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 -#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 -#: templates/js/translated/stock.js:1985 templates/js/translated/stock.js:2713 +#: templates/js/translated/forms.js:2159 templates/js/translated/forms.js:2175 +#: templates/js/translated/part.js:2315 templates/js/translated/part.js:2741 +#: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "Kiválaszt" @@ -11600,21 +11679,17 @@ msgstr "Kiválaszt" msgid "Build order is overdue" msgstr "Gyártás késésben van" -#: templates/js/translated/build.js:2177 -msgid "Progress" -msgstr "Haladás" - -#: templates/js/translated/build.js:2213 templates/js/translated/stock.js:3045 +#: templates/js/translated/build.js:2213 templates/js/translated/stock.js:3042 msgid "No user information" msgstr "Nincs felhasználói információ" #: templates/js/translated/build.js:2389 -#: templates/js/translated/sales_order.js:1646 +#: templates/js/translated/sales_order.js:1682 msgid "Edit stock allocation" msgstr "Készlet foglalások szerkesztése" #: templates/js/translated/build.js:2390 -#: templates/js/translated/sales_order.js:1647 +#: templates/js/translated/sales_order.js:1683 msgid "Delete stock allocation" msgstr "Készlet foglalások törlése" @@ -11648,7 +11723,7 @@ msgid "Unit Quantity" msgstr "Mennyiségi egység" #: templates/js/translated/build.js:2591 -#: templates/js/translated/sales_order.js:1915 +#: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "Van elegendő" @@ -11665,7 +11740,7 @@ msgid "Allocate tracked items against individual build outputs" msgstr "Egyedileg nyilvántartott tételek lefoglalása egyedi gyártási kimenetekhez" #: templates/js/translated/build.js:2662 -#: templates/js/translated/sales_order.js:2016 +#: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "Gyártási készlet" @@ -11674,7 +11749,7 @@ msgid "Order stock" msgstr "Készlet rendelés" #: templates/js/translated/build.js:2671 -#: templates/js/translated/sales_order.js:2010 +#: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "Lefoglalt készlet" @@ -11924,12 +11999,12 @@ msgid "Delete price break" msgstr "Ársáv törlése" #: templates/js/translated/filters.js:186 -#: templates/js/translated/filters.js:672 +#: templates/js/translated/filters.js:667 msgid "true" msgstr "igaz" #: templates/js/translated/filters.js:190 -#: templates/js/translated/filters.js:673 +#: templates/js/translated/filters.js:668 msgid "false" msgstr "hamis" @@ -11961,7 +12036,7 @@ msgstr "Új szűrő hozzáadása" msgid "Clear all filters" msgstr "Összes szűrő törlése" -#: templates/js/translated/filters.js:582 +#: templates/js/translated/filters.js:577 msgid "Create filter" msgstr "Szűrő létrehozása" @@ -11994,32 +12069,32 @@ msgstr "Form nyitva tartása" msgid "Enter a valid number" msgstr "Adj meg egy érvényes számot" -#: templates/js/translated/forms.js:1473 templates/modals.html:19 +#: templates/js/translated/forms.js:1477 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "Form hibák vannak" -#: templates/js/translated/forms.js:1971 +#: templates/js/translated/forms.js:1975 msgid "No results found" msgstr "Nincs találat" -#: templates/js/translated/forms.js:2275 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2279 templates/js/translated/search.js:239 msgid "Searching" msgstr "Keresés" -#: templates/js/translated/forms.js:2489 +#: templates/js/translated/forms.js:2493 msgid "Clear input" msgstr "Bevitel törlése" -#: templates/js/translated/forms.js:3091 +#: templates/js/translated/forms.js:3095 msgid "File Column" msgstr "Fájl oszlop" -#: templates/js/translated/forms.js:3091 +#: templates/js/translated/forms.js:3095 msgid "Field Name" msgstr "Mező név" -#: templates/js/translated/forms.js:3103 +#: templates/js/translated/forms.js:3107 msgid "Select Columns" msgstr "Oszlopok kiválasztása" @@ -12043,51 +12118,15 @@ msgstr "Hamis" msgid "No parts required for builds" msgstr "Nem szükséges alkatrész a gyártáshoz" -#: templates/js/translated/label.js:53 templates/js/translated/report.js:123 +#: templates/js/translated/label.js:55 templates/js/translated/report.js:38 msgid "Select Items" msgstr "Tételek kiválasztása" -#: templates/js/translated/label.js:54 +#: templates/js/translated/label.js:56 templates/js/translated/report.js:39 msgid "No items selected for printing" msgstr "Nincs tétel kiválasztva a nyomtatáshoz" -#: templates/js/translated/label.js:72 -msgid "No Labels Found" -msgstr "Nem található címke" - -#: templates/js/translated/label.js:73 -msgid "No label templates found which match the selected items" -msgstr "Nem található címke sablon a kiválasztott tételekhez" - -#: templates/js/translated/label.js:97 -msgid "selected" -msgstr "kiválasztva" - -#: templates/js/translated/label.js:133 -msgid "Printing Options" -msgstr "Nyomtatási beállítások" - -#: templates/js/translated/label.js:148 -msgid "Print label" -msgstr "Címke nyomtatása" - -#: templates/js/translated/label.js:148 -msgid "Print labels" -msgstr "Címkék nyomtatása" - #: templates/js/translated/label.js:149 -msgid "Print" -msgstr "Nyomtatás" - -#: templates/js/translated/label.js:155 -msgid "Select label template" -msgstr "Címke sablon választás" - -#: templates/js/translated/label.js:168 -msgid "Select plugin" -msgstr "Plugin választás" - -#: templates/js/translated/label.js:187 msgid "Labels sent to printer" msgstr "Címkék nyomtatónak elküldve" @@ -12205,7 +12244,7 @@ msgid "Delete Line" msgstr "Sor törlése" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1991 +#: templates/js/translated/purchase_order.js:1990 msgid "No line items found" msgstr "Nem találhatók sortételek" @@ -12443,19 +12482,19 @@ msgid "Delete Part Parameter Template" msgstr "Alkatrész paraméter sablon törlése" #: templates/js/translated/part.js:1716 -#: templates/js/translated/purchase_order.js:1655 +#: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "Nem található beszerzési rendelés" #: templates/js/translated/part.js:1860 -#: templates/js/translated/purchase_order.js:2154 -#: templates/js/translated/return_order.js:756 -#: templates/js/translated/sales_order.js:1875 +#: templates/js/translated/purchase_order.js:2153 +#: templates/js/translated/return_order.js:755 +#: templates/js/translated/sales_order.js:1911 msgid "This line item is overdue" msgstr "Ez a sortétel késésben van" #: templates/js/translated/part.js:1906 -#: templates/js/translated/purchase_order.js:2221 +#: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "Sortétel bevételezése" @@ -12467,7 +12506,7 @@ msgstr "Alkatrész kapcsolatok törlése" msgid "Delete Part Relationship" msgstr "Alkatrész kapcsolatok törlése" -#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2506 +#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2505 msgid "No parts found" msgstr "Nincs alkatrész" @@ -12483,101 +12522,101 @@ msgstr "Alkatrész kategória beállítása" msgid "Set category" msgstr "Kategória beállítása" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2286 msgid "part" msgstr "alkatrész" -#: templates/js/translated/part.js:2288 +#: templates/js/translated/part.js:2287 msgid "parts" msgstr "alkatrészek" -#: templates/js/translated/part.js:2384 +#: templates/js/translated/part.js:2383 msgid "No category" msgstr "Nincs kategória" -#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 -#: templates/js/translated/stock.js:2672 +#: templates/js/translated/part.js:2530 templates/js/translated/part.js:2660 +#: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "Megjelenítés listaként" -#: templates/js/translated/part.js:2547 +#: templates/js/translated/part.js:2546 msgid "Display as grid" msgstr "Megjelenítés rácsnézetként" -#: templates/js/translated/part.js:2645 +#: templates/js/translated/part.js:2644 msgid "No subcategories found" msgstr "Nem találhatóak alkategóriák" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2692 +#: templates/js/translated/part.js:2680 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "Megjelenítés fában" -#: templates/js/translated/part.js:2761 +#: templates/js/translated/part.js:2760 msgid "Load Subcategories" msgstr "Alkategóriák betöltése" -#: templates/js/translated/part.js:2777 +#: templates/js/translated/part.js:2776 msgid "Subscribed category" msgstr "Értesítésre beállított kategória" -#: templates/js/translated/part.js:2864 +#: templates/js/translated/part.js:2863 msgid "No test templates matching query" msgstr "Nincs a lekérdezéssel egyező teszt sablon" -#: templates/js/translated/part.js:2886 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2885 templates/js/translated/search.js:342 msgid "results" msgstr "találat" -#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2935 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "Teszt eredmény szerkesztése" -#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "Teszt eredmény törlése" -#: templates/js/translated/part.js:2941 +#: templates/js/translated/part.js:2940 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:2957 +#: templates/js/translated/part.js:2956 msgid "Edit Test Result Template" msgstr "Teszt eredmény sablon szerkesztése" -#: templates/js/translated/part.js:2971 +#: templates/js/translated/part.js:2970 msgid "Delete Test Result Template" msgstr "Teszt eredmény sablon törlése" -#: templates/js/translated/part.js:3050 templates/js/translated/part.js:3051 +#: templates/js/translated/part.js:3049 templates/js/translated/part.js:3050 msgid "No date specified" msgstr "Nincs megadva dátum" -#: templates/js/translated/part.js:3053 +#: templates/js/translated/part.js:3052 msgid "Specified date is in the past" msgstr "A megadott dátum a múltban van" -#: templates/js/translated/part.js:3059 +#: templates/js/translated/part.js:3058 msgid "Speculative" msgstr "Spekulatív" -#: templates/js/translated/part.js:3109 +#: templates/js/translated/part.js:3108 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:3115 +#: templates/js/translated/part.js:3114 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:3211 +#: templates/js/translated/part.js:3210 msgid "Scheduled Stock Quantities" msgstr "Ütemezett készlet mennyiség" -#: templates/js/translated/part.js:3227 +#: templates/js/translated/part.js:3226 msgid "Maximum Quantity" msgstr "Maximum mennyiség" -#: templates/js/translated/part.js:3272 +#: templates/js/translated/part.js:3271 msgid "Minimum Stock Level" msgstr "Minimális készlet" @@ -12703,7 +12742,7 @@ msgstr "Beszerzési rendelés befejezése" #: templates/js/translated/purchase_order.js:448 #: templates/js/translated/return_order.js:210 -#: templates/js/translated/sales_order.js:500 +#: templates/js/translated/sales_order.js:552 msgid "Mark this order as complete?" msgstr "Rendelés befejezettnek jelölése?" @@ -12716,7 +12755,6 @@ msgid "This order has line items which have not been marked as received." msgstr "Ez a rendelés olyan sortételeket tartalmaz amik még nem érkeztek be." #: templates/js/translated/purchase_order.js:460 -#: templates/js/translated/sales_order.js:514 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "A rendelés befejezettnek jelölésével annak adatai és sortételei a továbbiakban már nem lesznek szerkeszthetők." @@ -12774,12 +12812,12 @@ msgid "No matching purchase orders" msgstr "Nincsenek egyező beszerzési rendelések" #: templates/js/translated/purchase_order.js:1073 -#: templates/js/translated/return_order.js:491 +#: templates/js/translated/return_order.js:490 msgid "Select Line Items" msgstr "Sortételek kiválasztása" #: templates/js/translated/purchase_order.js:1074 -#: templates/js/translated/return_order.js:492 +#: templates/js/translated/return_order.js:491 msgid "At least one line item must be selected" msgstr "Legalább egy sortételt ki kell választani" @@ -12828,7 +12866,7 @@ msgid "Quantity to Receive" msgstr "Érkező mennyiség" #: templates/js/translated/purchase_order.js:1333 -#: templates/js/translated/return_order.js:561 +#: templates/js/translated/return_order.js:560 msgid "Confirm receipt of items" msgstr "Bevételezés megerősítése" @@ -12848,82 +12886,67 @@ msgstr "Beérkezett tétel vonalkódjának leolvasása (egyik meglévő készlet msgid "Invalid barcode data" msgstr "Érvénytelen vonalkód adat" -#: templates/js/translated/purchase_order.js:1682 -#: templates/js/translated/return_order.js:286 -#: templates/js/translated/sales_order.js:774 -#: templates/js/translated/sales_order.js:998 +#: templates/js/translated/purchase_order.js:1681 +#: templates/js/translated/return_order.js:285 +#: templates/js/translated/sales_order.js:810 +#: templates/js/translated/sales_order.js:1034 msgid "Order is overdue" msgstr "Rendelés késésben" -#: templates/js/translated/purchase_order.js:1748 -#: templates/js/translated/return_order.js:354 -#: templates/js/translated/sales_order.js:851 -#: templates/js/translated/sales_order.js:1011 -msgid "Items" -msgstr "Tételek" - -#: templates/js/translated/purchase_order.js:1844 +#: templates/js/translated/purchase_order.js:1843 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:1862 +#: templates/js/translated/purchase_order.js:1861 msgid "Delete selected Line items?" msgstr "Töröljük a kiválasztott sortételeket?" -#: templates/js/translated/purchase_order.js:1917 -#: templates/js/translated/sales_order.js:2070 +#: templates/js/translated/purchase_order.js:1916 +#: templates/js/translated/sales_order.js:2106 msgid "Duplicate Line Item" msgstr "Sortétel másolása" -#: templates/js/translated/purchase_order.js:1932 -#: templates/js/translated/return_order.js:476 -#: templates/js/translated/return_order.js:669 -#: templates/js/translated/sales_order.js:2083 +#: templates/js/translated/purchase_order.js:1931 +#: templates/js/translated/return_order.js:475 +#: templates/js/translated/return_order.js:668 +#: templates/js/translated/sales_order.js:2119 msgid "Edit Line Item" msgstr "Sortétel szerkesztése" -#: templates/js/translated/purchase_order.js:1943 -#: templates/js/translated/return_order.js:682 -#: templates/js/translated/sales_order.js:2094 +#: templates/js/translated/purchase_order.js:1942 +#: templates/js/translated/return_order.js:681 +#: templates/js/translated/sales_order.js:2130 msgid "Delete Line Item" msgstr "Sortétel törlése" -#: templates/js/translated/purchase_order.js:2225 -#: templates/js/translated/sales_order.js:2024 +#: templates/js/translated/purchase_order.js:2224 +#: templates/js/translated/sales_order.js:2060 msgid "Duplicate line item" msgstr "Sortétel másolása" -#: templates/js/translated/purchase_order.js:2226 -#: templates/js/translated/return_order.js:801 -#: templates/js/translated/sales_order.js:2025 +#: templates/js/translated/purchase_order.js:2225 +#: templates/js/translated/return_order.js:800 +#: templates/js/translated/sales_order.js:2061 msgid "Edit line item" msgstr "Sortétel szerkesztése" -#: templates/js/translated/purchase_order.js:2227 -#: templates/js/translated/return_order.js:805 -#: templates/js/translated/sales_order.js:2031 +#: templates/js/translated/purchase_order.js:2226 +#: templates/js/translated/return_order.js:804 +#: templates/js/translated/sales_order.js:2067 msgid "Delete line item" msgstr "Sortétel törlése" -#: templates/js/translated/report.js:63 -msgid "items selected" -msgstr "kiválasztott tételek" +#: templates/js/translated/report.js:49 +msgid "Print Report" +msgstr "" -#: templates/js/translated/report.js:71 -msgid "Select Report Template" -msgstr "Riport sablon kiválasztása" +#: templates/js/translated/report.js:68 +msgid "Report print successful" +msgstr "" -#: templates/js/translated/report.js:86 -msgid "Select Test Report Template" -msgstr "Teszt riport sablon kiválasztása" - -#: templates/js/translated/report.js:140 -msgid "No Reports Found" -msgstr "Nem található riport" - -#: templates/js/translated/report.js:141 -msgid "No report templates found which match the selected items" -msgstr "Nem található riport sablon a kiválasztott tételekhez" +#: templates/js/translated/report.js:73 +msgid "Report printing failed" +msgstr "" #: templates/js/translated/return_order.js:60 #: templates/js/translated/sales_order.js:86 @@ -12954,25 +12977,25 @@ msgstr "Visszavétel törlése" msgid "Complete Return Order" msgstr "Visszavétel befejezése" -#: templates/js/translated/return_order.js:266 +#: templates/js/translated/return_order.js:265 msgid "No return orders found" msgstr "Nem található visszavétel" -#: templates/js/translated/return_order.js:300 -#: templates/js/translated/sales_order.js:788 +#: templates/js/translated/return_order.js:299 +#: templates/js/translated/sales_order.js:824 msgid "Invalid Customer" msgstr "Érvénytelen vevő" -#: templates/js/translated/return_order.js:562 +#: templates/js/translated/return_order.js:561 msgid "Receive Return Order Items" msgstr "Visszavétel tételeinek bevételezése" -#: templates/js/translated/return_order.js:693 -#: templates/js/translated/sales_order.js:2231 +#: templates/js/translated/return_order.js:692 +#: templates/js/translated/sales_order.js:2267 msgid "No matching line items" msgstr "Nincs egyező sortétel" -#: templates/js/translated/return_order.js:798 +#: templates/js/translated/return_order.js:797 msgid "Mark item as received" msgstr "Tétel bevételezve" @@ -13016,140 +13039,156 @@ msgstr "Függő szállítmányok kiszállítása" msgid "Skip" msgstr "Kihagyás" +#: templates/js/translated/sales_order.js:484 +msgid "Ship Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:500 +msgid "Ship this order?" +msgstr "" + +#: templates/js/translated/sales_order.js:506 +msgid "Order cannot be shipped as there are incomplete shipments" +msgstr "" + #: templates/js/translated/sales_order.js:513 msgid "This order has line items which have not been completed." msgstr "Ez a rendelés olyan sortételeket tartalmaz amik még nem teljesítettek." -#: templates/js/translated/sales_order.js:535 +#: templates/js/translated/sales_order.js:514 +msgid "Shipping this order means that the order and line items will no longer be editable." +msgstr "" + +#: templates/js/translated/sales_order.js:572 msgid "Issue this Sales Order?" msgstr "Vissza lett igazolva ez a vevői rendelés?" -#: templates/js/translated/sales_order.js:540 +#: templates/js/translated/sales_order.js:577 msgid "Issue Sales Order" msgstr "Vevői rendelés visszaigazolása" -#: templates/js/translated/sales_order.js:559 +#: templates/js/translated/sales_order.js:596 msgid "Cancel Sales Order" msgstr "Vevő rendelés törlése" -#: templates/js/translated/sales_order.js:564 +#: templates/js/translated/sales_order.js:601 msgid "Cancelling this order means that the order will no longer be editable." msgstr "A rendelés törlésével annak adatai a továbbiakban már nem lesznek szerkeszthetők." -#: templates/js/translated/sales_order.js:618 +#: templates/js/translated/sales_order.js:655 msgid "Create New Shipment" msgstr "Szállítmány létrehozása" -#: templates/js/translated/sales_order.js:728 +#: templates/js/translated/sales_order.js:764 msgid "No sales orders found" msgstr "Nem található vevői rendelés" -#: templates/js/translated/sales_order.js:908 +#: templates/js/translated/sales_order.js:944 msgid "Edit shipment" msgstr "Szállítmány szerkesztése" -#: templates/js/translated/sales_order.js:911 +#: templates/js/translated/sales_order.js:947 msgid "Complete shipment" msgstr "Szállítmány kiszállítása" -#: templates/js/translated/sales_order.js:916 +#: templates/js/translated/sales_order.js:952 msgid "Delete shipment" msgstr "Szállítmány törlése" -#: templates/js/translated/sales_order.js:933 +#: templates/js/translated/sales_order.js:969 msgid "Edit Shipment" msgstr "Szállítmány szerkesztése" -#: templates/js/translated/sales_order.js:948 +#: templates/js/translated/sales_order.js:984 msgid "Delete Shipment" msgstr "Szállítmány törlése" -#: templates/js/translated/sales_order.js:981 +#: templates/js/translated/sales_order.js:1017 msgid "No matching shipments found" msgstr "Nincs egyező szállímány" -#: templates/js/translated/sales_order.js:1006 +#: templates/js/translated/sales_order.js:1042 msgid "Shipment Reference" msgstr "Szállítmány azonosító" -#: templates/js/translated/sales_order.js:1030 -#: templates/js/translated/sales_order.js:1529 +#: templates/js/translated/sales_order.js:1066 +#: templates/js/translated/sales_order.js:1565 msgid "Not shipped" msgstr "Nincs kiszállítva" -#: templates/js/translated/sales_order.js:1048 +#: templates/js/translated/sales_order.js:1084 msgid "Tracking" msgstr "Nyomkövetés" -#: templates/js/translated/sales_order.js:1052 +#: templates/js/translated/sales_order.js:1088 msgid "Invoice" msgstr "Számla" -#: templates/js/translated/sales_order.js:1219 +#: templates/js/translated/sales_order.js:1255 msgid "Add Shipment" msgstr "Szállítmány hozzáadása" -#: templates/js/translated/sales_order.js:1270 +#: templates/js/translated/sales_order.js:1306 msgid "Confirm stock allocation" msgstr "Készlet foglalás megerősítése" -#: templates/js/translated/sales_order.js:1271 +#: templates/js/translated/sales_order.js:1307 msgid "Allocate Stock Items to Sales Order" msgstr "Készlet foglalása a vevői rendeléshez" -#: templates/js/translated/sales_order.js:1477 +#: templates/js/translated/sales_order.js:1513 msgid "No sales order allocations found" msgstr "Nincs vevői rendeléshez történő foglalás" -#: templates/js/translated/sales_order.js:1569 +#: templates/js/translated/sales_order.js:1605 msgid "Edit Stock Allocation" msgstr "Készlet foglalások szerkesztése" -#: templates/js/translated/sales_order.js:1583 +#: templates/js/translated/sales_order.js:1619 msgid "Confirm Delete Operation" msgstr "Törlési művelet megerősítése" -#: templates/js/translated/sales_order.js:1584 +#: templates/js/translated/sales_order.js:1620 msgid "Delete Stock Allocation" msgstr "Készlet foglalások törlése" -#: templates/js/translated/sales_order.js:1623 -#: templates/js/translated/sales_order.js:1710 +#: templates/js/translated/sales_order.js:1659 +#: templates/js/translated/sales_order.js:1746 #: templates/js/translated/stock.js:1776 msgid "Shipped to customer" msgstr "Vevőnek kiszállítva" -#: templates/js/translated/sales_order.js:1631 -#: templates/js/translated/sales_order.js:1719 +#: templates/js/translated/sales_order.js:1667 +#: templates/js/translated/sales_order.js:1755 msgid "Stock location not specified" msgstr "Készlethely nincs megadva" -#: templates/js/translated/sales_order.js:2008 +#: templates/js/translated/sales_order.js:2044 msgid "Allocate serial numbers" msgstr "Sorozatszámok kiosztása" -#: templates/js/translated/sales_order.js:2012 +#: templates/js/translated/sales_order.js:2048 msgid "Purchase stock" msgstr "Készletrendelés" -#: templates/js/translated/sales_order.js:2021 -#: templates/js/translated/sales_order.js:2209 +#: templates/js/translated/sales_order.js:2057 +#: templates/js/translated/sales_order.js:2245 msgid "Calculate price" msgstr "Árszámítás" -#: templates/js/translated/sales_order.js:2035 +#: templates/js/translated/sales_order.js:2071 msgid "Cannot be deleted as items have been shipped" msgstr "Nem törölhető mivel a tételek ki lettek szállítva" -#: templates/js/translated/sales_order.js:2038 +#: templates/js/translated/sales_order.js:2074 msgid "Cannot be deleted as items have been allocated" msgstr "Nem törölhető mivel tételek vannak lefoglalva" -#: templates/js/translated/sales_order.js:2109 +#: templates/js/translated/sales_order.js:2145 msgid "Allocate Serial Numbers" msgstr "Sorozatszámok kiosztása" -#: templates/js/translated/sales_order.js:2217 +#: templates/js/translated/sales_order.js:2253 msgid "Update Unit Price" msgstr "Egységár módosítása" @@ -13357,7 +13396,7 @@ msgstr "Kivesz" msgid "Add Stock" msgstr "Készlet növelése" -#: templates/js/translated/stock.js:1042 users/models.py:414 +#: templates/js/translated/stock.js:1042 users/models.py:401 msgid "Add" msgstr "Hozzáad" @@ -13373,7 +13412,7 @@ msgstr "Egyedi követésre kötelezett tételeknél a menyiség nem módosíthat msgid "Specify stock quantity" msgstr "Készlet mennyiség megadása" -#: templates/js/translated/stock.js:1180 templates/js/translated/stock.js:3302 +#: templates/js/translated/stock.js:1180 templates/js/translated/stock.js:3299 msgid "Select Stock Items" msgstr "Készlet tételek kiválasztása" @@ -13457,196 +13496,196 @@ msgstr "Készlet összevonása" msgid "Delete stock" msgstr "Készlet törlése" -#: templates/js/translated/stock.js:1955 +#: templates/js/translated/stock.js:1953 msgid "stock items" msgstr "készlet tételek" -#: templates/js/translated/stock.js:1960 +#: templates/js/translated/stock.js:1958 msgid "Scan to location" msgstr "Beolvasás helyre" -#: templates/js/translated/stock.js:1971 +#: templates/js/translated/stock.js:1969 msgid "Stock Actions" msgstr "Készlet műveletek" -#: templates/js/translated/stock.js:2015 +#: templates/js/translated/stock.js:2013 msgid "Load installed items" msgstr "Beépített tételek betöltése" -#: templates/js/translated/stock.js:2093 +#: templates/js/translated/stock.js:2091 msgid "Stock item is in production" msgstr "Készlet tétel gyártás alatt" -#: templates/js/translated/stock.js:2098 +#: templates/js/translated/stock.js:2096 msgid "Stock item assigned to sales order" msgstr "Készlet tétel hozzárendelve egy vevői rendeléshez" -#: templates/js/translated/stock.js:2101 +#: templates/js/translated/stock.js:2099 msgid "Stock item assigned to customer" msgstr "Készlet tétel hozzárendelve egy vevőhöz" -#: templates/js/translated/stock.js:2104 +#: templates/js/translated/stock.js:2102 msgid "Serialized stock item has been allocated" msgstr "Egyedi követésre kötelezett készlet tétel lefoglalva" -#: templates/js/translated/stock.js:2106 +#: templates/js/translated/stock.js:2104 msgid "Stock item has been fully allocated" msgstr "Készlet tétel teljes egészében lefoglalva" -#: templates/js/translated/stock.js:2108 +#: templates/js/translated/stock.js:2106 msgid "Stock item has been partially allocated" msgstr "Készlet tétel részben lefoglalva" -#: templates/js/translated/stock.js:2111 +#: templates/js/translated/stock.js:2109 msgid "Stock item has been installed in another item" msgstr "Készlet tétel beépítve egy másikba" -#: templates/js/translated/stock.js:2113 +#: templates/js/translated/stock.js:2111 msgid "Stock item has been consumed by a build order" msgstr "Készlet tétel fel lett használva egy gyártásban" -#: templates/js/translated/stock.js:2117 +#: templates/js/translated/stock.js:2115 msgid "Stock item has expired" msgstr "Készlet tétel lejárt" -#: templates/js/translated/stock.js:2119 +#: templates/js/translated/stock.js:2117 msgid "Stock item will expire soon" msgstr "Készlet tétel hamarosan lejár" -#: templates/js/translated/stock.js:2124 +#: templates/js/translated/stock.js:2122 msgid "Stock item has been rejected" msgstr "Készlet tétel elutasítva" -#: templates/js/translated/stock.js:2126 +#: templates/js/translated/stock.js:2124 msgid "Stock item is lost" msgstr "Készlet tétel elveszett" -#: templates/js/translated/stock.js:2128 +#: templates/js/translated/stock.js:2126 msgid "Stock item is destroyed" msgstr "Készlet tétel megsemmisült" -#: templates/js/translated/stock.js:2132 +#: templates/js/translated/stock.js:2130 #: templates/js/translated/table_filters.js:350 msgid "Depleted" msgstr "Kimerült" -#: templates/js/translated/stock.js:2297 +#: templates/js/translated/stock.js:2295 msgid "Supplier part not specified" msgstr "Beszállítói alkatrész nincs megadva" -#: templates/js/translated/stock.js:2344 +#: templates/js/translated/stock.js:2342 msgid "Stock Value" msgstr "Készletérték" -#: templates/js/translated/stock.js:2472 +#: templates/js/translated/stock.js:2470 msgid "No stock items matching query" msgstr "Nincs a lekérdezésnek megfelelő készlet tétel" -#: templates/js/translated/stock.js:2576 +#: templates/js/translated/stock.js:2573 msgid "stock locations" msgstr "készlethelyek" -#: templates/js/translated/stock.js:2731 +#: templates/js/translated/stock.js:2728 msgid "Load Sublocations" msgstr "Alhelyek betöltése" -#: templates/js/translated/stock.js:2849 +#: templates/js/translated/stock.js:2846 msgid "Details" msgstr "Részletek" -#: templates/js/translated/stock.js:2853 +#: templates/js/translated/stock.js:2850 msgid "No changes" msgstr "Nincs változás" -#: templates/js/translated/stock.js:2865 +#: templates/js/translated/stock.js:2862 msgid "Part information unavailable" msgstr "Alkatrész információ nem áll rendelkezésre" -#: templates/js/translated/stock.js:2887 +#: templates/js/translated/stock.js:2884 msgid "Location no longer exists" msgstr "A hely már nem létezik" -#: templates/js/translated/stock.js:2904 +#: templates/js/translated/stock.js:2901 msgid "Build order no longer exists" msgstr "A gyártási utasítás már nem létezik" -#: templates/js/translated/stock.js:2919 +#: templates/js/translated/stock.js:2916 msgid "Purchase order no longer exists" msgstr "Beszerzési megrendelés már nem létezik" -#: templates/js/translated/stock.js:2936 +#: templates/js/translated/stock.js:2933 msgid "Sales Order no longer exists" msgstr "Vevői megrendelés már nem létezik" -#: templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:2950 msgid "Return Order no longer exists" msgstr "Visszavétel már nem létezik" -#: templates/js/translated/stock.js:2972 +#: templates/js/translated/stock.js:2969 msgid "Customer no longer exists" msgstr "Vevő már nem létezik" -#: templates/js/translated/stock.js:2990 +#: templates/js/translated/stock.js:2987 msgid "Stock item no longer exists" msgstr "A készlet tétel már nem létezik" -#: templates/js/translated/stock.js:3008 +#: templates/js/translated/stock.js:3005 msgid "Added" msgstr "Hozzáadva" -#: templates/js/translated/stock.js:3016 +#: templates/js/translated/stock.js:3013 msgid "Removed" msgstr "Eltávolítva" -#: templates/js/translated/stock.js:3088 +#: templates/js/translated/stock.js:3085 msgid "No installed items" msgstr "Nincsenek beépített tételek" -#: templates/js/translated/stock.js:3142 templates/js/translated/stock.js:3178 +#: templates/js/translated/stock.js:3139 templates/js/translated/stock.js:3175 msgid "Uninstall Stock Item" msgstr "Készlet tétel kiszedése" -#: templates/js/translated/stock.js:3200 +#: templates/js/translated/stock.js:3197 msgid "Select stock item to uninstall" msgstr "Válaszd ki a kiszedni való készlet tételt" -#: templates/js/translated/stock.js:3221 +#: templates/js/translated/stock.js:3218 msgid "Install another stock item into this item" msgstr "Másik tétel beépítése ebbe a készlet tételbe" -#: templates/js/translated/stock.js:3222 +#: templates/js/translated/stock.js:3219 msgid "Stock items can only be installed if they meet the following criteria" msgstr "Készlet tételek csak akkor építhetők be ha teljesítik a következő kritériumokat" -#: templates/js/translated/stock.js:3224 +#: templates/js/translated/stock.js:3221 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "A készlet tétel egy olyan alkatrészre mutat ami alkatrészjegyzéke ennek a készlet tételnek" -#: templates/js/translated/stock.js:3225 +#: templates/js/translated/stock.js:3222 msgid "The Stock Item is currently available in stock" msgstr "A készlet tétel jelenleg elérhető készleten" -#: templates/js/translated/stock.js:3226 +#: templates/js/translated/stock.js:3223 msgid "The Stock Item is not already installed in another item" msgstr "A készlet tétel még nem épült be egy másik tételbe" -#: templates/js/translated/stock.js:3227 +#: templates/js/translated/stock.js:3224 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "A készlet tétel követett vagy sorozatszámmal vagy batch kóddal" -#: templates/js/translated/stock.js:3240 +#: templates/js/translated/stock.js:3237 msgid "Select part to install" msgstr "Válaszd ki a beépítendő alkatrészt" -#: templates/js/translated/stock.js:3303 +#: templates/js/translated/stock.js:3300 msgid "Select one or more stock items" msgstr "Válassz ki egy vagy több készlet tételt" -#: templates/js/translated/stock.js:3316 +#: templates/js/translated/stock.js:3313 msgid "Selected stock items" msgstr "Kiválasztott készlet tételek" -#: templates/js/translated/stock.js:3320 +#: templates/js/translated/stock.js:3317 msgid "Change Stock Status" msgstr "Készlet állapot módosítása" @@ -14248,34 +14287,35 @@ msgstr "Token utolsó használata" msgid "Revoked" msgstr "Visszavonva" -#: users/models.py:397 +#: users/models.py:384 msgid "Permission set" msgstr "Jogosultságok" -#: users/models.py:406 +#: users/models.py:393 msgid "Group" msgstr "Csoport" -#: users/models.py:410 +#: users/models.py:397 msgid "View" msgstr "Nézet" -#: users/models.py:410 +#: users/models.py:397 msgid "Permission to view items" msgstr "Jogosultság tételek megtekintéséhez" -#: users/models.py:414 +#: users/models.py:401 msgid "Permission to add items" msgstr "Jogosultság tételek hozzáadásához" -#: users/models.py:418 +#: users/models.py:405 msgid "Change" msgstr "Módosítás" -#: users/models.py:420 +#: users/models.py:407 msgid "Permissions to edit items" msgstr "Jogosultság tételek szerkesztéséhez" -#: users/models.py:426 +#: users/models.py:413 msgid "Permission to delete items" msgstr "Jogosultság tételek törléséhez" + diff --git a/src/backend/InvenTree/locale/id/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/id/LC_MESSAGES/django.po index c6aeaafe51..65680969e9 100644 --- a/src/backend/InvenTree/locale/id/LC_MESSAGES/django.po +++ b/src/backend/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: 2024-05-10 05:37+0000\n" -"PO-Revision-Date: 2024-05-10 08:31\n" +"POT-Creation-Date: 2024-05-23 11:25+0000\n" +"PO-Revision-Date: 2024-05-23 11:39\n" "Last-Translator: \n" "Language-Team: Indonesian\n" "Language: id_ID\n" @@ -17,11 +17,11 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 216\n" -#: InvenTree/api.py:271 +#: InvenTree/api.py:272 msgid "API endpoint not found" msgstr "API endpoint tidak ditemukan" -#: InvenTree/api.py:535 +#: InvenTree/api.py:536 msgid "User does not have permission to view this model" msgstr "Pengguna tidak memiliki izin untuk melihat model ini" @@ -56,26 +56,26 @@ msgstr "Detail terkait galat dapat dilihat di panel admin" msgid "Enter date" msgstr "Masukkan tanggal" -#: InvenTree/fields.py:208 InvenTree/models.py:1021 build/serializers.py:444 -#: build/serializers.py:522 build/templates/build/sidebar.html:21 +#: InvenTree/fields.py:208 InvenTree/models.py:1035 build/serializers.py:443 +#: build/serializers.py:521 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 -#: order/models.py:1283 order/templates/order/po_sidebar.html:11 +#: order/models.py:1323 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:59 -#: part/models.py:3175 part/templates/part/part_sidebar.html:63 -#: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:226 stock/models.py:2344 stock/models.py:2461 -#: stock/serializers.py:501 stock/serializers.py:659 stock/serializers.py:755 -#: stock/serializers.py:805 stock/serializers.py:1114 stock/serializers.py:1203 -#: stock/serializers.py:1368 stock/templates/stock/stock_sidebar.html:25 +#: part/models.py:3218 part/templates/part/part_sidebar.html:63 +#: report/templates/report/inventree_build_order_report.html:172 +#: stock/admin.py:226 stock/models.py:2321 stock/models.py:2438 +#: stock/serializers.py:630 stock/serializers.py:788 stock/serializers.py:884 +#: stock/serializers.py:934 stock/serializers.py:1243 stock/serializers.py:1332 +#: stock/serializers.py:1497 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1080 -#: templates/js/translated/purchase_order.js:2201 -#: templates/js/translated/return_order.js:776 -#: templates/js/translated/sales_order.js:1067 -#: templates/js/translated/sales_order.js:1982 -#: templates/js/translated/stock.js:1536 templates/js/translated/stock.js:2430 +#: templates/js/translated/purchase_order.js:2200 +#: templates/js/translated/return_order.js:775 +#: templates/js/translated/sales_order.js:1103 +#: templates/js/translated/sales_order.js:2018 +#: templates/js/translated/stock.js:1536 templates/js/translated/stock.js:2428 msgid "Notes" msgstr "Catatan" @@ -132,7 +132,7 @@ msgstr "Domain surel yang diberikan tidak perbolehkan." msgid "Registration is disabled." msgstr "" -#: InvenTree/helpers.py:525 order/models.py:541 order/models.py:743 +#: InvenTree/helpers.py:525 order/models.py:563 order/models.py:765 msgid "Invalid quantity provided" msgstr "Jumlah yang diberikan tidak valid" @@ -355,142 +355,142 @@ msgstr "Surel" msgid "Error running plugin validation" msgstr "" -#: InvenTree/models.py:162 +#: InvenTree/models.py:176 msgid "Metadata must be a python dict object" msgstr "" -#: InvenTree/models.py:168 +#: InvenTree/models.py:182 msgid "Plugin Metadata" msgstr "" -#: InvenTree/models.py:169 +#: InvenTree/models.py:183 msgid "JSON metadata field, for use by external plugins" msgstr "" -#: InvenTree/models.py:399 +#: InvenTree/models.py:413 msgid "Improperly formatted pattern" msgstr "" -#: InvenTree/models.py:406 +#: InvenTree/models.py:420 msgid "Unknown format key specified" msgstr "" -#: InvenTree/models.py:412 +#: InvenTree/models.py:426 msgid "Missing required format key" msgstr "" -#: InvenTree/models.py:423 +#: InvenTree/models.py:437 msgid "Reference field cannot be empty" msgstr "" -#: InvenTree/models.py:431 +#: InvenTree/models.py:445 msgid "Reference must match required pattern" msgstr "" -#: InvenTree/models.py:462 +#: InvenTree/models.py:476 msgid "Reference number is too large" msgstr "" -#: InvenTree/models.py:536 +#: InvenTree/models.py:550 msgid "Missing file" msgstr "File tidak ditemukan" -#: InvenTree/models.py:537 +#: InvenTree/models.py:551 msgid "Missing external link" msgstr "Tautan eksternal tidak ditemukan" -#: InvenTree/models.py:558 stock/models.py:2456 +#: InvenTree/models.py:572 stock/models.py:2433 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" msgstr "Lampiran" -#: InvenTree/models.py:559 +#: InvenTree/models.py:573 msgid "Select file to attach" msgstr "Pilih file untuk dilampirkan" -#: InvenTree/models.py:567 common/models.py:3026 company/models.py:146 +#: InvenTree/models.py:581 common/models.py:3032 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 -#: order/models.py:291 order/models.py:1288 order/models.py:1704 -#: part/admin.py:55 part/models.py:919 +#: order/models.py:304 order/models.py:1328 order/models.py:1744 +#: part/admin.py:55 part/models.py:962 #: part/templates/part/part_scheduling.html:11 -#: report/templates/report/inventree_build_order_base.html:164 +#: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2456 -#: templates/js/translated/purchase_order.js:2041 -#: templates/js/translated/purchase_order.js:2205 -#: templates/js/translated/return_order.js:780 -#: templates/js/translated/sales_order.js:1056 -#: templates/js/translated/sales_order.js:1987 +#: templates/js/translated/part.js:2455 +#: templates/js/translated/purchase_order.js:2040 +#: templates/js/translated/purchase_order.js:2204 +#: templates/js/translated/return_order.js:779 +#: templates/js/translated/sales_order.js:1092 +#: templates/js/translated/sales_order.js:2023 msgid "Link" msgstr "Tautan" -#: InvenTree/models.py:568 build/models.py:321 part/models.py:920 -#: stock/models.py:819 +#: InvenTree/models.py:582 build/models.py:344 part/models.py:963 +#: stock/models.py:840 msgid "Link to external URL" msgstr "Tautan menuju URL eksternal" -#: InvenTree/models.py:574 templates/js/translated/attachment.js:120 +#: InvenTree/models.py:588 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:341 msgid "Comment" msgstr "Komentar" -#: InvenTree/models.py:575 +#: InvenTree/models.py:589 msgid "File comment" msgstr "Komentar file" -#: InvenTree/models.py:583 InvenTree/models.py:584 common/models.py:2502 -#: common/models.py:2503 common/models.py:2727 common/models.py:2728 -#: common/models.py:2973 common/models.py:2974 part/models.py:3185 -#: part/models.py:3272 part/models.py:3365 part/models.py:3393 -#: plugin/models.py:250 plugin/models.py:251 -#: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3039 users/models.py:111 +#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2508 +#: common/models.py:2509 common/models.py:2733 common/models.py:2734 +#: common/models.py:2979 common/models.py:2980 part/models.py:3228 +#: part/models.py:3315 part/models.py:3408 part/models.py:3436 +#: plugin/models.py:259 plugin/models.py:260 +#: report/templates/report/inventree_test_report.html:105 +#: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" msgstr "Pengguna" -#: InvenTree/models.py:588 +#: InvenTree/models.py:602 msgid "upload date" msgstr "tanggal diunggah" -#: InvenTree/models.py:610 +#: InvenTree/models.py:624 msgid "Filename must not be empty" msgstr "Nama file tidak boleh kosong" -#: InvenTree/models.py:621 +#: InvenTree/models.py:635 msgid "Invalid attachment directory" msgstr "Direktori lampiran tidak valid" -#: InvenTree/models.py:651 +#: InvenTree/models.py:665 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "Nama file mengandung karakter yang tidak diperkenankan '{c}'" -#: InvenTree/models.py:654 +#: InvenTree/models.py:668 msgid "Filename missing extension" msgstr "Nama file tidak memiliki ekstensi" -#: InvenTree/models.py:663 +#: InvenTree/models.py:677 msgid "Attachment with this filename already exists" msgstr "Lampiran dengan nama file ini sudah ada" -#: InvenTree/models.py:670 +#: InvenTree/models.py:684 msgid "Error renaming file" msgstr "Kesalahan merubah nama file" -#: InvenTree/models.py:846 +#: InvenTree/models.py:860 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:863 +#: InvenTree/models.py:877 msgid "Invalid choice" msgstr "Pilihan tidak valid" -#: InvenTree/models.py:893 common/models.py:2714 common/models.py:3112 -#: common/serializers.py:403 company/models.py:614 label/models.py:120 -#: machine/models.py:24 part/models.py:855 part/models.py:3616 -#: plugin/models.py:41 report/models.py:176 stock/models.py:76 +#: InvenTree/models.py:907 common/models.py:2720 common/models.py:3118 +#: common/serializers.py:403 company/models.py:614 machine/models.py:24 +#: part/models.py:898 part/models.py:3659 plugin/models.py:50 +#: report/models.py:149 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -503,22 +503,22 @@ msgstr "Pilihan tidak valid" #: templates/js/translated/company.js:1165 #: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186 #: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2719 +#: templates/js/translated/part.js:2748 templates/js/translated/stock.js:2716 msgid "Name" msgstr "Nama" -#: InvenTree/models.py:899 build/models.py:194 +#: InvenTree/models.py:913 build/models.py:217 #: build/templates/build/detail.html:24 common/models.py:136 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 label/models.py:127 -#: order/models.py:277 order/models.py:1316 part/admin.py:303 part/admin.py:414 -#: part/models.py:878 part/models.py:3631 part/templates/part/category.html:82 +#: company/templates/company/supplier_part.html:107 order/models.py:290 +#: order/models.py:1356 part/admin.py:305 part/admin.py:416 part/models.py:921 +#: part/models.py:3674 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 -#: part/templates/part/part_scheduling.html:12 report/models.py:189 -#: report/models.py:655 report/models.py:729 -#: report/templates/report/inventree_build_order_base.html:117 +#: part/templates/part/part_scheduling.html:12 report/models.py:155 +#: report/models.py:510 report/models.py:536 +#: report/templates/report/inventree_build_order_report.html:117 #: stock/admin.py:55 stock/models.py:82 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 @@ -530,71 +530,71 @@ msgstr "Nama" #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 -#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2896 +#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2354 +#: templates/js/translated/part.js:2784 templates/js/translated/part.js:2895 #: templates/js/translated/plugin.js:80 -#: templates/js/translated/purchase_order.js:1707 -#: templates/js/translated/purchase_order.js:1850 -#: templates/js/translated/purchase_order.js:2023 -#: templates/js/translated/return_order.js:314 -#: templates/js/translated/sales_order.js:802 -#: templates/js/translated/sales_order.js:1812 -#: templates/js/translated/stock.js:1515 templates/js/translated/stock.js:2060 -#: templates/js/translated/stock.js:2751 templates/js/translated/stock.js:2834 +#: templates/js/translated/purchase_order.js:1706 +#: templates/js/translated/purchase_order.js:1849 +#: templates/js/translated/purchase_order.js:2022 +#: templates/js/translated/return_order.js:313 +#: templates/js/translated/sales_order.js:838 +#: templates/js/translated/sales_order.js:1848 +#: templates/js/translated/stock.js:1515 templates/js/translated/stock.js:2058 +#: templates/js/translated/stock.js:2748 templates/js/translated/stock.js:2831 msgid "Description" msgstr "Keterangan" -#: InvenTree/models.py:900 stock/models.py:83 +#: InvenTree/models.py:914 stock/models.py:83 msgid "Description (optional)" msgstr "Keterangan (opsional)" -#: InvenTree/models.py:909 +#: InvenTree/models.py:923 msgid "parent" msgstr "induk" -#: InvenTree/models.py:915 templates/js/translated/part.js:2794 -#: templates/js/translated/stock.js:2760 +#: InvenTree/models.py:929 templates/js/translated/part.js:2793 +#: templates/js/translated/stock.js:2757 msgid "Path" msgstr "Direktori" -#: InvenTree/models.py:1021 +#: InvenTree/models.py:1035 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:1050 +#: InvenTree/models.py:1064 msgid "Barcode Data" msgstr "Data Barcode" -#: InvenTree/models.py:1051 +#: InvenTree/models.py:1065 msgid "Third party barcode data" msgstr "Data barcode pihak ketiga" -#: InvenTree/models.py:1057 +#: InvenTree/models.py:1071 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:1058 +#: InvenTree/models.py:1072 msgid "Unique hash of barcode data" msgstr "Hash unik data barcode" -#: InvenTree/models.py:1111 +#: InvenTree/models.py:1125 msgid "Existing barcode found" msgstr "Sudah ada barcode yang sama" -#: InvenTree/models.py:1154 +#: InvenTree/models.py:1168 msgid "Server Error" msgstr "Terjadi Kesalahan Server" -#: InvenTree/models.py:1155 +#: InvenTree/models.py:1169 msgid "An error has been logged by the server." msgstr "Sebuah kesalahan telah dicatat oleh server." -#: InvenTree/serializers.py:62 part/models.py:4169 +#: InvenTree/serializers.py:62 part/models.py:4212 msgid "Must be a valid number" msgstr "Harus berupa angka yang valid" #: InvenTree/serializers.py:99 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:2993 +#: company/templates/company/company_base.html:112 part/models.py:3036 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -686,7 +686,7 @@ msgstr "URL file gambar external" msgid "Downloading images from remote URL is not enabled" msgstr "Unduhan gambar dari URL external tidak aktif" -#: InvenTree/status.py:66 part/serializers.py:1161 +#: InvenTree/status.py:66 part/serializers.py:1176 msgid "Background worker check failed" msgstr "" @@ -699,8 +699,8 @@ msgid "InvenTree system health checks failed" msgstr "Pengecekan kesehatan sistem InvenTree gagal" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:37 -#: InvenTree/status_codes.py:148 InvenTree/status_codes.py:164 -#: InvenTree/status_codes.py:182 generic/states/tests.py:17 +#: InvenTree/status_codes.py:149 InvenTree/status_codes.py:165 +#: InvenTree/status_codes.py:183 generic/states/tests.py:17 #: templates/js/translated/table_filters.js:598 msgid "Pending" msgstr "" @@ -709,188 +709,188 @@ msgstr "" msgid "Placed" msgstr "Diletakkan" -#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:151 -#: InvenTree/status_codes.py:169 generic/states/tests.py:19 -#: order/templates/order/order_base.html:158 -#: order/templates/order/sales_order_base.html:161 +#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:44 +#: InvenTree/status_codes.py:152 InvenTree/status_codes.py:170 +#: generic/states/tests.py:19 order/templates/order/order_base.html:158 +#: order/templates/order/sales_order_base.html:165 report/models.py:444 msgid "Complete" msgstr "Selesai" -#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:44 -#: InvenTree/status_codes.py:150 InvenTree/status_codes.py:170 +#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:45 +#: InvenTree/status_codes.py:151 InvenTree/status_codes.py:171 msgid "Cancelled" msgstr "Dibatalkan" -#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:45 -#: InvenTree/status_codes.py:67 +#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:46 +#: InvenTree/status_codes.py:68 msgid "Lost" msgstr "Hilang" -#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:46 -#: InvenTree/status_codes.py:73 +#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:47 +#: InvenTree/status_codes.py:74 msgid "Returned" msgstr "Dikembalikan" -#: InvenTree/status_codes.py:40 InvenTree/status_codes.py:167 +#: InvenTree/status_codes.py:40 InvenTree/status_codes.py:168 msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:43 order/models.py:1566 -#: templates/js/translated/sales_order.js:1523 -#: templates/js/translated/sales_order.js:1644 -#: templates/js/translated/sales_order.js:1957 +#: InvenTree/status_codes.py:43 order/models.py:1606 +#: templates/js/translated/sales_order.js:1559 +#: templates/js/translated/sales_order.js:1680 +#: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "Dikirim" -#: InvenTree/status_codes.py:62 +#: InvenTree/status_codes.py:63 msgid "OK" msgstr "" -#: InvenTree/status_codes.py:63 +#: InvenTree/status_codes.py:64 msgid "Attention needed" msgstr "Butuh perhatian" -#: InvenTree/status_codes.py:64 +#: InvenTree/status_codes.py:65 msgid "Damaged" msgstr "Rusak" -#: InvenTree/status_codes.py:65 +#: InvenTree/status_codes.py:66 msgid "Destroyed" msgstr "Hancur" -#: InvenTree/status_codes.py:66 +#: InvenTree/status_codes.py:67 msgid "Rejected" msgstr "Ditolak" -#: InvenTree/status_codes.py:70 +#: InvenTree/status_codes.py:71 msgid "Quarantined" msgstr "" -#: InvenTree/status_codes.py:91 +#: InvenTree/status_codes.py:92 msgid "Legacy stock tracking entry" msgstr "" -#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:544 +#: InvenTree/status_codes.py:94 templates/js/translated/stock.js:544 msgid "Stock item created" msgstr "Item stok dibuat" -#: InvenTree/status_codes.py:96 +#: InvenTree/status_codes.py:97 msgid "Edited stock item" msgstr "Item stok diubah" -#: InvenTree/status_codes.py:97 +#: InvenTree/status_codes.py:98 msgid "Assigned serial number" msgstr "Nomor seri yang ditetapkan" -#: InvenTree/status_codes.py:100 +#: InvenTree/status_codes.py:101 msgid "Stock counted" msgstr "Stok terhitung" -#: InvenTree/status_codes.py:101 +#: InvenTree/status_codes.py:102 msgid "Stock manually added" msgstr "Stok yang ditambahkan manual" -#: InvenTree/status_codes.py:102 +#: InvenTree/status_codes.py:103 msgid "Stock manually removed" msgstr "Stok yang dikurangi manual" -#: InvenTree/status_codes.py:105 +#: InvenTree/status_codes.py:106 msgid "Location changed" msgstr "Lokasi berubah" -#: InvenTree/status_codes.py:106 +#: InvenTree/status_codes.py:107 msgid "Stock updated" msgstr "" -#: InvenTree/status_codes.py:109 +#: InvenTree/status_codes.py:110 msgid "Installed into assembly" msgstr "Dirakit ke" -#: InvenTree/status_codes.py:110 +#: InvenTree/status_codes.py:111 msgid "Removed from assembly" msgstr "Diambil dari" -#: InvenTree/status_codes.py:112 +#: InvenTree/status_codes.py:113 msgid "Installed component item" msgstr "Komponen terpasang" -#: InvenTree/status_codes.py:113 +#: InvenTree/status_codes.py:114 msgid "Removed component item" msgstr "Komponen terlepas" -#: InvenTree/status_codes.py:116 +#: InvenTree/status_codes.py:117 msgid "Split from parent item" msgstr "Dipisah dari item induk" -#: InvenTree/status_codes.py:117 +#: InvenTree/status_codes.py:118 msgid "Split child item" msgstr "Pisah item dari barang induk" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1858 +#: InvenTree/status_codes.py:121 templates/js/translated/stock.js:1858 msgid "Merged stock items" msgstr "Stok item digabungkan" -#: InvenTree/status_codes.py:123 +#: InvenTree/status_codes.py:124 msgid "Converted to variant" msgstr "Dikonversi ke variasi" -#: InvenTree/status_codes.py:126 +#: InvenTree/status_codes.py:127 msgid "Build order output created" msgstr "Output order produksi dibuat" -#: InvenTree/status_codes.py:127 +#: InvenTree/status_codes.py:128 msgid "Build order output completed" msgstr "Order output produksi selesai" -#: InvenTree/status_codes.py:128 +#: InvenTree/status_codes.py:129 msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1764 +#: InvenTree/status_codes.py:130 templates/js/translated/stock.js:1764 msgid "Consumed by build order" msgstr "Terpakai oleh order produksi" -#: InvenTree/status_codes.py:132 +#: InvenTree/status_codes.py:133 msgid "Shipped against Sales Order" msgstr "" -#: InvenTree/status_codes.py:135 +#: InvenTree/status_codes.py:136 msgid "Received against Purchase Order" msgstr "" -#: InvenTree/status_codes.py:138 +#: InvenTree/status_codes.py:139 msgid "Returned against Return Order" msgstr "" -#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:375 +#: InvenTree/status_codes.py:142 templates/js/translated/table_filters.js:375 msgid "Sent to customer" msgstr "Terkirim ke pelanggan" -#: InvenTree/status_codes.py:142 +#: InvenTree/status_codes.py:143 msgid "Returned from customer" msgstr "Dikembalikan pelanggan" -#: InvenTree/status_codes.py:149 +#: InvenTree/status_codes.py:150 msgid "Production" msgstr "Produksi" -#: InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:186 msgid "Return" msgstr "" -#: InvenTree/status_codes.py:188 +#: InvenTree/status_codes.py:189 msgid "Repair" msgstr "" -#: InvenTree/status_codes.py:191 +#: InvenTree/status_codes.py:192 msgid "Replace" msgstr "" -#: InvenTree/status_codes.py:194 +#: InvenTree/status_codes.py:195 msgid "Refund" msgstr "" -#: InvenTree/status_codes.py:197 +#: InvenTree/status_codes.py:198 msgid "Reject" msgstr "" @@ -946,14 +946,14 @@ msgstr "Tentang InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Pesanan harus dibatalkan sebelum dapat dihapus" -#: build/api.py:299 part/models.py:4047 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4090 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4041 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4084 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -969,7 +969,7 @@ msgstr "" #: build/api.py:303 part/admin.py:144 templates/js/translated/build.js:1744 #: templates/js/translated/build.js:2629 -#: templates/js/translated/sales_order.js:1929 +#: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "" @@ -980,7 +980,7 @@ msgstr "" #: templates/email/low_stock_notification.html:17 #: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 #: templates/js/translated/index.js:123 -#: templates/js/translated/model_renderers.js:228 +#: templates/js/translated/model_renderers.js:234 #: templates/js/translated/part.js:692 templates/js/translated/part.js:694 #: templates/js/translated/part.js:699 #: templates/js/translated/table_filters.js:340 @@ -988,16 +988,16 @@ msgstr "" msgid "Available" msgstr "" -#: build/models.py:74 build/templates/build/build_base.html:9 +#: build/models.py:82 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 -#: report/templates/report/inventree_build_order_base.html:105 -#: templates/email/build_order_completed.html:16 +#: report/templates/report/inventree_build_order_report.html:105 +#: stock/serializers.py:83 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2895 +#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2892 msgid "Build Order" msgstr "Order Produksi" -#: build/models.py:75 build/templates/build/build_base.html:13 +#: build/models.py:83 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -1008,71 +1008,71 @@ msgstr "Order Produksi" msgid "Build Orders" msgstr "Order Produksi" -#: build/models.py:122 +#: build/models.py:130 msgid "Invalid choice for parent build" msgstr "Pilihan produksi induk tidak valid" -#: build/models.py:133 order/models.py:239 +#: build/models.py:141 order/models.py:241 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:139 +#: build/models.py:147 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:185 +#: build/models.py:208 msgid "Build Order Reference" msgstr "Referensi Order Produksi" -#: build/models.py:186 order/models.py:442 order/models.py:898 -#: order/models.py:1276 order/models.py:1998 part/admin.py:417 -#: part/models.py:4062 part/templates/part/upload_bom.html:54 +#: build/models.py:209 order/models.py:464 order/models.py:929 +#: order/models.py:1316 order/models.py:2047 part/admin.py:419 +#: part/models.py:4105 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 -#: report/templates/report/inventree_so_report_base.html:28 +#: report/templates/report/inventree_purchase_order_report.html:28 +#: report/templates/report/inventree_return_order_report.html:26 +#: report/templates/report/inventree_sales_order_report.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 #: templates/js/translated/build.js:2512 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 -#: templates/js/translated/purchase_order.js:2066 -#: templates/js/translated/return_order.js:729 -#: templates/js/translated/sales_order.js:1818 +#: templates/js/translated/purchase_order.js:2065 +#: templates/js/translated/return_order.js:728 +#: templates/js/translated/sales_order.js:1854 msgid "Reference" msgstr "Referensi" -#: build/models.py:197 +#: build/models.py:220 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:205 build/templates/build/build_base.html:183 +#: build/models.py:228 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Produksi Induk" -#: build/models.py:206 +#: build/models.py:229 msgid "BuildOrder to which this build is allocated" msgstr "Produksi induk dari produksi ini" -#: build/models.py:211 build/templates/build/build_base.html:97 +#: build/models.py:234 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 -#: order/models.py:1401 order/models.py:1546 order/models.py:1547 -#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004 -#: part/models.py:3148 part/models.py:3292 part/models.py:3315 -#: part/models.py:3336 part/models.py:3358 part/models.py:3468 -#: part/models.py:3764 part/models.py:3920 part/models.py:4013 -#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713 +#: order/models.py:1441 order/models.py:1586 order/models.py:1587 +#: part/api.py:1501 part/api.py:1795 part/models.py:392 part/models.py:3047 +#: part/models.py:3191 part/models.py:3335 part/models.py:3358 +#: part/models.py:3379 part/models.py:3401 part/models.py:3511 +#: part/models.py:3807 part/models.py:3963 part/models.py:4056 +#: part/models.py:4417 part/serializers.py:1122 part/serializers.py:1728 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 -#: report/templates/report/inventree_build_order_base.html:109 -#: report/templates/report/inventree_po_report_base.html:27 -#: report/templates/report/inventree_return_order_report_base.html:24 -#: report/templates/report/inventree_slr_report.html:102 -#: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:267 stock/serializers.py:689 -#: templates/InvenTree/search.html:82 +#: report/templates/report/inventree_build_order_report.html:109 +#: report/templates/report/inventree_purchase_order_report.html:27 +#: report/templates/report/inventree_return_order_report.html:24 +#: report/templates/report/inventree_sales_order_report.html:27 +#: report/templates/report/inventree_stock_location_report.html:102 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:396 +#: stock/serializers.py:818 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -1086,235 +1086,239 @@ msgstr "Produksi induk dari produksi ini" #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 #: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 -#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:2323 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:751 #: templates/js/translated/purchase_order.js:1304 -#: templates/js/translated/purchase_order.js:1849 -#: templates/js/translated/purchase_order.js:2008 -#: templates/js/translated/return_order.js:539 -#: templates/js/translated/return_order.js:710 +#: templates/js/translated/purchase_order.js:1848 +#: templates/js/translated/purchase_order.js:2007 +#: templates/js/translated/return_order.js:538 +#: templates/js/translated/return_order.js:709 #: templates/js/translated/sales_order.js:300 -#: templates/js/translated/sales_order.js:1197 -#: templates/js/translated/sales_order.js:1598 -#: templates/js/translated/sales_order.js:1796 +#: templates/js/translated/sales_order.js:1233 +#: templates/js/translated/sales_order.js:1634 +#: templates/js/translated/sales_order.js:1832 #: templates/js/translated/stock.js:676 templates/js/translated/stock.js:842 -#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1999 -#: templates/js/translated/stock.js:2860 templates/js/translated/stock.js:3093 -#: templates/js/translated/stock.js:3239 +#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1997 +#: templates/js/translated/stock.js:2857 templates/js/translated/stock.js:3090 +#: templates/js/translated/stock.js:3236 msgid "Part" msgstr "Bagian" -#: build/models.py:219 +#: build/models.py:242 msgid "Select part to build" msgstr "Pilih bagian untuk diproduksi" -#: build/models.py:224 +#: build/models.py:247 msgid "Sales Order Reference" msgstr "Referensi Order Penjualan" -#: build/models.py:228 +#: build/models.py:251 msgid "SalesOrder to which this build is allocated" msgstr "Order penjualan yang teralokasikan ke pesanan ini" -#: build/models.py:233 build/serializers.py:970 +#: build/models.py:256 build/serializers.py:969 #: templates/js/translated/build.js:1731 -#: templates/js/translated/sales_order.js:1185 +#: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "Lokasi Sumber" -#: build/models.py:237 +#: build/models.py:260 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Pilih dari lokasi mana stok akan diambil untuk produksi ini (kosongkan untuk mengambil stok dari mana pun)" -#: build/models.py:242 +#: build/models.py:265 msgid "Destination Location" msgstr "Lokasi Tujuan" -#: build/models.py:246 +#: build/models.py:269 msgid "Select location where the completed items will be stored" msgstr "Pilih lokasi di mana item selesai akan disimpan" -#: build/models.py:250 +#: build/models.py:273 msgid "Build Quantity" msgstr "Jumlah Produksi" -#: build/models.py:253 +#: build/models.py:276 msgid "Number of stock items to build" msgstr "Jumlah item stok yang akan dibuat" -#: build/models.py:257 +#: build/models.py:280 msgid "Completed items" msgstr "Item selesai" -#: build/models.py:259 +#: build/models.py:282 msgid "Number of stock items which have been completed" msgstr "Jumlah stok item yang telah diselesaikan" -#: build/models.py:263 +#: build/models.py:286 msgid "Build Status" msgstr "Status pembuatan" -#: build/models.py:267 +#: build/models.py:290 msgid "Build status code" msgstr "Kode status pembuatan" -#: build/models.py:276 build/serializers.py:278 order/serializers.py:581 -#: stock/models.py:823 stock/serializers.py:1333 +#: build/models.py:299 build/serializers.py:277 order/serializers.py:581 +#: stock/models.py:844 stock/serializers.py:75 stock/serializers.py:1462 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Kode Kelompok" -#: build/models.py:280 build/serializers.py:279 +#: build/models.py:303 build/serializers.py:278 msgid "Batch code for this build output" msgstr "Kode kelompok untuk hasil produksi ini" -#: build/models.py:283 order/models.py:304 order/serializers.py:120 -#: part/models.py:1079 part/templates/part/part_base.html:310 -#: templates/js/translated/return_order.js:339 -#: templates/js/translated/sales_order.js:827 +#: build/models.py:306 order/models.py:317 order/serializers.py:120 +#: part/models.py:1122 part/templates/part/part_base.html:310 +#: templates/js/translated/return_order.js:338 +#: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "Tanggal Pembuatan" -#: build/models.py:287 +#: build/models.py:310 msgid "Target completion date" msgstr "Target tanggal selesai" -#: build/models.py:288 +#: build/models.py:311 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:291 order/models.py:500 order/models.py:2043 +#: build/models.py:314 order/models.py:522 order/models.py:2092 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "Tanggal selesai" -#: build/models.py:297 +#: build/models.py:320 msgid "completed by" msgstr "diselesaikan oleh" -#: build/models.py:305 templates/js/translated/build.js:2207 +#: build/models.py:328 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "Diserahkan oleh" -#: build/models.py:306 +#: build/models.py:329 msgid "User who issued this build order" msgstr "Pengguna yang menyerahkan order ini" -#: build/models.py:314 build/templates/build/build_base.html:204 +#: build/models.py:337 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:145 -#: order/models.py:322 order/templates/order/order_base.html:217 +#: order/models.py:335 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1096 +#: order/templates/order/sales_order_base.html:232 part/models.py:1139 #: part/templates/part/part_base.html:390 -#: report/templates/report/inventree_build_order_base.html:158 +#: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 #: templates/js/translated/build.js:2219 -#: templates/js/translated/purchase_order.js:1764 -#: templates/js/translated/return_order.js:359 +#: templates/js/translated/purchase_order.js:1763 +#: templates/js/translated/return_order.js:358 #: templates/js/translated/table_filters.js:531 msgid "Responsible" msgstr "Penanggung Jawab" -#: build/models.py:315 +#: build/models.py:338 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:320 build/templates/build/detail.html:108 +#: build/models.py:343 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 -#: order/templates/order/sales_order_base.html:180 -#: part/templates/part/part_base.html:383 stock/models.py:819 +#: order/templates/order/sales_order_base.html:184 +#: part/templates/part/part_base.html:383 stock/models.py:840 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "Tautan eksternal" -#: build/models.py:325 +#: build/models.py:348 msgid "Build Priority" msgstr "" -#: build/models.py:328 +#: build/models.py:351 msgid "Priority of this build order" msgstr "" -#: build/models.py:335 common/models.py:129 order/admin.py:18 -#: order/models.py:286 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:358 common/models.py:129 order/admin.py:18 +#: order/models.py:299 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 -#: templates/js/translated/purchase_order.js:1711 -#: templates/js/translated/return_order.js:318 -#: templates/js/translated/sales_order.js:806 +#: templates/js/translated/purchase_order.js:1710 +#: templates/js/translated/return_order.js:317 +#: templates/js/translated/sales_order.js:842 #: templates/js/translated/table_filters.js:48 #: templates/project_code_data.html:6 msgid "Project Code" msgstr "" -#: build/models.py:336 +#: build/models.py:359 msgid "Project code for this build order" msgstr "" -#: build/models.py:566 build/models.py:631 +#: build/models.py:589 build/models.py:654 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:588 +#: build/models.py:611 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:594 +#: build/models.py:617 msgid "A build order has been completed" msgstr "" -#: build/models.py:820 build/models.py:895 +#: build/models.py:843 build/models.py:918 msgid "No build output specified" msgstr "Tidak ada hasil produksi yang ditentukan" -#: build/models.py:823 +#: build/models.py:846 msgid "Build output is already completed" msgstr "Hasil produksi sudah selesai" -#: build/models.py:826 +#: build/models.py:849 msgid "Build output does not match Build Order" msgstr "Hasil produksi tidak sesuai dengan order produksi" -#: build/models.py:899 build/serializers.py:221 build/serializers.py:260 -#: build/serializers.py:837 order/models.py:538 order/serializers.py:433 -#: order/serializers.py:576 part/serializers.py:1471 part/serializers.py:1871 -#: stock/models.py:662 stock/models.py:1482 stock/serializers.py:472 +#: build/models.py:922 build/serializers.py:220 build/serializers.py:259 +#: build/serializers.py:836 order/models.py:560 order/serializers.py:433 +#: order/serializers.py:576 part/serializers.py:1486 part/serializers.py:1886 +#: stock/models.py:683 stock/models.py:1503 stock/serializers.py:601 msgid "Quantity must be greater than zero" msgstr "Jumlah harus lebih besar daripada nol" -#: build/models.py:904 build/serializers.py:226 +#: build/models.py:927 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:961 build/serializers.py:539 +#: build/models.py:984 build/serializers.py:538 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1323 +#: build/models.py:1335 +msgid "Build Order Line Item" +msgstr "" + +#: build/models.py:1360 msgid "Build object" msgstr "" -#: build/models.py:1337 build/models.py:1593 build/serializers.py:208 -#: build/serializers.py:245 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2524 -#: order/models.py:1259 order/models.py:1918 order/serializers.py:1339 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 -#: part/forms.py:48 part/models.py:3162 part/models.py:4035 +#: build/models.py:1374 build/models.py:1630 build/serializers.py:207 +#: build/serializers.py:244 build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2530 +#: order/models.py:1299 order/models.py:1958 order/serializers.py:1339 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 +#: part/forms.py:48 part/models.py:3205 part/models.py:4078 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 -#: report/templates/report/inventree_build_order_base.html:113 -#: report/templates/report/inventree_po_report_base.html:29 -#: report/templates/report/inventree_slr_report.html:104 -#: report/templates/report/inventree_so_report_base.html:29 -#: report/templates/report/inventree_test_report_base.html:90 -#: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:160 stock/serializers.py:463 +#: report/templates/report/inventree_build_order_report.html:113 +#: report/templates/report/inventree_purchase_order_report.html:29 +#: report/templates/report/inventree_sales_order_report.html:29 +#: report/templates/report/inventree_stock_location_report.html:104 +#: report/templates/report/inventree_test_report.html:90 +#: report/templates/report/inventree_test_report.html:170 stock/admin.py:160 +#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:592 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1324,380 +1328,381 @@ msgstr "" #: templates/js/translated/build.js:737 templates/js/translated/build.js:1369 #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 -#: templates/js/translated/model_renderers.js:230 +#: templates/js/translated/model_renderers.js:236 #: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3341 +#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3340 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 #: templates/js/translated/purchase_order.js:754 -#: templates/js/translated/purchase_order.js:1853 -#: templates/js/translated/purchase_order.js:2072 +#: templates/js/translated/purchase_order.js:1852 +#: templates/js/translated/purchase_order.js:2071 #: templates/js/translated/sales_order.js:317 -#: templates/js/translated/sales_order.js:1199 -#: templates/js/translated/sales_order.js:1518 -#: templates/js/translated/sales_order.js:1608 -#: templates/js/translated/sales_order.js:1698 -#: templates/js/translated/sales_order.js:1824 +#: templates/js/translated/sales_order.js:1235 +#: templates/js/translated/sales_order.js:1554 +#: templates/js/translated/sales_order.js:1644 +#: templates/js/translated/sales_order.js:1734 +#: templates/js/translated/sales_order.js:1860 #: templates/js/translated/stock.js:564 templates/js/translated/stock.js:702 -#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:3024 -#: templates/js/translated/stock.js:3107 +#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:3021 +#: templates/js/translated/stock.js:3104 msgid "Quantity" msgstr "Jumlah" -#: build/models.py:1338 +#: build/models.py:1375 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1418 +#: build/models.py:1455 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Item produksi harus menentukan hasil produksi karena bagian utama telah ditandai sebagai dapat dilacak" -#: build/models.py:1427 +#: build/models.py:1464 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1437 order/models.py:1869 +#: build/models.py:1474 order/models.py:1909 msgid "Stock item is over-allocated" msgstr "Item stok teralokasikan terlalu banyak" -#: build/models.py:1443 order/models.py:1872 +#: build/models.py:1480 order/models.py:1912 msgid "Allocation quantity must be greater than zero" msgstr "Jumlah yang dialokasikan harus lebih dari nol" -#: build/models.py:1449 +#: build/models.py:1486 msgid "Quantity must be 1 for serialized stock" msgstr "Jumlah harus 1 untuk stok dengan nomor seri" -#: build/models.py:1508 +#: build/models.py:1545 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1580 build/serializers.py:817 order/serializers.py:1183 -#: order/serializers.py:1204 stock/serializers.py:566 stock/serializers.py:1052 -#: stock/serializers.py:1164 stock/templates/stock/item_base.html:10 +#: build/models.py:1617 build/serializers.py:816 order/serializers.py:1183 +#: order/serializers.py:1204 stock/models.py:364 stock/serializers.py:92 +#: stock/serializers.py:695 stock/serializers.py:1181 stock/serializers.py:1293 +#: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 #: templates/js/translated/build.js:1745 #: templates/js/translated/sales_order.js:301 -#: templates/js/translated/sales_order.js:1198 -#: templates/js/translated/sales_order.js:1499 -#: templates/js/translated/sales_order.js:1504 -#: templates/js/translated/sales_order.js:1605 -#: templates/js/translated/sales_order.js:1692 +#: templates/js/translated/sales_order.js:1234 +#: templates/js/translated/sales_order.js:1535 +#: templates/js/translated/sales_order.js:1540 +#: templates/js/translated/sales_order.js:1641 +#: templates/js/translated/sales_order.js:1728 #: templates/js/translated/stock.js:677 templates/js/translated/stock.js:843 -#: templates/js/translated/stock.js:2980 +#: templates/js/translated/stock.js:2977 msgid "Stock Item" msgstr "Stok Item" -#: build/models.py:1581 +#: build/models.py:1618 msgid "Source stock item" msgstr "Sumber stok item" -#: build/models.py:1594 +#: build/models.py:1631 msgid "Stock quantity to allocate to build" msgstr "Jumlah stok yang dialokasikan ke produksi" -#: build/models.py:1602 +#: build/models.py:1639 msgid "Install into" msgstr "Pasang ke" -#: build/models.py:1603 +#: build/models.py:1640 msgid "Destination stock item" msgstr "Tujuan stok item" -#: build/serializers.py:158 build/serializers.py:846 +#: build/serializers.py:157 build/serializers.py:845 #: templates/js/translated/build.js:1322 msgid "Build Output" msgstr "Hasil Produksi" -#: build/serializers.py:170 +#: build/serializers.py:169 msgid "Build output does not match the parent build" msgstr "Hasil produksi tidak sesuai dengan produksi induk" -#: build/serializers.py:174 +#: build/serializers.py:173 msgid "Output part does not match BuildOrder part" msgstr "Hasil bagian tidak sesuai dengan bagian dalam order produksi" -#: build/serializers.py:178 +#: build/serializers.py:177 msgid "This build output has already been completed" msgstr "Hasil produksi ini sudah diselesaikan" -#: build/serializers.py:189 +#: build/serializers.py:188 msgid "This build output is not fully allocated" msgstr "Hasil produksi tidak dialokasikan sepenuhnya" -#: build/serializers.py:209 build/serializers.py:246 +#: build/serializers.py:208 build/serializers.py:245 msgid "Enter quantity for build output" msgstr "Masukkan jumlah hasil pesanan" -#: build/serializers.py:267 +#: build/serializers.py:266 msgid "Integer quantity required for trackable parts" msgstr "Jumlah bagian yang dapat dilacak harus berupa angka bulat" -#: build/serializers.py:270 +#: build/serializers.py:269 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:285 order/serializers.py:589 order/serializers.py:1343 -#: stock/serializers.py:483 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:284 order/serializers.py:589 order/serializers.py:1343 +#: stock/serializers.py:612 templates/js/translated/purchase_order.js:1153 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "Nomor Seri" -#: build/serializers.py:286 +#: build/serializers.py:285 msgid "Enter serial numbers for build outputs" msgstr "Masukkan nomor seri untuk hasil pesanan" -#: build/serializers.py:291 build/serializers.py:432 build/serializers.py:504 +#: build/serializers.py:290 build/serializers.py:431 build/serializers.py:503 #: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1679 -#: part/serializers.py:1127 stock/serializers.py:494 stock/serializers.py:654 -#: stock/serializers.py:750 stock/serializers.py:1196 stock/serializers.py:1452 -#: stock/templates/stock/item_base.html:394 +#: part/serializers.py:1142 stock/serializers.py:101 stock/serializers.py:623 +#: stock/serializers.py:783 stock/serializers.py:879 stock/serializers.py:1325 +#: stock/serializers.py:1581 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 #: templates/js/translated/purchase_order.js:1178 #: templates/js/translated/purchase_order.js:1268 -#: templates/js/translated/sales_order.js:1511 -#: templates/js/translated/sales_order.js:1619 -#: templates/js/translated/sales_order.js:1627 -#: templates/js/translated/sales_order.js:1706 +#: templates/js/translated/sales_order.js:1547 +#: templates/js/translated/sales_order.js:1655 +#: templates/js/translated/sales_order.js:1663 +#: templates/js/translated/sales_order.js:1742 #: templates/js/translated/stock.js:678 templates/js/translated/stock.js:844 -#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2203 -#: templates/js/translated/stock.js:2874 +#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2201 +#: templates/js/translated/stock.js:2871 msgid "Location" msgstr "Lokasi" -#: build/serializers.py:292 +#: build/serializers.py:291 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:306 +#: build/serializers.py:305 msgid "Auto Allocate Serial Numbers" msgstr "Alokasikan nomor seri secara otomatis" -#: build/serializers.py:307 +#: build/serializers.py:306 msgid "Automatically allocate required items with matching serial numbers" msgstr "Alokasikan item yang diperlukan dengan nomor seri yang sesuai secara otomatis" -#: build/serializers.py:322 +#: build/serializers.py:321 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:347 stock/api.py:995 +#: build/serializers.py:346 stock/api.py:1029 msgid "The following serial numbers already exist or are invalid" msgstr "Nomor-nomor seri berikut sudah ada atau tidak valid" -#: build/serializers.py:394 build/serializers.py:456 build/serializers.py:545 +#: build/serializers.py:393 build/serializers.py:455 build/serializers.py:544 msgid "A list of build outputs must be provided" msgstr "Daftar hasil pesanan harus disediakan" -#: build/serializers.py:433 +#: build/serializers.py:432 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:439 +#: build/serializers.py:438 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:440 +#: build/serializers.py:439 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:445 +#: build/serializers.py:444 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:505 +#: build/serializers.py:504 msgid "Location for completed build outputs" msgstr "Lokasi hasil pesanan yang selesai" -#: build/serializers.py:511 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:922 -#: order/models.py:2022 order/serializers.py:597 stock/admin.py:165 -#: stock/serializers.py:801 stock/serializers.py:1340 +#: build/serializers.py:510 build/templates/build/build_base.html:151 +#: build/templates/build/detail.html:62 order/models.py:953 +#: order/models.py:2071 order/serializers.py:597 stock/admin.py:165 +#: stock/serializers.py:930 stock/serializers.py:1469 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 -#: templates/js/translated/purchase_order.js:1723 -#: templates/js/translated/return_order.js:331 -#: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2178 templates/js/translated/stock.js:2998 -#: templates/js/translated/stock.js:3123 +#: templates/js/translated/purchase_order.js:1722 +#: templates/js/translated/return_order.js:330 +#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/stock.js:2176 templates/js/translated/stock.js:2995 +#: templates/js/translated/stock.js:3120 msgid "Status" msgstr "" -#: build/serializers.py:517 +#: build/serializers.py:516 msgid "Accept Incomplete Allocation" msgstr "Terima Alokasi Tidak Lengkap" -#: build/serializers.py:518 +#: build/serializers.py:517 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:598 +#: build/serializers.py:597 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:599 +#: build/serializers.py:598 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:605 +#: build/serializers.py:604 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:606 +#: build/serializers.py:605 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:633 +#: build/serializers.py:632 msgid "Not permitted" msgstr "" -#: build/serializers.py:634 +#: build/serializers.py:633 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:635 +#: build/serializers.py:634 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:657 +#: build/serializers.py:656 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:659 +#: build/serializers.py:658 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:669 +#: build/serializers.py:668 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:674 +#: build/serializers.py:673 msgid "Accept Unallocated" msgstr "Terima Tidak Teralokasikan" -#: build/serializers.py:675 +#: build/serializers.py:674 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Terima bahwa stok item tidak teralokasikan sepenuhnya ke pesanan ini" -#: build/serializers.py:685 templates/js/translated/build.js:315 +#: build/serializers.py:684 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" msgstr "Stok yang diperlukan belum teralokasikan sepenuhnya" -#: build/serializers.py:690 order/serializers.py:301 order/serializers.py:1246 +#: build/serializers.py:689 order/serializers.py:301 order/serializers.py:1246 msgid "Accept Incomplete" msgstr "Terima Tidak Selesai" -#: build/serializers.py:691 +#: build/serializers.py:690 msgid "Accept that the required number of build outputs have not been completed" msgstr "Terima bahwa jumlah hasil produksi yang diperlukan belum selesai" -#: build/serializers.py:701 templates/js/translated/build.js:319 +#: build/serializers.py:700 templates/js/translated/build.js:319 msgid "Required build quantity has not been completed" msgstr "Jumlah produksi yang diperlukan masih belum cukup" -#: build/serializers.py:710 templates/js/translated/build.js:303 +#: build/serializers.py:709 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" msgstr "Order memiliki hasil produksi yang belum dilengkapi" -#: build/serializers.py:740 +#: build/serializers.py:739 msgid "Build Line" msgstr "" -#: build/serializers.py:750 +#: build/serializers.py:749 msgid "Build output" msgstr "Hasil produksi" -#: build/serializers.py:758 +#: build/serializers.py:757 msgid "Build output must point to the same build" msgstr "Hasil pesanan harus mengarah ke pesanan yang sama" -#: build/serializers.py:794 +#: build/serializers.py:793 msgid "Build Line Item" msgstr "" -#: build/serializers.py:808 +#: build/serializers.py:807 msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part harus mengarah ke bagian yang sesuai dengan order produksi" -#: build/serializers.py:823 stock/serializers.py:1065 +#: build/serializers.py:822 stock/serializers.py:1194 msgid "Item must be in stock" msgstr "Item harus tersedia dalam stok" -#: build/serializers.py:871 order/serializers.py:1237 +#: build/serializers.py:870 order/serializers.py:1237 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Jumlah tersedia ({q}) terlampaui" -#: build/serializers.py:877 +#: build/serializers.py:876 msgid "Build output must be specified for allocation of tracked parts" msgstr "Hasil produksi harus ditentukan untuk mengalokasikan bagian yang terlacak" -#: build/serializers.py:884 +#: build/serializers.py:883 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "Hasil produksi tidak dapat ditentukan untuk alokasi barang yang tidak terlacak" -#: build/serializers.py:908 order/serializers.py:1489 +#: build/serializers.py:907 order/serializers.py:1489 msgid "Allocation items must be provided" msgstr "Item yang dialokasikan harus disediakan" -#: build/serializers.py:971 +#: build/serializers.py:970 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "Lokasi stok, dari mana bahan/bagian akan diambilkan (kosongkan untuk mengambil dari lokasi mana pun)" -#: build/serializers.py:979 +#: build/serializers.py:978 msgid "Exclude Location" msgstr "Lokasi tidak termasuk" -#: build/serializers.py:980 +#: build/serializers.py:979 msgid "Exclude stock items from this selected location" msgstr "Jangan ambil stok item dari lokasi yang dipilih" -#: build/serializers.py:985 +#: build/serializers.py:984 msgid "Interchangeable Stock" msgstr "Stok bergantian" -#: build/serializers.py:986 +#: build/serializers.py:985 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Item stok di beberapa lokasi dapat digunakan secara bergantian" -#: build/serializers.py:991 +#: build/serializers.py:990 msgid "Substitute Stock" msgstr "Stok pengganti" -#: build/serializers.py:992 +#: build/serializers.py:991 msgid "Allow allocation of substitute parts" msgstr "Izinkan alokasi bagian pengganti" -#: build/serializers.py:997 +#: build/serializers.py:996 msgid "Optional Items" msgstr "" -#: build/serializers.py:998 +#: build/serializers.py:997 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1020 +#: build/serializers.py:1019 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1110 part/models.py:3930 part/models.py:4366 -#: stock/api.py:758 +#: build/serializers.py:1109 part/models.py:3973 part/models.py:4409 +#: stock/api.py:792 msgid "BOM Item" msgstr "Item tagihan material" -#: build/serializers.py:1119 templates/js/translated/index.js:130 +#: build/serializers.py:1118 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1124 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:817 part/serializers.py:1489 +#: build/serializers.py:1123 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:832 part/serializers.py:1504 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 @@ -1705,15 +1710,15 @@ msgstr "" msgid "On Order" msgstr "" -#: build/serializers.py:1129 part/serializers.py:1491 +#: build/serializers.py:1128 part/serializers.py:1506 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1134 part/bom.py:172 part/serializers.py:1514 +#: build/serializers.py:1133 part/bom.py:172 part/serializers.py:1529 #: part/templates/part/part_base.html:192 -#: templates/js/translated/sales_order.js:1893 +#: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "" @@ -1842,18 +1847,18 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:297 -#: order/models.py:1294 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:310 +#: order/models.py:1334 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 -#: order/templates/order/sales_order_base.html:192 -#: report/templates/report/inventree_build_order_base.html:125 +#: order/templates/order/sales_order_base.html:196 +#: report/templates/report/inventree_build_order_report.html:125 #: templates/js/translated/build.js:2239 templates/js/translated/part.js:1830 -#: templates/js/translated/purchase_order.js:1740 -#: templates/js/translated/purchase_order.js:2148 -#: templates/js/translated/return_order.js:347 -#: templates/js/translated/return_order.js:751 -#: templates/js/translated/sales_order.js:835 -#: templates/js/translated/sales_order.js:1867 +#: templates/js/translated/purchase_order.js:1739 +#: templates/js/translated/purchase_order.js:2147 +#: templates/js/translated/return_order.js:346 +#: templates/js/translated/return_order.js:750 +#: templates/js/translated/sales_order.js:871 +#: templates/js/translated/sales_order.js:1903 msgid "Target Date" msgstr "" @@ -1866,7 +1871,7 @@ msgstr "" #: build/templates/build/build_base.html:222 #: order/templates/order/order_base.html:122 #: order/templates/order/return_order_base.html:117 -#: order/templates/order/sales_order_base.html:122 +#: order/templates/order/sales_order_base.html:126 #: templates/js/translated/table_filters.js:98 #: templates/js/translated/table_filters.js:524 #: templates/js/translated/table_filters.js:626 @@ -1880,24 +1885,24 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:1538 -#: order/models.py:1652 order/models.py:1806 +#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:848 +#: order/models.py:1578 order/models.py:1692 order/models.py:1846 #: 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 +#: report/templates/report/inventree_build_order_report.html:135 +#: report/templates/report/inventree_sales_order_report.html:14 #: stock/templates/stock/item_base.html:369 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:929 -#: templates/js/translated/sales_order.js:769 -#: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2927 +#: templates/js/translated/sales_order.js:805 +#: templates/js/translated/sales_order.js:1028 +#: templates/js/translated/stock.js:2924 msgid "Sales Order" msgstr "" #: build/templates/build/build_base.html:197 #: build/templates/build/detail.html:115 -#: report/templates/report/inventree_build_order_base.html:152 +#: report/templates/report/inventree_build_order_report.html:152 #: templates/js/translated/table_filters.js:24 msgid "Issued By" msgstr "" @@ -1907,15 +1912,15 @@ msgstr "" msgid "Priority" msgstr "" -#: build/templates/build/build_base.html:273 +#: build/templates/build/build_base.html:269 msgid "Delete Build Order" msgstr "" -#: build/templates/build/build_base.html:283 +#: build/templates/build/build_base.html:279 msgid "Build Order QR Code" msgstr "" -#: build/templates/build/build_base.html:295 +#: build/templates/build/build_base.html:291 msgid "Link Barcode to Build Order" msgstr "" @@ -1931,8 +1936,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1430 -#: templates/js/translated/purchase_order.js:2190 +#: build/templates/build/detail.html:49 order/models.py:1470 +#: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "" @@ -1947,10 +1952,10 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 #: templates/js/translated/build.js:1380 -#: templates/js/translated/model_renderers.js:235 +#: templates/js/translated/model_renderers.js:241 #: templates/js/translated/purchase_order.js:1274 -#: templates/js/translated/stock.js:1133 templates/js/translated/stock.js:2192 -#: templates/js/translated/stock.js:3130 +#: templates/js/translated/stock.js:1133 templates/js/translated/stock.js:2190 +#: templates/js/translated/stock.js:3127 #: templates/js/translated/table_filters.js:313 #: templates/js/translated/table_filters.js:404 msgid "Batch" @@ -1959,7 +1964,7 @@ msgstr "" #: build/templates/build/detail.html:133 #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:151 -#: order/templates/order/sales_order_base.html:186 +#: order/templates/order/sales_order_base.html:190 #: templates/js/translated/build.js:2199 msgid "Created" msgstr "" @@ -1969,7 +1974,7 @@ msgid "No target date set" msgstr "" #: build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:202 +#: order/templates/order/sales_order_base.html:206 #: templates/js/translated/table_filters.js:689 msgid "Completed" msgstr "" @@ -2260,8 +2265,8 @@ msgstr "" #: common/models.py:1316 common/models.py:1372 common/models.py:1385 #: common/models.py:1393 common/models.py:1402 common/models.py:1411 -#: common/models.py:1613 common/models.py:1635 common/models.py:1750 -#: common/models.py:2061 +#: common/models.py:1619 common/models.py:1641 common/models.py:1756 +#: common/models.py:2067 msgid "days" msgstr "" @@ -2402,1209 +2407,1218 @@ msgid "Enable revision field for Part" msgstr "" #: common/models.py:1440 -msgid "IPN Regex" +msgid "Allow Deletion from Assembly" msgstr "" #: common/models.py:1441 +msgid "Allow deletion of parts which are used in an assembly" +msgstr "" + +#: common/models.py:1446 +msgid "IPN Regex" +msgstr "" + +#: common/models.py:1447 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1444 +#: common/models.py:1450 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1445 +#: common/models.py:1451 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1450 +#: common/models.py:1456 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1451 +#: common/models.py:1457 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1456 +#: common/models.py:1462 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1457 +#: common/models.py:1463 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1462 +#: common/models.py:1468 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1463 +#: common/models.py:1469 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1468 +#: common/models.py:1474 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1469 +#: common/models.py:1475 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1474 +#: common/models.py:1480 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1475 +#: common/models.py:1481 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1480 part/admin.py:108 part/models.py:3772 -#: report/models.py:182 stock/serializers.py:99 +#: common/models.py:1486 part/admin.py:108 part/models.py:3815 +#: report/models.py:294 report/models.py:361 report/serializers.py:90 +#: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:767 msgid "Template" msgstr "" -#: common/models.py:1481 +#: common/models.py:1487 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1486 part/admin.py:91 part/admin.py:431 part/models.py:1016 +#: common/models.py:1492 part/admin.py:91 part/admin.py:433 part/models.py:1059 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "" -#: common/models.py:1487 +#: common/models.py:1493 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1492 part/admin.py:95 part/models.py:1022 +#: common/models.py:1498 part/admin.py:95 part/models.py:1065 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "" -#: common/models.py:1493 +#: common/models.py:1499 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1498 part/admin.py:100 part/models.py:1034 +#: common/models.py:1504 part/admin.py:100 part/models.py:1077 msgid "Purchaseable" msgstr "" -#: common/models.py:1499 +#: common/models.py:1505 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1504 part/admin.py:104 part/models.py:1040 +#: common/models.py:1510 part/admin.py:104 part/models.py:1083 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "" -#: common/models.py:1505 +#: common/models.py:1511 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1510 part/admin.py:113 part/models.py:1028 +#: common/models.py:1516 part/admin.py:113 part/models.py:1071 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "" -#: common/models.py:1511 +#: common/models.py:1517 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1516 part/admin.py:117 part/models.py:1050 +#: common/models.py:1522 part/admin.py:117 part/models.py:1093 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "" -#: common/models.py:1517 +#: common/models.py:1523 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1522 +#: common/models.py:1528 msgid "Show Import in Views" msgstr "" -#: common/models.py:1523 +#: common/models.py:1529 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1528 +#: common/models.py:1534 msgid "Show related parts" msgstr "" -#: common/models.py:1529 +#: common/models.py:1535 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1534 +#: common/models.py:1540 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1535 +#: common/models.py:1541 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1540 templates/js/translated/part.js:107 +#: common/models.py:1546 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1542 +#: common/models.py:1548 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1548 +#: common/models.py:1554 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1549 +#: common/models.py:1555 msgid "Format to display the part name" msgstr "" -#: common/models.py:1555 +#: common/models.py:1561 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1556 +#: common/models.py:1562 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1560 +#: common/models.py:1566 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1562 +#: common/models.py:1568 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1568 +#: common/models.py:1574 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1570 +#: common/models.py:1576 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1576 +#: common/models.py:1582 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1578 +#: common/models.py:1584 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1584 +#: common/models.py:1590 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1586 +#: common/models.py:1592 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1592 +#: common/models.py:1598 msgid "Purchase History Override" msgstr "" -#: common/models.py:1594 +#: common/models.py:1600 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1600 +#: common/models.py:1606 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1602 +#: common/models.py:1608 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1608 +#: common/models.py:1614 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1610 +#: common/models.py:1616 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1617 +#: common/models.py:1623 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1618 +#: common/models.py:1624 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1623 +#: common/models.py:1629 msgid "Active Variants Only" msgstr "" -#: common/models.py:1625 +#: common/models.py:1631 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1631 +#: common/models.py:1637 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1633 +#: common/models.py:1639 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1640 +#: common/models.py:1646 msgid "Internal Prices" msgstr "" -#: common/models.py:1641 +#: common/models.py:1647 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1646 +#: common/models.py:1652 msgid "Internal Price Override" msgstr "" -#: common/models.py:1648 +#: common/models.py:1654 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1654 +#: common/models.py:1660 msgid "Enable label printing" msgstr "" -#: common/models.py:1655 +#: common/models.py:1661 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1660 +#: common/models.py:1666 msgid "Label Image DPI" msgstr "" -#: common/models.py:1662 +#: common/models.py:1668 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1668 +#: common/models.py:1674 msgid "Enable Reports" msgstr "" -#: common/models.py:1669 +#: common/models.py:1675 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1674 templates/stats.html:25 +#: common/models.py:1680 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1675 +#: common/models.py:1681 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1680 +#: common/models.py:1686 msgid "Log Report Errors" msgstr "" -#: common/models.py:1681 +#: common/models.py:1687 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1686 plugin/builtin/labels/label_sheet.py:28 -#: report/models.py:203 +#: common/models.py:1692 plugin/builtin/labels/label_sheet.py:28 +#: report/models.py:302 msgid "Page Size" msgstr "" -#: common/models.py:1687 +#: common/models.py:1693 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1692 +#: common/models.py:1698 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1693 +#: common/models.py:1699 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1698 +#: common/models.py:1704 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1700 +#: common/models.py:1706 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1706 +#: common/models.py:1712 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1707 +#: common/models.py:1713 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1712 +#: common/models.py:1718 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1713 +#: common/models.py:1719 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1718 +#: common/models.py:1724 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1720 +#: common/models.py:1726 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1726 +#: common/models.py:1732 msgid "Batch Code Template" msgstr "" -#: common/models.py:1728 +#: common/models.py:1734 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1733 +#: common/models.py:1739 msgid "Stock Expiry" msgstr "" -#: common/models.py:1734 +#: common/models.py:1740 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1739 +#: common/models.py:1745 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1740 +#: common/models.py:1746 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1745 +#: common/models.py:1751 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1747 +#: common/models.py:1753 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1754 +#: common/models.py:1760 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1755 +#: common/models.py:1761 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1760 +#: common/models.py:1766 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1761 +#: common/models.py:1767 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1766 +#: common/models.py:1772 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1767 +#: common/models.py:1773 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1771 +#: common/models.py:1777 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1772 +#: common/models.py:1778 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1777 +#: common/models.py:1783 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1779 +#: common/models.py:1785 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1785 +#: common/models.py:1791 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1787 +#: common/models.py:1793 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1793 +#: common/models.py:1799 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1795 +#: common/models.py:1801 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1801 common/models.py:1829 common/models.py:1851 -#: common/models.py:1879 +#: common/models.py:1807 common/models.py:1835 common/models.py:1857 +#: common/models.py:1885 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1802 common/models.py:1830 common/models.py:1852 -#: common/models.py:1880 +#: common/models.py:1808 common/models.py:1836 common/models.py:1858 +#: common/models.py:1886 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1807 +#: common/models.py:1813 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1809 +#: common/models.py:1815 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1815 +#: common/models.py:1821 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1816 +#: common/models.py:1822 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1821 +#: common/models.py:1827 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1823 +#: common/models.py:1829 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1835 +#: common/models.py:1841 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1837 +#: common/models.py:1843 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1843 +#: common/models.py:1849 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1845 +#: common/models.py:1851 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1857 +#: common/models.py:1863 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1858 +#: common/models.py:1864 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1863 +#: common/models.py:1869 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1865 +#: common/models.py:1871 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1871 +#: common/models.py:1877 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1873 +#: common/models.py:1879 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1885 +#: common/models.py:1891 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1887 +#: common/models.py:1893 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1893 +#: common/models.py:1899 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1895 +#: common/models.py:1901 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1902 +#: common/models.py:1908 msgid "Enable password forgot" msgstr "" -#: common/models.py:1903 +#: common/models.py:1909 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1908 +#: common/models.py:1914 msgid "Enable registration" msgstr "" -#: common/models.py:1909 +#: common/models.py:1915 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1914 +#: common/models.py:1920 msgid "Enable SSO" msgstr "" -#: common/models.py:1915 +#: common/models.py:1921 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1920 +#: common/models.py:1926 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1922 +#: common/models.py:1928 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1928 +#: common/models.py:1934 msgid "Email required" msgstr "Surel diperlukan" -#: common/models.py:1929 +#: common/models.py:1935 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1934 +#: common/models.py:1940 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1936 +#: common/models.py:1942 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1942 +#: common/models.py:1948 msgid "Mail twice" msgstr "" -#: common/models.py:1943 +#: common/models.py:1949 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1948 +#: common/models.py:1954 msgid "Password twice" msgstr "" -#: common/models.py:1949 +#: common/models.py:1955 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1954 +#: common/models.py:1960 msgid "Allowed domains" msgstr "" -#: common/models.py:1956 +#: common/models.py:1962 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1962 +#: common/models.py:1968 msgid "Group on signup" msgstr "" -#: common/models.py:1963 +#: common/models.py:1969 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1968 +#: common/models.py:1974 msgid "Enforce MFA" msgstr "" -#: common/models.py:1969 +#: common/models.py:1975 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1974 +#: common/models.py:1980 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1976 +#: common/models.py:1982 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1984 +#: common/models.py:1990 msgid "Check for plugin updates" msgstr "" -#: common/models.py:1985 +#: common/models.py:1991 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:1991 +#: common/models.py:1997 msgid "Enable URL integration" msgstr "" -#: common/models.py:1992 +#: common/models.py:1998 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1998 +#: common/models.py:2004 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1999 +#: common/models.py:2005 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2005 +#: common/models.py:2011 msgid "Enable app integration" msgstr "" -#: common/models.py:2006 +#: common/models.py:2012 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2012 +#: common/models.py:2018 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2013 +#: common/models.py:2019 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2019 +#: common/models.py:2025 msgid "Enable event integration" msgstr "" -#: common/models.py:2020 +#: common/models.py:2026 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2026 +#: common/models.py:2032 msgid "Enable project codes" msgstr "" -#: common/models.py:2027 +#: common/models.py:2033 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2032 +#: common/models.py:2038 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2034 +#: common/models.py:2040 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2040 +#: common/models.py:2046 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2042 +#: common/models.py:2048 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2048 +#: common/models.py:2054 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2050 +#: common/models.py:2056 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2056 +#: common/models.py:2062 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2058 +#: common/models.py:2064 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2065 +#: common/models.py:2071 msgid "Display Users full names" msgstr "" -#: common/models.py:2066 +#: common/models.py:2072 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2071 +#: common/models.py:2077 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2072 +#: common/models.py:2078 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2084 common/models.py:2494 +#: common/models.py:2090 common/models.py:2500 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2127 +#: common/models.py:2133 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2129 +#: common/models.py:2135 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2135 +#: common/models.py:2141 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2136 +#: common/models.py:2142 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2141 +#: common/models.py:2147 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2142 +#: common/models.py:2148 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2147 +#: common/models.py:2153 msgid "Show latest parts" msgstr "" -#: common/models.py:2148 +#: common/models.py:2154 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2153 +#: common/models.py:2159 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2154 +#: common/models.py:2160 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2159 +#: common/models.py:2165 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2160 +#: common/models.py:2166 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2165 +#: common/models.py:2171 msgid "Show low stock" msgstr "" -#: common/models.py:2166 +#: common/models.py:2172 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2171 +#: common/models.py:2177 msgid "Show depleted stock" msgstr "" -#: common/models.py:2172 +#: common/models.py:2178 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2177 +#: common/models.py:2183 msgid "Show needed stock" msgstr "" -#: common/models.py:2178 +#: common/models.py:2184 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2183 +#: common/models.py:2189 msgid "Show expired stock" msgstr "" -#: common/models.py:2184 +#: common/models.py:2190 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2189 +#: common/models.py:2195 msgid "Show stale stock" msgstr "" -#: common/models.py:2190 +#: common/models.py:2196 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2195 +#: common/models.py:2201 msgid "Show pending builds" msgstr "" -#: common/models.py:2196 +#: common/models.py:2202 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2201 +#: common/models.py:2207 msgid "Show overdue builds" msgstr "" -#: common/models.py:2202 +#: common/models.py:2208 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2207 +#: common/models.py:2213 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2208 +#: common/models.py:2214 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2213 +#: common/models.py:2219 msgid "Show overdue POs" msgstr "" -#: common/models.py:2214 +#: common/models.py:2220 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2219 +#: common/models.py:2225 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2220 +#: common/models.py:2226 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2225 +#: common/models.py:2231 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2226 +#: common/models.py:2232 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2231 +#: common/models.py:2237 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2232 +#: common/models.py:2238 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2237 +#: common/models.py:2243 msgid "Show News" msgstr "" -#: common/models.py:2238 +#: common/models.py:2244 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2243 +#: common/models.py:2249 msgid "Inline label display" msgstr "" -#: common/models.py:2245 +#: common/models.py:2251 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2251 +#: common/models.py:2257 msgid "Default label printer" msgstr "" -#: common/models.py:2253 +#: common/models.py:2259 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2259 +#: common/models.py:2265 msgid "Inline report display" msgstr "" -#: common/models.py:2261 +#: common/models.py:2267 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2267 +#: common/models.py:2273 msgid "Search Parts" msgstr "" -#: common/models.py:2268 +#: common/models.py:2274 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2273 +#: common/models.py:2279 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2274 +#: common/models.py:2280 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2279 +#: common/models.py:2285 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2280 +#: common/models.py:2286 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2285 +#: common/models.py:2291 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2286 +#: common/models.py:2292 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2291 +#: common/models.py:2297 msgid "Search Categories" msgstr "" -#: common/models.py:2292 +#: common/models.py:2298 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2297 +#: common/models.py:2303 msgid "Search Stock" msgstr "" -#: common/models.py:2298 +#: common/models.py:2304 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2303 +#: common/models.py:2309 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2305 +#: common/models.py:2311 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2311 +#: common/models.py:2317 msgid "Search Locations" msgstr "" -#: common/models.py:2312 +#: common/models.py:2318 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2317 +#: common/models.py:2323 msgid "Search Companies" msgstr "" -#: common/models.py:2318 +#: common/models.py:2324 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2323 +#: common/models.py:2329 msgid "Search Build Orders" msgstr "" -#: common/models.py:2324 +#: common/models.py:2330 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2329 +#: common/models.py:2335 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2330 +#: common/models.py:2336 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2335 +#: common/models.py:2341 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2337 +#: common/models.py:2343 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2343 +#: common/models.py:2349 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2344 +#: common/models.py:2350 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2349 +#: common/models.py:2355 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2351 +#: common/models.py:2357 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2357 +#: common/models.py:2363 msgid "Search Return Orders" msgstr "" -#: common/models.py:2358 +#: common/models.py:2364 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2363 +#: common/models.py:2369 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2365 +#: common/models.py:2371 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2371 +#: common/models.py:2377 msgid "Search Preview Results" msgstr "" -#: common/models.py:2373 +#: common/models.py:2379 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2379 +#: common/models.py:2385 msgid "Regex Search" msgstr "" -#: common/models.py:2380 +#: common/models.py:2386 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2385 +#: common/models.py:2391 msgid "Whole Word Search" msgstr "" -#: common/models.py:2386 +#: common/models.py:2392 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2391 +#: common/models.py:2397 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2392 +#: common/models.py:2398 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2397 +#: common/models.py:2403 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2398 +#: common/models.py:2404 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2403 +#: common/models.py:2409 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2404 +#: common/models.py:2410 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2409 +#: common/models.py:2415 msgid "Date Format" msgstr "" -#: common/models.py:2410 +#: common/models.py:2416 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2423 part/templates/part/detail.html:41 +#: common/models.py:2429 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2424 +#: common/models.py:2430 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2429 part/templates/part/detail.html:62 +#: common/models.py:2435 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2431 +#: common/models.py:2437 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2437 +#: common/models.py:2443 msgid "Table String Length" msgstr "" -#: common/models.py:2439 +#: common/models.py:2445 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2445 +#: common/models.py:2451 msgid "Default part label template" msgstr "" -#: common/models.py:2446 +#: common/models.py:2452 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2451 +#: common/models.py:2457 msgid "Default stock item template" msgstr "" -#: common/models.py:2453 +#: common/models.py:2459 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2459 +#: common/models.py:2465 msgid "Default stock location label template" msgstr "" -#: common/models.py:2461 +#: common/models.py:2467 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2467 +#: common/models.py:2473 msgid "Default build line label template" msgstr "" -#: common/models.py:2469 +#: common/models.py:2475 msgid "The build line label template to be automatically selected" msgstr "" -#: common/models.py:2475 +#: common/models.py:2481 msgid "Receive error reports" msgstr "" -#: common/models.py:2476 +#: common/models.py:2482 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2481 +#: common/models.py:2487 msgid "Last used printing machines" msgstr "" -#: common/models.py:2482 +#: common/models.py:2488 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2525 +#: common/models.py:2531 msgid "Price break quantity" msgstr "" -#: common/models.py:2532 company/serializers.py:496 order/admin.py:42 -#: order/models.py:1333 order/models.py:2243 +#: common/models.py:2538 company/serializers.py:496 order/admin.py:42 +#: order/models.py:1373 order/models.py:2292 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 -#: templates/js/translated/return_order.js:741 +#: templates/js/translated/return_order.js:740 msgid "Price" msgstr "" -#: common/models.py:2533 +#: common/models.py:2539 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2704 common/models.py:2889 +#: common/models.py:2710 common/models.py:2895 msgid "Endpoint" msgstr "" -#: common/models.py:2705 +#: common/models.py:2711 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2715 +#: common/models.py:2721 msgid "Name for this webhook" msgstr "" -#: common/models.py:2719 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1045 -#: plugin/models.py:56 templates/js/translated/company.js:523 +#: common/models.py:2725 company/models.py:160 company/models.py:814 +#: machine/models.py:39 part/admin.py:88 part/models.py:1088 +#: plugin/models.py:65 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:492 @@ -3614,135 +3628,135 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2719 +#: common/models.py:2725 msgid "Is this webhook active" msgstr "" -#: common/models.py:2735 users/models.py:159 +#: common/models.py:2741 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2736 +#: common/models.py:2742 msgid "Token for access" msgstr "" -#: common/models.py:2744 +#: common/models.py:2750 msgid "Secret" msgstr "" -#: common/models.py:2745 +#: common/models.py:2751 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2853 +#: common/models.py:2859 msgid "Message ID" msgstr "" -#: common/models.py:2854 +#: common/models.py:2860 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2862 +#: common/models.py:2868 msgid "Host" msgstr "" -#: common/models.py:2863 +#: common/models.py:2869 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2871 +#: common/models.py:2877 msgid "Header" msgstr "" -#: common/models.py:2872 +#: common/models.py:2878 msgid "Header of this message" msgstr "" -#: common/models.py:2879 +#: common/models.py:2885 msgid "Body" msgstr "" -#: common/models.py:2880 +#: common/models.py:2886 msgid "Body of this message" msgstr "" -#: common/models.py:2890 +#: common/models.py:2896 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2895 +#: common/models.py:2901 msgid "Worked on" msgstr "" -#: common/models.py:2896 +#: common/models.py:2902 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3022 +#: common/models.py:3028 msgid "Id" msgstr "" -#: common/models.py:3024 templates/js/translated/company.js:965 +#: common/models.py:3030 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3028 templates/js/translated/news.js:60 +#: common/models.py:3034 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3030 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3036 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3032 templates/js/translated/news.js:52 +#: common/models.py:3038 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3035 +#: common/models.py:3041 msgid "Read" msgstr "" -#: common/models.py:3035 +#: common/models.py:3041 msgid "Was this news item read?" msgstr "" -#: common/models.py:3052 company/models.py:156 part/models.py:929 +#: common/models.py:3058 company/models.py:156 part/models.py:972 #: 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 +#: report/templates/report/inventree_return_order_report.html:35 #: stock/templates/stock/item_base.html:133 templates/503.html:31 #: templates/hover_image.html:7 templates/hover_image.html:9 #: templates/modals.html:6 msgid "Image" msgstr "" -#: common/models.py:3052 +#: common/models.py:3058 msgid "Image file" msgstr "" -#: common/models.py:3094 +#: common/models.py:3100 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3113 +#: common/models.py:3119 msgid "Unit name" msgstr "" -#: common/models.py:3120 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3126 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3121 +#: common/models.py:3127 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3128 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3134 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3129 +#: common/models.py:3135 msgid "Unit definition" msgstr "" @@ -3929,9 +3943,9 @@ msgid "Contact email address" msgstr "" #: company/models.py:139 company/templates/company/company_base.html:145 -#: order/models.py:331 order/templates/order/order_base.html:203 +#: order/models.py:344 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 -#: order/templates/order/sales_order_base.html:214 +#: order/templates/order/sales_order_base.html:218 msgid "Contact" msgstr "" @@ -3977,7 +3991,7 @@ msgstr "" #: company/models.py:273 company/models.py:382 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:776 +#: company/templates/company/company_base.html:12 stock/api.py:810 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "" @@ -4069,8 +4083,8 @@ msgstr "" msgid "Link to address information (external)" msgstr "" -#: company/models.py:489 company/models.py:792 stock/models.py:751 -#: stock/serializers.py:266 stock/templates/stock/item_base.html:142 +#: company/models.py:489 company/models.py:792 stock/models.py:772 +#: stock/serializers.py:395 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -4081,7 +4095,7 @@ msgstr "" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:515 +#: company/templates/company/supplier_part.html:145 part/serializers.py:530 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4096,13 +4110,13 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:525 +#: company/templates/company/supplier_part.html:153 part/serializers.py:540 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800 -#: templates/js/translated/purchase_order.js:1852 -#: templates/js/translated/purchase_order.js:2054 +#: templates/js/translated/purchase_order.js:1851 +#: templates/js/translated/purchase_order.js:2053 msgid "MPN" msgstr "" @@ -4129,9 +4143,8 @@ msgstr "" msgid "Parameter name" msgstr "" -#: company/models.py:621 -#: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2448 templates/js/translated/company.js:1166 +#: company/models.py:621 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2425 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492 #: templates/js/translated/stock.js:1522 msgid "Value" @@ -4142,10 +4155,10 @@ msgid "Parameter value" msgstr "" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1009 part/models.py:3623 +#: part/admin.py:57 part/models.py:1052 part/models.py:3666 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 -#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370 +#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 msgid "Units" msgstr "" @@ -4166,9 +4179,9 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:465 +#: company/templates/company/supplier_part.html:129 order/models.py:487 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:499 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:514 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4176,7 +4189,7 @@ msgstr "" #: templates/js/translated/company.js:511 #: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1690 +#: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/table_filters.js:804 msgid "Supplier" msgstr "" @@ -4185,7 +4198,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:809 part/serializers.py:510 +#: company/models.py:809 part/serializers.py:525 msgid "Supplier stock keeping unit" msgstr "" @@ -4206,29 +4219,29 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:418 part/models.py:4070 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4113 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 -#: report/templates/report/inventree_slr_report.html:105 -#: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:579 +#: report/templates/report/inventree_purchase_order_report.html:32 +#: report/templates/report/inventree_return_order_report.html:27 +#: report/templates/report/inventree_sales_order_report.html:32 +#: report/templates/report/inventree_stock_location_report.html:105 +#: stock/serializers.py:708 msgid "Note" msgstr "" -#: company/models.py:857 part/models.py:1967 +#: company/models.py:857 part/models.py:2010 msgid "base cost" msgstr "" -#: company/models.py:858 part/models.py:1968 +#: company/models.py:858 part/models.py:2011 msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:782 stock/serializers.py:1350 +#: stock/admin.py:224 stock/models.py:803 stock/serializers.py:1479 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 -#: templates/js/translated/stock.js:2426 +#: templates/js/translated/stock.js:2424 msgid "Packaging" msgstr "" @@ -4241,8 +4254,8 @@ msgstr "" #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 -#: templates/js/translated/purchase_order.js:2085 -#: templates/js/translated/purchase_order.js:2102 +#: templates/js/translated/purchase_order.js:2084 +#: templates/js/translated/purchase_order.js:2101 msgid "Pack Quantity" msgstr "" @@ -4250,7 +4263,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:892 part/models.py:1974 +#: company/models.py:892 part/models.py:2017 msgid "multiple" msgstr "" @@ -4285,7 +4298,7 @@ msgstr "" #: part/templates/part/part_base.html:146 #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 -#: templates/js/translated/model_renderers.js:306 +#: templates/js/translated/model_renderers.js:312 #: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 msgid "Inactive" msgstr "" @@ -4321,11 +4334,11 @@ msgstr "" #: company/templates/company/manufacturer_part.html:51 #: company/templates/company/supplier_part.html:83 #: part/templates/part/part_thumb.html:20 -#: report/templates/report/inventree_build_order_base.html:98 -#: report/templates/report/inventree_po_report_base.html:40 -#: report/templates/report/inventree_so_report_base.html:40 -#: report/templates/report/inventree_test_report_base.html:84 -#: report/templates/report/inventree_test_report_base.html:163 +#: report/templates/report/inventree_build_order_report.html:98 +#: report/templates/report/inventree_purchase_order_report.html:40 +#: report/templates/report/inventree_sales_order_report.html:40 +#: report/templates/report/inventree_test_report.html:84 +#: report/templates/report/inventree_test_report.html:163 msgid "Part image" msgstr "" @@ -4344,16 +4357,16 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:92 order/models.py:910 -#: order/models.py:2010 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:144 stock/models.py:804 -#: stock/models.py:805 stock/serializers.py:1100 +#: company/templates/company/company_base.html:92 order/models.py:941 +#: order/models.py:2059 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:148 stock/models.py:825 +#: stock/models.py:826 stock/serializers.py:1229 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 -#: templates/js/translated/return_order.js:296 -#: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2962 +#: templates/js/translated/return_order.js:295 +#: templates/js/translated/sales_order.js:820 +#: templates/js/translated/stock.js:2959 #: templates/js/translated/table_filters.js:808 msgid "Customer" msgstr "" @@ -4362,10 +4375,10 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:124 order/models.py:341 +#: company/templates/company/company_base.html:124 order/models.py:354 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 -#: order/templates/order/sales_order_base.html:221 +#: order/templates/order/sales_order_base.html:225 msgid "Address" msgstr "" @@ -4374,7 +4387,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:211 -#: part/templates/part/part_base.html:528 +#: part/templates/part/part_base.html:527 msgid "Remove Image" msgstr "" @@ -4383,19 +4396,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:214 -#: part/templates/part/part_base.html:531 +#: part/templates/part/part_base.html:530 #: templates/InvenTree/settings/user.html:88 #: templates/InvenTree/settings/user_sso.html:43 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:243 -#: part/templates/part/part_base.html:560 +#: part/templates/part/part_base.html:559 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:258 -#: part/templates/part/part_base.html:614 +#: part/templates/part/part_base.html:613 msgid "Download Image" msgstr "" @@ -4558,7 +4571,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:821 +#: part/admin.py:122 part/serializers.py:836 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4609,10 +4622,10 @@ msgstr "" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:452 -#: stock/models.py:762 stock/templates/stock/item_base.html:233 +#: stock/models.py:783 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 -#: templates/js/translated/stock.js:2282 +#: templates/js/translated/stock.js:2280 msgid "Supplier Part" msgstr "" @@ -4658,11 +4671,11 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:509 +#: part/bom.py:311 part/serializers.py:524 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1851 -#: templates/js/translated/purchase_order.js:2029 +#: templates/js/translated/purchase_order.js:1850 +#: templates/js/translated/purchase_order.js:2028 msgid "SKU" msgstr "" @@ -4671,12 +4684,12 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:209 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:199 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:206 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:200 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:207 #: templates/js/translated/stock.js:537 msgid "New Stock Item" msgstr "" @@ -4708,16 +4721,16 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:820 part/stocktake.py:223 +#: part/serializers.py:835 part/stocktake.py:223 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:787 stock/serializers.py:951 +#: stock/serializers.py:916 stock/serializers.py:1080 #: stock/templates/stock/location.html:170 -#: stock/templates/stock/location.html:184 -#: stock/templates/stock/location.html:196 +#: stock/templates/stock/location.html:191 +#: stock/templates/stock/location.html:203 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2769 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 #: users/models.py:206 msgid "Stock Items" msgstr "" @@ -4751,126 +4764,48 @@ msgstr "" msgid "New Company" msgstr "" -#: label/api.py:247 -msgid "Error printing label" -msgstr "" - -#: label/models.py:120 -msgid "Label name" -msgstr "" - -#: label/models.py:128 -msgid "Label description" -msgstr "" - -#: label/models.py:136 -msgid "Label" -msgstr "" - -#: label/models.py:137 -msgid "Label template file" -msgstr "" - -#: label/models.py:143 part/models.py:3494 report/models.py:324 -#: templates/js/translated/part.js:2900 -#: templates/js/translated/table_filters.js:481 -msgid "Enabled" -msgstr "" - -#: label/models.py:144 -msgid "Label template is enabled" -msgstr "" - -#: label/models.py:149 -msgid "Width [mm]" -msgstr "" - -#: label/models.py:150 -msgid "Label width, specified in mm" -msgstr "" - -#: label/models.py:156 -msgid "Height [mm]" -msgstr "" - -#: label/models.py:157 -msgid "Label height, specified in mm" -msgstr "" - -#: label/models.py:163 report/models.py:317 -msgid "Filename Pattern" -msgstr "" - -#: label/models.py:164 -msgid "Pattern for generating label filenames" -msgstr "" - -#: label/models.py:313 label/models.py:352 label/models.py:377 -#: label/models.py:412 -msgid "Query filters (comma-separated list of key=value pairs)" -msgstr "" - -#: label/models.py:314 label/models.py:353 label/models.py:378 -#: label/models.py:413 report/models.py:345 report/models.py:496 -#: report/models.py:532 report/models.py:568 report/models.py:750 -msgid "Filters" -msgstr "" - -#: label/templates/label/part/part_label.html:31 -#: label/templates/label/stockitem/qr.html:21 -#: label/templates/label/stocklocation/qr.html:20 -#: templates/allauth_2fa/setup.html:18 -msgid "QR Code" -msgstr "" - -#: label/templates/label/part/part_label_code128.html:31 -#: label/templates/label/stocklocation/qr_and_text.html:31 -#: templates/qr_code.html:7 -msgid "QR code" -msgstr "" - -#: machine/machine_types/label_printer.py:217 +#: machine/machine_types/label_printer.py:218 msgid "Copies" msgstr "" -#: machine/machine_types/label_printer.py:218 +#: machine/machine_types/label_printer.py:219 msgid "Number of copies to print for each label" msgstr "" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:234 msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:234 order/api.py:1515 -#: templates/js/translated/sales_order.js:1042 +#: machine/machine_types/label_printer.py:235 order/api.py:1515 +#: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "" -#: machine/machine_types/label_printer.py:235 +#: machine/machine_types/label_printer.py:236 msgid "Printing" msgstr "" -#: machine/machine_types/label_printer.py:236 +#: machine/machine_types/label_printer.py:237 msgid "No media" msgstr "" -#: machine/machine_types/label_printer.py:237 +#: machine/machine_types/label_printer.py:238 msgid "Disconnected" msgstr "" -#: machine/machine_types/label_printer.py:244 +#: machine/machine_types/label_printer.py:245 msgid "Label Printer" msgstr "" -#: machine/machine_types/label_printer.py:245 +#: machine/machine_types/label_printer.py:246 msgid "Directly print labels for various items." msgstr "" -#: machine/machine_types/label_printer.py:251 +#: machine/machine_types/label_printer.py:252 msgid "Printer Location" msgstr "" -#: machine/machine_types/label_printer.py:252 +#: machine/machine_types/label_printer.py:253 msgid "Scope the printer to a specific location" msgstr "" @@ -4930,19 +4865,19 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:89 -#: report/templates/report/inventree_po_report_base.html:31 -#: report/templates/report/inventree_so_report_base.html:31 +#: order/admin.py:30 order/models.py:90 +#: report/templates/report/inventree_purchase_order_report.html:31 +#: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2126 -#: templates/js/translated/sales_order.js:1847 +#: templates/js/translated/purchase_order.js:2125 +#: templates/js/translated/sales_order.js:1883 msgid "Total Price" msgstr "" #: order/api.py:161 order/serializers.py:91 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 -#: order/templates/order/sales_order_base.html:118 +#: order/templates/order/sales_order_base.html:122 msgid "Order Status" msgstr "" @@ -4955,10 +4890,10 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:437 order/api.py:817 order/models.py:1382 order/models.py:1491 -#: order/models.py:1537 order/models.py:1651 order/models.py:1805 -#: order/models.py:2209 order/models.py:2260 -#: templates/js/translated/sales_order.js:1488 +#: order/api.py:437 order/api.py:817 order/models.py:1422 order/models.py:1531 +#: order/models.py:1577 order/models.py:1691 order/models.py:1845 +#: order/models.py:2258 order/models.py:2309 +#: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" @@ -4970,402 +4905,398 @@ msgstr "" msgid "Order Pending" msgstr "" -#: order/api.py:1509 order/models.py:1383 order/models.py:1492 -#: order/templates/order/order_base.html:9 +#: order/api.py:1509 order/models.py:381 order/models.py:1423 +#: order/models.py:1532 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 -#: report/templates/report/inventree_po_report_base.html:14 -#: stock/templates/stock/item_base.html:176 +#: report/templates/report/inventree_purchase_order_report.html:14 +#: stock/serializers.py:119 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 -#: templates/js/translated/purchase_order.js:1674 -#: templates/js/translated/stock.js:2262 templates/js/translated/stock.js:2910 +#: templates/js/translated/purchase_order.js:1673 +#: templates/js/translated/stock.js:2260 templates/js/translated/stock.js:2907 msgid "Purchase Order" msgstr "" -#: order/api.py:1513 order/models.py:2210 order/models.py:2261 -#: order/templates/order/return_order_base.html:9 +#: order/api.py:1513 order/models.py:2008 order/models.py:2259 +#: order/models.py:2310 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:281 -#: templates/js/translated/stock.js:2944 +#: report/templates/report/inventree_return_order_report.html:13 +#: templates/js/translated/return_order.js:280 +#: templates/js/translated/stock.js:2941 msgid "Return Order" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:96 order/serializers.py:71 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:99 order/serializers.py:72 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:246 +#: order/models.py:248 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:278 +#: order/models.py:291 msgid "Order description (optional)" msgstr "" -#: order/models.py:287 +#: order/models.py:300 msgid "Select project code for this order" msgstr "" -#: order/models.py:291 order/models.py:1288 order/models.py:1704 +#: order/models.py:304 order/models.py:1328 order/models.py:1744 msgid "Link to external page" msgstr "" -#: order/models.py:299 +#: order/models.py:312 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:313 +#: order/models.py:326 msgid "Created By" msgstr "" -#: order/models.py:321 +#: order/models.py:334 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:332 +#: order/models.py:345 msgid "Point of contact for this order" msgstr "" -#: order/models.py:342 +#: order/models.py:355 msgid "Company address for this order" msgstr "" -#: order/models.py:443 order/models.py:899 +#: order/models.py:465 order/models.py:930 msgid "Order reference" msgstr "" -#: order/models.py:451 order/models.py:923 +#: order/models.py:473 order/models.py:954 msgid "Purchase order status" msgstr "" -#: order/models.py:466 +#: order/models.py:488 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:477 order/templates/order/order_base.html:148 -#: templates/js/translated/purchase_order.js:1703 +#: order/models.py:499 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1702 msgid "Supplier Reference" msgstr "" -#: order/models.py:478 +#: order/models.py:500 msgid "Supplier order reference code" msgstr "" -#: order/models.py:487 +#: order/models.py:509 msgid "received by" msgstr "" -#: order/models.py:493 order/models.py:2036 +#: order/models.py:515 order/models.py:2085 msgid "Issue Date" msgstr "" -#: order/models.py:494 order/models.py:2037 +#: order/models.py:516 order/models.py:2086 msgid "Date order was issued" msgstr "" -#: order/models.py:501 order/models.py:2044 +#: order/models.py:523 order/models.py:2093 msgid "Date order was completed" msgstr "" -#: order/models.py:545 +#: order/models.py:567 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:739 +#: order/models.py:761 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:911 +#: order/models.py:942 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:934 order/models.py:2029 +#: order/models.py:965 order/models.py:2078 msgid "Customer Reference " msgstr "" -#: order/models.py:935 order/models.py:2030 +#: order/models.py:966 order/models.py:2079 msgid "Customer order reference code" msgstr "" -#: order/models.py:939 order/models.py:1658 -#: templates/js/translated/sales_order.js:843 -#: templates/js/translated/sales_order.js:1024 +#: order/models.py:970 order/models.py:1698 +#: templates/js/translated/sales_order.js:879 +#: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "" -#: order/models.py:948 +#: order/models.py:979 msgid "shipped by" msgstr "" -#: order/models.py:999 -msgid "Order cannot be completed as no parts have been assigned" -msgstr "" - -#: order/models.py:1004 +#: order/models.py:1029 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1008 templates/js/translated/sales_order.js:506 +#: order/models.py:1033 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1013 +#: order/models.py:1038 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1260 +#: order/models.py:1300 msgid "Item quantity" msgstr "" -#: order/models.py:1277 +#: order/models.py:1317 msgid "Line item reference" msgstr "" -#: order/models.py:1284 +#: order/models.py:1324 msgid "Line item notes" msgstr "" -#: order/models.py:1296 +#: order/models.py:1336 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1317 +#: order/models.py:1357 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1323 +#: order/models.py:1363 msgid "Context" msgstr "" -#: order/models.py:1324 +#: order/models.py:1364 msgid "Additional context for this line" msgstr "" -#: order/models.py:1334 +#: order/models.py:1374 msgid "Unit price" msgstr "" -#: order/models.py:1367 +#: order/models.py:1407 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1374 +#: order/models.py:1414 msgid "deleted" msgstr "" -#: order/models.py:1402 +#: order/models.py:1442 msgid "Supplier part" msgstr "" -#: order/models.py:1409 order/templates/order/order_base.html:196 +#: order/models.py:1449 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 #: templates/js/translated/purchase_order.js:1306 -#: templates/js/translated/purchase_order.js:2170 -#: templates/js/translated/return_order.js:764 +#: templates/js/translated/purchase_order.js:2169 +#: templates/js/translated/return_order.js:763 #: templates/js/translated/table_filters.js:120 #: templates/js/translated/table_filters.js:602 msgid "Received" msgstr "" -#: order/models.py:1410 +#: order/models.py:1450 msgid "Number of items received" msgstr "" -#: order/models.py:1418 stock/models.py:923 stock/serializers.py:400 +#: order/models.py:1458 stock/models.py:944 stock/serializers.py:529 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2313 +#: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "" -#: order/models.py:1419 +#: order/models.py:1459 msgid "Unit purchase price" msgstr "" -#: order/models.py:1434 +#: order/models.py:1474 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1525 +#: order/models.py:1565 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1530 +#: order/models.py:1570 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1556 part/templates/part/part_pricing.html:107 +#: order/models.py:1596 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1557 +#: order/models.py:1597 msgid "Unit sale price" msgstr "" -#: order/models.py:1567 +#: order/models.py:1607 msgid "Shipped quantity" msgstr "" -#: order/models.py:1659 +#: order/models.py:1699 msgid "Date of shipment" msgstr "" -#: order/models.py:1665 templates/js/translated/sales_order.js:1036 +#: order/models.py:1705 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1666 +#: order/models.py:1706 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1674 +#: order/models.py:1714 msgid "Checked By" msgstr "" -#: order/models.py:1675 +#: order/models.py:1715 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1682 order/models.py:1895 order/serializers.py:1354 -#: order/serializers.py:1464 templates/js/translated/model_renderers.js:448 +#: order/models.py:1722 order/models.py:1935 order/serializers.py:1354 +#: order/serializers.py:1464 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" -#: order/models.py:1683 +#: order/models.py:1723 msgid "Shipment number" msgstr "" -#: order/models.py:1691 +#: order/models.py:1731 msgid "Tracking Number" msgstr "" -#: order/models.py:1692 +#: order/models.py:1732 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1699 +#: order/models.py:1739 msgid "Invoice Number" msgstr "" -#: order/models.py:1700 +#: order/models.py:1740 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1720 +#: order/models.py:1760 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1723 +#: order/models.py:1763 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1841 order/models.py:1843 +#: order/models.py:1881 order/models.py:1883 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1850 +#: order/models.py:1890 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1853 +#: order/models.py:1893 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1856 +#: order/models.py:1896 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1875 order/serializers.py:1231 +#: order/models.py:1915 order/serializers.py:1231 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1878 +#: order/models.py:1918 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1879 plugin/base/barcodes/api.py:481 +#: order/models.py:1919 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1887 +#: order/models.py:1927 msgid "Line" msgstr "" -#: order/models.py:1896 +#: order/models.py:1936 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1909 order/models.py:2217 -#: templates/js/translated/return_order.js:722 +#: order/models.py:1949 order/models.py:2266 +#: templates/js/translated/return_order.js:721 msgid "Item" msgstr "" -#: order/models.py:1910 +#: order/models.py:1950 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1919 +#: order/models.py:1959 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1999 +#: order/models.py:2048 msgid "Return Order reference" msgstr "" -#: order/models.py:2011 +#: order/models.py:2060 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2023 +#: order/models.py:2072 msgid "Return order status" msgstr "" -#: order/models.py:2202 +#: order/models.py:2251 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2218 +#: order/models.py:2267 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2224 +#: order/models.py:2273 msgid "Received Date" msgstr "" -#: order/models.py:2225 +#: order/models.py:2274 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2236 templates/js/translated/return_order.js:733 +#: order/models.py:2285 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2237 +#: order/models.py:2286 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2244 +#: order/models.py:2293 msgid "Cost associated with return or repair for this line item" msgstr "" #: order/serializers.py:80 order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 -#: report/templates/report/inventree_po_report_base.html:22 -#: report/templates/report/inventree_return_order_report_base.html:19 -#: report/templates/report/inventree_so_report_base.html:22 +#: report/templates/report/inventree_purchase_order_report.html:22 +#: report/templates/report/inventree_return_order_report.html:19 +#: report/templates/report/inventree_sales_order_report.html:22 msgid "Line Items" msgstr "" @@ -5595,7 +5526,7 @@ msgstr "" #: order/templates/order/order_base.html:84 #: order/templates/order/return_order_base.html:87 -#: order/templates/order/sales_order_base.html:93 +#: order/templates/order/sales_order_base.html:97 msgid "Complete Order" msgstr "" @@ -5605,13 +5536,13 @@ msgstr "" #: order/templates/order/order_base.html:106 #: order/templates/order/return_order_base.html:101 -#: order/templates/order/sales_order_base.html:106 +#: order/templates/order/sales_order_base.html:110 msgid "Order Reference" msgstr "" #: order/templates/order/order_base.html:111 #: order/templates/order/return_order_base.html:106 -#: order/templates/order/sales_order_base.html:111 +#: order/templates/order/sales_order_base.html:115 msgid "Order Description" msgstr "" @@ -5620,19 +5551,19 @@ msgid "No suppplier information available" msgstr "" #: order/templates/order/order_base.html:154 -#: order/templates/order/sales_order_base.html:157 +#: order/templates/order/sales_order_base.html:161 msgid "Completed Line Items" msgstr "" #: order/templates/order/order_base.html:160 -#: order/templates/order/sales_order_base.html:163 -#: order/templates/order/sales_order_base.html:173 +#: order/templates/order/sales_order_base.html:167 +#: order/templates/order/sales_order_base.html:177 msgid "Incomplete" msgstr "" #: order/templates/order/order_base.html:179 #: order/templates/order/return_order_base.html:157 -#: report/templates/report/inventree_build_order_base.html:121 +#: report/templates/report/inventree_build_order_report.html:121 msgid "Issued" msgstr "" @@ -5642,15 +5573,15 @@ msgstr "" #: order/templates/order/order_base.html:228 #: order/templates/order/return_order_base.html:199 -#: order/templates/order/sales_order_base.html:239 +#: order/templates/order/sales_order_base.html:243 msgid "Total cost could not be calculated" msgstr "" -#: order/templates/order/order_base.html:318 +#: order/templates/order/order_base.html:314 msgid "Purchase Order QR Code" msgstr "" -#: order/templates/order/order_base.html:330 +#: order/templates/order/order_base.html:326 msgid "Link Barcode to Purchase Order" msgstr "" @@ -5707,8 +5638,8 @@ msgstr "" #: templates/js/translated/build.js:1629 #: templates/js/translated/purchase_order.js:696 #: templates/js/translated/purchase_order.js:1236 -#: templates/js/translated/return_order.js:506 -#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/return_order.js:505 +#: templates/js/translated/sales_order.js:1145 #: templates/js/translated/stock.js:714 templates/js/translated/stock.js:883 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -5762,7 +5693,7 @@ msgstr "" #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 #: templates/js/translated/purchase_order.js:414 -#: templates/js/translated/return_order.js:459 +#: templates/js/translated/return_order.js:458 #: templates/js/translated/sales_order.js:237 msgid "Add Line Item" msgstr "" @@ -5811,30 +5742,30 @@ msgid "Print packing list" msgstr "" #: order/templates/order/return_order_base.html:138 -#: order/templates/order/sales_order_base.html:151 -#: templates/js/translated/return_order.js:309 -#: templates/js/translated/sales_order.js:797 +#: order/templates/order/sales_order_base.html:155 +#: templates/js/translated/return_order.js:308 +#: templates/js/translated/sales_order.js:833 msgid "Customer Reference" msgstr "" #: order/templates/order/return_order_base.html:195 -#: order/templates/order/sales_order_base.html:235 +#: order/templates/order/sales_order_base.html:239 #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1072 -#: templates/js/translated/purchase_order.js:1753 -#: templates/js/translated/return_order.js:381 -#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/purchase_order.js:1752 +#: templates/js/translated/return_order.js:380 +#: templates/js/translated/sales_order.js:891 msgid "Total Cost" msgstr "" -#: order/templates/order/return_order_base.html:263 +#: order/templates/order/return_order_base.html:259 msgid "Return Order QR Code" msgstr "" -#: order/templates/order/return_order_base.html:275 +#: order/templates/order/return_order_base.html:271 msgid "Link Barcode to Return Order" msgstr "" @@ -5852,25 +5783,30 @@ msgid "Ship Items" msgstr "" #: order/templates/order/sales_order_base.html:92 -#: templates/js/translated/sales_order.js:484 +#: order/templates/order/sales_order_base.html:93 +msgid "Mark As Shipped" +msgstr "" + +#: order/templates/order/sales_order_base.html:96 +#: templates/js/translated/sales_order.js:536 msgid "Complete Sales Order" msgstr "" -#: order/templates/order/sales_order_base.html:131 +#: order/templates/order/sales_order_base.html:135 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:169 +#: order/templates/order/sales_order_base.html:173 #: order/templates/order/sales_order_detail.html:99 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "" -#: order/templates/order/sales_order_base.html:312 +#: order/templates/order/sales_order_base.html:321 msgid "Sales Order QR Code" msgstr "" -#: order/templates/order/sales_order_base.html:324 +#: order/templates/order/sales_order_base.html:333 msgid "Link Barcode to Sales Order" msgstr "" @@ -5914,12 +5850,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:404 part/models.py:3921 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:406 part/models.py:3964 part/stocktake.py:218 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:411 part/models.py:3922 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:413 part/models.py:3965 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -5928,20 +5864,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:904 part/templates/part/part_base.html:269 -#: report/templates/report/inventree_slr_report.html:103 -#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2341 -#: templates/js/translated/stock.js:2038 +#: part/admin.py:48 part/models.py:947 part/templates/part/part_base.html:269 +#: report/templates/report/inventree_stock_location_report.html:103 +#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 +#: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:913 part/templates/part/part_base.html:277 -#: report/models.py:195 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2347 +#: part/admin.py:50 part/models.py:956 part/templates/part/part_base.html:277 +#: report/models.py:161 templates/js/translated/part.js:1231 +#: templates/js/translated/part.js:2346 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:317 part/models.py:886 +#: part/admin.py:53 part/admin.py:319 part/models.py:929 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5950,15 +5886,15 @@ msgstr "" msgid "Part Image" msgstr "" -#: part/admin.py:63 part/admin.py:300 part/stocktake.py:221 +#: part/admin.py:63 part/admin.py:302 part/stocktake.py:221 msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:302 part/stocktake.py:222 +#: part/admin.py:67 part/admin.py:304 part/stocktake.py:222 msgid "Category Name" msgstr "" -#: part/admin.py:71 part/admin.py:314 +#: part/admin.py:71 part/admin.py:316 msgid "Default Location ID" msgstr "" @@ -5966,11 +5902,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:872 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:915 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1000 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1043 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5983,160 +5919,164 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3080 part/models.py:3094 +#: part/admin.py:155 part/models.py:3123 part/models.py:3137 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3087 part/models.py:3101 +#: part/admin.py:158 part/models.py:3130 part/models.py:3144 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" -#: part/admin.py:306 part/admin.py:393 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:211 msgid "Parent ID" msgstr "" -#: part/admin.py:310 part/admin.py:400 stock/admin.py:62 +#: part/admin.py:312 part/admin.py:402 stock/admin.py:62 msgid "Parent Name" msgstr "" -#: part/admin.py:318 part/templates/part/category.html:88 +#: part/admin.py:320 part/templates/part/category.html:88 #: part/templates/part/category.html:101 msgid "Category Path" msgstr "" -#: part/admin.py:323 part/models.py:391 part/serializers.py:117 +#: part/admin.py:325 part/models.py:393 part/serializers.py:117 #: part/serializers.py:272 part/serializers.py:391 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2803 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "" -#: part/admin.py:384 +#: part/admin.py:386 msgid "BOM Level" msgstr "" -#: part/admin.py:387 +#: part/admin.py:389 msgid "BOM Item ID" msgstr "" -#: part/admin.py:397 +#: part/admin.py:399 msgid "Parent IPN" msgstr "" -#: part/admin.py:408 part/models.py:3923 +#: part/admin.py:410 part/models.py:3966 msgid "Part IPN" msgstr "" -#: part/admin.py:421 part/serializers.py:1261 +#: part/admin.py:423 part/serializers.py:1276 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:426 part/serializers.py:1276 +#: part/admin.py:428 part/serializers.py:1291 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:119 +#: part/api.py:112 msgid "Starred" msgstr "" -#: part/api.py:121 +#: part/api.py:114 msgid "Filter by starred categories" msgstr "" -#: part/api.py:138 stock/api.py:284 +#: part/api.py:131 stock/api.py:318 msgid "Depth" msgstr "" -#: part/api.py:138 +#: part/api.py:131 msgid "Filter by category depth" msgstr "" -#: part/api.py:156 stock/api.py:302 +#: part/api.py:149 stock/api.py:336 msgid "Cascade" msgstr "" -#: part/api.py:158 +#: part/api.py:151 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:178 +#: part/api.py:171 msgid "Parent" msgstr "" -#: part/api.py:180 +#: part/api.py:173 msgid "Filter by parent category" msgstr "" -#: part/api.py:213 +#: part/api.py:206 msgid "Exclude Tree" msgstr "" -#: part/api.py:215 +#: part/api.py:208 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:461 +#: part/api.py:455 msgid "Has Results" msgstr "" -#: part/api.py:628 +#: part/api.py:622 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:646 +#: part/api.py:640 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:662 +#: part/api.py:656 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:746 +#: part/api.py:740 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:893 +#: part/api.py:887 msgid "Valid" msgstr "" -#: part/api.py:894 +#: part/api.py:888 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:900 +#: part/api.py:894 msgid "This option must be selected" msgstr "" -#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866 -#: part/serializers.py:406 part/serializers.py:1117 -#: part/templates/part/part_base.html:260 stock/api.py:745 +#: part/api.py:1111 +msgid "BOM Valid" +msgstr "" + +#: part/api.py:1515 part/models.py:939 part/models.py:3429 part/models.py:3909 +#: part/serializers.py:406 part/serializers.py:1132 +#: part/templates/part/part_base.html:260 stock/api.py:779 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2377 +#: templates/js/translated/part.js:2376 msgid "Category" msgstr "" -#: part/api.py:1849 +#: part/api.py:1803 msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:101 part/models.py:939 +#: part/bom.py:170 part/models.py:102 part/models.py:982 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:822 +#: part/bom.py:171 part/serializers.py:837 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6145,698 +6085,712 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:82 part/models.py:3867 part/templates/part/category.html:16 +#: part/models.py:83 part/models.py:3910 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:83 part/templates/part/category.html:136 +#: part/models.py:84 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "" -#: part/models.py:102 +#: part/models.py:103 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:107 stock/models.py:165 templates/js/translated/part.js:2810 -#: templates/js/translated/stock.js:2775 +#: part/models.py:108 stock/models.py:177 templates/js/translated/part.js:2809 +#: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "" -#: part/models.py:109 +#: part/models.py:110 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:118 +#: part/models.py:119 msgid "Default keywords" msgstr "" -#: part/models.py:119 +#: part/models.py:120 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:125 stock/models.py:89 stock/models.py:148 +#: part/models.py:126 stock/models.py:89 stock/models.py:160 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:126 stock/models.py:149 +#: part/models.py:127 stock/models.py:161 msgid "Icon (optional)" msgstr "" -#: part/models.py:148 +#: part/models.py:149 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:484 +#: part/models.py:482 +msgid "Cannot delete this part as it is still active" +msgstr "" + +#: part/models.py:489 +msgid "Cannot delete this part as it is used in an assembly" +msgstr "" + +#: part/models.py:527 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:532 part/models.py:539 +#: part/models.py:575 part/models.py:582 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:551 +#: part/models.py:594 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:616 +#: part/models.py:659 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:696 +#: part/models.py:739 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:801 +#: part/models.py:844 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:811 +#: part/models.py:854 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:826 +#: part/models.py:869 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:855 part/models.py:3922 +#: part/models.py:898 part/models.py:3965 msgid "Part name" msgstr "" -#: part/models.py:860 +#: part/models.py:903 msgid "Is Template" msgstr "" -#: part/models.py:861 +#: part/models.py:904 msgid "Is this part a template part?" msgstr "" -#: part/models.py:871 +#: part/models.py:914 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:879 +#: part/models.py:922 msgid "Part description (optional)" msgstr "" -#: part/models.py:887 +#: part/models.py:930 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:897 +#: part/models.py:940 msgid "Part category" msgstr "" -#: part/models.py:905 +#: part/models.py:948 msgid "Internal Part Number" msgstr "" -#: part/models.py:912 +#: part/models.py:955 msgid "Part revision or version number" msgstr "" -#: part/models.py:937 +#: part/models.py:980 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:983 part/templates/part/part_base.html:376 +#: part/models.py:1026 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:984 +#: part/models.py:1027 msgid "Default supplier part" msgstr "" -#: part/models.py:991 +#: part/models.py:1034 msgid "Default Expiry" msgstr "" -#: part/models.py:992 +#: part/models.py:1035 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1001 +#: part/models.py:1044 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1010 +#: part/models.py:1053 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1017 +#: part/models.py:1060 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1023 +#: part/models.py:1066 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1029 +#: part/models.py:1072 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1035 +#: part/models.py:1078 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1041 +#: part/models.py:1084 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1045 +#: part/models.py:1088 msgid "Is this part active?" msgstr "" -#: part/models.py:1051 +#: part/models.py:1094 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1057 +#: part/models.py:1100 msgid "BOM checksum" msgstr "" -#: part/models.py:1058 +#: part/models.py:1101 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1066 +#: part/models.py:1109 msgid "BOM checked by" msgstr "" -#: part/models.py:1071 +#: part/models.py:1114 msgid "BOM checked date" msgstr "" -#: part/models.py:1087 +#: part/models.py:1130 msgid "Creation User" msgstr "" -#: part/models.py:1097 +#: part/models.py:1140 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1102 part/templates/part/part_base.html:339 +#: part/models.py:1145 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 -#: templates/js/translated/part.js:2471 +#: templates/js/translated/part.js:2470 msgid "Last Stocktake" msgstr "" -#: part/models.py:1975 +#: part/models.py:2018 msgid "Sell multiple" msgstr "" -#: part/models.py:2994 +#: part/models.py:3037 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3010 +#: part/models.py:3053 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3011 +#: part/models.py:3054 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3017 +#: part/models.py:3060 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3018 +#: part/models.py:3061 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3024 +#: part/models.py:3067 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3025 +#: part/models.py:3068 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3031 +#: part/models.py:3074 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3032 +#: part/models.py:3075 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3038 +#: part/models.py:3081 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3039 +#: part/models.py:3082 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3045 +#: part/models.py:3088 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3046 +#: part/models.py:3089 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3052 +#: part/models.py:3095 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3053 +#: part/models.py:3096 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3059 +#: part/models.py:3102 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3060 +#: part/models.py:3103 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3066 +#: part/models.py:3109 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3067 +#: part/models.py:3110 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3073 +#: part/models.py:3116 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3074 +#: part/models.py:3117 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3081 +#: part/models.py:3124 msgid "Override minimum cost" msgstr "" -#: part/models.py:3088 +#: part/models.py:3131 msgid "Override maximum cost" msgstr "" -#: part/models.py:3095 +#: part/models.py:3138 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3102 +#: part/models.py:3145 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3108 +#: part/models.py:3151 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3109 +#: part/models.py:3152 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3115 +#: part/models.py:3158 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3116 +#: part/models.py:3159 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3122 +#: part/models.py:3165 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3123 +#: part/models.py:3166 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3129 +#: part/models.py:3172 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3130 +#: part/models.py:3173 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3149 +#: part/models.py:3192 msgid "Part for stocktake" msgstr "" -#: part/models.py:3154 +#: part/models.py:3197 msgid "Item Count" msgstr "" -#: part/models.py:3155 +#: part/models.py:3198 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3163 +#: part/models.py:3206 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3167 part/models.py:3250 +#: part/models.py:3210 part/models.py:3293 #: part/templates/part/part_scheduling.html:13 -#: report/templates/report/inventree_test_report_base.html:106 +#: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 #: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 -#: templates/js/translated/purchase_order.js:1732 -#: templates/js/translated/stock.js:2824 +#: templates/js/translated/purchase_order.js:1731 +#: templates/js/translated/stock.js:2821 msgid "Date" msgstr "" -#: part/models.py:3168 +#: part/models.py:3211 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3176 +#: part/models.py:3219 msgid "Additional notes" msgstr "" -#: part/models.py:3186 +#: part/models.py:3229 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3192 +#: part/models.py:3235 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3193 +#: part/models.py:3236 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3199 +#: part/models.py:3242 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3200 +#: part/models.py:3243 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3256 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3299 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3257 +#: part/models.py:3300 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3262 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3305 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3263 +#: part/models.py:3306 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3273 +#: part/models.py:3316 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3435 +#: part/models.py:3478 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3446 +#: part/models.py:3489 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3457 +#: part/models.py:3500 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3474 templates/js/translated/part.js:2879 +#: part/models.py:3517 templates/js/translated/part.js:2878 msgid "Test Name" msgstr "" -#: part/models.py:3475 +#: part/models.py:3518 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3481 +#: part/models.py:3524 msgid "Test Key" msgstr "" -#: part/models.py:3482 +#: part/models.py:3525 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3489 +#: part/models.py:3532 msgid "Test Description" msgstr "" -#: part/models.py:3490 +#: part/models.py:3533 msgid "Enter description for this test" msgstr "" -#: part/models.py:3494 +#: part/models.py:3537 report/models.py:208 +#: templates/js/translated/part.js:2899 +#: templates/js/translated/table_filters.js:481 +msgid "Enabled" +msgstr "" + +#: part/models.py:3537 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3499 templates/js/translated/part.js:2908 +#: part/models.py:3542 templates/js/translated/part.js:2907 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3500 +#: part/models.py:3543 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3505 templates/js/translated/part.js:2916 +#: part/models.py:3548 templates/js/translated/part.js:2915 msgid "Requires Value" msgstr "" -#: part/models.py:3506 +#: part/models.py:3549 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3511 templates/js/translated/part.js:2923 +#: part/models.py:3554 templates/js/translated/part.js:2922 msgid "Requires Attachment" msgstr "" -#: part/models.py:3513 +#: part/models.py:3556 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3560 +#: part/models.py:3603 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3565 +#: part/models.py:3608 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3585 +#: part/models.py:3628 msgid "Choices must be unique" msgstr "" -#: part/models.py:3602 +#: part/models.py:3645 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3617 +#: part/models.py:3660 msgid "Parameter Name" msgstr "" -#: part/models.py:3624 +#: part/models.py:3667 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3632 +#: part/models.py:3675 msgid "Parameter description" msgstr "" -#: part/models.py:3638 templates/js/translated/part.js:1627 +#: part/models.py:3681 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3639 +#: part/models.py:3682 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3644 templates/js/translated/part.js:1636 +#: part/models.py:3687 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3645 +#: part/models.py:3688 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3722 +#: part/models.py:3765 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3765 +#: part/models.py:3808 msgid "Parent Part" msgstr "" -#: part/models.py:3773 part/models.py:3874 part/models.py:3875 +#: part/models.py:3816 part/models.py:3917 part/models.py:3918 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3778 +#: part/models.py:3821 msgid "Data" msgstr "" -#: part/models.py:3779 +#: part/models.py:3822 msgid "Parameter Value" msgstr "" -#: part/models.py:3881 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3924 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3882 +#: part/models.py:3925 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3920 +#: part/models.py:3963 msgid "Part ID or part name" msgstr "" -#: part/models.py:3921 +#: part/models.py:3964 msgid "Unique part ID value" msgstr "" -#: part/models.py:3923 +#: part/models.py:3966 msgid "Part IPN value" msgstr "" -#: part/models.py:3924 +#: part/models.py:3967 msgid "Level" msgstr "" -#: part/models.py:3924 +#: part/models.py:3967 msgid "BOM level" msgstr "" -#: part/models.py:4014 +#: part/models.py:4057 msgid "Select parent part" msgstr "" -#: part/models.py:4024 +#: part/models.py:4067 msgid "Sub part" msgstr "" -#: part/models.py:4025 +#: part/models.py:4068 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4036 +#: part/models.py:4079 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4042 +#: part/models.py:4085 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4048 +#: part/models.py:4091 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4055 part/templates/part/upload_bom.html:55 +#: part/models.py:4098 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4056 +#: part/models.py:4099 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4063 +#: part/models.py:4106 msgid "BOM item reference" msgstr "" -#: part/models.py:4071 +#: part/models.py:4114 msgid "BOM item notes" msgstr "" -#: part/models.py:4077 +#: part/models.py:4120 msgid "Checksum" msgstr "" -#: part/models.py:4078 +#: part/models.py:4121 msgid "BOM line checksum" msgstr "" -#: part/models.py:4083 templates/js/translated/table_filters.js:174 +#: part/models.py:4126 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4084 +#: part/models.py:4127 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4089 part/templates/part/upload_bom.html:57 +#: part/models.py:4132 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4090 +#: part/models.py:4133 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4095 part/templates/part/upload_bom.html:56 +#: part/models.py:4138 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4096 +#: part/models.py:4139 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4181 stock/models.py:647 +#: part/models.py:4224 stock/models.py:668 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4191 part/models.py:4193 +#: part/models.py:4234 part/models.py:4236 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4333 +#: part/models.py:4376 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4354 +#: part/models.py:4397 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4367 +#: part/models.py:4410 msgid "Parent BOM item" msgstr "" -#: part/models.py:4375 +#: part/models.py:4418 msgid "Substitute part" msgstr "" -#: part/models.py:4391 +#: part/models.py:4434 msgid "Part 1" msgstr "" -#: part/models.py:4399 +#: part/models.py:4442 msgid "Part 2" msgstr "" -#: part/models.py:4400 +#: part/models.py:4443 msgid "Select Related Part" msgstr "" -#: part/models.py:4419 +#: part/models.py:4462 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4424 +#: part/models.py:4467 msgid "Duplicate relationship already exists" msgstr "" @@ -6854,7 +6808,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:406 +#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:535 msgid "Purchase currency of this stock item" msgstr "" @@ -6870,299 +6824,299 @@ msgstr "" msgid "Select category" msgstr "" -#: part/serializers.py:437 +#: part/serializers.py:442 msgid "Original Part" msgstr "" -#: part/serializers.py:438 +#: part/serializers.py:443 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:448 msgid "Copy Image" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:449 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:450 part/templates/part/detail.html:277 +#: part/serializers.py:455 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:451 +#: part/serializers.py:456 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:462 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:458 +#: part/serializers.py:463 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:464 +#: part/serializers.py:469 msgid "Copy Notes" msgstr "" -#: part/serializers.py:465 +#: part/serializers.py:470 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:478 +#: part/serializers.py:488 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:490 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:487 +#: part/serializers.py:497 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:488 +#: part/serializers.py:498 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:500 +#: part/serializers.py:515 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:531 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:526 +#: part/serializers.py:541 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:533 +#: part/serializers.py:548 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:542 +#: part/serializers.py:557 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:553 +#: part/serializers.py:568 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:560 +#: part/serializers.py:575 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:823 +#: part/serializers.py:838 msgid "External Stock" msgstr "" -#: part/serializers.py:825 +#: part/serializers.py:840 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:828 +#: part/serializers.py:843 msgid "Variant Stock" msgstr "" -#: part/serializers.py:856 part/templates/part/copy_part.html:9 +#: part/serializers.py:871 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:857 +#: part/serializers.py:872 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:863 templates/js/translated/part.js:102 +#: part/serializers.py:878 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:864 +#: part/serializers.py:879 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:870 +#: part/serializers.py:885 msgid "Supplier Information" msgstr "" -#: part/serializers.py:871 +#: part/serializers.py:886 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:879 +#: part/serializers.py:894 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:880 +#: part/serializers.py:895 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:885 +#: part/serializers.py:900 msgid "Existing Image" msgstr "" -#: part/serializers.py:886 +#: part/serializers.py:901 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:918 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1109 +#: part/serializers.py:1124 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1119 +#: part/serializers.py:1134 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1129 +#: part/serializers.py:1144 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1135 +#: part/serializers.py:1150 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1136 +#: part/serializers.py:1151 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1141 +#: part/serializers.py:1156 msgid "Generate Report" msgstr "" -#: part/serializers.py:1142 +#: part/serializers.py:1157 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1147 +#: part/serializers.py:1162 msgid "Update Parts" msgstr "" -#: part/serializers.py:1148 +#: part/serializers.py:1163 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1156 +#: part/serializers.py:1171 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1262 +#: part/serializers.py:1277 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1269 +#: part/serializers.py:1284 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1277 +#: part/serializers.py:1292 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1284 +#: part/serializers.py:1299 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1313 +#: part/serializers.py:1328 msgid "Update" msgstr "" -#: part/serializers.py:1314 +#: part/serializers.py:1329 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1337 +#: part/serializers.py:1352 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1344 +#: part/serializers.py:1359 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1347 +#: part/serializers.py:1362 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1714 +#: part/serializers.py:1729 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1722 +#: part/serializers.py:1737 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1723 +#: part/serializers.py:1738 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1728 +#: part/serializers.py:1743 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1729 +#: part/serializers.py:1744 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1734 +#: part/serializers.py:1749 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1735 +#: part/serializers.py:1750 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1755 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1756 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1775 +#: part/serializers.py:1790 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1776 +#: part/serializers.py:1791 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1806 +#: part/serializers.py:1821 msgid "No part column specified" msgstr "" -#: part/serializers.py:1850 +#: part/serializers.py:1865 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1853 +#: part/serializers.py:1868 msgid "No matching part found" msgstr "" -#: part/serializers.py:1856 +#: part/serializers.py:1871 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1865 +#: part/serializers.py:1880 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1888 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1894 +#: part/serializers.py:1909 msgid "At least one BOM item is required" msgstr "" #: part/stocktake.py:224 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:2085 +#: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" @@ -7314,7 +7268,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2218 users/models.py:204 +#: templates/js/translated/stock.js:2216 users/models.py:204 msgid "Stocktake" msgstr "" @@ -7412,15 +7366,15 @@ msgstr "" msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:659 +#: part/templates/part/detail.html:655 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:667 +#: part/templates/part/detail.html:663 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:752 +#: part/templates/part/detail.html:748 msgid "Add Test Result Template" msgstr "" @@ -7479,7 +7433,7 @@ msgstr "" #: part/templates/part/part_base.html:52 #: stock/templates/stock/item_base.html:62 -#: stock/templates/stock/location.html:74 +#: stock/templates/stock/location.html:74 templates/js/translated/label.js:142 msgid "Print Label" msgstr "" @@ -7501,7 +7455,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2293 +#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2292 msgid "Part actions" msgstr "" @@ -7550,7 +7504,7 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:163 -#: part/templates/part/part_base.html:682 +#: part/templates/part/part_base.html:681 msgid "Show Part Details" msgstr "" @@ -7573,7 +7527,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2444 +#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2443 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7596,19 +7550,19 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:512 +#: part/templates/part/part_base.html:511 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:529 +#: part/templates/part/part_base.html:528 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:580 +#: part/templates/part/part_base.html:579 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:676 +#: part/templates/part/part_base.html:675 msgid "Hide Part Details" msgstr "" @@ -7667,8 +7621,8 @@ msgstr "" #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 -#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 -#: templates/js/translated/stock.js:2072 templates/navbar.html:31 +#: templates/js/translated/part.js:2391 templates/js/translated/stock.js:1059 +#: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7714,7 +7668,7 @@ msgstr "" #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 -#: templates/js/translated/stock.js:2248 +#: templates/js/translated/stock.js:2246 msgid "Last Updated" msgstr "" @@ -7786,7 +7740,7 @@ msgid "Update Pricing" msgstr "" #: part/templates/part/stock_count.html:7 -#: templates/js/translated/model_renderers.js:221 +#: templates/js/translated/model_renderers.js:227 #: templates/js/translated/part.js:704 templates/js/translated/part.js:2140 #: templates/js/translated/part.js:2142 msgid "No Stock" @@ -7866,7 +7820,7 @@ msgstr "" msgid "Part Pricing" msgstr "" -#: plugin/api.py:168 +#: plugin/api.py:170 msgid "Plugin cannot be deleted as it is currently active" msgstr "" @@ -7933,7 +7887,7 @@ msgid "Stock item does not match line item" msgstr "" #: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2589 -#: templates/js/translated/sales_order.js:1917 +#: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "" @@ -8027,22 +7981,18 @@ msgstr "" msgid "Quantity to allocate" msgstr "" -#: plugin/base/label/label.py:39 +#: plugin/base/label/label.py:39 templates/js/translated/label.js:154 msgid "Label printing failed" msgstr "" -#: plugin/base/label/mixins.py:63 +#: plugin/base/label/mixins.py:56 msgid "Error rendering label to PDF" msgstr "" -#: plugin/base/label/mixins.py:76 +#: plugin/base/label/mixins.py:70 msgid "Error rendering label to HTML" msgstr "" -#: plugin/base/label/mixins.py:111 -msgid "Error rendering label to PNG" -msgstr "" - #: plugin/builtin/barcodes/inventree_barcode.py:25 msgid "InvenTree Barcodes" msgstr "" @@ -8054,7 +8004,7 @@ msgstr "" #: plugin/builtin/barcodes/inventree_barcode.py:28 #: plugin/builtin/integration/core_notifications.py:35 #: plugin/builtin/integration/currency_exchange.py:21 -#: plugin/builtin/labels/inventree_label.py:23 +#: plugin/builtin/labels/inventree_label.py:22 #: plugin/builtin/labels/inventree_machine.py:64 #: plugin/builtin/labels/label_sheet.py:63 #: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 @@ -8108,19 +8058,19 @@ msgstr "" msgid "Default currency exchange integration" msgstr "" -#: plugin/builtin/labels/inventree_label.py:20 +#: plugin/builtin/labels/inventree_label.py:19 msgid "InvenTree PDF label printer" msgstr "" -#: plugin/builtin/labels/inventree_label.py:21 +#: plugin/builtin/labels/inventree_label.py:20 msgid "Provides native support for printing PDF labels" msgstr "" -#: plugin/builtin/labels/inventree_label.py:29 +#: plugin/builtin/labels/inventree_label.py:28 msgid "Debug mode" msgstr "" -#: plugin/builtin/labels/inventree_label.py:30 +#: plugin/builtin/labels/inventree_label.py:29 msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "" @@ -8132,11 +8082,11 @@ msgstr "" msgid "Provides support for printing using a machine" msgstr "" -#: plugin/builtin/labels/inventree_machine.py:150 +#: plugin/builtin/labels/inventree_machine.py:151 msgid "last used" msgstr "" -#: plugin/builtin/labels/inventree_machine.py:167 +#: plugin/builtin/labels/inventree_machine.py:168 msgid "Options" msgstr "" @@ -8160,7 +8110,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:47 report/models.py:209 +#: plugin/builtin/labels/label_sheet.py:47 report/models.py:308 msgid "Landscape" msgstr "" @@ -8176,11 +8126,11 @@ msgstr "" msgid "Arrays multiple labels onto a single sheet" msgstr "" -#: plugin/builtin/labels/label_sheet.py:94 +#: plugin/builtin/labels/label_sheet.py:99 msgid "Label is too large for page size" msgstr "" -#: plugin/builtin/labels/label_sheet.py:128 +#: plugin/builtin/labels/label_sheet.py:133 msgid "No labels were generated" msgstr "" @@ -8273,61 +8223,62 @@ msgstr "" msgid "Uninstalled plugin successfully" msgstr "" -#: plugin/models.py:30 +#: plugin/models.py:35 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:31 +#: plugin/models.py:36 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:34 users/models.py:100 +#: plugin/models.py:42 users/models.py:100 msgid "Key" msgstr "" -#: plugin/models.py:34 +#: plugin/models.py:43 msgid "Key of plugin" msgstr "" -#: plugin/models.py:42 +#: plugin/models.py:51 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:49 plugin/serializers.py:90 +#: plugin/models.py:58 plugin/serializers.py:90 msgid "Package Name" msgstr "" -#: plugin/models.py:51 +#: plugin/models.py:60 msgid "Name of the installed package, if the plugin was installed via PIP" msgstr "" -#: plugin/models.py:56 +#: plugin/models.py:65 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:147 templates/js/translated/table_filters.js:370 +#: plugin/models.py:156 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "" -#: plugin/models.py:156 +#: plugin/models.py:165 msgid "Sample plugin" msgstr "" -#: plugin/models.py:164 +#: plugin/models.py:173 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:172 +#: plugin/models.py:181 msgid "Package Plugin" msgstr "" -#: plugin/models.py:196 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:205 report/models.py:475 +#: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" msgstr "" -#: plugin/models.py:243 +#: plugin/models.py:252 msgid "Method" msgstr "" @@ -8468,239 +8419,323 @@ msgstr "" msgid "Delete the plugin configuration from the database" msgstr "" -#: report/api.py:158 +#: report/api.py:77 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:197 report/api.py:234 +#: report/api.py:89 report/serializers.py:53 +msgid "Model Type" +msgstr "" + +#: report/api.py:92 report/models.py:439 report/serializers.py:98 +#: report/serializers.py:148 templates/js/translated/purchase_order.js:1747 +#: templates/js/translated/return_order.js:353 +#: templates/js/translated/sales_order.js:887 +#: templates/js/translated/sales_order.js:1047 +msgid "Items" +msgstr "" + +#: report/api.py:168 +msgid "Plugin not found" +msgstr "" + +#: report/api.py:170 +msgid "Plugin is not active" +msgstr "" + +#: report/api.py:172 +msgid "Plugin does not support label printing" +msgstr "" + +#: report/api.py:221 +msgid "Invalid label dimensions" +msgstr "" + +#: report/api.py:236 report/api.py:316 +msgid "No valid items provided to template" +msgstr "" + +#: report/api.py:271 +msgid "Error printing label" +msgstr "" + +#: report/api.py:362 report/api.py:398 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:319 -msgid "Test report" -msgstr "" - -#: report/helpers.py:15 +#: report/helpers.py:41 msgid "A4" msgstr "" -#: report/helpers.py:16 +#: report/helpers.py:42 msgid "A3" msgstr "" -#: report/helpers.py:17 +#: report/helpers.py:43 msgid "Legal" msgstr "" -#: report/helpers.py:18 +#: report/helpers.py:44 msgid "Letter" msgstr "" -#: report/models.py:177 +#: report/models.py:118 +msgid "Template file with this name already exists" +msgstr "" + +#: report/models.py:150 msgid "Template name" msgstr "" -#: report/models.py:183 -msgid "Report template file" +#: report/models.py:156 +msgid "Template description" msgstr "" -#: report/models.py:190 -msgid "Report template description" +#: report/models.py:162 +msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:196 -msgid "Report revision number (auto-increments)" +#: report/models.py:202 +msgid "Filename Pattern" msgstr "" -#: report/models.py:204 +#: report/models.py:203 +msgid "Pattern for generating filenames" +msgstr "" + +#: report/models.py:208 +msgid "Template is enabled" +msgstr "" + +#: report/models.py:214 +msgid "Target model type for template" +msgstr "" + +#: report/models.py:234 +msgid "Filters" +msgstr "" + +#: report/models.py:235 +msgid "Template query filters (comma-separated list of key=value pairs)" +msgstr "" + +#: report/models.py:295 report/models.py:362 +msgid "Template file" +msgstr "" + +#: report/models.py:303 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:210 +#: report/models.py:309 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:318 -msgid "Pattern for generating report filenames" +#: report/models.py:368 +msgid "Width [mm]" msgstr "" -#: report/models.py:325 -msgid "Report template is enabled" +#: report/models.py:369 +msgid "Label width, specified in mm" msgstr "" -#: report/models.py:347 -msgid "StockItem query filters (comma-separated list of key=value pairs)" +#: report/models.py:375 +msgid "Height [mm]" msgstr "" -#: report/models.py:354 -msgid "Include Installed Tests" +#: report/models.py:376 +msgid "Label height, specified in mm" msgstr "" -#: report/models.py:356 -msgid "Include test results for stock items installed inside assembled item" +#: report/models.py:439 +msgid "Number of items to process" msgstr "" -#: report/models.py:424 -msgid "Build Filters" +#: report/models.py:445 +msgid "Report generation is complete" msgstr "" -#: report/models.py:425 -msgid "Build query filters (comma-separated list of key=value pairs" +#: report/models.py:449 templates/js/translated/build.js:2177 +msgid "Progress" msgstr "" -#: report/models.py:464 -msgid "Part Filters" +#: report/models.py:449 +msgid "Report generation progress" msgstr "" -#: report/models.py:465 -msgid "Part query filters (comma-separated list of key=value pairs" +#: report/models.py:457 +msgid "Report Template" msgstr "" -#: report/models.py:497 -msgid "Purchase order query filters" +#: report/models.py:464 report/models.py:487 +msgid "Output File" msgstr "" -#: report/models.py:533 -msgid "Sales order query filters" +#: report/models.py:465 report/models.py:488 +msgid "Generated output file" msgstr "" -#: report/models.py:569 -msgid "Return order query filters" +#: report/models.py:476 +msgid "Label output plugin" msgstr "" -#: report/models.py:641 -msgid "Snippet file with this name already exists" +#: report/models.py:480 +msgid "Label Template" msgstr "" -#: report/models.py:648 +#: report/models.py:503 msgid "Snippet" msgstr "" -#: report/models.py:649 +#: report/models.py:504 msgid "Report snippet file" msgstr "" -#: report/models.py:656 +#: report/models.py:511 msgid "Snippet file description" msgstr "" -#: report/models.py:714 -msgid "Asset file with this name already exists" -msgstr "" - -#: report/models.py:722 +#: report/models.py:529 msgid "Asset" msgstr "" -#: report/models.py:723 +#: report/models.py:530 msgid "Report asset file" msgstr "" -#: report/models.py:730 +#: report/models.py:537 msgid "Asset file description" msgstr "" -#: report/models.py:752 -msgid "stock location query filters (comma-separated list of key=value pairs)" +#: report/serializers.py:91 +msgid "Select report template" +msgstr "" + +#: report/serializers.py:99 report/serializers.py:149 +msgid "List of item primary keys to include in the report" +msgstr "" + +#: report/serializers.py:132 +msgid "Select label template" +msgstr "" + +#: report/serializers.py:140 +msgid "Printing Plugin" +msgstr "" + +#: report/serializers.py:141 +msgid "Select plugin to use for label printing" +msgstr "" + +#: report/templates/label/part_label.html:31 +#: report/templates/label/stockitem_qr.html:21 +#: report/templates/label/stocklocation_qr.html:20 +#: templates/allauth_2fa/setup.html:18 +msgid "QR Code" +msgstr "" + +#: report/templates/label/part_label_code128.html:31 +#: report/templates/label/stocklocation_qr_and_text.html:31 +#: templates/qr_code.html:7 +msgid "QR code" msgstr "" #: report/templates/report/inventree_bill_of_materials_report.html:133 msgid "Materials needed" msgstr "" -#: report/templates/report/inventree_build_order_base.html:146 +#: report/templates/report/inventree_build_order_report.html:146 msgid "Required For" msgstr "" -#: report/templates/report/inventree_po_report_base.html:15 +#: report/templates/report/inventree_purchase_order_report.html:15 msgid "Supplier was deleted" msgstr "" -#: report/templates/report/inventree_po_report_base.html:30 -#: report/templates/report/inventree_so_report_base.html:30 +#: report/templates/report/inventree_purchase_order_report.html:30 +#: report/templates/report/inventree_sales_order_report.html:30 #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:834 -#: templates/js/translated/purchase_order.js:2116 -#: templates/js/translated/sales_order.js:1837 +#: templates/js/translated/purchase_order.js:2115 +#: templates/js/translated/sales_order.js:1873 msgid "Unit Price" msgstr "" -#: report/templates/report/inventree_po_report_base.html:55 -#: report/templates/report/inventree_return_order_report_base.html:48 -#: report/templates/report/inventree_so_report_base.html:55 +#: report/templates/report/inventree_purchase_order_report.html:55 +#: report/templates/report/inventree_return_order_report.html:48 +#: report/templates/report/inventree_sales_order_report.html:55 msgid "Extra Line Items" 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:2018 -#: templates/js/translated/sales_order.js:1806 +#: report/templates/report/inventree_purchase_order_report.html:72 +#: report/templates/report/inventree_sales_order_report.html:72 +#: templates/js/translated/purchase_order.js:2017 +#: templates/js/translated/sales_order.js:1842 msgid "Total" msgstr "" -#: report/templates/report/inventree_return_order_report_base.html:25 -#: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:809 stock/templates/stock/item_base.html:311 +#: report/templates/report/inventree_return_order_report.html:25 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:830 +#: stock/serializers.py:150 stock/templates/stock/item_base.html:311 #: templates/js/translated/build.js:519 templates/js/translated/build.js:1367 #: templates/js/translated/build.js:2355 -#: templates/js/translated/model_renderers.js:224 -#: templates/js/translated/return_order.js:540 -#: templates/js/translated/return_order.js:724 +#: templates/js/translated/model_renderers.js:230 +#: templates/js/translated/return_order.js:539 +#: templates/js/translated/return_order.js:723 #: templates/js/translated/sales_order.js:315 -#: templates/js/translated/sales_order.js:1611 -#: templates/js/translated/sales_order.js:1696 +#: templates/js/translated/sales_order.js:1647 +#: templates/js/translated/sales_order.js:1732 #: templates/js/translated/stock.js:596 msgid "Serial Number" msgstr "" -#: report/templates/report/inventree_slr_report.html:97 +#: report/templates/report/inventree_stock_location_report.html:97 msgid "Stock location items" msgstr "" -#: report/templates/report/inventree_test_report_base.html:21 +#: report/templates/report/inventree_test_report.html:21 msgid "Stock Item Test Report" msgstr "" -#: report/templates/report/inventree_test_report_base.html:97 +#: report/templates/report/inventree_test_report.html:97 msgid "Test Results" msgstr "" -#: report/templates/report/inventree_test_report_base.html:102 +#: report/templates/report/inventree_test_report.html:102 #: templates/js/translated/stock.js:1495 msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2442 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2419 msgid "Result" msgstr "" -#: report/templates/report/inventree_test_report_base.html:130 +#: report/templates/report/inventree_test_report.html:130 msgid "Pass" msgstr "" -#: report/templates/report/inventree_test_report_base.html:132 +#: report/templates/report/inventree_test_report.html:132 msgid "Fail" msgstr "" -#: report/templates/report/inventree_test_report_base.html:139 +#: report/templates/report/inventree_test_report.html:139 msgid "No result (required)" msgstr "" -#: report/templates/report/inventree_test_report_base.html:141 +#: report/templates/report/inventree_test_report.html:141 msgid "No result" msgstr "" -#: report/templates/report/inventree_test_report_base.html:154 +#: report/templates/report/inventree_test_report.html:154 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report_base.html:168 -#: stock/admin.py:162 templates/js/translated/stock.js:700 -#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3113 +#: report/templates/report/inventree_test_report.html:168 stock/admin.py:162 +#: templates/js/translated/stock.js:700 templates/js/translated/stock.js:871 +#: templates/js/translated/stock.js:3110 msgid "Serial" msgstr "" @@ -8757,7 +8792,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:201 stock/models.py:789 +#: stock/admin.py:201 stock/models.py:810 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" @@ -8782,66 +8817,66 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:256 stock/models.py:883 +#: stock/admin.py:256 stock/models.py:904 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2232 users/models.py:124 +#: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" msgstr "" -#: stock/api.py:284 +#: stock/api.py:318 msgid "Filter by location depth" msgstr "" -#: stock/api.py:304 +#: stock/api.py:338 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:325 +#: stock/api.py:359 msgid "Parent Location" msgstr "" -#: stock/api.py:326 +#: stock/api.py:360 msgid "Filter by parent location" msgstr "" -#: stock/api.py:579 templates/js/translated/table_filters.js:427 +#: stock/api.py:613 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:767 +#: stock/api.py:801 msgid "Part Tree" msgstr "" -#: stock/api.py:797 +#: stock/api.py:831 msgid "Expiry date before" msgstr "" -#: stock/api.py:801 +#: stock/api.py:835 msgid "Expiry date after" msgstr "" -#: stock/api.py:804 stock/templates/stock/item_base.html:439 +#: stock/api.py:838 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:891 +#: stock/api.py:925 msgid "Quantity is required" msgstr "" -#: stock/api.py:897 +#: stock/api.py:931 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:928 +#: stock/api.py:962 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:938 +#: stock/api.py:972 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:969 +#: stock/api.py:1003 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8857,477 +8892,517 @@ msgstr "" msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:125 stock/models.py:771 +#: stock/models.py:127 stock/models.py:792 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:126 stock/templates/stock/location.html:179 +#: stock/models.py:128 stock/templates/stock/location.html:186 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "" -#: stock/models.py:158 stock/models.py:932 +#: stock/models.py:170 stock/models.py:953 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:159 stock/models.py:933 +#: stock/models.py:171 stock/models.py:954 msgid "Select Owner" msgstr "" -#: stock/models.py:167 +#: stock/models.py:179 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:174 templates/js/translated/stock.js:2784 +#: stock/models.py:186 templates/js/translated/stock.js:2781 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "" -#: stock/models.py:175 +#: stock/models.py:187 msgid "This is an external stock location" msgstr "" -#: stock/models.py:181 templates/js/translated/stock.js:2793 +#: stock/models.py:193 templates/js/translated/stock.js:2790 #: templates/js/translated/table_filters.js:246 msgid "Location type" msgstr "" -#: stock/models.py:185 +#: stock/models.py:197 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:254 +#: stock/models.py:266 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:626 +#: stock/models.py:647 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:653 stock/serializers.py:290 +#: stock/models.py:674 stock/serializers.py:419 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:670 +#: stock/models.py:691 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:680 stock/models.py:693 +#: stock/models.py:701 stock/models.py:714 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:683 +#: stock/models.py:704 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:707 +#: stock/models.py:728 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:712 +#: stock/models.py:733 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:725 +#: stock/models.py:746 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:741 +#: stock/models.py:762 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:753 +#: stock/models.py:774 msgid "Base part" msgstr "" -#: stock/models.py:763 +#: stock/models.py:784 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:775 +#: stock/models.py:796 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:783 stock/serializers.py:1351 +#: stock/models.py:804 stock/serializers.py:1480 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:794 +#: stock/models.py:815 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:813 +#: stock/models.py:834 msgid "Serial number for this item" msgstr "" -#: stock/models.py:827 stock/serializers.py:1334 +#: stock/models.py:848 stock/serializers.py:1463 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:832 +#: stock/models.py:853 msgid "Stock Quantity" msgstr "" -#: stock/models.py:842 +#: stock/models.py:863 msgid "Source Build" msgstr "" -#: stock/models.py:845 +#: stock/models.py:866 msgid "Build for this stock item" msgstr "" -#: stock/models.py:852 stock/templates/stock/item_base.html:363 +#: stock/models.py:873 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:855 +#: stock/models.py:876 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:864 +#: stock/models.py:885 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:868 +#: stock/models.py:889 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:874 +#: stock/models.py:895 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:885 +#: stock/models.py:906 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:903 +#: stock/models.py:924 msgid "Delete on deplete" msgstr "" -#: stock/models.py:904 +#: stock/models.py:925 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:924 +#: stock/models.py:945 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:955 +#: stock/models.py:976 msgid "Converted to part" msgstr "" -#: stock/models.py:1473 +#: stock/models.py:1494 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1479 +#: stock/models.py:1500 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1487 +#: stock/models.py:1508 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1493 +#: stock/models.py:1514 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1498 +#: stock/models.py:1519 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1506 stock/serializers.py:529 +#: stock/models.py:1527 stock/serializers.py:658 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1603 +#: stock/models.py:1624 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1621 +#: stock/models.py:1642 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1625 +#: stock/models.py:1646 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1628 +#: stock/models.py:1649 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1631 +#: stock/models.py:1652 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1634 +#: stock/models.py:1655 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1637 +#: stock/models.py:1658 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1644 stock/serializers.py:1240 +#: stock/models.py:1665 stock/serializers.py:1369 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1648 +#: stock/models.py:1669 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1656 +#: stock/models.py:1677 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1661 +#: stock/models.py:1682 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1882 +#: stock/models.py:1903 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2345 +#: stock/models.py:2322 msgid "Entry notes" msgstr "" -#: stock/models.py:2410 +#: stock/models.py:2387 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2415 +#: stock/models.py:2392 msgid "Attachment must be uploaded for this test" msgstr "Lampiran perlu diunggah untuk tes ini" -#: stock/models.py:2442 +#: stock/models.py:2419 msgid "Test result" msgstr "" -#: stock/models.py:2449 +#: stock/models.py:2426 msgid "Test output value" msgstr "" -#: stock/models.py:2457 +#: stock/models.py:2434 msgid "Test result attachment" msgstr "" -#: stock/models.py:2461 +#: stock/models.py:2438 msgid "Test notes" msgstr "" -#: stock/models.py:2469 templates/js/translated/stock.js:1548 +#: stock/models.py:2446 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "" -#: stock/models.py:2470 +#: stock/models.py:2447 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2476 +#: stock/models.py:2453 msgid "Started" msgstr "" -#: stock/models.py:2477 +#: stock/models.py:2454 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2483 +#: stock/models.py:2460 msgid "Finished" msgstr "" -#: stock/models.py:2484 +#: stock/models.py:2461 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:100 +#: stock/serializers.py:75 +msgid "Generated batch code" +msgstr "" + +#: stock/serializers.py:84 +msgid "Select build order" +msgstr "" + +#: stock/serializers.py:93 +msgid "Select stock item to generate batch code for" +msgstr "" + +#: stock/serializers.py:102 +msgid "Select location to generate batch code for" +msgstr "" + +#: stock/serializers.py:111 +msgid "Select part to generate batch code for" +msgstr "" + +#: stock/serializers.py:120 +msgid "Select purchase order" +msgstr "" + +#: stock/serializers.py:127 +msgid "Enter quantity for batch code" +msgstr "" + +#: stock/serializers.py:150 +msgid "Generated serial number" +msgstr "" + +#: stock/serializers.py:159 +msgid "Select part to generate serial number for" +msgstr "" + +#: stock/serializers.py:167 +msgid "Quantity of serial numbers to generate" +msgstr "" + +#: stock/serializers.py:229 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:119 +#: stock/serializers.py:248 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:151 +#: stock/serializers.py:280 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:184 +#: stock/serializers.py:313 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:282 +#: stock/serializers.py:411 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:402 +#: stock/serializers.py:531 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:464 +#: stock/serializers.py:593 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:477 +#: stock/serializers.py:606 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:484 +#: stock/serializers.py:613 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:495 stock/serializers.py:1197 stock/serializers.py:1453 +#: stock/serializers.py:624 stock/serializers.py:1326 stock/serializers.py:1582 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:502 +#: stock/serializers.py:631 msgid "Optional note field" msgstr "" -#: stock/serializers.py:512 +#: stock/serializers.py:641 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:567 +#: stock/serializers.py:696 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:574 +#: stock/serializers.py:703 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:575 +#: stock/serializers.py:704 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:580 stock/serializers.py:660 stock/serializers.py:756 -#: stock/serializers.py:806 +#: stock/serializers.py:709 stock/serializers.py:789 stock/serializers.py:885 +#: stock/serializers.py:935 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:588 +#: stock/serializers.py:717 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:596 +#: stock/serializers.py:725 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:607 +#: stock/serializers.py:736 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:620 +#: stock/serializers.py:749 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:655 +#: stock/serializers.py:784 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:690 +#: stock/serializers.py:819 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:703 +#: stock/serializers.py:832 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:720 +#: stock/serializers.py:849 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:751 +#: stock/serializers.py:880 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:788 +#: stock/serializers.py:917 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:794 +#: stock/serializers.py:923 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:890 stock/serializers.py:953 +#: stock/serializers.py:1019 stock/serializers.py:1082 #: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:213 +#: stock/templates/stock/location.html:220 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1069 +#: stock/serializers.py:1198 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1073 +#: stock/serializers.py:1202 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1077 +#: stock/serializers.py:1206 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1101 +#: stock/serializers.py:1230 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1107 +#: stock/serializers.py:1236 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1115 +#: stock/serializers.py:1244 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1125 stock/serializers.py:1379 +#: stock/serializers.py:1254 stock/serializers.py:1508 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1204 +#: stock/serializers.py:1333 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1209 +#: stock/serializers.py:1338 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1210 +#: stock/serializers.py:1339 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1215 +#: stock/serializers.py:1344 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1216 +#: stock/serializers.py:1345 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1226 +#: stock/serializers.py:1355 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1293 +#: stock/serializers.py:1422 msgid "No Change" msgstr "" -#: stock/serializers.py:1322 +#: stock/serializers.py:1451 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1341 +#: stock/serializers.py:1470 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1369 +#: stock/serializers.py:1498 msgid "Stock transaction notes" msgstr "" @@ -9352,7 +9427,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:286 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:282 msgid "Delete Test Data" msgstr "" @@ -9368,15 +9443,15 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3274 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3271 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:274 +#: stock/templates/stock/item.html:270 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:304 templates/js/translated/stock.js:1701 +#: stock/templates/stock/item.html:300 templates/js/translated/stock.js:1701 msgid "Add Test Result" msgstr "" @@ -9561,40 +9636,40 @@ msgstr "" msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:507 -#: templates/js/translated/stock.js:1954 +#: stock/templates/stock/item_base.html:504 +#: templates/js/translated/stock.js:1952 msgid "stock item" msgstr "" -#: stock/templates/stock/item_base.html:532 +#: stock/templates/stock/item_base.html:527 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:541 +#: stock/templates/stock/item_base.html:536 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:552 +#: stock/templates/stock/item_base.html:547 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:616 +#: stock/templates/stock/item_base.html:611 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:619 +#: stock/templates/stock/item_base.html:614 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:620 +#: stock/templates/stock/item_base.html:615 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:628 +#: stock/templates/stock/item_base.html:623 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:662 +#: stock/templates/stock/item_base.html:657 msgid "Return to Stock" msgstr "" @@ -9658,28 +9733,32 @@ msgstr "" msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:217 +#: stock/templates/stock/location.html:176 +msgid "Location Type" +msgstr "" + +#: stock/templates/stock/location.html:224 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:218 +#: stock/templates/stock/location.html:225 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:287 -#: templates/js/translated/stock.js:2575 +#: stock/templates/stock/location.html:295 +#: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:315 +#: stock/templates/stock/location.html:317 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:388 +#: stock/templates/stock/location.html:390 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:399 +#: stock/templates/stock/location.html:401 msgid "Link Barcode to Stock Location" msgstr "" @@ -9949,11 +10028,11 @@ msgstr "" msgid "Part Settings" msgstr "" -#: templates/InvenTree/settings/part.html:42 +#: templates/InvenTree/settings/part.html:43 msgid "Part Import" msgstr "" -#: templates/InvenTree/settings/part.html:46 +#: templates/InvenTree/settings/part.html:47 msgid "Import Part" msgstr "" @@ -10174,7 +10253,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:424 +#: templates/js/translated/stock.js:245 users/models.py:411 msgid "Delete" msgstr "" @@ -10283,7 +10362,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2159 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2163 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" @@ -10874,7 +10953,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3218 +#: templates/js/translated/part.js:3217 msgid "Minimum Quantity" msgstr "" @@ -11254,7 +11333,7 @@ msgid "External stock" msgstr "" #: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2595 -#: templates/js/translated/sales_order.js:1910 +#: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" @@ -11264,7 +11343,7 @@ msgstr "" #: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 #: templates/js/translated/part.js:1256 -#: templates/js/translated/sales_order.js:1907 +#: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" @@ -11519,17 +11598,17 @@ msgstr "" #: templates/js/translated/build.js:1576 #: templates/js/translated/purchase_order.js:611 -#: templates/js/translated/sales_order.js:1171 +#: templates/js/translated/sales_order.js:1207 msgid "Select Parts" msgstr "" #: templates/js/translated/build.js:1577 -#: templates/js/translated/sales_order.js:1172 +#: templates/js/translated/sales_order.js:1208 msgid "You must select at least one part to allocate" msgstr "" #: templates/js/translated/build.js:1640 -#: templates/js/translated/sales_order.js:1121 +#: templates/js/translated/sales_order.js:1157 msgid "Specify stock allocation quantity" msgstr "" @@ -11542,7 +11621,7 @@ msgid "All selected parts have been fully allocated" msgstr "" #: templates/js/translated/build.js:1732 -#: templates/js/translated/sales_order.js:1186 +#: templates/js/translated/sales_order.js:1222 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -11551,12 +11630,12 @@ msgid "Allocate Stock Items to Build Order" msgstr "" #: templates/js/translated/build.js:1771 -#: templates/js/translated/sales_order.js:1283 +#: templates/js/translated/sales_order.js:1319 msgid "No matching stock locations" msgstr "" #: templates/js/translated/build.js:1844 -#: templates/js/translated/sales_order.js:1362 +#: templates/js/translated/sales_order.js:1398 msgid "No matching stock items" msgstr "" @@ -11589,9 +11668,9 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 -#: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 -#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 -#: templates/js/translated/stock.js:1985 templates/js/translated/stock.js:2713 +#: templates/js/translated/forms.js:2159 templates/js/translated/forms.js:2175 +#: templates/js/translated/part.js:2315 templates/js/translated/part.js:2741 +#: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "" @@ -11599,21 +11678,17 @@ msgstr "" msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2177 -msgid "Progress" -msgstr "" - -#: templates/js/translated/build.js:2213 templates/js/translated/stock.js:3045 +#: templates/js/translated/build.js:2213 templates/js/translated/stock.js:3042 msgid "No user information" msgstr "" #: templates/js/translated/build.js:2389 -#: templates/js/translated/sales_order.js:1646 +#: templates/js/translated/sales_order.js:1682 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:2390 -#: templates/js/translated/sales_order.js:1647 +#: templates/js/translated/sales_order.js:1683 msgid "Delete stock allocation" msgstr "" @@ -11647,7 +11722,7 @@ msgid "Unit Quantity" msgstr "" #: templates/js/translated/build.js:2591 -#: templates/js/translated/sales_order.js:1915 +#: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" @@ -11664,7 +11739,7 @@ msgid "Allocate tracked items against individual build outputs" msgstr "" #: templates/js/translated/build.js:2662 -#: templates/js/translated/sales_order.js:2016 +#: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "" @@ -11673,7 +11748,7 @@ msgid "Order stock" msgstr "" #: templates/js/translated/build.js:2671 -#: templates/js/translated/sales_order.js:2010 +#: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "" @@ -11923,12 +11998,12 @@ msgid "Delete price break" msgstr "" #: templates/js/translated/filters.js:186 -#: templates/js/translated/filters.js:672 +#: templates/js/translated/filters.js:667 msgid "true" msgstr "" #: templates/js/translated/filters.js:190 -#: templates/js/translated/filters.js:673 +#: templates/js/translated/filters.js:668 msgid "false" msgstr "" @@ -11960,7 +12035,7 @@ msgstr "" msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:582 +#: templates/js/translated/filters.js:577 msgid "Create filter" msgstr "" @@ -11993,32 +12068,32 @@ msgstr "" msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1473 templates/modals.html:19 +#: templates/js/translated/forms.js:1477 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1971 +#: templates/js/translated/forms.js:1975 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2275 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2279 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2489 +#: templates/js/translated/forms.js:2493 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3091 +#: templates/js/translated/forms.js:3095 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3091 +#: templates/js/translated/forms.js:3095 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3103 +#: templates/js/translated/forms.js:3107 msgid "Select Columns" msgstr "" @@ -12042,51 +12117,15 @@ msgstr "" msgid "No parts required for builds" msgstr "" -#: templates/js/translated/label.js:53 templates/js/translated/report.js:123 +#: templates/js/translated/label.js:55 templates/js/translated/report.js:38 msgid "Select Items" msgstr "" -#: templates/js/translated/label.js:54 +#: templates/js/translated/label.js:56 templates/js/translated/report.js:39 msgid "No items selected for printing" msgstr "" -#: templates/js/translated/label.js:72 -msgid "No Labels Found" -msgstr "" - -#: templates/js/translated/label.js:73 -msgid "No label templates found which match the selected items" -msgstr "" - -#: templates/js/translated/label.js:97 -msgid "selected" -msgstr "" - -#: templates/js/translated/label.js:133 -msgid "Printing Options" -msgstr "" - -#: templates/js/translated/label.js:148 -msgid "Print label" -msgstr "" - -#: templates/js/translated/label.js:148 -msgid "Print labels" -msgstr "" - #: templates/js/translated/label.js:149 -msgid "Print" -msgstr "" - -#: templates/js/translated/label.js:155 -msgid "Select label template" -msgstr "" - -#: templates/js/translated/label.js:168 -msgid "Select plugin" -msgstr "" - -#: templates/js/translated/label.js:187 msgid "Labels sent to printer" msgstr "" @@ -12204,7 +12243,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1991 +#: templates/js/translated/purchase_order.js:1990 msgid "No line items found" msgstr "" @@ -12442,19 +12481,19 @@ msgid "Delete Part Parameter Template" msgstr "" #: templates/js/translated/part.js:1716 -#: templates/js/translated/purchase_order.js:1655 +#: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1860 -#: templates/js/translated/purchase_order.js:2154 -#: templates/js/translated/return_order.js:756 -#: templates/js/translated/sales_order.js:1875 +#: templates/js/translated/purchase_order.js:2153 +#: templates/js/translated/return_order.js:755 +#: templates/js/translated/sales_order.js:1911 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1906 -#: templates/js/translated/purchase_order.js:2221 +#: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "" @@ -12466,7 +12505,7 @@ msgstr "" msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2506 +#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2505 msgid "No parts found" msgstr "" @@ -12482,101 +12521,101 @@ msgstr "" msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2286 msgid "part" msgstr "" -#: templates/js/translated/part.js:2288 +#: templates/js/translated/part.js:2287 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2384 +#: templates/js/translated/part.js:2383 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 -#: templates/js/translated/stock.js:2672 +#: templates/js/translated/part.js:2530 templates/js/translated/part.js:2660 +#: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2547 +#: templates/js/translated/part.js:2546 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2645 +#: templates/js/translated/part.js:2644 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2692 +#: templates/js/translated/part.js:2680 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2761 +#: templates/js/translated/part.js:2760 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2777 +#: templates/js/translated/part.js:2776 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2864 +#: templates/js/translated/part.js:2863 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2886 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2885 templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2935 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2941 +#: templates/js/translated/part.js:2940 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2957 +#: templates/js/translated/part.js:2956 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2971 +#: templates/js/translated/part.js:2970 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3050 templates/js/translated/part.js:3051 +#: templates/js/translated/part.js:3049 templates/js/translated/part.js:3050 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3053 +#: templates/js/translated/part.js:3052 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3059 +#: templates/js/translated/part.js:3058 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3109 +#: templates/js/translated/part.js:3108 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3115 +#: templates/js/translated/part.js:3114 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3211 +#: templates/js/translated/part.js:3210 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3227 +#: templates/js/translated/part.js:3226 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3272 +#: templates/js/translated/part.js:3271 msgid "Minimum Stock Level" msgstr "" @@ -12702,7 +12741,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:448 #: templates/js/translated/return_order.js:210 -#: templates/js/translated/sales_order.js:500 +#: templates/js/translated/sales_order.js:552 msgid "Mark this order as complete?" msgstr "" @@ -12715,7 +12754,6 @@ msgid "This order has line items which have not been marked as received." msgstr "" #: templates/js/translated/purchase_order.js:460 -#: templates/js/translated/sales_order.js:514 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" @@ -12773,12 +12811,12 @@ msgid "No matching purchase orders" msgstr "" #: templates/js/translated/purchase_order.js:1073 -#: templates/js/translated/return_order.js:491 +#: templates/js/translated/return_order.js:490 msgid "Select Line Items" msgstr "" #: templates/js/translated/purchase_order.js:1074 -#: templates/js/translated/return_order.js:492 +#: templates/js/translated/return_order.js:491 msgid "At least one line item must be selected" msgstr "" @@ -12827,7 +12865,7 @@ msgid "Quantity to Receive" msgstr "" #: templates/js/translated/purchase_order.js:1333 -#: templates/js/translated/return_order.js:561 +#: templates/js/translated/return_order.js:560 msgid "Confirm receipt of items" msgstr "" @@ -12847,81 +12885,66 @@ msgstr "" msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1682 -#: templates/js/translated/return_order.js:286 -#: templates/js/translated/sales_order.js:774 -#: templates/js/translated/sales_order.js:998 +#: templates/js/translated/purchase_order.js:1681 +#: templates/js/translated/return_order.js:285 +#: templates/js/translated/sales_order.js:810 +#: templates/js/translated/sales_order.js:1034 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1748 -#: templates/js/translated/return_order.js:354 -#: templates/js/translated/sales_order.js:851 -#: templates/js/translated/sales_order.js:1011 -msgid "Items" -msgstr "" - -#: templates/js/translated/purchase_order.js:1844 +#: templates/js/translated/purchase_order.js:1843 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1862 +#: templates/js/translated/purchase_order.js:1861 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1917 -#: templates/js/translated/sales_order.js:2070 +#: templates/js/translated/purchase_order.js:1916 +#: templates/js/translated/sales_order.js:2106 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1932 -#: templates/js/translated/return_order.js:476 -#: templates/js/translated/return_order.js:669 -#: templates/js/translated/sales_order.js:2083 +#: templates/js/translated/purchase_order.js:1931 +#: templates/js/translated/return_order.js:475 +#: templates/js/translated/return_order.js:668 +#: templates/js/translated/sales_order.js:2119 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1943 -#: templates/js/translated/return_order.js:682 -#: templates/js/translated/sales_order.js:2094 +#: templates/js/translated/purchase_order.js:1942 +#: templates/js/translated/return_order.js:681 +#: templates/js/translated/sales_order.js:2130 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2225 -#: templates/js/translated/sales_order.js:2024 +#: templates/js/translated/purchase_order.js:2224 +#: templates/js/translated/sales_order.js:2060 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2226 -#: templates/js/translated/return_order.js:801 -#: templates/js/translated/sales_order.js:2025 +#: templates/js/translated/purchase_order.js:2225 +#: templates/js/translated/return_order.js:800 +#: templates/js/translated/sales_order.js:2061 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2227 -#: templates/js/translated/return_order.js:805 -#: templates/js/translated/sales_order.js:2031 +#: templates/js/translated/purchase_order.js:2226 +#: templates/js/translated/return_order.js:804 +#: templates/js/translated/sales_order.js:2067 msgid "Delete line item" msgstr "" -#: templates/js/translated/report.js:63 -msgid "items selected" +#: templates/js/translated/report.js:49 +msgid "Print Report" msgstr "" -#: templates/js/translated/report.js:71 -msgid "Select Report Template" +#: templates/js/translated/report.js:68 +msgid "Report print successful" msgstr "" -#: templates/js/translated/report.js:86 -msgid "Select Test Report Template" -msgstr "" - -#: templates/js/translated/report.js:140 -msgid "No Reports Found" -msgstr "" - -#: templates/js/translated/report.js:141 -msgid "No report templates found which match the selected items" +#: templates/js/translated/report.js:73 +msgid "Report printing failed" msgstr "" #: templates/js/translated/return_order.js:60 @@ -12953,25 +12976,25 @@ msgstr "" msgid "Complete Return Order" msgstr "" -#: templates/js/translated/return_order.js:266 +#: templates/js/translated/return_order.js:265 msgid "No return orders found" msgstr "" -#: templates/js/translated/return_order.js:300 -#: templates/js/translated/sales_order.js:788 +#: templates/js/translated/return_order.js:299 +#: templates/js/translated/sales_order.js:824 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/return_order.js:562 +#: templates/js/translated/return_order.js:561 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:693 -#: templates/js/translated/sales_order.js:2231 +#: templates/js/translated/return_order.js:692 +#: templates/js/translated/sales_order.js:2267 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:798 +#: templates/js/translated/return_order.js:797 msgid "Mark item as received" msgstr "" @@ -13015,140 +13038,156 @@ msgstr "" msgid "Skip" msgstr "" +#: templates/js/translated/sales_order.js:484 +msgid "Ship Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:500 +msgid "Ship this order?" +msgstr "" + +#: templates/js/translated/sales_order.js:506 +msgid "Order cannot be shipped as there are incomplete shipments" +msgstr "" + #: templates/js/translated/sales_order.js:513 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/sales_order.js:535 +#: templates/js/translated/sales_order.js:514 +msgid "Shipping this order means that the order and line items will no longer be editable." +msgstr "" + +#: templates/js/translated/sales_order.js:572 msgid "Issue this Sales Order?" msgstr "" -#: templates/js/translated/sales_order.js:540 +#: templates/js/translated/sales_order.js:577 msgid "Issue Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:559 +#: templates/js/translated/sales_order.js:596 msgid "Cancel Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:564 +#: templates/js/translated/sales_order.js:601 msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: templates/js/translated/sales_order.js:618 +#: templates/js/translated/sales_order.js:655 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/sales_order.js:728 +#: templates/js/translated/sales_order.js:764 msgid "No sales orders found" msgstr "" -#: templates/js/translated/sales_order.js:908 +#: templates/js/translated/sales_order.js:944 msgid "Edit shipment" msgstr "" -#: templates/js/translated/sales_order.js:911 +#: templates/js/translated/sales_order.js:947 msgid "Complete shipment" msgstr "" -#: templates/js/translated/sales_order.js:916 +#: templates/js/translated/sales_order.js:952 msgid "Delete shipment" msgstr "" -#: templates/js/translated/sales_order.js:933 +#: templates/js/translated/sales_order.js:969 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/sales_order.js:948 +#: templates/js/translated/sales_order.js:984 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:981 +#: templates/js/translated/sales_order.js:1017 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/sales_order.js:1006 +#: templates/js/translated/sales_order.js:1042 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/sales_order.js:1030 -#: templates/js/translated/sales_order.js:1529 +#: templates/js/translated/sales_order.js:1066 +#: templates/js/translated/sales_order.js:1565 msgid "Not shipped" msgstr "" -#: templates/js/translated/sales_order.js:1048 +#: templates/js/translated/sales_order.js:1084 msgid "Tracking" msgstr "" -#: templates/js/translated/sales_order.js:1052 +#: templates/js/translated/sales_order.js:1088 msgid "Invoice" msgstr "" -#: templates/js/translated/sales_order.js:1219 +#: templates/js/translated/sales_order.js:1255 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1270 +#: templates/js/translated/sales_order.js:1306 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/sales_order.js:1271 +#: templates/js/translated/sales_order.js:1307 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1477 +#: templates/js/translated/sales_order.js:1513 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1569 +#: templates/js/translated/sales_order.js:1605 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1583 +#: templates/js/translated/sales_order.js:1619 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/sales_order.js:1584 +#: templates/js/translated/sales_order.js:1620 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1623 -#: templates/js/translated/sales_order.js:1710 +#: templates/js/translated/sales_order.js:1659 +#: templates/js/translated/sales_order.js:1746 #: templates/js/translated/stock.js:1776 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/sales_order.js:1631 -#: templates/js/translated/sales_order.js:1719 +#: templates/js/translated/sales_order.js:1667 +#: templates/js/translated/sales_order.js:1755 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:2008 +#: templates/js/translated/sales_order.js:2044 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/sales_order.js:2012 +#: templates/js/translated/sales_order.js:2048 msgid "Purchase stock" msgstr "" -#: templates/js/translated/sales_order.js:2021 -#: templates/js/translated/sales_order.js:2209 +#: templates/js/translated/sales_order.js:2057 +#: templates/js/translated/sales_order.js:2245 msgid "Calculate price" msgstr "" -#: templates/js/translated/sales_order.js:2035 +#: templates/js/translated/sales_order.js:2071 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:2038 +#: templates/js/translated/sales_order.js:2074 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:2109 +#: templates/js/translated/sales_order.js:2145 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/sales_order.js:2217 +#: templates/js/translated/sales_order.js:2253 msgid "Update Unit Price" msgstr "" @@ -13356,7 +13395,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1042 users/models.py:414 +#: templates/js/translated/stock.js:1042 users/models.py:401 msgid "Add" msgstr "" @@ -13372,7 +13411,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1180 templates/js/translated/stock.js:3302 +#: templates/js/translated/stock.js:1180 templates/js/translated/stock.js:3299 msgid "Select Stock Items" msgstr "" @@ -13456,196 +13495,196 @@ msgstr "" msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:1955 +#: templates/js/translated/stock.js:1953 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1960 +#: templates/js/translated/stock.js:1958 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:1971 +#: templates/js/translated/stock.js:1969 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:2015 +#: templates/js/translated/stock.js:2013 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2093 +#: templates/js/translated/stock.js:2091 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2098 +#: templates/js/translated/stock.js:2096 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2101 +#: templates/js/translated/stock.js:2099 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2104 +#: templates/js/translated/stock.js:2102 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2106 +#: templates/js/translated/stock.js:2104 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2108 +#: templates/js/translated/stock.js:2106 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2111 +#: templates/js/translated/stock.js:2109 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2113 +#: templates/js/translated/stock.js:2111 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2117 +#: templates/js/translated/stock.js:2115 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2119 +#: templates/js/translated/stock.js:2117 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2124 +#: templates/js/translated/stock.js:2122 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2126 +#: templates/js/translated/stock.js:2124 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2128 +#: templates/js/translated/stock.js:2126 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2132 +#: templates/js/translated/stock.js:2130 #: templates/js/translated/table_filters.js:350 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2297 +#: templates/js/translated/stock.js:2295 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2344 +#: templates/js/translated/stock.js:2342 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2472 +#: templates/js/translated/stock.js:2470 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2576 +#: templates/js/translated/stock.js:2573 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2731 +#: templates/js/translated/stock.js:2728 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2849 +#: templates/js/translated/stock.js:2846 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2853 +#: templates/js/translated/stock.js:2850 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2865 +#: templates/js/translated/stock.js:2862 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2887 +#: templates/js/translated/stock.js:2884 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2904 +#: templates/js/translated/stock.js:2901 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2919 +#: templates/js/translated/stock.js:2916 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2936 +#: templates/js/translated/stock.js:2933 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:2950 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2972 +#: templates/js/translated/stock.js:2969 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2990 +#: templates/js/translated/stock.js:2987 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:3008 +#: templates/js/translated/stock.js:3005 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:3016 +#: templates/js/translated/stock.js:3013 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3088 +#: templates/js/translated/stock.js:3085 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3142 templates/js/translated/stock.js:3178 +#: templates/js/translated/stock.js:3139 templates/js/translated/stock.js:3175 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3200 +#: templates/js/translated/stock.js:3197 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3221 +#: templates/js/translated/stock.js:3218 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3222 +#: templates/js/translated/stock.js:3219 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3224 +#: templates/js/translated/stock.js:3221 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3225 +#: templates/js/translated/stock.js:3222 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3226 +#: templates/js/translated/stock.js:3223 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3227 +#: templates/js/translated/stock.js:3224 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3240 +#: templates/js/translated/stock.js:3237 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3303 +#: templates/js/translated/stock.js:3300 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3316 +#: templates/js/translated/stock.js:3313 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3320 +#: templates/js/translated/stock.js:3317 msgid "Change Stock Status" msgstr "" @@ -14247,34 +14286,35 @@ msgstr "" msgid "Revoked" msgstr "" -#: users/models.py:397 +#: users/models.py:384 msgid "Permission set" msgstr "" -#: users/models.py:406 +#: users/models.py:393 msgid "Group" msgstr "" -#: users/models.py:410 +#: users/models.py:397 msgid "View" msgstr "" -#: users/models.py:410 +#: users/models.py:397 msgid "Permission to view items" msgstr "" -#: users/models.py:414 +#: users/models.py:401 msgid "Permission to add items" msgstr "" -#: users/models.py:418 +#: users/models.py:405 msgid "Change" msgstr "" -#: users/models.py:420 +#: users/models.py:407 msgid "Permissions to edit items" msgstr "" -#: users/models.py:426 +#: users/models.py:413 msgid "Permission to delete items" msgstr "" + diff --git a/src/backend/InvenTree/locale/it/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/it/LC_MESSAGES/django.po index beb6b910fa..b92aa5950b 100644 --- a/src/backend/InvenTree/locale/it/LC_MESSAGES/django.po +++ b/src/backend/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: 2024-05-10 05:37+0000\n" -"PO-Revision-Date: 2024-05-10 08:31\n" +"POT-Creation-Date: 2024-05-23 11:25+0000\n" +"PO-Revision-Date: 2024-05-23 11:38\n" "Last-Translator: \n" "Language-Team: Italian\n" "Language: it_IT\n" @@ -17,11 +17,11 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 216\n" -#: InvenTree/api.py:271 +#: InvenTree/api.py:272 msgid "API endpoint not found" msgstr "Endpoint API non trovato" -#: InvenTree/api.py:535 +#: InvenTree/api.py:536 msgid "User does not have permission to view this model" msgstr "L'utente non ha i permessi per vedere questo modello" @@ -56,26 +56,26 @@ msgstr "I dettagli dell'errore possono essere trovati nel pannello di amministra msgid "Enter date" msgstr "Inserisci la data" -#: InvenTree/fields.py:208 InvenTree/models.py:1021 build/serializers.py:444 -#: build/serializers.py:522 build/templates/build/sidebar.html:21 +#: InvenTree/fields.py:208 InvenTree/models.py:1035 build/serializers.py:443 +#: build/serializers.py:521 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 -#: order/models.py:1283 order/templates/order/po_sidebar.html:11 +#: order/models.py:1323 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:59 -#: part/models.py:3175 part/templates/part/part_sidebar.html:63 -#: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:226 stock/models.py:2344 stock/models.py:2461 -#: stock/serializers.py:501 stock/serializers.py:659 stock/serializers.py:755 -#: stock/serializers.py:805 stock/serializers.py:1114 stock/serializers.py:1203 -#: stock/serializers.py:1368 stock/templates/stock/stock_sidebar.html:25 +#: part/models.py:3218 part/templates/part/part_sidebar.html:63 +#: report/templates/report/inventree_build_order_report.html:172 +#: stock/admin.py:226 stock/models.py:2321 stock/models.py:2438 +#: stock/serializers.py:630 stock/serializers.py:788 stock/serializers.py:884 +#: stock/serializers.py:934 stock/serializers.py:1243 stock/serializers.py:1332 +#: stock/serializers.py:1497 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1080 -#: templates/js/translated/purchase_order.js:2201 -#: templates/js/translated/return_order.js:776 -#: templates/js/translated/sales_order.js:1067 -#: templates/js/translated/sales_order.js:1982 -#: templates/js/translated/stock.js:1536 templates/js/translated/stock.js:2430 +#: templates/js/translated/purchase_order.js:2200 +#: templates/js/translated/return_order.js:775 +#: templates/js/translated/sales_order.js:1103 +#: templates/js/translated/sales_order.js:2018 +#: templates/js/translated/stock.js:1536 templates/js/translated/stock.js:2428 msgid "Notes" msgstr "Note" @@ -132,7 +132,7 @@ msgstr "L'indirizzo di posta elettronica fornito non è approvato." msgid "Registration is disabled." msgstr "La registrazione è disabilitata." -#: InvenTree/helpers.py:525 order/models.py:541 order/models.py:743 +#: InvenTree/helpers.py:525 order/models.py:563 order/models.py:765 msgid "Invalid quantity provided" msgstr "Quantità inserita non valida" @@ -355,142 +355,142 @@ msgstr "" msgid "Error running plugin validation" msgstr "" -#: InvenTree/models.py:162 +#: InvenTree/models.py:176 msgid "Metadata must be a python dict object" msgstr "I metadati devono essere un oggetto python dict" -#: InvenTree/models.py:168 +#: InvenTree/models.py:182 msgid "Plugin Metadata" msgstr "Metadati Plugin" -#: InvenTree/models.py:169 +#: InvenTree/models.py:183 msgid "JSON metadata field, for use by external plugins" msgstr "Campo di metadati JSON, da utilizzare con plugin esterni" -#: InvenTree/models.py:399 +#: InvenTree/models.py:413 msgid "Improperly formatted pattern" msgstr "Schema formattato impropriamente" -#: InvenTree/models.py:406 +#: InvenTree/models.py:420 msgid "Unknown format key specified" msgstr "Formato chiave sconosciuta" -#: InvenTree/models.py:412 +#: InvenTree/models.py:426 msgid "Missing required format key" msgstr "Formato chiave mancante" -#: InvenTree/models.py:423 +#: InvenTree/models.py:437 msgid "Reference field cannot be empty" msgstr "Il campo di riferimento non può essere vuoto" -#: InvenTree/models.py:431 +#: InvenTree/models.py:445 msgid "Reference must match required pattern" msgstr "Il campo deve corrispondere al modello richiesto" -#: InvenTree/models.py:462 +#: InvenTree/models.py:476 msgid "Reference number is too large" msgstr "Numero di riferimento troppo grande" -#: InvenTree/models.py:536 +#: InvenTree/models.py:550 msgid "Missing file" msgstr "File mancante" -#: InvenTree/models.py:537 +#: InvenTree/models.py:551 msgid "Missing external link" msgstr "Link esterno mancante" -#: InvenTree/models.py:558 stock/models.py:2456 +#: InvenTree/models.py:572 stock/models.py:2433 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" msgstr "Allegato" -#: InvenTree/models.py:559 +#: InvenTree/models.py:573 msgid "Select file to attach" msgstr "Seleziona file da allegare" -#: InvenTree/models.py:567 common/models.py:3026 company/models.py:146 +#: InvenTree/models.py:581 common/models.py:3032 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 -#: order/models.py:291 order/models.py:1288 order/models.py:1704 -#: part/admin.py:55 part/models.py:919 +#: order/models.py:304 order/models.py:1328 order/models.py:1744 +#: part/admin.py:55 part/models.py:962 #: part/templates/part/part_scheduling.html:11 -#: report/templates/report/inventree_build_order_base.html:164 +#: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2456 -#: templates/js/translated/purchase_order.js:2041 -#: templates/js/translated/purchase_order.js:2205 -#: templates/js/translated/return_order.js:780 -#: templates/js/translated/sales_order.js:1056 -#: templates/js/translated/sales_order.js:1987 +#: templates/js/translated/part.js:2455 +#: templates/js/translated/purchase_order.js:2040 +#: templates/js/translated/purchase_order.js:2204 +#: templates/js/translated/return_order.js:779 +#: templates/js/translated/sales_order.js:1092 +#: templates/js/translated/sales_order.js:2023 msgid "Link" msgstr "Collegamento" -#: InvenTree/models.py:568 build/models.py:321 part/models.py:920 -#: stock/models.py:819 +#: InvenTree/models.py:582 build/models.py:344 part/models.py:963 +#: stock/models.py:840 msgid "Link to external URL" msgstr "Link a URL esterno" -#: InvenTree/models.py:574 templates/js/translated/attachment.js:120 +#: InvenTree/models.py:588 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:341 msgid "Comment" msgstr "Commento" -#: InvenTree/models.py:575 +#: InvenTree/models.py:589 msgid "File comment" msgstr "Commento del file" -#: InvenTree/models.py:583 InvenTree/models.py:584 common/models.py:2502 -#: common/models.py:2503 common/models.py:2727 common/models.py:2728 -#: common/models.py:2973 common/models.py:2974 part/models.py:3185 -#: part/models.py:3272 part/models.py:3365 part/models.py:3393 -#: plugin/models.py:250 plugin/models.py:251 -#: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3039 users/models.py:111 +#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2508 +#: common/models.py:2509 common/models.py:2733 common/models.py:2734 +#: common/models.py:2979 common/models.py:2980 part/models.py:3228 +#: part/models.py:3315 part/models.py:3408 part/models.py:3436 +#: plugin/models.py:259 plugin/models.py:260 +#: report/templates/report/inventree_test_report.html:105 +#: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" msgstr "Utente" -#: InvenTree/models.py:588 +#: InvenTree/models.py:602 msgid "upload date" msgstr "data caricamento" -#: InvenTree/models.py:610 +#: InvenTree/models.py:624 msgid "Filename must not be empty" msgstr "Il nome del file non deve essere vuoto" -#: InvenTree/models.py:621 +#: InvenTree/models.py:635 msgid "Invalid attachment directory" msgstr "Directory allegati non valida" -#: InvenTree/models.py:651 +#: InvenTree/models.py:665 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "Il nome del file contiene caratteri non validi '{c}'" -#: InvenTree/models.py:654 +#: InvenTree/models.py:668 msgid "Filename missing extension" msgstr "Nome file estensione mancante" -#: InvenTree/models.py:663 +#: InvenTree/models.py:677 msgid "Attachment with this filename already exists" msgstr "Esiste già un allegato con questo nome di file" -#: InvenTree/models.py:670 +#: InvenTree/models.py:684 msgid "Error renaming file" msgstr "Errore nella rinominazione del file" -#: InvenTree/models.py:846 +#: InvenTree/models.py:860 msgid "Duplicate names cannot exist under the same parent" msgstr "Nomi duplicati non possono esistere sotto lo stesso genitore" -#: InvenTree/models.py:863 +#: InvenTree/models.py:877 msgid "Invalid choice" msgstr "Scelta non valida" -#: InvenTree/models.py:893 common/models.py:2714 common/models.py:3112 -#: common/serializers.py:403 company/models.py:614 label/models.py:120 -#: machine/models.py:24 part/models.py:855 part/models.py:3616 -#: plugin/models.py:41 report/models.py:176 stock/models.py:76 +#: InvenTree/models.py:907 common/models.py:2720 common/models.py:3118 +#: common/serializers.py:403 company/models.py:614 machine/models.py:24 +#: part/models.py:898 part/models.py:3659 plugin/models.py:50 +#: report/models.py:149 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -503,22 +503,22 @@ msgstr "Scelta non valida" #: templates/js/translated/company.js:1165 #: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186 #: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2719 +#: templates/js/translated/part.js:2748 templates/js/translated/stock.js:2716 msgid "Name" msgstr "Nome" -#: InvenTree/models.py:899 build/models.py:194 +#: InvenTree/models.py:913 build/models.py:217 #: build/templates/build/detail.html:24 common/models.py:136 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 label/models.py:127 -#: order/models.py:277 order/models.py:1316 part/admin.py:303 part/admin.py:414 -#: part/models.py:878 part/models.py:3631 part/templates/part/category.html:82 +#: company/templates/company/supplier_part.html:107 order/models.py:290 +#: order/models.py:1356 part/admin.py:305 part/admin.py:416 part/models.py:921 +#: part/models.py:3674 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 -#: part/templates/part/part_scheduling.html:12 report/models.py:189 -#: report/models.py:655 report/models.py:729 -#: report/templates/report/inventree_build_order_base.html:117 +#: part/templates/part/part_scheduling.html:12 report/models.py:155 +#: report/models.py:510 report/models.py:536 +#: report/templates/report/inventree_build_order_report.html:117 #: stock/admin.py:55 stock/models.py:82 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 @@ -530,71 +530,71 @@ msgstr "Nome" #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 -#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2896 +#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2354 +#: templates/js/translated/part.js:2784 templates/js/translated/part.js:2895 #: templates/js/translated/plugin.js:80 -#: templates/js/translated/purchase_order.js:1707 -#: templates/js/translated/purchase_order.js:1850 -#: templates/js/translated/purchase_order.js:2023 -#: templates/js/translated/return_order.js:314 -#: templates/js/translated/sales_order.js:802 -#: templates/js/translated/sales_order.js:1812 -#: templates/js/translated/stock.js:1515 templates/js/translated/stock.js:2060 -#: templates/js/translated/stock.js:2751 templates/js/translated/stock.js:2834 +#: templates/js/translated/purchase_order.js:1706 +#: templates/js/translated/purchase_order.js:1849 +#: templates/js/translated/purchase_order.js:2022 +#: templates/js/translated/return_order.js:313 +#: templates/js/translated/sales_order.js:838 +#: templates/js/translated/sales_order.js:1848 +#: templates/js/translated/stock.js:1515 templates/js/translated/stock.js:2058 +#: templates/js/translated/stock.js:2748 templates/js/translated/stock.js:2831 msgid "Description" msgstr "Descrizione" -#: InvenTree/models.py:900 stock/models.py:83 +#: InvenTree/models.py:914 stock/models.py:83 msgid "Description (optional)" msgstr "Descrizione (opzionale)" -#: InvenTree/models.py:909 +#: InvenTree/models.py:923 msgid "parent" msgstr "genitore" -#: InvenTree/models.py:915 templates/js/translated/part.js:2794 -#: templates/js/translated/stock.js:2760 +#: InvenTree/models.py:929 templates/js/translated/part.js:2793 +#: templates/js/translated/stock.js:2757 msgid "Path" msgstr "Percorso" -#: InvenTree/models.py:1021 +#: InvenTree/models.py:1035 msgid "Markdown notes (optional)" msgstr "Note di Markdown (opzionale)" -#: InvenTree/models.py:1050 +#: InvenTree/models.py:1064 msgid "Barcode Data" msgstr "Dati del Codice a Barre" -#: InvenTree/models.py:1051 +#: InvenTree/models.py:1065 msgid "Third party barcode data" msgstr "Dati Codice a Barre applicazioni di terze parti" -#: InvenTree/models.py:1057 +#: InvenTree/models.py:1071 msgid "Barcode Hash" msgstr "Codice a Barre" -#: InvenTree/models.py:1058 +#: InvenTree/models.py:1072 msgid "Unique hash of barcode data" msgstr "Codice univoco del codice a barre" -#: InvenTree/models.py:1111 +#: InvenTree/models.py:1125 msgid "Existing barcode found" msgstr "Trovato codice a barre esistente" -#: InvenTree/models.py:1154 +#: InvenTree/models.py:1168 msgid "Server Error" msgstr "Errore del server" -#: InvenTree/models.py:1155 +#: InvenTree/models.py:1169 msgid "An error has been logged by the server." msgstr "Un errore è stato loggato dal server." -#: InvenTree/serializers.py:62 part/models.py:4169 +#: InvenTree/serializers.py:62 part/models.py:4212 msgid "Must be a valid number" msgstr "Deve essere un numero valido" #: InvenTree/serializers.py:99 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:2993 +#: company/templates/company/company_base.html:112 part/models.py:3036 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -686,7 +686,7 @@ msgstr "URL del file immagine remota" msgid "Downloading images from remote URL is not enabled" msgstr "Il download delle immagini da URL remoto non è abilitato" -#: InvenTree/status.py:66 part/serializers.py:1161 +#: InvenTree/status.py:66 part/serializers.py:1176 msgid "Background worker check failed" msgstr "Controllo in background non riuscito" @@ -699,8 +699,8 @@ msgid "InvenTree system health checks failed" msgstr "Controlli di sistema InvenTree falliti" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:37 -#: InvenTree/status_codes.py:148 InvenTree/status_codes.py:164 -#: InvenTree/status_codes.py:182 generic/states/tests.py:17 +#: InvenTree/status_codes.py:149 InvenTree/status_codes.py:165 +#: InvenTree/status_codes.py:183 generic/states/tests.py:17 #: templates/js/translated/table_filters.js:598 msgid "Pending" msgstr "In attesa" @@ -709,188 +709,188 @@ msgstr "In attesa" msgid "Placed" msgstr "Inviato" -#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:151 -#: InvenTree/status_codes.py:169 generic/states/tests.py:19 -#: order/templates/order/order_base.html:158 -#: order/templates/order/sales_order_base.html:161 +#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:44 +#: InvenTree/status_codes.py:152 InvenTree/status_codes.py:170 +#: generic/states/tests.py:19 order/templates/order/order_base.html:158 +#: order/templates/order/sales_order_base.html:165 report/models.py:444 msgid "Complete" msgstr "Completo" -#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:44 -#: InvenTree/status_codes.py:150 InvenTree/status_codes.py:170 +#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:45 +#: InvenTree/status_codes.py:151 InvenTree/status_codes.py:171 msgid "Cancelled" msgstr "Annullato" -#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:45 -#: InvenTree/status_codes.py:67 +#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:46 +#: InvenTree/status_codes.py:68 msgid "Lost" msgstr "Perso" -#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:46 -#: InvenTree/status_codes.py:73 +#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:47 +#: InvenTree/status_codes.py:74 msgid "Returned" msgstr "Reso" -#: InvenTree/status_codes.py:40 InvenTree/status_codes.py:167 +#: InvenTree/status_codes.py:40 InvenTree/status_codes.py:168 msgid "In Progress" msgstr "In corso" -#: InvenTree/status_codes.py:43 order/models.py:1566 -#: templates/js/translated/sales_order.js:1523 -#: templates/js/translated/sales_order.js:1644 -#: templates/js/translated/sales_order.js:1957 +#: InvenTree/status_codes.py:43 order/models.py:1606 +#: templates/js/translated/sales_order.js:1559 +#: templates/js/translated/sales_order.js:1680 +#: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "Spedito" -#: InvenTree/status_codes.py:62 +#: InvenTree/status_codes.py:63 msgid "OK" msgstr "" -#: InvenTree/status_codes.py:63 +#: InvenTree/status_codes.py:64 msgid "Attention needed" msgstr "Attenzione necessaria" -#: InvenTree/status_codes.py:64 +#: InvenTree/status_codes.py:65 msgid "Damaged" msgstr "Danneggiato" -#: InvenTree/status_codes.py:65 +#: InvenTree/status_codes.py:66 msgid "Destroyed" msgstr "Distrutto" -#: InvenTree/status_codes.py:66 +#: InvenTree/status_codes.py:67 msgid "Rejected" msgstr "Respinto" -#: InvenTree/status_codes.py:70 +#: InvenTree/status_codes.py:71 msgid "Quarantined" msgstr "In quarantena" -#: InvenTree/status_codes.py:91 +#: InvenTree/status_codes.py:92 msgid "Legacy stock tracking entry" msgstr "Voce di tracciamento stock preesistente" -#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:544 +#: InvenTree/status_codes.py:94 templates/js/translated/stock.js:544 msgid "Stock item created" msgstr "Elemento stock creato" -#: InvenTree/status_codes.py:96 +#: InvenTree/status_codes.py:97 msgid "Edited stock item" msgstr "Elemento stock modificato" -#: InvenTree/status_codes.py:97 +#: InvenTree/status_codes.py:98 msgid "Assigned serial number" msgstr "Numero di serie assegnato" -#: InvenTree/status_codes.py:100 +#: InvenTree/status_codes.py:101 msgid "Stock counted" msgstr "Stock contato" -#: InvenTree/status_codes.py:101 +#: InvenTree/status_codes.py:102 msgid "Stock manually added" msgstr "Stock aggiunto manualmente" -#: InvenTree/status_codes.py:102 +#: InvenTree/status_codes.py:103 msgid "Stock manually removed" msgstr "Stock rimosso manualmente" -#: InvenTree/status_codes.py:105 +#: InvenTree/status_codes.py:106 msgid "Location changed" msgstr "Posizione cambiata" -#: InvenTree/status_codes.py:106 +#: InvenTree/status_codes.py:107 msgid "Stock updated" msgstr "Stock aggiornato" -#: InvenTree/status_codes.py:109 +#: InvenTree/status_codes.py:110 msgid "Installed into assembly" msgstr "Installato nell'assemblaggio" -#: InvenTree/status_codes.py:110 +#: InvenTree/status_codes.py:111 msgid "Removed from assembly" msgstr "Rimosso dall'assemblaggio" -#: InvenTree/status_codes.py:112 +#: InvenTree/status_codes.py:113 msgid "Installed component item" msgstr "Componente installato" -#: InvenTree/status_codes.py:113 +#: InvenTree/status_codes.py:114 msgid "Removed component item" msgstr "Elemento componente rimosso" -#: InvenTree/status_codes.py:116 +#: InvenTree/status_codes.py:117 msgid "Split from parent item" msgstr "Diviso dall'elemento genitore" -#: InvenTree/status_codes.py:117 +#: InvenTree/status_codes.py:118 msgid "Split child item" msgstr "Dividi elemento figlio" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1858 +#: InvenTree/status_codes.py:121 templates/js/translated/stock.js:1858 msgid "Merged stock items" msgstr "Elemento stock raggruppato" -#: InvenTree/status_codes.py:123 +#: InvenTree/status_codes.py:124 msgid "Converted to variant" msgstr "Convertito in variante" -#: InvenTree/status_codes.py:126 +#: InvenTree/status_codes.py:127 msgid "Build order output created" msgstr "Genera l'output dell'ordine creato" -#: InvenTree/status_codes.py:127 +#: InvenTree/status_codes.py:128 msgid "Build order output completed" msgstr "Build order output completato" -#: InvenTree/status_codes.py:128 +#: InvenTree/status_codes.py:129 msgid "Build order output rejected" msgstr "Ordine di costruzione rifiutato" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1764 +#: InvenTree/status_codes.py:130 templates/js/translated/stock.js:1764 msgid "Consumed by build order" msgstr "Impegnato dall'ordine di costruzione" -#: InvenTree/status_codes.py:132 +#: InvenTree/status_codes.py:133 msgid "Shipped against Sales Order" msgstr "Spedito contro l'ordine di vendita" -#: InvenTree/status_codes.py:135 +#: InvenTree/status_codes.py:136 msgid "Received against Purchase Order" msgstr "Ricevuto contro l'ordine di acquisto" -#: InvenTree/status_codes.py:138 +#: InvenTree/status_codes.py:139 msgid "Returned against Return Order" msgstr "Restituito contro l'ordine di ritorno" -#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:375 +#: InvenTree/status_codes.py:142 templates/js/translated/table_filters.js:375 msgid "Sent to customer" msgstr "Inviato al cliente" -#: InvenTree/status_codes.py:142 +#: InvenTree/status_codes.py:143 msgid "Returned from customer" msgstr "Restituito dal cliente" -#: InvenTree/status_codes.py:149 +#: InvenTree/status_codes.py:150 msgid "Production" msgstr "Produzione" -#: InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:186 msgid "Return" msgstr "Indietro" -#: InvenTree/status_codes.py:188 +#: InvenTree/status_codes.py:189 msgid "Repair" msgstr "Riparare" -#: InvenTree/status_codes.py:191 +#: InvenTree/status_codes.py:192 msgid "Replace" msgstr "Sostituire" -#: InvenTree/status_codes.py:194 +#: InvenTree/status_codes.py:195 msgid "Refund" msgstr "Rimborso" -#: InvenTree/status_codes.py:197 +#: InvenTree/status_codes.py:198 msgid "Reject" msgstr "Rifiuta" @@ -946,14 +946,14 @@ msgstr "Informazioni Su InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "La produzione deve essere annullata prima di poter essere eliminata" -#: build/api.py:299 part/models.py:4047 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4090 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "Consumabile" -#: build/api.py:300 part/models.py:4041 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4084 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -969,7 +969,7 @@ msgstr "Monitorato" #: build/api.py:303 part/admin.py:144 templates/js/translated/build.js:1744 #: templates/js/translated/build.js:2629 -#: templates/js/translated/sales_order.js:1929 +#: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "Allocato" @@ -980,7 +980,7 @@ msgstr "Allocato" #: templates/email/low_stock_notification.html:17 #: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 #: templates/js/translated/index.js:123 -#: templates/js/translated/model_renderers.js:228 +#: templates/js/translated/model_renderers.js:234 #: templates/js/translated/part.js:692 templates/js/translated/part.js:694 #: templates/js/translated/part.js:699 #: templates/js/translated/table_filters.js:340 @@ -988,16 +988,16 @@ msgstr "Allocato" msgid "Available" msgstr "Disponibile" -#: build/models.py:74 build/templates/build/build_base.html:9 +#: build/models.py:82 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 -#: report/templates/report/inventree_build_order_base.html:105 -#: templates/email/build_order_completed.html:16 +#: report/templates/report/inventree_build_order_report.html:105 +#: stock/serializers.py:83 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2895 +#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2892 msgid "Build Order" msgstr "Ordine di Produzione" -#: build/models.py:75 build/templates/build/build_base.html:13 +#: build/models.py:83 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -1008,71 +1008,71 @@ msgstr "Ordine di Produzione" msgid "Build Orders" msgstr "Ordini di Produzione" -#: build/models.py:122 +#: build/models.py:130 msgid "Invalid choice for parent build" msgstr "Scelta non valida per la produzione genitore" -#: build/models.py:133 order/models.py:239 +#: build/models.py:141 order/models.py:241 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:139 +#: build/models.py:147 msgid "Build order part cannot be changed" msgstr "L'ordine di costruzione della parte non può essere cambiata" -#: build/models.py:185 +#: build/models.py:208 msgid "Build Order Reference" msgstr "Riferimento Ordine Di Produzione" -#: build/models.py:186 order/models.py:442 order/models.py:898 -#: order/models.py:1276 order/models.py:1998 part/admin.py:417 -#: part/models.py:4062 part/templates/part/upload_bom.html:54 +#: build/models.py:209 order/models.py:464 order/models.py:929 +#: order/models.py:1316 order/models.py:2047 part/admin.py:419 +#: part/models.py:4105 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 -#: report/templates/report/inventree_so_report_base.html:28 +#: report/templates/report/inventree_purchase_order_report.html:28 +#: report/templates/report/inventree_return_order_report.html:26 +#: report/templates/report/inventree_sales_order_report.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 #: templates/js/translated/build.js:2512 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 -#: templates/js/translated/purchase_order.js:2066 -#: templates/js/translated/return_order.js:729 -#: templates/js/translated/sales_order.js:1818 +#: templates/js/translated/purchase_order.js:2065 +#: templates/js/translated/return_order.js:728 +#: templates/js/translated/sales_order.js:1854 msgid "Reference" msgstr "Riferimento" -#: build/models.py:197 +#: build/models.py:220 msgid "Brief description of the build (optional)" msgstr "Breve descrizione della build (facoltativo)" -#: build/models.py:205 build/templates/build/build_base.html:183 +#: build/models.py:228 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Produzione Genitore" -#: build/models.py:206 +#: build/models.py:229 msgid "BuildOrder to which this build is allocated" msgstr "Ordine di produzione a cui questa produzione viene assegnata" -#: build/models.py:211 build/templates/build/build_base.html:97 +#: build/models.py:234 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 -#: order/models.py:1401 order/models.py:1546 order/models.py:1547 -#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004 -#: part/models.py:3148 part/models.py:3292 part/models.py:3315 -#: part/models.py:3336 part/models.py:3358 part/models.py:3468 -#: part/models.py:3764 part/models.py:3920 part/models.py:4013 -#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713 +#: order/models.py:1441 order/models.py:1586 order/models.py:1587 +#: part/api.py:1501 part/api.py:1795 part/models.py:392 part/models.py:3047 +#: part/models.py:3191 part/models.py:3335 part/models.py:3358 +#: part/models.py:3379 part/models.py:3401 part/models.py:3511 +#: part/models.py:3807 part/models.py:3963 part/models.py:4056 +#: part/models.py:4417 part/serializers.py:1122 part/serializers.py:1728 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 -#: report/templates/report/inventree_build_order_base.html:109 -#: report/templates/report/inventree_po_report_base.html:27 -#: report/templates/report/inventree_return_order_report_base.html:24 -#: report/templates/report/inventree_slr_report.html:102 -#: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:267 stock/serializers.py:689 -#: templates/InvenTree/search.html:82 +#: report/templates/report/inventree_build_order_report.html:109 +#: report/templates/report/inventree_purchase_order_report.html:27 +#: report/templates/report/inventree_return_order_report.html:24 +#: report/templates/report/inventree_sales_order_report.html:27 +#: report/templates/report/inventree_stock_location_report.html:102 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:396 +#: stock/serializers.py:818 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -1086,235 +1086,239 @@ msgstr "Ordine di produzione a cui questa produzione viene assegnata" #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 #: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 -#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:2323 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:751 #: templates/js/translated/purchase_order.js:1304 -#: templates/js/translated/purchase_order.js:1849 -#: templates/js/translated/purchase_order.js:2008 -#: templates/js/translated/return_order.js:539 -#: templates/js/translated/return_order.js:710 +#: templates/js/translated/purchase_order.js:1848 +#: templates/js/translated/purchase_order.js:2007 +#: templates/js/translated/return_order.js:538 +#: templates/js/translated/return_order.js:709 #: templates/js/translated/sales_order.js:300 -#: templates/js/translated/sales_order.js:1197 -#: templates/js/translated/sales_order.js:1598 -#: templates/js/translated/sales_order.js:1796 +#: templates/js/translated/sales_order.js:1233 +#: templates/js/translated/sales_order.js:1634 +#: templates/js/translated/sales_order.js:1832 #: templates/js/translated/stock.js:676 templates/js/translated/stock.js:842 -#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1999 -#: templates/js/translated/stock.js:2860 templates/js/translated/stock.js:3093 -#: templates/js/translated/stock.js:3239 +#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1997 +#: templates/js/translated/stock.js:2857 templates/js/translated/stock.js:3090 +#: templates/js/translated/stock.js:3236 msgid "Part" msgstr "Articolo" -#: build/models.py:219 +#: build/models.py:242 msgid "Select part to build" msgstr "Selezionare parte da produrre" -#: build/models.py:224 +#: build/models.py:247 msgid "Sales Order Reference" msgstr "Numero di riferimento ordine di vendita" -#: build/models.py:228 +#: build/models.py:251 msgid "SalesOrder to which this build is allocated" msgstr "Ordine di vendita a cui questa produzione viene assegnata" -#: build/models.py:233 build/serializers.py:970 +#: build/models.py:256 build/serializers.py:969 #: templates/js/translated/build.js:1731 -#: templates/js/translated/sales_order.js:1185 +#: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "Posizione Di Origine" -#: build/models.py:237 +#: build/models.py:260 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Seleziona la posizione da cui prelevare la giacenza (lasciare vuoto per prelevare da qualsiasi posizione di magazzino)" -#: build/models.py:242 +#: build/models.py:265 msgid "Destination Location" msgstr "Posizione Della Destinazione" -#: build/models.py:246 +#: build/models.py:269 msgid "Select location where the completed items will be stored" msgstr "Seleziona il luogo in cui gli articoli completati saranno immagazzinati" -#: build/models.py:250 +#: build/models.py:273 msgid "Build Quantity" msgstr "Quantità Produzione" -#: build/models.py:253 +#: build/models.py:276 msgid "Number of stock items to build" msgstr "Numero di articoli da costruire" -#: build/models.py:257 +#: build/models.py:280 msgid "Completed items" msgstr "Articoli completati" -#: build/models.py:259 +#: build/models.py:282 msgid "Number of stock items which have been completed" msgstr "Numero di articoli di magazzino che sono stati completati" -#: build/models.py:263 +#: build/models.py:286 msgid "Build Status" msgstr "Stato Produzione" -#: build/models.py:267 +#: build/models.py:290 msgid "Build status code" msgstr "Codice stato di produzione" -#: build/models.py:276 build/serializers.py:278 order/serializers.py:581 -#: stock/models.py:823 stock/serializers.py:1333 +#: build/models.py:299 build/serializers.py:277 order/serializers.py:581 +#: stock/models.py:844 stock/serializers.py:75 stock/serializers.py:1462 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Codice Lotto" -#: build/models.py:280 build/serializers.py:279 +#: build/models.py:303 build/serializers.py:278 msgid "Batch code for this build output" msgstr "Codice del lotto per questa produzione" -#: build/models.py:283 order/models.py:304 order/serializers.py:120 -#: part/models.py:1079 part/templates/part/part_base.html:310 -#: templates/js/translated/return_order.js:339 -#: templates/js/translated/sales_order.js:827 +#: build/models.py:306 order/models.py:317 order/serializers.py:120 +#: part/models.py:1122 part/templates/part/part_base.html:310 +#: templates/js/translated/return_order.js:338 +#: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "Data di creazione" -#: build/models.py:287 +#: build/models.py:310 msgid "Target completion date" msgstr "Data completamento obiettivo" -#: build/models.py:288 +#: build/models.py:311 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:291 order/models.py:500 order/models.py:2043 +#: build/models.py:314 order/models.py:522 order/models.py:2092 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "Data di completamento" -#: build/models.py:297 +#: build/models.py:320 msgid "completed by" msgstr "Completato da" -#: build/models.py:305 templates/js/translated/build.js:2207 +#: build/models.py:328 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "Rilasciato da" -#: build/models.py:306 +#: build/models.py:329 msgid "User who issued this build order" msgstr "Utente che ha emesso questo ordine di costruzione" -#: build/models.py:314 build/templates/build/build_base.html:204 +#: build/models.py:337 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:145 -#: order/models.py:322 order/templates/order/order_base.html:217 +#: order/models.py:335 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1096 +#: order/templates/order/sales_order_base.html:232 part/models.py:1139 #: part/templates/part/part_base.html:390 -#: report/templates/report/inventree_build_order_base.html:158 +#: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 #: templates/js/translated/build.js:2219 -#: templates/js/translated/purchase_order.js:1764 -#: templates/js/translated/return_order.js:359 +#: templates/js/translated/purchase_order.js:1763 +#: templates/js/translated/return_order.js:358 #: templates/js/translated/table_filters.js:531 msgid "Responsible" msgstr "Responsabile" -#: build/models.py:315 +#: build/models.py:338 msgid "User or group responsible for this build order" msgstr "Utente o gruppo responsabile di questo ordine di produzione" -#: build/models.py:320 build/templates/build/detail.html:108 +#: build/models.py:343 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 -#: order/templates/order/sales_order_base.html:180 -#: part/templates/part/part_base.html:383 stock/models.py:819 +#: order/templates/order/sales_order_base.html:184 +#: part/templates/part/part_base.html:383 stock/models.py:840 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "Collegamento esterno" -#: build/models.py:325 +#: build/models.py:348 msgid "Build Priority" msgstr "Priorità di produzione" -#: build/models.py:328 +#: build/models.py:351 msgid "Priority of this build order" msgstr "Priorità di questo ordine di produzione" -#: build/models.py:335 common/models.py:129 order/admin.py:18 -#: order/models.py:286 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:358 common/models.py:129 order/admin.py:18 +#: order/models.py:299 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 -#: templates/js/translated/purchase_order.js:1711 -#: templates/js/translated/return_order.js:318 -#: templates/js/translated/sales_order.js:806 +#: templates/js/translated/purchase_order.js:1710 +#: templates/js/translated/return_order.js:317 +#: templates/js/translated/sales_order.js:842 #: templates/js/translated/table_filters.js:48 #: templates/project_code_data.html:6 msgid "Project Code" msgstr "Codice del progetto" -#: build/models.py:336 +#: build/models.py:359 msgid "Project code for this build order" msgstr "Codice del progetto per questo ordine di produzione" -#: build/models.py:566 build/models.py:631 +#: build/models.py:589 build/models.py:654 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:588 +#: build/models.py:611 #, python-brace-format msgid "Build order {build} has been completed" msgstr "L'ordine di produzione {build} è stato completato" -#: build/models.py:594 +#: build/models.py:617 msgid "A build order has been completed" msgstr "L'ordine di produzione è stato completato" -#: build/models.py:820 build/models.py:895 +#: build/models.py:843 build/models.py:918 msgid "No build output specified" msgstr "Nessun output di produzione specificato" -#: build/models.py:823 +#: build/models.py:846 msgid "Build output is already completed" msgstr "La produzione è stata completata" -#: build/models.py:826 +#: build/models.py:849 msgid "Build output does not match Build Order" msgstr "L'output della produzione non corrisponde all'ordine di compilazione" -#: build/models.py:899 build/serializers.py:221 build/serializers.py:260 -#: build/serializers.py:837 order/models.py:538 order/serializers.py:433 -#: order/serializers.py:576 part/serializers.py:1471 part/serializers.py:1871 -#: stock/models.py:662 stock/models.py:1482 stock/serializers.py:472 +#: build/models.py:922 build/serializers.py:220 build/serializers.py:259 +#: build/serializers.py:836 order/models.py:560 order/serializers.py:433 +#: order/serializers.py:576 part/serializers.py:1486 part/serializers.py:1886 +#: stock/models.py:683 stock/models.py:1503 stock/serializers.py:601 msgid "Quantity must be greater than zero" msgstr "La quantità deve essere maggiore di zero" -#: build/models.py:904 build/serializers.py:226 +#: build/models.py:927 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "La quantità non può essere maggiore della quantità in uscita" -#: build/models.py:961 build/serializers.py:539 +#: build/models.py:984 build/serializers.py:538 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1323 +#: build/models.py:1335 +msgid "Build Order Line Item" +msgstr "" + +#: build/models.py:1360 msgid "Build object" msgstr "Crea oggetto" -#: build/models.py:1337 build/models.py:1593 build/serializers.py:208 -#: build/serializers.py:245 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2524 -#: order/models.py:1259 order/models.py:1918 order/serializers.py:1339 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 -#: part/forms.py:48 part/models.py:3162 part/models.py:4035 +#: build/models.py:1374 build/models.py:1630 build/serializers.py:207 +#: build/serializers.py:244 build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2530 +#: order/models.py:1299 order/models.py:1958 order/serializers.py:1339 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 +#: part/forms.py:48 part/models.py:3205 part/models.py:4078 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 -#: report/templates/report/inventree_build_order_base.html:113 -#: report/templates/report/inventree_po_report_base.html:29 -#: report/templates/report/inventree_slr_report.html:104 -#: report/templates/report/inventree_so_report_base.html:29 -#: report/templates/report/inventree_test_report_base.html:90 -#: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:160 stock/serializers.py:463 +#: report/templates/report/inventree_build_order_report.html:113 +#: report/templates/report/inventree_purchase_order_report.html:29 +#: report/templates/report/inventree_sales_order_report.html:29 +#: report/templates/report/inventree_stock_location_report.html:104 +#: report/templates/report/inventree_test_report.html:90 +#: report/templates/report/inventree_test_report.html:170 stock/admin.py:160 +#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:592 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1324,380 +1328,381 @@ msgstr "Crea oggetto" #: templates/js/translated/build.js:737 templates/js/translated/build.js:1369 #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 -#: templates/js/translated/model_renderers.js:230 +#: templates/js/translated/model_renderers.js:236 #: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3341 +#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3340 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 #: templates/js/translated/purchase_order.js:754 -#: templates/js/translated/purchase_order.js:1853 -#: templates/js/translated/purchase_order.js:2072 +#: templates/js/translated/purchase_order.js:1852 +#: templates/js/translated/purchase_order.js:2071 #: templates/js/translated/sales_order.js:317 -#: templates/js/translated/sales_order.js:1199 -#: templates/js/translated/sales_order.js:1518 -#: templates/js/translated/sales_order.js:1608 -#: templates/js/translated/sales_order.js:1698 -#: templates/js/translated/sales_order.js:1824 +#: templates/js/translated/sales_order.js:1235 +#: templates/js/translated/sales_order.js:1554 +#: templates/js/translated/sales_order.js:1644 +#: templates/js/translated/sales_order.js:1734 +#: templates/js/translated/sales_order.js:1860 #: templates/js/translated/stock.js:564 templates/js/translated/stock.js:702 -#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:3024 -#: templates/js/translated/stock.js:3107 +#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:3021 +#: templates/js/translated/stock.js:3104 msgid "Quantity" msgstr "Quantità" -#: build/models.py:1338 +#: build/models.py:1375 msgid "Required quantity for build order" msgstr "Quantità richiesta per l'ordine di costruzione" -#: build/models.py:1418 +#: build/models.py:1455 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "L'elemento di compilazione deve specificare un output poiché la parte principale è contrassegnata come rintracciabile" -#: build/models.py:1427 +#: build/models.py:1464 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "La quantità assegnata ({q}) non deve essere maggiore della quantità disponibile ({a})" -#: build/models.py:1437 order/models.py:1869 +#: build/models.py:1474 order/models.py:1909 msgid "Stock item is over-allocated" msgstr "L'articolo in giacenza è sovrallocato" -#: build/models.py:1443 order/models.py:1872 +#: build/models.py:1480 order/models.py:1912 msgid "Allocation quantity must be greater than zero" msgstr "La quantità di assegnazione deve essere maggiore di zero" -#: build/models.py:1449 +#: build/models.py:1486 msgid "Quantity must be 1 for serialized stock" msgstr "La quantità deve essere 1 per lo stock serializzato" -#: build/models.py:1508 +#: build/models.py:1545 msgid "Selected stock item does not match BOM line" msgstr "L'articolo in stock selezionato non corrisponde alla voce nella BOM" -#: build/models.py:1580 build/serializers.py:817 order/serializers.py:1183 -#: order/serializers.py:1204 stock/serializers.py:566 stock/serializers.py:1052 -#: stock/serializers.py:1164 stock/templates/stock/item_base.html:10 +#: build/models.py:1617 build/serializers.py:816 order/serializers.py:1183 +#: order/serializers.py:1204 stock/models.py:364 stock/serializers.py:92 +#: stock/serializers.py:695 stock/serializers.py:1181 stock/serializers.py:1293 +#: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 #: templates/js/translated/build.js:1745 #: templates/js/translated/sales_order.js:301 -#: templates/js/translated/sales_order.js:1198 -#: templates/js/translated/sales_order.js:1499 -#: templates/js/translated/sales_order.js:1504 -#: templates/js/translated/sales_order.js:1605 -#: templates/js/translated/sales_order.js:1692 +#: templates/js/translated/sales_order.js:1234 +#: templates/js/translated/sales_order.js:1535 +#: templates/js/translated/sales_order.js:1540 +#: templates/js/translated/sales_order.js:1641 +#: templates/js/translated/sales_order.js:1728 #: templates/js/translated/stock.js:677 templates/js/translated/stock.js:843 -#: templates/js/translated/stock.js:2980 +#: templates/js/translated/stock.js:2977 msgid "Stock Item" msgstr "Articoli in magazzino" -#: build/models.py:1581 +#: build/models.py:1618 msgid "Source stock item" msgstr "Origine giacenza articolo" -#: build/models.py:1594 +#: build/models.py:1631 msgid "Stock quantity to allocate to build" msgstr "Quantità di magazzino da assegnare per la produzione" -#: build/models.py:1602 +#: build/models.py:1639 msgid "Install into" msgstr "Installa in" -#: build/models.py:1603 +#: build/models.py:1640 msgid "Destination stock item" msgstr "Destinazione articolo in giacenza" -#: build/serializers.py:158 build/serializers.py:846 +#: build/serializers.py:157 build/serializers.py:845 #: templates/js/translated/build.js:1322 msgid "Build Output" msgstr "Genera Output" -#: build/serializers.py:170 +#: build/serializers.py:169 msgid "Build output does not match the parent build" msgstr "L'output generato non corrisponde alla produzione principale" -#: build/serializers.py:174 +#: build/serializers.py:173 msgid "Output part does not match BuildOrder part" msgstr "L'output non corrisponde alle parti dell'ordine di produzione" -#: build/serializers.py:178 +#: build/serializers.py:177 msgid "This build output has already been completed" msgstr "Questa produzione è stata già completata" -#: build/serializers.py:189 +#: build/serializers.py:188 msgid "This build output is not fully allocated" msgstr "Questo output non è stato completamente assegnato" -#: build/serializers.py:209 build/serializers.py:246 +#: build/serializers.py:208 build/serializers.py:245 msgid "Enter quantity for build output" msgstr "Inserisci la quantità per l'output di compilazione" -#: build/serializers.py:267 +#: build/serializers.py:266 msgid "Integer quantity required for trackable parts" msgstr "Quantità totale richiesta per articoli rintracciabili" -#: build/serializers.py:270 +#: build/serializers.py:269 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:285 order/serializers.py:589 order/serializers.py:1343 -#: stock/serializers.py:483 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:284 order/serializers.py:589 order/serializers.py:1343 +#: stock/serializers.py:612 templates/js/translated/purchase_order.js:1153 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "Codice Seriale" -#: build/serializers.py:286 +#: build/serializers.py:285 msgid "Enter serial numbers for build outputs" msgstr "Inserisci i numeri di serie per gli output di compilazione (build option)" -#: build/serializers.py:291 build/serializers.py:432 build/serializers.py:504 +#: build/serializers.py:290 build/serializers.py:431 build/serializers.py:503 #: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1679 -#: part/serializers.py:1127 stock/serializers.py:494 stock/serializers.py:654 -#: stock/serializers.py:750 stock/serializers.py:1196 stock/serializers.py:1452 -#: stock/templates/stock/item_base.html:394 +#: part/serializers.py:1142 stock/serializers.py:101 stock/serializers.py:623 +#: stock/serializers.py:783 stock/serializers.py:879 stock/serializers.py:1325 +#: stock/serializers.py:1581 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 #: templates/js/translated/purchase_order.js:1178 #: templates/js/translated/purchase_order.js:1268 -#: templates/js/translated/sales_order.js:1511 -#: templates/js/translated/sales_order.js:1619 -#: templates/js/translated/sales_order.js:1627 -#: templates/js/translated/sales_order.js:1706 +#: templates/js/translated/sales_order.js:1547 +#: templates/js/translated/sales_order.js:1655 +#: templates/js/translated/sales_order.js:1663 +#: templates/js/translated/sales_order.js:1742 #: templates/js/translated/stock.js:678 templates/js/translated/stock.js:844 -#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2203 -#: templates/js/translated/stock.js:2874 +#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2201 +#: templates/js/translated/stock.js:2871 msgid "Location" msgstr "Posizione" -#: build/serializers.py:292 +#: build/serializers.py:291 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:306 +#: build/serializers.py:305 msgid "Auto Allocate Serial Numbers" msgstr "Numeri di Serie Assegnazione automatica" -#: build/serializers.py:307 +#: build/serializers.py:306 msgid "Automatically allocate required items with matching serial numbers" msgstr "Assegna automaticamente gli articoli richiesti con i numeri di serie corrispondenti" -#: build/serializers.py:322 +#: build/serializers.py:321 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:347 stock/api.py:995 +#: build/serializers.py:346 stock/api.py:1029 msgid "The following serial numbers already exist or are invalid" msgstr "I seguenti numeri di serie sono già esistenti o non sono validi" -#: build/serializers.py:394 build/serializers.py:456 build/serializers.py:545 +#: build/serializers.py:393 build/serializers.py:455 build/serializers.py:544 msgid "A list of build outputs must be provided" msgstr "Deve essere fornito un elenco dei risultati di produzione" -#: build/serializers.py:433 +#: build/serializers.py:432 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:439 +#: build/serializers.py:438 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:440 +#: build/serializers.py:439 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:445 +#: build/serializers.py:444 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:505 +#: build/serializers.py:504 msgid "Location for completed build outputs" msgstr "Posizione per gli output di build completati" -#: build/serializers.py:511 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:922 -#: order/models.py:2022 order/serializers.py:597 stock/admin.py:165 -#: stock/serializers.py:801 stock/serializers.py:1340 +#: build/serializers.py:510 build/templates/build/build_base.html:151 +#: build/templates/build/detail.html:62 order/models.py:953 +#: order/models.py:2071 order/serializers.py:597 stock/admin.py:165 +#: stock/serializers.py:930 stock/serializers.py:1469 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 -#: templates/js/translated/purchase_order.js:1723 -#: templates/js/translated/return_order.js:331 -#: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2178 templates/js/translated/stock.js:2998 -#: templates/js/translated/stock.js:3123 +#: templates/js/translated/purchase_order.js:1722 +#: templates/js/translated/return_order.js:330 +#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/stock.js:2176 templates/js/translated/stock.js:2995 +#: templates/js/translated/stock.js:3120 msgid "Status" msgstr "Stato" -#: build/serializers.py:517 +#: build/serializers.py:516 msgid "Accept Incomplete Allocation" msgstr "Accetta Assegnazione Incompleta" -#: build/serializers.py:518 +#: build/serializers.py:517 msgid "Complete outputs if stock has not been fully allocated" msgstr "Completa l'output se le scorte non sono state interamente assegnate" -#: build/serializers.py:598 +#: build/serializers.py:597 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:599 +#: build/serializers.py:598 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:605 +#: build/serializers.py:604 msgid "Remove Incomplete Outputs" msgstr "Rimuovi Output Incompleti" -#: build/serializers.py:606 +#: build/serializers.py:605 msgid "Delete any build outputs which have not been completed" msgstr "Elimina gli output di produzione che non sono stati completati" -#: build/serializers.py:633 +#: build/serializers.py:632 msgid "Not permitted" msgstr "Non permesso" -#: build/serializers.py:634 +#: build/serializers.py:633 msgid "Accept as consumed by this build order" msgstr "Accetta come consumato da questo ordine di produzione" -#: build/serializers.py:635 +#: build/serializers.py:634 msgid "Deallocate before completing this build order" msgstr "Non assegnare prima di aver completato questo ordine di produzione" -#: build/serializers.py:657 +#: build/serializers.py:656 msgid "Overallocated Stock" msgstr "Giacenza in eccesso assegnata" -#: build/serializers.py:659 +#: build/serializers.py:658 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "Come si desidera gestire gli elementi extra giacenza assegnati all'ordine di produzione" -#: build/serializers.py:669 +#: build/serializers.py:668 msgid "Some stock items have been overallocated" msgstr "Alcuni articoli di magazzino sono stati assegnati in eccedenza" -#: build/serializers.py:674 +#: build/serializers.py:673 msgid "Accept Unallocated" msgstr "Accetta Non Assegnato" -#: build/serializers.py:675 +#: build/serializers.py:674 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Accetta che gli elementi in giacenza non sono stati completamente assegnati a questo ordine di produzione" -#: build/serializers.py:685 templates/js/translated/build.js:315 +#: build/serializers.py:684 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" msgstr "La giacenza richiesta non è stata completamente assegnata" -#: build/serializers.py:690 order/serializers.py:301 order/serializers.py:1246 +#: build/serializers.py:689 order/serializers.py:301 order/serializers.py:1246 msgid "Accept Incomplete" msgstr "Accetta Incompleta" -#: build/serializers.py:691 +#: build/serializers.py:690 msgid "Accept that the required number of build outputs have not been completed" msgstr "Accetta che il numero richiesto di output di produzione non sia stato completato" -#: build/serializers.py:701 templates/js/translated/build.js:319 +#: build/serializers.py:700 templates/js/translated/build.js:319 msgid "Required build quantity has not been completed" msgstr "La quantità di produzione richiesta non è stata completata" -#: build/serializers.py:710 templates/js/translated/build.js:303 +#: build/serializers.py:709 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" msgstr "L'ordine di produzione ha output incompleti" -#: build/serializers.py:740 +#: build/serializers.py:739 msgid "Build Line" msgstr "Linea di produzione" -#: build/serializers.py:750 +#: build/serializers.py:749 msgid "Build output" msgstr "Genera Output" -#: build/serializers.py:758 +#: build/serializers.py:757 msgid "Build output must point to the same build" msgstr "L'output di produzione deve puntare alla stessa produzione" -#: build/serializers.py:794 +#: build/serializers.py:793 msgid "Build Line Item" msgstr "Articolo linea di produzione" -#: build/serializers.py:808 +#: build/serializers.py:807 msgid "bom_item.part must point to the same part as the build order" msgstr "gli elementi degli articoli della distinta base devono puntare alla stessa parte dell'ordine di produzione" -#: build/serializers.py:823 stock/serializers.py:1065 +#: build/serializers.py:822 stock/serializers.py:1194 msgid "Item must be in stock" msgstr "L'articolo deve essere disponibile" -#: build/serializers.py:871 order/serializers.py:1237 +#: build/serializers.py:870 order/serializers.py:1237 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Quantità disponibile ({q}) superata" -#: build/serializers.py:877 +#: build/serializers.py:876 msgid "Build output must be specified for allocation of tracked parts" msgstr "L'output di produzione deve essere specificato per l'ubicazione delle parti tracciate" -#: build/serializers.py:884 +#: build/serializers.py:883 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "L'output di produzione non deve essere specificato per l'ubicazione delle parti non tracciate" -#: build/serializers.py:908 order/serializers.py:1489 +#: build/serializers.py:907 order/serializers.py:1489 msgid "Allocation items must be provided" msgstr "Deve essere indicata l'allocazione dell'articolo" -#: build/serializers.py:971 +#: build/serializers.py:970 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "Posizione dello stock in cui le parti devono prelevate (lasciare vuoto per prelevare da qualsiasi luogo)" -#: build/serializers.py:979 +#: build/serializers.py:978 msgid "Exclude Location" msgstr "Escludi Ubicazione" -#: build/serializers.py:980 +#: build/serializers.py:979 msgid "Exclude stock items from this selected location" msgstr "Escludi gli elementi stock da questa ubicazione selezionata" -#: build/serializers.py:985 +#: build/serializers.py:984 msgid "Interchangeable Stock" msgstr "Scorte Intercambiabili" -#: build/serializers.py:986 +#: build/serializers.py:985 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Gli elementi in magazzino in più sedi possono essere utilizzati in modo intercambiabile" -#: build/serializers.py:991 +#: build/serializers.py:990 msgid "Substitute Stock" msgstr "Sostituisci Giacenze" -#: build/serializers.py:992 +#: build/serializers.py:991 msgid "Allow allocation of substitute parts" msgstr "Consenti l'allocazione delle parti sostitutive" -#: build/serializers.py:997 +#: build/serializers.py:996 msgid "Optional Items" msgstr "Articoli Opzionali" -#: build/serializers.py:998 +#: build/serializers.py:997 msgid "Allocate optional BOM items to build order" msgstr "Assegna gli elementi opzionali della distinta base all'ordine di produzione" -#: build/serializers.py:1020 +#: build/serializers.py:1019 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1110 part/models.py:3930 part/models.py:4366 -#: stock/api.py:758 +#: build/serializers.py:1109 part/models.py:3973 part/models.py:4409 +#: stock/api.py:792 msgid "BOM Item" msgstr "Distinta base (Bom)" -#: build/serializers.py:1119 templates/js/translated/index.js:130 +#: build/serializers.py:1118 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1124 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:817 part/serializers.py:1489 +#: build/serializers.py:1123 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:832 part/serializers.py:1504 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 @@ -1705,15 +1710,15 @@ msgstr "" msgid "On Order" msgstr "Ordinato" -#: build/serializers.py:1129 part/serializers.py:1491 +#: build/serializers.py:1128 part/serializers.py:1506 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1134 part/bom.py:172 part/serializers.py:1514 +#: build/serializers.py:1133 part/bom.py:172 part/serializers.py:1529 #: part/templates/part/part_base.html:192 -#: templates/js/translated/sales_order.js:1893 +#: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "Disponibilità in magazzino" @@ -1842,18 +1847,18 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "Lo stock non è stato completamente assegnato a questo ordine di produzione" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:297 -#: order/models.py:1294 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:310 +#: order/models.py:1334 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 -#: order/templates/order/sales_order_base.html:192 -#: report/templates/report/inventree_build_order_base.html:125 +#: order/templates/order/sales_order_base.html:196 +#: report/templates/report/inventree_build_order_report.html:125 #: templates/js/translated/build.js:2239 templates/js/translated/part.js:1830 -#: templates/js/translated/purchase_order.js:1740 -#: templates/js/translated/purchase_order.js:2148 -#: templates/js/translated/return_order.js:347 -#: templates/js/translated/return_order.js:751 -#: templates/js/translated/sales_order.js:835 -#: templates/js/translated/sales_order.js:1867 +#: templates/js/translated/purchase_order.js:1739 +#: templates/js/translated/purchase_order.js:2147 +#: templates/js/translated/return_order.js:346 +#: templates/js/translated/return_order.js:750 +#: templates/js/translated/sales_order.js:871 +#: templates/js/translated/sales_order.js:1903 msgid "Target Date" msgstr "Data scadenza" @@ -1866,7 +1871,7 @@ msgstr "Questa produzione era in scadenza il %(target)s" #: build/templates/build/build_base.html:222 #: order/templates/order/order_base.html:122 #: order/templates/order/return_order_base.html:117 -#: order/templates/order/sales_order_base.html:122 +#: order/templates/order/sales_order_base.html:126 #: templates/js/translated/table_filters.js:98 #: templates/js/translated/table_filters.js:524 #: templates/js/translated/table_filters.js:626 @@ -1880,24 +1885,24 @@ msgid "Completed Outputs" msgstr "Outputs Completati" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:1538 -#: order/models.py:1652 order/models.py:1806 +#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:848 +#: order/models.py:1578 order/models.py:1692 order/models.py:1846 #: 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 +#: report/templates/report/inventree_build_order_report.html:135 +#: report/templates/report/inventree_sales_order_report.html:14 #: stock/templates/stock/item_base.html:369 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:929 -#: templates/js/translated/sales_order.js:769 -#: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2927 +#: templates/js/translated/sales_order.js:805 +#: templates/js/translated/sales_order.js:1028 +#: templates/js/translated/stock.js:2924 msgid "Sales Order" msgstr "Ordini di Vendita" #: build/templates/build/build_base.html:197 #: build/templates/build/detail.html:115 -#: report/templates/report/inventree_build_order_base.html:152 +#: report/templates/report/inventree_build_order_report.html:152 #: templates/js/translated/table_filters.js:24 msgid "Issued By" msgstr "Inviato da" @@ -1907,15 +1912,15 @@ msgstr "Inviato da" msgid "Priority" msgstr "Priorità" -#: build/templates/build/build_base.html:273 +#: build/templates/build/build_base.html:269 msgid "Delete Build Order" msgstr "Elimina ordine di produzione" -#: build/templates/build/build_base.html:283 +#: build/templates/build/build_base.html:279 msgid "Build Order QR Code" msgstr "Genera Codice QR Ordine di produzione" -#: build/templates/build/build_base.html:295 +#: build/templates/build/build_base.html:291 msgid "Link Barcode to Build Order" msgstr "Collega il codice a barre all'ordine di produzione" @@ -1931,8 +1936,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:1430 -#: templates/js/translated/purchase_order.js:2190 +#: build/templates/build/detail.html:49 order/models.py:1470 +#: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "Destinazione" @@ -1947,10 +1952,10 @@ msgstr "Articoli Assegnati" #: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 #: templates/js/translated/build.js:1380 -#: templates/js/translated/model_renderers.js:235 +#: templates/js/translated/model_renderers.js:241 #: templates/js/translated/purchase_order.js:1274 -#: templates/js/translated/stock.js:1133 templates/js/translated/stock.js:2192 -#: templates/js/translated/stock.js:3130 +#: templates/js/translated/stock.js:1133 templates/js/translated/stock.js:2190 +#: templates/js/translated/stock.js:3127 #: templates/js/translated/table_filters.js:313 #: templates/js/translated/table_filters.js:404 msgid "Batch" @@ -1959,7 +1964,7 @@ msgstr "Lotto" #: build/templates/build/detail.html:133 #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:151 -#: order/templates/order/sales_order_base.html:186 +#: order/templates/order/sales_order_base.html:190 #: templates/js/translated/build.js:2199 msgid "Created" msgstr "Creato" @@ -1969,7 +1974,7 @@ msgid "No target date set" msgstr "Nessuna data di destinazione impostata" #: build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:202 +#: order/templates/order/sales_order_base.html:206 #: templates/js/translated/table_filters.js:689 msgid "Completed" msgstr "Completato" @@ -2260,8 +2265,8 @@ msgstr "" #: common/models.py:1316 common/models.py:1372 common/models.py:1385 #: common/models.py:1393 common/models.py:1402 common/models.py:1411 -#: common/models.py:1613 common/models.py:1635 common/models.py:1750 -#: common/models.py:2061 +#: common/models.py:1619 common/models.py:1641 common/models.py:1756 +#: common/models.py:2067 msgid "days" msgstr "giorni" @@ -2402,1209 +2407,1218 @@ msgid "Enable revision field for Part" msgstr "Abilita il campo revisione per l'articolo" #: common/models.py:1440 -msgid "IPN Regex" +msgid "Allow Deletion from Assembly" msgstr "" #: common/models.py:1441 +msgid "Allow deletion of parts which are used in an assembly" +msgstr "" + +#: common/models.py:1446 +msgid "IPN Regex" +msgstr "" + +#: common/models.py:1447 msgid "Regular expression pattern for matching Part IPN" msgstr "Schema di espressione regolare per l'articolo corrispondente IPN" -#: common/models.py:1444 +#: common/models.py:1450 msgid "Allow Duplicate IPN" msgstr "Consenti duplicati IPN" -#: common/models.py:1445 +#: common/models.py:1451 msgid "Allow multiple parts to share the same IPN" msgstr "Permetti a più articoli di condividere lo stesso IPN" -#: common/models.py:1450 +#: common/models.py:1456 msgid "Allow Editing IPN" msgstr "Permetti modifiche al part number interno (IPN)" -#: common/models.py:1451 +#: common/models.py:1457 msgid "Allow changing the IPN value while editing a part" msgstr "Consenti di modificare il valore del part number durante la modifica di un articolo" -#: common/models.py:1456 +#: common/models.py:1462 msgid "Copy Part BOM Data" msgstr "Copia I Dati Della distinta base dell'articolo" -#: common/models.py:1457 +#: common/models.py:1463 msgid "Copy BOM data by default when duplicating a part" msgstr "Copia i dati della Distinta Base predefinita quando duplichi un articolo" -#: common/models.py:1462 +#: common/models.py:1468 msgid "Copy Part Parameter Data" msgstr "Copia I Dati Parametro dell'articolo" -#: common/models.py:1463 +#: common/models.py:1469 msgid "Copy parameter data by default when duplicating a part" msgstr "Copia i dati dei parametri di default quando si duplica un articolo" -#: common/models.py:1468 +#: common/models.py:1474 msgid "Copy Part Test Data" msgstr "Copia I Dati dell'Articolo Test" -#: common/models.py:1469 +#: common/models.py:1475 msgid "Copy test data by default when duplicating a part" msgstr "Copia i dati di prova di default quando si duplica un articolo" -#: common/models.py:1474 +#: common/models.py:1480 msgid "Copy Category Parameter Templates" msgstr "Copia Template Parametri Categoria" -#: common/models.py:1475 +#: common/models.py:1481 msgid "Copy category parameter templates when creating a part" msgstr "Copia i modelli dei parametri categoria quando si crea un articolo" -#: common/models.py:1480 part/admin.py:108 part/models.py:3772 -#: report/models.py:182 stock/serializers.py:99 +#: common/models.py:1486 part/admin.py:108 part/models.py:3815 +#: report/models.py:294 report/models.py:361 report/serializers.py:90 +#: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:767 msgid "Template" msgstr "Modello" -#: common/models.py:1481 +#: common/models.py:1487 msgid "Parts are templates by default" msgstr "Gli articoli sono modelli per impostazione predefinita" -#: common/models.py:1486 part/admin.py:91 part/admin.py:431 part/models.py:1016 +#: common/models.py:1492 part/admin.py:91 part/admin.py:433 part/models.py:1059 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "Assemblaggio" -#: common/models.py:1487 +#: common/models.py:1493 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:1492 part/admin.py:95 part/models.py:1022 +#: common/models.py:1498 part/admin.py:95 part/models.py:1065 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "Componente" -#: common/models.py:1493 +#: common/models.py:1499 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:1498 part/admin.py:100 part/models.py:1034 +#: common/models.py:1504 part/admin.py:100 part/models.py:1077 msgid "Purchaseable" msgstr "Acquistabile" -#: common/models.py:1499 +#: common/models.py:1505 msgid "Parts are purchaseable by default" msgstr "Gli articoli sono acquistabili per impostazione predefinita" -#: common/models.py:1504 part/admin.py:104 part/models.py:1040 +#: common/models.py:1510 part/admin.py:104 part/models.py:1083 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "Vendibile" -#: common/models.py:1505 +#: common/models.py:1511 msgid "Parts are salable by default" msgstr "Gli articoli sono acquistabili per impostazione predefinita" -#: common/models.py:1510 part/admin.py:113 part/models.py:1028 +#: common/models.py:1516 part/admin.py:113 part/models.py:1071 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "Tracciabile" -#: common/models.py:1511 +#: common/models.py:1517 msgid "Parts are trackable by default" msgstr "Gli articoli sono tracciabili per impostazione predefinita" -#: common/models.py:1516 part/admin.py:117 part/models.py:1050 +#: common/models.py:1522 part/admin.py:117 part/models.py:1093 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "Virtuale" -#: common/models.py:1517 +#: common/models.py:1523 msgid "Parts are virtual by default" msgstr "Gli articoli sono virtuali per impostazione predefinita" -#: common/models.py:1522 +#: common/models.py:1528 msgid "Show Import in Views" msgstr "Mostra l'importazione nelle viste" -#: common/models.py:1523 +#: common/models.py:1529 msgid "Display the import wizard in some part views" msgstr "Mostra la procedura guidata di importazione in alcune viste articoli" -#: common/models.py:1528 +#: common/models.py:1534 msgid "Show related parts" msgstr "Mostra articoli correlati" -#: common/models.py:1529 +#: common/models.py:1535 msgid "Display related parts for a part" msgstr "Visualizza parti correlate per ogni articolo" -#: common/models.py:1534 +#: common/models.py:1540 msgid "Initial Stock Data" msgstr "Dati iniziali dello stock" -#: common/models.py:1535 +#: common/models.py:1541 msgid "Allow creation of initial stock when adding a new part" msgstr "Consentire la creazione di uno stock iniziale quando si aggiunge una nuova parte" -#: common/models.py:1540 templates/js/translated/part.js:107 +#: common/models.py:1546 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "Dati iniziali del fornitore" -#: common/models.py:1542 +#: common/models.py:1548 msgid "Allow creation of initial supplier data when adding a new part" msgstr "Consentire la creazione dei dati iniziali del fornitore quando si aggiunge una nuova parte" -#: common/models.py:1548 +#: common/models.py:1554 msgid "Part Name Display Format" msgstr "Formato di visualizzazione del nome articolo" -#: common/models.py:1549 +#: common/models.py:1555 msgid "Format to display the part name" msgstr "Formato per visualizzare il nome dell'articolo" -#: common/models.py:1555 +#: common/models.py:1561 msgid "Part Category Default Icon" msgstr "Icona predefinita Categoria Articolo" -#: common/models.py:1556 +#: common/models.py:1562 msgid "Part category default icon (empty means no icon)" msgstr "Icona predefinita Categoria Articolo (vuoto significa nessuna icona)" -#: common/models.py:1560 +#: common/models.py:1566 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1562 +#: common/models.py:1568 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1568 +#: common/models.py:1574 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1570 +#: common/models.py:1576 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1576 +#: common/models.py:1582 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1578 +#: common/models.py:1584 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1584 +#: common/models.py:1590 msgid "Use Supplier Pricing" msgstr "Usa Prezzi Fornitore" -#: common/models.py:1586 +#: common/models.py:1592 msgid "Include supplier price breaks in overall pricing calculations" msgstr "Includere le discontinuità di prezzo del fornitore nei calcoli generali dei prezzi" -#: common/models.py:1592 +#: common/models.py:1598 msgid "Purchase History Override" msgstr "Ignora la Cronologia Acquisti" -#: common/models.py:1594 +#: common/models.py:1600 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "Cronologia dei prezzi dell'ordine di acquisto del fornitore superati con discontinuità di prezzo" -#: common/models.py:1600 +#: common/models.py:1606 msgid "Use Stock Item Pricing" msgstr "Utilizzare i prezzi degli articoli in stock" -#: common/models.py:1602 +#: common/models.py:1608 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "Utilizzare i prezzi dei dati di magazzino inseriti manualmente per il calcolo dei prezzi" -#: common/models.py:1608 +#: common/models.py:1614 msgid "Stock Item Pricing Age" msgstr "Età dei prezzi degli articoli in stock" -#: common/models.py:1610 +#: common/models.py:1616 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "Escludere dal calcolo dei prezzi gli articoli in giacenza più vecchi di questo numero di giorni" -#: common/models.py:1617 +#: common/models.py:1623 msgid "Use Variant Pricing" msgstr "Utilizza Variazione di Prezzo" -#: common/models.py:1618 +#: common/models.py:1624 msgid "Include variant pricing in overall pricing calculations" msgstr "Includi la variante dei prezzi nei calcoli dei prezzi complessivi" -#: common/models.py:1623 +#: common/models.py:1629 msgid "Active Variants Only" msgstr "Solo Varianti Attive" -#: common/models.py:1625 +#: common/models.py:1631 msgid "Only use active variant parts for calculating variant pricing" msgstr "Utilizza solo articoli di varianti attive per calcolare i prezzi delle varianti" -#: common/models.py:1631 +#: common/models.py:1637 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1633 +#: common/models.py:1639 msgid "Number of days before part pricing is automatically updated" msgstr "Numero di giorni prima che il prezzo dell'articolo venga aggiornato automaticamente" -#: common/models.py:1640 +#: common/models.py:1646 msgid "Internal Prices" msgstr "Prezzi interni" -#: common/models.py:1641 +#: common/models.py:1647 msgid "Enable internal prices for parts" msgstr "Abilita prezzi interni per gli articoli" -#: common/models.py:1646 +#: common/models.py:1652 msgid "Internal Price Override" msgstr "Sovrascrivi Prezzo Interno" -#: common/models.py:1648 +#: common/models.py:1654 msgid "If available, internal prices override price range calculations" msgstr "Se disponibile, i prezzi interni sostituiscono i calcoli della fascia di prezzo" -#: common/models.py:1654 +#: common/models.py:1660 msgid "Enable label printing" msgstr "Abilita stampa etichette" -#: common/models.py:1655 +#: common/models.py:1661 msgid "Enable label printing from the web interface" msgstr "Abilita la stampa di etichette dall'interfaccia web" -#: common/models.py:1660 +#: common/models.py:1666 msgid "Label Image DPI" msgstr "Etichetta Immagine DPI" -#: common/models.py:1662 +#: common/models.py:1668 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "Risoluzione DPI quando si generano file di immagine da fornire ai plugin di stampa per etichette" -#: common/models.py:1668 +#: common/models.py:1674 msgid "Enable Reports" msgstr "Abilita Report di Stampa" -#: common/models.py:1669 +#: common/models.py:1675 msgid "Enable generation of reports" msgstr "Abilita generazione di report di stampa" -#: common/models.py:1674 templates/stats.html:25 +#: common/models.py:1680 templates/stats.html:25 msgid "Debug Mode" msgstr "Modalità Debug" -#: common/models.py:1675 +#: common/models.py:1681 msgid "Generate reports in debug mode (HTML output)" msgstr "Genera report in modalità debug (output HTML)" -#: common/models.py:1680 +#: common/models.py:1686 msgid "Log Report Errors" msgstr "" -#: common/models.py:1681 +#: common/models.py:1687 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1686 plugin/builtin/labels/label_sheet.py:28 -#: report/models.py:203 +#: common/models.py:1692 plugin/builtin/labels/label_sheet.py:28 +#: report/models.py:302 msgid "Page Size" msgstr "Dimensioni pagina" -#: common/models.py:1687 +#: common/models.py:1693 msgid "Default page size for PDF reports" msgstr "Dimensione predefinita della pagina per i report PDF" -#: common/models.py:1692 +#: common/models.py:1698 msgid "Enable Test Reports" msgstr "Abilita Rapporto di Prova" -#: common/models.py:1693 +#: common/models.py:1699 msgid "Enable generation of test reports" msgstr "Abilita generazione di stampe di prova" -#: common/models.py:1698 +#: common/models.py:1704 msgid "Attach Test Reports" msgstr "Allega Rapporto di Prova" -#: common/models.py:1700 +#: common/models.py:1706 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "Quando si stampa un rapporto di prova, allegare una copia del rapporto di prova all'elemento di magazzino associato" -#: common/models.py:1706 +#: common/models.py:1712 msgid "Globally Unique Serials" msgstr "Seriali Unici Globali" -#: common/models.py:1707 +#: common/models.py:1713 msgid "Serial numbers for stock items must be globally unique" msgstr "I numeri di serie per gli articoli di magazzino devono essere univoci" -#: common/models.py:1712 +#: common/models.py:1718 msgid "Autofill Serial Numbers" msgstr "Auto Riempimento Numeri Seriali" -#: common/models.py:1713 +#: common/models.py:1719 msgid "Autofill serial numbers in forms" msgstr "Auto riempimento numeri nel modulo" -#: common/models.py:1718 +#: common/models.py:1724 msgid "Delete Depleted Stock" msgstr "Elimina scorte esaurite" -#: common/models.py:1720 +#: common/models.py:1726 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1726 +#: common/models.py:1732 msgid "Batch Code Template" msgstr "Modello Codice a Barre" -#: common/models.py:1728 +#: common/models.py:1734 msgid "Template for generating default batch codes for stock items" msgstr "Modello per la generazione di codici batch predefiniti per gli elementi stock" -#: common/models.py:1733 +#: common/models.py:1739 msgid "Stock Expiry" msgstr "Scadenza giacenza" -#: common/models.py:1734 +#: common/models.py:1740 msgid "Enable stock expiry functionality" msgstr "Abilita funzionalità di scadenza della giacenza" -#: common/models.py:1739 +#: common/models.py:1745 msgid "Sell Expired Stock" msgstr "Vendi giacenza scaduta" -#: common/models.py:1740 +#: common/models.py:1746 msgid "Allow sale of expired stock" msgstr "Consenti la vendita di stock scaduti" -#: common/models.py:1745 +#: common/models.py:1751 msgid "Stock Stale Time" msgstr "Tempo di Scorta del Magazzino" -#: common/models.py:1747 +#: common/models.py:1753 msgid "Number of days stock items are considered stale before expiring" msgstr "Numero di giorni in cui gli articoli in magazzino sono considerati obsoleti prima della scadenza" -#: common/models.py:1754 +#: common/models.py:1760 msgid "Build Expired Stock" msgstr "Crea giacenza scaduta" -#: common/models.py:1755 +#: common/models.py:1761 msgid "Allow building with expired stock" msgstr "Permetti produzione con stock scaduto" -#: common/models.py:1760 +#: common/models.py:1766 msgid "Stock Ownership Control" msgstr "Controllo della proprietà della giacenza" -#: common/models.py:1761 +#: common/models.py:1767 msgid "Enable ownership control over stock locations and items" msgstr "Abilita il controllo della proprietà sulle posizioni e gli oggetti in giacenza" -#: common/models.py:1766 +#: common/models.py:1772 msgid "Stock Location Default Icon" msgstr "Icona Predefinita Ubicazione di Magazzino" -#: common/models.py:1767 +#: common/models.py:1773 msgid "Stock location default icon (empty means no icon)" msgstr "Icona Predefinita Ubicazione di Magazzino (vuoto significa nessuna icona)" -#: common/models.py:1771 +#: common/models.py:1777 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1772 +#: common/models.py:1778 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1777 +#: common/models.py:1783 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1779 +#: common/models.py:1785 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1785 +#: common/models.py:1791 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1787 +#: common/models.py:1793 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1793 +#: common/models.py:1799 msgid "Build Order Reference Pattern" msgstr "Modello Di Riferimento Ordine Di Produzione" -#: common/models.py:1795 +#: common/models.py:1801 msgid "Required pattern for generating Build Order reference field" msgstr "Modello richiesto per generare il campo di riferimento ordine di produzione" -#: common/models.py:1801 common/models.py:1829 common/models.py:1851 -#: common/models.py:1879 +#: common/models.py:1807 common/models.py:1835 common/models.py:1857 +#: common/models.py:1885 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1802 common/models.py:1830 common/models.py:1852 -#: common/models.py:1880 +#: common/models.py:1808 common/models.py:1836 common/models.py:1858 +#: common/models.py:1886 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1807 +#: common/models.py:1813 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1809 +#: common/models.py:1815 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1815 +#: common/models.py:1821 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1816 +#: common/models.py:1822 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1821 +#: common/models.py:1827 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1823 +#: common/models.py:1829 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1835 +#: common/models.py:1841 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1837 +#: common/models.py:1843 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1843 +#: common/models.py:1849 msgid "Sales Order Reference Pattern" msgstr "Modello Di Riferimento Ordine Di Vendita" -#: common/models.py:1845 +#: common/models.py:1851 msgid "Required pattern for generating Sales Order reference field" msgstr "Modello richiesto per generare il campo di riferimento ordine di vendita" -#: common/models.py:1857 +#: common/models.py:1863 msgid "Sales Order Default Shipment" msgstr "Spedizione Predefinita Ordine Di Vendita" -#: common/models.py:1858 +#: common/models.py:1864 msgid "Enable creation of default shipment with sales orders" msgstr "Abilita la creazione di spedizioni predefinite con ordini di vendita" -#: common/models.py:1863 +#: common/models.py:1869 msgid "Edit Completed Sales Orders" msgstr "Modifica Ordini Di Vendita Completati" -#: common/models.py:1865 +#: common/models.py:1871 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "Consenti la modifica degli ordini di vendita dopo che sono stati spediti o completati" -#: common/models.py:1871 +#: common/models.py:1877 msgid "Purchase Order Reference Pattern" msgstr "Modello di Riferimento Ordine D'Acquisto" -#: common/models.py:1873 +#: common/models.py:1879 msgid "Required pattern for generating Purchase Order reference field" msgstr "Modello richiesto per generare il campo di riferimento ordine di acquisto" -#: common/models.py:1885 +#: common/models.py:1891 msgid "Edit Completed Purchase Orders" msgstr "Modifica Ordini Di Acquisto Completati" -#: common/models.py:1887 +#: common/models.py:1893 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "Consenti la modifica degli ordini di acquisto dopo che sono stati spediti o completati" -#: common/models.py:1893 +#: common/models.py:1899 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1895 +#: common/models.py:1901 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1902 +#: common/models.py:1908 msgid "Enable password forgot" msgstr "Abilita password dimenticata" -#: common/models.py:1903 +#: common/models.py:1909 msgid "Enable password forgot function on the login pages" msgstr "Abilita la funzione password dimenticata nelle pagine di accesso" -#: common/models.py:1908 +#: common/models.py:1914 msgid "Enable registration" msgstr "Abilita registrazione" -#: common/models.py:1909 +#: common/models.py:1915 msgid "Enable self-registration for users on the login pages" msgstr "Abilita auto-registrazione per gli utenti nelle pagine di accesso" -#: common/models.py:1914 +#: common/models.py:1920 msgid "Enable SSO" msgstr "SSO abilitato" -#: common/models.py:1915 +#: common/models.py:1921 msgid "Enable SSO on the login pages" msgstr "Abilita SSO nelle pagine di accesso" -#: common/models.py:1920 +#: common/models.py:1926 msgid "Enable SSO registration" msgstr "Abilita registrazione SSO" -#: common/models.py:1922 +#: common/models.py:1928 msgid "Enable self-registration via SSO for users on the login pages" msgstr "Abilita l'auto-registrazione tramite SSO per gli utenti nelle pagine di accesso" -#: common/models.py:1928 +#: common/models.py:1934 msgid "Email required" msgstr "Email richiesta" -#: common/models.py:1929 +#: common/models.py:1935 msgid "Require user to supply mail on signup" msgstr "Richiedi all'utente di fornire una email al momento dell'iscrizione" -#: common/models.py:1934 +#: common/models.py:1940 msgid "Auto-fill SSO users" msgstr "Riempimento automatico degli utenti SSO" -#: common/models.py:1936 +#: common/models.py:1942 msgid "Automatically fill out user-details from SSO account-data" msgstr "Compila automaticamente i dettagli dell'utente dai dati dell'account SSO" -#: common/models.py:1942 +#: common/models.py:1948 msgid "Mail twice" msgstr "Posta due volte" -#: common/models.py:1943 +#: common/models.py:1949 msgid "On signup ask users twice for their mail" msgstr "Al momento della registrazione chiedere due volte all'utente l'indirizzo di posta elettronica" -#: common/models.py:1948 +#: common/models.py:1954 msgid "Password twice" msgstr "Password due volte" -#: common/models.py:1949 +#: common/models.py:1955 msgid "On signup ask users twice for their password" msgstr "Al momento della registrazione chiedere agli utenti due volte l'inserimento della password" -#: common/models.py:1954 +#: common/models.py:1960 msgid "Allowed domains" msgstr "Domini consentiti" -#: common/models.py:1956 +#: common/models.py:1962 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1962 +#: common/models.py:1968 msgid "Group on signup" msgstr "Gruppo iscrizione" -#: common/models.py:1963 +#: common/models.py:1969 msgid "Group to which new users are assigned on registration" msgstr "Gruppo a cui i nuovi utenti vengono assegnati al momento della registrazione" -#: common/models.py:1968 +#: common/models.py:1974 msgid "Enforce MFA" msgstr "Applica MFA" -#: common/models.py:1969 +#: common/models.py:1975 msgid "Users must use multifactor security." msgstr "Gli utenti devono utilizzare la sicurezza a due fattori." -#: common/models.py:1974 +#: common/models.py:1980 msgid "Check plugins on startup" msgstr "Controlla i plugin all'avvio" -#: common/models.py:1976 +#: common/models.py:1982 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "Controlla che tutti i plugin siano installati all'avvio - abilita in ambienti contenitore" -#: common/models.py:1984 +#: common/models.py:1990 msgid "Check for plugin updates" msgstr "" -#: common/models.py:1985 +#: common/models.py:1991 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:1991 +#: common/models.py:1997 msgid "Enable URL integration" msgstr "Abilita l'integrazione URL" -#: common/models.py:1992 +#: common/models.py:1998 msgid "Enable plugins to add URL routes" msgstr "Attiva plugin per aggiungere percorsi URL" -#: common/models.py:1998 +#: common/models.py:2004 msgid "Enable navigation integration" msgstr "Attiva integrazione navigazione" -#: common/models.py:1999 +#: common/models.py:2005 msgid "Enable plugins to integrate into navigation" msgstr "Abilita i plugin per l'integrazione nella navigazione" -#: common/models.py:2005 +#: common/models.py:2011 msgid "Enable app integration" msgstr "Abilita l'app integrata" -#: common/models.py:2006 +#: common/models.py:2012 msgid "Enable plugins to add apps" msgstr "Abilita plugin per aggiungere applicazioni" -#: common/models.py:2012 +#: common/models.py:2018 msgid "Enable schedule integration" msgstr "Abilita integrazione pianificazione" -#: common/models.py:2013 +#: common/models.py:2019 msgid "Enable plugins to run scheduled tasks" msgstr "Abilita i plugin per eseguire le attività pianificate" -#: common/models.py:2019 +#: common/models.py:2025 msgid "Enable event integration" msgstr "Abilita eventi integrati" -#: common/models.py:2020 +#: common/models.py:2026 msgid "Enable plugins to respond to internal events" msgstr "Abilita plugin per rispondere agli eventi interni" -#: common/models.py:2026 +#: common/models.py:2032 msgid "Enable project codes" msgstr "" -#: common/models.py:2027 +#: common/models.py:2033 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2032 +#: common/models.py:2038 msgid "Stocktake Functionality" msgstr "Funzionalità Dell'Inventario" -#: common/models.py:2034 +#: common/models.py:2040 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "Abilita la funzionalità d'inventario per la registrazione dei livelli di magazzino e il calcolo del valore di magazzino" -#: common/models.py:2040 +#: common/models.py:2046 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2042 +#: common/models.py:2048 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2048 +#: common/models.py:2054 msgid "Automatic Stocktake Period" msgstr "Inventario periodico automatico" -#: common/models.py:2050 +#: common/models.py:2056 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "Numero di giorni tra la registrazione automatica dell'inventario (imposta 0 per disabilitare)" -#: common/models.py:2056 +#: common/models.py:2062 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2058 +#: common/models.py:2064 msgid "Stocktake reports will be deleted after specified number of days" msgstr "I rapporti d'inventario verranno eliminati dopo il numero specificato di giorni" -#: common/models.py:2065 +#: common/models.py:2071 msgid "Display Users full names" msgstr "" -#: common/models.py:2066 +#: common/models.py:2072 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2071 +#: common/models.py:2077 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2072 +#: common/models.py:2078 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2084 common/models.py:2494 +#: common/models.py:2090 common/models.py:2500 msgid "Settings key (must be unique - case insensitive" msgstr "Tasto impostazioni (deve essere univoco - maiuscole e minuscole" -#: common/models.py:2127 +#: common/models.py:2133 msgid "Hide inactive parts" msgstr "Nascondi Articoli Inattivi" -#: common/models.py:2129 +#: common/models.py:2135 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2135 +#: common/models.py:2141 msgid "Show subscribed parts" msgstr "Mostra articoli sottoscritti" -#: common/models.py:2136 +#: common/models.py:2142 msgid "Show subscribed parts on the homepage" msgstr "Mostra gli articoli sottoscritti nella homepage" -#: common/models.py:2141 +#: common/models.py:2147 msgid "Show subscribed categories" msgstr "Mostra le categorie sottoscritte" -#: common/models.py:2142 +#: common/models.py:2148 msgid "Show subscribed part categories on the homepage" msgstr "Mostra le categorie dei componenti sottoscritti nella homepage" -#: common/models.py:2147 +#: common/models.py:2153 msgid "Show latest parts" msgstr "Mostra ultimi articoli" -#: common/models.py:2148 +#: common/models.py:2154 msgid "Show latest parts on the homepage" msgstr "Mostra gli ultimi articoli sulla homepage" -#: common/models.py:2153 +#: common/models.py:2159 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2154 +#: common/models.py:2160 msgid "Show BOMs that await validation on the homepage" msgstr "Mostra le distinte base che attendono la convalida sulla homepage" -#: common/models.py:2159 +#: common/models.py:2165 msgid "Show recent stock changes" msgstr "Mostra le modifiche recenti alle giacenze" -#: common/models.py:2160 +#: common/models.py:2166 msgid "Show recently changed stock items on the homepage" msgstr "Mostra le giacenze modificate di recente nella homepage" -#: common/models.py:2165 +#: common/models.py:2171 msgid "Show low stock" msgstr "Mostra disponibilità scarsa delle giacenze" -#: common/models.py:2166 +#: common/models.py:2172 msgid "Show low stock items on the homepage" msgstr "Mostra disponibilità scarsa degli articoli sulla homepage" -#: common/models.py:2171 +#: common/models.py:2177 msgid "Show depleted stock" msgstr "Mostra scorte esaurite" -#: common/models.py:2172 +#: common/models.py:2178 msgid "Show depleted stock items on the homepage" msgstr "Mostra disponibilità scarsa delle scorte degli articoli sulla homepage" -#: common/models.py:2177 +#: common/models.py:2183 msgid "Show needed stock" msgstr "Mostra scorte necessarie" -#: common/models.py:2178 +#: common/models.py:2184 msgid "Show stock items needed for builds on the homepage" msgstr "Mostra le scorte degli articoli necessari per la produzione sulla homepage" -#: common/models.py:2183 +#: common/models.py:2189 msgid "Show expired stock" msgstr "Mostra scorte esaurite" -#: common/models.py:2184 +#: common/models.py:2190 msgid "Show expired stock items on the homepage" msgstr "Mostra gli articoli stock scaduti nella home page" -#: common/models.py:2189 +#: common/models.py:2195 msgid "Show stale stock" msgstr "Mostra scorte obsolete" -#: common/models.py:2190 +#: common/models.py:2196 msgid "Show stale stock items on the homepage" msgstr "Mostra gli elementi obsoleti esistenti sulla home page" -#: common/models.py:2195 +#: common/models.py:2201 msgid "Show pending builds" msgstr "Mostra produzioni in attesa" -#: common/models.py:2196 +#: common/models.py:2202 msgid "Show pending builds on the homepage" msgstr "Mostra produzioni in attesa sulla homepage" -#: common/models.py:2201 +#: common/models.py:2207 msgid "Show overdue builds" msgstr "Mostra produzioni in ritardo" -#: common/models.py:2202 +#: common/models.py:2208 msgid "Show overdue builds on the homepage" msgstr "Mostra produzioni in ritardo sulla home page" -#: common/models.py:2207 +#: common/models.py:2213 msgid "Show outstanding POs" msgstr "Mostra ordini di produzione inevasi" -#: common/models.py:2208 +#: common/models.py:2214 msgid "Show outstanding POs on the homepage" msgstr "Mostra ordini di produzione inevasi sulla home page" -#: common/models.py:2213 +#: common/models.py:2219 msgid "Show overdue POs" msgstr "Mostra Ordini di Produzione in ritardo" -#: common/models.py:2214 +#: common/models.py:2220 msgid "Show overdue POs on the homepage" msgstr "Mostra Ordini di Produzione in ritardo sulla home page" -#: common/models.py:2219 +#: common/models.py:2225 msgid "Show outstanding SOs" msgstr "Mostra Ordini di Vendita inevasi" -#: common/models.py:2220 +#: common/models.py:2226 msgid "Show outstanding SOs on the homepage" msgstr "Mostra Ordini di Vendita inevasi sulla home page" -#: common/models.py:2225 +#: common/models.py:2231 msgid "Show overdue SOs" msgstr "Mostra Ordini di Vendita in ritardo" -#: common/models.py:2226 +#: common/models.py:2232 msgid "Show overdue SOs on the homepage" msgstr "Mostra Ordini di Vendita in ritardo sulla home page" -#: common/models.py:2231 +#: common/models.py:2237 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2232 +#: common/models.py:2238 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2237 +#: common/models.py:2243 msgid "Show News" msgstr "Mostra Notizie" -#: common/models.py:2238 +#: common/models.py:2244 msgid "Show news on the homepage" msgstr "Mostra notizie sulla home page" -#: common/models.py:2243 +#: common/models.py:2249 msgid "Inline label display" msgstr "Visualizzazione dell'etichetta in linea" -#: common/models.py:2245 +#: common/models.py:2251 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "Visualizza le etichette PDF nel browser, invece di scaricare come file" -#: common/models.py:2251 +#: common/models.py:2257 msgid "Default label printer" msgstr "Stampante per etichette predefinita" -#: common/models.py:2253 +#: common/models.py:2259 msgid "Configure which label printer should be selected by default" msgstr "Configura quale stampante di etichette deve essere selezionata per impostazione predefinita" -#: common/models.py:2259 +#: common/models.py:2265 msgid "Inline report display" msgstr "Visualizzazione dell'etichetta in linea" -#: common/models.py:2261 +#: common/models.py:2267 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "Visualizza le etichette PDF nel browser, invece di scaricare come file" -#: common/models.py:2267 +#: common/models.py:2273 msgid "Search Parts" msgstr "Cerca Articoli" -#: common/models.py:2268 +#: common/models.py:2274 msgid "Display parts in search preview window" msgstr "Mostra articoli della ricerca nella finestra di anteprima" -#: common/models.py:2273 +#: common/models.py:2279 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2274 +#: common/models.py:2280 msgid "Display supplier parts in search preview window" msgstr "Mostra articoli del fornitore nella finestra di anteprima" -#: common/models.py:2279 +#: common/models.py:2285 msgid "Search Manufacturer Parts" msgstr "Cerca Articoli Produttore" -#: common/models.py:2280 +#: common/models.py:2286 msgid "Display manufacturer parts in search preview window" msgstr "Mostra articoli del produttore nella finestra di anteprima" -#: common/models.py:2285 +#: common/models.py:2291 msgid "Hide Inactive Parts" msgstr "Nascondi Articoli Inattivi" -#: common/models.py:2286 +#: common/models.py:2292 msgid "Excluded inactive parts from search preview window" msgstr "Escludi articoli inattivi dalla finestra di anteprima della ricerca" -#: common/models.py:2291 +#: common/models.py:2297 msgid "Search Categories" msgstr "Cerca Categorie" -#: common/models.py:2292 +#: common/models.py:2298 msgid "Display part categories in search preview window" msgstr "Mostra categorie articolo nella finestra di anteprima di ricerca" -#: common/models.py:2297 +#: common/models.py:2303 msgid "Search Stock" msgstr "Cerca Giacenze" -#: common/models.py:2298 +#: common/models.py:2304 msgid "Display stock items in search preview window" msgstr "Mostra articoli in giacenza nella finestra di anteprima della ricerca" -#: common/models.py:2303 +#: common/models.py:2309 msgid "Hide Unavailable Stock Items" msgstr "Nascondi elementi non disponibili" -#: common/models.py:2305 +#: common/models.py:2311 msgid "Exclude stock items which are not available from the search preview window" msgstr "Escludi gli elementi stock che non sono disponibili dalla finestra di anteprima di ricerca" -#: common/models.py:2311 +#: common/models.py:2317 msgid "Search Locations" msgstr "Cerca Ubicazioni" -#: common/models.py:2312 +#: common/models.py:2318 msgid "Display stock locations in search preview window" msgstr "Mostra ubicazioni delle giacenze nella finestra di anteprima di ricerca" -#: common/models.py:2317 +#: common/models.py:2323 msgid "Search Companies" msgstr "Cerca Aziende" -#: common/models.py:2318 +#: common/models.py:2324 msgid "Display companies in search preview window" msgstr "Mostra le aziende nella finestra di anteprima di ricerca" -#: common/models.py:2323 +#: common/models.py:2329 msgid "Search Build Orders" msgstr "Cerca Ordini Di Produzione" -#: common/models.py:2324 +#: common/models.py:2330 msgid "Display build orders in search preview window" msgstr "Mostra gli ordini di produzione nella finestra di anteprima di ricerca" -#: common/models.py:2329 +#: common/models.py:2335 msgid "Search Purchase Orders" msgstr "Cerca Ordini di Acquisto" -#: common/models.py:2330 +#: common/models.py:2336 msgid "Display purchase orders in search preview window" msgstr "Mostra gli ordini di acquisto nella finestra di anteprima di ricerca" -#: common/models.py:2335 +#: common/models.py:2341 msgid "Exclude Inactive Purchase Orders" msgstr "Escludi Ordini D'Acquisto Inattivi" -#: common/models.py:2337 +#: common/models.py:2343 msgid "Exclude inactive purchase orders from search preview window" msgstr "Escludi ordini di acquisto inattivi dalla finestra di anteprima di ricerca" -#: common/models.py:2343 +#: common/models.py:2349 msgid "Search Sales Orders" msgstr "Cerca Ordini Di Vendita" -#: common/models.py:2344 +#: common/models.py:2350 msgid "Display sales orders in search preview window" msgstr "Visualizzazione degli ordini di vendita nella finestra di anteprima della ricerca" -#: common/models.py:2349 +#: common/models.py:2355 msgid "Exclude Inactive Sales Orders" msgstr "Escludi Ordini Di Vendita Inattivi" -#: common/models.py:2351 +#: common/models.py:2357 msgid "Exclude inactive sales orders from search preview window" msgstr "Escludi ordini di vendita inattivi dalla finestra di anteprima di ricerca" -#: common/models.py:2357 +#: common/models.py:2363 msgid "Search Return Orders" msgstr "Cerca Ordini Di Reso" -#: common/models.py:2358 +#: common/models.py:2364 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2363 +#: common/models.py:2369 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2365 +#: common/models.py:2371 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2371 +#: common/models.py:2377 msgid "Search Preview Results" msgstr "Risultati Dell'Anteprima Di Ricerca" -#: common/models.py:2373 +#: common/models.py:2379 msgid "Number of results to show in each section of the search preview window" msgstr "Numero di risultati da visualizzare in ciascuna sezione della finestra di anteprima della ricerca" -#: common/models.py:2379 +#: common/models.py:2385 msgid "Regex Search" msgstr "Ricerca con regex" -#: common/models.py:2380 +#: common/models.py:2386 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2385 +#: common/models.py:2391 msgid "Whole Word Search" msgstr "" -#: common/models.py:2386 +#: common/models.py:2392 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2391 +#: common/models.py:2397 msgid "Show Quantity in Forms" msgstr "Mostra quantità nei moduli" -#: common/models.py:2392 +#: common/models.py:2398 msgid "Display available part quantity in some forms" msgstr "Visualizzare la quantità di pezzi disponibili in alcuni moduli" -#: common/models.py:2397 +#: common/models.py:2403 msgid "Escape Key Closes Forms" msgstr "Il tasto Esc chiude i moduli" -#: common/models.py:2398 +#: common/models.py:2404 msgid "Use the escape key to close modal forms" msgstr "Utilizzare il tasto Esc per chiudere i moduli modali" -#: common/models.py:2403 +#: common/models.py:2409 msgid "Fixed Navbar" msgstr "Barra di navigazione fissa" -#: common/models.py:2404 +#: common/models.py:2410 msgid "The navbar position is fixed to the top of the screen" msgstr "La posizione della barra di navigazione è fissata nella parte superiore dello schermo" -#: common/models.py:2409 +#: common/models.py:2415 msgid "Date Format" msgstr "Formato Data" -#: common/models.py:2410 +#: common/models.py:2416 msgid "Preferred format for displaying dates" msgstr "Formato predefinito per visualizzare le date" -#: common/models.py:2423 part/templates/part/detail.html:41 +#: common/models.py:2429 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Programmazione Prodotto" -#: common/models.py:2424 +#: common/models.py:2430 msgid "Display part scheduling information" msgstr "Mostra informazioni sulla pianificazione del prodotto" -#: common/models.py:2429 part/templates/part/detail.html:62 +#: common/models.py:2435 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Inventario Prodotto" -#: common/models.py:2431 +#: common/models.py:2437 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "Visualizza le informazioni d'inventario dell'articolo (se la funzionalità d'inventario è abilitata)" -#: common/models.py:2437 +#: common/models.py:2443 msgid "Table String Length" msgstr "Lunghezza Stringa Tabella" -#: common/models.py:2439 +#: common/models.py:2445 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2445 +#: common/models.py:2451 msgid "Default part label template" msgstr "" -#: common/models.py:2446 +#: common/models.py:2452 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2451 +#: common/models.py:2457 msgid "Default stock item template" msgstr "" -#: common/models.py:2453 +#: common/models.py:2459 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2459 +#: common/models.py:2465 msgid "Default stock location label template" msgstr "" -#: common/models.py:2461 +#: common/models.py:2467 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2467 +#: common/models.py:2473 msgid "Default build line label template" msgstr "" -#: common/models.py:2469 +#: common/models.py:2475 msgid "The build line label template to be automatically selected" msgstr "" -#: common/models.py:2475 +#: common/models.py:2481 msgid "Receive error reports" msgstr "" -#: common/models.py:2476 +#: common/models.py:2482 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2481 +#: common/models.py:2487 msgid "Last used printing machines" msgstr "" -#: common/models.py:2482 +#: common/models.py:2488 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2525 +#: common/models.py:2531 msgid "Price break quantity" msgstr "Quantità prezzo limite" -#: common/models.py:2532 company/serializers.py:496 order/admin.py:42 -#: order/models.py:1333 order/models.py:2243 +#: common/models.py:2538 company/serializers.py:496 order/admin.py:42 +#: order/models.py:1373 order/models.py:2292 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 -#: templates/js/translated/return_order.js:741 +#: templates/js/translated/return_order.js:740 msgid "Price" msgstr "Prezzo" -#: common/models.py:2533 +#: common/models.py:2539 msgid "Unit price at specified quantity" msgstr "Prezzo unitario in quantità specificata" -#: common/models.py:2704 common/models.py:2889 +#: common/models.py:2710 common/models.py:2895 msgid "Endpoint" msgstr "Scadenza" -#: common/models.py:2705 +#: common/models.py:2711 msgid "Endpoint at which this webhook is received" msgstr "Scadenza in cui questa notifica viene ricevuta" -#: common/models.py:2715 +#: common/models.py:2721 msgid "Name for this webhook" msgstr "Nome per questa notifica" -#: common/models.py:2719 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1045 -#: plugin/models.py:56 templates/js/translated/company.js:523 +#: common/models.py:2725 company/models.py:160 company/models.py:814 +#: machine/models.py:39 part/admin.py:88 part/models.py:1088 +#: plugin/models.py:65 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:492 @@ -3614,135 +3628,135 @@ msgstr "Nome per questa notifica" msgid "Active" msgstr "Attivo" -#: common/models.py:2719 +#: common/models.py:2725 msgid "Is this webhook active" msgstr "È questa notifica attiva" -#: common/models.py:2735 users/models.py:159 +#: common/models.py:2741 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2736 +#: common/models.py:2742 msgid "Token for access" msgstr "Token per l'accesso" -#: common/models.py:2744 +#: common/models.py:2750 msgid "Secret" msgstr "Segreto" -#: common/models.py:2745 +#: common/models.py:2751 msgid "Shared secret for HMAC" msgstr "Segreto condiviso per HMAC" -#: common/models.py:2853 +#: common/models.py:2859 msgid "Message ID" msgstr "ID Messaggio" -#: common/models.py:2854 +#: common/models.py:2860 msgid "Unique identifier for this message" msgstr "Identificatore unico per questo messaggio" -#: common/models.py:2862 +#: common/models.py:2868 msgid "Host" msgstr "" -#: common/models.py:2863 +#: common/models.py:2869 msgid "Host from which this message was received" msgstr "Host da cui questo messaggio è stato ricevuto" -#: common/models.py:2871 +#: common/models.py:2877 msgid "Header" msgstr "Intestazione" -#: common/models.py:2872 +#: common/models.py:2878 msgid "Header of this message" msgstr "Intestazione di questo messaggio" -#: common/models.py:2879 +#: common/models.py:2885 msgid "Body" msgstr "Contenuto" -#: common/models.py:2880 +#: common/models.py:2886 msgid "Body of this message" msgstr "Contenuto di questo messaggio" -#: common/models.py:2890 +#: common/models.py:2896 msgid "Endpoint on which this message was received" msgstr "Scadenza in cui questo messaggio è stato ricevuto" -#: common/models.py:2895 +#: common/models.py:2901 msgid "Worked on" msgstr "Lavorato il" -#: common/models.py:2896 +#: common/models.py:2902 msgid "Was the work on this message finished?" msgstr "Il lavoro su questo messaggio è terminato?" -#: common/models.py:3022 +#: common/models.py:3028 msgid "Id" msgstr "" -#: common/models.py:3024 templates/js/translated/company.js:965 +#: common/models.py:3030 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "Titolo" -#: common/models.py:3028 templates/js/translated/news.js:60 +#: common/models.py:3034 templates/js/translated/news.js:60 msgid "Published" msgstr "Pubblicato" -#: common/models.py:3030 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3036 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "Autore" -#: common/models.py:3032 templates/js/translated/news.js:52 +#: common/models.py:3038 templates/js/translated/news.js:52 msgid "Summary" msgstr "Riepilogo" -#: common/models.py:3035 +#: common/models.py:3041 msgid "Read" msgstr "Letto" -#: common/models.py:3035 +#: common/models.py:3041 msgid "Was this news item read?" msgstr "Queste notizie sull'elemento sono state lette?" -#: common/models.py:3052 company/models.py:156 part/models.py:929 +#: common/models.py:3058 company/models.py:156 part/models.py:972 #: 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 +#: report/templates/report/inventree_return_order_report.html:35 #: stock/templates/stock/item_base.html:133 templates/503.html:31 #: templates/hover_image.html:7 templates/hover_image.html:9 #: templates/modals.html:6 msgid "Image" msgstr "Immagine" -#: common/models.py:3052 +#: common/models.py:3058 msgid "Image file" msgstr "File immagine" -#: common/models.py:3094 +#: common/models.py:3100 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3113 +#: common/models.py:3119 msgid "Unit name" msgstr "" -#: common/models.py:3120 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3126 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3121 +#: common/models.py:3127 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3128 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3134 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3129 +#: common/models.py:3135 msgid "Unit definition" msgstr "" @@ -3929,9 +3943,9 @@ msgid "Contact email address" msgstr "Indirizzo email" #: company/models.py:139 company/templates/company/company_base.html:145 -#: order/models.py:331 order/templates/order/order_base.html:203 +#: order/models.py:344 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 -#: order/templates/order/sales_order_base.html:214 +#: order/templates/order/sales_order_base.html:218 msgid "Contact" msgstr "Contatto" @@ -3977,7 +3991,7 @@ msgstr "Valuta predefinita utilizzata per questa azienda" #: company/models.py:273 company/models.py:382 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:776 +#: company/templates/company/company_base.html:12 stock/api.py:810 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "Azienda" @@ -4069,8 +4083,8 @@ msgstr "" msgid "Link to address information (external)" msgstr "" -#: company/models.py:489 company/models.py:792 stock/models.py:751 -#: stock/serializers.py:266 stock/templates/stock/item_base.html:142 +#: company/models.py:489 company/models.py:792 stock/models.py:772 +#: stock/serializers.py:395 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "Articolo di base" @@ -4081,7 +4095,7 @@ msgstr "Seleziona articolo" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:515 +#: company/templates/company/supplier_part.html:145 part/serializers.py:530 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4096,13 +4110,13 @@ msgid "Select manufacturer" msgstr "Seleziona Produttore" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:525 +#: company/templates/company/supplier_part.html:153 part/serializers.py:540 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800 -#: templates/js/translated/purchase_order.js:1852 -#: templates/js/translated/purchase_order.js:2054 +#: templates/js/translated/purchase_order.js:1851 +#: templates/js/translated/purchase_order.js:2053 msgid "MPN" msgstr "Codice articolo produttore (MPN)" @@ -4129,9 +4143,8 @@ msgstr "Codice articolo produttore" msgid "Parameter name" msgstr "Nome parametro" -#: company/models.py:621 -#: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2448 templates/js/translated/company.js:1166 +#: company/models.py:621 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2425 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492 #: templates/js/translated/stock.js:1522 msgid "Value" @@ -4142,10 +4155,10 @@ msgid "Parameter value" msgstr "Valore del parametro" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1009 part/models.py:3623 +#: part/admin.py:57 part/models.py:1052 part/models.py:3666 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 -#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370 +#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 msgid "Units" msgstr "Unità" @@ -4166,9 +4179,9 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "L'articolo del costruttore collegato deve riferirsi alla stesso articolo" #: company/models.py:802 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:465 +#: company/templates/company/supplier_part.html:129 order/models.py:487 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:499 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:514 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4176,7 +4189,7 @@ msgstr "L'articolo del costruttore collegato deve riferirsi alla stesso articolo #: templates/js/translated/company.js:511 #: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1690 +#: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/table_filters.js:804 msgid "Supplier" msgstr "Fornitore" @@ -4185,7 +4198,7 @@ msgstr "Fornitore" msgid "Select supplier" msgstr "Seleziona fornitore" -#: company/models.py:809 part/serializers.py:510 +#: company/models.py:809 part/serializers.py:525 msgid "Supplier stock keeping unit" msgstr "Unità di giacenza magazzino fornitore" @@ -4206,29 +4219,29 @@ msgid "Supplier part description" msgstr "Descrizione articolo fornitore" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:418 part/models.py:4070 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4113 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 -#: report/templates/report/inventree_slr_report.html:105 -#: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:579 +#: report/templates/report/inventree_purchase_order_report.html:32 +#: report/templates/report/inventree_return_order_report.html:27 +#: report/templates/report/inventree_sales_order_report.html:32 +#: report/templates/report/inventree_stock_location_report.html:105 +#: stock/serializers.py:708 msgid "Note" msgstr "Nota" -#: company/models.py:857 part/models.py:1967 +#: company/models.py:857 part/models.py:2010 msgid "base cost" msgstr "costo base" -#: company/models.py:858 part/models.py:1968 +#: company/models.py:858 part/models.py:2011 msgid "Minimum charge (e.g. stocking fee)" msgstr "Onere minimo (ad esempio tassa di stoccaggio)" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:782 stock/serializers.py:1350 +#: stock/admin.py:224 stock/models.py:803 stock/serializers.py:1479 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 -#: templates/js/translated/stock.js:2426 +#: templates/js/translated/stock.js:2424 msgid "Packaging" msgstr "Confezionamento" @@ -4241,8 +4254,8 @@ msgstr "Imballaggio del pezzo" #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 -#: templates/js/translated/purchase_order.js:2085 -#: templates/js/translated/purchase_order.js:2102 +#: templates/js/translated/purchase_order.js:2084 +#: templates/js/translated/purchase_order.js:2101 msgid "Pack Quantity" msgstr "Quantità Confezione" @@ -4250,7 +4263,7 @@ msgstr "Quantità Confezione" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:892 part/models.py:1974 +#: company/models.py:892 part/models.py:2017 msgid "multiple" msgstr "multiplo" @@ -4285,7 +4298,7 @@ msgstr "In magazzino" #: part/templates/part/part_base.html:146 #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 -#: templates/js/translated/model_renderers.js:306 +#: templates/js/translated/model_renderers.js:312 #: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 msgid "Inactive" msgstr "Inattivo" @@ -4321,11 +4334,11 @@ msgstr "Elimina Azienda" #: company/templates/company/manufacturer_part.html:51 #: company/templates/company/supplier_part.html:83 #: part/templates/part/part_thumb.html:20 -#: report/templates/report/inventree_build_order_base.html:98 -#: report/templates/report/inventree_po_report_base.html:40 -#: report/templates/report/inventree_so_report_base.html:40 -#: report/templates/report/inventree_test_report_base.html:84 -#: report/templates/report/inventree_test_report_base.html:163 +#: report/templates/report/inventree_build_order_report.html:98 +#: report/templates/report/inventree_purchase_order_report.html:40 +#: report/templates/report/inventree_sales_order_report.html:40 +#: report/templates/report/inventree_test_report.html:84 +#: report/templates/report/inventree_test_report.html:163 msgid "Part image" msgstr "" @@ -4344,16 +4357,16 @@ msgstr "Scarica immagine dall'URL" msgid "Delete image" msgstr "Elimina immagine" -#: company/templates/company/company_base.html:92 order/models.py:910 -#: order/models.py:2010 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:144 stock/models.py:804 -#: stock/models.py:805 stock/serializers.py:1100 +#: company/templates/company/company_base.html:92 order/models.py:941 +#: order/models.py:2059 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:148 stock/models.py:825 +#: stock/models.py:826 stock/serializers.py:1229 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 -#: templates/js/translated/return_order.js:296 -#: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2962 +#: templates/js/translated/return_order.js:295 +#: templates/js/translated/sales_order.js:820 +#: templates/js/translated/stock.js:2959 #: templates/js/translated/table_filters.js:808 msgid "Customer" msgstr "Cliente" @@ -4362,10 +4375,10 @@ msgstr "Cliente" msgid "Uses default currency" msgstr "Valuta predefinita" -#: company/templates/company/company_base.html:124 order/models.py:341 +#: company/templates/company/company_base.html:124 order/models.py:354 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 -#: order/templates/order/sales_order_base.html:221 +#: order/templates/order/sales_order_base.html:225 msgid "Address" msgstr "Indirizzo" @@ -4374,7 +4387,7 @@ msgid "Phone" msgstr "Telefono" #: company/templates/company/company_base.html:211 -#: part/templates/part/part_base.html:528 +#: part/templates/part/part_base.html:527 msgid "Remove Image" msgstr "" @@ -4383,19 +4396,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:214 -#: part/templates/part/part_base.html:531 +#: part/templates/part/part_base.html:530 #: templates/InvenTree/settings/user.html:88 #: templates/InvenTree/settings/user_sso.html:43 msgid "Remove" msgstr "Rimuovi" #: company/templates/company/company_base.html:243 -#: part/templates/part/part_base.html:560 +#: part/templates/part/part_base.html:559 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:258 -#: part/templates/part/part_base.html:614 +#: part/templates/part/part_base.html:613 msgid "Download Image" msgstr "" @@ -4558,7 +4571,7 @@ msgstr "Nessuna informazione sul produttore disponibile" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:821 +#: part/admin.py:122 part/serializers.py:836 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4609,10 +4622,10 @@ msgstr "" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:452 -#: stock/models.py:762 stock/templates/stock/item_base.html:233 +#: stock/models.py:783 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 -#: templates/js/translated/stock.js:2282 +#: templates/js/translated/stock.js:2280 msgid "Supplier Part" msgstr "Articolo Fornitore" @@ -4658,11 +4671,11 @@ msgid "No supplier information available" msgstr "Nessuna informazione sul fornitore disponibile" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:509 +#: part/bom.py:311 part/serializers.py:524 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1851 -#: templates/js/translated/purchase_order.js:2029 +#: templates/js/translated/purchase_order.js:1850 +#: templates/js/translated/purchase_order.js:2028 msgid "SKU" msgstr "" @@ -4671,12 +4684,12 @@ msgid "Supplier Part Stock" msgstr "Fornitore articolo in giacenza" #: company/templates/company/supplier_part.html:209 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:199 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:206 msgid "Create new stock item" msgstr "Crea nuova allocazione magazzino" #: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:200 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:207 #: templates/js/translated/stock.js:537 msgid "New Stock Item" msgstr "Nuovo Elemento in giacenza" @@ -4708,16 +4721,16 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:820 part/stocktake.py:223 +#: part/serializers.py:835 part/stocktake.py:223 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:787 stock/serializers.py:951 +#: stock/serializers.py:916 stock/serializers.py:1080 #: stock/templates/stock/location.html:170 -#: stock/templates/stock/location.html:184 -#: stock/templates/stock/location.html:196 +#: stock/templates/stock/location.html:191 +#: stock/templates/stock/location.html:203 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2769 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 #: users/models.py:206 msgid "Stock Items" msgstr "Articoli in magazzino" @@ -4751,126 +4764,48 @@ msgstr "Aziende" msgid "New Company" msgstr "Nuova Azienda" -#: label/api.py:247 -msgid "Error printing label" -msgstr "" - -#: label/models.py:120 -msgid "Label name" -msgstr "Nome etichetta" - -#: label/models.py:128 -msgid "Label description" -msgstr "Descrizione etichetta" - -#: label/models.py:136 -msgid "Label" -msgstr "Etichetta" - -#: label/models.py:137 -msgid "Label template file" -msgstr "File modello etichetta" - -#: label/models.py:143 part/models.py:3494 report/models.py:324 -#: templates/js/translated/part.js:2900 -#: templates/js/translated/table_filters.js:481 -msgid "Enabled" -msgstr "Abilitato" - -#: label/models.py:144 -msgid "Label template is enabled" -msgstr "Modello di etichetta abilitato" - -#: label/models.py:149 -msgid "Width [mm]" -msgstr "Larghezza [mm]" - -#: label/models.py:150 -msgid "Label width, specified in mm" -msgstr "Larghezza dell'etichetta, specificata in mm" - -#: label/models.py:156 -msgid "Height [mm]" -msgstr "Altezza [mm]" - -#: label/models.py:157 -msgid "Label height, specified in mm" -msgstr "Larghezza dell'etichetta, specificata in mm" - -#: label/models.py:163 report/models.py:317 -msgid "Filename Pattern" -msgstr "Formato del nome file" - -#: label/models.py:164 -msgid "Pattern for generating label filenames" -msgstr "Formato del nome file per la generazione etichetta" - -#: label/models.py:313 label/models.py:352 label/models.py:377 -#: label/models.py:412 -msgid "Query filters (comma-separated list of key=value pairs)" -msgstr "" - -#: label/models.py:314 label/models.py:353 label/models.py:378 -#: label/models.py:413 report/models.py:345 report/models.py:496 -#: report/models.py:532 report/models.py:568 report/models.py:750 -msgid "Filters" -msgstr "Filtri" - -#: label/templates/label/part/part_label.html:31 -#: label/templates/label/stockitem/qr.html:21 -#: label/templates/label/stocklocation/qr.html:20 -#: templates/allauth_2fa/setup.html:18 -msgid "QR Code" -msgstr "" - -#: label/templates/label/part/part_label_code128.html:31 -#: label/templates/label/stocklocation/qr_and_text.html:31 -#: templates/qr_code.html:7 -msgid "QR code" -msgstr "" - -#: machine/machine_types/label_printer.py:217 +#: machine/machine_types/label_printer.py:218 msgid "Copies" msgstr "" -#: machine/machine_types/label_printer.py:218 +#: machine/machine_types/label_printer.py:219 msgid "Number of copies to print for each label" msgstr "" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:234 msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:234 order/api.py:1515 -#: templates/js/translated/sales_order.js:1042 +#: machine/machine_types/label_printer.py:235 order/api.py:1515 +#: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "Sconosciuto" -#: machine/machine_types/label_printer.py:235 +#: machine/machine_types/label_printer.py:236 msgid "Printing" msgstr "" -#: machine/machine_types/label_printer.py:236 +#: machine/machine_types/label_printer.py:237 msgid "No media" msgstr "" -#: machine/machine_types/label_printer.py:237 +#: machine/machine_types/label_printer.py:238 msgid "Disconnected" msgstr "" -#: machine/machine_types/label_printer.py:244 +#: machine/machine_types/label_printer.py:245 msgid "Label Printer" msgstr "" -#: machine/machine_types/label_printer.py:245 +#: machine/machine_types/label_printer.py:246 msgid "Directly print labels for various items." msgstr "" -#: machine/machine_types/label_printer.py:251 +#: machine/machine_types/label_printer.py:252 msgid "Printer Location" msgstr "" -#: machine/machine_types/label_printer.py:252 +#: machine/machine_types/label_printer.py:253 msgid "Scope the printer to a specific location" msgstr "" @@ -4930,19 +4865,19 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:89 -#: report/templates/report/inventree_po_report_base.html:31 -#: report/templates/report/inventree_so_report_base.html:31 +#: order/admin.py:30 order/models.py:90 +#: report/templates/report/inventree_purchase_order_report.html:31 +#: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2126 -#: templates/js/translated/sales_order.js:1847 +#: templates/js/translated/purchase_order.js:2125 +#: templates/js/translated/sales_order.js:1883 msgid "Total Price" msgstr "Prezzo Totale" #: order/api.py:161 order/serializers.py:91 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 -#: order/templates/order/sales_order_base.html:118 +#: order/templates/order/sales_order_base.html:122 msgid "Order Status" msgstr "Stato dell'ordine" @@ -4955,10 +4890,10 @@ msgstr "" msgid "No matching purchase order found" msgstr "Nessun ordine di acquisto corrispondente trovato" -#: order/api.py:437 order/api.py:817 order/models.py:1382 order/models.py:1491 -#: order/models.py:1537 order/models.py:1651 order/models.py:1805 -#: order/models.py:2209 order/models.py:2260 -#: templates/js/translated/sales_order.js:1488 +#: order/api.py:437 order/api.py:817 order/models.py:1422 order/models.py:1531 +#: order/models.py:1577 order/models.py:1691 order/models.py:1845 +#: order/models.py:2258 order/models.py:2309 +#: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "Ordine" @@ -4970,402 +4905,398 @@ msgstr "" msgid "Order Pending" msgstr "" -#: order/api.py:1509 order/models.py:1383 order/models.py:1492 -#: order/templates/order/order_base.html:9 +#: order/api.py:1509 order/models.py:381 order/models.py:1423 +#: order/models.py:1532 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 -#: report/templates/report/inventree_po_report_base.html:14 -#: stock/templates/stock/item_base.html:176 +#: report/templates/report/inventree_purchase_order_report.html:14 +#: stock/serializers.py:119 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 -#: templates/js/translated/purchase_order.js:1674 -#: templates/js/translated/stock.js:2262 templates/js/translated/stock.js:2910 +#: templates/js/translated/purchase_order.js:1673 +#: templates/js/translated/stock.js:2260 templates/js/translated/stock.js:2907 msgid "Purchase Order" msgstr "Ordine D'Acquisto" -#: order/api.py:1513 order/models.py:2210 order/models.py:2261 -#: order/templates/order/return_order_base.html:9 +#: order/api.py:1513 order/models.py:2008 order/models.py:2259 +#: order/models.py:2310 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:281 -#: templates/js/translated/stock.js:2944 +#: report/templates/report/inventree_return_order_report.html:13 +#: templates/js/translated/return_order.js:280 +#: templates/js/translated/stock.js:2941 msgid "Return Order" msgstr "Restituisci ordine" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "Prezzo totale dell'ordine" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:96 order/serializers.py:71 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:99 order/serializers.py:72 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:246 +#: order/models.py:248 msgid "Contact does not match selected company" msgstr "Il contatto non corrisponde all'azienda selezionata" -#: order/models.py:278 +#: order/models.py:291 msgid "Order description (optional)" msgstr "Descrizione dell'ordine (opzionale)" -#: order/models.py:287 +#: order/models.py:300 msgid "Select project code for this order" msgstr "Seleziona il codice del progetto per questo ordine" -#: order/models.py:291 order/models.py:1288 order/models.py:1704 +#: order/models.py:304 order/models.py:1328 order/models.py:1744 msgid "Link to external page" msgstr "Collegamento a un sito web esterno" -#: order/models.py:299 +#: order/models.py:312 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "Data prevista per la consegna dell'ordine. L'ordine scadrà dopo questa data." -#: order/models.py:313 +#: order/models.py:326 msgid "Created By" msgstr "Creato Da" -#: order/models.py:321 +#: order/models.py:334 msgid "User or group responsible for this order" msgstr "Utente o gruppo responsabile di questo ordine" -#: order/models.py:332 +#: order/models.py:345 msgid "Point of contact for this order" msgstr "Punto di contatto per questo ordine" -#: order/models.py:342 +#: order/models.py:355 msgid "Company address for this order" msgstr "" -#: order/models.py:443 order/models.py:899 +#: order/models.py:465 order/models.py:930 msgid "Order reference" msgstr "Riferimento ordine" -#: order/models.py:451 order/models.py:923 +#: order/models.py:473 order/models.py:954 msgid "Purchase order status" msgstr "Stato ordine d'acquisto" -#: order/models.py:466 +#: order/models.py:488 msgid "Company from which the items are being ordered" msgstr "Azienda da cui sono stati ordinati gli articoli" -#: order/models.py:477 order/templates/order/order_base.html:148 -#: templates/js/translated/purchase_order.js:1703 +#: order/models.py:499 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1702 msgid "Supplier Reference" msgstr "Riferimento fornitore" -#: order/models.py:478 +#: order/models.py:500 msgid "Supplier order reference code" msgstr "Codice di riferimento ordine fornitore" -#: order/models.py:487 +#: order/models.py:509 msgid "received by" msgstr "ricevuto da" -#: order/models.py:493 order/models.py:2036 +#: order/models.py:515 order/models.py:2085 msgid "Issue Date" msgstr "Data di emissione" -#: order/models.py:494 order/models.py:2037 +#: order/models.py:516 order/models.py:2086 msgid "Date order was issued" msgstr "Data di emissione ordine" -#: order/models.py:501 order/models.py:2044 +#: order/models.py:523 order/models.py:2093 msgid "Date order was completed" msgstr "Data ordine completato" -#: order/models.py:545 +#: order/models.py:567 msgid "Part supplier must match PO supplier" msgstr "Il fornitore dell'articolo deve corrispondere al fornitore dell'ordine di produzione" -#: order/models.py:739 +#: order/models.py:761 msgid "Quantity must be a positive number" msgstr "La quantità deve essere un numero positivo" -#: order/models.py:911 +#: order/models.py:942 msgid "Company to which the items are being sold" msgstr "Azienda da cui sono stati ordinati gli elementi" -#: order/models.py:934 order/models.py:2029 +#: order/models.py:965 order/models.py:2078 msgid "Customer Reference " msgstr "Riferimento Cliente " -#: order/models.py:935 order/models.py:2030 +#: order/models.py:966 order/models.py:2079 msgid "Customer order reference code" msgstr "Codice di riferimento Ordine del Cliente" -#: order/models.py:939 order/models.py:1658 -#: templates/js/translated/sales_order.js:843 -#: templates/js/translated/sales_order.js:1024 +#: order/models.py:970 order/models.py:1698 +#: templates/js/translated/sales_order.js:879 +#: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "Data di spedizione" -#: order/models.py:948 +#: order/models.py:979 msgid "shipped by" msgstr "spedito da" -#: order/models.py:999 -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:1004 +#: order/models.py:1029 msgid "Only an open order can be marked as complete" msgstr "Solo un ordine aperto può essere contrassegnato come completo" -#: order/models.py:1008 templates/js/translated/sales_order.js:506 +#: order/models.py:1033 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:1013 +#: order/models.py:1038 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:1260 +#: order/models.py:1300 msgid "Item quantity" msgstr "Quantità Elementi" -#: order/models.py:1277 +#: order/models.py:1317 msgid "Line item reference" msgstr "Riferimento Linea Elemento" -#: order/models.py:1284 +#: order/models.py:1324 msgid "Line item notes" msgstr "Note linea elemento" -#: order/models.py:1296 +#: order/models.py:1336 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:1317 +#: order/models.py:1357 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1323 +#: order/models.py:1363 msgid "Context" msgstr "Contesto" -#: order/models.py:1324 +#: order/models.py:1364 msgid "Additional context for this line" msgstr "Contesto aggiuntivo per questa voce" -#: order/models.py:1334 +#: order/models.py:1374 msgid "Unit price" msgstr "Prezzo unitario" -#: order/models.py:1367 +#: order/models.py:1407 msgid "Supplier part must match supplier" msgstr "L'articolo del fornitore deve corrispondere al fornitore" -#: order/models.py:1374 +#: order/models.py:1414 msgid "deleted" msgstr "eliminato" -#: order/models.py:1402 +#: order/models.py:1442 msgid "Supplier part" msgstr "Articolo Fornitore" -#: order/models.py:1409 order/templates/order/order_base.html:196 +#: order/models.py:1449 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 #: templates/js/translated/purchase_order.js:1306 -#: templates/js/translated/purchase_order.js:2170 -#: templates/js/translated/return_order.js:764 +#: templates/js/translated/purchase_order.js:2169 +#: templates/js/translated/return_order.js:763 #: templates/js/translated/table_filters.js:120 #: templates/js/translated/table_filters.js:602 msgid "Received" msgstr "Ricevuto" -#: order/models.py:1410 +#: order/models.py:1450 msgid "Number of items received" msgstr "Numero di elementi ricevuti" -#: order/models.py:1418 stock/models.py:923 stock/serializers.py:400 +#: order/models.py:1458 stock/models.py:944 stock/serializers.py:529 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2313 +#: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "Prezzo di Acquisto" -#: order/models.py:1419 +#: order/models.py:1459 msgid "Unit purchase price" msgstr "Prezzo di acquisto unitario" -#: order/models.py:1434 +#: order/models.py:1474 msgid "Where does the Purchaser want this item to be stored?" msgstr "Dove l'Acquirente desidera che questo elemento venga immagazzinato?" -#: order/models.py:1525 +#: order/models.py:1565 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:1530 +#: order/models.py:1570 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:1556 part/templates/part/part_pricing.html:107 +#: order/models.py:1596 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "Prezzo di Vendita" -#: order/models.py:1557 +#: order/models.py:1597 msgid "Unit sale price" msgstr "Prezzo unitario di vendita" -#: order/models.py:1567 +#: order/models.py:1607 msgid "Shipped quantity" msgstr "Quantità spedita" -#: order/models.py:1659 +#: order/models.py:1699 msgid "Date of shipment" msgstr "Data di spedizione" -#: order/models.py:1665 templates/js/translated/sales_order.js:1036 +#: order/models.py:1705 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1666 +#: order/models.py:1706 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1674 +#: order/models.py:1714 msgid "Checked By" msgstr "Verificato Da" -#: order/models.py:1675 +#: order/models.py:1715 msgid "User who checked this shipment" msgstr "Utente che ha controllato questa spedizione" -#: order/models.py:1682 order/models.py:1895 order/serializers.py:1354 -#: order/serializers.py:1464 templates/js/translated/model_renderers.js:448 +#: order/models.py:1722 order/models.py:1935 order/serializers.py:1354 +#: order/serializers.py:1464 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "Spedizione" -#: order/models.py:1683 +#: order/models.py:1723 msgid "Shipment number" msgstr "Numero di spedizione" -#: order/models.py:1691 +#: order/models.py:1731 msgid "Tracking Number" msgstr "Numero di monitoraggio" -#: order/models.py:1692 +#: order/models.py:1732 msgid "Shipment tracking information" msgstr "Informazioni di monitoraggio della spedizione" -#: order/models.py:1699 +#: order/models.py:1739 msgid "Invoice Number" msgstr "Numero Fattura" -#: order/models.py:1700 +#: order/models.py:1740 msgid "Reference number for associated invoice" msgstr "Numero di riferimento per la fattura associata" -#: order/models.py:1720 +#: order/models.py:1760 msgid "Shipment has already been sent" msgstr "La spedizione è già stata spedita" -#: order/models.py:1723 +#: order/models.py:1763 msgid "Shipment has no allocated stock items" msgstr "La spedizione non ha articoli di stock assegnati" -#: order/models.py:1841 order/models.py:1843 +#: order/models.py:1881 order/models.py:1883 msgid "Stock item has not been assigned" msgstr "L'elemento di magazzino non è stato assegnato" -#: order/models.py:1850 +#: order/models.py:1890 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:1853 +#: order/models.py:1893 msgid "Cannot allocate stock to a line without a part" msgstr "Impossibile allocare stock a una riga senza un articolo" -#: order/models.py:1856 +#: order/models.py:1896 msgid "Allocation quantity cannot exceed stock quantity" msgstr "La quantità di ripartizione non puo' superare la disponibilità della giacenza" -#: order/models.py:1875 order/serializers.py:1231 +#: order/models.py:1915 order/serializers.py:1231 msgid "Quantity must be 1 for serialized stock item" msgstr "La quantità deve essere 1 per l'elemento serializzato" -#: order/models.py:1878 +#: order/models.py:1918 msgid "Sales order does not match shipment" msgstr "L'ordine di vendita non corrisponde alla spedizione" -#: order/models.py:1879 plugin/base/barcodes/api.py:481 +#: order/models.py:1919 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "La spedizione non corrisponde all'ordine di vendita" -#: order/models.py:1887 +#: order/models.py:1927 msgid "Line" msgstr "Linea" -#: order/models.py:1896 +#: order/models.py:1936 msgid "Sales order shipment reference" msgstr "Riferimento della spedizione ordine di vendita" -#: order/models.py:1909 order/models.py:2217 -#: templates/js/translated/return_order.js:722 +#: order/models.py:1949 order/models.py:2266 +#: templates/js/translated/return_order.js:721 msgid "Item" msgstr "Elemento" -#: order/models.py:1910 +#: order/models.py:1950 msgid "Select stock item to allocate" msgstr "Seleziona elemento stock da allocare" -#: order/models.py:1919 +#: order/models.py:1959 msgid "Enter stock allocation quantity" msgstr "Inserisci la quantità assegnata alla giacenza" -#: order/models.py:1999 +#: order/models.py:2048 msgid "Return Order reference" msgstr "" -#: order/models.py:2011 +#: order/models.py:2060 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2023 +#: order/models.py:2072 msgid "Return order status" msgstr "" -#: order/models.py:2202 +#: order/models.py:2251 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2218 +#: order/models.py:2267 msgid "Select item to return from customer" msgstr "Seleziona l'elemento da restituire dal cliente" -#: order/models.py:2224 +#: order/models.py:2273 msgid "Received Date" msgstr "Data di ricezione" -#: order/models.py:2225 +#: order/models.py:2274 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2236 templates/js/translated/return_order.js:733 +#: order/models.py:2285 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "Risultati" -#: order/models.py:2237 +#: order/models.py:2286 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2244 +#: order/models.py:2293 msgid "Cost associated with return or repair for this line item" msgstr "" #: order/serializers.py:80 order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 -#: report/templates/report/inventree_po_report_base.html:22 -#: report/templates/report/inventree_return_order_report_base.html:19 -#: report/templates/report/inventree_so_report_base.html:22 +#: report/templates/report/inventree_purchase_order_report.html:22 +#: report/templates/report/inventree_return_order_report.html:19 +#: report/templates/report/inventree_sales_order_report.html:22 msgid "Line Items" msgstr "Elementi Riga" @@ -5595,7 +5526,7 @@ msgstr "Contrassegna ordine come completato" #: order/templates/order/order_base.html:84 #: order/templates/order/return_order_base.html:87 -#: order/templates/order/sales_order_base.html:93 +#: order/templates/order/sales_order_base.html:97 msgid "Complete Order" msgstr "Completa l'ordine" @@ -5605,13 +5536,13 @@ msgstr "" #: order/templates/order/order_base.html:106 #: order/templates/order/return_order_base.html:101 -#: order/templates/order/sales_order_base.html:106 +#: order/templates/order/sales_order_base.html:110 msgid "Order Reference" msgstr "Riferimento ordine" #: order/templates/order/order_base.html:111 #: order/templates/order/return_order_base.html:106 -#: order/templates/order/sales_order_base.html:111 +#: order/templates/order/sales_order_base.html:115 msgid "Order Description" msgstr "Descrizione Dell'Ordine" @@ -5620,19 +5551,19 @@ msgid "No suppplier information available" msgstr "Nessuna informazione sul fornitore disponibile" #: order/templates/order/order_base.html:154 -#: order/templates/order/sales_order_base.html:157 +#: order/templates/order/sales_order_base.html:161 msgid "Completed Line Items" msgstr "Elementi della linea completati" #: order/templates/order/order_base.html:160 -#: order/templates/order/sales_order_base.html:163 -#: order/templates/order/sales_order_base.html:173 +#: order/templates/order/sales_order_base.html:167 +#: order/templates/order/sales_order_base.html:177 msgid "Incomplete" msgstr "Incompleto" #: order/templates/order/order_base.html:179 #: order/templates/order/return_order_base.html:157 -#: report/templates/report/inventree_build_order_base.html:121 +#: report/templates/report/inventree_build_order_report.html:121 msgid "Issued" msgstr "Emesso" @@ -5642,15 +5573,15 @@ msgstr "Costo totale" #: order/templates/order/order_base.html:228 #: order/templates/order/return_order_base.html:199 -#: order/templates/order/sales_order_base.html:239 +#: order/templates/order/sales_order_base.html:243 msgid "Total cost could not be calculated" msgstr "Il costo totale non può essere calcolato" -#: order/templates/order/order_base.html:318 +#: order/templates/order/order_base.html:314 msgid "Purchase Order QR Code" msgstr "" -#: order/templates/order/order_base.html:330 +#: order/templates/order/order_base.html:326 msgid "Link Barcode to Purchase Order" msgstr "" @@ -5707,8 +5638,8 @@ msgstr "Duplica selezionati" #: templates/js/translated/build.js:1629 #: templates/js/translated/purchase_order.js:696 #: templates/js/translated/purchase_order.js:1236 -#: templates/js/translated/return_order.js:506 -#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/return_order.js:505 +#: templates/js/translated/sales_order.js:1145 #: templates/js/translated/stock.js:714 templates/js/translated/stock.js:883 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -5762,7 +5693,7 @@ msgstr "Elementi D'Ordine D'Acquisto" #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 #: templates/js/translated/purchase_order.js:414 -#: templates/js/translated/return_order.js:459 +#: templates/js/translated/return_order.js:458 #: templates/js/translated/sales_order.js:237 msgid "Add Line Item" msgstr "Aggiungi Elemento Riga" @@ -5811,30 +5742,30 @@ msgid "Print packing list" msgstr "Stampa lista d'imballaggio" #: order/templates/order/return_order_base.html:138 -#: order/templates/order/sales_order_base.html:151 -#: templates/js/translated/return_order.js:309 -#: templates/js/translated/sales_order.js:797 +#: order/templates/order/sales_order_base.html:155 +#: templates/js/translated/return_order.js:308 +#: templates/js/translated/sales_order.js:833 msgid "Customer Reference" msgstr "Riferimento Cliente" #: order/templates/order/return_order_base.html:195 -#: order/templates/order/sales_order_base.html:235 +#: order/templates/order/sales_order_base.html:239 #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1072 -#: templates/js/translated/purchase_order.js:1753 -#: templates/js/translated/return_order.js:381 -#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/purchase_order.js:1752 +#: templates/js/translated/return_order.js:380 +#: templates/js/translated/sales_order.js:891 msgid "Total Cost" msgstr "Costo Totale" -#: order/templates/order/return_order_base.html:263 +#: order/templates/order/return_order_base.html:259 msgid "Return Order QR Code" msgstr "" -#: order/templates/order/return_order_base.html:275 +#: order/templates/order/return_order_base.html:271 msgid "Link Barcode to Return Order" msgstr "" @@ -5852,25 +5783,30 @@ msgid "Ship Items" msgstr "Spedisci oggetti" #: order/templates/order/sales_order_base.html:92 -#: templates/js/translated/sales_order.js:484 +#: order/templates/order/sales_order_base.html:93 +msgid "Mark As Shipped" +msgstr "" + +#: order/templates/order/sales_order_base.html:96 +#: templates/js/translated/sales_order.js:536 msgid "Complete Sales Order" msgstr "Completa Ordine Di Vendita" -#: order/templates/order/sales_order_base.html:131 +#: order/templates/order/sales_order_base.html:135 msgid "This Sales Order has not been fully allocated" msgstr "Questo Ordine di Vendita non è stato assegnato completamente" -#: order/templates/order/sales_order_base.html:169 +#: order/templates/order/sales_order_base.html:173 #: order/templates/order/sales_order_detail.html:99 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "Spedizioni Completate" -#: order/templates/order/sales_order_base.html:312 +#: order/templates/order/sales_order_base.html:321 msgid "Sales Order QR Code" msgstr "" -#: order/templates/order/sales_order_base.html:324 +#: order/templates/order/sales_order_base.html:333 msgid "Link Barcode to Sales Order" msgstr "" @@ -5914,12 +5850,12 @@ 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:39 part/admin.py:404 part/models.py:3921 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:406 part/models.py:3964 part/stocktake.py:218 #: stock/admin.py:153 msgid "Part ID" msgstr "Codice Articolo" -#: part/admin.py:41 part/admin.py:411 part/models.py:3922 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:413 part/models.py:3965 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "Nome Articolo" @@ -5928,20 +5864,20 @@ msgstr "Nome Articolo" msgid "Part Description" msgstr "Descrizione Articolo" -#: part/admin.py:48 part/models.py:904 part/templates/part/part_base.html:269 -#: report/templates/report/inventree_slr_report.html:103 -#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2341 -#: templates/js/translated/stock.js:2038 +#: part/admin.py:48 part/models.py:947 part/templates/part/part_base.html:269 +#: report/templates/report/inventree_stock_location_report.html:103 +#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 +#: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "IPN - Numero di riferimento interno" -#: part/admin.py:50 part/models.py:913 part/templates/part/part_base.html:277 -#: report/models.py:195 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2347 +#: part/admin.py:50 part/models.py:956 part/templates/part/part_base.html:277 +#: report/models.py:161 templates/js/translated/part.js:1231 +#: templates/js/translated/part.js:2346 msgid "Revision" msgstr "Revisione" -#: part/admin.py:53 part/admin.py:317 part/models.py:886 +#: part/admin.py:53 part/admin.py:319 part/models.py:929 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "Parole Chiave" @@ -5950,15 +5886,15 @@ msgstr "Parole Chiave" msgid "Part Image" msgstr "" -#: part/admin.py:63 part/admin.py:300 part/stocktake.py:221 +#: part/admin.py:63 part/admin.py:302 part/stocktake.py:221 msgid "Category ID" msgstr "Id Categoria" -#: part/admin.py:67 part/admin.py:302 part/stocktake.py:222 +#: part/admin.py:67 part/admin.py:304 part/stocktake.py:222 msgid "Category Name" msgstr "Nome Categoria" -#: part/admin.py:71 part/admin.py:314 +#: part/admin.py:71 part/admin.py:316 msgid "Default Location ID" msgstr "Posizione Predefinita ID" @@ -5966,11 +5902,11 @@ msgstr "Posizione Predefinita ID" msgid "Default Supplier ID" msgstr "ID Fornitore Predefinito" -#: part/admin.py:81 part/models.py:872 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:915 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "Variante Di" -#: part/admin.py:84 part/models.py:1000 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1043 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "Scorta Minima" @@ -5983,160 +5919,164 @@ msgstr "Utilizzato In" msgid "Building" msgstr "In Costruzione" -#: part/admin.py:155 part/models.py:3080 part/models.py:3094 +#: part/admin.py:155 part/models.py:3123 part/models.py:3137 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "Costo Minimo" -#: part/admin.py:158 part/models.py:3087 part/models.py:3101 +#: part/admin.py:158 part/models.py:3130 part/models.py:3144 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "Costo Massimo" -#: part/admin.py:306 part/admin.py:393 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:211 msgid "Parent ID" msgstr "ID principale" -#: part/admin.py:310 part/admin.py:400 stock/admin.py:62 +#: part/admin.py:312 part/admin.py:402 stock/admin.py:62 msgid "Parent Name" msgstr "Nome Principale" -#: part/admin.py:318 part/templates/part/category.html:88 +#: part/admin.py:320 part/templates/part/category.html:88 #: part/templates/part/category.html:101 msgid "Category Path" msgstr "Percorso Categoria" -#: part/admin.py:323 part/models.py:391 part/serializers.py:117 +#: part/admin.py:325 part/models.py:393 part/serializers.py:117 #: part/serializers.py:272 part/serializers.py:391 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2803 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "Articoli" -#: part/admin.py:384 +#: part/admin.py:386 msgid "BOM Level" msgstr "Livello Distinta Base" -#: part/admin.py:387 +#: part/admin.py:389 msgid "BOM Item ID" msgstr "ID Elemento Distinta Base" -#: part/admin.py:397 +#: part/admin.py:399 msgid "Parent IPN" msgstr "IPN Principale" -#: part/admin.py:408 part/models.py:3923 +#: part/admin.py:410 part/models.py:3966 msgid "Part IPN" msgstr "IPN Articolo" -#: part/admin.py:421 part/serializers.py:1261 +#: part/admin.py:423 part/serializers.py:1276 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "Prezzo Minimo" -#: part/admin.py:426 part/serializers.py:1276 +#: part/admin.py:428 part/serializers.py:1291 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "Prezzo Massimo" -#: part/api.py:119 +#: part/api.py:112 msgid "Starred" msgstr "" -#: part/api.py:121 +#: part/api.py:114 msgid "Filter by starred categories" msgstr "" -#: part/api.py:138 stock/api.py:284 +#: part/api.py:131 stock/api.py:318 msgid "Depth" msgstr "" -#: part/api.py:138 +#: part/api.py:131 msgid "Filter by category depth" msgstr "" -#: part/api.py:156 stock/api.py:302 +#: part/api.py:149 stock/api.py:336 msgid "Cascade" msgstr "" -#: part/api.py:158 +#: part/api.py:151 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:178 +#: part/api.py:171 msgid "Parent" msgstr "" -#: part/api.py:180 +#: part/api.py:173 msgid "Filter by parent category" msgstr "" -#: part/api.py:213 +#: part/api.py:206 msgid "Exclude Tree" msgstr "" -#: part/api.py:215 +#: part/api.py:208 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:461 +#: part/api.py:455 msgid "Has Results" msgstr "" -#: part/api.py:628 +#: part/api.py:622 msgid "Incoming Purchase Order" msgstr "Ordine D'Acquisto In Arrivo" -#: part/api.py:646 +#: part/api.py:640 msgid "Outgoing Sales Order" msgstr "Ordine di Vendita in Uscita" -#: part/api.py:662 +#: part/api.py:656 msgid "Stock produced by Build Order" msgstr "Giacenza prodotta dall'Ordine di Costruzione" -#: part/api.py:746 +#: part/api.py:740 msgid "Stock required for Build Order" msgstr "Giacenza richiesta per l'Ordine di Produzione" -#: part/api.py:893 +#: part/api.py:887 msgid "Valid" msgstr "Valido" -#: part/api.py:894 +#: part/api.py:888 msgid "Validate entire Bill of Materials" msgstr "Convalida l'intera Fattura dei Materiali" -#: part/api.py:900 +#: part/api.py:894 msgid "This option must be selected" msgstr "Questa opzione deve essere selezionata" -#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866 -#: part/serializers.py:406 part/serializers.py:1117 -#: part/templates/part/part_base.html:260 stock/api.py:745 +#: part/api.py:1111 +msgid "BOM Valid" +msgstr "" + +#: part/api.py:1515 part/models.py:939 part/models.py:3429 part/models.py:3909 +#: part/serializers.py:406 part/serializers.py:1132 +#: part/templates/part/part_base.html:260 stock/api.py:779 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2377 +#: templates/js/translated/part.js:2376 msgid "Category" msgstr "Categoria" -#: part/api.py:1849 +#: part/api.py:1803 msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:101 part/models.py:939 +#: part/bom.py:170 part/models.py:102 part/models.py:982 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "Posizione Predefinita" -#: part/bom.py:171 part/serializers.py:822 +#: part/bom.py:171 part/serializers.py:837 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "Giacenze Totali" @@ -6145,698 +6085,712 @@ msgstr "Giacenze Totali" msgid "Input quantity for price calculation" msgstr "Digita la quantità per il calcolo del prezzo" -#: part/models.py:82 part/models.py:3867 part/templates/part/category.html:16 +#: part/models.py:83 part/models.py:3910 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Categoria Articoli" -#: part/models.py:83 part/templates/part/category.html:136 +#: part/models.py:84 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "Categorie Articolo" -#: part/models.py:102 +#: part/models.py:103 msgid "Default location for parts in this category" msgstr "Posizione predefinita per gli articoli di questa categoria" -#: part/models.py:107 stock/models.py:165 templates/js/translated/part.js:2810 -#: templates/js/translated/stock.js:2775 +#: part/models.py:108 stock/models.py:177 templates/js/translated/part.js:2809 +#: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "Strutturale" -#: part/models.py:109 +#: part/models.py:110 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "Le parti non possono essere assegnate direttamente a una categoria strutturale, ma possono essere assegnate a categorie subordinate." -#: part/models.py:118 +#: part/models.py:119 msgid "Default keywords" msgstr "Keywords predefinite" -#: part/models.py:119 +#: part/models.py:120 msgid "Default keywords for parts in this category" msgstr "Parole chiave predefinite per gli articoli in questa categoria" -#: part/models.py:125 stock/models.py:89 stock/models.py:148 +#: part/models.py:126 stock/models.py:89 stock/models.py:160 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "Icona" -#: part/models.py:126 stock/models.py:149 +#: part/models.py:127 stock/models.py:161 msgid "Icon (optional)" msgstr "Icona (facoltativa)" -#: part/models.py:148 +#: part/models.py:149 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "Non puoi rendere principale questa categoria di articoli perché alcuni articoli sono già assegnati!" -#: part/models.py:484 +#: part/models.py:482 +msgid "Cannot delete this part as it is still active" +msgstr "" + +#: part/models.py:489 +msgid "Cannot delete this part as it is used in an assembly" +msgstr "" + +#: part/models.py:527 msgid "Invalid choice for parent part" msgstr "Scelta non valida per l'articolo principale" -#: part/models.py:532 part/models.py:539 +#: part/models.py:575 part/models.py:582 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:551 +#: part/models.py:594 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:616 +#: part/models.py:659 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:696 +#: part/models.py:739 msgid "Stock item with this serial number already exists" msgstr "Esiste già un elemento stock con questo numero seriale" -#: part/models.py:801 +#: part/models.py:844 msgid "Duplicate IPN not allowed in part settings" msgstr "Non è consentito duplicare IPN nelle impostazioni dell'articolo" -#: part/models.py:811 +#: part/models.py:854 msgid "Part with this Name, IPN and Revision already exists." msgstr "Un articolo con questo Nome, IPN e Revisione esiste già." -#: part/models.py:826 +#: part/models.py:869 msgid "Parts cannot be assigned to structural part categories!" msgstr "Gli articoli non possono essere assegnati a categorie articolo principali!" -#: part/models.py:855 part/models.py:3922 +#: part/models.py:898 part/models.py:3965 msgid "Part name" msgstr "Nome articolo" -#: part/models.py:860 +#: part/models.py:903 msgid "Is Template" msgstr "È Template" -#: part/models.py:861 +#: part/models.py:904 msgid "Is this part a template part?" msgstr "Quest'articolo è un articolo di template?" -#: part/models.py:871 +#: part/models.py:914 msgid "Is this part a variant of another part?" msgstr "Questa parte è una variante di un altro articolo?" -#: part/models.py:879 +#: part/models.py:922 msgid "Part description (optional)" msgstr "" -#: part/models.py:887 +#: part/models.py:930 msgid "Part keywords to improve visibility in search results" msgstr "Parole chiave per migliorare la visibilità nei risultati di ricerca" -#: part/models.py:897 +#: part/models.py:940 msgid "Part category" msgstr "Categoria articolo" -#: part/models.py:905 +#: part/models.py:948 msgid "Internal Part Number" msgstr "Numero Dell'articolo Interno" -#: part/models.py:912 +#: part/models.py:955 msgid "Part revision or version number" msgstr "Numero di revisione o di versione" -#: part/models.py:937 +#: part/models.py:980 msgid "Where is this item normally stored?" msgstr "Dove viene normalmente immagazzinato questo articolo?" -#: part/models.py:983 part/templates/part/part_base.html:376 +#: part/models.py:1026 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "Fornitore predefinito" -#: part/models.py:984 +#: part/models.py:1027 msgid "Default supplier part" msgstr "Articolo fornitore predefinito" -#: part/models.py:991 +#: part/models.py:1034 msgid "Default Expiry" msgstr "Scadenza Predefinita" -#: part/models.py:992 +#: part/models.py:1035 msgid "Expiry time (in days) for stock items of this part" msgstr "Scadenza (in giorni) per gli articoli in giacenza di questo pezzo" -#: part/models.py:1001 +#: part/models.py:1044 msgid "Minimum allowed stock level" msgstr "Livello minimo di giacenza consentito" -#: part/models.py:1010 +#: part/models.py:1053 msgid "Units of measure for this part" msgstr "Unita di misura per questo articolo" -#: part/models.py:1017 +#: part/models.py:1060 msgid "Can this part be built from other parts?" msgstr "Questo articolo può essere costruito da altri articoli?" -#: part/models.py:1023 +#: part/models.py:1066 msgid "Can this part be used to build other parts?" msgstr "Questo articolo può essere utilizzato per costruire altri articoli?" -#: part/models.py:1029 +#: part/models.py:1072 msgid "Does this part have tracking for unique items?" msgstr "Questo articolo ha il tracciamento per gli elementi unici?" -#: part/models.py:1035 +#: part/models.py:1078 msgid "Can this part be purchased from external suppliers?" msgstr "Quest'articolo può essere acquistato da fornitori esterni?" -#: part/models.py:1041 +#: part/models.py:1084 msgid "Can this part be sold to customers?" msgstr "Questo pezzo può essere venduto ai clienti?" -#: part/models.py:1045 +#: part/models.py:1088 msgid "Is this part active?" msgstr "Quest'articolo è attivo?" -#: part/models.py:1051 +#: part/models.py:1094 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:1057 +#: part/models.py:1100 msgid "BOM checksum" msgstr "Somma di controllo Distinta Base" -#: part/models.py:1058 +#: part/models.py:1101 msgid "Stored BOM checksum" msgstr "Somma di controllo immagazzinata Distinta Base" -#: part/models.py:1066 +#: part/models.py:1109 msgid "BOM checked by" msgstr "Distinta Base controllata da" -#: part/models.py:1071 +#: part/models.py:1114 msgid "BOM checked date" msgstr "Data di verifica Distinta Base" -#: part/models.py:1087 +#: part/models.py:1130 msgid "Creation User" msgstr "Creazione Utente" -#: part/models.py:1097 +#: part/models.py:1140 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1102 part/templates/part/part_base.html:339 +#: part/models.py:1145 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 -#: templates/js/translated/part.js:2471 +#: templates/js/translated/part.js:2470 msgid "Last Stocktake" msgstr "Ultimo Inventario" -#: part/models.py:1975 +#: part/models.py:2018 msgid "Sell multiple" msgstr "Vendita multipla" -#: part/models.py:2994 +#: part/models.py:3037 msgid "Currency used to cache pricing calculations" msgstr "Valuta utilizzata per calcolare i prezzi" -#: part/models.py:3010 +#: part/models.py:3053 msgid "Minimum BOM Cost" msgstr "Costo Minimo Distinta Base" -#: part/models.py:3011 +#: part/models.py:3054 msgid "Minimum cost of component parts" msgstr "Costo minimo dei componenti dell'articolo" -#: part/models.py:3017 +#: part/models.py:3060 msgid "Maximum BOM Cost" msgstr "Costo Massimo Distinta Base" -#: part/models.py:3018 +#: part/models.py:3061 msgid "Maximum cost of component parts" msgstr "Costo massimo dei componenti dell'articolo" -#: part/models.py:3024 +#: part/models.py:3067 msgid "Minimum Purchase Cost" msgstr "Importo Acquisto Minimo" -#: part/models.py:3025 +#: part/models.py:3068 msgid "Minimum historical purchase cost" msgstr "Costo minimo di acquisto storico" -#: part/models.py:3031 +#: part/models.py:3074 msgid "Maximum Purchase Cost" msgstr "Importo massimo acquisto" -#: part/models.py:3032 +#: part/models.py:3075 msgid "Maximum historical purchase cost" msgstr "Costo massimo di acquisto storico" -#: part/models.py:3038 +#: part/models.py:3081 msgid "Minimum Internal Price" msgstr "Prezzo Interno Minimo" -#: part/models.py:3039 +#: part/models.py:3082 msgid "Minimum cost based on internal price breaks" msgstr "Costo minimo basato su interruzioni di prezzo interne" -#: part/models.py:3045 +#: part/models.py:3088 msgid "Maximum Internal Price" msgstr "Prezzo Interno Massimo" -#: part/models.py:3046 +#: part/models.py:3089 msgid "Maximum cost based on internal price breaks" msgstr "Costo massimo basato su interruzioni di prezzo interne" -#: part/models.py:3052 +#: part/models.py:3095 msgid "Minimum Supplier Price" msgstr "Prezzo Minimo Fornitore" -#: part/models.py:3053 +#: part/models.py:3096 msgid "Minimum price of part from external suppliers" msgstr "Prezzo minimo articolo da fornitori esterni" -#: part/models.py:3059 +#: part/models.py:3102 msgid "Maximum Supplier Price" msgstr "Prezzo Massimo Fornitore" -#: part/models.py:3060 +#: part/models.py:3103 msgid "Maximum price of part from external suppliers" msgstr "Prezzo massimo dell'articolo proveniente da fornitori esterni" -#: part/models.py:3066 +#: part/models.py:3109 msgid "Minimum Variant Cost" msgstr "Variazione di costo minimo" -#: part/models.py:3067 +#: part/models.py:3110 msgid "Calculated minimum cost of variant parts" msgstr "Costo minimo calcolato di variazione dell'articolo" -#: part/models.py:3073 +#: part/models.py:3116 msgid "Maximum Variant Cost" msgstr "Massima variazione di costo" -#: part/models.py:3074 +#: part/models.py:3117 msgid "Calculated maximum cost of variant parts" msgstr "Costo massimo calcolato di variazione dell'articolo" -#: part/models.py:3081 +#: part/models.py:3124 msgid "Override minimum cost" msgstr "" -#: part/models.py:3088 +#: part/models.py:3131 msgid "Override maximum cost" msgstr "" -#: part/models.py:3095 +#: part/models.py:3138 msgid "Calculated overall minimum cost" msgstr "Costo minimo totale calcolato" -#: part/models.py:3102 +#: part/models.py:3145 msgid "Calculated overall maximum cost" msgstr "Costo massimo totale calcolato" -#: part/models.py:3108 +#: part/models.py:3151 msgid "Minimum Sale Price" msgstr "Prezzo Di Vendita Minimo" -#: part/models.py:3109 +#: part/models.py:3152 msgid "Minimum sale price based on price breaks" msgstr "Prezzo minimo di vendita basato sulle interruzioni di prezzo" -#: part/models.py:3115 +#: part/models.py:3158 msgid "Maximum Sale Price" msgstr "Prezzo Di Vendita Massimo" -#: part/models.py:3116 +#: part/models.py:3159 msgid "Maximum sale price based on price breaks" msgstr "Prezzo massimo di vendita basato sulle interruzioni di prezzo" -#: part/models.py:3122 +#: part/models.py:3165 msgid "Minimum Sale Cost" msgstr "Costo Di Vendita Minimo" -#: part/models.py:3123 +#: part/models.py:3166 msgid "Minimum historical sale price" msgstr "Prezzo storico minimo di vendita" -#: part/models.py:3129 +#: part/models.py:3172 msgid "Maximum Sale Cost" msgstr "Costo Di Vendita Minimo" -#: part/models.py:3130 +#: part/models.py:3173 msgid "Maximum historical sale price" msgstr "Prezzo storico massimo di vendita" -#: part/models.py:3149 +#: part/models.py:3192 msgid "Part for stocktake" msgstr "Articolo per l'inventario" -#: part/models.py:3154 +#: part/models.py:3197 msgid "Item Count" msgstr "Contatore Elemento" -#: part/models.py:3155 +#: part/models.py:3198 msgid "Number of individual stock entries at time of stocktake" msgstr "Numero di scorte individuali al momento dell'inventario" -#: part/models.py:3163 +#: part/models.py:3206 msgid "Total available stock at time of stocktake" msgstr "Totale delle scorte disponibili al momento dell'inventario" -#: part/models.py:3167 part/models.py:3250 +#: part/models.py:3210 part/models.py:3293 #: part/templates/part/part_scheduling.html:13 -#: report/templates/report/inventree_test_report_base.html:106 +#: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 #: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 -#: templates/js/translated/purchase_order.js:1732 -#: templates/js/translated/stock.js:2824 +#: templates/js/translated/purchase_order.js:1731 +#: templates/js/translated/stock.js:2821 msgid "Date" msgstr "Data" -#: part/models.py:3168 +#: part/models.py:3211 msgid "Date stocktake was performed" msgstr "Data in cui è stato effettuato l'inventario" -#: part/models.py:3176 +#: part/models.py:3219 msgid "Additional notes" msgstr "Note aggiuntive" -#: part/models.py:3186 +#: part/models.py:3229 msgid "User who performed this stocktake" msgstr "Utente che ha eseguito questo inventario" -#: part/models.py:3192 +#: part/models.py:3235 msgid "Minimum Stock Cost" msgstr "Costo Minimo Scorta" -#: part/models.py:3193 +#: part/models.py:3236 msgid "Estimated minimum cost of stock on hand" msgstr "Costo minimo stimato di magazzino a disposizione" -#: part/models.py:3199 +#: part/models.py:3242 msgid "Maximum Stock Cost" msgstr "Costo Massimo Scorte" -#: part/models.py:3200 +#: part/models.py:3243 msgid "Estimated maximum cost of stock on hand" msgstr "Costo massimo stimato di magazzino a disposizione" -#: part/models.py:3256 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3299 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3257 +#: part/models.py:3300 msgid "Stocktake report file (generated internally)" msgstr "File Report Inventario (generato internamente)" -#: part/models.py:3262 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3305 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "Conteggio Articolo" -#: part/models.py:3263 +#: part/models.py:3306 msgid "Number of parts covered by stocktake" msgstr "Numero di articoli oggetto d'inventario" -#: part/models.py:3273 +#: part/models.py:3316 msgid "User who requested this stocktake report" msgstr "Utente che ha richiesto questo report inventario" -#: part/models.py:3435 +#: part/models.py:3478 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3446 +#: part/models.py:3489 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:3457 +#: part/models.py:3500 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3474 templates/js/translated/part.js:2879 +#: part/models.py:3517 templates/js/translated/part.js:2878 msgid "Test Name" msgstr "Nome Test" -#: part/models.py:3475 +#: part/models.py:3518 msgid "Enter a name for the test" msgstr "Inserisci un nome per la prova" -#: part/models.py:3481 +#: part/models.py:3524 msgid "Test Key" msgstr "" -#: part/models.py:3482 +#: part/models.py:3525 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3489 +#: part/models.py:3532 msgid "Test Description" msgstr "Descrizione Di Prova" -#: part/models.py:3490 +#: part/models.py:3533 msgid "Enter description for this test" msgstr "Inserisci descrizione per questa prova" -#: part/models.py:3494 +#: part/models.py:3537 report/models.py:208 +#: templates/js/translated/part.js:2899 +#: templates/js/translated/table_filters.js:481 +msgid "Enabled" +msgstr "Abilitato" + +#: part/models.py:3537 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3499 templates/js/translated/part.js:2908 +#: part/models.py:3542 templates/js/translated/part.js:2907 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "Richiesto" -#: part/models.py:3500 +#: part/models.py:3543 msgid "Is this test required to pass?" msgstr "Questa prova è necessaria per passare?" -#: part/models.py:3505 templates/js/translated/part.js:2916 +#: part/models.py:3548 templates/js/translated/part.js:2915 msgid "Requires Value" msgstr "Valore richiesto" -#: part/models.py:3506 +#: part/models.py:3549 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:3511 templates/js/translated/part.js:2923 +#: part/models.py:3554 templates/js/translated/part.js:2922 msgid "Requires Attachment" msgstr "Allegato Richiesto" -#: part/models.py:3513 +#: part/models.py:3556 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:3560 +#: part/models.py:3603 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3565 +#: part/models.py:3608 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3585 +#: part/models.py:3628 msgid "Choices must be unique" msgstr "" -#: part/models.py:3602 +#: part/models.py:3645 msgid "Parameter template name must be unique" msgstr "Il nome del modello del parametro deve essere univoco" -#: part/models.py:3617 +#: part/models.py:3660 msgid "Parameter Name" msgstr "Nome Parametro" -#: part/models.py:3624 +#: part/models.py:3667 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3632 +#: part/models.py:3675 msgid "Parameter description" msgstr "Descrizione del parametro" -#: part/models.py:3638 templates/js/translated/part.js:1627 +#: part/models.py:3681 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3639 +#: part/models.py:3682 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3644 templates/js/translated/part.js:1636 +#: part/models.py:3687 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3645 +#: part/models.py:3688 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3722 +#: part/models.py:3765 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3765 +#: part/models.py:3808 msgid "Parent Part" msgstr "Articolo principale" -#: part/models.py:3773 part/models.py:3874 part/models.py:3875 +#: part/models.py:3816 part/models.py:3917 part/models.py:3918 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "Modello Parametro" -#: part/models.py:3778 +#: part/models.py:3821 msgid "Data" msgstr "Dati" -#: part/models.py:3779 +#: part/models.py:3822 msgid "Parameter Value" msgstr "Valore del Parametro" -#: part/models.py:3881 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3924 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "Valore Predefinito" -#: part/models.py:3882 +#: part/models.py:3925 msgid "Default Parameter Value" msgstr "Valore Parametro Predefinito" -#: part/models.py:3920 +#: part/models.py:3963 msgid "Part ID or part name" msgstr "ID articolo o nome articolo" -#: part/models.py:3921 +#: part/models.py:3964 msgid "Unique part ID value" msgstr "Valore ID articolo univoco" -#: part/models.py:3923 +#: part/models.py:3966 msgid "Part IPN value" msgstr "Valore IPN articolo" -#: part/models.py:3924 +#: part/models.py:3967 msgid "Level" msgstr "Livello" -#: part/models.py:3924 +#: part/models.py:3967 msgid "BOM level" msgstr "Livello distinta base" -#: part/models.py:4014 +#: part/models.py:4057 msgid "Select parent part" msgstr "Seleziona articolo principale" -#: part/models.py:4024 +#: part/models.py:4067 msgid "Sub part" msgstr "Articolo subordinato" -#: part/models.py:4025 +#: part/models.py:4068 msgid "Select part to be used in BOM" msgstr "Seleziona l'articolo da utilizzare nella Distinta Base" -#: part/models.py:4036 +#: part/models.py:4079 msgid "BOM quantity for this BOM item" msgstr "Quantità Distinta Base per questo elemento Distinta Base" -#: part/models.py:4042 +#: part/models.py:4085 msgid "This BOM item is optional" msgstr "Questo elemento della Distinta Base è opzionale" -#: part/models.py:4048 +#: part/models.py:4091 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:4055 part/templates/part/upload_bom.html:55 +#: part/models.py:4098 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Eccedenza" -#: part/models.py:4056 +#: part/models.py:4099 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Quantità stimata scarti di produzione (assoluta o percentuale)" -#: part/models.py:4063 +#: part/models.py:4106 msgid "BOM item reference" msgstr "Riferimento Elemento Distinta Base" -#: part/models.py:4071 +#: part/models.py:4114 msgid "BOM item notes" msgstr "Note Elemento Distinta Base" -#: part/models.py:4077 +#: part/models.py:4120 msgid "Checksum" msgstr "Codice di controllo" -#: part/models.py:4078 +#: part/models.py:4121 msgid "BOM line checksum" msgstr "Codice di controllo Distinta Base" -#: part/models.py:4083 templates/js/translated/table_filters.js:174 +#: part/models.py:4126 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "Convalidato" -#: part/models.py:4084 +#: part/models.py:4127 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4089 part/templates/part/upload_bom.html:57 +#: part/models.py:4132 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4090 +#: part/models.py:4133 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:4095 part/templates/part/upload_bom.html:56 +#: part/models.py:4138 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "Consenti Le Varianti" -#: part/models.py:4096 +#: part/models.py:4139 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:4181 stock/models.py:647 +#: part/models.py:4224 stock/models.py:668 msgid "Quantity must be integer value for trackable parts" msgstr "La quantità deve essere un valore intero per gli articoli rintracciabili" -#: part/models.py:4191 part/models.py:4193 +#: part/models.py:4234 part/models.py:4236 msgid "Sub part must be specified" msgstr "L'articolo subordinato deve essere specificato" -#: part/models.py:4333 +#: part/models.py:4376 msgid "BOM Item Substitute" msgstr "Elemento Distinta Base Sostituito" -#: part/models.py:4354 +#: part/models.py:4397 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:4367 +#: part/models.py:4410 msgid "Parent BOM item" msgstr "Elemento principale Distinta Base" -#: part/models.py:4375 +#: part/models.py:4418 msgid "Substitute part" msgstr "Sostituisci l'Articolo" -#: part/models.py:4391 +#: part/models.py:4434 msgid "Part 1" msgstr "Articolo 1" -#: part/models.py:4399 +#: part/models.py:4442 msgid "Part 2" msgstr "Articolo 2" -#: part/models.py:4400 +#: part/models.py:4443 msgid "Select Related Part" msgstr "Seleziona Prodotto Relativo" -#: part/models.py:4419 +#: part/models.py:4462 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:4424 +#: part/models.py:4467 msgid "Duplicate relationship already exists" msgstr "La relazione duplicata esiste già" @@ -6854,7 +6808,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:406 +#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:535 msgid "Purchase currency of this stock item" msgstr "Valuta di acquisto di questo articolo in stock" @@ -6870,299 +6824,299 @@ msgstr "" msgid "Select category" msgstr "" -#: part/serializers.py:437 +#: part/serializers.py:442 msgid "Original Part" msgstr "Articolo Originale" -#: part/serializers.py:438 +#: part/serializers.py:443 msgid "Select original part to duplicate" msgstr "Seleziona l'articolo originale da duplicare" -#: part/serializers.py:443 +#: part/serializers.py:448 msgid "Copy Image" msgstr "Copia immagine" -#: part/serializers.py:444 +#: part/serializers.py:449 msgid "Copy image from original part" msgstr "Copia immagine dall'articolo originale" -#: part/serializers.py:450 part/templates/part/detail.html:277 +#: part/serializers.py:455 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "Copia Distinta Base" -#: part/serializers.py:451 +#: part/serializers.py:456 msgid "Copy bill of materials from original part" msgstr "Copia fattura dei materiali dall'articolo originale" -#: part/serializers.py:457 +#: part/serializers.py:462 msgid "Copy Parameters" msgstr "Copia parametri" -#: part/serializers.py:458 +#: part/serializers.py:463 msgid "Copy parameter data from original part" msgstr "Copia i dati dei parametri dall'articolo originale" -#: part/serializers.py:464 +#: part/serializers.py:469 msgid "Copy Notes" msgstr "" -#: part/serializers.py:465 +#: part/serializers.py:470 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:478 +#: part/serializers.py:488 msgid "Initial Stock Quantity" msgstr "Quantità iniziale" -#: part/serializers.py:480 +#: part/serializers.py:490 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:487 +#: part/serializers.py:497 msgid "Initial Stock Location" msgstr "Ubicazione Iniziale Magazzino" -#: part/serializers.py:488 +#: part/serializers.py:498 msgid "Specify initial stock location for this Part" msgstr "Specificare l'ubicazione iniziale del magazzino per questo Articolo" -#: part/serializers.py:500 +#: part/serializers.py:515 msgid "Select supplier (or leave blank to skip)" msgstr "Seleziona il fornitore (o lascia vuoto per saltare)" -#: part/serializers.py:516 +#: part/serializers.py:531 msgid "Select manufacturer (or leave blank to skip)" msgstr "Seleziona il produttore (o lascia vuoto per saltare)" -#: part/serializers.py:526 +#: part/serializers.py:541 msgid "Manufacturer part number" msgstr "Codice articolo Produttore" -#: part/serializers.py:533 +#: part/serializers.py:548 msgid "Selected company is not a valid supplier" msgstr "L'azienda selezionata non è un fornitore valido" -#: part/serializers.py:542 +#: part/serializers.py:557 msgid "Selected company is not a valid manufacturer" msgstr "L'azienda selezionata non è un produttore valido" -#: part/serializers.py:553 +#: part/serializers.py:568 msgid "Manufacturer part matching this MPN already exists" msgstr "L'articolo del produttore che corrisponde a questo MPN esiste già" -#: part/serializers.py:560 +#: part/serializers.py:575 msgid "Supplier part matching this SKU already exists" msgstr "L'articolo del fornitore che corrisponde a questo SKU esiste già" -#: part/serializers.py:823 +#: part/serializers.py:838 msgid "External Stock" msgstr "" -#: part/serializers.py:825 +#: part/serializers.py:840 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:828 +#: part/serializers.py:843 msgid "Variant Stock" msgstr "" -#: part/serializers.py:856 part/templates/part/copy_part.html:9 +#: part/serializers.py:871 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "Duplica articolo" -#: part/serializers.py:857 +#: part/serializers.py:872 msgid "Copy initial data from another Part" msgstr "Copia i dati iniziali da un altro Articolo" -#: part/serializers.py:863 templates/js/translated/part.js:102 +#: part/serializers.py:878 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "Stock iniziale" -#: part/serializers.py:864 +#: part/serializers.py:879 msgid "Create Part with initial stock quantity" msgstr "Crea Articolo con quantità di scorta iniziale" -#: part/serializers.py:870 +#: part/serializers.py:885 msgid "Supplier Information" msgstr "Informazioni Fornitore" -#: part/serializers.py:871 +#: part/serializers.py:886 msgid "Add initial supplier information for this part" msgstr "Aggiungi le informazioni iniziali del fornitore per questo articolo" -#: part/serializers.py:879 +#: part/serializers.py:894 msgid "Copy Category Parameters" msgstr "Copia Parametri Categoria" -#: part/serializers.py:880 +#: part/serializers.py:895 msgid "Copy parameter templates from selected part category" msgstr "Copia i parametri dai modelli della categoria articolo selezionata" -#: part/serializers.py:885 +#: part/serializers.py:900 msgid "Existing Image" msgstr "" -#: part/serializers.py:886 +#: part/serializers.py:901 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:918 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1109 +#: part/serializers.py:1124 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:1119 +#: part/serializers.py:1134 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:1129 +#: part/serializers.py:1144 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:1135 +#: part/serializers.py:1150 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1136 +#: part/serializers.py:1151 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1141 +#: part/serializers.py:1156 msgid "Generate Report" msgstr "Genera Report" -#: part/serializers.py:1142 +#: part/serializers.py:1157 msgid "Generate report file containing calculated stocktake data" msgstr "Genera file di report contenente dati di inventario calcolati" -#: part/serializers.py:1147 +#: part/serializers.py:1162 msgid "Update Parts" msgstr "Aggiorna Articoli" -#: part/serializers.py:1148 +#: part/serializers.py:1163 msgid "Update specified parts with calculated stocktake data" msgstr "Aggiorna gli articoli specificati con i dati calcolati di inventario" -#: part/serializers.py:1156 +#: part/serializers.py:1171 msgid "Stocktake functionality is not enabled" msgstr "La funzione Inventario non è abilitata" -#: part/serializers.py:1262 +#: part/serializers.py:1277 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1269 +#: part/serializers.py:1284 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1277 +#: part/serializers.py:1292 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1284 +#: part/serializers.py:1299 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1313 +#: part/serializers.py:1328 msgid "Update" msgstr "Aggiorna" -#: part/serializers.py:1314 +#: part/serializers.py:1329 msgid "Update pricing for this part" msgstr "Aggiorna i prezzi per questo articolo" -#: part/serializers.py:1337 +#: part/serializers.py:1352 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1344 +#: part/serializers.py:1359 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1347 +#: part/serializers.py:1362 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1714 +#: part/serializers.py:1729 msgid "Select part to copy BOM from" msgstr "Seleziona l'articolo da cui copiare la distinta base" -#: part/serializers.py:1722 +#: part/serializers.py:1737 msgid "Remove Existing Data" msgstr "Rimuovi Dati Esistenti" -#: part/serializers.py:1723 +#: part/serializers.py:1738 msgid "Remove existing BOM items before copying" msgstr "Rimuovi elementi distinta base esistenti prima di copiare" -#: part/serializers.py:1728 +#: part/serializers.py:1743 msgid "Include Inherited" msgstr "Includi Ereditato" -#: part/serializers.py:1729 +#: part/serializers.py:1744 msgid "Include BOM items which are inherited from templated parts" msgstr "Includi gli elementi Distinta Base ereditati da prodotti template" -#: part/serializers.py:1734 +#: part/serializers.py:1749 msgid "Skip Invalid Rows" msgstr "Salta Righe Non Valide" -#: part/serializers.py:1735 +#: part/serializers.py:1750 msgid "Enable this option to skip invalid rows" msgstr "Abilita questa opzione per saltare le righe non valide" -#: part/serializers.py:1740 +#: part/serializers.py:1755 msgid "Copy Substitute Parts" msgstr "Copia Articoli sostitutivi" -#: part/serializers.py:1741 +#: part/serializers.py:1756 msgid "Copy substitute parts when duplicate BOM items" msgstr "Copia articoli sostitutivi quando duplichi gli elementi distinta base" -#: part/serializers.py:1775 +#: part/serializers.py:1790 msgid "Clear Existing BOM" msgstr "Cancella Distinta Base esistente" -#: part/serializers.py:1776 +#: part/serializers.py:1791 msgid "Delete existing BOM items before uploading" msgstr "Rimuovi elementi distinta base esistenti prima del caricamento" -#: part/serializers.py:1806 +#: part/serializers.py:1821 msgid "No part column specified" msgstr "Nessuna colonna articolo specificata" -#: part/serializers.py:1850 +#: part/serializers.py:1865 msgid "Multiple matching parts found" msgstr "Trovati più articoli corrispondenti" -#: part/serializers.py:1853 +#: part/serializers.py:1868 msgid "No matching part found" msgstr "Nessun articolo corrispondente trovato" -#: part/serializers.py:1856 +#: part/serializers.py:1871 msgid "Part is not designated as a component" msgstr "L'articolo non è indicato come componente" -#: part/serializers.py:1865 +#: part/serializers.py:1880 msgid "Quantity not provided" msgstr "Quantità non fornita" -#: part/serializers.py:1873 +#: part/serializers.py:1888 msgid "Invalid quantity" msgstr "Quantità non valida" -#: part/serializers.py:1894 +#: part/serializers.py:1909 msgid "At least one BOM item is required" msgstr "Almeno un elemento della distinta base è richiesto" #: part/stocktake.py:224 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:2085 +#: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "Quantità Totale" @@ -7314,7 +7268,7 @@ msgstr "Aggiungi informazioni inventario" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2218 users/models.py:204 +#: templates/js/translated/stock.js:2216 users/models.py:204 msgid "Stocktake" msgstr "Inventario" @@ -7412,15 +7366,15 @@ msgstr "Fornitori articoli" msgid "Part Manufacturers" msgstr "Componenti Produttori" -#: part/templates/part/detail.html:659 +#: part/templates/part/detail.html:655 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:667 +#: part/templates/part/detail.html:663 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:752 +#: part/templates/part/detail.html:748 msgid "Add Test Result Template" msgstr "" @@ -7479,7 +7433,7 @@ msgstr "Sottoscrivi le notifiche per questo articolo" #: part/templates/part/part_base.html:52 #: stock/templates/stock/item_base.html:62 -#: stock/templates/stock/location.html:74 +#: stock/templates/stock/location.html:74 templates/js/translated/label.js:142 msgid "Print Label" msgstr "Stampa Etichetta" @@ -7501,7 +7455,7 @@ msgstr "Conta articoli magazzino" msgid "Transfer part stock" msgstr "Trasferisci giacenza" -#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2293 +#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2292 msgid "Part actions" msgstr "Azioni articolo" @@ -7550,7 +7504,7 @@ msgid "Part is virtual (not a physical part)" msgstr "L'Articolo è virtuale (non è un articolo fisico)" #: part/templates/part/part_base.html:163 -#: part/templates/part/part_base.html:682 +#: part/templates/part/part_base.html:681 msgid "Show Part Details" msgstr "Mostra i Dettagli Articolo" @@ -7573,7 +7527,7 @@ msgid "Minimum stock level" msgstr "Livello minimo di giacenza" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2444 +#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2443 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7596,19 +7550,19 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:512 +#: part/templates/part/part_base.html:511 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:529 +#: part/templates/part/part_base.html:528 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:580 +#: part/templates/part/part_base.html:579 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:676 +#: part/templates/part/part_base.html:675 msgid "Hide Part Details" msgstr "" @@ -7667,8 +7621,8 @@ msgstr "Varianti" #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 -#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 -#: templates/js/translated/stock.js:2072 templates/navbar.html:31 +#: templates/js/translated/part.js:2391 templates/js/translated/stock.js:1059 +#: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "Magazzino" @@ -7714,7 +7668,7 @@ msgstr "Modifica" #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 -#: templates/js/translated/stock.js:2248 +#: templates/js/translated/stock.js:2246 msgid "Last Updated" msgstr "Ultimo aggiornamento" @@ -7786,7 +7740,7 @@ msgid "Update Pricing" msgstr "" #: part/templates/part/stock_count.html:7 -#: templates/js/translated/model_renderers.js:221 +#: templates/js/translated/model_renderers.js:227 #: templates/js/translated/part.js:704 templates/js/translated/part.js:2140 #: templates/js/translated/part.js:2142 msgid "No Stock" @@ -7866,7 +7820,7 @@ msgstr "Immagine articolo non trovata" msgid "Part Pricing" msgstr "Prezzo Articolo" -#: plugin/api.py:168 +#: plugin/api.py:170 msgid "Plugin cannot be deleted as it is currently active" msgstr "" @@ -7933,7 +7887,7 @@ msgid "Stock item does not match line item" msgstr "" #: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2589 -#: templates/js/translated/sales_order.js:1917 +#: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "Scorte insufficienti disponibili" @@ -8027,22 +7981,18 @@ msgstr "" msgid "Quantity to allocate" msgstr "" -#: plugin/base/label/label.py:39 +#: plugin/base/label/label.py:39 templates/js/translated/label.js:154 msgid "Label printing failed" msgstr "Stampa etichetta fallita" -#: plugin/base/label/mixins.py:63 +#: plugin/base/label/mixins.py:56 msgid "Error rendering label to PDF" msgstr "" -#: plugin/base/label/mixins.py:76 +#: plugin/base/label/mixins.py:70 msgid "Error rendering label to HTML" msgstr "" -#: plugin/base/label/mixins.py:111 -msgid "Error rendering label to PNG" -msgstr "" - #: plugin/builtin/barcodes/inventree_barcode.py:25 msgid "InvenTree Barcodes" msgstr "InvenTree Codice a Barre" @@ -8054,7 +8004,7 @@ msgstr "Fornisce supporto nativo per codici a barre" #: plugin/builtin/barcodes/inventree_barcode.py:28 #: plugin/builtin/integration/core_notifications.py:35 #: plugin/builtin/integration/currency_exchange.py:21 -#: plugin/builtin/labels/inventree_label.py:23 +#: plugin/builtin/labels/inventree_label.py:22 #: plugin/builtin/labels/inventree_machine.py:64 #: plugin/builtin/labels/label_sheet.py:63 #: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 @@ -8108,19 +8058,19 @@ msgstr "" msgid "Default currency exchange integration" msgstr "" -#: plugin/builtin/labels/inventree_label.py:20 +#: plugin/builtin/labels/inventree_label.py:19 msgid "InvenTree PDF label printer" msgstr "" -#: plugin/builtin/labels/inventree_label.py:21 +#: plugin/builtin/labels/inventree_label.py:20 msgid "Provides native support for printing PDF labels" msgstr "" -#: plugin/builtin/labels/inventree_label.py:29 +#: plugin/builtin/labels/inventree_label.py:28 msgid "Debug mode" msgstr "" -#: plugin/builtin/labels/inventree_label.py:30 +#: plugin/builtin/labels/inventree_label.py:29 msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "" @@ -8132,11 +8082,11 @@ msgstr "" msgid "Provides support for printing using a machine" msgstr "" -#: plugin/builtin/labels/inventree_machine.py:150 +#: plugin/builtin/labels/inventree_machine.py:151 msgid "last used" msgstr "" -#: plugin/builtin/labels/inventree_machine.py:167 +#: plugin/builtin/labels/inventree_machine.py:168 msgid "Options" msgstr "" @@ -8160,7 +8110,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:47 report/models.py:209 +#: plugin/builtin/labels/label_sheet.py:47 report/models.py:308 msgid "Landscape" msgstr "" @@ -8176,11 +8126,11 @@ msgstr "" msgid "Arrays multiple labels onto a single sheet" msgstr "" -#: plugin/builtin/labels/label_sheet.py:94 +#: plugin/builtin/labels/label_sheet.py:99 msgid "Label is too large for page size" msgstr "" -#: plugin/builtin/labels/label_sheet.py:128 +#: plugin/builtin/labels/label_sheet.py:133 msgid "No labels were generated" msgstr "" @@ -8273,61 +8223,62 @@ msgstr "" msgid "Uninstalled plugin successfully" msgstr "" -#: plugin/models.py:30 +#: plugin/models.py:35 msgid "Plugin Configuration" msgstr "Configurazione Plugin" -#: plugin/models.py:31 +#: plugin/models.py:36 msgid "Plugin Configurations" msgstr "Configurazioni Plugin" -#: plugin/models.py:34 users/models.py:100 +#: plugin/models.py:42 users/models.py:100 msgid "Key" msgstr "" -#: plugin/models.py:34 +#: plugin/models.py:43 msgid "Key of plugin" msgstr "Key dei plugin" -#: plugin/models.py:42 +#: plugin/models.py:51 msgid "PluginName of the plugin" msgstr "PluginName del plugin" -#: plugin/models.py:49 plugin/serializers.py:90 +#: plugin/models.py:58 plugin/serializers.py:90 msgid "Package Name" msgstr "Nome Pacchetto" -#: plugin/models.py:51 +#: plugin/models.py:60 msgid "Name of the installed package, if the plugin was installed via PIP" msgstr "" -#: plugin/models.py:56 +#: plugin/models.py:65 msgid "Is the plugin active" msgstr "Il plugin è attivo" -#: plugin/models.py:147 templates/js/translated/table_filters.js:370 +#: plugin/models.py:156 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "Installato" -#: plugin/models.py:156 +#: plugin/models.py:165 msgid "Sample plugin" msgstr "Plugin di esempio" -#: plugin/models.py:164 +#: plugin/models.py:173 msgid "Builtin Plugin" msgstr "Plugin Integrato" -#: plugin/models.py:172 +#: plugin/models.py:181 msgid "Package Plugin" msgstr "" -#: plugin/models.py:196 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:205 report/models.py:475 +#: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" msgstr "" -#: plugin/models.py:243 +#: plugin/models.py:252 msgid "Method" msgstr "Metodo" @@ -8468,239 +8419,323 @@ msgstr "" msgid "Delete the plugin configuration from the database" msgstr "" -#: report/api.py:158 +#: report/api.py:77 msgid "No valid objects provided to template" msgstr "Nessun oggetto valido fornito nel modello" -#: report/api.py:197 report/api.py:234 +#: report/api.py:89 report/serializers.py:53 +msgid "Model Type" +msgstr "" + +#: report/api.py:92 report/models.py:439 report/serializers.py:98 +#: report/serializers.py:148 templates/js/translated/purchase_order.js:1747 +#: templates/js/translated/return_order.js:353 +#: templates/js/translated/sales_order.js:887 +#: templates/js/translated/sales_order.js:1047 +msgid "Items" +msgstr "" + +#: report/api.py:168 +msgid "Plugin not found" +msgstr "" + +#: report/api.py:170 +msgid "Plugin is not active" +msgstr "" + +#: report/api.py:172 +msgid "Plugin does not support label printing" +msgstr "" + +#: report/api.py:221 +msgid "Invalid label dimensions" +msgstr "" + +#: report/api.py:236 report/api.py:316 +msgid "No valid items provided to template" +msgstr "" + +#: report/api.py:271 +msgid "Error printing label" +msgstr "" + +#: report/api.py:362 report/api.py:398 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "Il file del modello '{template}' è mancante o non esiste" -#: report/api.py:319 -msgid "Test report" -msgstr "Report test" - -#: report/helpers.py:15 +#: report/helpers.py:41 msgid "A4" msgstr "" -#: report/helpers.py:16 +#: report/helpers.py:42 msgid "A3" msgstr "" -#: report/helpers.py:17 +#: report/helpers.py:43 msgid "Legal" msgstr "" -#: report/helpers.py:18 +#: report/helpers.py:44 msgid "Letter" msgstr "" -#: report/models.py:177 +#: report/models.py:118 +msgid "Template file with this name already exists" +msgstr "" + +#: report/models.py:150 msgid "Template name" msgstr "Nome modello" -#: report/models.py:183 -msgid "Report template file" -msgstr "File modello di report" +#: report/models.py:156 +msgid "Template description" +msgstr "" -#: report/models.py:190 -msgid "Report template description" -msgstr "Descrizione del modello report" +#: report/models.py:162 +msgid "Revision number (auto-increments)" +msgstr "" -#: report/models.py:196 -msgid "Report revision number (auto-increments)" -msgstr "Numero di revisione del rapporto (auto-incrementi)" +#: report/models.py:202 +msgid "Filename Pattern" +msgstr "Formato del nome file" -#: report/models.py:204 +#: report/models.py:203 +msgid "Pattern for generating filenames" +msgstr "" + +#: report/models.py:208 +msgid "Template is enabled" +msgstr "" + +#: report/models.py:214 +msgid "Target model type for template" +msgstr "" + +#: report/models.py:234 +msgid "Filters" +msgstr "Filtri" + +#: report/models.py:235 +msgid "Template query filters (comma-separated list of key=value pairs)" +msgstr "" + +#: report/models.py:295 report/models.py:362 +msgid "Template file" +msgstr "" + +#: report/models.py:303 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:210 +#: report/models.py:309 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:318 -msgid "Pattern for generating report filenames" -msgstr "Sequenza per generare i nomi dei file report" +#: report/models.py:368 +msgid "Width [mm]" +msgstr "Larghezza [mm]" -#: report/models.py:325 -msgid "Report template is enabled" -msgstr "Modello report abilitato" +#: report/models.py:369 +msgid "Label width, specified in mm" +msgstr "Larghezza dell'etichetta, specificata in mm" -#: report/models.py:347 -msgid "StockItem query filters (comma-separated list of key=value pairs)" -msgstr "Filtri di ricerca elementi di stock (elenco separato da virgole key=coppia di valori)" +#: report/models.py:375 +msgid "Height [mm]" +msgstr "Altezza [mm]" -#: report/models.py:354 -msgid "Include Installed Tests" -msgstr "Includi Test Installati" +#: report/models.py:376 +msgid "Label height, specified in mm" +msgstr "Larghezza dell'etichetta, specificata in mm" -#: report/models.py:356 -msgid "Include test results for stock items installed inside assembled item" -msgstr "Includi i risultati dei test per gli elementi stock installati all'interno dell'elemento assemblato" - -#: report/models.py:424 -msgid "Build Filters" -msgstr "Filtri di produzione" - -#: report/models.py:425 -msgid "Build query filters (comma-separated list of key=value pairs" -msgstr "Filtri di ricerca produzione (elenco separato da virgole key=coppia di valori" - -#: report/models.py:464 -msgid "Part Filters" -msgstr "Filtri Articolo" - -#: report/models.py:465 -msgid "Part query filters (comma-separated list of key=value pairs" -msgstr "Filtri di ricerca articolo (elenco separato da virgole key=coppia di valori" - -#: report/models.py:497 -msgid "Purchase order query filters" -msgstr "Ordine di Acquisto filtra la ricerca" - -#: report/models.py:533 -msgid "Sales order query filters" -msgstr "Ordine di Vendita filtra la ricerca" - -#: report/models.py:569 -msgid "Return order query filters" +#: report/models.py:439 +msgid "Number of items to process" msgstr "" -#: report/models.py:641 -msgid "Snippet file with this name already exists" +#: report/models.py:445 +msgid "Report generation is complete" msgstr "" -#: report/models.py:648 +#: report/models.py:449 templates/js/translated/build.js:2177 +msgid "Progress" +msgstr "" + +#: report/models.py:449 +msgid "Report generation progress" +msgstr "" + +#: report/models.py:457 +msgid "Report Template" +msgstr "" + +#: report/models.py:464 report/models.py:487 +msgid "Output File" +msgstr "" + +#: report/models.py:465 report/models.py:488 +msgid "Generated output file" +msgstr "" + +#: report/models.py:476 +msgid "Label output plugin" +msgstr "" + +#: report/models.py:480 +msgid "Label Template" +msgstr "" + +#: report/models.py:503 msgid "Snippet" msgstr "" -#: report/models.py:649 +#: report/models.py:504 msgid "Report snippet file" msgstr "Report file snippet" -#: report/models.py:656 +#: report/models.py:511 msgid "Snippet file description" msgstr "Descrizione file snippet" -#: report/models.py:714 -msgid "Asset file with this name already exists" -msgstr "" - -#: report/models.py:722 +#: report/models.py:529 msgid "Asset" msgstr "Risorsa" -#: report/models.py:723 +#: report/models.py:530 msgid "Report asset file" msgstr "Report file risorsa" -#: report/models.py:730 +#: report/models.py:537 msgid "Asset file description" msgstr "File risorsa descrizione" -#: report/models.py:752 -msgid "stock location query filters (comma-separated list of key=value pairs)" +#: report/serializers.py:91 +msgid "Select report template" +msgstr "" + +#: report/serializers.py:99 report/serializers.py:149 +msgid "List of item primary keys to include in the report" +msgstr "" + +#: report/serializers.py:132 +msgid "Select label template" +msgstr "" + +#: report/serializers.py:140 +msgid "Printing Plugin" +msgstr "" + +#: report/serializers.py:141 +msgid "Select plugin to use for label printing" +msgstr "" + +#: report/templates/label/part_label.html:31 +#: report/templates/label/stockitem_qr.html:21 +#: report/templates/label/stocklocation_qr.html:20 +#: templates/allauth_2fa/setup.html:18 +msgid "QR Code" +msgstr "" + +#: report/templates/label/part_label_code128.html:31 +#: report/templates/label/stocklocation_qr_and_text.html:31 +#: templates/qr_code.html:7 +msgid "QR code" msgstr "" #: report/templates/report/inventree_bill_of_materials_report.html:133 msgid "Materials needed" msgstr "Materiali necessari" -#: report/templates/report/inventree_build_order_base.html:146 +#: report/templates/report/inventree_build_order_report.html:146 msgid "Required For" msgstr "Richiesto Per" -#: report/templates/report/inventree_po_report_base.html:15 +#: report/templates/report/inventree_purchase_order_report.html:15 msgid "Supplier was deleted" msgstr "Il fornitore è stato eliminato" -#: report/templates/report/inventree_po_report_base.html:30 -#: report/templates/report/inventree_so_report_base.html:30 +#: report/templates/report/inventree_purchase_order_report.html:30 +#: report/templates/report/inventree_sales_order_report.html:30 #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:834 -#: templates/js/translated/purchase_order.js:2116 -#: templates/js/translated/sales_order.js:1837 +#: templates/js/translated/purchase_order.js:2115 +#: templates/js/translated/sales_order.js:1873 msgid "Unit Price" msgstr "Prezzo Unitario" -#: report/templates/report/inventree_po_report_base.html:55 -#: report/templates/report/inventree_return_order_report_base.html:48 -#: report/templates/report/inventree_so_report_base.html:55 +#: report/templates/report/inventree_purchase_order_report.html:55 +#: report/templates/report/inventree_return_order_report.html:48 +#: report/templates/report/inventree_sales_order_report.html:55 msgid "Extra Line Items" 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:2018 -#: templates/js/translated/sales_order.js:1806 +#: report/templates/report/inventree_purchase_order_report.html:72 +#: report/templates/report/inventree_sales_order_report.html:72 +#: templates/js/translated/purchase_order.js:2017 +#: templates/js/translated/sales_order.js:1842 msgid "Total" msgstr "Totale" -#: report/templates/report/inventree_return_order_report_base.html:25 -#: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:809 stock/templates/stock/item_base.html:311 +#: report/templates/report/inventree_return_order_report.html:25 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:830 +#: stock/serializers.py:150 stock/templates/stock/item_base.html:311 #: templates/js/translated/build.js:519 templates/js/translated/build.js:1367 #: templates/js/translated/build.js:2355 -#: templates/js/translated/model_renderers.js:224 -#: templates/js/translated/return_order.js:540 -#: templates/js/translated/return_order.js:724 +#: templates/js/translated/model_renderers.js:230 +#: templates/js/translated/return_order.js:539 +#: templates/js/translated/return_order.js:723 #: templates/js/translated/sales_order.js:315 -#: templates/js/translated/sales_order.js:1611 -#: templates/js/translated/sales_order.js:1696 +#: templates/js/translated/sales_order.js:1647 +#: templates/js/translated/sales_order.js:1732 #: templates/js/translated/stock.js:596 msgid "Serial Number" msgstr "Numero Seriale" -#: report/templates/report/inventree_slr_report.html:97 +#: report/templates/report/inventree_stock_location_report.html:97 msgid "Stock location items" msgstr "" -#: report/templates/report/inventree_test_report_base.html:21 +#: report/templates/report/inventree_test_report.html:21 msgid "Stock Item Test Report" msgstr "Test Report Elemento Stock" -#: report/templates/report/inventree_test_report_base.html:97 +#: report/templates/report/inventree_test_report.html:97 msgid "Test Results" msgstr "Risultati Test" -#: report/templates/report/inventree_test_report_base.html:102 +#: report/templates/report/inventree_test_report.html:102 #: templates/js/translated/stock.js:1495 msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2442 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2419 msgid "Result" msgstr "Risultato" -#: report/templates/report/inventree_test_report_base.html:130 +#: report/templates/report/inventree_test_report.html:130 msgid "Pass" msgstr "Passaggio" -#: report/templates/report/inventree_test_report_base.html:132 +#: report/templates/report/inventree_test_report.html:132 msgid "Fail" msgstr "Fallito" -#: report/templates/report/inventree_test_report_base.html:139 +#: report/templates/report/inventree_test_report.html:139 msgid "No result (required)" msgstr "Nessun risultato (richiesto)" -#: report/templates/report/inventree_test_report_base.html:141 +#: report/templates/report/inventree_test_report.html:141 msgid "No result" msgstr "Nessun risultato" -#: report/templates/report/inventree_test_report_base.html:154 +#: report/templates/report/inventree_test_report.html:154 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "Elementi installati" -#: report/templates/report/inventree_test_report_base.html:168 -#: stock/admin.py:162 templates/js/translated/stock.js:700 -#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3113 +#: report/templates/report/inventree_test_report.html:168 stock/admin.py:162 +#: templates/js/translated/stock.js:700 templates/js/translated/stock.js:871 +#: templates/js/translated/stock.js:3110 msgid "Serial" msgstr "Seriale" @@ -8757,7 +8792,7 @@ msgstr "Nome Fornitore" msgid "Customer ID" msgstr "ID Cliente" -#: stock/admin.py:201 stock/models.py:789 +#: stock/admin.py:201 stock/models.py:810 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "Installato In" @@ -8782,66 +8817,66 @@ msgstr "Revisione Necessaria" msgid "Delete on Deplete" msgstr "Elimina al esaurimento" -#: stock/admin.py:256 stock/models.py:883 +#: stock/admin.py:256 stock/models.py:904 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2232 users/models.py:124 +#: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" msgstr "Data di Scadenza" -#: stock/api.py:284 +#: stock/api.py:318 msgid "Filter by location depth" msgstr "" -#: stock/api.py:304 +#: stock/api.py:338 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:325 +#: stock/api.py:359 msgid "Parent Location" msgstr "" -#: stock/api.py:326 +#: stock/api.py:360 msgid "Filter by parent location" msgstr "" -#: stock/api.py:579 templates/js/translated/table_filters.js:427 +#: stock/api.py:613 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "Ubicazione Esterna" -#: stock/api.py:767 +#: stock/api.py:801 msgid "Part Tree" msgstr "" -#: stock/api.py:797 +#: stock/api.py:831 msgid "Expiry date before" msgstr "" -#: stock/api.py:801 +#: stock/api.py:835 msgid "Expiry date after" msgstr "" -#: stock/api.py:804 stock/templates/stock/item_base.html:439 +#: stock/api.py:838 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "Obsoleto" -#: stock/api.py:891 +#: stock/api.py:925 msgid "Quantity is required" msgstr "La quantità è richiesta" -#: stock/api.py:897 +#: stock/api.py:931 msgid "Valid part must be supplied" msgstr "Deve essere fornita un articolo valido" -#: stock/api.py:928 +#: stock/api.py:962 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:938 +#: stock/api.py:972 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:969 +#: stock/api.py:1003 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" @@ -8857,477 +8892,517 @@ msgstr "" msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:125 stock/models.py:771 +#: stock/models.py:127 stock/models.py:792 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Ubicazione magazzino" -#: stock/models.py:126 stock/templates/stock/location.html:179 +#: stock/models.py:128 stock/templates/stock/location.html:186 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "Posizioni magazzino" -#: stock/models.py:158 stock/models.py:932 +#: stock/models.py:170 stock/models.py:953 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "Proprietario" -#: stock/models.py:159 stock/models.py:933 +#: stock/models.py:171 stock/models.py:954 msgid "Select Owner" msgstr "Seleziona Owner" -#: stock/models.py:167 +#: stock/models.py:179 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "Gli elementi di magazzino non possono essere direttamente situati in un magazzino strutturale, ma possono essere situati in ubicazioni secondarie." -#: stock/models.py:174 templates/js/translated/stock.js:2784 +#: stock/models.py:186 templates/js/translated/stock.js:2781 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "Esterno" -#: stock/models.py:175 +#: stock/models.py:187 msgid "This is an external stock location" msgstr "Si tratta di una posizione esterna al magazzino" -#: stock/models.py:181 templates/js/translated/stock.js:2793 +#: stock/models.py:193 templates/js/translated/stock.js:2790 #: templates/js/translated/table_filters.js:246 msgid "Location type" msgstr "" -#: stock/models.py:185 +#: stock/models.py:197 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:254 +#: stock/models.py:266 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "Non puoi rendere strutturale questa posizione di magazzino perché alcuni elementi di magazzino sono già posizionati al suo interno!" -#: stock/models.py:626 +#: stock/models.py:647 msgid "Stock items cannot be located into structural stock locations!" msgstr "Gli articoli di magazzino non possono essere ubicati in posizioni di magazzino strutturali!" -#: stock/models.py:653 stock/serializers.py:290 +#: stock/models.py:674 stock/serializers.py:419 msgid "Stock item cannot be created for virtual parts" msgstr "Non è possibile creare un elemento di magazzino per articoli virtuali" -#: stock/models.py:670 +#: stock/models.py:691 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:680 stock/models.py:693 +#: stock/models.py:701 stock/models.py:714 msgid "Quantity must be 1 for item with a serial number" msgstr "La quantità deve essere 1 per elementi con un numero di serie" -#: stock/models.py:683 +#: stock/models.py:704 msgid "Serial number cannot be set if quantity greater than 1" msgstr "Il numero di serie non può essere impostato se la quantità è maggiore di 1" -#: stock/models.py:707 +#: stock/models.py:728 msgid "Item cannot belong to itself" msgstr "L'elemento non può appartenere a se stesso" -#: stock/models.py:712 +#: stock/models.py:733 msgid "Item must have a build reference if is_building=True" msgstr "L'elemento deve avere un riferimento di costruzione se is_building=True" -#: stock/models.py:725 +#: stock/models.py:746 msgid "Build reference does not point to the same part object" msgstr "Il riferimento di costruzione non punta allo stesso oggetto dell'articolo" -#: stock/models.py:741 +#: stock/models.py:762 msgid "Parent Stock Item" msgstr "Elemento di magazzino principale" -#: stock/models.py:753 +#: stock/models.py:774 msgid "Base part" msgstr "Articolo base" -#: stock/models.py:763 +#: stock/models.py:784 msgid "Select a matching supplier part for this stock item" msgstr "Seleziona un fornitore articolo corrispondente per questo elemento di magazzino" -#: stock/models.py:775 +#: stock/models.py:796 msgid "Where is this stock item located?" msgstr "Dove si trova questo articolo di magazzino?" -#: stock/models.py:783 stock/serializers.py:1351 +#: stock/models.py:804 stock/serializers.py:1480 msgid "Packaging this stock item is stored in" msgstr "Imballaggio di questo articolo di magazzino è collocato in" -#: stock/models.py:794 +#: stock/models.py:815 msgid "Is this item installed in another item?" msgstr "Questo elemento è stato installato su un altro elemento?" -#: stock/models.py:813 +#: stock/models.py:834 msgid "Serial number for this item" msgstr "Numero di serie per questo elemento" -#: stock/models.py:827 stock/serializers.py:1334 +#: stock/models.py:848 stock/serializers.py:1463 msgid "Batch code for this stock item" msgstr "Codice lotto per questo elemento di magazzino" -#: stock/models.py:832 +#: stock/models.py:853 msgid "Stock Quantity" msgstr "Quantità disponibile" -#: stock/models.py:842 +#: stock/models.py:863 msgid "Source Build" msgstr "Genera Costruzione" -#: stock/models.py:845 +#: stock/models.py:866 msgid "Build for this stock item" msgstr "Costruisci per questo elemento di magazzino" -#: stock/models.py:852 stock/templates/stock/item_base.html:363 +#: stock/models.py:873 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:855 +#: stock/models.py:876 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:864 +#: stock/models.py:885 msgid "Source Purchase Order" msgstr "Origina Ordine di Acquisto" -#: stock/models.py:868 +#: stock/models.py:889 msgid "Purchase order for this stock item" msgstr "Ordine d'acquisto per questo articolo in magazzino" -#: stock/models.py:874 +#: stock/models.py:895 msgid "Destination Sales Order" msgstr "Destinazione Ordine di Vendita" -#: stock/models.py:885 +#: stock/models.py:906 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "Data di scadenza per l'elemento di magazzino. Le scorte saranno considerate scadute dopo questa data" -#: stock/models.py:903 +#: stock/models.py:924 msgid "Delete on deplete" msgstr "Elimina al esaurimento" -#: stock/models.py:904 +#: stock/models.py:925 msgid "Delete this Stock Item when stock is depleted" msgstr "Cancella questo Elemento di Magazzino quando la giacenza è esaurita" -#: stock/models.py:924 +#: stock/models.py:945 msgid "Single unit purchase price at time of purchase" msgstr "Prezzo di acquisto unitario al momento dell’acquisto" -#: stock/models.py:955 +#: stock/models.py:976 msgid "Converted to part" msgstr "Convertito in articolo" -#: stock/models.py:1473 +#: stock/models.py:1494 msgid "Part is not set as trackable" msgstr "L'articolo non è impostato come tracciabile" -#: stock/models.py:1479 +#: stock/models.py:1500 msgid "Quantity must be integer" msgstr "La quantità deve essere un numero intero" -#: stock/models.py:1487 +#: stock/models.py:1508 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1493 +#: stock/models.py:1514 msgid "Serial numbers must be a list of integers" msgstr "I numeri di serie devono essere numeri interi" -#: stock/models.py:1498 +#: stock/models.py:1519 msgid "Quantity does not match serial numbers" msgstr "La quantità non corrisponde ai numeri di serie" -#: stock/models.py:1506 stock/serializers.py:529 +#: stock/models.py:1527 stock/serializers.py:658 msgid "Serial numbers already exist" msgstr "Numeri di serie già esistenti" -#: stock/models.py:1603 +#: stock/models.py:1624 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1621 +#: stock/models.py:1642 msgid "Stock item has been assigned to a sales order" msgstr "L'elemento di magazzino è stato assegnato a un ordine di vendita" -#: stock/models.py:1625 +#: stock/models.py:1646 msgid "Stock item is installed in another item" msgstr "L'elemento di magazzino è installato in un altro elemento" -#: stock/models.py:1628 +#: stock/models.py:1649 msgid "Stock item contains other items" msgstr "L'elemento di magazzino contiene altri elementi" -#: stock/models.py:1631 +#: stock/models.py:1652 msgid "Stock item has been assigned to a customer" msgstr "L'elemento di magazzino è stato assegnato a un cliente" -#: stock/models.py:1634 +#: stock/models.py:1655 msgid "Stock item is currently in production" msgstr "L'elemento di magazzino è attualmente in produzione" -#: stock/models.py:1637 +#: stock/models.py:1658 msgid "Serialized stock cannot be merged" msgstr "Il magazzino serializzato non può essere unito" -#: stock/models.py:1644 stock/serializers.py:1240 +#: stock/models.py:1665 stock/serializers.py:1369 msgid "Duplicate stock items" msgstr "Duplica elementi di magazzino" -#: stock/models.py:1648 +#: stock/models.py:1669 msgid "Stock items must refer to the same part" msgstr "Gli elementi di magazzino devono riferirsi allo stesso articolo" -#: stock/models.py:1656 +#: stock/models.py:1677 msgid "Stock items must refer to the same supplier part" msgstr "Gli elementi di magazzino devono riferirsi allo stesso articolo fornitore" -#: stock/models.py:1661 +#: stock/models.py:1682 msgid "Stock status codes must match" msgstr "I codici di stato dello stock devono corrispondere" -#: stock/models.py:1882 +#: stock/models.py:1903 msgid "StockItem cannot be moved as it is not in stock" msgstr "Le giacenze non possono essere spostate perché non disponibili" -#: stock/models.py:2345 +#: stock/models.py:2322 msgid "Entry notes" msgstr "Note d'ingresso" -#: stock/models.py:2410 +#: stock/models.py:2387 msgid "Value must be provided for this test" msgstr "Il valore deve essere fornito per questo test" -#: stock/models.py:2415 +#: stock/models.py:2392 msgid "Attachment must be uploaded for this test" msgstr "L'allegato deve essere caricato per questo test" -#: stock/models.py:2442 +#: stock/models.py:2419 msgid "Test result" msgstr "Risultato Test" -#: stock/models.py:2449 +#: stock/models.py:2426 msgid "Test output value" msgstr "Test valore output" -#: stock/models.py:2457 +#: stock/models.py:2434 msgid "Test result attachment" msgstr "Risultato della prova allegato" -#: stock/models.py:2461 +#: stock/models.py:2438 msgid "Test notes" msgstr "Note del test" -#: stock/models.py:2469 templates/js/translated/stock.js:1548 +#: stock/models.py:2446 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "" -#: stock/models.py:2470 +#: stock/models.py:2447 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2476 +#: stock/models.py:2453 msgid "Started" msgstr "" -#: stock/models.py:2477 +#: stock/models.py:2454 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2483 +#: stock/models.py:2460 msgid "Finished" msgstr "" -#: stock/models.py:2484 +#: stock/models.py:2461 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:100 +#: stock/serializers.py:75 +msgid "Generated batch code" +msgstr "" + +#: stock/serializers.py:84 +msgid "Select build order" +msgstr "" + +#: stock/serializers.py:93 +msgid "Select stock item to generate batch code for" +msgstr "" + +#: stock/serializers.py:102 +msgid "Select location to generate batch code for" +msgstr "" + +#: stock/serializers.py:111 +msgid "Select part to generate batch code for" +msgstr "" + +#: stock/serializers.py:120 +msgid "Select purchase order" +msgstr "" + +#: stock/serializers.py:127 +msgid "Enter quantity for batch code" +msgstr "" + +#: stock/serializers.py:150 +msgid "Generated serial number" +msgstr "" + +#: stock/serializers.py:159 +msgid "Select part to generate serial number for" +msgstr "" + +#: stock/serializers.py:167 +msgid "Quantity of serial numbers to generate" +msgstr "" + +#: stock/serializers.py:229 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:119 +#: stock/serializers.py:248 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:151 +#: stock/serializers.py:280 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:184 +#: stock/serializers.py:313 msgid "Serial number is too large" msgstr "Il numero di serie è troppo grande" -#: stock/serializers.py:282 +#: stock/serializers.py:411 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:402 +#: stock/serializers.py:531 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:464 +#: stock/serializers.py:593 msgid "Enter number of stock items to serialize" msgstr "Inserisci il numero di elementi di magazzino da serializzare" -#: stock/serializers.py:477 +#: stock/serializers.py:606 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "La quantità non deve superare la quantità disponibile ({q})" -#: stock/serializers.py:484 +#: stock/serializers.py:613 msgid "Enter serial numbers for new items" msgstr "Inserisci i numeri di serie per i nuovi elementi" -#: stock/serializers.py:495 stock/serializers.py:1197 stock/serializers.py:1453 +#: stock/serializers.py:624 stock/serializers.py:1326 stock/serializers.py:1582 msgid "Destination stock location" msgstr "Posizione magazzino di destinazione" -#: stock/serializers.py:502 +#: stock/serializers.py:631 msgid "Optional note field" msgstr "Note opzionali elemento" -#: stock/serializers.py:512 +#: stock/serializers.py:641 msgid "Serial numbers cannot be assigned to this part" msgstr "Numeri di serie non possono essere assegnati a questo articolo" -#: stock/serializers.py:567 +#: stock/serializers.py:696 msgid "Select stock item to install" msgstr "Seleziona elementi di magazzino da installare" -#: stock/serializers.py:574 +#: stock/serializers.py:703 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:575 +#: stock/serializers.py:704 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:580 stock/serializers.py:660 stock/serializers.py:756 -#: stock/serializers.py:806 +#: stock/serializers.py:709 stock/serializers.py:789 stock/serializers.py:885 +#: stock/serializers.py:935 msgid "Add transaction note (optional)" msgstr "Aggiungi nota di transazione (opzionale)" -#: stock/serializers.py:588 +#: stock/serializers.py:717 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:596 +#: stock/serializers.py:725 msgid "Stock item is unavailable" msgstr "Elemento di magazzino non disponibile" -#: stock/serializers.py:607 +#: stock/serializers.py:736 msgid "Selected part is not in the Bill of Materials" msgstr "L'articolo selezionato non è nella Fattura dei Materiali" -#: stock/serializers.py:620 +#: stock/serializers.py:749 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:655 +#: stock/serializers.py:784 msgid "Destination location for uninstalled item" msgstr "Posizione di destinazione per gli elementi disinstallati" -#: stock/serializers.py:690 +#: stock/serializers.py:819 msgid "Select part to convert stock item into" msgstr "Seleziona l'articolo in cui convertire l'elemento di magazzino" -#: stock/serializers.py:703 +#: stock/serializers.py:832 msgid "Selected part is not a valid option for conversion" msgstr "L'articolo selezionato non è una valida opzione per la conversione" -#: stock/serializers.py:720 +#: stock/serializers.py:849 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:751 +#: stock/serializers.py:880 msgid "Destination location for returned item" msgstr "Posizione di destinazione per l'elemento restituito" -#: stock/serializers.py:788 +#: stock/serializers.py:917 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:794 +#: stock/serializers.py:923 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:890 stock/serializers.py:953 +#: stock/serializers.py:1019 stock/serializers.py:1082 #: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:213 +#: stock/templates/stock/location.html:220 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "Sottoallocazioni" -#: stock/serializers.py:1069 +#: stock/serializers.py:1198 msgid "Part must be salable" msgstr "L'articolo deve essere vendibile" -#: stock/serializers.py:1073 +#: stock/serializers.py:1202 msgid "Item is allocated to a sales order" msgstr "L'elemento è assegnato a un ordine di vendita" -#: stock/serializers.py:1077 +#: stock/serializers.py:1206 msgid "Item is allocated to a build order" msgstr "Elemento assegnato a un ordine di costruzione" -#: stock/serializers.py:1101 +#: stock/serializers.py:1230 msgid "Customer to assign stock items" msgstr "Cliente a cui assegnare elementi di magazzino" -#: stock/serializers.py:1107 +#: stock/serializers.py:1236 msgid "Selected company is not a customer" msgstr "L'azienda selezionata non è un cliente" -#: stock/serializers.py:1115 +#: stock/serializers.py:1244 msgid "Stock assignment notes" msgstr "Note sull'assegnazione delle scorte" -#: stock/serializers.py:1125 stock/serializers.py:1379 +#: stock/serializers.py:1254 stock/serializers.py:1508 msgid "A list of stock items must be provided" msgstr "Deve essere fornito un elenco degli elementi di magazzino" -#: stock/serializers.py:1204 +#: stock/serializers.py:1333 msgid "Stock merging notes" msgstr "Note di fusione di magazzino" -#: stock/serializers.py:1209 +#: stock/serializers.py:1338 msgid "Allow mismatched suppliers" msgstr "Consenti fornitori non corrispondenti" -#: stock/serializers.py:1210 +#: stock/serializers.py:1339 msgid "Allow stock items with different supplier parts to be merged" msgstr "Consenti di unire gli elementi di magazzino che hanno fornitori diversi" -#: stock/serializers.py:1215 +#: stock/serializers.py:1344 msgid "Allow mismatched status" msgstr "Consenti stato non corrispondente" -#: stock/serializers.py:1216 +#: stock/serializers.py:1345 msgid "Allow stock items with different status codes to be merged" msgstr "Consenti di unire gli elementi di magazzino con diversi codici di stato" -#: stock/serializers.py:1226 +#: stock/serializers.py:1355 msgid "At least two stock items must be provided" msgstr "Devono essere riforniti almeno due elementi in magazzino" -#: stock/serializers.py:1293 +#: stock/serializers.py:1422 msgid "No Change" msgstr "" -#: stock/serializers.py:1322 +#: stock/serializers.py:1451 msgid "StockItem primary key value" msgstr "Valore di chiave primaria StockItem" -#: stock/serializers.py:1341 +#: stock/serializers.py:1470 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1369 +#: stock/serializers.py:1498 msgid "Stock transaction notes" msgstr "Note sugli spostamenti di magazzino" @@ -9352,7 +9427,7 @@ msgstr "Dati di Test" msgid "Test Report" msgstr "Rapporto del Test" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:286 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:282 msgid "Delete Test Data" msgstr "Elimina Dati di Test" @@ -9368,15 +9443,15 @@ msgstr "Note Elemento di magazzino" msgid "Installed Stock Items" msgstr "Elementi di magazzino installati" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3274 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3271 msgid "Install Stock Item" msgstr "Installa Elemento Magazzino" -#: stock/templates/stock/item.html:274 +#: stock/templates/stock/item.html:270 msgid "Delete all test results for this stock item" msgstr "Elimina tutti i risultati del test per questo elemento di magazzino" -#: stock/templates/stock/item.html:304 templates/js/translated/stock.js:1701 +#: stock/templates/stock/item.html:300 templates/js/translated/stock.js:1701 msgid "Add Test Result" msgstr "" @@ -9561,40 +9636,40 @@ msgstr "Questo Elemento Stock scade il %(item.expiry_date)s" msgid "No stocktake performed" msgstr "Nessun inventario eseguito" -#: stock/templates/stock/item_base.html:507 -#: templates/js/translated/stock.js:1954 +#: stock/templates/stock/item_base.html:504 +#: templates/js/translated/stock.js:1952 msgid "stock item" msgstr "" -#: stock/templates/stock/item_base.html:532 +#: stock/templates/stock/item_base.html:527 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:541 +#: stock/templates/stock/item_base.html:536 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:552 +#: stock/templates/stock/item_base.html:547 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:616 +#: stock/templates/stock/item_base.html:611 msgid "Select one of the part variants listed below." msgstr "Selezionare una delle varianti dell'articolo elencate sotto." -#: stock/templates/stock/item_base.html:619 +#: stock/templates/stock/item_base.html:614 msgid "Warning" msgstr "Attenzione" -#: stock/templates/stock/item_base.html:620 +#: stock/templates/stock/item_base.html:615 msgid "This action cannot be easily undone" msgstr "Questa azione non può essere facilmente annullata" -#: stock/templates/stock/item_base.html:628 +#: stock/templates/stock/item_base.html:623 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:662 +#: stock/templates/stock/item_base.html:657 msgid "Return to Stock" msgstr "" @@ -9658,28 +9733,32 @@ msgstr "Proprietario Posizione" msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "Non sei nell'elenco dei proprietari di questa posizione. Questa posizione di giacenza non può essere modificata." -#: stock/templates/stock/location.html:217 +#: stock/templates/stock/location.html:176 +msgid "Location Type" +msgstr "" + +#: stock/templates/stock/location.html:224 msgid "Create new stock location" msgstr "Crea nuova posizione di magazzino" -#: stock/templates/stock/location.html:218 +#: stock/templates/stock/location.html:225 msgid "New Location" msgstr "Nuova Posizione" -#: stock/templates/stock/location.html:287 -#: templates/js/translated/stock.js:2575 +#: stock/templates/stock/location.html:295 +#: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:315 +#: stock/templates/stock/location.html:317 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:388 +#: stock/templates/stock/location.html:390 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:399 +#: stock/templates/stock/location.html:401 msgid "Link Barcode to Stock Location" msgstr "" @@ -9949,11 +10028,11 @@ msgstr "" msgid "Part Settings" msgstr "Impostazioni articolo" -#: templates/InvenTree/settings/part.html:42 +#: templates/InvenTree/settings/part.html:43 msgid "Part Import" msgstr "Importa Articolo" -#: templates/InvenTree/settings/part.html:46 +#: templates/InvenTree/settings/part.html:47 msgid "Import Part" msgstr "Importa Articolo" @@ -10174,7 +10253,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:424 +#: templates/js/translated/stock.js:245 users/models.py:411 msgid "Delete" msgstr "Elimina" @@ -10283,7 +10362,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2159 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2163 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" @@ -10874,7 +10953,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:3218 +#: templates/js/translated/part.js:3217 msgid "Minimum Quantity" msgstr "Quantità minima" @@ -11254,7 +11333,7 @@ msgid "External stock" msgstr "" #: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2595 -#: templates/js/translated/sales_order.js:1910 +#: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" @@ -11264,7 +11343,7 @@ msgstr "" #: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 #: templates/js/translated/part.js:1256 -#: templates/js/translated/sales_order.js:1907 +#: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" @@ -11519,17 +11598,17 @@ msgstr "" #: templates/js/translated/build.js:1576 #: templates/js/translated/purchase_order.js:611 -#: templates/js/translated/sales_order.js:1171 +#: templates/js/translated/sales_order.js:1207 msgid "Select Parts" msgstr "" #: templates/js/translated/build.js:1577 -#: templates/js/translated/sales_order.js:1172 +#: templates/js/translated/sales_order.js:1208 msgid "You must select at least one part to allocate" msgstr "" #: templates/js/translated/build.js:1640 -#: templates/js/translated/sales_order.js:1121 +#: templates/js/translated/sales_order.js:1157 msgid "Specify stock allocation quantity" msgstr "" @@ -11542,7 +11621,7 @@ msgid "All selected parts have been fully allocated" msgstr "" #: templates/js/translated/build.js:1732 -#: templates/js/translated/sales_order.js:1186 +#: templates/js/translated/sales_order.js:1222 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -11551,12 +11630,12 @@ msgid "Allocate Stock Items to Build Order" msgstr "" #: templates/js/translated/build.js:1771 -#: templates/js/translated/sales_order.js:1283 +#: templates/js/translated/sales_order.js:1319 msgid "No matching stock locations" msgstr "" #: templates/js/translated/build.js:1844 -#: templates/js/translated/sales_order.js:1362 +#: templates/js/translated/sales_order.js:1398 msgid "No matching stock items" msgstr "" @@ -11589,9 +11668,9 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 -#: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 -#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 -#: templates/js/translated/stock.js:1985 templates/js/translated/stock.js:2713 +#: templates/js/translated/forms.js:2159 templates/js/translated/forms.js:2175 +#: templates/js/translated/part.js:2315 templates/js/translated/part.js:2741 +#: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "" @@ -11599,21 +11678,17 @@ msgstr "" msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2177 -msgid "Progress" -msgstr "" - -#: templates/js/translated/build.js:2213 templates/js/translated/stock.js:3045 +#: templates/js/translated/build.js:2213 templates/js/translated/stock.js:3042 msgid "No user information" msgstr "" #: templates/js/translated/build.js:2389 -#: templates/js/translated/sales_order.js:1646 +#: templates/js/translated/sales_order.js:1682 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:2390 -#: templates/js/translated/sales_order.js:1647 +#: templates/js/translated/sales_order.js:1683 msgid "Delete stock allocation" msgstr "" @@ -11647,7 +11722,7 @@ msgid "Unit Quantity" msgstr "" #: templates/js/translated/build.js:2591 -#: templates/js/translated/sales_order.js:1915 +#: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" @@ -11664,7 +11739,7 @@ msgid "Allocate tracked items against individual build outputs" msgstr "" #: templates/js/translated/build.js:2662 -#: templates/js/translated/sales_order.js:2016 +#: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "" @@ -11673,7 +11748,7 @@ msgid "Order stock" msgstr "" #: templates/js/translated/build.js:2671 -#: templates/js/translated/sales_order.js:2010 +#: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "" @@ -11923,12 +11998,12 @@ msgid "Delete price break" msgstr "" #: templates/js/translated/filters.js:186 -#: templates/js/translated/filters.js:672 +#: templates/js/translated/filters.js:667 msgid "true" msgstr "" #: templates/js/translated/filters.js:190 -#: templates/js/translated/filters.js:673 +#: templates/js/translated/filters.js:668 msgid "false" msgstr "" @@ -11960,7 +12035,7 @@ msgstr "" msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:582 +#: templates/js/translated/filters.js:577 msgid "Create filter" msgstr "" @@ -11993,32 +12068,32 @@ msgstr "" msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1473 templates/modals.html:19 +#: templates/js/translated/forms.js:1477 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "Esistono errori nel modulo" -#: templates/js/translated/forms.js:1971 +#: templates/js/translated/forms.js:1975 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2275 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2279 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2489 +#: templates/js/translated/forms.js:2493 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3091 +#: templates/js/translated/forms.js:3095 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3091 +#: templates/js/translated/forms.js:3095 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3103 +#: templates/js/translated/forms.js:3107 msgid "Select Columns" msgstr "" @@ -12042,51 +12117,15 @@ msgstr "" msgid "No parts required for builds" msgstr "" -#: templates/js/translated/label.js:53 templates/js/translated/report.js:123 +#: templates/js/translated/label.js:55 templates/js/translated/report.js:38 msgid "Select Items" msgstr "" -#: templates/js/translated/label.js:54 +#: templates/js/translated/label.js:56 templates/js/translated/report.js:39 msgid "No items selected for printing" msgstr "" -#: templates/js/translated/label.js:72 -msgid "No Labels Found" -msgstr "" - -#: templates/js/translated/label.js:73 -msgid "No label templates found which match the selected items" -msgstr "" - -#: templates/js/translated/label.js:97 -msgid "selected" -msgstr "" - -#: templates/js/translated/label.js:133 -msgid "Printing Options" -msgstr "" - -#: templates/js/translated/label.js:148 -msgid "Print label" -msgstr "" - -#: templates/js/translated/label.js:148 -msgid "Print labels" -msgstr "" - #: templates/js/translated/label.js:149 -msgid "Print" -msgstr "" - -#: templates/js/translated/label.js:155 -msgid "Select label template" -msgstr "" - -#: templates/js/translated/label.js:168 -msgid "Select plugin" -msgstr "" - -#: templates/js/translated/label.js:187 msgid "Labels sent to printer" msgstr "" @@ -12204,7 +12243,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1991 +#: templates/js/translated/purchase_order.js:1990 msgid "No line items found" msgstr "" @@ -12442,19 +12481,19 @@ msgid "Delete Part Parameter Template" msgstr "" #: templates/js/translated/part.js:1716 -#: templates/js/translated/purchase_order.js:1655 +#: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1860 -#: templates/js/translated/purchase_order.js:2154 -#: templates/js/translated/return_order.js:756 -#: templates/js/translated/sales_order.js:1875 +#: templates/js/translated/purchase_order.js:2153 +#: templates/js/translated/return_order.js:755 +#: templates/js/translated/sales_order.js:1911 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1906 -#: templates/js/translated/purchase_order.js:2221 +#: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "" @@ -12466,7 +12505,7 @@ msgstr "" msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2506 +#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2505 msgid "No parts found" msgstr "" @@ -12482,101 +12521,101 @@ msgstr "" msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2286 msgid "part" msgstr "" -#: templates/js/translated/part.js:2288 +#: templates/js/translated/part.js:2287 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2384 +#: templates/js/translated/part.js:2383 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 -#: templates/js/translated/stock.js:2672 +#: templates/js/translated/part.js:2530 templates/js/translated/part.js:2660 +#: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2547 +#: templates/js/translated/part.js:2546 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2645 +#: templates/js/translated/part.js:2644 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2692 +#: templates/js/translated/part.js:2680 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2761 +#: templates/js/translated/part.js:2760 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2777 +#: templates/js/translated/part.js:2776 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2864 +#: templates/js/translated/part.js:2863 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2886 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2885 templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2935 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2941 +#: templates/js/translated/part.js:2940 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2957 +#: templates/js/translated/part.js:2956 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2971 +#: templates/js/translated/part.js:2970 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3050 templates/js/translated/part.js:3051 +#: templates/js/translated/part.js:3049 templates/js/translated/part.js:3050 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3053 +#: templates/js/translated/part.js:3052 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3059 +#: templates/js/translated/part.js:3058 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3109 +#: templates/js/translated/part.js:3108 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3115 +#: templates/js/translated/part.js:3114 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3211 +#: templates/js/translated/part.js:3210 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3227 +#: templates/js/translated/part.js:3226 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3272 +#: templates/js/translated/part.js:3271 msgid "Minimum Stock Level" msgstr "" @@ -12702,7 +12741,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:448 #: templates/js/translated/return_order.js:210 -#: templates/js/translated/sales_order.js:500 +#: templates/js/translated/sales_order.js:552 msgid "Mark this order as complete?" msgstr "" @@ -12715,7 +12754,6 @@ msgid "This order has line items which have not been marked as received." msgstr "" #: templates/js/translated/purchase_order.js:460 -#: templates/js/translated/sales_order.js:514 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" @@ -12773,12 +12811,12 @@ msgid "No matching purchase orders" msgstr "" #: templates/js/translated/purchase_order.js:1073 -#: templates/js/translated/return_order.js:491 +#: templates/js/translated/return_order.js:490 msgid "Select Line Items" msgstr "" #: templates/js/translated/purchase_order.js:1074 -#: templates/js/translated/return_order.js:492 +#: templates/js/translated/return_order.js:491 msgid "At least one line item must be selected" msgstr "" @@ -12827,7 +12865,7 @@ msgid "Quantity to Receive" msgstr "" #: templates/js/translated/purchase_order.js:1333 -#: templates/js/translated/return_order.js:561 +#: templates/js/translated/return_order.js:560 msgid "Confirm receipt of items" msgstr "" @@ -12847,81 +12885,66 @@ msgstr "" msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1682 -#: templates/js/translated/return_order.js:286 -#: templates/js/translated/sales_order.js:774 -#: templates/js/translated/sales_order.js:998 +#: templates/js/translated/purchase_order.js:1681 +#: templates/js/translated/return_order.js:285 +#: templates/js/translated/sales_order.js:810 +#: templates/js/translated/sales_order.js:1034 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1748 -#: templates/js/translated/return_order.js:354 -#: templates/js/translated/sales_order.js:851 -#: templates/js/translated/sales_order.js:1011 -msgid "Items" -msgstr "" - -#: templates/js/translated/purchase_order.js:1844 +#: templates/js/translated/purchase_order.js:1843 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1862 +#: templates/js/translated/purchase_order.js:1861 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1917 -#: templates/js/translated/sales_order.js:2070 +#: templates/js/translated/purchase_order.js:1916 +#: templates/js/translated/sales_order.js:2106 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1932 -#: templates/js/translated/return_order.js:476 -#: templates/js/translated/return_order.js:669 -#: templates/js/translated/sales_order.js:2083 +#: templates/js/translated/purchase_order.js:1931 +#: templates/js/translated/return_order.js:475 +#: templates/js/translated/return_order.js:668 +#: templates/js/translated/sales_order.js:2119 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1943 -#: templates/js/translated/return_order.js:682 -#: templates/js/translated/sales_order.js:2094 +#: templates/js/translated/purchase_order.js:1942 +#: templates/js/translated/return_order.js:681 +#: templates/js/translated/sales_order.js:2130 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2225 -#: templates/js/translated/sales_order.js:2024 +#: templates/js/translated/purchase_order.js:2224 +#: templates/js/translated/sales_order.js:2060 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2226 -#: templates/js/translated/return_order.js:801 -#: templates/js/translated/sales_order.js:2025 +#: templates/js/translated/purchase_order.js:2225 +#: templates/js/translated/return_order.js:800 +#: templates/js/translated/sales_order.js:2061 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2227 -#: templates/js/translated/return_order.js:805 -#: templates/js/translated/sales_order.js:2031 +#: templates/js/translated/purchase_order.js:2226 +#: templates/js/translated/return_order.js:804 +#: templates/js/translated/sales_order.js:2067 msgid "Delete line item" msgstr "" -#: templates/js/translated/report.js:63 -msgid "items selected" +#: templates/js/translated/report.js:49 +msgid "Print Report" msgstr "" -#: templates/js/translated/report.js:71 -msgid "Select Report Template" +#: templates/js/translated/report.js:68 +msgid "Report print successful" msgstr "" -#: templates/js/translated/report.js:86 -msgid "Select Test Report Template" -msgstr "" - -#: templates/js/translated/report.js:140 -msgid "No Reports Found" -msgstr "" - -#: templates/js/translated/report.js:141 -msgid "No report templates found which match the selected items" +#: templates/js/translated/report.js:73 +msgid "Report printing failed" msgstr "" #: templates/js/translated/return_order.js:60 @@ -12953,25 +12976,25 @@ msgstr "" msgid "Complete Return Order" msgstr "" -#: templates/js/translated/return_order.js:266 +#: templates/js/translated/return_order.js:265 msgid "No return orders found" msgstr "" -#: templates/js/translated/return_order.js:300 -#: templates/js/translated/sales_order.js:788 +#: templates/js/translated/return_order.js:299 +#: templates/js/translated/sales_order.js:824 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/return_order.js:562 +#: templates/js/translated/return_order.js:561 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:693 -#: templates/js/translated/sales_order.js:2231 +#: templates/js/translated/return_order.js:692 +#: templates/js/translated/sales_order.js:2267 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:798 +#: templates/js/translated/return_order.js:797 msgid "Mark item as received" msgstr "" @@ -13015,140 +13038,156 @@ msgstr "" msgid "Skip" msgstr "" +#: templates/js/translated/sales_order.js:484 +msgid "Ship Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:500 +msgid "Ship this order?" +msgstr "" + +#: templates/js/translated/sales_order.js:506 +msgid "Order cannot be shipped as there are incomplete shipments" +msgstr "" + #: templates/js/translated/sales_order.js:513 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/sales_order.js:535 +#: templates/js/translated/sales_order.js:514 +msgid "Shipping this order means that the order and line items will no longer be editable." +msgstr "" + +#: templates/js/translated/sales_order.js:572 msgid "Issue this Sales Order?" msgstr "" -#: templates/js/translated/sales_order.js:540 +#: templates/js/translated/sales_order.js:577 msgid "Issue Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:559 +#: templates/js/translated/sales_order.js:596 msgid "Cancel Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:564 +#: templates/js/translated/sales_order.js:601 msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: templates/js/translated/sales_order.js:618 +#: templates/js/translated/sales_order.js:655 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/sales_order.js:728 +#: templates/js/translated/sales_order.js:764 msgid "No sales orders found" msgstr "" -#: templates/js/translated/sales_order.js:908 +#: templates/js/translated/sales_order.js:944 msgid "Edit shipment" msgstr "" -#: templates/js/translated/sales_order.js:911 +#: templates/js/translated/sales_order.js:947 msgid "Complete shipment" msgstr "" -#: templates/js/translated/sales_order.js:916 +#: templates/js/translated/sales_order.js:952 msgid "Delete shipment" msgstr "" -#: templates/js/translated/sales_order.js:933 +#: templates/js/translated/sales_order.js:969 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/sales_order.js:948 +#: templates/js/translated/sales_order.js:984 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:981 +#: templates/js/translated/sales_order.js:1017 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/sales_order.js:1006 +#: templates/js/translated/sales_order.js:1042 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/sales_order.js:1030 -#: templates/js/translated/sales_order.js:1529 +#: templates/js/translated/sales_order.js:1066 +#: templates/js/translated/sales_order.js:1565 msgid "Not shipped" msgstr "" -#: templates/js/translated/sales_order.js:1048 +#: templates/js/translated/sales_order.js:1084 msgid "Tracking" msgstr "" -#: templates/js/translated/sales_order.js:1052 +#: templates/js/translated/sales_order.js:1088 msgid "Invoice" msgstr "" -#: templates/js/translated/sales_order.js:1219 +#: templates/js/translated/sales_order.js:1255 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1270 +#: templates/js/translated/sales_order.js:1306 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/sales_order.js:1271 +#: templates/js/translated/sales_order.js:1307 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1477 +#: templates/js/translated/sales_order.js:1513 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1569 +#: templates/js/translated/sales_order.js:1605 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1583 +#: templates/js/translated/sales_order.js:1619 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/sales_order.js:1584 +#: templates/js/translated/sales_order.js:1620 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1623 -#: templates/js/translated/sales_order.js:1710 +#: templates/js/translated/sales_order.js:1659 +#: templates/js/translated/sales_order.js:1746 #: templates/js/translated/stock.js:1776 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/sales_order.js:1631 -#: templates/js/translated/sales_order.js:1719 +#: templates/js/translated/sales_order.js:1667 +#: templates/js/translated/sales_order.js:1755 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:2008 +#: templates/js/translated/sales_order.js:2044 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/sales_order.js:2012 +#: templates/js/translated/sales_order.js:2048 msgid "Purchase stock" msgstr "" -#: templates/js/translated/sales_order.js:2021 -#: templates/js/translated/sales_order.js:2209 +#: templates/js/translated/sales_order.js:2057 +#: templates/js/translated/sales_order.js:2245 msgid "Calculate price" msgstr "" -#: templates/js/translated/sales_order.js:2035 +#: templates/js/translated/sales_order.js:2071 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:2038 +#: templates/js/translated/sales_order.js:2074 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:2109 +#: templates/js/translated/sales_order.js:2145 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/sales_order.js:2217 +#: templates/js/translated/sales_order.js:2253 msgid "Update Unit Price" msgstr "" @@ -13356,7 +13395,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1042 users/models.py:414 +#: templates/js/translated/stock.js:1042 users/models.py:401 msgid "Add" msgstr "Aggiungi" @@ -13372,7 +13411,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1180 templates/js/translated/stock.js:3302 +#: templates/js/translated/stock.js:1180 templates/js/translated/stock.js:3299 msgid "Select Stock Items" msgstr "" @@ -13456,196 +13495,196 @@ msgstr "" msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:1955 +#: templates/js/translated/stock.js:1953 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1960 +#: templates/js/translated/stock.js:1958 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:1971 +#: templates/js/translated/stock.js:1969 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:2015 +#: templates/js/translated/stock.js:2013 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2093 +#: templates/js/translated/stock.js:2091 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2098 +#: templates/js/translated/stock.js:2096 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2101 +#: templates/js/translated/stock.js:2099 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2104 +#: templates/js/translated/stock.js:2102 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2106 +#: templates/js/translated/stock.js:2104 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2108 +#: templates/js/translated/stock.js:2106 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2111 +#: templates/js/translated/stock.js:2109 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2113 +#: templates/js/translated/stock.js:2111 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2117 +#: templates/js/translated/stock.js:2115 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2119 +#: templates/js/translated/stock.js:2117 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2124 +#: templates/js/translated/stock.js:2122 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2126 +#: templates/js/translated/stock.js:2124 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2128 +#: templates/js/translated/stock.js:2126 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2132 +#: templates/js/translated/stock.js:2130 #: templates/js/translated/table_filters.js:350 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2297 +#: templates/js/translated/stock.js:2295 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2344 +#: templates/js/translated/stock.js:2342 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2472 +#: templates/js/translated/stock.js:2470 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2576 +#: templates/js/translated/stock.js:2573 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2731 +#: templates/js/translated/stock.js:2728 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2849 +#: templates/js/translated/stock.js:2846 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2853 +#: templates/js/translated/stock.js:2850 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2865 +#: templates/js/translated/stock.js:2862 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2887 +#: templates/js/translated/stock.js:2884 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2904 +#: templates/js/translated/stock.js:2901 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2919 +#: templates/js/translated/stock.js:2916 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2936 +#: templates/js/translated/stock.js:2933 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:2950 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2972 +#: templates/js/translated/stock.js:2969 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2990 +#: templates/js/translated/stock.js:2987 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:3008 +#: templates/js/translated/stock.js:3005 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:3016 +#: templates/js/translated/stock.js:3013 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3088 +#: templates/js/translated/stock.js:3085 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3142 templates/js/translated/stock.js:3178 +#: templates/js/translated/stock.js:3139 templates/js/translated/stock.js:3175 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3200 +#: templates/js/translated/stock.js:3197 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3221 +#: templates/js/translated/stock.js:3218 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3222 +#: templates/js/translated/stock.js:3219 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3224 +#: templates/js/translated/stock.js:3221 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3225 +#: templates/js/translated/stock.js:3222 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3226 +#: templates/js/translated/stock.js:3223 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3227 +#: templates/js/translated/stock.js:3224 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3240 +#: templates/js/translated/stock.js:3237 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3303 +#: templates/js/translated/stock.js:3300 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3316 +#: templates/js/translated/stock.js:3313 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3320 +#: templates/js/translated/stock.js:3317 msgid "Change Stock Status" msgstr "" @@ -14247,34 +14286,35 @@ msgstr "" msgid "Revoked" msgstr "" -#: users/models.py:397 +#: users/models.py:384 msgid "Permission set" msgstr "Impostazione autorizzazioni" -#: users/models.py:406 +#: users/models.py:393 msgid "Group" msgstr "Gruppo" -#: users/models.py:410 +#: users/models.py:397 msgid "View" msgstr "Visualizza" -#: users/models.py:410 +#: users/models.py:397 msgid "Permission to view items" msgstr "Autorizzazione a visualizzare gli articoli" -#: users/models.py:414 +#: users/models.py:401 msgid "Permission to add items" msgstr "Autorizzazione ad aggiungere elementi" -#: users/models.py:418 +#: users/models.py:405 msgid "Change" msgstr "Modificare" -#: users/models.py:420 +#: users/models.py:407 msgid "Permissions to edit items" msgstr "Permessi per modificare gli elementi" -#: users/models.py:426 +#: users/models.py:413 msgid "Permission to delete items" msgstr "Autorizzazione ad eliminare gli elementi" + diff --git a/src/backend/InvenTree/locale/ja/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/ja/LC_MESSAGES/django.po index 0648b4f0b2..3a8b9cbc98 100644 --- a/src/backend/InvenTree/locale/ja/LC_MESSAGES/django.po +++ b/src/backend/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: 2024-05-10 05:37+0000\n" -"PO-Revision-Date: 2024-05-10 08:31\n" +"POT-Creation-Date: 2024-05-23 11:25+0000\n" +"PO-Revision-Date: 2024-05-23 11:38\n" "Last-Translator: \n" "Language-Team: Japanese\n" "Language: ja_JP\n" @@ -17,11 +17,11 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 216\n" -#: InvenTree/api.py:271 +#: InvenTree/api.py:272 msgid "API endpoint not found" msgstr "APIエンドポイントが見つかりません" -#: InvenTree/api.py:535 +#: InvenTree/api.py:536 msgid "User does not have permission to view this model" msgstr "ユーザーにこのモデルを表示する権限がありません" @@ -56,26 +56,26 @@ msgstr "エラーの詳細は管理者パネルで確認できます" msgid "Enter date" msgstr "日付を入力する" -#: InvenTree/fields.py:208 InvenTree/models.py:1021 build/serializers.py:444 -#: build/serializers.py:522 build/templates/build/sidebar.html:21 +#: InvenTree/fields.py:208 InvenTree/models.py:1035 build/serializers.py:443 +#: build/serializers.py:521 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 -#: order/models.py:1283 order/templates/order/po_sidebar.html:11 +#: order/models.py:1323 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:59 -#: part/models.py:3175 part/templates/part/part_sidebar.html:63 -#: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:226 stock/models.py:2344 stock/models.py:2461 -#: stock/serializers.py:501 stock/serializers.py:659 stock/serializers.py:755 -#: stock/serializers.py:805 stock/serializers.py:1114 stock/serializers.py:1203 -#: stock/serializers.py:1368 stock/templates/stock/stock_sidebar.html:25 +#: part/models.py:3218 part/templates/part/part_sidebar.html:63 +#: report/templates/report/inventree_build_order_report.html:172 +#: stock/admin.py:226 stock/models.py:2321 stock/models.py:2438 +#: stock/serializers.py:630 stock/serializers.py:788 stock/serializers.py:884 +#: stock/serializers.py:934 stock/serializers.py:1243 stock/serializers.py:1332 +#: stock/serializers.py:1497 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1080 -#: templates/js/translated/purchase_order.js:2201 -#: templates/js/translated/return_order.js:776 -#: templates/js/translated/sales_order.js:1067 -#: templates/js/translated/sales_order.js:1982 -#: templates/js/translated/stock.js:1536 templates/js/translated/stock.js:2430 +#: templates/js/translated/purchase_order.js:2200 +#: templates/js/translated/return_order.js:775 +#: templates/js/translated/sales_order.js:1103 +#: templates/js/translated/sales_order.js:2018 +#: templates/js/translated/stock.js:1536 templates/js/translated/stock.js:2428 msgid "Notes" msgstr "メモ" @@ -132,7 +132,7 @@ msgstr "指定されたメールドメインは承認されていません。" msgid "Registration is disabled." msgstr "" -#: InvenTree/helpers.py:525 order/models.py:541 order/models.py:743 +#: InvenTree/helpers.py:525 order/models.py:563 order/models.py:765 msgid "Invalid quantity provided" msgstr "数量コードが無効です" @@ -355,142 +355,142 @@ msgstr "メールアドレス" msgid "Error running plugin validation" msgstr "" -#: InvenTree/models.py:162 +#: InvenTree/models.py:176 msgid "Metadata must be a python dict object" msgstr "" -#: InvenTree/models.py:168 +#: InvenTree/models.py:182 msgid "Plugin Metadata" msgstr "プラグインメタデータ" -#: InvenTree/models.py:169 +#: InvenTree/models.py:183 msgid "JSON metadata field, for use by external plugins" msgstr "外部プラグインで使用するためのJSONメタデータフィールド" -#: InvenTree/models.py:399 +#: InvenTree/models.py:413 msgid "Improperly formatted pattern" msgstr "" -#: InvenTree/models.py:406 +#: InvenTree/models.py:420 msgid "Unknown format key specified" msgstr "" -#: InvenTree/models.py:412 +#: InvenTree/models.py:426 msgid "Missing required format key" msgstr "" -#: InvenTree/models.py:423 +#: InvenTree/models.py:437 msgid "Reference field cannot be empty" msgstr "" -#: InvenTree/models.py:431 +#: InvenTree/models.py:445 msgid "Reference must match required pattern" msgstr "" -#: InvenTree/models.py:462 +#: InvenTree/models.py:476 msgid "Reference number is too large" msgstr "" -#: InvenTree/models.py:536 +#: InvenTree/models.py:550 msgid "Missing file" msgstr "ファイルがありません" -#: InvenTree/models.py:537 +#: InvenTree/models.py:551 msgid "Missing external link" msgstr "外部リンクが見つかりません。" -#: InvenTree/models.py:558 stock/models.py:2456 +#: InvenTree/models.py:572 stock/models.py:2433 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" msgstr "添付ファイル" -#: InvenTree/models.py:559 +#: InvenTree/models.py:573 msgid "Select file to attach" msgstr "添付ファイルを選択" -#: InvenTree/models.py:567 common/models.py:3026 company/models.py:146 +#: InvenTree/models.py:581 common/models.py:3032 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 -#: order/models.py:291 order/models.py:1288 order/models.py:1704 -#: part/admin.py:55 part/models.py:919 +#: order/models.py:304 order/models.py:1328 order/models.py:1744 +#: part/admin.py:55 part/models.py:962 #: part/templates/part/part_scheduling.html:11 -#: report/templates/report/inventree_build_order_base.html:164 +#: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2456 -#: templates/js/translated/purchase_order.js:2041 -#: templates/js/translated/purchase_order.js:2205 -#: templates/js/translated/return_order.js:780 -#: templates/js/translated/sales_order.js:1056 -#: templates/js/translated/sales_order.js:1987 +#: templates/js/translated/part.js:2455 +#: templates/js/translated/purchase_order.js:2040 +#: templates/js/translated/purchase_order.js:2204 +#: templates/js/translated/return_order.js:779 +#: templates/js/translated/sales_order.js:1092 +#: templates/js/translated/sales_order.js:2023 msgid "Link" msgstr "リンク" -#: InvenTree/models.py:568 build/models.py:321 part/models.py:920 -#: stock/models.py:819 +#: InvenTree/models.py:582 build/models.py:344 part/models.py:963 +#: stock/models.py:840 msgid "Link to external URL" msgstr "外部 サイト へのリンク" -#: InvenTree/models.py:574 templates/js/translated/attachment.js:120 +#: InvenTree/models.py:588 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:341 msgid "Comment" msgstr "コメント:" -#: InvenTree/models.py:575 +#: InvenTree/models.py:589 msgid "File comment" msgstr "ファイルコメント" -#: InvenTree/models.py:583 InvenTree/models.py:584 common/models.py:2502 -#: common/models.py:2503 common/models.py:2727 common/models.py:2728 -#: common/models.py:2973 common/models.py:2974 part/models.py:3185 -#: part/models.py:3272 part/models.py:3365 part/models.py:3393 -#: plugin/models.py:250 plugin/models.py:251 -#: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3039 users/models.py:111 +#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2508 +#: common/models.py:2509 common/models.py:2733 common/models.py:2734 +#: common/models.py:2979 common/models.py:2980 part/models.py:3228 +#: part/models.py:3315 part/models.py:3408 part/models.py:3436 +#: plugin/models.py:259 plugin/models.py:260 +#: report/templates/report/inventree_test_report.html:105 +#: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" msgstr "ユーザー" -#: InvenTree/models.py:588 +#: InvenTree/models.py:602 msgid "upload date" msgstr "アップロード日時" -#: InvenTree/models.py:610 +#: InvenTree/models.py:624 msgid "Filename must not be empty" msgstr "ファイル名は空欄にできません" -#: InvenTree/models.py:621 +#: InvenTree/models.py:635 msgid "Invalid attachment directory" msgstr "添付ファイルのディレクトリが正しくありません" -#: InvenTree/models.py:651 +#: InvenTree/models.py:665 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "ファイル名に無効な文字'{c}'が含まれています" -#: InvenTree/models.py:654 +#: InvenTree/models.py:668 msgid "Filename missing extension" msgstr "ファイル名に拡張子がありません" -#: InvenTree/models.py:663 +#: InvenTree/models.py:677 msgid "Attachment with this filename already exists" msgstr "この名前の貼付ファイルは既に存在します" -#: InvenTree/models.py:670 +#: InvenTree/models.py:684 msgid "Error renaming file" msgstr "ファイル名の変更に失敗しました" -#: InvenTree/models.py:846 +#: InvenTree/models.py:860 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:863 +#: InvenTree/models.py:877 msgid "Invalid choice" msgstr "無効な選択です" -#: InvenTree/models.py:893 common/models.py:2714 common/models.py:3112 -#: common/serializers.py:403 company/models.py:614 label/models.py:120 -#: machine/models.py:24 part/models.py:855 part/models.py:3616 -#: plugin/models.py:41 report/models.py:176 stock/models.py:76 +#: InvenTree/models.py:907 common/models.py:2720 common/models.py:3118 +#: common/serializers.py:403 company/models.py:614 machine/models.py:24 +#: part/models.py:898 part/models.py:3659 plugin/models.py:50 +#: report/models.py:149 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -503,22 +503,22 @@ msgstr "無効な選択です" #: templates/js/translated/company.js:1165 #: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186 #: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2719 +#: templates/js/translated/part.js:2748 templates/js/translated/stock.js:2716 msgid "Name" msgstr "お名前" -#: InvenTree/models.py:899 build/models.py:194 +#: InvenTree/models.py:913 build/models.py:217 #: build/templates/build/detail.html:24 common/models.py:136 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 label/models.py:127 -#: order/models.py:277 order/models.py:1316 part/admin.py:303 part/admin.py:414 -#: part/models.py:878 part/models.py:3631 part/templates/part/category.html:82 +#: company/templates/company/supplier_part.html:107 order/models.py:290 +#: order/models.py:1356 part/admin.py:305 part/admin.py:416 part/models.py:921 +#: part/models.py:3674 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 -#: part/templates/part/part_scheduling.html:12 report/models.py:189 -#: report/models.py:655 report/models.py:729 -#: report/templates/report/inventree_build_order_base.html:117 +#: part/templates/part/part_scheduling.html:12 report/models.py:155 +#: report/models.py:510 report/models.py:536 +#: report/templates/report/inventree_build_order_report.html:117 #: stock/admin.py:55 stock/models.py:82 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 @@ -530,71 +530,71 @@ msgstr "お名前" #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 -#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2896 +#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2354 +#: templates/js/translated/part.js:2784 templates/js/translated/part.js:2895 #: templates/js/translated/plugin.js:80 -#: templates/js/translated/purchase_order.js:1707 -#: templates/js/translated/purchase_order.js:1850 -#: templates/js/translated/purchase_order.js:2023 -#: templates/js/translated/return_order.js:314 -#: templates/js/translated/sales_order.js:802 -#: templates/js/translated/sales_order.js:1812 -#: templates/js/translated/stock.js:1515 templates/js/translated/stock.js:2060 -#: templates/js/translated/stock.js:2751 templates/js/translated/stock.js:2834 +#: templates/js/translated/purchase_order.js:1706 +#: templates/js/translated/purchase_order.js:1849 +#: templates/js/translated/purchase_order.js:2022 +#: templates/js/translated/return_order.js:313 +#: templates/js/translated/sales_order.js:838 +#: templates/js/translated/sales_order.js:1848 +#: templates/js/translated/stock.js:1515 templates/js/translated/stock.js:2058 +#: templates/js/translated/stock.js:2748 templates/js/translated/stock.js:2831 msgid "Description" msgstr "説明" -#: InvenTree/models.py:900 stock/models.py:83 +#: InvenTree/models.py:914 stock/models.py:83 msgid "Description (optional)" msgstr "説明 (オプション)" -#: InvenTree/models.py:909 +#: InvenTree/models.py:923 msgid "parent" msgstr "親" -#: InvenTree/models.py:915 templates/js/translated/part.js:2794 -#: templates/js/translated/stock.js:2760 +#: InvenTree/models.py:929 templates/js/translated/part.js:2793 +#: templates/js/translated/stock.js:2757 msgid "Path" msgstr "" -#: InvenTree/models.py:1021 +#: InvenTree/models.py:1035 msgid "Markdown notes (optional)" msgstr "マークダウンメモ (オプション)" -#: InvenTree/models.py:1050 +#: InvenTree/models.py:1064 msgid "Barcode Data" msgstr "バーコード情報" -#: InvenTree/models.py:1051 +#: InvenTree/models.py:1065 msgid "Third party barcode data" msgstr "サードパーティ製バーコードデータ" -#: InvenTree/models.py:1057 +#: InvenTree/models.py:1071 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:1058 +#: InvenTree/models.py:1072 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:1111 +#: InvenTree/models.py:1125 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:1154 +#: InvenTree/models.py:1168 msgid "Server Error" msgstr "" -#: InvenTree/models.py:1155 +#: InvenTree/models.py:1169 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:62 part/models.py:4169 +#: InvenTree/serializers.py:62 part/models.py:4212 msgid "Must be a valid number" msgstr "有効な数字でなければなりません" #: InvenTree/serializers.py:99 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:2993 +#: company/templates/company/company_base.html:112 part/models.py:3036 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -686,7 +686,7 @@ msgstr "外部画像ファイルのURL" msgid "Downloading images from remote URL is not enabled" msgstr "外部URLからの画像ダウンロードは許可されていません" -#: InvenTree/status.py:66 part/serializers.py:1161 +#: InvenTree/status.py:66 part/serializers.py:1176 msgid "Background worker check failed" msgstr "バックグラウンドワーカーのチェックに失敗しました" @@ -699,8 +699,8 @@ msgid "InvenTree system health checks failed" msgstr "InvenTree システムのヘルスチェックに失敗しました" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:37 -#: InvenTree/status_codes.py:148 InvenTree/status_codes.py:164 -#: InvenTree/status_codes.py:182 generic/states/tests.py:17 +#: InvenTree/status_codes.py:149 InvenTree/status_codes.py:165 +#: InvenTree/status_codes.py:183 generic/states/tests.py:17 #: templates/js/translated/table_filters.js:598 msgid "Pending" msgstr "処理待ち" @@ -709,188 +709,188 @@ msgstr "処理待ち" msgid "Placed" msgstr "設置済" -#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:151 -#: InvenTree/status_codes.py:169 generic/states/tests.py:19 -#: order/templates/order/order_base.html:158 -#: order/templates/order/sales_order_base.html:161 +#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:44 +#: InvenTree/status_codes.py:152 InvenTree/status_codes.py:170 +#: generic/states/tests.py:19 order/templates/order/order_base.html:158 +#: order/templates/order/sales_order_base.html:165 report/models.py:444 msgid "Complete" msgstr "完了" -#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:44 -#: InvenTree/status_codes.py:150 InvenTree/status_codes.py:170 +#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:45 +#: InvenTree/status_codes.py:151 InvenTree/status_codes.py:171 msgid "Cancelled" msgstr "キャンセル済" -#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:45 -#: InvenTree/status_codes.py:67 +#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:46 +#: InvenTree/status_codes.py:68 msgid "Lost" msgstr "紛失" -#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:46 -#: InvenTree/status_codes.py:73 +#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:47 +#: InvenTree/status_codes.py:74 msgid "Returned" msgstr "返品済" -#: InvenTree/status_codes.py:40 InvenTree/status_codes.py:167 +#: InvenTree/status_codes.py:40 InvenTree/status_codes.py:168 msgid "In Progress" msgstr "処理中" -#: InvenTree/status_codes.py:43 order/models.py:1566 -#: templates/js/translated/sales_order.js:1523 -#: templates/js/translated/sales_order.js:1644 -#: templates/js/translated/sales_order.js:1957 +#: InvenTree/status_codes.py:43 order/models.py:1606 +#: templates/js/translated/sales_order.js:1559 +#: templates/js/translated/sales_order.js:1680 +#: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "発送済み" -#: InvenTree/status_codes.py:62 +#: InvenTree/status_codes.py:63 msgid "OK" msgstr "" -#: InvenTree/status_codes.py:63 +#: InvenTree/status_codes.py:64 msgid "Attention needed" msgstr "注意が必要です" -#: InvenTree/status_codes.py:64 +#: InvenTree/status_codes.py:65 msgid "Damaged" msgstr "破損" -#: InvenTree/status_codes.py:65 +#: InvenTree/status_codes.py:66 msgid "Destroyed" msgstr "破壊されました" -#: InvenTree/status_codes.py:66 +#: InvenTree/status_codes.py:67 msgid "Rejected" msgstr "却下済み" -#: InvenTree/status_codes.py:70 +#: InvenTree/status_codes.py:71 msgid "Quarantined" msgstr "" -#: InvenTree/status_codes.py:91 +#: InvenTree/status_codes.py:92 msgid "Legacy stock tracking entry" msgstr "" -#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:544 +#: InvenTree/status_codes.py:94 templates/js/translated/stock.js:544 msgid "Stock item created" msgstr "在庫商品を作成しました" -#: InvenTree/status_codes.py:96 +#: InvenTree/status_codes.py:97 msgid "Edited stock item" msgstr "在庫商品編集済み" -#: InvenTree/status_codes.py:97 +#: InvenTree/status_codes.py:98 msgid "Assigned serial number" msgstr "割り当てられたシリアル番号" -#: InvenTree/status_codes.py:100 +#: InvenTree/status_codes.py:101 msgid "Stock counted" msgstr "在庫数" -#: InvenTree/status_codes.py:101 +#: InvenTree/status_codes.py:102 msgid "Stock manually added" msgstr "手動在庫追加が完了しました" -#: InvenTree/status_codes.py:102 +#: InvenTree/status_codes.py:103 msgid "Stock manually removed" msgstr "手動在庫削除が完了しました" -#: InvenTree/status_codes.py:105 +#: InvenTree/status_codes.py:106 msgid "Location changed" msgstr "ロケーションが変更されました" -#: InvenTree/status_codes.py:106 +#: InvenTree/status_codes.py:107 msgid "Stock updated" msgstr "" -#: InvenTree/status_codes.py:109 +#: InvenTree/status_codes.py:110 msgid "Installed into assembly" msgstr "アセンブリへインストールしました" -#: InvenTree/status_codes.py:110 +#: InvenTree/status_codes.py:111 msgid "Removed from assembly" msgstr "アセンブリから削除しました" -#: InvenTree/status_codes.py:112 +#: InvenTree/status_codes.py:113 msgid "Installed component item" msgstr "インストール済みのコンポーネント項目" -#: InvenTree/status_codes.py:113 +#: InvenTree/status_codes.py:114 msgid "Removed component item" msgstr "コンポーネント項目を削除しました" -#: InvenTree/status_codes.py:116 +#: InvenTree/status_codes.py:117 msgid "Split from parent item" msgstr "親アイテムから分割する" -#: InvenTree/status_codes.py:117 +#: InvenTree/status_codes.py:118 msgid "Split child item" msgstr "子項目を分割" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1858 +#: InvenTree/status_codes.py:121 templates/js/translated/stock.js:1858 msgid "Merged stock items" msgstr "商品在庫をマージしました" -#: InvenTree/status_codes.py:123 +#: InvenTree/status_codes.py:124 msgid "Converted to variant" msgstr "" -#: InvenTree/status_codes.py:126 +#: InvenTree/status_codes.py:127 msgid "Build order output created" msgstr "組立注文の出力が作成されました" -#: InvenTree/status_codes.py:127 +#: InvenTree/status_codes.py:128 msgid "Build order output completed" msgstr "組立注文の出力が完了しました" -#: InvenTree/status_codes.py:128 +#: InvenTree/status_codes.py:129 msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1764 +#: InvenTree/status_codes.py:130 templates/js/translated/stock.js:1764 msgid "Consumed by build order" msgstr "" -#: InvenTree/status_codes.py:132 +#: InvenTree/status_codes.py:133 msgid "Shipped against Sales Order" msgstr "" -#: InvenTree/status_codes.py:135 +#: InvenTree/status_codes.py:136 msgid "Received against Purchase Order" msgstr "" -#: InvenTree/status_codes.py:138 +#: InvenTree/status_codes.py:139 msgid "Returned against Return Order" msgstr "" -#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:375 +#: InvenTree/status_codes.py:142 templates/js/translated/table_filters.js:375 msgid "Sent to customer" msgstr "顧客に送信されました" -#: InvenTree/status_codes.py:142 +#: InvenTree/status_codes.py:143 msgid "Returned from customer" msgstr "顧客からの返品" -#: InvenTree/status_codes.py:149 +#: InvenTree/status_codes.py:150 msgid "Production" msgstr "生産" -#: InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:186 msgid "Return" msgstr "" -#: InvenTree/status_codes.py:188 +#: InvenTree/status_codes.py:189 msgid "Repair" msgstr "" -#: InvenTree/status_codes.py:191 +#: InvenTree/status_codes.py:192 msgid "Replace" msgstr "" -#: InvenTree/status_codes.py:194 +#: InvenTree/status_codes.py:195 msgid "Refund" msgstr "" -#: InvenTree/status_codes.py:197 +#: InvenTree/status_codes.py:198 msgid "Reject" msgstr "" @@ -946,14 +946,14 @@ msgstr "InvenTree について" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:299 part/models.py:4047 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4090 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4041 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4084 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -969,7 +969,7 @@ msgstr "" #: build/api.py:303 part/admin.py:144 templates/js/translated/build.js:1744 #: templates/js/translated/build.js:2629 -#: templates/js/translated/sales_order.js:1929 +#: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "" @@ -980,7 +980,7 @@ msgstr "" #: templates/email/low_stock_notification.html:17 #: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 #: templates/js/translated/index.js:123 -#: templates/js/translated/model_renderers.js:228 +#: templates/js/translated/model_renderers.js:234 #: templates/js/translated/part.js:692 templates/js/translated/part.js:694 #: templates/js/translated/part.js:699 #: templates/js/translated/table_filters.js:340 @@ -988,16 +988,16 @@ msgstr "" msgid "Available" msgstr "" -#: build/models.py:74 build/templates/build/build_base.html:9 +#: build/models.py:82 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 -#: report/templates/report/inventree_build_order_base.html:105 -#: templates/email/build_order_completed.html:16 +#: report/templates/report/inventree_build_order_report.html:105 +#: stock/serializers.py:83 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2895 +#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2892 msgid "Build Order" msgstr "組立注文" -#: build/models.py:75 build/templates/build/build_base.html:13 +#: build/models.py:83 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -1008,71 +1008,71 @@ msgstr "組立注文" msgid "Build Orders" msgstr "組立注文" -#: build/models.py:122 +#: build/models.py:130 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:133 order/models.py:239 +#: build/models.py:141 order/models.py:241 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:139 +#: build/models.py:147 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:185 +#: build/models.py:208 msgid "Build Order Reference" msgstr "" -#: build/models.py:186 order/models.py:442 order/models.py:898 -#: order/models.py:1276 order/models.py:1998 part/admin.py:417 -#: part/models.py:4062 part/templates/part/upload_bom.html:54 +#: build/models.py:209 order/models.py:464 order/models.py:929 +#: order/models.py:1316 order/models.py:2047 part/admin.py:419 +#: part/models.py:4105 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 -#: report/templates/report/inventree_so_report_base.html:28 +#: report/templates/report/inventree_purchase_order_report.html:28 +#: report/templates/report/inventree_return_order_report.html:26 +#: report/templates/report/inventree_sales_order_report.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 #: templates/js/translated/build.js:2512 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 -#: templates/js/translated/purchase_order.js:2066 -#: templates/js/translated/return_order.js:729 -#: templates/js/translated/sales_order.js:1818 +#: templates/js/translated/purchase_order.js:2065 +#: templates/js/translated/return_order.js:728 +#: templates/js/translated/sales_order.js:1854 msgid "Reference" msgstr "" -#: build/models.py:197 +#: build/models.py:220 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:205 build/templates/build/build_base.html:183 +#: build/models.py:228 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:206 +#: build/models.py:229 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:211 build/templates/build/build_base.html:97 +#: build/models.py:234 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 -#: order/models.py:1401 order/models.py:1546 order/models.py:1547 -#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004 -#: part/models.py:3148 part/models.py:3292 part/models.py:3315 -#: part/models.py:3336 part/models.py:3358 part/models.py:3468 -#: part/models.py:3764 part/models.py:3920 part/models.py:4013 -#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713 +#: order/models.py:1441 order/models.py:1586 order/models.py:1587 +#: part/api.py:1501 part/api.py:1795 part/models.py:392 part/models.py:3047 +#: part/models.py:3191 part/models.py:3335 part/models.py:3358 +#: part/models.py:3379 part/models.py:3401 part/models.py:3511 +#: part/models.py:3807 part/models.py:3963 part/models.py:4056 +#: part/models.py:4417 part/serializers.py:1122 part/serializers.py:1728 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 -#: report/templates/report/inventree_build_order_base.html:109 -#: report/templates/report/inventree_po_report_base.html:27 -#: report/templates/report/inventree_return_order_report_base.html:24 -#: report/templates/report/inventree_slr_report.html:102 -#: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:267 stock/serializers.py:689 -#: templates/InvenTree/search.html:82 +#: report/templates/report/inventree_build_order_report.html:109 +#: report/templates/report/inventree_purchase_order_report.html:27 +#: report/templates/report/inventree_return_order_report.html:24 +#: report/templates/report/inventree_sales_order_report.html:27 +#: report/templates/report/inventree_stock_location_report.html:102 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:396 +#: stock/serializers.py:818 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -1086,235 +1086,239 @@ msgstr "" #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 #: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 -#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:2323 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:751 #: templates/js/translated/purchase_order.js:1304 -#: templates/js/translated/purchase_order.js:1849 -#: templates/js/translated/purchase_order.js:2008 -#: templates/js/translated/return_order.js:539 -#: templates/js/translated/return_order.js:710 +#: templates/js/translated/purchase_order.js:1848 +#: templates/js/translated/purchase_order.js:2007 +#: templates/js/translated/return_order.js:538 +#: templates/js/translated/return_order.js:709 #: templates/js/translated/sales_order.js:300 -#: templates/js/translated/sales_order.js:1197 -#: templates/js/translated/sales_order.js:1598 -#: templates/js/translated/sales_order.js:1796 +#: templates/js/translated/sales_order.js:1233 +#: templates/js/translated/sales_order.js:1634 +#: templates/js/translated/sales_order.js:1832 #: templates/js/translated/stock.js:676 templates/js/translated/stock.js:842 -#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1999 -#: templates/js/translated/stock.js:2860 templates/js/translated/stock.js:3093 -#: templates/js/translated/stock.js:3239 +#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1997 +#: templates/js/translated/stock.js:2857 templates/js/translated/stock.js:3090 +#: templates/js/translated/stock.js:3236 msgid "Part" msgstr "パーツ" -#: build/models.py:219 +#: build/models.py:242 msgid "Select part to build" msgstr "" -#: build/models.py:224 +#: build/models.py:247 msgid "Sales Order Reference" msgstr "" -#: build/models.py:228 +#: build/models.py:251 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:233 build/serializers.py:970 +#: build/models.py:256 build/serializers.py:969 #: templates/js/translated/build.js:1731 -#: templates/js/translated/sales_order.js:1185 +#: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "" -#: build/models.py:237 +#: build/models.py:260 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:242 +#: build/models.py:265 msgid "Destination Location" msgstr "" -#: build/models.py:246 +#: build/models.py:269 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:250 +#: build/models.py:273 msgid "Build Quantity" msgstr "" -#: build/models.py:253 +#: build/models.py:276 msgid "Number of stock items to build" msgstr "" -#: build/models.py:257 +#: build/models.py:280 msgid "Completed items" msgstr "" -#: build/models.py:259 +#: build/models.py:282 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:263 +#: build/models.py:286 msgid "Build Status" msgstr "組立状況" -#: build/models.py:267 +#: build/models.py:290 msgid "Build status code" msgstr "" -#: build/models.py:276 build/serializers.py:278 order/serializers.py:581 -#: stock/models.py:823 stock/serializers.py:1333 +#: build/models.py:299 build/serializers.py:277 order/serializers.py:581 +#: stock/models.py:844 stock/serializers.py:75 stock/serializers.py:1462 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" -#: build/models.py:280 build/serializers.py:279 +#: build/models.py:303 build/serializers.py:278 msgid "Batch code for this build output" msgstr "" -#: build/models.py:283 order/models.py:304 order/serializers.py:120 -#: part/models.py:1079 part/templates/part/part_base.html:310 -#: templates/js/translated/return_order.js:339 -#: templates/js/translated/sales_order.js:827 +#: build/models.py:306 order/models.py:317 order/serializers.py:120 +#: part/models.py:1122 part/templates/part/part_base.html:310 +#: templates/js/translated/return_order.js:338 +#: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "作成日時" -#: build/models.py:287 +#: build/models.py:310 msgid "Target completion date" msgstr "" -#: build/models.py:288 +#: build/models.py:311 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:291 order/models.py:500 order/models.py:2043 +#: build/models.py:314 order/models.py:522 order/models.py:2092 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "" -#: build/models.py:297 +#: build/models.py:320 msgid "completed by" msgstr "" -#: build/models.py:305 templates/js/translated/build.js:2207 +#: build/models.py:328 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "" -#: build/models.py:306 +#: build/models.py:329 msgid "User who issued this build order" msgstr "" -#: build/models.py:314 build/templates/build/build_base.html:204 +#: build/models.py:337 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:145 -#: order/models.py:322 order/templates/order/order_base.html:217 +#: order/models.py:335 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1096 +#: order/templates/order/sales_order_base.html:232 part/models.py:1139 #: part/templates/part/part_base.html:390 -#: report/templates/report/inventree_build_order_base.html:158 +#: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 #: templates/js/translated/build.js:2219 -#: templates/js/translated/purchase_order.js:1764 -#: templates/js/translated/return_order.js:359 +#: templates/js/translated/purchase_order.js:1763 +#: templates/js/translated/return_order.js:358 #: templates/js/translated/table_filters.js:531 msgid "Responsible" msgstr "" -#: build/models.py:315 +#: build/models.py:338 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:320 build/templates/build/detail.html:108 +#: build/models.py:343 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 -#: order/templates/order/sales_order_base.html:180 -#: part/templates/part/part_base.html:383 stock/models.py:819 +#: order/templates/order/sales_order_base.html:184 +#: part/templates/part/part_base.html:383 stock/models.py:840 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "外部リンク" -#: build/models.py:325 +#: build/models.py:348 msgid "Build Priority" msgstr "組立優先度" -#: build/models.py:328 +#: build/models.py:351 msgid "Priority of this build order" msgstr "" -#: build/models.py:335 common/models.py:129 order/admin.py:18 -#: order/models.py:286 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:358 common/models.py:129 order/admin.py:18 +#: order/models.py:299 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 -#: templates/js/translated/purchase_order.js:1711 -#: templates/js/translated/return_order.js:318 -#: templates/js/translated/sales_order.js:806 +#: templates/js/translated/purchase_order.js:1710 +#: templates/js/translated/return_order.js:317 +#: templates/js/translated/sales_order.js:842 #: templates/js/translated/table_filters.js:48 #: templates/project_code_data.html:6 msgid "Project Code" msgstr "" -#: build/models.py:336 +#: build/models.py:359 msgid "Project code for this build order" msgstr "" -#: build/models.py:566 build/models.py:631 +#: build/models.py:589 build/models.py:654 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:588 +#: build/models.py:611 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:594 +#: build/models.py:617 msgid "A build order has been completed" msgstr "" -#: build/models.py:820 build/models.py:895 +#: build/models.py:843 build/models.py:918 msgid "No build output specified" msgstr "" -#: build/models.py:823 +#: build/models.py:846 msgid "Build output is already completed" msgstr "" -#: build/models.py:826 +#: build/models.py:849 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:899 build/serializers.py:221 build/serializers.py:260 -#: build/serializers.py:837 order/models.py:538 order/serializers.py:433 -#: order/serializers.py:576 part/serializers.py:1471 part/serializers.py:1871 -#: stock/models.py:662 stock/models.py:1482 stock/serializers.py:472 +#: build/models.py:922 build/serializers.py:220 build/serializers.py:259 +#: build/serializers.py:836 order/models.py:560 order/serializers.py:433 +#: order/serializers.py:576 part/serializers.py:1486 part/serializers.py:1886 +#: stock/models.py:683 stock/models.py:1503 stock/serializers.py:601 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:904 build/serializers.py:226 +#: build/models.py:927 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:961 build/serializers.py:539 +#: build/models.py:984 build/serializers.py:538 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1323 +#: build/models.py:1335 +msgid "Build Order Line Item" +msgstr "" + +#: build/models.py:1360 msgid "Build object" msgstr "" -#: build/models.py:1337 build/models.py:1593 build/serializers.py:208 -#: build/serializers.py:245 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2524 -#: order/models.py:1259 order/models.py:1918 order/serializers.py:1339 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 -#: part/forms.py:48 part/models.py:3162 part/models.py:4035 +#: build/models.py:1374 build/models.py:1630 build/serializers.py:207 +#: build/serializers.py:244 build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2530 +#: order/models.py:1299 order/models.py:1958 order/serializers.py:1339 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 +#: part/forms.py:48 part/models.py:3205 part/models.py:4078 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 -#: report/templates/report/inventree_build_order_base.html:113 -#: report/templates/report/inventree_po_report_base.html:29 -#: report/templates/report/inventree_slr_report.html:104 -#: report/templates/report/inventree_so_report_base.html:29 -#: report/templates/report/inventree_test_report_base.html:90 -#: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:160 stock/serializers.py:463 +#: report/templates/report/inventree_build_order_report.html:113 +#: report/templates/report/inventree_purchase_order_report.html:29 +#: report/templates/report/inventree_sales_order_report.html:29 +#: report/templates/report/inventree_stock_location_report.html:104 +#: report/templates/report/inventree_test_report.html:90 +#: report/templates/report/inventree_test_report.html:170 stock/admin.py:160 +#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:592 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1324,380 +1328,381 @@ msgstr "" #: templates/js/translated/build.js:737 templates/js/translated/build.js:1369 #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 -#: templates/js/translated/model_renderers.js:230 +#: templates/js/translated/model_renderers.js:236 #: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3341 +#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3340 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 #: templates/js/translated/purchase_order.js:754 -#: templates/js/translated/purchase_order.js:1853 -#: templates/js/translated/purchase_order.js:2072 +#: templates/js/translated/purchase_order.js:1852 +#: templates/js/translated/purchase_order.js:2071 #: templates/js/translated/sales_order.js:317 -#: templates/js/translated/sales_order.js:1199 -#: templates/js/translated/sales_order.js:1518 -#: templates/js/translated/sales_order.js:1608 -#: templates/js/translated/sales_order.js:1698 -#: templates/js/translated/sales_order.js:1824 +#: templates/js/translated/sales_order.js:1235 +#: templates/js/translated/sales_order.js:1554 +#: templates/js/translated/sales_order.js:1644 +#: templates/js/translated/sales_order.js:1734 +#: templates/js/translated/sales_order.js:1860 #: templates/js/translated/stock.js:564 templates/js/translated/stock.js:702 -#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:3024 -#: templates/js/translated/stock.js:3107 +#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:3021 +#: templates/js/translated/stock.js:3104 msgid "Quantity" msgstr "数量" -#: build/models.py:1338 +#: build/models.py:1375 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1418 +#: build/models.py:1455 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1427 +#: build/models.py:1464 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1437 order/models.py:1869 +#: build/models.py:1474 order/models.py:1909 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1443 order/models.py:1872 +#: build/models.py:1480 order/models.py:1912 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1449 +#: build/models.py:1486 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1508 +#: build/models.py:1545 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1580 build/serializers.py:817 order/serializers.py:1183 -#: order/serializers.py:1204 stock/serializers.py:566 stock/serializers.py:1052 -#: stock/serializers.py:1164 stock/templates/stock/item_base.html:10 +#: build/models.py:1617 build/serializers.py:816 order/serializers.py:1183 +#: order/serializers.py:1204 stock/models.py:364 stock/serializers.py:92 +#: stock/serializers.py:695 stock/serializers.py:1181 stock/serializers.py:1293 +#: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 #: templates/js/translated/build.js:1745 #: templates/js/translated/sales_order.js:301 -#: templates/js/translated/sales_order.js:1198 -#: templates/js/translated/sales_order.js:1499 -#: templates/js/translated/sales_order.js:1504 -#: templates/js/translated/sales_order.js:1605 -#: templates/js/translated/sales_order.js:1692 +#: templates/js/translated/sales_order.js:1234 +#: templates/js/translated/sales_order.js:1535 +#: templates/js/translated/sales_order.js:1540 +#: templates/js/translated/sales_order.js:1641 +#: templates/js/translated/sales_order.js:1728 #: templates/js/translated/stock.js:677 templates/js/translated/stock.js:843 -#: templates/js/translated/stock.js:2980 +#: templates/js/translated/stock.js:2977 msgid "Stock Item" msgstr "在庫商品" -#: build/models.py:1581 +#: build/models.py:1618 msgid "Source stock item" msgstr "" -#: build/models.py:1594 +#: build/models.py:1631 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1602 +#: build/models.py:1639 msgid "Install into" msgstr "" -#: build/models.py:1603 +#: build/models.py:1640 msgid "Destination stock item" msgstr "" -#: build/serializers.py:158 build/serializers.py:846 +#: build/serializers.py:157 build/serializers.py:845 #: templates/js/translated/build.js:1322 msgid "Build Output" msgstr "" -#: build/serializers.py:170 +#: build/serializers.py:169 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:174 +#: build/serializers.py:173 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:178 +#: build/serializers.py:177 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:189 +#: build/serializers.py:188 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:209 build/serializers.py:246 +#: build/serializers.py:208 build/serializers.py:245 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:267 +#: build/serializers.py:266 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:270 +#: build/serializers.py:269 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:285 order/serializers.py:589 order/serializers.py:1343 -#: stock/serializers.py:483 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:284 order/serializers.py:589 order/serializers.py:1343 +#: stock/serializers.py:612 templates/js/translated/purchase_order.js:1153 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "シリアル番号" -#: build/serializers.py:286 +#: build/serializers.py:285 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:291 build/serializers.py:432 build/serializers.py:504 +#: build/serializers.py:290 build/serializers.py:431 build/serializers.py:503 #: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1679 -#: part/serializers.py:1127 stock/serializers.py:494 stock/serializers.py:654 -#: stock/serializers.py:750 stock/serializers.py:1196 stock/serializers.py:1452 -#: stock/templates/stock/item_base.html:394 +#: part/serializers.py:1142 stock/serializers.py:101 stock/serializers.py:623 +#: stock/serializers.py:783 stock/serializers.py:879 stock/serializers.py:1325 +#: stock/serializers.py:1581 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 #: templates/js/translated/purchase_order.js:1178 #: templates/js/translated/purchase_order.js:1268 -#: templates/js/translated/sales_order.js:1511 -#: templates/js/translated/sales_order.js:1619 -#: templates/js/translated/sales_order.js:1627 -#: templates/js/translated/sales_order.js:1706 +#: templates/js/translated/sales_order.js:1547 +#: templates/js/translated/sales_order.js:1655 +#: templates/js/translated/sales_order.js:1663 +#: templates/js/translated/sales_order.js:1742 #: templates/js/translated/stock.js:678 templates/js/translated/stock.js:844 -#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2203 -#: templates/js/translated/stock.js:2874 +#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2201 +#: templates/js/translated/stock.js:2871 msgid "Location" msgstr "" -#: build/serializers.py:292 +#: build/serializers.py:291 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:306 +#: build/serializers.py:305 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:307 +#: build/serializers.py:306 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:322 +#: build/serializers.py:321 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:347 stock/api.py:995 +#: build/serializers.py:346 stock/api.py:1029 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:394 build/serializers.py:456 build/serializers.py:545 +#: build/serializers.py:393 build/serializers.py:455 build/serializers.py:544 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:433 +#: build/serializers.py:432 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:439 +#: build/serializers.py:438 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:440 +#: build/serializers.py:439 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:445 +#: build/serializers.py:444 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:505 +#: build/serializers.py:504 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:511 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:922 -#: order/models.py:2022 order/serializers.py:597 stock/admin.py:165 -#: stock/serializers.py:801 stock/serializers.py:1340 +#: build/serializers.py:510 build/templates/build/build_base.html:151 +#: build/templates/build/detail.html:62 order/models.py:953 +#: order/models.py:2071 order/serializers.py:597 stock/admin.py:165 +#: stock/serializers.py:930 stock/serializers.py:1469 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 -#: templates/js/translated/purchase_order.js:1723 -#: templates/js/translated/return_order.js:331 -#: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2178 templates/js/translated/stock.js:2998 -#: templates/js/translated/stock.js:3123 +#: templates/js/translated/purchase_order.js:1722 +#: templates/js/translated/return_order.js:330 +#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/stock.js:2176 templates/js/translated/stock.js:2995 +#: templates/js/translated/stock.js:3120 msgid "Status" msgstr "ステータス" -#: build/serializers.py:517 +#: build/serializers.py:516 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:518 +#: build/serializers.py:517 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:598 +#: build/serializers.py:597 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:599 +#: build/serializers.py:598 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:605 +#: build/serializers.py:604 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:606 +#: build/serializers.py:605 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:633 +#: build/serializers.py:632 msgid "Not permitted" msgstr "" -#: build/serializers.py:634 +#: build/serializers.py:633 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:635 +#: build/serializers.py:634 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:657 +#: build/serializers.py:656 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:659 +#: build/serializers.py:658 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:669 +#: build/serializers.py:668 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:674 +#: build/serializers.py:673 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:675 +#: build/serializers.py:674 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:685 templates/js/translated/build.js:315 +#: build/serializers.py:684 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:690 order/serializers.py:301 order/serializers.py:1246 +#: build/serializers.py:689 order/serializers.py:301 order/serializers.py:1246 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:691 +#: build/serializers.py:690 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:701 templates/js/translated/build.js:319 +#: build/serializers.py:700 templates/js/translated/build.js:319 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:710 templates/js/translated/build.js:303 +#: build/serializers.py:709 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:740 +#: build/serializers.py:739 msgid "Build Line" msgstr "組立ライン" -#: build/serializers.py:750 +#: build/serializers.py:749 msgid "Build output" msgstr "" -#: build/serializers.py:758 +#: build/serializers.py:757 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:794 +#: build/serializers.py:793 msgid "Build Line Item" msgstr "" -#: build/serializers.py:808 +#: build/serializers.py:807 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:823 stock/serializers.py:1065 +#: build/serializers.py:822 stock/serializers.py:1194 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:871 order/serializers.py:1237 +#: build/serializers.py:870 order/serializers.py:1237 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:877 +#: build/serializers.py:876 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:884 +#: build/serializers.py:883 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:908 order/serializers.py:1489 +#: build/serializers.py:907 order/serializers.py:1489 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:971 +#: build/serializers.py:970 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:979 +#: build/serializers.py:978 msgid "Exclude Location" msgstr "" -#: build/serializers.py:980 +#: build/serializers.py:979 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:985 +#: build/serializers.py:984 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:986 +#: build/serializers.py:985 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:991 +#: build/serializers.py:990 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:992 +#: build/serializers.py:991 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:997 +#: build/serializers.py:996 msgid "Optional Items" msgstr "" -#: build/serializers.py:998 +#: build/serializers.py:997 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1020 +#: build/serializers.py:1019 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1110 part/models.py:3930 part/models.py:4366 -#: stock/api.py:758 +#: build/serializers.py:1109 part/models.py:3973 part/models.py:4409 +#: stock/api.py:792 msgid "BOM Item" msgstr "" -#: build/serializers.py:1119 templates/js/translated/index.js:130 +#: build/serializers.py:1118 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1124 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:817 part/serializers.py:1489 +#: build/serializers.py:1123 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:832 part/serializers.py:1504 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 @@ -1705,15 +1710,15 @@ msgstr "" msgid "On Order" msgstr "" -#: build/serializers.py:1129 part/serializers.py:1491 +#: build/serializers.py:1128 part/serializers.py:1506 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1134 part/bom.py:172 part/serializers.py:1514 +#: build/serializers.py:1133 part/bom.py:172 part/serializers.py:1529 #: part/templates/part/part_base.html:192 -#: templates/js/translated/sales_order.js:1893 +#: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "" @@ -1842,18 +1847,18 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:297 -#: order/models.py:1294 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:310 +#: order/models.py:1334 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 -#: order/templates/order/sales_order_base.html:192 -#: report/templates/report/inventree_build_order_base.html:125 +#: order/templates/order/sales_order_base.html:196 +#: report/templates/report/inventree_build_order_report.html:125 #: templates/js/translated/build.js:2239 templates/js/translated/part.js:1830 -#: templates/js/translated/purchase_order.js:1740 -#: templates/js/translated/purchase_order.js:2148 -#: templates/js/translated/return_order.js:347 -#: templates/js/translated/return_order.js:751 -#: templates/js/translated/sales_order.js:835 -#: templates/js/translated/sales_order.js:1867 +#: templates/js/translated/purchase_order.js:1739 +#: templates/js/translated/purchase_order.js:2147 +#: templates/js/translated/return_order.js:346 +#: templates/js/translated/return_order.js:750 +#: templates/js/translated/sales_order.js:871 +#: templates/js/translated/sales_order.js:1903 msgid "Target Date" msgstr "" @@ -1866,7 +1871,7 @@ msgstr "" #: build/templates/build/build_base.html:222 #: order/templates/order/order_base.html:122 #: order/templates/order/return_order_base.html:117 -#: order/templates/order/sales_order_base.html:122 +#: order/templates/order/sales_order_base.html:126 #: templates/js/translated/table_filters.js:98 #: templates/js/translated/table_filters.js:524 #: templates/js/translated/table_filters.js:626 @@ -1880,24 +1885,24 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:1538 -#: order/models.py:1652 order/models.py:1806 +#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:848 +#: order/models.py:1578 order/models.py:1692 order/models.py:1846 #: 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 +#: report/templates/report/inventree_build_order_report.html:135 +#: report/templates/report/inventree_sales_order_report.html:14 #: stock/templates/stock/item_base.html:369 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:929 -#: templates/js/translated/sales_order.js:769 -#: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2927 +#: templates/js/translated/sales_order.js:805 +#: templates/js/translated/sales_order.js:1028 +#: templates/js/translated/stock.js:2924 msgid "Sales Order" msgstr "" #: build/templates/build/build_base.html:197 #: build/templates/build/detail.html:115 -#: report/templates/report/inventree_build_order_base.html:152 +#: report/templates/report/inventree_build_order_report.html:152 #: templates/js/translated/table_filters.js:24 msgid "Issued By" msgstr "" @@ -1907,15 +1912,15 @@ msgstr "" msgid "Priority" msgstr "" -#: build/templates/build/build_base.html:273 +#: build/templates/build/build_base.html:269 msgid "Delete Build Order" msgstr "" -#: build/templates/build/build_base.html:283 +#: build/templates/build/build_base.html:279 msgid "Build Order QR Code" msgstr "" -#: build/templates/build/build_base.html:295 +#: build/templates/build/build_base.html:291 msgid "Link Barcode to Build Order" msgstr "" @@ -1931,8 +1936,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1430 -#: templates/js/translated/purchase_order.js:2190 +#: build/templates/build/detail.html:49 order/models.py:1470 +#: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "" @@ -1947,10 +1952,10 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 #: templates/js/translated/build.js:1380 -#: templates/js/translated/model_renderers.js:235 +#: templates/js/translated/model_renderers.js:241 #: templates/js/translated/purchase_order.js:1274 -#: templates/js/translated/stock.js:1133 templates/js/translated/stock.js:2192 -#: templates/js/translated/stock.js:3130 +#: templates/js/translated/stock.js:1133 templates/js/translated/stock.js:2190 +#: templates/js/translated/stock.js:3127 #: templates/js/translated/table_filters.js:313 #: templates/js/translated/table_filters.js:404 msgid "Batch" @@ -1959,7 +1964,7 @@ msgstr "" #: build/templates/build/detail.html:133 #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:151 -#: order/templates/order/sales_order_base.html:186 +#: order/templates/order/sales_order_base.html:190 #: templates/js/translated/build.js:2199 msgid "Created" msgstr "" @@ -1969,7 +1974,7 @@ msgid "No target date set" msgstr "" #: build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:202 +#: order/templates/order/sales_order_base.html:206 #: templates/js/translated/table_filters.js:689 msgid "Completed" msgstr "" @@ -2260,8 +2265,8 @@ msgstr "" #: common/models.py:1316 common/models.py:1372 common/models.py:1385 #: common/models.py:1393 common/models.py:1402 common/models.py:1411 -#: common/models.py:1613 common/models.py:1635 common/models.py:1750 -#: common/models.py:2061 +#: common/models.py:1619 common/models.py:1641 common/models.py:1756 +#: common/models.py:2067 msgid "days" msgstr "" @@ -2402,1209 +2407,1218 @@ msgid "Enable revision field for Part" msgstr "" #: common/models.py:1440 -msgid "IPN Regex" +msgid "Allow Deletion from Assembly" msgstr "" #: common/models.py:1441 +msgid "Allow deletion of parts which are used in an assembly" +msgstr "" + +#: common/models.py:1446 +msgid "IPN Regex" +msgstr "" + +#: common/models.py:1447 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1444 +#: common/models.py:1450 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1445 +#: common/models.py:1451 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1450 +#: common/models.py:1456 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1451 +#: common/models.py:1457 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1456 +#: common/models.py:1462 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1457 +#: common/models.py:1463 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1462 +#: common/models.py:1468 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1463 +#: common/models.py:1469 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1468 +#: common/models.py:1474 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1469 +#: common/models.py:1475 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1474 +#: common/models.py:1480 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1475 +#: common/models.py:1481 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1480 part/admin.py:108 part/models.py:3772 -#: report/models.py:182 stock/serializers.py:99 +#: common/models.py:1486 part/admin.py:108 part/models.py:3815 +#: report/models.py:294 report/models.py:361 report/serializers.py:90 +#: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:767 msgid "Template" msgstr "テンプレート" -#: common/models.py:1481 +#: common/models.py:1487 msgid "Parts are templates by default" msgstr "パーツはデフォルトのテンプレートです" -#: common/models.py:1486 part/admin.py:91 part/admin.py:431 part/models.py:1016 +#: common/models.py:1492 part/admin.py:91 part/admin.py:433 part/models.py:1059 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "アセンブリ" -#: common/models.py:1487 +#: common/models.py:1493 msgid "Parts can be assembled from other components by default" msgstr "パーツはデフォルトで他のコンポーネントから組み立てることができます" -#: common/models.py:1492 part/admin.py:95 part/models.py:1022 +#: common/models.py:1498 part/admin.py:95 part/models.py:1065 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "コンポーネント" -#: common/models.py:1493 +#: common/models.py:1499 msgid "Parts can be used as sub-components by default" msgstr "パーツはデフォルトでサブコンポーネントとして使用できます" -#: common/models.py:1498 part/admin.py:100 part/models.py:1034 +#: common/models.py:1504 part/admin.py:100 part/models.py:1077 msgid "Purchaseable" msgstr "購入可能" -#: common/models.py:1499 +#: common/models.py:1505 msgid "Parts are purchaseable by default" msgstr "パーツはデフォルトで購入可能です" -#: common/models.py:1504 part/admin.py:104 part/models.py:1040 +#: common/models.py:1510 part/admin.py:104 part/models.py:1083 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "販売可能" -#: common/models.py:1505 +#: common/models.py:1511 msgid "Parts are salable by default" msgstr "パーツはデフォルトで販売可能です" -#: common/models.py:1510 part/admin.py:113 part/models.py:1028 +#: common/models.py:1516 part/admin.py:113 part/models.py:1071 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "追跡可能" -#: common/models.py:1511 +#: common/models.py:1517 msgid "Parts are trackable by default" msgstr "パーツはデフォルトで追跡可能です" -#: common/models.py:1516 part/admin.py:117 part/models.py:1050 +#: common/models.py:1522 part/admin.py:117 part/models.py:1093 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "" -#: common/models.py:1517 +#: common/models.py:1523 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1522 +#: common/models.py:1528 msgid "Show Import in Views" msgstr "" -#: common/models.py:1523 +#: common/models.py:1529 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1528 +#: common/models.py:1534 msgid "Show related parts" msgstr "" -#: common/models.py:1529 +#: common/models.py:1535 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1534 +#: common/models.py:1540 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1535 +#: common/models.py:1541 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1540 templates/js/translated/part.js:107 +#: common/models.py:1546 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1542 +#: common/models.py:1548 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1548 +#: common/models.py:1554 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1549 +#: common/models.py:1555 msgid "Format to display the part name" msgstr "" -#: common/models.py:1555 +#: common/models.py:1561 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1556 +#: common/models.py:1562 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1560 +#: common/models.py:1566 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1562 +#: common/models.py:1568 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1568 +#: common/models.py:1574 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1570 +#: common/models.py:1576 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1576 +#: common/models.py:1582 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1578 +#: common/models.py:1584 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1584 +#: common/models.py:1590 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1586 +#: common/models.py:1592 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1592 +#: common/models.py:1598 msgid "Purchase History Override" msgstr "" -#: common/models.py:1594 +#: common/models.py:1600 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1600 +#: common/models.py:1606 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1602 +#: common/models.py:1608 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1608 +#: common/models.py:1614 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1610 +#: common/models.py:1616 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1617 +#: common/models.py:1623 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1618 +#: common/models.py:1624 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1623 +#: common/models.py:1629 msgid "Active Variants Only" msgstr "" -#: common/models.py:1625 +#: common/models.py:1631 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1631 +#: common/models.py:1637 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1633 +#: common/models.py:1639 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1640 +#: common/models.py:1646 msgid "Internal Prices" msgstr "" -#: common/models.py:1641 +#: common/models.py:1647 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1646 +#: common/models.py:1652 msgid "Internal Price Override" msgstr "" -#: common/models.py:1648 +#: common/models.py:1654 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1654 +#: common/models.py:1660 msgid "Enable label printing" msgstr "" -#: common/models.py:1655 +#: common/models.py:1661 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1660 +#: common/models.py:1666 msgid "Label Image DPI" msgstr "" -#: common/models.py:1662 +#: common/models.py:1668 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1668 +#: common/models.py:1674 msgid "Enable Reports" msgstr "" -#: common/models.py:1669 +#: common/models.py:1675 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1674 templates/stats.html:25 +#: common/models.py:1680 templates/stats.html:25 msgid "Debug Mode" msgstr "デバッグモード" -#: common/models.py:1675 +#: common/models.py:1681 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1680 +#: common/models.py:1686 msgid "Log Report Errors" msgstr "" -#: common/models.py:1681 +#: common/models.py:1687 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1686 plugin/builtin/labels/label_sheet.py:28 -#: report/models.py:203 +#: common/models.py:1692 plugin/builtin/labels/label_sheet.py:28 +#: report/models.py:302 msgid "Page Size" msgstr "" -#: common/models.py:1687 +#: common/models.py:1693 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1692 +#: common/models.py:1698 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1693 +#: common/models.py:1699 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1698 +#: common/models.py:1704 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1700 +#: common/models.py:1706 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1706 +#: common/models.py:1712 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1707 +#: common/models.py:1713 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1712 +#: common/models.py:1718 msgid "Autofill Serial Numbers" msgstr "シリアル番号を自動入力" -#: common/models.py:1713 +#: common/models.py:1719 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1718 +#: common/models.py:1724 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1720 +#: common/models.py:1726 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1726 +#: common/models.py:1732 msgid "Batch Code Template" msgstr "" -#: common/models.py:1728 +#: common/models.py:1734 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1733 +#: common/models.py:1739 msgid "Stock Expiry" msgstr "" -#: common/models.py:1734 +#: common/models.py:1740 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1739 +#: common/models.py:1745 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1740 +#: common/models.py:1746 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1745 +#: common/models.py:1751 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1747 +#: common/models.py:1753 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1754 +#: common/models.py:1760 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1755 +#: common/models.py:1761 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1760 +#: common/models.py:1766 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1761 +#: common/models.py:1767 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1766 +#: common/models.py:1772 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1767 +#: common/models.py:1773 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1771 +#: common/models.py:1777 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1772 +#: common/models.py:1778 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1777 +#: common/models.py:1783 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1779 +#: common/models.py:1785 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1785 +#: common/models.py:1791 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1787 +#: common/models.py:1793 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1793 +#: common/models.py:1799 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1795 +#: common/models.py:1801 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1801 common/models.py:1829 common/models.py:1851 -#: common/models.py:1879 +#: common/models.py:1807 common/models.py:1835 common/models.py:1857 +#: common/models.py:1885 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1802 common/models.py:1830 common/models.py:1852 -#: common/models.py:1880 +#: common/models.py:1808 common/models.py:1836 common/models.py:1858 +#: common/models.py:1886 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1807 +#: common/models.py:1813 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1809 +#: common/models.py:1815 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1815 +#: common/models.py:1821 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1816 +#: common/models.py:1822 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1821 +#: common/models.py:1827 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1823 +#: common/models.py:1829 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1835 +#: common/models.py:1841 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1837 +#: common/models.py:1843 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1843 +#: common/models.py:1849 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1845 +#: common/models.py:1851 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1857 +#: common/models.py:1863 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1858 +#: common/models.py:1864 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1863 +#: common/models.py:1869 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1865 +#: common/models.py:1871 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1871 +#: common/models.py:1877 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1873 +#: common/models.py:1879 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1885 +#: common/models.py:1891 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1887 +#: common/models.py:1893 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1893 +#: common/models.py:1899 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1895 +#: common/models.py:1901 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1902 +#: common/models.py:1908 msgid "Enable password forgot" msgstr "" -#: common/models.py:1903 +#: common/models.py:1909 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1908 +#: common/models.py:1914 msgid "Enable registration" msgstr "" -#: common/models.py:1909 +#: common/models.py:1915 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1914 +#: common/models.py:1920 msgid "Enable SSO" msgstr "" -#: common/models.py:1915 +#: common/models.py:1921 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1920 +#: common/models.py:1926 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1922 +#: common/models.py:1928 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1928 +#: common/models.py:1934 msgid "Email required" msgstr "メールアドレスは必須です" -#: common/models.py:1929 +#: common/models.py:1935 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1934 +#: common/models.py:1940 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1936 +#: common/models.py:1942 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1942 +#: common/models.py:1948 msgid "Mail twice" msgstr "" -#: common/models.py:1943 +#: common/models.py:1949 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1948 +#: common/models.py:1954 msgid "Password twice" msgstr "" -#: common/models.py:1949 +#: common/models.py:1955 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1954 +#: common/models.py:1960 msgid "Allowed domains" msgstr "" -#: common/models.py:1956 +#: common/models.py:1962 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1962 +#: common/models.py:1968 msgid "Group on signup" msgstr "" -#: common/models.py:1963 +#: common/models.py:1969 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1968 +#: common/models.py:1974 msgid "Enforce MFA" msgstr "" -#: common/models.py:1969 +#: common/models.py:1975 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1974 +#: common/models.py:1980 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1976 +#: common/models.py:1982 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1984 +#: common/models.py:1990 msgid "Check for plugin updates" msgstr "" -#: common/models.py:1985 +#: common/models.py:1991 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:1991 +#: common/models.py:1997 msgid "Enable URL integration" msgstr "" -#: common/models.py:1992 +#: common/models.py:1998 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1998 +#: common/models.py:2004 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1999 +#: common/models.py:2005 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2005 +#: common/models.py:2011 msgid "Enable app integration" msgstr "" -#: common/models.py:2006 +#: common/models.py:2012 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2012 +#: common/models.py:2018 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2013 +#: common/models.py:2019 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2019 +#: common/models.py:2025 msgid "Enable event integration" msgstr "" -#: common/models.py:2020 +#: common/models.py:2026 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2026 +#: common/models.py:2032 msgid "Enable project codes" msgstr "" -#: common/models.py:2027 +#: common/models.py:2033 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2032 +#: common/models.py:2038 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2034 +#: common/models.py:2040 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2040 +#: common/models.py:2046 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2042 +#: common/models.py:2048 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2048 +#: common/models.py:2054 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2050 +#: common/models.py:2056 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2056 +#: common/models.py:2062 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2058 +#: common/models.py:2064 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2065 +#: common/models.py:2071 msgid "Display Users full names" msgstr "" -#: common/models.py:2066 +#: common/models.py:2072 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2071 +#: common/models.py:2077 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2072 +#: common/models.py:2078 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2084 common/models.py:2494 +#: common/models.py:2090 common/models.py:2500 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2127 +#: common/models.py:2133 msgid "Hide inactive parts" msgstr "非アクティブな部品を非表示" -#: common/models.py:2129 +#: common/models.py:2135 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2135 +#: common/models.py:2141 msgid "Show subscribed parts" msgstr "購読中の部品を表示" -#: common/models.py:2136 +#: common/models.py:2142 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2141 +#: common/models.py:2147 msgid "Show subscribed categories" msgstr "購読中のカテゴリを表示" -#: common/models.py:2142 +#: common/models.py:2148 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2147 +#: common/models.py:2153 msgid "Show latest parts" msgstr "" -#: common/models.py:2148 +#: common/models.py:2154 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2153 +#: common/models.py:2159 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2154 +#: common/models.py:2160 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2159 +#: common/models.py:2165 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2160 +#: common/models.py:2166 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2165 +#: common/models.py:2171 msgid "Show low stock" msgstr "" -#: common/models.py:2166 +#: common/models.py:2172 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2171 +#: common/models.py:2177 msgid "Show depleted stock" msgstr "" -#: common/models.py:2172 +#: common/models.py:2178 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2177 +#: common/models.py:2183 msgid "Show needed stock" msgstr "" -#: common/models.py:2178 +#: common/models.py:2184 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2183 +#: common/models.py:2189 msgid "Show expired stock" msgstr "" -#: common/models.py:2184 +#: common/models.py:2190 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2189 +#: common/models.py:2195 msgid "Show stale stock" msgstr "" -#: common/models.py:2190 +#: common/models.py:2196 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2195 +#: common/models.py:2201 msgid "Show pending builds" msgstr "" -#: common/models.py:2196 +#: common/models.py:2202 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2201 +#: common/models.py:2207 msgid "Show overdue builds" msgstr "" -#: common/models.py:2202 +#: common/models.py:2208 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2207 +#: common/models.py:2213 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2208 +#: common/models.py:2214 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2213 +#: common/models.py:2219 msgid "Show overdue POs" msgstr "" -#: common/models.py:2214 +#: common/models.py:2220 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2219 +#: common/models.py:2225 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2220 +#: common/models.py:2226 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2225 +#: common/models.py:2231 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2226 +#: common/models.py:2232 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2231 +#: common/models.py:2237 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2232 +#: common/models.py:2238 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2237 +#: common/models.py:2243 msgid "Show News" msgstr "" -#: common/models.py:2238 +#: common/models.py:2244 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2243 +#: common/models.py:2249 msgid "Inline label display" msgstr "" -#: common/models.py:2245 +#: common/models.py:2251 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2251 +#: common/models.py:2257 msgid "Default label printer" msgstr "" -#: common/models.py:2253 +#: common/models.py:2259 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2259 +#: common/models.py:2265 msgid "Inline report display" msgstr "" -#: common/models.py:2261 +#: common/models.py:2267 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2267 +#: common/models.py:2273 msgid "Search Parts" msgstr "" -#: common/models.py:2268 +#: common/models.py:2274 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2273 +#: common/models.py:2279 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2274 +#: common/models.py:2280 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2279 +#: common/models.py:2285 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2280 +#: common/models.py:2286 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2285 +#: common/models.py:2291 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2286 +#: common/models.py:2292 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2291 +#: common/models.py:2297 msgid "Search Categories" msgstr "" -#: common/models.py:2292 +#: common/models.py:2298 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2297 +#: common/models.py:2303 msgid "Search Stock" msgstr "" -#: common/models.py:2298 +#: common/models.py:2304 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2303 +#: common/models.py:2309 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2305 +#: common/models.py:2311 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2311 +#: common/models.py:2317 msgid "Search Locations" msgstr "" -#: common/models.py:2312 +#: common/models.py:2318 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2317 +#: common/models.py:2323 msgid "Search Companies" msgstr "" -#: common/models.py:2318 +#: common/models.py:2324 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2323 +#: common/models.py:2329 msgid "Search Build Orders" msgstr "" -#: common/models.py:2324 +#: common/models.py:2330 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2329 +#: common/models.py:2335 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2330 +#: common/models.py:2336 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2335 +#: common/models.py:2341 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2337 +#: common/models.py:2343 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2343 +#: common/models.py:2349 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2344 +#: common/models.py:2350 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2349 +#: common/models.py:2355 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2351 +#: common/models.py:2357 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2357 +#: common/models.py:2363 msgid "Search Return Orders" msgstr "" -#: common/models.py:2358 +#: common/models.py:2364 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2363 +#: common/models.py:2369 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2365 +#: common/models.py:2371 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2371 +#: common/models.py:2377 msgid "Search Preview Results" msgstr "" -#: common/models.py:2373 +#: common/models.py:2379 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2379 +#: common/models.py:2385 msgid "Regex Search" msgstr "" -#: common/models.py:2380 +#: common/models.py:2386 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2385 +#: common/models.py:2391 msgid "Whole Word Search" msgstr "" -#: common/models.py:2386 +#: common/models.py:2392 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2391 +#: common/models.py:2397 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2392 +#: common/models.py:2398 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2397 +#: common/models.py:2403 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2398 +#: common/models.py:2404 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2403 +#: common/models.py:2409 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2404 +#: common/models.py:2410 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2409 +#: common/models.py:2415 msgid "Date Format" msgstr "" -#: common/models.py:2410 +#: common/models.py:2416 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2423 part/templates/part/detail.html:41 +#: common/models.py:2429 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2424 +#: common/models.py:2430 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2429 part/templates/part/detail.html:62 +#: common/models.py:2435 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2431 +#: common/models.py:2437 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2437 +#: common/models.py:2443 msgid "Table String Length" msgstr "" -#: common/models.py:2439 +#: common/models.py:2445 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2445 +#: common/models.py:2451 msgid "Default part label template" msgstr "" -#: common/models.py:2446 +#: common/models.py:2452 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2451 +#: common/models.py:2457 msgid "Default stock item template" msgstr "" -#: common/models.py:2453 +#: common/models.py:2459 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2459 +#: common/models.py:2465 msgid "Default stock location label template" msgstr "" -#: common/models.py:2461 +#: common/models.py:2467 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2467 +#: common/models.py:2473 msgid "Default build line label template" msgstr "" -#: common/models.py:2469 +#: common/models.py:2475 msgid "The build line label template to be automatically selected" msgstr "" -#: common/models.py:2475 +#: common/models.py:2481 msgid "Receive error reports" msgstr "" -#: common/models.py:2476 +#: common/models.py:2482 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2481 +#: common/models.py:2487 msgid "Last used printing machines" msgstr "" -#: common/models.py:2482 +#: common/models.py:2488 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2525 +#: common/models.py:2531 msgid "Price break quantity" msgstr "" -#: common/models.py:2532 company/serializers.py:496 order/admin.py:42 -#: order/models.py:1333 order/models.py:2243 +#: common/models.py:2538 company/serializers.py:496 order/admin.py:42 +#: order/models.py:1373 order/models.py:2292 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 -#: templates/js/translated/return_order.js:741 +#: templates/js/translated/return_order.js:740 msgid "Price" msgstr "" -#: common/models.py:2533 +#: common/models.py:2539 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2704 common/models.py:2889 +#: common/models.py:2710 common/models.py:2895 msgid "Endpoint" msgstr "" -#: common/models.py:2705 +#: common/models.py:2711 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2715 +#: common/models.py:2721 msgid "Name for this webhook" msgstr "" -#: common/models.py:2719 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1045 -#: plugin/models.py:56 templates/js/translated/company.js:523 +#: common/models.py:2725 company/models.py:160 company/models.py:814 +#: machine/models.py:39 part/admin.py:88 part/models.py:1088 +#: plugin/models.py:65 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:492 @@ -3614,135 +3628,135 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2719 +#: common/models.py:2725 msgid "Is this webhook active" msgstr "" -#: common/models.py:2735 users/models.py:159 +#: common/models.py:2741 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2736 +#: common/models.py:2742 msgid "Token for access" msgstr "" -#: common/models.py:2744 +#: common/models.py:2750 msgid "Secret" msgstr "" -#: common/models.py:2745 +#: common/models.py:2751 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2853 +#: common/models.py:2859 msgid "Message ID" msgstr "メッセージ ID:" -#: common/models.py:2854 +#: common/models.py:2860 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2862 +#: common/models.py:2868 msgid "Host" msgstr "" -#: common/models.py:2863 +#: common/models.py:2869 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2871 +#: common/models.py:2877 msgid "Header" msgstr "" -#: common/models.py:2872 +#: common/models.py:2878 msgid "Header of this message" msgstr "" -#: common/models.py:2879 +#: common/models.py:2885 msgid "Body" msgstr "" -#: common/models.py:2880 +#: common/models.py:2886 msgid "Body of this message" msgstr "" -#: common/models.py:2890 +#: common/models.py:2896 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2895 +#: common/models.py:2901 msgid "Worked on" msgstr "" -#: common/models.py:2896 +#: common/models.py:2902 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3022 +#: common/models.py:3028 msgid "Id" msgstr "" -#: common/models.py:3024 templates/js/translated/company.js:965 +#: common/models.py:3030 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3028 templates/js/translated/news.js:60 +#: common/models.py:3034 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3030 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3036 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3032 templates/js/translated/news.js:52 +#: common/models.py:3038 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3035 +#: common/models.py:3041 msgid "Read" msgstr "" -#: common/models.py:3035 +#: common/models.py:3041 msgid "Was this news item read?" msgstr "" -#: common/models.py:3052 company/models.py:156 part/models.py:929 +#: common/models.py:3058 company/models.py:156 part/models.py:972 #: 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 +#: report/templates/report/inventree_return_order_report.html:35 #: stock/templates/stock/item_base.html:133 templates/503.html:31 #: templates/hover_image.html:7 templates/hover_image.html:9 #: templates/modals.html:6 msgid "Image" msgstr "" -#: common/models.py:3052 +#: common/models.py:3058 msgid "Image file" msgstr "" -#: common/models.py:3094 +#: common/models.py:3100 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3113 +#: common/models.py:3119 msgid "Unit name" msgstr "" -#: common/models.py:3120 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3126 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3121 +#: common/models.py:3127 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3128 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3134 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3129 +#: common/models.py:3135 msgid "Unit definition" msgstr "" @@ -3929,9 +3943,9 @@ msgid "Contact email address" msgstr "連絡先メールアドレス" #: company/models.py:139 company/templates/company/company_base.html:145 -#: order/models.py:331 order/templates/order/order_base.html:203 +#: order/models.py:344 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 -#: order/templates/order/sales_order_base.html:214 +#: order/templates/order/sales_order_base.html:218 msgid "Contact" msgstr "" @@ -3977,7 +3991,7 @@ msgstr "" #: company/models.py:273 company/models.py:382 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:776 +#: company/templates/company/company_base.html:12 stock/api.py:810 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "" @@ -4069,8 +4083,8 @@ msgstr "" msgid "Link to address information (external)" msgstr "" -#: company/models.py:489 company/models.py:792 stock/models.py:751 -#: stock/serializers.py:266 stock/templates/stock/item_base.html:142 +#: company/models.py:489 company/models.py:792 stock/models.py:772 +#: stock/serializers.py:395 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -4081,7 +4095,7 @@ msgstr "" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:515 +#: company/templates/company/supplier_part.html:145 part/serializers.py:530 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4096,13 +4110,13 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:525 +#: company/templates/company/supplier_part.html:153 part/serializers.py:540 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800 -#: templates/js/translated/purchase_order.js:1852 -#: templates/js/translated/purchase_order.js:2054 +#: templates/js/translated/purchase_order.js:1851 +#: templates/js/translated/purchase_order.js:2053 msgid "MPN" msgstr "" @@ -4129,9 +4143,8 @@ msgstr "メーカー・パーツ" msgid "Parameter name" msgstr "" -#: company/models.py:621 -#: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2448 templates/js/translated/company.js:1166 +#: company/models.py:621 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2425 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492 #: templates/js/translated/stock.js:1522 msgid "Value" @@ -4142,10 +4155,10 @@ msgid "Parameter value" msgstr "" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1009 part/models.py:3623 +#: part/admin.py:57 part/models.py:1052 part/models.py:3666 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 -#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370 +#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 msgid "Units" msgstr "" @@ -4166,9 +4179,9 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:465 +#: company/templates/company/supplier_part.html:129 order/models.py:487 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:499 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:514 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4176,7 +4189,7 @@ msgstr "" #: templates/js/translated/company.js:511 #: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1690 +#: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/table_filters.js:804 msgid "Supplier" msgstr "仕入先" @@ -4185,7 +4198,7 @@ msgstr "仕入先" msgid "Select supplier" msgstr "" -#: company/models.py:809 part/serializers.py:510 +#: company/models.py:809 part/serializers.py:525 msgid "Supplier stock keeping unit" msgstr "" @@ -4206,29 +4219,29 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:418 part/models.py:4070 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4113 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 -#: report/templates/report/inventree_slr_report.html:105 -#: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:579 +#: report/templates/report/inventree_purchase_order_report.html:32 +#: report/templates/report/inventree_return_order_report.html:27 +#: report/templates/report/inventree_sales_order_report.html:32 +#: report/templates/report/inventree_stock_location_report.html:105 +#: stock/serializers.py:708 msgid "Note" msgstr "" -#: company/models.py:857 part/models.py:1967 +#: company/models.py:857 part/models.py:2010 msgid "base cost" msgstr "" -#: company/models.py:858 part/models.py:1968 +#: company/models.py:858 part/models.py:2011 msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:782 stock/serializers.py:1350 +#: stock/admin.py:224 stock/models.py:803 stock/serializers.py:1479 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 -#: templates/js/translated/stock.js:2426 +#: templates/js/translated/stock.js:2424 msgid "Packaging" msgstr "" @@ -4241,8 +4254,8 @@ msgstr "" #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 -#: templates/js/translated/purchase_order.js:2085 -#: templates/js/translated/purchase_order.js:2102 +#: templates/js/translated/purchase_order.js:2084 +#: templates/js/translated/purchase_order.js:2101 msgid "Pack Quantity" msgstr "" @@ -4250,7 +4263,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:892 part/models.py:1974 +#: company/models.py:892 part/models.py:2017 msgid "multiple" msgstr "" @@ -4285,7 +4298,7 @@ msgstr "" #: part/templates/part/part_base.html:146 #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 -#: templates/js/translated/model_renderers.js:306 +#: templates/js/translated/model_renderers.js:312 #: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 msgid "Inactive" msgstr "" @@ -4321,11 +4334,11 @@ msgstr "" #: company/templates/company/manufacturer_part.html:51 #: company/templates/company/supplier_part.html:83 #: part/templates/part/part_thumb.html:20 -#: report/templates/report/inventree_build_order_base.html:98 -#: report/templates/report/inventree_po_report_base.html:40 -#: report/templates/report/inventree_so_report_base.html:40 -#: report/templates/report/inventree_test_report_base.html:84 -#: report/templates/report/inventree_test_report_base.html:163 +#: report/templates/report/inventree_build_order_report.html:98 +#: report/templates/report/inventree_purchase_order_report.html:40 +#: report/templates/report/inventree_sales_order_report.html:40 +#: report/templates/report/inventree_test_report.html:84 +#: report/templates/report/inventree_test_report.html:163 msgid "Part image" msgstr "" @@ -4344,16 +4357,16 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:92 order/models.py:910 -#: order/models.py:2010 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:144 stock/models.py:804 -#: stock/models.py:805 stock/serializers.py:1100 +#: company/templates/company/company_base.html:92 order/models.py:941 +#: order/models.py:2059 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:148 stock/models.py:825 +#: stock/models.py:826 stock/serializers.py:1229 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 -#: templates/js/translated/return_order.js:296 -#: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2962 +#: templates/js/translated/return_order.js:295 +#: templates/js/translated/sales_order.js:820 +#: templates/js/translated/stock.js:2959 #: templates/js/translated/table_filters.js:808 msgid "Customer" msgstr "顧客" @@ -4362,10 +4375,10 @@ msgstr "顧客" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:124 order/models.py:341 +#: company/templates/company/company_base.html:124 order/models.py:354 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 -#: order/templates/order/sales_order_base.html:221 +#: order/templates/order/sales_order_base.html:225 msgid "Address" msgstr "" @@ -4374,7 +4387,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:211 -#: part/templates/part/part_base.html:528 +#: part/templates/part/part_base.html:527 msgid "Remove Image" msgstr "" @@ -4383,19 +4396,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:214 -#: part/templates/part/part_base.html:531 +#: part/templates/part/part_base.html:530 #: templates/InvenTree/settings/user.html:88 #: templates/InvenTree/settings/user_sso.html:43 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:243 -#: part/templates/part/part_base.html:560 +#: part/templates/part/part_base.html:559 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:258 -#: part/templates/part/part_base.html:614 +#: part/templates/part/part_base.html:613 msgid "Download Image" msgstr "" @@ -4558,7 +4571,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:821 +#: part/admin.py:122 part/serializers.py:836 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4609,10 +4622,10 @@ msgstr "" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:452 -#: stock/models.py:762 stock/templates/stock/item_base.html:233 +#: stock/models.py:783 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 -#: templates/js/translated/stock.js:2282 +#: templates/js/translated/stock.js:2280 msgid "Supplier Part" msgstr "" @@ -4658,11 +4671,11 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:509 +#: part/bom.py:311 part/serializers.py:524 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1851 -#: templates/js/translated/purchase_order.js:2029 +#: templates/js/translated/purchase_order.js:1850 +#: templates/js/translated/purchase_order.js:2028 msgid "SKU" msgstr "" @@ -4671,12 +4684,12 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:209 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:199 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:206 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:200 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:207 #: templates/js/translated/stock.js:537 msgid "New Stock Item" msgstr "" @@ -4708,16 +4721,16 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:820 part/stocktake.py:223 +#: part/serializers.py:835 part/stocktake.py:223 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:787 stock/serializers.py:951 +#: stock/serializers.py:916 stock/serializers.py:1080 #: stock/templates/stock/location.html:170 -#: stock/templates/stock/location.html:184 -#: stock/templates/stock/location.html:196 +#: stock/templates/stock/location.html:191 +#: stock/templates/stock/location.html:203 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2769 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 #: users/models.py:206 msgid "Stock Items" msgstr "在庫商品" @@ -4751,126 +4764,48 @@ msgstr "" msgid "New Company" msgstr "" -#: label/api.py:247 -msgid "Error printing label" -msgstr "" - -#: label/models.py:120 -msgid "Label name" -msgstr "" - -#: label/models.py:128 -msgid "Label description" -msgstr "" - -#: label/models.py:136 -msgid "Label" -msgstr "" - -#: label/models.py:137 -msgid "Label template file" -msgstr "" - -#: label/models.py:143 part/models.py:3494 report/models.py:324 -#: templates/js/translated/part.js:2900 -#: templates/js/translated/table_filters.js:481 -msgid "Enabled" -msgstr "" - -#: label/models.py:144 -msgid "Label template is enabled" -msgstr "" - -#: label/models.py:149 -msgid "Width [mm]" -msgstr "" - -#: label/models.py:150 -msgid "Label width, specified in mm" -msgstr "" - -#: label/models.py:156 -msgid "Height [mm]" -msgstr "" - -#: label/models.py:157 -msgid "Label height, specified in mm" -msgstr "" - -#: label/models.py:163 report/models.py:317 -msgid "Filename Pattern" -msgstr "" - -#: label/models.py:164 -msgid "Pattern for generating label filenames" -msgstr "" - -#: label/models.py:313 label/models.py:352 label/models.py:377 -#: label/models.py:412 -msgid "Query filters (comma-separated list of key=value pairs)" -msgstr "" - -#: label/models.py:314 label/models.py:353 label/models.py:378 -#: label/models.py:413 report/models.py:345 report/models.py:496 -#: report/models.py:532 report/models.py:568 report/models.py:750 -msgid "Filters" -msgstr "" - -#: label/templates/label/part/part_label.html:31 -#: label/templates/label/stockitem/qr.html:21 -#: label/templates/label/stocklocation/qr.html:20 -#: templates/allauth_2fa/setup.html:18 -msgid "QR Code" -msgstr "" - -#: label/templates/label/part/part_label_code128.html:31 -#: label/templates/label/stocklocation/qr_and_text.html:31 -#: templates/qr_code.html:7 -msgid "QR code" -msgstr "" - -#: machine/machine_types/label_printer.py:217 +#: machine/machine_types/label_printer.py:218 msgid "Copies" msgstr "" -#: machine/machine_types/label_printer.py:218 +#: machine/machine_types/label_printer.py:219 msgid "Number of copies to print for each label" msgstr "" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:234 msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:234 order/api.py:1515 -#: templates/js/translated/sales_order.js:1042 +#: machine/machine_types/label_printer.py:235 order/api.py:1515 +#: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "" -#: machine/machine_types/label_printer.py:235 +#: machine/machine_types/label_printer.py:236 msgid "Printing" msgstr "" -#: machine/machine_types/label_printer.py:236 +#: machine/machine_types/label_printer.py:237 msgid "No media" msgstr "" -#: machine/machine_types/label_printer.py:237 +#: machine/machine_types/label_printer.py:238 msgid "Disconnected" msgstr "" -#: machine/machine_types/label_printer.py:244 +#: machine/machine_types/label_printer.py:245 msgid "Label Printer" msgstr "" -#: machine/machine_types/label_printer.py:245 +#: machine/machine_types/label_printer.py:246 msgid "Directly print labels for various items." msgstr "" -#: machine/machine_types/label_printer.py:251 +#: machine/machine_types/label_printer.py:252 msgid "Printer Location" msgstr "" -#: machine/machine_types/label_printer.py:252 +#: machine/machine_types/label_printer.py:253 msgid "Scope the printer to a specific location" msgstr "" @@ -4930,19 +4865,19 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:89 -#: report/templates/report/inventree_po_report_base.html:31 -#: report/templates/report/inventree_so_report_base.html:31 +#: order/admin.py:30 order/models.py:90 +#: report/templates/report/inventree_purchase_order_report.html:31 +#: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2126 -#: templates/js/translated/sales_order.js:1847 +#: templates/js/translated/purchase_order.js:2125 +#: templates/js/translated/sales_order.js:1883 msgid "Total Price" msgstr "" #: order/api.py:161 order/serializers.py:91 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 -#: order/templates/order/sales_order_base.html:118 +#: order/templates/order/sales_order_base.html:122 msgid "Order Status" msgstr "" @@ -4955,10 +4890,10 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:437 order/api.py:817 order/models.py:1382 order/models.py:1491 -#: order/models.py:1537 order/models.py:1651 order/models.py:1805 -#: order/models.py:2209 order/models.py:2260 -#: templates/js/translated/sales_order.js:1488 +#: order/api.py:437 order/api.py:817 order/models.py:1422 order/models.py:1531 +#: order/models.py:1577 order/models.py:1691 order/models.py:1845 +#: order/models.py:2258 order/models.py:2309 +#: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" @@ -4970,402 +4905,398 @@ msgstr "" msgid "Order Pending" msgstr "" -#: order/api.py:1509 order/models.py:1383 order/models.py:1492 -#: order/templates/order/order_base.html:9 +#: order/api.py:1509 order/models.py:381 order/models.py:1423 +#: order/models.py:1532 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 -#: report/templates/report/inventree_po_report_base.html:14 -#: stock/templates/stock/item_base.html:176 +#: report/templates/report/inventree_purchase_order_report.html:14 +#: stock/serializers.py:119 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 -#: templates/js/translated/purchase_order.js:1674 -#: templates/js/translated/stock.js:2262 templates/js/translated/stock.js:2910 +#: templates/js/translated/purchase_order.js:1673 +#: templates/js/translated/stock.js:2260 templates/js/translated/stock.js:2907 msgid "Purchase Order" msgstr "" -#: order/api.py:1513 order/models.py:2210 order/models.py:2261 -#: order/templates/order/return_order_base.html:9 +#: order/api.py:1513 order/models.py:2008 order/models.py:2259 +#: order/models.py:2310 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:281 -#: templates/js/translated/stock.js:2944 +#: report/templates/report/inventree_return_order_report.html:13 +#: templates/js/translated/return_order.js:280 +#: templates/js/translated/stock.js:2941 msgid "Return Order" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:96 order/serializers.py:71 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:99 order/serializers.py:72 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:246 +#: order/models.py:248 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:278 +#: order/models.py:291 msgid "Order description (optional)" msgstr "" -#: order/models.py:287 +#: order/models.py:300 msgid "Select project code for this order" msgstr "" -#: order/models.py:291 order/models.py:1288 order/models.py:1704 +#: order/models.py:304 order/models.py:1328 order/models.py:1744 msgid "Link to external page" msgstr "外部ページへのリンク" -#: order/models.py:299 +#: order/models.py:312 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:313 +#: order/models.py:326 msgid "Created By" msgstr "" -#: order/models.py:321 +#: order/models.py:334 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:332 +#: order/models.py:345 msgid "Point of contact for this order" msgstr "" -#: order/models.py:342 +#: order/models.py:355 msgid "Company address for this order" msgstr "" -#: order/models.py:443 order/models.py:899 +#: order/models.py:465 order/models.py:930 msgid "Order reference" msgstr "" -#: order/models.py:451 order/models.py:923 +#: order/models.py:473 order/models.py:954 msgid "Purchase order status" msgstr "" -#: order/models.py:466 +#: order/models.py:488 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:477 order/templates/order/order_base.html:148 -#: templates/js/translated/purchase_order.js:1703 +#: order/models.py:499 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1702 msgid "Supplier Reference" msgstr "" -#: order/models.py:478 +#: order/models.py:500 msgid "Supplier order reference code" msgstr "" -#: order/models.py:487 +#: order/models.py:509 msgid "received by" msgstr "" -#: order/models.py:493 order/models.py:2036 +#: order/models.py:515 order/models.py:2085 msgid "Issue Date" msgstr "" -#: order/models.py:494 order/models.py:2037 +#: order/models.py:516 order/models.py:2086 msgid "Date order was issued" msgstr "" -#: order/models.py:501 order/models.py:2044 +#: order/models.py:523 order/models.py:2093 msgid "Date order was completed" msgstr "" -#: order/models.py:545 +#: order/models.py:567 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:739 +#: order/models.py:761 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:911 +#: order/models.py:942 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:934 order/models.py:2029 +#: order/models.py:965 order/models.py:2078 msgid "Customer Reference " msgstr "" -#: order/models.py:935 order/models.py:2030 +#: order/models.py:966 order/models.py:2079 msgid "Customer order reference code" msgstr "" -#: order/models.py:939 order/models.py:1658 -#: templates/js/translated/sales_order.js:843 -#: templates/js/translated/sales_order.js:1024 +#: order/models.py:970 order/models.py:1698 +#: templates/js/translated/sales_order.js:879 +#: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "" -#: order/models.py:948 +#: order/models.py:979 msgid "shipped by" msgstr "" -#: order/models.py:999 -msgid "Order cannot be completed as no parts have been assigned" -msgstr "" - -#: order/models.py:1004 +#: order/models.py:1029 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1008 templates/js/translated/sales_order.js:506 +#: order/models.py:1033 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1013 +#: order/models.py:1038 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1260 +#: order/models.py:1300 msgid "Item quantity" msgstr "" -#: order/models.py:1277 +#: order/models.py:1317 msgid "Line item reference" msgstr "" -#: order/models.py:1284 +#: order/models.py:1324 msgid "Line item notes" msgstr "" -#: order/models.py:1296 +#: order/models.py:1336 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1317 +#: order/models.py:1357 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1323 +#: order/models.py:1363 msgid "Context" msgstr "" -#: order/models.py:1324 +#: order/models.py:1364 msgid "Additional context for this line" msgstr "" -#: order/models.py:1334 +#: order/models.py:1374 msgid "Unit price" msgstr "" -#: order/models.py:1367 +#: order/models.py:1407 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1374 +#: order/models.py:1414 msgid "deleted" msgstr "" -#: order/models.py:1402 +#: order/models.py:1442 msgid "Supplier part" msgstr "" -#: order/models.py:1409 order/templates/order/order_base.html:196 +#: order/models.py:1449 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 #: templates/js/translated/purchase_order.js:1306 -#: templates/js/translated/purchase_order.js:2170 -#: templates/js/translated/return_order.js:764 +#: templates/js/translated/purchase_order.js:2169 +#: templates/js/translated/return_order.js:763 #: templates/js/translated/table_filters.js:120 #: templates/js/translated/table_filters.js:602 msgid "Received" msgstr "" -#: order/models.py:1410 +#: order/models.py:1450 msgid "Number of items received" msgstr "" -#: order/models.py:1418 stock/models.py:923 stock/serializers.py:400 +#: order/models.py:1458 stock/models.py:944 stock/serializers.py:529 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2313 +#: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "購入金額" -#: order/models.py:1419 +#: order/models.py:1459 msgid "Unit purchase price" msgstr "" -#: order/models.py:1434 +#: order/models.py:1474 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1525 +#: order/models.py:1565 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1530 +#: order/models.py:1570 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1556 part/templates/part/part_pricing.html:107 +#: order/models.py:1596 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1557 +#: order/models.py:1597 msgid "Unit sale price" msgstr "" -#: order/models.py:1567 +#: order/models.py:1607 msgid "Shipped quantity" msgstr "" -#: order/models.py:1659 +#: order/models.py:1699 msgid "Date of shipment" msgstr "" -#: order/models.py:1665 templates/js/translated/sales_order.js:1036 +#: order/models.py:1705 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1666 +#: order/models.py:1706 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1674 +#: order/models.py:1714 msgid "Checked By" msgstr "" -#: order/models.py:1675 +#: order/models.py:1715 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1682 order/models.py:1895 order/serializers.py:1354 -#: order/serializers.py:1464 templates/js/translated/model_renderers.js:448 +#: order/models.py:1722 order/models.py:1935 order/serializers.py:1354 +#: order/serializers.py:1464 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" -#: order/models.py:1683 +#: order/models.py:1723 msgid "Shipment number" msgstr "" -#: order/models.py:1691 +#: order/models.py:1731 msgid "Tracking Number" msgstr "" -#: order/models.py:1692 +#: order/models.py:1732 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1699 +#: order/models.py:1739 msgid "Invoice Number" msgstr "" -#: order/models.py:1700 +#: order/models.py:1740 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1720 +#: order/models.py:1760 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1723 +#: order/models.py:1763 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1841 order/models.py:1843 +#: order/models.py:1881 order/models.py:1883 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1850 +#: order/models.py:1890 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1853 +#: order/models.py:1893 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1856 +#: order/models.py:1896 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1875 order/serializers.py:1231 +#: order/models.py:1915 order/serializers.py:1231 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1878 +#: order/models.py:1918 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1879 plugin/base/barcodes/api.py:481 +#: order/models.py:1919 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1887 +#: order/models.py:1927 msgid "Line" msgstr "" -#: order/models.py:1896 +#: order/models.py:1936 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1909 order/models.py:2217 -#: templates/js/translated/return_order.js:722 +#: order/models.py:1949 order/models.py:2266 +#: templates/js/translated/return_order.js:721 msgid "Item" msgstr "" -#: order/models.py:1910 +#: order/models.py:1950 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1919 +#: order/models.py:1959 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1999 +#: order/models.py:2048 msgid "Return Order reference" msgstr "" -#: order/models.py:2011 +#: order/models.py:2060 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2023 +#: order/models.py:2072 msgid "Return order status" msgstr "" -#: order/models.py:2202 +#: order/models.py:2251 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2218 +#: order/models.py:2267 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2224 +#: order/models.py:2273 msgid "Received Date" msgstr "" -#: order/models.py:2225 +#: order/models.py:2274 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2236 templates/js/translated/return_order.js:733 +#: order/models.py:2285 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2237 +#: order/models.py:2286 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2244 +#: order/models.py:2293 msgid "Cost associated with return or repair for this line item" msgstr "" #: order/serializers.py:80 order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 -#: report/templates/report/inventree_po_report_base.html:22 -#: report/templates/report/inventree_return_order_report_base.html:19 -#: report/templates/report/inventree_so_report_base.html:22 +#: report/templates/report/inventree_purchase_order_report.html:22 +#: report/templates/report/inventree_return_order_report.html:19 +#: report/templates/report/inventree_sales_order_report.html:22 msgid "Line Items" msgstr "" @@ -5595,7 +5526,7 @@ msgstr "" #: order/templates/order/order_base.html:84 #: order/templates/order/return_order_base.html:87 -#: order/templates/order/sales_order_base.html:93 +#: order/templates/order/sales_order_base.html:97 msgid "Complete Order" msgstr "" @@ -5605,13 +5536,13 @@ msgstr "" #: order/templates/order/order_base.html:106 #: order/templates/order/return_order_base.html:101 -#: order/templates/order/sales_order_base.html:106 +#: order/templates/order/sales_order_base.html:110 msgid "Order Reference" msgstr "" #: order/templates/order/order_base.html:111 #: order/templates/order/return_order_base.html:106 -#: order/templates/order/sales_order_base.html:111 +#: order/templates/order/sales_order_base.html:115 msgid "Order Description" msgstr "" @@ -5620,19 +5551,19 @@ msgid "No suppplier information available" msgstr "" #: order/templates/order/order_base.html:154 -#: order/templates/order/sales_order_base.html:157 +#: order/templates/order/sales_order_base.html:161 msgid "Completed Line Items" msgstr "" #: order/templates/order/order_base.html:160 -#: order/templates/order/sales_order_base.html:163 -#: order/templates/order/sales_order_base.html:173 +#: order/templates/order/sales_order_base.html:167 +#: order/templates/order/sales_order_base.html:177 msgid "Incomplete" msgstr "" #: order/templates/order/order_base.html:179 #: order/templates/order/return_order_base.html:157 -#: report/templates/report/inventree_build_order_base.html:121 +#: report/templates/report/inventree_build_order_report.html:121 msgid "Issued" msgstr "" @@ -5642,15 +5573,15 @@ msgstr "" #: order/templates/order/order_base.html:228 #: order/templates/order/return_order_base.html:199 -#: order/templates/order/sales_order_base.html:239 +#: order/templates/order/sales_order_base.html:243 msgid "Total cost could not be calculated" msgstr "" -#: order/templates/order/order_base.html:318 +#: order/templates/order/order_base.html:314 msgid "Purchase Order QR Code" msgstr "" -#: order/templates/order/order_base.html:330 +#: order/templates/order/order_base.html:326 msgid "Link Barcode to Purchase Order" msgstr "" @@ -5707,8 +5638,8 @@ msgstr "" #: templates/js/translated/build.js:1629 #: templates/js/translated/purchase_order.js:696 #: templates/js/translated/purchase_order.js:1236 -#: templates/js/translated/return_order.js:506 -#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/return_order.js:505 +#: templates/js/translated/sales_order.js:1145 #: templates/js/translated/stock.js:714 templates/js/translated/stock.js:883 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -5762,7 +5693,7 @@ msgstr "" #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 #: templates/js/translated/purchase_order.js:414 -#: templates/js/translated/return_order.js:459 +#: templates/js/translated/return_order.js:458 #: templates/js/translated/sales_order.js:237 msgid "Add Line Item" msgstr "" @@ -5811,30 +5742,30 @@ msgid "Print packing list" msgstr "" #: order/templates/order/return_order_base.html:138 -#: order/templates/order/sales_order_base.html:151 -#: templates/js/translated/return_order.js:309 -#: templates/js/translated/sales_order.js:797 +#: order/templates/order/sales_order_base.html:155 +#: templates/js/translated/return_order.js:308 +#: templates/js/translated/sales_order.js:833 msgid "Customer Reference" msgstr "" #: order/templates/order/return_order_base.html:195 -#: order/templates/order/sales_order_base.html:235 +#: order/templates/order/sales_order_base.html:239 #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1072 -#: templates/js/translated/purchase_order.js:1753 -#: templates/js/translated/return_order.js:381 -#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/purchase_order.js:1752 +#: templates/js/translated/return_order.js:380 +#: templates/js/translated/sales_order.js:891 msgid "Total Cost" msgstr "" -#: order/templates/order/return_order_base.html:263 +#: order/templates/order/return_order_base.html:259 msgid "Return Order QR Code" msgstr "" -#: order/templates/order/return_order_base.html:275 +#: order/templates/order/return_order_base.html:271 msgid "Link Barcode to Return Order" msgstr "" @@ -5852,25 +5783,30 @@ msgid "Ship Items" msgstr "" #: order/templates/order/sales_order_base.html:92 -#: templates/js/translated/sales_order.js:484 +#: order/templates/order/sales_order_base.html:93 +msgid "Mark As Shipped" +msgstr "" + +#: order/templates/order/sales_order_base.html:96 +#: templates/js/translated/sales_order.js:536 msgid "Complete Sales Order" msgstr "" -#: order/templates/order/sales_order_base.html:131 +#: order/templates/order/sales_order_base.html:135 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:169 +#: order/templates/order/sales_order_base.html:173 #: order/templates/order/sales_order_detail.html:99 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "" -#: order/templates/order/sales_order_base.html:312 +#: order/templates/order/sales_order_base.html:321 msgid "Sales Order QR Code" msgstr "" -#: order/templates/order/sales_order_base.html:324 +#: order/templates/order/sales_order_base.html:333 msgid "Link Barcode to Sales Order" msgstr "" @@ -5914,12 +5850,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:404 part/models.py:3921 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:406 part/models.py:3964 part/stocktake.py:218 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:411 part/models.py:3922 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:413 part/models.py:3965 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -5928,20 +5864,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:904 part/templates/part/part_base.html:269 -#: report/templates/report/inventree_slr_report.html:103 -#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2341 -#: templates/js/translated/stock.js:2038 +#: part/admin.py:48 part/models.py:947 part/templates/part/part_base.html:269 +#: report/templates/report/inventree_stock_location_report.html:103 +#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 +#: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:913 part/templates/part/part_base.html:277 -#: report/models.py:195 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2347 +#: part/admin.py:50 part/models.py:956 part/templates/part/part_base.html:277 +#: report/models.py:161 templates/js/translated/part.js:1231 +#: templates/js/translated/part.js:2346 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:317 part/models.py:886 +#: part/admin.py:53 part/admin.py:319 part/models.py:929 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "キーワード" @@ -5950,15 +5886,15 @@ msgstr "キーワード" msgid "Part Image" msgstr "" -#: part/admin.py:63 part/admin.py:300 part/stocktake.py:221 +#: part/admin.py:63 part/admin.py:302 part/stocktake.py:221 msgid "Category ID" msgstr "カテゴリID" -#: part/admin.py:67 part/admin.py:302 part/stocktake.py:222 +#: part/admin.py:67 part/admin.py:304 part/stocktake.py:222 msgid "Category Name" msgstr "カテゴリ名" -#: part/admin.py:71 part/admin.py:314 +#: part/admin.py:71 part/admin.py:316 msgid "Default Location ID" msgstr "" @@ -5966,11 +5902,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:872 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:915 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1000 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1043 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5983,160 +5919,164 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3080 part/models.py:3094 +#: part/admin.py:155 part/models.py:3123 part/models.py:3137 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3087 part/models.py:3101 +#: part/admin.py:158 part/models.py:3130 part/models.py:3144 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" -#: part/admin.py:306 part/admin.py:393 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:211 msgid "Parent ID" msgstr "" -#: part/admin.py:310 part/admin.py:400 stock/admin.py:62 +#: part/admin.py:312 part/admin.py:402 stock/admin.py:62 msgid "Parent Name" msgstr "" -#: part/admin.py:318 part/templates/part/category.html:88 +#: part/admin.py:320 part/templates/part/category.html:88 #: part/templates/part/category.html:101 msgid "Category Path" msgstr "" -#: part/admin.py:323 part/models.py:391 part/serializers.py:117 +#: part/admin.py:325 part/models.py:393 part/serializers.py:117 #: part/serializers.py:272 part/serializers.py:391 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2803 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "パーツ" -#: part/admin.py:384 +#: part/admin.py:386 msgid "BOM Level" msgstr "" -#: part/admin.py:387 +#: part/admin.py:389 msgid "BOM Item ID" msgstr "" -#: part/admin.py:397 +#: part/admin.py:399 msgid "Parent IPN" msgstr "" -#: part/admin.py:408 part/models.py:3923 +#: part/admin.py:410 part/models.py:3966 msgid "Part IPN" msgstr "" -#: part/admin.py:421 part/serializers.py:1261 +#: part/admin.py:423 part/serializers.py:1276 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:426 part/serializers.py:1276 +#: part/admin.py:428 part/serializers.py:1291 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:119 +#: part/api.py:112 msgid "Starred" msgstr "" -#: part/api.py:121 +#: part/api.py:114 msgid "Filter by starred categories" msgstr "" -#: part/api.py:138 stock/api.py:284 +#: part/api.py:131 stock/api.py:318 msgid "Depth" msgstr "" -#: part/api.py:138 +#: part/api.py:131 msgid "Filter by category depth" msgstr "" -#: part/api.py:156 stock/api.py:302 +#: part/api.py:149 stock/api.py:336 msgid "Cascade" msgstr "" -#: part/api.py:158 +#: part/api.py:151 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:178 +#: part/api.py:171 msgid "Parent" msgstr "" -#: part/api.py:180 +#: part/api.py:173 msgid "Filter by parent category" msgstr "" -#: part/api.py:213 +#: part/api.py:206 msgid "Exclude Tree" msgstr "" -#: part/api.py:215 +#: part/api.py:208 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:461 +#: part/api.py:455 msgid "Has Results" msgstr "" -#: part/api.py:628 +#: part/api.py:622 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:646 +#: part/api.py:640 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:662 +#: part/api.py:656 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:746 +#: part/api.py:740 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:893 +#: part/api.py:887 msgid "Valid" msgstr "" -#: part/api.py:894 +#: part/api.py:888 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:900 +#: part/api.py:894 msgid "This option must be selected" msgstr "" -#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866 -#: part/serializers.py:406 part/serializers.py:1117 -#: part/templates/part/part_base.html:260 stock/api.py:745 +#: part/api.py:1111 +msgid "BOM Valid" +msgstr "" + +#: part/api.py:1515 part/models.py:939 part/models.py:3429 part/models.py:3909 +#: part/serializers.py:406 part/serializers.py:1132 +#: part/templates/part/part_base.html:260 stock/api.py:779 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2377 +#: templates/js/translated/part.js:2376 msgid "Category" msgstr "カテゴリ" -#: part/api.py:1849 +#: part/api.py:1803 msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:101 part/models.py:939 +#: part/bom.py:170 part/models.py:102 part/models.py:982 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:822 +#: part/bom.py:171 part/serializers.py:837 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6145,698 +6085,712 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:82 part/models.py:3867 part/templates/part/category.html:16 +#: part/models.py:83 part/models.py:3910 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "パーツカテゴリ" -#: part/models.py:83 part/templates/part/category.html:136 +#: part/models.py:84 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "パーツカテゴリ" -#: part/models.py:102 +#: part/models.py:103 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:107 stock/models.py:165 templates/js/translated/part.js:2810 -#: templates/js/translated/stock.js:2775 +#: part/models.py:108 stock/models.py:177 templates/js/translated/part.js:2809 +#: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "" -#: part/models.py:109 +#: part/models.py:110 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:118 +#: part/models.py:119 msgid "Default keywords" msgstr "" -#: part/models.py:119 +#: part/models.py:120 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:125 stock/models.py:89 stock/models.py:148 +#: part/models.py:126 stock/models.py:89 stock/models.py:160 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:126 stock/models.py:149 +#: part/models.py:127 stock/models.py:161 msgid "Icon (optional)" msgstr "" -#: part/models.py:148 +#: part/models.py:149 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:484 +#: part/models.py:482 +msgid "Cannot delete this part as it is still active" +msgstr "" + +#: part/models.py:489 +msgid "Cannot delete this part as it is used in an assembly" +msgstr "" + +#: part/models.py:527 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:532 part/models.py:539 +#: part/models.py:575 part/models.py:582 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:551 +#: part/models.py:594 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:616 +#: part/models.py:659 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:696 +#: part/models.py:739 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:801 +#: part/models.py:844 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:811 +#: part/models.py:854 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:826 +#: part/models.py:869 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:855 part/models.py:3922 +#: part/models.py:898 part/models.py:3965 msgid "Part name" msgstr "" -#: part/models.py:860 +#: part/models.py:903 msgid "Is Template" msgstr "" -#: part/models.py:861 +#: part/models.py:904 msgid "Is this part a template part?" msgstr "" -#: part/models.py:871 +#: part/models.py:914 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:879 +#: part/models.py:922 msgid "Part description (optional)" msgstr "" -#: part/models.py:887 +#: part/models.py:930 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:897 +#: part/models.py:940 msgid "Part category" msgstr "パーツカテゴリ" -#: part/models.py:905 +#: part/models.py:948 msgid "Internal Part Number" msgstr "" -#: part/models.py:912 +#: part/models.py:955 msgid "Part revision or version number" msgstr "" -#: part/models.py:937 +#: part/models.py:980 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:983 part/templates/part/part_base.html:376 +#: part/models.py:1026 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:984 +#: part/models.py:1027 msgid "Default supplier part" msgstr "" -#: part/models.py:991 +#: part/models.py:1034 msgid "Default Expiry" msgstr "" -#: part/models.py:992 +#: part/models.py:1035 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1001 +#: part/models.py:1044 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1010 +#: part/models.py:1053 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1017 +#: part/models.py:1060 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1023 +#: part/models.py:1066 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1029 +#: part/models.py:1072 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1035 +#: part/models.py:1078 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1041 +#: part/models.py:1084 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1045 +#: part/models.py:1088 msgid "Is this part active?" msgstr "" -#: part/models.py:1051 +#: part/models.py:1094 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1057 +#: part/models.py:1100 msgid "BOM checksum" msgstr "" -#: part/models.py:1058 +#: part/models.py:1101 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1066 +#: part/models.py:1109 msgid "BOM checked by" msgstr "" -#: part/models.py:1071 +#: part/models.py:1114 msgid "BOM checked date" msgstr "" -#: part/models.py:1087 +#: part/models.py:1130 msgid "Creation User" msgstr "" -#: part/models.py:1097 +#: part/models.py:1140 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1102 part/templates/part/part_base.html:339 +#: part/models.py:1145 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 -#: templates/js/translated/part.js:2471 +#: templates/js/translated/part.js:2470 msgid "Last Stocktake" msgstr "" -#: part/models.py:1975 +#: part/models.py:2018 msgid "Sell multiple" msgstr "" -#: part/models.py:2994 +#: part/models.py:3037 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3010 +#: part/models.py:3053 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3011 +#: part/models.py:3054 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3017 +#: part/models.py:3060 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3018 +#: part/models.py:3061 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3024 +#: part/models.py:3067 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3025 +#: part/models.py:3068 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3031 +#: part/models.py:3074 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3032 +#: part/models.py:3075 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3038 +#: part/models.py:3081 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3039 +#: part/models.py:3082 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3045 +#: part/models.py:3088 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3046 +#: part/models.py:3089 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3052 +#: part/models.py:3095 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3053 +#: part/models.py:3096 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3059 +#: part/models.py:3102 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3060 +#: part/models.py:3103 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3066 +#: part/models.py:3109 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3067 +#: part/models.py:3110 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3073 +#: part/models.py:3116 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3074 +#: part/models.py:3117 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3081 +#: part/models.py:3124 msgid "Override minimum cost" msgstr "" -#: part/models.py:3088 +#: part/models.py:3131 msgid "Override maximum cost" msgstr "" -#: part/models.py:3095 +#: part/models.py:3138 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3102 +#: part/models.py:3145 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3108 +#: part/models.py:3151 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3109 +#: part/models.py:3152 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3115 +#: part/models.py:3158 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3116 +#: part/models.py:3159 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3122 +#: part/models.py:3165 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3123 +#: part/models.py:3166 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3129 +#: part/models.py:3172 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3130 +#: part/models.py:3173 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3149 +#: part/models.py:3192 msgid "Part for stocktake" msgstr "" -#: part/models.py:3154 +#: part/models.py:3197 msgid "Item Count" msgstr "" -#: part/models.py:3155 +#: part/models.py:3198 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3163 +#: part/models.py:3206 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3167 part/models.py:3250 +#: part/models.py:3210 part/models.py:3293 #: part/templates/part/part_scheduling.html:13 -#: report/templates/report/inventree_test_report_base.html:106 +#: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 #: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 -#: templates/js/translated/purchase_order.js:1732 -#: templates/js/translated/stock.js:2824 +#: templates/js/translated/purchase_order.js:1731 +#: templates/js/translated/stock.js:2821 msgid "Date" msgstr "" -#: part/models.py:3168 +#: part/models.py:3211 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3176 +#: part/models.py:3219 msgid "Additional notes" msgstr "" -#: part/models.py:3186 +#: part/models.py:3229 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3192 +#: part/models.py:3235 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3193 +#: part/models.py:3236 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3199 +#: part/models.py:3242 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3200 +#: part/models.py:3243 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3256 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3299 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3257 +#: part/models.py:3300 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3262 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3305 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3263 +#: part/models.py:3306 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3273 +#: part/models.py:3316 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3435 +#: part/models.py:3478 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3446 +#: part/models.py:3489 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3457 +#: part/models.py:3500 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3474 templates/js/translated/part.js:2879 +#: part/models.py:3517 templates/js/translated/part.js:2878 msgid "Test Name" msgstr "" -#: part/models.py:3475 +#: part/models.py:3518 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3481 +#: part/models.py:3524 msgid "Test Key" msgstr "" -#: part/models.py:3482 +#: part/models.py:3525 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3489 +#: part/models.py:3532 msgid "Test Description" msgstr "" -#: part/models.py:3490 +#: part/models.py:3533 msgid "Enter description for this test" msgstr "" -#: part/models.py:3494 +#: part/models.py:3537 report/models.py:208 +#: templates/js/translated/part.js:2899 +#: templates/js/translated/table_filters.js:481 +msgid "Enabled" +msgstr "" + +#: part/models.py:3537 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3499 templates/js/translated/part.js:2908 +#: part/models.py:3542 templates/js/translated/part.js:2907 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3500 +#: part/models.py:3543 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3505 templates/js/translated/part.js:2916 +#: part/models.py:3548 templates/js/translated/part.js:2915 msgid "Requires Value" msgstr "" -#: part/models.py:3506 +#: part/models.py:3549 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3511 templates/js/translated/part.js:2923 +#: part/models.py:3554 templates/js/translated/part.js:2922 msgid "Requires Attachment" msgstr "" -#: part/models.py:3513 +#: part/models.py:3556 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3560 +#: part/models.py:3603 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3565 +#: part/models.py:3608 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3585 +#: part/models.py:3628 msgid "Choices must be unique" msgstr "" -#: part/models.py:3602 +#: part/models.py:3645 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3617 +#: part/models.py:3660 msgid "Parameter Name" msgstr "" -#: part/models.py:3624 +#: part/models.py:3667 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3632 +#: part/models.py:3675 msgid "Parameter description" msgstr "" -#: part/models.py:3638 templates/js/translated/part.js:1627 +#: part/models.py:3681 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3639 +#: part/models.py:3682 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3644 templates/js/translated/part.js:1636 +#: part/models.py:3687 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3645 +#: part/models.py:3688 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3722 +#: part/models.py:3765 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3765 +#: part/models.py:3808 msgid "Parent Part" msgstr "" -#: part/models.py:3773 part/models.py:3874 part/models.py:3875 +#: part/models.py:3816 part/models.py:3917 part/models.py:3918 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3778 +#: part/models.py:3821 msgid "Data" msgstr "" -#: part/models.py:3779 +#: part/models.py:3822 msgid "Parameter Value" msgstr "" -#: part/models.py:3881 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3924 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3882 +#: part/models.py:3925 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3920 +#: part/models.py:3963 msgid "Part ID or part name" msgstr "" -#: part/models.py:3921 +#: part/models.py:3964 msgid "Unique part ID value" msgstr "" -#: part/models.py:3923 +#: part/models.py:3966 msgid "Part IPN value" msgstr "" -#: part/models.py:3924 +#: part/models.py:3967 msgid "Level" msgstr "" -#: part/models.py:3924 +#: part/models.py:3967 msgid "BOM level" msgstr "" -#: part/models.py:4014 +#: part/models.py:4057 msgid "Select parent part" msgstr "" -#: part/models.py:4024 +#: part/models.py:4067 msgid "Sub part" msgstr "" -#: part/models.py:4025 +#: part/models.py:4068 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4036 +#: part/models.py:4079 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4042 +#: part/models.py:4085 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4048 +#: part/models.py:4091 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4055 part/templates/part/upload_bom.html:55 +#: part/models.py:4098 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4056 +#: part/models.py:4099 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4063 +#: part/models.py:4106 msgid "BOM item reference" msgstr "" -#: part/models.py:4071 +#: part/models.py:4114 msgid "BOM item notes" msgstr "" -#: part/models.py:4077 +#: part/models.py:4120 msgid "Checksum" msgstr "" -#: part/models.py:4078 +#: part/models.py:4121 msgid "BOM line checksum" msgstr "" -#: part/models.py:4083 templates/js/translated/table_filters.js:174 +#: part/models.py:4126 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4084 +#: part/models.py:4127 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4089 part/templates/part/upload_bom.html:57 +#: part/models.py:4132 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4090 +#: part/models.py:4133 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4095 part/templates/part/upload_bom.html:56 +#: part/models.py:4138 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4096 +#: part/models.py:4139 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4181 stock/models.py:647 +#: part/models.py:4224 stock/models.py:668 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4191 part/models.py:4193 +#: part/models.py:4234 part/models.py:4236 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4333 +#: part/models.py:4376 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4354 +#: part/models.py:4397 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4367 +#: part/models.py:4410 msgid "Parent BOM item" msgstr "" -#: part/models.py:4375 +#: part/models.py:4418 msgid "Substitute part" msgstr "" -#: part/models.py:4391 +#: part/models.py:4434 msgid "Part 1" msgstr "" -#: part/models.py:4399 +#: part/models.py:4442 msgid "Part 2" msgstr "" -#: part/models.py:4400 +#: part/models.py:4443 msgid "Select Related Part" msgstr "" -#: part/models.py:4419 +#: part/models.py:4462 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4424 +#: part/models.py:4467 msgid "Duplicate relationship already exists" msgstr "" @@ -6854,7 +6808,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:406 +#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:535 msgid "Purchase currency of this stock item" msgstr "" @@ -6870,299 +6824,299 @@ msgstr "" msgid "Select category" msgstr "カテゴリを選択" -#: part/serializers.py:437 +#: part/serializers.py:442 msgid "Original Part" msgstr "" -#: part/serializers.py:438 +#: part/serializers.py:443 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:448 msgid "Copy Image" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:449 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:450 part/templates/part/detail.html:277 +#: part/serializers.py:455 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:451 +#: part/serializers.py:456 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:462 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:458 +#: part/serializers.py:463 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:464 +#: part/serializers.py:469 msgid "Copy Notes" msgstr "" -#: part/serializers.py:465 +#: part/serializers.py:470 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:478 +#: part/serializers.py:488 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:490 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:487 +#: part/serializers.py:497 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:488 +#: part/serializers.py:498 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:500 +#: part/serializers.py:515 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:531 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:526 +#: part/serializers.py:541 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:533 +#: part/serializers.py:548 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:542 +#: part/serializers.py:557 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:553 +#: part/serializers.py:568 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:560 +#: part/serializers.py:575 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:823 +#: part/serializers.py:838 msgid "External Stock" msgstr "" -#: part/serializers.py:825 +#: part/serializers.py:840 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:828 +#: part/serializers.py:843 msgid "Variant Stock" msgstr "" -#: part/serializers.py:856 part/templates/part/copy_part.html:9 +#: part/serializers.py:871 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:857 +#: part/serializers.py:872 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:863 templates/js/translated/part.js:102 +#: part/serializers.py:878 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:864 +#: part/serializers.py:879 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:870 +#: part/serializers.py:885 msgid "Supplier Information" msgstr "" -#: part/serializers.py:871 +#: part/serializers.py:886 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:879 +#: part/serializers.py:894 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:880 +#: part/serializers.py:895 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:885 +#: part/serializers.py:900 msgid "Existing Image" msgstr "" -#: part/serializers.py:886 +#: part/serializers.py:901 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:918 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1109 +#: part/serializers.py:1124 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1119 +#: part/serializers.py:1134 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1129 +#: part/serializers.py:1144 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1135 +#: part/serializers.py:1150 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1136 +#: part/serializers.py:1151 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1141 +#: part/serializers.py:1156 msgid "Generate Report" msgstr "" -#: part/serializers.py:1142 +#: part/serializers.py:1157 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1147 +#: part/serializers.py:1162 msgid "Update Parts" msgstr "" -#: part/serializers.py:1148 +#: part/serializers.py:1163 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1156 +#: part/serializers.py:1171 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1262 +#: part/serializers.py:1277 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1269 +#: part/serializers.py:1284 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1277 +#: part/serializers.py:1292 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1284 +#: part/serializers.py:1299 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1313 +#: part/serializers.py:1328 msgid "Update" msgstr "" -#: part/serializers.py:1314 +#: part/serializers.py:1329 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1337 +#: part/serializers.py:1352 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1344 +#: part/serializers.py:1359 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1347 +#: part/serializers.py:1362 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1714 +#: part/serializers.py:1729 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1722 +#: part/serializers.py:1737 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1723 +#: part/serializers.py:1738 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1728 +#: part/serializers.py:1743 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1729 +#: part/serializers.py:1744 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1734 +#: part/serializers.py:1749 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1735 +#: part/serializers.py:1750 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1755 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1756 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1775 +#: part/serializers.py:1790 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1776 +#: part/serializers.py:1791 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1806 +#: part/serializers.py:1821 msgid "No part column specified" msgstr "" -#: part/serializers.py:1850 +#: part/serializers.py:1865 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1853 +#: part/serializers.py:1868 msgid "No matching part found" msgstr "" -#: part/serializers.py:1856 +#: part/serializers.py:1871 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1865 +#: part/serializers.py:1880 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1888 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1894 +#: part/serializers.py:1909 msgid "At least one BOM item is required" msgstr "" #: part/stocktake.py:224 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:2085 +#: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" @@ -7314,7 +7268,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2218 users/models.py:204 +#: templates/js/translated/stock.js:2216 users/models.py:204 msgid "Stocktake" msgstr "" @@ -7412,15 +7366,15 @@ msgstr "" msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:659 +#: part/templates/part/detail.html:655 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:667 +#: part/templates/part/detail.html:663 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:752 +#: part/templates/part/detail.html:748 msgid "Add Test Result Template" msgstr "" @@ -7479,7 +7433,7 @@ msgstr "このパーツの通知を受け取る" #: part/templates/part/part_base.html:52 #: stock/templates/stock/item_base.html:62 -#: stock/templates/stock/location.html:74 +#: stock/templates/stock/location.html:74 templates/js/translated/label.js:142 msgid "Print Label" msgstr "" @@ -7501,7 +7455,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2293 +#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2292 msgid "Part actions" msgstr "" @@ -7550,7 +7504,7 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:163 -#: part/templates/part/part_base.html:682 +#: part/templates/part/part_base.html:681 msgid "Show Part Details" msgstr "" @@ -7573,7 +7527,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2444 +#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2443 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7596,19 +7550,19 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:512 +#: part/templates/part/part_base.html:511 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:529 +#: part/templates/part/part_base.html:528 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:580 +#: part/templates/part/part_base.html:579 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:676 +#: part/templates/part/part_base.html:675 msgid "Hide Part Details" msgstr "" @@ -7667,8 +7621,8 @@ msgstr "" #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 -#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 -#: templates/js/translated/stock.js:2072 templates/navbar.html:31 +#: templates/js/translated/part.js:2391 templates/js/translated/stock.js:1059 +#: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "在庫" @@ -7714,7 +7668,7 @@ msgstr "" #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 -#: templates/js/translated/stock.js:2248 +#: templates/js/translated/stock.js:2246 msgid "Last Updated" msgstr "" @@ -7786,7 +7740,7 @@ msgid "Update Pricing" msgstr "" #: part/templates/part/stock_count.html:7 -#: templates/js/translated/model_renderers.js:221 +#: templates/js/translated/model_renderers.js:227 #: templates/js/translated/part.js:704 templates/js/translated/part.js:2140 #: templates/js/translated/part.js:2142 msgid "No Stock" @@ -7866,7 +7820,7 @@ msgstr "" msgid "Part Pricing" msgstr "" -#: plugin/api.py:168 +#: plugin/api.py:170 msgid "Plugin cannot be deleted as it is currently active" msgstr "" @@ -7933,7 +7887,7 @@ msgid "Stock item does not match line item" msgstr "" #: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2589 -#: templates/js/translated/sales_order.js:1917 +#: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "" @@ -8027,22 +7981,18 @@ msgstr "" msgid "Quantity to allocate" msgstr "" -#: plugin/base/label/label.py:39 +#: plugin/base/label/label.py:39 templates/js/translated/label.js:154 msgid "Label printing failed" msgstr "" -#: plugin/base/label/mixins.py:63 +#: plugin/base/label/mixins.py:56 msgid "Error rendering label to PDF" msgstr "" -#: plugin/base/label/mixins.py:76 +#: plugin/base/label/mixins.py:70 msgid "Error rendering label to HTML" msgstr "" -#: plugin/base/label/mixins.py:111 -msgid "Error rendering label to PNG" -msgstr "" - #: plugin/builtin/barcodes/inventree_barcode.py:25 msgid "InvenTree Barcodes" msgstr "" @@ -8054,7 +8004,7 @@ msgstr "" #: plugin/builtin/barcodes/inventree_barcode.py:28 #: plugin/builtin/integration/core_notifications.py:35 #: plugin/builtin/integration/currency_exchange.py:21 -#: plugin/builtin/labels/inventree_label.py:23 +#: plugin/builtin/labels/inventree_label.py:22 #: plugin/builtin/labels/inventree_machine.py:64 #: plugin/builtin/labels/label_sheet.py:63 #: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 @@ -8108,19 +8058,19 @@ msgstr "" msgid "Default currency exchange integration" msgstr "" -#: plugin/builtin/labels/inventree_label.py:20 +#: plugin/builtin/labels/inventree_label.py:19 msgid "InvenTree PDF label printer" msgstr "" -#: plugin/builtin/labels/inventree_label.py:21 +#: plugin/builtin/labels/inventree_label.py:20 msgid "Provides native support for printing PDF labels" msgstr "" -#: plugin/builtin/labels/inventree_label.py:29 +#: plugin/builtin/labels/inventree_label.py:28 msgid "Debug mode" msgstr "" -#: plugin/builtin/labels/inventree_label.py:30 +#: plugin/builtin/labels/inventree_label.py:29 msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "" @@ -8132,11 +8082,11 @@ msgstr "" msgid "Provides support for printing using a machine" msgstr "" -#: plugin/builtin/labels/inventree_machine.py:150 +#: plugin/builtin/labels/inventree_machine.py:151 msgid "last used" msgstr "" -#: plugin/builtin/labels/inventree_machine.py:167 +#: plugin/builtin/labels/inventree_machine.py:168 msgid "Options" msgstr "" @@ -8160,7 +8110,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:47 report/models.py:209 +#: plugin/builtin/labels/label_sheet.py:47 report/models.py:308 msgid "Landscape" msgstr "" @@ -8176,11 +8126,11 @@ msgstr "" msgid "Arrays multiple labels onto a single sheet" msgstr "" -#: plugin/builtin/labels/label_sheet.py:94 +#: plugin/builtin/labels/label_sheet.py:99 msgid "Label is too large for page size" msgstr "" -#: plugin/builtin/labels/label_sheet.py:128 +#: plugin/builtin/labels/label_sheet.py:133 msgid "No labels were generated" msgstr "" @@ -8273,61 +8223,62 @@ msgstr "" msgid "Uninstalled plugin successfully" msgstr "" -#: plugin/models.py:30 +#: plugin/models.py:35 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:31 +#: plugin/models.py:36 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:34 users/models.py:100 +#: plugin/models.py:42 users/models.py:100 msgid "Key" msgstr "" -#: plugin/models.py:34 +#: plugin/models.py:43 msgid "Key of plugin" msgstr "" -#: plugin/models.py:42 +#: plugin/models.py:51 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:49 plugin/serializers.py:90 +#: plugin/models.py:58 plugin/serializers.py:90 msgid "Package Name" msgstr "" -#: plugin/models.py:51 +#: plugin/models.py:60 msgid "Name of the installed package, if the plugin was installed via PIP" msgstr "" -#: plugin/models.py:56 +#: plugin/models.py:65 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:147 templates/js/translated/table_filters.js:370 +#: plugin/models.py:156 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "" -#: plugin/models.py:156 +#: plugin/models.py:165 msgid "Sample plugin" msgstr "" -#: plugin/models.py:164 +#: plugin/models.py:173 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:172 +#: plugin/models.py:181 msgid "Package Plugin" msgstr "" -#: plugin/models.py:196 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:205 report/models.py:475 +#: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" msgstr "" -#: plugin/models.py:243 +#: plugin/models.py:252 msgid "Method" msgstr "" @@ -8468,239 +8419,323 @@ msgstr "" msgid "Delete the plugin configuration from the database" msgstr "" -#: report/api.py:158 +#: report/api.py:77 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:197 report/api.py:234 +#: report/api.py:89 report/serializers.py:53 +msgid "Model Type" +msgstr "" + +#: report/api.py:92 report/models.py:439 report/serializers.py:98 +#: report/serializers.py:148 templates/js/translated/purchase_order.js:1747 +#: templates/js/translated/return_order.js:353 +#: templates/js/translated/sales_order.js:887 +#: templates/js/translated/sales_order.js:1047 +msgid "Items" +msgstr "" + +#: report/api.py:168 +msgid "Plugin not found" +msgstr "" + +#: report/api.py:170 +msgid "Plugin is not active" +msgstr "" + +#: report/api.py:172 +msgid "Plugin does not support label printing" +msgstr "" + +#: report/api.py:221 +msgid "Invalid label dimensions" +msgstr "" + +#: report/api.py:236 report/api.py:316 +msgid "No valid items provided to template" +msgstr "" + +#: report/api.py:271 +msgid "Error printing label" +msgstr "" + +#: report/api.py:362 report/api.py:398 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:319 -msgid "Test report" -msgstr "" - -#: report/helpers.py:15 +#: report/helpers.py:41 msgid "A4" msgstr "" -#: report/helpers.py:16 +#: report/helpers.py:42 msgid "A3" msgstr "" -#: report/helpers.py:17 +#: report/helpers.py:43 msgid "Legal" msgstr "" -#: report/helpers.py:18 +#: report/helpers.py:44 msgid "Letter" msgstr "" -#: report/models.py:177 +#: report/models.py:118 +msgid "Template file with this name already exists" +msgstr "" + +#: report/models.py:150 msgid "Template name" msgstr "" -#: report/models.py:183 -msgid "Report template file" +#: report/models.py:156 +msgid "Template description" msgstr "" -#: report/models.py:190 -msgid "Report template description" +#: report/models.py:162 +msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:196 -msgid "Report revision number (auto-increments)" +#: report/models.py:202 +msgid "Filename Pattern" msgstr "" -#: report/models.py:204 +#: report/models.py:203 +msgid "Pattern for generating filenames" +msgstr "" + +#: report/models.py:208 +msgid "Template is enabled" +msgstr "" + +#: report/models.py:214 +msgid "Target model type for template" +msgstr "" + +#: report/models.py:234 +msgid "Filters" +msgstr "" + +#: report/models.py:235 +msgid "Template query filters (comma-separated list of key=value pairs)" +msgstr "" + +#: report/models.py:295 report/models.py:362 +msgid "Template file" +msgstr "" + +#: report/models.py:303 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:210 +#: report/models.py:309 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:318 -msgid "Pattern for generating report filenames" +#: report/models.py:368 +msgid "Width [mm]" msgstr "" -#: report/models.py:325 -msgid "Report template is enabled" +#: report/models.py:369 +msgid "Label width, specified in mm" msgstr "" -#: report/models.py:347 -msgid "StockItem query filters (comma-separated list of key=value pairs)" +#: report/models.py:375 +msgid "Height [mm]" msgstr "" -#: report/models.py:354 -msgid "Include Installed Tests" +#: report/models.py:376 +msgid "Label height, specified in mm" msgstr "" -#: report/models.py:356 -msgid "Include test results for stock items installed inside assembled item" +#: report/models.py:439 +msgid "Number of items to process" msgstr "" -#: report/models.py:424 -msgid "Build Filters" +#: report/models.py:445 +msgid "Report generation is complete" msgstr "" -#: report/models.py:425 -msgid "Build query filters (comma-separated list of key=value pairs" +#: report/models.py:449 templates/js/translated/build.js:2177 +msgid "Progress" msgstr "" -#: report/models.py:464 -msgid "Part Filters" +#: report/models.py:449 +msgid "Report generation progress" msgstr "" -#: report/models.py:465 -msgid "Part query filters (comma-separated list of key=value pairs" +#: report/models.py:457 +msgid "Report Template" msgstr "" -#: report/models.py:497 -msgid "Purchase order query filters" +#: report/models.py:464 report/models.py:487 +msgid "Output File" msgstr "" -#: report/models.py:533 -msgid "Sales order query filters" +#: report/models.py:465 report/models.py:488 +msgid "Generated output file" msgstr "" -#: report/models.py:569 -msgid "Return order query filters" +#: report/models.py:476 +msgid "Label output plugin" msgstr "" -#: report/models.py:641 -msgid "Snippet file with this name already exists" +#: report/models.py:480 +msgid "Label Template" msgstr "" -#: report/models.py:648 +#: report/models.py:503 msgid "Snippet" msgstr "" -#: report/models.py:649 +#: report/models.py:504 msgid "Report snippet file" msgstr "" -#: report/models.py:656 +#: report/models.py:511 msgid "Snippet file description" msgstr "" -#: report/models.py:714 -msgid "Asset file with this name already exists" -msgstr "" - -#: report/models.py:722 +#: report/models.py:529 msgid "Asset" msgstr "" -#: report/models.py:723 +#: report/models.py:530 msgid "Report asset file" msgstr "" -#: report/models.py:730 +#: report/models.py:537 msgid "Asset file description" msgstr "" -#: report/models.py:752 -msgid "stock location query filters (comma-separated list of key=value pairs)" +#: report/serializers.py:91 +msgid "Select report template" +msgstr "" + +#: report/serializers.py:99 report/serializers.py:149 +msgid "List of item primary keys to include in the report" +msgstr "" + +#: report/serializers.py:132 +msgid "Select label template" +msgstr "" + +#: report/serializers.py:140 +msgid "Printing Plugin" +msgstr "" + +#: report/serializers.py:141 +msgid "Select plugin to use for label printing" +msgstr "" + +#: report/templates/label/part_label.html:31 +#: report/templates/label/stockitem_qr.html:21 +#: report/templates/label/stocklocation_qr.html:20 +#: templates/allauth_2fa/setup.html:18 +msgid "QR Code" +msgstr "" + +#: report/templates/label/part_label_code128.html:31 +#: report/templates/label/stocklocation_qr_and_text.html:31 +#: templates/qr_code.html:7 +msgid "QR code" msgstr "" #: report/templates/report/inventree_bill_of_materials_report.html:133 msgid "Materials needed" msgstr "" -#: report/templates/report/inventree_build_order_base.html:146 +#: report/templates/report/inventree_build_order_report.html:146 msgid "Required For" msgstr "" -#: report/templates/report/inventree_po_report_base.html:15 +#: report/templates/report/inventree_purchase_order_report.html:15 msgid "Supplier was deleted" msgstr "" -#: report/templates/report/inventree_po_report_base.html:30 -#: report/templates/report/inventree_so_report_base.html:30 +#: report/templates/report/inventree_purchase_order_report.html:30 +#: report/templates/report/inventree_sales_order_report.html:30 #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:834 -#: templates/js/translated/purchase_order.js:2116 -#: templates/js/translated/sales_order.js:1837 +#: templates/js/translated/purchase_order.js:2115 +#: templates/js/translated/sales_order.js:1873 msgid "Unit Price" msgstr "" -#: report/templates/report/inventree_po_report_base.html:55 -#: report/templates/report/inventree_return_order_report_base.html:48 -#: report/templates/report/inventree_so_report_base.html:55 +#: report/templates/report/inventree_purchase_order_report.html:55 +#: report/templates/report/inventree_return_order_report.html:48 +#: report/templates/report/inventree_sales_order_report.html:55 msgid "Extra Line Items" 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:2018 -#: templates/js/translated/sales_order.js:1806 +#: report/templates/report/inventree_purchase_order_report.html:72 +#: report/templates/report/inventree_sales_order_report.html:72 +#: templates/js/translated/purchase_order.js:2017 +#: templates/js/translated/sales_order.js:1842 msgid "Total" msgstr "" -#: report/templates/report/inventree_return_order_report_base.html:25 -#: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:809 stock/templates/stock/item_base.html:311 +#: report/templates/report/inventree_return_order_report.html:25 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:830 +#: stock/serializers.py:150 stock/templates/stock/item_base.html:311 #: templates/js/translated/build.js:519 templates/js/translated/build.js:1367 #: templates/js/translated/build.js:2355 -#: templates/js/translated/model_renderers.js:224 -#: templates/js/translated/return_order.js:540 -#: templates/js/translated/return_order.js:724 +#: templates/js/translated/model_renderers.js:230 +#: templates/js/translated/return_order.js:539 +#: templates/js/translated/return_order.js:723 #: templates/js/translated/sales_order.js:315 -#: templates/js/translated/sales_order.js:1611 -#: templates/js/translated/sales_order.js:1696 +#: templates/js/translated/sales_order.js:1647 +#: templates/js/translated/sales_order.js:1732 #: templates/js/translated/stock.js:596 msgid "Serial Number" msgstr "シリアル番号" -#: report/templates/report/inventree_slr_report.html:97 +#: report/templates/report/inventree_stock_location_report.html:97 msgid "Stock location items" msgstr "" -#: report/templates/report/inventree_test_report_base.html:21 +#: report/templates/report/inventree_test_report.html:21 msgid "Stock Item Test Report" msgstr "" -#: report/templates/report/inventree_test_report_base.html:97 +#: report/templates/report/inventree_test_report.html:97 msgid "Test Results" msgstr "" -#: report/templates/report/inventree_test_report_base.html:102 +#: report/templates/report/inventree_test_report.html:102 #: templates/js/translated/stock.js:1495 msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2442 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2419 msgid "Result" msgstr "" -#: report/templates/report/inventree_test_report_base.html:130 +#: report/templates/report/inventree_test_report.html:130 msgid "Pass" msgstr "" -#: report/templates/report/inventree_test_report_base.html:132 +#: report/templates/report/inventree_test_report.html:132 msgid "Fail" msgstr "" -#: report/templates/report/inventree_test_report_base.html:139 +#: report/templates/report/inventree_test_report.html:139 msgid "No result (required)" msgstr "" -#: report/templates/report/inventree_test_report_base.html:141 +#: report/templates/report/inventree_test_report.html:141 msgid "No result" msgstr "" -#: report/templates/report/inventree_test_report_base.html:154 +#: report/templates/report/inventree_test_report.html:154 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report_base.html:168 -#: stock/admin.py:162 templates/js/translated/stock.js:700 -#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3113 +#: report/templates/report/inventree_test_report.html:168 stock/admin.py:162 +#: templates/js/translated/stock.js:700 templates/js/translated/stock.js:871 +#: templates/js/translated/stock.js:3110 msgid "Serial" msgstr "" @@ -8757,7 +8792,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:201 stock/models.py:789 +#: stock/admin.py:201 stock/models.py:810 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" @@ -8782,66 +8817,66 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:256 stock/models.py:883 +#: stock/admin.py:256 stock/models.py:904 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2232 users/models.py:124 +#: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" msgstr "" -#: stock/api.py:284 +#: stock/api.py:318 msgid "Filter by location depth" msgstr "" -#: stock/api.py:304 +#: stock/api.py:338 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:325 +#: stock/api.py:359 msgid "Parent Location" msgstr "" -#: stock/api.py:326 +#: stock/api.py:360 msgid "Filter by parent location" msgstr "" -#: stock/api.py:579 templates/js/translated/table_filters.js:427 +#: stock/api.py:613 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:767 +#: stock/api.py:801 msgid "Part Tree" msgstr "" -#: stock/api.py:797 +#: stock/api.py:831 msgid "Expiry date before" msgstr "" -#: stock/api.py:801 +#: stock/api.py:835 msgid "Expiry date after" msgstr "" -#: stock/api.py:804 stock/templates/stock/item_base.html:439 +#: stock/api.py:838 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:891 +#: stock/api.py:925 msgid "Quantity is required" msgstr "" -#: stock/api.py:897 +#: stock/api.py:931 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:928 +#: stock/api.py:962 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:938 +#: stock/api.py:972 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:969 +#: stock/api.py:1003 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8857,477 +8892,517 @@ msgstr "" msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:125 stock/models.py:771 +#: stock/models.py:127 stock/models.py:792 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:126 stock/templates/stock/location.html:179 +#: stock/models.py:128 stock/templates/stock/location.html:186 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "" -#: stock/models.py:158 stock/models.py:932 +#: stock/models.py:170 stock/models.py:953 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:159 stock/models.py:933 +#: stock/models.py:171 stock/models.py:954 msgid "Select Owner" msgstr "" -#: stock/models.py:167 +#: stock/models.py:179 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:174 templates/js/translated/stock.js:2784 +#: stock/models.py:186 templates/js/translated/stock.js:2781 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "" -#: stock/models.py:175 +#: stock/models.py:187 msgid "This is an external stock location" msgstr "" -#: stock/models.py:181 templates/js/translated/stock.js:2793 +#: stock/models.py:193 templates/js/translated/stock.js:2790 #: templates/js/translated/table_filters.js:246 msgid "Location type" msgstr "" -#: stock/models.py:185 +#: stock/models.py:197 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:254 +#: stock/models.py:266 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:626 +#: stock/models.py:647 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:653 stock/serializers.py:290 +#: stock/models.py:674 stock/serializers.py:419 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:670 +#: stock/models.py:691 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:680 stock/models.py:693 +#: stock/models.py:701 stock/models.py:714 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:683 +#: stock/models.py:704 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:707 +#: stock/models.py:728 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:712 +#: stock/models.py:733 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:725 +#: stock/models.py:746 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:741 +#: stock/models.py:762 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:753 +#: stock/models.py:774 msgid "Base part" msgstr "" -#: stock/models.py:763 +#: stock/models.py:784 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:775 +#: stock/models.py:796 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:783 stock/serializers.py:1351 +#: stock/models.py:804 stock/serializers.py:1480 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:794 +#: stock/models.py:815 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:813 +#: stock/models.py:834 msgid "Serial number for this item" msgstr "" -#: stock/models.py:827 stock/serializers.py:1334 +#: stock/models.py:848 stock/serializers.py:1463 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:832 +#: stock/models.py:853 msgid "Stock Quantity" msgstr "" -#: stock/models.py:842 +#: stock/models.py:863 msgid "Source Build" msgstr "" -#: stock/models.py:845 +#: stock/models.py:866 msgid "Build for this stock item" msgstr "" -#: stock/models.py:852 stock/templates/stock/item_base.html:363 +#: stock/models.py:873 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:855 +#: stock/models.py:876 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:864 +#: stock/models.py:885 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:868 +#: stock/models.py:889 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:874 +#: stock/models.py:895 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:885 +#: stock/models.py:906 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:903 +#: stock/models.py:924 msgid "Delete on deplete" msgstr "" -#: stock/models.py:904 +#: stock/models.py:925 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:924 +#: stock/models.py:945 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:955 +#: stock/models.py:976 msgid "Converted to part" msgstr "" -#: stock/models.py:1473 +#: stock/models.py:1494 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1479 +#: stock/models.py:1500 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1487 +#: stock/models.py:1508 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1493 +#: stock/models.py:1514 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1498 +#: stock/models.py:1519 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1506 stock/serializers.py:529 +#: stock/models.py:1527 stock/serializers.py:658 msgid "Serial numbers already exist" msgstr "シリアル番号が既に存在します" -#: stock/models.py:1603 +#: stock/models.py:1624 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1621 +#: stock/models.py:1642 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1625 +#: stock/models.py:1646 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1628 +#: stock/models.py:1649 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1631 +#: stock/models.py:1652 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1634 +#: stock/models.py:1655 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1637 +#: stock/models.py:1658 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1644 stock/serializers.py:1240 +#: stock/models.py:1665 stock/serializers.py:1369 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1648 +#: stock/models.py:1669 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1656 +#: stock/models.py:1677 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1661 +#: stock/models.py:1682 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1882 +#: stock/models.py:1903 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2345 +#: stock/models.py:2322 msgid "Entry notes" msgstr "" -#: stock/models.py:2410 +#: stock/models.py:2387 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2415 +#: stock/models.py:2392 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2442 +#: stock/models.py:2419 msgid "Test result" msgstr "" -#: stock/models.py:2449 +#: stock/models.py:2426 msgid "Test output value" msgstr "" -#: stock/models.py:2457 +#: stock/models.py:2434 msgid "Test result attachment" msgstr "" -#: stock/models.py:2461 +#: stock/models.py:2438 msgid "Test notes" msgstr "" -#: stock/models.py:2469 templates/js/translated/stock.js:1548 +#: stock/models.py:2446 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "" -#: stock/models.py:2470 +#: stock/models.py:2447 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2476 +#: stock/models.py:2453 msgid "Started" msgstr "" -#: stock/models.py:2477 +#: stock/models.py:2454 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2483 +#: stock/models.py:2460 msgid "Finished" msgstr "" -#: stock/models.py:2484 +#: stock/models.py:2461 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:100 +#: stock/serializers.py:75 +msgid "Generated batch code" +msgstr "" + +#: stock/serializers.py:84 +msgid "Select build order" +msgstr "" + +#: stock/serializers.py:93 +msgid "Select stock item to generate batch code for" +msgstr "" + +#: stock/serializers.py:102 +msgid "Select location to generate batch code for" +msgstr "" + +#: stock/serializers.py:111 +msgid "Select part to generate batch code for" +msgstr "" + +#: stock/serializers.py:120 +msgid "Select purchase order" +msgstr "" + +#: stock/serializers.py:127 +msgid "Enter quantity for batch code" +msgstr "" + +#: stock/serializers.py:150 +msgid "Generated serial number" +msgstr "" + +#: stock/serializers.py:159 +msgid "Select part to generate serial number for" +msgstr "" + +#: stock/serializers.py:167 +msgid "Quantity of serial numbers to generate" +msgstr "" + +#: stock/serializers.py:229 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:119 +#: stock/serializers.py:248 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:151 +#: stock/serializers.py:280 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:184 +#: stock/serializers.py:313 msgid "Serial number is too large" msgstr "シリアル番号が大きすぎます" -#: stock/serializers.py:282 +#: stock/serializers.py:411 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:402 +#: stock/serializers.py:531 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:464 +#: stock/serializers.py:593 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:477 +#: stock/serializers.py:606 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:484 +#: stock/serializers.py:613 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:495 stock/serializers.py:1197 stock/serializers.py:1453 +#: stock/serializers.py:624 stock/serializers.py:1326 stock/serializers.py:1582 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:502 +#: stock/serializers.py:631 msgid "Optional note field" msgstr "" -#: stock/serializers.py:512 +#: stock/serializers.py:641 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:567 +#: stock/serializers.py:696 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:574 +#: stock/serializers.py:703 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:575 +#: stock/serializers.py:704 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:580 stock/serializers.py:660 stock/serializers.py:756 -#: stock/serializers.py:806 +#: stock/serializers.py:709 stock/serializers.py:789 stock/serializers.py:885 +#: stock/serializers.py:935 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:588 +#: stock/serializers.py:717 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:596 +#: stock/serializers.py:725 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:607 +#: stock/serializers.py:736 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:620 +#: stock/serializers.py:749 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:655 +#: stock/serializers.py:784 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:690 +#: stock/serializers.py:819 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:703 +#: stock/serializers.py:832 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:720 +#: stock/serializers.py:849 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:751 +#: stock/serializers.py:880 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:788 +#: stock/serializers.py:917 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:794 +#: stock/serializers.py:923 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:890 stock/serializers.py:953 +#: stock/serializers.py:1019 stock/serializers.py:1082 #: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:213 +#: stock/templates/stock/location.html:220 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1069 +#: stock/serializers.py:1198 msgid "Part must be salable" msgstr "パーツは販売可能でなければなりません" -#: stock/serializers.py:1073 +#: stock/serializers.py:1202 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1077 +#: stock/serializers.py:1206 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1101 +#: stock/serializers.py:1230 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1107 +#: stock/serializers.py:1236 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1115 +#: stock/serializers.py:1244 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1125 stock/serializers.py:1379 +#: stock/serializers.py:1254 stock/serializers.py:1508 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1204 +#: stock/serializers.py:1333 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1209 +#: stock/serializers.py:1338 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1210 +#: stock/serializers.py:1339 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1215 +#: stock/serializers.py:1344 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1216 +#: stock/serializers.py:1345 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1226 +#: stock/serializers.py:1355 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1293 +#: stock/serializers.py:1422 msgid "No Change" msgstr "" -#: stock/serializers.py:1322 +#: stock/serializers.py:1451 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1341 +#: stock/serializers.py:1470 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1369 +#: stock/serializers.py:1498 msgid "Stock transaction notes" msgstr "" @@ -9352,7 +9427,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:286 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:282 msgid "Delete Test Data" msgstr "" @@ -9368,15 +9443,15 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3274 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3271 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:274 +#: stock/templates/stock/item.html:270 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:304 templates/js/translated/stock.js:1701 +#: stock/templates/stock/item.html:300 templates/js/translated/stock.js:1701 msgid "Add Test Result" msgstr "" @@ -9561,40 +9636,40 @@ msgstr "" msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:507 -#: templates/js/translated/stock.js:1954 +#: stock/templates/stock/item_base.html:504 +#: templates/js/translated/stock.js:1952 msgid "stock item" msgstr "" -#: stock/templates/stock/item_base.html:532 +#: stock/templates/stock/item_base.html:527 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:541 +#: stock/templates/stock/item_base.html:536 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:552 +#: stock/templates/stock/item_base.html:547 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:616 +#: stock/templates/stock/item_base.html:611 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:619 +#: stock/templates/stock/item_base.html:614 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:620 +#: stock/templates/stock/item_base.html:615 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:628 +#: stock/templates/stock/item_base.html:623 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:662 +#: stock/templates/stock/item_base.html:657 msgid "Return to Stock" msgstr "" @@ -9658,28 +9733,32 @@ msgstr "" msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:217 +#: stock/templates/stock/location.html:176 +msgid "Location Type" +msgstr "" + +#: stock/templates/stock/location.html:224 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:218 +#: stock/templates/stock/location.html:225 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:287 -#: templates/js/translated/stock.js:2575 +#: stock/templates/stock/location.html:295 +#: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:315 +#: stock/templates/stock/location.html:317 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:388 +#: stock/templates/stock/location.html:390 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:399 +#: stock/templates/stock/location.html:401 msgid "Link Barcode to Stock Location" msgstr "" @@ -9949,11 +10028,11 @@ msgstr "" msgid "Part Settings" msgstr "" -#: templates/InvenTree/settings/part.html:42 +#: templates/InvenTree/settings/part.html:43 msgid "Part Import" msgstr "" -#: templates/InvenTree/settings/part.html:46 +#: templates/InvenTree/settings/part.html:47 msgid "Import Part" msgstr "" @@ -10174,7 +10253,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:424 +#: templates/js/translated/stock.js:245 users/models.py:411 msgid "Delete" msgstr "" @@ -10283,7 +10362,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2159 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2163 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" @@ -10874,7 +10953,7 @@ msgid "Click on the following link to view this part" msgstr "このパーツを表示するには、次のリンクをクリックしてください" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3218 +#: templates/js/translated/part.js:3217 msgid "Minimum Quantity" msgstr "最小在庫" @@ -11254,7 +11333,7 @@ msgid "External stock" msgstr "" #: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2595 -#: templates/js/translated/sales_order.js:1910 +#: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" @@ -11264,7 +11343,7 @@ msgstr "" #: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 #: templates/js/translated/part.js:1256 -#: templates/js/translated/sales_order.js:1907 +#: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" @@ -11519,17 +11598,17 @@ msgstr "" #: templates/js/translated/build.js:1576 #: templates/js/translated/purchase_order.js:611 -#: templates/js/translated/sales_order.js:1171 +#: templates/js/translated/sales_order.js:1207 msgid "Select Parts" msgstr "" #: templates/js/translated/build.js:1577 -#: templates/js/translated/sales_order.js:1172 +#: templates/js/translated/sales_order.js:1208 msgid "You must select at least one part to allocate" msgstr "" #: templates/js/translated/build.js:1640 -#: templates/js/translated/sales_order.js:1121 +#: templates/js/translated/sales_order.js:1157 msgid "Specify stock allocation quantity" msgstr "" @@ -11542,7 +11621,7 @@ msgid "All selected parts have been fully allocated" msgstr "" #: templates/js/translated/build.js:1732 -#: templates/js/translated/sales_order.js:1186 +#: templates/js/translated/sales_order.js:1222 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -11551,12 +11630,12 @@ msgid "Allocate Stock Items to Build Order" msgstr "" #: templates/js/translated/build.js:1771 -#: templates/js/translated/sales_order.js:1283 +#: templates/js/translated/sales_order.js:1319 msgid "No matching stock locations" msgstr "" #: templates/js/translated/build.js:1844 -#: templates/js/translated/sales_order.js:1362 +#: templates/js/translated/sales_order.js:1398 msgid "No matching stock items" msgstr "" @@ -11589,9 +11668,9 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 -#: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 -#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 -#: templates/js/translated/stock.js:1985 templates/js/translated/stock.js:2713 +#: templates/js/translated/forms.js:2159 templates/js/translated/forms.js:2175 +#: templates/js/translated/part.js:2315 templates/js/translated/part.js:2741 +#: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "" @@ -11599,21 +11678,17 @@ msgstr "" msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2177 -msgid "Progress" -msgstr "" - -#: templates/js/translated/build.js:2213 templates/js/translated/stock.js:3045 +#: templates/js/translated/build.js:2213 templates/js/translated/stock.js:3042 msgid "No user information" msgstr "" #: templates/js/translated/build.js:2389 -#: templates/js/translated/sales_order.js:1646 +#: templates/js/translated/sales_order.js:1682 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:2390 -#: templates/js/translated/sales_order.js:1647 +#: templates/js/translated/sales_order.js:1683 msgid "Delete stock allocation" msgstr "" @@ -11647,7 +11722,7 @@ msgid "Unit Quantity" msgstr "" #: templates/js/translated/build.js:2591 -#: templates/js/translated/sales_order.js:1915 +#: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" @@ -11664,7 +11739,7 @@ msgid "Allocate tracked items against individual build outputs" msgstr "" #: templates/js/translated/build.js:2662 -#: templates/js/translated/sales_order.js:2016 +#: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "" @@ -11673,7 +11748,7 @@ msgid "Order stock" msgstr "" #: templates/js/translated/build.js:2671 -#: templates/js/translated/sales_order.js:2010 +#: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "" @@ -11923,12 +11998,12 @@ msgid "Delete price break" msgstr "" #: templates/js/translated/filters.js:186 -#: templates/js/translated/filters.js:672 +#: templates/js/translated/filters.js:667 msgid "true" msgstr "" #: templates/js/translated/filters.js:190 -#: templates/js/translated/filters.js:673 +#: templates/js/translated/filters.js:668 msgid "false" msgstr "" @@ -11960,7 +12035,7 @@ msgstr "" msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:582 +#: templates/js/translated/filters.js:577 msgid "Create filter" msgstr "" @@ -11993,32 +12068,32 @@ msgstr "" msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1473 templates/modals.html:19 +#: templates/js/translated/forms.js:1477 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1971 +#: templates/js/translated/forms.js:1975 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2275 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2279 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2489 +#: templates/js/translated/forms.js:2493 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3091 +#: templates/js/translated/forms.js:3095 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3091 +#: templates/js/translated/forms.js:3095 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3103 +#: templates/js/translated/forms.js:3107 msgid "Select Columns" msgstr "" @@ -12042,51 +12117,15 @@ msgstr "" msgid "No parts required for builds" msgstr "" -#: templates/js/translated/label.js:53 templates/js/translated/report.js:123 +#: templates/js/translated/label.js:55 templates/js/translated/report.js:38 msgid "Select Items" msgstr "" -#: templates/js/translated/label.js:54 +#: templates/js/translated/label.js:56 templates/js/translated/report.js:39 msgid "No items selected for printing" msgstr "" -#: templates/js/translated/label.js:72 -msgid "No Labels Found" -msgstr "" - -#: templates/js/translated/label.js:73 -msgid "No label templates found which match the selected items" -msgstr "" - -#: templates/js/translated/label.js:97 -msgid "selected" -msgstr "" - -#: templates/js/translated/label.js:133 -msgid "Printing Options" -msgstr "" - -#: templates/js/translated/label.js:148 -msgid "Print label" -msgstr "" - -#: templates/js/translated/label.js:148 -msgid "Print labels" -msgstr "" - #: templates/js/translated/label.js:149 -msgid "Print" -msgstr "" - -#: templates/js/translated/label.js:155 -msgid "Select label template" -msgstr "" - -#: templates/js/translated/label.js:168 -msgid "Select plugin" -msgstr "" - -#: templates/js/translated/label.js:187 msgid "Labels sent to printer" msgstr "" @@ -12204,7 +12243,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1991 +#: templates/js/translated/purchase_order.js:1990 msgid "No line items found" msgstr "" @@ -12442,19 +12481,19 @@ msgid "Delete Part Parameter Template" msgstr "" #: templates/js/translated/part.js:1716 -#: templates/js/translated/purchase_order.js:1655 +#: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1860 -#: templates/js/translated/purchase_order.js:2154 -#: templates/js/translated/return_order.js:756 -#: templates/js/translated/sales_order.js:1875 +#: templates/js/translated/purchase_order.js:2153 +#: templates/js/translated/return_order.js:755 +#: templates/js/translated/sales_order.js:1911 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1906 -#: templates/js/translated/purchase_order.js:2221 +#: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "" @@ -12466,7 +12505,7 @@ msgstr "" msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2506 +#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2505 msgid "No parts found" msgstr "" @@ -12482,101 +12521,101 @@ msgstr "" msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2286 msgid "part" msgstr "" -#: templates/js/translated/part.js:2288 +#: templates/js/translated/part.js:2287 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2384 +#: templates/js/translated/part.js:2383 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 -#: templates/js/translated/stock.js:2672 +#: templates/js/translated/part.js:2530 templates/js/translated/part.js:2660 +#: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2547 +#: templates/js/translated/part.js:2546 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2645 +#: templates/js/translated/part.js:2644 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2692 +#: templates/js/translated/part.js:2680 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2761 +#: templates/js/translated/part.js:2760 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2777 +#: templates/js/translated/part.js:2776 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2864 +#: templates/js/translated/part.js:2863 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2886 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2885 templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2935 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2941 +#: templates/js/translated/part.js:2940 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2957 +#: templates/js/translated/part.js:2956 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2971 +#: templates/js/translated/part.js:2970 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3050 templates/js/translated/part.js:3051 +#: templates/js/translated/part.js:3049 templates/js/translated/part.js:3050 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3053 +#: templates/js/translated/part.js:3052 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3059 +#: templates/js/translated/part.js:3058 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3109 +#: templates/js/translated/part.js:3108 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3115 +#: templates/js/translated/part.js:3114 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3211 +#: templates/js/translated/part.js:3210 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3227 +#: templates/js/translated/part.js:3226 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3272 +#: templates/js/translated/part.js:3271 msgid "Minimum Stock Level" msgstr "" @@ -12702,7 +12741,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:448 #: templates/js/translated/return_order.js:210 -#: templates/js/translated/sales_order.js:500 +#: templates/js/translated/sales_order.js:552 msgid "Mark this order as complete?" msgstr "" @@ -12715,7 +12754,6 @@ msgid "This order has line items which have not been marked as received." msgstr "" #: templates/js/translated/purchase_order.js:460 -#: templates/js/translated/sales_order.js:514 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" @@ -12773,12 +12811,12 @@ msgid "No matching purchase orders" msgstr "" #: templates/js/translated/purchase_order.js:1073 -#: templates/js/translated/return_order.js:491 +#: templates/js/translated/return_order.js:490 msgid "Select Line Items" msgstr "" #: templates/js/translated/purchase_order.js:1074 -#: templates/js/translated/return_order.js:492 +#: templates/js/translated/return_order.js:491 msgid "At least one line item must be selected" msgstr "" @@ -12827,7 +12865,7 @@ msgid "Quantity to Receive" msgstr "" #: templates/js/translated/purchase_order.js:1333 -#: templates/js/translated/return_order.js:561 +#: templates/js/translated/return_order.js:560 msgid "Confirm receipt of items" msgstr "" @@ -12847,81 +12885,66 @@ msgstr "" msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1682 -#: templates/js/translated/return_order.js:286 -#: templates/js/translated/sales_order.js:774 -#: templates/js/translated/sales_order.js:998 +#: templates/js/translated/purchase_order.js:1681 +#: templates/js/translated/return_order.js:285 +#: templates/js/translated/sales_order.js:810 +#: templates/js/translated/sales_order.js:1034 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1748 -#: templates/js/translated/return_order.js:354 -#: templates/js/translated/sales_order.js:851 -#: templates/js/translated/sales_order.js:1011 -msgid "Items" -msgstr "" - -#: templates/js/translated/purchase_order.js:1844 +#: templates/js/translated/purchase_order.js:1843 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1862 +#: templates/js/translated/purchase_order.js:1861 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1917 -#: templates/js/translated/sales_order.js:2070 +#: templates/js/translated/purchase_order.js:1916 +#: templates/js/translated/sales_order.js:2106 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1932 -#: templates/js/translated/return_order.js:476 -#: templates/js/translated/return_order.js:669 -#: templates/js/translated/sales_order.js:2083 +#: templates/js/translated/purchase_order.js:1931 +#: templates/js/translated/return_order.js:475 +#: templates/js/translated/return_order.js:668 +#: templates/js/translated/sales_order.js:2119 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1943 -#: templates/js/translated/return_order.js:682 -#: templates/js/translated/sales_order.js:2094 +#: templates/js/translated/purchase_order.js:1942 +#: templates/js/translated/return_order.js:681 +#: templates/js/translated/sales_order.js:2130 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2225 -#: templates/js/translated/sales_order.js:2024 +#: templates/js/translated/purchase_order.js:2224 +#: templates/js/translated/sales_order.js:2060 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2226 -#: templates/js/translated/return_order.js:801 -#: templates/js/translated/sales_order.js:2025 +#: templates/js/translated/purchase_order.js:2225 +#: templates/js/translated/return_order.js:800 +#: templates/js/translated/sales_order.js:2061 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2227 -#: templates/js/translated/return_order.js:805 -#: templates/js/translated/sales_order.js:2031 +#: templates/js/translated/purchase_order.js:2226 +#: templates/js/translated/return_order.js:804 +#: templates/js/translated/sales_order.js:2067 msgid "Delete line item" msgstr "" -#: templates/js/translated/report.js:63 -msgid "items selected" +#: templates/js/translated/report.js:49 +msgid "Print Report" msgstr "" -#: templates/js/translated/report.js:71 -msgid "Select Report Template" +#: templates/js/translated/report.js:68 +msgid "Report print successful" msgstr "" -#: templates/js/translated/report.js:86 -msgid "Select Test Report Template" -msgstr "" - -#: templates/js/translated/report.js:140 -msgid "No Reports Found" -msgstr "" - -#: templates/js/translated/report.js:141 -msgid "No report templates found which match the selected items" +#: templates/js/translated/report.js:73 +msgid "Report printing failed" msgstr "" #: templates/js/translated/return_order.js:60 @@ -12953,25 +12976,25 @@ msgstr "" msgid "Complete Return Order" msgstr "" -#: templates/js/translated/return_order.js:266 +#: templates/js/translated/return_order.js:265 msgid "No return orders found" msgstr "" -#: templates/js/translated/return_order.js:300 -#: templates/js/translated/sales_order.js:788 +#: templates/js/translated/return_order.js:299 +#: templates/js/translated/sales_order.js:824 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/return_order.js:562 +#: templates/js/translated/return_order.js:561 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:693 -#: templates/js/translated/sales_order.js:2231 +#: templates/js/translated/return_order.js:692 +#: templates/js/translated/sales_order.js:2267 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:798 +#: templates/js/translated/return_order.js:797 msgid "Mark item as received" msgstr "" @@ -13015,140 +13038,156 @@ msgstr "" msgid "Skip" msgstr "" +#: templates/js/translated/sales_order.js:484 +msgid "Ship Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:500 +msgid "Ship this order?" +msgstr "" + +#: templates/js/translated/sales_order.js:506 +msgid "Order cannot be shipped as there are incomplete shipments" +msgstr "" + #: templates/js/translated/sales_order.js:513 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/sales_order.js:535 +#: templates/js/translated/sales_order.js:514 +msgid "Shipping this order means that the order and line items will no longer be editable." +msgstr "" + +#: templates/js/translated/sales_order.js:572 msgid "Issue this Sales Order?" msgstr "" -#: templates/js/translated/sales_order.js:540 +#: templates/js/translated/sales_order.js:577 msgid "Issue Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:559 +#: templates/js/translated/sales_order.js:596 msgid "Cancel Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:564 +#: templates/js/translated/sales_order.js:601 msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: templates/js/translated/sales_order.js:618 +#: templates/js/translated/sales_order.js:655 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/sales_order.js:728 +#: templates/js/translated/sales_order.js:764 msgid "No sales orders found" msgstr "" -#: templates/js/translated/sales_order.js:908 +#: templates/js/translated/sales_order.js:944 msgid "Edit shipment" msgstr "" -#: templates/js/translated/sales_order.js:911 +#: templates/js/translated/sales_order.js:947 msgid "Complete shipment" msgstr "" -#: templates/js/translated/sales_order.js:916 +#: templates/js/translated/sales_order.js:952 msgid "Delete shipment" msgstr "" -#: templates/js/translated/sales_order.js:933 +#: templates/js/translated/sales_order.js:969 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/sales_order.js:948 +#: templates/js/translated/sales_order.js:984 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:981 +#: templates/js/translated/sales_order.js:1017 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/sales_order.js:1006 +#: templates/js/translated/sales_order.js:1042 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/sales_order.js:1030 -#: templates/js/translated/sales_order.js:1529 +#: templates/js/translated/sales_order.js:1066 +#: templates/js/translated/sales_order.js:1565 msgid "Not shipped" msgstr "" -#: templates/js/translated/sales_order.js:1048 +#: templates/js/translated/sales_order.js:1084 msgid "Tracking" msgstr "" -#: templates/js/translated/sales_order.js:1052 +#: templates/js/translated/sales_order.js:1088 msgid "Invoice" msgstr "" -#: templates/js/translated/sales_order.js:1219 +#: templates/js/translated/sales_order.js:1255 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1270 +#: templates/js/translated/sales_order.js:1306 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/sales_order.js:1271 +#: templates/js/translated/sales_order.js:1307 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1477 +#: templates/js/translated/sales_order.js:1513 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1569 +#: templates/js/translated/sales_order.js:1605 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1583 +#: templates/js/translated/sales_order.js:1619 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/sales_order.js:1584 +#: templates/js/translated/sales_order.js:1620 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1623 -#: templates/js/translated/sales_order.js:1710 +#: templates/js/translated/sales_order.js:1659 +#: templates/js/translated/sales_order.js:1746 #: templates/js/translated/stock.js:1776 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/sales_order.js:1631 -#: templates/js/translated/sales_order.js:1719 +#: templates/js/translated/sales_order.js:1667 +#: templates/js/translated/sales_order.js:1755 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:2008 +#: templates/js/translated/sales_order.js:2044 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/sales_order.js:2012 +#: templates/js/translated/sales_order.js:2048 msgid "Purchase stock" msgstr "" -#: templates/js/translated/sales_order.js:2021 -#: templates/js/translated/sales_order.js:2209 +#: templates/js/translated/sales_order.js:2057 +#: templates/js/translated/sales_order.js:2245 msgid "Calculate price" msgstr "" -#: templates/js/translated/sales_order.js:2035 +#: templates/js/translated/sales_order.js:2071 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:2038 +#: templates/js/translated/sales_order.js:2074 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:2109 +#: templates/js/translated/sales_order.js:2145 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/sales_order.js:2217 +#: templates/js/translated/sales_order.js:2253 msgid "Update Unit Price" msgstr "" @@ -13356,7 +13395,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1042 users/models.py:414 +#: templates/js/translated/stock.js:1042 users/models.py:401 msgid "Add" msgstr "" @@ -13372,7 +13411,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1180 templates/js/translated/stock.js:3302 +#: templates/js/translated/stock.js:1180 templates/js/translated/stock.js:3299 msgid "Select Stock Items" msgstr "" @@ -13456,196 +13495,196 @@ msgstr "" msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:1955 +#: templates/js/translated/stock.js:1953 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1960 +#: templates/js/translated/stock.js:1958 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:1971 +#: templates/js/translated/stock.js:1969 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:2015 +#: templates/js/translated/stock.js:2013 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2093 +#: templates/js/translated/stock.js:2091 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2098 +#: templates/js/translated/stock.js:2096 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2101 +#: templates/js/translated/stock.js:2099 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2104 +#: templates/js/translated/stock.js:2102 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2106 +#: templates/js/translated/stock.js:2104 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2108 +#: templates/js/translated/stock.js:2106 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2111 +#: templates/js/translated/stock.js:2109 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2113 +#: templates/js/translated/stock.js:2111 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2117 +#: templates/js/translated/stock.js:2115 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2119 +#: templates/js/translated/stock.js:2117 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2124 +#: templates/js/translated/stock.js:2122 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2126 +#: templates/js/translated/stock.js:2124 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2128 +#: templates/js/translated/stock.js:2126 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2132 +#: templates/js/translated/stock.js:2130 #: templates/js/translated/table_filters.js:350 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2297 +#: templates/js/translated/stock.js:2295 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2344 +#: templates/js/translated/stock.js:2342 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2472 +#: templates/js/translated/stock.js:2470 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2576 +#: templates/js/translated/stock.js:2573 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2731 +#: templates/js/translated/stock.js:2728 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2849 +#: templates/js/translated/stock.js:2846 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2853 +#: templates/js/translated/stock.js:2850 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2865 +#: templates/js/translated/stock.js:2862 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2887 +#: templates/js/translated/stock.js:2884 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2904 +#: templates/js/translated/stock.js:2901 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2919 +#: templates/js/translated/stock.js:2916 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2936 +#: templates/js/translated/stock.js:2933 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:2950 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2972 +#: templates/js/translated/stock.js:2969 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2990 +#: templates/js/translated/stock.js:2987 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:3008 +#: templates/js/translated/stock.js:3005 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:3016 +#: templates/js/translated/stock.js:3013 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3088 +#: templates/js/translated/stock.js:3085 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3142 templates/js/translated/stock.js:3178 +#: templates/js/translated/stock.js:3139 templates/js/translated/stock.js:3175 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3200 +#: templates/js/translated/stock.js:3197 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3221 +#: templates/js/translated/stock.js:3218 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3222 +#: templates/js/translated/stock.js:3219 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3224 +#: templates/js/translated/stock.js:3221 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3225 +#: templates/js/translated/stock.js:3222 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3226 +#: templates/js/translated/stock.js:3223 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3227 +#: templates/js/translated/stock.js:3224 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3240 +#: templates/js/translated/stock.js:3237 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3303 +#: templates/js/translated/stock.js:3300 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3316 +#: templates/js/translated/stock.js:3313 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3320 +#: templates/js/translated/stock.js:3317 msgid "Change Stock Status" msgstr "" @@ -14247,34 +14286,35 @@ msgstr "" msgid "Revoked" msgstr "" -#: users/models.py:397 +#: users/models.py:384 msgid "Permission set" msgstr "パーミッション設定" -#: users/models.py:406 +#: users/models.py:393 msgid "Group" msgstr "グループ" -#: users/models.py:410 +#: users/models.py:397 msgid "View" msgstr "表示" -#: users/models.py:410 +#: users/models.py:397 msgid "Permission to view items" msgstr "項目を表示する権限" -#: users/models.py:414 +#: users/models.py:401 msgid "Permission to add items" msgstr "項目を追加する権限" -#: users/models.py:418 +#: users/models.py:405 msgid "Change" msgstr "変更" -#: users/models.py:420 +#: users/models.py:407 msgid "Permissions to edit items" msgstr "項目を編集する権限" -#: users/models.py:426 +#: users/models.py:413 msgid "Permission to delete items" msgstr "項目を削除する権限" + diff --git a/src/backend/InvenTree/locale/ko/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/ko/LC_MESSAGES/django.po index 794536b0e4..ac1469c4bb 100644 --- a/src/backend/InvenTree/locale/ko/LC_MESSAGES/django.po +++ b/src/backend/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: 2024-05-10 05:37+0000\n" -"PO-Revision-Date: 2024-05-10 08:31\n" +"POT-Creation-Date: 2024-05-23 11:25+0000\n" +"PO-Revision-Date: 2024-05-23 11:38\n" "Last-Translator: \n" "Language-Team: Korean\n" "Language: ko_KR\n" @@ -17,11 +17,11 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 216\n" -#: InvenTree/api.py:271 +#: InvenTree/api.py:272 msgid "API endpoint not found" msgstr "" -#: InvenTree/api.py:535 +#: InvenTree/api.py:536 msgid "User does not have permission to view this model" msgstr "" @@ -56,26 +56,26 @@ msgstr "" msgid "Enter date" msgstr "" -#: InvenTree/fields.py:208 InvenTree/models.py:1021 build/serializers.py:444 -#: build/serializers.py:522 build/templates/build/sidebar.html:21 +#: InvenTree/fields.py:208 InvenTree/models.py:1035 build/serializers.py:443 +#: build/serializers.py:521 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 -#: order/models.py:1283 order/templates/order/po_sidebar.html:11 +#: order/models.py:1323 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:59 -#: part/models.py:3175 part/templates/part/part_sidebar.html:63 -#: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:226 stock/models.py:2344 stock/models.py:2461 -#: stock/serializers.py:501 stock/serializers.py:659 stock/serializers.py:755 -#: stock/serializers.py:805 stock/serializers.py:1114 stock/serializers.py:1203 -#: stock/serializers.py:1368 stock/templates/stock/stock_sidebar.html:25 +#: part/models.py:3218 part/templates/part/part_sidebar.html:63 +#: report/templates/report/inventree_build_order_report.html:172 +#: stock/admin.py:226 stock/models.py:2321 stock/models.py:2438 +#: stock/serializers.py:630 stock/serializers.py:788 stock/serializers.py:884 +#: stock/serializers.py:934 stock/serializers.py:1243 stock/serializers.py:1332 +#: stock/serializers.py:1497 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1080 -#: templates/js/translated/purchase_order.js:2201 -#: templates/js/translated/return_order.js:776 -#: templates/js/translated/sales_order.js:1067 -#: templates/js/translated/sales_order.js:1982 -#: templates/js/translated/stock.js:1536 templates/js/translated/stock.js:2430 +#: templates/js/translated/purchase_order.js:2200 +#: templates/js/translated/return_order.js:775 +#: templates/js/translated/sales_order.js:1103 +#: templates/js/translated/sales_order.js:2018 +#: templates/js/translated/stock.js:1536 templates/js/translated/stock.js:2428 msgid "Notes" msgstr "" @@ -132,7 +132,7 @@ msgstr "" msgid "Registration is disabled." msgstr "" -#: InvenTree/helpers.py:525 order/models.py:541 order/models.py:743 +#: InvenTree/helpers.py:525 order/models.py:563 order/models.py:765 msgid "Invalid quantity provided" msgstr "" @@ -355,142 +355,142 @@ msgstr "" msgid "Error running plugin validation" msgstr "" -#: InvenTree/models.py:162 +#: InvenTree/models.py:176 msgid "Metadata must be a python dict object" msgstr "" -#: InvenTree/models.py:168 +#: InvenTree/models.py:182 msgid "Plugin Metadata" msgstr "" -#: InvenTree/models.py:169 +#: InvenTree/models.py:183 msgid "JSON metadata field, for use by external plugins" msgstr "" -#: InvenTree/models.py:399 +#: InvenTree/models.py:413 msgid "Improperly formatted pattern" msgstr "" -#: InvenTree/models.py:406 +#: InvenTree/models.py:420 msgid "Unknown format key specified" msgstr "" -#: InvenTree/models.py:412 +#: InvenTree/models.py:426 msgid "Missing required format key" msgstr "" -#: InvenTree/models.py:423 +#: InvenTree/models.py:437 msgid "Reference field cannot be empty" msgstr "" -#: InvenTree/models.py:431 +#: InvenTree/models.py:445 msgid "Reference must match required pattern" msgstr "" -#: InvenTree/models.py:462 +#: InvenTree/models.py:476 msgid "Reference number is too large" msgstr "" -#: InvenTree/models.py:536 +#: InvenTree/models.py:550 msgid "Missing file" msgstr "" -#: InvenTree/models.py:537 +#: InvenTree/models.py:551 msgid "Missing external link" msgstr "" -#: InvenTree/models.py:558 stock/models.py:2456 +#: InvenTree/models.py:572 stock/models.py:2433 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" msgstr "" -#: InvenTree/models.py:559 +#: InvenTree/models.py:573 msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:567 common/models.py:3026 company/models.py:146 +#: InvenTree/models.py:581 common/models.py:3032 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 -#: order/models.py:291 order/models.py:1288 order/models.py:1704 -#: part/admin.py:55 part/models.py:919 +#: order/models.py:304 order/models.py:1328 order/models.py:1744 +#: part/admin.py:55 part/models.py:962 #: part/templates/part/part_scheduling.html:11 -#: report/templates/report/inventree_build_order_base.html:164 +#: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2456 -#: templates/js/translated/purchase_order.js:2041 -#: templates/js/translated/purchase_order.js:2205 -#: templates/js/translated/return_order.js:780 -#: templates/js/translated/sales_order.js:1056 -#: templates/js/translated/sales_order.js:1987 +#: templates/js/translated/part.js:2455 +#: templates/js/translated/purchase_order.js:2040 +#: templates/js/translated/purchase_order.js:2204 +#: templates/js/translated/return_order.js:779 +#: templates/js/translated/sales_order.js:1092 +#: templates/js/translated/sales_order.js:2023 msgid "Link" msgstr "" -#: InvenTree/models.py:568 build/models.py:321 part/models.py:920 -#: stock/models.py:819 +#: InvenTree/models.py:582 build/models.py:344 part/models.py:963 +#: stock/models.py:840 msgid "Link to external URL" msgstr "" -#: InvenTree/models.py:574 templates/js/translated/attachment.js:120 +#: InvenTree/models.py:588 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:341 msgid "Comment" msgstr "" -#: InvenTree/models.py:575 +#: InvenTree/models.py:589 msgid "File comment" msgstr "" -#: InvenTree/models.py:583 InvenTree/models.py:584 common/models.py:2502 -#: common/models.py:2503 common/models.py:2727 common/models.py:2728 -#: common/models.py:2973 common/models.py:2974 part/models.py:3185 -#: part/models.py:3272 part/models.py:3365 part/models.py:3393 -#: plugin/models.py:250 plugin/models.py:251 -#: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3039 users/models.py:111 +#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2508 +#: common/models.py:2509 common/models.py:2733 common/models.py:2734 +#: common/models.py:2979 common/models.py:2980 part/models.py:3228 +#: part/models.py:3315 part/models.py:3408 part/models.py:3436 +#: plugin/models.py:259 plugin/models.py:260 +#: report/templates/report/inventree_test_report.html:105 +#: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" msgstr "" -#: InvenTree/models.py:588 +#: InvenTree/models.py:602 msgid "upload date" msgstr "" -#: InvenTree/models.py:610 +#: InvenTree/models.py:624 msgid "Filename must not be empty" msgstr "" -#: InvenTree/models.py:621 +#: InvenTree/models.py:635 msgid "Invalid attachment directory" msgstr "" -#: InvenTree/models.py:651 +#: InvenTree/models.py:665 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "" -#: InvenTree/models.py:654 +#: InvenTree/models.py:668 msgid "Filename missing extension" msgstr "" -#: InvenTree/models.py:663 +#: InvenTree/models.py:677 msgid "Attachment with this filename already exists" msgstr "" -#: InvenTree/models.py:670 +#: InvenTree/models.py:684 msgid "Error renaming file" msgstr "" -#: InvenTree/models.py:846 +#: InvenTree/models.py:860 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:863 +#: InvenTree/models.py:877 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:893 common/models.py:2714 common/models.py:3112 -#: common/serializers.py:403 company/models.py:614 label/models.py:120 -#: machine/models.py:24 part/models.py:855 part/models.py:3616 -#: plugin/models.py:41 report/models.py:176 stock/models.py:76 +#: InvenTree/models.py:907 common/models.py:2720 common/models.py:3118 +#: common/serializers.py:403 company/models.py:614 machine/models.py:24 +#: part/models.py:898 part/models.py:3659 plugin/models.py:50 +#: report/models.py:149 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -503,22 +503,22 @@ msgstr "" #: templates/js/translated/company.js:1165 #: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186 #: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2719 +#: templates/js/translated/part.js:2748 templates/js/translated/stock.js:2716 msgid "Name" msgstr "" -#: InvenTree/models.py:899 build/models.py:194 +#: InvenTree/models.py:913 build/models.py:217 #: build/templates/build/detail.html:24 common/models.py:136 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 label/models.py:127 -#: order/models.py:277 order/models.py:1316 part/admin.py:303 part/admin.py:414 -#: part/models.py:878 part/models.py:3631 part/templates/part/category.html:82 +#: company/templates/company/supplier_part.html:107 order/models.py:290 +#: order/models.py:1356 part/admin.py:305 part/admin.py:416 part/models.py:921 +#: part/models.py:3674 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 -#: part/templates/part/part_scheduling.html:12 report/models.py:189 -#: report/models.py:655 report/models.py:729 -#: report/templates/report/inventree_build_order_base.html:117 +#: part/templates/part/part_scheduling.html:12 report/models.py:155 +#: report/models.py:510 report/models.py:536 +#: report/templates/report/inventree_build_order_report.html:117 #: stock/admin.py:55 stock/models.py:82 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 @@ -530,71 +530,71 @@ msgstr "" #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 -#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2896 +#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2354 +#: templates/js/translated/part.js:2784 templates/js/translated/part.js:2895 #: templates/js/translated/plugin.js:80 -#: templates/js/translated/purchase_order.js:1707 -#: templates/js/translated/purchase_order.js:1850 -#: templates/js/translated/purchase_order.js:2023 -#: templates/js/translated/return_order.js:314 -#: templates/js/translated/sales_order.js:802 -#: templates/js/translated/sales_order.js:1812 -#: templates/js/translated/stock.js:1515 templates/js/translated/stock.js:2060 -#: templates/js/translated/stock.js:2751 templates/js/translated/stock.js:2834 +#: templates/js/translated/purchase_order.js:1706 +#: templates/js/translated/purchase_order.js:1849 +#: templates/js/translated/purchase_order.js:2022 +#: templates/js/translated/return_order.js:313 +#: templates/js/translated/sales_order.js:838 +#: templates/js/translated/sales_order.js:1848 +#: templates/js/translated/stock.js:1515 templates/js/translated/stock.js:2058 +#: templates/js/translated/stock.js:2748 templates/js/translated/stock.js:2831 msgid "Description" msgstr "" -#: InvenTree/models.py:900 stock/models.py:83 +#: InvenTree/models.py:914 stock/models.py:83 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:909 +#: InvenTree/models.py:923 msgid "parent" msgstr "" -#: InvenTree/models.py:915 templates/js/translated/part.js:2794 -#: templates/js/translated/stock.js:2760 +#: InvenTree/models.py:929 templates/js/translated/part.js:2793 +#: templates/js/translated/stock.js:2757 msgid "Path" msgstr "" -#: InvenTree/models.py:1021 +#: InvenTree/models.py:1035 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:1050 +#: InvenTree/models.py:1064 msgid "Barcode Data" msgstr "" -#: InvenTree/models.py:1051 +#: InvenTree/models.py:1065 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:1057 +#: InvenTree/models.py:1071 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:1058 +#: InvenTree/models.py:1072 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:1111 +#: InvenTree/models.py:1125 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:1154 +#: InvenTree/models.py:1168 msgid "Server Error" msgstr "" -#: InvenTree/models.py:1155 +#: InvenTree/models.py:1169 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:62 part/models.py:4169 +#: InvenTree/serializers.py:62 part/models.py:4212 msgid "Must be a valid number" msgstr "" #: InvenTree/serializers.py:99 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:2993 +#: company/templates/company/company_base.html:112 part/models.py:3036 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -686,7 +686,7 @@ msgstr "" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1161 +#: InvenTree/status.py:66 part/serializers.py:1176 msgid "Background worker check failed" msgstr "" @@ -699,8 +699,8 @@ msgid "InvenTree system health checks failed" msgstr "" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:37 -#: InvenTree/status_codes.py:148 InvenTree/status_codes.py:164 -#: InvenTree/status_codes.py:182 generic/states/tests.py:17 +#: InvenTree/status_codes.py:149 InvenTree/status_codes.py:165 +#: InvenTree/status_codes.py:183 generic/states/tests.py:17 #: templates/js/translated/table_filters.js:598 msgid "Pending" msgstr "" @@ -709,188 +709,188 @@ msgstr "" msgid "Placed" msgstr "" -#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:151 -#: InvenTree/status_codes.py:169 generic/states/tests.py:19 -#: order/templates/order/order_base.html:158 -#: order/templates/order/sales_order_base.html:161 +#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:44 +#: InvenTree/status_codes.py:152 InvenTree/status_codes.py:170 +#: generic/states/tests.py:19 order/templates/order/order_base.html:158 +#: order/templates/order/sales_order_base.html:165 report/models.py:444 msgid "Complete" msgstr "" -#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:44 -#: InvenTree/status_codes.py:150 InvenTree/status_codes.py:170 +#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:45 +#: InvenTree/status_codes.py:151 InvenTree/status_codes.py:171 msgid "Cancelled" msgstr "" -#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:45 -#: InvenTree/status_codes.py:67 +#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:46 +#: InvenTree/status_codes.py:68 msgid "Lost" msgstr "" -#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:46 -#: InvenTree/status_codes.py:73 +#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:47 +#: InvenTree/status_codes.py:74 msgid "Returned" msgstr "" -#: InvenTree/status_codes.py:40 InvenTree/status_codes.py:167 +#: InvenTree/status_codes.py:40 InvenTree/status_codes.py:168 msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:43 order/models.py:1566 -#: templates/js/translated/sales_order.js:1523 -#: templates/js/translated/sales_order.js:1644 -#: templates/js/translated/sales_order.js:1957 +#: InvenTree/status_codes.py:43 order/models.py:1606 +#: templates/js/translated/sales_order.js:1559 +#: templates/js/translated/sales_order.js:1680 +#: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "" -#: InvenTree/status_codes.py:62 +#: InvenTree/status_codes.py:63 msgid "OK" msgstr "" -#: InvenTree/status_codes.py:63 +#: InvenTree/status_codes.py:64 msgid "Attention needed" msgstr "" -#: InvenTree/status_codes.py:64 +#: InvenTree/status_codes.py:65 msgid "Damaged" msgstr "" -#: InvenTree/status_codes.py:65 +#: InvenTree/status_codes.py:66 msgid "Destroyed" msgstr "" -#: InvenTree/status_codes.py:66 +#: InvenTree/status_codes.py:67 msgid "Rejected" msgstr "" -#: InvenTree/status_codes.py:70 +#: InvenTree/status_codes.py:71 msgid "Quarantined" msgstr "" -#: InvenTree/status_codes.py:91 +#: InvenTree/status_codes.py:92 msgid "Legacy stock tracking entry" msgstr "" -#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:544 +#: InvenTree/status_codes.py:94 templates/js/translated/stock.js:544 msgid "Stock item created" msgstr "" -#: InvenTree/status_codes.py:96 +#: InvenTree/status_codes.py:97 msgid "Edited stock item" msgstr "" -#: InvenTree/status_codes.py:97 +#: InvenTree/status_codes.py:98 msgid "Assigned serial number" msgstr "" -#: InvenTree/status_codes.py:100 +#: InvenTree/status_codes.py:101 msgid "Stock counted" msgstr "" -#: InvenTree/status_codes.py:101 +#: InvenTree/status_codes.py:102 msgid "Stock manually added" msgstr "" -#: InvenTree/status_codes.py:102 +#: InvenTree/status_codes.py:103 msgid "Stock manually removed" msgstr "" -#: InvenTree/status_codes.py:105 +#: InvenTree/status_codes.py:106 msgid "Location changed" msgstr "" -#: InvenTree/status_codes.py:106 +#: InvenTree/status_codes.py:107 msgid "Stock updated" msgstr "" -#: InvenTree/status_codes.py:109 +#: InvenTree/status_codes.py:110 msgid "Installed into assembly" msgstr "" -#: InvenTree/status_codes.py:110 +#: InvenTree/status_codes.py:111 msgid "Removed from assembly" msgstr "" -#: InvenTree/status_codes.py:112 +#: InvenTree/status_codes.py:113 msgid "Installed component item" msgstr "" -#: InvenTree/status_codes.py:113 +#: InvenTree/status_codes.py:114 msgid "Removed component item" msgstr "" -#: InvenTree/status_codes.py:116 +#: InvenTree/status_codes.py:117 msgid "Split from parent item" msgstr "" -#: InvenTree/status_codes.py:117 +#: InvenTree/status_codes.py:118 msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1858 +#: InvenTree/status_codes.py:121 templates/js/translated/stock.js:1858 msgid "Merged stock items" msgstr "" -#: InvenTree/status_codes.py:123 +#: InvenTree/status_codes.py:124 msgid "Converted to variant" msgstr "" -#: InvenTree/status_codes.py:126 +#: InvenTree/status_codes.py:127 msgid "Build order output created" msgstr "" -#: InvenTree/status_codes.py:127 +#: InvenTree/status_codes.py:128 msgid "Build order output completed" msgstr "" -#: InvenTree/status_codes.py:128 +#: InvenTree/status_codes.py:129 msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1764 +#: InvenTree/status_codes.py:130 templates/js/translated/stock.js:1764 msgid "Consumed by build order" msgstr "" -#: InvenTree/status_codes.py:132 +#: InvenTree/status_codes.py:133 msgid "Shipped against Sales Order" msgstr "" -#: InvenTree/status_codes.py:135 +#: InvenTree/status_codes.py:136 msgid "Received against Purchase Order" msgstr "" -#: InvenTree/status_codes.py:138 +#: InvenTree/status_codes.py:139 msgid "Returned against Return Order" msgstr "" -#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:375 +#: InvenTree/status_codes.py:142 templates/js/translated/table_filters.js:375 msgid "Sent to customer" msgstr "" -#: InvenTree/status_codes.py:142 +#: InvenTree/status_codes.py:143 msgid "Returned from customer" msgstr "" -#: InvenTree/status_codes.py:149 +#: InvenTree/status_codes.py:150 msgid "Production" msgstr "" -#: InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:186 msgid "Return" msgstr "" -#: InvenTree/status_codes.py:188 +#: InvenTree/status_codes.py:189 msgid "Repair" msgstr "" -#: InvenTree/status_codes.py:191 +#: InvenTree/status_codes.py:192 msgid "Replace" msgstr "" -#: InvenTree/status_codes.py:194 +#: InvenTree/status_codes.py:195 msgid "Refund" msgstr "" -#: InvenTree/status_codes.py:197 +#: InvenTree/status_codes.py:198 msgid "Reject" msgstr "" @@ -946,14 +946,14 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:299 part/models.py:4047 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4090 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4041 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4084 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -969,7 +969,7 @@ msgstr "" #: build/api.py:303 part/admin.py:144 templates/js/translated/build.js:1744 #: templates/js/translated/build.js:2629 -#: templates/js/translated/sales_order.js:1929 +#: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "" @@ -980,7 +980,7 @@ msgstr "" #: templates/email/low_stock_notification.html:17 #: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 #: templates/js/translated/index.js:123 -#: templates/js/translated/model_renderers.js:228 +#: templates/js/translated/model_renderers.js:234 #: templates/js/translated/part.js:692 templates/js/translated/part.js:694 #: templates/js/translated/part.js:699 #: templates/js/translated/table_filters.js:340 @@ -988,16 +988,16 @@ msgstr "" msgid "Available" msgstr "" -#: build/models.py:74 build/templates/build/build_base.html:9 +#: build/models.py:82 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 -#: report/templates/report/inventree_build_order_base.html:105 -#: templates/email/build_order_completed.html:16 +#: report/templates/report/inventree_build_order_report.html:105 +#: stock/serializers.py:83 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2895 +#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2892 msgid "Build Order" msgstr "" -#: build/models.py:75 build/templates/build/build_base.html:13 +#: build/models.py:83 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -1008,71 +1008,71 @@ msgstr "" msgid "Build Orders" msgstr "" -#: build/models.py:122 +#: build/models.py:130 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:133 order/models.py:239 +#: build/models.py:141 order/models.py:241 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:139 +#: build/models.py:147 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:185 +#: build/models.py:208 msgid "Build Order Reference" msgstr "" -#: build/models.py:186 order/models.py:442 order/models.py:898 -#: order/models.py:1276 order/models.py:1998 part/admin.py:417 -#: part/models.py:4062 part/templates/part/upload_bom.html:54 +#: build/models.py:209 order/models.py:464 order/models.py:929 +#: order/models.py:1316 order/models.py:2047 part/admin.py:419 +#: part/models.py:4105 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 -#: report/templates/report/inventree_so_report_base.html:28 +#: report/templates/report/inventree_purchase_order_report.html:28 +#: report/templates/report/inventree_return_order_report.html:26 +#: report/templates/report/inventree_sales_order_report.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 #: templates/js/translated/build.js:2512 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 -#: templates/js/translated/purchase_order.js:2066 -#: templates/js/translated/return_order.js:729 -#: templates/js/translated/sales_order.js:1818 +#: templates/js/translated/purchase_order.js:2065 +#: templates/js/translated/return_order.js:728 +#: templates/js/translated/sales_order.js:1854 msgid "Reference" msgstr "" -#: build/models.py:197 +#: build/models.py:220 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:205 build/templates/build/build_base.html:183 +#: build/models.py:228 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:206 +#: build/models.py:229 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:211 build/templates/build/build_base.html:97 +#: build/models.py:234 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 -#: order/models.py:1401 order/models.py:1546 order/models.py:1547 -#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004 -#: part/models.py:3148 part/models.py:3292 part/models.py:3315 -#: part/models.py:3336 part/models.py:3358 part/models.py:3468 -#: part/models.py:3764 part/models.py:3920 part/models.py:4013 -#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713 +#: order/models.py:1441 order/models.py:1586 order/models.py:1587 +#: part/api.py:1501 part/api.py:1795 part/models.py:392 part/models.py:3047 +#: part/models.py:3191 part/models.py:3335 part/models.py:3358 +#: part/models.py:3379 part/models.py:3401 part/models.py:3511 +#: part/models.py:3807 part/models.py:3963 part/models.py:4056 +#: part/models.py:4417 part/serializers.py:1122 part/serializers.py:1728 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 -#: report/templates/report/inventree_build_order_base.html:109 -#: report/templates/report/inventree_po_report_base.html:27 -#: report/templates/report/inventree_return_order_report_base.html:24 -#: report/templates/report/inventree_slr_report.html:102 -#: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:267 stock/serializers.py:689 -#: templates/InvenTree/search.html:82 +#: report/templates/report/inventree_build_order_report.html:109 +#: report/templates/report/inventree_purchase_order_report.html:27 +#: report/templates/report/inventree_return_order_report.html:24 +#: report/templates/report/inventree_sales_order_report.html:27 +#: report/templates/report/inventree_stock_location_report.html:102 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:396 +#: stock/serializers.py:818 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -1086,235 +1086,239 @@ msgstr "" #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 #: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 -#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:2323 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:751 #: templates/js/translated/purchase_order.js:1304 -#: templates/js/translated/purchase_order.js:1849 -#: templates/js/translated/purchase_order.js:2008 -#: templates/js/translated/return_order.js:539 -#: templates/js/translated/return_order.js:710 +#: templates/js/translated/purchase_order.js:1848 +#: templates/js/translated/purchase_order.js:2007 +#: templates/js/translated/return_order.js:538 +#: templates/js/translated/return_order.js:709 #: templates/js/translated/sales_order.js:300 -#: templates/js/translated/sales_order.js:1197 -#: templates/js/translated/sales_order.js:1598 -#: templates/js/translated/sales_order.js:1796 +#: templates/js/translated/sales_order.js:1233 +#: templates/js/translated/sales_order.js:1634 +#: templates/js/translated/sales_order.js:1832 #: templates/js/translated/stock.js:676 templates/js/translated/stock.js:842 -#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1999 -#: templates/js/translated/stock.js:2860 templates/js/translated/stock.js:3093 -#: templates/js/translated/stock.js:3239 +#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1997 +#: templates/js/translated/stock.js:2857 templates/js/translated/stock.js:3090 +#: templates/js/translated/stock.js:3236 msgid "Part" msgstr "" -#: build/models.py:219 +#: build/models.py:242 msgid "Select part to build" msgstr "" -#: build/models.py:224 +#: build/models.py:247 msgid "Sales Order Reference" msgstr "" -#: build/models.py:228 +#: build/models.py:251 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:233 build/serializers.py:970 +#: build/models.py:256 build/serializers.py:969 #: templates/js/translated/build.js:1731 -#: templates/js/translated/sales_order.js:1185 +#: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "" -#: build/models.py:237 +#: build/models.py:260 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:242 +#: build/models.py:265 msgid "Destination Location" msgstr "" -#: build/models.py:246 +#: build/models.py:269 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:250 +#: build/models.py:273 msgid "Build Quantity" msgstr "" -#: build/models.py:253 +#: build/models.py:276 msgid "Number of stock items to build" msgstr "" -#: build/models.py:257 +#: build/models.py:280 msgid "Completed items" msgstr "" -#: build/models.py:259 +#: build/models.py:282 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:263 +#: build/models.py:286 msgid "Build Status" msgstr "" -#: build/models.py:267 +#: build/models.py:290 msgid "Build status code" msgstr "" -#: build/models.py:276 build/serializers.py:278 order/serializers.py:581 -#: stock/models.py:823 stock/serializers.py:1333 +#: build/models.py:299 build/serializers.py:277 order/serializers.py:581 +#: stock/models.py:844 stock/serializers.py:75 stock/serializers.py:1462 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" -#: build/models.py:280 build/serializers.py:279 +#: build/models.py:303 build/serializers.py:278 msgid "Batch code for this build output" msgstr "" -#: build/models.py:283 order/models.py:304 order/serializers.py:120 -#: part/models.py:1079 part/templates/part/part_base.html:310 -#: templates/js/translated/return_order.js:339 -#: templates/js/translated/sales_order.js:827 +#: build/models.py:306 order/models.py:317 order/serializers.py:120 +#: part/models.py:1122 part/templates/part/part_base.html:310 +#: templates/js/translated/return_order.js:338 +#: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "" -#: build/models.py:287 +#: build/models.py:310 msgid "Target completion date" msgstr "" -#: build/models.py:288 +#: build/models.py:311 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:291 order/models.py:500 order/models.py:2043 +#: build/models.py:314 order/models.py:522 order/models.py:2092 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "" -#: build/models.py:297 +#: build/models.py:320 msgid "completed by" msgstr "" -#: build/models.py:305 templates/js/translated/build.js:2207 +#: build/models.py:328 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "" -#: build/models.py:306 +#: build/models.py:329 msgid "User who issued this build order" msgstr "" -#: build/models.py:314 build/templates/build/build_base.html:204 +#: build/models.py:337 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:145 -#: order/models.py:322 order/templates/order/order_base.html:217 +#: order/models.py:335 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1096 +#: order/templates/order/sales_order_base.html:232 part/models.py:1139 #: part/templates/part/part_base.html:390 -#: report/templates/report/inventree_build_order_base.html:158 +#: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 #: templates/js/translated/build.js:2219 -#: templates/js/translated/purchase_order.js:1764 -#: templates/js/translated/return_order.js:359 +#: templates/js/translated/purchase_order.js:1763 +#: templates/js/translated/return_order.js:358 #: templates/js/translated/table_filters.js:531 msgid "Responsible" msgstr "" -#: build/models.py:315 +#: build/models.py:338 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:320 build/templates/build/detail.html:108 +#: build/models.py:343 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 -#: order/templates/order/sales_order_base.html:180 -#: part/templates/part/part_base.html:383 stock/models.py:819 +#: order/templates/order/sales_order_base.html:184 +#: part/templates/part/part_base.html:383 stock/models.py:840 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "" -#: build/models.py:325 +#: build/models.py:348 msgid "Build Priority" msgstr "" -#: build/models.py:328 +#: build/models.py:351 msgid "Priority of this build order" msgstr "" -#: build/models.py:335 common/models.py:129 order/admin.py:18 -#: order/models.py:286 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:358 common/models.py:129 order/admin.py:18 +#: order/models.py:299 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 -#: templates/js/translated/purchase_order.js:1711 -#: templates/js/translated/return_order.js:318 -#: templates/js/translated/sales_order.js:806 +#: templates/js/translated/purchase_order.js:1710 +#: templates/js/translated/return_order.js:317 +#: templates/js/translated/sales_order.js:842 #: templates/js/translated/table_filters.js:48 #: templates/project_code_data.html:6 msgid "Project Code" msgstr "" -#: build/models.py:336 +#: build/models.py:359 msgid "Project code for this build order" msgstr "" -#: build/models.py:566 build/models.py:631 +#: build/models.py:589 build/models.py:654 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:588 +#: build/models.py:611 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:594 +#: build/models.py:617 msgid "A build order has been completed" msgstr "" -#: build/models.py:820 build/models.py:895 +#: build/models.py:843 build/models.py:918 msgid "No build output specified" msgstr "" -#: build/models.py:823 +#: build/models.py:846 msgid "Build output is already completed" msgstr "" -#: build/models.py:826 +#: build/models.py:849 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:899 build/serializers.py:221 build/serializers.py:260 -#: build/serializers.py:837 order/models.py:538 order/serializers.py:433 -#: order/serializers.py:576 part/serializers.py:1471 part/serializers.py:1871 -#: stock/models.py:662 stock/models.py:1482 stock/serializers.py:472 +#: build/models.py:922 build/serializers.py:220 build/serializers.py:259 +#: build/serializers.py:836 order/models.py:560 order/serializers.py:433 +#: order/serializers.py:576 part/serializers.py:1486 part/serializers.py:1886 +#: stock/models.py:683 stock/models.py:1503 stock/serializers.py:601 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:904 build/serializers.py:226 +#: build/models.py:927 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:961 build/serializers.py:539 +#: build/models.py:984 build/serializers.py:538 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1323 +#: build/models.py:1335 +msgid "Build Order Line Item" +msgstr "" + +#: build/models.py:1360 msgid "Build object" msgstr "" -#: build/models.py:1337 build/models.py:1593 build/serializers.py:208 -#: build/serializers.py:245 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2524 -#: order/models.py:1259 order/models.py:1918 order/serializers.py:1339 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 -#: part/forms.py:48 part/models.py:3162 part/models.py:4035 +#: build/models.py:1374 build/models.py:1630 build/serializers.py:207 +#: build/serializers.py:244 build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2530 +#: order/models.py:1299 order/models.py:1958 order/serializers.py:1339 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 +#: part/forms.py:48 part/models.py:3205 part/models.py:4078 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 -#: report/templates/report/inventree_build_order_base.html:113 -#: report/templates/report/inventree_po_report_base.html:29 -#: report/templates/report/inventree_slr_report.html:104 -#: report/templates/report/inventree_so_report_base.html:29 -#: report/templates/report/inventree_test_report_base.html:90 -#: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:160 stock/serializers.py:463 +#: report/templates/report/inventree_build_order_report.html:113 +#: report/templates/report/inventree_purchase_order_report.html:29 +#: report/templates/report/inventree_sales_order_report.html:29 +#: report/templates/report/inventree_stock_location_report.html:104 +#: report/templates/report/inventree_test_report.html:90 +#: report/templates/report/inventree_test_report.html:170 stock/admin.py:160 +#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:592 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1324,380 +1328,381 @@ msgstr "" #: templates/js/translated/build.js:737 templates/js/translated/build.js:1369 #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 -#: templates/js/translated/model_renderers.js:230 +#: templates/js/translated/model_renderers.js:236 #: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3341 +#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3340 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 #: templates/js/translated/purchase_order.js:754 -#: templates/js/translated/purchase_order.js:1853 -#: templates/js/translated/purchase_order.js:2072 +#: templates/js/translated/purchase_order.js:1852 +#: templates/js/translated/purchase_order.js:2071 #: templates/js/translated/sales_order.js:317 -#: templates/js/translated/sales_order.js:1199 -#: templates/js/translated/sales_order.js:1518 -#: templates/js/translated/sales_order.js:1608 -#: templates/js/translated/sales_order.js:1698 -#: templates/js/translated/sales_order.js:1824 +#: templates/js/translated/sales_order.js:1235 +#: templates/js/translated/sales_order.js:1554 +#: templates/js/translated/sales_order.js:1644 +#: templates/js/translated/sales_order.js:1734 +#: templates/js/translated/sales_order.js:1860 #: templates/js/translated/stock.js:564 templates/js/translated/stock.js:702 -#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:3024 -#: templates/js/translated/stock.js:3107 +#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:3021 +#: templates/js/translated/stock.js:3104 msgid "Quantity" msgstr "" -#: build/models.py:1338 +#: build/models.py:1375 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1418 +#: build/models.py:1455 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1427 +#: build/models.py:1464 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1437 order/models.py:1869 +#: build/models.py:1474 order/models.py:1909 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1443 order/models.py:1872 +#: build/models.py:1480 order/models.py:1912 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1449 +#: build/models.py:1486 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1508 +#: build/models.py:1545 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1580 build/serializers.py:817 order/serializers.py:1183 -#: order/serializers.py:1204 stock/serializers.py:566 stock/serializers.py:1052 -#: stock/serializers.py:1164 stock/templates/stock/item_base.html:10 +#: build/models.py:1617 build/serializers.py:816 order/serializers.py:1183 +#: order/serializers.py:1204 stock/models.py:364 stock/serializers.py:92 +#: stock/serializers.py:695 stock/serializers.py:1181 stock/serializers.py:1293 +#: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 #: templates/js/translated/build.js:1745 #: templates/js/translated/sales_order.js:301 -#: templates/js/translated/sales_order.js:1198 -#: templates/js/translated/sales_order.js:1499 -#: templates/js/translated/sales_order.js:1504 -#: templates/js/translated/sales_order.js:1605 -#: templates/js/translated/sales_order.js:1692 +#: templates/js/translated/sales_order.js:1234 +#: templates/js/translated/sales_order.js:1535 +#: templates/js/translated/sales_order.js:1540 +#: templates/js/translated/sales_order.js:1641 +#: templates/js/translated/sales_order.js:1728 #: templates/js/translated/stock.js:677 templates/js/translated/stock.js:843 -#: templates/js/translated/stock.js:2980 +#: templates/js/translated/stock.js:2977 msgid "Stock Item" msgstr "" -#: build/models.py:1581 +#: build/models.py:1618 msgid "Source stock item" msgstr "" -#: build/models.py:1594 +#: build/models.py:1631 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1602 +#: build/models.py:1639 msgid "Install into" msgstr "" -#: build/models.py:1603 +#: build/models.py:1640 msgid "Destination stock item" msgstr "" -#: build/serializers.py:158 build/serializers.py:846 +#: build/serializers.py:157 build/serializers.py:845 #: templates/js/translated/build.js:1322 msgid "Build Output" msgstr "" -#: build/serializers.py:170 +#: build/serializers.py:169 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:174 +#: build/serializers.py:173 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:178 +#: build/serializers.py:177 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:189 +#: build/serializers.py:188 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:209 build/serializers.py:246 +#: build/serializers.py:208 build/serializers.py:245 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:267 +#: build/serializers.py:266 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:270 +#: build/serializers.py:269 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:285 order/serializers.py:589 order/serializers.py:1343 -#: stock/serializers.py:483 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:284 order/serializers.py:589 order/serializers.py:1343 +#: stock/serializers.py:612 templates/js/translated/purchase_order.js:1153 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:286 +#: build/serializers.py:285 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:291 build/serializers.py:432 build/serializers.py:504 +#: build/serializers.py:290 build/serializers.py:431 build/serializers.py:503 #: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1679 -#: part/serializers.py:1127 stock/serializers.py:494 stock/serializers.py:654 -#: stock/serializers.py:750 stock/serializers.py:1196 stock/serializers.py:1452 -#: stock/templates/stock/item_base.html:394 +#: part/serializers.py:1142 stock/serializers.py:101 stock/serializers.py:623 +#: stock/serializers.py:783 stock/serializers.py:879 stock/serializers.py:1325 +#: stock/serializers.py:1581 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 #: templates/js/translated/purchase_order.js:1178 #: templates/js/translated/purchase_order.js:1268 -#: templates/js/translated/sales_order.js:1511 -#: templates/js/translated/sales_order.js:1619 -#: templates/js/translated/sales_order.js:1627 -#: templates/js/translated/sales_order.js:1706 +#: templates/js/translated/sales_order.js:1547 +#: templates/js/translated/sales_order.js:1655 +#: templates/js/translated/sales_order.js:1663 +#: templates/js/translated/sales_order.js:1742 #: templates/js/translated/stock.js:678 templates/js/translated/stock.js:844 -#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2203 -#: templates/js/translated/stock.js:2874 +#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2201 +#: templates/js/translated/stock.js:2871 msgid "Location" msgstr "" -#: build/serializers.py:292 +#: build/serializers.py:291 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:306 +#: build/serializers.py:305 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:307 +#: build/serializers.py:306 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:322 +#: build/serializers.py:321 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:347 stock/api.py:995 +#: build/serializers.py:346 stock/api.py:1029 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:394 build/serializers.py:456 build/serializers.py:545 +#: build/serializers.py:393 build/serializers.py:455 build/serializers.py:544 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:433 +#: build/serializers.py:432 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:439 +#: build/serializers.py:438 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:440 +#: build/serializers.py:439 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:445 +#: build/serializers.py:444 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:505 +#: build/serializers.py:504 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:511 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:922 -#: order/models.py:2022 order/serializers.py:597 stock/admin.py:165 -#: stock/serializers.py:801 stock/serializers.py:1340 +#: build/serializers.py:510 build/templates/build/build_base.html:151 +#: build/templates/build/detail.html:62 order/models.py:953 +#: order/models.py:2071 order/serializers.py:597 stock/admin.py:165 +#: stock/serializers.py:930 stock/serializers.py:1469 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 -#: templates/js/translated/purchase_order.js:1723 -#: templates/js/translated/return_order.js:331 -#: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2178 templates/js/translated/stock.js:2998 -#: templates/js/translated/stock.js:3123 +#: templates/js/translated/purchase_order.js:1722 +#: templates/js/translated/return_order.js:330 +#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/stock.js:2176 templates/js/translated/stock.js:2995 +#: templates/js/translated/stock.js:3120 msgid "Status" msgstr "" -#: build/serializers.py:517 +#: build/serializers.py:516 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:518 +#: build/serializers.py:517 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:598 +#: build/serializers.py:597 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:599 +#: build/serializers.py:598 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:605 +#: build/serializers.py:604 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:606 +#: build/serializers.py:605 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:633 +#: build/serializers.py:632 msgid "Not permitted" msgstr "" -#: build/serializers.py:634 +#: build/serializers.py:633 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:635 +#: build/serializers.py:634 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:657 +#: build/serializers.py:656 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:659 +#: build/serializers.py:658 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:669 +#: build/serializers.py:668 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:674 +#: build/serializers.py:673 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:675 +#: build/serializers.py:674 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:685 templates/js/translated/build.js:315 +#: build/serializers.py:684 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:690 order/serializers.py:301 order/serializers.py:1246 +#: build/serializers.py:689 order/serializers.py:301 order/serializers.py:1246 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:691 +#: build/serializers.py:690 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:701 templates/js/translated/build.js:319 +#: build/serializers.py:700 templates/js/translated/build.js:319 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:710 templates/js/translated/build.js:303 +#: build/serializers.py:709 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:740 +#: build/serializers.py:739 msgid "Build Line" msgstr "" -#: build/serializers.py:750 +#: build/serializers.py:749 msgid "Build output" msgstr "" -#: build/serializers.py:758 +#: build/serializers.py:757 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:794 +#: build/serializers.py:793 msgid "Build Line Item" msgstr "" -#: build/serializers.py:808 +#: build/serializers.py:807 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:823 stock/serializers.py:1065 +#: build/serializers.py:822 stock/serializers.py:1194 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:871 order/serializers.py:1237 +#: build/serializers.py:870 order/serializers.py:1237 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:877 +#: build/serializers.py:876 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:884 +#: build/serializers.py:883 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:908 order/serializers.py:1489 +#: build/serializers.py:907 order/serializers.py:1489 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:971 +#: build/serializers.py:970 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:979 +#: build/serializers.py:978 msgid "Exclude Location" msgstr "" -#: build/serializers.py:980 +#: build/serializers.py:979 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:985 +#: build/serializers.py:984 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:986 +#: build/serializers.py:985 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:991 +#: build/serializers.py:990 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:992 +#: build/serializers.py:991 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:997 +#: build/serializers.py:996 msgid "Optional Items" msgstr "" -#: build/serializers.py:998 +#: build/serializers.py:997 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1020 +#: build/serializers.py:1019 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1110 part/models.py:3930 part/models.py:4366 -#: stock/api.py:758 +#: build/serializers.py:1109 part/models.py:3973 part/models.py:4409 +#: stock/api.py:792 msgid "BOM Item" msgstr "" -#: build/serializers.py:1119 templates/js/translated/index.js:130 +#: build/serializers.py:1118 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1124 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:817 part/serializers.py:1489 +#: build/serializers.py:1123 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:832 part/serializers.py:1504 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 @@ -1705,15 +1710,15 @@ msgstr "" msgid "On Order" msgstr "" -#: build/serializers.py:1129 part/serializers.py:1491 +#: build/serializers.py:1128 part/serializers.py:1506 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1134 part/bom.py:172 part/serializers.py:1514 +#: build/serializers.py:1133 part/bom.py:172 part/serializers.py:1529 #: part/templates/part/part_base.html:192 -#: templates/js/translated/sales_order.js:1893 +#: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "" @@ -1842,18 +1847,18 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:297 -#: order/models.py:1294 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:310 +#: order/models.py:1334 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 -#: order/templates/order/sales_order_base.html:192 -#: report/templates/report/inventree_build_order_base.html:125 +#: order/templates/order/sales_order_base.html:196 +#: report/templates/report/inventree_build_order_report.html:125 #: templates/js/translated/build.js:2239 templates/js/translated/part.js:1830 -#: templates/js/translated/purchase_order.js:1740 -#: templates/js/translated/purchase_order.js:2148 -#: templates/js/translated/return_order.js:347 -#: templates/js/translated/return_order.js:751 -#: templates/js/translated/sales_order.js:835 -#: templates/js/translated/sales_order.js:1867 +#: templates/js/translated/purchase_order.js:1739 +#: templates/js/translated/purchase_order.js:2147 +#: templates/js/translated/return_order.js:346 +#: templates/js/translated/return_order.js:750 +#: templates/js/translated/sales_order.js:871 +#: templates/js/translated/sales_order.js:1903 msgid "Target Date" msgstr "" @@ -1866,7 +1871,7 @@ msgstr "" #: build/templates/build/build_base.html:222 #: order/templates/order/order_base.html:122 #: order/templates/order/return_order_base.html:117 -#: order/templates/order/sales_order_base.html:122 +#: order/templates/order/sales_order_base.html:126 #: templates/js/translated/table_filters.js:98 #: templates/js/translated/table_filters.js:524 #: templates/js/translated/table_filters.js:626 @@ -1880,24 +1885,24 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:1538 -#: order/models.py:1652 order/models.py:1806 +#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:848 +#: order/models.py:1578 order/models.py:1692 order/models.py:1846 #: 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 +#: report/templates/report/inventree_build_order_report.html:135 +#: report/templates/report/inventree_sales_order_report.html:14 #: stock/templates/stock/item_base.html:369 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:929 -#: templates/js/translated/sales_order.js:769 -#: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2927 +#: templates/js/translated/sales_order.js:805 +#: templates/js/translated/sales_order.js:1028 +#: templates/js/translated/stock.js:2924 msgid "Sales Order" msgstr "" #: build/templates/build/build_base.html:197 #: build/templates/build/detail.html:115 -#: report/templates/report/inventree_build_order_base.html:152 +#: report/templates/report/inventree_build_order_report.html:152 #: templates/js/translated/table_filters.js:24 msgid "Issued By" msgstr "" @@ -1907,15 +1912,15 @@ msgstr "" msgid "Priority" msgstr "" -#: build/templates/build/build_base.html:273 +#: build/templates/build/build_base.html:269 msgid "Delete Build Order" msgstr "" -#: build/templates/build/build_base.html:283 +#: build/templates/build/build_base.html:279 msgid "Build Order QR Code" msgstr "" -#: build/templates/build/build_base.html:295 +#: build/templates/build/build_base.html:291 msgid "Link Barcode to Build Order" msgstr "" @@ -1931,8 +1936,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1430 -#: templates/js/translated/purchase_order.js:2190 +#: build/templates/build/detail.html:49 order/models.py:1470 +#: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "" @@ -1947,10 +1952,10 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 #: templates/js/translated/build.js:1380 -#: templates/js/translated/model_renderers.js:235 +#: templates/js/translated/model_renderers.js:241 #: templates/js/translated/purchase_order.js:1274 -#: templates/js/translated/stock.js:1133 templates/js/translated/stock.js:2192 -#: templates/js/translated/stock.js:3130 +#: templates/js/translated/stock.js:1133 templates/js/translated/stock.js:2190 +#: templates/js/translated/stock.js:3127 #: templates/js/translated/table_filters.js:313 #: templates/js/translated/table_filters.js:404 msgid "Batch" @@ -1959,7 +1964,7 @@ msgstr "" #: build/templates/build/detail.html:133 #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:151 -#: order/templates/order/sales_order_base.html:186 +#: order/templates/order/sales_order_base.html:190 #: templates/js/translated/build.js:2199 msgid "Created" msgstr "" @@ -1969,7 +1974,7 @@ msgid "No target date set" msgstr "" #: build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:202 +#: order/templates/order/sales_order_base.html:206 #: templates/js/translated/table_filters.js:689 msgid "Completed" msgstr "" @@ -2260,8 +2265,8 @@ msgstr "" #: common/models.py:1316 common/models.py:1372 common/models.py:1385 #: common/models.py:1393 common/models.py:1402 common/models.py:1411 -#: common/models.py:1613 common/models.py:1635 common/models.py:1750 -#: common/models.py:2061 +#: common/models.py:1619 common/models.py:1641 common/models.py:1756 +#: common/models.py:2067 msgid "days" msgstr "" @@ -2402,1209 +2407,1218 @@ msgid "Enable revision field for Part" msgstr "" #: common/models.py:1440 -msgid "IPN Regex" +msgid "Allow Deletion from Assembly" msgstr "" #: common/models.py:1441 +msgid "Allow deletion of parts which are used in an assembly" +msgstr "" + +#: common/models.py:1446 +msgid "IPN Regex" +msgstr "" + +#: common/models.py:1447 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1444 +#: common/models.py:1450 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1445 +#: common/models.py:1451 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1450 +#: common/models.py:1456 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1451 +#: common/models.py:1457 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1456 +#: common/models.py:1462 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1457 +#: common/models.py:1463 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1462 +#: common/models.py:1468 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1463 +#: common/models.py:1469 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1468 +#: common/models.py:1474 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1469 +#: common/models.py:1475 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1474 +#: common/models.py:1480 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1475 +#: common/models.py:1481 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1480 part/admin.py:108 part/models.py:3772 -#: report/models.py:182 stock/serializers.py:99 +#: common/models.py:1486 part/admin.py:108 part/models.py:3815 +#: report/models.py:294 report/models.py:361 report/serializers.py:90 +#: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:767 msgid "Template" msgstr "" -#: common/models.py:1481 +#: common/models.py:1487 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1486 part/admin.py:91 part/admin.py:431 part/models.py:1016 +#: common/models.py:1492 part/admin.py:91 part/admin.py:433 part/models.py:1059 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "" -#: common/models.py:1487 +#: common/models.py:1493 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1492 part/admin.py:95 part/models.py:1022 +#: common/models.py:1498 part/admin.py:95 part/models.py:1065 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "" -#: common/models.py:1493 +#: common/models.py:1499 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1498 part/admin.py:100 part/models.py:1034 +#: common/models.py:1504 part/admin.py:100 part/models.py:1077 msgid "Purchaseable" msgstr "" -#: common/models.py:1499 +#: common/models.py:1505 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1504 part/admin.py:104 part/models.py:1040 +#: common/models.py:1510 part/admin.py:104 part/models.py:1083 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "" -#: common/models.py:1505 +#: common/models.py:1511 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1510 part/admin.py:113 part/models.py:1028 +#: common/models.py:1516 part/admin.py:113 part/models.py:1071 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "" -#: common/models.py:1511 +#: common/models.py:1517 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1516 part/admin.py:117 part/models.py:1050 +#: common/models.py:1522 part/admin.py:117 part/models.py:1093 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "" -#: common/models.py:1517 +#: common/models.py:1523 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1522 +#: common/models.py:1528 msgid "Show Import in Views" msgstr "" -#: common/models.py:1523 +#: common/models.py:1529 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1528 +#: common/models.py:1534 msgid "Show related parts" msgstr "" -#: common/models.py:1529 +#: common/models.py:1535 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1534 +#: common/models.py:1540 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1535 +#: common/models.py:1541 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1540 templates/js/translated/part.js:107 +#: common/models.py:1546 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1542 +#: common/models.py:1548 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1548 +#: common/models.py:1554 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1549 +#: common/models.py:1555 msgid "Format to display the part name" msgstr "" -#: common/models.py:1555 +#: common/models.py:1561 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1556 +#: common/models.py:1562 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1560 +#: common/models.py:1566 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1562 +#: common/models.py:1568 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1568 +#: common/models.py:1574 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1570 +#: common/models.py:1576 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1576 +#: common/models.py:1582 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1578 +#: common/models.py:1584 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1584 +#: common/models.py:1590 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1586 +#: common/models.py:1592 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1592 +#: common/models.py:1598 msgid "Purchase History Override" msgstr "" -#: common/models.py:1594 +#: common/models.py:1600 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1600 +#: common/models.py:1606 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1602 +#: common/models.py:1608 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1608 +#: common/models.py:1614 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1610 +#: common/models.py:1616 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1617 +#: common/models.py:1623 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1618 +#: common/models.py:1624 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1623 +#: common/models.py:1629 msgid "Active Variants Only" msgstr "" -#: common/models.py:1625 +#: common/models.py:1631 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1631 +#: common/models.py:1637 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1633 +#: common/models.py:1639 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1640 +#: common/models.py:1646 msgid "Internal Prices" msgstr "" -#: common/models.py:1641 +#: common/models.py:1647 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1646 +#: common/models.py:1652 msgid "Internal Price Override" msgstr "" -#: common/models.py:1648 +#: common/models.py:1654 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1654 +#: common/models.py:1660 msgid "Enable label printing" msgstr "" -#: common/models.py:1655 +#: common/models.py:1661 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1660 +#: common/models.py:1666 msgid "Label Image DPI" msgstr "" -#: common/models.py:1662 +#: common/models.py:1668 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1668 +#: common/models.py:1674 msgid "Enable Reports" msgstr "" -#: common/models.py:1669 +#: common/models.py:1675 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1674 templates/stats.html:25 +#: common/models.py:1680 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1675 +#: common/models.py:1681 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1680 +#: common/models.py:1686 msgid "Log Report Errors" msgstr "" -#: common/models.py:1681 +#: common/models.py:1687 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1686 plugin/builtin/labels/label_sheet.py:28 -#: report/models.py:203 +#: common/models.py:1692 plugin/builtin/labels/label_sheet.py:28 +#: report/models.py:302 msgid "Page Size" msgstr "" -#: common/models.py:1687 +#: common/models.py:1693 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1692 +#: common/models.py:1698 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1693 +#: common/models.py:1699 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1698 +#: common/models.py:1704 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1700 +#: common/models.py:1706 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1706 +#: common/models.py:1712 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1707 +#: common/models.py:1713 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1712 +#: common/models.py:1718 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1713 +#: common/models.py:1719 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1718 +#: common/models.py:1724 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1720 +#: common/models.py:1726 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1726 +#: common/models.py:1732 msgid "Batch Code Template" msgstr "" -#: common/models.py:1728 +#: common/models.py:1734 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1733 +#: common/models.py:1739 msgid "Stock Expiry" msgstr "" -#: common/models.py:1734 +#: common/models.py:1740 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1739 +#: common/models.py:1745 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1740 +#: common/models.py:1746 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1745 +#: common/models.py:1751 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1747 +#: common/models.py:1753 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1754 +#: common/models.py:1760 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1755 +#: common/models.py:1761 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1760 +#: common/models.py:1766 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1761 +#: common/models.py:1767 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1766 +#: common/models.py:1772 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1767 +#: common/models.py:1773 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1771 +#: common/models.py:1777 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1772 +#: common/models.py:1778 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1777 +#: common/models.py:1783 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1779 +#: common/models.py:1785 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1785 +#: common/models.py:1791 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1787 +#: common/models.py:1793 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1793 +#: common/models.py:1799 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1795 +#: common/models.py:1801 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1801 common/models.py:1829 common/models.py:1851 -#: common/models.py:1879 +#: common/models.py:1807 common/models.py:1835 common/models.py:1857 +#: common/models.py:1885 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1802 common/models.py:1830 common/models.py:1852 -#: common/models.py:1880 +#: common/models.py:1808 common/models.py:1836 common/models.py:1858 +#: common/models.py:1886 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1807 +#: common/models.py:1813 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1809 +#: common/models.py:1815 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1815 +#: common/models.py:1821 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1816 +#: common/models.py:1822 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1821 +#: common/models.py:1827 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1823 +#: common/models.py:1829 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1835 +#: common/models.py:1841 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1837 +#: common/models.py:1843 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1843 +#: common/models.py:1849 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1845 +#: common/models.py:1851 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1857 +#: common/models.py:1863 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1858 +#: common/models.py:1864 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1863 +#: common/models.py:1869 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1865 +#: common/models.py:1871 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1871 +#: common/models.py:1877 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1873 +#: common/models.py:1879 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1885 +#: common/models.py:1891 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1887 +#: common/models.py:1893 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1893 +#: common/models.py:1899 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1895 +#: common/models.py:1901 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1902 +#: common/models.py:1908 msgid "Enable password forgot" msgstr "" -#: common/models.py:1903 +#: common/models.py:1909 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1908 +#: common/models.py:1914 msgid "Enable registration" msgstr "" -#: common/models.py:1909 +#: common/models.py:1915 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1914 +#: common/models.py:1920 msgid "Enable SSO" msgstr "" -#: common/models.py:1915 +#: common/models.py:1921 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1920 +#: common/models.py:1926 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1922 +#: common/models.py:1928 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1928 +#: common/models.py:1934 msgid "Email required" msgstr "" -#: common/models.py:1929 +#: common/models.py:1935 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1934 +#: common/models.py:1940 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1936 +#: common/models.py:1942 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1942 +#: common/models.py:1948 msgid "Mail twice" msgstr "" -#: common/models.py:1943 +#: common/models.py:1949 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1948 +#: common/models.py:1954 msgid "Password twice" msgstr "" -#: common/models.py:1949 +#: common/models.py:1955 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1954 +#: common/models.py:1960 msgid "Allowed domains" msgstr "" -#: common/models.py:1956 +#: common/models.py:1962 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1962 +#: common/models.py:1968 msgid "Group on signup" msgstr "" -#: common/models.py:1963 +#: common/models.py:1969 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1968 +#: common/models.py:1974 msgid "Enforce MFA" msgstr "" -#: common/models.py:1969 +#: common/models.py:1975 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1974 +#: common/models.py:1980 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1976 +#: common/models.py:1982 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1984 +#: common/models.py:1990 msgid "Check for plugin updates" msgstr "" -#: common/models.py:1985 +#: common/models.py:1991 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:1991 +#: common/models.py:1997 msgid "Enable URL integration" msgstr "" -#: common/models.py:1992 +#: common/models.py:1998 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1998 +#: common/models.py:2004 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1999 +#: common/models.py:2005 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2005 +#: common/models.py:2011 msgid "Enable app integration" msgstr "" -#: common/models.py:2006 +#: common/models.py:2012 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2012 +#: common/models.py:2018 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2013 +#: common/models.py:2019 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2019 +#: common/models.py:2025 msgid "Enable event integration" msgstr "" -#: common/models.py:2020 +#: common/models.py:2026 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2026 +#: common/models.py:2032 msgid "Enable project codes" msgstr "" -#: common/models.py:2027 +#: common/models.py:2033 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2032 +#: common/models.py:2038 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2034 +#: common/models.py:2040 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2040 +#: common/models.py:2046 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2042 +#: common/models.py:2048 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2048 +#: common/models.py:2054 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2050 +#: common/models.py:2056 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2056 +#: common/models.py:2062 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2058 +#: common/models.py:2064 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2065 +#: common/models.py:2071 msgid "Display Users full names" msgstr "" -#: common/models.py:2066 +#: common/models.py:2072 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2071 +#: common/models.py:2077 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2072 +#: common/models.py:2078 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2084 common/models.py:2494 +#: common/models.py:2090 common/models.py:2500 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2127 +#: common/models.py:2133 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2129 +#: common/models.py:2135 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2135 +#: common/models.py:2141 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2136 +#: common/models.py:2142 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2141 +#: common/models.py:2147 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2142 +#: common/models.py:2148 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2147 +#: common/models.py:2153 msgid "Show latest parts" msgstr "" -#: common/models.py:2148 +#: common/models.py:2154 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2153 +#: common/models.py:2159 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2154 +#: common/models.py:2160 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2159 +#: common/models.py:2165 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2160 +#: common/models.py:2166 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2165 +#: common/models.py:2171 msgid "Show low stock" msgstr "" -#: common/models.py:2166 +#: common/models.py:2172 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2171 +#: common/models.py:2177 msgid "Show depleted stock" msgstr "" -#: common/models.py:2172 +#: common/models.py:2178 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2177 +#: common/models.py:2183 msgid "Show needed stock" msgstr "" -#: common/models.py:2178 +#: common/models.py:2184 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2183 +#: common/models.py:2189 msgid "Show expired stock" msgstr "" -#: common/models.py:2184 +#: common/models.py:2190 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2189 +#: common/models.py:2195 msgid "Show stale stock" msgstr "" -#: common/models.py:2190 +#: common/models.py:2196 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2195 +#: common/models.py:2201 msgid "Show pending builds" msgstr "" -#: common/models.py:2196 +#: common/models.py:2202 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2201 +#: common/models.py:2207 msgid "Show overdue builds" msgstr "" -#: common/models.py:2202 +#: common/models.py:2208 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2207 +#: common/models.py:2213 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2208 +#: common/models.py:2214 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2213 +#: common/models.py:2219 msgid "Show overdue POs" msgstr "" -#: common/models.py:2214 +#: common/models.py:2220 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2219 +#: common/models.py:2225 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2220 +#: common/models.py:2226 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2225 +#: common/models.py:2231 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2226 +#: common/models.py:2232 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2231 +#: common/models.py:2237 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2232 +#: common/models.py:2238 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2237 +#: common/models.py:2243 msgid "Show News" msgstr "" -#: common/models.py:2238 +#: common/models.py:2244 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2243 +#: common/models.py:2249 msgid "Inline label display" msgstr "" -#: common/models.py:2245 +#: common/models.py:2251 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2251 +#: common/models.py:2257 msgid "Default label printer" msgstr "" -#: common/models.py:2253 +#: common/models.py:2259 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2259 +#: common/models.py:2265 msgid "Inline report display" msgstr "" -#: common/models.py:2261 +#: common/models.py:2267 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2267 +#: common/models.py:2273 msgid "Search Parts" msgstr "" -#: common/models.py:2268 +#: common/models.py:2274 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2273 +#: common/models.py:2279 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2274 +#: common/models.py:2280 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2279 +#: common/models.py:2285 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2280 +#: common/models.py:2286 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2285 +#: common/models.py:2291 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2286 +#: common/models.py:2292 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2291 +#: common/models.py:2297 msgid "Search Categories" msgstr "" -#: common/models.py:2292 +#: common/models.py:2298 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2297 +#: common/models.py:2303 msgid "Search Stock" msgstr "" -#: common/models.py:2298 +#: common/models.py:2304 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2303 +#: common/models.py:2309 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2305 +#: common/models.py:2311 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2311 +#: common/models.py:2317 msgid "Search Locations" msgstr "" -#: common/models.py:2312 +#: common/models.py:2318 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2317 +#: common/models.py:2323 msgid "Search Companies" msgstr "" -#: common/models.py:2318 +#: common/models.py:2324 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2323 +#: common/models.py:2329 msgid "Search Build Orders" msgstr "" -#: common/models.py:2324 +#: common/models.py:2330 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2329 +#: common/models.py:2335 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2330 +#: common/models.py:2336 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2335 +#: common/models.py:2341 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2337 +#: common/models.py:2343 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2343 +#: common/models.py:2349 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2344 +#: common/models.py:2350 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2349 +#: common/models.py:2355 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2351 +#: common/models.py:2357 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2357 +#: common/models.py:2363 msgid "Search Return Orders" msgstr "" -#: common/models.py:2358 +#: common/models.py:2364 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2363 +#: common/models.py:2369 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2365 +#: common/models.py:2371 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2371 +#: common/models.py:2377 msgid "Search Preview Results" msgstr "" -#: common/models.py:2373 +#: common/models.py:2379 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2379 +#: common/models.py:2385 msgid "Regex Search" msgstr "" -#: common/models.py:2380 +#: common/models.py:2386 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2385 +#: common/models.py:2391 msgid "Whole Word Search" msgstr "" -#: common/models.py:2386 +#: common/models.py:2392 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2391 +#: common/models.py:2397 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2392 +#: common/models.py:2398 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2397 +#: common/models.py:2403 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2398 +#: common/models.py:2404 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2403 +#: common/models.py:2409 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2404 +#: common/models.py:2410 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2409 +#: common/models.py:2415 msgid "Date Format" msgstr "" -#: common/models.py:2410 +#: common/models.py:2416 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2423 part/templates/part/detail.html:41 +#: common/models.py:2429 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2424 +#: common/models.py:2430 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2429 part/templates/part/detail.html:62 +#: common/models.py:2435 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2431 +#: common/models.py:2437 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2437 +#: common/models.py:2443 msgid "Table String Length" msgstr "" -#: common/models.py:2439 +#: common/models.py:2445 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2445 +#: common/models.py:2451 msgid "Default part label template" msgstr "" -#: common/models.py:2446 +#: common/models.py:2452 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2451 +#: common/models.py:2457 msgid "Default stock item template" msgstr "" -#: common/models.py:2453 +#: common/models.py:2459 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2459 +#: common/models.py:2465 msgid "Default stock location label template" msgstr "" -#: common/models.py:2461 +#: common/models.py:2467 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2467 +#: common/models.py:2473 msgid "Default build line label template" msgstr "" -#: common/models.py:2469 +#: common/models.py:2475 msgid "The build line label template to be automatically selected" msgstr "" -#: common/models.py:2475 +#: common/models.py:2481 msgid "Receive error reports" msgstr "" -#: common/models.py:2476 +#: common/models.py:2482 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2481 +#: common/models.py:2487 msgid "Last used printing machines" msgstr "" -#: common/models.py:2482 +#: common/models.py:2488 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2525 +#: common/models.py:2531 msgid "Price break quantity" msgstr "" -#: common/models.py:2532 company/serializers.py:496 order/admin.py:42 -#: order/models.py:1333 order/models.py:2243 +#: common/models.py:2538 company/serializers.py:496 order/admin.py:42 +#: order/models.py:1373 order/models.py:2292 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 -#: templates/js/translated/return_order.js:741 +#: templates/js/translated/return_order.js:740 msgid "Price" msgstr "" -#: common/models.py:2533 +#: common/models.py:2539 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2704 common/models.py:2889 +#: common/models.py:2710 common/models.py:2895 msgid "Endpoint" msgstr "" -#: common/models.py:2705 +#: common/models.py:2711 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2715 +#: common/models.py:2721 msgid "Name for this webhook" msgstr "" -#: common/models.py:2719 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1045 -#: plugin/models.py:56 templates/js/translated/company.js:523 +#: common/models.py:2725 company/models.py:160 company/models.py:814 +#: machine/models.py:39 part/admin.py:88 part/models.py:1088 +#: plugin/models.py:65 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:492 @@ -3614,135 +3628,135 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2719 +#: common/models.py:2725 msgid "Is this webhook active" msgstr "" -#: common/models.py:2735 users/models.py:159 +#: common/models.py:2741 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2736 +#: common/models.py:2742 msgid "Token for access" msgstr "" -#: common/models.py:2744 +#: common/models.py:2750 msgid "Secret" msgstr "" -#: common/models.py:2745 +#: common/models.py:2751 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2853 +#: common/models.py:2859 msgid "Message ID" msgstr "" -#: common/models.py:2854 +#: common/models.py:2860 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2862 +#: common/models.py:2868 msgid "Host" msgstr "" -#: common/models.py:2863 +#: common/models.py:2869 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2871 +#: common/models.py:2877 msgid "Header" msgstr "" -#: common/models.py:2872 +#: common/models.py:2878 msgid "Header of this message" msgstr "" -#: common/models.py:2879 +#: common/models.py:2885 msgid "Body" msgstr "" -#: common/models.py:2880 +#: common/models.py:2886 msgid "Body of this message" msgstr "" -#: common/models.py:2890 +#: common/models.py:2896 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2895 +#: common/models.py:2901 msgid "Worked on" msgstr "" -#: common/models.py:2896 +#: common/models.py:2902 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3022 +#: common/models.py:3028 msgid "Id" msgstr "" -#: common/models.py:3024 templates/js/translated/company.js:965 +#: common/models.py:3030 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3028 templates/js/translated/news.js:60 +#: common/models.py:3034 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3030 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3036 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3032 templates/js/translated/news.js:52 +#: common/models.py:3038 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3035 +#: common/models.py:3041 msgid "Read" msgstr "" -#: common/models.py:3035 +#: common/models.py:3041 msgid "Was this news item read?" msgstr "" -#: common/models.py:3052 company/models.py:156 part/models.py:929 +#: common/models.py:3058 company/models.py:156 part/models.py:972 #: 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 +#: report/templates/report/inventree_return_order_report.html:35 #: stock/templates/stock/item_base.html:133 templates/503.html:31 #: templates/hover_image.html:7 templates/hover_image.html:9 #: templates/modals.html:6 msgid "Image" msgstr "" -#: common/models.py:3052 +#: common/models.py:3058 msgid "Image file" msgstr "" -#: common/models.py:3094 +#: common/models.py:3100 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3113 +#: common/models.py:3119 msgid "Unit name" msgstr "" -#: common/models.py:3120 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3126 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3121 +#: common/models.py:3127 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3128 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3134 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3129 +#: common/models.py:3135 msgid "Unit definition" msgstr "" @@ -3929,9 +3943,9 @@ msgid "Contact email address" msgstr "" #: company/models.py:139 company/templates/company/company_base.html:145 -#: order/models.py:331 order/templates/order/order_base.html:203 +#: order/models.py:344 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 -#: order/templates/order/sales_order_base.html:214 +#: order/templates/order/sales_order_base.html:218 msgid "Contact" msgstr "" @@ -3977,7 +3991,7 @@ msgstr "" #: company/models.py:273 company/models.py:382 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:776 +#: company/templates/company/company_base.html:12 stock/api.py:810 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "" @@ -4069,8 +4083,8 @@ msgstr "" msgid "Link to address information (external)" msgstr "" -#: company/models.py:489 company/models.py:792 stock/models.py:751 -#: stock/serializers.py:266 stock/templates/stock/item_base.html:142 +#: company/models.py:489 company/models.py:792 stock/models.py:772 +#: stock/serializers.py:395 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -4081,7 +4095,7 @@ msgstr "" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:515 +#: company/templates/company/supplier_part.html:145 part/serializers.py:530 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4096,13 +4110,13 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:525 +#: company/templates/company/supplier_part.html:153 part/serializers.py:540 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800 -#: templates/js/translated/purchase_order.js:1852 -#: templates/js/translated/purchase_order.js:2054 +#: templates/js/translated/purchase_order.js:1851 +#: templates/js/translated/purchase_order.js:2053 msgid "MPN" msgstr "" @@ -4129,9 +4143,8 @@ msgstr "" msgid "Parameter name" msgstr "" -#: company/models.py:621 -#: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2448 templates/js/translated/company.js:1166 +#: company/models.py:621 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2425 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492 #: templates/js/translated/stock.js:1522 msgid "Value" @@ -4142,10 +4155,10 @@ msgid "Parameter value" msgstr "" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1009 part/models.py:3623 +#: part/admin.py:57 part/models.py:1052 part/models.py:3666 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 -#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370 +#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 msgid "Units" msgstr "" @@ -4166,9 +4179,9 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:465 +#: company/templates/company/supplier_part.html:129 order/models.py:487 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:499 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:514 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4176,7 +4189,7 @@ msgstr "" #: templates/js/translated/company.js:511 #: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1690 +#: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/table_filters.js:804 msgid "Supplier" msgstr "" @@ -4185,7 +4198,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:809 part/serializers.py:510 +#: company/models.py:809 part/serializers.py:525 msgid "Supplier stock keeping unit" msgstr "" @@ -4206,29 +4219,29 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:418 part/models.py:4070 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4113 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 -#: report/templates/report/inventree_slr_report.html:105 -#: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:579 +#: report/templates/report/inventree_purchase_order_report.html:32 +#: report/templates/report/inventree_return_order_report.html:27 +#: report/templates/report/inventree_sales_order_report.html:32 +#: report/templates/report/inventree_stock_location_report.html:105 +#: stock/serializers.py:708 msgid "Note" msgstr "" -#: company/models.py:857 part/models.py:1967 +#: company/models.py:857 part/models.py:2010 msgid "base cost" msgstr "" -#: company/models.py:858 part/models.py:1968 +#: company/models.py:858 part/models.py:2011 msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:782 stock/serializers.py:1350 +#: stock/admin.py:224 stock/models.py:803 stock/serializers.py:1479 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 -#: templates/js/translated/stock.js:2426 +#: templates/js/translated/stock.js:2424 msgid "Packaging" msgstr "" @@ -4241,8 +4254,8 @@ msgstr "" #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 -#: templates/js/translated/purchase_order.js:2085 -#: templates/js/translated/purchase_order.js:2102 +#: templates/js/translated/purchase_order.js:2084 +#: templates/js/translated/purchase_order.js:2101 msgid "Pack Quantity" msgstr "" @@ -4250,7 +4263,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:892 part/models.py:1974 +#: company/models.py:892 part/models.py:2017 msgid "multiple" msgstr "" @@ -4285,7 +4298,7 @@ msgstr "" #: part/templates/part/part_base.html:146 #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 -#: templates/js/translated/model_renderers.js:306 +#: templates/js/translated/model_renderers.js:312 #: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 msgid "Inactive" msgstr "" @@ -4321,11 +4334,11 @@ msgstr "" #: company/templates/company/manufacturer_part.html:51 #: company/templates/company/supplier_part.html:83 #: part/templates/part/part_thumb.html:20 -#: report/templates/report/inventree_build_order_base.html:98 -#: report/templates/report/inventree_po_report_base.html:40 -#: report/templates/report/inventree_so_report_base.html:40 -#: report/templates/report/inventree_test_report_base.html:84 -#: report/templates/report/inventree_test_report_base.html:163 +#: report/templates/report/inventree_build_order_report.html:98 +#: report/templates/report/inventree_purchase_order_report.html:40 +#: report/templates/report/inventree_sales_order_report.html:40 +#: report/templates/report/inventree_test_report.html:84 +#: report/templates/report/inventree_test_report.html:163 msgid "Part image" msgstr "" @@ -4344,16 +4357,16 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:92 order/models.py:910 -#: order/models.py:2010 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:144 stock/models.py:804 -#: stock/models.py:805 stock/serializers.py:1100 +#: company/templates/company/company_base.html:92 order/models.py:941 +#: order/models.py:2059 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:148 stock/models.py:825 +#: stock/models.py:826 stock/serializers.py:1229 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 -#: templates/js/translated/return_order.js:296 -#: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2962 +#: templates/js/translated/return_order.js:295 +#: templates/js/translated/sales_order.js:820 +#: templates/js/translated/stock.js:2959 #: templates/js/translated/table_filters.js:808 msgid "Customer" msgstr "" @@ -4362,10 +4375,10 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:124 order/models.py:341 +#: company/templates/company/company_base.html:124 order/models.py:354 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 -#: order/templates/order/sales_order_base.html:221 +#: order/templates/order/sales_order_base.html:225 msgid "Address" msgstr "" @@ -4374,7 +4387,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:211 -#: part/templates/part/part_base.html:528 +#: part/templates/part/part_base.html:527 msgid "Remove Image" msgstr "" @@ -4383,19 +4396,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:214 -#: part/templates/part/part_base.html:531 +#: part/templates/part/part_base.html:530 #: templates/InvenTree/settings/user.html:88 #: templates/InvenTree/settings/user_sso.html:43 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:243 -#: part/templates/part/part_base.html:560 +#: part/templates/part/part_base.html:559 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:258 -#: part/templates/part/part_base.html:614 +#: part/templates/part/part_base.html:613 msgid "Download Image" msgstr "" @@ -4558,7 +4571,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:821 +#: part/admin.py:122 part/serializers.py:836 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4609,10 +4622,10 @@ msgstr "" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:452 -#: stock/models.py:762 stock/templates/stock/item_base.html:233 +#: stock/models.py:783 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 -#: templates/js/translated/stock.js:2282 +#: templates/js/translated/stock.js:2280 msgid "Supplier Part" msgstr "" @@ -4658,11 +4671,11 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:509 +#: part/bom.py:311 part/serializers.py:524 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1851 -#: templates/js/translated/purchase_order.js:2029 +#: templates/js/translated/purchase_order.js:1850 +#: templates/js/translated/purchase_order.js:2028 msgid "SKU" msgstr "" @@ -4671,12 +4684,12 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:209 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:199 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:206 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:200 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:207 #: templates/js/translated/stock.js:537 msgid "New Stock Item" msgstr "" @@ -4708,16 +4721,16 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:820 part/stocktake.py:223 +#: part/serializers.py:835 part/stocktake.py:223 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:787 stock/serializers.py:951 +#: stock/serializers.py:916 stock/serializers.py:1080 #: stock/templates/stock/location.html:170 -#: stock/templates/stock/location.html:184 -#: stock/templates/stock/location.html:196 +#: stock/templates/stock/location.html:191 +#: stock/templates/stock/location.html:203 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2769 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 #: users/models.py:206 msgid "Stock Items" msgstr "" @@ -4751,126 +4764,48 @@ msgstr "" msgid "New Company" msgstr "" -#: label/api.py:247 -msgid "Error printing label" -msgstr "" - -#: label/models.py:120 -msgid "Label name" -msgstr "" - -#: label/models.py:128 -msgid "Label description" -msgstr "" - -#: label/models.py:136 -msgid "Label" -msgstr "" - -#: label/models.py:137 -msgid "Label template file" -msgstr "" - -#: label/models.py:143 part/models.py:3494 report/models.py:324 -#: templates/js/translated/part.js:2900 -#: templates/js/translated/table_filters.js:481 -msgid "Enabled" -msgstr "" - -#: label/models.py:144 -msgid "Label template is enabled" -msgstr "" - -#: label/models.py:149 -msgid "Width [mm]" -msgstr "" - -#: label/models.py:150 -msgid "Label width, specified in mm" -msgstr "" - -#: label/models.py:156 -msgid "Height [mm]" -msgstr "" - -#: label/models.py:157 -msgid "Label height, specified in mm" -msgstr "" - -#: label/models.py:163 report/models.py:317 -msgid "Filename Pattern" -msgstr "" - -#: label/models.py:164 -msgid "Pattern for generating label filenames" -msgstr "" - -#: label/models.py:313 label/models.py:352 label/models.py:377 -#: label/models.py:412 -msgid "Query filters (comma-separated list of key=value pairs)" -msgstr "" - -#: label/models.py:314 label/models.py:353 label/models.py:378 -#: label/models.py:413 report/models.py:345 report/models.py:496 -#: report/models.py:532 report/models.py:568 report/models.py:750 -msgid "Filters" -msgstr "" - -#: label/templates/label/part/part_label.html:31 -#: label/templates/label/stockitem/qr.html:21 -#: label/templates/label/stocklocation/qr.html:20 -#: templates/allauth_2fa/setup.html:18 -msgid "QR Code" -msgstr "" - -#: label/templates/label/part/part_label_code128.html:31 -#: label/templates/label/stocklocation/qr_and_text.html:31 -#: templates/qr_code.html:7 -msgid "QR code" -msgstr "" - -#: machine/machine_types/label_printer.py:217 +#: machine/machine_types/label_printer.py:218 msgid "Copies" msgstr "" -#: machine/machine_types/label_printer.py:218 +#: machine/machine_types/label_printer.py:219 msgid "Number of copies to print for each label" msgstr "" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:234 msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:234 order/api.py:1515 -#: templates/js/translated/sales_order.js:1042 +#: machine/machine_types/label_printer.py:235 order/api.py:1515 +#: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "" -#: machine/machine_types/label_printer.py:235 +#: machine/machine_types/label_printer.py:236 msgid "Printing" msgstr "" -#: machine/machine_types/label_printer.py:236 +#: machine/machine_types/label_printer.py:237 msgid "No media" msgstr "" -#: machine/machine_types/label_printer.py:237 +#: machine/machine_types/label_printer.py:238 msgid "Disconnected" msgstr "" -#: machine/machine_types/label_printer.py:244 +#: machine/machine_types/label_printer.py:245 msgid "Label Printer" msgstr "" -#: machine/machine_types/label_printer.py:245 +#: machine/machine_types/label_printer.py:246 msgid "Directly print labels for various items." msgstr "" -#: machine/machine_types/label_printer.py:251 +#: machine/machine_types/label_printer.py:252 msgid "Printer Location" msgstr "" -#: machine/machine_types/label_printer.py:252 +#: machine/machine_types/label_printer.py:253 msgid "Scope the printer to a specific location" msgstr "" @@ -4930,19 +4865,19 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:89 -#: report/templates/report/inventree_po_report_base.html:31 -#: report/templates/report/inventree_so_report_base.html:31 +#: order/admin.py:30 order/models.py:90 +#: report/templates/report/inventree_purchase_order_report.html:31 +#: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2126 -#: templates/js/translated/sales_order.js:1847 +#: templates/js/translated/purchase_order.js:2125 +#: templates/js/translated/sales_order.js:1883 msgid "Total Price" msgstr "" #: order/api.py:161 order/serializers.py:91 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 -#: order/templates/order/sales_order_base.html:118 +#: order/templates/order/sales_order_base.html:122 msgid "Order Status" msgstr "" @@ -4955,10 +4890,10 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:437 order/api.py:817 order/models.py:1382 order/models.py:1491 -#: order/models.py:1537 order/models.py:1651 order/models.py:1805 -#: order/models.py:2209 order/models.py:2260 -#: templates/js/translated/sales_order.js:1488 +#: order/api.py:437 order/api.py:817 order/models.py:1422 order/models.py:1531 +#: order/models.py:1577 order/models.py:1691 order/models.py:1845 +#: order/models.py:2258 order/models.py:2309 +#: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" @@ -4970,402 +4905,398 @@ msgstr "" msgid "Order Pending" msgstr "" -#: order/api.py:1509 order/models.py:1383 order/models.py:1492 -#: order/templates/order/order_base.html:9 +#: order/api.py:1509 order/models.py:381 order/models.py:1423 +#: order/models.py:1532 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 -#: report/templates/report/inventree_po_report_base.html:14 -#: stock/templates/stock/item_base.html:176 +#: report/templates/report/inventree_purchase_order_report.html:14 +#: stock/serializers.py:119 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 -#: templates/js/translated/purchase_order.js:1674 -#: templates/js/translated/stock.js:2262 templates/js/translated/stock.js:2910 +#: templates/js/translated/purchase_order.js:1673 +#: templates/js/translated/stock.js:2260 templates/js/translated/stock.js:2907 msgid "Purchase Order" msgstr "" -#: order/api.py:1513 order/models.py:2210 order/models.py:2261 -#: order/templates/order/return_order_base.html:9 +#: order/api.py:1513 order/models.py:2008 order/models.py:2259 +#: order/models.py:2310 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:281 -#: templates/js/translated/stock.js:2944 +#: report/templates/report/inventree_return_order_report.html:13 +#: templates/js/translated/return_order.js:280 +#: templates/js/translated/stock.js:2941 msgid "Return Order" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:96 order/serializers.py:71 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:99 order/serializers.py:72 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:246 +#: order/models.py:248 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:278 +#: order/models.py:291 msgid "Order description (optional)" msgstr "" -#: order/models.py:287 +#: order/models.py:300 msgid "Select project code for this order" msgstr "" -#: order/models.py:291 order/models.py:1288 order/models.py:1704 +#: order/models.py:304 order/models.py:1328 order/models.py:1744 msgid "Link to external page" msgstr "" -#: order/models.py:299 +#: order/models.py:312 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:313 +#: order/models.py:326 msgid "Created By" msgstr "" -#: order/models.py:321 +#: order/models.py:334 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:332 +#: order/models.py:345 msgid "Point of contact for this order" msgstr "" -#: order/models.py:342 +#: order/models.py:355 msgid "Company address for this order" msgstr "" -#: order/models.py:443 order/models.py:899 +#: order/models.py:465 order/models.py:930 msgid "Order reference" msgstr "" -#: order/models.py:451 order/models.py:923 +#: order/models.py:473 order/models.py:954 msgid "Purchase order status" msgstr "" -#: order/models.py:466 +#: order/models.py:488 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:477 order/templates/order/order_base.html:148 -#: templates/js/translated/purchase_order.js:1703 +#: order/models.py:499 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1702 msgid "Supplier Reference" msgstr "" -#: order/models.py:478 +#: order/models.py:500 msgid "Supplier order reference code" msgstr "" -#: order/models.py:487 +#: order/models.py:509 msgid "received by" msgstr "" -#: order/models.py:493 order/models.py:2036 +#: order/models.py:515 order/models.py:2085 msgid "Issue Date" msgstr "" -#: order/models.py:494 order/models.py:2037 +#: order/models.py:516 order/models.py:2086 msgid "Date order was issued" msgstr "" -#: order/models.py:501 order/models.py:2044 +#: order/models.py:523 order/models.py:2093 msgid "Date order was completed" msgstr "" -#: order/models.py:545 +#: order/models.py:567 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:739 +#: order/models.py:761 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:911 +#: order/models.py:942 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:934 order/models.py:2029 +#: order/models.py:965 order/models.py:2078 msgid "Customer Reference " msgstr "" -#: order/models.py:935 order/models.py:2030 +#: order/models.py:966 order/models.py:2079 msgid "Customer order reference code" msgstr "" -#: order/models.py:939 order/models.py:1658 -#: templates/js/translated/sales_order.js:843 -#: templates/js/translated/sales_order.js:1024 +#: order/models.py:970 order/models.py:1698 +#: templates/js/translated/sales_order.js:879 +#: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "" -#: order/models.py:948 +#: order/models.py:979 msgid "shipped by" msgstr "" -#: order/models.py:999 -msgid "Order cannot be completed as no parts have been assigned" -msgstr "" - -#: order/models.py:1004 +#: order/models.py:1029 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1008 templates/js/translated/sales_order.js:506 +#: order/models.py:1033 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1013 +#: order/models.py:1038 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1260 +#: order/models.py:1300 msgid "Item quantity" msgstr "" -#: order/models.py:1277 +#: order/models.py:1317 msgid "Line item reference" msgstr "" -#: order/models.py:1284 +#: order/models.py:1324 msgid "Line item notes" msgstr "" -#: order/models.py:1296 +#: order/models.py:1336 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1317 +#: order/models.py:1357 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1323 +#: order/models.py:1363 msgid "Context" msgstr "" -#: order/models.py:1324 +#: order/models.py:1364 msgid "Additional context for this line" msgstr "" -#: order/models.py:1334 +#: order/models.py:1374 msgid "Unit price" msgstr "" -#: order/models.py:1367 +#: order/models.py:1407 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1374 +#: order/models.py:1414 msgid "deleted" msgstr "" -#: order/models.py:1402 +#: order/models.py:1442 msgid "Supplier part" msgstr "" -#: order/models.py:1409 order/templates/order/order_base.html:196 +#: order/models.py:1449 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 #: templates/js/translated/purchase_order.js:1306 -#: templates/js/translated/purchase_order.js:2170 -#: templates/js/translated/return_order.js:764 +#: templates/js/translated/purchase_order.js:2169 +#: templates/js/translated/return_order.js:763 #: templates/js/translated/table_filters.js:120 #: templates/js/translated/table_filters.js:602 msgid "Received" msgstr "" -#: order/models.py:1410 +#: order/models.py:1450 msgid "Number of items received" msgstr "" -#: order/models.py:1418 stock/models.py:923 stock/serializers.py:400 +#: order/models.py:1458 stock/models.py:944 stock/serializers.py:529 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2313 +#: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "" -#: order/models.py:1419 +#: order/models.py:1459 msgid "Unit purchase price" msgstr "" -#: order/models.py:1434 +#: order/models.py:1474 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1525 +#: order/models.py:1565 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1530 +#: order/models.py:1570 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1556 part/templates/part/part_pricing.html:107 +#: order/models.py:1596 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1557 +#: order/models.py:1597 msgid "Unit sale price" msgstr "" -#: order/models.py:1567 +#: order/models.py:1607 msgid "Shipped quantity" msgstr "" -#: order/models.py:1659 +#: order/models.py:1699 msgid "Date of shipment" msgstr "" -#: order/models.py:1665 templates/js/translated/sales_order.js:1036 +#: order/models.py:1705 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1666 +#: order/models.py:1706 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1674 +#: order/models.py:1714 msgid "Checked By" msgstr "" -#: order/models.py:1675 +#: order/models.py:1715 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1682 order/models.py:1895 order/serializers.py:1354 -#: order/serializers.py:1464 templates/js/translated/model_renderers.js:448 +#: order/models.py:1722 order/models.py:1935 order/serializers.py:1354 +#: order/serializers.py:1464 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" -#: order/models.py:1683 +#: order/models.py:1723 msgid "Shipment number" msgstr "" -#: order/models.py:1691 +#: order/models.py:1731 msgid "Tracking Number" msgstr "" -#: order/models.py:1692 +#: order/models.py:1732 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1699 +#: order/models.py:1739 msgid "Invoice Number" msgstr "" -#: order/models.py:1700 +#: order/models.py:1740 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1720 +#: order/models.py:1760 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1723 +#: order/models.py:1763 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1841 order/models.py:1843 +#: order/models.py:1881 order/models.py:1883 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1850 +#: order/models.py:1890 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1853 +#: order/models.py:1893 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1856 +#: order/models.py:1896 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1875 order/serializers.py:1231 +#: order/models.py:1915 order/serializers.py:1231 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1878 +#: order/models.py:1918 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1879 plugin/base/barcodes/api.py:481 +#: order/models.py:1919 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1887 +#: order/models.py:1927 msgid "Line" msgstr "" -#: order/models.py:1896 +#: order/models.py:1936 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1909 order/models.py:2217 -#: templates/js/translated/return_order.js:722 +#: order/models.py:1949 order/models.py:2266 +#: templates/js/translated/return_order.js:721 msgid "Item" msgstr "" -#: order/models.py:1910 +#: order/models.py:1950 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1919 +#: order/models.py:1959 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1999 +#: order/models.py:2048 msgid "Return Order reference" msgstr "" -#: order/models.py:2011 +#: order/models.py:2060 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2023 +#: order/models.py:2072 msgid "Return order status" msgstr "" -#: order/models.py:2202 +#: order/models.py:2251 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2218 +#: order/models.py:2267 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2224 +#: order/models.py:2273 msgid "Received Date" msgstr "" -#: order/models.py:2225 +#: order/models.py:2274 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2236 templates/js/translated/return_order.js:733 +#: order/models.py:2285 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2237 +#: order/models.py:2286 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2244 +#: order/models.py:2293 msgid "Cost associated with return or repair for this line item" msgstr "" #: order/serializers.py:80 order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 -#: report/templates/report/inventree_po_report_base.html:22 -#: report/templates/report/inventree_return_order_report_base.html:19 -#: report/templates/report/inventree_so_report_base.html:22 +#: report/templates/report/inventree_purchase_order_report.html:22 +#: report/templates/report/inventree_return_order_report.html:19 +#: report/templates/report/inventree_sales_order_report.html:22 msgid "Line Items" msgstr "" @@ -5595,7 +5526,7 @@ msgstr "" #: order/templates/order/order_base.html:84 #: order/templates/order/return_order_base.html:87 -#: order/templates/order/sales_order_base.html:93 +#: order/templates/order/sales_order_base.html:97 msgid "Complete Order" msgstr "" @@ -5605,13 +5536,13 @@ msgstr "" #: order/templates/order/order_base.html:106 #: order/templates/order/return_order_base.html:101 -#: order/templates/order/sales_order_base.html:106 +#: order/templates/order/sales_order_base.html:110 msgid "Order Reference" msgstr "" #: order/templates/order/order_base.html:111 #: order/templates/order/return_order_base.html:106 -#: order/templates/order/sales_order_base.html:111 +#: order/templates/order/sales_order_base.html:115 msgid "Order Description" msgstr "" @@ -5620,19 +5551,19 @@ msgid "No suppplier information available" msgstr "" #: order/templates/order/order_base.html:154 -#: order/templates/order/sales_order_base.html:157 +#: order/templates/order/sales_order_base.html:161 msgid "Completed Line Items" msgstr "" #: order/templates/order/order_base.html:160 -#: order/templates/order/sales_order_base.html:163 -#: order/templates/order/sales_order_base.html:173 +#: order/templates/order/sales_order_base.html:167 +#: order/templates/order/sales_order_base.html:177 msgid "Incomplete" msgstr "" #: order/templates/order/order_base.html:179 #: order/templates/order/return_order_base.html:157 -#: report/templates/report/inventree_build_order_base.html:121 +#: report/templates/report/inventree_build_order_report.html:121 msgid "Issued" msgstr "" @@ -5642,15 +5573,15 @@ msgstr "" #: order/templates/order/order_base.html:228 #: order/templates/order/return_order_base.html:199 -#: order/templates/order/sales_order_base.html:239 +#: order/templates/order/sales_order_base.html:243 msgid "Total cost could not be calculated" msgstr "" -#: order/templates/order/order_base.html:318 +#: order/templates/order/order_base.html:314 msgid "Purchase Order QR Code" msgstr "" -#: order/templates/order/order_base.html:330 +#: order/templates/order/order_base.html:326 msgid "Link Barcode to Purchase Order" msgstr "" @@ -5707,8 +5638,8 @@ msgstr "" #: templates/js/translated/build.js:1629 #: templates/js/translated/purchase_order.js:696 #: templates/js/translated/purchase_order.js:1236 -#: templates/js/translated/return_order.js:506 -#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/return_order.js:505 +#: templates/js/translated/sales_order.js:1145 #: templates/js/translated/stock.js:714 templates/js/translated/stock.js:883 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -5762,7 +5693,7 @@ msgstr "" #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 #: templates/js/translated/purchase_order.js:414 -#: templates/js/translated/return_order.js:459 +#: templates/js/translated/return_order.js:458 #: templates/js/translated/sales_order.js:237 msgid "Add Line Item" msgstr "" @@ -5811,30 +5742,30 @@ msgid "Print packing list" msgstr "" #: order/templates/order/return_order_base.html:138 -#: order/templates/order/sales_order_base.html:151 -#: templates/js/translated/return_order.js:309 -#: templates/js/translated/sales_order.js:797 +#: order/templates/order/sales_order_base.html:155 +#: templates/js/translated/return_order.js:308 +#: templates/js/translated/sales_order.js:833 msgid "Customer Reference" msgstr "" #: order/templates/order/return_order_base.html:195 -#: order/templates/order/sales_order_base.html:235 +#: order/templates/order/sales_order_base.html:239 #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1072 -#: templates/js/translated/purchase_order.js:1753 -#: templates/js/translated/return_order.js:381 -#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/purchase_order.js:1752 +#: templates/js/translated/return_order.js:380 +#: templates/js/translated/sales_order.js:891 msgid "Total Cost" msgstr "" -#: order/templates/order/return_order_base.html:263 +#: order/templates/order/return_order_base.html:259 msgid "Return Order QR Code" msgstr "" -#: order/templates/order/return_order_base.html:275 +#: order/templates/order/return_order_base.html:271 msgid "Link Barcode to Return Order" msgstr "" @@ -5852,25 +5783,30 @@ msgid "Ship Items" msgstr "" #: order/templates/order/sales_order_base.html:92 -#: templates/js/translated/sales_order.js:484 +#: order/templates/order/sales_order_base.html:93 +msgid "Mark As Shipped" +msgstr "" + +#: order/templates/order/sales_order_base.html:96 +#: templates/js/translated/sales_order.js:536 msgid "Complete Sales Order" msgstr "" -#: order/templates/order/sales_order_base.html:131 +#: order/templates/order/sales_order_base.html:135 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:169 +#: order/templates/order/sales_order_base.html:173 #: order/templates/order/sales_order_detail.html:99 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "" -#: order/templates/order/sales_order_base.html:312 +#: order/templates/order/sales_order_base.html:321 msgid "Sales Order QR Code" msgstr "" -#: order/templates/order/sales_order_base.html:324 +#: order/templates/order/sales_order_base.html:333 msgid "Link Barcode to Sales Order" msgstr "" @@ -5914,12 +5850,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:404 part/models.py:3921 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:406 part/models.py:3964 part/stocktake.py:218 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:411 part/models.py:3922 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:413 part/models.py:3965 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -5928,20 +5864,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:904 part/templates/part/part_base.html:269 -#: report/templates/report/inventree_slr_report.html:103 -#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2341 -#: templates/js/translated/stock.js:2038 +#: part/admin.py:48 part/models.py:947 part/templates/part/part_base.html:269 +#: report/templates/report/inventree_stock_location_report.html:103 +#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 +#: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:913 part/templates/part/part_base.html:277 -#: report/models.py:195 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2347 +#: part/admin.py:50 part/models.py:956 part/templates/part/part_base.html:277 +#: report/models.py:161 templates/js/translated/part.js:1231 +#: templates/js/translated/part.js:2346 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:317 part/models.py:886 +#: part/admin.py:53 part/admin.py:319 part/models.py:929 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5950,15 +5886,15 @@ msgstr "" msgid "Part Image" msgstr "" -#: part/admin.py:63 part/admin.py:300 part/stocktake.py:221 +#: part/admin.py:63 part/admin.py:302 part/stocktake.py:221 msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:302 part/stocktake.py:222 +#: part/admin.py:67 part/admin.py:304 part/stocktake.py:222 msgid "Category Name" msgstr "" -#: part/admin.py:71 part/admin.py:314 +#: part/admin.py:71 part/admin.py:316 msgid "Default Location ID" msgstr "" @@ -5966,11 +5902,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:872 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:915 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1000 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1043 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5983,160 +5919,164 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3080 part/models.py:3094 +#: part/admin.py:155 part/models.py:3123 part/models.py:3137 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3087 part/models.py:3101 +#: part/admin.py:158 part/models.py:3130 part/models.py:3144 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" -#: part/admin.py:306 part/admin.py:393 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:211 msgid "Parent ID" msgstr "" -#: part/admin.py:310 part/admin.py:400 stock/admin.py:62 +#: part/admin.py:312 part/admin.py:402 stock/admin.py:62 msgid "Parent Name" msgstr "" -#: part/admin.py:318 part/templates/part/category.html:88 +#: part/admin.py:320 part/templates/part/category.html:88 #: part/templates/part/category.html:101 msgid "Category Path" msgstr "" -#: part/admin.py:323 part/models.py:391 part/serializers.py:117 +#: part/admin.py:325 part/models.py:393 part/serializers.py:117 #: part/serializers.py:272 part/serializers.py:391 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2803 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "" -#: part/admin.py:384 +#: part/admin.py:386 msgid "BOM Level" msgstr "" -#: part/admin.py:387 +#: part/admin.py:389 msgid "BOM Item ID" msgstr "" -#: part/admin.py:397 +#: part/admin.py:399 msgid "Parent IPN" msgstr "" -#: part/admin.py:408 part/models.py:3923 +#: part/admin.py:410 part/models.py:3966 msgid "Part IPN" msgstr "" -#: part/admin.py:421 part/serializers.py:1261 +#: part/admin.py:423 part/serializers.py:1276 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:426 part/serializers.py:1276 +#: part/admin.py:428 part/serializers.py:1291 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:119 +#: part/api.py:112 msgid "Starred" msgstr "" -#: part/api.py:121 +#: part/api.py:114 msgid "Filter by starred categories" msgstr "" -#: part/api.py:138 stock/api.py:284 +#: part/api.py:131 stock/api.py:318 msgid "Depth" msgstr "" -#: part/api.py:138 +#: part/api.py:131 msgid "Filter by category depth" msgstr "" -#: part/api.py:156 stock/api.py:302 +#: part/api.py:149 stock/api.py:336 msgid "Cascade" msgstr "" -#: part/api.py:158 +#: part/api.py:151 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:178 +#: part/api.py:171 msgid "Parent" msgstr "" -#: part/api.py:180 +#: part/api.py:173 msgid "Filter by parent category" msgstr "" -#: part/api.py:213 +#: part/api.py:206 msgid "Exclude Tree" msgstr "" -#: part/api.py:215 +#: part/api.py:208 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:461 +#: part/api.py:455 msgid "Has Results" msgstr "" -#: part/api.py:628 +#: part/api.py:622 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:646 +#: part/api.py:640 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:662 +#: part/api.py:656 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:746 +#: part/api.py:740 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:893 +#: part/api.py:887 msgid "Valid" msgstr "" -#: part/api.py:894 +#: part/api.py:888 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:900 +#: part/api.py:894 msgid "This option must be selected" msgstr "" -#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866 -#: part/serializers.py:406 part/serializers.py:1117 -#: part/templates/part/part_base.html:260 stock/api.py:745 +#: part/api.py:1111 +msgid "BOM Valid" +msgstr "" + +#: part/api.py:1515 part/models.py:939 part/models.py:3429 part/models.py:3909 +#: part/serializers.py:406 part/serializers.py:1132 +#: part/templates/part/part_base.html:260 stock/api.py:779 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2377 +#: templates/js/translated/part.js:2376 msgid "Category" msgstr "" -#: part/api.py:1849 +#: part/api.py:1803 msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:101 part/models.py:939 +#: part/bom.py:170 part/models.py:102 part/models.py:982 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:822 +#: part/bom.py:171 part/serializers.py:837 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6145,698 +6085,712 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:82 part/models.py:3867 part/templates/part/category.html:16 +#: part/models.py:83 part/models.py:3910 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:83 part/templates/part/category.html:136 +#: part/models.py:84 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "" -#: part/models.py:102 +#: part/models.py:103 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:107 stock/models.py:165 templates/js/translated/part.js:2810 -#: templates/js/translated/stock.js:2775 +#: part/models.py:108 stock/models.py:177 templates/js/translated/part.js:2809 +#: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "" -#: part/models.py:109 +#: part/models.py:110 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:118 +#: part/models.py:119 msgid "Default keywords" msgstr "" -#: part/models.py:119 +#: part/models.py:120 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:125 stock/models.py:89 stock/models.py:148 +#: part/models.py:126 stock/models.py:89 stock/models.py:160 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:126 stock/models.py:149 +#: part/models.py:127 stock/models.py:161 msgid "Icon (optional)" msgstr "" -#: part/models.py:148 +#: part/models.py:149 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:484 +#: part/models.py:482 +msgid "Cannot delete this part as it is still active" +msgstr "" + +#: part/models.py:489 +msgid "Cannot delete this part as it is used in an assembly" +msgstr "" + +#: part/models.py:527 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:532 part/models.py:539 +#: part/models.py:575 part/models.py:582 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:551 +#: part/models.py:594 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:616 +#: part/models.py:659 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:696 +#: part/models.py:739 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:801 +#: part/models.py:844 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:811 +#: part/models.py:854 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:826 +#: part/models.py:869 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:855 part/models.py:3922 +#: part/models.py:898 part/models.py:3965 msgid "Part name" msgstr "" -#: part/models.py:860 +#: part/models.py:903 msgid "Is Template" msgstr "" -#: part/models.py:861 +#: part/models.py:904 msgid "Is this part a template part?" msgstr "" -#: part/models.py:871 +#: part/models.py:914 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:879 +#: part/models.py:922 msgid "Part description (optional)" msgstr "" -#: part/models.py:887 +#: part/models.py:930 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:897 +#: part/models.py:940 msgid "Part category" msgstr "" -#: part/models.py:905 +#: part/models.py:948 msgid "Internal Part Number" msgstr "" -#: part/models.py:912 +#: part/models.py:955 msgid "Part revision or version number" msgstr "" -#: part/models.py:937 +#: part/models.py:980 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:983 part/templates/part/part_base.html:376 +#: part/models.py:1026 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:984 +#: part/models.py:1027 msgid "Default supplier part" msgstr "" -#: part/models.py:991 +#: part/models.py:1034 msgid "Default Expiry" msgstr "" -#: part/models.py:992 +#: part/models.py:1035 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1001 +#: part/models.py:1044 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1010 +#: part/models.py:1053 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1017 +#: part/models.py:1060 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1023 +#: part/models.py:1066 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1029 +#: part/models.py:1072 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1035 +#: part/models.py:1078 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1041 +#: part/models.py:1084 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1045 +#: part/models.py:1088 msgid "Is this part active?" msgstr "" -#: part/models.py:1051 +#: part/models.py:1094 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1057 +#: part/models.py:1100 msgid "BOM checksum" msgstr "" -#: part/models.py:1058 +#: part/models.py:1101 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1066 +#: part/models.py:1109 msgid "BOM checked by" msgstr "" -#: part/models.py:1071 +#: part/models.py:1114 msgid "BOM checked date" msgstr "" -#: part/models.py:1087 +#: part/models.py:1130 msgid "Creation User" msgstr "" -#: part/models.py:1097 +#: part/models.py:1140 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1102 part/templates/part/part_base.html:339 +#: part/models.py:1145 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 -#: templates/js/translated/part.js:2471 +#: templates/js/translated/part.js:2470 msgid "Last Stocktake" msgstr "" -#: part/models.py:1975 +#: part/models.py:2018 msgid "Sell multiple" msgstr "" -#: part/models.py:2994 +#: part/models.py:3037 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3010 +#: part/models.py:3053 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3011 +#: part/models.py:3054 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3017 +#: part/models.py:3060 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3018 +#: part/models.py:3061 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3024 +#: part/models.py:3067 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3025 +#: part/models.py:3068 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3031 +#: part/models.py:3074 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3032 +#: part/models.py:3075 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3038 +#: part/models.py:3081 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3039 +#: part/models.py:3082 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3045 +#: part/models.py:3088 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3046 +#: part/models.py:3089 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3052 +#: part/models.py:3095 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3053 +#: part/models.py:3096 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3059 +#: part/models.py:3102 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3060 +#: part/models.py:3103 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3066 +#: part/models.py:3109 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3067 +#: part/models.py:3110 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3073 +#: part/models.py:3116 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3074 +#: part/models.py:3117 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3081 +#: part/models.py:3124 msgid "Override minimum cost" msgstr "" -#: part/models.py:3088 +#: part/models.py:3131 msgid "Override maximum cost" msgstr "" -#: part/models.py:3095 +#: part/models.py:3138 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3102 +#: part/models.py:3145 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3108 +#: part/models.py:3151 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3109 +#: part/models.py:3152 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3115 +#: part/models.py:3158 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3116 +#: part/models.py:3159 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3122 +#: part/models.py:3165 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3123 +#: part/models.py:3166 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3129 +#: part/models.py:3172 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3130 +#: part/models.py:3173 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3149 +#: part/models.py:3192 msgid "Part for stocktake" msgstr "" -#: part/models.py:3154 +#: part/models.py:3197 msgid "Item Count" msgstr "" -#: part/models.py:3155 +#: part/models.py:3198 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3163 +#: part/models.py:3206 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3167 part/models.py:3250 +#: part/models.py:3210 part/models.py:3293 #: part/templates/part/part_scheduling.html:13 -#: report/templates/report/inventree_test_report_base.html:106 +#: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 #: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 -#: templates/js/translated/purchase_order.js:1732 -#: templates/js/translated/stock.js:2824 +#: templates/js/translated/purchase_order.js:1731 +#: templates/js/translated/stock.js:2821 msgid "Date" msgstr "" -#: part/models.py:3168 +#: part/models.py:3211 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3176 +#: part/models.py:3219 msgid "Additional notes" msgstr "" -#: part/models.py:3186 +#: part/models.py:3229 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3192 +#: part/models.py:3235 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3193 +#: part/models.py:3236 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3199 +#: part/models.py:3242 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3200 +#: part/models.py:3243 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3256 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3299 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3257 +#: part/models.py:3300 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3262 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3305 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3263 +#: part/models.py:3306 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3273 +#: part/models.py:3316 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3435 +#: part/models.py:3478 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3446 +#: part/models.py:3489 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3457 +#: part/models.py:3500 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3474 templates/js/translated/part.js:2879 +#: part/models.py:3517 templates/js/translated/part.js:2878 msgid "Test Name" msgstr "" -#: part/models.py:3475 +#: part/models.py:3518 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3481 +#: part/models.py:3524 msgid "Test Key" msgstr "" -#: part/models.py:3482 +#: part/models.py:3525 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3489 +#: part/models.py:3532 msgid "Test Description" msgstr "" -#: part/models.py:3490 +#: part/models.py:3533 msgid "Enter description for this test" msgstr "" -#: part/models.py:3494 +#: part/models.py:3537 report/models.py:208 +#: templates/js/translated/part.js:2899 +#: templates/js/translated/table_filters.js:481 +msgid "Enabled" +msgstr "" + +#: part/models.py:3537 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3499 templates/js/translated/part.js:2908 +#: part/models.py:3542 templates/js/translated/part.js:2907 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3500 +#: part/models.py:3543 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3505 templates/js/translated/part.js:2916 +#: part/models.py:3548 templates/js/translated/part.js:2915 msgid "Requires Value" msgstr "" -#: part/models.py:3506 +#: part/models.py:3549 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3511 templates/js/translated/part.js:2923 +#: part/models.py:3554 templates/js/translated/part.js:2922 msgid "Requires Attachment" msgstr "" -#: part/models.py:3513 +#: part/models.py:3556 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3560 +#: part/models.py:3603 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3565 +#: part/models.py:3608 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3585 +#: part/models.py:3628 msgid "Choices must be unique" msgstr "" -#: part/models.py:3602 +#: part/models.py:3645 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3617 +#: part/models.py:3660 msgid "Parameter Name" msgstr "" -#: part/models.py:3624 +#: part/models.py:3667 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3632 +#: part/models.py:3675 msgid "Parameter description" msgstr "" -#: part/models.py:3638 templates/js/translated/part.js:1627 +#: part/models.py:3681 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3639 +#: part/models.py:3682 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3644 templates/js/translated/part.js:1636 +#: part/models.py:3687 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3645 +#: part/models.py:3688 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3722 +#: part/models.py:3765 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3765 +#: part/models.py:3808 msgid "Parent Part" msgstr "" -#: part/models.py:3773 part/models.py:3874 part/models.py:3875 +#: part/models.py:3816 part/models.py:3917 part/models.py:3918 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3778 +#: part/models.py:3821 msgid "Data" msgstr "" -#: part/models.py:3779 +#: part/models.py:3822 msgid "Parameter Value" msgstr "" -#: part/models.py:3881 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3924 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3882 +#: part/models.py:3925 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3920 +#: part/models.py:3963 msgid "Part ID or part name" msgstr "" -#: part/models.py:3921 +#: part/models.py:3964 msgid "Unique part ID value" msgstr "" -#: part/models.py:3923 +#: part/models.py:3966 msgid "Part IPN value" msgstr "" -#: part/models.py:3924 +#: part/models.py:3967 msgid "Level" msgstr "" -#: part/models.py:3924 +#: part/models.py:3967 msgid "BOM level" msgstr "" -#: part/models.py:4014 +#: part/models.py:4057 msgid "Select parent part" msgstr "" -#: part/models.py:4024 +#: part/models.py:4067 msgid "Sub part" msgstr "" -#: part/models.py:4025 +#: part/models.py:4068 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4036 +#: part/models.py:4079 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4042 +#: part/models.py:4085 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4048 +#: part/models.py:4091 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4055 part/templates/part/upload_bom.html:55 +#: part/models.py:4098 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4056 +#: part/models.py:4099 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4063 +#: part/models.py:4106 msgid "BOM item reference" msgstr "" -#: part/models.py:4071 +#: part/models.py:4114 msgid "BOM item notes" msgstr "" -#: part/models.py:4077 +#: part/models.py:4120 msgid "Checksum" msgstr "" -#: part/models.py:4078 +#: part/models.py:4121 msgid "BOM line checksum" msgstr "" -#: part/models.py:4083 templates/js/translated/table_filters.js:174 +#: part/models.py:4126 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4084 +#: part/models.py:4127 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4089 part/templates/part/upload_bom.html:57 +#: part/models.py:4132 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4090 +#: part/models.py:4133 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4095 part/templates/part/upload_bom.html:56 +#: part/models.py:4138 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4096 +#: part/models.py:4139 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4181 stock/models.py:647 +#: part/models.py:4224 stock/models.py:668 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4191 part/models.py:4193 +#: part/models.py:4234 part/models.py:4236 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4333 +#: part/models.py:4376 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4354 +#: part/models.py:4397 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4367 +#: part/models.py:4410 msgid "Parent BOM item" msgstr "" -#: part/models.py:4375 +#: part/models.py:4418 msgid "Substitute part" msgstr "" -#: part/models.py:4391 +#: part/models.py:4434 msgid "Part 1" msgstr "" -#: part/models.py:4399 +#: part/models.py:4442 msgid "Part 2" msgstr "" -#: part/models.py:4400 +#: part/models.py:4443 msgid "Select Related Part" msgstr "" -#: part/models.py:4419 +#: part/models.py:4462 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4424 +#: part/models.py:4467 msgid "Duplicate relationship already exists" msgstr "" @@ -6854,7 +6808,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:406 +#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:535 msgid "Purchase currency of this stock item" msgstr "" @@ -6870,299 +6824,299 @@ msgstr "" msgid "Select category" msgstr "" -#: part/serializers.py:437 +#: part/serializers.py:442 msgid "Original Part" msgstr "" -#: part/serializers.py:438 +#: part/serializers.py:443 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:448 msgid "Copy Image" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:449 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:450 part/templates/part/detail.html:277 +#: part/serializers.py:455 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:451 +#: part/serializers.py:456 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:462 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:458 +#: part/serializers.py:463 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:464 +#: part/serializers.py:469 msgid "Copy Notes" msgstr "" -#: part/serializers.py:465 +#: part/serializers.py:470 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:478 +#: part/serializers.py:488 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:490 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:487 +#: part/serializers.py:497 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:488 +#: part/serializers.py:498 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:500 +#: part/serializers.py:515 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:531 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:526 +#: part/serializers.py:541 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:533 +#: part/serializers.py:548 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:542 +#: part/serializers.py:557 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:553 +#: part/serializers.py:568 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:560 +#: part/serializers.py:575 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:823 +#: part/serializers.py:838 msgid "External Stock" msgstr "" -#: part/serializers.py:825 +#: part/serializers.py:840 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:828 +#: part/serializers.py:843 msgid "Variant Stock" msgstr "" -#: part/serializers.py:856 part/templates/part/copy_part.html:9 +#: part/serializers.py:871 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:857 +#: part/serializers.py:872 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:863 templates/js/translated/part.js:102 +#: part/serializers.py:878 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:864 +#: part/serializers.py:879 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:870 +#: part/serializers.py:885 msgid "Supplier Information" msgstr "" -#: part/serializers.py:871 +#: part/serializers.py:886 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:879 +#: part/serializers.py:894 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:880 +#: part/serializers.py:895 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:885 +#: part/serializers.py:900 msgid "Existing Image" msgstr "" -#: part/serializers.py:886 +#: part/serializers.py:901 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:918 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1109 +#: part/serializers.py:1124 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1119 +#: part/serializers.py:1134 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1129 +#: part/serializers.py:1144 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1135 +#: part/serializers.py:1150 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1136 +#: part/serializers.py:1151 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1141 +#: part/serializers.py:1156 msgid "Generate Report" msgstr "" -#: part/serializers.py:1142 +#: part/serializers.py:1157 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1147 +#: part/serializers.py:1162 msgid "Update Parts" msgstr "" -#: part/serializers.py:1148 +#: part/serializers.py:1163 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1156 +#: part/serializers.py:1171 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1262 +#: part/serializers.py:1277 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1269 +#: part/serializers.py:1284 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1277 +#: part/serializers.py:1292 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1284 +#: part/serializers.py:1299 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1313 +#: part/serializers.py:1328 msgid "Update" msgstr "" -#: part/serializers.py:1314 +#: part/serializers.py:1329 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1337 +#: part/serializers.py:1352 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1344 +#: part/serializers.py:1359 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1347 +#: part/serializers.py:1362 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1714 +#: part/serializers.py:1729 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1722 +#: part/serializers.py:1737 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1723 +#: part/serializers.py:1738 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1728 +#: part/serializers.py:1743 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1729 +#: part/serializers.py:1744 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1734 +#: part/serializers.py:1749 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1735 +#: part/serializers.py:1750 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1755 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1756 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1775 +#: part/serializers.py:1790 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1776 +#: part/serializers.py:1791 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1806 +#: part/serializers.py:1821 msgid "No part column specified" msgstr "" -#: part/serializers.py:1850 +#: part/serializers.py:1865 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1853 +#: part/serializers.py:1868 msgid "No matching part found" msgstr "" -#: part/serializers.py:1856 +#: part/serializers.py:1871 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1865 +#: part/serializers.py:1880 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1888 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1894 +#: part/serializers.py:1909 msgid "At least one BOM item is required" msgstr "" #: part/stocktake.py:224 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:2085 +#: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" @@ -7314,7 +7268,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2218 users/models.py:204 +#: templates/js/translated/stock.js:2216 users/models.py:204 msgid "Stocktake" msgstr "" @@ -7412,15 +7366,15 @@ msgstr "" msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:659 +#: part/templates/part/detail.html:655 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:667 +#: part/templates/part/detail.html:663 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:752 +#: part/templates/part/detail.html:748 msgid "Add Test Result Template" msgstr "" @@ -7479,7 +7433,7 @@ msgstr "" #: part/templates/part/part_base.html:52 #: stock/templates/stock/item_base.html:62 -#: stock/templates/stock/location.html:74 +#: stock/templates/stock/location.html:74 templates/js/translated/label.js:142 msgid "Print Label" msgstr "" @@ -7501,7 +7455,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2293 +#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2292 msgid "Part actions" msgstr "" @@ -7550,7 +7504,7 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:163 -#: part/templates/part/part_base.html:682 +#: part/templates/part/part_base.html:681 msgid "Show Part Details" msgstr "" @@ -7573,7 +7527,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2444 +#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2443 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7596,19 +7550,19 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:512 +#: part/templates/part/part_base.html:511 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:529 +#: part/templates/part/part_base.html:528 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:580 +#: part/templates/part/part_base.html:579 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:676 +#: part/templates/part/part_base.html:675 msgid "Hide Part Details" msgstr "" @@ -7667,8 +7621,8 @@ msgstr "" #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 -#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 -#: templates/js/translated/stock.js:2072 templates/navbar.html:31 +#: templates/js/translated/part.js:2391 templates/js/translated/stock.js:1059 +#: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7714,7 +7668,7 @@ msgstr "" #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 -#: templates/js/translated/stock.js:2248 +#: templates/js/translated/stock.js:2246 msgid "Last Updated" msgstr "" @@ -7786,7 +7740,7 @@ msgid "Update Pricing" msgstr "" #: part/templates/part/stock_count.html:7 -#: templates/js/translated/model_renderers.js:221 +#: templates/js/translated/model_renderers.js:227 #: templates/js/translated/part.js:704 templates/js/translated/part.js:2140 #: templates/js/translated/part.js:2142 msgid "No Stock" @@ -7866,7 +7820,7 @@ msgstr "" msgid "Part Pricing" msgstr "" -#: plugin/api.py:168 +#: plugin/api.py:170 msgid "Plugin cannot be deleted as it is currently active" msgstr "" @@ -7933,7 +7887,7 @@ msgid "Stock item does not match line item" msgstr "" #: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2589 -#: templates/js/translated/sales_order.js:1917 +#: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "" @@ -8027,22 +7981,18 @@ msgstr "" msgid "Quantity to allocate" msgstr "" -#: plugin/base/label/label.py:39 +#: plugin/base/label/label.py:39 templates/js/translated/label.js:154 msgid "Label printing failed" msgstr "" -#: plugin/base/label/mixins.py:63 +#: plugin/base/label/mixins.py:56 msgid "Error rendering label to PDF" msgstr "" -#: plugin/base/label/mixins.py:76 +#: plugin/base/label/mixins.py:70 msgid "Error rendering label to HTML" msgstr "" -#: plugin/base/label/mixins.py:111 -msgid "Error rendering label to PNG" -msgstr "" - #: plugin/builtin/barcodes/inventree_barcode.py:25 msgid "InvenTree Barcodes" msgstr "" @@ -8054,7 +8004,7 @@ msgstr "" #: plugin/builtin/barcodes/inventree_barcode.py:28 #: plugin/builtin/integration/core_notifications.py:35 #: plugin/builtin/integration/currency_exchange.py:21 -#: plugin/builtin/labels/inventree_label.py:23 +#: plugin/builtin/labels/inventree_label.py:22 #: plugin/builtin/labels/inventree_machine.py:64 #: plugin/builtin/labels/label_sheet.py:63 #: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 @@ -8108,19 +8058,19 @@ msgstr "" msgid "Default currency exchange integration" msgstr "" -#: plugin/builtin/labels/inventree_label.py:20 +#: plugin/builtin/labels/inventree_label.py:19 msgid "InvenTree PDF label printer" msgstr "" -#: plugin/builtin/labels/inventree_label.py:21 +#: plugin/builtin/labels/inventree_label.py:20 msgid "Provides native support for printing PDF labels" msgstr "" -#: plugin/builtin/labels/inventree_label.py:29 +#: plugin/builtin/labels/inventree_label.py:28 msgid "Debug mode" msgstr "" -#: plugin/builtin/labels/inventree_label.py:30 +#: plugin/builtin/labels/inventree_label.py:29 msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "" @@ -8132,11 +8082,11 @@ msgstr "" msgid "Provides support for printing using a machine" msgstr "" -#: plugin/builtin/labels/inventree_machine.py:150 +#: plugin/builtin/labels/inventree_machine.py:151 msgid "last used" msgstr "" -#: plugin/builtin/labels/inventree_machine.py:167 +#: plugin/builtin/labels/inventree_machine.py:168 msgid "Options" msgstr "" @@ -8160,7 +8110,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:47 report/models.py:209 +#: plugin/builtin/labels/label_sheet.py:47 report/models.py:308 msgid "Landscape" msgstr "" @@ -8176,11 +8126,11 @@ msgstr "" msgid "Arrays multiple labels onto a single sheet" msgstr "" -#: plugin/builtin/labels/label_sheet.py:94 +#: plugin/builtin/labels/label_sheet.py:99 msgid "Label is too large for page size" msgstr "" -#: plugin/builtin/labels/label_sheet.py:128 +#: plugin/builtin/labels/label_sheet.py:133 msgid "No labels were generated" msgstr "" @@ -8273,61 +8223,62 @@ msgstr "" msgid "Uninstalled plugin successfully" msgstr "" -#: plugin/models.py:30 +#: plugin/models.py:35 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:31 +#: plugin/models.py:36 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:34 users/models.py:100 +#: plugin/models.py:42 users/models.py:100 msgid "Key" msgstr "" -#: plugin/models.py:34 +#: plugin/models.py:43 msgid "Key of plugin" msgstr "" -#: plugin/models.py:42 +#: plugin/models.py:51 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:49 plugin/serializers.py:90 +#: plugin/models.py:58 plugin/serializers.py:90 msgid "Package Name" msgstr "" -#: plugin/models.py:51 +#: plugin/models.py:60 msgid "Name of the installed package, if the plugin was installed via PIP" msgstr "" -#: plugin/models.py:56 +#: plugin/models.py:65 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:147 templates/js/translated/table_filters.js:370 +#: plugin/models.py:156 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "" -#: plugin/models.py:156 +#: plugin/models.py:165 msgid "Sample plugin" msgstr "" -#: plugin/models.py:164 +#: plugin/models.py:173 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:172 +#: plugin/models.py:181 msgid "Package Plugin" msgstr "" -#: plugin/models.py:196 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:205 report/models.py:475 +#: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" msgstr "" -#: plugin/models.py:243 +#: plugin/models.py:252 msgid "Method" msgstr "" @@ -8468,239 +8419,323 @@ msgstr "" msgid "Delete the plugin configuration from the database" msgstr "" -#: report/api.py:158 +#: report/api.py:77 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:197 report/api.py:234 +#: report/api.py:89 report/serializers.py:53 +msgid "Model Type" +msgstr "" + +#: report/api.py:92 report/models.py:439 report/serializers.py:98 +#: report/serializers.py:148 templates/js/translated/purchase_order.js:1747 +#: templates/js/translated/return_order.js:353 +#: templates/js/translated/sales_order.js:887 +#: templates/js/translated/sales_order.js:1047 +msgid "Items" +msgstr "" + +#: report/api.py:168 +msgid "Plugin not found" +msgstr "" + +#: report/api.py:170 +msgid "Plugin is not active" +msgstr "" + +#: report/api.py:172 +msgid "Plugin does not support label printing" +msgstr "" + +#: report/api.py:221 +msgid "Invalid label dimensions" +msgstr "" + +#: report/api.py:236 report/api.py:316 +msgid "No valid items provided to template" +msgstr "" + +#: report/api.py:271 +msgid "Error printing label" +msgstr "" + +#: report/api.py:362 report/api.py:398 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:319 -msgid "Test report" -msgstr "" - -#: report/helpers.py:15 +#: report/helpers.py:41 msgid "A4" msgstr "" -#: report/helpers.py:16 +#: report/helpers.py:42 msgid "A3" msgstr "" -#: report/helpers.py:17 +#: report/helpers.py:43 msgid "Legal" msgstr "" -#: report/helpers.py:18 +#: report/helpers.py:44 msgid "Letter" msgstr "" -#: report/models.py:177 +#: report/models.py:118 +msgid "Template file with this name already exists" +msgstr "" + +#: report/models.py:150 msgid "Template name" msgstr "" -#: report/models.py:183 -msgid "Report template file" +#: report/models.py:156 +msgid "Template description" msgstr "" -#: report/models.py:190 -msgid "Report template description" +#: report/models.py:162 +msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:196 -msgid "Report revision number (auto-increments)" +#: report/models.py:202 +msgid "Filename Pattern" msgstr "" -#: report/models.py:204 +#: report/models.py:203 +msgid "Pattern for generating filenames" +msgstr "" + +#: report/models.py:208 +msgid "Template is enabled" +msgstr "" + +#: report/models.py:214 +msgid "Target model type for template" +msgstr "" + +#: report/models.py:234 +msgid "Filters" +msgstr "" + +#: report/models.py:235 +msgid "Template query filters (comma-separated list of key=value pairs)" +msgstr "" + +#: report/models.py:295 report/models.py:362 +msgid "Template file" +msgstr "" + +#: report/models.py:303 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:210 +#: report/models.py:309 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:318 -msgid "Pattern for generating report filenames" +#: report/models.py:368 +msgid "Width [mm]" msgstr "" -#: report/models.py:325 -msgid "Report template is enabled" +#: report/models.py:369 +msgid "Label width, specified in mm" msgstr "" -#: report/models.py:347 -msgid "StockItem query filters (comma-separated list of key=value pairs)" +#: report/models.py:375 +msgid "Height [mm]" msgstr "" -#: report/models.py:354 -msgid "Include Installed Tests" +#: report/models.py:376 +msgid "Label height, specified in mm" msgstr "" -#: report/models.py:356 -msgid "Include test results for stock items installed inside assembled item" +#: report/models.py:439 +msgid "Number of items to process" msgstr "" -#: report/models.py:424 -msgid "Build Filters" +#: report/models.py:445 +msgid "Report generation is complete" msgstr "" -#: report/models.py:425 -msgid "Build query filters (comma-separated list of key=value pairs" +#: report/models.py:449 templates/js/translated/build.js:2177 +msgid "Progress" msgstr "" -#: report/models.py:464 -msgid "Part Filters" +#: report/models.py:449 +msgid "Report generation progress" msgstr "" -#: report/models.py:465 -msgid "Part query filters (comma-separated list of key=value pairs" +#: report/models.py:457 +msgid "Report Template" msgstr "" -#: report/models.py:497 -msgid "Purchase order query filters" +#: report/models.py:464 report/models.py:487 +msgid "Output File" msgstr "" -#: report/models.py:533 -msgid "Sales order query filters" +#: report/models.py:465 report/models.py:488 +msgid "Generated output file" msgstr "" -#: report/models.py:569 -msgid "Return order query filters" +#: report/models.py:476 +msgid "Label output plugin" msgstr "" -#: report/models.py:641 -msgid "Snippet file with this name already exists" +#: report/models.py:480 +msgid "Label Template" msgstr "" -#: report/models.py:648 +#: report/models.py:503 msgid "Snippet" msgstr "" -#: report/models.py:649 +#: report/models.py:504 msgid "Report snippet file" msgstr "" -#: report/models.py:656 +#: report/models.py:511 msgid "Snippet file description" msgstr "" -#: report/models.py:714 -msgid "Asset file with this name already exists" -msgstr "" - -#: report/models.py:722 +#: report/models.py:529 msgid "Asset" msgstr "" -#: report/models.py:723 +#: report/models.py:530 msgid "Report asset file" msgstr "" -#: report/models.py:730 +#: report/models.py:537 msgid "Asset file description" msgstr "" -#: report/models.py:752 -msgid "stock location query filters (comma-separated list of key=value pairs)" +#: report/serializers.py:91 +msgid "Select report template" +msgstr "" + +#: report/serializers.py:99 report/serializers.py:149 +msgid "List of item primary keys to include in the report" +msgstr "" + +#: report/serializers.py:132 +msgid "Select label template" +msgstr "" + +#: report/serializers.py:140 +msgid "Printing Plugin" +msgstr "" + +#: report/serializers.py:141 +msgid "Select plugin to use for label printing" +msgstr "" + +#: report/templates/label/part_label.html:31 +#: report/templates/label/stockitem_qr.html:21 +#: report/templates/label/stocklocation_qr.html:20 +#: templates/allauth_2fa/setup.html:18 +msgid "QR Code" +msgstr "" + +#: report/templates/label/part_label_code128.html:31 +#: report/templates/label/stocklocation_qr_and_text.html:31 +#: templates/qr_code.html:7 +msgid "QR code" msgstr "" #: report/templates/report/inventree_bill_of_materials_report.html:133 msgid "Materials needed" msgstr "" -#: report/templates/report/inventree_build_order_base.html:146 +#: report/templates/report/inventree_build_order_report.html:146 msgid "Required For" msgstr "" -#: report/templates/report/inventree_po_report_base.html:15 +#: report/templates/report/inventree_purchase_order_report.html:15 msgid "Supplier was deleted" msgstr "" -#: report/templates/report/inventree_po_report_base.html:30 -#: report/templates/report/inventree_so_report_base.html:30 +#: report/templates/report/inventree_purchase_order_report.html:30 +#: report/templates/report/inventree_sales_order_report.html:30 #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:834 -#: templates/js/translated/purchase_order.js:2116 -#: templates/js/translated/sales_order.js:1837 +#: templates/js/translated/purchase_order.js:2115 +#: templates/js/translated/sales_order.js:1873 msgid "Unit Price" msgstr "" -#: report/templates/report/inventree_po_report_base.html:55 -#: report/templates/report/inventree_return_order_report_base.html:48 -#: report/templates/report/inventree_so_report_base.html:55 +#: report/templates/report/inventree_purchase_order_report.html:55 +#: report/templates/report/inventree_return_order_report.html:48 +#: report/templates/report/inventree_sales_order_report.html:55 msgid "Extra Line Items" 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:2018 -#: templates/js/translated/sales_order.js:1806 +#: report/templates/report/inventree_purchase_order_report.html:72 +#: report/templates/report/inventree_sales_order_report.html:72 +#: templates/js/translated/purchase_order.js:2017 +#: templates/js/translated/sales_order.js:1842 msgid "Total" msgstr "" -#: report/templates/report/inventree_return_order_report_base.html:25 -#: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:809 stock/templates/stock/item_base.html:311 +#: report/templates/report/inventree_return_order_report.html:25 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:830 +#: stock/serializers.py:150 stock/templates/stock/item_base.html:311 #: templates/js/translated/build.js:519 templates/js/translated/build.js:1367 #: templates/js/translated/build.js:2355 -#: templates/js/translated/model_renderers.js:224 -#: templates/js/translated/return_order.js:540 -#: templates/js/translated/return_order.js:724 +#: templates/js/translated/model_renderers.js:230 +#: templates/js/translated/return_order.js:539 +#: templates/js/translated/return_order.js:723 #: templates/js/translated/sales_order.js:315 -#: templates/js/translated/sales_order.js:1611 -#: templates/js/translated/sales_order.js:1696 +#: templates/js/translated/sales_order.js:1647 +#: templates/js/translated/sales_order.js:1732 #: templates/js/translated/stock.js:596 msgid "Serial Number" msgstr "" -#: report/templates/report/inventree_slr_report.html:97 +#: report/templates/report/inventree_stock_location_report.html:97 msgid "Stock location items" msgstr "" -#: report/templates/report/inventree_test_report_base.html:21 +#: report/templates/report/inventree_test_report.html:21 msgid "Stock Item Test Report" msgstr "" -#: report/templates/report/inventree_test_report_base.html:97 +#: report/templates/report/inventree_test_report.html:97 msgid "Test Results" msgstr "" -#: report/templates/report/inventree_test_report_base.html:102 +#: report/templates/report/inventree_test_report.html:102 #: templates/js/translated/stock.js:1495 msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2442 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2419 msgid "Result" msgstr "" -#: report/templates/report/inventree_test_report_base.html:130 +#: report/templates/report/inventree_test_report.html:130 msgid "Pass" msgstr "" -#: report/templates/report/inventree_test_report_base.html:132 +#: report/templates/report/inventree_test_report.html:132 msgid "Fail" msgstr "" -#: report/templates/report/inventree_test_report_base.html:139 +#: report/templates/report/inventree_test_report.html:139 msgid "No result (required)" msgstr "" -#: report/templates/report/inventree_test_report_base.html:141 +#: report/templates/report/inventree_test_report.html:141 msgid "No result" msgstr "" -#: report/templates/report/inventree_test_report_base.html:154 +#: report/templates/report/inventree_test_report.html:154 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report_base.html:168 -#: stock/admin.py:162 templates/js/translated/stock.js:700 -#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3113 +#: report/templates/report/inventree_test_report.html:168 stock/admin.py:162 +#: templates/js/translated/stock.js:700 templates/js/translated/stock.js:871 +#: templates/js/translated/stock.js:3110 msgid "Serial" msgstr "" @@ -8757,7 +8792,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:201 stock/models.py:789 +#: stock/admin.py:201 stock/models.py:810 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" @@ -8782,66 +8817,66 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:256 stock/models.py:883 +#: stock/admin.py:256 stock/models.py:904 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2232 users/models.py:124 +#: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" msgstr "" -#: stock/api.py:284 +#: stock/api.py:318 msgid "Filter by location depth" msgstr "" -#: stock/api.py:304 +#: stock/api.py:338 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:325 +#: stock/api.py:359 msgid "Parent Location" msgstr "" -#: stock/api.py:326 +#: stock/api.py:360 msgid "Filter by parent location" msgstr "" -#: stock/api.py:579 templates/js/translated/table_filters.js:427 +#: stock/api.py:613 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:767 +#: stock/api.py:801 msgid "Part Tree" msgstr "" -#: stock/api.py:797 +#: stock/api.py:831 msgid "Expiry date before" msgstr "" -#: stock/api.py:801 +#: stock/api.py:835 msgid "Expiry date after" msgstr "" -#: stock/api.py:804 stock/templates/stock/item_base.html:439 +#: stock/api.py:838 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:891 +#: stock/api.py:925 msgid "Quantity is required" msgstr "" -#: stock/api.py:897 +#: stock/api.py:931 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:928 +#: stock/api.py:962 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:938 +#: stock/api.py:972 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:969 +#: stock/api.py:1003 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8857,477 +8892,517 @@ msgstr "" msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:125 stock/models.py:771 +#: stock/models.py:127 stock/models.py:792 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:126 stock/templates/stock/location.html:179 +#: stock/models.py:128 stock/templates/stock/location.html:186 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "" -#: stock/models.py:158 stock/models.py:932 +#: stock/models.py:170 stock/models.py:953 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:159 stock/models.py:933 +#: stock/models.py:171 stock/models.py:954 msgid "Select Owner" msgstr "" -#: stock/models.py:167 +#: stock/models.py:179 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:174 templates/js/translated/stock.js:2784 +#: stock/models.py:186 templates/js/translated/stock.js:2781 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "" -#: stock/models.py:175 +#: stock/models.py:187 msgid "This is an external stock location" msgstr "" -#: stock/models.py:181 templates/js/translated/stock.js:2793 +#: stock/models.py:193 templates/js/translated/stock.js:2790 #: templates/js/translated/table_filters.js:246 msgid "Location type" msgstr "" -#: stock/models.py:185 +#: stock/models.py:197 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:254 +#: stock/models.py:266 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:626 +#: stock/models.py:647 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:653 stock/serializers.py:290 +#: stock/models.py:674 stock/serializers.py:419 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:670 +#: stock/models.py:691 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:680 stock/models.py:693 +#: stock/models.py:701 stock/models.py:714 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:683 +#: stock/models.py:704 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:707 +#: stock/models.py:728 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:712 +#: stock/models.py:733 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:725 +#: stock/models.py:746 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:741 +#: stock/models.py:762 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:753 +#: stock/models.py:774 msgid "Base part" msgstr "" -#: stock/models.py:763 +#: stock/models.py:784 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:775 +#: stock/models.py:796 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:783 stock/serializers.py:1351 +#: stock/models.py:804 stock/serializers.py:1480 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:794 +#: stock/models.py:815 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:813 +#: stock/models.py:834 msgid "Serial number for this item" msgstr "" -#: stock/models.py:827 stock/serializers.py:1334 +#: stock/models.py:848 stock/serializers.py:1463 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:832 +#: stock/models.py:853 msgid "Stock Quantity" msgstr "" -#: stock/models.py:842 +#: stock/models.py:863 msgid "Source Build" msgstr "" -#: stock/models.py:845 +#: stock/models.py:866 msgid "Build for this stock item" msgstr "" -#: stock/models.py:852 stock/templates/stock/item_base.html:363 +#: stock/models.py:873 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:855 +#: stock/models.py:876 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:864 +#: stock/models.py:885 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:868 +#: stock/models.py:889 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:874 +#: stock/models.py:895 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:885 +#: stock/models.py:906 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:903 +#: stock/models.py:924 msgid "Delete on deplete" msgstr "" -#: stock/models.py:904 +#: stock/models.py:925 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:924 +#: stock/models.py:945 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:955 +#: stock/models.py:976 msgid "Converted to part" msgstr "" -#: stock/models.py:1473 +#: stock/models.py:1494 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1479 +#: stock/models.py:1500 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1487 +#: stock/models.py:1508 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1493 +#: stock/models.py:1514 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1498 +#: stock/models.py:1519 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1506 stock/serializers.py:529 +#: stock/models.py:1527 stock/serializers.py:658 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1603 +#: stock/models.py:1624 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1621 +#: stock/models.py:1642 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1625 +#: stock/models.py:1646 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1628 +#: stock/models.py:1649 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1631 +#: stock/models.py:1652 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1634 +#: stock/models.py:1655 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1637 +#: stock/models.py:1658 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1644 stock/serializers.py:1240 +#: stock/models.py:1665 stock/serializers.py:1369 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1648 +#: stock/models.py:1669 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1656 +#: stock/models.py:1677 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1661 +#: stock/models.py:1682 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1882 +#: stock/models.py:1903 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2345 +#: stock/models.py:2322 msgid "Entry notes" msgstr "" -#: stock/models.py:2410 +#: stock/models.py:2387 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2415 +#: stock/models.py:2392 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2442 +#: stock/models.py:2419 msgid "Test result" msgstr "" -#: stock/models.py:2449 +#: stock/models.py:2426 msgid "Test output value" msgstr "" -#: stock/models.py:2457 +#: stock/models.py:2434 msgid "Test result attachment" msgstr "" -#: stock/models.py:2461 +#: stock/models.py:2438 msgid "Test notes" msgstr "" -#: stock/models.py:2469 templates/js/translated/stock.js:1548 +#: stock/models.py:2446 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "" -#: stock/models.py:2470 +#: stock/models.py:2447 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2476 +#: stock/models.py:2453 msgid "Started" msgstr "" -#: stock/models.py:2477 +#: stock/models.py:2454 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2483 +#: stock/models.py:2460 msgid "Finished" msgstr "" -#: stock/models.py:2484 +#: stock/models.py:2461 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:100 +#: stock/serializers.py:75 +msgid "Generated batch code" +msgstr "" + +#: stock/serializers.py:84 +msgid "Select build order" +msgstr "" + +#: stock/serializers.py:93 +msgid "Select stock item to generate batch code for" +msgstr "" + +#: stock/serializers.py:102 +msgid "Select location to generate batch code for" +msgstr "" + +#: stock/serializers.py:111 +msgid "Select part to generate batch code for" +msgstr "" + +#: stock/serializers.py:120 +msgid "Select purchase order" +msgstr "" + +#: stock/serializers.py:127 +msgid "Enter quantity for batch code" +msgstr "" + +#: stock/serializers.py:150 +msgid "Generated serial number" +msgstr "" + +#: stock/serializers.py:159 +msgid "Select part to generate serial number for" +msgstr "" + +#: stock/serializers.py:167 +msgid "Quantity of serial numbers to generate" +msgstr "" + +#: stock/serializers.py:229 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:119 +#: stock/serializers.py:248 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:151 +#: stock/serializers.py:280 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:184 +#: stock/serializers.py:313 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:282 +#: stock/serializers.py:411 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:402 +#: stock/serializers.py:531 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:464 +#: stock/serializers.py:593 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:477 +#: stock/serializers.py:606 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:484 +#: stock/serializers.py:613 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:495 stock/serializers.py:1197 stock/serializers.py:1453 +#: stock/serializers.py:624 stock/serializers.py:1326 stock/serializers.py:1582 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:502 +#: stock/serializers.py:631 msgid "Optional note field" msgstr "" -#: stock/serializers.py:512 +#: stock/serializers.py:641 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:567 +#: stock/serializers.py:696 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:574 +#: stock/serializers.py:703 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:575 +#: stock/serializers.py:704 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:580 stock/serializers.py:660 stock/serializers.py:756 -#: stock/serializers.py:806 +#: stock/serializers.py:709 stock/serializers.py:789 stock/serializers.py:885 +#: stock/serializers.py:935 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:588 +#: stock/serializers.py:717 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:596 +#: stock/serializers.py:725 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:607 +#: stock/serializers.py:736 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:620 +#: stock/serializers.py:749 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:655 +#: stock/serializers.py:784 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:690 +#: stock/serializers.py:819 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:703 +#: stock/serializers.py:832 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:720 +#: stock/serializers.py:849 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:751 +#: stock/serializers.py:880 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:788 +#: stock/serializers.py:917 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:794 +#: stock/serializers.py:923 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:890 stock/serializers.py:953 +#: stock/serializers.py:1019 stock/serializers.py:1082 #: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:213 +#: stock/templates/stock/location.html:220 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1069 +#: stock/serializers.py:1198 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1073 +#: stock/serializers.py:1202 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1077 +#: stock/serializers.py:1206 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1101 +#: stock/serializers.py:1230 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1107 +#: stock/serializers.py:1236 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1115 +#: stock/serializers.py:1244 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1125 stock/serializers.py:1379 +#: stock/serializers.py:1254 stock/serializers.py:1508 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1204 +#: stock/serializers.py:1333 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1209 +#: stock/serializers.py:1338 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1210 +#: stock/serializers.py:1339 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1215 +#: stock/serializers.py:1344 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1216 +#: stock/serializers.py:1345 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1226 +#: stock/serializers.py:1355 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1293 +#: stock/serializers.py:1422 msgid "No Change" msgstr "" -#: stock/serializers.py:1322 +#: stock/serializers.py:1451 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1341 +#: stock/serializers.py:1470 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1369 +#: stock/serializers.py:1498 msgid "Stock transaction notes" msgstr "" @@ -9352,7 +9427,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:286 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:282 msgid "Delete Test Data" msgstr "" @@ -9368,15 +9443,15 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3274 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3271 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:274 +#: stock/templates/stock/item.html:270 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:304 templates/js/translated/stock.js:1701 +#: stock/templates/stock/item.html:300 templates/js/translated/stock.js:1701 msgid "Add Test Result" msgstr "" @@ -9561,40 +9636,40 @@ msgstr "" msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:507 -#: templates/js/translated/stock.js:1954 +#: stock/templates/stock/item_base.html:504 +#: templates/js/translated/stock.js:1952 msgid "stock item" msgstr "" -#: stock/templates/stock/item_base.html:532 +#: stock/templates/stock/item_base.html:527 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:541 +#: stock/templates/stock/item_base.html:536 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:552 +#: stock/templates/stock/item_base.html:547 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:616 +#: stock/templates/stock/item_base.html:611 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:619 +#: stock/templates/stock/item_base.html:614 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:620 +#: stock/templates/stock/item_base.html:615 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:628 +#: stock/templates/stock/item_base.html:623 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:662 +#: stock/templates/stock/item_base.html:657 msgid "Return to Stock" msgstr "" @@ -9658,28 +9733,32 @@ msgstr "" msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:217 +#: stock/templates/stock/location.html:176 +msgid "Location Type" +msgstr "" + +#: stock/templates/stock/location.html:224 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:218 +#: stock/templates/stock/location.html:225 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:287 -#: templates/js/translated/stock.js:2575 +#: stock/templates/stock/location.html:295 +#: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:315 +#: stock/templates/stock/location.html:317 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:388 +#: stock/templates/stock/location.html:390 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:399 +#: stock/templates/stock/location.html:401 msgid "Link Barcode to Stock Location" msgstr "" @@ -9949,11 +10028,11 @@ msgstr "" msgid "Part Settings" msgstr "" -#: templates/InvenTree/settings/part.html:42 +#: templates/InvenTree/settings/part.html:43 msgid "Part Import" msgstr "" -#: templates/InvenTree/settings/part.html:46 +#: templates/InvenTree/settings/part.html:47 msgid "Import Part" msgstr "" @@ -10174,7 +10253,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:424 +#: templates/js/translated/stock.js:245 users/models.py:411 msgid "Delete" msgstr "" @@ -10283,7 +10362,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2159 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2163 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" @@ -10874,7 +10953,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3218 +#: templates/js/translated/part.js:3217 msgid "Minimum Quantity" msgstr "" @@ -11254,7 +11333,7 @@ msgid "External stock" msgstr "" #: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2595 -#: templates/js/translated/sales_order.js:1910 +#: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" @@ -11264,7 +11343,7 @@ msgstr "" #: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 #: templates/js/translated/part.js:1256 -#: templates/js/translated/sales_order.js:1907 +#: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" @@ -11519,17 +11598,17 @@ msgstr "" #: templates/js/translated/build.js:1576 #: templates/js/translated/purchase_order.js:611 -#: templates/js/translated/sales_order.js:1171 +#: templates/js/translated/sales_order.js:1207 msgid "Select Parts" msgstr "" #: templates/js/translated/build.js:1577 -#: templates/js/translated/sales_order.js:1172 +#: templates/js/translated/sales_order.js:1208 msgid "You must select at least one part to allocate" msgstr "" #: templates/js/translated/build.js:1640 -#: templates/js/translated/sales_order.js:1121 +#: templates/js/translated/sales_order.js:1157 msgid "Specify stock allocation quantity" msgstr "" @@ -11542,7 +11621,7 @@ msgid "All selected parts have been fully allocated" msgstr "" #: templates/js/translated/build.js:1732 -#: templates/js/translated/sales_order.js:1186 +#: templates/js/translated/sales_order.js:1222 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -11551,12 +11630,12 @@ msgid "Allocate Stock Items to Build Order" msgstr "" #: templates/js/translated/build.js:1771 -#: templates/js/translated/sales_order.js:1283 +#: templates/js/translated/sales_order.js:1319 msgid "No matching stock locations" msgstr "" #: templates/js/translated/build.js:1844 -#: templates/js/translated/sales_order.js:1362 +#: templates/js/translated/sales_order.js:1398 msgid "No matching stock items" msgstr "" @@ -11589,9 +11668,9 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 -#: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 -#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 -#: templates/js/translated/stock.js:1985 templates/js/translated/stock.js:2713 +#: templates/js/translated/forms.js:2159 templates/js/translated/forms.js:2175 +#: templates/js/translated/part.js:2315 templates/js/translated/part.js:2741 +#: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "" @@ -11599,21 +11678,17 @@ msgstr "" msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2177 -msgid "Progress" -msgstr "" - -#: templates/js/translated/build.js:2213 templates/js/translated/stock.js:3045 +#: templates/js/translated/build.js:2213 templates/js/translated/stock.js:3042 msgid "No user information" msgstr "" #: templates/js/translated/build.js:2389 -#: templates/js/translated/sales_order.js:1646 +#: templates/js/translated/sales_order.js:1682 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:2390 -#: templates/js/translated/sales_order.js:1647 +#: templates/js/translated/sales_order.js:1683 msgid "Delete stock allocation" msgstr "" @@ -11647,7 +11722,7 @@ msgid "Unit Quantity" msgstr "" #: templates/js/translated/build.js:2591 -#: templates/js/translated/sales_order.js:1915 +#: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" @@ -11664,7 +11739,7 @@ msgid "Allocate tracked items against individual build outputs" msgstr "" #: templates/js/translated/build.js:2662 -#: templates/js/translated/sales_order.js:2016 +#: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "" @@ -11673,7 +11748,7 @@ msgid "Order stock" msgstr "" #: templates/js/translated/build.js:2671 -#: templates/js/translated/sales_order.js:2010 +#: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "" @@ -11923,12 +11998,12 @@ msgid "Delete price break" msgstr "" #: templates/js/translated/filters.js:186 -#: templates/js/translated/filters.js:672 +#: templates/js/translated/filters.js:667 msgid "true" msgstr "" #: templates/js/translated/filters.js:190 -#: templates/js/translated/filters.js:673 +#: templates/js/translated/filters.js:668 msgid "false" msgstr "" @@ -11960,7 +12035,7 @@ msgstr "" msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:582 +#: templates/js/translated/filters.js:577 msgid "Create filter" msgstr "" @@ -11993,32 +12068,32 @@ msgstr "" msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1473 templates/modals.html:19 +#: templates/js/translated/forms.js:1477 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1971 +#: templates/js/translated/forms.js:1975 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2275 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2279 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2489 +#: templates/js/translated/forms.js:2493 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3091 +#: templates/js/translated/forms.js:3095 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3091 +#: templates/js/translated/forms.js:3095 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3103 +#: templates/js/translated/forms.js:3107 msgid "Select Columns" msgstr "" @@ -12042,51 +12117,15 @@ msgstr "" msgid "No parts required for builds" msgstr "" -#: templates/js/translated/label.js:53 templates/js/translated/report.js:123 +#: templates/js/translated/label.js:55 templates/js/translated/report.js:38 msgid "Select Items" msgstr "" -#: templates/js/translated/label.js:54 +#: templates/js/translated/label.js:56 templates/js/translated/report.js:39 msgid "No items selected for printing" msgstr "" -#: templates/js/translated/label.js:72 -msgid "No Labels Found" -msgstr "" - -#: templates/js/translated/label.js:73 -msgid "No label templates found which match the selected items" -msgstr "" - -#: templates/js/translated/label.js:97 -msgid "selected" -msgstr "" - -#: templates/js/translated/label.js:133 -msgid "Printing Options" -msgstr "" - -#: templates/js/translated/label.js:148 -msgid "Print label" -msgstr "" - -#: templates/js/translated/label.js:148 -msgid "Print labels" -msgstr "" - #: templates/js/translated/label.js:149 -msgid "Print" -msgstr "" - -#: templates/js/translated/label.js:155 -msgid "Select label template" -msgstr "" - -#: templates/js/translated/label.js:168 -msgid "Select plugin" -msgstr "" - -#: templates/js/translated/label.js:187 msgid "Labels sent to printer" msgstr "" @@ -12204,7 +12243,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1991 +#: templates/js/translated/purchase_order.js:1990 msgid "No line items found" msgstr "" @@ -12442,19 +12481,19 @@ msgid "Delete Part Parameter Template" msgstr "" #: templates/js/translated/part.js:1716 -#: templates/js/translated/purchase_order.js:1655 +#: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1860 -#: templates/js/translated/purchase_order.js:2154 -#: templates/js/translated/return_order.js:756 -#: templates/js/translated/sales_order.js:1875 +#: templates/js/translated/purchase_order.js:2153 +#: templates/js/translated/return_order.js:755 +#: templates/js/translated/sales_order.js:1911 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1906 -#: templates/js/translated/purchase_order.js:2221 +#: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "" @@ -12466,7 +12505,7 @@ msgstr "" msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2506 +#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2505 msgid "No parts found" msgstr "" @@ -12482,101 +12521,101 @@ msgstr "" msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2286 msgid "part" msgstr "" -#: templates/js/translated/part.js:2288 +#: templates/js/translated/part.js:2287 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2384 +#: templates/js/translated/part.js:2383 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 -#: templates/js/translated/stock.js:2672 +#: templates/js/translated/part.js:2530 templates/js/translated/part.js:2660 +#: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2547 +#: templates/js/translated/part.js:2546 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2645 +#: templates/js/translated/part.js:2644 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2692 +#: templates/js/translated/part.js:2680 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2761 +#: templates/js/translated/part.js:2760 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2777 +#: templates/js/translated/part.js:2776 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2864 +#: templates/js/translated/part.js:2863 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2886 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2885 templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2935 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2941 +#: templates/js/translated/part.js:2940 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2957 +#: templates/js/translated/part.js:2956 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2971 +#: templates/js/translated/part.js:2970 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3050 templates/js/translated/part.js:3051 +#: templates/js/translated/part.js:3049 templates/js/translated/part.js:3050 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3053 +#: templates/js/translated/part.js:3052 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3059 +#: templates/js/translated/part.js:3058 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3109 +#: templates/js/translated/part.js:3108 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3115 +#: templates/js/translated/part.js:3114 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3211 +#: templates/js/translated/part.js:3210 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3227 +#: templates/js/translated/part.js:3226 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3272 +#: templates/js/translated/part.js:3271 msgid "Minimum Stock Level" msgstr "" @@ -12702,7 +12741,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:448 #: templates/js/translated/return_order.js:210 -#: templates/js/translated/sales_order.js:500 +#: templates/js/translated/sales_order.js:552 msgid "Mark this order as complete?" msgstr "" @@ -12715,7 +12754,6 @@ msgid "This order has line items which have not been marked as received." msgstr "" #: templates/js/translated/purchase_order.js:460 -#: templates/js/translated/sales_order.js:514 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" @@ -12773,12 +12811,12 @@ msgid "No matching purchase orders" msgstr "" #: templates/js/translated/purchase_order.js:1073 -#: templates/js/translated/return_order.js:491 +#: templates/js/translated/return_order.js:490 msgid "Select Line Items" msgstr "" #: templates/js/translated/purchase_order.js:1074 -#: templates/js/translated/return_order.js:492 +#: templates/js/translated/return_order.js:491 msgid "At least one line item must be selected" msgstr "" @@ -12827,7 +12865,7 @@ msgid "Quantity to Receive" msgstr "" #: templates/js/translated/purchase_order.js:1333 -#: templates/js/translated/return_order.js:561 +#: templates/js/translated/return_order.js:560 msgid "Confirm receipt of items" msgstr "" @@ -12847,81 +12885,66 @@ msgstr "" msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1682 -#: templates/js/translated/return_order.js:286 -#: templates/js/translated/sales_order.js:774 -#: templates/js/translated/sales_order.js:998 +#: templates/js/translated/purchase_order.js:1681 +#: templates/js/translated/return_order.js:285 +#: templates/js/translated/sales_order.js:810 +#: templates/js/translated/sales_order.js:1034 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1748 -#: templates/js/translated/return_order.js:354 -#: templates/js/translated/sales_order.js:851 -#: templates/js/translated/sales_order.js:1011 -msgid "Items" -msgstr "" - -#: templates/js/translated/purchase_order.js:1844 +#: templates/js/translated/purchase_order.js:1843 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1862 +#: templates/js/translated/purchase_order.js:1861 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1917 -#: templates/js/translated/sales_order.js:2070 +#: templates/js/translated/purchase_order.js:1916 +#: templates/js/translated/sales_order.js:2106 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1932 -#: templates/js/translated/return_order.js:476 -#: templates/js/translated/return_order.js:669 -#: templates/js/translated/sales_order.js:2083 +#: templates/js/translated/purchase_order.js:1931 +#: templates/js/translated/return_order.js:475 +#: templates/js/translated/return_order.js:668 +#: templates/js/translated/sales_order.js:2119 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1943 -#: templates/js/translated/return_order.js:682 -#: templates/js/translated/sales_order.js:2094 +#: templates/js/translated/purchase_order.js:1942 +#: templates/js/translated/return_order.js:681 +#: templates/js/translated/sales_order.js:2130 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2225 -#: templates/js/translated/sales_order.js:2024 +#: templates/js/translated/purchase_order.js:2224 +#: templates/js/translated/sales_order.js:2060 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2226 -#: templates/js/translated/return_order.js:801 -#: templates/js/translated/sales_order.js:2025 +#: templates/js/translated/purchase_order.js:2225 +#: templates/js/translated/return_order.js:800 +#: templates/js/translated/sales_order.js:2061 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2227 -#: templates/js/translated/return_order.js:805 -#: templates/js/translated/sales_order.js:2031 +#: templates/js/translated/purchase_order.js:2226 +#: templates/js/translated/return_order.js:804 +#: templates/js/translated/sales_order.js:2067 msgid "Delete line item" msgstr "" -#: templates/js/translated/report.js:63 -msgid "items selected" +#: templates/js/translated/report.js:49 +msgid "Print Report" msgstr "" -#: templates/js/translated/report.js:71 -msgid "Select Report Template" +#: templates/js/translated/report.js:68 +msgid "Report print successful" msgstr "" -#: templates/js/translated/report.js:86 -msgid "Select Test Report Template" -msgstr "" - -#: templates/js/translated/report.js:140 -msgid "No Reports Found" -msgstr "" - -#: templates/js/translated/report.js:141 -msgid "No report templates found which match the selected items" +#: templates/js/translated/report.js:73 +msgid "Report printing failed" msgstr "" #: templates/js/translated/return_order.js:60 @@ -12953,25 +12976,25 @@ msgstr "" msgid "Complete Return Order" msgstr "" -#: templates/js/translated/return_order.js:266 +#: templates/js/translated/return_order.js:265 msgid "No return orders found" msgstr "" -#: templates/js/translated/return_order.js:300 -#: templates/js/translated/sales_order.js:788 +#: templates/js/translated/return_order.js:299 +#: templates/js/translated/sales_order.js:824 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/return_order.js:562 +#: templates/js/translated/return_order.js:561 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:693 -#: templates/js/translated/sales_order.js:2231 +#: templates/js/translated/return_order.js:692 +#: templates/js/translated/sales_order.js:2267 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:798 +#: templates/js/translated/return_order.js:797 msgid "Mark item as received" msgstr "" @@ -13015,140 +13038,156 @@ msgstr "" msgid "Skip" msgstr "" +#: templates/js/translated/sales_order.js:484 +msgid "Ship Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:500 +msgid "Ship this order?" +msgstr "" + +#: templates/js/translated/sales_order.js:506 +msgid "Order cannot be shipped as there are incomplete shipments" +msgstr "" + #: templates/js/translated/sales_order.js:513 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/sales_order.js:535 +#: templates/js/translated/sales_order.js:514 +msgid "Shipping this order means that the order and line items will no longer be editable." +msgstr "" + +#: templates/js/translated/sales_order.js:572 msgid "Issue this Sales Order?" msgstr "" -#: templates/js/translated/sales_order.js:540 +#: templates/js/translated/sales_order.js:577 msgid "Issue Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:559 +#: templates/js/translated/sales_order.js:596 msgid "Cancel Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:564 +#: templates/js/translated/sales_order.js:601 msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: templates/js/translated/sales_order.js:618 +#: templates/js/translated/sales_order.js:655 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/sales_order.js:728 +#: templates/js/translated/sales_order.js:764 msgid "No sales orders found" msgstr "" -#: templates/js/translated/sales_order.js:908 +#: templates/js/translated/sales_order.js:944 msgid "Edit shipment" msgstr "" -#: templates/js/translated/sales_order.js:911 +#: templates/js/translated/sales_order.js:947 msgid "Complete shipment" msgstr "" -#: templates/js/translated/sales_order.js:916 +#: templates/js/translated/sales_order.js:952 msgid "Delete shipment" msgstr "" -#: templates/js/translated/sales_order.js:933 +#: templates/js/translated/sales_order.js:969 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/sales_order.js:948 +#: templates/js/translated/sales_order.js:984 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:981 +#: templates/js/translated/sales_order.js:1017 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/sales_order.js:1006 +#: templates/js/translated/sales_order.js:1042 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/sales_order.js:1030 -#: templates/js/translated/sales_order.js:1529 +#: templates/js/translated/sales_order.js:1066 +#: templates/js/translated/sales_order.js:1565 msgid "Not shipped" msgstr "" -#: templates/js/translated/sales_order.js:1048 +#: templates/js/translated/sales_order.js:1084 msgid "Tracking" msgstr "" -#: templates/js/translated/sales_order.js:1052 +#: templates/js/translated/sales_order.js:1088 msgid "Invoice" msgstr "" -#: templates/js/translated/sales_order.js:1219 +#: templates/js/translated/sales_order.js:1255 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1270 +#: templates/js/translated/sales_order.js:1306 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/sales_order.js:1271 +#: templates/js/translated/sales_order.js:1307 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1477 +#: templates/js/translated/sales_order.js:1513 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1569 +#: templates/js/translated/sales_order.js:1605 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1583 +#: templates/js/translated/sales_order.js:1619 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/sales_order.js:1584 +#: templates/js/translated/sales_order.js:1620 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1623 -#: templates/js/translated/sales_order.js:1710 +#: templates/js/translated/sales_order.js:1659 +#: templates/js/translated/sales_order.js:1746 #: templates/js/translated/stock.js:1776 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/sales_order.js:1631 -#: templates/js/translated/sales_order.js:1719 +#: templates/js/translated/sales_order.js:1667 +#: templates/js/translated/sales_order.js:1755 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:2008 +#: templates/js/translated/sales_order.js:2044 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/sales_order.js:2012 +#: templates/js/translated/sales_order.js:2048 msgid "Purchase stock" msgstr "" -#: templates/js/translated/sales_order.js:2021 -#: templates/js/translated/sales_order.js:2209 +#: templates/js/translated/sales_order.js:2057 +#: templates/js/translated/sales_order.js:2245 msgid "Calculate price" msgstr "" -#: templates/js/translated/sales_order.js:2035 +#: templates/js/translated/sales_order.js:2071 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:2038 +#: templates/js/translated/sales_order.js:2074 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:2109 +#: templates/js/translated/sales_order.js:2145 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/sales_order.js:2217 +#: templates/js/translated/sales_order.js:2253 msgid "Update Unit Price" msgstr "" @@ -13356,7 +13395,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1042 users/models.py:414 +#: templates/js/translated/stock.js:1042 users/models.py:401 msgid "Add" msgstr "" @@ -13372,7 +13411,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1180 templates/js/translated/stock.js:3302 +#: templates/js/translated/stock.js:1180 templates/js/translated/stock.js:3299 msgid "Select Stock Items" msgstr "" @@ -13456,196 +13495,196 @@ msgstr "" msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:1955 +#: templates/js/translated/stock.js:1953 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1960 +#: templates/js/translated/stock.js:1958 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:1971 +#: templates/js/translated/stock.js:1969 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:2015 +#: templates/js/translated/stock.js:2013 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2093 +#: templates/js/translated/stock.js:2091 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2098 +#: templates/js/translated/stock.js:2096 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2101 +#: templates/js/translated/stock.js:2099 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2104 +#: templates/js/translated/stock.js:2102 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2106 +#: templates/js/translated/stock.js:2104 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2108 +#: templates/js/translated/stock.js:2106 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2111 +#: templates/js/translated/stock.js:2109 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2113 +#: templates/js/translated/stock.js:2111 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2117 +#: templates/js/translated/stock.js:2115 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2119 +#: templates/js/translated/stock.js:2117 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2124 +#: templates/js/translated/stock.js:2122 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2126 +#: templates/js/translated/stock.js:2124 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2128 +#: templates/js/translated/stock.js:2126 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2132 +#: templates/js/translated/stock.js:2130 #: templates/js/translated/table_filters.js:350 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2297 +#: templates/js/translated/stock.js:2295 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2344 +#: templates/js/translated/stock.js:2342 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2472 +#: templates/js/translated/stock.js:2470 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2576 +#: templates/js/translated/stock.js:2573 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2731 +#: templates/js/translated/stock.js:2728 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2849 +#: templates/js/translated/stock.js:2846 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2853 +#: templates/js/translated/stock.js:2850 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2865 +#: templates/js/translated/stock.js:2862 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2887 +#: templates/js/translated/stock.js:2884 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2904 +#: templates/js/translated/stock.js:2901 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2919 +#: templates/js/translated/stock.js:2916 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2936 +#: templates/js/translated/stock.js:2933 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:2950 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2972 +#: templates/js/translated/stock.js:2969 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2990 +#: templates/js/translated/stock.js:2987 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:3008 +#: templates/js/translated/stock.js:3005 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:3016 +#: templates/js/translated/stock.js:3013 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3088 +#: templates/js/translated/stock.js:3085 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3142 templates/js/translated/stock.js:3178 +#: templates/js/translated/stock.js:3139 templates/js/translated/stock.js:3175 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3200 +#: templates/js/translated/stock.js:3197 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3221 +#: templates/js/translated/stock.js:3218 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3222 +#: templates/js/translated/stock.js:3219 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3224 +#: templates/js/translated/stock.js:3221 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3225 +#: templates/js/translated/stock.js:3222 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3226 +#: templates/js/translated/stock.js:3223 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3227 +#: templates/js/translated/stock.js:3224 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3240 +#: templates/js/translated/stock.js:3237 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3303 +#: templates/js/translated/stock.js:3300 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3316 +#: templates/js/translated/stock.js:3313 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3320 +#: templates/js/translated/stock.js:3317 msgid "Change Stock Status" msgstr "" @@ -14247,34 +14286,35 @@ msgstr "" msgid "Revoked" msgstr "" -#: users/models.py:397 +#: users/models.py:384 msgid "Permission set" msgstr "" -#: users/models.py:406 +#: users/models.py:393 msgid "Group" msgstr "" -#: users/models.py:410 +#: users/models.py:397 msgid "View" msgstr "" -#: users/models.py:410 +#: users/models.py:397 msgid "Permission to view items" msgstr "" -#: users/models.py:414 +#: users/models.py:401 msgid "Permission to add items" msgstr "" -#: users/models.py:418 +#: users/models.py:405 msgid "Change" msgstr "" -#: users/models.py:420 +#: users/models.py:407 msgid "Permissions to edit items" msgstr "" -#: users/models.py:426 +#: users/models.py:413 msgid "Permission to delete items" msgstr "" + diff --git a/src/backend/InvenTree/locale/lv/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/lv/LC_MESSAGES/django.po index 5491adbeaf..54f3aa6aa7 100644 --- a/src/backend/InvenTree/locale/lv/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/lv/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-10 05:37+0000\n" -"PO-Revision-Date: 2024-05-10 08:31\n" +"POT-Creation-Date: 2024-05-23 11:25+0000\n" +"PO-Revision-Date: 2024-05-23 11:39\n" "Last-Translator: \n" "Language-Team: Latvian\n" "Language: lv_LV\n" @@ -17,11 +17,11 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 216\n" -#: InvenTree/api.py:271 +#: InvenTree/api.py:272 msgid "API endpoint not found" msgstr "API galapunkts nav atrasts" -#: InvenTree/api.py:535 +#: InvenTree/api.py:536 msgid "User does not have permission to view this model" msgstr "Lietotājam nav atļaujas, lai apskatītu šo modeli" @@ -56,26 +56,26 @@ msgstr "" msgid "Enter date" msgstr "Ievadiet datumu" -#: InvenTree/fields.py:208 InvenTree/models.py:1021 build/serializers.py:444 -#: build/serializers.py:522 build/templates/build/sidebar.html:21 +#: InvenTree/fields.py:208 InvenTree/models.py:1035 build/serializers.py:443 +#: build/serializers.py:521 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 -#: order/models.py:1283 order/templates/order/po_sidebar.html:11 +#: order/models.py:1323 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:59 -#: part/models.py:3175 part/templates/part/part_sidebar.html:63 -#: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:226 stock/models.py:2344 stock/models.py:2461 -#: stock/serializers.py:501 stock/serializers.py:659 stock/serializers.py:755 -#: stock/serializers.py:805 stock/serializers.py:1114 stock/serializers.py:1203 -#: stock/serializers.py:1368 stock/templates/stock/stock_sidebar.html:25 +#: part/models.py:3218 part/templates/part/part_sidebar.html:63 +#: report/templates/report/inventree_build_order_report.html:172 +#: stock/admin.py:226 stock/models.py:2321 stock/models.py:2438 +#: stock/serializers.py:630 stock/serializers.py:788 stock/serializers.py:884 +#: stock/serializers.py:934 stock/serializers.py:1243 stock/serializers.py:1332 +#: stock/serializers.py:1497 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1080 -#: templates/js/translated/purchase_order.js:2201 -#: templates/js/translated/return_order.js:776 -#: templates/js/translated/sales_order.js:1067 -#: templates/js/translated/sales_order.js:1982 -#: templates/js/translated/stock.js:1536 templates/js/translated/stock.js:2430 +#: templates/js/translated/purchase_order.js:2200 +#: templates/js/translated/return_order.js:775 +#: templates/js/translated/sales_order.js:1103 +#: templates/js/translated/sales_order.js:2018 +#: templates/js/translated/stock.js:1536 templates/js/translated/stock.js:2428 msgid "Notes" msgstr "Piezīmes" @@ -132,7 +132,7 @@ msgstr "Norādītais e-pasta domēns nav apstiprināts." msgid "Registration is disabled." msgstr "Reģistrācija ir izslēgta." -#: InvenTree/helpers.py:525 order/models.py:541 order/models.py:743 +#: InvenTree/helpers.py:525 order/models.py:563 order/models.py:765 msgid "Invalid quantity provided" msgstr "Norādītais daudzums nav derīgs" @@ -355,142 +355,142 @@ msgstr "" msgid "Error running plugin validation" msgstr "" -#: InvenTree/models.py:162 +#: InvenTree/models.py:176 msgid "Metadata must be a python dict object" msgstr "" -#: InvenTree/models.py:168 +#: InvenTree/models.py:182 msgid "Plugin Metadata" msgstr "" -#: InvenTree/models.py:169 +#: InvenTree/models.py:183 msgid "JSON metadata field, for use by external plugins" msgstr "" -#: InvenTree/models.py:399 +#: InvenTree/models.py:413 msgid "Improperly formatted pattern" msgstr "" -#: InvenTree/models.py:406 +#: InvenTree/models.py:420 msgid "Unknown format key specified" msgstr "" -#: InvenTree/models.py:412 +#: InvenTree/models.py:426 msgid "Missing required format key" msgstr "" -#: InvenTree/models.py:423 +#: InvenTree/models.py:437 msgid "Reference field cannot be empty" msgstr "" -#: InvenTree/models.py:431 +#: InvenTree/models.py:445 msgid "Reference must match required pattern" msgstr "" -#: InvenTree/models.py:462 +#: InvenTree/models.py:476 msgid "Reference number is too large" msgstr "" -#: InvenTree/models.py:536 +#: InvenTree/models.py:550 msgid "Missing file" msgstr "" -#: InvenTree/models.py:537 +#: InvenTree/models.py:551 msgid "Missing external link" msgstr "" -#: InvenTree/models.py:558 stock/models.py:2456 +#: InvenTree/models.py:572 stock/models.py:2433 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" msgstr "" -#: InvenTree/models.py:559 +#: InvenTree/models.py:573 msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:567 common/models.py:3026 company/models.py:146 +#: InvenTree/models.py:581 common/models.py:3032 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 -#: order/models.py:291 order/models.py:1288 order/models.py:1704 -#: part/admin.py:55 part/models.py:919 +#: order/models.py:304 order/models.py:1328 order/models.py:1744 +#: part/admin.py:55 part/models.py:962 #: part/templates/part/part_scheduling.html:11 -#: report/templates/report/inventree_build_order_base.html:164 +#: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2456 -#: templates/js/translated/purchase_order.js:2041 -#: templates/js/translated/purchase_order.js:2205 -#: templates/js/translated/return_order.js:780 -#: templates/js/translated/sales_order.js:1056 -#: templates/js/translated/sales_order.js:1987 +#: templates/js/translated/part.js:2455 +#: templates/js/translated/purchase_order.js:2040 +#: templates/js/translated/purchase_order.js:2204 +#: templates/js/translated/return_order.js:779 +#: templates/js/translated/sales_order.js:1092 +#: templates/js/translated/sales_order.js:2023 msgid "Link" msgstr "" -#: InvenTree/models.py:568 build/models.py:321 part/models.py:920 -#: stock/models.py:819 +#: InvenTree/models.py:582 build/models.py:344 part/models.py:963 +#: stock/models.py:840 msgid "Link to external URL" msgstr "" -#: InvenTree/models.py:574 templates/js/translated/attachment.js:120 +#: InvenTree/models.py:588 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:341 msgid "Comment" msgstr "" -#: InvenTree/models.py:575 +#: InvenTree/models.py:589 msgid "File comment" msgstr "" -#: InvenTree/models.py:583 InvenTree/models.py:584 common/models.py:2502 -#: common/models.py:2503 common/models.py:2727 common/models.py:2728 -#: common/models.py:2973 common/models.py:2974 part/models.py:3185 -#: part/models.py:3272 part/models.py:3365 part/models.py:3393 -#: plugin/models.py:250 plugin/models.py:251 -#: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3039 users/models.py:111 +#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2508 +#: common/models.py:2509 common/models.py:2733 common/models.py:2734 +#: common/models.py:2979 common/models.py:2980 part/models.py:3228 +#: part/models.py:3315 part/models.py:3408 part/models.py:3436 +#: plugin/models.py:259 plugin/models.py:260 +#: report/templates/report/inventree_test_report.html:105 +#: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" msgstr "" -#: InvenTree/models.py:588 +#: InvenTree/models.py:602 msgid "upload date" msgstr "" -#: InvenTree/models.py:610 +#: InvenTree/models.py:624 msgid "Filename must not be empty" msgstr "" -#: InvenTree/models.py:621 +#: InvenTree/models.py:635 msgid "Invalid attachment directory" msgstr "" -#: InvenTree/models.py:651 +#: InvenTree/models.py:665 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "" -#: InvenTree/models.py:654 +#: InvenTree/models.py:668 msgid "Filename missing extension" msgstr "" -#: InvenTree/models.py:663 +#: InvenTree/models.py:677 msgid "Attachment with this filename already exists" msgstr "" -#: InvenTree/models.py:670 +#: InvenTree/models.py:684 msgid "Error renaming file" msgstr "" -#: InvenTree/models.py:846 +#: InvenTree/models.py:860 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:863 +#: InvenTree/models.py:877 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:893 common/models.py:2714 common/models.py:3112 -#: common/serializers.py:403 company/models.py:614 label/models.py:120 -#: machine/models.py:24 part/models.py:855 part/models.py:3616 -#: plugin/models.py:41 report/models.py:176 stock/models.py:76 +#: InvenTree/models.py:907 common/models.py:2720 common/models.py:3118 +#: common/serializers.py:403 company/models.py:614 machine/models.py:24 +#: part/models.py:898 part/models.py:3659 plugin/models.py:50 +#: report/models.py:149 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -503,22 +503,22 @@ msgstr "" #: templates/js/translated/company.js:1165 #: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186 #: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2719 +#: templates/js/translated/part.js:2748 templates/js/translated/stock.js:2716 msgid "Name" msgstr "" -#: InvenTree/models.py:899 build/models.py:194 +#: InvenTree/models.py:913 build/models.py:217 #: build/templates/build/detail.html:24 common/models.py:136 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 label/models.py:127 -#: order/models.py:277 order/models.py:1316 part/admin.py:303 part/admin.py:414 -#: part/models.py:878 part/models.py:3631 part/templates/part/category.html:82 +#: company/templates/company/supplier_part.html:107 order/models.py:290 +#: order/models.py:1356 part/admin.py:305 part/admin.py:416 part/models.py:921 +#: part/models.py:3674 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 -#: part/templates/part/part_scheduling.html:12 report/models.py:189 -#: report/models.py:655 report/models.py:729 -#: report/templates/report/inventree_build_order_base.html:117 +#: part/templates/part/part_scheduling.html:12 report/models.py:155 +#: report/models.py:510 report/models.py:536 +#: report/templates/report/inventree_build_order_report.html:117 #: stock/admin.py:55 stock/models.py:82 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 @@ -530,71 +530,71 @@ msgstr "" #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 -#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2896 +#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2354 +#: templates/js/translated/part.js:2784 templates/js/translated/part.js:2895 #: templates/js/translated/plugin.js:80 -#: templates/js/translated/purchase_order.js:1707 -#: templates/js/translated/purchase_order.js:1850 -#: templates/js/translated/purchase_order.js:2023 -#: templates/js/translated/return_order.js:314 -#: templates/js/translated/sales_order.js:802 -#: templates/js/translated/sales_order.js:1812 -#: templates/js/translated/stock.js:1515 templates/js/translated/stock.js:2060 -#: templates/js/translated/stock.js:2751 templates/js/translated/stock.js:2834 +#: templates/js/translated/purchase_order.js:1706 +#: templates/js/translated/purchase_order.js:1849 +#: templates/js/translated/purchase_order.js:2022 +#: templates/js/translated/return_order.js:313 +#: templates/js/translated/sales_order.js:838 +#: templates/js/translated/sales_order.js:1848 +#: templates/js/translated/stock.js:1515 templates/js/translated/stock.js:2058 +#: templates/js/translated/stock.js:2748 templates/js/translated/stock.js:2831 msgid "Description" msgstr "" -#: InvenTree/models.py:900 stock/models.py:83 +#: InvenTree/models.py:914 stock/models.py:83 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:909 +#: InvenTree/models.py:923 msgid "parent" msgstr "" -#: InvenTree/models.py:915 templates/js/translated/part.js:2794 -#: templates/js/translated/stock.js:2760 +#: InvenTree/models.py:929 templates/js/translated/part.js:2793 +#: templates/js/translated/stock.js:2757 msgid "Path" msgstr "" -#: InvenTree/models.py:1021 +#: InvenTree/models.py:1035 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:1050 +#: InvenTree/models.py:1064 msgid "Barcode Data" msgstr "" -#: InvenTree/models.py:1051 +#: InvenTree/models.py:1065 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:1057 +#: InvenTree/models.py:1071 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:1058 +#: InvenTree/models.py:1072 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:1111 +#: InvenTree/models.py:1125 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:1154 +#: InvenTree/models.py:1168 msgid "Server Error" msgstr "" -#: InvenTree/models.py:1155 +#: InvenTree/models.py:1169 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:62 part/models.py:4169 +#: InvenTree/serializers.py:62 part/models.py:4212 msgid "Must be a valid number" msgstr "" #: InvenTree/serializers.py:99 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:2993 +#: company/templates/company/company_base.html:112 part/models.py:3036 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -686,7 +686,7 @@ msgstr "" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1161 +#: InvenTree/status.py:66 part/serializers.py:1176 msgid "Background worker check failed" msgstr "" @@ -699,8 +699,8 @@ msgid "InvenTree system health checks failed" msgstr "" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:37 -#: InvenTree/status_codes.py:148 InvenTree/status_codes.py:164 -#: InvenTree/status_codes.py:182 generic/states/tests.py:17 +#: InvenTree/status_codes.py:149 InvenTree/status_codes.py:165 +#: InvenTree/status_codes.py:183 generic/states/tests.py:17 #: templates/js/translated/table_filters.js:598 msgid "Pending" msgstr "" @@ -709,188 +709,188 @@ msgstr "" msgid "Placed" msgstr "" -#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:151 -#: InvenTree/status_codes.py:169 generic/states/tests.py:19 -#: order/templates/order/order_base.html:158 -#: order/templates/order/sales_order_base.html:161 +#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:44 +#: InvenTree/status_codes.py:152 InvenTree/status_codes.py:170 +#: generic/states/tests.py:19 order/templates/order/order_base.html:158 +#: order/templates/order/sales_order_base.html:165 report/models.py:444 msgid "Complete" msgstr "" -#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:44 -#: InvenTree/status_codes.py:150 InvenTree/status_codes.py:170 +#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:45 +#: InvenTree/status_codes.py:151 InvenTree/status_codes.py:171 msgid "Cancelled" msgstr "" -#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:45 -#: InvenTree/status_codes.py:67 +#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:46 +#: InvenTree/status_codes.py:68 msgid "Lost" msgstr "" -#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:46 -#: InvenTree/status_codes.py:73 +#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:47 +#: InvenTree/status_codes.py:74 msgid "Returned" msgstr "" -#: InvenTree/status_codes.py:40 InvenTree/status_codes.py:167 +#: InvenTree/status_codes.py:40 InvenTree/status_codes.py:168 msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:43 order/models.py:1566 -#: templates/js/translated/sales_order.js:1523 -#: templates/js/translated/sales_order.js:1644 -#: templates/js/translated/sales_order.js:1957 +#: InvenTree/status_codes.py:43 order/models.py:1606 +#: templates/js/translated/sales_order.js:1559 +#: templates/js/translated/sales_order.js:1680 +#: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "" -#: InvenTree/status_codes.py:62 +#: InvenTree/status_codes.py:63 msgid "OK" msgstr "" -#: InvenTree/status_codes.py:63 +#: InvenTree/status_codes.py:64 msgid "Attention needed" msgstr "" -#: InvenTree/status_codes.py:64 +#: InvenTree/status_codes.py:65 msgid "Damaged" msgstr "" -#: InvenTree/status_codes.py:65 +#: InvenTree/status_codes.py:66 msgid "Destroyed" msgstr "" -#: InvenTree/status_codes.py:66 +#: InvenTree/status_codes.py:67 msgid "Rejected" msgstr "" -#: InvenTree/status_codes.py:70 +#: InvenTree/status_codes.py:71 msgid "Quarantined" msgstr "" -#: InvenTree/status_codes.py:91 +#: InvenTree/status_codes.py:92 msgid "Legacy stock tracking entry" msgstr "" -#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:544 +#: InvenTree/status_codes.py:94 templates/js/translated/stock.js:544 msgid "Stock item created" msgstr "" -#: InvenTree/status_codes.py:96 +#: InvenTree/status_codes.py:97 msgid "Edited stock item" msgstr "" -#: InvenTree/status_codes.py:97 +#: InvenTree/status_codes.py:98 msgid "Assigned serial number" msgstr "" -#: InvenTree/status_codes.py:100 +#: InvenTree/status_codes.py:101 msgid "Stock counted" msgstr "" -#: InvenTree/status_codes.py:101 +#: InvenTree/status_codes.py:102 msgid "Stock manually added" msgstr "" -#: InvenTree/status_codes.py:102 +#: InvenTree/status_codes.py:103 msgid "Stock manually removed" msgstr "" -#: InvenTree/status_codes.py:105 +#: InvenTree/status_codes.py:106 msgid "Location changed" msgstr "" -#: InvenTree/status_codes.py:106 +#: InvenTree/status_codes.py:107 msgid "Stock updated" msgstr "" -#: InvenTree/status_codes.py:109 +#: InvenTree/status_codes.py:110 msgid "Installed into assembly" msgstr "" -#: InvenTree/status_codes.py:110 +#: InvenTree/status_codes.py:111 msgid "Removed from assembly" msgstr "" -#: InvenTree/status_codes.py:112 +#: InvenTree/status_codes.py:113 msgid "Installed component item" msgstr "" -#: InvenTree/status_codes.py:113 +#: InvenTree/status_codes.py:114 msgid "Removed component item" msgstr "" -#: InvenTree/status_codes.py:116 +#: InvenTree/status_codes.py:117 msgid "Split from parent item" msgstr "" -#: InvenTree/status_codes.py:117 +#: InvenTree/status_codes.py:118 msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1858 +#: InvenTree/status_codes.py:121 templates/js/translated/stock.js:1858 msgid "Merged stock items" msgstr "" -#: InvenTree/status_codes.py:123 +#: InvenTree/status_codes.py:124 msgid "Converted to variant" msgstr "" -#: InvenTree/status_codes.py:126 +#: InvenTree/status_codes.py:127 msgid "Build order output created" msgstr "" -#: InvenTree/status_codes.py:127 +#: InvenTree/status_codes.py:128 msgid "Build order output completed" msgstr "" -#: InvenTree/status_codes.py:128 +#: InvenTree/status_codes.py:129 msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1764 +#: InvenTree/status_codes.py:130 templates/js/translated/stock.js:1764 msgid "Consumed by build order" msgstr "" -#: InvenTree/status_codes.py:132 +#: InvenTree/status_codes.py:133 msgid "Shipped against Sales Order" msgstr "" -#: InvenTree/status_codes.py:135 +#: InvenTree/status_codes.py:136 msgid "Received against Purchase Order" msgstr "" -#: InvenTree/status_codes.py:138 +#: InvenTree/status_codes.py:139 msgid "Returned against Return Order" msgstr "" -#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:375 +#: InvenTree/status_codes.py:142 templates/js/translated/table_filters.js:375 msgid "Sent to customer" msgstr "" -#: InvenTree/status_codes.py:142 +#: InvenTree/status_codes.py:143 msgid "Returned from customer" msgstr "" -#: InvenTree/status_codes.py:149 +#: InvenTree/status_codes.py:150 msgid "Production" msgstr "" -#: InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:186 msgid "Return" msgstr "" -#: InvenTree/status_codes.py:188 +#: InvenTree/status_codes.py:189 msgid "Repair" msgstr "" -#: InvenTree/status_codes.py:191 +#: InvenTree/status_codes.py:192 msgid "Replace" msgstr "" -#: InvenTree/status_codes.py:194 +#: InvenTree/status_codes.py:195 msgid "Refund" msgstr "" -#: InvenTree/status_codes.py:197 +#: InvenTree/status_codes.py:198 msgid "Reject" msgstr "" @@ -946,14 +946,14 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:299 part/models.py:4047 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4090 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4041 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4084 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -969,7 +969,7 @@ msgstr "" #: build/api.py:303 part/admin.py:144 templates/js/translated/build.js:1744 #: templates/js/translated/build.js:2629 -#: templates/js/translated/sales_order.js:1929 +#: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "" @@ -980,7 +980,7 @@ msgstr "" #: templates/email/low_stock_notification.html:17 #: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 #: templates/js/translated/index.js:123 -#: templates/js/translated/model_renderers.js:228 +#: templates/js/translated/model_renderers.js:234 #: templates/js/translated/part.js:692 templates/js/translated/part.js:694 #: templates/js/translated/part.js:699 #: templates/js/translated/table_filters.js:340 @@ -988,16 +988,16 @@ msgstr "" msgid "Available" msgstr "" -#: build/models.py:74 build/templates/build/build_base.html:9 +#: build/models.py:82 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 -#: report/templates/report/inventree_build_order_base.html:105 -#: templates/email/build_order_completed.html:16 +#: report/templates/report/inventree_build_order_report.html:105 +#: stock/serializers.py:83 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2895 +#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2892 msgid "Build Order" msgstr "" -#: build/models.py:75 build/templates/build/build_base.html:13 +#: build/models.py:83 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -1008,71 +1008,71 @@ msgstr "" msgid "Build Orders" msgstr "" -#: build/models.py:122 +#: build/models.py:130 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:133 order/models.py:239 +#: build/models.py:141 order/models.py:241 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:139 +#: build/models.py:147 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:185 +#: build/models.py:208 msgid "Build Order Reference" msgstr "" -#: build/models.py:186 order/models.py:442 order/models.py:898 -#: order/models.py:1276 order/models.py:1998 part/admin.py:417 -#: part/models.py:4062 part/templates/part/upload_bom.html:54 +#: build/models.py:209 order/models.py:464 order/models.py:929 +#: order/models.py:1316 order/models.py:2047 part/admin.py:419 +#: part/models.py:4105 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 -#: report/templates/report/inventree_so_report_base.html:28 +#: report/templates/report/inventree_purchase_order_report.html:28 +#: report/templates/report/inventree_return_order_report.html:26 +#: report/templates/report/inventree_sales_order_report.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 #: templates/js/translated/build.js:2512 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 -#: templates/js/translated/purchase_order.js:2066 -#: templates/js/translated/return_order.js:729 -#: templates/js/translated/sales_order.js:1818 +#: templates/js/translated/purchase_order.js:2065 +#: templates/js/translated/return_order.js:728 +#: templates/js/translated/sales_order.js:1854 msgid "Reference" msgstr "" -#: build/models.py:197 +#: build/models.py:220 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:205 build/templates/build/build_base.html:183 +#: build/models.py:228 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:206 +#: build/models.py:229 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:211 build/templates/build/build_base.html:97 +#: build/models.py:234 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 -#: order/models.py:1401 order/models.py:1546 order/models.py:1547 -#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004 -#: part/models.py:3148 part/models.py:3292 part/models.py:3315 -#: part/models.py:3336 part/models.py:3358 part/models.py:3468 -#: part/models.py:3764 part/models.py:3920 part/models.py:4013 -#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713 +#: order/models.py:1441 order/models.py:1586 order/models.py:1587 +#: part/api.py:1501 part/api.py:1795 part/models.py:392 part/models.py:3047 +#: part/models.py:3191 part/models.py:3335 part/models.py:3358 +#: part/models.py:3379 part/models.py:3401 part/models.py:3511 +#: part/models.py:3807 part/models.py:3963 part/models.py:4056 +#: part/models.py:4417 part/serializers.py:1122 part/serializers.py:1728 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 -#: report/templates/report/inventree_build_order_base.html:109 -#: report/templates/report/inventree_po_report_base.html:27 -#: report/templates/report/inventree_return_order_report_base.html:24 -#: report/templates/report/inventree_slr_report.html:102 -#: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:267 stock/serializers.py:689 -#: templates/InvenTree/search.html:82 +#: report/templates/report/inventree_build_order_report.html:109 +#: report/templates/report/inventree_purchase_order_report.html:27 +#: report/templates/report/inventree_return_order_report.html:24 +#: report/templates/report/inventree_sales_order_report.html:27 +#: report/templates/report/inventree_stock_location_report.html:102 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:396 +#: stock/serializers.py:818 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -1086,235 +1086,239 @@ msgstr "" #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 #: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 -#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:2323 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:751 #: templates/js/translated/purchase_order.js:1304 -#: templates/js/translated/purchase_order.js:1849 -#: templates/js/translated/purchase_order.js:2008 -#: templates/js/translated/return_order.js:539 -#: templates/js/translated/return_order.js:710 +#: templates/js/translated/purchase_order.js:1848 +#: templates/js/translated/purchase_order.js:2007 +#: templates/js/translated/return_order.js:538 +#: templates/js/translated/return_order.js:709 #: templates/js/translated/sales_order.js:300 -#: templates/js/translated/sales_order.js:1197 -#: templates/js/translated/sales_order.js:1598 -#: templates/js/translated/sales_order.js:1796 +#: templates/js/translated/sales_order.js:1233 +#: templates/js/translated/sales_order.js:1634 +#: templates/js/translated/sales_order.js:1832 #: templates/js/translated/stock.js:676 templates/js/translated/stock.js:842 -#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1999 -#: templates/js/translated/stock.js:2860 templates/js/translated/stock.js:3093 -#: templates/js/translated/stock.js:3239 +#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1997 +#: templates/js/translated/stock.js:2857 templates/js/translated/stock.js:3090 +#: templates/js/translated/stock.js:3236 msgid "Part" msgstr "" -#: build/models.py:219 +#: build/models.py:242 msgid "Select part to build" msgstr "" -#: build/models.py:224 +#: build/models.py:247 msgid "Sales Order Reference" msgstr "" -#: build/models.py:228 +#: build/models.py:251 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:233 build/serializers.py:970 +#: build/models.py:256 build/serializers.py:969 #: templates/js/translated/build.js:1731 -#: templates/js/translated/sales_order.js:1185 +#: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "" -#: build/models.py:237 +#: build/models.py:260 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:242 +#: build/models.py:265 msgid "Destination Location" msgstr "" -#: build/models.py:246 +#: build/models.py:269 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:250 +#: build/models.py:273 msgid "Build Quantity" msgstr "" -#: build/models.py:253 +#: build/models.py:276 msgid "Number of stock items to build" msgstr "" -#: build/models.py:257 +#: build/models.py:280 msgid "Completed items" msgstr "" -#: build/models.py:259 +#: build/models.py:282 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:263 +#: build/models.py:286 msgid "Build Status" msgstr "" -#: build/models.py:267 +#: build/models.py:290 msgid "Build status code" msgstr "" -#: build/models.py:276 build/serializers.py:278 order/serializers.py:581 -#: stock/models.py:823 stock/serializers.py:1333 +#: build/models.py:299 build/serializers.py:277 order/serializers.py:581 +#: stock/models.py:844 stock/serializers.py:75 stock/serializers.py:1462 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" -#: build/models.py:280 build/serializers.py:279 +#: build/models.py:303 build/serializers.py:278 msgid "Batch code for this build output" msgstr "" -#: build/models.py:283 order/models.py:304 order/serializers.py:120 -#: part/models.py:1079 part/templates/part/part_base.html:310 -#: templates/js/translated/return_order.js:339 -#: templates/js/translated/sales_order.js:827 +#: build/models.py:306 order/models.py:317 order/serializers.py:120 +#: part/models.py:1122 part/templates/part/part_base.html:310 +#: templates/js/translated/return_order.js:338 +#: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "" -#: build/models.py:287 +#: build/models.py:310 msgid "Target completion date" msgstr "" -#: build/models.py:288 +#: build/models.py:311 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:291 order/models.py:500 order/models.py:2043 +#: build/models.py:314 order/models.py:522 order/models.py:2092 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "" -#: build/models.py:297 +#: build/models.py:320 msgid "completed by" msgstr "" -#: build/models.py:305 templates/js/translated/build.js:2207 +#: build/models.py:328 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "" -#: build/models.py:306 +#: build/models.py:329 msgid "User who issued this build order" msgstr "" -#: build/models.py:314 build/templates/build/build_base.html:204 +#: build/models.py:337 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:145 -#: order/models.py:322 order/templates/order/order_base.html:217 +#: order/models.py:335 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1096 +#: order/templates/order/sales_order_base.html:232 part/models.py:1139 #: part/templates/part/part_base.html:390 -#: report/templates/report/inventree_build_order_base.html:158 +#: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 #: templates/js/translated/build.js:2219 -#: templates/js/translated/purchase_order.js:1764 -#: templates/js/translated/return_order.js:359 +#: templates/js/translated/purchase_order.js:1763 +#: templates/js/translated/return_order.js:358 #: templates/js/translated/table_filters.js:531 msgid "Responsible" msgstr "" -#: build/models.py:315 +#: build/models.py:338 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:320 build/templates/build/detail.html:108 +#: build/models.py:343 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 -#: order/templates/order/sales_order_base.html:180 -#: part/templates/part/part_base.html:383 stock/models.py:819 +#: order/templates/order/sales_order_base.html:184 +#: part/templates/part/part_base.html:383 stock/models.py:840 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "" -#: build/models.py:325 +#: build/models.py:348 msgid "Build Priority" msgstr "" -#: build/models.py:328 +#: build/models.py:351 msgid "Priority of this build order" msgstr "" -#: build/models.py:335 common/models.py:129 order/admin.py:18 -#: order/models.py:286 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:358 common/models.py:129 order/admin.py:18 +#: order/models.py:299 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 -#: templates/js/translated/purchase_order.js:1711 -#: templates/js/translated/return_order.js:318 -#: templates/js/translated/sales_order.js:806 +#: templates/js/translated/purchase_order.js:1710 +#: templates/js/translated/return_order.js:317 +#: templates/js/translated/sales_order.js:842 #: templates/js/translated/table_filters.js:48 #: templates/project_code_data.html:6 msgid "Project Code" msgstr "" -#: build/models.py:336 +#: build/models.py:359 msgid "Project code for this build order" msgstr "" -#: build/models.py:566 build/models.py:631 +#: build/models.py:589 build/models.py:654 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:588 +#: build/models.py:611 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:594 +#: build/models.py:617 msgid "A build order has been completed" msgstr "" -#: build/models.py:820 build/models.py:895 +#: build/models.py:843 build/models.py:918 msgid "No build output specified" msgstr "" -#: build/models.py:823 +#: build/models.py:846 msgid "Build output is already completed" msgstr "" -#: build/models.py:826 +#: build/models.py:849 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:899 build/serializers.py:221 build/serializers.py:260 -#: build/serializers.py:837 order/models.py:538 order/serializers.py:433 -#: order/serializers.py:576 part/serializers.py:1471 part/serializers.py:1871 -#: stock/models.py:662 stock/models.py:1482 stock/serializers.py:472 +#: build/models.py:922 build/serializers.py:220 build/serializers.py:259 +#: build/serializers.py:836 order/models.py:560 order/serializers.py:433 +#: order/serializers.py:576 part/serializers.py:1486 part/serializers.py:1886 +#: stock/models.py:683 stock/models.py:1503 stock/serializers.py:601 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:904 build/serializers.py:226 +#: build/models.py:927 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:961 build/serializers.py:539 +#: build/models.py:984 build/serializers.py:538 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1323 +#: build/models.py:1335 +msgid "Build Order Line Item" +msgstr "" + +#: build/models.py:1360 msgid "Build object" msgstr "" -#: build/models.py:1337 build/models.py:1593 build/serializers.py:208 -#: build/serializers.py:245 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2524 -#: order/models.py:1259 order/models.py:1918 order/serializers.py:1339 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 -#: part/forms.py:48 part/models.py:3162 part/models.py:4035 +#: build/models.py:1374 build/models.py:1630 build/serializers.py:207 +#: build/serializers.py:244 build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2530 +#: order/models.py:1299 order/models.py:1958 order/serializers.py:1339 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 +#: part/forms.py:48 part/models.py:3205 part/models.py:4078 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 -#: report/templates/report/inventree_build_order_base.html:113 -#: report/templates/report/inventree_po_report_base.html:29 -#: report/templates/report/inventree_slr_report.html:104 -#: report/templates/report/inventree_so_report_base.html:29 -#: report/templates/report/inventree_test_report_base.html:90 -#: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:160 stock/serializers.py:463 +#: report/templates/report/inventree_build_order_report.html:113 +#: report/templates/report/inventree_purchase_order_report.html:29 +#: report/templates/report/inventree_sales_order_report.html:29 +#: report/templates/report/inventree_stock_location_report.html:104 +#: report/templates/report/inventree_test_report.html:90 +#: report/templates/report/inventree_test_report.html:170 stock/admin.py:160 +#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:592 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1324,380 +1328,381 @@ msgstr "" #: templates/js/translated/build.js:737 templates/js/translated/build.js:1369 #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 -#: templates/js/translated/model_renderers.js:230 +#: templates/js/translated/model_renderers.js:236 #: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3341 +#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3340 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 #: templates/js/translated/purchase_order.js:754 -#: templates/js/translated/purchase_order.js:1853 -#: templates/js/translated/purchase_order.js:2072 +#: templates/js/translated/purchase_order.js:1852 +#: templates/js/translated/purchase_order.js:2071 #: templates/js/translated/sales_order.js:317 -#: templates/js/translated/sales_order.js:1199 -#: templates/js/translated/sales_order.js:1518 -#: templates/js/translated/sales_order.js:1608 -#: templates/js/translated/sales_order.js:1698 -#: templates/js/translated/sales_order.js:1824 +#: templates/js/translated/sales_order.js:1235 +#: templates/js/translated/sales_order.js:1554 +#: templates/js/translated/sales_order.js:1644 +#: templates/js/translated/sales_order.js:1734 +#: templates/js/translated/sales_order.js:1860 #: templates/js/translated/stock.js:564 templates/js/translated/stock.js:702 -#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:3024 -#: templates/js/translated/stock.js:3107 +#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:3021 +#: templates/js/translated/stock.js:3104 msgid "Quantity" msgstr "" -#: build/models.py:1338 +#: build/models.py:1375 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1418 +#: build/models.py:1455 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1427 +#: build/models.py:1464 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1437 order/models.py:1869 +#: build/models.py:1474 order/models.py:1909 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1443 order/models.py:1872 +#: build/models.py:1480 order/models.py:1912 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1449 +#: build/models.py:1486 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1508 +#: build/models.py:1545 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1580 build/serializers.py:817 order/serializers.py:1183 -#: order/serializers.py:1204 stock/serializers.py:566 stock/serializers.py:1052 -#: stock/serializers.py:1164 stock/templates/stock/item_base.html:10 +#: build/models.py:1617 build/serializers.py:816 order/serializers.py:1183 +#: order/serializers.py:1204 stock/models.py:364 stock/serializers.py:92 +#: stock/serializers.py:695 stock/serializers.py:1181 stock/serializers.py:1293 +#: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 #: templates/js/translated/build.js:1745 #: templates/js/translated/sales_order.js:301 -#: templates/js/translated/sales_order.js:1198 -#: templates/js/translated/sales_order.js:1499 -#: templates/js/translated/sales_order.js:1504 -#: templates/js/translated/sales_order.js:1605 -#: templates/js/translated/sales_order.js:1692 +#: templates/js/translated/sales_order.js:1234 +#: templates/js/translated/sales_order.js:1535 +#: templates/js/translated/sales_order.js:1540 +#: templates/js/translated/sales_order.js:1641 +#: templates/js/translated/sales_order.js:1728 #: templates/js/translated/stock.js:677 templates/js/translated/stock.js:843 -#: templates/js/translated/stock.js:2980 +#: templates/js/translated/stock.js:2977 msgid "Stock Item" msgstr "" -#: build/models.py:1581 +#: build/models.py:1618 msgid "Source stock item" msgstr "" -#: build/models.py:1594 +#: build/models.py:1631 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1602 +#: build/models.py:1639 msgid "Install into" msgstr "" -#: build/models.py:1603 +#: build/models.py:1640 msgid "Destination stock item" msgstr "" -#: build/serializers.py:158 build/serializers.py:846 +#: build/serializers.py:157 build/serializers.py:845 #: templates/js/translated/build.js:1322 msgid "Build Output" msgstr "" -#: build/serializers.py:170 +#: build/serializers.py:169 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:174 +#: build/serializers.py:173 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:178 +#: build/serializers.py:177 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:189 +#: build/serializers.py:188 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:209 build/serializers.py:246 +#: build/serializers.py:208 build/serializers.py:245 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:267 +#: build/serializers.py:266 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:270 +#: build/serializers.py:269 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:285 order/serializers.py:589 order/serializers.py:1343 -#: stock/serializers.py:483 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:284 order/serializers.py:589 order/serializers.py:1343 +#: stock/serializers.py:612 templates/js/translated/purchase_order.js:1153 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:286 +#: build/serializers.py:285 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:291 build/serializers.py:432 build/serializers.py:504 +#: build/serializers.py:290 build/serializers.py:431 build/serializers.py:503 #: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1679 -#: part/serializers.py:1127 stock/serializers.py:494 stock/serializers.py:654 -#: stock/serializers.py:750 stock/serializers.py:1196 stock/serializers.py:1452 -#: stock/templates/stock/item_base.html:394 +#: part/serializers.py:1142 stock/serializers.py:101 stock/serializers.py:623 +#: stock/serializers.py:783 stock/serializers.py:879 stock/serializers.py:1325 +#: stock/serializers.py:1581 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 #: templates/js/translated/purchase_order.js:1178 #: templates/js/translated/purchase_order.js:1268 -#: templates/js/translated/sales_order.js:1511 -#: templates/js/translated/sales_order.js:1619 -#: templates/js/translated/sales_order.js:1627 -#: templates/js/translated/sales_order.js:1706 +#: templates/js/translated/sales_order.js:1547 +#: templates/js/translated/sales_order.js:1655 +#: templates/js/translated/sales_order.js:1663 +#: templates/js/translated/sales_order.js:1742 #: templates/js/translated/stock.js:678 templates/js/translated/stock.js:844 -#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2203 -#: templates/js/translated/stock.js:2874 +#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2201 +#: templates/js/translated/stock.js:2871 msgid "Location" msgstr "" -#: build/serializers.py:292 +#: build/serializers.py:291 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:306 +#: build/serializers.py:305 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:307 +#: build/serializers.py:306 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:322 +#: build/serializers.py:321 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:347 stock/api.py:995 +#: build/serializers.py:346 stock/api.py:1029 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:394 build/serializers.py:456 build/serializers.py:545 +#: build/serializers.py:393 build/serializers.py:455 build/serializers.py:544 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:433 +#: build/serializers.py:432 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:439 +#: build/serializers.py:438 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:440 +#: build/serializers.py:439 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:445 +#: build/serializers.py:444 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:505 +#: build/serializers.py:504 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:511 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:922 -#: order/models.py:2022 order/serializers.py:597 stock/admin.py:165 -#: stock/serializers.py:801 stock/serializers.py:1340 +#: build/serializers.py:510 build/templates/build/build_base.html:151 +#: build/templates/build/detail.html:62 order/models.py:953 +#: order/models.py:2071 order/serializers.py:597 stock/admin.py:165 +#: stock/serializers.py:930 stock/serializers.py:1469 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 -#: templates/js/translated/purchase_order.js:1723 -#: templates/js/translated/return_order.js:331 -#: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2178 templates/js/translated/stock.js:2998 -#: templates/js/translated/stock.js:3123 +#: templates/js/translated/purchase_order.js:1722 +#: templates/js/translated/return_order.js:330 +#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/stock.js:2176 templates/js/translated/stock.js:2995 +#: templates/js/translated/stock.js:3120 msgid "Status" msgstr "" -#: build/serializers.py:517 +#: build/serializers.py:516 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:518 +#: build/serializers.py:517 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:598 +#: build/serializers.py:597 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:599 +#: build/serializers.py:598 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:605 +#: build/serializers.py:604 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:606 +#: build/serializers.py:605 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:633 +#: build/serializers.py:632 msgid "Not permitted" msgstr "" -#: build/serializers.py:634 +#: build/serializers.py:633 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:635 +#: build/serializers.py:634 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:657 +#: build/serializers.py:656 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:659 +#: build/serializers.py:658 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:669 +#: build/serializers.py:668 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:674 +#: build/serializers.py:673 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:675 +#: build/serializers.py:674 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:685 templates/js/translated/build.js:315 +#: build/serializers.py:684 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:690 order/serializers.py:301 order/serializers.py:1246 +#: build/serializers.py:689 order/serializers.py:301 order/serializers.py:1246 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:691 +#: build/serializers.py:690 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:701 templates/js/translated/build.js:319 +#: build/serializers.py:700 templates/js/translated/build.js:319 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:710 templates/js/translated/build.js:303 +#: build/serializers.py:709 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:740 +#: build/serializers.py:739 msgid "Build Line" msgstr "" -#: build/serializers.py:750 +#: build/serializers.py:749 msgid "Build output" msgstr "" -#: build/serializers.py:758 +#: build/serializers.py:757 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:794 +#: build/serializers.py:793 msgid "Build Line Item" msgstr "" -#: build/serializers.py:808 +#: build/serializers.py:807 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:823 stock/serializers.py:1065 +#: build/serializers.py:822 stock/serializers.py:1194 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:871 order/serializers.py:1237 +#: build/serializers.py:870 order/serializers.py:1237 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:877 +#: build/serializers.py:876 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:884 +#: build/serializers.py:883 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:908 order/serializers.py:1489 +#: build/serializers.py:907 order/serializers.py:1489 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:971 +#: build/serializers.py:970 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:979 +#: build/serializers.py:978 msgid "Exclude Location" msgstr "" -#: build/serializers.py:980 +#: build/serializers.py:979 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:985 +#: build/serializers.py:984 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:986 +#: build/serializers.py:985 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:991 +#: build/serializers.py:990 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:992 +#: build/serializers.py:991 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:997 +#: build/serializers.py:996 msgid "Optional Items" msgstr "" -#: build/serializers.py:998 +#: build/serializers.py:997 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1020 +#: build/serializers.py:1019 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1110 part/models.py:3930 part/models.py:4366 -#: stock/api.py:758 +#: build/serializers.py:1109 part/models.py:3973 part/models.py:4409 +#: stock/api.py:792 msgid "BOM Item" msgstr "" -#: build/serializers.py:1119 templates/js/translated/index.js:130 +#: build/serializers.py:1118 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1124 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:817 part/serializers.py:1489 +#: build/serializers.py:1123 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:832 part/serializers.py:1504 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 @@ -1705,15 +1710,15 @@ msgstr "" msgid "On Order" msgstr "" -#: build/serializers.py:1129 part/serializers.py:1491 +#: build/serializers.py:1128 part/serializers.py:1506 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1134 part/bom.py:172 part/serializers.py:1514 +#: build/serializers.py:1133 part/bom.py:172 part/serializers.py:1529 #: part/templates/part/part_base.html:192 -#: templates/js/translated/sales_order.js:1893 +#: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "" @@ -1842,18 +1847,18 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:297 -#: order/models.py:1294 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:310 +#: order/models.py:1334 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 -#: order/templates/order/sales_order_base.html:192 -#: report/templates/report/inventree_build_order_base.html:125 +#: order/templates/order/sales_order_base.html:196 +#: report/templates/report/inventree_build_order_report.html:125 #: templates/js/translated/build.js:2239 templates/js/translated/part.js:1830 -#: templates/js/translated/purchase_order.js:1740 -#: templates/js/translated/purchase_order.js:2148 -#: templates/js/translated/return_order.js:347 -#: templates/js/translated/return_order.js:751 -#: templates/js/translated/sales_order.js:835 -#: templates/js/translated/sales_order.js:1867 +#: templates/js/translated/purchase_order.js:1739 +#: templates/js/translated/purchase_order.js:2147 +#: templates/js/translated/return_order.js:346 +#: templates/js/translated/return_order.js:750 +#: templates/js/translated/sales_order.js:871 +#: templates/js/translated/sales_order.js:1903 msgid "Target Date" msgstr "" @@ -1866,7 +1871,7 @@ msgstr "" #: build/templates/build/build_base.html:222 #: order/templates/order/order_base.html:122 #: order/templates/order/return_order_base.html:117 -#: order/templates/order/sales_order_base.html:122 +#: order/templates/order/sales_order_base.html:126 #: templates/js/translated/table_filters.js:98 #: templates/js/translated/table_filters.js:524 #: templates/js/translated/table_filters.js:626 @@ -1880,24 +1885,24 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:1538 -#: order/models.py:1652 order/models.py:1806 +#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:848 +#: order/models.py:1578 order/models.py:1692 order/models.py:1846 #: 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 +#: report/templates/report/inventree_build_order_report.html:135 +#: report/templates/report/inventree_sales_order_report.html:14 #: stock/templates/stock/item_base.html:369 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:929 -#: templates/js/translated/sales_order.js:769 -#: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2927 +#: templates/js/translated/sales_order.js:805 +#: templates/js/translated/sales_order.js:1028 +#: templates/js/translated/stock.js:2924 msgid "Sales Order" msgstr "" #: build/templates/build/build_base.html:197 #: build/templates/build/detail.html:115 -#: report/templates/report/inventree_build_order_base.html:152 +#: report/templates/report/inventree_build_order_report.html:152 #: templates/js/translated/table_filters.js:24 msgid "Issued By" msgstr "" @@ -1907,15 +1912,15 @@ msgstr "" msgid "Priority" msgstr "" -#: build/templates/build/build_base.html:273 +#: build/templates/build/build_base.html:269 msgid "Delete Build Order" msgstr "" -#: build/templates/build/build_base.html:283 +#: build/templates/build/build_base.html:279 msgid "Build Order QR Code" msgstr "" -#: build/templates/build/build_base.html:295 +#: build/templates/build/build_base.html:291 msgid "Link Barcode to Build Order" msgstr "" @@ -1931,8 +1936,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1430 -#: templates/js/translated/purchase_order.js:2190 +#: build/templates/build/detail.html:49 order/models.py:1470 +#: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "" @@ -1947,10 +1952,10 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 #: templates/js/translated/build.js:1380 -#: templates/js/translated/model_renderers.js:235 +#: templates/js/translated/model_renderers.js:241 #: templates/js/translated/purchase_order.js:1274 -#: templates/js/translated/stock.js:1133 templates/js/translated/stock.js:2192 -#: templates/js/translated/stock.js:3130 +#: templates/js/translated/stock.js:1133 templates/js/translated/stock.js:2190 +#: templates/js/translated/stock.js:3127 #: templates/js/translated/table_filters.js:313 #: templates/js/translated/table_filters.js:404 msgid "Batch" @@ -1959,7 +1964,7 @@ msgstr "" #: build/templates/build/detail.html:133 #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:151 -#: order/templates/order/sales_order_base.html:186 +#: order/templates/order/sales_order_base.html:190 #: templates/js/translated/build.js:2199 msgid "Created" msgstr "" @@ -1969,7 +1974,7 @@ msgid "No target date set" msgstr "" #: build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:202 +#: order/templates/order/sales_order_base.html:206 #: templates/js/translated/table_filters.js:689 msgid "Completed" msgstr "" @@ -2260,8 +2265,8 @@ msgstr "" #: common/models.py:1316 common/models.py:1372 common/models.py:1385 #: common/models.py:1393 common/models.py:1402 common/models.py:1411 -#: common/models.py:1613 common/models.py:1635 common/models.py:1750 -#: common/models.py:2061 +#: common/models.py:1619 common/models.py:1641 common/models.py:1756 +#: common/models.py:2067 msgid "days" msgstr "" @@ -2402,1209 +2407,1218 @@ msgid "Enable revision field for Part" msgstr "" #: common/models.py:1440 -msgid "IPN Regex" +msgid "Allow Deletion from Assembly" msgstr "" #: common/models.py:1441 +msgid "Allow deletion of parts which are used in an assembly" +msgstr "" + +#: common/models.py:1446 +msgid "IPN Regex" +msgstr "" + +#: common/models.py:1447 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1444 +#: common/models.py:1450 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1445 +#: common/models.py:1451 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1450 +#: common/models.py:1456 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1451 +#: common/models.py:1457 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1456 +#: common/models.py:1462 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1457 +#: common/models.py:1463 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1462 +#: common/models.py:1468 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1463 +#: common/models.py:1469 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1468 +#: common/models.py:1474 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1469 +#: common/models.py:1475 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1474 +#: common/models.py:1480 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1475 +#: common/models.py:1481 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1480 part/admin.py:108 part/models.py:3772 -#: report/models.py:182 stock/serializers.py:99 +#: common/models.py:1486 part/admin.py:108 part/models.py:3815 +#: report/models.py:294 report/models.py:361 report/serializers.py:90 +#: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:767 msgid "Template" msgstr "" -#: common/models.py:1481 +#: common/models.py:1487 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1486 part/admin.py:91 part/admin.py:431 part/models.py:1016 +#: common/models.py:1492 part/admin.py:91 part/admin.py:433 part/models.py:1059 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "" -#: common/models.py:1487 +#: common/models.py:1493 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1492 part/admin.py:95 part/models.py:1022 +#: common/models.py:1498 part/admin.py:95 part/models.py:1065 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "" -#: common/models.py:1493 +#: common/models.py:1499 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1498 part/admin.py:100 part/models.py:1034 +#: common/models.py:1504 part/admin.py:100 part/models.py:1077 msgid "Purchaseable" msgstr "" -#: common/models.py:1499 +#: common/models.py:1505 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1504 part/admin.py:104 part/models.py:1040 +#: common/models.py:1510 part/admin.py:104 part/models.py:1083 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "" -#: common/models.py:1505 +#: common/models.py:1511 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1510 part/admin.py:113 part/models.py:1028 +#: common/models.py:1516 part/admin.py:113 part/models.py:1071 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "" -#: common/models.py:1511 +#: common/models.py:1517 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1516 part/admin.py:117 part/models.py:1050 +#: common/models.py:1522 part/admin.py:117 part/models.py:1093 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "" -#: common/models.py:1517 +#: common/models.py:1523 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1522 +#: common/models.py:1528 msgid "Show Import in Views" msgstr "" -#: common/models.py:1523 +#: common/models.py:1529 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1528 +#: common/models.py:1534 msgid "Show related parts" msgstr "" -#: common/models.py:1529 +#: common/models.py:1535 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1534 +#: common/models.py:1540 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1535 +#: common/models.py:1541 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1540 templates/js/translated/part.js:107 +#: common/models.py:1546 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1542 +#: common/models.py:1548 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1548 +#: common/models.py:1554 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1549 +#: common/models.py:1555 msgid "Format to display the part name" msgstr "" -#: common/models.py:1555 +#: common/models.py:1561 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1556 +#: common/models.py:1562 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1560 +#: common/models.py:1566 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1562 +#: common/models.py:1568 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1568 +#: common/models.py:1574 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1570 +#: common/models.py:1576 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1576 +#: common/models.py:1582 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1578 +#: common/models.py:1584 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1584 +#: common/models.py:1590 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1586 +#: common/models.py:1592 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1592 +#: common/models.py:1598 msgid "Purchase History Override" msgstr "" -#: common/models.py:1594 +#: common/models.py:1600 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1600 +#: common/models.py:1606 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1602 +#: common/models.py:1608 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1608 +#: common/models.py:1614 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1610 +#: common/models.py:1616 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1617 +#: common/models.py:1623 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1618 +#: common/models.py:1624 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1623 +#: common/models.py:1629 msgid "Active Variants Only" msgstr "" -#: common/models.py:1625 +#: common/models.py:1631 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1631 +#: common/models.py:1637 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1633 +#: common/models.py:1639 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1640 +#: common/models.py:1646 msgid "Internal Prices" msgstr "" -#: common/models.py:1641 +#: common/models.py:1647 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1646 +#: common/models.py:1652 msgid "Internal Price Override" msgstr "" -#: common/models.py:1648 +#: common/models.py:1654 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1654 +#: common/models.py:1660 msgid "Enable label printing" msgstr "" -#: common/models.py:1655 +#: common/models.py:1661 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1660 +#: common/models.py:1666 msgid "Label Image DPI" msgstr "" -#: common/models.py:1662 +#: common/models.py:1668 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1668 +#: common/models.py:1674 msgid "Enable Reports" msgstr "" -#: common/models.py:1669 +#: common/models.py:1675 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1674 templates/stats.html:25 +#: common/models.py:1680 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1675 +#: common/models.py:1681 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1680 +#: common/models.py:1686 msgid "Log Report Errors" msgstr "" -#: common/models.py:1681 +#: common/models.py:1687 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1686 plugin/builtin/labels/label_sheet.py:28 -#: report/models.py:203 +#: common/models.py:1692 plugin/builtin/labels/label_sheet.py:28 +#: report/models.py:302 msgid "Page Size" msgstr "" -#: common/models.py:1687 +#: common/models.py:1693 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1692 +#: common/models.py:1698 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1693 +#: common/models.py:1699 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1698 +#: common/models.py:1704 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1700 +#: common/models.py:1706 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1706 +#: common/models.py:1712 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1707 +#: common/models.py:1713 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1712 +#: common/models.py:1718 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1713 +#: common/models.py:1719 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1718 +#: common/models.py:1724 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1720 +#: common/models.py:1726 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1726 +#: common/models.py:1732 msgid "Batch Code Template" msgstr "" -#: common/models.py:1728 +#: common/models.py:1734 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1733 +#: common/models.py:1739 msgid "Stock Expiry" msgstr "" -#: common/models.py:1734 +#: common/models.py:1740 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1739 +#: common/models.py:1745 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1740 +#: common/models.py:1746 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1745 +#: common/models.py:1751 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1747 +#: common/models.py:1753 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1754 +#: common/models.py:1760 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1755 +#: common/models.py:1761 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1760 +#: common/models.py:1766 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1761 +#: common/models.py:1767 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1766 +#: common/models.py:1772 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1767 +#: common/models.py:1773 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1771 +#: common/models.py:1777 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1772 +#: common/models.py:1778 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1777 +#: common/models.py:1783 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1779 +#: common/models.py:1785 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1785 +#: common/models.py:1791 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1787 +#: common/models.py:1793 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1793 +#: common/models.py:1799 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1795 +#: common/models.py:1801 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1801 common/models.py:1829 common/models.py:1851 -#: common/models.py:1879 +#: common/models.py:1807 common/models.py:1835 common/models.py:1857 +#: common/models.py:1885 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1802 common/models.py:1830 common/models.py:1852 -#: common/models.py:1880 +#: common/models.py:1808 common/models.py:1836 common/models.py:1858 +#: common/models.py:1886 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1807 +#: common/models.py:1813 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1809 +#: common/models.py:1815 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1815 +#: common/models.py:1821 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1816 +#: common/models.py:1822 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1821 +#: common/models.py:1827 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1823 +#: common/models.py:1829 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1835 +#: common/models.py:1841 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1837 +#: common/models.py:1843 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1843 +#: common/models.py:1849 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1845 +#: common/models.py:1851 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1857 +#: common/models.py:1863 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1858 +#: common/models.py:1864 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1863 +#: common/models.py:1869 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1865 +#: common/models.py:1871 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1871 +#: common/models.py:1877 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1873 +#: common/models.py:1879 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1885 +#: common/models.py:1891 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1887 +#: common/models.py:1893 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1893 +#: common/models.py:1899 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1895 +#: common/models.py:1901 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1902 +#: common/models.py:1908 msgid "Enable password forgot" msgstr "" -#: common/models.py:1903 +#: common/models.py:1909 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1908 +#: common/models.py:1914 msgid "Enable registration" msgstr "" -#: common/models.py:1909 +#: common/models.py:1915 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1914 +#: common/models.py:1920 msgid "Enable SSO" msgstr "" -#: common/models.py:1915 +#: common/models.py:1921 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1920 +#: common/models.py:1926 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1922 +#: common/models.py:1928 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1928 +#: common/models.py:1934 msgid "Email required" msgstr "" -#: common/models.py:1929 +#: common/models.py:1935 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1934 +#: common/models.py:1940 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1936 +#: common/models.py:1942 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1942 +#: common/models.py:1948 msgid "Mail twice" msgstr "" -#: common/models.py:1943 +#: common/models.py:1949 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1948 +#: common/models.py:1954 msgid "Password twice" msgstr "" -#: common/models.py:1949 +#: common/models.py:1955 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1954 +#: common/models.py:1960 msgid "Allowed domains" msgstr "" -#: common/models.py:1956 +#: common/models.py:1962 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1962 +#: common/models.py:1968 msgid "Group on signup" msgstr "" -#: common/models.py:1963 +#: common/models.py:1969 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1968 +#: common/models.py:1974 msgid "Enforce MFA" msgstr "" -#: common/models.py:1969 +#: common/models.py:1975 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1974 +#: common/models.py:1980 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1976 +#: common/models.py:1982 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1984 +#: common/models.py:1990 msgid "Check for plugin updates" msgstr "" -#: common/models.py:1985 +#: common/models.py:1991 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:1991 +#: common/models.py:1997 msgid "Enable URL integration" msgstr "" -#: common/models.py:1992 +#: common/models.py:1998 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1998 +#: common/models.py:2004 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1999 +#: common/models.py:2005 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2005 +#: common/models.py:2011 msgid "Enable app integration" msgstr "" -#: common/models.py:2006 +#: common/models.py:2012 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2012 +#: common/models.py:2018 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2013 +#: common/models.py:2019 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2019 +#: common/models.py:2025 msgid "Enable event integration" msgstr "" -#: common/models.py:2020 +#: common/models.py:2026 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2026 +#: common/models.py:2032 msgid "Enable project codes" msgstr "" -#: common/models.py:2027 +#: common/models.py:2033 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2032 +#: common/models.py:2038 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2034 +#: common/models.py:2040 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2040 +#: common/models.py:2046 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2042 +#: common/models.py:2048 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2048 +#: common/models.py:2054 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2050 +#: common/models.py:2056 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2056 +#: common/models.py:2062 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2058 +#: common/models.py:2064 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2065 +#: common/models.py:2071 msgid "Display Users full names" msgstr "" -#: common/models.py:2066 +#: common/models.py:2072 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2071 +#: common/models.py:2077 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2072 +#: common/models.py:2078 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2084 common/models.py:2494 +#: common/models.py:2090 common/models.py:2500 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2127 +#: common/models.py:2133 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2129 +#: common/models.py:2135 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2135 +#: common/models.py:2141 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2136 +#: common/models.py:2142 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2141 +#: common/models.py:2147 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2142 +#: common/models.py:2148 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2147 +#: common/models.py:2153 msgid "Show latest parts" msgstr "" -#: common/models.py:2148 +#: common/models.py:2154 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2153 +#: common/models.py:2159 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2154 +#: common/models.py:2160 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2159 +#: common/models.py:2165 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2160 +#: common/models.py:2166 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2165 +#: common/models.py:2171 msgid "Show low stock" msgstr "" -#: common/models.py:2166 +#: common/models.py:2172 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2171 +#: common/models.py:2177 msgid "Show depleted stock" msgstr "" -#: common/models.py:2172 +#: common/models.py:2178 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2177 +#: common/models.py:2183 msgid "Show needed stock" msgstr "" -#: common/models.py:2178 +#: common/models.py:2184 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2183 +#: common/models.py:2189 msgid "Show expired stock" msgstr "" -#: common/models.py:2184 +#: common/models.py:2190 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2189 +#: common/models.py:2195 msgid "Show stale stock" msgstr "" -#: common/models.py:2190 +#: common/models.py:2196 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2195 +#: common/models.py:2201 msgid "Show pending builds" msgstr "" -#: common/models.py:2196 +#: common/models.py:2202 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2201 +#: common/models.py:2207 msgid "Show overdue builds" msgstr "" -#: common/models.py:2202 +#: common/models.py:2208 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2207 +#: common/models.py:2213 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2208 +#: common/models.py:2214 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2213 +#: common/models.py:2219 msgid "Show overdue POs" msgstr "" -#: common/models.py:2214 +#: common/models.py:2220 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2219 +#: common/models.py:2225 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2220 +#: common/models.py:2226 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2225 +#: common/models.py:2231 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2226 +#: common/models.py:2232 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2231 +#: common/models.py:2237 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2232 +#: common/models.py:2238 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2237 +#: common/models.py:2243 msgid "Show News" msgstr "" -#: common/models.py:2238 +#: common/models.py:2244 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2243 +#: common/models.py:2249 msgid "Inline label display" msgstr "" -#: common/models.py:2245 +#: common/models.py:2251 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2251 +#: common/models.py:2257 msgid "Default label printer" msgstr "" -#: common/models.py:2253 +#: common/models.py:2259 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2259 +#: common/models.py:2265 msgid "Inline report display" msgstr "" -#: common/models.py:2261 +#: common/models.py:2267 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2267 +#: common/models.py:2273 msgid "Search Parts" msgstr "" -#: common/models.py:2268 +#: common/models.py:2274 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2273 +#: common/models.py:2279 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2274 +#: common/models.py:2280 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2279 +#: common/models.py:2285 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2280 +#: common/models.py:2286 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2285 +#: common/models.py:2291 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2286 +#: common/models.py:2292 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2291 +#: common/models.py:2297 msgid "Search Categories" msgstr "" -#: common/models.py:2292 +#: common/models.py:2298 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2297 +#: common/models.py:2303 msgid "Search Stock" msgstr "" -#: common/models.py:2298 +#: common/models.py:2304 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2303 +#: common/models.py:2309 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2305 +#: common/models.py:2311 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2311 +#: common/models.py:2317 msgid "Search Locations" msgstr "" -#: common/models.py:2312 +#: common/models.py:2318 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2317 +#: common/models.py:2323 msgid "Search Companies" msgstr "" -#: common/models.py:2318 +#: common/models.py:2324 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2323 +#: common/models.py:2329 msgid "Search Build Orders" msgstr "" -#: common/models.py:2324 +#: common/models.py:2330 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2329 +#: common/models.py:2335 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2330 +#: common/models.py:2336 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2335 +#: common/models.py:2341 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2337 +#: common/models.py:2343 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2343 +#: common/models.py:2349 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2344 +#: common/models.py:2350 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2349 +#: common/models.py:2355 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2351 +#: common/models.py:2357 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2357 +#: common/models.py:2363 msgid "Search Return Orders" msgstr "" -#: common/models.py:2358 +#: common/models.py:2364 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2363 +#: common/models.py:2369 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2365 +#: common/models.py:2371 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2371 +#: common/models.py:2377 msgid "Search Preview Results" msgstr "" -#: common/models.py:2373 +#: common/models.py:2379 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2379 +#: common/models.py:2385 msgid "Regex Search" msgstr "" -#: common/models.py:2380 +#: common/models.py:2386 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2385 +#: common/models.py:2391 msgid "Whole Word Search" msgstr "" -#: common/models.py:2386 +#: common/models.py:2392 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2391 +#: common/models.py:2397 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2392 +#: common/models.py:2398 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2397 +#: common/models.py:2403 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2398 +#: common/models.py:2404 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2403 +#: common/models.py:2409 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2404 +#: common/models.py:2410 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2409 +#: common/models.py:2415 msgid "Date Format" msgstr "" -#: common/models.py:2410 +#: common/models.py:2416 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2423 part/templates/part/detail.html:41 +#: common/models.py:2429 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2424 +#: common/models.py:2430 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2429 part/templates/part/detail.html:62 +#: common/models.py:2435 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2431 +#: common/models.py:2437 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2437 +#: common/models.py:2443 msgid "Table String Length" msgstr "" -#: common/models.py:2439 +#: common/models.py:2445 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2445 +#: common/models.py:2451 msgid "Default part label template" msgstr "" -#: common/models.py:2446 +#: common/models.py:2452 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2451 +#: common/models.py:2457 msgid "Default stock item template" msgstr "" -#: common/models.py:2453 +#: common/models.py:2459 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2459 +#: common/models.py:2465 msgid "Default stock location label template" msgstr "" -#: common/models.py:2461 +#: common/models.py:2467 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2467 +#: common/models.py:2473 msgid "Default build line label template" msgstr "" -#: common/models.py:2469 +#: common/models.py:2475 msgid "The build line label template to be automatically selected" msgstr "" -#: common/models.py:2475 +#: common/models.py:2481 msgid "Receive error reports" msgstr "" -#: common/models.py:2476 +#: common/models.py:2482 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2481 +#: common/models.py:2487 msgid "Last used printing machines" msgstr "" -#: common/models.py:2482 +#: common/models.py:2488 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2525 +#: common/models.py:2531 msgid "Price break quantity" msgstr "" -#: common/models.py:2532 company/serializers.py:496 order/admin.py:42 -#: order/models.py:1333 order/models.py:2243 +#: common/models.py:2538 company/serializers.py:496 order/admin.py:42 +#: order/models.py:1373 order/models.py:2292 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 -#: templates/js/translated/return_order.js:741 +#: templates/js/translated/return_order.js:740 msgid "Price" msgstr "" -#: common/models.py:2533 +#: common/models.py:2539 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2704 common/models.py:2889 +#: common/models.py:2710 common/models.py:2895 msgid "Endpoint" msgstr "" -#: common/models.py:2705 +#: common/models.py:2711 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2715 +#: common/models.py:2721 msgid "Name for this webhook" msgstr "" -#: common/models.py:2719 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1045 -#: plugin/models.py:56 templates/js/translated/company.js:523 +#: common/models.py:2725 company/models.py:160 company/models.py:814 +#: machine/models.py:39 part/admin.py:88 part/models.py:1088 +#: plugin/models.py:65 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:492 @@ -3614,135 +3628,135 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2719 +#: common/models.py:2725 msgid "Is this webhook active" msgstr "" -#: common/models.py:2735 users/models.py:159 +#: common/models.py:2741 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2736 +#: common/models.py:2742 msgid "Token for access" msgstr "" -#: common/models.py:2744 +#: common/models.py:2750 msgid "Secret" msgstr "" -#: common/models.py:2745 +#: common/models.py:2751 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2853 +#: common/models.py:2859 msgid "Message ID" msgstr "" -#: common/models.py:2854 +#: common/models.py:2860 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2862 +#: common/models.py:2868 msgid "Host" msgstr "" -#: common/models.py:2863 +#: common/models.py:2869 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2871 +#: common/models.py:2877 msgid "Header" msgstr "" -#: common/models.py:2872 +#: common/models.py:2878 msgid "Header of this message" msgstr "" -#: common/models.py:2879 +#: common/models.py:2885 msgid "Body" msgstr "" -#: common/models.py:2880 +#: common/models.py:2886 msgid "Body of this message" msgstr "" -#: common/models.py:2890 +#: common/models.py:2896 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2895 +#: common/models.py:2901 msgid "Worked on" msgstr "" -#: common/models.py:2896 +#: common/models.py:2902 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3022 +#: common/models.py:3028 msgid "Id" msgstr "" -#: common/models.py:3024 templates/js/translated/company.js:965 +#: common/models.py:3030 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3028 templates/js/translated/news.js:60 +#: common/models.py:3034 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3030 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3036 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3032 templates/js/translated/news.js:52 +#: common/models.py:3038 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3035 +#: common/models.py:3041 msgid "Read" msgstr "" -#: common/models.py:3035 +#: common/models.py:3041 msgid "Was this news item read?" msgstr "" -#: common/models.py:3052 company/models.py:156 part/models.py:929 +#: common/models.py:3058 company/models.py:156 part/models.py:972 #: 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 +#: report/templates/report/inventree_return_order_report.html:35 #: stock/templates/stock/item_base.html:133 templates/503.html:31 #: templates/hover_image.html:7 templates/hover_image.html:9 #: templates/modals.html:6 msgid "Image" msgstr "" -#: common/models.py:3052 +#: common/models.py:3058 msgid "Image file" msgstr "" -#: common/models.py:3094 +#: common/models.py:3100 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3113 +#: common/models.py:3119 msgid "Unit name" msgstr "" -#: common/models.py:3120 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3126 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3121 +#: common/models.py:3127 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3128 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3134 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3129 +#: common/models.py:3135 msgid "Unit definition" msgstr "" @@ -3929,9 +3943,9 @@ msgid "Contact email address" msgstr "" #: company/models.py:139 company/templates/company/company_base.html:145 -#: order/models.py:331 order/templates/order/order_base.html:203 +#: order/models.py:344 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 -#: order/templates/order/sales_order_base.html:214 +#: order/templates/order/sales_order_base.html:218 msgid "Contact" msgstr "" @@ -3977,7 +3991,7 @@ msgstr "" #: company/models.py:273 company/models.py:382 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:776 +#: company/templates/company/company_base.html:12 stock/api.py:810 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "" @@ -4069,8 +4083,8 @@ msgstr "" msgid "Link to address information (external)" msgstr "" -#: company/models.py:489 company/models.py:792 stock/models.py:751 -#: stock/serializers.py:266 stock/templates/stock/item_base.html:142 +#: company/models.py:489 company/models.py:792 stock/models.py:772 +#: stock/serializers.py:395 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -4081,7 +4095,7 @@ msgstr "" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:515 +#: company/templates/company/supplier_part.html:145 part/serializers.py:530 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4096,13 +4110,13 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:525 +#: company/templates/company/supplier_part.html:153 part/serializers.py:540 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800 -#: templates/js/translated/purchase_order.js:1852 -#: templates/js/translated/purchase_order.js:2054 +#: templates/js/translated/purchase_order.js:1851 +#: templates/js/translated/purchase_order.js:2053 msgid "MPN" msgstr "" @@ -4129,9 +4143,8 @@ msgstr "" msgid "Parameter name" msgstr "" -#: company/models.py:621 -#: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2448 templates/js/translated/company.js:1166 +#: company/models.py:621 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2425 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492 #: templates/js/translated/stock.js:1522 msgid "Value" @@ -4142,10 +4155,10 @@ msgid "Parameter value" msgstr "" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1009 part/models.py:3623 +#: part/admin.py:57 part/models.py:1052 part/models.py:3666 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 -#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370 +#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 msgid "Units" msgstr "" @@ -4166,9 +4179,9 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:465 +#: company/templates/company/supplier_part.html:129 order/models.py:487 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:499 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:514 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4176,7 +4189,7 @@ msgstr "" #: templates/js/translated/company.js:511 #: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1690 +#: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/table_filters.js:804 msgid "Supplier" msgstr "" @@ -4185,7 +4198,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:809 part/serializers.py:510 +#: company/models.py:809 part/serializers.py:525 msgid "Supplier stock keeping unit" msgstr "" @@ -4206,29 +4219,29 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:418 part/models.py:4070 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4113 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 -#: report/templates/report/inventree_slr_report.html:105 -#: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:579 +#: report/templates/report/inventree_purchase_order_report.html:32 +#: report/templates/report/inventree_return_order_report.html:27 +#: report/templates/report/inventree_sales_order_report.html:32 +#: report/templates/report/inventree_stock_location_report.html:105 +#: stock/serializers.py:708 msgid "Note" msgstr "" -#: company/models.py:857 part/models.py:1967 +#: company/models.py:857 part/models.py:2010 msgid "base cost" msgstr "" -#: company/models.py:858 part/models.py:1968 +#: company/models.py:858 part/models.py:2011 msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:782 stock/serializers.py:1350 +#: stock/admin.py:224 stock/models.py:803 stock/serializers.py:1479 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 -#: templates/js/translated/stock.js:2426 +#: templates/js/translated/stock.js:2424 msgid "Packaging" msgstr "" @@ -4241,8 +4254,8 @@ msgstr "" #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 -#: templates/js/translated/purchase_order.js:2085 -#: templates/js/translated/purchase_order.js:2102 +#: templates/js/translated/purchase_order.js:2084 +#: templates/js/translated/purchase_order.js:2101 msgid "Pack Quantity" msgstr "" @@ -4250,7 +4263,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:892 part/models.py:1974 +#: company/models.py:892 part/models.py:2017 msgid "multiple" msgstr "" @@ -4285,7 +4298,7 @@ msgstr "" #: part/templates/part/part_base.html:146 #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 -#: templates/js/translated/model_renderers.js:306 +#: templates/js/translated/model_renderers.js:312 #: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 msgid "Inactive" msgstr "" @@ -4321,11 +4334,11 @@ msgstr "" #: company/templates/company/manufacturer_part.html:51 #: company/templates/company/supplier_part.html:83 #: part/templates/part/part_thumb.html:20 -#: report/templates/report/inventree_build_order_base.html:98 -#: report/templates/report/inventree_po_report_base.html:40 -#: report/templates/report/inventree_so_report_base.html:40 -#: report/templates/report/inventree_test_report_base.html:84 -#: report/templates/report/inventree_test_report_base.html:163 +#: report/templates/report/inventree_build_order_report.html:98 +#: report/templates/report/inventree_purchase_order_report.html:40 +#: report/templates/report/inventree_sales_order_report.html:40 +#: report/templates/report/inventree_test_report.html:84 +#: report/templates/report/inventree_test_report.html:163 msgid "Part image" msgstr "" @@ -4344,16 +4357,16 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:92 order/models.py:910 -#: order/models.py:2010 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:144 stock/models.py:804 -#: stock/models.py:805 stock/serializers.py:1100 +#: company/templates/company/company_base.html:92 order/models.py:941 +#: order/models.py:2059 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:148 stock/models.py:825 +#: stock/models.py:826 stock/serializers.py:1229 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 -#: templates/js/translated/return_order.js:296 -#: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2962 +#: templates/js/translated/return_order.js:295 +#: templates/js/translated/sales_order.js:820 +#: templates/js/translated/stock.js:2959 #: templates/js/translated/table_filters.js:808 msgid "Customer" msgstr "" @@ -4362,10 +4375,10 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:124 order/models.py:341 +#: company/templates/company/company_base.html:124 order/models.py:354 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 -#: order/templates/order/sales_order_base.html:221 +#: order/templates/order/sales_order_base.html:225 msgid "Address" msgstr "" @@ -4374,7 +4387,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:211 -#: part/templates/part/part_base.html:528 +#: part/templates/part/part_base.html:527 msgid "Remove Image" msgstr "" @@ -4383,19 +4396,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:214 -#: part/templates/part/part_base.html:531 +#: part/templates/part/part_base.html:530 #: templates/InvenTree/settings/user.html:88 #: templates/InvenTree/settings/user_sso.html:43 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:243 -#: part/templates/part/part_base.html:560 +#: part/templates/part/part_base.html:559 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:258 -#: part/templates/part/part_base.html:614 +#: part/templates/part/part_base.html:613 msgid "Download Image" msgstr "" @@ -4558,7 +4571,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:821 +#: part/admin.py:122 part/serializers.py:836 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4609,10 +4622,10 @@ msgstr "" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:452 -#: stock/models.py:762 stock/templates/stock/item_base.html:233 +#: stock/models.py:783 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 -#: templates/js/translated/stock.js:2282 +#: templates/js/translated/stock.js:2280 msgid "Supplier Part" msgstr "" @@ -4658,11 +4671,11 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:509 +#: part/bom.py:311 part/serializers.py:524 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1851 -#: templates/js/translated/purchase_order.js:2029 +#: templates/js/translated/purchase_order.js:1850 +#: templates/js/translated/purchase_order.js:2028 msgid "SKU" msgstr "" @@ -4671,12 +4684,12 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:209 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:199 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:206 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:200 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:207 #: templates/js/translated/stock.js:537 msgid "New Stock Item" msgstr "" @@ -4708,16 +4721,16 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:820 part/stocktake.py:223 +#: part/serializers.py:835 part/stocktake.py:223 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:787 stock/serializers.py:951 +#: stock/serializers.py:916 stock/serializers.py:1080 #: stock/templates/stock/location.html:170 -#: stock/templates/stock/location.html:184 -#: stock/templates/stock/location.html:196 +#: stock/templates/stock/location.html:191 +#: stock/templates/stock/location.html:203 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2769 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 #: users/models.py:206 msgid "Stock Items" msgstr "" @@ -4751,126 +4764,48 @@ msgstr "" msgid "New Company" msgstr "" -#: label/api.py:247 -msgid "Error printing label" -msgstr "" - -#: label/models.py:120 -msgid "Label name" -msgstr "" - -#: label/models.py:128 -msgid "Label description" -msgstr "" - -#: label/models.py:136 -msgid "Label" -msgstr "" - -#: label/models.py:137 -msgid "Label template file" -msgstr "" - -#: label/models.py:143 part/models.py:3494 report/models.py:324 -#: templates/js/translated/part.js:2900 -#: templates/js/translated/table_filters.js:481 -msgid "Enabled" -msgstr "" - -#: label/models.py:144 -msgid "Label template is enabled" -msgstr "" - -#: label/models.py:149 -msgid "Width [mm]" -msgstr "" - -#: label/models.py:150 -msgid "Label width, specified in mm" -msgstr "" - -#: label/models.py:156 -msgid "Height [mm]" -msgstr "" - -#: label/models.py:157 -msgid "Label height, specified in mm" -msgstr "" - -#: label/models.py:163 report/models.py:317 -msgid "Filename Pattern" -msgstr "" - -#: label/models.py:164 -msgid "Pattern for generating label filenames" -msgstr "" - -#: label/models.py:313 label/models.py:352 label/models.py:377 -#: label/models.py:412 -msgid "Query filters (comma-separated list of key=value pairs)" -msgstr "" - -#: label/models.py:314 label/models.py:353 label/models.py:378 -#: label/models.py:413 report/models.py:345 report/models.py:496 -#: report/models.py:532 report/models.py:568 report/models.py:750 -msgid "Filters" -msgstr "" - -#: label/templates/label/part/part_label.html:31 -#: label/templates/label/stockitem/qr.html:21 -#: label/templates/label/stocklocation/qr.html:20 -#: templates/allauth_2fa/setup.html:18 -msgid "QR Code" -msgstr "" - -#: label/templates/label/part/part_label_code128.html:31 -#: label/templates/label/stocklocation/qr_and_text.html:31 -#: templates/qr_code.html:7 -msgid "QR code" -msgstr "" - -#: machine/machine_types/label_printer.py:217 +#: machine/machine_types/label_printer.py:218 msgid "Copies" msgstr "" -#: machine/machine_types/label_printer.py:218 +#: machine/machine_types/label_printer.py:219 msgid "Number of copies to print for each label" msgstr "" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:234 msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:234 order/api.py:1515 -#: templates/js/translated/sales_order.js:1042 +#: machine/machine_types/label_printer.py:235 order/api.py:1515 +#: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "" -#: machine/machine_types/label_printer.py:235 +#: machine/machine_types/label_printer.py:236 msgid "Printing" msgstr "" -#: machine/machine_types/label_printer.py:236 +#: machine/machine_types/label_printer.py:237 msgid "No media" msgstr "" -#: machine/machine_types/label_printer.py:237 +#: machine/machine_types/label_printer.py:238 msgid "Disconnected" msgstr "" -#: machine/machine_types/label_printer.py:244 +#: machine/machine_types/label_printer.py:245 msgid "Label Printer" msgstr "" -#: machine/machine_types/label_printer.py:245 +#: machine/machine_types/label_printer.py:246 msgid "Directly print labels for various items." msgstr "" -#: machine/machine_types/label_printer.py:251 +#: machine/machine_types/label_printer.py:252 msgid "Printer Location" msgstr "" -#: machine/machine_types/label_printer.py:252 +#: machine/machine_types/label_printer.py:253 msgid "Scope the printer to a specific location" msgstr "" @@ -4930,19 +4865,19 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:89 -#: report/templates/report/inventree_po_report_base.html:31 -#: report/templates/report/inventree_so_report_base.html:31 +#: order/admin.py:30 order/models.py:90 +#: report/templates/report/inventree_purchase_order_report.html:31 +#: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2126 -#: templates/js/translated/sales_order.js:1847 +#: templates/js/translated/purchase_order.js:2125 +#: templates/js/translated/sales_order.js:1883 msgid "Total Price" msgstr "" #: order/api.py:161 order/serializers.py:91 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 -#: order/templates/order/sales_order_base.html:118 +#: order/templates/order/sales_order_base.html:122 msgid "Order Status" msgstr "" @@ -4955,10 +4890,10 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:437 order/api.py:817 order/models.py:1382 order/models.py:1491 -#: order/models.py:1537 order/models.py:1651 order/models.py:1805 -#: order/models.py:2209 order/models.py:2260 -#: templates/js/translated/sales_order.js:1488 +#: order/api.py:437 order/api.py:817 order/models.py:1422 order/models.py:1531 +#: order/models.py:1577 order/models.py:1691 order/models.py:1845 +#: order/models.py:2258 order/models.py:2309 +#: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" @@ -4970,402 +4905,398 @@ msgstr "" msgid "Order Pending" msgstr "" -#: order/api.py:1509 order/models.py:1383 order/models.py:1492 -#: order/templates/order/order_base.html:9 +#: order/api.py:1509 order/models.py:381 order/models.py:1423 +#: order/models.py:1532 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 -#: report/templates/report/inventree_po_report_base.html:14 -#: stock/templates/stock/item_base.html:176 +#: report/templates/report/inventree_purchase_order_report.html:14 +#: stock/serializers.py:119 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 -#: templates/js/translated/purchase_order.js:1674 -#: templates/js/translated/stock.js:2262 templates/js/translated/stock.js:2910 +#: templates/js/translated/purchase_order.js:1673 +#: templates/js/translated/stock.js:2260 templates/js/translated/stock.js:2907 msgid "Purchase Order" msgstr "" -#: order/api.py:1513 order/models.py:2210 order/models.py:2261 -#: order/templates/order/return_order_base.html:9 +#: order/api.py:1513 order/models.py:2008 order/models.py:2259 +#: order/models.py:2310 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:281 -#: templates/js/translated/stock.js:2944 +#: report/templates/report/inventree_return_order_report.html:13 +#: templates/js/translated/return_order.js:280 +#: templates/js/translated/stock.js:2941 msgid "Return Order" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:96 order/serializers.py:71 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:99 order/serializers.py:72 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:246 +#: order/models.py:248 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:278 +#: order/models.py:291 msgid "Order description (optional)" msgstr "" -#: order/models.py:287 +#: order/models.py:300 msgid "Select project code for this order" msgstr "" -#: order/models.py:291 order/models.py:1288 order/models.py:1704 +#: order/models.py:304 order/models.py:1328 order/models.py:1744 msgid "Link to external page" msgstr "" -#: order/models.py:299 +#: order/models.py:312 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:313 +#: order/models.py:326 msgid "Created By" msgstr "" -#: order/models.py:321 +#: order/models.py:334 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:332 +#: order/models.py:345 msgid "Point of contact for this order" msgstr "" -#: order/models.py:342 +#: order/models.py:355 msgid "Company address for this order" msgstr "" -#: order/models.py:443 order/models.py:899 +#: order/models.py:465 order/models.py:930 msgid "Order reference" msgstr "" -#: order/models.py:451 order/models.py:923 +#: order/models.py:473 order/models.py:954 msgid "Purchase order status" msgstr "" -#: order/models.py:466 +#: order/models.py:488 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:477 order/templates/order/order_base.html:148 -#: templates/js/translated/purchase_order.js:1703 +#: order/models.py:499 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1702 msgid "Supplier Reference" msgstr "" -#: order/models.py:478 +#: order/models.py:500 msgid "Supplier order reference code" msgstr "" -#: order/models.py:487 +#: order/models.py:509 msgid "received by" msgstr "" -#: order/models.py:493 order/models.py:2036 +#: order/models.py:515 order/models.py:2085 msgid "Issue Date" msgstr "" -#: order/models.py:494 order/models.py:2037 +#: order/models.py:516 order/models.py:2086 msgid "Date order was issued" msgstr "" -#: order/models.py:501 order/models.py:2044 +#: order/models.py:523 order/models.py:2093 msgid "Date order was completed" msgstr "" -#: order/models.py:545 +#: order/models.py:567 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:739 +#: order/models.py:761 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:911 +#: order/models.py:942 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:934 order/models.py:2029 +#: order/models.py:965 order/models.py:2078 msgid "Customer Reference " msgstr "" -#: order/models.py:935 order/models.py:2030 +#: order/models.py:966 order/models.py:2079 msgid "Customer order reference code" msgstr "" -#: order/models.py:939 order/models.py:1658 -#: templates/js/translated/sales_order.js:843 -#: templates/js/translated/sales_order.js:1024 +#: order/models.py:970 order/models.py:1698 +#: templates/js/translated/sales_order.js:879 +#: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "" -#: order/models.py:948 +#: order/models.py:979 msgid "shipped by" msgstr "" -#: order/models.py:999 -msgid "Order cannot be completed as no parts have been assigned" -msgstr "" - -#: order/models.py:1004 +#: order/models.py:1029 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1008 templates/js/translated/sales_order.js:506 +#: order/models.py:1033 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1013 +#: order/models.py:1038 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1260 +#: order/models.py:1300 msgid "Item quantity" msgstr "" -#: order/models.py:1277 +#: order/models.py:1317 msgid "Line item reference" msgstr "" -#: order/models.py:1284 +#: order/models.py:1324 msgid "Line item notes" msgstr "" -#: order/models.py:1296 +#: order/models.py:1336 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1317 +#: order/models.py:1357 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1323 +#: order/models.py:1363 msgid "Context" msgstr "" -#: order/models.py:1324 +#: order/models.py:1364 msgid "Additional context for this line" msgstr "" -#: order/models.py:1334 +#: order/models.py:1374 msgid "Unit price" msgstr "" -#: order/models.py:1367 +#: order/models.py:1407 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1374 +#: order/models.py:1414 msgid "deleted" msgstr "" -#: order/models.py:1402 +#: order/models.py:1442 msgid "Supplier part" msgstr "" -#: order/models.py:1409 order/templates/order/order_base.html:196 +#: order/models.py:1449 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 #: templates/js/translated/purchase_order.js:1306 -#: templates/js/translated/purchase_order.js:2170 -#: templates/js/translated/return_order.js:764 +#: templates/js/translated/purchase_order.js:2169 +#: templates/js/translated/return_order.js:763 #: templates/js/translated/table_filters.js:120 #: templates/js/translated/table_filters.js:602 msgid "Received" msgstr "" -#: order/models.py:1410 +#: order/models.py:1450 msgid "Number of items received" msgstr "" -#: order/models.py:1418 stock/models.py:923 stock/serializers.py:400 +#: order/models.py:1458 stock/models.py:944 stock/serializers.py:529 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2313 +#: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "" -#: order/models.py:1419 +#: order/models.py:1459 msgid "Unit purchase price" msgstr "" -#: order/models.py:1434 +#: order/models.py:1474 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1525 +#: order/models.py:1565 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1530 +#: order/models.py:1570 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1556 part/templates/part/part_pricing.html:107 +#: order/models.py:1596 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1557 +#: order/models.py:1597 msgid "Unit sale price" msgstr "" -#: order/models.py:1567 +#: order/models.py:1607 msgid "Shipped quantity" msgstr "" -#: order/models.py:1659 +#: order/models.py:1699 msgid "Date of shipment" msgstr "" -#: order/models.py:1665 templates/js/translated/sales_order.js:1036 +#: order/models.py:1705 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1666 +#: order/models.py:1706 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1674 +#: order/models.py:1714 msgid "Checked By" msgstr "" -#: order/models.py:1675 +#: order/models.py:1715 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1682 order/models.py:1895 order/serializers.py:1354 -#: order/serializers.py:1464 templates/js/translated/model_renderers.js:448 +#: order/models.py:1722 order/models.py:1935 order/serializers.py:1354 +#: order/serializers.py:1464 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" -#: order/models.py:1683 +#: order/models.py:1723 msgid "Shipment number" msgstr "" -#: order/models.py:1691 +#: order/models.py:1731 msgid "Tracking Number" msgstr "" -#: order/models.py:1692 +#: order/models.py:1732 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1699 +#: order/models.py:1739 msgid "Invoice Number" msgstr "" -#: order/models.py:1700 +#: order/models.py:1740 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1720 +#: order/models.py:1760 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1723 +#: order/models.py:1763 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1841 order/models.py:1843 +#: order/models.py:1881 order/models.py:1883 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1850 +#: order/models.py:1890 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1853 +#: order/models.py:1893 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1856 +#: order/models.py:1896 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1875 order/serializers.py:1231 +#: order/models.py:1915 order/serializers.py:1231 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1878 +#: order/models.py:1918 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1879 plugin/base/barcodes/api.py:481 +#: order/models.py:1919 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1887 +#: order/models.py:1927 msgid "Line" msgstr "" -#: order/models.py:1896 +#: order/models.py:1936 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1909 order/models.py:2217 -#: templates/js/translated/return_order.js:722 +#: order/models.py:1949 order/models.py:2266 +#: templates/js/translated/return_order.js:721 msgid "Item" msgstr "" -#: order/models.py:1910 +#: order/models.py:1950 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1919 +#: order/models.py:1959 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1999 +#: order/models.py:2048 msgid "Return Order reference" msgstr "" -#: order/models.py:2011 +#: order/models.py:2060 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2023 +#: order/models.py:2072 msgid "Return order status" msgstr "" -#: order/models.py:2202 +#: order/models.py:2251 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2218 +#: order/models.py:2267 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2224 +#: order/models.py:2273 msgid "Received Date" msgstr "" -#: order/models.py:2225 +#: order/models.py:2274 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2236 templates/js/translated/return_order.js:733 +#: order/models.py:2285 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2237 +#: order/models.py:2286 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2244 +#: order/models.py:2293 msgid "Cost associated with return or repair for this line item" msgstr "" #: order/serializers.py:80 order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 -#: report/templates/report/inventree_po_report_base.html:22 -#: report/templates/report/inventree_return_order_report_base.html:19 -#: report/templates/report/inventree_so_report_base.html:22 +#: report/templates/report/inventree_purchase_order_report.html:22 +#: report/templates/report/inventree_return_order_report.html:19 +#: report/templates/report/inventree_sales_order_report.html:22 msgid "Line Items" msgstr "" @@ -5595,7 +5526,7 @@ msgstr "" #: order/templates/order/order_base.html:84 #: order/templates/order/return_order_base.html:87 -#: order/templates/order/sales_order_base.html:93 +#: order/templates/order/sales_order_base.html:97 msgid "Complete Order" msgstr "" @@ -5605,13 +5536,13 @@ msgstr "" #: order/templates/order/order_base.html:106 #: order/templates/order/return_order_base.html:101 -#: order/templates/order/sales_order_base.html:106 +#: order/templates/order/sales_order_base.html:110 msgid "Order Reference" msgstr "" #: order/templates/order/order_base.html:111 #: order/templates/order/return_order_base.html:106 -#: order/templates/order/sales_order_base.html:111 +#: order/templates/order/sales_order_base.html:115 msgid "Order Description" msgstr "" @@ -5620,19 +5551,19 @@ msgid "No suppplier information available" msgstr "" #: order/templates/order/order_base.html:154 -#: order/templates/order/sales_order_base.html:157 +#: order/templates/order/sales_order_base.html:161 msgid "Completed Line Items" msgstr "" #: order/templates/order/order_base.html:160 -#: order/templates/order/sales_order_base.html:163 -#: order/templates/order/sales_order_base.html:173 +#: order/templates/order/sales_order_base.html:167 +#: order/templates/order/sales_order_base.html:177 msgid "Incomplete" msgstr "" #: order/templates/order/order_base.html:179 #: order/templates/order/return_order_base.html:157 -#: report/templates/report/inventree_build_order_base.html:121 +#: report/templates/report/inventree_build_order_report.html:121 msgid "Issued" msgstr "" @@ -5642,15 +5573,15 @@ msgstr "" #: order/templates/order/order_base.html:228 #: order/templates/order/return_order_base.html:199 -#: order/templates/order/sales_order_base.html:239 +#: order/templates/order/sales_order_base.html:243 msgid "Total cost could not be calculated" msgstr "" -#: order/templates/order/order_base.html:318 +#: order/templates/order/order_base.html:314 msgid "Purchase Order QR Code" msgstr "" -#: order/templates/order/order_base.html:330 +#: order/templates/order/order_base.html:326 msgid "Link Barcode to Purchase Order" msgstr "" @@ -5707,8 +5638,8 @@ msgstr "" #: templates/js/translated/build.js:1629 #: templates/js/translated/purchase_order.js:696 #: templates/js/translated/purchase_order.js:1236 -#: templates/js/translated/return_order.js:506 -#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/return_order.js:505 +#: templates/js/translated/sales_order.js:1145 #: templates/js/translated/stock.js:714 templates/js/translated/stock.js:883 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -5762,7 +5693,7 @@ msgstr "" #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 #: templates/js/translated/purchase_order.js:414 -#: templates/js/translated/return_order.js:459 +#: templates/js/translated/return_order.js:458 #: templates/js/translated/sales_order.js:237 msgid "Add Line Item" msgstr "" @@ -5811,30 +5742,30 @@ msgid "Print packing list" msgstr "" #: order/templates/order/return_order_base.html:138 -#: order/templates/order/sales_order_base.html:151 -#: templates/js/translated/return_order.js:309 -#: templates/js/translated/sales_order.js:797 +#: order/templates/order/sales_order_base.html:155 +#: templates/js/translated/return_order.js:308 +#: templates/js/translated/sales_order.js:833 msgid "Customer Reference" msgstr "" #: order/templates/order/return_order_base.html:195 -#: order/templates/order/sales_order_base.html:235 +#: order/templates/order/sales_order_base.html:239 #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1072 -#: templates/js/translated/purchase_order.js:1753 -#: templates/js/translated/return_order.js:381 -#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/purchase_order.js:1752 +#: templates/js/translated/return_order.js:380 +#: templates/js/translated/sales_order.js:891 msgid "Total Cost" msgstr "" -#: order/templates/order/return_order_base.html:263 +#: order/templates/order/return_order_base.html:259 msgid "Return Order QR Code" msgstr "" -#: order/templates/order/return_order_base.html:275 +#: order/templates/order/return_order_base.html:271 msgid "Link Barcode to Return Order" msgstr "" @@ -5852,25 +5783,30 @@ msgid "Ship Items" msgstr "" #: order/templates/order/sales_order_base.html:92 -#: templates/js/translated/sales_order.js:484 +#: order/templates/order/sales_order_base.html:93 +msgid "Mark As Shipped" +msgstr "" + +#: order/templates/order/sales_order_base.html:96 +#: templates/js/translated/sales_order.js:536 msgid "Complete Sales Order" msgstr "" -#: order/templates/order/sales_order_base.html:131 +#: order/templates/order/sales_order_base.html:135 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:169 +#: order/templates/order/sales_order_base.html:173 #: order/templates/order/sales_order_detail.html:99 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "" -#: order/templates/order/sales_order_base.html:312 +#: order/templates/order/sales_order_base.html:321 msgid "Sales Order QR Code" msgstr "" -#: order/templates/order/sales_order_base.html:324 +#: order/templates/order/sales_order_base.html:333 msgid "Link Barcode to Sales Order" msgstr "" @@ -5914,12 +5850,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:404 part/models.py:3921 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:406 part/models.py:3964 part/stocktake.py:218 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:411 part/models.py:3922 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:413 part/models.py:3965 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -5928,20 +5864,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:904 part/templates/part/part_base.html:269 -#: report/templates/report/inventree_slr_report.html:103 -#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2341 -#: templates/js/translated/stock.js:2038 +#: part/admin.py:48 part/models.py:947 part/templates/part/part_base.html:269 +#: report/templates/report/inventree_stock_location_report.html:103 +#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 +#: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:913 part/templates/part/part_base.html:277 -#: report/models.py:195 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2347 +#: part/admin.py:50 part/models.py:956 part/templates/part/part_base.html:277 +#: report/models.py:161 templates/js/translated/part.js:1231 +#: templates/js/translated/part.js:2346 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:317 part/models.py:886 +#: part/admin.py:53 part/admin.py:319 part/models.py:929 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5950,15 +5886,15 @@ msgstr "" msgid "Part Image" msgstr "" -#: part/admin.py:63 part/admin.py:300 part/stocktake.py:221 +#: part/admin.py:63 part/admin.py:302 part/stocktake.py:221 msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:302 part/stocktake.py:222 +#: part/admin.py:67 part/admin.py:304 part/stocktake.py:222 msgid "Category Name" msgstr "" -#: part/admin.py:71 part/admin.py:314 +#: part/admin.py:71 part/admin.py:316 msgid "Default Location ID" msgstr "" @@ -5966,11 +5902,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:872 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:915 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1000 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1043 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5983,160 +5919,164 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3080 part/models.py:3094 +#: part/admin.py:155 part/models.py:3123 part/models.py:3137 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3087 part/models.py:3101 +#: part/admin.py:158 part/models.py:3130 part/models.py:3144 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" -#: part/admin.py:306 part/admin.py:393 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:211 msgid "Parent ID" msgstr "" -#: part/admin.py:310 part/admin.py:400 stock/admin.py:62 +#: part/admin.py:312 part/admin.py:402 stock/admin.py:62 msgid "Parent Name" msgstr "" -#: part/admin.py:318 part/templates/part/category.html:88 +#: part/admin.py:320 part/templates/part/category.html:88 #: part/templates/part/category.html:101 msgid "Category Path" msgstr "" -#: part/admin.py:323 part/models.py:391 part/serializers.py:117 +#: part/admin.py:325 part/models.py:393 part/serializers.py:117 #: part/serializers.py:272 part/serializers.py:391 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2803 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "" -#: part/admin.py:384 +#: part/admin.py:386 msgid "BOM Level" msgstr "" -#: part/admin.py:387 +#: part/admin.py:389 msgid "BOM Item ID" msgstr "" -#: part/admin.py:397 +#: part/admin.py:399 msgid "Parent IPN" msgstr "" -#: part/admin.py:408 part/models.py:3923 +#: part/admin.py:410 part/models.py:3966 msgid "Part IPN" msgstr "" -#: part/admin.py:421 part/serializers.py:1261 +#: part/admin.py:423 part/serializers.py:1276 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:426 part/serializers.py:1276 +#: part/admin.py:428 part/serializers.py:1291 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:119 +#: part/api.py:112 msgid "Starred" msgstr "" -#: part/api.py:121 +#: part/api.py:114 msgid "Filter by starred categories" msgstr "" -#: part/api.py:138 stock/api.py:284 +#: part/api.py:131 stock/api.py:318 msgid "Depth" msgstr "" -#: part/api.py:138 +#: part/api.py:131 msgid "Filter by category depth" msgstr "" -#: part/api.py:156 stock/api.py:302 +#: part/api.py:149 stock/api.py:336 msgid "Cascade" msgstr "" -#: part/api.py:158 +#: part/api.py:151 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:178 +#: part/api.py:171 msgid "Parent" msgstr "" -#: part/api.py:180 +#: part/api.py:173 msgid "Filter by parent category" msgstr "" -#: part/api.py:213 +#: part/api.py:206 msgid "Exclude Tree" msgstr "" -#: part/api.py:215 +#: part/api.py:208 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:461 +#: part/api.py:455 msgid "Has Results" msgstr "" -#: part/api.py:628 +#: part/api.py:622 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:646 +#: part/api.py:640 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:662 +#: part/api.py:656 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:746 +#: part/api.py:740 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:893 +#: part/api.py:887 msgid "Valid" msgstr "" -#: part/api.py:894 +#: part/api.py:888 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:900 +#: part/api.py:894 msgid "This option must be selected" msgstr "" -#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866 -#: part/serializers.py:406 part/serializers.py:1117 -#: part/templates/part/part_base.html:260 stock/api.py:745 +#: part/api.py:1111 +msgid "BOM Valid" +msgstr "" + +#: part/api.py:1515 part/models.py:939 part/models.py:3429 part/models.py:3909 +#: part/serializers.py:406 part/serializers.py:1132 +#: part/templates/part/part_base.html:260 stock/api.py:779 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2377 +#: templates/js/translated/part.js:2376 msgid "Category" msgstr "" -#: part/api.py:1849 +#: part/api.py:1803 msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:101 part/models.py:939 +#: part/bom.py:170 part/models.py:102 part/models.py:982 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:822 +#: part/bom.py:171 part/serializers.py:837 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6145,698 +6085,712 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:82 part/models.py:3867 part/templates/part/category.html:16 +#: part/models.py:83 part/models.py:3910 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:83 part/templates/part/category.html:136 +#: part/models.py:84 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "" -#: part/models.py:102 +#: part/models.py:103 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:107 stock/models.py:165 templates/js/translated/part.js:2810 -#: templates/js/translated/stock.js:2775 +#: part/models.py:108 stock/models.py:177 templates/js/translated/part.js:2809 +#: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "" -#: part/models.py:109 +#: part/models.py:110 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:118 +#: part/models.py:119 msgid "Default keywords" msgstr "" -#: part/models.py:119 +#: part/models.py:120 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:125 stock/models.py:89 stock/models.py:148 +#: part/models.py:126 stock/models.py:89 stock/models.py:160 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:126 stock/models.py:149 +#: part/models.py:127 stock/models.py:161 msgid "Icon (optional)" msgstr "" -#: part/models.py:148 +#: part/models.py:149 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:484 +#: part/models.py:482 +msgid "Cannot delete this part as it is still active" +msgstr "" + +#: part/models.py:489 +msgid "Cannot delete this part as it is used in an assembly" +msgstr "" + +#: part/models.py:527 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:532 part/models.py:539 +#: part/models.py:575 part/models.py:582 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:551 +#: part/models.py:594 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:616 +#: part/models.py:659 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:696 +#: part/models.py:739 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:801 +#: part/models.py:844 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:811 +#: part/models.py:854 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:826 +#: part/models.py:869 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:855 part/models.py:3922 +#: part/models.py:898 part/models.py:3965 msgid "Part name" msgstr "" -#: part/models.py:860 +#: part/models.py:903 msgid "Is Template" msgstr "" -#: part/models.py:861 +#: part/models.py:904 msgid "Is this part a template part?" msgstr "" -#: part/models.py:871 +#: part/models.py:914 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:879 +#: part/models.py:922 msgid "Part description (optional)" msgstr "" -#: part/models.py:887 +#: part/models.py:930 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:897 +#: part/models.py:940 msgid "Part category" msgstr "" -#: part/models.py:905 +#: part/models.py:948 msgid "Internal Part Number" msgstr "" -#: part/models.py:912 +#: part/models.py:955 msgid "Part revision or version number" msgstr "" -#: part/models.py:937 +#: part/models.py:980 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:983 part/templates/part/part_base.html:376 +#: part/models.py:1026 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:984 +#: part/models.py:1027 msgid "Default supplier part" msgstr "" -#: part/models.py:991 +#: part/models.py:1034 msgid "Default Expiry" msgstr "" -#: part/models.py:992 +#: part/models.py:1035 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1001 +#: part/models.py:1044 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1010 +#: part/models.py:1053 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1017 +#: part/models.py:1060 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1023 +#: part/models.py:1066 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1029 +#: part/models.py:1072 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1035 +#: part/models.py:1078 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1041 +#: part/models.py:1084 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1045 +#: part/models.py:1088 msgid "Is this part active?" msgstr "" -#: part/models.py:1051 +#: part/models.py:1094 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1057 +#: part/models.py:1100 msgid "BOM checksum" msgstr "" -#: part/models.py:1058 +#: part/models.py:1101 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1066 +#: part/models.py:1109 msgid "BOM checked by" msgstr "" -#: part/models.py:1071 +#: part/models.py:1114 msgid "BOM checked date" msgstr "" -#: part/models.py:1087 +#: part/models.py:1130 msgid "Creation User" msgstr "" -#: part/models.py:1097 +#: part/models.py:1140 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1102 part/templates/part/part_base.html:339 +#: part/models.py:1145 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 -#: templates/js/translated/part.js:2471 +#: templates/js/translated/part.js:2470 msgid "Last Stocktake" msgstr "" -#: part/models.py:1975 +#: part/models.py:2018 msgid "Sell multiple" msgstr "" -#: part/models.py:2994 +#: part/models.py:3037 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3010 +#: part/models.py:3053 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3011 +#: part/models.py:3054 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3017 +#: part/models.py:3060 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3018 +#: part/models.py:3061 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3024 +#: part/models.py:3067 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3025 +#: part/models.py:3068 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3031 +#: part/models.py:3074 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3032 +#: part/models.py:3075 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3038 +#: part/models.py:3081 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3039 +#: part/models.py:3082 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3045 +#: part/models.py:3088 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3046 +#: part/models.py:3089 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3052 +#: part/models.py:3095 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3053 +#: part/models.py:3096 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3059 +#: part/models.py:3102 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3060 +#: part/models.py:3103 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3066 +#: part/models.py:3109 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3067 +#: part/models.py:3110 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3073 +#: part/models.py:3116 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3074 +#: part/models.py:3117 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3081 +#: part/models.py:3124 msgid "Override minimum cost" msgstr "" -#: part/models.py:3088 +#: part/models.py:3131 msgid "Override maximum cost" msgstr "" -#: part/models.py:3095 +#: part/models.py:3138 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3102 +#: part/models.py:3145 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3108 +#: part/models.py:3151 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3109 +#: part/models.py:3152 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3115 +#: part/models.py:3158 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3116 +#: part/models.py:3159 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3122 +#: part/models.py:3165 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3123 +#: part/models.py:3166 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3129 +#: part/models.py:3172 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3130 +#: part/models.py:3173 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3149 +#: part/models.py:3192 msgid "Part for stocktake" msgstr "" -#: part/models.py:3154 +#: part/models.py:3197 msgid "Item Count" msgstr "" -#: part/models.py:3155 +#: part/models.py:3198 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3163 +#: part/models.py:3206 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3167 part/models.py:3250 +#: part/models.py:3210 part/models.py:3293 #: part/templates/part/part_scheduling.html:13 -#: report/templates/report/inventree_test_report_base.html:106 +#: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 #: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 -#: templates/js/translated/purchase_order.js:1732 -#: templates/js/translated/stock.js:2824 +#: templates/js/translated/purchase_order.js:1731 +#: templates/js/translated/stock.js:2821 msgid "Date" msgstr "" -#: part/models.py:3168 +#: part/models.py:3211 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3176 +#: part/models.py:3219 msgid "Additional notes" msgstr "" -#: part/models.py:3186 +#: part/models.py:3229 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3192 +#: part/models.py:3235 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3193 +#: part/models.py:3236 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3199 +#: part/models.py:3242 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3200 +#: part/models.py:3243 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3256 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3299 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3257 +#: part/models.py:3300 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3262 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3305 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3263 +#: part/models.py:3306 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3273 +#: part/models.py:3316 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3435 +#: part/models.py:3478 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3446 +#: part/models.py:3489 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3457 +#: part/models.py:3500 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3474 templates/js/translated/part.js:2879 +#: part/models.py:3517 templates/js/translated/part.js:2878 msgid "Test Name" msgstr "" -#: part/models.py:3475 +#: part/models.py:3518 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3481 +#: part/models.py:3524 msgid "Test Key" msgstr "" -#: part/models.py:3482 +#: part/models.py:3525 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3489 +#: part/models.py:3532 msgid "Test Description" msgstr "" -#: part/models.py:3490 +#: part/models.py:3533 msgid "Enter description for this test" msgstr "" -#: part/models.py:3494 +#: part/models.py:3537 report/models.py:208 +#: templates/js/translated/part.js:2899 +#: templates/js/translated/table_filters.js:481 +msgid "Enabled" +msgstr "" + +#: part/models.py:3537 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3499 templates/js/translated/part.js:2908 +#: part/models.py:3542 templates/js/translated/part.js:2907 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3500 +#: part/models.py:3543 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3505 templates/js/translated/part.js:2916 +#: part/models.py:3548 templates/js/translated/part.js:2915 msgid "Requires Value" msgstr "" -#: part/models.py:3506 +#: part/models.py:3549 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3511 templates/js/translated/part.js:2923 +#: part/models.py:3554 templates/js/translated/part.js:2922 msgid "Requires Attachment" msgstr "" -#: part/models.py:3513 +#: part/models.py:3556 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3560 +#: part/models.py:3603 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3565 +#: part/models.py:3608 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3585 +#: part/models.py:3628 msgid "Choices must be unique" msgstr "" -#: part/models.py:3602 +#: part/models.py:3645 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3617 +#: part/models.py:3660 msgid "Parameter Name" msgstr "" -#: part/models.py:3624 +#: part/models.py:3667 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3632 +#: part/models.py:3675 msgid "Parameter description" msgstr "" -#: part/models.py:3638 templates/js/translated/part.js:1627 +#: part/models.py:3681 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3639 +#: part/models.py:3682 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3644 templates/js/translated/part.js:1636 +#: part/models.py:3687 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3645 +#: part/models.py:3688 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3722 +#: part/models.py:3765 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3765 +#: part/models.py:3808 msgid "Parent Part" msgstr "" -#: part/models.py:3773 part/models.py:3874 part/models.py:3875 +#: part/models.py:3816 part/models.py:3917 part/models.py:3918 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3778 +#: part/models.py:3821 msgid "Data" msgstr "" -#: part/models.py:3779 +#: part/models.py:3822 msgid "Parameter Value" msgstr "" -#: part/models.py:3881 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3924 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3882 +#: part/models.py:3925 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3920 +#: part/models.py:3963 msgid "Part ID or part name" msgstr "" -#: part/models.py:3921 +#: part/models.py:3964 msgid "Unique part ID value" msgstr "" -#: part/models.py:3923 +#: part/models.py:3966 msgid "Part IPN value" msgstr "" -#: part/models.py:3924 +#: part/models.py:3967 msgid "Level" msgstr "" -#: part/models.py:3924 +#: part/models.py:3967 msgid "BOM level" msgstr "" -#: part/models.py:4014 +#: part/models.py:4057 msgid "Select parent part" msgstr "" -#: part/models.py:4024 +#: part/models.py:4067 msgid "Sub part" msgstr "" -#: part/models.py:4025 +#: part/models.py:4068 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4036 +#: part/models.py:4079 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4042 +#: part/models.py:4085 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4048 +#: part/models.py:4091 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4055 part/templates/part/upload_bom.html:55 +#: part/models.py:4098 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4056 +#: part/models.py:4099 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4063 +#: part/models.py:4106 msgid "BOM item reference" msgstr "" -#: part/models.py:4071 +#: part/models.py:4114 msgid "BOM item notes" msgstr "" -#: part/models.py:4077 +#: part/models.py:4120 msgid "Checksum" msgstr "" -#: part/models.py:4078 +#: part/models.py:4121 msgid "BOM line checksum" msgstr "" -#: part/models.py:4083 templates/js/translated/table_filters.js:174 +#: part/models.py:4126 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4084 +#: part/models.py:4127 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4089 part/templates/part/upload_bom.html:57 +#: part/models.py:4132 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4090 +#: part/models.py:4133 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4095 part/templates/part/upload_bom.html:56 +#: part/models.py:4138 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4096 +#: part/models.py:4139 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4181 stock/models.py:647 +#: part/models.py:4224 stock/models.py:668 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4191 part/models.py:4193 +#: part/models.py:4234 part/models.py:4236 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4333 +#: part/models.py:4376 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4354 +#: part/models.py:4397 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4367 +#: part/models.py:4410 msgid "Parent BOM item" msgstr "" -#: part/models.py:4375 +#: part/models.py:4418 msgid "Substitute part" msgstr "" -#: part/models.py:4391 +#: part/models.py:4434 msgid "Part 1" msgstr "" -#: part/models.py:4399 +#: part/models.py:4442 msgid "Part 2" msgstr "" -#: part/models.py:4400 +#: part/models.py:4443 msgid "Select Related Part" msgstr "" -#: part/models.py:4419 +#: part/models.py:4462 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4424 +#: part/models.py:4467 msgid "Duplicate relationship already exists" msgstr "" @@ -6854,7 +6808,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:406 +#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:535 msgid "Purchase currency of this stock item" msgstr "" @@ -6870,299 +6824,299 @@ msgstr "" msgid "Select category" msgstr "" -#: part/serializers.py:437 +#: part/serializers.py:442 msgid "Original Part" msgstr "" -#: part/serializers.py:438 +#: part/serializers.py:443 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:448 msgid "Copy Image" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:449 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:450 part/templates/part/detail.html:277 +#: part/serializers.py:455 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:451 +#: part/serializers.py:456 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:462 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:458 +#: part/serializers.py:463 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:464 +#: part/serializers.py:469 msgid "Copy Notes" msgstr "" -#: part/serializers.py:465 +#: part/serializers.py:470 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:478 +#: part/serializers.py:488 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:490 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:487 +#: part/serializers.py:497 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:488 +#: part/serializers.py:498 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:500 +#: part/serializers.py:515 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:531 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:526 +#: part/serializers.py:541 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:533 +#: part/serializers.py:548 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:542 +#: part/serializers.py:557 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:553 +#: part/serializers.py:568 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:560 +#: part/serializers.py:575 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:823 +#: part/serializers.py:838 msgid "External Stock" msgstr "" -#: part/serializers.py:825 +#: part/serializers.py:840 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:828 +#: part/serializers.py:843 msgid "Variant Stock" msgstr "" -#: part/serializers.py:856 part/templates/part/copy_part.html:9 +#: part/serializers.py:871 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:857 +#: part/serializers.py:872 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:863 templates/js/translated/part.js:102 +#: part/serializers.py:878 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:864 +#: part/serializers.py:879 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:870 +#: part/serializers.py:885 msgid "Supplier Information" msgstr "" -#: part/serializers.py:871 +#: part/serializers.py:886 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:879 +#: part/serializers.py:894 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:880 +#: part/serializers.py:895 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:885 +#: part/serializers.py:900 msgid "Existing Image" msgstr "" -#: part/serializers.py:886 +#: part/serializers.py:901 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:918 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1109 +#: part/serializers.py:1124 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1119 +#: part/serializers.py:1134 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1129 +#: part/serializers.py:1144 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1135 +#: part/serializers.py:1150 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1136 +#: part/serializers.py:1151 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1141 +#: part/serializers.py:1156 msgid "Generate Report" msgstr "" -#: part/serializers.py:1142 +#: part/serializers.py:1157 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1147 +#: part/serializers.py:1162 msgid "Update Parts" msgstr "" -#: part/serializers.py:1148 +#: part/serializers.py:1163 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1156 +#: part/serializers.py:1171 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1262 +#: part/serializers.py:1277 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1269 +#: part/serializers.py:1284 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1277 +#: part/serializers.py:1292 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1284 +#: part/serializers.py:1299 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1313 +#: part/serializers.py:1328 msgid "Update" msgstr "" -#: part/serializers.py:1314 +#: part/serializers.py:1329 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1337 +#: part/serializers.py:1352 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1344 +#: part/serializers.py:1359 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1347 +#: part/serializers.py:1362 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1714 +#: part/serializers.py:1729 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1722 +#: part/serializers.py:1737 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1723 +#: part/serializers.py:1738 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1728 +#: part/serializers.py:1743 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1729 +#: part/serializers.py:1744 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1734 +#: part/serializers.py:1749 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1735 +#: part/serializers.py:1750 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1755 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1756 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1775 +#: part/serializers.py:1790 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1776 +#: part/serializers.py:1791 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1806 +#: part/serializers.py:1821 msgid "No part column specified" msgstr "" -#: part/serializers.py:1850 +#: part/serializers.py:1865 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1853 +#: part/serializers.py:1868 msgid "No matching part found" msgstr "" -#: part/serializers.py:1856 +#: part/serializers.py:1871 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1865 +#: part/serializers.py:1880 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1888 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1894 +#: part/serializers.py:1909 msgid "At least one BOM item is required" msgstr "" #: part/stocktake.py:224 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:2085 +#: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" @@ -7314,7 +7268,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2218 users/models.py:204 +#: templates/js/translated/stock.js:2216 users/models.py:204 msgid "Stocktake" msgstr "" @@ -7412,15 +7366,15 @@ msgstr "" msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:659 +#: part/templates/part/detail.html:655 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:667 +#: part/templates/part/detail.html:663 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:752 +#: part/templates/part/detail.html:748 msgid "Add Test Result Template" msgstr "" @@ -7479,7 +7433,7 @@ msgstr "" #: part/templates/part/part_base.html:52 #: stock/templates/stock/item_base.html:62 -#: stock/templates/stock/location.html:74 +#: stock/templates/stock/location.html:74 templates/js/translated/label.js:142 msgid "Print Label" msgstr "" @@ -7501,7 +7455,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2293 +#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2292 msgid "Part actions" msgstr "" @@ -7550,7 +7504,7 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:163 -#: part/templates/part/part_base.html:682 +#: part/templates/part/part_base.html:681 msgid "Show Part Details" msgstr "" @@ -7573,7 +7527,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2444 +#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2443 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7596,19 +7550,19 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:512 +#: part/templates/part/part_base.html:511 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:529 +#: part/templates/part/part_base.html:528 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:580 +#: part/templates/part/part_base.html:579 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:676 +#: part/templates/part/part_base.html:675 msgid "Hide Part Details" msgstr "" @@ -7667,8 +7621,8 @@ msgstr "" #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 -#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 -#: templates/js/translated/stock.js:2072 templates/navbar.html:31 +#: templates/js/translated/part.js:2391 templates/js/translated/stock.js:1059 +#: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7714,7 +7668,7 @@ msgstr "" #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 -#: templates/js/translated/stock.js:2248 +#: templates/js/translated/stock.js:2246 msgid "Last Updated" msgstr "" @@ -7786,7 +7740,7 @@ msgid "Update Pricing" msgstr "" #: part/templates/part/stock_count.html:7 -#: templates/js/translated/model_renderers.js:221 +#: templates/js/translated/model_renderers.js:227 #: templates/js/translated/part.js:704 templates/js/translated/part.js:2140 #: templates/js/translated/part.js:2142 msgid "No Stock" @@ -7866,7 +7820,7 @@ msgstr "" msgid "Part Pricing" msgstr "" -#: plugin/api.py:168 +#: plugin/api.py:170 msgid "Plugin cannot be deleted as it is currently active" msgstr "" @@ -7933,7 +7887,7 @@ msgid "Stock item does not match line item" msgstr "" #: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2589 -#: templates/js/translated/sales_order.js:1917 +#: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "" @@ -8027,22 +7981,18 @@ msgstr "" msgid "Quantity to allocate" msgstr "" -#: plugin/base/label/label.py:39 +#: plugin/base/label/label.py:39 templates/js/translated/label.js:154 msgid "Label printing failed" msgstr "" -#: plugin/base/label/mixins.py:63 +#: plugin/base/label/mixins.py:56 msgid "Error rendering label to PDF" msgstr "" -#: plugin/base/label/mixins.py:76 +#: plugin/base/label/mixins.py:70 msgid "Error rendering label to HTML" msgstr "" -#: plugin/base/label/mixins.py:111 -msgid "Error rendering label to PNG" -msgstr "" - #: plugin/builtin/barcodes/inventree_barcode.py:25 msgid "InvenTree Barcodes" msgstr "" @@ -8054,7 +8004,7 @@ msgstr "" #: plugin/builtin/barcodes/inventree_barcode.py:28 #: plugin/builtin/integration/core_notifications.py:35 #: plugin/builtin/integration/currency_exchange.py:21 -#: plugin/builtin/labels/inventree_label.py:23 +#: plugin/builtin/labels/inventree_label.py:22 #: plugin/builtin/labels/inventree_machine.py:64 #: plugin/builtin/labels/label_sheet.py:63 #: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 @@ -8108,19 +8058,19 @@ msgstr "" msgid "Default currency exchange integration" msgstr "" -#: plugin/builtin/labels/inventree_label.py:20 +#: plugin/builtin/labels/inventree_label.py:19 msgid "InvenTree PDF label printer" msgstr "" -#: plugin/builtin/labels/inventree_label.py:21 +#: plugin/builtin/labels/inventree_label.py:20 msgid "Provides native support for printing PDF labels" msgstr "" -#: plugin/builtin/labels/inventree_label.py:29 +#: plugin/builtin/labels/inventree_label.py:28 msgid "Debug mode" msgstr "" -#: plugin/builtin/labels/inventree_label.py:30 +#: plugin/builtin/labels/inventree_label.py:29 msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "" @@ -8132,11 +8082,11 @@ msgstr "" msgid "Provides support for printing using a machine" msgstr "" -#: plugin/builtin/labels/inventree_machine.py:150 +#: plugin/builtin/labels/inventree_machine.py:151 msgid "last used" msgstr "" -#: plugin/builtin/labels/inventree_machine.py:167 +#: plugin/builtin/labels/inventree_machine.py:168 msgid "Options" msgstr "" @@ -8160,7 +8110,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:47 report/models.py:209 +#: plugin/builtin/labels/label_sheet.py:47 report/models.py:308 msgid "Landscape" msgstr "" @@ -8176,11 +8126,11 @@ msgstr "" msgid "Arrays multiple labels onto a single sheet" msgstr "" -#: plugin/builtin/labels/label_sheet.py:94 +#: plugin/builtin/labels/label_sheet.py:99 msgid "Label is too large for page size" msgstr "" -#: plugin/builtin/labels/label_sheet.py:128 +#: plugin/builtin/labels/label_sheet.py:133 msgid "No labels were generated" msgstr "" @@ -8273,61 +8223,62 @@ msgstr "" msgid "Uninstalled plugin successfully" msgstr "" -#: plugin/models.py:30 +#: plugin/models.py:35 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:31 +#: plugin/models.py:36 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:34 users/models.py:100 +#: plugin/models.py:42 users/models.py:100 msgid "Key" msgstr "" -#: plugin/models.py:34 +#: plugin/models.py:43 msgid "Key of plugin" msgstr "" -#: plugin/models.py:42 +#: plugin/models.py:51 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:49 plugin/serializers.py:90 +#: plugin/models.py:58 plugin/serializers.py:90 msgid "Package Name" msgstr "" -#: plugin/models.py:51 +#: plugin/models.py:60 msgid "Name of the installed package, if the plugin was installed via PIP" msgstr "" -#: plugin/models.py:56 +#: plugin/models.py:65 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:147 templates/js/translated/table_filters.js:370 +#: plugin/models.py:156 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "" -#: plugin/models.py:156 +#: plugin/models.py:165 msgid "Sample plugin" msgstr "" -#: plugin/models.py:164 +#: plugin/models.py:173 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:172 +#: plugin/models.py:181 msgid "Package Plugin" msgstr "" -#: plugin/models.py:196 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:205 report/models.py:475 +#: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" msgstr "" -#: plugin/models.py:243 +#: plugin/models.py:252 msgid "Method" msgstr "" @@ -8468,239 +8419,323 @@ msgstr "" msgid "Delete the plugin configuration from the database" msgstr "" -#: report/api.py:158 +#: report/api.py:77 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:197 report/api.py:234 +#: report/api.py:89 report/serializers.py:53 +msgid "Model Type" +msgstr "" + +#: report/api.py:92 report/models.py:439 report/serializers.py:98 +#: report/serializers.py:148 templates/js/translated/purchase_order.js:1747 +#: templates/js/translated/return_order.js:353 +#: templates/js/translated/sales_order.js:887 +#: templates/js/translated/sales_order.js:1047 +msgid "Items" +msgstr "" + +#: report/api.py:168 +msgid "Plugin not found" +msgstr "" + +#: report/api.py:170 +msgid "Plugin is not active" +msgstr "" + +#: report/api.py:172 +msgid "Plugin does not support label printing" +msgstr "" + +#: report/api.py:221 +msgid "Invalid label dimensions" +msgstr "" + +#: report/api.py:236 report/api.py:316 +msgid "No valid items provided to template" +msgstr "" + +#: report/api.py:271 +msgid "Error printing label" +msgstr "" + +#: report/api.py:362 report/api.py:398 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:319 -msgid "Test report" -msgstr "" - -#: report/helpers.py:15 +#: report/helpers.py:41 msgid "A4" msgstr "" -#: report/helpers.py:16 +#: report/helpers.py:42 msgid "A3" msgstr "" -#: report/helpers.py:17 +#: report/helpers.py:43 msgid "Legal" msgstr "" -#: report/helpers.py:18 +#: report/helpers.py:44 msgid "Letter" msgstr "" -#: report/models.py:177 +#: report/models.py:118 +msgid "Template file with this name already exists" +msgstr "" + +#: report/models.py:150 msgid "Template name" msgstr "" -#: report/models.py:183 -msgid "Report template file" +#: report/models.py:156 +msgid "Template description" msgstr "" -#: report/models.py:190 -msgid "Report template description" +#: report/models.py:162 +msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:196 -msgid "Report revision number (auto-increments)" +#: report/models.py:202 +msgid "Filename Pattern" msgstr "" -#: report/models.py:204 +#: report/models.py:203 +msgid "Pattern for generating filenames" +msgstr "" + +#: report/models.py:208 +msgid "Template is enabled" +msgstr "" + +#: report/models.py:214 +msgid "Target model type for template" +msgstr "" + +#: report/models.py:234 +msgid "Filters" +msgstr "" + +#: report/models.py:235 +msgid "Template query filters (comma-separated list of key=value pairs)" +msgstr "" + +#: report/models.py:295 report/models.py:362 +msgid "Template file" +msgstr "" + +#: report/models.py:303 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:210 +#: report/models.py:309 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:318 -msgid "Pattern for generating report filenames" +#: report/models.py:368 +msgid "Width [mm]" msgstr "" -#: report/models.py:325 -msgid "Report template is enabled" +#: report/models.py:369 +msgid "Label width, specified in mm" msgstr "" -#: report/models.py:347 -msgid "StockItem query filters (comma-separated list of key=value pairs)" +#: report/models.py:375 +msgid "Height [mm]" msgstr "" -#: report/models.py:354 -msgid "Include Installed Tests" +#: report/models.py:376 +msgid "Label height, specified in mm" msgstr "" -#: report/models.py:356 -msgid "Include test results for stock items installed inside assembled item" +#: report/models.py:439 +msgid "Number of items to process" msgstr "" -#: report/models.py:424 -msgid "Build Filters" +#: report/models.py:445 +msgid "Report generation is complete" msgstr "" -#: report/models.py:425 -msgid "Build query filters (comma-separated list of key=value pairs" +#: report/models.py:449 templates/js/translated/build.js:2177 +msgid "Progress" msgstr "" -#: report/models.py:464 -msgid "Part Filters" +#: report/models.py:449 +msgid "Report generation progress" msgstr "" -#: report/models.py:465 -msgid "Part query filters (comma-separated list of key=value pairs" +#: report/models.py:457 +msgid "Report Template" msgstr "" -#: report/models.py:497 -msgid "Purchase order query filters" +#: report/models.py:464 report/models.py:487 +msgid "Output File" msgstr "" -#: report/models.py:533 -msgid "Sales order query filters" +#: report/models.py:465 report/models.py:488 +msgid "Generated output file" msgstr "" -#: report/models.py:569 -msgid "Return order query filters" +#: report/models.py:476 +msgid "Label output plugin" msgstr "" -#: report/models.py:641 -msgid "Snippet file with this name already exists" +#: report/models.py:480 +msgid "Label Template" msgstr "" -#: report/models.py:648 +#: report/models.py:503 msgid "Snippet" msgstr "" -#: report/models.py:649 +#: report/models.py:504 msgid "Report snippet file" msgstr "" -#: report/models.py:656 +#: report/models.py:511 msgid "Snippet file description" msgstr "" -#: report/models.py:714 -msgid "Asset file with this name already exists" -msgstr "" - -#: report/models.py:722 +#: report/models.py:529 msgid "Asset" msgstr "" -#: report/models.py:723 +#: report/models.py:530 msgid "Report asset file" msgstr "" -#: report/models.py:730 +#: report/models.py:537 msgid "Asset file description" msgstr "" -#: report/models.py:752 -msgid "stock location query filters (comma-separated list of key=value pairs)" +#: report/serializers.py:91 +msgid "Select report template" +msgstr "" + +#: report/serializers.py:99 report/serializers.py:149 +msgid "List of item primary keys to include in the report" +msgstr "" + +#: report/serializers.py:132 +msgid "Select label template" +msgstr "" + +#: report/serializers.py:140 +msgid "Printing Plugin" +msgstr "" + +#: report/serializers.py:141 +msgid "Select plugin to use for label printing" +msgstr "" + +#: report/templates/label/part_label.html:31 +#: report/templates/label/stockitem_qr.html:21 +#: report/templates/label/stocklocation_qr.html:20 +#: templates/allauth_2fa/setup.html:18 +msgid "QR Code" +msgstr "" + +#: report/templates/label/part_label_code128.html:31 +#: report/templates/label/stocklocation_qr_and_text.html:31 +#: templates/qr_code.html:7 +msgid "QR code" msgstr "" #: report/templates/report/inventree_bill_of_materials_report.html:133 msgid "Materials needed" msgstr "" -#: report/templates/report/inventree_build_order_base.html:146 +#: report/templates/report/inventree_build_order_report.html:146 msgid "Required For" msgstr "" -#: report/templates/report/inventree_po_report_base.html:15 +#: report/templates/report/inventree_purchase_order_report.html:15 msgid "Supplier was deleted" msgstr "" -#: report/templates/report/inventree_po_report_base.html:30 -#: report/templates/report/inventree_so_report_base.html:30 +#: report/templates/report/inventree_purchase_order_report.html:30 +#: report/templates/report/inventree_sales_order_report.html:30 #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:834 -#: templates/js/translated/purchase_order.js:2116 -#: templates/js/translated/sales_order.js:1837 +#: templates/js/translated/purchase_order.js:2115 +#: templates/js/translated/sales_order.js:1873 msgid "Unit Price" msgstr "" -#: report/templates/report/inventree_po_report_base.html:55 -#: report/templates/report/inventree_return_order_report_base.html:48 -#: report/templates/report/inventree_so_report_base.html:55 +#: report/templates/report/inventree_purchase_order_report.html:55 +#: report/templates/report/inventree_return_order_report.html:48 +#: report/templates/report/inventree_sales_order_report.html:55 msgid "Extra Line Items" 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:2018 -#: templates/js/translated/sales_order.js:1806 +#: report/templates/report/inventree_purchase_order_report.html:72 +#: report/templates/report/inventree_sales_order_report.html:72 +#: templates/js/translated/purchase_order.js:2017 +#: templates/js/translated/sales_order.js:1842 msgid "Total" msgstr "" -#: report/templates/report/inventree_return_order_report_base.html:25 -#: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:809 stock/templates/stock/item_base.html:311 +#: report/templates/report/inventree_return_order_report.html:25 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:830 +#: stock/serializers.py:150 stock/templates/stock/item_base.html:311 #: templates/js/translated/build.js:519 templates/js/translated/build.js:1367 #: templates/js/translated/build.js:2355 -#: templates/js/translated/model_renderers.js:224 -#: templates/js/translated/return_order.js:540 -#: templates/js/translated/return_order.js:724 +#: templates/js/translated/model_renderers.js:230 +#: templates/js/translated/return_order.js:539 +#: templates/js/translated/return_order.js:723 #: templates/js/translated/sales_order.js:315 -#: templates/js/translated/sales_order.js:1611 -#: templates/js/translated/sales_order.js:1696 +#: templates/js/translated/sales_order.js:1647 +#: templates/js/translated/sales_order.js:1732 #: templates/js/translated/stock.js:596 msgid "Serial Number" msgstr "" -#: report/templates/report/inventree_slr_report.html:97 +#: report/templates/report/inventree_stock_location_report.html:97 msgid "Stock location items" msgstr "" -#: report/templates/report/inventree_test_report_base.html:21 +#: report/templates/report/inventree_test_report.html:21 msgid "Stock Item Test Report" msgstr "" -#: report/templates/report/inventree_test_report_base.html:97 +#: report/templates/report/inventree_test_report.html:97 msgid "Test Results" msgstr "" -#: report/templates/report/inventree_test_report_base.html:102 +#: report/templates/report/inventree_test_report.html:102 #: templates/js/translated/stock.js:1495 msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2442 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2419 msgid "Result" msgstr "" -#: report/templates/report/inventree_test_report_base.html:130 +#: report/templates/report/inventree_test_report.html:130 msgid "Pass" msgstr "" -#: report/templates/report/inventree_test_report_base.html:132 +#: report/templates/report/inventree_test_report.html:132 msgid "Fail" msgstr "" -#: report/templates/report/inventree_test_report_base.html:139 +#: report/templates/report/inventree_test_report.html:139 msgid "No result (required)" msgstr "" -#: report/templates/report/inventree_test_report_base.html:141 +#: report/templates/report/inventree_test_report.html:141 msgid "No result" msgstr "" -#: report/templates/report/inventree_test_report_base.html:154 +#: report/templates/report/inventree_test_report.html:154 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report_base.html:168 -#: stock/admin.py:162 templates/js/translated/stock.js:700 -#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3113 +#: report/templates/report/inventree_test_report.html:168 stock/admin.py:162 +#: templates/js/translated/stock.js:700 templates/js/translated/stock.js:871 +#: templates/js/translated/stock.js:3110 msgid "Serial" msgstr "" @@ -8757,7 +8792,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:201 stock/models.py:789 +#: stock/admin.py:201 stock/models.py:810 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" @@ -8782,66 +8817,66 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:256 stock/models.py:883 +#: stock/admin.py:256 stock/models.py:904 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2232 users/models.py:124 +#: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" msgstr "" -#: stock/api.py:284 +#: stock/api.py:318 msgid "Filter by location depth" msgstr "" -#: stock/api.py:304 +#: stock/api.py:338 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:325 +#: stock/api.py:359 msgid "Parent Location" msgstr "" -#: stock/api.py:326 +#: stock/api.py:360 msgid "Filter by parent location" msgstr "" -#: stock/api.py:579 templates/js/translated/table_filters.js:427 +#: stock/api.py:613 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:767 +#: stock/api.py:801 msgid "Part Tree" msgstr "" -#: stock/api.py:797 +#: stock/api.py:831 msgid "Expiry date before" msgstr "" -#: stock/api.py:801 +#: stock/api.py:835 msgid "Expiry date after" msgstr "" -#: stock/api.py:804 stock/templates/stock/item_base.html:439 +#: stock/api.py:838 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:891 +#: stock/api.py:925 msgid "Quantity is required" msgstr "" -#: stock/api.py:897 +#: stock/api.py:931 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:928 +#: stock/api.py:962 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:938 +#: stock/api.py:972 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:969 +#: stock/api.py:1003 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8857,477 +8892,517 @@ msgstr "" msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:125 stock/models.py:771 +#: stock/models.py:127 stock/models.py:792 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:126 stock/templates/stock/location.html:179 +#: stock/models.py:128 stock/templates/stock/location.html:186 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "" -#: stock/models.py:158 stock/models.py:932 +#: stock/models.py:170 stock/models.py:953 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:159 stock/models.py:933 +#: stock/models.py:171 stock/models.py:954 msgid "Select Owner" msgstr "" -#: stock/models.py:167 +#: stock/models.py:179 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:174 templates/js/translated/stock.js:2784 +#: stock/models.py:186 templates/js/translated/stock.js:2781 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "" -#: stock/models.py:175 +#: stock/models.py:187 msgid "This is an external stock location" msgstr "" -#: stock/models.py:181 templates/js/translated/stock.js:2793 +#: stock/models.py:193 templates/js/translated/stock.js:2790 #: templates/js/translated/table_filters.js:246 msgid "Location type" msgstr "" -#: stock/models.py:185 +#: stock/models.py:197 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:254 +#: stock/models.py:266 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:626 +#: stock/models.py:647 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:653 stock/serializers.py:290 +#: stock/models.py:674 stock/serializers.py:419 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:670 +#: stock/models.py:691 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:680 stock/models.py:693 +#: stock/models.py:701 stock/models.py:714 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:683 +#: stock/models.py:704 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:707 +#: stock/models.py:728 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:712 +#: stock/models.py:733 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:725 +#: stock/models.py:746 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:741 +#: stock/models.py:762 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:753 +#: stock/models.py:774 msgid "Base part" msgstr "" -#: stock/models.py:763 +#: stock/models.py:784 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:775 +#: stock/models.py:796 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:783 stock/serializers.py:1351 +#: stock/models.py:804 stock/serializers.py:1480 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:794 +#: stock/models.py:815 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:813 +#: stock/models.py:834 msgid "Serial number for this item" msgstr "" -#: stock/models.py:827 stock/serializers.py:1334 +#: stock/models.py:848 stock/serializers.py:1463 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:832 +#: stock/models.py:853 msgid "Stock Quantity" msgstr "" -#: stock/models.py:842 +#: stock/models.py:863 msgid "Source Build" msgstr "" -#: stock/models.py:845 +#: stock/models.py:866 msgid "Build for this stock item" msgstr "" -#: stock/models.py:852 stock/templates/stock/item_base.html:363 +#: stock/models.py:873 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:855 +#: stock/models.py:876 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:864 +#: stock/models.py:885 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:868 +#: stock/models.py:889 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:874 +#: stock/models.py:895 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:885 +#: stock/models.py:906 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:903 +#: stock/models.py:924 msgid "Delete on deplete" msgstr "" -#: stock/models.py:904 +#: stock/models.py:925 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:924 +#: stock/models.py:945 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:955 +#: stock/models.py:976 msgid "Converted to part" msgstr "" -#: stock/models.py:1473 +#: stock/models.py:1494 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1479 +#: stock/models.py:1500 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1487 +#: stock/models.py:1508 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1493 +#: stock/models.py:1514 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1498 +#: stock/models.py:1519 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1506 stock/serializers.py:529 +#: stock/models.py:1527 stock/serializers.py:658 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1603 +#: stock/models.py:1624 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1621 +#: stock/models.py:1642 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1625 +#: stock/models.py:1646 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1628 +#: stock/models.py:1649 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1631 +#: stock/models.py:1652 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1634 +#: stock/models.py:1655 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1637 +#: stock/models.py:1658 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1644 stock/serializers.py:1240 +#: stock/models.py:1665 stock/serializers.py:1369 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1648 +#: stock/models.py:1669 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1656 +#: stock/models.py:1677 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1661 +#: stock/models.py:1682 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1882 +#: stock/models.py:1903 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2345 +#: stock/models.py:2322 msgid "Entry notes" msgstr "" -#: stock/models.py:2410 +#: stock/models.py:2387 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2415 +#: stock/models.py:2392 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2442 +#: stock/models.py:2419 msgid "Test result" msgstr "" -#: stock/models.py:2449 +#: stock/models.py:2426 msgid "Test output value" msgstr "" -#: stock/models.py:2457 +#: stock/models.py:2434 msgid "Test result attachment" msgstr "" -#: stock/models.py:2461 +#: stock/models.py:2438 msgid "Test notes" msgstr "" -#: stock/models.py:2469 templates/js/translated/stock.js:1548 +#: stock/models.py:2446 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "" -#: stock/models.py:2470 +#: stock/models.py:2447 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2476 +#: stock/models.py:2453 msgid "Started" msgstr "" -#: stock/models.py:2477 +#: stock/models.py:2454 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2483 +#: stock/models.py:2460 msgid "Finished" msgstr "" -#: stock/models.py:2484 +#: stock/models.py:2461 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:100 +#: stock/serializers.py:75 +msgid "Generated batch code" +msgstr "" + +#: stock/serializers.py:84 +msgid "Select build order" +msgstr "" + +#: stock/serializers.py:93 +msgid "Select stock item to generate batch code for" +msgstr "" + +#: stock/serializers.py:102 +msgid "Select location to generate batch code for" +msgstr "" + +#: stock/serializers.py:111 +msgid "Select part to generate batch code for" +msgstr "" + +#: stock/serializers.py:120 +msgid "Select purchase order" +msgstr "" + +#: stock/serializers.py:127 +msgid "Enter quantity for batch code" +msgstr "" + +#: stock/serializers.py:150 +msgid "Generated serial number" +msgstr "" + +#: stock/serializers.py:159 +msgid "Select part to generate serial number for" +msgstr "" + +#: stock/serializers.py:167 +msgid "Quantity of serial numbers to generate" +msgstr "" + +#: stock/serializers.py:229 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:119 +#: stock/serializers.py:248 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:151 +#: stock/serializers.py:280 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:184 +#: stock/serializers.py:313 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:282 +#: stock/serializers.py:411 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:402 +#: stock/serializers.py:531 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:464 +#: stock/serializers.py:593 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:477 +#: stock/serializers.py:606 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:484 +#: stock/serializers.py:613 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:495 stock/serializers.py:1197 stock/serializers.py:1453 +#: stock/serializers.py:624 stock/serializers.py:1326 stock/serializers.py:1582 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:502 +#: stock/serializers.py:631 msgid "Optional note field" msgstr "" -#: stock/serializers.py:512 +#: stock/serializers.py:641 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:567 +#: stock/serializers.py:696 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:574 +#: stock/serializers.py:703 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:575 +#: stock/serializers.py:704 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:580 stock/serializers.py:660 stock/serializers.py:756 -#: stock/serializers.py:806 +#: stock/serializers.py:709 stock/serializers.py:789 stock/serializers.py:885 +#: stock/serializers.py:935 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:588 +#: stock/serializers.py:717 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:596 +#: stock/serializers.py:725 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:607 +#: stock/serializers.py:736 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:620 +#: stock/serializers.py:749 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:655 +#: stock/serializers.py:784 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:690 +#: stock/serializers.py:819 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:703 +#: stock/serializers.py:832 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:720 +#: stock/serializers.py:849 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:751 +#: stock/serializers.py:880 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:788 +#: stock/serializers.py:917 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:794 +#: stock/serializers.py:923 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:890 stock/serializers.py:953 +#: stock/serializers.py:1019 stock/serializers.py:1082 #: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:213 +#: stock/templates/stock/location.html:220 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1069 +#: stock/serializers.py:1198 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1073 +#: stock/serializers.py:1202 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1077 +#: stock/serializers.py:1206 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1101 +#: stock/serializers.py:1230 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1107 +#: stock/serializers.py:1236 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1115 +#: stock/serializers.py:1244 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1125 stock/serializers.py:1379 +#: stock/serializers.py:1254 stock/serializers.py:1508 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1204 +#: stock/serializers.py:1333 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1209 +#: stock/serializers.py:1338 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1210 +#: stock/serializers.py:1339 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1215 +#: stock/serializers.py:1344 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1216 +#: stock/serializers.py:1345 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1226 +#: stock/serializers.py:1355 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1293 +#: stock/serializers.py:1422 msgid "No Change" msgstr "" -#: stock/serializers.py:1322 +#: stock/serializers.py:1451 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1341 +#: stock/serializers.py:1470 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1369 +#: stock/serializers.py:1498 msgid "Stock transaction notes" msgstr "" @@ -9352,7 +9427,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:286 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:282 msgid "Delete Test Data" msgstr "" @@ -9368,15 +9443,15 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3274 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3271 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:274 +#: stock/templates/stock/item.html:270 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:304 templates/js/translated/stock.js:1701 +#: stock/templates/stock/item.html:300 templates/js/translated/stock.js:1701 msgid "Add Test Result" msgstr "" @@ -9561,40 +9636,40 @@ msgstr "" msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:507 -#: templates/js/translated/stock.js:1954 +#: stock/templates/stock/item_base.html:504 +#: templates/js/translated/stock.js:1952 msgid "stock item" msgstr "" -#: stock/templates/stock/item_base.html:532 +#: stock/templates/stock/item_base.html:527 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:541 +#: stock/templates/stock/item_base.html:536 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:552 +#: stock/templates/stock/item_base.html:547 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:616 +#: stock/templates/stock/item_base.html:611 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:619 +#: stock/templates/stock/item_base.html:614 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:620 +#: stock/templates/stock/item_base.html:615 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:628 +#: stock/templates/stock/item_base.html:623 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:662 +#: stock/templates/stock/item_base.html:657 msgid "Return to Stock" msgstr "" @@ -9658,28 +9733,32 @@ msgstr "" msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:217 +#: stock/templates/stock/location.html:176 +msgid "Location Type" +msgstr "" + +#: stock/templates/stock/location.html:224 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:218 +#: stock/templates/stock/location.html:225 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:287 -#: templates/js/translated/stock.js:2575 +#: stock/templates/stock/location.html:295 +#: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:315 +#: stock/templates/stock/location.html:317 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:388 +#: stock/templates/stock/location.html:390 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:399 +#: stock/templates/stock/location.html:401 msgid "Link Barcode to Stock Location" msgstr "" @@ -9949,11 +10028,11 @@ msgstr "" msgid "Part Settings" msgstr "" -#: templates/InvenTree/settings/part.html:42 +#: templates/InvenTree/settings/part.html:43 msgid "Part Import" msgstr "" -#: templates/InvenTree/settings/part.html:46 +#: templates/InvenTree/settings/part.html:47 msgid "Import Part" msgstr "" @@ -10174,7 +10253,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:424 +#: templates/js/translated/stock.js:245 users/models.py:411 msgid "Delete" msgstr "" @@ -10283,7 +10362,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2159 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2163 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" @@ -10874,7 +10953,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3218 +#: templates/js/translated/part.js:3217 msgid "Minimum Quantity" msgstr "" @@ -11254,7 +11333,7 @@ msgid "External stock" msgstr "" #: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2595 -#: templates/js/translated/sales_order.js:1910 +#: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" @@ -11264,7 +11343,7 @@ msgstr "" #: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 #: templates/js/translated/part.js:1256 -#: templates/js/translated/sales_order.js:1907 +#: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" @@ -11519,17 +11598,17 @@ msgstr "" #: templates/js/translated/build.js:1576 #: templates/js/translated/purchase_order.js:611 -#: templates/js/translated/sales_order.js:1171 +#: templates/js/translated/sales_order.js:1207 msgid "Select Parts" msgstr "" #: templates/js/translated/build.js:1577 -#: templates/js/translated/sales_order.js:1172 +#: templates/js/translated/sales_order.js:1208 msgid "You must select at least one part to allocate" msgstr "" #: templates/js/translated/build.js:1640 -#: templates/js/translated/sales_order.js:1121 +#: templates/js/translated/sales_order.js:1157 msgid "Specify stock allocation quantity" msgstr "" @@ -11542,7 +11621,7 @@ msgid "All selected parts have been fully allocated" msgstr "" #: templates/js/translated/build.js:1732 -#: templates/js/translated/sales_order.js:1186 +#: templates/js/translated/sales_order.js:1222 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -11551,12 +11630,12 @@ msgid "Allocate Stock Items to Build Order" msgstr "" #: templates/js/translated/build.js:1771 -#: templates/js/translated/sales_order.js:1283 +#: templates/js/translated/sales_order.js:1319 msgid "No matching stock locations" msgstr "" #: templates/js/translated/build.js:1844 -#: templates/js/translated/sales_order.js:1362 +#: templates/js/translated/sales_order.js:1398 msgid "No matching stock items" msgstr "" @@ -11589,9 +11668,9 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 -#: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 -#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 -#: templates/js/translated/stock.js:1985 templates/js/translated/stock.js:2713 +#: templates/js/translated/forms.js:2159 templates/js/translated/forms.js:2175 +#: templates/js/translated/part.js:2315 templates/js/translated/part.js:2741 +#: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "" @@ -11599,21 +11678,17 @@ msgstr "" msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2177 -msgid "Progress" -msgstr "" - -#: templates/js/translated/build.js:2213 templates/js/translated/stock.js:3045 +#: templates/js/translated/build.js:2213 templates/js/translated/stock.js:3042 msgid "No user information" msgstr "" #: templates/js/translated/build.js:2389 -#: templates/js/translated/sales_order.js:1646 +#: templates/js/translated/sales_order.js:1682 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:2390 -#: templates/js/translated/sales_order.js:1647 +#: templates/js/translated/sales_order.js:1683 msgid "Delete stock allocation" msgstr "" @@ -11647,7 +11722,7 @@ msgid "Unit Quantity" msgstr "" #: templates/js/translated/build.js:2591 -#: templates/js/translated/sales_order.js:1915 +#: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" @@ -11664,7 +11739,7 @@ msgid "Allocate tracked items against individual build outputs" msgstr "" #: templates/js/translated/build.js:2662 -#: templates/js/translated/sales_order.js:2016 +#: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "" @@ -11673,7 +11748,7 @@ msgid "Order stock" msgstr "" #: templates/js/translated/build.js:2671 -#: templates/js/translated/sales_order.js:2010 +#: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "" @@ -11923,12 +11998,12 @@ msgid "Delete price break" msgstr "" #: templates/js/translated/filters.js:186 -#: templates/js/translated/filters.js:672 +#: templates/js/translated/filters.js:667 msgid "true" msgstr "" #: templates/js/translated/filters.js:190 -#: templates/js/translated/filters.js:673 +#: templates/js/translated/filters.js:668 msgid "false" msgstr "" @@ -11960,7 +12035,7 @@ msgstr "" msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:582 +#: templates/js/translated/filters.js:577 msgid "Create filter" msgstr "" @@ -11993,32 +12068,32 @@ msgstr "" msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1473 templates/modals.html:19 +#: templates/js/translated/forms.js:1477 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1971 +#: templates/js/translated/forms.js:1975 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2275 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2279 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2489 +#: templates/js/translated/forms.js:2493 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3091 +#: templates/js/translated/forms.js:3095 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3091 +#: templates/js/translated/forms.js:3095 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3103 +#: templates/js/translated/forms.js:3107 msgid "Select Columns" msgstr "" @@ -12042,51 +12117,15 @@ msgstr "" msgid "No parts required for builds" msgstr "" -#: templates/js/translated/label.js:53 templates/js/translated/report.js:123 +#: templates/js/translated/label.js:55 templates/js/translated/report.js:38 msgid "Select Items" msgstr "" -#: templates/js/translated/label.js:54 +#: templates/js/translated/label.js:56 templates/js/translated/report.js:39 msgid "No items selected for printing" msgstr "" -#: templates/js/translated/label.js:72 -msgid "No Labels Found" -msgstr "" - -#: templates/js/translated/label.js:73 -msgid "No label templates found which match the selected items" -msgstr "" - -#: templates/js/translated/label.js:97 -msgid "selected" -msgstr "" - -#: templates/js/translated/label.js:133 -msgid "Printing Options" -msgstr "" - -#: templates/js/translated/label.js:148 -msgid "Print label" -msgstr "" - -#: templates/js/translated/label.js:148 -msgid "Print labels" -msgstr "" - #: templates/js/translated/label.js:149 -msgid "Print" -msgstr "" - -#: templates/js/translated/label.js:155 -msgid "Select label template" -msgstr "" - -#: templates/js/translated/label.js:168 -msgid "Select plugin" -msgstr "" - -#: templates/js/translated/label.js:187 msgid "Labels sent to printer" msgstr "" @@ -12204,7 +12243,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1991 +#: templates/js/translated/purchase_order.js:1990 msgid "No line items found" msgstr "" @@ -12442,19 +12481,19 @@ msgid "Delete Part Parameter Template" msgstr "" #: templates/js/translated/part.js:1716 -#: templates/js/translated/purchase_order.js:1655 +#: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1860 -#: templates/js/translated/purchase_order.js:2154 -#: templates/js/translated/return_order.js:756 -#: templates/js/translated/sales_order.js:1875 +#: templates/js/translated/purchase_order.js:2153 +#: templates/js/translated/return_order.js:755 +#: templates/js/translated/sales_order.js:1911 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1906 -#: templates/js/translated/purchase_order.js:2221 +#: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "" @@ -12466,7 +12505,7 @@ msgstr "" msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2506 +#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2505 msgid "No parts found" msgstr "" @@ -12482,101 +12521,101 @@ msgstr "" msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2286 msgid "part" msgstr "" -#: templates/js/translated/part.js:2288 +#: templates/js/translated/part.js:2287 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2384 +#: templates/js/translated/part.js:2383 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 -#: templates/js/translated/stock.js:2672 +#: templates/js/translated/part.js:2530 templates/js/translated/part.js:2660 +#: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2547 +#: templates/js/translated/part.js:2546 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2645 +#: templates/js/translated/part.js:2644 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2692 +#: templates/js/translated/part.js:2680 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2761 +#: templates/js/translated/part.js:2760 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2777 +#: templates/js/translated/part.js:2776 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2864 +#: templates/js/translated/part.js:2863 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2886 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2885 templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2935 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2941 +#: templates/js/translated/part.js:2940 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2957 +#: templates/js/translated/part.js:2956 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2971 +#: templates/js/translated/part.js:2970 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3050 templates/js/translated/part.js:3051 +#: templates/js/translated/part.js:3049 templates/js/translated/part.js:3050 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3053 +#: templates/js/translated/part.js:3052 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3059 +#: templates/js/translated/part.js:3058 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3109 +#: templates/js/translated/part.js:3108 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3115 +#: templates/js/translated/part.js:3114 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3211 +#: templates/js/translated/part.js:3210 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3227 +#: templates/js/translated/part.js:3226 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3272 +#: templates/js/translated/part.js:3271 msgid "Minimum Stock Level" msgstr "" @@ -12702,7 +12741,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:448 #: templates/js/translated/return_order.js:210 -#: templates/js/translated/sales_order.js:500 +#: templates/js/translated/sales_order.js:552 msgid "Mark this order as complete?" msgstr "" @@ -12715,7 +12754,6 @@ msgid "This order has line items which have not been marked as received." msgstr "" #: templates/js/translated/purchase_order.js:460 -#: templates/js/translated/sales_order.js:514 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" @@ -12773,12 +12811,12 @@ msgid "No matching purchase orders" msgstr "" #: templates/js/translated/purchase_order.js:1073 -#: templates/js/translated/return_order.js:491 +#: templates/js/translated/return_order.js:490 msgid "Select Line Items" msgstr "" #: templates/js/translated/purchase_order.js:1074 -#: templates/js/translated/return_order.js:492 +#: templates/js/translated/return_order.js:491 msgid "At least one line item must be selected" msgstr "" @@ -12827,7 +12865,7 @@ msgid "Quantity to Receive" msgstr "" #: templates/js/translated/purchase_order.js:1333 -#: templates/js/translated/return_order.js:561 +#: templates/js/translated/return_order.js:560 msgid "Confirm receipt of items" msgstr "" @@ -12847,81 +12885,66 @@ msgstr "" msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1682 -#: templates/js/translated/return_order.js:286 -#: templates/js/translated/sales_order.js:774 -#: templates/js/translated/sales_order.js:998 +#: templates/js/translated/purchase_order.js:1681 +#: templates/js/translated/return_order.js:285 +#: templates/js/translated/sales_order.js:810 +#: templates/js/translated/sales_order.js:1034 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1748 -#: templates/js/translated/return_order.js:354 -#: templates/js/translated/sales_order.js:851 -#: templates/js/translated/sales_order.js:1011 -msgid "Items" -msgstr "" - -#: templates/js/translated/purchase_order.js:1844 +#: templates/js/translated/purchase_order.js:1843 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1862 +#: templates/js/translated/purchase_order.js:1861 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1917 -#: templates/js/translated/sales_order.js:2070 +#: templates/js/translated/purchase_order.js:1916 +#: templates/js/translated/sales_order.js:2106 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1932 -#: templates/js/translated/return_order.js:476 -#: templates/js/translated/return_order.js:669 -#: templates/js/translated/sales_order.js:2083 +#: templates/js/translated/purchase_order.js:1931 +#: templates/js/translated/return_order.js:475 +#: templates/js/translated/return_order.js:668 +#: templates/js/translated/sales_order.js:2119 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1943 -#: templates/js/translated/return_order.js:682 -#: templates/js/translated/sales_order.js:2094 +#: templates/js/translated/purchase_order.js:1942 +#: templates/js/translated/return_order.js:681 +#: templates/js/translated/sales_order.js:2130 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2225 -#: templates/js/translated/sales_order.js:2024 +#: templates/js/translated/purchase_order.js:2224 +#: templates/js/translated/sales_order.js:2060 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2226 -#: templates/js/translated/return_order.js:801 -#: templates/js/translated/sales_order.js:2025 +#: templates/js/translated/purchase_order.js:2225 +#: templates/js/translated/return_order.js:800 +#: templates/js/translated/sales_order.js:2061 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2227 -#: templates/js/translated/return_order.js:805 -#: templates/js/translated/sales_order.js:2031 +#: templates/js/translated/purchase_order.js:2226 +#: templates/js/translated/return_order.js:804 +#: templates/js/translated/sales_order.js:2067 msgid "Delete line item" msgstr "" -#: templates/js/translated/report.js:63 -msgid "items selected" +#: templates/js/translated/report.js:49 +msgid "Print Report" msgstr "" -#: templates/js/translated/report.js:71 -msgid "Select Report Template" +#: templates/js/translated/report.js:68 +msgid "Report print successful" msgstr "" -#: templates/js/translated/report.js:86 -msgid "Select Test Report Template" -msgstr "" - -#: templates/js/translated/report.js:140 -msgid "No Reports Found" -msgstr "" - -#: templates/js/translated/report.js:141 -msgid "No report templates found which match the selected items" +#: templates/js/translated/report.js:73 +msgid "Report printing failed" msgstr "" #: templates/js/translated/return_order.js:60 @@ -12953,25 +12976,25 @@ msgstr "" msgid "Complete Return Order" msgstr "" -#: templates/js/translated/return_order.js:266 +#: templates/js/translated/return_order.js:265 msgid "No return orders found" msgstr "" -#: templates/js/translated/return_order.js:300 -#: templates/js/translated/sales_order.js:788 +#: templates/js/translated/return_order.js:299 +#: templates/js/translated/sales_order.js:824 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/return_order.js:562 +#: templates/js/translated/return_order.js:561 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:693 -#: templates/js/translated/sales_order.js:2231 +#: templates/js/translated/return_order.js:692 +#: templates/js/translated/sales_order.js:2267 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:798 +#: templates/js/translated/return_order.js:797 msgid "Mark item as received" msgstr "" @@ -13015,140 +13038,156 @@ msgstr "" msgid "Skip" msgstr "" +#: templates/js/translated/sales_order.js:484 +msgid "Ship Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:500 +msgid "Ship this order?" +msgstr "" + +#: templates/js/translated/sales_order.js:506 +msgid "Order cannot be shipped as there are incomplete shipments" +msgstr "" + #: templates/js/translated/sales_order.js:513 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/sales_order.js:535 +#: templates/js/translated/sales_order.js:514 +msgid "Shipping this order means that the order and line items will no longer be editable." +msgstr "" + +#: templates/js/translated/sales_order.js:572 msgid "Issue this Sales Order?" msgstr "" -#: templates/js/translated/sales_order.js:540 +#: templates/js/translated/sales_order.js:577 msgid "Issue Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:559 +#: templates/js/translated/sales_order.js:596 msgid "Cancel Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:564 +#: templates/js/translated/sales_order.js:601 msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: templates/js/translated/sales_order.js:618 +#: templates/js/translated/sales_order.js:655 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/sales_order.js:728 +#: templates/js/translated/sales_order.js:764 msgid "No sales orders found" msgstr "" -#: templates/js/translated/sales_order.js:908 +#: templates/js/translated/sales_order.js:944 msgid "Edit shipment" msgstr "" -#: templates/js/translated/sales_order.js:911 +#: templates/js/translated/sales_order.js:947 msgid "Complete shipment" msgstr "" -#: templates/js/translated/sales_order.js:916 +#: templates/js/translated/sales_order.js:952 msgid "Delete shipment" msgstr "" -#: templates/js/translated/sales_order.js:933 +#: templates/js/translated/sales_order.js:969 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/sales_order.js:948 +#: templates/js/translated/sales_order.js:984 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:981 +#: templates/js/translated/sales_order.js:1017 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/sales_order.js:1006 +#: templates/js/translated/sales_order.js:1042 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/sales_order.js:1030 -#: templates/js/translated/sales_order.js:1529 +#: templates/js/translated/sales_order.js:1066 +#: templates/js/translated/sales_order.js:1565 msgid "Not shipped" msgstr "" -#: templates/js/translated/sales_order.js:1048 +#: templates/js/translated/sales_order.js:1084 msgid "Tracking" msgstr "" -#: templates/js/translated/sales_order.js:1052 +#: templates/js/translated/sales_order.js:1088 msgid "Invoice" msgstr "" -#: templates/js/translated/sales_order.js:1219 +#: templates/js/translated/sales_order.js:1255 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1270 +#: templates/js/translated/sales_order.js:1306 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/sales_order.js:1271 +#: templates/js/translated/sales_order.js:1307 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1477 +#: templates/js/translated/sales_order.js:1513 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1569 +#: templates/js/translated/sales_order.js:1605 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1583 +#: templates/js/translated/sales_order.js:1619 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/sales_order.js:1584 +#: templates/js/translated/sales_order.js:1620 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1623 -#: templates/js/translated/sales_order.js:1710 +#: templates/js/translated/sales_order.js:1659 +#: templates/js/translated/sales_order.js:1746 #: templates/js/translated/stock.js:1776 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/sales_order.js:1631 -#: templates/js/translated/sales_order.js:1719 +#: templates/js/translated/sales_order.js:1667 +#: templates/js/translated/sales_order.js:1755 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:2008 +#: templates/js/translated/sales_order.js:2044 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/sales_order.js:2012 +#: templates/js/translated/sales_order.js:2048 msgid "Purchase stock" msgstr "" -#: templates/js/translated/sales_order.js:2021 -#: templates/js/translated/sales_order.js:2209 +#: templates/js/translated/sales_order.js:2057 +#: templates/js/translated/sales_order.js:2245 msgid "Calculate price" msgstr "" -#: templates/js/translated/sales_order.js:2035 +#: templates/js/translated/sales_order.js:2071 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:2038 +#: templates/js/translated/sales_order.js:2074 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:2109 +#: templates/js/translated/sales_order.js:2145 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/sales_order.js:2217 +#: templates/js/translated/sales_order.js:2253 msgid "Update Unit Price" msgstr "" @@ -13356,7 +13395,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1042 users/models.py:414 +#: templates/js/translated/stock.js:1042 users/models.py:401 msgid "Add" msgstr "" @@ -13372,7 +13411,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1180 templates/js/translated/stock.js:3302 +#: templates/js/translated/stock.js:1180 templates/js/translated/stock.js:3299 msgid "Select Stock Items" msgstr "" @@ -13456,196 +13495,196 @@ msgstr "" msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:1955 +#: templates/js/translated/stock.js:1953 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1960 +#: templates/js/translated/stock.js:1958 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:1971 +#: templates/js/translated/stock.js:1969 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:2015 +#: templates/js/translated/stock.js:2013 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2093 +#: templates/js/translated/stock.js:2091 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2098 +#: templates/js/translated/stock.js:2096 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2101 +#: templates/js/translated/stock.js:2099 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2104 +#: templates/js/translated/stock.js:2102 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2106 +#: templates/js/translated/stock.js:2104 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2108 +#: templates/js/translated/stock.js:2106 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2111 +#: templates/js/translated/stock.js:2109 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2113 +#: templates/js/translated/stock.js:2111 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2117 +#: templates/js/translated/stock.js:2115 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2119 +#: templates/js/translated/stock.js:2117 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2124 +#: templates/js/translated/stock.js:2122 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2126 +#: templates/js/translated/stock.js:2124 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2128 +#: templates/js/translated/stock.js:2126 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2132 +#: templates/js/translated/stock.js:2130 #: templates/js/translated/table_filters.js:350 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2297 +#: templates/js/translated/stock.js:2295 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2344 +#: templates/js/translated/stock.js:2342 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2472 +#: templates/js/translated/stock.js:2470 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2576 +#: templates/js/translated/stock.js:2573 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2731 +#: templates/js/translated/stock.js:2728 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2849 +#: templates/js/translated/stock.js:2846 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2853 +#: templates/js/translated/stock.js:2850 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2865 +#: templates/js/translated/stock.js:2862 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2887 +#: templates/js/translated/stock.js:2884 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2904 +#: templates/js/translated/stock.js:2901 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2919 +#: templates/js/translated/stock.js:2916 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2936 +#: templates/js/translated/stock.js:2933 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:2950 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2972 +#: templates/js/translated/stock.js:2969 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2990 +#: templates/js/translated/stock.js:2987 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:3008 +#: templates/js/translated/stock.js:3005 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:3016 +#: templates/js/translated/stock.js:3013 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3088 +#: templates/js/translated/stock.js:3085 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3142 templates/js/translated/stock.js:3178 +#: templates/js/translated/stock.js:3139 templates/js/translated/stock.js:3175 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3200 +#: templates/js/translated/stock.js:3197 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3221 +#: templates/js/translated/stock.js:3218 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3222 +#: templates/js/translated/stock.js:3219 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3224 +#: templates/js/translated/stock.js:3221 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3225 +#: templates/js/translated/stock.js:3222 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3226 +#: templates/js/translated/stock.js:3223 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3227 +#: templates/js/translated/stock.js:3224 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3240 +#: templates/js/translated/stock.js:3237 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3303 +#: templates/js/translated/stock.js:3300 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3316 +#: templates/js/translated/stock.js:3313 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3320 +#: templates/js/translated/stock.js:3317 msgid "Change Stock Status" msgstr "" @@ -14247,34 +14286,35 @@ msgstr "" msgid "Revoked" msgstr "" -#: users/models.py:397 +#: users/models.py:384 msgid "Permission set" msgstr "" -#: users/models.py:406 +#: users/models.py:393 msgid "Group" msgstr "" -#: users/models.py:410 +#: users/models.py:397 msgid "View" msgstr "" -#: users/models.py:410 +#: users/models.py:397 msgid "Permission to view items" msgstr "" -#: users/models.py:414 +#: users/models.py:401 msgid "Permission to add items" msgstr "" -#: users/models.py:418 +#: users/models.py:405 msgid "Change" msgstr "" -#: users/models.py:420 +#: users/models.py:407 msgid "Permissions to edit items" msgstr "" -#: users/models.py:426 +#: users/models.py:413 msgid "Permission to delete items" msgstr "" + diff --git a/src/backend/InvenTree/locale/nl/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/nl/LC_MESSAGES/django.po index 8daa6e0ba6..0b689a4c47 100644 --- a/src/backend/InvenTree/locale/nl/LC_MESSAGES/django.po +++ b/src/backend/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: 2024-05-10 05:37+0000\n" -"PO-Revision-Date: 2024-05-10 08:31\n" +"POT-Creation-Date: 2024-05-23 11:25+0000\n" +"PO-Revision-Date: 2024-05-23 11:39\n" "Last-Translator: \n" "Language-Team: Dutch\n" "Language: nl_NL\n" @@ -17,11 +17,11 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 216\n" -#: InvenTree/api.py:271 +#: InvenTree/api.py:272 msgid "API endpoint not found" msgstr "API eindpunt niet gevonden" -#: InvenTree/api.py:535 +#: InvenTree/api.py:536 msgid "User does not have permission to view this model" msgstr "Gebruiker heeft geen rechten om dit model te bekijken" @@ -56,26 +56,26 @@ msgstr "Error details kunnen worden gevonden in het admin scherm" msgid "Enter date" msgstr "Voer datum in" -#: InvenTree/fields.py:208 InvenTree/models.py:1021 build/serializers.py:444 -#: build/serializers.py:522 build/templates/build/sidebar.html:21 +#: InvenTree/fields.py:208 InvenTree/models.py:1035 build/serializers.py:443 +#: build/serializers.py:521 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 -#: order/models.py:1283 order/templates/order/po_sidebar.html:11 +#: order/models.py:1323 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:59 -#: part/models.py:3175 part/templates/part/part_sidebar.html:63 -#: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:226 stock/models.py:2344 stock/models.py:2461 -#: stock/serializers.py:501 stock/serializers.py:659 stock/serializers.py:755 -#: stock/serializers.py:805 stock/serializers.py:1114 stock/serializers.py:1203 -#: stock/serializers.py:1368 stock/templates/stock/stock_sidebar.html:25 +#: part/models.py:3218 part/templates/part/part_sidebar.html:63 +#: report/templates/report/inventree_build_order_report.html:172 +#: stock/admin.py:226 stock/models.py:2321 stock/models.py:2438 +#: stock/serializers.py:630 stock/serializers.py:788 stock/serializers.py:884 +#: stock/serializers.py:934 stock/serializers.py:1243 stock/serializers.py:1332 +#: stock/serializers.py:1497 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1080 -#: templates/js/translated/purchase_order.js:2201 -#: templates/js/translated/return_order.js:776 -#: templates/js/translated/sales_order.js:1067 -#: templates/js/translated/sales_order.js:1982 -#: templates/js/translated/stock.js:1536 templates/js/translated/stock.js:2430 +#: templates/js/translated/purchase_order.js:2200 +#: templates/js/translated/return_order.js:775 +#: templates/js/translated/sales_order.js:1103 +#: templates/js/translated/sales_order.js:2018 +#: templates/js/translated/stock.js:1536 templates/js/translated/stock.js:2428 msgid "Notes" msgstr "Opmerkingen" @@ -132,7 +132,7 @@ msgstr "Het ingevoerde e-maildomein is niet goedgekeurd." msgid "Registration is disabled." msgstr "Registratie is uitgeschakeld." -#: InvenTree/helpers.py:525 order/models.py:541 order/models.py:743 +#: InvenTree/helpers.py:525 order/models.py:563 order/models.py:765 msgid "Invalid quantity provided" msgstr "Ongeldige hoeveelheid ingevoerd" @@ -355,142 +355,142 @@ msgstr "" msgid "Error running plugin validation" msgstr "" -#: InvenTree/models.py:162 +#: InvenTree/models.py:176 msgid "Metadata must be a python dict object" msgstr "Metadata moeten een python dict object zijn" -#: InvenTree/models.py:168 +#: InvenTree/models.py:182 msgid "Plugin Metadata" msgstr "" -#: InvenTree/models.py:169 +#: InvenTree/models.py:183 msgid "JSON metadata field, for use by external plugins" msgstr "JSON metadata veld, voor gebruik door externe plugins" -#: InvenTree/models.py:399 +#: InvenTree/models.py:413 msgid "Improperly formatted pattern" msgstr "Onjuist opgemaakt patroon" -#: InvenTree/models.py:406 +#: InvenTree/models.py:420 msgid "Unknown format key specified" msgstr "Onbekende opmaaksleutel gespecificeerd" -#: InvenTree/models.py:412 +#: InvenTree/models.py:426 msgid "Missing required format key" msgstr "Vereiste opmaaksleutel ontbreekt" -#: InvenTree/models.py:423 +#: InvenTree/models.py:437 msgid "Reference field cannot be empty" msgstr "Referentieveld mag niet leeg zijn" -#: InvenTree/models.py:431 +#: InvenTree/models.py:445 msgid "Reference must match required pattern" msgstr "Referentie moet overeenkomen met verplicht patroon" -#: InvenTree/models.py:462 +#: InvenTree/models.py:476 msgid "Reference number is too large" msgstr "Referentienummer is te groot" -#: InvenTree/models.py:536 +#: InvenTree/models.py:550 msgid "Missing file" msgstr "Ontbrekend bestand" -#: InvenTree/models.py:537 +#: InvenTree/models.py:551 msgid "Missing external link" msgstr "Externe link ontbreekt" -#: InvenTree/models.py:558 stock/models.py:2456 +#: InvenTree/models.py:572 stock/models.py:2433 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" msgstr "Bijlage" -#: InvenTree/models.py:559 +#: InvenTree/models.py:573 msgid "Select file to attach" msgstr "Bestand als bijlage selecteren" -#: InvenTree/models.py:567 common/models.py:3026 company/models.py:146 +#: InvenTree/models.py:581 common/models.py:3032 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 -#: order/models.py:291 order/models.py:1288 order/models.py:1704 -#: part/admin.py:55 part/models.py:919 +#: order/models.py:304 order/models.py:1328 order/models.py:1744 +#: part/admin.py:55 part/models.py:962 #: part/templates/part/part_scheduling.html:11 -#: report/templates/report/inventree_build_order_base.html:164 +#: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2456 -#: templates/js/translated/purchase_order.js:2041 -#: templates/js/translated/purchase_order.js:2205 -#: templates/js/translated/return_order.js:780 -#: templates/js/translated/sales_order.js:1056 -#: templates/js/translated/sales_order.js:1987 +#: templates/js/translated/part.js:2455 +#: templates/js/translated/purchase_order.js:2040 +#: templates/js/translated/purchase_order.js:2204 +#: templates/js/translated/return_order.js:779 +#: templates/js/translated/sales_order.js:1092 +#: templates/js/translated/sales_order.js:2023 msgid "Link" msgstr "" -#: InvenTree/models.py:568 build/models.py:321 part/models.py:920 -#: stock/models.py:819 +#: InvenTree/models.py:582 build/models.py:344 part/models.py:963 +#: stock/models.py:840 msgid "Link to external URL" msgstr "Link naar externe URL" -#: InvenTree/models.py:574 templates/js/translated/attachment.js:120 +#: InvenTree/models.py:588 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:341 msgid "Comment" msgstr "Opmerking" -#: InvenTree/models.py:575 +#: InvenTree/models.py:589 msgid "File comment" msgstr "Bestand opmerking" -#: InvenTree/models.py:583 InvenTree/models.py:584 common/models.py:2502 -#: common/models.py:2503 common/models.py:2727 common/models.py:2728 -#: common/models.py:2973 common/models.py:2974 part/models.py:3185 -#: part/models.py:3272 part/models.py:3365 part/models.py:3393 -#: plugin/models.py:250 plugin/models.py:251 -#: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3039 users/models.py:111 +#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2508 +#: common/models.py:2509 common/models.py:2733 common/models.py:2734 +#: common/models.py:2979 common/models.py:2980 part/models.py:3228 +#: part/models.py:3315 part/models.py:3408 part/models.py:3436 +#: plugin/models.py:259 plugin/models.py:260 +#: report/templates/report/inventree_test_report.html:105 +#: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" msgstr "Gebruiker" -#: InvenTree/models.py:588 +#: InvenTree/models.py:602 msgid "upload date" msgstr "uploaddatum" -#: InvenTree/models.py:610 +#: InvenTree/models.py:624 msgid "Filename must not be empty" msgstr "Bestandsnaam mag niet leeg zijn" -#: InvenTree/models.py:621 +#: InvenTree/models.py:635 msgid "Invalid attachment directory" msgstr "Foute bijlagemap" -#: InvenTree/models.py:651 +#: InvenTree/models.py:665 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "Bestandsnaam bevat illegale teken '{c}'" -#: InvenTree/models.py:654 +#: InvenTree/models.py:668 msgid "Filename missing extension" msgstr "Bestandsnaam mist extensie" -#: InvenTree/models.py:663 +#: InvenTree/models.py:677 msgid "Attachment with this filename already exists" msgstr "Bijlage met deze bestandsnaam bestaat al" -#: InvenTree/models.py:670 +#: InvenTree/models.py:684 msgid "Error renaming file" msgstr "Fout bij hernoemen bestand" -#: InvenTree/models.py:846 +#: InvenTree/models.py:860 msgid "Duplicate names cannot exist under the same parent" msgstr "Dubbele namen kunnen niet bestaan onder hetzelfde bovenliggende object" -#: InvenTree/models.py:863 +#: InvenTree/models.py:877 msgid "Invalid choice" msgstr "Ongeldige keuze" -#: InvenTree/models.py:893 common/models.py:2714 common/models.py:3112 -#: common/serializers.py:403 company/models.py:614 label/models.py:120 -#: machine/models.py:24 part/models.py:855 part/models.py:3616 -#: plugin/models.py:41 report/models.py:176 stock/models.py:76 +#: InvenTree/models.py:907 common/models.py:2720 common/models.py:3118 +#: common/serializers.py:403 company/models.py:614 machine/models.py:24 +#: part/models.py:898 part/models.py:3659 plugin/models.py:50 +#: report/models.py:149 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -503,22 +503,22 @@ msgstr "Ongeldige keuze" #: templates/js/translated/company.js:1165 #: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186 #: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2719 +#: templates/js/translated/part.js:2748 templates/js/translated/stock.js:2716 msgid "Name" msgstr "Naam" -#: InvenTree/models.py:899 build/models.py:194 +#: InvenTree/models.py:913 build/models.py:217 #: build/templates/build/detail.html:24 common/models.py:136 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 label/models.py:127 -#: order/models.py:277 order/models.py:1316 part/admin.py:303 part/admin.py:414 -#: part/models.py:878 part/models.py:3631 part/templates/part/category.html:82 +#: company/templates/company/supplier_part.html:107 order/models.py:290 +#: order/models.py:1356 part/admin.py:305 part/admin.py:416 part/models.py:921 +#: part/models.py:3674 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 -#: part/templates/part/part_scheduling.html:12 report/models.py:189 -#: report/models.py:655 report/models.py:729 -#: report/templates/report/inventree_build_order_base.html:117 +#: part/templates/part/part_scheduling.html:12 report/models.py:155 +#: report/models.py:510 report/models.py:536 +#: report/templates/report/inventree_build_order_report.html:117 #: stock/admin.py:55 stock/models.py:82 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 @@ -530,71 +530,71 @@ msgstr "Naam" #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 -#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2896 +#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2354 +#: templates/js/translated/part.js:2784 templates/js/translated/part.js:2895 #: templates/js/translated/plugin.js:80 -#: templates/js/translated/purchase_order.js:1707 -#: templates/js/translated/purchase_order.js:1850 -#: templates/js/translated/purchase_order.js:2023 -#: templates/js/translated/return_order.js:314 -#: templates/js/translated/sales_order.js:802 -#: templates/js/translated/sales_order.js:1812 -#: templates/js/translated/stock.js:1515 templates/js/translated/stock.js:2060 -#: templates/js/translated/stock.js:2751 templates/js/translated/stock.js:2834 +#: templates/js/translated/purchase_order.js:1706 +#: templates/js/translated/purchase_order.js:1849 +#: templates/js/translated/purchase_order.js:2022 +#: templates/js/translated/return_order.js:313 +#: templates/js/translated/sales_order.js:838 +#: templates/js/translated/sales_order.js:1848 +#: templates/js/translated/stock.js:1515 templates/js/translated/stock.js:2058 +#: templates/js/translated/stock.js:2748 templates/js/translated/stock.js:2831 msgid "Description" msgstr "Omschrijving" -#: InvenTree/models.py:900 stock/models.py:83 +#: InvenTree/models.py:914 stock/models.py:83 msgid "Description (optional)" msgstr "Omschrijving (optioneel)" -#: InvenTree/models.py:909 +#: InvenTree/models.py:923 msgid "parent" msgstr "bovenliggende" -#: InvenTree/models.py:915 templates/js/translated/part.js:2794 -#: templates/js/translated/stock.js:2760 +#: InvenTree/models.py:929 templates/js/translated/part.js:2793 +#: templates/js/translated/stock.js:2757 msgid "Path" msgstr "Pad" -#: InvenTree/models.py:1021 +#: InvenTree/models.py:1035 msgid "Markdown notes (optional)" msgstr "Markdown notitie (optioneel)" -#: InvenTree/models.py:1050 +#: InvenTree/models.py:1064 msgid "Barcode Data" msgstr "Streepjescode gegevens" -#: InvenTree/models.py:1051 +#: InvenTree/models.py:1065 msgid "Third party barcode data" msgstr "Streepjescode van derden" -#: InvenTree/models.py:1057 +#: InvenTree/models.py:1071 msgid "Barcode Hash" msgstr "Hash van Streepjescode" -#: InvenTree/models.py:1058 +#: InvenTree/models.py:1072 msgid "Unique hash of barcode data" msgstr "Unieke hash van barcode gegevens" -#: InvenTree/models.py:1111 +#: InvenTree/models.py:1125 msgid "Existing barcode found" msgstr "Bestaande barcode gevonden" -#: InvenTree/models.py:1154 +#: InvenTree/models.py:1168 msgid "Server Error" msgstr "Serverfout" -#: InvenTree/models.py:1155 +#: InvenTree/models.py:1169 msgid "An error has been logged by the server." msgstr "Er is een fout gelogd door de server." -#: InvenTree/serializers.py:62 part/models.py:4169 +#: InvenTree/serializers.py:62 part/models.py:4212 msgid "Must be a valid number" msgstr "Moet een geldig nummer zijn" #: InvenTree/serializers.py:99 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:2993 +#: company/templates/company/company_base.html:112 part/models.py:3036 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -686,7 +686,7 @@ msgstr "URL van extern afbeeldingsbestand" msgid "Downloading images from remote URL is not enabled" msgstr "Afbeeldingen van externe URL downloaden is niet ingeschakeld" -#: InvenTree/status.py:66 part/serializers.py:1161 +#: InvenTree/status.py:66 part/serializers.py:1176 msgid "Background worker check failed" msgstr "Achtergrondwerker check is gefaald" @@ -699,8 +699,8 @@ msgid "InvenTree system health checks failed" msgstr "InvenTree gezondsheidschecks mislukt" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:37 -#: InvenTree/status_codes.py:148 InvenTree/status_codes.py:164 -#: InvenTree/status_codes.py:182 generic/states/tests.py:17 +#: InvenTree/status_codes.py:149 InvenTree/status_codes.py:165 +#: InvenTree/status_codes.py:183 generic/states/tests.py:17 #: templates/js/translated/table_filters.js:598 msgid "Pending" msgstr "Bezig" @@ -709,188 +709,188 @@ msgstr "Bezig" msgid "Placed" msgstr "Geplaatst" -#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:151 -#: InvenTree/status_codes.py:169 generic/states/tests.py:19 -#: order/templates/order/order_base.html:158 -#: order/templates/order/sales_order_base.html:161 +#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:44 +#: InvenTree/status_codes.py:152 InvenTree/status_codes.py:170 +#: generic/states/tests.py:19 order/templates/order/order_base.html:158 +#: order/templates/order/sales_order_base.html:165 report/models.py:444 msgid "Complete" msgstr "Voltooid" -#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:44 -#: InvenTree/status_codes.py:150 InvenTree/status_codes.py:170 +#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:45 +#: InvenTree/status_codes.py:151 InvenTree/status_codes.py:171 msgid "Cancelled" msgstr "Geannuleerd" -#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:45 -#: InvenTree/status_codes.py:67 +#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:46 +#: InvenTree/status_codes.py:68 msgid "Lost" msgstr "Kwijt" -#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:46 -#: InvenTree/status_codes.py:73 +#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:47 +#: InvenTree/status_codes.py:74 msgid "Returned" msgstr "Retour" -#: InvenTree/status_codes.py:40 InvenTree/status_codes.py:167 +#: InvenTree/status_codes.py:40 InvenTree/status_codes.py:168 msgid "In Progress" msgstr "In Behandeling" -#: InvenTree/status_codes.py:43 order/models.py:1566 -#: templates/js/translated/sales_order.js:1523 -#: templates/js/translated/sales_order.js:1644 -#: templates/js/translated/sales_order.js:1957 +#: InvenTree/status_codes.py:43 order/models.py:1606 +#: templates/js/translated/sales_order.js:1559 +#: templates/js/translated/sales_order.js:1680 +#: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "Verzonden" -#: InvenTree/status_codes.py:62 +#: InvenTree/status_codes.py:63 msgid "OK" msgstr "" -#: InvenTree/status_codes.py:63 +#: InvenTree/status_codes.py:64 msgid "Attention needed" msgstr "Aandacht nodig" -#: InvenTree/status_codes.py:64 +#: InvenTree/status_codes.py:65 msgid "Damaged" msgstr "Beschadigd" -#: InvenTree/status_codes.py:65 +#: InvenTree/status_codes.py:66 msgid "Destroyed" msgstr "Verwoest" -#: InvenTree/status_codes.py:66 +#: InvenTree/status_codes.py:67 msgid "Rejected" msgstr "Afgewezen" -#: InvenTree/status_codes.py:70 +#: InvenTree/status_codes.py:71 msgid "Quarantined" msgstr "In quarantaine geplaatst" -#: InvenTree/status_codes.py:91 +#: InvenTree/status_codes.py:92 msgid "Legacy stock tracking entry" msgstr "Verouderde volgcode" -#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:544 +#: InvenTree/status_codes.py:94 templates/js/translated/stock.js:544 msgid "Stock item created" msgstr "Voorraaditem gemaakt" -#: InvenTree/status_codes.py:96 +#: InvenTree/status_codes.py:97 msgid "Edited stock item" msgstr "Bewerken voorraadartikel" -#: InvenTree/status_codes.py:97 +#: InvenTree/status_codes.py:98 msgid "Assigned serial number" msgstr "Serienummer toegewezen" -#: InvenTree/status_codes.py:100 +#: InvenTree/status_codes.py:101 msgid "Stock counted" msgstr "Voorraad geteld" -#: InvenTree/status_codes.py:101 +#: InvenTree/status_codes.py:102 msgid "Stock manually added" msgstr "Voorraad handmatig toegevoegd" -#: InvenTree/status_codes.py:102 +#: InvenTree/status_codes.py:103 msgid "Stock manually removed" msgstr "Voorraad handmatig verwijderd" -#: InvenTree/status_codes.py:105 +#: InvenTree/status_codes.py:106 msgid "Location changed" msgstr "Locatie veranderd" -#: InvenTree/status_codes.py:106 +#: InvenTree/status_codes.py:107 msgid "Stock updated" msgstr "Voorraad bijgewerkt" -#: InvenTree/status_codes.py:109 +#: InvenTree/status_codes.py:110 msgid "Installed into assembly" msgstr "Gemonteerd" -#: InvenTree/status_codes.py:110 +#: InvenTree/status_codes.py:111 msgid "Removed from assembly" msgstr "Gedemonteerd" -#: InvenTree/status_codes.py:112 +#: InvenTree/status_codes.py:113 msgid "Installed component item" msgstr "Geïnstalleerd componentartikel" -#: InvenTree/status_codes.py:113 +#: InvenTree/status_codes.py:114 msgid "Removed component item" msgstr "Verwijderd componentartikel" -#: InvenTree/status_codes.py:116 +#: InvenTree/status_codes.py:117 msgid "Split from parent item" msgstr "Splits van bovenliggend item" -#: InvenTree/status_codes.py:117 +#: InvenTree/status_codes.py:118 msgid "Split child item" msgstr "Splits onderliggende item" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1858 +#: InvenTree/status_codes.py:121 templates/js/translated/stock.js:1858 msgid "Merged stock items" msgstr "Samengevoegde voorraadartikelen" -#: InvenTree/status_codes.py:123 +#: InvenTree/status_codes.py:124 msgid "Converted to variant" msgstr "Geconverteerd naar variant" -#: InvenTree/status_codes.py:126 +#: InvenTree/status_codes.py:127 msgid "Build order output created" msgstr "Product aangemaakt" -#: InvenTree/status_codes.py:127 +#: InvenTree/status_codes.py:128 msgid "Build order output completed" msgstr "Product voltooid" -#: InvenTree/status_codes.py:128 +#: InvenTree/status_codes.py:129 msgid "Build order output rejected" msgstr "Build order uitvoer afgewezen" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1764 +#: InvenTree/status_codes.py:130 templates/js/translated/stock.js:1764 msgid "Consumed by build order" msgstr "Verbruikt door productieorder" -#: InvenTree/status_codes.py:132 +#: InvenTree/status_codes.py:133 msgid "Shipped against Sales Order" msgstr "Verzonden onder verkooporder" -#: InvenTree/status_codes.py:135 +#: InvenTree/status_codes.py:136 msgid "Received against Purchase Order" msgstr "Ontvangen onder verkooporder" -#: InvenTree/status_codes.py:138 +#: InvenTree/status_codes.py:139 msgid "Returned against Return Order" msgstr "Geretourneerd onder retourorder" -#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:375 +#: InvenTree/status_codes.py:142 templates/js/translated/table_filters.js:375 msgid "Sent to customer" msgstr "Naar klant verzonden" -#: InvenTree/status_codes.py:142 +#: InvenTree/status_codes.py:143 msgid "Returned from customer" msgstr "Geretourneerd door klant" -#: InvenTree/status_codes.py:149 +#: InvenTree/status_codes.py:150 msgid "Production" msgstr "Productie" -#: InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:186 msgid "Return" msgstr "Retour" -#: InvenTree/status_codes.py:188 +#: InvenTree/status_codes.py:189 msgid "Repair" msgstr "Herstel" -#: InvenTree/status_codes.py:191 +#: InvenTree/status_codes.py:192 msgid "Replace" msgstr "Vervangen" -#: InvenTree/status_codes.py:194 +#: InvenTree/status_codes.py:195 msgid "Refund" msgstr "Restitutie" -#: InvenTree/status_codes.py:197 +#: InvenTree/status_codes.py:198 msgid "Reject" msgstr "Afwijzen" @@ -946,14 +946,14 @@ msgstr "Over InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Productie moet geannuleerd worden voordat het kan worden verwijderd" -#: build/api.py:299 part/models.py:4047 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4090 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "Verbruiksartikelen" -#: build/api.py:300 part/models.py:4041 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4084 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -969,7 +969,7 @@ msgstr "Gevolgd" #: build/api.py:303 part/admin.py:144 templates/js/translated/build.js:1744 #: templates/js/translated/build.js:2629 -#: templates/js/translated/sales_order.js:1929 +#: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "Toegewezen" @@ -980,7 +980,7 @@ msgstr "Toegewezen" #: templates/email/low_stock_notification.html:17 #: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 #: templates/js/translated/index.js:123 -#: templates/js/translated/model_renderers.js:228 +#: templates/js/translated/model_renderers.js:234 #: templates/js/translated/part.js:692 templates/js/translated/part.js:694 #: templates/js/translated/part.js:699 #: templates/js/translated/table_filters.js:340 @@ -988,16 +988,16 @@ msgstr "Toegewezen" msgid "Available" msgstr "Beschikbaar" -#: build/models.py:74 build/templates/build/build_base.html:9 +#: build/models.py:82 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 -#: report/templates/report/inventree_build_order_base.html:105 -#: templates/email/build_order_completed.html:16 +#: report/templates/report/inventree_build_order_report.html:105 +#: stock/serializers.py:83 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2895 +#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2892 msgid "Build Order" msgstr "Productieorder" -#: build/models.py:75 build/templates/build/build_base.html:13 +#: build/models.py:83 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -1008,71 +1008,71 @@ msgstr "Productieorder" msgid "Build Orders" msgstr "Productieorders" -#: build/models.py:122 +#: build/models.py:130 msgid "Invalid choice for parent build" msgstr "Ongeldige keuze voor bovenliggende productie" -#: build/models.py:133 order/models.py:239 +#: build/models.py:141 order/models.py:241 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:139 +#: build/models.py:147 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:185 +#: build/models.py:208 msgid "Build Order Reference" msgstr "Productieorderreferentie" -#: build/models.py:186 order/models.py:442 order/models.py:898 -#: order/models.py:1276 order/models.py:1998 part/admin.py:417 -#: part/models.py:4062 part/templates/part/upload_bom.html:54 +#: build/models.py:209 order/models.py:464 order/models.py:929 +#: order/models.py:1316 order/models.py:2047 part/admin.py:419 +#: part/models.py:4105 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 -#: report/templates/report/inventree_so_report_base.html:28 +#: report/templates/report/inventree_purchase_order_report.html:28 +#: report/templates/report/inventree_return_order_report.html:26 +#: report/templates/report/inventree_sales_order_report.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 #: templates/js/translated/build.js:2512 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 -#: templates/js/translated/purchase_order.js:2066 -#: templates/js/translated/return_order.js:729 -#: templates/js/translated/sales_order.js:1818 +#: templates/js/translated/purchase_order.js:2065 +#: templates/js/translated/return_order.js:728 +#: templates/js/translated/sales_order.js:1854 msgid "Reference" msgstr "Referentie" -#: build/models.py:197 +#: build/models.py:220 msgid "Brief description of the build (optional)" msgstr "Korte beschrijving van de build (optioneel)" -#: build/models.py:205 build/templates/build/build_base.html:183 +#: build/models.py:228 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Bovenliggende Productie" -#: build/models.py:206 +#: build/models.py:229 msgid "BuildOrder to which this build is allocated" msgstr "Productieorder waar deze productie aan is toegewezen" -#: build/models.py:211 build/templates/build/build_base.html:97 +#: build/models.py:234 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 -#: order/models.py:1401 order/models.py:1546 order/models.py:1547 -#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004 -#: part/models.py:3148 part/models.py:3292 part/models.py:3315 -#: part/models.py:3336 part/models.py:3358 part/models.py:3468 -#: part/models.py:3764 part/models.py:3920 part/models.py:4013 -#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713 +#: order/models.py:1441 order/models.py:1586 order/models.py:1587 +#: part/api.py:1501 part/api.py:1795 part/models.py:392 part/models.py:3047 +#: part/models.py:3191 part/models.py:3335 part/models.py:3358 +#: part/models.py:3379 part/models.py:3401 part/models.py:3511 +#: part/models.py:3807 part/models.py:3963 part/models.py:4056 +#: part/models.py:4417 part/serializers.py:1122 part/serializers.py:1728 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 -#: report/templates/report/inventree_build_order_base.html:109 -#: report/templates/report/inventree_po_report_base.html:27 -#: report/templates/report/inventree_return_order_report_base.html:24 -#: report/templates/report/inventree_slr_report.html:102 -#: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:267 stock/serializers.py:689 -#: templates/InvenTree/search.html:82 +#: report/templates/report/inventree_build_order_report.html:109 +#: report/templates/report/inventree_purchase_order_report.html:27 +#: report/templates/report/inventree_return_order_report.html:24 +#: report/templates/report/inventree_sales_order_report.html:27 +#: report/templates/report/inventree_stock_location_report.html:102 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:396 +#: stock/serializers.py:818 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -1086,235 +1086,239 @@ msgstr "Productieorder waar deze productie aan is toegewezen" #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 #: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 -#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:2323 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:751 #: templates/js/translated/purchase_order.js:1304 -#: templates/js/translated/purchase_order.js:1849 -#: templates/js/translated/purchase_order.js:2008 -#: templates/js/translated/return_order.js:539 -#: templates/js/translated/return_order.js:710 +#: templates/js/translated/purchase_order.js:1848 +#: templates/js/translated/purchase_order.js:2007 +#: templates/js/translated/return_order.js:538 +#: templates/js/translated/return_order.js:709 #: templates/js/translated/sales_order.js:300 -#: templates/js/translated/sales_order.js:1197 -#: templates/js/translated/sales_order.js:1598 -#: templates/js/translated/sales_order.js:1796 +#: templates/js/translated/sales_order.js:1233 +#: templates/js/translated/sales_order.js:1634 +#: templates/js/translated/sales_order.js:1832 #: templates/js/translated/stock.js:676 templates/js/translated/stock.js:842 -#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1999 -#: templates/js/translated/stock.js:2860 templates/js/translated/stock.js:3093 -#: templates/js/translated/stock.js:3239 +#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1997 +#: templates/js/translated/stock.js:2857 templates/js/translated/stock.js:3090 +#: templates/js/translated/stock.js:3236 msgid "Part" msgstr "Onderdeel" -#: build/models.py:219 +#: build/models.py:242 msgid "Select part to build" msgstr "Selecteer onderdeel om te produceren" -#: build/models.py:224 +#: build/models.py:247 msgid "Sales Order Reference" msgstr "Verkooporder Referentie" -#: build/models.py:228 +#: build/models.py:251 msgid "SalesOrder to which this build is allocated" msgstr "Verkooporder waar deze productie aan is toegewezen" -#: build/models.py:233 build/serializers.py:970 +#: build/models.py:256 build/serializers.py:969 #: templates/js/translated/build.js:1731 -#: templates/js/translated/sales_order.js:1185 +#: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "Bronlocatie" -#: build/models.py:237 +#: build/models.py:260 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Selecteer de locatie waar de voorraad van de productie vandaan moet komen (laat leeg om vanaf elke standaard locatie te nemen)" -#: build/models.py:242 +#: build/models.py:265 msgid "Destination Location" msgstr "Bestemmings Locatie" -#: build/models.py:246 +#: build/models.py:269 msgid "Select location where the completed items will be stored" msgstr "Selecteer locatie waar de voltooide items zullen worden opgeslagen" -#: build/models.py:250 +#: build/models.py:273 msgid "Build Quantity" msgstr "Productiehoeveelheid" -#: build/models.py:253 +#: build/models.py:276 msgid "Number of stock items to build" msgstr "Aantal voorraaditems om te produceren" -#: build/models.py:257 +#: build/models.py:280 msgid "Completed items" msgstr "Voltooide voorraadartikelen" -#: build/models.py:259 +#: build/models.py:282 msgid "Number of stock items which have been completed" msgstr "Aantal voorraadartikelen die zijn voltooid" -#: build/models.py:263 +#: build/models.py:286 msgid "Build Status" msgstr "Productiestatus" -#: build/models.py:267 +#: build/models.py:290 msgid "Build status code" msgstr "Productiestatuscode" -#: build/models.py:276 build/serializers.py:278 order/serializers.py:581 -#: stock/models.py:823 stock/serializers.py:1333 +#: build/models.py:299 build/serializers.py:277 order/serializers.py:581 +#: stock/models.py:844 stock/serializers.py:75 stock/serializers.py:1462 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Batchcode" -#: build/models.py:280 build/serializers.py:279 +#: build/models.py:303 build/serializers.py:278 msgid "Batch code for this build output" msgstr "Batchcode voor deze productieuitvoer" -#: build/models.py:283 order/models.py:304 order/serializers.py:120 -#: part/models.py:1079 part/templates/part/part_base.html:310 -#: templates/js/translated/return_order.js:339 -#: templates/js/translated/sales_order.js:827 +#: build/models.py:306 order/models.py:317 order/serializers.py:120 +#: part/models.py:1122 part/templates/part/part_base.html:310 +#: templates/js/translated/return_order.js:338 +#: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "Aanmaakdatum" -#: build/models.py:287 +#: build/models.py:310 msgid "Target completion date" msgstr "Verwachte opleveringsdatum" -#: build/models.py:288 +#: build/models.py:311 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:291 order/models.py:500 order/models.py:2043 +#: build/models.py:314 order/models.py:522 order/models.py:2092 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "Opleveringsdatum" -#: build/models.py:297 +#: build/models.py:320 msgid "completed by" msgstr "voltooid door" -#: build/models.py:305 templates/js/translated/build.js:2207 +#: build/models.py:328 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "Uitgegeven door" -#: build/models.py:306 +#: build/models.py:329 msgid "User who issued this build order" msgstr "Gebruiker die de productieorder heeft gegeven" -#: build/models.py:314 build/templates/build/build_base.html:204 +#: build/models.py:337 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:145 -#: order/models.py:322 order/templates/order/order_base.html:217 +#: order/models.py:335 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1096 +#: order/templates/order/sales_order_base.html:232 part/models.py:1139 #: part/templates/part/part_base.html:390 -#: report/templates/report/inventree_build_order_base.html:158 +#: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 #: templates/js/translated/build.js:2219 -#: templates/js/translated/purchase_order.js:1764 -#: templates/js/translated/return_order.js:359 +#: templates/js/translated/purchase_order.js:1763 +#: templates/js/translated/return_order.js:358 #: templates/js/translated/table_filters.js:531 msgid "Responsible" msgstr "Verantwoordelijke" -#: build/models.py:315 +#: build/models.py:338 msgid "User or group responsible for this build order" msgstr "Gebruiker of groep verantwoordelijk voor deze bouwopdracht" -#: build/models.py:320 build/templates/build/detail.html:108 +#: build/models.py:343 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 -#: order/templates/order/sales_order_base.html:180 -#: part/templates/part/part_base.html:383 stock/models.py:819 +#: order/templates/order/sales_order_base.html:184 +#: part/templates/part/part_base.html:383 stock/models.py:840 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "Externe Link" -#: build/models.py:325 +#: build/models.py:348 msgid "Build Priority" msgstr "Bouw prioriteit" -#: build/models.py:328 +#: build/models.py:351 msgid "Priority of this build order" msgstr "Prioriteit van deze bouwopdracht" -#: build/models.py:335 common/models.py:129 order/admin.py:18 -#: order/models.py:286 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:358 common/models.py:129 order/admin.py:18 +#: order/models.py:299 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 -#: templates/js/translated/purchase_order.js:1711 -#: templates/js/translated/return_order.js:318 -#: templates/js/translated/sales_order.js:806 +#: templates/js/translated/purchase_order.js:1710 +#: templates/js/translated/return_order.js:317 +#: templates/js/translated/sales_order.js:842 #: templates/js/translated/table_filters.js:48 #: templates/project_code_data.html:6 msgid "Project Code" msgstr "" -#: build/models.py:336 +#: build/models.py:359 msgid "Project code for this build order" msgstr "Project code voor deze build order" -#: build/models.py:566 build/models.py:631 +#: build/models.py:589 build/models.py:654 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:588 +#: build/models.py:611 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Productieorder {build} is voltooid" -#: build/models.py:594 +#: build/models.py:617 msgid "A build order has been completed" msgstr "Een productieorder is voltooid" -#: build/models.py:820 build/models.py:895 +#: build/models.py:843 build/models.py:918 msgid "No build output specified" msgstr "Geen productie uitvoer opgegeven" -#: build/models.py:823 +#: build/models.py:846 msgid "Build output is already completed" msgstr "Productie uitvoer is al voltooid" -#: build/models.py:826 +#: build/models.py:849 msgid "Build output does not match Build Order" msgstr "Productuitvoer komt niet overeen met de Productieorder" -#: build/models.py:899 build/serializers.py:221 build/serializers.py:260 -#: build/serializers.py:837 order/models.py:538 order/serializers.py:433 -#: order/serializers.py:576 part/serializers.py:1471 part/serializers.py:1871 -#: stock/models.py:662 stock/models.py:1482 stock/serializers.py:472 +#: build/models.py:922 build/serializers.py:220 build/serializers.py:259 +#: build/serializers.py:836 order/models.py:560 order/serializers.py:433 +#: order/serializers.py:576 part/serializers.py:1486 part/serializers.py:1886 +#: stock/models.py:683 stock/models.py:1503 stock/serializers.py:601 msgid "Quantity must be greater than zero" msgstr "Hoeveelheid moet groter zijn dan nul" -#: build/models.py:904 build/serializers.py:226 +#: build/models.py:927 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "Hoeveelheid kan niet groter zijn dan aantal" -#: build/models.py:961 build/serializers.py:539 +#: build/models.py:984 build/serializers.py:538 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1323 +#: build/models.py:1335 +msgid "Build Order Line Item" +msgstr "" + +#: build/models.py:1360 msgid "Build object" msgstr "Bouw object" -#: build/models.py:1337 build/models.py:1593 build/serializers.py:208 -#: build/serializers.py:245 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2524 -#: order/models.py:1259 order/models.py:1918 order/serializers.py:1339 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 -#: part/forms.py:48 part/models.py:3162 part/models.py:4035 +#: build/models.py:1374 build/models.py:1630 build/serializers.py:207 +#: build/serializers.py:244 build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2530 +#: order/models.py:1299 order/models.py:1958 order/serializers.py:1339 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 +#: part/forms.py:48 part/models.py:3205 part/models.py:4078 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 -#: report/templates/report/inventree_build_order_base.html:113 -#: report/templates/report/inventree_po_report_base.html:29 -#: report/templates/report/inventree_slr_report.html:104 -#: report/templates/report/inventree_so_report_base.html:29 -#: report/templates/report/inventree_test_report_base.html:90 -#: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:160 stock/serializers.py:463 +#: report/templates/report/inventree_build_order_report.html:113 +#: report/templates/report/inventree_purchase_order_report.html:29 +#: report/templates/report/inventree_sales_order_report.html:29 +#: report/templates/report/inventree_stock_location_report.html:104 +#: report/templates/report/inventree_test_report.html:90 +#: report/templates/report/inventree_test_report.html:170 stock/admin.py:160 +#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:592 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1324,380 +1328,381 @@ msgstr "Bouw object" #: templates/js/translated/build.js:737 templates/js/translated/build.js:1369 #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 -#: templates/js/translated/model_renderers.js:230 +#: templates/js/translated/model_renderers.js:236 #: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3341 +#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3340 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 #: templates/js/translated/purchase_order.js:754 -#: templates/js/translated/purchase_order.js:1853 -#: templates/js/translated/purchase_order.js:2072 +#: templates/js/translated/purchase_order.js:1852 +#: templates/js/translated/purchase_order.js:2071 #: templates/js/translated/sales_order.js:317 -#: templates/js/translated/sales_order.js:1199 -#: templates/js/translated/sales_order.js:1518 -#: templates/js/translated/sales_order.js:1608 -#: templates/js/translated/sales_order.js:1698 -#: templates/js/translated/sales_order.js:1824 +#: templates/js/translated/sales_order.js:1235 +#: templates/js/translated/sales_order.js:1554 +#: templates/js/translated/sales_order.js:1644 +#: templates/js/translated/sales_order.js:1734 +#: templates/js/translated/sales_order.js:1860 #: templates/js/translated/stock.js:564 templates/js/translated/stock.js:702 -#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:3024 -#: templates/js/translated/stock.js:3107 +#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:3021 +#: templates/js/translated/stock.js:3104 msgid "Quantity" msgstr "Hoeveelheid" -#: build/models.py:1338 +#: build/models.py:1375 msgid "Required quantity for build order" msgstr "Vereiste hoeveelheid voor bouwopdracht" -#: build/models.py:1418 +#: build/models.py:1455 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Productieartikel moet een productieuitvoer specificeren, omdat het hoofdonderdeel gemarkeerd is als traceerbaar" -#: build/models.py:1427 +#: build/models.py:1464 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Toegewezen hoeveelheid ({q}) mag de beschikbare voorraad ({a}) niet overschrijden" -#: build/models.py:1437 order/models.py:1869 +#: build/models.py:1474 order/models.py:1909 msgid "Stock item is over-allocated" msgstr "Voorraad item is te veel toegewezen" -#: build/models.py:1443 order/models.py:1872 +#: build/models.py:1480 order/models.py:1912 msgid "Allocation quantity must be greater than zero" msgstr "Toewijzing hoeveelheid moet groter zijn dan nul" -#: build/models.py:1449 +#: build/models.py:1486 msgid "Quantity must be 1 for serialized stock" msgstr "Hoeveelheid moet 1 zijn voor geserialiseerde voorraad" -#: build/models.py:1508 +#: build/models.py:1545 msgid "Selected stock item does not match BOM line" msgstr "Geselecteerde voorraadartikelen komen niet overeen met de BOM-regel" -#: build/models.py:1580 build/serializers.py:817 order/serializers.py:1183 -#: order/serializers.py:1204 stock/serializers.py:566 stock/serializers.py:1052 -#: stock/serializers.py:1164 stock/templates/stock/item_base.html:10 +#: build/models.py:1617 build/serializers.py:816 order/serializers.py:1183 +#: order/serializers.py:1204 stock/models.py:364 stock/serializers.py:92 +#: stock/serializers.py:695 stock/serializers.py:1181 stock/serializers.py:1293 +#: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 #: templates/js/translated/build.js:1745 #: templates/js/translated/sales_order.js:301 -#: templates/js/translated/sales_order.js:1198 -#: templates/js/translated/sales_order.js:1499 -#: templates/js/translated/sales_order.js:1504 -#: templates/js/translated/sales_order.js:1605 -#: templates/js/translated/sales_order.js:1692 +#: templates/js/translated/sales_order.js:1234 +#: templates/js/translated/sales_order.js:1535 +#: templates/js/translated/sales_order.js:1540 +#: templates/js/translated/sales_order.js:1641 +#: templates/js/translated/sales_order.js:1728 #: templates/js/translated/stock.js:677 templates/js/translated/stock.js:843 -#: templates/js/translated/stock.js:2980 +#: templates/js/translated/stock.js:2977 msgid "Stock Item" msgstr "Voorraadartikel" -#: build/models.py:1581 +#: build/models.py:1618 msgid "Source stock item" msgstr "Bron voorraadartikel" -#: build/models.py:1594 +#: build/models.py:1631 msgid "Stock quantity to allocate to build" msgstr "Voorraad hoeveelheid toe te wijzen aan productie" -#: build/models.py:1602 +#: build/models.py:1639 msgid "Install into" msgstr "Installeren in" -#: build/models.py:1603 +#: build/models.py:1640 msgid "Destination stock item" msgstr "Bestemming voorraadartikel" -#: build/serializers.py:158 build/serializers.py:846 +#: build/serializers.py:157 build/serializers.py:845 #: templates/js/translated/build.js:1322 msgid "Build Output" msgstr "Productieuitvoer" -#: build/serializers.py:170 +#: build/serializers.py:169 msgid "Build output does not match the parent build" msgstr "Productieuitvoer komt niet overeen met de bovenliggende productie" -#: build/serializers.py:174 +#: build/serializers.py:173 msgid "Output part does not match BuildOrder part" msgstr "Uitvoeronderdeel komt niet overeen met productieorderonderdeel" -#: build/serializers.py:178 +#: build/serializers.py:177 msgid "This build output has already been completed" msgstr "Deze productieuitvoer is al voltooid" -#: build/serializers.py:189 +#: build/serializers.py:188 msgid "This build output is not fully allocated" msgstr "Deze productieuitvoer is niet volledig toegewezen" -#: build/serializers.py:209 build/serializers.py:246 +#: build/serializers.py:208 build/serializers.py:245 msgid "Enter quantity for build output" msgstr "Voer hoeveelheid in voor productie uitvoer" -#: build/serializers.py:267 +#: build/serializers.py:266 msgid "Integer quantity required for trackable parts" msgstr "Hoeveelheid als geheel getal vereist voor traceerbare onderdelen" -#: build/serializers.py:270 +#: build/serializers.py:269 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:285 order/serializers.py:589 order/serializers.py:1343 -#: stock/serializers.py:483 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:284 order/serializers.py:589 order/serializers.py:1343 +#: stock/serializers.py:612 templates/js/translated/purchase_order.js:1153 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "Serienummers" -#: build/serializers.py:286 +#: build/serializers.py:285 msgid "Enter serial numbers for build outputs" msgstr "Voer serienummers in voor productieuitvoeren" -#: build/serializers.py:291 build/serializers.py:432 build/serializers.py:504 +#: build/serializers.py:290 build/serializers.py:431 build/serializers.py:503 #: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1679 -#: part/serializers.py:1127 stock/serializers.py:494 stock/serializers.py:654 -#: stock/serializers.py:750 stock/serializers.py:1196 stock/serializers.py:1452 -#: stock/templates/stock/item_base.html:394 +#: part/serializers.py:1142 stock/serializers.py:101 stock/serializers.py:623 +#: stock/serializers.py:783 stock/serializers.py:879 stock/serializers.py:1325 +#: stock/serializers.py:1581 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 #: templates/js/translated/purchase_order.js:1178 #: templates/js/translated/purchase_order.js:1268 -#: templates/js/translated/sales_order.js:1511 -#: templates/js/translated/sales_order.js:1619 -#: templates/js/translated/sales_order.js:1627 -#: templates/js/translated/sales_order.js:1706 +#: templates/js/translated/sales_order.js:1547 +#: templates/js/translated/sales_order.js:1655 +#: templates/js/translated/sales_order.js:1663 +#: templates/js/translated/sales_order.js:1742 #: templates/js/translated/stock.js:678 templates/js/translated/stock.js:844 -#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2203 -#: templates/js/translated/stock.js:2874 +#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2201 +#: templates/js/translated/stock.js:2871 msgid "Location" msgstr "Locatie" -#: build/serializers.py:292 +#: build/serializers.py:291 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:306 +#: build/serializers.py:305 msgid "Auto Allocate Serial Numbers" msgstr "Serienummers automatisch toewijzen" -#: build/serializers.py:307 +#: build/serializers.py:306 msgid "Automatically allocate required items with matching serial numbers" msgstr "Vereiste artikelen automatisch toewijzen met overeenkomende serienummers" -#: build/serializers.py:322 +#: build/serializers.py:321 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:347 stock/api.py:995 +#: build/serializers.py:346 stock/api.py:1029 msgid "The following serial numbers already exist or are invalid" msgstr "De volgende serienummers bestaan al of zijn ongeldig" -#: build/serializers.py:394 build/serializers.py:456 build/serializers.py:545 +#: build/serializers.py:393 build/serializers.py:455 build/serializers.py:544 msgid "A list of build outputs must be provided" msgstr "Een lijst van productieuitvoeren moet worden verstrekt" -#: build/serializers.py:433 +#: build/serializers.py:432 msgid "Stock location for scrapped outputs" msgstr "Voorraadlocatie voor geannuleerde outputs" -#: build/serializers.py:439 +#: build/serializers.py:438 msgid "Discard Allocations" msgstr "Toewijzingen weggooien" -#: build/serializers.py:440 +#: build/serializers.py:439 msgid "Discard any stock allocations for scrapped outputs" msgstr "Verwijder alle voorraadtoewijzingen voor geannuleerde outputs" -#: build/serializers.py:445 +#: build/serializers.py:444 msgid "Reason for scrapping build output(s)" msgstr "Reden voor annulering van bouworder(s)" -#: build/serializers.py:505 +#: build/serializers.py:504 msgid "Location for completed build outputs" msgstr "Locatie van voltooide productieuitvoeren" -#: build/serializers.py:511 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:922 -#: order/models.py:2022 order/serializers.py:597 stock/admin.py:165 -#: stock/serializers.py:801 stock/serializers.py:1340 +#: build/serializers.py:510 build/templates/build/build_base.html:151 +#: build/templates/build/detail.html:62 order/models.py:953 +#: order/models.py:2071 order/serializers.py:597 stock/admin.py:165 +#: stock/serializers.py:930 stock/serializers.py:1469 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 -#: templates/js/translated/purchase_order.js:1723 -#: templates/js/translated/return_order.js:331 -#: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2178 templates/js/translated/stock.js:2998 -#: templates/js/translated/stock.js:3123 +#: templates/js/translated/purchase_order.js:1722 +#: templates/js/translated/return_order.js:330 +#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/stock.js:2176 templates/js/translated/stock.js:2995 +#: templates/js/translated/stock.js:3120 msgid "Status" msgstr "" -#: build/serializers.py:517 +#: build/serializers.py:516 msgid "Accept Incomplete Allocation" msgstr "Incomplete Toewijzing Accepteren" -#: build/serializers.py:518 +#: build/serializers.py:517 msgid "Complete outputs if stock has not been fully allocated" msgstr "Voltooi de uitvoer als de voorraad niet volledig is toegewezen" -#: build/serializers.py:598 +#: build/serializers.py:597 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:599 +#: build/serializers.py:598 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:605 +#: build/serializers.py:604 msgid "Remove Incomplete Outputs" msgstr "Verwijder Incomplete Uitvoeren" -#: build/serializers.py:606 +#: build/serializers.py:605 msgid "Delete any build outputs which have not been completed" msgstr "Verwijder alle productieuitvoeren die niet zijn voltooid" -#: build/serializers.py:633 +#: build/serializers.py:632 msgid "Not permitted" msgstr "Niet toegestaan" -#: build/serializers.py:634 +#: build/serializers.py:633 msgid "Accept as consumed by this build order" msgstr "Accepteer zoals geconsumeerd onder deze bouwopdracht" -#: build/serializers.py:635 +#: build/serializers.py:634 msgid "Deallocate before completing this build order" msgstr "De-alloceren voordat deze bouwopdracht voltooid wordt" -#: build/serializers.py:657 +#: build/serializers.py:656 msgid "Overallocated Stock" msgstr "Overgealloceerde voorraad" -#: build/serializers.py:659 +#: build/serializers.py:658 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "Hoe wilt u omgaan met extra voorraaditems toegewezen aan de bouworder" -#: build/serializers.py:669 +#: build/serializers.py:668 msgid "Some stock items have been overallocated" msgstr "Sommige voorraadartikelen zijn overalloceerd" -#: build/serializers.py:674 +#: build/serializers.py:673 msgid "Accept Unallocated" msgstr "Accepteer Niet-toegewezen" -#: build/serializers.py:675 +#: build/serializers.py:674 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Accepteer dat voorraadartikelen niet volledig zijn toegewezen aan deze productieorder" -#: build/serializers.py:685 templates/js/translated/build.js:315 +#: build/serializers.py:684 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" msgstr "Vereiste voorraad is niet volledig toegewezen" -#: build/serializers.py:690 order/serializers.py:301 order/serializers.py:1246 +#: build/serializers.py:689 order/serializers.py:301 order/serializers.py:1246 msgid "Accept Incomplete" msgstr "Accepteer Onvolledig" -#: build/serializers.py:691 +#: build/serializers.py:690 msgid "Accept that the required number of build outputs have not been completed" msgstr "Accepteer dat het vereist aantal productieuitvoeren niet is voltooid" -#: build/serializers.py:701 templates/js/translated/build.js:319 +#: build/serializers.py:700 templates/js/translated/build.js:319 msgid "Required build quantity has not been completed" msgstr "Vereiste productiehoeveelheid is voltooid" -#: build/serializers.py:710 templates/js/translated/build.js:303 +#: build/serializers.py:709 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" msgstr "Productieorder heeft onvolledige uitvoeren" -#: build/serializers.py:740 +#: build/serializers.py:739 msgid "Build Line" msgstr "Productielijn" -#: build/serializers.py:750 +#: build/serializers.py:749 msgid "Build output" msgstr "Productieuitvoer" -#: build/serializers.py:758 +#: build/serializers.py:757 msgid "Build output must point to the same build" msgstr "Productieuitvoer moet naar dezelfde productie wijzen" -#: build/serializers.py:794 +#: build/serializers.py:793 msgid "Build Line Item" msgstr "Bouw lijn-item" -#: build/serializers.py:808 +#: build/serializers.py:807 msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part moet naar hetzelfde onderdeel wijzen als de productieorder" -#: build/serializers.py:823 stock/serializers.py:1065 +#: build/serializers.py:822 stock/serializers.py:1194 msgid "Item must be in stock" msgstr "Artikel moet op voorraad zijn" -#: build/serializers.py:871 order/serializers.py:1237 +#: build/serializers.py:870 order/serializers.py:1237 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Beschikbare hoeveelheid ({q}) overschreden" -#: build/serializers.py:877 +#: build/serializers.py:876 msgid "Build output must be specified for allocation of tracked parts" msgstr "Productieuitvoer moet worden opgegeven voor de toewijzing van gevolgde onderdelen" -#: build/serializers.py:884 +#: build/serializers.py:883 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "Productieuitvoer kan niet worden gespecificeerd voor de toewijzing van niet gevolgde onderdelen" -#: build/serializers.py:908 order/serializers.py:1489 +#: build/serializers.py:907 order/serializers.py:1489 msgid "Allocation items must be provided" msgstr "Allocaties voor artikelen moeten worden opgegeven" -#: build/serializers.py:971 +#: build/serializers.py:970 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "Voorraadlocatie waar onderdelen afkomstig zijn (laat leeg om van elke locatie te nemen)" -#: build/serializers.py:979 +#: build/serializers.py:978 msgid "Exclude Location" msgstr "Locatie uitsluiten" -#: build/serializers.py:980 +#: build/serializers.py:979 msgid "Exclude stock items from this selected location" msgstr "Voorraadartikelen van deze geselecteerde locatie uitsluiten" -#: build/serializers.py:985 +#: build/serializers.py:984 msgid "Interchangeable Stock" msgstr "Uitwisselbare voorraad" -#: build/serializers.py:986 +#: build/serializers.py:985 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Voorraadartikelen op meerdere locaties kunnen uitwisselbaar worden gebruikt" -#: build/serializers.py:991 +#: build/serializers.py:990 msgid "Substitute Stock" msgstr "Vervangende Voorraad" -#: build/serializers.py:992 +#: build/serializers.py:991 msgid "Allow allocation of substitute parts" msgstr "Toewijzing van vervangende onderdelen toestaan" -#: build/serializers.py:997 +#: build/serializers.py:996 msgid "Optional Items" msgstr "Optionele Items" -#: build/serializers.py:998 +#: build/serializers.py:997 msgid "Allocate optional BOM items to build order" msgstr "Alloceer optionele BOM items om bestelling te bouwen" -#: build/serializers.py:1020 +#: build/serializers.py:1019 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1110 part/models.py:3930 part/models.py:4366 -#: stock/api.py:758 +#: build/serializers.py:1109 part/models.py:3973 part/models.py:4409 +#: stock/api.py:792 msgid "BOM Item" msgstr "Stuklijstartikel" -#: build/serializers.py:1119 templates/js/translated/index.js:130 +#: build/serializers.py:1118 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1124 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:817 part/serializers.py:1489 +#: build/serializers.py:1123 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:832 part/serializers.py:1504 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 @@ -1705,15 +1710,15 @@ msgstr "" msgid "On Order" msgstr "In bestelling" -#: build/serializers.py:1129 part/serializers.py:1491 +#: build/serializers.py:1128 part/serializers.py:1506 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1134 part/bom.py:172 part/serializers.py:1514 +#: build/serializers.py:1133 part/bom.py:172 part/serializers.py:1529 #: part/templates/part/part_base.html:192 -#: templates/js/translated/sales_order.js:1893 +#: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "Beschikbare Voorraad" @@ -1842,18 +1847,18 @@ msgid "Stock has not been fully allocated to this Build Order" 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:297 -#: order/models.py:1294 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:310 +#: order/models.py:1334 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 -#: order/templates/order/sales_order_base.html:192 -#: report/templates/report/inventree_build_order_base.html:125 +#: order/templates/order/sales_order_base.html:196 +#: report/templates/report/inventree_build_order_report.html:125 #: templates/js/translated/build.js:2239 templates/js/translated/part.js:1830 -#: templates/js/translated/purchase_order.js:1740 -#: templates/js/translated/purchase_order.js:2148 -#: templates/js/translated/return_order.js:347 -#: templates/js/translated/return_order.js:751 -#: templates/js/translated/sales_order.js:835 -#: templates/js/translated/sales_order.js:1867 +#: templates/js/translated/purchase_order.js:1739 +#: templates/js/translated/purchase_order.js:2147 +#: templates/js/translated/return_order.js:346 +#: templates/js/translated/return_order.js:750 +#: templates/js/translated/sales_order.js:871 +#: templates/js/translated/sales_order.js:1903 msgid "Target Date" msgstr "Streefdatum" @@ -1866,7 +1871,7 @@ msgstr "Deze productie was verwacht op %(target)s" #: build/templates/build/build_base.html:222 #: order/templates/order/order_base.html:122 #: order/templates/order/return_order_base.html:117 -#: order/templates/order/sales_order_base.html:122 +#: order/templates/order/sales_order_base.html:126 #: templates/js/translated/table_filters.js:98 #: templates/js/translated/table_filters.js:524 #: templates/js/translated/table_filters.js:626 @@ -1880,24 +1885,24 @@ msgid "Completed Outputs" msgstr "Voltooide Uitvoeren" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:1538 -#: order/models.py:1652 order/models.py:1806 +#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:848 +#: order/models.py:1578 order/models.py:1692 order/models.py:1846 #: 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 +#: report/templates/report/inventree_build_order_report.html:135 +#: report/templates/report/inventree_sales_order_report.html:14 #: stock/templates/stock/item_base.html:369 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:929 -#: templates/js/translated/sales_order.js:769 -#: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2927 +#: templates/js/translated/sales_order.js:805 +#: templates/js/translated/sales_order.js:1028 +#: templates/js/translated/stock.js:2924 msgid "Sales Order" msgstr "Verkooporder" #: build/templates/build/build_base.html:197 #: build/templates/build/detail.html:115 -#: report/templates/report/inventree_build_order_base.html:152 +#: report/templates/report/inventree_build_order_report.html:152 #: templates/js/translated/table_filters.js:24 msgid "Issued By" msgstr "Uitgegeven door" @@ -1907,15 +1912,15 @@ msgstr "Uitgegeven door" msgid "Priority" msgstr "Prioriteit" -#: build/templates/build/build_base.html:273 +#: build/templates/build/build_base.html:269 msgid "Delete Build Order" msgstr "" -#: build/templates/build/build_base.html:283 +#: build/templates/build/build_base.html:279 msgid "Build Order QR Code" msgstr "" -#: build/templates/build/build_base.html:295 +#: build/templates/build/build_base.html:291 msgid "Link Barcode to Build Order" msgstr "" @@ -1931,8 +1936,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:1430 -#: templates/js/translated/purchase_order.js:2190 +#: build/templates/build/detail.html:49 order/models.py:1470 +#: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "Bestemming" @@ -1947,10 +1952,10 @@ msgstr "Toegewezen Onderdelen" #: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 #: templates/js/translated/build.js:1380 -#: templates/js/translated/model_renderers.js:235 +#: templates/js/translated/model_renderers.js:241 #: templates/js/translated/purchase_order.js:1274 -#: templates/js/translated/stock.js:1133 templates/js/translated/stock.js:2192 -#: templates/js/translated/stock.js:3130 +#: templates/js/translated/stock.js:1133 templates/js/translated/stock.js:2190 +#: templates/js/translated/stock.js:3127 #: templates/js/translated/table_filters.js:313 #: templates/js/translated/table_filters.js:404 msgid "Batch" @@ -1959,7 +1964,7 @@ msgstr "" #: build/templates/build/detail.html:133 #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:151 -#: order/templates/order/sales_order_base.html:186 +#: order/templates/order/sales_order_base.html:190 #: templates/js/translated/build.js:2199 msgid "Created" msgstr "Gecreëerd" @@ -1969,7 +1974,7 @@ msgid "No target date set" msgstr "Geen doeldatum ingesteld" #: build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:202 +#: order/templates/order/sales_order_base.html:206 #: templates/js/translated/table_filters.js:689 msgid "Completed" msgstr "Voltooid" @@ -2260,8 +2265,8 @@ msgstr "" #: common/models.py:1316 common/models.py:1372 common/models.py:1385 #: common/models.py:1393 common/models.py:1402 common/models.py:1411 -#: common/models.py:1613 common/models.py:1635 common/models.py:1750 -#: common/models.py:2061 +#: common/models.py:1619 common/models.py:1641 common/models.py:1756 +#: common/models.py:2067 msgid "days" msgstr "dagen" @@ -2402,1209 +2407,1218 @@ msgid "Enable revision field for Part" msgstr "Revisieveld voor onderdeel inschakelen" #: common/models.py:1440 -msgid "IPN Regex" +msgid "Allow Deletion from Assembly" msgstr "" #: common/models.py:1441 +msgid "Allow deletion of parts which are used in an assembly" +msgstr "" + +#: common/models.py:1446 +msgid "IPN Regex" +msgstr "" + +#: common/models.py:1447 msgid "Regular expression pattern for matching Part IPN" msgstr "Regulier expressiepatroon voor het overeenkomende Onderdeel IPN" -#: common/models.py:1444 +#: common/models.py:1450 msgid "Allow Duplicate IPN" msgstr "Duplicaat IPN toestaan" -#: common/models.py:1445 +#: common/models.py:1451 msgid "Allow multiple parts to share the same IPN" msgstr "Toestaan dat meerdere onderdelen dezelfde IPN gebruiken" -#: common/models.py:1450 +#: common/models.py:1456 msgid "Allow Editing IPN" msgstr "Bewerken IPN toestaan" -#: common/models.py:1451 +#: common/models.py:1457 msgid "Allow changing the IPN value while editing a part" msgstr "Sta het wijzigen van de IPN toe tijdens het bewerken van een onderdeel" -#: common/models.py:1456 +#: common/models.py:1462 msgid "Copy Part BOM Data" msgstr "Kopieer Onderdeel Stuklijstgegevens" -#: common/models.py:1457 +#: common/models.py:1463 msgid "Copy BOM data by default when duplicating a part" msgstr "Kopieer standaard stuklijstgegevens bij het dupliceren van een onderdeel" -#: common/models.py:1462 +#: common/models.py:1468 msgid "Copy Part Parameter Data" msgstr "Kopieer Onderdeel Parametergegevens" -#: common/models.py:1463 +#: common/models.py:1469 msgid "Copy parameter data by default when duplicating a part" msgstr "Parametergegevens standaard kopiëren bij het dupliceren van een onderdeel" -#: common/models.py:1468 +#: common/models.py:1474 msgid "Copy Part Test Data" msgstr "Kopieer Onderdeel Testdata" -#: common/models.py:1469 +#: common/models.py:1475 msgid "Copy test data by default when duplicating a part" msgstr "Testdata standaard kopiëren bij het dupliceren van een onderdeel" -#: common/models.py:1474 +#: common/models.py:1480 msgid "Copy Category Parameter Templates" msgstr "Kopiëer Categorieparameter Sjablonen" -#: common/models.py:1475 +#: common/models.py:1481 msgid "Copy category parameter templates when creating a part" msgstr "Kopieer categorieparameter sjablonen bij het aanmaken van een onderdeel" -#: common/models.py:1480 part/admin.py:108 part/models.py:3772 -#: report/models.py:182 stock/serializers.py:99 +#: common/models.py:1486 part/admin.py:108 part/models.py:3815 +#: report/models.py:294 report/models.py:361 report/serializers.py:90 +#: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:767 msgid "Template" msgstr "Sjabloon" -#: common/models.py:1481 +#: common/models.py:1487 msgid "Parts are templates by default" msgstr "Onderdelen zijn standaard sjablonen" -#: common/models.py:1486 part/admin.py:91 part/admin.py:431 part/models.py:1016 +#: common/models.py:1492 part/admin.py:91 part/admin.py:433 part/models.py:1059 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "Samenstelling" -#: common/models.py:1487 +#: common/models.py:1493 msgid "Parts can be assembled from other components by default" msgstr "Onderdelen kunnen standaard vanuit andere componenten worden samengesteld" -#: common/models.py:1492 part/admin.py:95 part/models.py:1022 +#: common/models.py:1498 part/admin.py:95 part/models.py:1065 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "" -#: common/models.py:1493 +#: common/models.py:1499 msgid "Parts can be used as sub-components by default" msgstr "Onderdelen kunnen standaard worden gebruikt als subcomponenten" -#: common/models.py:1498 part/admin.py:100 part/models.py:1034 +#: common/models.py:1504 part/admin.py:100 part/models.py:1077 msgid "Purchaseable" msgstr "Koopbaar" -#: common/models.py:1499 +#: common/models.py:1505 msgid "Parts are purchaseable by default" msgstr "Onderdelen kunnen standaard gekocht worden" -#: common/models.py:1504 part/admin.py:104 part/models.py:1040 +#: common/models.py:1510 part/admin.py:104 part/models.py:1083 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "Verkoopbaar" -#: common/models.py:1505 +#: common/models.py:1511 msgid "Parts are salable by default" msgstr "Onderdelen kunnen standaard verkocht worden" -#: common/models.py:1510 part/admin.py:113 part/models.py:1028 +#: common/models.py:1516 part/admin.py:113 part/models.py:1071 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "Volgbaar" -#: common/models.py:1511 +#: common/models.py:1517 msgid "Parts are trackable by default" msgstr "Onderdelen kunnen standaard gevolgd worden" -#: common/models.py:1516 part/admin.py:117 part/models.py:1050 +#: common/models.py:1522 part/admin.py:117 part/models.py:1093 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "Virtueel" -#: common/models.py:1517 +#: common/models.py:1523 msgid "Parts are virtual by default" msgstr "Onderdelen zijn standaard virtueel" -#: common/models.py:1522 +#: common/models.py:1528 msgid "Show Import in Views" msgstr "Toon Import in Weergaven" -#: common/models.py:1523 +#: common/models.py:1529 msgid "Display the import wizard in some part views" msgstr "Toon de importwizard in sommige onderdelenweergaven" -#: common/models.py:1528 +#: common/models.py:1534 msgid "Show related parts" msgstr "Verwante onderdelen tonen" -#: common/models.py:1529 +#: common/models.py:1535 msgid "Display related parts for a part" msgstr "Verwante onderdelen voor een onderdeel tonen" -#: common/models.py:1534 +#: common/models.py:1540 msgid "Initial Stock Data" msgstr "Initiële voorraadgegevens" -#: common/models.py:1535 +#: common/models.py:1541 msgid "Allow creation of initial stock when adding a new part" msgstr "Aanmaken van eerste voorraad toestaan bij het toevoegen van een nieuw onderdeel" -#: common/models.py:1540 templates/js/translated/part.js:107 +#: common/models.py:1546 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "Initiële leveranciergegevens" -#: common/models.py:1542 +#: common/models.py:1548 msgid "Allow creation of initial supplier data when adding a new part" msgstr "Aanmaken van eerste leveranciersgegevens toestaan bij het toevoegen van een nieuw onderdeel" -#: common/models.py:1548 +#: common/models.py:1554 msgid "Part Name Display Format" msgstr "Onderdelennaam Weergaveopmaak" -#: common/models.py:1549 +#: common/models.py:1555 msgid "Format to display the part name" msgstr "Opmaak om de onderdeelnaam weer te geven" -#: common/models.py:1555 +#: common/models.py:1561 msgid "Part Category Default Icon" msgstr "Standaardicoon voor onderdeel catagorie" -#: common/models.py:1556 +#: common/models.py:1562 msgid "Part category default icon (empty means no icon)" msgstr "Standaardicoon voor onderdeel catagorie (leeg betekent geen pictogram)" -#: common/models.py:1560 +#: common/models.py:1566 msgid "Enforce Parameter Units" msgstr "Forceer Parameter Eenheden" -#: common/models.py:1562 +#: common/models.py:1568 msgid "If units are provided, parameter values must match the specified units" msgstr "Als er eenheden worden opgegeven, moeten parameterwaarden overeenkomen met de opgegeven eenheden" -#: common/models.py:1568 +#: common/models.py:1574 msgid "Minimum Pricing Decimal Places" msgstr "Minimaal aantal prijs decimalen" -#: common/models.py:1570 +#: common/models.py:1576 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "Minimaal aantal decimalen om weer te geven bij het weergeven van prijsgegevens" -#: common/models.py:1576 +#: common/models.py:1582 msgid "Maximum Pricing Decimal Places" msgstr "Maximum prijs decimalen" -#: common/models.py:1578 +#: common/models.py:1584 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "Maximum aantal decimalen om weer te geven bij het weergeven van prijsgegevens" -#: common/models.py:1584 +#: common/models.py:1590 msgid "Use Supplier Pricing" msgstr "Gebruik leveranciersprijzen" -#: common/models.py:1586 +#: common/models.py:1592 msgid "Include supplier price breaks in overall pricing calculations" msgstr "Prijsvoordelen leveranciers opnemen in de totale prijsberekening" -#: common/models.py:1592 +#: common/models.py:1598 msgid "Purchase History Override" msgstr "Aankoopgeschiedenis overschrijven" -#: common/models.py:1594 +#: common/models.py:1600 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "Historische order prijzen overschrijven de prijzen van de leverancier" -#: common/models.py:1600 +#: common/models.py:1606 msgid "Use Stock Item Pricing" msgstr "Gebruik voorraaditem prijzen" -#: common/models.py:1602 +#: common/models.py:1608 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "Gebruik prijzen van handmatig ingevoerde voorraadgegevens voor prijsberekeningen" -#: common/models.py:1608 +#: common/models.py:1614 msgid "Stock Item Pricing Age" msgstr "Voorraad artikelprijs leeftijd" -#: common/models.py:1610 +#: common/models.py:1616 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "Voorraaditems ouder dan dit aantal dagen uitsluiten van prijsberekeningen" -#: common/models.py:1617 +#: common/models.py:1623 msgid "Use Variant Pricing" msgstr "Gebruik variantprijzen" -#: common/models.py:1618 +#: common/models.py:1624 msgid "Include variant pricing in overall pricing calculations" msgstr "Variantenprijzen opnemen in de totale prijsberekening" -#: common/models.py:1623 +#: common/models.py:1629 msgid "Active Variants Only" msgstr "Alleen actieve varianten" -#: common/models.py:1625 +#: common/models.py:1631 msgid "Only use active variant parts for calculating variant pricing" msgstr "Gebruik alleen actieve variantonderdelen voor het berekenen van variantprijzen" -#: common/models.py:1631 +#: common/models.py:1637 msgid "Pricing Rebuild Interval" msgstr "Prijzen Herbouw interval" -#: common/models.py:1633 +#: common/models.py:1639 msgid "Number of days before part pricing is automatically updated" msgstr "Aantal dagen voordat de prijzen voor onderdelen automatisch worden bijgewerkt" -#: common/models.py:1640 +#: common/models.py:1646 msgid "Internal Prices" msgstr "Interne Prijzen" -#: common/models.py:1641 +#: common/models.py:1647 msgid "Enable internal prices for parts" msgstr "Inschakelen van interne prijzen voor onderdelen" -#: common/models.py:1646 +#: common/models.py:1652 msgid "Internal Price Override" msgstr "Interne prijs overschrijven" -#: common/models.py:1648 +#: common/models.py:1654 msgid "If available, internal prices override price range calculations" msgstr "Indien beschikbaar, interne prijzen overschrijven berekeningen van prijsbereik" -#: common/models.py:1654 +#: common/models.py:1660 msgid "Enable label printing" msgstr "Printen van labels Inschakelen" -#: common/models.py:1655 +#: common/models.py:1661 msgid "Enable label printing from the web interface" msgstr "Printen van labels via de webinterface inschakelen" -#: common/models.py:1660 +#: common/models.py:1666 msgid "Label Image DPI" msgstr "Label Afbeelding DPI" -#: common/models.py:1662 +#: common/models.py:1668 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "DPI resolutie bij het genereren van afbeelginsbestanden voor label printer plugins" -#: common/models.py:1668 +#: common/models.py:1674 msgid "Enable Reports" msgstr "Activeer Rapportages" -#: common/models.py:1669 +#: common/models.py:1675 msgid "Enable generation of reports" msgstr "Activeer het genereren van rapporten" -#: common/models.py:1674 templates/stats.html:25 +#: common/models.py:1680 templates/stats.html:25 msgid "Debug Mode" msgstr "Foutopsporingsmodus" -#: common/models.py:1675 +#: common/models.py:1681 msgid "Generate reports in debug mode (HTML output)" msgstr "Rapporten genereren in debug modus (HTML uitvoer)" -#: common/models.py:1680 +#: common/models.py:1686 msgid "Log Report Errors" msgstr "" -#: common/models.py:1681 +#: common/models.py:1687 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1686 plugin/builtin/labels/label_sheet.py:28 -#: report/models.py:203 +#: common/models.py:1692 plugin/builtin/labels/label_sheet.py:28 +#: report/models.py:302 msgid "Page Size" msgstr "Paginagrootte" -#: common/models.py:1687 +#: common/models.py:1693 msgid "Default page size for PDF reports" msgstr "Standaard paginagrootte voor PDF rapporten" -#: common/models.py:1692 +#: common/models.py:1698 msgid "Enable Test Reports" msgstr "Activeer Testrapporten" -#: common/models.py:1693 +#: common/models.py:1699 msgid "Enable generation of test reports" msgstr "Activeer het genereren van testrapporten" -#: common/models.py:1698 +#: common/models.py:1704 msgid "Attach Test Reports" msgstr "Testrapporten Toevoegen" -#: common/models.py:1700 +#: common/models.py:1706 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "Bij het afdrukken van een Testrapport, voeg een kopie van het Testrapport toe aan het bijbehorende Voorraadartikel" -#: common/models.py:1706 +#: common/models.py:1712 msgid "Globally Unique Serials" msgstr "Globaal unieke serienummers" -#: common/models.py:1707 +#: common/models.py:1713 msgid "Serial numbers for stock items must be globally unique" msgstr "Serienummers voor voorraaditems moeten globaal uniek zijn" -#: common/models.py:1712 +#: common/models.py:1718 msgid "Autofill Serial Numbers" msgstr "Serienummers automatisch invullen" -#: common/models.py:1713 +#: common/models.py:1719 msgid "Autofill serial numbers in forms" msgstr "Automatisch invullen van serienummer in formulieren" -#: common/models.py:1718 +#: common/models.py:1724 msgid "Delete Depleted Stock" msgstr "Verwijder uitgeputte voorraad" -#: common/models.py:1720 +#: common/models.py:1726 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1726 +#: common/models.py:1732 msgid "Batch Code Template" msgstr "Batchcode Sjabloon" -#: common/models.py:1728 +#: common/models.py:1734 msgid "Template for generating default batch codes for stock items" msgstr "Sjabloon voor het genereren van standaard batchcodes voor voorraadartikelen" -#: common/models.py:1733 +#: common/models.py:1739 msgid "Stock Expiry" msgstr "Verlopen Voorraad" -#: common/models.py:1734 +#: common/models.py:1740 msgid "Enable stock expiry functionality" msgstr "Verlopen voorraad functionaliteit inschakelen" -#: common/models.py:1739 +#: common/models.py:1745 msgid "Sell Expired Stock" msgstr "Verkoop Verlopen Voorraad" -#: common/models.py:1740 +#: common/models.py:1746 msgid "Allow sale of expired stock" msgstr "Verkoop verlopen voorraad toestaan" -#: common/models.py:1745 +#: common/models.py:1751 msgid "Stock Stale Time" msgstr "Voorraad Vervaltijd" -#: common/models.py:1747 +#: common/models.py:1753 msgid "Number of days stock items are considered stale before expiring" msgstr "Aantal dagen voordat voorraadartikelen als verouderd worden beschouwd voor ze verlopen" -#: common/models.py:1754 +#: common/models.py:1760 msgid "Build Expired Stock" msgstr "Produceer Verlopen Voorraad" -#: common/models.py:1755 +#: common/models.py:1761 msgid "Allow building with expired stock" msgstr "Sta productie met verlopen voorraad toe" -#: common/models.py:1760 +#: common/models.py:1766 msgid "Stock Ownership Control" msgstr "Voorraad Eigenaar Toezicht" -#: common/models.py:1761 +#: common/models.py:1767 msgid "Enable ownership control over stock locations and items" msgstr "Eigenaarstoezicht over voorraadlocaties en items inschakelen" -#: common/models.py:1766 +#: common/models.py:1772 msgid "Stock Location Default Icon" msgstr "Voorraadlocatie standaard icoon" -#: common/models.py:1767 +#: common/models.py:1773 msgid "Stock location default icon (empty means no icon)" msgstr "Standaard locatie pictogram (leeg betekent geen icoon)" -#: common/models.py:1771 +#: common/models.py:1777 msgid "Show Installed Stock Items" msgstr "Geïnstalleerde voorraad items weergeven" -#: common/models.py:1772 +#: common/models.py:1778 msgid "Display installed stock items in stock tables" msgstr "Geïnstalleerde voorraadartikelen in voorraadtabellen tonen" -#: common/models.py:1777 +#: common/models.py:1783 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1779 +#: common/models.py:1785 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1785 +#: common/models.py:1791 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1787 +#: common/models.py:1793 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1793 +#: common/models.py:1799 msgid "Build Order Reference Pattern" msgstr "Productieorderreferentiepatroon" -#: common/models.py:1795 +#: common/models.py:1801 msgid "Required pattern for generating Build Order reference field" msgstr "Vereist patroon voor het genereren van het Bouworderreferentieveld" -#: common/models.py:1801 common/models.py:1829 common/models.py:1851 -#: common/models.py:1879 +#: common/models.py:1807 common/models.py:1835 common/models.py:1857 +#: common/models.py:1885 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1802 common/models.py:1830 common/models.py:1852 -#: common/models.py:1880 +#: common/models.py:1808 common/models.py:1836 common/models.py:1858 +#: common/models.py:1886 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1807 +#: common/models.py:1813 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1809 +#: common/models.py:1815 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1815 +#: common/models.py:1821 msgid "Enable Return Orders" msgstr "Retourorders inschakelen" -#: common/models.py:1816 +#: common/models.py:1822 msgid "Enable return order functionality in the user interface" msgstr "Retourorder functionaliteit inschakelen in de gebruikersinterface" -#: common/models.py:1821 +#: common/models.py:1827 msgid "Return Order Reference Pattern" msgstr "Retourorder referentie patroon" -#: common/models.py:1823 +#: common/models.py:1829 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1835 +#: common/models.py:1841 msgid "Edit Completed Return Orders" msgstr "Bewerk voltooide retourorders" -#: common/models.py:1837 +#: common/models.py:1843 msgid "Allow editing of return orders after they have been completed" msgstr "Bewerken van retourorders toestaan nadat deze zijn voltooid" -#: common/models.py:1843 +#: common/models.py:1849 msgid "Sales Order Reference Pattern" msgstr "Verkooporderreferentiepatroon" -#: common/models.py:1845 +#: common/models.py:1851 msgid "Required pattern for generating Sales Order reference field" msgstr "Vereist patroon voor het genereren van het Verkooporderreferentieveld" -#: common/models.py:1857 +#: common/models.py:1863 msgid "Sales Order Default Shipment" msgstr "Standaard Verzending Verkooporder" -#: common/models.py:1858 +#: common/models.py:1864 msgid "Enable creation of default shipment with sales orders" msgstr "Aanmaken standaard verzending bij verkooporders inschakelen" -#: common/models.py:1863 +#: common/models.py:1869 msgid "Edit Completed Sales Orders" msgstr "Bewerk voltooide verkooporders" -#: common/models.py:1865 +#: common/models.py:1871 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "Bewerken van verkooporders toestaan nadat deze zijn verzonden of voltooid" -#: common/models.py:1871 +#: common/models.py:1877 msgid "Purchase Order Reference Pattern" msgstr "Inkooporderreferentiepatroon" -#: common/models.py:1873 +#: common/models.py:1879 msgid "Required pattern for generating Purchase Order reference field" msgstr "Vereist patroon voor het genereren van het Inkooporderreferentieveld" -#: common/models.py:1885 +#: common/models.py:1891 msgid "Edit Completed Purchase Orders" msgstr "Bewerk voltooide verkooporders" -#: common/models.py:1887 +#: common/models.py:1893 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "Bewerken van inkooporders toestaan nadat deze zijn verzonden of voltooid" -#: common/models.py:1893 +#: common/models.py:1899 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1895 +#: common/models.py:1901 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1902 +#: common/models.py:1908 msgid "Enable password forgot" msgstr "Wachtwoord vergeten functie inschakelen" -#: common/models.py:1903 +#: common/models.py:1909 msgid "Enable password forgot function on the login pages" msgstr "Wachtwoord vergeten functie inschakelen op de inlogpagina's" -#: common/models.py:1908 +#: common/models.py:1914 msgid "Enable registration" msgstr "Registratie inschakelen" -#: common/models.py:1909 +#: common/models.py:1915 msgid "Enable self-registration for users on the login pages" msgstr "Zelfregistratie voor gebruikers op de inlogpagina's inschakelen" -#: common/models.py:1914 +#: common/models.py:1920 msgid "Enable SSO" msgstr "SSO inschakelen" -#: common/models.py:1915 +#: common/models.py:1921 msgid "Enable SSO on the login pages" msgstr "SSO inschakelen op de inlogpagina's" -#: common/models.py:1920 +#: common/models.py:1926 msgid "Enable SSO registration" msgstr "Schakel gebruikersregistratie met SSO in" -#: common/models.py:1922 +#: common/models.py:1928 msgid "Enable self-registration via SSO for users on the login pages" msgstr "Zelfregistratie voor gebruikers middels SSO op de inlogpagina's inschakelen" -#: common/models.py:1928 +#: common/models.py:1934 msgid "Email required" msgstr "E-mailadres verplicht" -#: common/models.py:1929 +#: common/models.py:1935 msgid "Require user to supply mail on signup" msgstr "Vereis gebruiker om e-mailadres te registreren bij aanmelding" -#: common/models.py:1934 +#: common/models.py:1940 msgid "Auto-fill SSO users" msgstr "SSO-gebruikers automatisch invullen" -#: common/models.py:1936 +#: common/models.py:1942 msgid "Automatically fill out user-details from SSO account-data" msgstr "Gebruikersdetails van SSO-accountgegevens automatisch invullen" -#: common/models.py:1942 +#: common/models.py:1948 msgid "Mail twice" msgstr "E-mail twee keer" -#: common/models.py:1943 +#: common/models.py:1949 msgid "On signup ask users twice for their mail" msgstr "Bij inschrijving gebruikers twee keer om hun e-mail vragen" -#: common/models.py:1948 +#: common/models.py:1954 msgid "Password twice" msgstr "Wachtwoord tweemaal" -#: common/models.py:1949 +#: common/models.py:1955 msgid "On signup ask users twice for their password" msgstr "Laat gebruikers twee keer om hun wachtwoord vragen tijdens het aanmelden" -#: common/models.py:1954 +#: common/models.py:1960 msgid "Allowed domains" msgstr "Toegestane domeinen" -#: common/models.py:1956 +#: common/models.py:1962 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "Inschrijven beperken tot bepaalde domeinen (komma-gescheiden, beginnend met @)" -#: common/models.py:1962 +#: common/models.py:1968 msgid "Group on signup" msgstr "Groep bij aanmelding" -#: common/models.py:1963 +#: common/models.py:1969 msgid "Group to which new users are assigned on registration" msgstr "Groep waaraan nieuwe gebruikers worden toegewezen bij registratie" -#: common/models.py:1968 +#: common/models.py:1974 msgid "Enforce MFA" msgstr "MFA afdwingen" -#: common/models.py:1969 +#: common/models.py:1975 msgid "Users must use multifactor security." msgstr "Gebruikers moeten multifactor-beveiliging gebruiken." -#: common/models.py:1974 +#: common/models.py:1980 msgid "Check plugins on startup" msgstr "Controleer plugins bij het opstarten" -#: common/models.py:1976 +#: common/models.py:1982 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "Controleer of alle plug-ins zijn geïnstalleerd bij het opstarten - inschakelen in container-omgevingen" -#: common/models.py:1984 +#: common/models.py:1990 msgid "Check for plugin updates" msgstr "" -#: common/models.py:1985 +#: common/models.py:1991 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:1991 +#: common/models.py:1997 msgid "Enable URL integration" msgstr "Activeer URL-integratie" -#: common/models.py:1992 +#: common/models.py:1998 msgid "Enable plugins to add URL routes" msgstr "Plugins toestaan om URL-routes toe te voegen" -#: common/models.py:1998 +#: common/models.py:2004 msgid "Enable navigation integration" msgstr "Activeer navigatie integratie" -#: common/models.py:1999 +#: common/models.py:2005 msgid "Enable plugins to integrate into navigation" msgstr "Plugins toestaan om te integreren in navigatie" -#: common/models.py:2005 +#: common/models.py:2011 msgid "Enable app integration" msgstr "Activeer app integratie" -#: common/models.py:2006 +#: common/models.py:2012 msgid "Enable plugins to add apps" msgstr "Activeer plug-ins om apps toe te voegen" -#: common/models.py:2012 +#: common/models.py:2018 msgid "Enable schedule integration" msgstr "Activeer planning integratie" -#: common/models.py:2013 +#: common/models.py:2019 msgid "Enable plugins to run scheduled tasks" msgstr "Activeer plugin om periodiek taken uit te voeren" -#: common/models.py:2019 +#: common/models.py:2025 msgid "Enable event integration" msgstr "Activeer evenement integratie" -#: common/models.py:2020 +#: common/models.py:2026 msgid "Enable plugins to respond to internal events" msgstr "Activeer plugin om op interne evenementen te reageren" -#: common/models.py:2026 +#: common/models.py:2032 msgid "Enable project codes" msgstr "Activeer project codes" -#: common/models.py:2027 +#: common/models.py:2033 msgid "Enable project codes for tracking projects" msgstr "Activeer project codes voor het bijhouden van projecten" -#: common/models.py:2032 +#: common/models.py:2038 msgid "Stocktake Functionality" msgstr "Voorraadcontrole functionaliteit" -#: common/models.py:2034 +#: common/models.py:2040 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "Schakel voorraadfunctionaliteit in voor het opnemen van voorraadniveaus en het berekenen van voorraadwaarde" -#: common/models.py:2040 +#: common/models.py:2046 msgid "Exclude External Locations" msgstr "Externe locaties uitsluiten" -#: common/models.py:2042 +#: common/models.py:2048 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "Voorraadartikelen op externe locaties uitsluiten van voorraadberekeningen" -#: common/models.py:2048 +#: common/models.py:2054 msgid "Automatic Stocktake Period" msgstr "Automatische Voorraadcontrole Periode" -#: common/models.py:2050 +#: common/models.py:2056 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "Aantal dagen tussen automatische voorraadopname (ingesteld op nul om uit te schakelen)" -#: common/models.py:2056 +#: common/models.py:2062 msgid "Report Deletion Interval" msgstr "Rapport Verwijdering Interval" -#: common/models.py:2058 +#: common/models.py:2064 msgid "Stocktake reports will be deleted after specified number of days" msgstr "Voorraadrapportage zal worden verwijderd na het opgegeven aantal dagen" -#: common/models.py:2065 +#: common/models.py:2071 msgid "Display Users full names" msgstr "" -#: common/models.py:2066 +#: common/models.py:2072 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2071 +#: common/models.py:2077 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2072 +#: common/models.py:2078 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2084 common/models.py:2494 +#: common/models.py:2090 common/models.py:2500 msgid "Settings key (must be unique - case insensitive" msgstr "Instellingssleutel (moet uniek zijn - hoofdletter ongevoelig" -#: common/models.py:2127 +#: common/models.py:2133 msgid "Hide inactive parts" msgstr "Inactieve Onderdelen Verbergen" -#: common/models.py:2129 +#: common/models.py:2135 msgid "Hide inactive parts in results displayed on the homepage" msgstr "Verberg inactieve delen bij items op de homepage" -#: common/models.py:2135 +#: common/models.py:2141 msgid "Show subscribed parts" msgstr "Toon geabonneerde onderdelen" -#: common/models.py:2136 +#: common/models.py:2142 msgid "Show subscribed parts on the homepage" msgstr "Toon geabonneerde onderdelen op de homepage" -#: common/models.py:2141 +#: common/models.py:2147 msgid "Show subscribed categories" msgstr "Toon geabonneerde categorieën" -#: common/models.py:2142 +#: common/models.py:2148 msgid "Show subscribed part categories on the homepage" msgstr "Toon geabonneerde onderdeel categorieën op de startpagina" -#: common/models.py:2147 +#: common/models.py:2153 msgid "Show latest parts" msgstr "Toon laatste onderdelen" -#: common/models.py:2148 +#: common/models.py:2154 msgid "Show latest parts on the homepage" msgstr "Toon laatste onderdelen op de startpagina" -#: common/models.py:2153 +#: common/models.py:2159 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2154 +#: common/models.py:2160 msgid "Show BOMs that await validation on the homepage" msgstr "Laat BOMs zien die wachten op validatie op de startpagina" -#: common/models.py:2159 +#: common/models.py:2165 msgid "Show recent stock changes" msgstr "Toon recente voorraadwijzigingen" -#: common/models.py:2160 +#: common/models.py:2166 msgid "Show recently changed stock items on the homepage" msgstr "Toon recent aangepaste voorraadartikelen op de startpagina" -#: common/models.py:2165 +#: common/models.py:2171 msgid "Show low stock" msgstr "Toon lage voorraad" -#: common/models.py:2166 +#: common/models.py:2172 msgid "Show low stock items on the homepage" msgstr "Toon lage voorraad van artikelen op de startpagina" -#: common/models.py:2171 +#: common/models.py:2177 msgid "Show depleted stock" msgstr "Toon lege voorraad" -#: common/models.py:2172 +#: common/models.py:2178 msgid "Show depleted stock items on the homepage" msgstr "Toon lege voorraad van artikelen op de startpagina" -#: common/models.py:2177 +#: common/models.py:2183 msgid "Show needed stock" msgstr "Toon benodigde voorraad" -#: common/models.py:2178 +#: common/models.py:2184 msgid "Show stock items needed for builds on the homepage" msgstr "Toon benodigde voorraad van artikelen voor productie op de startpagina" -#: common/models.py:2183 +#: common/models.py:2189 msgid "Show expired stock" msgstr "Toon verlopen voorraad" -#: common/models.py:2184 +#: common/models.py:2190 msgid "Show expired stock items on the homepage" msgstr "Toon verlopen voorraad van artikelen op de startpagina" -#: common/models.py:2189 +#: common/models.py:2195 msgid "Show stale stock" msgstr "Toon verouderde voorraad" -#: common/models.py:2190 +#: common/models.py:2196 msgid "Show stale stock items on the homepage" msgstr "Toon verouderde voorraad van artikelen op de startpagina" -#: common/models.py:2195 +#: common/models.py:2201 msgid "Show pending builds" msgstr "Toon openstaande producties" -#: common/models.py:2196 +#: common/models.py:2202 msgid "Show pending builds on the homepage" msgstr "Toon openstaande producties op de startpagina" -#: common/models.py:2201 +#: common/models.py:2207 msgid "Show overdue builds" msgstr "Toon achterstallige productie" -#: common/models.py:2202 +#: common/models.py:2208 msgid "Show overdue builds on the homepage" msgstr "Toon achterstallige producties op de startpagina" -#: common/models.py:2207 +#: common/models.py:2213 msgid "Show outstanding POs" msgstr "Toon uitstaande PO's" -#: common/models.py:2208 +#: common/models.py:2214 msgid "Show outstanding POs on the homepage" msgstr "Toon uitstaande PO's op de startpagina" -#: common/models.py:2213 +#: common/models.py:2219 msgid "Show overdue POs" msgstr "Toon achterstallige PO's" -#: common/models.py:2214 +#: common/models.py:2220 msgid "Show overdue POs on the homepage" msgstr "Toon achterstallige PO's op de startpagina" -#: common/models.py:2219 +#: common/models.py:2225 msgid "Show outstanding SOs" msgstr "Toon uitstaande SO's" -#: common/models.py:2220 +#: common/models.py:2226 msgid "Show outstanding SOs on the homepage" msgstr "Toon uitstaande SO's op de startpagina" -#: common/models.py:2225 +#: common/models.py:2231 msgid "Show overdue SOs" msgstr "Toon achterstallige SO's" -#: common/models.py:2226 +#: common/models.py:2232 msgid "Show overdue SOs on the homepage" msgstr "Toon achterstallige SO's op de startpagina" -#: common/models.py:2231 +#: common/models.py:2237 msgid "Show pending SO shipments" msgstr "Toon in behandeling SO verzendingen" -#: common/models.py:2232 +#: common/models.py:2238 msgid "Show pending SO shipments on the homepage" msgstr "Toon in behandeling zijnde SO verzendingen op de startpagina" -#: common/models.py:2237 +#: common/models.py:2243 msgid "Show News" msgstr "Nieuws tonen" -#: common/models.py:2238 +#: common/models.py:2244 msgid "Show news on the homepage" msgstr "Nieuws op de startpagina weergeven" -#: common/models.py:2243 +#: common/models.py:2249 msgid "Inline label display" msgstr "Inline labelweergave" -#: common/models.py:2245 +#: common/models.py:2251 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "PDF-labels in browser weergeven, in plaats van als bestand te downloaden" -#: common/models.py:2251 +#: common/models.py:2257 msgid "Default label printer" msgstr "Standaard label printer" -#: common/models.py:2253 +#: common/models.py:2259 msgid "Configure which label printer should be selected by default" msgstr "Instellen welke label printer standaard moet worden geselecteerd" -#: common/models.py:2259 +#: common/models.py:2265 msgid "Inline report display" msgstr "Inline rapport weergeven" -#: common/models.py:2261 +#: common/models.py:2267 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "PDF-rapporten in de browser weergeven, in plaats van als bestand te downloaden" -#: common/models.py:2267 +#: common/models.py:2273 msgid "Search Parts" msgstr "Zoek Onderdelen" -#: common/models.py:2268 +#: common/models.py:2274 msgid "Display parts in search preview window" msgstr "Onderdelen weergeven in zoekscherm" -#: common/models.py:2273 +#: common/models.py:2279 msgid "Search Supplier Parts" msgstr "Zoek leveranciersonderdelen" -#: common/models.py:2274 +#: common/models.py:2280 msgid "Display supplier parts in search preview window" msgstr "Leveranciersonderdelen weergeven in zoekscherm" -#: common/models.py:2279 +#: common/models.py:2285 msgid "Search Manufacturer Parts" msgstr "Fabrikant onderdelen zoeken" -#: common/models.py:2280 +#: common/models.py:2286 msgid "Display manufacturer parts in search preview window" msgstr "Fabrikant onderdelen weergeven in zoekscherm" -#: common/models.py:2285 +#: common/models.py:2291 msgid "Hide Inactive Parts" msgstr "Inactieve Onderdelen Verbergen" -#: common/models.py:2286 +#: common/models.py:2292 msgid "Excluded inactive parts from search preview window" msgstr "Inactieve verkooporders weglaten in het zoekvenster" -#: common/models.py:2291 +#: common/models.py:2297 msgid "Search Categories" msgstr "Zoek categorieën" -#: common/models.py:2292 +#: common/models.py:2298 msgid "Display part categories in search preview window" msgstr "Toon onderdeelcategorieën in zoekvenster" -#: common/models.py:2297 +#: common/models.py:2303 msgid "Search Stock" msgstr "Zoek in Voorraad" -#: common/models.py:2298 +#: common/models.py:2304 msgid "Display stock items in search preview window" msgstr "Toon voorraad items in zoekvenster" -#: common/models.py:2303 +#: common/models.py:2309 msgid "Hide Unavailable Stock Items" msgstr "Verberg niet beschikbare voorraad items" -#: common/models.py:2305 +#: common/models.py:2311 msgid "Exclude stock items which are not available from the search preview window" msgstr "Voorraadartikelen die niet beschikbaar zijn niet in het zoekvenster weergeven" -#: common/models.py:2311 +#: common/models.py:2317 msgid "Search Locations" msgstr "Locaties doorzoeken" -#: common/models.py:2312 +#: common/models.py:2318 msgid "Display stock locations in search preview window" msgstr "Toon voorraadlocaties in zoekvenster" -#: common/models.py:2317 +#: common/models.py:2323 msgid "Search Companies" msgstr "Zoek bedrijven" -#: common/models.py:2318 +#: common/models.py:2324 msgid "Display companies in search preview window" msgstr "Toon bedrijven in zoekvenster" -#: common/models.py:2323 +#: common/models.py:2329 msgid "Search Build Orders" msgstr "Zoek Bouworders" -#: common/models.py:2324 +#: common/models.py:2330 msgid "Display build orders in search preview window" msgstr "Toon bouworders in zoekvenster" -#: common/models.py:2329 +#: common/models.py:2335 msgid "Search Purchase Orders" msgstr "Inkooporders Zoeken" -#: common/models.py:2330 +#: common/models.py:2336 msgid "Display purchase orders in search preview window" msgstr "Toon inkooporders in het zoekvenster" -#: common/models.py:2335 +#: common/models.py:2341 msgid "Exclude Inactive Purchase Orders" msgstr "Inactieve Inkooporders Weglaten" -#: common/models.py:2337 +#: common/models.py:2343 msgid "Exclude inactive purchase orders from search preview window" msgstr "Inactieve inkooporders weglaten in het zoekvenster" -#: common/models.py:2343 +#: common/models.py:2349 msgid "Search Sales Orders" msgstr "Verkooporders zoeken" -#: common/models.py:2344 +#: common/models.py:2350 msgid "Display sales orders in search preview window" msgstr "Toon verkooporders in het zoekvenster" -#: common/models.py:2349 +#: common/models.py:2355 msgid "Exclude Inactive Sales Orders" msgstr "Inactieve Verkooporders Weglaten" -#: common/models.py:2351 +#: common/models.py:2357 msgid "Exclude inactive sales orders from search preview window" msgstr "Inactieve verkooporders weglaten in het zoekvenster" -#: common/models.py:2357 +#: common/models.py:2363 msgid "Search Return Orders" msgstr "Zoek retourorders" -#: common/models.py:2358 +#: common/models.py:2364 msgid "Display return orders in search preview window" msgstr "Toon bouworders in zoekvenster" -#: common/models.py:2363 +#: common/models.py:2369 msgid "Exclude Inactive Return Orders" msgstr "Inactieve retourbestellingen weglaten" -#: common/models.py:2365 +#: common/models.py:2371 msgid "Exclude inactive return orders from search preview window" msgstr "Inactieve retourorders uitsluiten in zoekvenster" -#: common/models.py:2371 +#: common/models.py:2377 msgid "Search Preview Results" msgstr "Zoekvoorbeeld resultaten" -#: common/models.py:2373 +#: common/models.py:2379 msgid "Number of results to show in each section of the search preview window" msgstr "Aantal resultaten om weer te geven in elk gedeelte van het zoekvenster" -#: common/models.py:2379 +#: common/models.py:2385 msgid "Regex Search" msgstr "Regex zoeken" -#: common/models.py:2380 +#: common/models.py:2386 msgid "Enable regular expressions in search queries" msgstr "Schakel reguliere expressies in zoekopdrachten in" -#: common/models.py:2385 +#: common/models.py:2391 msgid "Whole Word Search" msgstr "Hele woorden zoeken" -#: common/models.py:2386 +#: common/models.py:2392 msgid "Search queries return results for whole word matches" msgstr "Zoekopdrachten geven resultaat voor hele woord overeenkomsten" -#: common/models.py:2391 +#: common/models.py:2397 msgid "Show Quantity in Forms" msgstr "Toon hoeveelheid in formulieren" -#: common/models.py:2392 +#: common/models.py:2398 msgid "Display available part quantity in some forms" msgstr "Hoeveelheid beschikbare onderdelen in sommige formulieren weergeven" -#: common/models.py:2397 +#: common/models.py:2403 msgid "Escape Key Closes Forms" msgstr "Escape-toets sluit formulieren" -#: common/models.py:2398 +#: common/models.py:2404 msgid "Use the escape key to close modal forms" msgstr "Gebruik de Escape-toets om standaard formulieren te sluiten" -#: common/models.py:2403 +#: common/models.py:2409 msgid "Fixed Navbar" msgstr "Vaste navigatiebalk" -#: common/models.py:2404 +#: common/models.py:2410 msgid "The navbar position is fixed to the top of the screen" msgstr "De navigatiebalk positie is gefixeerd aan de bovenkant van het scherm" -#: common/models.py:2409 +#: common/models.py:2415 msgid "Date Format" msgstr "Datum formaat" -#: common/models.py:2410 +#: common/models.py:2416 msgid "Preferred format for displaying dates" msgstr "Voorkeursindeling voor weergave van datums" -#: common/models.py:2423 part/templates/part/detail.html:41 +#: common/models.py:2429 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Onderdeel planning" -#: common/models.py:2424 +#: common/models.py:2430 msgid "Display part scheduling information" msgstr "Toon informatie voor het plannen van onderdelen" -#: common/models.py:2429 part/templates/part/detail.html:62 +#: common/models.py:2435 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Voorraadcontrole onderdeel" -#: common/models.py:2431 +#: common/models.py:2437 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "Toon voorraadinformatie van onderdeel (als voorraadcontrole functionaliteit is ingeschakeld)" -#: common/models.py:2437 +#: common/models.py:2443 msgid "Table String Length" msgstr "Tabel tekenreekslengte" -#: common/models.py:2439 +#: common/models.py:2445 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2445 +#: common/models.py:2451 msgid "Default part label template" msgstr "Standaard sjabloon product onderdeel" -#: common/models.py:2446 +#: common/models.py:2452 msgid "The part label template to be automatically selected" msgstr "Het onderdeellabelsjabloon dat automatisch wordt geselecteerd" -#: common/models.py:2451 +#: common/models.py:2457 msgid "Default stock item template" msgstr "Standaard sjabloon voorraad onderdeel" -#: common/models.py:2453 +#: common/models.py:2459 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2459 +#: common/models.py:2465 msgid "Default stock location label template" msgstr "Standaard label van voorraadlocatie" -#: common/models.py:2461 +#: common/models.py:2467 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2467 +#: common/models.py:2473 msgid "Default build line label template" msgstr "" -#: common/models.py:2469 +#: common/models.py:2475 msgid "The build line label template to be automatically selected" msgstr "" -#: common/models.py:2475 +#: common/models.py:2481 msgid "Receive error reports" msgstr "Foutrapportages ontvangen" -#: common/models.py:2476 +#: common/models.py:2482 msgid "Receive notifications for system errors" msgstr "Meldingen ontvangen van systeemfouten" -#: common/models.py:2481 +#: common/models.py:2487 msgid "Last used printing machines" msgstr "" -#: common/models.py:2482 +#: common/models.py:2488 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2525 +#: common/models.py:2531 msgid "Price break quantity" msgstr "" -#: common/models.py:2532 company/serializers.py:496 order/admin.py:42 -#: order/models.py:1333 order/models.py:2243 +#: common/models.py:2538 company/serializers.py:496 order/admin.py:42 +#: order/models.py:1373 order/models.py:2292 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 -#: templates/js/translated/return_order.js:741 +#: templates/js/translated/return_order.js:740 msgid "Price" msgstr "Prijs" -#: common/models.py:2533 +#: common/models.py:2539 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2704 common/models.py:2889 +#: common/models.py:2710 common/models.py:2895 msgid "Endpoint" msgstr "Eindpunt" -#: common/models.py:2705 +#: common/models.py:2711 msgid "Endpoint at which this webhook is received" msgstr "Eindpunt waarop deze webhook wordt ontvangen" -#: common/models.py:2715 +#: common/models.py:2721 msgid "Name for this webhook" msgstr "Naam van deze webhook" -#: common/models.py:2719 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1045 -#: plugin/models.py:56 templates/js/translated/company.js:523 +#: common/models.py:2725 company/models.py:160 company/models.py:814 +#: machine/models.py:39 part/admin.py:88 part/models.py:1088 +#: plugin/models.py:65 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:492 @@ -3614,135 +3628,135 @@ msgstr "Naam van deze webhook" msgid "Active" msgstr "Actief" -#: common/models.py:2719 +#: common/models.py:2725 msgid "Is this webhook active" msgstr "Is deze webhook actief" -#: common/models.py:2735 users/models.py:159 +#: common/models.py:2741 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2736 +#: common/models.py:2742 msgid "Token for access" msgstr "Token voor toegang" -#: common/models.py:2744 +#: common/models.py:2750 msgid "Secret" msgstr "Geheim" -#: common/models.py:2745 +#: common/models.py:2751 msgid "Shared secret for HMAC" msgstr "Gedeeld geheim voor HMAC" -#: common/models.py:2853 +#: common/models.py:2859 msgid "Message ID" msgstr "Bericht ID" -#: common/models.py:2854 +#: common/models.py:2860 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2862 +#: common/models.py:2868 msgid "Host" msgstr "" -#: common/models.py:2863 +#: common/models.py:2869 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2871 +#: common/models.py:2877 msgid "Header" msgstr "Koptekst" -#: common/models.py:2872 +#: common/models.py:2878 msgid "Header of this message" msgstr "Koptekst van dit bericht" -#: common/models.py:2879 +#: common/models.py:2885 msgid "Body" msgstr "Berichtinhoud" -#: common/models.py:2880 +#: common/models.py:2886 msgid "Body of this message" msgstr "Inhoud van dit bericht" -#: common/models.py:2890 +#: common/models.py:2896 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2895 +#: common/models.py:2901 msgid "Worked on" msgstr "Aan gewerkt" -#: common/models.py:2896 +#: common/models.py:2902 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3022 +#: common/models.py:3028 msgid "Id" msgstr "" -#: common/models.py:3024 templates/js/translated/company.js:965 +#: common/models.py:3030 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "Titel" -#: common/models.py:3028 templates/js/translated/news.js:60 +#: common/models.py:3034 templates/js/translated/news.js:60 msgid "Published" msgstr "Gepubliceerd" -#: common/models.py:3030 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3036 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3032 templates/js/translated/news.js:52 +#: common/models.py:3038 templates/js/translated/news.js:52 msgid "Summary" msgstr "Samenvatting" -#: common/models.py:3035 +#: common/models.py:3041 msgid "Read" msgstr "Gelezen" -#: common/models.py:3035 +#: common/models.py:3041 msgid "Was this news item read?" msgstr "" -#: common/models.py:3052 company/models.py:156 part/models.py:929 +#: common/models.py:3058 company/models.py:156 part/models.py:972 #: 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 +#: report/templates/report/inventree_return_order_report.html:35 #: stock/templates/stock/item_base.html:133 templates/503.html:31 #: templates/hover_image.html:7 templates/hover_image.html:9 #: templates/modals.html:6 msgid "Image" msgstr "Afbeelding" -#: common/models.py:3052 +#: common/models.py:3058 msgid "Image file" msgstr "Afbeelding" -#: common/models.py:3094 +#: common/models.py:3100 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3113 +#: common/models.py:3119 msgid "Unit name" msgstr "" -#: common/models.py:3120 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3126 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "Symbool" -#: common/models.py:3121 +#: common/models.py:3127 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3128 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3134 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "Definitie" -#: common/models.py:3129 +#: common/models.py:3135 msgid "Unit definition" msgstr "" @@ -3929,9 +3943,9 @@ msgid "Contact email address" msgstr "Contact e-mailadres" #: company/models.py:139 company/templates/company/company_base.html:145 -#: order/models.py:331 order/templates/order/order_base.html:203 +#: order/models.py:344 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 -#: order/templates/order/sales_order_base.html:214 +#: order/templates/order/sales_order_base.html:218 msgid "Contact" msgstr "" @@ -3977,7 +3991,7 @@ msgstr "Standaardvaluta die gebruikt wordt voor dit bedrijf" #: company/models.py:273 company/models.py:382 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:776 +#: company/templates/company/company_base.html:12 stock/api.py:810 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "Bedrijf" @@ -4069,8 +4083,8 @@ msgstr "" msgid "Link to address information (external)" msgstr "" -#: company/models.py:489 company/models.py:792 stock/models.py:751 -#: stock/serializers.py:266 stock/templates/stock/item_base.html:142 +#: company/models.py:489 company/models.py:792 stock/models.py:772 +#: stock/serializers.py:395 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "Basis onderdeel" @@ -4081,7 +4095,7 @@ msgstr "Onderdeel selecteren" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:515 +#: company/templates/company/supplier_part.html:145 part/serializers.py:530 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4096,13 +4110,13 @@ msgid "Select manufacturer" msgstr "Fabrikant selecteren" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:525 +#: company/templates/company/supplier_part.html:153 part/serializers.py:540 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800 -#: templates/js/translated/purchase_order.js:1852 -#: templates/js/translated/purchase_order.js:2054 +#: templates/js/translated/purchase_order.js:1851 +#: templates/js/translated/purchase_order.js:2053 msgid "MPN" msgstr "" @@ -4129,9 +4143,8 @@ msgstr "Fabrikant onderdeel" msgid "Parameter name" msgstr "Parameternaam" -#: company/models.py:621 -#: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2448 templates/js/translated/company.js:1166 +#: company/models.py:621 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2425 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492 #: templates/js/translated/stock.js:1522 msgid "Value" @@ -4142,10 +4155,10 @@ msgid "Parameter value" msgstr "Parameterwaarde" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1009 part/models.py:3623 +#: part/admin.py:57 part/models.py:1052 part/models.py:3666 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 -#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370 +#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 msgid "Units" msgstr "Eenheden" @@ -4166,9 +4179,9 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "Gekoppeld fabrikant onderdeel moet verwijzen naar hetzelfde basis onderdeel" #: company/models.py:802 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:465 +#: company/templates/company/supplier_part.html:129 order/models.py:487 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:499 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:514 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4176,7 +4189,7 @@ msgstr "Gekoppeld fabrikant onderdeel moet verwijzen naar hetzelfde basis onderd #: templates/js/translated/company.js:511 #: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1690 +#: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/table_filters.js:804 msgid "Supplier" msgstr "Leverancier" @@ -4185,7 +4198,7 @@ msgstr "Leverancier" msgid "Select supplier" msgstr "Leverancier selecteren" -#: company/models.py:809 part/serializers.py:510 +#: company/models.py:809 part/serializers.py:525 msgid "Supplier stock keeping unit" msgstr "" @@ -4206,29 +4219,29 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:418 part/models.py:4070 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4113 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 -#: report/templates/report/inventree_slr_report.html:105 -#: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:579 +#: report/templates/report/inventree_purchase_order_report.html:32 +#: report/templates/report/inventree_return_order_report.html:27 +#: report/templates/report/inventree_sales_order_report.html:32 +#: report/templates/report/inventree_stock_location_report.html:105 +#: stock/serializers.py:708 msgid "Note" msgstr "Opmerking" -#: company/models.py:857 part/models.py:1967 +#: company/models.py:857 part/models.py:2010 msgid "base cost" msgstr "basisprijs" -#: company/models.py:858 part/models.py:1968 +#: company/models.py:858 part/models.py:2011 msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimale kosten (bijv. voorraadkosten)" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:782 stock/serializers.py:1350 +#: stock/admin.py:224 stock/models.py:803 stock/serializers.py:1479 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 -#: templates/js/translated/stock.js:2426 +#: templates/js/translated/stock.js:2424 msgid "Packaging" msgstr "" @@ -4241,8 +4254,8 @@ msgstr "" #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 -#: templates/js/translated/purchase_order.js:2085 -#: templates/js/translated/purchase_order.js:2102 +#: templates/js/translated/purchase_order.js:2084 +#: templates/js/translated/purchase_order.js:2101 msgid "Pack Quantity" msgstr "" @@ -4250,7 +4263,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:892 part/models.py:1974 +#: company/models.py:892 part/models.py:2017 msgid "multiple" msgstr "meerdere" @@ -4285,7 +4298,7 @@ msgstr "" #: part/templates/part/part_base.html:146 #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 -#: templates/js/translated/model_renderers.js:306 +#: templates/js/translated/model_renderers.js:312 #: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 msgid "Inactive" msgstr "" @@ -4321,11 +4334,11 @@ msgstr "Bedrijf verwijderen" #: company/templates/company/manufacturer_part.html:51 #: company/templates/company/supplier_part.html:83 #: part/templates/part/part_thumb.html:20 -#: report/templates/report/inventree_build_order_base.html:98 -#: report/templates/report/inventree_po_report_base.html:40 -#: report/templates/report/inventree_so_report_base.html:40 -#: report/templates/report/inventree_test_report_base.html:84 -#: report/templates/report/inventree_test_report_base.html:163 +#: report/templates/report/inventree_build_order_report.html:98 +#: report/templates/report/inventree_purchase_order_report.html:40 +#: report/templates/report/inventree_sales_order_report.html:40 +#: report/templates/report/inventree_test_report.html:84 +#: report/templates/report/inventree_test_report.html:163 msgid "Part image" msgstr "Afbeelding onderdeel" @@ -4344,16 +4357,16 @@ msgstr "Afbeelding downloaden van URL" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:92 order/models.py:910 -#: order/models.py:2010 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:144 stock/models.py:804 -#: stock/models.py:805 stock/serializers.py:1100 +#: company/templates/company/company_base.html:92 order/models.py:941 +#: order/models.py:2059 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:148 stock/models.py:825 +#: stock/models.py:826 stock/serializers.py:1229 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 -#: templates/js/translated/return_order.js:296 -#: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2962 +#: templates/js/translated/return_order.js:295 +#: templates/js/translated/sales_order.js:820 +#: templates/js/translated/stock.js:2959 #: templates/js/translated/table_filters.js:808 msgid "Customer" msgstr "Klant" @@ -4362,10 +4375,10 @@ msgstr "Klant" msgid "Uses default currency" msgstr "Gebruik standaard valuta" -#: company/templates/company/company_base.html:124 order/models.py:341 +#: company/templates/company/company_base.html:124 order/models.py:354 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 -#: order/templates/order/sales_order_base.html:221 +#: order/templates/order/sales_order_base.html:225 msgid "Address" msgstr "Adres" @@ -4374,7 +4387,7 @@ msgid "Phone" msgstr "Telefoon" #: company/templates/company/company_base.html:211 -#: part/templates/part/part_base.html:528 +#: part/templates/part/part_base.html:527 msgid "Remove Image" msgstr "" @@ -4383,19 +4396,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:214 -#: part/templates/part/part_base.html:531 +#: part/templates/part/part_base.html:530 #: templates/InvenTree/settings/user.html:88 #: templates/InvenTree/settings/user_sso.html:43 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:243 -#: part/templates/part/part_base.html:560 +#: part/templates/part/part_base.html:559 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:258 -#: part/templates/part/part_base.html:614 +#: part/templates/part/part_base.html:613 msgid "Download Image" msgstr "" @@ -4558,7 +4571,7 @@ msgstr "Geen fabrikanten informatie beschikbaar" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:821 +#: part/admin.py:122 part/serializers.py:836 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4609,10 +4622,10 @@ msgstr "" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:452 -#: stock/models.py:762 stock/templates/stock/item_base.html:233 +#: stock/models.py:783 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 -#: templates/js/translated/stock.js:2282 +#: templates/js/translated/stock.js:2280 msgid "Supplier Part" msgstr "Leveranciersonderdeel" @@ -4658,11 +4671,11 @@ msgid "No supplier information available" msgstr "Geen leveranciersinformatie beschikbaar" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:509 +#: part/bom.py:311 part/serializers.py:524 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1851 -#: templates/js/translated/purchase_order.js:2029 +#: templates/js/translated/purchase_order.js:1850 +#: templates/js/translated/purchase_order.js:2028 msgid "SKU" msgstr "" @@ -4671,12 +4684,12 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:209 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:199 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:206 msgid "Create new stock item" msgstr "Nieuw voorraadartikel aanmaken" #: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:200 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:207 #: templates/js/translated/stock.js:537 msgid "New Stock Item" msgstr "Nieuw Voorraadartikel" @@ -4708,16 +4721,16 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:820 part/stocktake.py:223 +#: part/serializers.py:835 part/stocktake.py:223 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:787 stock/serializers.py:951 +#: stock/serializers.py:916 stock/serializers.py:1080 #: stock/templates/stock/location.html:170 -#: stock/templates/stock/location.html:184 -#: stock/templates/stock/location.html:196 +#: stock/templates/stock/location.html:191 +#: stock/templates/stock/location.html:203 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2769 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 #: users/models.py:206 msgid "Stock Items" msgstr "Voorraadartikelen" @@ -4751,126 +4764,48 @@ msgstr "Bedrijven" msgid "New Company" msgstr "Nieuw Bedrijf" -#: label/api.py:247 -msgid "Error printing label" -msgstr "" - -#: label/models.py:120 -msgid "Label name" -msgstr "Labelnaam" - -#: label/models.py:128 -msgid "Label description" -msgstr "Label beschrijving" - -#: label/models.py:136 -msgid "Label" -msgstr "" - -#: label/models.py:137 -msgid "Label template file" -msgstr "Label template bestand" - -#: label/models.py:143 part/models.py:3494 report/models.py:324 -#: templates/js/translated/part.js:2900 -#: templates/js/translated/table_filters.js:481 -msgid "Enabled" -msgstr "Ingeschakeld" - -#: label/models.py:144 -msgid "Label template is enabled" -msgstr "Label template is ingeschakeld" - -#: label/models.py:149 -msgid "Width [mm]" -msgstr "Breedte [mm]" - -#: label/models.py:150 -msgid "Label width, specified in mm" -msgstr "Label breedte, gespecificeerd in mm" - -#: label/models.py:156 -msgid "Height [mm]" -msgstr "Hoogte [mm]" - -#: label/models.py:157 -msgid "Label height, specified in mm" -msgstr "Label hoogte, gespecificeerd in mm" - -#: label/models.py:163 report/models.py:317 -msgid "Filename Pattern" -msgstr "Bestandsnaam Patroon" - -#: label/models.py:164 -msgid "Pattern for generating label filenames" -msgstr "" - -#: label/models.py:313 label/models.py:352 label/models.py:377 -#: label/models.py:412 -msgid "Query filters (comma-separated list of key=value pairs)" -msgstr "" - -#: label/models.py:314 label/models.py:353 label/models.py:378 -#: label/models.py:413 report/models.py:345 report/models.py:496 -#: report/models.py:532 report/models.py:568 report/models.py:750 -msgid "Filters" -msgstr "" - -#: label/templates/label/part/part_label.html:31 -#: label/templates/label/stockitem/qr.html:21 -#: label/templates/label/stocklocation/qr.html:20 -#: templates/allauth_2fa/setup.html:18 -msgid "QR Code" -msgstr "" - -#: label/templates/label/part/part_label_code128.html:31 -#: label/templates/label/stocklocation/qr_and_text.html:31 -#: templates/qr_code.html:7 -msgid "QR code" -msgstr "" - -#: machine/machine_types/label_printer.py:217 +#: machine/machine_types/label_printer.py:218 msgid "Copies" msgstr "" -#: machine/machine_types/label_printer.py:218 +#: machine/machine_types/label_printer.py:219 msgid "Number of copies to print for each label" msgstr "" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:234 msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:234 order/api.py:1515 -#: templates/js/translated/sales_order.js:1042 +#: machine/machine_types/label_printer.py:235 order/api.py:1515 +#: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "" -#: machine/machine_types/label_printer.py:235 +#: machine/machine_types/label_printer.py:236 msgid "Printing" msgstr "" -#: machine/machine_types/label_printer.py:236 +#: machine/machine_types/label_printer.py:237 msgid "No media" msgstr "" -#: machine/machine_types/label_printer.py:237 +#: machine/machine_types/label_printer.py:238 msgid "Disconnected" msgstr "" -#: machine/machine_types/label_printer.py:244 +#: machine/machine_types/label_printer.py:245 msgid "Label Printer" msgstr "" -#: machine/machine_types/label_printer.py:245 +#: machine/machine_types/label_printer.py:246 msgid "Directly print labels for various items." msgstr "" -#: machine/machine_types/label_printer.py:251 +#: machine/machine_types/label_printer.py:252 msgid "Printer Location" msgstr "" -#: machine/machine_types/label_printer.py:252 +#: machine/machine_types/label_printer.py:253 msgid "Scope the printer to a specific location" msgstr "" @@ -4930,19 +4865,19 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:89 -#: report/templates/report/inventree_po_report_base.html:31 -#: report/templates/report/inventree_so_report_base.html:31 +#: order/admin.py:30 order/models.py:90 +#: report/templates/report/inventree_purchase_order_report.html:31 +#: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2126 -#: templates/js/translated/sales_order.js:1847 +#: templates/js/translated/purchase_order.js:2125 +#: templates/js/translated/sales_order.js:1883 msgid "Total Price" msgstr "Totaalprijs" #: order/api.py:161 order/serializers.py:91 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 -#: order/templates/order/sales_order_base.html:118 +#: order/templates/order/sales_order_base.html:122 msgid "Order Status" msgstr "" @@ -4955,10 +4890,10 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:437 order/api.py:817 order/models.py:1382 order/models.py:1491 -#: order/models.py:1537 order/models.py:1651 order/models.py:1805 -#: order/models.py:2209 order/models.py:2260 -#: templates/js/translated/sales_order.js:1488 +#: order/api.py:437 order/api.py:817 order/models.py:1422 order/models.py:1531 +#: order/models.py:1577 order/models.py:1691 order/models.py:1845 +#: order/models.py:2258 order/models.py:2309 +#: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" @@ -4970,402 +4905,398 @@ msgstr "" msgid "Order Pending" msgstr "" -#: order/api.py:1509 order/models.py:1383 order/models.py:1492 -#: order/templates/order/order_base.html:9 +#: order/api.py:1509 order/models.py:381 order/models.py:1423 +#: order/models.py:1532 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 -#: report/templates/report/inventree_po_report_base.html:14 -#: stock/templates/stock/item_base.html:176 +#: report/templates/report/inventree_purchase_order_report.html:14 +#: stock/serializers.py:119 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 -#: templates/js/translated/purchase_order.js:1674 -#: templates/js/translated/stock.js:2262 templates/js/translated/stock.js:2910 +#: templates/js/translated/purchase_order.js:1673 +#: templates/js/translated/stock.js:2260 templates/js/translated/stock.js:2907 msgid "Purchase Order" msgstr "Inkooporder" -#: order/api.py:1513 order/models.py:2210 order/models.py:2261 -#: order/templates/order/return_order_base.html:9 +#: order/api.py:1513 order/models.py:2008 order/models.py:2259 +#: order/models.py:2310 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:281 -#: templates/js/translated/stock.js:2944 +#: report/templates/report/inventree_return_order_report.html:13 +#: templates/js/translated/return_order.js:280 +#: templates/js/translated/stock.js:2941 msgid "Return Order" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:96 order/serializers.py:71 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:99 order/serializers.py:72 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:246 +#: order/models.py:248 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:278 +#: order/models.py:291 msgid "Order description (optional)" msgstr "" -#: order/models.py:287 +#: order/models.py:300 msgid "Select project code for this order" msgstr "" -#: order/models.py:291 order/models.py:1288 order/models.py:1704 +#: order/models.py:304 order/models.py:1328 order/models.py:1744 msgid "Link to external page" msgstr "Link naar externe pagina" -#: order/models.py:299 +#: order/models.py:312 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "Verwachte datum voor levering van de bestelling. De bestelling wordt achterstallig na deze datum." -#: order/models.py:313 +#: order/models.py:326 msgid "Created By" msgstr "Aangemaakt Door" -#: order/models.py:321 +#: order/models.py:334 msgid "User or group responsible for this order" msgstr "Gebruiker of groep verantwoordelijk voor deze order" -#: order/models.py:332 +#: order/models.py:345 msgid "Point of contact for this order" msgstr "" -#: order/models.py:342 +#: order/models.py:355 msgid "Company address for this order" msgstr "" -#: order/models.py:443 order/models.py:899 +#: order/models.py:465 order/models.py:930 msgid "Order reference" msgstr "Orderreferentie" -#: order/models.py:451 order/models.py:923 +#: order/models.py:473 order/models.py:954 msgid "Purchase order status" msgstr "Inkooporder status" -#: order/models.py:466 +#: order/models.py:488 msgid "Company from which the items are being ordered" msgstr "Bedrijf waar de artikelen van worden besteld" -#: order/models.py:477 order/templates/order/order_base.html:148 -#: templates/js/translated/purchase_order.js:1703 +#: order/models.py:499 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1702 msgid "Supplier Reference" msgstr "Leveranciersreferentie" -#: order/models.py:478 +#: order/models.py:500 msgid "Supplier order reference code" msgstr "Order referentiecode van leverancier" -#: order/models.py:487 +#: order/models.py:509 msgid "received by" msgstr "ontvangen door" -#: order/models.py:493 order/models.py:2036 +#: order/models.py:515 order/models.py:2085 msgid "Issue Date" msgstr "Datum van uitgifte" -#: order/models.py:494 order/models.py:2037 +#: order/models.py:516 order/models.py:2086 msgid "Date order was issued" msgstr "Order uitgegeven op datum" -#: order/models.py:501 order/models.py:2044 +#: order/models.py:523 order/models.py:2093 msgid "Date order was completed" msgstr "Order voltooid op datum" -#: order/models.py:545 +#: order/models.py:567 msgid "Part supplier must match PO supplier" msgstr "Onderdeelleverancier moet overeenkomen met de Inkooporderleverancier" -#: order/models.py:739 +#: order/models.py:761 msgid "Quantity must be a positive number" msgstr "Hoeveelheid moet een positief getal zijn" -#: order/models.py:911 +#: order/models.py:942 msgid "Company to which the items are being sold" msgstr "Bedrijf waaraan de artikelen worden verkocht" -#: order/models.py:934 order/models.py:2029 +#: order/models.py:965 order/models.py:2078 msgid "Customer Reference " msgstr "Klantreferentie " -#: order/models.py:935 order/models.py:2030 +#: order/models.py:966 order/models.py:2079 msgid "Customer order reference code" msgstr "Klant order referentiecode" -#: order/models.py:939 order/models.py:1658 -#: templates/js/translated/sales_order.js:843 -#: templates/js/translated/sales_order.js:1024 +#: order/models.py:970 order/models.py:1698 +#: templates/js/translated/sales_order.js:879 +#: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "Verzenddatum" -#: order/models.py:948 +#: order/models.py:979 msgid "shipped by" msgstr "verzonden door" -#: order/models.py:999 -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:1004 +#: order/models.py:1029 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1008 templates/js/translated/sales_order.js:506 +#: order/models.py:1033 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:1013 +#: order/models.py:1038 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:1260 +#: order/models.py:1300 msgid "Item quantity" msgstr "Hoeveelheid artikelen" -#: order/models.py:1277 +#: order/models.py:1317 msgid "Line item reference" msgstr "Artikelregel referentie" -#: order/models.py:1284 +#: order/models.py:1324 msgid "Line item notes" msgstr "Artikel notities" -#: order/models.py:1296 +#: order/models.py:1336 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1317 +#: order/models.py:1357 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1323 +#: order/models.py:1363 msgid "Context" msgstr "" -#: order/models.py:1324 +#: order/models.py:1364 msgid "Additional context for this line" msgstr "Additionele context voor deze regel" -#: order/models.py:1334 +#: order/models.py:1374 msgid "Unit price" msgstr "Stukprijs" -#: order/models.py:1367 +#: order/models.py:1407 msgid "Supplier part must match supplier" msgstr "Leveranciersonderdeel moet overeenkomen met leverancier" -#: order/models.py:1374 +#: order/models.py:1414 msgid "deleted" msgstr "verwijderd" -#: order/models.py:1402 +#: order/models.py:1442 msgid "Supplier part" msgstr "Leveranciersonderdeel" -#: order/models.py:1409 order/templates/order/order_base.html:196 +#: order/models.py:1449 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 #: templates/js/translated/purchase_order.js:1306 -#: templates/js/translated/purchase_order.js:2170 -#: templates/js/translated/return_order.js:764 +#: templates/js/translated/purchase_order.js:2169 +#: templates/js/translated/return_order.js:763 #: templates/js/translated/table_filters.js:120 #: templates/js/translated/table_filters.js:602 msgid "Received" msgstr "Ontvangen" -#: order/models.py:1410 +#: order/models.py:1450 msgid "Number of items received" msgstr "Aantal ontvangen artikelen" -#: order/models.py:1418 stock/models.py:923 stock/serializers.py:400 +#: order/models.py:1458 stock/models.py:944 stock/serializers.py:529 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2313 +#: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "Inkoopprijs" -#: order/models.py:1419 +#: order/models.py:1459 msgid "Unit purchase price" msgstr "Aankoopprijs per stuk" -#: order/models.py:1434 +#: order/models.py:1474 msgid "Where does the Purchaser want this item to be stored?" msgstr "Waar wil de inkoper dat dit artikel opgeslagen wordt?" -#: order/models.py:1525 +#: order/models.py:1565 msgid "Virtual part cannot be assigned to a sales order" msgstr "Virtueel onderdeel kan niet worden toegewezen aan een verkooporder" -#: order/models.py:1530 +#: order/models.py:1570 msgid "Only salable parts can be assigned to a sales order" msgstr "Alleen verkoopbare onderdelen kunnen aan een verkooporder worden toegewezen" -#: order/models.py:1556 part/templates/part/part_pricing.html:107 +#: order/models.py:1596 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "Verkoopprijs" -#: order/models.py:1557 +#: order/models.py:1597 msgid "Unit sale price" msgstr "Prijs per stuk" -#: order/models.py:1567 +#: order/models.py:1607 msgid "Shipped quantity" msgstr "Verzonden hoeveelheid" -#: order/models.py:1659 +#: order/models.py:1699 msgid "Date of shipment" msgstr "Datum van verzending" -#: order/models.py:1665 templates/js/translated/sales_order.js:1036 +#: order/models.py:1705 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1666 +#: order/models.py:1706 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1674 +#: order/models.py:1714 msgid "Checked By" msgstr "Gecontroleerd door" -#: order/models.py:1675 +#: order/models.py:1715 msgid "User who checked this shipment" msgstr "Gebruiker die deze zending gecontroleerd heeft" -#: order/models.py:1682 order/models.py:1895 order/serializers.py:1354 -#: order/serializers.py:1464 templates/js/translated/model_renderers.js:448 +#: order/models.py:1722 order/models.py:1935 order/serializers.py:1354 +#: order/serializers.py:1464 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "Zending" -#: order/models.py:1683 +#: order/models.py:1723 msgid "Shipment number" msgstr "Zendingsnummer" -#: order/models.py:1691 +#: order/models.py:1731 msgid "Tracking Number" msgstr "Volgnummer" -#: order/models.py:1692 +#: order/models.py:1732 msgid "Shipment tracking information" msgstr "Zending volginformatie" -#: order/models.py:1699 +#: order/models.py:1739 msgid "Invoice Number" msgstr "Factuurnummer" -#: order/models.py:1700 +#: order/models.py:1740 msgid "Reference number for associated invoice" msgstr "Referentienummer voor bijbehorende factuur" -#: order/models.py:1720 +#: order/models.py:1760 msgid "Shipment has already been sent" msgstr "Verzending is al verzonden" -#: order/models.py:1723 +#: order/models.py:1763 msgid "Shipment has no allocated stock items" msgstr "Zending heeft geen toegewezen voorraadartikelen" -#: order/models.py:1841 order/models.py:1843 +#: order/models.py:1881 order/models.py:1883 msgid "Stock item has not been assigned" msgstr "Voorraadartikel is niet toegewezen" -#: order/models.py:1850 +#: order/models.py:1890 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:1853 +#: order/models.py:1893 msgid "Cannot allocate stock to a line without a part" msgstr "Kan voorraad niet toewijzen aan een regel zonder onderdeel" -#: order/models.py:1856 +#: order/models.py:1896 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Toewijzingshoeveelheid kan niet hoger zijn dan de voorraadhoeveelheid" -#: order/models.py:1875 order/serializers.py:1231 +#: order/models.py:1915 order/serializers.py:1231 msgid "Quantity must be 1 for serialized stock item" msgstr "Hoeveelheid moet 1 zijn voor geserialiseerd voorraadartikel" -#: order/models.py:1878 +#: order/models.py:1918 msgid "Sales order does not match shipment" msgstr "Verkooporder komt niet overeen met zending" -#: order/models.py:1879 plugin/base/barcodes/api.py:481 +#: order/models.py:1919 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "Verzending komt niet overeen met verkooporder" -#: order/models.py:1887 +#: order/models.py:1927 msgid "Line" msgstr "Regel" -#: order/models.py:1896 +#: order/models.py:1936 msgid "Sales order shipment reference" msgstr "Verzendreferentie verkooporder" -#: order/models.py:1909 order/models.py:2217 -#: templates/js/translated/return_order.js:722 +#: order/models.py:1949 order/models.py:2266 +#: templates/js/translated/return_order.js:721 msgid "Item" msgstr "Artikel" -#: order/models.py:1910 +#: order/models.py:1950 msgid "Select stock item to allocate" msgstr "Selecteer voorraadartikel om toe te wijzen" -#: order/models.py:1919 +#: order/models.py:1959 msgid "Enter stock allocation quantity" msgstr "Voer voorraadtoewijzingshoeveelheid in" -#: order/models.py:1999 +#: order/models.py:2048 msgid "Return Order reference" msgstr "" -#: order/models.py:2011 +#: order/models.py:2060 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2023 +#: order/models.py:2072 msgid "Return order status" msgstr "" -#: order/models.py:2202 +#: order/models.py:2251 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2218 +#: order/models.py:2267 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2224 +#: order/models.py:2273 msgid "Received Date" msgstr "" -#: order/models.py:2225 +#: order/models.py:2274 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2236 templates/js/translated/return_order.js:733 +#: order/models.py:2285 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2237 +#: order/models.py:2286 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2244 +#: order/models.py:2293 msgid "Cost associated with return or repair for this line item" msgstr "" #: order/serializers.py:80 order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 -#: report/templates/report/inventree_po_report_base.html:22 -#: report/templates/report/inventree_return_order_report_base.html:19 -#: report/templates/report/inventree_so_report_base.html:22 +#: report/templates/report/inventree_purchase_order_report.html:22 +#: report/templates/report/inventree_return_order_report.html:19 +#: report/templates/report/inventree_sales_order_report.html:22 msgid "Line Items" msgstr "Artikelen" @@ -5595,7 +5526,7 @@ msgstr "Order markeren als voltooid" #: order/templates/order/order_base.html:84 #: order/templates/order/return_order_base.html:87 -#: order/templates/order/sales_order_base.html:93 +#: order/templates/order/sales_order_base.html:97 msgid "Complete Order" msgstr "Order Voltooien" @@ -5605,13 +5536,13 @@ msgstr "" #: order/templates/order/order_base.html:106 #: order/templates/order/return_order_base.html:101 -#: order/templates/order/sales_order_base.html:106 +#: order/templates/order/sales_order_base.html:110 msgid "Order Reference" msgstr "Order Referentie" #: order/templates/order/order_base.html:111 #: order/templates/order/return_order_base.html:106 -#: order/templates/order/sales_order_base.html:111 +#: order/templates/order/sales_order_base.html:115 msgid "Order Description" msgstr "Order Beschrijving" @@ -5620,19 +5551,19 @@ msgid "No suppplier information available" msgstr "Geen leveranciersinformatie beschikbaar" #: order/templates/order/order_base.html:154 -#: order/templates/order/sales_order_base.html:157 +#: order/templates/order/sales_order_base.html:161 msgid "Completed Line Items" msgstr "Afgeronde artikelen" #: order/templates/order/order_base.html:160 -#: order/templates/order/sales_order_base.html:163 -#: order/templates/order/sales_order_base.html:173 +#: order/templates/order/sales_order_base.html:167 +#: order/templates/order/sales_order_base.html:177 msgid "Incomplete" msgstr "Incompleet" #: order/templates/order/order_base.html:179 #: order/templates/order/return_order_base.html:157 -#: report/templates/report/inventree_build_order_base.html:121 +#: report/templates/report/inventree_build_order_report.html:121 msgid "Issued" msgstr "Uitgegeven" @@ -5642,15 +5573,15 @@ msgstr "Totale kosten" #: order/templates/order/order_base.html:228 #: order/templates/order/return_order_base.html:199 -#: order/templates/order/sales_order_base.html:239 +#: order/templates/order/sales_order_base.html:243 msgid "Total cost could not be calculated" msgstr "Totale kosten konden niet worden berekend" -#: order/templates/order/order_base.html:318 +#: order/templates/order/order_base.html:314 msgid "Purchase Order QR Code" msgstr "" -#: order/templates/order/order_base.html:330 +#: order/templates/order/order_base.html:326 msgid "Link Barcode to Purchase Order" msgstr "" @@ -5707,8 +5638,8 @@ msgstr "" #: templates/js/translated/build.js:1629 #: templates/js/translated/purchase_order.js:696 #: templates/js/translated/purchase_order.js:1236 -#: templates/js/translated/return_order.js:506 -#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/return_order.js:505 +#: templates/js/translated/sales_order.js:1145 #: templates/js/translated/stock.js:714 templates/js/translated/stock.js:883 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -5762,7 +5693,7 @@ msgstr "Inkooporder Artikelen" #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 #: templates/js/translated/purchase_order.js:414 -#: templates/js/translated/return_order.js:459 +#: templates/js/translated/return_order.js:458 #: templates/js/translated/sales_order.js:237 msgid "Add Line Item" msgstr "Artikel toevoegen" @@ -5811,30 +5742,30 @@ msgid "Print packing list" msgstr "Pakbon afdrukken" #: order/templates/order/return_order_base.html:138 -#: order/templates/order/sales_order_base.html:151 -#: templates/js/translated/return_order.js:309 -#: templates/js/translated/sales_order.js:797 +#: order/templates/order/sales_order_base.html:155 +#: templates/js/translated/return_order.js:308 +#: templates/js/translated/sales_order.js:833 msgid "Customer Reference" msgstr "Klantreferentie" #: order/templates/order/return_order_base.html:195 -#: order/templates/order/sales_order_base.html:235 +#: order/templates/order/sales_order_base.html:239 #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1072 -#: templates/js/translated/purchase_order.js:1753 -#: templates/js/translated/return_order.js:381 -#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/purchase_order.js:1752 +#: templates/js/translated/return_order.js:380 +#: templates/js/translated/sales_order.js:891 msgid "Total Cost" msgstr "" -#: order/templates/order/return_order_base.html:263 +#: order/templates/order/return_order_base.html:259 msgid "Return Order QR Code" msgstr "" -#: order/templates/order/return_order_base.html:275 +#: order/templates/order/return_order_base.html:271 msgid "Link Barcode to Return Order" msgstr "" @@ -5852,25 +5783,30 @@ msgid "Ship Items" msgstr "" #: order/templates/order/sales_order_base.html:92 -#: templates/js/translated/sales_order.js:484 +#: order/templates/order/sales_order_base.html:93 +msgid "Mark As Shipped" +msgstr "" + +#: order/templates/order/sales_order_base.html:96 +#: templates/js/translated/sales_order.js:536 msgid "Complete Sales Order" msgstr "Voltooi Verkooporder" -#: order/templates/order/sales_order_base.html:131 +#: order/templates/order/sales_order_base.html:135 msgid "This Sales Order has not been fully allocated" msgstr "Deze Verkooporder is niet volledig toegewezen" -#: order/templates/order/sales_order_base.html:169 +#: order/templates/order/sales_order_base.html:173 #: order/templates/order/sales_order_detail.html:99 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "Voltooide Verzendingen" -#: order/templates/order/sales_order_base.html:312 +#: order/templates/order/sales_order_base.html:321 msgid "Sales Order QR Code" msgstr "" -#: order/templates/order/sales_order_base.html:324 +#: order/templates/order/sales_order_base.html:333 msgid "Link Barcode to Sales Order" msgstr "" @@ -5914,12 +5850,12 @@ 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:39 part/admin.py:404 part/models.py:3921 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:406 part/models.py:3964 part/stocktake.py:218 #: stock/admin.py:153 msgid "Part ID" msgstr "Onderdeel-id" -#: part/admin.py:41 part/admin.py:411 part/models.py:3922 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:413 part/models.py:3965 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "Onderdeel naam" @@ -5928,20 +5864,20 @@ msgstr "Onderdeel naam" msgid "Part Description" msgstr "Onderdeel omschrijving" -#: part/admin.py:48 part/models.py:904 part/templates/part/part_base.html:269 -#: report/templates/report/inventree_slr_report.html:103 -#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2341 -#: templates/js/translated/stock.js:2038 +#: part/admin.py:48 part/models.py:947 part/templates/part/part_base.html:269 +#: report/templates/report/inventree_stock_location_report.html:103 +#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 +#: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:913 part/templates/part/part_base.html:277 -#: report/models.py:195 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2347 +#: part/admin.py:50 part/models.py:956 part/templates/part/part_base.html:277 +#: report/models.py:161 templates/js/translated/part.js:1231 +#: templates/js/translated/part.js:2346 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:317 part/models.py:886 +#: part/admin.py:53 part/admin.py:319 part/models.py:929 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5950,15 +5886,15 @@ msgstr "" msgid "Part Image" msgstr "" -#: part/admin.py:63 part/admin.py:300 part/stocktake.py:221 +#: part/admin.py:63 part/admin.py:302 part/stocktake.py:221 msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:302 part/stocktake.py:222 +#: part/admin.py:67 part/admin.py:304 part/stocktake.py:222 msgid "Category Name" msgstr "" -#: part/admin.py:71 part/admin.py:314 +#: part/admin.py:71 part/admin.py:316 msgid "Default Location ID" msgstr "" @@ -5966,11 +5902,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:872 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:915 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1000 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1043 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5983,160 +5919,164 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3080 part/models.py:3094 +#: part/admin.py:155 part/models.py:3123 part/models.py:3137 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3087 part/models.py:3101 +#: part/admin.py:158 part/models.py:3130 part/models.py:3144 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" -#: part/admin.py:306 part/admin.py:393 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:211 msgid "Parent ID" msgstr "" -#: part/admin.py:310 part/admin.py:400 stock/admin.py:62 +#: part/admin.py:312 part/admin.py:402 stock/admin.py:62 msgid "Parent Name" msgstr "" -#: part/admin.py:318 part/templates/part/category.html:88 +#: part/admin.py:320 part/templates/part/category.html:88 #: part/templates/part/category.html:101 msgid "Category Path" msgstr "" -#: part/admin.py:323 part/models.py:391 part/serializers.py:117 +#: part/admin.py:325 part/models.py:393 part/serializers.py:117 #: part/serializers.py:272 part/serializers.py:391 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2803 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "Onderdelen" -#: part/admin.py:384 +#: part/admin.py:386 msgid "BOM Level" msgstr "" -#: part/admin.py:387 +#: part/admin.py:389 msgid "BOM Item ID" msgstr "" -#: part/admin.py:397 +#: part/admin.py:399 msgid "Parent IPN" msgstr "" -#: part/admin.py:408 part/models.py:3923 +#: part/admin.py:410 part/models.py:3966 msgid "Part IPN" msgstr "" -#: part/admin.py:421 part/serializers.py:1261 +#: part/admin.py:423 part/serializers.py:1276 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:426 part/serializers.py:1276 +#: part/admin.py:428 part/serializers.py:1291 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:119 +#: part/api.py:112 msgid "Starred" msgstr "" -#: part/api.py:121 +#: part/api.py:114 msgid "Filter by starred categories" msgstr "" -#: part/api.py:138 stock/api.py:284 +#: part/api.py:131 stock/api.py:318 msgid "Depth" msgstr "" -#: part/api.py:138 +#: part/api.py:131 msgid "Filter by category depth" msgstr "" -#: part/api.py:156 stock/api.py:302 +#: part/api.py:149 stock/api.py:336 msgid "Cascade" msgstr "" -#: part/api.py:158 +#: part/api.py:151 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:178 +#: part/api.py:171 msgid "Parent" msgstr "" -#: part/api.py:180 +#: part/api.py:173 msgid "Filter by parent category" msgstr "" -#: part/api.py:213 +#: part/api.py:206 msgid "Exclude Tree" msgstr "" -#: part/api.py:215 +#: part/api.py:208 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:461 +#: part/api.py:455 msgid "Has Results" msgstr "" -#: part/api.py:628 +#: part/api.py:622 msgid "Incoming Purchase Order" msgstr "Binnenkomende Inkooporder" -#: part/api.py:646 +#: part/api.py:640 msgid "Outgoing Sales Order" msgstr "Uitgaande Verkooporder" -#: part/api.py:662 +#: part/api.py:656 msgid "Stock produced by Build Order" msgstr "Geproduceerde voorraad door Productieorder" -#: part/api.py:746 +#: part/api.py:740 msgid "Stock required for Build Order" msgstr "Voorraad vereist voor Productieorder" -#: part/api.py:893 +#: part/api.py:887 msgid "Valid" msgstr "" -#: part/api.py:894 +#: part/api.py:888 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:900 +#: part/api.py:894 msgid "This option must be selected" msgstr "" -#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866 -#: part/serializers.py:406 part/serializers.py:1117 -#: part/templates/part/part_base.html:260 stock/api.py:745 +#: part/api.py:1111 +msgid "BOM Valid" +msgstr "" + +#: part/api.py:1515 part/models.py:939 part/models.py:3429 part/models.py:3909 +#: part/serializers.py:406 part/serializers.py:1132 +#: part/templates/part/part_base.html:260 stock/api.py:779 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2377 +#: templates/js/translated/part.js:2376 msgid "Category" msgstr "" -#: part/api.py:1849 +#: part/api.py:1803 msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:101 part/models.py:939 +#: part/bom.py:170 part/models.py:102 part/models.py:982 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "Standaard locatie" -#: part/bom.py:171 part/serializers.py:822 +#: part/bom.py:171 part/serializers.py:837 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "Totale Voorraad" @@ -6145,698 +6085,712 @@ msgstr "Totale Voorraad" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:82 part/models.py:3867 part/templates/part/category.html:16 +#: part/models.py:83 part/models.py:3910 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Onderdeel Categorie" -#: part/models.py:83 part/templates/part/category.html:136 +#: part/models.py:84 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "Onderdeel Categorieën" -#: part/models.py:102 +#: part/models.py:103 msgid "Default location for parts in this category" msgstr "Standaard locatie voor onderdelen in deze categorie" -#: part/models.py:107 stock/models.py:165 templates/js/translated/part.js:2810 -#: templates/js/translated/stock.js:2775 +#: part/models.py:108 stock/models.py:177 templates/js/translated/part.js:2809 +#: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "" -#: part/models.py:109 +#: part/models.py:110 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "Onderdelen mogen niet rechtstreeks aan een structurele categorie worden toegewezen, maar kunnen worden toegewezen aan subcategorieën." -#: part/models.py:118 +#: part/models.py:119 msgid "Default keywords" msgstr "" -#: part/models.py:119 +#: part/models.py:120 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:125 stock/models.py:89 stock/models.py:148 +#: part/models.py:126 stock/models.py:89 stock/models.py:160 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:126 stock/models.py:149 +#: part/models.py:127 stock/models.py:161 msgid "Icon (optional)" msgstr "" -#: part/models.py:148 +#: part/models.py:149 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:484 +#: part/models.py:482 +msgid "Cannot delete this part as it is still active" +msgstr "" + +#: part/models.py:489 +msgid "Cannot delete this part as it is used in an assembly" +msgstr "" + +#: part/models.py:527 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:532 part/models.py:539 +#: part/models.py:575 part/models.py:582 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:551 +#: part/models.py:594 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:616 +#: part/models.py:659 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:696 +#: part/models.py:739 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:801 +#: part/models.py:844 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:811 +#: part/models.py:854 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:826 +#: part/models.py:869 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:855 part/models.py:3922 +#: part/models.py:898 part/models.py:3965 msgid "Part name" msgstr "Onderdeel naam" -#: part/models.py:860 +#: part/models.py:903 msgid "Is Template" msgstr "" -#: part/models.py:861 +#: part/models.py:904 msgid "Is this part a template part?" msgstr "" -#: part/models.py:871 +#: part/models.py:914 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:879 +#: part/models.py:922 msgid "Part description (optional)" msgstr "" -#: part/models.py:887 +#: part/models.py:930 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:897 +#: part/models.py:940 msgid "Part category" msgstr "Onderdeel Categorie" -#: part/models.py:905 +#: part/models.py:948 msgid "Internal Part Number" msgstr "Intern Onderdeelnummer" -#: part/models.py:912 +#: part/models.py:955 msgid "Part revision or version number" msgstr "" -#: part/models.py:937 +#: part/models.py:980 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:983 part/templates/part/part_base.html:376 +#: part/models.py:1026 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:984 +#: part/models.py:1027 msgid "Default supplier part" msgstr "Standaardleverancier" -#: part/models.py:991 +#: part/models.py:1034 msgid "Default Expiry" msgstr "" -#: part/models.py:992 +#: part/models.py:1035 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1001 +#: part/models.py:1044 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1010 +#: part/models.py:1053 msgid "Units of measure for this part" msgstr "Eenheden voor dit onderdeel" -#: part/models.py:1017 +#: part/models.py:1060 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1023 +#: part/models.py:1066 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1029 +#: part/models.py:1072 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1035 +#: part/models.py:1078 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1041 +#: part/models.py:1084 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1045 +#: part/models.py:1088 msgid "Is this part active?" msgstr "" -#: part/models.py:1051 +#: part/models.py:1094 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1057 +#: part/models.py:1100 msgid "BOM checksum" msgstr "" -#: part/models.py:1058 +#: part/models.py:1101 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1066 +#: part/models.py:1109 msgid "BOM checked by" msgstr "" -#: part/models.py:1071 +#: part/models.py:1114 msgid "BOM checked date" msgstr "" -#: part/models.py:1087 +#: part/models.py:1130 msgid "Creation User" msgstr "" -#: part/models.py:1097 +#: part/models.py:1140 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1102 part/templates/part/part_base.html:339 +#: part/models.py:1145 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 -#: templates/js/translated/part.js:2471 +#: templates/js/translated/part.js:2470 msgid "Last Stocktake" msgstr "" -#: part/models.py:1975 +#: part/models.py:2018 msgid "Sell multiple" msgstr "" -#: part/models.py:2994 +#: part/models.py:3037 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3010 +#: part/models.py:3053 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3011 +#: part/models.py:3054 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3017 +#: part/models.py:3060 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3018 +#: part/models.py:3061 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3024 +#: part/models.py:3067 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3025 +#: part/models.py:3068 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3031 +#: part/models.py:3074 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3032 +#: part/models.py:3075 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3038 +#: part/models.py:3081 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3039 +#: part/models.py:3082 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3045 +#: part/models.py:3088 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3046 +#: part/models.py:3089 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3052 +#: part/models.py:3095 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3053 +#: part/models.py:3096 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3059 +#: part/models.py:3102 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3060 +#: part/models.py:3103 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3066 +#: part/models.py:3109 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3067 +#: part/models.py:3110 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3073 +#: part/models.py:3116 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3074 +#: part/models.py:3117 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3081 +#: part/models.py:3124 msgid "Override minimum cost" msgstr "" -#: part/models.py:3088 +#: part/models.py:3131 msgid "Override maximum cost" msgstr "" -#: part/models.py:3095 +#: part/models.py:3138 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3102 +#: part/models.py:3145 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3108 +#: part/models.py:3151 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3109 +#: part/models.py:3152 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3115 +#: part/models.py:3158 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3116 +#: part/models.py:3159 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3122 +#: part/models.py:3165 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3123 +#: part/models.py:3166 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3129 +#: part/models.py:3172 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3130 +#: part/models.py:3173 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3149 +#: part/models.py:3192 msgid "Part for stocktake" msgstr "Onderdeel voor voorraadcontrole" -#: part/models.py:3154 +#: part/models.py:3197 msgid "Item Count" msgstr "" -#: part/models.py:3155 +#: part/models.py:3198 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3163 +#: part/models.py:3206 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3167 part/models.py:3250 +#: part/models.py:3210 part/models.py:3293 #: part/templates/part/part_scheduling.html:13 -#: report/templates/report/inventree_test_report_base.html:106 +#: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 #: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 -#: templates/js/translated/purchase_order.js:1732 -#: templates/js/translated/stock.js:2824 +#: templates/js/translated/purchase_order.js:1731 +#: templates/js/translated/stock.js:2821 msgid "Date" msgstr "Datum" -#: part/models.py:3168 +#: part/models.py:3211 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3176 +#: part/models.py:3219 msgid "Additional notes" msgstr "" -#: part/models.py:3186 +#: part/models.py:3229 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3192 +#: part/models.py:3235 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3193 +#: part/models.py:3236 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3199 +#: part/models.py:3242 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3200 +#: part/models.py:3243 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3256 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3299 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3257 +#: part/models.py:3300 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3262 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3305 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "Aantal onderdelen" -#: part/models.py:3263 +#: part/models.py:3306 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3273 +#: part/models.py:3316 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3435 +#: part/models.py:3478 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3446 +#: part/models.py:3489 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3457 +#: part/models.py:3500 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3474 templates/js/translated/part.js:2879 +#: part/models.py:3517 templates/js/translated/part.js:2878 msgid "Test Name" msgstr "" -#: part/models.py:3475 +#: part/models.py:3518 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3481 +#: part/models.py:3524 msgid "Test Key" msgstr "" -#: part/models.py:3482 +#: part/models.py:3525 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3489 +#: part/models.py:3532 msgid "Test Description" msgstr "" -#: part/models.py:3490 +#: part/models.py:3533 msgid "Enter description for this test" msgstr "" -#: part/models.py:3494 +#: part/models.py:3537 report/models.py:208 +#: templates/js/translated/part.js:2899 +#: templates/js/translated/table_filters.js:481 +msgid "Enabled" +msgstr "Ingeschakeld" + +#: part/models.py:3537 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3499 templates/js/translated/part.js:2908 +#: part/models.py:3542 templates/js/translated/part.js:2907 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3500 +#: part/models.py:3543 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3505 templates/js/translated/part.js:2916 +#: part/models.py:3548 templates/js/translated/part.js:2915 msgid "Requires Value" msgstr "" -#: part/models.py:3506 +#: part/models.py:3549 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3511 templates/js/translated/part.js:2923 +#: part/models.py:3554 templates/js/translated/part.js:2922 msgid "Requires Attachment" msgstr "" -#: part/models.py:3513 +#: part/models.py:3556 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3560 +#: part/models.py:3603 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3565 +#: part/models.py:3608 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3585 +#: part/models.py:3628 msgid "Choices must be unique" msgstr "" -#: part/models.py:3602 +#: part/models.py:3645 msgid "Parameter template name must be unique" msgstr "De template van de parameter moet uniek zijn" -#: part/models.py:3617 +#: part/models.py:3660 msgid "Parameter Name" msgstr "Parameternaam" -#: part/models.py:3624 +#: part/models.py:3667 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3632 +#: part/models.py:3675 msgid "Parameter description" msgstr "" -#: part/models.py:3638 templates/js/translated/part.js:1627 +#: part/models.py:3681 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3639 +#: part/models.py:3682 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3644 templates/js/translated/part.js:1636 +#: part/models.py:3687 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3645 +#: part/models.py:3688 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3722 +#: part/models.py:3765 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3765 +#: part/models.py:3808 msgid "Parent Part" msgstr "" -#: part/models.py:3773 part/models.py:3874 part/models.py:3875 +#: part/models.py:3816 part/models.py:3917 part/models.py:3918 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3778 +#: part/models.py:3821 msgid "Data" msgstr "" -#: part/models.py:3779 +#: part/models.py:3822 msgid "Parameter Value" msgstr "Parameterwaarde" -#: part/models.py:3881 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3924 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3882 +#: part/models.py:3925 msgid "Default Parameter Value" msgstr "Standaard Parameter Waarde" -#: part/models.py:3920 +#: part/models.py:3963 msgid "Part ID or part name" msgstr "" -#: part/models.py:3921 +#: part/models.py:3964 msgid "Unique part ID value" msgstr "" -#: part/models.py:3923 +#: part/models.py:3966 msgid "Part IPN value" msgstr "" -#: part/models.py:3924 +#: part/models.py:3967 msgid "Level" msgstr "" -#: part/models.py:3924 +#: part/models.py:3967 msgid "BOM level" msgstr "" -#: part/models.py:4014 +#: part/models.py:4057 msgid "Select parent part" msgstr "" -#: part/models.py:4024 +#: part/models.py:4067 msgid "Sub part" msgstr "" -#: part/models.py:4025 +#: part/models.py:4068 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4036 +#: part/models.py:4079 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4042 +#: part/models.py:4085 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4048 +#: part/models.py:4091 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4055 part/templates/part/upload_bom.html:55 +#: part/models.py:4098 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4056 +#: part/models.py:4099 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4063 +#: part/models.py:4106 msgid "BOM item reference" msgstr "" -#: part/models.py:4071 +#: part/models.py:4114 msgid "BOM item notes" msgstr "" -#: part/models.py:4077 +#: part/models.py:4120 msgid "Checksum" msgstr "" -#: part/models.py:4078 +#: part/models.py:4121 msgid "BOM line checksum" msgstr "" -#: part/models.py:4083 templates/js/translated/table_filters.js:174 +#: part/models.py:4126 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4084 +#: part/models.py:4127 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4089 part/templates/part/upload_bom.html:57 +#: part/models.py:4132 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4090 +#: part/models.py:4133 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4095 part/templates/part/upload_bom.html:56 +#: part/models.py:4138 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4096 +#: part/models.py:4139 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4181 stock/models.py:647 +#: part/models.py:4224 stock/models.py:668 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4191 part/models.py:4193 +#: part/models.py:4234 part/models.py:4236 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4333 +#: part/models.py:4376 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4354 +#: part/models.py:4397 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4367 +#: part/models.py:4410 msgid "Parent BOM item" msgstr "" -#: part/models.py:4375 +#: part/models.py:4418 msgid "Substitute part" msgstr "" -#: part/models.py:4391 +#: part/models.py:4434 msgid "Part 1" msgstr "" -#: part/models.py:4399 +#: part/models.py:4442 msgid "Part 2" msgstr "" -#: part/models.py:4400 +#: part/models.py:4443 msgid "Select Related Part" msgstr "" -#: part/models.py:4419 +#: part/models.py:4462 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4424 +#: part/models.py:4467 msgid "Duplicate relationship already exists" msgstr "" @@ -6854,7 +6808,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:406 +#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:535 msgid "Purchase currency of this stock item" msgstr "" @@ -6870,299 +6824,299 @@ msgstr "Geen onderdelen geselecteerd" msgid "Select category" msgstr "" -#: part/serializers.py:437 +#: part/serializers.py:442 msgid "Original Part" msgstr "" -#: part/serializers.py:438 +#: part/serializers.py:443 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:448 msgid "Copy Image" msgstr "Afbeelding kopiëren" -#: part/serializers.py:444 +#: part/serializers.py:449 msgid "Copy image from original part" msgstr "Afbeelding kopiëren van het oorspronkelijke onderdeel" -#: part/serializers.py:450 part/templates/part/detail.html:277 +#: part/serializers.py:455 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:451 +#: part/serializers.py:456 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:462 msgid "Copy Parameters" msgstr "Parameters kopiëren" -#: part/serializers.py:458 +#: part/serializers.py:463 msgid "Copy parameter data from original part" msgstr "Parameter data kopiëren van het originele onderdeel" -#: part/serializers.py:464 +#: part/serializers.py:469 msgid "Copy Notes" msgstr "" -#: part/serializers.py:465 +#: part/serializers.py:470 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:478 +#: part/serializers.py:488 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:490 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:487 +#: part/serializers.py:497 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:488 +#: part/serializers.py:498 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:500 +#: part/serializers.py:515 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:531 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:526 +#: part/serializers.py:541 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:533 +#: part/serializers.py:548 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:542 +#: part/serializers.py:557 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:553 +#: part/serializers.py:568 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:560 +#: part/serializers.py:575 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:823 +#: part/serializers.py:838 msgid "External Stock" msgstr "" -#: part/serializers.py:825 +#: part/serializers.py:840 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:828 +#: part/serializers.py:843 msgid "Variant Stock" msgstr "" -#: part/serializers.py:856 part/templates/part/copy_part.html:9 +#: part/serializers.py:871 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:857 +#: part/serializers.py:872 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:863 templates/js/translated/part.js:102 +#: part/serializers.py:878 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:864 +#: part/serializers.py:879 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:870 +#: part/serializers.py:885 msgid "Supplier Information" msgstr "" -#: part/serializers.py:871 +#: part/serializers.py:886 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:879 +#: part/serializers.py:894 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:880 +#: part/serializers.py:895 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:885 +#: part/serializers.py:900 msgid "Existing Image" msgstr "" -#: part/serializers.py:886 +#: part/serializers.py:901 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:918 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1109 +#: part/serializers.py:1124 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1119 +#: part/serializers.py:1134 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1129 +#: part/serializers.py:1144 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1135 +#: part/serializers.py:1150 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1136 +#: part/serializers.py:1151 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1141 +#: part/serializers.py:1156 msgid "Generate Report" msgstr "" -#: part/serializers.py:1142 +#: part/serializers.py:1157 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1147 +#: part/serializers.py:1162 msgid "Update Parts" msgstr "" -#: part/serializers.py:1148 +#: part/serializers.py:1163 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1156 +#: part/serializers.py:1171 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1262 +#: part/serializers.py:1277 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1269 +#: part/serializers.py:1284 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1277 +#: part/serializers.py:1292 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1284 +#: part/serializers.py:1299 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1313 +#: part/serializers.py:1328 msgid "Update" msgstr "" -#: part/serializers.py:1314 +#: part/serializers.py:1329 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1337 +#: part/serializers.py:1352 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1344 +#: part/serializers.py:1359 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1347 +#: part/serializers.py:1362 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1714 +#: part/serializers.py:1729 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1722 +#: part/serializers.py:1737 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1723 +#: part/serializers.py:1738 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1728 +#: part/serializers.py:1743 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1729 +#: part/serializers.py:1744 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1734 +#: part/serializers.py:1749 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1735 +#: part/serializers.py:1750 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1755 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1756 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1775 +#: part/serializers.py:1790 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1776 +#: part/serializers.py:1791 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1806 +#: part/serializers.py:1821 msgid "No part column specified" msgstr "" -#: part/serializers.py:1850 +#: part/serializers.py:1865 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1853 +#: part/serializers.py:1868 msgid "No matching part found" msgstr "" -#: part/serializers.py:1856 +#: part/serializers.py:1871 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1865 +#: part/serializers.py:1880 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1888 msgid "Invalid quantity" msgstr "Ongeldige hoeveelheid" -#: part/serializers.py:1894 +#: part/serializers.py:1909 msgid "At least one BOM item is required" msgstr "" #: part/stocktake.py:224 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:2085 +#: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" @@ -7314,7 +7268,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2218 users/models.py:204 +#: templates/js/translated/stock.js:2216 users/models.py:204 msgid "Stocktake" msgstr "" @@ -7412,15 +7366,15 @@ msgstr "" msgid "Part Manufacturers" msgstr "Onderdeelfabrikanten" -#: part/templates/part/detail.html:659 +#: part/templates/part/detail.html:655 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:667 +#: part/templates/part/detail.html:663 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:752 +#: part/templates/part/detail.html:748 msgid "Add Test Result Template" msgstr "" @@ -7479,7 +7433,7 @@ msgstr "" #: part/templates/part/part_base.html:52 #: stock/templates/stock/item_base.html:62 -#: stock/templates/stock/location.html:74 +#: stock/templates/stock/location.html:74 templates/js/translated/label.js:142 msgid "Print Label" msgstr "Label afdrukken" @@ -7501,7 +7455,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2293 +#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2292 msgid "Part actions" msgstr "" @@ -7550,7 +7504,7 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:163 -#: part/templates/part/part_base.html:682 +#: part/templates/part/part_base.html:681 msgid "Show Part Details" msgstr "" @@ -7573,7 +7527,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2444 +#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2443 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7596,19 +7550,19 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:512 +#: part/templates/part/part_base.html:511 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:529 +#: part/templates/part/part_base.html:528 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:580 +#: part/templates/part/part_base.html:579 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:676 +#: part/templates/part/part_base.html:675 msgid "Hide Part Details" msgstr "" @@ -7667,8 +7621,8 @@ msgstr "" #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 -#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 -#: templates/js/translated/stock.js:2072 templates/navbar.html:31 +#: templates/js/translated/part.js:2391 templates/js/translated/stock.js:1059 +#: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "Voorraad" @@ -7714,7 +7668,7 @@ msgstr "" #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 -#: templates/js/translated/stock.js:2248 +#: templates/js/translated/stock.js:2246 msgid "Last Updated" msgstr "" @@ -7786,7 +7740,7 @@ msgid "Update Pricing" msgstr "" #: part/templates/part/stock_count.html:7 -#: templates/js/translated/model_renderers.js:221 +#: templates/js/translated/model_renderers.js:227 #: templates/js/translated/part.js:704 templates/js/translated/part.js:2140 #: templates/js/translated/part.js:2142 msgid "No Stock" @@ -7866,7 +7820,7 @@ msgstr "Afbeelding van onderdeel niet gevonden" msgid "Part Pricing" msgstr "" -#: plugin/api.py:168 +#: plugin/api.py:170 msgid "Plugin cannot be deleted as it is currently active" msgstr "" @@ -7933,7 +7887,7 @@ msgid "Stock item does not match line item" msgstr "" #: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2589 -#: templates/js/translated/sales_order.js:1917 +#: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "Onvoldoende voorraad beschikbaar" @@ -8027,22 +7981,18 @@ msgstr "" msgid "Quantity to allocate" msgstr "" -#: plugin/base/label/label.py:39 +#: plugin/base/label/label.py:39 templates/js/translated/label.js:154 msgid "Label printing failed" msgstr "" -#: plugin/base/label/mixins.py:63 +#: plugin/base/label/mixins.py:56 msgid "Error rendering label to PDF" msgstr "" -#: plugin/base/label/mixins.py:76 +#: plugin/base/label/mixins.py:70 msgid "Error rendering label to HTML" msgstr "" -#: plugin/base/label/mixins.py:111 -msgid "Error rendering label to PNG" -msgstr "" - #: plugin/builtin/barcodes/inventree_barcode.py:25 msgid "InvenTree Barcodes" msgstr "" @@ -8054,7 +8004,7 @@ msgstr "" #: plugin/builtin/barcodes/inventree_barcode.py:28 #: plugin/builtin/integration/core_notifications.py:35 #: plugin/builtin/integration/currency_exchange.py:21 -#: plugin/builtin/labels/inventree_label.py:23 +#: plugin/builtin/labels/inventree_label.py:22 #: plugin/builtin/labels/inventree_machine.py:64 #: plugin/builtin/labels/label_sheet.py:63 #: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 @@ -8108,19 +8058,19 @@ msgstr "" msgid "Default currency exchange integration" msgstr "" -#: plugin/builtin/labels/inventree_label.py:20 +#: plugin/builtin/labels/inventree_label.py:19 msgid "InvenTree PDF label printer" msgstr "" -#: plugin/builtin/labels/inventree_label.py:21 +#: plugin/builtin/labels/inventree_label.py:20 msgid "Provides native support for printing PDF labels" msgstr "" -#: plugin/builtin/labels/inventree_label.py:29 +#: plugin/builtin/labels/inventree_label.py:28 msgid "Debug mode" msgstr "" -#: plugin/builtin/labels/inventree_label.py:30 +#: plugin/builtin/labels/inventree_label.py:29 msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "" @@ -8132,11 +8082,11 @@ msgstr "" msgid "Provides support for printing using a machine" msgstr "" -#: plugin/builtin/labels/inventree_machine.py:150 +#: plugin/builtin/labels/inventree_machine.py:151 msgid "last used" msgstr "" -#: plugin/builtin/labels/inventree_machine.py:167 +#: plugin/builtin/labels/inventree_machine.py:168 msgid "Options" msgstr "" @@ -8160,7 +8110,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:47 report/models.py:209 +#: plugin/builtin/labels/label_sheet.py:47 report/models.py:308 msgid "Landscape" msgstr "" @@ -8176,11 +8126,11 @@ msgstr "" msgid "Arrays multiple labels onto a single sheet" msgstr "" -#: plugin/builtin/labels/label_sheet.py:94 +#: plugin/builtin/labels/label_sheet.py:99 msgid "Label is too large for page size" msgstr "" -#: plugin/builtin/labels/label_sheet.py:128 +#: plugin/builtin/labels/label_sheet.py:133 msgid "No labels were generated" msgstr "" @@ -8273,61 +8223,62 @@ msgstr "" msgid "Uninstalled plugin successfully" msgstr "" -#: plugin/models.py:30 +#: plugin/models.py:35 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:31 +#: plugin/models.py:36 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:34 users/models.py:100 +#: plugin/models.py:42 users/models.py:100 msgid "Key" msgstr "" -#: plugin/models.py:34 +#: plugin/models.py:43 msgid "Key of plugin" msgstr "" -#: plugin/models.py:42 +#: plugin/models.py:51 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:49 plugin/serializers.py:90 +#: plugin/models.py:58 plugin/serializers.py:90 msgid "Package Name" msgstr "" -#: plugin/models.py:51 +#: plugin/models.py:60 msgid "Name of the installed package, if the plugin was installed via PIP" msgstr "" -#: plugin/models.py:56 +#: plugin/models.py:65 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:147 templates/js/translated/table_filters.js:370 +#: plugin/models.py:156 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "" -#: plugin/models.py:156 +#: plugin/models.py:165 msgid "Sample plugin" msgstr "" -#: plugin/models.py:164 +#: plugin/models.py:173 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:172 +#: plugin/models.py:181 msgid "Package Plugin" msgstr "" -#: plugin/models.py:196 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:205 report/models.py:475 +#: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" msgstr "" -#: plugin/models.py:243 +#: plugin/models.py:252 msgid "Method" msgstr "" @@ -8468,239 +8419,323 @@ msgstr "" msgid "Delete the plugin configuration from the database" msgstr "" -#: report/api.py:158 +#: report/api.py:77 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:197 report/api.py:234 +#: report/api.py:89 report/serializers.py:53 +msgid "Model Type" +msgstr "" + +#: report/api.py:92 report/models.py:439 report/serializers.py:98 +#: report/serializers.py:148 templates/js/translated/purchase_order.js:1747 +#: templates/js/translated/return_order.js:353 +#: templates/js/translated/sales_order.js:887 +#: templates/js/translated/sales_order.js:1047 +msgid "Items" +msgstr "" + +#: report/api.py:168 +msgid "Plugin not found" +msgstr "" + +#: report/api.py:170 +msgid "Plugin is not active" +msgstr "" + +#: report/api.py:172 +msgid "Plugin does not support label printing" +msgstr "" + +#: report/api.py:221 +msgid "Invalid label dimensions" +msgstr "" + +#: report/api.py:236 report/api.py:316 +msgid "No valid items provided to template" +msgstr "" + +#: report/api.py:271 +msgid "Error printing label" +msgstr "" + +#: report/api.py:362 report/api.py:398 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:319 -msgid "Test report" -msgstr "" - -#: report/helpers.py:15 +#: report/helpers.py:41 msgid "A4" msgstr "" -#: report/helpers.py:16 +#: report/helpers.py:42 msgid "A3" msgstr "" -#: report/helpers.py:17 +#: report/helpers.py:43 msgid "Legal" msgstr "" -#: report/helpers.py:18 +#: report/helpers.py:44 msgid "Letter" msgstr "" -#: report/models.py:177 +#: report/models.py:118 +msgid "Template file with this name already exists" +msgstr "" + +#: report/models.py:150 msgid "Template name" msgstr "" -#: report/models.py:183 -msgid "Report template file" +#: report/models.py:156 +msgid "Template description" msgstr "" -#: report/models.py:190 -msgid "Report template description" +#: report/models.py:162 +msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:196 -msgid "Report revision number (auto-increments)" +#: report/models.py:202 +msgid "Filename Pattern" +msgstr "Bestandsnaam Patroon" + +#: report/models.py:203 +msgid "Pattern for generating filenames" msgstr "" -#: report/models.py:204 +#: report/models.py:208 +msgid "Template is enabled" +msgstr "" + +#: report/models.py:214 +msgid "Target model type for template" +msgstr "" + +#: report/models.py:234 +msgid "Filters" +msgstr "" + +#: report/models.py:235 +msgid "Template query filters (comma-separated list of key=value pairs)" +msgstr "" + +#: report/models.py:295 report/models.py:362 +msgid "Template file" +msgstr "" + +#: report/models.py:303 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:210 +#: report/models.py:309 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:318 -msgid "Pattern for generating report filenames" +#: report/models.py:368 +msgid "Width [mm]" +msgstr "Breedte [mm]" + +#: report/models.py:369 +msgid "Label width, specified in mm" +msgstr "Label breedte, gespecificeerd in mm" + +#: report/models.py:375 +msgid "Height [mm]" +msgstr "Hoogte [mm]" + +#: report/models.py:376 +msgid "Label height, specified in mm" +msgstr "Label hoogte, gespecificeerd in mm" + +#: report/models.py:439 +msgid "Number of items to process" msgstr "" -#: report/models.py:325 -msgid "Report template is enabled" +#: report/models.py:445 +msgid "Report generation is complete" msgstr "" -#: report/models.py:347 -msgid "StockItem query filters (comma-separated list of key=value pairs)" +#: report/models.py:449 templates/js/translated/build.js:2177 +msgid "Progress" msgstr "" -#: report/models.py:354 -msgid "Include Installed Tests" +#: report/models.py:449 +msgid "Report generation progress" msgstr "" -#: report/models.py:356 -msgid "Include test results for stock items installed inside assembled item" +#: report/models.py:457 +msgid "Report Template" msgstr "" -#: report/models.py:424 -msgid "Build Filters" +#: report/models.py:464 report/models.py:487 +msgid "Output File" msgstr "" -#: report/models.py:425 -msgid "Build query filters (comma-separated list of key=value pairs" +#: report/models.py:465 report/models.py:488 +msgid "Generated output file" msgstr "" -#: report/models.py:464 -msgid "Part Filters" +#: report/models.py:476 +msgid "Label output plugin" msgstr "" -#: report/models.py:465 -msgid "Part query filters (comma-separated list of key=value pairs" +#: report/models.py:480 +msgid "Label Template" msgstr "" -#: report/models.py:497 -msgid "Purchase order query filters" -msgstr "Filters inkooporder" - -#: report/models.py:533 -msgid "Sales order query filters" -msgstr "Verkooporder zoekopdracht filters" - -#: report/models.py:569 -msgid "Return order query filters" -msgstr "" - -#: report/models.py:641 -msgid "Snippet file with this name already exists" -msgstr "" - -#: report/models.py:648 +#: report/models.py:503 msgid "Snippet" msgstr "" -#: report/models.py:649 +#: report/models.py:504 msgid "Report snippet file" msgstr "" -#: report/models.py:656 +#: report/models.py:511 msgid "Snippet file description" msgstr "" -#: report/models.py:714 -msgid "Asset file with this name already exists" -msgstr "" - -#: report/models.py:722 +#: report/models.py:529 msgid "Asset" msgstr "" -#: report/models.py:723 +#: report/models.py:530 msgid "Report asset file" msgstr "" -#: report/models.py:730 +#: report/models.py:537 msgid "Asset file description" msgstr "" -#: report/models.py:752 -msgid "stock location query filters (comma-separated list of key=value pairs)" +#: report/serializers.py:91 +msgid "Select report template" +msgstr "" + +#: report/serializers.py:99 report/serializers.py:149 +msgid "List of item primary keys to include in the report" +msgstr "" + +#: report/serializers.py:132 +msgid "Select label template" +msgstr "" + +#: report/serializers.py:140 +msgid "Printing Plugin" +msgstr "" + +#: report/serializers.py:141 +msgid "Select plugin to use for label printing" +msgstr "" + +#: report/templates/label/part_label.html:31 +#: report/templates/label/stockitem_qr.html:21 +#: report/templates/label/stocklocation_qr.html:20 +#: templates/allauth_2fa/setup.html:18 +msgid "QR Code" +msgstr "" + +#: report/templates/label/part_label_code128.html:31 +#: report/templates/label/stocklocation_qr_and_text.html:31 +#: templates/qr_code.html:7 +msgid "QR code" msgstr "" #: report/templates/report/inventree_bill_of_materials_report.html:133 msgid "Materials needed" msgstr "" -#: report/templates/report/inventree_build_order_base.html:146 +#: report/templates/report/inventree_build_order_report.html:146 msgid "Required For" msgstr "Vereist Voor" -#: report/templates/report/inventree_po_report_base.html:15 +#: report/templates/report/inventree_purchase_order_report.html:15 msgid "Supplier was deleted" msgstr "" -#: report/templates/report/inventree_po_report_base.html:30 -#: report/templates/report/inventree_so_report_base.html:30 +#: report/templates/report/inventree_purchase_order_report.html:30 +#: report/templates/report/inventree_sales_order_report.html:30 #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:834 -#: templates/js/translated/purchase_order.js:2116 -#: templates/js/translated/sales_order.js:1837 +#: templates/js/translated/purchase_order.js:2115 +#: templates/js/translated/sales_order.js:1873 msgid "Unit Price" msgstr "Stukprijs" -#: report/templates/report/inventree_po_report_base.html:55 -#: report/templates/report/inventree_return_order_report_base.html:48 -#: report/templates/report/inventree_so_report_base.html:55 +#: report/templates/report/inventree_purchase_order_report.html:55 +#: report/templates/report/inventree_return_order_report.html:48 +#: report/templates/report/inventree_sales_order_report.html:55 msgid "Extra Line Items" 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:2018 -#: templates/js/translated/sales_order.js:1806 +#: report/templates/report/inventree_purchase_order_report.html:72 +#: report/templates/report/inventree_sales_order_report.html:72 +#: templates/js/translated/purchase_order.js:2017 +#: templates/js/translated/sales_order.js:1842 msgid "Total" msgstr "Totaal" -#: report/templates/report/inventree_return_order_report_base.html:25 -#: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:809 stock/templates/stock/item_base.html:311 +#: report/templates/report/inventree_return_order_report.html:25 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:830 +#: stock/serializers.py:150 stock/templates/stock/item_base.html:311 #: templates/js/translated/build.js:519 templates/js/translated/build.js:1367 #: templates/js/translated/build.js:2355 -#: templates/js/translated/model_renderers.js:224 -#: templates/js/translated/return_order.js:540 -#: templates/js/translated/return_order.js:724 +#: templates/js/translated/model_renderers.js:230 +#: templates/js/translated/return_order.js:539 +#: templates/js/translated/return_order.js:723 #: templates/js/translated/sales_order.js:315 -#: templates/js/translated/sales_order.js:1611 -#: templates/js/translated/sales_order.js:1696 +#: templates/js/translated/sales_order.js:1647 +#: templates/js/translated/sales_order.js:1732 #: templates/js/translated/stock.js:596 msgid "Serial Number" msgstr "Serienummer" -#: report/templates/report/inventree_slr_report.html:97 +#: report/templates/report/inventree_stock_location_report.html:97 msgid "Stock location items" msgstr "" -#: report/templates/report/inventree_test_report_base.html:21 +#: report/templates/report/inventree_test_report.html:21 msgid "Stock Item Test Report" msgstr "" -#: report/templates/report/inventree_test_report_base.html:97 +#: report/templates/report/inventree_test_report.html:97 msgid "Test Results" msgstr "" -#: report/templates/report/inventree_test_report_base.html:102 +#: report/templates/report/inventree_test_report.html:102 #: templates/js/translated/stock.js:1495 msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2442 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2419 msgid "Result" msgstr "" -#: report/templates/report/inventree_test_report_base.html:130 +#: report/templates/report/inventree_test_report.html:130 msgid "Pass" msgstr "" -#: report/templates/report/inventree_test_report_base.html:132 +#: report/templates/report/inventree_test_report.html:132 msgid "Fail" msgstr "" -#: report/templates/report/inventree_test_report_base.html:139 +#: report/templates/report/inventree_test_report.html:139 msgid "No result (required)" msgstr "" -#: report/templates/report/inventree_test_report_base.html:141 +#: report/templates/report/inventree_test_report.html:141 msgid "No result" msgstr "" -#: report/templates/report/inventree_test_report_base.html:154 +#: report/templates/report/inventree_test_report.html:154 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report_base.html:168 -#: stock/admin.py:162 templates/js/translated/stock.js:700 -#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3113 +#: report/templates/report/inventree_test_report.html:168 stock/admin.py:162 +#: templates/js/translated/stock.js:700 templates/js/translated/stock.js:871 +#: templates/js/translated/stock.js:3110 msgid "Serial" msgstr "" @@ -8757,7 +8792,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:201 stock/models.py:789 +#: stock/admin.py:201 stock/models.py:810 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" @@ -8782,66 +8817,66 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:256 stock/models.py:883 +#: stock/admin.py:256 stock/models.py:904 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2232 users/models.py:124 +#: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" msgstr "" -#: stock/api.py:284 +#: stock/api.py:318 msgid "Filter by location depth" msgstr "" -#: stock/api.py:304 +#: stock/api.py:338 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:325 +#: stock/api.py:359 msgid "Parent Location" msgstr "" -#: stock/api.py:326 +#: stock/api.py:360 msgid "Filter by parent location" msgstr "" -#: stock/api.py:579 templates/js/translated/table_filters.js:427 +#: stock/api.py:613 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:767 +#: stock/api.py:801 msgid "Part Tree" msgstr "" -#: stock/api.py:797 +#: stock/api.py:831 msgid "Expiry date before" msgstr "" -#: stock/api.py:801 +#: stock/api.py:835 msgid "Expiry date after" msgstr "" -#: stock/api.py:804 stock/templates/stock/item_base.html:439 +#: stock/api.py:838 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:891 +#: stock/api.py:925 msgid "Quantity is required" msgstr "" -#: stock/api.py:897 +#: stock/api.py:931 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:928 +#: stock/api.py:962 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:938 +#: stock/api.py:972 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:969 +#: stock/api.py:1003 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8857,477 +8892,517 @@ msgstr "" msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:125 stock/models.py:771 +#: stock/models.py:127 stock/models.py:792 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Voorraadlocatie" -#: stock/models.py:126 stock/templates/stock/location.html:179 +#: stock/models.py:128 stock/templates/stock/location.html:186 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "Voorraadlocaties" -#: stock/models.py:158 stock/models.py:932 +#: stock/models.py:170 stock/models.py:953 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:159 stock/models.py:933 +#: stock/models.py:171 stock/models.py:954 msgid "Select Owner" msgstr "" -#: stock/models.py:167 +#: stock/models.py:179 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:174 templates/js/translated/stock.js:2784 +#: stock/models.py:186 templates/js/translated/stock.js:2781 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "" -#: stock/models.py:175 +#: stock/models.py:187 msgid "This is an external stock location" msgstr "" -#: stock/models.py:181 templates/js/translated/stock.js:2793 +#: stock/models.py:193 templates/js/translated/stock.js:2790 #: templates/js/translated/table_filters.js:246 msgid "Location type" msgstr "" -#: stock/models.py:185 +#: stock/models.py:197 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:254 +#: stock/models.py:266 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:626 +#: stock/models.py:647 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:653 stock/serializers.py:290 +#: stock/models.py:674 stock/serializers.py:419 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:670 +#: stock/models.py:691 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:680 stock/models.py:693 +#: stock/models.py:701 stock/models.py:714 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:683 +#: stock/models.py:704 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:707 +#: stock/models.py:728 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:712 +#: stock/models.py:733 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:725 +#: stock/models.py:746 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:741 +#: stock/models.py:762 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:753 +#: stock/models.py:774 msgid "Base part" msgstr "" -#: stock/models.py:763 +#: stock/models.py:784 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:775 +#: stock/models.py:796 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:783 stock/serializers.py:1351 +#: stock/models.py:804 stock/serializers.py:1480 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:794 +#: stock/models.py:815 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:813 +#: stock/models.py:834 msgid "Serial number for this item" msgstr "" -#: stock/models.py:827 stock/serializers.py:1334 +#: stock/models.py:848 stock/serializers.py:1463 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:832 +#: stock/models.py:853 msgid "Stock Quantity" msgstr "" -#: stock/models.py:842 +#: stock/models.py:863 msgid "Source Build" msgstr "" -#: stock/models.py:845 +#: stock/models.py:866 msgid "Build for this stock item" msgstr "" -#: stock/models.py:852 stock/templates/stock/item_base.html:363 +#: stock/models.py:873 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:855 +#: stock/models.py:876 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:864 +#: stock/models.py:885 msgid "Source Purchase Order" msgstr "Inkooporder Bron" -#: stock/models.py:868 +#: stock/models.py:889 msgid "Purchase order for this stock item" msgstr "Inkooporder voor dit voorraadartikel" -#: stock/models.py:874 +#: stock/models.py:895 msgid "Destination Sales Order" msgstr "Bestemming Verkooporder" -#: stock/models.py:885 +#: stock/models.py:906 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:903 +#: stock/models.py:924 msgid "Delete on deplete" msgstr "" -#: stock/models.py:904 +#: stock/models.py:925 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:924 +#: stock/models.py:945 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:955 +#: stock/models.py:976 msgid "Converted to part" msgstr "" -#: stock/models.py:1473 +#: stock/models.py:1494 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1479 +#: stock/models.py:1500 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1487 +#: stock/models.py:1508 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1493 +#: stock/models.py:1514 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1498 +#: stock/models.py:1519 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1506 stock/serializers.py:529 +#: stock/models.py:1527 stock/serializers.py:658 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1603 +#: stock/models.py:1624 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1621 +#: stock/models.py:1642 msgid "Stock item has been assigned to a sales order" msgstr "Voorraadartikel is toegewezen aan een verkooporder" -#: stock/models.py:1625 +#: stock/models.py:1646 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1628 +#: stock/models.py:1649 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1631 +#: stock/models.py:1652 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1634 +#: stock/models.py:1655 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1637 +#: stock/models.py:1658 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1644 stock/serializers.py:1240 +#: stock/models.py:1665 stock/serializers.py:1369 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1648 +#: stock/models.py:1669 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1656 +#: stock/models.py:1677 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1661 +#: stock/models.py:1682 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1882 +#: stock/models.py:1903 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2345 +#: stock/models.py:2322 msgid "Entry notes" msgstr "" -#: stock/models.py:2410 +#: stock/models.py:2387 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2415 +#: stock/models.py:2392 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2442 +#: stock/models.py:2419 msgid "Test result" msgstr "" -#: stock/models.py:2449 +#: stock/models.py:2426 msgid "Test output value" msgstr "" -#: stock/models.py:2457 +#: stock/models.py:2434 msgid "Test result attachment" msgstr "" -#: stock/models.py:2461 +#: stock/models.py:2438 msgid "Test notes" msgstr "" -#: stock/models.py:2469 templates/js/translated/stock.js:1548 +#: stock/models.py:2446 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "" -#: stock/models.py:2470 +#: stock/models.py:2447 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2476 +#: stock/models.py:2453 msgid "Started" msgstr "" -#: stock/models.py:2477 +#: stock/models.py:2454 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2483 +#: stock/models.py:2460 msgid "Finished" msgstr "" -#: stock/models.py:2484 +#: stock/models.py:2461 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:100 +#: stock/serializers.py:75 +msgid "Generated batch code" +msgstr "" + +#: stock/serializers.py:84 +msgid "Select build order" +msgstr "" + +#: stock/serializers.py:93 +msgid "Select stock item to generate batch code for" +msgstr "" + +#: stock/serializers.py:102 +msgid "Select location to generate batch code for" +msgstr "" + +#: stock/serializers.py:111 +msgid "Select part to generate batch code for" +msgstr "" + +#: stock/serializers.py:120 +msgid "Select purchase order" +msgstr "" + +#: stock/serializers.py:127 +msgid "Enter quantity for batch code" +msgstr "" + +#: stock/serializers.py:150 +msgid "Generated serial number" +msgstr "" + +#: stock/serializers.py:159 +msgid "Select part to generate serial number for" +msgstr "" + +#: stock/serializers.py:167 +msgid "Quantity of serial numbers to generate" +msgstr "" + +#: stock/serializers.py:229 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:119 +#: stock/serializers.py:248 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:151 +#: stock/serializers.py:280 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:184 +#: stock/serializers.py:313 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:282 +#: stock/serializers.py:411 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:402 +#: stock/serializers.py:531 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:464 +#: stock/serializers.py:593 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:477 +#: stock/serializers.py:606 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:484 +#: stock/serializers.py:613 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:495 stock/serializers.py:1197 stock/serializers.py:1453 +#: stock/serializers.py:624 stock/serializers.py:1326 stock/serializers.py:1582 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:502 +#: stock/serializers.py:631 msgid "Optional note field" msgstr "" -#: stock/serializers.py:512 +#: stock/serializers.py:641 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:567 +#: stock/serializers.py:696 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:574 +#: stock/serializers.py:703 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:575 +#: stock/serializers.py:704 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:580 stock/serializers.py:660 stock/serializers.py:756 -#: stock/serializers.py:806 +#: stock/serializers.py:709 stock/serializers.py:789 stock/serializers.py:885 +#: stock/serializers.py:935 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:588 +#: stock/serializers.py:717 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:596 +#: stock/serializers.py:725 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:607 +#: stock/serializers.py:736 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:620 +#: stock/serializers.py:749 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:655 +#: stock/serializers.py:784 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:690 +#: stock/serializers.py:819 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:703 +#: stock/serializers.py:832 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:720 +#: stock/serializers.py:849 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:751 +#: stock/serializers.py:880 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:788 +#: stock/serializers.py:917 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:794 +#: stock/serializers.py:923 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:890 stock/serializers.py:953 +#: stock/serializers.py:1019 stock/serializers.py:1082 #: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:213 +#: stock/templates/stock/location.html:220 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "Sublocaties" -#: stock/serializers.py:1069 +#: stock/serializers.py:1198 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1073 +#: stock/serializers.py:1202 msgid "Item is allocated to a sales order" msgstr "Artikel is toegewezen aan een verkooporder" -#: stock/serializers.py:1077 +#: stock/serializers.py:1206 msgid "Item is allocated to a build order" msgstr "Artikel is toegewezen aan een productieorder" -#: stock/serializers.py:1101 +#: stock/serializers.py:1230 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1107 +#: stock/serializers.py:1236 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1115 +#: stock/serializers.py:1244 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1125 stock/serializers.py:1379 +#: stock/serializers.py:1254 stock/serializers.py:1508 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1204 +#: stock/serializers.py:1333 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1209 +#: stock/serializers.py:1338 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1210 +#: stock/serializers.py:1339 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1215 +#: stock/serializers.py:1344 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1216 +#: stock/serializers.py:1345 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1226 +#: stock/serializers.py:1355 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1293 +#: stock/serializers.py:1422 msgid "No Change" msgstr "" -#: stock/serializers.py:1322 +#: stock/serializers.py:1451 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1341 +#: stock/serializers.py:1470 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1369 +#: stock/serializers.py:1498 msgid "Stock transaction notes" msgstr "" @@ -9352,7 +9427,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:286 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:282 msgid "Delete Test Data" msgstr "" @@ -9368,15 +9443,15 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3274 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3271 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:274 +#: stock/templates/stock/item.html:270 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:304 templates/js/translated/stock.js:1701 +#: stock/templates/stock/item.html:300 templates/js/translated/stock.js:1701 msgid "Add Test Result" msgstr "" @@ -9561,40 +9636,40 @@ msgstr "" msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:507 -#: templates/js/translated/stock.js:1954 +#: stock/templates/stock/item_base.html:504 +#: templates/js/translated/stock.js:1952 msgid "stock item" msgstr "" -#: stock/templates/stock/item_base.html:532 +#: stock/templates/stock/item_base.html:527 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:541 +#: stock/templates/stock/item_base.html:536 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:552 +#: stock/templates/stock/item_base.html:547 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:616 +#: stock/templates/stock/item_base.html:611 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:619 +#: stock/templates/stock/item_base.html:614 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:620 +#: stock/templates/stock/item_base.html:615 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:628 +#: stock/templates/stock/item_base.html:623 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:662 +#: stock/templates/stock/item_base.html:657 msgid "Return to Stock" msgstr "" @@ -9658,28 +9733,32 @@ msgstr "" msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "U staat niet in de lijst van eigenaars van deze locatie. Deze voorraadlocatie kan niet worden bewerkt." -#: stock/templates/stock/location.html:217 +#: stock/templates/stock/location.html:176 +msgid "Location Type" +msgstr "" + +#: stock/templates/stock/location.html:224 msgid "Create new stock location" msgstr "Maak nieuwe voorraadlocatie" -#: stock/templates/stock/location.html:218 +#: stock/templates/stock/location.html:225 msgid "New Location" msgstr "Nieuwe Locatie" -#: stock/templates/stock/location.html:287 -#: templates/js/translated/stock.js:2575 +#: stock/templates/stock/location.html:295 +#: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:315 +#: stock/templates/stock/location.html:317 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:388 +#: stock/templates/stock/location.html:390 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:399 +#: stock/templates/stock/location.html:401 msgid "Link Barcode to Stock Location" msgstr "" @@ -9949,11 +10028,11 @@ msgstr "" msgid "Part Settings" msgstr "" -#: templates/InvenTree/settings/part.html:42 +#: templates/InvenTree/settings/part.html:43 msgid "Part Import" msgstr "" -#: templates/InvenTree/settings/part.html:46 +#: templates/InvenTree/settings/part.html:47 msgid "Import Part" msgstr "" @@ -10174,7 +10253,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:424 +#: templates/js/translated/stock.js:245 users/models.py:411 msgid "Delete" msgstr "Verwijderen" @@ -10283,7 +10362,7 @@ msgid "Home Page" msgstr "Startpagina" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2159 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2163 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" @@ -10874,7 +10953,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3218 +#: templates/js/translated/part.js:3217 msgid "Minimum Quantity" msgstr "" @@ -11254,7 +11333,7 @@ msgid "External stock" msgstr "" #: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2595 -#: templates/js/translated/sales_order.js:1910 +#: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" @@ -11264,7 +11343,7 @@ msgstr "" #: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 #: templates/js/translated/part.js:1256 -#: templates/js/translated/sales_order.js:1907 +#: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" @@ -11519,17 +11598,17 @@ msgstr "" #: templates/js/translated/build.js:1576 #: templates/js/translated/purchase_order.js:611 -#: templates/js/translated/sales_order.js:1171 +#: templates/js/translated/sales_order.js:1207 msgid "Select Parts" msgstr "" #: templates/js/translated/build.js:1577 -#: templates/js/translated/sales_order.js:1172 +#: templates/js/translated/sales_order.js:1208 msgid "You must select at least one part to allocate" msgstr "" #: templates/js/translated/build.js:1640 -#: templates/js/translated/sales_order.js:1121 +#: templates/js/translated/sales_order.js:1157 msgid "Specify stock allocation quantity" msgstr "" @@ -11542,7 +11621,7 @@ msgid "All selected parts have been fully allocated" msgstr "" #: templates/js/translated/build.js:1732 -#: templates/js/translated/sales_order.js:1186 +#: templates/js/translated/sales_order.js:1222 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -11551,12 +11630,12 @@ msgid "Allocate Stock Items to Build Order" msgstr "" #: templates/js/translated/build.js:1771 -#: templates/js/translated/sales_order.js:1283 +#: templates/js/translated/sales_order.js:1319 msgid "No matching stock locations" msgstr "" #: templates/js/translated/build.js:1844 -#: templates/js/translated/sales_order.js:1362 +#: templates/js/translated/sales_order.js:1398 msgid "No matching stock items" msgstr "" @@ -11589,9 +11668,9 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 -#: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 -#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 -#: templates/js/translated/stock.js:1985 templates/js/translated/stock.js:2713 +#: templates/js/translated/forms.js:2159 templates/js/translated/forms.js:2175 +#: templates/js/translated/part.js:2315 templates/js/translated/part.js:2741 +#: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "" @@ -11599,21 +11678,17 @@ msgstr "" msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2177 -msgid "Progress" -msgstr "" - -#: templates/js/translated/build.js:2213 templates/js/translated/stock.js:3045 +#: templates/js/translated/build.js:2213 templates/js/translated/stock.js:3042 msgid "No user information" msgstr "" #: templates/js/translated/build.js:2389 -#: templates/js/translated/sales_order.js:1646 +#: templates/js/translated/sales_order.js:1682 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:2390 -#: templates/js/translated/sales_order.js:1647 +#: templates/js/translated/sales_order.js:1683 msgid "Delete stock allocation" msgstr "" @@ -11647,7 +11722,7 @@ msgid "Unit Quantity" msgstr "" #: templates/js/translated/build.js:2591 -#: templates/js/translated/sales_order.js:1915 +#: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" @@ -11664,7 +11739,7 @@ msgid "Allocate tracked items against individual build outputs" msgstr "" #: templates/js/translated/build.js:2662 -#: templates/js/translated/sales_order.js:2016 +#: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "" @@ -11673,7 +11748,7 @@ msgid "Order stock" msgstr "" #: templates/js/translated/build.js:2671 -#: templates/js/translated/sales_order.js:2010 +#: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "" @@ -11923,12 +11998,12 @@ msgid "Delete price break" msgstr "" #: templates/js/translated/filters.js:186 -#: templates/js/translated/filters.js:672 +#: templates/js/translated/filters.js:667 msgid "true" msgstr "" #: templates/js/translated/filters.js:190 -#: templates/js/translated/filters.js:673 +#: templates/js/translated/filters.js:668 msgid "false" msgstr "" @@ -11960,7 +12035,7 @@ msgstr "" msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:582 +#: templates/js/translated/filters.js:577 msgid "Create filter" msgstr "" @@ -11993,32 +12068,32 @@ msgstr "" msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1473 templates/modals.html:19 +#: templates/js/translated/forms.js:1477 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1971 +#: templates/js/translated/forms.js:1975 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2275 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2279 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2489 +#: templates/js/translated/forms.js:2493 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3091 +#: templates/js/translated/forms.js:3095 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3091 +#: templates/js/translated/forms.js:3095 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3103 +#: templates/js/translated/forms.js:3107 msgid "Select Columns" msgstr "" @@ -12042,51 +12117,15 @@ msgstr "" msgid "No parts required for builds" msgstr "" -#: templates/js/translated/label.js:53 templates/js/translated/report.js:123 +#: templates/js/translated/label.js:55 templates/js/translated/report.js:38 msgid "Select Items" msgstr "" -#: templates/js/translated/label.js:54 +#: templates/js/translated/label.js:56 templates/js/translated/report.js:39 msgid "No items selected for printing" msgstr "" -#: templates/js/translated/label.js:72 -msgid "No Labels Found" -msgstr "" - -#: templates/js/translated/label.js:73 -msgid "No label templates found which match the selected items" -msgstr "" - -#: templates/js/translated/label.js:97 -msgid "selected" -msgstr "" - -#: templates/js/translated/label.js:133 -msgid "Printing Options" -msgstr "" - -#: templates/js/translated/label.js:148 -msgid "Print label" -msgstr "" - -#: templates/js/translated/label.js:148 -msgid "Print labels" -msgstr "" - #: templates/js/translated/label.js:149 -msgid "Print" -msgstr "" - -#: templates/js/translated/label.js:155 -msgid "Select label template" -msgstr "" - -#: templates/js/translated/label.js:168 -msgid "Select plugin" -msgstr "" - -#: templates/js/translated/label.js:187 msgid "Labels sent to printer" msgstr "" @@ -12204,7 +12243,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1991 +#: templates/js/translated/purchase_order.js:1990 msgid "No line items found" msgstr "" @@ -12442,19 +12481,19 @@ msgid "Delete Part Parameter Template" msgstr "" #: templates/js/translated/part.js:1716 -#: templates/js/translated/purchase_order.js:1655 +#: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1860 -#: templates/js/translated/purchase_order.js:2154 -#: templates/js/translated/return_order.js:756 -#: templates/js/translated/sales_order.js:1875 +#: templates/js/translated/purchase_order.js:2153 +#: templates/js/translated/return_order.js:755 +#: templates/js/translated/sales_order.js:1911 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1906 -#: templates/js/translated/purchase_order.js:2221 +#: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "" @@ -12466,7 +12505,7 @@ msgstr "" msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2506 +#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2505 msgid "No parts found" msgstr "" @@ -12482,101 +12521,101 @@ msgstr "" msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2286 msgid "part" msgstr "" -#: templates/js/translated/part.js:2288 +#: templates/js/translated/part.js:2287 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2384 +#: templates/js/translated/part.js:2383 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 -#: templates/js/translated/stock.js:2672 +#: templates/js/translated/part.js:2530 templates/js/translated/part.js:2660 +#: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2547 +#: templates/js/translated/part.js:2546 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2645 +#: templates/js/translated/part.js:2644 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2692 +#: templates/js/translated/part.js:2680 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2761 +#: templates/js/translated/part.js:2760 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2777 +#: templates/js/translated/part.js:2776 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2864 +#: templates/js/translated/part.js:2863 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2886 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2885 templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2935 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2941 +#: templates/js/translated/part.js:2940 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2957 +#: templates/js/translated/part.js:2956 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2971 +#: templates/js/translated/part.js:2970 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3050 templates/js/translated/part.js:3051 +#: templates/js/translated/part.js:3049 templates/js/translated/part.js:3050 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3053 +#: templates/js/translated/part.js:3052 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3059 +#: templates/js/translated/part.js:3058 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3109 +#: templates/js/translated/part.js:3108 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3115 +#: templates/js/translated/part.js:3114 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3211 +#: templates/js/translated/part.js:3210 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3227 +#: templates/js/translated/part.js:3226 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3272 +#: templates/js/translated/part.js:3271 msgid "Minimum Stock Level" msgstr "" @@ -12702,7 +12741,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:448 #: templates/js/translated/return_order.js:210 -#: templates/js/translated/sales_order.js:500 +#: templates/js/translated/sales_order.js:552 msgid "Mark this order as complete?" msgstr "" @@ -12715,7 +12754,6 @@ msgid "This order has line items which have not been marked as received." msgstr "" #: templates/js/translated/purchase_order.js:460 -#: templates/js/translated/sales_order.js:514 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" @@ -12773,12 +12811,12 @@ msgid "No matching purchase orders" msgstr "" #: templates/js/translated/purchase_order.js:1073 -#: templates/js/translated/return_order.js:491 +#: templates/js/translated/return_order.js:490 msgid "Select Line Items" msgstr "" #: templates/js/translated/purchase_order.js:1074 -#: templates/js/translated/return_order.js:492 +#: templates/js/translated/return_order.js:491 msgid "At least one line item must be selected" msgstr "" @@ -12827,7 +12865,7 @@ msgid "Quantity to Receive" msgstr "" #: templates/js/translated/purchase_order.js:1333 -#: templates/js/translated/return_order.js:561 +#: templates/js/translated/return_order.js:560 msgid "Confirm receipt of items" msgstr "" @@ -12847,81 +12885,66 @@ msgstr "" msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1682 -#: templates/js/translated/return_order.js:286 -#: templates/js/translated/sales_order.js:774 -#: templates/js/translated/sales_order.js:998 +#: templates/js/translated/purchase_order.js:1681 +#: templates/js/translated/return_order.js:285 +#: templates/js/translated/sales_order.js:810 +#: templates/js/translated/sales_order.js:1034 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1748 -#: templates/js/translated/return_order.js:354 -#: templates/js/translated/sales_order.js:851 -#: templates/js/translated/sales_order.js:1011 -msgid "Items" -msgstr "" - -#: templates/js/translated/purchase_order.js:1844 +#: templates/js/translated/purchase_order.js:1843 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1862 +#: templates/js/translated/purchase_order.js:1861 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1917 -#: templates/js/translated/sales_order.js:2070 +#: templates/js/translated/purchase_order.js:1916 +#: templates/js/translated/sales_order.js:2106 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1932 -#: templates/js/translated/return_order.js:476 -#: templates/js/translated/return_order.js:669 -#: templates/js/translated/sales_order.js:2083 +#: templates/js/translated/purchase_order.js:1931 +#: templates/js/translated/return_order.js:475 +#: templates/js/translated/return_order.js:668 +#: templates/js/translated/sales_order.js:2119 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1943 -#: templates/js/translated/return_order.js:682 -#: templates/js/translated/sales_order.js:2094 +#: templates/js/translated/purchase_order.js:1942 +#: templates/js/translated/return_order.js:681 +#: templates/js/translated/sales_order.js:2130 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2225 -#: templates/js/translated/sales_order.js:2024 +#: templates/js/translated/purchase_order.js:2224 +#: templates/js/translated/sales_order.js:2060 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2226 -#: templates/js/translated/return_order.js:801 -#: templates/js/translated/sales_order.js:2025 +#: templates/js/translated/purchase_order.js:2225 +#: templates/js/translated/return_order.js:800 +#: templates/js/translated/sales_order.js:2061 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2227 -#: templates/js/translated/return_order.js:805 -#: templates/js/translated/sales_order.js:2031 +#: templates/js/translated/purchase_order.js:2226 +#: templates/js/translated/return_order.js:804 +#: templates/js/translated/sales_order.js:2067 msgid "Delete line item" msgstr "" -#: templates/js/translated/report.js:63 -msgid "items selected" +#: templates/js/translated/report.js:49 +msgid "Print Report" msgstr "" -#: templates/js/translated/report.js:71 -msgid "Select Report Template" +#: templates/js/translated/report.js:68 +msgid "Report print successful" msgstr "" -#: templates/js/translated/report.js:86 -msgid "Select Test Report Template" -msgstr "" - -#: templates/js/translated/report.js:140 -msgid "No Reports Found" -msgstr "" - -#: templates/js/translated/report.js:141 -msgid "No report templates found which match the selected items" +#: templates/js/translated/report.js:73 +msgid "Report printing failed" msgstr "" #: templates/js/translated/return_order.js:60 @@ -12953,25 +12976,25 @@ msgstr "" msgid "Complete Return Order" msgstr "" -#: templates/js/translated/return_order.js:266 +#: templates/js/translated/return_order.js:265 msgid "No return orders found" msgstr "" -#: templates/js/translated/return_order.js:300 -#: templates/js/translated/sales_order.js:788 +#: templates/js/translated/return_order.js:299 +#: templates/js/translated/sales_order.js:824 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/return_order.js:562 +#: templates/js/translated/return_order.js:561 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:693 -#: templates/js/translated/sales_order.js:2231 +#: templates/js/translated/return_order.js:692 +#: templates/js/translated/sales_order.js:2267 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:798 +#: templates/js/translated/return_order.js:797 msgid "Mark item as received" msgstr "" @@ -13015,140 +13038,156 @@ msgstr "" msgid "Skip" msgstr "" +#: templates/js/translated/sales_order.js:484 +msgid "Ship Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:500 +msgid "Ship this order?" +msgstr "" + +#: templates/js/translated/sales_order.js:506 +msgid "Order cannot be shipped as there are incomplete shipments" +msgstr "" + #: templates/js/translated/sales_order.js:513 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/sales_order.js:535 +#: templates/js/translated/sales_order.js:514 +msgid "Shipping this order means that the order and line items will no longer be editable." +msgstr "" + +#: templates/js/translated/sales_order.js:572 msgid "Issue this Sales Order?" msgstr "" -#: templates/js/translated/sales_order.js:540 +#: templates/js/translated/sales_order.js:577 msgid "Issue Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:559 +#: templates/js/translated/sales_order.js:596 msgid "Cancel Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:564 +#: templates/js/translated/sales_order.js:601 msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: templates/js/translated/sales_order.js:618 +#: templates/js/translated/sales_order.js:655 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/sales_order.js:728 +#: templates/js/translated/sales_order.js:764 msgid "No sales orders found" msgstr "" -#: templates/js/translated/sales_order.js:908 +#: templates/js/translated/sales_order.js:944 msgid "Edit shipment" msgstr "" -#: templates/js/translated/sales_order.js:911 +#: templates/js/translated/sales_order.js:947 msgid "Complete shipment" msgstr "" -#: templates/js/translated/sales_order.js:916 +#: templates/js/translated/sales_order.js:952 msgid "Delete shipment" msgstr "" -#: templates/js/translated/sales_order.js:933 +#: templates/js/translated/sales_order.js:969 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/sales_order.js:948 +#: templates/js/translated/sales_order.js:984 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:981 +#: templates/js/translated/sales_order.js:1017 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/sales_order.js:1006 +#: templates/js/translated/sales_order.js:1042 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/sales_order.js:1030 -#: templates/js/translated/sales_order.js:1529 +#: templates/js/translated/sales_order.js:1066 +#: templates/js/translated/sales_order.js:1565 msgid "Not shipped" msgstr "" -#: templates/js/translated/sales_order.js:1048 +#: templates/js/translated/sales_order.js:1084 msgid "Tracking" msgstr "" -#: templates/js/translated/sales_order.js:1052 +#: templates/js/translated/sales_order.js:1088 msgid "Invoice" msgstr "" -#: templates/js/translated/sales_order.js:1219 +#: templates/js/translated/sales_order.js:1255 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1270 +#: templates/js/translated/sales_order.js:1306 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/sales_order.js:1271 +#: templates/js/translated/sales_order.js:1307 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1477 +#: templates/js/translated/sales_order.js:1513 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1569 +#: templates/js/translated/sales_order.js:1605 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1583 +#: templates/js/translated/sales_order.js:1619 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/sales_order.js:1584 +#: templates/js/translated/sales_order.js:1620 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1623 -#: templates/js/translated/sales_order.js:1710 +#: templates/js/translated/sales_order.js:1659 +#: templates/js/translated/sales_order.js:1746 #: templates/js/translated/stock.js:1776 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/sales_order.js:1631 -#: templates/js/translated/sales_order.js:1719 +#: templates/js/translated/sales_order.js:1667 +#: templates/js/translated/sales_order.js:1755 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:2008 +#: templates/js/translated/sales_order.js:2044 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/sales_order.js:2012 +#: templates/js/translated/sales_order.js:2048 msgid "Purchase stock" msgstr "" -#: templates/js/translated/sales_order.js:2021 -#: templates/js/translated/sales_order.js:2209 +#: templates/js/translated/sales_order.js:2057 +#: templates/js/translated/sales_order.js:2245 msgid "Calculate price" msgstr "" -#: templates/js/translated/sales_order.js:2035 +#: templates/js/translated/sales_order.js:2071 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:2038 +#: templates/js/translated/sales_order.js:2074 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:2109 +#: templates/js/translated/sales_order.js:2145 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/sales_order.js:2217 +#: templates/js/translated/sales_order.js:2253 msgid "Update Unit Price" msgstr "" @@ -13356,7 +13395,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1042 users/models.py:414 +#: templates/js/translated/stock.js:1042 users/models.py:401 msgid "Add" msgstr "" @@ -13372,7 +13411,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1180 templates/js/translated/stock.js:3302 +#: templates/js/translated/stock.js:1180 templates/js/translated/stock.js:3299 msgid "Select Stock Items" msgstr "" @@ -13456,196 +13495,196 @@ msgstr "" msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:1955 +#: templates/js/translated/stock.js:1953 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1960 +#: templates/js/translated/stock.js:1958 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:1971 +#: templates/js/translated/stock.js:1969 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:2015 +#: templates/js/translated/stock.js:2013 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2093 +#: templates/js/translated/stock.js:2091 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2098 +#: templates/js/translated/stock.js:2096 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2101 +#: templates/js/translated/stock.js:2099 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2104 +#: templates/js/translated/stock.js:2102 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2106 +#: templates/js/translated/stock.js:2104 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2108 +#: templates/js/translated/stock.js:2106 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2111 +#: templates/js/translated/stock.js:2109 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2113 +#: templates/js/translated/stock.js:2111 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2117 +#: templates/js/translated/stock.js:2115 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2119 +#: templates/js/translated/stock.js:2117 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2124 +#: templates/js/translated/stock.js:2122 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2126 +#: templates/js/translated/stock.js:2124 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2128 +#: templates/js/translated/stock.js:2126 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2132 +#: templates/js/translated/stock.js:2130 #: templates/js/translated/table_filters.js:350 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2297 +#: templates/js/translated/stock.js:2295 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2344 +#: templates/js/translated/stock.js:2342 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2472 +#: templates/js/translated/stock.js:2470 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2576 +#: templates/js/translated/stock.js:2573 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2731 +#: templates/js/translated/stock.js:2728 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2849 +#: templates/js/translated/stock.js:2846 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2853 +#: templates/js/translated/stock.js:2850 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2865 +#: templates/js/translated/stock.js:2862 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2887 +#: templates/js/translated/stock.js:2884 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2904 +#: templates/js/translated/stock.js:2901 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2919 +#: templates/js/translated/stock.js:2916 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2936 +#: templates/js/translated/stock.js:2933 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:2950 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2972 +#: templates/js/translated/stock.js:2969 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2990 +#: templates/js/translated/stock.js:2987 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:3008 +#: templates/js/translated/stock.js:3005 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:3016 +#: templates/js/translated/stock.js:3013 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3088 +#: templates/js/translated/stock.js:3085 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3142 templates/js/translated/stock.js:3178 +#: templates/js/translated/stock.js:3139 templates/js/translated/stock.js:3175 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3200 +#: templates/js/translated/stock.js:3197 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3221 +#: templates/js/translated/stock.js:3218 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3222 +#: templates/js/translated/stock.js:3219 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3224 +#: templates/js/translated/stock.js:3221 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3225 +#: templates/js/translated/stock.js:3222 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3226 +#: templates/js/translated/stock.js:3223 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3227 +#: templates/js/translated/stock.js:3224 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3240 +#: templates/js/translated/stock.js:3237 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3303 +#: templates/js/translated/stock.js:3300 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3316 +#: templates/js/translated/stock.js:3313 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3320 +#: templates/js/translated/stock.js:3317 msgid "Change Stock Status" msgstr "" @@ -14247,34 +14286,35 @@ msgstr "" msgid "Revoked" msgstr "" -#: users/models.py:397 +#: users/models.py:384 msgid "Permission set" msgstr "" -#: users/models.py:406 +#: users/models.py:393 msgid "Group" msgstr "" -#: users/models.py:410 +#: users/models.py:397 msgid "View" msgstr "" -#: users/models.py:410 +#: users/models.py:397 msgid "Permission to view items" msgstr "" -#: users/models.py:414 +#: users/models.py:401 msgid "Permission to add items" msgstr "" -#: users/models.py:418 +#: users/models.py:405 msgid "Change" msgstr "" -#: users/models.py:420 +#: users/models.py:407 msgid "Permissions to edit items" msgstr "" -#: users/models.py:426 +#: users/models.py:413 msgid "Permission to delete items" msgstr "" + diff --git a/src/backend/InvenTree/locale/no/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/no/LC_MESSAGES/django.po index 739e2bd463..45f0875132 100644 --- a/src/backend/InvenTree/locale/no/LC_MESSAGES/django.po +++ b/src/backend/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: 2024-05-10 05:37+0000\n" -"PO-Revision-Date: 2024-05-10 08:31\n" +"POT-Creation-Date: 2024-05-23 11:25+0000\n" +"PO-Revision-Date: 2024-05-23 11:39\n" "Last-Translator: \n" "Language-Team: Norwegian\n" "Language: no_NO\n" @@ -17,11 +17,11 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 216\n" -#: InvenTree/api.py:271 +#: InvenTree/api.py:272 msgid "API endpoint not found" msgstr "API-endepunkt ikke funnet" -#: InvenTree/api.py:535 +#: InvenTree/api.py:536 msgid "User does not have permission to view this model" msgstr "Brukeren har ikke rettigheter til å se denne modellen" @@ -56,26 +56,26 @@ msgstr "Feildetaljer kan finnes i admin-panelet" msgid "Enter date" msgstr "Oppgi dato" -#: InvenTree/fields.py:208 InvenTree/models.py:1021 build/serializers.py:444 -#: build/serializers.py:522 build/templates/build/sidebar.html:21 +#: InvenTree/fields.py:208 InvenTree/models.py:1035 build/serializers.py:443 +#: build/serializers.py:521 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 -#: order/models.py:1283 order/templates/order/po_sidebar.html:11 +#: order/models.py:1323 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:59 -#: part/models.py:3175 part/templates/part/part_sidebar.html:63 -#: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:226 stock/models.py:2344 stock/models.py:2461 -#: stock/serializers.py:501 stock/serializers.py:659 stock/serializers.py:755 -#: stock/serializers.py:805 stock/serializers.py:1114 stock/serializers.py:1203 -#: stock/serializers.py:1368 stock/templates/stock/stock_sidebar.html:25 +#: part/models.py:3218 part/templates/part/part_sidebar.html:63 +#: report/templates/report/inventree_build_order_report.html:172 +#: stock/admin.py:226 stock/models.py:2321 stock/models.py:2438 +#: stock/serializers.py:630 stock/serializers.py:788 stock/serializers.py:884 +#: stock/serializers.py:934 stock/serializers.py:1243 stock/serializers.py:1332 +#: stock/serializers.py:1497 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1080 -#: templates/js/translated/purchase_order.js:2201 -#: templates/js/translated/return_order.js:776 -#: templates/js/translated/sales_order.js:1067 -#: templates/js/translated/sales_order.js:1982 -#: templates/js/translated/stock.js:1536 templates/js/translated/stock.js:2430 +#: templates/js/translated/purchase_order.js:2200 +#: templates/js/translated/return_order.js:775 +#: templates/js/translated/sales_order.js:1103 +#: templates/js/translated/sales_order.js:2018 +#: templates/js/translated/stock.js:1536 templates/js/translated/stock.js:2428 msgid "Notes" msgstr "Notater" @@ -132,7 +132,7 @@ msgstr "Det oppgitte e-postdomenet er ikke godkjent." msgid "Registration is disabled." msgstr "Registrering er deaktivert." -#: InvenTree/helpers.py:525 order/models.py:541 order/models.py:743 +#: InvenTree/helpers.py:525 order/models.py:563 order/models.py:765 msgid "Invalid quantity provided" msgstr "Ugyldig mengde oppgitt" @@ -355,142 +355,142 @@ msgstr "E-post" msgid "Error running plugin validation" msgstr "Feil under validering av utvidelse" -#: InvenTree/models.py:162 +#: InvenTree/models.py:176 msgid "Metadata must be a python dict object" msgstr "Metadata må være et python dict-objekt" -#: InvenTree/models.py:168 +#: InvenTree/models.py:182 msgid "Plugin Metadata" msgstr "Utvidelse-metadata" -#: InvenTree/models.py:169 +#: InvenTree/models.py:183 msgid "JSON metadata field, for use by external plugins" msgstr "JSON-metadatafelt, for bruk av eksterne utvidelser" -#: InvenTree/models.py:399 +#: InvenTree/models.py:413 msgid "Improperly formatted pattern" msgstr "Uriktig formatert mønster" -#: InvenTree/models.py:406 +#: InvenTree/models.py:420 msgid "Unknown format key specified" msgstr "Ukjent formatnøkkel spesifisert" -#: InvenTree/models.py:412 +#: InvenTree/models.py:426 msgid "Missing required format key" msgstr "Mangler nødvendig formatnøkkel" -#: InvenTree/models.py:423 +#: InvenTree/models.py:437 msgid "Reference field cannot be empty" msgstr "Referansefeltet kan ikke være tomt" -#: InvenTree/models.py:431 +#: InvenTree/models.py:445 msgid "Reference must match required pattern" msgstr "Referansen må samsvare påkrevd mønster" -#: InvenTree/models.py:462 +#: InvenTree/models.py:476 msgid "Reference number is too large" msgstr "Referansenummeret er for stort" -#: InvenTree/models.py:536 +#: InvenTree/models.py:550 msgid "Missing file" msgstr "Fil mangler" -#: InvenTree/models.py:537 +#: InvenTree/models.py:551 msgid "Missing external link" msgstr "Mangler eksternlenke" -#: InvenTree/models.py:558 stock/models.py:2456 +#: InvenTree/models.py:572 stock/models.py:2433 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" msgstr "Vedlegg" -#: InvenTree/models.py:559 +#: InvenTree/models.py:573 msgid "Select file to attach" msgstr "Velg fil å legge ved" -#: InvenTree/models.py:567 common/models.py:3026 company/models.py:146 +#: InvenTree/models.py:581 common/models.py:3032 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 -#: order/models.py:291 order/models.py:1288 order/models.py:1704 -#: part/admin.py:55 part/models.py:919 +#: order/models.py:304 order/models.py:1328 order/models.py:1744 +#: part/admin.py:55 part/models.py:962 #: part/templates/part/part_scheduling.html:11 -#: report/templates/report/inventree_build_order_base.html:164 +#: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2456 -#: templates/js/translated/purchase_order.js:2041 -#: templates/js/translated/purchase_order.js:2205 -#: templates/js/translated/return_order.js:780 -#: templates/js/translated/sales_order.js:1056 -#: templates/js/translated/sales_order.js:1987 +#: templates/js/translated/part.js:2455 +#: templates/js/translated/purchase_order.js:2040 +#: templates/js/translated/purchase_order.js:2204 +#: templates/js/translated/return_order.js:779 +#: templates/js/translated/sales_order.js:1092 +#: templates/js/translated/sales_order.js:2023 msgid "Link" msgstr "Lenke" -#: InvenTree/models.py:568 build/models.py:321 part/models.py:920 -#: stock/models.py:819 +#: InvenTree/models.py:582 build/models.py:344 part/models.py:963 +#: stock/models.py:840 msgid "Link to external URL" msgstr "Lenke til ekstern URL" -#: InvenTree/models.py:574 templates/js/translated/attachment.js:120 +#: InvenTree/models.py:588 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:341 msgid "Comment" msgstr "Kommentar" -#: InvenTree/models.py:575 +#: InvenTree/models.py:589 msgid "File comment" msgstr "Kommentar til fil" -#: InvenTree/models.py:583 InvenTree/models.py:584 common/models.py:2502 -#: common/models.py:2503 common/models.py:2727 common/models.py:2728 -#: common/models.py:2973 common/models.py:2974 part/models.py:3185 -#: part/models.py:3272 part/models.py:3365 part/models.py:3393 -#: plugin/models.py:250 plugin/models.py:251 -#: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3039 users/models.py:111 +#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2508 +#: common/models.py:2509 common/models.py:2733 common/models.py:2734 +#: common/models.py:2979 common/models.py:2980 part/models.py:3228 +#: part/models.py:3315 part/models.py:3408 part/models.py:3436 +#: plugin/models.py:259 plugin/models.py:260 +#: report/templates/report/inventree_test_report.html:105 +#: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" msgstr "Bruker" -#: InvenTree/models.py:588 +#: InvenTree/models.py:602 msgid "upload date" msgstr "opplastet dato" -#: InvenTree/models.py:610 +#: InvenTree/models.py:624 msgid "Filename must not be empty" msgstr "Filnavn kan ikke være tomt" -#: InvenTree/models.py:621 +#: InvenTree/models.py:635 msgid "Invalid attachment directory" msgstr "Ugyldig vedleggskatalog" -#: InvenTree/models.py:651 +#: InvenTree/models.py:665 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "Filnavn inneholder ugyldig tegn '{c}'" -#: InvenTree/models.py:654 +#: InvenTree/models.py:668 msgid "Filename missing extension" msgstr "Filnavn mangler filtype" -#: InvenTree/models.py:663 +#: InvenTree/models.py:677 msgid "Attachment with this filename already exists" msgstr "Vedlegg med dette filnavnet finnes allerede" -#: InvenTree/models.py:670 +#: InvenTree/models.py:684 msgid "Error renaming file" msgstr "Feil ved endring av filnavn" -#: InvenTree/models.py:846 +#: InvenTree/models.py:860 msgid "Duplicate names cannot exist under the same parent" msgstr "Duplikatnavn kan ikke eksistere under samme overordnede" -#: InvenTree/models.py:863 +#: InvenTree/models.py:877 msgid "Invalid choice" msgstr "Ugyldig valg" -#: InvenTree/models.py:893 common/models.py:2714 common/models.py:3112 -#: common/serializers.py:403 company/models.py:614 label/models.py:120 -#: machine/models.py:24 part/models.py:855 part/models.py:3616 -#: plugin/models.py:41 report/models.py:176 stock/models.py:76 +#: InvenTree/models.py:907 common/models.py:2720 common/models.py:3118 +#: common/serializers.py:403 company/models.py:614 machine/models.py:24 +#: part/models.py:898 part/models.py:3659 plugin/models.py:50 +#: report/models.py:149 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -503,22 +503,22 @@ msgstr "Ugyldig valg" #: templates/js/translated/company.js:1165 #: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186 #: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2719 +#: templates/js/translated/part.js:2748 templates/js/translated/stock.js:2716 msgid "Name" msgstr "Navn" -#: InvenTree/models.py:899 build/models.py:194 +#: InvenTree/models.py:913 build/models.py:217 #: build/templates/build/detail.html:24 common/models.py:136 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 label/models.py:127 -#: order/models.py:277 order/models.py:1316 part/admin.py:303 part/admin.py:414 -#: part/models.py:878 part/models.py:3631 part/templates/part/category.html:82 +#: company/templates/company/supplier_part.html:107 order/models.py:290 +#: order/models.py:1356 part/admin.py:305 part/admin.py:416 part/models.py:921 +#: part/models.py:3674 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 -#: part/templates/part/part_scheduling.html:12 report/models.py:189 -#: report/models.py:655 report/models.py:729 -#: report/templates/report/inventree_build_order_base.html:117 +#: part/templates/part/part_scheduling.html:12 report/models.py:155 +#: report/models.py:510 report/models.py:536 +#: report/templates/report/inventree_build_order_report.html:117 #: stock/admin.py:55 stock/models.py:82 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 @@ -530,71 +530,71 @@ msgstr "Navn" #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 -#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2896 +#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2354 +#: templates/js/translated/part.js:2784 templates/js/translated/part.js:2895 #: templates/js/translated/plugin.js:80 -#: templates/js/translated/purchase_order.js:1707 -#: templates/js/translated/purchase_order.js:1850 -#: templates/js/translated/purchase_order.js:2023 -#: templates/js/translated/return_order.js:314 -#: templates/js/translated/sales_order.js:802 -#: templates/js/translated/sales_order.js:1812 -#: templates/js/translated/stock.js:1515 templates/js/translated/stock.js:2060 -#: templates/js/translated/stock.js:2751 templates/js/translated/stock.js:2834 +#: templates/js/translated/purchase_order.js:1706 +#: templates/js/translated/purchase_order.js:1849 +#: templates/js/translated/purchase_order.js:2022 +#: templates/js/translated/return_order.js:313 +#: templates/js/translated/sales_order.js:838 +#: templates/js/translated/sales_order.js:1848 +#: templates/js/translated/stock.js:1515 templates/js/translated/stock.js:2058 +#: templates/js/translated/stock.js:2748 templates/js/translated/stock.js:2831 msgid "Description" msgstr "Beskrivelse" -#: InvenTree/models.py:900 stock/models.py:83 +#: InvenTree/models.py:914 stock/models.py:83 msgid "Description (optional)" msgstr "Beskrivelse (valgfritt)" -#: InvenTree/models.py:909 +#: InvenTree/models.py:923 msgid "parent" msgstr "overkategori" -#: InvenTree/models.py:915 templates/js/translated/part.js:2794 -#: templates/js/translated/stock.js:2760 +#: InvenTree/models.py:929 templates/js/translated/part.js:2793 +#: templates/js/translated/stock.js:2757 msgid "Path" msgstr "Sti" -#: InvenTree/models.py:1021 +#: InvenTree/models.py:1035 msgid "Markdown notes (optional)" msgstr "Markdown-notater (valgfritt)" -#: InvenTree/models.py:1050 +#: InvenTree/models.py:1064 msgid "Barcode Data" msgstr "Strekkodedata" -#: InvenTree/models.py:1051 +#: InvenTree/models.py:1065 msgid "Third party barcode data" msgstr "Tredjeparts strekkodedata" -#: InvenTree/models.py:1057 +#: InvenTree/models.py:1071 msgid "Barcode Hash" msgstr "Strekkode-hash" -#: InvenTree/models.py:1058 +#: InvenTree/models.py:1072 msgid "Unique hash of barcode data" msgstr "Unik hash av strekkodedata" -#: InvenTree/models.py:1111 +#: InvenTree/models.py:1125 msgid "Existing barcode found" msgstr "Eksisterende strekkode funnet" -#: InvenTree/models.py:1154 +#: InvenTree/models.py:1168 msgid "Server Error" msgstr "Serverfeil" -#: InvenTree/models.py:1155 +#: InvenTree/models.py:1169 msgid "An error has been logged by the server." msgstr "En feil har blitt logget av serveren." -#: InvenTree/serializers.py:62 part/models.py:4169 +#: InvenTree/serializers.py:62 part/models.py:4212 msgid "Must be a valid number" msgstr "Må være et gyldig tall" #: InvenTree/serializers.py:99 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:2993 +#: company/templates/company/company_base.html:112 part/models.py:3036 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -686,7 +686,7 @@ msgstr "URLtil ekstern bildefil" msgid "Downloading images from remote URL is not enabled" msgstr "Nedlasting av bilder fra ekstern URL er ikke aktivert" -#: InvenTree/status.py:66 part/serializers.py:1161 +#: InvenTree/status.py:66 part/serializers.py:1176 msgid "Background worker check failed" msgstr "Sjekk av bakgrunnsarbeider mislyktes" @@ -699,8 +699,8 @@ msgid "InvenTree system health checks failed" msgstr "InvenTree's-systemets helsesjekker mislyktes" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:37 -#: InvenTree/status_codes.py:148 InvenTree/status_codes.py:164 -#: InvenTree/status_codes.py:182 generic/states/tests.py:17 +#: InvenTree/status_codes.py:149 InvenTree/status_codes.py:165 +#: InvenTree/status_codes.py:183 generic/states/tests.py:17 #: templates/js/translated/table_filters.js:598 msgid "Pending" msgstr "Ventende" @@ -709,188 +709,188 @@ msgstr "Ventende" msgid "Placed" msgstr "Plassert" -#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:151 -#: InvenTree/status_codes.py:169 generic/states/tests.py:19 -#: order/templates/order/order_base.html:158 -#: order/templates/order/sales_order_base.html:161 +#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:44 +#: InvenTree/status_codes.py:152 InvenTree/status_codes.py:170 +#: generic/states/tests.py:19 order/templates/order/order_base.html:158 +#: order/templates/order/sales_order_base.html:165 report/models.py:444 msgid "Complete" msgstr "Fullført" -#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:44 -#: InvenTree/status_codes.py:150 InvenTree/status_codes.py:170 +#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:45 +#: InvenTree/status_codes.py:151 InvenTree/status_codes.py:171 msgid "Cancelled" msgstr "Kansellert" -#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:45 -#: InvenTree/status_codes.py:67 +#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:46 +#: InvenTree/status_codes.py:68 msgid "Lost" msgstr "Tapt" -#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:46 -#: InvenTree/status_codes.py:73 +#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:47 +#: InvenTree/status_codes.py:74 msgid "Returned" msgstr "Returnert" -#: InvenTree/status_codes.py:40 InvenTree/status_codes.py:167 +#: InvenTree/status_codes.py:40 InvenTree/status_codes.py:168 msgid "In Progress" msgstr "Pågående" -#: InvenTree/status_codes.py:43 order/models.py:1566 -#: templates/js/translated/sales_order.js:1523 -#: templates/js/translated/sales_order.js:1644 -#: templates/js/translated/sales_order.js:1957 +#: InvenTree/status_codes.py:43 order/models.py:1606 +#: templates/js/translated/sales_order.js:1559 +#: templates/js/translated/sales_order.js:1680 +#: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "Sendt" -#: InvenTree/status_codes.py:62 +#: InvenTree/status_codes.py:63 msgid "OK" msgstr "" -#: InvenTree/status_codes.py:63 +#: InvenTree/status_codes.py:64 msgid "Attention needed" msgstr "Trenger oppmerksomhet" -#: InvenTree/status_codes.py:64 +#: InvenTree/status_codes.py:65 msgid "Damaged" msgstr "Skadet" -#: InvenTree/status_codes.py:65 +#: InvenTree/status_codes.py:66 msgid "Destroyed" msgstr "Ødelagt" -#: InvenTree/status_codes.py:66 +#: InvenTree/status_codes.py:67 msgid "Rejected" msgstr "Avvist" -#: InvenTree/status_codes.py:70 +#: InvenTree/status_codes.py:71 msgid "Quarantined" msgstr "I Karantene" -#: InvenTree/status_codes.py:91 +#: InvenTree/status_codes.py:92 msgid "Legacy stock tracking entry" msgstr "Gammel lagervare sporingsoppføring" -#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:544 +#: InvenTree/status_codes.py:94 templates/js/translated/stock.js:544 msgid "Stock item created" msgstr "Lagevare opprettet" -#: InvenTree/status_codes.py:96 +#: InvenTree/status_codes.py:97 msgid "Edited stock item" msgstr "Redigerte lagervare" -#: InvenTree/status_codes.py:97 +#: InvenTree/status_codes.py:98 msgid "Assigned serial number" msgstr "Tildelte serienummer" -#: InvenTree/status_codes.py:100 +#: InvenTree/status_codes.py:101 msgid "Stock counted" msgstr "Lager opptelt" -#: InvenTree/status_codes.py:101 +#: InvenTree/status_codes.py:102 msgid "Stock manually added" msgstr "Lagerbeholdning manuelt lagt til" -#: InvenTree/status_codes.py:102 +#: InvenTree/status_codes.py:103 msgid "Stock manually removed" msgstr "Lagerbeholdning manuelt fjernet" -#: InvenTree/status_codes.py:105 +#: InvenTree/status_codes.py:106 msgid "Location changed" msgstr "Posisjon endret" -#: InvenTree/status_codes.py:106 +#: InvenTree/status_codes.py:107 msgid "Stock updated" msgstr "Lagerbeholdning oppdatert" -#: InvenTree/status_codes.py:109 +#: InvenTree/status_codes.py:110 msgid "Installed into assembly" msgstr "Montert i sammenstilling" -#: InvenTree/status_codes.py:110 +#: InvenTree/status_codes.py:111 msgid "Removed from assembly" msgstr "Fjernet fra sammenstilling" -#: InvenTree/status_codes.py:112 +#: InvenTree/status_codes.py:113 msgid "Installed component item" msgstr "Montert komponentartikkel" -#: InvenTree/status_codes.py:113 +#: InvenTree/status_codes.py:114 msgid "Removed component item" msgstr "Fjernet komponentartikkel" -#: InvenTree/status_codes.py:116 +#: InvenTree/status_codes.py:117 msgid "Split from parent item" msgstr "Skill ut fra overordnet artikkel" -#: InvenTree/status_codes.py:117 +#: InvenTree/status_codes.py:118 msgid "Split child item" msgstr "Skill ut fra underartikkel" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1858 +#: InvenTree/status_codes.py:121 templates/js/translated/stock.js:1858 msgid "Merged stock items" msgstr "Sammenslåtte lagervarer" -#: InvenTree/status_codes.py:123 +#: InvenTree/status_codes.py:124 msgid "Converted to variant" msgstr "Konvertert til variant" -#: InvenTree/status_codes.py:126 +#: InvenTree/status_codes.py:127 msgid "Build order output created" msgstr "Produksjonsartikkel opprettet" -#: InvenTree/status_codes.py:127 +#: InvenTree/status_codes.py:128 msgid "Build order output completed" msgstr "Produksjonsartikkel fullført" -#: InvenTree/status_codes.py:128 +#: InvenTree/status_codes.py:129 msgid "Build order output rejected" msgstr "Produksjonsartikkel avvist" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1764 +#: InvenTree/status_codes.py:130 templates/js/translated/stock.js:1764 msgid "Consumed by build order" msgstr "Brukt av produksjonsordre" -#: InvenTree/status_codes.py:132 +#: InvenTree/status_codes.py:133 msgid "Shipped against Sales Order" msgstr "Sendt mot salgsordre" -#: InvenTree/status_codes.py:135 +#: InvenTree/status_codes.py:136 msgid "Received against Purchase Order" msgstr "Mottatt mot innkjøpsordre" -#: InvenTree/status_codes.py:138 +#: InvenTree/status_codes.py:139 msgid "Returned against Return Order" msgstr "Returnert mot returordre" -#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:375 +#: InvenTree/status_codes.py:142 templates/js/translated/table_filters.js:375 msgid "Sent to customer" msgstr "Sendt til kunde" -#: InvenTree/status_codes.py:142 +#: InvenTree/status_codes.py:143 msgid "Returned from customer" msgstr "Returnert av kunde" -#: InvenTree/status_codes.py:149 +#: InvenTree/status_codes.py:150 msgid "Production" msgstr "Produksjon" -#: InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:186 msgid "Return" msgstr "Retur" -#: InvenTree/status_codes.py:188 +#: InvenTree/status_codes.py:189 msgid "Repair" msgstr "Reparasjon" -#: InvenTree/status_codes.py:191 +#: InvenTree/status_codes.py:192 msgid "Replace" msgstr "Erstatt" -#: InvenTree/status_codes.py:194 +#: InvenTree/status_codes.py:195 msgid "Refund" msgstr "Refusjon" -#: InvenTree/status_codes.py:197 +#: InvenTree/status_codes.py:198 msgid "Reject" msgstr "Avvis" @@ -946,14 +946,14 @@ msgstr "Om InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Produksjonen må avbrytes før den kan slettes" -#: build/api.py:299 part/models.py:4047 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4090 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "Forbruksvare" -#: build/api.py:300 part/models.py:4041 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4084 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -969,7 +969,7 @@ msgstr "Spores" #: build/api.py:303 part/admin.py:144 templates/js/translated/build.js:1744 #: templates/js/translated/build.js:2629 -#: templates/js/translated/sales_order.js:1929 +#: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "Tildelt" @@ -980,7 +980,7 @@ msgstr "Tildelt" #: templates/email/low_stock_notification.html:17 #: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 #: templates/js/translated/index.js:123 -#: templates/js/translated/model_renderers.js:228 +#: templates/js/translated/model_renderers.js:234 #: templates/js/translated/part.js:692 templates/js/translated/part.js:694 #: templates/js/translated/part.js:699 #: templates/js/translated/table_filters.js:340 @@ -988,16 +988,16 @@ msgstr "Tildelt" msgid "Available" msgstr "Tilgjengelig" -#: build/models.py:74 build/templates/build/build_base.html:9 +#: build/models.py:82 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 -#: report/templates/report/inventree_build_order_base.html:105 -#: templates/email/build_order_completed.html:16 +#: report/templates/report/inventree_build_order_report.html:105 +#: stock/serializers.py:83 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2895 +#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2892 msgid "Build Order" msgstr "Produksjonsordre" -#: build/models.py:75 build/templates/build/build_base.html:13 +#: build/models.py:83 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -1008,71 +1008,71 @@ msgstr "Produksjonsordre" msgid "Build Orders" msgstr "Produksjonsordrer" -#: build/models.py:122 +#: build/models.py:130 msgid "Invalid choice for parent build" msgstr "Ugyldig valg for overordnet produksjon" -#: build/models.py:133 order/models.py:239 +#: build/models.py:141 order/models.py:241 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:139 +#: build/models.py:147 msgid "Build order part cannot be changed" msgstr "Produksjonsordrens del kan ikke endres" -#: build/models.py:185 +#: build/models.py:208 msgid "Build Order Reference" msgstr "Produksjonsordre-referanse" -#: build/models.py:186 order/models.py:442 order/models.py:898 -#: order/models.py:1276 order/models.py:1998 part/admin.py:417 -#: part/models.py:4062 part/templates/part/upload_bom.html:54 +#: build/models.py:209 order/models.py:464 order/models.py:929 +#: order/models.py:1316 order/models.py:2047 part/admin.py:419 +#: part/models.py:4105 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 -#: report/templates/report/inventree_so_report_base.html:28 +#: report/templates/report/inventree_purchase_order_report.html:28 +#: report/templates/report/inventree_return_order_report.html:26 +#: report/templates/report/inventree_sales_order_report.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 #: templates/js/translated/build.js:2512 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 -#: templates/js/translated/purchase_order.js:2066 -#: templates/js/translated/return_order.js:729 -#: templates/js/translated/sales_order.js:1818 +#: templates/js/translated/purchase_order.js:2065 +#: templates/js/translated/return_order.js:728 +#: templates/js/translated/sales_order.js:1854 msgid "Reference" msgstr "Referanse" -#: build/models.py:197 +#: build/models.py:220 msgid "Brief description of the build (optional)" msgstr "Kort beskrivelse av produksjonen (valgfritt)" -#: build/models.py:205 build/templates/build/build_base.html:183 +#: build/models.py:228 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Overordnet produksjon" -#: build/models.py:206 +#: build/models.py:229 msgid "BuildOrder to which this build is allocated" msgstr "Produksjonsordre som denne produksjonen er tildelt" -#: build/models.py:211 build/templates/build/build_base.html:97 +#: build/models.py:234 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 -#: order/models.py:1401 order/models.py:1546 order/models.py:1547 -#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004 -#: part/models.py:3148 part/models.py:3292 part/models.py:3315 -#: part/models.py:3336 part/models.py:3358 part/models.py:3468 -#: part/models.py:3764 part/models.py:3920 part/models.py:4013 -#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713 +#: order/models.py:1441 order/models.py:1586 order/models.py:1587 +#: part/api.py:1501 part/api.py:1795 part/models.py:392 part/models.py:3047 +#: part/models.py:3191 part/models.py:3335 part/models.py:3358 +#: part/models.py:3379 part/models.py:3401 part/models.py:3511 +#: part/models.py:3807 part/models.py:3963 part/models.py:4056 +#: part/models.py:4417 part/serializers.py:1122 part/serializers.py:1728 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 -#: report/templates/report/inventree_build_order_base.html:109 -#: report/templates/report/inventree_po_report_base.html:27 -#: report/templates/report/inventree_return_order_report_base.html:24 -#: report/templates/report/inventree_slr_report.html:102 -#: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:267 stock/serializers.py:689 -#: templates/InvenTree/search.html:82 +#: report/templates/report/inventree_build_order_report.html:109 +#: report/templates/report/inventree_purchase_order_report.html:27 +#: report/templates/report/inventree_return_order_report.html:24 +#: report/templates/report/inventree_sales_order_report.html:27 +#: report/templates/report/inventree_stock_location_report.html:102 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:396 +#: stock/serializers.py:818 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -1086,235 +1086,239 @@ msgstr "Produksjonsordre som denne produksjonen er tildelt" #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 #: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 -#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:2323 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:751 #: templates/js/translated/purchase_order.js:1304 -#: templates/js/translated/purchase_order.js:1849 -#: templates/js/translated/purchase_order.js:2008 -#: templates/js/translated/return_order.js:539 -#: templates/js/translated/return_order.js:710 +#: templates/js/translated/purchase_order.js:1848 +#: templates/js/translated/purchase_order.js:2007 +#: templates/js/translated/return_order.js:538 +#: templates/js/translated/return_order.js:709 #: templates/js/translated/sales_order.js:300 -#: templates/js/translated/sales_order.js:1197 -#: templates/js/translated/sales_order.js:1598 -#: templates/js/translated/sales_order.js:1796 +#: templates/js/translated/sales_order.js:1233 +#: templates/js/translated/sales_order.js:1634 +#: templates/js/translated/sales_order.js:1832 #: templates/js/translated/stock.js:676 templates/js/translated/stock.js:842 -#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1999 -#: templates/js/translated/stock.js:2860 templates/js/translated/stock.js:3093 -#: templates/js/translated/stock.js:3239 +#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1997 +#: templates/js/translated/stock.js:2857 templates/js/translated/stock.js:3090 +#: templates/js/translated/stock.js:3236 msgid "Part" msgstr "Del" -#: build/models.py:219 +#: build/models.py:242 msgid "Select part to build" msgstr "Velg del å produsere" -#: build/models.py:224 +#: build/models.py:247 msgid "Sales Order Reference" msgstr "Salgsordrereferanse" -#: build/models.py:228 +#: build/models.py:251 msgid "SalesOrder to which this build is allocated" msgstr "Salgsordren denne produksjonen er tildelt til" -#: build/models.py:233 build/serializers.py:970 +#: build/models.py:256 build/serializers.py:969 #: templates/js/translated/build.js:1731 -#: templates/js/translated/sales_order.js:1185 +#: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "Kildeplassering" -#: build/models.py:237 +#: build/models.py:260 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Velg plassering å ta lagerbeholdning fra for denne produksjonen (la stå tomt for a ta fra alle lagerplasseringer)" -#: build/models.py:242 +#: build/models.py:265 msgid "Destination Location" msgstr "Fullført plassering" -#: build/models.py:246 +#: build/models.py:269 msgid "Select location where the completed items will be stored" msgstr "Velg plassering der fullførte artikler vil bli lagret" -#: build/models.py:250 +#: build/models.py:273 msgid "Build Quantity" msgstr "Produksjonsmengde" -#: build/models.py:253 +#: build/models.py:276 msgid "Number of stock items to build" msgstr "Antall lagervarer å produsere" -#: build/models.py:257 +#: build/models.py:280 msgid "Completed items" msgstr "Fullførte artikler" -#: build/models.py:259 +#: build/models.py:282 msgid "Number of stock items which have been completed" msgstr "Antall lagervarer som er fullført" -#: build/models.py:263 +#: build/models.py:286 msgid "Build Status" msgstr "Produksjonsstatus" -#: build/models.py:267 +#: build/models.py:290 msgid "Build status code" msgstr "Produksjonsstatuskode" -#: build/models.py:276 build/serializers.py:278 order/serializers.py:581 -#: stock/models.py:823 stock/serializers.py:1333 +#: build/models.py:299 build/serializers.py:277 order/serializers.py:581 +#: stock/models.py:844 stock/serializers.py:75 stock/serializers.py:1462 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Batchkode" -#: build/models.py:280 build/serializers.py:279 +#: build/models.py:303 build/serializers.py:278 msgid "Batch code for this build output" msgstr "Batchkode for denne produksjonsartikkelen" -#: build/models.py:283 order/models.py:304 order/serializers.py:120 -#: part/models.py:1079 part/templates/part/part_base.html:310 -#: templates/js/translated/return_order.js:339 -#: templates/js/translated/sales_order.js:827 +#: build/models.py:306 order/models.py:317 order/serializers.py:120 +#: part/models.py:1122 part/templates/part/part_base.html:310 +#: templates/js/translated/return_order.js:338 +#: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "Opprettelsesdato" -#: build/models.py:287 +#: build/models.py:310 msgid "Target completion date" msgstr "Forventet sluttdato" -#: build/models.py:288 +#: build/models.py:311 msgid "Target date for build completion. Build will be overdue after this date." msgstr "Måldato for ferdigstillelse. Produksjonen vil være forfalt etter denne datoen." -#: build/models.py:291 order/models.py:500 order/models.py:2043 +#: build/models.py:314 order/models.py:522 order/models.py:2092 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "Fullført dato" -#: build/models.py:297 +#: build/models.py:320 msgid "completed by" msgstr "fullført av" -#: build/models.py:305 templates/js/translated/build.js:2207 +#: build/models.py:328 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "Utstedt av" -#: build/models.py:306 +#: build/models.py:329 msgid "User who issued this build order" msgstr "Brukeren som utstedte denne produksjonsordren" -#: build/models.py:314 build/templates/build/build_base.html:204 +#: build/models.py:337 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:145 -#: order/models.py:322 order/templates/order/order_base.html:217 +#: order/models.py:335 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1096 +#: order/templates/order/sales_order_base.html:232 part/models.py:1139 #: part/templates/part/part_base.html:390 -#: report/templates/report/inventree_build_order_base.html:158 +#: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 #: templates/js/translated/build.js:2219 -#: templates/js/translated/purchase_order.js:1764 -#: templates/js/translated/return_order.js:359 +#: templates/js/translated/purchase_order.js:1763 +#: templates/js/translated/return_order.js:358 #: templates/js/translated/table_filters.js:531 msgid "Responsible" msgstr "Ansvarlig" -#: build/models.py:315 +#: build/models.py:338 msgid "User or group responsible for this build order" msgstr "Bruker eller gruppe ansvarlig for produksjonsordren" -#: build/models.py:320 build/templates/build/detail.html:108 +#: build/models.py:343 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 -#: order/templates/order/sales_order_base.html:180 -#: part/templates/part/part_base.html:383 stock/models.py:819 +#: order/templates/order/sales_order_base.html:184 +#: part/templates/part/part_base.html:383 stock/models.py:840 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "Ekstern lenke" -#: build/models.py:325 +#: build/models.py:348 msgid "Build Priority" msgstr "Produksjonsprioritet" -#: build/models.py:328 +#: build/models.py:351 msgid "Priority of this build order" msgstr "Produksjonsordrens prioritet" -#: build/models.py:335 common/models.py:129 order/admin.py:18 -#: order/models.py:286 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:358 common/models.py:129 order/admin.py:18 +#: order/models.py:299 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 -#: templates/js/translated/purchase_order.js:1711 -#: templates/js/translated/return_order.js:318 -#: templates/js/translated/sales_order.js:806 +#: templates/js/translated/purchase_order.js:1710 +#: templates/js/translated/return_order.js:317 +#: templates/js/translated/sales_order.js:842 #: templates/js/translated/table_filters.js:48 #: templates/project_code_data.html:6 msgid "Project Code" msgstr "Prosjektkode" -#: build/models.py:336 +#: build/models.py:359 msgid "Project code for this build order" msgstr "Prosjektkode for denne produksjonsordren" -#: build/models.py:566 build/models.py:631 +#: build/models.py:589 build/models.py:654 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:588 +#: build/models.py:611 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Produksjonsordre {build} er fullført" -#: build/models.py:594 +#: build/models.py:617 msgid "A build order has been completed" msgstr "En produksjonsordre er fullført" -#: build/models.py:820 build/models.py:895 +#: build/models.py:843 build/models.py:918 msgid "No build output specified" msgstr "Ingen produksjonsartikkel spesifisert" -#: build/models.py:823 +#: build/models.py:846 msgid "Build output is already completed" msgstr "Produksjonsartikkelen er allerede fullført" -#: build/models.py:826 +#: build/models.py:849 msgid "Build output does not match Build Order" msgstr "Produksjonsartikkelen samsvarer ikke med produksjonsordren" -#: build/models.py:899 build/serializers.py:221 build/serializers.py:260 -#: build/serializers.py:837 order/models.py:538 order/serializers.py:433 -#: order/serializers.py:576 part/serializers.py:1471 part/serializers.py:1871 -#: stock/models.py:662 stock/models.py:1482 stock/serializers.py:472 +#: build/models.py:922 build/serializers.py:220 build/serializers.py:259 +#: build/serializers.py:836 order/models.py:560 order/serializers.py:433 +#: order/serializers.py:576 part/serializers.py:1486 part/serializers.py:1886 +#: stock/models.py:683 stock/models.py:1503 stock/serializers.py:601 msgid "Quantity must be greater than zero" msgstr "Mengden må være større enn null" -#: build/models.py:904 build/serializers.py:226 +#: build/models.py:927 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "Kvantitet kan ikke være større enn utgangsantallet" -#: build/models.py:961 build/serializers.py:539 +#: build/models.py:984 build/serializers.py:538 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1323 +#: build/models.py:1335 +msgid "Build Order Line Item" +msgstr "" + +#: build/models.py:1360 msgid "Build object" msgstr "Produksjonsobjekt" -#: build/models.py:1337 build/models.py:1593 build/serializers.py:208 -#: build/serializers.py:245 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2524 -#: order/models.py:1259 order/models.py:1918 order/serializers.py:1339 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 -#: part/forms.py:48 part/models.py:3162 part/models.py:4035 +#: build/models.py:1374 build/models.py:1630 build/serializers.py:207 +#: build/serializers.py:244 build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2530 +#: order/models.py:1299 order/models.py:1958 order/serializers.py:1339 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 +#: part/forms.py:48 part/models.py:3205 part/models.py:4078 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 -#: report/templates/report/inventree_build_order_base.html:113 -#: report/templates/report/inventree_po_report_base.html:29 -#: report/templates/report/inventree_slr_report.html:104 -#: report/templates/report/inventree_so_report_base.html:29 -#: report/templates/report/inventree_test_report_base.html:90 -#: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:160 stock/serializers.py:463 +#: report/templates/report/inventree_build_order_report.html:113 +#: report/templates/report/inventree_purchase_order_report.html:29 +#: report/templates/report/inventree_sales_order_report.html:29 +#: report/templates/report/inventree_stock_location_report.html:104 +#: report/templates/report/inventree_test_report.html:90 +#: report/templates/report/inventree_test_report.html:170 stock/admin.py:160 +#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:592 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1324,380 +1328,381 @@ msgstr "Produksjonsobjekt" #: templates/js/translated/build.js:737 templates/js/translated/build.js:1369 #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 -#: templates/js/translated/model_renderers.js:230 +#: templates/js/translated/model_renderers.js:236 #: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3341 +#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3340 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 #: templates/js/translated/purchase_order.js:754 -#: templates/js/translated/purchase_order.js:1853 -#: templates/js/translated/purchase_order.js:2072 +#: templates/js/translated/purchase_order.js:1852 +#: templates/js/translated/purchase_order.js:2071 #: templates/js/translated/sales_order.js:317 -#: templates/js/translated/sales_order.js:1199 -#: templates/js/translated/sales_order.js:1518 -#: templates/js/translated/sales_order.js:1608 -#: templates/js/translated/sales_order.js:1698 -#: templates/js/translated/sales_order.js:1824 +#: templates/js/translated/sales_order.js:1235 +#: templates/js/translated/sales_order.js:1554 +#: templates/js/translated/sales_order.js:1644 +#: templates/js/translated/sales_order.js:1734 +#: templates/js/translated/sales_order.js:1860 #: templates/js/translated/stock.js:564 templates/js/translated/stock.js:702 -#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:3024 -#: templates/js/translated/stock.js:3107 +#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:3021 +#: templates/js/translated/stock.js:3104 msgid "Quantity" msgstr "Antall" -#: build/models.py:1338 +#: build/models.py:1375 msgid "Required quantity for build order" msgstr "Påkrevd antall for produksjonsordre" -#: build/models.py:1418 +#: build/models.py:1455 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Produksjonselement må spesifisere en produksjonsartikkel, da master-del er merket som sporbar" -#: build/models.py:1427 +#: build/models.py:1464 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Tildelt antall ({q}) kan ikke overstige tilgjengelig lagerbeholdning ({a})" -#: build/models.py:1437 order/models.py:1869 +#: build/models.py:1474 order/models.py:1909 msgid "Stock item is over-allocated" msgstr "Lagervaren er overtildelt" -#: build/models.py:1443 order/models.py:1872 +#: build/models.py:1480 order/models.py:1912 msgid "Allocation quantity must be greater than zero" msgstr "Tildelingsantall må være større enn null" -#: build/models.py:1449 +#: build/models.py:1486 msgid "Quantity must be 1 for serialized stock" msgstr "Mengden må være 1 for serialisert lagervare" -#: build/models.py:1508 +#: build/models.py:1545 msgid "Selected stock item does not match BOM line" msgstr "Valgt lagervare samsvarer ikke med BOM-linjen" -#: build/models.py:1580 build/serializers.py:817 order/serializers.py:1183 -#: order/serializers.py:1204 stock/serializers.py:566 stock/serializers.py:1052 -#: stock/serializers.py:1164 stock/templates/stock/item_base.html:10 +#: build/models.py:1617 build/serializers.py:816 order/serializers.py:1183 +#: order/serializers.py:1204 stock/models.py:364 stock/serializers.py:92 +#: stock/serializers.py:695 stock/serializers.py:1181 stock/serializers.py:1293 +#: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 #: templates/js/translated/build.js:1745 #: templates/js/translated/sales_order.js:301 -#: templates/js/translated/sales_order.js:1198 -#: templates/js/translated/sales_order.js:1499 -#: templates/js/translated/sales_order.js:1504 -#: templates/js/translated/sales_order.js:1605 -#: templates/js/translated/sales_order.js:1692 +#: templates/js/translated/sales_order.js:1234 +#: templates/js/translated/sales_order.js:1535 +#: templates/js/translated/sales_order.js:1540 +#: templates/js/translated/sales_order.js:1641 +#: templates/js/translated/sales_order.js:1728 #: templates/js/translated/stock.js:677 templates/js/translated/stock.js:843 -#: templates/js/translated/stock.js:2980 +#: templates/js/translated/stock.js:2977 msgid "Stock Item" msgstr "Lagervare" -#: build/models.py:1581 +#: build/models.py:1618 msgid "Source stock item" msgstr "Kildelagervare" -#: build/models.py:1594 +#: build/models.py:1631 msgid "Stock quantity to allocate to build" msgstr "Lagerantall å tildele til produksjonen" -#: build/models.py:1602 +#: build/models.py:1639 msgid "Install into" msgstr "Monteres i" -#: build/models.py:1603 +#: build/models.py:1640 msgid "Destination stock item" msgstr "Lagervare for montering" -#: build/serializers.py:158 build/serializers.py:846 +#: build/serializers.py:157 build/serializers.py:845 #: templates/js/translated/build.js:1322 msgid "Build Output" msgstr "Produksjonsartikkel" -#: build/serializers.py:170 +#: build/serializers.py:169 msgid "Build output does not match the parent build" msgstr "Produksjonsartikkel samsvarer ikke med overordnet produksjon" -#: build/serializers.py:174 +#: build/serializers.py:173 msgid "Output part does not match BuildOrder part" msgstr "Resultatdel samsvarer ikke med produksjonsordredel" -#: build/serializers.py:178 +#: build/serializers.py:177 msgid "This build output has already been completed" msgstr "Denne produksjonsartikkelen er allerede fullført" -#: build/serializers.py:189 +#: build/serializers.py:188 msgid "This build output is not fully allocated" msgstr "Denne produksjonsartikkelen er ikke fullt tildelt" -#: build/serializers.py:209 build/serializers.py:246 +#: build/serializers.py:208 build/serializers.py:245 msgid "Enter quantity for build output" msgstr "Angi antall for produksjonsartikkel" -#: build/serializers.py:267 +#: build/serializers.py:266 msgid "Integer quantity required for trackable parts" msgstr "Heltallsverdi kreves for sporbare deler" -#: build/serializers.py:270 +#: build/serializers.py:269 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Heltallsverdi kreves, da stykklisten inneholder sporbare deler" -#: build/serializers.py:285 order/serializers.py:589 order/serializers.py:1343 -#: stock/serializers.py:483 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:284 order/serializers.py:589 order/serializers.py:1343 +#: stock/serializers.py:612 templates/js/translated/purchase_order.js:1153 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "Serienummer" -#: build/serializers.py:286 +#: build/serializers.py:285 msgid "Enter serial numbers for build outputs" msgstr "Angi serienummer for produksjonsartikler" -#: build/serializers.py:291 build/serializers.py:432 build/serializers.py:504 +#: build/serializers.py:290 build/serializers.py:431 build/serializers.py:503 #: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1679 -#: part/serializers.py:1127 stock/serializers.py:494 stock/serializers.py:654 -#: stock/serializers.py:750 stock/serializers.py:1196 stock/serializers.py:1452 -#: stock/templates/stock/item_base.html:394 +#: part/serializers.py:1142 stock/serializers.py:101 stock/serializers.py:623 +#: stock/serializers.py:783 stock/serializers.py:879 stock/serializers.py:1325 +#: stock/serializers.py:1581 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 #: templates/js/translated/purchase_order.js:1178 #: templates/js/translated/purchase_order.js:1268 -#: templates/js/translated/sales_order.js:1511 -#: templates/js/translated/sales_order.js:1619 -#: templates/js/translated/sales_order.js:1627 -#: templates/js/translated/sales_order.js:1706 +#: templates/js/translated/sales_order.js:1547 +#: templates/js/translated/sales_order.js:1655 +#: templates/js/translated/sales_order.js:1663 +#: templates/js/translated/sales_order.js:1742 #: templates/js/translated/stock.js:678 templates/js/translated/stock.js:844 -#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2203 -#: templates/js/translated/stock.js:2874 +#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2201 +#: templates/js/translated/stock.js:2871 msgid "Location" msgstr "Plassering" -#: build/serializers.py:292 +#: build/serializers.py:291 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:306 +#: build/serializers.py:305 msgid "Auto Allocate Serial Numbers" msgstr "Automatisk tildeling av serienummer" -#: build/serializers.py:307 +#: build/serializers.py:306 msgid "Automatically allocate required items with matching serial numbers" msgstr "Automatisk tildeling av nødvendige artikler med tilsvarende serienummer" -#: build/serializers.py:322 +#: build/serializers.py:321 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:347 stock/api.py:995 +#: build/serializers.py:346 stock/api.py:1029 msgid "The following serial numbers already exist or are invalid" msgstr "Følgende serienummer finnes allerede eller er ugyldige" -#: build/serializers.py:394 build/serializers.py:456 build/serializers.py:545 +#: build/serializers.py:393 build/serializers.py:455 build/serializers.py:544 msgid "A list of build outputs must be provided" msgstr "En liste over produksjonsartikler må oppgis" -#: build/serializers.py:433 +#: build/serializers.py:432 msgid "Stock location for scrapped outputs" msgstr "Lagerplassering for skrotede produksjonsartikler" -#: build/serializers.py:439 +#: build/serializers.py:438 msgid "Discard Allocations" msgstr "Forkast tildelinger" -#: build/serializers.py:440 +#: build/serializers.py:439 msgid "Discard any stock allocations for scrapped outputs" msgstr "Forkast tildelinger fra skrotede produksjonsartikler" -#: build/serializers.py:445 +#: build/serializers.py:444 msgid "Reason for scrapping build output(s)" msgstr "Grunn for skroting av produksjonsartikler" -#: build/serializers.py:505 +#: build/serializers.py:504 msgid "Location for completed build outputs" msgstr "Plassering for ferdige produksjonsartikler" -#: build/serializers.py:511 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:922 -#: order/models.py:2022 order/serializers.py:597 stock/admin.py:165 -#: stock/serializers.py:801 stock/serializers.py:1340 +#: build/serializers.py:510 build/templates/build/build_base.html:151 +#: build/templates/build/detail.html:62 order/models.py:953 +#: order/models.py:2071 order/serializers.py:597 stock/admin.py:165 +#: stock/serializers.py:930 stock/serializers.py:1469 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 -#: templates/js/translated/purchase_order.js:1723 -#: templates/js/translated/return_order.js:331 -#: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2178 templates/js/translated/stock.js:2998 -#: templates/js/translated/stock.js:3123 +#: templates/js/translated/purchase_order.js:1722 +#: templates/js/translated/return_order.js:330 +#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/stock.js:2176 templates/js/translated/stock.js:2995 +#: templates/js/translated/stock.js:3120 msgid "Status" msgstr "" -#: build/serializers.py:517 +#: build/serializers.py:516 msgid "Accept Incomplete Allocation" msgstr "Godta ufullstendig tildeling" -#: build/serializers.py:518 +#: build/serializers.py:517 msgid "Complete outputs if stock has not been fully allocated" msgstr "Fullfør artikler dersom lagerbeholdning ikke er fullt tildelt" -#: build/serializers.py:598 +#: build/serializers.py:597 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:599 +#: build/serializers.py:598 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:605 +#: build/serializers.py:604 msgid "Remove Incomplete Outputs" msgstr "Fjern ufullstendige artikler" -#: build/serializers.py:606 +#: build/serializers.py:605 msgid "Delete any build outputs which have not been completed" msgstr "Slett alle produksjonsartikler som ikke er fullført" -#: build/serializers.py:633 +#: build/serializers.py:632 msgid "Not permitted" msgstr "Ikke tillatt" -#: build/serializers.py:634 +#: build/serializers.py:633 msgid "Accept as consumed by this build order" msgstr "Godta som brukt av denne produksjonsordren" -#: build/serializers.py:635 +#: build/serializers.py:634 msgid "Deallocate before completing this build order" msgstr "Fjern tildeling før produksjonsordren fullføres" -#: build/serializers.py:657 +#: build/serializers.py:656 msgid "Overallocated Stock" msgstr "Overtildelt lagerbeholdning" -#: build/serializers.py:659 +#: build/serializers.py:658 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "Hvordan vil du håndtere ekstra lagervarer tildelt produksjonsordren" -#: build/serializers.py:669 +#: build/serializers.py:668 msgid "Some stock items have been overallocated" msgstr "Noen lagervarer har blitt overtildelt" -#: build/serializers.py:674 +#: build/serializers.py:673 msgid "Accept Unallocated" msgstr "Godta ikke tildelt" -#: build/serializers.py:675 +#: build/serializers.py:674 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Godta at lagervarer ikke er fullt tildelt til denne produksjonsordren" -#: build/serializers.py:685 templates/js/translated/build.js:315 +#: build/serializers.py:684 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" msgstr "Nøvendig lagerbeholdning er ikke fullt tildelt" -#: build/serializers.py:690 order/serializers.py:301 order/serializers.py:1246 +#: build/serializers.py:689 order/serializers.py:301 order/serializers.py:1246 msgid "Accept Incomplete" msgstr "Godta uferdig" -#: build/serializers.py:691 +#: build/serializers.py:690 msgid "Accept that the required number of build outputs have not been completed" msgstr "Godta at nødvendig antall fullførte produksjonsartikler ikke er nådd" -#: build/serializers.py:701 templates/js/translated/build.js:319 +#: build/serializers.py:700 templates/js/translated/build.js:319 msgid "Required build quantity has not been completed" msgstr "Nødvendig produksjonsmengde er ikke nådd" -#: build/serializers.py:710 templates/js/translated/build.js:303 +#: build/serializers.py:709 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" msgstr "Produksjonsordren har uferdige artikler" -#: build/serializers.py:740 +#: build/serializers.py:739 msgid "Build Line" msgstr "Produksjonslinje" -#: build/serializers.py:750 +#: build/serializers.py:749 msgid "Build output" msgstr "Produksjonsartikkel" -#: build/serializers.py:758 +#: build/serializers.py:757 msgid "Build output must point to the same build" msgstr "Produksjonsartikkel må peke til samme produksjon" -#: build/serializers.py:794 +#: build/serializers.py:793 msgid "Build Line Item" msgstr "Produksjonsartikkel" -#: build/serializers.py:808 +#: build/serializers.py:807 msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part må peke på den samme delen som produksjonsordren" -#: build/serializers.py:823 stock/serializers.py:1065 +#: build/serializers.py:822 stock/serializers.py:1194 msgid "Item must be in stock" msgstr "Artikkelen må være på lager" -#: build/serializers.py:871 order/serializers.py:1237 +#: build/serializers.py:870 order/serializers.py:1237 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Tilgjengelig antall ({q}) overskredet" -#: build/serializers.py:877 +#: build/serializers.py:876 msgid "Build output must be specified for allocation of tracked parts" msgstr "Produksjonsartikkel må spesifiseres for tildeling av sporede deler" -#: build/serializers.py:884 +#: build/serializers.py:883 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "Produksjonsartikkel kan ikke spesifiseres for tildeling av usporede deler" -#: build/serializers.py:908 order/serializers.py:1489 +#: build/serializers.py:907 order/serializers.py:1489 msgid "Allocation items must be provided" msgstr "Tildelingsartikler må oppgis" -#: build/serializers.py:971 +#: build/serializers.py:970 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "Lagerplassering hvor deler skal hentes (la stå tomt for å ta fra alle plasseringer)" -#: build/serializers.py:979 +#: build/serializers.py:978 msgid "Exclude Location" msgstr "Eksluderer plassering" -#: build/serializers.py:980 +#: build/serializers.py:979 msgid "Exclude stock items from this selected location" msgstr "Ekskluder lagervarer fra denne valgte plasseringen" -#: build/serializers.py:985 +#: build/serializers.py:984 msgid "Interchangeable Stock" msgstr "Utskiftbar lagerbeholdning" -#: build/serializers.py:986 +#: build/serializers.py:985 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Lagervarer ved flere plasseringer kan brukes om hverandre" -#: build/serializers.py:991 +#: build/serializers.py:990 msgid "Substitute Stock" msgstr "Erstatning-lagerbeholdning" -#: build/serializers.py:992 +#: build/serializers.py:991 msgid "Allow allocation of substitute parts" msgstr "Tilatt tildelling av erstatningsdeler" -#: build/serializers.py:997 +#: build/serializers.py:996 msgid "Optional Items" msgstr "Valgfrie artikler" -#: build/serializers.py:998 +#: build/serializers.py:997 msgid "Allocate optional BOM items to build order" msgstr "Tildel valgfrie BOM-artikler til produksjonsordre" -#: build/serializers.py:1020 +#: build/serializers.py:1019 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1110 part/models.py:3930 part/models.py:4366 -#: stock/api.py:758 +#: build/serializers.py:1109 part/models.py:3973 part/models.py:4409 +#: stock/api.py:792 msgid "BOM Item" msgstr "BOM-artikkel" -#: build/serializers.py:1119 templates/js/translated/index.js:130 +#: build/serializers.py:1118 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "Tildelt lagerbeholdning" -#: build/serializers.py:1124 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:817 part/serializers.py:1489 +#: build/serializers.py:1123 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:832 part/serializers.py:1504 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 @@ -1705,15 +1710,15 @@ msgstr "Tildelt lagerbeholdning" msgid "On Order" msgstr "I bestilling" -#: build/serializers.py:1129 part/serializers.py:1491 +#: build/serializers.py:1128 part/serializers.py:1506 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "I produksjon" -#: build/serializers.py:1134 part/bom.py:172 part/serializers.py:1514 +#: build/serializers.py:1133 part/bom.py:172 part/serializers.py:1529 #: part/templates/part/part_base.html:192 -#: templates/js/translated/sales_order.js:1893 +#: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "Tilgjengelig lagerbeholdning" @@ -1842,18 +1847,18 @@ msgid "Stock has not been fully allocated to this Build Order" 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:297 -#: order/models.py:1294 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:310 +#: order/models.py:1334 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 -#: order/templates/order/sales_order_base.html:192 -#: report/templates/report/inventree_build_order_base.html:125 +#: order/templates/order/sales_order_base.html:196 +#: report/templates/report/inventree_build_order_report.html:125 #: templates/js/translated/build.js:2239 templates/js/translated/part.js:1830 -#: templates/js/translated/purchase_order.js:1740 -#: templates/js/translated/purchase_order.js:2148 -#: templates/js/translated/return_order.js:347 -#: templates/js/translated/return_order.js:751 -#: templates/js/translated/sales_order.js:835 -#: templates/js/translated/sales_order.js:1867 +#: templates/js/translated/purchase_order.js:1739 +#: templates/js/translated/purchase_order.js:2147 +#: templates/js/translated/return_order.js:346 +#: templates/js/translated/return_order.js:750 +#: templates/js/translated/sales_order.js:871 +#: templates/js/translated/sales_order.js:1903 msgid "Target Date" msgstr "Måldato" @@ -1866,7 +1871,7 @@ msgstr "Denne produksjonsordren forfalt %(target)s" #: build/templates/build/build_base.html:222 #: order/templates/order/order_base.html:122 #: order/templates/order/return_order_base.html:117 -#: order/templates/order/sales_order_base.html:122 +#: order/templates/order/sales_order_base.html:126 #: templates/js/translated/table_filters.js:98 #: templates/js/translated/table_filters.js:524 #: templates/js/translated/table_filters.js:626 @@ -1880,24 +1885,24 @@ msgid "Completed Outputs" msgstr "Fullførte byggeresultater" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:1538 -#: order/models.py:1652 order/models.py:1806 +#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:848 +#: order/models.py:1578 order/models.py:1692 order/models.py:1846 #: 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 +#: report/templates/report/inventree_build_order_report.html:135 +#: report/templates/report/inventree_sales_order_report.html:14 #: stock/templates/stock/item_base.html:369 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:929 -#: templates/js/translated/sales_order.js:769 -#: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2927 +#: templates/js/translated/sales_order.js:805 +#: templates/js/translated/sales_order.js:1028 +#: templates/js/translated/stock.js:2924 msgid "Sales Order" msgstr "Salgsordre" #: build/templates/build/build_base.html:197 #: build/templates/build/detail.html:115 -#: report/templates/report/inventree_build_order_base.html:152 +#: report/templates/report/inventree_build_order_report.html:152 #: templates/js/translated/table_filters.js:24 msgid "Issued By" msgstr "Utstedt av" @@ -1907,15 +1912,15 @@ msgstr "Utstedt av" msgid "Priority" msgstr "Prioritet" -#: build/templates/build/build_base.html:273 +#: build/templates/build/build_base.html:269 msgid "Delete Build Order" msgstr "Slett Produksjonsordre" -#: build/templates/build/build_base.html:283 +#: build/templates/build/build_base.html:279 msgid "Build Order QR Code" msgstr "Produksjonsordrens QR-kode" -#: build/templates/build/build_base.html:295 +#: build/templates/build/build_base.html:291 msgid "Link Barcode to Build Order" msgstr "Koble Strekkode til Produksjonsordre" @@ -1931,8 +1936,8 @@ msgstr "Lagerkilde" msgid "Stock can be taken from any available location." msgstr "Lagervare kan hentes fra alle tilgengelige plasseringer." -#: build/templates/build/detail.html:49 order/models.py:1430 -#: templates/js/translated/purchase_order.js:2190 +#: build/templates/build/detail.html:49 order/models.py:1470 +#: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "Destinasjon" @@ -1947,10 +1952,10 @@ msgstr "Tildelte deler" #: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 #: templates/js/translated/build.js:1380 -#: templates/js/translated/model_renderers.js:235 +#: templates/js/translated/model_renderers.js:241 #: templates/js/translated/purchase_order.js:1274 -#: templates/js/translated/stock.js:1133 templates/js/translated/stock.js:2192 -#: templates/js/translated/stock.js:3130 +#: templates/js/translated/stock.js:1133 templates/js/translated/stock.js:2190 +#: templates/js/translated/stock.js:3127 #: templates/js/translated/table_filters.js:313 #: templates/js/translated/table_filters.js:404 msgid "Batch" @@ -1959,7 +1964,7 @@ msgstr "" #: build/templates/build/detail.html:133 #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:151 -#: order/templates/order/sales_order_base.html:186 +#: order/templates/order/sales_order_base.html:190 #: templates/js/translated/build.js:2199 msgid "Created" msgstr "Opprettet" @@ -1969,7 +1974,7 @@ msgid "No target date set" msgstr "Ingen måldato satt" #: build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:202 +#: order/templates/order/sales_order_base.html:206 #: templates/js/translated/table_filters.js:689 msgid "Completed" msgstr "Fullført" @@ -2260,8 +2265,8 @@ msgstr "Hvor ofte valutakurser skal oppdateres (sett til null for å deaktiverer #: common/models.py:1316 common/models.py:1372 common/models.py:1385 #: common/models.py:1393 common/models.py:1402 common/models.py:1411 -#: common/models.py:1613 common/models.py:1635 common/models.py:1750 -#: common/models.py:2061 +#: common/models.py:1619 common/models.py:1641 common/models.py:1756 +#: common/models.py:2067 msgid "days" msgstr "dager" @@ -2402,1209 +2407,1218 @@ msgid "Enable revision field for Part" msgstr "Aktiver revisjonsfeltet for Del" #: common/models.py:1440 +msgid "Allow Deletion from Assembly" +msgstr "" + +#: common/models.py:1441 +msgid "Allow deletion of parts which are used in an assembly" +msgstr "" + +#: common/models.py:1446 msgid "IPN Regex" msgstr "IPN regex" -#: common/models.py:1441 +#: common/models.py:1447 msgid "Regular expression pattern for matching Part IPN" msgstr "Regulært uttrykksmønster for matching av internt delnummer" -#: common/models.py:1444 +#: common/models.py:1450 msgid "Allow Duplicate IPN" msgstr "Tilat duplikat av internt delnummer" -#: common/models.py:1445 +#: common/models.py:1451 msgid "Allow multiple parts to share the same IPN" msgstr "Tillat flere deler å dele samme interne delnummer" -#: common/models.py:1450 +#: common/models.py:1456 msgid "Allow Editing IPN" msgstr "Tillat redigering av internt delnummer" -#: common/models.py:1451 +#: common/models.py:1457 msgid "Allow changing the IPN value while editing a part" msgstr "Tillat endring av IPN-verdien mens du redigerer en del" -#: common/models.py:1456 +#: common/models.py:1462 msgid "Copy Part BOM Data" msgstr "Kopier BOM-data fra del" -#: common/models.py:1457 +#: common/models.py:1463 msgid "Copy BOM data by default when duplicating a part" msgstr "Kopier BOM-data som standard når du dupliserer en del" -#: common/models.py:1462 +#: common/models.py:1468 msgid "Copy Part Parameter Data" msgstr "Kopier parameterdata fra del" -#: common/models.py:1463 +#: common/models.py:1469 msgid "Copy parameter data by default when duplicating a part" msgstr "Kopier parameterdata som standard ved duplisering av en del" -#: common/models.py:1468 +#: common/models.py:1474 msgid "Copy Part Test Data" msgstr "Kopier testdata fra del" -#: common/models.py:1469 +#: common/models.py:1475 msgid "Copy test data by default when duplicating a part" msgstr "Kopier testdata som standard ved duplisering av en del" -#: common/models.py:1474 +#: common/models.py:1480 msgid "Copy Category Parameter Templates" msgstr "Kopier designmaler for kategoriparametere" -#: common/models.py:1475 +#: common/models.py:1481 msgid "Copy category parameter templates when creating a part" msgstr "Kopier parametermaler for kategori ved oppretting av en del" -#: common/models.py:1480 part/admin.py:108 part/models.py:3772 -#: report/models.py:182 stock/serializers.py:99 +#: common/models.py:1486 part/admin.py:108 part/models.py:3815 +#: report/models.py:294 report/models.py:361 report/serializers.py:90 +#: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:767 msgid "Template" msgstr "Mal" -#: common/models.py:1481 +#: common/models.py:1487 msgid "Parts are templates by default" msgstr "Deler er maler som standard" -#: common/models.py:1486 part/admin.py:91 part/admin.py:431 part/models.py:1016 +#: common/models.py:1492 part/admin.py:91 part/admin.py:433 part/models.py:1059 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "Sammenstilling" -#: common/models.py:1487 +#: common/models.py:1493 msgid "Parts can be assembled from other components by default" msgstr "Deler kan settes sammen fra andre komponenter som standard" -#: common/models.py:1492 part/admin.py:95 part/models.py:1022 +#: common/models.py:1498 part/admin.py:95 part/models.py:1065 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "Komponent" -#: common/models.py:1493 +#: common/models.py:1499 msgid "Parts can be used as sub-components by default" msgstr "Deler kan bli brukt som underkomponenter som standard" -#: common/models.py:1498 part/admin.py:100 part/models.py:1034 +#: common/models.py:1504 part/admin.py:100 part/models.py:1077 msgid "Purchaseable" msgstr "Kjøpbar" -#: common/models.py:1499 +#: common/models.py:1505 msgid "Parts are purchaseable by default" msgstr "Deler er kjøpbare som standard" -#: common/models.py:1504 part/admin.py:104 part/models.py:1040 +#: common/models.py:1510 part/admin.py:104 part/models.py:1083 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "Salgbar" -#: common/models.py:1505 +#: common/models.py:1511 msgid "Parts are salable by default" msgstr "Deler er salgbare som standard" -#: common/models.py:1510 part/admin.py:113 part/models.py:1028 +#: common/models.py:1516 part/admin.py:113 part/models.py:1071 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "Sporbar" -#: common/models.py:1511 +#: common/models.py:1517 msgid "Parts are trackable by default" msgstr "Deler er sporbare som standard" -#: common/models.py:1516 part/admin.py:117 part/models.py:1050 +#: common/models.py:1522 part/admin.py:117 part/models.py:1093 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "Virtuelle" -#: common/models.py:1517 +#: common/models.py:1523 msgid "Parts are virtual by default" msgstr "Deler er virtuelle som standard" -#: common/models.py:1522 +#: common/models.py:1528 msgid "Show Import in Views" msgstr "Vis import i visninger" -#: common/models.py:1523 +#: common/models.py:1529 msgid "Display the import wizard in some part views" msgstr "Vis importveiviseren i noen deler visninger" -#: common/models.py:1528 +#: common/models.py:1534 msgid "Show related parts" msgstr "Vis relaterte deler" -#: common/models.py:1529 +#: common/models.py:1535 msgid "Display related parts for a part" msgstr "Vis relaterte deler i en del" -#: common/models.py:1534 +#: common/models.py:1540 msgid "Initial Stock Data" msgstr "Innledende lagerbeholdningsdata" -#: common/models.py:1535 +#: common/models.py:1541 msgid "Allow creation of initial stock when adding a new part" msgstr "Tillat oppretting av innledende lagerbeholdning når en ny del opprettes" -#: common/models.py:1540 templates/js/translated/part.js:107 +#: common/models.py:1546 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "Innledende leverandørdata" -#: common/models.py:1542 +#: common/models.py:1548 msgid "Allow creation of initial supplier data when adding a new part" msgstr "Tillat oppretting av innledende leverandørdata når en ny del opprettes" -#: common/models.py:1548 +#: common/models.py:1554 msgid "Part Name Display Format" msgstr "Visningsformat for delnavn" -#: common/models.py:1549 +#: common/models.py:1555 msgid "Format to display the part name" msgstr "Format for å vise delnavnet" -#: common/models.py:1555 +#: common/models.py:1561 msgid "Part Category Default Icon" msgstr "Standardikon for delkategorier" -#: common/models.py:1556 +#: common/models.py:1562 msgid "Part category default icon (empty means no icon)" msgstr "Standardikon for delkategorier (tomt betyr ingen ikon)" -#: common/models.py:1560 +#: common/models.py:1566 msgid "Enforce Parameter Units" msgstr "Tving parameterenheter" -#: common/models.py:1562 +#: common/models.py:1568 msgid "If units are provided, parameter values must match the specified units" msgstr "Hvis det er angitt en enhet, skal parameterverdiene samsvare med de angitte enhetene" -#: common/models.py:1568 +#: common/models.py:1574 msgid "Minimum Pricing Decimal Places" msgstr "Minimum antall desimalplasser for priser" -#: common/models.py:1570 +#: common/models.py:1576 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "Minimum antall desimalplasser som skal vises når man gjengir prisdata" -#: common/models.py:1576 +#: common/models.py:1582 msgid "Maximum Pricing Decimal Places" msgstr "Maksimalt antall desimalplasser for priser" -#: common/models.py:1578 +#: common/models.py:1584 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "Maksimalt antall desimalplasser som skal vises når man gjengir prisdata" -#: common/models.py:1584 +#: common/models.py:1590 msgid "Use Supplier Pricing" msgstr "Bruk leverandørpriser" -#: common/models.py:1586 +#: common/models.py:1592 msgid "Include supplier price breaks in overall pricing calculations" msgstr "Inkluder leverandørprisbrudd i beregninger av totalpriser" -#: common/models.py:1592 +#: common/models.py:1598 msgid "Purchase History Override" msgstr "Innkjøpshistorikkoverstyring" -#: common/models.py:1594 +#: common/models.py:1600 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "Historiske innkjøpspriser overstyrer leverandørprisnivåer" -#: common/models.py:1600 +#: common/models.py:1606 msgid "Use Stock Item Pricing" msgstr "Bruk lagervarepriser" -#: common/models.py:1602 +#: common/models.py:1608 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "Bruk priser fra manuelt innlagte lagervarer for prisberegninger" -#: common/models.py:1608 +#: common/models.py:1614 msgid "Stock Item Pricing Age" msgstr "Lagervare prisalder" -#: common/models.py:1610 +#: common/models.py:1616 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "Unnta lagervarer som er eldre enn dette antall dager fra prisberegninger" -#: common/models.py:1617 +#: common/models.py:1623 msgid "Use Variant Pricing" msgstr "Bruk Variantpriser" -#: common/models.py:1618 +#: common/models.py:1624 msgid "Include variant pricing in overall pricing calculations" msgstr "Inkluder variantpriser i beregninger av totale priser" -#: common/models.py:1623 +#: common/models.py:1629 msgid "Active Variants Only" msgstr "Kun aktive varianter" -#: common/models.py:1625 +#: common/models.py:1631 msgid "Only use active variant parts for calculating variant pricing" msgstr "Bruk kun aktive variantdeler til beregning av variantprising" -#: common/models.py:1631 +#: common/models.py:1637 msgid "Pricing Rebuild Interval" msgstr "Intervall for rekalkulering av priser" -#: common/models.py:1633 +#: common/models.py:1639 msgid "Number of days before part pricing is automatically updated" msgstr "Antall dager før delpriser blir automatisk oppdatert" -#: common/models.py:1640 +#: common/models.py:1646 msgid "Internal Prices" msgstr "Interne Priser" -#: common/models.py:1641 +#: common/models.py:1647 msgid "Enable internal prices for parts" msgstr "Aktiver interne priser for deler" -#: common/models.py:1646 +#: common/models.py:1652 msgid "Internal Price Override" msgstr "Intern prisoverstyring" -#: common/models.py:1648 +#: common/models.py:1654 msgid "If available, internal prices override price range calculations" msgstr "Hvis tilgjengelig, overstyrer interne priser kalkulering av prisområde" -#: common/models.py:1654 +#: common/models.py:1660 msgid "Enable label printing" msgstr "Aktiver etikettutskrift" -#: common/models.py:1655 +#: common/models.py:1661 msgid "Enable label printing from the web interface" msgstr "Aktiver utskrift av etiketter fra nettleseren" -#: common/models.py:1660 +#: common/models.py:1666 msgid "Label Image DPI" msgstr "Etikettbilde-DPI" -#: common/models.py:1662 +#: common/models.py:1668 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "DPI-oppløsning når når det genereres bildefiler for sending til utvidelser for etikettutskrift" -#: common/models.py:1668 +#: common/models.py:1674 msgid "Enable Reports" msgstr "Aktiver Rapporter" -#: common/models.py:1669 +#: common/models.py:1675 msgid "Enable generation of reports" msgstr "Aktiver generering av rapporter" -#: common/models.py:1674 templates/stats.html:25 +#: common/models.py:1680 templates/stats.html:25 msgid "Debug Mode" msgstr "Feilsøkingsmodus" -#: common/models.py:1675 +#: common/models.py:1681 msgid "Generate reports in debug mode (HTML output)" msgstr "Generer rapporter i feilsøkingsmodus (HTML-output)" -#: common/models.py:1680 +#: common/models.py:1686 msgid "Log Report Errors" msgstr "" -#: common/models.py:1681 +#: common/models.py:1687 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1686 plugin/builtin/labels/label_sheet.py:28 -#: report/models.py:203 +#: common/models.py:1692 plugin/builtin/labels/label_sheet.py:28 +#: report/models.py:302 msgid "Page Size" msgstr "Sidestørrelse" -#: common/models.py:1687 +#: common/models.py:1693 msgid "Default page size for PDF reports" msgstr "Standard sidestørrelse for PDF-rapporter" -#: common/models.py:1692 +#: common/models.py:1698 msgid "Enable Test Reports" msgstr "Aktiver Testrapporter" -#: common/models.py:1693 +#: common/models.py:1699 msgid "Enable generation of test reports" msgstr "Aktiver generering av testrapporter" -#: common/models.py:1698 +#: common/models.py:1704 msgid "Attach Test Reports" msgstr "Legg ved testrapporter" -#: common/models.py:1700 +#: common/models.py:1706 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "Når det skrives ut en Testrapport, legg ved en kopi av Testrapporten på den assosierte Lagervaren" -#: common/models.py:1706 +#: common/models.py:1712 msgid "Globally Unique Serials" msgstr "Globalt Unike Serienummer" -#: common/models.py:1707 +#: common/models.py:1713 msgid "Serial numbers for stock items must be globally unique" msgstr "Serienummer for lagervarer må være globalt unike" -#: common/models.py:1712 +#: common/models.py:1718 msgid "Autofill Serial Numbers" msgstr "Automatisk tildeling av Serienummer" -#: common/models.py:1713 +#: common/models.py:1719 msgid "Autofill serial numbers in forms" msgstr "Aumatisk fyll ut serienummer i skjemaer" -#: common/models.py:1718 +#: common/models.py:1724 msgid "Delete Depleted Stock" msgstr "Slett oppbrukt lagerbeholdning" -#: common/models.py:1720 +#: common/models.py:1726 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1726 +#: common/models.py:1732 msgid "Batch Code Template" msgstr "Batchkodemal" -#: common/models.py:1728 +#: common/models.py:1734 msgid "Template for generating default batch codes for stock items" msgstr "Mal for generering av standard batchkoder for lagervarer" -#: common/models.py:1733 +#: common/models.py:1739 msgid "Stock Expiry" msgstr "Lagerbeholdning utløper" -#: common/models.py:1734 +#: common/models.py:1740 msgid "Enable stock expiry functionality" msgstr "Aktiver funksjonalitet for utløp av lagerbeholdning" -#: common/models.py:1739 +#: common/models.py:1745 msgid "Sell Expired Stock" msgstr "Selg utløpt lagerbeholdning" -#: common/models.py:1740 +#: common/models.py:1746 msgid "Allow sale of expired stock" msgstr "Tillat salg av utgått lagerbeholdning" -#: common/models.py:1745 +#: common/models.py:1751 msgid "Stock Stale Time" msgstr "Foreldet lagerbeholdning tidsintervall" -#: common/models.py:1747 +#: common/models.py:1753 msgid "Number of days stock items are considered stale before expiring" msgstr "Antall dager før lagervarer er ansett som foreldet før utløp" -#: common/models.py:1754 +#: common/models.py:1760 msgid "Build Expired Stock" msgstr "Produsér Utløpt Lagerbeholdning" -#: common/models.py:1755 +#: common/models.py:1761 msgid "Allow building with expired stock" msgstr "Tillat produksjon med utløpt lagerbeholdning" -#: common/models.py:1760 +#: common/models.py:1766 msgid "Stock Ownership Control" msgstr "Kontroll over eierskap av lagerbeholdning" -#: common/models.py:1761 +#: common/models.py:1767 msgid "Enable ownership control over stock locations and items" msgstr "Aktiver eierskap over lagerplasseringer og -varer" -#: common/models.py:1766 +#: common/models.py:1772 msgid "Stock Location Default Icon" msgstr "Lagerplassering standard ikon" -#: common/models.py:1767 +#: common/models.py:1773 msgid "Stock location default icon (empty means no icon)" msgstr "Lagerplassering standard ikon (tomt betyr ingen ikon)" -#: common/models.py:1771 +#: common/models.py:1777 msgid "Show Installed Stock Items" msgstr "Vis installerte lagervarer" -#: common/models.py:1772 +#: common/models.py:1778 msgid "Display installed stock items in stock tables" msgstr "Vis installerte lagervarer i lagertabeller" -#: common/models.py:1777 +#: common/models.py:1783 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1779 +#: common/models.py:1785 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1785 +#: common/models.py:1791 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1787 +#: common/models.py:1793 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1793 +#: common/models.py:1799 msgid "Build Order Reference Pattern" msgstr "Produksjonsordre-referansemønster" -#: common/models.py:1795 +#: common/models.py:1801 msgid "Required pattern for generating Build Order reference field" msgstr "Nødvendig mønster for å generere Produksjonsordre-referansefeltet" -#: common/models.py:1801 common/models.py:1829 common/models.py:1851 -#: common/models.py:1879 +#: common/models.py:1807 common/models.py:1835 common/models.py:1857 +#: common/models.py:1885 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1802 common/models.py:1830 common/models.py:1852 -#: common/models.py:1880 +#: common/models.py:1808 common/models.py:1836 common/models.py:1858 +#: common/models.py:1886 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1807 +#: common/models.py:1813 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1809 +#: common/models.py:1815 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1815 +#: common/models.py:1821 msgid "Enable Return Orders" msgstr "Aktiver returordrer" -#: common/models.py:1816 +#: common/models.py:1822 msgid "Enable return order functionality in the user interface" msgstr "Aktiver returordrefunksjonalitet i brukergrensesnittet" -#: common/models.py:1821 +#: common/models.py:1827 msgid "Return Order Reference Pattern" msgstr "Returordre-referansemønster" -#: common/models.py:1823 +#: common/models.py:1829 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1835 +#: common/models.py:1841 msgid "Edit Completed Return Orders" msgstr "Rediger fullførte returordrer" -#: common/models.py:1837 +#: common/models.py:1843 msgid "Allow editing of return orders after they have been completed" msgstr "Tillat redigering av returordrer etter de er fullført" -#: common/models.py:1843 +#: common/models.py:1849 msgid "Sales Order Reference Pattern" msgstr "Salgsordre-referansemønster" -#: common/models.py:1845 +#: common/models.py:1851 msgid "Required pattern for generating Sales Order reference field" msgstr "Påkrevd mønster for å generere salgsordrereferansefelt" -#: common/models.py:1857 +#: common/models.py:1863 msgid "Sales Order Default Shipment" msgstr "Salgsordre standard fraktmetode" -#: common/models.py:1858 +#: common/models.py:1864 msgid "Enable creation of default shipment with sales orders" msgstr "Aktiver opprettelse av standard forsendelse med salgsordrer" -#: common/models.py:1863 +#: common/models.py:1869 msgid "Edit Completed Sales Orders" msgstr "Rediger fullførte salgsordrer" -#: common/models.py:1865 +#: common/models.py:1871 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "Tillat redigering av salgsordrer etter de har blitt sendt eller fullført" -#: common/models.py:1871 +#: common/models.py:1877 msgid "Purchase Order Reference Pattern" msgstr "Referansemønster for innkjøpsordre" -#: common/models.py:1873 +#: common/models.py:1879 msgid "Required pattern for generating Purchase Order reference field" msgstr "Obligatorisk mønster for generering av referansefelt for innkjøpsordre" -#: common/models.py:1885 +#: common/models.py:1891 msgid "Edit Completed Purchase Orders" msgstr "Rediger fullførte innkjøpsordre" -#: common/models.py:1887 +#: common/models.py:1893 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "Tillat redigering av innkjøpsordre etter at de har blitt sendt eller fullført" -#: common/models.py:1893 +#: common/models.py:1899 msgid "Auto Complete Purchase Orders" msgstr "Autofullfør innkjøpsordrer" -#: common/models.py:1895 +#: common/models.py:1901 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "Automatisk merk innkjøpsordre som fullført når alle ordrelinjer er mottatt" -#: common/models.py:1902 +#: common/models.py:1908 msgid "Enable password forgot" msgstr "Aktiver passord glemt" -#: common/models.py:1903 +#: common/models.py:1909 msgid "Enable password forgot function on the login pages" msgstr "Ativer funskjon for glemt passord på innloggingssidene" -#: common/models.py:1908 +#: common/models.py:1914 msgid "Enable registration" msgstr "Aktiver registrering" -#: common/models.py:1909 +#: common/models.py:1915 msgid "Enable self-registration for users on the login pages" msgstr "Aktiver egenregistrerting for brukerer på påloggingssidene" -#: common/models.py:1914 +#: common/models.py:1920 msgid "Enable SSO" msgstr "Aktiver SSO" -#: common/models.py:1915 +#: common/models.py:1921 msgid "Enable SSO on the login pages" msgstr "Aktiver SSO på innloggingssidene" -#: common/models.py:1920 +#: common/models.py:1926 msgid "Enable SSO registration" msgstr "Aktiver SSO-registrering" -#: common/models.py:1922 +#: common/models.py:1928 msgid "Enable self-registration via SSO for users on the login pages" msgstr "Aktiver selvregistrering via SSO for brukere på innloggingssiden" -#: common/models.py:1928 +#: common/models.py:1934 msgid "Email required" msgstr "E-postadresse kreves" -#: common/models.py:1929 +#: common/models.py:1935 msgid "Require user to supply mail on signup" msgstr "Krevt at brukere angir e-post ved registrering" -#: common/models.py:1934 +#: common/models.py:1940 msgid "Auto-fill SSO users" msgstr "Auto-utfyll SSO-brukere" -#: common/models.py:1936 +#: common/models.py:1942 msgid "Automatically fill out user-details from SSO account-data" msgstr "Fyll automatisk ut brukeropplysninger fra SSO-kontodata" -#: common/models.py:1942 +#: common/models.py:1948 msgid "Mail twice" msgstr "E-post to ganger" -#: common/models.py:1943 +#: common/models.py:1949 msgid "On signup ask users twice for their mail" msgstr "Spør brukeren om e-post to ganger ved registrering" -#: common/models.py:1948 +#: common/models.py:1954 msgid "Password twice" msgstr "Passord to ganger" -#: common/models.py:1949 +#: common/models.py:1955 msgid "On signup ask users twice for their password" msgstr "Spør brukeren om passord to ganger ved registrering" -#: common/models.py:1954 +#: common/models.py:1960 msgid "Allowed domains" msgstr "Tillatte domener" -#: common/models.py:1956 +#: common/models.py:1962 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "Begrens registrering til bestemte domener (kommaseparert, begynner med @)" -#: common/models.py:1962 +#: common/models.py:1968 msgid "Group on signup" msgstr "Gruppe ved registrering" -#: common/models.py:1963 +#: common/models.py:1969 msgid "Group to which new users are assigned on registration" msgstr "Gruppe nye brukere blir tilknyttet ved registrering" -#: common/models.py:1968 +#: common/models.py:1974 msgid "Enforce MFA" msgstr "Krev MFA" -#: common/models.py:1969 +#: common/models.py:1975 msgid "Users must use multifactor security." msgstr "Brukere må bruke flerfaktorsikkerhet." -#: common/models.py:1974 +#: common/models.py:1980 msgid "Check plugins on startup" msgstr "Sjekk utvidelser ved oppstart" -#: common/models.py:1976 +#: common/models.py:1982 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "Sjekk at alle utvidelser er installert ved oppstart - aktiver i containermiljøer" -#: common/models.py:1984 +#: common/models.py:1990 msgid "Check for plugin updates" msgstr "" -#: common/models.py:1985 +#: common/models.py:1991 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:1991 +#: common/models.py:1997 msgid "Enable URL integration" msgstr "Aktiver URL-integrasjon" -#: common/models.py:1992 +#: common/models.py:1998 msgid "Enable plugins to add URL routes" msgstr "Tillat utvidelser å legge til URL-ruter" -#: common/models.py:1998 +#: common/models.py:2004 msgid "Enable navigation integration" msgstr "Aktiver navigasjonsintegrasjon" -#: common/models.py:1999 +#: common/models.py:2005 msgid "Enable plugins to integrate into navigation" msgstr "Tillat utvidelser å integrere mot navigasjon" -#: common/models.py:2005 +#: common/models.py:2011 msgid "Enable app integration" msgstr "Aktiver app-integrasjon" -#: common/models.py:2006 +#: common/models.py:2012 msgid "Enable plugins to add apps" msgstr "Tillat utvidelser å legge til apper" -#: common/models.py:2012 +#: common/models.py:2018 msgid "Enable schedule integration" msgstr "Aktiver tidsplanintegrasjon" -#: common/models.py:2013 +#: common/models.py:2019 msgid "Enable plugins to run scheduled tasks" msgstr "Tillat utvidelser å kjøre planlagte oppgaver" -#: common/models.py:2019 +#: common/models.py:2025 msgid "Enable event integration" msgstr "Aktiver hendelsesintegrasjon" -#: common/models.py:2020 +#: common/models.py:2026 msgid "Enable plugins to respond to internal events" msgstr "Tillat utvidelser å reagere på interne hendelser" -#: common/models.py:2026 +#: common/models.py:2032 msgid "Enable project codes" msgstr "Aktiver prosjektkoder" -#: common/models.py:2027 +#: common/models.py:2033 msgid "Enable project codes for tracking projects" msgstr "Aktiver prosjektkoder for å spore prosjekter" -#: common/models.py:2032 +#: common/models.py:2038 msgid "Stocktake Functionality" msgstr "Varetellingsfunksjonalitet" -#: common/models.py:2034 +#: common/models.py:2040 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "Aktiver varetellingsfunksjonalitet for å registrere lagernivåer og regne ut lagerverdi" -#: common/models.py:2040 +#: common/models.py:2046 msgid "Exclude External Locations" msgstr "Ekskluder eksterne plasseringer" -#: common/models.py:2042 +#: common/models.py:2048 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "Eksluder lagervarer i eksterne plasseringer fra varetellinger" -#: common/models.py:2048 +#: common/models.py:2054 msgid "Automatic Stocktake Period" msgstr "Automatisk varetellingsperiode" -#: common/models.py:2050 +#: common/models.py:2056 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "Antall dager mellom automatisk varetellingsregistrering (sett til null for å deaktivere)" -#: common/models.py:2056 +#: common/models.py:2062 msgid "Report Deletion Interval" msgstr "Rapportslettingsintervall" -#: common/models.py:2058 +#: common/models.py:2064 msgid "Stocktake reports will be deleted after specified number of days" msgstr "Varetellingsrapporter vil slettes etter angitt antall dager" -#: common/models.py:2065 +#: common/models.py:2071 msgid "Display Users full names" msgstr "Vis brukernes fulle navn" -#: common/models.py:2066 +#: common/models.py:2072 msgid "Display Users full names instead of usernames" msgstr "Vis brukernes fulle navn istedet for brukernavn" -#: common/models.py:2071 +#: common/models.py:2077 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2072 +#: common/models.py:2078 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2084 common/models.py:2494 +#: common/models.py:2090 common/models.py:2500 msgid "Settings key (must be unique - case insensitive" msgstr "Innstillingsnøkkel (må være unik - ufølsom for store og små bokstaver" -#: common/models.py:2127 +#: common/models.py:2133 msgid "Hide inactive parts" msgstr "Skjul inaktive elementer" -#: common/models.py:2129 +#: common/models.py:2135 msgid "Hide inactive parts in results displayed on the homepage" msgstr "Skjul inaktive deler i resultater som vises på hjemmesiden" -#: common/models.py:2135 +#: common/models.py:2141 msgid "Show subscribed parts" msgstr "Vis abonnerte deler" -#: common/models.py:2136 +#: common/models.py:2142 msgid "Show subscribed parts on the homepage" msgstr "Vis abonnerte deler på startsiden" -#: common/models.py:2141 +#: common/models.py:2147 msgid "Show subscribed categories" msgstr "Vis abonnerte kategorier" -#: common/models.py:2142 +#: common/models.py:2148 msgid "Show subscribed part categories on the homepage" msgstr "Vis abonnerte delkatekorier på startsiden" -#: common/models.py:2147 +#: common/models.py:2153 msgid "Show latest parts" msgstr "Vis nyeste deler" -#: common/models.py:2148 +#: common/models.py:2154 msgid "Show latest parts on the homepage" msgstr "Vis nyeste deler på startsiden" -#: common/models.py:2153 +#: common/models.py:2159 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2154 +#: common/models.py:2160 msgid "Show BOMs that await validation on the homepage" msgstr "Vis stykklister som venter på validering på startsiden" -#: common/models.py:2159 +#: common/models.py:2165 msgid "Show recent stock changes" msgstr "Vis nylige lagerendringer" -#: common/models.py:2160 +#: common/models.py:2166 msgid "Show recently changed stock items on the homepage" msgstr "Vis nylig endrede lagervarer på startsiden" -#: common/models.py:2165 +#: common/models.py:2171 msgid "Show low stock" msgstr "Vis lav lagerbeholdning" -#: common/models.py:2166 +#: common/models.py:2172 msgid "Show low stock items on the homepage" msgstr "Vis lave lagervarer på startsiden" -#: common/models.py:2171 +#: common/models.py:2177 msgid "Show depleted stock" msgstr "Vis tomme lagervarer" -#: common/models.py:2172 +#: common/models.py:2178 msgid "Show depleted stock items on the homepage" msgstr "Vis tom lagerbeholdning på startsiden" -#: common/models.py:2177 +#: common/models.py:2183 msgid "Show needed stock" msgstr "Vis nødvendig lagerbeholdning" -#: common/models.py:2178 +#: common/models.py:2184 msgid "Show stock items needed for builds on the homepage" msgstr "Vis lagervarer som trengs for produksjon på startsiden" -#: common/models.py:2183 +#: common/models.py:2189 msgid "Show expired stock" msgstr "Vis utløpt lagerbeholdning" -#: common/models.py:2184 +#: common/models.py:2190 msgid "Show expired stock items on the homepage" msgstr "Vis utløpte lagervarer på startsiden" -#: common/models.py:2189 +#: common/models.py:2195 msgid "Show stale stock" msgstr "Vis foreldet lagerbeholdning" -#: common/models.py:2190 +#: common/models.py:2196 msgid "Show stale stock items on the homepage" msgstr "Vis foreldet lagerbeholdning på startsiden" -#: common/models.py:2195 +#: common/models.py:2201 msgid "Show pending builds" msgstr "Vis ventende produksjoner" -#: common/models.py:2196 +#: common/models.py:2202 msgid "Show pending builds on the homepage" msgstr "Vi ventende produksjoner på startsiden" -#: common/models.py:2201 +#: common/models.py:2207 msgid "Show overdue builds" msgstr "Vis forfalte produksjoner" -#: common/models.py:2202 +#: common/models.py:2208 msgid "Show overdue builds on the homepage" msgstr "Vis forfalte produksjoner på startsiden" -#: common/models.py:2207 +#: common/models.py:2213 msgid "Show outstanding POs" msgstr "Vis utestående Innkjøpsordrer" -#: common/models.py:2208 +#: common/models.py:2214 msgid "Show outstanding POs on the homepage" msgstr "Vis utestående Innkjøpsordrer på startsiden" -#: common/models.py:2213 +#: common/models.py:2219 msgid "Show overdue POs" msgstr "Vis forfalte Innkjøpsordrer" -#: common/models.py:2214 +#: common/models.py:2220 msgid "Show overdue POs on the homepage" msgstr "Vis forfalte Innkjøpsordrer på startsiden" -#: common/models.py:2219 +#: common/models.py:2225 msgid "Show outstanding SOs" msgstr "Vis utestående Salgsordrer" -#: common/models.py:2220 +#: common/models.py:2226 msgid "Show outstanding SOs on the homepage" msgstr "Vis utestående Salgsordrer på startsiden" -#: common/models.py:2225 +#: common/models.py:2231 msgid "Show overdue SOs" msgstr "Vis forfalte SOer" -#: common/models.py:2226 +#: common/models.py:2232 msgid "Show overdue SOs on the homepage" msgstr "Vis forfalte SOer på startsiden" -#: common/models.py:2231 +#: common/models.py:2237 msgid "Show pending SO shipments" msgstr "Vis ventende SO-forsendelser" -#: common/models.py:2232 +#: common/models.py:2238 msgid "Show pending SO shipments on the homepage" msgstr "Vis ventende SO-forsendelser på startsiden" -#: common/models.py:2237 +#: common/models.py:2243 msgid "Show News" msgstr "Vis Nyheter" -#: common/models.py:2238 +#: common/models.py:2244 msgid "Show news on the homepage" msgstr "Vis nyheter på startsiden" -#: common/models.py:2243 +#: common/models.py:2249 msgid "Inline label display" msgstr "Innebygd etikettvisning" -#: common/models.py:2245 +#: common/models.py:2251 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "Vis PDF-etiketter i nettleseren fremfor å lastes ned som en fil" -#: common/models.py:2251 +#: common/models.py:2257 msgid "Default label printer" msgstr "Standard etikettskriver" -#: common/models.py:2253 +#: common/models.py:2259 msgid "Configure which label printer should be selected by default" msgstr "Konfigurer hvilken etikettskriver som skal være valgt som standard" -#: common/models.py:2259 +#: common/models.py:2265 msgid "Inline report display" msgstr "Innebygd rapportvisning" -#: common/models.py:2261 +#: common/models.py:2267 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "Vis PDF-rapporter i nettleseren fremfor å lastes ned som en fil" -#: common/models.py:2267 +#: common/models.py:2273 msgid "Search Parts" msgstr "Søk i Deler" -#: common/models.py:2268 +#: common/models.py:2274 msgid "Display parts in search preview window" msgstr "Vis deler i forhåndsvsningsvinduet for søk" -#: common/models.py:2273 +#: common/models.py:2279 msgid "Search Supplier Parts" msgstr "Søk i Leverandørdeler" -#: common/models.py:2274 +#: common/models.py:2280 msgid "Display supplier parts in search preview window" msgstr "Vis leverandørdeler i forhåndsvisningsvinduet for søk" -#: common/models.py:2279 +#: common/models.py:2285 msgid "Search Manufacturer Parts" msgstr "Søk i Produsentdeler" -#: common/models.py:2280 +#: common/models.py:2286 msgid "Display manufacturer parts in search preview window" msgstr "Vis produsentdeler i forhåndsvisningsvinduet for søk" -#: common/models.py:2285 +#: common/models.py:2291 msgid "Hide Inactive Parts" msgstr "Skjul Inaktive Deler" -#: common/models.py:2286 +#: common/models.py:2292 msgid "Excluded inactive parts from search preview window" msgstr "Ekskluder inaktive deler fra forhåndsvisningsvinduet for søk" -#: common/models.py:2291 +#: common/models.py:2297 msgid "Search Categories" msgstr "Søk i kategorier" -#: common/models.py:2292 +#: common/models.py:2298 msgid "Display part categories in search preview window" msgstr "Vis delkategorier i forhåndsvisningsvinduet for søk" -#: common/models.py:2297 +#: common/models.py:2303 msgid "Search Stock" msgstr "Søk i lagerbeholdning" -#: common/models.py:2298 +#: common/models.py:2304 msgid "Display stock items in search preview window" msgstr "Vis lagervarer i forhåndsvisningsvinduet for søk" -#: common/models.py:2303 +#: common/models.py:2309 msgid "Hide Unavailable Stock Items" msgstr "Skjul utilgjengelige Lagervarer" -#: common/models.py:2305 +#: common/models.py:2311 msgid "Exclude stock items which are not available from the search preview window" msgstr "Ekskluder lagervarer som ikke er tilgjengelige fra forhåndsvisningsvinduet for søk" -#: common/models.py:2311 +#: common/models.py:2317 msgid "Search Locations" msgstr "Søk i Plasseringer" -#: common/models.py:2312 +#: common/models.py:2318 msgid "Display stock locations in search preview window" msgstr "Vis lagerplasseringer i forhåndsvisningsvinduet for søk" -#: common/models.py:2317 +#: common/models.py:2323 msgid "Search Companies" msgstr "Søk i Firma" -#: common/models.py:2318 +#: common/models.py:2324 msgid "Display companies in search preview window" msgstr "Vis firma i forhåndsvsningsvinduet for søk" -#: common/models.py:2323 +#: common/models.py:2329 msgid "Search Build Orders" msgstr "Søk i Produksjonsordrer" -#: common/models.py:2324 +#: common/models.py:2330 msgid "Display build orders in search preview window" msgstr "Vis produksjonsordrer i forhåndsvisningsvinduet for søk" -#: common/models.py:2329 +#: common/models.py:2335 msgid "Search Purchase Orders" msgstr "Søk i Innkjøpsordrer" -#: common/models.py:2330 +#: common/models.py:2336 msgid "Display purchase orders in search preview window" msgstr "Vis innkjøpsordrer i forhåndsvisningsvinduet for søk" -#: common/models.py:2335 +#: common/models.py:2341 msgid "Exclude Inactive Purchase Orders" msgstr "Ekskluder inaktive Innkjøpsordrer" -#: common/models.py:2337 +#: common/models.py:2343 msgid "Exclude inactive purchase orders from search preview window" msgstr "Ekskluder inaktive innkjøpsordrer fra forhåndsvisningsvinduet for søk" -#: common/models.py:2343 +#: common/models.py:2349 msgid "Search Sales Orders" msgstr "Søk i Salgsordrer" -#: common/models.py:2344 +#: common/models.py:2350 msgid "Display sales orders in search preview window" msgstr "Vis salgsordrer i forhåndsvisningsvinduet for søk" -#: common/models.py:2349 +#: common/models.py:2355 msgid "Exclude Inactive Sales Orders" msgstr "Ekskluder Inaktive Salgsordrer" -#: common/models.py:2351 +#: common/models.py:2357 msgid "Exclude inactive sales orders from search preview window" msgstr "Ekskluder inaktive salgsordrer fra forhåndsvisningsvinduet for søk" -#: common/models.py:2357 +#: common/models.py:2363 msgid "Search Return Orders" msgstr "Søk i Returordrer" -#: common/models.py:2358 +#: common/models.py:2364 msgid "Display return orders in search preview window" msgstr "Vis returordrer i forhåndsvisningsvinduet for søk" -#: common/models.py:2363 +#: common/models.py:2369 msgid "Exclude Inactive Return Orders" msgstr "Ekskluder Inaktive Returordrer" -#: common/models.py:2365 +#: common/models.py:2371 msgid "Exclude inactive return orders from search preview window" msgstr "Ekskluder inaktive returordrer fra forhåndsvisningsvinduet for søk" -#: common/models.py:2371 +#: common/models.py:2377 msgid "Search Preview Results" msgstr "Forhåndsvisning av søkeresultater" -#: common/models.py:2373 +#: common/models.py:2379 msgid "Number of results to show in each section of the search preview window" msgstr "Antall resultater å vise i hver seksjon av søkeresultatsforhåndsvisningen" -#: common/models.py:2379 +#: common/models.py:2385 msgid "Regex Search" msgstr "Regex-søk" -#: common/models.py:2380 +#: common/models.py:2386 msgid "Enable regular expressions in search queries" msgstr "Aktiver regulære uttrykk i søkeord" -#: common/models.py:2385 +#: common/models.py:2391 msgid "Whole Word Search" msgstr "Helordsøk" -#: common/models.py:2386 +#: common/models.py:2392 msgid "Search queries return results for whole word matches" msgstr "Søk returnerer resultater for treff med hele ord" -#: common/models.py:2391 +#: common/models.py:2397 msgid "Show Quantity in Forms" msgstr "Vis antall i skjemaer" -#: common/models.py:2392 +#: common/models.py:2398 msgid "Display available part quantity in some forms" msgstr "Vis antall tilgjengelige deler i noen skjemaer" -#: common/models.py:2397 +#: common/models.py:2403 msgid "Escape Key Closes Forms" msgstr "Escape-knappen lukker skjemaer" -#: common/models.py:2398 +#: common/models.py:2404 msgid "Use the escape key to close modal forms" msgstr "Bruk Escape-knappen for å lukke modal-skjemaer" -#: common/models.py:2403 +#: common/models.py:2409 msgid "Fixed Navbar" msgstr "Fast navigasjonsbar" -#: common/models.py:2404 +#: common/models.py:2410 msgid "The navbar position is fixed to the top of the screen" msgstr "Navigasjonsbarens posisjon er fast på toppen av skjermen" -#: common/models.py:2409 +#: common/models.py:2415 msgid "Date Format" msgstr "Datoformat" -#: common/models.py:2410 +#: common/models.py:2416 msgid "Preferred format for displaying dates" msgstr "Foretrukket format for å vise datoer" -#: common/models.py:2423 part/templates/part/detail.html:41 +#: common/models.py:2429 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Delplanlegging" -#: common/models.py:2424 +#: common/models.py:2430 msgid "Display part scheduling information" msgstr "Vis delplanleggingsinformasjon" -#: common/models.py:2429 part/templates/part/detail.html:62 +#: common/models.py:2435 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Lagertelling for Del" -#: common/models.py:2431 +#: common/models.py:2437 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "Vis lagertellingsinformasjon for del (om lagertellingsfunksjonalitet er aktivert)" -#: common/models.py:2437 +#: common/models.py:2443 msgid "Table String Length" msgstr "Tabellstrenglengde" -#: common/models.py:2439 +#: common/models.py:2445 msgid "Maximum length limit for strings displayed in table views" msgstr "Maksimal lengdegrense for tekst vist i tabeller" -#: common/models.py:2445 +#: common/models.py:2451 msgid "Default part label template" msgstr "Standard etikettmal for del" -#: common/models.py:2446 +#: common/models.py:2452 msgid "The part label template to be automatically selected" msgstr "Etikettmalen for del som velges automatisk" -#: common/models.py:2451 +#: common/models.py:2457 msgid "Default stock item template" msgstr "Standard etikettmal for lagervare" -#: common/models.py:2453 +#: common/models.py:2459 msgid "The stock item label template to be automatically selected" msgstr "Etikettmalen for lagervare som velges automatisk" -#: common/models.py:2459 +#: common/models.py:2465 msgid "Default stock location label template" msgstr "Standard etikettmal for lagerplassering" -#: common/models.py:2461 +#: common/models.py:2467 msgid "The stock location label template to be automatically selected" msgstr "Etikettmalen for lagerplassering som velges automatisk" -#: common/models.py:2467 +#: common/models.py:2473 msgid "Default build line label template" msgstr "" -#: common/models.py:2469 +#: common/models.py:2475 msgid "The build line label template to be automatically selected" msgstr "" -#: common/models.py:2475 +#: common/models.py:2481 msgid "Receive error reports" msgstr "Motta feilrapporter" -#: common/models.py:2476 +#: common/models.py:2482 msgid "Receive notifications for system errors" msgstr "Motta varsler om systemfeil" -#: common/models.py:2481 +#: common/models.py:2487 msgid "Last used printing machines" msgstr "" -#: common/models.py:2482 +#: common/models.py:2488 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2525 +#: common/models.py:2531 msgid "Price break quantity" msgstr "Antall for prisbrudd" -#: common/models.py:2532 company/serializers.py:496 order/admin.py:42 -#: order/models.py:1333 order/models.py:2243 +#: common/models.py:2538 company/serializers.py:496 order/admin.py:42 +#: order/models.py:1373 order/models.py:2292 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 -#: templates/js/translated/return_order.js:741 +#: templates/js/translated/return_order.js:740 msgid "Price" msgstr "Pris" -#: common/models.py:2533 +#: common/models.py:2539 msgid "Unit price at specified quantity" msgstr "Enhetspris på spesifisert antall" -#: common/models.py:2704 common/models.py:2889 +#: common/models.py:2710 common/models.py:2895 msgid "Endpoint" msgstr "Endepunkt" -#: common/models.py:2705 +#: common/models.py:2711 msgid "Endpoint at which this webhook is received" msgstr "Endepunktet hvor denne webhooken er mottatt" -#: common/models.py:2715 +#: common/models.py:2721 msgid "Name for this webhook" msgstr "Navn for webhooken" -#: common/models.py:2719 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1045 -#: plugin/models.py:56 templates/js/translated/company.js:523 +#: common/models.py:2725 company/models.py:160 company/models.py:814 +#: machine/models.py:39 part/admin.py:88 part/models.py:1088 +#: plugin/models.py:65 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:492 @@ -3614,135 +3628,135 @@ msgstr "Navn for webhooken" msgid "Active" msgstr "Aktiv" -#: common/models.py:2719 +#: common/models.py:2725 msgid "Is this webhook active" msgstr "Er webhooken aktiv" -#: common/models.py:2735 users/models.py:159 +#: common/models.py:2741 users/models.py:159 msgid "Token" msgstr "Sjetong" -#: common/models.py:2736 +#: common/models.py:2742 msgid "Token for access" msgstr "Nøkkel for tilgang" -#: common/models.py:2744 +#: common/models.py:2750 msgid "Secret" msgstr "Hemmelig" -#: common/models.py:2745 +#: common/models.py:2751 msgid "Shared secret for HMAC" msgstr "Delt hemmlighet for HMAC" -#: common/models.py:2853 +#: common/models.py:2859 msgid "Message ID" msgstr "Melding ID" -#: common/models.py:2854 +#: common/models.py:2860 msgid "Unique identifier for this message" msgstr "Unik Id for denne meldingen" -#: common/models.py:2862 +#: common/models.py:2868 msgid "Host" msgstr "Vert" -#: common/models.py:2863 +#: common/models.py:2869 msgid "Host from which this message was received" msgstr "Verten denne meldingen ble mottatt fra" -#: common/models.py:2871 +#: common/models.py:2877 msgid "Header" msgstr "Tittel" -#: common/models.py:2872 +#: common/models.py:2878 msgid "Header of this message" msgstr "Overskrift for denne meldingen" -#: common/models.py:2879 +#: common/models.py:2885 msgid "Body" msgstr "Brødtekst" -#: common/models.py:2880 +#: common/models.py:2886 msgid "Body of this message" msgstr "Innholdet i meldingen" -#: common/models.py:2890 +#: common/models.py:2896 msgid "Endpoint on which this message was received" msgstr "Endepunktet meldingen ble mottatt fra" -#: common/models.py:2895 +#: common/models.py:2901 msgid "Worked on" msgstr "Arbeidet med" -#: common/models.py:2896 +#: common/models.py:2902 msgid "Was the work on this message finished?" msgstr "Var arbeidet med denne meldingen ferdig?" -#: common/models.py:3022 +#: common/models.py:3028 msgid "Id" msgstr "" -#: common/models.py:3024 templates/js/translated/company.js:965 +#: common/models.py:3030 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "Tittel" -#: common/models.py:3028 templates/js/translated/news.js:60 +#: common/models.py:3034 templates/js/translated/news.js:60 msgid "Published" msgstr "Publisert" -#: common/models.py:3030 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3036 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "Forfatter" -#: common/models.py:3032 templates/js/translated/news.js:52 +#: common/models.py:3038 templates/js/translated/news.js:52 msgid "Summary" msgstr "Sammendrag" -#: common/models.py:3035 +#: common/models.py:3041 msgid "Read" msgstr "Les" -#: common/models.py:3035 +#: common/models.py:3041 msgid "Was this news item read?" msgstr "Er dette nyhetselementet lest?" -#: common/models.py:3052 company/models.py:156 part/models.py:929 +#: common/models.py:3058 company/models.py:156 part/models.py:972 #: 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 +#: report/templates/report/inventree_return_order_report.html:35 #: stock/templates/stock/item_base.html:133 templates/503.html:31 #: templates/hover_image.html:7 templates/hover_image.html:9 #: templates/modals.html:6 msgid "Image" msgstr "Bilde" -#: common/models.py:3052 +#: common/models.py:3058 msgid "Image file" msgstr "Bildefil" -#: common/models.py:3094 +#: common/models.py:3100 msgid "Unit name must be a valid identifier" msgstr "Enhetsnavn må være en gyldig identifikator" -#: common/models.py:3113 +#: common/models.py:3119 msgid "Unit name" msgstr "Enhetsnavn" -#: common/models.py:3120 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3126 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3121 +#: common/models.py:3127 msgid "Optional unit symbol" msgstr "Valgfritt enhetssymbol" -#: common/models.py:3128 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3134 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "Definisjon" -#: common/models.py:3129 +#: common/models.py:3135 msgid "Unit definition" msgstr "Enhetsdefinisjon" @@ -3929,9 +3943,9 @@ msgid "Contact email address" msgstr "Kontakt e-post" #: company/models.py:139 company/templates/company/company_base.html:145 -#: order/models.py:331 order/templates/order/order_base.html:203 +#: order/models.py:344 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 -#: order/templates/order/sales_order_base.html:214 +#: order/templates/order/sales_order_base.html:218 msgid "Contact" msgstr "Kontakt" @@ -3977,7 +3991,7 @@ msgstr "Standardvaluta brukt for dette firmaet" #: company/models.py:273 company/models.py:382 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:776 +#: company/templates/company/company_base.html:12 stock/api.py:810 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "Firma" @@ -4069,8 +4083,8 @@ msgstr "Fraktnotater for internt bruk" msgid "Link to address information (external)" msgstr "Lenke til adresseinformasjon (ekstern)" -#: company/models.py:489 company/models.py:792 stock/models.py:751 -#: stock/serializers.py:266 stock/templates/stock/item_base.html:142 +#: company/models.py:489 company/models.py:792 stock/models.py:772 +#: stock/serializers.py:395 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "Basisdel" @@ -4081,7 +4095,7 @@ msgstr "Velg del" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:515 +#: company/templates/company/supplier_part.html:145 part/serializers.py:530 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4096,13 +4110,13 @@ msgid "Select manufacturer" msgstr "Velg produsent" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:525 +#: company/templates/company/supplier_part.html:153 part/serializers.py:540 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800 -#: templates/js/translated/purchase_order.js:1852 -#: templates/js/translated/purchase_order.js:2054 +#: templates/js/translated/purchase_order.js:1851 +#: templates/js/translated/purchase_order.js:2053 msgid "MPN" msgstr "" @@ -4129,9 +4143,8 @@ msgstr "Produsentdeler" msgid "Parameter name" msgstr "Parameternavn" -#: company/models.py:621 -#: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2448 templates/js/translated/company.js:1166 +#: company/models.py:621 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2425 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492 #: templates/js/translated/stock.js:1522 msgid "Value" @@ -4142,10 +4155,10 @@ msgid "Parameter value" msgstr "Parameterverdi" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1009 part/models.py:3623 +#: part/admin.py:57 part/models.py:1052 part/models.py:3666 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 -#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370 +#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 msgid "Units" msgstr "Enheter" @@ -4166,9 +4179,9 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "Den sammenkoblede produsentdelen må referere til samme basisdel" #: company/models.py:802 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:465 +#: company/templates/company/supplier_part.html:129 order/models.py:487 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:499 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:514 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4176,7 +4189,7 @@ msgstr "Den sammenkoblede produsentdelen må referere til samme basisdel" #: templates/js/translated/company.js:511 #: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1690 +#: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/table_filters.js:804 msgid "Supplier" msgstr "Leverandør" @@ -4185,7 +4198,7 @@ msgstr "Leverandør" msgid "Select supplier" msgstr "Velg leverandør" -#: company/models.py:809 part/serializers.py:510 +#: company/models.py:809 part/serializers.py:525 msgid "Supplier stock keeping unit" msgstr "Leverandørens lagerbeholdningsenhet" @@ -4206,29 +4219,29 @@ msgid "Supplier part description" msgstr "Leverandørens delbeskrivelse" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:418 part/models.py:4070 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4113 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 -#: report/templates/report/inventree_slr_report.html:105 -#: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:579 +#: report/templates/report/inventree_purchase_order_report.html:32 +#: report/templates/report/inventree_return_order_report.html:27 +#: report/templates/report/inventree_sales_order_report.html:32 +#: report/templates/report/inventree_stock_location_report.html:105 +#: stock/serializers.py:708 msgid "Note" msgstr "Notat" -#: company/models.py:857 part/models.py:1967 +#: company/models.py:857 part/models.py:2010 msgid "base cost" msgstr "grunnkostnad" -#: company/models.py:858 part/models.py:1968 +#: company/models.py:858 part/models.py:2011 msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimum betaling (f.eks. lageravgift)" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:782 stock/serializers.py:1350 +#: stock/admin.py:224 stock/models.py:803 stock/serializers.py:1479 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 -#: templates/js/translated/stock.js:2426 +#: templates/js/translated/stock.js:2424 msgid "Packaging" msgstr "Emballasje" @@ -4241,8 +4254,8 @@ msgstr "Delemballasje" #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 -#: templates/js/translated/purchase_order.js:2085 -#: templates/js/translated/purchase_order.js:2102 +#: templates/js/translated/purchase_order.js:2084 +#: templates/js/translated/purchase_order.js:2101 msgid "Pack Quantity" msgstr "Pakkeantall" @@ -4250,7 +4263,7 @@ msgstr "Pakkeantall" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "Totalt antall i en enkelt pakke. La være tom for enkeltenheter." -#: company/models.py:892 part/models.py:1974 +#: company/models.py:892 part/models.py:2017 msgid "multiple" msgstr "flere" @@ -4285,7 +4298,7 @@ msgstr "På lager" #: part/templates/part/part_base.html:146 #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 -#: templates/js/translated/model_renderers.js:306 +#: templates/js/translated/model_renderers.js:312 #: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 msgid "Inactive" msgstr "Inaktiv" @@ -4321,11 +4334,11 @@ msgstr "Slett Firma" #: company/templates/company/manufacturer_part.html:51 #: company/templates/company/supplier_part.html:83 #: part/templates/part/part_thumb.html:20 -#: report/templates/report/inventree_build_order_base.html:98 -#: report/templates/report/inventree_po_report_base.html:40 -#: report/templates/report/inventree_so_report_base.html:40 -#: report/templates/report/inventree_test_report_base.html:84 -#: report/templates/report/inventree_test_report_base.html:163 +#: report/templates/report/inventree_build_order_report.html:98 +#: report/templates/report/inventree_purchase_order_report.html:40 +#: report/templates/report/inventree_sales_order_report.html:40 +#: report/templates/report/inventree_test_report.html:84 +#: report/templates/report/inventree_test_report.html:163 msgid "Part image" msgstr "Bilde av del" @@ -4344,16 +4357,16 @@ msgstr "Last ned bilde fra URL" msgid "Delete image" msgstr "Slett bilde" -#: company/templates/company/company_base.html:92 order/models.py:910 -#: order/models.py:2010 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:144 stock/models.py:804 -#: stock/models.py:805 stock/serializers.py:1100 +#: company/templates/company/company_base.html:92 order/models.py:941 +#: order/models.py:2059 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:148 stock/models.py:825 +#: stock/models.py:826 stock/serializers.py:1229 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 -#: templates/js/translated/return_order.js:296 -#: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2962 +#: templates/js/translated/return_order.js:295 +#: templates/js/translated/sales_order.js:820 +#: templates/js/translated/stock.js:2959 #: templates/js/translated/table_filters.js:808 msgid "Customer" msgstr "Kunde" @@ -4362,10 +4375,10 @@ msgstr "Kunde" msgid "Uses default currency" msgstr "Bruker standardvaluta" -#: company/templates/company/company_base.html:124 order/models.py:341 +#: company/templates/company/company_base.html:124 order/models.py:354 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 -#: order/templates/order/sales_order_base.html:221 +#: order/templates/order/sales_order_base.html:225 msgid "Address" msgstr "Adresse" @@ -4374,7 +4387,7 @@ msgid "Phone" msgstr "Telefon" #: company/templates/company/company_base.html:211 -#: part/templates/part/part_base.html:528 +#: part/templates/part/part_base.html:527 msgid "Remove Image" msgstr "" @@ -4383,19 +4396,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:214 -#: part/templates/part/part_base.html:531 +#: part/templates/part/part_base.html:530 #: templates/InvenTree/settings/user.html:88 #: templates/InvenTree/settings/user_sso.html:43 msgid "Remove" msgstr "Fjern" #: company/templates/company/company_base.html:243 -#: part/templates/part/part_base.html:560 +#: part/templates/part/part_base.html:559 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:258 -#: part/templates/part/part_base.html:614 +#: part/templates/part/part_base.html:613 msgid "Download Image" msgstr "" @@ -4558,7 +4571,7 @@ msgstr "Ingen produsentinformasjon tilgjengelig" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:821 +#: part/admin.py:122 part/serializers.py:836 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4609,10 +4622,10 @@ msgstr "Adresser" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:452 -#: stock/models.py:762 stock/templates/stock/item_base.html:233 +#: stock/models.py:783 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 -#: templates/js/translated/stock.js:2282 +#: templates/js/translated/stock.js:2280 msgid "Supplier Part" msgstr "Leverandørdel" @@ -4658,11 +4671,11 @@ msgid "No supplier information available" msgstr "Ingen leverandørinformasjon tilgjengelig" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:509 +#: part/bom.py:311 part/serializers.py:524 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1851 -#: templates/js/translated/purchase_order.js:2029 +#: templates/js/translated/purchase_order.js:1850 +#: templates/js/translated/purchase_order.js:2028 msgid "SKU" msgstr "SKU-kode" @@ -4671,12 +4684,12 @@ msgid "Supplier Part Stock" msgstr "Leverandørs lagerbeholdning" #: company/templates/company/supplier_part.html:209 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:199 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:206 msgid "Create new stock item" msgstr "Opprett ny lagervare" #: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:200 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:207 #: templates/js/translated/stock.js:537 msgid "New Stock Item" msgstr "Ny Lagervare" @@ -4708,16 +4721,16 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:820 part/stocktake.py:223 +#: part/serializers.py:835 part/stocktake.py:223 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:787 stock/serializers.py:951 +#: stock/serializers.py:916 stock/serializers.py:1080 #: stock/templates/stock/location.html:170 -#: stock/templates/stock/location.html:184 -#: stock/templates/stock/location.html:196 +#: stock/templates/stock/location.html:191 +#: stock/templates/stock/location.html:203 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2769 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 #: users/models.py:206 msgid "Stock Items" msgstr "Lagervarer" @@ -4751,126 +4764,48 @@ msgstr "Firmaer" msgid "New Company" msgstr "Nytt Firma" -#: label/api.py:247 -msgid "Error printing label" -msgstr "" - -#: label/models.py:120 -msgid "Label name" -msgstr "Etikettnavn" - -#: label/models.py:128 -msgid "Label description" -msgstr "Etikettbeskrivelse" - -#: label/models.py:136 -msgid "Label" -msgstr "Etikett" - -#: label/models.py:137 -msgid "Label template file" -msgstr "Etikett-malfil" - -#: label/models.py:143 part/models.py:3494 report/models.py:324 -#: templates/js/translated/part.js:2900 -#: templates/js/translated/table_filters.js:481 -msgid "Enabled" -msgstr "Aktivert" - -#: label/models.py:144 -msgid "Label template is enabled" -msgstr "Etikettmal er aktiver" - -#: label/models.py:149 -msgid "Width [mm]" -msgstr "Bredde [mm]" - -#: label/models.py:150 -msgid "Label width, specified in mm" -msgstr "Etikettbredde, spesifisert i mm" - -#: label/models.py:156 -msgid "Height [mm]" -msgstr "Høyde [mm]" - -#: label/models.py:157 -msgid "Label height, specified in mm" -msgstr "Etiketthøyde, spesifisert i mm" - -#: label/models.py:163 report/models.py:317 -msgid "Filename Pattern" -msgstr "Filnavnmønster" - -#: label/models.py:164 -msgid "Pattern for generating label filenames" -msgstr "Mønster for generering av etikett-filnavn" - -#: label/models.py:313 label/models.py:352 label/models.py:377 -#: label/models.py:412 -msgid "Query filters (comma-separated list of key=value pairs)" -msgstr "Søkefiltre (kommaseparert liste over nøkkel=verdi-par)" - -#: label/models.py:314 label/models.py:353 label/models.py:378 -#: label/models.py:413 report/models.py:345 report/models.py:496 -#: report/models.py:532 report/models.py:568 report/models.py:750 -msgid "Filters" -msgstr "Filtre" - -#: label/templates/label/part/part_label.html:31 -#: label/templates/label/stockitem/qr.html:21 -#: label/templates/label/stocklocation/qr.html:20 -#: templates/allauth_2fa/setup.html:18 -msgid "QR Code" -msgstr "QR-kode" - -#: label/templates/label/part/part_label_code128.html:31 -#: label/templates/label/stocklocation/qr_and_text.html:31 -#: templates/qr_code.html:7 -msgid "QR code" -msgstr "QR-kode" - -#: machine/machine_types/label_printer.py:217 +#: machine/machine_types/label_printer.py:218 msgid "Copies" msgstr "" -#: machine/machine_types/label_printer.py:218 +#: machine/machine_types/label_printer.py:219 msgid "Number of copies to print for each label" msgstr "" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:234 msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:234 order/api.py:1515 -#: templates/js/translated/sales_order.js:1042 +#: machine/machine_types/label_printer.py:235 order/api.py:1515 +#: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "Ukjent" -#: machine/machine_types/label_printer.py:235 +#: machine/machine_types/label_printer.py:236 msgid "Printing" msgstr "" -#: machine/machine_types/label_printer.py:236 +#: machine/machine_types/label_printer.py:237 msgid "No media" msgstr "" -#: machine/machine_types/label_printer.py:237 +#: machine/machine_types/label_printer.py:238 msgid "Disconnected" msgstr "" -#: machine/machine_types/label_printer.py:244 +#: machine/machine_types/label_printer.py:245 msgid "Label Printer" msgstr "" -#: machine/machine_types/label_printer.py:245 +#: machine/machine_types/label_printer.py:246 msgid "Directly print labels for various items." msgstr "" -#: machine/machine_types/label_printer.py:251 +#: machine/machine_types/label_printer.py:252 msgid "Printer Location" msgstr "" -#: machine/machine_types/label_printer.py:252 +#: machine/machine_types/label_printer.py:253 msgid "Scope the printer to a specific location" msgstr "" @@ -4930,19 +4865,19 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:89 -#: report/templates/report/inventree_po_report_base.html:31 -#: report/templates/report/inventree_so_report_base.html:31 +#: order/admin.py:30 order/models.py:90 +#: report/templates/report/inventree_purchase_order_report.html:31 +#: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2126 -#: templates/js/translated/sales_order.js:1847 +#: templates/js/translated/purchase_order.js:2125 +#: templates/js/translated/sales_order.js:1883 msgid "Total Price" msgstr "Total pris" #: order/api.py:161 order/serializers.py:91 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 -#: order/templates/order/sales_order_base.html:118 +#: order/templates/order/sales_order_base.html:122 msgid "Order Status" msgstr "Ordrestatus" @@ -4955,10 +4890,10 @@ msgstr "" msgid "No matching purchase order found" msgstr "Ingen samsvarende innkjøpsordre funnet" -#: order/api.py:437 order/api.py:817 order/models.py:1382 order/models.py:1491 -#: order/models.py:1537 order/models.py:1651 order/models.py:1805 -#: order/models.py:2209 order/models.py:2260 -#: templates/js/translated/sales_order.js:1488 +#: order/api.py:437 order/api.py:817 order/models.py:1422 order/models.py:1531 +#: order/models.py:1577 order/models.py:1691 order/models.py:1845 +#: order/models.py:2258 order/models.py:2309 +#: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "Ordre" @@ -4970,402 +4905,398 @@ msgstr "" msgid "Order Pending" msgstr "" -#: order/api.py:1509 order/models.py:1383 order/models.py:1492 -#: order/templates/order/order_base.html:9 +#: order/api.py:1509 order/models.py:381 order/models.py:1423 +#: order/models.py:1532 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 -#: report/templates/report/inventree_po_report_base.html:14 -#: stock/templates/stock/item_base.html:176 +#: report/templates/report/inventree_purchase_order_report.html:14 +#: stock/serializers.py:119 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 -#: templates/js/translated/purchase_order.js:1674 -#: templates/js/translated/stock.js:2262 templates/js/translated/stock.js:2910 +#: templates/js/translated/purchase_order.js:1673 +#: templates/js/translated/stock.js:2260 templates/js/translated/stock.js:2907 msgid "Purchase Order" msgstr "Innkjøpsordre" -#: order/api.py:1513 order/models.py:2210 order/models.py:2261 -#: order/templates/order/return_order_base.html:9 +#: order/api.py:1513 order/models.py:2008 order/models.py:2259 +#: order/models.py:2310 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:281 -#: templates/js/translated/stock.js:2944 +#: report/templates/report/inventree_return_order_report.html:13 +#: templates/js/translated/return_order.js:280 +#: templates/js/translated/stock.js:2941 msgid "Return Order" msgstr "Returordre" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "Total pris for denne ordren" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:96 order/serializers.py:71 msgid "Order Currency" msgstr "Ordrevaluta" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:99 order/serializers.py:72 msgid "Currency for this order (leave blank to use company default)" msgstr "Valuta for denne ordren (la stå tom for å bruke firmastandard)" -#: order/models.py:246 +#: order/models.py:248 msgid "Contact does not match selected company" msgstr "Kontakten samsvarer ikke med valgt firma" -#: order/models.py:278 +#: order/models.py:291 msgid "Order description (optional)" msgstr "Ordrebeskrivelse (valgfritt)" -#: order/models.py:287 +#: order/models.py:300 msgid "Select project code for this order" msgstr "Velg prosjektkode for denne ordren" -#: order/models.py:291 order/models.py:1288 order/models.py:1704 +#: order/models.py:304 order/models.py:1328 order/models.py:1744 msgid "Link to external page" msgstr "Lenke til ekstern side" -#: order/models.py:299 +#: order/models.py:312 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "Forventet dato for levering av ordre. Bestillingen vil være forfalt etter denne datoen." -#: order/models.py:313 +#: order/models.py:326 msgid "Created By" msgstr "Opprettet av" -#: order/models.py:321 +#: order/models.py:334 msgid "User or group responsible for this order" msgstr "Bruker eller gruppe ansvarlig for ordren" -#: order/models.py:332 +#: order/models.py:345 msgid "Point of contact for this order" msgstr "Kontaktpunkt for denne ordren" -#: order/models.py:342 +#: order/models.py:355 msgid "Company address for this order" msgstr "Selskapsadresse for denne ordren" -#: order/models.py:443 order/models.py:899 +#: order/models.py:465 order/models.py:930 msgid "Order reference" msgstr "Ordrereferanse" -#: order/models.py:451 order/models.py:923 +#: order/models.py:473 order/models.py:954 msgid "Purchase order status" msgstr "Status for innkjøpsordre" -#: order/models.py:466 +#: order/models.py:488 msgid "Company from which the items are being ordered" msgstr "Firma som varene blir bestilt fra" -#: order/models.py:477 order/templates/order/order_base.html:148 -#: templates/js/translated/purchase_order.js:1703 +#: order/models.py:499 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1702 msgid "Supplier Reference" msgstr "Leverandørreferanse" -#: order/models.py:478 +#: order/models.py:500 msgid "Supplier order reference code" msgstr "Leverandørens ordrereferanse" -#: order/models.py:487 +#: order/models.py:509 msgid "received by" msgstr "mottatt av" -#: order/models.py:493 order/models.py:2036 +#: order/models.py:515 order/models.py:2085 msgid "Issue Date" msgstr "Sendt dato" -#: order/models.py:494 order/models.py:2037 +#: order/models.py:516 order/models.py:2086 msgid "Date order was issued" msgstr "Dato bestillingen ble sendt" -#: order/models.py:501 order/models.py:2044 +#: order/models.py:523 order/models.py:2093 msgid "Date order was completed" msgstr "Dato ordre ble fullført" -#: order/models.py:545 +#: order/models.py:567 msgid "Part supplier must match PO supplier" msgstr "Delleverandør må matche PO-leverandør" -#: order/models.py:739 +#: order/models.py:761 msgid "Quantity must be a positive number" msgstr "Mengde må være positiv" -#: order/models.py:911 +#: order/models.py:942 msgid "Company to which the items are being sold" msgstr "Firma som varene selges til" -#: order/models.py:934 order/models.py:2029 +#: order/models.py:965 order/models.py:2078 msgid "Customer Reference " msgstr "Kundereferanse " -#: order/models.py:935 order/models.py:2030 +#: order/models.py:966 order/models.py:2079 msgid "Customer order reference code" msgstr "Kundens ordrereferanse" -#: order/models.py:939 order/models.py:1658 -#: templates/js/translated/sales_order.js:843 -#: templates/js/translated/sales_order.js:1024 +#: order/models.py:970 order/models.py:1698 +#: templates/js/translated/sales_order.js:879 +#: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "Forsendelsesdato" -#: order/models.py:948 +#: order/models.py:979 msgid "shipped by" msgstr "sendt av" -#: order/models.py:999 -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:1004 +#: order/models.py:1029 msgid "Only an open order can be marked as complete" msgstr "Kun en åpen ordre kan merkes som fullført" -#: order/models.py:1008 templates/js/translated/sales_order.js:506 +#: order/models.py:1033 msgid "Order cannot be completed as there are incomplete shipments" msgstr "Bestillingen kan ikke fullføres da det finnes ufullstendige forsendelser" -#: order/models.py:1013 +#: order/models.py:1038 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:1260 +#: order/models.py:1300 msgid "Item quantity" msgstr "Antall" -#: order/models.py:1277 +#: order/models.py:1317 msgid "Line item reference" msgstr "Linjereferanse" -#: order/models.py:1284 +#: order/models.py:1324 msgid "Line item notes" msgstr "Linjenotater" -#: order/models.py:1296 +#: order/models.py:1336 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:1317 +#: order/models.py:1357 msgid "Line item description (optional)" msgstr "Linjeelementbeskrivelse (valgfritt)" -#: order/models.py:1323 +#: order/models.py:1363 msgid "Context" msgstr "Kontekst" -#: order/models.py:1324 +#: order/models.py:1364 msgid "Additional context for this line" msgstr "Ytterligere kontekst for denne linjen" -#: order/models.py:1334 +#: order/models.py:1374 msgid "Unit price" msgstr "Enhetspris" -#: order/models.py:1367 +#: order/models.py:1407 msgid "Supplier part must match supplier" msgstr "Delens leverandør må samsvare med leverandør" -#: order/models.py:1374 +#: order/models.py:1414 msgid "deleted" msgstr "slettet" -#: order/models.py:1402 +#: order/models.py:1442 msgid "Supplier part" msgstr "Leverandørdel" -#: order/models.py:1409 order/templates/order/order_base.html:196 +#: order/models.py:1449 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 #: templates/js/translated/purchase_order.js:1306 -#: templates/js/translated/purchase_order.js:2170 -#: templates/js/translated/return_order.js:764 +#: templates/js/translated/purchase_order.js:2169 +#: templates/js/translated/return_order.js:763 #: templates/js/translated/table_filters.js:120 #: templates/js/translated/table_filters.js:602 msgid "Received" msgstr "Mottatt" -#: order/models.py:1410 +#: order/models.py:1450 msgid "Number of items received" msgstr "Antall enheter mottatt" -#: order/models.py:1418 stock/models.py:923 stock/serializers.py:400 +#: order/models.py:1458 stock/models.py:944 stock/serializers.py:529 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2313 +#: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "Innkjøpspris" -#: order/models.py:1419 +#: order/models.py:1459 msgid "Unit purchase price" msgstr "Enhet-innkjøpspris" -#: order/models.py:1434 +#: order/models.py:1474 msgid "Where does the Purchaser want this item to be stored?" msgstr "Hvor vil innkjøper at artikkelen skal lagres?" -#: order/models.py:1525 +#: order/models.py:1565 msgid "Virtual part cannot be assigned to a sales order" msgstr "Virtuell del kan ikke tildeles salgsordre" -#: order/models.py:1530 +#: order/models.py:1570 msgid "Only salable parts can be assigned to a sales order" msgstr "Kun salgbare deler kan tildeles en salgsordre" -#: order/models.py:1556 part/templates/part/part_pricing.html:107 +#: order/models.py:1596 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "Salgspris" -#: order/models.py:1557 +#: order/models.py:1597 msgid "Unit sale price" msgstr "Enhets-salgspris" -#: order/models.py:1567 +#: order/models.py:1607 msgid "Shipped quantity" msgstr "Sendt antall" -#: order/models.py:1659 +#: order/models.py:1699 msgid "Date of shipment" msgstr "Dato for forsendelse" -#: order/models.py:1665 templates/js/translated/sales_order.js:1036 +#: order/models.py:1705 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "Leveringsdato" -#: order/models.py:1666 +#: order/models.py:1706 msgid "Date of delivery of shipment" msgstr "Dato for levering av forsendelse" -#: order/models.py:1674 +#: order/models.py:1714 msgid "Checked By" msgstr "Sjekket Av" -#: order/models.py:1675 +#: order/models.py:1715 msgid "User who checked this shipment" msgstr "Brukeren som sjekket forsendelsen" -#: order/models.py:1682 order/models.py:1895 order/serializers.py:1354 -#: order/serializers.py:1464 templates/js/translated/model_renderers.js:448 +#: order/models.py:1722 order/models.py:1935 order/serializers.py:1354 +#: order/serializers.py:1464 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "Forsendelse" -#: order/models.py:1683 +#: order/models.py:1723 msgid "Shipment number" msgstr "Forsendelsesnummer" -#: order/models.py:1691 +#: order/models.py:1731 msgid "Tracking Number" msgstr "Sporingsnummer" -#: order/models.py:1692 +#: order/models.py:1732 msgid "Shipment tracking information" msgstr "Sporingsinformasjon for forsendelse" -#: order/models.py:1699 +#: order/models.py:1739 msgid "Invoice Number" msgstr "Fakturanummer" -#: order/models.py:1700 +#: order/models.py:1740 msgid "Reference number for associated invoice" msgstr "Referansenummer for tilknyttet faktura" -#: order/models.py:1720 +#: order/models.py:1760 msgid "Shipment has already been sent" msgstr "Forsendelsen er allerede sendt" -#: order/models.py:1723 +#: order/models.py:1763 msgid "Shipment has no allocated stock items" msgstr "Forsendelsen har ingen tildelte lagervarer" -#: order/models.py:1841 order/models.py:1843 +#: order/models.py:1881 order/models.py:1883 msgid "Stock item has not been assigned" msgstr "Lagervarer er ikke blitt tildelt" -#: order/models.py:1850 +#: order/models.py:1890 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:1853 +#: order/models.py:1893 msgid "Cannot allocate stock to a line without a part" msgstr "Kan ikke tildele lagerbeholdning til en linje uten en del" -#: order/models.py:1856 +#: order/models.py:1896 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Tildelingsantall kan ikke overstige tilgjengelig lagerbeholdning" -#: order/models.py:1875 order/serializers.py:1231 +#: order/models.py:1915 order/serializers.py:1231 msgid "Quantity must be 1 for serialized stock item" msgstr "Antall må være 1 for serialisert lagervare" -#: order/models.py:1878 +#: order/models.py:1918 msgid "Sales order does not match shipment" msgstr "Salgsordre samsvarer ikke med forsendelse" -#: order/models.py:1879 plugin/base/barcodes/api.py:481 +#: order/models.py:1919 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "Forsendelsen samsvarer ikke med salgsordre" -#: order/models.py:1887 +#: order/models.py:1927 msgid "Line" msgstr "Linje" -#: order/models.py:1896 +#: order/models.py:1936 msgid "Sales order shipment reference" msgstr "Forsendelsesreferanse for salgsordre" -#: order/models.py:1909 order/models.py:2217 -#: templates/js/translated/return_order.js:722 +#: order/models.py:1949 order/models.py:2266 +#: templates/js/translated/return_order.js:721 msgid "Item" msgstr "Artikkel" -#: order/models.py:1910 +#: order/models.py:1950 msgid "Select stock item to allocate" msgstr "Velg lagervare å tildele" -#: order/models.py:1919 +#: order/models.py:1959 msgid "Enter stock allocation quantity" msgstr "Angi lagertildelingsmengde" -#: order/models.py:1999 +#: order/models.py:2048 msgid "Return Order reference" msgstr "Returordre-referanse" -#: order/models.py:2011 +#: order/models.py:2060 msgid "Company from which items are being returned" msgstr "Firmaet delen skal returneres fra" -#: order/models.py:2023 +#: order/models.py:2072 msgid "Return order status" msgstr "Returordrestatus" -#: order/models.py:2202 +#: order/models.py:2251 msgid "Only serialized items can be assigned to a Return Order" msgstr "Kun serialiserte artikler kan tilordnes en Returordre" -#: order/models.py:2218 +#: order/models.py:2267 msgid "Select item to return from customer" msgstr "Velg artikkel som skal returneres fra kunde" -#: order/models.py:2224 +#: order/models.py:2273 msgid "Received Date" msgstr "Mottatt Dato" -#: order/models.py:2225 +#: order/models.py:2274 msgid "The date this this return item was received" msgstr "Datoen denne returartikkelen ble mottatt" -#: order/models.py:2236 templates/js/translated/return_order.js:733 +#: order/models.py:2285 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "Utfall" -#: order/models.py:2237 +#: order/models.py:2286 msgid "Outcome for this line item" msgstr "Utfall for dette linjeelementet" -#: order/models.py:2244 +#: order/models.py:2293 msgid "Cost associated with return or repair for this line item" msgstr "Kostnad forbundet med retur eller reparasjon for dette linjeelementet" #: order/serializers.py:80 order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 -#: report/templates/report/inventree_po_report_base.html:22 -#: report/templates/report/inventree_return_order_report_base.html:19 -#: report/templates/report/inventree_so_report_base.html:22 +#: report/templates/report/inventree_purchase_order_report.html:22 +#: report/templates/report/inventree_return_order_report.html:19 +#: report/templates/report/inventree_sales_order_report.html:22 msgid "Line Items" msgstr "Linjeelementer" @@ -5595,7 +5526,7 @@ msgstr "Merk ordren som fullført" #: order/templates/order/order_base.html:84 #: order/templates/order/return_order_base.html:87 -#: order/templates/order/sales_order_base.html:93 +#: order/templates/order/sales_order_base.html:97 msgid "Complete Order" msgstr "Fullfør ordre" @@ -5605,13 +5536,13 @@ msgstr "Miniatyrbilde for leverandør" #: order/templates/order/order_base.html:106 #: order/templates/order/return_order_base.html:101 -#: order/templates/order/sales_order_base.html:106 +#: order/templates/order/sales_order_base.html:110 msgid "Order Reference" msgstr "Ordrereferanse" #: order/templates/order/order_base.html:111 #: order/templates/order/return_order_base.html:106 -#: order/templates/order/sales_order_base.html:111 +#: order/templates/order/sales_order_base.html:115 msgid "Order Description" msgstr "Ordrebeskrivelse" @@ -5620,19 +5551,19 @@ msgid "No suppplier information available" msgstr "Ingen leverandørinformasjon tilgjengelig" #: order/templates/order/order_base.html:154 -#: order/templates/order/sales_order_base.html:157 +#: order/templates/order/sales_order_base.html:161 msgid "Completed Line Items" msgstr "Fullførte elementer" #: order/templates/order/order_base.html:160 -#: order/templates/order/sales_order_base.html:163 -#: order/templates/order/sales_order_base.html:173 +#: order/templates/order/sales_order_base.html:167 +#: order/templates/order/sales_order_base.html:177 msgid "Incomplete" msgstr "Ufullstendig" #: order/templates/order/order_base.html:179 #: order/templates/order/return_order_base.html:157 -#: report/templates/report/inventree_build_order_base.html:121 +#: report/templates/report/inventree_build_order_report.html:121 msgid "Issued" msgstr "Utstedt" @@ -5642,15 +5573,15 @@ msgstr "Total kostnad" #: order/templates/order/order_base.html:228 #: order/templates/order/return_order_base.html:199 -#: order/templates/order/sales_order_base.html:239 +#: order/templates/order/sales_order_base.html:243 msgid "Total cost could not be calculated" msgstr "Total kostnad kunne ikke beregnes" -#: order/templates/order/order_base.html:318 +#: order/templates/order/order_base.html:314 msgid "Purchase Order QR Code" msgstr "" -#: order/templates/order/order_base.html:330 +#: order/templates/order/order_base.html:326 msgid "Link Barcode to Purchase Order" msgstr "" @@ -5707,8 +5638,8 @@ msgstr "Duplikatvalg" #: templates/js/translated/build.js:1629 #: templates/js/translated/purchase_order.js:696 #: templates/js/translated/purchase_order.js:1236 -#: templates/js/translated/return_order.js:506 -#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/return_order.js:505 +#: templates/js/translated/sales_order.js:1145 #: templates/js/translated/stock.js:714 templates/js/translated/stock.js:883 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -5762,7 +5693,7 @@ msgstr "Innkjøpsordreartikler" #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 #: templates/js/translated/purchase_order.js:414 -#: templates/js/translated/return_order.js:459 +#: templates/js/translated/return_order.js:458 #: templates/js/translated/sales_order.js:237 msgid "Add Line Item" msgstr "Legg til linjeelement" @@ -5811,30 +5742,30 @@ msgid "Print packing list" msgstr "Skriv ut pakkeliste" #: order/templates/order/return_order_base.html:138 -#: order/templates/order/sales_order_base.html:151 -#: templates/js/translated/return_order.js:309 -#: templates/js/translated/sales_order.js:797 +#: order/templates/order/sales_order_base.html:155 +#: templates/js/translated/return_order.js:308 +#: templates/js/translated/sales_order.js:833 msgid "Customer Reference" msgstr "Kundereferanse" #: order/templates/order/return_order_base.html:195 -#: order/templates/order/sales_order_base.html:235 +#: order/templates/order/sales_order_base.html:239 #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1072 -#: templates/js/translated/purchase_order.js:1753 -#: templates/js/translated/return_order.js:381 -#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/purchase_order.js:1752 +#: templates/js/translated/return_order.js:380 +#: templates/js/translated/sales_order.js:891 msgid "Total Cost" msgstr "Total kostnad" -#: order/templates/order/return_order_base.html:263 +#: order/templates/order/return_order_base.html:259 msgid "Return Order QR Code" msgstr "" -#: order/templates/order/return_order_base.html:275 +#: order/templates/order/return_order_base.html:271 msgid "Link Barcode to Return Order" msgstr "" @@ -5852,25 +5783,30 @@ msgid "Ship Items" msgstr "Send artikler" #: order/templates/order/sales_order_base.html:92 -#: templates/js/translated/sales_order.js:484 +#: order/templates/order/sales_order_base.html:93 +msgid "Mark As Shipped" +msgstr "" + +#: order/templates/order/sales_order_base.html:96 +#: templates/js/translated/sales_order.js:536 msgid "Complete Sales Order" msgstr "Fullfør Salgsordre" -#: order/templates/order/sales_order_base.html:131 +#: order/templates/order/sales_order_base.html:135 msgid "This Sales Order has not been fully allocated" msgstr "Salgsordren er ikke fullstendig tildelt" -#: order/templates/order/sales_order_base.html:169 +#: order/templates/order/sales_order_base.html:173 #: order/templates/order/sales_order_detail.html:99 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "Fullførte forsendelser" -#: order/templates/order/sales_order_base.html:312 +#: order/templates/order/sales_order_base.html:321 msgid "Sales Order QR Code" msgstr "" -#: order/templates/order/sales_order_base.html:324 +#: order/templates/order/sales_order_base.html:333 msgid "Link Barcode to Sales Order" msgstr "" @@ -5914,12 +5850,12 @@ 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:39 part/admin.py:404 part/models.py:3921 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:406 part/models.py:3964 part/stocktake.py:218 #: stock/admin.py:153 msgid "Part ID" msgstr "Del-ID" -#: part/admin.py:41 part/admin.py:411 part/models.py:3922 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:413 part/models.py:3965 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "Delnavn" @@ -5928,20 +5864,20 @@ msgstr "Delnavn" msgid "Part Description" msgstr "Delbeskrivelse" -#: part/admin.py:48 part/models.py:904 part/templates/part/part_base.html:269 -#: report/templates/report/inventree_slr_report.html:103 -#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2341 -#: templates/js/translated/stock.js:2038 +#: part/admin.py:48 part/models.py:947 part/templates/part/part_base.html:269 +#: report/templates/report/inventree_stock_location_report.html:103 +#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 +#: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:913 part/templates/part/part_base.html:277 -#: report/models.py:195 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2347 +#: part/admin.py:50 part/models.py:956 part/templates/part/part_base.html:277 +#: report/models.py:161 templates/js/translated/part.js:1231 +#: templates/js/translated/part.js:2346 msgid "Revision" msgstr "Revisjon" -#: part/admin.py:53 part/admin.py:317 part/models.py:886 +#: part/admin.py:53 part/admin.py:319 part/models.py:929 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "Nøkkelord" @@ -5950,15 +5886,15 @@ msgstr "Nøkkelord" msgid "Part Image" msgstr "Del-bilde" -#: part/admin.py:63 part/admin.py:300 part/stocktake.py:221 +#: part/admin.py:63 part/admin.py:302 part/stocktake.py:221 msgid "Category ID" msgstr "Kategori-ID" -#: part/admin.py:67 part/admin.py:302 part/stocktake.py:222 +#: part/admin.py:67 part/admin.py:304 part/stocktake.py:222 msgid "Category Name" msgstr "Kategorinavn" -#: part/admin.py:71 part/admin.py:314 +#: part/admin.py:71 part/admin.py:316 msgid "Default Location ID" msgstr "Standard plasserings-ID" @@ -5966,11 +5902,11 @@ msgstr "Standard plasserings-ID" msgid "Default Supplier ID" msgstr "Standard leverandør-ID" -#: part/admin.py:81 part/models.py:872 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:915 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "Variant av" -#: part/admin.py:84 part/models.py:1000 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1043 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "Minimal lagerbeholdning" @@ -5983,160 +5919,164 @@ msgstr "Brukt i" msgid "Building" msgstr "Produseres" -#: part/admin.py:155 part/models.py:3080 part/models.py:3094 +#: part/admin.py:155 part/models.py:3123 part/models.py:3137 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "Minimal kostnad" -#: part/admin.py:158 part/models.py:3087 part/models.py:3101 +#: part/admin.py:158 part/models.py:3130 part/models.py:3144 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "Maksimal kostnad" -#: part/admin.py:306 part/admin.py:393 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:211 msgid "Parent ID" msgstr "Overordnet ID" -#: part/admin.py:310 part/admin.py:400 stock/admin.py:62 +#: part/admin.py:312 part/admin.py:402 stock/admin.py:62 msgid "Parent Name" msgstr "Overordnet navn" -#: part/admin.py:318 part/templates/part/category.html:88 +#: part/admin.py:320 part/templates/part/category.html:88 #: part/templates/part/category.html:101 msgid "Category Path" msgstr "Sti til kategori" -#: part/admin.py:323 part/models.py:391 part/serializers.py:117 +#: part/admin.py:325 part/models.py:393 part/serializers.py:117 #: part/serializers.py:272 part/serializers.py:391 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2803 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "Deler" -#: part/admin.py:384 +#: part/admin.py:386 msgid "BOM Level" msgstr "BOM-nivå" -#: part/admin.py:387 +#: part/admin.py:389 msgid "BOM Item ID" msgstr "BOM artikkel-ID" -#: part/admin.py:397 +#: part/admin.py:399 msgid "Parent IPN" msgstr "Overodnet IPN" -#: part/admin.py:408 part/models.py:3923 +#: part/admin.py:410 part/models.py:3966 msgid "Part IPN" msgstr "Del -IPN" -#: part/admin.py:421 part/serializers.py:1261 +#: part/admin.py:423 part/serializers.py:1276 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "Minstepris" -#: part/admin.py:426 part/serializers.py:1276 +#: part/admin.py:428 part/serializers.py:1291 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "Makspris" -#: part/api.py:119 +#: part/api.py:112 msgid "Starred" msgstr "" -#: part/api.py:121 +#: part/api.py:114 msgid "Filter by starred categories" msgstr "" -#: part/api.py:138 stock/api.py:284 +#: part/api.py:131 stock/api.py:318 msgid "Depth" msgstr "" -#: part/api.py:138 +#: part/api.py:131 msgid "Filter by category depth" msgstr "" -#: part/api.py:156 stock/api.py:302 +#: part/api.py:149 stock/api.py:336 msgid "Cascade" msgstr "" -#: part/api.py:158 +#: part/api.py:151 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:178 +#: part/api.py:171 msgid "Parent" msgstr "" -#: part/api.py:180 +#: part/api.py:173 msgid "Filter by parent category" msgstr "" -#: part/api.py:213 +#: part/api.py:206 msgid "Exclude Tree" msgstr "" -#: part/api.py:215 +#: part/api.py:208 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:461 +#: part/api.py:455 msgid "Has Results" msgstr "" -#: part/api.py:628 +#: part/api.py:622 msgid "Incoming Purchase Order" msgstr "Innkommende innkjøpsordre" -#: part/api.py:646 +#: part/api.py:640 msgid "Outgoing Sales Order" msgstr "Utgående salgsordre" -#: part/api.py:662 +#: part/api.py:656 msgid "Stock produced by Build Order" msgstr "Lagervarer produsert av en produksjonsordre" -#: part/api.py:746 +#: part/api.py:740 msgid "Stock required for Build Order" msgstr "Lagervarer påkrevd for produksjonsordre" -#: part/api.py:893 +#: part/api.py:887 msgid "Valid" msgstr "Gyldig" -#: part/api.py:894 +#: part/api.py:888 msgid "Validate entire Bill of Materials" msgstr "Godkjenn hele Stykklisten" -#: part/api.py:900 +#: part/api.py:894 msgid "This option must be selected" msgstr "Dette alternativet må være valgt" -#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866 -#: part/serializers.py:406 part/serializers.py:1117 -#: part/templates/part/part_base.html:260 stock/api.py:745 +#: part/api.py:1111 +msgid "BOM Valid" +msgstr "" + +#: part/api.py:1515 part/models.py:939 part/models.py:3429 part/models.py:3909 +#: part/serializers.py:406 part/serializers.py:1132 +#: part/templates/part/part_base.html:260 stock/api.py:779 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2377 +#: templates/js/translated/part.js:2376 msgid "Category" msgstr "Kategori" -#: part/api.py:1849 +#: part/api.py:1803 msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:101 part/models.py:939 +#: part/bom.py:170 part/models.py:102 part/models.py:982 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "Standard plassering" -#: part/bom.py:171 part/serializers.py:822 +#: part/bom.py:171 part/serializers.py:837 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "Total lagerbeholdning" @@ -6145,698 +6085,712 @@ msgstr "Total lagerbeholdning" msgid "Input quantity for price calculation" msgstr "Sett inn antall for prisberegning" -#: part/models.py:82 part/models.py:3867 part/templates/part/category.html:16 +#: part/models.py:83 part/models.py:3910 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Delkategori" -#: part/models.py:83 part/templates/part/category.html:136 +#: part/models.py:84 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "Delkategorier" -#: part/models.py:102 +#: part/models.py:103 msgid "Default location for parts in this category" msgstr "Standardplassering for deler i denne kategorien" -#: part/models.py:107 stock/models.py:165 templates/js/translated/part.js:2810 -#: templates/js/translated/stock.js:2775 +#: part/models.py:108 stock/models.py:177 templates/js/translated/part.js:2809 +#: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "Strukturell" -#: part/models.py:109 +#: part/models.py:110 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "Deler kan ikke tilordnes direkte til en strukturell kategori, men kan tilordnes til underkategorier." -#: part/models.py:118 +#: part/models.py:119 msgid "Default keywords" msgstr "Standard nøkkelord" -#: part/models.py:119 +#: part/models.py:120 msgid "Default keywords for parts in this category" msgstr "Standard nøkkelord for deler i denne kategorien" -#: part/models.py:125 stock/models.py:89 stock/models.py:148 +#: part/models.py:126 stock/models.py:89 stock/models.py:160 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "Ikon" -#: part/models.py:126 stock/models.py:149 +#: part/models.py:127 stock/models.py:161 msgid "Icon (optional)" msgstr "Ikon (valgfritt)" -#: part/models.py:148 +#: part/models.py:149 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "Du kan ikke gjøre denne delkategorien strukturell fordi noen deler allerede er tilordnet den!" -#: part/models.py:484 +#: part/models.py:482 +msgid "Cannot delete this part as it is still active" +msgstr "" + +#: part/models.py:489 +msgid "Cannot delete this part as it is used in an assembly" +msgstr "" + +#: part/models.py:527 msgid "Invalid choice for parent part" msgstr "Ugyldig valg for overordnet del" -#: part/models.py:532 part/models.py:539 +#: part/models.py:575 part/models.py:582 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "Delen '{self}' kan ikke brukes i BOM for '{parent}' (rekursiv)" -#: part/models.py:551 +#: part/models.py:594 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "Delen '{parent}' er brukt i BOM for '{self}' (rekursiv)" -#: part/models.py:616 +#: part/models.py:659 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "IPN må samsvare med regex-mønsteret {pattern}" -#: part/models.py:696 +#: part/models.py:739 msgid "Stock item with this serial number already exists" msgstr "Lagervare med dette serienummeret eksisterer allerede" -#: part/models.py:801 +#: part/models.py:844 msgid "Duplicate IPN not allowed in part settings" msgstr "Duplikat av internt delnummer er ikke tillatt i delinnstillinger" -#: part/models.py:811 +#: part/models.py:854 msgid "Part with this Name, IPN and Revision already exists." msgstr "Del med dette Navnet, internt delnummer og Revisjon eksisterer allerede." -#: part/models.py:826 +#: part/models.py:869 msgid "Parts cannot be assigned to structural part categories!" msgstr "Deler kan ikke tilordnes strukturelle delkategorier!" -#: part/models.py:855 part/models.py:3922 +#: part/models.py:898 part/models.py:3965 msgid "Part name" msgstr "Delnavn" -#: part/models.py:860 +#: part/models.py:903 msgid "Is Template" msgstr "Er Mal" -#: part/models.py:861 +#: part/models.py:904 msgid "Is this part a template part?" msgstr "Er delen en maldel?" -#: part/models.py:871 +#: part/models.py:914 msgid "Is this part a variant of another part?" msgstr "Er delen en variant av en annen del?" -#: part/models.py:879 +#: part/models.py:922 msgid "Part description (optional)" msgstr "Delbeskrivelse (valgfritt)" -#: part/models.py:887 +#: part/models.py:930 msgid "Part keywords to improve visibility in search results" msgstr "Del-nøkkelord for å øke synligheten i søkeresultater" -#: part/models.py:897 +#: part/models.py:940 msgid "Part category" msgstr "Delkategori" -#: part/models.py:905 +#: part/models.py:948 msgid "Internal Part Number" msgstr "Internt delnummer" -#: part/models.py:912 +#: part/models.py:955 msgid "Part revision or version number" msgstr "Delrevisjon eller versjonsnummer" -#: part/models.py:937 +#: part/models.py:980 msgid "Where is this item normally stored?" msgstr "Hvor er denne artikkelen vanligvis lagret?" -#: part/models.py:983 part/templates/part/part_base.html:376 +#: part/models.py:1026 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "Standard leverandør" -#: part/models.py:984 +#: part/models.py:1027 msgid "Default supplier part" msgstr "Standard leverandørdel" -#: part/models.py:991 +#: part/models.py:1034 msgid "Default Expiry" msgstr "Standard utløp" -#: part/models.py:992 +#: part/models.py:1035 msgid "Expiry time (in days) for stock items of this part" msgstr "Utløpstid (i dager) for lagervarer av denne delen" -#: part/models.py:1001 +#: part/models.py:1044 msgid "Minimum allowed stock level" msgstr "Minimum tillatt lagernivå" -#: part/models.py:1010 +#: part/models.py:1053 msgid "Units of measure for this part" msgstr "Måleenheter for denne delen" -#: part/models.py:1017 +#: part/models.py:1060 msgid "Can this part be built from other parts?" msgstr "Kan denne delen bygges fra andre deler?" -#: part/models.py:1023 +#: part/models.py:1066 msgid "Can this part be used to build other parts?" msgstr "Kan denne delen brukes til å bygge andre deler?" -#: part/models.py:1029 +#: part/models.py:1072 msgid "Does this part have tracking for unique items?" msgstr "Har denne delen sporing av unike artikler?" -#: part/models.py:1035 +#: part/models.py:1078 msgid "Can this part be purchased from external suppliers?" msgstr "Kan denne delen kjøpes inn fra eksterne leverandører?" -#: part/models.py:1041 +#: part/models.py:1084 msgid "Can this part be sold to customers?" msgstr "Kan denne delen selges til kunder?" -#: part/models.py:1045 +#: part/models.py:1088 msgid "Is this part active?" msgstr "Er denne delen aktiv?" -#: part/models.py:1051 +#: part/models.py:1094 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:1057 +#: part/models.py:1100 msgid "BOM checksum" msgstr "Kontrollsum for BOM" -#: part/models.py:1058 +#: part/models.py:1101 msgid "Stored BOM checksum" msgstr "Lagret BOM-kontrollsum" -#: part/models.py:1066 +#: part/models.py:1109 msgid "BOM checked by" msgstr "Stykkliste sjekket av" -#: part/models.py:1071 +#: part/models.py:1114 msgid "BOM checked date" msgstr "Stykkliste sjekket dato" -#: part/models.py:1087 +#: part/models.py:1130 msgid "Creation User" msgstr "Opprettingsbruker" -#: part/models.py:1097 +#: part/models.py:1140 msgid "Owner responsible for this part" msgstr "Eier ansvarlig for denne delen" -#: part/models.py:1102 part/templates/part/part_base.html:339 +#: part/models.py:1145 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 -#: templates/js/translated/part.js:2471 +#: templates/js/translated/part.js:2470 msgid "Last Stocktake" msgstr "Siste lagertelling" -#: part/models.py:1975 +#: part/models.py:2018 msgid "Sell multiple" msgstr "Selg flere" -#: part/models.py:2994 +#: part/models.py:3037 msgid "Currency used to cache pricing calculations" msgstr "Valuta som brukes til å bufre prisberegninger" -#: part/models.py:3010 +#: part/models.py:3053 msgid "Minimum BOM Cost" msgstr "Minimal BOM-kostnad" -#: part/models.py:3011 +#: part/models.py:3054 msgid "Minimum cost of component parts" msgstr "Minste kostnad for komponentdeler" -#: part/models.py:3017 +#: part/models.py:3060 msgid "Maximum BOM Cost" msgstr "Maksimal BOM-kostnad" -#: part/models.py:3018 +#: part/models.py:3061 msgid "Maximum cost of component parts" msgstr "Maksimal kostnad for komponentdeler" -#: part/models.py:3024 +#: part/models.py:3067 msgid "Minimum Purchase Cost" msgstr "Minimal innkjøpskostnad" -#: part/models.py:3025 +#: part/models.py:3068 msgid "Minimum historical purchase cost" msgstr "Minimal historisk innkjøpskostnad" -#: part/models.py:3031 +#: part/models.py:3074 msgid "Maximum Purchase Cost" msgstr "Maksimal innkjøpskostnad" -#: part/models.py:3032 +#: part/models.py:3075 msgid "Maximum historical purchase cost" msgstr "Maksimal historisk innkjøpskostnad" -#: part/models.py:3038 +#: part/models.py:3081 msgid "Minimum Internal Price" msgstr "Minimal intern pris" -#: part/models.py:3039 +#: part/models.py:3082 msgid "Minimum cost based on internal price breaks" msgstr "Minimal kostnad basert på interne prisbrudd" -#: part/models.py:3045 +#: part/models.py:3088 msgid "Maximum Internal Price" msgstr "Maksimal intern pris" -#: part/models.py:3046 +#: part/models.py:3089 msgid "Maximum cost based on internal price breaks" msgstr "Maksimal kostnad basert på interne prisbrudd" -#: part/models.py:3052 +#: part/models.py:3095 msgid "Minimum Supplier Price" msgstr "Minimal leverandørpris" -#: part/models.py:3053 +#: part/models.py:3096 msgid "Minimum price of part from external suppliers" msgstr "Minimumspris for del fra eksterne leverandører" -#: part/models.py:3059 +#: part/models.py:3102 msgid "Maximum Supplier Price" msgstr "Maksimal leverandørpris" -#: part/models.py:3060 +#: part/models.py:3103 msgid "Maximum price of part from external suppliers" msgstr "Maksimalpris for del fra eksterne leverandører" -#: part/models.py:3066 +#: part/models.py:3109 msgid "Minimum Variant Cost" msgstr "Minimal Variantkostnad" -#: part/models.py:3067 +#: part/models.py:3110 msgid "Calculated minimum cost of variant parts" msgstr "Beregnet minimal kostnad for variantdeler" -#: part/models.py:3073 +#: part/models.py:3116 msgid "Maximum Variant Cost" msgstr "Maksimal Variantkostnad" -#: part/models.py:3074 +#: part/models.py:3117 msgid "Calculated maximum cost of variant parts" msgstr "Beregnet maksimal kostnad for variantdeler" -#: part/models.py:3081 +#: part/models.py:3124 msgid "Override minimum cost" msgstr "Overstyr minstekostnad" -#: part/models.py:3088 +#: part/models.py:3131 msgid "Override maximum cost" msgstr "Overstyr maksimal kostnad" -#: part/models.py:3095 +#: part/models.py:3138 msgid "Calculated overall minimum cost" msgstr "Beregnet samlet minimal kostnad" -#: part/models.py:3102 +#: part/models.py:3145 msgid "Calculated overall maximum cost" msgstr "Beregnet samlet maksimal kostnad" -#: part/models.py:3108 +#: part/models.py:3151 msgid "Minimum Sale Price" msgstr "Minimal salgspris" -#: part/models.py:3109 +#: part/models.py:3152 msgid "Minimum sale price based on price breaks" msgstr "Minimal salgspris basert på prisbrudd" -#: part/models.py:3115 +#: part/models.py:3158 msgid "Maximum Sale Price" msgstr "Maksimal Salgspris" -#: part/models.py:3116 +#: part/models.py:3159 msgid "Maximum sale price based on price breaks" msgstr "Maksimal salgspris basert på prisbrudd" -#: part/models.py:3122 +#: part/models.py:3165 msgid "Minimum Sale Cost" msgstr "Minimal Salgskostnad" -#: part/models.py:3123 +#: part/models.py:3166 msgid "Minimum historical sale price" msgstr "Minimal historisk salgspris" -#: part/models.py:3129 +#: part/models.py:3172 msgid "Maximum Sale Cost" msgstr "Maksimal Salgskostnad" -#: part/models.py:3130 +#: part/models.py:3173 msgid "Maximum historical sale price" msgstr "Maksimal historisk salgspris" -#: part/models.py:3149 +#: part/models.py:3192 msgid "Part for stocktake" msgstr "Del for varetelling" -#: part/models.py:3154 +#: part/models.py:3197 msgid "Item Count" msgstr "Antall" -#: part/models.py:3155 +#: part/models.py:3198 msgid "Number of individual stock entries at time of stocktake" msgstr "Antall individuelle lagerenheter på tidspunkt for varetelling" -#: part/models.py:3163 +#: part/models.py:3206 msgid "Total available stock at time of stocktake" msgstr "Total tilgjengelig lagerbeholdning på tidspunkt for varetelling" -#: part/models.py:3167 part/models.py:3250 +#: part/models.py:3210 part/models.py:3293 #: part/templates/part/part_scheduling.html:13 -#: report/templates/report/inventree_test_report_base.html:106 +#: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 #: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 -#: templates/js/translated/purchase_order.js:1732 -#: templates/js/translated/stock.js:2824 +#: templates/js/translated/purchase_order.js:1731 +#: templates/js/translated/stock.js:2821 msgid "Date" msgstr "Dato" -#: part/models.py:3168 +#: part/models.py:3211 msgid "Date stocktake was performed" msgstr "Dato for utført lagertelling" -#: part/models.py:3176 +#: part/models.py:3219 msgid "Additional notes" msgstr "Flere notater" -#: part/models.py:3186 +#: part/models.py:3229 msgid "User who performed this stocktake" msgstr "Bruker som utførte denne lagertellingen" -#: part/models.py:3192 +#: part/models.py:3235 msgid "Minimum Stock Cost" msgstr "Minimal lagerkostnad" -#: part/models.py:3193 +#: part/models.py:3236 msgid "Estimated minimum cost of stock on hand" msgstr "Estimert minimal kostnad for lagerbeholdning" -#: part/models.py:3199 +#: part/models.py:3242 msgid "Maximum Stock Cost" msgstr "Maksimal lagerkostnad" -#: part/models.py:3200 +#: part/models.py:3243 msgid "Estimated maximum cost of stock on hand" msgstr "Estimert maksimal kostnad for lagerbeholdning" -#: part/models.py:3256 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3299 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "Rapport" -#: part/models.py:3257 +#: part/models.py:3300 msgid "Stocktake report file (generated internally)" msgstr "Lagertellingsrapportfil (generert internt)" -#: part/models.py:3262 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3305 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "Antall deler" -#: part/models.py:3263 +#: part/models.py:3306 msgid "Number of parts covered by stocktake" msgstr "Antall deler dekket av varetellingen" -#: part/models.py:3273 +#: part/models.py:3316 msgid "User who requested this stocktake report" msgstr "Bruker som forespurte varetellingsrapporten" -#: part/models.py:3435 +#: part/models.py:3478 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3446 +#: part/models.py:3489 msgid "Test templates can only be created for trackable parts" msgstr "Testmaler kan bare bli opprettet for sporbare deler" -#: part/models.py:3457 +#: part/models.py:3500 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3474 templates/js/translated/part.js:2879 +#: part/models.py:3517 templates/js/translated/part.js:2878 msgid "Test Name" msgstr "Testnavn" -#: part/models.py:3475 +#: part/models.py:3518 msgid "Enter a name for the test" msgstr "Angi et navn for testen" -#: part/models.py:3481 +#: part/models.py:3524 msgid "Test Key" msgstr "" -#: part/models.py:3482 +#: part/models.py:3525 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3489 +#: part/models.py:3532 msgid "Test Description" msgstr "Testbeskrivelse" -#: part/models.py:3490 +#: part/models.py:3533 msgid "Enter description for this test" msgstr "Legg inn beskrivelse for denne testen" -#: part/models.py:3494 +#: part/models.py:3537 report/models.py:208 +#: templates/js/translated/part.js:2899 +#: templates/js/translated/table_filters.js:481 +msgid "Enabled" +msgstr "Aktivert" + +#: part/models.py:3537 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3499 templates/js/translated/part.js:2908 +#: part/models.py:3542 templates/js/translated/part.js:2907 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "Påkrevd" -#: part/models.py:3500 +#: part/models.py:3543 msgid "Is this test required to pass?" msgstr "Er det påkrevd at denne testen bestås?" -#: part/models.py:3505 templates/js/translated/part.js:2916 +#: part/models.py:3548 templates/js/translated/part.js:2915 msgid "Requires Value" msgstr "Krever verdi" -#: part/models.py:3506 +#: part/models.py:3549 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:3511 templates/js/translated/part.js:2923 +#: part/models.py:3554 templates/js/translated/part.js:2922 msgid "Requires Attachment" msgstr "Krever vedlegg" -#: part/models.py:3513 +#: part/models.py:3556 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:3560 +#: part/models.py:3603 msgid "Checkbox parameters cannot have units" msgstr "Sjekkboksparameter kan ikke ha enheter" -#: part/models.py:3565 +#: part/models.py:3608 msgid "Checkbox parameters cannot have choices" msgstr "Sjekkboksparameter kan ikke ha valg" -#: part/models.py:3585 +#: part/models.py:3628 msgid "Choices must be unique" msgstr "Valg må være unike" -#: part/models.py:3602 +#: part/models.py:3645 msgid "Parameter template name must be unique" msgstr "Navn på parametermal må være unikt" -#: part/models.py:3617 +#: part/models.py:3660 msgid "Parameter Name" msgstr "Parameternavn" -#: part/models.py:3624 +#: part/models.py:3667 msgid "Physical units for this parameter" msgstr "Fysisk enheter for denne parameteren" -#: part/models.py:3632 +#: part/models.py:3675 msgid "Parameter description" msgstr "Parameterbeskrivelse" -#: part/models.py:3638 templates/js/translated/part.js:1627 +#: part/models.py:3681 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "Sjekkboks" -#: part/models.py:3639 +#: part/models.py:3682 msgid "Is this parameter a checkbox?" msgstr "Er dette parameteret en sjekkboks?" -#: part/models.py:3644 templates/js/translated/part.js:1636 +#: part/models.py:3687 templates/js/translated/part.js:1636 msgid "Choices" msgstr "Valg" -#: part/models.py:3645 +#: part/models.py:3688 msgid "Valid choices for this parameter (comma-separated)" msgstr "Gyldige valg for denne parameteren (kommaseparert)" -#: part/models.py:3722 +#: part/models.py:3765 msgid "Invalid choice for parameter value" msgstr "Ugyldig valg for parameterverdi" -#: part/models.py:3765 +#: part/models.py:3808 msgid "Parent Part" msgstr "Overordnet del" -#: part/models.py:3773 part/models.py:3874 part/models.py:3875 +#: part/models.py:3816 part/models.py:3917 part/models.py:3918 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "Parametermal" -#: part/models.py:3778 +#: part/models.py:3821 msgid "Data" msgstr "" -#: part/models.py:3779 +#: part/models.py:3822 msgid "Parameter Value" msgstr "Parameterverdi" -#: part/models.py:3881 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3924 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "Standardverdi" -#: part/models.py:3882 +#: part/models.py:3925 msgid "Default Parameter Value" msgstr "Standard Parameterverdi" -#: part/models.py:3920 +#: part/models.py:3963 msgid "Part ID or part name" msgstr "Del-ID eller delnavn" -#: part/models.py:3921 +#: part/models.py:3964 msgid "Unique part ID value" msgstr "Unik del-ID-verdi" -#: part/models.py:3923 +#: part/models.py:3966 msgid "Part IPN value" msgstr "Delens interne delnummerverdi" -#: part/models.py:3924 +#: part/models.py:3967 msgid "Level" msgstr "Nivå" -#: part/models.py:3924 +#: part/models.py:3967 msgid "BOM level" msgstr "BOM-nivå" -#: part/models.py:4014 +#: part/models.py:4057 msgid "Select parent part" msgstr "Velg overordnet del" -#: part/models.py:4024 +#: part/models.py:4067 msgid "Sub part" msgstr "Underordnet del" -#: part/models.py:4025 +#: part/models.py:4068 msgid "Select part to be used in BOM" msgstr "Velg del som skal brukes i BOM" -#: part/models.py:4036 +#: part/models.py:4079 msgid "BOM quantity for this BOM item" msgstr "BOM-antall for denne BOM-artikkelen" -#: part/models.py:4042 +#: part/models.py:4085 msgid "This BOM item is optional" msgstr "Denne BOM-artikkelen er valgfri" -#: part/models.py:4048 +#: part/models.py:4091 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "Denne BOM-artikkelen er forbruksvare (den spores ikke i produksjonsordrer)" -#: part/models.py:4055 part/templates/part/upload_bom.html:55 +#: part/models.py:4098 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Svinn" -#: part/models.py:4056 +#: part/models.py:4099 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Forventet produksjonssvinn (absolutt eller prosent)" -#: part/models.py:4063 +#: part/models.py:4106 msgid "BOM item reference" msgstr "BOM-artikkelreferanse" -#: part/models.py:4071 +#: part/models.py:4114 msgid "BOM item notes" msgstr "BOM-artikkelnotater" -#: part/models.py:4077 +#: part/models.py:4120 msgid "Checksum" msgstr "Kontrollsum" -#: part/models.py:4078 +#: part/models.py:4121 msgid "BOM line checksum" msgstr "BOM-linje kontrollsum" -#: part/models.py:4083 templates/js/translated/table_filters.js:174 +#: part/models.py:4126 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "Godkjent" -#: part/models.py:4084 +#: part/models.py:4127 msgid "This BOM item has been validated" msgstr "Denne BOM-artikkelen er godkjent" -#: part/models.py:4089 part/templates/part/upload_bom.html:57 +#: part/models.py:4132 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "Arves" -#: part/models.py:4090 +#: part/models.py:4133 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "Denne BOM-artikkelen er arvet fra stykkliste for variantdeler" -#: part/models.py:4095 part/templates/part/upload_bom.html:56 +#: part/models.py:4138 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "Tillat Varianter" -#: part/models.py:4096 +#: part/models.py:4139 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Lagervarer for variantdeler kan brukes for denne BOM-artikkelen" -#: part/models.py:4181 stock/models.py:647 +#: part/models.py:4224 stock/models.py:668 msgid "Quantity must be integer value for trackable parts" msgstr "Antall må være heltallsverdi for sporbare deler" -#: part/models.py:4191 part/models.py:4193 +#: part/models.py:4234 part/models.py:4236 msgid "Sub part must be specified" msgstr "Underordnet del må angis" -#: part/models.py:4333 +#: part/models.py:4376 msgid "BOM Item Substitute" msgstr "BOM-artikkel erstatning" -#: part/models.py:4354 +#: part/models.py:4397 msgid "Substitute part cannot be the same as the master part" msgstr "Erstatningsdel kan ikke være samme som hoveddelen" -#: part/models.py:4367 +#: part/models.py:4410 msgid "Parent BOM item" msgstr "Overordnet BOM-artikkel" -#: part/models.py:4375 +#: part/models.py:4418 msgid "Substitute part" msgstr "Erstatningsdel" -#: part/models.py:4391 +#: part/models.py:4434 msgid "Part 1" msgstr "Del 1" -#: part/models.py:4399 +#: part/models.py:4442 msgid "Part 2" msgstr "Del 2" -#: part/models.py:4400 +#: part/models.py:4443 msgid "Select Related Part" msgstr "Velg relatert del" -#: part/models.py:4419 +#: part/models.py:4462 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:4424 +#: part/models.py:4467 msgid "Duplicate relationship already exists" msgstr "Duplikatforhold eksisterer allerede" @@ -6854,7 +6808,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:406 +#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:535 msgid "Purchase currency of this stock item" msgstr "Innkjøpsvaluta for lagervaren" @@ -6870,299 +6824,299 @@ msgstr "Ingen deler valgt" msgid "Select category" msgstr "Velg kategori" -#: part/serializers.py:437 +#: part/serializers.py:442 msgid "Original Part" msgstr "Original Del" -#: part/serializers.py:438 +#: part/serializers.py:443 msgid "Select original part to duplicate" msgstr "Velg original del å duplisere" -#: part/serializers.py:443 +#: part/serializers.py:448 msgid "Copy Image" msgstr "Kopier Bilde" -#: part/serializers.py:444 +#: part/serializers.py:449 msgid "Copy image from original part" msgstr "Kopier bilde fra originaldel" -#: part/serializers.py:450 part/templates/part/detail.html:277 +#: part/serializers.py:455 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "Kopier Stykkliste" -#: part/serializers.py:451 +#: part/serializers.py:456 msgid "Copy bill of materials from original part" msgstr "Kopier stykkliste fra original del" -#: part/serializers.py:457 +#: part/serializers.py:462 msgid "Copy Parameters" msgstr "Kopier parametere" -#: part/serializers.py:458 +#: part/serializers.py:463 msgid "Copy parameter data from original part" msgstr "Kopier parameterdata fra originaldel" -#: part/serializers.py:464 +#: part/serializers.py:469 msgid "Copy Notes" msgstr "Kopier notater" -#: part/serializers.py:465 +#: part/serializers.py:470 msgid "Copy notes from original part" msgstr "Kopier notater fra originaldel" -#: part/serializers.py:478 +#: part/serializers.py:488 msgid "Initial Stock Quantity" msgstr "Innledende lagerbeholdning" -#: part/serializers.py:480 +#: part/serializers.py:490 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:487 +#: part/serializers.py:497 msgid "Initial Stock Location" msgstr "Innledende lagerplassering" -#: part/serializers.py:488 +#: part/serializers.py:498 msgid "Specify initial stock location for this Part" msgstr "Angi initiell lagerplasering for denne delen" -#: part/serializers.py:500 +#: part/serializers.py:515 msgid "Select supplier (or leave blank to skip)" msgstr "Velg leverandør (eller la stå tom for å hoppe over)" -#: part/serializers.py:516 +#: part/serializers.py:531 msgid "Select manufacturer (or leave blank to skip)" msgstr "Velg produsent (eller la stå tom for å hoppe over)" -#: part/serializers.py:526 +#: part/serializers.py:541 msgid "Manufacturer part number" msgstr "Produsentens delenummer" -#: part/serializers.py:533 +#: part/serializers.py:548 msgid "Selected company is not a valid supplier" msgstr "Valgt firma er ikke en gyldig leverandør" -#: part/serializers.py:542 +#: part/serializers.py:557 msgid "Selected company is not a valid manufacturer" msgstr "Valgt firma er ikke en gyldig produsent" -#: part/serializers.py:553 +#: part/serializers.py:568 msgid "Manufacturer part matching this MPN already exists" msgstr "Produsentdel som matcher dette MPN-et, finnes allerede" -#: part/serializers.py:560 +#: part/serializers.py:575 msgid "Supplier part matching this SKU already exists" msgstr "Leverandørdel som matcher denne SKU-en, finnes allerede" -#: part/serializers.py:823 +#: part/serializers.py:838 msgid "External Stock" msgstr "" -#: part/serializers.py:825 +#: part/serializers.py:840 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:828 +#: part/serializers.py:843 msgid "Variant Stock" msgstr "" -#: part/serializers.py:856 part/templates/part/copy_part.html:9 +#: part/serializers.py:871 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "Dupliser del" -#: part/serializers.py:857 +#: part/serializers.py:872 msgid "Copy initial data from another Part" msgstr "Kopier innledende data fra en annen del" -#: part/serializers.py:863 templates/js/translated/part.js:102 +#: part/serializers.py:878 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "Innledende lagerbeholdning" -#: part/serializers.py:864 +#: part/serializers.py:879 msgid "Create Part with initial stock quantity" msgstr "Lag en del med innledende lagermengde" -#: part/serializers.py:870 +#: part/serializers.py:885 msgid "Supplier Information" msgstr "Leverandøropplysninger" -#: part/serializers.py:871 +#: part/serializers.py:886 msgid "Add initial supplier information for this part" msgstr "Legg til innledende leverandørinformasjon for denne delen" -#: part/serializers.py:879 +#: part/serializers.py:894 msgid "Copy Category Parameters" msgstr "Kopier kategoriparametre" -#: part/serializers.py:880 +#: part/serializers.py:895 msgid "Copy parameter templates from selected part category" msgstr "Kopier parametermaler fra valgt delkategori" -#: part/serializers.py:885 +#: part/serializers.py:900 msgid "Existing Image" msgstr "Eksisterende bilde" -#: part/serializers.py:886 +#: part/serializers.py:901 msgid "Filename of an existing part image" msgstr "Filnavn for et eksisterende del-bilde" -#: part/serializers.py:903 +#: part/serializers.py:918 msgid "Image file does not exist" msgstr "Bildefilen finnes ikke" -#: part/serializers.py:1109 +#: part/serializers.py:1124 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:1119 +#: part/serializers.py:1134 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:1129 +#: part/serializers.py:1144 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:1135 +#: part/serializers.py:1150 msgid "Exclude External Stock" msgstr "Ekskluder ekstern lagerbeholdning" -#: part/serializers.py:1136 +#: part/serializers.py:1151 msgid "Exclude stock items in external locations" msgstr "Ekskluder lagervarer i eksterne lokasjoner" -#: part/serializers.py:1141 +#: part/serializers.py:1156 msgid "Generate Report" msgstr "Generer rapport" -#: part/serializers.py:1142 +#: part/serializers.py:1157 msgid "Generate report file containing calculated stocktake data" msgstr "Genererer rapport som inneholder beregnede lagerdata" -#: part/serializers.py:1147 +#: part/serializers.py:1162 msgid "Update Parts" msgstr "Oppdater deler" -#: part/serializers.py:1148 +#: part/serializers.py:1163 msgid "Update specified parts with calculated stocktake data" msgstr "Oppdater spesifiserte deler med beregnede lagerbeholdningsdata" -#: part/serializers.py:1156 +#: part/serializers.py:1171 msgid "Stocktake functionality is not enabled" msgstr "Lagerbeholdningsfunksjonalitet er ikke aktivert" -#: part/serializers.py:1262 +#: part/serializers.py:1277 msgid "Override calculated value for minimum price" msgstr "Overstyr beregnet verdi for minimumspris" -#: part/serializers.py:1269 +#: part/serializers.py:1284 msgid "Minimum price currency" msgstr "Valuta for minstepris" -#: part/serializers.py:1277 +#: part/serializers.py:1292 msgid "Override calculated value for maximum price" msgstr "Overstyr beregnet verdi for maksimal pris" -#: part/serializers.py:1284 +#: part/serializers.py:1299 msgid "Maximum price currency" msgstr "Valuta for maksimal pris" -#: part/serializers.py:1313 +#: part/serializers.py:1328 msgid "Update" msgstr "Oppdater" -#: part/serializers.py:1314 +#: part/serializers.py:1329 msgid "Update pricing for this part" msgstr "Oppdater priser for denne delen" -#: part/serializers.py:1337 +#: part/serializers.py:1352 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "Kan ikke konvertere fra gitte valutaer til {default_currency}" -#: part/serializers.py:1344 +#: part/serializers.py:1359 msgid "Minimum price must not be greater than maximum price" msgstr "Minsteprisen kan ikke være større enn maksimal pris" -#: part/serializers.py:1347 +#: part/serializers.py:1362 msgid "Maximum price must not be less than minimum price" msgstr "Maksimal pris kan ikke være mindre enn minstepris" -#: part/serializers.py:1714 +#: part/serializers.py:1729 msgid "Select part to copy BOM from" msgstr "Velg del å kopiere BOM fra" -#: part/serializers.py:1722 +#: part/serializers.py:1737 msgid "Remove Existing Data" msgstr "Fjern eksisterende data" -#: part/serializers.py:1723 +#: part/serializers.py:1738 msgid "Remove existing BOM items before copying" msgstr "Fjern eksisterende BOM-artikler før kopiering" -#: part/serializers.py:1728 +#: part/serializers.py:1743 msgid "Include Inherited" msgstr "Inkluder arvede" -#: part/serializers.py:1729 +#: part/serializers.py:1744 msgid "Include BOM items which are inherited from templated parts" msgstr "Inkluder BOM-artikler som er arvet fra maldeler" -#: part/serializers.py:1734 +#: part/serializers.py:1749 msgid "Skip Invalid Rows" msgstr "Hopp over ugyldige rader" -#: part/serializers.py:1735 +#: part/serializers.py:1750 msgid "Enable this option to skip invalid rows" msgstr "Aktiver dette alternativet for å hoppe over ugyldige rader" -#: part/serializers.py:1740 +#: part/serializers.py:1755 msgid "Copy Substitute Parts" msgstr "Kopier erstatningsdeler" -#: part/serializers.py:1741 +#: part/serializers.py:1756 msgid "Copy substitute parts when duplicate BOM items" msgstr "Kopier erstatningsdeler når BOM-elementer dupliseres" -#: part/serializers.py:1775 +#: part/serializers.py:1790 msgid "Clear Existing BOM" msgstr "Nullstill eksisterende BOM" -#: part/serializers.py:1776 +#: part/serializers.py:1791 msgid "Delete existing BOM items before uploading" msgstr "Fjern eksisterende BOM-artikler før opplastning" -#: part/serializers.py:1806 +#: part/serializers.py:1821 msgid "No part column specified" msgstr "Ingen del-kolonne angitt" -#: part/serializers.py:1850 +#: part/serializers.py:1865 msgid "Multiple matching parts found" msgstr "Flere samsvarende deler funnet" -#: part/serializers.py:1853 +#: part/serializers.py:1868 msgid "No matching part found" msgstr "Ingen samsvarende del funnet" -#: part/serializers.py:1856 +#: part/serializers.py:1871 msgid "Part is not designated as a component" msgstr "Delen er ikke betegnet som en komponent" -#: part/serializers.py:1865 +#: part/serializers.py:1880 msgid "Quantity not provided" msgstr "Antall ikke oppgitt" -#: part/serializers.py:1873 +#: part/serializers.py:1888 msgid "Invalid quantity" msgstr "Ugyldig antall" -#: part/serializers.py:1894 +#: part/serializers.py:1909 msgid "At least one BOM item is required" msgstr "Minst en BOM-artikkel kreves" #: part/stocktake.py:224 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:2085 +#: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "Totalt Antall" @@ -7314,7 +7268,7 @@ msgstr "Legg til lagertellingsinformasjon" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2218 users/models.py:204 +#: templates/js/translated/stock.js:2216 users/models.py:204 msgid "Stocktake" msgstr "Lagertelling" @@ -7412,15 +7366,15 @@ msgstr "Deleleverandører" msgid "Part Manufacturers" msgstr "Deleprodusenter" -#: part/templates/part/detail.html:659 +#: part/templates/part/detail.html:655 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:667 +#: part/templates/part/detail.html:663 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:752 +#: part/templates/part/detail.html:748 msgid "Add Test Result Template" msgstr "" @@ -7479,7 +7433,7 @@ msgstr "Abonner på varsler for denne delen" #: part/templates/part/part_base.html:52 #: stock/templates/stock/item_base.html:62 -#: stock/templates/stock/location.html:74 +#: stock/templates/stock/location.html:74 templates/js/translated/label.js:142 msgid "Print Label" msgstr "Skriv ut etikett" @@ -7501,7 +7455,7 @@ msgstr "Tell delbeholdning" msgid "Transfer part stock" msgstr "Overfør delbeholdning" -#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2293 +#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2292 msgid "Part actions" msgstr "Delhandlinger" @@ -7550,7 +7504,7 @@ msgid "Part is virtual (not a physical part)" msgstr "Delen er virtuall (ikke en fysisk del)" #: part/templates/part/part_base.html:163 -#: part/templates/part/part_base.html:682 +#: part/templates/part/part_base.html:681 msgid "Show Part Details" msgstr "Vis detaljer for del" @@ -7573,7 +7527,7 @@ msgid "Minimum stock level" msgstr "Minimalt lagerbeholdningsnivå" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2444 +#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2443 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7596,19 +7550,19 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:512 +#: part/templates/part/part_base.html:511 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:529 +#: part/templates/part/part_base.html:528 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:580 +#: part/templates/part/part_base.html:579 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:676 +#: part/templates/part/part_base.html:675 msgid "Hide Part Details" msgstr "" @@ -7667,8 +7621,8 @@ msgstr "Varianter" #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 -#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 -#: templates/js/translated/stock.js:2072 templates/navbar.html:31 +#: templates/js/translated/part.js:2391 templates/js/translated/stock.js:1059 +#: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "Lagerbeholdning" @@ -7714,7 +7668,7 @@ msgstr "Rediger" #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 -#: templates/js/translated/stock.js:2248 +#: templates/js/translated/stock.js:2246 msgid "Last Updated" msgstr "Sist oppdatert" @@ -7786,7 +7740,7 @@ msgid "Update Pricing" msgstr "" #: part/templates/part/stock_count.html:7 -#: templates/js/translated/model_renderers.js:221 +#: templates/js/translated/model_renderers.js:227 #: templates/js/translated/part.js:704 templates/js/translated/part.js:2140 #: templates/js/translated/part.js:2142 msgid "No Stock" @@ -7866,7 +7820,7 @@ msgstr "Bilde for del ikke funnet" msgid "Part Pricing" msgstr "Delprising" -#: plugin/api.py:168 +#: plugin/api.py:170 msgid "Plugin cannot be deleted as it is currently active" msgstr "" @@ -7933,7 +7887,7 @@ msgid "Stock item does not match line item" msgstr "Lagervare samsvarer ikke med linjeelement" #: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2589 -#: templates/js/translated/sales_order.js:1917 +#: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "Utilstrekkelig lagerbeholdning" @@ -8027,22 +7981,18 @@ msgstr "Forsendelsen er allerede levert" msgid "Quantity to allocate" msgstr "Antall å tildele" -#: plugin/base/label/label.py:39 +#: plugin/base/label/label.py:39 templates/js/translated/label.js:154 msgid "Label printing failed" msgstr "Utskrift av etikett mislyktes" -#: plugin/base/label/mixins.py:63 +#: plugin/base/label/mixins.py:56 msgid "Error rendering label to PDF" msgstr "" -#: plugin/base/label/mixins.py:76 +#: plugin/base/label/mixins.py:70 msgid "Error rendering label to HTML" msgstr "" -#: plugin/base/label/mixins.py:111 -msgid "Error rendering label to PNG" -msgstr "" - #: plugin/builtin/barcodes/inventree_barcode.py:25 msgid "InvenTree Barcodes" msgstr "InvenTree-strekkoder" @@ -8054,7 +8004,7 @@ msgstr "Gir innebygd støtte for strekkoder" #: plugin/builtin/barcodes/inventree_barcode.py:28 #: plugin/builtin/integration/core_notifications.py:35 #: plugin/builtin/integration/currency_exchange.py:21 -#: plugin/builtin/labels/inventree_label.py:23 +#: plugin/builtin/labels/inventree_label.py:22 #: plugin/builtin/labels/inventree_machine.py:64 #: plugin/builtin/labels/label_sheet.py:63 #: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 @@ -8108,19 +8058,19 @@ msgstr "InvenTree valutautveksling" msgid "Default currency exchange integration" msgstr "Standard valutaintegrasjon" -#: plugin/builtin/labels/inventree_label.py:20 +#: plugin/builtin/labels/inventree_label.py:19 msgid "InvenTree PDF label printer" msgstr "InvenTree PDF etikettskriver" -#: plugin/builtin/labels/inventree_label.py:21 +#: plugin/builtin/labels/inventree_label.py:20 msgid "Provides native support for printing PDF labels" msgstr "Gir innebygd støtte for å skrive ut PDF-etiketter" -#: plugin/builtin/labels/inventree_label.py:29 +#: plugin/builtin/labels/inventree_label.py:28 msgid "Debug mode" msgstr "Feilsøkingsmodus" -#: plugin/builtin/labels/inventree_label.py:30 +#: plugin/builtin/labels/inventree_label.py:29 msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "Aktiver feilsøkingsmodus - returnerer rå HTML i stedet for PDF" @@ -8132,11 +8082,11 @@ msgstr "" msgid "Provides support for printing using a machine" msgstr "" -#: plugin/builtin/labels/inventree_machine.py:150 +#: plugin/builtin/labels/inventree_machine.py:151 msgid "last used" msgstr "" -#: plugin/builtin/labels/inventree_machine.py:167 +#: plugin/builtin/labels/inventree_machine.py:168 msgid "Options" msgstr "" @@ -8160,7 +8110,7 @@ msgstr "Kantlinjer" msgid "Print a border around each label" msgstr "Skriv ut en kant rundt hver etikett" -#: plugin/builtin/labels/label_sheet.py:47 report/models.py:209 +#: plugin/builtin/labels/label_sheet.py:47 report/models.py:308 msgid "Landscape" msgstr "Liggende" @@ -8176,11 +8126,11 @@ msgstr "InvenTree etikett-ark skriver" msgid "Arrays multiple labels onto a single sheet" msgstr "Sprer ut flere etiketter på ett enkelt ark" -#: plugin/builtin/labels/label_sheet.py:94 +#: plugin/builtin/labels/label_sheet.py:99 msgid "Label is too large for page size" msgstr "Etiketten er for stor for sidestørrelse" -#: plugin/builtin/labels/label_sheet.py:128 +#: plugin/builtin/labels/label_sheet.py:133 msgid "No labels were generated" msgstr "Ingen etiketter ble generert" @@ -8273,61 +8223,62 @@ msgstr "" msgid "Uninstalled plugin successfully" msgstr "" -#: plugin/models.py:30 +#: plugin/models.py:35 msgid "Plugin Configuration" msgstr "Konfigurasjon av utvidelse" -#: plugin/models.py:31 +#: plugin/models.py:36 msgid "Plugin Configurations" msgstr "Konfigurasjon av utvidelser" -#: plugin/models.py:34 users/models.py:100 +#: plugin/models.py:42 users/models.py:100 msgid "Key" msgstr "Nøkkel" -#: plugin/models.py:34 +#: plugin/models.py:43 msgid "Key of plugin" msgstr "Utvidelsens \"Key\"" -#: plugin/models.py:42 +#: plugin/models.py:51 msgid "PluginName of the plugin" msgstr "Navn på utvidelsen" -#: plugin/models.py:49 plugin/serializers.py:90 +#: plugin/models.py:58 plugin/serializers.py:90 msgid "Package Name" msgstr "Pakkenavn" -#: plugin/models.py:51 +#: plugin/models.py:60 msgid "Name of the installed package, if the plugin was installed via PIP" msgstr "" -#: plugin/models.py:56 +#: plugin/models.py:65 msgid "Is the plugin active" msgstr "Er utvidelsen aktiv" -#: plugin/models.py:147 templates/js/translated/table_filters.js:370 +#: plugin/models.py:156 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "Installert" -#: plugin/models.py:156 +#: plugin/models.py:165 msgid "Sample plugin" msgstr "Eksempel-utvidelse" -#: plugin/models.py:164 +#: plugin/models.py:173 msgid "Builtin Plugin" msgstr "Innebygd utvidelse" -#: plugin/models.py:172 +#: plugin/models.py:181 msgid "Package Plugin" msgstr "" -#: plugin/models.py:196 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:205 report/models.py:475 +#: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" msgstr "Utvidelse" -#: plugin/models.py:243 +#: plugin/models.py:252 msgid "Method" msgstr "Metode" @@ -8468,239 +8419,323 @@ msgstr "" msgid "Delete the plugin configuration from the database" msgstr "" -#: report/api.py:158 +#: report/api.py:77 msgid "No valid objects provided to template" msgstr "Ingen gyldige objekter angitt for mal" -#: report/api.py:197 report/api.py:234 +#: report/api.py:89 report/serializers.py:53 +msgid "Model Type" +msgstr "" + +#: report/api.py:92 report/models.py:439 report/serializers.py:98 +#: report/serializers.py:148 templates/js/translated/purchase_order.js:1747 +#: templates/js/translated/return_order.js:353 +#: templates/js/translated/sales_order.js:887 +#: templates/js/translated/sales_order.js:1047 +msgid "Items" +msgstr "" + +#: report/api.py:168 +msgid "Plugin not found" +msgstr "" + +#: report/api.py:170 +msgid "Plugin is not active" +msgstr "" + +#: report/api.py:172 +msgid "Plugin does not support label printing" +msgstr "" + +#: report/api.py:221 +msgid "Invalid label dimensions" +msgstr "" + +#: report/api.py:236 report/api.py:316 +msgid "No valid items provided to template" +msgstr "" + +#: report/api.py:271 +msgid "Error printing label" +msgstr "" + +#: report/api.py:362 report/api.py:398 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "Malfil '{template}' mangler eller eksisterer ikke" -#: report/api.py:319 -msgid "Test report" -msgstr "Testrapport" - -#: report/helpers.py:15 +#: report/helpers.py:41 msgid "A4" msgstr "" -#: report/helpers.py:16 +#: report/helpers.py:42 msgid "A3" msgstr "" -#: report/helpers.py:17 +#: report/helpers.py:43 msgid "Legal" msgstr "" -#: report/helpers.py:18 +#: report/helpers.py:44 msgid "Letter" msgstr "" -#: report/models.py:177 +#: report/models.py:118 +msgid "Template file with this name already exists" +msgstr "" + +#: report/models.py:150 msgid "Template name" msgstr "Malnavn" -#: report/models.py:183 -msgid "Report template file" -msgstr "Rapportmalfil" +#: report/models.py:156 +msgid "Template description" +msgstr "" -#: report/models.py:190 -msgid "Report template description" -msgstr "Beskrivelse av rapportmal" +#: report/models.py:162 +msgid "Revision number (auto-increments)" +msgstr "" -#: report/models.py:196 -msgid "Report revision number (auto-increments)" -msgstr "Rapportrevisjonsnummer (øker automatisk)" +#: report/models.py:202 +msgid "Filename Pattern" +msgstr "Filnavnmønster" -#: report/models.py:204 +#: report/models.py:203 +msgid "Pattern for generating filenames" +msgstr "" + +#: report/models.py:208 +msgid "Template is enabled" +msgstr "" + +#: report/models.py:214 +msgid "Target model type for template" +msgstr "" + +#: report/models.py:234 +msgid "Filters" +msgstr "Filtre" + +#: report/models.py:235 +msgid "Template query filters (comma-separated list of key=value pairs)" +msgstr "" + +#: report/models.py:295 report/models.py:362 +msgid "Template file" +msgstr "" + +#: report/models.py:303 msgid "Page size for PDF reports" msgstr "Sidestørrelse for PDF-rapporter" -#: report/models.py:210 +#: report/models.py:309 msgid "Render report in landscape orientation" msgstr "Generer rapport i landskapsorientering" -#: report/models.py:318 -msgid "Pattern for generating report filenames" -msgstr "Mønster for å generere rapportfilnavn" +#: report/models.py:368 +msgid "Width [mm]" +msgstr "Bredde [mm]" -#: report/models.py:325 -msgid "Report template is enabled" -msgstr "Rapportmal er aktiver" +#: report/models.py:369 +msgid "Label width, specified in mm" +msgstr "Etikettbredde, spesifisert i mm" -#: report/models.py:347 -msgid "StockItem query filters (comma-separated list of key=value pairs)" -msgstr "Lagervare-søkefilter (kommaseparert liste over nøkkel=verdi-par)" +#: report/models.py:375 +msgid "Height [mm]" +msgstr "Høyde [mm]" -#: report/models.py:354 -msgid "Include Installed Tests" -msgstr "Inkluder installerte tester" +#: report/models.py:376 +msgid "Label height, specified in mm" +msgstr "Etiketthøyde, spesifisert i mm" -#: report/models.py:356 -msgid "Include test results for stock items installed inside assembled item" -msgstr "Inkluder testresultater for lagervarer installert i sammenstilt artikkel" - -#: report/models.py:424 -msgid "Build Filters" -msgstr "Produksjonsfiltre" - -#: report/models.py:425 -msgid "Build query filters (comma-separated list of key=value pairs" -msgstr "Produksjons-søkefilter (kommaseparert liste over nøkkel=verdi-par" - -#: report/models.py:464 -msgid "Part Filters" -msgstr "Delfiltre" - -#: report/models.py:465 -msgid "Part query filters (comma-separated list of key=value pairs" -msgstr "Del-søkefilter (kommaseparert liste over nøkkel=verdi-par" - -#: report/models.py:497 -msgid "Purchase order query filters" -msgstr "Innkjøpsordre-søkefilter" - -#: report/models.py:533 -msgid "Sales order query filters" -msgstr "Salgsordre-søkefilter" - -#: report/models.py:569 -msgid "Return order query filters" -msgstr "Returordre-søkefilter" - -#: report/models.py:641 -msgid "Snippet file with this name already exists" +#: report/models.py:439 +msgid "Number of items to process" msgstr "" -#: report/models.py:648 +#: report/models.py:445 +msgid "Report generation is complete" +msgstr "" + +#: report/models.py:449 templates/js/translated/build.js:2177 +msgid "Progress" +msgstr "" + +#: report/models.py:449 +msgid "Report generation progress" +msgstr "" + +#: report/models.py:457 +msgid "Report Template" +msgstr "" + +#: report/models.py:464 report/models.py:487 +msgid "Output File" +msgstr "" + +#: report/models.py:465 report/models.py:488 +msgid "Generated output file" +msgstr "" + +#: report/models.py:476 +msgid "Label output plugin" +msgstr "" + +#: report/models.py:480 +msgid "Label Template" +msgstr "" + +#: report/models.py:503 msgid "Snippet" msgstr "Snutt" -#: report/models.py:649 +#: report/models.py:504 msgid "Report snippet file" msgstr "Rapportsnuttfil" -#: report/models.py:656 +#: report/models.py:511 msgid "Snippet file description" msgstr "Filbeskrivelse for snutt" -#: report/models.py:714 -msgid "Asset file with this name already exists" -msgstr "" - -#: report/models.py:722 +#: report/models.py:529 msgid "Asset" msgstr "Ressurs" -#: report/models.py:723 +#: report/models.py:530 msgid "Report asset file" msgstr "Rapportressursfil" -#: report/models.py:730 +#: report/models.py:537 msgid "Asset file description" msgstr "Ressursfilbeskrivelse" -#: report/models.py:752 -msgid "stock location query filters (comma-separated list of key=value pairs)" -msgstr "spørringsfiltre for lagerplassering (kommadelt liste av nøkkel=verdi-par)" +#: report/serializers.py:91 +msgid "Select report template" +msgstr "" + +#: report/serializers.py:99 report/serializers.py:149 +msgid "List of item primary keys to include in the report" +msgstr "" + +#: report/serializers.py:132 +msgid "Select label template" +msgstr "" + +#: report/serializers.py:140 +msgid "Printing Plugin" +msgstr "" + +#: report/serializers.py:141 +msgid "Select plugin to use for label printing" +msgstr "" + +#: report/templates/label/part_label.html:31 +#: report/templates/label/stockitem_qr.html:21 +#: report/templates/label/stocklocation_qr.html:20 +#: templates/allauth_2fa/setup.html:18 +msgid "QR Code" +msgstr "QR-kode" + +#: report/templates/label/part_label_code128.html:31 +#: report/templates/label/stocklocation_qr_and_text.html:31 +#: templates/qr_code.html:7 +msgid "QR code" +msgstr "QR-kode" #: report/templates/report/inventree_bill_of_materials_report.html:133 msgid "Materials needed" msgstr "Nødvendige materialer" -#: report/templates/report/inventree_build_order_base.html:146 +#: report/templates/report/inventree_build_order_report.html:146 msgid "Required For" msgstr "Kreves for" -#: report/templates/report/inventree_po_report_base.html:15 +#: report/templates/report/inventree_purchase_order_report.html:15 msgid "Supplier was deleted" msgstr "Leverandør ble slettet" -#: report/templates/report/inventree_po_report_base.html:30 -#: report/templates/report/inventree_so_report_base.html:30 +#: report/templates/report/inventree_purchase_order_report.html:30 +#: report/templates/report/inventree_sales_order_report.html:30 #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:834 -#: templates/js/translated/purchase_order.js:2116 -#: templates/js/translated/sales_order.js:1837 +#: templates/js/translated/purchase_order.js:2115 +#: templates/js/translated/sales_order.js:1873 msgid "Unit Price" msgstr "Enhetspris" -#: report/templates/report/inventree_po_report_base.html:55 -#: report/templates/report/inventree_return_order_report_base.html:48 -#: report/templates/report/inventree_so_report_base.html:55 +#: report/templates/report/inventree_purchase_order_report.html:55 +#: report/templates/report/inventree_return_order_report.html:48 +#: report/templates/report/inventree_sales_order_report.html:55 msgid "Extra Line Items" 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:2018 -#: templates/js/translated/sales_order.js:1806 +#: report/templates/report/inventree_purchase_order_report.html:72 +#: report/templates/report/inventree_sales_order_report.html:72 +#: templates/js/translated/purchase_order.js:2017 +#: templates/js/translated/sales_order.js:1842 msgid "Total" msgstr "" -#: report/templates/report/inventree_return_order_report_base.html:25 -#: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:809 stock/templates/stock/item_base.html:311 +#: report/templates/report/inventree_return_order_report.html:25 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:830 +#: stock/serializers.py:150 stock/templates/stock/item_base.html:311 #: templates/js/translated/build.js:519 templates/js/translated/build.js:1367 #: templates/js/translated/build.js:2355 -#: templates/js/translated/model_renderers.js:224 -#: templates/js/translated/return_order.js:540 -#: templates/js/translated/return_order.js:724 +#: templates/js/translated/model_renderers.js:230 +#: templates/js/translated/return_order.js:539 +#: templates/js/translated/return_order.js:723 #: templates/js/translated/sales_order.js:315 -#: templates/js/translated/sales_order.js:1611 -#: templates/js/translated/sales_order.js:1696 +#: templates/js/translated/sales_order.js:1647 +#: templates/js/translated/sales_order.js:1732 #: templates/js/translated/stock.js:596 msgid "Serial Number" msgstr "Serienummer" -#: report/templates/report/inventree_slr_report.html:97 +#: report/templates/report/inventree_stock_location_report.html:97 msgid "Stock location items" msgstr "Artikler ved lagerplassering" -#: report/templates/report/inventree_test_report_base.html:21 +#: report/templates/report/inventree_test_report.html:21 msgid "Stock Item Test Report" msgstr "Testrapport for lagervare" -#: report/templates/report/inventree_test_report_base.html:97 +#: report/templates/report/inventree_test_report.html:97 msgid "Test Results" msgstr "Testresultater" -#: report/templates/report/inventree_test_report_base.html:102 +#: report/templates/report/inventree_test_report.html:102 #: templates/js/translated/stock.js:1495 msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2442 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2419 msgid "Result" msgstr "Resultat" -#: report/templates/report/inventree_test_report_base.html:130 +#: report/templates/report/inventree_test_report.html:130 msgid "Pass" msgstr "Bestått" -#: report/templates/report/inventree_test_report_base.html:132 +#: report/templates/report/inventree_test_report.html:132 msgid "Fail" msgstr "Mislykket" -#: report/templates/report/inventree_test_report_base.html:139 +#: report/templates/report/inventree_test_report.html:139 msgid "No result (required)" msgstr "Ingen resultat (obligatorisk)" -#: report/templates/report/inventree_test_report_base.html:141 +#: report/templates/report/inventree_test_report.html:141 msgid "No result" msgstr "Ingen resultat" -#: report/templates/report/inventree_test_report_base.html:154 +#: report/templates/report/inventree_test_report.html:154 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "Installerte artikler" -#: report/templates/report/inventree_test_report_base.html:168 -#: stock/admin.py:162 templates/js/translated/stock.js:700 -#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3113 +#: report/templates/report/inventree_test_report.html:168 stock/admin.py:162 +#: templates/js/translated/stock.js:700 templates/js/translated/stock.js:871 +#: templates/js/translated/stock.js:3110 msgid "Serial" msgstr "Serienummer" @@ -8757,7 +8792,7 @@ msgstr "Leverandørnavn" msgid "Customer ID" msgstr "Kunde-ID" -#: stock/admin.py:201 stock/models.py:789 +#: stock/admin.py:201 stock/models.py:810 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "Installert i" @@ -8782,66 +8817,66 @@ msgstr "Gjennomgang kreves" msgid "Delete on Deplete" msgstr "Slett når oppbrukt" -#: stock/admin.py:256 stock/models.py:883 +#: stock/admin.py:256 stock/models.py:904 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2232 users/models.py:124 +#: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" msgstr "Utløpsdato" -#: stock/api.py:284 +#: stock/api.py:318 msgid "Filter by location depth" msgstr "" -#: stock/api.py:304 +#: stock/api.py:338 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:325 +#: stock/api.py:359 msgid "Parent Location" msgstr "" -#: stock/api.py:326 +#: stock/api.py:360 msgid "Filter by parent location" msgstr "" -#: stock/api.py:579 templates/js/translated/table_filters.js:427 +#: stock/api.py:613 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "Ekstern plassering" -#: stock/api.py:767 +#: stock/api.py:801 msgid "Part Tree" msgstr "Del-tre" -#: stock/api.py:797 +#: stock/api.py:831 msgid "Expiry date before" msgstr "Utløpsdato før" -#: stock/api.py:801 +#: stock/api.py:835 msgid "Expiry date after" msgstr "Utløpsdato etter" -#: stock/api.py:804 stock/templates/stock/item_base.html:439 +#: stock/api.py:838 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "Foreldet" -#: stock/api.py:891 +#: stock/api.py:925 msgid "Quantity is required" msgstr "Antall kreves" -#: stock/api.py:897 +#: stock/api.py:931 msgid "Valid part must be supplied" msgstr "Gyldig del må oppgis" -#: stock/api.py:928 +#: stock/api.py:962 msgid "The given supplier part does not exist" msgstr "Oppgitt leverandørdel eksisterer ikke" -#: stock/api.py:938 +#: stock/api.py:972 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "Leverandørdelen har en pakkestørrelse definert, men flagget \"use_pack_size\" er ikke satt" -#: stock/api.py:969 +#: stock/api.py:1003 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "Serienumre kan ikke angis for en ikke-sporbar del" @@ -8857,477 +8892,517 @@ msgstr "Lagerplasseringstyper" msgid "Default icon for all locations that have no icon set (optional)" msgstr "Standard ikom for alle plasseringer som ikke har satt et ikon (valgfritt)" -#: stock/models.py:125 stock/models.py:771 +#: stock/models.py:127 stock/models.py:792 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Lagerplassering" -#: stock/models.py:126 stock/templates/stock/location.html:179 +#: stock/models.py:128 stock/templates/stock/location.html:186 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "Lagerplasseringer" -#: stock/models.py:158 stock/models.py:932 +#: stock/models.py:170 stock/models.py:953 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "Eier" -#: stock/models.py:159 stock/models.py:933 +#: stock/models.py:171 stock/models.py:954 msgid "Select Owner" msgstr "Velg eier" -#: stock/models.py:167 +#: stock/models.py:179 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "Lagervarer kan ikke knyttes direkte mot en strukturell lagerplassering, men kan knyttes mot underplasseringer." -#: stock/models.py:174 templates/js/translated/stock.js:2784 +#: stock/models.py:186 templates/js/translated/stock.js:2781 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "Ekstern" -#: stock/models.py:175 +#: stock/models.py:187 msgid "This is an external stock location" msgstr "Dette er en ekstern lagerplassering" -#: stock/models.py:181 templates/js/translated/stock.js:2793 +#: stock/models.py:193 templates/js/translated/stock.js:2790 #: templates/js/translated/table_filters.js:246 msgid "Location type" msgstr "Plasseringstype" -#: stock/models.py:185 +#: stock/models.py:197 msgid "Stock location type of this location" msgstr "Lagerplasseringstype for denne plasseringen" -#: stock/models.py:254 +#: stock/models.py:266 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "De kan ikke gjøre denne plasseringen strukturell, da noen lagervarer allerede er plassert i den!" -#: stock/models.py:626 +#: stock/models.py:647 msgid "Stock items cannot be located into structural stock locations!" msgstr "Lagervarer kan ikke plasseres i strukturelle plasseringer!" -#: stock/models.py:653 stock/serializers.py:290 +#: stock/models.py:674 stock/serializers.py:419 msgid "Stock item cannot be created for virtual parts" msgstr "Lagervare kan ikke opprettes for virtuelle deler" -#: stock/models.py:670 +#: stock/models.py:691 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "Deltype ('{self.supplier_part.part}') må være {self.part}" -#: stock/models.py:680 stock/models.py:693 +#: stock/models.py:701 stock/models.py:714 msgid "Quantity must be 1 for item with a serial number" msgstr "Antall må være 1 for produkt med et serienummer" -#: stock/models.py:683 +#: stock/models.py:704 msgid "Serial number cannot be set if quantity greater than 1" msgstr "Serienummeret kan ikke angis hvis antall er større enn 1" -#: stock/models.py:707 +#: stock/models.py:728 msgid "Item cannot belong to itself" msgstr "Elementet kan ikke tilhøre seg selv" -#: stock/models.py:712 +#: stock/models.py:733 msgid "Item must have a build reference if is_building=True" msgstr "Elementet må ha en produksjonsrefereanse om is_building=True" -#: stock/models.py:725 +#: stock/models.py:746 msgid "Build reference does not point to the same part object" msgstr "Produksjonsreferanse peker ikke til samme del-objekt" -#: stock/models.py:741 +#: stock/models.py:762 msgid "Parent Stock Item" msgstr "Overordnet lagervare" -#: stock/models.py:753 +#: stock/models.py:774 msgid "Base part" msgstr "Basisdel" -#: stock/models.py:763 +#: stock/models.py:784 msgid "Select a matching supplier part for this stock item" msgstr "Velg en tilsvarende leverandørdel for denne lagervaren" -#: stock/models.py:775 +#: stock/models.py:796 msgid "Where is this stock item located?" msgstr "Hvor er denne lagervaren plassert?" -#: stock/models.py:783 stock/serializers.py:1351 +#: stock/models.py:804 stock/serializers.py:1480 msgid "Packaging this stock item is stored in" msgstr "Inpakningen denne lagervaren er lagret i" -#: stock/models.py:794 +#: stock/models.py:815 msgid "Is this item installed in another item?" msgstr "Er denne artikkelen montert i en annen artikkel?" -#: stock/models.py:813 +#: stock/models.py:834 msgid "Serial number for this item" msgstr "Serienummer for denne artikkelen" -#: stock/models.py:827 stock/serializers.py:1334 +#: stock/models.py:848 stock/serializers.py:1463 msgid "Batch code for this stock item" msgstr "Batchkode for denne lagervaren" -#: stock/models.py:832 +#: stock/models.py:853 msgid "Stock Quantity" msgstr "Lagerantall" -#: stock/models.py:842 +#: stock/models.py:863 msgid "Source Build" msgstr "Kildeproduksjon" -#: stock/models.py:845 +#: stock/models.py:866 msgid "Build for this stock item" msgstr "Produksjon for denne lagervaren" -#: stock/models.py:852 stock/templates/stock/item_base.html:363 +#: stock/models.py:873 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "Brukt av" -#: stock/models.py:855 +#: stock/models.py:876 msgid "Build order which consumed this stock item" msgstr "Produksjonsordren som brukte denne lagervaren" -#: stock/models.py:864 +#: stock/models.py:885 msgid "Source Purchase Order" msgstr "Kildeinnkjøpsordre" -#: stock/models.py:868 +#: stock/models.py:889 msgid "Purchase order for this stock item" msgstr "Innkjøpsordre for denne lagervaren" -#: stock/models.py:874 +#: stock/models.py:895 msgid "Destination Sales Order" msgstr "Tildelt Salgsordre" -#: stock/models.py:885 +#: stock/models.py:906 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "Utløpsdato for lagervare. Lagerbeholdning vil bli ansett som utløpt etter denne datoen" -#: stock/models.py:903 +#: stock/models.py:924 msgid "Delete on deplete" msgstr "Slett når oppbrukt" -#: stock/models.py:904 +#: stock/models.py:925 msgid "Delete this Stock Item when stock is depleted" msgstr "Slett lagervaren når beholdningen er oppbrukt" -#: stock/models.py:924 +#: stock/models.py:945 msgid "Single unit purchase price at time of purchase" msgstr "Innkjøpspris per enhet på kjøpstidspunktet" -#: stock/models.py:955 +#: stock/models.py:976 msgid "Converted to part" msgstr "Konvertert til del" -#: stock/models.py:1473 +#: stock/models.py:1494 msgid "Part is not set as trackable" msgstr "Delen er ikke angitt som sporbar" -#: stock/models.py:1479 +#: stock/models.py:1500 msgid "Quantity must be integer" msgstr "Antall må være heltall" -#: stock/models.py:1487 +#: stock/models.py:1508 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "Antall kan ikke overstige tilgjengelig lagerbeholdning ({self.quantity})" -#: stock/models.py:1493 +#: stock/models.py:1514 msgid "Serial numbers must be a list of integers" msgstr "Serienumre må være en liste over tall" -#: stock/models.py:1498 +#: stock/models.py:1519 msgid "Quantity does not match serial numbers" msgstr "Antallet stemmer ikke overens med serienumrene" -#: stock/models.py:1506 stock/serializers.py:529 +#: stock/models.py:1527 stock/serializers.py:658 msgid "Serial numbers already exist" msgstr "Seriernummer eksisterer allerede" -#: stock/models.py:1603 +#: stock/models.py:1624 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1621 +#: stock/models.py:1642 msgid "Stock item has been assigned to a sales order" msgstr "Lagervare har blitt tildelt en salgsordre" -#: stock/models.py:1625 +#: stock/models.py:1646 msgid "Stock item is installed in another item" msgstr "Lagervare er montert i en annen artikkel" -#: stock/models.py:1628 +#: stock/models.py:1649 msgid "Stock item contains other items" msgstr "Lagervare inneholder andre artikler" -#: stock/models.py:1631 +#: stock/models.py:1652 msgid "Stock item has been assigned to a customer" msgstr "Lagervare har blitt tildelt til en kunde" -#: stock/models.py:1634 +#: stock/models.py:1655 msgid "Stock item is currently in production" msgstr "Lagervare er for tiden i produksjon" -#: stock/models.py:1637 +#: stock/models.py:1658 msgid "Serialized stock cannot be merged" msgstr "Serialisert lagerbeholdning kan ikke slås sammen" -#: stock/models.py:1644 stock/serializers.py:1240 +#: stock/models.py:1665 stock/serializers.py:1369 msgid "Duplicate stock items" msgstr "Duplisert lagervare" -#: stock/models.py:1648 +#: stock/models.py:1669 msgid "Stock items must refer to the same part" msgstr "Lagervarer må referere til samme del" -#: stock/models.py:1656 +#: stock/models.py:1677 msgid "Stock items must refer to the same supplier part" msgstr "Lagervarer må referere til samme leverandørdel" -#: stock/models.py:1661 +#: stock/models.py:1682 msgid "Stock status codes must match" msgstr "Lagerstatuskoder må være like" -#: stock/models.py:1882 +#: stock/models.py:1903 msgid "StockItem cannot be moved as it is not in stock" msgstr "Lagervare kan ikke flyttes fordi den ikke er på lager" -#: stock/models.py:2345 +#: stock/models.py:2322 msgid "Entry notes" msgstr "Oppføringsnotater" -#: stock/models.py:2410 +#: stock/models.py:2387 msgid "Value must be provided for this test" msgstr "Verdi må angis for denne testen" -#: stock/models.py:2415 +#: stock/models.py:2392 msgid "Attachment must be uploaded for this test" msgstr "Vedlegg må lastes opp for denne testen" -#: stock/models.py:2442 +#: stock/models.py:2419 msgid "Test result" msgstr "Testresultat" -#: stock/models.py:2449 +#: stock/models.py:2426 msgid "Test output value" msgstr "Testens verdi" -#: stock/models.py:2457 +#: stock/models.py:2434 msgid "Test result attachment" msgstr "Vedlegg til testresultat" -#: stock/models.py:2461 +#: stock/models.py:2438 msgid "Test notes" msgstr "Testnotater" -#: stock/models.py:2469 templates/js/translated/stock.js:1548 +#: stock/models.py:2446 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "" -#: stock/models.py:2470 +#: stock/models.py:2447 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2476 +#: stock/models.py:2453 msgid "Started" msgstr "" -#: stock/models.py:2477 +#: stock/models.py:2454 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2483 +#: stock/models.py:2460 msgid "Finished" msgstr "" -#: stock/models.py:2484 +#: stock/models.py:2461 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:100 +#: stock/serializers.py:75 +msgid "Generated batch code" +msgstr "" + +#: stock/serializers.py:84 +msgid "Select build order" +msgstr "" + +#: stock/serializers.py:93 +msgid "Select stock item to generate batch code for" +msgstr "" + +#: stock/serializers.py:102 +msgid "Select location to generate batch code for" +msgstr "" + +#: stock/serializers.py:111 +msgid "Select part to generate batch code for" +msgstr "" + +#: stock/serializers.py:120 +msgid "Select purchase order" +msgstr "" + +#: stock/serializers.py:127 +msgid "Enter quantity for batch code" +msgstr "" + +#: stock/serializers.py:150 +msgid "Generated serial number" +msgstr "" + +#: stock/serializers.py:159 +msgid "Select part to generate serial number for" +msgstr "" + +#: stock/serializers.py:167 +msgid "Quantity of serial numbers to generate" +msgstr "" + +#: stock/serializers.py:229 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:119 +#: stock/serializers.py:248 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:151 +#: stock/serializers.py:280 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:184 +#: stock/serializers.py:313 msgid "Serial number is too large" msgstr "Serienummeret er for høyt" -#: stock/serializers.py:282 +#: stock/serializers.py:411 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "Bruk pakningsstørrelse når du legger til: antall definert er antall pakker" -#: stock/serializers.py:402 +#: stock/serializers.py:531 msgid "Purchase price of this stock item, per unit or pack" msgstr "Innkjøpspris for denne lagervaren, per enhet eller forpakning" -#: stock/serializers.py:464 +#: stock/serializers.py:593 msgid "Enter number of stock items to serialize" msgstr "Angi antall lagervarer som skal serialiseres" -#: stock/serializers.py:477 +#: stock/serializers.py:606 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "Antall kan ikke overstige tilgjengelig lagerbeholdning ({q})" -#: stock/serializers.py:484 +#: stock/serializers.py:613 msgid "Enter serial numbers for new items" msgstr "Angi serienummer for nye artikler" -#: stock/serializers.py:495 stock/serializers.py:1197 stock/serializers.py:1453 +#: stock/serializers.py:624 stock/serializers.py:1326 stock/serializers.py:1582 msgid "Destination stock location" msgstr "Til Lagerplassering" -#: stock/serializers.py:502 +#: stock/serializers.py:631 msgid "Optional note field" msgstr "Valgfritt notatfelt" -#: stock/serializers.py:512 +#: stock/serializers.py:641 msgid "Serial numbers cannot be assigned to this part" msgstr "Serienummer kan ikke tilordnes denne delen" -#: stock/serializers.py:567 +#: stock/serializers.py:696 msgid "Select stock item to install" msgstr "Velg lagervare å montere" -#: stock/serializers.py:574 +#: stock/serializers.py:703 msgid "Quantity to Install" msgstr "Antall å installere" -#: stock/serializers.py:575 +#: stock/serializers.py:704 msgid "Enter the quantity of items to install" msgstr "Angi antallet elementer som skal installeres" -#: stock/serializers.py:580 stock/serializers.py:660 stock/serializers.py:756 -#: stock/serializers.py:806 +#: stock/serializers.py:709 stock/serializers.py:789 stock/serializers.py:885 +#: stock/serializers.py:935 msgid "Add transaction note (optional)" msgstr "Legg til transaksjonsnotat (valgfritt)" -#: stock/serializers.py:588 +#: stock/serializers.py:717 msgid "Quantity to install must be at least 1" msgstr "Antall å installere må være minst 1" -#: stock/serializers.py:596 +#: stock/serializers.py:725 msgid "Stock item is unavailable" msgstr "Lagervaren er utilgjengelig" -#: stock/serializers.py:607 +#: stock/serializers.py:736 msgid "Selected part is not in the Bill of Materials" msgstr "Valgt del er ikke i stykklisten" -#: stock/serializers.py:620 +#: stock/serializers.py:749 msgid "Quantity to install must not exceed available quantity" msgstr "Antall å installere må ikke overskride tilgjengelig antall" -#: stock/serializers.py:655 +#: stock/serializers.py:784 msgid "Destination location for uninstalled item" msgstr "Lagerplassering for den avinstallerte artikkelen" -#: stock/serializers.py:690 +#: stock/serializers.py:819 msgid "Select part to convert stock item into" msgstr "Velg del å konvertere lagervare til" -#: stock/serializers.py:703 +#: stock/serializers.py:832 msgid "Selected part is not a valid option for conversion" msgstr "Valgt del er ikke et gyldig alternativ for konvertering" -#: stock/serializers.py:720 +#: stock/serializers.py:849 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "Kan ikke konvertere lagerprodukt med tildelt leverandørdel" -#: stock/serializers.py:751 +#: stock/serializers.py:880 msgid "Destination location for returned item" msgstr "Lagerplassering for returnert artikkel" -#: stock/serializers.py:788 +#: stock/serializers.py:917 msgid "Select stock items to change status" msgstr "Velg lagervarer for å endre status" -#: stock/serializers.py:794 +#: stock/serializers.py:923 msgid "No stock items selected" msgstr "Ingen lagervarer valgt" -#: stock/serializers.py:890 stock/serializers.py:953 +#: stock/serializers.py:1019 stock/serializers.py:1082 #: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:213 +#: stock/templates/stock/location.html:220 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "Underplasseringer" -#: stock/serializers.py:1069 +#: stock/serializers.py:1198 msgid "Part must be salable" msgstr "Delen må være salgbar" -#: stock/serializers.py:1073 +#: stock/serializers.py:1202 msgid "Item is allocated to a sales order" msgstr "Artikkelen er tildelt en salgsordre" -#: stock/serializers.py:1077 +#: stock/serializers.py:1206 msgid "Item is allocated to a build order" msgstr "Artikkelen er tildelt en produksjonsordre" -#: stock/serializers.py:1101 +#: stock/serializers.py:1230 msgid "Customer to assign stock items" msgstr "Kunde å tilordne lagervarer" -#: stock/serializers.py:1107 +#: stock/serializers.py:1236 msgid "Selected company is not a customer" msgstr "Valgt firma er ikke en kunde" -#: stock/serializers.py:1115 +#: stock/serializers.py:1244 msgid "Stock assignment notes" msgstr "Lagervare-tildelignsnotater" -#: stock/serializers.py:1125 stock/serializers.py:1379 +#: stock/serializers.py:1254 stock/serializers.py:1508 msgid "A list of stock items must be provided" msgstr "En liste av lagervarer må oppgis" -#: stock/serializers.py:1204 +#: stock/serializers.py:1333 msgid "Stock merging notes" msgstr "Notater om lagersammenslåing" -#: stock/serializers.py:1209 +#: stock/serializers.py:1338 msgid "Allow mismatched suppliers" msgstr "Tillat forskjellige leverandører" -#: stock/serializers.py:1210 +#: stock/serializers.py:1339 msgid "Allow stock items with different supplier parts to be merged" msgstr "Tillat lagervarer med forskjellige leverandørdeler å slås sammen" -#: stock/serializers.py:1215 +#: stock/serializers.py:1344 msgid "Allow mismatched status" msgstr "Tillat forskjellig status" -#: stock/serializers.py:1216 +#: stock/serializers.py:1345 msgid "Allow stock items with different status codes to be merged" msgstr "Tillat lagervarer med forskjellige statuskoder å slås sammen" -#: stock/serializers.py:1226 +#: stock/serializers.py:1355 msgid "At least two stock items must be provided" msgstr "Minst to lagervarer må oppgis" -#: stock/serializers.py:1293 +#: stock/serializers.py:1422 msgid "No Change" msgstr "" -#: stock/serializers.py:1322 +#: stock/serializers.py:1451 msgid "StockItem primary key value" msgstr "Lagervare primærnøkkel verdi" -#: stock/serializers.py:1341 +#: stock/serializers.py:1470 msgid "Stock item status code" msgstr "Lagervare statuskode" -#: stock/serializers.py:1369 +#: stock/serializers.py:1498 msgid "Stock transaction notes" msgstr "Lager transaksjonsnotater" @@ -9352,7 +9427,7 @@ msgstr "Testdata" msgid "Test Report" msgstr "Testrapport" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:286 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:282 msgid "Delete Test Data" msgstr "Slett testdata" @@ -9368,15 +9443,15 @@ msgstr "Notater for lagervare" msgid "Installed Stock Items" msgstr "Installerte lagervarer" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3274 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3271 msgid "Install Stock Item" msgstr "Installer lagervare" -#: stock/templates/stock/item.html:274 +#: stock/templates/stock/item.html:270 msgid "Delete all test results for this stock item" msgstr "Slett alle testresultater for denne lagervaren" -#: stock/templates/stock/item.html:304 templates/js/translated/stock.js:1701 +#: stock/templates/stock/item.html:300 templates/js/translated/stock.js:1701 msgid "Add Test Result" msgstr "" @@ -9561,40 +9636,40 @@ msgstr "Denne lagervaren utløper %(item.expiry_date)s" msgid "No stocktake performed" msgstr "Ingen lagertelling utført" -#: stock/templates/stock/item_base.html:507 -#: templates/js/translated/stock.js:1954 +#: stock/templates/stock/item_base.html:504 +#: templates/js/translated/stock.js:1952 msgid "stock item" msgstr "" -#: stock/templates/stock/item_base.html:532 +#: stock/templates/stock/item_base.html:527 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:541 +#: stock/templates/stock/item_base.html:536 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:552 +#: stock/templates/stock/item_base.html:547 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:616 +#: stock/templates/stock/item_base.html:611 msgid "Select one of the part variants listed below." msgstr "Velg en av variantdelene oppført under." -#: stock/templates/stock/item_base.html:619 +#: stock/templates/stock/item_base.html:614 msgid "Warning" msgstr "Advarsel" -#: stock/templates/stock/item_base.html:620 +#: stock/templates/stock/item_base.html:615 msgid "This action cannot be easily undone" msgstr "Denne handlingen er vanskelig å omgjøre" -#: stock/templates/stock/item_base.html:628 +#: stock/templates/stock/item_base.html:623 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:662 +#: stock/templates/stock/item_base.html:657 msgid "Return to Stock" msgstr "" @@ -9658,28 +9733,32 @@ msgstr "Plasseringens Eier" msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "Du er ikke i listen over eiere av denne plasseringen. Denne lagerplasseringen kan ikke redigeres." -#: stock/templates/stock/location.html:217 +#: stock/templates/stock/location.html:176 +msgid "Location Type" +msgstr "" + +#: stock/templates/stock/location.html:224 msgid "Create new stock location" msgstr "Opprett ny lagerplassering" -#: stock/templates/stock/location.html:218 +#: stock/templates/stock/location.html:225 msgid "New Location" msgstr "Ny plassering" -#: stock/templates/stock/location.html:287 -#: templates/js/translated/stock.js:2575 +#: stock/templates/stock/location.html:295 +#: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:315 +#: stock/templates/stock/location.html:317 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:388 +#: stock/templates/stock/location.html:390 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:399 +#: stock/templates/stock/location.html:401 msgid "Link Barcode to Stock Location" msgstr "" @@ -9949,11 +10028,11 @@ msgstr "URL-segment" msgid "Part Settings" msgstr "Innstillinger for del" -#: templates/InvenTree/settings/part.html:42 +#: templates/InvenTree/settings/part.html:43 msgid "Part Import" msgstr "Import av Del" -#: templates/InvenTree/settings/part.html:46 +#: templates/InvenTree/settings/part.html:47 msgid "Import Part" msgstr "Importér Del" @@ -10174,7 +10253,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:424 +#: templates/js/translated/stock.js:245 users/models.py:411 msgid "Delete" msgstr "Slett" @@ -10283,7 +10362,7 @@ msgid "Home Page" msgstr "Startside" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2159 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2163 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" @@ -10874,7 +10953,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:3218 +#: templates/js/translated/part.js:3217 msgid "Minimum Quantity" msgstr "Minimum antall" @@ -11254,7 +11333,7 @@ msgid "External stock" msgstr "" #: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2595 -#: templates/js/translated/sales_order.js:1910 +#: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" @@ -11264,7 +11343,7 @@ msgstr "" #: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 #: templates/js/translated/part.js:1256 -#: templates/js/translated/sales_order.js:1907 +#: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" @@ -11519,17 +11598,17 @@ msgstr "" #: templates/js/translated/build.js:1576 #: templates/js/translated/purchase_order.js:611 -#: templates/js/translated/sales_order.js:1171 +#: templates/js/translated/sales_order.js:1207 msgid "Select Parts" msgstr "" #: templates/js/translated/build.js:1577 -#: templates/js/translated/sales_order.js:1172 +#: templates/js/translated/sales_order.js:1208 msgid "You must select at least one part to allocate" msgstr "" #: templates/js/translated/build.js:1640 -#: templates/js/translated/sales_order.js:1121 +#: templates/js/translated/sales_order.js:1157 msgid "Specify stock allocation quantity" msgstr "" @@ -11542,7 +11621,7 @@ msgid "All selected parts have been fully allocated" msgstr "" #: templates/js/translated/build.js:1732 -#: templates/js/translated/sales_order.js:1186 +#: templates/js/translated/sales_order.js:1222 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -11551,12 +11630,12 @@ msgid "Allocate Stock Items to Build Order" msgstr "" #: templates/js/translated/build.js:1771 -#: templates/js/translated/sales_order.js:1283 +#: templates/js/translated/sales_order.js:1319 msgid "No matching stock locations" msgstr "" #: templates/js/translated/build.js:1844 -#: templates/js/translated/sales_order.js:1362 +#: templates/js/translated/sales_order.js:1398 msgid "No matching stock items" msgstr "" @@ -11589,9 +11668,9 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 -#: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 -#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 -#: templates/js/translated/stock.js:1985 templates/js/translated/stock.js:2713 +#: templates/js/translated/forms.js:2159 templates/js/translated/forms.js:2175 +#: templates/js/translated/part.js:2315 templates/js/translated/part.js:2741 +#: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "" @@ -11599,21 +11678,17 @@ msgstr "" msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2177 -msgid "Progress" -msgstr "" - -#: templates/js/translated/build.js:2213 templates/js/translated/stock.js:3045 +#: templates/js/translated/build.js:2213 templates/js/translated/stock.js:3042 msgid "No user information" msgstr "" #: templates/js/translated/build.js:2389 -#: templates/js/translated/sales_order.js:1646 +#: templates/js/translated/sales_order.js:1682 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:2390 -#: templates/js/translated/sales_order.js:1647 +#: templates/js/translated/sales_order.js:1683 msgid "Delete stock allocation" msgstr "" @@ -11647,7 +11722,7 @@ msgid "Unit Quantity" msgstr "" #: templates/js/translated/build.js:2591 -#: templates/js/translated/sales_order.js:1915 +#: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" @@ -11664,7 +11739,7 @@ msgid "Allocate tracked items against individual build outputs" msgstr "" #: templates/js/translated/build.js:2662 -#: templates/js/translated/sales_order.js:2016 +#: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "" @@ -11673,7 +11748,7 @@ msgid "Order stock" msgstr "" #: templates/js/translated/build.js:2671 -#: templates/js/translated/sales_order.js:2010 +#: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "" @@ -11923,12 +11998,12 @@ msgid "Delete price break" msgstr "" #: templates/js/translated/filters.js:186 -#: templates/js/translated/filters.js:672 +#: templates/js/translated/filters.js:667 msgid "true" msgstr "" #: templates/js/translated/filters.js:190 -#: templates/js/translated/filters.js:673 +#: templates/js/translated/filters.js:668 msgid "false" msgstr "" @@ -11960,7 +12035,7 @@ msgstr "" msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:582 +#: templates/js/translated/filters.js:577 msgid "Create filter" msgstr "" @@ -11993,32 +12068,32 @@ msgstr "" msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1473 templates/modals.html:19 +#: templates/js/translated/forms.js:1477 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "Skjemafeil eksisterer" -#: templates/js/translated/forms.js:1971 +#: templates/js/translated/forms.js:1975 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2275 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2279 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2489 +#: templates/js/translated/forms.js:2493 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3091 +#: templates/js/translated/forms.js:3095 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3091 +#: templates/js/translated/forms.js:3095 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3103 +#: templates/js/translated/forms.js:3107 msgid "Select Columns" msgstr "" @@ -12042,51 +12117,15 @@ msgstr "" msgid "No parts required for builds" msgstr "" -#: templates/js/translated/label.js:53 templates/js/translated/report.js:123 +#: templates/js/translated/label.js:55 templates/js/translated/report.js:38 msgid "Select Items" msgstr "" -#: templates/js/translated/label.js:54 +#: templates/js/translated/label.js:56 templates/js/translated/report.js:39 msgid "No items selected for printing" msgstr "" -#: templates/js/translated/label.js:72 -msgid "No Labels Found" -msgstr "" - -#: templates/js/translated/label.js:73 -msgid "No label templates found which match the selected items" -msgstr "" - -#: templates/js/translated/label.js:97 -msgid "selected" -msgstr "" - -#: templates/js/translated/label.js:133 -msgid "Printing Options" -msgstr "" - -#: templates/js/translated/label.js:148 -msgid "Print label" -msgstr "" - -#: templates/js/translated/label.js:148 -msgid "Print labels" -msgstr "" - #: templates/js/translated/label.js:149 -msgid "Print" -msgstr "" - -#: templates/js/translated/label.js:155 -msgid "Select label template" -msgstr "" - -#: templates/js/translated/label.js:168 -msgid "Select plugin" -msgstr "" - -#: templates/js/translated/label.js:187 msgid "Labels sent to printer" msgstr "" @@ -12204,7 +12243,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1991 +#: templates/js/translated/purchase_order.js:1990 msgid "No line items found" msgstr "" @@ -12442,19 +12481,19 @@ msgid "Delete Part Parameter Template" msgstr "" #: templates/js/translated/part.js:1716 -#: templates/js/translated/purchase_order.js:1655 +#: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1860 -#: templates/js/translated/purchase_order.js:2154 -#: templates/js/translated/return_order.js:756 -#: templates/js/translated/sales_order.js:1875 +#: templates/js/translated/purchase_order.js:2153 +#: templates/js/translated/return_order.js:755 +#: templates/js/translated/sales_order.js:1911 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1906 -#: templates/js/translated/purchase_order.js:2221 +#: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "" @@ -12466,7 +12505,7 @@ msgstr "" msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2506 +#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2505 msgid "No parts found" msgstr "" @@ -12482,101 +12521,101 @@ msgstr "" msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2286 msgid "part" msgstr "" -#: templates/js/translated/part.js:2288 +#: templates/js/translated/part.js:2287 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2384 +#: templates/js/translated/part.js:2383 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 -#: templates/js/translated/stock.js:2672 +#: templates/js/translated/part.js:2530 templates/js/translated/part.js:2660 +#: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2547 +#: templates/js/translated/part.js:2546 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2645 +#: templates/js/translated/part.js:2644 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2692 +#: templates/js/translated/part.js:2680 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2761 +#: templates/js/translated/part.js:2760 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2777 +#: templates/js/translated/part.js:2776 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2864 +#: templates/js/translated/part.js:2863 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2886 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2885 templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2935 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2941 +#: templates/js/translated/part.js:2940 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2957 +#: templates/js/translated/part.js:2956 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2971 +#: templates/js/translated/part.js:2970 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3050 templates/js/translated/part.js:3051 +#: templates/js/translated/part.js:3049 templates/js/translated/part.js:3050 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3053 +#: templates/js/translated/part.js:3052 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3059 +#: templates/js/translated/part.js:3058 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3109 +#: templates/js/translated/part.js:3108 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3115 +#: templates/js/translated/part.js:3114 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3211 +#: templates/js/translated/part.js:3210 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3227 +#: templates/js/translated/part.js:3226 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3272 +#: templates/js/translated/part.js:3271 msgid "Minimum Stock Level" msgstr "" @@ -12702,7 +12741,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:448 #: templates/js/translated/return_order.js:210 -#: templates/js/translated/sales_order.js:500 +#: templates/js/translated/sales_order.js:552 msgid "Mark this order as complete?" msgstr "" @@ -12715,7 +12754,6 @@ msgid "This order has line items which have not been marked as received." msgstr "" #: templates/js/translated/purchase_order.js:460 -#: templates/js/translated/sales_order.js:514 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" @@ -12773,12 +12811,12 @@ msgid "No matching purchase orders" msgstr "" #: templates/js/translated/purchase_order.js:1073 -#: templates/js/translated/return_order.js:491 +#: templates/js/translated/return_order.js:490 msgid "Select Line Items" msgstr "" #: templates/js/translated/purchase_order.js:1074 -#: templates/js/translated/return_order.js:492 +#: templates/js/translated/return_order.js:491 msgid "At least one line item must be selected" msgstr "" @@ -12827,7 +12865,7 @@ msgid "Quantity to Receive" msgstr "" #: templates/js/translated/purchase_order.js:1333 -#: templates/js/translated/return_order.js:561 +#: templates/js/translated/return_order.js:560 msgid "Confirm receipt of items" msgstr "" @@ -12847,81 +12885,66 @@ msgstr "" msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1682 -#: templates/js/translated/return_order.js:286 -#: templates/js/translated/sales_order.js:774 -#: templates/js/translated/sales_order.js:998 +#: templates/js/translated/purchase_order.js:1681 +#: templates/js/translated/return_order.js:285 +#: templates/js/translated/sales_order.js:810 +#: templates/js/translated/sales_order.js:1034 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1748 -#: templates/js/translated/return_order.js:354 -#: templates/js/translated/sales_order.js:851 -#: templates/js/translated/sales_order.js:1011 -msgid "Items" -msgstr "" - -#: templates/js/translated/purchase_order.js:1844 +#: templates/js/translated/purchase_order.js:1843 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1862 +#: templates/js/translated/purchase_order.js:1861 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1917 -#: templates/js/translated/sales_order.js:2070 +#: templates/js/translated/purchase_order.js:1916 +#: templates/js/translated/sales_order.js:2106 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1932 -#: templates/js/translated/return_order.js:476 -#: templates/js/translated/return_order.js:669 -#: templates/js/translated/sales_order.js:2083 +#: templates/js/translated/purchase_order.js:1931 +#: templates/js/translated/return_order.js:475 +#: templates/js/translated/return_order.js:668 +#: templates/js/translated/sales_order.js:2119 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1943 -#: templates/js/translated/return_order.js:682 -#: templates/js/translated/sales_order.js:2094 +#: templates/js/translated/purchase_order.js:1942 +#: templates/js/translated/return_order.js:681 +#: templates/js/translated/sales_order.js:2130 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2225 -#: templates/js/translated/sales_order.js:2024 +#: templates/js/translated/purchase_order.js:2224 +#: templates/js/translated/sales_order.js:2060 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2226 -#: templates/js/translated/return_order.js:801 -#: templates/js/translated/sales_order.js:2025 +#: templates/js/translated/purchase_order.js:2225 +#: templates/js/translated/return_order.js:800 +#: templates/js/translated/sales_order.js:2061 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2227 -#: templates/js/translated/return_order.js:805 -#: templates/js/translated/sales_order.js:2031 +#: templates/js/translated/purchase_order.js:2226 +#: templates/js/translated/return_order.js:804 +#: templates/js/translated/sales_order.js:2067 msgid "Delete line item" msgstr "" -#: templates/js/translated/report.js:63 -msgid "items selected" +#: templates/js/translated/report.js:49 +msgid "Print Report" msgstr "" -#: templates/js/translated/report.js:71 -msgid "Select Report Template" +#: templates/js/translated/report.js:68 +msgid "Report print successful" msgstr "" -#: templates/js/translated/report.js:86 -msgid "Select Test Report Template" -msgstr "" - -#: templates/js/translated/report.js:140 -msgid "No Reports Found" -msgstr "" - -#: templates/js/translated/report.js:141 -msgid "No report templates found which match the selected items" +#: templates/js/translated/report.js:73 +msgid "Report printing failed" msgstr "" #: templates/js/translated/return_order.js:60 @@ -12953,25 +12976,25 @@ msgstr "" msgid "Complete Return Order" msgstr "" -#: templates/js/translated/return_order.js:266 +#: templates/js/translated/return_order.js:265 msgid "No return orders found" msgstr "" -#: templates/js/translated/return_order.js:300 -#: templates/js/translated/sales_order.js:788 +#: templates/js/translated/return_order.js:299 +#: templates/js/translated/sales_order.js:824 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/return_order.js:562 +#: templates/js/translated/return_order.js:561 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:693 -#: templates/js/translated/sales_order.js:2231 +#: templates/js/translated/return_order.js:692 +#: templates/js/translated/sales_order.js:2267 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:798 +#: templates/js/translated/return_order.js:797 msgid "Mark item as received" msgstr "" @@ -13015,140 +13038,156 @@ msgstr "" msgid "Skip" msgstr "" +#: templates/js/translated/sales_order.js:484 +msgid "Ship Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:500 +msgid "Ship this order?" +msgstr "" + +#: templates/js/translated/sales_order.js:506 +msgid "Order cannot be shipped as there are incomplete shipments" +msgstr "" + #: templates/js/translated/sales_order.js:513 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/sales_order.js:535 +#: templates/js/translated/sales_order.js:514 +msgid "Shipping this order means that the order and line items will no longer be editable." +msgstr "" + +#: templates/js/translated/sales_order.js:572 msgid "Issue this Sales Order?" msgstr "" -#: templates/js/translated/sales_order.js:540 +#: templates/js/translated/sales_order.js:577 msgid "Issue Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:559 +#: templates/js/translated/sales_order.js:596 msgid "Cancel Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:564 +#: templates/js/translated/sales_order.js:601 msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: templates/js/translated/sales_order.js:618 +#: templates/js/translated/sales_order.js:655 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/sales_order.js:728 +#: templates/js/translated/sales_order.js:764 msgid "No sales orders found" msgstr "" -#: templates/js/translated/sales_order.js:908 +#: templates/js/translated/sales_order.js:944 msgid "Edit shipment" msgstr "" -#: templates/js/translated/sales_order.js:911 +#: templates/js/translated/sales_order.js:947 msgid "Complete shipment" msgstr "" -#: templates/js/translated/sales_order.js:916 +#: templates/js/translated/sales_order.js:952 msgid "Delete shipment" msgstr "" -#: templates/js/translated/sales_order.js:933 +#: templates/js/translated/sales_order.js:969 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/sales_order.js:948 +#: templates/js/translated/sales_order.js:984 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:981 +#: templates/js/translated/sales_order.js:1017 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/sales_order.js:1006 +#: templates/js/translated/sales_order.js:1042 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/sales_order.js:1030 -#: templates/js/translated/sales_order.js:1529 +#: templates/js/translated/sales_order.js:1066 +#: templates/js/translated/sales_order.js:1565 msgid "Not shipped" msgstr "" -#: templates/js/translated/sales_order.js:1048 +#: templates/js/translated/sales_order.js:1084 msgid "Tracking" msgstr "" -#: templates/js/translated/sales_order.js:1052 +#: templates/js/translated/sales_order.js:1088 msgid "Invoice" msgstr "" -#: templates/js/translated/sales_order.js:1219 +#: templates/js/translated/sales_order.js:1255 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1270 +#: templates/js/translated/sales_order.js:1306 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/sales_order.js:1271 +#: templates/js/translated/sales_order.js:1307 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1477 +#: templates/js/translated/sales_order.js:1513 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1569 +#: templates/js/translated/sales_order.js:1605 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1583 +#: templates/js/translated/sales_order.js:1619 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/sales_order.js:1584 +#: templates/js/translated/sales_order.js:1620 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1623 -#: templates/js/translated/sales_order.js:1710 +#: templates/js/translated/sales_order.js:1659 +#: templates/js/translated/sales_order.js:1746 #: templates/js/translated/stock.js:1776 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/sales_order.js:1631 -#: templates/js/translated/sales_order.js:1719 +#: templates/js/translated/sales_order.js:1667 +#: templates/js/translated/sales_order.js:1755 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:2008 +#: templates/js/translated/sales_order.js:2044 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/sales_order.js:2012 +#: templates/js/translated/sales_order.js:2048 msgid "Purchase stock" msgstr "" -#: templates/js/translated/sales_order.js:2021 -#: templates/js/translated/sales_order.js:2209 +#: templates/js/translated/sales_order.js:2057 +#: templates/js/translated/sales_order.js:2245 msgid "Calculate price" msgstr "" -#: templates/js/translated/sales_order.js:2035 +#: templates/js/translated/sales_order.js:2071 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:2038 +#: templates/js/translated/sales_order.js:2074 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:2109 +#: templates/js/translated/sales_order.js:2145 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/sales_order.js:2217 +#: templates/js/translated/sales_order.js:2253 msgid "Update Unit Price" msgstr "" @@ -13356,7 +13395,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1042 users/models.py:414 +#: templates/js/translated/stock.js:1042 users/models.py:401 msgid "Add" msgstr "Legg til" @@ -13372,7 +13411,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1180 templates/js/translated/stock.js:3302 +#: templates/js/translated/stock.js:1180 templates/js/translated/stock.js:3299 msgid "Select Stock Items" msgstr "" @@ -13456,196 +13495,196 @@ msgstr "" msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:1955 +#: templates/js/translated/stock.js:1953 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1960 +#: templates/js/translated/stock.js:1958 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:1971 +#: templates/js/translated/stock.js:1969 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:2015 +#: templates/js/translated/stock.js:2013 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2093 +#: templates/js/translated/stock.js:2091 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2098 +#: templates/js/translated/stock.js:2096 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2101 +#: templates/js/translated/stock.js:2099 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2104 +#: templates/js/translated/stock.js:2102 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2106 +#: templates/js/translated/stock.js:2104 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2108 +#: templates/js/translated/stock.js:2106 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2111 +#: templates/js/translated/stock.js:2109 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2113 +#: templates/js/translated/stock.js:2111 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2117 +#: templates/js/translated/stock.js:2115 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2119 +#: templates/js/translated/stock.js:2117 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2124 +#: templates/js/translated/stock.js:2122 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2126 +#: templates/js/translated/stock.js:2124 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2128 +#: templates/js/translated/stock.js:2126 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2132 +#: templates/js/translated/stock.js:2130 #: templates/js/translated/table_filters.js:350 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2297 +#: templates/js/translated/stock.js:2295 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2344 +#: templates/js/translated/stock.js:2342 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2472 +#: templates/js/translated/stock.js:2470 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2576 +#: templates/js/translated/stock.js:2573 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2731 +#: templates/js/translated/stock.js:2728 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2849 +#: templates/js/translated/stock.js:2846 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2853 +#: templates/js/translated/stock.js:2850 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2865 +#: templates/js/translated/stock.js:2862 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2887 +#: templates/js/translated/stock.js:2884 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2904 +#: templates/js/translated/stock.js:2901 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2919 +#: templates/js/translated/stock.js:2916 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2936 +#: templates/js/translated/stock.js:2933 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:2950 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2972 +#: templates/js/translated/stock.js:2969 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2990 +#: templates/js/translated/stock.js:2987 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:3008 +#: templates/js/translated/stock.js:3005 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:3016 +#: templates/js/translated/stock.js:3013 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3088 +#: templates/js/translated/stock.js:3085 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3142 templates/js/translated/stock.js:3178 +#: templates/js/translated/stock.js:3139 templates/js/translated/stock.js:3175 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3200 +#: templates/js/translated/stock.js:3197 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3221 +#: templates/js/translated/stock.js:3218 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3222 +#: templates/js/translated/stock.js:3219 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3224 +#: templates/js/translated/stock.js:3221 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3225 +#: templates/js/translated/stock.js:3222 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3226 +#: templates/js/translated/stock.js:3223 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3227 +#: templates/js/translated/stock.js:3224 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3240 +#: templates/js/translated/stock.js:3237 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3303 +#: templates/js/translated/stock.js:3300 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3316 +#: templates/js/translated/stock.js:3313 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3320 +#: templates/js/translated/stock.js:3317 msgid "Change Stock Status" msgstr "" @@ -14247,34 +14286,35 @@ msgstr "Sist gang tokenet ble brukt" msgid "Revoked" msgstr "Tilbakekalt" -#: users/models.py:397 +#: users/models.py:384 msgid "Permission set" msgstr "Tillatelse satt" -#: users/models.py:406 +#: users/models.py:393 msgid "Group" msgstr "Gruppe" -#: users/models.py:410 +#: users/models.py:397 msgid "View" msgstr "Visning" -#: users/models.py:410 +#: users/models.py:397 msgid "Permission to view items" msgstr "Tillatelse til å se elementer" -#: users/models.py:414 +#: users/models.py:401 msgid "Permission to add items" msgstr "Tillatelse til å legge til elementer" -#: users/models.py:418 +#: users/models.py:405 msgid "Change" msgstr "Endre" -#: users/models.py:420 +#: users/models.py:407 msgid "Permissions to edit items" msgstr "Tillatelse til å endre elementer" -#: users/models.py:426 +#: users/models.py:413 msgid "Permission to delete items" msgstr "Tillatelse til å slette elementer" + diff --git a/src/backend/InvenTree/locale/pl/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/pl/LC_MESSAGES/django.po index 7b37c9eef9..1af5bec90d 100644 --- a/src/backend/InvenTree/locale/pl/LC_MESSAGES/django.po +++ b/src/backend/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: 2024-05-10 05:37+0000\n" -"PO-Revision-Date: 2024-05-10 08:31\n" +"POT-Creation-Date: 2024-05-23 11:25+0000\n" +"PO-Revision-Date: 2024-05-23 11:39\n" "Last-Translator: \n" "Language-Team: Polish\n" "Language: pl_PL\n" @@ -17,11 +17,11 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 216\n" -#: InvenTree/api.py:271 +#: InvenTree/api.py:272 msgid "API endpoint not found" msgstr "Nie znaleziono punktu końcowego API" -#: InvenTree/api.py:535 +#: InvenTree/api.py:536 msgid "User does not have permission to view this model" msgstr "Użytkownik nie ma uprawnień do przeglądania tego modelu" @@ -56,26 +56,26 @@ msgstr "Szczegóły błędu można znaleźć w panelu administracyjnym" msgid "Enter date" msgstr "Wprowadź dane" -#: InvenTree/fields.py:208 InvenTree/models.py:1021 build/serializers.py:444 -#: build/serializers.py:522 build/templates/build/sidebar.html:21 +#: InvenTree/fields.py:208 InvenTree/models.py:1035 build/serializers.py:443 +#: build/serializers.py:521 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 -#: order/models.py:1283 order/templates/order/po_sidebar.html:11 +#: order/models.py:1323 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:59 -#: part/models.py:3175 part/templates/part/part_sidebar.html:63 -#: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:226 stock/models.py:2344 stock/models.py:2461 -#: stock/serializers.py:501 stock/serializers.py:659 stock/serializers.py:755 -#: stock/serializers.py:805 stock/serializers.py:1114 stock/serializers.py:1203 -#: stock/serializers.py:1368 stock/templates/stock/stock_sidebar.html:25 +#: part/models.py:3218 part/templates/part/part_sidebar.html:63 +#: report/templates/report/inventree_build_order_report.html:172 +#: stock/admin.py:226 stock/models.py:2321 stock/models.py:2438 +#: stock/serializers.py:630 stock/serializers.py:788 stock/serializers.py:884 +#: stock/serializers.py:934 stock/serializers.py:1243 stock/serializers.py:1332 +#: stock/serializers.py:1497 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1080 -#: templates/js/translated/purchase_order.js:2201 -#: templates/js/translated/return_order.js:776 -#: templates/js/translated/sales_order.js:1067 -#: templates/js/translated/sales_order.js:1982 -#: templates/js/translated/stock.js:1536 templates/js/translated/stock.js:2430 +#: templates/js/translated/purchase_order.js:2200 +#: templates/js/translated/return_order.js:775 +#: templates/js/translated/sales_order.js:1103 +#: templates/js/translated/sales_order.js:2018 +#: templates/js/translated/stock.js:1536 templates/js/translated/stock.js:2428 msgid "Notes" msgstr "Uwagi" @@ -132,7 +132,7 @@ msgstr "Podany e-mail domeny nie został zatwierdzony." msgid "Registration is disabled." msgstr "Rejestracja jest wyłączona." -#: InvenTree/helpers.py:525 order/models.py:541 order/models.py:743 +#: InvenTree/helpers.py:525 order/models.py:563 order/models.py:765 msgid "Invalid quantity provided" msgstr "Podano nieprawidłową ilość" @@ -355,142 +355,142 @@ msgstr "Adres E-Mail" msgid "Error running plugin validation" msgstr "Błąd podczas walidacji wtyczki" -#: InvenTree/models.py:162 +#: InvenTree/models.py:176 msgid "Metadata must be a python dict object" msgstr "Metadane muszą być obiektem typu dict w Python" -#: InvenTree/models.py:168 +#: InvenTree/models.py:182 msgid "Plugin Metadata" msgstr "Wtyczka Metadane" -#: InvenTree/models.py:169 +#: InvenTree/models.py:183 msgid "JSON metadata field, for use by external plugins" msgstr "Pole metadanych JSON, do użycia przez wtyczki zewnętrzne" -#: InvenTree/models.py:399 +#: InvenTree/models.py:413 msgid "Improperly formatted pattern" msgstr "Nieprawidłowo sformatowany wzór" -#: InvenTree/models.py:406 +#: InvenTree/models.py:420 msgid "Unknown format key specified" msgstr "Określono nieznany format klucza" -#: InvenTree/models.py:412 +#: InvenTree/models.py:426 msgid "Missing required format key" msgstr "Brak wymaganego formatu klucza" -#: InvenTree/models.py:423 +#: InvenTree/models.py:437 msgid "Reference field cannot be empty" msgstr "Pole odniesienia nie może być puste" -#: InvenTree/models.py:431 +#: InvenTree/models.py:445 msgid "Reference must match required pattern" msgstr "Odniesienie musi być zgodne z wymaganym wzorem" -#: InvenTree/models.py:462 +#: InvenTree/models.py:476 msgid "Reference number is too large" msgstr "Numer odniesienia jest zbyt duży" -#: InvenTree/models.py:536 +#: InvenTree/models.py:550 msgid "Missing file" msgstr "Brak pliku" -#: InvenTree/models.py:537 +#: InvenTree/models.py:551 msgid "Missing external link" msgstr "Brak zewnętrznego odnośnika" -#: InvenTree/models.py:558 stock/models.py:2456 +#: InvenTree/models.py:572 stock/models.py:2433 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" msgstr "Załącznik" -#: InvenTree/models.py:559 +#: InvenTree/models.py:573 msgid "Select file to attach" msgstr "Wybierz plik do załączenia" -#: InvenTree/models.py:567 common/models.py:3026 company/models.py:146 +#: InvenTree/models.py:581 common/models.py:3032 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 -#: order/models.py:291 order/models.py:1288 order/models.py:1704 -#: part/admin.py:55 part/models.py:919 +#: order/models.py:304 order/models.py:1328 order/models.py:1744 +#: part/admin.py:55 part/models.py:962 #: part/templates/part/part_scheduling.html:11 -#: report/templates/report/inventree_build_order_base.html:164 +#: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2456 -#: templates/js/translated/purchase_order.js:2041 -#: templates/js/translated/purchase_order.js:2205 -#: templates/js/translated/return_order.js:780 -#: templates/js/translated/sales_order.js:1056 -#: templates/js/translated/sales_order.js:1987 +#: templates/js/translated/part.js:2455 +#: templates/js/translated/purchase_order.js:2040 +#: templates/js/translated/purchase_order.js:2204 +#: templates/js/translated/return_order.js:779 +#: templates/js/translated/sales_order.js:1092 +#: templates/js/translated/sales_order.js:2023 msgid "Link" msgstr "Łącze" -#: InvenTree/models.py:568 build/models.py:321 part/models.py:920 -#: stock/models.py:819 +#: InvenTree/models.py:582 build/models.py:344 part/models.py:963 +#: stock/models.py:840 msgid "Link to external URL" msgstr "Link do zewnętrznego adresu URL" -#: InvenTree/models.py:574 templates/js/translated/attachment.js:120 +#: InvenTree/models.py:588 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:341 msgid "Comment" msgstr "Komentarz" -#: InvenTree/models.py:575 +#: InvenTree/models.py:589 msgid "File comment" msgstr "Komentarz pliku" -#: InvenTree/models.py:583 InvenTree/models.py:584 common/models.py:2502 -#: common/models.py:2503 common/models.py:2727 common/models.py:2728 -#: common/models.py:2973 common/models.py:2974 part/models.py:3185 -#: part/models.py:3272 part/models.py:3365 part/models.py:3393 -#: plugin/models.py:250 plugin/models.py:251 -#: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3039 users/models.py:111 +#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2508 +#: common/models.py:2509 common/models.py:2733 common/models.py:2734 +#: common/models.py:2979 common/models.py:2980 part/models.py:3228 +#: part/models.py:3315 part/models.py:3408 part/models.py:3436 +#: plugin/models.py:259 plugin/models.py:260 +#: report/templates/report/inventree_test_report.html:105 +#: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" msgstr "Użytkownik" -#: InvenTree/models.py:588 +#: InvenTree/models.py:602 msgid "upload date" msgstr "data przesłania" -#: InvenTree/models.py:610 +#: InvenTree/models.py:624 msgid "Filename must not be empty" msgstr "Nazwa pliku nie może być pusta" -#: InvenTree/models.py:621 +#: InvenTree/models.py:635 msgid "Invalid attachment directory" msgstr "Nieprawidłowy katalog załącznika" -#: InvenTree/models.py:651 +#: InvenTree/models.py:665 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "Nazwa pliku zawiera niedozwolony znak '{c}'" -#: InvenTree/models.py:654 +#: InvenTree/models.py:668 msgid "Filename missing extension" msgstr "Brak rozszerzenia w nazwie pliku" -#: InvenTree/models.py:663 +#: InvenTree/models.py:677 msgid "Attachment with this filename already exists" msgstr "Załącznik o tej nazwie już istnieje" -#: InvenTree/models.py:670 +#: InvenTree/models.py:684 msgid "Error renaming file" msgstr "Błąd zmiany nazwy pliku" -#: InvenTree/models.py:846 +#: InvenTree/models.py:860 msgid "Duplicate names cannot exist under the same parent" msgstr "Duplikaty nazw nie mogą istnieć pod tym samym rodzicem" -#: InvenTree/models.py:863 +#: InvenTree/models.py:877 msgid "Invalid choice" msgstr "Błędny wybór" -#: InvenTree/models.py:893 common/models.py:2714 common/models.py:3112 -#: common/serializers.py:403 company/models.py:614 label/models.py:120 -#: machine/models.py:24 part/models.py:855 part/models.py:3616 -#: plugin/models.py:41 report/models.py:176 stock/models.py:76 +#: InvenTree/models.py:907 common/models.py:2720 common/models.py:3118 +#: common/serializers.py:403 company/models.py:614 machine/models.py:24 +#: part/models.py:898 part/models.py:3659 plugin/models.py:50 +#: report/models.py:149 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -503,22 +503,22 @@ msgstr "Błędny wybór" #: templates/js/translated/company.js:1165 #: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186 #: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2719 +#: templates/js/translated/part.js:2748 templates/js/translated/stock.js:2716 msgid "Name" msgstr "Nazwa" -#: InvenTree/models.py:899 build/models.py:194 +#: InvenTree/models.py:913 build/models.py:217 #: build/templates/build/detail.html:24 common/models.py:136 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 label/models.py:127 -#: order/models.py:277 order/models.py:1316 part/admin.py:303 part/admin.py:414 -#: part/models.py:878 part/models.py:3631 part/templates/part/category.html:82 +#: company/templates/company/supplier_part.html:107 order/models.py:290 +#: order/models.py:1356 part/admin.py:305 part/admin.py:416 part/models.py:921 +#: part/models.py:3674 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 -#: part/templates/part/part_scheduling.html:12 report/models.py:189 -#: report/models.py:655 report/models.py:729 -#: report/templates/report/inventree_build_order_base.html:117 +#: part/templates/part/part_scheduling.html:12 report/models.py:155 +#: report/models.py:510 report/models.py:536 +#: report/templates/report/inventree_build_order_report.html:117 #: stock/admin.py:55 stock/models.py:82 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 @@ -530,71 +530,71 @@ msgstr "Nazwa" #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 -#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2896 +#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2354 +#: templates/js/translated/part.js:2784 templates/js/translated/part.js:2895 #: templates/js/translated/plugin.js:80 -#: templates/js/translated/purchase_order.js:1707 -#: templates/js/translated/purchase_order.js:1850 -#: templates/js/translated/purchase_order.js:2023 -#: templates/js/translated/return_order.js:314 -#: templates/js/translated/sales_order.js:802 -#: templates/js/translated/sales_order.js:1812 -#: templates/js/translated/stock.js:1515 templates/js/translated/stock.js:2060 -#: templates/js/translated/stock.js:2751 templates/js/translated/stock.js:2834 +#: templates/js/translated/purchase_order.js:1706 +#: templates/js/translated/purchase_order.js:1849 +#: templates/js/translated/purchase_order.js:2022 +#: templates/js/translated/return_order.js:313 +#: templates/js/translated/sales_order.js:838 +#: templates/js/translated/sales_order.js:1848 +#: templates/js/translated/stock.js:1515 templates/js/translated/stock.js:2058 +#: templates/js/translated/stock.js:2748 templates/js/translated/stock.js:2831 msgid "Description" msgstr "Opis" -#: InvenTree/models.py:900 stock/models.py:83 +#: InvenTree/models.py:914 stock/models.py:83 msgid "Description (optional)" msgstr "Opis (opcjonalny)" -#: InvenTree/models.py:909 +#: InvenTree/models.py:923 msgid "parent" msgstr "nadrzędny" -#: InvenTree/models.py:915 templates/js/translated/part.js:2794 -#: templates/js/translated/stock.js:2760 +#: InvenTree/models.py:929 templates/js/translated/part.js:2793 +#: templates/js/translated/stock.js:2757 msgid "Path" msgstr "Ścieżka" -#: InvenTree/models.py:1021 +#: InvenTree/models.py:1035 msgid "Markdown notes (optional)" msgstr "Notatki Markdown (opcjonalne)" -#: InvenTree/models.py:1050 +#: InvenTree/models.py:1064 msgid "Barcode Data" msgstr "Dane kodu kreskowego" -#: InvenTree/models.py:1051 +#: InvenTree/models.py:1065 msgid "Third party barcode data" msgstr "Dane kodu kreskowego stron trzecich" -#: InvenTree/models.py:1057 +#: InvenTree/models.py:1071 msgid "Barcode Hash" msgstr "Hasz kodu kreskowego" -#: InvenTree/models.py:1058 +#: InvenTree/models.py:1072 msgid "Unique hash of barcode data" msgstr "Unikalny hasz danych kodu kreskowego" -#: InvenTree/models.py:1111 +#: InvenTree/models.py:1125 msgid "Existing barcode found" msgstr "Znaleziono istniejący kod kreskowy" -#: InvenTree/models.py:1154 +#: InvenTree/models.py:1168 msgid "Server Error" msgstr "Błąd serwera" -#: InvenTree/models.py:1155 +#: InvenTree/models.py:1169 msgid "An error has been logged by the server." msgstr "Błąd został zapisany w logach serwera." -#: InvenTree/serializers.py:62 part/models.py:4169 +#: InvenTree/serializers.py:62 part/models.py:4212 msgid "Must be a valid number" msgstr "Numer musi być prawidłowy" #: InvenTree/serializers.py:99 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:2993 +#: company/templates/company/company_base.html:112 part/models.py:3036 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -686,7 +686,7 @@ msgstr "Adres URL zdalnego pliku obrazu" msgid "Downloading images from remote URL is not enabled" msgstr "Pobieranie obrazów ze zdalnego URL nie jest włączone" -#: InvenTree/status.py:66 part/serializers.py:1161 +#: InvenTree/status.py:66 part/serializers.py:1176 msgid "Background worker check failed" msgstr "Sprawdzenie robotnika w tle nie powiodło się" @@ -699,8 +699,8 @@ msgid "InvenTree system health checks failed" msgstr "Sprawdzanie poziomu zdrowia InvenTree nie powiodło się" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:37 -#: InvenTree/status_codes.py:148 InvenTree/status_codes.py:164 -#: InvenTree/status_codes.py:182 generic/states/tests.py:17 +#: InvenTree/status_codes.py:149 InvenTree/status_codes.py:165 +#: InvenTree/status_codes.py:183 generic/states/tests.py:17 #: templates/js/translated/table_filters.js:598 msgid "Pending" msgstr "W toku" @@ -709,188 +709,188 @@ msgstr "W toku" msgid "Placed" msgstr "Umieszczony" -#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:151 -#: InvenTree/status_codes.py:169 generic/states/tests.py:19 -#: order/templates/order/order_base.html:158 -#: order/templates/order/sales_order_base.html:161 +#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:44 +#: InvenTree/status_codes.py:152 InvenTree/status_codes.py:170 +#: generic/states/tests.py:19 order/templates/order/order_base.html:158 +#: order/templates/order/sales_order_base.html:165 report/models.py:444 msgid "Complete" msgstr "Zakończono" -#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:44 -#: InvenTree/status_codes.py:150 InvenTree/status_codes.py:170 +#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:45 +#: InvenTree/status_codes.py:151 InvenTree/status_codes.py:171 msgid "Cancelled" msgstr "Anulowano" -#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:45 -#: InvenTree/status_codes.py:67 +#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:46 +#: InvenTree/status_codes.py:68 msgid "Lost" msgstr "Zagubiono" -#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:46 -#: InvenTree/status_codes.py:73 +#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:47 +#: InvenTree/status_codes.py:74 msgid "Returned" msgstr "Zwrócone" -#: InvenTree/status_codes.py:40 InvenTree/status_codes.py:167 +#: InvenTree/status_codes.py:40 InvenTree/status_codes.py:168 msgid "In Progress" msgstr "W trakcie" -#: InvenTree/status_codes.py:43 order/models.py:1566 -#: templates/js/translated/sales_order.js:1523 -#: templates/js/translated/sales_order.js:1644 -#: templates/js/translated/sales_order.js:1957 +#: InvenTree/status_codes.py:43 order/models.py:1606 +#: templates/js/translated/sales_order.js:1559 +#: templates/js/translated/sales_order.js:1680 +#: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "Wysłane" -#: InvenTree/status_codes.py:62 +#: InvenTree/status_codes.py:63 msgid "OK" msgstr "" -#: InvenTree/status_codes.py:63 +#: InvenTree/status_codes.py:64 msgid "Attention needed" msgstr "Wymaga uwagi" -#: InvenTree/status_codes.py:64 +#: InvenTree/status_codes.py:65 msgid "Damaged" msgstr "Uszkodzone" -#: InvenTree/status_codes.py:65 +#: InvenTree/status_codes.py:66 msgid "Destroyed" msgstr "Zniszczone" -#: InvenTree/status_codes.py:66 +#: InvenTree/status_codes.py:67 msgid "Rejected" msgstr "Odrzucone" -#: InvenTree/status_codes.py:70 +#: InvenTree/status_codes.py:71 msgid "Quarantined" msgstr "Poddany kwarantannie" -#: InvenTree/status_codes.py:91 +#: InvenTree/status_codes.py:92 msgid "Legacy stock tracking entry" msgstr "Starsze śledzenie wpisów stanu magazynowego" -#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:544 +#: InvenTree/status_codes.py:94 templates/js/translated/stock.js:544 msgid "Stock item created" msgstr "Utworzono element magazynowy" -#: InvenTree/status_codes.py:96 +#: InvenTree/status_codes.py:97 msgid "Edited stock item" msgstr "Edytuj pozycję magazynową" -#: InvenTree/status_codes.py:97 +#: InvenTree/status_codes.py:98 msgid "Assigned serial number" msgstr "Przypisano numer seryjny" -#: InvenTree/status_codes.py:100 +#: InvenTree/status_codes.py:101 msgid "Stock counted" msgstr "Zapas policzony" -#: InvenTree/status_codes.py:101 +#: InvenTree/status_codes.py:102 msgid "Stock manually added" msgstr "Zapas dodany ręcznie" -#: InvenTree/status_codes.py:102 +#: InvenTree/status_codes.py:103 msgid "Stock manually removed" msgstr "Zapas usunięty ręcznie" -#: InvenTree/status_codes.py:105 +#: InvenTree/status_codes.py:106 msgid "Location changed" msgstr "Lokalizacja zmieniona" -#: InvenTree/status_codes.py:106 +#: InvenTree/status_codes.py:107 msgid "Stock updated" msgstr "Zaktualizowano stan magazynu" -#: InvenTree/status_codes.py:109 +#: InvenTree/status_codes.py:110 msgid "Installed into assembly" msgstr "Zainstalowano do montażu" -#: InvenTree/status_codes.py:110 +#: InvenTree/status_codes.py:111 msgid "Removed from assembly" msgstr "Usunięto z montażu" -#: InvenTree/status_codes.py:112 +#: InvenTree/status_codes.py:113 msgid "Installed component item" msgstr "Zainstalowano element komponentu" -#: InvenTree/status_codes.py:113 +#: InvenTree/status_codes.py:114 msgid "Removed component item" msgstr "Usunięto element komponentu" -#: InvenTree/status_codes.py:116 +#: InvenTree/status_codes.py:117 msgid "Split from parent item" msgstr "Podziel z pozycji nadrzędnej" -#: InvenTree/status_codes.py:117 +#: InvenTree/status_codes.py:118 msgid "Split child item" msgstr "Podziel element podrzędny" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1858 +#: InvenTree/status_codes.py:121 templates/js/translated/stock.js:1858 msgid "Merged stock items" msgstr "Scalone przedmioty magazynowe" -#: InvenTree/status_codes.py:123 +#: InvenTree/status_codes.py:124 msgid "Converted to variant" msgstr "Przekonwertowano na wariant" -#: InvenTree/status_codes.py:126 +#: InvenTree/status_codes.py:127 msgid "Build order output created" msgstr "Dane wyjściowe kolejności kompilacji utworzone" -#: InvenTree/status_codes.py:127 +#: InvenTree/status_codes.py:128 msgid "Build order output completed" msgstr "Dane wyjściowe kolejności kompilacji ukończone" -#: InvenTree/status_codes.py:128 +#: InvenTree/status_codes.py:129 msgid "Build order output rejected" msgstr "Odrzucono wynik zlecenia produkcji" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1764 +#: InvenTree/status_codes.py:130 templates/js/translated/stock.js:1764 msgid "Consumed by build order" msgstr "Zużyte przez kolejność kompilacji" -#: InvenTree/status_codes.py:132 +#: InvenTree/status_codes.py:133 msgid "Shipped against Sales Order" msgstr "Wysłane na podstawie zlecenia sprzedaży" -#: InvenTree/status_codes.py:135 +#: InvenTree/status_codes.py:136 msgid "Received against Purchase Order" msgstr "Otrzymane na podstawie zlecenia zakupu" -#: InvenTree/status_codes.py:138 +#: InvenTree/status_codes.py:139 msgid "Returned against Return Order" msgstr "Zwrócone na podstawie zlecenia zwrotu" -#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:375 +#: InvenTree/status_codes.py:142 templates/js/translated/table_filters.js:375 msgid "Sent to customer" msgstr "Wyślij do klienta" -#: InvenTree/status_codes.py:142 +#: InvenTree/status_codes.py:143 msgid "Returned from customer" msgstr "Zwrócony od klienta" -#: InvenTree/status_codes.py:149 +#: InvenTree/status_codes.py:150 msgid "Production" msgstr "Produkcja" -#: InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:186 msgid "Return" msgstr "Zwrot" -#: InvenTree/status_codes.py:188 +#: InvenTree/status_codes.py:189 msgid "Repair" msgstr "Naprawa" -#: InvenTree/status_codes.py:191 +#: InvenTree/status_codes.py:192 msgid "Replace" msgstr "Wymiana" -#: InvenTree/status_codes.py:194 +#: InvenTree/status_codes.py:195 msgid "Refund" msgstr "Zwrot pieniędzy" -#: InvenTree/status_codes.py:197 +#: InvenTree/status_codes.py:198 msgid "Reject" msgstr "Odrzuć" @@ -946,14 +946,14 @@ msgstr "O InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Kompilacja musi zostać anulowana, zanim będzie mogła zostać usunięta" -#: build/api.py:299 part/models.py:4047 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4090 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "Materiał eksploatacyjny" -#: build/api.py:300 part/models.py:4041 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4084 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -969,7 +969,7 @@ msgstr "Śledzony" #: build/api.py:303 part/admin.py:144 templates/js/translated/build.js:1744 #: templates/js/translated/build.js:2629 -#: templates/js/translated/sales_order.js:1929 +#: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "Przydzielono" @@ -980,7 +980,7 @@ msgstr "Przydzielono" #: templates/email/low_stock_notification.html:17 #: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 #: templates/js/translated/index.js:123 -#: templates/js/translated/model_renderers.js:228 +#: templates/js/translated/model_renderers.js:234 #: templates/js/translated/part.js:692 templates/js/translated/part.js:694 #: templates/js/translated/part.js:699 #: templates/js/translated/table_filters.js:340 @@ -988,16 +988,16 @@ msgstr "Przydzielono" msgid "Available" msgstr "Dostępne" -#: build/models.py:74 build/templates/build/build_base.html:9 +#: build/models.py:82 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 -#: report/templates/report/inventree_build_order_base.html:105 -#: templates/email/build_order_completed.html:16 +#: report/templates/report/inventree_build_order_report.html:105 +#: stock/serializers.py:83 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2895 +#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2892 msgid "Build Order" msgstr "Zlecenie Budowy" -#: build/models.py:75 build/templates/build/build_base.html:13 +#: build/models.py:83 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -1008,71 +1008,71 @@ msgstr "Zlecenie Budowy" msgid "Build Orders" msgstr "Zlecenia budowy" -#: build/models.py:122 +#: build/models.py:130 msgid "Invalid choice for parent build" msgstr "Nieprawidłowy wybór kompilacji nadrzędnej" -#: build/models.py:133 order/models.py:239 +#: build/models.py:141 order/models.py:241 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:139 +#: build/models.py:147 msgid "Build order part cannot be changed" msgstr "Nie można zmienić elementu kompletacji" -#: build/models.py:185 +#: build/models.py:208 msgid "Build Order Reference" msgstr "Odwołanie do zamówienia wykonania" -#: build/models.py:186 order/models.py:442 order/models.py:898 -#: order/models.py:1276 order/models.py:1998 part/admin.py:417 -#: part/models.py:4062 part/templates/part/upload_bom.html:54 +#: build/models.py:209 order/models.py:464 order/models.py:929 +#: order/models.py:1316 order/models.py:2047 part/admin.py:419 +#: part/models.py:4105 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 -#: report/templates/report/inventree_so_report_base.html:28 +#: report/templates/report/inventree_purchase_order_report.html:28 +#: report/templates/report/inventree_return_order_report.html:26 +#: report/templates/report/inventree_sales_order_report.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 #: templates/js/translated/build.js:2512 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 -#: templates/js/translated/purchase_order.js:2066 -#: templates/js/translated/return_order.js:729 -#: templates/js/translated/sales_order.js:1818 +#: templates/js/translated/purchase_order.js:2065 +#: templates/js/translated/return_order.js:728 +#: templates/js/translated/sales_order.js:1854 msgid "Reference" msgstr "Referencja" -#: build/models.py:197 +#: build/models.py:220 msgid "Brief description of the build (optional)" msgstr "Krótki opis produkcji (opcjonalny)" -#: build/models.py:205 build/templates/build/build_base.html:183 +#: build/models.py:228 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Budowa nadrzędna" -#: build/models.py:206 +#: build/models.py:229 msgid "BuildOrder to which this build is allocated" msgstr "Zamówienie budowy, do którego budowa jest przypisana" -#: build/models.py:211 build/templates/build/build_base.html:97 +#: build/models.py:234 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 -#: order/models.py:1401 order/models.py:1546 order/models.py:1547 -#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004 -#: part/models.py:3148 part/models.py:3292 part/models.py:3315 -#: part/models.py:3336 part/models.py:3358 part/models.py:3468 -#: part/models.py:3764 part/models.py:3920 part/models.py:4013 -#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713 +#: order/models.py:1441 order/models.py:1586 order/models.py:1587 +#: part/api.py:1501 part/api.py:1795 part/models.py:392 part/models.py:3047 +#: part/models.py:3191 part/models.py:3335 part/models.py:3358 +#: part/models.py:3379 part/models.py:3401 part/models.py:3511 +#: part/models.py:3807 part/models.py:3963 part/models.py:4056 +#: part/models.py:4417 part/serializers.py:1122 part/serializers.py:1728 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 -#: report/templates/report/inventree_build_order_base.html:109 -#: report/templates/report/inventree_po_report_base.html:27 -#: report/templates/report/inventree_return_order_report_base.html:24 -#: report/templates/report/inventree_slr_report.html:102 -#: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:267 stock/serializers.py:689 -#: templates/InvenTree/search.html:82 +#: report/templates/report/inventree_build_order_report.html:109 +#: report/templates/report/inventree_purchase_order_report.html:27 +#: report/templates/report/inventree_return_order_report.html:24 +#: report/templates/report/inventree_sales_order_report.html:27 +#: report/templates/report/inventree_stock_location_report.html:102 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:396 +#: stock/serializers.py:818 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -1086,235 +1086,239 @@ msgstr "Zamówienie budowy, do którego budowa jest przypisana" #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 #: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 -#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:2323 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:751 #: templates/js/translated/purchase_order.js:1304 -#: templates/js/translated/purchase_order.js:1849 -#: templates/js/translated/purchase_order.js:2008 -#: templates/js/translated/return_order.js:539 -#: templates/js/translated/return_order.js:710 +#: templates/js/translated/purchase_order.js:1848 +#: templates/js/translated/purchase_order.js:2007 +#: templates/js/translated/return_order.js:538 +#: templates/js/translated/return_order.js:709 #: templates/js/translated/sales_order.js:300 -#: templates/js/translated/sales_order.js:1197 -#: templates/js/translated/sales_order.js:1598 -#: templates/js/translated/sales_order.js:1796 +#: templates/js/translated/sales_order.js:1233 +#: templates/js/translated/sales_order.js:1634 +#: templates/js/translated/sales_order.js:1832 #: templates/js/translated/stock.js:676 templates/js/translated/stock.js:842 -#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1999 -#: templates/js/translated/stock.js:2860 templates/js/translated/stock.js:3093 -#: templates/js/translated/stock.js:3239 +#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1997 +#: templates/js/translated/stock.js:2857 templates/js/translated/stock.js:3090 +#: templates/js/translated/stock.js:3236 msgid "Part" msgstr "Komponent" -#: build/models.py:219 +#: build/models.py:242 msgid "Select part to build" msgstr "Wybierz część do budowy" -#: build/models.py:224 +#: build/models.py:247 msgid "Sales Order Reference" msgstr "Odwołanie do zamówienia sprzedaży" -#: build/models.py:228 +#: build/models.py:251 msgid "SalesOrder to which this build is allocated" msgstr "Zamówienie sprzedaży, do którego budowa jest przypisana" -#: build/models.py:233 build/serializers.py:970 +#: build/models.py:256 build/serializers.py:969 #: templates/js/translated/build.js:1731 -#: templates/js/translated/sales_order.js:1185 +#: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "Lokalizacja źródła" -#: build/models.py:237 +#: build/models.py:260 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Wybierz lokalizację, z której pobrać element do budowy (pozostaw puste, aby wziąć z dowolnej lokalizacji)" -#: build/models.py:242 +#: build/models.py:265 msgid "Destination Location" msgstr "Lokalizacja docelowa" -#: build/models.py:246 +#: build/models.py:269 msgid "Select location where the completed items will be stored" msgstr "Wybierz lokalizację, w której będą przechowywane ukończone elementy" -#: build/models.py:250 +#: build/models.py:273 msgid "Build Quantity" msgstr "Ilość do stworzenia" -#: build/models.py:253 +#: build/models.py:276 msgid "Number of stock items to build" msgstr "Ilość przedmiotów do zbudowania" -#: build/models.py:257 +#: build/models.py:280 msgid "Completed items" msgstr "Ukończone elementy" -#: build/models.py:259 +#: build/models.py:282 msgid "Number of stock items which have been completed" msgstr "Ilość produktów magazynowych które zostały ukończone" -#: build/models.py:263 +#: build/models.py:286 msgid "Build Status" msgstr "Status budowania" -#: build/models.py:267 +#: build/models.py:290 msgid "Build status code" msgstr "Kod statusu budowania" -#: build/models.py:276 build/serializers.py:278 order/serializers.py:581 -#: stock/models.py:823 stock/serializers.py:1333 +#: build/models.py:299 build/serializers.py:277 order/serializers.py:581 +#: stock/models.py:844 stock/serializers.py:75 stock/serializers.py:1462 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Kod partii" -#: build/models.py:280 build/serializers.py:279 +#: build/models.py:303 build/serializers.py:278 msgid "Batch code for this build output" msgstr "Kod partii dla wyjścia budowy" -#: build/models.py:283 order/models.py:304 order/serializers.py:120 -#: part/models.py:1079 part/templates/part/part_base.html:310 -#: templates/js/translated/return_order.js:339 -#: templates/js/translated/sales_order.js:827 +#: build/models.py:306 order/models.py:317 order/serializers.py:120 +#: part/models.py:1122 part/templates/part/part_base.html:310 +#: templates/js/translated/return_order.js:338 +#: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "Data utworzenia" -#: build/models.py:287 +#: build/models.py:310 msgid "Target completion date" msgstr "Docelowy termin zakończenia" -#: build/models.py:288 +#: build/models.py:311 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:291 order/models.py:500 order/models.py:2043 +#: build/models.py:314 order/models.py:522 order/models.py:2092 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "Data zakończenia" -#: build/models.py:297 +#: build/models.py:320 msgid "completed by" msgstr "zrealizowane przez" -#: build/models.py:305 templates/js/translated/build.js:2207 +#: build/models.py:328 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "Wydany przez" -#: build/models.py:306 +#: build/models.py:329 msgid "User who issued this build order" msgstr "Użytkownik, który wydał to zamówienie" -#: build/models.py:314 build/templates/build/build_base.html:204 +#: build/models.py:337 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:145 -#: order/models.py:322 order/templates/order/order_base.html:217 +#: order/models.py:335 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1096 +#: order/templates/order/sales_order_base.html:232 part/models.py:1139 #: part/templates/part/part_base.html:390 -#: report/templates/report/inventree_build_order_base.html:158 +#: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 #: templates/js/translated/build.js:2219 -#: templates/js/translated/purchase_order.js:1764 -#: templates/js/translated/return_order.js:359 +#: templates/js/translated/purchase_order.js:1763 +#: templates/js/translated/return_order.js:358 #: templates/js/translated/table_filters.js:531 msgid "Responsible" msgstr "Odpowiedzialny" -#: build/models.py:315 +#: build/models.py:338 msgid "User or group responsible for this build order" msgstr "Użytkownik lub grupa odpowiedzialna za te zlecenie produkcji" -#: build/models.py:320 build/templates/build/detail.html:108 +#: build/models.py:343 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 -#: order/templates/order/sales_order_base.html:180 -#: part/templates/part/part_base.html:383 stock/models.py:819 +#: order/templates/order/sales_order_base.html:184 +#: part/templates/part/part_base.html:383 stock/models.py:840 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "Link Zewnętrzny" -#: build/models.py:325 +#: build/models.py:348 msgid "Build Priority" msgstr "Priorytet budowy" -#: build/models.py:328 +#: build/models.py:351 msgid "Priority of this build order" msgstr "Priorytet tego zamówienia produkcji" -#: build/models.py:335 common/models.py:129 order/admin.py:18 -#: order/models.py:286 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:358 common/models.py:129 order/admin.py:18 +#: order/models.py:299 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 -#: templates/js/translated/purchase_order.js:1711 -#: templates/js/translated/return_order.js:318 -#: templates/js/translated/sales_order.js:806 +#: templates/js/translated/purchase_order.js:1710 +#: templates/js/translated/return_order.js:317 +#: templates/js/translated/sales_order.js:842 #: templates/js/translated/table_filters.js:48 #: templates/project_code_data.html:6 msgid "Project Code" msgstr "Kod projektu" -#: build/models.py:336 +#: build/models.py:359 msgid "Project code for this build order" msgstr "Kod projektu dla tego zlecenia produkcji" -#: build/models.py:566 build/models.py:631 +#: build/models.py:589 build/models.py:654 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:588 +#: build/models.py:611 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Kolejność kompilacji {build} została zakończona" -#: build/models.py:594 +#: build/models.py:617 msgid "A build order has been completed" msgstr "Kolejność kompilacji została zakończona" -#: build/models.py:820 build/models.py:895 +#: build/models.py:843 build/models.py:918 msgid "No build output specified" msgstr "Nie określono danych wyjściowych budowy" -#: build/models.py:823 +#: build/models.py:846 msgid "Build output is already completed" msgstr "Budowanie wyjścia jest już ukończone" -#: build/models.py:826 +#: build/models.py:849 msgid "Build output does not match Build Order" msgstr "Skompilowane dane wyjściowe nie pasują do kolejności kompilacji" -#: build/models.py:899 build/serializers.py:221 build/serializers.py:260 -#: build/serializers.py:837 order/models.py:538 order/serializers.py:433 -#: order/serializers.py:576 part/serializers.py:1471 part/serializers.py:1871 -#: stock/models.py:662 stock/models.py:1482 stock/serializers.py:472 +#: build/models.py:922 build/serializers.py:220 build/serializers.py:259 +#: build/serializers.py:836 order/models.py:560 order/serializers.py:433 +#: order/serializers.py:576 part/serializers.py:1486 part/serializers.py:1886 +#: stock/models.py:683 stock/models.py:1503 stock/serializers.py:601 msgid "Quantity must be greater than zero" msgstr "Ilość musi być większa niż zero" -#: build/models.py:904 build/serializers.py:226 +#: build/models.py:927 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "Ilość nie może być większa niż ilość wyjściowa" -#: build/models.py:961 build/serializers.py:539 +#: build/models.py:984 build/serializers.py:538 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "Wyjście budowy {serial} nie przeszło wszystkich testów" -#: build/models.py:1323 +#: build/models.py:1335 +msgid "Build Order Line Item" +msgstr "" + +#: build/models.py:1360 msgid "Build object" msgstr "Zbuduj obiekt" -#: build/models.py:1337 build/models.py:1593 build/serializers.py:208 -#: build/serializers.py:245 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2524 -#: order/models.py:1259 order/models.py:1918 order/serializers.py:1339 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 -#: part/forms.py:48 part/models.py:3162 part/models.py:4035 +#: build/models.py:1374 build/models.py:1630 build/serializers.py:207 +#: build/serializers.py:244 build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2530 +#: order/models.py:1299 order/models.py:1958 order/serializers.py:1339 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 +#: part/forms.py:48 part/models.py:3205 part/models.py:4078 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 -#: report/templates/report/inventree_build_order_base.html:113 -#: report/templates/report/inventree_po_report_base.html:29 -#: report/templates/report/inventree_slr_report.html:104 -#: report/templates/report/inventree_so_report_base.html:29 -#: report/templates/report/inventree_test_report_base.html:90 -#: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:160 stock/serializers.py:463 +#: report/templates/report/inventree_build_order_report.html:113 +#: report/templates/report/inventree_purchase_order_report.html:29 +#: report/templates/report/inventree_sales_order_report.html:29 +#: report/templates/report/inventree_stock_location_report.html:104 +#: report/templates/report/inventree_test_report.html:90 +#: report/templates/report/inventree_test_report.html:170 stock/admin.py:160 +#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:592 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1324,380 +1328,381 @@ msgstr "Zbuduj obiekt" #: templates/js/translated/build.js:737 templates/js/translated/build.js:1369 #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 -#: templates/js/translated/model_renderers.js:230 +#: templates/js/translated/model_renderers.js:236 #: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3341 +#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3340 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 #: templates/js/translated/purchase_order.js:754 -#: templates/js/translated/purchase_order.js:1853 -#: templates/js/translated/purchase_order.js:2072 +#: templates/js/translated/purchase_order.js:1852 +#: templates/js/translated/purchase_order.js:2071 #: templates/js/translated/sales_order.js:317 -#: templates/js/translated/sales_order.js:1199 -#: templates/js/translated/sales_order.js:1518 -#: templates/js/translated/sales_order.js:1608 -#: templates/js/translated/sales_order.js:1698 -#: templates/js/translated/sales_order.js:1824 +#: templates/js/translated/sales_order.js:1235 +#: templates/js/translated/sales_order.js:1554 +#: templates/js/translated/sales_order.js:1644 +#: templates/js/translated/sales_order.js:1734 +#: templates/js/translated/sales_order.js:1860 #: templates/js/translated/stock.js:564 templates/js/translated/stock.js:702 -#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:3024 -#: templates/js/translated/stock.js:3107 +#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:3021 +#: templates/js/translated/stock.js:3104 msgid "Quantity" msgstr "Ilość" -#: build/models.py:1338 +#: build/models.py:1375 msgid "Required quantity for build order" msgstr "Wymagana ilość dla zlecenia produkcji" -#: build/models.py:1418 +#: build/models.py:1455 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1427 +#: build/models.py:1464 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1437 order/models.py:1869 +#: build/models.py:1474 order/models.py:1909 msgid "Stock item is over-allocated" msgstr "Pozycja magazynowa jest nadmiernie przydzielona" -#: build/models.py:1443 order/models.py:1872 +#: build/models.py:1480 order/models.py:1912 msgid "Allocation quantity must be greater than zero" msgstr "Alokowana ilość musi być większa niż zero" -#: build/models.py:1449 +#: build/models.py:1486 msgid "Quantity must be 1 for serialized stock" msgstr "Ilość musi wynosić 1 dla serializowanych zasobów" -#: build/models.py:1508 +#: build/models.py:1545 msgid "Selected stock item does not match BOM line" msgstr "Wybrana pozycja magazynowa nie pasuje do pozycji w zestawieniu BOM" -#: build/models.py:1580 build/serializers.py:817 order/serializers.py:1183 -#: order/serializers.py:1204 stock/serializers.py:566 stock/serializers.py:1052 -#: stock/serializers.py:1164 stock/templates/stock/item_base.html:10 +#: build/models.py:1617 build/serializers.py:816 order/serializers.py:1183 +#: order/serializers.py:1204 stock/models.py:364 stock/serializers.py:92 +#: stock/serializers.py:695 stock/serializers.py:1181 stock/serializers.py:1293 +#: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 #: templates/js/translated/build.js:1745 #: templates/js/translated/sales_order.js:301 -#: templates/js/translated/sales_order.js:1198 -#: templates/js/translated/sales_order.js:1499 -#: templates/js/translated/sales_order.js:1504 -#: templates/js/translated/sales_order.js:1605 -#: templates/js/translated/sales_order.js:1692 +#: templates/js/translated/sales_order.js:1234 +#: templates/js/translated/sales_order.js:1535 +#: templates/js/translated/sales_order.js:1540 +#: templates/js/translated/sales_order.js:1641 +#: templates/js/translated/sales_order.js:1728 #: templates/js/translated/stock.js:677 templates/js/translated/stock.js:843 -#: templates/js/translated/stock.js:2980 +#: templates/js/translated/stock.js:2977 msgid "Stock Item" msgstr "Element magazynowy" -#: build/models.py:1581 +#: build/models.py:1618 msgid "Source stock item" msgstr "Lokalizacja magazynowania przedmiotu" -#: build/models.py:1594 +#: build/models.py:1631 msgid "Stock quantity to allocate to build" msgstr "Ilość zapasów do przydzielenia do produkcji" -#: build/models.py:1602 +#: build/models.py:1639 msgid "Install into" msgstr "Zainstaluj do" -#: build/models.py:1603 +#: build/models.py:1640 msgid "Destination stock item" msgstr "Docelowa lokalizacja magazynowa przedmiotu" -#: build/serializers.py:158 build/serializers.py:846 +#: build/serializers.py:157 build/serializers.py:845 #: templates/js/translated/build.js:1322 msgid "Build Output" msgstr "" -#: build/serializers.py:170 +#: build/serializers.py:169 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:174 +#: build/serializers.py:173 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:178 +#: build/serializers.py:177 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:189 +#: build/serializers.py:188 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:209 build/serializers.py:246 +#: build/serializers.py:208 build/serializers.py:245 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:267 +#: build/serializers.py:266 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:270 +#: build/serializers.py:269 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:285 order/serializers.py:589 order/serializers.py:1343 -#: stock/serializers.py:483 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:284 order/serializers.py:589 order/serializers.py:1343 +#: stock/serializers.py:612 templates/js/translated/purchase_order.js:1153 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "Numer seryjny" -#: build/serializers.py:286 +#: build/serializers.py:285 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:291 build/serializers.py:432 build/serializers.py:504 +#: build/serializers.py:290 build/serializers.py:431 build/serializers.py:503 #: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1679 -#: part/serializers.py:1127 stock/serializers.py:494 stock/serializers.py:654 -#: stock/serializers.py:750 stock/serializers.py:1196 stock/serializers.py:1452 -#: stock/templates/stock/item_base.html:394 +#: part/serializers.py:1142 stock/serializers.py:101 stock/serializers.py:623 +#: stock/serializers.py:783 stock/serializers.py:879 stock/serializers.py:1325 +#: stock/serializers.py:1581 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 #: templates/js/translated/purchase_order.js:1178 #: templates/js/translated/purchase_order.js:1268 -#: templates/js/translated/sales_order.js:1511 -#: templates/js/translated/sales_order.js:1619 -#: templates/js/translated/sales_order.js:1627 -#: templates/js/translated/sales_order.js:1706 +#: templates/js/translated/sales_order.js:1547 +#: templates/js/translated/sales_order.js:1655 +#: templates/js/translated/sales_order.js:1663 +#: templates/js/translated/sales_order.js:1742 #: templates/js/translated/stock.js:678 templates/js/translated/stock.js:844 -#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2203 -#: templates/js/translated/stock.js:2874 +#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2201 +#: templates/js/translated/stock.js:2871 msgid "Location" msgstr "Lokalizacja" -#: build/serializers.py:292 +#: build/serializers.py:291 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:306 +#: build/serializers.py:305 msgid "Auto Allocate Serial Numbers" msgstr "Automatycznie przydzielaj numery seryjne" -#: build/serializers.py:307 +#: build/serializers.py:306 msgid "Automatically allocate required items with matching serial numbers" msgstr "Automatycznie przydzielaj wymagane elementy z pasującymi numerami seryjnymi" -#: build/serializers.py:322 +#: build/serializers.py:321 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:347 stock/api.py:995 +#: build/serializers.py:346 stock/api.py:1029 msgid "The following serial numbers already exist or are invalid" msgstr "Poniższe numery seryjne już istnieją lub są nieprawidłowe" -#: build/serializers.py:394 build/serializers.py:456 build/serializers.py:545 +#: build/serializers.py:393 build/serializers.py:455 build/serializers.py:544 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:433 +#: build/serializers.py:432 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:439 +#: build/serializers.py:438 msgid "Discard Allocations" msgstr "Odrzuć przydziały" -#: build/serializers.py:440 +#: build/serializers.py:439 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:445 +#: build/serializers.py:444 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:505 +#: build/serializers.py:504 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:511 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:922 -#: order/models.py:2022 order/serializers.py:597 stock/admin.py:165 -#: stock/serializers.py:801 stock/serializers.py:1340 +#: build/serializers.py:510 build/templates/build/build_base.html:151 +#: build/templates/build/detail.html:62 order/models.py:953 +#: order/models.py:2071 order/serializers.py:597 stock/admin.py:165 +#: stock/serializers.py:930 stock/serializers.py:1469 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 -#: templates/js/translated/purchase_order.js:1723 -#: templates/js/translated/return_order.js:331 -#: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2178 templates/js/translated/stock.js:2998 -#: templates/js/translated/stock.js:3123 +#: templates/js/translated/purchase_order.js:1722 +#: templates/js/translated/return_order.js:330 +#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/stock.js:2176 templates/js/translated/stock.js:2995 +#: templates/js/translated/stock.js:3120 msgid "Status" msgstr "" -#: build/serializers.py:517 +#: build/serializers.py:516 msgid "Accept Incomplete Allocation" msgstr "Zaakceptuj niekompletną alokację" -#: build/serializers.py:518 +#: build/serializers.py:517 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:598 +#: build/serializers.py:597 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:599 +#: build/serializers.py:598 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:605 +#: build/serializers.py:604 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:606 +#: build/serializers.py:605 msgid "Delete any build outputs which have not been completed" msgstr "Usuń produkcje, które nie zostały zakończone" -#: build/serializers.py:633 +#: build/serializers.py:632 msgid "Not permitted" msgstr "Niedozwolone" -#: build/serializers.py:634 +#: build/serializers.py:633 msgid "Accept as consumed by this build order" msgstr "Zaakceptuj jako zużyte przez zlecenie produkcji" -#: build/serializers.py:635 +#: build/serializers.py:634 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:657 +#: build/serializers.py:656 msgid "Overallocated Stock" msgstr "Nadmierny przydział zasobów" -#: build/serializers.py:659 +#: build/serializers.py:658 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:669 +#: build/serializers.py:668 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:674 +#: build/serializers.py:673 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:675 +#: build/serializers.py:674 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:685 templates/js/translated/build.js:315 +#: build/serializers.py:684 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:690 order/serializers.py:301 order/serializers.py:1246 +#: build/serializers.py:689 order/serializers.py:301 order/serializers.py:1246 msgid "Accept Incomplete" msgstr "Akceptuj niekompletne" -#: build/serializers.py:691 +#: build/serializers.py:690 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:701 templates/js/translated/build.js:319 +#: build/serializers.py:700 templates/js/translated/build.js:319 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:710 templates/js/translated/build.js:303 +#: build/serializers.py:709 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:740 +#: build/serializers.py:739 msgid "Build Line" msgstr "" -#: build/serializers.py:750 +#: build/serializers.py:749 msgid "Build output" msgstr "" -#: build/serializers.py:758 +#: build/serializers.py:757 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:794 +#: build/serializers.py:793 msgid "Build Line Item" msgstr "" -#: build/serializers.py:808 +#: build/serializers.py:807 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:823 stock/serializers.py:1065 +#: build/serializers.py:822 stock/serializers.py:1194 msgid "Item must be in stock" msgstr "Towar musi znajdować się w magazynie" -#: build/serializers.py:871 order/serializers.py:1237 +#: build/serializers.py:870 order/serializers.py:1237 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:877 +#: build/serializers.py:876 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:884 +#: build/serializers.py:883 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:908 order/serializers.py:1489 +#: build/serializers.py:907 order/serializers.py:1489 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:971 +#: build/serializers.py:970 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "Magazyn, z którego mają być pozyskane elementy (pozostaw puste, aby pobrać z dowolnej lokalizacji)" -#: build/serializers.py:979 +#: build/serializers.py:978 msgid "Exclude Location" msgstr "Wyklucz lokalizację" -#: build/serializers.py:980 +#: build/serializers.py:979 msgid "Exclude stock items from this selected location" msgstr "Wyklucz produkty magazynowe z wybranej lokalizacji" -#: build/serializers.py:985 +#: build/serializers.py:984 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:986 +#: build/serializers.py:985 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Towary magazynowe w wielu lokalizacjach mogą być stosowane zamiennie" -#: build/serializers.py:991 +#: build/serializers.py:990 msgid "Substitute Stock" msgstr "Zastępczy magazyn" -#: build/serializers.py:992 +#: build/serializers.py:991 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:997 +#: build/serializers.py:996 msgid "Optional Items" msgstr "Przedmiot opcjonalny" -#: build/serializers.py:998 +#: build/serializers.py:997 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1020 +#: build/serializers.py:1019 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1110 part/models.py:3930 part/models.py:4366 -#: stock/api.py:758 +#: build/serializers.py:1109 part/models.py:3973 part/models.py:4409 +#: stock/api.py:792 msgid "BOM Item" msgstr "Element BOM" -#: build/serializers.py:1119 templates/js/translated/index.js:130 +#: build/serializers.py:1118 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1124 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:817 part/serializers.py:1489 +#: build/serializers.py:1123 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:832 part/serializers.py:1504 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 @@ -1705,15 +1710,15 @@ msgstr "" msgid "On Order" msgstr "W Zamówieniu" -#: build/serializers.py:1129 part/serializers.py:1491 +#: build/serializers.py:1128 part/serializers.py:1506 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "W produkcji" -#: build/serializers.py:1134 part/bom.py:172 part/serializers.py:1514 +#: build/serializers.py:1133 part/bom.py:172 part/serializers.py:1529 #: part/templates/part/part_base.html:192 -#: templates/js/translated/sales_order.js:1893 +#: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "Dostępna ilość" @@ -1842,18 +1847,18 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:297 -#: order/models.py:1294 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:310 +#: order/models.py:1334 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 -#: order/templates/order/sales_order_base.html:192 -#: report/templates/report/inventree_build_order_base.html:125 +#: order/templates/order/sales_order_base.html:196 +#: report/templates/report/inventree_build_order_report.html:125 #: templates/js/translated/build.js:2239 templates/js/translated/part.js:1830 -#: templates/js/translated/purchase_order.js:1740 -#: templates/js/translated/purchase_order.js:2148 -#: templates/js/translated/return_order.js:347 -#: templates/js/translated/return_order.js:751 -#: templates/js/translated/sales_order.js:835 -#: templates/js/translated/sales_order.js:1867 +#: templates/js/translated/purchase_order.js:1739 +#: templates/js/translated/purchase_order.js:2147 +#: templates/js/translated/return_order.js:346 +#: templates/js/translated/return_order.js:750 +#: templates/js/translated/sales_order.js:871 +#: templates/js/translated/sales_order.js:1903 msgid "Target Date" msgstr "Data docelowa" @@ -1866,7 +1871,7 @@ msgstr "" #: build/templates/build/build_base.html:222 #: order/templates/order/order_base.html:122 #: order/templates/order/return_order_base.html:117 -#: order/templates/order/sales_order_base.html:122 +#: order/templates/order/sales_order_base.html:126 #: templates/js/translated/table_filters.js:98 #: templates/js/translated/table_filters.js:524 #: templates/js/translated/table_filters.js:626 @@ -1880,24 +1885,24 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:1538 -#: order/models.py:1652 order/models.py:1806 +#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:848 +#: order/models.py:1578 order/models.py:1692 order/models.py:1846 #: 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 +#: report/templates/report/inventree_build_order_report.html:135 +#: report/templates/report/inventree_sales_order_report.html:14 #: stock/templates/stock/item_base.html:369 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:929 -#: templates/js/translated/sales_order.js:769 -#: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2927 +#: templates/js/translated/sales_order.js:805 +#: templates/js/translated/sales_order.js:1028 +#: templates/js/translated/stock.js:2924 msgid "Sales Order" msgstr "Zamówienie zakupu" #: build/templates/build/build_base.html:197 #: build/templates/build/detail.html:115 -#: report/templates/report/inventree_build_order_base.html:152 +#: report/templates/report/inventree_build_order_report.html:152 #: templates/js/translated/table_filters.js:24 msgid "Issued By" msgstr "Dodane przez" @@ -1907,15 +1912,15 @@ msgstr "Dodane przez" msgid "Priority" msgstr "Priorytet" -#: build/templates/build/build_base.html:273 +#: build/templates/build/build_base.html:269 msgid "Delete Build Order" msgstr "" -#: build/templates/build/build_base.html:283 +#: build/templates/build/build_base.html:279 msgid "Build Order QR Code" msgstr "" -#: build/templates/build/build_base.html:295 +#: build/templates/build/build_base.html:291 msgid "Link Barcode to Build Order" msgstr "" @@ -1931,8 +1936,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:1430 -#: templates/js/translated/purchase_order.js:2190 +#: build/templates/build/detail.html:49 order/models.py:1470 +#: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "Przeznaczenie" @@ -1947,10 +1952,10 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 #: templates/js/translated/build.js:1380 -#: templates/js/translated/model_renderers.js:235 +#: templates/js/translated/model_renderers.js:241 #: templates/js/translated/purchase_order.js:1274 -#: templates/js/translated/stock.js:1133 templates/js/translated/stock.js:2192 -#: templates/js/translated/stock.js:3130 +#: templates/js/translated/stock.js:1133 templates/js/translated/stock.js:2190 +#: templates/js/translated/stock.js:3127 #: templates/js/translated/table_filters.js:313 #: templates/js/translated/table_filters.js:404 msgid "Batch" @@ -1959,7 +1964,7 @@ msgstr "Partia" #: build/templates/build/detail.html:133 #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:151 -#: order/templates/order/sales_order_base.html:186 +#: order/templates/order/sales_order_base.html:190 #: templates/js/translated/build.js:2199 msgid "Created" msgstr "Utworzony" @@ -1969,7 +1974,7 @@ msgid "No target date set" msgstr "" #: build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:202 +#: order/templates/order/sales_order_base.html:206 #: templates/js/translated/table_filters.js:689 msgid "Completed" msgstr "Zakończone" @@ -2260,8 +2265,8 @@ msgstr "Jak często aktualizować kursy wymiany walut (ustaw zero aby wyłączy #: common/models.py:1316 common/models.py:1372 common/models.py:1385 #: common/models.py:1393 common/models.py:1402 common/models.py:1411 -#: common/models.py:1613 common/models.py:1635 common/models.py:1750 -#: common/models.py:2061 +#: common/models.py:1619 common/models.py:1641 common/models.py:1756 +#: common/models.py:2067 msgid "days" msgstr "dni" @@ -2402,1209 +2407,1218 @@ msgid "Enable revision field for Part" msgstr "" #: common/models.py:1440 +msgid "Allow Deletion from Assembly" +msgstr "" + +#: common/models.py:1441 +msgid "Allow deletion of parts which are used in an assembly" +msgstr "" + +#: common/models.py:1446 msgid "IPN Regex" msgstr "Wyrażenie regularne IPN" -#: common/models.py:1441 +#: common/models.py:1447 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1444 +#: common/models.py:1450 msgid "Allow Duplicate IPN" msgstr "Zezwól na powtarzający się IPN" -#: common/models.py:1445 +#: common/models.py:1451 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1450 +#: common/models.py:1456 msgid "Allow Editing IPN" msgstr "Zezwól na edycję IPN" -#: common/models.py:1451 +#: common/models.py:1457 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1456 +#: common/models.py:1462 msgid "Copy Part BOM Data" msgstr "Skopiuj BOM komponentu" -#: common/models.py:1457 +#: common/models.py:1463 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1462 +#: common/models.py:1468 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1463 +#: common/models.py:1469 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1468 +#: common/models.py:1474 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1469 +#: common/models.py:1475 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1474 +#: common/models.py:1480 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1475 +#: common/models.py:1481 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1480 part/admin.py:108 part/models.py:3772 -#: report/models.py:182 stock/serializers.py:99 +#: common/models.py:1486 part/admin.py:108 part/models.py:3815 +#: report/models.py:294 report/models.py:361 report/serializers.py:90 +#: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:767 msgid "Template" msgstr "Szablon" -#: common/models.py:1481 +#: common/models.py:1487 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1486 part/admin.py:91 part/admin.py:431 part/models.py:1016 +#: common/models.py:1492 part/admin.py:91 part/admin.py:433 part/models.py:1059 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "Złożenie" -#: common/models.py:1487 +#: common/models.py:1493 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1492 part/admin.py:95 part/models.py:1022 +#: common/models.py:1498 part/admin.py:95 part/models.py:1065 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "Komponent" -#: common/models.py:1493 +#: common/models.py:1499 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1498 part/admin.py:100 part/models.py:1034 +#: common/models.py:1504 part/admin.py:100 part/models.py:1077 msgid "Purchaseable" msgstr "Możliwość zakupu" -#: common/models.py:1499 +#: common/models.py:1505 msgid "Parts are purchaseable by default" msgstr "Części są domyślnie z możliwością zakupu" -#: common/models.py:1504 part/admin.py:104 part/models.py:1040 +#: common/models.py:1510 part/admin.py:104 part/models.py:1083 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "Możliwość sprzedaży" -#: common/models.py:1505 +#: common/models.py:1511 msgid "Parts are salable by default" msgstr "Części są domyślnie z możliwością sprzedaży" -#: common/models.py:1510 part/admin.py:113 part/models.py:1028 +#: common/models.py:1516 part/admin.py:113 part/models.py:1071 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "Możliwość śledzenia" -#: common/models.py:1511 +#: common/models.py:1517 msgid "Parts are trackable by default" msgstr "Części są domyślnie z możliwością śledzenia" -#: common/models.py:1516 part/admin.py:117 part/models.py:1050 +#: common/models.py:1522 part/admin.py:117 part/models.py:1093 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "Wirtualny" -#: common/models.py:1517 +#: common/models.py:1523 msgid "Parts are virtual by default" msgstr "Części są domyślnie wirtualne" -#: common/models.py:1522 +#: common/models.py:1528 msgid "Show Import in Views" msgstr "" -#: common/models.py:1523 +#: common/models.py:1529 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1528 +#: common/models.py:1534 msgid "Show related parts" msgstr "" -#: common/models.py:1529 +#: common/models.py:1535 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1534 +#: common/models.py:1540 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1535 +#: common/models.py:1541 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1540 templates/js/translated/part.js:107 +#: common/models.py:1546 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1542 +#: common/models.py:1548 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1548 +#: common/models.py:1554 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1549 +#: common/models.py:1555 msgid "Format to display the part name" msgstr "" -#: common/models.py:1555 +#: common/models.py:1561 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1556 +#: common/models.py:1562 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1560 +#: common/models.py:1566 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1562 +#: common/models.py:1568 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1568 +#: common/models.py:1574 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1570 +#: common/models.py:1576 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1576 +#: common/models.py:1582 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1578 +#: common/models.py:1584 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1584 +#: common/models.py:1590 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1586 +#: common/models.py:1592 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1592 +#: common/models.py:1598 msgid "Purchase History Override" msgstr "" -#: common/models.py:1594 +#: common/models.py:1600 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1600 +#: common/models.py:1606 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1602 +#: common/models.py:1608 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1608 +#: common/models.py:1614 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1610 +#: common/models.py:1616 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1617 +#: common/models.py:1623 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1618 +#: common/models.py:1624 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1623 +#: common/models.py:1629 msgid "Active Variants Only" msgstr "" -#: common/models.py:1625 +#: common/models.py:1631 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1631 +#: common/models.py:1637 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1633 +#: common/models.py:1639 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1640 +#: common/models.py:1646 msgid "Internal Prices" msgstr "Ceny wewnętrzne" -#: common/models.py:1641 +#: common/models.py:1647 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1646 +#: common/models.py:1652 msgid "Internal Price Override" msgstr "" -#: common/models.py:1648 +#: common/models.py:1654 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1654 +#: common/models.py:1660 msgid "Enable label printing" msgstr "Włącz drukowanie etykiet" -#: common/models.py:1655 +#: common/models.py:1661 msgid "Enable label printing from the web interface" msgstr "Włącz drukowanie etykiet z interfejsu WWW" -#: common/models.py:1660 +#: common/models.py:1666 msgid "Label Image DPI" msgstr "DPI etykiety" -#: common/models.py:1662 +#: common/models.py:1668 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1668 +#: common/models.py:1674 msgid "Enable Reports" msgstr "Włącz raporty" -#: common/models.py:1669 +#: common/models.py:1675 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1674 templates/stats.html:25 +#: common/models.py:1680 templates/stats.html:25 msgid "Debug Mode" msgstr "Tryb Debugowania" -#: common/models.py:1675 +#: common/models.py:1681 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1680 +#: common/models.py:1686 msgid "Log Report Errors" msgstr "" -#: common/models.py:1681 +#: common/models.py:1687 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1686 plugin/builtin/labels/label_sheet.py:28 -#: report/models.py:203 +#: common/models.py:1692 plugin/builtin/labels/label_sheet.py:28 +#: report/models.py:302 msgid "Page Size" msgstr "Rozmiar strony" -#: common/models.py:1687 +#: common/models.py:1693 msgid "Default page size for PDF reports" msgstr "Domyślna wielkość strony dla raportów PDF" -#: common/models.py:1692 +#: common/models.py:1698 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1693 +#: common/models.py:1699 msgid "Enable generation of test reports" msgstr "Włącz generowanie raportów testów" -#: common/models.py:1698 +#: common/models.py:1704 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1700 +#: common/models.py:1706 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1706 +#: common/models.py:1712 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1707 +#: common/models.py:1713 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1712 +#: common/models.py:1718 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1713 +#: common/models.py:1719 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1718 +#: common/models.py:1724 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1720 +#: common/models.py:1726 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1726 +#: common/models.py:1732 msgid "Batch Code Template" msgstr "" -#: common/models.py:1728 +#: common/models.py:1734 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1733 +#: common/models.py:1739 msgid "Stock Expiry" msgstr "" -#: common/models.py:1734 +#: common/models.py:1740 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1739 +#: common/models.py:1745 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1740 +#: common/models.py:1746 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1745 +#: common/models.py:1751 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1747 +#: common/models.py:1753 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1754 +#: common/models.py:1760 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1755 +#: common/models.py:1761 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1760 +#: common/models.py:1766 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1761 +#: common/models.py:1767 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1766 +#: common/models.py:1772 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1767 +#: common/models.py:1773 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1771 +#: common/models.py:1777 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1772 +#: common/models.py:1778 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1777 +#: common/models.py:1783 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1779 +#: common/models.py:1785 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1785 +#: common/models.py:1791 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1787 +#: common/models.py:1793 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1793 +#: common/models.py:1799 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1795 +#: common/models.py:1801 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1801 common/models.py:1829 common/models.py:1851 -#: common/models.py:1879 +#: common/models.py:1807 common/models.py:1835 common/models.py:1857 +#: common/models.py:1885 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1802 common/models.py:1830 common/models.py:1852 -#: common/models.py:1880 +#: common/models.py:1808 common/models.py:1836 common/models.py:1858 +#: common/models.py:1886 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1807 +#: common/models.py:1813 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1809 +#: common/models.py:1815 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1815 +#: common/models.py:1821 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1816 +#: common/models.py:1822 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1821 +#: common/models.py:1827 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1823 +#: common/models.py:1829 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1835 +#: common/models.py:1841 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1837 +#: common/models.py:1843 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1843 +#: common/models.py:1849 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1845 +#: common/models.py:1851 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1857 +#: common/models.py:1863 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1858 +#: common/models.py:1864 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1863 +#: common/models.py:1869 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1865 +#: common/models.py:1871 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1871 +#: common/models.py:1877 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1873 +#: common/models.py:1879 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1885 +#: common/models.py:1891 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1887 +#: common/models.py:1893 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1893 +#: common/models.py:1899 msgid "Auto Complete Purchase Orders" msgstr "Automatycznie wypełniaj zlecenia zakupu" -#: common/models.py:1895 +#: common/models.py:1901 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "Automatycznie oznacz zlecenia jako zakończone po odebraniu wszystkich pozycji" -#: common/models.py:1902 +#: common/models.py:1908 msgid "Enable password forgot" msgstr "Włącz opcję zapomnianego hasła" -#: common/models.py:1903 +#: common/models.py:1909 msgid "Enable password forgot function on the login pages" msgstr "Włącz funkcję zapomnianego hasła na stronach logowania" -#: common/models.py:1908 +#: common/models.py:1914 msgid "Enable registration" msgstr "Włącz rejestrację" -#: common/models.py:1909 +#: common/models.py:1915 msgid "Enable self-registration for users on the login pages" msgstr "Włącz samodzielną rejestrację dla użytkowników na stronach logowania" -#: common/models.py:1914 +#: common/models.py:1920 msgid "Enable SSO" msgstr "Włącz SSO" -#: common/models.py:1915 +#: common/models.py:1921 msgid "Enable SSO on the login pages" msgstr "Włącz SSO na stronach logowania" -#: common/models.py:1920 +#: common/models.py:1926 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1922 +#: common/models.py:1928 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1928 +#: common/models.py:1934 msgid "Email required" msgstr "Adres e-mail jest wymagany" -#: common/models.py:1929 +#: common/models.py:1935 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1934 +#: common/models.py:1940 msgid "Auto-fill SSO users" msgstr "Autouzupełnianie użytkowników SSO" -#: common/models.py:1936 +#: common/models.py:1942 msgid "Automatically fill out user-details from SSO account-data" msgstr "Automatycznie wypełnij dane użytkownika z danych konta SSO" -#: common/models.py:1942 +#: common/models.py:1948 msgid "Mail twice" msgstr "E-mail dwa razy" -#: common/models.py:1943 +#: common/models.py:1949 msgid "On signup ask users twice for their mail" msgstr "Przy rejestracji dwukrotnie zapytaj użytkowników o ich adres e-mail" -#: common/models.py:1948 +#: common/models.py:1954 msgid "Password twice" msgstr "Hasło dwukrotnie" -#: common/models.py:1949 +#: common/models.py:1955 msgid "On signup ask users twice for their password" msgstr "Przy rejestracji dwukrotnie zapytaj użytkowników o ich hasło" -#: common/models.py:1954 +#: common/models.py:1960 msgid "Allowed domains" msgstr "" -#: common/models.py:1956 +#: common/models.py:1962 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1962 +#: common/models.py:1968 msgid "Group on signup" msgstr "Grupuj przy rejestracji" -#: common/models.py:1963 +#: common/models.py:1969 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1968 +#: common/models.py:1974 msgid "Enforce MFA" msgstr "Wymuś MFA" -#: common/models.py:1969 +#: common/models.py:1975 msgid "Users must use multifactor security." msgstr "Użytkownicy muszą używać zabezpieczeń wieloskładnikowych." -#: common/models.py:1974 +#: common/models.py:1980 msgid "Check plugins on startup" msgstr "Sprawdź wtyczki przy starcie" -#: common/models.py:1976 +#: common/models.py:1982 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1984 +#: common/models.py:1990 msgid "Check for plugin updates" msgstr "" -#: common/models.py:1985 +#: common/models.py:1991 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:1991 +#: common/models.py:1997 msgid "Enable URL integration" msgstr "Włącz integrację URL" -#: common/models.py:1992 +#: common/models.py:1998 msgid "Enable plugins to add URL routes" msgstr "Włącz wtyczki, aby dodać ścieżki URL" -#: common/models.py:1998 +#: common/models.py:2004 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1999 +#: common/models.py:2005 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2005 +#: common/models.py:2011 msgid "Enable app integration" msgstr "Włącz integrację z aplikacją" -#: common/models.py:2006 +#: common/models.py:2012 msgid "Enable plugins to add apps" msgstr "Włącz wtyczki, aby dodać aplikacje" -#: common/models.py:2012 +#: common/models.py:2018 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2013 +#: common/models.py:2019 msgid "Enable plugins to run scheduled tasks" msgstr "Włącz wtyczki, aby uruchamiać zaplanowane zadania" -#: common/models.py:2019 +#: common/models.py:2025 msgid "Enable event integration" msgstr "" -#: common/models.py:2020 +#: common/models.py:2026 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2026 +#: common/models.py:2032 msgid "Enable project codes" msgstr "" -#: common/models.py:2027 +#: common/models.py:2033 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2032 +#: common/models.py:2038 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2034 +#: common/models.py:2040 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2040 +#: common/models.py:2046 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2042 +#: common/models.py:2048 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2048 +#: common/models.py:2054 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2050 +#: common/models.py:2056 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2056 +#: common/models.py:2062 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2058 +#: common/models.py:2064 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2065 +#: common/models.py:2071 msgid "Display Users full names" msgstr "" -#: common/models.py:2066 +#: common/models.py:2072 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2071 +#: common/models.py:2077 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2072 +#: common/models.py:2078 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2084 common/models.py:2494 +#: common/models.py:2090 common/models.py:2500 msgid "Settings key (must be unique - case insensitive" msgstr "Klucz ustawień (musi być unikalny - niewrażliwy na wielkość liter" -#: common/models.py:2127 +#: common/models.py:2133 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2129 +#: common/models.py:2135 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2135 +#: common/models.py:2141 msgid "Show subscribed parts" msgstr "Pokaż obserwowane części" -#: common/models.py:2136 +#: common/models.py:2142 msgid "Show subscribed parts on the homepage" msgstr "Pokaż obserwowane części na stronie głównej" -#: common/models.py:2141 +#: common/models.py:2147 msgid "Show subscribed categories" msgstr "Pokaż obserwowane kategorie" -#: common/models.py:2142 +#: common/models.py:2148 msgid "Show subscribed part categories on the homepage" msgstr "Pokaż obserwowane kategorie części na stronie głównej" -#: common/models.py:2147 +#: common/models.py:2153 msgid "Show latest parts" msgstr "Pokaż najnowsze części" -#: common/models.py:2148 +#: common/models.py:2154 msgid "Show latest parts on the homepage" msgstr "Pokaż najnowsze części na stronie głównej" -#: common/models.py:2153 +#: common/models.py:2159 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2154 +#: common/models.py:2160 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2159 +#: common/models.py:2165 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2160 +#: common/models.py:2166 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2165 +#: common/models.py:2171 msgid "Show low stock" msgstr "Pokaż niski stan magazynowy" -#: common/models.py:2166 +#: common/models.py:2172 msgid "Show low stock items on the homepage" msgstr "Pokaż elementy o niskim stanie na stronie głównej" -#: common/models.py:2171 +#: common/models.py:2177 msgid "Show depleted stock" msgstr "" -#: common/models.py:2172 +#: common/models.py:2178 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2177 +#: common/models.py:2183 msgid "Show needed stock" msgstr "Pokaż wymagany stan zapasów" -#: common/models.py:2178 +#: common/models.py:2184 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2183 +#: common/models.py:2189 msgid "Show expired stock" msgstr "" -#: common/models.py:2184 +#: common/models.py:2190 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2189 +#: common/models.py:2195 msgid "Show stale stock" msgstr "" -#: common/models.py:2190 +#: common/models.py:2196 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2195 +#: common/models.py:2201 msgid "Show pending builds" msgstr "" -#: common/models.py:2196 +#: common/models.py:2202 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2201 +#: common/models.py:2207 msgid "Show overdue builds" msgstr "" -#: common/models.py:2202 +#: common/models.py:2208 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2207 +#: common/models.py:2213 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2208 +#: common/models.py:2214 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2213 +#: common/models.py:2219 msgid "Show overdue POs" msgstr "" -#: common/models.py:2214 +#: common/models.py:2220 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2219 +#: common/models.py:2225 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2220 +#: common/models.py:2226 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2225 +#: common/models.py:2231 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2226 +#: common/models.py:2232 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2231 +#: common/models.py:2237 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2232 +#: common/models.py:2238 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2237 +#: common/models.py:2243 msgid "Show News" msgstr "" -#: common/models.py:2238 +#: common/models.py:2244 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2243 +#: common/models.py:2249 msgid "Inline label display" msgstr "" -#: common/models.py:2245 +#: common/models.py:2251 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2251 +#: common/models.py:2257 msgid "Default label printer" msgstr "" -#: common/models.py:2253 +#: common/models.py:2259 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2259 +#: common/models.py:2265 msgid "Inline report display" msgstr "" -#: common/models.py:2261 +#: common/models.py:2267 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2267 +#: common/models.py:2273 msgid "Search Parts" msgstr "Szukaj części" -#: common/models.py:2268 +#: common/models.py:2274 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2273 +#: common/models.py:2279 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2274 +#: common/models.py:2280 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2279 +#: common/models.py:2285 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2280 +#: common/models.py:2286 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2285 +#: common/models.py:2291 msgid "Hide Inactive Parts" msgstr "Ukryj nieaktywne części" -#: common/models.py:2286 +#: common/models.py:2292 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2291 +#: common/models.py:2297 msgid "Search Categories" msgstr "" -#: common/models.py:2292 +#: common/models.py:2298 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2297 +#: common/models.py:2303 msgid "Search Stock" msgstr "" -#: common/models.py:2298 +#: common/models.py:2304 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2303 +#: common/models.py:2309 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2305 +#: common/models.py:2311 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2311 +#: common/models.py:2317 msgid "Search Locations" msgstr "" -#: common/models.py:2312 +#: common/models.py:2318 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2317 +#: common/models.py:2323 msgid "Search Companies" msgstr "" -#: common/models.py:2318 +#: common/models.py:2324 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2323 +#: common/models.py:2329 msgid "Search Build Orders" msgstr "" -#: common/models.py:2324 +#: common/models.py:2330 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2329 +#: common/models.py:2335 msgid "Search Purchase Orders" msgstr "Wyszukaj zlecenia zakupu" -#: common/models.py:2330 +#: common/models.py:2336 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2335 +#: common/models.py:2341 msgid "Exclude Inactive Purchase Orders" msgstr "Wyklucz nieaktywne zlecenia zakupu" -#: common/models.py:2337 +#: common/models.py:2343 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2343 +#: common/models.py:2349 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2344 +#: common/models.py:2350 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2349 +#: common/models.py:2355 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2351 +#: common/models.py:2357 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2357 +#: common/models.py:2363 msgid "Search Return Orders" msgstr "" -#: common/models.py:2358 +#: common/models.py:2364 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2363 +#: common/models.py:2369 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2365 +#: common/models.py:2371 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2371 +#: common/models.py:2377 msgid "Search Preview Results" msgstr "" -#: common/models.py:2373 +#: common/models.py:2379 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2379 +#: common/models.py:2385 msgid "Regex Search" msgstr "" -#: common/models.py:2380 +#: common/models.py:2386 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2385 +#: common/models.py:2391 msgid "Whole Word Search" msgstr "" -#: common/models.py:2386 +#: common/models.py:2392 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2391 +#: common/models.py:2397 msgid "Show Quantity in Forms" msgstr "Pokaż ilość w formularzach" -#: common/models.py:2392 +#: common/models.py:2398 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2397 +#: common/models.py:2403 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2398 +#: common/models.py:2404 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2403 +#: common/models.py:2409 msgid "Fixed Navbar" msgstr "Stały pasek nawigacyjny" -#: common/models.py:2404 +#: common/models.py:2410 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2409 +#: common/models.py:2415 msgid "Date Format" msgstr "Format daty" -#: common/models.py:2410 +#: common/models.py:2416 msgid "Preferred format for displaying dates" msgstr "Preferowany format wyświetlania dat" -#: common/models.py:2423 part/templates/part/detail.html:41 +#: common/models.py:2429 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Planowanie komponentów" -#: common/models.py:2424 +#: common/models.py:2430 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2429 part/templates/part/detail.html:62 +#: common/models.py:2435 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2431 +#: common/models.py:2437 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2437 +#: common/models.py:2443 msgid "Table String Length" msgstr "" -#: common/models.py:2439 +#: common/models.py:2445 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2445 +#: common/models.py:2451 msgid "Default part label template" msgstr "" -#: common/models.py:2446 +#: common/models.py:2452 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2451 +#: common/models.py:2457 msgid "Default stock item template" msgstr "" -#: common/models.py:2453 +#: common/models.py:2459 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2459 +#: common/models.py:2465 msgid "Default stock location label template" msgstr "" -#: common/models.py:2461 +#: common/models.py:2467 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2467 +#: common/models.py:2473 msgid "Default build line label template" msgstr "" -#: common/models.py:2469 +#: common/models.py:2475 msgid "The build line label template to be automatically selected" msgstr "" -#: common/models.py:2475 +#: common/models.py:2481 msgid "Receive error reports" msgstr "" -#: common/models.py:2476 +#: common/models.py:2482 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2481 +#: common/models.py:2487 msgid "Last used printing machines" msgstr "" -#: common/models.py:2482 +#: common/models.py:2488 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2525 +#: common/models.py:2531 msgid "Price break quantity" msgstr "" -#: common/models.py:2532 company/serializers.py:496 order/admin.py:42 -#: order/models.py:1333 order/models.py:2243 +#: common/models.py:2538 company/serializers.py:496 order/admin.py:42 +#: order/models.py:1373 order/models.py:2292 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 -#: templates/js/translated/return_order.js:741 +#: templates/js/translated/return_order.js:740 msgid "Price" msgstr "Cena" -#: common/models.py:2533 +#: common/models.py:2539 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2704 common/models.py:2889 +#: common/models.py:2710 common/models.py:2895 msgid "Endpoint" msgstr "Punkt końcowy" -#: common/models.py:2705 +#: common/models.py:2711 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2715 +#: common/models.py:2721 msgid "Name for this webhook" msgstr "" -#: common/models.py:2719 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1045 -#: plugin/models.py:56 templates/js/translated/company.js:523 +#: common/models.py:2725 company/models.py:160 company/models.py:814 +#: machine/models.py:39 part/admin.py:88 part/models.py:1088 +#: plugin/models.py:65 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:492 @@ -3614,135 +3628,135 @@ msgstr "" msgid "Active" msgstr "Aktywny" -#: common/models.py:2719 +#: common/models.py:2725 msgid "Is this webhook active" msgstr "" -#: common/models.py:2735 users/models.py:159 +#: common/models.py:2741 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2736 +#: common/models.py:2742 msgid "Token for access" msgstr "" -#: common/models.py:2744 +#: common/models.py:2750 msgid "Secret" msgstr "Sekret" -#: common/models.py:2745 +#: common/models.py:2751 msgid "Shared secret for HMAC" msgstr "Współdzielony sekret dla HMAC" -#: common/models.py:2853 +#: common/models.py:2859 msgid "Message ID" msgstr "Id wiadomości" -#: common/models.py:2854 +#: common/models.py:2860 msgid "Unique identifier for this message" msgstr "Unikalny identyfikator dla tej wiadomości" -#: common/models.py:2862 +#: common/models.py:2868 msgid "Host" msgstr "" -#: common/models.py:2863 +#: common/models.py:2869 msgid "Host from which this message was received" msgstr "Host, od którego otrzymano tę wiadomość" -#: common/models.py:2871 +#: common/models.py:2877 msgid "Header" msgstr "Nagłówek" -#: common/models.py:2872 +#: common/models.py:2878 msgid "Header of this message" msgstr "Nagłówek tej wiadomości" -#: common/models.py:2879 +#: common/models.py:2885 msgid "Body" msgstr "Zawartość" -#: common/models.py:2880 +#: common/models.py:2886 msgid "Body of this message" msgstr "" -#: common/models.py:2890 +#: common/models.py:2896 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2895 +#: common/models.py:2901 msgid "Worked on" msgstr "" -#: common/models.py:2896 +#: common/models.py:2902 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3022 +#: common/models.py:3028 msgid "Id" msgstr "" -#: common/models.py:3024 templates/js/translated/company.js:965 +#: common/models.py:3030 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3028 templates/js/translated/news.js:60 +#: common/models.py:3034 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3030 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3036 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "Autor" -#: common/models.py:3032 templates/js/translated/news.js:52 +#: common/models.py:3038 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3035 +#: common/models.py:3041 msgid "Read" msgstr "" -#: common/models.py:3035 +#: common/models.py:3041 msgid "Was this news item read?" msgstr "" -#: common/models.py:3052 company/models.py:156 part/models.py:929 +#: common/models.py:3058 company/models.py:156 part/models.py:972 #: 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 +#: report/templates/report/inventree_return_order_report.html:35 #: stock/templates/stock/item_base.html:133 templates/503.html:31 #: templates/hover_image.html:7 templates/hover_image.html:9 #: templates/modals.html:6 msgid "Image" msgstr "Obraz" -#: common/models.py:3052 +#: common/models.py:3058 msgid "Image file" msgstr "" -#: common/models.py:3094 +#: common/models.py:3100 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3113 +#: common/models.py:3119 msgid "Unit name" msgstr "" -#: common/models.py:3120 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3126 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3121 +#: common/models.py:3127 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3128 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3134 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3129 +#: common/models.py:3135 msgid "Unit definition" msgstr "" @@ -3929,9 +3943,9 @@ msgid "Contact email address" msgstr "Kontaktowy adres e-mail" #: company/models.py:139 company/templates/company/company_base.html:145 -#: order/models.py:331 order/templates/order/order_base.html:203 +#: order/models.py:344 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 -#: order/templates/order/sales_order_base.html:214 +#: order/templates/order/sales_order_base.html:218 msgid "Contact" msgstr "Kontakt" @@ -3977,7 +3991,7 @@ msgstr "" #: company/models.py:273 company/models.py:382 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:776 +#: company/templates/company/company_base.html:12 stock/api.py:810 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "Firma" @@ -4069,8 +4083,8 @@ msgstr "" msgid "Link to address information (external)" msgstr "" -#: company/models.py:489 company/models.py:792 stock/models.py:751 -#: stock/serializers.py:266 stock/templates/stock/item_base.html:142 +#: company/models.py:489 company/models.py:792 stock/models.py:772 +#: stock/serializers.py:395 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "Część bazowa" @@ -4081,7 +4095,7 @@ msgstr "Wybierz część" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:515 +#: company/templates/company/supplier_part.html:145 part/serializers.py:530 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4096,13 +4110,13 @@ msgid "Select manufacturer" msgstr "Wybierz producenta" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:525 +#: company/templates/company/supplier_part.html:153 part/serializers.py:540 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800 -#: templates/js/translated/purchase_order.js:1852 -#: templates/js/translated/purchase_order.js:2054 +#: templates/js/translated/purchase_order.js:1851 +#: templates/js/translated/purchase_order.js:2053 msgid "MPN" msgstr "" @@ -4129,9 +4143,8 @@ msgstr "Komponent producenta" msgid "Parameter name" msgstr "" -#: company/models.py:621 -#: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2448 templates/js/translated/company.js:1166 +#: company/models.py:621 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2425 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492 #: templates/js/translated/stock.js:1522 msgid "Value" @@ -4142,10 +4155,10 @@ msgid "Parameter value" msgstr "" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1009 part/models.py:3623 +#: part/admin.py:57 part/models.py:1052 part/models.py:3666 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 -#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370 +#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 msgid "Units" msgstr "Jednostki" @@ -4166,9 +4179,9 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:465 +#: company/templates/company/supplier_part.html:129 order/models.py:487 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:499 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:514 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4176,7 +4189,7 @@ msgstr "" #: templates/js/translated/company.js:511 #: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1690 +#: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/table_filters.js:804 msgid "Supplier" msgstr "Dostawca" @@ -4185,7 +4198,7 @@ msgstr "Dostawca" msgid "Select supplier" msgstr "Wybierz dostawcę" -#: company/models.py:809 part/serializers.py:510 +#: company/models.py:809 part/serializers.py:525 msgid "Supplier stock keeping unit" msgstr "" @@ -4206,29 +4219,29 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:418 part/models.py:4070 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4113 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 -#: report/templates/report/inventree_slr_report.html:105 -#: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:579 +#: report/templates/report/inventree_purchase_order_report.html:32 +#: report/templates/report/inventree_return_order_report.html:27 +#: report/templates/report/inventree_sales_order_report.html:32 +#: report/templates/report/inventree_stock_location_report.html:105 +#: stock/serializers.py:708 msgid "Note" msgstr "Uwaga" -#: company/models.py:857 part/models.py:1967 +#: company/models.py:857 part/models.py:2010 msgid "base cost" msgstr "koszt podstawowy" -#: company/models.py:858 part/models.py:1968 +#: company/models.py:858 part/models.py:2011 msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:782 stock/serializers.py:1350 +#: stock/admin.py:224 stock/models.py:803 stock/serializers.py:1479 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 -#: templates/js/translated/stock.js:2426 +#: templates/js/translated/stock.js:2424 msgid "Packaging" msgstr "Opakowanie" @@ -4241,8 +4254,8 @@ msgstr "Opakowanie części" #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 -#: templates/js/translated/purchase_order.js:2085 -#: templates/js/translated/purchase_order.js:2102 +#: templates/js/translated/purchase_order.js:2084 +#: templates/js/translated/purchase_order.js:2101 msgid "Pack Quantity" msgstr "" @@ -4250,7 +4263,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:892 part/models.py:1974 +#: company/models.py:892 part/models.py:2017 msgid "multiple" msgstr "wielokrotność" @@ -4285,7 +4298,7 @@ msgstr "Na stanie" #: part/templates/part/part_base.html:146 #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 -#: templates/js/translated/model_renderers.js:306 +#: templates/js/translated/model_renderers.js:312 #: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 msgid "Inactive" msgstr "Nieaktywny" @@ -4321,11 +4334,11 @@ msgstr "Usuń firmę" #: company/templates/company/manufacturer_part.html:51 #: company/templates/company/supplier_part.html:83 #: part/templates/part/part_thumb.html:20 -#: report/templates/report/inventree_build_order_base.html:98 -#: report/templates/report/inventree_po_report_base.html:40 -#: report/templates/report/inventree_so_report_base.html:40 -#: report/templates/report/inventree_test_report_base.html:84 -#: report/templates/report/inventree_test_report_base.html:163 +#: report/templates/report/inventree_build_order_report.html:98 +#: report/templates/report/inventree_purchase_order_report.html:40 +#: report/templates/report/inventree_sales_order_report.html:40 +#: report/templates/report/inventree_test_report.html:84 +#: report/templates/report/inventree_test_report.html:163 msgid "Part image" msgstr "" @@ -4344,16 +4357,16 @@ msgstr "Pobierz obraz z adresu URL" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:92 order/models.py:910 -#: order/models.py:2010 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:144 stock/models.py:804 -#: stock/models.py:805 stock/serializers.py:1100 +#: company/templates/company/company_base.html:92 order/models.py:941 +#: order/models.py:2059 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:148 stock/models.py:825 +#: stock/models.py:826 stock/serializers.py:1229 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 -#: templates/js/translated/return_order.js:296 -#: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2962 +#: templates/js/translated/return_order.js:295 +#: templates/js/translated/sales_order.js:820 +#: templates/js/translated/stock.js:2959 #: templates/js/translated/table_filters.js:808 msgid "Customer" msgstr "Klient" @@ -4362,10 +4375,10 @@ msgstr "Klient" msgid "Uses default currency" msgstr "Używa domyślnej waluty" -#: company/templates/company/company_base.html:124 order/models.py:341 +#: company/templates/company/company_base.html:124 order/models.py:354 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 -#: order/templates/order/sales_order_base.html:221 +#: order/templates/order/sales_order_base.html:225 msgid "Address" msgstr "Adres" @@ -4374,7 +4387,7 @@ msgid "Phone" msgstr "Telefon" #: company/templates/company/company_base.html:211 -#: part/templates/part/part_base.html:528 +#: part/templates/part/part_base.html:527 msgid "Remove Image" msgstr "" @@ -4383,19 +4396,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:214 -#: part/templates/part/part_base.html:531 +#: part/templates/part/part_base.html:530 #: templates/InvenTree/settings/user.html:88 #: templates/InvenTree/settings/user_sso.html:43 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:243 -#: part/templates/part/part_base.html:560 +#: part/templates/part/part_base.html:559 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:258 -#: part/templates/part/part_base.html:614 +#: part/templates/part/part_base.html:613 msgid "Download Image" msgstr "" @@ -4558,7 +4571,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:821 +#: part/admin.py:122 part/serializers.py:836 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4609,10 +4622,10 @@ msgstr "" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:452 -#: stock/models.py:762 stock/templates/stock/item_base.html:233 +#: stock/models.py:783 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 -#: templates/js/translated/stock.js:2282 +#: templates/js/translated/stock.js:2280 msgid "Supplier Part" msgstr "" @@ -4658,11 +4671,11 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:509 +#: part/bom.py:311 part/serializers.py:524 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1851 -#: templates/js/translated/purchase_order.js:2029 +#: templates/js/translated/purchase_order.js:1850 +#: templates/js/translated/purchase_order.js:2028 msgid "SKU" msgstr "" @@ -4671,12 +4684,12 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:209 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:199 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:206 msgid "Create new stock item" msgstr "Utwórz nowy towar" #: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:200 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:207 #: templates/js/translated/stock.js:537 msgid "New Stock Item" msgstr "Nowy towar" @@ -4708,16 +4721,16 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:820 part/stocktake.py:223 +#: part/serializers.py:835 part/stocktake.py:223 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:787 stock/serializers.py:951 +#: stock/serializers.py:916 stock/serializers.py:1080 #: stock/templates/stock/location.html:170 -#: stock/templates/stock/location.html:184 -#: stock/templates/stock/location.html:196 +#: stock/templates/stock/location.html:191 +#: stock/templates/stock/location.html:203 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2769 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 #: users/models.py:206 msgid "Stock Items" msgstr "Towary" @@ -4751,126 +4764,48 @@ msgstr "Firmy" msgid "New Company" msgstr "Nowa firma" -#: label/api.py:247 -msgid "Error printing label" -msgstr "" - -#: label/models.py:120 -msgid "Label name" -msgstr "Nazwa etykiety" - -#: label/models.py:128 -msgid "Label description" -msgstr "Opis etykiety" - -#: label/models.py:136 -msgid "Label" -msgstr "Etykieta" - -#: label/models.py:137 -msgid "Label template file" -msgstr "" - -#: label/models.py:143 part/models.py:3494 report/models.py:324 -#: templates/js/translated/part.js:2900 -#: templates/js/translated/table_filters.js:481 -msgid "Enabled" -msgstr "Aktywne" - -#: label/models.py:144 -msgid "Label template is enabled" -msgstr "" - -#: label/models.py:149 -msgid "Width [mm]" -msgstr "Szerokość [mm]" - -#: label/models.py:150 -msgid "Label width, specified in mm" -msgstr "" - -#: label/models.py:156 -msgid "Height [mm]" -msgstr "Wysokość [mm]" - -#: label/models.py:157 -msgid "Label height, specified in mm" -msgstr "" - -#: label/models.py:163 report/models.py:317 -msgid "Filename Pattern" -msgstr "Wzór nazwy pliku" - -#: label/models.py:164 -msgid "Pattern for generating label filenames" -msgstr "" - -#: label/models.py:313 label/models.py:352 label/models.py:377 -#: label/models.py:412 -msgid "Query filters (comma-separated list of key=value pairs)" -msgstr "" - -#: label/models.py:314 label/models.py:353 label/models.py:378 -#: label/models.py:413 report/models.py:345 report/models.py:496 -#: report/models.py:532 report/models.py:568 report/models.py:750 -msgid "Filters" -msgstr "Filtry" - -#: label/templates/label/part/part_label.html:31 -#: label/templates/label/stockitem/qr.html:21 -#: label/templates/label/stocklocation/qr.html:20 -#: templates/allauth_2fa/setup.html:18 -msgid "QR Code" -msgstr "" - -#: label/templates/label/part/part_label_code128.html:31 -#: label/templates/label/stocklocation/qr_and_text.html:31 -#: templates/qr_code.html:7 -msgid "QR code" -msgstr "" - -#: machine/machine_types/label_printer.py:217 +#: machine/machine_types/label_printer.py:218 msgid "Copies" msgstr "" -#: machine/machine_types/label_printer.py:218 +#: machine/machine_types/label_printer.py:219 msgid "Number of copies to print for each label" msgstr "" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:234 msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:234 order/api.py:1515 -#: templates/js/translated/sales_order.js:1042 +#: machine/machine_types/label_printer.py:235 order/api.py:1515 +#: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "" -#: machine/machine_types/label_printer.py:235 +#: machine/machine_types/label_printer.py:236 msgid "Printing" msgstr "" -#: machine/machine_types/label_printer.py:236 +#: machine/machine_types/label_printer.py:237 msgid "No media" msgstr "" -#: machine/machine_types/label_printer.py:237 +#: machine/machine_types/label_printer.py:238 msgid "Disconnected" msgstr "" -#: machine/machine_types/label_printer.py:244 +#: machine/machine_types/label_printer.py:245 msgid "Label Printer" msgstr "" -#: machine/machine_types/label_printer.py:245 +#: machine/machine_types/label_printer.py:246 msgid "Directly print labels for various items." msgstr "" -#: machine/machine_types/label_printer.py:251 +#: machine/machine_types/label_printer.py:252 msgid "Printer Location" msgstr "" -#: machine/machine_types/label_printer.py:252 +#: machine/machine_types/label_printer.py:253 msgid "Scope the printer to a specific location" msgstr "" @@ -4930,19 +4865,19 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:89 -#: report/templates/report/inventree_po_report_base.html:31 -#: report/templates/report/inventree_so_report_base.html:31 +#: order/admin.py:30 order/models.py:90 +#: report/templates/report/inventree_purchase_order_report.html:31 +#: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2126 -#: templates/js/translated/sales_order.js:1847 +#: templates/js/translated/purchase_order.js:2125 +#: templates/js/translated/sales_order.js:1883 msgid "Total Price" msgstr "Cena całkowita" #: order/api.py:161 order/serializers.py:91 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 -#: order/templates/order/sales_order_base.html:118 +#: order/templates/order/sales_order_base.html:122 msgid "Order Status" msgstr "Status zamówienia" @@ -4955,10 +4890,10 @@ msgstr "" msgid "No matching purchase order found" msgstr "Nie znaleziono pasującego zlecenia zakupu" -#: order/api.py:437 order/api.py:817 order/models.py:1382 order/models.py:1491 -#: order/models.py:1537 order/models.py:1651 order/models.py:1805 -#: order/models.py:2209 order/models.py:2260 -#: templates/js/translated/sales_order.js:1488 +#: order/api.py:437 order/api.py:817 order/models.py:1422 order/models.py:1531 +#: order/models.py:1577 order/models.py:1691 order/models.py:1845 +#: order/models.py:2258 order/models.py:2309 +#: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "Zamówienie" @@ -4970,402 +4905,398 @@ msgstr "" msgid "Order Pending" msgstr "" -#: order/api.py:1509 order/models.py:1383 order/models.py:1492 -#: order/templates/order/order_base.html:9 +#: order/api.py:1509 order/models.py:381 order/models.py:1423 +#: order/models.py:1532 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 -#: report/templates/report/inventree_po_report_base.html:14 -#: stock/templates/stock/item_base.html:176 +#: report/templates/report/inventree_purchase_order_report.html:14 +#: stock/serializers.py:119 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 -#: templates/js/translated/purchase_order.js:1674 -#: templates/js/translated/stock.js:2262 templates/js/translated/stock.js:2910 +#: templates/js/translated/purchase_order.js:1673 +#: templates/js/translated/stock.js:2260 templates/js/translated/stock.js:2907 msgid "Purchase Order" msgstr "Zlecenie zakupu" -#: order/api.py:1513 order/models.py:2210 order/models.py:2261 -#: order/templates/order/return_order_base.html:9 +#: order/api.py:1513 order/models.py:2008 order/models.py:2259 +#: order/models.py:2310 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:281 -#: templates/js/translated/stock.js:2944 +#: report/templates/report/inventree_return_order_report.html:13 +#: templates/js/translated/return_order.js:280 +#: templates/js/translated/stock.js:2941 msgid "Return Order" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:96 order/serializers.py:71 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:99 order/serializers.py:72 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:246 +#: order/models.py:248 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:278 +#: order/models.py:291 msgid "Order description (optional)" msgstr "" -#: order/models.py:287 +#: order/models.py:300 msgid "Select project code for this order" msgstr "" -#: order/models.py:291 order/models.py:1288 order/models.py:1704 +#: order/models.py:304 order/models.py:1328 order/models.py:1744 msgid "Link to external page" msgstr "Link do zewnętrznej witryny" -#: order/models.py:299 +#: order/models.py:312 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:313 +#: order/models.py:326 msgid "Created By" msgstr "Utworzony przez" -#: order/models.py:321 +#: order/models.py:334 msgid "User or group responsible for this order" msgstr "Użytkownik lub grupa odpowiedzialna za to zamówienie" -#: order/models.py:332 +#: order/models.py:345 msgid "Point of contact for this order" msgstr "" -#: order/models.py:342 +#: order/models.py:355 msgid "Company address for this order" msgstr "" -#: order/models.py:443 order/models.py:899 +#: order/models.py:465 order/models.py:930 msgid "Order reference" msgstr "Odniesienie zamówienia" -#: order/models.py:451 order/models.py:923 +#: order/models.py:473 order/models.py:954 msgid "Purchase order status" msgstr "Status zamówienia zakupu" -#: order/models.py:466 +#: order/models.py:488 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:477 order/templates/order/order_base.html:148 -#: templates/js/translated/purchase_order.js:1703 +#: order/models.py:499 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1702 msgid "Supplier Reference" msgstr "" -#: order/models.py:478 +#: order/models.py:500 msgid "Supplier order reference code" msgstr "" -#: order/models.py:487 +#: order/models.py:509 msgid "received by" msgstr "odebrane przez" -#: order/models.py:493 order/models.py:2036 +#: order/models.py:515 order/models.py:2085 msgid "Issue Date" msgstr "Data wydania" -#: order/models.py:494 order/models.py:2037 +#: order/models.py:516 order/models.py:2086 msgid "Date order was issued" msgstr "Data wystawienia zamówienia" -#: order/models.py:501 order/models.py:2044 +#: order/models.py:523 order/models.py:2093 msgid "Date order was completed" msgstr "" -#: order/models.py:545 +#: order/models.py:567 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:739 +#: order/models.py:761 msgid "Quantity must be a positive number" msgstr "Wartość musi być liczbą dodatnią" -#: order/models.py:911 +#: order/models.py:942 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:934 order/models.py:2029 +#: order/models.py:965 order/models.py:2078 msgid "Customer Reference " msgstr "" -#: order/models.py:935 order/models.py:2030 +#: order/models.py:966 order/models.py:2079 msgid "Customer order reference code" msgstr "" -#: order/models.py:939 order/models.py:1658 -#: templates/js/translated/sales_order.js:843 -#: templates/js/translated/sales_order.js:1024 +#: order/models.py:970 order/models.py:1698 +#: templates/js/translated/sales_order.js:879 +#: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "Data wysyłki" -#: order/models.py:948 +#: order/models.py:979 msgid "shipped by" msgstr "wysłane przez" -#: order/models.py:999 -msgid "Order cannot be completed as no parts have been assigned" -msgstr "" - -#: order/models.py:1004 +#: order/models.py:1029 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1008 templates/js/translated/sales_order.js:506 +#: order/models.py:1033 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1013 +#: order/models.py:1038 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1260 +#: order/models.py:1300 msgid "Item quantity" msgstr "Ilość elementów" -#: order/models.py:1277 +#: order/models.py:1317 msgid "Line item reference" msgstr "" -#: order/models.py:1284 +#: order/models.py:1324 msgid "Line item notes" msgstr "" -#: order/models.py:1296 +#: order/models.py:1336 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1317 +#: order/models.py:1357 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1323 +#: order/models.py:1363 msgid "Context" msgstr "" -#: order/models.py:1324 +#: order/models.py:1364 msgid "Additional context for this line" msgstr "" -#: order/models.py:1334 +#: order/models.py:1374 msgid "Unit price" msgstr "" -#: order/models.py:1367 +#: order/models.py:1407 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1374 +#: order/models.py:1414 msgid "deleted" msgstr "" -#: order/models.py:1402 +#: order/models.py:1442 msgid "Supplier part" msgstr "" -#: order/models.py:1409 order/templates/order/order_base.html:196 +#: order/models.py:1449 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 #: templates/js/translated/purchase_order.js:1306 -#: templates/js/translated/purchase_order.js:2170 -#: templates/js/translated/return_order.js:764 +#: templates/js/translated/purchase_order.js:2169 +#: templates/js/translated/return_order.js:763 #: templates/js/translated/table_filters.js:120 #: templates/js/translated/table_filters.js:602 msgid "Received" msgstr "Odebrane" -#: order/models.py:1410 +#: order/models.py:1450 msgid "Number of items received" msgstr "" -#: order/models.py:1418 stock/models.py:923 stock/serializers.py:400 +#: order/models.py:1458 stock/models.py:944 stock/serializers.py:529 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2313 +#: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "Cena zakupu" -#: order/models.py:1419 +#: order/models.py:1459 msgid "Unit purchase price" msgstr "Cena zakupu jednostkowego" -#: order/models.py:1434 +#: order/models.py:1474 msgid "Where does the Purchaser want this item to be stored?" msgstr "Gdzie kupujący chce przechowywać ten przedmiot?" -#: order/models.py:1525 +#: order/models.py:1565 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1530 +#: order/models.py:1570 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1556 part/templates/part/part_pricing.html:107 +#: order/models.py:1596 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "Cena sprzedaży" -#: order/models.py:1557 +#: order/models.py:1597 msgid "Unit sale price" msgstr "Jednostkowa cena sprzedaży" -#: order/models.py:1567 +#: order/models.py:1607 msgid "Shipped quantity" msgstr "Wysłana ilość" -#: order/models.py:1659 +#: order/models.py:1699 msgid "Date of shipment" msgstr "Data wysyłki" -#: order/models.py:1665 templates/js/translated/sales_order.js:1036 +#: order/models.py:1705 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1666 +#: order/models.py:1706 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1674 +#: order/models.py:1714 msgid "Checked By" msgstr "Sprawdzone przez" -#: order/models.py:1675 +#: order/models.py:1715 msgid "User who checked this shipment" msgstr "Użytkownik, który sprawdził tę wysyłkę" -#: order/models.py:1682 order/models.py:1895 order/serializers.py:1354 -#: order/serializers.py:1464 templates/js/translated/model_renderers.js:448 +#: order/models.py:1722 order/models.py:1935 order/serializers.py:1354 +#: order/serializers.py:1464 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "Przesyłka" -#: order/models.py:1683 +#: order/models.py:1723 msgid "Shipment number" msgstr "Numer przesyłki" -#: order/models.py:1691 +#: order/models.py:1731 msgid "Tracking Number" msgstr "Numer śledzenia" -#: order/models.py:1692 +#: order/models.py:1732 msgid "Shipment tracking information" msgstr "Informacje o śledzeniu przesyłki" -#: order/models.py:1699 +#: order/models.py:1739 msgid "Invoice Number" msgstr "" -#: order/models.py:1700 +#: order/models.py:1740 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1720 +#: order/models.py:1760 msgid "Shipment has already been sent" msgstr "Przesyłka została już wysłana" -#: order/models.py:1723 +#: order/models.py:1763 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1841 order/models.py:1843 +#: order/models.py:1881 order/models.py:1883 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1850 +#: order/models.py:1890 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1853 +#: order/models.py:1893 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1856 +#: order/models.py:1896 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Zarezerwowana ilość nie może przekraczać ilości na stanie" -#: order/models.py:1875 order/serializers.py:1231 +#: order/models.py:1915 order/serializers.py:1231 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1878 +#: order/models.py:1918 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1879 plugin/base/barcodes/api.py:481 +#: order/models.py:1919 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1887 +#: order/models.py:1927 msgid "Line" msgstr "Linia" -#: order/models.py:1896 +#: order/models.py:1936 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1909 order/models.py:2217 -#: templates/js/translated/return_order.js:722 +#: order/models.py:1949 order/models.py:2266 +#: templates/js/translated/return_order.js:721 msgid "Item" msgstr "Komponent" -#: order/models.py:1910 +#: order/models.py:1950 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1919 +#: order/models.py:1959 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1999 +#: order/models.py:2048 msgid "Return Order reference" msgstr "" -#: order/models.py:2011 +#: order/models.py:2060 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2023 +#: order/models.py:2072 msgid "Return order status" msgstr "" -#: order/models.py:2202 +#: order/models.py:2251 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2218 +#: order/models.py:2267 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2224 +#: order/models.py:2273 msgid "Received Date" msgstr "" -#: order/models.py:2225 +#: order/models.py:2274 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2236 templates/js/translated/return_order.js:733 +#: order/models.py:2285 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2237 +#: order/models.py:2286 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2244 +#: order/models.py:2293 msgid "Cost associated with return or repair for this line item" msgstr "" #: order/serializers.py:80 order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 -#: report/templates/report/inventree_po_report_base.html:22 -#: report/templates/report/inventree_return_order_report_base.html:19 -#: report/templates/report/inventree_so_report_base.html:22 +#: report/templates/report/inventree_purchase_order_report.html:22 +#: report/templates/report/inventree_return_order_report.html:19 +#: report/templates/report/inventree_sales_order_report.html:22 msgid "Line Items" msgstr "" @@ -5595,7 +5526,7 @@ msgstr "Oznacz zamówienie jako zakończone" #: order/templates/order/order_base.html:84 #: order/templates/order/return_order_base.html:87 -#: order/templates/order/sales_order_base.html:93 +#: order/templates/order/sales_order_base.html:97 msgid "Complete Order" msgstr "Kompletne zamówienie" @@ -5605,13 +5536,13 @@ msgstr "" #: order/templates/order/order_base.html:106 #: order/templates/order/return_order_base.html:101 -#: order/templates/order/sales_order_base.html:106 +#: order/templates/order/sales_order_base.html:110 msgid "Order Reference" msgstr "Numer zamówienia" #: order/templates/order/order_base.html:111 #: order/templates/order/return_order_base.html:106 -#: order/templates/order/sales_order_base.html:111 +#: order/templates/order/sales_order_base.html:115 msgid "Order Description" msgstr "Opis zamówienia" @@ -5620,19 +5551,19 @@ msgid "No suppplier information available" msgstr "" #: order/templates/order/order_base.html:154 -#: order/templates/order/sales_order_base.html:157 +#: order/templates/order/sales_order_base.html:161 msgid "Completed Line Items" msgstr "" #: order/templates/order/order_base.html:160 -#: order/templates/order/sales_order_base.html:163 -#: order/templates/order/sales_order_base.html:173 +#: order/templates/order/sales_order_base.html:167 +#: order/templates/order/sales_order_base.html:177 msgid "Incomplete" msgstr "Niekompletny" #: order/templates/order/order_base.html:179 #: order/templates/order/return_order_base.html:157 -#: report/templates/report/inventree_build_order_base.html:121 +#: report/templates/report/inventree_build_order_report.html:121 msgid "Issued" msgstr "Wydany" @@ -5642,15 +5573,15 @@ msgstr "" #: order/templates/order/order_base.html:228 #: order/templates/order/return_order_base.html:199 -#: order/templates/order/sales_order_base.html:239 +#: order/templates/order/sales_order_base.html:243 msgid "Total cost could not be calculated" msgstr "" -#: order/templates/order/order_base.html:318 +#: order/templates/order/order_base.html:314 msgid "Purchase Order QR Code" msgstr "" -#: order/templates/order/order_base.html:330 +#: order/templates/order/order_base.html:326 msgid "Link Barcode to Purchase Order" msgstr "" @@ -5707,8 +5638,8 @@ msgstr "Duplikuj wybrane" #: templates/js/translated/build.js:1629 #: templates/js/translated/purchase_order.js:696 #: templates/js/translated/purchase_order.js:1236 -#: templates/js/translated/return_order.js:506 -#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/return_order.js:505 +#: templates/js/translated/sales_order.js:1145 #: templates/js/translated/stock.js:714 templates/js/translated/stock.js:883 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -5762,7 +5693,7 @@ msgstr "Pozycje zlecenia zakupu" #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 #: templates/js/translated/purchase_order.js:414 -#: templates/js/translated/return_order.js:459 +#: templates/js/translated/return_order.js:458 #: templates/js/translated/sales_order.js:237 msgid "Add Line Item" msgstr "Dodaj element zamówienia" @@ -5811,30 +5742,30 @@ msgid "Print packing list" msgstr "" #: order/templates/order/return_order_base.html:138 -#: order/templates/order/sales_order_base.html:151 -#: templates/js/translated/return_order.js:309 -#: templates/js/translated/sales_order.js:797 +#: order/templates/order/sales_order_base.html:155 +#: templates/js/translated/return_order.js:308 +#: templates/js/translated/sales_order.js:833 msgid "Customer Reference" msgstr "" #: order/templates/order/return_order_base.html:195 -#: order/templates/order/sales_order_base.html:235 +#: order/templates/order/sales_order_base.html:239 #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1072 -#: templates/js/translated/purchase_order.js:1753 -#: templates/js/translated/return_order.js:381 -#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/purchase_order.js:1752 +#: templates/js/translated/return_order.js:380 +#: templates/js/translated/sales_order.js:891 msgid "Total Cost" msgstr "Całkowity Koszt" -#: order/templates/order/return_order_base.html:263 +#: order/templates/order/return_order_base.html:259 msgid "Return Order QR Code" msgstr "" -#: order/templates/order/return_order_base.html:275 +#: order/templates/order/return_order_base.html:271 msgid "Link Barcode to Return Order" msgstr "" @@ -5852,25 +5783,30 @@ msgid "Ship Items" msgstr "" #: order/templates/order/sales_order_base.html:92 -#: templates/js/translated/sales_order.js:484 +#: order/templates/order/sales_order_base.html:93 +msgid "Mark As Shipped" +msgstr "" + +#: order/templates/order/sales_order_base.html:96 +#: templates/js/translated/sales_order.js:536 msgid "Complete Sales Order" msgstr "" -#: order/templates/order/sales_order_base.html:131 +#: order/templates/order/sales_order_base.html:135 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:169 +#: order/templates/order/sales_order_base.html:173 #: order/templates/order/sales_order_detail.html:99 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "" -#: order/templates/order/sales_order_base.html:312 +#: order/templates/order/sales_order_base.html:321 msgid "Sales Order QR Code" msgstr "" -#: order/templates/order/sales_order_base.html:324 +#: order/templates/order/sales_order_base.html:333 msgid "Link Barcode to Sales Order" msgstr "" @@ -5914,12 +5850,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:404 part/models.py:3921 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:406 part/models.py:3964 part/stocktake.py:218 #: stock/admin.py:153 msgid "Part ID" msgstr "ID komponentu" -#: part/admin.py:41 part/admin.py:411 part/models.py:3922 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:413 part/models.py:3965 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "Nazwa komponentu" @@ -5928,20 +5864,20 @@ msgstr "Nazwa komponentu" msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:904 part/templates/part/part_base.html:269 -#: report/templates/report/inventree_slr_report.html:103 -#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2341 -#: templates/js/translated/stock.js:2038 +#: part/admin.py:48 part/models.py:947 part/templates/part/part_base.html:269 +#: report/templates/report/inventree_stock_location_report.html:103 +#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 +#: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:913 part/templates/part/part_base.html:277 -#: report/models.py:195 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2347 +#: part/admin.py:50 part/models.py:956 part/templates/part/part_base.html:277 +#: report/models.py:161 templates/js/translated/part.js:1231 +#: templates/js/translated/part.js:2346 msgid "Revision" msgstr "Wersja" -#: part/admin.py:53 part/admin.py:317 part/models.py:886 +#: part/admin.py:53 part/admin.py:319 part/models.py:929 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "Słowa kluczowe" @@ -5950,15 +5886,15 @@ msgstr "Słowa kluczowe" msgid "Part Image" msgstr "" -#: part/admin.py:63 part/admin.py:300 part/stocktake.py:221 +#: part/admin.py:63 part/admin.py:302 part/stocktake.py:221 msgid "Category ID" msgstr "ID kategorii" -#: part/admin.py:67 part/admin.py:302 part/stocktake.py:222 +#: part/admin.py:67 part/admin.py:304 part/stocktake.py:222 msgid "Category Name" msgstr "" -#: part/admin.py:71 part/admin.py:314 +#: part/admin.py:71 part/admin.py:316 msgid "Default Location ID" msgstr "" @@ -5966,11 +5902,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:872 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:915 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "Wariant" -#: part/admin.py:84 part/models.py:1000 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1043 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "Minimalny stan magazynowy" @@ -5983,160 +5919,164 @@ msgstr "Użyte w" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3080 part/models.py:3094 +#: part/admin.py:155 part/models.py:3123 part/models.py:3137 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3087 part/models.py:3101 +#: part/admin.py:158 part/models.py:3130 part/models.py:3144 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" -#: part/admin.py:306 part/admin.py:393 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:211 msgid "Parent ID" msgstr "" -#: part/admin.py:310 part/admin.py:400 stock/admin.py:62 +#: part/admin.py:312 part/admin.py:402 stock/admin.py:62 msgid "Parent Name" msgstr "" -#: part/admin.py:318 part/templates/part/category.html:88 +#: part/admin.py:320 part/templates/part/category.html:88 #: part/templates/part/category.html:101 msgid "Category Path" msgstr "Ścieżka kategorii" -#: part/admin.py:323 part/models.py:391 part/serializers.py:117 +#: part/admin.py:325 part/models.py:393 part/serializers.py:117 #: part/serializers.py:272 part/serializers.py:391 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2803 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "Części" -#: part/admin.py:384 +#: part/admin.py:386 msgid "BOM Level" msgstr "" -#: part/admin.py:387 +#: part/admin.py:389 msgid "BOM Item ID" msgstr "" -#: part/admin.py:397 +#: part/admin.py:399 msgid "Parent IPN" msgstr "" -#: part/admin.py:408 part/models.py:3923 +#: part/admin.py:410 part/models.py:3966 msgid "Part IPN" msgstr "IPN komponentu" -#: part/admin.py:421 part/serializers.py:1261 +#: part/admin.py:423 part/serializers.py:1276 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:426 part/serializers.py:1276 +#: part/admin.py:428 part/serializers.py:1291 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:119 +#: part/api.py:112 msgid "Starred" msgstr "" -#: part/api.py:121 +#: part/api.py:114 msgid "Filter by starred categories" msgstr "" -#: part/api.py:138 stock/api.py:284 +#: part/api.py:131 stock/api.py:318 msgid "Depth" msgstr "" -#: part/api.py:138 +#: part/api.py:131 msgid "Filter by category depth" msgstr "" -#: part/api.py:156 stock/api.py:302 +#: part/api.py:149 stock/api.py:336 msgid "Cascade" msgstr "" -#: part/api.py:158 +#: part/api.py:151 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:178 +#: part/api.py:171 msgid "Parent" msgstr "" -#: part/api.py:180 +#: part/api.py:173 msgid "Filter by parent category" msgstr "" -#: part/api.py:213 +#: part/api.py:206 msgid "Exclude Tree" msgstr "" -#: part/api.py:215 +#: part/api.py:208 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:461 +#: part/api.py:455 msgid "Has Results" msgstr "" -#: part/api.py:628 +#: part/api.py:622 msgid "Incoming Purchase Order" msgstr "Nadchodzące zlecenie zakupu" -#: part/api.py:646 +#: part/api.py:640 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:662 +#: part/api.py:656 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:746 +#: part/api.py:740 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:893 +#: part/api.py:887 msgid "Valid" msgstr "Ważny" -#: part/api.py:894 +#: part/api.py:888 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:900 +#: part/api.py:894 msgid "This option must be selected" msgstr "Ta opcja musi być zaznaczona" -#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866 -#: part/serializers.py:406 part/serializers.py:1117 -#: part/templates/part/part_base.html:260 stock/api.py:745 +#: part/api.py:1111 +msgid "BOM Valid" +msgstr "" + +#: part/api.py:1515 part/models.py:939 part/models.py:3429 part/models.py:3909 +#: part/serializers.py:406 part/serializers.py:1132 +#: part/templates/part/part_base.html:260 stock/api.py:779 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2377 +#: templates/js/translated/part.js:2376 msgid "Category" msgstr "Kategoria" -#: part/api.py:1849 +#: part/api.py:1803 msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:101 part/models.py:939 +#: part/bom.py:170 part/models.py:102 part/models.py:982 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "Domyślna lokalizacja" -#: part/bom.py:171 part/serializers.py:822 +#: part/bom.py:171 part/serializers.py:837 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6145,698 +6085,712 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:82 part/models.py:3867 part/templates/part/category.html:16 +#: part/models.py:83 part/models.py:3910 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Kategoria komponentu" -#: part/models.py:83 part/templates/part/category.html:136 +#: part/models.py:84 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "Kategorie części" -#: part/models.py:102 +#: part/models.py:103 msgid "Default location for parts in this category" msgstr "Domyślna lokalizacja dla komponentów w tej kategorii" -#: part/models.py:107 stock/models.py:165 templates/js/translated/part.js:2810 -#: templates/js/translated/stock.js:2775 +#: part/models.py:108 stock/models.py:177 templates/js/translated/part.js:2809 +#: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "" -#: part/models.py:109 +#: part/models.py:110 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:118 +#: part/models.py:119 msgid "Default keywords" msgstr "Domyślne słowa kluczowe" -#: part/models.py:119 +#: part/models.py:120 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:125 stock/models.py:89 stock/models.py:148 +#: part/models.py:126 stock/models.py:89 stock/models.py:160 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:126 stock/models.py:149 +#: part/models.py:127 stock/models.py:161 msgid "Icon (optional)" msgstr "" -#: part/models.py:148 +#: part/models.py:149 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:484 +#: part/models.py:482 +msgid "Cannot delete this part as it is still active" +msgstr "" + +#: part/models.py:489 +msgid "Cannot delete this part as it is used in an assembly" +msgstr "" + +#: part/models.py:527 msgid "Invalid choice for parent part" msgstr "Nieprawidłowy wybór dla części nadrzędnej" -#: part/models.py:532 part/models.py:539 +#: part/models.py:575 part/models.py:582 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:551 +#: part/models.py:594 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:616 +#: part/models.py:659 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:696 +#: part/models.py:739 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:801 +#: part/models.py:844 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:811 +#: part/models.py:854 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:826 +#: part/models.py:869 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:855 part/models.py:3922 +#: part/models.py:898 part/models.py:3965 msgid "Part name" msgstr "Nazwa komponentu" -#: part/models.py:860 +#: part/models.py:903 msgid "Is Template" msgstr "Czy szablon" -#: part/models.py:861 +#: part/models.py:904 msgid "Is this part a template part?" msgstr "Czy ta część stanowi szablon części?" -#: part/models.py:871 +#: part/models.py:914 msgid "Is this part a variant of another part?" msgstr "Czy ta część jest wariantem innej części?" -#: part/models.py:879 +#: part/models.py:922 msgid "Part description (optional)" msgstr "" -#: part/models.py:887 +#: part/models.py:930 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:897 +#: part/models.py:940 msgid "Part category" msgstr "" -#: part/models.py:905 +#: part/models.py:948 msgid "Internal Part Number" msgstr "" -#: part/models.py:912 +#: part/models.py:955 msgid "Part revision or version number" msgstr "" -#: part/models.py:937 +#: part/models.py:980 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:983 part/templates/part/part_base.html:376 +#: part/models.py:1026 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:984 +#: part/models.py:1027 msgid "Default supplier part" msgstr "" -#: part/models.py:991 +#: part/models.py:1034 msgid "Default Expiry" msgstr "Domyślne wygasanie" -#: part/models.py:992 +#: part/models.py:1035 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1001 +#: part/models.py:1044 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1010 +#: part/models.py:1053 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1017 +#: part/models.py:1060 msgid "Can this part be built from other parts?" msgstr "Czy ten komponent może być zbudowany z innych komponentów?" -#: part/models.py:1023 +#: part/models.py:1066 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:1029 +#: part/models.py:1072 msgid "Does this part have tracking for unique items?" msgstr "Czy ta część wymaga śledzenia każdego towaru z osobna?" -#: part/models.py:1035 +#: part/models.py:1078 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1041 +#: part/models.py:1084 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1045 +#: part/models.py:1088 msgid "Is this part active?" msgstr "Czy ta część jest aktywna?" -#: part/models.py:1051 +#: part/models.py:1094 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:1057 +#: part/models.py:1100 msgid "BOM checksum" msgstr "" -#: part/models.py:1058 +#: part/models.py:1101 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1066 +#: part/models.py:1109 msgid "BOM checked by" msgstr "" -#: part/models.py:1071 +#: part/models.py:1114 msgid "BOM checked date" msgstr "" -#: part/models.py:1087 +#: part/models.py:1130 msgid "Creation User" msgstr "Tworzenie użytkownika" -#: part/models.py:1097 +#: part/models.py:1140 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1102 part/templates/part/part_base.html:339 +#: part/models.py:1145 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 -#: templates/js/translated/part.js:2471 +#: templates/js/translated/part.js:2470 msgid "Last Stocktake" msgstr "Ostatnia inwentaryzacja" -#: part/models.py:1975 +#: part/models.py:2018 msgid "Sell multiple" msgstr "Sprzedaj wiele" -#: part/models.py:2994 +#: part/models.py:3037 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3010 +#: part/models.py:3053 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3011 +#: part/models.py:3054 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3017 +#: part/models.py:3060 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3018 +#: part/models.py:3061 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3024 +#: part/models.py:3067 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3025 +#: part/models.py:3068 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3031 +#: part/models.py:3074 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3032 +#: part/models.py:3075 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3038 +#: part/models.py:3081 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3039 +#: part/models.py:3082 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3045 +#: part/models.py:3088 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3046 +#: part/models.py:3089 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3052 +#: part/models.py:3095 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3053 +#: part/models.py:3096 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3059 +#: part/models.py:3102 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3060 +#: part/models.py:3103 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3066 +#: part/models.py:3109 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3067 +#: part/models.py:3110 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3073 +#: part/models.py:3116 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3074 +#: part/models.py:3117 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3081 +#: part/models.py:3124 msgid "Override minimum cost" msgstr "" -#: part/models.py:3088 +#: part/models.py:3131 msgid "Override maximum cost" msgstr "" -#: part/models.py:3095 +#: part/models.py:3138 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3102 +#: part/models.py:3145 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3108 +#: part/models.py:3151 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3109 +#: part/models.py:3152 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3115 +#: part/models.py:3158 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3116 +#: part/models.py:3159 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3122 +#: part/models.py:3165 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3123 +#: part/models.py:3166 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3129 +#: part/models.py:3172 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3130 +#: part/models.py:3173 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3149 +#: part/models.py:3192 msgid "Part for stocktake" msgstr "" -#: part/models.py:3154 +#: part/models.py:3197 msgid "Item Count" msgstr "" -#: part/models.py:3155 +#: part/models.py:3198 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3163 +#: part/models.py:3206 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3167 part/models.py:3250 +#: part/models.py:3210 part/models.py:3293 #: part/templates/part/part_scheduling.html:13 -#: report/templates/report/inventree_test_report_base.html:106 +#: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 #: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 -#: templates/js/translated/purchase_order.js:1732 -#: templates/js/translated/stock.js:2824 +#: templates/js/translated/purchase_order.js:1731 +#: templates/js/translated/stock.js:2821 msgid "Date" msgstr "Data" -#: part/models.py:3168 +#: part/models.py:3211 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3176 +#: part/models.py:3219 msgid "Additional notes" msgstr "" -#: part/models.py:3186 +#: part/models.py:3229 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3192 +#: part/models.py:3235 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3193 +#: part/models.py:3236 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3199 +#: part/models.py:3242 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3200 +#: part/models.py:3243 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3256 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3299 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3257 +#: part/models.py:3300 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3262 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3305 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3263 +#: part/models.py:3306 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3273 +#: part/models.py:3316 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3435 +#: part/models.py:3478 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3446 +#: part/models.py:3489 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3457 +#: part/models.py:3500 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3474 templates/js/translated/part.js:2879 +#: part/models.py:3517 templates/js/translated/part.js:2878 msgid "Test Name" msgstr "Nazwa testu" -#: part/models.py:3475 +#: part/models.py:3518 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3481 +#: part/models.py:3524 msgid "Test Key" msgstr "" -#: part/models.py:3482 +#: part/models.py:3525 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3489 +#: part/models.py:3532 msgid "Test Description" msgstr "Testowy opis" -#: part/models.py:3490 +#: part/models.py:3533 msgid "Enter description for this test" msgstr "Wprowadź opis do tego testu" -#: part/models.py:3494 +#: part/models.py:3537 report/models.py:208 +#: templates/js/translated/part.js:2899 +#: templates/js/translated/table_filters.js:481 +msgid "Enabled" +msgstr "Aktywne" + +#: part/models.py:3537 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3499 templates/js/translated/part.js:2908 +#: part/models.py:3542 templates/js/translated/part.js:2907 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "Wymagane" -#: part/models.py:3500 +#: part/models.py:3543 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3505 templates/js/translated/part.js:2916 +#: part/models.py:3548 templates/js/translated/part.js:2915 msgid "Requires Value" msgstr "Wymaga wartości" -#: part/models.py:3506 +#: part/models.py:3549 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3511 templates/js/translated/part.js:2923 +#: part/models.py:3554 templates/js/translated/part.js:2922 msgid "Requires Attachment" msgstr "Wymaga załącznika" -#: part/models.py:3513 +#: part/models.py:3556 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3560 +#: part/models.py:3603 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3565 +#: part/models.py:3608 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3585 +#: part/models.py:3628 msgid "Choices must be unique" msgstr "" -#: part/models.py:3602 +#: part/models.py:3645 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3617 +#: part/models.py:3660 msgid "Parameter Name" msgstr "" -#: part/models.py:3624 +#: part/models.py:3667 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3632 +#: part/models.py:3675 msgid "Parameter description" msgstr "" -#: part/models.py:3638 templates/js/translated/part.js:1627 +#: part/models.py:3681 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3639 +#: part/models.py:3682 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3644 templates/js/translated/part.js:1636 +#: part/models.py:3687 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3645 +#: part/models.py:3688 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3722 +#: part/models.py:3765 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3765 +#: part/models.py:3808 msgid "Parent Part" msgstr "Część nadrzędna" -#: part/models.py:3773 part/models.py:3874 part/models.py:3875 +#: part/models.py:3816 part/models.py:3917 part/models.py:3918 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3778 +#: part/models.py:3821 msgid "Data" msgstr "Dane" -#: part/models.py:3779 +#: part/models.py:3822 msgid "Parameter Value" msgstr "Wartość parametru" -#: part/models.py:3881 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3924 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "Wartość domyślna" -#: part/models.py:3882 +#: part/models.py:3925 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3920 +#: part/models.py:3963 msgid "Part ID or part name" msgstr "" -#: part/models.py:3921 +#: part/models.py:3964 msgid "Unique part ID value" msgstr "Unikalny wartość ID komponentu" -#: part/models.py:3923 +#: part/models.py:3966 msgid "Part IPN value" msgstr "Wartość IPN części" -#: part/models.py:3924 +#: part/models.py:3967 msgid "Level" msgstr "Poziom" -#: part/models.py:3924 +#: part/models.py:3967 msgid "BOM level" msgstr "" -#: part/models.py:4014 +#: part/models.py:4057 msgid "Select parent part" msgstr "Wybierz część nadrzędną" -#: part/models.py:4024 +#: part/models.py:4067 msgid "Sub part" msgstr "Podczęść" -#: part/models.py:4025 +#: part/models.py:4068 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4036 +#: part/models.py:4079 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4042 +#: part/models.py:4085 msgid "This BOM item is optional" msgstr "Ten element BOM jest opcjonalny" -#: part/models.py:4048 +#: part/models.py:4091 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4055 part/templates/part/upload_bom.html:55 +#: part/models.py:4098 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4056 +#: part/models.py:4099 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4063 +#: part/models.py:4106 msgid "BOM item reference" msgstr "" -#: part/models.py:4071 +#: part/models.py:4114 msgid "BOM item notes" msgstr "Notatki pozycji BOM" -#: part/models.py:4077 +#: part/models.py:4120 msgid "Checksum" msgstr "Suma kontrolna" -#: part/models.py:4078 +#: part/models.py:4121 msgid "BOM line checksum" msgstr "" -#: part/models.py:4083 templates/js/translated/table_filters.js:174 +#: part/models.py:4126 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "Zatwierdzone" -#: part/models.py:4084 +#: part/models.py:4127 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4089 part/templates/part/upload_bom.html:57 +#: part/models.py:4132 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4090 +#: part/models.py:4133 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4095 part/templates/part/upload_bom.html:56 +#: part/models.py:4138 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "Zezwalaj na warianty" -#: part/models.py:4096 +#: part/models.py:4139 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4181 stock/models.py:647 +#: part/models.py:4224 stock/models.py:668 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4191 part/models.py:4193 +#: part/models.py:4234 part/models.py:4236 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4333 +#: part/models.py:4376 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4354 +#: part/models.py:4397 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4367 +#: part/models.py:4410 msgid "Parent BOM item" msgstr "" -#: part/models.py:4375 +#: part/models.py:4418 msgid "Substitute part" msgstr "Część zastępcza" -#: part/models.py:4391 +#: part/models.py:4434 msgid "Part 1" msgstr "Część 1" -#: part/models.py:4399 +#: part/models.py:4442 msgid "Part 2" msgstr "Część 2" -#: part/models.py:4400 +#: part/models.py:4443 msgid "Select Related Part" msgstr "Wybierz powiązaną część" -#: part/models.py:4419 +#: part/models.py:4462 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4424 +#: part/models.py:4467 msgid "Duplicate relationship already exists" msgstr "" @@ -6854,7 +6808,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:406 +#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:535 msgid "Purchase currency of this stock item" msgstr "Waluta zakupu tego towaru" @@ -6870,299 +6824,299 @@ msgstr "" msgid "Select category" msgstr "" -#: part/serializers.py:437 +#: part/serializers.py:442 msgid "Original Part" msgstr "" -#: part/serializers.py:438 +#: part/serializers.py:443 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:448 msgid "Copy Image" msgstr "Kopiuj obraz" -#: part/serializers.py:444 +#: part/serializers.py:449 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:450 part/templates/part/detail.html:277 +#: part/serializers.py:455 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "Kopiuj BOM" -#: part/serializers.py:451 +#: part/serializers.py:456 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:462 msgid "Copy Parameters" msgstr "Kopiuj parametry" -#: part/serializers.py:458 +#: part/serializers.py:463 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:464 +#: part/serializers.py:469 msgid "Copy Notes" msgstr "" -#: part/serializers.py:465 +#: part/serializers.py:470 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:478 +#: part/serializers.py:488 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:490 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:487 +#: part/serializers.py:497 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:488 +#: part/serializers.py:498 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:500 +#: part/serializers.py:515 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:531 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:526 +#: part/serializers.py:541 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:533 +#: part/serializers.py:548 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:542 +#: part/serializers.py:557 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:553 +#: part/serializers.py:568 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:560 +#: part/serializers.py:575 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:823 +#: part/serializers.py:838 msgid "External Stock" msgstr "" -#: part/serializers.py:825 +#: part/serializers.py:840 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:828 +#: part/serializers.py:843 msgid "Variant Stock" msgstr "" -#: part/serializers.py:856 part/templates/part/copy_part.html:9 +#: part/serializers.py:871 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "Duplikuj część" -#: part/serializers.py:857 +#: part/serializers.py:872 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:863 templates/js/translated/part.js:102 +#: part/serializers.py:878 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:864 +#: part/serializers.py:879 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:870 +#: part/serializers.py:885 msgid "Supplier Information" msgstr "" -#: part/serializers.py:871 +#: part/serializers.py:886 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:879 +#: part/serializers.py:894 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:880 +#: part/serializers.py:895 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:885 +#: part/serializers.py:900 msgid "Existing Image" msgstr "" -#: part/serializers.py:886 +#: part/serializers.py:901 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:918 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1109 +#: part/serializers.py:1124 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1119 +#: part/serializers.py:1134 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1129 +#: part/serializers.py:1144 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1135 +#: part/serializers.py:1150 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1136 +#: part/serializers.py:1151 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1141 +#: part/serializers.py:1156 msgid "Generate Report" msgstr "" -#: part/serializers.py:1142 +#: part/serializers.py:1157 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1147 +#: part/serializers.py:1162 msgid "Update Parts" msgstr "" -#: part/serializers.py:1148 +#: part/serializers.py:1163 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1156 +#: part/serializers.py:1171 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1262 +#: part/serializers.py:1277 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1269 +#: part/serializers.py:1284 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1277 +#: part/serializers.py:1292 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1284 +#: part/serializers.py:1299 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1313 +#: part/serializers.py:1328 msgid "Update" msgstr "" -#: part/serializers.py:1314 +#: part/serializers.py:1329 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1337 +#: part/serializers.py:1352 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1344 +#: part/serializers.py:1359 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1347 +#: part/serializers.py:1362 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1714 +#: part/serializers.py:1729 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1722 +#: part/serializers.py:1737 msgid "Remove Existing Data" msgstr "Usuń istniejące dane" -#: part/serializers.py:1723 +#: part/serializers.py:1738 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1728 +#: part/serializers.py:1743 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1729 +#: part/serializers.py:1744 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1734 +#: part/serializers.py:1749 msgid "Skip Invalid Rows" msgstr "Pomiń nieprawidłowe wiersze" -#: part/serializers.py:1735 +#: part/serializers.py:1750 msgid "Enable this option to skip invalid rows" msgstr "Włącz tę opcję, aby pominąć nieprawidłowe wiersze" -#: part/serializers.py:1740 +#: part/serializers.py:1755 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1756 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1775 +#: part/serializers.py:1790 msgid "Clear Existing BOM" msgstr "Wyczyść istniejący BOM" -#: part/serializers.py:1776 +#: part/serializers.py:1791 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1806 +#: part/serializers.py:1821 msgid "No part column specified" msgstr "" -#: part/serializers.py:1850 +#: part/serializers.py:1865 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1853 +#: part/serializers.py:1868 msgid "No matching part found" msgstr "" -#: part/serializers.py:1856 +#: part/serializers.py:1871 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1865 +#: part/serializers.py:1880 msgid "Quantity not provided" msgstr "Nie podano ilości" -#: part/serializers.py:1873 +#: part/serializers.py:1888 msgid "Invalid quantity" msgstr "Nieprawidłowa ilość" -#: part/serializers.py:1894 +#: part/serializers.py:1909 msgid "At least one BOM item is required" msgstr "" #: part/stocktake.py:224 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:2085 +#: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" @@ -7314,7 +7268,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2218 users/models.py:204 +#: templates/js/translated/stock.js:2216 users/models.py:204 msgid "Stocktake" msgstr "" @@ -7412,15 +7366,15 @@ msgstr "Dostawcy Części" msgid "Part Manufacturers" msgstr "Producenci części" -#: part/templates/part/detail.html:659 +#: part/templates/part/detail.html:655 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:667 +#: part/templates/part/detail.html:663 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:752 +#: part/templates/part/detail.html:748 msgid "Add Test Result Template" msgstr "" @@ -7479,7 +7433,7 @@ msgstr "Włącz powiadomienia dla tej części" #: part/templates/part/part_base.html:52 #: stock/templates/stock/item_base.html:62 -#: stock/templates/stock/location.html:74 +#: stock/templates/stock/location.html:74 templates/js/translated/label.js:142 msgid "Print Label" msgstr "Drukuj etykietę" @@ -7501,7 +7455,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2293 +#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2292 msgid "Part actions" msgstr "" @@ -7550,7 +7504,7 @@ msgid "Part is virtual (not a physical part)" msgstr "Część jest wirtualna (nie fizyczna)" #: part/templates/part/part_base.html:163 -#: part/templates/part/part_base.html:682 +#: part/templates/part/part_base.html:681 msgid "Show Part Details" msgstr "" @@ -7573,7 +7527,7 @@ msgid "Minimum stock level" msgstr "Minimalny poziom stanu magazynowego" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2444 +#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2443 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7596,19 +7550,19 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:512 +#: part/templates/part/part_base.html:511 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:529 +#: part/templates/part/part_base.html:528 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:580 +#: part/templates/part/part_base.html:579 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:676 +#: part/templates/part/part_base.html:675 msgid "Hide Part Details" msgstr "" @@ -7667,8 +7621,8 @@ msgstr "Warianty" #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 -#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 -#: templates/js/translated/stock.js:2072 templates/navbar.html:31 +#: templates/js/translated/part.js:2391 templates/js/translated/stock.js:1059 +#: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "Stan" @@ -7714,7 +7668,7 @@ msgstr "" #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 -#: templates/js/translated/stock.js:2248 +#: templates/js/translated/stock.js:2246 msgid "Last Updated" msgstr "Ostatnia aktualizacja" @@ -7786,7 +7740,7 @@ msgid "Update Pricing" msgstr "" #: part/templates/part/stock_count.html:7 -#: templates/js/translated/model_renderers.js:221 +#: templates/js/translated/model_renderers.js:227 #: templates/js/translated/part.js:704 templates/js/translated/part.js:2140 #: templates/js/translated/part.js:2142 msgid "No Stock" @@ -7866,7 +7820,7 @@ msgstr "Nie znaleziono obrazka części" msgid "Part Pricing" msgstr "Cennik części" -#: plugin/api.py:168 +#: plugin/api.py:170 msgid "Plugin cannot be deleted as it is currently active" msgstr "" @@ -7933,7 +7887,7 @@ msgid "Stock item does not match line item" msgstr "" #: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2589 -#: templates/js/translated/sales_order.js:1917 +#: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "" @@ -8027,22 +7981,18 @@ msgstr "" msgid "Quantity to allocate" msgstr "" -#: plugin/base/label/label.py:39 +#: plugin/base/label/label.py:39 templates/js/translated/label.js:154 msgid "Label printing failed" msgstr "" -#: plugin/base/label/mixins.py:63 +#: plugin/base/label/mixins.py:56 msgid "Error rendering label to PDF" msgstr "" -#: plugin/base/label/mixins.py:76 +#: plugin/base/label/mixins.py:70 msgid "Error rendering label to HTML" msgstr "" -#: plugin/base/label/mixins.py:111 -msgid "Error rendering label to PNG" -msgstr "" - #: plugin/builtin/barcodes/inventree_barcode.py:25 msgid "InvenTree Barcodes" msgstr "" @@ -8054,7 +8004,7 @@ msgstr "" #: plugin/builtin/barcodes/inventree_barcode.py:28 #: plugin/builtin/integration/core_notifications.py:35 #: plugin/builtin/integration/currency_exchange.py:21 -#: plugin/builtin/labels/inventree_label.py:23 +#: plugin/builtin/labels/inventree_label.py:22 #: plugin/builtin/labels/inventree_machine.py:64 #: plugin/builtin/labels/label_sheet.py:63 #: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 @@ -8108,19 +8058,19 @@ msgstr "" msgid "Default currency exchange integration" msgstr "" -#: plugin/builtin/labels/inventree_label.py:20 +#: plugin/builtin/labels/inventree_label.py:19 msgid "InvenTree PDF label printer" msgstr "" -#: plugin/builtin/labels/inventree_label.py:21 +#: plugin/builtin/labels/inventree_label.py:20 msgid "Provides native support for printing PDF labels" msgstr "" -#: plugin/builtin/labels/inventree_label.py:29 +#: plugin/builtin/labels/inventree_label.py:28 msgid "Debug mode" msgstr "" -#: plugin/builtin/labels/inventree_label.py:30 +#: plugin/builtin/labels/inventree_label.py:29 msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "" @@ -8132,11 +8082,11 @@ msgstr "" msgid "Provides support for printing using a machine" msgstr "" -#: plugin/builtin/labels/inventree_machine.py:150 +#: plugin/builtin/labels/inventree_machine.py:151 msgid "last used" msgstr "" -#: plugin/builtin/labels/inventree_machine.py:167 +#: plugin/builtin/labels/inventree_machine.py:168 msgid "Options" msgstr "" @@ -8160,7 +8110,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:47 report/models.py:209 +#: plugin/builtin/labels/label_sheet.py:47 report/models.py:308 msgid "Landscape" msgstr "" @@ -8176,11 +8126,11 @@ msgstr "" msgid "Arrays multiple labels onto a single sheet" msgstr "" -#: plugin/builtin/labels/label_sheet.py:94 +#: plugin/builtin/labels/label_sheet.py:99 msgid "Label is too large for page size" msgstr "" -#: plugin/builtin/labels/label_sheet.py:128 +#: plugin/builtin/labels/label_sheet.py:133 msgid "No labels were generated" msgstr "" @@ -8273,61 +8223,62 @@ msgstr "" msgid "Uninstalled plugin successfully" msgstr "" -#: plugin/models.py:30 +#: plugin/models.py:35 msgid "Plugin Configuration" msgstr "Konfiguracja wtyczki" -#: plugin/models.py:31 +#: plugin/models.py:36 msgid "Plugin Configurations" msgstr "Konfiguracja wtyczek" -#: plugin/models.py:34 users/models.py:100 +#: plugin/models.py:42 users/models.py:100 msgid "Key" msgstr "Klucz" -#: plugin/models.py:34 +#: plugin/models.py:43 msgid "Key of plugin" msgstr "Klucz wtyczki" -#: plugin/models.py:42 +#: plugin/models.py:51 msgid "PluginName of the plugin" msgstr "Nazwa wtyczki" -#: plugin/models.py:49 plugin/serializers.py:90 +#: plugin/models.py:58 plugin/serializers.py:90 msgid "Package Name" msgstr "Nazwa pakietu" -#: plugin/models.py:51 +#: plugin/models.py:60 msgid "Name of the installed package, if the plugin was installed via PIP" msgstr "" -#: plugin/models.py:56 +#: plugin/models.py:65 msgid "Is the plugin active" msgstr "Czy wtyczka jest aktywna" -#: plugin/models.py:147 templates/js/translated/table_filters.js:370 +#: plugin/models.py:156 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "Zainstalowane" -#: plugin/models.py:156 +#: plugin/models.py:165 msgid "Sample plugin" msgstr "" -#: plugin/models.py:164 +#: plugin/models.py:173 msgid "Builtin Plugin" msgstr "Wtyczka wbudowana" -#: plugin/models.py:172 +#: plugin/models.py:181 msgid "Package Plugin" msgstr "" -#: plugin/models.py:196 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:205 report/models.py:475 +#: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" msgstr "Wtyczka" -#: plugin/models.py:243 +#: plugin/models.py:252 msgid "Method" msgstr "Metoda" @@ -8468,239 +8419,323 @@ msgstr "" msgid "Delete the plugin configuration from the database" msgstr "" -#: report/api.py:158 +#: report/api.py:77 msgid "No valid objects provided to template" msgstr "Brak prawidłowych obiektów do szablonu" -#: report/api.py:197 report/api.py:234 +#: report/api.py:89 report/serializers.py:53 +msgid "Model Type" +msgstr "" + +#: report/api.py:92 report/models.py:439 report/serializers.py:98 +#: report/serializers.py:148 templates/js/translated/purchase_order.js:1747 +#: templates/js/translated/return_order.js:353 +#: templates/js/translated/sales_order.js:887 +#: templates/js/translated/sales_order.js:1047 +msgid "Items" +msgstr "" + +#: report/api.py:168 +msgid "Plugin not found" +msgstr "" + +#: report/api.py:170 +msgid "Plugin is not active" +msgstr "" + +#: report/api.py:172 +msgid "Plugin does not support label printing" +msgstr "" + +#: report/api.py:221 +msgid "Invalid label dimensions" +msgstr "" + +#: report/api.py:236 report/api.py:316 +msgid "No valid items provided to template" +msgstr "" + +#: report/api.py:271 +msgid "Error printing label" +msgstr "" + +#: report/api.py:362 report/api.py:398 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "Plik szablonu '{template}' jest brakujący lub nie istnieje" -#: report/api.py:319 -msgid "Test report" -msgstr "Raporty z testów" - -#: report/helpers.py:15 +#: report/helpers.py:41 msgid "A4" msgstr "" -#: report/helpers.py:16 +#: report/helpers.py:42 msgid "A3" msgstr "" -#: report/helpers.py:17 +#: report/helpers.py:43 msgid "Legal" msgstr "" -#: report/helpers.py:18 +#: report/helpers.py:44 msgid "Letter" msgstr "" -#: report/models.py:177 +#: report/models.py:118 +msgid "Template file with this name already exists" +msgstr "" + +#: report/models.py:150 msgid "Template name" msgstr "Nazwa szablonu" -#: report/models.py:183 -msgid "Report template file" -msgstr "Plik szablonu raportu" +#: report/models.py:156 +msgid "Template description" +msgstr "" -#: report/models.py:190 -msgid "Report template description" -msgstr "Opis szablonu raportu" +#: report/models.py:162 +msgid "Revision number (auto-increments)" +msgstr "" -#: report/models.py:196 -msgid "Report revision number (auto-increments)" -msgstr "Numer zmiany raportu (przyrasta automatycznie)" +#: report/models.py:202 +msgid "Filename Pattern" +msgstr "Wzór nazwy pliku" -#: report/models.py:204 +#: report/models.py:203 +msgid "Pattern for generating filenames" +msgstr "" + +#: report/models.py:208 +msgid "Template is enabled" +msgstr "" + +#: report/models.py:214 +msgid "Target model type for template" +msgstr "" + +#: report/models.py:234 +msgid "Filters" +msgstr "Filtry" + +#: report/models.py:235 +msgid "Template query filters (comma-separated list of key=value pairs)" +msgstr "" + +#: report/models.py:295 report/models.py:362 +msgid "Template file" +msgstr "" + +#: report/models.py:303 msgid "Page size for PDF reports" msgstr "Domyślna wielkość strony dla raportów PDF" -#: report/models.py:210 +#: report/models.py:309 msgid "Render report in landscape orientation" msgstr "Renderuj raport w orientacji poziomej" -#: report/models.py:318 -msgid "Pattern for generating report filenames" -msgstr "Wzorzec generowania nazw plików raportu" +#: report/models.py:368 +msgid "Width [mm]" +msgstr "Szerokość [mm]" -#: report/models.py:325 -msgid "Report template is enabled" -msgstr "Szablon raportu jest włączony" - -#: report/models.py:347 -msgid "StockItem query filters (comma-separated list of key=value pairs)" +#: report/models.py:369 +msgid "Label width, specified in mm" msgstr "" -#: report/models.py:354 -msgid "Include Installed Tests" +#: report/models.py:375 +msgid "Height [mm]" +msgstr "Wysokość [mm]" + +#: report/models.py:376 +msgid "Label height, specified in mm" msgstr "" -#: report/models.py:356 -msgid "Include test results for stock items installed inside assembled item" +#: report/models.py:439 +msgid "Number of items to process" msgstr "" -#: report/models.py:424 -msgid "Build Filters" +#: report/models.py:445 +msgid "Report generation is complete" msgstr "" -#: report/models.py:425 -msgid "Build query filters (comma-separated list of key=value pairs" +#: report/models.py:449 templates/js/translated/build.js:2177 +msgid "Progress" msgstr "" -#: report/models.py:464 -msgid "Part Filters" -msgstr "Filtr części" - -#: report/models.py:465 -msgid "Part query filters (comma-separated list of key=value pairs" +#: report/models.py:449 +msgid "Report generation progress" msgstr "" -#: report/models.py:497 -msgid "Purchase order query filters" -msgstr "Filtry zapytania zleceń zakupu" - -#: report/models.py:533 -msgid "Sales order query filters" +#: report/models.py:457 +msgid "Report Template" msgstr "" -#: report/models.py:569 -msgid "Return order query filters" +#: report/models.py:464 report/models.py:487 +msgid "Output File" msgstr "" -#: report/models.py:641 -msgid "Snippet file with this name already exists" +#: report/models.py:465 report/models.py:488 +msgid "Generated output file" msgstr "" -#: report/models.py:648 +#: report/models.py:476 +msgid "Label output plugin" +msgstr "" + +#: report/models.py:480 +msgid "Label Template" +msgstr "" + +#: report/models.py:503 msgid "Snippet" msgstr "Wycinek" -#: report/models.py:649 +#: report/models.py:504 msgid "Report snippet file" msgstr "" -#: report/models.py:656 +#: report/models.py:511 msgid "Snippet file description" msgstr "" -#: report/models.py:714 -msgid "Asset file with this name already exists" -msgstr "" - -#: report/models.py:722 +#: report/models.py:529 msgid "Asset" msgstr "" -#: report/models.py:723 +#: report/models.py:530 msgid "Report asset file" msgstr "" -#: report/models.py:730 +#: report/models.py:537 msgid "Asset file description" msgstr "" -#: report/models.py:752 -msgid "stock location query filters (comma-separated list of key=value pairs)" +#: report/serializers.py:91 +msgid "Select report template" +msgstr "" + +#: report/serializers.py:99 report/serializers.py:149 +msgid "List of item primary keys to include in the report" +msgstr "" + +#: report/serializers.py:132 +msgid "Select label template" +msgstr "" + +#: report/serializers.py:140 +msgid "Printing Plugin" +msgstr "" + +#: report/serializers.py:141 +msgid "Select plugin to use for label printing" +msgstr "" + +#: report/templates/label/part_label.html:31 +#: report/templates/label/stockitem_qr.html:21 +#: report/templates/label/stocklocation_qr.html:20 +#: templates/allauth_2fa/setup.html:18 +msgid "QR Code" +msgstr "" + +#: report/templates/label/part_label_code128.html:31 +#: report/templates/label/stocklocation_qr_and_text.html:31 +#: templates/qr_code.html:7 +msgid "QR code" msgstr "" #: report/templates/report/inventree_bill_of_materials_report.html:133 msgid "Materials needed" msgstr "" -#: report/templates/report/inventree_build_order_base.html:146 +#: report/templates/report/inventree_build_order_report.html:146 msgid "Required For" msgstr "" -#: report/templates/report/inventree_po_report_base.html:15 +#: report/templates/report/inventree_purchase_order_report.html:15 msgid "Supplier was deleted" msgstr "" -#: report/templates/report/inventree_po_report_base.html:30 -#: report/templates/report/inventree_so_report_base.html:30 +#: report/templates/report/inventree_purchase_order_report.html:30 +#: report/templates/report/inventree_sales_order_report.html:30 #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:834 -#: templates/js/translated/purchase_order.js:2116 -#: templates/js/translated/sales_order.js:1837 +#: templates/js/translated/purchase_order.js:2115 +#: templates/js/translated/sales_order.js:1873 msgid "Unit Price" msgstr "Cena jednostkowa" -#: report/templates/report/inventree_po_report_base.html:55 -#: report/templates/report/inventree_return_order_report_base.html:48 -#: report/templates/report/inventree_so_report_base.html:55 +#: report/templates/report/inventree_purchase_order_report.html:55 +#: report/templates/report/inventree_return_order_report.html:48 +#: report/templates/report/inventree_sales_order_report.html:55 msgid "Extra Line Items" 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:2018 -#: templates/js/translated/sales_order.js:1806 +#: report/templates/report/inventree_purchase_order_report.html:72 +#: report/templates/report/inventree_sales_order_report.html:72 +#: templates/js/translated/purchase_order.js:2017 +#: templates/js/translated/sales_order.js:1842 msgid "Total" msgstr "Razem" -#: report/templates/report/inventree_return_order_report_base.html:25 -#: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:809 stock/templates/stock/item_base.html:311 +#: report/templates/report/inventree_return_order_report.html:25 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:830 +#: stock/serializers.py:150 stock/templates/stock/item_base.html:311 #: templates/js/translated/build.js:519 templates/js/translated/build.js:1367 #: templates/js/translated/build.js:2355 -#: templates/js/translated/model_renderers.js:224 -#: templates/js/translated/return_order.js:540 -#: templates/js/translated/return_order.js:724 +#: templates/js/translated/model_renderers.js:230 +#: templates/js/translated/return_order.js:539 +#: templates/js/translated/return_order.js:723 #: templates/js/translated/sales_order.js:315 -#: templates/js/translated/sales_order.js:1611 -#: templates/js/translated/sales_order.js:1696 +#: templates/js/translated/sales_order.js:1647 +#: templates/js/translated/sales_order.js:1732 #: templates/js/translated/stock.js:596 msgid "Serial Number" msgstr "Numer Seryjny" -#: report/templates/report/inventree_slr_report.html:97 +#: report/templates/report/inventree_stock_location_report.html:97 msgid "Stock location items" msgstr "" -#: report/templates/report/inventree_test_report_base.html:21 +#: report/templates/report/inventree_test_report.html:21 msgid "Stock Item Test Report" msgstr "" -#: report/templates/report/inventree_test_report_base.html:97 +#: report/templates/report/inventree_test_report.html:97 msgid "Test Results" msgstr "" -#: report/templates/report/inventree_test_report_base.html:102 +#: report/templates/report/inventree_test_report.html:102 #: templates/js/translated/stock.js:1495 msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2442 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2419 msgid "Result" msgstr "Wynik" -#: report/templates/report/inventree_test_report_base.html:130 +#: report/templates/report/inventree_test_report.html:130 msgid "Pass" msgstr "Zaliczone" -#: report/templates/report/inventree_test_report_base.html:132 +#: report/templates/report/inventree_test_report.html:132 msgid "Fail" msgstr "Niezaliczone" -#: report/templates/report/inventree_test_report_base.html:139 +#: report/templates/report/inventree_test_report.html:139 msgid "No result (required)" msgstr "" -#: report/templates/report/inventree_test_report_base.html:141 +#: report/templates/report/inventree_test_report.html:141 msgid "No result" msgstr "" -#: report/templates/report/inventree_test_report_base.html:154 +#: report/templates/report/inventree_test_report.html:154 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "Zainstalowane elementy" -#: report/templates/report/inventree_test_report_base.html:168 -#: stock/admin.py:162 templates/js/translated/stock.js:700 -#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3113 +#: report/templates/report/inventree_test_report.html:168 stock/admin.py:162 +#: templates/js/translated/stock.js:700 templates/js/translated/stock.js:871 +#: templates/js/translated/stock.js:3110 msgid "Serial" msgstr "Numer seryjny" @@ -8757,7 +8792,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:201 stock/models.py:789 +#: stock/admin.py:201 stock/models.py:810 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "Zainstalowane w" @@ -8782,66 +8817,66 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:256 stock/models.py:883 +#: stock/admin.py:256 stock/models.py:904 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2232 users/models.py:124 +#: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" msgstr "Data ważności" -#: stock/api.py:284 +#: stock/api.py:318 msgid "Filter by location depth" msgstr "" -#: stock/api.py:304 +#: stock/api.py:338 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:325 +#: stock/api.py:359 msgid "Parent Location" msgstr "" -#: stock/api.py:326 +#: stock/api.py:360 msgid "Filter by parent location" msgstr "" -#: stock/api.py:579 templates/js/translated/table_filters.js:427 +#: stock/api.py:613 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:767 +#: stock/api.py:801 msgid "Part Tree" msgstr "" -#: stock/api.py:797 +#: stock/api.py:831 msgid "Expiry date before" msgstr "" -#: stock/api.py:801 +#: stock/api.py:835 msgid "Expiry date after" msgstr "" -#: stock/api.py:804 stock/templates/stock/item_base.html:439 +#: stock/api.py:838 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:891 +#: stock/api.py:925 msgid "Quantity is required" msgstr "" -#: stock/api.py:897 +#: stock/api.py:931 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:928 +#: stock/api.py:962 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:938 +#: stock/api.py:972 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:969 +#: stock/api.py:1003 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8857,477 +8892,517 @@ msgstr "" msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:125 stock/models.py:771 +#: stock/models.py:127 stock/models.py:792 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:126 stock/templates/stock/location.html:179 +#: stock/models.py:128 stock/templates/stock/location.html:186 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "Lokacje stanu magazynowego" -#: stock/models.py:158 stock/models.py:932 +#: stock/models.py:170 stock/models.py:953 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "Właściciel" -#: stock/models.py:159 stock/models.py:933 +#: stock/models.py:171 stock/models.py:954 msgid "Select Owner" msgstr "Wybierz właściciela" -#: stock/models.py:167 +#: stock/models.py:179 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:174 templates/js/translated/stock.js:2784 +#: stock/models.py:186 templates/js/translated/stock.js:2781 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "" -#: stock/models.py:175 +#: stock/models.py:187 msgid "This is an external stock location" msgstr "" -#: stock/models.py:181 templates/js/translated/stock.js:2793 +#: stock/models.py:193 templates/js/translated/stock.js:2790 #: templates/js/translated/table_filters.js:246 msgid "Location type" msgstr "" -#: stock/models.py:185 +#: stock/models.py:197 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:254 +#: stock/models.py:266 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:626 +#: stock/models.py:647 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:653 stock/serializers.py:290 +#: stock/models.py:674 stock/serializers.py:419 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:670 +#: stock/models.py:691 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:680 stock/models.py:693 +#: stock/models.py:701 stock/models.py:714 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:683 +#: stock/models.py:704 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:707 +#: stock/models.py:728 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:712 +#: stock/models.py:733 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:725 +#: stock/models.py:746 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:741 +#: stock/models.py:762 msgid "Parent Stock Item" msgstr "Nadrzędny towar" -#: stock/models.py:753 +#: stock/models.py:774 msgid "Base part" msgstr "Część podstawowa" -#: stock/models.py:763 +#: stock/models.py:784 msgid "Select a matching supplier part for this stock item" msgstr "Wybierz pasującą część dostawcy dla tego towaru" -#: stock/models.py:775 +#: stock/models.py:796 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:783 stock/serializers.py:1351 +#: stock/models.py:804 stock/serializers.py:1480 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:794 +#: stock/models.py:815 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:813 +#: stock/models.py:834 msgid "Serial number for this item" msgstr "" -#: stock/models.py:827 stock/serializers.py:1334 +#: stock/models.py:848 stock/serializers.py:1463 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:832 +#: stock/models.py:853 msgid "Stock Quantity" msgstr "Ilość w magazynie" -#: stock/models.py:842 +#: stock/models.py:863 msgid "Source Build" msgstr "" -#: stock/models.py:845 +#: stock/models.py:866 msgid "Build for this stock item" msgstr "" -#: stock/models.py:852 stock/templates/stock/item_base.html:363 +#: stock/models.py:873 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:855 +#: stock/models.py:876 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:864 +#: stock/models.py:885 msgid "Source Purchase Order" msgstr "Wyszukaj zlecenie zakupu" -#: stock/models.py:868 +#: stock/models.py:889 msgid "Purchase order for this stock item" msgstr "Zlecenie zakupu dla tego towaru" -#: stock/models.py:874 +#: stock/models.py:895 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:885 +#: stock/models.py:906 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:903 +#: stock/models.py:924 msgid "Delete on deplete" msgstr "Usuń po wyczerpaniu" -#: stock/models.py:904 +#: stock/models.py:925 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:924 +#: stock/models.py:945 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:955 +#: stock/models.py:976 msgid "Converted to part" msgstr "" -#: stock/models.py:1473 +#: stock/models.py:1494 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1479 +#: stock/models.py:1500 msgid "Quantity must be integer" msgstr "Ilość musi być liczbą całkowitą" -#: stock/models.py:1487 +#: stock/models.py:1508 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1493 +#: stock/models.py:1514 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1498 +#: stock/models.py:1519 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1506 stock/serializers.py:529 +#: stock/models.py:1527 stock/serializers.py:658 msgid "Serial numbers already exist" msgstr "Numer seryjny już istnieje" -#: stock/models.py:1603 +#: stock/models.py:1624 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1621 +#: stock/models.py:1642 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1625 +#: stock/models.py:1646 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1628 +#: stock/models.py:1649 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1631 +#: stock/models.py:1652 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1634 +#: stock/models.py:1655 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1637 +#: stock/models.py:1658 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1644 stock/serializers.py:1240 +#: stock/models.py:1665 stock/serializers.py:1369 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1648 +#: stock/models.py:1669 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1656 +#: stock/models.py:1677 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1661 +#: stock/models.py:1682 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1882 +#: stock/models.py:1903 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2345 +#: stock/models.py:2322 msgid "Entry notes" msgstr "Notatki do wpisu" -#: stock/models.py:2410 +#: stock/models.py:2387 msgid "Value must be provided for this test" msgstr "Należy podać wartość dla tego testu" -#: stock/models.py:2415 +#: stock/models.py:2392 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2442 +#: stock/models.py:2419 msgid "Test result" msgstr "Wynik testu" -#: stock/models.py:2449 +#: stock/models.py:2426 msgid "Test output value" msgstr "" -#: stock/models.py:2457 +#: stock/models.py:2434 msgid "Test result attachment" msgstr "" -#: stock/models.py:2461 +#: stock/models.py:2438 msgid "Test notes" msgstr "" -#: stock/models.py:2469 templates/js/translated/stock.js:1548 +#: stock/models.py:2446 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "" -#: stock/models.py:2470 +#: stock/models.py:2447 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2476 +#: stock/models.py:2453 msgid "Started" msgstr "" -#: stock/models.py:2477 +#: stock/models.py:2454 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2483 +#: stock/models.py:2460 msgid "Finished" msgstr "" -#: stock/models.py:2484 +#: stock/models.py:2461 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:100 +#: stock/serializers.py:75 +msgid "Generated batch code" +msgstr "" + +#: stock/serializers.py:84 +msgid "Select build order" +msgstr "" + +#: stock/serializers.py:93 +msgid "Select stock item to generate batch code for" +msgstr "" + +#: stock/serializers.py:102 +msgid "Select location to generate batch code for" +msgstr "" + +#: stock/serializers.py:111 +msgid "Select part to generate batch code for" +msgstr "" + +#: stock/serializers.py:120 +msgid "Select purchase order" +msgstr "" + +#: stock/serializers.py:127 +msgid "Enter quantity for batch code" +msgstr "" + +#: stock/serializers.py:150 +msgid "Generated serial number" +msgstr "" + +#: stock/serializers.py:159 +msgid "Select part to generate serial number for" +msgstr "" + +#: stock/serializers.py:167 +msgid "Quantity of serial numbers to generate" +msgstr "" + +#: stock/serializers.py:229 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:119 +#: stock/serializers.py:248 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:151 +#: stock/serializers.py:280 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:184 +#: stock/serializers.py:313 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:282 +#: stock/serializers.py:411 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:402 +#: stock/serializers.py:531 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:464 +#: stock/serializers.py:593 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:477 +#: stock/serializers.py:606 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:484 +#: stock/serializers.py:613 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:495 stock/serializers.py:1197 stock/serializers.py:1453 +#: stock/serializers.py:624 stock/serializers.py:1326 stock/serializers.py:1582 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:502 +#: stock/serializers.py:631 msgid "Optional note field" msgstr "" -#: stock/serializers.py:512 +#: stock/serializers.py:641 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:567 +#: stock/serializers.py:696 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:574 +#: stock/serializers.py:703 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:575 +#: stock/serializers.py:704 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:580 stock/serializers.py:660 stock/serializers.py:756 -#: stock/serializers.py:806 +#: stock/serializers.py:709 stock/serializers.py:789 stock/serializers.py:885 +#: stock/serializers.py:935 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:588 +#: stock/serializers.py:717 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:596 +#: stock/serializers.py:725 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:607 +#: stock/serializers.py:736 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:620 +#: stock/serializers.py:749 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:655 +#: stock/serializers.py:784 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:690 +#: stock/serializers.py:819 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:703 +#: stock/serializers.py:832 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:720 +#: stock/serializers.py:849 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:751 +#: stock/serializers.py:880 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:788 +#: stock/serializers.py:917 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:794 +#: stock/serializers.py:923 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:890 stock/serializers.py:953 +#: stock/serializers.py:1019 stock/serializers.py:1082 #: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:213 +#: stock/templates/stock/location.html:220 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "Podlokalizacje" -#: stock/serializers.py:1069 +#: stock/serializers.py:1198 msgid "Part must be salable" msgstr "Część musi być dostępna do sprzedaży" -#: stock/serializers.py:1073 +#: stock/serializers.py:1202 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1077 +#: stock/serializers.py:1206 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1101 +#: stock/serializers.py:1230 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1107 +#: stock/serializers.py:1236 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1115 +#: stock/serializers.py:1244 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1125 stock/serializers.py:1379 +#: stock/serializers.py:1254 stock/serializers.py:1508 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1204 +#: stock/serializers.py:1333 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1209 +#: stock/serializers.py:1338 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1210 +#: stock/serializers.py:1339 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1215 +#: stock/serializers.py:1344 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1216 +#: stock/serializers.py:1345 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1226 +#: stock/serializers.py:1355 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1293 +#: stock/serializers.py:1422 msgid "No Change" msgstr "" -#: stock/serializers.py:1322 +#: stock/serializers.py:1451 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1341 +#: stock/serializers.py:1470 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1369 +#: stock/serializers.py:1498 msgid "Stock transaction notes" msgstr "" @@ -9352,7 +9427,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:286 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:282 msgid "Delete Test Data" msgstr "" @@ -9368,15 +9443,15 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3274 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3271 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:274 +#: stock/templates/stock/item.html:270 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:304 templates/js/translated/stock.js:1701 +#: stock/templates/stock/item.html:300 templates/js/translated/stock.js:1701 msgid "Add Test Result" msgstr "" @@ -9561,40 +9636,40 @@ msgstr "" msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:507 -#: templates/js/translated/stock.js:1954 +#: stock/templates/stock/item_base.html:504 +#: templates/js/translated/stock.js:1952 msgid "stock item" msgstr "" -#: stock/templates/stock/item_base.html:532 +#: stock/templates/stock/item_base.html:527 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:541 +#: stock/templates/stock/item_base.html:536 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:552 +#: stock/templates/stock/item_base.html:547 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:616 +#: stock/templates/stock/item_base.html:611 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:619 +#: stock/templates/stock/item_base.html:614 msgid "Warning" msgstr "Ostrzeżenie" -#: stock/templates/stock/item_base.html:620 +#: stock/templates/stock/item_base.html:615 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:628 +#: stock/templates/stock/item_base.html:623 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:662 +#: stock/templates/stock/item_base.html:657 msgid "Return to Stock" msgstr "" @@ -9658,28 +9733,32 @@ msgstr "" msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:217 +#: stock/templates/stock/location.html:176 +msgid "Location Type" +msgstr "" + +#: stock/templates/stock/location.html:224 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:218 +#: stock/templates/stock/location.html:225 msgid "New Location" msgstr "Nowa lokalizacja" -#: stock/templates/stock/location.html:287 -#: templates/js/translated/stock.js:2575 +#: stock/templates/stock/location.html:295 +#: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:315 +#: stock/templates/stock/location.html:317 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:388 +#: stock/templates/stock/location.html:390 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:399 +#: stock/templates/stock/location.html:401 msgid "Link Barcode to Stock Location" msgstr "" @@ -9949,11 +10028,11 @@ msgstr "" msgid "Part Settings" msgstr "Ustawienia części" -#: templates/InvenTree/settings/part.html:42 +#: templates/InvenTree/settings/part.html:43 msgid "Part Import" msgstr "Import części" -#: templates/InvenTree/settings/part.html:46 +#: templates/InvenTree/settings/part.html:47 msgid "Import Part" msgstr "Import części" @@ -10174,7 +10253,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:424 +#: templates/js/translated/stock.js:245 users/models.py:411 msgid "Delete" msgstr "Usuń" @@ -10283,7 +10362,7 @@ msgid "Home Page" msgstr "Strona główna" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2159 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2163 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" @@ -10874,7 +10953,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3218 +#: templates/js/translated/part.js:3217 msgid "Minimum Quantity" msgstr "Minimalna ilość" @@ -11254,7 +11333,7 @@ msgid "External stock" msgstr "" #: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2595 -#: templates/js/translated/sales_order.js:1910 +#: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" @@ -11264,7 +11343,7 @@ msgstr "" #: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 #: templates/js/translated/part.js:1256 -#: templates/js/translated/sales_order.js:1907 +#: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" @@ -11519,17 +11598,17 @@ msgstr "" #: templates/js/translated/build.js:1576 #: templates/js/translated/purchase_order.js:611 -#: templates/js/translated/sales_order.js:1171 +#: templates/js/translated/sales_order.js:1207 msgid "Select Parts" msgstr "" #: templates/js/translated/build.js:1577 -#: templates/js/translated/sales_order.js:1172 +#: templates/js/translated/sales_order.js:1208 msgid "You must select at least one part to allocate" msgstr "" #: templates/js/translated/build.js:1640 -#: templates/js/translated/sales_order.js:1121 +#: templates/js/translated/sales_order.js:1157 msgid "Specify stock allocation quantity" msgstr "" @@ -11542,7 +11621,7 @@ msgid "All selected parts have been fully allocated" msgstr "" #: templates/js/translated/build.js:1732 -#: templates/js/translated/sales_order.js:1186 +#: templates/js/translated/sales_order.js:1222 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -11551,12 +11630,12 @@ msgid "Allocate Stock Items to Build Order" msgstr "" #: templates/js/translated/build.js:1771 -#: templates/js/translated/sales_order.js:1283 +#: templates/js/translated/sales_order.js:1319 msgid "No matching stock locations" msgstr "" #: templates/js/translated/build.js:1844 -#: templates/js/translated/sales_order.js:1362 +#: templates/js/translated/sales_order.js:1398 msgid "No matching stock items" msgstr "" @@ -11589,9 +11668,9 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 -#: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 -#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 -#: templates/js/translated/stock.js:1985 templates/js/translated/stock.js:2713 +#: templates/js/translated/forms.js:2159 templates/js/translated/forms.js:2175 +#: templates/js/translated/part.js:2315 templates/js/translated/part.js:2741 +#: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "" @@ -11599,21 +11678,17 @@ msgstr "" msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2177 -msgid "Progress" -msgstr "" - -#: templates/js/translated/build.js:2213 templates/js/translated/stock.js:3045 +#: templates/js/translated/build.js:2213 templates/js/translated/stock.js:3042 msgid "No user information" msgstr "" #: templates/js/translated/build.js:2389 -#: templates/js/translated/sales_order.js:1646 +#: templates/js/translated/sales_order.js:1682 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:2390 -#: templates/js/translated/sales_order.js:1647 +#: templates/js/translated/sales_order.js:1683 msgid "Delete stock allocation" msgstr "" @@ -11647,7 +11722,7 @@ msgid "Unit Quantity" msgstr "" #: templates/js/translated/build.js:2591 -#: templates/js/translated/sales_order.js:1915 +#: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" @@ -11664,7 +11739,7 @@ msgid "Allocate tracked items against individual build outputs" msgstr "" #: templates/js/translated/build.js:2662 -#: templates/js/translated/sales_order.js:2016 +#: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "" @@ -11673,7 +11748,7 @@ msgid "Order stock" msgstr "" #: templates/js/translated/build.js:2671 -#: templates/js/translated/sales_order.js:2010 +#: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "" @@ -11923,12 +11998,12 @@ msgid "Delete price break" msgstr "" #: templates/js/translated/filters.js:186 -#: templates/js/translated/filters.js:672 +#: templates/js/translated/filters.js:667 msgid "true" msgstr "" #: templates/js/translated/filters.js:190 -#: templates/js/translated/filters.js:673 +#: templates/js/translated/filters.js:668 msgid "false" msgstr "" @@ -11960,7 +12035,7 @@ msgstr "" msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:582 +#: templates/js/translated/filters.js:577 msgid "Create filter" msgstr "" @@ -11993,32 +12068,32 @@ msgstr "" msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1473 templates/modals.html:19 +#: templates/js/translated/forms.js:1477 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "Istnieją błędy formularza" -#: templates/js/translated/forms.js:1971 +#: templates/js/translated/forms.js:1975 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2275 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2279 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2489 +#: templates/js/translated/forms.js:2493 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3091 +#: templates/js/translated/forms.js:3095 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3091 +#: templates/js/translated/forms.js:3095 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3103 +#: templates/js/translated/forms.js:3107 msgid "Select Columns" msgstr "" @@ -12042,51 +12117,15 @@ msgstr "" msgid "No parts required for builds" msgstr "" -#: templates/js/translated/label.js:53 templates/js/translated/report.js:123 +#: templates/js/translated/label.js:55 templates/js/translated/report.js:38 msgid "Select Items" msgstr "" -#: templates/js/translated/label.js:54 +#: templates/js/translated/label.js:56 templates/js/translated/report.js:39 msgid "No items selected for printing" msgstr "" -#: templates/js/translated/label.js:72 -msgid "No Labels Found" -msgstr "" - -#: templates/js/translated/label.js:73 -msgid "No label templates found which match the selected items" -msgstr "" - -#: templates/js/translated/label.js:97 -msgid "selected" -msgstr "" - -#: templates/js/translated/label.js:133 -msgid "Printing Options" -msgstr "" - -#: templates/js/translated/label.js:148 -msgid "Print label" -msgstr "" - -#: templates/js/translated/label.js:148 -msgid "Print labels" -msgstr "" - #: templates/js/translated/label.js:149 -msgid "Print" -msgstr "" - -#: templates/js/translated/label.js:155 -msgid "Select label template" -msgstr "" - -#: templates/js/translated/label.js:168 -msgid "Select plugin" -msgstr "" - -#: templates/js/translated/label.js:187 msgid "Labels sent to printer" msgstr "" @@ -12204,7 +12243,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1991 +#: templates/js/translated/purchase_order.js:1990 msgid "No line items found" msgstr "" @@ -12442,19 +12481,19 @@ msgid "Delete Part Parameter Template" msgstr "" #: templates/js/translated/part.js:1716 -#: templates/js/translated/purchase_order.js:1655 +#: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1860 -#: templates/js/translated/purchase_order.js:2154 -#: templates/js/translated/return_order.js:756 -#: templates/js/translated/sales_order.js:1875 +#: templates/js/translated/purchase_order.js:2153 +#: templates/js/translated/return_order.js:755 +#: templates/js/translated/sales_order.js:1911 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1906 -#: templates/js/translated/purchase_order.js:2221 +#: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "" @@ -12466,7 +12505,7 @@ msgstr "" msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2506 +#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2505 msgid "No parts found" msgstr "" @@ -12482,101 +12521,101 @@ msgstr "" msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2286 msgid "part" msgstr "" -#: templates/js/translated/part.js:2288 +#: templates/js/translated/part.js:2287 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2384 +#: templates/js/translated/part.js:2383 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 -#: templates/js/translated/stock.js:2672 +#: templates/js/translated/part.js:2530 templates/js/translated/part.js:2660 +#: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2547 +#: templates/js/translated/part.js:2546 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2645 +#: templates/js/translated/part.js:2644 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2692 +#: templates/js/translated/part.js:2680 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2761 +#: templates/js/translated/part.js:2760 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2777 +#: templates/js/translated/part.js:2776 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2864 +#: templates/js/translated/part.js:2863 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2886 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2885 templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2935 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2941 +#: templates/js/translated/part.js:2940 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2957 +#: templates/js/translated/part.js:2956 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2971 +#: templates/js/translated/part.js:2970 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3050 templates/js/translated/part.js:3051 +#: templates/js/translated/part.js:3049 templates/js/translated/part.js:3050 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3053 +#: templates/js/translated/part.js:3052 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3059 +#: templates/js/translated/part.js:3058 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3109 +#: templates/js/translated/part.js:3108 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3115 +#: templates/js/translated/part.js:3114 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3211 +#: templates/js/translated/part.js:3210 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3227 +#: templates/js/translated/part.js:3226 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3272 +#: templates/js/translated/part.js:3271 msgid "Minimum Stock Level" msgstr "" @@ -12702,7 +12741,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:448 #: templates/js/translated/return_order.js:210 -#: templates/js/translated/sales_order.js:500 +#: templates/js/translated/sales_order.js:552 msgid "Mark this order as complete?" msgstr "" @@ -12715,7 +12754,6 @@ msgid "This order has line items which have not been marked as received." msgstr "" #: templates/js/translated/purchase_order.js:460 -#: templates/js/translated/sales_order.js:514 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" @@ -12773,12 +12811,12 @@ msgid "No matching purchase orders" msgstr "" #: templates/js/translated/purchase_order.js:1073 -#: templates/js/translated/return_order.js:491 +#: templates/js/translated/return_order.js:490 msgid "Select Line Items" msgstr "" #: templates/js/translated/purchase_order.js:1074 -#: templates/js/translated/return_order.js:492 +#: templates/js/translated/return_order.js:491 msgid "At least one line item must be selected" msgstr "" @@ -12827,7 +12865,7 @@ msgid "Quantity to Receive" msgstr "" #: templates/js/translated/purchase_order.js:1333 -#: templates/js/translated/return_order.js:561 +#: templates/js/translated/return_order.js:560 msgid "Confirm receipt of items" msgstr "" @@ -12847,81 +12885,66 @@ msgstr "" msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1682 -#: templates/js/translated/return_order.js:286 -#: templates/js/translated/sales_order.js:774 -#: templates/js/translated/sales_order.js:998 +#: templates/js/translated/purchase_order.js:1681 +#: templates/js/translated/return_order.js:285 +#: templates/js/translated/sales_order.js:810 +#: templates/js/translated/sales_order.js:1034 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1748 -#: templates/js/translated/return_order.js:354 -#: templates/js/translated/sales_order.js:851 -#: templates/js/translated/sales_order.js:1011 -msgid "Items" -msgstr "" - -#: templates/js/translated/purchase_order.js:1844 +#: templates/js/translated/purchase_order.js:1843 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1862 +#: templates/js/translated/purchase_order.js:1861 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1917 -#: templates/js/translated/sales_order.js:2070 +#: templates/js/translated/purchase_order.js:1916 +#: templates/js/translated/sales_order.js:2106 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1932 -#: templates/js/translated/return_order.js:476 -#: templates/js/translated/return_order.js:669 -#: templates/js/translated/sales_order.js:2083 +#: templates/js/translated/purchase_order.js:1931 +#: templates/js/translated/return_order.js:475 +#: templates/js/translated/return_order.js:668 +#: templates/js/translated/sales_order.js:2119 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1943 -#: templates/js/translated/return_order.js:682 -#: templates/js/translated/sales_order.js:2094 +#: templates/js/translated/purchase_order.js:1942 +#: templates/js/translated/return_order.js:681 +#: templates/js/translated/sales_order.js:2130 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2225 -#: templates/js/translated/sales_order.js:2024 +#: templates/js/translated/purchase_order.js:2224 +#: templates/js/translated/sales_order.js:2060 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2226 -#: templates/js/translated/return_order.js:801 -#: templates/js/translated/sales_order.js:2025 +#: templates/js/translated/purchase_order.js:2225 +#: templates/js/translated/return_order.js:800 +#: templates/js/translated/sales_order.js:2061 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2227 -#: templates/js/translated/return_order.js:805 -#: templates/js/translated/sales_order.js:2031 +#: templates/js/translated/purchase_order.js:2226 +#: templates/js/translated/return_order.js:804 +#: templates/js/translated/sales_order.js:2067 msgid "Delete line item" msgstr "" -#: templates/js/translated/report.js:63 -msgid "items selected" +#: templates/js/translated/report.js:49 +msgid "Print Report" msgstr "" -#: templates/js/translated/report.js:71 -msgid "Select Report Template" +#: templates/js/translated/report.js:68 +msgid "Report print successful" msgstr "" -#: templates/js/translated/report.js:86 -msgid "Select Test Report Template" -msgstr "" - -#: templates/js/translated/report.js:140 -msgid "No Reports Found" -msgstr "" - -#: templates/js/translated/report.js:141 -msgid "No report templates found which match the selected items" +#: templates/js/translated/report.js:73 +msgid "Report printing failed" msgstr "" #: templates/js/translated/return_order.js:60 @@ -12953,25 +12976,25 @@ msgstr "" msgid "Complete Return Order" msgstr "" -#: templates/js/translated/return_order.js:266 +#: templates/js/translated/return_order.js:265 msgid "No return orders found" msgstr "" -#: templates/js/translated/return_order.js:300 -#: templates/js/translated/sales_order.js:788 +#: templates/js/translated/return_order.js:299 +#: templates/js/translated/sales_order.js:824 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/return_order.js:562 +#: templates/js/translated/return_order.js:561 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:693 -#: templates/js/translated/sales_order.js:2231 +#: templates/js/translated/return_order.js:692 +#: templates/js/translated/sales_order.js:2267 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:798 +#: templates/js/translated/return_order.js:797 msgid "Mark item as received" msgstr "" @@ -13015,140 +13038,156 @@ msgstr "" msgid "Skip" msgstr "" +#: templates/js/translated/sales_order.js:484 +msgid "Ship Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:500 +msgid "Ship this order?" +msgstr "" + +#: templates/js/translated/sales_order.js:506 +msgid "Order cannot be shipped as there are incomplete shipments" +msgstr "" + #: templates/js/translated/sales_order.js:513 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/sales_order.js:535 +#: templates/js/translated/sales_order.js:514 +msgid "Shipping this order means that the order and line items will no longer be editable." +msgstr "" + +#: templates/js/translated/sales_order.js:572 msgid "Issue this Sales Order?" msgstr "" -#: templates/js/translated/sales_order.js:540 +#: templates/js/translated/sales_order.js:577 msgid "Issue Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:559 +#: templates/js/translated/sales_order.js:596 msgid "Cancel Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:564 +#: templates/js/translated/sales_order.js:601 msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: templates/js/translated/sales_order.js:618 +#: templates/js/translated/sales_order.js:655 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/sales_order.js:728 +#: templates/js/translated/sales_order.js:764 msgid "No sales orders found" msgstr "" -#: templates/js/translated/sales_order.js:908 +#: templates/js/translated/sales_order.js:944 msgid "Edit shipment" msgstr "" -#: templates/js/translated/sales_order.js:911 +#: templates/js/translated/sales_order.js:947 msgid "Complete shipment" msgstr "" -#: templates/js/translated/sales_order.js:916 +#: templates/js/translated/sales_order.js:952 msgid "Delete shipment" msgstr "" -#: templates/js/translated/sales_order.js:933 +#: templates/js/translated/sales_order.js:969 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/sales_order.js:948 +#: templates/js/translated/sales_order.js:984 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:981 +#: templates/js/translated/sales_order.js:1017 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/sales_order.js:1006 +#: templates/js/translated/sales_order.js:1042 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/sales_order.js:1030 -#: templates/js/translated/sales_order.js:1529 +#: templates/js/translated/sales_order.js:1066 +#: templates/js/translated/sales_order.js:1565 msgid "Not shipped" msgstr "" -#: templates/js/translated/sales_order.js:1048 +#: templates/js/translated/sales_order.js:1084 msgid "Tracking" msgstr "" -#: templates/js/translated/sales_order.js:1052 +#: templates/js/translated/sales_order.js:1088 msgid "Invoice" msgstr "" -#: templates/js/translated/sales_order.js:1219 +#: templates/js/translated/sales_order.js:1255 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1270 +#: templates/js/translated/sales_order.js:1306 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/sales_order.js:1271 +#: templates/js/translated/sales_order.js:1307 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1477 +#: templates/js/translated/sales_order.js:1513 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1569 +#: templates/js/translated/sales_order.js:1605 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1583 +#: templates/js/translated/sales_order.js:1619 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/sales_order.js:1584 +#: templates/js/translated/sales_order.js:1620 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1623 -#: templates/js/translated/sales_order.js:1710 +#: templates/js/translated/sales_order.js:1659 +#: templates/js/translated/sales_order.js:1746 #: templates/js/translated/stock.js:1776 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/sales_order.js:1631 -#: templates/js/translated/sales_order.js:1719 +#: templates/js/translated/sales_order.js:1667 +#: templates/js/translated/sales_order.js:1755 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:2008 +#: templates/js/translated/sales_order.js:2044 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/sales_order.js:2012 +#: templates/js/translated/sales_order.js:2048 msgid "Purchase stock" msgstr "" -#: templates/js/translated/sales_order.js:2021 -#: templates/js/translated/sales_order.js:2209 +#: templates/js/translated/sales_order.js:2057 +#: templates/js/translated/sales_order.js:2245 msgid "Calculate price" msgstr "" -#: templates/js/translated/sales_order.js:2035 +#: templates/js/translated/sales_order.js:2071 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:2038 +#: templates/js/translated/sales_order.js:2074 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:2109 +#: templates/js/translated/sales_order.js:2145 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/sales_order.js:2217 +#: templates/js/translated/sales_order.js:2253 msgid "Update Unit Price" msgstr "" @@ -13356,7 +13395,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1042 users/models.py:414 +#: templates/js/translated/stock.js:1042 users/models.py:401 msgid "Add" msgstr "Dodaj" @@ -13372,7 +13411,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1180 templates/js/translated/stock.js:3302 +#: templates/js/translated/stock.js:1180 templates/js/translated/stock.js:3299 msgid "Select Stock Items" msgstr "" @@ -13456,196 +13495,196 @@ msgstr "" msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:1955 +#: templates/js/translated/stock.js:1953 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1960 +#: templates/js/translated/stock.js:1958 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:1971 +#: templates/js/translated/stock.js:1969 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:2015 +#: templates/js/translated/stock.js:2013 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2093 +#: templates/js/translated/stock.js:2091 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2098 +#: templates/js/translated/stock.js:2096 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2101 +#: templates/js/translated/stock.js:2099 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2104 +#: templates/js/translated/stock.js:2102 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2106 +#: templates/js/translated/stock.js:2104 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2108 +#: templates/js/translated/stock.js:2106 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2111 +#: templates/js/translated/stock.js:2109 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2113 +#: templates/js/translated/stock.js:2111 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2117 +#: templates/js/translated/stock.js:2115 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2119 +#: templates/js/translated/stock.js:2117 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2124 +#: templates/js/translated/stock.js:2122 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2126 +#: templates/js/translated/stock.js:2124 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2128 +#: templates/js/translated/stock.js:2126 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2132 +#: templates/js/translated/stock.js:2130 #: templates/js/translated/table_filters.js:350 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2297 +#: templates/js/translated/stock.js:2295 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2344 +#: templates/js/translated/stock.js:2342 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2472 +#: templates/js/translated/stock.js:2470 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2576 +#: templates/js/translated/stock.js:2573 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2731 +#: templates/js/translated/stock.js:2728 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2849 +#: templates/js/translated/stock.js:2846 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2853 +#: templates/js/translated/stock.js:2850 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2865 +#: templates/js/translated/stock.js:2862 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2887 +#: templates/js/translated/stock.js:2884 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2904 +#: templates/js/translated/stock.js:2901 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2919 +#: templates/js/translated/stock.js:2916 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2936 +#: templates/js/translated/stock.js:2933 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:2950 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2972 +#: templates/js/translated/stock.js:2969 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2990 +#: templates/js/translated/stock.js:2987 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:3008 +#: templates/js/translated/stock.js:3005 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:3016 +#: templates/js/translated/stock.js:3013 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3088 +#: templates/js/translated/stock.js:3085 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3142 templates/js/translated/stock.js:3178 +#: templates/js/translated/stock.js:3139 templates/js/translated/stock.js:3175 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3200 +#: templates/js/translated/stock.js:3197 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3221 +#: templates/js/translated/stock.js:3218 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3222 +#: templates/js/translated/stock.js:3219 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3224 +#: templates/js/translated/stock.js:3221 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3225 +#: templates/js/translated/stock.js:3222 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3226 +#: templates/js/translated/stock.js:3223 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3227 +#: templates/js/translated/stock.js:3224 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3240 +#: templates/js/translated/stock.js:3237 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3303 +#: templates/js/translated/stock.js:3300 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3316 +#: templates/js/translated/stock.js:3313 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3320 +#: templates/js/translated/stock.js:3317 msgid "Change Stock Status" msgstr "" @@ -14247,34 +14286,35 @@ msgstr "" msgid "Revoked" msgstr "" -#: users/models.py:397 +#: users/models.py:384 msgid "Permission set" msgstr "Uprawnienia nadane" -#: users/models.py:406 +#: users/models.py:393 msgid "Group" msgstr "Grupa" -#: users/models.py:410 +#: users/models.py:397 msgid "View" msgstr "Widok" -#: users/models.py:410 +#: users/models.py:397 msgid "Permission to view items" msgstr "Uprawnienie do wyświetlania przedmiotów" -#: users/models.py:414 +#: users/models.py:401 msgid "Permission to add items" msgstr "Uprawnienie do dodawania przedmiotów" -#: users/models.py:418 +#: users/models.py:405 msgid "Change" msgstr "Zmień" -#: users/models.py:420 +#: users/models.py:407 msgid "Permissions to edit items" msgstr "Uprawnienie do edycji przedmiotów" -#: users/models.py:426 +#: users/models.py:413 msgid "Permission to delete items" msgstr "Uprawnienie do usuwania przedmiotów" + diff --git a/src/backend/InvenTree/locale/pt/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/pt/LC_MESSAGES/django.po index 52d807266e..96e6ea6496 100644 --- a/src/backend/InvenTree/locale/pt/LC_MESSAGES/django.po +++ b/src/backend/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: 2024-05-10 05:37+0000\n" -"PO-Revision-Date: 2024-05-10 08:31\n" +"POT-Creation-Date: 2024-05-23 11:25+0000\n" +"PO-Revision-Date: 2024-05-23 11:39\n" "Last-Translator: \n" "Language-Team: Portuguese, Brazilian\n" "Language: pt_BR\n" @@ -17,11 +17,11 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 216\n" -#: InvenTree/api.py:271 +#: InvenTree/api.py:272 msgid "API endpoint not found" msgstr "" -#: InvenTree/api.py:535 +#: InvenTree/api.py:536 msgid "User does not have permission to view this model" msgstr "" @@ -56,26 +56,26 @@ msgstr "" msgid "Enter date" msgstr "" -#: InvenTree/fields.py:208 InvenTree/models.py:1021 build/serializers.py:444 -#: build/serializers.py:522 build/templates/build/sidebar.html:21 +#: InvenTree/fields.py:208 InvenTree/models.py:1035 build/serializers.py:443 +#: build/serializers.py:521 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 -#: order/models.py:1283 order/templates/order/po_sidebar.html:11 +#: order/models.py:1323 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:59 -#: part/models.py:3175 part/templates/part/part_sidebar.html:63 -#: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:226 stock/models.py:2344 stock/models.py:2461 -#: stock/serializers.py:501 stock/serializers.py:659 stock/serializers.py:755 -#: stock/serializers.py:805 stock/serializers.py:1114 stock/serializers.py:1203 -#: stock/serializers.py:1368 stock/templates/stock/stock_sidebar.html:25 +#: part/models.py:3218 part/templates/part/part_sidebar.html:63 +#: report/templates/report/inventree_build_order_report.html:172 +#: stock/admin.py:226 stock/models.py:2321 stock/models.py:2438 +#: stock/serializers.py:630 stock/serializers.py:788 stock/serializers.py:884 +#: stock/serializers.py:934 stock/serializers.py:1243 stock/serializers.py:1332 +#: stock/serializers.py:1497 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1080 -#: templates/js/translated/purchase_order.js:2201 -#: templates/js/translated/return_order.js:776 -#: templates/js/translated/sales_order.js:1067 -#: templates/js/translated/sales_order.js:1982 -#: templates/js/translated/stock.js:1536 templates/js/translated/stock.js:2430 +#: templates/js/translated/purchase_order.js:2200 +#: templates/js/translated/return_order.js:775 +#: templates/js/translated/sales_order.js:1103 +#: templates/js/translated/sales_order.js:2018 +#: templates/js/translated/stock.js:1536 templates/js/translated/stock.js:2428 msgid "Notes" msgstr "" @@ -132,7 +132,7 @@ msgstr "" msgid "Registration is disabled." msgstr "" -#: InvenTree/helpers.py:525 order/models.py:541 order/models.py:743 +#: InvenTree/helpers.py:525 order/models.py:563 order/models.py:765 msgid "Invalid quantity provided" msgstr "" @@ -355,142 +355,142 @@ msgstr "" msgid "Error running plugin validation" msgstr "" -#: InvenTree/models.py:162 +#: InvenTree/models.py:176 msgid "Metadata must be a python dict object" msgstr "" -#: InvenTree/models.py:168 +#: InvenTree/models.py:182 msgid "Plugin Metadata" msgstr "" -#: InvenTree/models.py:169 +#: InvenTree/models.py:183 msgid "JSON metadata field, for use by external plugins" msgstr "" -#: InvenTree/models.py:399 +#: InvenTree/models.py:413 msgid "Improperly formatted pattern" msgstr "" -#: InvenTree/models.py:406 +#: InvenTree/models.py:420 msgid "Unknown format key specified" msgstr "" -#: InvenTree/models.py:412 +#: InvenTree/models.py:426 msgid "Missing required format key" msgstr "" -#: InvenTree/models.py:423 +#: InvenTree/models.py:437 msgid "Reference field cannot be empty" msgstr "" -#: InvenTree/models.py:431 +#: InvenTree/models.py:445 msgid "Reference must match required pattern" msgstr "" -#: InvenTree/models.py:462 +#: InvenTree/models.py:476 msgid "Reference number is too large" msgstr "" -#: InvenTree/models.py:536 +#: InvenTree/models.py:550 msgid "Missing file" msgstr "" -#: InvenTree/models.py:537 +#: InvenTree/models.py:551 msgid "Missing external link" msgstr "" -#: InvenTree/models.py:558 stock/models.py:2456 +#: InvenTree/models.py:572 stock/models.py:2433 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" msgstr "" -#: InvenTree/models.py:559 +#: InvenTree/models.py:573 msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:567 common/models.py:3026 company/models.py:146 +#: InvenTree/models.py:581 common/models.py:3032 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 -#: order/models.py:291 order/models.py:1288 order/models.py:1704 -#: part/admin.py:55 part/models.py:919 +#: order/models.py:304 order/models.py:1328 order/models.py:1744 +#: part/admin.py:55 part/models.py:962 #: part/templates/part/part_scheduling.html:11 -#: report/templates/report/inventree_build_order_base.html:164 +#: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2456 -#: templates/js/translated/purchase_order.js:2041 -#: templates/js/translated/purchase_order.js:2205 -#: templates/js/translated/return_order.js:780 -#: templates/js/translated/sales_order.js:1056 -#: templates/js/translated/sales_order.js:1987 +#: templates/js/translated/part.js:2455 +#: templates/js/translated/purchase_order.js:2040 +#: templates/js/translated/purchase_order.js:2204 +#: templates/js/translated/return_order.js:779 +#: templates/js/translated/sales_order.js:1092 +#: templates/js/translated/sales_order.js:2023 msgid "Link" msgstr "" -#: InvenTree/models.py:568 build/models.py:321 part/models.py:920 -#: stock/models.py:819 +#: InvenTree/models.py:582 build/models.py:344 part/models.py:963 +#: stock/models.py:840 msgid "Link to external URL" msgstr "" -#: InvenTree/models.py:574 templates/js/translated/attachment.js:120 +#: InvenTree/models.py:588 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:341 msgid "Comment" msgstr "" -#: InvenTree/models.py:575 +#: InvenTree/models.py:589 msgid "File comment" msgstr "" -#: InvenTree/models.py:583 InvenTree/models.py:584 common/models.py:2502 -#: common/models.py:2503 common/models.py:2727 common/models.py:2728 -#: common/models.py:2973 common/models.py:2974 part/models.py:3185 -#: part/models.py:3272 part/models.py:3365 part/models.py:3393 -#: plugin/models.py:250 plugin/models.py:251 -#: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3039 users/models.py:111 +#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2508 +#: common/models.py:2509 common/models.py:2733 common/models.py:2734 +#: common/models.py:2979 common/models.py:2980 part/models.py:3228 +#: part/models.py:3315 part/models.py:3408 part/models.py:3436 +#: plugin/models.py:259 plugin/models.py:260 +#: report/templates/report/inventree_test_report.html:105 +#: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" msgstr "" -#: InvenTree/models.py:588 +#: InvenTree/models.py:602 msgid "upload date" msgstr "" -#: InvenTree/models.py:610 +#: InvenTree/models.py:624 msgid "Filename must not be empty" msgstr "" -#: InvenTree/models.py:621 +#: InvenTree/models.py:635 msgid "Invalid attachment directory" msgstr "" -#: InvenTree/models.py:651 +#: InvenTree/models.py:665 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "" -#: InvenTree/models.py:654 +#: InvenTree/models.py:668 msgid "Filename missing extension" msgstr "" -#: InvenTree/models.py:663 +#: InvenTree/models.py:677 msgid "Attachment with this filename already exists" msgstr "" -#: InvenTree/models.py:670 +#: InvenTree/models.py:684 msgid "Error renaming file" msgstr "" -#: InvenTree/models.py:846 +#: InvenTree/models.py:860 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:863 +#: InvenTree/models.py:877 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:893 common/models.py:2714 common/models.py:3112 -#: common/serializers.py:403 company/models.py:614 label/models.py:120 -#: machine/models.py:24 part/models.py:855 part/models.py:3616 -#: plugin/models.py:41 report/models.py:176 stock/models.py:76 +#: InvenTree/models.py:907 common/models.py:2720 common/models.py:3118 +#: common/serializers.py:403 company/models.py:614 machine/models.py:24 +#: part/models.py:898 part/models.py:3659 plugin/models.py:50 +#: report/models.py:149 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -503,22 +503,22 @@ msgstr "" #: templates/js/translated/company.js:1165 #: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186 #: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2719 +#: templates/js/translated/part.js:2748 templates/js/translated/stock.js:2716 msgid "Name" msgstr "" -#: InvenTree/models.py:899 build/models.py:194 +#: InvenTree/models.py:913 build/models.py:217 #: build/templates/build/detail.html:24 common/models.py:136 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 label/models.py:127 -#: order/models.py:277 order/models.py:1316 part/admin.py:303 part/admin.py:414 -#: part/models.py:878 part/models.py:3631 part/templates/part/category.html:82 +#: company/templates/company/supplier_part.html:107 order/models.py:290 +#: order/models.py:1356 part/admin.py:305 part/admin.py:416 part/models.py:921 +#: part/models.py:3674 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 -#: part/templates/part/part_scheduling.html:12 report/models.py:189 -#: report/models.py:655 report/models.py:729 -#: report/templates/report/inventree_build_order_base.html:117 +#: part/templates/part/part_scheduling.html:12 report/models.py:155 +#: report/models.py:510 report/models.py:536 +#: report/templates/report/inventree_build_order_report.html:117 #: stock/admin.py:55 stock/models.py:82 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 @@ -530,71 +530,71 @@ msgstr "" #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 -#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2896 +#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2354 +#: templates/js/translated/part.js:2784 templates/js/translated/part.js:2895 #: templates/js/translated/plugin.js:80 -#: templates/js/translated/purchase_order.js:1707 -#: templates/js/translated/purchase_order.js:1850 -#: templates/js/translated/purchase_order.js:2023 -#: templates/js/translated/return_order.js:314 -#: templates/js/translated/sales_order.js:802 -#: templates/js/translated/sales_order.js:1812 -#: templates/js/translated/stock.js:1515 templates/js/translated/stock.js:2060 -#: templates/js/translated/stock.js:2751 templates/js/translated/stock.js:2834 +#: templates/js/translated/purchase_order.js:1706 +#: templates/js/translated/purchase_order.js:1849 +#: templates/js/translated/purchase_order.js:2022 +#: templates/js/translated/return_order.js:313 +#: templates/js/translated/sales_order.js:838 +#: templates/js/translated/sales_order.js:1848 +#: templates/js/translated/stock.js:1515 templates/js/translated/stock.js:2058 +#: templates/js/translated/stock.js:2748 templates/js/translated/stock.js:2831 msgid "Description" msgstr "" -#: InvenTree/models.py:900 stock/models.py:83 +#: InvenTree/models.py:914 stock/models.py:83 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:909 +#: InvenTree/models.py:923 msgid "parent" msgstr "" -#: InvenTree/models.py:915 templates/js/translated/part.js:2794 -#: templates/js/translated/stock.js:2760 +#: InvenTree/models.py:929 templates/js/translated/part.js:2793 +#: templates/js/translated/stock.js:2757 msgid "Path" msgstr "" -#: InvenTree/models.py:1021 +#: InvenTree/models.py:1035 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:1050 +#: InvenTree/models.py:1064 msgid "Barcode Data" msgstr "" -#: InvenTree/models.py:1051 +#: InvenTree/models.py:1065 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:1057 +#: InvenTree/models.py:1071 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:1058 +#: InvenTree/models.py:1072 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:1111 +#: InvenTree/models.py:1125 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:1154 +#: InvenTree/models.py:1168 msgid "Server Error" msgstr "" -#: InvenTree/models.py:1155 +#: InvenTree/models.py:1169 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:62 part/models.py:4169 +#: InvenTree/serializers.py:62 part/models.py:4212 msgid "Must be a valid number" msgstr "" #: InvenTree/serializers.py:99 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:2993 +#: company/templates/company/company_base.html:112 part/models.py:3036 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -686,7 +686,7 @@ msgstr "" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1161 +#: InvenTree/status.py:66 part/serializers.py:1176 msgid "Background worker check failed" msgstr "" @@ -699,8 +699,8 @@ msgid "InvenTree system health checks failed" msgstr "" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:37 -#: InvenTree/status_codes.py:148 InvenTree/status_codes.py:164 -#: InvenTree/status_codes.py:182 generic/states/tests.py:17 +#: InvenTree/status_codes.py:149 InvenTree/status_codes.py:165 +#: InvenTree/status_codes.py:183 generic/states/tests.py:17 #: templates/js/translated/table_filters.js:598 msgid "Pending" msgstr "" @@ -709,188 +709,188 @@ msgstr "" msgid "Placed" msgstr "" -#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:151 -#: InvenTree/status_codes.py:169 generic/states/tests.py:19 -#: order/templates/order/order_base.html:158 -#: order/templates/order/sales_order_base.html:161 +#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:44 +#: InvenTree/status_codes.py:152 InvenTree/status_codes.py:170 +#: generic/states/tests.py:19 order/templates/order/order_base.html:158 +#: order/templates/order/sales_order_base.html:165 report/models.py:444 msgid "Complete" msgstr "" -#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:44 -#: InvenTree/status_codes.py:150 InvenTree/status_codes.py:170 +#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:45 +#: InvenTree/status_codes.py:151 InvenTree/status_codes.py:171 msgid "Cancelled" msgstr "" -#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:45 -#: InvenTree/status_codes.py:67 +#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:46 +#: InvenTree/status_codes.py:68 msgid "Lost" msgstr "" -#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:46 -#: InvenTree/status_codes.py:73 +#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:47 +#: InvenTree/status_codes.py:74 msgid "Returned" msgstr "" -#: InvenTree/status_codes.py:40 InvenTree/status_codes.py:167 +#: InvenTree/status_codes.py:40 InvenTree/status_codes.py:168 msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:43 order/models.py:1566 -#: templates/js/translated/sales_order.js:1523 -#: templates/js/translated/sales_order.js:1644 -#: templates/js/translated/sales_order.js:1957 +#: InvenTree/status_codes.py:43 order/models.py:1606 +#: templates/js/translated/sales_order.js:1559 +#: templates/js/translated/sales_order.js:1680 +#: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "" -#: InvenTree/status_codes.py:62 +#: InvenTree/status_codes.py:63 msgid "OK" msgstr "" -#: InvenTree/status_codes.py:63 +#: InvenTree/status_codes.py:64 msgid "Attention needed" msgstr "" -#: InvenTree/status_codes.py:64 +#: InvenTree/status_codes.py:65 msgid "Damaged" msgstr "" -#: InvenTree/status_codes.py:65 +#: InvenTree/status_codes.py:66 msgid "Destroyed" msgstr "" -#: InvenTree/status_codes.py:66 +#: InvenTree/status_codes.py:67 msgid "Rejected" msgstr "" -#: InvenTree/status_codes.py:70 +#: InvenTree/status_codes.py:71 msgid "Quarantined" msgstr "" -#: InvenTree/status_codes.py:91 +#: InvenTree/status_codes.py:92 msgid "Legacy stock tracking entry" msgstr "" -#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:544 +#: InvenTree/status_codes.py:94 templates/js/translated/stock.js:544 msgid "Stock item created" msgstr "" -#: InvenTree/status_codes.py:96 +#: InvenTree/status_codes.py:97 msgid "Edited stock item" msgstr "" -#: InvenTree/status_codes.py:97 +#: InvenTree/status_codes.py:98 msgid "Assigned serial number" msgstr "" -#: InvenTree/status_codes.py:100 +#: InvenTree/status_codes.py:101 msgid "Stock counted" msgstr "" -#: InvenTree/status_codes.py:101 +#: InvenTree/status_codes.py:102 msgid "Stock manually added" msgstr "" -#: InvenTree/status_codes.py:102 +#: InvenTree/status_codes.py:103 msgid "Stock manually removed" msgstr "" -#: InvenTree/status_codes.py:105 +#: InvenTree/status_codes.py:106 msgid "Location changed" msgstr "" -#: InvenTree/status_codes.py:106 +#: InvenTree/status_codes.py:107 msgid "Stock updated" msgstr "" -#: InvenTree/status_codes.py:109 +#: InvenTree/status_codes.py:110 msgid "Installed into assembly" msgstr "" -#: InvenTree/status_codes.py:110 +#: InvenTree/status_codes.py:111 msgid "Removed from assembly" msgstr "" -#: InvenTree/status_codes.py:112 +#: InvenTree/status_codes.py:113 msgid "Installed component item" msgstr "" -#: InvenTree/status_codes.py:113 +#: InvenTree/status_codes.py:114 msgid "Removed component item" msgstr "" -#: InvenTree/status_codes.py:116 +#: InvenTree/status_codes.py:117 msgid "Split from parent item" msgstr "" -#: InvenTree/status_codes.py:117 +#: InvenTree/status_codes.py:118 msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1858 +#: InvenTree/status_codes.py:121 templates/js/translated/stock.js:1858 msgid "Merged stock items" msgstr "" -#: InvenTree/status_codes.py:123 +#: InvenTree/status_codes.py:124 msgid "Converted to variant" msgstr "" -#: InvenTree/status_codes.py:126 +#: InvenTree/status_codes.py:127 msgid "Build order output created" msgstr "" -#: InvenTree/status_codes.py:127 +#: InvenTree/status_codes.py:128 msgid "Build order output completed" msgstr "" -#: InvenTree/status_codes.py:128 +#: InvenTree/status_codes.py:129 msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1764 +#: InvenTree/status_codes.py:130 templates/js/translated/stock.js:1764 msgid "Consumed by build order" msgstr "" -#: InvenTree/status_codes.py:132 +#: InvenTree/status_codes.py:133 msgid "Shipped against Sales Order" msgstr "" -#: InvenTree/status_codes.py:135 +#: InvenTree/status_codes.py:136 msgid "Received against Purchase Order" msgstr "" -#: InvenTree/status_codes.py:138 +#: InvenTree/status_codes.py:139 msgid "Returned against Return Order" msgstr "" -#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:375 +#: InvenTree/status_codes.py:142 templates/js/translated/table_filters.js:375 msgid "Sent to customer" msgstr "" -#: InvenTree/status_codes.py:142 +#: InvenTree/status_codes.py:143 msgid "Returned from customer" msgstr "" -#: InvenTree/status_codes.py:149 +#: InvenTree/status_codes.py:150 msgid "Production" msgstr "" -#: InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:186 msgid "Return" msgstr "" -#: InvenTree/status_codes.py:188 +#: InvenTree/status_codes.py:189 msgid "Repair" msgstr "" -#: InvenTree/status_codes.py:191 +#: InvenTree/status_codes.py:192 msgid "Replace" msgstr "" -#: InvenTree/status_codes.py:194 +#: InvenTree/status_codes.py:195 msgid "Refund" msgstr "" -#: InvenTree/status_codes.py:197 +#: InvenTree/status_codes.py:198 msgid "Reject" msgstr "" @@ -946,14 +946,14 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:299 part/models.py:4047 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4090 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4041 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4084 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -969,7 +969,7 @@ msgstr "" #: build/api.py:303 part/admin.py:144 templates/js/translated/build.js:1744 #: templates/js/translated/build.js:2629 -#: templates/js/translated/sales_order.js:1929 +#: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "" @@ -980,7 +980,7 @@ msgstr "" #: templates/email/low_stock_notification.html:17 #: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 #: templates/js/translated/index.js:123 -#: templates/js/translated/model_renderers.js:228 +#: templates/js/translated/model_renderers.js:234 #: templates/js/translated/part.js:692 templates/js/translated/part.js:694 #: templates/js/translated/part.js:699 #: templates/js/translated/table_filters.js:340 @@ -988,16 +988,16 @@ msgstr "" msgid "Available" msgstr "" -#: build/models.py:74 build/templates/build/build_base.html:9 +#: build/models.py:82 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 -#: report/templates/report/inventree_build_order_base.html:105 -#: templates/email/build_order_completed.html:16 +#: report/templates/report/inventree_build_order_report.html:105 +#: stock/serializers.py:83 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2895 +#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2892 msgid "Build Order" msgstr "" -#: build/models.py:75 build/templates/build/build_base.html:13 +#: build/models.py:83 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -1008,71 +1008,71 @@ msgstr "" msgid "Build Orders" msgstr "" -#: build/models.py:122 +#: build/models.py:130 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:133 order/models.py:239 +#: build/models.py:141 order/models.py:241 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:139 +#: build/models.py:147 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:185 +#: build/models.py:208 msgid "Build Order Reference" msgstr "" -#: build/models.py:186 order/models.py:442 order/models.py:898 -#: order/models.py:1276 order/models.py:1998 part/admin.py:417 -#: part/models.py:4062 part/templates/part/upload_bom.html:54 +#: build/models.py:209 order/models.py:464 order/models.py:929 +#: order/models.py:1316 order/models.py:2047 part/admin.py:419 +#: part/models.py:4105 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 -#: report/templates/report/inventree_so_report_base.html:28 +#: report/templates/report/inventree_purchase_order_report.html:28 +#: report/templates/report/inventree_return_order_report.html:26 +#: report/templates/report/inventree_sales_order_report.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 #: templates/js/translated/build.js:2512 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 -#: templates/js/translated/purchase_order.js:2066 -#: templates/js/translated/return_order.js:729 -#: templates/js/translated/sales_order.js:1818 +#: templates/js/translated/purchase_order.js:2065 +#: templates/js/translated/return_order.js:728 +#: templates/js/translated/sales_order.js:1854 msgid "Reference" msgstr "" -#: build/models.py:197 +#: build/models.py:220 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:205 build/templates/build/build_base.html:183 +#: build/models.py:228 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:206 +#: build/models.py:229 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:211 build/templates/build/build_base.html:97 +#: build/models.py:234 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 -#: order/models.py:1401 order/models.py:1546 order/models.py:1547 -#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004 -#: part/models.py:3148 part/models.py:3292 part/models.py:3315 -#: part/models.py:3336 part/models.py:3358 part/models.py:3468 -#: part/models.py:3764 part/models.py:3920 part/models.py:4013 -#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713 +#: order/models.py:1441 order/models.py:1586 order/models.py:1587 +#: part/api.py:1501 part/api.py:1795 part/models.py:392 part/models.py:3047 +#: part/models.py:3191 part/models.py:3335 part/models.py:3358 +#: part/models.py:3379 part/models.py:3401 part/models.py:3511 +#: part/models.py:3807 part/models.py:3963 part/models.py:4056 +#: part/models.py:4417 part/serializers.py:1122 part/serializers.py:1728 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 -#: report/templates/report/inventree_build_order_base.html:109 -#: report/templates/report/inventree_po_report_base.html:27 -#: report/templates/report/inventree_return_order_report_base.html:24 -#: report/templates/report/inventree_slr_report.html:102 -#: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:267 stock/serializers.py:689 -#: templates/InvenTree/search.html:82 +#: report/templates/report/inventree_build_order_report.html:109 +#: report/templates/report/inventree_purchase_order_report.html:27 +#: report/templates/report/inventree_return_order_report.html:24 +#: report/templates/report/inventree_sales_order_report.html:27 +#: report/templates/report/inventree_stock_location_report.html:102 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:396 +#: stock/serializers.py:818 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -1086,235 +1086,239 @@ msgstr "" #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 #: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 -#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:2323 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:751 #: templates/js/translated/purchase_order.js:1304 -#: templates/js/translated/purchase_order.js:1849 -#: templates/js/translated/purchase_order.js:2008 -#: templates/js/translated/return_order.js:539 -#: templates/js/translated/return_order.js:710 +#: templates/js/translated/purchase_order.js:1848 +#: templates/js/translated/purchase_order.js:2007 +#: templates/js/translated/return_order.js:538 +#: templates/js/translated/return_order.js:709 #: templates/js/translated/sales_order.js:300 -#: templates/js/translated/sales_order.js:1197 -#: templates/js/translated/sales_order.js:1598 -#: templates/js/translated/sales_order.js:1796 +#: templates/js/translated/sales_order.js:1233 +#: templates/js/translated/sales_order.js:1634 +#: templates/js/translated/sales_order.js:1832 #: templates/js/translated/stock.js:676 templates/js/translated/stock.js:842 -#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1999 -#: templates/js/translated/stock.js:2860 templates/js/translated/stock.js:3093 -#: templates/js/translated/stock.js:3239 +#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1997 +#: templates/js/translated/stock.js:2857 templates/js/translated/stock.js:3090 +#: templates/js/translated/stock.js:3236 msgid "Part" msgstr "" -#: build/models.py:219 +#: build/models.py:242 msgid "Select part to build" msgstr "" -#: build/models.py:224 +#: build/models.py:247 msgid "Sales Order Reference" msgstr "" -#: build/models.py:228 +#: build/models.py:251 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:233 build/serializers.py:970 +#: build/models.py:256 build/serializers.py:969 #: templates/js/translated/build.js:1731 -#: templates/js/translated/sales_order.js:1185 +#: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "" -#: build/models.py:237 +#: build/models.py:260 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:242 +#: build/models.py:265 msgid "Destination Location" msgstr "" -#: build/models.py:246 +#: build/models.py:269 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:250 +#: build/models.py:273 msgid "Build Quantity" msgstr "" -#: build/models.py:253 +#: build/models.py:276 msgid "Number of stock items to build" msgstr "" -#: build/models.py:257 +#: build/models.py:280 msgid "Completed items" msgstr "" -#: build/models.py:259 +#: build/models.py:282 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:263 +#: build/models.py:286 msgid "Build Status" msgstr "" -#: build/models.py:267 +#: build/models.py:290 msgid "Build status code" msgstr "" -#: build/models.py:276 build/serializers.py:278 order/serializers.py:581 -#: stock/models.py:823 stock/serializers.py:1333 +#: build/models.py:299 build/serializers.py:277 order/serializers.py:581 +#: stock/models.py:844 stock/serializers.py:75 stock/serializers.py:1462 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" -#: build/models.py:280 build/serializers.py:279 +#: build/models.py:303 build/serializers.py:278 msgid "Batch code for this build output" msgstr "" -#: build/models.py:283 order/models.py:304 order/serializers.py:120 -#: part/models.py:1079 part/templates/part/part_base.html:310 -#: templates/js/translated/return_order.js:339 -#: templates/js/translated/sales_order.js:827 +#: build/models.py:306 order/models.py:317 order/serializers.py:120 +#: part/models.py:1122 part/templates/part/part_base.html:310 +#: templates/js/translated/return_order.js:338 +#: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "" -#: build/models.py:287 +#: build/models.py:310 msgid "Target completion date" msgstr "" -#: build/models.py:288 +#: build/models.py:311 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:291 order/models.py:500 order/models.py:2043 +#: build/models.py:314 order/models.py:522 order/models.py:2092 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "" -#: build/models.py:297 +#: build/models.py:320 msgid "completed by" msgstr "" -#: build/models.py:305 templates/js/translated/build.js:2207 +#: build/models.py:328 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "" -#: build/models.py:306 +#: build/models.py:329 msgid "User who issued this build order" msgstr "" -#: build/models.py:314 build/templates/build/build_base.html:204 +#: build/models.py:337 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:145 -#: order/models.py:322 order/templates/order/order_base.html:217 +#: order/models.py:335 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1096 +#: order/templates/order/sales_order_base.html:232 part/models.py:1139 #: part/templates/part/part_base.html:390 -#: report/templates/report/inventree_build_order_base.html:158 +#: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 #: templates/js/translated/build.js:2219 -#: templates/js/translated/purchase_order.js:1764 -#: templates/js/translated/return_order.js:359 +#: templates/js/translated/purchase_order.js:1763 +#: templates/js/translated/return_order.js:358 #: templates/js/translated/table_filters.js:531 msgid "Responsible" msgstr "" -#: build/models.py:315 +#: build/models.py:338 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:320 build/templates/build/detail.html:108 +#: build/models.py:343 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 -#: order/templates/order/sales_order_base.html:180 -#: part/templates/part/part_base.html:383 stock/models.py:819 +#: order/templates/order/sales_order_base.html:184 +#: part/templates/part/part_base.html:383 stock/models.py:840 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "" -#: build/models.py:325 +#: build/models.py:348 msgid "Build Priority" msgstr "" -#: build/models.py:328 +#: build/models.py:351 msgid "Priority of this build order" msgstr "" -#: build/models.py:335 common/models.py:129 order/admin.py:18 -#: order/models.py:286 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:358 common/models.py:129 order/admin.py:18 +#: order/models.py:299 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 -#: templates/js/translated/purchase_order.js:1711 -#: templates/js/translated/return_order.js:318 -#: templates/js/translated/sales_order.js:806 +#: templates/js/translated/purchase_order.js:1710 +#: templates/js/translated/return_order.js:317 +#: templates/js/translated/sales_order.js:842 #: templates/js/translated/table_filters.js:48 #: templates/project_code_data.html:6 msgid "Project Code" msgstr "" -#: build/models.py:336 +#: build/models.py:359 msgid "Project code for this build order" msgstr "" -#: build/models.py:566 build/models.py:631 +#: build/models.py:589 build/models.py:654 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:588 +#: build/models.py:611 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:594 +#: build/models.py:617 msgid "A build order has been completed" msgstr "" -#: build/models.py:820 build/models.py:895 +#: build/models.py:843 build/models.py:918 msgid "No build output specified" msgstr "" -#: build/models.py:823 +#: build/models.py:846 msgid "Build output is already completed" msgstr "" -#: build/models.py:826 +#: build/models.py:849 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:899 build/serializers.py:221 build/serializers.py:260 -#: build/serializers.py:837 order/models.py:538 order/serializers.py:433 -#: order/serializers.py:576 part/serializers.py:1471 part/serializers.py:1871 -#: stock/models.py:662 stock/models.py:1482 stock/serializers.py:472 +#: build/models.py:922 build/serializers.py:220 build/serializers.py:259 +#: build/serializers.py:836 order/models.py:560 order/serializers.py:433 +#: order/serializers.py:576 part/serializers.py:1486 part/serializers.py:1886 +#: stock/models.py:683 stock/models.py:1503 stock/serializers.py:601 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:904 build/serializers.py:226 +#: build/models.py:927 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:961 build/serializers.py:539 +#: build/models.py:984 build/serializers.py:538 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1323 +#: build/models.py:1335 +msgid "Build Order Line Item" +msgstr "" + +#: build/models.py:1360 msgid "Build object" msgstr "" -#: build/models.py:1337 build/models.py:1593 build/serializers.py:208 -#: build/serializers.py:245 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2524 -#: order/models.py:1259 order/models.py:1918 order/serializers.py:1339 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 -#: part/forms.py:48 part/models.py:3162 part/models.py:4035 +#: build/models.py:1374 build/models.py:1630 build/serializers.py:207 +#: build/serializers.py:244 build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2530 +#: order/models.py:1299 order/models.py:1958 order/serializers.py:1339 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 +#: part/forms.py:48 part/models.py:3205 part/models.py:4078 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 -#: report/templates/report/inventree_build_order_base.html:113 -#: report/templates/report/inventree_po_report_base.html:29 -#: report/templates/report/inventree_slr_report.html:104 -#: report/templates/report/inventree_so_report_base.html:29 -#: report/templates/report/inventree_test_report_base.html:90 -#: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:160 stock/serializers.py:463 +#: report/templates/report/inventree_build_order_report.html:113 +#: report/templates/report/inventree_purchase_order_report.html:29 +#: report/templates/report/inventree_sales_order_report.html:29 +#: report/templates/report/inventree_stock_location_report.html:104 +#: report/templates/report/inventree_test_report.html:90 +#: report/templates/report/inventree_test_report.html:170 stock/admin.py:160 +#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:592 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1324,380 +1328,381 @@ msgstr "" #: templates/js/translated/build.js:737 templates/js/translated/build.js:1369 #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 -#: templates/js/translated/model_renderers.js:230 +#: templates/js/translated/model_renderers.js:236 #: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3341 +#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3340 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 #: templates/js/translated/purchase_order.js:754 -#: templates/js/translated/purchase_order.js:1853 -#: templates/js/translated/purchase_order.js:2072 +#: templates/js/translated/purchase_order.js:1852 +#: templates/js/translated/purchase_order.js:2071 #: templates/js/translated/sales_order.js:317 -#: templates/js/translated/sales_order.js:1199 -#: templates/js/translated/sales_order.js:1518 -#: templates/js/translated/sales_order.js:1608 -#: templates/js/translated/sales_order.js:1698 -#: templates/js/translated/sales_order.js:1824 +#: templates/js/translated/sales_order.js:1235 +#: templates/js/translated/sales_order.js:1554 +#: templates/js/translated/sales_order.js:1644 +#: templates/js/translated/sales_order.js:1734 +#: templates/js/translated/sales_order.js:1860 #: templates/js/translated/stock.js:564 templates/js/translated/stock.js:702 -#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:3024 -#: templates/js/translated/stock.js:3107 +#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:3021 +#: templates/js/translated/stock.js:3104 msgid "Quantity" msgstr "" -#: build/models.py:1338 +#: build/models.py:1375 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1418 +#: build/models.py:1455 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1427 +#: build/models.py:1464 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1437 order/models.py:1869 +#: build/models.py:1474 order/models.py:1909 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1443 order/models.py:1872 +#: build/models.py:1480 order/models.py:1912 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1449 +#: build/models.py:1486 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1508 +#: build/models.py:1545 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1580 build/serializers.py:817 order/serializers.py:1183 -#: order/serializers.py:1204 stock/serializers.py:566 stock/serializers.py:1052 -#: stock/serializers.py:1164 stock/templates/stock/item_base.html:10 +#: build/models.py:1617 build/serializers.py:816 order/serializers.py:1183 +#: order/serializers.py:1204 stock/models.py:364 stock/serializers.py:92 +#: stock/serializers.py:695 stock/serializers.py:1181 stock/serializers.py:1293 +#: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 #: templates/js/translated/build.js:1745 #: templates/js/translated/sales_order.js:301 -#: templates/js/translated/sales_order.js:1198 -#: templates/js/translated/sales_order.js:1499 -#: templates/js/translated/sales_order.js:1504 -#: templates/js/translated/sales_order.js:1605 -#: templates/js/translated/sales_order.js:1692 +#: templates/js/translated/sales_order.js:1234 +#: templates/js/translated/sales_order.js:1535 +#: templates/js/translated/sales_order.js:1540 +#: templates/js/translated/sales_order.js:1641 +#: templates/js/translated/sales_order.js:1728 #: templates/js/translated/stock.js:677 templates/js/translated/stock.js:843 -#: templates/js/translated/stock.js:2980 +#: templates/js/translated/stock.js:2977 msgid "Stock Item" msgstr "" -#: build/models.py:1581 +#: build/models.py:1618 msgid "Source stock item" msgstr "" -#: build/models.py:1594 +#: build/models.py:1631 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1602 +#: build/models.py:1639 msgid "Install into" msgstr "" -#: build/models.py:1603 +#: build/models.py:1640 msgid "Destination stock item" msgstr "" -#: build/serializers.py:158 build/serializers.py:846 +#: build/serializers.py:157 build/serializers.py:845 #: templates/js/translated/build.js:1322 msgid "Build Output" msgstr "" -#: build/serializers.py:170 +#: build/serializers.py:169 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:174 +#: build/serializers.py:173 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:178 +#: build/serializers.py:177 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:189 +#: build/serializers.py:188 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:209 build/serializers.py:246 +#: build/serializers.py:208 build/serializers.py:245 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:267 +#: build/serializers.py:266 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:270 +#: build/serializers.py:269 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:285 order/serializers.py:589 order/serializers.py:1343 -#: stock/serializers.py:483 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:284 order/serializers.py:589 order/serializers.py:1343 +#: stock/serializers.py:612 templates/js/translated/purchase_order.js:1153 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:286 +#: build/serializers.py:285 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:291 build/serializers.py:432 build/serializers.py:504 +#: build/serializers.py:290 build/serializers.py:431 build/serializers.py:503 #: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1679 -#: part/serializers.py:1127 stock/serializers.py:494 stock/serializers.py:654 -#: stock/serializers.py:750 stock/serializers.py:1196 stock/serializers.py:1452 -#: stock/templates/stock/item_base.html:394 +#: part/serializers.py:1142 stock/serializers.py:101 stock/serializers.py:623 +#: stock/serializers.py:783 stock/serializers.py:879 stock/serializers.py:1325 +#: stock/serializers.py:1581 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 #: templates/js/translated/purchase_order.js:1178 #: templates/js/translated/purchase_order.js:1268 -#: templates/js/translated/sales_order.js:1511 -#: templates/js/translated/sales_order.js:1619 -#: templates/js/translated/sales_order.js:1627 -#: templates/js/translated/sales_order.js:1706 +#: templates/js/translated/sales_order.js:1547 +#: templates/js/translated/sales_order.js:1655 +#: templates/js/translated/sales_order.js:1663 +#: templates/js/translated/sales_order.js:1742 #: templates/js/translated/stock.js:678 templates/js/translated/stock.js:844 -#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2203 -#: templates/js/translated/stock.js:2874 +#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2201 +#: templates/js/translated/stock.js:2871 msgid "Location" msgstr "" -#: build/serializers.py:292 +#: build/serializers.py:291 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:306 +#: build/serializers.py:305 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:307 +#: build/serializers.py:306 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:322 +#: build/serializers.py:321 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:347 stock/api.py:995 +#: build/serializers.py:346 stock/api.py:1029 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:394 build/serializers.py:456 build/serializers.py:545 +#: build/serializers.py:393 build/serializers.py:455 build/serializers.py:544 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:433 +#: build/serializers.py:432 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:439 +#: build/serializers.py:438 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:440 +#: build/serializers.py:439 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:445 +#: build/serializers.py:444 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:505 +#: build/serializers.py:504 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:511 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:922 -#: order/models.py:2022 order/serializers.py:597 stock/admin.py:165 -#: stock/serializers.py:801 stock/serializers.py:1340 +#: build/serializers.py:510 build/templates/build/build_base.html:151 +#: build/templates/build/detail.html:62 order/models.py:953 +#: order/models.py:2071 order/serializers.py:597 stock/admin.py:165 +#: stock/serializers.py:930 stock/serializers.py:1469 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 -#: templates/js/translated/purchase_order.js:1723 -#: templates/js/translated/return_order.js:331 -#: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2178 templates/js/translated/stock.js:2998 -#: templates/js/translated/stock.js:3123 +#: templates/js/translated/purchase_order.js:1722 +#: templates/js/translated/return_order.js:330 +#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/stock.js:2176 templates/js/translated/stock.js:2995 +#: templates/js/translated/stock.js:3120 msgid "Status" msgstr "" -#: build/serializers.py:517 +#: build/serializers.py:516 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:518 +#: build/serializers.py:517 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:598 +#: build/serializers.py:597 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:599 +#: build/serializers.py:598 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:605 +#: build/serializers.py:604 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:606 +#: build/serializers.py:605 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:633 +#: build/serializers.py:632 msgid "Not permitted" msgstr "" -#: build/serializers.py:634 +#: build/serializers.py:633 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:635 +#: build/serializers.py:634 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:657 +#: build/serializers.py:656 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:659 +#: build/serializers.py:658 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:669 +#: build/serializers.py:668 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:674 +#: build/serializers.py:673 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:675 +#: build/serializers.py:674 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:685 templates/js/translated/build.js:315 +#: build/serializers.py:684 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:690 order/serializers.py:301 order/serializers.py:1246 +#: build/serializers.py:689 order/serializers.py:301 order/serializers.py:1246 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:691 +#: build/serializers.py:690 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:701 templates/js/translated/build.js:319 +#: build/serializers.py:700 templates/js/translated/build.js:319 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:710 templates/js/translated/build.js:303 +#: build/serializers.py:709 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:740 +#: build/serializers.py:739 msgid "Build Line" msgstr "" -#: build/serializers.py:750 +#: build/serializers.py:749 msgid "Build output" msgstr "" -#: build/serializers.py:758 +#: build/serializers.py:757 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:794 +#: build/serializers.py:793 msgid "Build Line Item" msgstr "" -#: build/serializers.py:808 +#: build/serializers.py:807 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:823 stock/serializers.py:1065 +#: build/serializers.py:822 stock/serializers.py:1194 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:871 order/serializers.py:1237 +#: build/serializers.py:870 order/serializers.py:1237 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:877 +#: build/serializers.py:876 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:884 +#: build/serializers.py:883 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:908 order/serializers.py:1489 +#: build/serializers.py:907 order/serializers.py:1489 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:971 +#: build/serializers.py:970 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:979 +#: build/serializers.py:978 msgid "Exclude Location" msgstr "" -#: build/serializers.py:980 +#: build/serializers.py:979 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:985 +#: build/serializers.py:984 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:986 +#: build/serializers.py:985 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:991 +#: build/serializers.py:990 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:992 +#: build/serializers.py:991 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:997 +#: build/serializers.py:996 msgid "Optional Items" msgstr "" -#: build/serializers.py:998 +#: build/serializers.py:997 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1020 +#: build/serializers.py:1019 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1110 part/models.py:3930 part/models.py:4366 -#: stock/api.py:758 +#: build/serializers.py:1109 part/models.py:3973 part/models.py:4409 +#: stock/api.py:792 msgid "BOM Item" msgstr "" -#: build/serializers.py:1119 templates/js/translated/index.js:130 +#: build/serializers.py:1118 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1124 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:817 part/serializers.py:1489 +#: build/serializers.py:1123 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:832 part/serializers.py:1504 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 @@ -1705,15 +1710,15 @@ msgstr "" msgid "On Order" msgstr "" -#: build/serializers.py:1129 part/serializers.py:1491 +#: build/serializers.py:1128 part/serializers.py:1506 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1134 part/bom.py:172 part/serializers.py:1514 +#: build/serializers.py:1133 part/bom.py:172 part/serializers.py:1529 #: part/templates/part/part_base.html:192 -#: templates/js/translated/sales_order.js:1893 +#: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "" @@ -1842,18 +1847,18 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:297 -#: order/models.py:1294 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:310 +#: order/models.py:1334 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 -#: order/templates/order/sales_order_base.html:192 -#: report/templates/report/inventree_build_order_base.html:125 +#: order/templates/order/sales_order_base.html:196 +#: report/templates/report/inventree_build_order_report.html:125 #: templates/js/translated/build.js:2239 templates/js/translated/part.js:1830 -#: templates/js/translated/purchase_order.js:1740 -#: templates/js/translated/purchase_order.js:2148 -#: templates/js/translated/return_order.js:347 -#: templates/js/translated/return_order.js:751 -#: templates/js/translated/sales_order.js:835 -#: templates/js/translated/sales_order.js:1867 +#: templates/js/translated/purchase_order.js:1739 +#: templates/js/translated/purchase_order.js:2147 +#: templates/js/translated/return_order.js:346 +#: templates/js/translated/return_order.js:750 +#: templates/js/translated/sales_order.js:871 +#: templates/js/translated/sales_order.js:1903 msgid "Target Date" msgstr "" @@ -1866,7 +1871,7 @@ msgstr "" #: build/templates/build/build_base.html:222 #: order/templates/order/order_base.html:122 #: order/templates/order/return_order_base.html:117 -#: order/templates/order/sales_order_base.html:122 +#: order/templates/order/sales_order_base.html:126 #: templates/js/translated/table_filters.js:98 #: templates/js/translated/table_filters.js:524 #: templates/js/translated/table_filters.js:626 @@ -1880,24 +1885,24 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:1538 -#: order/models.py:1652 order/models.py:1806 +#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:848 +#: order/models.py:1578 order/models.py:1692 order/models.py:1846 #: 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 +#: report/templates/report/inventree_build_order_report.html:135 +#: report/templates/report/inventree_sales_order_report.html:14 #: stock/templates/stock/item_base.html:369 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:929 -#: templates/js/translated/sales_order.js:769 -#: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2927 +#: templates/js/translated/sales_order.js:805 +#: templates/js/translated/sales_order.js:1028 +#: templates/js/translated/stock.js:2924 msgid "Sales Order" msgstr "" #: build/templates/build/build_base.html:197 #: build/templates/build/detail.html:115 -#: report/templates/report/inventree_build_order_base.html:152 +#: report/templates/report/inventree_build_order_report.html:152 #: templates/js/translated/table_filters.js:24 msgid "Issued By" msgstr "" @@ -1907,15 +1912,15 @@ msgstr "" msgid "Priority" msgstr "" -#: build/templates/build/build_base.html:273 +#: build/templates/build/build_base.html:269 msgid "Delete Build Order" msgstr "" -#: build/templates/build/build_base.html:283 +#: build/templates/build/build_base.html:279 msgid "Build Order QR Code" msgstr "" -#: build/templates/build/build_base.html:295 +#: build/templates/build/build_base.html:291 msgid "Link Barcode to Build Order" msgstr "" @@ -1931,8 +1936,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1430 -#: templates/js/translated/purchase_order.js:2190 +#: build/templates/build/detail.html:49 order/models.py:1470 +#: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "" @@ -1947,10 +1952,10 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 #: templates/js/translated/build.js:1380 -#: templates/js/translated/model_renderers.js:235 +#: templates/js/translated/model_renderers.js:241 #: templates/js/translated/purchase_order.js:1274 -#: templates/js/translated/stock.js:1133 templates/js/translated/stock.js:2192 -#: templates/js/translated/stock.js:3130 +#: templates/js/translated/stock.js:1133 templates/js/translated/stock.js:2190 +#: templates/js/translated/stock.js:3127 #: templates/js/translated/table_filters.js:313 #: templates/js/translated/table_filters.js:404 msgid "Batch" @@ -1959,7 +1964,7 @@ msgstr "" #: build/templates/build/detail.html:133 #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:151 -#: order/templates/order/sales_order_base.html:186 +#: order/templates/order/sales_order_base.html:190 #: templates/js/translated/build.js:2199 msgid "Created" msgstr "" @@ -1969,7 +1974,7 @@ msgid "No target date set" msgstr "" #: build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:202 +#: order/templates/order/sales_order_base.html:206 #: templates/js/translated/table_filters.js:689 msgid "Completed" msgstr "" @@ -2260,8 +2265,8 @@ msgstr "" #: common/models.py:1316 common/models.py:1372 common/models.py:1385 #: common/models.py:1393 common/models.py:1402 common/models.py:1411 -#: common/models.py:1613 common/models.py:1635 common/models.py:1750 -#: common/models.py:2061 +#: common/models.py:1619 common/models.py:1641 common/models.py:1756 +#: common/models.py:2067 msgid "days" msgstr "" @@ -2402,1209 +2407,1218 @@ msgid "Enable revision field for Part" msgstr "" #: common/models.py:1440 -msgid "IPN Regex" +msgid "Allow Deletion from Assembly" msgstr "" #: common/models.py:1441 +msgid "Allow deletion of parts which are used in an assembly" +msgstr "" + +#: common/models.py:1446 +msgid "IPN Regex" +msgstr "" + +#: common/models.py:1447 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1444 +#: common/models.py:1450 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1445 +#: common/models.py:1451 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1450 +#: common/models.py:1456 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1451 +#: common/models.py:1457 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1456 +#: common/models.py:1462 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1457 +#: common/models.py:1463 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1462 +#: common/models.py:1468 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1463 +#: common/models.py:1469 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1468 +#: common/models.py:1474 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1469 +#: common/models.py:1475 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1474 +#: common/models.py:1480 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1475 +#: common/models.py:1481 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1480 part/admin.py:108 part/models.py:3772 -#: report/models.py:182 stock/serializers.py:99 +#: common/models.py:1486 part/admin.py:108 part/models.py:3815 +#: report/models.py:294 report/models.py:361 report/serializers.py:90 +#: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:767 msgid "Template" msgstr "" -#: common/models.py:1481 +#: common/models.py:1487 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1486 part/admin.py:91 part/admin.py:431 part/models.py:1016 +#: common/models.py:1492 part/admin.py:91 part/admin.py:433 part/models.py:1059 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "" -#: common/models.py:1487 +#: common/models.py:1493 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1492 part/admin.py:95 part/models.py:1022 +#: common/models.py:1498 part/admin.py:95 part/models.py:1065 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "" -#: common/models.py:1493 +#: common/models.py:1499 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1498 part/admin.py:100 part/models.py:1034 +#: common/models.py:1504 part/admin.py:100 part/models.py:1077 msgid "Purchaseable" msgstr "" -#: common/models.py:1499 +#: common/models.py:1505 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1504 part/admin.py:104 part/models.py:1040 +#: common/models.py:1510 part/admin.py:104 part/models.py:1083 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "" -#: common/models.py:1505 +#: common/models.py:1511 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1510 part/admin.py:113 part/models.py:1028 +#: common/models.py:1516 part/admin.py:113 part/models.py:1071 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "" -#: common/models.py:1511 +#: common/models.py:1517 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1516 part/admin.py:117 part/models.py:1050 +#: common/models.py:1522 part/admin.py:117 part/models.py:1093 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "" -#: common/models.py:1517 +#: common/models.py:1523 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1522 +#: common/models.py:1528 msgid "Show Import in Views" msgstr "" -#: common/models.py:1523 +#: common/models.py:1529 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1528 +#: common/models.py:1534 msgid "Show related parts" msgstr "" -#: common/models.py:1529 +#: common/models.py:1535 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1534 +#: common/models.py:1540 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1535 +#: common/models.py:1541 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1540 templates/js/translated/part.js:107 +#: common/models.py:1546 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1542 +#: common/models.py:1548 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1548 +#: common/models.py:1554 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1549 +#: common/models.py:1555 msgid "Format to display the part name" msgstr "" -#: common/models.py:1555 +#: common/models.py:1561 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1556 +#: common/models.py:1562 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1560 +#: common/models.py:1566 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1562 +#: common/models.py:1568 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1568 +#: common/models.py:1574 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1570 +#: common/models.py:1576 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1576 +#: common/models.py:1582 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1578 +#: common/models.py:1584 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1584 +#: common/models.py:1590 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1586 +#: common/models.py:1592 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1592 +#: common/models.py:1598 msgid "Purchase History Override" msgstr "" -#: common/models.py:1594 +#: common/models.py:1600 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1600 +#: common/models.py:1606 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1602 +#: common/models.py:1608 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1608 +#: common/models.py:1614 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1610 +#: common/models.py:1616 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1617 +#: common/models.py:1623 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1618 +#: common/models.py:1624 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1623 +#: common/models.py:1629 msgid "Active Variants Only" msgstr "" -#: common/models.py:1625 +#: common/models.py:1631 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1631 +#: common/models.py:1637 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1633 +#: common/models.py:1639 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1640 +#: common/models.py:1646 msgid "Internal Prices" msgstr "" -#: common/models.py:1641 +#: common/models.py:1647 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1646 +#: common/models.py:1652 msgid "Internal Price Override" msgstr "" -#: common/models.py:1648 +#: common/models.py:1654 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1654 +#: common/models.py:1660 msgid "Enable label printing" msgstr "" -#: common/models.py:1655 +#: common/models.py:1661 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1660 +#: common/models.py:1666 msgid "Label Image DPI" msgstr "" -#: common/models.py:1662 +#: common/models.py:1668 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1668 +#: common/models.py:1674 msgid "Enable Reports" msgstr "" -#: common/models.py:1669 +#: common/models.py:1675 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1674 templates/stats.html:25 +#: common/models.py:1680 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1675 +#: common/models.py:1681 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1680 +#: common/models.py:1686 msgid "Log Report Errors" msgstr "" -#: common/models.py:1681 +#: common/models.py:1687 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1686 plugin/builtin/labels/label_sheet.py:28 -#: report/models.py:203 +#: common/models.py:1692 plugin/builtin/labels/label_sheet.py:28 +#: report/models.py:302 msgid "Page Size" msgstr "" -#: common/models.py:1687 +#: common/models.py:1693 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1692 +#: common/models.py:1698 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1693 +#: common/models.py:1699 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1698 +#: common/models.py:1704 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1700 +#: common/models.py:1706 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1706 +#: common/models.py:1712 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1707 +#: common/models.py:1713 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1712 +#: common/models.py:1718 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1713 +#: common/models.py:1719 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1718 +#: common/models.py:1724 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1720 +#: common/models.py:1726 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1726 +#: common/models.py:1732 msgid "Batch Code Template" msgstr "" -#: common/models.py:1728 +#: common/models.py:1734 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1733 +#: common/models.py:1739 msgid "Stock Expiry" msgstr "" -#: common/models.py:1734 +#: common/models.py:1740 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1739 +#: common/models.py:1745 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1740 +#: common/models.py:1746 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1745 +#: common/models.py:1751 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1747 +#: common/models.py:1753 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1754 +#: common/models.py:1760 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1755 +#: common/models.py:1761 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1760 +#: common/models.py:1766 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1761 +#: common/models.py:1767 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1766 +#: common/models.py:1772 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1767 +#: common/models.py:1773 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1771 +#: common/models.py:1777 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1772 +#: common/models.py:1778 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1777 +#: common/models.py:1783 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1779 +#: common/models.py:1785 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1785 +#: common/models.py:1791 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1787 +#: common/models.py:1793 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1793 +#: common/models.py:1799 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1795 +#: common/models.py:1801 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1801 common/models.py:1829 common/models.py:1851 -#: common/models.py:1879 +#: common/models.py:1807 common/models.py:1835 common/models.py:1857 +#: common/models.py:1885 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1802 common/models.py:1830 common/models.py:1852 -#: common/models.py:1880 +#: common/models.py:1808 common/models.py:1836 common/models.py:1858 +#: common/models.py:1886 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1807 +#: common/models.py:1813 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1809 +#: common/models.py:1815 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1815 +#: common/models.py:1821 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1816 +#: common/models.py:1822 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1821 +#: common/models.py:1827 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1823 +#: common/models.py:1829 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1835 +#: common/models.py:1841 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1837 +#: common/models.py:1843 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1843 +#: common/models.py:1849 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1845 +#: common/models.py:1851 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1857 +#: common/models.py:1863 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1858 +#: common/models.py:1864 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1863 +#: common/models.py:1869 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1865 +#: common/models.py:1871 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1871 +#: common/models.py:1877 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1873 +#: common/models.py:1879 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1885 +#: common/models.py:1891 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1887 +#: common/models.py:1893 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1893 +#: common/models.py:1899 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1895 +#: common/models.py:1901 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1902 +#: common/models.py:1908 msgid "Enable password forgot" msgstr "" -#: common/models.py:1903 +#: common/models.py:1909 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1908 +#: common/models.py:1914 msgid "Enable registration" msgstr "" -#: common/models.py:1909 +#: common/models.py:1915 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1914 +#: common/models.py:1920 msgid "Enable SSO" msgstr "" -#: common/models.py:1915 +#: common/models.py:1921 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1920 +#: common/models.py:1926 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1922 +#: common/models.py:1928 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1928 +#: common/models.py:1934 msgid "Email required" msgstr "" -#: common/models.py:1929 +#: common/models.py:1935 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1934 +#: common/models.py:1940 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1936 +#: common/models.py:1942 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1942 +#: common/models.py:1948 msgid "Mail twice" msgstr "" -#: common/models.py:1943 +#: common/models.py:1949 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1948 +#: common/models.py:1954 msgid "Password twice" msgstr "" -#: common/models.py:1949 +#: common/models.py:1955 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1954 +#: common/models.py:1960 msgid "Allowed domains" msgstr "" -#: common/models.py:1956 +#: common/models.py:1962 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1962 +#: common/models.py:1968 msgid "Group on signup" msgstr "" -#: common/models.py:1963 +#: common/models.py:1969 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1968 +#: common/models.py:1974 msgid "Enforce MFA" msgstr "" -#: common/models.py:1969 +#: common/models.py:1975 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1974 +#: common/models.py:1980 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1976 +#: common/models.py:1982 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1984 +#: common/models.py:1990 msgid "Check for plugin updates" msgstr "" -#: common/models.py:1985 +#: common/models.py:1991 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:1991 +#: common/models.py:1997 msgid "Enable URL integration" msgstr "" -#: common/models.py:1992 +#: common/models.py:1998 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1998 +#: common/models.py:2004 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1999 +#: common/models.py:2005 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2005 +#: common/models.py:2011 msgid "Enable app integration" msgstr "" -#: common/models.py:2006 +#: common/models.py:2012 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2012 +#: common/models.py:2018 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2013 +#: common/models.py:2019 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2019 +#: common/models.py:2025 msgid "Enable event integration" msgstr "" -#: common/models.py:2020 +#: common/models.py:2026 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2026 +#: common/models.py:2032 msgid "Enable project codes" msgstr "" -#: common/models.py:2027 +#: common/models.py:2033 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2032 +#: common/models.py:2038 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2034 +#: common/models.py:2040 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2040 +#: common/models.py:2046 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2042 +#: common/models.py:2048 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2048 +#: common/models.py:2054 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2050 +#: common/models.py:2056 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2056 +#: common/models.py:2062 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2058 +#: common/models.py:2064 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2065 +#: common/models.py:2071 msgid "Display Users full names" msgstr "" -#: common/models.py:2066 +#: common/models.py:2072 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2071 +#: common/models.py:2077 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2072 +#: common/models.py:2078 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2084 common/models.py:2494 +#: common/models.py:2090 common/models.py:2500 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2127 +#: common/models.py:2133 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2129 +#: common/models.py:2135 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2135 +#: common/models.py:2141 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2136 +#: common/models.py:2142 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2141 +#: common/models.py:2147 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2142 +#: common/models.py:2148 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2147 +#: common/models.py:2153 msgid "Show latest parts" msgstr "" -#: common/models.py:2148 +#: common/models.py:2154 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2153 +#: common/models.py:2159 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2154 +#: common/models.py:2160 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2159 +#: common/models.py:2165 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2160 +#: common/models.py:2166 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2165 +#: common/models.py:2171 msgid "Show low stock" msgstr "" -#: common/models.py:2166 +#: common/models.py:2172 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2171 +#: common/models.py:2177 msgid "Show depleted stock" msgstr "" -#: common/models.py:2172 +#: common/models.py:2178 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2177 +#: common/models.py:2183 msgid "Show needed stock" msgstr "" -#: common/models.py:2178 +#: common/models.py:2184 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2183 +#: common/models.py:2189 msgid "Show expired stock" msgstr "" -#: common/models.py:2184 +#: common/models.py:2190 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2189 +#: common/models.py:2195 msgid "Show stale stock" msgstr "" -#: common/models.py:2190 +#: common/models.py:2196 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2195 +#: common/models.py:2201 msgid "Show pending builds" msgstr "" -#: common/models.py:2196 +#: common/models.py:2202 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2201 +#: common/models.py:2207 msgid "Show overdue builds" msgstr "" -#: common/models.py:2202 +#: common/models.py:2208 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2207 +#: common/models.py:2213 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2208 +#: common/models.py:2214 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2213 +#: common/models.py:2219 msgid "Show overdue POs" msgstr "" -#: common/models.py:2214 +#: common/models.py:2220 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2219 +#: common/models.py:2225 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2220 +#: common/models.py:2226 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2225 +#: common/models.py:2231 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2226 +#: common/models.py:2232 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2231 +#: common/models.py:2237 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2232 +#: common/models.py:2238 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2237 +#: common/models.py:2243 msgid "Show News" msgstr "" -#: common/models.py:2238 +#: common/models.py:2244 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2243 +#: common/models.py:2249 msgid "Inline label display" msgstr "" -#: common/models.py:2245 +#: common/models.py:2251 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2251 +#: common/models.py:2257 msgid "Default label printer" msgstr "" -#: common/models.py:2253 +#: common/models.py:2259 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2259 +#: common/models.py:2265 msgid "Inline report display" msgstr "" -#: common/models.py:2261 +#: common/models.py:2267 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2267 +#: common/models.py:2273 msgid "Search Parts" msgstr "" -#: common/models.py:2268 +#: common/models.py:2274 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2273 +#: common/models.py:2279 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2274 +#: common/models.py:2280 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2279 +#: common/models.py:2285 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2280 +#: common/models.py:2286 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2285 +#: common/models.py:2291 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2286 +#: common/models.py:2292 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2291 +#: common/models.py:2297 msgid "Search Categories" msgstr "" -#: common/models.py:2292 +#: common/models.py:2298 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2297 +#: common/models.py:2303 msgid "Search Stock" msgstr "" -#: common/models.py:2298 +#: common/models.py:2304 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2303 +#: common/models.py:2309 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2305 +#: common/models.py:2311 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2311 +#: common/models.py:2317 msgid "Search Locations" msgstr "" -#: common/models.py:2312 +#: common/models.py:2318 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2317 +#: common/models.py:2323 msgid "Search Companies" msgstr "" -#: common/models.py:2318 +#: common/models.py:2324 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2323 +#: common/models.py:2329 msgid "Search Build Orders" msgstr "" -#: common/models.py:2324 +#: common/models.py:2330 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2329 +#: common/models.py:2335 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2330 +#: common/models.py:2336 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2335 +#: common/models.py:2341 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2337 +#: common/models.py:2343 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2343 +#: common/models.py:2349 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2344 +#: common/models.py:2350 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2349 +#: common/models.py:2355 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2351 +#: common/models.py:2357 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2357 +#: common/models.py:2363 msgid "Search Return Orders" msgstr "" -#: common/models.py:2358 +#: common/models.py:2364 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2363 +#: common/models.py:2369 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2365 +#: common/models.py:2371 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2371 +#: common/models.py:2377 msgid "Search Preview Results" msgstr "" -#: common/models.py:2373 +#: common/models.py:2379 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2379 +#: common/models.py:2385 msgid "Regex Search" msgstr "" -#: common/models.py:2380 +#: common/models.py:2386 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2385 +#: common/models.py:2391 msgid "Whole Word Search" msgstr "" -#: common/models.py:2386 +#: common/models.py:2392 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2391 +#: common/models.py:2397 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2392 +#: common/models.py:2398 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2397 +#: common/models.py:2403 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2398 +#: common/models.py:2404 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2403 +#: common/models.py:2409 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2404 +#: common/models.py:2410 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2409 +#: common/models.py:2415 msgid "Date Format" msgstr "" -#: common/models.py:2410 +#: common/models.py:2416 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2423 part/templates/part/detail.html:41 +#: common/models.py:2429 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2424 +#: common/models.py:2430 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2429 part/templates/part/detail.html:62 +#: common/models.py:2435 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2431 +#: common/models.py:2437 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2437 +#: common/models.py:2443 msgid "Table String Length" msgstr "" -#: common/models.py:2439 +#: common/models.py:2445 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2445 +#: common/models.py:2451 msgid "Default part label template" msgstr "" -#: common/models.py:2446 +#: common/models.py:2452 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2451 +#: common/models.py:2457 msgid "Default stock item template" msgstr "" -#: common/models.py:2453 +#: common/models.py:2459 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2459 +#: common/models.py:2465 msgid "Default stock location label template" msgstr "" -#: common/models.py:2461 +#: common/models.py:2467 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2467 +#: common/models.py:2473 msgid "Default build line label template" msgstr "" -#: common/models.py:2469 +#: common/models.py:2475 msgid "The build line label template to be automatically selected" msgstr "" -#: common/models.py:2475 +#: common/models.py:2481 msgid "Receive error reports" msgstr "" -#: common/models.py:2476 +#: common/models.py:2482 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2481 +#: common/models.py:2487 msgid "Last used printing machines" msgstr "" -#: common/models.py:2482 +#: common/models.py:2488 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2525 +#: common/models.py:2531 msgid "Price break quantity" msgstr "" -#: common/models.py:2532 company/serializers.py:496 order/admin.py:42 -#: order/models.py:1333 order/models.py:2243 +#: common/models.py:2538 company/serializers.py:496 order/admin.py:42 +#: order/models.py:1373 order/models.py:2292 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 -#: templates/js/translated/return_order.js:741 +#: templates/js/translated/return_order.js:740 msgid "Price" msgstr "" -#: common/models.py:2533 +#: common/models.py:2539 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2704 common/models.py:2889 +#: common/models.py:2710 common/models.py:2895 msgid "Endpoint" msgstr "" -#: common/models.py:2705 +#: common/models.py:2711 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2715 +#: common/models.py:2721 msgid "Name for this webhook" msgstr "" -#: common/models.py:2719 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1045 -#: plugin/models.py:56 templates/js/translated/company.js:523 +#: common/models.py:2725 company/models.py:160 company/models.py:814 +#: machine/models.py:39 part/admin.py:88 part/models.py:1088 +#: plugin/models.py:65 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:492 @@ -3614,135 +3628,135 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2719 +#: common/models.py:2725 msgid "Is this webhook active" msgstr "" -#: common/models.py:2735 users/models.py:159 +#: common/models.py:2741 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2736 +#: common/models.py:2742 msgid "Token for access" msgstr "" -#: common/models.py:2744 +#: common/models.py:2750 msgid "Secret" msgstr "" -#: common/models.py:2745 +#: common/models.py:2751 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2853 +#: common/models.py:2859 msgid "Message ID" msgstr "" -#: common/models.py:2854 +#: common/models.py:2860 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2862 +#: common/models.py:2868 msgid "Host" msgstr "" -#: common/models.py:2863 +#: common/models.py:2869 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2871 +#: common/models.py:2877 msgid "Header" msgstr "" -#: common/models.py:2872 +#: common/models.py:2878 msgid "Header of this message" msgstr "" -#: common/models.py:2879 +#: common/models.py:2885 msgid "Body" msgstr "" -#: common/models.py:2880 +#: common/models.py:2886 msgid "Body of this message" msgstr "" -#: common/models.py:2890 +#: common/models.py:2896 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2895 +#: common/models.py:2901 msgid "Worked on" msgstr "" -#: common/models.py:2896 +#: common/models.py:2902 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3022 +#: common/models.py:3028 msgid "Id" msgstr "" -#: common/models.py:3024 templates/js/translated/company.js:965 +#: common/models.py:3030 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3028 templates/js/translated/news.js:60 +#: common/models.py:3034 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3030 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3036 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3032 templates/js/translated/news.js:52 +#: common/models.py:3038 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3035 +#: common/models.py:3041 msgid "Read" msgstr "" -#: common/models.py:3035 +#: common/models.py:3041 msgid "Was this news item read?" msgstr "" -#: common/models.py:3052 company/models.py:156 part/models.py:929 +#: common/models.py:3058 company/models.py:156 part/models.py:972 #: 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 +#: report/templates/report/inventree_return_order_report.html:35 #: stock/templates/stock/item_base.html:133 templates/503.html:31 #: templates/hover_image.html:7 templates/hover_image.html:9 #: templates/modals.html:6 msgid "Image" msgstr "" -#: common/models.py:3052 +#: common/models.py:3058 msgid "Image file" msgstr "" -#: common/models.py:3094 +#: common/models.py:3100 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3113 +#: common/models.py:3119 msgid "Unit name" msgstr "" -#: common/models.py:3120 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3126 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3121 +#: common/models.py:3127 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3128 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3134 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3129 +#: common/models.py:3135 msgid "Unit definition" msgstr "" @@ -3929,9 +3943,9 @@ msgid "Contact email address" msgstr "" #: company/models.py:139 company/templates/company/company_base.html:145 -#: order/models.py:331 order/templates/order/order_base.html:203 +#: order/models.py:344 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 -#: order/templates/order/sales_order_base.html:214 +#: order/templates/order/sales_order_base.html:218 msgid "Contact" msgstr "" @@ -3977,7 +3991,7 @@ msgstr "" #: company/models.py:273 company/models.py:382 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:776 +#: company/templates/company/company_base.html:12 stock/api.py:810 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "" @@ -4069,8 +4083,8 @@ msgstr "" msgid "Link to address information (external)" msgstr "" -#: company/models.py:489 company/models.py:792 stock/models.py:751 -#: stock/serializers.py:266 stock/templates/stock/item_base.html:142 +#: company/models.py:489 company/models.py:792 stock/models.py:772 +#: stock/serializers.py:395 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -4081,7 +4095,7 @@ msgstr "" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:515 +#: company/templates/company/supplier_part.html:145 part/serializers.py:530 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4096,13 +4110,13 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:525 +#: company/templates/company/supplier_part.html:153 part/serializers.py:540 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800 -#: templates/js/translated/purchase_order.js:1852 -#: templates/js/translated/purchase_order.js:2054 +#: templates/js/translated/purchase_order.js:1851 +#: templates/js/translated/purchase_order.js:2053 msgid "MPN" msgstr "" @@ -4129,9 +4143,8 @@ msgstr "" msgid "Parameter name" msgstr "" -#: company/models.py:621 -#: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2448 templates/js/translated/company.js:1166 +#: company/models.py:621 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2425 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492 #: templates/js/translated/stock.js:1522 msgid "Value" @@ -4142,10 +4155,10 @@ msgid "Parameter value" msgstr "" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1009 part/models.py:3623 +#: part/admin.py:57 part/models.py:1052 part/models.py:3666 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 -#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370 +#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 msgid "Units" msgstr "" @@ -4166,9 +4179,9 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:465 +#: company/templates/company/supplier_part.html:129 order/models.py:487 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:499 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:514 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4176,7 +4189,7 @@ msgstr "" #: templates/js/translated/company.js:511 #: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1690 +#: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/table_filters.js:804 msgid "Supplier" msgstr "" @@ -4185,7 +4198,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:809 part/serializers.py:510 +#: company/models.py:809 part/serializers.py:525 msgid "Supplier stock keeping unit" msgstr "" @@ -4206,29 +4219,29 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:418 part/models.py:4070 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4113 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 -#: report/templates/report/inventree_slr_report.html:105 -#: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:579 +#: report/templates/report/inventree_purchase_order_report.html:32 +#: report/templates/report/inventree_return_order_report.html:27 +#: report/templates/report/inventree_sales_order_report.html:32 +#: report/templates/report/inventree_stock_location_report.html:105 +#: stock/serializers.py:708 msgid "Note" msgstr "" -#: company/models.py:857 part/models.py:1967 +#: company/models.py:857 part/models.py:2010 msgid "base cost" msgstr "" -#: company/models.py:858 part/models.py:1968 +#: company/models.py:858 part/models.py:2011 msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:782 stock/serializers.py:1350 +#: stock/admin.py:224 stock/models.py:803 stock/serializers.py:1479 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 -#: templates/js/translated/stock.js:2426 +#: templates/js/translated/stock.js:2424 msgid "Packaging" msgstr "" @@ -4241,8 +4254,8 @@ msgstr "" #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 -#: templates/js/translated/purchase_order.js:2085 -#: templates/js/translated/purchase_order.js:2102 +#: templates/js/translated/purchase_order.js:2084 +#: templates/js/translated/purchase_order.js:2101 msgid "Pack Quantity" msgstr "" @@ -4250,7 +4263,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:892 part/models.py:1974 +#: company/models.py:892 part/models.py:2017 msgid "multiple" msgstr "" @@ -4285,7 +4298,7 @@ msgstr "" #: part/templates/part/part_base.html:146 #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 -#: templates/js/translated/model_renderers.js:306 +#: templates/js/translated/model_renderers.js:312 #: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 msgid "Inactive" msgstr "" @@ -4321,11 +4334,11 @@ msgstr "" #: company/templates/company/manufacturer_part.html:51 #: company/templates/company/supplier_part.html:83 #: part/templates/part/part_thumb.html:20 -#: report/templates/report/inventree_build_order_base.html:98 -#: report/templates/report/inventree_po_report_base.html:40 -#: report/templates/report/inventree_so_report_base.html:40 -#: report/templates/report/inventree_test_report_base.html:84 -#: report/templates/report/inventree_test_report_base.html:163 +#: report/templates/report/inventree_build_order_report.html:98 +#: report/templates/report/inventree_purchase_order_report.html:40 +#: report/templates/report/inventree_sales_order_report.html:40 +#: report/templates/report/inventree_test_report.html:84 +#: report/templates/report/inventree_test_report.html:163 msgid "Part image" msgstr "" @@ -4344,16 +4357,16 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:92 order/models.py:910 -#: order/models.py:2010 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:144 stock/models.py:804 -#: stock/models.py:805 stock/serializers.py:1100 +#: company/templates/company/company_base.html:92 order/models.py:941 +#: order/models.py:2059 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:148 stock/models.py:825 +#: stock/models.py:826 stock/serializers.py:1229 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 -#: templates/js/translated/return_order.js:296 -#: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2962 +#: templates/js/translated/return_order.js:295 +#: templates/js/translated/sales_order.js:820 +#: templates/js/translated/stock.js:2959 #: templates/js/translated/table_filters.js:808 msgid "Customer" msgstr "" @@ -4362,10 +4375,10 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:124 order/models.py:341 +#: company/templates/company/company_base.html:124 order/models.py:354 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 -#: order/templates/order/sales_order_base.html:221 +#: order/templates/order/sales_order_base.html:225 msgid "Address" msgstr "" @@ -4374,7 +4387,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:211 -#: part/templates/part/part_base.html:528 +#: part/templates/part/part_base.html:527 msgid "Remove Image" msgstr "" @@ -4383,19 +4396,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:214 -#: part/templates/part/part_base.html:531 +#: part/templates/part/part_base.html:530 #: templates/InvenTree/settings/user.html:88 #: templates/InvenTree/settings/user_sso.html:43 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:243 -#: part/templates/part/part_base.html:560 +#: part/templates/part/part_base.html:559 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:258 -#: part/templates/part/part_base.html:614 +#: part/templates/part/part_base.html:613 msgid "Download Image" msgstr "" @@ -4558,7 +4571,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:821 +#: part/admin.py:122 part/serializers.py:836 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4609,10 +4622,10 @@ msgstr "" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:452 -#: stock/models.py:762 stock/templates/stock/item_base.html:233 +#: stock/models.py:783 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 -#: templates/js/translated/stock.js:2282 +#: templates/js/translated/stock.js:2280 msgid "Supplier Part" msgstr "" @@ -4658,11 +4671,11 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:509 +#: part/bom.py:311 part/serializers.py:524 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1851 -#: templates/js/translated/purchase_order.js:2029 +#: templates/js/translated/purchase_order.js:1850 +#: templates/js/translated/purchase_order.js:2028 msgid "SKU" msgstr "" @@ -4671,12 +4684,12 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:209 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:199 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:206 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:200 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:207 #: templates/js/translated/stock.js:537 msgid "New Stock Item" msgstr "" @@ -4708,16 +4721,16 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:820 part/stocktake.py:223 +#: part/serializers.py:835 part/stocktake.py:223 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:787 stock/serializers.py:951 +#: stock/serializers.py:916 stock/serializers.py:1080 #: stock/templates/stock/location.html:170 -#: stock/templates/stock/location.html:184 -#: stock/templates/stock/location.html:196 +#: stock/templates/stock/location.html:191 +#: stock/templates/stock/location.html:203 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2769 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 #: users/models.py:206 msgid "Stock Items" msgstr "" @@ -4751,126 +4764,48 @@ msgstr "" msgid "New Company" msgstr "" -#: label/api.py:247 -msgid "Error printing label" -msgstr "" - -#: label/models.py:120 -msgid "Label name" -msgstr "" - -#: label/models.py:128 -msgid "Label description" -msgstr "" - -#: label/models.py:136 -msgid "Label" -msgstr "" - -#: label/models.py:137 -msgid "Label template file" -msgstr "" - -#: label/models.py:143 part/models.py:3494 report/models.py:324 -#: templates/js/translated/part.js:2900 -#: templates/js/translated/table_filters.js:481 -msgid "Enabled" -msgstr "" - -#: label/models.py:144 -msgid "Label template is enabled" -msgstr "" - -#: label/models.py:149 -msgid "Width [mm]" -msgstr "" - -#: label/models.py:150 -msgid "Label width, specified in mm" -msgstr "" - -#: label/models.py:156 -msgid "Height [mm]" -msgstr "" - -#: label/models.py:157 -msgid "Label height, specified in mm" -msgstr "" - -#: label/models.py:163 report/models.py:317 -msgid "Filename Pattern" -msgstr "" - -#: label/models.py:164 -msgid "Pattern for generating label filenames" -msgstr "" - -#: label/models.py:313 label/models.py:352 label/models.py:377 -#: label/models.py:412 -msgid "Query filters (comma-separated list of key=value pairs)" -msgstr "" - -#: label/models.py:314 label/models.py:353 label/models.py:378 -#: label/models.py:413 report/models.py:345 report/models.py:496 -#: report/models.py:532 report/models.py:568 report/models.py:750 -msgid "Filters" -msgstr "" - -#: label/templates/label/part/part_label.html:31 -#: label/templates/label/stockitem/qr.html:21 -#: label/templates/label/stocklocation/qr.html:20 -#: templates/allauth_2fa/setup.html:18 -msgid "QR Code" -msgstr "" - -#: label/templates/label/part/part_label_code128.html:31 -#: label/templates/label/stocklocation/qr_and_text.html:31 -#: templates/qr_code.html:7 -msgid "QR code" -msgstr "" - -#: machine/machine_types/label_printer.py:217 +#: machine/machine_types/label_printer.py:218 msgid "Copies" msgstr "" -#: machine/machine_types/label_printer.py:218 +#: machine/machine_types/label_printer.py:219 msgid "Number of copies to print for each label" msgstr "" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:234 msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:234 order/api.py:1515 -#: templates/js/translated/sales_order.js:1042 +#: machine/machine_types/label_printer.py:235 order/api.py:1515 +#: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "" -#: machine/machine_types/label_printer.py:235 +#: machine/machine_types/label_printer.py:236 msgid "Printing" msgstr "" -#: machine/machine_types/label_printer.py:236 +#: machine/machine_types/label_printer.py:237 msgid "No media" msgstr "" -#: machine/machine_types/label_printer.py:237 +#: machine/machine_types/label_printer.py:238 msgid "Disconnected" msgstr "" -#: machine/machine_types/label_printer.py:244 +#: machine/machine_types/label_printer.py:245 msgid "Label Printer" msgstr "" -#: machine/machine_types/label_printer.py:245 +#: machine/machine_types/label_printer.py:246 msgid "Directly print labels for various items." msgstr "" -#: machine/machine_types/label_printer.py:251 +#: machine/machine_types/label_printer.py:252 msgid "Printer Location" msgstr "" -#: machine/machine_types/label_printer.py:252 +#: machine/machine_types/label_printer.py:253 msgid "Scope the printer to a specific location" msgstr "" @@ -4930,19 +4865,19 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:89 -#: report/templates/report/inventree_po_report_base.html:31 -#: report/templates/report/inventree_so_report_base.html:31 +#: order/admin.py:30 order/models.py:90 +#: report/templates/report/inventree_purchase_order_report.html:31 +#: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2126 -#: templates/js/translated/sales_order.js:1847 +#: templates/js/translated/purchase_order.js:2125 +#: templates/js/translated/sales_order.js:1883 msgid "Total Price" msgstr "" #: order/api.py:161 order/serializers.py:91 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 -#: order/templates/order/sales_order_base.html:118 +#: order/templates/order/sales_order_base.html:122 msgid "Order Status" msgstr "" @@ -4955,10 +4890,10 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:437 order/api.py:817 order/models.py:1382 order/models.py:1491 -#: order/models.py:1537 order/models.py:1651 order/models.py:1805 -#: order/models.py:2209 order/models.py:2260 -#: templates/js/translated/sales_order.js:1488 +#: order/api.py:437 order/api.py:817 order/models.py:1422 order/models.py:1531 +#: order/models.py:1577 order/models.py:1691 order/models.py:1845 +#: order/models.py:2258 order/models.py:2309 +#: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" @@ -4970,402 +4905,398 @@ msgstr "" msgid "Order Pending" msgstr "" -#: order/api.py:1509 order/models.py:1383 order/models.py:1492 -#: order/templates/order/order_base.html:9 +#: order/api.py:1509 order/models.py:381 order/models.py:1423 +#: order/models.py:1532 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 -#: report/templates/report/inventree_po_report_base.html:14 -#: stock/templates/stock/item_base.html:176 +#: report/templates/report/inventree_purchase_order_report.html:14 +#: stock/serializers.py:119 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 -#: templates/js/translated/purchase_order.js:1674 -#: templates/js/translated/stock.js:2262 templates/js/translated/stock.js:2910 +#: templates/js/translated/purchase_order.js:1673 +#: templates/js/translated/stock.js:2260 templates/js/translated/stock.js:2907 msgid "Purchase Order" msgstr "" -#: order/api.py:1513 order/models.py:2210 order/models.py:2261 -#: order/templates/order/return_order_base.html:9 +#: order/api.py:1513 order/models.py:2008 order/models.py:2259 +#: order/models.py:2310 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:281 -#: templates/js/translated/stock.js:2944 +#: report/templates/report/inventree_return_order_report.html:13 +#: templates/js/translated/return_order.js:280 +#: templates/js/translated/stock.js:2941 msgid "Return Order" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:96 order/serializers.py:71 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:99 order/serializers.py:72 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:246 +#: order/models.py:248 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:278 +#: order/models.py:291 msgid "Order description (optional)" msgstr "" -#: order/models.py:287 +#: order/models.py:300 msgid "Select project code for this order" msgstr "" -#: order/models.py:291 order/models.py:1288 order/models.py:1704 +#: order/models.py:304 order/models.py:1328 order/models.py:1744 msgid "Link to external page" msgstr "" -#: order/models.py:299 +#: order/models.py:312 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:313 +#: order/models.py:326 msgid "Created By" msgstr "" -#: order/models.py:321 +#: order/models.py:334 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:332 +#: order/models.py:345 msgid "Point of contact for this order" msgstr "" -#: order/models.py:342 +#: order/models.py:355 msgid "Company address for this order" msgstr "" -#: order/models.py:443 order/models.py:899 +#: order/models.py:465 order/models.py:930 msgid "Order reference" msgstr "" -#: order/models.py:451 order/models.py:923 +#: order/models.py:473 order/models.py:954 msgid "Purchase order status" msgstr "" -#: order/models.py:466 +#: order/models.py:488 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:477 order/templates/order/order_base.html:148 -#: templates/js/translated/purchase_order.js:1703 +#: order/models.py:499 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1702 msgid "Supplier Reference" msgstr "" -#: order/models.py:478 +#: order/models.py:500 msgid "Supplier order reference code" msgstr "" -#: order/models.py:487 +#: order/models.py:509 msgid "received by" msgstr "" -#: order/models.py:493 order/models.py:2036 +#: order/models.py:515 order/models.py:2085 msgid "Issue Date" msgstr "" -#: order/models.py:494 order/models.py:2037 +#: order/models.py:516 order/models.py:2086 msgid "Date order was issued" msgstr "" -#: order/models.py:501 order/models.py:2044 +#: order/models.py:523 order/models.py:2093 msgid "Date order was completed" msgstr "" -#: order/models.py:545 +#: order/models.py:567 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:739 +#: order/models.py:761 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:911 +#: order/models.py:942 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:934 order/models.py:2029 +#: order/models.py:965 order/models.py:2078 msgid "Customer Reference " msgstr "" -#: order/models.py:935 order/models.py:2030 +#: order/models.py:966 order/models.py:2079 msgid "Customer order reference code" msgstr "" -#: order/models.py:939 order/models.py:1658 -#: templates/js/translated/sales_order.js:843 -#: templates/js/translated/sales_order.js:1024 +#: order/models.py:970 order/models.py:1698 +#: templates/js/translated/sales_order.js:879 +#: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "" -#: order/models.py:948 +#: order/models.py:979 msgid "shipped by" msgstr "" -#: order/models.py:999 -msgid "Order cannot be completed as no parts have been assigned" -msgstr "" - -#: order/models.py:1004 +#: order/models.py:1029 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1008 templates/js/translated/sales_order.js:506 +#: order/models.py:1033 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1013 +#: order/models.py:1038 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1260 +#: order/models.py:1300 msgid "Item quantity" msgstr "" -#: order/models.py:1277 +#: order/models.py:1317 msgid "Line item reference" msgstr "" -#: order/models.py:1284 +#: order/models.py:1324 msgid "Line item notes" msgstr "" -#: order/models.py:1296 +#: order/models.py:1336 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1317 +#: order/models.py:1357 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1323 +#: order/models.py:1363 msgid "Context" msgstr "" -#: order/models.py:1324 +#: order/models.py:1364 msgid "Additional context for this line" msgstr "" -#: order/models.py:1334 +#: order/models.py:1374 msgid "Unit price" msgstr "" -#: order/models.py:1367 +#: order/models.py:1407 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1374 +#: order/models.py:1414 msgid "deleted" msgstr "" -#: order/models.py:1402 +#: order/models.py:1442 msgid "Supplier part" msgstr "" -#: order/models.py:1409 order/templates/order/order_base.html:196 +#: order/models.py:1449 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 #: templates/js/translated/purchase_order.js:1306 -#: templates/js/translated/purchase_order.js:2170 -#: templates/js/translated/return_order.js:764 +#: templates/js/translated/purchase_order.js:2169 +#: templates/js/translated/return_order.js:763 #: templates/js/translated/table_filters.js:120 #: templates/js/translated/table_filters.js:602 msgid "Received" msgstr "" -#: order/models.py:1410 +#: order/models.py:1450 msgid "Number of items received" msgstr "" -#: order/models.py:1418 stock/models.py:923 stock/serializers.py:400 +#: order/models.py:1458 stock/models.py:944 stock/serializers.py:529 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2313 +#: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "" -#: order/models.py:1419 +#: order/models.py:1459 msgid "Unit purchase price" msgstr "" -#: order/models.py:1434 +#: order/models.py:1474 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1525 +#: order/models.py:1565 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1530 +#: order/models.py:1570 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1556 part/templates/part/part_pricing.html:107 +#: order/models.py:1596 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1557 +#: order/models.py:1597 msgid "Unit sale price" msgstr "" -#: order/models.py:1567 +#: order/models.py:1607 msgid "Shipped quantity" msgstr "" -#: order/models.py:1659 +#: order/models.py:1699 msgid "Date of shipment" msgstr "" -#: order/models.py:1665 templates/js/translated/sales_order.js:1036 +#: order/models.py:1705 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1666 +#: order/models.py:1706 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1674 +#: order/models.py:1714 msgid "Checked By" msgstr "" -#: order/models.py:1675 +#: order/models.py:1715 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1682 order/models.py:1895 order/serializers.py:1354 -#: order/serializers.py:1464 templates/js/translated/model_renderers.js:448 +#: order/models.py:1722 order/models.py:1935 order/serializers.py:1354 +#: order/serializers.py:1464 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" -#: order/models.py:1683 +#: order/models.py:1723 msgid "Shipment number" msgstr "" -#: order/models.py:1691 +#: order/models.py:1731 msgid "Tracking Number" msgstr "" -#: order/models.py:1692 +#: order/models.py:1732 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1699 +#: order/models.py:1739 msgid "Invoice Number" msgstr "" -#: order/models.py:1700 +#: order/models.py:1740 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1720 +#: order/models.py:1760 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1723 +#: order/models.py:1763 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1841 order/models.py:1843 +#: order/models.py:1881 order/models.py:1883 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1850 +#: order/models.py:1890 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1853 +#: order/models.py:1893 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1856 +#: order/models.py:1896 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1875 order/serializers.py:1231 +#: order/models.py:1915 order/serializers.py:1231 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1878 +#: order/models.py:1918 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1879 plugin/base/barcodes/api.py:481 +#: order/models.py:1919 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1887 +#: order/models.py:1927 msgid "Line" msgstr "" -#: order/models.py:1896 +#: order/models.py:1936 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1909 order/models.py:2217 -#: templates/js/translated/return_order.js:722 +#: order/models.py:1949 order/models.py:2266 +#: templates/js/translated/return_order.js:721 msgid "Item" msgstr "" -#: order/models.py:1910 +#: order/models.py:1950 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1919 +#: order/models.py:1959 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1999 +#: order/models.py:2048 msgid "Return Order reference" msgstr "" -#: order/models.py:2011 +#: order/models.py:2060 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2023 +#: order/models.py:2072 msgid "Return order status" msgstr "" -#: order/models.py:2202 +#: order/models.py:2251 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2218 +#: order/models.py:2267 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2224 +#: order/models.py:2273 msgid "Received Date" msgstr "" -#: order/models.py:2225 +#: order/models.py:2274 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2236 templates/js/translated/return_order.js:733 +#: order/models.py:2285 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2237 +#: order/models.py:2286 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2244 +#: order/models.py:2293 msgid "Cost associated with return or repair for this line item" msgstr "" #: order/serializers.py:80 order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 -#: report/templates/report/inventree_po_report_base.html:22 -#: report/templates/report/inventree_return_order_report_base.html:19 -#: report/templates/report/inventree_so_report_base.html:22 +#: report/templates/report/inventree_purchase_order_report.html:22 +#: report/templates/report/inventree_return_order_report.html:19 +#: report/templates/report/inventree_sales_order_report.html:22 msgid "Line Items" msgstr "" @@ -5595,7 +5526,7 @@ msgstr "" #: order/templates/order/order_base.html:84 #: order/templates/order/return_order_base.html:87 -#: order/templates/order/sales_order_base.html:93 +#: order/templates/order/sales_order_base.html:97 msgid "Complete Order" msgstr "" @@ -5605,13 +5536,13 @@ msgstr "" #: order/templates/order/order_base.html:106 #: order/templates/order/return_order_base.html:101 -#: order/templates/order/sales_order_base.html:106 +#: order/templates/order/sales_order_base.html:110 msgid "Order Reference" msgstr "" #: order/templates/order/order_base.html:111 #: order/templates/order/return_order_base.html:106 -#: order/templates/order/sales_order_base.html:111 +#: order/templates/order/sales_order_base.html:115 msgid "Order Description" msgstr "" @@ -5620,19 +5551,19 @@ msgid "No suppplier information available" msgstr "" #: order/templates/order/order_base.html:154 -#: order/templates/order/sales_order_base.html:157 +#: order/templates/order/sales_order_base.html:161 msgid "Completed Line Items" msgstr "" #: order/templates/order/order_base.html:160 -#: order/templates/order/sales_order_base.html:163 -#: order/templates/order/sales_order_base.html:173 +#: order/templates/order/sales_order_base.html:167 +#: order/templates/order/sales_order_base.html:177 msgid "Incomplete" msgstr "" #: order/templates/order/order_base.html:179 #: order/templates/order/return_order_base.html:157 -#: report/templates/report/inventree_build_order_base.html:121 +#: report/templates/report/inventree_build_order_report.html:121 msgid "Issued" msgstr "" @@ -5642,15 +5573,15 @@ msgstr "" #: order/templates/order/order_base.html:228 #: order/templates/order/return_order_base.html:199 -#: order/templates/order/sales_order_base.html:239 +#: order/templates/order/sales_order_base.html:243 msgid "Total cost could not be calculated" msgstr "" -#: order/templates/order/order_base.html:318 +#: order/templates/order/order_base.html:314 msgid "Purchase Order QR Code" msgstr "" -#: order/templates/order/order_base.html:330 +#: order/templates/order/order_base.html:326 msgid "Link Barcode to Purchase Order" msgstr "" @@ -5707,8 +5638,8 @@ msgstr "" #: templates/js/translated/build.js:1629 #: templates/js/translated/purchase_order.js:696 #: templates/js/translated/purchase_order.js:1236 -#: templates/js/translated/return_order.js:506 -#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/return_order.js:505 +#: templates/js/translated/sales_order.js:1145 #: templates/js/translated/stock.js:714 templates/js/translated/stock.js:883 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -5762,7 +5693,7 @@ msgstr "" #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 #: templates/js/translated/purchase_order.js:414 -#: templates/js/translated/return_order.js:459 +#: templates/js/translated/return_order.js:458 #: templates/js/translated/sales_order.js:237 msgid "Add Line Item" msgstr "" @@ -5811,30 +5742,30 @@ msgid "Print packing list" msgstr "" #: order/templates/order/return_order_base.html:138 -#: order/templates/order/sales_order_base.html:151 -#: templates/js/translated/return_order.js:309 -#: templates/js/translated/sales_order.js:797 +#: order/templates/order/sales_order_base.html:155 +#: templates/js/translated/return_order.js:308 +#: templates/js/translated/sales_order.js:833 msgid "Customer Reference" msgstr "" #: order/templates/order/return_order_base.html:195 -#: order/templates/order/sales_order_base.html:235 +#: order/templates/order/sales_order_base.html:239 #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1072 -#: templates/js/translated/purchase_order.js:1753 -#: templates/js/translated/return_order.js:381 -#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/purchase_order.js:1752 +#: templates/js/translated/return_order.js:380 +#: templates/js/translated/sales_order.js:891 msgid "Total Cost" msgstr "" -#: order/templates/order/return_order_base.html:263 +#: order/templates/order/return_order_base.html:259 msgid "Return Order QR Code" msgstr "" -#: order/templates/order/return_order_base.html:275 +#: order/templates/order/return_order_base.html:271 msgid "Link Barcode to Return Order" msgstr "" @@ -5852,25 +5783,30 @@ msgid "Ship Items" msgstr "" #: order/templates/order/sales_order_base.html:92 -#: templates/js/translated/sales_order.js:484 +#: order/templates/order/sales_order_base.html:93 +msgid "Mark As Shipped" +msgstr "" + +#: order/templates/order/sales_order_base.html:96 +#: templates/js/translated/sales_order.js:536 msgid "Complete Sales Order" msgstr "" -#: order/templates/order/sales_order_base.html:131 +#: order/templates/order/sales_order_base.html:135 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:169 +#: order/templates/order/sales_order_base.html:173 #: order/templates/order/sales_order_detail.html:99 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "" -#: order/templates/order/sales_order_base.html:312 +#: order/templates/order/sales_order_base.html:321 msgid "Sales Order QR Code" msgstr "" -#: order/templates/order/sales_order_base.html:324 +#: order/templates/order/sales_order_base.html:333 msgid "Link Barcode to Sales Order" msgstr "" @@ -5914,12 +5850,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:404 part/models.py:3921 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:406 part/models.py:3964 part/stocktake.py:218 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:411 part/models.py:3922 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:413 part/models.py:3965 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -5928,20 +5864,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:904 part/templates/part/part_base.html:269 -#: report/templates/report/inventree_slr_report.html:103 -#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2341 -#: templates/js/translated/stock.js:2038 +#: part/admin.py:48 part/models.py:947 part/templates/part/part_base.html:269 +#: report/templates/report/inventree_stock_location_report.html:103 +#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 +#: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:913 part/templates/part/part_base.html:277 -#: report/models.py:195 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2347 +#: part/admin.py:50 part/models.py:956 part/templates/part/part_base.html:277 +#: report/models.py:161 templates/js/translated/part.js:1231 +#: templates/js/translated/part.js:2346 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:317 part/models.py:886 +#: part/admin.py:53 part/admin.py:319 part/models.py:929 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5950,15 +5886,15 @@ msgstr "" msgid "Part Image" msgstr "" -#: part/admin.py:63 part/admin.py:300 part/stocktake.py:221 +#: part/admin.py:63 part/admin.py:302 part/stocktake.py:221 msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:302 part/stocktake.py:222 +#: part/admin.py:67 part/admin.py:304 part/stocktake.py:222 msgid "Category Name" msgstr "" -#: part/admin.py:71 part/admin.py:314 +#: part/admin.py:71 part/admin.py:316 msgid "Default Location ID" msgstr "" @@ -5966,11 +5902,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:872 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:915 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1000 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1043 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5983,160 +5919,164 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3080 part/models.py:3094 +#: part/admin.py:155 part/models.py:3123 part/models.py:3137 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3087 part/models.py:3101 +#: part/admin.py:158 part/models.py:3130 part/models.py:3144 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" -#: part/admin.py:306 part/admin.py:393 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:211 msgid "Parent ID" msgstr "" -#: part/admin.py:310 part/admin.py:400 stock/admin.py:62 +#: part/admin.py:312 part/admin.py:402 stock/admin.py:62 msgid "Parent Name" msgstr "" -#: part/admin.py:318 part/templates/part/category.html:88 +#: part/admin.py:320 part/templates/part/category.html:88 #: part/templates/part/category.html:101 msgid "Category Path" msgstr "" -#: part/admin.py:323 part/models.py:391 part/serializers.py:117 +#: part/admin.py:325 part/models.py:393 part/serializers.py:117 #: part/serializers.py:272 part/serializers.py:391 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2803 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "" -#: part/admin.py:384 +#: part/admin.py:386 msgid "BOM Level" msgstr "" -#: part/admin.py:387 +#: part/admin.py:389 msgid "BOM Item ID" msgstr "" -#: part/admin.py:397 +#: part/admin.py:399 msgid "Parent IPN" msgstr "" -#: part/admin.py:408 part/models.py:3923 +#: part/admin.py:410 part/models.py:3966 msgid "Part IPN" msgstr "" -#: part/admin.py:421 part/serializers.py:1261 +#: part/admin.py:423 part/serializers.py:1276 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:426 part/serializers.py:1276 +#: part/admin.py:428 part/serializers.py:1291 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:119 +#: part/api.py:112 msgid "Starred" msgstr "" -#: part/api.py:121 +#: part/api.py:114 msgid "Filter by starred categories" msgstr "" -#: part/api.py:138 stock/api.py:284 +#: part/api.py:131 stock/api.py:318 msgid "Depth" msgstr "" -#: part/api.py:138 +#: part/api.py:131 msgid "Filter by category depth" msgstr "" -#: part/api.py:156 stock/api.py:302 +#: part/api.py:149 stock/api.py:336 msgid "Cascade" msgstr "" -#: part/api.py:158 +#: part/api.py:151 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:178 +#: part/api.py:171 msgid "Parent" msgstr "" -#: part/api.py:180 +#: part/api.py:173 msgid "Filter by parent category" msgstr "" -#: part/api.py:213 +#: part/api.py:206 msgid "Exclude Tree" msgstr "" -#: part/api.py:215 +#: part/api.py:208 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:461 +#: part/api.py:455 msgid "Has Results" msgstr "" -#: part/api.py:628 +#: part/api.py:622 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:646 +#: part/api.py:640 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:662 +#: part/api.py:656 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:746 +#: part/api.py:740 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:893 +#: part/api.py:887 msgid "Valid" msgstr "" -#: part/api.py:894 +#: part/api.py:888 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:900 +#: part/api.py:894 msgid "This option must be selected" msgstr "" -#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866 -#: part/serializers.py:406 part/serializers.py:1117 -#: part/templates/part/part_base.html:260 stock/api.py:745 +#: part/api.py:1111 +msgid "BOM Valid" +msgstr "" + +#: part/api.py:1515 part/models.py:939 part/models.py:3429 part/models.py:3909 +#: part/serializers.py:406 part/serializers.py:1132 +#: part/templates/part/part_base.html:260 stock/api.py:779 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2377 +#: templates/js/translated/part.js:2376 msgid "Category" msgstr "" -#: part/api.py:1849 +#: part/api.py:1803 msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:101 part/models.py:939 +#: part/bom.py:170 part/models.py:102 part/models.py:982 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:822 +#: part/bom.py:171 part/serializers.py:837 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6145,698 +6085,712 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:82 part/models.py:3867 part/templates/part/category.html:16 +#: part/models.py:83 part/models.py:3910 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:83 part/templates/part/category.html:136 +#: part/models.py:84 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "" -#: part/models.py:102 +#: part/models.py:103 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:107 stock/models.py:165 templates/js/translated/part.js:2810 -#: templates/js/translated/stock.js:2775 +#: part/models.py:108 stock/models.py:177 templates/js/translated/part.js:2809 +#: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "" -#: part/models.py:109 +#: part/models.py:110 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:118 +#: part/models.py:119 msgid "Default keywords" msgstr "" -#: part/models.py:119 +#: part/models.py:120 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:125 stock/models.py:89 stock/models.py:148 +#: part/models.py:126 stock/models.py:89 stock/models.py:160 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:126 stock/models.py:149 +#: part/models.py:127 stock/models.py:161 msgid "Icon (optional)" msgstr "" -#: part/models.py:148 +#: part/models.py:149 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:484 +#: part/models.py:482 +msgid "Cannot delete this part as it is still active" +msgstr "" + +#: part/models.py:489 +msgid "Cannot delete this part as it is used in an assembly" +msgstr "" + +#: part/models.py:527 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:532 part/models.py:539 +#: part/models.py:575 part/models.py:582 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:551 +#: part/models.py:594 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:616 +#: part/models.py:659 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:696 +#: part/models.py:739 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:801 +#: part/models.py:844 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:811 +#: part/models.py:854 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:826 +#: part/models.py:869 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:855 part/models.py:3922 +#: part/models.py:898 part/models.py:3965 msgid "Part name" msgstr "" -#: part/models.py:860 +#: part/models.py:903 msgid "Is Template" msgstr "" -#: part/models.py:861 +#: part/models.py:904 msgid "Is this part a template part?" msgstr "" -#: part/models.py:871 +#: part/models.py:914 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:879 +#: part/models.py:922 msgid "Part description (optional)" msgstr "" -#: part/models.py:887 +#: part/models.py:930 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:897 +#: part/models.py:940 msgid "Part category" msgstr "" -#: part/models.py:905 +#: part/models.py:948 msgid "Internal Part Number" msgstr "" -#: part/models.py:912 +#: part/models.py:955 msgid "Part revision or version number" msgstr "" -#: part/models.py:937 +#: part/models.py:980 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:983 part/templates/part/part_base.html:376 +#: part/models.py:1026 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:984 +#: part/models.py:1027 msgid "Default supplier part" msgstr "" -#: part/models.py:991 +#: part/models.py:1034 msgid "Default Expiry" msgstr "" -#: part/models.py:992 +#: part/models.py:1035 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1001 +#: part/models.py:1044 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1010 +#: part/models.py:1053 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1017 +#: part/models.py:1060 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1023 +#: part/models.py:1066 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1029 +#: part/models.py:1072 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1035 +#: part/models.py:1078 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1041 +#: part/models.py:1084 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1045 +#: part/models.py:1088 msgid "Is this part active?" msgstr "" -#: part/models.py:1051 +#: part/models.py:1094 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1057 +#: part/models.py:1100 msgid "BOM checksum" msgstr "" -#: part/models.py:1058 +#: part/models.py:1101 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1066 +#: part/models.py:1109 msgid "BOM checked by" msgstr "" -#: part/models.py:1071 +#: part/models.py:1114 msgid "BOM checked date" msgstr "" -#: part/models.py:1087 +#: part/models.py:1130 msgid "Creation User" msgstr "" -#: part/models.py:1097 +#: part/models.py:1140 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1102 part/templates/part/part_base.html:339 +#: part/models.py:1145 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 -#: templates/js/translated/part.js:2471 +#: templates/js/translated/part.js:2470 msgid "Last Stocktake" msgstr "" -#: part/models.py:1975 +#: part/models.py:2018 msgid "Sell multiple" msgstr "" -#: part/models.py:2994 +#: part/models.py:3037 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3010 +#: part/models.py:3053 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3011 +#: part/models.py:3054 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3017 +#: part/models.py:3060 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3018 +#: part/models.py:3061 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3024 +#: part/models.py:3067 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3025 +#: part/models.py:3068 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3031 +#: part/models.py:3074 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3032 +#: part/models.py:3075 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3038 +#: part/models.py:3081 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3039 +#: part/models.py:3082 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3045 +#: part/models.py:3088 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3046 +#: part/models.py:3089 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3052 +#: part/models.py:3095 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3053 +#: part/models.py:3096 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3059 +#: part/models.py:3102 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3060 +#: part/models.py:3103 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3066 +#: part/models.py:3109 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3067 +#: part/models.py:3110 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3073 +#: part/models.py:3116 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3074 +#: part/models.py:3117 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3081 +#: part/models.py:3124 msgid "Override minimum cost" msgstr "" -#: part/models.py:3088 +#: part/models.py:3131 msgid "Override maximum cost" msgstr "" -#: part/models.py:3095 +#: part/models.py:3138 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3102 +#: part/models.py:3145 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3108 +#: part/models.py:3151 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3109 +#: part/models.py:3152 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3115 +#: part/models.py:3158 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3116 +#: part/models.py:3159 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3122 +#: part/models.py:3165 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3123 +#: part/models.py:3166 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3129 +#: part/models.py:3172 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3130 +#: part/models.py:3173 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3149 +#: part/models.py:3192 msgid "Part for stocktake" msgstr "" -#: part/models.py:3154 +#: part/models.py:3197 msgid "Item Count" msgstr "" -#: part/models.py:3155 +#: part/models.py:3198 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3163 +#: part/models.py:3206 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3167 part/models.py:3250 +#: part/models.py:3210 part/models.py:3293 #: part/templates/part/part_scheduling.html:13 -#: report/templates/report/inventree_test_report_base.html:106 +#: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 #: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 -#: templates/js/translated/purchase_order.js:1732 -#: templates/js/translated/stock.js:2824 +#: templates/js/translated/purchase_order.js:1731 +#: templates/js/translated/stock.js:2821 msgid "Date" msgstr "" -#: part/models.py:3168 +#: part/models.py:3211 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3176 +#: part/models.py:3219 msgid "Additional notes" msgstr "" -#: part/models.py:3186 +#: part/models.py:3229 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3192 +#: part/models.py:3235 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3193 +#: part/models.py:3236 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3199 +#: part/models.py:3242 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3200 +#: part/models.py:3243 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3256 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3299 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3257 +#: part/models.py:3300 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3262 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3305 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3263 +#: part/models.py:3306 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3273 +#: part/models.py:3316 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3435 +#: part/models.py:3478 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3446 +#: part/models.py:3489 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3457 +#: part/models.py:3500 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3474 templates/js/translated/part.js:2879 +#: part/models.py:3517 templates/js/translated/part.js:2878 msgid "Test Name" msgstr "" -#: part/models.py:3475 +#: part/models.py:3518 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3481 +#: part/models.py:3524 msgid "Test Key" msgstr "" -#: part/models.py:3482 +#: part/models.py:3525 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3489 +#: part/models.py:3532 msgid "Test Description" msgstr "" -#: part/models.py:3490 +#: part/models.py:3533 msgid "Enter description for this test" msgstr "" -#: part/models.py:3494 +#: part/models.py:3537 report/models.py:208 +#: templates/js/translated/part.js:2899 +#: templates/js/translated/table_filters.js:481 +msgid "Enabled" +msgstr "" + +#: part/models.py:3537 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3499 templates/js/translated/part.js:2908 +#: part/models.py:3542 templates/js/translated/part.js:2907 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3500 +#: part/models.py:3543 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3505 templates/js/translated/part.js:2916 +#: part/models.py:3548 templates/js/translated/part.js:2915 msgid "Requires Value" msgstr "" -#: part/models.py:3506 +#: part/models.py:3549 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3511 templates/js/translated/part.js:2923 +#: part/models.py:3554 templates/js/translated/part.js:2922 msgid "Requires Attachment" msgstr "" -#: part/models.py:3513 +#: part/models.py:3556 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3560 +#: part/models.py:3603 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3565 +#: part/models.py:3608 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3585 +#: part/models.py:3628 msgid "Choices must be unique" msgstr "" -#: part/models.py:3602 +#: part/models.py:3645 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3617 +#: part/models.py:3660 msgid "Parameter Name" msgstr "" -#: part/models.py:3624 +#: part/models.py:3667 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3632 +#: part/models.py:3675 msgid "Parameter description" msgstr "" -#: part/models.py:3638 templates/js/translated/part.js:1627 +#: part/models.py:3681 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3639 +#: part/models.py:3682 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3644 templates/js/translated/part.js:1636 +#: part/models.py:3687 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3645 +#: part/models.py:3688 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3722 +#: part/models.py:3765 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3765 +#: part/models.py:3808 msgid "Parent Part" msgstr "" -#: part/models.py:3773 part/models.py:3874 part/models.py:3875 +#: part/models.py:3816 part/models.py:3917 part/models.py:3918 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3778 +#: part/models.py:3821 msgid "Data" msgstr "" -#: part/models.py:3779 +#: part/models.py:3822 msgid "Parameter Value" msgstr "" -#: part/models.py:3881 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3924 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3882 +#: part/models.py:3925 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3920 +#: part/models.py:3963 msgid "Part ID or part name" msgstr "" -#: part/models.py:3921 +#: part/models.py:3964 msgid "Unique part ID value" msgstr "" -#: part/models.py:3923 +#: part/models.py:3966 msgid "Part IPN value" msgstr "" -#: part/models.py:3924 +#: part/models.py:3967 msgid "Level" msgstr "" -#: part/models.py:3924 +#: part/models.py:3967 msgid "BOM level" msgstr "" -#: part/models.py:4014 +#: part/models.py:4057 msgid "Select parent part" msgstr "" -#: part/models.py:4024 +#: part/models.py:4067 msgid "Sub part" msgstr "" -#: part/models.py:4025 +#: part/models.py:4068 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4036 +#: part/models.py:4079 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4042 +#: part/models.py:4085 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4048 +#: part/models.py:4091 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4055 part/templates/part/upload_bom.html:55 +#: part/models.py:4098 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4056 +#: part/models.py:4099 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4063 +#: part/models.py:4106 msgid "BOM item reference" msgstr "" -#: part/models.py:4071 +#: part/models.py:4114 msgid "BOM item notes" msgstr "" -#: part/models.py:4077 +#: part/models.py:4120 msgid "Checksum" msgstr "" -#: part/models.py:4078 +#: part/models.py:4121 msgid "BOM line checksum" msgstr "" -#: part/models.py:4083 templates/js/translated/table_filters.js:174 +#: part/models.py:4126 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4084 +#: part/models.py:4127 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4089 part/templates/part/upload_bom.html:57 +#: part/models.py:4132 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4090 +#: part/models.py:4133 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4095 part/templates/part/upload_bom.html:56 +#: part/models.py:4138 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4096 +#: part/models.py:4139 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4181 stock/models.py:647 +#: part/models.py:4224 stock/models.py:668 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4191 part/models.py:4193 +#: part/models.py:4234 part/models.py:4236 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4333 +#: part/models.py:4376 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4354 +#: part/models.py:4397 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4367 +#: part/models.py:4410 msgid "Parent BOM item" msgstr "" -#: part/models.py:4375 +#: part/models.py:4418 msgid "Substitute part" msgstr "" -#: part/models.py:4391 +#: part/models.py:4434 msgid "Part 1" msgstr "" -#: part/models.py:4399 +#: part/models.py:4442 msgid "Part 2" msgstr "" -#: part/models.py:4400 +#: part/models.py:4443 msgid "Select Related Part" msgstr "" -#: part/models.py:4419 +#: part/models.py:4462 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4424 +#: part/models.py:4467 msgid "Duplicate relationship already exists" msgstr "" @@ -6854,7 +6808,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:406 +#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:535 msgid "Purchase currency of this stock item" msgstr "" @@ -6870,299 +6824,299 @@ msgstr "" msgid "Select category" msgstr "" -#: part/serializers.py:437 +#: part/serializers.py:442 msgid "Original Part" msgstr "" -#: part/serializers.py:438 +#: part/serializers.py:443 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:448 msgid "Copy Image" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:449 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:450 part/templates/part/detail.html:277 +#: part/serializers.py:455 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:451 +#: part/serializers.py:456 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:462 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:458 +#: part/serializers.py:463 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:464 +#: part/serializers.py:469 msgid "Copy Notes" msgstr "" -#: part/serializers.py:465 +#: part/serializers.py:470 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:478 +#: part/serializers.py:488 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:490 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:487 +#: part/serializers.py:497 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:488 +#: part/serializers.py:498 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:500 +#: part/serializers.py:515 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:531 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:526 +#: part/serializers.py:541 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:533 +#: part/serializers.py:548 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:542 +#: part/serializers.py:557 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:553 +#: part/serializers.py:568 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:560 +#: part/serializers.py:575 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:823 +#: part/serializers.py:838 msgid "External Stock" msgstr "" -#: part/serializers.py:825 +#: part/serializers.py:840 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:828 +#: part/serializers.py:843 msgid "Variant Stock" msgstr "" -#: part/serializers.py:856 part/templates/part/copy_part.html:9 +#: part/serializers.py:871 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:857 +#: part/serializers.py:872 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:863 templates/js/translated/part.js:102 +#: part/serializers.py:878 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:864 +#: part/serializers.py:879 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:870 +#: part/serializers.py:885 msgid "Supplier Information" msgstr "" -#: part/serializers.py:871 +#: part/serializers.py:886 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:879 +#: part/serializers.py:894 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:880 +#: part/serializers.py:895 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:885 +#: part/serializers.py:900 msgid "Existing Image" msgstr "" -#: part/serializers.py:886 +#: part/serializers.py:901 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:918 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1109 +#: part/serializers.py:1124 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1119 +#: part/serializers.py:1134 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1129 +#: part/serializers.py:1144 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1135 +#: part/serializers.py:1150 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1136 +#: part/serializers.py:1151 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1141 +#: part/serializers.py:1156 msgid "Generate Report" msgstr "" -#: part/serializers.py:1142 +#: part/serializers.py:1157 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1147 +#: part/serializers.py:1162 msgid "Update Parts" msgstr "" -#: part/serializers.py:1148 +#: part/serializers.py:1163 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1156 +#: part/serializers.py:1171 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1262 +#: part/serializers.py:1277 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1269 +#: part/serializers.py:1284 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1277 +#: part/serializers.py:1292 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1284 +#: part/serializers.py:1299 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1313 +#: part/serializers.py:1328 msgid "Update" msgstr "" -#: part/serializers.py:1314 +#: part/serializers.py:1329 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1337 +#: part/serializers.py:1352 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1344 +#: part/serializers.py:1359 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1347 +#: part/serializers.py:1362 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1714 +#: part/serializers.py:1729 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1722 +#: part/serializers.py:1737 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1723 +#: part/serializers.py:1738 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1728 +#: part/serializers.py:1743 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1729 +#: part/serializers.py:1744 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1734 +#: part/serializers.py:1749 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1735 +#: part/serializers.py:1750 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1755 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1756 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1775 +#: part/serializers.py:1790 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1776 +#: part/serializers.py:1791 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1806 +#: part/serializers.py:1821 msgid "No part column specified" msgstr "" -#: part/serializers.py:1850 +#: part/serializers.py:1865 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1853 +#: part/serializers.py:1868 msgid "No matching part found" msgstr "" -#: part/serializers.py:1856 +#: part/serializers.py:1871 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1865 +#: part/serializers.py:1880 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1888 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1894 +#: part/serializers.py:1909 msgid "At least one BOM item is required" msgstr "" #: part/stocktake.py:224 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:2085 +#: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" @@ -7314,7 +7268,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2218 users/models.py:204 +#: templates/js/translated/stock.js:2216 users/models.py:204 msgid "Stocktake" msgstr "" @@ -7412,15 +7366,15 @@ msgstr "" msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:659 +#: part/templates/part/detail.html:655 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:667 +#: part/templates/part/detail.html:663 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:752 +#: part/templates/part/detail.html:748 msgid "Add Test Result Template" msgstr "" @@ -7479,7 +7433,7 @@ msgstr "" #: part/templates/part/part_base.html:52 #: stock/templates/stock/item_base.html:62 -#: stock/templates/stock/location.html:74 +#: stock/templates/stock/location.html:74 templates/js/translated/label.js:142 msgid "Print Label" msgstr "" @@ -7501,7 +7455,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2293 +#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2292 msgid "Part actions" msgstr "" @@ -7550,7 +7504,7 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:163 -#: part/templates/part/part_base.html:682 +#: part/templates/part/part_base.html:681 msgid "Show Part Details" msgstr "" @@ -7573,7 +7527,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2444 +#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2443 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7596,19 +7550,19 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:512 +#: part/templates/part/part_base.html:511 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:529 +#: part/templates/part/part_base.html:528 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:580 +#: part/templates/part/part_base.html:579 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:676 +#: part/templates/part/part_base.html:675 msgid "Hide Part Details" msgstr "" @@ -7667,8 +7621,8 @@ msgstr "" #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 -#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 -#: templates/js/translated/stock.js:2072 templates/navbar.html:31 +#: templates/js/translated/part.js:2391 templates/js/translated/stock.js:1059 +#: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7714,7 +7668,7 @@ msgstr "" #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 -#: templates/js/translated/stock.js:2248 +#: templates/js/translated/stock.js:2246 msgid "Last Updated" msgstr "" @@ -7786,7 +7740,7 @@ msgid "Update Pricing" msgstr "" #: part/templates/part/stock_count.html:7 -#: templates/js/translated/model_renderers.js:221 +#: templates/js/translated/model_renderers.js:227 #: templates/js/translated/part.js:704 templates/js/translated/part.js:2140 #: templates/js/translated/part.js:2142 msgid "No Stock" @@ -7866,7 +7820,7 @@ msgstr "" msgid "Part Pricing" msgstr "" -#: plugin/api.py:168 +#: plugin/api.py:170 msgid "Plugin cannot be deleted as it is currently active" msgstr "" @@ -7933,7 +7887,7 @@ msgid "Stock item does not match line item" msgstr "" #: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2589 -#: templates/js/translated/sales_order.js:1917 +#: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "" @@ -8027,22 +7981,18 @@ msgstr "" msgid "Quantity to allocate" msgstr "" -#: plugin/base/label/label.py:39 +#: plugin/base/label/label.py:39 templates/js/translated/label.js:154 msgid "Label printing failed" msgstr "" -#: plugin/base/label/mixins.py:63 +#: plugin/base/label/mixins.py:56 msgid "Error rendering label to PDF" msgstr "" -#: plugin/base/label/mixins.py:76 +#: plugin/base/label/mixins.py:70 msgid "Error rendering label to HTML" msgstr "" -#: plugin/base/label/mixins.py:111 -msgid "Error rendering label to PNG" -msgstr "" - #: plugin/builtin/barcodes/inventree_barcode.py:25 msgid "InvenTree Barcodes" msgstr "" @@ -8054,7 +8004,7 @@ msgstr "" #: plugin/builtin/barcodes/inventree_barcode.py:28 #: plugin/builtin/integration/core_notifications.py:35 #: plugin/builtin/integration/currency_exchange.py:21 -#: plugin/builtin/labels/inventree_label.py:23 +#: plugin/builtin/labels/inventree_label.py:22 #: plugin/builtin/labels/inventree_machine.py:64 #: plugin/builtin/labels/label_sheet.py:63 #: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 @@ -8108,19 +8058,19 @@ msgstr "" msgid "Default currency exchange integration" msgstr "" -#: plugin/builtin/labels/inventree_label.py:20 +#: plugin/builtin/labels/inventree_label.py:19 msgid "InvenTree PDF label printer" msgstr "" -#: plugin/builtin/labels/inventree_label.py:21 +#: plugin/builtin/labels/inventree_label.py:20 msgid "Provides native support for printing PDF labels" msgstr "" -#: plugin/builtin/labels/inventree_label.py:29 +#: plugin/builtin/labels/inventree_label.py:28 msgid "Debug mode" msgstr "" -#: plugin/builtin/labels/inventree_label.py:30 +#: plugin/builtin/labels/inventree_label.py:29 msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "" @@ -8132,11 +8082,11 @@ msgstr "" msgid "Provides support for printing using a machine" msgstr "" -#: plugin/builtin/labels/inventree_machine.py:150 +#: plugin/builtin/labels/inventree_machine.py:151 msgid "last used" msgstr "" -#: plugin/builtin/labels/inventree_machine.py:167 +#: plugin/builtin/labels/inventree_machine.py:168 msgid "Options" msgstr "" @@ -8160,7 +8110,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:47 report/models.py:209 +#: plugin/builtin/labels/label_sheet.py:47 report/models.py:308 msgid "Landscape" msgstr "" @@ -8176,11 +8126,11 @@ msgstr "" msgid "Arrays multiple labels onto a single sheet" msgstr "" -#: plugin/builtin/labels/label_sheet.py:94 +#: plugin/builtin/labels/label_sheet.py:99 msgid "Label is too large for page size" msgstr "" -#: plugin/builtin/labels/label_sheet.py:128 +#: plugin/builtin/labels/label_sheet.py:133 msgid "No labels were generated" msgstr "" @@ -8273,61 +8223,62 @@ msgstr "" msgid "Uninstalled plugin successfully" msgstr "" -#: plugin/models.py:30 +#: plugin/models.py:35 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:31 +#: plugin/models.py:36 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:34 users/models.py:100 +#: plugin/models.py:42 users/models.py:100 msgid "Key" msgstr "" -#: plugin/models.py:34 +#: plugin/models.py:43 msgid "Key of plugin" msgstr "" -#: plugin/models.py:42 +#: plugin/models.py:51 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:49 plugin/serializers.py:90 +#: plugin/models.py:58 plugin/serializers.py:90 msgid "Package Name" msgstr "" -#: plugin/models.py:51 +#: plugin/models.py:60 msgid "Name of the installed package, if the plugin was installed via PIP" msgstr "" -#: plugin/models.py:56 +#: plugin/models.py:65 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:147 templates/js/translated/table_filters.js:370 +#: plugin/models.py:156 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "" -#: plugin/models.py:156 +#: plugin/models.py:165 msgid "Sample plugin" msgstr "" -#: plugin/models.py:164 +#: plugin/models.py:173 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:172 +#: plugin/models.py:181 msgid "Package Plugin" msgstr "" -#: plugin/models.py:196 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:205 report/models.py:475 +#: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" msgstr "" -#: plugin/models.py:243 +#: plugin/models.py:252 msgid "Method" msgstr "" @@ -8468,239 +8419,323 @@ msgstr "" msgid "Delete the plugin configuration from the database" msgstr "" -#: report/api.py:158 +#: report/api.py:77 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:197 report/api.py:234 +#: report/api.py:89 report/serializers.py:53 +msgid "Model Type" +msgstr "" + +#: report/api.py:92 report/models.py:439 report/serializers.py:98 +#: report/serializers.py:148 templates/js/translated/purchase_order.js:1747 +#: templates/js/translated/return_order.js:353 +#: templates/js/translated/sales_order.js:887 +#: templates/js/translated/sales_order.js:1047 +msgid "Items" +msgstr "" + +#: report/api.py:168 +msgid "Plugin not found" +msgstr "" + +#: report/api.py:170 +msgid "Plugin is not active" +msgstr "" + +#: report/api.py:172 +msgid "Plugin does not support label printing" +msgstr "" + +#: report/api.py:221 +msgid "Invalid label dimensions" +msgstr "" + +#: report/api.py:236 report/api.py:316 +msgid "No valid items provided to template" +msgstr "" + +#: report/api.py:271 +msgid "Error printing label" +msgstr "" + +#: report/api.py:362 report/api.py:398 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:319 -msgid "Test report" -msgstr "" - -#: report/helpers.py:15 +#: report/helpers.py:41 msgid "A4" msgstr "" -#: report/helpers.py:16 +#: report/helpers.py:42 msgid "A3" msgstr "" -#: report/helpers.py:17 +#: report/helpers.py:43 msgid "Legal" msgstr "" -#: report/helpers.py:18 +#: report/helpers.py:44 msgid "Letter" msgstr "" -#: report/models.py:177 +#: report/models.py:118 +msgid "Template file with this name already exists" +msgstr "" + +#: report/models.py:150 msgid "Template name" msgstr "" -#: report/models.py:183 -msgid "Report template file" +#: report/models.py:156 +msgid "Template description" msgstr "" -#: report/models.py:190 -msgid "Report template description" +#: report/models.py:162 +msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:196 -msgid "Report revision number (auto-increments)" +#: report/models.py:202 +msgid "Filename Pattern" msgstr "" -#: report/models.py:204 +#: report/models.py:203 +msgid "Pattern for generating filenames" +msgstr "" + +#: report/models.py:208 +msgid "Template is enabled" +msgstr "" + +#: report/models.py:214 +msgid "Target model type for template" +msgstr "" + +#: report/models.py:234 +msgid "Filters" +msgstr "" + +#: report/models.py:235 +msgid "Template query filters (comma-separated list of key=value pairs)" +msgstr "" + +#: report/models.py:295 report/models.py:362 +msgid "Template file" +msgstr "" + +#: report/models.py:303 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:210 +#: report/models.py:309 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:318 -msgid "Pattern for generating report filenames" +#: report/models.py:368 +msgid "Width [mm]" msgstr "" -#: report/models.py:325 -msgid "Report template is enabled" +#: report/models.py:369 +msgid "Label width, specified in mm" msgstr "" -#: report/models.py:347 -msgid "StockItem query filters (comma-separated list of key=value pairs)" +#: report/models.py:375 +msgid "Height [mm]" msgstr "" -#: report/models.py:354 -msgid "Include Installed Tests" +#: report/models.py:376 +msgid "Label height, specified in mm" msgstr "" -#: report/models.py:356 -msgid "Include test results for stock items installed inside assembled item" +#: report/models.py:439 +msgid "Number of items to process" msgstr "" -#: report/models.py:424 -msgid "Build Filters" +#: report/models.py:445 +msgid "Report generation is complete" msgstr "" -#: report/models.py:425 -msgid "Build query filters (comma-separated list of key=value pairs" +#: report/models.py:449 templates/js/translated/build.js:2177 +msgid "Progress" msgstr "" -#: report/models.py:464 -msgid "Part Filters" +#: report/models.py:449 +msgid "Report generation progress" msgstr "" -#: report/models.py:465 -msgid "Part query filters (comma-separated list of key=value pairs" +#: report/models.py:457 +msgid "Report Template" msgstr "" -#: report/models.py:497 -msgid "Purchase order query filters" +#: report/models.py:464 report/models.py:487 +msgid "Output File" msgstr "" -#: report/models.py:533 -msgid "Sales order query filters" +#: report/models.py:465 report/models.py:488 +msgid "Generated output file" msgstr "" -#: report/models.py:569 -msgid "Return order query filters" +#: report/models.py:476 +msgid "Label output plugin" msgstr "" -#: report/models.py:641 -msgid "Snippet file with this name already exists" +#: report/models.py:480 +msgid "Label Template" msgstr "" -#: report/models.py:648 +#: report/models.py:503 msgid "Snippet" msgstr "" -#: report/models.py:649 +#: report/models.py:504 msgid "Report snippet file" msgstr "" -#: report/models.py:656 +#: report/models.py:511 msgid "Snippet file description" msgstr "" -#: report/models.py:714 -msgid "Asset file with this name already exists" -msgstr "" - -#: report/models.py:722 +#: report/models.py:529 msgid "Asset" msgstr "" -#: report/models.py:723 +#: report/models.py:530 msgid "Report asset file" msgstr "" -#: report/models.py:730 +#: report/models.py:537 msgid "Asset file description" msgstr "" -#: report/models.py:752 -msgid "stock location query filters (comma-separated list of key=value pairs)" +#: report/serializers.py:91 +msgid "Select report template" +msgstr "" + +#: report/serializers.py:99 report/serializers.py:149 +msgid "List of item primary keys to include in the report" +msgstr "" + +#: report/serializers.py:132 +msgid "Select label template" +msgstr "" + +#: report/serializers.py:140 +msgid "Printing Plugin" +msgstr "" + +#: report/serializers.py:141 +msgid "Select plugin to use for label printing" +msgstr "" + +#: report/templates/label/part_label.html:31 +#: report/templates/label/stockitem_qr.html:21 +#: report/templates/label/stocklocation_qr.html:20 +#: templates/allauth_2fa/setup.html:18 +msgid "QR Code" +msgstr "" + +#: report/templates/label/part_label_code128.html:31 +#: report/templates/label/stocklocation_qr_and_text.html:31 +#: templates/qr_code.html:7 +msgid "QR code" msgstr "" #: report/templates/report/inventree_bill_of_materials_report.html:133 msgid "Materials needed" msgstr "" -#: report/templates/report/inventree_build_order_base.html:146 +#: report/templates/report/inventree_build_order_report.html:146 msgid "Required For" msgstr "" -#: report/templates/report/inventree_po_report_base.html:15 +#: report/templates/report/inventree_purchase_order_report.html:15 msgid "Supplier was deleted" msgstr "" -#: report/templates/report/inventree_po_report_base.html:30 -#: report/templates/report/inventree_so_report_base.html:30 +#: report/templates/report/inventree_purchase_order_report.html:30 +#: report/templates/report/inventree_sales_order_report.html:30 #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:834 -#: templates/js/translated/purchase_order.js:2116 -#: templates/js/translated/sales_order.js:1837 +#: templates/js/translated/purchase_order.js:2115 +#: templates/js/translated/sales_order.js:1873 msgid "Unit Price" msgstr "" -#: report/templates/report/inventree_po_report_base.html:55 -#: report/templates/report/inventree_return_order_report_base.html:48 -#: report/templates/report/inventree_so_report_base.html:55 +#: report/templates/report/inventree_purchase_order_report.html:55 +#: report/templates/report/inventree_return_order_report.html:48 +#: report/templates/report/inventree_sales_order_report.html:55 msgid "Extra Line Items" 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:2018 -#: templates/js/translated/sales_order.js:1806 +#: report/templates/report/inventree_purchase_order_report.html:72 +#: report/templates/report/inventree_sales_order_report.html:72 +#: templates/js/translated/purchase_order.js:2017 +#: templates/js/translated/sales_order.js:1842 msgid "Total" msgstr "" -#: report/templates/report/inventree_return_order_report_base.html:25 -#: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:809 stock/templates/stock/item_base.html:311 +#: report/templates/report/inventree_return_order_report.html:25 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:830 +#: stock/serializers.py:150 stock/templates/stock/item_base.html:311 #: templates/js/translated/build.js:519 templates/js/translated/build.js:1367 #: templates/js/translated/build.js:2355 -#: templates/js/translated/model_renderers.js:224 -#: templates/js/translated/return_order.js:540 -#: templates/js/translated/return_order.js:724 +#: templates/js/translated/model_renderers.js:230 +#: templates/js/translated/return_order.js:539 +#: templates/js/translated/return_order.js:723 #: templates/js/translated/sales_order.js:315 -#: templates/js/translated/sales_order.js:1611 -#: templates/js/translated/sales_order.js:1696 +#: templates/js/translated/sales_order.js:1647 +#: templates/js/translated/sales_order.js:1732 #: templates/js/translated/stock.js:596 msgid "Serial Number" msgstr "" -#: report/templates/report/inventree_slr_report.html:97 +#: report/templates/report/inventree_stock_location_report.html:97 msgid "Stock location items" msgstr "" -#: report/templates/report/inventree_test_report_base.html:21 +#: report/templates/report/inventree_test_report.html:21 msgid "Stock Item Test Report" msgstr "" -#: report/templates/report/inventree_test_report_base.html:97 +#: report/templates/report/inventree_test_report.html:97 msgid "Test Results" msgstr "" -#: report/templates/report/inventree_test_report_base.html:102 +#: report/templates/report/inventree_test_report.html:102 #: templates/js/translated/stock.js:1495 msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2442 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2419 msgid "Result" msgstr "" -#: report/templates/report/inventree_test_report_base.html:130 +#: report/templates/report/inventree_test_report.html:130 msgid "Pass" msgstr "" -#: report/templates/report/inventree_test_report_base.html:132 +#: report/templates/report/inventree_test_report.html:132 msgid "Fail" msgstr "" -#: report/templates/report/inventree_test_report_base.html:139 +#: report/templates/report/inventree_test_report.html:139 msgid "No result (required)" msgstr "" -#: report/templates/report/inventree_test_report_base.html:141 +#: report/templates/report/inventree_test_report.html:141 msgid "No result" msgstr "" -#: report/templates/report/inventree_test_report_base.html:154 +#: report/templates/report/inventree_test_report.html:154 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report_base.html:168 -#: stock/admin.py:162 templates/js/translated/stock.js:700 -#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3113 +#: report/templates/report/inventree_test_report.html:168 stock/admin.py:162 +#: templates/js/translated/stock.js:700 templates/js/translated/stock.js:871 +#: templates/js/translated/stock.js:3110 msgid "Serial" msgstr "" @@ -8757,7 +8792,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:201 stock/models.py:789 +#: stock/admin.py:201 stock/models.py:810 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" @@ -8782,66 +8817,66 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:256 stock/models.py:883 +#: stock/admin.py:256 stock/models.py:904 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2232 users/models.py:124 +#: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" msgstr "" -#: stock/api.py:284 +#: stock/api.py:318 msgid "Filter by location depth" msgstr "" -#: stock/api.py:304 +#: stock/api.py:338 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:325 +#: stock/api.py:359 msgid "Parent Location" msgstr "" -#: stock/api.py:326 +#: stock/api.py:360 msgid "Filter by parent location" msgstr "" -#: stock/api.py:579 templates/js/translated/table_filters.js:427 +#: stock/api.py:613 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:767 +#: stock/api.py:801 msgid "Part Tree" msgstr "" -#: stock/api.py:797 +#: stock/api.py:831 msgid "Expiry date before" msgstr "" -#: stock/api.py:801 +#: stock/api.py:835 msgid "Expiry date after" msgstr "" -#: stock/api.py:804 stock/templates/stock/item_base.html:439 +#: stock/api.py:838 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:891 +#: stock/api.py:925 msgid "Quantity is required" msgstr "" -#: stock/api.py:897 +#: stock/api.py:931 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:928 +#: stock/api.py:962 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:938 +#: stock/api.py:972 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:969 +#: stock/api.py:1003 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8857,477 +8892,517 @@ msgstr "" msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:125 stock/models.py:771 +#: stock/models.py:127 stock/models.py:792 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:126 stock/templates/stock/location.html:179 +#: stock/models.py:128 stock/templates/stock/location.html:186 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "" -#: stock/models.py:158 stock/models.py:932 +#: stock/models.py:170 stock/models.py:953 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:159 stock/models.py:933 +#: stock/models.py:171 stock/models.py:954 msgid "Select Owner" msgstr "" -#: stock/models.py:167 +#: stock/models.py:179 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:174 templates/js/translated/stock.js:2784 +#: stock/models.py:186 templates/js/translated/stock.js:2781 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "" -#: stock/models.py:175 +#: stock/models.py:187 msgid "This is an external stock location" msgstr "" -#: stock/models.py:181 templates/js/translated/stock.js:2793 +#: stock/models.py:193 templates/js/translated/stock.js:2790 #: templates/js/translated/table_filters.js:246 msgid "Location type" msgstr "" -#: stock/models.py:185 +#: stock/models.py:197 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:254 +#: stock/models.py:266 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:626 +#: stock/models.py:647 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:653 stock/serializers.py:290 +#: stock/models.py:674 stock/serializers.py:419 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:670 +#: stock/models.py:691 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:680 stock/models.py:693 +#: stock/models.py:701 stock/models.py:714 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:683 +#: stock/models.py:704 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:707 +#: stock/models.py:728 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:712 +#: stock/models.py:733 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:725 +#: stock/models.py:746 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:741 +#: stock/models.py:762 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:753 +#: stock/models.py:774 msgid "Base part" msgstr "" -#: stock/models.py:763 +#: stock/models.py:784 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:775 +#: stock/models.py:796 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:783 stock/serializers.py:1351 +#: stock/models.py:804 stock/serializers.py:1480 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:794 +#: stock/models.py:815 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:813 +#: stock/models.py:834 msgid "Serial number for this item" msgstr "" -#: stock/models.py:827 stock/serializers.py:1334 +#: stock/models.py:848 stock/serializers.py:1463 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:832 +#: stock/models.py:853 msgid "Stock Quantity" msgstr "" -#: stock/models.py:842 +#: stock/models.py:863 msgid "Source Build" msgstr "" -#: stock/models.py:845 +#: stock/models.py:866 msgid "Build for this stock item" msgstr "" -#: stock/models.py:852 stock/templates/stock/item_base.html:363 +#: stock/models.py:873 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:855 +#: stock/models.py:876 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:864 +#: stock/models.py:885 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:868 +#: stock/models.py:889 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:874 +#: stock/models.py:895 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:885 +#: stock/models.py:906 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:903 +#: stock/models.py:924 msgid "Delete on deplete" msgstr "" -#: stock/models.py:904 +#: stock/models.py:925 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:924 +#: stock/models.py:945 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:955 +#: stock/models.py:976 msgid "Converted to part" msgstr "" -#: stock/models.py:1473 +#: stock/models.py:1494 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1479 +#: stock/models.py:1500 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1487 +#: stock/models.py:1508 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1493 +#: stock/models.py:1514 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1498 +#: stock/models.py:1519 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1506 stock/serializers.py:529 +#: stock/models.py:1527 stock/serializers.py:658 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1603 +#: stock/models.py:1624 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1621 +#: stock/models.py:1642 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1625 +#: stock/models.py:1646 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1628 +#: stock/models.py:1649 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1631 +#: stock/models.py:1652 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1634 +#: stock/models.py:1655 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1637 +#: stock/models.py:1658 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1644 stock/serializers.py:1240 +#: stock/models.py:1665 stock/serializers.py:1369 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1648 +#: stock/models.py:1669 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1656 +#: stock/models.py:1677 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1661 +#: stock/models.py:1682 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1882 +#: stock/models.py:1903 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2345 +#: stock/models.py:2322 msgid "Entry notes" msgstr "" -#: stock/models.py:2410 +#: stock/models.py:2387 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2415 +#: stock/models.py:2392 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2442 +#: stock/models.py:2419 msgid "Test result" msgstr "" -#: stock/models.py:2449 +#: stock/models.py:2426 msgid "Test output value" msgstr "" -#: stock/models.py:2457 +#: stock/models.py:2434 msgid "Test result attachment" msgstr "" -#: stock/models.py:2461 +#: stock/models.py:2438 msgid "Test notes" msgstr "" -#: stock/models.py:2469 templates/js/translated/stock.js:1548 +#: stock/models.py:2446 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "" -#: stock/models.py:2470 +#: stock/models.py:2447 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2476 +#: stock/models.py:2453 msgid "Started" msgstr "" -#: stock/models.py:2477 +#: stock/models.py:2454 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2483 +#: stock/models.py:2460 msgid "Finished" msgstr "" -#: stock/models.py:2484 +#: stock/models.py:2461 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:100 +#: stock/serializers.py:75 +msgid "Generated batch code" +msgstr "" + +#: stock/serializers.py:84 +msgid "Select build order" +msgstr "" + +#: stock/serializers.py:93 +msgid "Select stock item to generate batch code for" +msgstr "" + +#: stock/serializers.py:102 +msgid "Select location to generate batch code for" +msgstr "" + +#: stock/serializers.py:111 +msgid "Select part to generate batch code for" +msgstr "" + +#: stock/serializers.py:120 +msgid "Select purchase order" +msgstr "" + +#: stock/serializers.py:127 +msgid "Enter quantity for batch code" +msgstr "" + +#: stock/serializers.py:150 +msgid "Generated serial number" +msgstr "" + +#: stock/serializers.py:159 +msgid "Select part to generate serial number for" +msgstr "" + +#: stock/serializers.py:167 +msgid "Quantity of serial numbers to generate" +msgstr "" + +#: stock/serializers.py:229 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:119 +#: stock/serializers.py:248 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:151 +#: stock/serializers.py:280 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:184 +#: stock/serializers.py:313 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:282 +#: stock/serializers.py:411 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:402 +#: stock/serializers.py:531 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:464 +#: stock/serializers.py:593 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:477 +#: stock/serializers.py:606 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:484 +#: stock/serializers.py:613 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:495 stock/serializers.py:1197 stock/serializers.py:1453 +#: stock/serializers.py:624 stock/serializers.py:1326 stock/serializers.py:1582 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:502 +#: stock/serializers.py:631 msgid "Optional note field" msgstr "" -#: stock/serializers.py:512 +#: stock/serializers.py:641 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:567 +#: stock/serializers.py:696 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:574 +#: stock/serializers.py:703 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:575 +#: stock/serializers.py:704 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:580 stock/serializers.py:660 stock/serializers.py:756 -#: stock/serializers.py:806 +#: stock/serializers.py:709 stock/serializers.py:789 stock/serializers.py:885 +#: stock/serializers.py:935 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:588 +#: stock/serializers.py:717 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:596 +#: stock/serializers.py:725 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:607 +#: stock/serializers.py:736 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:620 +#: stock/serializers.py:749 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:655 +#: stock/serializers.py:784 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:690 +#: stock/serializers.py:819 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:703 +#: stock/serializers.py:832 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:720 +#: stock/serializers.py:849 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:751 +#: stock/serializers.py:880 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:788 +#: stock/serializers.py:917 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:794 +#: stock/serializers.py:923 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:890 stock/serializers.py:953 +#: stock/serializers.py:1019 stock/serializers.py:1082 #: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:213 +#: stock/templates/stock/location.html:220 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1069 +#: stock/serializers.py:1198 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1073 +#: stock/serializers.py:1202 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1077 +#: stock/serializers.py:1206 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1101 +#: stock/serializers.py:1230 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1107 +#: stock/serializers.py:1236 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1115 +#: stock/serializers.py:1244 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1125 stock/serializers.py:1379 +#: stock/serializers.py:1254 stock/serializers.py:1508 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1204 +#: stock/serializers.py:1333 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1209 +#: stock/serializers.py:1338 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1210 +#: stock/serializers.py:1339 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1215 +#: stock/serializers.py:1344 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1216 +#: stock/serializers.py:1345 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1226 +#: stock/serializers.py:1355 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1293 +#: stock/serializers.py:1422 msgid "No Change" msgstr "" -#: stock/serializers.py:1322 +#: stock/serializers.py:1451 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1341 +#: stock/serializers.py:1470 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1369 +#: stock/serializers.py:1498 msgid "Stock transaction notes" msgstr "" @@ -9352,7 +9427,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:286 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:282 msgid "Delete Test Data" msgstr "" @@ -9368,15 +9443,15 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3274 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3271 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:274 +#: stock/templates/stock/item.html:270 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:304 templates/js/translated/stock.js:1701 +#: stock/templates/stock/item.html:300 templates/js/translated/stock.js:1701 msgid "Add Test Result" msgstr "" @@ -9561,40 +9636,40 @@ msgstr "" msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:507 -#: templates/js/translated/stock.js:1954 +#: stock/templates/stock/item_base.html:504 +#: templates/js/translated/stock.js:1952 msgid "stock item" msgstr "" -#: stock/templates/stock/item_base.html:532 +#: stock/templates/stock/item_base.html:527 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:541 +#: stock/templates/stock/item_base.html:536 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:552 +#: stock/templates/stock/item_base.html:547 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:616 +#: stock/templates/stock/item_base.html:611 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:619 +#: stock/templates/stock/item_base.html:614 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:620 +#: stock/templates/stock/item_base.html:615 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:628 +#: stock/templates/stock/item_base.html:623 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:662 +#: stock/templates/stock/item_base.html:657 msgid "Return to Stock" msgstr "" @@ -9658,28 +9733,32 @@ msgstr "" msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:217 +#: stock/templates/stock/location.html:176 +msgid "Location Type" +msgstr "" + +#: stock/templates/stock/location.html:224 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:218 +#: stock/templates/stock/location.html:225 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:287 -#: templates/js/translated/stock.js:2575 +#: stock/templates/stock/location.html:295 +#: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:315 +#: stock/templates/stock/location.html:317 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:388 +#: stock/templates/stock/location.html:390 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:399 +#: stock/templates/stock/location.html:401 msgid "Link Barcode to Stock Location" msgstr "" @@ -9949,11 +10028,11 @@ msgstr "" msgid "Part Settings" msgstr "" -#: templates/InvenTree/settings/part.html:42 +#: templates/InvenTree/settings/part.html:43 msgid "Part Import" msgstr "" -#: templates/InvenTree/settings/part.html:46 +#: templates/InvenTree/settings/part.html:47 msgid "Import Part" msgstr "" @@ -10174,7 +10253,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:424 +#: templates/js/translated/stock.js:245 users/models.py:411 msgid "Delete" msgstr "" @@ -10283,7 +10362,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2159 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2163 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" @@ -10874,7 +10953,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3218 +#: templates/js/translated/part.js:3217 msgid "Minimum Quantity" msgstr "" @@ -11254,7 +11333,7 @@ msgid "External stock" msgstr "" #: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2595 -#: templates/js/translated/sales_order.js:1910 +#: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" @@ -11264,7 +11343,7 @@ msgstr "" #: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 #: templates/js/translated/part.js:1256 -#: templates/js/translated/sales_order.js:1907 +#: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" @@ -11519,17 +11598,17 @@ msgstr "" #: templates/js/translated/build.js:1576 #: templates/js/translated/purchase_order.js:611 -#: templates/js/translated/sales_order.js:1171 +#: templates/js/translated/sales_order.js:1207 msgid "Select Parts" msgstr "" #: templates/js/translated/build.js:1577 -#: templates/js/translated/sales_order.js:1172 +#: templates/js/translated/sales_order.js:1208 msgid "You must select at least one part to allocate" msgstr "" #: templates/js/translated/build.js:1640 -#: templates/js/translated/sales_order.js:1121 +#: templates/js/translated/sales_order.js:1157 msgid "Specify stock allocation quantity" msgstr "" @@ -11542,7 +11621,7 @@ msgid "All selected parts have been fully allocated" msgstr "" #: templates/js/translated/build.js:1732 -#: templates/js/translated/sales_order.js:1186 +#: templates/js/translated/sales_order.js:1222 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -11551,12 +11630,12 @@ msgid "Allocate Stock Items to Build Order" msgstr "" #: templates/js/translated/build.js:1771 -#: templates/js/translated/sales_order.js:1283 +#: templates/js/translated/sales_order.js:1319 msgid "No matching stock locations" msgstr "" #: templates/js/translated/build.js:1844 -#: templates/js/translated/sales_order.js:1362 +#: templates/js/translated/sales_order.js:1398 msgid "No matching stock items" msgstr "" @@ -11589,9 +11668,9 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 -#: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 -#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 -#: templates/js/translated/stock.js:1985 templates/js/translated/stock.js:2713 +#: templates/js/translated/forms.js:2159 templates/js/translated/forms.js:2175 +#: templates/js/translated/part.js:2315 templates/js/translated/part.js:2741 +#: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "" @@ -11599,21 +11678,17 @@ msgstr "" msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2177 -msgid "Progress" -msgstr "" - -#: templates/js/translated/build.js:2213 templates/js/translated/stock.js:3045 +#: templates/js/translated/build.js:2213 templates/js/translated/stock.js:3042 msgid "No user information" msgstr "" #: templates/js/translated/build.js:2389 -#: templates/js/translated/sales_order.js:1646 +#: templates/js/translated/sales_order.js:1682 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:2390 -#: templates/js/translated/sales_order.js:1647 +#: templates/js/translated/sales_order.js:1683 msgid "Delete stock allocation" msgstr "" @@ -11647,7 +11722,7 @@ msgid "Unit Quantity" msgstr "" #: templates/js/translated/build.js:2591 -#: templates/js/translated/sales_order.js:1915 +#: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" @@ -11664,7 +11739,7 @@ msgid "Allocate tracked items against individual build outputs" msgstr "" #: templates/js/translated/build.js:2662 -#: templates/js/translated/sales_order.js:2016 +#: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "" @@ -11673,7 +11748,7 @@ msgid "Order stock" msgstr "" #: templates/js/translated/build.js:2671 -#: templates/js/translated/sales_order.js:2010 +#: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "" @@ -11923,12 +11998,12 @@ msgid "Delete price break" msgstr "" #: templates/js/translated/filters.js:186 -#: templates/js/translated/filters.js:672 +#: templates/js/translated/filters.js:667 msgid "true" msgstr "" #: templates/js/translated/filters.js:190 -#: templates/js/translated/filters.js:673 +#: templates/js/translated/filters.js:668 msgid "false" msgstr "" @@ -11960,7 +12035,7 @@ msgstr "" msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:582 +#: templates/js/translated/filters.js:577 msgid "Create filter" msgstr "" @@ -11993,32 +12068,32 @@ msgstr "" msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1473 templates/modals.html:19 +#: templates/js/translated/forms.js:1477 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1971 +#: templates/js/translated/forms.js:1975 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2275 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2279 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2489 +#: templates/js/translated/forms.js:2493 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3091 +#: templates/js/translated/forms.js:3095 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3091 +#: templates/js/translated/forms.js:3095 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3103 +#: templates/js/translated/forms.js:3107 msgid "Select Columns" msgstr "" @@ -12042,51 +12117,15 @@ msgstr "" msgid "No parts required for builds" msgstr "" -#: templates/js/translated/label.js:53 templates/js/translated/report.js:123 +#: templates/js/translated/label.js:55 templates/js/translated/report.js:38 msgid "Select Items" msgstr "" -#: templates/js/translated/label.js:54 +#: templates/js/translated/label.js:56 templates/js/translated/report.js:39 msgid "No items selected for printing" msgstr "" -#: templates/js/translated/label.js:72 -msgid "No Labels Found" -msgstr "" - -#: templates/js/translated/label.js:73 -msgid "No label templates found which match the selected items" -msgstr "" - -#: templates/js/translated/label.js:97 -msgid "selected" -msgstr "" - -#: templates/js/translated/label.js:133 -msgid "Printing Options" -msgstr "" - -#: templates/js/translated/label.js:148 -msgid "Print label" -msgstr "" - -#: templates/js/translated/label.js:148 -msgid "Print labels" -msgstr "" - #: templates/js/translated/label.js:149 -msgid "Print" -msgstr "" - -#: templates/js/translated/label.js:155 -msgid "Select label template" -msgstr "" - -#: templates/js/translated/label.js:168 -msgid "Select plugin" -msgstr "" - -#: templates/js/translated/label.js:187 msgid "Labels sent to printer" msgstr "" @@ -12204,7 +12243,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1991 +#: templates/js/translated/purchase_order.js:1990 msgid "No line items found" msgstr "" @@ -12442,19 +12481,19 @@ msgid "Delete Part Parameter Template" msgstr "" #: templates/js/translated/part.js:1716 -#: templates/js/translated/purchase_order.js:1655 +#: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1860 -#: templates/js/translated/purchase_order.js:2154 -#: templates/js/translated/return_order.js:756 -#: templates/js/translated/sales_order.js:1875 +#: templates/js/translated/purchase_order.js:2153 +#: templates/js/translated/return_order.js:755 +#: templates/js/translated/sales_order.js:1911 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1906 -#: templates/js/translated/purchase_order.js:2221 +#: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "" @@ -12466,7 +12505,7 @@ msgstr "" msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2506 +#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2505 msgid "No parts found" msgstr "" @@ -12482,101 +12521,101 @@ msgstr "" msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2286 msgid "part" msgstr "" -#: templates/js/translated/part.js:2288 +#: templates/js/translated/part.js:2287 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2384 +#: templates/js/translated/part.js:2383 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 -#: templates/js/translated/stock.js:2672 +#: templates/js/translated/part.js:2530 templates/js/translated/part.js:2660 +#: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2547 +#: templates/js/translated/part.js:2546 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2645 +#: templates/js/translated/part.js:2644 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2692 +#: templates/js/translated/part.js:2680 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2761 +#: templates/js/translated/part.js:2760 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2777 +#: templates/js/translated/part.js:2776 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2864 +#: templates/js/translated/part.js:2863 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2886 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2885 templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2935 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2941 +#: templates/js/translated/part.js:2940 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2957 +#: templates/js/translated/part.js:2956 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2971 +#: templates/js/translated/part.js:2970 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3050 templates/js/translated/part.js:3051 +#: templates/js/translated/part.js:3049 templates/js/translated/part.js:3050 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3053 +#: templates/js/translated/part.js:3052 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3059 +#: templates/js/translated/part.js:3058 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3109 +#: templates/js/translated/part.js:3108 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3115 +#: templates/js/translated/part.js:3114 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3211 +#: templates/js/translated/part.js:3210 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3227 +#: templates/js/translated/part.js:3226 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3272 +#: templates/js/translated/part.js:3271 msgid "Minimum Stock Level" msgstr "" @@ -12702,7 +12741,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:448 #: templates/js/translated/return_order.js:210 -#: templates/js/translated/sales_order.js:500 +#: templates/js/translated/sales_order.js:552 msgid "Mark this order as complete?" msgstr "" @@ -12715,7 +12754,6 @@ msgid "This order has line items which have not been marked as received." msgstr "" #: templates/js/translated/purchase_order.js:460 -#: templates/js/translated/sales_order.js:514 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" @@ -12773,12 +12811,12 @@ msgid "No matching purchase orders" msgstr "" #: templates/js/translated/purchase_order.js:1073 -#: templates/js/translated/return_order.js:491 +#: templates/js/translated/return_order.js:490 msgid "Select Line Items" msgstr "" #: templates/js/translated/purchase_order.js:1074 -#: templates/js/translated/return_order.js:492 +#: templates/js/translated/return_order.js:491 msgid "At least one line item must be selected" msgstr "" @@ -12827,7 +12865,7 @@ msgid "Quantity to Receive" msgstr "" #: templates/js/translated/purchase_order.js:1333 -#: templates/js/translated/return_order.js:561 +#: templates/js/translated/return_order.js:560 msgid "Confirm receipt of items" msgstr "" @@ -12847,81 +12885,66 @@ msgstr "" msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1682 -#: templates/js/translated/return_order.js:286 -#: templates/js/translated/sales_order.js:774 -#: templates/js/translated/sales_order.js:998 +#: templates/js/translated/purchase_order.js:1681 +#: templates/js/translated/return_order.js:285 +#: templates/js/translated/sales_order.js:810 +#: templates/js/translated/sales_order.js:1034 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1748 -#: templates/js/translated/return_order.js:354 -#: templates/js/translated/sales_order.js:851 -#: templates/js/translated/sales_order.js:1011 -msgid "Items" -msgstr "" - -#: templates/js/translated/purchase_order.js:1844 +#: templates/js/translated/purchase_order.js:1843 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1862 +#: templates/js/translated/purchase_order.js:1861 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1917 -#: templates/js/translated/sales_order.js:2070 +#: templates/js/translated/purchase_order.js:1916 +#: templates/js/translated/sales_order.js:2106 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1932 -#: templates/js/translated/return_order.js:476 -#: templates/js/translated/return_order.js:669 -#: templates/js/translated/sales_order.js:2083 +#: templates/js/translated/purchase_order.js:1931 +#: templates/js/translated/return_order.js:475 +#: templates/js/translated/return_order.js:668 +#: templates/js/translated/sales_order.js:2119 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1943 -#: templates/js/translated/return_order.js:682 -#: templates/js/translated/sales_order.js:2094 +#: templates/js/translated/purchase_order.js:1942 +#: templates/js/translated/return_order.js:681 +#: templates/js/translated/sales_order.js:2130 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2225 -#: templates/js/translated/sales_order.js:2024 +#: templates/js/translated/purchase_order.js:2224 +#: templates/js/translated/sales_order.js:2060 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2226 -#: templates/js/translated/return_order.js:801 -#: templates/js/translated/sales_order.js:2025 +#: templates/js/translated/purchase_order.js:2225 +#: templates/js/translated/return_order.js:800 +#: templates/js/translated/sales_order.js:2061 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2227 -#: templates/js/translated/return_order.js:805 -#: templates/js/translated/sales_order.js:2031 +#: templates/js/translated/purchase_order.js:2226 +#: templates/js/translated/return_order.js:804 +#: templates/js/translated/sales_order.js:2067 msgid "Delete line item" msgstr "" -#: templates/js/translated/report.js:63 -msgid "items selected" +#: templates/js/translated/report.js:49 +msgid "Print Report" msgstr "" -#: templates/js/translated/report.js:71 -msgid "Select Report Template" +#: templates/js/translated/report.js:68 +msgid "Report print successful" msgstr "" -#: templates/js/translated/report.js:86 -msgid "Select Test Report Template" -msgstr "" - -#: templates/js/translated/report.js:140 -msgid "No Reports Found" -msgstr "" - -#: templates/js/translated/report.js:141 -msgid "No report templates found which match the selected items" +#: templates/js/translated/report.js:73 +msgid "Report printing failed" msgstr "" #: templates/js/translated/return_order.js:60 @@ -12953,25 +12976,25 @@ msgstr "" msgid "Complete Return Order" msgstr "" -#: templates/js/translated/return_order.js:266 +#: templates/js/translated/return_order.js:265 msgid "No return orders found" msgstr "" -#: templates/js/translated/return_order.js:300 -#: templates/js/translated/sales_order.js:788 +#: templates/js/translated/return_order.js:299 +#: templates/js/translated/sales_order.js:824 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/return_order.js:562 +#: templates/js/translated/return_order.js:561 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:693 -#: templates/js/translated/sales_order.js:2231 +#: templates/js/translated/return_order.js:692 +#: templates/js/translated/sales_order.js:2267 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:798 +#: templates/js/translated/return_order.js:797 msgid "Mark item as received" msgstr "" @@ -13015,140 +13038,156 @@ msgstr "" msgid "Skip" msgstr "" +#: templates/js/translated/sales_order.js:484 +msgid "Ship Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:500 +msgid "Ship this order?" +msgstr "" + +#: templates/js/translated/sales_order.js:506 +msgid "Order cannot be shipped as there are incomplete shipments" +msgstr "" + #: templates/js/translated/sales_order.js:513 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/sales_order.js:535 +#: templates/js/translated/sales_order.js:514 +msgid "Shipping this order means that the order and line items will no longer be editable." +msgstr "" + +#: templates/js/translated/sales_order.js:572 msgid "Issue this Sales Order?" msgstr "" -#: templates/js/translated/sales_order.js:540 +#: templates/js/translated/sales_order.js:577 msgid "Issue Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:559 +#: templates/js/translated/sales_order.js:596 msgid "Cancel Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:564 +#: templates/js/translated/sales_order.js:601 msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: templates/js/translated/sales_order.js:618 +#: templates/js/translated/sales_order.js:655 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/sales_order.js:728 +#: templates/js/translated/sales_order.js:764 msgid "No sales orders found" msgstr "" -#: templates/js/translated/sales_order.js:908 +#: templates/js/translated/sales_order.js:944 msgid "Edit shipment" msgstr "" -#: templates/js/translated/sales_order.js:911 +#: templates/js/translated/sales_order.js:947 msgid "Complete shipment" msgstr "" -#: templates/js/translated/sales_order.js:916 +#: templates/js/translated/sales_order.js:952 msgid "Delete shipment" msgstr "" -#: templates/js/translated/sales_order.js:933 +#: templates/js/translated/sales_order.js:969 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/sales_order.js:948 +#: templates/js/translated/sales_order.js:984 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:981 +#: templates/js/translated/sales_order.js:1017 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/sales_order.js:1006 +#: templates/js/translated/sales_order.js:1042 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/sales_order.js:1030 -#: templates/js/translated/sales_order.js:1529 +#: templates/js/translated/sales_order.js:1066 +#: templates/js/translated/sales_order.js:1565 msgid "Not shipped" msgstr "" -#: templates/js/translated/sales_order.js:1048 +#: templates/js/translated/sales_order.js:1084 msgid "Tracking" msgstr "" -#: templates/js/translated/sales_order.js:1052 +#: templates/js/translated/sales_order.js:1088 msgid "Invoice" msgstr "" -#: templates/js/translated/sales_order.js:1219 +#: templates/js/translated/sales_order.js:1255 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1270 +#: templates/js/translated/sales_order.js:1306 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/sales_order.js:1271 +#: templates/js/translated/sales_order.js:1307 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1477 +#: templates/js/translated/sales_order.js:1513 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1569 +#: templates/js/translated/sales_order.js:1605 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1583 +#: templates/js/translated/sales_order.js:1619 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/sales_order.js:1584 +#: templates/js/translated/sales_order.js:1620 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1623 -#: templates/js/translated/sales_order.js:1710 +#: templates/js/translated/sales_order.js:1659 +#: templates/js/translated/sales_order.js:1746 #: templates/js/translated/stock.js:1776 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/sales_order.js:1631 -#: templates/js/translated/sales_order.js:1719 +#: templates/js/translated/sales_order.js:1667 +#: templates/js/translated/sales_order.js:1755 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:2008 +#: templates/js/translated/sales_order.js:2044 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/sales_order.js:2012 +#: templates/js/translated/sales_order.js:2048 msgid "Purchase stock" msgstr "" -#: templates/js/translated/sales_order.js:2021 -#: templates/js/translated/sales_order.js:2209 +#: templates/js/translated/sales_order.js:2057 +#: templates/js/translated/sales_order.js:2245 msgid "Calculate price" msgstr "" -#: templates/js/translated/sales_order.js:2035 +#: templates/js/translated/sales_order.js:2071 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:2038 +#: templates/js/translated/sales_order.js:2074 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:2109 +#: templates/js/translated/sales_order.js:2145 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/sales_order.js:2217 +#: templates/js/translated/sales_order.js:2253 msgid "Update Unit Price" msgstr "" @@ -13356,7 +13395,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1042 users/models.py:414 +#: templates/js/translated/stock.js:1042 users/models.py:401 msgid "Add" msgstr "" @@ -13372,7 +13411,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1180 templates/js/translated/stock.js:3302 +#: templates/js/translated/stock.js:1180 templates/js/translated/stock.js:3299 msgid "Select Stock Items" msgstr "" @@ -13456,196 +13495,196 @@ msgstr "" msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:1955 +#: templates/js/translated/stock.js:1953 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1960 +#: templates/js/translated/stock.js:1958 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:1971 +#: templates/js/translated/stock.js:1969 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:2015 +#: templates/js/translated/stock.js:2013 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2093 +#: templates/js/translated/stock.js:2091 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2098 +#: templates/js/translated/stock.js:2096 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2101 +#: templates/js/translated/stock.js:2099 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2104 +#: templates/js/translated/stock.js:2102 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2106 +#: templates/js/translated/stock.js:2104 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2108 +#: templates/js/translated/stock.js:2106 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2111 +#: templates/js/translated/stock.js:2109 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2113 +#: templates/js/translated/stock.js:2111 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2117 +#: templates/js/translated/stock.js:2115 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2119 +#: templates/js/translated/stock.js:2117 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2124 +#: templates/js/translated/stock.js:2122 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2126 +#: templates/js/translated/stock.js:2124 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2128 +#: templates/js/translated/stock.js:2126 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2132 +#: templates/js/translated/stock.js:2130 #: templates/js/translated/table_filters.js:350 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2297 +#: templates/js/translated/stock.js:2295 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2344 +#: templates/js/translated/stock.js:2342 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2472 +#: templates/js/translated/stock.js:2470 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2576 +#: templates/js/translated/stock.js:2573 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2731 +#: templates/js/translated/stock.js:2728 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2849 +#: templates/js/translated/stock.js:2846 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2853 +#: templates/js/translated/stock.js:2850 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2865 +#: templates/js/translated/stock.js:2862 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2887 +#: templates/js/translated/stock.js:2884 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2904 +#: templates/js/translated/stock.js:2901 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2919 +#: templates/js/translated/stock.js:2916 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2936 +#: templates/js/translated/stock.js:2933 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:2950 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2972 +#: templates/js/translated/stock.js:2969 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2990 +#: templates/js/translated/stock.js:2987 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:3008 +#: templates/js/translated/stock.js:3005 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:3016 +#: templates/js/translated/stock.js:3013 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3088 +#: templates/js/translated/stock.js:3085 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3142 templates/js/translated/stock.js:3178 +#: templates/js/translated/stock.js:3139 templates/js/translated/stock.js:3175 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3200 +#: templates/js/translated/stock.js:3197 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3221 +#: templates/js/translated/stock.js:3218 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3222 +#: templates/js/translated/stock.js:3219 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3224 +#: templates/js/translated/stock.js:3221 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3225 +#: templates/js/translated/stock.js:3222 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3226 +#: templates/js/translated/stock.js:3223 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3227 +#: templates/js/translated/stock.js:3224 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3240 +#: templates/js/translated/stock.js:3237 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3303 +#: templates/js/translated/stock.js:3300 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3316 +#: templates/js/translated/stock.js:3313 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3320 +#: templates/js/translated/stock.js:3317 msgid "Change Stock Status" msgstr "" @@ -14247,34 +14286,35 @@ msgstr "" msgid "Revoked" msgstr "" -#: users/models.py:397 +#: users/models.py:384 msgid "Permission set" msgstr "" -#: users/models.py:406 +#: users/models.py:393 msgid "Group" msgstr "" -#: users/models.py:410 +#: users/models.py:397 msgid "View" msgstr "" -#: users/models.py:410 +#: users/models.py:397 msgid "Permission to view items" msgstr "" -#: users/models.py:414 +#: users/models.py:401 msgid "Permission to add items" msgstr "" -#: users/models.py:418 +#: users/models.py:405 msgid "Change" msgstr "" -#: users/models.py:420 +#: users/models.py:407 msgid "Permissions to edit items" msgstr "" -#: users/models.py:426 +#: users/models.py:413 msgid "Permission to delete items" msgstr "" + diff --git a/src/backend/InvenTree/locale/ru/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/ru/LC_MESSAGES/django.po index 21ac3756ed..41deac18d3 100644 --- a/src/backend/InvenTree/locale/ru/LC_MESSAGES/django.po +++ b/src/backend/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: 2024-05-10 05:37+0000\n" -"PO-Revision-Date: 2024-05-11 12:11\n" +"POT-Creation-Date: 2024-05-23 11:25+0000\n" +"PO-Revision-Date: 2024-05-23 11:39\n" "Last-Translator: \n" "Language-Team: Russian\n" "Language: ru_RU\n" @@ -17,11 +17,11 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 216\n" -#: InvenTree/api.py:271 +#: InvenTree/api.py:272 msgid "API endpoint not found" msgstr "Конечная точка API не обнаружена" -#: InvenTree/api.py:535 +#: InvenTree/api.py:536 msgid "User does not have permission to view this model" msgstr "У пользователя недостаточно прав для просмотра этой модели!" @@ -56,26 +56,26 @@ msgstr "Подробности об ошибке можно найти в пан msgid "Enter date" msgstr "Введите дату" -#: InvenTree/fields.py:208 InvenTree/models.py:1021 build/serializers.py:444 -#: build/serializers.py:522 build/templates/build/sidebar.html:21 +#: InvenTree/fields.py:208 InvenTree/models.py:1035 build/serializers.py:443 +#: build/serializers.py:521 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 -#: order/models.py:1283 order/templates/order/po_sidebar.html:11 +#: order/models.py:1323 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:59 -#: part/models.py:3175 part/templates/part/part_sidebar.html:63 -#: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:226 stock/models.py:2344 stock/models.py:2461 -#: stock/serializers.py:501 stock/serializers.py:659 stock/serializers.py:755 -#: stock/serializers.py:805 stock/serializers.py:1114 stock/serializers.py:1203 -#: stock/serializers.py:1368 stock/templates/stock/stock_sidebar.html:25 +#: part/models.py:3218 part/templates/part/part_sidebar.html:63 +#: report/templates/report/inventree_build_order_report.html:172 +#: stock/admin.py:226 stock/models.py:2321 stock/models.py:2438 +#: stock/serializers.py:630 stock/serializers.py:788 stock/serializers.py:884 +#: stock/serializers.py:934 stock/serializers.py:1243 stock/serializers.py:1332 +#: stock/serializers.py:1497 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1080 -#: templates/js/translated/purchase_order.js:2201 -#: templates/js/translated/return_order.js:776 -#: templates/js/translated/sales_order.js:1067 -#: templates/js/translated/sales_order.js:1982 -#: templates/js/translated/stock.js:1536 templates/js/translated/stock.js:2430 +#: templates/js/translated/purchase_order.js:2200 +#: templates/js/translated/return_order.js:775 +#: templates/js/translated/sales_order.js:1103 +#: templates/js/translated/sales_order.js:2018 +#: templates/js/translated/stock.js:1536 templates/js/translated/stock.js:2428 msgid "Notes" msgstr "Записи" @@ -132,7 +132,7 @@ msgstr "Указанный домен электронной почты не у msgid "Registration is disabled." msgstr "Регистрация отключена." -#: InvenTree/helpers.py:525 order/models.py:541 order/models.py:743 +#: InvenTree/helpers.py:525 order/models.py:563 order/models.py:765 msgid "Invalid quantity provided" msgstr "недопустимое количество" @@ -355,142 +355,142 @@ msgstr "EMail" msgid "Error running plugin validation" msgstr "Ошибка запуска проверки плагина" -#: InvenTree/models.py:162 +#: InvenTree/models.py:176 msgid "Metadata must be a python dict object" msgstr "Метаданные должны быть объектом python dict" -#: InvenTree/models.py:168 +#: InvenTree/models.py:182 msgid "Plugin Metadata" msgstr "Метаданные плагина" -#: InvenTree/models.py:169 +#: InvenTree/models.py:183 msgid "JSON metadata field, for use by external plugins" msgstr "Поле метаданных JSON для использования внешними плагинами" -#: InvenTree/models.py:399 +#: InvenTree/models.py:413 msgid "Improperly formatted pattern" msgstr "Неправильно отформатированный шаблон" -#: InvenTree/models.py:406 +#: InvenTree/models.py:420 msgid "Unknown format key specified" msgstr "Указан неизвестный ключ формата" -#: InvenTree/models.py:412 +#: InvenTree/models.py:426 msgid "Missing required format key" msgstr "Отсутствует требуемый ключ формата" -#: InvenTree/models.py:423 +#: InvenTree/models.py:437 msgid "Reference field cannot be empty" msgstr "Ссылочный идентификатор не может быть пустым" -#: InvenTree/models.py:431 +#: InvenTree/models.py:445 msgid "Reference must match required pattern" msgstr "Ссылка должна соответствовать шаблону {pattern}" -#: InvenTree/models.py:462 +#: InvenTree/models.py:476 msgid "Reference number is too large" msgstr "Номер ссылки слишком большой" -#: InvenTree/models.py:536 +#: InvenTree/models.py:550 msgid "Missing file" msgstr "Файл не найден" -#: InvenTree/models.py:537 +#: InvenTree/models.py:551 msgid "Missing external link" msgstr "Отсутствует внешняя ссылка" -#: InvenTree/models.py:558 stock/models.py:2456 +#: InvenTree/models.py:572 stock/models.py:2433 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" msgstr "Вложения" -#: InvenTree/models.py:559 +#: InvenTree/models.py:573 msgid "Select file to attach" msgstr "Выберите файл для вложения" -#: InvenTree/models.py:567 common/models.py:3026 company/models.py:146 +#: InvenTree/models.py:581 common/models.py:3032 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 -#: order/models.py:291 order/models.py:1288 order/models.py:1704 -#: part/admin.py:55 part/models.py:919 +#: order/models.py:304 order/models.py:1328 order/models.py:1744 +#: part/admin.py:55 part/models.py:962 #: part/templates/part/part_scheduling.html:11 -#: report/templates/report/inventree_build_order_base.html:164 +#: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2456 -#: templates/js/translated/purchase_order.js:2041 -#: templates/js/translated/purchase_order.js:2205 -#: templates/js/translated/return_order.js:780 -#: templates/js/translated/sales_order.js:1056 -#: templates/js/translated/sales_order.js:1987 +#: templates/js/translated/part.js:2455 +#: templates/js/translated/purchase_order.js:2040 +#: templates/js/translated/purchase_order.js:2204 +#: templates/js/translated/return_order.js:779 +#: templates/js/translated/sales_order.js:1092 +#: templates/js/translated/sales_order.js:2023 msgid "Link" msgstr "Ссылка" -#: InvenTree/models.py:568 build/models.py:321 part/models.py:920 -#: stock/models.py:819 +#: InvenTree/models.py:582 build/models.py:344 part/models.py:963 +#: stock/models.py:840 msgid "Link to external URL" msgstr "Ссылка на внешний URL" -#: InvenTree/models.py:574 templates/js/translated/attachment.js:120 +#: InvenTree/models.py:588 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:341 msgid "Comment" msgstr "Комментарий" -#: InvenTree/models.py:575 +#: InvenTree/models.py:589 msgid "File comment" msgstr "Комментарий к файлу" -#: InvenTree/models.py:583 InvenTree/models.py:584 common/models.py:2502 -#: common/models.py:2503 common/models.py:2727 common/models.py:2728 -#: common/models.py:2973 common/models.py:2974 part/models.py:3185 -#: part/models.py:3272 part/models.py:3365 part/models.py:3393 -#: plugin/models.py:250 plugin/models.py:251 -#: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3039 users/models.py:111 +#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2508 +#: common/models.py:2509 common/models.py:2733 common/models.py:2734 +#: common/models.py:2979 common/models.py:2980 part/models.py:3228 +#: part/models.py:3315 part/models.py:3408 part/models.py:3436 +#: plugin/models.py:259 plugin/models.py:260 +#: report/templates/report/inventree_test_report.html:105 +#: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" msgstr "Пользователь" -#: InvenTree/models.py:588 +#: InvenTree/models.py:602 msgid "upload date" msgstr "дата загрузки" -#: InvenTree/models.py:610 +#: InvenTree/models.py:624 msgid "Filename must not be empty" msgstr "Имя файла не должно быть пустым" -#: InvenTree/models.py:621 +#: InvenTree/models.py:635 msgid "Invalid attachment directory" msgstr "Неверная директория вложений" -#: InvenTree/models.py:651 +#: InvenTree/models.py:665 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "Имя файла содержит запрещенные символы '{c}'" -#: InvenTree/models.py:654 +#: InvenTree/models.py:668 msgid "Filename missing extension" msgstr "Отсутствует расширение для имени файла" -#: InvenTree/models.py:663 +#: InvenTree/models.py:677 msgid "Attachment with this filename already exists" msgstr "Вложение с таким именем файла уже существует" -#: InvenTree/models.py:670 +#: InvenTree/models.py:684 msgid "Error renaming file" msgstr "Ошибка переименования файла" -#: InvenTree/models.py:846 +#: InvenTree/models.py:860 msgid "Duplicate names cannot exist under the same parent" msgstr "Повторяющиеся имена не могут существовать под одним и тем же родителем" -#: InvenTree/models.py:863 +#: InvenTree/models.py:877 msgid "Invalid choice" msgstr "Неверный выбор" -#: InvenTree/models.py:893 common/models.py:2714 common/models.py:3112 -#: common/serializers.py:403 company/models.py:614 label/models.py:120 -#: machine/models.py:24 part/models.py:855 part/models.py:3616 -#: plugin/models.py:41 report/models.py:176 stock/models.py:76 +#: InvenTree/models.py:907 common/models.py:2720 common/models.py:3118 +#: common/serializers.py:403 company/models.py:614 machine/models.py:24 +#: part/models.py:898 part/models.py:3659 plugin/models.py:50 +#: report/models.py:149 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -503,22 +503,22 @@ msgstr "Неверный выбор" #: templates/js/translated/company.js:1165 #: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186 #: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2719 +#: templates/js/translated/part.js:2748 templates/js/translated/stock.js:2716 msgid "Name" msgstr "Название" -#: InvenTree/models.py:899 build/models.py:194 +#: InvenTree/models.py:913 build/models.py:217 #: build/templates/build/detail.html:24 common/models.py:136 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 label/models.py:127 -#: order/models.py:277 order/models.py:1316 part/admin.py:303 part/admin.py:414 -#: part/models.py:878 part/models.py:3631 part/templates/part/category.html:82 +#: company/templates/company/supplier_part.html:107 order/models.py:290 +#: order/models.py:1356 part/admin.py:305 part/admin.py:416 part/models.py:921 +#: part/models.py:3674 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 -#: part/templates/part/part_scheduling.html:12 report/models.py:189 -#: report/models.py:655 report/models.py:729 -#: report/templates/report/inventree_build_order_base.html:117 +#: part/templates/part/part_scheduling.html:12 report/models.py:155 +#: report/models.py:510 report/models.py:536 +#: report/templates/report/inventree_build_order_report.html:117 #: stock/admin.py:55 stock/models.py:82 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 @@ -530,71 +530,71 @@ msgstr "Название" #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 -#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2896 +#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2354 +#: templates/js/translated/part.js:2784 templates/js/translated/part.js:2895 #: templates/js/translated/plugin.js:80 -#: templates/js/translated/purchase_order.js:1707 -#: templates/js/translated/purchase_order.js:1850 -#: templates/js/translated/purchase_order.js:2023 -#: templates/js/translated/return_order.js:314 -#: templates/js/translated/sales_order.js:802 -#: templates/js/translated/sales_order.js:1812 -#: templates/js/translated/stock.js:1515 templates/js/translated/stock.js:2060 -#: templates/js/translated/stock.js:2751 templates/js/translated/stock.js:2834 +#: templates/js/translated/purchase_order.js:1706 +#: templates/js/translated/purchase_order.js:1849 +#: templates/js/translated/purchase_order.js:2022 +#: templates/js/translated/return_order.js:313 +#: templates/js/translated/sales_order.js:838 +#: templates/js/translated/sales_order.js:1848 +#: templates/js/translated/stock.js:1515 templates/js/translated/stock.js:2058 +#: templates/js/translated/stock.js:2748 templates/js/translated/stock.js:2831 msgid "Description" msgstr "Описание" -#: InvenTree/models.py:900 stock/models.py:83 +#: InvenTree/models.py:914 stock/models.py:83 msgid "Description (optional)" msgstr "Описание (необязательно)" -#: InvenTree/models.py:909 +#: InvenTree/models.py:923 msgid "parent" msgstr "родитель" -#: InvenTree/models.py:915 templates/js/translated/part.js:2794 -#: templates/js/translated/stock.js:2760 +#: InvenTree/models.py:929 templates/js/translated/part.js:2793 +#: templates/js/translated/stock.js:2757 msgid "Path" msgstr "Путь" -#: InvenTree/models.py:1021 +#: InvenTree/models.py:1035 msgid "Markdown notes (optional)" msgstr "Записи о скидке (необязательно)" -#: InvenTree/models.py:1050 +#: InvenTree/models.py:1064 msgid "Barcode Data" msgstr "Данные штрих-кода" -#: InvenTree/models.py:1051 +#: InvenTree/models.py:1065 msgid "Third party barcode data" msgstr "Данные стороннего штрих-кода" -#: InvenTree/models.py:1057 +#: InvenTree/models.py:1071 msgid "Barcode Hash" msgstr "Хэш штрих-кода" -#: InvenTree/models.py:1058 +#: InvenTree/models.py:1072 msgid "Unique hash of barcode data" msgstr "Уникальный хэш данных штрих-кода" -#: InvenTree/models.py:1111 +#: InvenTree/models.py:1125 msgid "Existing barcode found" msgstr "Обнаружен существующий штрих-код" -#: InvenTree/models.py:1154 +#: InvenTree/models.py:1168 msgid "Server Error" msgstr "Ошибка сервера" -#: InvenTree/models.py:1155 +#: InvenTree/models.py:1169 msgid "An error has been logged by the server." msgstr "Сервер зарегистрировал ошибку." -#: InvenTree/serializers.py:62 part/models.py:4169 +#: InvenTree/serializers.py:62 part/models.py:4212 msgid "Must be a valid number" msgstr "Должно быть действительным номером" #: InvenTree/serializers.py:99 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:2993 +#: company/templates/company/company_base.html:112 part/models.py:3036 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -686,7 +686,7 @@ msgstr "ССЫЛКА файла изображения на удаленном msgid "Downloading images from remote URL is not enabled" msgstr "Загрузка изображений с удаленного URL-адреса не включена" -#: InvenTree/status.py:66 part/serializers.py:1161 +#: InvenTree/status.py:66 part/serializers.py:1176 msgid "Background worker check failed" msgstr "Проверка фонового работника не удалась" @@ -699,8 +699,8 @@ msgid "InvenTree system health checks failed" msgstr "Ошибка проверки состояния системы InvenTree" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:37 -#: InvenTree/status_codes.py:148 InvenTree/status_codes.py:164 -#: InvenTree/status_codes.py:182 generic/states/tests.py:17 +#: InvenTree/status_codes.py:149 InvenTree/status_codes.py:165 +#: InvenTree/status_codes.py:183 generic/states/tests.py:17 #: templates/js/translated/table_filters.js:598 msgid "Pending" msgstr "Ожидаемый" @@ -709,188 +709,188 @@ msgstr "Ожидаемый" msgid "Placed" msgstr "Размещены" -#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:151 -#: InvenTree/status_codes.py:169 generic/states/tests.py:19 -#: order/templates/order/order_base.html:158 -#: order/templates/order/sales_order_base.html:161 +#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:44 +#: InvenTree/status_codes.py:152 InvenTree/status_codes.py:170 +#: generic/states/tests.py:19 order/templates/order/order_base.html:158 +#: order/templates/order/sales_order_base.html:165 report/models.py:444 msgid "Complete" msgstr "Готово" -#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:44 -#: InvenTree/status_codes.py:150 InvenTree/status_codes.py:170 +#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:45 +#: InvenTree/status_codes.py:151 InvenTree/status_codes.py:171 msgid "Cancelled" msgstr "Отменено" -#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:45 -#: InvenTree/status_codes.py:67 +#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:46 +#: InvenTree/status_codes.py:68 msgid "Lost" msgstr "Потерян" -#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:46 -#: InvenTree/status_codes.py:73 +#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:47 +#: InvenTree/status_codes.py:74 msgid "Returned" msgstr "Возвращено" -#: InvenTree/status_codes.py:40 InvenTree/status_codes.py:167 +#: InvenTree/status_codes.py:40 InvenTree/status_codes.py:168 msgid "In Progress" msgstr "Выполняется" -#: InvenTree/status_codes.py:43 order/models.py:1566 -#: templates/js/translated/sales_order.js:1523 -#: templates/js/translated/sales_order.js:1644 -#: templates/js/translated/sales_order.js:1957 +#: InvenTree/status_codes.py:43 order/models.py:1606 +#: templates/js/translated/sales_order.js:1559 +#: templates/js/translated/sales_order.js:1680 +#: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "Доставлено" -#: InvenTree/status_codes.py:62 +#: InvenTree/status_codes.py:63 msgid "OK" msgstr "Да" -#: InvenTree/status_codes.py:63 +#: InvenTree/status_codes.py:64 msgid "Attention needed" msgstr "Требует внимания" -#: InvenTree/status_codes.py:64 +#: InvenTree/status_codes.py:65 msgid "Damaged" msgstr "Поврежденный" -#: InvenTree/status_codes.py:65 +#: InvenTree/status_codes.py:66 msgid "Destroyed" msgstr "Разрушено" -#: InvenTree/status_codes.py:66 +#: InvenTree/status_codes.py:67 msgid "Rejected" msgstr "Отклоненный" -#: InvenTree/status_codes.py:70 +#: InvenTree/status_codes.py:71 msgid "Quarantined" msgstr "Карантин" -#: InvenTree/status_codes.py:91 +#: InvenTree/status_codes.py:92 msgid "Legacy stock tracking entry" msgstr "Отслеживание устаревших запасов" -#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:544 +#: InvenTree/status_codes.py:94 templates/js/translated/stock.js:544 msgid "Stock item created" msgstr "Складская позиция создана" -#: InvenTree/status_codes.py:96 +#: InvenTree/status_codes.py:97 msgid "Edited stock item" msgstr "Отредактированная складская позиция" -#: InvenTree/status_codes.py:97 +#: InvenTree/status_codes.py:98 msgid "Assigned serial number" msgstr "Присвоенный серийный номер" -#: InvenTree/status_codes.py:100 +#: InvenTree/status_codes.py:101 msgid "Stock counted" msgstr "Новое значение запасов установлено" -#: InvenTree/status_codes.py:101 +#: InvenTree/status_codes.py:102 msgid "Stock manually added" msgstr "Запасы, добавленные вручную" -#: InvenTree/status_codes.py:102 +#: InvenTree/status_codes.py:103 msgid "Stock manually removed" msgstr "Запасы удаленные вручную" -#: InvenTree/status_codes.py:105 +#: InvenTree/status_codes.py:106 msgid "Location changed" msgstr "Место хранения изменено" -#: InvenTree/status_codes.py:106 +#: InvenTree/status_codes.py:107 msgid "Stock updated" msgstr "Запас обновлен" -#: InvenTree/status_codes.py:109 +#: InvenTree/status_codes.py:110 msgid "Installed into assembly" msgstr "Установленно в производимую деталь" -#: InvenTree/status_codes.py:110 +#: InvenTree/status_codes.py:111 msgid "Removed from assembly" msgstr "Удалено из производимой детали" -#: InvenTree/status_codes.py:112 +#: InvenTree/status_codes.py:113 msgid "Installed component item" msgstr "Установленный компонент" -#: InvenTree/status_codes.py:113 +#: InvenTree/status_codes.py:114 msgid "Removed component item" msgstr "Удаленный компонент" -#: InvenTree/status_codes.py:116 +#: InvenTree/status_codes.py:117 msgid "Split from parent item" msgstr "Отделить от родительского элемента" -#: InvenTree/status_codes.py:117 +#: InvenTree/status_codes.py:118 msgid "Split child item" msgstr "Разбить дочерний элемент" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1858 +#: InvenTree/status_codes.py:121 templates/js/translated/stock.js:1858 msgid "Merged stock items" msgstr "Объединенные складские позиции" -#: InvenTree/status_codes.py:123 +#: InvenTree/status_codes.py:124 msgid "Converted to variant" msgstr "Преобразовать в разновидность" -#: InvenTree/status_codes.py:126 +#: InvenTree/status_codes.py:127 msgid "Build order output created" msgstr "Создан выход продукции для этого заказа на производство" -#: InvenTree/status_codes.py:127 +#: InvenTree/status_codes.py:128 msgid "Build order output completed" msgstr "Продукция заказа на производство завершена" -#: InvenTree/status_codes.py:128 +#: InvenTree/status_codes.py:129 msgid "Build order output rejected" msgstr "Продукция заказа на производство отклонена" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1764 +#: InvenTree/status_codes.py:130 templates/js/translated/stock.js:1764 msgid "Consumed by build order" msgstr "Поглощен заказом на производство" -#: InvenTree/status_codes.py:132 +#: InvenTree/status_codes.py:133 msgid "Shipped against Sales Order" msgstr "Отгружено по заказу на продажу" -#: InvenTree/status_codes.py:135 +#: InvenTree/status_codes.py:136 msgid "Received against Purchase Order" msgstr "Получено по заказу на поставку" -#: InvenTree/status_codes.py:138 +#: InvenTree/status_codes.py:139 msgid "Returned against Return Order" msgstr "Возвращено по заказу на возврат" -#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:375 +#: InvenTree/status_codes.py:142 templates/js/translated/table_filters.js:375 msgid "Sent to customer" msgstr "Отправлено клиенту" -#: InvenTree/status_codes.py:142 +#: InvenTree/status_codes.py:143 msgid "Returned from customer" msgstr "Возвращено от клиента" -#: InvenTree/status_codes.py:149 +#: InvenTree/status_codes.py:150 msgid "Production" msgstr "Продукция" -#: InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:186 msgid "Return" msgstr "Возврат" -#: InvenTree/status_codes.py:188 +#: InvenTree/status_codes.py:189 msgid "Repair" msgstr "Починить" -#: InvenTree/status_codes.py:191 +#: InvenTree/status_codes.py:192 msgid "Replace" msgstr "Заменить" -#: InvenTree/status_codes.py:194 +#: InvenTree/status_codes.py:195 msgid "Refund" msgstr "Возврат" -#: InvenTree/status_codes.py:197 +#: InvenTree/status_codes.py:198 msgid "Reject" msgstr "Отклонить" @@ -946,14 +946,14 @@ msgstr "О программе InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Заказ на производство должен быть отменен перед удалением" -#: build/api.py:299 part/models.py:4047 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4090 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "Расходники" -#: build/api.py:300 part/models.py:4041 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4084 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -969,7 +969,7 @@ msgstr "Отслеживается" #: build/api.py:303 part/admin.py:144 templates/js/translated/build.js:1744 #: templates/js/translated/build.js:2629 -#: templates/js/translated/sales_order.js:1929 +#: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "Зарезервировано" @@ -980,7 +980,7 @@ msgstr "Зарезервировано" #: templates/email/low_stock_notification.html:17 #: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 #: templates/js/translated/index.js:123 -#: templates/js/translated/model_renderers.js:228 +#: templates/js/translated/model_renderers.js:234 #: templates/js/translated/part.js:692 templates/js/translated/part.js:694 #: templates/js/translated/part.js:699 #: templates/js/translated/table_filters.js:340 @@ -988,16 +988,16 @@ msgstr "Зарезервировано" msgid "Available" msgstr "Доступно" -#: build/models.py:74 build/templates/build/build_base.html:9 +#: build/models.py:82 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 -#: report/templates/report/inventree_build_order_base.html:105 -#: templates/email/build_order_completed.html:16 +#: report/templates/report/inventree_build_order_report.html:105 +#: stock/serializers.py:83 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2895 +#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2892 msgid "Build Order" msgstr "Заказ на производство" -#: build/models.py:75 build/templates/build/build_base.html:13 +#: build/models.py:83 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -1008,71 +1008,71 @@ msgstr "Заказ на производство" msgid "Build Orders" msgstr "Заказы на производство" -#: build/models.py:122 +#: build/models.py:130 msgid "Invalid choice for parent build" msgstr "Неверный выбор для родительской сборки" -#: build/models.py:133 order/models.py:239 +#: build/models.py:141 order/models.py:241 msgid "Responsible user or group must be specified" msgstr "Должен быть указан ответственный пользователь или группа" -#: build/models.py:139 +#: build/models.py:147 msgid "Build order part cannot be changed" msgstr "Деталь заказа на производства не может быть изменена" -#: build/models.py:185 +#: build/models.py:208 msgid "Build Order Reference" msgstr "Ссылка на заказ на производство" -#: build/models.py:186 order/models.py:442 order/models.py:898 -#: order/models.py:1276 order/models.py:1998 part/admin.py:417 -#: part/models.py:4062 part/templates/part/upload_bom.html:54 +#: build/models.py:209 order/models.py:464 order/models.py:929 +#: order/models.py:1316 order/models.py:2047 part/admin.py:419 +#: part/models.py:4105 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 -#: report/templates/report/inventree_so_report_base.html:28 +#: report/templates/report/inventree_purchase_order_report.html:28 +#: report/templates/report/inventree_return_order_report.html:26 +#: report/templates/report/inventree_sales_order_report.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 #: templates/js/translated/build.js:2512 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 -#: templates/js/translated/purchase_order.js:2066 -#: templates/js/translated/return_order.js:729 -#: templates/js/translated/sales_order.js:1818 +#: templates/js/translated/purchase_order.js:2065 +#: templates/js/translated/return_order.js:728 +#: templates/js/translated/sales_order.js:1854 msgid "Reference" msgstr "Отсылка" -#: build/models.py:197 +#: build/models.py:220 msgid "Brief description of the build (optional)" msgstr "Краткое описание заказа на производство (необязательно)" -#: build/models.py:205 build/templates/build/build_base.html:183 +#: build/models.py:228 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Родительский заказ на производство" -#: build/models.py:206 +#: build/models.py:229 msgid "BuildOrder to which this build is allocated" msgstr "Заказ на производство, которому принадлежит этот заказ на производство" -#: build/models.py:211 build/templates/build/build_base.html:97 +#: build/models.py:234 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 -#: order/models.py:1401 order/models.py:1546 order/models.py:1547 -#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004 -#: part/models.py:3148 part/models.py:3292 part/models.py:3315 -#: part/models.py:3336 part/models.py:3358 part/models.py:3468 -#: part/models.py:3764 part/models.py:3920 part/models.py:4013 -#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713 +#: order/models.py:1441 order/models.py:1586 order/models.py:1587 +#: part/api.py:1501 part/api.py:1795 part/models.py:392 part/models.py:3047 +#: part/models.py:3191 part/models.py:3335 part/models.py:3358 +#: part/models.py:3379 part/models.py:3401 part/models.py:3511 +#: part/models.py:3807 part/models.py:3963 part/models.py:4056 +#: part/models.py:4417 part/serializers.py:1122 part/serializers.py:1728 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 -#: report/templates/report/inventree_build_order_base.html:109 -#: report/templates/report/inventree_po_report_base.html:27 -#: report/templates/report/inventree_return_order_report_base.html:24 -#: report/templates/report/inventree_slr_report.html:102 -#: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:267 stock/serializers.py:689 -#: templates/InvenTree/search.html:82 +#: report/templates/report/inventree_build_order_report.html:109 +#: report/templates/report/inventree_purchase_order_report.html:27 +#: report/templates/report/inventree_return_order_report.html:24 +#: report/templates/report/inventree_sales_order_report.html:27 +#: report/templates/report/inventree_stock_location_report.html:102 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:396 +#: stock/serializers.py:818 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -1086,235 +1086,239 @@ msgstr "Заказ на производство, которому принад #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 #: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 -#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:2323 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:751 #: templates/js/translated/purchase_order.js:1304 -#: templates/js/translated/purchase_order.js:1849 -#: templates/js/translated/purchase_order.js:2008 -#: templates/js/translated/return_order.js:539 -#: templates/js/translated/return_order.js:710 +#: templates/js/translated/purchase_order.js:1848 +#: templates/js/translated/purchase_order.js:2007 +#: templates/js/translated/return_order.js:538 +#: templates/js/translated/return_order.js:709 #: templates/js/translated/sales_order.js:300 -#: templates/js/translated/sales_order.js:1197 -#: templates/js/translated/sales_order.js:1598 -#: templates/js/translated/sales_order.js:1796 +#: templates/js/translated/sales_order.js:1233 +#: templates/js/translated/sales_order.js:1634 +#: templates/js/translated/sales_order.js:1832 #: templates/js/translated/stock.js:676 templates/js/translated/stock.js:842 -#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1999 -#: templates/js/translated/stock.js:2860 templates/js/translated/stock.js:3093 -#: templates/js/translated/stock.js:3239 +#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1997 +#: templates/js/translated/stock.js:2857 templates/js/translated/stock.js:3090 +#: templates/js/translated/stock.js:3236 msgid "Part" msgstr "Деталь" -#: build/models.py:219 +#: build/models.py:242 msgid "Select part to build" msgstr "Выберите деталь для производства" -#: build/models.py:224 +#: build/models.py:247 msgid "Sales Order Reference" msgstr "Ссылка на заказ" -#: build/models.py:228 +#: build/models.py:251 msgid "SalesOrder to which this build is allocated" msgstr "Заказ на продажу, которому принадлежит этот заказ на производство" -#: build/models.py:233 build/serializers.py:970 +#: build/models.py:256 build/serializers.py:969 #: templates/js/translated/build.js:1731 -#: templates/js/translated/sales_order.js:1185 +#: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "Место хранения - источник" -#: build/models.py:237 +#: build/models.py:260 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Выберите место хранения для этого заказа на производство (оставьте пустым, чтобы взять с любого места на складе)" -#: build/models.py:242 +#: build/models.py:265 msgid "Destination Location" msgstr "Место хранения результата" -#: build/models.py:246 +#: build/models.py:269 msgid "Select location where the completed items will be stored" msgstr "Выберите место хранения завершенных элементов" -#: build/models.py:250 +#: build/models.py:273 msgid "Build Quantity" msgstr "Количество производимых деталей" -#: build/models.py:253 +#: build/models.py:276 msgid "Number of stock items to build" msgstr "Количество складских позиций для производства" -#: build/models.py:257 +#: build/models.py:280 msgid "Completed items" msgstr "Произведенные детали" -#: build/models.py:259 +#: build/models.py:282 msgid "Number of stock items which have been completed" msgstr "Количество складских позиций, которые были произведены" -#: build/models.py:263 +#: build/models.py:286 msgid "Build Status" msgstr "Статус заказа на производство" -#: build/models.py:267 +#: build/models.py:290 msgid "Build status code" msgstr "Код статуса заказа на производство" -#: build/models.py:276 build/serializers.py:278 order/serializers.py:581 -#: stock/models.py:823 stock/serializers.py:1333 +#: build/models.py:299 build/serializers.py:277 order/serializers.py:581 +#: stock/models.py:844 stock/serializers.py:75 stock/serializers.py:1462 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Код партии" -#: build/models.py:280 build/serializers.py:279 +#: build/models.py:303 build/serializers.py:278 msgid "Batch code for this build output" msgstr "Код партии для продукции" -#: build/models.py:283 order/models.py:304 order/serializers.py:120 -#: part/models.py:1079 part/templates/part/part_base.html:310 -#: templates/js/translated/return_order.js:339 -#: templates/js/translated/sales_order.js:827 +#: build/models.py:306 order/models.py:317 order/serializers.py:120 +#: part/models.py:1122 part/templates/part/part_base.html:310 +#: templates/js/translated/return_order.js:338 +#: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "Дата создания" -#: build/models.py:287 +#: build/models.py:310 msgid "Target completion date" msgstr "Целевая дата завершения" -#: build/models.py:288 +#: build/models.py:311 msgid "Target date for build completion. Build will be overdue after this date." msgstr "Целевая дата для заказа на производства. Заказ будет просрочен после этой даты." -#: build/models.py:291 order/models.py:500 order/models.py:2043 +#: build/models.py:314 order/models.py:522 order/models.py:2092 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "Дата завершения" -#: build/models.py:297 +#: build/models.py:320 msgid "completed by" msgstr "выполнено" -#: build/models.py:305 templates/js/translated/build.js:2207 +#: build/models.py:328 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "Создано" -#: build/models.py:306 +#: build/models.py:329 msgid "User who issued this build order" msgstr "Пользователь, создавший этот заказ на производство" -#: build/models.py:314 build/templates/build/build_base.html:204 +#: build/models.py:337 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:145 -#: order/models.py:322 order/templates/order/order_base.html:217 +#: order/models.py:335 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1096 +#: order/templates/order/sales_order_base.html:232 part/models.py:1139 #: part/templates/part/part_base.html:390 -#: report/templates/report/inventree_build_order_base.html:158 +#: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 #: templates/js/translated/build.js:2219 -#: templates/js/translated/purchase_order.js:1764 -#: templates/js/translated/return_order.js:359 +#: templates/js/translated/purchase_order.js:1763 +#: templates/js/translated/return_order.js:358 #: templates/js/translated/table_filters.js:531 msgid "Responsible" msgstr "Ответственный" -#: build/models.py:315 +#: build/models.py:338 msgid "User or group responsible for this build order" msgstr "Пользователь, ответственный за этот заказ на производство" -#: build/models.py:320 build/templates/build/detail.html:108 +#: build/models.py:343 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 -#: order/templates/order/sales_order_base.html:180 -#: part/templates/part/part_base.html:383 stock/models.py:819 +#: order/templates/order/sales_order_base.html:184 +#: part/templates/part/part_base.html:383 stock/models.py:840 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "Внешняя ссылка" -#: build/models.py:325 +#: build/models.py:348 msgid "Build Priority" msgstr "Приоритет производства" -#: build/models.py:328 +#: build/models.py:351 msgid "Priority of this build order" msgstr "Приоритет этого заказа на производство" -#: build/models.py:335 common/models.py:129 order/admin.py:18 -#: order/models.py:286 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:358 common/models.py:129 order/admin.py:18 +#: order/models.py:299 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 -#: templates/js/translated/purchase_order.js:1711 -#: templates/js/translated/return_order.js:318 -#: templates/js/translated/sales_order.js:806 +#: templates/js/translated/purchase_order.js:1710 +#: templates/js/translated/return_order.js:317 +#: templates/js/translated/sales_order.js:842 #: templates/js/translated/table_filters.js:48 #: templates/project_code_data.html:6 msgid "Project Code" msgstr "Код проекта" -#: build/models.py:336 +#: build/models.py:359 msgid "Project code for this build order" msgstr "Код проекта для этого заказа на производство" -#: build/models.py:566 build/models.py:631 +#: build/models.py:589 build/models.py:654 msgid "Failed to offload task to complete build allocations" msgstr "Не удалось выгрузить задачу для распределения на сборку" -#: build/models.py:588 +#: build/models.py:611 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Заказ на производство {build} был завершен" -#: build/models.py:594 +#: build/models.py:617 msgid "A build order has been completed" msgstr "Заказ на производство был завершен" -#: build/models.py:820 build/models.py:895 +#: build/models.py:843 build/models.py:918 msgid "No build output specified" msgstr "Продукция не указана" -#: build/models.py:823 +#: build/models.py:846 msgid "Build output is already completed" msgstr "Продукция уже произведена" -#: build/models.py:826 +#: build/models.py:849 msgid "Build output does not match Build Order" msgstr "Продукция не совпадает с заказом на производство" -#: build/models.py:899 build/serializers.py:221 build/serializers.py:260 -#: build/serializers.py:837 order/models.py:538 order/serializers.py:433 -#: order/serializers.py:576 part/serializers.py:1471 part/serializers.py:1871 -#: stock/models.py:662 stock/models.py:1482 stock/serializers.py:472 +#: build/models.py:922 build/serializers.py:220 build/serializers.py:259 +#: build/serializers.py:836 order/models.py:560 order/serializers.py:433 +#: order/serializers.py:576 part/serializers.py:1486 part/serializers.py:1886 +#: stock/models.py:683 stock/models.py:1503 stock/serializers.py:601 msgid "Quantity must be greater than zero" msgstr "Количество должно быть больше нуля" -#: build/models.py:904 build/serializers.py:226 +#: build/models.py:927 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "Количество не может быть больше количества продукции" -#: build/models.py:961 build/serializers.py:539 +#: build/models.py:984 build/serializers.py:538 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "Сборка {serial} не прошла все необходимые тесты" -#: build/models.py:1323 +#: build/models.py:1335 +msgid "Build Order Line Item" +msgstr "" + +#: build/models.py:1360 msgid "Build object" msgstr "Объект производства" -#: build/models.py:1337 build/models.py:1593 build/serializers.py:208 -#: build/serializers.py:245 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2524 -#: order/models.py:1259 order/models.py:1918 order/serializers.py:1339 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 -#: part/forms.py:48 part/models.py:3162 part/models.py:4035 +#: build/models.py:1374 build/models.py:1630 build/serializers.py:207 +#: build/serializers.py:244 build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2530 +#: order/models.py:1299 order/models.py:1958 order/serializers.py:1339 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 +#: part/forms.py:48 part/models.py:3205 part/models.py:4078 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 -#: report/templates/report/inventree_build_order_base.html:113 -#: report/templates/report/inventree_po_report_base.html:29 -#: report/templates/report/inventree_slr_report.html:104 -#: report/templates/report/inventree_so_report_base.html:29 -#: report/templates/report/inventree_test_report_base.html:90 -#: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:160 stock/serializers.py:463 +#: report/templates/report/inventree_build_order_report.html:113 +#: report/templates/report/inventree_purchase_order_report.html:29 +#: report/templates/report/inventree_sales_order_report.html:29 +#: report/templates/report/inventree_stock_location_report.html:104 +#: report/templates/report/inventree_test_report.html:90 +#: report/templates/report/inventree_test_report.html:170 stock/admin.py:160 +#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:592 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1324,380 +1328,381 @@ msgstr "Объект производства" #: templates/js/translated/build.js:737 templates/js/translated/build.js:1369 #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 -#: templates/js/translated/model_renderers.js:230 +#: templates/js/translated/model_renderers.js:236 #: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3341 +#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3340 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 #: templates/js/translated/purchase_order.js:754 -#: templates/js/translated/purchase_order.js:1853 -#: templates/js/translated/purchase_order.js:2072 +#: templates/js/translated/purchase_order.js:1852 +#: templates/js/translated/purchase_order.js:2071 #: templates/js/translated/sales_order.js:317 -#: templates/js/translated/sales_order.js:1199 -#: templates/js/translated/sales_order.js:1518 -#: templates/js/translated/sales_order.js:1608 -#: templates/js/translated/sales_order.js:1698 -#: templates/js/translated/sales_order.js:1824 +#: templates/js/translated/sales_order.js:1235 +#: templates/js/translated/sales_order.js:1554 +#: templates/js/translated/sales_order.js:1644 +#: templates/js/translated/sales_order.js:1734 +#: templates/js/translated/sales_order.js:1860 #: templates/js/translated/stock.js:564 templates/js/translated/stock.js:702 -#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:3024 -#: templates/js/translated/stock.js:3107 +#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:3021 +#: templates/js/translated/stock.js:3104 msgid "Quantity" msgstr "Количество" -#: build/models.py:1338 +#: build/models.py:1375 msgid "Required quantity for build order" msgstr "Требуемое количество для заказа на производство" -#: build/models.py:1418 +#: build/models.py:1455 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Элемент производства должен указать продукцию, как главную деталь помеченную как отслеживаемая" -#: build/models.py:1427 +#: build/models.py:1464 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Резервируемое количество ({q}) не должно превышать доступное количество на складе ({a})" -#: build/models.py:1437 order/models.py:1869 +#: build/models.py:1474 order/models.py:1909 msgid "Stock item is over-allocated" msgstr "Складская позиция перераспределена" -#: build/models.py:1443 order/models.py:1872 +#: build/models.py:1480 order/models.py:1912 msgid "Allocation quantity must be greater than zero" msgstr "Резервируемое количество должно быть больше нуля" -#: build/models.py:1449 +#: build/models.py:1486 msgid "Quantity must be 1 for serialized stock" msgstr "Количество должно быть 1 для сериализованных запасов" -#: build/models.py:1508 +#: build/models.py:1545 msgid "Selected stock item does not match BOM line" msgstr "Выбранная складская позиция не соответствует позиции в BOM" -#: build/models.py:1580 build/serializers.py:817 order/serializers.py:1183 -#: order/serializers.py:1204 stock/serializers.py:566 stock/serializers.py:1052 -#: stock/serializers.py:1164 stock/templates/stock/item_base.html:10 +#: build/models.py:1617 build/serializers.py:816 order/serializers.py:1183 +#: order/serializers.py:1204 stock/models.py:364 stock/serializers.py:92 +#: stock/serializers.py:695 stock/serializers.py:1181 stock/serializers.py:1293 +#: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 #: templates/js/translated/build.js:1745 #: templates/js/translated/sales_order.js:301 -#: templates/js/translated/sales_order.js:1198 -#: templates/js/translated/sales_order.js:1499 -#: templates/js/translated/sales_order.js:1504 -#: templates/js/translated/sales_order.js:1605 -#: templates/js/translated/sales_order.js:1692 +#: templates/js/translated/sales_order.js:1234 +#: templates/js/translated/sales_order.js:1535 +#: templates/js/translated/sales_order.js:1540 +#: templates/js/translated/sales_order.js:1641 +#: templates/js/translated/sales_order.js:1728 #: templates/js/translated/stock.js:677 templates/js/translated/stock.js:843 -#: templates/js/translated/stock.js:2980 +#: templates/js/translated/stock.js:2977 msgid "Stock Item" msgstr "Складская позиция" -#: build/models.py:1581 +#: build/models.py:1618 msgid "Source stock item" msgstr "Исходная складская позиция" -#: build/models.py:1594 +#: build/models.py:1631 msgid "Stock quantity to allocate to build" msgstr "Количество на складе для производства" -#: build/models.py:1602 +#: build/models.py:1639 msgid "Install into" msgstr "Установить в" -#: build/models.py:1603 +#: build/models.py:1640 msgid "Destination stock item" msgstr "Целевая складская позиция" -#: build/serializers.py:158 build/serializers.py:846 +#: build/serializers.py:157 build/serializers.py:845 #: templates/js/translated/build.js:1322 msgid "Build Output" msgstr "Выход Продукции" -#: build/serializers.py:170 +#: build/serializers.py:169 msgid "Build output does not match the parent build" msgstr "Продукция не совпадает с родительским заказом на производство" -#: build/serializers.py:174 +#: build/serializers.py:173 msgid "Output part does not match BuildOrder part" msgstr "Продукция не соответствует детали заказа на производство" -#: build/serializers.py:178 +#: build/serializers.py:177 msgid "This build output has already been completed" msgstr "Эта продукция уже помечена как завершенная" -#: build/serializers.py:189 +#: build/serializers.py:188 msgid "This build output is not fully allocated" msgstr "Сырье для этой продукции не полностью зарезервировано" -#: build/serializers.py:209 build/serializers.py:246 +#: build/serializers.py:208 build/serializers.py:245 msgid "Enter quantity for build output" msgstr "Введите количество продукции" -#: build/serializers.py:267 +#: build/serializers.py:266 msgid "Integer quantity required for trackable parts" msgstr "Для отслеживаемых деталей должно быть указано целочисленное количество" -#: build/serializers.py:270 +#: build/serializers.py:269 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Требуется целое количество, так как материал содержит отслеживаемые детали" -#: build/serializers.py:285 order/serializers.py:589 order/serializers.py:1343 -#: stock/serializers.py:483 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:284 order/serializers.py:589 order/serializers.py:1343 +#: stock/serializers.py:612 templates/js/translated/purchase_order.js:1153 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "Серийные номера" -#: build/serializers.py:286 +#: build/serializers.py:285 msgid "Enter serial numbers for build outputs" msgstr "Введите серийные номера для продукции" -#: build/serializers.py:291 build/serializers.py:432 build/serializers.py:504 +#: build/serializers.py:290 build/serializers.py:431 build/serializers.py:503 #: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1679 -#: part/serializers.py:1127 stock/serializers.py:494 stock/serializers.py:654 -#: stock/serializers.py:750 stock/serializers.py:1196 stock/serializers.py:1452 -#: stock/templates/stock/item_base.html:394 +#: part/serializers.py:1142 stock/serializers.py:101 stock/serializers.py:623 +#: stock/serializers.py:783 stock/serializers.py:879 stock/serializers.py:1325 +#: stock/serializers.py:1581 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 #: templates/js/translated/purchase_order.js:1178 #: templates/js/translated/purchase_order.js:1268 -#: templates/js/translated/sales_order.js:1511 -#: templates/js/translated/sales_order.js:1619 -#: templates/js/translated/sales_order.js:1627 -#: templates/js/translated/sales_order.js:1706 +#: templates/js/translated/sales_order.js:1547 +#: templates/js/translated/sales_order.js:1655 +#: templates/js/translated/sales_order.js:1663 +#: templates/js/translated/sales_order.js:1742 #: templates/js/translated/stock.js:678 templates/js/translated/stock.js:844 -#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2203 -#: templates/js/translated/stock.js:2874 +#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2201 +#: templates/js/translated/stock.js:2871 msgid "Location" msgstr "Расположение" -#: build/serializers.py:292 +#: build/serializers.py:291 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:306 +#: build/serializers.py:305 msgid "Auto Allocate Serial Numbers" msgstr "Автоматически выделить серийные номера" -#: build/serializers.py:307 +#: build/serializers.py:306 msgid "Automatically allocate required items with matching serial numbers" msgstr "Автоматически зарезервировать необходимые элементы с соответствующими серийными номерами" -#: build/serializers.py:322 +#: build/serializers.py:321 msgid "Serial numbers must be provided for trackable parts" msgstr "Для отслеживаемых частей должны быть указаны серийные номера" -#: build/serializers.py:347 stock/api.py:995 +#: build/serializers.py:346 stock/api.py:1029 msgid "The following serial numbers already exist or are invalid" msgstr "Следующие серийные номера уже существуют или недействительны" -#: build/serializers.py:394 build/serializers.py:456 build/serializers.py:545 +#: build/serializers.py:393 build/serializers.py:455 build/serializers.py:544 msgid "A list of build outputs must be provided" msgstr "Необходимо представить список выхода деталей" -#: build/serializers.py:433 +#: build/serializers.py:432 msgid "Stock location for scrapped outputs" msgstr "Место хранения для списанной продукции" -#: build/serializers.py:439 +#: build/serializers.py:438 msgid "Discard Allocations" msgstr "Отменить резервирование" -#: build/serializers.py:440 +#: build/serializers.py:439 msgid "Discard any stock allocations for scrapped outputs" msgstr "Отменить все резервы запасов для списанной продукции" -#: build/serializers.py:445 +#: build/serializers.py:444 msgid "Reason for scrapping build output(s)" msgstr "Причина списания продукции" -#: build/serializers.py:505 +#: build/serializers.py:504 msgid "Location for completed build outputs" msgstr "Место хранения для завершенной продукции" -#: build/serializers.py:511 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:922 -#: order/models.py:2022 order/serializers.py:597 stock/admin.py:165 -#: stock/serializers.py:801 stock/serializers.py:1340 +#: build/serializers.py:510 build/templates/build/build_base.html:151 +#: build/templates/build/detail.html:62 order/models.py:953 +#: order/models.py:2071 order/serializers.py:597 stock/admin.py:165 +#: stock/serializers.py:930 stock/serializers.py:1469 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 -#: templates/js/translated/purchase_order.js:1723 -#: templates/js/translated/return_order.js:331 -#: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2178 templates/js/translated/stock.js:2998 -#: templates/js/translated/stock.js:3123 +#: templates/js/translated/purchase_order.js:1722 +#: templates/js/translated/return_order.js:330 +#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/stock.js:2176 templates/js/translated/stock.js:2995 +#: templates/js/translated/stock.js:3120 msgid "Status" msgstr "Статус" -#: build/serializers.py:517 +#: build/serializers.py:516 msgid "Accept Incomplete Allocation" msgstr "Разрешить неполное резервирование" -#: build/serializers.py:518 +#: build/serializers.py:517 msgid "Complete outputs if stock has not been fully allocated" msgstr "Завершить продукцию, если запасы не были полностью распределены" -#: build/serializers.py:598 +#: build/serializers.py:597 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:599 +#: build/serializers.py:598 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:605 +#: build/serializers.py:604 msgid "Remove Incomplete Outputs" msgstr "Удалить незавершенную продукцию" -#: build/serializers.py:606 +#: build/serializers.py:605 msgid "Delete any build outputs which have not been completed" msgstr "Удалить всю незавершенную продукцию" -#: build/serializers.py:633 +#: build/serializers.py:632 msgid "Not permitted" msgstr "Запрещено" -#: build/serializers.py:634 +#: build/serializers.py:633 msgid "Accept as consumed by this build order" msgstr "Принять как поглощенный этим заказом на производство" -#: build/serializers.py:635 +#: build/serializers.py:634 msgid "Deallocate before completing this build order" msgstr "Отменить резерв, до завершения заказа на производство" -#: build/serializers.py:657 +#: build/serializers.py:656 msgid "Overallocated Stock" msgstr "Перераспределенные запасы" -#: build/serializers.py:659 +#: build/serializers.py:658 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "Как вы хотите обработать дополнительные складские позиции, назначенные для заказа на производство" -#: build/serializers.py:669 +#: build/serializers.py:668 msgid "Some stock items have been overallocated" msgstr "Некоторые складские позиции были перераспределены" -#: build/serializers.py:674 +#: build/serializers.py:673 msgid "Accept Unallocated" msgstr "Разрешить не полное резервирование" -#: build/serializers.py:675 +#: build/serializers.py:674 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Подтвердите, что складские позиции не были полностью зарезервированы для этого заказа на производство" -#: build/serializers.py:685 templates/js/translated/build.js:315 +#: build/serializers.py:684 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" msgstr "Необходимые запасы не были полностью зарезервированы" -#: build/serializers.py:690 order/serializers.py:301 order/serializers.py:1246 +#: build/serializers.py:689 order/serializers.py:301 order/serializers.py:1246 msgid "Accept Incomplete" msgstr "Разрешить незавершенные производимые детали" -#: build/serializers.py:691 +#: build/serializers.py:690 msgid "Accept that the required number of build outputs have not been completed" msgstr "Допустить, что требуемое кол-во продукции не завершено" -#: build/serializers.py:701 templates/js/translated/build.js:319 +#: build/serializers.py:700 templates/js/translated/build.js:319 msgid "Required build quantity has not been completed" msgstr "Требуемое количество деталей не было произведено" -#: build/serializers.py:710 templates/js/translated/build.js:303 +#: build/serializers.py:709 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" msgstr "Заказ на производство имеет незавершенную продукцию" -#: build/serializers.py:740 +#: build/serializers.py:739 msgid "Build Line" msgstr "Позиция для производства" -#: build/serializers.py:750 +#: build/serializers.py:749 msgid "Build output" msgstr "Выход продукции" -#: build/serializers.py:758 +#: build/serializers.py:757 msgid "Build output must point to the same build" msgstr "Продукция должна указывать на тот же производство" -#: build/serializers.py:794 +#: build/serializers.py:793 msgid "Build Line Item" msgstr "Позиция для производства" -#: build/serializers.py:808 +#: build/serializers.py:807 msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part должна указывать на ту же часть, что и заказ на производство" -#: build/serializers.py:823 stock/serializers.py:1065 +#: build/serializers.py:822 stock/serializers.py:1194 msgid "Item must be in stock" msgstr "Элемент должен быть в наличии" -#: build/serializers.py:871 order/serializers.py:1237 +#: build/serializers.py:870 order/serializers.py:1237 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Превышено доступное количество ({q})" -#: build/serializers.py:877 +#: build/serializers.py:876 msgid "Build output must be specified for allocation of tracked parts" msgstr "Продукция должна быть указан для резервирования отслеживаемых частей" -#: build/serializers.py:884 +#: build/serializers.py:883 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "Продукция не может быть указана для резервирования не отслеживаемых частей" -#: build/serializers.py:908 order/serializers.py:1489 +#: build/serializers.py:907 order/serializers.py:1489 msgid "Allocation items must be provided" msgstr "Необходимо указать резервируемые элементы" -#: build/serializers.py:971 +#: build/serializers.py:970 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "Место хранения, где будут зарезервированы детали (оставьте пустым, чтобы забрать их из любого места)" -#: build/serializers.py:979 +#: build/serializers.py:978 msgid "Exclude Location" msgstr "Исключить место хранения" -#: build/serializers.py:980 +#: build/serializers.py:979 msgid "Exclude stock items from this selected location" msgstr "Исключить складские позиции из этого выбранного места хранения" -#: build/serializers.py:985 +#: build/serializers.py:984 msgid "Interchangeable Stock" msgstr "Обменный остаток" -#: build/serializers.py:986 +#: build/serializers.py:985 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Складские позиции в нескольких местах могут использоваться на взаимозаменяемой основе" -#: build/serializers.py:991 +#: build/serializers.py:990 msgid "Substitute Stock" msgstr "Заменить остатки" -#: build/serializers.py:992 +#: build/serializers.py:991 msgid "Allow allocation of substitute parts" msgstr "Разрешить резервирование замещающих деталей" -#: build/serializers.py:997 +#: build/serializers.py:996 msgid "Optional Items" msgstr "Необязательные элементы" -#: build/serializers.py:998 +#: build/serializers.py:997 msgid "Allocate optional BOM items to build order" msgstr "Зарезервировать необязательные позиции BOM для заказа на производство" -#: build/serializers.py:1020 +#: build/serializers.py:1019 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1110 part/models.py:3930 part/models.py:4366 -#: stock/api.py:758 +#: build/serializers.py:1109 part/models.py:3973 part/models.py:4409 +#: stock/api.py:792 msgid "BOM Item" msgstr "Позиция BOM" -#: build/serializers.py:1119 templates/js/translated/index.js:130 +#: build/serializers.py:1118 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "Зарезервированные Запасы" -#: build/serializers.py:1124 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:817 part/serializers.py:1489 +#: build/serializers.py:1123 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:832 part/serializers.py:1504 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 @@ -1705,15 +1710,15 @@ msgstr "Зарезервированные Запасы" msgid "On Order" msgstr "В заказе" -#: build/serializers.py:1129 part/serializers.py:1491 +#: build/serializers.py:1128 part/serializers.py:1506 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "В производстве" -#: build/serializers.py:1134 part/bom.py:172 part/serializers.py:1514 +#: build/serializers.py:1133 part/bom.py:172 part/serializers.py:1529 #: part/templates/part/part_base.html:192 -#: templates/js/translated/sales_order.js:1893 +#: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "Доступный запас" @@ -1842,18 +1847,18 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "Остатки не были полностью зарезервированы для этого заказа на производство" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:297 -#: order/models.py:1294 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:310 +#: order/models.py:1334 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 -#: order/templates/order/sales_order_base.html:192 -#: report/templates/report/inventree_build_order_base.html:125 +#: order/templates/order/sales_order_base.html:196 +#: report/templates/report/inventree_build_order_report.html:125 #: templates/js/translated/build.js:2239 templates/js/translated/part.js:1830 -#: templates/js/translated/purchase_order.js:1740 -#: templates/js/translated/purchase_order.js:2148 -#: templates/js/translated/return_order.js:347 -#: templates/js/translated/return_order.js:751 -#: templates/js/translated/sales_order.js:835 -#: templates/js/translated/sales_order.js:1867 +#: templates/js/translated/purchase_order.js:1739 +#: templates/js/translated/purchase_order.js:2147 +#: templates/js/translated/return_order.js:346 +#: templates/js/translated/return_order.js:750 +#: templates/js/translated/sales_order.js:871 +#: templates/js/translated/sales_order.js:1903 msgid "Target Date" msgstr "Целевая дата" @@ -1866,7 +1871,7 @@ msgstr "Производство было просрочено на %(target)s" #: build/templates/build/build_base.html:222 #: order/templates/order/order_base.html:122 #: order/templates/order/return_order_base.html:117 -#: order/templates/order/sales_order_base.html:122 +#: order/templates/order/sales_order_base.html:126 #: templates/js/translated/table_filters.js:98 #: templates/js/translated/table_filters.js:524 #: templates/js/translated/table_filters.js:626 @@ -1880,24 +1885,24 @@ msgid "Completed Outputs" msgstr "Завершенная продукция" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:1538 -#: order/models.py:1652 order/models.py:1806 +#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:848 +#: order/models.py:1578 order/models.py:1692 order/models.py:1846 #: 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 +#: report/templates/report/inventree_build_order_report.html:135 +#: report/templates/report/inventree_sales_order_report.html:14 #: stock/templates/stock/item_base.html:369 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:929 -#: templates/js/translated/sales_order.js:769 -#: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2927 +#: templates/js/translated/sales_order.js:805 +#: templates/js/translated/sales_order.js:1028 +#: templates/js/translated/stock.js:2924 msgid "Sales Order" msgstr "Заказ на продажу" #: build/templates/build/build_base.html:197 #: build/templates/build/detail.html:115 -#: report/templates/report/inventree_build_order_base.html:152 +#: report/templates/report/inventree_build_order_report.html:152 #: templates/js/translated/table_filters.js:24 msgid "Issued By" msgstr "Создано" @@ -1907,15 +1912,15 @@ msgstr "Создано" msgid "Priority" msgstr "Приоритет" -#: build/templates/build/build_base.html:273 +#: build/templates/build/build_base.html:269 msgid "Delete Build Order" msgstr "Удалить заказ на производство" -#: build/templates/build/build_base.html:283 +#: build/templates/build/build_base.html:279 msgid "Build Order QR Code" msgstr "QR-код заказа на производство" -#: build/templates/build/build_base.html:295 +#: build/templates/build/build_base.html:291 msgid "Link Barcode to Build Order" msgstr "Привязать штрих-код для заказа на производство" @@ -1931,8 +1936,8 @@ msgstr "Источник запаса" msgid "Stock can be taken from any available location." msgstr "Остатки не могут быть получены из любого доступного места хранения." -#: build/templates/build/detail.html:49 order/models.py:1430 -#: templates/js/translated/purchase_order.js:2190 +#: build/templates/build/detail.html:49 order/models.py:1470 +#: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "Назначение" @@ -1947,10 +1952,10 @@ msgstr "Зарезервированные детали" #: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 #: templates/js/translated/build.js:1380 -#: templates/js/translated/model_renderers.js:235 +#: templates/js/translated/model_renderers.js:241 #: templates/js/translated/purchase_order.js:1274 -#: templates/js/translated/stock.js:1133 templates/js/translated/stock.js:2192 -#: templates/js/translated/stock.js:3130 +#: templates/js/translated/stock.js:1133 templates/js/translated/stock.js:2190 +#: templates/js/translated/stock.js:3127 #: templates/js/translated/table_filters.js:313 #: templates/js/translated/table_filters.js:404 msgid "Batch" @@ -1959,7 +1964,7 @@ msgstr "Партия" #: build/templates/build/detail.html:133 #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:151 -#: order/templates/order/sales_order_base.html:186 +#: order/templates/order/sales_order_base.html:190 #: templates/js/translated/build.js:2199 msgid "Created" msgstr "Создано" @@ -1969,7 +1974,7 @@ msgid "No target date set" msgstr "Нет конечной даты" #: build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:202 +#: order/templates/order/sales_order_base.html:206 #: templates/js/translated/table_filters.js:689 msgid "Completed" msgstr "Завершённые" @@ -2260,8 +2265,8 @@ msgstr "Как часто обновлять курс валют (установ #: common/models.py:1316 common/models.py:1372 common/models.py:1385 #: common/models.py:1393 common/models.py:1402 common/models.py:1411 -#: common/models.py:1613 common/models.py:1635 common/models.py:1750 -#: common/models.py:2061 +#: common/models.py:1619 common/models.py:1641 common/models.py:1756 +#: common/models.py:2067 msgid "days" msgstr "дней" @@ -2402,1209 +2407,1218 @@ msgid "Enable revision field for Part" msgstr "Включить поле ревизии для элемента" #: common/models.py:1440 -msgid "IPN Regex" +msgid "Allow Deletion from Assembly" msgstr "" #: common/models.py:1441 +msgid "Allow deletion of parts which are used in an assembly" +msgstr "" + +#: common/models.py:1446 +msgid "IPN Regex" +msgstr "" + +#: common/models.py:1447 msgid "Regular expression pattern for matching Part IPN" msgstr "Шаблон регулярного выражения для сопоставления IPN детали" -#: common/models.py:1444 +#: common/models.py:1450 msgid "Allow Duplicate IPN" msgstr "Разрешить повторяющиеся IPN" -#: common/models.py:1445 +#: common/models.py:1451 msgid "Allow multiple parts to share the same IPN" msgstr "Разрешить нескольким элементам использовать один и тот же IPN" -#: common/models.py:1450 +#: common/models.py:1456 msgid "Allow Editing IPN" msgstr "Разрешить редактирование IPN" -#: common/models.py:1451 +#: common/models.py:1457 msgid "Allow changing the IPN value while editing a part" msgstr "Разрешить изменение значения IPN при редактировании детали" -#: common/models.py:1456 +#: common/models.py:1462 msgid "Copy Part BOM Data" msgstr "Скопировать данные BOM детали" -#: common/models.py:1457 +#: common/models.py:1463 msgid "Copy BOM data by default when duplicating a part" msgstr "Копировать данные BOM по умолчанию при дублировании детали" -#: common/models.py:1462 +#: common/models.py:1468 msgid "Copy Part Parameter Data" msgstr "Скопировать данные параметров детали" -#: common/models.py:1463 +#: common/models.py:1469 msgid "Copy parameter data by default when duplicating a part" msgstr "Копировать данных параметров по умолчанию при дублировании детали" -#: common/models.py:1468 +#: common/models.py:1474 msgid "Copy Part Test Data" msgstr "Скопировать данные тестирования детали" -#: common/models.py:1469 +#: common/models.py:1475 msgid "Copy test data by default when duplicating a part" msgstr "Копировать данные тестирования по умолчанию при дублировании детали" -#: common/models.py:1474 +#: common/models.py:1480 msgid "Copy Category Parameter Templates" msgstr "Скопировать параметры по шаблону категории" -#: common/models.py:1475 +#: common/models.py:1481 msgid "Copy category parameter templates when creating a part" msgstr "Копировать параметры по шаблону категории при создании детали" -#: common/models.py:1480 part/admin.py:108 part/models.py:3772 -#: report/models.py:182 stock/serializers.py:99 +#: common/models.py:1486 part/admin.py:108 part/models.py:3815 +#: report/models.py:294 report/models.py:361 report/serializers.py:90 +#: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:767 msgid "Template" msgstr "Шаблон" -#: common/models.py:1481 +#: common/models.py:1487 msgid "Parts are templates by default" msgstr "По умолчанию детали являются шаблонами" -#: common/models.py:1486 part/admin.py:91 part/admin.py:431 part/models.py:1016 +#: common/models.py:1492 part/admin.py:91 part/admin.py:433 part/models.py:1059 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "Производимая деталь" -#: common/models.py:1487 +#: common/models.py:1493 msgid "Parts can be assembled from other components by default" msgstr "По умолчанию детали могут быть собраны из других компонентов" -#: common/models.py:1492 part/admin.py:95 part/models.py:1022 +#: common/models.py:1498 part/admin.py:95 part/models.py:1065 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "Компонент" -#: common/models.py:1493 +#: common/models.py:1499 msgid "Parts can be used as sub-components by default" msgstr "По умолчанию детали могут использоваться в качестве суб-компонентов" -#: common/models.py:1498 part/admin.py:100 part/models.py:1034 +#: common/models.py:1504 part/admin.py:100 part/models.py:1077 msgid "Purchaseable" msgstr "Можно купить" -#: common/models.py:1499 +#: common/models.py:1505 msgid "Parts are purchaseable by default" msgstr "По умолчанию детали являются отслеживаемыми" -#: common/models.py:1504 part/admin.py:104 part/models.py:1040 +#: common/models.py:1510 part/admin.py:104 part/models.py:1083 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "Можно продавать" -#: common/models.py:1505 +#: common/models.py:1511 msgid "Parts are salable by default" msgstr "Детали продаются по умолчанию" -#: common/models.py:1510 part/admin.py:113 part/models.py:1028 +#: common/models.py:1516 part/admin.py:113 part/models.py:1071 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "Отслеживание" -#: common/models.py:1511 +#: common/models.py:1517 msgid "Parts are trackable by default" msgstr "По умолчанию детали являются отслеживаемыми" -#: common/models.py:1516 part/admin.py:117 part/models.py:1050 +#: common/models.py:1522 part/admin.py:117 part/models.py:1093 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "Виртуальная" -#: common/models.py:1517 +#: common/models.py:1523 msgid "Parts are virtual by default" msgstr "Детали являются виртуальными по умолчанию" -#: common/models.py:1522 +#: common/models.py:1528 msgid "Show Import in Views" msgstr "Показать Импорт в просмотре" -#: common/models.py:1523 +#: common/models.py:1529 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1528 +#: common/models.py:1534 msgid "Show related parts" msgstr "Показывать связанные детали" -#: common/models.py:1529 +#: common/models.py:1535 msgid "Display related parts for a part" msgstr "Отображать связанные детали для элемента" -#: common/models.py:1534 +#: common/models.py:1540 msgid "Initial Stock Data" msgstr "Начальные данные о запасах" -#: common/models.py:1535 +#: common/models.py:1541 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1540 templates/js/translated/part.js:107 +#: common/models.py:1546 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "Исходные данные о поставщике" -#: common/models.py:1542 +#: common/models.py:1548 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1548 +#: common/models.py:1554 msgid "Part Name Display Format" msgstr "Формат отображения детали" -#: common/models.py:1549 +#: common/models.py:1555 msgid "Format to display the part name" msgstr "Формат для отображения имени детали" -#: common/models.py:1555 +#: common/models.py:1561 msgid "Part Category Default Icon" msgstr "Значок раздела по умолчанию" -#: common/models.py:1556 +#: common/models.py:1562 msgid "Part category default icon (empty means no icon)" msgstr "Значок категории по умолчанию (пустой означает отсутствие значка)" -#: common/models.py:1560 +#: common/models.py:1566 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1562 +#: common/models.py:1568 msgid "If units are provided, parameter values must match the specified units" msgstr "Если введены единицы, значения параметра должны соответствовать указанным единицам измерения" -#: common/models.py:1568 +#: common/models.py:1574 msgid "Minimum Pricing Decimal Places" msgstr "Минимальные Цены Десятичные Значки" -#: common/models.py:1570 +#: common/models.py:1576 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "Минимальное количество десятичных знаков при отображении данных о ценах" -#: common/models.py:1576 +#: common/models.py:1582 msgid "Maximum Pricing Decimal Places" msgstr "Макс. Цены десятичные знаки" -#: common/models.py:1578 +#: common/models.py:1584 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "Минимальное количество десятичных знаков при отображении данных о ценах" -#: common/models.py:1584 +#: common/models.py:1590 msgid "Use Supplier Pricing" msgstr "Использовать цены поставщика" -#: common/models.py:1586 +#: common/models.py:1592 msgid "Include supplier price breaks in overall pricing calculations" msgstr "Включить разницу цен поставщиков при расчетах цен" -#: common/models.py:1592 +#: common/models.py:1598 msgid "Purchase History Override" msgstr "Изменить историю покупки" -#: common/models.py:1594 +#: common/models.py:1600 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1600 +#: common/models.py:1606 msgid "Use Stock Item Pricing" msgstr "Использовать цены из складских позиций" -#: common/models.py:1602 +#: common/models.py:1608 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "Использовать расценки из ручного ввода данных о запасах для расчета цен" -#: common/models.py:1608 +#: common/models.py:1614 msgid "Stock Item Pricing Age" msgstr "Возраст цен складских позиций" -#: common/models.py:1610 +#: common/models.py:1616 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "Исключить складские позиции старше указанного количества дней с расчёта цен" -#: common/models.py:1617 +#: common/models.py:1623 msgid "Use Variant Pricing" msgstr "Использовать варианты цен" -#: common/models.py:1618 +#: common/models.py:1624 msgid "Include variant pricing in overall pricing calculations" msgstr "Включить разницу цен поставщиков при расчетах цен" -#: common/models.py:1623 +#: common/models.py:1629 msgid "Active Variants Only" msgstr "Только Активные Варианты" -#: common/models.py:1625 +#: common/models.py:1631 msgid "Only use active variant parts for calculating variant pricing" msgstr "Использовать только активные запчасти для расчета стоимости варианта" -#: common/models.py:1631 +#: common/models.py:1637 msgid "Pricing Rebuild Interval" msgstr "Интервал пересчета цен" -#: common/models.py:1633 +#: common/models.py:1639 msgid "Number of days before part pricing is automatically updated" msgstr "Количество дней до автоматического обновления цены" -#: common/models.py:1640 +#: common/models.py:1646 msgid "Internal Prices" msgstr "Внутренние цены" -#: common/models.py:1641 +#: common/models.py:1647 msgid "Enable internal prices for parts" msgstr "Разрешить внутренние цены для частей" -#: common/models.py:1646 +#: common/models.py:1652 msgid "Internal Price Override" msgstr "Переопределение внутренней цены" -#: common/models.py:1648 +#: common/models.py:1654 msgid "If available, internal prices override price range calculations" msgstr "При наличии внутренних цен переопределить ценовой диапазон" -#: common/models.py:1654 +#: common/models.py:1660 msgid "Enable label printing" msgstr "Включить печать этикеток" -#: common/models.py:1655 +#: common/models.py:1661 msgid "Enable label printing from the web interface" msgstr "Включить печать этикеток из веб-интерфейса" -#: common/models.py:1660 +#: common/models.py:1666 msgid "Label Image DPI" msgstr "Изображение меток DPI" -#: common/models.py:1662 +#: common/models.py:1668 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "Разрешение DPI при создании файлов изображений для печати этикеток плагинов" -#: common/models.py:1668 +#: common/models.py:1674 msgid "Enable Reports" msgstr "Включить отчеты" -#: common/models.py:1669 +#: common/models.py:1675 msgid "Enable generation of reports" msgstr "Включить генерацию отчетов" -#: common/models.py:1674 templates/stats.html:25 +#: common/models.py:1680 templates/stats.html:25 msgid "Debug Mode" msgstr "Режим отладки" -#: common/models.py:1675 +#: common/models.py:1681 msgid "Generate reports in debug mode (HTML output)" msgstr "Генерировать отчеты в режиме отладки (вывод HTML)" -#: common/models.py:1680 +#: common/models.py:1686 msgid "Log Report Errors" msgstr "Журнал ошибок отчета" -#: common/models.py:1681 +#: common/models.py:1687 msgid "Log errors which occur when generating reports" msgstr "Журнал ошибок, которые возникают при создании отчетов" -#: common/models.py:1686 plugin/builtin/labels/label_sheet.py:28 -#: report/models.py:203 +#: common/models.py:1692 plugin/builtin/labels/label_sheet.py:28 +#: report/models.py:302 msgid "Page Size" msgstr "Размер страницы" -#: common/models.py:1687 +#: common/models.py:1693 msgid "Default page size for PDF reports" msgstr "Размер страницы по умолчанию для PDF отчетов" -#: common/models.py:1692 +#: common/models.py:1698 msgid "Enable Test Reports" msgstr "Включить отчеты" -#: common/models.py:1693 +#: common/models.py:1699 msgid "Enable generation of test reports" msgstr "Включить генерацию отчетов" -#: common/models.py:1698 +#: common/models.py:1704 msgid "Attach Test Reports" msgstr "Прикрепить отчеты о тестах" -#: common/models.py:1700 +#: common/models.py:1706 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "При печати отчета о тестировании приложить копию тестового отчета к соответствующему складской позиции" -#: common/models.py:1706 +#: common/models.py:1712 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1707 +#: common/models.py:1713 msgid "Serial numbers for stock items must be globally unique" msgstr "Серийные номера для складских позиций должны быть уникальными глобально" -#: common/models.py:1712 +#: common/models.py:1718 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1713 +#: common/models.py:1719 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1718 +#: common/models.py:1724 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1720 +#: common/models.py:1726 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1726 +#: common/models.py:1732 msgid "Batch Code Template" msgstr "" -#: common/models.py:1728 +#: common/models.py:1734 msgid "Template for generating default batch codes for stock items" msgstr "Шаблон для создания кодов партии по умолчанию для складских позиций" -#: common/models.py:1733 +#: common/models.py:1739 msgid "Stock Expiry" msgstr "Срок годности Запасов" -#: common/models.py:1734 +#: common/models.py:1740 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1739 +#: common/models.py:1745 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1740 +#: common/models.py:1746 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1745 +#: common/models.py:1751 msgid "Stock Stale Time" msgstr "Время Залежалости Запасов" -#: common/models.py:1747 +#: common/models.py:1753 msgid "Number of days stock items are considered stale before expiring" msgstr "Количество дней перед тем как складская единица будет считаться просроченной" -#: common/models.py:1754 +#: common/models.py:1760 msgid "Build Expired Stock" msgstr "Использовать просроченные остатки в производстве" -#: common/models.py:1755 +#: common/models.py:1761 msgid "Allow building with expired stock" msgstr "Разрешить использовать просроченные остатки в производстве" -#: common/models.py:1760 +#: common/models.py:1766 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1761 +#: common/models.py:1767 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1766 +#: common/models.py:1772 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1767 +#: common/models.py:1773 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1771 +#: common/models.py:1777 msgid "Show Installed Stock Items" msgstr "Показать установленные складские позиции" -#: common/models.py:1772 +#: common/models.py:1778 msgid "Display installed stock items in stock tables" msgstr "Отображать установленные складские позиции в складских таблицах" -#: common/models.py:1777 +#: common/models.py:1783 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1779 +#: common/models.py:1785 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1785 +#: common/models.py:1791 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1787 +#: common/models.py:1793 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1793 +#: common/models.py:1799 msgid "Build Order Reference Pattern" msgstr "Паттерн ссылки заказа на производство" -#: common/models.py:1795 +#: common/models.py:1801 msgid "Required pattern for generating Build Order reference field" msgstr "Поле требуемого паттерна для создания ссылки заказа на производство" -#: common/models.py:1801 common/models.py:1829 common/models.py:1851 -#: common/models.py:1879 +#: common/models.py:1807 common/models.py:1835 common/models.py:1857 +#: common/models.py:1885 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1802 common/models.py:1830 common/models.py:1852 -#: common/models.py:1880 +#: common/models.py:1808 common/models.py:1836 common/models.py:1858 +#: common/models.py:1886 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1807 +#: common/models.py:1813 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1809 +#: common/models.py:1815 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1815 +#: common/models.py:1821 msgid "Enable Return Orders" msgstr "Включить заказы на возврат" -#: common/models.py:1816 +#: common/models.py:1822 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1821 +#: common/models.py:1827 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1823 +#: common/models.py:1829 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1835 +#: common/models.py:1841 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1837 +#: common/models.py:1843 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1843 +#: common/models.py:1849 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1845 +#: common/models.py:1851 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1857 +#: common/models.py:1863 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1858 +#: common/models.py:1864 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1863 +#: common/models.py:1869 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1865 +#: common/models.py:1871 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1871 +#: common/models.py:1877 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1873 +#: common/models.py:1879 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1885 +#: common/models.py:1891 msgid "Edit Completed Purchase Orders" msgstr "Редактировать завершенные заказы на покупку" -#: common/models.py:1887 +#: common/models.py:1893 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1893 +#: common/models.py:1899 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1895 +#: common/models.py:1901 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1902 +#: common/models.py:1908 msgid "Enable password forgot" msgstr "" -#: common/models.py:1903 +#: common/models.py:1909 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1908 +#: common/models.py:1914 msgid "Enable registration" msgstr "" -#: common/models.py:1909 +#: common/models.py:1915 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1914 +#: common/models.py:1920 msgid "Enable SSO" msgstr "Включить SSO" -#: common/models.py:1915 +#: common/models.py:1921 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1920 +#: common/models.py:1926 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1922 +#: common/models.py:1928 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1928 +#: common/models.py:1934 msgid "Email required" msgstr "Необходимо указать EMail" -#: common/models.py:1929 +#: common/models.py:1935 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1934 +#: common/models.py:1940 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1936 +#: common/models.py:1942 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1942 +#: common/models.py:1948 msgid "Mail twice" msgstr "Написать дважды" -#: common/models.py:1943 +#: common/models.py:1949 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1948 +#: common/models.py:1954 msgid "Password twice" msgstr "Пароль дважды" -#: common/models.py:1949 +#: common/models.py:1955 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1954 +#: common/models.py:1960 msgid "Allowed domains" msgstr "Разрешенные домены" -#: common/models.py:1956 +#: common/models.py:1962 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1962 +#: common/models.py:1968 msgid "Group on signup" msgstr "" -#: common/models.py:1963 +#: common/models.py:1969 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1968 +#: common/models.py:1974 msgid "Enforce MFA" msgstr "Принудительное MFA" -#: common/models.py:1969 +#: common/models.py:1975 msgid "Users must use multifactor security." msgstr "Пользователи должны использовать многофакторную безопасность." -#: common/models.py:1974 +#: common/models.py:1980 msgid "Check plugins on startup" msgstr "Проверять плагины при запуске" -#: common/models.py:1976 +#: common/models.py:1982 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1984 +#: common/models.py:1990 msgid "Check for plugin updates" msgstr "" -#: common/models.py:1985 +#: common/models.py:1991 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:1991 +#: common/models.py:1997 msgid "Enable URL integration" msgstr "" -#: common/models.py:1992 +#: common/models.py:1998 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1998 +#: common/models.py:2004 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1999 +#: common/models.py:2005 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2005 +#: common/models.py:2011 msgid "Enable app integration" msgstr "" -#: common/models.py:2006 +#: common/models.py:2012 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2012 +#: common/models.py:2018 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2013 +#: common/models.py:2019 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2019 +#: common/models.py:2025 msgid "Enable event integration" msgstr "" -#: common/models.py:2020 +#: common/models.py:2026 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2026 +#: common/models.py:2032 msgid "Enable project codes" msgstr "" -#: common/models.py:2027 +#: common/models.py:2033 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2032 +#: common/models.py:2038 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2034 +#: common/models.py:2040 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2040 +#: common/models.py:2046 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2042 +#: common/models.py:2048 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "Исключить складские позиции во внешних местах хранения из инвентаризации" -#: common/models.py:2048 +#: common/models.py:2054 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2050 +#: common/models.py:2056 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2056 +#: common/models.py:2062 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2058 +#: common/models.py:2064 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2065 +#: common/models.py:2071 msgid "Display Users full names" msgstr "" -#: common/models.py:2066 +#: common/models.py:2072 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2071 +#: common/models.py:2077 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2072 +#: common/models.py:2078 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2084 common/models.py:2494 +#: common/models.py:2090 common/models.py:2500 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2127 +#: common/models.py:2133 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2129 +#: common/models.py:2135 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2135 +#: common/models.py:2141 msgid "Show subscribed parts" msgstr "Показывать детали, на которые включены уведомления" -#: common/models.py:2136 +#: common/models.py:2142 msgid "Show subscribed parts on the homepage" msgstr "Показывать детали, на которые включены уведомления, на главной странице" -#: common/models.py:2141 +#: common/models.py:2147 msgid "Show subscribed categories" msgstr "Показывать категории, на которые включены уведомления" -#: common/models.py:2142 +#: common/models.py:2148 msgid "Show subscribed part categories on the homepage" msgstr "Показывать категории, на которые включены уведомления, на главной странице" -#: common/models.py:2147 +#: common/models.py:2153 msgid "Show latest parts" msgstr "Показывать последние детали" -#: common/models.py:2148 +#: common/models.py:2154 msgid "Show latest parts on the homepage" msgstr "Показывать последние детали на главной странице" -#: common/models.py:2153 +#: common/models.py:2159 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2154 +#: common/models.py:2160 msgid "Show BOMs that await validation on the homepage" msgstr "Показывать BOMы, ожидающие проверки, на главной странице" -#: common/models.py:2159 +#: common/models.py:2165 msgid "Show recent stock changes" msgstr "Показывать изменившиеся складские запасы" -#: common/models.py:2160 +#: common/models.py:2166 msgid "Show recently changed stock items on the homepage" msgstr "Показывать складские позиции с недавно изменившимися запасами на главной странице" -#: common/models.py:2165 +#: common/models.py:2171 msgid "Show low stock" msgstr "Показывать низкие складские запасы" -#: common/models.py:2166 +#: common/models.py:2172 msgid "Show low stock items on the homepage" msgstr "Показывать складские позиции с низкими запасами на главной странице" -#: common/models.py:2171 +#: common/models.py:2177 msgid "Show depleted stock" msgstr "Показывать закончившиеся складские позиции" -#: common/models.py:2172 +#: common/models.py:2178 msgid "Show depleted stock items on the homepage" msgstr "Показывать закончившиеся складские позиции на главной странице" -#: common/models.py:2177 +#: common/models.py:2183 msgid "Show needed stock" msgstr "Показывать требуемые складские позиции" -#: common/models.py:2178 +#: common/models.py:2184 msgid "Show stock items needed for builds on the homepage" msgstr "Показывать требуемые для производства складские позиции на главной странице" -#: common/models.py:2183 +#: common/models.py:2189 msgid "Show expired stock" msgstr "Показывать складские позиции с истекшим сроком годности" -#: common/models.py:2184 +#: common/models.py:2190 msgid "Show expired stock items on the homepage" msgstr "Показывать складские позиции с истёкшим сроком годности на главной странице" -#: common/models.py:2189 +#: common/models.py:2195 msgid "Show stale stock" msgstr "Показывать залежалые складские позиции" -#: common/models.py:2190 +#: common/models.py:2196 msgid "Show stale stock items on the homepage" msgstr "Показывать складские позиции с истекающим сроком годности на главной странице" -#: common/models.py:2195 +#: common/models.py:2201 msgid "Show pending builds" msgstr "Показывать незавершённые производства" -#: common/models.py:2196 +#: common/models.py:2202 msgid "Show pending builds on the homepage" msgstr "Показывать незавершённые производства на главной странице" -#: common/models.py:2201 +#: common/models.py:2207 msgid "Show overdue builds" msgstr "Показывать просроченные производства" -#: common/models.py:2202 +#: common/models.py:2208 msgid "Show overdue builds on the homepage" msgstr "Показывать просроченные производства на главной странице" -#: common/models.py:2207 +#: common/models.py:2213 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2208 +#: common/models.py:2214 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2213 +#: common/models.py:2219 msgid "Show overdue POs" msgstr "Показать просроченные заказы на производство" -#: common/models.py:2214 +#: common/models.py:2220 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2219 +#: common/models.py:2225 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2220 +#: common/models.py:2226 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2225 +#: common/models.py:2231 msgid "Show overdue SOs" msgstr "Показать просроченные заказы на продажу" -#: common/models.py:2226 +#: common/models.py:2232 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2231 +#: common/models.py:2237 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2232 +#: common/models.py:2238 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2237 +#: common/models.py:2243 msgid "Show News" msgstr "Показывать новости" -#: common/models.py:2238 +#: common/models.py:2244 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2243 +#: common/models.py:2249 msgid "Inline label display" msgstr "" -#: common/models.py:2245 +#: common/models.py:2251 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2251 +#: common/models.py:2257 msgid "Default label printer" msgstr "" -#: common/models.py:2253 +#: common/models.py:2259 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2259 +#: common/models.py:2265 msgid "Inline report display" msgstr "" -#: common/models.py:2261 +#: common/models.py:2267 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2267 +#: common/models.py:2273 msgid "Search Parts" msgstr "Поиск Деталей" -#: common/models.py:2268 +#: common/models.py:2274 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2273 +#: common/models.py:2279 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2274 +#: common/models.py:2280 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2279 +#: common/models.py:2285 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2280 +#: common/models.py:2286 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2285 +#: common/models.py:2291 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2286 +#: common/models.py:2292 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2291 +#: common/models.py:2297 msgid "Search Categories" msgstr "" -#: common/models.py:2292 +#: common/models.py:2298 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2297 +#: common/models.py:2303 msgid "Search Stock" msgstr "Поиск Запасов" -#: common/models.py:2298 +#: common/models.py:2304 msgid "Display stock items in search preview window" msgstr "Отображать складские позиции в окне предварительного просмотра поиска" -#: common/models.py:2303 +#: common/models.py:2309 msgid "Hide Unavailable Stock Items" msgstr "Скрыть недоступные складские позиции" -#: common/models.py:2305 +#: common/models.py:2311 msgid "Exclude stock items which are not available from the search preview window" msgstr "Исключить недоступные складские позиции из окна предварительного просмотра поиска" -#: common/models.py:2311 +#: common/models.py:2317 msgid "Search Locations" msgstr "Поиск мест хранения" -#: common/models.py:2312 +#: common/models.py:2318 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2317 +#: common/models.py:2323 msgid "Search Companies" msgstr "Поиск компаний" -#: common/models.py:2318 +#: common/models.py:2324 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2323 +#: common/models.py:2329 msgid "Search Build Orders" msgstr "Поиск заказов на производство" -#: common/models.py:2324 +#: common/models.py:2330 msgid "Display build orders in search preview window" msgstr "Отображать заказы на производство в окне предварительного просмотра поиска" -#: common/models.py:2329 +#: common/models.py:2335 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2330 +#: common/models.py:2336 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2335 +#: common/models.py:2341 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2337 +#: common/models.py:2343 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2343 +#: common/models.py:2349 msgid "Search Sales Orders" msgstr "Поиск заказов на продажу" -#: common/models.py:2344 +#: common/models.py:2350 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2349 +#: common/models.py:2355 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2351 +#: common/models.py:2357 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2357 +#: common/models.py:2363 msgid "Search Return Orders" msgstr "Поиск заказов на возврат" -#: common/models.py:2358 +#: common/models.py:2364 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2363 +#: common/models.py:2369 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2365 +#: common/models.py:2371 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2371 +#: common/models.py:2377 msgid "Search Preview Results" msgstr "" -#: common/models.py:2373 +#: common/models.py:2379 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2379 +#: common/models.py:2385 msgid "Regex Search" msgstr "Поиск по Regex" -#: common/models.py:2380 +#: common/models.py:2386 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2385 +#: common/models.py:2391 msgid "Whole Word Search" msgstr "" -#: common/models.py:2386 +#: common/models.py:2392 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2391 +#: common/models.py:2397 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2392 +#: common/models.py:2398 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2397 +#: common/models.py:2403 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2398 +#: common/models.py:2404 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2403 +#: common/models.py:2409 msgid "Fixed Navbar" msgstr "Фиксированная панель навигации" -#: common/models.py:2404 +#: common/models.py:2410 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2409 +#: common/models.py:2415 msgid "Date Format" msgstr "Формат даты" -#: common/models.py:2410 +#: common/models.py:2416 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2423 part/templates/part/detail.html:41 +#: common/models.py:2429 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Планирование деталей" -#: common/models.py:2424 +#: common/models.py:2430 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2429 part/templates/part/detail.html:62 +#: common/models.py:2435 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Инвентаризация детали" -#: common/models.py:2431 +#: common/models.py:2437 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2437 +#: common/models.py:2443 msgid "Table String Length" msgstr "" -#: common/models.py:2439 +#: common/models.py:2445 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2445 +#: common/models.py:2451 msgid "Default part label template" msgstr "" -#: common/models.py:2446 +#: common/models.py:2452 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2451 +#: common/models.py:2457 msgid "Default stock item template" msgstr "Шаблон складской позиции по умолчанию" -#: common/models.py:2453 +#: common/models.py:2459 msgid "The stock item label template to be automatically selected" msgstr "Шаблон метки складской позиции для автоматического выбора" -#: common/models.py:2459 +#: common/models.py:2465 msgid "Default stock location label template" msgstr "" -#: common/models.py:2461 +#: common/models.py:2467 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2467 +#: common/models.py:2473 msgid "Default build line label template" msgstr "" -#: common/models.py:2469 +#: common/models.py:2475 msgid "The build line label template to be automatically selected" msgstr "" -#: common/models.py:2475 +#: common/models.py:2481 msgid "Receive error reports" msgstr "" -#: common/models.py:2476 +#: common/models.py:2482 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2481 +#: common/models.py:2487 msgid "Last used printing machines" msgstr "" -#: common/models.py:2482 +#: common/models.py:2488 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2525 +#: common/models.py:2531 msgid "Price break quantity" msgstr "" -#: common/models.py:2532 company/serializers.py:496 order/admin.py:42 -#: order/models.py:1333 order/models.py:2243 +#: common/models.py:2538 company/serializers.py:496 order/admin.py:42 +#: order/models.py:1373 order/models.py:2292 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 -#: templates/js/translated/return_order.js:741 +#: templates/js/translated/return_order.js:740 msgid "Price" msgstr "Цена" -#: common/models.py:2533 +#: common/models.py:2539 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2704 common/models.py:2889 +#: common/models.py:2710 common/models.py:2895 msgid "Endpoint" msgstr "Конечная точка" -#: common/models.py:2705 +#: common/models.py:2711 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2715 +#: common/models.py:2721 msgid "Name for this webhook" msgstr "" -#: common/models.py:2719 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1045 -#: plugin/models.py:56 templates/js/translated/company.js:523 +#: common/models.py:2725 company/models.py:160 company/models.py:814 +#: machine/models.py:39 part/admin.py:88 part/models.py:1088 +#: plugin/models.py:65 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:492 @@ -3614,135 +3628,135 @@ msgstr "" msgid "Active" msgstr "Активный" -#: common/models.py:2719 +#: common/models.py:2725 msgid "Is this webhook active" msgstr "" -#: common/models.py:2735 users/models.py:159 +#: common/models.py:2741 users/models.py:159 msgid "Token" msgstr "Токен" -#: common/models.py:2736 +#: common/models.py:2742 msgid "Token for access" msgstr "Токен для доступа" -#: common/models.py:2744 +#: common/models.py:2750 msgid "Secret" msgstr "Секрет" -#: common/models.py:2745 +#: common/models.py:2751 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2853 +#: common/models.py:2859 msgid "Message ID" msgstr "ID Сообщения" -#: common/models.py:2854 +#: common/models.py:2860 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2862 +#: common/models.py:2868 msgid "Host" msgstr "Хост" -#: common/models.py:2863 +#: common/models.py:2869 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2871 +#: common/models.py:2877 msgid "Header" msgstr "Заголовок" -#: common/models.py:2872 +#: common/models.py:2878 msgid "Header of this message" msgstr "" -#: common/models.py:2879 +#: common/models.py:2885 msgid "Body" msgstr "Тело" -#: common/models.py:2880 +#: common/models.py:2886 msgid "Body of this message" msgstr "" -#: common/models.py:2890 +#: common/models.py:2896 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2895 +#: common/models.py:2901 msgid "Worked on" msgstr "Работал над" -#: common/models.py:2896 +#: common/models.py:2902 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3022 +#: common/models.py:3028 msgid "Id" msgstr "Код" -#: common/models.py:3024 templates/js/translated/company.js:965 +#: common/models.py:3030 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "Заголовок" -#: common/models.py:3028 templates/js/translated/news.js:60 +#: common/models.py:3034 templates/js/translated/news.js:60 msgid "Published" msgstr "Опубликовано" -#: common/models.py:3030 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3036 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "Автор" -#: common/models.py:3032 templates/js/translated/news.js:52 +#: common/models.py:3038 templates/js/translated/news.js:52 msgid "Summary" msgstr "Итого" -#: common/models.py:3035 +#: common/models.py:3041 msgid "Read" msgstr "Читать" -#: common/models.py:3035 +#: common/models.py:3041 msgid "Was this news item read?" msgstr "" -#: common/models.py:3052 company/models.py:156 part/models.py:929 +#: common/models.py:3058 company/models.py:156 part/models.py:972 #: 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 +#: report/templates/report/inventree_return_order_report.html:35 #: stock/templates/stock/item_base.html:133 templates/503.html:31 #: templates/hover_image.html:7 templates/hover_image.html:9 #: templates/modals.html:6 msgid "Image" msgstr "Изображение" -#: common/models.py:3052 +#: common/models.py:3058 msgid "Image file" msgstr "Файл изображения" -#: common/models.py:3094 +#: common/models.py:3100 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3113 +#: common/models.py:3119 msgid "Unit name" msgstr "Название единицы" -#: common/models.py:3120 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3126 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "Символ" -#: common/models.py:3121 +#: common/models.py:3127 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3128 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3134 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "Определение" -#: common/models.py:3129 +#: common/models.py:3135 msgid "Unit definition" msgstr "" @@ -3929,9 +3943,9 @@ msgid "Contact email address" msgstr "Контактный EMail" #: company/models.py:139 company/templates/company/company_base.html:145 -#: order/models.py:331 order/templates/order/order_base.html:203 +#: order/models.py:344 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 -#: order/templates/order/sales_order_base.html:214 +#: order/templates/order/sales_order_base.html:218 msgid "Contact" msgstr "Контакт" @@ -3977,7 +3991,7 @@ msgstr "Для этой компании используется валюта #: company/models.py:273 company/models.py:382 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:776 +#: company/templates/company/company_base.html:12 stock/api.py:810 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "Компания" @@ -4069,8 +4083,8 @@ msgstr "Записи отправления для внутреннего пол msgid "Link to address information (external)" msgstr "" -#: company/models.py:489 company/models.py:792 stock/models.py:751 -#: stock/serializers.py:266 stock/templates/stock/item_base.html:142 +#: company/models.py:489 company/models.py:792 stock/models.py:772 +#: stock/serializers.py:395 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "Базовая деталь" @@ -4081,7 +4095,7 @@ msgstr "Выберите деталь" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:515 +#: company/templates/company/supplier_part.html:145 part/serializers.py:530 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4096,13 +4110,13 @@ msgid "Select manufacturer" msgstr "Выберите производителя" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:525 +#: company/templates/company/supplier_part.html:153 part/serializers.py:540 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800 -#: templates/js/translated/purchase_order.js:1852 -#: templates/js/translated/purchase_order.js:2054 +#: templates/js/translated/purchase_order.js:1851 +#: templates/js/translated/purchase_order.js:2053 msgid "MPN" msgstr "" @@ -4129,9 +4143,8 @@ msgstr "Деталь производителя" msgid "Parameter name" msgstr "Наименование параметра" -#: company/models.py:621 -#: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2448 templates/js/translated/company.js:1166 +#: company/models.py:621 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2425 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492 #: templates/js/translated/stock.js:1522 msgid "Value" @@ -4142,10 +4155,10 @@ msgid "Parameter value" msgstr "Значение параметра" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1009 part/models.py:3623 +#: part/admin.py:57 part/models.py:1052 part/models.py:3666 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 -#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370 +#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 msgid "Units" msgstr "Ед.изм" @@ -4166,9 +4179,9 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:465 +#: company/templates/company/supplier_part.html:129 order/models.py:487 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:499 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:514 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4176,7 +4189,7 @@ msgstr "" #: templates/js/translated/company.js:511 #: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1690 +#: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/table_filters.js:804 msgid "Supplier" msgstr "Поставщик" @@ -4185,7 +4198,7 @@ msgstr "Поставщик" msgid "Select supplier" msgstr "Выберите поставщика" -#: company/models.py:809 part/serializers.py:510 +#: company/models.py:809 part/serializers.py:525 msgid "Supplier stock keeping unit" msgstr "Код поставщика" @@ -4206,29 +4219,29 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:418 part/models.py:4070 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4113 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 -#: report/templates/report/inventree_slr_report.html:105 -#: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:579 +#: report/templates/report/inventree_purchase_order_report.html:32 +#: report/templates/report/inventree_return_order_report.html:27 +#: report/templates/report/inventree_sales_order_report.html:32 +#: report/templates/report/inventree_stock_location_report.html:105 +#: stock/serializers.py:708 msgid "Note" msgstr "Запись" -#: company/models.py:857 part/models.py:1967 +#: company/models.py:857 part/models.py:2010 msgid "base cost" msgstr "базовая стоимость" -#: company/models.py:858 part/models.py:1968 +#: company/models.py:858 part/models.py:2011 msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:782 stock/serializers.py:1350 +#: stock/admin.py:224 stock/models.py:803 stock/serializers.py:1479 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 -#: templates/js/translated/stock.js:2426 +#: templates/js/translated/stock.js:2424 msgid "Packaging" msgstr "Упаковка" @@ -4241,8 +4254,8 @@ msgstr "Упаковка детали" #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 -#: templates/js/translated/purchase_order.js:2085 -#: templates/js/translated/purchase_order.js:2102 +#: templates/js/translated/purchase_order.js:2084 +#: templates/js/translated/purchase_order.js:2101 msgid "Pack Quantity" msgstr "Кол-во в упаковке" @@ -4250,7 +4263,7 @@ msgstr "Кол-во в упаковке" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:892 part/models.py:1974 +#: company/models.py:892 part/models.py:2017 msgid "multiple" msgstr "множественные" @@ -4285,7 +4298,7 @@ msgstr "На складе" #: part/templates/part/part_base.html:146 #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 -#: templates/js/translated/model_renderers.js:306 +#: templates/js/translated/model_renderers.js:312 #: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 msgid "Inactive" msgstr "Неактивный" @@ -4321,11 +4334,11 @@ msgstr "Удалить компанию" #: company/templates/company/manufacturer_part.html:51 #: company/templates/company/supplier_part.html:83 #: part/templates/part/part_thumb.html:20 -#: report/templates/report/inventree_build_order_base.html:98 -#: report/templates/report/inventree_po_report_base.html:40 -#: report/templates/report/inventree_so_report_base.html:40 -#: report/templates/report/inventree_test_report_base.html:84 -#: report/templates/report/inventree_test_report_base.html:163 +#: report/templates/report/inventree_build_order_report.html:98 +#: report/templates/report/inventree_purchase_order_report.html:40 +#: report/templates/report/inventree_sales_order_report.html:40 +#: report/templates/report/inventree_test_report.html:84 +#: report/templates/report/inventree_test_report.html:163 msgid "Part image" msgstr "Изображение детали" @@ -4344,16 +4357,16 @@ msgstr "Скачать изображение по ссылке" msgid "Delete image" msgstr "Удалить изображение" -#: company/templates/company/company_base.html:92 order/models.py:910 -#: order/models.py:2010 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:144 stock/models.py:804 -#: stock/models.py:805 stock/serializers.py:1100 +#: company/templates/company/company_base.html:92 order/models.py:941 +#: order/models.py:2059 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:148 stock/models.py:825 +#: stock/models.py:826 stock/serializers.py:1229 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 -#: templates/js/translated/return_order.js:296 -#: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2962 +#: templates/js/translated/return_order.js:295 +#: templates/js/translated/sales_order.js:820 +#: templates/js/translated/stock.js:2959 #: templates/js/translated/table_filters.js:808 msgid "Customer" msgstr "Покупатель" @@ -4362,10 +4375,10 @@ msgstr "Покупатель" msgid "Uses default currency" msgstr "Использовать валюту по умолчанию" -#: company/templates/company/company_base.html:124 order/models.py:341 +#: company/templates/company/company_base.html:124 order/models.py:354 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 -#: order/templates/order/sales_order_base.html:221 +#: order/templates/order/sales_order_base.html:225 msgid "Address" msgstr "Адрес" @@ -4374,7 +4387,7 @@ msgid "Phone" msgstr "Телефон" #: company/templates/company/company_base.html:211 -#: part/templates/part/part_base.html:528 +#: part/templates/part/part_base.html:527 msgid "Remove Image" msgstr "Удалить Изображение" @@ -4383,19 +4396,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:214 -#: part/templates/part/part_base.html:531 +#: part/templates/part/part_base.html:530 #: templates/InvenTree/settings/user.html:88 #: templates/InvenTree/settings/user_sso.html:43 msgid "Remove" msgstr "Удалить" #: company/templates/company/company_base.html:243 -#: part/templates/part/part_base.html:560 +#: part/templates/part/part_base.html:559 msgid "Upload Image" msgstr "Загрузить Изображение" #: company/templates/company/company_base.html:258 -#: part/templates/part/part_base.html:614 +#: part/templates/part/part_base.html:613 msgid "Download Image" msgstr "Скачать изображение" @@ -4558,7 +4571,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:821 +#: part/admin.py:122 part/serializers.py:836 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4609,10 +4622,10 @@ msgstr "Адреса" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:452 -#: stock/models.py:762 stock/templates/stock/item_base.html:233 +#: stock/models.py:783 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 -#: templates/js/translated/stock.js:2282 +#: templates/js/translated/stock.js:2280 msgid "Supplier Part" msgstr "Деталь поставщика" @@ -4658,11 +4671,11 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:509 +#: part/bom.py:311 part/serializers.py:524 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1851 -#: templates/js/translated/purchase_order.js:2029 +#: templates/js/translated/purchase_order.js:1850 +#: templates/js/translated/purchase_order.js:2028 msgid "SKU" msgstr "" @@ -4671,12 +4684,12 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:209 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:199 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:206 msgid "Create new stock item" msgstr "Создать новую складскую позицию" #: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:200 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:207 #: templates/js/translated/stock.js:537 msgid "New Stock Item" msgstr "Новая складская позиция" @@ -4708,16 +4721,16 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:820 part/stocktake.py:223 +#: part/serializers.py:835 part/stocktake.py:223 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:787 stock/serializers.py:951 +#: stock/serializers.py:916 stock/serializers.py:1080 #: stock/templates/stock/location.html:170 -#: stock/templates/stock/location.html:184 -#: stock/templates/stock/location.html:196 +#: stock/templates/stock/location.html:191 +#: stock/templates/stock/location.html:203 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2769 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 #: users/models.py:206 msgid "Stock Items" msgstr "Складские позиции" @@ -4751,126 +4764,48 @@ msgstr "Компании" msgid "New Company" msgstr "Новая компания" -#: label/api.py:247 -msgid "Error printing label" -msgstr "" - -#: label/models.py:120 -msgid "Label name" -msgstr "Имя метки" - -#: label/models.py:128 -msgid "Label description" -msgstr "" - -#: label/models.py:136 -msgid "Label" -msgstr "Метка" - -#: label/models.py:137 -msgid "Label template file" -msgstr "" - -#: label/models.py:143 part/models.py:3494 report/models.py:324 -#: templates/js/translated/part.js:2900 -#: templates/js/translated/table_filters.js:481 -msgid "Enabled" -msgstr "Включено" - -#: label/models.py:144 -msgid "Label template is enabled" -msgstr "" - -#: label/models.py:149 -msgid "Width [mm]" -msgstr "Ширина [мм]" - -#: label/models.py:150 -msgid "Label width, specified in mm" -msgstr "" - -#: label/models.py:156 -msgid "Height [mm]" -msgstr "Высота [мм]" - -#: label/models.py:157 -msgid "Label height, specified in mm" -msgstr "" - -#: label/models.py:163 report/models.py:317 -msgid "Filename Pattern" -msgstr "Шаблон имени файла" - -#: label/models.py:164 -msgid "Pattern for generating label filenames" -msgstr "" - -#: label/models.py:313 label/models.py:352 label/models.py:377 -#: label/models.py:412 -msgid "Query filters (comma-separated list of key=value pairs)" -msgstr "" - -#: label/models.py:314 label/models.py:353 label/models.py:378 -#: label/models.py:413 report/models.py:345 report/models.py:496 -#: report/models.py:532 report/models.py:568 report/models.py:750 -msgid "Filters" -msgstr "Фильтры" - -#: label/templates/label/part/part_label.html:31 -#: label/templates/label/stockitem/qr.html:21 -#: label/templates/label/stocklocation/qr.html:20 -#: templates/allauth_2fa/setup.html:18 -msgid "QR Code" -msgstr "QR Код" - -#: label/templates/label/part/part_label_code128.html:31 -#: label/templates/label/stocklocation/qr_and_text.html:31 -#: templates/qr_code.html:7 -msgid "QR code" -msgstr "QR код" - -#: machine/machine_types/label_printer.py:217 +#: machine/machine_types/label_printer.py:218 msgid "Copies" msgstr "" -#: machine/machine_types/label_printer.py:218 +#: machine/machine_types/label_printer.py:219 msgid "Number of copies to print for each label" msgstr "" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:234 msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:234 order/api.py:1515 -#: templates/js/translated/sales_order.js:1042 +#: machine/machine_types/label_printer.py:235 order/api.py:1515 +#: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "Неизвестно" -#: machine/machine_types/label_printer.py:235 +#: machine/machine_types/label_printer.py:236 msgid "Printing" msgstr "" -#: machine/machine_types/label_printer.py:236 +#: machine/machine_types/label_printer.py:237 msgid "No media" msgstr "" -#: machine/machine_types/label_printer.py:237 +#: machine/machine_types/label_printer.py:238 msgid "Disconnected" msgstr "" -#: machine/machine_types/label_printer.py:244 +#: machine/machine_types/label_printer.py:245 msgid "Label Printer" msgstr "" -#: machine/machine_types/label_printer.py:245 +#: machine/machine_types/label_printer.py:246 msgid "Directly print labels for various items." msgstr "" -#: machine/machine_types/label_printer.py:251 +#: machine/machine_types/label_printer.py:252 msgid "Printer Location" msgstr "" -#: machine/machine_types/label_printer.py:252 +#: machine/machine_types/label_printer.py:253 msgid "Scope the printer to a specific location" msgstr "" @@ -4930,19 +4865,19 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:89 -#: report/templates/report/inventree_po_report_base.html:31 -#: report/templates/report/inventree_so_report_base.html:31 +#: order/admin.py:30 order/models.py:90 +#: report/templates/report/inventree_purchase_order_report.html:31 +#: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2126 -#: templates/js/translated/sales_order.js:1847 +#: templates/js/translated/purchase_order.js:2125 +#: templates/js/translated/sales_order.js:1883 msgid "Total Price" msgstr "Общая стоимость" #: order/api.py:161 order/serializers.py:91 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 -#: order/templates/order/sales_order_base.html:118 +#: order/templates/order/sales_order_base.html:122 msgid "Order Status" msgstr "Статсу заказа" @@ -4955,10 +4890,10 @@ msgstr "Имеет цену" msgid "No matching purchase order found" msgstr "" -#: order/api.py:437 order/api.py:817 order/models.py:1382 order/models.py:1491 -#: order/models.py:1537 order/models.py:1651 order/models.py:1805 -#: order/models.py:2209 order/models.py:2260 -#: templates/js/translated/sales_order.js:1488 +#: order/api.py:437 order/api.py:817 order/models.py:1422 order/models.py:1531 +#: order/models.py:1577 order/models.py:1691 order/models.py:1845 +#: order/models.py:2258 order/models.py:2309 +#: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "Заказ" @@ -4970,402 +4905,398 @@ msgstr "" msgid "Order Pending" msgstr "" -#: order/api.py:1509 order/models.py:1383 order/models.py:1492 -#: order/templates/order/order_base.html:9 +#: order/api.py:1509 order/models.py:381 order/models.py:1423 +#: order/models.py:1532 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 -#: report/templates/report/inventree_po_report_base.html:14 -#: stock/templates/stock/item_base.html:176 +#: report/templates/report/inventree_purchase_order_report.html:14 +#: stock/serializers.py:119 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 -#: templates/js/translated/purchase_order.js:1674 -#: templates/js/translated/stock.js:2262 templates/js/translated/stock.js:2910 +#: templates/js/translated/purchase_order.js:1673 +#: templates/js/translated/stock.js:2260 templates/js/translated/stock.js:2907 msgid "Purchase Order" msgstr "Заказ на закупку" -#: order/api.py:1513 order/models.py:2210 order/models.py:2261 -#: order/templates/order/return_order_base.html:9 +#: order/api.py:1513 order/models.py:2008 order/models.py:2259 +#: order/models.py:2310 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:281 -#: templates/js/translated/stock.js:2944 +#: report/templates/report/inventree_return_order_report.html:13 +#: templates/js/translated/return_order.js:280 +#: templates/js/translated/stock.js:2941 msgid "Return Order" msgstr "Заказ на возврат" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:96 order/serializers.py:71 msgid "Order Currency" msgstr "Валюта Заказа" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:99 order/serializers.py:72 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:246 +#: order/models.py:248 msgid "Contact does not match selected company" msgstr "Контакт не соответствует выбранной компании" -#: order/models.py:278 +#: order/models.py:291 msgid "Order description (optional)" msgstr "Описание заказа (дополнительно)" -#: order/models.py:287 +#: order/models.py:300 msgid "Select project code for this order" msgstr "Выберите код проекта для этого заказа" -#: order/models.py:291 order/models.py:1288 order/models.py:1704 +#: order/models.py:304 order/models.py:1328 order/models.py:1744 msgid "Link to external page" msgstr "" -#: order/models.py:299 +#: order/models.py:312 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:313 +#: order/models.py:326 msgid "Created By" msgstr "Создал" -#: order/models.py:321 +#: order/models.py:334 msgid "User or group responsible for this order" msgstr "Пользователь или группа, ответственная за этот заказ" -#: order/models.py:332 +#: order/models.py:345 msgid "Point of contact for this order" msgstr "" -#: order/models.py:342 +#: order/models.py:355 msgid "Company address for this order" msgstr "" -#: order/models.py:443 order/models.py:899 +#: order/models.py:465 order/models.py:930 msgid "Order reference" msgstr "Ссылка на заказ" -#: order/models.py:451 order/models.py:923 +#: order/models.py:473 order/models.py:954 msgid "Purchase order status" msgstr "" -#: order/models.py:466 +#: order/models.py:488 msgid "Company from which the items are being ordered" msgstr "Компания, в которой детали заказываются" -#: order/models.py:477 order/templates/order/order_base.html:148 -#: templates/js/translated/purchase_order.js:1703 +#: order/models.py:499 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1702 msgid "Supplier Reference" msgstr "" -#: order/models.py:478 +#: order/models.py:500 msgid "Supplier order reference code" msgstr "" -#: order/models.py:487 +#: order/models.py:509 msgid "received by" msgstr "получил" -#: order/models.py:493 order/models.py:2036 +#: order/models.py:515 order/models.py:2085 msgid "Issue Date" msgstr "Дата создания" -#: order/models.py:494 order/models.py:2037 +#: order/models.py:516 order/models.py:2086 msgid "Date order was issued" msgstr "" -#: order/models.py:501 order/models.py:2044 +#: order/models.py:523 order/models.py:2093 msgid "Date order was completed" msgstr "" -#: order/models.py:545 +#: order/models.py:567 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:739 +#: order/models.py:761 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:911 +#: order/models.py:942 msgid "Company to which the items are being sold" msgstr "Компания, которой детали продаются" -#: order/models.py:934 order/models.py:2029 +#: order/models.py:965 order/models.py:2078 msgid "Customer Reference " msgstr "" -#: order/models.py:935 order/models.py:2030 +#: order/models.py:966 order/models.py:2079 msgid "Customer order reference code" msgstr "" -#: order/models.py:939 order/models.py:1658 -#: templates/js/translated/sales_order.js:843 -#: templates/js/translated/sales_order.js:1024 +#: order/models.py:970 order/models.py:1698 +#: templates/js/translated/sales_order.js:879 +#: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "Дата отгрузки" -#: order/models.py:948 +#: order/models.py:979 msgid "shipped by" msgstr "Отправлено" -#: order/models.py:999 -msgid "Order cannot be completed as no parts have been assigned" -msgstr "" - -#: order/models.py:1004 +#: order/models.py:1029 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1008 templates/js/translated/sales_order.js:506 +#: order/models.py:1033 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1013 +#: order/models.py:1038 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1260 +#: order/models.py:1300 msgid "Item quantity" msgstr "Количество" -#: order/models.py:1277 +#: order/models.py:1317 msgid "Line item reference" msgstr "" -#: order/models.py:1284 +#: order/models.py:1324 msgid "Line item notes" msgstr "Записи о позиции" -#: order/models.py:1296 +#: order/models.py:1336 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1317 +#: order/models.py:1357 msgid "Line item description (optional)" msgstr "Описание позиции (необязательно)" -#: order/models.py:1323 +#: order/models.py:1363 msgid "Context" msgstr "Контекст" -#: order/models.py:1324 +#: order/models.py:1364 msgid "Additional context for this line" msgstr "Дополнительный контекст для этой строки" -#: order/models.py:1334 +#: order/models.py:1374 msgid "Unit price" msgstr "Цена за единицу" -#: order/models.py:1367 +#: order/models.py:1407 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1374 +#: order/models.py:1414 msgid "deleted" msgstr "удалено" -#: order/models.py:1402 +#: order/models.py:1442 msgid "Supplier part" msgstr "Деталь поставщика" -#: order/models.py:1409 order/templates/order/order_base.html:196 +#: order/models.py:1449 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 #: templates/js/translated/purchase_order.js:1306 -#: templates/js/translated/purchase_order.js:2170 -#: templates/js/translated/return_order.js:764 +#: templates/js/translated/purchase_order.js:2169 +#: templates/js/translated/return_order.js:763 #: templates/js/translated/table_filters.js:120 #: templates/js/translated/table_filters.js:602 msgid "Received" msgstr "Получено" -#: order/models.py:1410 +#: order/models.py:1450 msgid "Number of items received" msgstr "" -#: order/models.py:1418 stock/models.py:923 stock/serializers.py:400 +#: order/models.py:1458 stock/models.py:944 stock/serializers.py:529 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2313 +#: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "Закупочная цена" -#: order/models.py:1419 +#: order/models.py:1459 msgid "Unit purchase price" msgstr "" -#: order/models.py:1434 +#: order/models.py:1474 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1525 +#: order/models.py:1565 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1530 +#: order/models.py:1570 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1556 part/templates/part/part_pricing.html:107 +#: order/models.py:1596 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "Цена продажи" -#: order/models.py:1557 +#: order/models.py:1597 msgid "Unit sale price" msgstr "Цена последней продажи" -#: order/models.py:1567 +#: order/models.py:1607 msgid "Shipped quantity" msgstr "Отгруженное кол-во" -#: order/models.py:1659 +#: order/models.py:1699 msgid "Date of shipment" msgstr "Дата отправления" -#: order/models.py:1665 templates/js/translated/sales_order.js:1036 +#: order/models.py:1705 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "Дата доставки" -#: order/models.py:1666 +#: order/models.py:1706 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1674 +#: order/models.py:1714 msgid "Checked By" msgstr "Проверн" -#: order/models.py:1675 +#: order/models.py:1715 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1682 order/models.py:1895 order/serializers.py:1354 -#: order/serializers.py:1464 templates/js/translated/model_renderers.js:448 +#: order/models.py:1722 order/models.py:1935 order/serializers.py:1354 +#: order/serializers.py:1464 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "Отправление" -#: order/models.py:1683 +#: order/models.py:1723 msgid "Shipment number" msgstr "Номер отправления" -#: order/models.py:1691 +#: order/models.py:1731 msgid "Tracking Number" msgstr "Номер отслеживания" -#: order/models.py:1692 +#: order/models.py:1732 msgid "Shipment tracking information" msgstr "Информация об отслеживании доставки" -#: order/models.py:1699 +#: order/models.py:1739 msgid "Invoice Number" msgstr "Номер счета" -#: order/models.py:1700 +#: order/models.py:1740 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1720 +#: order/models.py:1760 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1723 +#: order/models.py:1763 msgid "Shipment has no allocated stock items" msgstr "Отправка не имеет зарезервированных складских позиций" -#: order/models.py:1841 order/models.py:1843 +#: order/models.py:1881 order/models.py:1883 msgid "Stock item has not been assigned" msgstr "Складская позиция не была назначена" -#: order/models.py:1850 +#: order/models.py:1890 msgid "Cannot allocate stock item to a line with a different part" msgstr "Невозможно зарезервировать складскую позицию в позицию другой детали" -#: order/models.py:1853 +#: order/models.py:1893 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1856 +#: order/models.py:1896 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1875 order/serializers.py:1231 +#: order/models.py:1915 order/serializers.py:1231 msgid "Quantity must be 1 for serialized stock item" msgstr "Количество должно быть 1 для сериализированных складских позиций" -#: order/models.py:1878 +#: order/models.py:1918 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1879 plugin/base/barcodes/api.py:481 +#: order/models.py:1919 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1887 +#: order/models.py:1927 msgid "Line" msgstr "Строка" -#: order/models.py:1896 +#: order/models.py:1936 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1909 order/models.py:2217 -#: templates/js/translated/return_order.js:722 +#: order/models.py:1949 order/models.py:2266 +#: templates/js/translated/return_order.js:721 msgid "Item" msgstr "Элемент" -#: order/models.py:1910 +#: order/models.py:1950 msgid "Select stock item to allocate" msgstr "Выберите складскую позицию для резервирования" -#: order/models.py:1919 +#: order/models.py:1959 msgid "Enter stock allocation quantity" msgstr "Укажите резервируемое количество" -#: order/models.py:1999 +#: order/models.py:2048 msgid "Return Order reference" msgstr "" -#: order/models.py:2011 +#: order/models.py:2060 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2023 +#: order/models.py:2072 msgid "Return order status" msgstr "" -#: order/models.py:2202 +#: order/models.py:2251 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2218 +#: order/models.py:2267 msgid "Select item to return from customer" msgstr "Выберите позицию, возвращаемую от клиента" -#: order/models.py:2224 +#: order/models.py:2273 msgid "Received Date" msgstr "Дата получения" -#: order/models.py:2225 +#: order/models.py:2274 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2236 templates/js/translated/return_order.js:733 +#: order/models.py:2285 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "Результат" -#: order/models.py:2237 +#: order/models.py:2286 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2244 +#: order/models.py:2293 msgid "Cost associated with return or repair for this line item" msgstr "" #: order/serializers.py:80 order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 -#: report/templates/report/inventree_po_report_base.html:22 -#: report/templates/report/inventree_return_order_report_base.html:19 -#: report/templates/report/inventree_so_report_base.html:22 +#: report/templates/report/inventree_purchase_order_report.html:22 +#: report/templates/report/inventree_return_order_report.html:19 +#: report/templates/report/inventree_sales_order_report.html:22 msgid "Line Items" msgstr "Позиции" @@ -5595,7 +5526,7 @@ msgstr "" #: order/templates/order/order_base.html:84 #: order/templates/order/return_order_base.html:87 -#: order/templates/order/sales_order_base.html:93 +#: order/templates/order/sales_order_base.html:97 msgid "Complete Order" msgstr "Завершить заказ" @@ -5605,13 +5536,13 @@ msgstr "" #: order/templates/order/order_base.html:106 #: order/templates/order/return_order_base.html:101 -#: order/templates/order/sales_order_base.html:106 +#: order/templates/order/sales_order_base.html:110 msgid "Order Reference" msgstr "Ссылка на заказ" #: order/templates/order/order_base.html:111 #: order/templates/order/return_order_base.html:106 -#: order/templates/order/sales_order_base.html:111 +#: order/templates/order/sales_order_base.html:115 msgid "Order Description" msgstr "Описание заказа" @@ -5620,19 +5551,19 @@ msgid "No suppplier information available" msgstr "" #: order/templates/order/order_base.html:154 -#: order/templates/order/sales_order_base.html:157 +#: order/templates/order/sales_order_base.html:161 msgid "Completed Line Items" msgstr "Завершенные позиции" #: order/templates/order/order_base.html:160 -#: order/templates/order/sales_order_base.html:163 -#: order/templates/order/sales_order_base.html:173 +#: order/templates/order/sales_order_base.html:167 +#: order/templates/order/sales_order_base.html:177 msgid "Incomplete" msgstr "Не завершен" #: order/templates/order/order_base.html:179 #: order/templates/order/return_order_base.html:157 -#: report/templates/report/inventree_build_order_base.html:121 +#: report/templates/report/inventree_build_order_report.html:121 msgid "Issued" msgstr "Создан" @@ -5642,15 +5573,15 @@ msgstr "Общая стоимость" #: order/templates/order/order_base.html:228 #: order/templates/order/return_order_base.html:199 -#: order/templates/order/sales_order_base.html:239 +#: order/templates/order/sales_order_base.html:243 msgid "Total cost could not be calculated" msgstr "" -#: order/templates/order/order_base.html:318 +#: order/templates/order/order_base.html:314 msgid "Purchase Order QR Code" msgstr "" -#: order/templates/order/order_base.html:330 +#: order/templates/order/order_base.html:326 msgid "Link Barcode to Purchase Order" msgstr "" @@ -5707,8 +5638,8 @@ msgstr "Дублировать выбранное" #: templates/js/translated/build.js:1629 #: templates/js/translated/purchase_order.js:696 #: templates/js/translated/purchase_order.js:1236 -#: templates/js/translated/return_order.js:506 -#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/return_order.js:505 +#: templates/js/translated/sales_order.js:1145 #: templates/js/translated/stock.js:714 templates/js/translated/stock.js:883 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -5762,7 +5693,7 @@ msgstr "Позиции заказа на закупку" #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 #: templates/js/translated/purchase_order.js:414 -#: templates/js/translated/return_order.js:459 +#: templates/js/translated/return_order.js:458 #: templates/js/translated/sales_order.js:237 msgid "Add Line Item" msgstr "Добавить позицию" @@ -5811,30 +5742,30 @@ msgid "Print packing list" msgstr "" #: order/templates/order/return_order_base.html:138 -#: order/templates/order/sales_order_base.html:151 -#: templates/js/translated/return_order.js:309 -#: templates/js/translated/sales_order.js:797 +#: order/templates/order/sales_order_base.html:155 +#: templates/js/translated/return_order.js:308 +#: templates/js/translated/sales_order.js:833 msgid "Customer Reference" msgstr "" #: order/templates/order/return_order_base.html:195 -#: order/templates/order/sales_order_base.html:235 +#: order/templates/order/sales_order_base.html:239 #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1072 -#: templates/js/translated/purchase_order.js:1753 -#: templates/js/translated/return_order.js:381 -#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/purchase_order.js:1752 +#: templates/js/translated/return_order.js:380 +#: templates/js/translated/sales_order.js:891 msgid "Total Cost" msgstr "Общая Стоимость" -#: order/templates/order/return_order_base.html:263 +#: order/templates/order/return_order_base.html:259 msgid "Return Order QR Code" msgstr "" -#: order/templates/order/return_order_base.html:275 +#: order/templates/order/return_order_base.html:271 msgid "Link Barcode to Return Order" msgstr "" @@ -5852,25 +5783,30 @@ msgid "Ship Items" msgstr "Отправить" #: order/templates/order/sales_order_base.html:92 -#: templates/js/translated/sales_order.js:484 +#: order/templates/order/sales_order_base.html:93 +msgid "Mark As Shipped" +msgstr "" + +#: order/templates/order/sales_order_base.html:96 +#: templates/js/translated/sales_order.js:536 msgid "Complete Sales Order" msgstr "" -#: order/templates/order/sales_order_base.html:131 +#: order/templates/order/sales_order_base.html:135 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:169 +#: order/templates/order/sales_order_base.html:173 #: order/templates/order/sales_order_detail.html:99 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "" -#: order/templates/order/sales_order_base.html:312 +#: order/templates/order/sales_order_base.html:321 msgid "Sales Order QR Code" msgstr "" -#: order/templates/order/sales_order_base.html:324 +#: order/templates/order/sales_order_base.html:333 msgid "Link Barcode to Sales Order" msgstr "" @@ -5914,12 +5850,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:404 part/models.py:3921 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:406 part/models.py:3964 part/stocktake.py:218 #: stock/admin.py:153 msgid "Part ID" msgstr "Код детали" -#: part/admin.py:41 part/admin.py:411 part/models.py:3922 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:413 part/models.py:3965 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "Наименование детали" @@ -5928,20 +5864,20 @@ msgstr "Наименование детали" msgid "Part Description" msgstr "Описание детали" -#: part/admin.py:48 part/models.py:904 part/templates/part/part_base.html:269 -#: report/templates/report/inventree_slr_report.html:103 -#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2341 -#: templates/js/translated/stock.js:2038 +#: part/admin.py:48 part/models.py:947 part/templates/part/part_base.html:269 +#: report/templates/report/inventree_stock_location_report.html:103 +#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 +#: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:913 part/templates/part/part_base.html:277 -#: report/models.py:195 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2347 +#: part/admin.py:50 part/models.py:956 part/templates/part/part_base.html:277 +#: report/models.py:161 templates/js/translated/part.js:1231 +#: templates/js/translated/part.js:2346 msgid "Revision" msgstr "Ревизия" -#: part/admin.py:53 part/admin.py:317 part/models.py:886 +#: part/admin.py:53 part/admin.py:319 part/models.py:929 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "Ключевые слова" @@ -5950,15 +5886,15 @@ msgstr "Ключевые слова" msgid "Part Image" msgstr "Изображение Детали" -#: part/admin.py:63 part/admin.py:300 part/stocktake.py:221 +#: part/admin.py:63 part/admin.py:302 part/stocktake.py:221 msgid "Category ID" msgstr "Код категории" -#: part/admin.py:67 part/admin.py:302 part/stocktake.py:222 +#: part/admin.py:67 part/admin.py:304 part/stocktake.py:222 msgid "Category Name" msgstr "Название категории" -#: part/admin.py:71 part/admin.py:314 +#: part/admin.py:71 part/admin.py:316 msgid "Default Location ID" msgstr "" @@ -5966,11 +5902,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:872 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:915 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "Разновидность" -#: part/admin.py:84 part/models.py:1000 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1043 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "Минимальный запас" @@ -5983,160 +5919,164 @@ msgstr "Используется в" msgid "Building" msgstr "Производится" -#: part/admin.py:155 part/models.py:3080 part/models.py:3094 +#: part/admin.py:155 part/models.py:3123 part/models.py:3137 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "Минимальная Стоимость" -#: part/admin.py:158 part/models.py:3087 part/models.py:3101 +#: part/admin.py:158 part/models.py:3130 part/models.py:3144 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "Максимальная Стоимость" -#: part/admin.py:306 part/admin.py:393 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:211 msgid "Parent ID" msgstr "ID родителя" -#: part/admin.py:310 part/admin.py:400 stock/admin.py:62 +#: part/admin.py:312 part/admin.py:402 stock/admin.py:62 msgid "Parent Name" msgstr "Имя родителя" -#: part/admin.py:318 part/templates/part/category.html:88 +#: part/admin.py:320 part/templates/part/category.html:88 #: part/templates/part/category.html:101 msgid "Category Path" msgstr "Путь к категории" -#: part/admin.py:323 part/models.py:391 part/serializers.py:117 +#: part/admin.py:325 part/models.py:393 part/serializers.py:117 #: part/serializers.py:272 part/serializers.py:391 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2803 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "Детали" -#: part/admin.py:384 +#: part/admin.py:386 msgid "BOM Level" msgstr "Уровень BOM" -#: part/admin.py:387 +#: part/admin.py:389 msgid "BOM Item ID" msgstr "ID Элемента BOM" -#: part/admin.py:397 +#: part/admin.py:399 msgid "Parent IPN" msgstr "Родительский IPN" -#: part/admin.py:408 part/models.py:3923 +#: part/admin.py:410 part/models.py:3966 msgid "Part IPN" msgstr "IPN детали" -#: part/admin.py:421 part/serializers.py:1261 +#: part/admin.py:423 part/serializers.py:1276 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "Минимальная цена" -#: part/admin.py:426 part/serializers.py:1276 +#: part/admin.py:428 part/serializers.py:1291 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "Максимальная цена" -#: part/api.py:119 +#: part/api.py:112 msgid "Starred" msgstr "" -#: part/api.py:121 +#: part/api.py:114 msgid "Filter by starred categories" msgstr "" -#: part/api.py:138 stock/api.py:284 +#: part/api.py:131 stock/api.py:318 msgid "Depth" msgstr "" -#: part/api.py:138 +#: part/api.py:131 msgid "Filter by category depth" msgstr "" -#: part/api.py:156 stock/api.py:302 +#: part/api.py:149 stock/api.py:336 msgid "Cascade" msgstr "" -#: part/api.py:158 +#: part/api.py:151 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:178 +#: part/api.py:171 msgid "Parent" msgstr "" -#: part/api.py:180 +#: part/api.py:173 msgid "Filter by parent category" msgstr "" -#: part/api.py:213 +#: part/api.py:206 msgid "Exclude Tree" msgstr "" -#: part/api.py:215 +#: part/api.py:208 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:461 +#: part/api.py:455 msgid "Has Results" msgstr "" -#: part/api.py:628 +#: part/api.py:622 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:646 +#: part/api.py:640 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:662 +#: part/api.py:656 msgid "Stock produced by Build Order" msgstr "Остатки произведенные заказом на производство" -#: part/api.py:746 +#: part/api.py:740 msgid "Stock required for Build Order" msgstr "Остатки требуемые для заказов на производство" -#: part/api.py:893 +#: part/api.py:887 msgid "Valid" msgstr "Корректный" -#: part/api.py:894 +#: part/api.py:888 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:900 +#: part/api.py:894 msgid "This option must be selected" msgstr "Необходимо выбрать эту опцию" -#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866 -#: part/serializers.py:406 part/serializers.py:1117 -#: part/templates/part/part_base.html:260 stock/api.py:745 +#: part/api.py:1111 +msgid "BOM Valid" +msgstr "" + +#: part/api.py:1515 part/models.py:939 part/models.py:3429 part/models.py:3909 +#: part/serializers.py:406 part/serializers.py:1132 +#: part/templates/part/part_base.html:260 stock/api.py:779 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2377 +#: templates/js/translated/part.js:2376 msgid "Category" msgstr "Категория" -#: part/api.py:1849 +#: part/api.py:1803 msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:101 part/models.py:939 +#: part/bom.py:170 part/models.py:102 part/models.py:982 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "Место хранения по умолчанию" -#: part/bom.py:171 part/serializers.py:822 +#: part/bom.py:171 part/serializers.py:837 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "Общий запас" @@ -6145,698 +6085,712 @@ msgstr "Общий запас" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:82 part/models.py:3867 part/templates/part/category.html:16 +#: part/models.py:83 part/models.py:3910 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Категория детали" -#: part/models.py:83 part/templates/part/category.html:136 +#: part/models.py:84 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "Категория детали" -#: part/models.py:102 +#: part/models.py:103 msgid "Default location for parts in this category" msgstr "Место хранения по умолчанию для деталей этой категории" -#: part/models.py:107 stock/models.py:165 templates/js/translated/part.js:2810 -#: templates/js/translated/stock.js:2775 +#: part/models.py:108 stock/models.py:177 templates/js/translated/part.js:2809 +#: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "Структура" -#: part/models.py:109 +#: part/models.py:110 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "Детали не могут быть непосредственно отнесены к структурной категории, но могут быть отнесены к дочерним категориям." -#: part/models.py:118 +#: part/models.py:119 msgid "Default keywords" msgstr "Ключевые слова по умолчанию" -#: part/models.py:119 +#: part/models.py:120 msgid "Default keywords for parts in this category" msgstr "Ключевые слова по умолчанию для деталей этой категории" -#: part/models.py:125 stock/models.py:89 stock/models.py:148 +#: part/models.py:126 stock/models.py:89 stock/models.py:160 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "Иконка" -#: part/models.py:126 stock/models.py:149 +#: part/models.py:127 stock/models.py:161 msgid "Icon (optional)" msgstr "Иконка (необязательно)" -#: part/models.py:148 +#: part/models.py:149 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:484 +#: part/models.py:482 +msgid "Cannot delete this part as it is still active" +msgstr "" + +#: part/models.py:489 +msgid "Cannot delete this part as it is used in an assembly" +msgstr "" + +#: part/models.py:527 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:532 part/models.py:539 +#: part/models.py:575 part/models.py:582 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:551 +#: part/models.py:594 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:616 +#: part/models.py:659 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:696 +#: part/models.py:739 msgid "Stock item with this serial number already exists" msgstr "Складская позиция с этим серийным номером уже существует" -#: part/models.py:801 +#: part/models.py:844 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:811 +#: part/models.py:854 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:826 +#: part/models.py:869 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:855 part/models.py:3922 +#: part/models.py:898 part/models.py:3965 msgid "Part name" msgstr "Наименование детали" -#: part/models.py:860 +#: part/models.py:903 msgid "Is Template" msgstr "Шаблон" -#: part/models.py:861 +#: part/models.py:904 msgid "Is this part a template part?" msgstr "Эта деталь является шаблоном?" -#: part/models.py:871 +#: part/models.py:914 msgid "Is this part a variant of another part?" msgstr "Эта деталь является разновидностью другой детали?" -#: part/models.py:879 +#: part/models.py:922 msgid "Part description (optional)" msgstr "Описание детали (необязательно)" -#: part/models.py:887 +#: part/models.py:930 msgid "Part keywords to improve visibility in search results" msgstr "Ключевые слова для улучшения видимости в результатах поиска" -#: part/models.py:897 +#: part/models.py:940 msgid "Part category" msgstr "Категория" -#: part/models.py:905 +#: part/models.py:948 msgid "Internal Part Number" msgstr "Внутренний код детали" -#: part/models.py:912 +#: part/models.py:955 msgid "Part revision or version number" msgstr "Ревизия или серийный номер детали" -#: part/models.py:937 +#: part/models.py:980 msgid "Where is this item normally stored?" msgstr "Где обычно хранится эта деталь?" -#: part/models.py:983 part/templates/part/part_base.html:376 +#: part/models.py:1026 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "Поставщик по умолчанию" -#: part/models.py:984 +#: part/models.py:1027 msgid "Default supplier part" msgstr "" -#: part/models.py:991 +#: part/models.py:1034 msgid "Default Expiry" msgstr "Срок действия по умолчанию" -#: part/models.py:992 +#: part/models.py:1035 msgid "Expiry time (in days) for stock items of this part" msgstr "Срок годности (в днях) для складских позиций этой детали" -#: part/models.py:1001 +#: part/models.py:1044 msgid "Minimum allowed stock level" msgstr "Минимально допустимый складской запас" -#: part/models.py:1010 +#: part/models.py:1053 msgid "Units of measure for this part" msgstr "Единицы измерения этой детали" -#: part/models.py:1017 +#: part/models.py:1060 msgid "Can this part be built from other parts?" msgstr "Может ли эта деталь быть создана из других деталей?" -#: part/models.py:1023 +#: part/models.py:1066 msgid "Can this part be used to build other parts?" msgstr "Может ли эта деталь использоваться для создания других деталей?" -#: part/models.py:1029 +#: part/models.py:1072 msgid "Does this part have tracking for unique items?" msgstr "Является ли каждый экземпляр этой детали уникальным, обладающим серийным номером?" -#: part/models.py:1035 +#: part/models.py:1078 msgid "Can this part be purchased from external suppliers?" msgstr "Может ли эта деталь быть закуплена у внешних поставщиков?" -#: part/models.py:1041 +#: part/models.py:1084 msgid "Can this part be sold to customers?" msgstr "Может ли эта деталь быть продана покупателям?" -#: part/models.py:1045 +#: part/models.py:1088 msgid "Is this part active?" msgstr "Эта деталь активна?" -#: part/models.py:1051 +#: part/models.py:1094 msgid "Is this a virtual part, such as a software product or license?" msgstr "Эта деталь виртуальная, как программный продукт или лицензия?" -#: part/models.py:1057 +#: part/models.py:1100 msgid "BOM checksum" msgstr "Контрольная сумма BOM" -#: part/models.py:1058 +#: part/models.py:1101 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1066 +#: part/models.py:1109 msgid "BOM checked by" msgstr "BOM проверил" -#: part/models.py:1071 +#: part/models.py:1114 msgid "BOM checked date" msgstr "Дата проверки BOM" -#: part/models.py:1087 +#: part/models.py:1130 msgid "Creation User" msgstr "Создатель" -#: part/models.py:1097 +#: part/models.py:1140 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1102 part/templates/part/part_base.html:339 +#: part/models.py:1145 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 -#: templates/js/translated/part.js:2471 +#: templates/js/translated/part.js:2470 msgid "Last Stocktake" msgstr "Последняя инвентаризация" -#: part/models.py:1975 +#: part/models.py:2018 msgid "Sell multiple" msgstr "Продать несколько" -#: part/models.py:2994 +#: part/models.py:3037 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3010 +#: part/models.py:3053 msgid "Minimum BOM Cost" msgstr "Минимальная Стоимость BOM" -#: part/models.py:3011 +#: part/models.py:3054 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3017 +#: part/models.py:3060 msgid "Maximum BOM Cost" msgstr "Максимальная Стоимость BOM" -#: part/models.py:3018 +#: part/models.py:3061 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3024 +#: part/models.py:3067 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3025 +#: part/models.py:3068 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3031 +#: part/models.py:3074 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3032 +#: part/models.py:3075 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3038 +#: part/models.py:3081 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3039 +#: part/models.py:3082 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3045 +#: part/models.py:3088 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3046 +#: part/models.py:3089 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3052 +#: part/models.py:3095 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3053 +#: part/models.py:3096 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3059 +#: part/models.py:3102 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3060 +#: part/models.py:3103 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3066 +#: part/models.py:3109 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3067 +#: part/models.py:3110 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3073 +#: part/models.py:3116 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3074 +#: part/models.py:3117 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3081 +#: part/models.py:3124 msgid "Override minimum cost" msgstr "" -#: part/models.py:3088 +#: part/models.py:3131 msgid "Override maximum cost" msgstr "" -#: part/models.py:3095 +#: part/models.py:3138 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3102 +#: part/models.py:3145 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3108 +#: part/models.py:3151 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3109 +#: part/models.py:3152 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3115 +#: part/models.py:3158 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3116 +#: part/models.py:3159 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3122 +#: part/models.py:3165 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3123 +#: part/models.py:3166 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3129 +#: part/models.py:3172 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3130 +#: part/models.py:3173 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3149 +#: part/models.py:3192 msgid "Part for stocktake" msgstr "" -#: part/models.py:3154 +#: part/models.py:3197 msgid "Item Count" msgstr "Количество Элементов" -#: part/models.py:3155 +#: part/models.py:3198 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3163 +#: part/models.py:3206 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3167 part/models.py:3250 +#: part/models.py:3210 part/models.py:3293 #: part/templates/part/part_scheduling.html:13 -#: report/templates/report/inventree_test_report_base.html:106 +#: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 #: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 -#: templates/js/translated/purchase_order.js:1732 -#: templates/js/translated/stock.js:2824 +#: templates/js/translated/purchase_order.js:1731 +#: templates/js/translated/stock.js:2821 msgid "Date" msgstr "Дата" -#: part/models.py:3168 +#: part/models.py:3211 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3176 +#: part/models.py:3219 msgid "Additional notes" msgstr "Дополнительные Записи" -#: part/models.py:3186 +#: part/models.py:3229 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3192 +#: part/models.py:3235 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3193 +#: part/models.py:3236 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3199 +#: part/models.py:3242 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3200 +#: part/models.py:3243 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3256 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3299 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "Отчет" -#: part/models.py:3257 +#: part/models.py:3300 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3262 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3305 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "Количество Деталей" -#: part/models.py:3263 +#: part/models.py:3306 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3273 +#: part/models.py:3316 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3435 +#: part/models.py:3478 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3446 +#: part/models.py:3489 msgid "Test templates can only be created for trackable parts" msgstr "Шаблоны тестирования могут быть созданы только для отслеживаемых деталей" -#: part/models.py:3457 +#: part/models.py:3500 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3474 templates/js/translated/part.js:2879 +#: part/models.py:3517 templates/js/translated/part.js:2878 msgid "Test Name" msgstr "Название теста" -#: part/models.py:3475 +#: part/models.py:3518 msgid "Enter a name for the test" msgstr "Введите имя для теста" -#: part/models.py:3481 +#: part/models.py:3524 msgid "Test Key" msgstr "" -#: part/models.py:3482 +#: part/models.py:3525 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3489 +#: part/models.py:3532 msgid "Test Description" msgstr "Описание теста" -#: part/models.py:3490 +#: part/models.py:3533 msgid "Enter description for this test" msgstr "Введите описание для этого теста" -#: part/models.py:3494 +#: part/models.py:3537 report/models.py:208 +#: templates/js/translated/part.js:2899 +#: templates/js/translated/table_filters.js:481 +msgid "Enabled" +msgstr "Включено" + +#: part/models.py:3537 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3499 templates/js/translated/part.js:2908 +#: part/models.py:3542 templates/js/translated/part.js:2907 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "Требуется" -#: part/models.py:3500 +#: part/models.py:3543 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3505 templates/js/translated/part.js:2916 +#: part/models.py:3548 templates/js/translated/part.js:2915 msgid "Requires Value" msgstr "Требуется значение" -#: part/models.py:3506 +#: part/models.py:3549 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3511 templates/js/translated/part.js:2923 +#: part/models.py:3554 templates/js/translated/part.js:2922 msgid "Requires Attachment" msgstr "" -#: part/models.py:3513 +#: part/models.py:3556 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3560 +#: part/models.py:3603 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3565 +#: part/models.py:3608 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3585 +#: part/models.py:3628 msgid "Choices must be unique" msgstr "" -#: part/models.py:3602 +#: part/models.py:3645 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3617 +#: part/models.py:3660 msgid "Parameter Name" msgstr "Название параметра" -#: part/models.py:3624 +#: part/models.py:3667 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3632 +#: part/models.py:3675 msgid "Parameter description" msgstr "" -#: part/models.py:3638 templates/js/translated/part.js:1627 +#: part/models.py:3681 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "Чекбокс" -#: part/models.py:3639 +#: part/models.py:3682 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3644 templates/js/translated/part.js:1636 +#: part/models.py:3687 templates/js/translated/part.js:1636 msgid "Choices" msgstr "Варианты" -#: part/models.py:3645 +#: part/models.py:3688 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3722 +#: part/models.py:3765 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3765 +#: part/models.py:3808 msgid "Parent Part" msgstr "Родительская деталь" -#: part/models.py:3773 part/models.py:3874 part/models.py:3875 +#: part/models.py:3816 part/models.py:3917 part/models.py:3918 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "Шаблон параметра" -#: part/models.py:3778 +#: part/models.py:3821 msgid "Data" msgstr "Данные" -#: part/models.py:3779 +#: part/models.py:3822 msgid "Parameter Value" msgstr "Значение Параметра" -#: part/models.py:3881 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3924 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "Значение по умолчанию" -#: part/models.py:3882 +#: part/models.py:3925 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3920 +#: part/models.py:3963 msgid "Part ID or part name" msgstr "Код или наименование детали" -#: part/models.py:3921 +#: part/models.py:3964 msgid "Unique part ID value" msgstr "" -#: part/models.py:3923 +#: part/models.py:3966 msgid "Part IPN value" msgstr "Значение IPN" -#: part/models.py:3924 +#: part/models.py:3967 msgid "Level" msgstr "Уровень" -#: part/models.py:3924 +#: part/models.py:3967 msgid "BOM level" msgstr "Уровень BOM" -#: part/models.py:4014 +#: part/models.py:4057 msgid "Select parent part" msgstr "Выберите родительскую деталь" -#: part/models.py:4024 +#: part/models.py:4067 msgid "Sub part" msgstr "Суб-деталь" -#: part/models.py:4025 +#: part/models.py:4068 msgid "Select part to be used in BOM" msgstr "Выбрать деталь для использования в BOM" -#: part/models.py:4036 +#: part/models.py:4079 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4042 +#: part/models.py:4085 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4048 +#: part/models.py:4091 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "Эта позиция - расходник. (она не отслеживается в заказах на производство)" -#: part/models.py:4055 part/templates/part/upload_bom.html:55 +#: part/models.py:4098 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Перерасход" -#: part/models.py:4056 +#: part/models.py:4099 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Расчетное количество перерасходов производства (абсолютное или процентное)" -#: part/models.py:4063 +#: part/models.py:4106 msgid "BOM item reference" msgstr "" -#: part/models.py:4071 +#: part/models.py:4114 msgid "BOM item notes" msgstr "Записи о позиции BOM" -#: part/models.py:4077 +#: part/models.py:4120 msgid "Checksum" msgstr "Контрольная сумма" -#: part/models.py:4078 +#: part/models.py:4121 msgid "BOM line checksum" msgstr "" -#: part/models.py:4083 templates/js/translated/table_filters.js:174 +#: part/models.py:4126 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "Проверен" -#: part/models.py:4084 +#: part/models.py:4127 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4089 part/templates/part/upload_bom.html:57 +#: part/models.py:4132 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4090 +#: part/models.py:4133 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4095 part/templates/part/upload_bom.html:56 +#: part/models.py:4138 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "Разрешить разновидности" -#: part/models.py:4096 +#: part/models.py:4139 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Складские позиции для разновидностей деталей могут быть использованы для этой позиции BOM" -#: part/models.py:4181 stock/models.py:647 +#: part/models.py:4224 stock/models.py:668 msgid "Quantity must be integer value for trackable parts" msgstr "Для отслеживаемых деталей количество должно быть целым числом" -#: part/models.py:4191 part/models.py:4193 +#: part/models.py:4234 part/models.py:4236 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4333 +#: part/models.py:4376 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4354 +#: part/models.py:4397 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4367 +#: part/models.py:4410 msgid "Parent BOM item" msgstr "Позиция BOM-родителя" -#: part/models.py:4375 +#: part/models.py:4418 msgid "Substitute part" msgstr "Замена детали" -#: part/models.py:4391 +#: part/models.py:4434 msgid "Part 1" msgstr "Часть 1" -#: part/models.py:4399 +#: part/models.py:4442 msgid "Part 2" msgstr "Часть 2" -#: part/models.py:4400 +#: part/models.py:4443 msgid "Select Related Part" msgstr "Выберите связанную часть" -#: part/models.py:4419 +#: part/models.py:4462 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4424 +#: part/models.py:4467 msgid "Duplicate relationship already exists" msgstr "" @@ -6854,7 +6808,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:406 +#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:535 msgid "Purchase currency of this stock item" msgstr "Валюта закупки складской позиции" @@ -6870,299 +6824,299 @@ msgstr "Не выбрана ни одна деталь" msgid "Select category" msgstr "Выберите категорию" -#: part/serializers.py:437 +#: part/serializers.py:442 msgid "Original Part" msgstr "Оригинальная деталь" -#: part/serializers.py:438 +#: part/serializers.py:443 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:448 msgid "Copy Image" msgstr "Копировать Изображение" -#: part/serializers.py:444 +#: part/serializers.py:449 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:450 part/templates/part/detail.html:277 +#: part/serializers.py:455 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "Скопировать BOM" -#: part/serializers.py:451 +#: part/serializers.py:456 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:462 msgid "Copy Parameters" msgstr "Скопировать параметры" -#: part/serializers.py:458 +#: part/serializers.py:463 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:464 +#: part/serializers.py:469 msgid "Copy Notes" msgstr "Копировать Записи" -#: part/serializers.py:465 +#: part/serializers.py:470 msgid "Copy notes from original part" msgstr "Скопировать записи из оригинальной детали" -#: part/serializers.py:478 +#: part/serializers.py:488 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:490 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:487 +#: part/serializers.py:497 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:488 +#: part/serializers.py:498 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:500 +#: part/serializers.py:515 msgid "Select supplier (or leave blank to skip)" msgstr "Выберите поставщика (или оставьте поле пустым, чтобы пропустить)" -#: part/serializers.py:516 +#: part/serializers.py:531 msgid "Select manufacturer (or leave blank to skip)" msgstr "Выберите поставщика (или оставьте поле пустым, чтобы пропустить)" -#: part/serializers.py:526 +#: part/serializers.py:541 msgid "Manufacturer part number" msgstr "Код производителя" -#: part/serializers.py:533 +#: part/serializers.py:548 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:542 +#: part/serializers.py:557 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:553 +#: part/serializers.py:568 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:560 +#: part/serializers.py:575 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:823 +#: part/serializers.py:838 msgid "External Stock" msgstr "" -#: part/serializers.py:825 +#: part/serializers.py:840 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:828 +#: part/serializers.py:843 msgid "Variant Stock" msgstr "" -#: part/serializers.py:856 part/templates/part/copy_part.html:9 +#: part/serializers.py:871 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "Дублировать деталь" -#: part/serializers.py:857 +#: part/serializers.py:872 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:863 templates/js/translated/part.js:102 +#: part/serializers.py:878 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "Начальный запас" -#: part/serializers.py:864 +#: part/serializers.py:879 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:870 +#: part/serializers.py:885 msgid "Supplier Information" msgstr "" -#: part/serializers.py:871 +#: part/serializers.py:886 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:879 +#: part/serializers.py:894 msgid "Copy Category Parameters" msgstr "Копировать параметры категории" -#: part/serializers.py:880 +#: part/serializers.py:895 msgid "Copy parameter templates from selected part category" msgstr "Копировать шаблоны параметров из выбранной категории деталей" -#: part/serializers.py:885 +#: part/serializers.py:900 msgid "Existing Image" msgstr "Существующее изображение" -#: part/serializers.py:886 +#: part/serializers.py:901 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:918 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1109 +#: part/serializers.py:1124 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1119 +#: part/serializers.py:1134 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1129 +#: part/serializers.py:1144 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1135 +#: part/serializers.py:1150 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1136 +#: part/serializers.py:1151 msgid "Exclude stock items in external locations" msgstr "Исключить складские позиции в внешних местах хранения" -#: part/serializers.py:1141 +#: part/serializers.py:1156 msgid "Generate Report" msgstr "Создать отчет" -#: part/serializers.py:1142 +#: part/serializers.py:1157 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1147 +#: part/serializers.py:1162 msgid "Update Parts" msgstr "Обновить детали" -#: part/serializers.py:1148 +#: part/serializers.py:1163 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1156 +#: part/serializers.py:1171 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1262 +#: part/serializers.py:1277 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1269 +#: part/serializers.py:1284 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1277 +#: part/serializers.py:1292 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1284 +#: part/serializers.py:1299 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1313 +#: part/serializers.py:1328 msgid "Update" msgstr "Обновить" -#: part/serializers.py:1314 +#: part/serializers.py:1329 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1337 +#: part/serializers.py:1352 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1344 +#: part/serializers.py:1359 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1347 +#: part/serializers.py:1362 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1714 +#: part/serializers.py:1729 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1722 +#: part/serializers.py:1737 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1723 +#: part/serializers.py:1738 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1728 +#: part/serializers.py:1743 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1729 +#: part/serializers.py:1744 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1734 +#: part/serializers.py:1749 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1735 +#: part/serializers.py:1750 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1755 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1756 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1775 +#: part/serializers.py:1790 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1776 +#: part/serializers.py:1791 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1806 +#: part/serializers.py:1821 msgid "No part column specified" msgstr "" -#: part/serializers.py:1850 +#: part/serializers.py:1865 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1853 +#: part/serializers.py:1868 msgid "No matching part found" msgstr "Подходящая деталь не найдена" -#: part/serializers.py:1856 +#: part/serializers.py:1871 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1865 +#: part/serializers.py:1880 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1888 msgid "Invalid quantity" msgstr "Некорректное количество" -#: part/serializers.py:1894 +#: part/serializers.py:1909 msgid "At least one BOM item is required" msgstr "" #: part/stocktake.py:224 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:2085 +#: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "Общее количество" @@ -7314,7 +7268,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2218 users/models.py:204 +#: templates/js/translated/stock.js:2216 users/models.py:204 msgid "Stocktake" msgstr "Инвентаризация" @@ -7412,15 +7366,15 @@ msgstr "Поставщики" msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:659 +#: part/templates/part/detail.html:655 msgid "Related Part" msgstr "Связанная деталь" -#: part/templates/part/detail.html:667 +#: part/templates/part/detail.html:663 msgid "Add Related Part" msgstr "Добавить связанную деталь" -#: part/templates/part/detail.html:752 +#: part/templates/part/detail.html:748 msgid "Add Test Result Template" msgstr "" @@ -7479,7 +7433,7 @@ msgstr "Включить уведомления для данной детали #: part/templates/part/part_base.html:52 #: stock/templates/stock/item_base.html:62 -#: stock/templates/stock/location.html:74 +#: stock/templates/stock/location.html:74 templates/js/translated/label.js:142 msgid "Print Label" msgstr "Печать этикетки" @@ -7501,7 +7455,7 @@ msgstr "Установить запасы детали" msgid "Transfer part stock" msgstr "Переместить запасы детали" -#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2293 +#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2292 msgid "Part actions" msgstr "Действия с деталью" @@ -7550,7 +7504,7 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:163 -#: part/templates/part/part_base.html:682 +#: part/templates/part/part_base.html:681 msgid "Show Part Details" msgstr "Показать описание детали" @@ -7573,7 +7527,7 @@ msgid "Minimum stock level" msgstr "Минимальный складской запас" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2444 +#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2443 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7596,19 +7550,19 @@ msgstr "QR-код детали" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:512 +#: part/templates/part/part_base.html:511 msgid "Calculate" msgstr "Рассчитать" -#: part/templates/part/part_base.html:529 +#: part/templates/part/part_base.html:528 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:580 +#: part/templates/part/part_base.html:579 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:676 +#: part/templates/part/part_base.html:675 msgid "Hide Part Details" msgstr "Скрыть описание детали" @@ -7667,8 +7621,8 @@ msgstr "Разновидности" #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 -#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 -#: templates/js/translated/stock.js:2072 templates/navbar.html:31 +#: templates/js/translated/part.js:2391 templates/js/translated/stock.js:1059 +#: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "Склад" @@ -7714,7 +7668,7 @@ msgstr "Редактировать" #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 -#: templates/js/translated/stock.js:2248 +#: templates/js/translated/stock.js:2246 msgid "Last Updated" msgstr "Последнее обновление" @@ -7786,7 +7740,7 @@ msgid "Update Pricing" msgstr "Обновить цены" #: part/templates/part/stock_count.html:7 -#: templates/js/translated/model_renderers.js:221 +#: templates/js/translated/model_renderers.js:227 #: templates/js/translated/part.js:704 templates/js/translated/part.js:2140 #: templates/js/translated/part.js:2142 msgid "No Stock" @@ -7866,7 +7820,7 @@ msgstr "Изображение детали не найдено" msgid "Part Pricing" msgstr "Цена Детали" -#: plugin/api.py:168 +#: plugin/api.py:170 msgid "Plugin cannot be deleted as it is currently active" msgstr "" @@ -7933,7 +7887,7 @@ msgid "Stock item does not match line item" msgstr "Складская позиция не соответствует позиции" #: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2589 -#: templates/js/translated/sales_order.js:1917 +#: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "" @@ -8027,22 +7981,18 @@ msgstr "" msgid "Quantity to allocate" msgstr "" -#: plugin/base/label/label.py:39 +#: plugin/base/label/label.py:39 templates/js/translated/label.js:154 msgid "Label printing failed" msgstr "" -#: plugin/base/label/mixins.py:63 +#: plugin/base/label/mixins.py:56 msgid "Error rendering label to PDF" msgstr "" -#: plugin/base/label/mixins.py:76 +#: plugin/base/label/mixins.py:70 msgid "Error rendering label to HTML" msgstr "" -#: plugin/base/label/mixins.py:111 -msgid "Error rendering label to PNG" -msgstr "" - #: plugin/builtin/barcodes/inventree_barcode.py:25 msgid "InvenTree Barcodes" msgstr "" @@ -8054,7 +8004,7 @@ msgstr "" #: plugin/builtin/barcodes/inventree_barcode.py:28 #: plugin/builtin/integration/core_notifications.py:35 #: plugin/builtin/integration/currency_exchange.py:21 -#: plugin/builtin/labels/inventree_label.py:23 +#: plugin/builtin/labels/inventree_label.py:22 #: plugin/builtin/labels/inventree_machine.py:64 #: plugin/builtin/labels/label_sheet.py:63 #: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 @@ -8108,19 +8058,19 @@ msgstr "" msgid "Default currency exchange integration" msgstr "" -#: plugin/builtin/labels/inventree_label.py:20 +#: plugin/builtin/labels/inventree_label.py:19 msgid "InvenTree PDF label printer" msgstr "" -#: plugin/builtin/labels/inventree_label.py:21 +#: plugin/builtin/labels/inventree_label.py:20 msgid "Provides native support for printing PDF labels" msgstr "" -#: plugin/builtin/labels/inventree_label.py:29 +#: plugin/builtin/labels/inventree_label.py:28 msgid "Debug mode" msgstr "Режим отладки" -#: plugin/builtin/labels/inventree_label.py:30 +#: plugin/builtin/labels/inventree_label.py:29 msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "" @@ -8132,11 +8082,11 @@ msgstr "" msgid "Provides support for printing using a machine" msgstr "" -#: plugin/builtin/labels/inventree_machine.py:150 +#: plugin/builtin/labels/inventree_machine.py:151 msgid "last used" msgstr "" -#: plugin/builtin/labels/inventree_machine.py:167 +#: plugin/builtin/labels/inventree_machine.py:168 msgid "Options" msgstr "" @@ -8160,7 +8110,7 @@ msgstr "Граница" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:47 report/models.py:209 +#: plugin/builtin/labels/label_sheet.py:47 report/models.py:308 msgid "Landscape" msgstr "Альбомная" @@ -8176,11 +8126,11 @@ msgstr "" msgid "Arrays multiple labels onto a single sheet" msgstr "" -#: plugin/builtin/labels/label_sheet.py:94 +#: plugin/builtin/labels/label_sheet.py:99 msgid "Label is too large for page size" msgstr "" -#: plugin/builtin/labels/label_sheet.py:128 +#: plugin/builtin/labels/label_sheet.py:133 msgid "No labels were generated" msgstr "" @@ -8273,61 +8223,62 @@ msgstr "" msgid "Uninstalled plugin successfully" msgstr "" -#: plugin/models.py:30 +#: plugin/models.py:35 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:31 +#: plugin/models.py:36 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:34 users/models.py:100 +#: plugin/models.py:42 users/models.py:100 msgid "Key" msgstr "Ключ" -#: plugin/models.py:34 +#: plugin/models.py:43 msgid "Key of plugin" msgstr "Ключ плагина" -#: plugin/models.py:42 +#: plugin/models.py:51 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:49 plugin/serializers.py:90 +#: plugin/models.py:58 plugin/serializers.py:90 msgid "Package Name" msgstr "Имя Упаковки" -#: plugin/models.py:51 +#: plugin/models.py:60 msgid "Name of the installed package, if the plugin was installed via PIP" msgstr "" -#: plugin/models.py:56 +#: plugin/models.py:65 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:147 templates/js/translated/table_filters.js:370 +#: plugin/models.py:156 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "Установлено" -#: plugin/models.py:156 +#: plugin/models.py:165 msgid "Sample plugin" msgstr "Образец плагина" -#: plugin/models.py:164 +#: plugin/models.py:173 msgid "Builtin Plugin" msgstr "Встроенный плагин" -#: plugin/models.py:172 +#: plugin/models.py:181 msgid "Package Plugin" msgstr "" -#: plugin/models.py:196 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:205 report/models.py:475 +#: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" msgstr "Плагин" -#: plugin/models.py:243 +#: plugin/models.py:252 msgid "Method" msgstr "Метод" @@ -8468,239 +8419,323 @@ msgstr "" msgid "Delete the plugin configuration from the database" msgstr "" -#: report/api.py:158 +#: report/api.py:77 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:197 report/api.py:234 +#: report/api.py:89 report/serializers.py:53 +msgid "Model Type" +msgstr "" + +#: report/api.py:92 report/models.py:439 report/serializers.py:98 +#: report/serializers.py:148 templates/js/translated/purchase_order.js:1747 +#: templates/js/translated/return_order.js:353 +#: templates/js/translated/sales_order.js:887 +#: templates/js/translated/sales_order.js:1047 +msgid "Items" +msgstr "Элементы" + +#: report/api.py:168 +msgid "Plugin not found" +msgstr "" + +#: report/api.py:170 +msgid "Plugin is not active" +msgstr "" + +#: report/api.py:172 +msgid "Plugin does not support label printing" +msgstr "" + +#: report/api.py:221 +msgid "Invalid label dimensions" +msgstr "" + +#: report/api.py:236 report/api.py:316 +msgid "No valid items provided to template" +msgstr "" + +#: report/api.py:271 +msgid "Error printing label" +msgstr "" + +#: report/api.py:362 report/api.py:398 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:319 -msgid "Test report" -msgstr "Отчет тестирования" - -#: report/helpers.py:15 +#: report/helpers.py:41 msgid "A4" msgstr "" -#: report/helpers.py:16 +#: report/helpers.py:42 msgid "A3" msgstr "" -#: report/helpers.py:17 +#: report/helpers.py:43 msgid "Legal" msgstr "Правовая информация" -#: report/helpers.py:18 +#: report/helpers.py:44 msgid "Letter" msgstr "Письмо" -#: report/models.py:177 +#: report/models.py:118 +msgid "Template file with this name already exists" +msgstr "" + +#: report/models.py:150 msgid "Template name" msgstr "Название шаблона" -#: report/models.py:183 -msgid "Report template file" -msgstr "Файл шаблона отчёта" - -#: report/models.py:190 -msgid "Report template description" +#: report/models.py:156 +msgid "Template description" msgstr "" -#: report/models.py:196 -msgid "Report revision number (auto-increments)" +#: report/models.py:162 +msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:204 +#: report/models.py:202 +msgid "Filename Pattern" +msgstr "Шаблон имени файла" + +#: report/models.py:203 +msgid "Pattern for generating filenames" +msgstr "" + +#: report/models.py:208 +msgid "Template is enabled" +msgstr "" + +#: report/models.py:214 +msgid "Target model type for template" +msgstr "" + +#: report/models.py:234 +msgid "Filters" +msgstr "Фильтры" + +#: report/models.py:235 +msgid "Template query filters (comma-separated list of key=value pairs)" +msgstr "" + +#: report/models.py:295 report/models.py:362 +msgid "Template file" +msgstr "" + +#: report/models.py:303 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:210 +#: report/models.py:309 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:318 -msgid "Pattern for generating report filenames" +#: report/models.py:368 +msgid "Width [mm]" +msgstr "Ширина [мм]" + +#: report/models.py:369 +msgid "Label width, specified in mm" msgstr "" -#: report/models.py:325 -msgid "Report template is enabled" +#: report/models.py:375 +msgid "Height [mm]" +msgstr "Высота [мм]" + +#: report/models.py:376 +msgid "Label height, specified in mm" msgstr "" -#: report/models.py:347 -msgid "StockItem query filters (comma-separated list of key=value pairs)" +#: report/models.py:439 +msgid "Number of items to process" msgstr "" -#: report/models.py:354 -msgid "Include Installed Tests" +#: report/models.py:445 +msgid "Report generation is complete" msgstr "" -#: report/models.py:356 -msgid "Include test results for stock items installed inside assembled item" -msgstr "Включить результаты тестирования для складских позиций установленных в производимую деталь" +#: report/models.py:449 templates/js/translated/build.js:2177 +msgid "Progress" +msgstr "Прогресс" -#: report/models.py:424 -msgid "Build Filters" -msgstr "Фильтры производства" - -#: report/models.py:425 -msgid "Build query filters (comma-separated list of key=value pairs" -msgstr "Фильтры запросов производства (разделенные запятыми список ключей=значения пар ключей" - -#: report/models.py:464 -msgid "Part Filters" -msgstr "Фильтры деталей" - -#: report/models.py:465 -msgid "Part query filters (comma-separated list of key=value pairs" +#: report/models.py:449 +msgid "Report generation progress" msgstr "" -#: report/models.py:497 -msgid "Purchase order query filters" +#: report/models.py:457 +msgid "Report Template" msgstr "" -#: report/models.py:533 -msgid "Sales order query filters" +#: report/models.py:464 report/models.py:487 +msgid "Output File" msgstr "" -#: report/models.py:569 -msgid "Return order query filters" +#: report/models.py:465 report/models.py:488 +msgid "Generated output file" msgstr "" -#: report/models.py:641 -msgid "Snippet file with this name already exists" +#: report/models.py:476 +msgid "Label output plugin" msgstr "" -#: report/models.py:648 +#: report/models.py:480 +msgid "Label Template" +msgstr "" + +#: report/models.py:503 msgid "Snippet" msgstr "Сниппет" -#: report/models.py:649 +#: report/models.py:504 msgid "Report snippet file" msgstr "" -#: report/models.py:656 +#: report/models.py:511 msgid "Snippet file description" msgstr "" -#: report/models.py:714 -msgid "Asset file with this name already exists" -msgstr "" - -#: report/models.py:722 +#: report/models.py:529 msgid "Asset" msgstr "Объект" -#: report/models.py:723 +#: report/models.py:530 msgid "Report asset file" msgstr "" -#: report/models.py:730 +#: report/models.py:537 msgid "Asset file description" msgstr "" -#: report/models.py:752 -msgid "stock location query filters (comma-separated list of key=value pairs)" +#: report/serializers.py:91 +msgid "Select report template" msgstr "" +#: report/serializers.py:99 report/serializers.py:149 +msgid "List of item primary keys to include in the report" +msgstr "" + +#: report/serializers.py:132 +msgid "Select label template" +msgstr "" + +#: report/serializers.py:140 +msgid "Printing Plugin" +msgstr "" + +#: report/serializers.py:141 +msgid "Select plugin to use for label printing" +msgstr "" + +#: report/templates/label/part_label.html:31 +#: report/templates/label/stockitem_qr.html:21 +#: report/templates/label/stocklocation_qr.html:20 +#: templates/allauth_2fa/setup.html:18 +msgid "QR Code" +msgstr "QR Код" + +#: report/templates/label/part_label_code128.html:31 +#: report/templates/label/stocklocation_qr_and_text.html:31 +#: templates/qr_code.html:7 +msgid "QR code" +msgstr "QR код" + #: report/templates/report/inventree_bill_of_materials_report.html:133 msgid "Materials needed" msgstr "Необходимые материалы" -#: report/templates/report/inventree_build_order_base.html:146 +#: report/templates/report/inventree_build_order_report.html:146 msgid "Required For" msgstr "Требуется для" -#: report/templates/report/inventree_po_report_base.html:15 +#: report/templates/report/inventree_purchase_order_report.html:15 msgid "Supplier was deleted" msgstr "" -#: report/templates/report/inventree_po_report_base.html:30 -#: report/templates/report/inventree_so_report_base.html:30 +#: report/templates/report/inventree_purchase_order_report.html:30 +#: report/templates/report/inventree_sales_order_report.html:30 #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:834 -#: templates/js/translated/purchase_order.js:2116 -#: templates/js/translated/sales_order.js:1837 +#: templates/js/translated/purchase_order.js:2115 +#: templates/js/translated/sales_order.js:1873 msgid "Unit Price" msgstr "Цена за Единицу" -#: report/templates/report/inventree_po_report_base.html:55 -#: report/templates/report/inventree_return_order_report_base.html:48 -#: report/templates/report/inventree_so_report_base.html:55 +#: report/templates/report/inventree_purchase_order_report.html:55 +#: report/templates/report/inventree_return_order_report.html:48 +#: report/templates/report/inventree_sales_order_report.html:55 msgid "Extra Line Items" 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:2018 -#: templates/js/translated/sales_order.js:1806 +#: report/templates/report/inventree_purchase_order_report.html:72 +#: report/templates/report/inventree_sales_order_report.html:72 +#: templates/js/translated/purchase_order.js:2017 +#: templates/js/translated/sales_order.js:1842 msgid "Total" msgstr "Всего" -#: report/templates/report/inventree_return_order_report_base.html:25 -#: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:809 stock/templates/stock/item_base.html:311 +#: report/templates/report/inventree_return_order_report.html:25 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:830 +#: stock/serializers.py:150 stock/templates/stock/item_base.html:311 #: templates/js/translated/build.js:519 templates/js/translated/build.js:1367 #: templates/js/translated/build.js:2355 -#: templates/js/translated/model_renderers.js:224 -#: templates/js/translated/return_order.js:540 -#: templates/js/translated/return_order.js:724 +#: templates/js/translated/model_renderers.js:230 +#: templates/js/translated/return_order.js:539 +#: templates/js/translated/return_order.js:723 #: templates/js/translated/sales_order.js:315 -#: templates/js/translated/sales_order.js:1611 -#: templates/js/translated/sales_order.js:1696 +#: templates/js/translated/sales_order.js:1647 +#: templates/js/translated/sales_order.js:1732 #: templates/js/translated/stock.js:596 msgid "Serial Number" msgstr "Серийный номер" -#: report/templates/report/inventree_slr_report.html:97 +#: report/templates/report/inventree_stock_location_report.html:97 msgid "Stock location items" msgstr "" -#: report/templates/report/inventree_test_report_base.html:21 +#: report/templates/report/inventree_test_report.html:21 msgid "Stock Item Test Report" msgstr "Отчет тестирования складской позиции" -#: report/templates/report/inventree_test_report_base.html:97 +#: report/templates/report/inventree_test_report.html:97 msgid "Test Results" msgstr "Результаты тестирования" -#: report/templates/report/inventree_test_report_base.html:102 +#: report/templates/report/inventree_test_report.html:102 #: templates/js/translated/stock.js:1495 msgid "Test" msgstr "Тестирование" -#: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2442 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2419 msgid "Result" msgstr "Результат" -#: report/templates/report/inventree_test_report_base.html:130 +#: report/templates/report/inventree_test_report.html:130 msgid "Pass" msgstr "Прошел" -#: report/templates/report/inventree_test_report_base.html:132 +#: report/templates/report/inventree_test_report.html:132 msgid "Fail" msgstr "Провален" -#: report/templates/report/inventree_test_report_base.html:139 +#: report/templates/report/inventree_test_report.html:139 msgid "No result (required)" msgstr "" -#: report/templates/report/inventree_test_report_base.html:141 +#: report/templates/report/inventree_test_report.html:141 msgid "No result" msgstr "Нет результата" -#: report/templates/report/inventree_test_report_base.html:154 +#: report/templates/report/inventree_test_report.html:154 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "Установленные элементы" -#: report/templates/report/inventree_test_report_base.html:168 -#: stock/admin.py:162 templates/js/translated/stock.js:700 -#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3113 +#: report/templates/report/inventree_test_report.html:168 stock/admin.py:162 +#: templates/js/translated/stock.js:700 templates/js/translated/stock.js:871 +#: templates/js/translated/stock.js:3110 msgid "Serial" msgstr "Серийный номер" @@ -8757,7 +8792,7 @@ msgstr "Имя поставщика" msgid "Customer ID" msgstr "ID Клиента" -#: stock/admin.py:201 stock/models.py:789 +#: stock/admin.py:201 stock/models.py:810 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "Установлено в" @@ -8782,66 +8817,66 @@ msgstr "Требуется рецензия" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:256 stock/models.py:883 +#: stock/admin.py:256 stock/models.py:904 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2232 users/models.py:124 +#: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" msgstr "Истекает" -#: stock/api.py:284 +#: stock/api.py:318 msgid "Filter by location depth" msgstr "" -#: stock/api.py:304 +#: stock/api.py:338 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:325 +#: stock/api.py:359 msgid "Parent Location" msgstr "" -#: stock/api.py:326 +#: stock/api.py:360 msgid "Filter by parent location" msgstr "" -#: stock/api.py:579 templates/js/translated/table_filters.js:427 +#: stock/api.py:613 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:767 +#: stock/api.py:801 msgid "Part Tree" msgstr "Древо Деталей" -#: stock/api.py:797 +#: stock/api.py:831 msgid "Expiry date before" msgstr "" -#: stock/api.py:801 +#: stock/api.py:835 msgid "Expiry date after" msgstr "" -#: stock/api.py:804 stock/templates/stock/item_base.html:439 +#: stock/api.py:838 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "Залежалый" -#: stock/api.py:891 +#: stock/api.py:925 msgid "Quantity is required" msgstr "Необходимо указать количество" -#: stock/api.py:897 +#: stock/api.py:931 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:928 +#: stock/api.py:962 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:938 +#: stock/api.py:972 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:969 +#: stock/api.py:1003 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8857,477 +8892,517 @@ msgstr "" msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:125 stock/models.py:771 +#: stock/models.py:127 stock/models.py:792 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Место хранения" -#: stock/models.py:126 stock/templates/stock/location.html:179 +#: stock/models.py:128 stock/templates/stock/location.html:186 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "Места хранения" -#: stock/models.py:158 stock/models.py:932 +#: stock/models.py:170 stock/models.py:953 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "Владелец" -#: stock/models.py:159 stock/models.py:933 +#: stock/models.py:171 stock/models.py:954 msgid "Select Owner" msgstr "Выберите владельца" -#: stock/models.py:167 +#: stock/models.py:179 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "Складские позиции не могут находиться в структурных местах хранения, но могут находиться в дочерних местах хранения." -#: stock/models.py:174 templates/js/translated/stock.js:2784 +#: stock/models.py:186 templates/js/translated/stock.js:2781 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "Внешний" -#: stock/models.py:175 +#: stock/models.py:187 msgid "This is an external stock location" msgstr "" -#: stock/models.py:181 templates/js/translated/stock.js:2793 +#: stock/models.py:193 templates/js/translated/stock.js:2790 #: templates/js/translated/table_filters.js:246 msgid "Location type" msgstr "Тип Места Хранения" -#: stock/models.py:185 +#: stock/models.py:197 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:254 +#: stock/models.py:266 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "Вы не можете сделать это место хранение структурным, потому, что некоторые складские позиции уже находятся в нем!" -#: stock/models.py:626 +#: stock/models.py:647 msgid "Stock items cannot be located into structural stock locations!" msgstr "Складские позиции не могут находиться в структурных местах хранения!" -#: stock/models.py:653 stock/serializers.py:290 +#: stock/models.py:674 stock/serializers.py:419 msgid "Stock item cannot be created for virtual parts" msgstr "Складская позиция не может быть создана для виртуальных деталей" -#: stock/models.py:670 +#: stock/models.py:691 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:680 stock/models.py:693 +#: stock/models.py:701 stock/models.py:714 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:683 +#: stock/models.py:704 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:707 +#: stock/models.py:728 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:712 +#: stock/models.py:733 msgid "Item must have a build reference if is_building=True" msgstr "Элемент должен иметь ссылку на производство, если is_building=True" -#: stock/models.py:725 +#: stock/models.py:746 msgid "Build reference does not point to the same part object" msgstr "Ссылка на производство не указывает на тот же элемент" -#: stock/models.py:741 +#: stock/models.py:762 msgid "Parent Stock Item" msgstr "Складская позиция" -#: stock/models.py:753 +#: stock/models.py:774 msgid "Base part" msgstr "Базовая деталь" -#: stock/models.py:763 +#: stock/models.py:784 msgid "Select a matching supplier part for this stock item" msgstr "Выберите соответствующего поставщика детали для этой складской позиции" -#: stock/models.py:775 +#: stock/models.py:796 msgid "Where is this stock item located?" msgstr "Где находиться эта складская позиция?" -#: stock/models.py:783 stock/serializers.py:1351 +#: stock/models.py:804 stock/serializers.py:1480 msgid "Packaging this stock item is stored in" msgstr "Упаковка этой складской позиции хранится в" -#: stock/models.py:794 +#: stock/models.py:815 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:813 +#: stock/models.py:834 msgid "Serial number for this item" msgstr "" -#: stock/models.py:827 stock/serializers.py:1334 +#: stock/models.py:848 stock/serializers.py:1463 msgid "Batch code for this stock item" msgstr "Код партии для этой складской позиции" -#: stock/models.py:832 +#: stock/models.py:853 msgid "Stock Quantity" msgstr "Количество на складе" -#: stock/models.py:842 +#: stock/models.py:863 msgid "Source Build" msgstr "Исходное производство" -#: stock/models.py:845 +#: stock/models.py:866 msgid "Build for this stock item" msgstr "Производства для этой складской позиции" -#: stock/models.py:852 stock/templates/stock/item_base.html:363 +#: stock/models.py:873 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "Поглощен" -#: stock/models.py:855 +#: stock/models.py:876 msgid "Build order which consumed this stock item" msgstr "Заказ на производство, который поглотил эту складскую позицию" -#: stock/models.py:864 +#: stock/models.py:885 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:868 +#: stock/models.py:889 msgid "Purchase order for this stock item" msgstr "Заказ на закупку для этой складской позиции" -#: stock/models.py:874 +#: stock/models.py:895 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:885 +#: stock/models.py:906 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "Дата истечения срока годности для складской позиции. Остатки будут считаться просроченными после этой даты" -#: stock/models.py:903 +#: stock/models.py:924 msgid "Delete on deplete" msgstr "Удалить при обнулении" -#: stock/models.py:904 +#: stock/models.py:925 msgid "Delete this Stock Item when stock is depleted" msgstr "Удалить эту складскую позицию при обнулении складского запаса" -#: stock/models.py:924 +#: stock/models.py:945 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:955 +#: stock/models.py:976 msgid "Converted to part" msgstr "" -#: stock/models.py:1473 +#: stock/models.py:1494 msgid "Part is not set as trackable" msgstr "Деталь не является отслеживаемой" -#: stock/models.py:1479 +#: stock/models.py:1500 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1487 +#: stock/models.py:1508 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1493 +#: stock/models.py:1514 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1498 +#: stock/models.py:1519 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1506 stock/serializers.py:529 +#: stock/models.py:1527 stock/serializers.py:658 msgid "Serial numbers already exist" msgstr "Серийные номера уже существуют" -#: stock/models.py:1603 +#: stock/models.py:1624 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1621 +#: stock/models.py:1642 msgid "Stock item has been assigned to a sales order" msgstr "Складская позиция была назначена заказу на продажу" -#: stock/models.py:1625 +#: stock/models.py:1646 msgid "Stock item is installed in another item" msgstr "Складская позиция установлена в другую деталь" -#: stock/models.py:1628 +#: stock/models.py:1649 msgid "Stock item contains other items" msgstr "Складская позиция содержит другие детали" -#: stock/models.py:1631 +#: stock/models.py:1652 msgid "Stock item has been assigned to a customer" msgstr "Складская позиция была назначена покупателю" -#: stock/models.py:1634 +#: stock/models.py:1655 msgid "Stock item is currently in production" msgstr "Складская позиция в производстве" -#: stock/models.py:1637 +#: stock/models.py:1658 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1644 stock/serializers.py:1240 +#: stock/models.py:1665 stock/serializers.py:1369 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1648 +#: stock/models.py:1669 msgid "Stock items must refer to the same part" msgstr "Складские позиции должны ссылаться на одну и ту же деталь" -#: stock/models.py:1656 +#: stock/models.py:1677 msgid "Stock items must refer to the same supplier part" msgstr "Складские позиции должны ссылаться на одну и ту же деталь поставщика" -#: stock/models.py:1661 +#: stock/models.py:1682 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1882 +#: stock/models.py:1903 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2345 +#: stock/models.py:2322 msgid "Entry notes" msgstr "" -#: stock/models.py:2410 +#: stock/models.py:2387 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2415 +#: stock/models.py:2392 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2442 +#: stock/models.py:2419 msgid "Test result" msgstr "Результат тестирования" -#: stock/models.py:2449 +#: stock/models.py:2426 msgid "Test output value" msgstr "" -#: stock/models.py:2457 +#: stock/models.py:2434 msgid "Test result attachment" msgstr "" -#: stock/models.py:2461 +#: stock/models.py:2438 msgid "Test notes" msgstr "Записи Тестирования" -#: stock/models.py:2469 templates/js/translated/stock.js:1548 +#: stock/models.py:2446 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "" -#: stock/models.py:2470 +#: stock/models.py:2447 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2476 +#: stock/models.py:2453 msgid "Started" msgstr "" -#: stock/models.py:2477 +#: stock/models.py:2454 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2483 +#: stock/models.py:2460 msgid "Finished" msgstr "" -#: stock/models.py:2484 +#: stock/models.py:2461 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:100 +#: stock/serializers.py:75 +msgid "Generated batch code" +msgstr "" + +#: stock/serializers.py:84 +msgid "Select build order" +msgstr "" + +#: stock/serializers.py:93 +msgid "Select stock item to generate batch code for" +msgstr "" + +#: stock/serializers.py:102 +msgid "Select location to generate batch code for" +msgstr "" + +#: stock/serializers.py:111 +msgid "Select part to generate batch code for" +msgstr "" + +#: stock/serializers.py:120 +msgid "Select purchase order" +msgstr "" + +#: stock/serializers.py:127 +msgid "Enter quantity for batch code" +msgstr "" + +#: stock/serializers.py:150 +msgid "Generated serial number" +msgstr "" + +#: stock/serializers.py:159 +msgid "Select part to generate serial number for" +msgstr "" + +#: stock/serializers.py:167 +msgid "Quantity of serial numbers to generate" +msgstr "" + +#: stock/serializers.py:229 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:119 +#: stock/serializers.py:248 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:151 +#: stock/serializers.py:280 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:184 +#: stock/serializers.py:313 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:282 +#: stock/serializers.py:411 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:402 +#: stock/serializers.py:531 msgid "Purchase price of this stock item, per unit or pack" msgstr "Закупочная цена для этой складской позиции, за единицу или за упаковку" -#: stock/serializers.py:464 +#: stock/serializers.py:593 msgid "Enter number of stock items to serialize" msgstr "Введите количество складских позиций для сериализации" -#: stock/serializers.py:477 +#: stock/serializers.py:606 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:484 +#: stock/serializers.py:613 msgid "Enter serial numbers for new items" msgstr "Введите серийные номера для новых элементов" -#: stock/serializers.py:495 stock/serializers.py:1197 stock/serializers.py:1453 +#: stock/serializers.py:624 stock/serializers.py:1326 stock/serializers.py:1582 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:502 +#: stock/serializers.py:631 msgid "Optional note field" msgstr "Опциональное поле записей" -#: stock/serializers.py:512 +#: stock/serializers.py:641 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:567 +#: stock/serializers.py:696 msgid "Select stock item to install" msgstr "Выберите складскую позицию для установки" -#: stock/serializers.py:574 +#: stock/serializers.py:703 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:575 +#: stock/serializers.py:704 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:580 stock/serializers.py:660 stock/serializers.py:756 -#: stock/serializers.py:806 +#: stock/serializers.py:709 stock/serializers.py:789 stock/serializers.py:885 +#: stock/serializers.py:935 msgid "Add transaction note (optional)" msgstr "Добавить запись к транзакции (необязательно)" -#: stock/serializers.py:588 +#: stock/serializers.py:717 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:596 +#: stock/serializers.py:725 msgid "Stock item is unavailable" msgstr "Складская позиция недоступна" -#: stock/serializers.py:607 +#: stock/serializers.py:736 msgid "Selected part is not in the Bill of Materials" msgstr "Выбранная деталь отсутствует в спецификации" -#: stock/serializers.py:620 +#: stock/serializers.py:749 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:655 +#: stock/serializers.py:784 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:690 +#: stock/serializers.py:819 msgid "Select part to convert stock item into" msgstr "Выберите деталь в которую будет преобразована складская позиция" -#: stock/serializers.py:703 +#: stock/serializers.py:832 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:720 +#: stock/serializers.py:849 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "Невозможно преобразовать складскую позицию с назначенной деталью поставщика" -#: stock/serializers.py:751 +#: stock/serializers.py:880 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:788 +#: stock/serializers.py:917 msgid "Select stock items to change status" msgstr "Выберите складские позиции для изменения статуса" -#: stock/serializers.py:794 +#: stock/serializers.py:923 msgid "No stock items selected" msgstr "Не выбрано ни одной складской позиции" -#: stock/serializers.py:890 stock/serializers.py:953 +#: stock/serializers.py:1019 stock/serializers.py:1082 #: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:213 +#: stock/templates/stock/location.html:220 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "Места хранения" -#: stock/serializers.py:1069 +#: stock/serializers.py:1198 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1073 +#: stock/serializers.py:1202 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1077 +#: stock/serializers.py:1206 msgid "Item is allocated to a build order" msgstr "Элемент зарезервирован для заказа на производство" -#: stock/serializers.py:1101 +#: stock/serializers.py:1230 msgid "Customer to assign stock items" msgstr "Покупатель для назначения складских позиций" -#: stock/serializers.py:1107 +#: stock/serializers.py:1236 msgid "Selected company is not a customer" msgstr "Выбранная компания не является покупателем" -#: stock/serializers.py:1115 +#: stock/serializers.py:1244 msgid "Stock assignment notes" msgstr "Записи о назначенных запасах" -#: stock/serializers.py:1125 stock/serializers.py:1379 +#: stock/serializers.py:1254 stock/serializers.py:1508 msgid "A list of stock items must be provided" msgstr "Необходимо предоставить список складских позиций" -#: stock/serializers.py:1204 +#: stock/serializers.py:1333 msgid "Stock merging notes" msgstr "Записи о слияниях запасов" -#: stock/serializers.py:1209 +#: stock/serializers.py:1338 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1210 +#: stock/serializers.py:1339 msgid "Allow stock items with different supplier parts to be merged" msgstr "Разрешить слияние складских позиций с различными поставщиками" -#: stock/serializers.py:1215 +#: stock/serializers.py:1344 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1216 +#: stock/serializers.py:1345 msgid "Allow stock items with different status codes to be merged" msgstr "Разрешить слияние складских позиций с различными статусами" -#: stock/serializers.py:1226 +#: stock/serializers.py:1355 msgid "At least two stock items must be provided" msgstr "Необходимо предоставить как минимум 2 складские позиции" -#: stock/serializers.py:1293 +#: stock/serializers.py:1422 msgid "No Change" msgstr "" -#: stock/serializers.py:1322 +#: stock/serializers.py:1451 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1341 +#: stock/serializers.py:1470 msgid "Stock item status code" msgstr "Статус складской позиции" -#: stock/serializers.py:1369 +#: stock/serializers.py:1498 msgid "Stock transaction notes" msgstr "Записи о перемещениях запасов" @@ -9352,7 +9427,7 @@ msgstr "Данные тестов" msgid "Test Report" msgstr "Отчет тестирования" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:286 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:282 msgid "Delete Test Data" msgstr "Удалить данные тестирования" @@ -9368,15 +9443,15 @@ msgstr "Записи складской позиции" msgid "Installed Stock Items" msgstr "Установленные складские позиции" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3274 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3271 msgid "Install Stock Item" msgstr "Установить складскую позицию" -#: stock/templates/stock/item.html:274 +#: stock/templates/stock/item.html:270 msgid "Delete all test results for this stock item" msgstr "Удалить все результаты тестирования для этой складской позиции" -#: stock/templates/stock/item.html:304 templates/js/translated/stock.js:1701 +#: stock/templates/stock/item.html:300 templates/js/translated/stock.js:1701 msgid "Add Test Result" msgstr "Добавить Результат Тестирования" @@ -9561,40 +9636,40 @@ msgstr "" msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:507 -#: templates/js/translated/stock.js:1954 +#: stock/templates/stock/item_base.html:504 +#: templates/js/translated/stock.js:1952 msgid "stock item" msgstr "" -#: stock/templates/stock/item_base.html:532 +#: stock/templates/stock/item_base.html:527 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:541 +#: stock/templates/stock/item_base.html:536 msgid "Stock Item QR Code" msgstr "QR-код складской позиции" -#: stock/templates/stock/item_base.html:552 +#: stock/templates/stock/item_base.html:547 msgid "Link Barcode to Stock Item" msgstr "Привязать штрих-код к складской позиции" -#: stock/templates/stock/item_base.html:616 +#: stock/templates/stock/item_base.html:611 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:619 +#: stock/templates/stock/item_base.html:614 msgid "Warning" msgstr "Предупреждение" -#: stock/templates/stock/item_base.html:620 +#: stock/templates/stock/item_base.html:615 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:628 +#: stock/templates/stock/item_base.html:623 msgid "Convert Stock Item" msgstr "Преобразовать складскую позицию" -#: stock/templates/stock/item_base.html:662 +#: stock/templates/stock/item_base.html:657 msgid "Return to Stock" msgstr "Вернуть на склад" @@ -9658,28 +9733,32 @@ msgstr "Ответственный за место хранения" msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:217 +#: stock/templates/stock/location.html:176 +msgid "Location Type" +msgstr "" + +#: stock/templates/stock/location.html:224 msgid "Create new stock location" msgstr "Создать новое место хранения" -#: stock/templates/stock/location.html:218 +#: stock/templates/stock/location.html:225 msgid "New Location" msgstr "Новое место хранения" -#: stock/templates/stock/location.html:287 -#: templates/js/translated/stock.js:2575 +#: stock/templates/stock/location.html:295 +#: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "места хранения" -#: stock/templates/stock/location.html:315 +#: stock/templates/stock/location.html:317 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:388 +#: stock/templates/stock/location.html:390 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:399 +#: stock/templates/stock/location.html:401 msgid "Link Barcode to Stock Location" msgstr "" @@ -9949,11 +10028,11 @@ msgstr "" msgid "Part Settings" msgstr "Настройки деталей" -#: templates/InvenTree/settings/part.html:42 +#: templates/InvenTree/settings/part.html:43 msgid "Part Import" msgstr "Импорт деталей" -#: templates/InvenTree/settings/part.html:46 +#: templates/InvenTree/settings/part.html:47 msgid "Import Part" msgstr "Импорт детали" @@ -10174,7 +10253,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:424 +#: templates/js/translated/stock.js:245 users/models.py:411 msgid "Delete" msgstr "Удалить" @@ -10283,7 +10362,7 @@ msgid "Home Page" msgstr "Главная страница" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2159 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2163 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" @@ -10874,7 +10953,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3218 +#: templates/js/translated/part.js:3217 msgid "Minimum Quantity" msgstr "Минимальное количество" @@ -11254,7 +11333,7 @@ msgid "External stock" msgstr "" #: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2595 -#: templates/js/translated/sales_order.js:1910 +#: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" @@ -11264,7 +11343,7 @@ msgstr "" #: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 #: templates/js/translated/part.js:1256 -#: templates/js/translated/sales_order.js:1907 +#: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" @@ -11519,17 +11598,17 @@ msgstr "Требуемые тесты" #: templates/js/translated/build.js:1576 #: templates/js/translated/purchase_order.js:611 -#: templates/js/translated/sales_order.js:1171 +#: templates/js/translated/sales_order.js:1207 msgid "Select Parts" msgstr "Выбрать детали" #: templates/js/translated/build.js:1577 -#: templates/js/translated/sales_order.js:1172 +#: templates/js/translated/sales_order.js:1208 msgid "You must select at least one part to allocate" msgstr "" #: templates/js/translated/build.js:1640 -#: templates/js/translated/sales_order.js:1121 +#: templates/js/translated/sales_order.js:1157 msgid "Specify stock allocation quantity" msgstr "" @@ -11542,7 +11621,7 @@ msgid "All selected parts have been fully allocated" msgstr "" #: templates/js/translated/build.js:1732 -#: templates/js/translated/sales_order.js:1186 +#: templates/js/translated/sales_order.js:1222 msgid "Select source location (leave blank to take from all locations)" msgstr "Выберите место хранения - источник (оставьте пустым, чтобы взять из всех мест)" @@ -11551,12 +11630,12 @@ msgid "Allocate Stock Items to Build Order" msgstr "Зарезервировать складские позиции для этого заказа на производства" #: templates/js/translated/build.js:1771 -#: templates/js/translated/sales_order.js:1283 +#: templates/js/translated/sales_order.js:1319 msgid "No matching stock locations" msgstr "" #: templates/js/translated/build.js:1844 -#: templates/js/translated/sales_order.js:1362 +#: templates/js/translated/sales_order.js:1398 msgid "No matching stock items" msgstr "Нет совпадающих складских позиций" @@ -11589,9 +11668,9 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 -#: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 -#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 -#: templates/js/translated/stock.js:1985 templates/js/translated/stock.js:2713 +#: templates/js/translated/forms.js:2159 templates/js/translated/forms.js:2175 +#: templates/js/translated/part.js:2315 templates/js/translated/part.js:2741 +#: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "Выбрать" @@ -11599,21 +11678,17 @@ msgstr "Выбрать" msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2177 -msgid "Progress" -msgstr "Прогресс" - -#: templates/js/translated/build.js:2213 templates/js/translated/stock.js:3045 +#: templates/js/translated/build.js:2213 templates/js/translated/stock.js:3042 msgid "No user information" msgstr "" #: templates/js/translated/build.js:2389 -#: templates/js/translated/sales_order.js:1646 +#: templates/js/translated/sales_order.js:1682 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:2390 -#: templates/js/translated/sales_order.js:1647 +#: templates/js/translated/sales_order.js:1683 msgid "Delete stock allocation" msgstr "" @@ -11647,7 +11722,7 @@ msgid "Unit Quantity" msgstr "Количество единиц" #: templates/js/translated/build.js:2591 -#: templates/js/translated/sales_order.js:1915 +#: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" @@ -11664,7 +11739,7 @@ msgid "Allocate tracked items against individual build outputs" msgstr "" #: templates/js/translated/build.js:2662 -#: templates/js/translated/sales_order.js:2016 +#: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "Запасы производства" @@ -11673,7 +11748,7 @@ msgid "Order stock" msgstr "Заказать запасы" #: templates/js/translated/build.js:2671 -#: templates/js/translated/sales_order.js:2010 +#: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "Зарезервировать Остатки" @@ -11923,12 +11998,12 @@ msgid "Delete price break" msgstr "" #: templates/js/translated/filters.js:186 -#: templates/js/translated/filters.js:672 +#: templates/js/translated/filters.js:667 msgid "true" msgstr "" #: templates/js/translated/filters.js:190 -#: templates/js/translated/filters.js:673 +#: templates/js/translated/filters.js:668 msgid "false" msgstr "" @@ -11960,7 +12035,7 @@ msgstr "Добавить новый фильтр" msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:582 +#: templates/js/translated/filters.js:577 msgid "Create filter" msgstr "Создать фильтр" @@ -11993,32 +12068,32 @@ msgstr "" msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1473 templates/modals.html:19 +#: templates/js/translated/forms.js:1477 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "Форма содержит ошибки" -#: templates/js/translated/forms.js:1971 +#: templates/js/translated/forms.js:1975 msgid "No results found" msgstr "Результаты не найдены" -#: templates/js/translated/forms.js:2275 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2279 templates/js/translated/search.js:239 msgid "Searching" msgstr "Поиск" -#: templates/js/translated/forms.js:2489 +#: templates/js/translated/forms.js:2493 msgid "Clear input" msgstr "Очистить ввод" -#: templates/js/translated/forms.js:3091 +#: templates/js/translated/forms.js:3095 msgid "File Column" msgstr "Столбец Файла" -#: templates/js/translated/forms.js:3091 +#: templates/js/translated/forms.js:3095 msgid "Field Name" msgstr "Имя Поля" -#: templates/js/translated/forms.js:3103 +#: templates/js/translated/forms.js:3107 msgid "Select Columns" msgstr "Выбрать столбцы" @@ -12042,51 +12117,15 @@ msgstr "" msgid "No parts required for builds" msgstr "" -#: templates/js/translated/label.js:53 templates/js/translated/report.js:123 +#: templates/js/translated/label.js:55 templates/js/translated/report.js:38 msgid "Select Items" msgstr "Выбрать элементы" -#: templates/js/translated/label.js:54 +#: templates/js/translated/label.js:56 templates/js/translated/report.js:39 msgid "No items selected for printing" msgstr "" -#: templates/js/translated/label.js:72 -msgid "No Labels Found" -msgstr "Метки не найдены" - -#: templates/js/translated/label.js:73 -msgid "No label templates found which match the selected items" -msgstr "" - -#: templates/js/translated/label.js:97 -msgid "selected" -msgstr "выбрано" - -#: templates/js/translated/label.js:133 -msgid "Printing Options" -msgstr "Параметры печати" - -#: templates/js/translated/label.js:148 -msgid "Print label" -msgstr "Печать Этикетки" - -#: templates/js/translated/label.js:148 -msgid "Print labels" -msgstr "Печать этикеток" - #: templates/js/translated/label.js:149 -msgid "Print" -msgstr "Печать" - -#: templates/js/translated/label.js:155 -msgid "Select label template" -msgstr "" - -#: templates/js/translated/label.js:168 -msgid "Select plugin" -msgstr "Выбрать плагин" - -#: templates/js/translated/label.js:187 msgid "Labels sent to printer" msgstr "" @@ -12204,7 +12243,7 @@ msgid "Delete Line" msgstr "Удалить Строку" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1991 +#: templates/js/translated/purchase_order.js:1990 msgid "No line items found" msgstr "" @@ -12442,19 +12481,19 @@ msgid "Delete Part Parameter Template" msgstr "" #: templates/js/translated/part.js:1716 -#: templates/js/translated/purchase_order.js:1655 +#: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1860 -#: templates/js/translated/purchase_order.js:2154 -#: templates/js/translated/return_order.js:756 -#: templates/js/translated/sales_order.js:1875 +#: templates/js/translated/purchase_order.js:2153 +#: templates/js/translated/return_order.js:755 +#: templates/js/translated/sales_order.js:1911 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1906 -#: templates/js/translated/purchase_order.js:2221 +#: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "" @@ -12466,7 +12505,7 @@ msgstr "" msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2506 +#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2505 msgid "No parts found" msgstr "Детали не найдены" @@ -12482,101 +12521,101 @@ msgstr "" msgid "Set category" msgstr "Указать категорию" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2286 msgid "part" msgstr "деталь" -#: templates/js/translated/part.js:2288 +#: templates/js/translated/part.js:2287 msgid "parts" msgstr "детали" -#: templates/js/translated/part.js:2384 +#: templates/js/translated/part.js:2383 msgid "No category" msgstr "Нет категории" -#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 -#: templates/js/translated/stock.js:2672 +#: templates/js/translated/part.js:2530 templates/js/translated/part.js:2660 +#: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "Отобразить списком" -#: templates/js/translated/part.js:2547 +#: templates/js/translated/part.js:2546 msgid "Display as grid" msgstr "Отобразить сеткой" -#: templates/js/translated/part.js:2645 +#: templates/js/translated/part.js:2644 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2692 +#: templates/js/translated/part.js:2680 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "Отобразить древом" -#: templates/js/translated/part.js:2761 +#: templates/js/translated/part.js:2760 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2777 +#: templates/js/translated/part.js:2776 msgid "Subscribed category" msgstr "Категория с подпиской" -#: templates/js/translated/part.js:2864 +#: templates/js/translated/part.js:2863 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2886 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2885 templates/js/translated/search.js:342 msgid "results" msgstr "результаты" -#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2935 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "Редактировать результаты тестирования" -#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2941 +#: templates/js/translated/part.js:2940 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2957 +#: templates/js/translated/part.js:2956 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2971 +#: templates/js/translated/part.js:2970 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3050 templates/js/translated/part.js:3051 +#: templates/js/translated/part.js:3049 templates/js/translated/part.js:3050 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3053 +#: templates/js/translated/part.js:3052 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3059 +#: templates/js/translated/part.js:3058 msgid "Speculative" msgstr "Приблизительный" -#: templates/js/translated/part.js:3109 +#: templates/js/translated/part.js:3108 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3115 +#: templates/js/translated/part.js:3114 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3211 +#: templates/js/translated/part.js:3210 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3227 +#: templates/js/translated/part.js:3226 msgid "Maximum Quantity" msgstr "Максимальное количество" -#: templates/js/translated/part.js:3272 +#: templates/js/translated/part.js:3271 msgid "Minimum Stock Level" msgstr "" @@ -12702,7 +12741,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:448 #: templates/js/translated/return_order.js:210 -#: templates/js/translated/sales_order.js:500 +#: templates/js/translated/sales_order.js:552 msgid "Mark this order as complete?" msgstr "" @@ -12715,7 +12754,6 @@ msgid "This order has line items which have not been marked as received." msgstr "" #: templates/js/translated/purchase_order.js:460 -#: templates/js/translated/sales_order.js:514 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" @@ -12773,12 +12811,12 @@ msgid "No matching purchase orders" msgstr "" #: templates/js/translated/purchase_order.js:1073 -#: templates/js/translated/return_order.js:491 +#: templates/js/translated/return_order.js:490 msgid "Select Line Items" msgstr "" #: templates/js/translated/purchase_order.js:1074 -#: templates/js/translated/return_order.js:492 +#: templates/js/translated/return_order.js:491 msgid "At least one line item must be selected" msgstr "" @@ -12827,7 +12865,7 @@ msgid "Quantity to Receive" msgstr "" #: templates/js/translated/purchase_order.js:1333 -#: templates/js/translated/return_order.js:561 +#: templates/js/translated/return_order.js:560 msgid "Confirm receipt of items" msgstr "" @@ -12847,81 +12885,66 @@ msgstr "Сканировать штрихкод входящего элемен msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1682 -#: templates/js/translated/return_order.js:286 -#: templates/js/translated/sales_order.js:774 -#: templates/js/translated/sales_order.js:998 +#: templates/js/translated/purchase_order.js:1681 +#: templates/js/translated/return_order.js:285 +#: templates/js/translated/sales_order.js:810 +#: templates/js/translated/sales_order.js:1034 msgid "Order is overdue" msgstr "Заказ просрочен" -#: templates/js/translated/purchase_order.js:1748 -#: templates/js/translated/return_order.js:354 -#: templates/js/translated/sales_order.js:851 -#: templates/js/translated/sales_order.js:1011 -msgid "Items" -msgstr "Элементы" - -#: templates/js/translated/purchase_order.js:1844 +#: templates/js/translated/purchase_order.js:1843 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1862 +#: templates/js/translated/purchase_order.js:1861 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1917 -#: templates/js/translated/sales_order.js:2070 +#: templates/js/translated/purchase_order.js:1916 +#: templates/js/translated/sales_order.js:2106 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1932 -#: templates/js/translated/return_order.js:476 -#: templates/js/translated/return_order.js:669 -#: templates/js/translated/sales_order.js:2083 +#: templates/js/translated/purchase_order.js:1931 +#: templates/js/translated/return_order.js:475 +#: templates/js/translated/return_order.js:668 +#: templates/js/translated/sales_order.js:2119 msgid "Edit Line Item" msgstr "Редактировать Позицию" -#: templates/js/translated/purchase_order.js:1943 -#: templates/js/translated/return_order.js:682 -#: templates/js/translated/sales_order.js:2094 +#: templates/js/translated/purchase_order.js:1942 +#: templates/js/translated/return_order.js:681 +#: templates/js/translated/sales_order.js:2130 msgid "Delete Line Item" msgstr "Удалить позицию" -#: templates/js/translated/purchase_order.js:2225 -#: templates/js/translated/sales_order.js:2024 +#: templates/js/translated/purchase_order.js:2224 +#: templates/js/translated/sales_order.js:2060 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2226 -#: templates/js/translated/return_order.js:801 -#: templates/js/translated/sales_order.js:2025 +#: templates/js/translated/purchase_order.js:2225 +#: templates/js/translated/return_order.js:800 +#: templates/js/translated/sales_order.js:2061 msgid "Edit line item" msgstr "Редактировать Позицию" -#: templates/js/translated/purchase_order.js:2227 -#: templates/js/translated/return_order.js:805 -#: templates/js/translated/sales_order.js:2031 +#: templates/js/translated/purchase_order.js:2226 +#: templates/js/translated/return_order.js:804 +#: templates/js/translated/sales_order.js:2067 msgid "Delete line item" msgstr "Удалить позицию" -#: templates/js/translated/report.js:63 -msgid "items selected" -msgstr "элементы выбраны" - -#: templates/js/translated/report.js:71 -msgid "Select Report Template" +#: templates/js/translated/report.js:49 +msgid "Print Report" msgstr "" -#: templates/js/translated/report.js:86 -msgid "Select Test Report Template" +#: templates/js/translated/report.js:68 +msgid "Report print successful" msgstr "" -#: templates/js/translated/report.js:140 -msgid "No Reports Found" -msgstr "Отчёты не найдены" - -#: templates/js/translated/report.js:141 -msgid "No report templates found which match the selected items" +#: templates/js/translated/report.js:73 +msgid "Report printing failed" msgstr "" #: templates/js/translated/return_order.js:60 @@ -12953,25 +12976,25 @@ msgstr "" msgid "Complete Return Order" msgstr "" -#: templates/js/translated/return_order.js:266 +#: templates/js/translated/return_order.js:265 msgid "No return orders found" msgstr "" -#: templates/js/translated/return_order.js:300 -#: templates/js/translated/sales_order.js:788 +#: templates/js/translated/return_order.js:299 +#: templates/js/translated/sales_order.js:824 msgid "Invalid Customer" msgstr "Некорректный клиент" -#: templates/js/translated/return_order.js:562 +#: templates/js/translated/return_order.js:561 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:693 -#: templates/js/translated/sales_order.js:2231 +#: templates/js/translated/return_order.js:692 +#: templates/js/translated/sales_order.js:2267 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:798 +#: templates/js/translated/return_order.js:797 msgid "Mark item as received" msgstr "" @@ -13015,140 +13038,156 @@ msgstr "" msgid "Skip" msgstr "Пропустить" +#: templates/js/translated/sales_order.js:484 +msgid "Ship Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:500 +msgid "Ship this order?" +msgstr "" + +#: templates/js/translated/sales_order.js:506 +msgid "Order cannot be shipped as there are incomplete shipments" +msgstr "" + #: templates/js/translated/sales_order.js:513 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/sales_order.js:535 +#: templates/js/translated/sales_order.js:514 +msgid "Shipping this order means that the order and line items will no longer be editable." +msgstr "" + +#: templates/js/translated/sales_order.js:572 msgid "Issue this Sales Order?" msgstr "" -#: templates/js/translated/sales_order.js:540 +#: templates/js/translated/sales_order.js:577 msgid "Issue Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:559 +#: templates/js/translated/sales_order.js:596 msgid "Cancel Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:564 +#: templates/js/translated/sales_order.js:601 msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: templates/js/translated/sales_order.js:618 +#: templates/js/translated/sales_order.js:655 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/sales_order.js:728 +#: templates/js/translated/sales_order.js:764 msgid "No sales orders found" msgstr "" -#: templates/js/translated/sales_order.js:908 +#: templates/js/translated/sales_order.js:944 msgid "Edit shipment" msgstr "Редактировать отправление" -#: templates/js/translated/sales_order.js:911 +#: templates/js/translated/sales_order.js:947 msgid "Complete shipment" msgstr "" -#: templates/js/translated/sales_order.js:916 +#: templates/js/translated/sales_order.js:952 msgid "Delete shipment" msgstr "Удалить отправление" -#: templates/js/translated/sales_order.js:933 +#: templates/js/translated/sales_order.js:969 msgid "Edit Shipment" msgstr "Редактировать отправление" -#: templates/js/translated/sales_order.js:948 +#: templates/js/translated/sales_order.js:984 msgid "Delete Shipment" msgstr "Удалить Отправление" -#: templates/js/translated/sales_order.js:981 +#: templates/js/translated/sales_order.js:1017 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/sales_order.js:1006 +#: templates/js/translated/sales_order.js:1042 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/sales_order.js:1030 -#: templates/js/translated/sales_order.js:1529 +#: templates/js/translated/sales_order.js:1066 +#: templates/js/translated/sales_order.js:1565 msgid "Not shipped" msgstr "Не отправленно" -#: templates/js/translated/sales_order.js:1048 +#: templates/js/translated/sales_order.js:1084 msgid "Tracking" msgstr "Отслеживание" -#: templates/js/translated/sales_order.js:1052 +#: templates/js/translated/sales_order.js:1088 msgid "Invoice" msgstr "Счет" -#: templates/js/translated/sales_order.js:1219 +#: templates/js/translated/sales_order.js:1255 msgid "Add Shipment" msgstr "Создать Отправление" -#: templates/js/translated/sales_order.js:1270 +#: templates/js/translated/sales_order.js:1306 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/sales_order.js:1271 +#: templates/js/translated/sales_order.js:1307 msgid "Allocate Stock Items to Sales Order" msgstr "Зарезервировать складские позиции для заказа на продажу" -#: templates/js/translated/sales_order.js:1477 +#: templates/js/translated/sales_order.js:1513 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1569 +#: templates/js/translated/sales_order.js:1605 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1583 +#: templates/js/translated/sales_order.js:1619 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/sales_order.js:1584 +#: templates/js/translated/sales_order.js:1620 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1623 -#: templates/js/translated/sales_order.js:1710 +#: templates/js/translated/sales_order.js:1659 +#: templates/js/translated/sales_order.js:1746 #: templates/js/translated/stock.js:1776 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/sales_order.js:1631 -#: templates/js/translated/sales_order.js:1719 +#: templates/js/translated/sales_order.js:1667 +#: templates/js/translated/sales_order.js:1755 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:2008 +#: templates/js/translated/sales_order.js:2044 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/sales_order.js:2012 +#: templates/js/translated/sales_order.js:2048 msgid "Purchase stock" msgstr "Закупить запасы" -#: templates/js/translated/sales_order.js:2021 -#: templates/js/translated/sales_order.js:2209 +#: templates/js/translated/sales_order.js:2057 +#: templates/js/translated/sales_order.js:2245 msgid "Calculate price" msgstr "Рассчитать стоимость" -#: templates/js/translated/sales_order.js:2035 +#: templates/js/translated/sales_order.js:2071 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:2038 +#: templates/js/translated/sales_order.js:2074 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:2109 +#: templates/js/translated/sales_order.js:2145 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/sales_order.js:2217 +#: templates/js/translated/sales_order.js:2253 msgid "Update Unit Price" msgstr "" @@ -13356,7 +13395,7 @@ msgstr "Взять" msgid "Add Stock" msgstr "Добавить Запасы" -#: templates/js/translated/stock.js:1042 users/models.py:414 +#: templates/js/translated/stock.js:1042 users/models.py:401 msgid "Add" msgstr "Добавить" @@ -13372,7 +13411,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1180 templates/js/translated/stock.js:3302 +#: templates/js/translated/stock.js:1180 templates/js/translated/stock.js:3299 msgid "Select Stock Items" msgstr "Выбрать складские позиции" @@ -13456,196 +13495,196 @@ msgstr "Объединить Запасы" msgid "Delete stock" msgstr "Удалить запасы" -#: templates/js/translated/stock.js:1955 +#: templates/js/translated/stock.js:1953 msgid "stock items" msgstr "складские позиции" -#: templates/js/translated/stock.js:1960 +#: templates/js/translated/stock.js:1958 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:1971 +#: templates/js/translated/stock.js:1969 msgid "Stock Actions" msgstr "Действия с Запасами" -#: templates/js/translated/stock.js:2015 +#: templates/js/translated/stock.js:2013 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2093 +#: templates/js/translated/stock.js:2091 msgid "Stock item is in production" msgstr "Складская позиция в производстве" -#: templates/js/translated/stock.js:2098 +#: templates/js/translated/stock.js:2096 msgid "Stock item assigned to sales order" msgstr "Складская позиция зарезервирована заказом на продажу" -#: templates/js/translated/stock.js:2101 +#: templates/js/translated/stock.js:2099 msgid "Stock item assigned to customer" msgstr "Складская позиция была назначена покупателю" -#: templates/js/translated/stock.js:2104 +#: templates/js/translated/stock.js:2102 msgid "Serialized stock item has been allocated" msgstr "Сериализированная складская позиция была зарезервирована " -#: templates/js/translated/stock.js:2106 +#: templates/js/translated/stock.js:2104 msgid "Stock item has been fully allocated" msgstr "Складские позиции были полностью зарезервированы" -#: templates/js/translated/stock.js:2108 +#: templates/js/translated/stock.js:2106 msgid "Stock item has been partially allocated" msgstr "Складские позиции были частично зарезервированы" -#: templates/js/translated/stock.js:2111 +#: templates/js/translated/stock.js:2109 msgid "Stock item has been installed in another item" msgstr "Складская позиция была установлена в другую деталь" -#: templates/js/translated/stock.js:2113 +#: templates/js/translated/stock.js:2111 msgid "Stock item has been consumed by a build order" msgstr "Складская позиция была поглощена заказом на продажу" -#: templates/js/translated/stock.js:2117 +#: templates/js/translated/stock.js:2115 msgid "Stock item has expired" msgstr "Складская позиция была просрочена" -#: templates/js/translated/stock.js:2119 +#: templates/js/translated/stock.js:2117 msgid "Stock item will expire soon" msgstr "Складская позиция будет просрочена в скором времени" -#: templates/js/translated/stock.js:2124 +#: templates/js/translated/stock.js:2122 msgid "Stock item has been rejected" msgstr "Складская позиция была отклонена" -#: templates/js/translated/stock.js:2126 +#: templates/js/translated/stock.js:2124 msgid "Stock item is lost" msgstr "Складская позиция была утеряна" -#: templates/js/translated/stock.js:2128 +#: templates/js/translated/stock.js:2126 msgid "Stock item is destroyed" msgstr "Складская позиция была уничтожена" -#: templates/js/translated/stock.js:2132 +#: templates/js/translated/stock.js:2130 #: templates/js/translated/table_filters.js:350 msgid "Depleted" msgstr "Истощен" -#: templates/js/translated/stock.js:2297 +#: templates/js/translated/stock.js:2295 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2344 +#: templates/js/translated/stock.js:2342 msgid "Stock Value" msgstr "Кол-во Запаса" -#: templates/js/translated/stock.js:2472 +#: templates/js/translated/stock.js:2470 msgid "No stock items matching query" msgstr "Нет складских позиций соответствующих запросу" -#: templates/js/translated/stock.js:2576 +#: templates/js/translated/stock.js:2573 msgid "stock locations" msgstr "места хранения" -#: templates/js/translated/stock.js:2731 +#: templates/js/translated/stock.js:2728 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2849 +#: templates/js/translated/stock.js:2846 msgid "Details" msgstr "Подробности" -#: templates/js/translated/stock.js:2853 +#: templates/js/translated/stock.js:2850 msgid "No changes" msgstr "Нет изменений" -#: templates/js/translated/stock.js:2865 +#: templates/js/translated/stock.js:2862 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2887 +#: templates/js/translated/stock.js:2884 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2904 +#: templates/js/translated/stock.js:2901 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2919 +#: templates/js/translated/stock.js:2916 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2936 +#: templates/js/translated/stock.js:2933 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:2950 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2972 +#: templates/js/translated/stock.js:2969 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2990 +#: templates/js/translated/stock.js:2987 msgid "Stock item no longer exists" msgstr "Складская позиция не существует" -#: templates/js/translated/stock.js:3008 +#: templates/js/translated/stock.js:3005 msgid "Added" msgstr "Добавлено" -#: templates/js/translated/stock.js:3016 +#: templates/js/translated/stock.js:3013 msgid "Removed" msgstr "Удалено" -#: templates/js/translated/stock.js:3088 +#: templates/js/translated/stock.js:3085 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3142 templates/js/translated/stock.js:3178 +#: templates/js/translated/stock.js:3139 templates/js/translated/stock.js:3175 msgid "Uninstall Stock Item" msgstr "Снять складскую позицию" -#: templates/js/translated/stock.js:3200 +#: templates/js/translated/stock.js:3197 msgid "Select stock item to uninstall" msgstr "Выберите складскую позицию для съема" -#: templates/js/translated/stock.js:3221 +#: templates/js/translated/stock.js:3218 msgid "Install another stock item into this item" msgstr "Установить другую складскую позицию в эту деталь" -#: templates/js/translated/stock.js:3222 +#: templates/js/translated/stock.js:3219 msgid "Stock items can only be installed if they meet the following criteria" msgstr "Складские позиции могут быть установлены, только если отвечают следующим критериям" -#: templates/js/translated/stock.js:3224 +#: templates/js/translated/stock.js:3221 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "Складская позиция ссылается на деталь, чья спецификация является этой складской позицией" -#: templates/js/translated/stock.js:3225 +#: templates/js/translated/stock.js:3222 msgid "The Stock Item is currently available in stock" msgstr "Складская позиция сейчас доступна на складе" -#: templates/js/translated/stock.js:3226 +#: templates/js/translated/stock.js:3223 msgid "The Stock Item is not already installed in another item" msgstr "Складская позиция не установлена в другую деталь" -#: templates/js/translated/stock.js:3227 +#: templates/js/translated/stock.js:3224 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "Складская позиция отслеживается либо по коду партии, либо серийному номеру" -#: templates/js/translated/stock.js:3240 +#: templates/js/translated/stock.js:3237 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3303 +#: templates/js/translated/stock.js:3300 msgid "Select one or more stock items" msgstr "Выберите одну или более складских позиций" -#: templates/js/translated/stock.js:3316 +#: templates/js/translated/stock.js:3313 msgid "Selected stock items" msgstr "Выбранные складские позиции" -#: templates/js/translated/stock.js:3320 +#: templates/js/translated/stock.js:3317 msgid "Change Stock Status" msgstr "Изменить статус запасов" @@ -14247,34 +14286,35 @@ msgstr "" msgid "Revoked" msgstr "Отозван" -#: users/models.py:397 +#: users/models.py:384 msgid "Permission set" msgstr "Права доступа" -#: users/models.py:406 +#: users/models.py:393 msgid "Group" msgstr "Группа" -#: users/models.py:410 +#: users/models.py:397 msgid "View" msgstr "Вид" -#: users/models.py:410 +#: users/models.py:397 msgid "Permission to view items" msgstr "Разрешение на просмотр элементов" -#: users/models.py:414 +#: users/models.py:401 msgid "Permission to add items" msgstr "Разрешение на добавление элементов" -#: users/models.py:418 +#: users/models.py:405 msgid "Change" msgstr "Изменить" -#: users/models.py:420 +#: users/models.py:407 msgid "Permissions to edit items" msgstr "Разрешение на редактирование элементов" -#: users/models.py:426 +#: users/models.py:413 msgid "Permission to delete items" msgstr "Разрешение на удаление элементов" + diff --git a/src/backend/InvenTree/locale/sk/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/sk/LC_MESSAGES/django.po index 05e42407d9..08bdc3c6a2 100644 --- a/src/backend/InvenTree/locale/sk/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/sk/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-10 05:37+0000\n" -"PO-Revision-Date: 2024-05-10 08:31\n" +"POT-Creation-Date: 2024-05-23 11:25+0000\n" +"PO-Revision-Date: 2024-05-23 11:39\n" "Last-Translator: \n" "Language-Team: Slovak\n" "Language: sk_SK\n" @@ -17,11 +17,11 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 216\n" -#: InvenTree/api.py:271 +#: InvenTree/api.py:272 msgid "API endpoint not found" msgstr "" -#: InvenTree/api.py:535 +#: InvenTree/api.py:536 msgid "User does not have permission to view this model" msgstr "" @@ -56,26 +56,26 @@ msgstr "" msgid "Enter date" msgstr "" -#: InvenTree/fields.py:208 InvenTree/models.py:1021 build/serializers.py:444 -#: build/serializers.py:522 build/templates/build/sidebar.html:21 +#: InvenTree/fields.py:208 InvenTree/models.py:1035 build/serializers.py:443 +#: build/serializers.py:521 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 -#: order/models.py:1283 order/templates/order/po_sidebar.html:11 +#: order/models.py:1323 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:59 -#: part/models.py:3175 part/templates/part/part_sidebar.html:63 -#: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:226 stock/models.py:2344 stock/models.py:2461 -#: stock/serializers.py:501 stock/serializers.py:659 stock/serializers.py:755 -#: stock/serializers.py:805 stock/serializers.py:1114 stock/serializers.py:1203 -#: stock/serializers.py:1368 stock/templates/stock/stock_sidebar.html:25 +#: part/models.py:3218 part/templates/part/part_sidebar.html:63 +#: report/templates/report/inventree_build_order_report.html:172 +#: stock/admin.py:226 stock/models.py:2321 stock/models.py:2438 +#: stock/serializers.py:630 stock/serializers.py:788 stock/serializers.py:884 +#: stock/serializers.py:934 stock/serializers.py:1243 stock/serializers.py:1332 +#: stock/serializers.py:1497 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1080 -#: templates/js/translated/purchase_order.js:2201 -#: templates/js/translated/return_order.js:776 -#: templates/js/translated/sales_order.js:1067 -#: templates/js/translated/sales_order.js:1982 -#: templates/js/translated/stock.js:1536 templates/js/translated/stock.js:2430 +#: templates/js/translated/purchase_order.js:2200 +#: templates/js/translated/return_order.js:775 +#: templates/js/translated/sales_order.js:1103 +#: templates/js/translated/sales_order.js:2018 +#: templates/js/translated/stock.js:1536 templates/js/translated/stock.js:2428 msgid "Notes" msgstr "" @@ -132,7 +132,7 @@ msgstr "" msgid "Registration is disabled." msgstr "" -#: InvenTree/helpers.py:525 order/models.py:541 order/models.py:743 +#: InvenTree/helpers.py:525 order/models.py:563 order/models.py:765 msgid "Invalid quantity provided" msgstr "" @@ -355,142 +355,142 @@ msgstr "" msgid "Error running plugin validation" msgstr "" -#: InvenTree/models.py:162 +#: InvenTree/models.py:176 msgid "Metadata must be a python dict object" msgstr "" -#: InvenTree/models.py:168 +#: InvenTree/models.py:182 msgid "Plugin Metadata" msgstr "" -#: InvenTree/models.py:169 +#: InvenTree/models.py:183 msgid "JSON metadata field, for use by external plugins" msgstr "" -#: InvenTree/models.py:399 +#: InvenTree/models.py:413 msgid "Improperly formatted pattern" msgstr "" -#: InvenTree/models.py:406 +#: InvenTree/models.py:420 msgid "Unknown format key specified" msgstr "" -#: InvenTree/models.py:412 +#: InvenTree/models.py:426 msgid "Missing required format key" msgstr "" -#: InvenTree/models.py:423 +#: InvenTree/models.py:437 msgid "Reference field cannot be empty" msgstr "" -#: InvenTree/models.py:431 +#: InvenTree/models.py:445 msgid "Reference must match required pattern" msgstr "" -#: InvenTree/models.py:462 +#: InvenTree/models.py:476 msgid "Reference number is too large" msgstr "" -#: InvenTree/models.py:536 +#: InvenTree/models.py:550 msgid "Missing file" msgstr "" -#: InvenTree/models.py:537 +#: InvenTree/models.py:551 msgid "Missing external link" msgstr "" -#: InvenTree/models.py:558 stock/models.py:2456 +#: InvenTree/models.py:572 stock/models.py:2433 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" msgstr "" -#: InvenTree/models.py:559 +#: InvenTree/models.py:573 msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:567 common/models.py:3026 company/models.py:146 +#: InvenTree/models.py:581 common/models.py:3032 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 -#: order/models.py:291 order/models.py:1288 order/models.py:1704 -#: part/admin.py:55 part/models.py:919 +#: order/models.py:304 order/models.py:1328 order/models.py:1744 +#: part/admin.py:55 part/models.py:962 #: part/templates/part/part_scheduling.html:11 -#: report/templates/report/inventree_build_order_base.html:164 +#: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2456 -#: templates/js/translated/purchase_order.js:2041 -#: templates/js/translated/purchase_order.js:2205 -#: templates/js/translated/return_order.js:780 -#: templates/js/translated/sales_order.js:1056 -#: templates/js/translated/sales_order.js:1987 +#: templates/js/translated/part.js:2455 +#: templates/js/translated/purchase_order.js:2040 +#: templates/js/translated/purchase_order.js:2204 +#: templates/js/translated/return_order.js:779 +#: templates/js/translated/sales_order.js:1092 +#: templates/js/translated/sales_order.js:2023 msgid "Link" msgstr "" -#: InvenTree/models.py:568 build/models.py:321 part/models.py:920 -#: stock/models.py:819 +#: InvenTree/models.py:582 build/models.py:344 part/models.py:963 +#: stock/models.py:840 msgid "Link to external URL" msgstr "" -#: InvenTree/models.py:574 templates/js/translated/attachment.js:120 +#: InvenTree/models.py:588 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:341 msgid "Comment" msgstr "" -#: InvenTree/models.py:575 +#: InvenTree/models.py:589 msgid "File comment" msgstr "" -#: InvenTree/models.py:583 InvenTree/models.py:584 common/models.py:2502 -#: common/models.py:2503 common/models.py:2727 common/models.py:2728 -#: common/models.py:2973 common/models.py:2974 part/models.py:3185 -#: part/models.py:3272 part/models.py:3365 part/models.py:3393 -#: plugin/models.py:250 plugin/models.py:251 -#: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3039 users/models.py:111 +#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2508 +#: common/models.py:2509 common/models.py:2733 common/models.py:2734 +#: common/models.py:2979 common/models.py:2980 part/models.py:3228 +#: part/models.py:3315 part/models.py:3408 part/models.py:3436 +#: plugin/models.py:259 plugin/models.py:260 +#: report/templates/report/inventree_test_report.html:105 +#: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" msgstr "" -#: InvenTree/models.py:588 +#: InvenTree/models.py:602 msgid "upload date" msgstr "" -#: InvenTree/models.py:610 +#: InvenTree/models.py:624 msgid "Filename must not be empty" msgstr "" -#: InvenTree/models.py:621 +#: InvenTree/models.py:635 msgid "Invalid attachment directory" msgstr "" -#: InvenTree/models.py:651 +#: InvenTree/models.py:665 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "" -#: InvenTree/models.py:654 +#: InvenTree/models.py:668 msgid "Filename missing extension" msgstr "" -#: InvenTree/models.py:663 +#: InvenTree/models.py:677 msgid "Attachment with this filename already exists" msgstr "" -#: InvenTree/models.py:670 +#: InvenTree/models.py:684 msgid "Error renaming file" msgstr "" -#: InvenTree/models.py:846 +#: InvenTree/models.py:860 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:863 +#: InvenTree/models.py:877 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:893 common/models.py:2714 common/models.py:3112 -#: common/serializers.py:403 company/models.py:614 label/models.py:120 -#: machine/models.py:24 part/models.py:855 part/models.py:3616 -#: plugin/models.py:41 report/models.py:176 stock/models.py:76 +#: InvenTree/models.py:907 common/models.py:2720 common/models.py:3118 +#: common/serializers.py:403 company/models.py:614 machine/models.py:24 +#: part/models.py:898 part/models.py:3659 plugin/models.py:50 +#: report/models.py:149 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -503,22 +503,22 @@ msgstr "" #: templates/js/translated/company.js:1165 #: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186 #: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2719 +#: templates/js/translated/part.js:2748 templates/js/translated/stock.js:2716 msgid "Name" msgstr "" -#: InvenTree/models.py:899 build/models.py:194 +#: InvenTree/models.py:913 build/models.py:217 #: build/templates/build/detail.html:24 common/models.py:136 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 label/models.py:127 -#: order/models.py:277 order/models.py:1316 part/admin.py:303 part/admin.py:414 -#: part/models.py:878 part/models.py:3631 part/templates/part/category.html:82 +#: company/templates/company/supplier_part.html:107 order/models.py:290 +#: order/models.py:1356 part/admin.py:305 part/admin.py:416 part/models.py:921 +#: part/models.py:3674 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 -#: part/templates/part/part_scheduling.html:12 report/models.py:189 -#: report/models.py:655 report/models.py:729 -#: report/templates/report/inventree_build_order_base.html:117 +#: part/templates/part/part_scheduling.html:12 report/models.py:155 +#: report/models.py:510 report/models.py:536 +#: report/templates/report/inventree_build_order_report.html:117 #: stock/admin.py:55 stock/models.py:82 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 @@ -530,71 +530,71 @@ msgstr "" #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 -#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2896 +#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2354 +#: templates/js/translated/part.js:2784 templates/js/translated/part.js:2895 #: templates/js/translated/plugin.js:80 -#: templates/js/translated/purchase_order.js:1707 -#: templates/js/translated/purchase_order.js:1850 -#: templates/js/translated/purchase_order.js:2023 -#: templates/js/translated/return_order.js:314 -#: templates/js/translated/sales_order.js:802 -#: templates/js/translated/sales_order.js:1812 -#: templates/js/translated/stock.js:1515 templates/js/translated/stock.js:2060 -#: templates/js/translated/stock.js:2751 templates/js/translated/stock.js:2834 +#: templates/js/translated/purchase_order.js:1706 +#: templates/js/translated/purchase_order.js:1849 +#: templates/js/translated/purchase_order.js:2022 +#: templates/js/translated/return_order.js:313 +#: templates/js/translated/sales_order.js:838 +#: templates/js/translated/sales_order.js:1848 +#: templates/js/translated/stock.js:1515 templates/js/translated/stock.js:2058 +#: templates/js/translated/stock.js:2748 templates/js/translated/stock.js:2831 msgid "Description" msgstr "" -#: InvenTree/models.py:900 stock/models.py:83 +#: InvenTree/models.py:914 stock/models.py:83 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:909 +#: InvenTree/models.py:923 msgid "parent" msgstr "" -#: InvenTree/models.py:915 templates/js/translated/part.js:2794 -#: templates/js/translated/stock.js:2760 +#: InvenTree/models.py:929 templates/js/translated/part.js:2793 +#: templates/js/translated/stock.js:2757 msgid "Path" msgstr "" -#: InvenTree/models.py:1021 +#: InvenTree/models.py:1035 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:1050 +#: InvenTree/models.py:1064 msgid "Barcode Data" msgstr "" -#: InvenTree/models.py:1051 +#: InvenTree/models.py:1065 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:1057 +#: InvenTree/models.py:1071 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:1058 +#: InvenTree/models.py:1072 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:1111 +#: InvenTree/models.py:1125 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:1154 +#: InvenTree/models.py:1168 msgid "Server Error" msgstr "" -#: InvenTree/models.py:1155 +#: InvenTree/models.py:1169 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:62 part/models.py:4169 +#: InvenTree/serializers.py:62 part/models.py:4212 msgid "Must be a valid number" msgstr "" #: InvenTree/serializers.py:99 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:2993 +#: company/templates/company/company_base.html:112 part/models.py:3036 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -686,7 +686,7 @@ msgstr "" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1161 +#: InvenTree/status.py:66 part/serializers.py:1176 msgid "Background worker check failed" msgstr "" @@ -699,8 +699,8 @@ msgid "InvenTree system health checks failed" msgstr "" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:37 -#: InvenTree/status_codes.py:148 InvenTree/status_codes.py:164 -#: InvenTree/status_codes.py:182 generic/states/tests.py:17 +#: InvenTree/status_codes.py:149 InvenTree/status_codes.py:165 +#: InvenTree/status_codes.py:183 generic/states/tests.py:17 #: templates/js/translated/table_filters.js:598 msgid "Pending" msgstr "" @@ -709,188 +709,188 @@ msgstr "" msgid "Placed" msgstr "" -#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:151 -#: InvenTree/status_codes.py:169 generic/states/tests.py:19 -#: order/templates/order/order_base.html:158 -#: order/templates/order/sales_order_base.html:161 +#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:44 +#: InvenTree/status_codes.py:152 InvenTree/status_codes.py:170 +#: generic/states/tests.py:19 order/templates/order/order_base.html:158 +#: order/templates/order/sales_order_base.html:165 report/models.py:444 msgid "Complete" msgstr "" -#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:44 -#: InvenTree/status_codes.py:150 InvenTree/status_codes.py:170 +#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:45 +#: InvenTree/status_codes.py:151 InvenTree/status_codes.py:171 msgid "Cancelled" msgstr "" -#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:45 -#: InvenTree/status_codes.py:67 +#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:46 +#: InvenTree/status_codes.py:68 msgid "Lost" msgstr "" -#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:46 -#: InvenTree/status_codes.py:73 +#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:47 +#: InvenTree/status_codes.py:74 msgid "Returned" msgstr "" -#: InvenTree/status_codes.py:40 InvenTree/status_codes.py:167 +#: InvenTree/status_codes.py:40 InvenTree/status_codes.py:168 msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:43 order/models.py:1566 -#: templates/js/translated/sales_order.js:1523 -#: templates/js/translated/sales_order.js:1644 -#: templates/js/translated/sales_order.js:1957 +#: InvenTree/status_codes.py:43 order/models.py:1606 +#: templates/js/translated/sales_order.js:1559 +#: templates/js/translated/sales_order.js:1680 +#: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "" -#: InvenTree/status_codes.py:62 +#: InvenTree/status_codes.py:63 msgid "OK" msgstr "" -#: InvenTree/status_codes.py:63 +#: InvenTree/status_codes.py:64 msgid "Attention needed" msgstr "" -#: InvenTree/status_codes.py:64 +#: InvenTree/status_codes.py:65 msgid "Damaged" msgstr "" -#: InvenTree/status_codes.py:65 +#: InvenTree/status_codes.py:66 msgid "Destroyed" msgstr "" -#: InvenTree/status_codes.py:66 +#: InvenTree/status_codes.py:67 msgid "Rejected" msgstr "" -#: InvenTree/status_codes.py:70 +#: InvenTree/status_codes.py:71 msgid "Quarantined" msgstr "" -#: InvenTree/status_codes.py:91 +#: InvenTree/status_codes.py:92 msgid "Legacy stock tracking entry" msgstr "" -#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:544 +#: InvenTree/status_codes.py:94 templates/js/translated/stock.js:544 msgid "Stock item created" msgstr "" -#: InvenTree/status_codes.py:96 +#: InvenTree/status_codes.py:97 msgid "Edited stock item" msgstr "" -#: InvenTree/status_codes.py:97 +#: InvenTree/status_codes.py:98 msgid "Assigned serial number" msgstr "" -#: InvenTree/status_codes.py:100 +#: InvenTree/status_codes.py:101 msgid "Stock counted" msgstr "" -#: InvenTree/status_codes.py:101 +#: InvenTree/status_codes.py:102 msgid "Stock manually added" msgstr "" -#: InvenTree/status_codes.py:102 +#: InvenTree/status_codes.py:103 msgid "Stock manually removed" msgstr "" -#: InvenTree/status_codes.py:105 +#: InvenTree/status_codes.py:106 msgid "Location changed" msgstr "" -#: InvenTree/status_codes.py:106 +#: InvenTree/status_codes.py:107 msgid "Stock updated" msgstr "" -#: InvenTree/status_codes.py:109 +#: InvenTree/status_codes.py:110 msgid "Installed into assembly" msgstr "" -#: InvenTree/status_codes.py:110 +#: InvenTree/status_codes.py:111 msgid "Removed from assembly" msgstr "" -#: InvenTree/status_codes.py:112 +#: InvenTree/status_codes.py:113 msgid "Installed component item" msgstr "" -#: InvenTree/status_codes.py:113 +#: InvenTree/status_codes.py:114 msgid "Removed component item" msgstr "" -#: InvenTree/status_codes.py:116 +#: InvenTree/status_codes.py:117 msgid "Split from parent item" msgstr "" -#: InvenTree/status_codes.py:117 +#: InvenTree/status_codes.py:118 msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1858 +#: InvenTree/status_codes.py:121 templates/js/translated/stock.js:1858 msgid "Merged stock items" msgstr "" -#: InvenTree/status_codes.py:123 +#: InvenTree/status_codes.py:124 msgid "Converted to variant" msgstr "" -#: InvenTree/status_codes.py:126 +#: InvenTree/status_codes.py:127 msgid "Build order output created" msgstr "" -#: InvenTree/status_codes.py:127 +#: InvenTree/status_codes.py:128 msgid "Build order output completed" msgstr "" -#: InvenTree/status_codes.py:128 +#: InvenTree/status_codes.py:129 msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1764 +#: InvenTree/status_codes.py:130 templates/js/translated/stock.js:1764 msgid "Consumed by build order" msgstr "" -#: InvenTree/status_codes.py:132 +#: InvenTree/status_codes.py:133 msgid "Shipped against Sales Order" msgstr "" -#: InvenTree/status_codes.py:135 +#: InvenTree/status_codes.py:136 msgid "Received against Purchase Order" msgstr "" -#: InvenTree/status_codes.py:138 +#: InvenTree/status_codes.py:139 msgid "Returned against Return Order" msgstr "" -#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:375 +#: InvenTree/status_codes.py:142 templates/js/translated/table_filters.js:375 msgid "Sent to customer" msgstr "" -#: InvenTree/status_codes.py:142 +#: InvenTree/status_codes.py:143 msgid "Returned from customer" msgstr "" -#: InvenTree/status_codes.py:149 +#: InvenTree/status_codes.py:150 msgid "Production" msgstr "" -#: InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:186 msgid "Return" msgstr "" -#: InvenTree/status_codes.py:188 +#: InvenTree/status_codes.py:189 msgid "Repair" msgstr "" -#: InvenTree/status_codes.py:191 +#: InvenTree/status_codes.py:192 msgid "Replace" msgstr "" -#: InvenTree/status_codes.py:194 +#: InvenTree/status_codes.py:195 msgid "Refund" msgstr "" -#: InvenTree/status_codes.py:197 +#: InvenTree/status_codes.py:198 msgid "Reject" msgstr "" @@ -946,14 +946,14 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:299 part/models.py:4047 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4090 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4041 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4084 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -969,7 +969,7 @@ msgstr "" #: build/api.py:303 part/admin.py:144 templates/js/translated/build.js:1744 #: templates/js/translated/build.js:2629 -#: templates/js/translated/sales_order.js:1929 +#: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "" @@ -980,7 +980,7 @@ msgstr "" #: templates/email/low_stock_notification.html:17 #: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 #: templates/js/translated/index.js:123 -#: templates/js/translated/model_renderers.js:228 +#: templates/js/translated/model_renderers.js:234 #: templates/js/translated/part.js:692 templates/js/translated/part.js:694 #: templates/js/translated/part.js:699 #: templates/js/translated/table_filters.js:340 @@ -988,16 +988,16 @@ msgstr "" msgid "Available" msgstr "" -#: build/models.py:74 build/templates/build/build_base.html:9 +#: build/models.py:82 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 -#: report/templates/report/inventree_build_order_base.html:105 -#: templates/email/build_order_completed.html:16 +#: report/templates/report/inventree_build_order_report.html:105 +#: stock/serializers.py:83 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2895 +#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2892 msgid "Build Order" msgstr "" -#: build/models.py:75 build/templates/build/build_base.html:13 +#: build/models.py:83 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -1008,71 +1008,71 @@ msgstr "" msgid "Build Orders" msgstr "" -#: build/models.py:122 +#: build/models.py:130 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:133 order/models.py:239 +#: build/models.py:141 order/models.py:241 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:139 +#: build/models.py:147 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:185 +#: build/models.py:208 msgid "Build Order Reference" msgstr "" -#: build/models.py:186 order/models.py:442 order/models.py:898 -#: order/models.py:1276 order/models.py:1998 part/admin.py:417 -#: part/models.py:4062 part/templates/part/upload_bom.html:54 +#: build/models.py:209 order/models.py:464 order/models.py:929 +#: order/models.py:1316 order/models.py:2047 part/admin.py:419 +#: part/models.py:4105 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 -#: report/templates/report/inventree_so_report_base.html:28 +#: report/templates/report/inventree_purchase_order_report.html:28 +#: report/templates/report/inventree_return_order_report.html:26 +#: report/templates/report/inventree_sales_order_report.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 #: templates/js/translated/build.js:2512 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 -#: templates/js/translated/purchase_order.js:2066 -#: templates/js/translated/return_order.js:729 -#: templates/js/translated/sales_order.js:1818 +#: templates/js/translated/purchase_order.js:2065 +#: templates/js/translated/return_order.js:728 +#: templates/js/translated/sales_order.js:1854 msgid "Reference" msgstr "" -#: build/models.py:197 +#: build/models.py:220 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:205 build/templates/build/build_base.html:183 +#: build/models.py:228 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:206 +#: build/models.py:229 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:211 build/templates/build/build_base.html:97 +#: build/models.py:234 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 -#: order/models.py:1401 order/models.py:1546 order/models.py:1547 -#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004 -#: part/models.py:3148 part/models.py:3292 part/models.py:3315 -#: part/models.py:3336 part/models.py:3358 part/models.py:3468 -#: part/models.py:3764 part/models.py:3920 part/models.py:4013 -#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713 +#: order/models.py:1441 order/models.py:1586 order/models.py:1587 +#: part/api.py:1501 part/api.py:1795 part/models.py:392 part/models.py:3047 +#: part/models.py:3191 part/models.py:3335 part/models.py:3358 +#: part/models.py:3379 part/models.py:3401 part/models.py:3511 +#: part/models.py:3807 part/models.py:3963 part/models.py:4056 +#: part/models.py:4417 part/serializers.py:1122 part/serializers.py:1728 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 -#: report/templates/report/inventree_build_order_base.html:109 -#: report/templates/report/inventree_po_report_base.html:27 -#: report/templates/report/inventree_return_order_report_base.html:24 -#: report/templates/report/inventree_slr_report.html:102 -#: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:267 stock/serializers.py:689 -#: templates/InvenTree/search.html:82 +#: report/templates/report/inventree_build_order_report.html:109 +#: report/templates/report/inventree_purchase_order_report.html:27 +#: report/templates/report/inventree_return_order_report.html:24 +#: report/templates/report/inventree_sales_order_report.html:27 +#: report/templates/report/inventree_stock_location_report.html:102 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:396 +#: stock/serializers.py:818 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -1086,235 +1086,239 @@ msgstr "" #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 #: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 -#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:2323 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:751 #: templates/js/translated/purchase_order.js:1304 -#: templates/js/translated/purchase_order.js:1849 -#: templates/js/translated/purchase_order.js:2008 -#: templates/js/translated/return_order.js:539 -#: templates/js/translated/return_order.js:710 +#: templates/js/translated/purchase_order.js:1848 +#: templates/js/translated/purchase_order.js:2007 +#: templates/js/translated/return_order.js:538 +#: templates/js/translated/return_order.js:709 #: templates/js/translated/sales_order.js:300 -#: templates/js/translated/sales_order.js:1197 -#: templates/js/translated/sales_order.js:1598 -#: templates/js/translated/sales_order.js:1796 +#: templates/js/translated/sales_order.js:1233 +#: templates/js/translated/sales_order.js:1634 +#: templates/js/translated/sales_order.js:1832 #: templates/js/translated/stock.js:676 templates/js/translated/stock.js:842 -#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1999 -#: templates/js/translated/stock.js:2860 templates/js/translated/stock.js:3093 -#: templates/js/translated/stock.js:3239 +#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1997 +#: templates/js/translated/stock.js:2857 templates/js/translated/stock.js:3090 +#: templates/js/translated/stock.js:3236 msgid "Part" msgstr "" -#: build/models.py:219 +#: build/models.py:242 msgid "Select part to build" msgstr "" -#: build/models.py:224 +#: build/models.py:247 msgid "Sales Order Reference" msgstr "" -#: build/models.py:228 +#: build/models.py:251 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:233 build/serializers.py:970 +#: build/models.py:256 build/serializers.py:969 #: templates/js/translated/build.js:1731 -#: templates/js/translated/sales_order.js:1185 +#: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "" -#: build/models.py:237 +#: build/models.py:260 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:242 +#: build/models.py:265 msgid "Destination Location" msgstr "" -#: build/models.py:246 +#: build/models.py:269 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:250 +#: build/models.py:273 msgid "Build Quantity" msgstr "" -#: build/models.py:253 +#: build/models.py:276 msgid "Number of stock items to build" msgstr "" -#: build/models.py:257 +#: build/models.py:280 msgid "Completed items" msgstr "" -#: build/models.py:259 +#: build/models.py:282 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:263 +#: build/models.py:286 msgid "Build Status" msgstr "" -#: build/models.py:267 +#: build/models.py:290 msgid "Build status code" msgstr "" -#: build/models.py:276 build/serializers.py:278 order/serializers.py:581 -#: stock/models.py:823 stock/serializers.py:1333 +#: build/models.py:299 build/serializers.py:277 order/serializers.py:581 +#: stock/models.py:844 stock/serializers.py:75 stock/serializers.py:1462 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" -#: build/models.py:280 build/serializers.py:279 +#: build/models.py:303 build/serializers.py:278 msgid "Batch code for this build output" msgstr "" -#: build/models.py:283 order/models.py:304 order/serializers.py:120 -#: part/models.py:1079 part/templates/part/part_base.html:310 -#: templates/js/translated/return_order.js:339 -#: templates/js/translated/sales_order.js:827 +#: build/models.py:306 order/models.py:317 order/serializers.py:120 +#: part/models.py:1122 part/templates/part/part_base.html:310 +#: templates/js/translated/return_order.js:338 +#: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "" -#: build/models.py:287 +#: build/models.py:310 msgid "Target completion date" msgstr "" -#: build/models.py:288 +#: build/models.py:311 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:291 order/models.py:500 order/models.py:2043 +#: build/models.py:314 order/models.py:522 order/models.py:2092 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "" -#: build/models.py:297 +#: build/models.py:320 msgid "completed by" msgstr "" -#: build/models.py:305 templates/js/translated/build.js:2207 +#: build/models.py:328 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "" -#: build/models.py:306 +#: build/models.py:329 msgid "User who issued this build order" msgstr "" -#: build/models.py:314 build/templates/build/build_base.html:204 +#: build/models.py:337 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:145 -#: order/models.py:322 order/templates/order/order_base.html:217 +#: order/models.py:335 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1096 +#: order/templates/order/sales_order_base.html:232 part/models.py:1139 #: part/templates/part/part_base.html:390 -#: report/templates/report/inventree_build_order_base.html:158 +#: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 #: templates/js/translated/build.js:2219 -#: templates/js/translated/purchase_order.js:1764 -#: templates/js/translated/return_order.js:359 +#: templates/js/translated/purchase_order.js:1763 +#: templates/js/translated/return_order.js:358 #: templates/js/translated/table_filters.js:531 msgid "Responsible" msgstr "" -#: build/models.py:315 +#: build/models.py:338 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:320 build/templates/build/detail.html:108 +#: build/models.py:343 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 -#: order/templates/order/sales_order_base.html:180 -#: part/templates/part/part_base.html:383 stock/models.py:819 +#: order/templates/order/sales_order_base.html:184 +#: part/templates/part/part_base.html:383 stock/models.py:840 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "" -#: build/models.py:325 +#: build/models.py:348 msgid "Build Priority" msgstr "" -#: build/models.py:328 +#: build/models.py:351 msgid "Priority of this build order" msgstr "" -#: build/models.py:335 common/models.py:129 order/admin.py:18 -#: order/models.py:286 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:358 common/models.py:129 order/admin.py:18 +#: order/models.py:299 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 -#: templates/js/translated/purchase_order.js:1711 -#: templates/js/translated/return_order.js:318 -#: templates/js/translated/sales_order.js:806 +#: templates/js/translated/purchase_order.js:1710 +#: templates/js/translated/return_order.js:317 +#: templates/js/translated/sales_order.js:842 #: templates/js/translated/table_filters.js:48 #: templates/project_code_data.html:6 msgid "Project Code" msgstr "" -#: build/models.py:336 +#: build/models.py:359 msgid "Project code for this build order" msgstr "" -#: build/models.py:566 build/models.py:631 +#: build/models.py:589 build/models.py:654 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:588 +#: build/models.py:611 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:594 +#: build/models.py:617 msgid "A build order has been completed" msgstr "" -#: build/models.py:820 build/models.py:895 +#: build/models.py:843 build/models.py:918 msgid "No build output specified" msgstr "" -#: build/models.py:823 +#: build/models.py:846 msgid "Build output is already completed" msgstr "" -#: build/models.py:826 +#: build/models.py:849 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:899 build/serializers.py:221 build/serializers.py:260 -#: build/serializers.py:837 order/models.py:538 order/serializers.py:433 -#: order/serializers.py:576 part/serializers.py:1471 part/serializers.py:1871 -#: stock/models.py:662 stock/models.py:1482 stock/serializers.py:472 +#: build/models.py:922 build/serializers.py:220 build/serializers.py:259 +#: build/serializers.py:836 order/models.py:560 order/serializers.py:433 +#: order/serializers.py:576 part/serializers.py:1486 part/serializers.py:1886 +#: stock/models.py:683 stock/models.py:1503 stock/serializers.py:601 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:904 build/serializers.py:226 +#: build/models.py:927 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:961 build/serializers.py:539 +#: build/models.py:984 build/serializers.py:538 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1323 +#: build/models.py:1335 +msgid "Build Order Line Item" +msgstr "" + +#: build/models.py:1360 msgid "Build object" msgstr "" -#: build/models.py:1337 build/models.py:1593 build/serializers.py:208 -#: build/serializers.py:245 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2524 -#: order/models.py:1259 order/models.py:1918 order/serializers.py:1339 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 -#: part/forms.py:48 part/models.py:3162 part/models.py:4035 +#: build/models.py:1374 build/models.py:1630 build/serializers.py:207 +#: build/serializers.py:244 build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2530 +#: order/models.py:1299 order/models.py:1958 order/serializers.py:1339 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 +#: part/forms.py:48 part/models.py:3205 part/models.py:4078 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 -#: report/templates/report/inventree_build_order_base.html:113 -#: report/templates/report/inventree_po_report_base.html:29 -#: report/templates/report/inventree_slr_report.html:104 -#: report/templates/report/inventree_so_report_base.html:29 -#: report/templates/report/inventree_test_report_base.html:90 -#: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:160 stock/serializers.py:463 +#: report/templates/report/inventree_build_order_report.html:113 +#: report/templates/report/inventree_purchase_order_report.html:29 +#: report/templates/report/inventree_sales_order_report.html:29 +#: report/templates/report/inventree_stock_location_report.html:104 +#: report/templates/report/inventree_test_report.html:90 +#: report/templates/report/inventree_test_report.html:170 stock/admin.py:160 +#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:592 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1324,380 +1328,381 @@ msgstr "" #: templates/js/translated/build.js:737 templates/js/translated/build.js:1369 #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 -#: templates/js/translated/model_renderers.js:230 +#: templates/js/translated/model_renderers.js:236 #: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3341 +#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3340 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 #: templates/js/translated/purchase_order.js:754 -#: templates/js/translated/purchase_order.js:1853 -#: templates/js/translated/purchase_order.js:2072 +#: templates/js/translated/purchase_order.js:1852 +#: templates/js/translated/purchase_order.js:2071 #: templates/js/translated/sales_order.js:317 -#: templates/js/translated/sales_order.js:1199 -#: templates/js/translated/sales_order.js:1518 -#: templates/js/translated/sales_order.js:1608 -#: templates/js/translated/sales_order.js:1698 -#: templates/js/translated/sales_order.js:1824 +#: templates/js/translated/sales_order.js:1235 +#: templates/js/translated/sales_order.js:1554 +#: templates/js/translated/sales_order.js:1644 +#: templates/js/translated/sales_order.js:1734 +#: templates/js/translated/sales_order.js:1860 #: templates/js/translated/stock.js:564 templates/js/translated/stock.js:702 -#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:3024 -#: templates/js/translated/stock.js:3107 +#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:3021 +#: templates/js/translated/stock.js:3104 msgid "Quantity" msgstr "" -#: build/models.py:1338 +#: build/models.py:1375 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1418 +#: build/models.py:1455 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1427 +#: build/models.py:1464 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1437 order/models.py:1869 +#: build/models.py:1474 order/models.py:1909 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1443 order/models.py:1872 +#: build/models.py:1480 order/models.py:1912 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1449 +#: build/models.py:1486 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1508 +#: build/models.py:1545 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1580 build/serializers.py:817 order/serializers.py:1183 -#: order/serializers.py:1204 stock/serializers.py:566 stock/serializers.py:1052 -#: stock/serializers.py:1164 stock/templates/stock/item_base.html:10 +#: build/models.py:1617 build/serializers.py:816 order/serializers.py:1183 +#: order/serializers.py:1204 stock/models.py:364 stock/serializers.py:92 +#: stock/serializers.py:695 stock/serializers.py:1181 stock/serializers.py:1293 +#: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 #: templates/js/translated/build.js:1745 #: templates/js/translated/sales_order.js:301 -#: templates/js/translated/sales_order.js:1198 -#: templates/js/translated/sales_order.js:1499 -#: templates/js/translated/sales_order.js:1504 -#: templates/js/translated/sales_order.js:1605 -#: templates/js/translated/sales_order.js:1692 +#: templates/js/translated/sales_order.js:1234 +#: templates/js/translated/sales_order.js:1535 +#: templates/js/translated/sales_order.js:1540 +#: templates/js/translated/sales_order.js:1641 +#: templates/js/translated/sales_order.js:1728 #: templates/js/translated/stock.js:677 templates/js/translated/stock.js:843 -#: templates/js/translated/stock.js:2980 +#: templates/js/translated/stock.js:2977 msgid "Stock Item" msgstr "" -#: build/models.py:1581 +#: build/models.py:1618 msgid "Source stock item" msgstr "" -#: build/models.py:1594 +#: build/models.py:1631 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1602 +#: build/models.py:1639 msgid "Install into" msgstr "" -#: build/models.py:1603 +#: build/models.py:1640 msgid "Destination stock item" msgstr "" -#: build/serializers.py:158 build/serializers.py:846 +#: build/serializers.py:157 build/serializers.py:845 #: templates/js/translated/build.js:1322 msgid "Build Output" msgstr "" -#: build/serializers.py:170 +#: build/serializers.py:169 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:174 +#: build/serializers.py:173 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:178 +#: build/serializers.py:177 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:189 +#: build/serializers.py:188 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:209 build/serializers.py:246 +#: build/serializers.py:208 build/serializers.py:245 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:267 +#: build/serializers.py:266 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:270 +#: build/serializers.py:269 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:285 order/serializers.py:589 order/serializers.py:1343 -#: stock/serializers.py:483 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:284 order/serializers.py:589 order/serializers.py:1343 +#: stock/serializers.py:612 templates/js/translated/purchase_order.js:1153 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:286 +#: build/serializers.py:285 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:291 build/serializers.py:432 build/serializers.py:504 +#: build/serializers.py:290 build/serializers.py:431 build/serializers.py:503 #: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1679 -#: part/serializers.py:1127 stock/serializers.py:494 stock/serializers.py:654 -#: stock/serializers.py:750 stock/serializers.py:1196 stock/serializers.py:1452 -#: stock/templates/stock/item_base.html:394 +#: part/serializers.py:1142 stock/serializers.py:101 stock/serializers.py:623 +#: stock/serializers.py:783 stock/serializers.py:879 stock/serializers.py:1325 +#: stock/serializers.py:1581 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 #: templates/js/translated/purchase_order.js:1178 #: templates/js/translated/purchase_order.js:1268 -#: templates/js/translated/sales_order.js:1511 -#: templates/js/translated/sales_order.js:1619 -#: templates/js/translated/sales_order.js:1627 -#: templates/js/translated/sales_order.js:1706 +#: templates/js/translated/sales_order.js:1547 +#: templates/js/translated/sales_order.js:1655 +#: templates/js/translated/sales_order.js:1663 +#: templates/js/translated/sales_order.js:1742 #: templates/js/translated/stock.js:678 templates/js/translated/stock.js:844 -#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2203 -#: templates/js/translated/stock.js:2874 +#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2201 +#: templates/js/translated/stock.js:2871 msgid "Location" msgstr "" -#: build/serializers.py:292 +#: build/serializers.py:291 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:306 +#: build/serializers.py:305 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:307 +#: build/serializers.py:306 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:322 +#: build/serializers.py:321 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:347 stock/api.py:995 +#: build/serializers.py:346 stock/api.py:1029 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:394 build/serializers.py:456 build/serializers.py:545 +#: build/serializers.py:393 build/serializers.py:455 build/serializers.py:544 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:433 +#: build/serializers.py:432 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:439 +#: build/serializers.py:438 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:440 +#: build/serializers.py:439 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:445 +#: build/serializers.py:444 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:505 +#: build/serializers.py:504 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:511 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:922 -#: order/models.py:2022 order/serializers.py:597 stock/admin.py:165 -#: stock/serializers.py:801 stock/serializers.py:1340 +#: build/serializers.py:510 build/templates/build/build_base.html:151 +#: build/templates/build/detail.html:62 order/models.py:953 +#: order/models.py:2071 order/serializers.py:597 stock/admin.py:165 +#: stock/serializers.py:930 stock/serializers.py:1469 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 -#: templates/js/translated/purchase_order.js:1723 -#: templates/js/translated/return_order.js:331 -#: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2178 templates/js/translated/stock.js:2998 -#: templates/js/translated/stock.js:3123 +#: templates/js/translated/purchase_order.js:1722 +#: templates/js/translated/return_order.js:330 +#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/stock.js:2176 templates/js/translated/stock.js:2995 +#: templates/js/translated/stock.js:3120 msgid "Status" msgstr "" -#: build/serializers.py:517 +#: build/serializers.py:516 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:518 +#: build/serializers.py:517 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:598 +#: build/serializers.py:597 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:599 +#: build/serializers.py:598 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:605 +#: build/serializers.py:604 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:606 +#: build/serializers.py:605 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:633 +#: build/serializers.py:632 msgid "Not permitted" msgstr "" -#: build/serializers.py:634 +#: build/serializers.py:633 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:635 +#: build/serializers.py:634 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:657 +#: build/serializers.py:656 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:659 +#: build/serializers.py:658 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:669 +#: build/serializers.py:668 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:674 +#: build/serializers.py:673 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:675 +#: build/serializers.py:674 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:685 templates/js/translated/build.js:315 +#: build/serializers.py:684 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:690 order/serializers.py:301 order/serializers.py:1246 +#: build/serializers.py:689 order/serializers.py:301 order/serializers.py:1246 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:691 +#: build/serializers.py:690 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:701 templates/js/translated/build.js:319 +#: build/serializers.py:700 templates/js/translated/build.js:319 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:710 templates/js/translated/build.js:303 +#: build/serializers.py:709 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:740 +#: build/serializers.py:739 msgid "Build Line" msgstr "" -#: build/serializers.py:750 +#: build/serializers.py:749 msgid "Build output" msgstr "" -#: build/serializers.py:758 +#: build/serializers.py:757 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:794 +#: build/serializers.py:793 msgid "Build Line Item" msgstr "" -#: build/serializers.py:808 +#: build/serializers.py:807 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:823 stock/serializers.py:1065 +#: build/serializers.py:822 stock/serializers.py:1194 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:871 order/serializers.py:1237 +#: build/serializers.py:870 order/serializers.py:1237 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:877 +#: build/serializers.py:876 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:884 +#: build/serializers.py:883 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:908 order/serializers.py:1489 +#: build/serializers.py:907 order/serializers.py:1489 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:971 +#: build/serializers.py:970 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:979 +#: build/serializers.py:978 msgid "Exclude Location" msgstr "" -#: build/serializers.py:980 +#: build/serializers.py:979 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:985 +#: build/serializers.py:984 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:986 +#: build/serializers.py:985 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:991 +#: build/serializers.py:990 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:992 +#: build/serializers.py:991 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:997 +#: build/serializers.py:996 msgid "Optional Items" msgstr "" -#: build/serializers.py:998 +#: build/serializers.py:997 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1020 +#: build/serializers.py:1019 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1110 part/models.py:3930 part/models.py:4366 -#: stock/api.py:758 +#: build/serializers.py:1109 part/models.py:3973 part/models.py:4409 +#: stock/api.py:792 msgid "BOM Item" msgstr "" -#: build/serializers.py:1119 templates/js/translated/index.js:130 +#: build/serializers.py:1118 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1124 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:817 part/serializers.py:1489 +#: build/serializers.py:1123 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:832 part/serializers.py:1504 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 @@ -1705,15 +1710,15 @@ msgstr "" msgid "On Order" msgstr "" -#: build/serializers.py:1129 part/serializers.py:1491 +#: build/serializers.py:1128 part/serializers.py:1506 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1134 part/bom.py:172 part/serializers.py:1514 +#: build/serializers.py:1133 part/bom.py:172 part/serializers.py:1529 #: part/templates/part/part_base.html:192 -#: templates/js/translated/sales_order.js:1893 +#: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "" @@ -1842,18 +1847,18 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:297 -#: order/models.py:1294 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:310 +#: order/models.py:1334 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 -#: order/templates/order/sales_order_base.html:192 -#: report/templates/report/inventree_build_order_base.html:125 +#: order/templates/order/sales_order_base.html:196 +#: report/templates/report/inventree_build_order_report.html:125 #: templates/js/translated/build.js:2239 templates/js/translated/part.js:1830 -#: templates/js/translated/purchase_order.js:1740 -#: templates/js/translated/purchase_order.js:2148 -#: templates/js/translated/return_order.js:347 -#: templates/js/translated/return_order.js:751 -#: templates/js/translated/sales_order.js:835 -#: templates/js/translated/sales_order.js:1867 +#: templates/js/translated/purchase_order.js:1739 +#: templates/js/translated/purchase_order.js:2147 +#: templates/js/translated/return_order.js:346 +#: templates/js/translated/return_order.js:750 +#: templates/js/translated/sales_order.js:871 +#: templates/js/translated/sales_order.js:1903 msgid "Target Date" msgstr "" @@ -1866,7 +1871,7 @@ msgstr "" #: build/templates/build/build_base.html:222 #: order/templates/order/order_base.html:122 #: order/templates/order/return_order_base.html:117 -#: order/templates/order/sales_order_base.html:122 +#: order/templates/order/sales_order_base.html:126 #: templates/js/translated/table_filters.js:98 #: templates/js/translated/table_filters.js:524 #: templates/js/translated/table_filters.js:626 @@ -1880,24 +1885,24 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:1538 -#: order/models.py:1652 order/models.py:1806 +#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:848 +#: order/models.py:1578 order/models.py:1692 order/models.py:1846 #: 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 +#: report/templates/report/inventree_build_order_report.html:135 +#: report/templates/report/inventree_sales_order_report.html:14 #: stock/templates/stock/item_base.html:369 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:929 -#: templates/js/translated/sales_order.js:769 -#: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2927 +#: templates/js/translated/sales_order.js:805 +#: templates/js/translated/sales_order.js:1028 +#: templates/js/translated/stock.js:2924 msgid "Sales Order" msgstr "" #: build/templates/build/build_base.html:197 #: build/templates/build/detail.html:115 -#: report/templates/report/inventree_build_order_base.html:152 +#: report/templates/report/inventree_build_order_report.html:152 #: templates/js/translated/table_filters.js:24 msgid "Issued By" msgstr "" @@ -1907,15 +1912,15 @@ msgstr "" msgid "Priority" msgstr "" -#: build/templates/build/build_base.html:273 +#: build/templates/build/build_base.html:269 msgid "Delete Build Order" msgstr "" -#: build/templates/build/build_base.html:283 +#: build/templates/build/build_base.html:279 msgid "Build Order QR Code" msgstr "" -#: build/templates/build/build_base.html:295 +#: build/templates/build/build_base.html:291 msgid "Link Barcode to Build Order" msgstr "" @@ -1931,8 +1936,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1430 -#: templates/js/translated/purchase_order.js:2190 +#: build/templates/build/detail.html:49 order/models.py:1470 +#: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "" @@ -1947,10 +1952,10 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 #: templates/js/translated/build.js:1380 -#: templates/js/translated/model_renderers.js:235 +#: templates/js/translated/model_renderers.js:241 #: templates/js/translated/purchase_order.js:1274 -#: templates/js/translated/stock.js:1133 templates/js/translated/stock.js:2192 -#: templates/js/translated/stock.js:3130 +#: templates/js/translated/stock.js:1133 templates/js/translated/stock.js:2190 +#: templates/js/translated/stock.js:3127 #: templates/js/translated/table_filters.js:313 #: templates/js/translated/table_filters.js:404 msgid "Batch" @@ -1959,7 +1964,7 @@ msgstr "" #: build/templates/build/detail.html:133 #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:151 -#: order/templates/order/sales_order_base.html:186 +#: order/templates/order/sales_order_base.html:190 #: templates/js/translated/build.js:2199 msgid "Created" msgstr "" @@ -1969,7 +1974,7 @@ msgid "No target date set" msgstr "" #: build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:202 +#: order/templates/order/sales_order_base.html:206 #: templates/js/translated/table_filters.js:689 msgid "Completed" msgstr "" @@ -2260,8 +2265,8 @@ msgstr "" #: common/models.py:1316 common/models.py:1372 common/models.py:1385 #: common/models.py:1393 common/models.py:1402 common/models.py:1411 -#: common/models.py:1613 common/models.py:1635 common/models.py:1750 -#: common/models.py:2061 +#: common/models.py:1619 common/models.py:1641 common/models.py:1756 +#: common/models.py:2067 msgid "days" msgstr "" @@ -2402,1209 +2407,1218 @@ msgid "Enable revision field for Part" msgstr "" #: common/models.py:1440 -msgid "IPN Regex" +msgid "Allow Deletion from Assembly" msgstr "" #: common/models.py:1441 +msgid "Allow deletion of parts which are used in an assembly" +msgstr "" + +#: common/models.py:1446 +msgid "IPN Regex" +msgstr "" + +#: common/models.py:1447 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1444 +#: common/models.py:1450 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1445 +#: common/models.py:1451 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1450 +#: common/models.py:1456 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1451 +#: common/models.py:1457 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1456 +#: common/models.py:1462 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1457 +#: common/models.py:1463 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1462 +#: common/models.py:1468 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1463 +#: common/models.py:1469 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1468 +#: common/models.py:1474 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1469 +#: common/models.py:1475 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1474 +#: common/models.py:1480 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1475 +#: common/models.py:1481 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1480 part/admin.py:108 part/models.py:3772 -#: report/models.py:182 stock/serializers.py:99 +#: common/models.py:1486 part/admin.py:108 part/models.py:3815 +#: report/models.py:294 report/models.py:361 report/serializers.py:90 +#: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:767 msgid "Template" msgstr "" -#: common/models.py:1481 +#: common/models.py:1487 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1486 part/admin.py:91 part/admin.py:431 part/models.py:1016 +#: common/models.py:1492 part/admin.py:91 part/admin.py:433 part/models.py:1059 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "" -#: common/models.py:1487 +#: common/models.py:1493 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1492 part/admin.py:95 part/models.py:1022 +#: common/models.py:1498 part/admin.py:95 part/models.py:1065 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "" -#: common/models.py:1493 +#: common/models.py:1499 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1498 part/admin.py:100 part/models.py:1034 +#: common/models.py:1504 part/admin.py:100 part/models.py:1077 msgid "Purchaseable" msgstr "" -#: common/models.py:1499 +#: common/models.py:1505 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1504 part/admin.py:104 part/models.py:1040 +#: common/models.py:1510 part/admin.py:104 part/models.py:1083 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "" -#: common/models.py:1505 +#: common/models.py:1511 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1510 part/admin.py:113 part/models.py:1028 +#: common/models.py:1516 part/admin.py:113 part/models.py:1071 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "" -#: common/models.py:1511 +#: common/models.py:1517 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1516 part/admin.py:117 part/models.py:1050 +#: common/models.py:1522 part/admin.py:117 part/models.py:1093 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "" -#: common/models.py:1517 +#: common/models.py:1523 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1522 +#: common/models.py:1528 msgid "Show Import in Views" msgstr "" -#: common/models.py:1523 +#: common/models.py:1529 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1528 +#: common/models.py:1534 msgid "Show related parts" msgstr "" -#: common/models.py:1529 +#: common/models.py:1535 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1534 +#: common/models.py:1540 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1535 +#: common/models.py:1541 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1540 templates/js/translated/part.js:107 +#: common/models.py:1546 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1542 +#: common/models.py:1548 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1548 +#: common/models.py:1554 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1549 +#: common/models.py:1555 msgid "Format to display the part name" msgstr "" -#: common/models.py:1555 +#: common/models.py:1561 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1556 +#: common/models.py:1562 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1560 +#: common/models.py:1566 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1562 +#: common/models.py:1568 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1568 +#: common/models.py:1574 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1570 +#: common/models.py:1576 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1576 +#: common/models.py:1582 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1578 +#: common/models.py:1584 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1584 +#: common/models.py:1590 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1586 +#: common/models.py:1592 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1592 +#: common/models.py:1598 msgid "Purchase History Override" msgstr "" -#: common/models.py:1594 +#: common/models.py:1600 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1600 +#: common/models.py:1606 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1602 +#: common/models.py:1608 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1608 +#: common/models.py:1614 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1610 +#: common/models.py:1616 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1617 +#: common/models.py:1623 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1618 +#: common/models.py:1624 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1623 +#: common/models.py:1629 msgid "Active Variants Only" msgstr "" -#: common/models.py:1625 +#: common/models.py:1631 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1631 +#: common/models.py:1637 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1633 +#: common/models.py:1639 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1640 +#: common/models.py:1646 msgid "Internal Prices" msgstr "" -#: common/models.py:1641 +#: common/models.py:1647 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1646 +#: common/models.py:1652 msgid "Internal Price Override" msgstr "" -#: common/models.py:1648 +#: common/models.py:1654 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1654 +#: common/models.py:1660 msgid "Enable label printing" msgstr "" -#: common/models.py:1655 +#: common/models.py:1661 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1660 +#: common/models.py:1666 msgid "Label Image DPI" msgstr "" -#: common/models.py:1662 +#: common/models.py:1668 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1668 +#: common/models.py:1674 msgid "Enable Reports" msgstr "" -#: common/models.py:1669 +#: common/models.py:1675 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1674 templates/stats.html:25 +#: common/models.py:1680 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1675 +#: common/models.py:1681 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1680 +#: common/models.py:1686 msgid "Log Report Errors" msgstr "" -#: common/models.py:1681 +#: common/models.py:1687 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1686 plugin/builtin/labels/label_sheet.py:28 -#: report/models.py:203 +#: common/models.py:1692 plugin/builtin/labels/label_sheet.py:28 +#: report/models.py:302 msgid "Page Size" msgstr "" -#: common/models.py:1687 +#: common/models.py:1693 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1692 +#: common/models.py:1698 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1693 +#: common/models.py:1699 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1698 +#: common/models.py:1704 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1700 +#: common/models.py:1706 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1706 +#: common/models.py:1712 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1707 +#: common/models.py:1713 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1712 +#: common/models.py:1718 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1713 +#: common/models.py:1719 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1718 +#: common/models.py:1724 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1720 +#: common/models.py:1726 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1726 +#: common/models.py:1732 msgid "Batch Code Template" msgstr "" -#: common/models.py:1728 +#: common/models.py:1734 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1733 +#: common/models.py:1739 msgid "Stock Expiry" msgstr "" -#: common/models.py:1734 +#: common/models.py:1740 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1739 +#: common/models.py:1745 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1740 +#: common/models.py:1746 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1745 +#: common/models.py:1751 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1747 +#: common/models.py:1753 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1754 +#: common/models.py:1760 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1755 +#: common/models.py:1761 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1760 +#: common/models.py:1766 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1761 +#: common/models.py:1767 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1766 +#: common/models.py:1772 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1767 +#: common/models.py:1773 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1771 +#: common/models.py:1777 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1772 +#: common/models.py:1778 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1777 +#: common/models.py:1783 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1779 +#: common/models.py:1785 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1785 +#: common/models.py:1791 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1787 +#: common/models.py:1793 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1793 +#: common/models.py:1799 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1795 +#: common/models.py:1801 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1801 common/models.py:1829 common/models.py:1851 -#: common/models.py:1879 +#: common/models.py:1807 common/models.py:1835 common/models.py:1857 +#: common/models.py:1885 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1802 common/models.py:1830 common/models.py:1852 -#: common/models.py:1880 +#: common/models.py:1808 common/models.py:1836 common/models.py:1858 +#: common/models.py:1886 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1807 +#: common/models.py:1813 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1809 +#: common/models.py:1815 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1815 +#: common/models.py:1821 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1816 +#: common/models.py:1822 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1821 +#: common/models.py:1827 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1823 +#: common/models.py:1829 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1835 +#: common/models.py:1841 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1837 +#: common/models.py:1843 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1843 +#: common/models.py:1849 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1845 +#: common/models.py:1851 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1857 +#: common/models.py:1863 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1858 +#: common/models.py:1864 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1863 +#: common/models.py:1869 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1865 +#: common/models.py:1871 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1871 +#: common/models.py:1877 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1873 +#: common/models.py:1879 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1885 +#: common/models.py:1891 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1887 +#: common/models.py:1893 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1893 +#: common/models.py:1899 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1895 +#: common/models.py:1901 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1902 +#: common/models.py:1908 msgid "Enable password forgot" msgstr "" -#: common/models.py:1903 +#: common/models.py:1909 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1908 +#: common/models.py:1914 msgid "Enable registration" msgstr "" -#: common/models.py:1909 +#: common/models.py:1915 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1914 +#: common/models.py:1920 msgid "Enable SSO" msgstr "" -#: common/models.py:1915 +#: common/models.py:1921 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1920 +#: common/models.py:1926 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1922 +#: common/models.py:1928 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1928 +#: common/models.py:1934 msgid "Email required" msgstr "" -#: common/models.py:1929 +#: common/models.py:1935 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1934 +#: common/models.py:1940 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1936 +#: common/models.py:1942 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1942 +#: common/models.py:1948 msgid "Mail twice" msgstr "" -#: common/models.py:1943 +#: common/models.py:1949 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1948 +#: common/models.py:1954 msgid "Password twice" msgstr "" -#: common/models.py:1949 +#: common/models.py:1955 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1954 +#: common/models.py:1960 msgid "Allowed domains" msgstr "" -#: common/models.py:1956 +#: common/models.py:1962 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1962 +#: common/models.py:1968 msgid "Group on signup" msgstr "" -#: common/models.py:1963 +#: common/models.py:1969 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1968 +#: common/models.py:1974 msgid "Enforce MFA" msgstr "" -#: common/models.py:1969 +#: common/models.py:1975 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1974 +#: common/models.py:1980 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1976 +#: common/models.py:1982 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1984 +#: common/models.py:1990 msgid "Check for plugin updates" msgstr "" -#: common/models.py:1985 +#: common/models.py:1991 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:1991 +#: common/models.py:1997 msgid "Enable URL integration" msgstr "" -#: common/models.py:1992 +#: common/models.py:1998 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1998 +#: common/models.py:2004 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1999 +#: common/models.py:2005 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2005 +#: common/models.py:2011 msgid "Enable app integration" msgstr "" -#: common/models.py:2006 +#: common/models.py:2012 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2012 +#: common/models.py:2018 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2013 +#: common/models.py:2019 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2019 +#: common/models.py:2025 msgid "Enable event integration" msgstr "" -#: common/models.py:2020 +#: common/models.py:2026 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2026 +#: common/models.py:2032 msgid "Enable project codes" msgstr "" -#: common/models.py:2027 +#: common/models.py:2033 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2032 +#: common/models.py:2038 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2034 +#: common/models.py:2040 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2040 +#: common/models.py:2046 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2042 +#: common/models.py:2048 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2048 +#: common/models.py:2054 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2050 +#: common/models.py:2056 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2056 +#: common/models.py:2062 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2058 +#: common/models.py:2064 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2065 +#: common/models.py:2071 msgid "Display Users full names" msgstr "" -#: common/models.py:2066 +#: common/models.py:2072 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2071 +#: common/models.py:2077 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2072 +#: common/models.py:2078 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2084 common/models.py:2494 +#: common/models.py:2090 common/models.py:2500 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2127 +#: common/models.py:2133 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2129 +#: common/models.py:2135 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2135 +#: common/models.py:2141 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2136 +#: common/models.py:2142 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2141 +#: common/models.py:2147 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2142 +#: common/models.py:2148 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2147 +#: common/models.py:2153 msgid "Show latest parts" msgstr "" -#: common/models.py:2148 +#: common/models.py:2154 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2153 +#: common/models.py:2159 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2154 +#: common/models.py:2160 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2159 +#: common/models.py:2165 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2160 +#: common/models.py:2166 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2165 +#: common/models.py:2171 msgid "Show low stock" msgstr "" -#: common/models.py:2166 +#: common/models.py:2172 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2171 +#: common/models.py:2177 msgid "Show depleted stock" msgstr "" -#: common/models.py:2172 +#: common/models.py:2178 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2177 +#: common/models.py:2183 msgid "Show needed stock" msgstr "" -#: common/models.py:2178 +#: common/models.py:2184 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2183 +#: common/models.py:2189 msgid "Show expired stock" msgstr "" -#: common/models.py:2184 +#: common/models.py:2190 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2189 +#: common/models.py:2195 msgid "Show stale stock" msgstr "" -#: common/models.py:2190 +#: common/models.py:2196 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2195 +#: common/models.py:2201 msgid "Show pending builds" msgstr "" -#: common/models.py:2196 +#: common/models.py:2202 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2201 +#: common/models.py:2207 msgid "Show overdue builds" msgstr "" -#: common/models.py:2202 +#: common/models.py:2208 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2207 +#: common/models.py:2213 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2208 +#: common/models.py:2214 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2213 +#: common/models.py:2219 msgid "Show overdue POs" msgstr "" -#: common/models.py:2214 +#: common/models.py:2220 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2219 +#: common/models.py:2225 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2220 +#: common/models.py:2226 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2225 +#: common/models.py:2231 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2226 +#: common/models.py:2232 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2231 +#: common/models.py:2237 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2232 +#: common/models.py:2238 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2237 +#: common/models.py:2243 msgid "Show News" msgstr "" -#: common/models.py:2238 +#: common/models.py:2244 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2243 +#: common/models.py:2249 msgid "Inline label display" msgstr "" -#: common/models.py:2245 +#: common/models.py:2251 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2251 +#: common/models.py:2257 msgid "Default label printer" msgstr "" -#: common/models.py:2253 +#: common/models.py:2259 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2259 +#: common/models.py:2265 msgid "Inline report display" msgstr "" -#: common/models.py:2261 +#: common/models.py:2267 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2267 +#: common/models.py:2273 msgid "Search Parts" msgstr "" -#: common/models.py:2268 +#: common/models.py:2274 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2273 +#: common/models.py:2279 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2274 +#: common/models.py:2280 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2279 +#: common/models.py:2285 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2280 +#: common/models.py:2286 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2285 +#: common/models.py:2291 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2286 +#: common/models.py:2292 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2291 +#: common/models.py:2297 msgid "Search Categories" msgstr "" -#: common/models.py:2292 +#: common/models.py:2298 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2297 +#: common/models.py:2303 msgid "Search Stock" msgstr "" -#: common/models.py:2298 +#: common/models.py:2304 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2303 +#: common/models.py:2309 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2305 +#: common/models.py:2311 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2311 +#: common/models.py:2317 msgid "Search Locations" msgstr "" -#: common/models.py:2312 +#: common/models.py:2318 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2317 +#: common/models.py:2323 msgid "Search Companies" msgstr "" -#: common/models.py:2318 +#: common/models.py:2324 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2323 +#: common/models.py:2329 msgid "Search Build Orders" msgstr "" -#: common/models.py:2324 +#: common/models.py:2330 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2329 +#: common/models.py:2335 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2330 +#: common/models.py:2336 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2335 +#: common/models.py:2341 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2337 +#: common/models.py:2343 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2343 +#: common/models.py:2349 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2344 +#: common/models.py:2350 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2349 +#: common/models.py:2355 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2351 +#: common/models.py:2357 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2357 +#: common/models.py:2363 msgid "Search Return Orders" msgstr "" -#: common/models.py:2358 +#: common/models.py:2364 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2363 +#: common/models.py:2369 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2365 +#: common/models.py:2371 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2371 +#: common/models.py:2377 msgid "Search Preview Results" msgstr "" -#: common/models.py:2373 +#: common/models.py:2379 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2379 +#: common/models.py:2385 msgid "Regex Search" msgstr "" -#: common/models.py:2380 +#: common/models.py:2386 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2385 +#: common/models.py:2391 msgid "Whole Word Search" msgstr "" -#: common/models.py:2386 +#: common/models.py:2392 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2391 +#: common/models.py:2397 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2392 +#: common/models.py:2398 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2397 +#: common/models.py:2403 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2398 +#: common/models.py:2404 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2403 +#: common/models.py:2409 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2404 +#: common/models.py:2410 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2409 +#: common/models.py:2415 msgid "Date Format" msgstr "" -#: common/models.py:2410 +#: common/models.py:2416 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2423 part/templates/part/detail.html:41 +#: common/models.py:2429 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2424 +#: common/models.py:2430 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2429 part/templates/part/detail.html:62 +#: common/models.py:2435 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2431 +#: common/models.py:2437 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2437 +#: common/models.py:2443 msgid "Table String Length" msgstr "" -#: common/models.py:2439 +#: common/models.py:2445 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2445 +#: common/models.py:2451 msgid "Default part label template" msgstr "" -#: common/models.py:2446 +#: common/models.py:2452 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2451 +#: common/models.py:2457 msgid "Default stock item template" msgstr "" -#: common/models.py:2453 +#: common/models.py:2459 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2459 +#: common/models.py:2465 msgid "Default stock location label template" msgstr "" -#: common/models.py:2461 +#: common/models.py:2467 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2467 +#: common/models.py:2473 msgid "Default build line label template" msgstr "" -#: common/models.py:2469 +#: common/models.py:2475 msgid "The build line label template to be automatically selected" msgstr "" -#: common/models.py:2475 +#: common/models.py:2481 msgid "Receive error reports" msgstr "" -#: common/models.py:2476 +#: common/models.py:2482 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2481 +#: common/models.py:2487 msgid "Last used printing machines" msgstr "" -#: common/models.py:2482 +#: common/models.py:2488 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2525 +#: common/models.py:2531 msgid "Price break quantity" msgstr "" -#: common/models.py:2532 company/serializers.py:496 order/admin.py:42 -#: order/models.py:1333 order/models.py:2243 +#: common/models.py:2538 company/serializers.py:496 order/admin.py:42 +#: order/models.py:1373 order/models.py:2292 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 -#: templates/js/translated/return_order.js:741 +#: templates/js/translated/return_order.js:740 msgid "Price" msgstr "" -#: common/models.py:2533 +#: common/models.py:2539 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2704 common/models.py:2889 +#: common/models.py:2710 common/models.py:2895 msgid "Endpoint" msgstr "" -#: common/models.py:2705 +#: common/models.py:2711 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2715 +#: common/models.py:2721 msgid "Name for this webhook" msgstr "" -#: common/models.py:2719 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1045 -#: plugin/models.py:56 templates/js/translated/company.js:523 +#: common/models.py:2725 company/models.py:160 company/models.py:814 +#: machine/models.py:39 part/admin.py:88 part/models.py:1088 +#: plugin/models.py:65 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:492 @@ -3614,135 +3628,135 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2719 +#: common/models.py:2725 msgid "Is this webhook active" msgstr "" -#: common/models.py:2735 users/models.py:159 +#: common/models.py:2741 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2736 +#: common/models.py:2742 msgid "Token for access" msgstr "" -#: common/models.py:2744 +#: common/models.py:2750 msgid "Secret" msgstr "" -#: common/models.py:2745 +#: common/models.py:2751 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2853 +#: common/models.py:2859 msgid "Message ID" msgstr "" -#: common/models.py:2854 +#: common/models.py:2860 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2862 +#: common/models.py:2868 msgid "Host" msgstr "" -#: common/models.py:2863 +#: common/models.py:2869 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2871 +#: common/models.py:2877 msgid "Header" msgstr "" -#: common/models.py:2872 +#: common/models.py:2878 msgid "Header of this message" msgstr "" -#: common/models.py:2879 +#: common/models.py:2885 msgid "Body" msgstr "" -#: common/models.py:2880 +#: common/models.py:2886 msgid "Body of this message" msgstr "" -#: common/models.py:2890 +#: common/models.py:2896 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2895 +#: common/models.py:2901 msgid "Worked on" msgstr "" -#: common/models.py:2896 +#: common/models.py:2902 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3022 +#: common/models.py:3028 msgid "Id" msgstr "" -#: common/models.py:3024 templates/js/translated/company.js:965 +#: common/models.py:3030 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3028 templates/js/translated/news.js:60 +#: common/models.py:3034 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3030 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3036 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3032 templates/js/translated/news.js:52 +#: common/models.py:3038 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3035 +#: common/models.py:3041 msgid "Read" msgstr "" -#: common/models.py:3035 +#: common/models.py:3041 msgid "Was this news item read?" msgstr "" -#: common/models.py:3052 company/models.py:156 part/models.py:929 +#: common/models.py:3058 company/models.py:156 part/models.py:972 #: 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 +#: report/templates/report/inventree_return_order_report.html:35 #: stock/templates/stock/item_base.html:133 templates/503.html:31 #: templates/hover_image.html:7 templates/hover_image.html:9 #: templates/modals.html:6 msgid "Image" msgstr "" -#: common/models.py:3052 +#: common/models.py:3058 msgid "Image file" msgstr "" -#: common/models.py:3094 +#: common/models.py:3100 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3113 +#: common/models.py:3119 msgid "Unit name" msgstr "" -#: common/models.py:3120 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3126 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3121 +#: common/models.py:3127 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3128 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3134 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3129 +#: common/models.py:3135 msgid "Unit definition" msgstr "" @@ -3929,9 +3943,9 @@ msgid "Contact email address" msgstr "" #: company/models.py:139 company/templates/company/company_base.html:145 -#: order/models.py:331 order/templates/order/order_base.html:203 +#: order/models.py:344 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 -#: order/templates/order/sales_order_base.html:214 +#: order/templates/order/sales_order_base.html:218 msgid "Contact" msgstr "" @@ -3977,7 +3991,7 @@ msgstr "" #: company/models.py:273 company/models.py:382 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:776 +#: company/templates/company/company_base.html:12 stock/api.py:810 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "" @@ -4069,8 +4083,8 @@ msgstr "" msgid "Link to address information (external)" msgstr "" -#: company/models.py:489 company/models.py:792 stock/models.py:751 -#: stock/serializers.py:266 stock/templates/stock/item_base.html:142 +#: company/models.py:489 company/models.py:792 stock/models.py:772 +#: stock/serializers.py:395 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -4081,7 +4095,7 @@ msgstr "" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:515 +#: company/templates/company/supplier_part.html:145 part/serializers.py:530 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4096,13 +4110,13 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:525 +#: company/templates/company/supplier_part.html:153 part/serializers.py:540 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800 -#: templates/js/translated/purchase_order.js:1852 -#: templates/js/translated/purchase_order.js:2054 +#: templates/js/translated/purchase_order.js:1851 +#: templates/js/translated/purchase_order.js:2053 msgid "MPN" msgstr "" @@ -4129,9 +4143,8 @@ msgstr "" msgid "Parameter name" msgstr "" -#: company/models.py:621 -#: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2448 templates/js/translated/company.js:1166 +#: company/models.py:621 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2425 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492 #: templates/js/translated/stock.js:1522 msgid "Value" @@ -4142,10 +4155,10 @@ msgid "Parameter value" msgstr "" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1009 part/models.py:3623 +#: part/admin.py:57 part/models.py:1052 part/models.py:3666 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 -#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370 +#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 msgid "Units" msgstr "" @@ -4166,9 +4179,9 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:465 +#: company/templates/company/supplier_part.html:129 order/models.py:487 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:499 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:514 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4176,7 +4189,7 @@ msgstr "" #: templates/js/translated/company.js:511 #: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1690 +#: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/table_filters.js:804 msgid "Supplier" msgstr "" @@ -4185,7 +4198,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:809 part/serializers.py:510 +#: company/models.py:809 part/serializers.py:525 msgid "Supplier stock keeping unit" msgstr "" @@ -4206,29 +4219,29 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:418 part/models.py:4070 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4113 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 -#: report/templates/report/inventree_slr_report.html:105 -#: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:579 +#: report/templates/report/inventree_purchase_order_report.html:32 +#: report/templates/report/inventree_return_order_report.html:27 +#: report/templates/report/inventree_sales_order_report.html:32 +#: report/templates/report/inventree_stock_location_report.html:105 +#: stock/serializers.py:708 msgid "Note" msgstr "" -#: company/models.py:857 part/models.py:1967 +#: company/models.py:857 part/models.py:2010 msgid "base cost" msgstr "" -#: company/models.py:858 part/models.py:1968 +#: company/models.py:858 part/models.py:2011 msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:782 stock/serializers.py:1350 +#: stock/admin.py:224 stock/models.py:803 stock/serializers.py:1479 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 -#: templates/js/translated/stock.js:2426 +#: templates/js/translated/stock.js:2424 msgid "Packaging" msgstr "" @@ -4241,8 +4254,8 @@ msgstr "" #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 -#: templates/js/translated/purchase_order.js:2085 -#: templates/js/translated/purchase_order.js:2102 +#: templates/js/translated/purchase_order.js:2084 +#: templates/js/translated/purchase_order.js:2101 msgid "Pack Quantity" msgstr "" @@ -4250,7 +4263,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:892 part/models.py:1974 +#: company/models.py:892 part/models.py:2017 msgid "multiple" msgstr "" @@ -4285,7 +4298,7 @@ msgstr "" #: part/templates/part/part_base.html:146 #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 -#: templates/js/translated/model_renderers.js:306 +#: templates/js/translated/model_renderers.js:312 #: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 msgid "Inactive" msgstr "" @@ -4321,11 +4334,11 @@ msgstr "" #: company/templates/company/manufacturer_part.html:51 #: company/templates/company/supplier_part.html:83 #: part/templates/part/part_thumb.html:20 -#: report/templates/report/inventree_build_order_base.html:98 -#: report/templates/report/inventree_po_report_base.html:40 -#: report/templates/report/inventree_so_report_base.html:40 -#: report/templates/report/inventree_test_report_base.html:84 -#: report/templates/report/inventree_test_report_base.html:163 +#: report/templates/report/inventree_build_order_report.html:98 +#: report/templates/report/inventree_purchase_order_report.html:40 +#: report/templates/report/inventree_sales_order_report.html:40 +#: report/templates/report/inventree_test_report.html:84 +#: report/templates/report/inventree_test_report.html:163 msgid "Part image" msgstr "" @@ -4344,16 +4357,16 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:92 order/models.py:910 -#: order/models.py:2010 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:144 stock/models.py:804 -#: stock/models.py:805 stock/serializers.py:1100 +#: company/templates/company/company_base.html:92 order/models.py:941 +#: order/models.py:2059 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:148 stock/models.py:825 +#: stock/models.py:826 stock/serializers.py:1229 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 -#: templates/js/translated/return_order.js:296 -#: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2962 +#: templates/js/translated/return_order.js:295 +#: templates/js/translated/sales_order.js:820 +#: templates/js/translated/stock.js:2959 #: templates/js/translated/table_filters.js:808 msgid "Customer" msgstr "" @@ -4362,10 +4375,10 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:124 order/models.py:341 +#: company/templates/company/company_base.html:124 order/models.py:354 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 -#: order/templates/order/sales_order_base.html:221 +#: order/templates/order/sales_order_base.html:225 msgid "Address" msgstr "" @@ -4374,7 +4387,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:211 -#: part/templates/part/part_base.html:528 +#: part/templates/part/part_base.html:527 msgid "Remove Image" msgstr "" @@ -4383,19 +4396,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:214 -#: part/templates/part/part_base.html:531 +#: part/templates/part/part_base.html:530 #: templates/InvenTree/settings/user.html:88 #: templates/InvenTree/settings/user_sso.html:43 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:243 -#: part/templates/part/part_base.html:560 +#: part/templates/part/part_base.html:559 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:258 -#: part/templates/part/part_base.html:614 +#: part/templates/part/part_base.html:613 msgid "Download Image" msgstr "" @@ -4558,7 +4571,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:821 +#: part/admin.py:122 part/serializers.py:836 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4609,10 +4622,10 @@ msgstr "" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:452 -#: stock/models.py:762 stock/templates/stock/item_base.html:233 +#: stock/models.py:783 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 -#: templates/js/translated/stock.js:2282 +#: templates/js/translated/stock.js:2280 msgid "Supplier Part" msgstr "" @@ -4658,11 +4671,11 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:509 +#: part/bom.py:311 part/serializers.py:524 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1851 -#: templates/js/translated/purchase_order.js:2029 +#: templates/js/translated/purchase_order.js:1850 +#: templates/js/translated/purchase_order.js:2028 msgid "SKU" msgstr "" @@ -4671,12 +4684,12 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:209 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:199 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:206 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:200 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:207 #: templates/js/translated/stock.js:537 msgid "New Stock Item" msgstr "" @@ -4708,16 +4721,16 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:820 part/stocktake.py:223 +#: part/serializers.py:835 part/stocktake.py:223 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:787 stock/serializers.py:951 +#: stock/serializers.py:916 stock/serializers.py:1080 #: stock/templates/stock/location.html:170 -#: stock/templates/stock/location.html:184 -#: stock/templates/stock/location.html:196 +#: stock/templates/stock/location.html:191 +#: stock/templates/stock/location.html:203 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2769 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 #: users/models.py:206 msgid "Stock Items" msgstr "" @@ -4751,126 +4764,48 @@ msgstr "" msgid "New Company" msgstr "" -#: label/api.py:247 -msgid "Error printing label" -msgstr "" - -#: label/models.py:120 -msgid "Label name" -msgstr "" - -#: label/models.py:128 -msgid "Label description" -msgstr "" - -#: label/models.py:136 -msgid "Label" -msgstr "" - -#: label/models.py:137 -msgid "Label template file" -msgstr "" - -#: label/models.py:143 part/models.py:3494 report/models.py:324 -#: templates/js/translated/part.js:2900 -#: templates/js/translated/table_filters.js:481 -msgid "Enabled" -msgstr "" - -#: label/models.py:144 -msgid "Label template is enabled" -msgstr "" - -#: label/models.py:149 -msgid "Width [mm]" -msgstr "" - -#: label/models.py:150 -msgid "Label width, specified in mm" -msgstr "" - -#: label/models.py:156 -msgid "Height [mm]" -msgstr "" - -#: label/models.py:157 -msgid "Label height, specified in mm" -msgstr "" - -#: label/models.py:163 report/models.py:317 -msgid "Filename Pattern" -msgstr "" - -#: label/models.py:164 -msgid "Pattern for generating label filenames" -msgstr "" - -#: label/models.py:313 label/models.py:352 label/models.py:377 -#: label/models.py:412 -msgid "Query filters (comma-separated list of key=value pairs)" -msgstr "" - -#: label/models.py:314 label/models.py:353 label/models.py:378 -#: label/models.py:413 report/models.py:345 report/models.py:496 -#: report/models.py:532 report/models.py:568 report/models.py:750 -msgid "Filters" -msgstr "" - -#: label/templates/label/part/part_label.html:31 -#: label/templates/label/stockitem/qr.html:21 -#: label/templates/label/stocklocation/qr.html:20 -#: templates/allauth_2fa/setup.html:18 -msgid "QR Code" -msgstr "" - -#: label/templates/label/part/part_label_code128.html:31 -#: label/templates/label/stocklocation/qr_and_text.html:31 -#: templates/qr_code.html:7 -msgid "QR code" -msgstr "" - -#: machine/machine_types/label_printer.py:217 +#: machine/machine_types/label_printer.py:218 msgid "Copies" msgstr "" -#: machine/machine_types/label_printer.py:218 +#: machine/machine_types/label_printer.py:219 msgid "Number of copies to print for each label" msgstr "" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:234 msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:234 order/api.py:1515 -#: templates/js/translated/sales_order.js:1042 +#: machine/machine_types/label_printer.py:235 order/api.py:1515 +#: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "" -#: machine/machine_types/label_printer.py:235 +#: machine/machine_types/label_printer.py:236 msgid "Printing" msgstr "" -#: machine/machine_types/label_printer.py:236 +#: machine/machine_types/label_printer.py:237 msgid "No media" msgstr "" -#: machine/machine_types/label_printer.py:237 +#: machine/machine_types/label_printer.py:238 msgid "Disconnected" msgstr "" -#: machine/machine_types/label_printer.py:244 +#: machine/machine_types/label_printer.py:245 msgid "Label Printer" msgstr "" -#: machine/machine_types/label_printer.py:245 +#: machine/machine_types/label_printer.py:246 msgid "Directly print labels for various items." msgstr "" -#: machine/machine_types/label_printer.py:251 +#: machine/machine_types/label_printer.py:252 msgid "Printer Location" msgstr "" -#: machine/machine_types/label_printer.py:252 +#: machine/machine_types/label_printer.py:253 msgid "Scope the printer to a specific location" msgstr "" @@ -4930,19 +4865,19 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:89 -#: report/templates/report/inventree_po_report_base.html:31 -#: report/templates/report/inventree_so_report_base.html:31 +#: order/admin.py:30 order/models.py:90 +#: report/templates/report/inventree_purchase_order_report.html:31 +#: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2126 -#: templates/js/translated/sales_order.js:1847 +#: templates/js/translated/purchase_order.js:2125 +#: templates/js/translated/sales_order.js:1883 msgid "Total Price" msgstr "" #: order/api.py:161 order/serializers.py:91 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 -#: order/templates/order/sales_order_base.html:118 +#: order/templates/order/sales_order_base.html:122 msgid "Order Status" msgstr "" @@ -4955,10 +4890,10 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:437 order/api.py:817 order/models.py:1382 order/models.py:1491 -#: order/models.py:1537 order/models.py:1651 order/models.py:1805 -#: order/models.py:2209 order/models.py:2260 -#: templates/js/translated/sales_order.js:1488 +#: order/api.py:437 order/api.py:817 order/models.py:1422 order/models.py:1531 +#: order/models.py:1577 order/models.py:1691 order/models.py:1845 +#: order/models.py:2258 order/models.py:2309 +#: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" @@ -4970,402 +4905,398 @@ msgstr "" msgid "Order Pending" msgstr "" -#: order/api.py:1509 order/models.py:1383 order/models.py:1492 -#: order/templates/order/order_base.html:9 +#: order/api.py:1509 order/models.py:381 order/models.py:1423 +#: order/models.py:1532 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 -#: report/templates/report/inventree_po_report_base.html:14 -#: stock/templates/stock/item_base.html:176 +#: report/templates/report/inventree_purchase_order_report.html:14 +#: stock/serializers.py:119 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 -#: templates/js/translated/purchase_order.js:1674 -#: templates/js/translated/stock.js:2262 templates/js/translated/stock.js:2910 +#: templates/js/translated/purchase_order.js:1673 +#: templates/js/translated/stock.js:2260 templates/js/translated/stock.js:2907 msgid "Purchase Order" msgstr "" -#: order/api.py:1513 order/models.py:2210 order/models.py:2261 -#: order/templates/order/return_order_base.html:9 +#: order/api.py:1513 order/models.py:2008 order/models.py:2259 +#: order/models.py:2310 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:281 -#: templates/js/translated/stock.js:2944 +#: report/templates/report/inventree_return_order_report.html:13 +#: templates/js/translated/return_order.js:280 +#: templates/js/translated/stock.js:2941 msgid "Return Order" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:96 order/serializers.py:71 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:99 order/serializers.py:72 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:246 +#: order/models.py:248 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:278 +#: order/models.py:291 msgid "Order description (optional)" msgstr "" -#: order/models.py:287 +#: order/models.py:300 msgid "Select project code for this order" msgstr "" -#: order/models.py:291 order/models.py:1288 order/models.py:1704 +#: order/models.py:304 order/models.py:1328 order/models.py:1744 msgid "Link to external page" msgstr "" -#: order/models.py:299 +#: order/models.py:312 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:313 +#: order/models.py:326 msgid "Created By" msgstr "" -#: order/models.py:321 +#: order/models.py:334 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:332 +#: order/models.py:345 msgid "Point of contact for this order" msgstr "" -#: order/models.py:342 +#: order/models.py:355 msgid "Company address for this order" msgstr "" -#: order/models.py:443 order/models.py:899 +#: order/models.py:465 order/models.py:930 msgid "Order reference" msgstr "" -#: order/models.py:451 order/models.py:923 +#: order/models.py:473 order/models.py:954 msgid "Purchase order status" msgstr "" -#: order/models.py:466 +#: order/models.py:488 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:477 order/templates/order/order_base.html:148 -#: templates/js/translated/purchase_order.js:1703 +#: order/models.py:499 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1702 msgid "Supplier Reference" msgstr "" -#: order/models.py:478 +#: order/models.py:500 msgid "Supplier order reference code" msgstr "" -#: order/models.py:487 +#: order/models.py:509 msgid "received by" msgstr "" -#: order/models.py:493 order/models.py:2036 +#: order/models.py:515 order/models.py:2085 msgid "Issue Date" msgstr "" -#: order/models.py:494 order/models.py:2037 +#: order/models.py:516 order/models.py:2086 msgid "Date order was issued" msgstr "" -#: order/models.py:501 order/models.py:2044 +#: order/models.py:523 order/models.py:2093 msgid "Date order was completed" msgstr "" -#: order/models.py:545 +#: order/models.py:567 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:739 +#: order/models.py:761 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:911 +#: order/models.py:942 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:934 order/models.py:2029 +#: order/models.py:965 order/models.py:2078 msgid "Customer Reference " msgstr "" -#: order/models.py:935 order/models.py:2030 +#: order/models.py:966 order/models.py:2079 msgid "Customer order reference code" msgstr "" -#: order/models.py:939 order/models.py:1658 -#: templates/js/translated/sales_order.js:843 -#: templates/js/translated/sales_order.js:1024 +#: order/models.py:970 order/models.py:1698 +#: templates/js/translated/sales_order.js:879 +#: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "" -#: order/models.py:948 +#: order/models.py:979 msgid "shipped by" msgstr "" -#: order/models.py:999 -msgid "Order cannot be completed as no parts have been assigned" -msgstr "" - -#: order/models.py:1004 +#: order/models.py:1029 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1008 templates/js/translated/sales_order.js:506 +#: order/models.py:1033 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1013 +#: order/models.py:1038 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1260 +#: order/models.py:1300 msgid "Item quantity" msgstr "" -#: order/models.py:1277 +#: order/models.py:1317 msgid "Line item reference" msgstr "" -#: order/models.py:1284 +#: order/models.py:1324 msgid "Line item notes" msgstr "" -#: order/models.py:1296 +#: order/models.py:1336 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1317 +#: order/models.py:1357 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1323 +#: order/models.py:1363 msgid "Context" msgstr "" -#: order/models.py:1324 +#: order/models.py:1364 msgid "Additional context for this line" msgstr "" -#: order/models.py:1334 +#: order/models.py:1374 msgid "Unit price" msgstr "" -#: order/models.py:1367 +#: order/models.py:1407 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1374 +#: order/models.py:1414 msgid "deleted" msgstr "" -#: order/models.py:1402 +#: order/models.py:1442 msgid "Supplier part" msgstr "" -#: order/models.py:1409 order/templates/order/order_base.html:196 +#: order/models.py:1449 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 #: templates/js/translated/purchase_order.js:1306 -#: templates/js/translated/purchase_order.js:2170 -#: templates/js/translated/return_order.js:764 +#: templates/js/translated/purchase_order.js:2169 +#: templates/js/translated/return_order.js:763 #: templates/js/translated/table_filters.js:120 #: templates/js/translated/table_filters.js:602 msgid "Received" msgstr "" -#: order/models.py:1410 +#: order/models.py:1450 msgid "Number of items received" msgstr "" -#: order/models.py:1418 stock/models.py:923 stock/serializers.py:400 +#: order/models.py:1458 stock/models.py:944 stock/serializers.py:529 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2313 +#: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "" -#: order/models.py:1419 +#: order/models.py:1459 msgid "Unit purchase price" msgstr "" -#: order/models.py:1434 +#: order/models.py:1474 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1525 +#: order/models.py:1565 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1530 +#: order/models.py:1570 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1556 part/templates/part/part_pricing.html:107 +#: order/models.py:1596 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1557 +#: order/models.py:1597 msgid "Unit sale price" msgstr "" -#: order/models.py:1567 +#: order/models.py:1607 msgid "Shipped quantity" msgstr "" -#: order/models.py:1659 +#: order/models.py:1699 msgid "Date of shipment" msgstr "" -#: order/models.py:1665 templates/js/translated/sales_order.js:1036 +#: order/models.py:1705 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1666 +#: order/models.py:1706 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1674 +#: order/models.py:1714 msgid "Checked By" msgstr "" -#: order/models.py:1675 +#: order/models.py:1715 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1682 order/models.py:1895 order/serializers.py:1354 -#: order/serializers.py:1464 templates/js/translated/model_renderers.js:448 +#: order/models.py:1722 order/models.py:1935 order/serializers.py:1354 +#: order/serializers.py:1464 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" -#: order/models.py:1683 +#: order/models.py:1723 msgid "Shipment number" msgstr "" -#: order/models.py:1691 +#: order/models.py:1731 msgid "Tracking Number" msgstr "" -#: order/models.py:1692 +#: order/models.py:1732 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1699 +#: order/models.py:1739 msgid "Invoice Number" msgstr "" -#: order/models.py:1700 +#: order/models.py:1740 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1720 +#: order/models.py:1760 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1723 +#: order/models.py:1763 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1841 order/models.py:1843 +#: order/models.py:1881 order/models.py:1883 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1850 +#: order/models.py:1890 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1853 +#: order/models.py:1893 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1856 +#: order/models.py:1896 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1875 order/serializers.py:1231 +#: order/models.py:1915 order/serializers.py:1231 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1878 +#: order/models.py:1918 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1879 plugin/base/barcodes/api.py:481 +#: order/models.py:1919 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1887 +#: order/models.py:1927 msgid "Line" msgstr "" -#: order/models.py:1896 +#: order/models.py:1936 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1909 order/models.py:2217 -#: templates/js/translated/return_order.js:722 +#: order/models.py:1949 order/models.py:2266 +#: templates/js/translated/return_order.js:721 msgid "Item" msgstr "" -#: order/models.py:1910 +#: order/models.py:1950 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1919 +#: order/models.py:1959 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1999 +#: order/models.py:2048 msgid "Return Order reference" msgstr "" -#: order/models.py:2011 +#: order/models.py:2060 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2023 +#: order/models.py:2072 msgid "Return order status" msgstr "" -#: order/models.py:2202 +#: order/models.py:2251 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2218 +#: order/models.py:2267 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2224 +#: order/models.py:2273 msgid "Received Date" msgstr "" -#: order/models.py:2225 +#: order/models.py:2274 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2236 templates/js/translated/return_order.js:733 +#: order/models.py:2285 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2237 +#: order/models.py:2286 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2244 +#: order/models.py:2293 msgid "Cost associated with return or repair for this line item" msgstr "" #: order/serializers.py:80 order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 -#: report/templates/report/inventree_po_report_base.html:22 -#: report/templates/report/inventree_return_order_report_base.html:19 -#: report/templates/report/inventree_so_report_base.html:22 +#: report/templates/report/inventree_purchase_order_report.html:22 +#: report/templates/report/inventree_return_order_report.html:19 +#: report/templates/report/inventree_sales_order_report.html:22 msgid "Line Items" msgstr "" @@ -5595,7 +5526,7 @@ msgstr "" #: order/templates/order/order_base.html:84 #: order/templates/order/return_order_base.html:87 -#: order/templates/order/sales_order_base.html:93 +#: order/templates/order/sales_order_base.html:97 msgid "Complete Order" msgstr "" @@ -5605,13 +5536,13 @@ msgstr "" #: order/templates/order/order_base.html:106 #: order/templates/order/return_order_base.html:101 -#: order/templates/order/sales_order_base.html:106 +#: order/templates/order/sales_order_base.html:110 msgid "Order Reference" msgstr "" #: order/templates/order/order_base.html:111 #: order/templates/order/return_order_base.html:106 -#: order/templates/order/sales_order_base.html:111 +#: order/templates/order/sales_order_base.html:115 msgid "Order Description" msgstr "" @@ -5620,19 +5551,19 @@ msgid "No suppplier information available" msgstr "" #: order/templates/order/order_base.html:154 -#: order/templates/order/sales_order_base.html:157 +#: order/templates/order/sales_order_base.html:161 msgid "Completed Line Items" msgstr "" #: order/templates/order/order_base.html:160 -#: order/templates/order/sales_order_base.html:163 -#: order/templates/order/sales_order_base.html:173 +#: order/templates/order/sales_order_base.html:167 +#: order/templates/order/sales_order_base.html:177 msgid "Incomplete" msgstr "" #: order/templates/order/order_base.html:179 #: order/templates/order/return_order_base.html:157 -#: report/templates/report/inventree_build_order_base.html:121 +#: report/templates/report/inventree_build_order_report.html:121 msgid "Issued" msgstr "" @@ -5642,15 +5573,15 @@ msgstr "" #: order/templates/order/order_base.html:228 #: order/templates/order/return_order_base.html:199 -#: order/templates/order/sales_order_base.html:239 +#: order/templates/order/sales_order_base.html:243 msgid "Total cost could not be calculated" msgstr "" -#: order/templates/order/order_base.html:318 +#: order/templates/order/order_base.html:314 msgid "Purchase Order QR Code" msgstr "" -#: order/templates/order/order_base.html:330 +#: order/templates/order/order_base.html:326 msgid "Link Barcode to Purchase Order" msgstr "" @@ -5707,8 +5638,8 @@ msgstr "" #: templates/js/translated/build.js:1629 #: templates/js/translated/purchase_order.js:696 #: templates/js/translated/purchase_order.js:1236 -#: templates/js/translated/return_order.js:506 -#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/return_order.js:505 +#: templates/js/translated/sales_order.js:1145 #: templates/js/translated/stock.js:714 templates/js/translated/stock.js:883 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -5762,7 +5693,7 @@ msgstr "" #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 #: templates/js/translated/purchase_order.js:414 -#: templates/js/translated/return_order.js:459 +#: templates/js/translated/return_order.js:458 #: templates/js/translated/sales_order.js:237 msgid "Add Line Item" msgstr "" @@ -5811,30 +5742,30 @@ msgid "Print packing list" msgstr "" #: order/templates/order/return_order_base.html:138 -#: order/templates/order/sales_order_base.html:151 -#: templates/js/translated/return_order.js:309 -#: templates/js/translated/sales_order.js:797 +#: order/templates/order/sales_order_base.html:155 +#: templates/js/translated/return_order.js:308 +#: templates/js/translated/sales_order.js:833 msgid "Customer Reference" msgstr "" #: order/templates/order/return_order_base.html:195 -#: order/templates/order/sales_order_base.html:235 +#: order/templates/order/sales_order_base.html:239 #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1072 -#: templates/js/translated/purchase_order.js:1753 -#: templates/js/translated/return_order.js:381 -#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/purchase_order.js:1752 +#: templates/js/translated/return_order.js:380 +#: templates/js/translated/sales_order.js:891 msgid "Total Cost" msgstr "" -#: order/templates/order/return_order_base.html:263 +#: order/templates/order/return_order_base.html:259 msgid "Return Order QR Code" msgstr "" -#: order/templates/order/return_order_base.html:275 +#: order/templates/order/return_order_base.html:271 msgid "Link Barcode to Return Order" msgstr "" @@ -5852,25 +5783,30 @@ msgid "Ship Items" msgstr "" #: order/templates/order/sales_order_base.html:92 -#: templates/js/translated/sales_order.js:484 +#: order/templates/order/sales_order_base.html:93 +msgid "Mark As Shipped" +msgstr "" + +#: order/templates/order/sales_order_base.html:96 +#: templates/js/translated/sales_order.js:536 msgid "Complete Sales Order" msgstr "" -#: order/templates/order/sales_order_base.html:131 +#: order/templates/order/sales_order_base.html:135 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:169 +#: order/templates/order/sales_order_base.html:173 #: order/templates/order/sales_order_detail.html:99 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "" -#: order/templates/order/sales_order_base.html:312 +#: order/templates/order/sales_order_base.html:321 msgid "Sales Order QR Code" msgstr "" -#: order/templates/order/sales_order_base.html:324 +#: order/templates/order/sales_order_base.html:333 msgid "Link Barcode to Sales Order" msgstr "" @@ -5914,12 +5850,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:404 part/models.py:3921 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:406 part/models.py:3964 part/stocktake.py:218 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:411 part/models.py:3922 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:413 part/models.py:3965 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -5928,20 +5864,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:904 part/templates/part/part_base.html:269 -#: report/templates/report/inventree_slr_report.html:103 -#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2341 -#: templates/js/translated/stock.js:2038 +#: part/admin.py:48 part/models.py:947 part/templates/part/part_base.html:269 +#: report/templates/report/inventree_stock_location_report.html:103 +#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 +#: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:913 part/templates/part/part_base.html:277 -#: report/models.py:195 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2347 +#: part/admin.py:50 part/models.py:956 part/templates/part/part_base.html:277 +#: report/models.py:161 templates/js/translated/part.js:1231 +#: templates/js/translated/part.js:2346 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:317 part/models.py:886 +#: part/admin.py:53 part/admin.py:319 part/models.py:929 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5950,15 +5886,15 @@ msgstr "" msgid "Part Image" msgstr "" -#: part/admin.py:63 part/admin.py:300 part/stocktake.py:221 +#: part/admin.py:63 part/admin.py:302 part/stocktake.py:221 msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:302 part/stocktake.py:222 +#: part/admin.py:67 part/admin.py:304 part/stocktake.py:222 msgid "Category Name" msgstr "" -#: part/admin.py:71 part/admin.py:314 +#: part/admin.py:71 part/admin.py:316 msgid "Default Location ID" msgstr "" @@ -5966,11 +5902,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:872 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:915 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1000 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1043 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5983,160 +5919,164 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3080 part/models.py:3094 +#: part/admin.py:155 part/models.py:3123 part/models.py:3137 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3087 part/models.py:3101 +#: part/admin.py:158 part/models.py:3130 part/models.py:3144 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" -#: part/admin.py:306 part/admin.py:393 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:211 msgid "Parent ID" msgstr "" -#: part/admin.py:310 part/admin.py:400 stock/admin.py:62 +#: part/admin.py:312 part/admin.py:402 stock/admin.py:62 msgid "Parent Name" msgstr "" -#: part/admin.py:318 part/templates/part/category.html:88 +#: part/admin.py:320 part/templates/part/category.html:88 #: part/templates/part/category.html:101 msgid "Category Path" msgstr "" -#: part/admin.py:323 part/models.py:391 part/serializers.py:117 +#: part/admin.py:325 part/models.py:393 part/serializers.py:117 #: part/serializers.py:272 part/serializers.py:391 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2803 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "" -#: part/admin.py:384 +#: part/admin.py:386 msgid "BOM Level" msgstr "" -#: part/admin.py:387 +#: part/admin.py:389 msgid "BOM Item ID" msgstr "" -#: part/admin.py:397 +#: part/admin.py:399 msgid "Parent IPN" msgstr "" -#: part/admin.py:408 part/models.py:3923 +#: part/admin.py:410 part/models.py:3966 msgid "Part IPN" msgstr "" -#: part/admin.py:421 part/serializers.py:1261 +#: part/admin.py:423 part/serializers.py:1276 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:426 part/serializers.py:1276 +#: part/admin.py:428 part/serializers.py:1291 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:119 +#: part/api.py:112 msgid "Starred" msgstr "" -#: part/api.py:121 +#: part/api.py:114 msgid "Filter by starred categories" msgstr "" -#: part/api.py:138 stock/api.py:284 +#: part/api.py:131 stock/api.py:318 msgid "Depth" msgstr "" -#: part/api.py:138 +#: part/api.py:131 msgid "Filter by category depth" msgstr "" -#: part/api.py:156 stock/api.py:302 +#: part/api.py:149 stock/api.py:336 msgid "Cascade" msgstr "" -#: part/api.py:158 +#: part/api.py:151 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:178 +#: part/api.py:171 msgid "Parent" msgstr "" -#: part/api.py:180 +#: part/api.py:173 msgid "Filter by parent category" msgstr "" -#: part/api.py:213 +#: part/api.py:206 msgid "Exclude Tree" msgstr "" -#: part/api.py:215 +#: part/api.py:208 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:461 +#: part/api.py:455 msgid "Has Results" msgstr "" -#: part/api.py:628 +#: part/api.py:622 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:646 +#: part/api.py:640 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:662 +#: part/api.py:656 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:746 +#: part/api.py:740 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:893 +#: part/api.py:887 msgid "Valid" msgstr "" -#: part/api.py:894 +#: part/api.py:888 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:900 +#: part/api.py:894 msgid "This option must be selected" msgstr "" -#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866 -#: part/serializers.py:406 part/serializers.py:1117 -#: part/templates/part/part_base.html:260 stock/api.py:745 +#: part/api.py:1111 +msgid "BOM Valid" +msgstr "" + +#: part/api.py:1515 part/models.py:939 part/models.py:3429 part/models.py:3909 +#: part/serializers.py:406 part/serializers.py:1132 +#: part/templates/part/part_base.html:260 stock/api.py:779 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2377 +#: templates/js/translated/part.js:2376 msgid "Category" msgstr "" -#: part/api.py:1849 +#: part/api.py:1803 msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:101 part/models.py:939 +#: part/bom.py:170 part/models.py:102 part/models.py:982 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:822 +#: part/bom.py:171 part/serializers.py:837 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6145,698 +6085,712 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:82 part/models.py:3867 part/templates/part/category.html:16 +#: part/models.py:83 part/models.py:3910 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:83 part/templates/part/category.html:136 +#: part/models.py:84 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "" -#: part/models.py:102 +#: part/models.py:103 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:107 stock/models.py:165 templates/js/translated/part.js:2810 -#: templates/js/translated/stock.js:2775 +#: part/models.py:108 stock/models.py:177 templates/js/translated/part.js:2809 +#: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "" -#: part/models.py:109 +#: part/models.py:110 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:118 +#: part/models.py:119 msgid "Default keywords" msgstr "" -#: part/models.py:119 +#: part/models.py:120 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:125 stock/models.py:89 stock/models.py:148 +#: part/models.py:126 stock/models.py:89 stock/models.py:160 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:126 stock/models.py:149 +#: part/models.py:127 stock/models.py:161 msgid "Icon (optional)" msgstr "" -#: part/models.py:148 +#: part/models.py:149 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:484 +#: part/models.py:482 +msgid "Cannot delete this part as it is still active" +msgstr "" + +#: part/models.py:489 +msgid "Cannot delete this part as it is used in an assembly" +msgstr "" + +#: part/models.py:527 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:532 part/models.py:539 +#: part/models.py:575 part/models.py:582 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:551 +#: part/models.py:594 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:616 +#: part/models.py:659 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:696 +#: part/models.py:739 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:801 +#: part/models.py:844 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:811 +#: part/models.py:854 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:826 +#: part/models.py:869 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:855 part/models.py:3922 +#: part/models.py:898 part/models.py:3965 msgid "Part name" msgstr "" -#: part/models.py:860 +#: part/models.py:903 msgid "Is Template" msgstr "" -#: part/models.py:861 +#: part/models.py:904 msgid "Is this part a template part?" msgstr "" -#: part/models.py:871 +#: part/models.py:914 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:879 +#: part/models.py:922 msgid "Part description (optional)" msgstr "" -#: part/models.py:887 +#: part/models.py:930 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:897 +#: part/models.py:940 msgid "Part category" msgstr "" -#: part/models.py:905 +#: part/models.py:948 msgid "Internal Part Number" msgstr "" -#: part/models.py:912 +#: part/models.py:955 msgid "Part revision or version number" msgstr "" -#: part/models.py:937 +#: part/models.py:980 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:983 part/templates/part/part_base.html:376 +#: part/models.py:1026 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:984 +#: part/models.py:1027 msgid "Default supplier part" msgstr "" -#: part/models.py:991 +#: part/models.py:1034 msgid "Default Expiry" msgstr "" -#: part/models.py:992 +#: part/models.py:1035 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1001 +#: part/models.py:1044 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1010 +#: part/models.py:1053 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1017 +#: part/models.py:1060 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1023 +#: part/models.py:1066 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1029 +#: part/models.py:1072 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1035 +#: part/models.py:1078 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1041 +#: part/models.py:1084 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1045 +#: part/models.py:1088 msgid "Is this part active?" msgstr "" -#: part/models.py:1051 +#: part/models.py:1094 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1057 +#: part/models.py:1100 msgid "BOM checksum" msgstr "" -#: part/models.py:1058 +#: part/models.py:1101 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1066 +#: part/models.py:1109 msgid "BOM checked by" msgstr "" -#: part/models.py:1071 +#: part/models.py:1114 msgid "BOM checked date" msgstr "" -#: part/models.py:1087 +#: part/models.py:1130 msgid "Creation User" msgstr "" -#: part/models.py:1097 +#: part/models.py:1140 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1102 part/templates/part/part_base.html:339 +#: part/models.py:1145 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 -#: templates/js/translated/part.js:2471 +#: templates/js/translated/part.js:2470 msgid "Last Stocktake" msgstr "" -#: part/models.py:1975 +#: part/models.py:2018 msgid "Sell multiple" msgstr "" -#: part/models.py:2994 +#: part/models.py:3037 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3010 +#: part/models.py:3053 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3011 +#: part/models.py:3054 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3017 +#: part/models.py:3060 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3018 +#: part/models.py:3061 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3024 +#: part/models.py:3067 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3025 +#: part/models.py:3068 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3031 +#: part/models.py:3074 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3032 +#: part/models.py:3075 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3038 +#: part/models.py:3081 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3039 +#: part/models.py:3082 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3045 +#: part/models.py:3088 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3046 +#: part/models.py:3089 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3052 +#: part/models.py:3095 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3053 +#: part/models.py:3096 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3059 +#: part/models.py:3102 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3060 +#: part/models.py:3103 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3066 +#: part/models.py:3109 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3067 +#: part/models.py:3110 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3073 +#: part/models.py:3116 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3074 +#: part/models.py:3117 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3081 +#: part/models.py:3124 msgid "Override minimum cost" msgstr "" -#: part/models.py:3088 +#: part/models.py:3131 msgid "Override maximum cost" msgstr "" -#: part/models.py:3095 +#: part/models.py:3138 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3102 +#: part/models.py:3145 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3108 +#: part/models.py:3151 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3109 +#: part/models.py:3152 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3115 +#: part/models.py:3158 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3116 +#: part/models.py:3159 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3122 +#: part/models.py:3165 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3123 +#: part/models.py:3166 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3129 +#: part/models.py:3172 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3130 +#: part/models.py:3173 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3149 +#: part/models.py:3192 msgid "Part for stocktake" msgstr "" -#: part/models.py:3154 +#: part/models.py:3197 msgid "Item Count" msgstr "" -#: part/models.py:3155 +#: part/models.py:3198 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3163 +#: part/models.py:3206 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3167 part/models.py:3250 +#: part/models.py:3210 part/models.py:3293 #: part/templates/part/part_scheduling.html:13 -#: report/templates/report/inventree_test_report_base.html:106 +#: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 #: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 -#: templates/js/translated/purchase_order.js:1732 -#: templates/js/translated/stock.js:2824 +#: templates/js/translated/purchase_order.js:1731 +#: templates/js/translated/stock.js:2821 msgid "Date" msgstr "" -#: part/models.py:3168 +#: part/models.py:3211 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3176 +#: part/models.py:3219 msgid "Additional notes" msgstr "" -#: part/models.py:3186 +#: part/models.py:3229 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3192 +#: part/models.py:3235 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3193 +#: part/models.py:3236 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3199 +#: part/models.py:3242 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3200 +#: part/models.py:3243 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3256 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3299 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3257 +#: part/models.py:3300 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3262 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3305 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3263 +#: part/models.py:3306 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3273 +#: part/models.py:3316 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3435 +#: part/models.py:3478 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3446 +#: part/models.py:3489 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3457 +#: part/models.py:3500 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3474 templates/js/translated/part.js:2879 +#: part/models.py:3517 templates/js/translated/part.js:2878 msgid "Test Name" msgstr "" -#: part/models.py:3475 +#: part/models.py:3518 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3481 +#: part/models.py:3524 msgid "Test Key" msgstr "" -#: part/models.py:3482 +#: part/models.py:3525 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3489 +#: part/models.py:3532 msgid "Test Description" msgstr "" -#: part/models.py:3490 +#: part/models.py:3533 msgid "Enter description for this test" msgstr "" -#: part/models.py:3494 +#: part/models.py:3537 report/models.py:208 +#: templates/js/translated/part.js:2899 +#: templates/js/translated/table_filters.js:481 +msgid "Enabled" +msgstr "" + +#: part/models.py:3537 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3499 templates/js/translated/part.js:2908 +#: part/models.py:3542 templates/js/translated/part.js:2907 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3500 +#: part/models.py:3543 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3505 templates/js/translated/part.js:2916 +#: part/models.py:3548 templates/js/translated/part.js:2915 msgid "Requires Value" msgstr "" -#: part/models.py:3506 +#: part/models.py:3549 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3511 templates/js/translated/part.js:2923 +#: part/models.py:3554 templates/js/translated/part.js:2922 msgid "Requires Attachment" msgstr "" -#: part/models.py:3513 +#: part/models.py:3556 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3560 +#: part/models.py:3603 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3565 +#: part/models.py:3608 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3585 +#: part/models.py:3628 msgid "Choices must be unique" msgstr "" -#: part/models.py:3602 +#: part/models.py:3645 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3617 +#: part/models.py:3660 msgid "Parameter Name" msgstr "" -#: part/models.py:3624 +#: part/models.py:3667 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3632 +#: part/models.py:3675 msgid "Parameter description" msgstr "" -#: part/models.py:3638 templates/js/translated/part.js:1627 +#: part/models.py:3681 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3639 +#: part/models.py:3682 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3644 templates/js/translated/part.js:1636 +#: part/models.py:3687 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3645 +#: part/models.py:3688 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3722 +#: part/models.py:3765 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3765 +#: part/models.py:3808 msgid "Parent Part" msgstr "" -#: part/models.py:3773 part/models.py:3874 part/models.py:3875 +#: part/models.py:3816 part/models.py:3917 part/models.py:3918 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3778 +#: part/models.py:3821 msgid "Data" msgstr "" -#: part/models.py:3779 +#: part/models.py:3822 msgid "Parameter Value" msgstr "" -#: part/models.py:3881 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3924 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3882 +#: part/models.py:3925 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3920 +#: part/models.py:3963 msgid "Part ID or part name" msgstr "" -#: part/models.py:3921 +#: part/models.py:3964 msgid "Unique part ID value" msgstr "" -#: part/models.py:3923 +#: part/models.py:3966 msgid "Part IPN value" msgstr "" -#: part/models.py:3924 +#: part/models.py:3967 msgid "Level" msgstr "" -#: part/models.py:3924 +#: part/models.py:3967 msgid "BOM level" msgstr "" -#: part/models.py:4014 +#: part/models.py:4057 msgid "Select parent part" msgstr "" -#: part/models.py:4024 +#: part/models.py:4067 msgid "Sub part" msgstr "" -#: part/models.py:4025 +#: part/models.py:4068 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4036 +#: part/models.py:4079 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4042 +#: part/models.py:4085 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4048 +#: part/models.py:4091 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4055 part/templates/part/upload_bom.html:55 +#: part/models.py:4098 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4056 +#: part/models.py:4099 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4063 +#: part/models.py:4106 msgid "BOM item reference" msgstr "" -#: part/models.py:4071 +#: part/models.py:4114 msgid "BOM item notes" msgstr "" -#: part/models.py:4077 +#: part/models.py:4120 msgid "Checksum" msgstr "" -#: part/models.py:4078 +#: part/models.py:4121 msgid "BOM line checksum" msgstr "" -#: part/models.py:4083 templates/js/translated/table_filters.js:174 +#: part/models.py:4126 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4084 +#: part/models.py:4127 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4089 part/templates/part/upload_bom.html:57 +#: part/models.py:4132 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4090 +#: part/models.py:4133 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4095 part/templates/part/upload_bom.html:56 +#: part/models.py:4138 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4096 +#: part/models.py:4139 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4181 stock/models.py:647 +#: part/models.py:4224 stock/models.py:668 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4191 part/models.py:4193 +#: part/models.py:4234 part/models.py:4236 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4333 +#: part/models.py:4376 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4354 +#: part/models.py:4397 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4367 +#: part/models.py:4410 msgid "Parent BOM item" msgstr "" -#: part/models.py:4375 +#: part/models.py:4418 msgid "Substitute part" msgstr "" -#: part/models.py:4391 +#: part/models.py:4434 msgid "Part 1" msgstr "" -#: part/models.py:4399 +#: part/models.py:4442 msgid "Part 2" msgstr "" -#: part/models.py:4400 +#: part/models.py:4443 msgid "Select Related Part" msgstr "" -#: part/models.py:4419 +#: part/models.py:4462 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4424 +#: part/models.py:4467 msgid "Duplicate relationship already exists" msgstr "" @@ -6854,7 +6808,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:406 +#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:535 msgid "Purchase currency of this stock item" msgstr "" @@ -6870,299 +6824,299 @@ msgstr "" msgid "Select category" msgstr "" -#: part/serializers.py:437 +#: part/serializers.py:442 msgid "Original Part" msgstr "" -#: part/serializers.py:438 +#: part/serializers.py:443 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:448 msgid "Copy Image" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:449 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:450 part/templates/part/detail.html:277 +#: part/serializers.py:455 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:451 +#: part/serializers.py:456 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:462 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:458 +#: part/serializers.py:463 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:464 +#: part/serializers.py:469 msgid "Copy Notes" msgstr "" -#: part/serializers.py:465 +#: part/serializers.py:470 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:478 +#: part/serializers.py:488 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:490 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:487 +#: part/serializers.py:497 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:488 +#: part/serializers.py:498 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:500 +#: part/serializers.py:515 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:531 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:526 +#: part/serializers.py:541 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:533 +#: part/serializers.py:548 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:542 +#: part/serializers.py:557 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:553 +#: part/serializers.py:568 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:560 +#: part/serializers.py:575 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:823 +#: part/serializers.py:838 msgid "External Stock" msgstr "" -#: part/serializers.py:825 +#: part/serializers.py:840 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:828 +#: part/serializers.py:843 msgid "Variant Stock" msgstr "" -#: part/serializers.py:856 part/templates/part/copy_part.html:9 +#: part/serializers.py:871 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:857 +#: part/serializers.py:872 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:863 templates/js/translated/part.js:102 +#: part/serializers.py:878 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:864 +#: part/serializers.py:879 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:870 +#: part/serializers.py:885 msgid "Supplier Information" msgstr "" -#: part/serializers.py:871 +#: part/serializers.py:886 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:879 +#: part/serializers.py:894 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:880 +#: part/serializers.py:895 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:885 +#: part/serializers.py:900 msgid "Existing Image" msgstr "" -#: part/serializers.py:886 +#: part/serializers.py:901 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:918 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1109 +#: part/serializers.py:1124 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1119 +#: part/serializers.py:1134 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1129 +#: part/serializers.py:1144 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1135 +#: part/serializers.py:1150 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1136 +#: part/serializers.py:1151 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1141 +#: part/serializers.py:1156 msgid "Generate Report" msgstr "" -#: part/serializers.py:1142 +#: part/serializers.py:1157 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1147 +#: part/serializers.py:1162 msgid "Update Parts" msgstr "" -#: part/serializers.py:1148 +#: part/serializers.py:1163 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1156 +#: part/serializers.py:1171 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1262 +#: part/serializers.py:1277 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1269 +#: part/serializers.py:1284 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1277 +#: part/serializers.py:1292 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1284 +#: part/serializers.py:1299 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1313 +#: part/serializers.py:1328 msgid "Update" msgstr "" -#: part/serializers.py:1314 +#: part/serializers.py:1329 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1337 +#: part/serializers.py:1352 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1344 +#: part/serializers.py:1359 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1347 +#: part/serializers.py:1362 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1714 +#: part/serializers.py:1729 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1722 +#: part/serializers.py:1737 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1723 +#: part/serializers.py:1738 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1728 +#: part/serializers.py:1743 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1729 +#: part/serializers.py:1744 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1734 +#: part/serializers.py:1749 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1735 +#: part/serializers.py:1750 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1755 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1756 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1775 +#: part/serializers.py:1790 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1776 +#: part/serializers.py:1791 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1806 +#: part/serializers.py:1821 msgid "No part column specified" msgstr "" -#: part/serializers.py:1850 +#: part/serializers.py:1865 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1853 +#: part/serializers.py:1868 msgid "No matching part found" msgstr "" -#: part/serializers.py:1856 +#: part/serializers.py:1871 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1865 +#: part/serializers.py:1880 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1888 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1894 +#: part/serializers.py:1909 msgid "At least one BOM item is required" msgstr "" #: part/stocktake.py:224 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:2085 +#: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" @@ -7314,7 +7268,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2218 users/models.py:204 +#: templates/js/translated/stock.js:2216 users/models.py:204 msgid "Stocktake" msgstr "" @@ -7412,15 +7366,15 @@ msgstr "" msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:659 +#: part/templates/part/detail.html:655 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:667 +#: part/templates/part/detail.html:663 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:752 +#: part/templates/part/detail.html:748 msgid "Add Test Result Template" msgstr "" @@ -7479,7 +7433,7 @@ msgstr "" #: part/templates/part/part_base.html:52 #: stock/templates/stock/item_base.html:62 -#: stock/templates/stock/location.html:74 +#: stock/templates/stock/location.html:74 templates/js/translated/label.js:142 msgid "Print Label" msgstr "" @@ -7501,7 +7455,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2293 +#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2292 msgid "Part actions" msgstr "" @@ -7550,7 +7504,7 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:163 -#: part/templates/part/part_base.html:682 +#: part/templates/part/part_base.html:681 msgid "Show Part Details" msgstr "" @@ -7573,7 +7527,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2444 +#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2443 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7596,19 +7550,19 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:512 +#: part/templates/part/part_base.html:511 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:529 +#: part/templates/part/part_base.html:528 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:580 +#: part/templates/part/part_base.html:579 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:676 +#: part/templates/part/part_base.html:675 msgid "Hide Part Details" msgstr "" @@ -7667,8 +7621,8 @@ msgstr "" #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 -#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 -#: templates/js/translated/stock.js:2072 templates/navbar.html:31 +#: templates/js/translated/part.js:2391 templates/js/translated/stock.js:1059 +#: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7714,7 +7668,7 @@ msgstr "" #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 -#: templates/js/translated/stock.js:2248 +#: templates/js/translated/stock.js:2246 msgid "Last Updated" msgstr "" @@ -7786,7 +7740,7 @@ msgid "Update Pricing" msgstr "" #: part/templates/part/stock_count.html:7 -#: templates/js/translated/model_renderers.js:221 +#: templates/js/translated/model_renderers.js:227 #: templates/js/translated/part.js:704 templates/js/translated/part.js:2140 #: templates/js/translated/part.js:2142 msgid "No Stock" @@ -7866,7 +7820,7 @@ msgstr "" msgid "Part Pricing" msgstr "" -#: plugin/api.py:168 +#: plugin/api.py:170 msgid "Plugin cannot be deleted as it is currently active" msgstr "" @@ -7933,7 +7887,7 @@ msgid "Stock item does not match line item" msgstr "" #: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2589 -#: templates/js/translated/sales_order.js:1917 +#: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "" @@ -8027,22 +7981,18 @@ msgstr "" msgid "Quantity to allocate" msgstr "" -#: plugin/base/label/label.py:39 +#: plugin/base/label/label.py:39 templates/js/translated/label.js:154 msgid "Label printing failed" msgstr "" -#: plugin/base/label/mixins.py:63 +#: plugin/base/label/mixins.py:56 msgid "Error rendering label to PDF" msgstr "" -#: plugin/base/label/mixins.py:76 +#: plugin/base/label/mixins.py:70 msgid "Error rendering label to HTML" msgstr "" -#: plugin/base/label/mixins.py:111 -msgid "Error rendering label to PNG" -msgstr "" - #: plugin/builtin/barcodes/inventree_barcode.py:25 msgid "InvenTree Barcodes" msgstr "" @@ -8054,7 +8004,7 @@ msgstr "" #: plugin/builtin/barcodes/inventree_barcode.py:28 #: plugin/builtin/integration/core_notifications.py:35 #: plugin/builtin/integration/currency_exchange.py:21 -#: plugin/builtin/labels/inventree_label.py:23 +#: plugin/builtin/labels/inventree_label.py:22 #: plugin/builtin/labels/inventree_machine.py:64 #: plugin/builtin/labels/label_sheet.py:63 #: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 @@ -8108,19 +8058,19 @@ msgstr "" msgid "Default currency exchange integration" msgstr "" -#: plugin/builtin/labels/inventree_label.py:20 +#: plugin/builtin/labels/inventree_label.py:19 msgid "InvenTree PDF label printer" msgstr "" -#: plugin/builtin/labels/inventree_label.py:21 +#: plugin/builtin/labels/inventree_label.py:20 msgid "Provides native support for printing PDF labels" msgstr "" -#: plugin/builtin/labels/inventree_label.py:29 +#: plugin/builtin/labels/inventree_label.py:28 msgid "Debug mode" msgstr "" -#: plugin/builtin/labels/inventree_label.py:30 +#: plugin/builtin/labels/inventree_label.py:29 msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "" @@ -8132,11 +8082,11 @@ msgstr "" msgid "Provides support for printing using a machine" msgstr "" -#: plugin/builtin/labels/inventree_machine.py:150 +#: plugin/builtin/labels/inventree_machine.py:151 msgid "last used" msgstr "" -#: plugin/builtin/labels/inventree_machine.py:167 +#: plugin/builtin/labels/inventree_machine.py:168 msgid "Options" msgstr "" @@ -8160,7 +8110,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:47 report/models.py:209 +#: plugin/builtin/labels/label_sheet.py:47 report/models.py:308 msgid "Landscape" msgstr "" @@ -8176,11 +8126,11 @@ msgstr "" msgid "Arrays multiple labels onto a single sheet" msgstr "" -#: plugin/builtin/labels/label_sheet.py:94 +#: plugin/builtin/labels/label_sheet.py:99 msgid "Label is too large for page size" msgstr "" -#: plugin/builtin/labels/label_sheet.py:128 +#: plugin/builtin/labels/label_sheet.py:133 msgid "No labels were generated" msgstr "" @@ -8273,61 +8223,62 @@ msgstr "" msgid "Uninstalled plugin successfully" msgstr "" -#: plugin/models.py:30 +#: plugin/models.py:35 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:31 +#: plugin/models.py:36 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:34 users/models.py:100 +#: plugin/models.py:42 users/models.py:100 msgid "Key" msgstr "" -#: plugin/models.py:34 +#: plugin/models.py:43 msgid "Key of plugin" msgstr "" -#: plugin/models.py:42 +#: plugin/models.py:51 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:49 plugin/serializers.py:90 +#: plugin/models.py:58 plugin/serializers.py:90 msgid "Package Name" msgstr "" -#: plugin/models.py:51 +#: plugin/models.py:60 msgid "Name of the installed package, if the plugin was installed via PIP" msgstr "" -#: plugin/models.py:56 +#: plugin/models.py:65 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:147 templates/js/translated/table_filters.js:370 +#: plugin/models.py:156 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "" -#: plugin/models.py:156 +#: plugin/models.py:165 msgid "Sample plugin" msgstr "" -#: plugin/models.py:164 +#: plugin/models.py:173 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:172 +#: plugin/models.py:181 msgid "Package Plugin" msgstr "" -#: plugin/models.py:196 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:205 report/models.py:475 +#: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" msgstr "" -#: plugin/models.py:243 +#: plugin/models.py:252 msgid "Method" msgstr "" @@ -8468,239 +8419,323 @@ msgstr "" msgid "Delete the plugin configuration from the database" msgstr "" -#: report/api.py:158 +#: report/api.py:77 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:197 report/api.py:234 +#: report/api.py:89 report/serializers.py:53 +msgid "Model Type" +msgstr "" + +#: report/api.py:92 report/models.py:439 report/serializers.py:98 +#: report/serializers.py:148 templates/js/translated/purchase_order.js:1747 +#: templates/js/translated/return_order.js:353 +#: templates/js/translated/sales_order.js:887 +#: templates/js/translated/sales_order.js:1047 +msgid "Items" +msgstr "" + +#: report/api.py:168 +msgid "Plugin not found" +msgstr "" + +#: report/api.py:170 +msgid "Plugin is not active" +msgstr "" + +#: report/api.py:172 +msgid "Plugin does not support label printing" +msgstr "" + +#: report/api.py:221 +msgid "Invalid label dimensions" +msgstr "" + +#: report/api.py:236 report/api.py:316 +msgid "No valid items provided to template" +msgstr "" + +#: report/api.py:271 +msgid "Error printing label" +msgstr "" + +#: report/api.py:362 report/api.py:398 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:319 -msgid "Test report" -msgstr "" - -#: report/helpers.py:15 +#: report/helpers.py:41 msgid "A4" msgstr "" -#: report/helpers.py:16 +#: report/helpers.py:42 msgid "A3" msgstr "" -#: report/helpers.py:17 +#: report/helpers.py:43 msgid "Legal" msgstr "" -#: report/helpers.py:18 +#: report/helpers.py:44 msgid "Letter" msgstr "" -#: report/models.py:177 +#: report/models.py:118 +msgid "Template file with this name already exists" +msgstr "" + +#: report/models.py:150 msgid "Template name" msgstr "" -#: report/models.py:183 -msgid "Report template file" +#: report/models.py:156 +msgid "Template description" msgstr "" -#: report/models.py:190 -msgid "Report template description" +#: report/models.py:162 +msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:196 -msgid "Report revision number (auto-increments)" +#: report/models.py:202 +msgid "Filename Pattern" msgstr "" -#: report/models.py:204 +#: report/models.py:203 +msgid "Pattern for generating filenames" +msgstr "" + +#: report/models.py:208 +msgid "Template is enabled" +msgstr "" + +#: report/models.py:214 +msgid "Target model type for template" +msgstr "" + +#: report/models.py:234 +msgid "Filters" +msgstr "" + +#: report/models.py:235 +msgid "Template query filters (comma-separated list of key=value pairs)" +msgstr "" + +#: report/models.py:295 report/models.py:362 +msgid "Template file" +msgstr "" + +#: report/models.py:303 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:210 +#: report/models.py:309 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:318 -msgid "Pattern for generating report filenames" +#: report/models.py:368 +msgid "Width [mm]" msgstr "" -#: report/models.py:325 -msgid "Report template is enabled" +#: report/models.py:369 +msgid "Label width, specified in mm" msgstr "" -#: report/models.py:347 -msgid "StockItem query filters (comma-separated list of key=value pairs)" +#: report/models.py:375 +msgid "Height [mm]" msgstr "" -#: report/models.py:354 -msgid "Include Installed Tests" +#: report/models.py:376 +msgid "Label height, specified in mm" msgstr "" -#: report/models.py:356 -msgid "Include test results for stock items installed inside assembled item" +#: report/models.py:439 +msgid "Number of items to process" msgstr "" -#: report/models.py:424 -msgid "Build Filters" +#: report/models.py:445 +msgid "Report generation is complete" msgstr "" -#: report/models.py:425 -msgid "Build query filters (comma-separated list of key=value pairs" +#: report/models.py:449 templates/js/translated/build.js:2177 +msgid "Progress" msgstr "" -#: report/models.py:464 -msgid "Part Filters" +#: report/models.py:449 +msgid "Report generation progress" msgstr "" -#: report/models.py:465 -msgid "Part query filters (comma-separated list of key=value pairs" +#: report/models.py:457 +msgid "Report Template" msgstr "" -#: report/models.py:497 -msgid "Purchase order query filters" +#: report/models.py:464 report/models.py:487 +msgid "Output File" msgstr "" -#: report/models.py:533 -msgid "Sales order query filters" +#: report/models.py:465 report/models.py:488 +msgid "Generated output file" msgstr "" -#: report/models.py:569 -msgid "Return order query filters" +#: report/models.py:476 +msgid "Label output plugin" msgstr "" -#: report/models.py:641 -msgid "Snippet file with this name already exists" +#: report/models.py:480 +msgid "Label Template" msgstr "" -#: report/models.py:648 +#: report/models.py:503 msgid "Snippet" msgstr "" -#: report/models.py:649 +#: report/models.py:504 msgid "Report snippet file" msgstr "" -#: report/models.py:656 +#: report/models.py:511 msgid "Snippet file description" msgstr "" -#: report/models.py:714 -msgid "Asset file with this name already exists" -msgstr "" - -#: report/models.py:722 +#: report/models.py:529 msgid "Asset" msgstr "" -#: report/models.py:723 +#: report/models.py:530 msgid "Report asset file" msgstr "" -#: report/models.py:730 +#: report/models.py:537 msgid "Asset file description" msgstr "" -#: report/models.py:752 -msgid "stock location query filters (comma-separated list of key=value pairs)" +#: report/serializers.py:91 +msgid "Select report template" +msgstr "" + +#: report/serializers.py:99 report/serializers.py:149 +msgid "List of item primary keys to include in the report" +msgstr "" + +#: report/serializers.py:132 +msgid "Select label template" +msgstr "" + +#: report/serializers.py:140 +msgid "Printing Plugin" +msgstr "" + +#: report/serializers.py:141 +msgid "Select plugin to use for label printing" +msgstr "" + +#: report/templates/label/part_label.html:31 +#: report/templates/label/stockitem_qr.html:21 +#: report/templates/label/stocklocation_qr.html:20 +#: templates/allauth_2fa/setup.html:18 +msgid "QR Code" +msgstr "" + +#: report/templates/label/part_label_code128.html:31 +#: report/templates/label/stocklocation_qr_and_text.html:31 +#: templates/qr_code.html:7 +msgid "QR code" msgstr "" #: report/templates/report/inventree_bill_of_materials_report.html:133 msgid "Materials needed" msgstr "" -#: report/templates/report/inventree_build_order_base.html:146 +#: report/templates/report/inventree_build_order_report.html:146 msgid "Required For" msgstr "" -#: report/templates/report/inventree_po_report_base.html:15 +#: report/templates/report/inventree_purchase_order_report.html:15 msgid "Supplier was deleted" msgstr "" -#: report/templates/report/inventree_po_report_base.html:30 -#: report/templates/report/inventree_so_report_base.html:30 +#: report/templates/report/inventree_purchase_order_report.html:30 +#: report/templates/report/inventree_sales_order_report.html:30 #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:834 -#: templates/js/translated/purchase_order.js:2116 -#: templates/js/translated/sales_order.js:1837 +#: templates/js/translated/purchase_order.js:2115 +#: templates/js/translated/sales_order.js:1873 msgid "Unit Price" msgstr "" -#: report/templates/report/inventree_po_report_base.html:55 -#: report/templates/report/inventree_return_order_report_base.html:48 -#: report/templates/report/inventree_so_report_base.html:55 +#: report/templates/report/inventree_purchase_order_report.html:55 +#: report/templates/report/inventree_return_order_report.html:48 +#: report/templates/report/inventree_sales_order_report.html:55 msgid "Extra Line Items" 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:2018 -#: templates/js/translated/sales_order.js:1806 +#: report/templates/report/inventree_purchase_order_report.html:72 +#: report/templates/report/inventree_sales_order_report.html:72 +#: templates/js/translated/purchase_order.js:2017 +#: templates/js/translated/sales_order.js:1842 msgid "Total" msgstr "" -#: report/templates/report/inventree_return_order_report_base.html:25 -#: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:809 stock/templates/stock/item_base.html:311 +#: report/templates/report/inventree_return_order_report.html:25 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:830 +#: stock/serializers.py:150 stock/templates/stock/item_base.html:311 #: templates/js/translated/build.js:519 templates/js/translated/build.js:1367 #: templates/js/translated/build.js:2355 -#: templates/js/translated/model_renderers.js:224 -#: templates/js/translated/return_order.js:540 -#: templates/js/translated/return_order.js:724 +#: templates/js/translated/model_renderers.js:230 +#: templates/js/translated/return_order.js:539 +#: templates/js/translated/return_order.js:723 #: templates/js/translated/sales_order.js:315 -#: templates/js/translated/sales_order.js:1611 -#: templates/js/translated/sales_order.js:1696 +#: templates/js/translated/sales_order.js:1647 +#: templates/js/translated/sales_order.js:1732 #: templates/js/translated/stock.js:596 msgid "Serial Number" msgstr "" -#: report/templates/report/inventree_slr_report.html:97 +#: report/templates/report/inventree_stock_location_report.html:97 msgid "Stock location items" msgstr "" -#: report/templates/report/inventree_test_report_base.html:21 +#: report/templates/report/inventree_test_report.html:21 msgid "Stock Item Test Report" msgstr "" -#: report/templates/report/inventree_test_report_base.html:97 +#: report/templates/report/inventree_test_report.html:97 msgid "Test Results" msgstr "" -#: report/templates/report/inventree_test_report_base.html:102 +#: report/templates/report/inventree_test_report.html:102 #: templates/js/translated/stock.js:1495 msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2442 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2419 msgid "Result" msgstr "" -#: report/templates/report/inventree_test_report_base.html:130 +#: report/templates/report/inventree_test_report.html:130 msgid "Pass" msgstr "" -#: report/templates/report/inventree_test_report_base.html:132 +#: report/templates/report/inventree_test_report.html:132 msgid "Fail" msgstr "" -#: report/templates/report/inventree_test_report_base.html:139 +#: report/templates/report/inventree_test_report.html:139 msgid "No result (required)" msgstr "" -#: report/templates/report/inventree_test_report_base.html:141 +#: report/templates/report/inventree_test_report.html:141 msgid "No result" msgstr "" -#: report/templates/report/inventree_test_report_base.html:154 +#: report/templates/report/inventree_test_report.html:154 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report_base.html:168 -#: stock/admin.py:162 templates/js/translated/stock.js:700 -#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3113 +#: report/templates/report/inventree_test_report.html:168 stock/admin.py:162 +#: templates/js/translated/stock.js:700 templates/js/translated/stock.js:871 +#: templates/js/translated/stock.js:3110 msgid "Serial" msgstr "" @@ -8757,7 +8792,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:201 stock/models.py:789 +#: stock/admin.py:201 stock/models.py:810 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" @@ -8782,66 +8817,66 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:256 stock/models.py:883 +#: stock/admin.py:256 stock/models.py:904 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2232 users/models.py:124 +#: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" msgstr "" -#: stock/api.py:284 +#: stock/api.py:318 msgid "Filter by location depth" msgstr "" -#: stock/api.py:304 +#: stock/api.py:338 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:325 +#: stock/api.py:359 msgid "Parent Location" msgstr "" -#: stock/api.py:326 +#: stock/api.py:360 msgid "Filter by parent location" msgstr "" -#: stock/api.py:579 templates/js/translated/table_filters.js:427 +#: stock/api.py:613 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:767 +#: stock/api.py:801 msgid "Part Tree" msgstr "" -#: stock/api.py:797 +#: stock/api.py:831 msgid "Expiry date before" msgstr "" -#: stock/api.py:801 +#: stock/api.py:835 msgid "Expiry date after" msgstr "" -#: stock/api.py:804 stock/templates/stock/item_base.html:439 +#: stock/api.py:838 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:891 +#: stock/api.py:925 msgid "Quantity is required" msgstr "" -#: stock/api.py:897 +#: stock/api.py:931 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:928 +#: stock/api.py:962 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:938 +#: stock/api.py:972 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:969 +#: stock/api.py:1003 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8857,477 +8892,517 @@ msgstr "" msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:125 stock/models.py:771 +#: stock/models.py:127 stock/models.py:792 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:126 stock/templates/stock/location.html:179 +#: stock/models.py:128 stock/templates/stock/location.html:186 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "" -#: stock/models.py:158 stock/models.py:932 +#: stock/models.py:170 stock/models.py:953 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:159 stock/models.py:933 +#: stock/models.py:171 stock/models.py:954 msgid "Select Owner" msgstr "" -#: stock/models.py:167 +#: stock/models.py:179 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:174 templates/js/translated/stock.js:2784 +#: stock/models.py:186 templates/js/translated/stock.js:2781 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "" -#: stock/models.py:175 +#: stock/models.py:187 msgid "This is an external stock location" msgstr "" -#: stock/models.py:181 templates/js/translated/stock.js:2793 +#: stock/models.py:193 templates/js/translated/stock.js:2790 #: templates/js/translated/table_filters.js:246 msgid "Location type" msgstr "" -#: stock/models.py:185 +#: stock/models.py:197 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:254 +#: stock/models.py:266 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:626 +#: stock/models.py:647 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:653 stock/serializers.py:290 +#: stock/models.py:674 stock/serializers.py:419 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:670 +#: stock/models.py:691 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:680 stock/models.py:693 +#: stock/models.py:701 stock/models.py:714 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:683 +#: stock/models.py:704 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:707 +#: stock/models.py:728 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:712 +#: stock/models.py:733 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:725 +#: stock/models.py:746 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:741 +#: stock/models.py:762 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:753 +#: stock/models.py:774 msgid "Base part" msgstr "" -#: stock/models.py:763 +#: stock/models.py:784 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:775 +#: stock/models.py:796 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:783 stock/serializers.py:1351 +#: stock/models.py:804 stock/serializers.py:1480 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:794 +#: stock/models.py:815 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:813 +#: stock/models.py:834 msgid "Serial number for this item" msgstr "" -#: stock/models.py:827 stock/serializers.py:1334 +#: stock/models.py:848 stock/serializers.py:1463 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:832 +#: stock/models.py:853 msgid "Stock Quantity" msgstr "" -#: stock/models.py:842 +#: stock/models.py:863 msgid "Source Build" msgstr "" -#: stock/models.py:845 +#: stock/models.py:866 msgid "Build for this stock item" msgstr "" -#: stock/models.py:852 stock/templates/stock/item_base.html:363 +#: stock/models.py:873 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:855 +#: stock/models.py:876 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:864 +#: stock/models.py:885 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:868 +#: stock/models.py:889 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:874 +#: stock/models.py:895 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:885 +#: stock/models.py:906 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:903 +#: stock/models.py:924 msgid "Delete on deplete" msgstr "" -#: stock/models.py:904 +#: stock/models.py:925 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:924 +#: stock/models.py:945 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:955 +#: stock/models.py:976 msgid "Converted to part" msgstr "" -#: stock/models.py:1473 +#: stock/models.py:1494 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1479 +#: stock/models.py:1500 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1487 +#: stock/models.py:1508 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1493 +#: stock/models.py:1514 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1498 +#: stock/models.py:1519 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1506 stock/serializers.py:529 +#: stock/models.py:1527 stock/serializers.py:658 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1603 +#: stock/models.py:1624 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1621 +#: stock/models.py:1642 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1625 +#: stock/models.py:1646 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1628 +#: stock/models.py:1649 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1631 +#: stock/models.py:1652 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1634 +#: stock/models.py:1655 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1637 +#: stock/models.py:1658 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1644 stock/serializers.py:1240 +#: stock/models.py:1665 stock/serializers.py:1369 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1648 +#: stock/models.py:1669 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1656 +#: stock/models.py:1677 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1661 +#: stock/models.py:1682 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1882 +#: stock/models.py:1903 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2345 +#: stock/models.py:2322 msgid "Entry notes" msgstr "" -#: stock/models.py:2410 +#: stock/models.py:2387 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2415 +#: stock/models.py:2392 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2442 +#: stock/models.py:2419 msgid "Test result" msgstr "" -#: stock/models.py:2449 +#: stock/models.py:2426 msgid "Test output value" msgstr "" -#: stock/models.py:2457 +#: stock/models.py:2434 msgid "Test result attachment" msgstr "" -#: stock/models.py:2461 +#: stock/models.py:2438 msgid "Test notes" msgstr "" -#: stock/models.py:2469 templates/js/translated/stock.js:1548 +#: stock/models.py:2446 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "" -#: stock/models.py:2470 +#: stock/models.py:2447 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2476 +#: stock/models.py:2453 msgid "Started" msgstr "" -#: stock/models.py:2477 +#: stock/models.py:2454 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2483 +#: stock/models.py:2460 msgid "Finished" msgstr "" -#: stock/models.py:2484 +#: stock/models.py:2461 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:100 +#: stock/serializers.py:75 +msgid "Generated batch code" +msgstr "" + +#: stock/serializers.py:84 +msgid "Select build order" +msgstr "" + +#: stock/serializers.py:93 +msgid "Select stock item to generate batch code for" +msgstr "" + +#: stock/serializers.py:102 +msgid "Select location to generate batch code for" +msgstr "" + +#: stock/serializers.py:111 +msgid "Select part to generate batch code for" +msgstr "" + +#: stock/serializers.py:120 +msgid "Select purchase order" +msgstr "" + +#: stock/serializers.py:127 +msgid "Enter quantity for batch code" +msgstr "" + +#: stock/serializers.py:150 +msgid "Generated serial number" +msgstr "" + +#: stock/serializers.py:159 +msgid "Select part to generate serial number for" +msgstr "" + +#: stock/serializers.py:167 +msgid "Quantity of serial numbers to generate" +msgstr "" + +#: stock/serializers.py:229 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:119 +#: stock/serializers.py:248 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:151 +#: stock/serializers.py:280 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:184 +#: stock/serializers.py:313 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:282 +#: stock/serializers.py:411 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:402 +#: stock/serializers.py:531 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:464 +#: stock/serializers.py:593 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:477 +#: stock/serializers.py:606 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:484 +#: stock/serializers.py:613 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:495 stock/serializers.py:1197 stock/serializers.py:1453 +#: stock/serializers.py:624 stock/serializers.py:1326 stock/serializers.py:1582 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:502 +#: stock/serializers.py:631 msgid "Optional note field" msgstr "" -#: stock/serializers.py:512 +#: stock/serializers.py:641 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:567 +#: stock/serializers.py:696 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:574 +#: stock/serializers.py:703 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:575 +#: stock/serializers.py:704 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:580 stock/serializers.py:660 stock/serializers.py:756 -#: stock/serializers.py:806 +#: stock/serializers.py:709 stock/serializers.py:789 stock/serializers.py:885 +#: stock/serializers.py:935 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:588 +#: stock/serializers.py:717 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:596 +#: stock/serializers.py:725 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:607 +#: stock/serializers.py:736 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:620 +#: stock/serializers.py:749 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:655 +#: stock/serializers.py:784 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:690 +#: stock/serializers.py:819 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:703 +#: stock/serializers.py:832 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:720 +#: stock/serializers.py:849 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:751 +#: stock/serializers.py:880 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:788 +#: stock/serializers.py:917 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:794 +#: stock/serializers.py:923 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:890 stock/serializers.py:953 +#: stock/serializers.py:1019 stock/serializers.py:1082 #: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:213 +#: stock/templates/stock/location.html:220 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1069 +#: stock/serializers.py:1198 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1073 +#: stock/serializers.py:1202 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1077 +#: stock/serializers.py:1206 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1101 +#: stock/serializers.py:1230 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1107 +#: stock/serializers.py:1236 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1115 +#: stock/serializers.py:1244 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1125 stock/serializers.py:1379 +#: stock/serializers.py:1254 stock/serializers.py:1508 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1204 +#: stock/serializers.py:1333 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1209 +#: stock/serializers.py:1338 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1210 +#: stock/serializers.py:1339 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1215 +#: stock/serializers.py:1344 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1216 +#: stock/serializers.py:1345 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1226 +#: stock/serializers.py:1355 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1293 +#: stock/serializers.py:1422 msgid "No Change" msgstr "" -#: stock/serializers.py:1322 +#: stock/serializers.py:1451 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1341 +#: stock/serializers.py:1470 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1369 +#: stock/serializers.py:1498 msgid "Stock transaction notes" msgstr "" @@ -9352,7 +9427,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:286 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:282 msgid "Delete Test Data" msgstr "" @@ -9368,15 +9443,15 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3274 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3271 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:274 +#: stock/templates/stock/item.html:270 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:304 templates/js/translated/stock.js:1701 +#: stock/templates/stock/item.html:300 templates/js/translated/stock.js:1701 msgid "Add Test Result" msgstr "" @@ -9561,40 +9636,40 @@ msgstr "" msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:507 -#: templates/js/translated/stock.js:1954 +#: stock/templates/stock/item_base.html:504 +#: templates/js/translated/stock.js:1952 msgid "stock item" msgstr "" -#: stock/templates/stock/item_base.html:532 +#: stock/templates/stock/item_base.html:527 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:541 +#: stock/templates/stock/item_base.html:536 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:552 +#: stock/templates/stock/item_base.html:547 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:616 +#: stock/templates/stock/item_base.html:611 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:619 +#: stock/templates/stock/item_base.html:614 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:620 +#: stock/templates/stock/item_base.html:615 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:628 +#: stock/templates/stock/item_base.html:623 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:662 +#: stock/templates/stock/item_base.html:657 msgid "Return to Stock" msgstr "" @@ -9658,28 +9733,32 @@ msgstr "" msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:217 +#: stock/templates/stock/location.html:176 +msgid "Location Type" +msgstr "" + +#: stock/templates/stock/location.html:224 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:218 +#: stock/templates/stock/location.html:225 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:287 -#: templates/js/translated/stock.js:2575 +#: stock/templates/stock/location.html:295 +#: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:315 +#: stock/templates/stock/location.html:317 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:388 +#: stock/templates/stock/location.html:390 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:399 +#: stock/templates/stock/location.html:401 msgid "Link Barcode to Stock Location" msgstr "" @@ -9949,11 +10028,11 @@ msgstr "" msgid "Part Settings" msgstr "" -#: templates/InvenTree/settings/part.html:42 +#: templates/InvenTree/settings/part.html:43 msgid "Part Import" msgstr "" -#: templates/InvenTree/settings/part.html:46 +#: templates/InvenTree/settings/part.html:47 msgid "Import Part" msgstr "" @@ -10174,7 +10253,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:424 +#: templates/js/translated/stock.js:245 users/models.py:411 msgid "Delete" msgstr "" @@ -10283,7 +10362,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2159 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2163 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" @@ -10874,7 +10953,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3218 +#: templates/js/translated/part.js:3217 msgid "Minimum Quantity" msgstr "" @@ -11254,7 +11333,7 @@ msgid "External stock" msgstr "" #: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2595 -#: templates/js/translated/sales_order.js:1910 +#: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" @@ -11264,7 +11343,7 @@ msgstr "" #: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 #: templates/js/translated/part.js:1256 -#: templates/js/translated/sales_order.js:1907 +#: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" @@ -11519,17 +11598,17 @@ msgstr "" #: templates/js/translated/build.js:1576 #: templates/js/translated/purchase_order.js:611 -#: templates/js/translated/sales_order.js:1171 +#: templates/js/translated/sales_order.js:1207 msgid "Select Parts" msgstr "" #: templates/js/translated/build.js:1577 -#: templates/js/translated/sales_order.js:1172 +#: templates/js/translated/sales_order.js:1208 msgid "You must select at least one part to allocate" msgstr "" #: templates/js/translated/build.js:1640 -#: templates/js/translated/sales_order.js:1121 +#: templates/js/translated/sales_order.js:1157 msgid "Specify stock allocation quantity" msgstr "" @@ -11542,7 +11621,7 @@ msgid "All selected parts have been fully allocated" msgstr "" #: templates/js/translated/build.js:1732 -#: templates/js/translated/sales_order.js:1186 +#: templates/js/translated/sales_order.js:1222 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -11551,12 +11630,12 @@ msgid "Allocate Stock Items to Build Order" msgstr "" #: templates/js/translated/build.js:1771 -#: templates/js/translated/sales_order.js:1283 +#: templates/js/translated/sales_order.js:1319 msgid "No matching stock locations" msgstr "" #: templates/js/translated/build.js:1844 -#: templates/js/translated/sales_order.js:1362 +#: templates/js/translated/sales_order.js:1398 msgid "No matching stock items" msgstr "" @@ -11589,9 +11668,9 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 -#: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 -#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 -#: templates/js/translated/stock.js:1985 templates/js/translated/stock.js:2713 +#: templates/js/translated/forms.js:2159 templates/js/translated/forms.js:2175 +#: templates/js/translated/part.js:2315 templates/js/translated/part.js:2741 +#: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "" @@ -11599,21 +11678,17 @@ msgstr "" msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2177 -msgid "Progress" -msgstr "" - -#: templates/js/translated/build.js:2213 templates/js/translated/stock.js:3045 +#: templates/js/translated/build.js:2213 templates/js/translated/stock.js:3042 msgid "No user information" msgstr "" #: templates/js/translated/build.js:2389 -#: templates/js/translated/sales_order.js:1646 +#: templates/js/translated/sales_order.js:1682 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:2390 -#: templates/js/translated/sales_order.js:1647 +#: templates/js/translated/sales_order.js:1683 msgid "Delete stock allocation" msgstr "" @@ -11647,7 +11722,7 @@ msgid "Unit Quantity" msgstr "" #: templates/js/translated/build.js:2591 -#: templates/js/translated/sales_order.js:1915 +#: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" @@ -11664,7 +11739,7 @@ msgid "Allocate tracked items against individual build outputs" msgstr "" #: templates/js/translated/build.js:2662 -#: templates/js/translated/sales_order.js:2016 +#: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "" @@ -11673,7 +11748,7 @@ msgid "Order stock" msgstr "" #: templates/js/translated/build.js:2671 -#: templates/js/translated/sales_order.js:2010 +#: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "" @@ -11923,12 +11998,12 @@ msgid "Delete price break" msgstr "" #: templates/js/translated/filters.js:186 -#: templates/js/translated/filters.js:672 +#: templates/js/translated/filters.js:667 msgid "true" msgstr "" #: templates/js/translated/filters.js:190 -#: templates/js/translated/filters.js:673 +#: templates/js/translated/filters.js:668 msgid "false" msgstr "" @@ -11960,7 +12035,7 @@ msgstr "" msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:582 +#: templates/js/translated/filters.js:577 msgid "Create filter" msgstr "" @@ -11993,32 +12068,32 @@ msgstr "" msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1473 templates/modals.html:19 +#: templates/js/translated/forms.js:1477 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1971 +#: templates/js/translated/forms.js:1975 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2275 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2279 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2489 +#: templates/js/translated/forms.js:2493 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3091 +#: templates/js/translated/forms.js:3095 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3091 +#: templates/js/translated/forms.js:3095 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3103 +#: templates/js/translated/forms.js:3107 msgid "Select Columns" msgstr "" @@ -12042,51 +12117,15 @@ msgstr "" msgid "No parts required for builds" msgstr "" -#: templates/js/translated/label.js:53 templates/js/translated/report.js:123 +#: templates/js/translated/label.js:55 templates/js/translated/report.js:38 msgid "Select Items" msgstr "" -#: templates/js/translated/label.js:54 +#: templates/js/translated/label.js:56 templates/js/translated/report.js:39 msgid "No items selected for printing" msgstr "" -#: templates/js/translated/label.js:72 -msgid "No Labels Found" -msgstr "" - -#: templates/js/translated/label.js:73 -msgid "No label templates found which match the selected items" -msgstr "" - -#: templates/js/translated/label.js:97 -msgid "selected" -msgstr "" - -#: templates/js/translated/label.js:133 -msgid "Printing Options" -msgstr "" - -#: templates/js/translated/label.js:148 -msgid "Print label" -msgstr "" - -#: templates/js/translated/label.js:148 -msgid "Print labels" -msgstr "" - #: templates/js/translated/label.js:149 -msgid "Print" -msgstr "" - -#: templates/js/translated/label.js:155 -msgid "Select label template" -msgstr "" - -#: templates/js/translated/label.js:168 -msgid "Select plugin" -msgstr "" - -#: templates/js/translated/label.js:187 msgid "Labels sent to printer" msgstr "" @@ -12204,7 +12243,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1991 +#: templates/js/translated/purchase_order.js:1990 msgid "No line items found" msgstr "" @@ -12442,19 +12481,19 @@ msgid "Delete Part Parameter Template" msgstr "" #: templates/js/translated/part.js:1716 -#: templates/js/translated/purchase_order.js:1655 +#: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1860 -#: templates/js/translated/purchase_order.js:2154 -#: templates/js/translated/return_order.js:756 -#: templates/js/translated/sales_order.js:1875 +#: templates/js/translated/purchase_order.js:2153 +#: templates/js/translated/return_order.js:755 +#: templates/js/translated/sales_order.js:1911 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1906 -#: templates/js/translated/purchase_order.js:2221 +#: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "" @@ -12466,7 +12505,7 @@ msgstr "" msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2506 +#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2505 msgid "No parts found" msgstr "" @@ -12482,101 +12521,101 @@ msgstr "" msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2286 msgid "part" msgstr "" -#: templates/js/translated/part.js:2288 +#: templates/js/translated/part.js:2287 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2384 +#: templates/js/translated/part.js:2383 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 -#: templates/js/translated/stock.js:2672 +#: templates/js/translated/part.js:2530 templates/js/translated/part.js:2660 +#: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2547 +#: templates/js/translated/part.js:2546 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2645 +#: templates/js/translated/part.js:2644 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2692 +#: templates/js/translated/part.js:2680 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2761 +#: templates/js/translated/part.js:2760 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2777 +#: templates/js/translated/part.js:2776 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2864 +#: templates/js/translated/part.js:2863 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2886 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2885 templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2935 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2941 +#: templates/js/translated/part.js:2940 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2957 +#: templates/js/translated/part.js:2956 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2971 +#: templates/js/translated/part.js:2970 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3050 templates/js/translated/part.js:3051 +#: templates/js/translated/part.js:3049 templates/js/translated/part.js:3050 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3053 +#: templates/js/translated/part.js:3052 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3059 +#: templates/js/translated/part.js:3058 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3109 +#: templates/js/translated/part.js:3108 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3115 +#: templates/js/translated/part.js:3114 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3211 +#: templates/js/translated/part.js:3210 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3227 +#: templates/js/translated/part.js:3226 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3272 +#: templates/js/translated/part.js:3271 msgid "Minimum Stock Level" msgstr "" @@ -12702,7 +12741,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:448 #: templates/js/translated/return_order.js:210 -#: templates/js/translated/sales_order.js:500 +#: templates/js/translated/sales_order.js:552 msgid "Mark this order as complete?" msgstr "" @@ -12715,7 +12754,6 @@ msgid "This order has line items which have not been marked as received." msgstr "" #: templates/js/translated/purchase_order.js:460 -#: templates/js/translated/sales_order.js:514 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" @@ -12773,12 +12811,12 @@ msgid "No matching purchase orders" msgstr "" #: templates/js/translated/purchase_order.js:1073 -#: templates/js/translated/return_order.js:491 +#: templates/js/translated/return_order.js:490 msgid "Select Line Items" msgstr "" #: templates/js/translated/purchase_order.js:1074 -#: templates/js/translated/return_order.js:492 +#: templates/js/translated/return_order.js:491 msgid "At least one line item must be selected" msgstr "" @@ -12827,7 +12865,7 @@ msgid "Quantity to Receive" msgstr "" #: templates/js/translated/purchase_order.js:1333 -#: templates/js/translated/return_order.js:561 +#: templates/js/translated/return_order.js:560 msgid "Confirm receipt of items" msgstr "" @@ -12847,81 +12885,66 @@ msgstr "" msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1682 -#: templates/js/translated/return_order.js:286 -#: templates/js/translated/sales_order.js:774 -#: templates/js/translated/sales_order.js:998 +#: templates/js/translated/purchase_order.js:1681 +#: templates/js/translated/return_order.js:285 +#: templates/js/translated/sales_order.js:810 +#: templates/js/translated/sales_order.js:1034 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1748 -#: templates/js/translated/return_order.js:354 -#: templates/js/translated/sales_order.js:851 -#: templates/js/translated/sales_order.js:1011 -msgid "Items" -msgstr "" - -#: templates/js/translated/purchase_order.js:1844 +#: templates/js/translated/purchase_order.js:1843 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1862 +#: templates/js/translated/purchase_order.js:1861 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1917 -#: templates/js/translated/sales_order.js:2070 +#: templates/js/translated/purchase_order.js:1916 +#: templates/js/translated/sales_order.js:2106 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1932 -#: templates/js/translated/return_order.js:476 -#: templates/js/translated/return_order.js:669 -#: templates/js/translated/sales_order.js:2083 +#: templates/js/translated/purchase_order.js:1931 +#: templates/js/translated/return_order.js:475 +#: templates/js/translated/return_order.js:668 +#: templates/js/translated/sales_order.js:2119 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1943 -#: templates/js/translated/return_order.js:682 -#: templates/js/translated/sales_order.js:2094 +#: templates/js/translated/purchase_order.js:1942 +#: templates/js/translated/return_order.js:681 +#: templates/js/translated/sales_order.js:2130 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2225 -#: templates/js/translated/sales_order.js:2024 +#: templates/js/translated/purchase_order.js:2224 +#: templates/js/translated/sales_order.js:2060 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2226 -#: templates/js/translated/return_order.js:801 -#: templates/js/translated/sales_order.js:2025 +#: templates/js/translated/purchase_order.js:2225 +#: templates/js/translated/return_order.js:800 +#: templates/js/translated/sales_order.js:2061 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2227 -#: templates/js/translated/return_order.js:805 -#: templates/js/translated/sales_order.js:2031 +#: templates/js/translated/purchase_order.js:2226 +#: templates/js/translated/return_order.js:804 +#: templates/js/translated/sales_order.js:2067 msgid "Delete line item" msgstr "" -#: templates/js/translated/report.js:63 -msgid "items selected" +#: templates/js/translated/report.js:49 +msgid "Print Report" msgstr "" -#: templates/js/translated/report.js:71 -msgid "Select Report Template" +#: templates/js/translated/report.js:68 +msgid "Report print successful" msgstr "" -#: templates/js/translated/report.js:86 -msgid "Select Test Report Template" -msgstr "" - -#: templates/js/translated/report.js:140 -msgid "No Reports Found" -msgstr "" - -#: templates/js/translated/report.js:141 -msgid "No report templates found which match the selected items" +#: templates/js/translated/report.js:73 +msgid "Report printing failed" msgstr "" #: templates/js/translated/return_order.js:60 @@ -12953,25 +12976,25 @@ msgstr "" msgid "Complete Return Order" msgstr "" -#: templates/js/translated/return_order.js:266 +#: templates/js/translated/return_order.js:265 msgid "No return orders found" msgstr "" -#: templates/js/translated/return_order.js:300 -#: templates/js/translated/sales_order.js:788 +#: templates/js/translated/return_order.js:299 +#: templates/js/translated/sales_order.js:824 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/return_order.js:562 +#: templates/js/translated/return_order.js:561 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:693 -#: templates/js/translated/sales_order.js:2231 +#: templates/js/translated/return_order.js:692 +#: templates/js/translated/sales_order.js:2267 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:798 +#: templates/js/translated/return_order.js:797 msgid "Mark item as received" msgstr "" @@ -13015,140 +13038,156 @@ msgstr "" msgid "Skip" msgstr "" +#: templates/js/translated/sales_order.js:484 +msgid "Ship Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:500 +msgid "Ship this order?" +msgstr "" + +#: templates/js/translated/sales_order.js:506 +msgid "Order cannot be shipped as there are incomplete shipments" +msgstr "" + #: templates/js/translated/sales_order.js:513 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/sales_order.js:535 +#: templates/js/translated/sales_order.js:514 +msgid "Shipping this order means that the order and line items will no longer be editable." +msgstr "" + +#: templates/js/translated/sales_order.js:572 msgid "Issue this Sales Order?" msgstr "" -#: templates/js/translated/sales_order.js:540 +#: templates/js/translated/sales_order.js:577 msgid "Issue Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:559 +#: templates/js/translated/sales_order.js:596 msgid "Cancel Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:564 +#: templates/js/translated/sales_order.js:601 msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: templates/js/translated/sales_order.js:618 +#: templates/js/translated/sales_order.js:655 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/sales_order.js:728 +#: templates/js/translated/sales_order.js:764 msgid "No sales orders found" msgstr "" -#: templates/js/translated/sales_order.js:908 +#: templates/js/translated/sales_order.js:944 msgid "Edit shipment" msgstr "" -#: templates/js/translated/sales_order.js:911 +#: templates/js/translated/sales_order.js:947 msgid "Complete shipment" msgstr "" -#: templates/js/translated/sales_order.js:916 +#: templates/js/translated/sales_order.js:952 msgid "Delete shipment" msgstr "" -#: templates/js/translated/sales_order.js:933 +#: templates/js/translated/sales_order.js:969 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/sales_order.js:948 +#: templates/js/translated/sales_order.js:984 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:981 +#: templates/js/translated/sales_order.js:1017 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/sales_order.js:1006 +#: templates/js/translated/sales_order.js:1042 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/sales_order.js:1030 -#: templates/js/translated/sales_order.js:1529 +#: templates/js/translated/sales_order.js:1066 +#: templates/js/translated/sales_order.js:1565 msgid "Not shipped" msgstr "" -#: templates/js/translated/sales_order.js:1048 +#: templates/js/translated/sales_order.js:1084 msgid "Tracking" msgstr "" -#: templates/js/translated/sales_order.js:1052 +#: templates/js/translated/sales_order.js:1088 msgid "Invoice" msgstr "" -#: templates/js/translated/sales_order.js:1219 +#: templates/js/translated/sales_order.js:1255 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1270 +#: templates/js/translated/sales_order.js:1306 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/sales_order.js:1271 +#: templates/js/translated/sales_order.js:1307 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1477 +#: templates/js/translated/sales_order.js:1513 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1569 +#: templates/js/translated/sales_order.js:1605 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1583 +#: templates/js/translated/sales_order.js:1619 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/sales_order.js:1584 +#: templates/js/translated/sales_order.js:1620 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1623 -#: templates/js/translated/sales_order.js:1710 +#: templates/js/translated/sales_order.js:1659 +#: templates/js/translated/sales_order.js:1746 #: templates/js/translated/stock.js:1776 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/sales_order.js:1631 -#: templates/js/translated/sales_order.js:1719 +#: templates/js/translated/sales_order.js:1667 +#: templates/js/translated/sales_order.js:1755 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:2008 +#: templates/js/translated/sales_order.js:2044 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/sales_order.js:2012 +#: templates/js/translated/sales_order.js:2048 msgid "Purchase stock" msgstr "" -#: templates/js/translated/sales_order.js:2021 -#: templates/js/translated/sales_order.js:2209 +#: templates/js/translated/sales_order.js:2057 +#: templates/js/translated/sales_order.js:2245 msgid "Calculate price" msgstr "" -#: templates/js/translated/sales_order.js:2035 +#: templates/js/translated/sales_order.js:2071 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:2038 +#: templates/js/translated/sales_order.js:2074 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:2109 +#: templates/js/translated/sales_order.js:2145 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/sales_order.js:2217 +#: templates/js/translated/sales_order.js:2253 msgid "Update Unit Price" msgstr "" @@ -13356,7 +13395,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1042 users/models.py:414 +#: templates/js/translated/stock.js:1042 users/models.py:401 msgid "Add" msgstr "" @@ -13372,7 +13411,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1180 templates/js/translated/stock.js:3302 +#: templates/js/translated/stock.js:1180 templates/js/translated/stock.js:3299 msgid "Select Stock Items" msgstr "" @@ -13456,196 +13495,196 @@ msgstr "" msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:1955 +#: templates/js/translated/stock.js:1953 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1960 +#: templates/js/translated/stock.js:1958 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:1971 +#: templates/js/translated/stock.js:1969 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:2015 +#: templates/js/translated/stock.js:2013 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2093 +#: templates/js/translated/stock.js:2091 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2098 +#: templates/js/translated/stock.js:2096 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2101 +#: templates/js/translated/stock.js:2099 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2104 +#: templates/js/translated/stock.js:2102 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2106 +#: templates/js/translated/stock.js:2104 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2108 +#: templates/js/translated/stock.js:2106 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2111 +#: templates/js/translated/stock.js:2109 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2113 +#: templates/js/translated/stock.js:2111 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2117 +#: templates/js/translated/stock.js:2115 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2119 +#: templates/js/translated/stock.js:2117 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2124 +#: templates/js/translated/stock.js:2122 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2126 +#: templates/js/translated/stock.js:2124 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2128 +#: templates/js/translated/stock.js:2126 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2132 +#: templates/js/translated/stock.js:2130 #: templates/js/translated/table_filters.js:350 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2297 +#: templates/js/translated/stock.js:2295 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2344 +#: templates/js/translated/stock.js:2342 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2472 +#: templates/js/translated/stock.js:2470 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2576 +#: templates/js/translated/stock.js:2573 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2731 +#: templates/js/translated/stock.js:2728 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2849 +#: templates/js/translated/stock.js:2846 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2853 +#: templates/js/translated/stock.js:2850 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2865 +#: templates/js/translated/stock.js:2862 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2887 +#: templates/js/translated/stock.js:2884 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2904 +#: templates/js/translated/stock.js:2901 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2919 +#: templates/js/translated/stock.js:2916 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2936 +#: templates/js/translated/stock.js:2933 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:2950 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2972 +#: templates/js/translated/stock.js:2969 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2990 +#: templates/js/translated/stock.js:2987 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:3008 +#: templates/js/translated/stock.js:3005 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:3016 +#: templates/js/translated/stock.js:3013 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3088 +#: templates/js/translated/stock.js:3085 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3142 templates/js/translated/stock.js:3178 +#: templates/js/translated/stock.js:3139 templates/js/translated/stock.js:3175 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3200 +#: templates/js/translated/stock.js:3197 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3221 +#: templates/js/translated/stock.js:3218 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3222 +#: templates/js/translated/stock.js:3219 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3224 +#: templates/js/translated/stock.js:3221 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3225 +#: templates/js/translated/stock.js:3222 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3226 +#: templates/js/translated/stock.js:3223 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3227 +#: templates/js/translated/stock.js:3224 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3240 +#: templates/js/translated/stock.js:3237 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3303 +#: templates/js/translated/stock.js:3300 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3316 +#: templates/js/translated/stock.js:3313 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3320 +#: templates/js/translated/stock.js:3317 msgid "Change Stock Status" msgstr "" @@ -14247,34 +14286,35 @@ msgstr "" msgid "Revoked" msgstr "" -#: users/models.py:397 +#: users/models.py:384 msgid "Permission set" msgstr "" -#: users/models.py:406 +#: users/models.py:393 msgid "Group" msgstr "" -#: users/models.py:410 +#: users/models.py:397 msgid "View" msgstr "" -#: users/models.py:410 +#: users/models.py:397 msgid "Permission to view items" msgstr "" -#: users/models.py:414 +#: users/models.py:401 msgid "Permission to add items" msgstr "" -#: users/models.py:418 +#: users/models.py:405 msgid "Change" msgstr "" -#: users/models.py:420 +#: users/models.py:407 msgid "Permissions to edit items" msgstr "" -#: users/models.py:426 +#: users/models.py:413 msgid "Permission to delete items" msgstr "" + diff --git a/src/backend/InvenTree/locale/sl/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/sl/LC_MESSAGES/django.po index b4602de700..a11a7a0ce8 100644 --- a/src/backend/InvenTree/locale/sl/LC_MESSAGES/django.po +++ b/src/backend/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: 2024-05-10 05:37+0000\n" -"PO-Revision-Date: 2024-05-10 08:31\n" +"POT-Creation-Date: 2024-05-23 11:25+0000\n" +"PO-Revision-Date: 2024-05-23 11:39\n" "Last-Translator: \n" "Language-Team: Slovenian\n" "Language: sl_SI\n" @@ -17,11 +17,11 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 216\n" -#: InvenTree/api.py:271 +#: InvenTree/api.py:272 msgid "API endpoint not found" msgstr "API vmesnik ni najden" -#: InvenTree/api.py:535 +#: InvenTree/api.py:536 msgid "User does not have permission to view this model" msgstr "Uporabnik nima dovoljenja pogleda tega modela" @@ -56,26 +56,26 @@ msgstr "Podrobnosti napake so vidne v pogledu administratorja" msgid "Enter date" msgstr "Vnesi datum" -#: InvenTree/fields.py:208 InvenTree/models.py:1021 build/serializers.py:444 -#: build/serializers.py:522 build/templates/build/sidebar.html:21 +#: InvenTree/fields.py:208 InvenTree/models.py:1035 build/serializers.py:443 +#: build/serializers.py:521 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 -#: order/models.py:1283 order/templates/order/po_sidebar.html:11 +#: order/models.py:1323 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:59 -#: part/models.py:3175 part/templates/part/part_sidebar.html:63 -#: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:226 stock/models.py:2344 stock/models.py:2461 -#: stock/serializers.py:501 stock/serializers.py:659 stock/serializers.py:755 -#: stock/serializers.py:805 stock/serializers.py:1114 stock/serializers.py:1203 -#: stock/serializers.py:1368 stock/templates/stock/stock_sidebar.html:25 +#: part/models.py:3218 part/templates/part/part_sidebar.html:63 +#: report/templates/report/inventree_build_order_report.html:172 +#: stock/admin.py:226 stock/models.py:2321 stock/models.py:2438 +#: stock/serializers.py:630 stock/serializers.py:788 stock/serializers.py:884 +#: stock/serializers.py:934 stock/serializers.py:1243 stock/serializers.py:1332 +#: stock/serializers.py:1497 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1080 -#: templates/js/translated/purchase_order.js:2201 -#: templates/js/translated/return_order.js:776 -#: templates/js/translated/sales_order.js:1067 -#: templates/js/translated/sales_order.js:1982 -#: templates/js/translated/stock.js:1536 templates/js/translated/stock.js:2430 +#: templates/js/translated/purchase_order.js:2200 +#: templates/js/translated/return_order.js:775 +#: templates/js/translated/sales_order.js:1103 +#: templates/js/translated/sales_order.js:2018 +#: templates/js/translated/stock.js:1536 templates/js/translated/stock.js:2428 msgid "Notes" msgstr "Zapiski" @@ -132,7 +132,7 @@ msgstr "Domena epošte ni podprta." msgid "Registration is disabled." msgstr "Registracija je onemogočena." -#: InvenTree/helpers.py:525 order/models.py:541 order/models.py:743 +#: InvenTree/helpers.py:525 order/models.py:563 order/models.py:765 msgid "Invalid quantity provided" msgstr "Podana napačna količina" @@ -355,142 +355,142 @@ msgstr "E-pošta" msgid "Error running plugin validation" msgstr "Napaka pri izvajanju preverjanja vtičnika" -#: InvenTree/models.py:162 +#: InvenTree/models.py:176 msgid "Metadata must be a python dict object" msgstr "Metapodatki morajo biti objekt tipa python dict" -#: InvenTree/models.py:168 +#: InvenTree/models.py:182 msgid "Plugin Metadata" msgstr "Metapodatki vtičnika" -#: InvenTree/models.py:169 +#: InvenTree/models.py:183 msgid "JSON metadata field, for use by external plugins" msgstr "Polje metapodatkov JSON za uporabo pri zunanjih vtičnikih" -#: InvenTree/models.py:399 +#: InvenTree/models.py:413 msgid "Improperly formatted pattern" msgstr "Nepravilno nastavljen vzorec" -#: InvenTree/models.py:406 +#: InvenTree/models.py:420 msgid "Unknown format key specified" msgstr "Nastavljen neprepoznan ključ formata" -#: InvenTree/models.py:412 +#: InvenTree/models.py:426 msgid "Missing required format key" msgstr "Manjka obvezen ključ formata" -#: InvenTree/models.py:423 +#: InvenTree/models.py:437 msgid "Reference field cannot be empty" msgstr "Referenčno polje ne sme biti prazno" -#: InvenTree/models.py:431 +#: InvenTree/models.py:445 msgid "Reference must match required pattern" msgstr "Referenca se mora ujemati s vzorcem" -#: InvenTree/models.py:462 +#: InvenTree/models.py:476 msgid "Reference number is too large" msgstr "Referenčna številka prevelika" -#: InvenTree/models.py:536 +#: InvenTree/models.py:550 msgid "Missing file" msgstr "Manjka datoteka" -#: InvenTree/models.py:537 +#: InvenTree/models.py:551 msgid "Missing external link" msgstr "Manjka zunanja povezava" -#: InvenTree/models.py:558 stock/models.py:2456 +#: InvenTree/models.py:572 stock/models.py:2433 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" msgstr "Priloga" -#: InvenTree/models.py:559 +#: InvenTree/models.py:573 msgid "Select file to attach" msgstr "Izberite prilogo" -#: InvenTree/models.py:567 common/models.py:3026 company/models.py:146 +#: InvenTree/models.py:581 common/models.py:3032 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 -#: order/models.py:291 order/models.py:1288 order/models.py:1704 -#: part/admin.py:55 part/models.py:919 +#: order/models.py:304 order/models.py:1328 order/models.py:1744 +#: part/admin.py:55 part/models.py:962 #: part/templates/part/part_scheduling.html:11 -#: report/templates/report/inventree_build_order_base.html:164 +#: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2456 -#: templates/js/translated/purchase_order.js:2041 -#: templates/js/translated/purchase_order.js:2205 -#: templates/js/translated/return_order.js:780 -#: templates/js/translated/sales_order.js:1056 -#: templates/js/translated/sales_order.js:1987 +#: templates/js/translated/part.js:2455 +#: templates/js/translated/purchase_order.js:2040 +#: templates/js/translated/purchase_order.js:2204 +#: templates/js/translated/return_order.js:779 +#: templates/js/translated/sales_order.js:1092 +#: templates/js/translated/sales_order.js:2023 msgid "Link" msgstr "Povezava" -#: InvenTree/models.py:568 build/models.py:321 part/models.py:920 -#: stock/models.py:819 +#: InvenTree/models.py:582 build/models.py:344 part/models.py:963 +#: stock/models.py:840 msgid "Link to external URL" msgstr "Zunanja povezava" -#: InvenTree/models.py:574 templates/js/translated/attachment.js:120 +#: InvenTree/models.py:588 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:341 msgid "Comment" msgstr "Komentar" -#: InvenTree/models.py:575 +#: InvenTree/models.py:589 msgid "File comment" msgstr "Komentar datoteke" -#: InvenTree/models.py:583 InvenTree/models.py:584 common/models.py:2502 -#: common/models.py:2503 common/models.py:2727 common/models.py:2728 -#: common/models.py:2973 common/models.py:2974 part/models.py:3185 -#: part/models.py:3272 part/models.py:3365 part/models.py:3393 -#: plugin/models.py:250 plugin/models.py:251 -#: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3039 users/models.py:111 +#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2508 +#: common/models.py:2509 common/models.py:2733 common/models.py:2734 +#: common/models.py:2979 common/models.py:2980 part/models.py:3228 +#: part/models.py:3315 part/models.py:3408 part/models.py:3436 +#: plugin/models.py:259 plugin/models.py:260 +#: report/templates/report/inventree_test_report.html:105 +#: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" msgstr "Uporabnik" -#: InvenTree/models.py:588 +#: InvenTree/models.py:602 msgid "upload date" msgstr "naloži datum" -#: InvenTree/models.py:610 +#: InvenTree/models.py:624 msgid "Filename must not be empty" msgstr "Ime ne sme biti prazno" -#: InvenTree/models.py:621 +#: InvenTree/models.py:635 msgid "Invalid attachment directory" msgstr "Neveljavna mapa prilog" -#: InvenTree/models.py:651 +#: InvenTree/models.py:665 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "Ime datoteke vsebuje neveljavni znak '{c}'" -#: InvenTree/models.py:654 +#: InvenTree/models.py:668 msgid "Filename missing extension" msgstr "Datoteki manjka končnica" -#: InvenTree/models.py:663 +#: InvenTree/models.py:677 msgid "Attachment with this filename already exists" msgstr "Priloga s tem imenom že obstaja" -#: InvenTree/models.py:670 +#: InvenTree/models.py:684 msgid "Error renaming file" msgstr "Napaka pri preimenovanju datoteke" -#: InvenTree/models.py:846 +#: InvenTree/models.py:860 msgid "Duplicate names cannot exist under the same parent" msgstr "Podvojena imena ne morejo obstajati pod istim nadrejenim elementom" -#: InvenTree/models.py:863 +#: InvenTree/models.py:877 msgid "Invalid choice" msgstr "Nedovoljena izbira" -#: InvenTree/models.py:893 common/models.py:2714 common/models.py:3112 -#: common/serializers.py:403 company/models.py:614 label/models.py:120 -#: machine/models.py:24 part/models.py:855 part/models.py:3616 -#: plugin/models.py:41 report/models.py:176 stock/models.py:76 +#: InvenTree/models.py:907 common/models.py:2720 common/models.py:3118 +#: common/serializers.py:403 company/models.py:614 machine/models.py:24 +#: part/models.py:898 part/models.py:3659 plugin/models.py:50 +#: report/models.py:149 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -503,22 +503,22 @@ msgstr "Nedovoljena izbira" #: templates/js/translated/company.js:1165 #: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186 #: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2719 +#: templates/js/translated/part.js:2748 templates/js/translated/stock.js:2716 msgid "Name" msgstr "Ime" -#: InvenTree/models.py:899 build/models.py:194 +#: InvenTree/models.py:913 build/models.py:217 #: build/templates/build/detail.html:24 common/models.py:136 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 label/models.py:127 -#: order/models.py:277 order/models.py:1316 part/admin.py:303 part/admin.py:414 -#: part/models.py:878 part/models.py:3631 part/templates/part/category.html:82 +#: company/templates/company/supplier_part.html:107 order/models.py:290 +#: order/models.py:1356 part/admin.py:305 part/admin.py:416 part/models.py:921 +#: part/models.py:3674 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 -#: part/templates/part/part_scheduling.html:12 report/models.py:189 -#: report/models.py:655 report/models.py:729 -#: report/templates/report/inventree_build_order_base.html:117 +#: part/templates/part/part_scheduling.html:12 report/models.py:155 +#: report/models.py:510 report/models.py:536 +#: report/templates/report/inventree_build_order_report.html:117 #: stock/admin.py:55 stock/models.py:82 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 @@ -530,71 +530,71 @@ msgstr "Ime" #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 -#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2896 +#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2354 +#: templates/js/translated/part.js:2784 templates/js/translated/part.js:2895 #: templates/js/translated/plugin.js:80 -#: templates/js/translated/purchase_order.js:1707 -#: templates/js/translated/purchase_order.js:1850 -#: templates/js/translated/purchase_order.js:2023 -#: templates/js/translated/return_order.js:314 -#: templates/js/translated/sales_order.js:802 -#: templates/js/translated/sales_order.js:1812 -#: templates/js/translated/stock.js:1515 templates/js/translated/stock.js:2060 -#: templates/js/translated/stock.js:2751 templates/js/translated/stock.js:2834 +#: templates/js/translated/purchase_order.js:1706 +#: templates/js/translated/purchase_order.js:1849 +#: templates/js/translated/purchase_order.js:2022 +#: templates/js/translated/return_order.js:313 +#: templates/js/translated/sales_order.js:838 +#: templates/js/translated/sales_order.js:1848 +#: templates/js/translated/stock.js:1515 templates/js/translated/stock.js:2058 +#: templates/js/translated/stock.js:2748 templates/js/translated/stock.js:2831 msgid "Description" msgstr "Opis" -#: InvenTree/models.py:900 stock/models.py:83 +#: InvenTree/models.py:914 stock/models.py:83 msgid "Description (optional)" msgstr "Opis (opcijsko)" -#: InvenTree/models.py:909 +#: InvenTree/models.py:923 msgid "parent" msgstr "nadrejen" -#: InvenTree/models.py:915 templates/js/translated/part.js:2794 -#: templates/js/translated/stock.js:2760 +#: InvenTree/models.py:929 templates/js/translated/part.js:2793 +#: templates/js/translated/stock.js:2757 msgid "Path" msgstr "Pot" -#: InvenTree/models.py:1021 +#: InvenTree/models.py:1035 msgid "Markdown notes (optional)" msgstr "Markdown opombe (neobvezno)" -#: InvenTree/models.py:1050 +#: InvenTree/models.py:1064 msgid "Barcode Data" msgstr "Podatki čtrne kode" -#: InvenTree/models.py:1051 +#: InvenTree/models.py:1065 msgid "Third party barcode data" msgstr "Podatki črtne kode tretje osebe" -#: InvenTree/models.py:1057 +#: InvenTree/models.py:1071 msgid "Barcode Hash" msgstr "Oznaka črtne kode" -#: InvenTree/models.py:1058 +#: InvenTree/models.py:1072 msgid "Unique hash of barcode data" msgstr "Enolična oznaka podatkov črtne kode" -#: InvenTree/models.py:1111 +#: InvenTree/models.py:1125 msgid "Existing barcode found" msgstr "Črtna koda že obstaja" -#: InvenTree/models.py:1154 +#: InvenTree/models.py:1168 msgid "Server Error" msgstr "Napaka strežnika" -#: InvenTree/models.py:1155 +#: InvenTree/models.py:1169 msgid "An error has been logged by the server." msgstr "Zaznana napaka na strežniku." -#: InvenTree/serializers.py:62 part/models.py:4169 +#: InvenTree/serializers.py:62 part/models.py:4212 msgid "Must be a valid number" msgstr "Mora biti veljavna številka" #: InvenTree/serializers.py:99 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:2993 +#: company/templates/company/company_base.html:112 part/models.py:3036 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -686,7 +686,7 @@ msgstr "Povezava do oddaljene slike" msgid "Downloading images from remote URL is not enabled" msgstr "Prenos slik iz oddaljene povezave ni omogočen" -#: InvenTree/status.py:66 part/serializers.py:1161 +#: InvenTree/status.py:66 part/serializers.py:1176 msgid "Background worker check failed" msgstr "Nadzor dela v ozadju neuspel" @@ -699,8 +699,8 @@ msgid "InvenTree system health checks failed" msgstr "Preverjanje zdravja sistema InvenTree neuspelo" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:37 -#: InvenTree/status_codes.py:148 InvenTree/status_codes.py:164 -#: InvenTree/status_codes.py:182 generic/states/tests.py:17 +#: InvenTree/status_codes.py:149 InvenTree/status_codes.py:165 +#: InvenTree/status_codes.py:183 generic/states/tests.py:17 #: templates/js/translated/table_filters.js:598 msgid "Pending" msgstr "V teku" @@ -709,188 +709,188 @@ msgstr "V teku" msgid "Placed" msgstr "Postavljeno" -#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:151 -#: InvenTree/status_codes.py:169 generic/states/tests.py:19 -#: order/templates/order/order_base.html:158 -#: order/templates/order/sales_order_base.html:161 +#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:44 +#: InvenTree/status_codes.py:152 InvenTree/status_codes.py:170 +#: generic/states/tests.py:19 order/templates/order/order_base.html:158 +#: order/templates/order/sales_order_base.html:165 report/models.py:444 msgid "Complete" msgstr "Končano" -#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:44 -#: InvenTree/status_codes.py:150 InvenTree/status_codes.py:170 +#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:45 +#: InvenTree/status_codes.py:151 InvenTree/status_codes.py:171 msgid "Cancelled" msgstr "Preklicano" -#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:45 -#: InvenTree/status_codes.py:67 +#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:46 +#: InvenTree/status_codes.py:68 msgid "Lost" msgstr "Izgubljeno" -#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:46 -#: InvenTree/status_codes.py:73 +#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:47 +#: InvenTree/status_codes.py:74 msgid "Returned" msgstr "Vrnjeno" -#: InvenTree/status_codes.py:40 InvenTree/status_codes.py:167 +#: InvenTree/status_codes.py:40 InvenTree/status_codes.py:168 msgid "In Progress" msgstr "V teku" -#: InvenTree/status_codes.py:43 order/models.py:1566 -#: templates/js/translated/sales_order.js:1523 -#: templates/js/translated/sales_order.js:1644 -#: templates/js/translated/sales_order.js:1957 +#: InvenTree/status_codes.py:43 order/models.py:1606 +#: templates/js/translated/sales_order.js:1559 +#: templates/js/translated/sales_order.js:1680 +#: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "Poslano" -#: InvenTree/status_codes.py:62 +#: InvenTree/status_codes.py:63 msgid "OK" msgstr "OK" -#: InvenTree/status_codes.py:63 +#: InvenTree/status_codes.py:64 msgid "Attention needed" msgstr "Potrebna pozornost" -#: InvenTree/status_codes.py:64 +#: InvenTree/status_codes.py:65 msgid "Damaged" msgstr "Poškodovano" -#: InvenTree/status_codes.py:65 +#: InvenTree/status_codes.py:66 msgid "Destroyed" msgstr "Uničeno" -#: InvenTree/status_codes.py:66 +#: InvenTree/status_codes.py:67 msgid "Rejected" msgstr "Zavrnjeno" -#: InvenTree/status_codes.py:70 +#: InvenTree/status_codes.py:71 msgid "Quarantined" msgstr "Dano v karanteno" -#: InvenTree/status_codes.py:91 +#: InvenTree/status_codes.py:92 msgid "Legacy stock tracking entry" msgstr "Vnos zaloge postavke" -#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:544 +#: InvenTree/status_codes.py:94 templates/js/translated/stock.js:544 msgid "Stock item created" msgstr "Postavka zaloge ustvarjena" -#: InvenTree/status_codes.py:96 +#: InvenTree/status_codes.py:97 msgid "Edited stock item" msgstr "Urejena postavka zaloge" -#: InvenTree/status_codes.py:97 +#: InvenTree/status_codes.py:98 msgid "Assigned serial number" msgstr "Dodeljena serijska številka" -#: InvenTree/status_codes.py:100 +#: InvenTree/status_codes.py:101 msgid "Stock counted" msgstr "Zaloga prešteta" -#: InvenTree/status_codes.py:101 +#: InvenTree/status_codes.py:102 msgid "Stock manually added" msgstr "Zaloga ročno dodana" -#: InvenTree/status_codes.py:102 +#: InvenTree/status_codes.py:103 msgid "Stock manually removed" msgstr "Zaloga ročno odstranjena" -#: InvenTree/status_codes.py:105 +#: InvenTree/status_codes.py:106 msgid "Location changed" msgstr "Lokacija spremenjena" -#: InvenTree/status_codes.py:106 +#: InvenTree/status_codes.py:107 msgid "Stock updated" msgstr "Zaloga posodobljena" -#: InvenTree/status_codes.py:109 +#: InvenTree/status_codes.py:110 msgid "Installed into assembly" msgstr "Vstavljeno v sestavo" -#: InvenTree/status_codes.py:110 +#: InvenTree/status_codes.py:111 msgid "Removed from assembly" msgstr "Odstranjeno iz sestave" -#: InvenTree/status_codes.py:112 +#: InvenTree/status_codes.py:113 msgid "Installed component item" msgstr "Vstavljena postavka komponente" -#: InvenTree/status_codes.py:113 +#: InvenTree/status_codes.py:114 msgid "Removed component item" msgstr "Odstranjena postavka komponente" -#: InvenTree/status_codes.py:116 +#: InvenTree/status_codes.py:117 msgid "Split from parent item" msgstr "Razdeljena od nadrejene postavke" -#: InvenTree/status_codes.py:117 +#: InvenTree/status_codes.py:118 msgid "Split child item" msgstr "Razdeljena podrejena postavka" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1858 +#: InvenTree/status_codes.py:121 templates/js/translated/stock.js:1858 msgid "Merged stock items" msgstr "Združena zaloga postavk" -#: InvenTree/status_codes.py:123 +#: InvenTree/status_codes.py:124 msgid "Converted to variant" msgstr "Spremenjeno v varianto" -#: InvenTree/status_codes.py:126 +#: InvenTree/status_codes.py:127 msgid "Build order output created" msgstr "Nalog za izgradnjo ustvarjen" -#: InvenTree/status_codes.py:127 +#: InvenTree/status_codes.py:128 msgid "Build order output completed" msgstr "Nalog za izgradnjo končan" -#: InvenTree/status_codes.py:128 +#: InvenTree/status_codes.py:129 msgid "Build order output rejected" msgstr "Nalog za izgradnjo zavrnjen" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1764 +#: InvenTree/status_codes.py:130 templates/js/translated/stock.js:1764 msgid "Consumed by build order" msgstr "Porabljeno v nalogu za izgradnjo" -#: InvenTree/status_codes.py:132 +#: InvenTree/status_codes.py:133 msgid "Shipped against Sales Order" msgstr "Poslano preko prodajnega naročila" -#: InvenTree/status_codes.py:135 +#: InvenTree/status_codes.py:136 msgid "Received against Purchase Order" msgstr "Prejeto preko nabavnega naročila" -#: InvenTree/status_codes.py:138 +#: InvenTree/status_codes.py:139 msgid "Returned against Return Order" msgstr "Vrnjeno preko naročila za vračilo" -#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:375 +#: InvenTree/status_codes.py:142 templates/js/translated/table_filters.js:375 msgid "Sent to customer" msgstr "Posalno stranki" -#: InvenTree/status_codes.py:142 +#: InvenTree/status_codes.py:143 msgid "Returned from customer" msgstr "Vrnjeno od stranke" -#: InvenTree/status_codes.py:149 +#: InvenTree/status_codes.py:150 msgid "Production" msgstr "Proizvodnja" -#: InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:186 msgid "Return" msgstr "" -#: InvenTree/status_codes.py:188 +#: InvenTree/status_codes.py:189 msgid "Repair" msgstr "" -#: InvenTree/status_codes.py:191 +#: InvenTree/status_codes.py:192 msgid "Replace" msgstr "" -#: InvenTree/status_codes.py:194 +#: InvenTree/status_codes.py:195 msgid "Refund" msgstr "" -#: InvenTree/status_codes.py:197 +#: InvenTree/status_codes.py:198 msgid "Reject" msgstr "" @@ -946,14 +946,14 @@ msgstr "O InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Izgradnja mora biti najprej preklicana, nato je lahko izbrisana" -#: build/api.py:299 part/models.py:4047 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4090 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4041 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4084 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -969,7 +969,7 @@ msgstr "" #: build/api.py:303 part/admin.py:144 templates/js/translated/build.js:1744 #: templates/js/translated/build.js:2629 -#: templates/js/translated/sales_order.js:1929 +#: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "" @@ -980,7 +980,7 @@ msgstr "" #: templates/email/low_stock_notification.html:17 #: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 #: templates/js/translated/index.js:123 -#: templates/js/translated/model_renderers.js:228 +#: templates/js/translated/model_renderers.js:234 #: templates/js/translated/part.js:692 templates/js/translated/part.js:694 #: templates/js/translated/part.js:699 #: templates/js/translated/table_filters.js:340 @@ -988,16 +988,16 @@ msgstr "" msgid "Available" msgstr "" -#: build/models.py:74 build/templates/build/build_base.html:9 +#: build/models.py:82 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 -#: report/templates/report/inventree_build_order_base.html:105 -#: templates/email/build_order_completed.html:16 +#: report/templates/report/inventree_build_order_report.html:105 +#: stock/serializers.py:83 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2895 +#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2892 msgid "Build Order" msgstr "Nalog izgradnje" -#: build/models.py:75 build/templates/build/build_base.html:13 +#: build/models.py:83 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -1008,71 +1008,71 @@ msgstr "Nalog izgradnje" msgid "Build Orders" msgstr "Nalogi izgradnje" -#: build/models.py:122 +#: build/models.py:130 msgid "Invalid choice for parent build" msgstr "Neveljavna izbira za nadrejeno izgradnjo" -#: build/models.py:133 order/models.py:239 +#: build/models.py:141 order/models.py:241 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:139 +#: build/models.py:147 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:185 +#: build/models.py:208 msgid "Build Order Reference" msgstr "Referenca naloga izgradnje" -#: build/models.py:186 order/models.py:442 order/models.py:898 -#: order/models.py:1276 order/models.py:1998 part/admin.py:417 -#: part/models.py:4062 part/templates/part/upload_bom.html:54 +#: build/models.py:209 order/models.py:464 order/models.py:929 +#: order/models.py:1316 order/models.py:2047 part/admin.py:419 +#: part/models.py:4105 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 -#: report/templates/report/inventree_so_report_base.html:28 +#: report/templates/report/inventree_purchase_order_report.html:28 +#: report/templates/report/inventree_return_order_report.html:26 +#: report/templates/report/inventree_sales_order_report.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 #: templates/js/translated/build.js:2512 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 -#: templates/js/translated/purchase_order.js:2066 -#: templates/js/translated/return_order.js:729 -#: templates/js/translated/sales_order.js:1818 +#: templates/js/translated/purchase_order.js:2065 +#: templates/js/translated/return_order.js:728 +#: templates/js/translated/sales_order.js:1854 msgid "Reference" msgstr "Referenca" -#: build/models.py:197 +#: build/models.py:220 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:205 build/templates/build/build_base.html:183 +#: build/models.py:228 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Nadrejena izgradnja" -#: build/models.py:206 +#: build/models.py:229 msgid "BuildOrder to which this build is allocated" msgstr "Nalog izgradnje na katerega se ta izgradnaj nanaša" -#: build/models.py:211 build/templates/build/build_base.html:97 +#: build/models.py:234 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 -#: order/models.py:1401 order/models.py:1546 order/models.py:1547 -#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004 -#: part/models.py:3148 part/models.py:3292 part/models.py:3315 -#: part/models.py:3336 part/models.py:3358 part/models.py:3468 -#: part/models.py:3764 part/models.py:3920 part/models.py:4013 -#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713 +#: order/models.py:1441 order/models.py:1586 order/models.py:1587 +#: part/api.py:1501 part/api.py:1795 part/models.py:392 part/models.py:3047 +#: part/models.py:3191 part/models.py:3335 part/models.py:3358 +#: part/models.py:3379 part/models.py:3401 part/models.py:3511 +#: part/models.py:3807 part/models.py:3963 part/models.py:4056 +#: part/models.py:4417 part/serializers.py:1122 part/serializers.py:1728 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 -#: report/templates/report/inventree_build_order_base.html:109 -#: report/templates/report/inventree_po_report_base.html:27 -#: report/templates/report/inventree_return_order_report_base.html:24 -#: report/templates/report/inventree_slr_report.html:102 -#: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:267 stock/serializers.py:689 -#: templates/InvenTree/search.html:82 +#: report/templates/report/inventree_build_order_report.html:109 +#: report/templates/report/inventree_purchase_order_report.html:27 +#: report/templates/report/inventree_return_order_report.html:24 +#: report/templates/report/inventree_sales_order_report.html:27 +#: report/templates/report/inventree_stock_location_report.html:102 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:396 +#: stock/serializers.py:818 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -1086,235 +1086,239 @@ msgstr "Nalog izgradnje na katerega se ta izgradnaj nanaša" #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 #: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 -#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:2323 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:751 #: templates/js/translated/purchase_order.js:1304 -#: templates/js/translated/purchase_order.js:1849 -#: templates/js/translated/purchase_order.js:2008 -#: templates/js/translated/return_order.js:539 -#: templates/js/translated/return_order.js:710 +#: templates/js/translated/purchase_order.js:1848 +#: templates/js/translated/purchase_order.js:2007 +#: templates/js/translated/return_order.js:538 +#: templates/js/translated/return_order.js:709 #: templates/js/translated/sales_order.js:300 -#: templates/js/translated/sales_order.js:1197 -#: templates/js/translated/sales_order.js:1598 -#: templates/js/translated/sales_order.js:1796 +#: templates/js/translated/sales_order.js:1233 +#: templates/js/translated/sales_order.js:1634 +#: templates/js/translated/sales_order.js:1832 #: templates/js/translated/stock.js:676 templates/js/translated/stock.js:842 -#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1999 -#: templates/js/translated/stock.js:2860 templates/js/translated/stock.js:3093 -#: templates/js/translated/stock.js:3239 +#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1997 +#: templates/js/translated/stock.js:2857 templates/js/translated/stock.js:3090 +#: templates/js/translated/stock.js:3236 msgid "Part" msgstr "Del" -#: build/models.py:219 +#: build/models.py:242 msgid "Select part to build" msgstr "Izberite del za izgradnjo" -#: build/models.py:224 +#: build/models.py:247 msgid "Sales Order Reference" msgstr "Referenca dobavnica" -#: build/models.py:228 +#: build/models.py:251 msgid "SalesOrder to which this build is allocated" msgstr "Dobavnica na katero se navezuje ta izgradnja" -#: build/models.py:233 build/serializers.py:970 +#: build/models.py:256 build/serializers.py:969 #: templates/js/translated/build.js:1731 -#: templates/js/translated/sales_order.js:1185 +#: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "Lokacija vira" -#: build/models.py:237 +#: build/models.py:260 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Izberite lokacijo dela za to izgradnjo (v primeru da ni pomembno pusti prazno)" -#: build/models.py:242 +#: build/models.py:265 msgid "Destination Location" msgstr "Ciljna lokacija" -#: build/models.py:246 +#: build/models.py:269 msgid "Select location where the completed items will be stored" msgstr "Izberite lokacijo, kjer bodo končne postavke shranjene" -#: build/models.py:250 +#: build/models.py:273 msgid "Build Quantity" msgstr "Količina izgradenj" -#: build/models.py:253 +#: build/models.py:276 msgid "Number of stock items to build" msgstr "Število postavk za izgradnjo" -#: build/models.py:257 +#: build/models.py:280 msgid "Completed items" msgstr "Končane postavke" -#: build/models.py:259 +#: build/models.py:282 msgid "Number of stock items which have been completed" msgstr "Število postavk zaloge, ki so bile končane" -#: build/models.py:263 +#: build/models.py:286 msgid "Build Status" msgstr "Status izgradnje" -#: build/models.py:267 +#: build/models.py:290 msgid "Build status code" msgstr "Koda statusa izgradnje" -#: build/models.py:276 build/serializers.py:278 order/serializers.py:581 -#: stock/models.py:823 stock/serializers.py:1333 +#: build/models.py:299 build/serializers.py:277 order/serializers.py:581 +#: stock/models.py:844 stock/serializers.py:75 stock/serializers.py:1462 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Številka serije" -#: build/models.py:280 build/serializers.py:279 +#: build/models.py:303 build/serializers.py:278 msgid "Batch code for this build output" msgstr "Številka serije za to izgradnjo" -#: build/models.py:283 order/models.py:304 order/serializers.py:120 -#: part/models.py:1079 part/templates/part/part_base.html:310 -#: templates/js/translated/return_order.js:339 -#: templates/js/translated/sales_order.js:827 +#: build/models.py:306 order/models.py:317 order/serializers.py:120 +#: part/models.py:1122 part/templates/part/part_base.html:310 +#: templates/js/translated/return_order.js:338 +#: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "Datum ustvarjenja" -#: build/models.py:287 +#: build/models.py:310 msgid "Target completion date" msgstr "Rok dokončanja" -#: build/models.py:288 +#: build/models.py:311 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:291 order/models.py:500 order/models.py:2043 +#: build/models.py:314 order/models.py:522 order/models.py:2092 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "Datom končanja" -#: build/models.py:297 +#: build/models.py:320 msgid "completed by" msgstr "dokončal" -#: build/models.py:305 templates/js/translated/build.js:2207 +#: build/models.py:328 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "Izdal" -#: build/models.py:306 +#: build/models.py:329 msgid "User who issued this build order" msgstr "Uporabnik, ki je izdal nalog za izgradnjo" -#: build/models.py:314 build/templates/build/build_base.html:204 +#: build/models.py:337 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:145 -#: order/models.py:322 order/templates/order/order_base.html:217 +#: order/models.py:335 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1096 +#: order/templates/order/sales_order_base.html:232 part/models.py:1139 #: part/templates/part/part_base.html:390 -#: report/templates/report/inventree_build_order_base.html:158 +#: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 #: templates/js/translated/build.js:2219 -#: templates/js/translated/purchase_order.js:1764 -#: templates/js/translated/return_order.js:359 +#: templates/js/translated/purchase_order.js:1763 +#: templates/js/translated/return_order.js:358 #: templates/js/translated/table_filters.js:531 msgid "Responsible" msgstr "Odgovoren" -#: build/models.py:315 +#: build/models.py:338 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:320 build/templates/build/detail.html:108 +#: build/models.py:343 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 -#: order/templates/order/sales_order_base.html:180 -#: part/templates/part/part_base.html:383 stock/models.py:819 +#: order/templates/order/sales_order_base.html:184 +#: part/templates/part/part_base.html:383 stock/models.py:840 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "Zunanja povezava" -#: build/models.py:325 +#: build/models.py:348 msgid "Build Priority" msgstr "" -#: build/models.py:328 +#: build/models.py:351 msgid "Priority of this build order" msgstr "" -#: build/models.py:335 common/models.py:129 order/admin.py:18 -#: order/models.py:286 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:358 common/models.py:129 order/admin.py:18 +#: order/models.py:299 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 -#: templates/js/translated/purchase_order.js:1711 -#: templates/js/translated/return_order.js:318 -#: templates/js/translated/sales_order.js:806 +#: templates/js/translated/purchase_order.js:1710 +#: templates/js/translated/return_order.js:317 +#: templates/js/translated/sales_order.js:842 #: templates/js/translated/table_filters.js:48 #: templates/project_code_data.html:6 msgid "Project Code" msgstr "" -#: build/models.py:336 +#: build/models.py:359 msgid "Project code for this build order" msgstr "" -#: build/models.py:566 build/models.py:631 +#: build/models.py:589 build/models.py:654 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:588 +#: build/models.py:611 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Nalog izgradnje {build} je dokončan" -#: build/models.py:594 +#: build/models.py:617 msgid "A build order has been completed" msgstr "Nalog izgradnej dokončan" -#: build/models.py:820 build/models.py:895 +#: build/models.py:843 build/models.py:918 msgid "No build output specified" msgstr "Ni določena izgradnja" -#: build/models.py:823 +#: build/models.py:846 msgid "Build output is already completed" msgstr "Igradnja je že dokončana" -#: build/models.py:826 +#: build/models.py:849 msgid "Build output does not match Build Order" msgstr "Izgradnja se ne ujema s nalogom izdelave" -#: build/models.py:899 build/serializers.py:221 build/serializers.py:260 -#: build/serializers.py:837 order/models.py:538 order/serializers.py:433 -#: order/serializers.py:576 part/serializers.py:1471 part/serializers.py:1871 -#: stock/models.py:662 stock/models.py:1482 stock/serializers.py:472 +#: build/models.py:922 build/serializers.py:220 build/serializers.py:259 +#: build/serializers.py:836 order/models.py:560 order/serializers.py:433 +#: order/serializers.py:576 part/serializers.py:1486 part/serializers.py:1886 +#: stock/models.py:683 stock/models.py:1503 stock/serializers.py:601 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:904 build/serializers.py:226 +#: build/models.py:927 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:961 build/serializers.py:539 +#: build/models.py:984 build/serializers.py:538 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1323 +#: build/models.py:1335 +msgid "Build Order Line Item" +msgstr "" + +#: build/models.py:1360 msgid "Build object" msgstr "" -#: build/models.py:1337 build/models.py:1593 build/serializers.py:208 -#: build/serializers.py:245 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2524 -#: order/models.py:1259 order/models.py:1918 order/serializers.py:1339 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 -#: part/forms.py:48 part/models.py:3162 part/models.py:4035 +#: build/models.py:1374 build/models.py:1630 build/serializers.py:207 +#: build/serializers.py:244 build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2530 +#: order/models.py:1299 order/models.py:1958 order/serializers.py:1339 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 +#: part/forms.py:48 part/models.py:3205 part/models.py:4078 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 -#: report/templates/report/inventree_build_order_base.html:113 -#: report/templates/report/inventree_po_report_base.html:29 -#: report/templates/report/inventree_slr_report.html:104 -#: report/templates/report/inventree_so_report_base.html:29 -#: report/templates/report/inventree_test_report_base.html:90 -#: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:160 stock/serializers.py:463 +#: report/templates/report/inventree_build_order_report.html:113 +#: report/templates/report/inventree_purchase_order_report.html:29 +#: report/templates/report/inventree_sales_order_report.html:29 +#: report/templates/report/inventree_stock_location_report.html:104 +#: report/templates/report/inventree_test_report.html:90 +#: report/templates/report/inventree_test_report.html:170 stock/admin.py:160 +#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:592 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1324,380 +1328,381 @@ msgstr "" #: templates/js/translated/build.js:737 templates/js/translated/build.js:1369 #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 -#: templates/js/translated/model_renderers.js:230 +#: templates/js/translated/model_renderers.js:236 #: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3341 +#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3340 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 #: templates/js/translated/purchase_order.js:754 -#: templates/js/translated/purchase_order.js:1853 -#: templates/js/translated/purchase_order.js:2072 +#: templates/js/translated/purchase_order.js:1852 +#: templates/js/translated/purchase_order.js:2071 #: templates/js/translated/sales_order.js:317 -#: templates/js/translated/sales_order.js:1199 -#: templates/js/translated/sales_order.js:1518 -#: templates/js/translated/sales_order.js:1608 -#: templates/js/translated/sales_order.js:1698 -#: templates/js/translated/sales_order.js:1824 +#: templates/js/translated/sales_order.js:1235 +#: templates/js/translated/sales_order.js:1554 +#: templates/js/translated/sales_order.js:1644 +#: templates/js/translated/sales_order.js:1734 +#: templates/js/translated/sales_order.js:1860 #: templates/js/translated/stock.js:564 templates/js/translated/stock.js:702 -#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:3024 -#: templates/js/translated/stock.js:3107 +#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:3021 +#: templates/js/translated/stock.js:3104 msgid "Quantity" msgstr "Količina" -#: build/models.py:1338 +#: build/models.py:1375 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1418 +#: build/models.py:1455 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Izdelana postavka mora imeti izgradnjo, če je glavni del označen kot sledljiv" -#: build/models.py:1427 +#: build/models.py:1464 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Prestavljena zaloga ({q}) ne sme presegati zaloge ({a})" -#: build/models.py:1437 order/models.py:1869 +#: build/models.py:1474 order/models.py:1909 msgid "Stock item is over-allocated" msgstr "Preveč zaloge je prestavljene" -#: build/models.py:1443 order/models.py:1872 +#: build/models.py:1480 order/models.py:1912 msgid "Allocation quantity must be greater than zero" msgstr "Prestavljena količina mora biti večja od 0" -#: build/models.py:1449 +#: build/models.py:1486 msgid "Quantity must be 1 for serialized stock" msgstr "Količina za zalogo s serijsko številko mora biti 1" -#: build/models.py:1508 +#: build/models.py:1545 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1580 build/serializers.py:817 order/serializers.py:1183 -#: order/serializers.py:1204 stock/serializers.py:566 stock/serializers.py:1052 -#: stock/serializers.py:1164 stock/templates/stock/item_base.html:10 +#: build/models.py:1617 build/serializers.py:816 order/serializers.py:1183 +#: order/serializers.py:1204 stock/models.py:364 stock/serializers.py:92 +#: stock/serializers.py:695 stock/serializers.py:1181 stock/serializers.py:1293 +#: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 #: templates/js/translated/build.js:1745 #: templates/js/translated/sales_order.js:301 -#: templates/js/translated/sales_order.js:1198 -#: templates/js/translated/sales_order.js:1499 -#: templates/js/translated/sales_order.js:1504 -#: templates/js/translated/sales_order.js:1605 -#: templates/js/translated/sales_order.js:1692 +#: templates/js/translated/sales_order.js:1234 +#: templates/js/translated/sales_order.js:1535 +#: templates/js/translated/sales_order.js:1540 +#: templates/js/translated/sales_order.js:1641 +#: templates/js/translated/sales_order.js:1728 #: templates/js/translated/stock.js:677 templates/js/translated/stock.js:843 -#: templates/js/translated/stock.js:2980 +#: templates/js/translated/stock.js:2977 msgid "Stock Item" msgstr "Postavka zaloge" -#: build/models.py:1581 +#: build/models.py:1618 msgid "Source stock item" msgstr "Izvorna postavka zaloge" -#: build/models.py:1594 +#: build/models.py:1631 msgid "Stock quantity to allocate to build" msgstr "Količina zaloge za prestavljanje za izgradnjo" -#: build/models.py:1602 +#: build/models.py:1639 msgid "Install into" msgstr "Inštaliraj v" -#: build/models.py:1603 +#: build/models.py:1640 msgid "Destination stock item" msgstr "Destinacija postavke zaloge" -#: build/serializers.py:158 build/serializers.py:846 +#: build/serializers.py:157 build/serializers.py:845 #: templates/js/translated/build.js:1322 msgid "Build Output" msgstr "Izgradnja" -#: build/serializers.py:170 +#: build/serializers.py:169 msgid "Build output does not match the parent build" msgstr "Izgradnja se ne ujema z nadrejeno izgradnjo" -#: build/serializers.py:174 +#: build/serializers.py:173 msgid "Output part does not match BuildOrder part" msgstr "Izhodni del se ne ujema s naročilom sestava" -#: build/serializers.py:178 +#: build/serializers.py:177 msgid "This build output has already been completed" msgstr "Ta sestava je že zaključena" -#: build/serializers.py:189 +#: build/serializers.py:188 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:209 build/serializers.py:246 +#: build/serializers.py:208 build/serializers.py:245 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:267 +#: build/serializers.py:266 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:270 +#: build/serializers.py:269 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:285 order/serializers.py:589 order/serializers.py:1343 -#: stock/serializers.py:483 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:284 order/serializers.py:589 order/serializers.py:1343 +#: stock/serializers.py:612 templates/js/translated/purchase_order.js:1153 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:286 +#: build/serializers.py:285 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:291 build/serializers.py:432 build/serializers.py:504 +#: build/serializers.py:290 build/serializers.py:431 build/serializers.py:503 #: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1679 -#: part/serializers.py:1127 stock/serializers.py:494 stock/serializers.py:654 -#: stock/serializers.py:750 stock/serializers.py:1196 stock/serializers.py:1452 -#: stock/templates/stock/item_base.html:394 +#: part/serializers.py:1142 stock/serializers.py:101 stock/serializers.py:623 +#: stock/serializers.py:783 stock/serializers.py:879 stock/serializers.py:1325 +#: stock/serializers.py:1581 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 #: templates/js/translated/purchase_order.js:1178 #: templates/js/translated/purchase_order.js:1268 -#: templates/js/translated/sales_order.js:1511 -#: templates/js/translated/sales_order.js:1619 -#: templates/js/translated/sales_order.js:1627 -#: templates/js/translated/sales_order.js:1706 +#: templates/js/translated/sales_order.js:1547 +#: templates/js/translated/sales_order.js:1655 +#: templates/js/translated/sales_order.js:1663 +#: templates/js/translated/sales_order.js:1742 #: templates/js/translated/stock.js:678 templates/js/translated/stock.js:844 -#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2203 -#: templates/js/translated/stock.js:2874 +#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2201 +#: templates/js/translated/stock.js:2871 msgid "Location" msgstr "" -#: build/serializers.py:292 +#: build/serializers.py:291 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:306 +#: build/serializers.py:305 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:307 +#: build/serializers.py:306 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:322 +#: build/serializers.py:321 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:347 stock/api.py:995 +#: build/serializers.py:346 stock/api.py:1029 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:394 build/serializers.py:456 build/serializers.py:545 +#: build/serializers.py:393 build/serializers.py:455 build/serializers.py:544 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:433 +#: build/serializers.py:432 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:439 +#: build/serializers.py:438 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:440 +#: build/serializers.py:439 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:445 +#: build/serializers.py:444 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:505 +#: build/serializers.py:504 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:511 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:922 -#: order/models.py:2022 order/serializers.py:597 stock/admin.py:165 -#: stock/serializers.py:801 stock/serializers.py:1340 +#: build/serializers.py:510 build/templates/build/build_base.html:151 +#: build/templates/build/detail.html:62 order/models.py:953 +#: order/models.py:2071 order/serializers.py:597 stock/admin.py:165 +#: stock/serializers.py:930 stock/serializers.py:1469 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 -#: templates/js/translated/purchase_order.js:1723 -#: templates/js/translated/return_order.js:331 -#: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2178 templates/js/translated/stock.js:2998 -#: templates/js/translated/stock.js:3123 +#: templates/js/translated/purchase_order.js:1722 +#: templates/js/translated/return_order.js:330 +#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/stock.js:2176 templates/js/translated/stock.js:2995 +#: templates/js/translated/stock.js:3120 msgid "Status" msgstr "" -#: build/serializers.py:517 +#: build/serializers.py:516 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:518 +#: build/serializers.py:517 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:598 +#: build/serializers.py:597 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:599 +#: build/serializers.py:598 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:605 +#: build/serializers.py:604 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:606 +#: build/serializers.py:605 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:633 +#: build/serializers.py:632 msgid "Not permitted" msgstr "" -#: build/serializers.py:634 +#: build/serializers.py:633 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:635 +#: build/serializers.py:634 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:657 +#: build/serializers.py:656 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:659 +#: build/serializers.py:658 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:669 +#: build/serializers.py:668 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:674 +#: build/serializers.py:673 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:675 +#: build/serializers.py:674 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:685 templates/js/translated/build.js:315 +#: build/serializers.py:684 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:690 order/serializers.py:301 order/serializers.py:1246 +#: build/serializers.py:689 order/serializers.py:301 order/serializers.py:1246 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:691 +#: build/serializers.py:690 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:701 templates/js/translated/build.js:319 +#: build/serializers.py:700 templates/js/translated/build.js:319 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:710 templates/js/translated/build.js:303 +#: build/serializers.py:709 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:740 +#: build/serializers.py:739 msgid "Build Line" msgstr "" -#: build/serializers.py:750 +#: build/serializers.py:749 msgid "Build output" msgstr "" -#: build/serializers.py:758 +#: build/serializers.py:757 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:794 +#: build/serializers.py:793 msgid "Build Line Item" msgstr "" -#: build/serializers.py:808 +#: build/serializers.py:807 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:823 stock/serializers.py:1065 +#: build/serializers.py:822 stock/serializers.py:1194 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:871 order/serializers.py:1237 +#: build/serializers.py:870 order/serializers.py:1237 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:877 +#: build/serializers.py:876 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:884 +#: build/serializers.py:883 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:908 order/serializers.py:1489 +#: build/serializers.py:907 order/serializers.py:1489 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:971 +#: build/serializers.py:970 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:979 +#: build/serializers.py:978 msgid "Exclude Location" msgstr "" -#: build/serializers.py:980 +#: build/serializers.py:979 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:985 +#: build/serializers.py:984 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:986 +#: build/serializers.py:985 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:991 +#: build/serializers.py:990 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:992 +#: build/serializers.py:991 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:997 +#: build/serializers.py:996 msgid "Optional Items" msgstr "" -#: build/serializers.py:998 +#: build/serializers.py:997 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1020 +#: build/serializers.py:1019 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1110 part/models.py:3930 part/models.py:4366 -#: stock/api.py:758 +#: build/serializers.py:1109 part/models.py:3973 part/models.py:4409 +#: stock/api.py:792 msgid "BOM Item" msgstr "" -#: build/serializers.py:1119 templates/js/translated/index.js:130 +#: build/serializers.py:1118 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1124 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:817 part/serializers.py:1489 +#: build/serializers.py:1123 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:832 part/serializers.py:1504 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 @@ -1705,15 +1710,15 @@ msgstr "" msgid "On Order" msgstr "" -#: build/serializers.py:1129 part/serializers.py:1491 +#: build/serializers.py:1128 part/serializers.py:1506 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1134 part/bom.py:172 part/serializers.py:1514 +#: build/serializers.py:1133 part/bom.py:172 part/serializers.py:1529 #: part/templates/part/part_base.html:192 -#: templates/js/translated/sales_order.js:1893 +#: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "" @@ -1842,18 +1847,18 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:297 -#: order/models.py:1294 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:310 +#: order/models.py:1334 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 -#: order/templates/order/sales_order_base.html:192 -#: report/templates/report/inventree_build_order_base.html:125 +#: order/templates/order/sales_order_base.html:196 +#: report/templates/report/inventree_build_order_report.html:125 #: templates/js/translated/build.js:2239 templates/js/translated/part.js:1830 -#: templates/js/translated/purchase_order.js:1740 -#: templates/js/translated/purchase_order.js:2148 -#: templates/js/translated/return_order.js:347 -#: templates/js/translated/return_order.js:751 -#: templates/js/translated/sales_order.js:835 -#: templates/js/translated/sales_order.js:1867 +#: templates/js/translated/purchase_order.js:1739 +#: templates/js/translated/purchase_order.js:2147 +#: templates/js/translated/return_order.js:346 +#: templates/js/translated/return_order.js:750 +#: templates/js/translated/sales_order.js:871 +#: templates/js/translated/sales_order.js:1903 msgid "Target Date" msgstr "" @@ -1866,7 +1871,7 @@ msgstr "" #: build/templates/build/build_base.html:222 #: order/templates/order/order_base.html:122 #: order/templates/order/return_order_base.html:117 -#: order/templates/order/sales_order_base.html:122 +#: order/templates/order/sales_order_base.html:126 #: templates/js/translated/table_filters.js:98 #: templates/js/translated/table_filters.js:524 #: templates/js/translated/table_filters.js:626 @@ -1880,24 +1885,24 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:1538 -#: order/models.py:1652 order/models.py:1806 +#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:848 +#: order/models.py:1578 order/models.py:1692 order/models.py:1846 #: 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 +#: report/templates/report/inventree_build_order_report.html:135 +#: report/templates/report/inventree_sales_order_report.html:14 #: stock/templates/stock/item_base.html:369 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:929 -#: templates/js/translated/sales_order.js:769 -#: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2927 +#: templates/js/translated/sales_order.js:805 +#: templates/js/translated/sales_order.js:1028 +#: templates/js/translated/stock.js:2924 msgid "Sales Order" msgstr "" #: build/templates/build/build_base.html:197 #: build/templates/build/detail.html:115 -#: report/templates/report/inventree_build_order_base.html:152 +#: report/templates/report/inventree_build_order_report.html:152 #: templates/js/translated/table_filters.js:24 msgid "Issued By" msgstr "" @@ -1907,15 +1912,15 @@ msgstr "" msgid "Priority" msgstr "" -#: build/templates/build/build_base.html:273 +#: build/templates/build/build_base.html:269 msgid "Delete Build Order" msgstr "" -#: build/templates/build/build_base.html:283 +#: build/templates/build/build_base.html:279 msgid "Build Order QR Code" msgstr "" -#: build/templates/build/build_base.html:295 +#: build/templates/build/build_base.html:291 msgid "Link Barcode to Build Order" msgstr "" @@ -1931,8 +1936,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1430 -#: templates/js/translated/purchase_order.js:2190 +#: build/templates/build/detail.html:49 order/models.py:1470 +#: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "" @@ -1947,10 +1952,10 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 #: templates/js/translated/build.js:1380 -#: templates/js/translated/model_renderers.js:235 +#: templates/js/translated/model_renderers.js:241 #: templates/js/translated/purchase_order.js:1274 -#: templates/js/translated/stock.js:1133 templates/js/translated/stock.js:2192 -#: templates/js/translated/stock.js:3130 +#: templates/js/translated/stock.js:1133 templates/js/translated/stock.js:2190 +#: templates/js/translated/stock.js:3127 #: templates/js/translated/table_filters.js:313 #: templates/js/translated/table_filters.js:404 msgid "Batch" @@ -1959,7 +1964,7 @@ msgstr "" #: build/templates/build/detail.html:133 #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:151 -#: order/templates/order/sales_order_base.html:186 +#: order/templates/order/sales_order_base.html:190 #: templates/js/translated/build.js:2199 msgid "Created" msgstr "" @@ -1969,7 +1974,7 @@ msgid "No target date set" msgstr "" #: build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:202 +#: order/templates/order/sales_order_base.html:206 #: templates/js/translated/table_filters.js:689 msgid "Completed" msgstr "" @@ -2260,8 +2265,8 @@ msgstr "" #: common/models.py:1316 common/models.py:1372 common/models.py:1385 #: common/models.py:1393 common/models.py:1402 common/models.py:1411 -#: common/models.py:1613 common/models.py:1635 common/models.py:1750 -#: common/models.py:2061 +#: common/models.py:1619 common/models.py:1641 common/models.py:1756 +#: common/models.py:2067 msgid "days" msgstr "" @@ -2402,1209 +2407,1218 @@ msgid "Enable revision field for Part" msgstr "" #: common/models.py:1440 -msgid "IPN Regex" +msgid "Allow Deletion from Assembly" msgstr "" #: common/models.py:1441 +msgid "Allow deletion of parts which are used in an assembly" +msgstr "" + +#: common/models.py:1446 +msgid "IPN Regex" +msgstr "" + +#: common/models.py:1447 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1444 +#: common/models.py:1450 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1445 +#: common/models.py:1451 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1450 +#: common/models.py:1456 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1451 +#: common/models.py:1457 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1456 +#: common/models.py:1462 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1457 +#: common/models.py:1463 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1462 +#: common/models.py:1468 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1463 +#: common/models.py:1469 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1468 +#: common/models.py:1474 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1469 +#: common/models.py:1475 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1474 +#: common/models.py:1480 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1475 +#: common/models.py:1481 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1480 part/admin.py:108 part/models.py:3772 -#: report/models.py:182 stock/serializers.py:99 +#: common/models.py:1486 part/admin.py:108 part/models.py:3815 +#: report/models.py:294 report/models.py:361 report/serializers.py:90 +#: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:767 msgid "Template" msgstr "" -#: common/models.py:1481 +#: common/models.py:1487 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1486 part/admin.py:91 part/admin.py:431 part/models.py:1016 +#: common/models.py:1492 part/admin.py:91 part/admin.py:433 part/models.py:1059 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "" -#: common/models.py:1487 +#: common/models.py:1493 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1492 part/admin.py:95 part/models.py:1022 +#: common/models.py:1498 part/admin.py:95 part/models.py:1065 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "" -#: common/models.py:1493 +#: common/models.py:1499 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1498 part/admin.py:100 part/models.py:1034 +#: common/models.py:1504 part/admin.py:100 part/models.py:1077 msgid "Purchaseable" msgstr "" -#: common/models.py:1499 +#: common/models.py:1505 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1504 part/admin.py:104 part/models.py:1040 +#: common/models.py:1510 part/admin.py:104 part/models.py:1083 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "" -#: common/models.py:1505 +#: common/models.py:1511 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1510 part/admin.py:113 part/models.py:1028 +#: common/models.py:1516 part/admin.py:113 part/models.py:1071 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "" -#: common/models.py:1511 +#: common/models.py:1517 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1516 part/admin.py:117 part/models.py:1050 +#: common/models.py:1522 part/admin.py:117 part/models.py:1093 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "" -#: common/models.py:1517 +#: common/models.py:1523 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1522 +#: common/models.py:1528 msgid "Show Import in Views" msgstr "" -#: common/models.py:1523 +#: common/models.py:1529 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1528 +#: common/models.py:1534 msgid "Show related parts" msgstr "" -#: common/models.py:1529 +#: common/models.py:1535 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1534 +#: common/models.py:1540 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1535 +#: common/models.py:1541 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1540 templates/js/translated/part.js:107 +#: common/models.py:1546 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1542 +#: common/models.py:1548 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1548 +#: common/models.py:1554 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1549 +#: common/models.py:1555 msgid "Format to display the part name" msgstr "" -#: common/models.py:1555 +#: common/models.py:1561 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1556 +#: common/models.py:1562 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1560 +#: common/models.py:1566 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1562 +#: common/models.py:1568 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1568 +#: common/models.py:1574 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1570 +#: common/models.py:1576 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1576 +#: common/models.py:1582 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1578 +#: common/models.py:1584 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1584 +#: common/models.py:1590 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1586 +#: common/models.py:1592 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1592 +#: common/models.py:1598 msgid "Purchase History Override" msgstr "" -#: common/models.py:1594 +#: common/models.py:1600 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1600 +#: common/models.py:1606 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1602 +#: common/models.py:1608 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1608 +#: common/models.py:1614 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1610 +#: common/models.py:1616 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1617 +#: common/models.py:1623 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1618 +#: common/models.py:1624 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1623 +#: common/models.py:1629 msgid "Active Variants Only" msgstr "" -#: common/models.py:1625 +#: common/models.py:1631 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1631 +#: common/models.py:1637 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1633 +#: common/models.py:1639 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1640 +#: common/models.py:1646 msgid "Internal Prices" msgstr "" -#: common/models.py:1641 +#: common/models.py:1647 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1646 +#: common/models.py:1652 msgid "Internal Price Override" msgstr "" -#: common/models.py:1648 +#: common/models.py:1654 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1654 +#: common/models.py:1660 msgid "Enable label printing" msgstr "" -#: common/models.py:1655 +#: common/models.py:1661 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1660 +#: common/models.py:1666 msgid "Label Image DPI" msgstr "" -#: common/models.py:1662 +#: common/models.py:1668 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1668 +#: common/models.py:1674 msgid "Enable Reports" msgstr "" -#: common/models.py:1669 +#: common/models.py:1675 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1674 templates/stats.html:25 +#: common/models.py:1680 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1675 +#: common/models.py:1681 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1680 +#: common/models.py:1686 msgid "Log Report Errors" msgstr "" -#: common/models.py:1681 +#: common/models.py:1687 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1686 plugin/builtin/labels/label_sheet.py:28 -#: report/models.py:203 +#: common/models.py:1692 plugin/builtin/labels/label_sheet.py:28 +#: report/models.py:302 msgid "Page Size" msgstr "" -#: common/models.py:1687 +#: common/models.py:1693 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1692 +#: common/models.py:1698 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1693 +#: common/models.py:1699 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1698 +#: common/models.py:1704 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1700 +#: common/models.py:1706 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1706 +#: common/models.py:1712 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1707 +#: common/models.py:1713 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1712 +#: common/models.py:1718 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1713 +#: common/models.py:1719 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1718 +#: common/models.py:1724 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1720 +#: common/models.py:1726 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1726 +#: common/models.py:1732 msgid "Batch Code Template" msgstr "" -#: common/models.py:1728 +#: common/models.py:1734 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1733 +#: common/models.py:1739 msgid "Stock Expiry" msgstr "" -#: common/models.py:1734 +#: common/models.py:1740 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1739 +#: common/models.py:1745 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1740 +#: common/models.py:1746 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1745 +#: common/models.py:1751 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1747 +#: common/models.py:1753 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1754 +#: common/models.py:1760 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1755 +#: common/models.py:1761 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1760 +#: common/models.py:1766 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1761 +#: common/models.py:1767 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1766 +#: common/models.py:1772 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1767 +#: common/models.py:1773 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1771 +#: common/models.py:1777 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1772 +#: common/models.py:1778 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1777 +#: common/models.py:1783 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1779 +#: common/models.py:1785 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1785 +#: common/models.py:1791 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1787 +#: common/models.py:1793 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1793 +#: common/models.py:1799 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1795 +#: common/models.py:1801 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1801 common/models.py:1829 common/models.py:1851 -#: common/models.py:1879 +#: common/models.py:1807 common/models.py:1835 common/models.py:1857 +#: common/models.py:1885 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1802 common/models.py:1830 common/models.py:1852 -#: common/models.py:1880 +#: common/models.py:1808 common/models.py:1836 common/models.py:1858 +#: common/models.py:1886 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1807 +#: common/models.py:1813 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1809 +#: common/models.py:1815 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1815 +#: common/models.py:1821 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1816 +#: common/models.py:1822 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1821 +#: common/models.py:1827 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1823 +#: common/models.py:1829 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1835 +#: common/models.py:1841 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1837 +#: common/models.py:1843 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1843 +#: common/models.py:1849 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1845 +#: common/models.py:1851 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1857 +#: common/models.py:1863 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1858 +#: common/models.py:1864 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1863 +#: common/models.py:1869 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1865 +#: common/models.py:1871 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1871 +#: common/models.py:1877 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1873 +#: common/models.py:1879 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1885 +#: common/models.py:1891 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1887 +#: common/models.py:1893 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1893 +#: common/models.py:1899 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1895 +#: common/models.py:1901 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1902 +#: common/models.py:1908 msgid "Enable password forgot" msgstr "" -#: common/models.py:1903 +#: common/models.py:1909 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1908 +#: common/models.py:1914 msgid "Enable registration" msgstr "" -#: common/models.py:1909 +#: common/models.py:1915 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1914 +#: common/models.py:1920 msgid "Enable SSO" msgstr "" -#: common/models.py:1915 +#: common/models.py:1921 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1920 +#: common/models.py:1926 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1922 +#: common/models.py:1928 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1928 +#: common/models.py:1934 msgid "Email required" msgstr "" -#: common/models.py:1929 +#: common/models.py:1935 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1934 +#: common/models.py:1940 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1936 +#: common/models.py:1942 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1942 +#: common/models.py:1948 msgid "Mail twice" msgstr "" -#: common/models.py:1943 +#: common/models.py:1949 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1948 +#: common/models.py:1954 msgid "Password twice" msgstr "" -#: common/models.py:1949 +#: common/models.py:1955 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1954 +#: common/models.py:1960 msgid "Allowed domains" msgstr "" -#: common/models.py:1956 +#: common/models.py:1962 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1962 +#: common/models.py:1968 msgid "Group on signup" msgstr "" -#: common/models.py:1963 +#: common/models.py:1969 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1968 +#: common/models.py:1974 msgid "Enforce MFA" msgstr "" -#: common/models.py:1969 +#: common/models.py:1975 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1974 +#: common/models.py:1980 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1976 +#: common/models.py:1982 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1984 +#: common/models.py:1990 msgid "Check for plugin updates" msgstr "" -#: common/models.py:1985 +#: common/models.py:1991 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:1991 +#: common/models.py:1997 msgid "Enable URL integration" msgstr "" -#: common/models.py:1992 +#: common/models.py:1998 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1998 +#: common/models.py:2004 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1999 +#: common/models.py:2005 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2005 +#: common/models.py:2011 msgid "Enable app integration" msgstr "" -#: common/models.py:2006 +#: common/models.py:2012 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2012 +#: common/models.py:2018 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2013 +#: common/models.py:2019 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2019 +#: common/models.py:2025 msgid "Enable event integration" msgstr "" -#: common/models.py:2020 +#: common/models.py:2026 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2026 +#: common/models.py:2032 msgid "Enable project codes" msgstr "" -#: common/models.py:2027 +#: common/models.py:2033 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2032 +#: common/models.py:2038 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2034 +#: common/models.py:2040 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2040 +#: common/models.py:2046 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2042 +#: common/models.py:2048 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2048 +#: common/models.py:2054 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2050 +#: common/models.py:2056 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2056 +#: common/models.py:2062 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2058 +#: common/models.py:2064 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2065 +#: common/models.py:2071 msgid "Display Users full names" msgstr "" -#: common/models.py:2066 +#: common/models.py:2072 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2071 +#: common/models.py:2077 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2072 +#: common/models.py:2078 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2084 common/models.py:2494 +#: common/models.py:2090 common/models.py:2500 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2127 +#: common/models.py:2133 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2129 +#: common/models.py:2135 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2135 +#: common/models.py:2141 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2136 +#: common/models.py:2142 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2141 +#: common/models.py:2147 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2142 +#: common/models.py:2148 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2147 +#: common/models.py:2153 msgid "Show latest parts" msgstr "" -#: common/models.py:2148 +#: common/models.py:2154 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2153 +#: common/models.py:2159 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2154 +#: common/models.py:2160 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2159 +#: common/models.py:2165 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2160 +#: common/models.py:2166 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2165 +#: common/models.py:2171 msgid "Show low stock" msgstr "" -#: common/models.py:2166 +#: common/models.py:2172 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2171 +#: common/models.py:2177 msgid "Show depleted stock" msgstr "" -#: common/models.py:2172 +#: common/models.py:2178 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2177 +#: common/models.py:2183 msgid "Show needed stock" msgstr "" -#: common/models.py:2178 +#: common/models.py:2184 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2183 +#: common/models.py:2189 msgid "Show expired stock" msgstr "" -#: common/models.py:2184 +#: common/models.py:2190 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2189 +#: common/models.py:2195 msgid "Show stale stock" msgstr "" -#: common/models.py:2190 +#: common/models.py:2196 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2195 +#: common/models.py:2201 msgid "Show pending builds" msgstr "" -#: common/models.py:2196 +#: common/models.py:2202 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2201 +#: common/models.py:2207 msgid "Show overdue builds" msgstr "" -#: common/models.py:2202 +#: common/models.py:2208 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2207 +#: common/models.py:2213 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2208 +#: common/models.py:2214 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2213 +#: common/models.py:2219 msgid "Show overdue POs" msgstr "" -#: common/models.py:2214 +#: common/models.py:2220 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2219 +#: common/models.py:2225 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2220 +#: common/models.py:2226 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2225 +#: common/models.py:2231 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2226 +#: common/models.py:2232 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2231 +#: common/models.py:2237 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2232 +#: common/models.py:2238 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2237 +#: common/models.py:2243 msgid "Show News" msgstr "" -#: common/models.py:2238 +#: common/models.py:2244 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2243 +#: common/models.py:2249 msgid "Inline label display" msgstr "" -#: common/models.py:2245 +#: common/models.py:2251 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2251 +#: common/models.py:2257 msgid "Default label printer" msgstr "" -#: common/models.py:2253 +#: common/models.py:2259 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2259 +#: common/models.py:2265 msgid "Inline report display" msgstr "" -#: common/models.py:2261 +#: common/models.py:2267 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2267 +#: common/models.py:2273 msgid "Search Parts" msgstr "" -#: common/models.py:2268 +#: common/models.py:2274 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2273 +#: common/models.py:2279 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2274 +#: common/models.py:2280 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2279 +#: common/models.py:2285 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2280 +#: common/models.py:2286 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2285 +#: common/models.py:2291 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2286 +#: common/models.py:2292 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2291 +#: common/models.py:2297 msgid "Search Categories" msgstr "" -#: common/models.py:2292 +#: common/models.py:2298 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2297 +#: common/models.py:2303 msgid "Search Stock" msgstr "" -#: common/models.py:2298 +#: common/models.py:2304 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2303 +#: common/models.py:2309 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2305 +#: common/models.py:2311 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2311 +#: common/models.py:2317 msgid "Search Locations" msgstr "" -#: common/models.py:2312 +#: common/models.py:2318 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2317 +#: common/models.py:2323 msgid "Search Companies" msgstr "" -#: common/models.py:2318 +#: common/models.py:2324 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2323 +#: common/models.py:2329 msgid "Search Build Orders" msgstr "" -#: common/models.py:2324 +#: common/models.py:2330 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2329 +#: common/models.py:2335 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2330 +#: common/models.py:2336 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2335 +#: common/models.py:2341 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2337 +#: common/models.py:2343 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2343 +#: common/models.py:2349 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2344 +#: common/models.py:2350 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2349 +#: common/models.py:2355 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2351 +#: common/models.py:2357 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2357 +#: common/models.py:2363 msgid "Search Return Orders" msgstr "" -#: common/models.py:2358 +#: common/models.py:2364 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2363 +#: common/models.py:2369 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2365 +#: common/models.py:2371 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2371 +#: common/models.py:2377 msgid "Search Preview Results" msgstr "" -#: common/models.py:2373 +#: common/models.py:2379 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2379 +#: common/models.py:2385 msgid "Regex Search" msgstr "" -#: common/models.py:2380 +#: common/models.py:2386 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2385 +#: common/models.py:2391 msgid "Whole Word Search" msgstr "" -#: common/models.py:2386 +#: common/models.py:2392 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2391 +#: common/models.py:2397 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2392 +#: common/models.py:2398 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2397 +#: common/models.py:2403 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2398 +#: common/models.py:2404 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2403 +#: common/models.py:2409 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2404 +#: common/models.py:2410 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2409 +#: common/models.py:2415 msgid "Date Format" msgstr "" -#: common/models.py:2410 +#: common/models.py:2416 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2423 part/templates/part/detail.html:41 +#: common/models.py:2429 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2424 +#: common/models.py:2430 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2429 part/templates/part/detail.html:62 +#: common/models.py:2435 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2431 +#: common/models.py:2437 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2437 +#: common/models.py:2443 msgid "Table String Length" msgstr "" -#: common/models.py:2439 +#: common/models.py:2445 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2445 +#: common/models.py:2451 msgid "Default part label template" msgstr "" -#: common/models.py:2446 +#: common/models.py:2452 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2451 +#: common/models.py:2457 msgid "Default stock item template" msgstr "" -#: common/models.py:2453 +#: common/models.py:2459 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2459 +#: common/models.py:2465 msgid "Default stock location label template" msgstr "" -#: common/models.py:2461 +#: common/models.py:2467 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2467 +#: common/models.py:2473 msgid "Default build line label template" msgstr "" -#: common/models.py:2469 +#: common/models.py:2475 msgid "The build line label template to be automatically selected" msgstr "" -#: common/models.py:2475 +#: common/models.py:2481 msgid "Receive error reports" msgstr "" -#: common/models.py:2476 +#: common/models.py:2482 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2481 +#: common/models.py:2487 msgid "Last used printing machines" msgstr "" -#: common/models.py:2482 +#: common/models.py:2488 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2525 +#: common/models.py:2531 msgid "Price break quantity" msgstr "" -#: common/models.py:2532 company/serializers.py:496 order/admin.py:42 -#: order/models.py:1333 order/models.py:2243 +#: common/models.py:2538 company/serializers.py:496 order/admin.py:42 +#: order/models.py:1373 order/models.py:2292 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 -#: templates/js/translated/return_order.js:741 +#: templates/js/translated/return_order.js:740 msgid "Price" msgstr "" -#: common/models.py:2533 +#: common/models.py:2539 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2704 common/models.py:2889 +#: common/models.py:2710 common/models.py:2895 msgid "Endpoint" msgstr "" -#: common/models.py:2705 +#: common/models.py:2711 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2715 +#: common/models.py:2721 msgid "Name for this webhook" msgstr "" -#: common/models.py:2719 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1045 -#: plugin/models.py:56 templates/js/translated/company.js:523 +#: common/models.py:2725 company/models.py:160 company/models.py:814 +#: machine/models.py:39 part/admin.py:88 part/models.py:1088 +#: plugin/models.py:65 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:492 @@ -3614,135 +3628,135 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2719 +#: common/models.py:2725 msgid "Is this webhook active" msgstr "" -#: common/models.py:2735 users/models.py:159 +#: common/models.py:2741 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2736 +#: common/models.py:2742 msgid "Token for access" msgstr "" -#: common/models.py:2744 +#: common/models.py:2750 msgid "Secret" msgstr "" -#: common/models.py:2745 +#: common/models.py:2751 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2853 +#: common/models.py:2859 msgid "Message ID" msgstr "" -#: common/models.py:2854 +#: common/models.py:2860 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2862 +#: common/models.py:2868 msgid "Host" msgstr "" -#: common/models.py:2863 +#: common/models.py:2869 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2871 +#: common/models.py:2877 msgid "Header" msgstr "" -#: common/models.py:2872 +#: common/models.py:2878 msgid "Header of this message" msgstr "" -#: common/models.py:2879 +#: common/models.py:2885 msgid "Body" msgstr "" -#: common/models.py:2880 +#: common/models.py:2886 msgid "Body of this message" msgstr "" -#: common/models.py:2890 +#: common/models.py:2896 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2895 +#: common/models.py:2901 msgid "Worked on" msgstr "" -#: common/models.py:2896 +#: common/models.py:2902 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3022 +#: common/models.py:3028 msgid "Id" msgstr "" -#: common/models.py:3024 templates/js/translated/company.js:965 +#: common/models.py:3030 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3028 templates/js/translated/news.js:60 +#: common/models.py:3034 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3030 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3036 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3032 templates/js/translated/news.js:52 +#: common/models.py:3038 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3035 +#: common/models.py:3041 msgid "Read" msgstr "" -#: common/models.py:3035 +#: common/models.py:3041 msgid "Was this news item read?" msgstr "" -#: common/models.py:3052 company/models.py:156 part/models.py:929 +#: common/models.py:3058 company/models.py:156 part/models.py:972 #: 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 +#: report/templates/report/inventree_return_order_report.html:35 #: stock/templates/stock/item_base.html:133 templates/503.html:31 #: templates/hover_image.html:7 templates/hover_image.html:9 #: templates/modals.html:6 msgid "Image" msgstr "" -#: common/models.py:3052 +#: common/models.py:3058 msgid "Image file" msgstr "" -#: common/models.py:3094 +#: common/models.py:3100 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3113 +#: common/models.py:3119 msgid "Unit name" msgstr "" -#: common/models.py:3120 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3126 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3121 +#: common/models.py:3127 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3128 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3134 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3129 +#: common/models.py:3135 msgid "Unit definition" msgstr "" @@ -3929,9 +3943,9 @@ msgid "Contact email address" msgstr "" #: company/models.py:139 company/templates/company/company_base.html:145 -#: order/models.py:331 order/templates/order/order_base.html:203 +#: order/models.py:344 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 -#: order/templates/order/sales_order_base.html:214 +#: order/templates/order/sales_order_base.html:218 msgid "Contact" msgstr "" @@ -3977,7 +3991,7 @@ msgstr "" #: company/models.py:273 company/models.py:382 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:776 +#: company/templates/company/company_base.html:12 stock/api.py:810 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "" @@ -4069,8 +4083,8 @@ msgstr "" msgid "Link to address information (external)" msgstr "" -#: company/models.py:489 company/models.py:792 stock/models.py:751 -#: stock/serializers.py:266 stock/templates/stock/item_base.html:142 +#: company/models.py:489 company/models.py:792 stock/models.py:772 +#: stock/serializers.py:395 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -4081,7 +4095,7 @@ msgstr "" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:515 +#: company/templates/company/supplier_part.html:145 part/serializers.py:530 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4096,13 +4110,13 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:525 +#: company/templates/company/supplier_part.html:153 part/serializers.py:540 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800 -#: templates/js/translated/purchase_order.js:1852 -#: templates/js/translated/purchase_order.js:2054 +#: templates/js/translated/purchase_order.js:1851 +#: templates/js/translated/purchase_order.js:2053 msgid "MPN" msgstr "" @@ -4129,9 +4143,8 @@ msgstr "" msgid "Parameter name" msgstr "" -#: company/models.py:621 -#: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2448 templates/js/translated/company.js:1166 +#: company/models.py:621 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2425 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492 #: templates/js/translated/stock.js:1522 msgid "Value" @@ -4142,10 +4155,10 @@ msgid "Parameter value" msgstr "" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1009 part/models.py:3623 +#: part/admin.py:57 part/models.py:1052 part/models.py:3666 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 -#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370 +#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 msgid "Units" msgstr "" @@ -4166,9 +4179,9 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:465 +#: company/templates/company/supplier_part.html:129 order/models.py:487 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:499 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:514 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4176,7 +4189,7 @@ msgstr "" #: templates/js/translated/company.js:511 #: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1690 +#: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/table_filters.js:804 msgid "Supplier" msgstr "" @@ -4185,7 +4198,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:809 part/serializers.py:510 +#: company/models.py:809 part/serializers.py:525 msgid "Supplier stock keeping unit" msgstr "" @@ -4206,29 +4219,29 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:418 part/models.py:4070 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4113 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 -#: report/templates/report/inventree_slr_report.html:105 -#: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:579 +#: report/templates/report/inventree_purchase_order_report.html:32 +#: report/templates/report/inventree_return_order_report.html:27 +#: report/templates/report/inventree_sales_order_report.html:32 +#: report/templates/report/inventree_stock_location_report.html:105 +#: stock/serializers.py:708 msgid "Note" msgstr "" -#: company/models.py:857 part/models.py:1967 +#: company/models.py:857 part/models.py:2010 msgid "base cost" msgstr "" -#: company/models.py:858 part/models.py:1968 +#: company/models.py:858 part/models.py:2011 msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:782 stock/serializers.py:1350 +#: stock/admin.py:224 stock/models.py:803 stock/serializers.py:1479 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 -#: templates/js/translated/stock.js:2426 +#: templates/js/translated/stock.js:2424 msgid "Packaging" msgstr "" @@ -4241,8 +4254,8 @@ msgstr "" #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 -#: templates/js/translated/purchase_order.js:2085 -#: templates/js/translated/purchase_order.js:2102 +#: templates/js/translated/purchase_order.js:2084 +#: templates/js/translated/purchase_order.js:2101 msgid "Pack Quantity" msgstr "" @@ -4250,7 +4263,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:892 part/models.py:1974 +#: company/models.py:892 part/models.py:2017 msgid "multiple" msgstr "" @@ -4285,7 +4298,7 @@ msgstr "" #: part/templates/part/part_base.html:146 #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 -#: templates/js/translated/model_renderers.js:306 +#: templates/js/translated/model_renderers.js:312 #: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 msgid "Inactive" msgstr "" @@ -4321,11 +4334,11 @@ msgstr "" #: company/templates/company/manufacturer_part.html:51 #: company/templates/company/supplier_part.html:83 #: part/templates/part/part_thumb.html:20 -#: report/templates/report/inventree_build_order_base.html:98 -#: report/templates/report/inventree_po_report_base.html:40 -#: report/templates/report/inventree_so_report_base.html:40 -#: report/templates/report/inventree_test_report_base.html:84 -#: report/templates/report/inventree_test_report_base.html:163 +#: report/templates/report/inventree_build_order_report.html:98 +#: report/templates/report/inventree_purchase_order_report.html:40 +#: report/templates/report/inventree_sales_order_report.html:40 +#: report/templates/report/inventree_test_report.html:84 +#: report/templates/report/inventree_test_report.html:163 msgid "Part image" msgstr "" @@ -4344,16 +4357,16 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:92 order/models.py:910 -#: order/models.py:2010 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:144 stock/models.py:804 -#: stock/models.py:805 stock/serializers.py:1100 +#: company/templates/company/company_base.html:92 order/models.py:941 +#: order/models.py:2059 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:148 stock/models.py:825 +#: stock/models.py:826 stock/serializers.py:1229 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 -#: templates/js/translated/return_order.js:296 -#: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2962 +#: templates/js/translated/return_order.js:295 +#: templates/js/translated/sales_order.js:820 +#: templates/js/translated/stock.js:2959 #: templates/js/translated/table_filters.js:808 msgid "Customer" msgstr "" @@ -4362,10 +4375,10 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:124 order/models.py:341 +#: company/templates/company/company_base.html:124 order/models.py:354 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 -#: order/templates/order/sales_order_base.html:221 +#: order/templates/order/sales_order_base.html:225 msgid "Address" msgstr "" @@ -4374,7 +4387,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:211 -#: part/templates/part/part_base.html:528 +#: part/templates/part/part_base.html:527 msgid "Remove Image" msgstr "" @@ -4383,19 +4396,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:214 -#: part/templates/part/part_base.html:531 +#: part/templates/part/part_base.html:530 #: templates/InvenTree/settings/user.html:88 #: templates/InvenTree/settings/user_sso.html:43 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:243 -#: part/templates/part/part_base.html:560 +#: part/templates/part/part_base.html:559 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:258 -#: part/templates/part/part_base.html:614 +#: part/templates/part/part_base.html:613 msgid "Download Image" msgstr "" @@ -4558,7 +4571,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:821 +#: part/admin.py:122 part/serializers.py:836 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4609,10 +4622,10 @@ msgstr "" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:452 -#: stock/models.py:762 stock/templates/stock/item_base.html:233 +#: stock/models.py:783 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 -#: templates/js/translated/stock.js:2282 +#: templates/js/translated/stock.js:2280 msgid "Supplier Part" msgstr "" @@ -4658,11 +4671,11 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:509 +#: part/bom.py:311 part/serializers.py:524 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1851 -#: templates/js/translated/purchase_order.js:2029 +#: templates/js/translated/purchase_order.js:1850 +#: templates/js/translated/purchase_order.js:2028 msgid "SKU" msgstr "" @@ -4671,12 +4684,12 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:209 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:199 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:206 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:200 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:207 #: templates/js/translated/stock.js:537 msgid "New Stock Item" msgstr "" @@ -4708,16 +4721,16 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:820 part/stocktake.py:223 +#: part/serializers.py:835 part/stocktake.py:223 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:787 stock/serializers.py:951 +#: stock/serializers.py:916 stock/serializers.py:1080 #: stock/templates/stock/location.html:170 -#: stock/templates/stock/location.html:184 -#: stock/templates/stock/location.html:196 +#: stock/templates/stock/location.html:191 +#: stock/templates/stock/location.html:203 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2769 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 #: users/models.py:206 msgid "Stock Items" msgstr "" @@ -4751,126 +4764,48 @@ msgstr "" msgid "New Company" msgstr "" -#: label/api.py:247 -msgid "Error printing label" -msgstr "" - -#: label/models.py:120 -msgid "Label name" -msgstr "" - -#: label/models.py:128 -msgid "Label description" -msgstr "" - -#: label/models.py:136 -msgid "Label" -msgstr "" - -#: label/models.py:137 -msgid "Label template file" -msgstr "" - -#: label/models.py:143 part/models.py:3494 report/models.py:324 -#: templates/js/translated/part.js:2900 -#: templates/js/translated/table_filters.js:481 -msgid "Enabled" -msgstr "" - -#: label/models.py:144 -msgid "Label template is enabled" -msgstr "" - -#: label/models.py:149 -msgid "Width [mm]" -msgstr "" - -#: label/models.py:150 -msgid "Label width, specified in mm" -msgstr "" - -#: label/models.py:156 -msgid "Height [mm]" -msgstr "" - -#: label/models.py:157 -msgid "Label height, specified in mm" -msgstr "" - -#: label/models.py:163 report/models.py:317 -msgid "Filename Pattern" -msgstr "" - -#: label/models.py:164 -msgid "Pattern for generating label filenames" -msgstr "" - -#: label/models.py:313 label/models.py:352 label/models.py:377 -#: label/models.py:412 -msgid "Query filters (comma-separated list of key=value pairs)" -msgstr "" - -#: label/models.py:314 label/models.py:353 label/models.py:378 -#: label/models.py:413 report/models.py:345 report/models.py:496 -#: report/models.py:532 report/models.py:568 report/models.py:750 -msgid "Filters" -msgstr "" - -#: label/templates/label/part/part_label.html:31 -#: label/templates/label/stockitem/qr.html:21 -#: label/templates/label/stocklocation/qr.html:20 -#: templates/allauth_2fa/setup.html:18 -msgid "QR Code" -msgstr "" - -#: label/templates/label/part/part_label_code128.html:31 -#: label/templates/label/stocklocation/qr_and_text.html:31 -#: templates/qr_code.html:7 -msgid "QR code" -msgstr "" - -#: machine/machine_types/label_printer.py:217 +#: machine/machine_types/label_printer.py:218 msgid "Copies" msgstr "" -#: machine/machine_types/label_printer.py:218 +#: machine/machine_types/label_printer.py:219 msgid "Number of copies to print for each label" msgstr "" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:234 msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:234 order/api.py:1515 -#: templates/js/translated/sales_order.js:1042 +#: machine/machine_types/label_printer.py:235 order/api.py:1515 +#: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "" -#: machine/machine_types/label_printer.py:235 +#: machine/machine_types/label_printer.py:236 msgid "Printing" msgstr "" -#: machine/machine_types/label_printer.py:236 +#: machine/machine_types/label_printer.py:237 msgid "No media" msgstr "" -#: machine/machine_types/label_printer.py:237 +#: machine/machine_types/label_printer.py:238 msgid "Disconnected" msgstr "" -#: machine/machine_types/label_printer.py:244 +#: machine/machine_types/label_printer.py:245 msgid "Label Printer" msgstr "" -#: machine/machine_types/label_printer.py:245 +#: machine/machine_types/label_printer.py:246 msgid "Directly print labels for various items." msgstr "" -#: machine/machine_types/label_printer.py:251 +#: machine/machine_types/label_printer.py:252 msgid "Printer Location" msgstr "" -#: machine/machine_types/label_printer.py:252 +#: machine/machine_types/label_printer.py:253 msgid "Scope the printer to a specific location" msgstr "" @@ -4930,19 +4865,19 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:89 -#: report/templates/report/inventree_po_report_base.html:31 -#: report/templates/report/inventree_so_report_base.html:31 +#: order/admin.py:30 order/models.py:90 +#: report/templates/report/inventree_purchase_order_report.html:31 +#: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2126 -#: templates/js/translated/sales_order.js:1847 +#: templates/js/translated/purchase_order.js:2125 +#: templates/js/translated/sales_order.js:1883 msgid "Total Price" msgstr "" #: order/api.py:161 order/serializers.py:91 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 -#: order/templates/order/sales_order_base.html:118 +#: order/templates/order/sales_order_base.html:122 msgid "Order Status" msgstr "" @@ -4955,10 +4890,10 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:437 order/api.py:817 order/models.py:1382 order/models.py:1491 -#: order/models.py:1537 order/models.py:1651 order/models.py:1805 -#: order/models.py:2209 order/models.py:2260 -#: templates/js/translated/sales_order.js:1488 +#: order/api.py:437 order/api.py:817 order/models.py:1422 order/models.py:1531 +#: order/models.py:1577 order/models.py:1691 order/models.py:1845 +#: order/models.py:2258 order/models.py:2309 +#: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" @@ -4970,402 +4905,398 @@ msgstr "" msgid "Order Pending" msgstr "" -#: order/api.py:1509 order/models.py:1383 order/models.py:1492 -#: order/templates/order/order_base.html:9 +#: order/api.py:1509 order/models.py:381 order/models.py:1423 +#: order/models.py:1532 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 -#: report/templates/report/inventree_po_report_base.html:14 -#: stock/templates/stock/item_base.html:176 +#: report/templates/report/inventree_purchase_order_report.html:14 +#: stock/serializers.py:119 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 -#: templates/js/translated/purchase_order.js:1674 -#: templates/js/translated/stock.js:2262 templates/js/translated/stock.js:2910 +#: templates/js/translated/purchase_order.js:1673 +#: templates/js/translated/stock.js:2260 templates/js/translated/stock.js:2907 msgid "Purchase Order" msgstr "" -#: order/api.py:1513 order/models.py:2210 order/models.py:2261 -#: order/templates/order/return_order_base.html:9 +#: order/api.py:1513 order/models.py:2008 order/models.py:2259 +#: order/models.py:2310 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:281 -#: templates/js/translated/stock.js:2944 +#: report/templates/report/inventree_return_order_report.html:13 +#: templates/js/translated/return_order.js:280 +#: templates/js/translated/stock.js:2941 msgid "Return Order" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:96 order/serializers.py:71 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:99 order/serializers.py:72 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:246 +#: order/models.py:248 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:278 +#: order/models.py:291 msgid "Order description (optional)" msgstr "" -#: order/models.py:287 +#: order/models.py:300 msgid "Select project code for this order" msgstr "" -#: order/models.py:291 order/models.py:1288 order/models.py:1704 +#: order/models.py:304 order/models.py:1328 order/models.py:1744 msgid "Link to external page" msgstr "" -#: order/models.py:299 +#: order/models.py:312 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:313 +#: order/models.py:326 msgid "Created By" msgstr "" -#: order/models.py:321 +#: order/models.py:334 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:332 +#: order/models.py:345 msgid "Point of contact for this order" msgstr "" -#: order/models.py:342 +#: order/models.py:355 msgid "Company address for this order" msgstr "" -#: order/models.py:443 order/models.py:899 +#: order/models.py:465 order/models.py:930 msgid "Order reference" msgstr "" -#: order/models.py:451 order/models.py:923 +#: order/models.py:473 order/models.py:954 msgid "Purchase order status" msgstr "" -#: order/models.py:466 +#: order/models.py:488 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:477 order/templates/order/order_base.html:148 -#: templates/js/translated/purchase_order.js:1703 +#: order/models.py:499 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1702 msgid "Supplier Reference" msgstr "" -#: order/models.py:478 +#: order/models.py:500 msgid "Supplier order reference code" msgstr "" -#: order/models.py:487 +#: order/models.py:509 msgid "received by" msgstr "" -#: order/models.py:493 order/models.py:2036 +#: order/models.py:515 order/models.py:2085 msgid "Issue Date" msgstr "" -#: order/models.py:494 order/models.py:2037 +#: order/models.py:516 order/models.py:2086 msgid "Date order was issued" msgstr "" -#: order/models.py:501 order/models.py:2044 +#: order/models.py:523 order/models.py:2093 msgid "Date order was completed" msgstr "" -#: order/models.py:545 +#: order/models.py:567 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:739 +#: order/models.py:761 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:911 +#: order/models.py:942 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:934 order/models.py:2029 +#: order/models.py:965 order/models.py:2078 msgid "Customer Reference " msgstr "" -#: order/models.py:935 order/models.py:2030 +#: order/models.py:966 order/models.py:2079 msgid "Customer order reference code" msgstr "" -#: order/models.py:939 order/models.py:1658 -#: templates/js/translated/sales_order.js:843 -#: templates/js/translated/sales_order.js:1024 +#: order/models.py:970 order/models.py:1698 +#: templates/js/translated/sales_order.js:879 +#: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "" -#: order/models.py:948 +#: order/models.py:979 msgid "shipped by" msgstr "" -#: order/models.py:999 -msgid "Order cannot be completed as no parts have been assigned" -msgstr "" - -#: order/models.py:1004 +#: order/models.py:1029 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1008 templates/js/translated/sales_order.js:506 +#: order/models.py:1033 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1013 +#: order/models.py:1038 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1260 +#: order/models.py:1300 msgid "Item quantity" msgstr "" -#: order/models.py:1277 +#: order/models.py:1317 msgid "Line item reference" msgstr "" -#: order/models.py:1284 +#: order/models.py:1324 msgid "Line item notes" msgstr "" -#: order/models.py:1296 +#: order/models.py:1336 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1317 +#: order/models.py:1357 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1323 +#: order/models.py:1363 msgid "Context" msgstr "" -#: order/models.py:1324 +#: order/models.py:1364 msgid "Additional context for this line" msgstr "" -#: order/models.py:1334 +#: order/models.py:1374 msgid "Unit price" msgstr "" -#: order/models.py:1367 +#: order/models.py:1407 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1374 +#: order/models.py:1414 msgid "deleted" msgstr "" -#: order/models.py:1402 +#: order/models.py:1442 msgid "Supplier part" msgstr "" -#: order/models.py:1409 order/templates/order/order_base.html:196 +#: order/models.py:1449 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 #: templates/js/translated/purchase_order.js:1306 -#: templates/js/translated/purchase_order.js:2170 -#: templates/js/translated/return_order.js:764 +#: templates/js/translated/purchase_order.js:2169 +#: templates/js/translated/return_order.js:763 #: templates/js/translated/table_filters.js:120 #: templates/js/translated/table_filters.js:602 msgid "Received" msgstr "" -#: order/models.py:1410 +#: order/models.py:1450 msgid "Number of items received" msgstr "" -#: order/models.py:1418 stock/models.py:923 stock/serializers.py:400 +#: order/models.py:1458 stock/models.py:944 stock/serializers.py:529 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2313 +#: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "" -#: order/models.py:1419 +#: order/models.py:1459 msgid "Unit purchase price" msgstr "" -#: order/models.py:1434 +#: order/models.py:1474 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1525 +#: order/models.py:1565 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1530 +#: order/models.py:1570 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1556 part/templates/part/part_pricing.html:107 +#: order/models.py:1596 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1557 +#: order/models.py:1597 msgid "Unit sale price" msgstr "" -#: order/models.py:1567 +#: order/models.py:1607 msgid "Shipped quantity" msgstr "" -#: order/models.py:1659 +#: order/models.py:1699 msgid "Date of shipment" msgstr "" -#: order/models.py:1665 templates/js/translated/sales_order.js:1036 +#: order/models.py:1705 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1666 +#: order/models.py:1706 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1674 +#: order/models.py:1714 msgid "Checked By" msgstr "" -#: order/models.py:1675 +#: order/models.py:1715 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1682 order/models.py:1895 order/serializers.py:1354 -#: order/serializers.py:1464 templates/js/translated/model_renderers.js:448 +#: order/models.py:1722 order/models.py:1935 order/serializers.py:1354 +#: order/serializers.py:1464 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" -#: order/models.py:1683 +#: order/models.py:1723 msgid "Shipment number" msgstr "" -#: order/models.py:1691 +#: order/models.py:1731 msgid "Tracking Number" msgstr "" -#: order/models.py:1692 +#: order/models.py:1732 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1699 +#: order/models.py:1739 msgid "Invoice Number" msgstr "" -#: order/models.py:1700 +#: order/models.py:1740 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1720 +#: order/models.py:1760 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1723 +#: order/models.py:1763 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1841 order/models.py:1843 +#: order/models.py:1881 order/models.py:1883 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1850 +#: order/models.py:1890 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1853 +#: order/models.py:1893 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1856 +#: order/models.py:1896 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1875 order/serializers.py:1231 +#: order/models.py:1915 order/serializers.py:1231 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1878 +#: order/models.py:1918 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1879 plugin/base/barcodes/api.py:481 +#: order/models.py:1919 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1887 +#: order/models.py:1927 msgid "Line" msgstr "" -#: order/models.py:1896 +#: order/models.py:1936 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1909 order/models.py:2217 -#: templates/js/translated/return_order.js:722 +#: order/models.py:1949 order/models.py:2266 +#: templates/js/translated/return_order.js:721 msgid "Item" msgstr "" -#: order/models.py:1910 +#: order/models.py:1950 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1919 +#: order/models.py:1959 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1999 +#: order/models.py:2048 msgid "Return Order reference" msgstr "" -#: order/models.py:2011 +#: order/models.py:2060 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2023 +#: order/models.py:2072 msgid "Return order status" msgstr "" -#: order/models.py:2202 +#: order/models.py:2251 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2218 +#: order/models.py:2267 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2224 +#: order/models.py:2273 msgid "Received Date" msgstr "" -#: order/models.py:2225 +#: order/models.py:2274 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2236 templates/js/translated/return_order.js:733 +#: order/models.py:2285 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2237 +#: order/models.py:2286 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2244 +#: order/models.py:2293 msgid "Cost associated with return or repair for this line item" msgstr "" #: order/serializers.py:80 order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 -#: report/templates/report/inventree_po_report_base.html:22 -#: report/templates/report/inventree_return_order_report_base.html:19 -#: report/templates/report/inventree_so_report_base.html:22 +#: report/templates/report/inventree_purchase_order_report.html:22 +#: report/templates/report/inventree_return_order_report.html:19 +#: report/templates/report/inventree_sales_order_report.html:22 msgid "Line Items" msgstr "" @@ -5595,7 +5526,7 @@ msgstr "" #: order/templates/order/order_base.html:84 #: order/templates/order/return_order_base.html:87 -#: order/templates/order/sales_order_base.html:93 +#: order/templates/order/sales_order_base.html:97 msgid "Complete Order" msgstr "" @@ -5605,13 +5536,13 @@ msgstr "" #: order/templates/order/order_base.html:106 #: order/templates/order/return_order_base.html:101 -#: order/templates/order/sales_order_base.html:106 +#: order/templates/order/sales_order_base.html:110 msgid "Order Reference" msgstr "" #: order/templates/order/order_base.html:111 #: order/templates/order/return_order_base.html:106 -#: order/templates/order/sales_order_base.html:111 +#: order/templates/order/sales_order_base.html:115 msgid "Order Description" msgstr "" @@ -5620,19 +5551,19 @@ msgid "No suppplier information available" msgstr "" #: order/templates/order/order_base.html:154 -#: order/templates/order/sales_order_base.html:157 +#: order/templates/order/sales_order_base.html:161 msgid "Completed Line Items" msgstr "" #: order/templates/order/order_base.html:160 -#: order/templates/order/sales_order_base.html:163 -#: order/templates/order/sales_order_base.html:173 +#: order/templates/order/sales_order_base.html:167 +#: order/templates/order/sales_order_base.html:177 msgid "Incomplete" msgstr "" #: order/templates/order/order_base.html:179 #: order/templates/order/return_order_base.html:157 -#: report/templates/report/inventree_build_order_base.html:121 +#: report/templates/report/inventree_build_order_report.html:121 msgid "Issued" msgstr "" @@ -5642,15 +5573,15 @@ msgstr "" #: order/templates/order/order_base.html:228 #: order/templates/order/return_order_base.html:199 -#: order/templates/order/sales_order_base.html:239 +#: order/templates/order/sales_order_base.html:243 msgid "Total cost could not be calculated" msgstr "" -#: order/templates/order/order_base.html:318 +#: order/templates/order/order_base.html:314 msgid "Purchase Order QR Code" msgstr "" -#: order/templates/order/order_base.html:330 +#: order/templates/order/order_base.html:326 msgid "Link Barcode to Purchase Order" msgstr "" @@ -5707,8 +5638,8 @@ msgstr "" #: templates/js/translated/build.js:1629 #: templates/js/translated/purchase_order.js:696 #: templates/js/translated/purchase_order.js:1236 -#: templates/js/translated/return_order.js:506 -#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/return_order.js:505 +#: templates/js/translated/sales_order.js:1145 #: templates/js/translated/stock.js:714 templates/js/translated/stock.js:883 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -5762,7 +5693,7 @@ msgstr "" #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 #: templates/js/translated/purchase_order.js:414 -#: templates/js/translated/return_order.js:459 +#: templates/js/translated/return_order.js:458 #: templates/js/translated/sales_order.js:237 msgid "Add Line Item" msgstr "" @@ -5811,30 +5742,30 @@ msgid "Print packing list" msgstr "" #: order/templates/order/return_order_base.html:138 -#: order/templates/order/sales_order_base.html:151 -#: templates/js/translated/return_order.js:309 -#: templates/js/translated/sales_order.js:797 +#: order/templates/order/sales_order_base.html:155 +#: templates/js/translated/return_order.js:308 +#: templates/js/translated/sales_order.js:833 msgid "Customer Reference" msgstr "" #: order/templates/order/return_order_base.html:195 -#: order/templates/order/sales_order_base.html:235 +#: order/templates/order/sales_order_base.html:239 #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1072 -#: templates/js/translated/purchase_order.js:1753 -#: templates/js/translated/return_order.js:381 -#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/purchase_order.js:1752 +#: templates/js/translated/return_order.js:380 +#: templates/js/translated/sales_order.js:891 msgid "Total Cost" msgstr "" -#: order/templates/order/return_order_base.html:263 +#: order/templates/order/return_order_base.html:259 msgid "Return Order QR Code" msgstr "" -#: order/templates/order/return_order_base.html:275 +#: order/templates/order/return_order_base.html:271 msgid "Link Barcode to Return Order" msgstr "" @@ -5852,25 +5783,30 @@ msgid "Ship Items" msgstr "" #: order/templates/order/sales_order_base.html:92 -#: templates/js/translated/sales_order.js:484 +#: order/templates/order/sales_order_base.html:93 +msgid "Mark As Shipped" +msgstr "" + +#: order/templates/order/sales_order_base.html:96 +#: templates/js/translated/sales_order.js:536 msgid "Complete Sales Order" msgstr "" -#: order/templates/order/sales_order_base.html:131 +#: order/templates/order/sales_order_base.html:135 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:169 +#: order/templates/order/sales_order_base.html:173 #: order/templates/order/sales_order_detail.html:99 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "" -#: order/templates/order/sales_order_base.html:312 +#: order/templates/order/sales_order_base.html:321 msgid "Sales Order QR Code" msgstr "" -#: order/templates/order/sales_order_base.html:324 +#: order/templates/order/sales_order_base.html:333 msgid "Link Barcode to Sales Order" msgstr "" @@ -5914,12 +5850,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:404 part/models.py:3921 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:406 part/models.py:3964 part/stocktake.py:218 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:411 part/models.py:3922 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:413 part/models.py:3965 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -5928,20 +5864,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:904 part/templates/part/part_base.html:269 -#: report/templates/report/inventree_slr_report.html:103 -#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2341 -#: templates/js/translated/stock.js:2038 +#: part/admin.py:48 part/models.py:947 part/templates/part/part_base.html:269 +#: report/templates/report/inventree_stock_location_report.html:103 +#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 +#: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:913 part/templates/part/part_base.html:277 -#: report/models.py:195 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2347 +#: part/admin.py:50 part/models.py:956 part/templates/part/part_base.html:277 +#: report/models.py:161 templates/js/translated/part.js:1231 +#: templates/js/translated/part.js:2346 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:317 part/models.py:886 +#: part/admin.py:53 part/admin.py:319 part/models.py:929 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5950,15 +5886,15 @@ msgstr "" msgid "Part Image" msgstr "" -#: part/admin.py:63 part/admin.py:300 part/stocktake.py:221 +#: part/admin.py:63 part/admin.py:302 part/stocktake.py:221 msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:302 part/stocktake.py:222 +#: part/admin.py:67 part/admin.py:304 part/stocktake.py:222 msgid "Category Name" msgstr "" -#: part/admin.py:71 part/admin.py:314 +#: part/admin.py:71 part/admin.py:316 msgid "Default Location ID" msgstr "" @@ -5966,11 +5902,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:872 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:915 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1000 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1043 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5983,160 +5919,164 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3080 part/models.py:3094 +#: part/admin.py:155 part/models.py:3123 part/models.py:3137 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3087 part/models.py:3101 +#: part/admin.py:158 part/models.py:3130 part/models.py:3144 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" -#: part/admin.py:306 part/admin.py:393 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:211 msgid "Parent ID" msgstr "" -#: part/admin.py:310 part/admin.py:400 stock/admin.py:62 +#: part/admin.py:312 part/admin.py:402 stock/admin.py:62 msgid "Parent Name" msgstr "" -#: part/admin.py:318 part/templates/part/category.html:88 +#: part/admin.py:320 part/templates/part/category.html:88 #: part/templates/part/category.html:101 msgid "Category Path" msgstr "" -#: part/admin.py:323 part/models.py:391 part/serializers.py:117 +#: part/admin.py:325 part/models.py:393 part/serializers.py:117 #: part/serializers.py:272 part/serializers.py:391 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2803 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "" -#: part/admin.py:384 +#: part/admin.py:386 msgid "BOM Level" msgstr "" -#: part/admin.py:387 +#: part/admin.py:389 msgid "BOM Item ID" msgstr "" -#: part/admin.py:397 +#: part/admin.py:399 msgid "Parent IPN" msgstr "" -#: part/admin.py:408 part/models.py:3923 +#: part/admin.py:410 part/models.py:3966 msgid "Part IPN" msgstr "" -#: part/admin.py:421 part/serializers.py:1261 +#: part/admin.py:423 part/serializers.py:1276 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:426 part/serializers.py:1276 +#: part/admin.py:428 part/serializers.py:1291 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:119 +#: part/api.py:112 msgid "Starred" msgstr "" -#: part/api.py:121 +#: part/api.py:114 msgid "Filter by starred categories" msgstr "" -#: part/api.py:138 stock/api.py:284 +#: part/api.py:131 stock/api.py:318 msgid "Depth" msgstr "" -#: part/api.py:138 +#: part/api.py:131 msgid "Filter by category depth" msgstr "" -#: part/api.py:156 stock/api.py:302 +#: part/api.py:149 stock/api.py:336 msgid "Cascade" msgstr "" -#: part/api.py:158 +#: part/api.py:151 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:178 +#: part/api.py:171 msgid "Parent" msgstr "" -#: part/api.py:180 +#: part/api.py:173 msgid "Filter by parent category" msgstr "" -#: part/api.py:213 +#: part/api.py:206 msgid "Exclude Tree" msgstr "" -#: part/api.py:215 +#: part/api.py:208 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:461 +#: part/api.py:455 msgid "Has Results" msgstr "" -#: part/api.py:628 +#: part/api.py:622 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:646 +#: part/api.py:640 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:662 +#: part/api.py:656 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:746 +#: part/api.py:740 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:893 +#: part/api.py:887 msgid "Valid" msgstr "" -#: part/api.py:894 +#: part/api.py:888 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:900 +#: part/api.py:894 msgid "This option must be selected" msgstr "" -#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866 -#: part/serializers.py:406 part/serializers.py:1117 -#: part/templates/part/part_base.html:260 stock/api.py:745 +#: part/api.py:1111 +msgid "BOM Valid" +msgstr "" + +#: part/api.py:1515 part/models.py:939 part/models.py:3429 part/models.py:3909 +#: part/serializers.py:406 part/serializers.py:1132 +#: part/templates/part/part_base.html:260 stock/api.py:779 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2377 +#: templates/js/translated/part.js:2376 msgid "Category" msgstr "" -#: part/api.py:1849 +#: part/api.py:1803 msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:101 part/models.py:939 +#: part/bom.py:170 part/models.py:102 part/models.py:982 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:822 +#: part/bom.py:171 part/serializers.py:837 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6145,698 +6085,712 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:82 part/models.py:3867 part/templates/part/category.html:16 +#: part/models.py:83 part/models.py:3910 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:83 part/templates/part/category.html:136 +#: part/models.py:84 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "" -#: part/models.py:102 +#: part/models.py:103 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:107 stock/models.py:165 templates/js/translated/part.js:2810 -#: templates/js/translated/stock.js:2775 +#: part/models.py:108 stock/models.py:177 templates/js/translated/part.js:2809 +#: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "" -#: part/models.py:109 +#: part/models.py:110 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:118 +#: part/models.py:119 msgid "Default keywords" msgstr "" -#: part/models.py:119 +#: part/models.py:120 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:125 stock/models.py:89 stock/models.py:148 +#: part/models.py:126 stock/models.py:89 stock/models.py:160 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:126 stock/models.py:149 +#: part/models.py:127 stock/models.py:161 msgid "Icon (optional)" msgstr "" -#: part/models.py:148 +#: part/models.py:149 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:484 +#: part/models.py:482 +msgid "Cannot delete this part as it is still active" +msgstr "" + +#: part/models.py:489 +msgid "Cannot delete this part as it is used in an assembly" +msgstr "" + +#: part/models.py:527 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:532 part/models.py:539 +#: part/models.py:575 part/models.py:582 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:551 +#: part/models.py:594 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:616 +#: part/models.py:659 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:696 +#: part/models.py:739 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:801 +#: part/models.py:844 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:811 +#: part/models.py:854 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:826 +#: part/models.py:869 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:855 part/models.py:3922 +#: part/models.py:898 part/models.py:3965 msgid "Part name" msgstr "" -#: part/models.py:860 +#: part/models.py:903 msgid "Is Template" msgstr "" -#: part/models.py:861 +#: part/models.py:904 msgid "Is this part a template part?" msgstr "" -#: part/models.py:871 +#: part/models.py:914 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:879 +#: part/models.py:922 msgid "Part description (optional)" msgstr "" -#: part/models.py:887 +#: part/models.py:930 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:897 +#: part/models.py:940 msgid "Part category" msgstr "" -#: part/models.py:905 +#: part/models.py:948 msgid "Internal Part Number" msgstr "" -#: part/models.py:912 +#: part/models.py:955 msgid "Part revision or version number" msgstr "" -#: part/models.py:937 +#: part/models.py:980 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:983 part/templates/part/part_base.html:376 +#: part/models.py:1026 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:984 +#: part/models.py:1027 msgid "Default supplier part" msgstr "" -#: part/models.py:991 +#: part/models.py:1034 msgid "Default Expiry" msgstr "" -#: part/models.py:992 +#: part/models.py:1035 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1001 +#: part/models.py:1044 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1010 +#: part/models.py:1053 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1017 +#: part/models.py:1060 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1023 +#: part/models.py:1066 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1029 +#: part/models.py:1072 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1035 +#: part/models.py:1078 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1041 +#: part/models.py:1084 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1045 +#: part/models.py:1088 msgid "Is this part active?" msgstr "" -#: part/models.py:1051 +#: part/models.py:1094 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1057 +#: part/models.py:1100 msgid "BOM checksum" msgstr "" -#: part/models.py:1058 +#: part/models.py:1101 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1066 +#: part/models.py:1109 msgid "BOM checked by" msgstr "" -#: part/models.py:1071 +#: part/models.py:1114 msgid "BOM checked date" msgstr "" -#: part/models.py:1087 +#: part/models.py:1130 msgid "Creation User" msgstr "" -#: part/models.py:1097 +#: part/models.py:1140 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1102 part/templates/part/part_base.html:339 +#: part/models.py:1145 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 -#: templates/js/translated/part.js:2471 +#: templates/js/translated/part.js:2470 msgid "Last Stocktake" msgstr "" -#: part/models.py:1975 +#: part/models.py:2018 msgid "Sell multiple" msgstr "" -#: part/models.py:2994 +#: part/models.py:3037 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3010 +#: part/models.py:3053 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3011 +#: part/models.py:3054 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3017 +#: part/models.py:3060 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3018 +#: part/models.py:3061 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3024 +#: part/models.py:3067 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3025 +#: part/models.py:3068 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3031 +#: part/models.py:3074 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3032 +#: part/models.py:3075 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3038 +#: part/models.py:3081 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3039 +#: part/models.py:3082 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3045 +#: part/models.py:3088 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3046 +#: part/models.py:3089 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3052 +#: part/models.py:3095 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3053 +#: part/models.py:3096 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3059 +#: part/models.py:3102 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3060 +#: part/models.py:3103 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3066 +#: part/models.py:3109 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3067 +#: part/models.py:3110 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3073 +#: part/models.py:3116 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3074 +#: part/models.py:3117 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3081 +#: part/models.py:3124 msgid "Override minimum cost" msgstr "" -#: part/models.py:3088 +#: part/models.py:3131 msgid "Override maximum cost" msgstr "" -#: part/models.py:3095 +#: part/models.py:3138 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3102 +#: part/models.py:3145 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3108 +#: part/models.py:3151 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3109 +#: part/models.py:3152 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3115 +#: part/models.py:3158 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3116 +#: part/models.py:3159 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3122 +#: part/models.py:3165 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3123 +#: part/models.py:3166 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3129 +#: part/models.py:3172 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3130 +#: part/models.py:3173 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3149 +#: part/models.py:3192 msgid "Part for stocktake" msgstr "" -#: part/models.py:3154 +#: part/models.py:3197 msgid "Item Count" msgstr "" -#: part/models.py:3155 +#: part/models.py:3198 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3163 +#: part/models.py:3206 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3167 part/models.py:3250 +#: part/models.py:3210 part/models.py:3293 #: part/templates/part/part_scheduling.html:13 -#: report/templates/report/inventree_test_report_base.html:106 +#: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 #: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 -#: templates/js/translated/purchase_order.js:1732 -#: templates/js/translated/stock.js:2824 +#: templates/js/translated/purchase_order.js:1731 +#: templates/js/translated/stock.js:2821 msgid "Date" msgstr "" -#: part/models.py:3168 +#: part/models.py:3211 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3176 +#: part/models.py:3219 msgid "Additional notes" msgstr "" -#: part/models.py:3186 +#: part/models.py:3229 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3192 +#: part/models.py:3235 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3193 +#: part/models.py:3236 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3199 +#: part/models.py:3242 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3200 +#: part/models.py:3243 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3256 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3299 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3257 +#: part/models.py:3300 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3262 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3305 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3263 +#: part/models.py:3306 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3273 +#: part/models.py:3316 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3435 +#: part/models.py:3478 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3446 +#: part/models.py:3489 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3457 +#: part/models.py:3500 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3474 templates/js/translated/part.js:2879 +#: part/models.py:3517 templates/js/translated/part.js:2878 msgid "Test Name" msgstr "" -#: part/models.py:3475 +#: part/models.py:3518 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3481 +#: part/models.py:3524 msgid "Test Key" msgstr "" -#: part/models.py:3482 +#: part/models.py:3525 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3489 +#: part/models.py:3532 msgid "Test Description" msgstr "" -#: part/models.py:3490 +#: part/models.py:3533 msgid "Enter description for this test" msgstr "" -#: part/models.py:3494 +#: part/models.py:3537 report/models.py:208 +#: templates/js/translated/part.js:2899 +#: templates/js/translated/table_filters.js:481 +msgid "Enabled" +msgstr "" + +#: part/models.py:3537 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3499 templates/js/translated/part.js:2908 +#: part/models.py:3542 templates/js/translated/part.js:2907 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3500 +#: part/models.py:3543 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3505 templates/js/translated/part.js:2916 +#: part/models.py:3548 templates/js/translated/part.js:2915 msgid "Requires Value" msgstr "" -#: part/models.py:3506 +#: part/models.py:3549 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3511 templates/js/translated/part.js:2923 +#: part/models.py:3554 templates/js/translated/part.js:2922 msgid "Requires Attachment" msgstr "" -#: part/models.py:3513 +#: part/models.py:3556 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3560 +#: part/models.py:3603 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3565 +#: part/models.py:3608 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3585 +#: part/models.py:3628 msgid "Choices must be unique" msgstr "" -#: part/models.py:3602 +#: part/models.py:3645 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3617 +#: part/models.py:3660 msgid "Parameter Name" msgstr "" -#: part/models.py:3624 +#: part/models.py:3667 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3632 +#: part/models.py:3675 msgid "Parameter description" msgstr "" -#: part/models.py:3638 templates/js/translated/part.js:1627 +#: part/models.py:3681 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3639 +#: part/models.py:3682 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3644 templates/js/translated/part.js:1636 +#: part/models.py:3687 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3645 +#: part/models.py:3688 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3722 +#: part/models.py:3765 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3765 +#: part/models.py:3808 msgid "Parent Part" msgstr "" -#: part/models.py:3773 part/models.py:3874 part/models.py:3875 +#: part/models.py:3816 part/models.py:3917 part/models.py:3918 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3778 +#: part/models.py:3821 msgid "Data" msgstr "" -#: part/models.py:3779 +#: part/models.py:3822 msgid "Parameter Value" msgstr "" -#: part/models.py:3881 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3924 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3882 +#: part/models.py:3925 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3920 +#: part/models.py:3963 msgid "Part ID or part name" msgstr "" -#: part/models.py:3921 +#: part/models.py:3964 msgid "Unique part ID value" msgstr "" -#: part/models.py:3923 +#: part/models.py:3966 msgid "Part IPN value" msgstr "" -#: part/models.py:3924 +#: part/models.py:3967 msgid "Level" msgstr "" -#: part/models.py:3924 +#: part/models.py:3967 msgid "BOM level" msgstr "" -#: part/models.py:4014 +#: part/models.py:4057 msgid "Select parent part" msgstr "" -#: part/models.py:4024 +#: part/models.py:4067 msgid "Sub part" msgstr "" -#: part/models.py:4025 +#: part/models.py:4068 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4036 +#: part/models.py:4079 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4042 +#: part/models.py:4085 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4048 +#: part/models.py:4091 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4055 part/templates/part/upload_bom.html:55 +#: part/models.py:4098 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4056 +#: part/models.py:4099 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4063 +#: part/models.py:4106 msgid "BOM item reference" msgstr "" -#: part/models.py:4071 +#: part/models.py:4114 msgid "BOM item notes" msgstr "" -#: part/models.py:4077 +#: part/models.py:4120 msgid "Checksum" msgstr "" -#: part/models.py:4078 +#: part/models.py:4121 msgid "BOM line checksum" msgstr "" -#: part/models.py:4083 templates/js/translated/table_filters.js:174 +#: part/models.py:4126 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4084 +#: part/models.py:4127 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4089 part/templates/part/upload_bom.html:57 +#: part/models.py:4132 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4090 +#: part/models.py:4133 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4095 part/templates/part/upload_bom.html:56 +#: part/models.py:4138 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4096 +#: part/models.py:4139 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4181 stock/models.py:647 +#: part/models.py:4224 stock/models.py:668 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4191 part/models.py:4193 +#: part/models.py:4234 part/models.py:4236 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4333 +#: part/models.py:4376 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4354 +#: part/models.py:4397 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4367 +#: part/models.py:4410 msgid "Parent BOM item" msgstr "" -#: part/models.py:4375 +#: part/models.py:4418 msgid "Substitute part" msgstr "" -#: part/models.py:4391 +#: part/models.py:4434 msgid "Part 1" msgstr "" -#: part/models.py:4399 +#: part/models.py:4442 msgid "Part 2" msgstr "" -#: part/models.py:4400 +#: part/models.py:4443 msgid "Select Related Part" msgstr "" -#: part/models.py:4419 +#: part/models.py:4462 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4424 +#: part/models.py:4467 msgid "Duplicate relationship already exists" msgstr "" @@ -6854,7 +6808,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:406 +#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:535 msgid "Purchase currency of this stock item" msgstr "" @@ -6870,299 +6824,299 @@ msgstr "" msgid "Select category" msgstr "" -#: part/serializers.py:437 +#: part/serializers.py:442 msgid "Original Part" msgstr "" -#: part/serializers.py:438 +#: part/serializers.py:443 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:448 msgid "Copy Image" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:449 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:450 part/templates/part/detail.html:277 +#: part/serializers.py:455 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:451 +#: part/serializers.py:456 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:462 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:458 +#: part/serializers.py:463 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:464 +#: part/serializers.py:469 msgid "Copy Notes" msgstr "" -#: part/serializers.py:465 +#: part/serializers.py:470 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:478 +#: part/serializers.py:488 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:490 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:487 +#: part/serializers.py:497 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:488 +#: part/serializers.py:498 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:500 +#: part/serializers.py:515 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:531 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:526 +#: part/serializers.py:541 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:533 +#: part/serializers.py:548 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:542 +#: part/serializers.py:557 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:553 +#: part/serializers.py:568 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:560 +#: part/serializers.py:575 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:823 +#: part/serializers.py:838 msgid "External Stock" msgstr "" -#: part/serializers.py:825 +#: part/serializers.py:840 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:828 +#: part/serializers.py:843 msgid "Variant Stock" msgstr "" -#: part/serializers.py:856 part/templates/part/copy_part.html:9 +#: part/serializers.py:871 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:857 +#: part/serializers.py:872 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:863 templates/js/translated/part.js:102 +#: part/serializers.py:878 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:864 +#: part/serializers.py:879 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:870 +#: part/serializers.py:885 msgid "Supplier Information" msgstr "" -#: part/serializers.py:871 +#: part/serializers.py:886 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:879 +#: part/serializers.py:894 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:880 +#: part/serializers.py:895 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:885 +#: part/serializers.py:900 msgid "Existing Image" msgstr "" -#: part/serializers.py:886 +#: part/serializers.py:901 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:918 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1109 +#: part/serializers.py:1124 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1119 +#: part/serializers.py:1134 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1129 +#: part/serializers.py:1144 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1135 +#: part/serializers.py:1150 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1136 +#: part/serializers.py:1151 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1141 +#: part/serializers.py:1156 msgid "Generate Report" msgstr "" -#: part/serializers.py:1142 +#: part/serializers.py:1157 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1147 +#: part/serializers.py:1162 msgid "Update Parts" msgstr "" -#: part/serializers.py:1148 +#: part/serializers.py:1163 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1156 +#: part/serializers.py:1171 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1262 +#: part/serializers.py:1277 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1269 +#: part/serializers.py:1284 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1277 +#: part/serializers.py:1292 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1284 +#: part/serializers.py:1299 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1313 +#: part/serializers.py:1328 msgid "Update" msgstr "" -#: part/serializers.py:1314 +#: part/serializers.py:1329 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1337 +#: part/serializers.py:1352 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1344 +#: part/serializers.py:1359 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1347 +#: part/serializers.py:1362 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1714 +#: part/serializers.py:1729 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1722 +#: part/serializers.py:1737 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1723 +#: part/serializers.py:1738 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1728 +#: part/serializers.py:1743 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1729 +#: part/serializers.py:1744 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1734 +#: part/serializers.py:1749 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1735 +#: part/serializers.py:1750 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1755 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1756 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1775 +#: part/serializers.py:1790 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1776 +#: part/serializers.py:1791 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1806 +#: part/serializers.py:1821 msgid "No part column specified" msgstr "" -#: part/serializers.py:1850 +#: part/serializers.py:1865 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1853 +#: part/serializers.py:1868 msgid "No matching part found" msgstr "" -#: part/serializers.py:1856 +#: part/serializers.py:1871 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1865 +#: part/serializers.py:1880 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1888 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1894 +#: part/serializers.py:1909 msgid "At least one BOM item is required" msgstr "" #: part/stocktake.py:224 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:2085 +#: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" @@ -7314,7 +7268,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2218 users/models.py:204 +#: templates/js/translated/stock.js:2216 users/models.py:204 msgid "Stocktake" msgstr "" @@ -7412,15 +7366,15 @@ msgstr "" msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:659 +#: part/templates/part/detail.html:655 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:667 +#: part/templates/part/detail.html:663 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:752 +#: part/templates/part/detail.html:748 msgid "Add Test Result Template" msgstr "" @@ -7479,7 +7433,7 @@ msgstr "" #: part/templates/part/part_base.html:52 #: stock/templates/stock/item_base.html:62 -#: stock/templates/stock/location.html:74 +#: stock/templates/stock/location.html:74 templates/js/translated/label.js:142 msgid "Print Label" msgstr "" @@ -7501,7 +7455,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2293 +#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2292 msgid "Part actions" msgstr "" @@ -7550,7 +7504,7 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:163 -#: part/templates/part/part_base.html:682 +#: part/templates/part/part_base.html:681 msgid "Show Part Details" msgstr "" @@ -7573,7 +7527,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2444 +#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2443 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7596,19 +7550,19 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:512 +#: part/templates/part/part_base.html:511 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:529 +#: part/templates/part/part_base.html:528 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:580 +#: part/templates/part/part_base.html:579 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:676 +#: part/templates/part/part_base.html:675 msgid "Hide Part Details" msgstr "" @@ -7667,8 +7621,8 @@ msgstr "" #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 -#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 -#: templates/js/translated/stock.js:2072 templates/navbar.html:31 +#: templates/js/translated/part.js:2391 templates/js/translated/stock.js:1059 +#: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7714,7 +7668,7 @@ msgstr "" #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 -#: templates/js/translated/stock.js:2248 +#: templates/js/translated/stock.js:2246 msgid "Last Updated" msgstr "" @@ -7786,7 +7740,7 @@ msgid "Update Pricing" msgstr "" #: part/templates/part/stock_count.html:7 -#: templates/js/translated/model_renderers.js:221 +#: templates/js/translated/model_renderers.js:227 #: templates/js/translated/part.js:704 templates/js/translated/part.js:2140 #: templates/js/translated/part.js:2142 msgid "No Stock" @@ -7866,7 +7820,7 @@ msgstr "" msgid "Part Pricing" msgstr "" -#: plugin/api.py:168 +#: plugin/api.py:170 msgid "Plugin cannot be deleted as it is currently active" msgstr "" @@ -7933,7 +7887,7 @@ msgid "Stock item does not match line item" msgstr "" #: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2589 -#: templates/js/translated/sales_order.js:1917 +#: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "" @@ -8027,22 +7981,18 @@ msgstr "" msgid "Quantity to allocate" msgstr "" -#: plugin/base/label/label.py:39 +#: plugin/base/label/label.py:39 templates/js/translated/label.js:154 msgid "Label printing failed" msgstr "" -#: plugin/base/label/mixins.py:63 +#: plugin/base/label/mixins.py:56 msgid "Error rendering label to PDF" msgstr "" -#: plugin/base/label/mixins.py:76 +#: plugin/base/label/mixins.py:70 msgid "Error rendering label to HTML" msgstr "" -#: plugin/base/label/mixins.py:111 -msgid "Error rendering label to PNG" -msgstr "" - #: plugin/builtin/barcodes/inventree_barcode.py:25 msgid "InvenTree Barcodes" msgstr "" @@ -8054,7 +8004,7 @@ msgstr "" #: plugin/builtin/barcodes/inventree_barcode.py:28 #: plugin/builtin/integration/core_notifications.py:35 #: plugin/builtin/integration/currency_exchange.py:21 -#: plugin/builtin/labels/inventree_label.py:23 +#: plugin/builtin/labels/inventree_label.py:22 #: plugin/builtin/labels/inventree_machine.py:64 #: plugin/builtin/labels/label_sheet.py:63 #: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 @@ -8108,19 +8058,19 @@ msgstr "" msgid "Default currency exchange integration" msgstr "" -#: plugin/builtin/labels/inventree_label.py:20 +#: plugin/builtin/labels/inventree_label.py:19 msgid "InvenTree PDF label printer" msgstr "" -#: plugin/builtin/labels/inventree_label.py:21 +#: plugin/builtin/labels/inventree_label.py:20 msgid "Provides native support for printing PDF labels" msgstr "" -#: plugin/builtin/labels/inventree_label.py:29 +#: plugin/builtin/labels/inventree_label.py:28 msgid "Debug mode" msgstr "" -#: plugin/builtin/labels/inventree_label.py:30 +#: plugin/builtin/labels/inventree_label.py:29 msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "" @@ -8132,11 +8082,11 @@ msgstr "" msgid "Provides support for printing using a machine" msgstr "" -#: plugin/builtin/labels/inventree_machine.py:150 +#: plugin/builtin/labels/inventree_machine.py:151 msgid "last used" msgstr "" -#: plugin/builtin/labels/inventree_machine.py:167 +#: plugin/builtin/labels/inventree_machine.py:168 msgid "Options" msgstr "" @@ -8160,7 +8110,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:47 report/models.py:209 +#: plugin/builtin/labels/label_sheet.py:47 report/models.py:308 msgid "Landscape" msgstr "" @@ -8176,11 +8126,11 @@ msgstr "" msgid "Arrays multiple labels onto a single sheet" msgstr "" -#: plugin/builtin/labels/label_sheet.py:94 +#: plugin/builtin/labels/label_sheet.py:99 msgid "Label is too large for page size" msgstr "" -#: plugin/builtin/labels/label_sheet.py:128 +#: plugin/builtin/labels/label_sheet.py:133 msgid "No labels were generated" msgstr "" @@ -8273,61 +8223,62 @@ msgstr "" msgid "Uninstalled plugin successfully" msgstr "" -#: plugin/models.py:30 +#: plugin/models.py:35 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:31 +#: plugin/models.py:36 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:34 users/models.py:100 +#: plugin/models.py:42 users/models.py:100 msgid "Key" msgstr "" -#: plugin/models.py:34 +#: plugin/models.py:43 msgid "Key of plugin" msgstr "" -#: plugin/models.py:42 +#: plugin/models.py:51 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:49 plugin/serializers.py:90 +#: plugin/models.py:58 plugin/serializers.py:90 msgid "Package Name" msgstr "" -#: plugin/models.py:51 +#: plugin/models.py:60 msgid "Name of the installed package, if the plugin was installed via PIP" msgstr "" -#: plugin/models.py:56 +#: plugin/models.py:65 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:147 templates/js/translated/table_filters.js:370 +#: plugin/models.py:156 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "" -#: plugin/models.py:156 +#: plugin/models.py:165 msgid "Sample plugin" msgstr "" -#: plugin/models.py:164 +#: plugin/models.py:173 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:172 +#: plugin/models.py:181 msgid "Package Plugin" msgstr "" -#: plugin/models.py:196 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:205 report/models.py:475 +#: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" msgstr "" -#: plugin/models.py:243 +#: plugin/models.py:252 msgid "Method" msgstr "" @@ -8468,239 +8419,323 @@ msgstr "" msgid "Delete the plugin configuration from the database" msgstr "" -#: report/api.py:158 +#: report/api.py:77 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:197 report/api.py:234 +#: report/api.py:89 report/serializers.py:53 +msgid "Model Type" +msgstr "" + +#: report/api.py:92 report/models.py:439 report/serializers.py:98 +#: report/serializers.py:148 templates/js/translated/purchase_order.js:1747 +#: templates/js/translated/return_order.js:353 +#: templates/js/translated/sales_order.js:887 +#: templates/js/translated/sales_order.js:1047 +msgid "Items" +msgstr "" + +#: report/api.py:168 +msgid "Plugin not found" +msgstr "" + +#: report/api.py:170 +msgid "Plugin is not active" +msgstr "" + +#: report/api.py:172 +msgid "Plugin does not support label printing" +msgstr "" + +#: report/api.py:221 +msgid "Invalid label dimensions" +msgstr "" + +#: report/api.py:236 report/api.py:316 +msgid "No valid items provided to template" +msgstr "" + +#: report/api.py:271 +msgid "Error printing label" +msgstr "" + +#: report/api.py:362 report/api.py:398 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:319 -msgid "Test report" -msgstr "" - -#: report/helpers.py:15 +#: report/helpers.py:41 msgid "A4" msgstr "" -#: report/helpers.py:16 +#: report/helpers.py:42 msgid "A3" msgstr "" -#: report/helpers.py:17 +#: report/helpers.py:43 msgid "Legal" msgstr "" -#: report/helpers.py:18 +#: report/helpers.py:44 msgid "Letter" msgstr "" -#: report/models.py:177 +#: report/models.py:118 +msgid "Template file with this name already exists" +msgstr "" + +#: report/models.py:150 msgid "Template name" msgstr "" -#: report/models.py:183 -msgid "Report template file" +#: report/models.py:156 +msgid "Template description" msgstr "" -#: report/models.py:190 -msgid "Report template description" +#: report/models.py:162 +msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:196 -msgid "Report revision number (auto-increments)" +#: report/models.py:202 +msgid "Filename Pattern" msgstr "" -#: report/models.py:204 +#: report/models.py:203 +msgid "Pattern for generating filenames" +msgstr "" + +#: report/models.py:208 +msgid "Template is enabled" +msgstr "" + +#: report/models.py:214 +msgid "Target model type for template" +msgstr "" + +#: report/models.py:234 +msgid "Filters" +msgstr "" + +#: report/models.py:235 +msgid "Template query filters (comma-separated list of key=value pairs)" +msgstr "" + +#: report/models.py:295 report/models.py:362 +msgid "Template file" +msgstr "" + +#: report/models.py:303 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:210 +#: report/models.py:309 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:318 -msgid "Pattern for generating report filenames" +#: report/models.py:368 +msgid "Width [mm]" msgstr "" -#: report/models.py:325 -msgid "Report template is enabled" +#: report/models.py:369 +msgid "Label width, specified in mm" msgstr "" -#: report/models.py:347 -msgid "StockItem query filters (comma-separated list of key=value pairs)" +#: report/models.py:375 +msgid "Height [mm]" msgstr "" -#: report/models.py:354 -msgid "Include Installed Tests" +#: report/models.py:376 +msgid "Label height, specified in mm" msgstr "" -#: report/models.py:356 -msgid "Include test results for stock items installed inside assembled item" +#: report/models.py:439 +msgid "Number of items to process" msgstr "" -#: report/models.py:424 -msgid "Build Filters" +#: report/models.py:445 +msgid "Report generation is complete" msgstr "" -#: report/models.py:425 -msgid "Build query filters (comma-separated list of key=value pairs" +#: report/models.py:449 templates/js/translated/build.js:2177 +msgid "Progress" msgstr "" -#: report/models.py:464 -msgid "Part Filters" +#: report/models.py:449 +msgid "Report generation progress" msgstr "" -#: report/models.py:465 -msgid "Part query filters (comma-separated list of key=value pairs" +#: report/models.py:457 +msgid "Report Template" msgstr "" -#: report/models.py:497 -msgid "Purchase order query filters" +#: report/models.py:464 report/models.py:487 +msgid "Output File" msgstr "" -#: report/models.py:533 -msgid "Sales order query filters" +#: report/models.py:465 report/models.py:488 +msgid "Generated output file" msgstr "" -#: report/models.py:569 -msgid "Return order query filters" +#: report/models.py:476 +msgid "Label output plugin" msgstr "" -#: report/models.py:641 -msgid "Snippet file with this name already exists" +#: report/models.py:480 +msgid "Label Template" msgstr "" -#: report/models.py:648 +#: report/models.py:503 msgid "Snippet" msgstr "" -#: report/models.py:649 +#: report/models.py:504 msgid "Report snippet file" msgstr "" -#: report/models.py:656 +#: report/models.py:511 msgid "Snippet file description" msgstr "" -#: report/models.py:714 -msgid "Asset file with this name already exists" -msgstr "" - -#: report/models.py:722 +#: report/models.py:529 msgid "Asset" msgstr "" -#: report/models.py:723 +#: report/models.py:530 msgid "Report asset file" msgstr "" -#: report/models.py:730 +#: report/models.py:537 msgid "Asset file description" msgstr "" -#: report/models.py:752 -msgid "stock location query filters (comma-separated list of key=value pairs)" +#: report/serializers.py:91 +msgid "Select report template" +msgstr "" + +#: report/serializers.py:99 report/serializers.py:149 +msgid "List of item primary keys to include in the report" +msgstr "" + +#: report/serializers.py:132 +msgid "Select label template" +msgstr "" + +#: report/serializers.py:140 +msgid "Printing Plugin" +msgstr "" + +#: report/serializers.py:141 +msgid "Select plugin to use for label printing" +msgstr "" + +#: report/templates/label/part_label.html:31 +#: report/templates/label/stockitem_qr.html:21 +#: report/templates/label/stocklocation_qr.html:20 +#: templates/allauth_2fa/setup.html:18 +msgid "QR Code" +msgstr "" + +#: report/templates/label/part_label_code128.html:31 +#: report/templates/label/stocklocation_qr_and_text.html:31 +#: templates/qr_code.html:7 +msgid "QR code" msgstr "" #: report/templates/report/inventree_bill_of_materials_report.html:133 msgid "Materials needed" msgstr "" -#: report/templates/report/inventree_build_order_base.html:146 +#: report/templates/report/inventree_build_order_report.html:146 msgid "Required For" msgstr "" -#: report/templates/report/inventree_po_report_base.html:15 +#: report/templates/report/inventree_purchase_order_report.html:15 msgid "Supplier was deleted" msgstr "" -#: report/templates/report/inventree_po_report_base.html:30 -#: report/templates/report/inventree_so_report_base.html:30 +#: report/templates/report/inventree_purchase_order_report.html:30 +#: report/templates/report/inventree_sales_order_report.html:30 #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:834 -#: templates/js/translated/purchase_order.js:2116 -#: templates/js/translated/sales_order.js:1837 +#: templates/js/translated/purchase_order.js:2115 +#: templates/js/translated/sales_order.js:1873 msgid "Unit Price" msgstr "" -#: report/templates/report/inventree_po_report_base.html:55 -#: report/templates/report/inventree_return_order_report_base.html:48 -#: report/templates/report/inventree_so_report_base.html:55 +#: report/templates/report/inventree_purchase_order_report.html:55 +#: report/templates/report/inventree_return_order_report.html:48 +#: report/templates/report/inventree_sales_order_report.html:55 msgid "Extra Line Items" 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:2018 -#: templates/js/translated/sales_order.js:1806 +#: report/templates/report/inventree_purchase_order_report.html:72 +#: report/templates/report/inventree_sales_order_report.html:72 +#: templates/js/translated/purchase_order.js:2017 +#: templates/js/translated/sales_order.js:1842 msgid "Total" msgstr "" -#: report/templates/report/inventree_return_order_report_base.html:25 -#: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:809 stock/templates/stock/item_base.html:311 +#: report/templates/report/inventree_return_order_report.html:25 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:830 +#: stock/serializers.py:150 stock/templates/stock/item_base.html:311 #: templates/js/translated/build.js:519 templates/js/translated/build.js:1367 #: templates/js/translated/build.js:2355 -#: templates/js/translated/model_renderers.js:224 -#: templates/js/translated/return_order.js:540 -#: templates/js/translated/return_order.js:724 +#: templates/js/translated/model_renderers.js:230 +#: templates/js/translated/return_order.js:539 +#: templates/js/translated/return_order.js:723 #: templates/js/translated/sales_order.js:315 -#: templates/js/translated/sales_order.js:1611 -#: templates/js/translated/sales_order.js:1696 +#: templates/js/translated/sales_order.js:1647 +#: templates/js/translated/sales_order.js:1732 #: templates/js/translated/stock.js:596 msgid "Serial Number" msgstr "" -#: report/templates/report/inventree_slr_report.html:97 +#: report/templates/report/inventree_stock_location_report.html:97 msgid "Stock location items" msgstr "" -#: report/templates/report/inventree_test_report_base.html:21 +#: report/templates/report/inventree_test_report.html:21 msgid "Stock Item Test Report" msgstr "" -#: report/templates/report/inventree_test_report_base.html:97 +#: report/templates/report/inventree_test_report.html:97 msgid "Test Results" msgstr "" -#: report/templates/report/inventree_test_report_base.html:102 +#: report/templates/report/inventree_test_report.html:102 #: templates/js/translated/stock.js:1495 msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2442 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2419 msgid "Result" msgstr "" -#: report/templates/report/inventree_test_report_base.html:130 +#: report/templates/report/inventree_test_report.html:130 msgid "Pass" msgstr "" -#: report/templates/report/inventree_test_report_base.html:132 +#: report/templates/report/inventree_test_report.html:132 msgid "Fail" msgstr "" -#: report/templates/report/inventree_test_report_base.html:139 +#: report/templates/report/inventree_test_report.html:139 msgid "No result (required)" msgstr "" -#: report/templates/report/inventree_test_report_base.html:141 +#: report/templates/report/inventree_test_report.html:141 msgid "No result" msgstr "" -#: report/templates/report/inventree_test_report_base.html:154 +#: report/templates/report/inventree_test_report.html:154 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report_base.html:168 -#: stock/admin.py:162 templates/js/translated/stock.js:700 -#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3113 +#: report/templates/report/inventree_test_report.html:168 stock/admin.py:162 +#: templates/js/translated/stock.js:700 templates/js/translated/stock.js:871 +#: templates/js/translated/stock.js:3110 msgid "Serial" msgstr "" @@ -8757,7 +8792,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:201 stock/models.py:789 +#: stock/admin.py:201 stock/models.py:810 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" @@ -8782,66 +8817,66 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:256 stock/models.py:883 +#: stock/admin.py:256 stock/models.py:904 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2232 users/models.py:124 +#: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" msgstr "" -#: stock/api.py:284 +#: stock/api.py:318 msgid "Filter by location depth" msgstr "" -#: stock/api.py:304 +#: stock/api.py:338 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:325 +#: stock/api.py:359 msgid "Parent Location" msgstr "" -#: stock/api.py:326 +#: stock/api.py:360 msgid "Filter by parent location" msgstr "" -#: stock/api.py:579 templates/js/translated/table_filters.js:427 +#: stock/api.py:613 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:767 +#: stock/api.py:801 msgid "Part Tree" msgstr "" -#: stock/api.py:797 +#: stock/api.py:831 msgid "Expiry date before" msgstr "" -#: stock/api.py:801 +#: stock/api.py:835 msgid "Expiry date after" msgstr "" -#: stock/api.py:804 stock/templates/stock/item_base.html:439 +#: stock/api.py:838 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:891 +#: stock/api.py:925 msgid "Quantity is required" msgstr "" -#: stock/api.py:897 +#: stock/api.py:931 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:928 +#: stock/api.py:962 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:938 +#: stock/api.py:972 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:969 +#: stock/api.py:1003 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8857,477 +8892,517 @@ msgstr "" msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:125 stock/models.py:771 +#: stock/models.py:127 stock/models.py:792 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:126 stock/templates/stock/location.html:179 +#: stock/models.py:128 stock/templates/stock/location.html:186 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "" -#: stock/models.py:158 stock/models.py:932 +#: stock/models.py:170 stock/models.py:953 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:159 stock/models.py:933 +#: stock/models.py:171 stock/models.py:954 msgid "Select Owner" msgstr "" -#: stock/models.py:167 +#: stock/models.py:179 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:174 templates/js/translated/stock.js:2784 +#: stock/models.py:186 templates/js/translated/stock.js:2781 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "" -#: stock/models.py:175 +#: stock/models.py:187 msgid "This is an external stock location" msgstr "" -#: stock/models.py:181 templates/js/translated/stock.js:2793 +#: stock/models.py:193 templates/js/translated/stock.js:2790 #: templates/js/translated/table_filters.js:246 msgid "Location type" msgstr "" -#: stock/models.py:185 +#: stock/models.py:197 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:254 +#: stock/models.py:266 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:626 +#: stock/models.py:647 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:653 stock/serializers.py:290 +#: stock/models.py:674 stock/serializers.py:419 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:670 +#: stock/models.py:691 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:680 stock/models.py:693 +#: stock/models.py:701 stock/models.py:714 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:683 +#: stock/models.py:704 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:707 +#: stock/models.py:728 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:712 +#: stock/models.py:733 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:725 +#: stock/models.py:746 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:741 +#: stock/models.py:762 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:753 +#: stock/models.py:774 msgid "Base part" msgstr "" -#: stock/models.py:763 +#: stock/models.py:784 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:775 +#: stock/models.py:796 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:783 stock/serializers.py:1351 +#: stock/models.py:804 stock/serializers.py:1480 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:794 +#: stock/models.py:815 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:813 +#: stock/models.py:834 msgid "Serial number for this item" msgstr "" -#: stock/models.py:827 stock/serializers.py:1334 +#: stock/models.py:848 stock/serializers.py:1463 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:832 +#: stock/models.py:853 msgid "Stock Quantity" msgstr "" -#: stock/models.py:842 +#: stock/models.py:863 msgid "Source Build" msgstr "" -#: stock/models.py:845 +#: stock/models.py:866 msgid "Build for this stock item" msgstr "" -#: stock/models.py:852 stock/templates/stock/item_base.html:363 +#: stock/models.py:873 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:855 +#: stock/models.py:876 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:864 +#: stock/models.py:885 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:868 +#: stock/models.py:889 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:874 +#: stock/models.py:895 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:885 +#: stock/models.py:906 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:903 +#: stock/models.py:924 msgid "Delete on deplete" msgstr "" -#: stock/models.py:904 +#: stock/models.py:925 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:924 +#: stock/models.py:945 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:955 +#: stock/models.py:976 msgid "Converted to part" msgstr "" -#: stock/models.py:1473 +#: stock/models.py:1494 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1479 +#: stock/models.py:1500 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1487 +#: stock/models.py:1508 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1493 +#: stock/models.py:1514 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1498 +#: stock/models.py:1519 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1506 stock/serializers.py:529 +#: stock/models.py:1527 stock/serializers.py:658 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1603 +#: stock/models.py:1624 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1621 +#: stock/models.py:1642 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1625 +#: stock/models.py:1646 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1628 +#: stock/models.py:1649 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1631 +#: stock/models.py:1652 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1634 +#: stock/models.py:1655 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1637 +#: stock/models.py:1658 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1644 stock/serializers.py:1240 +#: stock/models.py:1665 stock/serializers.py:1369 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1648 +#: stock/models.py:1669 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1656 +#: stock/models.py:1677 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1661 +#: stock/models.py:1682 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1882 +#: stock/models.py:1903 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2345 +#: stock/models.py:2322 msgid "Entry notes" msgstr "" -#: stock/models.py:2410 +#: stock/models.py:2387 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2415 +#: stock/models.py:2392 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2442 +#: stock/models.py:2419 msgid "Test result" msgstr "" -#: stock/models.py:2449 +#: stock/models.py:2426 msgid "Test output value" msgstr "" -#: stock/models.py:2457 +#: stock/models.py:2434 msgid "Test result attachment" msgstr "" -#: stock/models.py:2461 +#: stock/models.py:2438 msgid "Test notes" msgstr "" -#: stock/models.py:2469 templates/js/translated/stock.js:1548 +#: stock/models.py:2446 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "" -#: stock/models.py:2470 +#: stock/models.py:2447 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2476 +#: stock/models.py:2453 msgid "Started" msgstr "" -#: stock/models.py:2477 +#: stock/models.py:2454 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2483 +#: stock/models.py:2460 msgid "Finished" msgstr "" -#: stock/models.py:2484 +#: stock/models.py:2461 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:100 +#: stock/serializers.py:75 +msgid "Generated batch code" +msgstr "" + +#: stock/serializers.py:84 +msgid "Select build order" +msgstr "" + +#: stock/serializers.py:93 +msgid "Select stock item to generate batch code for" +msgstr "" + +#: stock/serializers.py:102 +msgid "Select location to generate batch code for" +msgstr "" + +#: stock/serializers.py:111 +msgid "Select part to generate batch code for" +msgstr "" + +#: stock/serializers.py:120 +msgid "Select purchase order" +msgstr "" + +#: stock/serializers.py:127 +msgid "Enter quantity for batch code" +msgstr "" + +#: stock/serializers.py:150 +msgid "Generated serial number" +msgstr "" + +#: stock/serializers.py:159 +msgid "Select part to generate serial number for" +msgstr "" + +#: stock/serializers.py:167 +msgid "Quantity of serial numbers to generate" +msgstr "" + +#: stock/serializers.py:229 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:119 +#: stock/serializers.py:248 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:151 +#: stock/serializers.py:280 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:184 +#: stock/serializers.py:313 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:282 +#: stock/serializers.py:411 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:402 +#: stock/serializers.py:531 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:464 +#: stock/serializers.py:593 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:477 +#: stock/serializers.py:606 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:484 +#: stock/serializers.py:613 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:495 stock/serializers.py:1197 stock/serializers.py:1453 +#: stock/serializers.py:624 stock/serializers.py:1326 stock/serializers.py:1582 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:502 +#: stock/serializers.py:631 msgid "Optional note field" msgstr "" -#: stock/serializers.py:512 +#: stock/serializers.py:641 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:567 +#: stock/serializers.py:696 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:574 +#: stock/serializers.py:703 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:575 +#: stock/serializers.py:704 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:580 stock/serializers.py:660 stock/serializers.py:756 -#: stock/serializers.py:806 +#: stock/serializers.py:709 stock/serializers.py:789 stock/serializers.py:885 +#: stock/serializers.py:935 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:588 +#: stock/serializers.py:717 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:596 +#: stock/serializers.py:725 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:607 +#: stock/serializers.py:736 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:620 +#: stock/serializers.py:749 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:655 +#: stock/serializers.py:784 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:690 +#: stock/serializers.py:819 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:703 +#: stock/serializers.py:832 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:720 +#: stock/serializers.py:849 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:751 +#: stock/serializers.py:880 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:788 +#: stock/serializers.py:917 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:794 +#: stock/serializers.py:923 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:890 stock/serializers.py:953 +#: stock/serializers.py:1019 stock/serializers.py:1082 #: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:213 +#: stock/templates/stock/location.html:220 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1069 +#: stock/serializers.py:1198 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1073 +#: stock/serializers.py:1202 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1077 +#: stock/serializers.py:1206 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1101 +#: stock/serializers.py:1230 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1107 +#: stock/serializers.py:1236 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1115 +#: stock/serializers.py:1244 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1125 stock/serializers.py:1379 +#: stock/serializers.py:1254 stock/serializers.py:1508 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1204 +#: stock/serializers.py:1333 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1209 +#: stock/serializers.py:1338 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1210 +#: stock/serializers.py:1339 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1215 +#: stock/serializers.py:1344 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1216 +#: stock/serializers.py:1345 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1226 +#: stock/serializers.py:1355 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1293 +#: stock/serializers.py:1422 msgid "No Change" msgstr "" -#: stock/serializers.py:1322 +#: stock/serializers.py:1451 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1341 +#: stock/serializers.py:1470 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1369 +#: stock/serializers.py:1498 msgid "Stock transaction notes" msgstr "" @@ -9352,7 +9427,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:286 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:282 msgid "Delete Test Data" msgstr "" @@ -9368,15 +9443,15 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3274 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3271 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:274 +#: stock/templates/stock/item.html:270 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:304 templates/js/translated/stock.js:1701 +#: stock/templates/stock/item.html:300 templates/js/translated/stock.js:1701 msgid "Add Test Result" msgstr "" @@ -9561,40 +9636,40 @@ msgstr "" msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:507 -#: templates/js/translated/stock.js:1954 +#: stock/templates/stock/item_base.html:504 +#: templates/js/translated/stock.js:1952 msgid "stock item" msgstr "" -#: stock/templates/stock/item_base.html:532 +#: stock/templates/stock/item_base.html:527 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:541 +#: stock/templates/stock/item_base.html:536 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:552 +#: stock/templates/stock/item_base.html:547 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:616 +#: stock/templates/stock/item_base.html:611 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:619 +#: stock/templates/stock/item_base.html:614 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:620 +#: stock/templates/stock/item_base.html:615 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:628 +#: stock/templates/stock/item_base.html:623 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:662 +#: stock/templates/stock/item_base.html:657 msgid "Return to Stock" msgstr "" @@ -9658,28 +9733,32 @@ msgstr "" msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:217 +#: stock/templates/stock/location.html:176 +msgid "Location Type" +msgstr "" + +#: stock/templates/stock/location.html:224 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:218 +#: stock/templates/stock/location.html:225 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:287 -#: templates/js/translated/stock.js:2575 +#: stock/templates/stock/location.html:295 +#: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:315 +#: stock/templates/stock/location.html:317 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:388 +#: stock/templates/stock/location.html:390 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:399 +#: stock/templates/stock/location.html:401 msgid "Link Barcode to Stock Location" msgstr "" @@ -9949,11 +10028,11 @@ msgstr "" msgid "Part Settings" msgstr "" -#: templates/InvenTree/settings/part.html:42 +#: templates/InvenTree/settings/part.html:43 msgid "Part Import" msgstr "" -#: templates/InvenTree/settings/part.html:46 +#: templates/InvenTree/settings/part.html:47 msgid "Import Part" msgstr "" @@ -10174,7 +10253,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:424 +#: templates/js/translated/stock.js:245 users/models.py:411 msgid "Delete" msgstr "" @@ -10283,7 +10362,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2159 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2163 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" @@ -10874,7 +10953,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3218 +#: templates/js/translated/part.js:3217 msgid "Minimum Quantity" msgstr "" @@ -11254,7 +11333,7 @@ msgid "External stock" msgstr "" #: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2595 -#: templates/js/translated/sales_order.js:1910 +#: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" @@ -11264,7 +11343,7 @@ msgstr "" #: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 #: templates/js/translated/part.js:1256 -#: templates/js/translated/sales_order.js:1907 +#: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" @@ -11519,17 +11598,17 @@ msgstr "" #: templates/js/translated/build.js:1576 #: templates/js/translated/purchase_order.js:611 -#: templates/js/translated/sales_order.js:1171 +#: templates/js/translated/sales_order.js:1207 msgid "Select Parts" msgstr "" #: templates/js/translated/build.js:1577 -#: templates/js/translated/sales_order.js:1172 +#: templates/js/translated/sales_order.js:1208 msgid "You must select at least one part to allocate" msgstr "" #: templates/js/translated/build.js:1640 -#: templates/js/translated/sales_order.js:1121 +#: templates/js/translated/sales_order.js:1157 msgid "Specify stock allocation quantity" msgstr "" @@ -11542,7 +11621,7 @@ msgid "All selected parts have been fully allocated" msgstr "" #: templates/js/translated/build.js:1732 -#: templates/js/translated/sales_order.js:1186 +#: templates/js/translated/sales_order.js:1222 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -11551,12 +11630,12 @@ msgid "Allocate Stock Items to Build Order" msgstr "" #: templates/js/translated/build.js:1771 -#: templates/js/translated/sales_order.js:1283 +#: templates/js/translated/sales_order.js:1319 msgid "No matching stock locations" msgstr "" #: templates/js/translated/build.js:1844 -#: templates/js/translated/sales_order.js:1362 +#: templates/js/translated/sales_order.js:1398 msgid "No matching stock items" msgstr "" @@ -11589,9 +11668,9 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 -#: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 -#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 -#: templates/js/translated/stock.js:1985 templates/js/translated/stock.js:2713 +#: templates/js/translated/forms.js:2159 templates/js/translated/forms.js:2175 +#: templates/js/translated/part.js:2315 templates/js/translated/part.js:2741 +#: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "" @@ -11599,21 +11678,17 @@ msgstr "" msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2177 -msgid "Progress" -msgstr "" - -#: templates/js/translated/build.js:2213 templates/js/translated/stock.js:3045 +#: templates/js/translated/build.js:2213 templates/js/translated/stock.js:3042 msgid "No user information" msgstr "" #: templates/js/translated/build.js:2389 -#: templates/js/translated/sales_order.js:1646 +#: templates/js/translated/sales_order.js:1682 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:2390 -#: templates/js/translated/sales_order.js:1647 +#: templates/js/translated/sales_order.js:1683 msgid "Delete stock allocation" msgstr "" @@ -11647,7 +11722,7 @@ msgid "Unit Quantity" msgstr "" #: templates/js/translated/build.js:2591 -#: templates/js/translated/sales_order.js:1915 +#: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" @@ -11664,7 +11739,7 @@ msgid "Allocate tracked items against individual build outputs" msgstr "" #: templates/js/translated/build.js:2662 -#: templates/js/translated/sales_order.js:2016 +#: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "" @@ -11673,7 +11748,7 @@ msgid "Order stock" msgstr "" #: templates/js/translated/build.js:2671 -#: templates/js/translated/sales_order.js:2010 +#: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "" @@ -11923,12 +11998,12 @@ msgid "Delete price break" msgstr "" #: templates/js/translated/filters.js:186 -#: templates/js/translated/filters.js:672 +#: templates/js/translated/filters.js:667 msgid "true" msgstr "" #: templates/js/translated/filters.js:190 -#: templates/js/translated/filters.js:673 +#: templates/js/translated/filters.js:668 msgid "false" msgstr "" @@ -11960,7 +12035,7 @@ msgstr "" msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:582 +#: templates/js/translated/filters.js:577 msgid "Create filter" msgstr "" @@ -11993,32 +12068,32 @@ msgstr "" msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1473 templates/modals.html:19 +#: templates/js/translated/forms.js:1477 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1971 +#: templates/js/translated/forms.js:1975 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2275 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2279 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2489 +#: templates/js/translated/forms.js:2493 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3091 +#: templates/js/translated/forms.js:3095 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3091 +#: templates/js/translated/forms.js:3095 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3103 +#: templates/js/translated/forms.js:3107 msgid "Select Columns" msgstr "" @@ -12042,51 +12117,15 @@ msgstr "" msgid "No parts required for builds" msgstr "" -#: templates/js/translated/label.js:53 templates/js/translated/report.js:123 +#: templates/js/translated/label.js:55 templates/js/translated/report.js:38 msgid "Select Items" msgstr "" -#: templates/js/translated/label.js:54 +#: templates/js/translated/label.js:56 templates/js/translated/report.js:39 msgid "No items selected for printing" msgstr "" -#: templates/js/translated/label.js:72 -msgid "No Labels Found" -msgstr "" - -#: templates/js/translated/label.js:73 -msgid "No label templates found which match the selected items" -msgstr "" - -#: templates/js/translated/label.js:97 -msgid "selected" -msgstr "" - -#: templates/js/translated/label.js:133 -msgid "Printing Options" -msgstr "" - -#: templates/js/translated/label.js:148 -msgid "Print label" -msgstr "" - -#: templates/js/translated/label.js:148 -msgid "Print labels" -msgstr "" - #: templates/js/translated/label.js:149 -msgid "Print" -msgstr "" - -#: templates/js/translated/label.js:155 -msgid "Select label template" -msgstr "" - -#: templates/js/translated/label.js:168 -msgid "Select plugin" -msgstr "" - -#: templates/js/translated/label.js:187 msgid "Labels sent to printer" msgstr "" @@ -12204,7 +12243,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1991 +#: templates/js/translated/purchase_order.js:1990 msgid "No line items found" msgstr "" @@ -12442,19 +12481,19 @@ msgid "Delete Part Parameter Template" msgstr "" #: templates/js/translated/part.js:1716 -#: templates/js/translated/purchase_order.js:1655 +#: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1860 -#: templates/js/translated/purchase_order.js:2154 -#: templates/js/translated/return_order.js:756 -#: templates/js/translated/sales_order.js:1875 +#: templates/js/translated/purchase_order.js:2153 +#: templates/js/translated/return_order.js:755 +#: templates/js/translated/sales_order.js:1911 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1906 -#: templates/js/translated/purchase_order.js:2221 +#: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "" @@ -12466,7 +12505,7 @@ msgstr "" msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2506 +#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2505 msgid "No parts found" msgstr "" @@ -12482,101 +12521,101 @@ msgstr "" msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2286 msgid "part" msgstr "" -#: templates/js/translated/part.js:2288 +#: templates/js/translated/part.js:2287 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2384 +#: templates/js/translated/part.js:2383 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 -#: templates/js/translated/stock.js:2672 +#: templates/js/translated/part.js:2530 templates/js/translated/part.js:2660 +#: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2547 +#: templates/js/translated/part.js:2546 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2645 +#: templates/js/translated/part.js:2644 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2692 +#: templates/js/translated/part.js:2680 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2761 +#: templates/js/translated/part.js:2760 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2777 +#: templates/js/translated/part.js:2776 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2864 +#: templates/js/translated/part.js:2863 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2886 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2885 templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2935 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2941 +#: templates/js/translated/part.js:2940 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2957 +#: templates/js/translated/part.js:2956 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2971 +#: templates/js/translated/part.js:2970 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3050 templates/js/translated/part.js:3051 +#: templates/js/translated/part.js:3049 templates/js/translated/part.js:3050 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3053 +#: templates/js/translated/part.js:3052 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3059 +#: templates/js/translated/part.js:3058 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3109 +#: templates/js/translated/part.js:3108 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3115 +#: templates/js/translated/part.js:3114 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3211 +#: templates/js/translated/part.js:3210 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3227 +#: templates/js/translated/part.js:3226 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3272 +#: templates/js/translated/part.js:3271 msgid "Minimum Stock Level" msgstr "" @@ -12702,7 +12741,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:448 #: templates/js/translated/return_order.js:210 -#: templates/js/translated/sales_order.js:500 +#: templates/js/translated/sales_order.js:552 msgid "Mark this order as complete?" msgstr "" @@ -12715,7 +12754,6 @@ msgid "This order has line items which have not been marked as received." msgstr "" #: templates/js/translated/purchase_order.js:460 -#: templates/js/translated/sales_order.js:514 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" @@ -12773,12 +12811,12 @@ msgid "No matching purchase orders" msgstr "" #: templates/js/translated/purchase_order.js:1073 -#: templates/js/translated/return_order.js:491 +#: templates/js/translated/return_order.js:490 msgid "Select Line Items" msgstr "" #: templates/js/translated/purchase_order.js:1074 -#: templates/js/translated/return_order.js:492 +#: templates/js/translated/return_order.js:491 msgid "At least one line item must be selected" msgstr "" @@ -12827,7 +12865,7 @@ msgid "Quantity to Receive" msgstr "" #: templates/js/translated/purchase_order.js:1333 -#: templates/js/translated/return_order.js:561 +#: templates/js/translated/return_order.js:560 msgid "Confirm receipt of items" msgstr "" @@ -12847,81 +12885,66 @@ msgstr "" msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1682 -#: templates/js/translated/return_order.js:286 -#: templates/js/translated/sales_order.js:774 -#: templates/js/translated/sales_order.js:998 +#: templates/js/translated/purchase_order.js:1681 +#: templates/js/translated/return_order.js:285 +#: templates/js/translated/sales_order.js:810 +#: templates/js/translated/sales_order.js:1034 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1748 -#: templates/js/translated/return_order.js:354 -#: templates/js/translated/sales_order.js:851 -#: templates/js/translated/sales_order.js:1011 -msgid "Items" -msgstr "" - -#: templates/js/translated/purchase_order.js:1844 +#: templates/js/translated/purchase_order.js:1843 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1862 +#: templates/js/translated/purchase_order.js:1861 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1917 -#: templates/js/translated/sales_order.js:2070 +#: templates/js/translated/purchase_order.js:1916 +#: templates/js/translated/sales_order.js:2106 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1932 -#: templates/js/translated/return_order.js:476 -#: templates/js/translated/return_order.js:669 -#: templates/js/translated/sales_order.js:2083 +#: templates/js/translated/purchase_order.js:1931 +#: templates/js/translated/return_order.js:475 +#: templates/js/translated/return_order.js:668 +#: templates/js/translated/sales_order.js:2119 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1943 -#: templates/js/translated/return_order.js:682 -#: templates/js/translated/sales_order.js:2094 +#: templates/js/translated/purchase_order.js:1942 +#: templates/js/translated/return_order.js:681 +#: templates/js/translated/sales_order.js:2130 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2225 -#: templates/js/translated/sales_order.js:2024 +#: templates/js/translated/purchase_order.js:2224 +#: templates/js/translated/sales_order.js:2060 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2226 -#: templates/js/translated/return_order.js:801 -#: templates/js/translated/sales_order.js:2025 +#: templates/js/translated/purchase_order.js:2225 +#: templates/js/translated/return_order.js:800 +#: templates/js/translated/sales_order.js:2061 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2227 -#: templates/js/translated/return_order.js:805 -#: templates/js/translated/sales_order.js:2031 +#: templates/js/translated/purchase_order.js:2226 +#: templates/js/translated/return_order.js:804 +#: templates/js/translated/sales_order.js:2067 msgid "Delete line item" msgstr "" -#: templates/js/translated/report.js:63 -msgid "items selected" +#: templates/js/translated/report.js:49 +msgid "Print Report" msgstr "" -#: templates/js/translated/report.js:71 -msgid "Select Report Template" +#: templates/js/translated/report.js:68 +msgid "Report print successful" msgstr "" -#: templates/js/translated/report.js:86 -msgid "Select Test Report Template" -msgstr "" - -#: templates/js/translated/report.js:140 -msgid "No Reports Found" -msgstr "" - -#: templates/js/translated/report.js:141 -msgid "No report templates found which match the selected items" +#: templates/js/translated/report.js:73 +msgid "Report printing failed" msgstr "" #: templates/js/translated/return_order.js:60 @@ -12953,25 +12976,25 @@ msgstr "" msgid "Complete Return Order" msgstr "" -#: templates/js/translated/return_order.js:266 +#: templates/js/translated/return_order.js:265 msgid "No return orders found" msgstr "" -#: templates/js/translated/return_order.js:300 -#: templates/js/translated/sales_order.js:788 +#: templates/js/translated/return_order.js:299 +#: templates/js/translated/sales_order.js:824 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/return_order.js:562 +#: templates/js/translated/return_order.js:561 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:693 -#: templates/js/translated/sales_order.js:2231 +#: templates/js/translated/return_order.js:692 +#: templates/js/translated/sales_order.js:2267 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:798 +#: templates/js/translated/return_order.js:797 msgid "Mark item as received" msgstr "" @@ -13015,140 +13038,156 @@ msgstr "" msgid "Skip" msgstr "" +#: templates/js/translated/sales_order.js:484 +msgid "Ship Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:500 +msgid "Ship this order?" +msgstr "" + +#: templates/js/translated/sales_order.js:506 +msgid "Order cannot be shipped as there are incomplete shipments" +msgstr "" + #: templates/js/translated/sales_order.js:513 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/sales_order.js:535 +#: templates/js/translated/sales_order.js:514 +msgid "Shipping this order means that the order and line items will no longer be editable." +msgstr "" + +#: templates/js/translated/sales_order.js:572 msgid "Issue this Sales Order?" msgstr "" -#: templates/js/translated/sales_order.js:540 +#: templates/js/translated/sales_order.js:577 msgid "Issue Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:559 +#: templates/js/translated/sales_order.js:596 msgid "Cancel Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:564 +#: templates/js/translated/sales_order.js:601 msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: templates/js/translated/sales_order.js:618 +#: templates/js/translated/sales_order.js:655 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/sales_order.js:728 +#: templates/js/translated/sales_order.js:764 msgid "No sales orders found" msgstr "" -#: templates/js/translated/sales_order.js:908 +#: templates/js/translated/sales_order.js:944 msgid "Edit shipment" msgstr "" -#: templates/js/translated/sales_order.js:911 +#: templates/js/translated/sales_order.js:947 msgid "Complete shipment" msgstr "" -#: templates/js/translated/sales_order.js:916 +#: templates/js/translated/sales_order.js:952 msgid "Delete shipment" msgstr "" -#: templates/js/translated/sales_order.js:933 +#: templates/js/translated/sales_order.js:969 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/sales_order.js:948 +#: templates/js/translated/sales_order.js:984 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:981 +#: templates/js/translated/sales_order.js:1017 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/sales_order.js:1006 +#: templates/js/translated/sales_order.js:1042 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/sales_order.js:1030 -#: templates/js/translated/sales_order.js:1529 +#: templates/js/translated/sales_order.js:1066 +#: templates/js/translated/sales_order.js:1565 msgid "Not shipped" msgstr "" -#: templates/js/translated/sales_order.js:1048 +#: templates/js/translated/sales_order.js:1084 msgid "Tracking" msgstr "" -#: templates/js/translated/sales_order.js:1052 +#: templates/js/translated/sales_order.js:1088 msgid "Invoice" msgstr "" -#: templates/js/translated/sales_order.js:1219 +#: templates/js/translated/sales_order.js:1255 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1270 +#: templates/js/translated/sales_order.js:1306 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/sales_order.js:1271 +#: templates/js/translated/sales_order.js:1307 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1477 +#: templates/js/translated/sales_order.js:1513 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1569 +#: templates/js/translated/sales_order.js:1605 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1583 +#: templates/js/translated/sales_order.js:1619 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/sales_order.js:1584 +#: templates/js/translated/sales_order.js:1620 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1623 -#: templates/js/translated/sales_order.js:1710 +#: templates/js/translated/sales_order.js:1659 +#: templates/js/translated/sales_order.js:1746 #: templates/js/translated/stock.js:1776 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/sales_order.js:1631 -#: templates/js/translated/sales_order.js:1719 +#: templates/js/translated/sales_order.js:1667 +#: templates/js/translated/sales_order.js:1755 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:2008 +#: templates/js/translated/sales_order.js:2044 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/sales_order.js:2012 +#: templates/js/translated/sales_order.js:2048 msgid "Purchase stock" msgstr "" -#: templates/js/translated/sales_order.js:2021 -#: templates/js/translated/sales_order.js:2209 +#: templates/js/translated/sales_order.js:2057 +#: templates/js/translated/sales_order.js:2245 msgid "Calculate price" msgstr "" -#: templates/js/translated/sales_order.js:2035 +#: templates/js/translated/sales_order.js:2071 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:2038 +#: templates/js/translated/sales_order.js:2074 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:2109 +#: templates/js/translated/sales_order.js:2145 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/sales_order.js:2217 +#: templates/js/translated/sales_order.js:2253 msgid "Update Unit Price" msgstr "" @@ -13356,7 +13395,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1042 users/models.py:414 +#: templates/js/translated/stock.js:1042 users/models.py:401 msgid "Add" msgstr "" @@ -13372,7 +13411,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1180 templates/js/translated/stock.js:3302 +#: templates/js/translated/stock.js:1180 templates/js/translated/stock.js:3299 msgid "Select Stock Items" msgstr "" @@ -13456,196 +13495,196 @@ msgstr "" msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:1955 +#: templates/js/translated/stock.js:1953 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1960 +#: templates/js/translated/stock.js:1958 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:1971 +#: templates/js/translated/stock.js:1969 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:2015 +#: templates/js/translated/stock.js:2013 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2093 +#: templates/js/translated/stock.js:2091 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2098 +#: templates/js/translated/stock.js:2096 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2101 +#: templates/js/translated/stock.js:2099 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2104 +#: templates/js/translated/stock.js:2102 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2106 +#: templates/js/translated/stock.js:2104 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2108 +#: templates/js/translated/stock.js:2106 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2111 +#: templates/js/translated/stock.js:2109 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2113 +#: templates/js/translated/stock.js:2111 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2117 +#: templates/js/translated/stock.js:2115 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2119 +#: templates/js/translated/stock.js:2117 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2124 +#: templates/js/translated/stock.js:2122 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2126 +#: templates/js/translated/stock.js:2124 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2128 +#: templates/js/translated/stock.js:2126 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2132 +#: templates/js/translated/stock.js:2130 #: templates/js/translated/table_filters.js:350 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2297 +#: templates/js/translated/stock.js:2295 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2344 +#: templates/js/translated/stock.js:2342 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2472 +#: templates/js/translated/stock.js:2470 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2576 +#: templates/js/translated/stock.js:2573 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2731 +#: templates/js/translated/stock.js:2728 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2849 +#: templates/js/translated/stock.js:2846 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2853 +#: templates/js/translated/stock.js:2850 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2865 +#: templates/js/translated/stock.js:2862 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2887 +#: templates/js/translated/stock.js:2884 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2904 +#: templates/js/translated/stock.js:2901 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2919 +#: templates/js/translated/stock.js:2916 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2936 +#: templates/js/translated/stock.js:2933 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:2950 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2972 +#: templates/js/translated/stock.js:2969 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2990 +#: templates/js/translated/stock.js:2987 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:3008 +#: templates/js/translated/stock.js:3005 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:3016 +#: templates/js/translated/stock.js:3013 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3088 +#: templates/js/translated/stock.js:3085 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3142 templates/js/translated/stock.js:3178 +#: templates/js/translated/stock.js:3139 templates/js/translated/stock.js:3175 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3200 +#: templates/js/translated/stock.js:3197 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3221 +#: templates/js/translated/stock.js:3218 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3222 +#: templates/js/translated/stock.js:3219 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3224 +#: templates/js/translated/stock.js:3221 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3225 +#: templates/js/translated/stock.js:3222 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3226 +#: templates/js/translated/stock.js:3223 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3227 +#: templates/js/translated/stock.js:3224 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3240 +#: templates/js/translated/stock.js:3237 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3303 +#: templates/js/translated/stock.js:3300 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3316 +#: templates/js/translated/stock.js:3313 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3320 +#: templates/js/translated/stock.js:3317 msgid "Change Stock Status" msgstr "" @@ -14247,34 +14286,35 @@ msgstr "" msgid "Revoked" msgstr "" -#: users/models.py:397 +#: users/models.py:384 msgid "Permission set" msgstr "" -#: users/models.py:406 +#: users/models.py:393 msgid "Group" msgstr "" -#: users/models.py:410 +#: users/models.py:397 msgid "View" msgstr "" -#: users/models.py:410 +#: users/models.py:397 msgid "Permission to view items" msgstr "" -#: users/models.py:414 +#: users/models.py:401 msgid "Permission to add items" msgstr "" -#: users/models.py:418 +#: users/models.py:405 msgid "Change" msgstr "" -#: users/models.py:420 +#: users/models.py:407 msgid "Permissions to edit items" msgstr "" -#: users/models.py:426 +#: users/models.py:413 msgid "Permission to delete items" msgstr "" + diff --git a/src/backend/InvenTree/locale/sr/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/sr/LC_MESSAGES/django.po index e674132ee5..e1f92429b0 100644 --- a/src/backend/InvenTree/locale/sr/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/sr/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-10 05:37+0000\n" -"PO-Revision-Date: 2024-05-10 08:31\n" +"POT-Creation-Date: 2024-05-23 11:25+0000\n" +"PO-Revision-Date: 2024-05-23 11:39\n" "Last-Translator: \n" "Language-Team: Serbian (Latin)\n" "Language: sr_CS\n" @@ -17,11 +17,11 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 216\n" -#: InvenTree/api.py:271 +#: InvenTree/api.py:272 msgid "API endpoint not found" msgstr "API krajnja tačka nije pronađena" -#: InvenTree/api.py:535 +#: InvenTree/api.py:536 msgid "User does not have permission to view this model" msgstr "Korisnik nema dozvolu za pregled ovog modela" @@ -56,26 +56,26 @@ msgstr "Detalji o grešci se mogu naći u admin sekciji" msgid "Enter date" msgstr "Unesite datum" -#: InvenTree/fields.py:208 InvenTree/models.py:1021 build/serializers.py:444 -#: build/serializers.py:522 build/templates/build/sidebar.html:21 +#: InvenTree/fields.py:208 InvenTree/models.py:1035 build/serializers.py:443 +#: build/serializers.py:521 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 -#: order/models.py:1283 order/templates/order/po_sidebar.html:11 +#: order/models.py:1323 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:59 -#: part/models.py:3175 part/templates/part/part_sidebar.html:63 -#: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:226 stock/models.py:2344 stock/models.py:2461 -#: stock/serializers.py:501 stock/serializers.py:659 stock/serializers.py:755 -#: stock/serializers.py:805 stock/serializers.py:1114 stock/serializers.py:1203 -#: stock/serializers.py:1368 stock/templates/stock/stock_sidebar.html:25 +#: part/models.py:3218 part/templates/part/part_sidebar.html:63 +#: report/templates/report/inventree_build_order_report.html:172 +#: stock/admin.py:226 stock/models.py:2321 stock/models.py:2438 +#: stock/serializers.py:630 stock/serializers.py:788 stock/serializers.py:884 +#: stock/serializers.py:934 stock/serializers.py:1243 stock/serializers.py:1332 +#: stock/serializers.py:1497 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1080 -#: templates/js/translated/purchase_order.js:2201 -#: templates/js/translated/return_order.js:776 -#: templates/js/translated/sales_order.js:1067 -#: templates/js/translated/sales_order.js:1982 -#: templates/js/translated/stock.js:1536 templates/js/translated/stock.js:2430 +#: templates/js/translated/purchase_order.js:2200 +#: templates/js/translated/return_order.js:775 +#: templates/js/translated/sales_order.js:1103 +#: templates/js/translated/sales_order.js:2018 +#: templates/js/translated/stock.js:1536 templates/js/translated/stock.js:2428 msgid "Notes" msgstr "Napomene" @@ -132,7 +132,7 @@ msgstr "Navedeni domen adrese e-pošte nije prihvaćen." msgid "Registration is disabled." msgstr "Registracija je onemogućena." -#: InvenTree/helpers.py:525 order/models.py:541 order/models.py:743 +#: InvenTree/helpers.py:525 order/models.py:563 order/models.py:765 msgid "Invalid quantity provided" msgstr "Isporučena nevažeća količina" @@ -355,142 +355,142 @@ msgstr "E-Pošta" msgid "Error running plugin validation" msgstr "" -#: InvenTree/models.py:162 +#: InvenTree/models.py:176 msgid "Metadata must be a python dict object" msgstr "Metapodaci moraju biti \"python dict\" objekat" -#: InvenTree/models.py:168 +#: InvenTree/models.py:182 msgid "Plugin Metadata" msgstr "Metapodaci dodatka" -#: InvenTree/models.py:169 +#: InvenTree/models.py:183 msgid "JSON metadata field, for use by external plugins" msgstr "Polje metapodataka JSON, za korištenje eksternih dodataka" -#: InvenTree/models.py:399 +#: InvenTree/models.py:413 msgid "Improperly formatted pattern" msgstr "Neispravno formatiran obrazac" -#: InvenTree/models.py:406 +#: InvenTree/models.py:420 msgid "Unknown format key specified" msgstr "Naveden je ključ nepoznatog formata" -#: InvenTree/models.py:412 +#: InvenTree/models.py:426 msgid "Missing required format key" msgstr "Nedostaje potreban ključ formata" -#: InvenTree/models.py:423 +#: InvenTree/models.py:437 msgid "Reference field cannot be empty" msgstr "Polje za reference ne može biti prazno" -#: InvenTree/models.py:431 +#: InvenTree/models.py:445 msgid "Reference must match required pattern" msgstr "Referenca mora odgovarati traženom obrascu" -#: InvenTree/models.py:462 +#: InvenTree/models.py:476 msgid "Reference number is too large" msgstr "Broj reference je predugačak" -#: InvenTree/models.py:536 +#: InvenTree/models.py:550 msgid "Missing file" msgstr "Nedostaje datoteka" -#: InvenTree/models.py:537 +#: InvenTree/models.py:551 msgid "Missing external link" msgstr "Nedostaje eksterni link" -#: InvenTree/models.py:558 stock/models.py:2456 +#: InvenTree/models.py:572 stock/models.py:2433 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" msgstr "Prilog" -#: InvenTree/models.py:559 +#: InvenTree/models.py:573 msgid "Select file to attach" msgstr "Izaberite datoteku za prilog" -#: InvenTree/models.py:567 common/models.py:3026 company/models.py:146 +#: InvenTree/models.py:581 common/models.py:3032 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 -#: order/models.py:291 order/models.py:1288 order/models.py:1704 -#: part/admin.py:55 part/models.py:919 +#: order/models.py:304 order/models.py:1328 order/models.py:1744 +#: part/admin.py:55 part/models.py:962 #: part/templates/part/part_scheduling.html:11 -#: report/templates/report/inventree_build_order_base.html:164 +#: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2456 -#: templates/js/translated/purchase_order.js:2041 -#: templates/js/translated/purchase_order.js:2205 -#: templates/js/translated/return_order.js:780 -#: templates/js/translated/sales_order.js:1056 -#: templates/js/translated/sales_order.js:1987 +#: templates/js/translated/part.js:2455 +#: templates/js/translated/purchase_order.js:2040 +#: templates/js/translated/purchase_order.js:2204 +#: templates/js/translated/return_order.js:779 +#: templates/js/translated/sales_order.js:1092 +#: templates/js/translated/sales_order.js:2023 msgid "Link" msgstr "" -#: InvenTree/models.py:568 build/models.py:321 part/models.py:920 -#: stock/models.py:819 +#: InvenTree/models.py:582 build/models.py:344 part/models.py:963 +#: stock/models.py:840 msgid "Link to external URL" msgstr "Link za eksterni URL" -#: InvenTree/models.py:574 templates/js/translated/attachment.js:120 +#: InvenTree/models.py:588 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:341 msgid "Comment" msgstr "Komentar" -#: InvenTree/models.py:575 +#: InvenTree/models.py:589 msgid "File comment" msgstr "Datoteka komentara" -#: InvenTree/models.py:583 InvenTree/models.py:584 common/models.py:2502 -#: common/models.py:2503 common/models.py:2727 common/models.py:2728 -#: common/models.py:2973 common/models.py:2974 part/models.py:3185 -#: part/models.py:3272 part/models.py:3365 part/models.py:3393 -#: plugin/models.py:250 plugin/models.py:251 -#: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3039 users/models.py:111 +#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2508 +#: common/models.py:2509 common/models.py:2733 common/models.py:2734 +#: common/models.py:2979 common/models.py:2980 part/models.py:3228 +#: part/models.py:3315 part/models.py:3408 part/models.py:3436 +#: plugin/models.py:259 plugin/models.py:260 +#: report/templates/report/inventree_test_report.html:105 +#: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" msgstr "Korisnik" -#: InvenTree/models.py:588 +#: InvenTree/models.py:602 msgid "upload date" msgstr "dadajte datoteku" -#: InvenTree/models.py:610 +#: InvenTree/models.py:624 msgid "Filename must not be empty" msgstr "Ime datoteke ne sme biti prazno" -#: InvenTree/models.py:621 +#: InvenTree/models.py:635 msgid "Invalid attachment directory" msgstr "Direktorijum nevažećih datoteka" -#: InvenTree/models.py:651 +#: InvenTree/models.py:665 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "Ime datoteke sadrži neprihvatljivi karakter '{c}'" -#: InvenTree/models.py:654 +#: InvenTree/models.py:668 msgid "Filename missing extension" msgstr "Imenu datoteke nedostaje ekstenzija" -#: InvenTree/models.py:663 +#: InvenTree/models.py:677 msgid "Attachment with this filename already exists" msgstr "Prilog s ovim nazivom datoteke već postoji" -#: InvenTree/models.py:670 +#: InvenTree/models.py:684 msgid "Error renaming file" msgstr "Greška pri preimenovanju datoteke" -#: InvenTree/models.py:846 +#: InvenTree/models.py:860 msgid "Duplicate names cannot exist under the same parent" msgstr "Dvostruka imena ne mogu postojati pod istom nadredjenom grupom" -#: InvenTree/models.py:863 +#: InvenTree/models.py:877 msgid "Invalid choice" msgstr "Nevažeći izvor" -#: InvenTree/models.py:893 common/models.py:2714 common/models.py:3112 -#: common/serializers.py:403 company/models.py:614 label/models.py:120 -#: machine/models.py:24 part/models.py:855 part/models.py:3616 -#: plugin/models.py:41 report/models.py:176 stock/models.py:76 +#: InvenTree/models.py:907 common/models.py:2720 common/models.py:3118 +#: common/serializers.py:403 company/models.py:614 machine/models.py:24 +#: part/models.py:898 part/models.py:3659 plugin/models.py:50 +#: report/models.py:149 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -503,22 +503,22 @@ msgstr "Nevažeći izvor" #: templates/js/translated/company.js:1165 #: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186 #: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2719 +#: templates/js/translated/part.js:2748 templates/js/translated/stock.js:2716 msgid "Name" msgstr "Ime" -#: InvenTree/models.py:899 build/models.py:194 +#: InvenTree/models.py:913 build/models.py:217 #: build/templates/build/detail.html:24 common/models.py:136 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 label/models.py:127 -#: order/models.py:277 order/models.py:1316 part/admin.py:303 part/admin.py:414 -#: part/models.py:878 part/models.py:3631 part/templates/part/category.html:82 +#: company/templates/company/supplier_part.html:107 order/models.py:290 +#: order/models.py:1356 part/admin.py:305 part/admin.py:416 part/models.py:921 +#: part/models.py:3674 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 -#: part/templates/part/part_scheduling.html:12 report/models.py:189 -#: report/models.py:655 report/models.py:729 -#: report/templates/report/inventree_build_order_base.html:117 +#: part/templates/part/part_scheduling.html:12 report/models.py:155 +#: report/models.py:510 report/models.py:536 +#: report/templates/report/inventree_build_order_report.html:117 #: stock/admin.py:55 stock/models.py:82 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 @@ -530,71 +530,71 @@ msgstr "Ime" #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 -#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2896 +#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2354 +#: templates/js/translated/part.js:2784 templates/js/translated/part.js:2895 #: templates/js/translated/plugin.js:80 -#: templates/js/translated/purchase_order.js:1707 -#: templates/js/translated/purchase_order.js:1850 -#: templates/js/translated/purchase_order.js:2023 -#: templates/js/translated/return_order.js:314 -#: templates/js/translated/sales_order.js:802 -#: templates/js/translated/sales_order.js:1812 -#: templates/js/translated/stock.js:1515 templates/js/translated/stock.js:2060 -#: templates/js/translated/stock.js:2751 templates/js/translated/stock.js:2834 +#: templates/js/translated/purchase_order.js:1706 +#: templates/js/translated/purchase_order.js:1849 +#: templates/js/translated/purchase_order.js:2022 +#: templates/js/translated/return_order.js:313 +#: templates/js/translated/sales_order.js:838 +#: templates/js/translated/sales_order.js:1848 +#: templates/js/translated/stock.js:1515 templates/js/translated/stock.js:2058 +#: templates/js/translated/stock.js:2748 templates/js/translated/stock.js:2831 msgid "Description" msgstr "Opis" -#: InvenTree/models.py:900 stock/models.py:83 +#: InvenTree/models.py:914 stock/models.py:83 msgid "Description (optional)" msgstr "Opis (Opciono)" -#: InvenTree/models.py:909 +#: InvenTree/models.py:923 msgid "parent" msgstr "nadređeni" -#: InvenTree/models.py:915 templates/js/translated/part.js:2794 -#: templates/js/translated/stock.js:2760 +#: InvenTree/models.py:929 templates/js/translated/part.js:2793 +#: templates/js/translated/stock.js:2757 msgid "Path" msgstr "Putanja" -#: InvenTree/models.py:1021 +#: InvenTree/models.py:1035 msgid "Markdown notes (optional)" msgstr "Zabeleške (Opciono)" -#: InvenTree/models.py:1050 +#: InvenTree/models.py:1064 msgid "Barcode Data" msgstr "Podaci sa barkoda" -#: InvenTree/models.py:1051 +#: InvenTree/models.py:1065 msgid "Third party barcode data" msgstr "Podaci sa barkoda trećih lica" -#: InvenTree/models.py:1057 +#: InvenTree/models.py:1071 msgid "Barcode Hash" msgstr "Heš barkoda" -#: InvenTree/models.py:1058 +#: InvenTree/models.py:1072 msgid "Unique hash of barcode data" msgstr "Jedinstveni hash barkoda" -#: InvenTree/models.py:1111 +#: InvenTree/models.py:1125 msgid "Existing barcode found" msgstr "Postojeći barkod pronađen" -#: InvenTree/models.py:1154 +#: InvenTree/models.py:1168 msgid "Server Error" msgstr "Greška servera" -#: InvenTree/models.py:1155 +#: InvenTree/models.py:1169 msgid "An error has been logged by the server." msgstr "Server je zabležio grešku." -#: InvenTree/serializers.py:62 part/models.py:4169 +#: InvenTree/serializers.py:62 part/models.py:4212 msgid "Must be a valid number" msgstr "Mora biti važeći broj" #: InvenTree/serializers.py:99 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:2993 +#: company/templates/company/company_base.html:112 part/models.py:3036 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -686,7 +686,7 @@ msgstr "URL udaljene slike" msgid "Downloading images from remote URL is not enabled" msgstr "Preuzimanje slika s udaljenog URL-a nije omogućeno" -#: InvenTree/status.py:66 part/serializers.py:1161 +#: InvenTree/status.py:66 part/serializers.py:1176 msgid "Background worker check failed" msgstr "Provera pozadinskog radnika nije uspjela" @@ -699,8 +699,8 @@ msgid "InvenTree system health checks failed" msgstr "Provere integriteta sistema InvenTree nije uspela" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:37 -#: InvenTree/status_codes.py:148 InvenTree/status_codes.py:164 -#: InvenTree/status_codes.py:182 generic/states/tests.py:17 +#: InvenTree/status_codes.py:149 InvenTree/status_codes.py:165 +#: InvenTree/status_codes.py:183 generic/states/tests.py:17 #: templates/js/translated/table_filters.js:598 msgid "Pending" msgstr "Na čekanju" @@ -709,188 +709,188 @@ msgstr "Na čekanju" msgid "Placed" msgstr "Postavljen" -#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:151 -#: InvenTree/status_codes.py:169 generic/states/tests.py:19 -#: order/templates/order/order_base.html:158 -#: order/templates/order/sales_order_base.html:161 +#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:44 +#: InvenTree/status_codes.py:152 InvenTree/status_codes.py:170 +#: generic/states/tests.py:19 order/templates/order/order_base.html:158 +#: order/templates/order/sales_order_base.html:165 report/models.py:444 msgid "Complete" msgstr "Gotovo" -#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:44 -#: InvenTree/status_codes.py:150 InvenTree/status_codes.py:170 +#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:45 +#: InvenTree/status_codes.py:151 InvenTree/status_codes.py:171 msgid "Cancelled" msgstr "Otkazano" -#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:45 -#: InvenTree/status_codes.py:67 +#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:46 +#: InvenTree/status_codes.py:68 msgid "Lost" msgstr "Izgubljeno" -#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:46 -#: InvenTree/status_codes.py:73 +#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:47 +#: InvenTree/status_codes.py:74 msgid "Returned" msgstr "Vraćeno" -#: InvenTree/status_codes.py:40 InvenTree/status_codes.py:167 +#: InvenTree/status_codes.py:40 InvenTree/status_codes.py:168 msgid "In Progress" msgstr "U progresu" -#: InvenTree/status_codes.py:43 order/models.py:1566 -#: templates/js/translated/sales_order.js:1523 -#: templates/js/translated/sales_order.js:1644 -#: templates/js/translated/sales_order.js:1957 +#: InvenTree/status_codes.py:43 order/models.py:1606 +#: templates/js/translated/sales_order.js:1559 +#: templates/js/translated/sales_order.js:1680 +#: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "Poslato" -#: InvenTree/status_codes.py:62 +#: InvenTree/status_codes.py:63 msgid "OK" msgstr "Uredu" -#: InvenTree/status_codes.py:63 +#: InvenTree/status_codes.py:64 msgid "Attention needed" msgstr "Potrebna pažnja" -#: InvenTree/status_codes.py:64 +#: InvenTree/status_codes.py:65 msgid "Damaged" msgstr "Oštećeno" -#: InvenTree/status_codes.py:65 +#: InvenTree/status_codes.py:66 msgid "Destroyed" msgstr "Uništeno" -#: InvenTree/status_codes.py:66 +#: InvenTree/status_codes.py:67 msgid "Rejected" msgstr "Odbijeno" -#: InvenTree/status_codes.py:70 +#: InvenTree/status_codes.py:71 msgid "Quarantined" msgstr "U karantinu" -#: InvenTree/status_codes.py:91 +#: InvenTree/status_codes.py:92 msgid "Legacy stock tracking entry" msgstr "Nasleđeni unos za praćenje zaliha" -#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:544 +#: InvenTree/status_codes.py:94 templates/js/translated/stock.js:544 msgid "Stock item created" msgstr "Stavka na zalihi stvorena" -#: InvenTree/status_codes.py:96 +#: InvenTree/status_codes.py:97 msgid "Edited stock item" msgstr "Izmenjena stavka u zalihama" -#: InvenTree/status_codes.py:97 +#: InvenTree/status_codes.py:98 msgid "Assigned serial number" msgstr "Dodeljen serijski broj" -#: InvenTree/status_codes.py:100 +#: InvenTree/status_codes.py:101 msgid "Stock counted" msgstr "Zalihe prebrojane" -#: InvenTree/status_codes.py:101 +#: InvenTree/status_codes.py:102 msgid "Stock manually added" msgstr "Zalihe dodane ručno" -#: InvenTree/status_codes.py:102 +#: InvenTree/status_codes.py:103 msgid "Stock manually removed" msgstr "Zaliha ručno uklonjena" -#: InvenTree/status_codes.py:105 +#: InvenTree/status_codes.py:106 msgid "Location changed" msgstr "Lokacija promenjena" -#: InvenTree/status_codes.py:106 +#: InvenTree/status_codes.py:107 msgid "Stock updated" msgstr "Zaliha obnovljena" -#: InvenTree/status_codes.py:109 +#: InvenTree/status_codes.py:110 msgid "Installed into assembly" msgstr "Instalisan u sklopu" -#: InvenTree/status_codes.py:110 +#: InvenTree/status_codes.py:111 msgid "Removed from assembly" msgstr "Skinuto sa sklopa" -#: InvenTree/status_codes.py:112 +#: InvenTree/status_codes.py:113 msgid "Installed component item" msgstr "Instalirana stavka komponente" -#: InvenTree/status_codes.py:113 +#: InvenTree/status_codes.py:114 msgid "Removed component item" msgstr "Uklonjena stavka komponente" -#: InvenTree/status_codes.py:116 +#: InvenTree/status_codes.py:117 msgid "Split from parent item" msgstr "Odvoj od nadređene stavke" -#: InvenTree/status_codes.py:117 +#: InvenTree/status_codes.py:118 msgid "Split child item" msgstr "Podeli podređenu stavku" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1858 +#: InvenTree/status_codes.py:121 templates/js/translated/stock.js:1858 msgid "Merged stock items" msgstr "Spojene stavke zaliha" -#: InvenTree/status_codes.py:123 +#: InvenTree/status_codes.py:124 msgid "Converted to variant" msgstr "Pretvoreno u varijaciju" -#: InvenTree/status_codes.py:126 +#: InvenTree/status_codes.py:127 msgid "Build order output created" msgstr "" -#: InvenTree/status_codes.py:127 +#: InvenTree/status_codes.py:128 msgid "Build order output completed" msgstr "" -#: InvenTree/status_codes.py:128 +#: InvenTree/status_codes.py:129 msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1764 +#: InvenTree/status_codes.py:130 templates/js/translated/stock.js:1764 msgid "Consumed by build order" msgstr "" -#: InvenTree/status_codes.py:132 +#: InvenTree/status_codes.py:133 msgid "Shipped against Sales Order" msgstr "" -#: InvenTree/status_codes.py:135 +#: InvenTree/status_codes.py:136 msgid "Received against Purchase Order" msgstr "" -#: InvenTree/status_codes.py:138 +#: InvenTree/status_codes.py:139 msgid "Returned against Return Order" msgstr "" -#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:375 +#: InvenTree/status_codes.py:142 templates/js/translated/table_filters.js:375 msgid "Sent to customer" msgstr "" -#: InvenTree/status_codes.py:142 +#: InvenTree/status_codes.py:143 msgid "Returned from customer" msgstr "" -#: InvenTree/status_codes.py:149 +#: InvenTree/status_codes.py:150 msgid "Production" msgstr "" -#: InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:186 msgid "Return" msgstr "" -#: InvenTree/status_codes.py:188 +#: InvenTree/status_codes.py:189 msgid "Repair" msgstr "" -#: InvenTree/status_codes.py:191 +#: InvenTree/status_codes.py:192 msgid "Replace" msgstr "" -#: InvenTree/status_codes.py:194 +#: InvenTree/status_codes.py:195 msgid "Refund" msgstr "" -#: InvenTree/status_codes.py:197 +#: InvenTree/status_codes.py:198 msgid "Reject" msgstr "" @@ -946,14 +946,14 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:299 part/models.py:4047 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4090 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4041 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4084 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -969,7 +969,7 @@ msgstr "" #: build/api.py:303 part/admin.py:144 templates/js/translated/build.js:1744 #: templates/js/translated/build.js:2629 -#: templates/js/translated/sales_order.js:1929 +#: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "" @@ -980,7 +980,7 @@ msgstr "" #: templates/email/low_stock_notification.html:17 #: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 #: templates/js/translated/index.js:123 -#: templates/js/translated/model_renderers.js:228 +#: templates/js/translated/model_renderers.js:234 #: templates/js/translated/part.js:692 templates/js/translated/part.js:694 #: templates/js/translated/part.js:699 #: templates/js/translated/table_filters.js:340 @@ -988,16 +988,16 @@ msgstr "" msgid "Available" msgstr "" -#: build/models.py:74 build/templates/build/build_base.html:9 +#: build/models.py:82 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 -#: report/templates/report/inventree_build_order_base.html:105 -#: templates/email/build_order_completed.html:16 +#: report/templates/report/inventree_build_order_report.html:105 +#: stock/serializers.py:83 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2895 +#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2892 msgid "Build Order" msgstr "Nalog za izradu" -#: build/models.py:75 build/templates/build/build_base.html:13 +#: build/models.py:83 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -1008,71 +1008,71 @@ msgstr "Nalog za izradu" msgid "Build Orders" msgstr "Nalozi za izradu" -#: build/models.py:122 +#: build/models.py:130 msgid "Invalid choice for parent build" msgstr "Nevažeći izbor za nadređenu verziju" -#: build/models.py:133 order/models.py:239 +#: build/models.py:141 order/models.py:241 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:139 +#: build/models.py:147 msgid "Build order part cannot be changed" msgstr "Deo u nalogu za izradu ne može se izmeniti" -#: build/models.py:185 +#: build/models.py:208 msgid "Build Order Reference" msgstr "Reference naloga za pravljenje" -#: build/models.py:186 order/models.py:442 order/models.py:898 -#: order/models.py:1276 order/models.py:1998 part/admin.py:417 -#: part/models.py:4062 part/templates/part/upload_bom.html:54 +#: build/models.py:209 order/models.py:464 order/models.py:929 +#: order/models.py:1316 order/models.py:2047 part/admin.py:419 +#: part/models.py:4105 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 -#: report/templates/report/inventree_so_report_base.html:28 +#: report/templates/report/inventree_purchase_order_report.html:28 +#: report/templates/report/inventree_return_order_report.html:26 +#: report/templates/report/inventree_sales_order_report.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 #: templates/js/translated/build.js:2512 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 -#: templates/js/translated/purchase_order.js:2066 -#: templates/js/translated/return_order.js:729 -#: templates/js/translated/sales_order.js:1818 +#: templates/js/translated/purchase_order.js:2065 +#: templates/js/translated/return_order.js:728 +#: templates/js/translated/sales_order.js:1854 msgid "Reference" msgstr "Referenca" -#: build/models.py:197 +#: build/models.py:220 msgid "Brief description of the build (optional)" msgstr "Kratak opis izrade (nije obavezno)" -#: build/models.py:205 build/templates/build/build_base.html:183 +#: build/models.py:228 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:206 +#: build/models.py:229 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:211 build/templates/build/build_base.html:97 +#: build/models.py:234 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 -#: order/models.py:1401 order/models.py:1546 order/models.py:1547 -#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004 -#: part/models.py:3148 part/models.py:3292 part/models.py:3315 -#: part/models.py:3336 part/models.py:3358 part/models.py:3468 -#: part/models.py:3764 part/models.py:3920 part/models.py:4013 -#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713 +#: order/models.py:1441 order/models.py:1586 order/models.py:1587 +#: part/api.py:1501 part/api.py:1795 part/models.py:392 part/models.py:3047 +#: part/models.py:3191 part/models.py:3335 part/models.py:3358 +#: part/models.py:3379 part/models.py:3401 part/models.py:3511 +#: part/models.py:3807 part/models.py:3963 part/models.py:4056 +#: part/models.py:4417 part/serializers.py:1122 part/serializers.py:1728 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 -#: report/templates/report/inventree_build_order_base.html:109 -#: report/templates/report/inventree_po_report_base.html:27 -#: report/templates/report/inventree_return_order_report_base.html:24 -#: report/templates/report/inventree_slr_report.html:102 -#: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:267 stock/serializers.py:689 -#: templates/InvenTree/search.html:82 +#: report/templates/report/inventree_build_order_report.html:109 +#: report/templates/report/inventree_purchase_order_report.html:27 +#: report/templates/report/inventree_return_order_report.html:24 +#: report/templates/report/inventree_sales_order_report.html:27 +#: report/templates/report/inventree_stock_location_report.html:102 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:396 +#: stock/serializers.py:818 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -1086,235 +1086,239 @@ msgstr "" #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 #: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 -#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:2323 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:751 #: templates/js/translated/purchase_order.js:1304 -#: templates/js/translated/purchase_order.js:1849 -#: templates/js/translated/purchase_order.js:2008 -#: templates/js/translated/return_order.js:539 -#: templates/js/translated/return_order.js:710 +#: templates/js/translated/purchase_order.js:1848 +#: templates/js/translated/purchase_order.js:2007 +#: templates/js/translated/return_order.js:538 +#: templates/js/translated/return_order.js:709 #: templates/js/translated/sales_order.js:300 -#: templates/js/translated/sales_order.js:1197 -#: templates/js/translated/sales_order.js:1598 -#: templates/js/translated/sales_order.js:1796 +#: templates/js/translated/sales_order.js:1233 +#: templates/js/translated/sales_order.js:1634 +#: templates/js/translated/sales_order.js:1832 #: templates/js/translated/stock.js:676 templates/js/translated/stock.js:842 -#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1999 -#: templates/js/translated/stock.js:2860 templates/js/translated/stock.js:3093 -#: templates/js/translated/stock.js:3239 +#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1997 +#: templates/js/translated/stock.js:2857 templates/js/translated/stock.js:3090 +#: templates/js/translated/stock.js:3236 msgid "Part" msgstr "" -#: build/models.py:219 +#: build/models.py:242 msgid "Select part to build" msgstr "" -#: build/models.py:224 +#: build/models.py:247 msgid "Sales Order Reference" msgstr "" -#: build/models.py:228 +#: build/models.py:251 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:233 build/serializers.py:970 +#: build/models.py:256 build/serializers.py:969 #: templates/js/translated/build.js:1731 -#: templates/js/translated/sales_order.js:1185 +#: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "" -#: build/models.py:237 +#: build/models.py:260 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:242 +#: build/models.py:265 msgid "Destination Location" msgstr "" -#: build/models.py:246 +#: build/models.py:269 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:250 +#: build/models.py:273 msgid "Build Quantity" msgstr "" -#: build/models.py:253 +#: build/models.py:276 msgid "Number of stock items to build" msgstr "" -#: build/models.py:257 +#: build/models.py:280 msgid "Completed items" msgstr "" -#: build/models.py:259 +#: build/models.py:282 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:263 +#: build/models.py:286 msgid "Build Status" msgstr "" -#: build/models.py:267 +#: build/models.py:290 msgid "Build status code" msgstr "" -#: build/models.py:276 build/serializers.py:278 order/serializers.py:581 -#: stock/models.py:823 stock/serializers.py:1333 +#: build/models.py:299 build/serializers.py:277 order/serializers.py:581 +#: stock/models.py:844 stock/serializers.py:75 stock/serializers.py:1462 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" -#: build/models.py:280 build/serializers.py:279 +#: build/models.py:303 build/serializers.py:278 msgid "Batch code for this build output" msgstr "" -#: build/models.py:283 order/models.py:304 order/serializers.py:120 -#: part/models.py:1079 part/templates/part/part_base.html:310 -#: templates/js/translated/return_order.js:339 -#: templates/js/translated/sales_order.js:827 +#: build/models.py:306 order/models.py:317 order/serializers.py:120 +#: part/models.py:1122 part/templates/part/part_base.html:310 +#: templates/js/translated/return_order.js:338 +#: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "" -#: build/models.py:287 +#: build/models.py:310 msgid "Target completion date" msgstr "" -#: build/models.py:288 +#: build/models.py:311 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:291 order/models.py:500 order/models.py:2043 +#: build/models.py:314 order/models.py:522 order/models.py:2092 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "" -#: build/models.py:297 +#: build/models.py:320 msgid "completed by" msgstr "" -#: build/models.py:305 templates/js/translated/build.js:2207 +#: build/models.py:328 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "" -#: build/models.py:306 +#: build/models.py:329 msgid "User who issued this build order" msgstr "" -#: build/models.py:314 build/templates/build/build_base.html:204 +#: build/models.py:337 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:145 -#: order/models.py:322 order/templates/order/order_base.html:217 +#: order/models.py:335 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1096 +#: order/templates/order/sales_order_base.html:232 part/models.py:1139 #: part/templates/part/part_base.html:390 -#: report/templates/report/inventree_build_order_base.html:158 +#: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 #: templates/js/translated/build.js:2219 -#: templates/js/translated/purchase_order.js:1764 -#: templates/js/translated/return_order.js:359 +#: templates/js/translated/purchase_order.js:1763 +#: templates/js/translated/return_order.js:358 #: templates/js/translated/table_filters.js:531 msgid "Responsible" msgstr "" -#: build/models.py:315 +#: build/models.py:338 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:320 build/templates/build/detail.html:108 +#: build/models.py:343 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 -#: order/templates/order/sales_order_base.html:180 -#: part/templates/part/part_base.html:383 stock/models.py:819 +#: order/templates/order/sales_order_base.html:184 +#: part/templates/part/part_base.html:383 stock/models.py:840 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "" -#: build/models.py:325 +#: build/models.py:348 msgid "Build Priority" msgstr "" -#: build/models.py:328 +#: build/models.py:351 msgid "Priority of this build order" msgstr "" -#: build/models.py:335 common/models.py:129 order/admin.py:18 -#: order/models.py:286 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:358 common/models.py:129 order/admin.py:18 +#: order/models.py:299 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 -#: templates/js/translated/purchase_order.js:1711 -#: templates/js/translated/return_order.js:318 -#: templates/js/translated/sales_order.js:806 +#: templates/js/translated/purchase_order.js:1710 +#: templates/js/translated/return_order.js:317 +#: templates/js/translated/sales_order.js:842 #: templates/js/translated/table_filters.js:48 #: templates/project_code_data.html:6 msgid "Project Code" msgstr "" -#: build/models.py:336 +#: build/models.py:359 msgid "Project code for this build order" msgstr "" -#: build/models.py:566 build/models.py:631 +#: build/models.py:589 build/models.py:654 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:588 +#: build/models.py:611 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:594 +#: build/models.py:617 msgid "A build order has been completed" msgstr "" -#: build/models.py:820 build/models.py:895 +#: build/models.py:843 build/models.py:918 msgid "No build output specified" msgstr "" -#: build/models.py:823 +#: build/models.py:846 msgid "Build output is already completed" msgstr "" -#: build/models.py:826 +#: build/models.py:849 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:899 build/serializers.py:221 build/serializers.py:260 -#: build/serializers.py:837 order/models.py:538 order/serializers.py:433 -#: order/serializers.py:576 part/serializers.py:1471 part/serializers.py:1871 -#: stock/models.py:662 stock/models.py:1482 stock/serializers.py:472 +#: build/models.py:922 build/serializers.py:220 build/serializers.py:259 +#: build/serializers.py:836 order/models.py:560 order/serializers.py:433 +#: order/serializers.py:576 part/serializers.py:1486 part/serializers.py:1886 +#: stock/models.py:683 stock/models.py:1503 stock/serializers.py:601 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:904 build/serializers.py:226 +#: build/models.py:927 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:961 build/serializers.py:539 +#: build/models.py:984 build/serializers.py:538 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1323 +#: build/models.py:1335 +msgid "Build Order Line Item" +msgstr "" + +#: build/models.py:1360 msgid "Build object" msgstr "" -#: build/models.py:1337 build/models.py:1593 build/serializers.py:208 -#: build/serializers.py:245 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2524 -#: order/models.py:1259 order/models.py:1918 order/serializers.py:1339 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 -#: part/forms.py:48 part/models.py:3162 part/models.py:4035 +#: build/models.py:1374 build/models.py:1630 build/serializers.py:207 +#: build/serializers.py:244 build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2530 +#: order/models.py:1299 order/models.py:1958 order/serializers.py:1339 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 +#: part/forms.py:48 part/models.py:3205 part/models.py:4078 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 -#: report/templates/report/inventree_build_order_base.html:113 -#: report/templates/report/inventree_po_report_base.html:29 -#: report/templates/report/inventree_slr_report.html:104 -#: report/templates/report/inventree_so_report_base.html:29 -#: report/templates/report/inventree_test_report_base.html:90 -#: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:160 stock/serializers.py:463 +#: report/templates/report/inventree_build_order_report.html:113 +#: report/templates/report/inventree_purchase_order_report.html:29 +#: report/templates/report/inventree_sales_order_report.html:29 +#: report/templates/report/inventree_stock_location_report.html:104 +#: report/templates/report/inventree_test_report.html:90 +#: report/templates/report/inventree_test_report.html:170 stock/admin.py:160 +#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:592 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1324,380 +1328,381 @@ msgstr "" #: templates/js/translated/build.js:737 templates/js/translated/build.js:1369 #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 -#: templates/js/translated/model_renderers.js:230 +#: templates/js/translated/model_renderers.js:236 #: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3341 +#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3340 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 #: templates/js/translated/purchase_order.js:754 -#: templates/js/translated/purchase_order.js:1853 -#: templates/js/translated/purchase_order.js:2072 +#: templates/js/translated/purchase_order.js:1852 +#: templates/js/translated/purchase_order.js:2071 #: templates/js/translated/sales_order.js:317 -#: templates/js/translated/sales_order.js:1199 -#: templates/js/translated/sales_order.js:1518 -#: templates/js/translated/sales_order.js:1608 -#: templates/js/translated/sales_order.js:1698 -#: templates/js/translated/sales_order.js:1824 +#: templates/js/translated/sales_order.js:1235 +#: templates/js/translated/sales_order.js:1554 +#: templates/js/translated/sales_order.js:1644 +#: templates/js/translated/sales_order.js:1734 +#: templates/js/translated/sales_order.js:1860 #: templates/js/translated/stock.js:564 templates/js/translated/stock.js:702 -#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:3024 -#: templates/js/translated/stock.js:3107 +#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:3021 +#: templates/js/translated/stock.js:3104 msgid "Quantity" msgstr "" -#: build/models.py:1338 +#: build/models.py:1375 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1418 +#: build/models.py:1455 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1427 +#: build/models.py:1464 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1437 order/models.py:1869 +#: build/models.py:1474 order/models.py:1909 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1443 order/models.py:1872 +#: build/models.py:1480 order/models.py:1912 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1449 +#: build/models.py:1486 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1508 +#: build/models.py:1545 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1580 build/serializers.py:817 order/serializers.py:1183 -#: order/serializers.py:1204 stock/serializers.py:566 stock/serializers.py:1052 -#: stock/serializers.py:1164 stock/templates/stock/item_base.html:10 +#: build/models.py:1617 build/serializers.py:816 order/serializers.py:1183 +#: order/serializers.py:1204 stock/models.py:364 stock/serializers.py:92 +#: stock/serializers.py:695 stock/serializers.py:1181 stock/serializers.py:1293 +#: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 #: templates/js/translated/build.js:1745 #: templates/js/translated/sales_order.js:301 -#: templates/js/translated/sales_order.js:1198 -#: templates/js/translated/sales_order.js:1499 -#: templates/js/translated/sales_order.js:1504 -#: templates/js/translated/sales_order.js:1605 -#: templates/js/translated/sales_order.js:1692 +#: templates/js/translated/sales_order.js:1234 +#: templates/js/translated/sales_order.js:1535 +#: templates/js/translated/sales_order.js:1540 +#: templates/js/translated/sales_order.js:1641 +#: templates/js/translated/sales_order.js:1728 #: templates/js/translated/stock.js:677 templates/js/translated/stock.js:843 -#: templates/js/translated/stock.js:2980 +#: templates/js/translated/stock.js:2977 msgid "Stock Item" msgstr "" -#: build/models.py:1581 +#: build/models.py:1618 msgid "Source stock item" msgstr "" -#: build/models.py:1594 +#: build/models.py:1631 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1602 +#: build/models.py:1639 msgid "Install into" msgstr "" -#: build/models.py:1603 +#: build/models.py:1640 msgid "Destination stock item" msgstr "" -#: build/serializers.py:158 build/serializers.py:846 +#: build/serializers.py:157 build/serializers.py:845 #: templates/js/translated/build.js:1322 msgid "Build Output" msgstr "" -#: build/serializers.py:170 +#: build/serializers.py:169 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:174 +#: build/serializers.py:173 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:178 +#: build/serializers.py:177 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:189 +#: build/serializers.py:188 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:209 build/serializers.py:246 +#: build/serializers.py:208 build/serializers.py:245 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:267 +#: build/serializers.py:266 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:270 +#: build/serializers.py:269 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:285 order/serializers.py:589 order/serializers.py:1343 -#: stock/serializers.py:483 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:284 order/serializers.py:589 order/serializers.py:1343 +#: stock/serializers.py:612 templates/js/translated/purchase_order.js:1153 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:286 +#: build/serializers.py:285 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:291 build/serializers.py:432 build/serializers.py:504 +#: build/serializers.py:290 build/serializers.py:431 build/serializers.py:503 #: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1679 -#: part/serializers.py:1127 stock/serializers.py:494 stock/serializers.py:654 -#: stock/serializers.py:750 stock/serializers.py:1196 stock/serializers.py:1452 -#: stock/templates/stock/item_base.html:394 +#: part/serializers.py:1142 stock/serializers.py:101 stock/serializers.py:623 +#: stock/serializers.py:783 stock/serializers.py:879 stock/serializers.py:1325 +#: stock/serializers.py:1581 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 #: templates/js/translated/purchase_order.js:1178 #: templates/js/translated/purchase_order.js:1268 -#: templates/js/translated/sales_order.js:1511 -#: templates/js/translated/sales_order.js:1619 -#: templates/js/translated/sales_order.js:1627 -#: templates/js/translated/sales_order.js:1706 +#: templates/js/translated/sales_order.js:1547 +#: templates/js/translated/sales_order.js:1655 +#: templates/js/translated/sales_order.js:1663 +#: templates/js/translated/sales_order.js:1742 #: templates/js/translated/stock.js:678 templates/js/translated/stock.js:844 -#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2203 -#: templates/js/translated/stock.js:2874 +#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2201 +#: templates/js/translated/stock.js:2871 msgid "Location" msgstr "" -#: build/serializers.py:292 +#: build/serializers.py:291 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:306 +#: build/serializers.py:305 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:307 +#: build/serializers.py:306 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:322 +#: build/serializers.py:321 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:347 stock/api.py:995 +#: build/serializers.py:346 stock/api.py:1029 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:394 build/serializers.py:456 build/serializers.py:545 +#: build/serializers.py:393 build/serializers.py:455 build/serializers.py:544 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:433 +#: build/serializers.py:432 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:439 +#: build/serializers.py:438 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:440 +#: build/serializers.py:439 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:445 +#: build/serializers.py:444 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:505 +#: build/serializers.py:504 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:511 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:922 -#: order/models.py:2022 order/serializers.py:597 stock/admin.py:165 -#: stock/serializers.py:801 stock/serializers.py:1340 +#: build/serializers.py:510 build/templates/build/build_base.html:151 +#: build/templates/build/detail.html:62 order/models.py:953 +#: order/models.py:2071 order/serializers.py:597 stock/admin.py:165 +#: stock/serializers.py:930 stock/serializers.py:1469 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 -#: templates/js/translated/purchase_order.js:1723 -#: templates/js/translated/return_order.js:331 -#: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2178 templates/js/translated/stock.js:2998 -#: templates/js/translated/stock.js:3123 +#: templates/js/translated/purchase_order.js:1722 +#: templates/js/translated/return_order.js:330 +#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/stock.js:2176 templates/js/translated/stock.js:2995 +#: templates/js/translated/stock.js:3120 msgid "Status" msgstr "" -#: build/serializers.py:517 +#: build/serializers.py:516 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:518 +#: build/serializers.py:517 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:598 +#: build/serializers.py:597 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:599 +#: build/serializers.py:598 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:605 +#: build/serializers.py:604 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:606 +#: build/serializers.py:605 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:633 +#: build/serializers.py:632 msgid "Not permitted" msgstr "" -#: build/serializers.py:634 +#: build/serializers.py:633 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:635 +#: build/serializers.py:634 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:657 +#: build/serializers.py:656 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:659 +#: build/serializers.py:658 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:669 +#: build/serializers.py:668 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:674 +#: build/serializers.py:673 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:675 +#: build/serializers.py:674 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:685 templates/js/translated/build.js:315 +#: build/serializers.py:684 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:690 order/serializers.py:301 order/serializers.py:1246 +#: build/serializers.py:689 order/serializers.py:301 order/serializers.py:1246 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:691 +#: build/serializers.py:690 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:701 templates/js/translated/build.js:319 +#: build/serializers.py:700 templates/js/translated/build.js:319 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:710 templates/js/translated/build.js:303 +#: build/serializers.py:709 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:740 +#: build/serializers.py:739 msgid "Build Line" msgstr "" -#: build/serializers.py:750 +#: build/serializers.py:749 msgid "Build output" msgstr "" -#: build/serializers.py:758 +#: build/serializers.py:757 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:794 +#: build/serializers.py:793 msgid "Build Line Item" msgstr "" -#: build/serializers.py:808 +#: build/serializers.py:807 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:823 stock/serializers.py:1065 +#: build/serializers.py:822 stock/serializers.py:1194 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:871 order/serializers.py:1237 +#: build/serializers.py:870 order/serializers.py:1237 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:877 +#: build/serializers.py:876 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:884 +#: build/serializers.py:883 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:908 order/serializers.py:1489 +#: build/serializers.py:907 order/serializers.py:1489 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:971 +#: build/serializers.py:970 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:979 +#: build/serializers.py:978 msgid "Exclude Location" msgstr "" -#: build/serializers.py:980 +#: build/serializers.py:979 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:985 +#: build/serializers.py:984 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:986 +#: build/serializers.py:985 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:991 +#: build/serializers.py:990 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:992 +#: build/serializers.py:991 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:997 +#: build/serializers.py:996 msgid "Optional Items" msgstr "" -#: build/serializers.py:998 +#: build/serializers.py:997 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1020 +#: build/serializers.py:1019 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1110 part/models.py:3930 part/models.py:4366 -#: stock/api.py:758 +#: build/serializers.py:1109 part/models.py:3973 part/models.py:4409 +#: stock/api.py:792 msgid "BOM Item" msgstr "" -#: build/serializers.py:1119 templates/js/translated/index.js:130 +#: build/serializers.py:1118 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1124 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:817 part/serializers.py:1489 +#: build/serializers.py:1123 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:832 part/serializers.py:1504 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 @@ -1705,15 +1710,15 @@ msgstr "" msgid "On Order" msgstr "" -#: build/serializers.py:1129 part/serializers.py:1491 +#: build/serializers.py:1128 part/serializers.py:1506 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1134 part/bom.py:172 part/serializers.py:1514 +#: build/serializers.py:1133 part/bom.py:172 part/serializers.py:1529 #: part/templates/part/part_base.html:192 -#: templates/js/translated/sales_order.js:1893 +#: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "" @@ -1842,18 +1847,18 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:297 -#: order/models.py:1294 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:310 +#: order/models.py:1334 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 -#: order/templates/order/sales_order_base.html:192 -#: report/templates/report/inventree_build_order_base.html:125 +#: order/templates/order/sales_order_base.html:196 +#: report/templates/report/inventree_build_order_report.html:125 #: templates/js/translated/build.js:2239 templates/js/translated/part.js:1830 -#: templates/js/translated/purchase_order.js:1740 -#: templates/js/translated/purchase_order.js:2148 -#: templates/js/translated/return_order.js:347 -#: templates/js/translated/return_order.js:751 -#: templates/js/translated/sales_order.js:835 -#: templates/js/translated/sales_order.js:1867 +#: templates/js/translated/purchase_order.js:1739 +#: templates/js/translated/purchase_order.js:2147 +#: templates/js/translated/return_order.js:346 +#: templates/js/translated/return_order.js:750 +#: templates/js/translated/sales_order.js:871 +#: templates/js/translated/sales_order.js:1903 msgid "Target Date" msgstr "" @@ -1866,7 +1871,7 @@ msgstr "" #: build/templates/build/build_base.html:222 #: order/templates/order/order_base.html:122 #: order/templates/order/return_order_base.html:117 -#: order/templates/order/sales_order_base.html:122 +#: order/templates/order/sales_order_base.html:126 #: templates/js/translated/table_filters.js:98 #: templates/js/translated/table_filters.js:524 #: templates/js/translated/table_filters.js:626 @@ -1880,24 +1885,24 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:1538 -#: order/models.py:1652 order/models.py:1806 +#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:848 +#: order/models.py:1578 order/models.py:1692 order/models.py:1846 #: 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 +#: report/templates/report/inventree_build_order_report.html:135 +#: report/templates/report/inventree_sales_order_report.html:14 #: stock/templates/stock/item_base.html:369 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:929 -#: templates/js/translated/sales_order.js:769 -#: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2927 +#: templates/js/translated/sales_order.js:805 +#: templates/js/translated/sales_order.js:1028 +#: templates/js/translated/stock.js:2924 msgid "Sales Order" msgstr "" #: build/templates/build/build_base.html:197 #: build/templates/build/detail.html:115 -#: report/templates/report/inventree_build_order_base.html:152 +#: report/templates/report/inventree_build_order_report.html:152 #: templates/js/translated/table_filters.js:24 msgid "Issued By" msgstr "" @@ -1907,15 +1912,15 @@ msgstr "" msgid "Priority" msgstr "" -#: build/templates/build/build_base.html:273 +#: build/templates/build/build_base.html:269 msgid "Delete Build Order" msgstr "" -#: build/templates/build/build_base.html:283 +#: build/templates/build/build_base.html:279 msgid "Build Order QR Code" msgstr "" -#: build/templates/build/build_base.html:295 +#: build/templates/build/build_base.html:291 msgid "Link Barcode to Build Order" msgstr "" @@ -1931,8 +1936,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1430 -#: templates/js/translated/purchase_order.js:2190 +#: build/templates/build/detail.html:49 order/models.py:1470 +#: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "" @@ -1947,10 +1952,10 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 #: templates/js/translated/build.js:1380 -#: templates/js/translated/model_renderers.js:235 +#: templates/js/translated/model_renderers.js:241 #: templates/js/translated/purchase_order.js:1274 -#: templates/js/translated/stock.js:1133 templates/js/translated/stock.js:2192 -#: templates/js/translated/stock.js:3130 +#: templates/js/translated/stock.js:1133 templates/js/translated/stock.js:2190 +#: templates/js/translated/stock.js:3127 #: templates/js/translated/table_filters.js:313 #: templates/js/translated/table_filters.js:404 msgid "Batch" @@ -1959,7 +1964,7 @@ msgstr "" #: build/templates/build/detail.html:133 #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:151 -#: order/templates/order/sales_order_base.html:186 +#: order/templates/order/sales_order_base.html:190 #: templates/js/translated/build.js:2199 msgid "Created" msgstr "" @@ -1969,7 +1974,7 @@ msgid "No target date set" msgstr "" #: build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:202 +#: order/templates/order/sales_order_base.html:206 #: templates/js/translated/table_filters.js:689 msgid "Completed" msgstr "" @@ -2260,8 +2265,8 @@ msgstr "" #: common/models.py:1316 common/models.py:1372 common/models.py:1385 #: common/models.py:1393 common/models.py:1402 common/models.py:1411 -#: common/models.py:1613 common/models.py:1635 common/models.py:1750 -#: common/models.py:2061 +#: common/models.py:1619 common/models.py:1641 common/models.py:1756 +#: common/models.py:2067 msgid "days" msgstr "" @@ -2402,1209 +2407,1218 @@ msgid "Enable revision field for Part" msgstr "" #: common/models.py:1440 -msgid "IPN Regex" +msgid "Allow Deletion from Assembly" msgstr "" #: common/models.py:1441 +msgid "Allow deletion of parts which are used in an assembly" +msgstr "" + +#: common/models.py:1446 +msgid "IPN Regex" +msgstr "" + +#: common/models.py:1447 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1444 +#: common/models.py:1450 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1445 +#: common/models.py:1451 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1450 +#: common/models.py:1456 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1451 +#: common/models.py:1457 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1456 +#: common/models.py:1462 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1457 +#: common/models.py:1463 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1462 +#: common/models.py:1468 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1463 +#: common/models.py:1469 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1468 +#: common/models.py:1474 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1469 +#: common/models.py:1475 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1474 +#: common/models.py:1480 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1475 +#: common/models.py:1481 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1480 part/admin.py:108 part/models.py:3772 -#: report/models.py:182 stock/serializers.py:99 +#: common/models.py:1486 part/admin.py:108 part/models.py:3815 +#: report/models.py:294 report/models.py:361 report/serializers.py:90 +#: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:767 msgid "Template" msgstr "" -#: common/models.py:1481 +#: common/models.py:1487 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1486 part/admin.py:91 part/admin.py:431 part/models.py:1016 +#: common/models.py:1492 part/admin.py:91 part/admin.py:433 part/models.py:1059 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "" -#: common/models.py:1487 +#: common/models.py:1493 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1492 part/admin.py:95 part/models.py:1022 +#: common/models.py:1498 part/admin.py:95 part/models.py:1065 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "" -#: common/models.py:1493 +#: common/models.py:1499 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1498 part/admin.py:100 part/models.py:1034 +#: common/models.py:1504 part/admin.py:100 part/models.py:1077 msgid "Purchaseable" msgstr "" -#: common/models.py:1499 +#: common/models.py:1505 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1504 part/admin.py:104 part/models.py:1040 +#: common/models.py:1510 part/admin.py:104 part/models.py:1083 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "" -#: common/models.py:1505 +#: common/models.py:1511 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1510 part/admin.py:113 part/models.py:1028 +#: common/models.py:1516 part/admin.py:113 part/models.py:1071 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "" -#: common/models.py:1511 +#: common/models.py:1517 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1516 part/admin.py:117 part/models.py:1050 +#: common/models.py:1522 part/admin.py:117 part/models.py:1093 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "" -#: common/models.py:1517 +#: common/models.py:1523 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1522 +#: common/models.py:1528 msgid "Show Import in Views" msgstr "" -#: common/models.py:1523 +#: common/models.py:1529 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1528 +#: common/models.py:1534 msgid "Show related parts" msgstr "" -#: common/models.py:1529 +#: common/models.py:1535 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1534 +#: common/models.py:1540 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1535 +#: common/models.py:1541 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1540 templates/js/translated/part.js:107 +#: common/models.py:1546 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1542 +#: common/models.py:1548 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1548 +#: common/models.py:1554 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1549 +#: common/models.py:1555 msgid "Format to display the part name" msgstr "" -#: common/models.py:1555 +#: common/models.py:1561 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1556 +#: common/models.py:1562 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1560 +#: common/models.py:1566 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1562 +#: common/models.py:1568 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1568 +#: common/models.py:1574 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1570 +#: common/models.py:1576 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1576 +#: common/models.py:1582 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1578 +#: common/models.py:1584 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1584 +#: common/models.py:1590 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1586 +#: common/models.py:1592 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1592 +#: common/models.py:1598 msgid "Purchase History Override" msgstr "" -#: common/models.py:1594 +#: common/models.py:1600 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1600 +#: common/models.py:1606 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1602 +#: common/models.py:1608 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1608 +#: common/models.py:1614 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1610 +#: common/models.py:1616 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1617 +#: common/models.py:1623 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1618 +#: common/models.py:1624 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1623 +#: common/models.py:1629 msgid "Active Variants Only" msgstr "" -#: common/models.py:1625 +#: common/models.py:1631 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1631 +#: common/models.py:1637 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1633 +#: common/models.py:1639 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1640 +#: common/models.py:1646 msgid "Internal Prices" msgstr "" -#: common/models.py:1641 +#: common/models.py:1647 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1646 +#: common/models.py:1652 msgid "Internal Price Override" msgstr "" -#: common/models.py:1648 +#: common/models.py:1654 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1654 +#: common/models.py:1660 msgid "Enable label printing" msgstr "" -#: common/models.py:1655 +#: common/models.py:1661 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1660 +#: common/models.py:1666 msgid "Label Image DPI" msgstr "" -#: common/models.py:1662 +#: common/models.py:1668 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1668 +#: common/models.py:1674 msgid "Enable Reports" msgstr "" -#: common/models.py:1669 +#: common/models.py:1675 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1674 templates/stats.html:25 +#: common/models.py:1680 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1675 +#: common/models.py:1681 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1680 +#: common/models.py:1686 msgid "Log Report Errors" msgstr "" -#: common/models.py:1681 +#: common/models.py:1687 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1686 plugin/builtin/labels/label_sheet.py:28 -#: report/models.py:203 +#: common/models.py:1692 plugin/builtin/labels/label_sheet.py:28 +#: report/models.py:302 msgid "Page Size" msgstr "" -#: common/models.py:1687 +#: common/models.py:1693 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1692 +#: common/models.py:1698 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1693 +#: common/models.py:1699 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1698 +#: common/models.py:1704 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1700 +#: common/models.py:1706 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1706 +#: common/models.py:1712 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1707 +#: common/models.py:1713 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1712 +#: common/models.py:1718 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1713 +#: common/models.py:1719 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1718 +#: common/models.py:1724 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1720 +#: common/models.py:1726 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1726 +#: common/models.py:1732 msgid "Batch Code Template" msgstr "" -#: common/models.py:1728 +#: common/models.py:1734 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1733 +#: common/models.py:1739 msgid "Stock Expiry" msgstr "" -#: common/models.py:1734 +#: common/models.py:1740 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1739 +#: common/models.py:1745 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1740 +#: common/models.py:1746 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1745 +#: common/models.py:1751 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1747 +#: common/models.py:1753 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1754 +#: common/models.py:1760 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1755 +#: common/models.py:1761 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1760 +#: common/models.py:1766 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1761 +#: common/models.py:1767 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1766 +#: common/models.py:1772 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1767 +#: common/models.py:1773 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1771 +#: common/models.py:1777 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1772 +#: common/models.py:1778 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1777 +#: common/models.py:1783 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1779 +#: common/models.py:1785 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1785 +#: common/models.py:1791 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1787 +#: common/models.py:1793 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1793 +#: common/models.py:1799 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1795 +#: common/models.py:1801 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1801 common/models.py:1829 common/models.py:1851 -#: common/models.py:1879 +#: common/models.py:1807 common/models.py:1835 common/models.py:1857 +#: common/models.py:1885 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1802 common/models.py:1830 common/models.py:1852 -#: common/models.py:1880 +#: common/models.py:1808 common/models.py:1836 common/models.py:1858 +#: common/models.py:1886 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1807 +#: common/models.py:1813 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1809 +#: common/models.py:1815 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1815 +#: common/models.py:1821 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1816 +#: common/models.py:1822 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1821 +#: common/models.py:1827 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1823 +#: common/models.py:1829 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1835 +#: common/models.py:1841 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1837 +#: common/models.py:1843 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1843 +#: common/models.py:1849 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1845 +#: common/models.py:1851 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1857 +#: common/models.py:1863 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1858 +#: common/models.py:1864 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1863 +#: common/models.py:1869 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1865 +#: common/models.py:1871 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1871 +#: common/models.py:1877 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1873 +#: common/models.py:1879 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1885 +#: common/models.py:1891 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1887 +#: common/models.py:1893 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1893 +#: common/models.py:1899 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1895 +#: common/models.py:1901 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1902 +#: common/models.py:1908 msgid "Enable password forgot" msgstr "" -#: common/models.py:1903 +#: common/models.py:1909 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1908 +#: common/models.py:1914 msgid "Enable registration" msgstr "" -#: common/models.py:1909 +#: common/models.py:1915 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1914 +#: common/models.py:1920 msgid "Enable SSO" msgstr "" -#: common/models.py:1915 +#: common/models.py:1921 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1920 +#: common/models.py:1926 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1922 +#: common/models.py:1928 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1928 +#: common/models.py:1934 msgid "Email required" msgstr "" -#: common/models.py:1929 +#: common/models.py:1935 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1934 +#: common/models.py:1940 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1936 +#: common/models.py:1942 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1942 +#: common/models.py:1948 msgid "Mail twice" msgstr "" -#: common/models.py:1943 +#: common/models.py:1949 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1948 +#: common/models.py:1954 msgid "Password twice" msgstr "" -#: common/models.py:1949 +#: common/models.py:1955 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1954 +#: common/models.py:1960 msgid "Allowed domains" msgstr "" -#: common/models.py:1956 +#: common/models.py:1962 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1962 +#: common/models.py:1968 msgid "Group on signup" msgstr "" -#: common/models.py:1963 +#: common/models.py:1969 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1968 +#: common/models.py:1974 msgid "Enforce MFA" msgstr "" -#: common/models.py:1969 +#: common/models.py:1975 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1974 +#: common/models.py:1980 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1976 +#: common/models.py:1982 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1984 +#: common/models.py:1990 msgid "Check for plugin updates" msgstr "" -#: common/models.py:1985 +#: common/models.py:1991 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:1991 +#: common/models.py:1997 msgid "Enable URL integration" msgstr "" -#: common/models.py:1992 +#: common/models.py:1998 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1998 +#: common/models.py:2004 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1999 +#: common/models.py:2005 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2005 +#: common/models.py:2011 msgid "Enable app integration" msgstr "" -#: common/models.py:2006 +#: common/models.py:2012 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2012 +#: common/models.py:2018 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2013 +#: common/models.py:2019 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2019 +#: common/models.py:2025 msgid "Enable event integration" msgstr "" -#: common/models.py:2020 +#: common/models.py:2026 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2026 +#: common/models.py:2032 msgid "Enable project codes" msgstr "" -#: common/models.py:2027 +#: common/models.py:2033 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2032 +#: common/models.py:2038 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2034 +#: common/models.py:2040 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2040 +#: common/models.py:2046 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2042 +#: common/models.py:2048 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2048 +#: common/models.py:2054 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2050 +#: common/models.py:2056 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2056 +#: common/models.py:2062 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2058 +#: common/models.py:2064 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2065 +#: common/models.py:2071 msgid "Display Users full names" msgstr "" -#: common/models.py:2066 +#: common/models.py:2072 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2071 +#: common/models.py:2077 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2072 +#: common/models.py:2078 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2084 common/models.py:2494 +#: common/models.py:2090 common/models.py:2500 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2127 +#: common/models.py:2133 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2129 +#: common/models.py:2135 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2135 +#: common/models.py:2141 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2136 +#: common/models.py:2142 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2141 +#: common/models.py:2147 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2142 +#: common/models.py:2148 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2147 +#: common/models.py:2153 msgid "Show latest parts" msgstr "" -#: common/models.py:2148 +#: common/models.py:2154 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2153 +#: common/models.py:2159 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2154 +#: common/models.py:2160 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2159 +#: common/models.py:2165 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2160 +#: common/models.py:2166 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2165 +#: common/models.py:2171 msgid "Show low stock" msgstr "" -#: common/models.py:2166 +#: common/models.py:2172 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2171 +#: common/models.py:2177 msgid "Show depleted stock" msgstr "" -#: common/models.py:2172 +#: common/models.py:2178 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2177 +#: common/models.py:2183 msgid "Show needed stock" msgstr "" -#: common/models.py:2178 +#: common/models.py:2184 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2183 +#: common/models.py:2189 msgid "Show expired stock" msgstr "" -#: common/models.py:2184 +#: common/models.py:2190 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2189 +#: common/models.py:2195 msgid "Show stale stock" msgstr "" -#: common/models.py:2190 +#: common/models.py:2196 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2195 +#: common/models.py:2201 msgid "Show pending builds" msgstr "" -#: common/models.py:2196 +#: common/models.py:2202 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2201 +#: common/models.py:2207 msgid "Show overdue builds" msgstr "" -#: common/models.py:2202 +#: common/models.py:2208 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2207 +#: common/models.py:2213 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2208 +#: common/models.py:2214 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2213 +#: common/models.py:2219 msgid "Show overdue POs" msgstr "" -#: common/models.py:2214 +#: common/models.py:2220 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2219 +#: common/models.py:2225 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2220 +#: common/models.py:2226 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2225 +#: common/models.py:2231 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2226 +#: common/models.py:2232 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2231 +#: common/models.py:2237 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2232 +#: common/models.py:2238 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2237 +#: common/models.py:2243 msgid "Show News" msgstr "" -#: common/models.py:2238 +#: common/models.py:2244 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2243 +#: common/models.py:2249 msgid "Inline label display" msgstr "" -#: common/models.py:2245 +#: common/models.py:2251 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2251 +#: common/models.py:2257 msgid "Default label printer" msgstr "" -#: common/models.py:2253 +#: common/models.py:2259 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2259 +#: common/models.py:2265 msgid "Inline report display" msgstr "" -#: common/models.py:2261 +#: common/models.py:2267 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2267 +#: common/models.py:2273 msgid "Search Parts" msgstr "" -#: common/models.py:2268 +#: common/models.py:2274 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2273 +#: common/models.py:2279 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2274 +#: common/models.py:2280 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2279 +#: common/models.py:2285 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2280 +#: common/models.py:2286 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2285 +#: common/models.py:2291 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2286 +#: common/models.py:2292 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2291 +#: common/models.py:2297 msgid "Search Categories" msgstr "" -#: common/models.py:2292 +#: common/models.py:2298 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2297 +#: common/models.py:2303 msgid "Search Stock" msgstr "" -#: common/models.py:2298 +#: common/models.py:2304 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2303 +#: common/models.py:2309 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2305 +#: common/models.py:2311 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2311 +#: common/models.py:2317 msgid "Search Locations" msgstr "" -#: common/models.py:2312 +#: common/models.py:2318 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2317 +#: common/models.py:2323 msgid "Search Companies" msgstr "" -#: common/models.py:2318 +#: common/models.py:2324 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2323 +#: common/models.py:2329 msgid "Search Build Orders" msgstr "" -#: common/models.py:2324 +#: common/models.py:2330 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2329 +#: common/models.py:2335 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2330 +#: common/models.py:2336 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2335 +#: common/models.py:2341 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2337 +#: common/models.py:2343 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2343 +#: common/models.py:2349 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2344 +#: common/models.py:2350 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2349 +#: common/models.py:2355 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2351 +#: common/models.py:2357 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2357 +#: common/models.py:2363 msgid "Search Return Orders" msgstr "" -#: common/models.py:2358 +#: common/models.py:2364 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2363 +#: common/models.py:2369 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2365 +#: common/models.py:2371 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2371 +#: common/models.py:2377 msgid "Search Preview Results" msgstr "" -#: common/models.py:2373 +#: common/models.py:2379 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2379 +#: common/models.py:2385 msgid "Regex Search" msgstr "" -#: common/models.py:2380 +#: common/models.py:2386 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2385 +#: common/models.py:2391 msgid "Whole Word Search" msgstr "" -#: common/models.py:2386 +#: common/models.py:2392 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2391 +#: common/models.py:2397 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2392 +#: common/models.py:2398 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2397 +#: common/models.py:2403 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2398 +#: common/models.py:2404 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2403 +#: common/models.py:2409 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2404 +#: common/models.py:2410 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2409 +#: common/models.py:2415 msgid "Date Format" msgstr "" -#: common/models.py:2410 +#: common/models.py:2416 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2423 part/templates/part/detail.html:41 +#: common/models.py:2429 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2424 +#: common/models.py:2430 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2429 part/templates/part/detail.html:62 +#: common/models.py:2435 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2431 +#: common/models.py:2437 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2437 +#: common/models.py:2443 msgid "Table String Length" msgstr "" -#: common/models.py:2439 +#: common/models.py:2445 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2445 +#: common/models.py:2451 msgid "Default part label template" msgstr "" -#: common/models.py:2446 +#: common/models.py:2452 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2451 +#: common/models.py:2457 msgid "Default stock item template" msgstr "" -#: common/models.py:2453 +#: common/models.py:2459 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2459 +#: common/models.py:2465 msgid "Default stock location label template" msgstr "" -#: common/models.py:2461 +#: common/models.py:2467 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2467 +#: common/models.py:2473 msgid "Default build line label template" msgstr "" -#: common/models.py:2469 +#: common/models.py:2475 msgid "The build line label template to be automatically selected" msgstr "" -#: common/models.py:2475 +#: common/models.py:2481 msgid "Receive error reports" msgstr "" -#: common/models.py:2476 +#: common/models.py:2482 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2481 +#: common/models.py:2487 msgid "Last used printing machines" msgstr "" -#: common/models.py:2482 +#: common/models.py:2488 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2525 +#: common/models.py:2531 msgid "Price break quantity" msgstr "" -#: common/models.py:2532 company/serializers.py:496 order/admin.py:42 -#: order/models.py:1333 order/models.py:2243 +#: common/models.py:2538 company/serializers.py:496 order/admin.py:42 +#: order/models.py:1373 order/models.py:2292 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 -#: templates/js/translated/return_order.js:741 +#: templates/js/translated/return_order.js:740 msgid "Price" msgstr "" -#: common/models.py:2533 +#: common/models.py:2539 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2704 common/models.py:2889 +#: common/models.py:2710 common/models.py:2895 msgid "Endpoint" msgstr "" -#: common/models.py:2705 +#: common/models.py:2711 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2715 +#: common/models.py:2721 msgid "Name for this webhook" msgstr "" -#: common/models.py:2719 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1045 -#: plugin/models.py:56 templates/js/translated/company.js:523 +#: common/models.py:2725 company/models.py:160 company/models.py:814 +#: machine/models.py:39 part/admin.py:88 part/models.py:1088 +#: plugin/models.py:65 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:492 @@ -3614,135 +3628,135 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2719 +#: common/models.py:2725 msgid "Is this webhook active" msgstr "" -#: common/models.py:2735 users/models.py:159 +#: common/models.py:2741 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2736 +#: common/models.py:2742 msgid "Token for access" msgstr "" -#: common/models.py:2744 +#: common/models.py:2750 msgid "Secret" msgstr "" -#: common/models.py:2745 +#: common/models.py:2751 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2853 +#: common/models.py:2859 msgid "Message ID" msgstr "" -#: common/models.py:2854 +#: common/models.py:2860 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2862 +#: common/models.py:2868 msgid "Host" msgstr "" -#: common/models.py:2863 +#: common/models.py:2869 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2871 +#: common/models.py:2877 msgid "Header" msgstr "" -#: common/models.py:2872 +#: common/models.py:2878 msgid "Header of this message" msgstr "" -#: common/models.py:2879 +#: common/models.py:2885 msgid "Body" msgstr "" -#: common/models.py:2880 +#: common/models.py:2886 msgid "Body of this message" msgstr "" -#: common/models.py:2890 +#: common/models.py:2896 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2895 +#: common/models.py:2901 msgid "Worked on" msgstr "" -#: common/models.py:2896 +#: common/models.py:2902 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3022 +#: common/models.py:3028 msgid "Id" msgstr "" -#: common/models.py:3024 templates/js/translated/company.js:965 +#: common/models.py:3030 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3028 templates/js/translated/news.js:60 +#: common/models.py:3034 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3030 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3036 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3032 templates/js/translated/news.js:52 +#: common/models.py:3038 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3035 +#: common/models.py:3041 msgid "Read" msgstr "" -#: common/models.py:3035 +#: common/models.py:3041 msgid "Was this news item read?" msgstr "" -#: common/models.py:3052 company/models.py:156 part/models.py:929 +#: common/models.py:3058 company/models.py:156 part/models.py:972 #: 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 +#: report/templates/report/inventree_return_order_report.html:35 #: stock/templates/stock/item_base.html:133 templates/503.html:31 #: templates/hover_image.html:7 templates/hover_image.html:9 #: templates/modals.html:6 msgid "Image" msgstr "" -#: common/models.py:3052 +#: common/models.py:3058 msgid "Image file" msgstr "" -#: common/models.py:3094 +#: common/models.py:3100 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3113 +#: common/models.py:3119 msgid "Unit name" msgstr "" -#: common/models.py:3120 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3126 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3121 +#: common/models.py:3127 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3128 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3134 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3129 +#: common/models.py:3135 msgid "Unit definition" msgstr "" @@ -3929,9 +3943,9 @@ msgid "Contact email address" msgstr "" #: company/models.py:139 company/templates/company/company_base.html:145 -#: order/models.py:331 order/templates/order/order_base.html:203 +#: order/models.py:344 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 -#: order/templates/order/sales_order_base.html:214 +#: order/templates/order/sales_order_base.html:218 msgid "Contact" msgstr "" @@ -3977,7 +3991,7 @@ msgstr "" #: company/models.py:273 company/models.py:382 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:776 +#: company/templates/company/company_base.html:12 stock/api.py:810 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "" @@ -4069,8 +4083,8 @@ msgstr "" msgid "Link to address information (external)" msgstr "" -#: company/models.py:489 company/models.py:792 stock/models.py:751 -#: stock/serializers.py:266 stock/templates/stock/item_base.html:142 +#: company/models.py:489 company/models.py:792 stock/models.py:772 +#: stock/serializers.py:395 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -4081,7 +4095,7 @@ msgstr "" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:515 +#: company/templates/company/supplier_part.html:145 part/serializers.py:530 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4096,13 +4110,13 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:525 +#: company/templates/company/supplier_part.html:153 part/serializers.py:540 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800 -#: templates/js/translated/purchase_order.js:1852 -#: templates/js/translated/purchase_order.js:2054 +#: templates/js/translated/purchase_order.js:1851 +#: templates/js/translated/purchase_order.js:2053 msgid "MPN" msgstr "" @@ -4129,9 +4143,8 @@ msgstr "" msgid "Parameter name" msgstr "" -#: company/models.py:621 -#: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2448 templates/js/translated/company.js:1166 +#: company/models.py:621 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2425 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492 #: templates/js/translated/stock.js:1522 msgid "Value" @@ -4142,10 +4155,10 @@ msgid "Parameter value" msgstr "" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1009 part/models.py:3623 +#: part/admin.py:57 part/models.py:1052 part/models.py:3666 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 -#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370 +#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 msgid "Units" msgstr "" @@ -4166,9 +4179,9 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:465 +#: company/templates/company/supplier_part.html:129 order/models.py:487 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:499 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:514 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4176,7 +4189,7 @@ msgstr "" #: templates/js/translated/company.js:511 #: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1690 +#: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/table_filters.js:804 msgid "Supplier" msgstr "" @@ -4185,7 +4198,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:809 part/serializers.py:510 +#: company/models.py:809 part/serializers.py:525 msgid "Supplier stock keeping unit" msgstr "" @@ -4206,29 +4219,29 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:418 part/models.py:4070 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4113 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 -#: report/templates/report/inventree_slr_report.html:105 -#: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:579 +#: report/templates/report/inventree_purchase_order_report.html:32 +#: report/templates/report/inventree_return_order_report.html:27 +#: report/templates/report/inventree_sales_order_report.html:32 +#: report/templates/report/inventree_stock_location_report.html:105 +#: stock/serializers.py:708 msgid "Note" msgstr "" -#: company/models.py:857 part/models.py:1967 +#: company/models.py:857 part/models.py:2010 msgid "base cost" msgstr "" -#: company/models.py:858 part/models.py:1968 +#: company/models.py:858 part/models.py:2011 msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:782 stock/serializers.py:1350 +#: stock/admin.py:224 stock/models.py:803 stock/serializers.py:1479 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 -#: templates/js/translated/stock.js:2426 +#: templates/js/translated/stock.js:2424 msgid "Packaging" msgstr "" @@ -4241,8 +4254,8 @@ msgstr "" #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 -#: templates/js/translated/purchase_order.js:2085 -#: templates/js/translated/purchase_order.js:2102 +#: templates/js/translated/purchase_order.js:2084 +#: templates/js/translated/purchase_order.js:2101 msgid "Pack Quantity" msgstr "" @@ -4250,7 +4263,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:892 part/models.py:1974 +#: company/models.py:892 part/models.py:2017 msgid "multiple" msgstr "" @@ -4285,7 +4298,7 @@ msgstr "" #: part/templates/part/part_base.html:146 #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 -#: templates/js/translated/model_renderers.js:306 +#: templates/js/translated/model_renderers.js:312 #: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 msgid "Inactive" msgstr "" @@ -4321,11 +4334,11 @@ msgstr "" #: company/templates/company/manufacturer_part.html:51 #: company/templates/company/supplier_part.html:83 #: part/templates/part/part_thumb.html:20 -#: report/templates/report/inventree_build_order_base.html:98 -#: report/templates/report/inventree_po_report_base.html:40 -#: report/templates/report/inventree_so_report_base.html:40 -#: report/templates/report/inventree_test_report_base.html:84 -#: report/templates/report/inventree_test_report_base.html:163 +#: report/templates/report/inventree_build_order_report.html:98 +#: report/templates/report/inventree_purchase_order_report.html:40 +#: report/templates/report/inventree_sales_order_report.html:40 +#: report/templates/report/inventree_test_report.html:84 +#: report/templates/report/inventree_test_report.html:163 msgid "Part image" msgstr "" @@ -4344,16 +4357,16 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:92 order/models.py:910 -#: order/models.py:2010 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:144 stock/models.py:804 -#: stock/models.py:805 stock/serializers.py:1100 +#: company/templates/company/company_base.html:92 order/models.py:941 +#: order/models.py:2059 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:148 stock/models.py:825 +#: stock/models.py:826 stock/serializers.py:1229 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 -#: templates/js/translated/return_order.js:296 -#: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2962 +#: templates/js/translated/return_order.js:295 +#: templates/js/translated/sales_order.js:820 +#: templates/js/translated/stock.js:2959 #: templates/js/translated/table_filters.js:808 msgid "Customer" msgstr "" @@ -4362,10 +4375,10 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:124 order/models.py:341 +#: company/templates/company/company_base.html:124 order/models.py:354 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 -#: order/templates/order/sales_order_base.html:221 +#: order/templates/order/sales_order_base.html:225 msgid "Address" msgstr "" @@ -4374,7 +4387,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:211 -#: part/templates/part/part_base.html:528 +#: part/templates/part/part_base.html:527 msgid "Remove Image" msgstr "" @@ -4383,19 +4396,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:214 -#: part/templates/part/part_base.html:531 +#: part/templates/part/part_base.html:530 #: templates/InvenTree/settings/user.html:88 #: templates/InvenTree/settings/user_sso.html:43 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:243 -#: part/templates/part/part_base.html:560 +#: part/templates/part/part_base.html:559 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:258 -#: part/templates/part/part_base.html:614 +#: part/templates/part/part_base.html:613 msgid "Download Image" msgstr "" @@ -4558,7 +4571,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:821 +#: part/admin.py:122 part/serializers.py:836 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4609,10 +4622,10 @@ msgstr "" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:452 -#: stock/models.py:762 stock/templates/stock/item_base.html:233 +#: stock/models.py:783 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 -#: templates/js/translated/stock.js:2282 +#: templates/js/translated/stock.js:2280 msgid "Supplier Part" msgstr "" @@ -4658,11 +4671,11 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:509 +#: part/bom.py:311 part/serializers.py:524 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1851 -#: templates/js/translated/purchase_order.js:2029 +#: templates/js/translated/purchase_order.js:1850 +#: templates/js/translated/purchase_order.js:2028 msgid "SKU" msgstr "" @@ -4671,12 +4684,12 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:209 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:199 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:206 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:200 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:207 #: templates/js/translated/stock.js:537 msgid "New Stock Item" msgstr "" @@ -4708,16 +4721,16 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:820 part/stocktake.py:223 +#: part/serializers.py:835 part/stocktake.py:223 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:787 stock/serializers.py:951 +#: stock/serializers.py:916 stock/serializers.py:1080 #: stock/templates/stock/location.html:170 -#: stock/templates/stock/location.html:184 -#: stock/templates/stock/location.html:196 +#: stock/templates/stock/location.html:191 +#: stock/templates/stock/location.html:203 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2769 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 #: users/models.py:206 msgid "Stock Items" msgstr "" @@ -4751,126 +4764,48 @@ msgstr "" msgid "New Company" msgstr "" -#: label/api.py:247 -msgid "Error printing label" -msgstr "" - -#: label/models.py:120 -msgid "Label name" -msgstr "" - -#: label/models.py:128 -msgid "Label description" -msgstr "" - -#: label/models.py:136 -msgid "Label" -msgstr "" - -#: label/models.py:137 -msgid "Label template file" -msgstr "" - -#: label/models.py:143 part/models.py:3494 report/models.py:324 -#: templates/js/translated/part.js:2900 -#: templates/js/translated/table_filters.js:481 -msgid "Enabled" -msgstr "" - -#: label/models.py:144 -msgid "Label template is enabled" -msgstr "" - -#: label/models.py:149 -msgid "Width [mm]" -msgstr "" - -#: label/models.py:150 -msgid "Label width, specified in mm" -msgstr "" - -#: label/models.py:156 -msgid "Height [mm]" -msgstr "" - -#: label/models.py:157 -msgid "Label height, specified in mm" -msgstr "" - -#: label/models.py:163 report/models.py:317 -msgid "Filename Pattern" -msgstr "" - -#: label/models.py:164 -msgid "Pattern for generating label filenames" -msgstr "" - -#: label/models.py:313 label/models.py:352 label/models.py:377 -#: label/models.py:412 -msgid "Query filters (comma-separated list of key=value pairs)" -msgstr "" - -#: label/models.py:314 label/models.py:353 label/models.py:378 -#: label/models.py:413 report/models.py:345 report/models.py:496 -#: report/models.py:532 report/models.py:568 report/models.py:750 -msgid "Filters" -msgstr "" - -#: label/templates/label/part/part_label.html:31 -#: label/templates/label/stockitem/qr.html:21 -#: label/templates/label/stocklocation/qr.html:20 -#: templates/allauth_2fa/setup.html:18 -msgid "QR Code" -msgstr "" - -#: label/templates/label/part/part_label_code128.html:31 -#: label/templates/label/stocklocation/qr_and_text.html:31 -#: templates/qr_code.html:7 -msgid "QR code" -msgstr "" - -#: machine/machine_types/label_printer.py:217 +#: machine/machine_types/label_printer.py:218 msgid "Copies" msgstr "" -#: machine/machine_types/label_printer.py:218 +#: machine/machine_types/label_printer.py:219 msgid "Number of copies to print for each label" msgstr "" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:234 msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:234 order/api.py:1515 -#: templates/js/translated/sales_order.js:1042 +#: machine/machine_types/label_printer.py:235 order/api.py:1515 +#: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "" -#: machine/machine_types/label_printer.py:235 +#: machine/machine_types/label_printer.py:236 msgid "Printing" msgstr "" -#: machine/machine_types/label_printer.py:236 +#: machine/machine_types/label_printer.py:237 msgid "No media" msgstr "" -#: machine/machine_types/label_printer.py:237 +#: machine/machine_types/label_printer.py:238 msgid "Disconnected" msgstr "" -#: machine/machine_types/label_printer.py:244 +#: machine/machine_types/label_printer.py:245 msgid "Label Printer" msgstr "" -#: machine/machine_types/label_printer.py:245 +#: machine/machine_types/label_printer.py:246 msgid "Directly print labels for various items." msgstr "" -#: machine/machine_types/label_printer.py:251 +#: machine/machine_types/label_printer.py:252 msgid "Printer Location" msgstr "" -#: machine/machine_types/label_printer.py:252 +#: machine/machine_types/label_printer.py:253 msgid "Scope the printer to a specific location" msgstr "" @@ -4930,19 +4865,19 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:89 -#: report/templates/report/inventree_po_report_base.html:31 -#: report/templates/report/inventree_so_report_base.html:31 +#: order/admin.py:30 order/models.py:90 +#: report/templates/report/inventree_purchase_order_report.html:31 +#: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2126 -#: templates/js/translated/sales_order.js:1847 +#: templates/js/translated/purchase_order.js:2125 +#: templates/js/translated/sales_order.js:1883 msgid "Total Price" msgstr "" #: order/api.py:161 order/serializers.py:91 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 -#: order/templates/order/sales_order_base.html:118 +#: order/templates/order/sales_order_base.html:122 msgid "Order Status" msgstr "" @@ -4955,10 +4890,10 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:437 order/api.py:817 order/models.py:1382 order/models.py:1491 -#: order/models.py:1537 order/models.py:1651 order/models.py:1805 -#: order/models.py:2209 order/models.py:2260 -#: templates/js/translated/sales_order.js:1488 +#: order/api.py:437 order/api.py:817 order/models.py:1422 order/models.py:1531 +#: order/models.py:1577 order/models.py:1691 order/models.py:1845 +#: order/models.py:2258 order/models.py:2309 +#: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" @@ -4970,402 +4905,398 @@ msgstr "" msgid "Order Pending" msgstr "" -#: order/api.py:1509 order/models.py:1383 order/models.py:1492 -#: order/templates/order/order_base.html:9 +#: order/api.py:1509 order/models.py:381 order/models.py:1423 +#: order/models.py:1532 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 -#: report/templates/report/inventree_po_report_base.html:14 -#: stock/templates/stock/item_base.html:176 +#: report/templates/report/inventree_purchase_order_report.html:14 +#: stock/serializers.py:119 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 -#: templates/js/translated/purchase_order.js:1674 -#: templates/js/translated/stock.js:2262 templates/js/translated/stock.js:2910 +#: templates/js/translated/purchase_order.js:1673 +#: templates/js/translated/stock.js:2260 templates/js/translated/stock.js:2907 msgid "Purchase Order" msgstr "" -#: order/api.py:1513 order/models.py:2210 order/models.py:2261 -#: order/templates/order/return_order_base.html:9 +#: order/api.py:1513 order/models.py:2008 order/models.py:2259 +#: order/models.py:2310 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:281 -#: templates/js/translated/stock.js:2944 +#: report/templates/report/inventree_return_order_report.html:13 +#: templates/js/translated/return_order.js:280 +#: templates/js/translated/stock.js:2941 msgid "Return Order" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:96 order/serializers.py:71 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:99 order/serializers.py:72 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:246 +#: order/models.py:248 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:278 +#: order/models.py:291 msgid "Order description (optional)" msgstr "" -#: order/models.py:287 +#: order/models.py:300 msgid "Select project code for this order" msgstr "" -#: order/models.py:291 order/models.py:1288 order/models.py:1704 +#: order/models.py:304 order/models.py:1328 order/models.py:1744 msgid "Link to external page" msgstr "" -#: order/models.py:299 +#: order/models.py:312 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:313 +#: order/models.py:326 msgid "Created By" msgstr "" -#: order/models.py:321 +#: order/models.py:334 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:332 +#: order/models.py:345 msgid "Point of contact for this order" msgstr "" -#: order/models.py:342 +#: order/models.py:355 msgid "Company address for this order" msgstr "" -#: order/models.py:443 order/models.py:899 +#: order/models.py:465 order/models.py:930 msgid "Order reference" msgstr "" -#: order/models.py:451 order/models.py:923 +#: order/models.py:473 order/models.py:954 msgid "Purchase order status" msgstr "" -#: order/models.py:466 +#: order/models.py:488 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:477 order/templates/order/order_base.html:148 -#: templates/js/translated/purchase_order.js:1703 +#: order/models.py:499 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1702 msgid "Supplier Reference" msgstr "" -#: order/models.py:478 +#: order/models.py:500 msgid "Supplier order reference code" msgstr "" -#: order/models.py:487 +#: order/models.py:509 msgid "received by" msgstr "" -#: order/models.py:493 order/models.py:2036 +#: order/models.py:515 order/models.py:2085 msgid "Issue Date" msgstr "" -#: order/models.py:494 order/models.py:2037 +#: order/models.py:516 order/models.py:2086 msgid "Date order was issued" msgstr "" -#: order/models.py:501 order/models.py:2044 +#: order/models.py:523 order/models.py:2093 msgid "Date order was completed" msgstr "" -#: order/models.py:545 +#: order/models.py:567 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:739 +#: order/models.py:761 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:911 +#: order/models.py:942 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:934 order/models.py:2029 +#: order/models.py:965 order/models.py:2078 msgid "Customer Reference " msgstr "" -#: order/models.py:935 order/models.py:2030 +#: order/models.py:966 order/models.py:2079 msgid "Customer order reference code" msgstr "" -#: order/models.py:939 order/models.py:1658 -#: templates/js/translated/sales_order.js:843 -#: templates/js/translated/sales_order.js:1024 +#: order/models.py:970 order/models.py:1698 +#: templates/js/translated/sales_order.js:879 +#: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "" -#: order/models.py:948 +#: order/models.py:979 msgid "shipped by" msgstr "" -#: order/models.py:999 -msgid "Order cannot be completed as no parts have been assigned" -msgstr "" - -#: order/models.py:1004 +#: order/models.py:1029 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1008 templates/js/translated/sales_order.js:506 +#: order/models.py:1033 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1013 +#: order/models.py:1038 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1260 +#: order/models.py:1300 msgid "Item quantity" msgstr "" -#: order/models.py:1277 +#: order/models.py:1317 msgid "Line item reference" msgstr "" -#: order/models.py:1284 +#: order/models.py:1324 msgid "Line item notes" msgstr "" -#: order/models.py:1296 +#: order/models.py:1336 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1317 +#: order/models.py:1357 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1323 +#: order/models.py:1363 msgid "Context" msgstr "" -#: order/models.py:1324 +#: order/models.py:1364 msgid "Additional context for this line" msgstr "" -#: order/models.py:1334 +#: order/models.py:1374 msgid "Unit price" msgstr "" -#: order/models.py:1367 +#: order/models.py:1407 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1374 +#: order/models.py:1414 msgid "deleted" msgstr "" -#: order/models.py:1402 +#: order/models.py:1442 msgid "Supplier part" msgstr "" -#: order/models.py:1409 order/templates/order/order_base.html:196 +#: order/models.py:1449 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 #: templates/js/translated/purchase_order.js:1306 -#: templates/js/translated/purchase_order.js:2170 -#: templates/js/translated/return_order.js:764 +#: templates/js/translated/purchase_order.js:2169 +#: templates/js/translated/return_order.js:763 #: templates/js/translated/table_filters.js:120 #: templates/js/translated/table_filters.js:602 msgid "Received" msgstr "" -#: order/models.py:1410 +#: order/models.py:1450 msgid "Number of items received" msgstr "" -#: order/models.py:1418 stock/models.py:923 stock/serializers.py:400 +#: order/models.py:1458 stock/models.py:944 stock/serializers.py:529 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2313 +#: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "" -#: order/models.py:1419 +#: order/models.py:1459 msgid "Unit purchase price" msgstr "" -#: order/models.py:1434 +#: order/models.py:1474 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1525 +#: order/models.py:1565 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1530 +#: order/models.py:1570 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1556 part/templates/part/part_pricing.html:107 +#: order/models.py:1596 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1557 +#: order/models.py:1597 msgid "Unit sale price" msgstr "" -#: order/models.py:1567 +#: order/models.py:1607 msgid "Shipped quantity" msgstr "" -#: order/models.py:1659 +#: order/models.py:1699 msgid "Date of shipment" msgstr "" -#: order/models.py:1665 templates/js/translated/sales_order.js:1036 +#: order/models.py:1705 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1666 +#: order/models.py:1706 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1674 +#: order/models.py:1714 msgid "Checked By" msgstr "" -#: order/models.py:1675 +#: order/models.py:1715 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1682 order/models.py:1895 order/serializers.py:1354 -#: order/serializers.py:1464 templates/js/translated/model_renderers.js:448 +#: order/models.py:1722 order/models.py:1935 order/serializers.py:1354 +#: order/serializers.py:1464 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" -#: order/models.py:1683 +#: order/models.py:1723 msgid "Shipment number" msgstr "" -#: order/models.py:1691 +#: order/models.py:1731 msgid "Tracking Number" msgstr "" -#: order/models.py:1692 +#: order/models.py:1732 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1699 +#: order/models.py:1739 msgid "Invoice Number" msgstr "" -#: order/models.py:1700 +#: order/models.py:1740 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1720 +#: order/models.py:1760 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1723 +#: order/models.py:1763 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1841 order/models.py:1843 +#: order/models.py:1881 order/models.py:1883 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1850 +#: order/models.py:1890 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1853 +#: order/models.py:1893 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1856 +#: order/models.py:1896 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1875 order/serializers.py:1231 +#: order/models.py:1915 order/serializers.py:1231 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1878 +#: order/models.py:1918 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1879 plugin/base/barcodes/api.py:481 +#: order/models.py:1919 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1887 +#: order/models.py:1927 msgid "Line" msgstr "" -#: order/models.py:1896 +#: order/models.py:1936 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1909 order/models.py:2217 -#: templates/js/translated/return_order.js:722 +#: order/models.py:1949 order/models.py:2266 +#: templates/js/translated/return_order.js:721 msgid "Item" msgstr "" -#: order/models.py:1910 +#: order/models.py:1950 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1919 +#: order/models.py:1959 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1999 +#: order/models.py:2048 msgid "Return Order reference" msgstr "" -#: order/models.py:2011 +#: order/models.py:2060 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2023 +#: order/models.py:2072 msgid "Return order status" msgstr "" -#: order/models.py:2202 +#: order/models.py:2251 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2218 +#: order/models.py:2267 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2224 +#: order/models.py:2273 msgid "Received Date" msgstr "" -#: order/models.py:2225 +#: order/models.py:2274 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2236 templates/js/translated/return_order.js:733 +#: order/models.py:2285 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2237 +#: order/models.py:2286 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2244 +#: order/models.py:2293 msgid "Cost associated with return or repair for this line item" msgstr "" #: order/serializers.py:80 order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 -#: report/templates/report/inventree_po_report_base.html:22 -#: report/templates/report/inventree_return_order_report_base.html:19 -#: report/templates/report/inventree_so_report_base.html:22 +#: report/templates/report/inventree_purchase_order_report.html:22 +#: report/templates/report/inventree_return_order_report.html:19 +#: report/templates/report/inventree_sales_order_report.html:22 msgid "Line Items" msgstr "" @@ -5595,7 +5526,7 @@ msgstr "" #: order/templates/order/order_base.html:84 #: order/templates/order/return_order_base.html:87 -#: order/templates/order/sales_order_base.html:93 +#: order/templates/order/sales_order_base.html:97 msgid "Complete Order" msgstr "" @@ -5605,13 +5536,13 @@ msgstr "" #: order/templates/order/order_base.html:106 #: order/templates/order/return_order_base.html:101 -#: order/templates/order/sales_order_base.html:106 +#: order/templates/order/sales_order_base.html:110 msgid "Order Reference" msgstr "" #: order/templates/order/order_base.html:111 #: order/templates/order/return_order_base.html:106 -#: order/templates/order/sales_order_base.html:111 +#: order/templates/order/sales_order_base.html:115 msgid "Order Description" msgstr "" @@ -5620,19 +5551,19 @@ msgid "No suppplier information available" msgstr "" #: order/templates/order/order_base.html:154 -#: order/templates/order/sales_order_base.html:157 +#: order/templates/order/sales_order_base.html:161 msgid "Completed Line Items" msgstr "" #: order/templates/order/order_base.html:160 -#: order/templates/order/sales_order_base.html:163 -#: order/templates/order/sales_order_base.html:173 +#: order/templates/order/sales_order_base.html:167 +#: order/templates/order/sales_order_base.html:177 msgid "Incomplete" msgstr "" #: order/templates/order/order_base.html:179 #: order/templates/order/return_order_base.html:157 -#: report/templates/report/inventree_build_order_base.html:121 +#: report/templates/report/inventree_build_order_report.html:121 msgid "Issued" msgstr "" @@ -5642,15 +5573,15 @@ msgstr "" #: order/templates/order/order_base.html:228 #: order/templates/order/return_order_base.html:199 -#: order/templates/order/sales_order_base.html:239 +#: order/templates/order/sales_order_base.html:243 msgid "Total cost could not be calculated" msgstr "" -#: order/templates/order/order_base.html:318 +#: order/templates/order/order_base.html:314 msgid "Purchase Order QR Code" msgstr "" -#: order/templates/order/order_base.html:330 +#: order/templates/order/order_base.html:326 msgid "Link Barcode to Purchase Order" msgstr "" @@ -5707,8 +5638,8 @@ msgstr "" #: templates/js/translated/build.js:1629 #: templates/js/translated/purchase_order.js:696 #: templates/js/translated/purchase_order.js:1236 -#: templates/js/translated/return_order.js:506 -#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/return_order.js:505 +#: templates/js/translated/sales_order.js:1145 #: templates/js/translated/stock.js:714 templates/js/translated/stock.js:883 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -5762,7 +5693,7 @@ msgstr "" #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 #: templates/js/translated/purchase_order.js:414 -#: templates/js/translated/return_order.js:459 +#: templates/js/translated/return_order.js:458 #: templates/js/translated/sales_order.js:237 msgid "Add Line Item" msgstr "" @@ -5811,30 +5742,30 @@ msgid "Print packing list" msgstr "" #: order/templates/order/return_order_base.html:138 -#: order/templates/order/sales_order_base.html:151 -#: templates/js/translated/return_order.js:309 -#: templates/js/translated/sales_order.js:797 +#: order/templates/order/sales_order_base.html:155 +#: templates/js/translated/return_order.js:308 +#: templates/js/translated/sales_order.js:833 msgid "Customer Reference" msgstr "" #: order/templates/order/return_order_base.html:195 -#: order/templates/order/sales_order_base.html:235 +#: order/templates/order/sales_order_base.html:239 #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1072 -#: templates/js/translated/purchase_order.js:1753 -#: templates/js/translated/return_order.js:381 -#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/purchase_order.js:1752 +#: templates/js/translated/return_order.js:380 +#: templates/js/translated/sales_order.js:891 msgid "Total Cost" msgstr "" -#: order/templates/order/return_order_base.html:263 +#: order/templates/order/return_order_base.html:259 msgid "Return Order QR Code" msgstr "" -#: order/templates/order/return_order_base.html:275 +#: order/templates/order/return_order_base.html:271 msgid "Link Barcode to Return Order" msgstr "" @@ -5852,25 +5783,30 @@ msgid "Ship Items" msgstr "" #: order/templates/order/sales_order_base.html:92 -#: templates/js/translated/sales_order.js:484 +#: order/templates/order/sales_order_base.html:93 +msgid "Mark As Shipped" +msgstr "" + +#: order/templates/order/sales_order_base.html:96 +#: templates/js/translated/sales_order.js:536 msgid "Complete Sales Order" msgstr "" -#: order/templates/order/sales_order_base.html:131 +#: order/templates/order/sales_order_base.html:135 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:169 +#: order/templates/order/sales_order_base.html:173 #: order/templates/order/sales_order_detail.html:99 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "" -#: order/templates/order/sales_order_base.html:312 +#: order/templates/order/sales_order_base.html:321 msgid "Sales Order QR Code" msgstr "" -#: order/templates/order/sales_order_base.html:324 +#: order/templates/order/sales_order_base.html:333 msgid "Link Barcode to Sales Order" msgstr "" @@ -5914,12 +5850,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:404 part/models.py:3921 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:406 part/models.py:3964 part/stocktake.py:218 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:411 part/models.py:3922 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:413 part/models.py:3965 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -5928,20 +5864,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:904 part/templates/part/part_base.html:269 -#: report/templates/report/inventree_slr_report.html:103 -#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2341 -#: templates/js/translated/stock.js:2038 +#: part/admin.py:48 part/models.py:947 part/templates/part/part_base.html:269 +#: report/templates/report/inventree_stock_location_report.html:103 +#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 +#: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:913 part/templates/part/part_base.html:277 -#: report/models.py:195 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2347 +#: part/admin.py:50 part/models.py:956 part/templates/part/part_base.html:277 +#: report/models.py:161 templates/js/translated/part.js:1231 +#: templates/js/translated/part.js:2346 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:317 part/models.py:886 +#: part/admin.py:53 part/admin.py:319 part/models.py:929 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5950,15 +5886,15 @@ msgstr "" msgid "Part Image" msgstr "" -#: part/admin.py:63 part/admin.py:300 part/stocktake.py:221 +#: part/admin.py:63 part/admin.py:302 part/stocktake.py:221 msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:302 part/stocktake.py:222 +#: part/admin.py:67 part/admin.py:304 part/stocktake.py:222 msgid "Category Name" msgstr "" -#: part/admin.py:71 part/admin.py:314 +#: part/admin.py:71 part/admin.py:316 msgid "Default Location ID" msgstr "" @@ -5966,11 +5902,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:872 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:915 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1000 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1043 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5983,160 +5919,164 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3080 part/models.py:3094 +#: part/admin.py:155 part/models.py:3123 part/models.py:3137 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3087 part/models.py:3101 +#: part/admin.py:158 part/models.py:3130 part/models.py:3144 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" -#: part/admin.py:306 part/admin.py:393 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:211 msgid "Parent ID" msgstr "" -#: part/admin.py:310 part/admin.py:400 stock/admin.py:62 +#: part/admin.py:312 part/admin.py:402 stock/admin.py:62 msgid "Parent Name" msgstr "" -#: part/admin.py:318 part/templates/part/category.html:88 +#: part/admin.py:320 part/templates/part/category.html:88 #: part/templates/part/category.html:101 msgid "Category Path" msgstr "" -#: part/admin.py:323 part/models.py:391 part/serializers.py:117 +#: part/admin.py:325 part/models.py:393 part/serializers.py:117 #: part/serializers.py:272 part/serializers.py:391 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2803 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "" -#: part/admin.py:384 +#: part/admin.py:386 msgid "BOM Level" msgstr "" -#: part/admin.py:387 +#: part/admin.py:389 msgid "BOM Item ID" msgstr "" -#: part/admin.py:397 +#: part/admin.py:399 msgid "Parent IPN" msgstr "" -#: part/admin.py:408 part/models.py:3923 +#: part/admin.py:410 part/models.py:3966 msgid "Part IPN" msgstr "" -#: part/admin.py:421 part/serializers.py:1261 +#: part/admin.py:423 part/serializers.py:1276 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:426 part/serializers.py:1276 +#: part/admin.py:428 part/serializers.py:1291 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:119 +#: part/api.py:112 msgid "Starred" msgstr "" -#: part/api.py:121 +#: part/api.py:114 msgid "Filter by starred categories" msgstr "" -#: part/api.py:138 stock/api.py:284 +#: part/api.py:131 stock/api.py:318 msgid "Depth" msgstr "" -#: part/api.py:138 +#: part/api.py:131 msgid "Filter by category depth" msgstr "" -#: part/api.py:156 stock/api.py:302 +#: part/api.py:149 stock/api.py:336 msgid "Cascade" msgstr "" -#: part/api.py:158 +#: part/api.py:151 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:178 +#: part/api.py:171 msgid "Parent" msgstr "" -#: part/api.py:180 +#: part/api.py:173 msgid "Filter by parent category" msgstr "" -#: part/api.py:213 +#: part/api.py:206 msgid "Exclude Tree" msgstr "" -#: part/api.py:215 +#: part/api.py:208 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:461 +#: part/api.py:455 msgid "Has Results" msgstr "" -#: part/api.py:628 +#: part/api.py:622 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:646 +#: part/api.py:640 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:662 +#: part/api.py:656 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:746 +#: part/api.py:740 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:893 +#: part/api.py:887 msgid "Valid" msgstr "" -#: part/api.py:894 +#: part/api.py:888 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:900 +#: part/api.py:894 msgid "This option must be selected" msgstr "" -#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866 -#: part/serializers.py:406 part/serializers.py:1117 -#: part/templates/part/part_base.html:260 stock/api.py:745 +#: part/api.py:1111 +msgid "BOM Valid" +msgstr "" + +#: part/api.py:1515 part/models.py:939 part/models.py:3429 part/models.py:3909 +#: part/serializers.py:406 part/serializers.py:1132 +#: part/templates/part/part_base.html:260 stock/api.py:779 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2377 +#: templates/js/translated/part.js:2376 msgid "Category" msgstr "" -#: part/api.py:1849 +#: part/api.py:1803 msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:101 part/models.py:939 +#: part/bom.py:170 part/models.py:102 part/models.py:982 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:822 +#: part/bom.py:171 part/serializers.py:837 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6145,698 +6085,712 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:82 part/models.py:3867 part/templates/part/category.html:16 +#: part/models.py:83 part/models.py:3910 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:83 part/templates/part/category.html:136 +#: part/models.py:84 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "" -#: part/models.py:102 +#: part/models.py:103 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:107 stock/models.py:165 templates/js/translated/part.js:2810 -#: templates/js/translated/stock.js:2775 +#: part/models.py:108 stock/models.py:177 templates/js/translated/part.js:2809 +#: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "" -#: part/models.py:109 +#: part/models.py:110 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:118 +#: part/models.py:119 msgid "Default keywords" msgstr "" -#: part/models.py:119 +#: part/models.py:120 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:125 stock/models.py:89 stock/models.py:148 +#: part/models.py:126 stock/models.py:89 stock/models.py:160 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:126 stock/models.py:149 +#: part/models.py:127 stock/models.py:161 msgid "Icon (optional)" msgstr "" -#: part/models.py:148 +#: part/models.py:149 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:484 +#: part/models.py:482 +msgid "Cannot delete this part as it is still active" +msgstr "" + +#: part/models.py:489 +msgid "Cannot delete this part as it is used in an assembly" +msgstr "" + +#: part/models.py:527 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:532 part/models.py:539 +#: part/models.py:575 part/models.py:582 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:551 +#: part/models.py:594 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:616 +#: part/models.py:659 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:696 +#: part/models.py:739 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:801 +#: part/models.py:844 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:811 +#: part/models.py:854 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:826 +#: part/models.py:869 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:855 part/models.py:3922 +#: part/models.py:898 part/models.py:3965 msgid "Part name" msgstr "" -#: part/models.py:860 +#: part/models.py:903 msgid "Is Template" msgstr "" -#: part/models.py:861 +#: part/models.py:904 msgid "Is this part a template part?" msgstr "" -#: part/models.py:871 +#: part/models.py:914 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:879 +#: part/models.py:922 msgid "Part description (optional)" msgstr "" -#: part/models.py:887 +#: part/models.py:930 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:897 +#: part/models.py:940 msgid "Part category" msgstr "" -#: part/models.py:905 +#: part/models.py:948 msgid "Internal Part Number" msgstr "" -#: part/models.py:912 +#: part/models.py:955 msgid "Part revision or version number" msgstr "" -#: part/models.py:937 +#: part/models.py:980 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:983 part/templates/part/part_base.html:376 +#: part/models.py:1026 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:984 +#: part/models.py:1027 msgid "Default supplier part" msgstr "" -#: part/models.py:991 +#: part/models.py:1034 msgid "Default Expiry" msgstr "" -#: part/models.py:992 +#: part/models.py:1035 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1001 +#: part/models.py:1044 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1010 +#: part/models.py:1053 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1017 +#: part/models.py:1060 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1023 +#: part/models.py:1066 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1029 +#: part/models.py:1072 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1035 +#: part/models.py:1078 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1041 +#: part/models.py:1084 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1045 +#: part/models.py:1088 msgid "Is this part active?" msgstr "" -#: part/models.py:1051 +#: part/models.py:1094 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1057 +#: part/models.py:1100 msgid "BOM checksum" msgstr "" -#: part/models.py:1058 +#: part/models.py:1101 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1066 +#: part/models.py:1109 msgid "BOM checked by" msgstr "" -#: part/models.py:1071 +#: part/models.py:1114 msgid "BOM checked date" msgstr "" -#: part/models.py:1087 +#: part/models.py:1130 msgid "Creation User" msgstr "" -#: part/models.py:1097 +#: part/models.py:1140 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1102 part/templates/part/part_base.html:339 +#: part/models.py:1145 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 -#: templates/js/translated/part.js:2471 +#: templates/js/translated/part.js:2470 msgid "Last Stocktake" msgstr "" -#: part/models.py:1975 +#: part/models.py:2018 msgid "Sell multiple" msgstr "" -#: part/models.py:2994 +#: part/models.py:3037 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3010 +#: part/models.py:3053 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3011 +#: part/models.py:3054 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3017 +#: part/models.py:3060 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3018 +#: part/models.py:3061 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3024 +#: part/models.py:3067 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3025 +#: part/models.py:3068 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3031 +#: part/models.py:3074 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3032 +#: part/models.py:3075 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3038 +#: part/models.py:3081 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3039 +#: part/models.py:3082 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3045 +#: part/models.py:3088 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3046 +#: part/models.py:3089 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3052 +#: part/models.py:3095 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3053 +#: part/models.py:3096 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3059 +#: part/models.py:3102 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3060 +#: part/models.py:3103 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3066 +#: part/models.py:3109 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3067 +#: part/models.py:3110 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3073 +#: part/models.py:3116 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3074 +#: part/models.py:3117 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3081 +#: part/models.py:3124 msgid "Override minimum cost" msgstr "" -#: part/models.py:3088 +#: part/models.py:3131 msgid "Override maximum cost" msgstr "" -#: part/models.py:3095 +#: part/models.py:3138 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3102 +#: part/models.py:3145 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3108 +#: part/models.py:3151 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3109 +#: part/models.py:3152 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3115 +#: part/models.py:3158 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3116 +#: part/models.py:3159 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3122 +#: part/models.py:3165 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3123 +#: part/models.py:3166 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3129 +#: part/models.py:3172 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3130 +#: part/models.py:3173 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3149 +#: part/models.py:3192 msgid "Part for stocktake" msgstr "" -#: part/models.py:3154 +#: part/models.py:3197 msgid "Item Count" msgstr "" -#: part/models.py:3155 +#: part/models.py:3198 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3163 +#: part/models.py:3206 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3167 part/models.py:3250 +#: part/models.py:3210 part/models.py:3293 #: part/templates/part/part_scheduling.html:13 -#: report/templates/report/inventree_test_report_base.html:106 +#: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 #: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 -#: templates/js/translated/purchase_order.js:1732 -#: templates/js/translated/stock.js:2824 +#: templates/js/translated/purchase_order.js:1731 +#: templates/js/translated/stock.js:2821 msgid "Date" msgstr "" -#: part/models.py:3168 +#: part/models.py:3211 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3176 +#: part/models.py:3219 msgid "Additional notes" msgstr "" -#: part/models.py:3186 +#: part/models.py:3229 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3192 +#: part/models.py:3235 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3193 +#: part/models.py:3236 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3199 +#: part/models.py:3242 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3200 +#: part/models.py:3243 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3256 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3299 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3257 +#: part/models.py:3300 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3262 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3305 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3263 +#: part/models.py:3306 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3273 +#: part/models.py:3316 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3435 +#: part/models.py:3478 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3446 +#: part/models.py:3489 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3457 +#: part/models.py:3500 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3474 templates/js/translated/part.js:2879 +#: part/models.py:3517 templates/js/translated/part.js:2878 msgid "Test Name" msgstr "" -#: part/models.py:3475 +#: part/models.py:3518 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3481 +#: part/models.py:3524 msgid "Test Key" msgstr "" -#: part/models.py:3482 +#: part/models.py:3525 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3489 +#: part/models.py:3532 msgid "Test Description" msgstr "" -#: part/models.py:3490 +#: part/models.py:3533 msgid "Enter description for this test" msgstr "" -#: part/models.py:3494 +#: part/models.py:3537 report/models.py:208 +#: templates/js/translated/part.js:2899 +#: templates/js/translated/table_filters.js:481 +msgid "Enabled" +msgstr "" + +#: part/models.py:3537 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3499 templates/js/translated/part.js:2908 +#: part/models.py:3542 templates/js/translated/part.js:2907 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3500 +#: part/models.py:3543 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3505 templates/js/translated/part.js:2916 +#: part/models.py:3548 templates/js/translated/part.js:2915 msgid "Requires Value" msgstr "" -#: part/models.py:3506 +#: part/models.py:3549 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3511 templates/js/translated/part.js:2923 +#: part/models.py:3554 templates/js/translated/part.js:2922 msgid "Requires Attachment" msgstr "" -#: part/models.py:3513 +#: part/models.py:3556 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3560 +#: part/models.py:3603 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3565 +#: part/models.py:3608 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3585 +#: part/models.py:3628 msgid "Choices must be unique" msgstr "" -#: part/models.py:3602 +#: part/models.py:3645 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3617 +#: part/models.py:3660 msgid "Parameter Name" msgstr "" -#: part/models.py:3624 +#: part/models.py:3667 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3632 +#: part/models.py:3675 msgid "Parameter description" msgstr "" -#: part/models.py:3638 templates/js/translated/part.js:1627 +#: part/models.py:3681 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3639 +#: part/models.py:3682 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3644 templates/js/translated/part.js:1636 +#: part/models.py:3687 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3645 +#: part/models.py:3688 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3722 +#: part/models.py:3765 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3765 +#: part/models.py:3808 msgid "Parent Part" msgstr "" -#: part/models.py:3773 part/models.py:3874 part/models.py:3875 +#: part/models.py:3816 part/models.py:3917 part/models.py:3918 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3778 +#: part/models.py:3821 msgid "Data" msgstr "" -#: part/models.py:3779 +#: part/models.py:3822 msgid "Parameter Value" msgstr "" -#: part/models.py:3881 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3924 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3882 +#: part/models.py:3925 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3920 +#: part/models.py:3963 msgid "Part ID or part name" msgstr "" -#: part/models.py:3921 +#: part/models.py:3964 msgid "Unique part ID value" msgstr "" -#: part/models.py:3923 +#: part/models.py:3966 msgid "Part IPN value" msgstr "" -#: part/models.py:3924 +#: part/models.py:3967 msgid "Level" msgstr "" -#: part/models.py:3924 +#: part/models.py:3967 msgid "BOM level" msgstr "" -#: part/models.py:4014 +#: part/models.py:4057 msgid "Select parent part" msgstr "" -#: part/models.py:4024 +#: part/models.py:4067 msgid "Sub part" msgstr "" -#: part/models.py:4025 +#: part/models.py:4068 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4036 +#: part/models.py:4079 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4042 +#: part/models.py:4085 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4048 +#: part/models.py:4091 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4055 part/templates/part/upload_bom.html:55 +#: part/models.py:4098 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4056 +#: part/models.py:4099 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4063 +#: part/models.py:4106 msgid "BOM item reference" msgstr "" -#: part/models.py:4071 +#: part/models.py:4114 msgid "BOM item notes" msgstr "" -#: part/models.py:4077 +#: part/models.py:4120 msgid "Checksum" msgstr "" -#: part/models.py:4078 +#: part/models.py:4121 msgid "BOM line checksum" msgstr "" -#: part/models.py:4083 templates/js/translated/table_filters.js:174 +#: part/models.py:4126 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4084 +#: part/models.py:4127 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4089 part/templates/part/upload_bom.html:57 +#: part/models.py:4132 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4090 +#: part/models.py:4133 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4095 part/templates/part/upload_bom.html:56 +#: part/models.py:4138 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4096 +#: part/models.py:4139 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4181 stock/models.py:647 +#: part/models.py:4224 stock/models.py:668 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4191 part/models.py:4193 +#: part/models.py:4234 part/models.py:4236 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4333 +#: part/models.py:4376 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4354 +#: part/models.py:4397 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4367 +#: part/models.py:4410 msgid "Parent BOM item" msgstr "" -#: part/models.py:4375 +#: part/models.py:4418 msgid "Substitute part" msgstr "" -#: part/models.py:4391 +#: part/models.py:4434 msgid "Part 1" msgstr "" -#: part/models.py:4399 +#: part/models.py:4442 msgid "Part 2" msgstr "" -#: part/models.py:4400 +#: part/models.py:4443 msgid "Select Related Part" msgstr "" -#: part/models.py:4419 +#: part/models.py:4462 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4424 +#: part/models.py:4467 msgid "Duplicate relationship already exists" msgstr "" @@ -6854,7 +6808,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:406 +#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:535 msgid "Purchase currency of this stock item" msgstr "" @@ -6870,299 +6824,299 @@ msgstr "" msgid "Select category" msgstr "" -#: part/serializers.py:437 +#: part/serializers.py:442 msgid "Original Part" msgstr "" -#: part/serializers.py:438 +#: part/serializers.py:443 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:448 msgid "Copy Image" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:449 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:450 part/templates/part/detail.html:277 +#: part/serializers.py:455 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:451 +#: part/serializers.py:456 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:462 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:458 +#: part/serializers.py:463 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:464 +#: part/serializers.py:469 msgid "Copy Notes" msgstr "" -#: part/serializers.py:465 +#: part/serializers.py:470 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:478 +#: part/serializers.py:488 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:490 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:487 +#: part/serializers.py:497 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:488 +#: part/serializers.py:498 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:500 +#: part/serializers.py:515 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:531 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:526 +#: part/serializers.py:541 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:533 +#: part/serializers.py:548 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:542 +#: part/serializers.py:557 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:553 +#: part/serializers.py:568 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:560 +#: part/serializers.py:575 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:823 +#: part/serializers.py:838 msgid "External Stock" msgstr "" -#: part/serializers.py:825 +#: part/serializers.py:840 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:828 +#: part/serializers.py:843 msgid "Variant Stock" msgstr "" -#: part/serializers.py:856 part/templates/part/copy_part.html:9 +#: part/serializers.py:871 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:857 +#: part/serializers.py:872 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:863 templates/js/translated/part.js:102 +#: part/serializers.py:878 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:864 +#: part/serializers.py:879 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:870 +#: part/serializers.py:885 msgid "Supplier Information" msgstr "" -#: part/serializers.py:871 +#: part/serializers.py:886 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:879 +#: part/serializers.py:894 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:880 +#: part/serializers.py:895 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:885 +#: part/serializers.py:900 msgid "Existing Image" msgstr "" -#: part/serializers.py:886 +#: part/serializers.py:901 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:918 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1109 +#: part/serializers.py:1124 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1119 +#: part/serializers.py:1134 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1129 +#: part/serializers.py:1144 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1135 +#: part/serializers.py:1150 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1136 +#: part/serializers.py:1151 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1141 +#: part/serializers.py:1156 msgid "Generate Report" msgstr "" -#: part/serializers.py:1142 +#: part/serializers.py:1157 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1147 +#: part/serializers.py:1162 msgid "Update Parts" msgstr "" -#: part/serializers.py:1148 +#: part/serializers.py:1163 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1156 +#: part/serializers.py:1171 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1262 +#: part/serializers.py:1277 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1269 +#: part/serializers.py:1284 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1277 +#: part/serializers.py:1292 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1284 +#: part/serializers.py:1299 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1313 +#: part/serializers.py:1328 msgid "Update" msgstr "" -#: part/serializers.py:1314 +#: part/serializers.py:1329 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1337 +#: part/serializers.py:1352 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1344 +#: part/serializers.py:1359 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1347 +#: part/serializers.py:1362 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1714 +#: part/serializers.py:1729 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1722 +#: part/serializers.py:1737 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1723 +#: part/serializers.py:1738 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1728 +#: part/serializers.py:1743 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1729 +#: part/serializers.py:1744 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1734 +#: part/serializers.py:1749 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1735 +#: part/serializers.py:1750 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1755 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1756 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1775 +#: part/serializers.py:1790 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1776 +#: part/serializers.py:1791 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1806 +#: part/serializers.py:1821 msgid "No part column specified" msgstr "" -#: part/serializers.py:1850 +#: part/serializers.py:1865 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1853 +#: part/serializers.py:1868 msgid "No matching part found" msgstr "" -#: part/serializers.py:1856 +#: part/serializers.py:1871 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1865 +#: part/serializers.py:1880 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1888 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1894 +#: part/serializers.py:1909 msgid "At least one BOM item is required" msgstr "" #: part/stocktake.py:224 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:2085 +#: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" @@ -7314,7 +7268,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2218 users/models.py:204 +#: templates/js/translated/stock.js:2216 users/models.py:204 msgid "Stocktake" msgstr "" @@ -7412,15 +7366,15 @@ msgstr "" msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:659 +#: part/templates/part/detail.html:655 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:667 +#: part/templates/part/detail.html:663 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:752 +#: part/templates/part/detail.html:748 msgid "Add Test Result Template" msgstr "" @@ -7479,7 +7433,7 @@ msgstr "" #: part/templates/part/part_base.html:52 #: stock/templates/stock/item_base.html:62 -#: stock/templates/stock/location.html:74 +#: stock/templates/stock/location.html:74 templates/js/translated/label.js:142 msgid "Print Label" msgstr "" @@ -7501,7 +7455,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2293 +#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2292 msgid "Part actions" msgstr "" @@ -7550,7 +7504,7 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:163 -#: part/templates/part/part_base.html:682 +#: part/templates/part/part_base.html:681 msgid "Show Part Details" msgstr "" @@ -7573,7 +7527,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2444 +#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2443 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7596,19 +7550,19 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:512 +#: part/templates/part/part_base.html:511 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:529 +#: part/templates/part/part_base.html:528 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:580 +#: part/templates/part/part_base.html:579 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:676 +#: part/templates/part/part_base.html:675 msgid "Hide Part Details" msgstr "" @@ -7667,8 +7621,8 @@ msgstr "" #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 -#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 -#: templates/js/translated/stock.js:2072 templates/navbar.html:31 +#: templates/js/translated/part.js:2391 templates/js/translated/stock.js:1059 +#: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7714,7 +7668,7 @@ msgstr "" #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 -#: templates/js/translated/stock.js:2248 +#: templates/js/translated/stock.js:2246 msgid "Last Updated" msgstr "" @@ -7786,7 +7740,7 @@ msgid "Update Pricing" msgstr "" #: part/templates/part/stock_count.html:7 -#: templates/js/translated/model_renderers.js:221 +#: templates/js/translated/model_renderers.js:227 #: templates/js/translated/part.js:704 templates/js/translated/part.js:2140 #: templates/js/translated/part.js:2142 msgid "No Stock" @@ -7866,7 +7820,7 @@ msgstr "" msgid "Part Pricing" msgstr "" -#: plugin/api.py:168 +#: plugin/api.py:170 msgid "Plugin cannot be deleted as it is currently active" msgstr "" @@ -7933,7 +7887,7 @@ msgid "Stock item does not match line item" msgstr "" #: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2589 -#: templates/js/translated/sales_order.js:1917 +#: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "" @@ -8027,22 +7981,18 @@ msgstr "" msgid "Quantity to allocate" msgstr "" -#: plugin/base/label/label.py:39 +#: plugin/base/label/label.py:39 templates/js/translated/label.js:154 msgid "Label printing failed" msgstr "" -#: plugin/base/label/mixins.py:63 +#: plugin/base/label/mixins.py:56 msgid "Error rendering label to PDF" msgstr "" -#: plugin/base/label/mixins.py:76 +#: plugin/base/label/mixins.py:70 msgid "Error rendering label to HTML" msgstr "" -#: plugin/base/label/mixins.py:111 -msgid "Error rendering label to PNG" -msgstr "" - #: plugin/builtin/barcodes/inventree_barcode.py:25 msgid "InvenTree Barcodes" msgstr "" @@ -8054,7 +8004,7 @@ msgstr "" #: plugin/builtin/barcodes/inventree_barcode.py:28 #: plugin/builtin/integration/core_notifications.py:35 #: plugin/builtin/integration/currency_exchange.py:21 -#: plugin/builtin/labels/inventree_label.py:23 +#: plugin/builtin/labels/inventree_label.py:22 #: plugin/builtin/labels/inventree_machine.py:64 #: plugin/builtin/labels/label_sheet.py:63 #: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 @@ -8108,19 +8058,19 @@ msgstr "" msgid "Default currency exchange integration" msgstr "" -#: plugin/builtin/labels/inventree_label.py:20 +#: plugin/builtin/labels/inventree_label.py:19 msgid "InvenTree PDF label printer" msgstr "" -#: plugin/builtin/labels/inventree_label.py:21 +#: plugin/builtin/labels/inventree_label.py:20 msgid "Provides native support for printing PDF labels" msgstr "" -#: plugin/builtin/labels/inventree_label.py:29 +#: plugin/builtin/labels/inventree_label.py:28 msgid "Debug mode" msgstr "" -#: plugin/builtin/labels/inventree_label.py:30 +#: plugin/builtin/labels/inventree_label.py:29 msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "" @@ -8132,11 +8082,11 @@ msgstr "" msgid "Provides support for printing using a machine" msgstr "" -#: plugin/builtin/labels/inventree_machine.py:150 +#: plugin/builtin/labels/inventree_machine.py:151 msgid "last used" msgstr "" -#: plugin/builtin/labels/inventree_machine.py:167 +#: plugin/builtin/labels/inventree_machine.py:168 msgid "Options" msgstr "" @@ -8160,7 +8110,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:47 report/models.py:209 +#: plugin/builtin/labels/label_sheet.py:47 report/models.py:308 msgid "Landscape" msgstr "" @@ -8176,11 +8126,11 @@ msgstr "" msgid "Arrays multiple labels onto a single sheet" msgstr "" -#: plugin/builtin/labels/label_sheet.py:94 +#: plugin/builtin/labels/label_sheet.py:99 msgid "Label is too large for page size" msgstr "" -#: plugin/builtin/labels/label_sheet.py:128 +#: plugin/builtin/labels/label_sheet.py:133 msgid "No labels were generated" msgstr "" @@ -8273,61 +8223,62 @@ msgstr "" msgid "Uninstalled plugin successfully" msgstr "" -#: plugin/models.py:30 +#: plugin/models.py:35 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:31 +#: plugin/models.py:36 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:34 users/models.py:100 +#: plugin/models.py:42 users/models.py:100 msgid "Key" msgstr "" -#: plugin/models.py:34 +#: plugin/models.py:43 msgid "Key of plugin" msgstr "" -#: plugin/models.py:42 +#: plugin/models.py:51 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:49 plugin/serializers.py:90 +#: plugin/models.py:58 plugin/serializers.py:90 msgid "Package Name" msgstr "" -#: plugin/models.py:51 +#: plugin/models.py:60 msgid "Name of the installed package, if the plugin was installed via PIP" msgstr "" -#: plugin/models.py:56 +#: plugin/models.py:65 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:147 templates/js/translated/table_filters.js:370 +#: plugin/models.py:156 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "" -#: plugin/models.py:156 +#: plugin/models.py:165 msgid "Sample plugin" msgstr "" -#: plugin/models.py:164 +#: plugin/models.py:173 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:172 +#: plugin/models.py:181 msgid "Package Plugin" msgstr "" -#: plugin/models.py:196 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:205 report/models.py:475 +#: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" msgstr "" -#: plugin/models.py:243 +#: plugin/models.py:252 msgid "Method" msgstr "" @@ -8468,239 +8419,323 @@ msgstr "" msgid "Delete the plugin configuration from the database" msgstr "" -#: report/api.py:158 +#: report/api.py:77 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:197 report/api.py:234 +#: report/api.py:89 report/serializers.py:53 +msgid "Model Type" +msgstr "" + +#: report/api.py:92 report/models.py:439 report/serializers.py:98 +#: report/serializers.py:148 templates/js/translated/purchase_order.js:1747 +#: templates/js/translated/return_order.js:353 +#: templates/js/translated/sales_order.js:887 +#: templates/js/translated/sales_order.js:1047 +msgid "Items" +msgstr "" + +#: report/api.py:168 +msgid "Plugin not found" +msgstr "" + +#: report/api.py:170 +msgid "Plugin is not active" +msgstr "" + +#: report/api.py:172 +msgid "Plugin does not support label printing" +msgstr "" + +#: report/api.py:221 +msgid "Invalid label dimensions" +msgstr "" + +#: report/api.py:236 report/api.py:316 +msgid "No valid items provided to template" +msgstr "" + +#: report/api.py:271 +msgid "Error printing label" +msgstr "" + +#: report/api.py:362 report/api.py:398 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:319 -msgid "Test report" -msgstr "" - -#: report/helpers.py:15 +#: report/helpers.py:41 msgid "A4" msgstr "" -#: report/helpers.py:16 +#: report/helpers.py:42 msgid "A3" msgstr "" -#: report/helpers.py:17 +#: report/helpers.py:43 msgid "Legal" msgstr "" -#: report/helpers.py:18 +#: report/helpers.py:44 msgid "Letter" msgstr "" -#: report/models.py:177 +#: report/models.py:118 +msgid "Template file with this name already exists" +msgstr "" + +#: report/models.py:150 msgid "Template name" msgstr "" -#: report/models.py:183 -msgid "Report template file" +#: report/models.py:156 +msgid "Template description" msgstr "" -#: report/models.py:190 -msgid "Report template description" +#: report/models.py:162 +msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:196 -msgid "Report revision number (auto-increments)" +#: report/models.py:202 +msgid "Filename Pattern" msgstr "" -#: report/models.py:204 +#: report/models.py:203 +msgid "Pattern for generating filenames" +msgstr "" + +#: report/models.py:208 +msgid "Template is enabled" +msgstr "" + +#: report/models.py:214 +msgid "Target model type for template" +msgstr "" + +#: report/models.py:234 +msgid "Filters" +msgstr "" + +#: report/models.py:235 +msgid "Template query filters (comma-separated list of key=value pairs)" +msgstr "" + +#: report/models.py:295 report/models.py:362 +msgid "Template file" +msgstr "" + +#: report/models.py:303 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:210 +#: report/models.py:309 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:318 -msgid "Pattern for generating report filenames" +#: report/models.py:368 +msgid "Width [mm]" msgstr "" -#: report/models.py:325 -msgid "Report template is enabled" +#: report/models.py:369 +msgid "Label width, specified in mm" msgstr "" -#: report/models.py:347 -msgid "StockItem query filters (comma-separated list of key=value pairs)" +#: report/models.py:375 +msgid "Height [mm]" msgstr "" -#: report/models.py:354 -msgid "Include Installed Tests" +#: report/models.py:376 +msgid "Label height, specified in mm" msgstr "" -#: report/models.py:356 -msgid "Include test results for stock items installed inside assembled item" +#: report/models.py:439 +msgid "Number of items to process" msgstr "" -#: report/models.py:424 -msgid "Build Filters" +#: report/models.py:445 +msgid "Report generation is complete" msgstr "" -#: report/models.py:425 -msgid "Build query filters (comma-separated list of key=value pairs" +#: report/models.py:449 templates/js/translated/build.js:2177 +msgid "Progress" msgstr "" -#: report/models.py:464 -msgid "Part Filters" +#: report/models.py:449 +msgid "Report generation progress" msgstr "" -#: report/models.py:465 -msgid "Part query filters (comma-separated list of key=value pairs" +#: report/models.py:457 +msgid "Report Template" msgstr "" -#: report/models.py:497 -msgid "Purchase order query filters" +#: report/models.py:464 report/models.py:487 +msgid "Output File" msgstr "" -#: report/models.py:533 -msgid "Sales order query filters" +#: report/models.py:465 report/models.py:488 +msgid "Generated output file" msgstr "" -#: report/models.py:569 -msgid "Return order query filters" +#: report/models.py:476 +msgid "Label output plugin" msgstr "" -#: report/models.py:641 -msgid "Snippet file with this name already exists" +#: report/models.py:480 +msgid "Label Template" msgstr "" -#: report/models.py:648 +#: report/models.py:503 msgid "Snippet" msgstr "" -#: report/models.py:649 +#: report/models.py:504 msgid "Report snippet file" msgstr "" -#: report/models.py:656 +#: report/models.py:511 msgid "Snippet file description" msgstr "" -#: report/models.py:714 -msgid "Asset file with this name already exists" -msgstr "" - -#: report/models.py:722 +#: report/models.py:529 msgid "Asset" msgstr "" -#: report/models.py:723 +#: report/models.py:530 msgid "Report asset file" msgstr "" -#: report/models.py:730 +#: report/models.py:537 msgid "Asset file description" msgstr "" -#: report/models.py:752 -msgid "stock location query filters (comma-separated list of key=value pairs)" +#: report/serializers.py:91 +msgid "Select report template" +msgstr "" + +#: report/serializers.py:99 report/serializers.py:149 +msgid "List of item primary keys to include in the report" +msgstr "" + +#: report/serializers.py:132 +msgid "Select label template" +msgstr "" + +#: report/serializers.py:140 +msgid "Printing Plugin" +msgstr "" + +#: report/serializers.py:141 +msgid "Select plugin to use for label printing" +msgstr "" + +#: report/templates/label/part_label.html:31 +#: report/templates/label/stockitem_qr.html:21 +#: report/templates/label/stocklocation_qr.html:20 +#: templates/allauth_2fa/setup.html:18 +msgid "QR Code" +msgstr "" + +#: report/templates/label/part_label_code128.html:31 +#: report/templates/label/stocklocation_qr_and_text.html:31 +#: templates/qr_code.html:7 +msgid "QR code" msgstr "" #: report/templates/report/inventree_bill_of_materials_report.html:133 msgid "Materials needed" msgstr "" -#: report/templates/report/inventree_build_order_base.html:146 +#: report/templates/report/inventree_build_order_report.html:146 msgid "Required For" msgstr "" -#: report/templates/report/inventree_po_report_base.html:15 +#: report/templates/report/inventree_purchase_order_report.html:15 msgid "Supplier was deleted" msgstr "" -#: report/templates/report/inventree_po_report_base.html:30 -#: report/templates/report/inventree_so_report_base.html:30 +#: report/templates/report/inventree_purchase_order_report.html:30 +#: report/templates/report/inventree_sales_order_report.html:30 #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:834 -#: templates/js/translated/purchase_order.js:2116 -#: templates/js/translated/sales_order.js:1837 +#: templates/js/translated/purchase_order.js:2115 +#: templates/js/translated/sales_order.js:1873 msgid "Unit Price" msgstr "" -#: report/templates/report/inventree_po_report_base.html:55 -#: report/templates/report/inventree_return_order_report_base.html:48 -#: report/templates/report/inventree_so_report_base.html:55 +#: report/templates/report/inventree_purchase_order_report.html:55 +#: report/templates/report/inventree_return_order_report.html:48 +#: report/templates/report/inventree_sales_order_report.html:55 msgid "Extra Line Items" 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:2018 -#: templates/js/translated/sales_order.js:1806 +#: report/templates/report/inventree_purchase_order_report.html:72 +#: report/templates/report/inventree_sales_order_report.html:72 +#: templates/js/translated/purchase_order.js:2017 +#: templates/js/translated/sales_order.js:1842 msgid "Total" msgstr "" -#: report/templates/report/inventree_return_order_report_base.html:25 -#: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:809 stock/templates/stock/item_base.html:311 +#: report/templates/report/inventree_return_order_report.html:25 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:830 +#: stock/serializers.py:150 stock/templates/stock/item_base.html:311 #: templates/js/translated/build.js:519 templates/js/translated/build.js:1367 #: templates/js/translated/build.js:2355 -#: templates/js/translated/model_renderers.js:224 -#: templates/js/translated/return_order.js:540 -#: templates/js/translated/return_order.js:724 +#: templates/js/translated/model_renderers.js:230 +#: templates/js/translated/return_order.js:539 +#: templates/js/translated/return_order.js:723 #: templates/js/translated/sales_order.js:315 -#: templates/js/translated/sales_order.js:1611 -#: templates/js/translated/sales_order.js:1696 +#: templates/js/translated/sales_order.js:1647 +#: templates/js/translated/sales_order.js:1732 #: templates/js/translated/stock.js:596 msgid "Serial Number" msgstr "" -#: report/templates/report/inventree_slr_report.html:97 +#: report/templates/report/inventree_stock_location_report.html:97 msgid "Stock location items" msgstr "" -#: report/templates/report/inventree_test_report_base.html:21 +#: report/templates/report/inventree_test_report.html:21 msgid "Stock Item Test Report" msgstr "" -#: report/templates/report/inventree_test_report_base.html:97 +#: report/templates/report/inventree_test_report.html:97 msgid "Test Results" msgstr "" -#: report/templates/report/inventree_test_report_base.html:102 +#: report/templates/report/inventree_test_report.html:102 #: templates/js/translated/stock.js:1495 msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2442 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2419 msgid "Result" msgstr "" -#: report/templates/report/inventree_test_report_base.html:130 +#: report/templates/report/inventree_test_report.html:130 msgid "Pass" msgstr "" -#: report/templates/report/inventree_test_report_base.html:132 +#: report/templates/report/inventree_test_report.html:132 msgid "Fail" msgstr "" -#: report/templates/report/inventree_test_report_base.html:139 +#: report/templates/report/inventree_test_report.html:139 msgid "No result (required)" msgstr "" -#: report/templates/report/inventree_test_report_base.html:141 +#: report/templates/report/inventree_test_report.html:141 msgid "No result" msgstr "" -#: report/templates/report/inventree_test_report_base.html:154 +#: report/templates/report/inventree_test_report.html:154 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report_base.html:168 -#: stock/admin.py:162 templates/js/translated/stock.js:700 -#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3113 +#: report/templates/report/inventree_test_report.html:168 stock/admin.py:162 +#: templates/js/translated/stock.js:700 templates/js/translated/stock.js:871 +#: templates/js/translated/stock.js:3110 msgid "Serial" msgstr "" @@ -8757,7 +8792,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:201 stock/models.py:789 +#: stock/admin.py:201 stock/models.py:810 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" @@ -8782,66 +8817,66 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:256 stock/models.py:883 +#: stock/admin.py:256 stock/models.py:904 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2232 users/models.py:124 +#: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" msgstr "" -#: stock/api.py:284 +#: stock/api.py:318 msgid "Filter by location depth" msgstr "" -#: stock/api.py:304 +#: stock/api.py:338 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:325 +#: stock/api.py:359 msgid "Parent Location" msgstr "" -#: stock/api.py:326 +#: stock/api.py:360 msgid "Filter by parent location" msgstr "" -#: stock/api.py:579 templates/js/translated/table_filters.js:427 +#: stock/api.py:613 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:767 +#: stock/api.py:801 msgid "Part Tree" msgstr "" -#: stock/api.py:797 +#: stock/api.py:831 msgid "Expiry date before" msgstr "" -#: stock/api.py:801 +#: stock/api.py:835 msgid "Expiry date after" msgstr "" -#: stock/api.py:804 stock/templates/stock/item_base.html:439 +#: stock/api.py:838 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:891 +#: stock/api.py:925 msgid "Quantity is required" msgstr "" -#: stock/api.py:897 +#: stock/api.py:931 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:928 +#: stock/api.py:962 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:938 +#: stock/api.py:972 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:969 +#: stock/api.py:1003 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8857,477 +8892,517 @@ msgstr "" msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:125 stock/models.py:771 +#: stock/models.py:127 stock/models.py:792 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:126 stock/templates/stock/location.html:179 +#: stock/models.py:128 stock/templates/stock/location.html:186 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "" -#: stock/models.py:158 stock/models.py:932 +#: stock/models.py:170 stock/models.py:953 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:159 stock/models.py:933 +#: stock/models.py:171 stock/models.py:954 msgid "Select Owner" msgstr "" -#: stock/models.py:167 +#: stock/models.py:179 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:174 templates/js/translated/stock.js:2784 +#: stock/models.py:186 templates/js/translated/stock.js:2781 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "" -#: stock/models.py:175 +#: stock/models.py:187 msgid "This is an external stock location" msgstr "" -#: stock/models.py:181 templates/js/translated/stock.js:2793 +#: stock/models.py:193 templates/js/translated/stock.js:2790 #: templates/js/translated/table_filters.js:246 msgid "Location type" msgstr "" -#: stock/models.py:185 +#: stock/models.py:197 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:254 +#: stock/models.py:266 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:626 +#: stock/models.py:647 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:653 stock/serializers.py:290 +#: stock/models.py:674 stock/serializers.py:419 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:670 +#: stock/models.py:691 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:680 stock/models.py:693 +#: stock/models.py:701 stock/models.py:714 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:683 +#: stock/models.py:704 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:707 +#: stock/models.py:728 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:712 +#: stock/models.py:733 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:725 +#: stock/models.py:746 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:741 +#: stock/models.py:762 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:753 +#: stock/models.py:774 msgid "Base part" msgstr "" -#: stock/models.py:763 +#: stock/models.py:784 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:775 +#: stock/models.py:796 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:783 stock/serializers.py:1351 +#: stock/models.py:804 stock/serializers.py:1480 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:794 +#: stock/models.py:815 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:813 +#: stock/models.py:834 msgid "Serial number for this item" msgstr "" -#: stock/models.py:827 stock/serializers.py:1334 +#: stock/models.py:848 stock/serializers.py:1463 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:832 +#: stock/models.py:853 msgid "Stock Quantity" msgstr "" -#: stock/models.py:842 +#: stock/models.py:863 msgid "Source Build" msgstr "" -#: stock/models.py:845 +#: stock/models.py:866 msgid "Build for this stock item" msgstr "" -#: stock/models.py:852 stock/templates/stock/item_base.html:363 +#: stock/models.py:873 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:855 +#: stock/models.py:876 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:864 +#: stock/models.py:885 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:868 +#: stock/models.py:889 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:874 +#: stock/models.py:895 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:885 +#: stock/models.py:906 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:903 +#: stock/models.py:924 msgid "Delete on deplete" msgstr "" -#: stock/models.py:904 +#: stock/models.py:925 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:924 +#: stock/models.py:945 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:955 +#: stock/models.py:976 msgid "Converted to part" msgstr "" -#: stock/models.py:1473 +#: stock/models.py:1494 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1479 +#: stock/models.py:1500 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1487 +#: stock/models.py:1508 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1493 +#: stock/models.py:1514 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1498 +#: stock/models.py:1519 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1506 stock/serializers.py:529 +#: stock/models.py:1527 stock/serializers.py:658 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1603 +#: stock/models.py:1624 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1621 +#: stock/models.py:1642 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1625 +#: stock/models.py:1646 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1628 +#: stock/models.py:1649 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1631 +#: stock/models.py:1652 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1634 +#: stock/models.py:1655 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1637 +#: stock/models.py:1658 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1644 stock/serializers.py:1240 +#: stock/models.py:1665 stock/serializers.py:1369 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1648 +#: stock/models.py:1669 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1656 +#: stock/models.py:1677 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1661 +#: stock/models.py:1682 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1882 +#: stock/models.py:1903 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2345 +#: stock/models.py:2322 msgid "Entry notes" msgstr "" -#: stock/models.py:2410 +#: stock/models.py:2387 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2415 +#: stock/models.py:2392 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2442 +#: stock/models.py:2419 msgid "Test result" msgstr "" -#: stock/models.py:2449 +#: stock/models.py:2426 msgid "Test output value" msgstr "" -#: stock/models.py:2457 +#: stock/models.py:2434 msgid "Test result attachment" msgstr "" -#: stock/models.py:2461 +#: stock/models.py:2438 msgid "Test notes" msgstr "" -#: stock/models.py:2469 templates/js/translated/stock.js:1548 +#: stock/models.py:2446 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "" -#: stock/models.py:2470 +#: stock/models.py:2447 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2476 +#: stock/models.py:2453 msgid "Started" msgstr "" -#: stock/models.py:2477 +#: stock/models.py:2454 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2483 +#: stock/models.py:2460 msgid "Finished" msgstr "" -#: stock/models.py:2484 +#: stock/models.py:2461 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:100 +#: stock/serializers.py:75 +msgid "Generated batch code" +msgstr "" + +#: stock/serializers.py:84 +msgid "Select build order" +msgstr "" + +#: stock/serializers.py:93 +msgid "Select stock item to generate batch code for" +msgstr "" + +#: stock/serializers.py:102 +msgid "Select location to generate batch code for" +msgstr "" + +#: stock/serializers.py:111 +msgid "Select part to generate batch code for" +msgstr "" + +#: stock/serializers.py:120 +msgid "Select purchase order" +msgstr "" + +#: stock/serializers.py:127 +msgid "Enter quantity for batch code" +msgstr "" + +#: stock/serializers.py:150 +msgid "Generated serial number" +msgstr "" + +#: stock/serializers.py:159 +msgid "Select part to generate serial number for" +msgstr "" + +#: stock/serializers.py:167 +msgid "Quantity of serial numbers to generate" +msgstr "" + +#: stock/serializers.py:229 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:119 +#: stock/serializers.py:248 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:151 +#: stock/serializers.py:280 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:184 +#: stock/serializers.py:313 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:282 +#: stock/serializers.py:411 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:402 +#: stock/serializers.py:531 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:464 +#: stock/serializers.py:593 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:477 +#: stock/serializers.py:606 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:484 +#: stock/serializers.py:613 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:495 stock/serializers.py:1197 stock/serializers.py:1453 +#: stock/serializers.py:624 stock/serializers.py:1326 stock/serializers.py:1582 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:502 +#: stock/serializers.py:631 msgid "Optional note field" msgstr "" -#: stock/serializers.py:512 +#: stock/serializers.py:641 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:567 +#: stock/serializers.py:696 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:574 +#: stock/serializers.py:703 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:575 +#: stock/serializers.py:704 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:580 stock/serializers.py:660 stock/serializers.py:756 -#: stock/serializers.py:806 +#: stock/serializers.py:709 stock/serializers.py:789 stock/serializers.py:885 +#: stock/serializers.py:935 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:588 +#: stock/serializers.py:717 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:596 +#: stock/serializers.py:725 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:607 +#: stock/serializers.py:736 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:620 +#: stock/serializers.py:749 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:655 +#: stock/serializers.py:784 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:690 +#: stock/serializers.py:819 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:703 +#: stock/serializers.py:832 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:720 +#: stock/serializers.py:849 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:751 +#: stock/serializers.py:880 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:788 +#: stock/serializers.py:917 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:794 +#: stock/serializers.py:923 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:890 stock/serializers.py:953 +#: stock/serializers.py:1019 stock/serializers.py:1082 #: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:213 +#: stock/templates/stock/location.html:220 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1069 +#: stock/serializers.py:1198 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1073 +#: stock/serializers.py:1202 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1077 +#: stock/serializers.py:1206 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1101 +#: stock/serializers.py:1230 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1107 +#: stock/serializers.py:1236 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1115 +#: stock/serializers.py:1244 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1125 stock/serializers.py:1379 +#: stock/serializers.py:1254 stock/serializers.py:1508 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1204 +#: stock/serializers.py:1333 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1209 +#: stock/serializers.py:1338 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1210 +#: stock/serializers.py:1339 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1215 +#: stock/serializers.py:1344 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1216 +#: stock/serializers.py:1345 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1226 +#: stock/serializers.py:1355 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1293 +#: stock/serializers.py:1422 msgid "No Change" msgstr "" -#: stock/serializers.py:1322 +#: stock/serializers.py:1451 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1341 +#: stock/serializers.py:1470 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1369 +#: stock/serializers.py:1498 msgid "Stock transaction notes" msgstr "" @@ -9352,7 +9427,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:286 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:282 msgid "Delete Test Data" msgstr "" @@ -9368,15 +9443,15 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3274 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3271 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:274 +#: stock/templates/stock/item.html:270 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:304 templates/js/translated/stock.js:1701 +#: stock/templates/stock/item.html:300 templates/js/translated/stock.js:1701 msgid "Add Test Result" msgstr "" @@ -9561,40 +9636,40 @@ msgstr "" msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:507 -#: templates/js/translated/stock.js:1954 +#: stock/templates/stock/item_base.html:504 +#: templates/js/translated/stock.js:1952 msgid "stock item" msgstr "" -#: stock/templates/stock/item_base.html:532 +#: stock/templates/stock/item_base.html:527 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:541 +#: stock/templates/stock/item_base.html:536 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:552 +#: stock/templates/stock/item_base.html:547 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:616 +#: stock/templates/stock/item_base.html:611 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:619 +#: stock/templates/stock/item_base.html:614 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:620 +#: stock/templates/stock/item_base.html:615 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:628 +#: stock/templates/stock/item_base.html:623 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:662 +#: stock/templates/stock/item_base.html:657 msgid "Return to Stock" msgstr "" @@ -9658,28 +9733,32 @@ msgstr "" msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:217 +#: stock/templates/stock/location.html:176 +msgid "Location Type" +msgstr "" + +#: stock/templates/stock/location.html:224 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:218 +#: stock/templates/stock/location.html:225 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:287 -#: templates/js/translated/stock.js:2575 +#: stock/templates/stock/location.html:295 +#: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:315 +#: stock/templates/stock/location.html:317 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:388 +#: stock/templates/stock/location.html:390 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:399 +#: stock/templates/stock/location.html:401 msgid "Link Barcode to Stock Location" msgstr "" @@ -9949,11 +10028,11 @@ msgstr "" msgid "Part Settings" msgstr "" -#: templates/InvenTree/settings/part.html:42 +#: templates/InvenTree/settings/part.html:43 msgid "Part Import" msgstr "" -#: templates/InvenTree/settings/part.html:46 +#: templates/InvenTree/settings/part.html:47 msgid "Import Part" msgstr "" @@ -10174,7 +10253,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:424 +#: templates/js/translated/stock.js:245 users/models.py:411 msgid "Delete" msgstr "" @@ -10283,7 +10362,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2159 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2163 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" @@ -10874,7 +10953,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3218 +#: templates/js/translated/part.js:3217 msgid "Minimum Quantity" msgstr "" @@ -11254,7 +11333,7 @@ msgid "External stock" msgstr "" #: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2595 -#: templates/js/translated/sales_order.js:1910 +#: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" @@ -11264,7 +11343,7 @@ msgstr "" #: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 #: templates/js/translated/part.js:1256 -#: templates/js/translated/sales_order.js:1907 +#: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" @@ -11519,17 +11598,17 @@ msgstr "" #: templates/js/translated/build.js:1576 #: templates/js/translated/purchase_order.js:611 -#: templates/js/translated/sales_order.js:1171 +#: templates/js/translated/sales_order.js:1207 msgid "Select Parts" msgstr "" #: templates/js/translated/build.js:1577 -#: templates/js/translated/sales_order.js:1172 +#: templates/js/translated/sales_order.js:1208 msgid "You must select at least one part to allocate" msgstr "" #: templates/js/translated/build.js:1640 -#: templates/js/translated/sales_order.js:1121 +#: templates/js/translated/sales_order.js:1157 msgid "Specify stock allocation quantity" msgstr "" @@ -11542,7 +11621,7 @@ msgid "All selected parts have been fully allocated" msgstr "" #: templates/js/translated/build.js:1732 -#: templates/js/translated/sales_order.js:1186 +#: templates/js/translated/sales_order.js:1222 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -11551,12 +11630,12 @@ msgid "Allocate Stock Items to Build Order" msgstr "" #: templates/js/translated/build.js:1771 -#: templates/js/translated/sales_order.js:1283 +#: templates/js/translated/sales_order.js:1319 msgid "No matching stock locations" msgstr "" #: templates/js/translated/build.js:1844 -#: templates/js/translated/sales_order.js:1362 +#: templates/js/translated/sales_order.js:1398 msgid "No matching stock items" msgstr "" @@ -11589,9 +11668,9 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 -#: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 -#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 -#: templates/js/translated/stock.js:1985 templates/js/translated/stock.js:2713 +#: templates/js/translated/forms.js:2159 templates/js/translated/forms.js:2175 +#: templates/js/translated/part.js:2315 templates/js/translated/part.js:2741 +#: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "" @@ -11599,21 +11678,17 @@ msgstr "" msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2177 -msgid "Progress" -msgstr "" - -#: templates/js/translated/build.js:2213 templates/js/translated/stock.js:3045 +#: templates/js/translated/build.js:2213 templates/js/translated/stock.js:3042 msgid "No user information" msgstr "" #: templates/js/translated/build.js:2389 -#: templates/js/translated/sales_order.js:1646 +#: templates/js/translated/sales_order.js:1682 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:2390 -#: templates/js/translated/sales_order.js:1647 +#: templates/js/translated/sales_order.js:1683 msgid "Delete stock allocation" msgstr "" @@ -11647,7 +11722,7 @@ msgid "Unit Quantity" msgstr "" #: templates/js/translated/build.js:2591 -#: templates/js/translated/sales_order.js:1915 +#: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" @@ -11664,7 +11739,7 @@ msgid "Allocate tracked items against individual build outputs" msgstr "" #: templates/js/translated/build.js:2662 -#: templates/js/translated/sales_order.js:2016 +#: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "" @@ -11673,7 +11748,7 @@ msgid "Order stock" msgstr "" #: templates/js/translated/build.js:2671 -#: templates/js/translated/sales_order.js:2010 +#: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "" @@ -11923,12 +11998,12 @@ msgid "Delete price break" msgstr "" #: templates/js/translated/filters.js:186 -#: templates/js/translated/filters.js:672 +#: templates/js/translated/filters.js:667 msgid "true" msgstr "" #: templates/js/translated/filters.js:190 -#: templates/js/translated/filters.js:673 +#: templates/js/translated/filters.js:668 msgid "false" msgstr "" @@ -11960,7 +12035,7 @@ msgstr "" msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:582 +#: templates/js/translated/filters.js:577 msgid "Create filter" msgstr "" @@ -11993,32 +12068,32 @@ msgstr "" msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1473 templates/modals.html:19 +#: templates/js/translated/forms.js:1477 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1971 +#: templates/js/translated/forms.js:1975 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2275 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2279 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2489 +#: templates/js/translated/forms.js:2493 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3091 +#: templates/js/translated/forms.js:3095 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3091 +#: templates/js/translated/forms.js:3095 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3103 +#: templates/js/translated/forms.js:3107 msgid "Select Columns" msgstr "" @@ -12042,51 +12117,15 @@ msgstr "" msgid "No parts required for builds" msgstr "" -#: templates/js/translated/label.js:53 templates/js/translated/report.js:123 +#: templates/js/translated/label.js:55 templates/js/translated/report.js:38 msgid "Select Items" msgstr "" -#: templates/js/translated/label.js:54 +#: templates/js/translated/label.js:56 templates/js/translated/report.js:39 msgid "No items selected for printing" msgstr "" -#: templates/js/translated/label.js:72 -msgid "No Labels Found" -msgstr "" - -#: templates/js/translated/label.js:73 -msgid "No label templates found which match the selected items" -msgstr "" - -#: templates/js/translated/label.js:97 -msgid "selected" -msgstr "" - -#: templates/js/translated/label.js:133 -msgid "Printing Options" -msgstr "" - -#: templates/js/translated/label.js:148 -msgid "Print label" -msgstr "" - -#: templates/js/translated/label.js:148 -msgid "Print labels" -msgstr "" - #: templates/js/translated/label.js:149 -msgid "Print" -msgstr "" - -#: templates/js/translated/label.js:155 -msgid "Select label template" -msgstr "" - -#: templates/js/translated/label.js:168 -msgid "Select plugin" -msgstr "" - -#: templates/js/translated/label.js:187 msgid "Labels sent to printer" msgstr "" @@ -12204,7 +12243,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1991 +#: templates/js/translated/purchase_order.js:1990 msgid "No line items found" msgstr "" @@ -12442,19 +12481,19 @@ msgid "Delete Part Parameter Template" msgstr "" #: templates/js/translated/part.js:1716 -#: templates/js/translated/purchase_order.js:1655 +#: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1860 -#: templates/js/translated/purchase_order.js:2154 -#: templates/js/translated/return_order.js:756 -#: templates/js/translated/sales_order.js:1875 +#: templates/js/translated/purchase_order.js:2153 +#: templates/js/translated/return_order.js:755 +#: templates/js/translated/sales_order.js:1911 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1906 -#: templates/js/translated/purchase_order.js:2221 +#: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "" @@ -12466,7 +12505,7 @@ msgstr "" msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2506 +#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2505 msgid "No parts found" msgstr "" @@ -12482,101 +12521,101 @@ msgstr "" msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2286 msgid "part" msgstr "" -#: templates/js/translated/part.js:2288 +#: templates/js/translated/part.js:2287 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2384 +#: templates/js/translated/part.js:2383 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 -#: templates/js/translated/stock.js:2672 +#: templates/js/translated/part.js:2530 templates/js/translated/part.js:2660 +#: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2547 +#: templates/js/translated/part.js:2546 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2645 +#: templates/js/translated/part.js:2644 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2692 +#: templates/js/translated/part.js:2680 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2761 +#: templates/js/translated/part.js:2760 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2777 +#: templates/js/translated/part.js:2776 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2864 +#: templates/js/translated/part.js:2863 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2886 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2885 templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2935 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2941 +#: templates/js/translated/part.js:2940 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2957 +#: templates/js/translated/part.js:2956 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2971 +#: templates/js/translated/part.js:2970 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3050 templates/js/translated/part.js:3051 +#: templates/js/translated/part.js:3049 templates/js/translated/part.js:3050 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3053 +#: templates/js/translated/part.js:3052 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3059 +#: templates/js/translated/part.js:3058 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3109 +#: templates/js/translated/part.js:3108 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3115 +#: templates/js/translated/part.js:3114 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3211 +#: templates/js/translated/part.js:3210 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3227 +#: templates/js/translated/part.js:3226 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3272 +#: templates/js/translated/part.js:3271 msgid "Minimum Stock Level" msgstr "" @@ -12702,7 +12741,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:448 #: templates/js/translated/return_order.js:210 -#: templates/js/translated/sales_order.js:500 +#: templates/js/translated/sales_order.js:552 msgid "Mark this order as complete?" msgstr "" @@ -12715,7 +12754,6 @@ msgid "This order has line items which have not been marked as received." msgstr "" #: templates/js/translated/purchase_order.js:460 -#: templates/js/translated/sales_order.js:514 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" @@ -12773,12 +12811,12 @@ msgid "No matching purchase orders" msgstr "" #: templates/js/translated/purchase_order.js:1073 -#: templates/js/translated/return_order.js:491 +#: templates/js/translated/return_order.js:490 msgid "Select Line Items" msgstr "" #: templates/js/translated/purchase_order.js:1074 -#: templates/js/translated/return_order.js:492 +#: templates/js/translated/return_order.js:491 msgid "At least one line item must be selected" msgstr "" @@ -12827,7 +12865,7 @@ msgid "Quantity to Receive" msgstr "" #: templates/js/translated/purchase_order.js:1333 -#: templates/js/translated/return_order.js:561 +#: templates/js/translated/return_order.js:560 msgid "Confirm receipt of items" msgstr "" @@ -12847,81 +12885,66 @@ msgstr "" msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1682 -#: templates/js/translated/return_order.js:286 -#: templates/js/translated/sales_order.js:774 -#: templates/js/translated/sales_order.js:998 +#: templates/js/translated/purchase_order.js:1681 +#: templates/js/translated/return_order.js:285 +#: templates/js/translated/sales_order.js:810 +#: templates/js/translated/sales_order.js:1034 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1748 -#: templates/js/translated/return_order.js:354 -#: templates/js/translated/sales_order.js:851 -#: templates/js/translated/sales_order.js:1011 -msgid "Items" -msgstr "" - -#: templates/js/translated/purchase_order.js:1844 +#: templates/js/translated/purchase_order.js:1843 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1862 +#: templates/js/translated/purchase_order.js:1861 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1917 -#: templates/js/translated/sales_order.js:2070 +#: templates/js/translated/purchase_order.js:1916 +#: templates/js/translated/sales_order.js:2106 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1932 -#: templates/js/translated/return_order.js:476 -#: templates/js/translated/return_order.js:669 -#: templates/js/translated/sales_order.js:2083 +#: templates/js/translated/purchase_order.js:1931 +#: templates/js/translated/return_order.js:475 +#: templates/js/translated/return_order.js:668 +#: templates/js/translated/sales_order.js:2119 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1943 -#: templates/js/translated/return_order.js:682 -#: templates/js/translated/sales_order.js:2094 +#: templates/js/translated/purchase_order.js:1942 +#: templates/js/translated/return_order.js:681 +#: templates/js/translated/sales_order.js:2130 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2225 -#: templates/js/translated/sales_order.js:2024 +#: templates/js/translated/purchase_order.js:2224 +#: templates/js/translated/sales_order.js:2060 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2226 -#: templates/js/translated/return_order.js:801 -#: templates/js/translated/sales_order.js:2025 +#: templates/js/translated/purchase_order.js:2225 +#: templates/js/translated/return_order.js:800 +#: templates/js/translated/sales_order.js:2061 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2227 -#: templates/js/translated/return_order.js:805 -#: templates/js/translated/sales_order.js:2031 +#: templates/js/translated/purchase_order.js:2226 +#: templates/js/translated/return_order.js:804 +#: templates/js/translated/sales_order.js:2067 msgid "Delete line item" msgstr "" -#: templates/js/translated/report.js:63 -msgid "items selected" +#: templates/js/translated/report.js:49 +msgid "Print Report" msgstr "" -#: templates/js/translated/report.js:71 -msgid "Select Report Template" +#: templates/js/translated/report.js:68 +msgid "Report print successful" msgstr "" -#: templates/js/translated/report.js:86 -msgid "Select Test Report Template" -msgstr "" - -#: templates/js/translated/report.js:140 -msgid "No Reports Found" -msgstr "" - -#: templates/js/translated/report.js:141 -msgid "No report templates found which match the selected items" +#: templates/js/translated/report.js:73 +msgid "Report printing failed" msgstr "" #: templates/js/translated/return_order.js:60 @@ -12953,25 +12976,25 @@ msgstr "" msgid "Complete Return Order" msgstr "" -#: templates/js/translated/return_order.js:266 +#: templates/js/translated/return_order.js:265 msgid "No return orders found" msgstr "" -#: templates/js/translated/return_order.js:300 -#: templates/js/translated/sales_order.js:788 +#: templates/js/translated/return_order.js:299 +#: templates/js/translated/sales_order.js:824 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/return_order.js:562 +#: templates/js/translated/return_order.js:561 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:693 -#: templates/js/translated/sales_order.js:2231 +#: templates/js/translated/return_order.js:692 +#: templates/js/translated/sales_order.js:2267 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:798 +#: templates/js/translated/return_order.js:797 msgid "Mark item as received" msgstr "" @@ -13015,140 +13038,156 @@ msgstr "" msgid "Skip" msgstr "" +#: templates/js/translated/sales_order.js:484 +msgid "Ship Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:500 +msgid "Ship this order?" +msgstr "" + +#: templates/js/translated/sales_order.js:506 +msgid "Order cannot be shipped as there are incomplete shipments" +msgstr "" + #: templates/js/translated/sales_order.js:513 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/sales_order.js:535 +#: templates/js/translated/sales_order.js:514 +msgid "Shipping this order means that the order and line items will no longer be editable." +msgstr "" + +#: templates/js/translated/sales_order.js:572 msgid "Issue this Sales Order?" msgstr "" -#: templates/js/translated/sales_order.js:540 +#: templates/js/translated/sales_order.js:577 msgid "Issue Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:559 +#: templates/js/translated/sales_order.js:596 msgid "Cancel Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:564 +#: templates/js/translated/sales_order.js:601 msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: templates/js/translated/sales_order.js:618 +#: templates/js/translated/sales_order.js:655 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/sales_order.js:728 +#: templates/js/translated/sales_order.js:764 msgid "No sales orders found" msgstr "" -#: templates/js/translated/sales_order.js:908 +#: templates/js/translated/sales_order.js:944 msgid "Edit shipment" msgstr "" -#: templates/js/translated/sales_order.js:911 +#: templates/js/translated/sales_order.js:947 msgid "Complete shipment" msgstr "" -#: templates/js/translated/sales_order.js:916 +#: templates/js/translated/sales_order.js:952 msgid "Delete shipment" msgstr "" -#: templates/js/translated/sales_order.js:933 +#: templates/js/translated/sales_order.js:969 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/sales_order.js:948 +#: templates/js/translated/sales_order.js:984 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:981 +#: templates/js/translated/sales_order.js:1017 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/sales_order.js:1006 +#: templates/js/translated/sales_order.js:1042 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/sales_order.js:1030 -#: templates/js/translated/sales_order.js:1529 +#: templates/js/translated/sales_order.js:1066 +#: templates/js/translated/sales_order.js:1565 msgid "Not shipped" msgstr "" -#: templates/js/translated/sales_order.js:1048 +#: templates/js/translated/sales_order.js:1084 msgid "Tracking" msgstr "" -#: templates/js/translated/sales_order.js:1052 +#: templates/js/translated/sales_order.js:1088 msgid "Invoice" msgstr "" -#: templates/js/translated/sales_order.js:1219 +#: templates/js/translated/sales_order.js:1255 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1270 +#: templates/js/translated/sales_order.js:1306 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/sales_order.js:1271 +#: templates/js/translated/sales_order.js:1307 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1477 +#: templates/js/translated/sales_order.js:1513 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1569 +#: templates/js/translated/sales_order.js:1605 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1583 +#: templates/js/translated/sales_order.js:1619 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/sales_order.js:1584 +#: templates/js/translated/sales_order.js:1620 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1623 -#: templates/js/translated/sales_order.js:1710 +#: templates/js/translated/sales_order.js:1659 +#: templates/js/translated/sales_order.js:1746 #: templates/js/translated/stock.js:1776 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/sales_order.js:1631 -#: templates/js/translated/sales_order.js:1719 +#: templates/js/translated/sales_order.js:1667 +#: templates/js/translated/sales_order.js:1755 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:2008 +#: templates/js/translated/sales_order.js:2044 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/sales_order.js:2012 +#: templates/js/translated/sales_order.js:2048 msgid "Purchase stock" msgstr "" -#: templates/js/translated/sales_order.js:2021 -#: templates/js/translated/sales_order.js:2209 +#: templates/js/translated/sales_order.js:2057 +#: templates/js/translated/sales_order.js:2245 msgid "Calculate price" msgstr "" -#: templates/js/translated/sales_order.js:2035 +#: templates/js/translated/sales_order.js:2071 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:2038 +#: templates/js/translated/sales_order.js:2074 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:2109 +#: templates/js/translated/sales_order.js:2145 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/sales_order.js:2217 +#: templates/js/translated/sales_order.js:2253 msgid "Update Unit Price" msgstr "" @@ -13356,7 +13395,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1042 users/models.py:414 +#: templates/js/translated/stock.js:1042 users/models.py:401 msgid "Add" msgstr "" @@ -13372,7 +13411,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1180 templates/js/translated/stock.js:3302 +#: templates/js/translated/stock.js:1180 templates/js/translated/stock.js:3299 msgid "Select Stock Items" msgstr "" @@ -13456,196 +13495,196 @@ msgstr "" msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:1955 +#: templates/js/translated/stock.js:1953 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1960 +#: templates/js/translated/stock.js:1958 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:1971 +#: templates/js/translated/stock.js:1969 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:2015 +#: templates/js/translated/stock.js:2013 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2093 +#: templates/js/translated/stock.js:2091 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2098 +#: templates/js/translated/stock.js:2096 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2101 +#: templates/js/translated/stock.js:2099 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2104 +#: templates/js/translated/stock.js:2102 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2106 +#: templates/js/translated/stock.js:2104 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2108 +#: templates/js/translated/stock.js:2106 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2111 +#: templates/js/translated/stock.js:2109 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2113 +#: templates/js/translated/stock.js:2111 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2117 +#: templates/js/translated/stock.js:2115 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2119 +#: templates/js/translated/stock.js:2117 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2124 +#: templates/js/translated/stock.js:2122 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2126 +#: templates/js/translated/stock.js:2124 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2128 +#: templates/js/translated/stock.js:2126 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2132 +#: templates/js/translated/stock.js:2130 #: templates/js/translated/table_filters.js:350 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2297 +#: templates/js/translated/stock.js:2295 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2344 +#: templates/js/translated/stock.js:2342 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2472 +#: templates/js/translated/stock.js:2470 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2576 +#: templates/js/translated/stock.js:2573 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2731 +#: templates/js/translated/stock.js:2728 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2849 +#: templates/js/translated/stock.js:2846 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2853 +#: templates/js/translated/stock.js:2850 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2865 +#: templates/js/translated/stock.js:2862 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2887 +#: templates/js/translated/stock.js:2884 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2904 +#: templates/js/translated/stock.js:2901 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2919 +#: templates/js/translated/stock.js:2916 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2936 +#: templates/js/translated/stock.js:2933 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:2950 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2972 +#: templates/js/translated/stock.js:2969 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2990 +#: templates/js/translated/stock.js:2987 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:3008 +#: templates/js/translated/stock.js:3005 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:3016 +#: templates/js/translated/stock.js:3013 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3088 +#: templates/js/translated/stock.js:3085 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3142 templates/js/translated/stock.js:3178 +#: templates/js/translated/stock.js:3139 templates/js/translated/stock.js:3175 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3200 +#: templates/js/translated/stock.js:3197 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3221 +#: templates/js/translated/stock.js:3218 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3222 +#: templates/js/translated/stock.js:3219 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3224 +#: templates/js/translated/stock.js:3221 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3225 +#: templates/js/translated/stock.js:3222 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3226 +#: templates/js/translated/stock.js:3223 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3227 +#: templates/js/translated/stock.js:3224 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3240 +#: templates/js/translated/stock.js:3237 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3303 +#: templates/js/translated/stock.js:3300 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3316 +#: templates/js/translated/stock.js:3313 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3320 +#: templates/js/translated/stock.js:3317 msgid "Change Stock Status" msgstr "" @@ -14247,34 +14286,35 @@ msgstr "" msgid "Revoked" msgstr "" -#: users/models.py:397 +#: users/models.py:384 msgid "Permission set" msgstr "" -#: users/models.py:406 +#: users/models.py:393 msgid "Group" msgstr "" -#: users/models.py:410 +#: users/models.py:397 msgid "View" msgstr "" -#: users/models.py:410 +#: users/models.py:397 msgid "Permission to view items" msgstr "" -#: users/models.py:414 +#: users/models.py:401 msgid "Permission to add items" msgstr "" -#: users/models.py:418 +#: users/models.py:405 msgid "Change" msgstr "" -#: users/models.py:420 +#: users/models.py:407 msgid "Permissions to edit items" msgstr "" -#: users/models.py:426 +#: users/models.py:413 msgid "Permission to delete items" msgstr "" + diff --git a/src/backend/InvenTree/locale/sv/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/sv/LC_MESSAGES/django.po index b4ef581892..0bf1681bea 100644 --- a/src/backend/InvenTree/locale/sv/LC_MESSAGES/django.po +++ b/src/backend/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: 2024-05-10 05:37+0000\n" -"PO-Revision-Date: 2024-05-10 08:31\n" +"POT-Creation-Date: 2024-05-23 11:25+0000\n" +"PO-Revision-Date: 2024-05-23 11:39\n" "Last-Translator: \n" "Language-Team: Swedish\n" "Language: sv_SE\n" @@ -17,11 +17,11 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 216\n" -#: InvenTree/api.py:271 +#: InvenTree/api.py:272 msgid "API endpoint not found" msgstr "API-slutpunkt hittades inte" -#: InvenTree/api.py:535 +#: InvenTree/api.py:536 msgid "User does not have permission to view this model" msgstr "Användaren har inte behörighet att se denna modell" @@ -56,26 +56,26 @@ msgstr "Information om felet finns under Error i adminpanelen" msgid "Enter date" msgstr "Ange datum" -#: InvenTree/fields.py:208 InvenTree/models.py:1021 build/serializers.py:444 -#: build/serializers.py:522 build/templates/build/sidebar.html:21 +#: InvenTree/fields.py:208 InvenTree/models.py:1035 build/serializers.py:443 +#: build/serializers.py:521 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 -#: order/models.py:1283 order/templates/order/po_sidebar.html:11 +#: order/models.py:1323 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:59 -#: part/models.py:3175 part/templates/part/part_sidebar.html:63 -#: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:226 stock/models.py:2344 stock/models.py:2461 -#: stock/serializers.py:501 stock/serializers.py:659 stock/serializers.py:755 -#: stock/serializers.py:805 stock/serializers.py:1114 stock/serializers.py:1203 -#: stock/serializers.py:1368 stock/templates/stock/stock_sidebar.html:25 +#: part/models.py:3218 part/templates/part/part_sidebar.html:63 +#: report/templates/report/inventree_build_order_report.html:172 +#: stock/admin.py:226 stock/models.py:2321 stock/models.py:2438 +#: stock/serializers.py:630 stock/serializers.py:788 stock/serializers.py:884 +#: stock/serializers.py:934 stock/serializers.py:1243 stock/serializers.py:1332 +#: stock/serializers.py:1497 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1080 -#: templates/js/translated/purchase_order.js:2201 -#: templates/js/translated/return_order.js:776 -#: templates/js/translated/sales_order.js:1067 -#: templates/js/translated/sales_order.js:1982 -#: templates/js/translated/stock.js:1536 templates/js/translated/stock.js:2430 +#: templates/js/translated/purchase_order.js:2200 +#: templates/js/translated/return_order.js:775 +#: templates/js/translated/sales_order.js:1103 +#: templates/js/translated/sales_order.js:2018 +#: templates/js/translated/stock.js:1536 templates/js/translated/stock.js:2428 msgid "Notes" msgstr "Anteckningar" @@ -132,7 +132,7 @@ msgstr "Den angivna e-postdomänen är inte godkänd." msgid "Registration is disabled." msgstr "Registrering är stängd." -#: InvenTree/helpers.py:525 order/models.py:541 order/models.py:743 +#: InvenTree/helpers.py:525 order/models.py:563 order/models.py:765 msgid "Invalid quantity provided" msgstr "Ogiltigt antal angivet" @@ -325,7 +325,7 @@ msgstr "Turkiska" #: InvenTree/locales.py:48 msgid "Ukrainian" -msgstr "" +msgstr "Ukrainska" #: InvenTree/locales.py:49 msgid "Vietnamese" @@ -355,142 +355,142 @@ msgstr "E-postadress" msgid "Error running plugin validation" msgstr "" -#: InvenTree/models.py:162 +#: InvenTree/models.py:176 msgid "Metadata must be a python dict object" msgstr "" -#: InvenTree/models.py:168 +#: InvenTree/models.py:182 msgid "Plugin Metadata" msgstr "" -#: InvenTree/models.py:169 +#: InvenTree/models.py:183 msgid "JSON metadata field, for use by external plugins" msgstr "" -#: InvenTree/models.py:399 +#: InvenTree/models.py:413 msgid "Improperly formatted pattern" msgstr "Felaktigt formaterat mönster" -#: InvenTree/models.py:406 +#: InvenTree/models.py:420 msgid "Unknown format key specified" msgstr "Okänd formatnyckel angiven" -#: InvenTree/models.py:412 +#: InvenTree/models.py:426 msgid "Missing required format key" msgstr "Obligatorisk formatnyckel saknas" -#: InvenTree/models.py:423 +#: InvenTree/models.py:437 msgid "Reference field cannot be empty" msgstr "Textfältet kan inte lämnas tomt" -#: InvenTree/models.py:431 +#: InvenTree/models.py:445 msgid "Reference must match required pattern" msgstr "Referensen måste matcha obligatoriskt mönster" -#: InvenTree/models.py:462 +#: InvenTree/models.py:476 msgid "Reference number is too large" msgstr "Referensnumret är för stort" -#: InvenTree/models.py:536 +#: InvenTree/models.py:550 msgid "Missing file" msgstr "Saknad fil" -#: InvenTree/models.py:537 +#: InvenTree/models.py:551 msgid "Missing external link" msgstr "Extern länk saknas" -#: InvenTree/models.py:558 stock/models.py:2456 +#: InvenTree/models.py:572 stock/models.py:2433 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" msgstr "Bilaga" -#: InvenTree/models.py:559 +#: InvenTree/models.py:573 msgid "Select file to attach" msgstr "Välj fil att bifoga" -#: InvenTree/models.py:567 common/models.py:3026 company/models.py:146 +#: InvenTree/models.py:581 common/models.py:3032 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 -#: order/models.py:291 order/models.py:1288 order/models.py:1704 -#: part/admin.py:55 part/models.py:919 +#: order/models.py:304 order/models.py:1328 order/models.py:1744 +#: part/admin.py:55 part/models.py:962 #: part/templates/part/part_scheduling.html:11 -#: report/templates/report/inventree_build_order_base.html:164 +#: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2456 -#: templates/js/translated/purchase_order.js:2041 -#: templates/js/translated/purchase_order.js:2205 -#: templates/js/translated/return_order.js:780 -#: templates/js/translated/sales_order.js:1056 -#: templates/js/translated/sales_order.js:1987 +#: templates/js/translated/part.js:2455 +#: templates/js/translated/purchase_order.js:2040 +#: templates/js/translated/purchase_order.js:2204 +#: templates/js/translated/return_order.js:779 +#: templates/js/translated/sales_order.js:1092 +#: templates/js/translated/sales_order.js:2023 msgid "Link" msgstr "Länk" -#: InvenTree/models.py:568 build/models.py:321 part/models.py:920 -#: stock/models.py:819 +#: InvenTree/models.py:582 build/models.py:344 part/models.py:963 +#: stock/models.py:840 msgid "Link to external URL" msgstr "Länk till extern URL" -#: InvenTree/models.py:574 templates/js/translated/attachment.js:120 +#: InvenTree/models.py:588 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:341 msgid "Comment" msgstr "Kommentar" -#: InvenTree/models.py:575 +#: InvenTree/models.py:589 msgid "File comment" msgstr "Fil kommentar" -#: InvenTree/models.py:583 InvenTree/models.py:584 common/models.py:2502 -#: common/models.py:2503 common/models.py:2727 common/models.py:2728 -#: common/models.py:2973 common/models.py:2974 part/models.py:3185 -#: part/models.py:3272 part/models.py:3365 part/models.py:3393 -#: plugin/models.py:250 plugin/models.py:251 -#: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3039 users/models.py:111 +#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2508 +#: common/models.py:2509 common/models.py:2733 common/models.py:2734 +#: common/models.py:2979 common/models.py:2980 part/models.py:3228 +#: part/models.py:3315 part/models.py:3408 part/models.py:3436 +#: plugin/models.py:259 plugin/models.py:260 +#: report/templates/report/inventree_test_report.html:105 +#: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" msgstr "Användare" -#: InvenTree/models.py:588 +#: InvenTree/models.py:602 msgid "upload date" msgstr "uppladdningsdatum" -#: InvenTree/models.py:610 +#: InvenTree/models.py:624 msgid "Filename must not be empty" msgstr "Filnamnet får inte vara tomt" -#: InvenTree/models.py:621 +#: InvenTree/models.py:635 msgid "Invalid attachment directory" msgstr "Ogiltig katalog för bilaga" -#: InvenTree/models.py:651 +#: InvenTree/models.py:665 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "Filnamnet innehåller ogiltiga tecken '{c}'" -#: InvenTree/models.py:654 +#: InvenTree/models.py:668 msgid "Filename missing extension" msgstr "Filnamn saknar ändelse" -#: InvenTree/models.py:663 +#: InvenTree/models.py:677 msgid "Attachment with this filename already exists" msgstr "Det finns redan en bilaga med detta filnamn" -#: InvenTree/models.py:670 +#: InvenTree/models.py:684 msgid "Error renaming file" msgstr "Fel vid namnbyte av fil" -#: InvenTree/models.py:846 +#: InvenTree/models.py:860 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:863 +#: InvenTree/models.py:877 msgid "Invalid choice" msgstr "Ogiltigt val" -#: InvenTree/models.py:893 common/models.py:2714 common/models.py:3112 -#: common/serializers.py:403 company/models.py:614 label/models.py:120 -#: machine/models.py:24 part/models.py:855 part/models.py:3616 -#: plugin/models.py:41 report/models.py:176 stock/models.py:76 +#: InvenTree/models.py:907 common/models.py:2720 common/models.py:3118 +#: common/serializers.py:403 company/models.py:614 machine/models.py:24 +#: part/models.py:898 part/models.py:3659 plugin/models.py:50 +#: report/models.py:149 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -503,22 +503,22 @@ msgstr "Ogiltigt val" #: templates/js/translated/company.js:1165 #: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186 #: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2719 +#: templates/js/translated/part.js:2748 templates/js/translated/stock.js:2716 msgid "Name" msgstr "Namn" -#: InvenTree/models.py:899 build/models.py:194 +#: InvenTree/models.py:913 build/models.py:217 #: build/templates/build/detail.html:24 common/models.py:136 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 label/models.py:127 -#: order/models.py:277 order/models.py:1316 part/admin.py:303 part/admin.py:414 -#: part/models.py:878 part/models.py:3631 part/templates/part/category.html:82 +#: company/templates/company/supplier_part.html:107 order/models.py:290 +#: order/models.py:1356 part/admin.py:305 part/admin.py:416 part/models.py:921 +#: part/models.py:3674 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 -#: part/templates/part/part_scheduling.html:12 report/models.py:189 -#: report/models.py:655 report/models.py:729 -#: report/templates/report/inventree_build_order_base.html:117 +#: part/templates/part/part_scheduling.html:12 report/models.py:155 +#: report/models.py:510 report/models.py:536 +#: report/templates/report/inventree_build_order_report.html:117 #: stock/admin.py:55 stock/models.py:82 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 @@ -530,71 +530,71 @@ msgstr "Namn" #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 -#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2896 +#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2354 +#: templates/js/translated/part.js:2784 templates/js/translated/part.js:2895 #: templates/js/translated/plugin.js:80 -#: templates/js/translated/purchase_order.js:1707 -#: templates/js/translated/purchase_order.js:1850 -#: templates/js/translated/purchase_order.js:2023 -#: templates/js/translated/return_order.js:314 -#: templates/js/translated/sales_order.js:802 -#: templates/js/translated/sales_order.js:1812 -#: templates/js/translated/stock.js:1515 templates/js/translated/stock.js:2060 -#: templates/js/translated/stock.js:2751 templates/js/translated/stock.js:2834 +#: templates/js/translated/purchase_order.js:1706 +#: templates/js/translated/purchase_order.js:1849 +#: templates/js/translated/purchase_order.js:2022 +#: templates/js/translated/return_order.js:313 +#: templates/js/translated/sales_order.js:838 +#: templates/js/translated/sales_order.js:1848 +#: templates/js/translated/stock.js:1515 templates/js/translated/stock.js:2058 +#: templates/js/translated/stock.js:2748 templates/js/translated/stock.js:2831 msgid "Description" msgstr "Beskrivning" -#: InvenTree/models.py:900 stock/models.py:83 +#: InvenTree/models.py:914 stock/models.py:83 msgid "Description (optional)" msgstr "Beskrivning (valfritt)" -#: InvenTree/models.py:909 +#: InvenTree/models.py:923 msgid "parent" msgstr "överordnad" -#: InvenTree/models.py:915 templates/js/translated/part.js:2794 -#: templates/js/translated/stock.js:2760 +#: InvenTree/models.py:929 templates/js/translated/part.js:2793 +#: templates/js/translated/stock.js:2757 msgid "Path" msgstr "Sökväg" -#: InvenTree/models.py:1021 +#: InvenTree/models.py:1035 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:1050 +#: InvenTree/models.py:1064 msgid "Barcode Data" msgstr "Streckkodsdata" -#: InvenTree/models.py:1051 +#: InvenTree/models.py:1065 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:1057 +#: InvenTree/models.py:1071 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:1058 +#: InvenTree/models.py:1072 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:1111 +#: InvenTree/models.py:1125 msgid "Existing barcode found" msgstr "Befintlig streckkod hittades" -#: InvenTree/models.py:1154 +#: InvenTree/models.py:1168 msgid "Server Error" msgstr "Serverfel" -#: InvenTree/models.py:1155 +#: InvenTree/models.py:1169 msgid "An error has been logged by the server." msgstr "Ett fel har loggats av servern." -#: InvenTree/serializers.py:62 part/models.py:4169 +#: InvenTree/serializers.py:62 part/models.py:4212 msgid "Must be a valid number" msgstr "Måste vara ett giltigt nummer" #: InvenTree/serializers.py:99 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:2993 +#: company/templates/company/company_base.html:112 part/models.py:3036 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -686,7 +686,7 @@ msgstr "URL för fjärrbildsfil" msgid "Downloading images from remote URL is not enabled" msgstr "Nedladdning av bilder från fjärr-URL är inte aktiverad" -#: InvenTree/status.py:66 part/serializers.py:1161 +#: InvenTree/status.py:66 part/serializers.py:1176 msgid "Background worker check failed" msgstr "Kontroll av bakgrundsarbetare misslyckades" @@ -699,8 +699,8 @@ msgid "InvenTree system health checks failed" msgstr "InvenTree systemhälsokontroll misslyckades" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:37 -#: InvenTree/status_codes.py:148 InvenTree/status_codes.py:164 -#: InvenTree/status_codes.py:182 generic/states/tests.py:17 +#: InvenTree/status_codes.py:149 InvenTree/status_codes.py:165 +#: InvenTree/status_codes.py:183 generic/states/tests.py:17 #: templates/js/translated/table_filters.js:598 msgid "Pending" msgstr "Väntar" @@ -709,188 +709,188 @@ msgstr "Väntar" msgid "Placed" msgstr "Placerad" -#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:151 -#: InvenTree/status_codes.py:169 generic/states/tests.py:19 -#: order/templates/order/order_base.html:158 -#: order/templates/order/sales_order_base.html:161 +#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:44 +#: InvenTree/status_codes.py:152 InvenTree/status_codes.py:170 +#: generic/states/tests.py:19 order/templates/order/order_base.html:158 +#: order/templates/order/sales_order_base.html:165 report/models.py:444 msgid "Complete" msgstr "Slutför" -#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:44 -#: InvenTree/status_codes.py:150 InvenTree/status_codes.py:170 +#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:45 +#: InvenTree/status_codes.py:151 InvenTree/status_codes.py:171 msgid "Cancelled" msgstr "Avbruten" -#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:45 -#: InvenTree/status_codes.py:67 +#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:46 +#: InvenTree/status_codes.py:68 msgid "Lost" msgstr "Förlorad" -#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:46 -#: InvenTree/status_codes.py:73 +#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:47 +#: InvenTree/status_codes.py:74 msgid "Returned" msgstr "Återlämnad" -#: InvenTree/status_codes.py:40 InvenTree/status_codes.py:167 +#: InvenTree/status_codes.py:40 InvenTree/status_codes.py:168 msgid "In Progress" msgstr "Pågående" -#: InvenTree/status_codes.py:43 order/models.py:1566 -#: templates/js/translated/sales_order.js:1523 -#: templates/js/translated/sales_order.js:1644 -#: templates/js/translated/sales_order.js:1957 +#: InvenTree/status_codes.py:43 order/models.py:1606 +#: templates/js/translated/sales_order.js:1559 +#: templates/js/translated/sales_order.js:1680 +#: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "Skickad" -#: InvenTree/status_codes.py:62 +#: InvenTree/status_codes.py:63 msgid "OK" msgstr "OK" -#: InvenTree/status_codes.py:63 +#: InvenTree/status_codes.py:64 msgid "Attention needed" msgstr "OBS!" -#: InvenTree/status_codes.py:64 +#: InvenTree/status_codes.py:65 msgid "Damaged" msgstr "Skadad" -#: InvenTree/status_codes.py:65 +#: InvenTree/status_codes.py:66 msgid "Destroyed" msgstr "Förstörd" -#: InvenTree/status_codes.py:66 +#: InvenTree/status_codes.py:67 msgid "Rejected" msgstr "Avvisad" -#: InvenTree/status_codes.py:70 +#: InvenTree/status_codes.py:71 msgid "Quarantined" msgstr "I karantän" -#: InvenTree/status_codes.py:91 +#: InvenTree/status_codes.py:92 msgid "Legacy stock tracking entry" msgstr "Spårningspost för äldre lager" -#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:544 +#: InvenTree/status_codes.py:94 templates/js/translated/stock.js:544 msgid "Stock item created" msgstr "Lagerpost skapad" -#: InvenTree/status_codes.py:96 +#: InvenTree/status_codes.py:97 msgid "Edited stock item" msgstr "Redigerade lagerpost" -#: InvenTree/status_codes.py:97 +#: InvenTree/status_codes.py:98 msgid "Assigned serial number" msgstr "Tilldelade serienummer" -#: InvenTree/status_codes.py:100 +#: InvenTree/status_codes.py:101 msgid "Stock counted" msgstr "Lagersaldo beräknat" -#: InvenTree/status_codes.py:101 +#: InvenTree/status_codes.py:102 msgid "Stock manually added" msgstr "Lagerpost manuellt tillagd" -#: InvenTree/status_codes.py:102 +#: InvenTree/status_codes.py:103 msgid "Stock manually removed" msgstr "Lagerpost manuellt borttagen" -#: InvenTree/status_codes.py:105 +#: InvenTree/status_codes.py:106 msgid "Location changed" msgstr "Platsen har ändrats" -#: InvenTree/status_codes.py:106 +#: InvenTree/status_codes.py:107 msgid "Stock updated" msgstr "" -#: InvenTree/status_codes.py:109 +#: InvenTree/status_codes.py:110 msgid "Installed into assembly" msgstr "Installerad i montering" -#: InvenTree/status_codes.py:110 +#: InvenTree/status_codes.py:111 msgid "Removed from assembly" msgstr "Borttagen från montering" -#: InvenTree/status_codes.py:112 +#: InvenTree/status_codes.py:113 msgid "Installed component item" msgstr "Installerat komponentobjekt" -#: InvenTree/status_codes.py:113 +#: InvenTree/status_codes.py:114 msgid "Removed component item" msgstr "Tog bort komponentobjekt" -#: InvenTree/status_codes.py:116 +#: InvenTree/status_codes.py:117 msgid "Split from parent item" msgstr "Dela från överordnat objekt" -#: InvenTree/status_codes.py:117 +#: InvenTree/status_codes.py:118 msgid "Split child item" msgstr "Dela underordnat objekt" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1858 +#: InvenTree/status_codes.py:121 templates/js/translated/stock.js:1858 msgid "Merged stock items" msgstr "Sammanfogade lagerposter" -#: InvenTree/status_codes.py:123 +#: InvenTree/status_codes.py:124 msgid "Converted to variant" msgstr "Konverterad till variant" -#: InvenTree/status_codes.py:126 +#: InvenTree/status_codes.py:127 msgid "Build order output created" msgstr "Bygg orderutgång skapad" -#: InvenTree/status_codes.py:127 +#: InvenTree/status_codes.py:128 msgid "Build order output completed" msgstr "Bygg orderutgång slutförd" -#: InvenTree/status_codes.py:128 +#: InvenTree/status_codes.py:129 msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1764 +#: InvenTree/status_codes.py:130 templates/js/translated/stock.js:1764 msgid "Consumed by build order" msgstr "Konsumeras av byggorder" -#: InvenTree/status_codes.py:132 +#: InvenTree/status_codes.py:133 msgid "Shipped against Sales Order" msgstr "" -#: InvenTree/status_codes.py:135 +#: InvenTree/status_codes.py:136 msgid "Received against Purchase Order" msgstr "" -#: InvenTree/status_codes.py:138 +#: InvenTree/status_codes.py:139 msgid "Returned against Return Order" msgstr "" -#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:375 +#: InvenTree/status_codes.py:142 templates/js/translated/table_filters.js:375 msgid "Sent to customer" msgstr "Skickat till kund" -#: InvenTree/status_codes.py:142 +#: InvenTree/status_codes.py:143 msgid "Returned from customer" msgstr "Returnerad från kund" -#: InvenTree/status_codes.py:149 +#: InvenTree/status_codes.py:150 msgid "Production" msgstr "Produktion" -#: InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:186 msgid "Return" msgstr "" -#: InvenTree/status_codes.py:188 +#: InvenTree/status_codes.py:189 msgid "Repair" msgstr "Reparera" -#: InvenTree/status_codes.py:191 +#: InvenTree/status_codes.py:192 msgid "Replace" msgstr "Ersätt" -#: InvenTree/status_codes.py:194 +#: InvenTree/status_codes.py:195 msgid "Refund" msgstr "Återbetala" -#: InvenTree/status_codes.py:197 +#: InvenTree/status_codes.py:198 msgid "Reject" msgstr "Avvisa" @@ -946,14 +946,14 @@ msgstr "Om InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Byggnationen måste avbrytas innan den kan tas bort" -#: build/api.py:299 part/models.py:4047 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4090 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4041 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4084 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -969,7 +969,7 @@ msgstr "" #: build/api.py:303 part/admin.py:144 templates/js/translated/build.js:1744 #: templates/js/translated/build.js:2629 -#: templates/js/translated/sales_order.js:1929 +#: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "" @@ -980,7 +980,7 @@ msgstr "" #: templates/email/low_stock_notification.html:17 #: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 #: templates/js/translated/index.js:123 -#: templates/js/translated/model_renderers.js:228 +#: templates/js/translated/model_renderers.js:234 #: templates/js/translated/part.js:692 templates/js/translated/part.js:694 #: templates/js/translated/part.js:699 #: templates/js/translated/table_filters.js:340 @@ -988,16 +988,16 @@ msgstr "" msgid "Available" msgstr "" -#: build/models.py:74 build/templates/build/build_base.html:9 +#: build/models.py:82 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 -#: report/templates/report/inventree_build_order_base.html:105 -#: templates/email/build_order_completed.html:16 +#: report/templates/report/inventree_build_order_report.html:105 +#: stock/serializers.py:83 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2895 +#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2892 msgid "Build Order" msgstr "Byggorder" -#: build/models.py:75 build/templates/build/build_base.html:13 +#: build/models.py:83 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -1008,71 +1008,71 @@ msgstr "Byggorder" msgid "Build Orders" msgstr "Byggordrar" -#: build/models.py:122 +#: build/models.py:130 msgid "Invalid choice for parent build" msgstr "Ogiltigt val för överordnad bygge" -#: build/models.py:133 order/models.py:239 +#: build/models.py:141 order/models.py:241 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:139 +#: build/models.py:147 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:185 +#: build/models.py:208 msgid "Build Order Reference" msgstr "Byggorderreferens" -#: build/models.py:186 order/models.py:442 order/models.py:898 -#: order/models.py:1276 order/models.py:1998 part/admin.py:417 -#: part/models.py:4062 part/templates/part/upload_bom.html:54 +#: build/models.py:209 order/models.py:464 order/models.py:929 +#: order/models.py:1316 order/models.py:2047 part/admin.py:419 +#: part/models.py:4105 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 -#: report/templates/report/inventree_so_report_base.html:28 +#: report/templates/report/inventree_purchase_order_report.html:28 +#: report/templates/report/inventree_return_order_report.html:26 +#: report/templates/report/inventree_sales_order_report.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 #: templates/js/translated/build.js:2512 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 -#: templates/js/translated/purchase_order.js:2066 -#: templates/js/translated/return_order.js:729 -#: templates/js/translated/sales_order.js:1818 +#: templates/js/translated/purchase_order.js:2065 +#: templates/js/translated/return_order.js:728 +#: templates/js/translated/sales_order.js:1854 msgid "Reference" msgstr "Referens" -#: build/models.py:197 +#: build/models.py:220 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:205 build/templates/build/build_base.html:183 +#: build/models.py:228 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Överordnat Bygge" -#: build/models.py:206 +#: build/models.py:229 msgid "BuildOrder to which this build is allocated" msgstr "Byggorder till vilken detta bygge är tilldelad" -#: build/models.py:211 build/templates/build/build_base.html:97 +#: build/models.py:234 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 -#: order/models.py:1401 order/models.py:1546 order/models.py:1547 -#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004 -#: part/models.py:3148 part/models.py:3292 part/models.py:3315 -#: part/models.py:3336 part/models.py:3358 part/models.py:3468 -#: part/models.py:3764 part/models.py:3920 part/models.py:4013 -#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713 +#: order/models.py:1441 order/models.py:1586 order/models.py:1587 +#: part/api.py:1501 part/api.py:1795 part/models.py:392 part/models.py:3047 +#: part/models.py:3191 part/models.py:3335 part/models.py:3358 +#: part/models.py:3379 part/models.py:3401 part/models.py:3511 +#: part/models.py:3807 part/models.py:3963 part/models.py:4056 +#: part/models.py:4417 part/serializers.py:1122 part/serializers.py:1728 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 -#: report/templates/report/inventree_build_order_base.html:109 -#: report/templates/report/inventree_po_report_base.html:27 -#: report/templates/report/inventree_return_order_report_base.html:24 -#: report/templates/report/inventree_slr_report.html:102 -#: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:267 stock/serializers.py:689 -#: templates/InvenTree/search.html:82 +#: report/templates/report/inventree_build_order_report.html:109 +#: report/templates/report/inventree_purchase_order_report.html:27 +#: report/templates/report/inventree_return_order_report.html:24 +#: report/templates/report/inventree_sales_order_report.html:27 +#: report/templates/report/inventree_stock_location_report.html:102 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:396 +#: stock/serializers.py:818 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -1086,235 +1086,239 @@ msgstr "Byggorder till vilken detta bygge är tilldelad" #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 #: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 -#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:2323 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:751 #: templates/js/translated/purchase_order.js:1304 -#: templates/js/translated/purchase_order.js:1849 -#: templates/js/translated/purchase_order.js:2008 -#: templates/js/translated/return_order.js:539 -#: templates/js/translated/return_order.js:710 +#: templates/js/translated/purchase_order.js:1848 +#: templates/js/translated/purchase_order.js:2007 +#: templates/js/translated/return_order.js:538 +#: templates/js/translated/return_order.js:709 #: templates/js/translated/sales_order.js:300 -#: templates/js/translated/sales_order.js:1197 -#: templates/js/translated/sales_order.js:1598 -#: templates/js/translated/sales_order.js:1796 +#: templates/js/translated/sales_order.js:1233 +#: templates/js/translated/sales_order.js:1634 +#: templates/js/translated/sales_order.js:1832 #: templates/js/translated/stock.js:676 templates/js/translated/stock.js:842 -#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1999 -#: templates/js/translated/stock.js:2860 templates/js/translated/stock.js:3093 -#: templates/js/translated/stock.js:3239 +#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1997 +#: templates/js/translated/stock.js:2857 templates/js/translated/stock.js:3090 +#: templates/js/translated/stock.js:3236 msgid "Part" msgstr "Del" -#: build/models.py:219 +#: build/models.py:242 msgid "Select part to build" msgstr "Välj del att bygga" -#: build/models.py:224 +#: build/models.py:247 msgid "Sales Order Reference" msgstr "Försäljningsorderreferens" -#: build/models.py:228 +#: build/models.py:251 msgid "SalesOrder to which this build is allocated" msgstr "Försäljningsorder till vilken detta bygge allokeras" -#: build/models.py:233 build/serializers.py:970 +#: build/models.py:256 build/serializers.py:969 #: templates/js/translated/build.js:1731 -#: templates/js/translated/sales_order.js:1185 +#: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "Källa Plats" -#: build/models.py:237 +#: build/models.py:260 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Välj plats att ta lager från för detta bygge (lämna tomt för att ta från någon lagerplats)" -#: build/models.py:242 +#: build/models.py:265 msgid "Destination Location" msgstr "Destinationsplats" -#: build/models.py:246 +#: build/models.py:269 msgid "Select location where the completed items will be stored" msgstr "Välj plats där de färdiga objekten kommer att lagras" -#: build/models.py:250 +#: build/models.py:273 msgid "Build Quantity" msgstr "Bygg kvantitet" -#: build/models.py:253 +#: build/models.py:276 msgid "Number of stock items to build" msgstr "Antal lagerobjekt att bygga" -#: build/models.py:257 +#: build/models.py:280 msgid "Completed items" msgstr "Slutförda objekt" -#: build/models.py:259 +#: build/models.py:282 msgid "Number of stock items which have been completed" msgstr "Antal lagerposter som har slutförts" -#: build/models.py:263 +#: build/models.py:286 msgid "Build Status" msgstr "Byggstatus" -#: build/models.py:267 +#: build/models.py:290 msgid "Build status code" msgstr "Bygg statuskod" -#: build/models.py:276 build/serializers.py:278 order/serializers.py:581 -#: stock/models.py:823 stock/serializers.py:1333 +#: build/models.py:299 build/serializers.py:277 order/serializers.py:581 +#: stock/models.py:844 stock/serializers.py:75 stock/serializers.py:1462 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Batchkod" -#: build/models.py:280 build/serializers.py:279 +#: build/models.py:303 build/serializers.py:278 msgid "Batch code for this build output" msgstr "Batch-kod för denna byggutdata" -#: build/models.py:283 order/models.py:304 order/serializers.py:120 -#: part/models.py:1079 part/templates/part/part_base.html:310 -#: templates/js/translated/return_order.js:339 -#: templates/js/translated/sales_order.js:827 +#: build/models.py:306 order/models.py:317 order/serializers.py:120 +#: part/models.py:1122 part/templates/part/part_base.html:310 +#: templates/js/translated/return_order.js:338 +#: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "Skapad" -#: build/models.py:287 +#: build/models.py:310 msgid "Target completion date" msgstr "Datum för slutförande" -#: build/models.py:288 +#: build/models.py:311 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:291 order/models.py:500 order/models.py:2043 +#: build/models.py:314 order/models.py:522 order/models.py:2092 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "Slutförandedatum" -#: build/models.py:297 +#: build/models.py:320 msgid "completed by" msgstr "slutfört av" -#: build/models.py:305 templates/js/translated/build.js:2207 +#: build/models.py:328 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "Utfärdad av" -#: build/models.py:306 +#: build/models.py:329 msgid "User who issued this build order" msgstr "Användare som utfärdade denna byggorder" -#: build/models.py:314 build/templates/build/build_base.html:204 +#: build/models.py:337 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:145 -#: order/models.py:322 order/templates/order/order_base.html:217 +#: order/models.py:335 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1096 +#: order/templates/order/sales_order_base.html:232 part/models.py:1139 #: part/templates/part/part_base.html:390 -#: report/templates/report/inventree_build_order_base.html:158 +#: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 #: templates/js/translated/build.js:2219 -#: templates/js/translated/purchase_order.js:1764 -#: templates/js/translated/return_order.js:359 +#: templates/js/translated/purchase_order.js:1763 +#: templates/js/translated/return_order.js:358 #: templates/js/translated/table_filters.js:531 msgid "Responsible" msgstr "Ansvarig" -#: build/models.py:315 +#: build/models.py:338 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:320 build/templates/build/detail.html:108 +#: build/models.py:343 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 -#: order/templates/order/sales_order_base.html:180 -#: part/templates/part/part_base.html:383 stock/models.py:819 +#: order/templates/order/sales_order_base.html:184 +#: part/templates/part/part_base.html:383 stock/models.py:840 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "Extern länk" -#: build/models.py:325 +#: build/models.py:348 msgid "Build Priority" msgstr "" -#: build/models.py:328 +#: build/models.py:351 msgid "Priority of this build order" msgstr "" -#: build/models.py:335 common/models.py:129 order/admin.py:18 -#: order/models.py:286 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:358 common/models.py:129 order/admin.py:18 +#: order/models.py:299 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 -#: templates/js/translated/purchase_order.js:1711 -#: templates/js/translated/return_order.js:318 -#: templates/js/translated/sales_order.js:806 +#: templates/js/translated/purchase_order.js:1710 +#: templates/js/translated/return_order.js:317 +#: templates/js/translated/sales_order.js:842 #: templates/js/translated/table_filters.js:48 #: templates/project_code_data.html:6 msgid "Project Code" msgstr "Projektkod" -#: build/models.py:336 +#: build/models.py:359 msgid "Project code for this build order" msgstr "" -#: build/models.py:566 build/models.py:631 +#: build/models.py:589 build/models.py:654 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:588 +#: build/models.py:611 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Byggorder {build} har slutförts" -#: build/models.py:594 +#: build/models.py:617 msgid "A build order has been completed" msgstr "En byggorder har slutförts" -#: build/models.py:820 build/models.py:895 +#: build/models.py:843 build/models.py:918 msgid "No build output specified" msgstr "Ingen byggutgång angiven" -#: build/models.py:823 +#: build/models.py:846 msgid "Build output is already completed" msgstr "Byggutgång är redan slutförd" -#: build/models.py:826 +#: build/models.py:849 msgid "Build output does not match Build Order" msgstr "Byggutgång matchar inte bygg order" -#: build/models.py:899 build/serializers.py:221 build/serializers.py:260 -#: build/serializers.py:837 order/models.py:538 order/serializers.py:433 -#: order/serializers.py:576 part/serializers.py:1471 part/serializers.py:1871 -#: stock/models.py:662 stock/models.py:1482 stock/serializers.py:472 +#: build/models.py:922 build/serializers.py:220 build/serializers.py:259 +#: build/serializers.py:836 order/models.py:560 order/serializers.py:433 +#: order/serializers.py:576 part/serializers.py:1486 part/serializers.py:1886 +#: stock/models.py:683 stock/models.py:1503 stock/serializers.py:601 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:904 build/serializers.py:226 +#: build/models.py:927 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:961 build/serializers.py:539 +#: build/models.py:984 build/serializers.py:538 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1323 +#: build/models.py:1335 +msgid "Build Order Line Item" +msgstr "" + +#: build/models.py:1360 msgid "Build object" msgstr "" -#: build/models.py:1337 build/models.py:1593 build/serializers.py:208 -#: build/serializers.py:245 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2524 -#: order/models.py:1259 order/models.py:1918 order/serializers.py:1339 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 -#: part/forms.py:48 part/models.py:3162 part/models.py:4035 +#: build/models.py:1374 build/models.py:1630 build/serializers.py:207 +#: build/serializers.py:244 build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2530 +#: order/models.py:1299 order/models.py:1958 order/serializers.py:1339 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 +#: part/forms.py:48 part/models.py:3205 part/models.py:4078 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 -#: report/templates/report/inventree_build_order_base.html:113 -#: report/templates/report/inventree_po_report_base.html:29 -#: report/templates/report/inventree_slr_report.html:104 -#: report/templates/report/inventree_so_report_base.html:29 -#: report/templates/report/inventree_test_report_base.html:90 -#: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:160 stock/serializers.py:463 +#: report/templates/report/inventree_build_order_report.html:113 +#: report/templates/report/inventree_purchase_order_report.html:29 +#: report/templates/report/inventree_sales_order_report.html:29 +#: report/templates/report/inventree_stock_location_report.html:104 +#: report/templates/report/inventree_test_report.html:90 +#: report/templates/report/inventree_test_report.html:170 stock/admin.py:160 +#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:592 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1324,380 +1328,381 @@ msgstr "" #: templates/js/translated/build.js:737 templates/js/translated/build.js:1369 #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 -#: templates/js/translated/model_renderers.js:230 +#: templates/js/translated/model_renderers.js:236 #: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3341 +#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3340 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 #: templates/js/translated/purchase_order.js:754 -#: templates/js/translated/purchase_order.js:1853 -#: templates/js/translated/purchase_order.js:2072 +#: templates/js/translated/purchase_order.js:1852 +#: templates/js/translated/purchase_order.js:2071 #: templates/js/translated/sales_order.js:317 -#: templates/js/translated/sales_order.js:1199 -#: templates/js/translated/sales_order.js:1518 -#: templates/js/translated/sales_order.js:1608 -#: templates/js/translated/sales_order.js:1698 -#: templates/js/translated/sales_order.js:1824 +#: templates/js/translated/sales_order.js:1235 +#: templates/js/translated/sales_order.js:1554 +#: templates/js/translated/sales_order.js:1644 +#: templates/js/translated/sales_order.js:1734 +#: templates/js/translated/sales_order.js:1860 #: templates/js/translated/stock.js:564 templates/js/translated/stock.js:702 -#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:3024 -#: templates/js/translated/stock.js:3107 +#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:3021 +#: templates/js/translated/stock.js:3104 msgid "Quantity" msgstr "Antal" -#: build/models.py:1338 +#: build/models.py:1375 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1418 +#: build/models.py:1455 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Byggobjekt måste ange en byggutgång, eftersom huvuddelen är markerad som spårbar" -#: build/models.py:1427 +#: build/models.py:1464 #, python-brace-format 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:1437 order/models.py:1869 +#: build/models.py:1474 order/models.py:1909 msgid "Stock item is over-allocated" msgstr "Lagerposten är överallokerad" -#: build/models.py:1443 order/models.py:1872 +#: build/models.py:1480 order/models.py:1912 msgid "Allocation quantity must be greater than zero" msgstr "Allokeringsmängden måste vara större än noll" -#: build/models.py:1449 +#: build/models.py:1486 msgid "Quantity must be 1 for serialized stock" msgstr "Antal måste vara 1 för serialiserat lager" -#: build/models.py:1508 +#: build/models.py:1545 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1580 build/serializers.py:817 order/serializers.py:1183 -#: order/serializers.py:1204 stock/serializers.py:566 stock/serializers.py:1052 -#: stock/serializers.py:1164 stock/templates/stock/item_base.html:10 +#: build/models.py:1617 build/serializers.py:816 order/serializers.py:1183 +#: order/serializers.py:1204 stock/models.py:364 stock/serializers.py:92 +#: stock/serializers.py:695 stock/serializers.py:1181 stock/serializers.py:1293 +#: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 #: templates/js/translated/build.js:1745 #: templates/js/translated/sales_order.js:301 -#: templates/js/translated/sales_order.js:1198 -#: templates/js/translated/sales_order.js:1499 -#: templates/js/translated/sales_order.js:1504 -#: templates/js/translated/sales_order.js:1605 -#: templates/js/translated/sales_order.js:1692 +#: templates/js/translated/sales_order.js:1234 +#: templates/js/translated/sales_order.js:1535 +#: templates/js/translated/sales_order.js:1540 +#: templates/js/translated/sales_order.js:1641 +#: templates/js/translated/sales_order.js:1728 #: templates/js/translated/stock.js:677 templates/js/translated/stock.js:843 -#: templates/js/translated/stock.js:2980 +#: templates/js/translated/stock.js:2977 msgid "Stock Item" msgstr "Artikel i lager" -#: build/models.py:1581 +#: build/models.py:1618 msgid "Source stock item" msgstr "Källa lagervara" -#: build/models.py:1594 +#: build/models.py:1631 msgid "Stock quantity to allocate to build" msgstr "Lagersaldo att allokera för att bygga" -#: build/models.py:1602 +#: build/models.py:1639 msgid "Install into" msgstr "Installera till" -#: build/models.py:1603 +#: build/models.py:1640 msgid "Destination stock item" msgstr "Destination lagervara" -#: build/serializers.py:158 build/serializers.py:846 +#: build/serializers.py:157 build/serializers.py:845 #: templates/js/translated/build.js:1322 msgid "Build Output" msgstr "Bygg utdata" -#: build/serializers.py:170 +#: build/serializers.py:169 msgid "Build output does not match the parent build" msgstr "Byggutdata matchar inte överordnad version" -#: build/serializers.py:174 +#: build/serializers.py:173 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:178 +#: build/serializers.py:177 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:189 +#: build/serializers.py:188 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:209 build/serializers.py:246 +#: build/serializers.py:208 build/serializers.py:245 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:267 +#: build/serializers.py:266 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:270 +#: build/serializers.py:269 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:285 order/serializers.py:589 order/serializers.py:1343 -#: stock/serializers.py:483 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:284 order/serializers.py:589 order/serializers.py:1343 +#: stock/serializers.py:612 templates/js/translated/purchase_order.js:1153 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "Serienummer" -#: build/serializers.py:286 +#: build/serializers.py:285 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:291 build/serializers.py:432 build/serializers.py:504 +#: build/serializers.py:290 build/serializers.py:431 build/serializers.py:503 #: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1679 -#: part/serializers.py:1127 stock/serializers.py:494 stock/serializers.py:654 -#: stock/serializers.py:750 stock/serializers.py:1196 stock/serializers.py:1452 -#: stock/templates/stock/item_base.html:394 +#: part/serializers.py:1142 stock/serializers.py:101 stock/serializers.py:623 +#: stock/serializers.py:783 stock/serializers.py:879 stock/serializers.py:1325 +#: stock/serializers.py:1581 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 #: templates/js/translated/purchase_order.js:1178 #: templates/js/translated/purchase_order.js:1268 -#: templates/js/translated/sales_order.js:1511 -#: templates/js/translated/sales_order.js:1619 -#: templates/js/translated/sales_order.js:1627 -#: templates/js/translated/sales_order.js:1706 +#: templates/js/translated/sales_order.js:1547 +#: templates/js/translated/sales_order.js:1655 +#: templates/js/translated/sales_order.js:1663 +#: templates/js/translated/sales_order.js:1742 #: templates/js/translated/stock.js:678 templates/js/translated/stock.js:844 -#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2203 -#: templates/js/translated/stock.js:2874 +#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2201 +#: templates/js/translated/stock.js:2871 msgid "Location" msgstr "Plats" -#: build/serializers.py:292 +#: build/serializers.py:291 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:306 +#: build/serializers.py:305 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:307 +#: build/serializers.py:306 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:322 +#: build/serializers.py:321 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:347 stock/api.py:995 +#: build/serializers.py:346 stock/api.py:1029 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:394 build/serializers.py:456 build/serializers.py:545 +#: build/serializers.py:393 build/serializers.py:455 build/serializers.py:544 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:433 +#: build/serializers.py:432 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:439 +#: build/serializers.py:438 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:440 +#: build/serializers.py:439 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:445 +#: build/serializers.py:444 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:505 +#: build/serializers.py:504 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:511 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:922 -#: order/models.py:2022 order/serializers.py:597 stock/admin.py:165 -#: stock/serializers.py:801 stock/serializers.py:1340 +#: build/serializers.py:510 build/templates/build/build_base.html:151 +#: build/templates/build/detail.html:62 order/models.py:953 +#: order/models.py:2071 order/serializers.py:597 stock/admin.py:165 +#: stock/serializers.py:930 stock/serializers.py:1469 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 -#: templates/js/translated/purchase_order.js:1723 -#: templates/js/translated/return_order.js:331 -#: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2178 templates/js/translated/stock.js:2998 -#: templates/js/translated/stock.js:3123 +#: templates/js/translated/purchase_order.js:1722 +#: templates/js/translated/return_order.js:330 +#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/stock.js:2176 templates/js/translated/stock.js:2995 +#: templates/js/translated/stock.js:3120 msgid "Status" msgstr "Status" -#: build/serializers.py:517 +#: build/serializers.py:516 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:518 +#: build/serializers.py:517 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:598 +#: build/serializers.py:597 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:599 +#: build/serializers.py:598 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:605 +#: build/serializers.py:604 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:606 +#: build/serializers.py:605 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:633 +#: build/serializers.py:632 msgid "Not permitted" msgstr "" -#: build/serializers.py:634 +#: build/serializers.py:633 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:635 +#: build/serializers.py:634 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:657 +#: build/serializers.py:656 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:659 +#: build/serializers.py:658 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:669 +#: build/serializers.py:668 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:674 +#: build/serializers.py:673 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:675 +#: build/serializers.py:674 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:685 templates/js/translated/build.js:315 +#: build/serializers.py:684 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:690 order/serializers.py:301 order/serializers.py:1246 +#: build/serializers.py:689 order/serializers.py:301 order/serializers.py:1246 msgid "Accept Incomplete" msgstr "Acceptera ofullständig" -#: build/serializers.py:691 +#: build/serializers.py:690 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:701 templates/js/translated/build.js:319 +#: build/serializers.py:700 templates/js/translated/build.js:319 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:710 templates/js/translated/build.js:303 +#: build/serializers.py:709 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:740 +#: build/serializers.py:739 msgid "Build Line" msgstr "" -#: build/serializers.py:750 +#: build/serializers.py:749 msgid "Build output" msgstr "" -#: build/serializers.py:758 +#: build/serializers.py:757 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:794 +#: build/serializers.py:793 msgid "Build Line Item" msgstr "" -#: build/serializers.py:808 +#: build/serializers.py:807 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:823 stock/serializers.py:1065 +#: build/serializers.py:822 stock/serializers.py:1194 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:871 order/serializers.py:1237 +#: build/serializers.py:870 order/serializers.py:1237 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:877 +#: build/serializers.py:876 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:884 +#: build/serializers.py:883 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:908 order/serializers.py:1489 +#: build/serializers.py:907 order/serializers.py:1489 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:971 +#: build/serializers.py:970 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:979 +#: build/serializers.py:978 msgid "Exclude Location" msgstr "" -#: build/serializers.py:980 +#: build/serializers.py:979 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:985 +#: build/serializers.py:984 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:986 +#: build/serializers.py:985 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:991 +#: build/serializers.py:990 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:992 +#: build/serializers.py:991 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:997 +#: build/serializers.py:996 msgid "Optional Items" msgstr "" -#: build/serializers.py:998 +#: build/serializers.py:997 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1020 +#: build/serializers.py:1019 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1110 part/models.py:3930 part/models.py:4366 -#: stock/api.py:758 +#: build/serializers.py:1109 part/models.py:3973 part/models.py:4409 +#: stock/api.py:792 msgid "BOM Item" msgstr "" -#: build/serializers.py:1119 templates/js/translated/index.js:130 +#: build/serializers.py:1118 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1124 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:817 part/serializers.py:1489 +#: build/serializers.py:1123 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:832 part/serializers.py:1504 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 @@ -1705,15 +1710,15 @@ msgstr "" msgid "On Order" msgstr "" -#: build/serializers.py:1129 part/serializers.py:1491 +#: build/serializers.py:1128 part/serializers.py:1506 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1134 part/bom.py:172 part/serializers.py:1514 +#: build/serializers.py:1133 part/bom.py:172 part/serializers.py:1529 #: part/templates/part/part_base.html:192 -#: templates/js/translated/sales_order.js:1893 +#: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "" @@ -1842,18 +1847,18 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:297 -#: order/models.py:1294 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:310 +#: order/models.py:1334 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 -#: order/templates/order/sales_order_base.html:192 -#: report/templates/report/inventree_build_order_base.html:125 +#: order/templates/order/sales_order_base.html:196 +#: report/templates/report/inventree_build_order_report.html:125 #: templates/js/translated/build.js:2239 templates/js/translated/part.js:1830 -#: templates/js/translated/purchase_order.js:1740 -#: templates/js/translated/purchase_order.js:2148 -#: templates/js/translated/return_order.js:347 -#: templates/js/translated/return_order.js:751 -#: templates/js/translated/sales_order.js:835 -#: templates/js/translated/sales_order.js:1867 +#: templates/js/translated/purchase_order.js:1739 +#: templates/js/translated/purchase_order.js:2147 +#: templates/js/translated/return_order.js:346 +#: templates/js/translated/return_order.js:750 +#: templates/js/translated/sales_order.js:871 +#: templates/js/translated/sales_order.js:1903 msgid "Target Date" msgstr "Måldatum" @@ -1866,7 +1871,7 @@ msgstr "" #: build/templates/build/build_base.html:222 #: order/templates/order/order_base.html:122 #: order/templates/order/return_order_base.html:117 -#: order/templates/order/sales_order_base.html:122 +#: order/templates/order/sales_order_base.html:126 #: templates/js/translated/table_filters.js:98 #: templates/js/translated/table_filters.js:524 #: templates/js/translated/table_filters.js:626 @@ -1880,24 +1885,24 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:1538 -#: order/models.py:1652 order/models.py:1806 +#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:848 +#: order/models.py:1578 order/models.py:1692 order/models.py:1846 #: 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 +#: report/templates/report/inventree_build_order_report.html:135 +#: report/templates/report/inventree_sales_order_report.html:14 #: stock/templates/stock/item_base.html:369 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:929 -#: templates/js/translated/sales_order.js:769 -#: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2927 +#: templates/js/translated/sales_order.js:805 +#: templates/js/translated/sales_order.js:1028 +#: templates/js/translated/stock.js:2924 msgid "Sales Order" msgstr "Försäljningsorder" #: build/templates/build/build_base.html:197 #: build/templates/build/detail.html:115 -#: report/templates/report/inventree_build_order_base.html:152 +#: report/templates/report/inventree_build_order_report.html:152 #: templates/js/translated/table_filters.js:24 msgid "Issued By" msgstr "Utfärdad av" @@ -1907,15 +1912,15 @@ msgstr "Utfärdad av" msgid "Priority" msgstr "" -#: build/templates/build/build_base.html:273 +#: build/templates/build/build_base.html:269 msgid "Delete Build Order" msgstr "" -#: build/templates/build/build_base.html:283 +#: build/templates/build/build_base.html:279 msgid "Build Order QR Code" msgstr "" -#: build/templates/build/build_base.html:295 +#: build/templates/build/build_base.html:291 msgid "Link Barcode to Build Order" msgstr "" @@ -1931,8 +1936,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1430 -#: templates/js/translated/purchase_order.js:2190 +#: build/templates/build/detail.html:49 order/models.py:1470 +#: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "Mål" @@ -1947,10 +1952,10 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 #: templates/js/translated/build.js:1380 -#: templates/js/translated/model_renderers.js:235 +#: templates/js/translated/model_renderers.js:241 #: templates/js/translated/purchase_order.js:1274 -#: templates/js/translated/stock.js:1133 templates/js/translated/stock.js:2192 -#: templates/js/translated/stock.js:3130 +#: templates/js/translated/stock.js:1133 templates/js/translated/stock.js:2190 +#: templates/js/translated/stock.js:3127 #: templates/js/translated/table_filters.js:313 #: templates/js/translated/table_filters.js:404 msgid "Batch" @@ -1959,7 +1964,7 @@ msgstr "" #: build/templates/build/detail.html:133 #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:151 -#: order/templates/order/sales_order_base.html:186 +#: order/templates/order/sales_order_base.html:190 #: templates/js/translated/build.js:2199 msgid "Created" msgstr "Skapad" @@ -1969,7 +1974,7 @@ msgid "No target date set" msgstr "" #: build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:202 +#: order/templates/order/sales_order_base.html:206 #: templates/js/translated/table_filters.js:689 msgid "Completed" msgstr "Slutförd" @@ -2260,8 +2265,8 @@ msgstr "" #: common/models.py:1316 common/models.py:1372 common/models.py:1385 #: common/models.py:1393 common/models.py:1402 common/models.py:1411 -#: common/models.py:1613 common/models.py:1635 common/models.py:1750 -#: common/models.py:2061 +#: common/models.py:1619 common/models.py:1641 common/models.py:1756 +#: common/models.py:2067 msgid "days" msgstr "dagar" @@ -2402,1209 +2407,1218 @@ msgid "Enable revision field for Part" msgstr "" #: common/models.py:1440 -msgid "IPN Regex" +msgid "Allow Deletion from Assembly" msgstr "" #: common/models.py:1441 +msgid "Allow deletion of parts which are used in an assembly" +msgstr "" + +#: common/models.py:1446 +msgid "IPN Regex" +msgstr "" + +#: common/models.py:1447 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1444 +#: common/models.py:1450 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1445 +#: common/models.py:1451 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1450 +#: common/models.py:1456 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1451 +#: common/models.py:1457 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1456 +#: common/models.py:1462 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1457 +#: common/models.py:1463 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1462 +#: common/models.py:1468 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1463 +#: common/models.py:1469 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1468 +#: common/models.py:1474 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1469 +#: common/models.py:1475 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1474 +#: common/models.py:1480 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1475 +#: common/models.py:1481 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1480 part/admin.py:108 part/models.py:3772 -#: report/models.py:182 stock/serializers.py:99 +#: common/models.py:1486 part/admin.py:108 part/models.py:3815 +#: report/models.py:294 report/models.py:361 report/serializers.py:90 +#: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:767 msgid "Template" msgstr "Mall" -#: common/models.py:1481 +#: common/models.py:1487 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1486 part/admin.py:91 part/admin.py:431 part/models.py:1016 +#: common/models.py:1492 part/admin.py:91 part/admin.py:433 part/models.py:1059 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "" -#: common/models.py:1487 +#: common/models.py:1493 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1492 part/admin.py:95 part/models.py:1022 +#: common/models.py:1498 part/admin.py:95 part/models.py:1065 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "" -#: common/models.py:1493 +#: common/models.py:1499 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1498 part/admin.py:100 part/models.py:1034 +#: common/models.py:1504 part/admin.py:100 part/models.py:1077 msgid "Purchaseable" msgstr "" -#: common/models.py:1499 +#: common/models.py:1505 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1504 part/admin.py:104 part/models.py:1040 +#: common/models.py:1510 part/admin.py:104 part/models.py:1083 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "" -#: common/models.py:1505 +#: common/models.py:1511 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1510 part/admin.py:113 part/models.py:1028 +#: common/models.py:1516 part/admin.py:113 part/models.py:1071 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "" -#: common/models.py:1511 +#: common/models.py:1517 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1516 part/admin.py:117 part/models.py:1050 +#: common/models.py:1522 part/admin.py:117 part/models.py:1093 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "Virtuell" -#: common/models.py:1517 +#: common/models.py:1523 msgid "Parts are virtual by default" msgstr "Delar är virtuella som standard" -#: common/models.py:1522 +#: common/models.py:1528 msgid "Show Import in Views" msgstr "Visa import i vyer" -#: common/models.py:1523 +#: common/models.py:1529 msgid "Display the import wizard in some part views" msgstr "Visa importguiden i vissa delvyer" -#: common/models.py:1528 +#: common/models.py:1534 msgid "Show related parts" msgstr "Visa relaterade delar" -#: common/models.py:1529 +#: common/models.py:1535 msgid "Display related parts for a part" msgstr "Visa relaterade delar för en del" -#: common/models.py:1534 +#: common/models.py:1540 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1535 +#: common/models.py:1541 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1540 templates/js/translated/part.js:107 +#: common/models.py:1546 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1542 +#: common/models.py:1548 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1548 +#: common/models.py:1554 msgid "Part Name Display Format" msgstr "Visningsformat för delnamn" -#: common/models.py:1549 +#: common/models.py:1555 msgid "Format to display the part name" msgstr "Formatera för att visa artikelnamnet" -#: common/models.py:1555 +#: common/models.py:1561 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1556 +#: common/models.py:1562 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1560 +#: common/models.py:1566 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1562 +#: common/models.py:1568 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1568 +#: common/models.py:1574 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1570 +#: common/models.py:1576 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1576 +#: common/models.py:1582 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1578 +#: common/models.py:1584 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1584 +#: common/models.py:1590 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1586 +#: common/models.py:1592 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1592 +#: common/models.py:1598 msgid "Purchase History Override" msgstr "" -#: common/models.py:1594 +#: common/models.py:1600 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1600 +#: common/models.py:1606 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1602 +#: common/models.py:1608 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1608 +#: common/models.py:1614 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1610 +#: common/models.py:1616 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1617 +#: common/models.py:1623 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1618 +#: common/models.py:1624 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1623 +#: common/models.py:1629 msgid "Active Variants Only" msgstr "" -#: common/models.py:1625 +#: common/models.py:1631 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1631 +#: common/models.py:1637 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1633 +#: common/models.py:1639 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1640 +#: common/models.py:1646 msgid "Internal Prices" msgstr "Interna priser" -#: common/models.py:1641 +#: common/models.py:1647 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1646 +#: common/models.py:1652 msgid "Internal Price Override" msgstr "" -#: common/models.py:1648 +#: common/models.py:1654 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1654 +#: common/models.py:1660 msgid "Enable label printing" msgstr "Aktivera etikettutskrift" -#: common/models.py:1655 +#: common/models.py:1661 msgid "Enable label printing from the web interface" msgstr "Aktivera etikettutskrift från webbgränssnittet" -#: common/models.py:1660 +#: common/models.py:1666 msgid "Label Image DPI" msgstr "Etikettbild DPI" -#: common/models.py:1662 +#: common/models.py:1668 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1668 +#: common/models.py:1674 msgid "Enable Reports" msgstr "Aktivera rapporter" -#: common/models.py:1669 +#: common/models.py:1675 msgid "Enable generation of reports" msgstr "Aktivera generering av rapporter" -#: common/models.py:1674 templates/stats.html:25 +#: common/models.py:1680 templates/stats.html:25 msgid "Debug Mode" msgstr "Debugläge" -#: common/models.py:1675 +#: common/models.py:1681 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1680 +#: common/models.py:1686 msgid "Log Report Errors" msgstr "" -#: common/models.py:1681 +#: common/models.py:1687 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1686 plugin/builtin/labels/label_sheet.py:28 -#: report/models.py:203 +#: common/models.py:1692 plugin/builtin/labels/label_sheet.py:28 +#: report/models.py:302 msgid "Page Size" msgstr "Sidstorlek" -#: common/models.py:1687 +#: common/models.py:1693 msgid "Default page size for PDF reports" msgstr "Standard sidstorlek för PDF-rapporter" -#: common/models.py:1692 +#: common/models.py:1698 msgid "Enable Test Reports" msgstr "Aktivera testrapporter" -#: common/models.py:1693 +#: common/models.py:1699 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1698 +#: common/models.py:1704 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1700 +#: common/models.py:1706 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1706 +#: common/models.py:1712 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1707 +#: common/models.py:1713 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1712 +#: common/models.py:1718 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1713 +#: common/models.py:1719 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1718 +#: common/models.py:1724 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1720 +#: common/models.py:1726 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1726 +#: common/models.py:1732 msgid "Batch Code Template" msgstr "" -#: common/models.py:1728 +#: common/models.py:1734 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1733 +#: common/models.py:1739 msgid "Stock Expiry" msgstr "" -#: common/models.py:1734 +#: common/models.py:1740 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1739 +#: common/models.py:1745 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1740 +#: common/models.py:1746 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1745 +#: common/models.py:1751 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1747 +#: common/models.py:1753 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1754 +#: common/models.py:1760 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1755 +#: common/models.py:1761 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1760 +#: common/models.py:1766 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1761 +#: common/models.py:1767 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1766 +#: common/models.py:1772 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1767 +#: common/models.py:1773 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1771 +#: common/models.py:1777 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1772 +#: common/models.py:1778 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1777 +#: common/models.py:1783 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1779 +#: common/models.py:1785 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1785 +#: common/models.py:1791 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1787 +#: common/models.py:1793 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1793 +#: common/models.py:1799 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1795 +#: common/models.py:1801 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1801 common/models.py:1829 common/models.py:1851 -#: common/models.py:1879 +#: common/models.py:1807 common/models.py:1835 common/models.py:1857 +#: common/models.py:1885 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1802 common/models.py:1830 common/models.py:1852 -#: common/models.py:1880 +#: common/models.py:1808 common/models.py:1836 common/models.py:1858 +#: common/models.py:1886 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1807 +#: common/models.py:1813 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1809 +#: common/models.py:1815 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1815 +#: common/models.py:1821 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1816 +#: common/models.py:1822 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1821 +#: common/models.py:1827 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1823 +#: common/models.py:1829 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1835 +#: common/models.py:1841 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1837 +#: common/models.py:1843 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1843 +#: common/models.py:1849 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1845 +#: common/models.py:1851 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1857 +#: common/models.py:1863 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1858 +#: common/models.py:1864 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1863 +#: common/models.py:1869 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1865 +#: common/models.py:1871 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1871 +#: common/models.py:1877 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1873 +#: common/models.py:1879 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1885 +#: common/models.py:1891 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1887 +#: common/models.py:1893 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1893 +#: common/models.py:1899 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1895 +#: common/models.py:1901 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1902 +#: common/models.py:1908 msgid "Enable password forgot" msgstr "" -#: common/models.py:1903 +#: common/models.py:1909 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1908 +#: common/models.py:1914 msgid "Enable registration" -msgstr "" +msgstr "Aktivera registrering" -#: common/models.py:1909 +#: common/models.py:1915 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1914 +#: common/models.py:1920 msgid "Enable SSO" msgstr "" -#: common/models.py:1915 +#: common/models.py:1921 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1920 +#: common/models.py:1926 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1922 +#: common/models.py:1928 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1928 +#: common/models.py:1934 msgid "Email required" msgstr "" -#: common/models.py:1929 +#: common/models.py:1935 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1934 +#: common/models.py:1940 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1936 +#: common/models.py:1942 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1942 +#: common/models.py:1948 msgid "Mail twice" msgstr "" -#: common/models.py:1943 +#: common/models.py:1949 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1948 +#: common/models.py:1954 msgid "Password twice" msgstr "" -#: common/models.py:1949 +#: common/models.py:1955 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1954 +#: common/models.py:1960 msgid "Allowed domains" msgstr "Tillåtna domäner" -#: common/models.py:1956 +#: common/models.py:1962 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1962 +#: common/models.py:1968 msgid "Group on signup" msgstr "" -#: common/models.py:1963 +#: common/models.py:1969 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1968 +#: common/models.py:1974 msgid "Enforce MFA" msgstr "" -#: common/models.py:1969 +#: common/models.py:1975 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1974 +#: common/models.py:1980 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1976 +#: common/models.py:1982 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1984 +#: common/models.py:1990 msgid "Check for plugin updates" msgstr "" -#: common/models.py:1985 +#: common/models.py:1991 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:1991 +#: common/models.py:1997 msgid "Enable URL integration" msgstr "" -#: common/models.py:1992 +#: common/models.py:1998 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1998 +#: common/models.py:2004 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1999 +#: common/models.py:2005 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2005 +#: common/models.py:2011 msgid "Enable app integration" msgstr "" -#: common/models.py:2006 +#: common/models.py:2012 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2012 +#: common/models.py:2018 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2013 +#: common/models.py:2019 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2019 +#: common/models.py:2025 msgid "Enable event integration" msgstr "" -#: common/models.py:2020 +#: common/models.py:2026 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2026 +#: common/models.py:2032 msgid "Enable project codes" msgstr "Aktivera projektkoder" -#: common/models.py:2027 +#: common/models.py:2033 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2032 +#: common/models.py:2038 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2034 +#: common/models.py:2040 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2040 +#: common/models.py:2046 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2042 +#: common/models.py:2048 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2048 +#: common/models.py:2054 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2050 +#: common/models.py:2056 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2056 +#: common/models.py:2062 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2058 +#: common/models.py:2064 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2065 +#: common/models.py:2071 msgid "Display Users full names" msgstr "" -#: common/models.py:2066 +#: common/models.py:2072 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2071 +#: common/models.py:2077 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2072 +#: common/models.py:2078 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2084 common/models.py:2494 +#: common/models.py:2090 common/models.py:2500 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2127 +#: common/models.py:2133 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2129 +#: common/models.py:2135 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2135 +#: common/models.py:2141 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2136 +#: common/models.py:2142 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2141 +#: common/models.py:2147 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2142 +#: common/models.py:2148 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2147 +#: common/models.py:2153 msgid "Show latest parts" msgstr "" -#: common/models.py:2148 +#: common/models.py:2154 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2153 +#: common/models.py:2159 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2154 +#: common/models.py:2160 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2159 +#: common/models.py:2165 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2160 +#: common/models.py:2166 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2165 +#: common/models.py:2171 msgid "Show low stock" msgstr "" -#: common/models.py:2166 +#: common/models.py:2172 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2171 +#: common/models.py:2177 msgid "Show depleted stock" msgstr "" -#: common/models.py:2172 +#: common/models.py:2178 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2177 +#: common/models.py:2183 msgid "Show needed stock" msgstr "" -#: common/models.py:2178 +#: common/models.py:2184 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2183 +#: common/models.py:2189 msgid "Show expired stock" msgstr "" -#: common/models.py:2184 +#: common/models.py:2190 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2189 +#: common/models.py:2195 msgid "Show stale stock" msgstr "" -#: common/models.py:2190 +#: common/models.py:2196 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2195 +#: common/models.py:2201 msgid "Show pending builds" msgstr "" -#: common/models.py:2196 +#: common/models.py:2202 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2201 +#: common/models.py:2207 msgid "Show overdue builds" msgstr "" -#: common/models.py:2202 +#: common/models.py:2208 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2207 +#: common/models.py:2213 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2208 +#: common/models.py:2214 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2213 +#: common/models.py:2219 msgid "Show overdue POs" msgstr "" -#: common/models.py:2214 +#: common/models.py:2220 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2219 +#: common/models.py:2225 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2220 +#: common/models.py:2226 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2225 +#: common/models.py:2231 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2226 +#: common/models.py:2232 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2231 +#: common/models.py:2237 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2232 +#: common/models.py:2238 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2237 +#: common/models.py:2243 msgid "Show News" -msgstr "" +msgstr "Visa nyheter" -#: common/models.py:2238 +#: common/models.py:2244 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2243 +#: common/models.py:2249 msgid "Inline label display" msgstr "" -#: common/models.py:2245 +#: common/models.py:2251 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2251 +#: common/models.py:2257 msgid "Default label printer" msgstr "" -#: common/models.py:2253 +#: common/models.py:2259 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2259 +#: common/models.py:2265 msgid "Inline report display" msgstr "" -#: common/models.py:2261 +#: common/models.py:2267 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2267 +#: common/models.py:2273 msgid "Search Parts" msgstr "Sök efter artiklar" -#: common/models.py:2268 +#: common/models.py:2274 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2273 +#: common/models.py:2279 msgid "Search Supplier Parts" msgstr "Sök efter leverantörsartikel" -#: common/models.py:2274 +#: common/models.py:2280 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2279 +#: common/models.py:2285 msgid "Search Manufacturer Parts" msgstr "Sök efter tillverkarartikel" -#: common/models.py:2280 +#: common/models.py:2286 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2285 +#: common/models.py:2291 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2286 +#: common/models.py:2292 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2291 +#: common/models.py:2297 msgid "Search Categories" msgstr "" -#: common/models.py:2292 +#: common/models.py:2298 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2297 +#: common/models.py:2303 msgid "Search Stock" msgstr "" -#: common/models.py:2298 +#: common/models.py:2304 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2303 +#: common/models.py:2309 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2305 +#: common/models.py:2311 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2311 +#: common/models.py:2317 msgid "Search Locations" msgstr "" -#: common/models.py:2312 +#: common/models.py:2318 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2317 +#: common/models.py:2323 msgid "Search Companies" msgstr "" -#: common/models.py:2318 +#: common/models.py:2324 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2323 +#: common/models.py:2329 msgid "Search Build Orders" msgstr "" -#: common/models.py:2324 +#: common/models.py:2330 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2329 +#: common/models.py:2335 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2330 +#: common/models.py:2336 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2335 +#: common/models.py:2341 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2337 +#: common/models.py:2343 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2343 +#: common/models.py:2349 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2344 +#: common/models.py:2350 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2349 +#: common/models.py:2355 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2351 +#: common/models.py:2357 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2357 +#: common/models.py:2363 msgid "Search Return Orders" msgstr "" -#: common/models.py:2358 +#: common/models.py:2364 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2363 +#: common/models.py:2369 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2365 +#: common/models.py:2371 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2371 +#: common/models.py:2377 msgid "Search Preview Results" msgstr "" -#: common/models.py:2373 +#: common/models.py:2379 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2379 +#: common/models.py:2385 msgid "Regex Search" msgstr "" -#: common/models.py:2380 +#: common/models.py:2386 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2385 +#: common/models.py:2391 msgid "Whole Word Search" msgstr "" -#: common/models.py:2386 +#: common/models.py:2392 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2391 +#: common/models.py:2397 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2392 +#: common/models.py:2398 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2397 +#: common/models.py:2403 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2398 +#: common/models.py:2404 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2403 +#: common/models.py:2409 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2404 +#: common/models.py:2410 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2409 +#: common/models.py:2415 msgid "Date Format" msgstr "Datumformat" -#: common/models.py:2410 +#: common/models.py:2416 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2423 part/templates/part/detail.html:41 +#: common/models.py:2429 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2424 +#: common/models.py:2430 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2429 part/templates/part/detail.html:62 +#: common/models.py:2435 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2431 +#: common/models.py:2437 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2437 +#: common/models.py:2443 msgid "Table String Length" msgstr "" -#: common/models.py:2439 +#: common/models.py:2445 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2445 +#: common/models.py:2451 msgid "Default part label template" msgstr "" -#: common/models.py:2446 +#: common/models.py:2452 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2451 +#: common/models.py:2457 msgid "Default stock item template" msgstr "" -#: common/models.py:2453 +#: common/models.py:2459 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2459 +#: common/models.py:2465 msgid "Default stock location label template" msgstr "" -#: common/models.py:2461 +#: common/models.py:2467 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2467 +#: common/models.py:2473 msgid "Default build line label template" msgstr "" -#: common/models.py:2469 +#: common/models.py:2475 msgid "The build line label template to be automatically selected" msgstr "" -#: common/models.py:2475 +#: common/models.py:2481 msgid "Receive error reports" msgstr "" -#: common/models.py:2476 +#: common/models.py:2482 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2481 +#: common/models.py:2487 msgid "Last used printing machines" msgstr "" -#: common/models.py:2482 +#: common/models.py:2488 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2525 +#: common/models.py:2531 msgid "Price break quantity" msgstr "" -#: common/models.py:2532 company/serializers.py:496 order/admin.py:42 -#: order/models.py:1333 order/models.py:2243 +#: common/models.py:2538 company/serializers.py:496 order/admin.py:42 +#: order/models.py:1373 order/models.py:2292 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 -#: templates/js/translated/return_order.js:741 +#: templates/js/translated/return_order.js:740 msgid "Price" msgstr "" -#: common/models.py:2533 +#: common/models.py:2539 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2704 common/models.py:2889 +#: common/models.py:2710 common/models.py:2895 msgid "Endpoint" msgstr "" -#: common/models.py:2705 +#: common/models.py:2711 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2715 +#: common/models.py:2721 msgid "Name for this webhook" msgstr "" -#: common/models.py:2719 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1045 -#: plugin/models.py:56 templates/js/translated/company.js:523 +#: common/models.py:2725 company/models.py:160 company/models.py:814 +#: machine/models.py:39 part/admin.py:88 part/models.py:1088 +#: plugin/models.py:65 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:492 @@ -3614,135 +3628,135 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2719 +#: common/models.py:2725 msgid "Is this webhook active" msgstr "" -#: common/models.py:2735 users/models.py:159 +#: common/models.py:2741 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2736 +#: common/models.py:2742 msgid "Token for access" msgstr "" -#: common/models.py:2744 +#: common/models.py:2750 msgid "Secret" msgstr "" -#: common/models.py:2745 +#: common/models.py:2751 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2853 +#: common/models.py:2859 msgid "Message ID" msgstr "" -#: common/models.py:2854 +#: common/models.py:2860 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2862 +#: common/models.py:2868 msgid "Host" msgstr "" -#: common/models.py:2863 +#: common/models.py:2869 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2871 +#: common/models.py:2877 msgid "Header" msgstr "" -#: common/models.py:2872 +#: common/models.py:2878 msgid "Header of this message" msgstr "" -#: common/models.py:2879 +#: common/models.py:2885 msgid "Body" msgstr "" -#: common/models.py:2880 +#: common/models.py:2886 msgid "Body of this message" msgstr "" -#: common/models.py:2890 +#: common/models.py:2896 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2895 +#: common/models.py:2901 msgid "Worked on" msgstr "" -#: common/models.py:2896 +#: common/models.py:2902 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3022 +#: common/models.py:3028 msgid "Id" msgstr "" -#: common/models.py:3024 templates/js/translated/company.js:965 +#: common/models.py:3030 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3028 templates/js/translated/news.js:60 +#: common/models.py:3034 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3030 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3036 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3032 templates/js/translated/news.js:52 +#: common/models.py:3038 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3035 +#: common/models.py:3041 msgid "Read" msgstr "" -#: common/models.py:3035 +#: common/models.py:3041 msgid "Was this news item read?" msgstr "" -#: common/models.py:3052 company/models.py:156 part/models.py:929 +#: common/models.py:3058 company/models.py:156 part/models.py:972 #: 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 +#: report/templates/report/inventree_return_order_report.html:35 #: stock/templates/stock/item_base.html:133 templates/503.html:31 #: templates/hover_image.html:7 templates/hover_image.html:9 #: templates/modals.html:6 msgid "Image" msgstr "Bild" -#: common/models.py:3052 +#: common/models.py:3058 msgid "Image file" msgstr "" -#: common/models.py:3094 +#: common/models.py:3100 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3113 +#: common/models.py:3119 msgid "Unit name" msgstr "" -#: common/models.py:3120 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3126 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3121 +#: common/models.py:3127 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3128 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3134 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3129 +#: common/models.py:3135 msgid "Unit definition" msgstr "" @@ -3929,9 +3943,9 @@ msgid "Contact email address" msgstr "" #: company/models.py:139 company/templates/company/company_base.html:145 -#: order/models.py:331 order/templates/order/order_base.html:203 +#: order/models.py:344 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 -#: order/templates/order/sales_order_base.html:214 +#: order/templates/order/sales_order_base.html:218 msgid "Contact" msgstr "Kontakt" @@ -3977,7 +3991,7 @@ msgstr "" #: company/models.py:273 company/models.py:382 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:776 +#: company/templates/company/company_base.html:12 stock/api.py:810 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "Företag" @@ -4069,8 +4083,8 @@ msgstr "" msgid "Link to address information (external)" msgstr "" -#: company/models.py:489 company/models.py:792 stock/models.py:751 -#: stock/serializers.py:266 stock/templates/stock/item_base.html:142 +#: company/models.py:489 company/models.py:792 stock/models.py:772 +#: stock/serializers.py:395 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -4081,7 +4095,7 @@ msgstr "" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:515 +#: company/templates/company/supplier_part.html:145 part/serializers.py:530 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4096,13 +4110,13 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:525 +#: company/templates/company/supplier_part.html:153 part/serializers.py:540 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800 -#: templates/js/translated/purchase_order.js:1852 -#: templates/js/translated/purchase_order.js:2054 +#: templates/js/translated/purchase_order.js:1851 +#: templates/js/translated/purchase_order.js:2053 msgid "MPN" msgstr "" @@ -4129,9 +4143,8 @@ msgstr "" msgid "Parameter name" msgstr "" -#: company/models.py:621 -#: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2448 templates/js/translated/company.js:1166 +#: company/models.py:621 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2425 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492 #: templates/js/translated/stock.js:1522 msgid "Value" @@ -4142,10 +4155,10 @@ msgid "Parameter value" msgstr "" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1009 part/models.py:3623 +#: part/admin.py:57 part/models.py:1052 part/models.py:3666 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 -#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370 +#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 msgid "Units" msgstr "" @@ -4166,9 +4179,9 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:465 +#: company/templates/company/supplier_part.html:129 order/models.py:487 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:499 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:514 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4176,7 +4189,7 @@ msgstr "" #: templates/js/translated/company.js:511 #: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1690 +#: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/table_filters.js:804 msgid "Supplier" msgstr "Leverantör" @@ -4185,7 +4198,7 @@ msgstr "Leverantör" msgid "Select supplier" msgstr "Välj leverantör" -#: company/models.py:809 part/serializers.py:510 +#: company/models.py:809 part/serializers.py:525 msgid "Supplier stock keeping unit" msgstr "" @@ -4206,29 +4219,29 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:418 part/models.py:4070 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4113 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 -#: report/templates/report/inventree_slr_report.html:105 -#: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:579 +#: report/templates/report/inventree_purchase_order_report.html:32 +#: report/templates/report/inventree_return_order_report.html:27 +#: report/templates/report/inventree_sales_order_report.html:32 +#: report/templates/report/inventree_stock_location_report.html:105 +#: stock/serializers.py:708 msgid "Note" msgstr "" -#: company/models.py:857 part/models.py:1967 +#: company/models.py:857 part/models.py:2010 msgid "base cost" msgstr "" -#: company/models.py:858 part/models.py:1968 +#: company/models.py:858 part/models.py:2011 msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:782 stock/serializers.py:1350 +#: stock/admin.py:224 stock/models.py:803 stock/serializers.py:1479 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 -#: templates/js/translated/stock.js:2426 +#: templates/js/translated/stock.js:2424 msgid "Packaging" msgstr "" @@ -4241,8 +4254,8 @@ msgstr "" #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 -#: templates/js/translated/purchase_order.js:2085 -#: templates/js/translated/purchase_order.js:2102 +#: templates/js/translated/purchase_order.js:2084 +#: templates/js/translated/purchase_order.js:2101 msgid "Pack Quantity" msgstr "" @@ -4250,7 +4263,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:892 part/models.py:1974 +#: company/models.py:892 part/models.py:2017 msgid "multiple" msgstr "" @@ -4285,7 +4298,7 @@ msgstr "I lager" #: part/templates/part/part_base.html:146 #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 -#: templates/js/translated/model_renderers.js:306 +#: templates/js/translated/model_renderers.js:312 #: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 msgid "Inactive" msgstr "" @@ -4321,11 +4334,11 @@ msgstr "Radera företag" #: company/templates/company/manufacturer_part.html:51 #: company/templates/company/supplier_part.html:83 #: part/templates/part/part_thumb.html:20 -#: report/templates/report/inventree_build_order_base.html:98 -#: report/templates/report/inventree_po_report_base.html:40 -#: report/templates/report/inventree_so_report_base.html:40 -#: report/templates/report/inventree_test_report_base.html:84 -#: report/templates/report/inventree_test_report_base.html:163 +#: report/templates/report/inventree_build_order_report.html:98 +#: report/templates/report/inventree_purchase_order_report.html:40 +#: report/templates/report/inventree_sales_order_report.html:40 +#: report/templates/report/inventree_test_report.html:84 +#: report/templates/report/inventree_test_report.html:163 msgid "Part image" msgstr "" @@ -4344,16 +4357,16 @@ msgstr "" msgid "Delete image" msgstr "Radera bild" -#: company/templates/company/company_base.html:92 order/models.py:910 -#: order/models.py:2010 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:144 stock/models.py:804 -#: stock/models.py:805 stock/serializers.py:1100 +#: company/templates/company/company_base.html:92 order/models.py:941 +#: order/models.py:2059 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:148 stock/models.py:825 +#: stock/models.py:826 stock/serializers.py:1229 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 -#: templates/js/translated/return_order.js:296 -#: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2962 +#: templates/js/translated/return_order.js:295 +#: templates/js/translated/sales_order.js:820 +#: templates/js/translated/stock.js:2959 #: templates/js/translated/table_filters.js:808 msgid "Customer" msgstr "Kund" @@ -4362,10 +4375,10 @@ msgstr "Kund" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:124 order/models.py:341 +#: company/templates/company/company_base.html:124 order/models.py:354 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 -#: order/templates/order/sales_order_base.html:221 +#: order/templates/order/sales_order_base.html:225 msgid "Address" msgstr "Adress" @@ -4374,7 +4387,7 @@ msgid "Phone" msgstr "Telefon" #: company/templates/company/company_base.html:211 -#: part/templates/part/part_base.html:528 +#: part/templates/part/part_base.html:527 msgid "Remove Image" msgstr "" @@ -4383,19 +4396,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:214 -#: part/templates/part/part_base.html:531 +#: part/templates/part/part_base.html:530 #: templates/InvenTree/settings/user.html:88 #: templates/InvenTree/settings/user_sso.html:43 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:243 -#: part/templates/part/part_base.html:560 +#: part/templates/part/part_base.html:559 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:258 -#: part/templates/part/part_base.html:614 +#: part/templates/part/part_base.html:613 msgid "Download Image" msgstr "" @@ -4558,7 +4571,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:821 +#: part/admin.py:122 part/serializers.py:836 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4609,10 +4622,10 @@ msgstr "Adresser" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:452 -#: stock/models.py:762 stock/templates/stock/item_base.html:233 +#: stock/models.py:783 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 -#: templates/js/translated/stock.js:2282 +#: templates/js/translated/stock.js:2280 msgid "Supplier Part" msgstr "" @@ -4658,11 +4671,11 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:509 +#: part/bom.py:311 part/serializers.py:524 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1851 -#: templates/js/translated/purchase_order.js:2029 +#: templates/js/translated/purchase_order.js:1850 +#: templates/js/translated/purchase_order.js:2028 msgid "SKU" msgstr "" @@ -4671,12 +4684,12 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:209 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:199 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:206 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:200 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:207 #: templates/js/translated/stock.js:537 msgid "New Stock Item" msgstr "" @@ -4708,16 +4721,16 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:820 part/stocktake.py:223 +#: part/serializers.py:835 part/stocktake.py:223 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:787 stock/serializers.py:951 +#: stock/serializers.py:916 stock/serializers.py:1080 #: stock/templates/stock/location.html:170 -#: stock/templates/stock/location.html:184 -#: stock/templates/stock/location.html:196 +#: stock/templates/stock/location.html:191 +#: stock/templates/stock/location.html:203 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2769 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 #: users/models.py:206 msgid "Stock Items" msgstr "" @@ -4751,126 +4764,48 @@ msgstr "Företag" msgid "New Company" msgstr "Nytt företag" -#: label/api.py:247 -msgid "Error printing label" -msgstr "" - -#: label/models.py:120 -msgid "Label name" -msgstr "Etikettnamn" - -#: label/models.py:128 -msgid "Label description" -msgstr "Etikettbeskrivning" - -#: label/models.py:136 -msgid "Label" -msgstr "Etikett" - -#: label/models.py:137 -msgid "Label template file" -msgstr "" - -#: label/models.py:143 part/models.py:3494 report/models.py:324 -#: templates/js/translated/part.js:2900 -#: templates/js/translated/table_filters.js:481 -msgid "Enabled" -msgstr "" - -#: label/models.py:144 -msgid "Label template is enabled" -msgstr "" - -#: label/models.py:149 -msgid "Width [mm]" -msgstr "" - -#: label/models.py:150 -msgid "Label width, specified in mm" -msgstr "" - -#: label/models.py:156 -msgid "Height [mm]" -msgstr "" - -#: label/models.py:157 -msgid "Label height, specified in mm" -msgstr "" - -#: label/models.py:163 report/models.py:317 -msgid "Filename Pattern" -msgstr "" - -#: label/models.py:164 -msgid "Pattern for generating label filenames" -msgstr "" - -#: label/models.py:313 label/models.py:352 label/models.py:377 -#: label/models.py:412 -msgid "Query filters (comma-separated list of key=value pairs)" -msgstr "" - -#: label/models.py:314 label/models.py:353 label/models.py:378 -#: label/models.py:413 report/models.py:345 report/models.py:496 -#: report/models.py:532 report/models.py:568 report/models.py:750 -msgid "Filters" -msgstr "" - -#: label/templates/label/part/part_label.html:31 -#: label/templates/label/stockitem/qr.html:21 -#: label/templates/label/stocklocation/qr.html:20 -#: templates/allauth_2fa/setup.html:18 -msgid "QR Code" -msgstr "QR-kod" - -#: label/templates/label/part/part_label_code128.html:31 -#: label/templates/label/stocklocation/qr_and_text.html:31 -#: templates/qr_code.html:7 -msgid "QR code" -msgstr "QR-kod" - -#: machine/machine_types/label_printer.py:217 +#: machine/machine_types/label_printer.py:218 msgid "Copies" msgstr "" -#: machine/machine_types/label_printer.py:218 +#: machine/machine_types/label_printer.py:219 msgid "Number of copies to print for each label" msgstr "" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:234 msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:234 order/api.py:1515 -#: templates/js/translated/sales_order.js:1042 +#: machine/machine_types/label_printer.py:235 order/api.py:1515 +#: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "" -#: machine/machine_types/label_printer.py:235 +#: machine/machine_types/label_printer.py:236 msgid "Printing" msgstr "" -#: machine/machine_types/label_printer.py:236 +#: machine/machine_types/label_printer.py:237 msgid "No media" msgstr "" -#: machine/machine_types/label_printer.py:237 +#: machine/machine_types/label_printer.py:238 msgid "Disconnected" msgstr "" -#: machine/machine_types/label_printer.py:244 +#: machine/machine_types/label_printer.py:245 msgid "Label Printer" msgstr "" -#: machine/machine_types/label_printer.py:245 +#: machine/machine_types/label_printer.py:246 msgid "Directly print labels for various items." msgstr "" -#: machine/machine_types/label_printer.py:251 +#: machine/machine_types/label_printer.py:252 msgid "Printer Location" msgstr "" -#: machine/machine_types/label_printer.py:252 +#: machine/machine_types/label_printer.py:253 msgid "Scope the printer to a specific location" msgstr "" @@ -4930,19 +4865,19 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:89 -#: report/templates/report/inventree_po_report_base.html:31 -#: report/templates/report/inventree_so_report_base.html:31 +#: order/admin.py:30 order/models.py:90 +#: report/templates/report/inventree_purchase_order_report.html:31 +#: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2126 -#: templates/js/translated/sales_order.js:1847 +#: templates/js/translated/purchase_order.js:2125 +#: templates/js/translated/sales_order.js:1883 msgid "Total Price" msgstr "" #: order/api.py:161 order/serializers.py:91 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 -#: order/templates/order/sales_order_base.html:118 +#: order/templates/order/sales_order_base.html:122 msgid "Order Status" msgstr "Orderstatus" @@ -4955,10 +4890,10 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:437 order/api.py:817 order/models.py:1382 order/models.py:1491 -#: order/models.py:1537 order/models.py:1651 order/models.py:1805 -#: order/models.py:2209 order/models.py:2260 -#: templates/js/translated/sales_order.js:1488 +#: order/api.py:437 order/api.py:817 order/models.py:1422 order/models.py:1531 +#: order/models.py:1577 order/models.py:1691 order/models.py:1845 +#: order/models.py:2258 order/models.py:2309 +#: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" @@ -4970,402 +4905,398 @@ msgstr "" msgid "Order Pending" msgstr "" -#: order/api.py:1509 order/models.py:1383 order/models.py:1492 -#: order/templates/order/order_base.html:9 +#: order/api.py:1509 order/models.py:381 order/models.py:1423 +#: order/models.py:1532 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 -#: report/templates/report/inventree_po_report_base.html:14 -#: stock/templates/stock/item_base.html:176 +#: report/templates/report/inventree_purchase_order_report.html:14 +#: stock/serializers.py:119 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 -#: templates/js/translated/purchase_order.js:1674 -#: templates/js/translated/stock.js:2262 templates/js/translated/stock.js:2910 +#: templates/js/translated/purchase_order.js:1673 +#: templates/js/translated/stock.js:2260 templates/js/translated/stock.js:2907 msgid "Purchase Order" msgstr "" -#: order/api.py:1513 order/models.py:2210 order/models.py:2261 -#: order/templates/order/return_order_base.html:9 +#: order/api.py:1513 order/models.py:2008 order/models.py:2259 +#: order/models.py:2310 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:281 -#: templates/js/translated/stock.js:2944 +#: report/templates/report/inventree_return_order_report.html:13 +#: templates/js/translated/return_order.js:280 +#: templates/js/translated/stock.js:2941 msgid "Return Order" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:96 order/serializers.py:71 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:99 order/serializers.py:72 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:246 +#: order/models.py:248 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:278 +#: order/models.py:291 msgid "Order description (optional)" msgstr "" -#: order/models.py:287 +#: order/models.py:300 msgid "Select project code for this order" msgstr "" -#: order/models.py:291 order/models.py:1288 order/models.py:1704 +#: order/models.py:304 order/models.py:1328 order/models.py:1744 msgid "Link to external page" msgstr "" -#: order/models.py:299 +#: order/models.py:312 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:313 +#: order/models.py:326 msgid "Created By" msgstr "" -#: order/models.py:321 +#: order/models.py:334 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:332 +#: order/models.py:345 msgid "Point of contact for this order" msgstr "" -#: order/models.py:342 +#: order/models.py:355 msgid "Company address for this order" msgstr "" -#: order/models.py:443 order/models.py:899 +#: order/models.py:465 order/models.py:930 msgid "Order reference" msgstr "" -#: order/models.py:451 order/models.py:923 +#: order/models.py:473 order/models.py:954 msgid "Purchase order status" msgstr "" -#: order/models.py:466 +#: order/models.py:488 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:477 order/templates/order/order_base.html:148 -#: templates/js/translated/purchase_order.js:1703 +#: order/models.py:499 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1702 msgid "Supplier Reference" msgstr "" -#: order/models.py:478 +#: order/models.py:500 msgid "Supplier order reference code" msgstr "" -#: order/models.py:487 +#: order/models.py:509 msgid "received by" msgstr "" -#: order/models.py:493 order/models.py:2036 +#: order/models.py:515 order/models.py:2085 msgid "Issue Date" msgstr "" -#: order/models.py:494 order/models.py:2037 +#: order/models.py:516 order/models.py:2086 msgid "Date order was issued" msgstr "" -#: order/models.py:501 order/models.py:2044 +#: order/models.py:523 order/models.py:2093 msgid "Date order was completed" msgstr "" -#: order/models.py:545 +#: order/models.py:567 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:739 +#: order/models.py:761 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:911 +#: order/models.py:942 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:934 order/models.py:2029 +#: order/models.py:965 order/models.py:2078 msgid "Customer Reference " msgstr "" -#: order/models.py:935 order/models.py:2030 +#: order/models.py:966 order/models.py:2079 msgid "Customer order reference code" msgstr "" -#: order/models.py:939 order/models.py:1658 -#: templates/js/translated/sales_order.js:843 -#: templates/js/translated/sales_order.js:1024 +#: order/models.py:970 order/models.py:1698 +#: templates/js/translated/sales_order.js:879 +#: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "" -#: order/models.py:948 +#: order/models.py:979 msgid "shipped by" msgstr "" -#: order/models.py:999 -msgid "Order cannot be completed as no parts have been assigned" -msgstr "" - -#: order/models.py:1004 +#: order/models.py:1029 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1008 templates/js/translated/sales_order.js:506 +#: order/models.py:1033 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1013 +#: order/models.py:1038 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1260 +#: order/models.py:1300 msgid "Item quantity" msgstr "" -#: order/models.py:1277 +#: order/models.py:1317 msgid "Line item reference" msgstr "" -#: order/models.py:1284 +#: order/models.py:1324 msgid "Line item notes" msgstr "" -#: order/models.py:1296 +#: order/models.py:1336 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1317 +#: order/models.py:1357 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1323 +#: order/models.py:1363 msgid "Context" msgstr "" -#: order/models.py:1324 +#: order/models.py:1364 msgid "Additional context for this line" msgstr "" -#: order/models.py:1334 +#: order/models.py:1374 msgid "Unit price" msgstr "" -#: order/models.py:1367 +#: order/models.py:1407 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1374 +#: order/models.py:1414 msgid "deleted" msgstr "" -#: order/models.py:1402 +#: order/models.py:1442 msgid "Supplier part" msgstr "" -#: order/models.py:1409 order/templates/order/order_base.html:196 +#: order/models.py:1449 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 #: templates/js/translated/purchase_order.js:1306 -#: templates/js/translated/purchase_order.js:2170 -#: templates/js/translated/return_order.js:764 +#: templates/js/translated/purchase_order.js:2169 +#: templates/js/translated/return_order.js:763 #: templates/js/translated/table_filters.js:120 #: templates/js/translated/table_filters.js:602 msgid "Received" msgstr "" -#: order/models.py:1410 +#: order/models.py:1450 msgid "Number of items received" msgstr "" -#: order/models.py:1418 stock/models.py:923 stock/serializers.py:400 +#: order/models.py:1458 stock/models.py:944 stock/serializers.py:529 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2313 +#: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "" -#: order/models.py:1419 +#: order/models.py:1459 msgid "Unit purchase price" msgstr "" -#: order/models.py:1434 +#: order/models.py:1474 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1525 +#: order/models.py:1565 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1530 +#: order/models.py:1570 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1556 part/templates/part/part_pricing.html:107 +#: order/models.py:1596 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1557 +#: order/models.py:1597 msgid "Unit sale price" msgstr "" -#: order/models.py:1567 +#: order/models.py:1607 msgid "Shipped quantity" msgstr "" -#: order/models.py:1659 +#: order/models.py:1699 msgid "Date of shipment" msgstr "" -#: order/models.py:1665 templates/js/translated/sales_order.js:1036 +#: order/models.py:1705 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "Leveransdatum" -#: order/models.py:1666 +#: order/models.py:1706 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1674 +#: order/models.py:1714 msgid "Checked By" msgstr "" -#: order/models.py:1675 +#: order/models.py:1715 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1682 order/models.py:1895 order/serializers.py:1354 -#: order/serializers.py:1464 templates/js/translated/model_renderers.js:448 +#: order/models.py:1722 order/models.py:1935 order/serializers.py:1354 +#: order/serializers.py:1464 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" -#: order/models.py:1683 +#: order/models.py:1723 msgid "Shipment number" msgstr "" -#: order/models.py:1691 +#: order/models.py:1731 msgid "Tracking Number" msgstr "" -#: order/models.py:1692 +#: order/models.py:1732 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1699 +#: order/models.py:1739 msgid "Invoice Number" msgstr "Fakturanummer" -#: order/models.py:1700 +#: order/models.py:1740 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1720 +#: order/models.py:1760 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1723 +#: order/models.py:1763 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1841 order/models.py:1843 +#: order/models.py:1881 order/models.py:1883 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1850 +#: order/models.py:1890 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1853 +#: order/models.py:1893 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1856 +#: order/models.py:1896 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1875 order/serializers.py:1231 +#: order/models.py:1915 order/serializers.py:1231 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1878 +#: order/models.py:1918 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1879 plugin/base/barcodes/api.py:481 +#: order/models.py:1919 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1887 +#: order/models.py:1927 msgid "Line" msgstr "" -#: order/models.py:1896 +#: order/models.py:1936 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1909 order/models.py:2217 -#: templates/js/translated/return_order.js:722 +#: order/models.py:1949 order/models.py:2266 +#: templates/js/translated/return_order.js:721 msgid "Item" msgstr "" -#: order/models.py:1910 +#: order/models.py:1950 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1919 +#: order/models.py:1959 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1999 +#: order/models.py:2048 msgid "Return Order reference" msgstr "" -#: order/models.py:2011 +#: order/models.py:2060 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2023 +#: order/models.py:2072 msgid "Return order status" msgstr "" -#: order/models.py:2202 +#: order/models.py:2251 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2218 +#: order/models.py:2267 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2224 +#: order/models.py:2273 msgid "Received Date" msgstr "" -#: order/models.py:2225 +#: order/models.py:2274 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2236 templates/js/translated/return_order.js:733 +#: order/models.py:2285 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2237 +#: order/models.py:2286 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2244 +#: order/models.py:2293 msgid "Cost associated with return or repair for this line item" msgstr "" #: order/serializers.py:80 order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 -#: report/templates/report/inventree_po_report_base.html:22 -#: report/templates/report/inventree_return_order_report_base.html:19 -#: report/templates/report/inventree_so_report_base.html:22 +#: report/templates/report/inventree_purchase_order_report.html:22 +#: report/templates/report/inventree_return_order_report.html:19 +#: report/templates/report/inventree_sales_order_report.html:22 msgid "Line Items" msgstr "" @@ -5595,7 +5526,7 @@ msgstr "" #: order/templates/order/order_base.html:84 #: order/templates/order/return_order_base.html:87 -#: order/templates/order/sales_order_base.html:93 +#: order/templates/order/sales_order_base.html:97 msgid "Complete Order" msgstr "" @@ -5605,13 +5536,13 @@ msgstr "" #: order/templates/order/order_base.html:106 #: order/templates/order/return_order_base.html:101 -#: order/templates/order/sales_order_base.html:106 +#: order/templates/order/sales_order_base.html:110 msgid "Order Reference" msgstr "" #: order/templates/order/order_base.html:111 #: order/templates/order/return_order_base.html:106 -#: order/templates/order/sales_order_base.html:111 +#: order/templates/order/sales_order_base.html:115 msgid "Order Description" msgstr "" @@ -5620,19 +5551,19 @@ msgid "No suppplier information available" msgstr "" #: order/templates/order/order_base.html:154 -#: order/templates/order/sales_order_base.html:157 +#: order/templates/order/sales_order_base.html:161 msgid "Completed Line Items" msgstr "" #: order/templates/order/order_base.html:160 -#: order/templates/order/sales_order_base.html:163 -#: order/templates/order/sales_order_base.html:173 +#: order/templates/order/sales_order_base.html:167 +#: order/templates/order/sales_order_base.html:177 msgid "Incomplete" msgstr "" #: order/templates/order/order_base.html:179 #: order/templates/order/return_order_base.html:157 -#: report/templates/report/inventree_build_order_base.html:121 +#: report/templates/report/inventree_build_order_report.html:121 msgid "Issued" msgstr "" @@ -5642,15 +5573,15 @@ msgstr "" #: order/templates/order/order_base.html:228 #: order/templates/order/return_order_base.html:199 -#: order/templates/order/sales_order_base.html:239 +#: order/templates/order/sales_order_base.html:243 msgid "Total cost could not be calculated" msgstr "" -#: order/templates/order/order_base.html:318 +#: order/templates/order/order_base.html:314 msgid "Purchase Order QR Code" msgstr "" -#: order/templates/order/order_base.html:330 +#: order/templates/order/order_base.html:326 msgid "Link Barcode to Purchase Order" msgstr "" @@ -5707,8 +5638,8 @@ msgstr "" #: templates/js/translated/build.js:1629 #: templates/js/translated/purchase_order.js:696 #: templates/js/translated/purchase_order.js:1236 -#: templates/js/translated/return_order.js:506 -#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/return_order.js:505 +#: templates/js/translated/sales_order.js:1145 #: templates/js/translated/stock.js:714 templates/js/translated/stock.js:883 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -5762,7 +5693,7 @@ msgstr "" #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 #: templates/js/translated/purchase_order.js:414 -#: templates/js/translated/return_order.js:459 +#: templates/js/translated/return_order.js:458 #: templates/js/translated/sales_order.js:237 msgid "Add Line Item" msgstr "" @@ -5811,30 +5742,30 @@ msgid "Print packing list" msgstr "" #: order/templates/order/return_order_base.html:138 -#: order/templates/order/sales_order_base.html:151 -#: templates/js/translated/return_order.js:309 -#: templates/js/translated/sales_order.js:797 +#: order/templates/order/sales_order_base.html:155 +#: templates/js/translated/return_order.js:308 +#: templates/js/translated/sales_order.js:833 msgid "Customer Reference" msgstr "" #: order/templates/order/return_order_base.html:195 -#: order/templates/order/sales_order_base.html:235 +#: order/templates/order/sales_order_base.html:239 #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1072 -#: templates/js/translated/purchase_order.js:1753 -#: templates/js/translated/return_order.js:381 -#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/purchase_order.js:1752 +#: templates/js/translated/return_order.js:380 +#: templates/js/translated/sales_order.js:891 msgid "Total Cost" msgstr "" -#: order/templates/order/return_order_base.html:263 +#: order/templates/order/return_order_base.html:259 msgid "Return Order QR Code" msgstr "" -#: order/templates/order/return_order_base.html:275 +#: order/templates/order/return_order_base.html:271 msgid "Link Barcode to Return Order" msgstr "" @@ -5852,25 +5783,30 @@ msgid "Ship Items" msgstr "" #: order/templates/order/sales_order_base.html:92 -#: templates/js/translated/sales_order.js:484 +#: order/templates/order/sales_order_base.html:93 +msgid "Mark As Shipped" +msgstr "" + +#: order/templates/order/sales_order_base.html:96 +#: templates/js/translated/sales_order.js:536 msgid "Complete Sales Order" msgstr "" -#: order/templates/order/sales_order_base.html:131 +#: order/templates/order/sales_order_base.html:135 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:169 +#: order/templates/order/sales_order_base.html:173 #: order/templates/order/sales_order_detail.html:99 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "" -#: order/templates/order/sales_order_base.html:312 +#: order/templates/order/sales_order_base.html:321 msgid "Sales Order QR Code" msgstr "" -#: order/templates/order/sales_order_base.html:324 +#: order/templates/order/sales_order_base.html:333 msgid "Link Barcode to Sales Order" msgstr "" @@ -5914,12 +5850,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:404 part/models.py:3921 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:406 part/models.py:3964 part/stocktake.py:218 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:411 part/models.py:3922 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:413 part/models.py:3965 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -5928,20 +5864,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:904 part/templates/part/part_base.html:269 -#: report/templates/report/inventree_slr_report.html:103 -#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2341 -#: templates/js/translated/stock.js:2038 +#: part/admin.py:48 part/models.py:947 part/templates/part/part_base.html:269 +#: report/templates/report/inventree_stock_location_report.html:103 +#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 +#: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:913 part/templates/part/part_base.html:277 -#: report/models.py:195 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2347 +#: part/admin.py:50 part/models.py:956 part/templates/part/part_base.html:277 +#: report/models.py:161 templates/js/translated/part.js:1231 +#: templates/js/translated/part.js:2346 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:317 part/models.py:886 +#: part/admin.py:53 part/admin.py:319 part/models.py:929 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "Nyckelord" @@ -5950,15 +5886,15 @@ msgstr "Nyckelord" msgid "Part Image" msgstr "" -#: part/admin.py:63 part/admin.py:300 part/stocktake.py:221 +#: part/admin.py:63 part/admin.py:302 part/stocktake.py:221 msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:302 part/stocktake.py:222 +#: part/admin.py:67 part/admin.py:304 part/stocktake.py:222 msgid "Category Name" msgstr "Kategorinamn" -#: part/admin.py:71 part/admin.py:314 +#: part/admin.py:71 part/admin.py:316 msgid "Default Location ID" msgstr "" @@ -5966,11 +5902,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:872 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:915 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1000 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1043 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5983,160 +5919,164 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3080 part/models.py:3094 +#: part/admin.py:155 part/models.py:3123 part/models.py:3137 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3087 part/models.py:3101 +#: part/admin.py:158 part/models.py:3130 part/models.py:3144 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" -#: part/admin.py:306 part/admin.py:393 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:211 msgid "Parent ID" msgstr "" -#: part/admin.py:310 part/admin.py:400 stock/admin.py:62 +#: part/admin.py:312 part/admin.py:402 stock/admin.py:62 msgid "Parent Name" msgstr "" -#: part/admin.py:318 part/templates/part/category.html:88 +#: part/admin.py:320 part/templates/part/category.html:88 #: part/templates/part/category.html:101 msgid "Category Path" msgstr "" -#: part/admin.py:323 part/models.py:391 part/serializers.py:117 +#: part/admin.py:325 part/models.py:393 part/serializers.py:117 #: part/serializers.py:272 part/serializers.py:391 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2803 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "Artiklar" -#: part/admin.py:384 +#: part/admin.py:386 msgid "BOM Level" msgstr "" -#: part/admin.py:387 +#: part/admin.py:389 msgid "BOM Item ID" msgstr "" -#: part/admin.py:397 +#: part/admin.py:399 msgid "Parent IPN" msgstr "" -#: part/admin.py:408 part/models.py:3923 +#: part/admin.py:410 part/models.py:3966 msgid "Part IPN" msgstr "" -#: part/admin.py:421 part/serializers.py:1261 +#: part/admin.py:423 part/serializers.py:1276 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:426 part/serializers.py:1276 +#: part/admin.py:428 part/serializers.py:1291 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:119 +#: part/api.py:112 msgid "Starred" msgstr "" -#: part/api.py:121 +#: part/api.py:114 msgid "Filter by starred categories" msgstr "" -#: part/api.py:138 stock/api.py:284 +#: part/api.py:131 stock/api.py:318 msgid "Depth" msgstr "" -#: part/api.py:138 +#: part/api.py:131 msgid "Filter by category depth" msgstr "" -#: part/api.py:156 stock/api.py:302 +#: part/api.py:149 stock/api.py:336 msgid "Cascade" msgstr "" -#: part/api.py:158 +#: part/api.py:151 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:178 +#: part/api.py:171 msgid "Parent" msgstr "" -#: part/api.py:180 +#: part/api.py:173 msgid "Filter by parent category" msgstr "" -#: part/api.py:213 +#: part/api.py:206 msgid "Exclude Tree" msgstr "" -#: part/api.py:215 +#: part/api.py:208 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:461 +#: part/api.py:455 msgid "Has Results" msgstr "" -#: part/api.py:628 +#: part/api.py:622 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:646 +#: part/api.py:640 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:662 +#: part/api.py:656 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:746 +#: part/api.py:740 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:893 +#: part/api.py:887 msgid "Valid" msgstr "" -#: part/api.py:894 +#: part/api.py:888 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:900 +#: part/api.py:894 msgid "This option must be selected" msgstr "" -#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866 -#: part/serializers.py:406 part/serializers.py:1117 -#: part/templates/part/part_base.html:260 stock/api.py:745 +#: part/api.py:1111 +msgid "BOM Valid" +msgstr "" + +#: part/api.py:1515 part/models.py:939 part/models.py:3429 part/models.py:3909 +#: part/serializers.py:406 part/serializers.py:1132 +#: part/templates/part/part_base.html:260 stock/api.py:779 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2377 +#: templates/js/translated/part.js:2376 msgid "Category" msgstr "Kategori" -#: part/api.py:1849 +#: part/api.py:1803 msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:101 part/models.py:939 +#: part/bom.py:170 part/models.py:102 part/models.py:982 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:822 +#: part/bom.py:171 part/serializers.py:837 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6145,698 +6085,712 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:82 part/models.py:3867 part/templates/part/category.html:16 +#: part/models.py:83 part/models.py:3910 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:83 part/templates/part/category.html:136 +#: part/models.py:84 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "" -#: part/models.py:102 +#: part/models.py:103 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:107 stock/models.py:165 templates/js/translated/part.js:2810 -#: templates/js/translated/stock.js:2775 +#: part/models.py:108 stock/models.py:177 templates/js/translated/part.js:2809 +#: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "" -#: part/models.py:109 +#: part/models.py:110 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:118 +#: part/models.py:119 msgid "Default keywords" msgstr "" -#: part/models.py:119 +#: part/models.py:120 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:125 stock/models.py:89 stock/models.py:148 +#: part/models.py:126 stock/models.py:89 stock/models.py:160 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "Ikon" -#: part/models.py:126 stock/models.py:149 +#: part/models.py:127 stock/models.py:161 msgid "Icon (optional)" msgstr "Ikon (valfritt)" -#: part/models.py:148 +#: part/models.py:149 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:484 +#: part/models.py:482 +msgid "Cannot delete this part as it is still active" +msgstr "" + +#: part/models.py:489 +msgid "Cannot delete this part as it is used in an assembly" +msgstr "" + +#: part/models.py:527 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:532 part/models.py:539 +#: part/models.py:575 part/models.py:582 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:551 +#: part/models.py:594 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:616 +#: part/models.py:659 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:696 +#: part/models.py:739 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:801 +#: part/models.py:844 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:811 +#: part/models.py:854 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:826 +#: part/models.py:869 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:855 part/models.py:3922 +#: part/models.py:898 part/models.py:3965 msgid "Part name" msgstr "" -#: part/models.py:860 +#: part/models.py:903 msgid "Is Template" msgstr "" -#: part/models.py:861 +#: part/models.py:904 msgid "Is this part a template part?" msgstr "" -#: part/models.py:871 +#: part/models.py:914 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:879 +#: part/models.py:922 msgid "Part description (optional)" msgstr "" -#: part/models.py:887 +#: part/models.py:930 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:897 +#: part/models.py:940 msgid "Part category" msgstr "" -#: part/models.py:905 +#: part/models.py:948 msgid "Internal Part Number" msgstr "" -#: part/models.py:912 +#: part/models.py:955 msgid "Part revision or version number" msgstr "" -#: part/models.py:937 +#: part/models.py:980 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:983 part/templates/part/part_base.html:376 +#: part/models.py:1026 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "Standardleverantör" -#: part/models.py:984 +#: part/models.py:1027 msgid "Default supplier part" msgstr "" -#: part/models.py:991 +#: part/models.py:1034 msgid "Default Expiry" msgstr "" -#: part/models.py:992 +#: part/models.py:1035 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1001 +#: part/models.py:1044 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1010 +#: part/models.py:1053 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1017 +#: part/models.py:1060 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1023 +#: part/models.py:1066 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1029 +#: part/models.py:1072 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1035 +#: part/models.py:1078 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1041 +#: part/models.py:1084 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1045 +#: part/models.py:1088 msgid "Is this part active?" msgstr "" -#: part/models.py:1051 +#: part/models.py:1094 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1057 +#: part/models.py:1100 msgid "BOM checksum" msgstr "" -#: part/models.py:1058 +#: part/models.py:1101 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1066 +#: part/models.py:1109 msgid "BOM checked by" msgstr "" -#: part/models.py:1071 +#: part/models.py:1114 msgid "BOM checked date" msgstr "" -#: part/models.py:1087 +#: part/models.py:1130 msgid "Creation User" msgstr "" -#: part/models.py:1097 +#: part/models.py:1140 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1102 part/templates/part/part_base.html:339 +#: part/models.py:1145 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 -#: templates/js/translated/part.js:2471 +#: templates/js/translated/part.js:2470 msgid "Last Stocktake" msgstr "" -#: part/models.py:1975 +#: part/models.py:2018 msgid "Sell multiple" msgstr "" -#: part/models.py:2994 +#: part/models.py:3037 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3010 +#: part/models.py:3053 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3011 +#: part/models.py:3054 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3017 +#: part/models.py:3060 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3018 +#: part/models.py:3061 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3024 +#: part/models.py:3067 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3025 +#: part/models.py:3068 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3031 +#: part/models.py:3074 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3032 +#: part/models.py:3075 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3038 +#: part/models.py:3081 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3039 +#: part/models.py:3082 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3045 +#: part/models.py:3088 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3046 +#: part/models.py:3089 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3052 +#: part/models.py:3095 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3053 +#: part/models.py:3096 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3059 +#: part/models.py:3102 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3060 +#: part/models.py:3103 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3066 +#: part/models.py:3109 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3067 +#: part/models.py:3110 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3073 +#: part/models.py:3116 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3074 +#: part/models.py:3117 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3081 +#: part/models.py:3124 msgid "Override minimum cost" msgstr "" -#: part/models.py:3088 +#: part/models.py:3131 msgid "Override maximum cost" msgstr "" -#: part/models.py:3095 +#: part/models.py:3138 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3102 +#: part/models.py:3145 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3108 +#: part/models.py:3151 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3109 +#: part/models.py:3152 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3115 +#: part/models.py:3158 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3116 +#: part/models.py:3159 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3122 +#: part/models.py:3165 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3123 +#: part/models.py:3166 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3129 +#: part/models.py:3172 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3130 +#: part/models.py:3173 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3149 +#: part/models.py:3192 msgid "Part for stocktake" msgstr "" -#: part/models.py:3154 +#: part/models.py:3197 msgid "Item Count" msgstr "" -#: part/models.py:3155 +#: part/models.py:3198 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3163 +#: part/models.py:3206 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3167 part/models.py:3250 +#: part/models.py:3210 part/models.py:3293 #: part/templates/part/part_scheduling.html:13 -#: report/templates/report/inventree_test_report_base.html:106 +#: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 #: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 -#: templates/js/translated/purchase_order.js:1732 -#: templates/js/translated/stock.js:2824 +#: templates/js/translated/purchase_order.js:1731 +#: templates/js/translated/stock.js:2821 msgid "Date" msgstr "Datum" -#: part/models.py:3168 +#: part/models.py:3211 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3176 +#: part/models.py:3219 msgid "Additional notes" msgstr "" -#: part/models.py:3186 +#: part/models.py:3229 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3192 +#: part/models.py:3235 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3193 +#: part/models.py:3236 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3199 +#: part/models.py:3242 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3200 +#: part/models.py:3243 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3256 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3299 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3257 +#: part/models.py:3300 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3262 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3305 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3263 +#: part/models.py:3306 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3273 +#: part/models.py:3316 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3435 +#: part/models.py:3478 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3446 +#: part/models.py:3489 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3457 +#: part/models.py:3500 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3474 templates/js/translated/part.js:2879 +#: part/models.py:3517 templates/js/translated/part.js:2878 msgid "Test Name" msgstr "" -#: part/models.py:3475 +#: part/models.py:3518 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3481 +#: part/models.py:3524 msgid "Test Key" msgstr "" -#: part/models.py:3482 +#: part/models.py:3525 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3489 +#: part/models.py:3532 msgid "Test Description" msgstr "" -#: part/models.py:3490 +#: part/models.py:3533 msgid "Enter description for this test" msgstr "" -#: part/models.py:3494 +#: part/models.py:3537 report/models.py:208 +#: templates/js/translated/part.js:2899 +#: templates/js/translated/table_filters.js:481 +msgid "Enabled" +msgstr "" + +#: part/models.py:3537 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3499 templates/js/translated/part.js:2908 +#: part/models.py:3542 templates/js/translated/part.js:2907 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3500 +#: part/models.py:3543 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3505 templates/js/translated/part.js:2916 +#: part/models.py:3548 templates/js/translated/part.js:2915 msgid "Requires Value" msgstr "" -#: part/models.py:3506 +#: part/models.py:3549 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3511 templates/js/translated/part.js:2923 +#: part/models.py:3554 templates/js/translated/part.js:2922 msgid "Requires Attachment" msgstr "" -#: part/models.py:3513 +#: part/models.py:3556 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3560 +#: part/models.py:3603 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3565 +#: part/models.py:3608 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3585 +#: part/models.py:3628 msgid "Choices must be unique" msgstr "" -#: part/models.py:3602 +#: part/models.py:3645 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3617 +#: part/models.py:3660 msgid "Parameter Name" msgstr "" -#: part/models.py:3624 +#: part/models.py:3667 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3632 +#: part/models.py:3675 msgid "Parameter description" msgstr "" -#: part/models.py:3638 templates/js/translated/part.js:1627 +#: part/models.py:3681 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3639 +#: part/models.py:3682 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3644 templates/js/translated/part.js:1636 +#: part/models.py:3687 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3645 +#: part/models.py:3688 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3722 +#: part/models.py:3765 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3765 +#: part/models.py:3808 msgid "Parent Part" msgstr "" -#: part/models.py:3773 part/models.py:3874 part/models.py:3875 +#: part/models.py:3816 part/models.py:3917 part/models.py:3918 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3778 +#: part/models.py:3821 msgid "Data" msgstr "" -#: part/models.py:3779 +#: part/models.py:3822 msgid "Parameter Value" msgstr "" -#: part/models.py:3881 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3924 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3882 +#: part/models.py:3925 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3920 +#: part/models.py:3963 msgid "Part ID or part name" msgstr "" -#: part/models.py:3921 +#: part/models.py:3964 msgid "Unique part ID value" msgstr "" -#: part/models.py:3923 +#: part/models.py:3966 msgid "Part IPN value" msgstr "" -#: part/models.py:3924 +#: part/models.py:3967 msgid "Level" msgstr "" -#: part/models.py:3924 +#: part/models.py:3967 msgid "BOM level" msgstr "" -#: part/models.py:4014 +#: part/models.py:4057 msgid "Select parent part" msgstr "" -#: part/models.py:4024 +#: part/models.py:4067 msgid "Sub part" msgstr "" -#: part/models.py:4025 +#: part/models.py:4068 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4036 +#: part/models.py:4079 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4042 +#: part/models.py:4085 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4048 +#: part/models.py:4091 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4055 part/templates/part/upload_bom.html:55 +#: part/models.py:4098 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4056 +#: part/models.py:4099 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4063 +#: part/models.py:4106 msgid "BOM item reference" msgstr "" -#: part/models.py:4071 +#: part/models.py:4114 msgid "BOM item notes" msgstr "" -#: part/models.py:4077 +#: part/models.py:4120 msgid "Checksum" msgstr "" -#: part/models.py:4078 +#: part/models.py:4121 msgid "BOM line checksum" msgstr "" -#: part/models.py:4083 templates/js/translated/table_filters.js:174 +#: part/models.py:4126 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4084 +#: part/models.py:4127 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4089 part/templates/part/upload_bom.html:57 +#: part/models.py:4132 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4090 +#: part/models.py:4133 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4095 part/templates/part/upload_bom.html:56 +#: part/models.py:4138 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4096 +#: part/models.py:4139 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4181 stock/models.py:647 +#: part/models.py:4224 stock/models.py:668 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4191 part/models.py:4193 +#: part/models.py:4234 part/models.py:4236 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4333 +#: part/models.py:4376 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4354 +#: part/models.py:4397 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4367 +#: part/models.py:4410 msgid "Parent BOM item" msgstr "" -#: part/models.py:4375 +#: part/models.py:4418 msgid "Substitute part" msgstr "" -#: part/models.py:4391 +#: part/models.py:4434 msgid "Part 1" msgstr "" -#: part/models.py:4399 +#: part/models.py:4442 msgid "Part 2" msgstr "" -#: part/models.py:4400 +#: part/models.py:4443 msgid "Select Related Part" msgstr "" -#: part/models.py:4419 +#: part/models.py:4462 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4424 +#: part/models.py:4467 msgid "Duplicate relationship already exists" msgstr "" @@ -6854,7 +6808,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:406 +#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:535 msgid "Purchase currency of this stock item" msgstr "" @@ -6870,299 +6824,299 @@ msgstr "" msgid "Select category" msgstr "Välj kategori" -#: part/serializers.py:437 +#: part/serializers.py:442 msgid "Original Part" msgstr "" -#: part/serializers.py:438 +#: part/serializers.py:443 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:448 msgid "Copy Image" msgstr "Kopiera bild" -#: part/serializers.py:444 +#: part/serializers.py:449 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:450 part/templates/part/detail.html:277 +#: part/serializers.py:455 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:451 +#: part/serializers.py:456 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:462 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:458 +#: part/serializers.py:463 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:464 +#: part/serializers.py:469 msgid "Copy Notes" msgstr "" -#: part/serializers.py:465 +#: part/serializers.py:470 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:478 +#: part/serializers.py:488 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:490 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:487 +#: part/serializers.py:497 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:488 +#: part/serializers.py:498 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:500 +#: part/serializers.py:515 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:531 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:526 +#: part/serializers.py:541 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:533 +#: part/serializers.py:548 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:542 +#: part/serializers.py:557 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:553 +#: part/serializers.py:568 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:560 +#: part/serializers.py:575 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:823 +#: part/serializers.py:838 msgid "External Stock" msgstr "" -#: part/serializers.py:825 +#: part/serializers.py:840 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:828 +#: part/serializers.py:843 msgid "Variant Stock" msgstr "" -#: part/serializers.py:856 part/templates/part/copy_part.html:9 +#: part/serializers.py:871 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:857 +#: part/serializers.py:872 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:863 templates/js/translated/part.js:102 +#: part/serializers.py:878 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:864 +#: part/serializers.py:879 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:870 +#: part/serializers.py:885 msgid "Supplier Information" msgstr "" -#: part/serializers.py:871 +#: part/serializers.py:886 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:879 +#: part/serializers.py:894 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:880 +#: part/serializers.py:895 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:885 +#: part/serializers.py:900 msgid "Existing Image" msgstr "" -#: part/serializers.py:886 +#: part/serializers.py:901 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:918 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1109 +#: part/serializers.py:1124 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1119 +#: part/serializers.py:1134 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1129 +#: part/serializers.py:1144 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1135 +#: part/serializers.py:1150 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1136 +#: part/serializers.py:1151 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1141 +#: part/serializers.py:1156 msgid "Generate Report" msgstr "Generera rapport" -#: part/serializers.py:1142 +#: part/serializers.py:1157 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1147 +#: part/serializers.py:1162 msgid "Update Parts" msgstr "" -#: part/serializers.py:1148 +#: part/serializers.py:1163 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1156 +#: part/serializers.py:1171 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1262 +#: part/serializers.py:1277 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1269 +#: part/serializers.py:1284 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1277 +#: part/serializers.py:1292 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1284 +#: part/serializers.py:1299 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1313 +#: part/serializers.py:1328 msgid "Update" msgstr "Uppdatera" -#: part/serializers.py:1314 +#: part/serializers.py:1329 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1337 +#: part/serializers.py:1352 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1344 +#: part/serializers.py:1359 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1347 +#: part/serializers.py:1362 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1714 +#: part/serializers.py:1729 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1722 +#: part/serializers.py:1737 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1723 +#: part/serializers.py:1738 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1728 +#: part/serializers.py:1743 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1729 +#: part/serializers.py:1744 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1734 +#: part/serializers.py:1749 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1735 +#: part/serializers.py:1750 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1755 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1756 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1775 +#: part/serializers.py:1790 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1776 +#: part/serializers.py:1791 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1806 +#: part/serializers.py:1821 msgid "No part column specified" msgstr "" -#: part/serializers.py:1850 +#: part/serializers.py:1865 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1853 +#: part/serializers.py:1868 msgid "No matching part found" msgstr "" -#: part/serializers.py:1856 +#: part/serializers.py:1871 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1865 +#: part/serializers.py:1880 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1888 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1894 +#: part/serializers.py:1909 msgid "At least one BOM item is required" msgstr "" #: part/stocktake.py:224 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:2085 +#: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" @@ -7314,7 +7268,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2218 users/models.py:204 +#: templates/js/translated/stock.js:2216 users/models.py:204 msgid "Stocktake" msgstr "" @@ -7412,15 +7366,15 @@ msgstr "" msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:659 +#: part/templates/part/detail.html:655 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:667 +#: part/templates/part/detail.html:663 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:752 +#: part/templates/part/detail.html:748 msgid "Add Test Result Template" msgstr "" @@ -7479,7 +7433,7 @@ msgstr "" #: part/templates/part/part_base.html:52 #: stock/templates/stock/item_base.html:62 -#: stock/templates/stock/location.html:74 +#: stock/templates/stock/location.html:74 templates/js/translated/label.js:142 msgid "Print Label" msgstr "" @@ -7501,7 +7455,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2293 +#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2292 msgid "Part actions" msgstr "" @@ -7550,7 +7504,7 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:163 -#: part/templates/part/part_base.html:682 +#: part/templates/part/part_base.html:681 msgid "Show Part Details" msgstr "" @@ -7573,7 +7527,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2444 +#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2443 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7596,19 +7550,19 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:512 +#: part/templates/part/part_base.html:511 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:529 +#: part/templates/part/part_base.html:528 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:580 +#: part/templates/part/part_base.html:579 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:676 +#: part/templates/part/part_base.html:675 msgid "Hide Part Details" msgstr "" @@ -7667,8 +7621,8 @@ msgstr "" #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 -#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 -#: templates/js/translated/stock.js:2072 templates/navbar.html:31 +#: templates/js/translated/part.js:2391 templates/js/translated/stock.js:1059 +#: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7714,7 +7668,7 @@ msgstr "Redigera" #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 -#: templates/js/translated/stock.js:2248 +#: templates/js/translated/stock.js:2246 msgid "Last Updated" msgstr "Senast uppdaterad" @@ -7786,7 +7740,7 @@ msgid "Update Pricing" msgstr "" #: part/templates/part/stock_count.html:7 -#: templates/js/translated/model_renderers.js:221 +#: templates/js/translated/model_renderers.js:227 #: templates/js/translated/part.js:704 templates/js/translated/part.js:2140 #: templates/js/translated/part.js:2142 msgid "No Stock" @@ -7866,7 +7820,7 @@ msgstr "" msgid "Part Pricing" msgstr "" -#: plugin/api.py:168 +#: plugin/api.py:170 msgid "Plugin cannot be deleted as it is currently active" msgstr "" @@ -7933,7 +7887,7 @@ msgid "Stock item does not match line item" msgstr "" #: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2589 -#: templates/js/translated/sales_order.js:1917 +#: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "" @@ -8027,22 +7981,18 @@ msgstr "" msgid "Quantity to allocate" msgstr "" -#: plugin/base/label/label.py:39 +#: plugin/base/label/label.py:39 templates/js/translated/label.js:154 msgid "Label printing failed" msgstr "" -#: plugin/base/label/mixins.py:63 +#: plugin/base/label/mixins.py:56 msgid "Error rendering label to PDF" msgstr "" -#: plugin/base/label/mixins.py:76 +#: plugin/base/label/mixins.py:70 msgid "Error rendering label to HTML" msgstr "" -#: plugin/base/label/mixins.py:111 -msgid "Error rendering label to PNG" -msgstr "" - #: plugin/builtin/barcodes/inventree_barcode.py:25 msgid "InvenTree Barcodes" msgstr "" @@ -8054,7 +8004,7 @@ msgstr "" #: plugin/builtin/barcodes/inventree_barcode.py:28 #: plugin/builtin/integration/core_notifications.py:35 #: plugin/builtin/integration/currency_exchange.py:21 -#: plugin/builtin/labels/inventree_label.py:23 +#: plugin/builtin/labels/inventree_label.py:22 #: plugin/builtin/labels/inventree_machine.py:64 #: plugin/builtin/labels/label_sheet.py:63 #: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 @@ -8108,19 +8058,19 @@ msgstr "" msgid "Default currency exchange integration" msgstr "" -#: plugin/builtin/labels/inventree_label.py:20 +#: plugin/builtin/labels/inventree_label.py:19 msgid "InvenTree PDF label printer" msgstr "" -#: plugin/builtin/labels/inventree_label.py:21 +#: plugin/builtin/labels/inventree_label.py:20 msgid "Provides native support for printing PDF labels" msgstr "" -#: plugin/builtin/labels/inventree_label.py:29 +#: plugin/builtin/labels/inventree_label.py:28 msgid "Debug mode" msgstr "" -#: plugin/builtin/labels/inventree_label.py:30 +#: plugin/builtin/labels/inventree_label.py:29 msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "" @@ -8132,11 +8082,11 @@ msgstr "" msgid "Provides support for printing using a machine" msgstr "" -#: plugin/builtin/labels/inventree_machine.py:150 +#: plugin/builtin/labels/inventree_machine.py:151 msgid "last used" msgstr "" -#: plugin/builtin/labels/inventree_machine.py:167 +#: plugin/builtin/labels/inventree_machine.py:168 msgid "Options" msgstr "" @@ -8160,7 +8110,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:47 report/models.py:209 +#: plugin/builtin/labels/label_sheet.py:47 report/models.py:308 msgid "Landscape" msgstr "" @@ -8176,11 +8126,11 @@ msgstr "" msgid "Arrays multiple labels onto a single sheet" msgstr "" -#: plugin/builtin/labels/label_sheet.py:94 +#: plugin/builtin/labels/label_sheet.py:99 msgid "Label is too large for page size" msgstr "" -#: plugin/builtin/labels/label_sheet.py:128 +#: plugin/builtin/labels/label_sheet.py:133 msgid "No labels were generated" msgstr "" @@ -8273,61 +8223,62 @@ msgstr "" msgid "Uninstalled plugin successfully" msgstr "" -#: plugin/models.py:30 +#: plugin/models.py:35 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:31 +#: plugin/models.py:36 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:34 users/models.py:100 +#: plugin/models.py:42 users/models.py:100 msgid "Key" msgstr "" -#: plugin/models.py:34 +#: plugin/models.py:43 msgid "Key of plugin" msgstr "" -#: plugin/models.py:42 +#: plugin/models.py:51 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:49 plugin/serializers.py:90 +#: plugin/models.py:58 plugin/serializers.py:90 msgid "Package Name" msgstr "" -#: plugin/models.py:51 +#: plugin/models.py:60 msgid "Name of the installed package, if the plugin was installed via PIP" msgstr "" -#: plugin/models.py:56 +#: plugin/models.py:65 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:147 templates/js/translated/table_filters.js:370 +#: plugin/models.py:156 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "" -#: plugin/models.py:156 +#: plugin/models.py:165 msgid "Sample plugin" msgstr "" -#: plugin/models.py:164 +#: plugin/models.py:173 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:172 +#: plugin/models.py:181 msgid "Package Plugin" msgstr "" -#: plugin/models.py:196 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:205 report/models.py:475 +#: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" msgstr "" -#: plugin/models.py:243 +#: plugin/models.py:252 msgid "Method" msgstr "" @@ -8468,239 +8419,323 @@ msgstr "" msgid "Delete the plugin configuration from the database" msgstr "" -#: report/api.py:158 +#: report/api.py:77 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:197 report/api.py:234 +#: report/api.py:89 report/serializers.py:53 +msgid "Model Type" +msgstr "" + +#: report/api.py:92 report/models.py:439 report/serializers.py:98 +#: report/serializers.py:148 templates/js/translated/purchase_order.js:1747 +#: templates/js/translated/return_order.js:353 +#: templates/js/translated/sales_order.js:887 +#: templates/js/translated/sales_order.js:1047 +msgid "Items" +msgstr "" + +#: report/api.py:168 +msgid "Plugin not found" +msgstr "" + +#: report/api.py:170 +msgid "Plugin is not active" +msgstr "" + +#: report/api.py:172 +msgid "Plugin does not support label printing" +msgstr "" + +#: report/api.py:221 +msgid "Invalid label dimensions" +msgstr "" + +#: report/api.py:236 report/api.py:316 +msgid "No valid items provided to template" +msgstr "" + +#: report/api.py:271 +msgid "Error printing label" +msgstr "" + +#: report/api.py:362 report/api.py:398 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:319 -msgid "Test report" -msgstr "" - -#: report/helpers.py:15 +#: report/helpers.py:41 msgid "A4" msgstr "A4" -#: report/helpers.py:16 +#: report/helpers.py:42 msgid "A3" msgstr "A3" -#: report/helpers.py:17 +#: report/helpers.py:43 msgid "Legal" msgstr "" -#: report/helpers.py:18 +#: report/helpers.py:44 msgid "Letter" msgstr "" -#: report/models.py:177 +#: report/models.py:118 +msgid "Template file with this name already exists" +msgstr "" + +#: report/models.py:150 msgid "Template name" msgstr "" -#: report/models.py:183 -msgid "Report template file" +#: report/models.py:156 +msgid "Template description" msgstr "" -#: report/models.py:190 -msgid "Report template description" +#: report/models.py:162 +msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:196 -msgid "Report revision number (auto-increments)" +#: report/models.py:202 +msgid "Filename Pattern" msgstr "" -#: report/models.py:204 +#: report/models.py:203 +msgid "Pattern for generating filenames" +msgstr "" + +#: report/models.py:208 +msgid "Template is enabled" +msgstr "" + +#: report/models.py:214 +msgid "Target model type for template" +msgstr "" + +#: report/models.py:234 +msgid "Filters" +msgstr "" + +#: report/models.py:235 +msgid "Template query filters (comma-separated list of key=value pairs)" +msgstr "" + +#: report/models.py:295 report/models.py:362 +msgid "Template file" +msgstr "" + +#: report/models.py:303 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:210 +#: report/models.py:309 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:318 -msgid "Pattern for generating report filenames" +#: report/models.py:368 +msgid "Width [mm]" msgstr "" -#: report/models.py:325 -msgid "Report template is enabled" +#: report/models.py:369 +msgid "Label width, specified in mm" msgstr "" -#: report/models.py:347 -msgid "StockItem query filters (comma-separated list of key=value pairs)" +#: report/models.py:375 +msgid "Height [mm]" msgstr "" -#: report/models.py:354 -msgid "Include Installed Tests" +#: report/models.py:376 +msgid "Label height, specified in mm" msgstr "" -#: report/models.py:356 -msgid "Include test results for stock items installed inside assembled item" +#: report/models.py:439 +msgid "Number of items to process" msgstr "" -#: report/models.py:424 -msgid "Build Filters" +#: report/models.py:445 +msgid "Report generation is complete" msgstr "" -#: report/models.py:425 -msgid "Build query filters (comma-separated list of key=value pairs" +#: report/models.py:449 templates/js/translated/build.js:2177 +msgid "Progress" msgstr "" -#: report/models.py:464 -msgid "Part Filters" +#: report/models.py:449 +msgid "Report generation progress" msgstr "" -#: report/models.py:465 -msgid "Part query filters (comma-separated list of key=value pairs" +#: report/models.py:457 +msgid "Report Template" msgstr "" -#: report/models.py:497 -msgid "Purchase order query filters" +#: report/models.py:464 report/models.py:487 +msgid "Output File" msgstr "" -#: report/models.py:533 -msgid "Sales order query filters" +#: report/models.py:465 report/models.py:488 +msgid "Generated output file" msgstr "" -#: report/models.py:569 -msgid "Return order query filters" +#: report/models.py:476 +msgid "Label output plugin" msgstr "" -#: report/models.py:641 -msgid "Snippet file with this name already exists" +#: report/models.py:480 +msgid "Label Template" msgstr "" -#: report/models.py:648 +#: report/models.py:503 msgid "Snippet" msgstr "" -#: report/models.py:649 +#: report/models.py:504 msgid "Report snippet file" msgstr "" -#: report/models.py:656 +#: report/models.py:511 msgid "Snippet file description" msgstr "" -#: report/models.py:714 -msgid "Asset file with this name already exists" -msgstr "" - -#: report/models.py:722 +#: report/models.py:529 msgid "Asset" msgstr "" -#: report/models.py:723 +#: report/models.py:530 msgid "Report asset file" msgstr "" -#: report/models.py:730 +#: report/models.py:537 msgid "Asset file description" msgstr "" -#: report/models.py:752 -msgid "stock location query filters (comma-separated list of key=value pairs)" +#: report/serializers.py:91 +msgid "Select report template" msgstr "" +#: report/serializers.py:99 report/serializers.py:149 +msgid "List of item primary keys to include in the report" +msgstr "" + +#: report/serializers.py:132 +msgid "Select label template" +msgstr "" + +#: report/serializers.py:140 +msgid "Printing Plugin" +msgstr "" + +#: report/serializers.py:141 +msgid "Select plugin to use for label printing" +msgstr "" + +#: report/templates/label/part_label.html:31 +#: report/templates/label/stockitem_qr.html:21 +#: report/templates/label/stocklocation_qr.html:20 +#: templates/allauth_2fa/setup.html:18 +msgid "QR Code" +msgstr "QR-kod" + +#: report/templates/label/part_label_code128.html:31 +#: report/templates/label/stocklocation_qr_and_text.html:31 +#: templates/qr_code.html:7 +msgid "QR code" +msgstr "QR-kod" + #: report/templates/report/inventree_bill_of_materials_report.html:133 msgid "Materials needed" msgstr "" -#: report/templates/report/inventree_build_order_base.html:146 +#: report/templates/report/inventree_build_order_report.html:146 msgid "Required For" msgstr "" -#: report/templates/report/inventree_po_report_base.html:15 +#: report/templates/report/inventree_purchase_order_report.html:15 msgid "Supplier was deleted" msgstr "" -#: report/templates/report/inventree_po_report_base.html:30 -#: report/templates/report/inventree_so_report_base.html:30 +#: report/templates/report/inventree_purchase_order_report.html:30 +#: report/templates/report/inventree_sales_order_report.html:30 #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:834 -#: templates/js/translated/purchase_order.js:2116 -#: templates/js/translated/sales_order.js:1837 +#: templates/js/translated/purchase_order.js:2115 +#: templates/js/translated/sales_order.js:1873 msgid "Unit Price" msgstr "" -#: report/templates/report/inventree_po_report_base.html:55 -#: report/templates/report/inventree_return_order_report_base.html:48 -#: report/templates/report/inventree_so_report_base.html:55 +#: report/templates/report/inventree_purchase_order_report.html:55 +#: report/templates/report/inventree_return_order_report.html:48 +#: report/templates/report/inventree_sales_order_report.html:55 msgid "Extra Line Items" 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:2018 -#: templates/js/translated/sales_order.js:1806 +#: report/templates/report/inventree_purchase_order_report.html:72 +#: report/templates/report/inventree_sales_order_report.html:72 +#: templates/js/translated/purchase_order.js:2017 +#: templates/js/translated/sales_order.js:1842 msgid "Total" msgstr "" -#: report/templates/report/inventree_return_order_report_base.html:25 -#: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:809 stock/templates/stock/item_base.html:311 +#: report/templates/report/inventree_return_order_report.html:25 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:830 +#: stock/serializers.py:150 stock/templates/stock/item_base.html:311 #: templates/js/translated/build.js:519 templates/js/translated/build.js:1367 #: templates/js/translated/build.js:2355 -#: templates/js/translated/model_renderers.js:224 -#: templates/js/translated/return_order.js:540 -#: templates/js/translated/return_order.js:724 +#: templates/js/translated/model_renderers.js:230 +#: templates/js/translated/return_order.js:539 +#: templates/js/translated/return_order.js:723 #: templates/js/translated/sales_order.js:315 -#: templates/js/translated/sales_order.js:1611 -#: templates/js/translated/sales_order.js:1696 +#: templates/js/translated/sales_order.js:1647 +#: templates/js/translated/sales_order.js:1732 #: templates/js/translated/stock.js:596 msgid "Serial Number" msgstr "Serienummer" -#: report/templates/report/inventree_slr_report.html:97 +#: report/templates/report/inventree_stock_location_report.html:97 msgid "Stock location items" msgstr "" -#: report/templates/report/inventree_test_report_base.html:21 +#: report/templates/report/inventree_test_report.html:21 msgid "Stock Item Test Report" msgstr "" -#: report/templates/report/inventree_test_report_base.html:97 +#: report/templates/report/inventree_test_report.html:97 msgid "Test Results" msgstr "" -#: report/templates/report/inventree_test_report_base.html:102 +#: report/templates/report/inventree_test_report.html:102 #: templates/js/translated/stock.js:1495 msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2442 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2419 msgid "Result" msgstr "" -#: report/templates/report/inventree_test_report_base.html:130 +#: report/templates/report/inventree_test_report.html:130 msgid "Pass" msgstr "" -#: report/templates/report/inventree_test_report_base.html:132 +#: report/templates/report/inventree_test_report.html:132 msgid "Fail" msgstr "" -#: report/templates/report/inventree_test_report_base.html:139 +#: report/templates/report/inventree_test_report.html:139 msgid "No result (required)" msgstr "" -#: report/templates/report/inventree_test_report_base.html:141 +#: report/templates/report/inventree_test_report.html:141 msgid "No result" msgstr "" -#: report/templates/report/inventree_test_report_base.html:154 +#: report/templates/report/inventree_test_report.html:154 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report_base.html:168 -#: stock/admin.py:162 templates/js/translated/stock.js:700 -#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3113 +#: report/templates/report/inventree_test_report.html:168 stock/admin.py:162 +#: templates/js/translated/stock.js:700 templates/js/translated/stock.js:871 +#: templates/js/translated/stock.js:3110 msgid "Serial" msgstr "" @@ -8757,7 +8792,7 @@ msgstr "Leverantörsnamn" msgid "Customer ID" msgstr "" -#: stock/admin.py:201 stock/models.py:789 +#: stock/admin.py:201 stock/models.py:810 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" @@ -8782,66 +8817,66 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:256 stock/models.py:883 +#: stock/admin.py:256 stock/models.py:904 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2232 users/models.py:124 +#: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" msgstr "" -#: stock/api.py:284 +#: stock/api.py:318 msgid "Filter by location depth" msgstr "" -#: stock/api.py:304 +#: stock/api.py:338 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:325 +#: stock/api.py:359 msgid "Parent Location" msgstr "" -#: stock/api.py:326 +#: stock/api.py:360 msgid "Filter by parent location" msgstr "" -#: stock/api.py:579 templates/js/translated/table_filters.js:427 +#: stock/api.py:613 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:767 +#: stock/api.py:801 msgid "Part Tree" msgstr "" -#: stock/api.py:797 +#: stock/api.py:831 msgid "Expiry date before" msgstr "" -#: stock/api.py:801 +#: stock/api.py:835 msgid "Expiry date after" msgstr "" -#: stock/api.py:804 stock/templates/stock/item_base.html:439 +#: stock/api.py:838 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:891 +#: stock/api.py:925 msgid "Quantity is required" msgstr "" -#: stock/api.py:897 +#: stock/api.py:931 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:928 +#: stock/api.py:962 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:938 +#: stock/api.py:972 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:969 +#: stock/api.py:1003 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8857,477 +8892,517 @@ msgstr "" msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:125 stock/models.py:771 +#: stock/models.py:127 stock/models.py:792 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:126 stock/templates/stock/location.html:179 +#: stock/models.py:128 stock/templates/stock/location.html:186 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "" -#: stock/models.py:158 stock/models.py:932 +#: stock/models.py:170 stock/models.py:953 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:159 stock/models.py:933 +#: stock/models.py:171 stock/models.py:954 msgid "Select Owner" msgstr "" -#: stock/models.py:167 +#: stock/models.py:179 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:174 templates/js/translated/stock.js:2784 +#: stock/models.py:186 templates/js/translated/stock.js:2781 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "" -#: stock/models.py:175 +#: stock/models.py:187 msgid "This is an external stock location" msgstr "" -#: stock/models.py:181 templates/js/translated/stock.js:2793 +#: stock/models.py:193 templates/js/translated/stock.js:2790 #: templates/js/translated/table_filters.js:246 msgid "Location type" msgstr "" -#: stock/models.py:185 +#: stock/models.py:197 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:254 +#: stock/models.py:266 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:626 +#: stock/models.py:647 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:653 stock/serializers.py:290 +#: stock/models.py:674 stock/serializers.py:419 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:670 +#: stock/models.py:691 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:680 stock/models.py:693 +#: stock/models.py:701 stock/models.py:714 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:683 +#: stock/models.py:704 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:707 +#: stock/models.py:728 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:712 +#: stock/models.py:733 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:725 +#: stock/models.py:746 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:741 +#: stock/models.py:762 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:753 +#: stock/models.py:774 msgid "Base part" msgstr "" -#: stock/models.py:763 +#: stock/models.py:784 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:775 +#: stock/models.py:796 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:783 stock/serializers.py:1351 +#: stock/models.py:804 stock/serializers.py:1480 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:794 +#: stock/models.py:815 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:813 +#: stock/models.py:834 msgid "Serial number for this item" msgstr "" -#: stock/models.py:827 stock/serializers.py:1334 +#: stock/models.py:848 stock/serializers.py:1463 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:832 +#: stock/models.py:853 msgid "Stock Quantity" msgstr "" -#: stock/models.py:842 +#: stock/models.py:863 msgid "Source Build" msgstr "" -#: stock/models.py:845 +#: stock/models.py:866 msgid "Build for this stock item" msgstr "" -#: stock/models.py:852 stock/templates/stock/item_base.html:363 +#: stock/models.py:873 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:855 +#: stock/models.py:876 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:864 +#: stock/models.py:885 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:868 +#: stock/models.py:889 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:874 +#: stock/models.py:895 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:885 +#: stock/models.py:906 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:903 +#: stock/models.py:924 msgid "Delete on deplete" msgstr "" -#: stock/models.py:904 +#: stock/models.py:925 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:924 +#: stock/models.py:945 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:955 +#: stock/models.py:976 msgid "Converted to part" msgstr "" -#: stock/models.py:1473 +#: stock/models.py:1494 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1479 +#: stock/models.py:1500 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1487 +#: stock/models.py:1508 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1493 +#: stock/models.py:1514 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1498 +#: stock/models.py:1519 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1506 stock/serializers.py:529 +#: stock/models.py:1527 stock/serializers.py:658 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1603 +#: stock/models.py:1624 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1621 +#: stock/models.py:1642 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1625 +#: stock/models.py:1646 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1628 +#: stock/models.py:1649 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1631 +#: stock/models.py:1652 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1634 +#: stock/models.py:1655 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1637 +#: stock/models.py:1658 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1644 stock/serializers.py:1240 +#: stock/models.py:1665 stock/serializers.py:1369 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1648 +#: stock/models.py:1669 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1656 +#: stock/models.py:1677 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1661 +#: stock/models.py:1682 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1882 +#: stock/models.py:1903 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2345 +#: stock/models.py:2322 msgid "Entry notes" msgstr "" -#: stock/models.py:2410 +#: stock/models.py:2387 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2415 +#: stock/models.py:2392 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2442 +#: stock/models.py:2419 msgid "Test result" msgstr "" -#: stock/models.py:2449 +#: stock/models.py:2426 msgid "Test output value" msgstr "" -#: stock/models.py:2457 +#: stock/models.py:2434 msgid "Test result attachment" msgstr "" -#: stock/models.py:2461 +#: stock/models.py:2438 msgid "Test notes" msgstr "" -#: stock/models.py:2469 templates/js/translated/stock.js:1548 +#: stock/models.py:2446 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "" -#: stock/models.py:2470 +#: stock/models.py:2447 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2476 +#: stock/models.py:2453 msgid "Started" msgstr "" -#: stock/models.py:2477 +#: stock/models.py:2454 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2483 +#: stock/models.py:2460 msgid "Finished" msgstr "" -#: stock/models.py:2484 +#: stock/models.py:2461 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:100 +#: stock/serializers.py:75 +msgid "Generated batch code" +msgstr "" + +#: stock/serializers.py:84 +msgid "Select build order" +msgstr "" + +#: stock/serializers.py:93 +msgid "Select stock item to generate batch code for" +msgstr "" + +#: stock/serializers.py:102 +msgid "Select location to generate batch code for" +msgstr "" + +#: stock/serializers.py:111 +msgid "Select part to generate batch code for" +msgstr "" + +#: stock/serializers.py:120 +msgid "Select purchase order" +msgstr "" + +#: stock/serializers.py:127 +msgid "Enter quantity for batch code" +msgstr "" + +#: stock/serializers.py:150 +msgid "Generated serial number" +msgstr "" + +#: stock/serializers.py:159 +msgid "Select part to generate serial number for" +msgstr "" + +#: stock/serializers.py:167 +msgid "Quantity of serial numbers to generate" +msgstr "" + +#: stock/serializers.py:229 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:119 +#: stock/serializers.py:248 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:151 +#: stock/serializers.py:280 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:184 +#: stock/serializers.py:313 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:282 +#: stock/serializers.py:411 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:402 +#: stock/serializers.py:531 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:464 +#: stock/serializers.py:593 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:477 +#: stock/serializers.py:606 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:484 +#: stock/serializers.py:613 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:495 stock/serializers.py:1197 stock/serializers.py:1453 +#: stock/serializers.py:624 stock/serializers.py:1326 stock/serializers.py:1582 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:502 +#: stock/serializers.py:631 msgid "Optional note field" msgstr "" -#: stock/serializers.py:512 +#: stock/serializers.py:641 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:567 +#: stock/serializers.py:696 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:574 +#: stock/serializers.py:703 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:575 +#: stock/serializers.py:704 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:580 stock/serializers.py:660 stock/serializers.py:756 -#: stock/serializers.py:806 +#: stock/serializers.py:709 stock/serializers.py:789 stock/serializers.py:885 +#: stock/serializers.py:935 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:588 +#: stock/serializers.py:717 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:596 +#: stock/serializers.py:725 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:607 +#: stock/serializers.py:736 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:620 +#: stock/serializers.py:749 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:655 +#: stock/serializers.py:784 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:690 +#: stock/serializers.py:819 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:703 +#: stock/serializers.py:832 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:720 +#: stock/serializers.py:849 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:751 +#: stock/serializers.py:880 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:788 +#: stock/serializers.py:917 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:794 +#: stock/serializers.py:923 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:890 stock/serializers.py:953 +#: stock/serializers.py:1019 stock/serializers.py:1082 #: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:213 +#: stock/templates/stock/location.html:220 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1069 +#: stock/serializers.py:1198 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1073 +#: stock/serializers.py:1202 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1077 +#: stock/serializers.py:1206 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1101 +#: stock/serializers.py:1230 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1107 +#: stock/serializers.py:1236 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1115 +#: stock/serializers.py:1244 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1125 stock/serializers.py:1379 +#: stock/serializers.py:1254 stock/serializers.py:1508 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1204 +#: stock/serializers.py:1333 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1209 +#: stock/serializers.py:1338 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1210 +#: stock/serializers.py:1339 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1215 +#: stock/serializers.py:1344 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1216 +#: stock/serializers.py:1345 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1226 +#: stock/serializers.py:1355 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1293 +#: stock/serializers.py:1422 msgid "No Change" msgstr "" -#: stock/serializers.py:1322 +#: stock/serializers.py:1451 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1341 +#: stock/serializers.py:1470 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1369 +#: stock/serializers.py:1498 msgid "Stock transaction notes" msgstr "" @@ -9352,7 +9427,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:286 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:282 msgid "Delete Test Data" msgstr "" @@ -9368,15 +9443,15 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3274 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3271 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:274 +#: stock/templates/stock/item.html:270 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:304 templates/js/translated/stock.js:1701 +#: stock/templates/stock/item.html:300 templates/js/translated/stock.js:1701 msgid "Add Test Result" msgstr "" @@ -9561,40 +9636,40 @@ msgstr "" msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:507 -#: templates/js/translated/stock.js:1954 +#: stock/templates/stock/item_base.html:504 +#: templates/js/translated/stock.js:1952 msgid "stock item" msgstr "" -#: stock/templates/stock/item_base.html:532 +#: stock/templates/stock/item_base.html:527 msgid "Edit Stock Status" msgstr "Redigera lagerstatus" -#: stock/templates/stock/item_base.html:541 +#: stock/templates/stock/item_base.html:536 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:552 +#: stock/templates/stock/item_base.html:547 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:616 +#: stock/templates/stock/item_base.html:611 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:619 +#: stock/templates/stock/item_base.html:614 msgid "Warning" msgstr "Varning" -#: stock/templates/stock/item_base.html:620 +#: stock/templates/stock/item_base.html:615 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:628 +#: stock/templates/stock/item_base.html:623 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:662 +#: stock/templates/stock/item_base.html:657 msgid "Return to Stock" msgstr "" @@ -9658,28 +9733,32 @@ msgstr "" msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:217 +#: stock/templates/stock/location.html:176 +msgid "Location Type" +msgstr "" + +#: stock/templates/stock/location.html:224 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:218 +#: stock/templates/stock/location.html:225 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:287 -#: templates/js/translated/stock.js:2575 +#: stock/templates/stock/location.html:295 +#: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:315 +#: stock/templates/stock/location.html:317 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:388 +#: stock/templates/stock/location.html:390 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:399 +#: stock/templates/stock/location.html:401 msgid "Link Barcode to Stock Location" msgstr "" @@ -9949,11 +10028,11 @@ msgstr "" msgid "Part Settings" msgstr "" -#: templates/InvenTree/settings/part.html:42 +#: templates/InvenTree/settings/part.html:43 msgid "Part Import" msgstr "" -#: templates/InvenTree/settings/part.html:46 +#: templates/InvenTree/settings/part.html:47 msgid "Import Part" msgstr "" @@ -10174,7 +10253,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:424 +#: templates/js/translated/stock.js:245 users/models.py:411 msgid "Delete" msgstr "Radera" @@ -10283,7 +10362,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2159 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2163 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" @@ -10874,7 +10953,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3218 +#: templates/js/translated/part.js:3217 msgid "Minimum Quantity" msgstr "" @@ -11254,7 +11333,7 @@ msgid "External stock" msgstr "" #: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2595 -#: templates/js/translated/sales_order.js:1910 +#: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" @@ -11264,7 +11343,7 @@ msgstr "" #: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 #: templates/js/translated/part.js:1256 -#: templates/js/translated/sales_order.js:1907 +#: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" @@ -11519,17 +11598,17 @@ msgstr "" #: templates/js/translated/build.js:1576 #: templates/js/translated/purchase_order.js:611 -#: templates/js/translated/sales_order.js:1171 +#: templates/js/translated/sales_order.js:1207 msgid "Select Parts" msgstr "" #: templates/js/translated/build.js:1577 -#: templates/js/translated/sales_order.js:1172 +#: templates/js/translated/sales_order.js:1208 msgid "You must select at least one part to allocate" msgstr "" #: templates/js/translated/build.js:1640 -#: templates/js/translated/sales_order.js:1121 +#: templates/js/translated/sales_order.js:1157 msgid "Specify stock allocation quantity" msgstr "" @@ -11542,7 +11621,7 @@ msgid "All selected parts have been fully allocated" msgstr "" #: templates/js/translated/build.js:1732 -#: templates/js/translated/sales_order.js:1186 +#: templates/js/translated/sales_order.js:1222 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -11551,12 +11630,12 @@ msgid "Allocate Stock Items to Build Order" msgstr "" #: templates/js/translated/build.js:1771 -#: templates/js/translated/sales_order.js:1283 +#: templates/js/translated/sales_order.js:1319 msgid "No matching stock locations" msgstr "" #: templates/js/translated/build.js:1844 -#: templates/js/translated/sales_order.js:1362 +#: templates/js/translated/sales_order.js:1398 msgid "No matching stock items" msgstr "" @@ -11589,9 +11668,9 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 -#: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 -#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 -#: templates/js/translated/stock.js:1985 templates/js/translated/stock.js:2713 +#: templates/js/translated/forms.js:2159 templates/js/translated/forms.js:2175 +#: templates/js/translated/part.js:2315 templates/js/translated/part.js:2741 +#: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "" @@ -11599,21 +11678,17 @@ msgstr "" msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2177 -msgid "Progress" -msgstr "" - -#: templates/js/translated/build.js:2213 templates/js/translated/stock.js:3045 +#: templates/js/translated/build.js:2213 templates/js/translated/stock.js:3042 msgid "No user information" msgstr "" #: templates/js/translated/build.js:2389 -#: templates/js/translated/sales_order.js:1646 +#: templates/js/translated/sales_order.js:1682 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:2390 -#: templates/js/translated/sales_order.js:1647 +#: templates/js/translated/sales_order.js:1683 msgid "Delete stock allocation" msgstr "" @@ -11647,7 +11722,7 @@ msgid "Unit Quantity" msgstr "" #: templates/js/translated/build.js:2591 -#: templates/js/translated/sales_order.js:1915 +#: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" @@ -11664,7 +11739,7 @@ msgid "Allocate tracked items against individual build outputs" msgstr "" #: templates/js/translated/build.js:2662 -#: templates/js/translated/sales_order.js:2016 +#: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "" @@ -11673,7 +11748,7 @@ msgid "Order stock" msgstr "" #: templates/js/translated/build.js:2671 -#: templates/js/translated/sales_order.js:2010 +#: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "" @@ -11923,12 +11998,12 @@ msgid "Delete price break" msgstr "" #: templates/js/translated/filters.js:186 -#: templates/js/translated/filters.js:672 +#: templates/js/translated/filters.js:667 msgid "true" msgstr "" #: templates/js/translated/filters.js:190 -#: templates/js/translated/filters.js:673 +#: templates/js/translated/filters.js:668 msgid "false" msgstr "" @@ -11960,7 +12035,7 @@ msgstr "Lägg till nytt filter" msgid "Clear all filters" msgstr "Rensa alla filter" -#: templates/js/translated/filters.js:582 +#: templates/js/translated/filters.js:577 msgid "Create filter" msgstr "Skapa filter" @@ -11993,32 +12068,32 @@ msgstr "" msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1473 templates/modals.html:19 +#: templates/js/translated/forms.js:1477 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1971 +#: templates/js/translated/forms.js:1975 msgid "No results found" msgstr "Inga resultat hittades" -#: templates/js/translated/forms.js:2275 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2279 templates/js/translated/search.js:239 msgid "Searching" msgstr "Söker" -#: templates/js/translated/forms.js:2489 +#: templates/js/translated/forms.js:2493 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3091 +#: templates/js/translated/forms.js:3095 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3091 +#: templates/js/translated/forms.js:3095 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3103 +#: templates/js/translated/forms.js:3107 msgid "Select Columns" msgstr "" @@ -12042,51 +12117,15 @@ msgstr "" msgid "No parts required for builds" msgstr "" -#: templates/js/translated/label.js:53 templates/js/translated/report.js:123 +#: templates/js/translated/label.js:55 templates/js/translated/report.js:38 msgid "Select Items" msgstr "" -#: templates/js/translated/label.js:54 +#: templates/js/translated/label.js:56 templates/js/translated/report.js:39 msgid "No items selected for printing" msgstr "" -#: templates/js/translated/label.js:72 -msgid "No Labels Found" -msgstr "Inga etiketter hittades" - -#: templates/js/translated/label.js:73 -msgid "No label templates found which match the selected items" -msgstr "" - -#: templates/js/translated/label.js:97 -msgid "selected" -msgstr "" - -#: templates/js/translated/label.js:133 -msgid "Printing Options" -msgstr "" - -#: templates/js/translated/label.js:148 -msgid "Print label" -msgstr "Skriv ut etikett" - -#: templates/js/translated/label.js:148 -msgid "Print labels" -msgstr "Skriv ut etiketter" - #: templates/js/translated/label.js:149 -msgid "Print" -msgstr "Skriv ut" - -#: templates/js/translated/label.js:155 -msgid "Select label template" -msgstr "" - -#: templates/js/translated/label.js:168 -msgid "Select plugin" -msgstr "" - -#: templates/js/translated/label.js:187 msgid "Labels sent to printer" msgstr "" @@ -12204,7 +12243,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1991 +#: templates/js/translated/purchase_order.js:1990 msgid "No line items found" msgstr "" @@ -12442,19 +12481,19 @@ msgid "Delete Part Parameter Template" msgstr "" #: templates/js/translated/part.js:1716 -#: templates/js/translated/purchase_order.js:1655 +#: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1860 -#: templates/js/translated/purchase_order.js:2154 -#: templates/js/translated/return_order.js:756 -#: templates/js/translated/sales_order.js:1875 +#: templates/js/translated/purchase_order.js:2153 +#: templates/js/translated/return_order.js:755 +#: templates/js/translated/sales_order.js:1911 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1906 -#: templates/js/translated/purchase_order.js:2221 +#: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "" @@ -12466,7 +12505,7 @@ msgstr "" msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2506 +#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2505 msgid "No parts found" msgstr "" @@ -12482,101 +12521,101 @@ msgstr "" msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2286 msgid "part" msgstr "" -#: templates/js/translated/part.js:2288 +#: templates/js/translated/part.js:2287 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2384 +#: templates/js/translated/part.js:2383 msgid "No category" msgstr "Ingen kategori" -#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 -#: templates/js/translated/stock.js:2672 +#: templates/js/translated/part.js:2530 templates/js/translated/part.js:2660 +#: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "Visa som lista" -#: templates/js/translated/part.js:2547 +#: templates/js/translated/part.js:2546 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2645 +#: templates/js/translated/part.js:2644 msgid "No subcategories found" msgstr "Inga underkategorier hittades" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2692 +#: templates/js/translated/part.js:2680 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2761 +#: templates/js/translated/part.js:2760 msgid "Load Subcategories" msgstr "Ladda underkategorier" -#: templates/js/translated/part.js:2777 +#: templates/js/translated/part.js:2776 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2864 +#: templates/js/translated/part.js:2863 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2886 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2885 templates/js/translated/search.js:342 msgid "results" msgstr "resultat" -#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2935 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2941 +#: templates/js/translated/part.js:2940 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2957 +#: templates/js/translated/part.js:2956 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2971 +#: templates/js/translated/part.js:2970 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3050 templates/js/translated/part.js:3051 +#: templates/js/translated/part.js:3049 templates/js/translated/part.js:3050 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3053 +#: templates/js/translated/part.js:3052 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3059 +#: templates/js/translated/part.js:3058 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3109 +#: templates/js/translated/part.js:3108 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3115 +#: templates/js/translated/part.js:3114 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3211 +#: templates/js/translated/part.js:3210 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3227 +#: templates/js/translated/part.js:3226 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3272 +#: templates/js/translated/part.js:3271 msgid "Minimum Stock Level" msgstr "" @@ -12702,7 +12741,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:448 #: templates/js/translated/return_order.js:210 -#: templates/js/translated/sales_order.js:500 +#: templates/js/translated/sales_order.js:552 msgid "Mark this order as complete?" msgstr "" @@ -12715,7 +12754,6 @@ msgid "This order has line items which have not been marked as received." msgstr "" #: templates/js/translated/purchase_order.js:460 -#: templates/js/translated/sales_order.js:514 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" @@ -12773,12 +12811,12 @@ msgid "No matching purchase orders" msgstr "" #: templates/js/translated/purchase_order.js:1073 -#: templates/js/translated/return_order.js:491 +#: templates/js/translated/return_order.js:490 msgid "Select Line Items" msgstr "" #: templates/js/translated/purchase_order.js:1074 -#: templates/js/translated/return_order.js:492 +#: templates/js/translated/return_order.js:491 msgid "At least one line item must be selected" msgstr "" @@ -12827,7 +12865,7 @@ msgid "Quantity to Receive" msgstr "" #: templates/js/translated/purchase_order.js:1333 -#: templates/js/translated/return_order.js:561 +#: templates/js/translated/return_order.js:560 msgid "Confirm receipt of items" msgstr "" @@ -12847,81 +12885,66 @@ msgstr "" msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1682 -#: templates/js/translated/return_order.js:286 -#: templates/js/translated/sales_order.js:774 -#: templates/js/translated/sales_order.js:998 +#: templates/js/translated/purchase_order.js:1681 +#: templates/js/translated/return_order.js:285 +#: templates/js/translated/sales_order.js:810 +#: templates/js/translated/sales_order.js:1034 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1748 -#: templates/js/translated/return_order.js:354 -#: templates/js/translated/sales_order.js:851 -#: templates/js/translated/sales_order.js:1011 -msgid "Items" -msgstr "" - -#: templates/js/translated/purchase_order.js:1844 +#: templates/js/translated/purchase_order.js:1843 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1862 +#: templates/js/translated/purchase_order.js:1861 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1917 -#: templates/js/translated/sales_order.js:2070 +#: templates/js/translated/purchase_order.js:1916 +#: templates/js/translated/sales_order.js:2106 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1932 -#: templates/js/translated/return_order.js:476 -#: templates/js/translated/return_order.js:669 -#: templates/js/translated/sales_order.js:2083 +#: templates/js/translated/purchase_order.js:1931 +#: templates/js/translated/return_order.js:475 +#: templates/js/translated/return_order.js:668 +#: templates/js/translated/sales_order.js:2119 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1943 -#: templates/js/translated/return_order.js:682 -#: templates/js/translated/sales_order.js:2094 +#: templates/js/translated/purchase_order.js:1942 +#: templates/js/translated/return_order.js:681 +#: templates/js/translated/sales_order.js:2130 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2225 -#: templates/js/translated/sales_order.js:2024 +#: templates/js/translated/purchase_order.js:2224 +#: templates/js/translated/sales_order.js:2060 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2226 -#: templates/js/translated/return_order.js:801 -#: templates/js/translated/sales_order.js:2025 +#: templates/js/translated/purchase_order.js:2225 +#: templates/js/translated/return_order.js:800 +#: templates/js/translated/sales_order.js:2061 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2227 -#: templates/js/translated/return_order.js:805 -#: templates/js/translated/sales_order.js:2031 +#: templates/js/translated/purchase_order.js:2226 +#: templates/js/translated/return_order.js:804 +#: templates/js/translated/sales_order.js:2067 msgid "Delete line item" msgstr "" -#: templates/js/translated/report.js:63 -msgid "items selected" +#: templates/js/translated/report.js:49 +msgid "Print Report" msgstr "" -#: templates/js/translated/report.js:71 -msgid "Select Report Template" +#: templates/js/translated/report.js:68 +msgid "Report print successful" msgstr "" -#: templates/js/translated/report.js:86 -msgid "Select Test Report Template" -msgstr "" - -#: templates/js/translated/report.js:140 -msgid "No Reports Found" -msgstr "Inga rapporter hittades" - -#: templates/js/translated/report.js:141 -msgid "No report templates found which match the selected items" +#: templates/js/translated/report.js:73 +msgid "Report printing failed" msgstr "" #: templates/js/translated/return_order.js:60 @@ -12953,25 +12976,25 @@ msgstr "" msgid "Complete Return Order" msgstr "" -#: templates/js/translated/return_order.js:266 +#: templates/js/translated/return_order.js:265 msgid "No return orders found" msgstr "" -#: templates/js/translated/return_order.js:300 -#: templates/js/translated/sales_order.js:788 +#: templates/js/translated/return_order.js:299 +#: templates/js/translated/sales_order.js:824 msgid "Invalid Customer" msgstr "Ogiltig kund" -#: templates/js/translated/return_order.js:562 +#: templates/js/translated/return_order.js:561 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:693 -#: templates/js/translated/sales_order.js:2231 +#: templates/js/translated/return_order.js:692 +#: templates/js/translated/sales_order.js:2267 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:798 +#: templates/js/translated/return_order.js:797 msgid "Mark item as received" msgstr "" @@ -13015,140 +13038,156 @@ msgstr "" msgid "Skip" msgstr "" +#: templates/js/translated/sales_order.js:484 +msgid "Ship Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:500 +msgid "Ship this order?" +msgstr "" + +#: templates/js/translated/sales_order.js:506 +msgid "Order cannot be shipped as there are incomplete shipments" +msgstr "" + #: templates/js/translated/sales_order.js:513 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/sales_order.js:535 +#: templates/js/translated/sales_order.js:514 +msgid "Shipping this order means that the order and line items will no longer be editable." +msgstr "" + +#: templates/js/translated/sales_order.js:572 msgid "Issue this Sales Order?" msgstr "" -#: templates/js/translated/sales_order.js:540 +#: templates/js/translated/sales_order.js:577 msgid "Issue Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:559 +#: templates/js/translated/sales_order.js:596 msgid "Cancel Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:564 +#: templates/js/translated/sales_order.js:601 msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: templates/js/translated/sales_order.js:618 +#: templates/js/translated/sales_order.js:655 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/sales_order.js:728 +#: templates/js/translated/sales_order.js:764 msgid "No sales orders found" msgstr "" -#: templates/js/translated/sales_order.js:908 +#: templates/js/translated/sales_order.js:944 msgid "Edit shipment" msgstr "" -#: templates/js/translated/sales_order.js:911 +#: templates/js/translated/sales_order.js:947 msgid "Complete shipment" msgstr "" -#: templates/js/translated/sales_order.js:916 +#: templates/js/translated/sales_order.js:952 msgid "Delete shipment" msgstr "" -#: templates/js/translated/sales_order.js:933 +#: templates/js/translated/sales_order.js:969 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/sales_order.js:948 +#: templates/js/translated/sales_order.js:984 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:981 +#: templates/js/translated/sales_order.js:1017 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/sales_order.js:1006 +#: templates/js/translated/sales_order.js:1042 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/sales_order.js:1030 -#: templates/js/translated/sales_order.js:1529 +#: templates/js/translated/sales_order.js:1066 +#: templates/js/translated/sales_order.js:1565 msgid "Not shipped" msgstr "" -#: templates/js/translated/sales_order.js:1048 +#: templates/js/translated/sales_order.js:1084 msgid "Tracking" msgstr "" -#: templates/js/translated/sales_order.js:1052 +#: templates/js/translated/sales_order.js:1088 msgid "Invoice" msgstr "Faktura" -#: templates/js/translated/sales_order.js:1219 +#: templates/js/translated/sales_order.js:1255 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1270 +#: templates/js/translated/sales_order.js:1306 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/sales_order.js:1271 +#: templates/js/translated/sales_order.js:1307 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1477 +#: templates/js/translated/sales_order.js:1513 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1569 +#: templates/js/translated/sales_order.js:1605 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1583 +#: templates/js/translated/sales_order.js:1619 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/sales_order.js:1584 +#: templates/js/translated/sales_order.js:1620 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1623 -#: templates/js/translated/sales_order.js:1710 +#: templates/js/translated/sales_order.js:1659 +#: templates/js/translated/sales_order.js:1746 #: templates/js/translated/stock.js:1776 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/sales_order.js:1631 -#: templates/js/translated/sales_order.js:1719 +#: templates/js/translated/sales_order.js:1667 +#: templates/js/translated/sales_order.js:1755 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:2008 +#: templates/js/translated/sales_order.js:2044 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/sales_order.js:2012 +#: templates/js/translated/sales_order.js:2048 msgid "Purchase stock" msgstr "" -#: templates/js/translated/sales_order.js:2021 -#: templates/js/translated/sales_order.js:2209 +#: templates/js/translated/sales_order.js:2057 +#: templates/js/translated/sales_order.js:2245 msgid "Calculate price" msgstr "" -#: templates/js/translated/sales_order.js:2035 +#: templates/js/translated/sales_order.js:2071 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:2038 +#: templates/js/translated/sales_order.js:2074 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:2109 +#: templates/js/translated/sales_order.js:2145 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/sales_order.js:2217 +#: templates/js/translated/sales_order.js:2253 msgid "Update Unit Price" msgstr "" @@ -13356,7 +13395,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1042 users/models.py:414 +#: templates/js/translated/stock.js:1042 users/models.py:401 msgid "Add" msgstr "Lägg till" @@ -13372,7 +13411,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1180 templates/js/translated/stock.js:3302 +#: templates/js/translated/stock.js:1180 templates/js/translated/stock.js:3299 msgid "Select Stock Items" msgstr "" @@ -13456,196 +13495,196 @@ msgstr "" msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:1955 +#: templates/js/translated/stock.js:1953 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1960 +#: templates/js/translated/stock.js:1958 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:1971 +#: templates/js/translated/stock.js:1969 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:2015 +#: templates/js/translated/stock.js:2013 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2093 +#: templates/js/translated/stock.js:2091 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2098 +#: templates/js/translated/stock.js:2096 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2101 +#: templates/js/translated/stock.js:2099 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2104 +#: templates/js/translated/stock.js:2102 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2106 +#: templates/js/translated/stock.js:2104 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2108 +#: templates/js/translated/stock.js:2106 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2111 +#: templates/js/translated/stock.js:2109 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2113 +#: templates/js/translated/stock.js:2111 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2117 +#: templates/js/translated/stock.js:2115 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2119 +#: templates/js/translated/stock.js:2117 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2124 +#: templates/js/translated/stock.js:2122 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2126 +#: templates/js/translated/stock.js:2124 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2128 +#: templates/js/translated/stock.js:2126 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2132 +#: templates/js/translated/stock.js:2130 #: templates/js/translated/table_filters.js:350 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2297 +#: templates/js/translated/stock.js:2295 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2344 +#: templates/js/translated/stock.js:2342 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2472 +#: templates/js/translated/stock.js:2470 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2576 +#: templates/js/translated/stock.js:2573 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2731 +#: templates/js/translated/stock.js:2728 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2849 +#: templates/js/translated/stock.js:2846 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2853 +#: templates/js/translated/stock.js:2850 msgid "No changes" msgstr "Inga ändringar" -#: templates/js/translated/stock.js:2865 +#: templates/js/translated/stock.js:2862 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2887 +#: templates/js/translated/stock.js:2884 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2904 +#: templates/js/translated/stock.js:2901 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2919 +#: templates/js/translated/stock.js:2916 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2936 +#: templates/js/translated/stock.js:2933 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:2950 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2972 +#: templates/js/translated/stock.js:2969 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2990 +#: templates/js/translated/stock.js:2987 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:3008 +#: templates/js/translated/stock.js:3005 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:3016 +#: templates/js/translated/stock.js:3013 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3088 +#: templates/js/translated/stock.js:3085 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3142 templates/js/translated/stock.js:3178 +#: templates/js/translated/stock.js:3139 templates/js/translated/stock.js:3175 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3200 +#: templates/js/translated/stock.js:3197 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3221 +#: templates/js/translated/stock.js:3218 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3222 +#: templates/js/translated/stock.js:3219 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3224 +#: templates/js/translated/stock.js:3221 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3225 +#: templates/js/translated/stock.js:3222 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3226 +#: templates/js/translated/stock.js:3223 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3227 +#: templates/js/translated/stock.js:3224 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3240 +#: templates/js/translated/stock.js:3237 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3303 +#: templates/js/translated/stock.js:3300 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3316 +#: templates/js/translated/stock.js:3313 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3320 +#: templates/js/translated/stock.js:3317 msgid "Change Stock Status" msgstr "" @@ -14247,34 +14286,35 @@ msgstr "" msgid "Revoked" msgstr "" -#: users/models.py:397 +#: users/models.py:384 msgid "Permission set" msgstr "" -#: users/models.py:406 +#: users/models.py:393 msgid "Group" msgstr "" -#: users/models.py:410 +#: users/models.py:397 msgid "View" msgstr "" -#: users/models.py:410 +#: users/models.py:397 msgid "Permission to view items" msgstr "" -#: users/models.py:414 +#: users/models.py:401 msgid "Permission to add items" msgstr "" -#: users/models.py:418 +#: users/models.py:405 msgid "Change" msgstr "" -#: users/models.py:420 +#: users/models.py:407 msgid "Permissions to edit items" msgstr "" -#: users/models.py:426 +#: users/models.py:413 msgid "Permission to delete items" msgstr "" + diff --git a/src/backend/InvenTree/locale/th/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/th/LC_MESSAGES/django.po index 18bbe1ee80..d6f76bc869 100644 --- a/src/backend/InvenTree/locale/th/LC_MESSAGES/django.po +++ b/src/backend/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: 2024-05-10 05:37+0000\n" -"PO-Revision-Date: 2024-05-10 08:31\n" +"POT-Creation-Date: 2024-05-23 11:25+0000\n" +"PO-Revision-Date: 2024-05-23 11:39\n" "Last-Translator: \n" "Language-Team: Thai\n" "Language: th_TH\n" @@ -17,11 +17,11 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 216\n" -#: InvenTree/api.py:271 +#: InvenTree/api.py:272 msgid "API endpoint not found" msgstr "ไม่พบ API endpoint" -#: InvenTree/api.py:535 +#: InvenTree/api.py:536 msgid "User does not have permission to view this model" msgstr "" @@ -56,26 +56,26 @@ msgstr "" msgid "Enter date" msgstr "ป้อนวันที่" -#: InvenTree/fields.py:208 InvenTree/models.py:1021 build/serializers.py:444 -#: build/serializers.py:522 build/templates/build/sidebar.html:21 +#: InvenTree/fields.py:208 InvenTree/models.py:1035 build/serializers.py:443 +#: build/serializers.py:521 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 -#: order/models.py:1283 order/templates/order/po_sidebar.html:11 +#: order/models.py:1323 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:59 -#: part/models.py:3175 part/templates/part/part_sidebar.html:63 -#: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:226 stock/models.py:2344 stock/models.py:2461 -#: stock/serializers.py:501 stock/serializers.py:659 stock/serializers.py:755 -#: stock/serializers.py:805 stock/serializers.py:1114 stock/serializers.py:1203 -#: stock/serializers.py:1368 stock/templates/stock/stock_sidebar.html:25 +#: part/models.py:3218 part/templates/part/part_sidebar.html:63 +#: report/templates/report/inventree_build_order_report.html:172 +#: stock/admin.py:226 stock/models.py:2321 stock/models.py:2438 +#: stock/serializers.py:630 stock/serializers.py:788 stock/serializers.py:884 +#: stock/serializers.py:934 stock/serializers.py:1243 stock/serializers.py:1332 +#: stock/serializers.py:1497 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1080 -#: templates/js/translated/purchase_order.js:2201 -#: templates/js/translated/return_order.js:776 -#: templates/js/translated/sales_order.js:1067 -#: templates/js/translated/sales_order.js:1982 -#: templates/js/translated/stock.js:1536 templates/js/translated/stock.js:2430 +#: templates/js/translated/purchase_order.js:2200 +#: templates/js/translated/return_order.js:775 +#: templates/js/translated/sales_order.js:1103 +#: templates/js/translated/sales_order.js:2018 +#: templates/js/translated/stock.js:1536 templates/js/translated/stock.js:2428 msgid "Notes" msgstr "หมายเหตุ" @@ -132,7 +132,7 @@ msgstr "" msgid "Registration is disabled." msgstr "" -#: InvenTree/helpers.py:525 order/models.py:541 order/models.py:743 +#: InvenTree/helpers.py:525 order/models.py:563 order/models.py:765 msgid "Invalid quantity provided" msgstr "ปริมาณสินค้าไม่ถูกต้อง" @@ -355,142 +355,142 @@ msgstr "อีเมล" msgid "Error running plugin validation" msgstr "" -#: InvenTree/models.py:162 +#: InvenTree/models.py:176 msgid "Metadata must be a python dict object" msgstr "" -#: InvenTree/models.py:168 +#: InvenTree/models.py:182 msgid "Plugin Metadata" msgstr "ข้อมูลเมตาของปลั๊กอิน" -#: InvenTree/models.py:169 +#: InvenTree/models.py:183 msgid "JSON metadata field, for use by external plugins" msgstr "" -#: InvenTree/models.py:399 +#: InvenTree/models.py:413 msgid "Improperly formatted pattern" msgstr "" -#: InvenTree/models.py:406 +#: InvenTree/models.py:420 msgid "Unknown format key specified" msgstr "" -#: InvenTree/models.py:412 +#: InvenTree/models.py:426 msgid "Missing required format key" msgstr "" -#: InvenTree/models.py:423 +#: InvenTree/models.py:437 msgid "Reference field cannot be empty" msgstr "" -#: InvenTree/models.py:431 +#: InvenTree/models.py:445 msgid "Reference must match required pattern" msgstr "" -#: InvenTree/models.py:462 +#: InvenTree/models.py:476 msgid "Reference number is too large" msgstr "" -#: InvenTree/models.py:536 +#: InvenTree/models.py:550 msgid "Missing file" msgstr "ไม่พบไฟล์" -#: InvenTree/models.py:537 +#: InvenTree/models.py:551 msgid "Missing external link" msgstr "" -#: InvenTree/models.py:558 stock/models.py:2456 +#: InvenTree/models.py:572 stock/models.py:2433 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" msgstr "ไฟล์แนบ" -#: InvenTree/models.py:559 +#: InvenTree/models.py:573 msgid "Select file to attach" msgstr "เลือกไฟล์ที่ต้องการแนบ" -#: InvenTree/models.py:567 common/models.py:3026 company/models.py:146 +#: InvenTree/models.py:581 common/models.py:3032 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 -#: order/models.py:291 order/models.py:1288 order/models.py:1704 -#: part/admin.py:55 part/models.py:919 +#: order/models.py:304 order/models.py:1328 order/models.py:1744 +#: part/admin.py:55 part/models.py:962 #: part/templates/part/part_scheduling.html:11 -#: report/templates/report/inventree_build_order_base.html:164 +#: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2456 -#: templates/js/translated/purchase_order.js:2041 -#: templates/js/translated/purchase_order.js:2205 -#: templates/js/translated/return_order.js:780 -#: templates/js/translated/sales_order.js:1056 -#: templates/js/translated/sales_order.js:1987 +#: templates/js/translated/part.js:2455 +#: templates/js/translated/purchase_order.js:2040 +#: templates/js/translated/purchase_order.js:2204 +#: templates/js/translated/return_order.js:779 +#: templates/js/translated/sales_order.js:1092 +#: templates/js/translated/sales_order.js:2023 msgid "Link" msgstr "ลิงก์" -#: InvenTree/models.py:568 build/models.py:321 part/models.py:920 -#: stock/models.py:819 +#: InvenTree/models.py:582 build/models.py:344 part/models.py:963 +#: stock/models.py:840 msgid "Link to external URL" msgstr "" -#: InvenTree/models.py:574 templates/js/translated/attachment.js:120 +#: InvenTree/models.py:588 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:341 msgid "Comment" msgstr "ความคิดเห็น" -#: InvenTree/models.py:575 +#: InvenTree/models.py:589 msgid "File comment" msgstr "ความเห็นของไฟล์" -#: InvenTree/models.py:583 InvenTree/models.py:584 common/models.py:2502 -#: common/models.py:2503 common/models.py:2727 common/models.py:2728 -#: common/models.py:2973 common/models.py:2974 part/models.py:3185 -#: part/models.py:3272 part/models.py:3365 part/models.py:3393 -#: plugin/models.py:250 plugin/models.py:251 -#: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3039 users/models.py:111 +#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2508 +#: common/models.py:2509 common/models.py:2733 common/models.py:2734 +#: common/models.py:2979 common/models.py:2980 part/models.py:3228 +#: part/models.py:3315 part/models.py:3408 part/models.py:3436 +#: plugin/models.py:259 plugin/models.py:260 +#: report/templates/report/inventree_test_report.html:105 +#: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" msgstr "ผู้ใช้งาน" -#: InvenTree/models.py:588 +#: InvenTree/models.py:602 msgid "upload date" msgstr "วันที่อัปโหลด" -#: InvenTree/models.py:610 +#: InvenTree/models.py:624 msgid "Filename must not be empty" msgstr "จำเป็นต้องใส่ชื่อไฟล์" -#: InvenTree/models.py:621 +#: InvenTree/models.py:635 msgid "Invalid attachment directory" msgstr "" -#: InvenTree/models.py:651 +#: InvenTree/models.py:665 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "ชื่อไฟล์ห้ามมีตัวอักษรต้องห้าม '{c}'" -#: InvenTree/models.py:654 +#: InvenTree/models.py:668 msgid "Filename missing extension" msgstr "ไม่พบนามสกุลของไฟล์" -#: InvenTree/models.py:663 +#: InvenTree/models.py:677 msgid "Attachment with this filename already exists" msgstr "" -#: InvenTree/models.py:670 +#: InvenTree/models.py:684 msgid "Error renaming file" msgstr "" -#: InvenTree/models.py:846 +#: InvenTree/models.py:860 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:863 +#: InvenTree/models.py:877 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:893 common/models.py:2714 common/models.py:3112 -#: common/serializers.py:403 company/models.py:614 label/models.py:120 -#: machine/models.py:24 part/models.py:855 part/models.py:3616 -#: plugin/models.py:41 report/models.py:176 stock/models.py:76 +#: InvenTree/models.py:907 common/models.py:2720 common/models.py:3118 +#: common/serializers.py:403 company/models.py:614 machine/models.py:24 +#: part/models.py:898 part/models.py:3659 plugin/models.py:50 +#: report/models.py:149 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -503,22 +503,22 @@ msgstr "" #: templates/js/translated/company.js:1165 #: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186 #: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2719 +#: templates/js/translated/part.js:2748 templates/js/translated/stock.js:2716 msgid "Name" msgstr "ชื่อ" -#: InvenTree/models.py:899 build/models.py:194 +#: InvenTree/models.py:913 build/models.py:217 #: build/templates/build/detail.html:24 common/models.py:136 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 label/models.py:127 -#: order/models.py:277 order/models.py:1316 part/admin.py:303 part/admin.py:414 -#: part/models.py:878 part/models.py:3631 part/templates/part/category.html:82 +#: company/templates/company/supplier_part.html:107 order/models.py:290 +#: order/models.py:1356 part/admin.py:305 part/admin.py:416 part/models.py:921 +#: part/models.py:3674 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 -#: part/templates/part/part_scheduling.html:12 report/models.py:189 -#: report/models.py:655 report/models.py:729 -#: report/templates/report/inventree_build_order_base.html:117 +#: part/templates/part/part_scheduling.html:12 report/models.py:155 +#: report/models.py:510 report/models.py:536 +#: report/templates/report/inventree_build_order_report.html:117 #: stock/admin.py:55 stock/models.py:82 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 @@ -530,71 +530,71 @@ msgstr "ชื่อ" #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 -#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2896 +#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2354 +#: templates/js/translated/part.js:2784 templates/js/translated/part.js:2895 #: templates/js/translated/plugin.js:80 -#: templates/js/translated/purchase_order.js:1707 -#: templates/js/translated/purchase_order.js:1850 -#: templates/js/translated/purchase_order.js:2023 -#: templates/js/translated/return_order.js:314 -#: templates/js/translated/sales_order.js:802 -#: templates/js/translated/sales_order.js:1812 -#: templates/js/translated/stock.js:1515 templates/js/translated/stock.js:2060 -#: templates/js/translated/stock.js:2751 templates/js/translated/stock.js:2834 +#: templates/js/translated/purchase_order.js:1706 +#: templates/js/translated/purchase_order.js:1849 +#: templates/js/translated/purchase_order.js:2022 +#: templates/js/translated/return_order.js:313 +#: templates/js/translated/sales_order.js:838 +#: templates/js/translated/sales_order.js:1848 +#: templates/js/translated/stock.js:1515 templates/js/translated/stock.js:2058 +#: templates/js/translated/stock.js:2748 templates/js/translated/stock.js:2831 msgid "Description" msgstr "คำอธิบาย" -#: InvenTree/models.py:900 stock/models.py:83 +#: InvenTree/models.py:914 stock/models.py:83 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:909 +#: InvenTree/models.py:923 msgid "parent" msgstr "" -#: InvenTree/models.py:915 templates/js/translated/part.js:2794 -#: templates/js/translated/stock.js:2760 +#: InvenTree/models.py:929 templates/js/translated/part.js:2793 +#: templates/js/translated/stock.js:2757 msgid "Path" msgstr "" -#: InvenTree/models.py:1021 +#: InvenTree/models.py:1035 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:1050 +#: InvenTree/models.py:1064 msgid "Barcode Data" msgstr "ข้อมูลบาร์โค้ด" -#: InvenTree/models.py:1051 +#: InvenTree/models.py:1065 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:1057 +#: InvenTree/models.py:1071 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:1058 +#: InvenTree/models.py:1072 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:1111 +#: InvenTree/models.py:1125 msgid "Existing barcode found" msgstr "บาร์โค้ดนี้มีในระบบแล้ว" -#: InvenTree/models.py:1154 +#: InvenTree/models.py:1168 msgid "Server Error" msgstr "เกิดข้อผิดพลาดที่เซิร์ฟเวอร์" -#: InvenTree/models.py:1155 +#: InvenTree/models.py:1169 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:62 part/models.py:4169 +#: InvenTree/serializers.py:62 part/models.py:4212 msgid "Must be a valid number" msgstr "ต้องเป็นตัวเลข" #: InvenTree/serializers.py:99 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:2993 +#: company/templates/company/company_base.html:112 part/models.py:3036 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -686,7 +686,7 @@ msgstr "" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1161 +#: InvenTree/status.py:66 part/serializers.py:1176 msgid "Background worker check failed" msgstr "" @@ -699,8 +699,8 @@ msgid "InvenTree system health checks failed" msgstr "" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:37 -#: InvenTree/status_codes.py:148 InvenTree/status_codes.py:164 -#: InvenTree/status_codes.py:182 generic/states/tests.py:17 +#: InvenTree/status_codes.py:149 InvenTree/status_codes.py:165 +#: InvenTree/status_codes.py:183 generic/states/tests.py:17 #: templates/js/translated/table_filters.js:598 msgid "Pending" msgstr "อยู่ระหว่างดำเนินการ" @@ -709,188 +709,188 @@ msgstr "อยู่ระหว่างดำเนินการ" msgid "Placed" msgstr "" -#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:151 -#: InvenTree/status_codes.py:169 generic/states/tests.py:19 -#: order/templates/order/order_base.html:158 -#: order/templates/order/sales_order_base.html:161 +#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:44 +#: InvenTree/status_codes.py:152 InvenTree/status_codes.py:170 +#: generic/states/tests.py:19 order/templates/order/order_base.html:158 +#: order/templates/order/sales_order_base.html:165 report/models.py:444 msgid "Complete" msgstr "สำเร็จแล้ว" -#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:44 -#: InvenTree/status_codes.py:150 InvenTree/status_codes.py:170 +#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:45 +#: InvenTree/status_codes.py:151 InvenTree/status_codes.py:171 msgid "Cancelled" msgstr "ยกเลิกแล้ว" -#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:45 -#: InvenTree/status_codes.py:67 +#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:46 +#: InvenTree/status_codes.py:68 msgid "Lost" msgstr "สูญหาย" -#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:46 -#: InvenTree/status_codes.py:73 +#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:47 +#: InvenTree/status_codes.py:74 msgid "Returned" msgstr "ส่งคืนแล้ว" -#: InvenTree/status_codes.py:40 InvenTree/status_codes.py:167 +#: InvenTree/status_codes.py:40 InvenTree/status_codes.py:168 msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:43 order/models.py:1566 -#: templates/js/translated/sales_order.js:1523 -#: templates/js/translated/sales_order.js:1644 -#: templates/js/translated/sales_order.js:1957 +#: InvenTree/status_codes.py:43 order/models.py:1606 +#: templates/js/translated/sales_order.js:1559 +#: templates/js/translated/sales_order.js:1680 +#: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "จัดส่งแล้ว" -#: InvenTree/status_codes.py:62 +#: InvenTree/status_codes.py:63 msgid "OK" msgstr "ตกลง" -#: InvenTree/status_codes.py:63 +#: InvenTree/status_codes.py:64 msgid "Attention needed" msgstr "" -#: InvenTree/status_codes.py:64 +#: InvenTree/status_codes.py:65 msgid "Damaged" msgstr "ได้รับความเสียหาย" -#: InvenTree/status_codes.py:65 +#: InvenTree/status_codes.py:66 msgid "Destroyed" msgstr "ทำลายแล้ว" -#: InvenTree/status_codes.py:66 +#: InvenTree/status_codes.py:67 msgid "Rejected" msgstr "ถูกปฏิเสธ" -#: InvenTree/status_codes.py:70 +#: InvenTree/status_codes.py:71 msgid "Quarantined" msgstr "" -#: InvenTree/status_codes.py:91 +#: InvenTree/status_codes.py:92 msgid "Legacy stock tracking entry" msgstr "" -#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:544 +#: InvenTree/status_codes.py:94 templates/js/translated/stock.js:544 msgid "Stock item created" msgstr "" -#: InvenTree/status_codes.py:96 +#: InvenTree/status_codes.py:97 msgid "Edited stock item" msgstr "" -#: InvenTree/status_codes.py:97 +#: InvenTree/status_codes.py:98 msgid "Assigned serial number" msgstr "กำหนดหมายเลขซีเรียลแล้ว" -#: InvenTree/status_codes.py:100 +#: InvenTree/status_codes.py:101 msgid "Stock counted" msgstr "นับสต็อกแล้ว" -#: InvenTree/status_codes.py:101 +#: InvenTree/status_codes.py:102 msgid "Stock manually added" msgstr "เพิ่มสต็อกแล้ว" -#: InvenTree/status_codes.py:102 +#: InvenTree/status_codes.py:103 msgid "Stock manually removed" msgstr "ลบสต็อกแล้ว" -#: InvenTree/status_codes.py:105 +#: InvenTree/status_codes.py:106 msgid "Location changed" msgstr "เปลี่ยนสถานที่แล้ว" -#: InvenTree/status_codes.py:106 +#: InvenTree/status_codes.py:107 msgid "Stock updated" msgstr "อัพเดทสต็อกแล้ว" -#: InvenTree/status_codes.py:109 +#: InvenTree/status_codes.py:110 msgid "Installed into assembly" msgstr "" -#: InvenTree/status_codes.py:110 +#: InvenTree/status_codes.py:111 msgid "Removed from assembly" msgstr "" -#: InvenTree/status_codes.py:112 +#: InvenTree/status_codes.py:113 msgid "Installed component item" msgstr "" -#: InvenTree/status_codes.py:113 +#: InvenTree/status_codes.py:114 msgid "Removed component item" msgstr "" -#: InvenTree/status_codes.py:116 +#: InvenTree/status_codes.py:117 msgid "Split from parent item" msgstr "" -#: InvenTree/status_codes.py:117 +#: InvenTree/status_codes.py:118 msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1858 +#: InvenTree/status_codes.py:121 templates/js/translated/stock.js:1858 msgid "Merged stock items" msgstr "" -#: InvenTree/status_codes.py:123 +#: InvenTree/status_codes.py:124 msgid "Converted to variant" msgstr "" -#: InvenTree/status_codes.py:126 +#: InvenTree/status_codes.py:127 msgid "Build order output created" msgstr "" -#: InvenTree/status_codes.py:127 +#: InvenTree/status_codes.py:128 msgid "Build order output completed" msgstr "" -#: InvenTree/status_codes.py:128 +#: InvenTree/status_codes.py:129 msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1764 +#: InvenTree/status_codes.py:130 templates/js/translated/stock.js:1764 msgid "Consumed by build order" msgstr "" -#: InvenTree/status_codes.py:132 +#: InvenTree/status_codes.py:133 msgid "Shipped against Sales Order" msgstr "" -#: InvenTree/status_codes.py:135 +#: InvenTree/status_codes.py:136 msgid "Received against Purchase Order" msgstr "" -#: InvenTree/status_codes.py:138 +#: InvenTree/status_codes.py:139 msgid "Returned against Return Order" msgstr "" -#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:375 +#: InvenTree/status_codes.py:142 templates/js/translated/table_filters.js:375 msgid "Sent to customer" msgstr "จัดส่งให้ลูกค้าแล้ว" -#: InvenTree/status_codes.py:142 +#: InvenTree/status_codes.py:143 msgid "Returned from customer" msgstr "" -#: InvenTree/status_codes.py:149 +#: InvenTree/status_codes.py:150 msgid "Production" msgstr "" -#: InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:186 msgid "Return" msgstr "" -#: InvenTree/status_codes.py:188 +#: InvenTree/status_codes.py:189 msgid "Repair" msgstr "" -#: InvenTree/status_codes.py:191 +#: InvenTree/status_codes.py:192 msgid "Replace" msgstr "" -#: InvenTree/status_codes.py:194 +#: InvenTree/status_codes.py:195 msgid "Refund" msgstr "" -#: InvenTree/status_codes.py:197 +#: InvenTree/status_codes.py:198 msgid "Reject" msgstr "" @@ -946,14 +946,14 @@ msgstr "เกี่ยวกับ Inventree" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:299 part/models.py:4047 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4090 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4041 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4084 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -969,7 +969,7 @@ msgstr "" #: build/api.py:303 part/admin.py:144 templates/js/translated/build.js:1744 #: templates/js/translated/build.js:2629 -#: templates/js/translated/sales_order.js:1929 +#: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "" @@ -980,7 +980,7 @@ msgstr "" #: templates/email/low_stock_notification.html:17 #: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 #: templates/js/translated/index.js:123 -#: templates/js/translated/model_renderers.js:228 +#: templates/js/translated/model_renderers.js:234 #: templates/js/translated/part.js:692 templates/js/translated/part.js:694 #: templates/js/translated/part.js:699 #: templates/js/translated/table_filters.js:340 @@ -988,16 +988,16 @@ msgstr "" msgid "Available" msgstr "" -#: build/models.py:74 build/templates/build/build_base.html:9 +#: build/models.py:82 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 -#: report/templates/report/inventree_build_order_base.html:105 -#: templates/email/build_order_completed.html:16 +#: report/templates/report/inventree_build_order_report.html:105 +#: stock/serializers.py:83 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2895 +#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2892 msgid "Build Order" msgstr "" -#: build/models.py:75 build/templates/build/build_base.html:13 +#: build/models.py:83 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -1008,71 +1008,71 @@ msgstr "" msgid "Build Orders" msgstr "" -#: build/models.py:122 +#: build/models.py:130 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:133 order/models.py:239 +#: build/models.py:141 order/models.py:241 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:139 +#: build/models.py:147 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:185 +#: build/models.py:208 msgid "Build Order Reference" msgstr "" -#: build/models.py:186 order/models.py:442 order/models.py:898 -#: order/models.py:1276 order/models.py:1998 part/admin.py:417 -#: part/models.py:4062 part/templates/part/upload_bom.html:54 +#: build/models.py:209 order/models.py:464 order/models.py:929 +#: order/models.py:1316 order/models.py:2047 part/admin.py:419 +#: part/models.py:4105 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 -#: report/templates/report/inventree_so_report_base.html:28 +#: report/templates/report/inventree_purchase_order_report.html:28 +#: report/templates/report/inventree_return_order_report.html:26 +#: report/templates/report/inventree_sales_order_report.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 #: templates/js/translated/build.js:2512 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 -#: templates/js/translated/purchase_order.js:2066 -#: templates/js/translated/return_order.js:729 -#: templates/js/translated/sales_order.js:1818 +#: templates/js/translated/purchase_order.js:2065 +#: templates/js/translated/return_order.js:728 +#: templates/js/translated/sales_order.js:1854 msgid "Reference" msgstr "" -#: build/models.py:197 +#: build/models.py:220 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:205 build/templates/build/build_base.html:183 +#: build/models.py:228 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:206 +#: build/models.py:229 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:211 build/templates/build/build_base.html:97 +#: build/models.py:234 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 -#: order/models.py:1401 order/models.py:1546 order/models.py:1547 -#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004 -#: part/models.py:3148 part/models.py:3292 part/models.py:3315 -#: part/models.py:3336 part/models.py:3358 part/models.py:3468 -#: part/models.py:3764 part/models.py:3920 part/models.py:4013 -#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713 +#: order/models.py:1441 order/models.py:1586 order/models.py:1587 +#: part/api.py:1501 part/api.py:1795 part/models.py:392 part/models.py:3047 +#: part/models.py:3191 part/models.py:3335 part/models.py:3358 +#: part/models.py:3379 part/models.py:3401 part/models.py:3511 +#: part/models.py:3807 part/models.py:3963 part/models.py:4056 +#: part/models.py:4417 part/serializers.py:1122 part/serializers.py:1728 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 -#: report/templates/report/inventree_build_order_base.html:109 -#: report/templates/report/inventree_po_report_base.html:27 -#: report/templates/report/inventree_return_order_report_base.html:24 -#: report/templates/report/inventree_slr_report.html:102 -#: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:267 stock/serializers.py:689 -#: templates/InvenTree/search.html:82 +#: report/templates/report/inventree_build_order_report.html:109 +#: report/templates/report/inventree_purchase_order_report.html:27 +#: report/templates/report/inventree_return_order_report.html:24 +#: report/templates/report/inventree_sales_order_report.html:27 +#: report/templates/report/inventree_stock_location_report.html:102 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:396 +#: stock/serializers.py:818 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -1086,235 +1086,239 @@ msgstr "" #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 #: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 -#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:2323 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:751 #: templates/js/translated/purchase_order.js:1304 -#: templates/js/translated/purchase_order.js:1849 -#: templates/js/translated/purchase_order.js:2008 -#: templates/js/translated/return_order.js:539 -#: templates/js/translated/return_order.js:710 +#: templates/js/translated/purchase_order.js:1848 +#: templates/js/translated/purchase_order.js:2007 +#: templates/js/translated/return_order.js:538 +#: templates/js/translated/return_order.js:709 #: templates/js/translated/sales_order.js:300 -#: templates/js/translated/sales_order.js:1197 -#: templates/js/translated/sales_order.js:1598 -#: templates/js/translated/sales_order.js:1796 +#: templates/js/translated/sales_order.js:1233 +#: templates/js/translated/sales_order.js:1634 +#: templates/js/translated/sales_order.js:1832 #: templates/js/translated/stock.js:676 templates/js/translated/stock.js:842 -#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1999 -#: templates/js/translated/stock.js:2860 templates/js/translated/stock.js:3093 -#: templates/js/translated/stock.js:3239 +#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1997 +#: templates/js/translated/stock.js:2857 templates/js/translated/stock.js:3090 +#: templates/js/translated/stock.js:3236 msgid "Part" msgstr "" -#: build/models.py:219 +#: build/models.py:242 msgid "Select part to build" msgstr "" -#: build/models.py:224 +#: build/models.py:247 msgid "Sales Order Reference" msgstr "" -#: build/models.py:228 +#: build/models.py:251 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:233 build/serializers.py:970 +#: build/models.py:256 build/serializers.py:969 #: templates/js/translated/build.js:1731 -#: templates/js/translated/sales_order.js:1185 +#: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "" -#: build/models.py:237 +#: build/models.py:260 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:242 +#: build/models.py:265 msgid "Destination Location" msgstr "" -#: build/models.py:246 +#: build/models.py:269 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:250 +#: build/models.py:273 msgid "Build Quantity" msgstr "" -#: build/models.py:253 +#: build/models.py:276 msgid "Number of stock items to build" msgstr "" -#: build/models.py:257 +#: build/models.py:280 msgid "Completed items" msgstr "" -#: build/models.py:259 +#: build/models.py:282 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:263 +#: build/models.py:286 msgid "Build Status" msgstr "" -#: build/models.py:267 +#: build/models.py:290 msgid "Build status code" msgstr "" -#: build/models.py:276 build/serializers.py:278 order/serializers.py:581 -#: stock/models.py:823 stock/serializers.py:1333 +#: build/models.py:299 build/serializers.py:277 order/serializers.py:581 +#: stock/models.py:844 stock/serializers.py:75 stock/serializers.py:1462 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" -#: build/models.py:280 build/serializers.py:279 +#: build/models.py:303 build/serializers.py:278 msgid "Batch code for this build output" msgstr "" -#: build/models.py:283 order/models.py:304 order/serializers.py:120 -#: part/models.py:1079 part/templates/part/part_base.html:310 -#: templates/js/translated/return_order.js:339 -#: templates/js/translated/sales_order.js:827 +#: build/models.py:306 order/models.py:317 order/serializers.py:120 +#: part/models.py:1122 part/templates/part/part_base.html:310 +#: templates/js/translated/return_order.js:338 +#: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "" -#: build/models.py:287 +#: build/models.py:310 msgid "Target completion date" msgstr "" -#: build/models.py:288 +#: build/models.py:311 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:291 order/models.py:500 order/models.py:2043 +#: build/models.py:314 order/models.py:522 order/models.py:2092 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "" -#: build/models.py:297 +#: build/models.py:320 msgid "completed by" msgstr "" -#: build/models.py:305 templates/js/translated/build.js:2207 +#: build/models.py:328 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "ออกโดย" -#: build/models.py:306 +#: build/models.py:329 msgid "User who issued this build order" msgstr "" -#: build/models.py:314 build/templates/build/build_base.html:204 +#: build/models.py:337 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:145 -#: order/models.py:322 order/templates/order/order_base.html:217 +#: order/models.py:335 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1096 +#: order/templates/order/sales_order_base.html:232 part/models.py:1139 #: part/templates/part/part_base.html:390 -#: report/templates/report/inventree_build_order_base.html:158 +#: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 #: templates/js/translated/build.js:2219 -#: templates/js/translated/purchase_order.js:1764 -#: templates/js/translated/return_order.js:359 +#: templates/js/translated/purchase_order.js:1763 +#: templates/js/translated/return_order.js:358 #: templates/js/translated/table_filters.js:531 msgid "Responsible" msgstr "" -#: build/models.py:315 +#: build/models.py:338 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:320 build/templates/build/detail.html:108 +#: build/models.py:343 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 -#: order/templates/order/sales_order_base.html:180 -#: part/templates/part/part_base.html:383 stock/models.py:819 +#: order/templates/order/sales_order_base.html:184 +#: part/templates/part/part_base.html:383 stock/models.py:840 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "" -#: build/models.py:325 +#: build/models.py:348 msgid "Build Priority" msgstr "" -#: build/models.py:328 +#: build/models.py:351 msgid "Priority of this build order" msgstr "" -#: build/models.py:335 common/models.py:129 order/admin.py:18 -#: order/models.py:286 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:358 common/models.py:129 order/admin.py:18 +#: order/models.py:299 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 -#: templates/js/translated/purchase_order.js:1711 -#: templates/js/translated/return_order.js:318 -#: templates/js/translated/sales_order.js:806 +#: templates/js/translated/purchase_order.js:1710 +#: templates/js/translated/return_order.js:317 +#: templates/js/translated/sales_order.js:842 #: templates/js/translated/table_filters.js:48 #: templates/project_code_data.html:6 msgid "Project Code" msgstr "" -#: build/models.py:336 +#: build/models.py:359 msgid "Project code for this build order" msgstr "" -#: build/models.py:566 build/models.py:631 +#: build/models.py:589 build/models.py:654 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:588 +#: build/models.py:611 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:594 +#: build/models.py:617 msgid "A build order has been completed" msgstr "" -#: build/models.py:820 build/models.py:895 +#: build/models.py:843 build/models.py:918 msgid "No build output specified" msgstr "" -#: build/models.py:823 +#: build/models.py:846 msgid "Build output is already completed" msgstr "" -#: build/models.py:826 +#: build/models.py:849 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:899 build/serializers.py:221 build/serializers.py:260 -#: build/serializers.py:837 order/models.py:538 order/serializers.py:433 -#: order/serializers.py:576 part/serializers.py:1471 part/serializers.py:1871 -#: stock/models.py:662 stock/models.py:1482 stock/serializers.py:472 +#: build/models.py:922 build/serializers.py:220 build/serializers.py:259 +#: build/serializers.py:836 order/models.py:560 order/serializers.py:433 +#: order/serializers.py:576 part/serializers.py:1486 part/serializers.py:1886 +#: stock/models.py:683 stock/models.py:1503 stock/serializers.py:601 msgid "Quantity must be greater than zero" msgstr "จำนวนต้องมีค่ามากกว่า 0" -#: build/models.py:904 build/serializers.py:226 +#: build/models.py:927 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:961 build/serializers.py:539 +#: build/models.py:984 build/serializers.py:538 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1323 +#: build/models.py:1335 +msgid "Build Order Line Item" +msgstr "" + +#: build/models.py:1360 msgid "Build object" msgstr "" -#: build/models.py:1337 build/models.py:1593 build/serializers.py:208 -#: build/serializers.py:245 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2524 -#: order/models.py:1259 order/models.py:1918 order/serializers.py:1339 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 -#: part/forms.py:48 part/models.py:3162 part/models.py:4035 +#: build/models.py:1374 build/models.py:1630 build/serializers.py:207 +#: build/serializers.py:244 build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2530 +#: order/models.py:1299 order/models.py:1958 order/serializers.py:1339 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 +#: part/forms.py:48 part/models.py:3205 part/models.py:4078 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 -#: report/templates/report/inventree_build_order_base.html:113 -#: report/templates/report/inventree_po_report_base.html:29 -#: report/templates/report/inventree_slr_report.html:104 -#: report/templates/report/inventree_so_report_base.html:29 -#: report/templates/report/inventree_test_report_base.html:90 -#: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:160 stock/serializers.py:463 +#: report/templates/report/inventree_build_order_report.html:113 +#: report/templates/report/inventree_purchase_order_report.html:29 +#: report/templates/report/inventree_sales_order_report.html:29 +#: report/templates/report/inventree_stock_location_report.html:104 +#: report/templates/report/inventree_test_report.html:90 +#: report/templates/report/inventree_test_report.html:170 stock/admin.py:160 +#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:592 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1324,380 +1328,381 @@ msgstr "" #: templates/js/translated/build.js:737 templates/js/translated/build.js:1369 #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 -#: templates/js/translated/model_renderers.js:230 +#: templates/js/translated/model_renderers.js:236 #: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3341 +#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3340 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 #: templates/js/translated/purchase_order.js:754 -#: templates/js/translated/purchase_order.js:1853 -#: templates/js/translated/purchase_order.js:2072 +#: templates/js/translated/purchase_order.js:1852 +#: templates/js/translated/purchase_order.js:2071 #: templates/js/translated/sales_order.js:317 -#: templates/js/translated/sales_order.js:1199 -#: templates/js/translated/sales_order.js:1518 -#: templates/js/translated/sales_order.js:1608 -#: templates/js/translated/sales_order.js:1698 -#: templates/js/translated/sales_order.js:1824 +#: templates/js/translated/sales_order.js:1235 +#: templates/js/translated/sales_order.js:1554 +#: templates/js/translated/sales_order.js:1644 +#: templates/js/translated/sales_order.js:1734 +#: templates/js/translated/sales_order.js:1860 #: templates/js/translated/stock.js:564 templates/js/translated/stock.js:702 -#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:3024 -#: templates/js/translated/stock.js:3107 +#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:3021 +#: templates/js/translated/stock.js:3104 msgid "Quantity" msgstr "" -#: build/models.py:1338 +#: build/models.py:1375 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1418 +#: build/models.py:1455 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1427 +#: build/models.py:1464 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1437 order/models.py:1869 +#: build/models.py:1474 order/models.py:1909 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1443 order/models.py:1872 +#: build/models.py:1480 order/models.py:1912 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1449 +#: build/models.py:1486 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1508 +#: build/models.py:1545 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1580 build/serializers.py:817 order/serializers.py:1183 -#: order/serializers.py:1204 stock/serializers.py:566 stock/serializers.py:1052 -#: stock/serializers.py:1164 stock/templates/stock/item_base.html:10 +#: build/models.py:1617 build/serializers.py:816 order/serializers.py:1183 +#: order/serializers.py:1204 stock/models.py:364 stock/serializers.py:92 +#: stock/serializers.py:695 stock/serializers.py:1181 stock/serializers.py:1293 +#: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 #: templates/js/translated/build.js:1745 #: templates/js/translated/sales_order.js:301 -#: templates/js/translated/sales_order.js:1198 -#: templates/js/translated/sales_order.js:1499 -#: templates/js/translated/sales_order.js:1504 -#: templates/js/translated/sales_order.js:1605 -#: templates/js/translated/sales_order.js:1692 +#: templates/js/translated/sales_order.js:1234 +#: templates/js/translated/sales_order.js:1535 +#: templates/js/translated/sales_order.js:1540 +#: templates/js/translated/sales_order.js:1641 +#: templates/js/translated/sales_order.js:1728 #: templates/js/translated/stock.js:677 templates/js/translated/stock.js:843 -#: templates/js/translated/stock.js:2980 +#: templates/js/translated/stock.js:2977 msgid "Stock Item" msgstr "" -#: build/models.py:1581 +#: build/models.py:1618 msgid "Source stock item" msgstr "" -#: build/models.py:1594 +#: build/models.py:1631 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1602 +#: build/models.py:1639 msgid "Install into" msgstr "" -#: build/models.py:1603 +#: build/models.py:1640 msgid "Destination stock item" msgstr "" -#: build/serializers.py:158 build/serializers.py:846 +#: build/serializers.py:157 build/serializers.py:845 #: templates/js/translated/build.js:1322 msgid "Build Output" msgstr "" -#: build/serializers.py:170 +#: build/serializers.py:169 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:174 +#: build/serializers.py:173 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:178 +#: build/serializers.py:177 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:189 +#: build/serializers.py:188 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:209 build/serializers.py:246 +#: build/serializers.py:208 build/serializers.py:245 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:267 +#: build/serializers.py:266 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:270 +#: build/serializers.py:269 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:285 order/serializers.py:589 order/serializers.py:1343 -#: stock/serializers.py:483 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:284 order/serializers.py:589 order/serializers.py:1343 +#: stock/serializers.py:612 templates/js/translated/purchase_order.js:1153 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:286 +#: build/serializers.py:285 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:291 build/serializers.py:432 build/serializers.py:504 +#: build/serializers.py:290 build/serializers.py:431 build/serializers.py:503 #: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1679 -#: part/serializers.py:1127 stock/serializers.py:494 stock/serializers.py:654 -#: stock/serializers.py:750 stock/serializers.py:1196 stock/serializers.py:1452 -#: stock/templates/stock/item_base.html:394 +#: part/serializers.py:1142 stock/serializers.py:101 stock/serializers.py:623 +#: stock/serializers.py:783 stock/serializers.py:879 stock/serializers.py:1325 +#: stock/serializers.py:1581 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 #: templates/js/translated/purchase_order.js:1178 #: templates/js/translated/purchase_order.js:1268 -#: templates/js/translated/sales_order.js:1511 -#: templates/js/translated/sales_order.js:1619 -#: templates/js/translated/sales_order.js:1627 -#: templates/js/translated/sales_order.js:1706 +#: templates/js/translated/sales_order.js:1547 +#: templates/js/translated/sales_order.js:1655 +#: templates/js/translated/sales_order.js:1663 +#: templates/js/translated/sales_order.js:1742 #: templates/js/translated/stock.js:678 templates/js/translated/stock.js:844 -#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2203 -#: templates/js/translated/stock.js:2874 +#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2201 +#: templates/js/translated/stock.js:2871 msgid "Location" msgstr "สถานที่" -#: build/serializers.py:292 +#: build/serializers.py:291 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:306 +#: build/serializers.py:305 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:307 +#: build/serializers.py:306 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:322 +#: build/serializers.py:321 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:347 stock/api.py:995 +#: build/serializers.py:346 stock/api.py:1029 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:394 build/serializers.py:456 build/serializers.py:545 +#: build/serializers.py:393 build/serializers.py:455 build/serializers.py:544 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:433 +#: build/serializers.py:432 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:439 +#: build/serializers.py:438 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:440 +#: build/serializers.py:439 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:445 +#: build/serializers.py:444 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:505 +#: build/serializers.py:504 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:511 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:922 -#: order/models.py:2022 order/serializers.py:597 stock/admin.py:165 -#: stock/serializers.py:801 stock/serializers.py:1340 +#: build/serializers.py:510 build/templates/build/build_base.html:151 +#: build/templates/build/detail.html:62 order/models.py:953 +#: order/models.py:2071 order/serializers.py:597 stock/admin.py:165 +#: stock/serializers.py:930 stock/serializers.py:1469 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 -#: templates/js/translated/purchase_order.js:1723 -#: templates/js/translated/return_order.js:331 -#: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2178 templates/js/translated/stock.js:2998 -#: templates/js/translated/stock.js:3123 +#: templates/js/translated/purchase_order.js:1722 +#: templates/js/translated/return_order.js:330 +#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/stock.js:2176 templates/js/translated/stock.js:2995 +#: templates/js/translated/stock.js:3120 msgid "Status" msgstr "สถานะ" -#: build/serializers.py:517 +#: build/serializers.py:516 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:518 +#: build/serializers.py:517 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:598 +#: build/serializers.py:597 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:599 +#: build/serializers.py:598 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:605 +#: build/serializers.py:604 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:606 +#: build/serializers.py:605 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:633 +#: build/serializers.py:632 msgid "Not permitted" msgstr "" -#: build/serializers.py:634 +#: build/serializers.py:633 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:635 +#: build/serializers.py:634 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:657 +#: build/serializers.py:656 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:659 +#: build/serializers.py:658 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:669 +#: build/serializers.py:668 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:674 +#: build/serializers.py:673 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:675 +#: build/serializers.py:674 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:685 templates/js/translated/build.js:315 +#: build/serializers.py:684 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:690 order/serializers.py:301 order/serializers.py:1246 +#: build/serializers.py:689 order/serializers.py:301 order/serializers.py:1246 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:691 +#: build/serializers.py:690 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:701 templates/js/translated/build.js:319 +#: build/serializers.py:700 templates/js/translated/build.js:319 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:710 templates/js/translated/build.js:303 +#: build/serializers.py:709 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:740 +#: build/serializers.py:739 msgid "Build Line" msgstr "" -#: build/serializers.py:750 +#: build/serializers.py:749 msgid "Build output" msgstr "" -#: build/serializers.py:758 +#: build/serializers.py:757 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:794 +#: build/serializers.py:793 msgid "Build Line Item" msgstr "" -#: build/serializers.py:808 +#: build/serializers.py:807 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:823 stock/serializers.py:1065 +#: build/serializers.py:822 stock/serializers.py:1194 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:871 order/serializers.py:1237 +#: build/serializers.py:870 order/serializers.py:1237 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:877 +#: build/serializers.py:876 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:884 +#: build/serializers.py:883 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:908 order/serializers.py:1489 +#: build/serializers.py:907 order/serializers.py:1489 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:971 +#: build/serializers.py:970 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:979 +#: build/serializers.py:978 msgid "Exclude Location" msgstr "" -#: build/serializers.py:980 +#: build/serializers.py:979 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:985 +#: build/serializers.py:984 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:986 +#: build/serializers.py:985 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:991 +#: build/serializers.py:990 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:992 +#: build/serializers.py:991 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:997 +#: build/serializers.py:996 msgid "Optional Items" msgstr "" -#: build/serializers.py:998 +#: build/serializers.py:997 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1020 +#: build/serializers.py:1019 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1110 part/models.py:3930 part/models.py:4366 -#: stock/api.py:758 +#: build/serializers.py:1109 part/models.py:3973 part/models.py:4409 +#: stock/api.py:792 msgid "BOM Item" msgstr "" -#: build/serializers.py:1119 templates/js/translated/index.js:130 +#: build/serializers.py:1118 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1124 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:817 part/serializers.py:1489 +#: build/serializers.py:1123 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:832 part/serializers.py:1504 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 @@ -1705,15 +1710,15 @@ msgstr "" msgid "On Order" msgstr "" -#: build/serializers.py:1129 part/serializers.py:1491 +#: build/serializers.py:1128 part/serializers.py:1506 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1134 part/bom.py:172 part/serializers.py:1514 +#: build/serializers.py:1133 part/bom.py:172 part/serializers.py:1529 #: part/templates/part/part_base.html:192 -#: templates/js/translated/sales_order.js:1893 +#: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "" @@ -1842,18 +1847,18 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:297 -#: order/models.py:1294 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:310 +#: order/models.py:1334 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 -#: order/templates/order/sales_order_base.html:192 -#: report/templates/report/inventree_build_order_base.html:125 +#: order/templates/order/sales_order_base.html:196 +#: report/templates/report/inventree_build_order_report.html:125 #: templates/js/translated/build.js:2239 templates/js/translated/part.js:1830 -#: templates/js/translated/purchase_order.js:1740 -#: templates/js/translated/purchase_order.js:2148 -#: templates/js/translated/return_order.js:347 -#: templates/js/translated/return_order.js:751 -#: templates/js/translated/sales_order.js:835 -#: templates/js/translated/sales_order.js:1867 +#: templates/js/translated/purchase_order.js:1739 +#: templates/js/translated/purchase_order.js:2147 +#: templates/js/translated/return_order.js:346 +#: templates/js/translated/return_order.js:750 +#: templates/js/translated/sales_order.js:871 +#: templates/js/translated/sales_order.js:1903 msgid "Target Date" msgstr "" @@ -1866,7 +1871,7 @@ msgstr "" #: build/templates/build/build_base.html:222 #: order/templates/order/order_base.html:122 #: order/templates/order/return_order_base.html:117 -#: order/templates/order/sales_order_base.html:122 +#: order/templates/order/sales_order_base.html:126 #: templates/js/translated/table_filters.js:98 #: templates/js/translated/table_filters.js:524 #: templates/js/translated/table_filters.js:626 @@ -1880,24 +1885,24 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:1538 -#: order/models.py:1652 order/models.py:1806 +#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:848 +#: order/models.py:1578 order/models.py:1692 order/models.py:1846 #: 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 +#: report/templates/report/inventree_build_order_report.html:135 +#: report/templates/report/inventree_sales_order_report.html:14 #: stock/templates/stock/item_base.html:369 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:929 -#: templates/js/translated/sales_order.js:769 -#: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2927 +#: templates/js/translated/sales_order.js:805 +#: templates/js/translated/sales_order.js:1028 +#: templates/js/translated/stock.js:2924 msgid "Sales Order" msgstr "" #: build/templates/build/build_base.html:197 #: build/templates/build/detail.html:115 -#: report/templates/report/inventree_build_order_base.html:152 +#: report/templates/report/inventree_build_order_report.html:152 #: templates/js/translated/table_filters.js:24 msgid "Issued By" msgstr "" @@ -1907,15 +1912,15 @@ msgstr "" msgid "Priority" msgstr "" -#: build/templates/build/build_base.html:273 +#: build/templates/build/build_base.html:269 msgid "Delete Build Order" msgstr "" -#: build/templates/build/build_base.html:283 +#: build/templates/build/build_base.html:279 msgid "Build Order QR Code" msgstr "" -#: build/templates/build/build_base.html:295 +#: build/templates/build/build_base.html:291 msgid "Link Barcode to Build Order" msgstr "" @@ -1931,8 +1936,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1430 -#: templates/js/translated/purchase_order.js:2190 +#: build/templates/build/detail.html:49 order/models.py:1470 +#: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "" @@ -1947,10 +1952,10 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 #: templates/js/translated/build.js:1380 -#: templates/js/translated/model_renderers.js:235 +#: templates/js/translated/model_renderers.js:241 #: templates/js/translated/purchase_order.js:1274 -#: templates/js/translated/stock.js:1133 templates/js/translated/stock.js:2192 -#: templates/js/translated/stock.js:3130 +#: templates/js/translated/stock.js:1133 templates/js/translated/stock.js:2190 +#: templates/js/translated/stock.js:3127 #: templates/js/translated/table_filters.js:313 #: templates/js/translated/table_filters.js:404 msgid "Batch" @@ -1959,7 +1964,7 @@ msgstr "" #: build/templates/build/detail.html:133 #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:151 -#: order/templates/order/sales_order_base.html:186 +#: order/templates/order/sales_order_base.html:190 #: templates/js/translated/build.js:2199 msgid "Created" msgstr "" @@ -1969,7 +1974,7 @@ msgid "No target date set" msgstr "" #: build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:202 +#: order/templates/order/sales_order_base.html:206 #: templates/js/translated/table_filters.js:689 msgid "Completed" msgstr "สำเร็จแล้ว" @@ -2260,8 +2265,8 @@ msgstr "" #: common/models.py:1316 common/models.py:1372 common/models.py:1385 #: common/models.py:1393 common/models.py:1402 common/models.py:1411 -#: common/models.py:1613 common/models.py:1635 common/models.py:1750 -#: common/models.py:2061 +#: common/models.py:1619 common/models.py:1641 common/models.py:1756 +#: common/models.py:2067 msgid "days" msgstr "" @@ -2402,1209 +2407,1218 @@ msgid "Enable revision field for Part" msgstr "" #: common/models.py:1440 -msgid "IPN Regex" +msgid "Allow Deletion from Assembly" msgstr "" #: common/models.py:1441 +msgid "Allow deletion of parts which are used in an assembly" +msgstr "" + +#: common/models.py:1446 +msgid "IPN Regex" +msgstr "" + +#: common/models.py:1447 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1444 +#: common/models.py:1450 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1445 +#: common/models.py:1451 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1450 +#: common/models.py:1456 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1451 +#: common/models.py:1457 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1456 +#: common/models.py:1462 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1457 +#: common/models.py:1463 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1462 +#: common/models.py:1468 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1463 +#: common/models.py:1469 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1468 +#: common/models.py:1474 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1469 +#: common/models.py:1475 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1474 +#: common/models.py:1480 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1475 +#: common/models.py:1481 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1480 part/admin.py:108 part/models.py:3772 -#: report/models.py:182 stock/serializers.py:99 +#: common/models.py:1486 part/admin.py:108 part/models.py:3815 +#: report/models.py:294 report/models.py:361 report/serializers.py:90 +#: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:767 msgid "Template" msgstr "" -#: common/models.py:1481 +#: common/models.py:1487 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1486 part/admin.py:91 part/admin.py:431 part/models.py:1016 +#: common/models.py:1492 part/admin.py:91 part/admin.py:433 part/models.py:1059 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "" -#: common/models.py:1487 +#: common/models.py:1493 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1492 part/admin.py:95 part/models.py:1022 +#: common/models.py:1498 part/admin.py:95 part/models.py:1065 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "" -#: common/models.py:1493 +#: common/models.py:1499 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1498 part/admin.py:100 part/models.py:1034 +#: common/models.py:1504 part/admin.py:100 part/models.py:1077 msgid "Purchaseable" msgstr "" -#: common/models.py:1499 +#: common/models.py:1505 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1504 part/admin.py:104 part/models.py:1040 +#: common/models.py:1510 part/admin.py:104 part/models.py:1083 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "" -#: common/models.py:1505 +#: common/models.py:1511 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1510 part/admin.py:113 part/models.py:1028 +#: common/models.py:1516 part/admin.py:113 part/models.py:1071 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "" -#: common/models.py:1511 +#: common/models.py:1517 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1516 part/admin.py:117 part/models.py:1050 +#: common/models.py:1522 part/admin.py:117 part/models.py:1093 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "" -#: common/models.py:1517 +#: common/models.py:1523 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1522 +#: common/models.py:1528 msgid "Show Import in Views" msgstr "" -#: common/models.py:1523 +#: common/models.py:1529 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1528 +#: common/models.py:1534 msgid "Show related parts" msgstr "" -#: common/models.py:1529 +#: common/models.py:1535 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1534 +#: common/models.py:1540 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1535 +#: common/models.py:1541 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1540 templates/js/translated/part.js:107 +#: common/models.py:1546 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1542 +#: common/models.py:1548 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1548 +#: common/models.py:1554 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1549 +#: common/models.py:1555 msgid "Format to display the part name" msgstr "" -#: common/models.py:1555 +#: common/models.py:1561 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1556 +#: common/models.py:1562 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1560 +#: common/models.py:1566 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1562 +#: common/models.py:1568 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1568 +#: common/models.py:1574 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1570 +#: common/models.py:1576 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1576 +#: common/models.py:1582 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1578 +#: common/models.py:1584 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1584 +#: common/models.py:1590 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1586 +#: common/models.py:1592 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1592 +#: common/models.py:1598 msgid "Purchase History Override" msgstr "" -#: common/models.py:1594 +#: common/models.py:1600 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1600 +#: common/models.py:1606 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1602 +#: common/models.py:1608 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1608 +#: common/models.py:1614 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1610 +#: common/models.py:1616 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1617 +#: common/models.py:1623 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1618 +#: common/models.py:1624 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1623 +#: common/models.py:1629 msgid "Active Variants Only" msgstr "" -#: common/models.py:1625 +#: common/models.py:1631 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1631 +#: common/models.py:1637 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1633 +#: common/models.py:1639 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1640 +#: common/models.py:1646 msgid "Internal Prices" msgstr "" -#: common/models.py:1641 +#: common/models.py:1647 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1646 +#: common/models.py:1652 msgid "Internal Price Override" msgstr "" -#: common/models.py:1648 +#: common/models.py:1654 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1654 +#: common/models.py:1660 msgid "Enable label printing" msgstr "" -#: common/models.py:1655 +#: common/models.py:1661 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1660 +#: common/models.py:1666 msgid "Label Image DPI" msgstr "" -#: common/models.py:1662 +#: common/models.py:1668 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1668 +#: common/models.py:1674 msgid "Enable Reports" msgstr "" -#: common/models.py:1669 +#: common/models.py:1675 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1674 templates/stats.html:25 +#: common/models.py:1680 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1675 +#: common/models.py:1681 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1680 +#: common/models.py:1686 msgid "Log Report Errors" msgstr "" -#: common/models.py:1681 +#: common/models.py:1687 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1686 plugin/builtin/labels/label_sheet.py:28 -#: report/models.py:203 +#: common/models.py:1692 plugin/builtin/labels/label_sheet.py:28 +#: report/models.py:302 msgid "Page Size" msgstr "" -#: common/models.py:1687 +#: common/models.py:1693 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1692 +#: common/models.py:1698 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1693 +#: common/models.py:1699 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1698 +#: common/models.py:1704 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1700 +#: common/models.py:1706 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1706 +#: common/models.py:1712 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1707 +#: common/models.py:1713 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1712 +#: common/models.py:1718 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1713 +#: common/models.py:1719 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1718 +#: common/models.py:1724 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1720 +#: common/models.py:1726 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1726 +#: common/models.py:1732 msgid "Batch Code Template" msgstr "" -#: common/models.py:1728 +#: common/models.py:1734 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1733 +#: common/models.py:1739 msgid "Stock Expiry" msgstr "" -#: common/models.py:1734 +#: common/models.py:1740 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1739 +#: common/models.py:1745 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1740 +#: common/models.py:1746 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1745 +#: common/models.py:1751 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1747 +#: common/models.py:1753 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1754 +#: common/models.py:1760 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1755 +#: common/models.py:1761 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1760 +#: common/models.py:1766 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1761 +#: common/models.py:1767 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1766 +#: common/models.py:1772 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1767 +#: common/models.py:1773 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1771 +#: common/models.py:1777 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1772 +#: common/models.py:1778 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1777 +#: common/models.py:1783 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1779 +#: common/models.py:1785 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1785 +#: common/models.py:1791 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1787 +#: common/models.py:1793 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1793 +#: common/models.py:1799 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1795 +#: common/models.py:1801 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1801 common/models.py:1829 common/models.py:1851 -#: common/models.py:1879 +#: common/models.py:1807 common/models.py:1835 common/models.py:1857 +#: common/models.py:1885 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1802 common/models.py:1830 common/models.py:1852 -#: common/models.py:1880 +#: common/models.py:1808 common/models.py:1836 common/models.py:1858 +#: common/models.py:1886 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1807 +#: common/models.py:1813 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1809 +#: common/models.py:1815 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1815 +#: common/models.py:1821 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1816 +#: common/models.py:1822 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1821 +#: common/models.py:1827 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1823 +#: common/models.py:1829 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1835 +#: common/models.py:1841 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1837 +#: common/models.py:1843 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1843 +#: common/models.py:1849 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1845 +#: common/models.py:1851 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1857 +#: common/models.py:1863 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1858 +#: common/models.py:1864 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1863 +#: common/models.py:1869 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1865 +#: common/models.py:1871 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1871 +#: common/models.py:1877 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1873 +#: common/models.py:1879 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1885 +#: common/models.py:1891 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1887 +#: common/models.py:1893 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1893 +#: common/models.py:1899 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1895 +#: common/models.py:1901 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1902 +#: common/models.py:1908 msgid "Enable password forgot" msgstr "" -#: common/models.py:1903 +#: common/models.py:1909 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1908 +#: common/models.py:1914 msgid "Enable registration" msgstr "" -#: common/models.py:1909 +#: common/models.py:1915 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1914 +#: common/models.py:1920 msgid "Enable SSO" msgstr "" -#: common/models.py:1915 +#: common/models.py:1921 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1920 +#: common/models.py:1926 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1922 +#: common/models.py:1928 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1928 +#: common/models.py:1934 msgid "Email required" msgstr "" -#: common/models.py:1929 +#: common/models.py:1935 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1934 +#: common/models.py:1940 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1936 +#: common/models.py:1942 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1942 +#: common/models.py:1948 msgid "Mail twice" msgstr "" -#: common/models.py:1943 +#: common/models.py:1949 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1948 +#: common/models.py:1954 msgid "Password twice" msgstr "" -#: common/models.py:1949 +#: common/models.py:1955 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1954 +#: common/models.py:1960 msgid "Allowed domains" msgstr "" -#: common/models.py:1956 +#: common/models.py:1962 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1962 +#: common/models.py:1968 msgid "Group on signup" msgstr "" -#: common/models.py:1963 +#: common/models.py:1969 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1968 +#: common/models.py:1974 msgid "Enforce MFA" msgstr "" -#: common/models.py:1969 +#: common/models.py:1975 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1974 +#: common/models.py:1980 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1976 +#: common/models.py:1982 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1984 +#: common/models.py:1990 msgid "Check for plugin updates" msgstr "" -#: common/models.py:1985 +#: common/models.py:1991 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:1991 +#: common/models.py:1997 msgid "Enable URL integration" msgstr "" -#: common/models.py:1992 +#: common/models.py:1998 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1998 +#: common/models.py:2004 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1999 +#: common/models.py:2005 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2005 +#: common/models.py:2011 msgid "Enable app integration" msgstr "" -#: common/models.py:2006 +#: common/models.py:2012 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2012 +#: common/models.py:2018 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2013 +#: common/models.py:2019 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2019 +#: common/models.py:2025 msgid "Enable event integration" msgstr "" -#: common/models.py:2020 +#: common/models.py:2026 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2026 +#: common/models.py:2032 msgid "Enable project codes" msgstr "" -#: common/models.py:2027 +#: common/models.py:2033 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2032 +#: common/models.py:2038 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2034 +#: common/models.py:2040 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2040 +#: common/models.py:2046 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2042 +#: common/models.py:2048 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2048 +#: common/models.py:2054 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2050 +#: common/models.py:2056 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2056 +#: common/models.py:2062 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2058 +#: common/models.py:2064 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2065 +#: common/models.py:2071 msgid "Display Users full names" msgstr "" -#: common/models.py:2066 +#: common/models.py:2072 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2071 +#: common/models.py:2077 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2072 +#: common/models.py:2078 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2084 common/models.py:2494 +#: common/models.py:2090 common/models.py:2500 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2127 +#: common/models.py:2133 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2129 +#: common/models.py:2135 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2135 +#: common/models.py:2141 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2136 +#: common/models.py:2142 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2141 +#: common/models.py:2147 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2142 +#: common/models.py:2148 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2147 +#: common/models.py:2153 msgid "Show latest parts" msgstr "" -#: common/models.py:2148 +#: common/models.py:2154 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2153 +#: common/models.py:2159 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2154 +#: common/models.py:2160 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2159 +#: common/models.py:2165 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2160 +#: common/models.py:2166 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2165 +#: common/models.py:2171 msgid "Show low stock" msgstr "" -#: common/models.py:2166 +#: common/models.py:2172 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2171 +#: common/models.py:2177 msgid "Show depleted stock" msgstr "" -#: common/models.py:2172 +#: common/models.py:2178 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2177 +#: common/models.py:2183 msgid "Show needed stock" msgstr "" -#: common/models.py:2178 +#: common/models.py:2184 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2183 +#: common/models.py:2189 msgid "Show expired stock" msgstr "" -#: common/models.py:2184 +#: common/models.py:2190 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2189 +#: common/models.py:2195 msgid "Show stale stock" msgstr "" -#: common/models.py:2190 +#: common/models.py:2196 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2195 +#: common/models.py:2201 msgid "Show pending builds" msgstr "" -#: common/models.py:2196 +#: common/models.py:2202 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2201 +#: common/models.py:2207 msgid "Show overdue builds" msgstr "" -#: common/models.py:2202 +#: common/models.py:2208 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2207 +#: common/models.py:2213 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2208 +#: common/models.py:2214 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2213 +#: common/models.py:2219 msgid "Show overdue POs" msgstr "" -#: common/models.py:2214 +#: common/models.py:2220 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2219 +#: common/models.py:2225 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2220 +#: common/models.py:2226 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2225 +#: common/models.py:2231 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2226 +#: common/models.py:2232 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2231 +#: common/models.py:2237 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2232 +#: common/models.py:2238 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2237 +#: common/models.py:2243 msgid "Show News" msgstr "" -#: common/models.py:2238 +#: common/models.py:2244 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2243 +#: common/models.py:2249 msgid "Inline label display" msgstr "" -#: common/models.py:2245 +#: common/models.py:2251 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2251 +#: common/models.py:2257 msgid "Default label printer" msgstr "" -#: common/models.py:2253 +#: common/models.py:2259 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2259 +#: common/models.py:2265 msgid "Inline report display" msgstr "" -#: common/models.py:2261 +#: common/models.py:2267 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2267 +#: common/models.py:2273 msgid "Search Parts" msgstr "" -#: common/models.py:2268 +#: common/models.py:2274 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2273 +#: common/models.py:2279 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2274 +#: common/models.py:2280 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2279 +#: common/models.py:2285 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2280 +#: common/models.py:2286 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2285 +#: common/models.py:2291 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2286 +#: common/models.py:2292 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2291 +#: common/models.py:2297 msgid "Search Categories" msgstr "" -#: common/models.py:2292 +#: common/models.py:2298 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2297 +#: common/models.py:2303 msgid "Search Stock" msgstr "" -#: common/models.py:2298 +#: common/models.py:2304 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2303 +#: common/models.py:2309 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2305 +#: common/models.py:2311 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2311 +#: common/models.py:2317 msgid "Search Locations" msgstr "" -#: common/models.py:2312 +#: common/models.py:2318 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2317 +#: common/models.py:2323 msgid "Search Companies" msgstr "" -#: common/models.py:2318 +#: common/models.py:2324 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2323 +#: common/models.py:2329 msgid "Search Build Orders" msgstr "" -#: common/models.py:2324 +#: common/models.py:2330 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2329 +#: common/models.py:2335 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2330 +#: common/models.py:2336 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2335 +#: common/models.py:2341 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2337 +#: common/models.py:2343 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2343 +#: common/models.py:2349 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2344 +#: common/models.py:2350 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2349 +#: common/models.py:2355 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2351 +#: common/models.py:2357 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2357 +#: common/models.py:2363 msgid "Search Return Orders" msgstr "" -#: common/models.py:2358 +#: common/models.py:2364 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2363 +#: common/models.py:2369 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2365 +#: common/models.py:2371 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2371 +#: common/models.py:2377 msgid "Search Preview Results" msgstr "" -#: common/models.py:2373 +#: common/models.py:2379 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2379 +#: common/models.py:2385 msgid "Regex Search" msgstr "" -#: common/models.py:2380 +#: common/models.py:2386 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2385 +#: common/models.py:2391 msgid "Whole Word Search" msgstr "" -#: common/models.py:2386 +#: common/models.py:2392 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2391 +#: common/models.py:2397 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2392 +#: common/models.py:2398 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2397 +#: common/models.py:2403 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2398 +#: common/models.py:2404 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2403 +#: common/models.py:2409 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2404 +#: common/models.py:2410 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2409 +#: common/models.py:2415 msgid "Date Format" msgstr "" -#: common/models.py:2410 +#: common/models.py:2416 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2423 part/templates/part/detail.html:41 +#: common/models.py:2429 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2424 +#: common/models.py:2430 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2429 part/templates/part/detail.html:62 +#: common/models.py:2435 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2431 +#: common/models.py:2437 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2437 +#: common/models.py:2443 msgid "Table String Length" msgstr "" -#: common/models.py:2439 +#: common/models.py:2445 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2445 +#: common/models.py:2451 msgid "Default part label template" msgstr "" -#: common/models.py:2446 +#: common/models.py:2452 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2451 +#: common/models.py:2457 msgid "Default stock item template" msgstr "" -#: common/models.py:2453 +#: common/models.py:2459 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2459 +#: common/models.py:2465 msgid "Default stock location label template" msgstr "" -#: common/models.py:2461 +#: common/models.py:2467 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2467 +#: common/models.py:2473 msgid "Default build line label template" msgstr "" -#: common/models.py:2469 +#: common/models.py:2475 msgid "The build line label template to be automatically selected" msgstr "" -#: common/models.py:2475 +#: common/models.py:2481 msgid "Receive error reports" msgstr "" -#: common/models.py:2476 +#: common/models.py:2482 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2481 +#: common/models.py:2487 msgid "Last used printing machines" msgstr "" -#: common/models.py:2482 +#: common/models.py:2488 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2525 +#: common/models.py:2531 msgid "Price break quantity" msgstr "" -#: common/models.py:2532 company/serializers.py:496 order/admin.py:42 -#: order/models.py:1333 order/models.py:2243 +#: common/models.py:2538 company/serializers.py:496 order/admin.py:42 +#: order/models.py:1373 order/models.py:2292 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 -#: templates/js/translated/return_order.js:741 +#: templates/js/translated/return_order.js:740 msgid "Price" msgstr "" -#: common/models.py:2533 +#: common/models.py:2539 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2704 common/models.py:2889 +#: common/models.py:2710 common/models.py:2895 msgid "Endpoint" msgstr "" -#: common/models.py:2705 +#: common/models.py:2711 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2715 +#: common/models.py:2721 msgid "Name for this webhook" msgstr "" -#: common/models.py:2719 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1045 -#: plugin/models.py:56 templates/js/translated/company.js:523 +#: common/models.py:2725 company/models.py:160 company/models.py:814 +#: machine/models.py:39 part/admin.py:88 part/models.py:1088 +#: plugin/models.py:65 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:492 @@ -3614,135 +3628,135 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2719 +#: common/models.py:2725 msgid "Is this webhook active" msgstr "" -#: common/models.py:2735 users/models.py:159 +#: common/models.py:2741 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2736 +#: common/models.py:2742 msgid "Token for access" msgstr "" -#: common/models.py:2744 +#: common/models.py:2750 msgid "Secret" msgstr "" -#: common/models.py:2745 +#: common/models.py:2751 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2853 +#: common/models.py:2859 msgid "Message ID" msgstr "" -#: common/models.py:2854 +#: common/models.py:2860 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2862 +#: common/models.py:2868 msgid "Host" msgstr "" -#: common/models.py:2863 +#: common/models.py:2869 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2871 +#: common/models.py:2877 msgid "Header" msgstr "" -#: common/models.py:2872 +#: common/models.py:2878 msgid "Header of this message" msgstr "" -#: common/models.py:2879 +#: common/models.py:2885 msgid "Body" msgstr "" -#: common/models.py:2880 +#: common/models.py:2886 msgid "Body of this message" msgstr "" -#: common/models.py:2890 +#: common/models.py:2896 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2895 +#: common/models.py:2901 msgid "Worked on" msgstr "" -#: common/models.py:2896 +#: common/models.py:2902 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3022 +#: common/models.py:3028 msgid "Id" msgstr "" -#: common/models.py:3024 templates/js/translated/company.js:965 +#: common/models.py:3030 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3028 templates/js/translated/news.js:60 +#: common/models.py:3034 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3030 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3036 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3032 templates/js/translated/news.js:52 +#: common/models.py:3038 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3035 +#: common/models.py:3041 msgid "Read" msgstr "" -#: common/models.py:3035 +#: common/models.py:3041 msgid "Was this news item read?" msgstr "" -#: common/models.py:3052 company/models.py:156 part/models.py:929 +#: common/models.py:3058 company/models.py:156 part/models.py:972 #: 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 +#: report/templates/report/inventree_return_order_report.html:35 #: stock/templates/stock/item_base.html:133 templates/503.html:31 #: templates/hover_image.html:7 templates/hover_image.html:9 #: templates/modals.html:6 msgid "Image" msgstr "" -#: common/models.py:3052 +#: common/models.py:3058 msgid "Image file" msgstr "" -#: common/models.py:3094 +#: common/models.py:3100 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3113 +#: common/models.py:3119 msgid "Unit name" msgstr "" -#: common/models.py:3120 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3126 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3121 +#: common/models.py:3127 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3128 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3134 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3129 +#: common/models.py:3135 msgid "Unit definition" msgstr "" @@ -3929,9 +3943,9 @@ msgid "Contact email address" msgstr "" #: company/models.py:139 company/templates/company/company_base.html:145 -#: order/models.py:331 order/templates/order/order_base.html:203 +#: order/models.py:344 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 -#: order/templates/order/sales_order_base.html:214 +#: order/templates/order/sales_order_base.html:218 msgid "Contact" msgstr "" @@ -3977,7 +3991,7 @@ msgstr "" #: company/models.py:273 company/models.py:382 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:776 +#: company/templates/company/company_base.html:12 stock/api.py:810 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "" @@ -4069,8 +4083,8 @@ msgstr "" msgid "Link to address information (external)" msgstr "" -#: company/models.py:489 company/models.py:792 stock/models.py:751 -#: stock/serializers.py:266 stock/templates/stock/item_base.html:142 +#: company/models.py:489 company/models.py:792 stock/models.py:772 +#: stock/serializers.py:395 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -4081,7 +4095,7 @@ msgstr "" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:515 +#: company/templates/company/supplier_part.html:145 part/serializers.py:530 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4096,13 +4110,13 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:525 +#: company/templates/company/supplier_part.html:153 part/serializers.py:540 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800 -#: templates/js/translated/purchase_order.js:1852 -#: templates/js/translated/purchase_order.js:2054 +#: templates/js/translated/purchase_order.js:1851 +#: templates/js/translated/purchase_order.js:2053 msgid "MPN" msgstr "" @@ -4129,9 +4143,8 @@ msgstr "" msgid "Parameter name" msgstr "" -#: company/models.py:621 -#: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2448 templates/js/translated/company.js:1166 +#: company/models.py:621 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2425 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492 #: templates/js/translated/stock.js:1522 msgid "Value" @@ -4142,10 +4155,10 @@ msgid "Parameter value" msgstr "" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1009 part/models.py:3623 +#: part/admin.py:57 part/models.py:1052 part/models.py:3666 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 -#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370 +#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 msgid "Units" msgstr "" @@ -4166,9 +4179,9 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:465 +#: company/templates/company/supplier_part.html:129 order/models.py:487 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:499 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:514 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4176,7 +4189,7 @@ msgstr "" #: templates/js/translated/company.js:511 #: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1690 +#: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/table_filters.js:804 msgid "Supplier" msgstr "" @@ -4185,7 +4198,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:809 part/serializers.py:510 +#: company/models.py:809 part/serializers.py:525 msgid "Supplier stock keeping unit" msgstr "" @@ -4206,29 +4219,29 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:418 part/models.py:4070 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4113 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 -#: report/templates/report/inventree_slr_report.html:105 -#: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:579 +#: report/templates/report/inventree_purchase_order_report.html:32 +#: report/templates/report/inventree_return_order_report.html:27 +#: report/templates/report/inventree_sales_order_report.html:32 +#: report/templates/report/inventree_stock_location_report.html:105 +#: stock/serializers.py:708 msgid "Note" msgstr "" -#: company/models.py:857 part/models.py:1967 +#: company/models.py:857 part/models.py:2010 msgid "base cost" msgstr "" -#: company/models.py:858 part/models.py:1968 +#: company/models.py:858 part/models.py:2011 msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:782 stock/serializers.py:1350 +#: stock/admin.py:224 stock/models.py:803 stock/serializers.py:1479 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 -#: templates/js/translated/stock.js:2426 +#: templates/js/translated/stock.js:2424 msgid "Packaging" msgstr "" @@ -4241,8 +4254,8 @@ msgstr "" #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 -#: templates/js/translated/purchase_order.js:2085 -#: templates/js/translated/purchase_order.js:2102 +#: templates/js/translated/purchase_order.js:2084 +#: templates/js/translated/purchase_order.js:2101 msgid "Pack Quantity" msgstr "" @@ -4250,7 +4263,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:892 part/models.py:1974 +#: company/models.py:892 part/models.py:2017 msgid "multiple" msgstr "" @@ -4285,7 +4298,7 @@ msgstr "" #: part/templates/part/part_base.html:146 #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 -#: templates/js/translated/model_renderers.js:306 +#: templates/js/translated/model_renderers.js:312 #: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 msgid "Inactive" msgstr "" @@ -4321,11 +4334,11 @@ msgstr "" #: company/templates/company/manufacturer_part.html:51 #: company/templates/company/supplier_part.html:83 #: part/templates/part/part_thumb.html:20 -#: report/templates/report/inventree_build_order_base.html:98 -#: report/templates/report/inventree_po_report_base.html:40 -#: report/templates/report/inventree_so_report_base.html:40 -#: report/templates/report/inventree_test_report_base.html:84 -#: report/templates/report/inventree_test_report_base.html:163 +#: report/templates/report/inventree_build_order_report.html:98 +#: report/templates/report/inventree_purchase_order_report.html:40 +#: report/templates/report/inventree_sales_order_report.html:40 +#: report/templates/report/inventree_test_report.html:84 +#: report/templates/report/inventree_test_report.html:163 msgid "Part image" msgstr "" @@ -4344,16 +4357,16 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:92 order/models.py:910 -#: order/models.py:2010 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:144 stock/models.py:804 -#: stock/models.py:805 stock/serializers.py:1100 +#: company/templates/company/company_base.html:92 order/models.py:941 +#: order/models.py:2059 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:148 stock/models.py:825 +#: stock/models.py:826 stock/serializers.py:1229 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 -#: templates/js/translated/return_order.js:296 -#: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2962 +#: templates/js/translated/return_order.js:295 +#: templates/js/translated/sales_order.js:820 +#: templates/js/translated/stock.js:2959 #: templates/js/translated/table_filters.js:808 msgid "Customer" msgstr "" @@ -4362,10 +4375,10 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:124 order/models.py:341 +#: company/templates/company/company_base.html:124 order/models.py:354 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 -#: order/templates/order/sales_order_base.html:221 +#: order/templates/order/sales_order_base.html:225 msgid "Address" msgstr "" @@ -4374,7 +4387,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:211 -#: part/templates/part/part_base.html:528 +#: part/templates/part/part_base.html:527 msgid "Remove Image" msgstr "" @@ -4383,19 +4396,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:214 -#: part/templates/part/part_base.html:531 +#: part/templates/part/part_base.html:530 #: templates/InvenTree/settings/user.html:88 #: templates/InvenTree/settings/user_sso.html:43 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:243 -#: part/templates/part/part_base.html:560 +#: part/templates/part/part_base.html:559 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:258 -#: part/templates/part/part_base.html:614 +#: part/templates/part/part_base.html:613 msgid "Download Image" msgstr "" @@ -4558,7 +4571,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:821 +#: part/admin.py:122 part/serializers.py:836 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4609,10 +4622,10 @@ msgstr "" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:452 -#: stock/models.py:762 stock/templates/stock/item_base.html:233 +#: stock/models.py:783 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 -#: templates/js/translated/stock.js:2282 +#: templates/js/translated/stock.js:2280 msgid "Supplier Part" msgstr "" @@ -4658,11 +4671,11 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:509 +#: part/bom.py:311 part/serializers.py:524 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1851 -#: templates/js/translated/purchase_order.js:2029 +#: templates/js/translated/purchase_order.js:1850 +#: templates/js/translated/purchase_order.js:2028 msgid "SKU" msgstr "" @@ -4671,12 +4684,12 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:209 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:199 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:206 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:200 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:207 #: templates/js/translated/stock.js:537 msgid "New Stock Item" msgstr "" @@ -4708,16 +4721,16 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:820 part/stocktake.py:223 +#: part/serializers.py:835 part/stocktake.py:223 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:787 stock/serializers.py:951 +#: stock/serializers.py:916 stock/serializers.py:1080 #: stock/templates/stock/location.html:170 -#: stock/templates/stock/location.html:184 -#: stock/templates/stock/location.html:196 +#: stock/templates/stock/location.html:191 +#: stock/templates/stock/location.html:203 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2769 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 #: users/models.py:206 msgid "Stock Items" msgstr "" @@ -4751,126 +4764,48 @@ msgstr "" msgid "New Company" msgstr "" -#: label/api.py:247 -msgid "Error printing label" -msgstr "" - -#: label/models.py:120 -msgid "Label name" -msgstr "" - -#: label/models.py:128 -msgid "Label description" -msgstr "" - -#: label/models.py:136 -msgid "Label" -msgstr "" - -#: label/models.py:137 -msgid "Label template file" -msgstr "" - -#: label/models.py:143 part/models.py:3494 report/models.py:324 -#: templates/js/translated/part.js:2900 -#: templates/js/translated/table_filters.js:481 -msgid "Enabled" -msgstr "" - -#: label/models.py:144 -msgid "Label template is enabled" -msgstr "" - -#: label/models.py:149 -msgid "Width [mm]" -msgstr "" - -#: label/models.py:150 -msgid "Label width, specified in mm" -msgstr "" - -#: label/models.py:156 -msgid "Height [mm]" -msgstr "" - -#: label/models.py:157 -msgid "Label height, specified in mm" -msgstr "" - -#: label/models.py:163 report/models.py:317 -msgid "Filename Pattern" -msgstr "" - -#: label/models.py:164 -msgid "Pattern for generating label filenames" -msgstr "" - -#: label/models.py:313 label/models.py:352 label/models.py:377 -#: label/models.py:412 -msgid "Query filters (comma-separated list of key=value pairs)" -msgstr "" - -#: label/models.py:314 label/models.py:353 label/models.py:378 -#: label/models.py:413 report/models.py:345 report/models.py:496 -#: report/models.py:532 report/models.py:568 report/models.py:750 -msgid "Filters" -msgstr "" - -#: label/templates/label/part/part_label.html:31 -#: label/templates/label/stockitem/qr.html:21 -#: label/templates/label/stocklocation/qr.html:20 -#: templates/allauth_2fa/setup.html:18 -msgid "QR Code" -msgstr "" - -#: label/templates/label/part/part_label_code128.html:31 -#: label/templates/label/stocklocation/qr_and_text.html:31 -#: templates/qr_code.html:7 -msgid "QR code" -msgstr "" - -#: machine/machine_types/label_printer.py:217 +#: machine/machine_types/label_printer.py:218 msgid "Copies" msgstr "" -#: machine/machine_types/label_printer.py:218 +#: machine/machine_types/label_printer.py:219 msgid "Number of copies to print for each label" msgstr "" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:234 msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:234 order/api.py:1515 -#: templates/js/translated/sales_order.js:1042 +#: machine/machine_types/label_printer.py:235 order/api.py:1515 +#: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "" -#: machine/machine_types/label_printer.py:235 +#: machine/machine_types/label_printer.py:236 msgid "Printing" msgstr "" -#: machine/machine_types/label_printer.py:236 +#: machine/machine_types/label_printer.py:237 msgid "No media" msgstr "" -#: machine/machine_types/label_printer.py:237 +#: machine/machine_types/label_printer.py:238 msgid "Disconnected" msgstr "" -#: machine/machine_types/label_printer.py:244 +#: machine/machine_types/label_printer.py:245 msgid "Label Printer" msgstr "" -#: machine/machine_types/label_printer.py:245 +#: machine/machine_types/label_printer.py:246 msgid "Directly print labels for various items." msgstr "" -#: machine/machine_types/label_printer.py:251 +#: machine/machine_types/label_printer.py:252 msgid "Printer Location" msgstr "" -#: machine/machine_types/label_printer.py:252 +#: machine/machine_types/label_printer.py:253 msgid "Scope the printer to a specific location" msgstr "" @@ -4930,19 +4865,19 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:89 -#: report/templates/report/inventree_po_report_base.html:31 -#: report/templates/report/inventree_so_report_base.html:31 +#: order/admin.py:30 order/models.py:90 +#: report/templates/report/inventree_purchase_order_report.html:31 +#: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2126 -#: templates/js/translated/sales_order.js:1847 +#: templates/js/translated/purchase_order.js:2125 +#: templates/js/translated/sales_order.js:1883 msgid "Total Price" msgstr "" #: order/api.py:161 order/serializers.py:91 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 -#: order/templates/order/sales_order_base.html:118 +#: order/templates/order/sales_order_base.html:122 msgid "Order Status" msgstr "" @@ -4955,10 +4890,10 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:437 order/api.py:817 order/models.py:1382 order/models.py:1491 -#: order/models.py:1537 order/models.py:1651 order/models.py:1805 -#: order/models.py:2209 order/models.py:2260 -#: templates/js/translated/sales_order.js:1488 +#: order/api.py:437 order/api.py:817 order/models.py:1422 order/models.py:1531 +#: order/models.py:1577 order/models.py:1691 order/models.py:1845 +#: order/models.py:2258 order/models.py:2309 +#: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" @@ -4970,402 +4905,398 @@ msgstr "" msgid "Order Pending" msgstr "" -#: order/api.py:1509 order/models.py:1383 order/models.py:1492 -#: order/templates/order/order_base.html:9 +#: order/api.py:1509 order/models.py:381 order/models.py:1423 +#: order/models.py:1532 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 -#: report/templates/report/inventree_po_report_base.html:14 -#: stock/templates/stock/item_base.html:176 +#: report/templates/report/inventree_purchase_order_report.html:14 +#: stock/serializers.py:119 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 -#: templates/js/translated/purchase_order.js:1674 -#: templates/js/translated/stock.js:2262 templates/js/translated/stock.js:2910 +#: templates/js/translated/purchase_order.js:1673 +#: templates/js/translated/stock.js:2260 templates/js/translated/stock.js:2907 msgid "Purchase Order" msgstr "" -#: order/api.py:1513 order/models.py:2210 order/models.py:2261 -#: order/templates/order/return_order_base.html:9 +#: order/api.py:1513 order/models.py:2008 order/models.py:2259 +#: order/models.py:2310 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:281 -#: templates/js/translated/stock.js:2944 +#: report/templates/report/inventree_return_order_report.html:13 +#: templates/js/translated/return_order.js:280 +#: templates/js/translated/stock.js:2941 msgid "Return Order" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:96 order/serializers.py:71 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:99 order/serializers.py:72 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:246 +#: order/models.py:248 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:278 +#: order/models.py:291 msgid "Order description (optional)" msgstr "" -#: order/models.py:287 +#: order/models.py:300 msgid "Select project code for this order" msgstr "" -#: order/models.py:291 order/models.py:1288 order/models.py:1704 +#: order/models.py:304 order/models.py:1328 order/models.py:1744 msgid "Link to external page" msgstr "" -#: order/models.py:299 +#: order/models.py:312 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:313 +#: order/models.py:326 msgid "Created By" msgstr "" -#: order/models.py:321 +#: order/models.py:334 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:332 +#: order/models.py:345 msgid "Point of contact for this order" msgstr "" -#: order/models.py:342 +#: order/models.py:355 msgid "Company address for this order" msgstr "" -#: order/models.py:443 order/models.py:899 +#: order/models.py:465 order/models.py:930 msgid "Order reference" msgstr "" -#: order/models.py:451 order/models.py:923 +#: order/models.py:473 order/models.py:954 msgid "Purchase order status" msgstr "" -#: order/models.py:466 +#: order/models.py:488 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:477 order/templates/order/order_base.html:148 -#: templates/js/translated/purchase_order.js:1703 +#: order/models.py:499 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1702 msgid "Supplier Reference" msgstr "" -#: order/models.py:478 +#: order/models.py:500 msgid "Supplier order reference code" msgstr "" -#: order/models.py:487 +#: order/models.py:509 msgid "received by" msgstr "" -#: order/models.py:493 order/models.py:2036 +#: order/models.py:515 order/models.py:2085 msgid "Issue Date" msgstr "" -#: order/models.py:494 order/models.py:2037 +#: order/models.py:516 order/models.py:2086 msgid "Date order was issued" msgstr "" -#: order/models.py:501 order/models.py:2044 +#: order/models.py:523 order/models.py:2093 msgid "Date order was completed" msgstr "" -#: order/models.py:545 +#: order/models.py:567 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:739 +#: order/models.py:761 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:911 +#: order/models.py:942 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:934 order/models.py:2029 +#: order/models.py:965 order/models.py:2078 msgid "Customer Reference " msgstr "" -#: order/models.py:935 order/models.py:2030 +#: order/models.py:966 order/models.py:2079 msgid "Customer order reference code" msgstr "" -#: order/models.py:939 order/models.py:1658 -#: templates/js/translated/sales_order.js:843 -#: templates/js/translated/sales_order.js:1024 +#: order/models.py:970 order/models.py:1698 +#: templates/js/translated/sales_order.js:879 +#: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "" -#: order/models.py:948 +#: order/models.py:979 msgid "shipped by" msgstr "" -#: order/models.py:999 -msgid "Order cannot be completed as no parts have been assigned" -msgstr "" - -#: order/models.py:1004 +#: order/models.py:1029 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1008 templates/js/translated/sales_order.js:506 +#: order/models.py:1033 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1013 +#: order/models.py:1038 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1260 +#: order/models.py:1300 msgid "Item quantity" msgstr "" -#: order/models.py:1277 +#: order/models.py:1317 msgid "Line item reference" msgstr "" -#: order/models.py:1284 +#: order/models.py:1324 msgid "Line item notes" msgstr "" -#: order/models.py:1296 +#: order/models.py:1336 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1317 +#: order/models.py:1357 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1323 +#: order/models.py:1363 msgid "Context" msgstr "" -#: order/models.py:1324 +#: order/models.py:1364 msgid "Additional context for this line" msgstr "" -#: order/models.py:1334 +#: order/models.py:1374 msgid "Unit price" msgstr "" -#: order/models.py:1367 +#: order/models.py:1407 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1374 +#: order/models.py:1414 msgid "deleted" msgstr "" -#: order/models.py:1402 +#: order/models.py:1442 msgid "Supplier part" msgstr "" -#: order/models.py:1409 order/templates/order/order_base.html:196 +#: order/models.py:1449 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 #: templates/js/translated/purchase_order.js:1306 -#: templates/js/translated/purchase_order.js:2170 -#: templates/js/translated/return_order.js:764 +#: templates/js/translated/purchase_order.js:2169 +#: templates/js/translated/return_order.js:763 #: templates/js/translated/table_filters.js:120 #: templates/js/translated/table_filters.js:602 msgid "Received" msgstr "" -#: order/models.py:1410 +#: order/models.py:1450 msgid "Number of items received" msgstr "" -#: order/models.py:1418 stock/models.py:923 stock/serializers.py:400 +#: order/models.py:1458 stock/models.py:944 stock/serializers.py:529 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2313 +#: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "" -#: order/models.py:1419 +#: order/models.py:1459 msgid "Unit purchase price" msgstr "" -#: order/models.py:1434 +#: order/models.py:1474 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1525 +#: order/models.py:1565 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1530 +#: order/models.py:1570 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1556 part/templates/part/part_pricing.html:107 +#: order/models.py:1596 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1557 +#: order/models.py:1597 msgid "Unit sale price" msgstr "" -#: order/models.py:1567 +#: order/models.py:1607 msgid "Shipped quantity" msgstr "" -#: order/models.py:1659 +#: order/models.py:1699 msgid "Date of shipment" msgstr "" -#: order/models.py:1665 templates/js/translated/sales_order.js:1036 +#: order/models.py:1705 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1666 +#: order/models.py:1706 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1674 +#: order/models.py:1714 msgid "Checked By" msgstr "" -#: order/models.py:1675 +#: order/models.py:1715 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1682 order/models.py:1895 order/serializers.py:1354 -#: order/serializers.py:1464 templates/js/translated/model_renderers.js:448 +#: order/models.py:1722 order/models.py:1935 order/serializers.py:1354 +#: order/serializers.py:1464 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" -#: order/models.py:1683 +#: order/models.py:1723 msgid "Shipment number" msgstr "" -#: order/models.py:1691 +#: order/models.py:1731 msgid "Tracking Number" msgstr "" -#: order/models.py:1692 +#: order/models.py:1732 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1699 +#: order/models.py:1739 msgid "Invoice Number" msgstr "" -#: order/models.py:1700 +#: order/models.py:1740 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1720 +#: order/models.py:1760 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1723 +#: order/models.py:1763 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1841 order/models.py:1843 +#: order/models.py:1881 order/models.py:1883 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1850 +#: order/models.py:1890 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1853 +#: order/models.py:1893 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1856 +#: order/models.py:1896 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1875 order/serializers.py:1231 +#: order/models.py:1915 order/serializers.py:1231 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1878 +#: order/models.py:1918 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1879 plugin/base/barcodes/api.py:481 +#: order/models.py:1919 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1887 +#: order/models.py:1927 msgid "Line" msgstr "" -#: order/models.py:1896 +#: order/models.py:1936 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1909 order/models.py:2217 -#: templates/js/translated/return_order.js:722 +#: order/models.py:1949 order/models.py:2266 +#: templates/js/translated/return_order.js:721 msgid "Item" msgstr "" -#: order/models.py:1910 +#: order/models.py:1950 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1919 +#: order/models.py:1959 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1999 +#: order/models.py:2048 msgid "Return Order reference" msgstr "" -#: order/models.py:2011 +#: order/models.py:2060 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2023 +#: order/models.py:2072 msgid "Return order status" msgstr "" -#: order/models.py:2202 +#: order/models.py:2251 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2218 +#: order/models.py:2267 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2224 +#: order/models.py:2273 msgid "Received Date" msgstr "" -#: order/models.py:2225 +#: order/models.py:2274 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2236 templates/js/translated/return_order.js:733 +#: order/models.py:2285 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2237 +#: order/models.py:2286 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2244 +#: order/models.py:2293 msgid "Cost associated with return or repair for this line item" msgstr "" #: order/serializers.py:80 order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 -#: report/templates/report/inventree_po_report_base.html:22 -#: report/templates/report/inventree_return_order_report_base.html:19 -#: report/templates/report/inventree_so_report_base.html:22 +#: report/templates/report/inventree_purchase_order_report.html:22 +#: report/templates/report/inventree_return_order_report.html:19 +#: report/templates/report/inventree_sales_order_report.html:22 msgid "Line Items" msgstr "" @@ -5595,7 +5526,7 @@ msgstr "" #: order/templates/order/order_base.html:84 #: order/templates/order/return_order_base.html:87 -#: order/templates/order/sales_order_base.html:93 +#: order/templates/order/sales_order_base.html:97 msgid "Complete Order" msgstr "" @@ -5605,13 +5536,13 @@ msgstr "" #: order/templates/order/order_base.html:106 #: order/templates/order/return_order_base.html:101 -#: order/templates/order/sales_order_base.html:106 +#: order/templates/order/sales_order_base.html:110 msgid "Order Reference" msgstr "" #: order/templates/order/order_base.html:111 #: order/templates/order/return_order_base.html:106 -#: order/templates/order/sales_order_base.html:111 +#: order/templates/order/sales_order_base.html:115 msgid "Order Description" msgstr "" @@ -5620,19 +5551,19 @@ msgid "No suppplier information available" msgstr "" #: order/templates/order/order_base.html:154 -#: order/templates/order/sales_order_base.html:157 +#: order/templates/order/sales_order_base.html:161 msgid "Completed Line Items" msgstr "" #: order/templates/order/order_base.html:160 -#: order/templates/order/sales_order_base.html:163 -#: order/templates/order/sales_order_base.html:173 +#: order/templates/order/sales_order_base.html:167 +#: order/templates/order/sales_order_base.html:177 msgid "Incomplete" msgstr "" #: order/templates/order/order_base.html:179 #: order/templates/order/return_order_base.html:157 -#: report/templates/report/inventree_build_order_base.html:121 +#: report/templates/report/inventree_build_order_report.html:121 msgid "Issued" msgstr "" @@ -5642,15 +5573,15 @@ msgstr "" #: order/templates/order/order_base.html:228 #: order/templates/order/return_order_base.html:199 -#: order/templates/order/sales_order_base.html:239 +#: order/templates/order/sales_order_base.html:243 msgid "Total cost could not be calculated" msgstr "" -#: order/templates/order/order_base.html:318 +#: order/templates/order/order_base.html:314 msgid "Purchase Order QR Code" msgstr "" -#: order/templates/order/order_base.html:330 +#: order/templates/order/order_base.html:326 msgid "Link Barcode to Purchase Order" msgstr "" @@ -5707,8 +5638,8 @@ msgstr "" #: templates/js/translated/build.js:1629 #: templates/js/translated/purchase_order.js:696 #: templates/js/translated/purchase_order.js:1236 -#: templates/js/translated/return_order.js:506 -#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/return_order.js:505 +#: templates/js/translated/sales_order.js:1145 #: templates/js/translated/stock.js:714 templates/js/translated/stock.js:883 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -5762,7 +5693,7 @@ msgstr "" #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 #: templates/js/translated/purchase_order.js:414 -#: templates/js/translated/return_order.js:459 +#: templates/js/translated/return_order.js:458 #: templates/js/translated/sales_order.js:237 msgid "Add Line Item" msgstr "" @@ -5811,30 +5742,30 @@ msgid "Print packing list" msgstr "" #: order/templates/order/return_order_base.html:138 -#: order/templates/order/sales_order_base.html:151 -#: templates/js/translated/return_order.js:309 -#: templates/js/translated/sales_order.js:797 +#: order/templates/order/sales_order_base.html:155 +#: templates/js/translated/return_order.js:308 +#: templates/js/translated/sales_order.js:833 msgid "Customer Reference" msgstr "" #: order/templates/order/return_order_base.html:195 -#: order/templates/order/sales_order_base.html:235 +#: order/templates/order/sales_order_base.html:239 #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1072 -#: templates/js/translated/purchase_order.js:1753 -#: templates/js/translated/return_order.js:381 -#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/purchase_order.js:1752 +#: templates/js/translated/return_order.js:380 +#: templates/js/translated/sales_order.js:891 msgid "Total Cost" msgstr "" -#: order/templates/order/return_order_base.html:263 +#: order/templates/order/return_order_base.html:259 msgid "Return Order QR Code" msgstr "" -#: order/templates/order/return_order_base.html:275 +#: order/templates/order/return_order_base.html:271 msgid "Link Barcode to Return Order" msgstr "" @@ -5852,25 +5783,30 @@ msgid "Ship Items" msgstr "" #: order/templates/order/sales_order_base.html:92 -#: templates/js/translated/sales_order.js:484 +#: order/templates/order/sales_order_base.html:93 +msgid "Mark As Shipped" +msgstr "" + +#: order/templates/order/sales_order_base.html:96 +#: templates/js/translated/sales_order.js:536 msgid "Complete Sales Order" msgstr "" -#: order/templates/order/sales_order_base.html:131 +#: order/templates/order/sales_order_base.html:135 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:169 +#: order/templates/order/sales_order_base.html:173 #: order/templates/order/sales_order_detail.html:99 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "" -#: order/templates/order/sales_order_base.html:312 +#: order/templates/order/sales_order_base.html:321 msgid "Sales Order QR Code" msgstr "" -#: order/templates/order/sales_order_base.html:324 +#: order/templates/order/sales_order_base.html:333 msgid "Link Barcode to Sales Order" msgstr "" @@ -5914,12 +5850,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:404 part/models.py:3921 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:406 part/models.py:3964 part/stocktake.py:218 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:411 part/models.py:3922 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:413 part/models.py:3965 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -5928,20 +5864,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:904 part/templates/part/part_base.html:269 -#: report/templates/report/inventree_slr_report.html:103 -#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2341 -#: templates/js/translated/stock.js:2038 +#: part/admin.py:48 part/models.py:947 part/templates/part/part_base.html:269 +#: report/templates/report/inventree_stock_location_report.html:103 +#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 +#: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:913 part/templates/part/part_base.html:277 -#: report/models.py:195 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2347 +#: part/admin.py:50 part/models.py:956 part/templates/part/part_base.html:277 +#: report/models.py:161 templates/js/translated/part.js:1231 +#: templates/js/translated/part.js:2346 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:317 part/models.py:886 +#: part/admin.py:53 part/admin.py:319 part/models.py:929 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5950,15 +5886,15 @@ msgstr "" msgid "Part Image" msgstr "" -#: part/admin.py:63 part/admin.py:300 part/stocktake.py:221 +#: part/admin.py:63 part/admin.py:302 part/stocktake.py:221 msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:302 part/stocktake.py:222 +#: part/admin.py:67 part/admin.py:304 part/stocktake.py:222 msgid "Category Name" msgstr "" -#: part/admin.py:71 part/admin.py:314 +#: part/admin.py:71 part/admin.py:316 msgid "Default Location ID" msgstr "" @@ -5966,11 +5902,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:872 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:915 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1000 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1043 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5983,160 +5919,164 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3080 part/models.py:3094 +#: part/admin.py:155 part/models.py:3123 part/models.py:3137 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3087 part/models.py:3101 +#: part/admin.py:158 part/models.py:3130 part/models.py:3144 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" -#: part/admin.py:306 part/admin.py:393 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:211 msgid "Parent ID" msgstr "" -#: part/admin.py:310 part/admin.py:400 stock/admin.py:62 +#: part/admin.py:312 part/admin.py:402 stock/admin.py:62 msgid "Parent Name" msgstr "" -#: part/admin.py:318 part/templates/part/category.html:88 +#: part/admin.py:320 part/templates/part/category.html:88 #: part/templates/part/category.html:101 msgid "Category Path" msgstr "" -#: part/admin.py:323 part/models.py:391 part/serializers.py:117 +#: part/admin.py:325 part/models.py:393 part/serializers.py:117 #: part/serializers.py:272 part/serializers.py:391 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2803 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "ชิ้นส่วน" -#: part/admin.py:384 +#: part/admin.py:386 msgid "BOM Level" msgstr "" -#: part/admin.py:387 +#: part/admin.py:389 msgid "BOM Item ID" msgstr "" -#: part/admin.py:397 +#: part/admin.py:399 msgid "Parent IPN" msgstr "" -#: part/admin.py:408 part/models.py:3923 +#: part/admin.py:410 part/models.py:3966 msgid "Part IPN" msgstr "" -#: part/admin.py:421 part/serializers.py:1261 +#: part/admin.py:423 part/serializers.py:1276 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:426 part/serializers.py:1276 +#: part/admin.py:428 part/serializers.py:1291 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:119 +#: part/api.py:112 msgid "Starred" msgstr "" -#: part/api.py:121 +#: part/api.py:114 msgid "Filter by starred categories" msgstr "" -#: part/api.py:138 stock/api.py:284 +#: part/api.py:131 stock/api.py:318 msgid "Depth" msgstr "" -#: part/api.py:138 +#: part/api.py:131 msgid "Filter by category depth" msgstr "" -#: part/api.py:156 stock/api.py:302 +#: part/api.py:149 stock/api.py:336 msgid "Cascade" msgstr "" -#: part/api.py:158 +#: part/api.py:151 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:178 +#: part/api.py:171 msgid "Parent" msgstr "" -#: part/api.py:180 +#: part/api.py:173 msgid "Filter by parent category" msgstr "" -#: part/api.py:213 +#: part/api.py:206 msgid "Exclude Tree" msgstr "" -#: part/api.py:215 +#: part/api.py:208 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:461 +#: part/api.py:455 msgid "Has Results" msgstr "" -#: part/api.py:628 +#: part/api.py:622 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:646 +#: part/api.py:640 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:662 +#: part/api.py:656 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:746 +#: part/api.py:740 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:893 +#: part/api.py:887 msgid "Valid" msgstr "" -#: part/api.py:894 +#: part/api.py:888 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:900 +#: part/api.py:894 msgid "This option must be selected" msgstr "" -#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866 -#: part/serializers.py:406 part/serializers.py:1117 -#: part/templates/part/part_base.html:260 stock/api.py:745 +#: part/api.py:1111 +msgid "BOM Valid" +msgstr "" + +#: part/api.py:1515 part/models.py:939 part/models.py:3429 part/models.py:3909 +#: part/serializers.py:406 part/serializers.py:1132 +#: part/templates/part/part_base.html:260 stock/api.py:779 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2377 +#: templates/js/translated/part.js:2376 msgid "Category" msgstr "" -#: part/api.py:1849 +#: part/api.py:1803 msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:101 part/models.py:939 +#: part/bom.py:170 part/models.py:102 part/models.py:982 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:822 +#: part/bom.py:171 part/serializers.py:837 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6145,698 +6085,712 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:82 part/models.py:3867 part/templates/part/category.html:16 +#: part/models.py:83 part/models.py:3910 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:83 part/templates/part/category.html:136 +#: part/models.py:84 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "" -#: part/models.py:102 +#: part/models.py:103 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:107 stock/models.py:165 templates/js/translated/part.js:2810 -#: templates/js/translated/stock.js:2775 +#: part/models.py:108 stock/models.py:177 templates/js/translated/part.js:2809 +#: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "" -#: part/models.py:109 +#: part/models.py:110 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:118 +#: part/models.py:119 msgid "Default keywords" msgstr "" -#: part/models.py:119 +#: part/models.py:120 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:125 stock/models.py:89 stock/models.py:148 +#: part/models.py:126 stock/models.py:89 stock/models.py:160 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:126 stock/models.py:149 +#: part/models.py:127 stock/models.py:161 msgid "Icon (optional)" msgstr "" -#: part/models.py:148 +#: part/models.py:149 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:484 +#: part/models.py:482 +msgid "Cannot delete this part as it is still active" +msgstr "" + +#: part/models.py:489 +msgid "Cannot delete this part as it is used in an assembly" +msgstr "" + +#: part/models.py:527 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:532 part/models.py:539 +#: part/models.py:575 part/models.py:582 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:551 +#: part/models.py:594 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:616 +#: part/models.py:659 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:696 +#: part/models.py:739 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:801 +#: part/models.py:844 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:811 +#: part/models.py:854 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:826 +#: part/models.py:869 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:855 part/models.py:3922 +#: part/models.py:898 part/models.py:3965 msgid "Part name" msgstr "" -#: part/models.py:860 +#: part/models.py:903 msgid "Is Template" msgstr "" -#: part/models.py:861 +#: part/models.py:904 msgid "Is this part a template part?" msgstr "" -#: part/models.py:871 +#: part/models.py:914 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:879 +#: part/models.py:922 msgid "Part description (optional)" msgstr "" -#: part/models.py:887 +#: part/models.py:930 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:897 +#: part/models.py:940 msgid "Part category" msgstr "" -#: part/models.py:905 +#: part/models.py:948 msgid "Internal Part Number" msgstr "" -#: part/models.py:912 +#: part/models.py:955 msgid "Part revision or version number" msgstr "" -#: part/models.py:937 +#: part/models.py:980 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:983 part/templates/part/part_base.html:376 +#: part/models.py:1026 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:984 +#: part/models.py:1027 msgid "Default supplier part" msgstr "" -#: part/models.py:991 +#: part/models.py:1034 msgid "Default Expiry" msgstr "" -#: part/models.py:992 +#: part/models.py:1035 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1001 +#: part/models.py:1044 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1010 +#: part/models.py:1053 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1017 +#: part/models.py:1060 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1023 +#: part/models.py:1066 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1029 +#: part/models.py:1072 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1035 +#: part/models.py:1078 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1041 +#: part/models.py:1084 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1045 +#: part/models.py:1088 msgid "Is this part active?" msgstr "" -#: part/models.py:1051 +#: part/models.py:1094 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1057 +#: part/models.py:1100 msgid "BOM checksum" msgstr "" -#: part/models.py:1058 +#: part/models.py:1101 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1066 +#: part/models.py:1109 msgid "BOM checked by" msgstr "" -#: part/models.py:1071 +#: part/models.py:1114 msgid "BOM checked date" msgstr "" -#: part/models.py:1087 +#: part/models.py:1130 msgid "Creation User" msgstr "" -#: part/models.py:1097 +#: part/models.py:1140 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1102 part/templates/part/part_base.html:339 +#: part/models.py:1145 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 -#: templates/js/translated/part.js:2471 +#: templates/js/translated/part.js:2470 msgid "Last Stocktake" msgstr "" -#: part/models.py:1975 +#: part/models.py:2018 msgid "Sell multiple" msgstr "" -#: part/models.py:2994 +#: part/models.py:3037 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3010 +#: part/models.py:3053 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3011 +#: part/models.py:3054 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3017 +#: part/models.py:3060 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3018 +#: part/models.py:3061 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3024 +#: part/models.py:3067 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3025 +#: part/models.py:3068 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3031 +#: part/models.py:3074 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3032 +#: part/models.py:3075 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3038 +#: part/models.py:3081 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3039 +#: part/models.py:3082 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3045 +#: part/models.py:3088 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3046 +#: part/models.py:3089 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3052 +#: part/models.py:3095 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3053 +#: part/models.py:3096 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3059 +#: part/models.py:3102 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3060 +#: part/models.py:3103 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3066 +#: part/models.py:3109 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3067 +#: part/models.py:3110 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3073 +#: part/models.py:3116 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3074 +#: part/models.py:3117 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3081 +#: part/models.py:3124 msgid "Override minimum cost" msgstr "" -#: part/models.py:3088 +#: part/models.py:3131 msgid "Override maximum cost" msgstr "" -#: part/models.py:3095 +#: part/models.py:3138 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3102 +#: part/models.py:3145 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3108 +#: part/models.py:3151 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3109 +#: part/models.py:3152 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3115 +#: part/models.py:3158 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3116 +#: part/models.py:3159 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3122 +#: part/models.py:3165 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3123 +#: part/models.py:3166 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3129 +#: part/models.py:3172 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3130 +#: part/models.py:3173 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3149 +#: part/models.py:3192 msgid "Part for stocktake" msgstr "" -#: part/models.py:3154 +#: part/models.py:3197 msgid "Item Count" msgstr "" -#: part/models.py:3155 +#: part/models.py:3198 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3163 +#: part/models.py:3206 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3167 part/models.py:3250 +#: part/models.py:3210 part/models.py:3293 #: part/templates/part/part_scheduling.html:13 -#: report/templates/report/inventree_test_report_base.html:106 +#: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 #: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 -#: templates/js/translated/purchase_order.js:1732 -#: templates/js/translated/stock.js:2824 +#: templates/js/translated/purchase_order.js:1731 +#: templates/js/translated/stock.js:2821 msgid "Date" msgstr "" -#: part/models.py:3168 +#: part/models.py:3211 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3176 +#: part/models.py:3219 msgid "Additional notes" msgstr "" -#: part/models.py:3186 +#: part/models.py:3229 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3192 +#: part/models.py:3235 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3193 +#: part/models.py:3236 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3199 +#: part/models.py:3242 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3200 +#: part/models.py:3243 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3256 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3299 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3257 +#: part/models.py:3300 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3262 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3305 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3263 +#: part/models.py:3306 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3273 +#: part/models.py:3316 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3435 +#: part/models.py:3478 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3446 +#: part/models.py:3489 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3457 +#: part/models.py:3500 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3474 templates/js/translated/part.js:2879 +#: part/models.py:3517 templates/js/translated/part.js:2878 msgid "Test Name" msgstr "" -#: part/models.py:3475 +#: part/models.py:3518 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3481 +#: part/models.py:3524 msgid "Test Key" msgstr "" -#: part/models.py:3482 +#: part/models.py:3525 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3489 +#: part/models.py:3532 msgid "Test Description" msgstr "" -#: part/models.py:3490 +#: part/models.py:3533 msgid "Enter description for this test" msgstr "" -#: part/models.py:3494 +#: part/models.py:3537 report/models.py:208 +#: templates/js/translated/part.js:2899 +#: templates/js/translated/table_filters.js:481 +msgid "Enabled" +msgstr "" + +#: part/models.py:3537 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3499 templates/js/translated/part.js:2908 +#: part/models.py:3542 templates/js/translated/part.js:2907 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3500 +#: part/models.py:3543 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3505 templates/js/translated/part.js:2916 +#: part/models.py:3548 templates/js/translated/part.js:2915 msgid "Requires Value" msgstr "" -#: part/models.py:3506 +#: part/models.py:3549 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3511 templates/js/translated/part.js:2923 +#: part/models.py:3554 templates/js/translated/part.js:2922 msgid "Requires Attachment" msgstr "" -#: part/models.py:3513 +#: part/models.py:3556 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3560 +#: part/models.py:3603 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3565 +#: part/models.py:3608 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3585 +#: part/models.py:3628 msgid "Choices must be unique" msgstr "" -#: part/models.py:3602 +#: part/models.py:3645 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3617 +#: part/models.py:3660 msgid "Parameter Name" msgstr "" -#: part/models.py:3624 +#: part/models.py:3667 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3632 +#: part/models.py:3675 msgid "Parameter description" msgstr "" -#: part/models.py:3638 templates/js/translated/part.js:1627 +#: part/models.py:3681 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3639 +#: part/models.py:3682 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3644 templates/js/translated/part.js:1636 +#: part/models.py:3687 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3645 +#: part/models.py:3688 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3722 +#: part/models.py:3765 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3765 +#: part/models.py:3808 msgid "Parent Part" msgstr "" -#: part/models.py:3773 part/models.py:3874 part/models.py:3875 +#: part/models.py:3816 part/models.py:3917 part/models.py:3918 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3778 +#: part/models.py:3821 msgid "Data" msgstr "" -#: part/models.py:3779 +#: part/models.py:3822 msgid "Parameter Value" msgstr "" -#: part/models.py:3881 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3924 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3882 +#: part/models.py:3925 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3920 +#: part/models.py:3963 msgid "Part ID or part name" msgstr "" -#: part/models.py:3921 +#: part/models.py:3964 msgid "Unique part ID value" msgstr "" -#: part/models.py:3923 +#: part/models.py:3966 msgid "Part IPN value" msgstr "" -#: part/models.py:3924 +#: part/models.py:3967 msgid "Level" msgstr "" -#: part/models.py:3924 +#: part/models.py:3967 msgid "BOM level" msgstr "" -#: part/models.py:4014 +#: part/models.py:4057 msgid "Select parent part" msgstr "" -#: part/models.py:4024 +#: part/models.py:4067 msgid "Sub part" msgstr "" -#: part/models.py:4025 +#: part/models.py:4068 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4036 +#: part/models.py:4079 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4042 +#: part/models.py:4085 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4048 +#: part/models.py:4091 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4055 part/templates/part/upload_bom.html:55 +#: part/models.py:4098 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4056 +#: part/models.py:4099 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4063 +#: part/models.py:4106 msgid "BOM item reference" msgstr "" -#: part/models.py:4071 +#: part/models.py:4114 msgid "BOM item notes" msgstr "" -#: part/models.py:4077 +#: part/models.py:4120 msgid "Checksum" msgstr "" -#: part/models.py:4078 +#: part/models.py:4121 msgid "BOM line checksum" msgstr "" -#: part/models.py:4083 templates/js/translated/table_filters.js:174 +#: part/models.py:4126 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4084 +#: part/models.py:4127 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4089 part/templates/part/upload_bom.html:57 +#: part/models.py:4132 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4090 +#: part/models.py:4133 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4095 part/templates/part/upload_bom.html:56 +#: part/models.py:4138 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4096 +#: part/models.py:4139 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4181 stock/models.py:647 +#: part/models.py:4224 stock/models.py:668 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4191 part/models.py:4193 +#: part/models.py:4234 part/models.py:4236 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4333 +#: part/models.py:4376 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4354 +#: part/models.py:4397 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4367 +#: part/models.py:4410 msgid "Parent BOM item" msgstr "" -#: part/models.py:4375 +#: part/models.py:4418 msgid "Substitute part" msgstr "" -#: part/models.py:4391 +#: part/models.py:4434 msgid "Part 1" msgstr "" -#: part/models.py:4399 +#: part/models.py:4442 msgid "Part 2" msgstr "" -#: part/models.py:4400 +#: part/models.py:4443 msgid "Select Related Part" msgstr "" -#: part/models.py:4419 +#: part/models.py:4462 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4424 +#: part/models.py:4467 msgid "Duplicate relationship already exists" msgstr "" @@ -6854,7 +6808,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:406 +#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:535 msgid "Purchase currency of this stock item" msgstr "" @@ -6870,299 +6824,299 @@ msgstr "" msgid "Select category" msgstr "" -#: part/serializers.py:437 +#: part/serializers.py:442 msgid "Original Part" msgstr "" -#: part/serializers.py:438 +#: part/serializers.py:443 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:448 msgid "Copy Image" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:449 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:450 part/templates/part/detail.html:277 +#: part/serializers.py:455 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:451 +#: part/serializers.py:456 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:462 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:458 +#: part/serializers.py:463 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:464 +#: part/serializers.py:469 msgid "Copy Notes" msgstr "" -#: part/serializers.py:465 +#: part/serializers.py:470 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:478 +#: part/serializers.py:488 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:490 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:487 +#: part/serializers.py:497 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:488 +#: part/serializers.py:498 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:500 +#: part/serializers.py:515 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:531 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:526 +#: part/serializers.py:541 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:533 +#: part/serializers.py:548 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:542 +#: part/serializers.py:557 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:553 +#: part/serializers.py:568 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:560 +#: part/serializers.py:575 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:823 +#: part/serializers.py:838 msgid "External Stock" msgstr "" -#: part/serializers.py:825 +#: part/serializers.py:840 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:828 +#: part/serializers.py:843 msgid "Variant Stock" msgstr "" -#: part/serializers.py:856 part/templates/part/copy_part.html:9 +#: part/serializers.py:871 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:857 +#: part/serializers.py:872 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:863 templates/js/translated/part.js:102 +#: part/serializers.py:878 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:864 +#: part/serializers.py:879 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:870 +#: part/serializers.py:885 msgid "Supplier Information" msgstr "" -#: part/serializers.py:871 +#: part/serializers.py:886 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:879 +#: part/serializers.py:894 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:880 +#: part/serializers.py:895 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:885 +#: part/serializers.py:900 msgid "Existing Image" msgstr "" -#: part/serializers.py:886 +#: part/serializers.py:901 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:918 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1109 +#: part/serializers.py:1124 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1119 +#: part/serializers.py:1134 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1129 +#: part/serializers.py:1144 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1135 +#: part/serializers.py:1150 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1136 +#: part/serializers.py:1151 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1141 +#: part/serializers.py:1156 msgid "Generate Report" msgstr "" -#: part/serializers.py:1142 +#: part/serializers.py:1157 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1147 +#: part/serializers.py:1162 msgid "Update Parts" msgstr "" -#: part/serializers.py:1148 +#: part/serializers.py:1163 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1156 +#: part/serializers.py:1171 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1262 +#: part/serializers.py:1277 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1269 +#: part/serializers.py:1284 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1277 +#: part/serializers.py:1292 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1284 +#: part/serializers.py:1299 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1313 +#: part/serializers.py:1328 msgid "Update" msgstr "" -#: part/serializers.py:1314 +#: part/serializers.py:1329 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1337 +#: part/serializers.py:1352 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1344 +#: part/serializers.py:1359 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1347 +#: part/serializers.py:1362 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1714 +#: part/serializers.py:1729 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1722 +#: part/serializers.py:1737 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1723 +#: part/serializers.py:1738 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1728 +#: part/serializers.py:1743 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1729 +#: part/serializers.py:1744 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1734 +#: part/serializers.py:1749 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1735 +#: part/serializers.py:1750 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1755 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1756 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1775 +#: part/serializers.py:1790 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1776 +#: part/serializers.py:1791 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1806 +#: part/serializers.py:1821 msgid "No part column specified" msgstr "" -#: part/serializers.py:1850 +#: part/serializers.py:1865 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1853 +#: part/serializers.py:1868 msgid "No matching part found" msgstr "" -#: part/serializers.py:1856 +#: part/serializers.py:1871 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1865 +#: part/serializers.py:1880 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1888 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1894 +#: part/serializers.py:1909 msgid "At least one BOM item is required" msgstr "" #: part/stocktake.py:224 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:2085 +#: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" @@ -7314,7 +7268,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2218 users/models.py:204 +#: templates/js/translated/stock.js:2216 users/models.py:204 msgid "Stocktake" msgstr "" @@ -7412,15 +7366,15 @@ msgstr "" msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:659 +#: part/templates/part/detail.html:655 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:667 +#: part/templates/part/detail.html:663 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:752 +#: part/templates/part/detail.html:748 msgid "Add Test Result Template" msgstr "" @@ -7479,7 +7433,7 @@ msgstr "" #: part/templates/part/part_base.html:52 #: stock/templates/stock/item_base.html:62 -#: stock/templates/stock/location.html:74 +#: stock/templates/stock/location.html:74 templates/js/translated/label.js:142 msgid "Print Label" msgstr "" @@ -7501,7 +7455,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2293 +#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2292 msgid "Part actions" msgstr "" @@ -7550,7 +7504,7 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:163 -#: part/templates/part/part_base.html:682 +#: part/templates/part/part_base.html:681 msgid "Show Part Details" msgstr "" @@ -7573,7 +7527,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2444 +#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2443 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7596,19 +7550,19 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:512 +#: part/templates/part/part_base.html:511 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:529 +#: part/templates/part/part_base.html:528 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:580 +#: part/templates/part/part_base.html:579 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:676 +#: part/templates/part/part_base.html:675 msgid "Hide Part Details" msgstr "" @@ -7667,8 +7621,8 @@ msgstr "" #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 -#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 -#: templates/js/translated/stock.js:2072 templates/navbar.html:31 +#: templates/js/translated/part.js:2391 templates/js/translated/stock.js:1059 +#: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7714,7 +7668,7 @@ msgstr "" #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 -#: templates/js/translated/stock.js:2248 +#: templates/js/translated/stock.js:2246 msgid "Last Updated" msgstr "" @@ -7786,7 +7740,7 @@ msgid "Update Pricing" msgstr "" #: part/templates/part/stock_count.html:7 -#: templates/js/translated/model_renderers.js:221 +#: templates/js/translated/model_renderers.js:227 #: templates/js/translated/part.js:704 templates/js/translated/part.js:2140 #: templates/js/translated/part.js:2142 msgid "No Stock" @@ -7866,7 +7820,7 @@ msgstr "" msgid "Part Pricing" msgstr "" -#: plugin/api.py:168 +#: plugin/api.py:170 msgid "Plugin cannot be deleted as it is currently active" msgstr "" @@ -7933,7 +7887,7 @@ msgid "Stock item does not match line item" msgstr "" #: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2589 -#: templates/js/translated/sales_order.js:1917 +#: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "" @@ -8027,22 +7981,18 @@ msgstr "" msgid "Quantity to allocate" msgstr "" -#: plugin/base/label/label.py:39 +#: plugin/base/label/label.py:39 templates/js/translated/label.js:154 msgid "Label printing failed" msgstr "" -#: plugin/base/label/mixins.py:63 +#: plugin/base/label/mixins.py:56 msgid "Error rendering label to PDF" msgstr "" -#: plugin/base/label/mixins.py:76 +#: plugin/base/label/mixins.py:70 msgid "Error rendering label to HTML" msgstr "" -#: plugin/base/label/mixins.py:111 -msgid "Error rendering label to PNG" -msgstr "" - #: plugin/builtin/barcodes/inventree_barcode.py:25 msgid "InvenTree Barcodes" msgstr "" @@ -8054,7 +8004,7 @@ msgstr "" #: plugin/builtin/barcodes/inventree_barcode.py:28 #: plugin/builtin/integration/core_notifications.py:35 #: plugin/builtin/integration/currency_exchange.py:21 -#: plugin/builtin/labels/inventree_label.py:23 +#: plugin/builtin/labels/inventree_label.py:22 #: plugin/builtin/labels/inventree_machine.py:64 #: plugin/builtin/labels/label_sheet.py:63 #: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 @@ -8108,19 +8058,19 @@ msgstr "" msgid "Default currency exchange integration" msgstr "" -#: plugin/builtin/labels/inventree_label.py:20 +#: plugin/builtin/labels/inventree_label.py:19 msgid "InvenTree PDF label printer" msgstr "" -#: plugin/builtin/labels/inventree_label.py:21 +#: plugin/builtin/labels/inventree_label.py:20 msgid "Provides native support for printing PDF labels" msgstr "" -#: plugin/builtin/labels/inventree_label.py:29 +#: plugin/builtin/labels/inventree_label.py:28 msgid "Debug mode" msgstr "" -#: plugin/builtin/labels/inventree_label.py:30 +#: plugin/builtin/labels/inventree_label.py:29 msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "" @@ -8132,11 +8082,11 @@ msgstr "" msgid "Provides support for printing using a machine" msgstr "" -#: plugin/builtin/labels/inventree_machine.py:150 +#: plugin/builtin/labels/inventree_machine.py:151 msgid "last used" msgstr "" -#: plugin/builtin/labels/inventree_machine.py:167 +#: plugin/builtin/labels/inventree_machine.py:168 msgid "Options" msgstr "" @@ -8160,7 +8110,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:47 report/models.py:209 +#: plugin/builtin/labels/label_sheet.py:47 report/models.py:308 msgid "Landscape" msgstr "" @@ -8176,11 +8126,11 @@ msgstr "" msgid "Arrays multiple labels onto a single sheet" msgstr "" -#: plugin/builtin/labels/label_sheet.py:94 +#: plugin/builtin/labels/label_sheet.py:99 msgid "Label is too large for page size" msgstr "" -#: plugin/builtin/labels/label_sheet.py:128 +#: plugin/builtin/labels/label_sheet.py:133 msgid "No labels were generated" msgstr "" @@ -8273,61 +8223,62 @@ msgstr "" msgid "Uninstalled plugin successfully" msgstr "" -#: plugin/models.py:30 +#: plugin/models.py:35 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:31 +#: plugin/models.py:36 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:34 users/models.py:100 +#: plugin/models.py:42 users/models.py:100 msgid "Key" msgstr "" -#: plugin/models.py:34 +#: plugin/models.py:43 msgid "Key of plugin" msgstr "" -#: plugin/models.py:42 +#: plugin/models.py:51 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:49 plugin/serializers.py:90 +#: plugin/models.py:58 plugin/serializers.py:90 msgid "Package Name" msgstr "" -#: plugin/models.py:51 +#: plugin/models.py:60 msgid "Name of the installed package, if the plugin was installed via PIP" msgstr "" -#: plugin/models.py:56 +#: plugin/models.py:65 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:147 templates/js/translated/table_filters.js:370 +#: plugin/models.py:156 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "" -#: plugin/models.py:156 +#: plugin/models.py:165 msgid "Sample plugin" msgstr "" -#: plugin/models.py:164 +#: plugin/models.py:173 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:172 +#: plugin/models.py:181 msgid "Package Plugin" msgstr "" -#: plugin/models.py:196 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:205 report/models.py:475 +#: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" msgstr "" -#: plugin/models.py:243 +#: plugin/models.py:252 msgid "Method" msgstr "" @@ -8468,239 +8419,323 @@ msgstr "" msgid "Delete the plugin configuration from the database" msgstr "" -#: report/api.py:158 +#: report/api.py:77 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:197 report/api.py:234 +#: report/api.py:89 report/serializers.py:53 +msgid "Model Type" +msgstr "" + +#: report/api.py:92 report/models.py:439 report/serializers.py:98 +#: report/serializers.py:148 templates/js/translated/purchase_order.js:1747 +#: templates/js/translated/return_order.js:353 +#: templates/js/translated/sales_order.js:887 +#: templates/js/translated/sales_order.js:1047 +msgid "Items" +msgstr "" + +#: report/api.py:168 +msgid "Plugin not found" +msgstr "" + +#: report/api.py:170 +msgid "Plugin is not active" +msgstr "" + +#: report/api.py:172 +msgid "Plugin does not support label printing" +msgstr "" + +#: report/api.py:221 +msgid "Invalid label dimensions" +msgstr "" + +#: report/api.py:236 report/api.py:316 +msgid "No valid items provided to template" +msgstr "" + +#: report/api.py:271 +msgid "Error printing label" +msgstr "" + +#: report/api.py:362 report/api.py:398 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:319 -msgid "Test report" -msgstr "" - -#: report/helpers.py:15 +#: report/helpers.py:41 msgid "A4" msgstr "" -#: report/helpers.py:16 +#: report/helpers.py:42 msgid "A3" msgstr "" -#: report/helpers.py:17 +#: report/helpers.py:43 msgid "Legal" msgstr "" -#: report/helpers.py:18 +#: report/helpers.py:44 msgid "Letter" msgstr "" -#: report/models.py:177 +#: report/models.py:118 +msgid "Template file with this name already exists" +msgstr "" + +#: report/models.py:150 msgid "Template name" msgstr "" -#: report/models.py:183 -msgid "Report template file" +#: report/models.py:156 +msgid "Template description" msgstr "" -#: report/models.py:190 -msgid "Report template description" +#: report/models.py:162 +msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:196 -msgid "Report revision number (auto-increments)" +#: report/models.py:202 +msgid "Filename Pattern" msgstr "" -#: report/models.py:204 +#: report/models.py:203 +msgid "Pattern for generating filenames" +msgstr "" + +#: report/models.py:208 +msgid "Template is enabled" +msgstr "" + +#: report/models.py:214 +msgid "Target model type for template" +msgstr "" + +#: report/models.py:234 +msgid "Filters" +msgstr "" + +#: report/models.py:235 +msgid "Template query filters (comma-separated list of key=value pairs)" +msgstr "" + +#: report/models.py:295 report/models.py:362 +msgid "Template file" +msgstr "" + +#: report/models.py:303 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:210 +#: report/models.py:309 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:318 -msgid "Pattern for generating report filenames" +#: report/models.py:368 +msgid "Width [mm]" msgstr "" -#: report/models.py:325 -msgid "Report template is enabled" +#: report/models.py:369 +msgid "Label width, specified in mm" msgstr "" -#: report/models.py:347 -msgid "StockItem query filters (comma-separated list of key=value pairs)" +#: report/models.py:375 +msgid "Height [mm]" msgstr "" -#: report/models.py:354 -msgid "Include Installed Tests" +#: report/models.py:376 +msgid "Label height, specified in mm" msgstr "" -#: report/models.py:356 -msgid "Include test results for stock items installed inside assembled item" +#: report/models.py:439 +msgid "Number of items to process" msgstr "" -#: report/models.py:424 -msgid "Build Filters" +#: report/models.py:445 +msgid "Report generation is complete" msgstr "" -#: report/models.py:425 -msgid "Build query filters (comma-separated list of key=value pairs" +#: report/models.py:449 templates/js/translated/build.js:2177 +msgid "Progress" msgstr "" -#: report/models.py:464 -msgid "Part Filters" +#: report/models.py:449 +msgid "Report generation progress" msgstr "" -#: report/models.py:465 -msgid "Part query filters (comma-separated list of key=value pairs" +#: report/models.py:457 +msgid "Report Template" msgstr "" -#: report/models.py:497 -msgid "Purchase order query filters" +#: report/models.py:464 report/models.py:487 +msgid "Output File" msgstr "" -#: report/models.py:533 -msgid "Sales order query filters" +#: report/models.py:465 report/models.py:488 +msgid "Generated output file" msgstr "" -#: report/models.py:569 -msgid "Return order query filters" +#: report/models.py:476 +msgid "Label output plugin" msgstr "" -#: report/models.py:641 -msgid "Snippet file with this name already exists" +#: report/models.py:480 +msgid "Label Template" msgstr "" -#: report/models.py:648 +#: report/models.py:503 msgid "Snippet" msgstr "" -#: report/models.py:649 +#: report/models.py:504 msgid "Report snippet file" msgstr "" -#: report/models.py:656 +#: report/models.py:511 msgid "Snippet file description" msgstr "" -#: report/models.py:714 -msgid "Asset file with this name already exists" -msgstr "" - -#: report/models.py:722 +#: report/models.py:529 msgid "Asset" msgstr "" -#: report/models.py:723 +#: report/models.py:530 msgid "Report asset file" msgstr "" -#: report/models.py:730 +#: report/models.py:537 msgid "Asset file description" msgstr "" -#: report/models.py:752 -msgid "stock location query filters (comma-separated list of key=value pairs)" +#: report/serializers.py:91 +msgid "Select report template" +msgstr "" + +#: report/serializers.py:99 report/serializers.py:149 +msgid "List of item primary keys to include in the report" +msgstr "" + +#: report/serializers.py:132 +msgid "Select label template" +msgstr "" + +#: report/serializers.py:140 +msgid "Printing Plugin" +msgstr "" + +#: report/serializers.py:141 +msgid "Select plugin to use for label printing" +msgstr "" + +#: report/templates/label/part_label.html:31 +#: report/templates/label/stockitem_qr.html:21 +#: report/templates/label/stocklocation_qr.html:20 +#: templates/allauth_2fa/setup.html:18 +msgid "QR Code" +msgstr "" + +#: report/templates/label/part_label_code128.html:31 +#: report/templates/label/stocklocation_qr_and_text.html:31 +#: templates/qr_code.html:7 +msgid "QR code" msgstr "" #: report/templates/report/inventree_bill_of_materials_report.html:133 msgid "Materials needed" msgstr "" -#: report/templates/report/inventree_build_order_base.html:146 +#: report/templates/report/inventree_build_order_report.html:146 msgid "Required For" msgstr "" -#: report/templates/report/inventree_po_report_base.html:15 +#: report/templates/report/inventree_purchase_order_report.html:15 msgid "Supplier was deleted" msgstr "" -#: report/templates/report/inventree_po_report_base.html:30 -#: report/templates/report/inventree_so_report_base.html:30 +#: report/templates/report/inventree_purchase_order_report.html:30 +#: report/templates/report/inventree_sales_order_report.html:30 #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:834 -#: templates/js/translated/purchase_order.js:2116 -#: templates/js/translated/sales_order.js:1837 +#: templates/js/translated/purchase_order.js:2115 +#: templates/js/translated/sales_order.js:1873 msgid "Unit Price" msgstr "" -#: report/templates/report/inventree_po_report_base.html:55 -#: report/templates/report/inventree_return_order_report_base.html:48 -#: report/templates/report/inventree_so_report_base.html:55 +#: report/templates/report/inventree_purchase_order_report.html:55 +#: report/templates/report/inventree_return_order_report.html:48 +#: report/templates/report/inventree_sales_order_report.html:55 msgid "Extra Line Items" 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:2018 -#: templates/js/translated/sales_order.js:1806 +#: report/templates/report/inventree_purchase_order_report.html:72 +#: report/templates/report/inventree_sales_order_report.html:72 +#: templates/js/translated/purchase_order.js:2017 +#: templates/js/translated/sales_order.js:1842 msgid "Total" msgstr "" -#: report/templates/report/inventree_return_order_report_base.html:25 -#: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:809 stock/templates/stock/item_base.html:311 +#: report/templates/report/inventree_return_order_report.html:25 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:830 +#: stock/serializers.py:150 stock/templates/stock/item_base.html:311 #: templates/js/translated/build.js:519 templates/js/translated/build.js:1367 #: templates/js/translated/build.js:2355 -#: templates/js/translated/model_renderers.js:224 -#: templates/js/translated/return_order.js:540 -#: templates/js/translated/return_order.js:724 +#: templates/js/translated/model_renderers.js:230 +#: templates/js/translated/return_order.js:539 +#: templates/js/translated/return_order.js:723 #: templates/js/translated/sales_order.js:315 -#: templates/js/translated/sales_order.js:1611 -#: templates/js/translated/sales_order.js:1696 +#: templates/js/translated/sales_order.js:1647 +#: templates/js/translated/sales_order.js:1732 #: templates/js/translated/stock.js:596 msgid "Serial Number" msgstr "" -#: report/templates/report/inventree_slr_report.html:97 +#: report/templates/report/inventree_stock_location_report.html:97 msgid "Stock location items" msgstr "" -#: report/templates/report/inventree_test_report_base.html:21 +#: report/templates/report/inventree_test_report.html:21 msgid "Stock Item Test Report" msgstr "" -#: report/templates/report/inventree_test_report_base.html:97 +#: report/templates/report/inventree_test_report.html:97 msgid "Test Results" msgstr "" -#: report/templates/report/inventree_test_report_base.html:102 +#: report/templates/report/inventree_test_report.html:102 #: templates/js/translated/stock.js:1495 msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2442 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2419 msgid "Result" msgstr "" -#: report/templates/report/inventree_test_report_base.html:130 +#: report/templates/report/inventree_test_report.html:130 msgid "Pass" msgstr "" -#: report/templates/report/inventree_test_report_base.html:132 +#: report/templates/report/inventree_test_report.html:132 msgid "Fail" msgstr "" -#: report/templates/report/inventree_test_report_base.html:139 +#: report/templates/report/inventree_test_report.html:139 msgid "No result (required)" msgstr "" -#: report/templates/report/inventree_test_report_base.html:141 +#: report/templates/report/inventree_test_report.html:141 msgid "No result" msgstr "" -#: report/templates/report/inventree_test_report_base.html:154 +#: report/templates/report/inventree_test_report.html:154 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report_base.html:168 -#: stock/admin.py:162 templates/js/translated/stock.js:700 -#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3113 +#: report/templates/report/inventree_test_report.html:168 stock/admin.py:162 +#: templates/js/translated/stock.js:700 templates/js/translated/stock.js:871 +#: templates/js/translated/stock.js:3110 msgid "Serial" msgstr "" @@ -8757,7 +8792,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:201 stock/models.py:789 +#: stock/admin.py:201 stock/models.py:810 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" @@ -8782,66 +8817,66 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:256 stock/models.py:883 +#: stock/admin.py:256 stock/models.py:904 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2232 users/models.py:124 +#: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" msgstr "" -#: stock/api.py:284 +#: stock/api.py:318 msgid "Filter by location depth" msgstr "" -#: stock/api.py:304 +#: stock/api.py:338 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:325 +#: stock/api.py:359 msgid "Parent Location" msgstr "" -#: stock/api.py:326 +#: stock/api.py:360 msgid "Filter by parent location" msgstr "" -#: stock/api.py:579 templates/js/translated/table_filters.js:427 +#: stock/api.py:613 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:767 +#: stock/api.py:801 msgid "Part Tree" msgstr "" -#: stock/api.py:797 +#: stock/api.py:831 msgid "Expiry date before" msgstr "" -#: stock/api.py:801 +#: stock/api.py:835 msgid "Expiry date after" msgstr "" -#: stock/api.py:804 stock/templates/stock/item_base.html:439 +#: stock/api.py:838 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:891 +#: stock/api.py:925 msgid "Quantity is required" msgstr "" -#: stock/api.py:897 +#: stock/api.py:931 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:928 +#: stock/api.py:962 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:938 +#: stock/api.py:972 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:969 +#: stock/api.py:1003 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8857,477 +8892,517 @@ msgstr "" msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:125 stock/models.py:771 +#: stock/models.py:127 stock/models.py:792 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:126 stock/templates/stock/location.html:179 +#: stock/models.py:128 stock/templates/stock/location.html:186 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "" -#: stock/models.py:158 stock/models.py:932 +#: stock/models.py:170 stock/models.py:953 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:159 stock/models.py:933 +#: stock/models.py:171 stock/models.py:954 msgid "Select Owner" msgstr "" -#: stock/models.py:167 +#: stock/models.py:179 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:174 templates/js/translated/stock.js:2784 +#: stock/models.py:186 templates/js/translated/stock.js:2781 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "" -#: stock/models.py:175 +#: stock/models.py:187 msgid "This is an external stock location" msgstr "" -#: stock/models.py:181 templates/js/translated/stock.js:2793 +#: stock/models.py:193 templates/js/translated/stock.js:2790 #: templates/js/translated/table_filters.js:246 msgid "Location type" msgstr "" -#: stock/models.py:185 +#: stock/models.py:197 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:254 +#: stock/models.py:266 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:626 +#: stock/models.py:647 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:653 stock/serializers.py:290 +#: stock/models.py:674 stock/serializers.py:419 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:670 +#: stock/models.py:691 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:680 stock/models.py:693 +#: stock/models.py:701 stock/models.py:714 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:683 +#: stock/models.py:704 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:707 +#: stock/models.py:728 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:712 +#: stock/models.py:733 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:725 +#: stock/models.py:746 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:741 +#: stock/models.py:762 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:753 +#: stock/models.py:774 msgid "Base part" msgstr "" -#: stock/models.py:763 +#: stock/models.py:784 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:775 +#: stock/models.py:796 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:783 stock/serializers.py:1351 +#: stock/models.py:804 stock/serializers.py:1480 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:794 +#: stock/models.py:815 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:813 +#: stock/models.py:834 msgid "Serial number for this item" msgstr "" -#: stock/models.py:827 stock/serializers.py:1334 +#: stock/models.py:848 stock/serializers.py:1463 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:832 +#: stock/models.py:853 msgid "Stock Quantity" msgstr "" -#: stock/models.py:842 +#: stock/models.py:863 msgid "Source Build" msgstr "" -#: stock/models.py:845 +#: stock/models.py:866 msgid "Build for this stock item" msgstr "" -#: stock/models.py:852 stock/templates/stock/item_base.html:363 +#: stock/models.py:873 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:855 +#: stock/models.py:876 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:864 +#: stock/models.py:885 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:868 +#: stock/models.py:889 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:874 +#: stock/models.py:895 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:885 +#: stock/models.py:906 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:903 +#: stock/models.py:924 msgid "Delete on deplete" msgstr "" -#: stock/models.py:904 +#: stock/models.py:925 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:924 +#: stock/models.py:945 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:955 +#: stock/models.py:976 msgid "Converted to part" msgstr "" -#: stock/models.py:1473 +#: stock/models.py:1494 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1479 +#: stock/models.py:1500 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1487 +#: stock/models.py:1508 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1493 +#: stock/models.py:1514 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1498 +#: stock/models.py:1519 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1506 stock/serializers.py:529 +#: stock/models.py:1527 stock/serializers.py:658 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1603 +#: stock/models.py:1624 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1621 +#: stock/models.py:1642 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1625 +#: stock/models.py:1646 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1628 +#: stock/models.py:1649 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1631 +#: stock/models.py:1652 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1634 +#: stock/models.py:1655 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1637 +#: stock/models.py:1658 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1644 stock/serializers.py:1240 +#: stock/models.py:1665 stock/serializers.py:1369 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1648 +#: stock/models.py:1669 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1656 +#: stock/models.py:1677 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1661 +#: stock/models.py:1682 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1882 +#: stock/models.py:1903 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2345 +#: stock/models.py:2322 msgid "Entry notes" msgstr "" -#: stock/models.py:2410 +#: stock/models.py:2387 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2415 +#: stock/models.py:2392 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2442 +#: stock/models.py:2419 msgid "Test result" msgstr "" -#: stock/models.py:2449 +#: stock/models.py:2426 msgid "Test output value" msgstr "" -#: stock/models.py:2457 +#: stock/models.py:2434 msgid "Test result attachment" msgstr "" -#: stock/models.py:2461 +#: stock/models.py:2438 msgid "Test notes" msgstr "" -#: stock/models.py:2469 templates/js/translated/stock.js:1548 +#: stock/models.py:2446 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "" -#: stock/models.py:2470 +#: stock/models.py:2447 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2476 +#: stock/models.py:2453 msgid "Started" msgstr "" -#: stock/models.py:2477 +#: stock/models.py:2454 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2483 +#: stock/models.py:2460 msgid "Finished" msgstr "" -#: stock/models.py:2484 +#: stock/models.py:2461 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:100 +#: stock/serializers.py:75 +msgid "Generated batch code" +msgstr "" + +#: stock/serializers.py:84 +msgid "Select build order" +msgstr "" + +#: stock/serializers.py:93 +msgid "Select stock item to generate batch code for" +msgstr "" + +#: stock/serializers.py:102 +msgid "Select location to generate batch code for" +msgstr "" + +#: stock/serializers.py:111 +msgid "Select part to generate batch code for" +msgstr "" + +#: stock/serializers.py:120 +msgid "Select purchase order" +msgstr "" + +#: stock/serializers.py:127 +msgid "Enter quantity for batch code" +msgstr "" + +#: stock/serializers.py:150 +msgid "Generated serial number" +msgstr "" + +#: stock/serializers.py:159 +msgid "Select part to generate serial number for" +msgstr "" + +#: stock/serializers.py:167 +msgid "Quantity of serial numbers to generate" +msgstr "" + +#: stock/serializers.py:229 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:119 +#: stock/serializers.py:248 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:151 +#: stock/serializers.py:280 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:184 +#: stock/serializers.py:313 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:282 +#: stock/serializers.py:411 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:402 +#: stock/serializers.py:531 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:464 +#: stock/serializers.py:593 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:477 +#: stock/serializers.py:606 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:484 +#: stock/serializers.py:613 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:495 stock/serializers.py:1197 stock/serializers.py:1453 +#: stock/serializers.py:624 stock/serializers.py:1326 stock/serializers.py:1582 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:502 +#: stock/serializers.py:631 msgid "Optional note field" msgstr "" -#: stock/serializers.py:512 +#: stock/serializers.py:641 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:567 +#: stock/serializers.py:696 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:574 +#: stock/serializers.py:703 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:575 +#: stock/serializers.py:704 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:580 stock/serializers.py:660 stock/serializers.py:756 -#: stock/serializers.py:806 +#: stock/serializers.py:709 stock/serializers.py:789 stock/serializers.py:885 +#: stock/serializers.py:935 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:588 +#: stock/serializers.py:717 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:596 +#: stock/serializers.py:725 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:607 +#: stock/serializers.py:736 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:620 +#: stock/serializers.py:749 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:655 +#: stock/serializers.py:784 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:690 +#: stock/serializers.py:819 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:703 +#: stock/serializers.py:832 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:720 +#: stock/serializers.py:849 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:751 +#: stock/serializers.py:880 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:788 +#: stock/serializers.py:917 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:794 +#: stock/serializers.py:923 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:890 stock/serializers.py:953 +#: stock/serializers.py:1019 stock/serializers.py:1082 #: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:213 +#: stock/templates/stock/location.html:220 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1069 +#: stock/serializers.py:1198 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1073 +#: stock/serializers.py:1202 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1077 +#: stock/serializers.py:1206 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1101 +#: stock/serializers.py:1230 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1107 +#: stock/serializers.py:1236 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1115 +#: stock/serializers.py:1244 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1125 stock/serializers.py:1379 +#: stock/serializers.py:1254 stock/serializers.py:1508 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1204 +#: stock/serializers.py:1333 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1209 +#: stock/serializers.py:1338 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1210 +#: stock/serializers.py:1339 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1215 +#: stock/serializers.py:1344 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1216 +#: stock/serializers.py:1345 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1226 +#: stock/serializers.py:1355 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1293 +#: stock/serializers.py:1422 msgid "No Change" msgstr "" -#: stock/serializers.py:1322 +#: stock/serializers.py:1451 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1341 +#: stock/serializers.py:1470 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1369 +#: stock/serializers.py:1498 msgid "Stock transaction notes" msgstr "" @@ -9352,7 +9427,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:286 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:282 msgid "Delete Test Data" msgstr "" @@ -9368,15 +9443,15 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3274 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3271 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:274 +#: stock/templates/stock/item.html:270 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:304 templates/js/translated/stock.js:1701 +#: stock/templates/stock/item.html:300 templates/js/translated/stock.js:1701 msgid "Add Test Result" msgstr "" @@ -9561,40 +9636,40 @@ msgstr "" msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:507 -#: templates/js/translated/stock.js:1954 +#: stock/templates/stock/item_base.html:504 +#: templates/js/translated/stock.js:1952 msgid "stock item" msgstr "" -#: stock/templates/stock/item_base.html:532 +#: stock/templates/stock/item_base.html:527 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:541 +#: stock/templates/stock/item_base.html:536 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:552 +#: stock/templates/stock/item_base.html:547 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:616 +#: stock/templates/stock/item_base.html:611 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:619 +#: stock/templates/stock/item_base.html:614 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:620 +#: stock/templates/stock/item_base.html:615 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:628 +#: stock/templates/stock/item_base.html:623 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:662 +#: stock/templates/stock/item_base.html:657 msgid "Return to Stock" msgstr "" @@ -9658,28 +9733,32 @@ msgstr "" msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:217 +#: stock/templates/stock/location.html:176 +msgid "Location Type" +msgstr "" + +#: stock/templates/stock/location.html:224 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:218 +#: stock/templates/stock/location.html:225 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:287 -#: templates/js/translated/stock.js:2575 +#: stock/templates/stock/location.html:295 +#: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:315 +#: stock/templates/stock/location.html:317 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:388 +#: stock/templates/stock/location.html:390 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:399 +#: stock/templates/stock/location.html:401 msgid "Link Barcode to Stock Location" msgstr "" @@ -9949,11 +10028,11 @@ msgstr "" msgid "Part Settings" msgstr "" -#: templates/InvenTree/settings/part.html:42 +#: templates/InvenTree/settings/part.html:43 msgid "Part Import" msgstr "" -#: templates/InvenTree/settings/part.html:46 +#: templates/InvenTree/settings/part.html:47 msgid "Import Part" msgstr "" @@ -10174,7 +10253,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:424 +#: templates/js/translated/stock.js:245 users/models.py:411 msgid "Delete" msgstr "" @@ -10283,7 +10362,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2159 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2163 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" @@ -10874,7 +10953,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3218 +#: templates/js/translated/part.js:3217 msgid "Minimum Quantity" msgstr "" @@ -11254,7 +11333,7 @@ msgid "External stock" msgstr "" #: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2595 -#: templates/js/translated/sales_order.js:1910 +#: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" @@ -11264,7 +11343,7 @@ msgstr "" #: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 #: templates/js/translated/part.js:1256 -#: templates/js/translated/sales_order.js:1907 +#: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" @@ -11519,17 +11598,17 @@ msgstr "" #: templates/js/translated/build.js:1576 #: templates/js/translated/purchase_order.js:611 -#: templates/js/translated/sales_order.js:1171 +#: templates/js/translated/sales_order.js:1207 msgid "Select Parts" msgstr "" #: templates/js/translated/build.js:1577 -#: templates/js/translated/sales_order.js:1172 +#: templates/js/translated/sales_order.js:1208 msgid "You must select at least one part to allocate" msgstr "" #: templates/js/translated/build.js:1640 -#: templates/js/translated/sales_order.js:1121 +#: templates/js/translated/sales_order.js:1157 msgid "Specify stock allocation quantity" msgstr "" @@ -11542,7 +11621,7 @@ msgid "All selected parts have been fully allocated" msgstr "" #: templates/js/translated/build.js:1732 -#: templates/js/translated/sales_order.js:1186 +#: templates/js/translated/sales_order.js:1222 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -11551,12 +11630,12 @@ msgid "Allocate Stock Items to Build Order" msgstr "" #: templates/js/translated/build.js:1771 -#: templates/js/translated/sales_order.js:1283 +#: templates/js/translated/sales_order.js:1319 msgid "No matching stock locations" msgstr "" #: templates/js/translated/build.js:1844 -#: templates/js/translated/sales_order.js:1362 +#: templates/js/translated/sales_order.js:1398 msgid "No matching stock items" msgstr "" @@ -11589,9 +11668,9 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 -#: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 -#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 -#: templates/js/translated/stock.js:1985 templates/js/translated/stock.js:2713 +#: templates/js/translated/forms.js:2159 templates/js/translated/forms.js:2175 +#: templates/js/translated/part.js:2315 templates/js/translated/part.js:2741 +#: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "" @@ -11599,21 +11678,17 @@ msgstr "" msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2177 -msgid "Progress" -msgstr "" - -#: templates/js/translated/build.js:2213 templates/js/translated/stock.js:3045 +#: templates/js/translated/build.js:2213 templates/js/translated/stock.js:3042 msgid "No user information" msgstr "" #: templates/js/translated/build.js:2389 -#: templates/js/translated/sales_order.js:1646 +#: templates/js/translated/sales_order.js:1682 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:2390 -#: templates/js/translated/sales_order.js:1647 +#: templates/js/translated/sales_order.js:1683 msgid "Delete stock allocation" msgstr "" @@ -11647,7 +11722,7 @@ msgid "Unit Quantity" msgstr "" #: templates/js/translated/build.js:2591 -#: templates/js/translated/sales_order.js:1915 +#: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" @@ -11664,7 +11739,7 @@ msgid "Allocate tracked items against individual build outputs" msgstr "" #: templates/js/translated/build.js:2662 -#: templates/js/translated/sales_order.js:2016 +#: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "" @@ -11673,7 +11748,7 @@ msgid "Order stock" msgstr "" #: templates/js/translated/build.js:2671 -#: templates/js/translated/sales_order.js:2010 +#: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "" @@ -11923,12 +11998,12 @@ msgid "Delete price break" msgstr "" #: templates/js/translated/filters.js:186 -#: templates/js/translated/filters.js:672 +#: templates/js/translated/filters.js:667 msgid "true" msgstr "" #: templates/js/translated/filters.js:190 -#: templates/js/translated/filters.js:673 +#: templates/js/translated/filters.js:668 msgid "false" msgstr "" @@ -11960,7 +12035,7 @@ msgstr "" msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:582 +#: templates/js/translated/filters.js:577 msgid "Create filter" msgstr "" @@ -11993,32 +12068,32 @@ msgstr "" msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1473 templates/modals.html:19 +#: templates/js/translated/forms.js:1477 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1971 +#: templates/js/translated/forms.js:1975 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2275 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2279 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2489 +#: templates/js/translated/forms.js:2493 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3091 +#: templates/js/translated/forms.js:3095 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3091 +#: templates/js/translated/forms.js:3095 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3103 +#: templates/js/translated/forms.js:3107 msgid "Select Columns" msgstr "" @@ -12042,51 +12117,15 @@ msgstr "" msgid "No parts required for builds" msgstr "" -#: templates/js/translated/label.js:53 templates/js/translated/report.js:123 +#: templates/js/translated/label.js:55 templates/js/translated/report.js:38 msgid "Select Items" msgstr "" -#: templates/js/translated/label.js:54 +#: templates/js/translated/label.js:56 templates/js/translated/report.js:39 msgid "No items selected for printing" msgstr "" -#: templates/js/translated/label.js:72 -msgid "No Labels Found" -msgstr "" - -#: templates/js/translated/label.js:73 -msgid "No label templates found which match the selected items" -msgstr "" - -#: templates/js/translated/label.js:97 -msgid "selected" -msgstr "" - -#: templates/js/translated/label.js:133 -msgid "Printing Options" -msgstr "" - -#: templates/js/translated/label.js:148 -msgid "Print label" -msgstr "" - -#: templates/js/translated/label.js:148 -msgid "Print labels" -msgstr "" - #: templates/js/translated/label.js:149 -msgid "Print" -msgstr "" - -#: templates/js/translated/label.js:155 -msgid "Select label template" -msgstr "" - -#: templates/js/translated/label.js:168 -msgid "Select plugin" -msgstr "" - -#: templates/js/translated/label.js:187 msgid "Labels sent to printer" msgstr "" @@ -12204,7 +12243,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1991 +#: templates/js/translated/purchase_order.js:1990 msgid "No line items found" msgstr "" @@ -12442,19 +12481,19 @@ msgid "Delete Part Parameter Template" msgstr "" #: templates/js/translated/part.js:1716 -#: templates/js/translated/purchase_order.js:1655 +#: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1860 -#: templates/js/translated/purchase_order.js:2154 -#: templates/js/translated/return_order.js:756 -#: templates/js/translated/sales_order.js:1875 +#: templates/js/translated/purchase_order.js:2153 +#: templates/js/translated/return_order.js:755 +#: templates/js/translated/sales_order.js:1911 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1906 -#: templates/js/translated/purchase_order.js:2221 +#: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "" @@ -12466,7 +12505,7 @@ msgstr "" msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2506 +#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2505 msgid "No parts found" msgstr "" @@ -12482,101 +12521,101 @@ msgstr "" msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2286 msgid "part" msgstr "" -#: templates/js/translated/part.js:2288 +#: templates/js/translated/part.js:2287 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2384 +#: templates/js/translated/part.js:2383 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 -#: templates/js/translated/stock.js:2672 +#: templates/js/translated/part.js:2530 templates/js/translated/part.js:2660 +#: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2547 +#: templates/js/translated/part.js:2546 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2645 +#: templates/js/translated/part.js:2644 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2692 +#: templates/js/translated/part.js:2680 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2761 +#: templates/js/translated/part.js:2760 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2777 +#: templates/js/translated/part.js:2776 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2864 +#: templates/js/translated/part.js:2863 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2886 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2885 templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2935 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2941 +#: templates/js/translated/part.js:2940 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2957 +#: templates/js/translated/part.js:2956 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2971 +#: templates/js/translated/part.js:2970 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3050 templates/js/translated/part.js:3051 +#: templates/js/translated/part.js:3049 templates/js/translated/part.js:3050 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3053 +#: templates/js/translated/part.js:3052 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3059 +#: templates/js/translated/part.js:3058 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3109 +#: templates/js/translated/part.js:3108 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3115 +#: templates/js/translated/part.js:3114 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3211 +#: templates/js/translated/part.js:3210 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3227 +#: templates/js/translated/part.js:3226 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3272 +#: templates/js/translated/part.js:3271 msgid "Minimum Stock Level" msgstr "" @@ -12702,7 +12741,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:448 #: templates/js/translated/return_order.js:210 -#: templates/js/translated/sales_order.js:500 +#: templates/js/translated/sales_order.js:552 msgid "Mark this order as complete?" msgstr "" @@ -12715,7 +12754,6 @@ msgid "This order has line items which have not been marked as received." msgstr "" #: templates/js/translated/purchase_order.js:460 -#: templates/js/translated/sales_order.js:514 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" @@ -12773,12 +12811,12 @@ msgid "No matching purchase orders" msgstr "" #: templates/js/translated/purchase_order.js:1073 -#: templates/js/translated/return_order.js:491 +#: templates/js/translated/return_order.js:490 msgid "Select Line Items" msgstr "" #: templates/js/translated/purchase_order.js:1074 -#: templates/js/translated/return_order.js:492 +#: templates/js/translated/return_order.js:491 msgid "At least one line item must be selected" msgstr "" @@ -12827,7 +12865,7 @@ msgid "Quantity to Receive" msgstr "" #: templates/js/translated/purchase_order.js:1333 -#: templates/js/translated/return_order.js:561 +#: templates/js/translated/return_order.js:560 msgid "Confirm receipt of items" msgstr "" @@ -12847,81 +12885,66 @@ msgstr "" msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1682 -#: templates/js/translated/return_order.js:286 -#: templates/js/translated/sales_order.js:774 -#: templates/js/translated/sales_order.js:998 +#: templates/js/translated/purchase_order.js:1681 +#: templates/js/translated/return_order.js:285 +#: templates/js/translated/sales_order.js:810 +#: templates/js/translated/sales_order.js:1034 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1748 -#: templates/js/translated/return_order.js:354 -#: templates/js/translated/sales_order.js:851 -#: templates/js/translated/sales_order.js:1011 -msgid "Items" -msgstr "" - -#: templates/js/translated/purchase_order.js:1844 +#: templates/js/translated/purchase_order.js:1843 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1862 +#: templates/js/translated/purchase_order.js:1861 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1917 -#: templates/js/translated/sales_order.js:2070 +#: templates/js/translated/purchase_order.js:1916 +#: templates/js/translated/sales_order.js:2106 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1932 -#: templates/js/translated/return_order.js:476 -#: templates/js/translated/return_order.js:669 -#: templates/js/translated/sales_order.js:2083 +#: templates/js/translated/purchase_order.js:1931 +#: templates/js/translated/return_order.js:475 +#: templates/js/translated/return_order.js:668 +#: templates/js/translated/sales_order.js:2119 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1943 -#: templates/js/translated/return_order.js:682 -#: templates/js/translated/sales_order.js:2094 +#: templates/js/translated/purchase_order.js:1942 +#: templates/js/translated/return_order.js:681 +#: templates/js/translated/sales_order.js:2130 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2225 -#: templates/js/translated/sales_order.js:2024 +#: templates/js/translated/purchase_order.js:2224 +#: templates/js/translated/sales_order.js:2060 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2226 -#: templates/js/translated/return_order.js:801 -#: templates/js/translated/sales_order.js:2025 +#: templates/js/translated/purchase_order.js:2225 +#: templates/js/translated/return_order.js:800 +#: templates/js/translated/sales_order.js:2061 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2227 -#: templates/js/translated/return_order.js:805 -#: templates/js/translated/sales_order.js:2031 +#: templates/js/translated/purchase_order.js:2226 +#: templates/js/translated/return_order.js:804 +#: templates/js/translated/sales_order.js:2067 msgid "Delete line item" msgstr "" -#: templates/js/translated/report.js:63 -msgid "items selected" +#: templates/js/translated/report.js:49 +msgid "Print Report" msgstr "" -#: templates/js/translated/report.js:71 -msgid "Select Report Template" +#: templates/js/translated/report.js:68 +msgid "Report print successful" msgstr "" -#: templates/js/translated/report.js:86 -msgid "Select Test Report Template" -msgstr "" - -#: templates/js/translated/report.js:140 -msgid "No Reports Found" -msgstr "" - -#: templates/js/translated/report.js:141 -msgid "No report templates found which match the selected items" +#: templates/js/translated/report.js:73 +msgid "Report printing failed" msgstr "" #: templates/js/translated/return_order.js:60 @@ -12953,25 +12976,25 @@ msgstr "" msgid "Complete Return Order" msgstr "" -#: templates/js/translated/return_order.js:266 +#: templates/js/translated/return_order.js:265 msgid "No return orders found" msgstr "" -#: templates/js/translated/return_order.js:300 -#: templates/js/translated/sales_order.js:788 +#: templates/js/translated/return_order.js:299 +#: templates/js/translated/sales_order.js:824 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/return_order.js:562 +#: templates/js/translated/return_order.js:561 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:693 -#: templates/js/translated/sales_order.js:2231 +#: templates/js/translated/return_order.js:692 +#: templates/js/translated/sales_order.js:2267 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:798 +#: templates/js/translated/return_order.js:797 msgid "Mark item as received" msgstr "" @@ -13015,140 +13038,156 @@ msgstr "" msgid "Skip" msgstr "" +#: templates/js/translated/sales_order.js:484 +msgid "Ship Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:500 +msgid "Ship this order?" +msgstr "" + +#: templates/js/translated/sales_order.js:506 +msgid "Order cannot be shipped as there are incomplete shipments" +msgstr "" + #: templates/js/translated/sales_order.js:513 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/sales_order.js:535 +#: templates/js/translated/sales_order.js:514 +msgid "Shipping this order means that the order and line items will no longer be editable." +msgstr "" + +#: templates/js/translated/sales_order.js:572 msgid "Issue this Sales Order?" msgstr "" -#: templates/js/translated/sales_order.js:540 +#: templates/js/translated/sales_order.js:577 msgid "Issue Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:559 +#: templates/js/translated/sales_order.js:596 msgid "Cancel Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:564 +#: templates/js/translated/sales_order.js:601 msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: templates/js/translated/sales_order.js:618 +#: templates/js/translated/sales_order.js:655 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/sales_order.js:728 +#: templates/js/translated/sales_order.js:764 msgid "No sales orders found" msgstr "" -#: templates/js/translated/sales_order.js:908 +#: templates/js/translated/sales_order.js:944 msgid "Edit shipment" msgstr "" -#: templates/js/translated/sales_order.js:911 +#: templates/js/translated/sales_order.js:947 msgid "Complete shipment" msgstr "" -#: templates/js/translated/sales_order.js:916 +#: templates/js/translated/sales_order.js:952 msgid "Delete shipment" msgstr "" -#: templates/js/translated/sales_order.js:933 +#: templates/js/translated/sales_order.js:969 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/sales_order.js:948 +#: templates/js/translated/sales_order.js:984 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:981 +#: templates/js/translated/sales_order.js:1017 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/sales_order.js:1006 +#: templates/js/translated/sales_order.js:1042 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/sales_order.js:1030 -#: templates/js/translated/sales_order.js:1529 +#: templates/js/translated/sales_order.js:1066 +#: templates/js/translated/sales_order.js:1565 msgid "Not shipped" msgstr "" -#: templates/js/translated/sales_order.js:1048 +#: templates/js/translated/sales_order.js:1084 msgid "Tracking" msgstr "" -#: templates/js/translated/sales_order.js:1052 +#: templates/js/translated/sales_order.js:1088 msgid "Invoice" msgstr "" -#: templates/js/translated/sales_order.js:1219 +#: templates/js/translated/sales_order.js:1255 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1270 +#: templates/js/translated/sales_order.js:1306 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/sales_order.js:1271 +#: templates/js/translated/sales_order.js:1307 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1477 +#: templates/js/translated/sales_order.js:1513 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1569 +#: templates/js/translated/sales_order.js:1605 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1583 +#: templates/js/translated/sales_order.js:1619 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/sales_order.js:1584 +#: templates/js/translated/sales_order.js:1620 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1623 -#: templates/js/translated/sales_order.js:1710 +#: templates/js/translated/sales_order.js:1659 +#: templates/js/translated/sales_order.js:1746 #: templates/js/translated/stock.js:1776 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/sales_order.js:1631 -#: templates/js/translated/sales_order.js:1719 +#: templates/js/translated/sales_order.js:1667 +#: templates/js/translated/sales_order.js:1755 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:2008 +#: templates/js/translated/sales_order.js:2044 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/sales_order.js:2012 +#: templates/js/translated/sales_order.js:2048 msgid "Purchase stock" msgstr "" -#: templates/js/translated/sales_order.js:2021 -#: templates/js/translated/sales_order.js:2209 +#: templates/js/translated/sales_order.js:2057 +#: templates/js/translated/sales_order.js:2245 msgid "Calculate price" msgstr "" -#: templates/js/translated/sales_order.js:2035 +#: templates/js/translated/sales_order.js:2071 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:2038 +#: templates/js/translated/sales_order.js:2074 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:2109 +#: templates/js/translated/sales_order.js:2145 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/sales_order.js:2217 +#: templates/js/translated/sales_order.js:2253 msgid "Update Unit Price" msgstr "" @@ -13356,7 +13395,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1042 users/models.py:414 +#: templates/js/translated/stock.js:1042 users/models.py:401 msgid "Add" msgstr "" @@ -13372,7 +13411,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1180 templates/js/translated/stock.js:3302 +#: templates/js/translated/stock.js:1180 templates/js/translated/stock.js:3299 msgid "Select Stock Items" msgstr "" @@ -13456,196 +13495,196 @@ msgstr "" msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:1955 +#: templates/js/translated/stock.js:1953 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1960 +#: templates/js/translated/stock.js:1958 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:1971 +#: templates/js/translated/stock.js:1969 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:2015 +#: templates/js/translated/stock.js:2013 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2093 +#: templates/js/translated/stock.js:2091 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2098 +#: templates/js/translated/stock.js:2096 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2101 +#: templates/js/translated/stock.js:2099 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2104 +#: templates/js/translated/stock.js:2102 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2106 +#: templates/js/translated/stock.js:2104 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2108 +#: templates/js/translated/stock.js:2106 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2111 +#: templates/js/translated/stock.js:2109 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2113 +#: templates/js/translated/stock.js:2111 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2117 +#: templates/js/translated/stock.js:2115 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2119 +#: templates/js/translated/stock.js:2117 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2124 +#: templates/js/translated/stock.js:2122 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2126 +#: templates/js/translated/stock.js:2124 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2128 +#: templates/js/translated/stock.js:2126 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2132 +#: templates/js/translated/stock.js:2130 #: templates/js/translated/table_filters.js:350 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2297 +#: templates/js/translated/stock.js:2295 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2344 +#: templates/js/translated/stock.js:2342 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2472 +#: templates/js/translated/stock.js:2470 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2576 +#: templates/js/translated/stock.js:2573 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2731 +#: templates/js/translated/stock.js:2728 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2849 +#: templates/js/translated/stock.js:2846 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2853 +#: templates/js/translated/stock.js:2850 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2865 +#: templates/js/translated/stock.js:2862 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2887 +#: templates/js/translated/stock.js:2884 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2904 +#: templates/js/translated/stock.js:2901 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2919 +#: templates/js/translated/stock.js:2916 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2936 +#: templates/js/translated/stock.js:2933 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:2950 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2972 +#: templates/js/translated/stock.js:2969 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2990 +#: templates/js/translated/stock.js:2987 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:3008 +#: templates/js/translated/stock.js:3005 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:3016 +#: templates/js/translated/stock.js:3013 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3088 +#: templates/js/translated/stock.js:3085 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3142 templates/js/translated/stock.js:3178 +#: templates/js/translated/stock.js:3139 templates/js/translated/stock.js:3175 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3200 +#: templates/js/translated/stock.js:3197 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3221 +#: templates/js/translated/stock.js:3218 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3222 +#: templates/js/translated/stock.js:3219 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3224 +#: templates/js/translated/stock.js:3221 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3225 +#: templates/js/translated/stock.js:3222 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3226 +#: templates/js/translated/stock.js:3223 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3227 +#: templates/js/translated/stock.js:3224 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3240 +#: templates/js/translated/stock.js:3237 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3303 +#: templates/js/translated/stock.js:3300 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3316 +#: templates/js/translated/stock.js:3313 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3320 +#: templates/js/translated/stock.js:3317 msgid "Change Stock Status" msgstr "" @@ -14247,34 +14286,35 @@ msgstr "" msgid "Revoked" msgstr "" -#: users/models.py:397 +#: users/models.py:384 msgid "Permission set" msgstr "" -#: users/models.py:406 +#: users/models.py:393 msgid "Group" msgstr "" -#: users/models.py:410 +#: users/models.py:397 msgid "View" msgstr "" -#: users/models.py:410 +#: users/models.py:397 msgid "Permission to view items" msgstr "" -#: users/models.py:414 +#: users/models.py:401 msgid "Permission to add items" msgstr "" -#: users/models.py:418 +#: users/models.py:405 msgid "Change" msgstr "" -#: users/models.py:420 +#: users/models.py:407 msgid "Permissions to edit items" msgstr "" -#: users/models.py:426 +#: users/models.py:413 msgid "Permission to delete items" msgstr "" + diff --git a/src/backend/InvenTree/locale/tr/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/tr/LC_MESSAGES/django.po index 3f7226357f..9fcc26835b 100644 --- a/src/backend/InvenTree/locale/tr/LC_MESSAGES/django.po +++ b/src/backend/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: 2024-05-10 05:37+0000\n" -"PO-Revision-Date: 2024-05-10 08:31\n" +"POT-Creation-Date: 2024-05-23 11:25+0000\n" +"PO-Revision-Date: 2024-05-23 11:39\n" "Last-Translator: \n" "Language-Team: Turkish\n" "Language: tr_TR\n" @@ -17,11 +17,11 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 216\n" -#: InvenTree/api.py:271 +#: InvenTree/api.py:272 msgid "API endpoint not found" msgstr "API uç noktası bulunamadı" -#: InvenTree/api.py:535 +#: InvenTree/api.py:536 msgid "User does not have permission to view this model" msgstr "Kullanıcının bu modeli görüntüleme izni yok" @@ -56,26 +56,26 @@ msgstr "Hata detaylarını admin panelinde bulabilirsiniz" msgid "Enter date" msgstr "Tarih giriniz" -#: InvenTree/fields.py:208 InvenTree/models.py:1021 build/serializers.py:444 -#: build/serializers.py:522 build/templates/build/sidebar.html:21 +#: InvenTree/fields.py:208 InvenTree/models.py:1035 build/serializers.py:443 +#: build/serializers.py:521 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 -#: order/models.py:1283 order/templates/order/po_sidebar.html:11 +#: order/models.py:1323 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:59 -#: part/models.py:3175 part/templates/part/part_sidebar.html:63 -#: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:226 stock/models.py:2344 stock/models.py:2461 -#: stock/serializers.py:501 stock/serializers.py:659 stock/serializers.py:755 -#: stock/serializers.py:805 stock/serializers.py:1114 stock/serializers.py:1203 -#: stock/serializers.py:1368 stock/templates/stock/stock_sidebar.html:25 +#: part/models.py:3218 part/templates/part/part_sidebar.html:63 +#: report/templates/report/inventree_build_order_report.html:172 +#: stock/admin.py:226 stock/models.py:2321 stock/models.py:2438 +#: stock/serializers.py:630 stock/serializers.py:788 stock/serializers.py:884 +#: stock/serializers.py:934 stock/serializers.py:1243 stock/serializers.py:1332 +#: stock/serializers.py:1497 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1080 -#: templates/js/translated/purchase_order.js:2201 -#: templates/js/translated/return_order.js:776 -#: templates/js/translated/sales_order.js:1067 -#: templates/js/translated/sales_order.js:1982 -#: templates/js/translated/stock.js:1536 templates/js/translated/stock.js:2430 +#: templates/js/translated/purchase_order.js:2200 +#: templates/js/translated/return_order.js:775 +#: templates/js/translated/sales_order.js:1103 +#: templates/js/translated/sales_order.js:2018 +#: templates/js/translated/stock.js:1536 templates/js/translated/stock.js:2428 msgid "Notes" msgstr "Notlar" @@ -132,7 +132,7 @@ msgstr "Sağlanan e-posta alanı onaylanmadı." msgid "Registration is disabled." msgstr "Kayıt devre dışı." -#: InvenTree/helpers.py:525 order/models.py:541 order/models.py:743 +#: InvenTree/helpers.py:525 order/models.py:563 order/models.py:765 msgid "Invalid quantity provided" msgstr "Geçersiz veri sağlandı" @@ -355,142 +355,142 @@ msgstr "E-posta" msgid "Error running plugin validation" msgstr "Eklenti doğrulama sırasında hata oluştu" -#: InvenTree/models.py:162 +#: InvenTree/models.py:176 msgid "Metadata must be a python dict object" msgstr "Metadata, bir python dict nesnesi olmalıdır" -#: InvenTree/models.py:168 +#: InvenTree/models.py:182 msgid "Plugin Metadata" msgstr "Plugin Metaverileri" -#: InvenTree/models.py:169 +#: InvenTree/models.py:183 msgid "JSON metadata field, for use by external plugins" msgstr "Harici eklentiler tarafından kullanım için JSON metadata alanı" -#: InvenTree/models.py:399 +#: InvenTree/models.py:413 msgid "Improperly formatted pattern" msgstr "Yanlış biçimlendirilmiş desen" -#: InvenTree/models.py:406 +#: InvenTree/models.py:420 msgid "Unknown format key specified" msgstr "Belirtilen bilinmeyen format anahtarı" -#: InvenTree/models.py:412 +#: InvenTree/models.py:426 msgid "Missing required format key" msgstr "Gerekli format anahtarı eksik" -#: InvenTree/models.py:423 +#: InvenTree/models.py:437 msgid "Reference field cannot be empty" msgstr "Referans alanı boş olamaz" -#: InvenTree/models.py:431 +#: InvenTree/models.py:445 msgid "Reference must match required pattern" msgstr "Referans {pattern} deseniyle mutlaka eşleşmeli" -#: InvenTree/models.py:462 +#: InvenTree/models.py:476 msgid "Reference number is too large" msgstr "Referans sayısı çok fazla" -#: InvenTree/models.py:536 +#: InvenTree/models.py:550 msgid "Missing file" msgstr "Eksik dosya" -#: InvenTree/models.py:537 +#: InvenTree/models.py:551 msgid "Missing external link" msgstr "Bozuk dış bağlantı" -#: InvenTree/models.py:558 stock/models.py:2456 +#: InvenTree/models.py:572 stock/models.py:2433 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" msgstr "Ek" -#: InvenTree/models.py:559 +#: InvenTree/models.py:573 msgid "Select file to attach" msgstr "Eklenecek dosyayı seç" -#: InvenTree/models.py:567 common/models.py:3026 company/models.py:146 +#: InvenTree/models.py:581 common/models.py:3032 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 -#: order/models.py:291 order/models.py:1288 order/models.py:1704 -#: part/admin.py:55 part/models.py:919 +#: order/models.py:304 order/models.py:1328 order/models.py:1744 +#: part/admin.py:55 part/models.py:962 #: part/templates/part/part_scheduling.html:11 -#: report/templates/report/inventree_build_order_base.html:164 +#: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2456 -#: templates/js/translated/purchase_order.js:2041 -#: templates/js/translated/purchase_order.js:2205 -#: templates/js/translated/return_order.js:780 -#: templates/js/translated/sales_order.js:1056 -#: templates/js/translated/sales_order.js:1987 +#: templates/js/translated/part.js:2455 +#: templates/js/translated/purchase_order.js:2040 +#: templates/js/translated/purchase_order.js:2204 +#: templates/js/translated/return_order.js:779 +#: templates/js/translated/sales_order.js:1092 +#: templates/js/translated/sales_order.js:2023 msgid "Link" msgstr "Bağlantı" -#: InvenTree/models.py:568 build/models.py:321 part/models.py:920 -#: stock/models.py:819 +#: InvenTree/models.py:582 build/models.py:344 part/models.py:963 +#: stock/models.py:840 msgid "Link to external URL" msgstr "Harici URL'ye bağlantı" -#: InvenTree/models.py:574 templates/js/translated/attachment.js:120 +#: InvenTree/models.py:588 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:341 msgid "Comment" msgstr "Yorum" -#: InvenTree/models.py:575 +#: InvenTree/models.py:589 msgid "File comment" msgstr "Dosya yorumu" -#: InvenTree/models.py:583 InvenTree/models.py:584 common/models.py:2502 -#: common/models.py:2503 common/models.py:2727 common/models.py:2728 -#: common/models.py:2973 common/models.py:2974 part/models.py:3185 -#: part/models.py:3272 part/models.py:3365 part/models.py:3393 -#: plugin/models.py:250 plugin/models.py:251 -#: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3039 users/models.py:111 +#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2508 +#: common/models.py:2509 common/models.py:2733 common/models.py:2734 +#: common/models.py:2979 common/models.py:2980 part/models.py:3228 +#: part/models.py:3315 part/models.py:3408 part/models.py:3436 +#: plugin/models.py:259 plugin/models.py:260 +#: report/templates/report/inventree_test_report.html:105 +#: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" msgstr "Kullanıcı" -#: InvenTree/models.py:588 +#: InvenTree/models.py:602 msgid "upload date" msgstr "yükleme tarihi" -#: InvenTree/models.py:610 +#: InvenTree/models.py:624 msgid "Filename must not be empty" msgstr "Dosya adı boş olamaz" -#: InvenTree/models.py:621 +#: InvenTree/models.py:635 msgid "Invalid attachment directory" msgstr "Ek dosya yolu geçersiz" -#: InvenTree/models.py:651 +#: InvenTree/models.py:665 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "Dosya adı geçersiz karakterler içeriyor'{c}'" -#: InvenTree/models.py:654 +#: InvenTree/models.py:668 msgid "Filename missing extension" msgstr "Dosya uzantısı yok" -#: InvenTree/models.py:663 +#: InvenTree/models.py:677 msgid "Attachment with this filename already exists" msgstr "Aynı isimli başka bir dosya zaten var" -#: InvenTree/models.py:670 +#: InvenTree/models.py:684 msgid "Error renaming file" msgstr "Dosya adı değiştirilirken hata" -#: InvenTree/models.py:846 +#: InvenTree/models.py:860 msgid "Duplicate names cannot exist under the same parent" msgstr "Aynı kaynak altında birden fazla aynı isim kullanılamaz" -#: InvenTree/models.py:863 +#: InvenTree/models.py:877 msgid "Invalid choice" msgstr "Geçersiz seçim" -#: InvenTree/models.py:893 common/models.py:2714 common/models.py:3112 -#: common/serializers.py:403 company/models.py:614 label/models.py:120 -#: machine/models.py:24 part/models.py:855 part/models.py:3616 -#: plugin/models.py:41 report/models.py:176 stock/models.py:76 +#: InvenTree/models.py:907 common/models.py:2720 common/models.py:3118 +#: common/serializers.py:403 company/models.py:614 machine/models.py:24 +#: part/models.py:898 part/models.py:3659 plugin/models.py:50 +#: report/models.py:149 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -503,22 +503,22 @@ msgstr "Geçersiz seçim" #: templates/js/translated/company.js:1165 #: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186 #: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2719 +#: templates/js/translated/part.js:2748 templates/js/translated/stock.js:2716 msgid "Name" msgstr "Adı" -#: InvenTree/models.py:899 build/models.py:194 +#: InvenTree/models.py:913 build/models.py:217 #: build/templates/build/detail.html:24 common/models.py:136 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 label/models.py:127 -#: order/models.py:277 order/models.py:1316 part/admin.py:303 part/admin.py:414 -#: part/models.py:878 part/models.py:3631 part/templates/part/category.html:82 +#: company/templates/company/supplier_part.html:107 order/models.py:290 +#: order/models.py:1356 part/admin.py:305 part/admin.py:416 part/models.py:921 +#: part/models.py:3674 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 -#: part/templates/part/part_scheduling.html:12 report/models.py:189 -#: report/models.py:655 report/models.py:729 -#: report/templates/report/inventree_build_order_base.html:117 +#: part/templates/part/part_scheduling.html:12 report/models.py:155 +#: report/models.py:510 report/models.py:536 +#: report/templates/report/inventree_build_order_report.html:117 #: stock/admin.py:55 stock/models.py:82 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 @@ -530,71 +530,71 @@ msgstr "Adı" #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 -#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2896 +#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2354 +#: templates/js/translated/part.js:2784 templates/js/translated/part.js:2895 #: templates/js/translated/plugin.js:80 -#: templates/js/translated/purchase_order.js:1707 -#: templates/js/translated/purchase_order.js:1850 -#: templates/js/translated/purchase_order.js:2023 -#: templates/js/translated/return_order.js:314 -#: templates/js/translated/sales_order.js:802 -#: templates/js/translated/sales_order.js:1812 -#: templates/js/translated/stock.js:1515 templates/js/translated/stock.js:2060 -#: templates/js/translated/stock.js:2751 templates/js/translated/stock.js:2834 +#: templates/js/translated/purchase_order.js:1706 +#: templates/js/translated/purchase_order.js:1849 +#: templates/js/translated/purchase_order.js:2022 +#: templates/js/translated/return_order.js:313 +#: templates/js/translated/sales_order.js:838 +#: templates/js/translated/sales_order.js:1848 +#: templates/js/translated/stock.js:1515 templates/js/translated/stock.js:2058 +#: templates/js/translated/stock.js:2748 templates/js/translated/stock.js:2831 msgid "Description" msgstr "Açıklama" -#: InvenTree/models.py:900 stock/models.py:83 +#: InvenTree/models.py:914 stock/models.py:83 msgid "Description (optional)" msgstr "Açıklama (isteğe bağlı)" -#: InvenTree/models.py:909 +#: InvenTree/models.py:923 msgid "parent" msgstr "üst" -#: InvenTree/models.py:915 templates/js/translated/part.js:2794 -#: templates/js/translated/stock.js:2760 +#: InvenTree/models.py:929 templates/js/translated/part.js:2793 +#: templates/js/translated/stock.js:2757 msgid "Path" msgstr "Yol" -#: InvenTree/models.py:1021 +#: InvenTree/models.py:1035 msgid "Markdown notes (optional)" msgstr "Markdown notları (isteğe bağlı)" -#: InvenTree/models.py:1050 +#: InvenTree/models.py:1064 msgid "Barcode Data" msgstr "Barkod Verisi" -#: InvenTree/models.py:1051 +#: InvenTree/models.py:1065 msgid "Third party barcode data" msgstr "Üçüncü parti barkod verisi" -#: InvenTree/models.py:1057 +#: InvenTree/models.py:1071 msgid "Barcode Hash" msgstr "Barkod Hash" -#: InvenTree/models.py:1058 +#: InvenTree/models.py:1072 msgid "Unique hash of barcode data" msgstr "Barkod verisinin benzersiz hash'i" -#: InvenTree/models.py:1111 +#: InvenTree/models.py:1125 msgid "Existing barcode found" msgstr "Var olan barkod bulundu" -#: InvenTree/models.py:1154 +#: InvenTree/models.py:1168 msgid "Server Error" msgstr "Sunucu Hatası" -#: InvenTree/models.py:1155 +#: InvenTree/models.py:1169 msgid "An error has been logged by the server." msgstr "Bir hafta sunucu tarafından kayıt edildi." -#: InvenTree/serializers.py:62 part/models.py:4169 +#: InvenTree/serializers.py:62 part/models.py:4212 msgid "Must be a valid number" msgstr "Geçerli bir numara olmalı" #: InvenTree/serializers.py:99 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:2993 +#: company/templates/company/company_base.html:112 part/models.py:3036 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -686,7 +686,7 @@ msgstr "Uzaktan görüntü dosya URL'si" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1161 +#: InvenTree/status.py:66 part/serializers.py:1176 msgid "Background worker check failed" msgstr "Arka plan çalışanı kontrolü başarısız oldu" @@ -699,8 +699,8 @@ msgid "InvenTree system health checks failed" msgstr "InvenTree sistem sağlık kontrolü başarısız" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:37 -#: InvenTree/status_codes.py:148 InvenTree/status_codes.py:164 -#: InvenTree/status_codes.py:182 generic/states/tests.py:17 +#: InvenTree/status_codes.py:149 InvenTree/status_codes.py:165 +#: InvenTree/status_codes.py:183 generic/states/tests.py:17 #: templates/js/translated/table_filters.js:598 msgid "Pending" msgstr "Bekliyor" @@ -709,188 +709,188 @@ msgstr "Bekliyor" msgid "Placed" msgstr "Sipariş verildi" -#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:151 -#: InvenTree/status_codes.py:169 generic/states/tests.py:19 -#: order/templates/order/order_base.html:158 -#: order/templates/order/sales_order_base.html:161 +#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:44 +#: InvenTree/status_codes.py:152 InvenTree/status_codes.py:170 +#: generic/states/tests.py:19 order/templates/order/order_base.html:158 +#: order/templates/order/sales_order_base.html:165 report/models.py:444 msgid "Complete" msgstr "Tamamlandı" -#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:44 -#: InvenTree/status_codes.py:150 InvenTree/status_codes.py:170 +#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:45 +#: InvenTree/status_codes.py:151 InvenTree/status_codes.py:171 msgid "Cancelled" msgstr "İptal edildi" -#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:45 -#: InvenTree/status_codes.py:67 +#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:46 +#: InvenTree/status_codes.py:68 msgid "Lost" msgstr "Kayıp" -#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:46 -#: InvenTree/status_codes.py:73 +#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:47 +#: InvenTree/status_codes.py:74 msgid "Returned" msgstr "İade" -#: InvenTree/status_codes.py:40 InvenTree/status_codes.py:167 +#: InvenTree/status_codes.py:40 InvenTree/status_codes.py:168 msgid "In Progress" msgstr "Devam Ediyor" -#: InvenTree/status_codes.py:43 order/models.py:1566 -#: templates/js/translated/sales_order.js:1523 -#: templates/js/translated/sales_order.js:1644 -#: templates/js/translated/sales_order.js:1957 +#: InvenTree/status_codes.py:43 order/models.py:1606 +#: templates/js/translated/sales_order.js:1559 +#: templates/js/translated/sales_order.js:1680 +#: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "Sevk edildi" -#: InvenTree/status_codes.py:62 +#: InvenTree/status_codes.py:63 msgid "OK" msgstr "TAMAM" -#: InvenTree/status_codes.py:63 +#: InvenTree/status_codes.py:64 msgid "Attention needed" msgstr "Dikkat gerekli" -#: InvenTree/status_codes.py:64 +#: InvenTree/status_codes.py:65 msgid "Damaged" msgstr "Hasarlı" -#: InvenTree/status_codes.py:65 +#: InvenTree/status_codes.py:66 msgid "Destroyed" msgstr "Kullanılamaz durumda" -#: InvenTree/status_codes.py:66 +#: InvenTree/status_codes.py:67 msgid "Rejected" msgstr "Reddedildi" -#: InvenTree/status_codes.py:70 +#: InvenTree/status_codes.py:71 msgid "Quarantined" msgstr "Karantinaya alındı" -#: InvenTree/status_codes.py:91 +#: InvenTree/status_codes.py:92 msgid "Legacy stock tracking entry" msgstr "Eski stok izleme girişi" -#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:544 +#: InvenTree/status_codes.py:94 templates/js/translated/stock.js:544 msgid "Stock item created" msgstr "Stok kalemi oluşturuldu" -#: InvenTree/status_codes.py:96 +#: InvenTree/status_codes.py:97 msgid "Edited stock item" msgstr "Düzenlenen stok kalemi" -#: InvenTree/status_codes.py:97 +#: InvenTree/status_codes.py:98 msgid "Assigned serial number" msgstr "Atanan seri numarası" -#: InvenTree/status_codes.py:100 +#: InvenTree/status_codes.py:101 msgid "Stock counted" msgstr "Stok sayıldı" -#: InvenTree/status_codes.py:101 +#: InvenTree/status_codes.py:102 msgid "Stock manually added" msgstr "Stok manuel olarak eklendi" -#: InvenTree/status_codes.py:102 +#: InvenTree/status_codes.py:103 msgid "Stock manually removed" msgstr "Stok manuel olarak çıkarıldı" -#: InvenTree/status_codes.py:105 +#: InvenTree/status_codes.py:106 msgid "Location changed" msgstr "Konum değişti" -#: InvenTree/status_codes.py:106 +#: InvenTree/status_codes.py:107 msgid "Stock updated" msgstr "Stok Güncellendi" -#: InvenTree/status_codes.py:109 +#: InvenTree/status_codes.py:110 msgid "Installed into assembly" msgstr "Montajda kullanıldı" -#: InvenTree/status_codes.py:110 +#: InvenTree/status_codes.py:111 msgid "Removed from assembly" msgstr "Montajdan çıkarıldı" -#: InvenTree/status_codes.py:112 +#: InvenTree/status_codes.py:113 msgid "Installed component item" msgstr "Bileşen ögesinde kullanıldı" -#: InvenTree/status_codes.py:113 +#: InvenTree/status_codes.py:114 msgid "Removed component item" msgstr "Bileşen ögesinden çıkarıldı" -#: InvenTree/status_codes.py:116 +#: InvenTree/status_codes.py:117 msgid "Split from parent item" msgstr "Üst ögeden ayır" -#: InvenTree/status_codes.py:117 +#: InvenTree/status_codes.py:118 msgid "Split child item" msgstr "Alt ögeyi ayır" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1858 +#: InvenTree/status_codes.py:121 templates/js/translated/stock.js:1858 msgid "Merged stock items" msgstr "Stok parçalarını birleştir" -#: InvenTree/status_codes.py:123 +#: InvenTree/status_codes.py:124 msgid "Converted to variant" msgstr "" -#: InvenTree/status_codes.py:126 +#: InvenTree/status_codes.py:127 msgid "Build order output created" msgstr "Yapım emri çıktısı oluşturuldu" -#: InvenTree/status_codes.py:127 +#: InvenTree/status_codes.py:128 msgid "Build order output completed" msgstr "Yapım emri çıktısı tamamlandı" -#: InvenTree/status_codes.py:128 +#: InvenTree/status_codes.py:129 msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1764 +#: InvenTree/status_codes.py:130 templates/js/translated/stock.js:1764 msgid "Consumed by build order" msgstr "" -#: InvenTree/status_codes.py:132 +#: InvenTree/status_codes.py:133 msgid "Shipped against Sales Order" msgstr "" -#: InvenTree/status_codes.py:135 +#: InvenTree/status_codes.py:136 msgid "Received against Purchase Order" msgstr "" -#: InvenTree/status_codes.py:138 +#: InvenTree/status_codes.py:139 msgid "Returned against Return Order" msgstr "" -#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:375 +#: InvenTree/status_codes.py:142 templates/js/translated/table_filters.js:375 msgid "Sent to customer" msgstr "Müşteriye gönderildi" -#: InvenTree/status_codes.py:142 +#: InvenTree/status_codes.py:143 msgid "Returned from customer" msgstr "Müşteriden geri döndü" -#: InvenTree/status_codes.py:149 +#: InvenTree/status_codes.py:150 msgid "Production" msgstr "Üretim" -#: InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:186 msgid "Return" msgstr "Geri Dön" -#: InvenTree/status_codes.py:188 +#: InvenTree/status_codes.py:189 msgid "Repair" msgstr "" -#: InvenTree/status_codes.py:191 +#: InvenTree/status_codes.py:192 msgid "Replace" msgstr "" -#: InvenTree/status_codes.py:194 +#: InvenTree/status_codes.py:195 msgid "Refund" msgstr "" -#: InvenTree/status_codes.py:197 +#: InvenTree/status_codes.py:198 msgid "Reject" msgstr "" @@ -946,14 +946,14 @@ msgstr "InvenTree Hakkında" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:299 part/models.py:4047 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4090 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4041 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4084 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -969,7 +969,7 @@ msgstr "" #: build/api.py:303 part/admin.py:144 templates/js/translated/build.js:1744 #: templates/js/translated/build.js:2629 -#: templates/js/translated/sales_order.js:1929 +#: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "" @@ -980,7 +980,7 @@ msgstr "" #: templates/email/low_stock_notification.html:17 #: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 #: templates/js/translated/index.js:123 -#: templates/js/translated/model_renderers.js:228 +#: templates/js/translated/model_renderers.js:234 #: templates/js/translated/part.js:692 templates/js/translated/part.js:694 #: templates/js/translated/part.js:699 #: templates/js/translated/table_filters.js:340 @@ -988,16 +988,16 @@ msgstr "" msgid "Available" msgstr "Mevcut" -#: build/models.py:74 build/templates/build/build_base.html:9 +#: build/models.py:82 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 -#: report/templates/report/inventree_build_order_base.html:105 -#: templates/email/build_order_completed.html:16 +#: report/templates/report/inventree_build_order_report.html:105 +#: stock/serializers.py:83 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2895 +#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2892 msgid "Build Order" msgstr "Yapım İşi Emri" -#: build/models.py:75 build/templates/build/build_base.html:13 +#: build/models.py:83 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -1008,71 +1008,71 @@ msgstr "Yapım İşi Emri" msgid "Build Orders" msgstr "Yapım İşi Emirleri" -#: build/models.py:122 +#: build/models.py:130 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:133 order/models.py:239 +#: build/models.py:141 order/models.py:241 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:139 +#: build/models.py:147 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:185 +#: build/models.py:208 msgid "Build Order Reference" msgstr "Yapım İşi Emri Referansı" -#: build/models.py:186 order/models.py:442 order/models.py:898 -#: order/models.py:1276 order/models.py:1998 part/admin.py:417 -#: part/models.py:4062 part/templates/part/upload_bom.html:54 +#: build/models.py:209 order/models.py:464 order/models.py:929 +#: order/models.py:1316 order/models.py:2047 part/admin.py:419 +#: part/models.py:4105 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 -#: report/templates/report/inventree_so_report_base.html:28 +#: report/templates/report/inventree_purchase_order_report.html:28 +#: report/templates/report/inventree_return_order_report.html:26 +#: report/templates/report/inventree_sales_order_report.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 #: templates/js/translated/build.js:2512 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 -#: templates/js/translated/purchase_order.js:2066 -#: templates/js/translated/return_order.js:729 -#: templates/js/translated/sales_order.js:1818 +#: templates/js/translated/purchase_order.js:2065 +#: templates/js/translated/return_order.js:728 +#: templates/js/translated/sales_order.js:1854 msgid "Reference" msgstr "Referans" -#: build/models.py:197 +#: build/models.py:220 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:205 build/templates/build/build_base.html:183 +#: build/models.py:228 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Üst Yapım İşi" -#: build/models.py:206 +#: build/models.py:229 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:211 build/templates/build/build_base.html:97 +#: build/models.py:234 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 -#: order/models.py:1401 order/models.py:1546 order/models.py:1547 -#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004 -#: part/models.py:3148 part/models.py:3292 part/models.py:3315 -#: part/models.py:3336 part/models.py:3358 part/models.py:3468 -#: part/models.py:3764 part/models.py:3920 part/models.py:4013 -#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713 +#: order/models.py:1441 order/models.py:1586 order/models.py:1587 +#: part/api.py:1501 part/api.py:1795 part/models.py:392 part/models.py:3047 +#: part/models.py:3191 part/models.py:3335 part/models.py:3358 +#: part/models.py:3379 part/models.py:3401 part/models.py:3511 +#: part/models.py:3807 part/models.py:3963 part/models.py:4056 +#: part/models.py:4417 part/serializers.py:1122 part/serializers.py:1728 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 -#: report/templates/report/inventree_build_order_base.html:109 -#: report/templates/report/inventree_po_report_base.html:27 -#: report/templates/report/inventree_return_order_report_base.html:24 -#: report/templates/report/inventree_slr_report.html:102 -#: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:267 stock/serializers.py:689 -#: templates/InvenTree/search.html:82 +#: report/templates/report/inventree_build_order_report.html:109 +#: report/templates/report/inventree_purchase_order_report.html:27 +#: report/templates/report/inventree_return_order_report.html:24 +#: report/templates/report/inventree_sales_order_report.html:27 +#: report/templates/report/inventree_stock_location_report.html:102 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:396 +#: stock/serializers.py:818 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -1086,235 +1086,239 @@ msgstr "Bu yapım işinin tahsis edildiği yapım işi emri" #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 #: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 -#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:2323 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:751 #: templates/js/translated/purchase_order.js:1304 -#: templates/js/translated/purchase_order.js:1849 -#: templates/js/translated/purchase_order.js:2008 -#: templates/js/translated/return_order.js:539 -#: templates/js/translated/return_order.js:710 +#: templates/js/translated/purchase_order.js:1848 +#: templates/js/translated/purchase_order.js:2007 +#: templates/js/translated/return_order.js:538 +#: templates/js/translated/return_order.js:709 #: templates/js/translated/sales_order.js:300 -#: templates/js/translated/sales_order.js:1197 -#: templates/js/translated/sales_order.js:1598 -#: templates/js/translated/sales_order.js:1796 +#: templates/js/translated/sales_order.js:1233 +#: templates/js/translated/sales_order.js:1634 +#: templates/js/translated/sales_order.js:1832 #: templates/js/translated/stock.js:676 templates/js/translated/stock.js:842 -#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1999 -#: templates/js/translated/stock.js:2860 templates/js/translated/stock.js:3093 -#: templates/js/translated/stock.js:3239 +#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1997 +#: templates/js/translated/stock.js:2857 templates/js/translated/stock.js:3090 +#: templates/js/translated/stock.js:3236 msgid "Part" msgstr "Parça" -#: build/models.py:219 +#: build/models.py:242 msgid "Select part to build" msgstr "Yapım işi için parça seçin" -#: build/models.py:224 +#: build/models.py:247 msgid "Sales Order Reference" msgstr "Satış Emri Referansı" -#: build/models.py:228 +#: build/models.py:251 msgid "SalesOrder to which this build is allocated" msgstr "Bu yapım işinin tahsis edildiği satış emri" -#: build/models.py:233 build/serializers.py:970 +#: build/models.py:256 build/serializers.py:969 #: templates/js/translated/build.js:1731 -#: templates/js/translated/sales_order.js:1185 +#: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "Kaynak Konum" -#: build/models.py:237 +#: build/models.py:260 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Bu yapım işi için stok alınacak konumu seçin (her hangi bir stok konumundan alınması için boş bırakın)" -#: build/models.py:242 +#: build/models.py:265 msgid "Destination Location" msgstr "Hedef Konum" -#: build/models.py:246 +#: build/models.py:269 msgid "Select location where the completed items will be stored" msgstr "Tamamlanmış ögelerin saklanacağı konumu seçiniz" -#: build/models.py:250 +#: build/models.py:273 msgid "Build Quantity" msgstr "Yapım İşi Miktarı" -#: build/models.py:253 +#: build/models.py:276 msgid "Number of stock items to build" msgstr "Yapım işi stok kalemlerinin sayısı" -#: build/models.py:257 +#: build/models.py:280 msgid "Completed items" msgstr "Tamamlanmış ögeler" -#: build/models.py:259 +#: build/models.py:282 msgid "Number of stock items which have been completed" msgstr "Tamamlanan stok kalemlerinin sayısı" -#: build/models.py:263 +#: build/models.py:286 msgid "Build Status" msgstr "Yapım İşi Durumu" -#: build/models.py:267 +#: build/models.py:290 msgid "Build status code" msgstr "Yapım işi durum kodu" -#: build/models.py:276 build/serializers.py:278 order/serializers.py:581 -#: stock/models.py:823 stock/serializers.py:1333 +#: build/models.py:299 build/serializers.py:277 order/serializers.py:581 +#: stock/models.py:844 stock/serializers.py:75 stock/serializers.py:1462 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Sıra numarası" -#: build/models.py:280 build/serializers.py:279 +#: build/models.py:303 build/serializers.py:278 msgid "Batch code for this build output" msgstr "Yapım işi çıktısı için sıra numarası" -#: build/models.py:283 order/models.py:304 order/serializers.py:120 -#: part/models.py:1079 part/templates/part/part_base.html:310 -#: templates/js/translated/return_order.js:339 -#: templates/js/translated/sales_order.js:827 +#: build/models.py:306 order/models.py:317 order/serializers.py:120 +#: part/models.py:1122 part/templates/part/part_base.html:310 +#: templates/js/translated/return_order.js:338 +#: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "Oluşturulma tarihi" -#: build/models.py:287 +#: build/models.py:310 msgid "Target completion date" msgstr "Hedef tamamlama tarihi" -#: build/models.py:288 +#: build/models.py:311 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:291 order/models.py:500 order/models.py:2043 +#: build/models.py:314 order/models.py:522 order/models.py:2092 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "Tamamlama tarihi" -#: build/models.py:297 +#: build/models.py:320 msgid "completed by" msgstr "tamamlayan" -#: build/models.py:305 templates/js/translated/build.js:2207 +#: build/models.py:328 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "Veren" -#: build/models.py:306 +#: build/models.py:329 msgid "User who issued this build order" msgstr "Bu yapım işi emrini veren kullanıcı" -#: build/models.py:314 build/templates/build/build_base.html:204 +#: build/models.py:337 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:145 -#: order/models.py:322 order/templates/order/order_base.html:217 +#: order/models.py:335 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1096 +#: order/templates/order/sales_order_base.html:232 part/models.py:1139 #: part/templates/part/part_base.html:390 -#: report/templates/report/inventree_build_order_base.html:158 +#: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 #: templates/js/translated/build.js:2219 -#: templates/js/translated/purchase_order.js:1764 -#: templates/js/translated/return_order.js:359 +#: templates/js/translated/purchase_order.js:1763 +#: templates/js/translated/return_order.js:358 #: templates/js/translated/table_filters.js:531 msgid "Responsible" msgstr "Sorumlu" -#: build/models.py:315 +#: build/models.py:338 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:320 build/templates/build/detail.html:108 +#: build/models.py:343 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 -#: order/templates/order/sales_order_base.html:180 -#: part/templates/part/part_base.html:383 stock/models.py:819 +#: order/templates/order/sales_order_base.html:184 +#: part/templates/part/part_base.html:383 stock/models.py:840 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "Harici Bağlantı" -#: build/models.py:325 +#: build/models.py:348 msgid "Build Priority" msgstr "" -#: build/models.py:328 +#: build/models.py:351 msgid "Priority of this build order" msgstr "" -#: build/models.py:335 common/models.py:129 order/admin.py:18 -#: order/models.py:286 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:358 common/models.py:129 order/admin.py:18 +#: order/models.py:299 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 -#: templates/js/translated/purchase_order.js:1711 -#: templates/js/translated/return_order.js:318 -#: templates/js/translated/sales_order.js:806 +#: templates/js/translated/purchase_order.js:1710 +#: templates/js/translated/return_order.js:317 +#: templates/js/translated/sales_order.js:842 #: templates/js/translated/table_filters.js:48 #: templates/project_code_data.html:6 msgid "Project Code" msgstr "" -#: build/models.py:336 +#: build/models.py:359 msgid "Project code for this build order" msgstr "" -#: build/models.py:566 build/models.py:631 +#: build/models.py:589 build/models.py:654 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:588 +#: build/models.py:611 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:594 +#: build/models.py:617 msgid "A build order has been completed" msgstr "" -#: build/models.py:820 build/models.py:895 +#: build/models.py:843 build/models.py:918 msgid "No build output specified" msgstr "Yapım işi çıktısı belirtilmedi" -#: build/models.py:823 +#: build/models.py:846 msgid "Build output is already completed" msgstr "Yapım işi çıktısı zaten tamamlanmış" -#: build/models.py:826 +#: build/models.py:849 msgid "Build output does not match Build Order" msgstr "Yapım işi çıktısı, yapım işi emri ile eşleşmiyor" -#: build/models.py:899 build/serializers.py:221 build/serializers.py:260 -#: build/serializers.py:837 order/models.py:538 order/serializers.py:433 -#: order/serializers.py:576 part/serializers.py:1471 part/serializers.py:1871 -#: stock/models.py:662 stock/models.py:1482 stock/serializers.py:472 +#: build/models.py:922 build/serializers.py:220 build/serializers.py:259 +#: build/serializers.py:836 order/models.py:560 order/serializers.py:433 +#: order/serializers.py:576 part/serializers.py:1486 part/serializers.py:1886 +#: stock/models.py:683 stock/models.py:1503 stock/serializers.py:601 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:904 build/serializers.py:226 +#: build/models.py:927 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:961 build/serializers.py:539 +#: build/models.py:984 build/serializers.py:538 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1323 +#: build/models.py:1335 +msgid "Build Order Line Item" +msgstr "" + +#: build/models.py:1360 msgid "Build object" msgstr "" -#: build/models.py:1337 build/models.py:1593 build/serializers.py:208 -#: build/serializers.py:245 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2524 -#: order/models.py:1259 order/models.py:1918 order/serializers.py:1339 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 -#: part/forms.py:48 part/models.py:3162 part/models.py:4035 +#: build/models.py:1374 build/models.py:1630 build/serializers.py:207 +#: build/serializers.py:244 build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2530 +#: order/models.py:1299 order/models.py:1958 order/serializers.py:1339 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 +#: part/forms.py:48 part/models.py:3205 part/models.py:4078 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 -#: report/templates/report/inventree_build_order_base.html:113 -#: report/templates/report/inventree_po_report_base.html:29 -#: report/templates/report/inventree_slr_report.html:104 -#: report/templates/report/inventree_so_report_base.html:29 -#: report/templates/report/inventree_test_report_base.html:90 -#: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:160 stock/serializers.py:463 +#: report/templates/report/inventree_build_order_report.html:113 +#: report/templates/report/inventree_purchase_order_report.html:29 +#: report/templates/report/inventree_sales_order_report.html:29 +#: report/templates/report/inventree_stock_location_report.html:104 +#: report/templates/report/inventree_test_report.html:90 +#: report/templates/report/inventree_test_report.html:170 stock/admin.py:160 +#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:592 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1324,380 +1328,381 @@ msgstr "" #: templates/js/translated/build.js:737 templates/js/translated/build.js:1369 #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 -#: templates/js/translated/model_renderers.js:230 +#: templates/js/translated/model_renderers.js:236 #: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3341 +#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3340 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 #: templates/js/translated/purchase_order.js:754 -#: templates/js/translated/purchase_order.js:1853 -#: templates/js/translated/purchase_order.js:2072 +#: templates/js/translated/purchase_order.js:1852 +#: templates/js/translated/purchase_order.js:2071 #: templates/js/translated/sales_order.js:317 -#: templates/js/translated/sales_order.js:1199 -#: templates/js/translated/sales_order.js:1518 -#: templates/js/translated/sales_order.js:1608 -#: templates/js/translated/sales_order.js:1698 -#: templates/js/translated/sales_order.js:1824 +#: templates/js/translated/sales_order.js:1235 +#: templates/js/translated/sales_order.js:1554 +#: templates/js/translated/sales_order.js:1644 +#: templates/js/translated/sales_order.js:1734 +#: templates/js/translated/sales_order.js:1860 #: templates/js/translated/stock.js:564 templates/js/translated/stock.js:702 -#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:3024 -#: templates/js/translated/stock.js:3107 +#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:3021 +#: templates/js/translated/stock.js:3104 msgid "Quantity" msgstr "Miktar" -#: build/models.py:1338 +#: build/models.py:1375 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1418 +#: build/models.py:1455 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Ana parça izlenebilir olarak işaretlendiğinden, yapım işi çıktısı için bir yapım işi ögesi belirtmelidir" -#: build/models.py:1427 +#: build/models.py:1464 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1437 order/models.py:1869 +#: build/models.py:1474 order/models.py:1909 msgid "Stock item is over-allocated" msgstr "Stok kalemi fazladan tahsis edilmiş" -#: build/models.py:1443 order/models.py:1872 +#: build/models.py:1480 order/models.py:1912 msgid "Allocation quantity must be greater than zero" msgstr "Tahsis edilen miktar sıfırdan büyük olmalıdır" -#: build/models.py:1449 +#: build/models.py:1486 msgid "Quantity must be 1 for serialized stock" msgstr "Seri numaralı stok için miktar bir olmalı" -#: build/models.py:1508 +#: build/models.py:1545 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1580 build/serializers.py:817 order/serializers.py:1183 -#: order/serializers.py:1204 stock/serializers.py:566 stock/serializers.py:1052 -#: stock/serializers.py:1164 stock/templates/stock/item_base.html:10 +#: build/models.py:1617 build/serializers.py:816 order/serializers.py:1183 +#: order/serializers.py:1204 stock/models.py:364 stock/serializers.py:92 +#: stock/serializers.py:695 stock/serializers.py:1181 stock/serializers.py:1293 +#: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 #: templates/js/translated/build.js:1745 #: templates/js/translated/sales_order.js:301 -#: templates/js/translated/sales_order.js:1198 -#: templates/js/translated/sales_order.js:1499 -#: templates/js/translated/sales_order.js:1504 -#: templates/js/translated/sales_order.js:1605 -#: templates/js/translated/sales_order.js:1692 +#: templates/js/translated/sales_order.js:1234 +#: templates/js/translated/sales_order.js:1535 +#: templates/js/translated/sales_order.js:1540 +#: templates/js/translated/sales_order.js:1641 +#: templates/js/translated/sales_order.js:1728 #: templates/js/translated/stock.js:677 templates/js/translated/stock.js:843 -#: templates/js/translated/stock.js:2980 +#: templates/js/translated/stock.js:2977 msgid "Stock Item" msgstr "Stok Kalemi" -#: build/models.py:1581 +#: build/models.py:1618 msgid "Source stock item" msgstr "Kaynak stok kalemi" -#: build/models.py:1594 +#: build/models.py:1631 msgid "Stock quantity to allocate to build" msgstr "Yapım işi için tahsis edilen stok miktarı" -#: build/models.py:1602 +#: build/models.py:1639 msgid "Install into" msgstr "Kurulduğu yer" -#: build/models.py:1603 +#: build/models.py:1640 msgid "Destination stock item" msgstr "Hedef stok kalemi" -#: build/serializers.py:158 build/serializers.py:846 +#: build/serializers.py:157 build/serializers.py:845 #: templates/js/translated/build.js:1322 msgid "Build Output" msgstr "" -#: build/serializers.py:170 +#: build/serializers.py:169 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:174 +#: build/serializers.py:173 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:178 +#: build/serializers.py:177 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:189 +#: build/serializers.py:188 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:209 build/serializers.py:246 +#: build/serializers.py:208 build/serializers.py:245 msgid "Enter quantity for build output" msgstr "Yapım işi çıktısı için miktarını girin" -#: build/serializers.py:267 +#: build/serializers.py:266 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:270 +#: build/serializers.py:269 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:285 order/serializers.py:589 order/serializers.py:1343 -#: stock/serializers.py:483 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:284 order/serializers.py:589 order/serializers.py:1343 +#: stock/serializers.py:612 templates/js/translated/purchase_order.js:1153 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "Seri Numaraları" -#: build/serializers.py:286 +#: build/serializers.py:285 msgid "Enter serial numbers for build outputs" msgstr "Yapım işi çıktısı için seri numaraları girin" -#: build/serializers.py:291 build/serializers.py:432 build/serializers.py:504 +#: build/serializers.py:290 build/serializers.py:431 build/serializers.py:503 #: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1679 -#: part/serializers.py:1127 stock/serializers.py:494 stock/serializers.py:654 -#: stock/serializers.py:750 stock/serializers.py:1196 stock/serializers.py:1452 -#: stock/templates/stock/item_base.html:394 +#: part/serializers.py:1142 stock/serializers.py:101 stock/serializers.py:623 +#: stock/serializers.py:783 stock/serializers.py:879 stock/serializers.py:1325 +#: stock/serializers.py:1581 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 #: templates/js/translated/purchase_order.js:1178 #: templates/js/translated/purchase_order.js:1268 -#: templates/js/translated/sales_order.js:1511 -#: templates/js/translated/sales_order.js:1619 -#: templates/js/translated/sales_order.js:1627 -#: templates/js/translated/sales_order.js:1706 +#: templates/js/translated/sales_order.js:1547 +#: templates/js/translated/sales_order.js:1655 +#: templates/js/translated/sales_order.js:1663 +#: templates/js/translated/sales_order.js:1742 #: templates/js/translated/stock.js:678 templates/js/translated/stock.js:844 -#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2203 -#: templates/js/translated/stock.js:2874 +#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2201 +#: templates/js/translated/stock.js:2871 msgid "Location" msgstr "Konum" -#: build/serializers.py:292 +#: build/serializers.py:291 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:306 +#: build/serializers.py:305 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:307 +#: build/serializers.py:306 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:322 +#: build/serializers.py:321 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:347 stock/api.py:995 +#: build/serializers.py:346 stock/api.py:1029 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:394 build/serializers.py:456 build/serializers.py:545 +#: build/serializers.py:393 build/serializers.py:455 build/serializers.py:544 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:433 +#: build/serializers.py:432 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:439 +#: build/serializers.py:438 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:440 +#: build/serializers.py:439 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:445 +#: build/serializers.py:444 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:505 +#: build/serializers.py:504 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:511 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:922 -#: order/models.py:2022 order/serializers.py:597 stock/admin.py:165 -#: stock/serializers.py:801 stock/serializers.py:1340 +#: build/serializers.py:510 build/templates/build/build_base.html:151 +#: build/templates/build/detail.html:62 order/models.py:953 +#: order/models.py:2071 order/serializers.py:597 stock/admin.py:165 +#: stock/serializers.py:930 stock/serializers.py:1469 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 -#: templates/js/translated/purchase_order.js:1723 -#: templates/js/translated/return_order.js:331 -#: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2178 templates/js/translated/stock.js:2998 -#: templates/js/translated/stock.js:3123 +#: templates/js/translated/purchase_order.js:1722 +#: templates/js/translated/return_order.js:330 +#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/stock.js:2176 templates/js/translated/stock.js:2995 +#: templates/js/translated/stock.js:3120 msgid "Status" msgstr "Durum" -#: build/serializers.py:517 +#: build/serializers.py:516 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:518 +#: build/serializers.py:517 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:598 +#: build/serializers.py:597 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:599 +#: build/serializers.py:598 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:605 +#: build/serializers.py:604 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:606 +#: build/serializers.py:605 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:633 +#: build/serializers.py:632 msgid "Not permitted" msgstr "" -#: build/serializers.py:634 +#: build/serializers.py:633 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:635 +#: build/serializers.py:634 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:657 +#: build/serializers.py:656 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:659 +#: build/serializers.py:658 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:669 +#: build/serializers.py:668 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:674 +#: build/serializers.py:673 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:675 +#: build/serializers.py:674 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:685 templates/js/translated/build.js:315 +#: build/serializers.py:684 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" msgstr "Gerekli stok tamamen tahsis edilemedi" -#: build/serializers.py:690 order/serializers.py:301 order/serializers.py:1246 +#: build/serializers.py:689 order/serializers.py:301 order/serializers.py:1246 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:691 +#: build/serializers.py:690 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:701 templates/js/translated/build.js:319 +#: build/serializers.py:700 templates/js/translated/build.js:319 msgid "Required build quantity has not been completed" msgstr "Gerekli yapım işi miktarı tamamlanmadı" -#: build/serializers.py:710 templates/js/translated/build.js:303 +#: build/serializers.py:709 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:740 +#: build/serializers.py:739 msgid "Build Line" msgstr "" -#: build/serializers.py:750 +#: build/serializers.py:749 msgid "Build output" msgstr "" -#: build/serializers.py:758 +#: build/serializers.py:757 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:794 +#: build/serializers.py:793 msgid "Build Line Item" msgstr "" -#: build/serializers.py:808 +#: build/serializers.py:807 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:823 stock/serializers.py:1065 +#: build/serializers.py:822 stock/serializers.py:1194 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:871 order/serializers.py:1237 +#: build/serializers.py:870 order/serializers.py:1237 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:877 +#: build/serializers.py:876 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:884 +#: build/serializers.py:883 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:908 order/serializers.py:1489 +#: build/serializers.py:907 order/serializers.py:1489 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:971 +#: build/serializers.py:970 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:979 +#: build/serializers.py:978 msgid "Exclude Location" msgstr "" -#: build/serializers.py:980 +#: build/serializers.py:979 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:985 +#: build/serializers.py:984 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:986 +#: build/serializers.py:985 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:991 +#: build/serializers.py:990 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:992 +#: build/serializers.py:991 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:997 +#: build/serializers.py:996 msgid "Optional Items" msgstr "" -#: build/serializers.py:998 +#: build/serializers.py:997 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1020 +#: build/serializers.py:1019 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1110 part/models.py:3930 part/models.py:4366 -#: stock/api.py:758 +#: build/serializers.py:1109 part/models.py:3973 part/models.py:4409 +#: stock/api.py:792 msgid "BOM Item" msgstr "" -#: build/serializers.py:1119 templates/js/translated/index.js:130 +#: build/serializers.py:1118 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1124 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:817 part/serializers.py:1489 +#: build/serializers.py:1123 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:832 part/serializers.py:1504 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 @@ -1705,15 +1710,15 @@ msgstr "" msgid "On Order" msgstr "" -#: build/serializers.py:1129 part/serializers.py:1491 +#: build/serializers.py:1128 part/serializers.py:1506 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1134 part/bom.py:172 part/serializers.py:1514 +#: build/serializers.py:1133 part/bom.py:172 part/serializers.py:1529 #: part/templates/part/part_base.html:192 -#: templates/js/translated/sales_order.js:1893 +#: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "" @@ -1842,18 +1847,18 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "Stok, yapım işi emri için tamamen tahsis edilemedi" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:297 -#: order/models.py:1294 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:310 +#: order/models.py:1334 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 -#: order/templates/order/sales_order_base.html:192 -#: report/templates/report/inventree_build_order_base.html:125 +#: order/templates/order/sales_order_base.html:196 +#: report/templates/report/inventree_build_order_report.html:125 #: templates/js/translated/build.js:2239 templates/js/translated/part.js:1830 -#: templates/js/translated/purchase_order.js:1740 -#: templates/js/translated/purchase_order.js:2148 -#: templates/js/translated/return_order.js:347 -#: templates/js/translated/return_order.js:751 -#: templates/js/translated/sales_order.js:835 -#: templates/js/translated/sales_order.js:1867 +#: templates/js/translated/purchase_order.js:1739 +#: templates/js/translated/purchase_order.js:2147 +#: templates/js/translated/return_order.js:346 +#: templates/js/translated/return_order.js:750 +#: templates/js/translated/sales_order.js:871 +#: templates/js/translated/sales_order.js:1903 msgid "Target Date" msgstr "Hedeflenen tarih" @@ -1866,7 +1871,7 @@ msgstr "Bu yapım işinin %(target)s tarihinde süresi doluyor" #: build/templates/build/build_base.html:222 #: order/templates/order/order_base.html:122 #: order/templates/order/return_order_base.html:117 -#: order/templates/order/sales_order_base.html:122 +#: order/templates/order/sales_order_base.html:126 #: templates/js/translated/table_filters.js:98 #: templates/js/translated/table_filters.js:524 #: templates/js/translated/table_filters.js:626 @@ -1880,24 +1885,24 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:1538 -#: order/models.py:1652 order/models.py:1806 +#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:848 +#: order/models.py:1578 order/models.py:1692 order/models.py:1846 #: 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 +#: report/templates/report/inventree_build_order_report.html:135 +#: report/templates/report/inventree_sales_order_report.html:14 #: stock/templates/stock/item_base.html:369 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:929 -#: templates/js/translated/sales_order.js:769 -#: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2927 +#: templates/js/translated/sales_order.js:805 +#: templates/js/translated/sales_order.js:1028 +#: templates/js/translated/stock.js:2924 msgid "Sales Order" msgstr "Sipariş Emri" #: build/templates/build/build_base.html:197 #: build/templates/build/detail.html:115 -#: report/templates/report/inventree_build_order_base.html:152 +#: report/templates/report/inventree_build_order_report.html:152 #: templates/js/translated/table_filters.js:24 msgid "Issued By" msgstr "Veren" @@ -1907,15 +1912,15 @@ msgstr "Veren" msgid "Priority" msgstr "" -#: build/templates/build/build_base.html:273 +#: build/templates/build/build_base.html:269 msgid "Delete Build Order" msgstr "" -#: build/templates/build/build_base.html:283 +#: build/templates/build/build_base.html:279 msgid "Build Order QR Code" msgstr "" -#: build/templates/build/build_base.html:295 +#: build/templates/build/build_base.html:291 msgid "Link Barcode to Build Order" msgstr "" @@ -1931,8 +1936,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:1430 -#: templates/js/translated/purchase_order.js:2190 +#: build/templates/build/detail.html:49 order/models.py:1470 +#: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "Hedef" @@ -1947,10 +1952,10 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 #: templates/js/translated/build.js:1380 -#: templates/js/translated/model_renderers.js:235 +#: templates/js/translated/model_renderers.js:241 #: templates/js/translated/purchase_order.js:1274 -#: templates/js/translated/stock.js:1133 templates/js/translated/stock.js:2192 -#: templates/js/translated/stock.js:3130 +#: templates/js/translated/stock.js:1133 templates/js/translated/stock.js:2190 +#: templates/js/translated/stock.js:3127 #: templates/js/translated/table_filters.js:313 #: templates/js/translated/table_filters.js:404 msgid "Batch" @@ -1959,7 +1964,7 @@ msgstr "Toplu" #: build/templates/build/detail.html:133 #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:151 -#: order/templates/order/sales_order_base.html:186 +#: order/templates/order/sales_order_base.html:190 #: templates/js/translated/build.js:2199 msgid "Created" msgstr "Oluşturuldu" @@ -1969,7 +1974,7 @@ msgid "No target date set" msgstr "Hedef tarih ayarlanmadı" #: build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:202 +#: order/templates/order/sales_order_base.html:206 #: templates/js/translated/table_filters.js:689 msgid "Completed" msgstr "Tamamlandı" @@ -2260,8 +2265,8 @@ msgstr "" #: common/models.py:1316 common/models.py:1372 common/models.py:1385 #: common/models.py:1393 common/models.py:1402 common/models.py:1411 -#: common/models.py:1613 common/models.py:1635 common/models.py:1750 -#: common/models.py:2061 +#: common/models.py:1619 common/models.py:1641 common/models.py:1756 +#: common/models.py:2067 msgid "days" msgstr "günler" @@ -2402,1209 +2407,1218 @@ msgid "Enable revision field for Part" msgstr "" #: common/models.py:1440 +msgid "Allow Deletion from Assembly" +msgstr "" + +#: common/models.py:1441 +msgid "Allow deletion of parts which are used in an assembly" +msgstr "" + +#: common/models.py:1446 msgid "IPN Regex" msgstr "DPN Regex" -#: common/models.py:1441 +#: common/models.py:1447 msgid "Regular expression pattern for matching Part IPN" msgstr "Parça DPN eşleştirmesi için Düzenli İfade Kalıbı (Regex)" -#: common/models.py:1444 +#: common/models.py:1450 msgid "Allow Duplicate IPN" msgstr "Yinelenen DPN'ye İzin Ver" -#: common/models.py:1445 +#: common/models.py:1451 msgid "Allow multiple parts to share the same IPN" msgstr "Birden çok parçanın aynı DPN'yi paylaşmasına izin ver" -#: common/models.py:1450 +#: common/models.py:1456 msgid "Allow Editing IPN" msgstr "DPN Düzenlemeye İzin Ver" -#: common/models.py:1451 +#: common/models.py:1457 msgid "Allow changing the IPN value while editing a part" msgstr "Parçayı düzenlerken DPN değiştirmeye izin ver" -#: common/models.py:1456 +#: common/models.py:1462 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1457 +#: common/models.py:1463 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1462 +#: common/models.py:1468 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1463 +#: common/models.py:1469 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1468 +#: common/models.py:1474 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1469 +#: common/models.py:1475 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1474 +#: common/models.py:1480 msgid "Copy Category Parameter Templates" msgstr "Kategori Paremetre Sablonu Kopyala" -#: common/models.py:1475 +#: common/models.py:1481 msgid "Copy category parameter templates when creating a part" msgstr "Parça oluştururken kategori parametre şablonlarını kopyala" -#: common/models.py:1480 part/admin.py:108 part/models.py:3772 -#: report/models.py:182 stock/serializers.py:99 +#: common/models.py:1486 part/admin.py:108 part/models.py:3815 +#: report/models.py:294 report/models.py:361 report/serializers.py:90 +#: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:767 msgid "Template" msgstr "Şablon" -#: common/models.py:1481 +#: common/models.py:1487 msgid "Parts are templates by default" msgstr "Parçaları varsayılan olan şablondur" -#: common/models.py:1486 part/admin.py:91 part/admin.py:431 part/models.py:1016 +#: common/models.py:1492 part/admin.py:91 part/admin.py:433 part/models.py:1059 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "Montaj" -#: common/models.py:1487 +#: common/models.py:1493 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:1492 part/admin.py:95 part/models.py:1022 +#: common/models.py:1498 part/admin.py:95 part/models.py:1065 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "Bileşen" -#: common/models.py:1493 +#: common/models.py:1499 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:1498 part/admin.py:100 part/models.py:1034 +#: common/models.py:1504 part/admin.py:100 part/models.py:1077 msgid "Purchaseable" msgstr "Satın Alınabilir" -#: common/models.py:1499 +#: common/models.py:1505 msgid "Parts are purchaseable by default" msgstr "Parçalar varsayılan olarak satın alınabilir" -#: common/models.py:1504 part/admin.py:104 part/models.py:1040 +#: common/models.py:1510 part/admin.py:104 part/models.py:1083 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "Satılabilir" -#: common/models.py:1505 +#: common/models.py:1511 msgid "Parts are salable by default" msgstr "Parçalar varsayılan olarak satılabilir" -#: common/models.py:1510 part/admin.py:113 part/models.py:1028 +#: common/models.py:1516 part/admin.py:113 part/models.py:1071 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "Takip Edilebilir" -#: common/models.py:1511 +#: common/models.py:1517 msgid "Parts are trackable by default" msgstr "Parçalar varsayılan olarak takip edilebilir" -#: common/models.py:1516 part/admin.py:117 part/models.py:1050 +#: common/models.py:1522 part/admin.py:117 part/models.py:1093 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "Sanal" -#: common/models.py:1517 +#: common/models.py:1523 msgid "Parts are virtual by default" msgstr "Parçalar varsayılan olarak sanaldır" -#: common/models.py:1522 +#: common/models.py:1528 msgid "Show Import in Views" msgstr "" -#: common/models.py:1523 +#: common/models.py:1529 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1528 +#: common/models.py:1534 msgid "Show related parts" msgstr "İlgili parçaları göster" -#: common/models.py:1529 +#: common/models.py:1535 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1534 +#: common/models.py:1540 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1535 +#: common/models.py:1541 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1540 templates/js/translated/part.js:107 +#: common/models.py:1546 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1542 +#: common/models.py:1548 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1548 +#: common/models.py:1554 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1549 +#: common/models.py:1555 msgid "Format to display the part name" msgstr "" -#: common/models.py:1555 +#: common/models.py:1561 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1556 +#: common/models.py:1562 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1560 +#: common/models.py:1566 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1562 +#: common/models.py:1568 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1568 +#: common/models.py:1574 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1570 +#: common/models.py:1576 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1576 +#: common/models.py:1582 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1578 +#: common/models.py:1584 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1584 +#: common/models.py:1590 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1586 +#: common/models.py:1592 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1592 +#: common/models.py:1598 msgid "Purchase History Override" msgstr "" -#: common/models.py:1594 +#: common/models.py:1600 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1600 +#: common/models.py:1606 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1602 +#: common/models.py:1608 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1608 +#: common/models.py:1614 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1610 +#: common/models.py:1616 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1617 +#: common/models.py:1623 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1618 +#: common/models.py:1624 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1623 +#: common/models.py:1629 msgid "Active Variants Only" msgstr "" -#: common/models.py:1625 +#: common/models.py:1631 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1631 +#: common/models.py:1637 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1633 +#: common/models.py:1639 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1640 +#: common/models.py:1646 msgid "Internal Prices" msgstr "" -#: common/models.py:1641 +#: common/models.py:1647 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1646 +#: common/models.py:1652 msgid "Internal Price Override" msgstr "" -#: common/models.py:1648 +#: common/models.py:1654 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1654 +#: common/models.py:1660 msgid "Enable label printing" msgstr "" -#: common/models.py:1655 +#: common/models.py:1661 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1660 +#: common/models.py:1666 msgid "Label Image DPI" msgstr "" -#: common/models.py:1662 +#: common/models.py:1668 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1668 +#: common/models.py:1674 msgid "Enable Reports" msgstr "" -#: common/models.py:1669 +#: common/models.py:1675 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1674 templates/stats.html:25 +#: common/models.py:1680 templates/stats.html:25 msgid "Debug Mode" msgstr "Hata Ayıklama Modu" -#: common/models.py:1675 +#: common/models.py:1681 msgid "Generate reports in debug mode (HTML output)" msgstr "Raporları hata ayıklama modunda üret (HTML çıktısı)" -#: common/models.py:1680 +#: common/models.py:1686 msgid "Log Report Errors" msgstr "" -#: common/models.py:1681 +#: common/models.py:1687 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1686 plugin/builtin/labels/label_sheet.py:28 -#: report/models.py:203 +#: common/models.py:1692 plugin/builtin/labels/label_sheet.py:28 +#: report/models.py:302 msgid "Page Size" msgstr "Sayfa Boyutu" -#: common/models.py:1687 +#: common/models.py:1693 msgid "Default page size for PDF reports" msgstr "PDF raporlar için varsayılan sayfa boyutu" -#: common/models.py:1692 +#: common/models.py:1698 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1693 +#: common/models.py:1699 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1698 +#: common/models.py:1704 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1700 +#: common/models.py:1706 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1706 +#: common/models.py:1712 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1707 +#: common/models.py:1713 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1712 +#: common/models.py:1718 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1713 +#: common/models.py:1719 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1718 +#: common/models.py:1724 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1720 +#: common/models.py:1726 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1726 +#: common/models.py:1732 msgid "Batch Code Template" msgstr "" -#: common/models.py:1728 +#: common/models.py:1734 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1733 +#: common/models.py:1739 msgid "Stock Expiry" msgstr "" -#: common/models.py:1734 +#: common/models.py:1740 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1739 +#: common/models.py:1745 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1740 +#: common/models.py:1746 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1745 +#: common/models.py:1751 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1747 +#: common/models.py:1753 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1754 +#: common/models.py:1760 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1755 +#: common/models.py:1761 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1760 +#: common/models.py:1766 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1761 +#: common/models.py:1767 msgid "Enable ownership control over stock locations and items" msgstr "Stok konumu ve ögeler üzerinde sahiplik kontrolünü etkinleştirin" -#: common/models.py:1766 +#: common/models.py:1772 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1767 +#: common/models.py:1773 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1771 +#: common/models.py:1777 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1772 +#: common/models.py:1778 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1777 +#: common/models.py:1783 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1779 +#: common/models.py:1785 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1785 +#: common/models.py:1791 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1787 +#: common/models.py:1793 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1793 +#: common/models.py:1799 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1795 +#: common/models.py:1801 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1801 common/models.py:1829 common/models.py:1851 -#: common/models.py:1879 +#: common/models.py:1807 common/models.py:1835 common/models.py:1857 +#: common/models.py:1885 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1802 common/models.py:1830 common/models.py:1852 -#: common/models.py:1880 +#: common/models.py:1808 common/models.py:1836 common/models.py:1858 +#: common/models.py:1886 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1807 +#: common/models.py:1813 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1809 +#: common/models.py:1815 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1815 +#: common/models.py:1821 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1816 +#: common/models.py:1822 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1821 +#: common/models.py:1827 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1823 +#: common/models.py:1829 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1835 +#: common/models.py:1841 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1837 +#: common/models.py:1843 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1843 +#: common/models.py:1849 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1845 +#: common/models.py:1851 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1857 +#: common/models.py:1863 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1858 +#: common/models.py:1864 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1863 +#: common/models.py:1869 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1865 +#: common/models.py:1871 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1871 +#: common/models.py:1877 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1873 +#: common/models.py:1879 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1885 +#: common/models.py:1891 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1887 +#: common/models.py:1893 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1893 +#: common/models.py:1899 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1895 +#: common/models.py:1901 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1902 +#: common/models.py:1908 msgid "Enable password forgot" msgstr "" -#: common/models.py:1903 +#: common/models.py:1909 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1908 +#: common/models.py:1914 msgid "Enable registration" msgstr "" -#: common/models.py:1909 +#: common/models.py:1915 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1914 +#: common/models.py:1920 msgid "Enable SSO" msgstr "" -#: common/models.py:1915 +#: common/models.py:1921 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1920 +#: common/models.py:1926 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1922 +#: common/models.py:1928 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1928 +#: common/models.py:1934 msgid "Email required" msgstr "" -#: common/models.py:1929 +#: common/models.py:1935 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1934 +#: common/models.py:1940 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1936 +#: common/models.py:1942 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1942 +#: common/models.py:1948 msgid "Mail twice" msgstr "" -#: common/models.py:1943 +#: common/models.py:1949 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1948 +#: common/models.py:1954 msgid "Password twice" msgstr "" -#: common/models.py:1949 +#: common/models.py:1955 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1954 +#: common/models.py:1960 msgid "Allowed domains" msgstr "" -#: common/models.py:1956 +#: common/models.py:1962 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1962 +#: common/models.py:1968 msgid "Group on signup" msgstr "" -#: common/models.py:1963 +#: common/models.py:1969 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1968 +#: common/models.py:1974 msgid "Enforce MFA" msgstr "" -#: common/models.py:1969 +#: common/models.py:1975 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1974 +#: common/models.py:1980 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1976 +#: common/models.py:1982 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1984 +#: common/models.py:1990 msgid "Check for plugin updates" msgstr "" -#: common/models.py:1985 +#: common/models.py:1991 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:1991 +#: common/models.py:1997 msgid "Enable URL integration" msgstr "" -#: common/models.py:1992 +#: common/models.py:1998 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1998 +#: common/models.py:2004 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1999 +#: common/models.py:2005 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2005 +#: common/models.py:2011 msgid "Enable app integration" msgstr "" -#: common/models.py:2006 +#: common/models.py:2012 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2012 +#: common/models.py:2018 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2013 +#: common/models.py:2019 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2019 +#: common/models.py:2025 msgid "Enable event integration" msgstr "" -#: common/models.py:2020 +#: common/models.py:2026 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2026 +#: common/models.py:2032 msgid "Enable project codes" msgstr "" -#: common/models.py:2027 +#: common/models.py:2033 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2032 +#: common/models.py:2038 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2034 +#: common/models.py:2040 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2040 +#: common/models.py:2046 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2042 +#: common/models.py:2048 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2048 +#: common/models.py:2054 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2050 +#: common/models.py:2056 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2056 +#: common/models.py:2062 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2058 +#: common/models.py:2064 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2065 +#: common/models.py:2071 msgid "Display Users full names" msgstr "" -#: common/models.py:2066 +#: common/models.py:2072 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2071 +#: common/models.py:2077 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2072 +#: common/models.py:2078 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2084 common/models.py:2494 +#: common/models.py:2090 common/models.py:2500 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2127 +#: common/models.py:2133 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2129 +#: common/models.py:2135 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2135 +#: common/models.py:2141 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2136 +#: common/models.py:2142 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2141 +#: common/models.py:2147 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2142 +#: common/models.py:2148 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2147 +#: common/models.py:2153 msgid "Show latest parts" msgstr "" -#: common/models.py:2148 +#: common/models.py:2154 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2153 +#: common/models.py:2159 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2154 +#: common/models.py:2160 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2159 +#: common/models.py:2165 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2160 +#: common/models.py:2166 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2165 +#: common/models.py:2171 msgid "Show low stock" msgstr "" -#: common/models.py:2166 +#: common/models.py:2172 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2171 +#: common/models.py:2177 msgid "Show depleted stock" msgstr "" -#: common/models.py:2172 +#: common/models.py:2178 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2177 +#: common/models.py:2183 msgid "Show needed stock" msgstr "" -#: common/models.py:2178 +#: common/models.py:2184 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2183 +#: common/models.py:2189 msgid "Show expired stock" msgstr "" -#: common/models.py:2184 +#: common/models.py:2190 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2189 +#: common/models.py:2195 msgid "Show stale stock" msgstr "" -#: common/models.py:2190 +#: common/models.py:2196 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2195 +#: common/models.py:2201 msgid "Show pending builds" msgstr "" -#: common/models.py:2196 +#: common/models.py:2202 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2201 +#: common/models.py:2207 msgid "Show overdue builds" msgstr "" -#: common/models.py:2202 +#: common/models.py:2208 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2207 +#: common/models.py:2213 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2208 +#: common/models.py:2214 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2213 +#: common/models.py:2219 msgid "Show overdue POs" msgstr "" -#: common/models.py:2214 +#: common/models.py:2220 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2219 +#: common/models.py:2225 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2220 +#: common/models.py:2226 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2225 +#: common/models.py:2231 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2226 +#: common/models.py:2232 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2231 +#: common/models.py:2237 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2232 +#: common/models.py:2238 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2237 +#: common/models.py:2243 msgid "Show News" msgstr "" -#: common/models.py:2238 +#: common/models.py:2244 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2243 +#: common/models.py:2249 msgid "Inline label display" msgstr "" -#: common/models.py:2245 +#: common/models.py:2251 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2251 +#: common/models.py:2257 msgid "Default label printer" msgstr "" -#: common/models.py:2253 +#: common/models.py:2259 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2259 +#: common/models.py:2265 msgid "Inline report display" msgstr "" -#: common/models.py:2261 +#: common/models.py:2267 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2267 +#: common/models.py:2273 msgid "Search Parts" msgstr "" -#: common/models.py:2268 +#: common/models.py:2274 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2273 +#: common/models.py:2279 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2274 +#: common/models.py:2280 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2279 +#: common/models.py:2285 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2280 +#: common/models.py:2286 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2285 +#: common/models.py:2291 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2286 +#: common/models.py:2292 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2291 +#: common/models.py:2297 msgid "Search Categories" msgstr "" -#: common/models.py:2292 +#: common/models.py:2298 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2297 +#: common/models.py:2303 msgid "Search Stock" msgstr "" -#: common/models.py:2298 +#: common/models.py:2304 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2303 +#: common/models.py:2309 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2305 +#: common/models.py:2311 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2311 +#: common/models.py:2317 msgid "Search Locations" msgstr "" -#: common/models.py:2312 +#: common/models.py:2318 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2317 +#: common/models.py:2323 msgid "Search Companies" msgstr "" -#: common/models.py:2318 +#: common/models.py:2324 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2323 +#: common/models.py:2329 msgid "Search Build Orders" msgstr "" -#: common/models.py:2324 +#: common/models.py:2330 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2329 +#: common/models.py:2335 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2330 +#: common/models.py:2336 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2335 +#: common/models.py:2341 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2337 +#: common/models.py:2343 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2343 +#: common/models.py:2349 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2344 +#: common/models.py:2350 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2349 +#: common/models.py:2355 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2351 +#: common/models.py:2357 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2357 +#: common/models.py:2363 msgid "Search Return Orders" msgstr "" -#: common/models.py:2358 +#: common/models.py:2364 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2363 +#: common/models.py:2369 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2365 +#: common/models.py:2371 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2371 +#: common/models.py:2377 msgid "Search Preview Results" msgstr "" -#: common/models.py:2373 +#: common/models.py:2379 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2379 +#: common/models.py:2385 msgid "Regex Search" msgstr "" -#: common/models.py:2380 +#: common/models.py:2386 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2385 +#: common/models.py:2391 msgid "Whole Word Search" msgstr "" -#: common/models.py:2386 +#: common/models.py:2392 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2391 +#: common/models.py:2397 msgid "Show Quantity in Forms" msgstr "Formlarda Miktarı Göster" -#: common/models.py:2392 +#: common/models.py:2398 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2397 +#: common/models.py:2403 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2398 +#: common/models.py:2404 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2403 +#: common/models.py:2409 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2404 +#: common/models.py:2410 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2409 +#: common/models.py:2415 msgid "Date Format" msgstr "" -#: common/models.py:2410 +#: common/models.py:2416 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2423 part/templates/part/detail.html:41 +#: common/models.py:2429 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2424 +#: common/models.py:2430 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2429 part/templates/part/detail.html:62 +#: common/models.py:2435 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2431 +#: common/models.py:2437 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2437 +#: common/models.py:2443 msgid "Table String Length" msgstr "" -#: common/models.py:2439 +#: common/models.py:2445 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2445 +#: common/models.py:2451 msgid "Default part label template" msgstr "" -#: common/models.py:2446 +#: common/models.py:2452 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2451 +#: common/models.py:2457 msgid "Default stock item template" msgstr "" -#: common/models.py:2453 +#: common/models.py:2459 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2459 +#: common/models.py:2465 msgid "Default stock location label template" msgstr "" -#: common/models.py:2461 +#: common/models.py:2467 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2467 +#: common/models.py:2473 msgid "Default build line label template" msgstr "" -#: common/models.py:2469 +#: common/models.py:2475 msgid "The build line label template to be automatically selected" msgstr "" -#: common/models.py:2475 +#: common/models.py:2481 msgid "Receive error reports" msgstr "" -#: common/models.py:2476 +#: common/models.py:2482 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2481 +#: common/models.py:2487 msgid "Last used printing machines" msgstr "" -#: common/models.py:2482 +#: common/models.py:2488 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2525 +#: common/models.py:2531 msgid "Price break quantity" msgstr "" -#: common/models.py:2532 company/serializers.py:496 order/admin.py:42 -#: order/models.py:1333 order/models.py:2243 +#: common/models.py:2538 company/serializers.py:496 order/admin.py:42 +#: order/models.py:1373 order/models.py:2292 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 -#: templates/js/translated/return_order.js:741 +#: templates/js/translated/return_order.js:740 msgid "Price" msgstr "Fiyat" -#: common/models.py:2533 +#: common/models.py:2539 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2704 common/models.py:2889 +#: common/models.py:2710 common/models.py:2895 msgid "Endpoint" msgstr "" -#: common/models.py:2705 +#: common/models.py:2711 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2715 +#: common/models.py:2721 msgid "Name for this webhook" msgstr "" -#: common/models.py:2719 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1045 -#: plugin/models.py:56 templates/js/translated/company.js:523 +#: common/models.py:2725 company/models.py:160 company/models.py:814 +#: machine/models.py:39 part/admin.py:88 part/models.py:1088 +#: plugin/models.py:65 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:492 @@ -3614,135 +3628,135 @@ msgstr "" msgid "Active" msgstr "Aktif" -#: common/models.py:2719 +#: common/models.py:2725 msgid "Is this webhook active" msgstr "" -#: common/models.py:2735 users/models.py:159 +#: common/models.py:2741 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2736 +#: common/models.py:2742 msgid "Token for access" msgstr "" -#: common/models.py:2744 +#: common/models.py:2750 msgid "Secret" msgstr "" -#: common/models.py:2745 +#: common/models.py:2751 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2853 +#: common/models.py:2859 msgid "Message ID" msgstr "" -#: common/models.py:2854 +#: common/models.py:2860 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2862 +#: common/models.py:2868 msgid "Host" msgstr "" -#: common/models.py:2863 +#: common/models.py:2869 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2871 +#: common/models.py:2877 msgid "Header" msgstr "" -#: common/models.py:2872 +#: common/models.py:2878 msgid "Header of this message" msgstr "" -#: common/models.py:2879 +#: common/models.py:2885 msgid "Body" msgstr "" -#: common/models.py:2880 +#: common/models.py:2886 msgid "Body of this message" msgstr "" -#: common/models.py:2890 +#: common/models.py:2896 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2895 +#: common/models.py:2901 msgid "Worked on" msgstr "" -#: common/models.py:2896 +#: common/models.py:2902 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3022 +#: common/models.py:3028 msgid "Id" msgstr "" -#: common/models.py:3024 templates/js/translated/company.js:965 +#: common/models.py:3030 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3028 templates/js/translated/news.js:60 +#: common/models.py:3034 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3030 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3036 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3032 templates/js/translated/news.js:52 +#: common/models.py:3038 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3035 +#: common/models.py:3041 msgid "Read" msgstr "" -#: common/models.py:3035 +#: common/models.py:3041 msgid "Was this news item read?" msgstr "" -#: common/models.py:3052 company/models.py:156 part/models.py:929 +#: common/models.py:3058 company/models.py:156 part/models.py:972 #: 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 +#: report/templates/report/inventree_return_order_report.html:35 #: stock/templates/stock/item_base.html:133 templates/503.html:31 #: templates/hover_image.html:7 templates/hover_image.html:9 #: templates/modals.html:6 msgid "Image" msgstr "Resim" -#: common/models.py:3052 +#: common/models.py:3058 msgid "Image file" msgstr "" -#: common/models.py:3094 +#: common/models.py:3100 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3113 +#: common/models.py:3119 msgid "Unit name" msgstr "" -#: common/models.py:3120 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3126 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3121 +#: common/models.py:3127 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3128 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3134 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3129 +#: common/models.py:3135 msgid "Unit definition" msgstr "" @@ -3929,9 +3943,9 @@ msgid "Contact email address" msgstr "İletişim e-posta adresi" #: company/models.py:139 company/templates/company/company_base.html:145 -#: order/models.py:331 order/templates/order/order_base.html:203 +#: order/models.py:344 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 -#: order/templates/order/sales_order_base.html:214 +#: order/templates/order/sales_order_base.html:218 msgid "Contact" msgstr "İletişim" @@ -3977,7 +3991,7 @@ msgstr "Bu şirket için varsayılan para birimi" #: company/models.py:273 company/models.py:382 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:776 +#: company/templates/company/company_base.html:12 stock/api.py:810 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "" @@ -4069,8 +4083,8 @@ msgstr "" msgid "Link to address information (external)" msgstr "" -#: company/models.py:489 company/models.py:792 stock/models.py:751 -#: stock/serializers.py:266 stock/templates/stock/item_base.html:142 +#: company/models.py:489 company/models.py:792 stock/models.py:772 +#: stock/serializers.py:395 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "Temel Parça" @@ -4081,7 +4095,7 @@ msgstr "Parça seçin" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:515 +#: company/templates/company/supplier_part.html:145 part/serializers.py:530 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4096,13 +4110,13 @@ msgid "Select manufacturer" msgstr "Üretici seçin" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:525 +#: company/templates/company/supplier_part.html:153 part/serializers.py:540 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800 -#: templates/js/translated/purchase_order.js:1852 -#: templates/js/translated/purchase_order.js:2054 +#: templates/js/translated/purchase_order.js:1851 +#: templates/js/translated/purchase_order.js:2053 msgid "MPN" msgstr "ÜPN" @@ -4129,9 +4143,8 @@ msgstr "" msgid "Parameter name" msgstr "Parametre adı" -#: company/models.py:621 -#: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2448 templates/js/translated/company.js:1166 +#: company/models.py:621 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2425 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492 #: templates/js/translated/stock.js:1522 msgid "Value" @@ -4142,10 +4155,10 @@ msgid "Parameter value" msgstr "Parametre değeri" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1009 part/models.py:3623 +#: part/admin.py:57 part/models.py:1052 part/models.py:3666 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 -#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370 +#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 msgid "Units" msgstr "" @@ -4166,9 +4179,9 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:465 +#: company/templates/company/supplier_part.html:129 order/models.py:487 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:499 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:514 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4176,7 +4189,7 @@ msgstr "" #: templates/js/translated/company.js:511 #: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1690 +#: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/table_filters.js:804 msgid "Supplier" msgstr "Tedarikçi" @@ -4185,7 +4198,7 @@ msgstr "Tedarikçi" msgid "Select supplier" msgstr "Tedarikçi seçin" -#: company/models.py:809 part/serializers.py:510 +#: company/models.py:809 part/serializers.py:525 msgid "Supplier stock keeping unit" msgstr "" @@ -4206,29 +4219,29 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:418 part/models.py:4070 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4113 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 -#: report/templates/report/inventree_slr_report.html:105 -#: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:579 +#: report/templates/report/inventree_purchase_order_report.html:32 +#: report/templates/report/inventree_return_order_report.html:27 +#: report/templates/report/inventree_sales_order_report.html:32 +#: report/templates/report/inventree_stock_location_report.html:105 +#: stock/serializers.py:708 msgid "Note" msgstr "Not" -#: company/models.py:857 part/models.py:1967 +#: company/models.py:857 part/models.py:2010 msgid "base cost" msgstr "temel maliyet" -#: company/models.py:858 part/models.py:1968 +#: company/models.py:858 part/models.py:2011 msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:782 stock/serializers.py:1350 +#: stock/admin.py:224 stock/models.py:803 stock/serializers.py:1479 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 -#: templates/js/translated/stock.js:2426 +#: templates/js/translated/stock.js:2424 msgid "Packaging" msgstr "Paketleme" @@ -4241,8 +4254,8 @@ msgstr "" #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 -#: templates/js/translated/purchase_order.js:2085 -#: templates/js/translated/purchase_order.js:2102 +#: templates/js/translated/purchase_order.js:2084 +#: templates/js/translated/purchase_order.js:2101 msgid "Pack Quantity" msgstr "" @@ -4250,7 +4263,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:892 part/models.py:1974 +#: company/models.py:892 part/models.py:2017 msgid "multiple" msgstr "çoklu" @@ -4285,7 +4298,7 @@ msgstr "" #: part/templates/part/part_base.html:146 #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 -#: templates/js/translated/model_renderers.js:306 +#: templates/js/translated/model_renderers.js:312 #: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 msgid "Inactive" msgstr "Pasif" @@ -4321,11 +4334,11 @@ msgstr "" #: company/templates/company/manufacturer_part.html:51 #: company/templates/company/supplier_part.html:83 #: part/templates/part/part_thumb.html:20 -#: report/templates/report/inventree_build_order_base.html:98 -#: report/templates/report/inventree_po_report_base.html:40 -#: report/templates/report/inventree_so_report_base.html:40 -#: report/templates/report/inventree_test_report_base.html:84 -#: report/templates/report/inventree_test_report_base.html:163 +#: report/templates/report/inventree_build_order_report.html:98 +#: report/templates/report/inventree_purchase_order_report.html:40 +#: report/templates/report/inventree_sales_order_report.html:40 +#: report/templates/report/inventree_test_report.html:84 +#: report/templates/report/inventree_test_report.html:163 msgid "Part image" msgstr "" @@ -4344,16 +4357,16 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:92 order/models.py:910 -#: order/models.py:2010 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:144 stock/models.py:804 -#: stock/models.py:805 stock/serializers.py:1100 +#: company/templates/company/company_base.html:92 order/models.py:941 +#: order/models.py:2059 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:148 stock/models.py:825 +#: stock/models.py:826 stock/serializers.py:1229 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 -#: templates/js/translated/return_order.js:296 -#: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2962 +#: templates/js/translated/return_order.js:295 +#: templates/js/translated/sales_order.js:820 +#: templates/js/translated/stock.js:2959 #: templates/js/translated/table_filters.js:808 msgid "Customer" msgstr "Müşteri" @@ -4362,10 +4375,10 @@ msgstr "Müşteri" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:124 order/models.py:341 +#: company/templates/company/company_base.html:124 order/models.py:354 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 -#: order/templates/order/sales_order_base.html:221 +#: order/templates/order/sales_order_base.html:225 msgid "Address" msgstr "Adres" @@ -4374,7 +4387,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:211 -#: part/templates/part/part_base.html:528 +#: part/templates/part/part_base.html:527 msgid "Remove Image" msgstr "" @@ -4383,19 +4396,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:214 -#: part/templates/part/part_base.html:531 +#: part/templates/part/part_base.html:530 #: templates/InvenTree/settings/user.html:88 #: templates/InvenTree/settings/user_sso.html:43 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:243 -#: part/templates/part/part_base.html:560 +#: part/templates/part/part_base.html:559 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:258 -#: part/templates/part/part_base.html:614 +#: part/templates/part/part_base.html:613 msgid "Download Image" msgstr "" @@ -4558,7 +4571,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:821 +#: part/admin.py:122 part/serializers.py:836 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4609,10 +4622,10 @@ msgstr "" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:452 -#: stock/models.py:762 stock/templates/stock/item_base.html:233 +#: stock/models.py:783 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 -#: templates/js/translated/stock.js:2282 +#: templates/js/translated/stock.js:2280 msgid "Supplier Part" msgstr "Tedarikçi Parçası" @@ -4658,11 +4671,11 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:509 +#: part/bom.py:311 part/serializers.py:524 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1851 -#: templates/js/translated/purchase_order.js:2029 +#: templates/js/translated/purchase_order.js:1850 +#: templates/js/translated/purchase_order.js:2028 msgid "SKU" msgstr "" @@ -4671,12 +4684,12 @@ msgid "Supplier Part Stock" msgstr "Tedarikçi Parça Stoku" #: company/templates/company/supplier_part.html:209 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:199 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:206 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:200 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:207 #: templates/js/translated/stock.js:537 msgid "New Stock Item" msgstr "" @@ -4708,16 +4721,16 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:820 part/stocktake.py:223 +#: part/serializers.py:835 part/stocktake.py:223 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:787 stock/serializers.py:951 +#: stock/serializers.py:916 stock/serializers.py:1080 #: stock/templates/stock/location.html:170 -#: stock/templates/stock/location.html:184 -#: stock/templates/stock/location.html:196 +#: stock/templates/stock/location.html:191 +#: stock/templates/stock/location.html:203 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2769 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 #: users/models.py:206 msgid "Stock Items" msgstr "Stok Kalemleri" @@ -4751,126 +4764,48 @@ msgstr "Şirketler" msgid "New Company" msgstr "Yeni Şirket" -#: label/api.py:247 -msgid "Error printing label" -msgstr "" - -#: label/models.py:120 -msgid "Label name" -msgstr "Etiket adı" - -#: label/models.py:128 -msgid "Label description" -msgstr "Etiket tanımı" - -#: label/models.py:136 -msgid "Label" -msgstr "Etiket" - -#: label/models.py:137 -msgid "Label template file" -msgstr "Etiket şablon listesi" - -#: label/models.py:143 part/models.py:3494 report/models.py:324 -#: templates/js/translated/part.js:2900 -#: templates/js/translated/table_filters.js:481 -msgid "Enabled" -msgstr "Etkin" - -#: label/models.py:144 -msgid "Label template is enabled" -msgstr "Etiket sablonu etkinleştirildi" - -#: label/models.py:149 -msgid "Width [mm]" -msgstr "Genişlik [mm]" - -#: label/models.py:150 -msgid "Label width, specified in mm" -msgstr "Etiket genişliği mm olarak belirtilmeli" - -#: label/models.py:156 -msgid "Height [mm]" -msgstr "Yükseklik [mm]" - -#: label/models.py:157 -msgid "Label height, specified in mm" -msgstr "Etiket yüksekliği mm olarak belirtilmeli" - -#: label/models.py:163 report/models.py:317 -msgid "Filename Pattern" -msgstr "Dosya Adı Deseni" - -#: label/models.py:164 -msgid "Pattern for generating label filenames" -msgstr "Etiket dosya adları oluşturma için desen" - -#: label/models.py:313 label/models.py:352 label/models.py:377 -#: label/models.py:412 -msgid "Query filters (comma-separated list of key=value pairs)" -msgstr "" - -#: label/models.py:314 label/models.py:353 label/models.py:378 -#: label/models.py:413 report/models.py:345 report/models.py:496 -#: report/models.py:532 report/models.py:568 report/models.py:750 -msgid "Filters" -msgstr "Filtreler" - -#: label/templates/label/part/part_label.html:31 -#: label/templates/label/stockitem/qr.html:21 -#: label/templates/label/stocklocation/qr.html:20 -#: templates/allauth_2fa/setup.html:18 -msgid "QR Code" -msgstr "" - -#: label/templates/label/part/part_label_code128.html:31 -#: label/templates/label/stocklocation/qr_and_text.html:31 -#: templates/qr_code.html:7 -msgid "QR code" -msgstr "" - -#: machine/machine_types/label_printer.py:217 +#: machine/machine_types/label_printer.py:218 msgid "Copies" msgstr "" -#: machine/machine_types/label_printer.py:218 +#: machine/machine_types/label_printer.py:219 msgid "Number of copies to print for each label" msgstr "" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:234 msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:234 order/api.py:1515 -#: templates/js/translated/sales_order.js:1042 +#: machine/machine_types/label_printer.py:235 order/api.py:1515 +#: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "" -#: machine/machine_types/label_printer.py:235 +#: machine/machine_types/label_printer.py:236 msgid "Printing" msgstr "" -#: machine/machine_types/label_printer.py:236 +#: machine/machine_types/label_printer.py:237 msgid "No media" msgstr "" -#: machine/machine_types/label_printer.py:237 +#: machine/machine_types/label_printer.py:238 msgid "Disconnected" msgstr "" -#: machine/machine_types/label_printer.py:244 +#: machine/machine_types/label_printer.py:245 msgid "Label Printer" msgstr "" -#: machine/machine_types/label_printer.py:245 +#: machine/machine_types/label_printer.py:246 msgid "Directly print labels for various items." msgstr "" -#: machine/machine_types/label_printer.py:251 +#: machine/machine_types/label_printer.py:252 msgid "Printer Location" msgstr "" -#: machine/machine_types/label_printer.py:252 +#: machine/machine_types/label_printer.py:253 msgid "Scope the printer to a specific location" msgstr "" @@ -4930,19 +4865,19 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:89 -#: report/templates/report/inventree_po_report_base.html:31 -#: report/templates/report/inventree_so_report_base.html:31 +#: order/admin.py:30 order/models.py:90 +#: report/templates/report/inventree_purchase_order_report.html:31 +#: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2126 -#: templates/js/translated/sales_order.js:1847 +#: templates/js/translated/purchase_order.js:2125 +#: templates/js/translated/sales_order.js:1883 msgid "Total Price" msgstr "" #: order/api.py:161 order/serializers.py:91 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 -#: order/templates/order/sales_order_base.html:118 +#: order/templates/order/sales_order_base.html:122 msgid "Order Status" msgstr "" @@ -4955,10 +4890,10 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:437 order/api.py:817 order/models.py:1382 order/models.py:1491 -#: order/models.py:1537 order/models.py:1651 order/models.py:1805 -#: order/models.py:2209 order/models.py:2260 -#: templates/js/translated/sales_order.js:1488 +#: order/api.py:437 order/api.py:817 order/models.py:1422 order/models.py:1531 +#: order/models.py:1577 order/models.py:1691 order/models.py:1845 +#: order/models.py:2258 order/models.py:2309 +#: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" @@ -4970,402 +4905,398 @@ msgstr "" msgid "Order Pending" msgstr "" -#: order/api.py:1509 order/models.py:1383 order/models.py:1492 -#: order/templates/order/order_base.html:9 +#: order/api.py:1509 order/models.py:381 order/models.py:1423 +#: order/models.py:1532 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 -#: report/templates/report/inventree_po_report_base.html:14 -#: stock/templates/stock/item_base.html:176 +#: report/templates/report/inventree_purchase_order_report.html:14 +#: stock/serializers.py:119 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 -#: templates/js/translated/purchase_order.js:1674 -#: templates/js/translated/stock.js:2262 templates/js/translated/stock.js:2910 +#: templates/js/translated/purchase_order.js:1673 +#: templates/js/translated/stock.js:2260 templates/js/translated/stock.js:2907 msgid "Purchase Order" msgstr "" -#: order/api.py:1513 order/models.py:2210 order/models.py:2261 -#: order/templates/order/return_order_base.html:9 +#: order/api.py:1513 order/models.py:2008 order/models.py:2259 +#: order/models.py:2310 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:281 -#: templates/js/translated/stock.js:2944 +#: report/templates/report/inventree_return_order_report.html:13 +#: templates/js/translated/return_order.js:280 +#: templates/js/translated/stock.js:2941 msgid "Return Order" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:96 order/serializers.py:71 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:99 order/serializers.py:72 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:246 +#: order/models.py:248 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:278 +#: order/models.py:291 msgid "Order description (optional)" msgstr "" -#: order/models.py:287 +#: order/models.py:300 msgid "Select project code for this order" msgstr "" -#: order/models.py:291 order/models.py:1288 order/models.py:1704 +#: order/models.py:304 order/models.py:1328 order/models.py:1744 msgid "Link to external page" msgstr "Harici sayfaya bağlantı" -#: order/models.py:299 +#: order/models.py:312 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:313 +#: order/models.py:326 msgid "Created By" msgstr "Oluşturan" -#: order/models.py:321 +#: order/models.py:334 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:332 +#: order/models.py:345 msgid "Point of contact for this order" msgstr "" -#: order/models.py:342 +#: order/models.py:355 msgid "Company address for this order" msgstr "" -#: order/models.py:443 order/models.py:899 +#: order/models.py:465 order/models.py:930 msgid "Order reference" msgstr "Sipariş referansı" -#: order/models.py:451 order/models.py:923 +#: order/models.py:473 order/models.py:954 msgid "Purchase order status" msgstr "" -#: order/models.py:466 +#: order/models.py:488 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:477 order/templates/order/order_base.html:148 -#: templates/js/translated/purchase_order.js:1703 +#: order/models.py:499 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1702 msgid "Supplier Reference" msgstr "" -#: order/models.py:478 +#: order/models.py:500 msgid "Supplier order reference code" msgstr "" -#: order/models.py:487 +#: order/models.py:509 msgid "received by" msgstr "" -#: order/models.py:493 order/models.py:2036 +#: order/models.py:515 order/models.py:2085 msgid "Issue Date" msgstr "" -#: order/models.py:494 order/models.py:2037 +#: order/models.py:516 order/models.py:2086 msgid "Date order was issued" msgstr "" -#: order/models.py:501 order/models.py:2044 +#: order/models.py:523 order/models.py:2093 msgid "Date order was completed" msgstr "" -#: order/models.py:545 +#: order/models.py:567 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:739 +#: order/models.py:761 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:911 +#: order/models.py:942 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:934 order/models.py:2029 +#: order/models.py:965 order/models.py:2078 msgid "Customer Reference " msgstr "" -#: order/models.py:935 order/models.py:2030 +#: order/models.py:966 order/models.py:2079 msgid "Customer order reference code" msgstr "" -#: order/models.py:939 order/models.py:1658 -#: templates/js/translated/sales_order.js:843 -#: templates/js/translated/sales_order.js:1024 +#: order/models.py:970 order/models.py:1698 +#: templates/js/translated/sales_order.js:879 +#: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "" -#: order/models.py:948 +#: order/models.py:979 msgid "shipped by" msgstr "" -#: order/models.py:999 -msgid "Order cannot be completed as no parts have been assigned" -msgstr "" - -#: order/models.py:1004 +#: order/models.py:1029 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1008 templates/js/translated/sales_order.js:506 +#: order/models.py:1033 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1013 +#: order/models.py:1038 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1260 +#: order/models.py:1300 msgid "Item quantity" msgstr "" -#: order/models.py:1277 +#: order/models.py:1317 msgid "Line item reference" msgstr "" -#: order/models.py:1284 +#: order/models.py:1324 msgid "Line item notes" msgstr "" -#: order/models.py:1296 +#: order/models.py:1336 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1317 +#: order/models.py:1357 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1323 +#: order/models.py:1363 msgid "Context" msgstr "" -#: order/models.py:1324 +#: order/models.py:1364 msgid "Additional context for this line" msgstr "" -#: order/models.py:1334 +#: order/models.py:1374 msgid "Unit price" msgstr "" -#: order/models.py:1367 +#: order/models.py:1407 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1374 +#: order/models.py:1414 msgid "deleted" msgstr "" -#: order/models.py:1402 +#: order/models.py:1442 msgid "Supplier part" msgstr "" -#: order/models.py:1409 order/templates/order/order_base.html:196 +#: order/models.py:1449 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 #: templates/js/translated/purchase_order.js:1306 -#: templates/js/translated/purchase_order.js:2170 -#: templates/js/translated/return_order.js:764 +#: templates/js/translated/purchase_order.js:2169 +#: templates/js/translated/return_order.js:763 #: templates/js/translated/table_filters.js:120 #: templates/js/translated/table_filters.js:602 msgid "Received" msgstr "" -#: order/models.py:1410 +#: order/models.py:1450 msgid "Number of items received" msgstr "" -#: order/models.py:1418 stock/models.py:923 stock/serializers.py:400 +#: order/models.py:1458 stock/models.py:944 stock/serializers.py:529 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2313 +#: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "" -#: order/models.py:1419 +#: order/models.py:1459 msgid "Unit purchase price" msgstr "" -#: order/models.py:1434 +#: order/models.py:1474 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1525 +#: order/models.py:1565 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1530 +#: order/models.py:1570 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1556 part/templates/part/part_pricing.html:107 +#: order/models.py:1596 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1557 +#: order/models.py:1597 msgid "Unit sale price" msgstr "" -#: order/models.py:1567 +#: order/models.py:1607 msgid "Shipped quantity" msgstr "" -#: order/models.py:1659 +#: order/models.py:1699 msgid "Date of shipment" msgstr "" -#: order/models.py:1665 templates/js/translated/sales_order.js:1036 +#: order/models.py:1705 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1666 +#: order/models.py:1706 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1674 +#: order/models.py:1714 msgid "Checked By" msgstr "" -#: order/models.py:1675 +#: order/models.py:1715 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1682 order/models.py:1895 order/serializers.py:1354 -#: order/serializers.py:1464 templates/js/translated/model_renderers.js:448 +#: order/models.py:1722 order/models.py:1935 order/serializers.py:1354 +#: order/serializers.py:1464 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" -#: order/models.py:1683 +#: order/models.py:1723 msgid "Shipment number" msgstr "" -#: order/models.py:1691 +#: order/models.py:1731 msgid "Tracking Number" msgstr "" -#: order/models.py:1692 +#: order/models.py:1732 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1699 +#: order/models.py:1739 msgid "Invoice Number" msgstr "" -#: order/models.py:1700 +#: order/models.py:1740 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1720 +#: order/models.py:1760 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1723 +#: order/models.py:1763 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1841 order/models.py:1843 +#: order/models.py:1881 order/models.py:1883 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1850 +#: order/models.py:1890 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1853 +#: order/models.py:1893 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1856 +#: order/models.py:1896 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Tahsis miktarı stok miktarını aşamaz" -#: order/models.py:1875 order/serializers.py:1231 +#: order/models.py:1915 order/serializers.py:1231 msgid "Quantity must be 1 for serialized stock item" msgstr "Seri numaralı stok kalemi için miktar bir olmalı" -#: order/models.py:1878 +#: order/models.py:1918 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1879 plugin/base/barcodes/api.py:481 +#: order/models.py:1919 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1887 +#: order/models.py:1927 msgid "Line" msgstr "" -#: order/models.py:1896 +#: order/models.py:1936 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1909 order/models.py:2217 -#: templates/js/translated/return_order.js:722 +#: order/models.py:1949 order/models.py:2266 +#: templates/js/translated/return_order.js:721 msgid "Item" msgstr "" -#: order/models.py:1910 +#: order/models.py:1950 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1919 +#: order/models.py:1959 msgid "Enter stock allocation quantity" msgstr "Stok tahsis miktarını girin" -#: order/models.py:1999 +#: order/models.py:2048 msgid "Return Order reference" msgstr "" -#: order/models.py:2011 +#: order/models.py:2060 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2023 +#: order/models.py:2072 msgid "Return order status" msgstr "" -#: order/models.py:2202 +#: order/models.py:2251 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2218 +#: order/models.py:2267 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2224 +#: order/models.py:2273 msgid "Received Date" msgstr "" -#: order/models.py:2225 +#: order/models.py:2274 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2236 templates/js/translated/return_order.js:733 +#: order/models.py:2285 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2237 +#: order/models.py:2286 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2244 +#: order/models.py:2293 msgid "Cost associated with return or repair for this line item" msgstr "" #: order/serializers.py:80 order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 -#: report/templates/report/inventree_po_report_base.html:22 -#: report/templates/report/inventree_return_order_report_base.html:19 -#: report/templates/report/inventree_so_report_base.html:22 +#: report/templates/report/inventree_purchase_order_report.html:22 +#: report/templates/report/inventree_return_order_report.html:19 +#: report/templates/report/inventree_sales_order_report.html:22 msgid "Line Items" msgstr "" @@ -5595,7 +5526,7 @@ msgstr "Siparişi tamamlandı olarak işaretle" #: order/templates/order/order_base.html:84 #: order/templates/order/return_order_base.html:87 -#: order/templates/order/sales_order_base.html:93 +#: order/templates/order/sales_order_base.html:97 msgid "Complete Order" msgstr "" @@ -5605,13 +5536,13 @@ msgstr "" #: order/templates/order/order_base.html:106 #: order/templates/order/return_order_base.html:101 -#: order/templates/order/sales_order_base.html:106 +#: order/templates/order/sales_order_base.html:110 msgid "Order Reference" msgstr "" #: order/templates/order/order_base.html:111 #: order/templates/order/return_order_base.html:106 -#: order/templates/order/sales_order_base.html:111 +#: order/templates/order/sales_order_base.html:115 msgid "Order Description" msgstr "" @@ -5620,19 +5551,19 @@ msgid "No suppplier information available" msgstr "" #: order/templates/order/order_base.html:154 -#: order/templates/order/sales_order_base.html:157 +#: order/templates/order/sales_order_base.html:161 msgid "Completed Line Items" msgstr "" #: order/templates/order/order_base.html:160 -#: order/templates/order/sales_order_base.html:163 -#: order/templates/order/sales_order_base.html:173 +#: order/templates/order/sales_order_base.html:167 +#: order/templates/order/sales_order_base.html:177 msgid "Incomplete" msgstr "" #: order/templates/order/order_base.html:179 #: order/templates/order/return_order_base.html:157 -#: report/templates/report/inventree_build_order_base.html:121 +#: report/templates/report/inventree_build_order_report.html:121 msgid "Issued" msgstr "" @@ -5642,15 +5573,15 @@ msgstr "" #: order/templates/order/order_base.html:228 #: order/templates/order/return_order_base.html:199 -#: order/templates/order/sales_order_base.html:239 +#: order/templates/order/sales_order_base.html:243 msgid "Total cost could not be calculated" msgstr "" -#: order/templates/order/order_base.html:318 +#: order/templates/order/order_base.html:314 msgid "Purchase Order QR Code" msgstr "" -#: order/templates/order/order_base.html:330 +#: order/templates/order/order_base.html:326 msgid "Link Barcode to Purchase Order" msgstr "" @@ -5707,8 +5638,8 @@ msgstr "" #: templates/js/translated/build.js:1629 #: templates/js/translated/purchase_order.js:696 #: templates/js/translated/purchase_order.js:1236 -#: templates/js/translated/return_order.js:506 -#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/return_order.js:505 +#: templates/js/translated/sales_order.js:1145 #: templates/js/translated/stock.js:714 templates/js/translated/stock.js:883 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -5762,7 +5693,7 @@ msgstr "" #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 #: templates/js/translated/purchase_order.js:414 -#: templates/js/translated/return_order.js:459 +#: templates/js/translated/return_order.js:458 #: templates/js/translated/sales_order.js:237 msgid "Add Line Item" msgstr "" @@ -5811,30 +5742,30 @@ msgid "Print packing list" msgstr "" #: order/templates/order/return_order_base.html:138 -#: order/templates/order/sales_order_base.html:151 -#: templates/js/translated/return_order.js:309 -#: templates/js/translated/sales_order.js:797 +#: order/templates/order/sales_order_base.html:155 +#: templates/js/translated/return_order.js:308 +#: templates/js/translated/sales_order.js:833 msgid "Customer Reference" msgstr "" #: order/templates/order/return_order_base.html:195 -#: order/templates/order/sales_order_base.html:235 +#: order/templates/order/sales_order_base.html:239 #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1072 -#: templates/js/translated/purchase_order.js:1753 -#: templates/js/translated/return_order.js:381 -#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/purchase_order.js:1752 +#: templates/js/translated/return_order.js:380 +#: templates/js/translated/sales_order.js:891 msgid "Total Cost" msgstr "Toplam Maliyet" -#: order/templates/order/return_order_base.html:263 +#: order/templates/order/return_order_base.html:259 msgid "Return Order QR Code" msgstr "" -#: order/templates/order/return_order_base.html:275 +#: order/templates/order/return_order_base.html:271 msgid "Link Barcode to Return Order" msgstr "" @@ -5852,25 +5783,30 @@ msgid "Ship Items" msgstr "" #: order/templates/order/sales_order_base.html:92 -#: templates/js/translated/sales_order.js:484 +#: order/templates/order/sales_order_base.html:93 +msgid "Mark As Shipped" +msgstr "" + +#: order/templates/order/sales_order_base.html:96 +#: templates/js/translated/sales_order.js:536 msgid "Complete Sales Order" msgstr "" -#: order/templates/order/sales_order_base.html:131 +#: order/templates/order/sales_order_base.html:135 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:169 +#: order/templates/order/sales_order_base.html:173 #: order/templates/order/sales_order_detail.html:99 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "" -#: order/templates/order/sales_order_base.html:312 +#: order/templates/order/sales_order_base.html:321 msgid "Sales Order QR Code" msgstr "" -#: order/templates/order/sales_order_base.html:324 +#: order/templates/order/sales_order_base.html:333 msgid "Link Barcode to Sales Order" msgstr "" @@ -5914,12 +5850,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:404 part/models.py:3921 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:406 part/models.py:3964 part/stocktake.py:218 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:411 part/models.py:3922 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:413 part/models.py:3965 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -5928,20 +5864,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:904 part/templates/part/part_base.html:269 -#: report/templates/report/inventree_slr_report.html:103 -#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2341 -#: templates/js/translated/stock.js:2038 +#: part/admin.py:48 part/models.py:947 part/templates/part/part_base.html:269 +#: report/templates/report/inventree_stock_location_report.html:103 +#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 +#: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "DPN" -#: part/admin.py:50 part/models.py:913 part/templates/part/part_base.html:277 -#: report/models.py:195 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2347 +#: part/admin.py:50 part/models.py:956 part/templates/part/part_base.html:277 +#: report/models.py:161 templates/js/translated/part.js:1231 +#: templates/js/translated/part.js:2346 msgid "Revision" msgstr "Revizyon" -#: part/admin.py:53 part/admin.py:317 part/models.py:886 +#: part/admin.py:53 part/admin.py:319 part/models.py:929 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "Anahtar kelimeler" @@ -5950,15 +5886,15 @@ msgstr "Anahtar kelimeler" msgid "Part Image" msgstr "" -#: part/admin.py:63 part/admin.py:300 part/stocktake.py:221 +#: part/admin.py:63 part/admin.py:302 part/stocktake.py:221 msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:302 part/stocktake.py:222 +#: part/admin.py:67 part/admin.py:304 part/stocktake.py:222 msgid "Category Name" msgstr "" -#: part/admin.py:71 part/admin.py:314 +#: part/admin.py:71 part/admin.py:316 msgid "Default Location ID" msgstr "" @@ -5966,11 +5902,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:872 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:915 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "Çeşidi" -#: part/admin.py:84 part/models.py:1000 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1043 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "Minimum Stok" @@ -5983,160 +5919,164 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3080 part/models.py:3094 +#: part/admin.py:155 part/models.py:3123 part/models.py:3137 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3087 part/models.py:3101 +#: part/admin.py:158 part/models.py:3130 part/models.py:3144 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" -#: part/admin.py:306 part/admin.py:393 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:211 msgid "Parent ID" msgstr "" -#: part/admin.py:310 part/admin.py:400 stock/admin.py:62 +#: part/admin.py:312 part/admin.py:402 stock/admin.py:62 msgid "Parent Name" msgstr "" -#: part/admin.py:318 part/templates/part/category.html:88 +#: part/admin.py:320 part/templates/part/category.html:88 #: part/templates/part/category.html:101 msgid "Category Path" msgstr "" -#: part/admin.py:323 part/models.py:391 part/serializers.py:117 +#: part/admin.py:325 part/models.py:393 part/serializers.py:117 #: part/serializers.py:272 part/serializers.py:391 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2803 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "Parçalar" -#: part/admin.py:384 +#: part/admin.py:386 msgid "BOM Level" msgstr "" -#: part/admin.py:387 +#: part/admin.py:389 msgid "BOM Item ID" msgstr "" -#: part/admin.py:397 +#: part/admin.py:399 msgid "Parent IPN" msgstr "" -#: part/admin.py:408 part/models.py:3923 +#: part/admin.py:410 part/models.py:3966 msgid "Part IPN" msgstr "" -#: part/admin.py:421 part/serializers.py:1261 +#: part/admin.py:423 part/serializers.py:1276 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:426 part/serializers.py:1276 +#: part/admin.py:428 part/serializers.py:1291 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:119 +#: part/api.py:112 msgid "Starred" msgstr "" -#: part/api.py:121 +#: part/api.py:114 msgid "Filter by starred categories" msgstr "" -#: part/api.py:138 stock/api.py:284 +#: part/api.py:131 stock/api.py:318 msgid "Depth" msgstr "" -#: part/api.py:138 +#: part/api.py:131 msgid "Filter by category depth" msgstr "" -#: part/api.py:156 stock/api.py:302 +#: part/api.py:149 stock/api.py:336 msgid "Cascade" msgstr "" -#: part/api.py:158 +#: part/api.py:151 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:178 +#: part/api.py:171 msgid "Parent" msgstr "" -#: part/api.py:180 +#: part/api.py:173 msgid "Filter by parent category" msgstr "" -#: part/api.py:213 +#: part/api.py:206 msgid "Exclude Tree" msgstr "" -#: part/api.py:215 +#: part/api.py:208 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:461 +#: part/api.py:455 msgid "Has Results" msgstr "" -#: part/api.py:628 +#: part/api.py:622 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:646 +#: part/api.py:640 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:662 +#: part/api.py:656 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:746 +#: part/api.py:740 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:893 +#: part/api.py:887 msgid "Valid" msgstr "" -#: part/api.py:894 +#: part/api.py:888 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:900 +#: part/api.py:894 msgid "This option must be selected" msgstr "" -#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866 -#: part/serializers.py:406 part/serializers.py:1117 -#: part/templates/part/part_base.html:260 stock/api.py:745 +#: part/api.py:1111 +msgid "BOM Valid" +msgstr "" + +#: part/api.py:1515 part/models.py:939 part/models.py:3429 part/models.py:3909 +#: part/serializers.py:406 part/serializers.py:1132 +#: part/templates/part/part_base.html:260 stock/api.py:779 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2377 +#: templates/js/translated/part.js:2376 msgid "Category" msgstr "" -#: part/api.py:1849 +#: part/api.py:1803 msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:101 part/models.py:939 +#: part/bom.py:170 part/models.py:102 part/models.py:982 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "Varsayılan Konum" -#: part/bom.py:171 part/serializers.py:822 +#: part/bom.py:171 part/serializers.py:837 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6145,698 +6085,712 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:82 part/models.py:3867 part/templates/part/category.html:16 +#: part/models.py:83 part/models.py:3910 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:83 part/templates/part/category.html:136 +#: part/models.py:84 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "Parça Kategorileri" -#: part/models.py:102 +#: part/models.py:103 msgid "Default location for parts in this category" msgstr "Bu kategori içindeki parçalar için varsayılan konum" -#: part/models.py:107 stock/models.py:165 templates/js/translated/part.js:2810 -#: templates/js/translated/stock.js:2775 +#: part/models.py:108 stock/models.py:177 templates/js/translated/part.js:2809 +#: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "" -#: part/models.py:109 +#: part/models.py:110 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:118 +#: part/models.py:119 msgid "Default keywords" msgstr "" -#: part/models.py:119 +#: part/models.py:120 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:125 stock/models.py:89 stock/models.py:148 +#: part/models.py:126 stock/models.py:89 stock/models.py:160 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:126 stock/models.py:149 +#: part/models.py:127 stock/models.py:161 msgid "Icon (optional)" msgstr "" -#: part/models.py:148 +#: part/models.py:149 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:484 +#: part/models.py:482 +msgid "Cannot delete this part as it is still active" +msgstr "" + +#: part/models.py:489 +msgid "Cannot delete this part as it is used in an assembly" +msgstr "" + +#: part/models.py:527 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:532 part/models.py:539 +#: part/models.py:575 part/models.py:582 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:551 +#: part/models.py:594 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:616 +#: part/models.py:659 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:696 +#: part/models.py:739 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:801 +#: part/models.py:844 msgid "Duplicate IPN not allowed in part settings" msgstr "Yinelenen DPN'ye parça ayarlarında izin verilmiyor" -#: part/models.py:811 +#: part/models.py:854 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:826 +#: part/models.py:869 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:855 part/models.py:3922 +#: part/models.py:898 part/models.py:3965 msgid "Part name" msgstr "Parça adı" -#: part/models.py:860 +#: part/models.py:903 msgid "Is Template" msgstr "Şablon Mu" -#: part/models.py:861 +#: part/models.py:904 msgid "Is this part a template part?" msgstr "Bu parça bir şablon parçası mı?" -#: part/models.py:871 +#: part/models.py:914 msgid "Is this part a variant of another part?" msgstr "Bu parça başka bir parçanın çeşidi mi?" -#: part/models.py:879 +#: part/models.py:922 msgid "Part description (optional)" msgstr "" -#: part/models.py:887 +#: part/models.py:930 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:897 +#: part/models.py:940 msgid "Part category" msgstr "" -#: part/models.py:905 +#: part/models.py:948 msgid "Internal Part Number" msgstr "" -#: part/models.py:912 +#: part/models.py:955 msgid "Part revision or version number" msgstr "Parça revizyon veya versiyon numarası" -#: part/models.py:937 +#: part/models.py:980 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:983 part/templates/part/part_base.html:376 +#: part/models.py:1026 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "Varsayılan Tedarikçi" -#: part/models.py:984 +#: part/models.py:1027 msgid "Default supplier part" msgstr "Varsayılan tedarikçi parçası" -#: part/models.py:991 +#: part/models.py:1034 msgid "Default Expiry" msgstr "" -#: part/models.py:992 +#: part/models.py:1035 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1001 +#: part/models.py:1044 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1010 +#: part/models.py:1053 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1017 +#: part/models.py:1060 msgid "Can this part be built from other parts?" msgstr "Bu parça diğer parçalardan yapılabilir mi?" -#: part/models.py:1023 +#: part/models.py:1066 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:1029 +#: part/models.py:1072 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1035 +#: part/models.py:1078 msgid "Can this part be purchased from external suppliers?" msgstr "Bu parça dış tedarikçilerden satın alınabilir mi?" -#: part/models.py:1041 +#: part/models.py:1084 msgid "Can this part be sold to customers?" msgstr "Bu parça müşterilere satılabilir mi?" -#: part/models.py:1045 +#: part/models.py:1088 msgid "Is this part active?" msgstr "Bu parça aktif mi?" -#: part/models.py:1051 +#: part/models.py:1094 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1057 +#: part/models.py:1100 msgid "BOM checksum" msgstr "" -#: part/models.py:1058 +#: part/models.py:1101 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1066 +#: part/models.py:1109 msgid "BOM checked by" msgstr "" -#: part/models.py:1071 +#: part/models.py:1114 msgid "BOM checked date" msgstr "" -#: part/models.py:1087 +#: part/models.py:1130 msgid "Creation User" msgstr "Oluşturan Kullanıcı" -#: part/models.py:1097 +#: part/models.py:1140 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1102 part/templates/part/part_base.html:339 +#: part/models.py:1145 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 -#: templates/js/translated/part.js:2471 +#: templates/js/translated/part.js:2470 msgid "Last Stocktake" msgstr "" -#: part/models.py:1975 +#: part/models.py:2018 msgid "Sell multiple" msgstr "" -#: part/models.py:2994 +#: part/models.py:3037 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3010 +#: part/models.py:3053 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3011 +#: part/models.py:3054 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3017 +#: part/models.py:3060 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3018 +#: part/models.py:3061 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3024 +#: part/models.py:3067 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3025 +#: part/models.py:3068 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3031 +#: part/models.py:3074 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3032 +#: part/models.py:3075 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3038 +#: part/models.py:3081 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3039 +#: part/models.py:3082 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3045 +#: part/models.py:3088 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3046 +#: part/models.py:3089 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3052 +#: part/models.py:3095 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3053 +#: part/models.py:3096 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3059 +#: part/models.py:3102 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3060 +#: part/models.py:3103 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3066 +#: part/models.py:3109 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3067 +#: part/models.py:3110 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3073 +#: part/models.py:3116 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3074 +#: part/models.py:3117 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3081 +#: part/models.py:3124 msgid "Override minimum cost" msgstr "" -#: part/models.py:3088 +#: part/models.py:3131 msgid "Override maximum cost" msgstr "" -#: part/models.py:3095 +#: part/models.py:3138 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3102 +#: part/models.py:3145 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3108 +#: part/models.py:3151 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3109 +#: part/models.py:3152 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3115 +#: part/models.py:3158 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3116 +#: part/models.py:3159 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3122 +#: part/models.py:3165 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3123 +#: part/models.py:3166 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3129 +#: part/models.py:3172 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3130 +#: part/models.py:3173 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3149 +#: part/models.py:3192 msgid "Part for stocktake" msgstr "" -#: part/models.py:3154 +#: part/models.py:3197 msgid "Item Count" msgstr "" -#: part/models.py:3155 +#: part/models.py:3198 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3163 +#: part/models.py:3206 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3167 part/models.py:3250 +#: part/models.py:3210 part/models.py:3293 #: part/templates/part/part_scheduling.html:13 -#: report/templates/report/inventree_test_report_base.html:106 +#: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 #: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 -#: templates/js/translated/purchase_order.js:1732 -#: templates/js/translated/stock.js:2824 +#: templates/js/translated/purchase_order.js:1731 +#: templates/js/translated/stock.js:2821 msgid "Date" msgstr "" -#: part/models.py:3168 +#: part/models.py:3211 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3176 +#: part/models.py:3219 msgid "Additional notes" msgstr "" -#: part/models.py:3186 +#: part/models.py:3229 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3192 +#: part/models.py:3235 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3193 +#: part/models.py:3236 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3199 +#: part/models.py:3242 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3200 +#: part/models.py:3243 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3256 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3299 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3257 +#: part/models.py:3300 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3262 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3305 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3263 +#: part/models.py:3306 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3273 +#: part/models.py:3316 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3435 +#: part/models.py:3478 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3446 +#: part/models.py:3489 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:3457 +#: part/models.py:3500 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3474 templates/js/translated/part.js:2879 +#: part/models.py:3517 templates/js/translated/part.js:2878 msgid "Test Name" msgstr "Test Adı" -#: part/models.py:3475 +#: part/models.py:3518 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3481 +#: part/models.py:3524 msgid "Test Key" msgstr "" -#: part/models.py:3482 +#: part/models.py:3525 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3489 +#: part/models.py:3532 msgid "Test Description" msgstr "Test Açıklaması" -#: part/models.py:3490 +#: part/models.py:3533 msgid "Enter description for this test" msgstr "" -#: part/models.py:3494 +#: part/models.py:3537 report/models.py:208 +#: templates/js/translated/part.js:2899 +#: templates/js/translated/table_filters.js:481 +msgid "Enabled" +msgstr "Etkin" + +#: part/models.py:3537 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3499 templates/js/translated/part.js:2908 +#: part/models.py:3542 templates/js/translated/part.js:2907 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "Gerekli" -#: part/models.py:3500 +#: part/models.py:3543 msgid "Is this test required to pass?" msgstr "Testi geçmesi için bu gerekli mi?" -#: part/models.py:3505 templates/js/translated/part.js:2916 +#: part/models.py:3548 templates/js/translated/part.js:2915 msgid "Requires Value" msgstr "" -#: part/models.py:3506 +#: part/models.py:3549 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3511 templates/js/translated/part.js:2923 +#: part/models.py:3554 templates/js/translated/part.js:2922 msgid "Requires Attachment" msgstr "" -#: part/models.py:3513 +#: part/models.py:3556 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3560 +#: part/models.py:3603 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3565 +#: part/models.py:3608 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3585 +#: part/models.py:3628 msgid "Choices must be unique" msgstr "" -#: part/models.py:3602 +#: part/models.py:3645 msgid "Parameter template name must be unique" msgstr "Parametre şablon adı benzersiz olmalıdır" -#: part/models.py:3617 +#: part/models.py:3660 msgid "Parameter Name" msgstr "" -#: part/models.py:3624 +#: part/models.py:3667 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3632 +#: part/models.py:3675 msgid "Parameter description" msgstr "" -#: part/models.py:3638 templates/js/translated/part.js:1627 +#: part/models.py:3681 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3639 +#: part/models.py:3682 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3644 templates/js/translated/part.js:1636 +#: part/models.py:3687 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3645 +#: part/models.py:3688 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3722 +#: part/models.py:3765 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3765 +#: part/models.py:3808 msgid "Parent Part" msgstr "" -#: part/models.py:3773 part/models.py:3874 part/models.py:3875 +#: part/models.py:3816 part/models.py:3917 part/models.py:3918 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "Parametre Şablonu" -#: part/models.py:3778 +#: part/models.py:3821 msgid "Data" msgstr "" -#: part/models.py:3779 +#: part/models.py:3822 msgid "Parameter Value" msgstr "" -#: part/models.py:3881 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3924 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3882 +#: part/models.py:3925 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3920 +#: part/models.py:3963 msgid "Part ID or part name" msgstr "" -#: part/models.py:3921 +#: part/models.py:3964 msgid "Unique part ID value" msgstr "" -#: part/models.py:3923 +#: part/models.py:3966 msgid "Part IPN value" msgstr "" -#: part/models.py:3924 +#: part/models.py:3967 msgid "Level" msgstr "" -#: part/models.py:3924 +#: part/models.py:3967 msgid "BOM level" msgstr "" -#: part/models.py:4014 +#: part/models.py:4057 msgid "Select parent part" msgstr "" -#: part/models.py:4024 +#: part/models.py:4067 msgid "Sub part" msgstr "" -#: part/models.py:4025 +#: part/models.py:4068 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4036 +#: part/models.py:4079 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4042 +#: part/models.py:4085 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4048 +#: part/models.py:4091 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4055 part/templates/part/upload_bom.html:55 +#: part/models.py:4098 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4056 +#: part/models.py:4099 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4063 +#: part/models.py:4106 msgid "BOM item reference" msgstr "" -#: part/models.py:4071 +#: part/models.py:4114 msgid "BOM item notes" msgstr "" -#: part/models.py:4077 +#: part/models.py:4120 msgid "Checksum" msgstr "" -#: part/models.py:4078 +#: part/models.py:4121 msgid "BOM line checksum" msgstr "" -#: part/models.py:4083 templates/js/translated/table_filters.js:174 +#: part/models.py:4126 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4084 +#: part/models.py:4127 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4089 part/templates/part/upload_bom.html:57 +#: part/models.py:4132 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4090 +#: part/models.py:4133 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:4095 part/templates/part/upload_bom.html:56 +#: part/models.py:4138 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "Çeşide İzin Ver" -#: part/models.py:4096 +#: part/models.py:4139 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:4181 stock/models.py:647 +#: part/models.py:4224 stock/models.py:668 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4191 part/models.py:4193 +#: part/models.py:4234 part/models.py:4236 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4333 +#: part/models.py:4376 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4354 +#: part/models.py:4397 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4367 +#: part/models.py:4410 msgid "Parent BOM item" msgstr "" -#: part/models.py:4375 +#: part/models.py:4418 msgid "Substitute part" msgstr "" -#: part/models.py:4391 +#: part/models.py:4434 msgid "Part 1" msgstr "" -#: part/models.py:4399 +#: part/models.py:4442 msgid "Part 2" msgstr "" -#: part/models.py:4400 +#: part/models.py:4443 msgid "Select Related Part" msgstr "" -#: part/models.py:4419 +#: part/models.py:4462 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4424 +#: part/models.py:4467 msgid "Duplicate relationship already exists" msgstr "" @@ -6854,7 +6808,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:406 +#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:535 msgid "Purchase currency of this stock item" msgstr "" @@ -6870,299 +6824,299 @@ msgstr "" msgid "Select category" msgstr "" -#: part/serializers.py:437 +#: part/serializers.py:442 msgid "Original Part" msgstr "" -#: part/serializers.py:438 +#: part/serializers.py:443 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:448 msgid "Copy Image" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:449 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:450 part/templates/part/detail.html:277 +#: part/serializers.py:455 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:451 +#: part/serializers.py:456 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:462 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:458 +#: part/serializers.py:463 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:464 +#: part/serializers.py:469 msgid "Copy Notes" msgstr "" -#: part/serializers.py:465 +#: part/serializers.py:470 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:478 +#: part/serializers.py:488 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:490 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:487 +#: part/serializers.py:497 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:488 +#: part/serializers.py:498 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:500 +#: part/serializers.py:515 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:531 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:526 +#: part/serializers.py:541 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:533 +#: part/serializers.py:548 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:542 +#: part/serializers.py:557 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:553 +#: part/serializers.py:568 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:560 +#: part/serializers.py:575 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:823 +#: part/serializers.py:838 msgid "External Stock" msgstr "" -#: part/serializers.py:825 +#: part/serializers.py:840 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:828 +#: part/serializers.py:843 msgid "Variant Stock" msgstr "" -#: part/serializers.py:856 part/templates/part/copy_part.html:9 +#: part/serializers.py:871 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:857 +#: part/serializers.py:872 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:863 templates/js/translated/part.js:102 +#: part/serializers.py:878 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:864 +#: part/serializers.py:879 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:870 +#: part/serializers.py:885 msgid "Supplier Information" msgstr "" -#: part/serializers.py:871 +#: part/serializers.py:886 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:879 +#: part/serializers.py:894 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:880 +#: part/serializers.py:895 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:885 +#: part/serializers.py:900 msgid "Existing Image" msgstr "" -#: part/serializers.py:886 +#: part/serializers.py:901 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:918 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1109 +#: part/serializers.py:1124 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1119 +#: part/serializers.py:1134 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1129 +#: part/serializers.py:1144 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1135 +#: part/serializers.py:1150 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1136 +#: part/serializers.py:1151 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1141 +#: part/serializers.py:1156 msgid "Generate Report" msgstr "" -#: part/serializers.py:1142 +#: part/serializers.py:1157 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1147 +#: part/serializers.py:1162 msgid "Update Parts" msgstr "" -#: part/serializers.py:1148 +#: part/serializers.py:1163 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1156 +#: part/serializers.py:1171 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1262 +#: part/serializers.py:1277 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1269 +#: part/serializers.py:1284 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1277 +#: part/serializers.py:1292 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1284 +#: part/serializers.py:1299 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1313 +#: part/serializers.py:1328 msgid "Update" msgstr "" -#: part/serializers.py:1314 +#: part/serializers.py:1329 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1337 +#: part/serializers.py:1352 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1344 +#: part/serializers.py:1359 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1347 +#: part/serializers.py:1362 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1714 +#: part/serializers.py:1729 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1722 +#: part/serializers.py:1737 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1723 +#: part/serializers.py:1738 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1728 +#: part/serializers.py:1743 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1729 +#: part/serializers.py:1744 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1734 +#: part/serializers.py:1749 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1735 +#: part/serializers.py:1750 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1755 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1756 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1775 +#: part/serializers.py:1790 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1776 +#: part/serializers.py:1791 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1806 +#: part/serializers.py:1821 msgid "No part column specified" msgstr "" -#: part/serializers.py:1850 +#: part/serializers.py:1865 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1853 +#: part/serializers.py:1868 msgid "No matching part found" msgstr "" -#: part/serializers.py:1856 +#: part/serializers.py:1871 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1865 +#: part/serializers.py:1880 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1888 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1894 +#: part/serializers.py:1909 msgid "At least one BOM item is required" msgstr "" #: part/stocktake.py:224 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:2085 +#: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" @@ -7314,7 +7268,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2218 users/models.py:204 +#: templates/js/translated/stock.js:2216 users/models.py:204 msgid "Stocktake" msgstr "" @@ -7412,15 +7366,15 @@ msgstr "Parça Tedarikçileri" msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:659 +#: part/templates/part/detail.html:655 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:667 +#: part/templates/part/detail.html:663 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:752 +#: part/templates/part/detail.html:748 msgid "Add Test Result Template" msgstr "" @@ -7479,7 +7433,7 @@ msgstr "" #: part/templates/part/part_base.html:52 #: stock/templates/stock/item_base.html:62 -#: stock/templates/stock/location.html:74 +#: stock/templates/stock/location.html:74 templates/js/translated/label.js:142 msgid "Print Label" msgstr "Etiket Yazdır" @@ -7501,7 +7455,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2293 +#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2292 msgid "Part actions" msgstr "Parça işlemleri" @@ -7550,7 +7504,7 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:163 -#: part/templates/part/part_base.html:682 +#: part/templates/part/part_base.html:681 msgid "Show Part Details" msgstr "" @@ -7573,7 +7527,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2444 +#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2443 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7596,19 +7550,19 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:512 +#: part/templates/part/part_base.html:511 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:529 +#: part/templates/part/part_base.html:528 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:580 +#: part/templates/part/part_base.html:579 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:676 +#: part/templates/part/part_base.html:675 msgid "Hide Part Details" msgstr "" @@ -7667,8 +7621,8 @@ msgstr "" #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 -#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 -#: templates/js/translated/stock.js:2072 templates/navbar.html:31 +#: templates/js/translated/part.js:2391 templates/js/translated/stock.js:1059 +#: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "Stok" @@ -7714,7 +7668,7 @@ msgstr "" #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 -#: templates/js/translated/stock.js:2248 +#: templates/js/translated/stock.js:2246 msgid "Last Updated" msgstr "" @@ -7786,7 +7740,7 @@ msgid "Update Pricing" msgstr "" #: part/templates/part/stock_count.html:7 -#: templates/js/translated/model_renderers.js:221 +#: templates/js/translated/model_renderers.js:227 #: templates/js/translated/part.js:704 templates/js/translated/part.js:2140 #: templates/js/translated/part.js:2142 msgid "No Stock" @@ -7866,7 +7820,7 @@ msgstr "" msgid "Part Pricing" msgstr "" -#: plugin/api.py:168 +#: plugin/api.py:170 msgid "Plugin cannot be deleted as it is currently active" msgstr "" @@ -7933,7 +7887,7 @@ msgid "Stock item does not match line item" msgstr "" #: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2589 -#: templates/js/translated/sales_order.js:1917 +#: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "" @@ -8027,22 +7981,18 @@ msgstr "" msgid "Quantity to allocate" msgstr "" -#: plugin/base/label/label.py:39 +#: plugin/base/label/label.py:39 templates/js/translated/label.js:154 msgid "Label printing failed" msgstr "" -#: plugin/base/label/mixins.py:63 +#: plugin/base/label/mixins.py:56 msgid "Error rendering label to PDF" msgstr "" -#: plugin/base/label/mixins.py:76 +#: plugin/base/label/mixins.py:70 msgid "Error rendering label to HTML" msgstr "" -#: plugin/base/label/mixins.py:111 -msgid "Error rendering label to PNG" -msgstr "" - #: plugin/builtin/barcodes/inventree_barcode.py:25 msgid "InvenTree Barcodes" msgstr "" @@ -8054,7 +8004,7 @@ msgstr "" #: plugin/builtin/barcodes/inventree_barcode.py:28 #: plugin/builtin/integration/core_notifications.py:35 #: plugin/builtin/integration/currency_exchange.py:21 -#: plugin/builtin/labels/inventree_label.py:23 +#: plugin/builtin/labels/inventree_label.py:22 #: plugin/builtin/labels/inventree_machine.py:64 #: plugin/builtin/labels/label_sheet.py:63 #: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 @@ -8108,19 +8058,19 @@ msgstr "" msgid "Default currency exchange integration" msgstr "" -#: plugin/builtin/labels/inventree_label.py:20 +#: plugin/builtin/labels/inventree_label.py:19 msgid "InvenTree PDF label printer" msgstr "" -#: plugin/builtin/labels/inventree_label.py:21 +#: plugin/builtin/labels/inventree_label.py:20 msgid "Provides native support for printing PDF labels" msgstr "" -#: plugin/builtin/labels/inventree_label.py:29 +#: plugin/builtin/labels/inventree_label.py:28 msgid "Debug mode" msgstr "" -#: plugin/builtin/labels/inventree_label.py:30 +#: plugin/builtin/labels/inventree_label.py:29 msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "" @@ -8132,11 +8082,11 @@ msgstr "" msgid "Provides support for printing using a machine" msgstr "" -#: plugin/builtin/labels/inventree_machine.py:150 +#: plugin/builtin/labels/inventree_machine.py:151 msgid "last used" msgstr "" -#: plugin/builtin/labels/inventree_machine.py:167 +#: plugin/builtin/labels/inventree_machine.py:168 msgid "Options" msgstr "" @@ -8160,7 +8110,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:47 report/models.py:209 +#: plugin/builtin/labels/label_sheet.py:47 report/models.py:308 msgid "Landscape" msgstr "" @@ -8176,11 +8126,11 @@ msgstr "" msgid "Arrays multiple labels onto a single sheet" msgstr "" -#: plugin/builtin/labels/label_sheet.py:94 +#: plugin/builtin/labels/label_sheet.py:99 msgid "Label is too large for page size" msgstr "" -#: plugin/builtin/labels/label_sheet.py:128 +#: plugin/builtin/labels/label_sheet.py:133 msgid "No labels were generated" msgstr "" @@ -8273,61 +8223,62 @@ msgstr "" msgid "Uninstalled plugin successfully" msgstr "" -#: plugin/models.py:30 +#: plugin/models.py:35 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:31 +#: plugin/models.py:36 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:34 users/models.py:100 +#: plugin/models.py:42 users/models.py:100 msgid "Key" msgstr "" -#: plugin/models.py:34 +#: plugin/models.py:43 msgid "Key of plugin" msgstr "" -#: plugin/models.py:42 +#: plugin/models.py:51 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:49 plugin/serializers.py:90 +#: plugin/models.py:58 plugin/serializers.py:90 msgid "Package Name" msgstr "" -#: plugin/models.py:51 +#: plugin/models.py:60 msgid "Name of the installed package, if the plugin was installed via PIP" msgstr "" -#: plugin/models.py:56 +#: plugin/models.py:65 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:147 templates/js/translated/table_filters.js:370 +#: plugin/models.py:156 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "" -#: plugin/models.py:156 +#: plugin/models.py:165 msgid "Sample plugin" msgstr "" -#: plugin/models.py:164 +#: plugin/models.py:173 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:172 +#: plugin/models.py:181 msgid "Package Plugin" msgstr "" -#: plugin/models.py:196 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:205 report/models.py:475 +#: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" msgstr "" -#: plugin/models.py:243 +#: plugin/models.py:252 msgid "Method" msgstr "" @@ -8468,239 +8419,323 @@ msgstr "" msgid "Delete the plugin configuration from the database" msgstr "" -#: report/api.py:158 +#: report/api.py:77 msgid "No valid objects provided to template" msgstr "Şablon için geçerli bir nesne sağlanmadı" -#: report/api.py:197 report/api.py:234 +#: report/api.py:89 report/serializers.py:53 +msgid "Model Type" +msgstr "" + +#: report/api.py:92 report/models.py:439 report/serializers.py:98 +#: report/serializers.py:148 templates/js/translated/purchase_order.js:1747 +#: templates/js/translated/return_order.js:353 +#: templates/js/translated/sales_order.js:887 +#: templates/js/translated/sales_order.js:1047 +msgid "Items" +msgstr "" + +#: report/api.py:168 +msgid "Plugin not found" +msgstr "" + +#: report/api.py:170 +msgid "Plugin is not active" +msgstr "" + +#: report/api.py:172 +msgid "Plugin does not support label printing" +msgstr "" + +#: report/api.py:221 +msgid "Invalid label dimensions" +msgstr "" + +#: report/api.py:236 report/api.py:316 +msgid "No valid items provided to template" +msgstr "" + +#: report/api.py:271 +msgid "Error printing label" +msgstr "" + +#: report/api.py:362 report/api.py:398 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:319 -msgid "Test report" -msgstr "" - -#: report/helpers.py:15 +#: report/helpers.py:41 msgid "A4" msgstr "" -#: report/helpers.py:16 +#: report/helpers.py:42 msgid "A3" msgstr "" -#: report/helpers.py:17 +#: report/helpers.py:43 msgid "Legal" msgstr "" -#: report/helpers.py:18 +#: report/helpers.py:44 msgid "Letter" msgstr "" -#: report/models.py:177 +#: report/models.py:118 +msgid "Template file with this name already exists" +msgstr "" + +#: report/models.py:150 msgid "Template name" msgstr "Şablon adı" -#: report/models.py:183 -msgid "Report template file" -msgstr "Rapor şablon dosyası" +#: report/models.py:156 +msgid "Template description" +msgstr "" -#: report/models.py:190 -msgid "Report template description" -msgstr "Rapor şablon tanımı" +#: report/models.py:162 +msgid "Revision number (auto-increments)" +msgstr "" -#: report/models.py:196 -msgid "Report revision number (auto-increments)" -msgstr "Revizyon numarası raporla (otomatik artış)" +#: report/models.py:202 +msgid "Filename Pattern" +msgstr "Dosya Adı Deseni" -#: report/models.py:204 +#: report/models.py:203 +msgid "Pattern for generating filenames" +msgstr "" + +#: report/models.py:208 +msgid "Template is enabled" +msgstr "" + +#: report/models.py:214 +msgid "Target model type for template" +msgstr "" + +#: report/models.py:234 +msgid "Filters" +msgstr "Filtreler" + +#: report/models.py:235 +msgid "Template query filters (comma-separated list of key=value pairs)" +msgstr "" + +#: report/models.py:295 report/models.py:362 +msgid "Template file" +msgstr "" + +#: report/models.py:303 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:210 +#: report/models.py:309 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:318 -msgid "Pattern for generating report filenames" +#: report/models.py:368 +msgid "Width [mm]" +msgstr "Genişlik [mm]" + +#: report/models.py:369 +msgid "Label width, specified in mm" +msgstr "Etiket genişliği mm olarak belirtilmeli" + +#: report/models.py:375 +msgid "Height [mm]" +msgstr "Yükseklik [mm]" + +#: report/models.py:376 +msgid "Label height, specified in mm" +msgstr "Etiket yüksekliği mm olarak belirtilmeli" + +#: report/models.py:439 +msgid "Number of items to process" msgstr "" -#: report/models.py:325 -msgid "Report template is enabled" -msgstr "Rapor şablonu etkin" - -#: report/models.py:347 -msgid "StockItem query filters (comma-separated list of key=value pairs)" -msgstr "Stok kalemi sorgu filtreleri (anahter=değer [key=value] olarak virgülle ayrılmış liste)" - -#: report/models.py:354 -msgid "Include Installed Tests" +#: report/models.py:445 +msgid "Report generation is complete" msgstr "" -#: report/models.py:356 -msgid "Include test results for stock items installed inside assembled item" +#: report/models.py:449 templates/js/translated/build.js:2177 +msgid "Progress" msgstr "" -#: report/models.py:424 -msgid "Build Filters" +#: report/models.py:449 +msgid "Report generation progress" msgstr "" -#: report/models.py:425 -msgid "Build query filters (comma-separated list of key=value pairs" +#: report/models.py:457 +msgid "Report Template" msgstr "" -#: report/models.py:464 -msgid "Part Filters" +#: report/models.py:464 report/models.py:487 +msgid "Output File" msgstr "" -#: report/models.py:465 -msgid "Part query filters (comma-separated list of key=value pairs" +#: report/models.py:465 report/models.py:488 +msgid "Generated output file" msgstr "" -#: report/models.py:497 -msgid "Purchase order query filters" +#: report/models.py:476 +msgid "Label output plugin" msgstr "" -#: report/models.py:533 -msgid "Sales order query filters" +#: report/models.py:480 +msgid "Label Template" msgstr "" -#: report/models.py:569 -msgid "Return order query filters" -msgstr "" - -#: report/models.py:641 -msgid "Snippet file with this name already exists" -msgstr "" - -#: report/models.py:648 +#: report/models.py:503 msgid "Snippet" msgstr "" -#: report/models.py:649 +#: report/models.py:504 msgid "Report snippet file" msgstr "" -#: report/models.py:656 +#: report/models.py:511 msgid "Snippet file description" msgstr "" -#: report/models.py:714 -msgid "Asset file with this name already exists" -msgstr "" - -#: report/models.py:722 +#: report/models.py:529 msgid "Asset" msgstr "" -#: report/models.py:723 +#: report/models.py:530 msgid "Report asset file" msgstr "" -#: report/models.py:730 +#: report/models.py:537 msgid "Asset file description" msgstr "" -#: report/models.py:752 -msgid "stock location query filters (comma-separated list of key=value pairs)" +#: report/serializers.py:91 +msgid "Select report template" +msgstr "" + +#: report/serializers.py:99 report/serializers.py:149 +msgid "List of item primary keys to include in the report" +msgstr "" + +#: report/serializers.py:132 +msgid "Select label template" +msgstr "" + +#: report/serializers.py:140 +msgid "Printing Plugin" +msgstr "" + +#: report/serializers.py:141 +msgid "Select plugin to use for label printing" +msgstr "" + +#: report/templates/label/part_label.html:31 +#: report/templates/label/stockitem_qr.html:21 +#: report/templates/label/stocklocation_qr.html:20 +#: templates/allauth_2fa/setup.html:18 +msgid "QR Code" +msgstr "" + +#: report/templates/label/part_label_code128.html:31 +#: report/templates/label/stocklocation_qr_and_text.html:31 +#: templates/qr_code.html:7 +msgid "QR code" msgstr "" #: report/templates/report/inventree_bill_of_materials_report.html:133 msgid "Materials needed" msgstr "" -#: report/templates/report/inventree_build_order_base.html:146 +#: report/templates/report/inventree_build_order_report.html:146 msgid "Required For" msgstr "İçin Gerekli Olan" -#: report/templates/report/inventree_po_report_base.html:15 +#: report/templates/report/inventree_purchase_order_report.html:15 msgid "Supplier was deleted" msgstr "" -#: report/templates/report/inventree_po_report_base.html:30 -#: report/templates/report/inventree_so_report_base.html:30 +#: report/templates/report/inventree_purchase_order_report.html:30 +#: report/templates/report/inventree_sales_order_report.html:30 #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:834 -#: templates/js/translated/purchase_order.js:2116 -#: templates/js/translated/sales_order.js:1837 +#: templates/js/translated/purchase_order.js:2115 +#: templates/js/translated/sales_order.js:1873 msgid "Unit Price" msgstr "" -#: report/templates/report/inventree_po_report_base.html:55 -#: report/templates/report/inventree_return_order_report_base.html:48 -#: report/templates/report/inventree_so_report_base.html:55 +#: report/templates/report/inventree_purchase_order_report.html:55 +#: report/templates/report/inventree_return_order_report.html:48 +#: report/templates/report/inventree_sales_order_report.html:55 msgid "Extra Line Items" 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:2018 -#: templates/js/translated/sales_order.js:1806 +#: report/templates/report/inventree_purchase_order_report.html:72 +#: report/templates/report/inventree_sales_order_report.html:72 +#: templates/js/translated/purchase_order.js:2017 +#: templates/js/translated/sales_order.js:1842 msgid "Total" msgstr "" -#: report/templates/report/inventree_return_order_report_base.html:25 -#: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:809 stock/templates/stock/item_base.html:311 +#: report/templates/report/inventree_return_order_report.html:25 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:830 +#: stock/serializers.py:150 stock/templates/stock/item_base.html:311 #: templates/js/translated/build.js:519 templates/js/translated/build.js:1367 #: templates/js/translated/build.js:2355 -#: templates/js/translated/model_renderers.js:224 -#: templates/js/translated/return_order.js:540 -#: templates/js/translated/return_order.js:724 +#: templates/js/translated/model_renderers.js:230 +#: templates/js/translated/return_order.js:539 +#: templates/js/translated/return_order.js:723 #: templates/js/translated/sales_order.js:315 -#: templates/js/translated/sales_order.js:1611 -#: templates/js/translated/sales_order.js:1696 +#: templates/js/translated/sales_order.js:1647 +#: templates/js/translated/sales_order.js:1732 #: templates/js/translated/stock.js:596 msgid "Serial Number" msgstr "Seri Numara" -#: report/templates/report/inventree_slr_report.html:97 +#: report/templates/report/inventree_stock_location_report.html:97 msgid "Stock location items" msgstr "" -#: report/templates/report/inventree_test_report_base.html:21 +#: report/templates/report/inventree_test_report.html:21 msgid "Stock Item Test Report" msgstr "" -#: report/templates/report/inventree_test_report_base.html:97 +#: report/templates/report/inventree_test_report.html:97 msgid "Test Results" msgstr "" -#: report/templates/report/inventree_test_report_base.html:102 +#: report/templates/report/inventree_test_report.html:102 #: templates/js/translated/stock.js:1495 msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2442 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2419 msgid "Result" msgstr "" -#: report/templates/report/inventree_test_report_base.html:130 +#: report/templates/report/inventree_test_report.html:130 msgid "Pass" msgstr "" -#: report/templates/report/inventree_test_report_base.html:132 +#: report/templates/report/inventree_test_report.html:132 msgid "Fail" msgstr "" -#: report/templates/report/inventree_test_report_base.html:139 +#: report/templates/report/inventree_test_report.html:139 msgid "No result (required)" msgstr "" -#: report/templates/report/inventree_test_report_base.html:141 +#: report/templates/report/inventree_test_report.html:141 msgid "No result" msgstr "" -#: report/templates/report/inventree_test_report_base.html:154 +#: report/templates/report/inventree_test_report.html:154 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report_base.html:168 -#: stock/admin.py:162 templates/js/translated/stock.js:700 -#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3113 +#: report/templates/report/inventree_test_report.html:168 stock/admin.py:162 +#: templates/js/translated/stock.js:700 templates/js/translated/stock.js:871 +#: templates/js/translated/stock.js:3110 msgid "Serial" msgstr "Seri No" @@ -8757,7 +8792,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:201 stock/models.py:789 +#: stock/admin.py:201 stock/models.py:810 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" @@ -8782,66 +8817,66 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:256 stock/models.py:883 +#: stock/admin.py:256 stock/models.py:904 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2232 users/models.py:124 +#: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" msgstr "" -#: stock/api.py:284 +#: stock/api.py:318 msgid "Filter by location depth" msgstr "" -#: stock/api.py:304 +#: stock/api.py:338 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:325 +#: stock/api.py:359 msgid "Parent Location" msgstr "" -#: stock/api.py:326 +#: stock/api.py:360 msgid "Filter by parent location" msgstr "" -#: stock/api.py:579 templates/js/translated/table_filters.js:427 +#: stock/api.py:613 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:767 +#: stock/api.py:801 msgid "Part Tree" msgstr "" -#: stock/api.py:797 +#: stock/api.py:831 msgid "Expiry date before" msgstr "" -#: stock/api.py:801 +#: stock/api.py:835 msgid "Expiry date after" msgstr "" -#: stock/api.py:804 stock/templates/stock/item_base.html:439 +#: stock/api.py:838 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:891 +#: stock/api.py:925 msgid "Quantity is required" msgstr "" -#: stock/api.py:897 +#: stock/api.py:931 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:928 +#: stock/api.py:962 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:938 +#: stock/api.py:972 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:969 +#: stock/api.py:1003 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8857,477 +8892,517 @@ msgstr "" msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:125 stock/models.py:771 +#: stock/models.py:127 stock/models.py:792 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Stok Konumu" -#: stock/models.py:126 stock/templates/stock/location.html:179 +#: stock/models.py:128 stock/templates/stock/location.html:186 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "Stok Konumları" -#: stock/models.py:158 stock/models.py:932 +#: stock/models.py:170 stock/models.py:953 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:159 stock/models.py:933 +#: stock/models.py:171 stock/models.py:954 msgid "Select Owner" msgstr "" -#: stock/models.py:167 +#: stock/models.py:179 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:174 templates/js/translated/stock.js:2784 +#: stock/models.py:186 templates/js/translated/stock.js:2781 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "" -#: stock/models.py:175 +#: stock/models.py:187 msgid "This is an external stock location" msgstr "" -#: stock/models.py:181 templates/js/translated/stock.js:2793 +#: stock/models.py:193 templates/js/translated/stock.js:2790 #: templates/js/translated/table_filters.js:246 msgid "Location type" msgstr "" -#: stock/models.py:185 +#: stock/models.py:197 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:254 +#: stock/models.py:266 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:626 +#: stock/models.py:647 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:653 stock/serializers.py:290 +#: stock/models.py:674 stock/serializers.py:419 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:670 +#: stock/models.py:691 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:680 stock/models.py:693 +#: stock/models.py:701 stock/models.py:714 msgid "Quantity must be 1 for item with a serial number" msgstr "Seri numarası olan ögenin miktarı bir olmalı" -#: stock/models.py:683 +#: stock/models.py:704 msgid "Serial number cannot be set if quantity greater than 1" msgstr "Miktar birden büyük ise seri numarası ayarlanamaz" -#: stock/models.py:707 +#: stock/models.py:728 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:712 +#: stock/models.py:733 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:725 +#: stock/models.py:746 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:741 +#: stock/models.py:762 msgid "Parent Stock Item" msgstr "Üst Stok Kalemi" -#: stock/models.py:753 +#: stock/models.py:774 msgid "Base part" msgstr "" -#: stock/models.py:763 +#: stock/models.py:784 msgid "Select a matching supplier part for this stock item" msgstr "Bu stok kalemi için tedarikçi parçası seçin" -#: stock/models.py:775 +#: stock/models.py:796 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:783 stock/serializers.py:1351 +#: stock/models.py:804 stock/serializers.py:1480 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:794 +#: stock/models.py:815 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:813 +#: stock/models.py:834 msgid "Serial number for this item" msgstr "Bu öge için seri numarası" -#: stock/models.py:827 stock/serializers.py:1334 +#: stock/models.py:848 stock/serializers.py:1463 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:832 +#: stock/models.py:853 msgid "Stock Quantity" msgstr "" -#: stock/models.py:842 +#: stock/models.py:863 msgid "Source Build" msgstr "" -#: stock/models.py:845 +#: stock/models.py:866 msgid "Build for this stock item" msgstr "" -#: stock/models.py:852 stock/templates/stock/item_base.html:363 +#: stock/models.py:873 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:855 +#: stock/models.py:876 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:864 +#: stock/models.py:885 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:868 +#: stock/models.py:889 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:874 +#: stock/models.py:895 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:885 +#: stock/models.py:906 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:903 +#: stock/models.py:924 msgid "Delete on deplete" msgstr "" -#: stock/models.py:904 +#: stock/models.py:925 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:924 +#: stock/models.py:945 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:955 +#: stock/models.py:976 msgid "Converted to part" msgstr "" -#: stock/models.py:1473 +#: stock/models.py:1494 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1479 +#: stock/models.py:1500 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1487 +#: stock/models.py:1508 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1493 +#: stock/models.py:1514 msgid "Serial numbers must be a list of integers" msgstr "Seri numaraları tam sayı listesi olmalı" -#: stock/models.py:1498 +#: stock/models.py:1519 msgid "Quantity does not match serial numbers" msgstr "Miktar seri numaları ile eşleşmiyor" -#: stock/models.py:1506 stock/serializers.py:529 +#: stock/models.py:1527 stock/serializers.py:658 msgid "Serial numbers already exist" msgstr "Seri numaraları zaten mevcut" -#: stock/models.py:1603 +#: stock/models.py:1624 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1621 +#: stock/models.py:1642 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1625 +#: stock/models.py:1646 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1628 +#: stock/models.py:1649 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1631 +#: stock/models.py:1652 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1634 +#: stock/models.py:1655 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1637 +#: stock/models.py:1658 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1644 stock/serializers.py:1240 +#: stock/models.py:1665 stock/serializers.py:1369 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1648 +#: stock/models.py:1669 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1656 +#: stock/models.py:1677 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1661 +#: stock/models.py:1682 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1882 +#: stock/models.py:1903 msgid "StockItem cannot be moved as it is not in stock" msgstr "Stok kalemi stokta olmadığı için taşınamaz" -#: stock/models.py:2345 +#: stock/models.py:2322 msgid "Entry notes" msgstr "" -#: stock/models.py:2410 +#: stock/models.py:2387 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2415 +#: stock/models.py:2392 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2442 +#: stock/models.py:2419 msgid "Test result" msgstr "" -#: stock/models.py:2449 +#: stock/models.py:2426 msgid "Test output value" msgstr "" -#: stock/models.py:2457 +#: stock/models.py:2434 msgid "Test result attachment" msgstr "" -#: stock/models.py:2461 +#: stock/models.py:2438 msgid "Test notes" msgstr "" -#: stock/models.py:2469 templates/js/translated/stock.js:1548 +#: stock/models.py:2446 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "" -#: stock/models.py:2470 +#: stock/models.py:2447 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2476 +#: stock/models.py:2453 msgid "Started" msgstr "" -#: stock/models.py:2477 +#: stock/models.py:2454 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2483 +#: stock/models.py:2460 msgid "Finished" msgstr "" -#: stock/models.py:2484 +#: stock/models.py:2461 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:100 +#: stock/serializers.py:75 +msgid "Generated batch code" +msgstr "" + +#: stock/serializers.py:84 +msgid "Select build order" +msgstr "" + +#: stock/serializers.py:93 +msgid "Select stock item to generate batch code for" +msgstr "" + +#: stock/serializers.py:102 +msgid "Select location to generate batch code for" +msgstr "" + +#: stock/serializers.py:111 +msgid "Select part to generate batch code for" +msgstr "" + +#: stock/serializers.py:120 +msgid "Select purchase order" +msgstr "" + +#: stock/serializers.py:127 +msgid "Enter quantity for batch code" +msgstr "" + +#: stock/serializers.py:150 +msgid "Generated serial number" +msgstr "" + +#: stock/serializers.py:159 +msgid "Select part to generate serial number for" +msgstr "" + +#: stock/serializers.py:167 +msgid "Quantity of serial numbers to generate" +msgstr "" + +#: stock/serializers.py:229 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:119 +#: stock/serializers.py:248 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:151 +#: stock/serializers.py:280 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:184 +#: stock/serializers.py:313 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:282 +#: stock/serializers.py:411 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:402 +#: stock/serializers.py:531 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:464 +#: stock/serializers.py:593 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:477 +#: stock/serializers.py:606 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:484 +#: stock/serializers.py:613 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:495 stock/serializers.py:1197 stock/serializers.py:1453 +#: stock/serializers.py:624 stock/serializers.py:1326 stock/serializers.py:1582 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:502 +#: stock/serializers.py:631 msgid "Optional note field" msgstr "" -#: stock/serializers.py:512 +#: stock/serializers.py:641 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:567 +#: stock/serializers.py:696 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:574 +#: stock/serializers.py:703 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:575 +#: stock/serializers.py:704 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:580 stock/serializers.py:660 stock/serializers.py:756 -#: stock/serializers.py:806 +#: stock/serializers.py:709 stock/serializers.py:789 stock/serializers.py:885 +#: stock/serializers.py:935 msgid "Add transaction note (optional)" msgstr "İşlem notu ekle (isteğe bağlı)" -#: stock/serializers.py:588 +#: stock/serializers.py:717 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:596 +#: stock/serializers.py:725 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:607 +#: stock/serializers.py:736 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:620 +#: stock/serializers.py:749 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:655 +#: stock/serializers.py:784 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:690 +#: stock/serializers.py:819 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:703 +#: stock/serializers.py:832 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:720 +#: stock/serializers.py:849 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:751 +#: stock/serializers.py:880 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:788 +#: stock/serializers.py:917 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:794 +#: stock/serializers.py:923 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:890 stock/serializers.py:953 +#: stock/serializers.py:1019 stock/serializers.py:1082 #: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:213 +#: stock/templates/stock/location.html:220 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "Alt konumlar" -#: stock/serializers.py:1069 +#: stock/serializers.py:1198 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1073 +#: stock/serializers.py:1202 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1077 +#: stock/serializers.py:1206 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1101 +#: stock/serializers.py:1230 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1107 +#: stock/serializers.py:1236 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1115 +#: stock/serializers.py:1244 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1125 stock/serializers.py:1379 +#: stock/serializers.py:1254 stock/serializers.py:1508 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1204 +#: stock/serializers.py:1333 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1209 +#: stock/serializers.py:1338 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1210 +#: stock/serializers.py:1339 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1215 +#: stock/serializers.py:1344 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1216 +#: stock/serializers.py:1345 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1226 +#: stock/serializers.py:1355 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1293 +#: stock/serializers.py:1422 msgid "No Change" msgstr "" -#: stock/serializers.py:1322 +#: stock/serializers.py:1451 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1341 +#: stock/serializers.py:1470 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1369 +#: stock/serializers.py:1498 msgid "Stock transaction notes" msgstr "" @@ -9352,7 +9427,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:286 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:282 msgid "Delete Test Data" msgstr "" @@ -9368,15 +9443,15 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3274 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3271 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:274 +#: stock/templates/stock/item.html:270 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:304 templates/js/translated/stock.js:1701 +#: stock/templates/stock/item.html:300 templates/js/translated/stock.js:1701 msgid "Add Test Result" msgstr "" @@ -9561,40 +9636,40 @@ msgstr "Bu stok kaleminin süresi %(item.expiry_date)s tarihinde sona erecek" msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:507 -#: templates/js/translated/stock.js:1954 +#: stock/templates/stock/item_base.html:504 +#: templates/js/translated/stock.js:1952 msgid "stock item" msgstr "" -#: stock/templates/stock/item_base.html:532 +#: stock/templates/stock/item_base.html:527 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:541 +#: stock/templates/stock/item_base.html:536 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:552 +#: stock/templates/stock/item_base.html:547 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:616 +#: stock/templates/stock/item_base.html:611 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:619 +#: stock/templates/stock/item_base.html:614 msgid "Warning" msgstr "Uyarı" -#: stock/templates/stock/item_base.html:620 +#: stock/templates/stock/item_base.html:615 msgid "This action cannot be easily undone" msgstr "Bu işlem kolayca geri alınamaz" -#: stock/templates/stock/item_base.html:628 +#: stock/templates/stock/item_base.html:623 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:662 +#: stock/templates/stock/item_base.html:657 msgid "Return to Stock" msgstr "" @@ -9658,28 +9733,32 @@ msgstr "" msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "Bu konumun sahipleri listesinde değilsiniz. Bu stok konumu düzenlenemez." -#: stock/templates/stock/location.html:217 +#: stock/templates/stock/location.html:176 +msgid "Location Type" +msgstr "" + +#: stock/templates/stock/location.html:224 msgid "Create new stock location" msgstr "Yeni stok konumu oluştur" -#: stock/templates/stock/location.html:218 +#: stock/templates/stock/location.html:225 msgid "New Location" msgstr "Yeni Konum" -#: stock/templates/stock/location.html:287 -#: templates/js/translated/stock.js:2575 +#: stock/templates/stock/location.html:295 +#: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:315 +#: stock/templates/stock/location.html:317 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:388 +#: stock/templates/stock/location.html:390 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:399 +#: stock/templates/stock/location.html:401 msgid "Link Barcode to Stock Location" msgstr "" @@ -9949,11 +10028,11 @@ msgstr "" msgid "Part Settings" msgstr "" -#: templates/InvenTree/settings/part.html:42 +#: templates/InvenTree/settings/part.html:43 msgid "Part Import" msgstr "" -#: templates/InvenTree/settings/part.html:46 +#: templates/InvenTree/settings/part.html:47 msgid "Import Part" msgstr "" @@ -10174,7 +10253,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:424 +#: templates/js/translated/stock.js:245 users/models.py:411 msgid "Delete" msgstr "" @@ -10283,7 +10362,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2159 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2163 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" @@ -10874,7 +10953,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3218 +#: templates/js/translated/part.js:3217 msgid "Minimum Quantity" msgstr "" @@ -11254,7 +11333,7 @@ msgid "External stock" msgstr "" #: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2595 -#: templates/js/translated/sales_order.js:1910 +#: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" @@ -11264,7 +11343,7 @@ msgstr "" #: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 #: templates/js/translated/part.js:1256 -#: templates/js/translated/sales_order.js:1907 +#: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" @@ -11519,17 +11598,17 @@ msgstr "" #: templates/js/translated/build.js:1576 #: templates/js/translated/purchase_order.js:611 -#: templates/js/translated/sales_order.js:1171 +#: templates/js/translated/sales_order.js:1207 msgid "Select Parts" msgstr "" #: templates/js/translated/build.js:1577 -#: templates/js/translated/sales_order.js:1172 +#: templates/js/translated/sales_order.js:1208 msgid "You must select at least one part to allocate" msgstr "" #: templates/js/translated/build.js:1640 -#: templates/js/translated/sales_order.js:1121 +#: templates/js/translated/sales_order.js:1157 msgid "Specify stock allocation quantity" msgstr "" @@ -11542,7 +11621,7 @@ msgid "All selected parts have been fully allocated" msgstr "" #: templates/js/translated/build.js:1732 -#: templates/js/translated/sales_order.js:1186 +#: templates/js/translated/sales_order.js:1222 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -11551,12 +11630,12 @@ msgid "Allocate Stock Items to Build Order" msgstr "" #: templates/js/translated/build.js:1771 -#: templates/js/translated/sales_order.js:1283 +#: templates/js/translated/sales_order.js:1319 msgid "No matching stock locations" msgstr "" #: templates/js/translated/build.js:1844 -#: templates/js/translated/sales_order.js:1362 +#: templates/js/translated/sales_order.js:1398 msgid "No matching stock items" msgstr "" @@ -11589,9 +11668,9 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 -#: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 -#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 -#: templates/js/translated/stock.js:1985 templates/js/translated/stock.js:2713 +#: templates/js/translated/forms.js:2159 templates/js/translated/forms.js:2175 +#: templates/js/translated/part.js:2315 templates/js/translated/part.js:2741 +#: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "" @@ -11599,21 +11678,17 @@ msgstr "" msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2177 -msgid "Progress" -msgstr "" - -#: templates/js/translated/build.js:2213 templates/js/translated/stock.js:3045 +#: templates/js/translated/build.js:2213 templates/js/translated/stock.js:3042 msgid "No user information" msgstr "" #: templates/js/translated/build.js:2389 -#: templates/js/translated/sales_order.js:1646 +#: templates/js/translated/sales_order.js:1682 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:2390 -#: templates/js/translated/sales_order.js:1647 +#: templates/js/translated/sales_order.js:1683 msgid "Delete stock allocation" msgstr "" @@ -11647,7 +11722,7 @@ msgid "Unit Quantity" msgstr "" #: templates/js/translated/build.js:2591 -#: templates/js/translated/sales_order.js:1915 +#: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" @@ -11664,7 +11739,7 @@ msgid "Allocate tracked items against individual build outputs" msgstr "" #: templates/js/translated/build.js:2662 -#: templates/js/translated/sales_order.js:2016 +#: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "" @@ -11673,7 +11748,7 @@ msgid "Order stock" msgstr "" #: templates/js/translated/build.js:2671 -#: templates/js/translated/sales_order.js:2010 +#: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "" @@ -11923,12 +11998,12 @@ msgid "Delete price break" msgstr "" #: templates/js/translated/filters.js:186 -#: templates/js/translated/filters.js:672 +#: templates/js/translated/filters.js:667 msgid "true" msgstr "" #: templates/js/translated/filters.js:190 -#: templates/js/translated/filters.js:673 +#: templates/js/translated/filters.js:668 msgid "false" msgstr "" @@ -11960,7 +12035,7 @@ msgstr "" msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:582 +#: templates/js/translated/filters.js:577 msgid "Create filter" msgstr "" @@ -11993,32 +12068,32 @@ msgstr "" msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1473 templates/modals.html:19 +#: templates/js/translated/forms.js:1477 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1971 +#: templates/js/translated/forms.js:1975 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2275 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2279 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2489 +#: templates/js/translated/forms.js:2493 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3091 +#: templates/js/translated/forms.js:3095 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3091 +#: templates/js/translated/forms.js:3095 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3103 +#: templates/js/translated/forms.js:3107 msgid "Select Columns" msgstr "" @@ -12042,51 +12117,15 @@ msgstr "" msgid "No parts required for builds" msgstr "" -#: templates/js/translated/label.js:53 templates/js/translated/report.js:123 +#: templates/js/translated/label.js:55 templates/js/translated/report.js:38 msgid "Select Items" msgstr "" -#: templates/js/translated/label.js:54 +#: templates/js/translated/label.js:56 templates/js/translated/report.js:39 msgid "No items selected for printing" msgstr "" -#: templates/js/translated/label.js:72 -msgid "No Labels Found" -msgstr "" - -#: templates/js/translated/label.js:73 -msgid "No label templates found which match the selected items" -msgstr "" - -#: templates/js/translated/label.js:97 -msgid "selected" -msgstr "" - -#: templates/js/translated/label.js:133 -msgid "Printing Options" -msgstr "" - -#: templates/js/translated/label.js:148 -msgid "Print label" -msgstr "" - -#: templates/js/translated/label.js:148 -msgid "Print labels" -msgstr "" - #: templates/js/translated/label.js:149 -msgid "Print" -msgstr "" - -#: templates/js/translated/label.js:155 -msgid "Select label template" -msgstr "" - -#: templates/js/translated/label.js:168 -msgid "Select plugin" -msgstr "" - -#: templates/js/translated/label.js:187 msgid "Labels sent to printer" msgstr "" @@ -12204,7 +12243,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1991 +#: templates/js/translated/purchase_order.js:1990 msgid "No line items found" msgstr "" @@ -12442,19 +12481,19 @@ msgid "Delete Part Parameter Template" msgstr "" #: templates/js/translated/part.js:1716 -#: templates/js/translated/purchase_order.js:1655 +#: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1860 -#: templates/js/translated/purchase_order.js:2154 -#: templates/js/translated/return_order.js:756 -#: templates/js/translated/sales_order.js:1875 +#: templates/js/translated/purchase_order.js:2153 +#: templates/js/translated/return_order.js:755 +#: templates/js/translated/sales_order.js:1911 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1906 -#: templates/js/translated/purchase_order.js:2221 +#: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "" @@ -12466,7 +12505,7 @@ msgstr "" msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2506 +#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2505 msgid "No parts found" msgstr "" @@ -12482,101 +12521,101 @@ msgstr "" msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2286 msgid "part" msgstr "" -#: templates/js/translated/part.js:2288 +#: templates/js/translated/part.js:2287 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2384 +#: templates/js/translated/part.js:2383 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 -#: templates/js/translated/stock.js:2672 +#: templates/js/translated/part.js:2530 templates/js/translated/part.js:2660 +#: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2547 +#: templates/js/translated/part.js:2546 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2645 +#: templates/js/translated/part.js:2644 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2692 +#: templates/js/translated/part.js:2680 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2761 +#: templates/js/translated/part.js:2760 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2777 +#: templates/js/translated/part.js:2776 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2864 +#: templates/js/translated/part.js:2863 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2886 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2885 templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2935 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2941 +#: templates/js/translated/part.js:2940 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2957 +#: templates/js/translated/part.js:2956 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2971 +#: templates/js/translated/part.js:2970 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3050 templates/js/translated/part.js:3051 +#: templates/js/translated/part.js:3049 templates/js/translated/part.js:3050 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3053 +#: templates/js/translated/part.js:3052 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3059 +#: templates/js/translated/part.js:3058 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3109 +#: templates/js/translated/part.js:3108 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3115 +#: templates/js/translated/part.js:3114 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3211 +#: templates/js/translated/part.js:3210 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3227 +#: templates/js/translated/part.js:3226 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3272 +#: templates/js/translated/part.js:3271 msgid "Minimum Stock Level" msgstr "" @@ -12702,7 +12741,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:448 #: templates/js/translated/return_order.js:210 -#: templates/js/translated/sales_order.js:500 +#: templates/js/translated/sales_order.js:552 msgid "Mark this order as complete?" msgstr "" @@ -12715,7 +12754,6 @@ msgid "This order has line items which have not been marked as received." msgstr "" #: templates/js/translated/purchase_order.js:460 -#: templates/js/translated/sales_order.js:514 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" @@ -12773,12 +12811,12 @@ msgid "No matching purchase orders" msgstr "" #: templates/js/translated/purchase_order.js:1073 -#: templates/js/translated/return_order.js:491 +#: templates/js/translated/return_order.js:490 msgid "Select Line Items" msgstr "" #: templates/js/translated/purchase_order.js:1074 -#: templates/js/translated/return_order.js:492 +#: templates/js/translated/return_order.js:491 msgid "At least one line item must be selected" msgstr "" @@ -12827,7 +12865,7 @@ msgid "Quantity to Receive" msgstr "" #: templates/js/translated/purchase_order.js:1333 -#: templates/js/translated/return_order.js:561 +#: templates/js/translated/return_order.js:560 msgid "Confirm receipt of items" msgstr "" @@ -12847,81 +12885,66 @@ msgstr "" msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1682 -#: templates/js/translated/return_order.js:286 -#: templates/js/translated/sales_order.js:774 -#: templates/js/translated/sales_order.js:998 +#: templates/js/translated/purchase_order.js:1681 +#: templates/js/translated/return_order.js:285 +#: templates/js/translated/sales_order.js:810 +#: templates/js/translated/sales_order.js:1034 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1748 -#: templates/js/translated/return_order.js:354 -#: templates/js/translated/sales_order.js:851 -#: templates/js/translated/sales_order.js:1011 -msgid "Items" -msgstr "" - -#: templates/js/translated/purchase_order.js:1844 +#: templates/js/translated/purchase_order.js:1843 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1862 +#: templates/js/translated/purchase_order.js:1861 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1917 -#: templates/js/translated/sales_order.js:2070 +#: templates/js/translated/purchase_order.js:1916 +#: templates/js/translated/sales_order.js:2106 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1932 -#: templates/js/translated/return_order.js:476 -#: templates/js/translated/return_order.js:669 -#: templates/js/translated/sales_order.js:2083 +#: templates/js/translated/purchase_order.js:1931 +#: templates/js/translated/return_order.js:475 +#: templates/js/translated/return_order.js:668 +#: templates/js/translated/sales_order.js:2119 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1943 -#: templates/js/translated/return_order.js:682 -#: templates/js/translated/sales_order.js:2094 +#: templates/js/translated/purchase_order.js:1942 +#: templates/js/translated/return_order.js:681 +#: templates/js/translated/sales_order.js:2130 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2225 -#: templates/js/translated/sales_order.js:2024 +#: templates/js/translated/purchase_order.js:2224 +#: templates/js/translated/sales_order.js:2060 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2226 -#: templates/js/translated/return_order.js:801 -#: templates/js/translated/sales_order.js:2025 +#: templates/js/translated/purchase_order.js:2225 +#: templates/js/translated/return_order.js:800 +#: templates/js/translated/sales_order.js:2061 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2227 -#: templates/js/translated/return_order.js:805 -#: templates/js/translated/sales_order.js:2031 +#: templates/js/translated/purchase_order.js:2226 +#: templates/js/translated/return_order.js:804 +#: templates/js/translated/sales_order.js:2067 msgid "Delete line item" msgstr "" -#: templates/js/translated/report.js:63 -msgid "items selected" +#: templates/js/translated/report.js:49 +msgid "Print Report" msgstr "" -#: templates/js/translated/report.js:71 -msgid "Select Report Template" +#: templates/js/translated/report.js:68 +msgid "Report print successful" msgstr "" -#: templates/js/translated/report.js:86 -msgid "Select Test Report Template" -msgstr "" - -#: templates/js/translated/report.js:140 -msgid "No Reports Found" -msgstr "" - -#: templates/js/translated/report.js:141 -msgid "No report templates found which match the selected items" +#: templates/js/translated/report.js:73 +msgid "Report printing failed" msgstr "" #: templates/js/translated/return_order.js:60 @@ -12953,25 +12976,25 @@ msgstr "" msgid "Complete Return Order" msgstr "" -#: templates/js/translated/return_order.js:266 +#: templates/js/translated/return_order.js:265 msgid "No return orders found" msgstr "" -#: templates/js/translated/return_order.js:300 -#: templates/js/translated/sales_order.js:788 +#: templates/js/translated/return_order.js:299 +#: templates/js/translated/sales_order.js:824 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/return_order.js:562 +#: templates/js/translated/return_order.js:561 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:693 -#: templates/js/translated/sales_order.js:2231 +#: templates/js/translated/return_order.js:692 +#: templates/js/translated/sales_order.js:2267 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:798 +#: templates/js/translated/return_order.js:797 msgid "Mark item as received" msgstr "" @@ -13015,140 +13038,156 @@ msgstr "" msgid "Skip" msgstr "" +#: templates/js/translated/sales_order.js:484 +msgid "Ship Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:500 +msgid "Ship this order?" +msgstr "" + +#: templates/js/translated/sales_order.js:506 +msgid "Order cannot be shipped as there are incomplete shipments" +msgstr "" + #: templates/js/translated/sales_order.js:513 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/sales_order.js:535 +#: templates/js/translated/sales_order.js:514 +msgid "Shipping this order means that the order and line items will no longer be editable." +msgstr "" + +#: templates/js/translated/sales_order.js:572 msgid "Issue this Sales Order?" msgstr "" -#: templates/js/translated/sales_order.js:540 +#: templates/js/translated/sales_order.js:577 msgid "Issue Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:559 +#: templates/js/translated/sales_order.js:596 msgid "Cancel Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:564 +#: templates/js/translated/sales_order.js:601 msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: templates/js/translated/sales_order.js:618 +#: templates/js/translated/sales_order.js:655 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/sales_order.js:728 +#: templates/js/translated/sales_order.js:764 msgid "No sales orders found" msgstr "" -#: templates/js/translated/sales_order.js:908 +#: templates/js/translated/sales_order.js:944 msgid "Edit shipment" msgstr "" -#: templates/js/translated/sales_order.js:911 +#: templates/js/translated/sales_order.js:947 msgid "Complete shipment" msgstr "" -#: templates/js/translated/sales_order.js:916 +#: templates/js/translated/sales_order.js:952 msgid "Delete shipment" msgstr "" -#: templates/js/translated/sales_order.js:933 +#: templates/js/translated/sales_order.js:969 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/sales_order.js:948 +#: templates/js/translated/sales_order.js:984 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:981 +#: templates/js/translated/sales_order.js:1017 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/sales_order.js:1006 +#: templates/js/translated/sales_order.js:1042 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/sales_order.js:1030 -#: templates/js/translated/sales_order.js:1529 +#: templates/js/translated/sales_order.js:1066 +#: templates/js/translated/sales_order.js:1565 msgid "Not shipped" msgstr "" -#: templates/js/translated/sales_order.js:1048 +#: templates/js/translated/sales_order.js:1084 msgid "Tracking" msgstr "" -#: templates/js/translated/sales_order.js:1052 +#: templates/js/translated/sales_order.js:1088 msgid "Invoice" msgstr "" -#: templates/js/translated/sales_order.js:1219 +#: templates/js/translated/sales_order.js:1255 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1270 +#: templates/js/translated/sales_order.js:1306 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/sales_order.js:1271 +#: templates/js/translated/sales_order.js:1307 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1477 +#: templates/js/translated/sales_order.js:1513 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1569 +#: templates/js/translated/sales_order.js:1605 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1583 +#: templates/js/translated/sales_order.js:1619 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/sales_order.js:1584 +#: templates/js/translated/sales_order.js:1620 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1623 -#: templates/js/translated/sales_order.js:1710 +#: templates/js/translated/sales_order.js:1659 +#: templates/js/translated/sales_order.js:1746 #: templates/js/translated/stock.js:1776 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/sales_order.js:1631 -#: templates/js/translated/sales_order.js:1719 +#: templates/js/translated/sales_order.js:1667 +#: templates/js/translated/sales_order.js:1755 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:2008 +#: templates/js/translated/sales_order.js:2044 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/sales_order.js:2012 +#: templates/js/translated/sales_order.js:2048 msgid "Purchase stock" msgstr "" -#: templates/js/translated/sales_order.js:2021 -#: templates/js/translated/sales_order.js:2209 +#: templates/js/translated/sales_order.js:2057 +#: templates/js/translated/sales_order.js:2245 msgid "Calculate price" msgstr "" -#: templates/js/translated/sales_order.js:2035 +#: templates/js/translated/sales_order.js:2071 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:2038 +#: templates/js/translated/sales_order.js:2074 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:2109 +#: templates/js/translated/sales_order.js:2145 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/sales_order.js:2217 +#: templates/js/translated/sales_order.js:2253 msgid "Update Unit Price" msgstr "" @@ -13356,7 +13395,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1042 users/models.py:414 +#: templates/js/translated/stock.js:1042 users/models.py:401 msgid "Add" msgstr "" @@ -13372,7 +13411,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1180 templates/js/translated/stock.js:3302 +#: templates/js/translated/stock.js:1180 templates/js/translated/stock.js:3299 msgid "Select Stock Items" msgstr "" @@ -13456,196 +13495,196 @@ msgstr "" msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:1955 +#: templates/js/translated/stock.js:1953 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1960 +#: templates/js/translated/stock.js:1958 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:1971 +#: templates/js/translated/stock.js:1969 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:2015 +#: templates/js/translated/stock.js:2013 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2093 +#: templates/js/translated/stock.js:2091 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2098 +#: templates/js/translated/stock.js:2096 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2101 +#: templates/js/translated/stock.js:2099 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2104 +#: templates/js/translated/stock.js:2102 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2106 +#: templates/js/translated/stock.js:2104 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2108 +#: templates/js/translated/stock.js:2106 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2111 +#: templates/js/translated/stock.js:2109 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2113 +#: templates/js/translated/stock.js:2111 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2117 +#: templates/js/translated/stock.js:2115 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2119 +#: templates/js/translated/stock.js:2117 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2124 +#: templates/js/translated/stock.js:2122 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2126 +#: templates/js/translated/stock.js:2124 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2128 +#: templates/js/translated/stock.js:2126 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2132 +#: templates/js/translated/stock.js:2130 #: templates/js/translated/table_filters.js:350 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2297 +#: templates/js/translated/stock.js:2295 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2344 +#: templates/js/translated/stock.js:2342 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2472 +#: templates/js/translated/stock.js:2470 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2576 +#: templates/js/translated/stock.js:2573 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2731 +#: templates/js/translated/stock.js:2728 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2849 +#: templates/js/translated/stock.js:2846 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2853 +#: templates/js/translated/stock.js:2850 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2865 +#: templates/js/translated/stock.js:2862 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2887 +#: templates/js/translated/stock.js:2884 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2904 +#: templates/js/translated/stock.js:2901 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2919 +#: templates/js/translated/stock.js:2916 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2936 +#: templates/js/translated/stock.js:2933 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:2950 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2972 +#: templates/js/translated/stock.js:2969 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2990 +#: templates/js/translated/stock.js:2987 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:3008 +#: templates/js/translated/stock.js:3005 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:3016 +#: templates/js/translated/stock.js:3013 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3088 +#: templates/js/translated/stock.js:3085 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3142 templates/js/translated/stock.js:3178 +#: templates/js/translated/stock.js:3139 templates/js/translated/stock.js:3175 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3200 +#: templates/js/translated/stock.js:3197 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3221 +#: templates/js/translated/stock.js:3218 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3222 +#: templates/js/translated/stock.js:3219 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3224 +#: templates/js/translated/stock.js:3221 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3225 +#: templates/js/translated/stock.js:3222 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3226 +#: templates/js/translated/stock.js:3223 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3227 +#: templates/js/translated/stock.js:3224 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3240 +#: templates/js/translated/stock.js:3237 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3303 +#: templates/js/translated/stock.js:3300 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3316 +#: templates/js/translated/stock.js:3313 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3320 +#: templates/js/translated/stock.js:3317 msgid "Change Stock Status" msgstr "" @@ -14247,34 +14286,35 @@ msgstr "" msgid "Revoked" msgstr "" -#: users/models.py:397 +#: users/models.py:384 msgid "Permission set" msgstr "İzinleri ayarla" -#: users/models.py:406 +#: users/models.py:393 msgid "Group" msgstr "Grup" -#: users/models.py:410 +#: users/models.py:397 msgid "View" msgstr "Görünüm" -#: users/models.py:410 +#: users/models.py:397 msgid "Permission to view items" msgstr "Parçayı görüntüleme izni" -#: users/models.py:414 +#: users/models.py:401 msgid "Permission to add items" msgstr "Parça ekleme izni" -#: users/models.py:418 +#: users/models.py:405 msgid "Change" msgstr "Değiştir" -#: users/models.py:420 +#: users/models.py:407 msgid "Permissions to edit items" msgstr "Parçaları düzenleme izni" -#: users/models.py:426 +#: users/models.py:413 msgid "Permission to delete items" msgstr "Parçaları silme izni" + diff --git a/src/backend/InvenTree/locale/uk/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/uk/LC_MESSAGES/django.po index 03c616766b..08cea9b9f2 100644 --- a/src/backend/InvenTree/locale/uk/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/uk/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-10 05:37+0000\n" -"PO-Revision-Date: 2024-05-10 08:31\n" +"POT-Creation-Date: 2024-05-23 11:25+0000\n" +"PO-Revision-Date: 2024-05-23 11:39\n" "Last-Translator: \n" "Language-Team: Ukrainian\n" "Language: uk_UA\n" @@ -17,11 +17,11 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 216\n" -#: InvenTree/api.py:271 +#: InvenTree/api.py:272 msgid "API endpoint not found" msgstr "" -#: InvenTree/api.py:535 +#: InvenTree/api.py:536 msgid "User does not have permission to view this model" msgstr "" @@ -56,26 +56,26 @@ msgstr "" msgid "Enter date" msgstr "" -#: InvenTree/fields.py:208 InvenTree/models.py:1021 build/serializers.py:444 -#: build/serializers.py:522 build/templates/build/sidebar.html:21 +#: InvenTree/fields.py:208 InvenTree/models.py:1035 build/serializers.py:443 +#: build/serializers.py:521 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 -#: order/models.py:1283 order/templates/order/po_sidebar.html:11 +#: order/models.py:1323 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:59 -#: part/models.py:3175 part/templates/part/part_sidebar.html:63 -#: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:226 stock/models.py:2344 stock/models.py:2461 -#: stock/serializers.py:501 stock/serializers.py:659 stock/serializers.py:755 -#: stock/serializers.py:805 stock/serializers.py:1114 stock/serializers.py:1203 -#: stock/serializers.py:1368 stock/templates/stock/stock_sidebar.html:25 +#: part/models.py:3218 part/templates/part/part_sidebar.html:63 +#: report/templates/report/inventree_build_order_report.html:172 +#: stock/admin.py:226 stock/models.py:2321 stock/models.py:2438 +#: stock/serializers.py:630 stock/serializers.py:788 stock/serializers.py:884 +#: stock/serializers.py:934 stock/serializers.py:1243 stock/serializers.py:1332 +#: stock/serializers.py:1497 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1080 -#: templates/js/translated/purchase_order.js:2201 -#: templates/js/translated/return_order.js:776 -#: templates/js/translated/sales_order.js:1067 -#: templates/js/translated/sales_order.js:1982 -#: templates/js/translated/stock.js:1536 templates/js/translated/stock.js:2430 +#: templates/js/translated/purchase_order.js:2200 +#: templates/js/translated/return_order.js:775 +#: templates/js/translated/sales_order.js:1103 +#: templates/js/translated/sales_order.js:2018 +#: templates/js/translated/stock.js:1536 templates/js/translated/stock.js:2428 msgid "Notes" msgstr "" @@ -132,7 +132,7 @@ msgstr "" msgid "Registration is disabled." msgstr "" -#: InvenTree/helpers.py:525 order/models.py:541 order/models.py:743 +#: InvenTree/helpers.py:525 order/models.py:563 order/models.py:765 msgid "Invalid quantity provided" msgstr "" @@ -355,142 +355,142 @@ msgstr "" msgid "Error running plugin validation" msgstr "" -#: InvenTree/models.py:162 +#: InvenTree/models.py:176 msgid "Metadata must be a python dict object" msgstr "" -#: InvenTree/models.py:168 +#: InvenTree/models.py:182 msgid "Plugin Metadata" msgstr "" -#: InvenTree/models.py:169 +#: InvenTree/models.py:183 msgid "JSON metadata field, for use by external plugins" msgstr "" -#: InvenTree/models.py:399 +#: InvenTree/models.py:413 msgid "Improperly formatted pattern" msgstr "" -#: InvenTree/models.py:406 +#: InvenTree/models.py:420 msgid "Unknown format key specified" msgstr "" -#: InvenTree/models.py:412 +#: InvenTree/models.py:426 msgid "Missing required format key" msgstr "" -#: InvenTree/models.py:423 +#: InvenTree/models.py:437 msgid "Reference field cannot be empty" msgstr "" -#: InvenTree/models.py:431 +#: InvenTree/models.py:445 msgid "Reference must match required pattern" msgstr "" -#: InvenTree/models.py:462 +#: InvenTree/models.py:476 msgid "Reference number is too large" msgstr "" -#: InvenTree/models.py:536 +#: InvenTree/models.py:550 msgid "Missing file" msgstr "" -#: InvenTree/models.py:537 +#: InvenTree/models.py:551 msgid "Missing external link" msgstr "" -#: InvenTree/models.py:558 stock/models.py:2456 +#: InvenTree/models.py:572 stock/models.py:2433 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" msgstr "" -#: InvenTree/models.py:559 +#: InvenTree/models.py:573 msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:567 common/models.py:3026 company/models.py:146 +#: InvenTree/models.py:581 common/models.py:3032 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 -#: order/models.py:291 order/models.py:1288 order/models.py:1704 -#: part/admin.py:55 part/models.py:919 +#: order/models.py:304 order/models.py:1328 order/models.py:1744 +#: part/admin.py:55 part/models.py:962 #: part/templates/part/part_scheduling.html:11 -#: report/templates/report/inventree_build_order_base.html:164 +#: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2456 -#: templates/js/translated/purchase_order.js:2041 -#: templates/js/translated/purchase_order.js:2205 -#: templates/js/translated/return_order.js:780 -#: templates/js/translated/sales_order.js:1056 -#: templates/js/translated/sales_order.js:1987 +#: templates/js/translated/part.js:2455 +#: templates/js/translated/purchase_order.js:2040 +#: templates/js/translated/purchase_order.js:2204 +#: templates/js/translated/return_order.js:779 +#: templates/js/translated/sales_order.js:1092 +#: templates/js/translated/sales_order.js:2023 msgid "Link" msgstr "" -#: InvenTree/models.py:568 build/models.py:321 part/models.py:920 -#: stock/models.py:819 +#: InvenTree/models.py:582 build/models.py:344 part/models.py:963 +#: stock/models.py:840 msgid "Link to external URL" msgstr "" -#: InvenTree/models.py:574 templates/js/translated/attachment.js:120 +#: InvenTree/models.py:588 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:341 msgid "Comment" msgstr "" -#: InvenTree/models.py:575 +#: InvenTree/models.py:589 msgid "File comment" msgstr "" -#: InvenTree/models.py:583 InvenTree/models.py:584 common/models.py:2502 -#: common/models.py:2503 common/models.py:2727 common/models.py:2728 -#: common/models.py:2973 common/models.py:2974 part/models.py:3185 -#: part/models.py:3272 part/models.py:3365 part/models.py:3393 -#: plugin/models.py:250 plugin/models.py:251 -#: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3039 users/models.py:111 +#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2508 +#: common/models.py:2509 common/models.py:2733 common/models.py:2734 +#: common/models.py:2979 common/models.py:2980 part/models.py:3228 +#: part/models.py:3315 part/models.py:3408 part/models.py:3436 +#: plugin/models.py:259 plugin/models.py:260 +#: report/templates/report/inventree_test_report.html:105 +#: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" msgstr "" -#: InvenTree/models.py:588 +#: InvenTree/models.py:602 msgid "upload date" msgstr "" -#: InvenTree/models.py:610 +#: InvenTree/models.py:624 msgid "Filename must not be empty" msgstr "" -#: InvenTree/models.py:621 +#: InvenTree/models.py:635 msgid "Invalid attachment directory" msgstr "" -#: InvenTree/models.py:651 +#: InvenTree/models.py:665 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "" -#: InvenTree/models.py:654 +#: InvenTree/models.py:668 msgid "Filename missing extension" msgstr "" -#: InvenTree/models.py:663 +#: InvenTree/models.py:677 msgid "Attachment with this filename already exists" msgstr "" -#: InvenTree/models.py:670 +#: InvenTree/models.py:684 msgid "Error renaming file" msgstr "" -#: InvenTree/models.py:846 +#: InvenTree/models.py:860 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:863 +#: InvenTree/models.py:877 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:893 common/models.py:2714 common/models.py:3112 -#: common/serializers.py:403 company/models.py:614 label/models.py:120 -#: machine/models.py:24 part/models.py:855 part/models.py:3616 -#: plugin/models.py:41 report/models.py:176 stock/models.py:76 +#: InvenTree/models.py:907 common/models.py:2720 common/models.py:3118 +#: common/serializers.py:403 company/models.py:614 machine/models.py:24 +#: part/models.py:898 part/models.py:3659 plugin/models.py:50 +#: report/models.py:149 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -503,22 +503,22 @@ msgstr "" #: templates/js/translated/company.js:1165 #: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186 #: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2719 +#: templates/js/translated/part.js:2748 templates/js/translated/stock.js:2716 msgid "Name" msgstr "" -#: InvenTree/models.py:899 build/models.py:194 +#: InvenTree/models.py:913 build/models.py:217 #: build/templates/build/detail.html:24 common/models.py:136 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 label/models.py:127 -#: order/models.py:277 order/models.py:1316 part/admin.py:303 part/admin.py:414 -#: part/models.py:878 part/models.py:3631 part/templates/part/category.html:82 +#: company/templates/company/supplier_part.html:107 order/models.py:290 +#: order/models.py:1356 part/admin.py:305 part/admin.py:416 part/models.py:921 +#: part/models.py:3674 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 -#: part/templates/part/part_scheduling.html:12 report/models.py:189 -#: report/models.py:655 report/models.py:729 -#: report/templates/report/inventree_build_order_base.html:117 +#: part/templates/part/part_scheduling.html:12 report/models.py:155 +#: report/models.py:510 report/models.py:536 +#: report/templates/report/inventree_build_order_report.html:117 #: stock/admin.py:55 stock/models.py:82 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 @@ -530,71 +530,71 @@ msgstr "" #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 -#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2896 +#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2354 +#: templates/js/translated/part.js:2784 templates/js/translated/part.js:2895 #: templates/js/translated/plugin.js:80 -#: templates/js/translated/purchase_order.js:1707 -#: templates/js/translated/purchase_order.js:1850 -#: templates/js/translated/purchase_order.js:2023 -#: templates/js/translated/return_order.js:314 -#: templates/js/translated/sales_order.js:802 -#: templates/js/translated/sales_order.js:1812 -#: templates/js/translated/stock.js:1515 templates/js/translated/stock.js:2060 -#: templates/js/translated/stock.js:2751 templates/js/translated/stock.js:2834 +#: templates/js/translated/purchase_order.js:1706 +#: templates/js/translated/purchase_order.js:1849 +#: templates/js/translated/purchase_order.js:2022 +#: templates/js/translated/return_order.js:313 +#: templates/js/translated/sales_order.js:838 +#: templates/js/translated/sales_order.js:1848 +#: templates/js/translated/stock.js:1515 templates/js/translated/stock.js:2058 +#: templates/js/translated/stock.js:2748 templates/js/translated/stock.js:2831 msgid "Description" msgstr "" -#: InvenTree/models.py:900 stock/models.py:83 +#: InvenTree/models.py:914 stock/models.py:83 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:909 +#: InvenTree/models.py:923 msgid "parent" msgstr "" -#: InvenTree/models.py:915 templates/js/translated/part.js:2794 -#: templates/js/translated/stock.js:2760 +#: InvenTree/models.py:929 templates/js/translated/part.js:2793 +#: templates/js/translated/stock.js:2757 msgid "Path" msgstr "" -#: InvenTree/models.py:1021 +#: InvenTree/models.py:1035 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:1050 +#: InvenTree/models.py:1064 msgid "Barcode Data" msgstr "" -#: InvenTree/models.py:1051 +#: InvenTree/models.py:1065 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:1057 +#: InvenTree/models.py:1071 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:1058 +#: InvenTree/models.py:1072 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:1111 +#: InvenTree/models.py:1125 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:1154 +#: InvenTree/models.py:1168 msgid "Server Error" msgstr "" -#: InvenTree/models.py:1155 +#: InvenTree/models.py:1169 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:62 part/models.py:4169 +#: InvenTree/serializers.py:62 part/models.py:4212 msgid "Must be a valid number" msgstr "" #: InvenTree/serializers.py:99 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:2993 +#: company/templates/company/company_base.html:112 part/models.py:3036 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -686,7 +686,7 @@ msgstr "" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1161 +#: InvenTree/status.py:66 part/serializers.py:1176 msgid "Background worker check failed" msgstr "" @@ -699,8 +699,8 @@ msgid "InvenTree system health checks failed" msgstr "" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:37 -#: InvenTree/status_codes.py:148 InvenTree/status_codes.py:164 -#: InvenTree/status_codes.py:182 generic/states/tests.py:17 +#: InvenTree/status_codes.py:149 InvenTree/status_codes.py:165 +#: InvenTree/status_codes.py:183 generic/states/tests.py:17 #: templates/js/translated/table_filters.js:598 msgid "Pending" msgstr "" @@ -709,188 +709,188 @@ msgstr "" msgid "Placed" msgstr "" -#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:151 -#: InvenTree/status_codes.py:169 generic/states/tests.py:19 -#: order/templates/order/order_base.html:158 -#: order/templates/order/sales_order_base.html:161 +#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:44 +#: InvenTree/status_codes.py:152 InvenTree/status_codes.py:170 +#: generic/states/tests.py:19 order/templates/order/order_base.html:158 +#: order/templates/order/sales_order_base.html:165 report/models.py:444 msgid "Complete" msgstr "" -#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:44 -#: InvenTree/status_codes.py:150 InvenTree/status_codes.py:170 +#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:45 +#: InvenTree/status_codes.py:151 InvenTree/status_codes.py:171 msgid "Cancelled" msgstr "" -#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:45 -#: InvenTree/status_codes.py:67 +#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:46 +#: InvenTree/status_codes.py:68 msgid "Lost" msgstr "" -#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:46 -#: InvenTree/status_codes.py:73 +#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:47 +#: InvenTree/status_codes.py:74 msgid "Returned" msgstr "" -#: InvenTree/status_codes.py:40 InvenTree/status_codes.py:167 +#: InvenTree/status_codes.py:40 InvenTree/status_codes.py:168 msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:43 order/models.py:1566 -#: templates/js/translated/sales_order.js:1523 -#: templates/js/translated/sales_order.js:1644 -#: templates/js/translated/sales_order.js:1957 +#: InvenTree/status_codes.py:43 order/models.py:1606 +#: templates/js/translated/sales_order.js:1559 +#: templates/js/translated/sales_order.js:1680 +#: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "" -#: InvenTree/status_codes.py:62 +#: InvenTree/status_codes.py:63 msgid "OK" msgstr "" -#: InvenTree/status_codes.py:63 +#: InvenTree/status_codes.py:64 msgid "Attention needed" msgstr "" -#: InvenTree/status_codes.py:64 +#: InvenTree/status_codes.py:65 msgid "Damaged" msgstr "" -#: InvenTree/status_codes.py:65 +#: InvenTree/status_codes.py:66 msgid "Destroyed" msgstr "" -#: InvenTree/status_codes.py:66 +#: InvenTree/status_codes.py:67 msgid "Rejected" msgstr "" -#: InvenTree/status_codes.py:70 +#: InvenTree/status_codes.py:71 msgid "Quarantined" msgstr "" -#: InvenTree/status_codes.py:91 +#: InvenTree/status_codes.py:92 msgid "Legacy stock tracking entry" msgstr "" -#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:544 +#: InvenTree/status_codes.py:94 templates/js/translated/stock.js:544 msgid "Stock item created" msgstr "" -#: InvenTree/status_codes.py:96 +#: InvenTree/status_codes.py:97 msgid "Edited stock item" msgstr "" -#: InvenTree/status_codes.py:97 +#: InvenTree/status_codes.py:98 msgid "Assigned serial number" msgstr "" -#: InvenTree/status_codes.py:100 +#: InvenTree/status_codes.py:101 msgid "Stock counted" msgstr "" -#: InvenTree/status_codes.py:101 +#: InvenTree/status_codes.py:102 msgid "Stock manually added" msgstr "" -#: InvenTree/status_codes.py:102 +#: InvenTree/status_codes.py:103 msgid "Stock manually removed" msgstr "" -#: InvenTree/status_codes.py:105 +#: InvenTree/status_codes.py:106 msgid "Location changed" msgstr "" -#: InvenTree/status_codes.py:106 +#: InvenTree/status_codes.py:107 msgid "Stock updated" msgstr "" -#: InvenTree/status_codes.py:109 +#: InvenTree/status_codes.py:110 msgid "Installed into assembly" msgstr "" -#: InvenTree/status_codes.py:110 +#: InvenTree/status_codes.py:111 msgid "Removed from assembly" msgstr "" -#: InvenTree/status_codes.py:112 +#: InvenTree/status_codes.py:113 msgid "Installed component item" msgstr "" -#: InvenTree/status_codes.py:113 +#: InvenTree/status_codes.py:114 msgid "Removed component item" msgstr "" -#: InvenTree/status_codes.py:116 +#: InvenTree/status_codes.py:117 msgid "Split from parent item" msgstr "" -#: InvenTree/status_codes.py:117 +#: InvenTree/status_codes.py:118 msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1858 +#: InvenTree/status_codes.py:121 templates/js/translated/stock.js:1858 msgid "Merged stock items" msgstr "" -#: InvenTree/status_codes.py:123 +#: InvenTree/status_codes.py:124 msgid "Converted to variant" msgstr "" -#: InvenTree/status_codes.py:126 +#: InvenTree/status_codes.py:127 msgid "Build order output created" msgstr "" -#: InvenTree/status_codes.py:127 +#: InvenTree/status_codes.py:128 msgid "Build order output completed" msgstr "" -#: InvenTree/status_codes.py:128 +#: InvenTree/status_codes.py:129 msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1764 +#: InvenTree/status_codes.py:130 templates/js/translated/stock.js:1764 msgid "Consumed by build order" msgstr "" -#: InvenTree/status_codes.py:132 +#: InvenTree/status_codes.py:133 msgid "Shipped against Sales Order" msgstr "" -#: InvenTree/status_codes.py:135 +#: InvenTree/status_codes.py:136 msgid "Received against Purchase Order" msgstr "" -#: InvenTree/status_codes.py:138 +#: InvenTree/status_codes.py:139 msgid "Returned against Return Order" msgstr "" -#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:375 +#: InvenTree/status_codes.py:142 templates/js/translated/table_filters.js:375 msgid "Sent to customer" msgstr "" -#: InvenTree/status_codes.py:142 +#: InvenTree/status_codes.py:143 msgid "Returned from customer" msgstr "" -#: InvenTree/status_codes.py:149 +#: InvenTree/status_codes.py:150 msgid "Production" msgstr "" -#: InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:186 msgid "Return" msgstr "" -#: InvenTree/status_codes.py:188 +#: InvenTree/status_codes.py:189 msgid "Repair" msgstr "" -#: InvenTree/status_codes.py:191 +#: InvenTree/status_codes.py:192 msgid "Replace" msgstr "" -#: InvenTree/status_codes.py:194 +#: InvenTree/status_codes.py:195 msgid "Refund" msgstr "" -#: InvenTree/status_codes.py:197 +#: InvenTree/status_codes.py:198 msgid "Reject" msgstr "" @@ -946,14 +946,14 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:299 part/models.py:4047 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4090 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4041 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4084 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -969,7 +969,7 @@ msgstr "" #: build/api.py:303 part/admin.py:144 templates/js/translated/build.js:1744 #: templates/js/translated/build.js:2629 -#: templates/js/translated/sales_order.js:1929 +#: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "" @@ -980,7 +980,7 @@ msgstr "" #: templates/email/low_stock_notification.html:17 #: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 #: templates/js/translated/index.js:123 -#: templates/js/translated/model_renderers.js:228 +#: templates/js/translated/model_renderers.js:234 #: templates/js/translated/part.js:692 templates/js/translated/part.js:694 #: templates/js/translated/part.js:699 #: templates/js/translated/table_filters.js:340 @@ -988,16 +988,16 @@ msgstr "" msgid "Available" msgstr "" -#: build/models.py:74 build/templates/build/build_base.html:9 +#: build/models.py:82 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 -#: report/templates/report/inventree_build_order_base.html:105 -#: templates/email/build_order_completed.html:16 +#: report/templates/report/inventree_build_order_report.html:105 +#: stock/serializers.py:83 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2895 +#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2892 msgid "Build Order" msgstr "" -#: build/models.py:75 build/templates/build/build_base.html:13 +#: build/models.py:83 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -1008,71 +1008,71 @@ msgstr "" msgid "Build Orders" msgstr "" -#: build/models.py:122 +#: build/models.py:130 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:133 order/models.py:239 +#: build/models.py:141 order/models.py:241 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:139 +#: build/models.py:147 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:185 +#: build/models.py:208 msgid "Build Order Reference" msgstr "" -#: build/models.py:186 order/models.py:442 order/models.py:898 -#: order/models.py:1276 order/models.py:1998 part/admin.py:417 -#: part/models.py:4062 part/templates/part/upload_bom.html:54 +#: build/models.py:209 order/models.py:464 order/models.py:929 +#: order/models.py:1316 order/models.py:2047 part/admin.py:419 +#: part/models.py:4105 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 -#: report/templates/report/inventree_so_report_base.html:28 +#: report/templates/report/inventree_purchase_order_report.html:28 +#: report/templates/report/inventree_return_order_report.html:26 +#: report/templates/report/inventree_sales_order_report.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 #: templates/js/translated/build.js:2512 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 -#: templates/js/translated/purchase_order.js:2066 -#: templates/js/translated/return_order.js:729 -#: templates/js/translated/sales_order.js:1818 +#: templates/js/translated/purchase_order.js:2065 +#: templates/js/translated/return_order.js:728 +#: templates/js/translated/sales_order.js:1854 msgid "Reference" msgstr "" -#: build/models.py:197 +#: build/models.py:220 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:205 build/templates/build/build_base.html:183 +#: build/models.py:228 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:206 +#: build/models.py:229 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:211 build/templates/build/build_base.html:97 +#: build/models.py:234 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 -#: order/models.py:1401 order/models.py:1546 order/models.py:1547 -#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004 -#: part/models.py:3148 part/models.py:3292 part/models.py:3315 -#: part/models.py:3336 part/models.py:3358 part/models.py:3468 -#: part/models.py:3764 part/models.py:3920 part/models.py:4013 -#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713 +#: order/models.py:1441 order/models.py:1586 order/models.py:1587 +#: part/api.py:1501 part/api.py:1795 part/models.py:392 part/models.py:3047 +#: part/models.py:3191 part/models.py:3335 part/models.py:3358 +#: part/models.py:3379 part/models.py:3401 part/models.py:3511 +#: part/models.py:3807 part/models.py:3963 part/models.py:4056 +#: part/models.py:4417 part/serializers.py:1122 part/serializers.py:1728 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 -#: report/templates/report/inventree_build_order_base.html:109 -#: report/templates/report/inventree_po_report_base.html:27 -#: report/templates/report/inventree_return_order_report_base.html:24 -#: report/templates/report/inventree_slr_report.html:102 -#: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:267 stock/serializers.py:689 -#: templates/InvenTree/search.html:82 +#: report/templates/report/inventree_build_order_report.html:109 +#: report/templates/report/inventree_purchase_order_report.html:27 +#: report/templates/report/inventree_return_order_report.html:24 +#: report/templates/report/inventree_sales_order_report.html:27 +#: report/templates/report/inventree_stock_location_report.html:102 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:396 +#: stock/serializers.py:818 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -1086,235 +1086,239 @@ msgstr "" #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 #: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 -#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:2323 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:751 #: templates/js/translated/purchase_order.js:1304 -#: templates/js/translated/purchase_order.js:1849 -#: templates/js/translated/purchase_order.js:2008 -#: templates/js/translated/return_order.js:539 -#: templates/js/translated/return_order.js:710 +#: templates/js/translated/purchase_order.js:1848 +#: templates/js/translated/purchase_order.js:2007 +#: templates/js/translated/return_order.js:538 +#: templates/js/translated/return_order.js:709 #: templates/js/translated/sales_order.js:300 -#: templates/js/translated/sales_order.js:1197 -#: templates/js/translated/sales_order.js:1598 -#: templates/js/translated/sales_order.js:1796 +#: templates/js/translated/sales_order.js:1233 +#: templates/js/translated/sales_order.js:1634 +#: templates/js/translated/sales_order.js:1832 #: templates/js/translated/stock.js:676 templates/js/translated/stock.js:842 -#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1999 -#: templates/js/translated/stock.js:2860 templates/js/translated/stock.js:3093 -#: templates/js/translated/stock.js:3239 +#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1997 +#: templates/js/translated/stock.js:2857 templates/js/translated/stock.js:3090 +#: templates/js/translated/stock.js:3236 msgid "Part" msgstr "" -#: build/models.py:219 +#: build/models.py:242 msgid "Select part to build" msgstr "" -#: build/models.py:224 +#: build/models.py:247 msgid "Sales Order Reference" msgstr "" -#: build/models.py:228 +#: build/models.py:251 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:233 build/serializers.py:970 +#: build/models.py:256 build/serializers.py:969 #: templates/js/translated/build.js:1731 -#: templates/js/translated/sales_order.js:1185 +#: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "" -#: build/models.py:237 +#: build/models.py:260 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:242 +#: build/models.py:265 msgid "Destination Location" msgstr "" -#: build/models.py:246 +#: build/models.py:269 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:250 +#: build/models.py:273 msgid "Build Quantity" msgstr "" -#: build/models.py:253 +#: build/models.py:276 msgid "Number of stock items to build" msgstr "" -#: build/models.py:257 +#: build/models.py:280 msgid "Completed items" msgstr "" -#: build/models.py:259 +#: build/models.py:282 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:263 +#: build/models.py:286 msgid "Build Status" msgstr "" -#: build/models.py:267 +#: build/models.py:290 msgid "Build status code" msgstr "" -#: build/models.py:276 build/serializers.py:278 order/serializers.py:581 -#: stock/models.py:823 stock/serializers.py:1333 +#: build/models.py:299 build/serializers.py:277 order/serializers.py:581 +#: stock/models.py:844 stock/serializers.py:75 stock/serializers.py:1462 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" -#: build/models.py:280 build/serializers.py:279 +#: build/models.py:303 build/serializers.py:278 msgid "Batch code for this build output" msgstr "" -#: build/models.py:283 order/models.py:304 order/serializers.py:120 -#: part/models.py:1079 part/templates/part/part_base.html:310 -#: templates/js/translated/return_order.js:339 -#: templates/js/translated/sales_order.js:827 +#: build/models.py:306 order/models.py:317 order/serializers.py:120 +#: part/models.py:1122 part/templates/part/part_base.html:310 +#: templates/js/translated/return_order.js:338 +#: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "" -#: build/models.py:287 +#: build/models.py:310 msgid "Target completion date" msgstr "" -#: build/models.py:288 +#: build/models.py:311 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:291 order/models.py:500 order/models.py:2043 +#: build/models.py:314 order/models.py:522 order/models.py:2092 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "" -#: build/models.py:297 +#: build/models.py:320 msgid "completed by" msgstr "" -#: build/models.py:305 templates/js/translated/build.js:2207 +#: build/models.py:328 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "" -#: build/models.py:306 +#: build/models.py:329 msgid "User who issued this build order" msgstr "" -#: build/models.py:314 build/templates/build/build_base.html:204 +#: build/models.py:337 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:145 -#: order/models.py:322 order/templates/order/order_base.html:217 +#: order/models.py:335 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1096 +#: order/templates/order/sales_order_base.html:232 part/models.py:1139 #: part/templates/part/part_base.html:390 -#: report/templates/report/inventree_build_order_base.html:158 +#: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 #: templates/js/translated/build.js:2219 -#: templates/js/translated/purchase_order.js:1764 -#: templates/js/translated/return_order.js:359 +#: templates/js/translated/purchase_order.js:1763 +#: templates/js/translated/return_order.js:358 #: templates/js/translated/table_filters.js:531 msgid "Responsible" msgstr "" -#: build/models.py:315 +#: build/models.py:338 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:320 build/templates/build/detail.html:108 +#: build/models.py:343 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 -#: order/templates/order/sales_order_base.html:180 -#: part/templates/part/part_base.html:383 stock/models.py:819 +#: order/templates/order/sales_order_base.html:184 +#: part/templates/part/part_base.html:383 stock/models.py:840 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "" -#: build/models.py:325 +#: build/models.py:348 msgid "Build Priority" msgstr "" -#: build/models.py:328 +#: build/models.py:351 msgid "Priority of this build order" msgstr "" -#: build/models.py:335 common/models.py:129 order/admin.py:18 -#: order/models.py:286 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:358 common/models.py:129 order/admin.py:18 +#: order/models.py:299 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 -#: templates/js/translated/purchase_order.js:1711 -#: templates/js/translated/return_order.js:318 -#: templates/js/translated/sales_order.js:806 +#: templates/js/translated/purchase_order.js:1710 +#: templates/js/translated/return_order.js:317 +#: templates/js/translated/sales_order.js:842 #: templates/js/translated/table_filters.js:48 #: templates/project_code_data.html:6 msgid "Project Code" msgstr "" -#: build/models.py:336 +#: build/models.py:359 msgid "Project code for this build order" msgstr "" -#: build/models.py:566 build/models.py:631 +#: build/models.py:589 build/models.py:654 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:588 +#: build/models.py:611 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:594 +#: build/models.py:617 msgid "A build order has been completed" msgstr "" -#: build/models.py:820 build/models.py:895 +#: build/models.py:843 build/models.py:918 msgid "No build output specified" msgstr "" -#: build/models.py:823 +#: build/models.py:846 msgid "Build output is already completed" msgstr "" -#: build/models.py:826 +#: build/models.py:849 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:899 build/serializers.py:221 build/serializers.py:260 -#: build/serializers.py:837 order/models.py:538 order/serializers.py:433 -#: order/serializers.py:576 part/serializers.py:1471 part/serializers.py:1871 -#: stock/models.py:662 stock/models.py:1482 stock/serializers.py:472 +#: build/models.py:922 build/serializers.py:220 build/serializers.py:259 +#: build/serializers.py:836 order/models.py:560 order/serializers.py:433 +#: order/serializers.py:576 part/serializers.py:1486 part/serializers.py:1886 +#: stock/models.py:683 stock/models.py:1503 stock/serializers.py:601 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:904 build/serializers.py:226 +#: build/models.py:927 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:961 build/serializers.py:539 +#: build/models.py:984 build/serializers.py:538 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1323 +#: build/models.py:1335 +msgid "Build Order Line Item" +msgstr "" + +#: build/models.py:1360 msgid "Build object" msgstr "" -#: build/models.py:1337 build/models.py:1593 build/serializers.py:208 -#: build/serializers.py:245 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2524 -#: order/models.py:1259 order/models.py:1918 order/serializers.py:1339 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 -#: part/forms.py:48 part/models.py:3162 part/models.py:4035 +#: build/models.py:1374 build/models.py:1630 build/serializers.py:207 +#: build/serializers.py:244 build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2530 +#: order/models.py:1299 order/models.py:1958 order/serializers.py:1339 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 +#: part/forms.py:48 part/models.py:3205 part/models.py:4078 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 -#: report/templates/report/inventree_build_order_base.html:113 -#: report/templates/report/inventree_po_report_base.html:29 -#: report/templates/report/inventree_slr_report.html:104 -#: report/templates/report/inventree_so_report_base.html:29 -#: report/templates/report/inventree_test_report_base.html:90 -#: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:160 stock/serializers.py:463 +#: report/templates/report/inventree_build_order_report.html:113 +#: report/templates/report/inventree_purchase_order_report.html:29 +#: report/templates/report/inventree_sales_order_report.html:29 +#: report/templates/report/inventree_stock_location_report.html:104 +#: report/templates/report/inventree_test_report.html:90 +#: report/templates/report/inventree_test_report.html:170 stock/admin.py:160 +#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:592 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1324,380 +1328,381 @@ msgstr "" #: templates/js/translated/build.js:737 templates/js/translated/build.js:1369 #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 -#: templates/js/translated/model_renderers.js:230 +#: templates/js/translated/model_renderers.js:236 #: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3341 +#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3340 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 #: templates/js/translated/purchase_order.js:754 -#: templates/js/translated/purchase_order.js:1853 -#: templates/js/translated/purchase_order.js:2072 +#: templates/js/translated/purchase_order.js:1852 +#: templates/js/translated/purchase_order.js:2071 #: templates/js/translated/sales_order.js:317 -#: templates/js/translated/sales_order.js:1199 -#: templates/js/translated/sales_order.js:1518 -#: templates/js/translated/sales_order.js:1608 -#: templates/js/translated/sales_order.js:1698 -#: templates/js/translated/sales_order.js:1824 +#: templates/js/translated/sales_order.js:1235 +#: templates/js/translated/sales_order.js:1554 +#: templates/js/translated/sales_order.js:1644 +#: templates/js/translated/sales_order.js:1734 +#: templates/js/translated/sales_order.js:1860 #: templates/js/translated/stock.js:564 templates/js/translated/stock.js:702 -#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:3024 -#: templates/js/translated/stock.js:3107 +#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:3021 +#: templates/js/translated/stock.js:3104 msgid "Quantity" msgstr "" -#: build/models.py:1338 +#: build/models.py:1375 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1418 +#: build/models.py:1455 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1427 +#: build/models.py:1464 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1437 order/models.py:1869 +#: build/models.py:1474 order/models.py:1909 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1443 order/models.py:1872 +#: build/models.py:1480 order/models.py:1912 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1449 +#: build/models.py:1486 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1508 +#: build/models.py:1545 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1580 build/serializers.py:817 order/serializers.py:1183 -#: order/serializers.py:1204 stock/serializers.py:566 stock/serializers.py:1052 -#: stock/serializers.py:1164 stock/templates/stock/item_base.html:10 +#: build/models.py:1617 build/serializers.py:816 order/serializers.py:1183 +#: order/serializers.py:1204 stock/models.py:364 stock/serializers.py:92 +#: stock/serializers.py:695 stock/serializers.py:1181 stock/serializers.py:1293 +#: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 #: templates/js/translated/build.js:1745 #: templates/js/translated/sales_order.js:301 -#: templates/js/translated/sales_order.js:1198 -#: templates/js/translated/sales_order.js:1499 -#: templates/js/translated/sales_order.js:1504 -#: templates/js/translated/sales_order.js:1605 -#: templates/js/translated/sales_order.js:1692 +#: templates/js/translated/sales_order.js:1234 +#: templates/js/translated/sales_order.js:1535 +#: templates/js/translated/sales_order.js:1540 +#: templates/js/translated/sales_order.js:1641 +#: templates/js/translated/sales_order.js:1728 #: templates/js/translated/stock.js:677 templates/js/translated/stock.js:843 -#: templates/js/translated/stock.js:2980 +#: templates/js/translated/stock.js:2977 msgid "Stock Item" msgstr "" -#: build/models.py:1581 +#: build/models.py:1618 msgid "Source stock item" msgstr "" -#: build/models.py:1594 +#: build/models.py:1631 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1602 +#: build/models.py:1639 msgid "Install into" msgstr "" -#: build/models.py:1603 +#: build/models.py:1640 msgid "Destination stock item" msgstr "" -#: build/serializers.py:158 build/serializers.py:846 +#: build/serializers.py:157 build/serializers.py:845 #: templates/js/translated/build.js:1322 msgid "Build Output" msgstr "" -#: build/serializers.py:170 +#: build/serializers.py:169 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:174 +#: build/serializers.py:173 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:178 +#: build/serializers.py:177 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:189 +#: build/serializers.py:188 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:209 build/serializers.py:246 +#: build/serializers.py:208 build/serializers.py:245 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:267 +#: build/serializers.py:266 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:270 +#: build/serializers.py:269 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:285 order/serializers.py:589 order/serializers.py:1343 -#: stock/serializers.py:483 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:284 order/serializers.py:589 order/serializers.py:1343 +#: stock/serializers.py:612 templates/js/translated/purchase_order.js:1153 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:286 +#: build/serializers.py:285 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:291 build/serializers.py:432 build/serializers.py:504 +#: build/serializers.py:290 build/serializers.py:431 build/serializers.py:503 #: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1679 -#: part/serializers.py:1127 stock/serializers.py:494 stock/serializers.py:654 -#: stock/serializers.py:750 stock/serializers.py:1196 stock/serializers.py:1452 -#: stock/templates/stock/item_base.html:394 +#: part/serializers.py:1142 stock/serializers.py:101 stock/serializers.py:623 +#: stock/serializers.py:783 stock/serializers.py:879 stock/serializers.py:1325 +#: stock/serializers.py:1581 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 #: templates/js/translated/purchase_order.js:1178 #: templates/js/translated/purchase_order.js:1268 -#: templates/js/translated/sales_order.js:1511 -#: templates/js/translated/sales_order.js:1619 -#: templates/js/translated/sales_order.js:1627 -#: templates/js/translated/sales_order.js:1706 +#: templates/js/translated/sales_order.js:1547 +#: templates/js/translated/sales_order.js:1655 +#: templates/js/translated/sales_order.js:1663 +#: templates/js/translated/sales_order.js:1742 #: templates/js/translated/stock.js:678 templates/js/translated/stock.js:844 -#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2203 -#: templates/js/translated/stock.js:2874 +#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2201 +#: templates/js/translated/stock.js:2871 msgid "Location" msgstr "" -#: build/serializers.py:292 +#: build/serializers.py:291 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:306 +#: build/serializers.py:305 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:307 +#: build/serializers.py:306 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:322 +#: build/serializers.py:321 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:347 stock/api.py:995 +#: build/serializers.py:346 stock/api.py:1029 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:394 build/serializers.py:456 build/serializers.py:545 +#: build/serializers.py:393 build/serializers.py:455 build/serializers.py:544 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:433 +#: build/serializers.py:432 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:439 +#: build/serializers.py:438 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:440 +#: build/serializers.py:439 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:445 +#: build/serializers.py:444 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:505 +#: build/serializers.py:504 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:511 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:922 -#: order/models.py:2022 order/serializers.py:597 stock/admin.py:165 -#: stock/serializers.py:801 stock/serializers.py:1340 +#: build/serializers.py:510 build/templates/build/build_base.html:151 +#: build/templates/build/detail.html:62 order/models.py:953 +#: order/models.py:2071 order/serializers.py:597 stock/admin.py:165 +#: stock/serializers.py:930 stock/serializers.py:1469 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 -#: templates/js/translated/purchase_order.js:1723 -#: templates/js/translated/return_order.js:331 -#: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2178 templates/js/translated/stock.js:2998 -#: templates/js/translated/stock.js:3123 +#: templates/js/translated/purchase_order.js:1722 +#: templates/js/translated/return_order.js:330 +#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/stock.js:2176 templates/js/translated/stock.js:2995 +#: templates/js/translated/stock.js:3120 msgid "Status" msgstr "" -#: build/serializers.py:517 +#: build/serializers.py:516 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:518 +#: build/serializers.py:517 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:598 +#: build/serializers.py:597 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:599 +#: build/serializers.py:598 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:605 +#: build/serializers.py:604 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:606 +#: build/serializers.py:605 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:633 +#: build/serializers.py:632 msgid "Not permitted" msgstr "" -#: build/serializers.py:634 +#: build/serializers.py:633 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:635 +#: build/serializers.py:634 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:657 +#: build/serializers.py:656 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:659 +#: build/serializers.py:658 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:669 +#: build/serializers.py:668 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:674 +#: build/serializers.py:673 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:675 +#: build/serializers.py:674 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:685 templates/js/translated/build.js:315 +#: build/serializers.py:684 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:690 order/serializers.py:301 order/serializers.py:1246 +#: build/serializers.py:689 order/serializers.py:301 order/serializers.py:1246 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:691 +#: build/serializers.py:690 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:701 templates/js/translated/build.js:319 +#: build/serializers.py:700 templates/js/translated/build.js:319 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:710 templates/js/translated/build.js:303 +#: build/serializers.py:709 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:740 +#: build/serializers.py:739 msgid "Build Line" msgstr "" -#: build/serializers.py:750 +#: build/serializers.py:749 msgid "Build output" msgstr "" -#: build/serializers.py:758 +#: build/serializers.py:757 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:794 +#: build/serializers.py:793 msgid "Build Line Item" msgstr "" -#: build/serializers.py:808 +#: build/serializers.py:807 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:823 stock/serializers.py:1065 +#: build/serializers.py:822 stock/serializers.py:1194 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:871 order/serializers.py:1237 +#: build/serializers.py:870 order/serializers.py:1237 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:877 +#: build/serializers.py:876 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:884 +#: build/serializers.py:883 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:908 order/serializers.py:1489 +#: build/serializers.py:907 order/serializers.py:1489 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:971 +#: build/serializers.py:970 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:979 +#: build/serializers.py:978 msgid "Exclude Location" msgstr "" -#: build/serializers.py:980 +#: build/serializers.py:979 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:985 +#: build/serializers.py:984 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:986 +#: build/serializers.py:985 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:991 +#: build/serializers.py:990 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:992 +#: build/serializers.py:991 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:997 +#: build/serializers.py:996 msgid "Optional Items" msgstr "" -#: build/serializers.py:998 +#: build/serializers.py:997 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1020 +#: build/serializers.py:1019 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1110 part/models.py:3930 part/models.py:4366 -#: stock/api.py:758 +#: build/serializers.py:1109 part/models.py:3973 part/models.py:4409 +#: stock/api.py:792 msgid "BOM Item" msgstr "" -#: build/serializers.py:1119 templates/js/translated/index.js:130 +#: build/serializers.py:1118 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1124 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:817 part/serializers.py:1489 +#: build/serializers.py:1123 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:832 part/serializers.py:1504 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 @@ -1705,15 +1710,15 @@ msgstr "" msgid "On Order" msgstr "" -#: build/serializers.py:1129 part/serializers.py:1491 +#: build/serializers.py:1128 part/serializers.py:1506 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1134 part/bom.py:172 part/serializers.py:1514 +#: build/serializers.py:1133 part/bom.py:172 part/serializers.py:1529 #: part/templates/part/part_base.html:192 -#: templates/js/translated/sales_order.js:1893 +#: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "" @@ -1842,18 +1847,18 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:297 -#: order/models.py:1294 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:310 +#: order/models.py:1334 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 -#: order/templates/order/sales_order_base.html:192 -#: report/templates/report/inventree_build_order_base.html:125 +#: order/templates/order/sales_order_base.html:196 +#: report/templates/report/inventree_build_order_report.html:125 #: templates/js/translated/build.js:2239 templates/js/translated/part.js:1830 -#: templates/js/translated/purchase_order.js:1740 -#: templates/js/translated/purchase_order.js:2148 -#: templates/js/translated/return_order.js:347 -#: templates/js/translated/return_order.js:751 -#: templates/js/translated/sales_order.js:835 -#: templates/js/translated/sales_order.js:1867 +#: templates/js/translated/purchase_order.js:1739 +#: templates/js/translated/purchase_order.js:2147 +#: templates/js/translated/return_order.js:346 +#: templates/js/translated/return_order.js:750 +#: templates/js/translated/sales_order.js:871 +#: templates/js/translated/sales_order.js:1903 msgid "Target Date" msgstr "" @@ -1866,7 +1871,7 @@ msgstr "" #: build/templates/build/build_base.html:222 #: order/templates/order/order_base.html:122 #: order/templates/order/return_order_base.html:117 -#: order/templates/order/sales_order_base.html:122 +#: order/templates/order/sales_order_base.html:126 #: templates/js/translated/table_filters.js:98 #: templates/js/translated/table_filters.js:524 #: templates/js/translated/table_filters.js:626 @@ -1880,24 +1885,24 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:1538 -#: order/models.py:1652 order/models.py:1806 +#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:848 +#: order/models.py:1578 order/models.py:1692 order/models.py:1846 #: 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 +#: report/templates/report/inventree_build_order_report.html:135 +#: report/templates/report/inventree_sales_order_report.html:14 #: stock/templates/stock/item_base.html:369 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:929 -#: templates/js/translated/sales_order.js:769 -#: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2927 +#: templates/js/translated/sales_order.js:805 +#: templates/js/translated/sales_order.js:1028 +#: templates/js/translated/stock.js:2924 msgid "Sales Order" msgstr "" #: build/templates/build/build_base.html:197 #: build/templates/build/detail.html:115 -#: report/templates/report/inventree_build_order_base.html:152 +#: report/templates/report/inventree_build_order_report.html:152 #: templates/js/translated/table_filters.js:24 msgid "Issued By" msgstr "" @@ -1907,15 +1912,15 @@ msgstr "" msgid "Priority" msgstr "" -#: build/templates/build/build_base.html:273 +#: build/templates/build/build_base.html:269 msgid "Delete Build Order" msgstr "" -#: build/templates/build/build_base.html:283 +#: build/templates/build/build_base.html:279 msgid "Build Order QR Code" msgstr "" -#: build/templates/build/build_base.html:295 +#: build/templates/build/build_base.html:291 msgid "Link Barcode to Build Order" msgstr "" @@ -1931,8 +1936,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1430 -#: templates/js/translated/purchase_order.js:2190 +#: build/templates/build/detail.html:49 order/models.py:1470 +#: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "" @@ -1947,10 +1952,10 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 #: templates/js/translated/build.js:1380 -#: templates/js/translated/model_renderers.js:235 +#: templates/js/translated/model_renderers.js:241 #: templates/js/translated/purchase_order.js:1274 -#: templates/js/translated/stock.js:1133 templates/js/translated/stock.js:2192 -#: templates/js/translated/stock.js:3130 +#: templates/js/translated/stock.js:1133 templates/js/translated/stock.js:2190 +#: templates/js/translated/stock.js:3127 #: templates/js/translated/table_filters.js:313 #: templates/js/translated/table_filters.js:404 msgid "Batch" @@ -1959,7 +1964,7 @@ msgstr "" #: build/templates/build/detail.html:133 #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:151 -#: order/templates/order/sales_order_base.html:186 +#: order/templates/order/sales_order_base.html:190 #: templates/js/translated/build.js:2199 msgid "Created" msgstr "" @@ -1969,7 +1974,7 @@ msgid "No target date set" msgstr "" #: build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:202 +#: order/templates/order/sales_order_base.html:206 #: templates/js/translated/table_filters.js:689 msgid "Completed" msgstr "" @@ -2260,8 +2265,8 @@ msgstr "" #: common/models.py:1316 common/models.py:1372 common/models.py:1385 #: common/models.py:1393 common/models.py:1402 common/models.py:1411 -#: common/models.py:1613 common/models.py:1635 common/models.py:1750 -#: common/models.py:2061 +#: common/models.py:1619 common/models.py:1641 common/models.py:1756 +#: common/models.py:2067 msgid "days" msgstr "" @@ -2402,1209 +2407,1218 @@ msgid "Enable revision field for Part" msgstr "" #: common/models.py:1440 -msgid "IPN Regex" +msgid "Allow Deletion from Assembly" msgstr "" #: common/models.py:1441 +msgid "Allow deletion of parts which are used in an assembly" +msgstr "" + +#: common/models.py:1446 +msgid "IPN Regex" +msgstr "" + +#: common/models.py:1447 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1444 +#: common/models.py:1450 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1445 +#: common/models.py:1451 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1450 +#: common/models.py:1456 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1451 +#: common/models.py:1457 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1456 +#: common/models.py:1462 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1457 +#: common/models.py:1463 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1462 +#: common/models.py:1468 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1463 +#: common/models.py:1469 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1468 +#: common/models.py:1474 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1469 +#: common/models.py:1475 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1474 +#: common/models.py:1480 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1475 +#: common/models.py:1481 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1480 part/admin.py:108 part/models.py:3772 -#: report/models.py:182 stock/serializers.py:99 +#: common/models.py:1486 part/admin.py:108 part/models.py:3815 +#: report/models.py:294 report/models.py:361 report/serializers.py:90 +#: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:767 msgid "Template" msgstr "" -#: common/models.py:1481 +#: common/models.py:1487 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1486 part/admin.py:91 part/admin.py:431 part/models.py:1016 +#: common/models.py:1492 part/admin.py:91 part/admin.py:433 part/models.py:1059 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "" -#: common/models.py:1487 +#: common/models.py:1493 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1492 part/admin.py:95 part/models.py:1022 +#: common/models.py:1498 part/admin.py:95 part/models.py:1065 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "" -#: common/models.py:1493 +#: common/models.py:1499 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1498 part/admin.py:100 part/models.py:1034 +#: common/models.py:1504 part/admin.py:100 part/models.py:1077 msgid "Purchaseable" msgstr "" -#: common/models.py:1499 +#: common/models.py:1505 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1504 part/admin.py:104 part/models.py:1040 +#: common/models.py:1510 part/admin.py:104 part/models.py:1083 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "" -#: common/models.py:1505 +#: common/models.py:1511 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1510 part/admin.py:113 part/models.py:1028 +#: common/models.py:1516 part/admin.py:113 part/models.py:1071 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "" -#: common/models.py:1511 +#: common/models.py:1517 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1516 part/admin.py:117 part/models.py:1050 +#: common/models.py:1522 part/admin.py:117 part/models.py:1093 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "" -#: common/models.py:1517 +#: common/models.py:1523 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1522 +#: common/models.py:1528 msgid "Show Import in Views" msgstr "" -#: common/models.py:1523 +#: common/models.py:1529 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1528 +#: common/models.py:1534 msgid "Show related parts" msgstr "" -#: common/models.py:1529 +#: common/models.py:1535 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1534 +#: common/models.py:1540 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1535 +#: common/models.py:1541 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1540 templates/js/translated/part.js:107 +#: common/models.py:1546 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1542 +#: common/models.py:1548 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1548 +#: common/models.py:1554 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1549 +#: common/models.py:1555 msgid "Format to display the part name" msgstr "" -#: common/models.py:1555 +#: common/models.py:1561 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1556 +#: common/models.py:1562 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1560 +#: common/models.py:1566 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1562 +#: common/models.py:1568 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1568 +#: common/models.py:1574 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1570 +#: common/models.py:1576 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1576 +#: common/models.py:1582 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1578 +#: common/models.py:1584 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1584 +#: common/models.py:1590 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1586 +#: common/models.py:1592 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1592 +#: common/models.py:1598 msgid "Purchase History Override" msgstr "" -#: common/models.py:1594 +#: common/models.py:1600 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1600 +#: common/models.py:1606 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1602 +#: common/models.py:1608 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1608 +#: common/models.py:1614 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1610 +#: common/models.py:1616 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1617 +#: common/models.py:1623 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1618 +#: common/models.py:1624 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1623 +#: common/models.py:1629 msgid "Active Variants Only" msgstr "" -#: common/models.py:1625 +#: common/models.py:1631 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1631 +#: common/models.py:1637 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1633 +#: common/models.py:1639 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1640 +#: common/models.py:1646 msgid "Internal Prices" msgstr "" -#: common/models.py:1641 +#: common/models.py:1647 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1646 +#: common/models.py:1652 msgid "Internal Price Override" msgstr "" -#: common/models.py:1648 +#: common/models.py:1654 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1654 +#: common/models.py:1660 msgid "Enable label printing" msgstr "" -#: common/models.py:1655 +#: common/models.py:1661 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1660 +#: common/models.py:1666 msgid "Label Image DPI" msgstr "" -#: common/models.py:1662 +#: common/models.py:1668 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1668 +#: common/models.py:1674 msgid "Enable Reports" msgstr "" -#: common/models.py:1669 +#: common/models.py:1675 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1674 templates/stats.html:25 +#: common/models.py:1680 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1675 +#: common/models.py:1681 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1680 +#: common/models.py:1686 msgid "Log Report Errors" msgstr "" -#: common/models.py:1681 +#: common/models.py:1687 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1686 plugin/builtin/labels/label_sheet.py:28 -#: report/models.py:203 +#: common/models.py:1692 plugin/builtin/labels/label_sheet.py:28 +#: report/models.py:302 msgid "Page Size" msgstr "" -#: common/models.py:1687 +#: common/models.py:1693 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1692 +#: common/models.py:1698 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1693 +#: common/models.py:1699 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1698 +#: common/models.py:1704 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1700 +#: common/models.py:1706 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1706 +#: common/models.py:1712 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1707 +#: common/models.py:1713 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1712 +#: common/models.py:1718 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1713 +#: common/models.py:1719 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1718 +#: common/models.py:1724 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1720 +#: common/models.py:1726 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1726 +#: common/models.py:1732 msgid "Batch Code Template" msgstr "" -#: common/models.py:1728 +#: common/models.py:1734 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1733 +#: common/models.py:1739 msgid "Stock Expiry" msgstr "" -#: common/models.py:1734 +#: common/models.py:1740 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1739 +#: common/models.py:1745 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1740 +#: common/models.py:1746 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1745 +#: common/models.py:1751 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1747 +#: common/models.py:1753 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1754 +#: common/models.py:1760 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1755 +#: common/models.py:1761 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1760 +#: common/models.py:1766 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1761 +#: common/models.py:1767 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1766 +#: common/models.py:1772 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1767 +#: common/models.py:1773 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1771 +#: common/models.py:1777 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1772 +#: common/models.py:1778 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1777 +#: common/models.py:1783 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1779 +#: common/models.py:1785 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1785 +#: common/models.py:1791 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1787 +#: common/models.py:1793 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1793 +#: common/models.py:1799 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1795 +#: common/models.py:1801 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1801 common/models.py:1829 common/models.py:1851 -#: common/models.py:1879 +#: common/models.py:1807 common/models.py:1835 common/models.py:1857 +#: common/models.py:1885 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1802 common/models.py:1830 common/models.py:1852 -#: common/models.py:1880 +#: common/models.py:1808 common/models.py:1836 common/models.py:1858 +#: common/models.py:1886 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1807 +#: common/models.py:1813 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1809 +#: common/models.py:1815 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1815 +#: common/models.py:1821 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1816 +#: common/models.py:1822 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1821 +#: common/models.py:1827 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1823 +#: common/models.py:1829 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1835 +#: common/models.py:1841 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1837 +#: common/models.py:1843 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1843 +#: common/models.py:1849 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1845 +#: common/models.py:1851 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1857 +#: common/models.py:1863 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1858 +#: common/models.py:1864 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1863 +#: common/models.py:1869 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1865 +#: common/models.py:1871 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1871 +#: common/models.py:1877 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1873 +#: common/models.py:1879 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1885 +#: common/models.py:1891 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1887 +#: common/models.py:1893 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1893 +#: common/models.py:1899 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1895 +#: common/models.py:1901 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1902 +#: common/models.py:1908 msgid "Enable password forgot" msgstr "" -#: common/models.py:1903 +#: common/models.py:1909 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1908 +#: common/models.py:1914 msgid "Enable registration" msgstr "" -#: common/models.py:1909 +#: common/models.py:1915 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1914 +#: common/models.py:1920 msgid "Enable SSO" msgstr "" -#: common/models.py:1915 +#: common/models.py:1921 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1920 +#: common/models.py:1926 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1922 +#: common/models.py:1928 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1928 +#: common/models.py:1934 msgid "Email required" msgstr "" -#: common/models.py:1929 +#: common/models.py:1935 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1934 +#: common/models.py:1940 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1936 +#: common/models.py:1942 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1942 +#: common/models.py:1948 msgid "Mail twice" msgstr "" -#: common/models.py:1943 +#: common/models.py:1949 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1948 +#: common/models.py:1954 msgid "Password twice" msgstr "" -#: common/models.py:1949 +#: common/models.py:1955 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1954 +#: common/models.py:1960 msgid "Allowed domains" msgstr "" -#: common/models.py:1956 +#: common/models.py:1962 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1962 +#: common/models.py:1968 msgid "Group on signup" msgstr "" -#: common/models.py:1963 +#: common/models.py:1969 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1968 +#: common/models.py:1974 msgid "Enforce MFA" msgstr "" -#: common/models.py:1969 +#: common/models.py:1975 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1974 +#: common/models.py:1980 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1976 +#: common/models.py:1982 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1984 +#: common/models.py:1990 msgid "Check for plugin updates" msgstr "" -#: common/models.py:1985 +#: common/models.py:1991 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:1991 +#: common/models.py:1997 msgid "Enable URL integration" msgstr "" -#: common/models.py:1992 +#: common/models.py:1998 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1998 +#: common/models.py:2004 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1999 +#: common/models.py:2005 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2005 +#: common/models.py:2011 msgid "Enable app integration" msgstr "" -#: common/models.py:2006 +#: common/models.py:2012 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2012 +#: common/models.py:2018 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2013 +#: common/models.py:2019 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2019 +#: common/models.py:2025 msgid "Enable event integration" msgstr "" -#: common/models.py:2020 +#: common/models.py:2026 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2026 +#: common/models.py:2032 msgid "Enable project codes" msgstr "" -#: common/models.py:2027 +#: common/models.py:2033 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2032 +#: common/models.py:2038 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2034 +#: common/models.py:2040 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2040 +#: common/models.py:2046 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2042 +#: common/models.py:2048 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2048 +#: common/models.py:2054 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2050 +#: common/models.py:2056 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2056 +#: common/models.py:2062 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2058 +#: common/models.py:2064 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2065 +#: common/models.py:2071 msgid "Display Users full names" msgstr "" -#: common/models.py:2066 +#: common/models.py:2072 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2071 +#: common/models.py:2077 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2072 +#: common/models.py:2078 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2084 common/models.py:2494 +#: common/models.py:2090 common/models.py:2500 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2127 +#: common/models.py:2133 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2129 +#: common/models.py:2135 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2135 +#: common/models.py:2141 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2136 +#: common/models.py:2142 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2141 +#: common/models.py:2147 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2142 +#: common/models.py:2148 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2147 +#: common/models.py:2153 msgid "Show latest parts" msgstr "" -#: common/models.py:2148 +#: common/models.py:2154 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2153 +#: common/models.py:2159 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2154 +#: common/models.py:2160 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2159 +#: common/models.py:2165 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2160 +#: common/models.py:2166 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2165 +#: common/models.py:2171 msgid "Show low stock" msgstr "" -#: common/models.py:2166 +#: common/models.py:2172 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2171 +#: common/models.py:2177 msgid "Show depleted stock" msgstr "" -#: common/models.py:2172 +#: common/models.py:2178 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2177 +#: common/models.py:2183 msgid "Show needed stock" msgstr "" -#: common/models.py:2178 +#: common/models.py:2184 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2183 +#: common/models.py:2189 msgid "Show expired stock" msgstr "" -#: common/models.py:2184 +#: common/models.py:2190 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2189 +#: common/models.py:2195 msgid "Show stale stock" msgstr "" -#: common/models.py:2190 +#: common/models.py:2196 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2195 +#: common/models.py:2201 msgid "Show pending builds" msgstr "" -#: common/models.py:2196 +#: common/models.py:2202 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2201 +#: common/models.py:2207 msgid "Show overdue builds" msgstr "" -#: common/models.py:2202 +#: common/models.py:2208 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2207 +#: common/models.py:2213 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2208 +#: common/models.py:2214 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2213 +#: common/models.py:2219 msgid "Show overdue POs" msgstr "" -#: common/models.py:2214 +#: common/models.py:2220 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2219 +#: common/models.py:2225 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2220 +#: common/models.py:2226 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2225 +#: common/models.py:2231 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2226 +#: common/models.py:2232 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2231 +#: common/models.py:2237 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2232 +#: common/models.py:2238 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2237 +#: common/models.py:2243 msgid "Show News" msgstr "" -#: common/models.py:2238 +#: common/models.py:2244 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2243 +#: common/models.py:2249 msgid "Inline label display" msgstr "" -#: common/models.py:2245 +#: common/models.py:2251 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2251 +#: common/models.py:2257 msgid "Default label printer" msgstr "" -#: common/models.py:2253 +#: common/models.py:2259 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2259 +#: common/models.py:2265 msgid "Inline report display" msgstr "" -#: common/models.py:2261 +#: common/models.py:2267 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2267 +#: common/models.py:2273 msgid "Search Parts" msgstr "" -#: common/models.py:2268 +#: common/models.py:2274 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2273 +#: common/models.py:2279 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2274 +#: common/models.py:2280 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2279 +#: common/models.py:2285 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2280 +#: common/models.py:2286 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2285 +#: common/models.py:2291 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2286 +#: common/models.py:2292 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2291 +#: common/models.py:2297 msgid "Search Categories" msgstr "" -#: common/models.py:2292 +#: common/models.py:2298 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2297 +#: common/models.py:2303 msgid "Search Stock" msgstr "" -#: common/models.py:2298 +#: common/models.py:2304 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2303 +#: common/models.py:2309 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2305 +#: common/models.py:2311 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2311 +#: common/models.py:2317 msgid "Search Locations" msgstr "" -#: common/models.py:2312 +#: common/models.py:2318 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2317 +#: common/models.py:2323 msgid "Search Companies" msgstr "" -#: common/models.py:2318 +#: common/models.py:2324 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2323 +#: common/models.py:2329 msgid "Search Build Orders" msgstr "" -#: common/models.py:2324 +#: common/models.py:2330 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2329 +#: common/models.py:2335 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2330 +#: common/models.py:2336 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2335 +#: common/models.py:2341 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2337 +#: common/models.py:2343 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2343 +#: common/models.py:2349 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2344 +#: common/models.py:2350 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2349 +#: common/models.py:2355 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2351 +#: common/models.py:2357 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2357 +#: common/models.py:2363 msgid "Search Return Orders" msgstr "" -#: common/models.py:2358 +#: common/models.py:2364 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2363 +#: common/models.py:2369 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2365 +#: common/models.py:2371 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2371 +#: common/models.py:2377 msgid "Search Preview Results" msgstr "" -#: common/models.py:2373 +#: common/models.py:2379 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2379 +#: common/models.py:2385 msgid "Regex Search" msgstr "" -#: common/models.py:2380 +#: common/models.py:2386 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2385 +#: common/models.py:2391 msgid "Whole Word Search" msgstr "" -#: common/models.py:2386 +#: common/models.py:2392 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2391 +#: common/models.py:2397 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2392 +#: common/models.py:2398 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2397 +#: common/models.py:2403 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2398 +#: common/models.py:2404 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2403 +#: common/models.py:2409 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2404 +#: common/models.py:2410 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2409 +#: common/models.py:2415 msgid "Date Format" msgstr "" -#: common/models.py:2410 +#: common/models.py:2416 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2423 part/templates/part/detail.html:41 +#: common/models.py:2429 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2424 +#: common/models.py:2430 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2429 part/templates/part/detail.html:62 +#: common/models.py:2435 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2431 +#: common/models.py:2437 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2437 +#: common/models.py:2443 msgid "Table String Length" msgstr "" -#: common/models.py:2439 +#: common/models.py:2445 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2445 +#: common/models.py:2451 msgid "Default part label template" msgstr "" -#: common/models.py:2446 +#: common/models.py:2452 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2451 +#: common/models.py:2457 msgid "Default stock item template" msgstr "" -#: common/models.py:2453 +#: common/models.py:2459 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2459 +#: common/models.py:2465 msgid "Default stock location label template" msgstr "" -#: common/models.py:2461 +#: common/models.py:2467 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2467 +#: common/models.py:2473 msgid "Default build line label template" msgstr "" -#: common/models.py:2469 +#: common/models.py:2475 msgid "The build line label template to be automatically selected" msgstr "" -#: common/models.py:2475 +#: common/models.py:2481 msgid "Receive error reports" msgstr "" -#: common/models.py:2476 +#: common/models.py:2482 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2481 +#: common/models.py:2487 msgid "Last used printing machines" msgstr "" -#: common/models.py:2482 +#: common/models.py:2488 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2525 +#: common/models.py:2531 msgid "Price break quantity" msgstr "" -#: common/models.py:2532 company/serializers.py:496 order/admin.py:42 -#: order/models.py:1333 order/models.py:2243 +#: common/models.py:2538 company/serializers.py:496 order/admin.py:42 +#: order/models.py:1373 order/models.py:2292 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 -#: templates/js/translated/return_order.js:741 +#: templates/js/translated/return_order.js:740 msgid "Price" msgstr "" -#: common/models.py:2533 +#: common/models.py:2539 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2704 common/models.py:2889 +#: common/models.py:2710 common/models.py:2895 msgid "Endpoint" msgstr "" -#: common/models.py:2705 +#: common/models.py:2711 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2715 +#: common/models.py:2721 msgid "Name for this webhook" msgstr "" -#: common/models.py:2719 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1045 -#: plugin/models.py:56 templates/js/translated/company.js:523 +#: common/models.py:2725 company/models.py:160 company/models.py:814 +#: machine/models.py:39 part/admin.py:88 part/models.py:1088 +#: plugin/models.py:65 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:492 @@ -3614,135 +3628,135 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2719 +#: common/models.py:2725 msgid "Is this webhook active" msgstr "" -#: common/models.py:2735 users/models.py:159 +#: common/models.py:2741 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2736 +#: common/models.py:2742 msgid "Token for access" msgstr "" -#: common/models.py:2744 +#: common/models.py:2750 msgid "Secret" msgstr "" -#: common/models.py:2745 +#: common/models.py:2751 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2853 +#: common/models.py:2859 msgid "Message ID" msgstr "" -#: common/models.py:2854 +#: common/models.py:2860 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2862 +#: common/models.py:2868 msgid "Host" msgstr "" -#: common/models.py:2863 +#: common/models.py:2869 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2871 +#: common/models.py:2877 msgid "Header" msgstr "" -#: common/models.py:2872 +#: common/models.py:2878 msgid "Header of this message" msgstr "" -#: common/models.py:2879 +#: common/models.py:2885 msgid "Body" msgstr "" -#: common/models.py:2880 +#: common/models.py:2886 msgid "Body of this message" msgstr "" -#: common/models.py:2890 +#: common/models.py:2896 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2895 +#: common/models.py:2901 msgid "Worked on" msgstr "" -#: common/models.py:2896 +#: common/models.py:2902 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3022 +#: common/models.py:3028 msgid "Id" msgstr "" -#: common/models.py:3024 templates/js/translated/company.js:965 +#: common/models.py:3030 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3028 templates/js/translated/news.js:60 +#: common/models.py:3034 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3030 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3036 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3032 templates/js/translated/news.js:52 +#: common/models.py:3038 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3035 +#: common/models.py:3041 msgid "Read" msgstr "" -#: common/models.py:3035 +#: common/models.py:3041 msgid "Was this news item read?" msgstr "" -#: common/models.py:3052 company/models.py:156 part/models.py:929 +#: common/models.py:3058 company/models.py:156 part/models.py:972 #: 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 +#: report/templates/report/inventree_return_order_report.html:35 #: stock/templates/stock/item_base.html:133 templates/503.html:31 #: templates/hover_image.html:7 templates/hover_image.html:9 #: templates/modals.html:6 msgid "Image" msgstr "" -#: common/models.py:3052 +#: common/models.py:3058 msgid "Image file" msgstr "" -#: common/models.py:3094 +#: common/models.py:3100 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3113 +#: common/models.py:3119 msgid "Unit name" msgstr "" -#: common/models.py:3120 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3126 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3121 +#: common/models.py:3127 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3128 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3134 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3129 +#: common/models.py:3135 msgid "Unit definition" msgstr "" @@ -3929,9 +3943,9 @@ msgid "Contact email address" msgstr "" #: company/models.py:139 company/templates/company/company_base.html:145 -#: order/models.py:331 order/templates/order/order_base.html:203 +#: order/models.py:344 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 -#: order/templates/order/sales_order_base.html:214 +#: order/templates/order/sales_order_base.html:218 msgid "Contact" msgstr "" @@ -3977,7 +3991,7 @@ msgstr "" #: company/models.py:273 company/models.py:382 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:776 +#: company/templates/company/company_base.html:12 stock/api.py:810 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "" @@ -4069,8 +4083,8 @@ msgstr "" msgid "Link to address information (external)" msgstr "" -#: company/models.py:489 company/models.py:792 stock/models.py:751 -#: stock/serializers.py:266 stock/templates/stock/item_base.html:142 +#: company/models.py:489 company/models.py:792 stock/models.py:772 +#: stock/serializers.py:395 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -4081,7 +4095,7 @@ msgstr "" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:515 +#: company/templates/company/supplier_part.html:145 part/serializers.py:530 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4096,13 +4110,13 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:525 +#: company/templates/company/supplier_part.html:153 part/serializers.py:540 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800 -#: templates/js/translated/purchase_order.js:1852 -#: templates/js/translated/purchase_order.js:2054 +#: templates/js/translated/purchase_order.js:1851 +#: templates/js/translated/purchase_order.js:2053 msgid "MPN" msgstr "" @@ -4129,9 +4143,8 @@ msgstr "" msgid "Parameter name" msgstr "" -#: company/models.py:621 -#: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2448 templates/js/translated/company.js:1166 +#: company/models.py:621 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2425 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492 #: templates/js/translated/stock.js:1522 msgid "Value" @@ -4142,10 +4155,10 @@ msgid "Parameter value" msgstr "" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1009 part/models.py:3623 +#: part/admin.py:57 part/models.py:1052 part/models.py:3666 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 -#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370 +#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 msgid "Units" msgstr "" @@ -4166,9 +4179,9 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:465 +#: company/templates/company/supplier_part.html:129 order/models.py:487 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:499 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:514 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4176,7 +4189,7 @@ msgstr "" #: templates/js/translated/company.js:511 #: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1690 +#: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/table_filters.js:804 msgid "Supplier" msgstr "" @@ -4185,7 +4198,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:809 part/serializers.py:510 +#: company/models.py:809 part/serializers.py:525 msgid "Supplier stock keeping unit" msgstr "" @@ -4206,29 +4219,29 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:418 part/models.py:4070 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4113 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 -#: report/templates/report/inventree_slr_report.html:105 -#: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:579 +#: report/templates/report/inventree_purchase_order_report.html:32 +#: report/templates/report/inventree_return_order_report.html:27 +#: report/templates/report/inventree_sales_order_report.html:32 +#: report/templates/report/inventree_stock_location_report.html:105 +#: stock/serializers.py:708 msgid "Note" msgstr "" -#: company/models.py:857 part/models.py:1967 +#: company/models.py:857 part/models.py:2010 msgid "base cost" msgstr "" -#: company/models.py:858 part/models.py:1968 +#: company/models.py:858 part/models.py:2011 msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:782 stock/serializers.py:1350 +#: stock/admin.py:224 stock/models.py:803 stock/serializers.py:1479 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 -#: templates/js/translated/stock.js:2426 +#: templates/js/translated/stock.js:2424 msgid "Packaging" msgstr "" @@ -4241,8 +4254,8 @@ msgstr "" #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 -#: templates/js/translated/purchase_order.js:2085 -#: templates/js/translated/purchase_order.js:2102 +#: templates/js/translated/purchase_order.js:2084 +#: templates/js/translated/purchase_order.js:2101 msgid "Pack Quantity" msgstr "" @@ -4250,7 +4263,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:892 part/models.py:1974 +#: company/models.py:892 part/models.py:2017 msgid "multiple" msgstr "" @@ -4285,7 +4298,7 @@ msgstr "" #: part/templates/part/part_base.html:146 #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 -#: templates/js/translated/model_renderers.js:306 +#: templates/js/translated/model_renderers.js:312 #: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 msgid "Inactive" msgstr "" @@ -4321,11 +4334,11 @@ msgstr "" #: company/templates/company/manufacturer_part.html:51 #: company/templates/company/supplier_part.html:83 #: part/templates/part/part_thumb.html:20 -#: report/templates/report/inventree_build_order_base.html:98 -#: report/templates/report/inventree_po_report_base.html:40 -#: report/templates/report/inventree_so_report_base.html:40 -#: report/templates/report/inventree_test_report_base.html:84 -#: report/templates/report/inventree_test_report_base.html:163 +#: report/templates/report/inventree_build_order_report.html:98 +#: report/templates/report/inventree_purchase_order_report.html:40 +#: report/templates/report/inventree_sales_order_report.html:40 +#: report/templates/report/inventree_test_report.html:84 +#: report/templates/report/inventree_test_report.html:163 msgid "Part image" msgstr "" @@ -4344,16 +4357,16 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:92 order/models.py:910 -#: order/models.py:2010 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:144 stock/models.py:804 -#: stock/models.py:805 stock/serializers.py:1100 +#: company/templates/company/company_base.html:92 order/models.py:941 +#: order/models.py:2059 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:148 stock/models.py:825 +#: stock/models.py:826 stock/serializers.py:1229 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 -#: templates/js/translated/return_order.js:296 -#: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2962 +#: templates/js/translated/return_order.js:295 +#: templates/js/translated/sales_order.js:820 +#: templates/js/translated/stock.js:2959 #: templates/js/translated/table_filters.js:808 msgid "Customer" msgstr "" @@ -4362,10 +4375,10 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:124 order/models.py:341 +#: company/templates/company/company_base.html:124 order/models.py:354 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 -#: order/templates/order/sales_order_base.html:221 +#: order/templates/order/sales_order_base.html:225 msgid "Address" msgstr "" @@ -4374,7 +4387,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:211 -#: part/templates/part/part_base.html:528 +#: part/templates/part/part_base.html:527 msgid "Remove Image" msgstr "" @@ -4383,19 +4396,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:214 -#: part/templates/part/part_base.html:531 +#: part/templates/part/part_base.html:530 #: templates/InvenTree/settings/user.html:88 #: templates/InvenTree/settings/user_sso.html:43 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:243 -#: part/templates/part/part_base.html:560 +#: part/templates/part/part_base.html:559 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:258 -#: part/templates/part/part_base.html:614 +#: part/templates/part/part_base.html:613 msgid "Download Image" msgstr "" @@ -4558,7 +4571,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:821 +#: part/admin.py:122 part/serializers.py:836 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4609,10 +4622,10 @@ msgstr "" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:452 -#: stock/models.py:762 stock/templates/stock/item_base.html:233 +#: stock/models.py:783 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 -#: templates/js/translated/stock.js:2282 +#: templates/js/translated/stock.js:2280 msgid "Supplier Part" msgstr "" @@ -4658,11 +4671,11 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:509 +#: part/bom.py:311 part/serializers.py:524 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1851 -#: templates/js/translated/purchase_order.js:2029 +#: templates/js/translated/purchase_order.js:1850 +#: templates/js/translated/purchase_order.js:2028 msgid "SKU" msgstr "" @@ -4671,12 +4684,12 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:209 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:199 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:206 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:200 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:207 #: templates/js/translated/stock.js:537 msgid "New Stock Item" msgstr "" @@ -4708,16 +4721,16 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:820 part/stocktake.py:223 +#: part/serializers.py:835 part/stocktake.py:223 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:787 stock/serializers.py:951 +#: stock/serializers.py:916 stock/serializers.py:1080 #: stock/templates/stock/location.html:170 -#: stock/templates/stock/location.html:184 -#: stock/templates/stock/location.html:196 +#: stock/templates/stock/location.html:191 +#: stock/templates/stock/location.html:203 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2769 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 #: users/models.py:206 msgid "Stock Items" msgstr "" @@ -4751,126 +4764,48 @@ msgstr "" msgid "New Company" msgstr "" -#: label/api.py:247 -msgid "Error printing label" -msgstr "" - -#: label/models.py:120 -msgid "Label name" -msgstr "" - -#: label/models.py:128 -msgid "Label description" -msgstr "" - -#: label/models.py:136 -msgid "Label" -msgstr "" - -#: label/models.py:137 -msgid "Label template file" -msgstr "" - -#: label/models.py:143 part/models.py:3494 report/models.py:324 -#: templates/js/translated/part.js:2900 -#: templates/js/translated/table_filters.js:481 -msgid "Enabled" -msgstr "" - -#: label/models.py:144 -msgid "Label template is enabled" -msgstr "" - -#: label/models.py:149 -msgid "Width [mm]" -msgstr "" - -#: label/models.py:150 -msgid "Label width, specified in mm" -msgstr "" - -#: label/models.py:156 -msgid "Height [mm]" -msgstr "" - -#: label/models.py:157 -msgid "Label height, specified in mm" -msgstr "" - -#: label/models.py:163 report/models.py:317 -msgid "Filename Pattern" -msgstr "" - -#: label/models.py:164 -msgid "Pattern for generating label filenames" -msgstr "" - -#: label/models.py:313 label/models.py:352 label/models.py:377 -#: label/models.py:412 -msgid "Query filters (comma-separated list of key=value pairs)" -msgstr "" - -#: label/models.py:314 label/models.py:353 label/models.py:378 -#: label/models.py:413 report/models.py:345 report/models.py:496 -#: report/models.py:532 report/models.py:568 report/models.py:750 -msgid "Filters" -msgstr "" - -#: label/templates/label/part/part_label.html:31 -#: label/templates/label/stockitem/qr.html:21 -#: label/templates/label/stocklocation/qr.html:20 -#: templates/allauth_2fa/setup.html:18 -msgid "QR Code" -msgstr "" - -#: label/templates/label/part/part_label_code128.html:31 -#: label/templates/label/stocklocation/qr_and_text.html:31 -#: templates/qr_code.html:7 -msgid "QR code" -msgstr "" - -#: machine/machine_types/label_printer.py:217 +#: machine/machine_types/label_printer.py:218 msgid "Copies" msgstr "" -#: machine/machine_types/label_printer.py:218 +#: machine/machine_types/label_printer.py:219 msgid "Number of copies to print for each label" msgstr "" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:234 msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:234 order/api.py:1515 -#: templates/js/translated/sales_order.js:1042 +#: machine/machine_types/label_printer.py:235 order/api.py:1515 +#: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "" -#: machine/machine_types/label_printer.py:235 +#: machine/machine_types/label_printer.py:236 msgid "Printing" msgstr "" -#: machine/machine_types/label_printer.py:236 +#: machine/machine_types/label_printer.py:237 msgid "No media" msgstr "" -#: machine/machine_types/label_printer.py:237 +#: machine/machine_types/label_printer.py:238 msgid "Disconnected" msgstr "" -#: machine/machine_types/label_printer.py:244 +#: machine/machine_types/label_printer.py:245 msgid "Label Printer" msgstr "" -#: machine/machine_types/label_printer.py:245 +#: machine/machine_types/label_printer.py:246 msgid "Directly print labels for various items." msgstr "" -#: machine/machine_types/label_printer.py:251 +#: machine/machine_types/label_printer.py:252 msgid "Printer Location" msgstr "" -#: machine/machine_types/label_printer.py:252 +#: machine/machine_types/label_printer.py:253 msgid "Scope the printer to a specific location" msgstr "" @@ -4930,19 +4865,19 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:89 -#: report/templates/report/inventree_po_report_base.html:31 -#: report/templates/report/inventree_so_report_base.html:31 +#: order/admin.py:30 order/models.py:90 +#: report/templates/report/inventree_purchase_order_report.html:31 +#: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2126 -#: templates/js/translated/sales_order.js:1847 +#: templates/js/translated/purchase_order.js:2125 +#: templates/js/translated/sales_order.js:1883 msgid "Total Price" msgstr "" #: order/api.py:161 order/serializers.py:91 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 -#: order/templates/order/sales_order_base.html:118 +#: order/templates/order/sales_order_base.html:122 msgid "Order Status" msgstr "" @@ -4955,10 +4890,10 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:437 order/api.py:817 order/models.py:1382 order/models.py:1491 -#: order/models.py:1537 order/models.py:1651 order/models.py:1805 -#: order/models.py:2209 order/models.py:2260 -#: templates/js/translated/sales_order.js:1488 +#: order/api.py:437 order/api.py:817 order/models.py:1422 order/models.py:1531 +#: order/models.py:1577 order/models.py:1691 order/models.py:1845 +#: order/models.py:2258 order/models.py:2309 +#: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" @@ -4970,402 +4905,398 @@ msgstr "" msgid "Order Pending" msgstr "" -#: order/api.py:1509 order/models.py:1383 order/models.py:1492 -#: order/templates/order/order_base.html:9 +#: order/api.py:1509 order/models.py:381 order/models.py:1423 +#: order/models.py:1532 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 -#: report/templates/report/inventree_po_report_base.html:14 -#: stock/templates/stock/item_base.html:176 +#: report/templates/report/inventree_purchase_order_report.html:14 +#: stock/serializers.py:119 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 -#: templates/js/translated/purchase_order.js:1674 -#: templates/js/translated/stock.js:2262 templates/js/translated/stock.js:2910 +#: templates/js/translated/purchase_order.js:1673 +#: templates/js/translated/stock.js:2260 templates/js/translated/stock.js:2907 msgid "Purchase Order" msgstr "" -#: order/api.py:1513 order/models.py:2210 order/models.py:2261 -#: order/templates/order/return_order_base.html:9 +#: order/api.py:1513 order/models.py:2008 order/models.py:2259 +#: order/models.py:2310 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:281 -#: templates/js/translated/stock.js:2944 +#: report/templates/report/inventree_return_order_report.html:13 +#: templates/js/translated/return_order.js:280 +#: templates/js/translated/stock.js:2941 msgid "Return Order" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:96 order/serializers.py:71 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:99 order/serializers.py:72 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:246 +#: order/models.py:248 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:278 +#: order/models.py:291 msgid "Order description (optional)" msgstr "" -#: order/models.py:287 +#: order/models.py:300 msgid "Select project code for this order" msgstr "" -#: order/models.py:291 order/models.py:1288 order/models.py:1704 +#: order/models.py:304 order/models.py:1328 order/models.py:1744 msgid "Link to external page" msgstr "" -#: order/models.py:299 +#: order/models.py:312 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:313 +#: order/models.py:326 msgid "Created By" msgstr "" -#: order/models.py:321 +#: order/models.py:334 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:332 +#: order/models.py:345 msgid "Point of contact for this order" msgstr "" -#: order/models.py:342 +#: order/models.py:355 msgid "Company address for this order" msgstr "" -#: order/models.py:443 order/models.py:899 +#: order/models.py:465 order/models.py:930 msgid "Order reference" msgstr "" -#: order/models.py:451 order/models.py:923 +#: order/models.py:473 order/models.py:954 msgid "Purchase order status" msgstr "" -#: order/models.py:466 +#: order/models.py:488 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:477 order/templates/order/order_base.html:148 -#: templates/js/translated/purchase_order.js:1703 +#: order/models.py:499 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1702 msgid "Supplier Reference" msgstr "" -#: order/models.py:478 +#: order/models.py:500 msgid "Supplier order reference code" msgstr "" -#: order/models.py:487 +#: order/models.py:509 msgid "received by" msgstr "" -#: order/models.py:493 order/models.py:2036 +#: order/models.py:515 order/models.py:2085 msgid "Issue Date" msgstr "" -#: order/models.py:494 order/models.py:2037 +#: order/models.py:516 order/models.py:2086 msgid "Date order was issued" msgstr "" -#: order/models.py:501 order/models.py:2044 +#: order/models.py:523 order/models.py:2093 msgid "Date order was completed" msgstr "" -#: order/models.py:545 +#: order/models.py:567 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:739 +#: order/models.py:761 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:911 +#: order/models.py:942 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:934 order/models.py:2029 +#: order/models.py:965 order/models.py:2078 msgid "Customer Reference " msgstr "" -#: order/models.py:935 order/models.py:2030 +#: order/models.py:966 order/models.py:2079 msgid "Customer order reference code" msgstr "" -#: order/models.py:939 order/models.py:1658 -#: templates/js/translated/sales_order.js:843 -#: templates/js/translated/sales_order.js:1024 +#: order/models.py:970 order/models.py:1698 +#: templates/js/translated/sales_order.js:879 +#: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "" -#: order/models.py:948 +#: order/models.py:979 msgid "shipped by" msgstr "" -#: order/models.py:999 -msgid "Order cannot be completed as no parts have been assigned" -msgstr "" - -#: order/models.py:1004 +#: order/models.py:1029 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1008 templates/js/translated/sales_order.js:506 +#: order/models.py:1033 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1013 +#: order/models.py:1038 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1260 +#: order/models.py:1300 msgid "Item quantity" msgstr "" -#: order/models.py:1277 +#: order/models.py:1317 msgid "Line item reference" msgstr "" -#: order/models.py:1284 +#: order/models.py:1324 msgid "Line item notes" msgstr "" -#: order/models.py:1296 +#: order/models.py:1336 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1317 +#: order/models.py:1357 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1323 +#: order/models.py:1363 msgid "Context" msgstr "" -#: order/models.py:1324 +#: order/models.py:1364 msgid "Additional context for this line" msgstr "" -#: order/models.py:1334 +#: order/models.py:1374 msgid "Unit price" msgstr "" -#: order/models.py:1367 +#: order/models.py:1407 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1374 +#: order/models.py:1414 msgid "deleted" msgstr "" -#: order/models.py:1402 +#: order/models.py:1442 msgid "Supplier part" msgstr "" -#: order/models.py:1409 order/templates/order/order_base.html:196 +#: order/models.py:1449 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 #: templates/js/translated/purchase_order.js:1306 -#: templates/js/translated/purchase_order.js:2170 -#: templates/js/translated/return_order.js:764 +#: templates/js/translated/purchase_order.js:2169 +#: templates/js/translated/return_order.js:763 #: templates/js/translated/table_filters.js:120 #: templates/js/translated/table_filters.js:602 msgid "Received" msgstr "" -#: order/models.py:1410 +#: order/models.py:1450 msgid "Number of items received" msgstr "" -#: order/models.py:1418 stock/models.py:923 stock/serializers.py:400 +#: order/models.py:1458 stock/models.py:944 stock/serializers.py:529 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2313 +#: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "" -#: order/models.py:1419 +#: order/models.py:1459 msgid "Unit purchase price" msgstr "" -#: order/models.py:1434 +#: order/models.py:1474 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1525 +#: order/models.py:1565 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1530 +#: order/models.py:1570 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1556 part/templates/part/part_pricing.html:107 +#: order/models.py:1596 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1557 +#: order/models.py:1597 msgid "Unit sale price" msgstr "" -#: order/models.py:1567 +#: order/models.py:1607 msgid "Shipped quantity" msgstr "" -#: order/models.py:1659 +#: order/models.py:1699 msgid "Date of shipment" msgstr "" -#: order/models.py:1665 templates/js/translated/sales_order.js:1036 +#: order/models.py:1705 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1666 +#: order/models.py:1706 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1674 +#: order/models.py:1714 msgid "Checked By" msgstr "" -#: order/models.py:1675 +#: order/models.py:1715 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1682 order/models.py:1895 order/serializers.py:1354 -#: order/serializers.py:1464 templates/js/translated/model_renderers.js:448 +#: order/models.py:1722 order/models.py:1935 order/serializers.py:1354 +#: order/serializers.py:1464 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" -#: order/models.py:1683 +#: order/models.py:1723 msgid "Shipment number" msgstr "" -#: order/models.py:1691 +#: order/models.py:1731 msgid "Tracking Number" msgstr "" -#: order/models.py:1692 +#: order/models.py:1732 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1699 +#: order/models.py:1739 msgid "Invoice Number" msgstr "" -#: order/models.py:1700 +#: order/models.py:1740 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1720 +#: order/models.py:1760 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1723 +#: order/models.py:1763 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1841 order/models.py:1843 +#: order/models.py:1881 order/models.py:1883 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1850 +#: order/models.py:1890 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1853 +#: order/models.py:1893 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1856 +#: order/models.py:1896 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1875 order/serializers.py:1231 +#: order/models.py:1915 order/serializers.py:1231 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1878 +#: order/models.py:1918 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1879 plugin/base/barcodes/api.py:481 +#: order/models.py:1919 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1887 +#: order/models.py:1927 msgid "Line" msgstr "" -#: order/models.py:1896 +#: order/models.py:1936 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1909 order/models.py:2217 -#: templates/js/translated/return_order.js:722 +#: order/models.py:1949 order/models.py:2266 +#: templates/js/translated/return_order.js:721 msgid "Item" msgstr "" -#: order/models.py:1910 +#: order/models.py:1950 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1919 +#: order/models.py:1959 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1999 +#: order/models.py:2048 msgid "Return Order reference" msgstr "" -#: order/models.py:2011 +#: order/models.py:2060 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2023 +#: order/models.py:2072 msgid "Return order status" msgstr "" -#: order/models.py:2202 +#: order/models.py:2251 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2218 +#: order/models.py:2267 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2224 +#: order/models.py:2273 msgid "Received Date" msgstr "" -#: order/models.py:2225 +#: order/models.py:2274 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2236 templates/js/translated/return_order.js:733 +#: order/models.py:2285 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2237 +#: order/models.py:2286 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2244 +#: order/models.py:2293 msgid "Cost associated with return or repair for this line item" msgstr "" #: order/serializers.py:80 order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 -#: report/templates/report/inventree_po_report_base.html:22 -#: report/templates/report/inventree_return_order_report_base.html:19 -#: report/templates/report/inventree_so_report_base.html:22 +#: report/templates/report/inventree_purchase_order_report.html:22 +#: report/templates/report/inventree_return_order_report.html:19 +#: report/templates/report/inventree_sales_order_report.html:22 msgid "Line Items" msgstr "" @@ -5595,7 +5526,7 @@ msgstr "" #: order/templates/order/order_base.html:84 #: order/templates/order/return_order_base.html:87 -#: order/templates/order/sales_order_base.html:93 +#: order/templates/order/sales_order_base.html:97 msgid "Complete Order" msgstr "" @@ -5605,13 +5536,13 @@ msgstr "" #: order/templates/order/order_base.html:106 #: order/templates/order/return_order_base.html:101 -#: order/templates/order/sales_order_base.html:106 +#: order/templates/order/sales_order_base.html:110 msgid "Order Reference" msgstr "" #: order/templates/order/order_base.html:111 #: order/templates/order/return_order_base.html:106 -#: order/templates/order/sales_order_base.html:111 +#: order/templates/order/sales_order_base.html:115 msgid "Order Description" msgstr "" @@ -5620,19 +5551,19 @@ msgid "No suppplier information available" msgstr "" #: order/templates/order/order_base.html:154 -#: order/templates/order/sales_order_base.html:157 +#: order/templates/order/sales_order_base.html:161 msgid "Completed Line Items" msgstr "" #: order/templates/order/order_base.html:160 -#: order/templates/order/sales_order_base.html:163 -#: order/templates/order/sales_order_base.html:173 +#: order/templates/order/sales_order_base.html:167 +#: order/templates/order/sales_order_base.html:177 msgid "Incomplete" msgstr "" #: order/templates/order/order_base.html:179 #: order/templates/order/return_order_base.html:157 -#: report/templates/report/inventree_build_order_base.html:121 +#: report/templates/report/inventree_build_order_report.html:121 msgid "Issued" msgstr "" @@ -5642,15 +5573,15 @@ msgstr "" #: order/templates/order/order_base.html:228 #: order/templates/order/return_order_base.html:199 -#: order/templates/order/sales_order_base.html:239 +#: order/templates/order/sales_order_base.html:243 msgid "Total cost could not be calculated" msgstr "" -#: order/templates/order/order_base.html:318 +#: order/templates/order/order_base.html:314 msgid "Purchase Order QR Code" msgstr "" -#: order/templates/order/order_base.html:330 +#: order/templates/order/order_base.html:326 msgid "Link Barcode to Purchase Order" msgstr "" @@ -5707,8 +5638,8 @@ msgstr "" #: templates/js/translated/build.js:1629 #: templates/js/translated/purchase_order.js:696 #: templates/js/translated/purchase_order.js:1236 -#: templates/js/translated/return_order.js:506 -#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/return_order.js:505 +#: templates/js/translated/sales_order.js:1145 #: templates/js/translated/stock.js:714 templates/js/translated/stock.js:883 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -5762,7 +5693,7 @@ msgstr "" #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 #: templates/js/translated/purchase_order.js:414 -#: templates/js/translated/return_order.js:459 +#: templates/js/translated/return_order.js:458 #: templates/js/translated/sales_order.js:237 msgid "Add Line Item" msgstr "" @@ -5811,30 +5742,30 @@ msgid "Print packing list" msgstr "" #: order/templates/order/return_order_base.html:138 -#: order/templates/order/sales_order_base.html:151 -#: templates/js/translated/return_order.js:309 -#: templates/js/translated/sales_order.js:797 +#: order/templates/order/sales_order_base.html:155 +#: templates/js/translated/return_order.js:308 +#: templates/js/translated/sales_order.js:833 msgid "Customer Reference" msgstr "" #: order/templates/order/return_order_base.html:195 -#: order/templates/order/sales_order_base.html:235 +#: order/templates/order/sales_order_base.html:239 #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1072 -#: templates/js/translated/purchase_order.js:1753 -#: templates/js/translated/return_order.js:381 -#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/purchase_order.js:1752 +#: templates/js/translated/return_order.js:380 +#: templates/js/translated/sales_order.js:891 msgid "Total Cost" msgstr "" -#: order/templates/order/return_order_base.html:263 +#: order/templates/order/return_order_base.html:259 msgid "Return Order QR Code" msgstr "" -#: order/templates/order/return_order_base.html:275 +#: order/templates/order/return_order_base.html:271 msgid "Link Barcode to Return Order" msgstr "" @@ -5852,25 +5783,30 @@ msgid "Ship Items" msgstr "" #: order/templates/order/sales_order_base.html:92 -#: templates/js/translated/sales_order.js:484 +#: order/templates/order/sales_order_base.html:93 +msgid "Mark As Shipped" +msgstr "" + +#: order/templates/order/sales_order_base.html:96 +#: templates/js/translated/sales_order.js:536 msgid "Complete Sales Order" msgstr "" -#: order/templates/order/sales_order_base.html:131 +#: order/templates/order/sales_order_base.html:135 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:169 +#: order/templates/order/sales_order_base.html:173 #: order/templates/order/sales_order_detail.html:99 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "" -#: order/templates/order/sales_order_base.html:312 +#: order/templates/order/sales_order_base.html:321 msgid "Sales Order QR Code" msgstr "" -#: order/templates/order/sales_order_base.html:324 +#: order/templates/order/sales_order_base.html:333 msgid "Link Barcode to Sales Order" msgstr "" @@ -5914,12 +5850,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:404 part/models.py:3921 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:406 part/models.py:3964 part/stocktake.py:218 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:411 part/models.py:3922 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:413 part/models.py:3965 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -5928,20 +5864,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:904 part/templates/part/part_base.html:269 -#: report/templates/report/inventree_slr_report.html:103 -#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2341 -#: templates/js/translated/stock.js:2038 +#: part/admin.py:48 part/models.py:947 part/templates/part/part_base.html:269 +#: report/templates/report/inventree_stock_location_report.html:103 +#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 +#: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:913 part/templates/part/part_base.html:277 -#: report/models.py:195 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2347 +#: part/admin.py:50 part/models.py:956 part/templates/part/part_base.html:277 +#: report/models.py:161 templates/js/translated/part.js:1231 +#: templates/js/translated/part.js:2346 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:317 part/models.py:886 +#: part/admin.py:53 part/admin.py:319 part/models.py:929 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5950,15 +5886,15 @@ msgstr "" msgid "Part Image" msgstr "" -#: part/admin.py:63 part/admin.py:300 part/stocktake.py:221 +#: part/admin.py:63 part/admin.py:302 part/stocktake.py:221 msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:302 part/stocktake.py:222 +#: part/admin.py:67 part/admin.py:304 part/stocktake.py:222 msgid "Category Name" msgstr "" -#: part/admin.py:71 part/admin.py:314 +#: part/admin.py:71 part/admin.py:316 msgid "Default Location ID" msgstr "" @@ -5966,11 +5902,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:872 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:915 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1000 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1043 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5983,160 +5919,164 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3080 part/models.py:3094 +#: part/admin.py:155 part/models.py:3123 part/models.py:3137 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3087 part/models.py:3101 +#: part/admin.py:158 part/models.py:3130 part/models.py:3144 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" -#: part/admin.py:306 part/admin.py:393 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:211 msgid "Parent ID" msgstr "" -#: part/admin.py:310 part/admin.py:400 stock/admin.py:62 +#: part/admin.py:312 part/admin.py:402 stock/admin.py:62 msgid "Parent Name" msgstr "" -#: part/admin.py:318 part/templates/part/category.html:88 +#: part/admin.py:320 part/templates/part/category.html:88 #: part/templates/part/category.html:101 msgid "Category Path" msgstr "" -#: part/admin.py:323 part/models.py:391 part/serializers.py:117 +#: part/admin.py:325 part/models.py:393 part/serializers.py:117 #: part/serializers.py:272 part/serializers.py:391 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2803 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "" -#: part/admin.py:384 +#: part/admin.py:386 msgid "BOM Level" msgstr "" -#: part/admin.py:387 +#: part/admin.py:389 msgid "BOM Item ID" msgstr "" -#: part/admin.py:397 +#: part/admin.py:399 msgid "Parent IPN" msgstr "" -#: part/admin.py:408 part/models.py:3923 +#: part/admin.py:410 part/models.py:3966 msgid "Part IPN" msgstr "" -#: part/admin.py:421 part/serializers.py:1261 +#: part/admin.py:423 part/serializers.py:1276 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:426 part/serializers.py:1276 +#: part/admin.py:428 part/serializers.py:1291 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:119 +#: part/api.py:112 msgid "Starred" msgstr "" -#: part/api.py:121 +#: part/api.py:114 msgid "Filter by starred categories" msgstr "" -#: part/api.py:138 stock/api.py:284 +#: part/api.py:131 stock/api.py:318 msgid "Depth" msgstr "" -#: part/api.py:138 +#: part/api.py:131 msgid "Filter by category depth" msgstr "" -#: part/api.py:156 stock/api.py:302 +#: part/api.py:149 stock/api.py:336 msgid "Cascade" msgstr "" -#: part/api.py:158 +#: part/api.py:151 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:178 +#: part/api.py:171 msgid "Parent" msgstr "" -#: part/api.py:180 +#: part/api.py:173 msgid "Filter by parent category" msgstr "" -#: part/api.py:213 +#: part/api.py:206 msgid "Exclude Tree" msgstr "" -#: part/api.py:215 +#: part/api.py:208 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:461 +#: part/api.py:455 msgid "Has Results" msgstr "" -#: part/api.py:628 +#: part/api.py:622 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:646 +#: part/api.py:640 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:662 +#: part/api.py:656 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:746 +#: part/api.py:740 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:893 +#: part/api.py:887 msgid "Valid" msgstr "" -#: part/api.py:894 +#: part/api.py:888 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:900 +#: part/api.py:894 msgid "This option must be selected" msgstr "" -#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866 -#: part/serializers.py:406 part/serializers.py:1117 -#: part/templates/part/part_base.html:260 stock/api.py:745 +#: part/api.py:1111 +msgid "BOM Valid" +msgstr "" + +#: part/api.py:1515 part/models.py:939 part/models.py:3429 part/models.py:3909 +#: part/serializers.py:406 part/serializers.py:1132 +#: part/templates/part/part_base.html:260 stock/api.py:779 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2377 +#: templates/js/translated/part.js:2376 msgid "Category" msgstr "" -#: part/api.py:1849 +#: part/api.py:1803 msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:101 part/models.py:939 +#: part/bom.py:170 part/models.py:102 part/models.py:982 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:822 +#: part/bom.py:171 part/serializers.py:837 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6145,698 +6085,712 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:82 part/models.py:3867 part/templates/part/category.html:16 +#: part/models.py:83 part/models.py:3910 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:83 part/templates/part/category.html:136 +#: part/models.py:84 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "" -#: part/models.py:102 +#: part/models.py:103 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:107 stock/models.py:165 templates/js/translated/part.js:2810 -#: templates/js/translated/stock.js:2775 +#: part/models.py:108 stock/models.py:177 templates/js/translated/part.js:2809 +#: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "" -#: part/models.py:109 +#: part/models.py:110 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:118 +#: part/models.py:119 msgid "Default keywords" msgstr "" -#: part/models.py:119 +#: part/models.py:120 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:125 stock/models.py:89 stock/models.py:148 +#: part/models.py:126 stock/models.py:89 stock/models.py:160 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:126 stock/models.py:149 +#: part/models.py:127 stock/models.py:161 msgid "Icon (optional)" msgstr "" -#: part/models.py:148 +#: part/models.py:149 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:484 +#: part/models.py:482 +msgid "Cannot delete this part as it is still active" +msgstr "" + +#: part/models.py:489 +msgid "Cannot delete this part as it is used in an assembly" +msgstr "" + +#: part/models.py:527 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:532 part/models.py:539 +#: part/models.py:575 part/models.py:582 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:551 +#: part/models.py:594 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:616 +#: part/models.py:659 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:696 +#: part/models.py:739 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:801 +#: part/models.py:844 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:811 +#: part/models.py:854 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:826 +#: part/models.py:869 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:855 part/models.py:3922 +#: part/models.py:898 part/models.py:3965 msgid "Part name" msgstr "" -#: part/models.py:860 +#: part/models.py:903 msgid "Is Template" msgstr "" -#: part/models.py:861 +#: part/models.py:904 msgid "Is this part a template part?" msgstr "" -#: part/models.py:871 +#: part/models.py:914 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:879 +#: part/models.py:922 msgid "Part description (optional)" msgstr "" -#: part/models.py:887 +#: part/models.py:930 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:897 +#: part/models.py:940 msgid "Part category" msgstr "" -#: part/models.py:905 +#: part/models.py:948 msgid "Internal Part Number" msgstr "" -#: part/models.py:912 +#: part/models.py:955 msgid "Part revision or version number" msgstr "" -#: part/models.py:937 +#: part/models.py:980 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:983 part/templates/part/part_base.html:376 +#: part/models.py:1026 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:984 +#: part/models.py:1027 msgid "Default supplier part" msgstr "" -#: part/models.py:991 +#: part/models.py:1034 msgid "Default Expiry" msgstr "" -#: part/models.py:992 +#: part/models.py:1035 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1001 +#: part/models.py:1044 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1010 +#: part/models.py:1053 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1017 +#: part/models.py:1060 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1023 +#: part/models.py:1066 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1029 +#: part/models.py:1072 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1035 +#: part/models.py:1078 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1041 +#: part/models.py:1084 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1045 +#: part/models.py:1088 msgid "Is this part active?" msgstr "" -#: part/models.py:1051 +#: part/models.py:1094 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1057 +#: part/models.py:1100 msgid "BOM checksum" msgstr "" -#: part/models.py:1058 +#: part/models.py:1101 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1066 +#: part/models.py:1109 msgid "BOM checked by" msgstr "" -#: part/models.py:1071 +#: part/models.py:1114 msgid "BOM checked date" msgstr "" -#: part/models.py:1087 +#: part/models.py:1130 msgid "Creation User" msgstr "" -#: part/models.py:1097 +#: part/models.py:1140 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1102 part/templates/part/part_base.html:339 +#: part/models.py:1145 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 -#: templates/js/translated/part.js:2471 +#: templates/js/translated/part.js:2470 msgid "Last Stocktake" msgstr "" -#: part/models.py:1975 +#: part/models.py:2018 msgid "Sell multiple" msgstr "" -#: part/models.py:2994 +#: part/models.py:3037 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3010 +#: part/models.py:3053 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3011 +#: part/models.py:3054 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3017 +#: part/models.py:3060 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3018 +#: part/models.py:3061 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3024 +#: part/models.py:3067 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3025 +#: part/models.py:3068 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3031 +#: part/models.py:3074 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3032 +#: part/models.py:3075 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3038 +#: part/models.py:3081 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3039 +#: part/models.py:3082 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3045 +#: part/models.py:3088 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3046 +#: part/models.py:3089 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3052 +#: part/models.py:3095 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3053 +#: part/models.py:3096 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3059 +#: part/models.py:3102 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3060 +#: part/models.py:3103 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3066 +#: part/models.py:3109 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3067 +#: part/models.py:3110 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3073 +#: part/models.py:3116 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3074 +#: part/models.py:3117 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3081 +#: part/models.py:3124 msgid "Override minimum cost" msgstr "" -#: part/models.py:3088 +#: part/models.py:3131 msgid "Override maximum cost" msgstr "" -#: part/models.py:3095 +#: part/models.py:3138 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3102 +#: part/models.py:3145 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3108 +#: part/models.py:3151 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3109 +#: part/models.py:3152 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3115 +#: part/models.py:3158 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3116 +#: part/models.py:3159 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3122 +#: part/models.py:3165 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3123 +#: part/models.py:3166 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3129 +#: part/models.py:3172 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3130 +#: part/models.py:3173 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3149 +#: part/models.py:3192 msgid "Part for stocktake" msgstr "" -#: part/models.py:3154 +#: part/models.py:3197 msgid "Item Count" msgstr "" -#: part/models.py:3155 +#: part/models.py:3198 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3163 +#: part/models.py:3206 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3167 part/models.py:3250 +#: part/models.py:3210 part/models.py:3293 #: part/templates/part/part_scheduling.html:13 -#: report/templates/report/inventree_test_report_base.html:106 +#: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 #: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 -#: templates/js/translated/purchase_order.js:1732 -#: templates/js/translated/stock.js:2824 +#: templates/js/translated/purchase_order.js:1731 +#: templates/js/translated/stock.js:2821 msgid "Date" msgstr "" -#: part/models.py:3168 +#: part/models.py:3211 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3176 +#: part/models.py:3219 msgid "Additional notes" msgstr "" -#: part/models.py:3186 +#: part/models.py:3229 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3192 +#: part/models.py:3235 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3193 +#: part/models.py:3236 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3199 +#: part/models.py:3242 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3200 +#: part/models.py:3243 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3256 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3299 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3257 +#: part/models.py:3300 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3262 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3305 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3263 +#: part/models.py:3306 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3273 +#: part/models.py:3316 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3435 +#: part/models.py:3478 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3446 +#: part/models.py:3489 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3457 +#: part/models.py:3500 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3474 templates/js/translated/part.js:2879 +#: part/models.py:3517 templates/js/translated/part.js:2878 msgid "Test Name" msgstr "" -#: part/models.py:3475 +#: part/models.py:3518 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3481 +#: part/models.py:3524 msgid "Test Key" msgstr "" -#: part/models.py:3482 +#: part/models.py:3525 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3489 +#: part/models.py:3532 msgid "Test Description" msgstr "" -#: part/models.py:3490 +#: part/models.py:3533 msgid "Enter description for this test" msgstr "" -#: part/models.py:3494 +#: part/models.py:3537 report/models.py:208 +#: templates/js/translated/part.js:2899 +#: templates/js/translated/table_filters.js:481 +msgid "Enabled" +msgstr "" + +#: part/models.py:3537 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3499 templates/js/translated/part.js:2908 +#: part/models.py:3542 templates/js/translated/part.js:2907 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3500 +#: part/models.py:3543 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3505 templates/js/translated/part.js:2916 +#: part/models.py:3548 templates/js/translated/part.js:2915 msgid "Requires Value" msgstr "" -#: part/models.py:3506 +#: part/models.py:3549 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3511 templates/js/translated/part.js:2923 +#: part/models.py:3554 templates/js/translated/part.js:2922 msgid "Requires Attachment" msgstr "" -#: part/models.py:3513 +#: part/models.py:3556 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3560 +#: part/models.py:3603 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3565 +#: part/models.py:3608 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3585 +#: part/models.py:3628 msgid "Choices must be unique" msgstr "" -#: part/models.py:3602 +#: part/models.py:3645 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3617 +#: part/models.py:3660 msgid "Parameter Name" msgstr "" -#: part/models.py:3624 +#: part/models.py:3667 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3632 +#: part/models.py:3675 msgid "Parameter description" msgstr "" -#: part/models.py:3638 templates/js/translated/part.js:1627 +#: part/models.py:3681 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3639 +#: part/models.py:3682 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3644 templates/js/translated/part.js:1636 +#: part/models.py:3687 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3645 +#: part/models.py:3688 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3722 +#: part/models.py:3765 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3765 +#: part/models.py:3808 msgid "Parent Part" msgstr "" -#: part/models.py:3773 part/models.py:3874 part/models.py:3875 +#: part/models.py:3816 part/models.py:3917 part/models.py:3918 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3778 +#: part/models.py:3821 msgid "Data" msgstr "" -#: part/models.py:3779 +#: part/models.py:3822 msgid "Parameter Value" msgstr "" -#: part/models.py:3881 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3924 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3882 +#: part/models.py:3925 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3920 +#: part/models.py:3963 msgid "Part ID or part name" msgstr "" -#: part/models.py:3921 +#: part/models.py:3964 msgid "Unique part ID value" msgstr "" -#: part/models.py:3923 +#: part/models.py:3966 msgid "Part IPN value" msgstr "" -#: part/models.py:3924 +#: part/models.py:3967 msgid "Level" msgstr "" -#: part/models.py:3924 +#: part/models.py:3967 msgid "BOM level" msgstr "" -#: part/models.py:4014 +#: part/models.py:4057 msgid "Select parent part" msgstr "" -#: part/models.py:4024 +#: part/models.py:4067 msgid "Sub part" msgstr "" -#: part/models.py:4025 +#: part/models.py:4068 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4036 +#: part/models.py:4079 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4042 +#: part/models.py:4085 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4048 +#: part/models.py:4091 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4055 part/templates/part/upload_bom.html:55 +#: part/models.py:4098 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4056 +#: part/models.py:4099 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4063 +#: part/models.py:4106 msgid "BOM item reference" msgstr "" -#: part/models.py:4071 +#: part/models.py:4114 msgid "BOM item notes" msgstr "" -#: part/models.py:4077 +#: part/models.py:4120 msgid "Checksum" msgstr "" -#: part/models.py:4078 +#: part/models.py:4121 msgid "BOM line checksum" msgstr "" -#: part/models.py:4083 templates/js/translated/table_filters.js:174 +#: part/models.py:4126 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4084 +#: part/models.py:4127 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4089 part/templates/part/upload_bom.html:57 +#: part/models.py:4132 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4090 +#: part/models.py:4133 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4095 part/templates/part/upload_bom.html:56 +#: part/models.py:4138 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4096 +#: part/models.py:4139 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4181 stock/models.py:647 +#: part/models.py:4224 stock/models.py:668 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4191 part/models.py:4193 +#: part/models.py:4234 part/models.py:4236 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4333 +#: part/models.py:4376 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4354 +#: part/models.py:4397 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4367 +#: part/models.py:4410 msgid "Parent BOM item" msgstr "" -#: part/models.py:4375 +#: part/models.py:4418 msgid "Substitute part" msgstr "" -#: part/models.py:4391 +#: part/models.py:4434 msgid "Part 1" msgstr "" -#: part/models.py:4399 +#: part/models.py:4442 msgid "Part 2" msgstr "" -#: part/models.py:4400 +#: part/models.py:4443 msgid "Select Related Part" msgstr "" -#: part/models.py:4419 +#: part/models.py:4462 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4424 +#: part/models.py:4467 msgid "Duplicate relationship already exists" msgstr "" @@ -6854,7 +6808,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:406 +#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:535 msgid "Purchase currency of this stock item" msgstr "" @@ -6870,299 +6824,299 @@ msgstr "" msgid "Select category" msgstr "" -#: part/serializers.py:437 +#: part/serializers.py:442 msgid "Original Part" msgstr "" -#: part/serializers.py:438 +#: part/serializers.py:443 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:448 msgid "Copy Image" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:449 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:450 part/templates/part/detail.html:277 +#: part/serializers.py:455 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:451 +#: part/serializers.py:456 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:462 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:458 +#: part/serializers.py:463 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:464 +#: part/serializers.py:469 msgid "Copy Notes" msgstr "" -#: part/serializers.py:465 +#: part/serializers.py:470 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:478 +#: part/serializers.py:488 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:490 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:487 +#: part/serializers.py:497 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:488 +#: part/serializers.py:498 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:500 +#: part/serializers.py:515 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:531 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:526 +#: part/serializers.py:541 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:533 +#: part/serializers.py:548 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:542 +#: part/serializers.py:557 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:553 +#: part/serializers.py:568 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:560 +#: part/serializers.py:575 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:823 +#: part/serializers.py:838 msgid "External Stock" msgstr "" -#: part/serializers.py:825 +#: part/serializers.py:840 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:828 +#: part/serializers.py:843 msgid "Variant Stock" msgstr "" -#: part/serializers.py:856 part/templates/part/copy_part.html:9 +#: part/serializers.py:871 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:857 +#: part/serializers.py:872 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:863 templates/js/translated/part.js:102 +#: part/serializers.py:878 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:864 +#: part/serializers.py:879 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:870 +#: part/serializers.py:885 msgid "Supplier Information" msgstr "" -#: part/serializers.py:871 +#: part/serializers.py:886 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:879 +#: part/serializers.py:894 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:880 +#: part/serializers.py:895 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:885 +#: part/serializers.py:900 msgid "Existing Image" msgstr "" -#: part/serializers.py:886 +#: part/serializers.py:901 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:918 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1109 +#: part/serializers.py:1124 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1119 +#: part/serializers.py:1134 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1129 +#: part/serializers.py:1144 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1135 +#: part/serializers.py:1150 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1136 +#: part/serializers.py:1151 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1141 +#: part/serializers.py:1156 msgid "Generate Report" msgstr "" -#: part/serializers.py:1142 +#: part/serializers.py:1157 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1147 +#: part/serializers.py:1162 msgid "Update Parts" msgstr "" -#: part/serializers.py:1148 +#: part/serializers.py:1163 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1156 +#: part/serializers.py:1171 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1262 +#: part/serializers.py:1277 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1269 +#: part/serializers.py:1284 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1277 +#: part/serializers.py:1292 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1284 +#: part/serializers.py:1299 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1313 +#: part/serializers.py:1328 msgid "Update" msgstr "" -#: part/serializers.py:1314 +#: part/serializers.py:1329 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1337 +#: part/serializers.py:1352 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1344 +#: part/serializers.py:1359 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1347 +#: part/serializers.py:1362 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1714 +#: part/serializers.py:1729 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1722 +#: part/serializers.py:1737 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1723 +#: part/serializers.py:1738 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1728 +#: part/serializers.py:1743 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1729 +#: part/serializers.py:1744 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1734 +#: part/serializers.py:1749 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1735 +#: part/serializers.py:1750 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1755 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1756 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1775 +#: part/serializers.py:1790 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1776 +#: part/serializers.py:1791 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1806 +#: part/serializers.py:1821 msgid "No part column specified" msgstr "" -#: part/serializers.py:1850 +#: part/serializers.py:1865 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1853 +#: part/serializers.py:1868 msgid "No matching part found" msgstr "" -#: part/serializers.py:1856 +#: part/serializers.py:1871 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1865 +#: part/serializers.py:1880 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1888 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1894 +#: part/serializers.py:1909 msgid "At least one BOM item is required" msgstr "" #: part/stocktake.py:224 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:2085 +#: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" @@ -7314,7 +7268,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2218 users/models.py:204 +#: templates/js/translated/stock.js:2216 users/models.py:204 msgid "Stocktake" msgstr "" @@ -7412,15 +7366,15 @@ msgstr "" msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:659 +#: part/templates/part/detail.html:655 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:667 +#: part/templates/part/detail.html:663 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:752 +#: part/templates/part/detail.html:748 msgid "Add Test Result Template" msgstr "" @@ -7479,7 +7433,7 @@ msgstr "" #: part/templates/part/part_base.html:52 #: stock/templates/stock/item_base.html:62 -#: stock/templates/stock/location.html:74 +#: stock/templates/stock/location.html:74 templates/js/translated/label.js:142 msgid "Print Label" msgstr "" @@ -7501,7 +7455,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2293 +#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2292 msgid "Part actions" msgstr "" @@ -7550,7 +7504,7 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:163 -#: part/templates/part/part_base.html:682 +#: part/templates/part/part_base.html:681 msgid "Show Part Details" msgstr "" @@ -7573,7 +7527,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2444 +#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2443 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7596,19 +7550,19 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:512 +#: part/templates/part/part_base.html:511 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:529 +#: part/templates/part/part_base.html:528 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:580 +#: part/templates/part/part_base.html:579 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:676 +#: part/templates/part/part_base.html:675 msgid "Hide Part Details" msgstr "" @@ -7667,8 +7621,8 @@ msgstr "" #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 -#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 -#: templates/js/translated/stock.js:2072 templates/navbar.html:31 +#: templates/js/translated/part.js:2391 templates/js/translated/stock.js:1059 +#: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7714,7 +7668,7 @@ msgstr "" #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 -#: templates/js/translated/stock.js:2248 +#: templates/js/translated/stock.js:2246 msgid "Last Updated" msgstr "" @@ -7786,7 +7740,7 @@ msgid "Update Pricing" msgstr "" #: part/templates/part/stock_count.html:7 -#: templates/js/translated/model_renderers.js:221 +#: templates/js/translated/model_renderers.js:227 #: templates/js/translated/part.js:704 templates/js/translated/part.js:2140 #: templates/js/translated/part.js:2142 msgid "No Stock" @@ -7866,7 +7820,7 @@ msgstr "" msgid "Part Pricing" msgstr "" -#: plugin/api.py:168 +#: plugin/api.py:170 msgid "Plugin cannot be deleted as it is currently active" msgstr "" @@ -7933,7 +7887,7 @@ msgid "Stock item does not match line item" msgstr "" #: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2589 -#: templates/js/translated/sales_order.js:1917 +#: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "" @@ -8027,22 +7981,18 @@ msgstr "" msgid "Quantity to allocate" msgstr "" -#: plugin/base/label/label.py:39 +#: plugin/base/label/label.py:39 templates/js/translated/label.js:154 msgid "Label printing failed" msgstr "" -#: plugin/base/label/mixins.py:63 +#: plugin/base/label/mixins.py:56 msgid "Error rendering label to PDF" msgstr "" -#: plugin/base/label/mixins.py:76 +#: plugin/base/label/mixins.py:70 msgid "Error rendering label to HTML" msgstr "" -#: plugin/base/label/mixins.py:111 -msgid "Error rendering label to PNG" -msgstr "" - #: plugin/builtin/barcodes/inventree_barcode.py:25 msgid "InvenTree Barcodes" msgstr "" @@ -8054,7 +8004,7 @@ msgstr "" #: plugin/builtin/barcodes/inventree_barcode.py:28 #: plugin/builtin/integration/core_notifications.py:35 #: plugin/builtin/integration/currency_exchange.py:21 -#: plugin/builtin/labels/inventree_label.py:23 +#: plugin/builtin/labels/inventree_label.py:22 #: plugin/builtin/labels/inventree_machine.py:64 #: plugin/builtin/labels/label_sheet.py:63 #: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 @@ -8108,19 +8058,19 @@ msgstr "" msgid "Default currency exchange integration" msgstr "" -#: plugin/builtin/labels/inventree_label.py:20 +#: plugin/builtin/labels/inventree_label.py:19 msgid "InvenTree PDF label printer" msgstr "" -#: plugin/builtin/labels/inventree_label.py:21 +#: plugin/builtin/labels/inventree_label.py:20 msgid "Provides native support for printing PDF labels" msgstr "" -#: plugin/builtin/labels/inventree_label.py:29 +#: plugin/builtin/labels/inventree_label.py:28 msgid "Debug mode" msgstr "" -#: plugin/builtin/labels/inventree_label.py:30 +#: plugin/builtin/labels/inventree_label.py:29 msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "" @@ -8132,11 +8082,11 @@ msgstr "" msgid "Provides support for printing using a machine" msgstr "" -#: plugin/builtin/labels/inventree_machine.py:150 +#: plugin/builtin/labels/inventree_machine.py:151 msgid "last used" msgstr "" -#: plugin/builtin/labels/inventree_machine.py:167 +#: plugin/builtin/labels/inventree_machine.py:168 msgid "Options" msgstr "" @@ -8160,7 +8110,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:47 report/models.py:209 +#: plugin/builtin/labels/label_sheet.py:47 report/models.py:308 msgid "Landscape" msgstr "" @@ -8176,11 +8126,11 @@ msgstr "" msgid "Arrays multiple labels onto a single sheet" msgstr "" -#: plugin/builtin/labels/label_sheet.py:94 +#: plugin/builtin/labels/label_sheet.py:99 msgid "Label is too large for page size" msgstr "" -#: plugin/builtin/labels/label_sheet.py:128 +#: plugin/builtin/labels/label_sheet.py:133 msgid "No labels were generated" msgstr "" @@ -8273,61 +8223,62 @@ msgstr "" msgid "Uninstalled plugin successfully" msgstr "" -#: plugin/models.py:30 +#: plugin/models.py:35 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:31 +#: plugin/models.py:36 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:34 users/models.py:100 +#: plugin/models.py:42 users/models.py:100 msgid "Key" msgstr "" -#: plugin/models.py:34 +#: plugin/models.py:43 msgid "Key of plugin" msgstr "" -#: plugin/models.py:42 +#: plugin/models.py:51 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:49 plugin/serializers.py:90 +#: plugin/models.py:58 plugin/serializers.py:90 msgid "Package Name" msgstr "" -#: plugin/models.py:51 +#: plugin/models.py:60 msgid "Name of the installed package, if the plugin was installed via PIP" msgstr "" -#: plugin/models.py:56 +#: plugin/models.py:65 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:147 templates/js/translated/table_filters.js:370 +#: plugin/models.py:156 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "" -#: plugin/models.py:156 +#: plugin/models.py:165 msgid "Sample plugin" msgstr "" -#: plugin/models.py:164 +#: plugin/models.py:173 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:172 +#: plugin/models.py:181 msgid "Package Plugin" msgstr "" -#: plugin/models.py:196 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:205 report/models.py:475 +#: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" msgstr "" -#: plugin/models.py:243 +#: plugin/models.py:252 msgid "Method" msgstr "" @@ -8468,239 +8419,323 @@ msgstr "" msgid "Delete the plugin configuration from the database" msgstr "" -#: report/api.py:158 +#: report/api.py:77 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:197 report/api.py:234 +#: report/api.py:89 report/serializers.py:53 +msgid "Model Type" +msgstr "" + +#: report/api.py:92 report/models.py:439 report/serializers.py:98 +#: report/serializers.py:148 templates/js/translated/purchase_order.js:1747 +#: templates/js/translated/return_order.js:353 +#: templates/js/translated/sales_order.js:887 +#: templates/js/translated/sales_order.js:1047 +msgid "Items" +msgstr "" + +#: report/api.py:168 +msgid "Plugin not found" +msgstr "" + +#: report/api.py:170 +msgid "Plugin is not active" +msgstr "" + +#: report/api.py:172 +msgid "Plugin does not support label printing" +msgstr "" + +#: report/api.py:221 +msgid "Invalid label dimensions" +msgstr "" + +#: report/api.py:236 report/api.py:316 +msgid "No valid items provided to template" +msgstr "" + +#: report/api.py:271 +msgid "Error printing label" +msgstr "" + +#: report/api.py:362 report/api.py:398 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:319 -msgid "Test report" -msgstr "" - -#: report/helpers.py:15 +#: report/helpers.py:41 msgid "A4" msgstr "" -#: report/helpers.py:16 +#: report/helpers.py:42 msgid "A3" msgstr "" -#: report/helpers.py:17 +#: report/helpers.py:43 msgid "Legal" msgstr "" -#: report/helpers.py:18 +#: report/helpers.py:44 msgid "Letter" msgstr "" -#: report/models.py:177 +#: report/models.py:118 +msgid "Template file with this name already exists" +msgstr "" + +#: report/models.py:150 msgid "Template name" msgstr "" -#: report/models.py:183 -msgid "Report template file" +#: report/models.py:156 +msgid "Template description" msgstr "" -#: report/models.py:190 -msgid "Report template description" +#: report/models.py:162 +msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:196 -msgid "Report revision number (auto-increments)" +#: report/models.py:202 +msgid "Filename Pattern" msgstr "" -#: report/models.py:204 +#: report/models.py:203 +msgid "Pattern for generating filenames" +msgstr "" + +#: report/models.py:208 +msgid "Template is enabled" +msgstr "" + +#: report/models.py:214 +msgid "Target model type for template" +msgstr "" + +#: report/models.py:234 +msgid "Filters" +msgstr "" + +#: report/models.py:235 +msgid "Template query filters (comma-separated list of key=value pairs)" +msgstr "" + +#: report/models.py:295 report/models.py:362 +msgid "Template file" +msgstr "" + +#: report/models.py:303 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:210 +#: report/models.py:309 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:318 -msgid "Pattern for generating report filenames" +#: report/models.py:368 +msgid "Width [mm]" msgstr "" -#: report/models.py:325 -msgid "Report template is enabled" +#: report/models.py:369 +msgid "Label width, specified in mm" msgstr "" -#: report/models.py:347 -msgid "StockItem query filters (comma-separated list of key=value pairs)" +#: report/models.py:375 +msgid "Height [mm]" msgstr "" -#: report/models.py:354 -msgid "Include Installed Tests" +#: report/models.py:376 +msgid "Label height, specified in mm" msgstr "" -#: report/models.py:356 -msgid "Include test results for stock items installed inside assembled item" +#: report/models.py:439 +msgid "Number of items to process" msgstr "" -#: report/models.py:424 -msgid "Build Filters" +#: report/models.py:445 +msgid "Report generation is complete" msgstr "" -#: report/models.py:425 -msgid "Build query filters (comma-separated list of key=value pairs" +#: report/models.py:449 templates/js/translated/build.js:2177 +msgid "Progress" msgstr "" -#: report/models.py:464 -msgid "Part Filters" +#: report/models.py:449 +msgid "Report generation progress" msgstr "" -#: report/models.py:465 -msgid "Part query filters (comma-separated list of key=value pairs" +#: report/models.py:457 +msgid "Report Template" msgstr "" -#: report/models.py:497 -msgid "Purchase order query filters" +#: report/models.py:464 report/models.py:487 +msgid "Output File" msgstr "" -#: report/models.py:533 -msgid "Sales order query filters" +#: report/models.py:465 report/models.py:488 +msgid "Generated output file" msgstr "" -#: report/models.py:569 -msgid "Return order query filters" +#: report/models.py:476 +msgid "Label output plugin" msgstr "" -#: report/models.py:641 -msgid "Snippet file with this name already exists" +#: report/models.py:480 +msgid "Label Template" msgstr "" -#: report/models.py:648 +#: report/models.py:503 msgid "Snippet" msgstr "" -#: report/models.py:649 +#: report/models.py:504 msgid "Report snippet file" msgstr "" -#: report/models.py:656 +#: report/models.py:511 msgid "Snippet file description" msgstr "" -#: report/models.py:714 -msgid "Asset file with this name already exists" -msgstr "" - -#: report/models.py:722 +#: report/models.py:529 msgid "Asset" msgstr "" -#: report/models.py:723 +#: report/models.py:530 msgid "Report asset file" msgstr "" -#: report/models.py:730 +#: report/models.py:537 msgid "Asset file description" msgstr "" -#: report/models.py:752 -msgid "stock location query filters (comma-separated list of key=value pairs)" +#: report/serializers.py:91 +msgid "Select report template" +msgstr "" + +#: report/serializers.py:99 report/serializers.py:149 +msgid "List of item primary keys to include in the report" +msgstr "" + +#: report/serializers.py:132 +msgid "Select label template" +msgstr "" + +#: report/serializers.py:140 +msgid "Printing Plugin" +msgstr "" + +#: report/serializers.py:141 +msgid "Select plugin to use for label printing" +msgstr "" + +#: report/templates/label/part_label.html:31 +#: report/templates/label/stockitem_qr.html:21 +#: report/templates/label/stocklocation_qr.html:20 +#: templates/allauth_2fa/setup.html:18 +msgid "QR Code" +msgstr "" + +#: report/templates/label/part_label_code128.html:31 +#: report/templates/label/stocklocation_qr_and_text.html:31 +#: templates/qr_code.html:7 +msgid "QR code" msgstr "" #: report/templates/report/inventree_bill_of_materials_report.html:133 msgid "Materials needed" msgstr "" -#: report/templates/report/inventree_build_order_base.html:146 +#: report/templates/report/inventree_build_order_report.html:146 msgid "Required For" msgstr "" -#: report/templates/report/inventree_po_report_base.html:15 +#: report/templates/report/inventree_purchase_order_report.html:15 msgid "Supplier was deleted" msgstr "" -#: report/templates/report/inventree_po_report_base.html:30 -#: report/templates/report/inventree_so_report_base.html:30 +#: report/templates/report/inventree_purchase_order_report.html:30 +#: report/templates/report/inventree_sales_order_report.html:30 #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:834 -#: templates/js/translated/purchase_order.js:2116 -#: templates/js/translated/sales_order.js:1837 +#: templates/js/translated/purchase_order.js:2115 +#: templates/js/translated/sales_order.js:1873 msgid "Unit Price" msgstr "" -#: report/templates/report/inventree_po_report_base.html:55 -#: report/templates/report/inventree_return_order_report_base.html:48 -#: report/templates/report/inventree_so_report_base.html:55 +#: report/templates/report/inventree_purchase_order_report.html:55 +#: report/templates/report/inventree_return_order_report.html:48 +#: report/templates/report/inventree_sales_order_report.html:55 msgid "Extra Line Items" 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:2018 -#: templates/js/translated/sales_order.js:1806 +#: report/templates/report/inventree_purchase_order_report.html:72 +#: report/templates/report/inventree_sales_order_report.html:72 +#: templates/js/translated/purchase_order.js:2017 +#: templates/js/translated/sales_order.js:1842 msgid "Total" msgstr "" -#: report/templates/report/inventree_return_order_report_base.html:25 -#: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:809 stock/templates/stock/item_base.html:311 +#: report/templates/report/inventree_return_order_report.html:25 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:830 +#: stock/serializers.py:150 stock/templates/stock/item_base.html:311 #: templates/js/translated/build.js:519 templates/js/translated/build.js:1367 #: templates/js/translated/build.js:2355 -#: templates/js/translated/model_renderers.js:224 -#: templates/js/translated/return_order.js:540 -#: templates/js/translated/return_order.js:724 +#: templates/js/translated/model_renderers.js:230 +#: templates/js/translated/return_order.js:539 +#: templates/js/translated/return_order.js:723 #: templates/js/translated/sales_order.js:315 -#: templates/js/translated/sales_order.js:1611 -#: templates/js/translated/sales_order.js:1696 +#: templates/js/translated/sales_order.js:1647 +#: templates/js/translated/sales_order.js:1732 #: templates/js/translated/stock.js:596 msgid "Serial Number" msgstr "" -#: report/templates/report/inventree_slr_report.html:97 +#: report/templates/report/inventree_stock_location_report.html:97 msgid "Stock location items" msgstr "" -#: report/templates/report/inventree_test_report_base.html:21 +#: report/templates/report/inventree_test_report.html:21 msgid "Stock Item Test Report" msgstr "" -#: report/templates/report/inventree_test_report_base.html:97 +#: report/templates/report/inventree_test_report.html:97 msgid "Test Results" msgstr "" -#: report/templates/report/inventree_test_report_base.html:102 +#: report/templates/report/inventree_test_report.html:102 #: templates/js/translated/stock.js:1495 msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2442 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2419 msgid "Result" msgstr "" -#: report/templates/report/inventree_test_report_base.html:130 +#: report/templates/report/inventree_test_report.html:130 msgid "Pass" msgstr "" -#: report/templates/report/inventree_test_report_base.html:132 +#: report/templates/report/inventree_test_report.html:132 msgid "Fail" msgstr "" -#: report/templates/report/inventree_test_report_base.html:139 +#: report/templates/report/inventree_test_report.html:139 msgid "No result (required)" msgstr "" -#: report/templates/report/inventree_test_report_base.html:141 +#: report/templates/report/inventree_test_report.html:141 msgid "No result" msgstr "" -#: report/templates/report/inventree_test_report_base.html:154 +#: report/templates/report/inventree_test_report.html:154 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report_base.html:168 -#: stock/admin.py:162 templates/js/translated/stock.js:700 -#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3113 +#: report/templates/report/inventree_test_report.html:168 stock/admin.py:162 +#: templates/js/translated/stock.js:700 templates/js/translated/stock.js:871 +#: templates/js/translated/stock.js:3110 msgid "Serial" msgstr "" @@ -8757,7 +8792,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:201 stock/models.py:789 +#: stock/admin.py:201 stock/models.py:810 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" @@ -8782,66 +8817,66 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:256 stock/models.py:883 +#: stock/admin.py:256 stock/models.py:904 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2232 users/models.py:124 +#: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" msgstr "" -#: stock/api.py:284 +#: stock/api.py:318 msgid "Filter by location depth" msgstr "" -#: stock/api.py:304 +#: stock/api.py:338 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:325 +#: stock/api.py:359 msgid "Parent Location" msgstr "" -#: stock/api.py:326 +#: stock/api.py:360 msgid "Filter by parent location" msgstr "" -#: stock/api.py:579 templates/js/translated/table_filters.js:427 +#: stock/api.py:613 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:767 +#: stock/api.py:801 msgid "Part Tree" msgstr "" -#: stock/api.py:797 +#: stock/api.py:831 msgid "Expiry date before" msgstr "" -#: stock/api.py:801 +#: stock/api.py:835 msgid "Expiry date after" msgstr "" -#: stock/api.py:804 stock/templates/stock/item_base.html:439 +#: stock/api.py:838 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:891 +#: stock/api.py:925 msgid "Quantity is required" msgstr "" -#: stock/api.py:897 +#: stock/api.py:931 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:928 +#: stock/api.py:962 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:938 +#: stock/api.py:972 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:969 +#: stock/api.py:1003 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8857,477 +8892,517 @@ msgstr "" msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:125 stock/models.py:771 +#: stock/models.py:127 stock/models.py:792 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:126 stock/templates/stock/location.html:179 +#: stock/models.py:128 stock/templates/stock/location.html:186 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "" -#: stock/models.py:158 stock/models.py:932 +#: stock/models.py:170 stock/models.py:953 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:159 stock/models.py:933 +#: stock/models.py:171 stock/models.py:954 msgid "Select Owner" msgstr "" -#: stock/models.py:167 +#: stock/models.py:179 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:174 templates/js/translated/stock.js:2784 +#: stock/models.py:186 templates/js/translated/stock.js:2781 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "" -#: stock/models.py:175 +#: stock/models.py:187 msgid "This is an external stock location" msgstr "" -#: stock/models.py:181 templates/js/translated/stock.js:2793 +#: stock/models.py:193 templates/js/translated/stock.js:2790 #: templates/js/translated/table_filters.js:246 msgid "Location type" msgstr "" -#: stock/models.py:185 +#: stock/models.py:197 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:254 +#: stock/models.py:266 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:626 +#: stock/models.py:647 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:653 stock/serializers.py:290 +#: stock/models.py:674 stock/serializers.py:419 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:670 +#: stock/models.py:691 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:680 stock/models.py:693 +#: stock/models.py:701 stock/models.py:714 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:683 +#: stock/models.py:704 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:707 +#: stock/models.py:728 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:712 +#: stock/models.py:733 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:725 +#: stock/models.py:746 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:741 +#: stock/models.py:762 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:753 +#: stock/models.py:774 msgid "Base part" msgstr "" -#: stock/models.py:763 +#: stock/models.py:784 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:775 +#: stock/models.py:796 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:783 stock/serializers.py:1351 +#: stock/models.py:804 stock/serializers.py:1480 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:794 +#: stock/models.py:815 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:813 +#: stock/models.py:834 msgid "Serial number for this item" msgstr "" -#: stock/models.py:827 stock/serializers.py:1334 +#: stock/models.py:848 stock/serializers.py:1463 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:832 +#: stock/models.py:853 msgid "Stock Quantity" msgstr "" -#: stock/models.py:842 +#: stock/models.py:863 msgid "Source Build" msgstr "" -#: stock/models.py:845 +#: stock/models.py:866 msgid "Build for this stock item" msgstr "" -#: stock/models.py:852 stock/templates/stock/item_base.html:363 +#: stock/models.py:873 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:855 +#: stock/models.py:876 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:864 +#: stock/models.py:885 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:868 +#: stock/models.py:889 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:874 +#: stock/models.py:895 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:885 +#: stock/models.py:906 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:903 +#: stock/models.py:924 msgid "Delete on deplete" msgstr "" -#: stock/models.py:904 +#: stock/models.py:925 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:924 +#: stock/models.py:945 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:955 +#: stock/models.py:976 msgid "Converted to part" msgstr "" -#: stock/models.py:1473 +#: stock/models.py:1494 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1479 +#: stock/models.py:1500 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1487 +#: stock/models.py:1508 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1493 +#: stock/models.py:1514 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1498 +#: stock/models.py:1519 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1506 stock/serializers.py:529 +#: stock/models.py:1527 stock/serializers.py:658 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1603 +#: stock/models.py:1624 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1621 +#: stock/models.py:1642 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1625 +#: stock/models.py:1646 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1628 +#: stock/models.py:1649 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1631 +#: stock/models.py:1652 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1634 +#: stock/models.py:1655 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1637 +#: stock/models.py:1658 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1644 stock/serializers.py:1240 +#: stock/models.py:1665 stock/serializers.py:1369 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1648 +#: stock/models.py:1669 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1656 +#: stock/models.py:1677 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1661 +#: stock/models.py:1682 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1882 +#: stock/models.py:1903 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2345 +#: stock/models.py:2322 msgid "Entry notes" msgstr "" -#: stock/models.py:2410 +#: stock/models.py:2387 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2415 +#: stock/models.py:2392 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2442 +#: stock/models.py:2419 msgid "Test result" msgstr "" -#: stock/models.py:2449 +#: stock/models.py:2426 msgid "Test output value" msgstr "" -#: stock/models.py:2457 +#: stock/models.py:2434 msgid "Test result attachment" msgstr "" -#: stock/models.py:2461 +#: stock/models.py:2438 msgid "Test notes" msgstr "" -#: stock/models.py:2469 templates/js/translated/stock.js:1548 +#: stock/models.py:2446 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "" -#: stock/models.py:2470 +#: stock/models.py:2447 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2476 +#: stock/models.py:2453 msgid "Started" msgstr "" -#: stock/models.py:2477 +#: stock/models.py:2454 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2483 +#: stock/models.py:2460 msgid "Finished" msgstr "" -#: stock/models.py:2484 +#: stock/models.py:2461 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:100 +#: stock/serializers.py:75 +msgid "Generated batch code" +msgstr "" + +#: stock/serializers.py:84 +msgid "Select build order" +msgstr "" + +#: stock/serializers.py:93 +msgid "Select stock item to generate batch code for" +msgstr "" + +#: stock/serializers.py:102 +msgid "Select location to generate batch code for" +msgstr "" + +#: stock/serializers.py:111 +msgid "Select part to generate batch code for" +msgstr "" + +#: stock/serializers.py:120 +msgid "Select purchase order" +msgstr "" + +#: stock/serializers.py:127 +msgid "Enter quantity for batch code" +msgstr "" + +#: stock/serializers.py:150 +msgid "Generated serial number" +msgstr "" + +#: stock/serializers.py:159 +msgid "Select part to generate serial number for" +msgstr "" + +#: stock/serializers.py:167 +msgid "Quantity of serial numbers to generate" +msgstr "" + +#: stock/serializers.py:229 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:119 +#: stock/serializers.py:248 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:151 +#: stock/serializers.py:280 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:184 +#: stock/serializers.py:313 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:282 +#: stock/serializers.py:411 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:402 +#: stock/serializers.py:531 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:464 +#: stock/serializers.py:593 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:477 +#: stock/serializers.py:606 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:484 +#: stock/serializers.py:613 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:495 stock/serializers.py:1197 stock/serializers.py:1453 +#: stock/serializers.py:624 stock/serializers.py:1326 stock/serializers.py:1582 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:502 +#: stock/serializers.py:631 msgid "Optional note field" msgstr "" -#: stock/serializers.py:512 +#: stock/serializers.py:641 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:567 +#: stock/serializers.py:696 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:574 +#: stock/serializers.py:703 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:575 +#: stock/serializers.py:704 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:580 stock/serializers.py:660 stock/serializers.py:756 -#: stock/serializers.py:806 +#: stock/serializers.py:709 stock/serializers.py:789 stock/serializers.py:885 +#: stock/serializers.py:935 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:588 +#: stock/serializers.py:717 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:596 +#: stock/serializers.py:725 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:607 +#: stock/serializers.py:736 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:620 +#: stock/serializers.py:749 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:655 +#: stock/serializers.py:784 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:690 +#: stock/serializers.py:819 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:703 +#: stock/serializers.py:832 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:720 +#: stock/serializers.py:849 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:751 +#: stock/serializers.py:880 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:788 +#: stock/serializers.py:917 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:794 +#: stock/serializers.py:923 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:890 stock/serializers.py:953 +#: stock/serializers.py:1019 stock/serializers.py:1082 #: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:213 +#: stock/templates/stock/location.html:220 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1069 +#: stock/serializers.py:1198 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1073 +#: stock/serializers.py:1202 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1077 +#: stock/serializers.py:1206 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1101 +#: stock/serializers.py:1230 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1107 +#: stock/serializers.py:1236 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1115 +#: stock/serializers.py:1244 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1125 stock/serializers.py:1379 +#: stock/serializers.py:1254 stock/serializers.py:1508 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1204 +#: stock/serializers.py:1333 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1209 +#: stock/serializers.py:1338 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1210 +#: stock/serializers.py:1339 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1215 +#: stock/serializers.py:1344 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1216 +#: stock/serializers.py:1345 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1226 +#: stock/serializers.py:1355 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1293 +#: stock/serializers.py:1422 msgid "No Change" msgstr "" -#: stock/serializers.py:1322 +#: stock/serializers.py:1451 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1341 +#: stock/serializers.py:1470 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1369 +#: stock/serializers.py:1498 msgid "Stock transaction notes" msgstr "" @@ -9352,7 +9427,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:286 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:282 msgid "Delete Test Data" msgstr "" @@ -9368,15 +9443,15 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3274 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3271 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:274 +#: stock/templates/stock/item.html:270 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:304 templates/js/translated/stock.js:1701 +#: stock/templates/stock/item.html:300 templates/js/translated/stock.js:1701 msgid "Add Test Result" msgstr "" @@ -9561,40 +9636,40 @@ msgstr "" msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:507 -#: templates/js/translated/stock.js:1954 +#: stock/templates/stock/item_base.html:504 +#: templates/js/translated/stock.js:1952 msgid "stock item" msgstr "" -#: stock/templates/stock/item_base.html:532 +#: stock/templates/stock/item_base.html:527 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:541 +#: stock/templates/stock/item_base.html:536 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:552 +#: stock/templates/stock/item_base.html:547 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:616 +#: stock/templates/stock/item_base.html:611 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:619 +#: stock/templates/stock/item_base.html:614 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:620 +#: stock/templates/stock/item_base.html:615 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:628 +#: stock/templates/stock/item_base.html:623 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:662 +#: stock/templates/stock/item_base.html:657 msgid "Return to Stock" msgstr "" @@ -9658,28 +9733,32 @@ msgstr "" msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:217 +#: stock/templates/stock/location.html:176 +msgid "Location Type" +msgstr "" + +#: stock/templates/stock/location.html:224 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:218 +#: stock/templates/stock/location.html:225 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:287 -#: templates/js/translated/stock.js:2575 +#: stock/templates/stock/location.html:295 +#: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:315 +#: stock/templates/stock/location.html:317 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:388 +#: stock/templates/stock/location.html:390 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:399 +#: stock/templates/stock/location.html:401 msgid "Link Barcode to Stock Location" msgstr "" @@ -9949,11 +10028,11 @@ msgstr "" msgid "Part Settings" msgstr "" -#: templates/InvenTree/settings/part.html:42 +#: templates/InvenTree/settings/part.html:43 msgid "Part Import" msgstr "" -#: templates/InvenTree/settings/part.html:46 +#: templates/InvenTree/settings/part.html:47 msgid "Import Part" msgstr "" @@ -10174,7 +10253,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:424 +#: templates/js/translated/stock.js:245 users/models.py:411 msgid "Delete" msgstr "" @@ -10283,7 +10362,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2159 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2163 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" @@ -10874,7 +10953,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3218 +#: templates/js/translated/part.js:3217 msgid "Minimum Quantity" msgstr "" @@ -11254,7 +11333,7 @@ msgid "External stock" msgstr "" #: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2595 -#: templates/js/translated/sales_order.js:1910 +#: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" @@ -11264,7 +11343,7 @@ msgstr "" #: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 #: templates/js/translated/part.js:1256 -#: templates/js/translated/sales_order.js:1907 +#: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" @@ -11519,17 +11598,17 @@ msgstr "" #: templates/js/translated/build.js:1576 #: templates/js/translated/purchase_order.js:611 -#: templates/js/translated/sales_order.js:1171 +#: templates/js/translated/sales_order.js:1207 msgid "Select Parts" msgstr "" #: templates/js/translated/build.js:1577 -#: templates/js/translated/sales_order.js:1172 +#: templates/js/translated/sales_order.js:1208 msgid "You must select at least one part to allocate" msgstr "" #: templates/js/translated/build.js:1640 -#: templates/js/translated/sales_order.js:1121 +#: templates/js/translated/sales_order.js:1157 msgid "Specify stock allocation quantity" msgstr "" @@ -11542,7 +11621,7 @@ msgid "All selected parts have been fully allocated" msgstr "" #: templates/js/translated/build.js:1732 -#: templates/js/translated/sales_order.js:1186 +#: templates/js/translated/sales_order.js:1222 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -11551,12 +11630,12 @@ msgid "Allocate Stock Items to Build Order" msgstr "" #: templates/js/translated/build.js:1771 -#: templates/js/translated/sales_order.js:1283 +#: templates/js/translated/sales_order.js:1319 msgid "No matching stock locations" msgstr "" #: templates/js/translated/build.js:1844 -#: templates/js/translated/sales_order.js:1362 +#: templates/js/translated/sales_order.js:1398 msgid "No matching stock items" msgstr "" @@ -11589,9 +11668,9 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 -#: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 -#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 -#: templates/js/translated/stock.js:1985 templates/js/translated/stock.js:2713 +#: templates/js/translated/forms.js:2159 templates/js/translated/forms.js:2175 +#: templates/js/translated/part.js:2315 templates/js/translated/part.js:2741 +#: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "" @@ -11599,21 +11678,17 @@ msgstr "" msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2177 -msgid "Progress" -msgstr "" - -#: templates/js/translated/build.js:2213 templates/js/translated/stock.js:3045 +#: templates/js/translated/build.js:2213 templates/js/translated/stock.js:3042 msgid "No user information" msgstr "" #: templates/js/translated/build.js:2389 -#: templates/js/translated/sales_order.js:1646 +#: templates/js/translated/sales_order.js:1682 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:2390 -#: templates/js/translated/sales_order.js:1647 +#: templates/js/translated/sales_order.js:1683 msgid "Delete stock allocation" msgstr "" @@ -11647,7 +11722,7 @@ msgid "Unit Quantity" msgstr "" #: templates/js/translated/build.js:2591 -#: templates/js/translated/sales_order.js:1915 +#: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" @@ -11664,7 +11739,7 @@ msgid "Allocate tracked items against individual build outputs" msgstr "" #: templates/js/translated/build.js:2662 -#: templates/js/translated/sales_order.js:2016 +#: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "" @@ -11673,7 +11748,7 @@ msgid "Order stock" msgstr "" #: templates/js/translated/build.js:2671 -#: templates/js/translated/sales_order.js:2010 +#: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "" @@ -11923,12 +11998,12 @@ msgid "Delete price break" msgstr "" #: templates/js/translated/filters.js:186 -#: templates/js/translated/filters.js:672 +#: templates/js/translated/filters.js:667 msgid "true" msgstr "" #: templates/js/translated/filters.js:190 -#: templates/js/translated/filters.js:673 +#: templates/js/translated/filters.js:668 msgid "false" msgstr "" @@ -11960,7 +12035,7 @@ msgstr "" msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:582 +#: templates/js/translated/filters.js:577 msgid "Create filter" msgstr "" @@ -11993,32 +12068,32 @@ msgstr "" msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1473 templates/modals.html:19 +#: templates/js/translated/forms.js:1477 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1971 +#: templates/js/translated/forms.js:1975 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2275 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2279 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2489 +#: templates/js/translated/forms.js:2493 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3091 +#: templates/js/translated/forms.js:3095 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3091 +#: templates/js/translated/forms.js:3095 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3103 +#: templates/js/translated/forms.js:3107 msgid "Select Columns" msgstr "" @@ -12042,51 +12117,15 @@ msgstr "" msgid "No parts required for builds" msgstr "" -#: templates/js/translated/label.js:53 templates/js/translated/report.js:123 +#: templates/js/translated/label.js:55 templates/js/translated/report.js:38 msgid "Select Items" msgstr "" -#: templates/js/translated/label.js:54 +#: templates/js/translated/label.js:56 templates/js/translated/report.js:39 msgid "No items selected for printing" msgstr "" -#: templates/js/translated/label.js:72 -msgid "No Labels Found" -msgstr "" - -#: templates/js/translated/label.js:73 -msgid "No label templates found which match the selected items" -msgstr "" - -#: templates/js/translated/label.js:97 -msgid "selected" -msgstr "" - -#: templates/js/translated/label.js:133 -msgid "Printing Options" -msgstr "" - -#: templates/js/translated/label.js:148 -msgid "Print label" -msgstr "" - -#: templates/js/translated/label.js:148 -msgid "Print labels" -msgstr "" - #: templates/js/translated/label.js:149 -msgid "Print" -msgstr "" - -#: templates/js/translated/label.js:155 -msgid "Select label template" -msgstr "" - -#: templates/js/translated/label.js:168 -msgid "Select plugin" -msgstr "" - -#: templates/js/translated/label.js:187 msgid "Labels sent to printer" msgstr "" @@ -12204,7 +12243,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1991 +#: templates/js/translated/purchase_order.js:1990 msgid "No line items found" msgstr "" @@ -12442,19 +12481,19 @@ msgid "Delete Part Parameter Template" msgstr "" #: templates/js/translated/part.js:1716 -#: templates/js/translated/purchase_order.js:1655 +#: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1860 -#: templates/js/translated/purchase_order.js:2154 -#: templates/js/translated/return_order.js:756 -#: templates/js/translated/sales_order.js:1875 +#: templates/js/translated/purchase_order.js:2153 +#: templates/js/translated/return_order.js:755 +#: templates/js/translated/sales_order.js:1911 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1906 -#: templates/js/translated/purchase_order.js:2221 +#: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "" @@ -12466,7 +12505,7 @@ msgstr "" msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2506 +#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2505 msgid "No parts found" msgstr "" @@ -12482,101 +12521,101 @@ msgstr "" msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2286 msgid "part" msgstr "" -#: templates/js/translated/part.js:2288 +#: templates/js/translated/part.js:2287 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2384 +#: templates/js/translated/part.js:2383 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 -#: templates/js/translated/stock.js:2672 +#: templates/js/translated/part.js:2530 templates/js/translated/part.js:2660 +#: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2547 +#: templates/js/translated/part.js:2546 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2645 +#: templates/js/translated/part.js:2644 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2692 +#: templates/js/translated/part.js:2680 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2761 +#: templates/js/translated/part.js:2760 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2777 +#: templates/js/translated/part.js:2776 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2864 +#: templates/js/translated/part.js:2863 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2886 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2885 templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2935 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2941 +#: templates/js/translated/part.js:2940 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2957 +#: templates/js/translated/part.js:2956 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2971 +#: templates/js/translated/part.js:2970 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3050 templates/js/translated/part.js:3051 +#: templates/js/translated/part.js:3049 templates/js/translated/part.js:3050 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3053 +#: templates/js/translated/part.js:3052 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3059 +#: templates/js/translated/part.js:3058 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3109 +#: templates/js/translated/part.js:3108 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3115 +#: templates/js/translated/part.js:3114 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3211 +#: templates/js/translated/part.js:3210 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3227 +#: templates/js/translated/part.js:3226 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3272 +#: templates/js/translated/part.js:3271 msgid "Minimum Stock Level" msgstr "" @@ -12702,7 +12741,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:448 #: templates/js/translated/return_order.js:210 -#: templates/js/translated/sales_order.js:500 +#: templates/js/translated/sales_order.js:552 msgid "Mark this order as complete?" msgstr "" @@ -12715,7 +12754,6 @@ msgid "This order has line items which have not been marked as received." msgstr "" #: templates/js/translated/purchase_order.js:460 -#: templates/js/translated/sales_order.js:514 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" @@ -12773,12 +12811,12 @@ msgid "No matching purchase orders" msgstr "" #: templates/js/translated/purchase_order.js:1073 -#: templates/js/translated/return_order.js:491 +#: templates/js/translated/return_order.js:490 msgid "Select Line Items" msgstr "" #: templates/js/translated/purchase_order.js:1074 -#: templates/js/translated/return_order.js:492 +#: templates/js/translated/return_order.js:491 msgid "At least one line item must be selected" msgstr "" @@ -12827,7 +12865,7 @@ msgid "Quantity to Receive" msgstr "" #: templates/js/translated/purchase_order.js:1333 -#: templates/js/translated/return_order.js:561 +#: templates/js/translated/return_order.js:560 msgid "Confirm receipt of items" msgstr "" @@ -12847,81 +12885,66 @@ msgstr "" msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1682 -#: templates/js/translated/return_order.js:286 -#: templates/js/translated/sales_order.js:774 -#: templates/js/translated/sales_order.js:998 +#: templates/js/translated/purchase_order.js:1681 +#: templates/js/translated/return_order.js:285 +#: templates/js/translated/sales_order.js:810 +#: templates/js/translated/sales_order.js:1034 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1748 -#: templates/js/translated/return_order.js:354 -#: templates/js/translated/sales_order.js:851 -#: templates/js/translated/sales_order.js:1011 -msgid "Items" -msgstr "" - -#: templates/js/translated/purchase_order.js:1844 +#: templates/js/translated/purchase_order.js:1843 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1862 +#: templates/js/translated/purchase_order.js:1861 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1917 -#: templates/js/translated/sales_order.js:2070 +#: templates/js/translated/purchase_order.js:1916 +#: templates/js/translated/sales_order.js:2106 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1932 -#: templates/js/translated/return_order.js:476 -#: templates/js/translated/return_order.js:669 -#: templates/js/translated/sales_order.js:2083 +#: templates/js/translated/purchase_order.js:1931 +#: templates/js/translated/return_order.js:475 +#: templates/js/translated/return_order.js:668 +#: templates/js/translated/sales_order.js:2119 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1943 -#: templates/js/translated/return_order.js:682 -#: templates/js/translated/sales_order.js:2094 +#: templates/js/translated/purchase_order.js:1942 +#: templates/js/translated/return_order.js:681 +#: templates/js/translated/sales_order.js:2130 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2225 -#: templates/js/translated/sales_order.js:2024 +#: templates/js/translated/purchase_order.js:2224 +#: templates/js/translated/sales_order.js:2060 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2226 -#: templates/js/translated/return_order.js:801 -#: templates/js/translated/sales_order.js:2025 +#: templates/js/translated/purchase_order.js:2225 +#: templates/js/translated/return_order.js:800 +#: templates/js/translated/sales_order.js:2061 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2227 -#: templates/js/translated/return_order.js:805 -#: templates/js/translated/sales_order.js:2031 +#: templates/js/translated/purchase_order.js:2226 +#: templates/js/translated/return_order.js:804 +#: templates/js/translated/sales_order.js:2067 msgid "Delete line item" msgstr "" -#: templates/js/translated/report.js:63 -msgid "items selected" +#: templates/js/translated/report.js:49 +msgid "Print Report" msgstr "" -#: templates/js/translated/report.js:71 -msgid "Select Report Template" +#: templates/js/translated/report.js:68 +msgid "Report print successful" msgstr "" -#: templates/js/translated/report.js:86 -msgid "Select Test Report Template" -msgstr "" - -#: templates/js/translated/report.js:140 -msgid "No Reports Found" -msgstr "" - -#: templates/js/translated/report.js:141 -msgid "No report templates found which match the selected items" +#: templates/js/translated/report.js:73 +msgid "Report printing failed" msgstr "" #: templates/js/translated/return_order.js:60 @@ -12953,25 +12976,25 @@ msgstr "" msgid "Complete Return Order" msgstr "" -#: templates/js/translated/return_order.js:266 +#: templates/js/translated/return_order.js:265 msgid "No return orders found" msgstr "" -#: templates/js/translated/return_order.js:300 -#: templates/js/translated/sales_order.js:788 +#: templates/js/translated/return_order.js:299 +#: templates/js/translated/sales_order.js:824 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/return_order.js:562 +#: templates/js/translated/return_order.js:561 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:693 -#: templates/js/translated/sales_order.js:2231 +#: templates/js/translated/return_order.js:692 +#: templates/js/translated/sales_order.js:2267 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:798 +#: templates/js/translated/return_order.js:797 msgid "Mark item as received" msgstr "" @@ -13015,140 +13038,156 @@ msgstr "" msgid "Skip" msgstr "" +#: templates/js/translated/sales_order.js:484 +msgid "Ship Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:500 +msgid "Ship this order?" +msgstr "" + +#: templates/js/translated/sales_order.js:506 +msgid "Order cannot be shipped as there are incomplete shipments" +msgstr "" + #: templates/js/translated/sales_order.js:513 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/sales_order.js:535 +#: templates/js/translated/sales_order.js:514 +msgid "Shipping this order means that the order and line items will no longer be editable." +msgstr "" + +#: templates/js/translated/sales_order.js:572 msgid "Issue this Sales Order?" msgstr "" -#: templates/js/translated/sales_order.js:540 +#: templates/js/translated/sales_order.js:577 msgid "Issue Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:559 +#: templates/js/translated/sales_order.js:596 msgid "Cancel Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:564 +#: templates/js/translated/sales_order.js:601 msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: templates/js/translated/sales_order.js:618 +#: templates/js/translated/sales_order.js:655 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/sales_order.js:728 +#: templates/js/translated/sales_order.js:764 msgid "No sales orders found" msgstr "" -#: templates/js/translated/sales_order.js:908 +#: templates/js/translated/sales_order.js:944 msgid "Edit shipment" msgstr "" -#: templates/js/translated/sales_order.js:911 +#: templates/js/translated/sales_order.js:947 msgid "Complete shipment" msgstr "" -#: templates/js/translated/sales_order.js:916 +#: templates/js/translated/sales_order.js:952 msgid "Delete shipment" msgstr "" -#: templates/js/translated/sales_order.js:933 +#: templates/js/translated/sales_order.js:969 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/sales_order.js:948 +#: templates/js/translated/sales_order.js:984 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:981 +#: templates/js/translated/sales_order.js:1017 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/sales_order.js:1006 +#: templates/js/translated/sales_order.js:1042 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/sales_order.js:1030 -#: templates/js/translated/sales_order.js:1529 +#: templates/js/translated/sales_order.js:1066 +#: templates/js/translated/sales_order.js:1565 msgid "Not shipped" msgstr "" -#: templates/js/translated/sales_order.js:1048 +#: templates/js/translated/sales_order.js:1084 msgid "Tracking" msgstr "" -#: templates/js/translated/sales_order.js:1052 +#: templates/js/translated/sales_order.js:1088 msgid "Invoice" msgstr "" -#: templates/js/translated/sales_order.js:1219 +#: templates/js/translated/sales_order.js:1255 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1270 +#: templates/js/translated/sales_order.js:1306 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/sales_order.js:1271 +#: templates/js/translated/sales_order.js:1307 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1477 +#: templates/js/translated/sales_order.js:1513 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1569 +#: templates/js/translated/sales_order.js:1605 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1583 +#: templates/js/translated/sales_order.js:1619 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/sales_order.js:1584 +#: templates/js/translated/sales_order.js:1620 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1623 -#: templates/js/translated/sales_order.js:1710 +#: templates/js/translated/sales_order.js:1659 +#: templates/js/translated/sales_order.js:1746 #: templates/js/translated/stock.js:1776 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/sales_order.js:1631 -#: templates/js/translated/sales_order.js:1719 +#: templates/js/translated/sales_order.js:1667 +#: templates/js/translated/sales_order.js:1755 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:2008 +#: templates/js/translated/sales_order.js:2044 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/sales_order.js:2012 +#: templates/js/translated/sales_order.js:2048 msgid "Purchase stock" msgstr "" -#: templates/js/translated/sales_order.js:2021 -#: templates/js/translated/sales_order.js:2209 +#: templates/js/translated/sales_order.js:2057 +#: templates/js/translated/sales_order.js:2245 msgid "Calculate price" msgstr "" -#: templates/js/translated/sales_order.js:2035 +#: templates/js/translated/sales_order.js:2071 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:2038 +#: templates/js/translated/sales_order.js:2074 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:2109 +#: templates/js/translated/sales_order.js:2145 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/sales_order.js:2217 +#: templates/js/translated/sales_order.js:2253 msgid "Update Unit Price" msgstr "" @@ -13356,7 +13395,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1042 users/models.py:414 +#: templates/js/translated/stock.js:1042 users/models.py:401 msgid "Add" msgstr "" @@ -13372,7 +13411,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1180 templates/js/translated/stock.js:3302 +#: templates/js/translated/stock.js:1180 templates/js/translated/stock.js:3299 msgid "Select Stock Items" msgstr "" @@ -13456,196 +13495,196 @@ msgstr "" msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:1955 +#: templates/js/translated/stock.js:1953 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1960 +#: templates/js/translated/stock.js:1958 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:1971 +#: templates/js/translated/stock.js:1969 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:2015 +#: templates/js/translated/stock.js:2013 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2093 +#: templates/js/translated/stock.js:2091 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2098 +#: templates/js/translated/stock.js:2096 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2101 +#: templates/js/translated/stock.js:2099 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2104 +#: templates/js/translated/stock.js:2102 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2106 +#: templates/js/translated/stock.js:2104 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2108 +#: templates/js/translated/stock.js:2106 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2111 +#: templates/js/translated/stock.js:2109 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2113 +#: templates/js/translated/stock.js:2111 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2117 +#: templates/js/translated/stock.js:2115 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2119 +#: templates/js/translated/stock.js:2117 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2124 +#: templates/js/translated/stock.js:2122 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2126 +#: templates/js/translated/stock.js:2124 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2128 +#: templates/js/translated/stock.js:2126 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2132 +#: templates/js/translated/stock.js:2130 #: templates/js/translated/table_filters.js:350 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2297 +#: templates/js/translated/stock.js:2295 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2344 +#: templates/js/translated/stock.js:2342 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2472 +#: templates/js/translated/stock.js:2470 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2576 +#: templates/js/translated/stock.js:2573 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2731 +#: templates/js/translated/stock.js:2728 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2849 +#: templates/js/translated/stock.js:2846 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2853 +#: templates/js/translated/stock.js:2850 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2865 +#: templates/js/translated/stock.js:2862 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2887 +#: templates/js/translated/stock.js:2884 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2904 +#: templates/js/translated/stock.js:2901 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2919 +#: templates/js/translated/stock.js:2916 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2936 +#: templates/js/translated/stock.js:2933 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:2950 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2972 +#: templates/js/translated/stock.js:2969 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2990 +#: templates/js/translated/stock.js:2987 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:3008 +#: templates/js/translated/stock.js:3005 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:3016 +#: templates/js/translated/stock.js:3013 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3088 +#: templates/js/translated/stock.js:3085 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3142 templates/js/translated/stock.js:3178 +#: templates/js/translated/stock.js:3139 templates/js/translated/stock.js:3175 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3200 +#: templates/js/translated/stock.js:3197 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3221 +#: templates/js/translated/stock.js:3218 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3222 +#: templates/js/translated/stock.js:3219 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3224 +#: templates/js/translated/stock.js:3221 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3225 +#: templates/js/translated/stock.js:3222 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3226 +#: templates/js/translated/stock.js:3223 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3227 +#: templates/js/translated/stock.js:3224 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3240 +#: templates/js/translated/stock.js:3237 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3303 +#: templates/js/translated/stock.js:3300 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3316 +#: templates/js/translated/stock.js:3313 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3320 +#: templates/js/translated/stock.js:3317 msgid "Change Stock Status" msgstr "" @@ -14247,34 +14286,35 @@ msgstr "" msgid "Revoked" msgstr "" -#: users/models.py:397 +#: users/models.py:384 msgid "Permission set" msgstr "" -#: users/models.py:406 +#: users/models.py:393 msgid "Group" msgstr "" -#: users/models.py:410 +#: users/models.py:397 msgid "View" msgstr "" -#: users/models.py:410 +#: users/models.py:397 msgid "Permission to view items" msgstr "" -#: users/models.py:414 +#: users/models.py:401 msgid "Permission to add items" msgstr "" -#: users/models.py:418 +#: users/models.py:405 msgid "Change" msgstr "" -#: users/models.py:420 +#: users/models.py:407 msgid "Permissions to edit items" msgstr "" -#: users/models.py:426 +#: users/models.py:413 msgid "Permission to delete items" msgstr "" + diff --git a/src/backend/InvenTree/locale/vi/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/vi/LC_MESSAGES/django.po index 4a6f1be213..e0477f7c88 100644 --- a/src/backend/InvenTree/locale/vi/LC_MESSAGES/django.po +++ b/src/backend/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: 2024-05-10 05:37+0000\n" -"PO-Revision-Date: 2024-05-10 08:31\n" +"POT-Creation-Date: 2024-05-23 11:25+0000\n" +"PO-Revision-Date: 2024-05-23 11:39\n" "Last-Translator: \n" "Language-Team: Vietnamese\n" "Language: vi_VN\n" @@ -17,11 +17,11 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 216\n" -#: InvenTree/api.py:271 +#: InvenTree/api.py:272 msgid "API endpoint not found" msgstr "API endpoint không tồn tại" -#: InvenTree/api.py:535 +#: InvenTree/api.py:536 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" @@ -56,26 +56,26 @@ msgstr "Chi tiết lỗi có thể được tìm thấy trong bảng quản tr msgid "Enter date" msgstr "Nhập ngày" -#: InvenTree/fields.py:208 InvenTree/models.py:1021 build/serializers.py:444 -#: build/serializers.py:522 build/templates/build/sidebar.html:21 +#: InvenTree/fields.py:208 InvenTree/models.py:1035 build/serializers.py:443 +#: build/serializers.py:521 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 -#: order/models.py:1283 order/templates/order/po_sidebar.html:11 +#: order/models.py:1323 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:59 -#: part/models.py:3175 part/templates/part/part_sidebar.html:63 -#: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:226 stock/models.py:2344 stock/models.py:2461 -#: stock/serializers.py:501 stock/serializers.py:659 stock/serializers.py:755 -#: stock/serializers.py:805 stock/serializers.py:1114 stock/serializers.py:1203 -#: stock/serializers.py:1368 stock/templates/stock/stock_sidebar.html:25 +#: part/models.py:3218 part/templates/part/part_sidebar.html:63 +#: report/templates/report/inventree_build_order_report.html:172 +#: stock/admin.py:226 stock/models.py:2321 stock/models.py:2438 +#: stock/serializers.py:630 stock/serializers.py:788 stock/serializers.py:884 +#: stock/serializers.py:934 stock/serializers.py:1243 stock/serializers.py:1332 +#: stock/serializers.py:1497 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1080 -#: templates/js/translated/purchase_order.js:2201 -#: templates/js/translated/return_order.js:776 -#: templates/js/translated/sales_order.js:1067 -#: templates/js/translated/sales_order.js:1982 -#: templates/js/translated/stock.js:1536 templates/js/translated/stock.js:2430 +#: templates/js/translated/purchase_order.js:2200 +#: templates/js/translated/return_order.js:775 +#: templates/js/translated/sales_order.js:1103 +#: templates/js/translated/sales_order.js:2018 +#: templates/js/translated/stock.js:1536 templates/js/translated/stock.js:2428 msgid "Notes" msgstr "Ghi chú" @@ -132,7 +132,7 @@ msgstr "Miền email được cung cấp không được phê duyệt." msgid "Registration is disabled." msgstr "Đăng ký bị vô hiệu hóa." -#: InvenTree/helpers.py:525 order/models.py:541 order/models.py:743 +#: InvenTree/helpers.py:525 order/models.py:563 order/models.py:765 msgid "Invalid quantity provided" msgstr "Số lượng cung cấp không hợp lệ" @@ -355,142 +355,142 @@ msgstr "" msgid "Error running plugin validation" msgstr "" -#: InvenTree/models.py:162 +#: InvenTree/models.py:176 msgid "Metadata must be a python dict object" msgstr "Siêu dữ liệu phải là đối tượng từ điển của python" -#: InvenTree/models.py:168 +#: InvenTree/models.py:182 msgid "Plugin Metadata" msgstr "Phụ trợ siêu dữ liệu" -#: InvenTree/models.py:169 +#: InvenTree/models.py:183 msgid "JSON metadata field, for use by external plugins" msgstr "Trường siêu dữ liệu JSON, được sử dụng bởi phụ trợ bên ngoài" -#: InvenTree/models.py:399 +#: InvenTree/models.py:413 msgid "Improperly formatted pattern" msgstr "Mẫu được định dạng không thích hợp" -#: InvenTree/models.py:406 +#: InvenTree/models.py:420 msgid "Unknown format key specified" msgstr "Khóa định dạng không rõ ràng đã được chỉ định" -#: InvenTree/models.py:412 +#: InvenTree/models.py:426 msgid "Missing required format key" msgstr "Thiếu khóa định dạng cần thiết" -#: InvenTree/models.py:423 +#: InvenTree/models.py:437 msgid "Reference field cannot be empty" msgstr "Trường tham chiếu không thể rỗng" -#: InvenTree/models.py:431 +#: InvenTree/models.py:445 msgid "Reference must match required pattern" msgstr "Tham chiếu phải phù hợp với mẫu yêu cầu" -#: InvenTree/models.py:462 +#: InvenTree/models.py:476 msgid "Reference number is too large" msgstr "Số tham chiếu quá lớn" -#: InvenTree/models.py:536 +#: InvenTree/models.py:550 msgid "Missing file" msgstr "Tập tin bị thiếu" -#: InvenTree/models.py:537 +#: InvenTree/models.py:551 msgid "Missing external link" msgstr "Thiếu liên kết bên ngoài" -#: InvenTree/models.py:558 stock/models.py:2456 +#: InvenTree/models.py:572 stock/models.py:2433 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" msgstr "Đính kèm" -#: InvenTree/models.py:559 +#: InvenTree/models.py:573 msgid "Select file to attach" msgstr "Chọn file đính kèm" -#: InvenTree/models.py:567 common/models.py:3026 company/models.py:146 +#: InvenTree/models.py:581 common/models.py:3032 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 -#: order/models.py:291 order/models.py:1288 order/models.py:1704 -#: part/admin.py:55 part/models.py:919 +#: order/models.py:304 order/models.py:1328 order/models.py:1744 +#: part/admin.py:55 part/models.py:962 #: part/templates/part/part_scheduling.html:11 -#: report/templates/report/inventree_build_order_base.html:164 +#: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2456 -#: templates/js/translated/purchase_order.js:2041 -#: templates/js/translated/purchase_order.js:2205 -#: templates/js/translated/return_order.js:780 -#: templates/js/translated/sales_order.js:1056 -#: templates/js/translated/sales_order.js:1987 +#: templates/js/translated/part.js:2455 +#: templates/js/translated/purchase_order.js:2040 +#: templates/js/translated/purchase_order.js:2204 +#: templates/js/translated/return_order.js:779 +#: templates/js/translated/sales_order.js:1092 +#: templates/js/translated/sales_order.js:2023 msgid "Link" msgstr "Liên kết" -#: InvenTree/models.py:568 build/models.py:321 part/models.py:920 -#: stock/models.py:819 +#: InvenTree/models.py:582 build/models.py:344 part/models.py:963 +#: stock/models.py:840 msgid "Link to external URL" msgstr "Liên kết đến URL bên ngoài" -#: InvenTree/models.py:574 templates/js/translated/attachment.js:120 +#: InvenTree/models.py:588 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:341 msgid "Comment" msgstr "Bình luận" -#: InvenTree/models.py:575 +#: InvenTree/models.py:589 msgid "File comment" msgstr "Bình luận tệp tin" -#: InvenTree/models.py:583 InvenTree/models.py:584 common/models.py:2502 -#: common/models.py:2503 common/models.py:2727 common/models.py:2728 -#: common/models.py:2973 common/models.py:2974 part/models.py:3185 -#: part/models.py:3272 part/models.py:3365 part/models.py:3393 -#: plugin/models.py:250 plugin/models.py:251 -#: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3039 users/models.py:111 +#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2508 +#: common/models.py:2509 common/models.py:2733 common/models.py:2734 +#: common/models.py:2979 common/models.py:2980 part/models.py:3228 +#: part/models.py:3315 part/models.py:3408 part/models.py:3436 +#: plugin/models.py:259 plugin/models.py:260 +#: report/templates/report/inventree_test_report.html:105 +#: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" msgstr "Người dùng" -#: InvenTree/models.py:588 +#: InvenTree/models.py:602 msgid "upload date" msgstr "Ngày tải lên" -#: InvenTree/models.py:610 +#: InvenTree/models.py:624 msgid "Filename must not be empty" msgstr "Tên tập tin không được để trống" -#: InvenTree/models.py:621 +#: InvenTree/models.py:635 msgid "Invalid attachment directory" msgstr "Thư mục đính kèm không hợp lệ" -#: InvenTree/models.py:651 +#: InvenTree/models.py:665 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "Tên tập tin chứa ký tự không hợp lệ '{c}'" -#: InvenTree/models.py:654 +#: InvenTree/models.py:668 msgid "Filename missing extension" msgstr "Tên tệp tin thiếu phần mở rộng" -#: InvenTree/models.py:663 +#: InvenTree/models.py:677 msgid "Attachment with this filename already exists" msgstr "Tên của tệp đính kèm này đã tồn tại" -#: InvenTree/models.py:670 +#: InvenTree/models.py:684 msgid "Error renaming file" msgstr "Lỗi khi đổi tên tệp tin" -#: InvenTree/models.py:846 +#: InvenTree/models.py:860 msgid "Duplicate names cannot exist under the same parent" msgstr "Tên trùng lặp không thể tồn tại trong cùng cấp thư mục" -#: InvenTree/models.py:863 +#: InvenTree/models.py:877 msgid "Invalid choice" msgstr "Lựa chọn sai" -#: InvenTree/models.py:893 common/models.py:2714 common/models.py:3112 -#: common/serializers.py:403 company/models.py:614 label/models.py:120 -#: machine/models.py:24 part/models.py:855 part/models.py:3616 -#: plugin/models.py:41 report/models.py:176 stock/models.py:76 +#: InvenTree/models.py:907 common/models.py:2720 common/models.py:3118 +#: common/serializers.py:403 company/models.py:614 machine/models.py:24 +#: part/models.py:898 part/models.py:3659 plugin/models.py:50 +#: report/models.py:149 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -503,22 +503,22 @@ msgstr "Lựa chọn sai" #: templates/js/translated/company.js:1165 #: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186 #: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2719 +#: templates/js/translated/part.js:2748 templates/js/translated/stock.js:2716 msgid "Name" msgstr "Tên" -#: InvenTree/models.py:899 build/models.py:194 +#: InvenTree/models.py:913 build/models.py:217 #: build/templates/build/detail.html:24 common/models.py:136 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 label/models.py:127 -#: order/models.py:277 order/models.py:1316 part/admin.py:303 part/admin.py:414 -#: part/models.py:878 part/models.py:3631 part/templates/part/category.html:82 +#: company/templates/company/supplier_part.html:107 order/models.py:290 +#: order/models.py:1356 part/admin.py:305 part/admin.py:416 part/models.py:921 +#: part/models.py:3674 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 -#: part/templates/part/part_scheduling.html:12 report/models.py:189 -#: report/models.py:655 report/models.py:729 -#: report/templates/report/inventree_build_order_base.html:117 +#: part/templates/part/part_scheduling.html:12 report/models.py:155 +#: report/models.py:510 report/models.py:536 +#: report/templates/report/inventree_build_order_report.html:117 #: stock/admin.py:55 stock/models.py:82 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 @@ -530,71 +530,71 @@ msgstr "Tên" #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 -#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2896 +#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2354 +#: templates/js/translated/part.js:2784 templates/js/translated/part.js:2895 #: templates/js/translated/plugin.js:80 -#: templates/js/translated/purchase_order.js:1707 -#: templates/js/translated/purchase_order.js:1850 -#: templates/js/translated/purchase_order.js:2023 -#: templates/js/translated/return_order.js:314 -#: templates/js/translated/sales_order.js:802 -#: templates/js/translated/sales_order.js:1812 -#: templates/js/translated/stock.js:1515 templates/js/translated/stock.js:2060 -#: templates/js/translated/stock.js:2751 templates/js/translated/stock.js:2834 +#: templates/js/translated/purchase_order.js:1706 +#: templates/js/translated/purchase_order.js:1849 +#: templates/js/translated/purchase_order.js:2022 +#: templates/js/translated/return_order.js:313 +#: templates/js/translated/sales_order.js:838 +#: templates/js/translated/sales_order.js:1848 +#: templates/js/translated/stock.js:1515 templates/js/translated/stock.js:2058 +#: templates/js/translated/stock.js:2748 templates/js/translated/stock.js:2831 msgid "Description" msgstr "Mô tả" -#: InvenTree/models.py:900 stock/models.py:83 +#: InvenTree/models.py:914 stock/models.py:83 msgid "Description (optional)" msgstr "Mô tả (tùy chọn)" -#: InvenTree/models.py:909 +#: InvenTree/models.py:923 msgid "parent" msgstr "thư mục cha" -#: InvenTree/models.py:915 templates/js/translated/part.js:2794 -#: templates/js/translated/stock.js:2760 +#: InvenTree/models.py:929 templates/js/translated/part.js:2793 +#: templates/js/translated/stock.js:2757 msgid "Path" msgstr "Đường dẫn" -#: InvenTree/models.py:1021 +#: InvenTree/models.py:1035 msgid "Markdown notes (optional)" msgstr "Ghi chú markdown (không bắt buộc)" -#: InvenTree/models.py:1050 +#: InvenTree/models.py:1064 msgid "Barcode Data" msgstr "Dữ liệu mã vạch" -#: InvenTree/models.py:1051 +#: InvenTree/models.py:1065 msgid "Third party barcode data" msgstr "Dữ liệu mã vạch của bên thứ ba" -#: InvenTree/models.py:1057 +#: InvenTree/models.py:1071 msgid "Barcode Hash" msgstr "Dữ liệu băm mã vạch" -#: InvenTree/models.py:1058 +#: InvenTree/models.py:1072 msgid "Unique hash of barcode data" msgstr "Chuỗi băm duy nhất của dữ liệu mã vạch" -#: InvenTree/models.py:1111 +#: InvenTree/models.py:1125 msgid "Existing barcode found" msgstr "Mã vạch đã tồn tại" -#: InvenTree/models.py:1154 +#: InvenTree/models.py:1168 msgid "Server Error" msgstr "Lỗi máy chủ" -#: InvenTree/models.py:1155 +#: InvenTree/models.py:1169 msgid "An error has been logged by the server." msgstr "Lỗi đã được ghi lại bởi máy chủ." -#: InvenTree/serializers.py:62 part/models.py:4169 +#: InvenTree/serializers.py:62 part/models.py:4212 msgid "Must be a valid number" msgstr "Phải là một số hợp lệ" #: InvenTree/serializers.py:99 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:2993 +#: company/templates/company/company_base.html:112 part/models.py:3036 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -686,7 +686,7 @@ msgstr "URL của tệp hình ảnh bên ngoài" msgid "Downloading images from remote URL is not enabled" msgstr "Chức năng tải hình ảnh từ URL bên ngoài không được bật" -#: InvenTree/status.py:66 part/serializers.py:1161 +#: InvenTree/status.py:66 part/serializers.py:1176 msgid "Background worker check failed" msgstr "Nhân công chạy ngầm kiểm tra thất bại" @@ -699,8 +699,8 @@ msgid "InvenTree system health checks failed" msgstr "Kiểm tra tình trạng hệ thống InvenTree thất bại" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:37 -#: InvenTree/status_codes.py:148 InvenTree/status_codes.py:164 -#: InvenTree/status_codes.py:182 generic/states/tests.py:17 +#: InvenTree/status_codes.py:149 InvenTree/status_codes.py:165 +#: InvenTree/status_codes.py:183 generic/states/tests.py:17 #: templates/js/translated/table_filters.js:598 msgid "Pending" msgstr "Đợi duyệt" @@ -709,188 +709,188 @@ msgstr "Đợi duyệt" msgid "Placed" msgstr "Đã đặt" -#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:151 -#: InvenTree/status_codes.py:169 generic/states/tests.py:19 -#: order/templates/order/order_base.html:158 -#: order/templates/order/sales_order_base.html:161 +#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:44 +#: InvenTree/status_codes.py:152 InvenTree/status_codes.py:170 +#: generic/states/tests.py:19 order/templates/order/order_base.html:158 +#: order/templates/order/sales_order_base.html:165 report/models.py:444 msgid "Complete" msgstr "Hoàn thành" -#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:44 -#: InvenTree/status_codes.py:150 InvenTree/status_codes.py:170 +#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:45 +#: InvenTree/status_codes.py:151 InvenTree/status_codes.py:171 msgid "Cancelled" msgstr "Đã hủy" -#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:45 -#: InvenTree/status_codes.py:67 +#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:46 +#: InvenTree/status_codes.py:68 msgid "Lost" msgstr "Mất" -#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:46 -#: InvenTree/status_codes.py:73 +#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:47 +#: InvenTree/status_codes.py:74 msgid "Returned" msgstr "Đã trả lại" -#: InvenTree/status_codes.py:40 InvenTree/status_codes.py:167 +#: InvenTree/status_codes.py:40 InvenTree/status_codes.py:168 msgid "In Progress" msgstr "Đang tiến hành" -#: InvenTree/status_codes.py:43 order/models.py:1566 -#: templates/js/translated/sales_order.js:1523 -#: templates/js/translated/sales_order.js:1644 -#: templates/js/translated/sales_order.js:1957 +#: InvenTree/status_codes.py:43 order/models.py:1606 +#: templates/js/translated/sales_order.js:1559 +#: templates/js/translated/sales_order.js:1680 +#: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "Đã chuyển" -#: InvenTree/status_codes.py:62 +#: InvenTree/status_codes.py:63 msgid "OK" msgstr "Đồng ý" -#: InvenTree/status_codes.py:63 +#: InvenTree/status_codes.py:64 msgid "Attention needed" msgstr "Chú ý cần thiết" -#: InvenTree/status_codes.py:64 +#: InvenTree/status_codes.py:65 msgid "Damaged" msgstr "Bị hư hại" -#: InvenTree/status_codes.py:65 +#: InvenTree/status_codes.py:66 msgid "Destroyed" msgstr "Đã hủy" -#: InvenTree/status_codes.py:66 +#: InvenTree/status_codes.py:67 msgid "Rejected" msgstr "Đã từ chối" -#: InvenTree/status_codes.py:70 +#: InvenTree/status_codes.py:71 msgid "Quarantined" msgstr "Đã cách ly" -#: InvenTree/status_codes.py:91 +#: InvenTree/status_codes.py:92 msgid "Legacy stock tracking entry" msgstr "Mục theo dõi kho cổ điển" -#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:544 +#: InvenTree/status_codes.py:94 templates/js/translated/stock.js:544 msgid "Stock item created" msgstr "Kho hàng đã được khởi tạo" -#: InvenTree/status_codes.py:96 +#: InvenTree/status_codes.py:97 msgid "Edited stock item" msgstr "Sửa kho hàng" -#: InvenTree/status_codes.py:97 +#: InvenTree/status_codes.py:98 msgid "Assigned serial number" msgstr "Số sê ri đã được gán" -#: InvenTree/status_codes.py:100 +#: InvenTree/status_codes.py:101 msgid "Stock counted" msgstr "Kho đã đếm" -#: InvenTree/status_codes.py:101 +#: InvenTree/status_codes.py:102 msgid "Stock manually added" msgstr "Kho được thêm thủ công" -#: InvenTree/status_codes.py:102 +#: InvenTree/status_codes.py:103 msgid "Stock manually removed" msgstr "Kho được xóa thủ công" -#: InvenTree/status_codes.py:105 +#: InvenTree/status_codes.py:106 msgid "Location changed" msgstr "Vị trí đã thay đổi" -#: InvenTree/status_codes.py:106 +#: InvenTree/status_codes.py:107 msgid "Stock updated" msgstr "Kho hàng đã được cập nhật" -#: InvenTree/status_codes.py:109 +#: InvenTree/status_codes.py:110 msgid "Installed into assembly" msgstr "Đã cài đặt vào bộ phận lắp ráp" -#: InvenTree/status_codes.py:110 +#: InvenTree/status_codes.py:111 msgid "Removed from assembly" msgstr "Di rời khỏi bộ phận lắp ráp" -#: InvenTree/status_codes.py:112 +#: InvenTree/status_codes.py:113 msgid "Installed component item" msgstr "Mục thành phần đã cài đặt" -#: InvenTree/status_codes.py:113 +#: InvenTree/status_codes.py:114 msgid "Removed component item" msgstr "Mục thành phần đã di rời" -#: InvenTree/status_codes.py:116 +#: InvenTree/status_codes.py:117 msgid "Split from parent item" msgstr "Tách từ mục cha" -#: InvenTree/status_codes.py:117 +#: InvenTree/status_codes.py:118 msgid "Split child item" msgstr "Tách mục con" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1858 +#: InvenTree/status_codes.py:121 templates/js/translated/stock.js:1858 msgid "Merged stock items" msgstr "Kho hàng đã được gộp" -#: InvenTree/status_codes.py:123 +#: InvenTree/status_codes.py:124 msgid "Converted to variant" msgstr "Đã chuyển đổi sang biến thể" -#: InvenTree/status_codes.py:126 +#: InvenTree/status_codes.py:127 msgid "Build order output created" msgstr "Đầu ra đơn đặt bản dựng đã được tạo" -#: InvenTree/status_codes.py:127 +#: InvenTree/status_codes.py:128 msgid "Build order output completed" msgstr "Đầu ra đơn đặt bản dựng đã hoàn thành" -#: InvenTree/status_codes.py:128 +#: InvenTree/status_codes.py:129 msgid "Build order output rejected" msgstr "Đầu ra đơn đặt bản dựng bị từ chối" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1764 +#: InvenTree/status_codes.py:130 templates/js/translated/stock.js:1764 msgid "Consumed by build order" msgstr "Tiêu hao bởi đơn đặt bản dựng" -#: InvenTree/status_codes.py:132 +#: InvenTree/status_codes.py:133 msgid "Shipped against Sales Order" msgstr "Vận chyển dựa vào đơn đặt bản dựng" -#: InvenTree/status_codes.py:135 +#: InvenTree/status_codes.py:136 msgid "Received against Purchase Order" msgstr "Đã nhận dựa vào đơn đặt hàng mua" -#: InvenTree/status_codes.py:138 +#: InvenTree/status_codes.py:139 msgid "Returned against Return Order" msgstr "Trả hành dựa vào đơn hàng trả lại" -#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:375 +#: InvenTree/status_codes.py:142 templates/js/translated/table_filters.js:375 msgid "Sent to customer" msgstr "Gửi đến khách hàng" -#: InvenTree/status_codes.py:142 +#: InvenTree/status_codes.py:143 msgid "Returned from customer" msgstr "Bị trả lại từ khách hàng" -#: InvenTree/status_codes.py:149 +#: InvenTree/status_codes.py:150 msgid "Production" msgstr "Sản xuất" -#: InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:186 msgid "Return" msgstr "Trả lại" -#: InvenTree/status_codes.py:188 +#: InvenTree/status_codes.py:189 msgid "Repair" msgstr "Sửa chữa" -#: InvenTree/status_codes.py:191 +#: InvenTree/status_codes.py:192 msgid "Replace" msgstr "Thay thế" -#: InvenTree/status_codes.py:194 +#: InvenTree/status_codes.py:195 msgid "Refund" msgstr "Hoàn tiền" -#: InvenTree/status_codes.py:197 +#: InvenTree/status_codes.py:198 msgid "Reject" msgstr "Từ chối" @@ -946,14 +946,14 @@ msgstr "Giới thiệu" msgid "Build must be cancelled before it can be deleted" msgstr "Bạn dựng phải được hủy bỏ trước khi có thể xóa được" -#: build/api.py:299 part/models.py:4047 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4090 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "Vật tư tiêu hao" -#: build/api.py:300 part/models.py:4041 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4084 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -969,7 +969,7 @@ msgstr "Đã theo dõi" #: build/api.py:303 part/admin.py:144 templates/js/translated/build.js:1744 #: templates/js/translated/build.js:2629 -#: templates/js/translated/sales_order.js:1929 +#: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "Đã cấp phát" @@ -980,7 +980,7 @@ msgstr "Đã cấp phát" #: templates/email/low_stock_notification.html:17 #: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 #: templates/js/translated/index.js:123 -#: templates/js/translated/model_renderers.js:228 +#: templates/js/translated/model_renderers.js:234 #: templates/js/translated/part.js:692 templates/js/translated/part.js:694 #: templates/js/translated/part.js:699 #: templates/js/translated/table_filters.js:340 @@ -988,16 +988,16 @@ msgstr "Đã cấp phát" msgid "Available" msgstr "Có sẵn" -#: build/models.py:74 build/templates/build/build_base.html:9 +#: build/models.py:82 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 -#: report/templates/report/inventree_build_order_base.html:105 -#: templates/email/build_order_completed.html:16 +#: report/templates/report/inventree_build_order_report.html:105 +#: stock/serializers.py:83 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2895 +#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2892 msgid "Build Order" msgstr "Tạo đơn hàng" -#: build/models.py:75 build/templates/build/build_base.html:13 +#: build/models.py:83 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -1008,71 +1008,71 @@ msgstr "Tạo đơn hàng" msgid "Build Orders" msgstr "Tạo đơn hàng" -#: build/models.py:122 +#: build/models.py:130 msgid "Invalid choice for parent build" msgstr "Lựa chọn sai cho bản dựng cha" -#: build/models.py:133 order/models.py:239 +#: build/models.py:141 order/models.py:241 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:139 +#: build/models.py:147 msgid "Build order part cannot be changed" msgstr "Sản phẩm đơn đặt bản dựng không thể thay đổi được" -#: build/models.py:185 +#: build/models.py:208 msgid "Build Order Reference" msgstr "Tham chiếu đơn đặt bản dựng" -#: build/models.py:186 order/models.py:442 order/models.py:898 -#: order/models.py:1276 order/models.py:1998 part/admin.py:417 -#: part/models.py:4062 part/templates/part/upload_bom.html:54 +#: build/models.py:209 order/models.py:464 order/models.py:929 +#: order/models.py:1316 order/models.py:2047 part/admin.py:419 +#: part/models.py:4105 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 -#: report/templates/report/inventree_so_report_base.html:28 +#: report/templates/report/inventree_purchase_order_report.html:28 +#: report/templates/report/inventree_return_order_report.html:26 +#: report/templates/report/inventree_sales_order_report.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 #: templates/js/translated/build.js:2512 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 -#: templates/js/translated/purchase_order.js:2066 -#: templates/js/translated/return_order.js:729 -#: templates/js/translated/sales_order.js:1818 +#: templates/js/translated/purchase_order.js:2065 +#: templates/js/translated/return_order.js:728 +#: templates/js/translated/sales_order.js:1854 msgid "Reference" msgstr "Tham chiếu" -#: build/models.py:197 +#: build/models.py:220 msgid "Brief description of the build (optional)" msgstr "Mô tả ngắn về phiên bạn (Tùy chọn)" -#: build/models.py:205 build/templates/build/build_base.html:183 +#: build/models.py:228 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Phiên bản cha" -#: build/models.py:206 +#: build/models.py:229 msgid "BuildOrder to which this build is allocated" msgstr "Đơn đặt bản dựng với bản dựng này đã được phân bổ" -#: build/models.py:211 build/templates/build/build_base.html:97 +#: build/models.py:234 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 -#: order/models.py:1401 order/models.py:1546 order/models.py:1547 -#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004 -#: part/models.py:3148 part/models.py:3292 part/models.py:3315 -#: part/models.py:3336 part/models.py:3358 part/models.py:3468 -#: part/models.py:3764 part/models.py:3920 part/models.py:4013 -#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713 +#: order/models.py:1441 order/models.py:1586 order/models.py:1587 +#: part/api.py:1501 part/api.py:1795 part/models.py:392 part/models.py:3047 +#: part/models.py:3191 part/models.py:3335 part/models.py:3358 +#: part/models.py:3379 part/models.py:3401 part/models.py:3511 +#: part/models.py:3807 part/models.py:3963 part/models.py:4056 +#: part/models.py:4417 part/serializers.py:1122 part/serializers.py:1728 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 -#: report/templates/report/inventree_build_order_base.html:109 -#: report/templates/report/inventree_po_report_base.html:27 -#: report/templates/report/inventree_return_order_report_base.html:24 -#: report/templates/report/inventree_slr_report.html:102 -#: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:267 stock/serializers.py:689 -#: templates/InvenTree/search.html:82 +#: report/templates/report/inventree_build_order_report.html:109 +#: report/templates/report/inventree_purchase_order_report.html:27 +#: report/templates/report/inventree_return_order_report.html:24 +#: report/templates/report/inventree_sales_order_report.html:27 +#: report/templates/report/inventree_stock_location_report.html:102 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:396 +#: stock/serializers.py:818 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -1086,235 +1086,239 @@ msgstr "Đơn đặt bản dựng với bản dựng này đã được phân b #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 #: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 -#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:2323 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:751 #: templates/js/translated/purchase_order.js:1304 -#: templates/js/translated/purchase_order.js:1849 -#: templates/js/translated/purchase_order.js:2008 -#: templates/js/translated/return_order.js:539 -#: templates/js/translated/return_order.js:710 +#: templates/js/translated/purchase_order.js:1848 +#: templates/js/translated/purchase_order.js:2007 +#: templates/js/translated/return_order.js:538 +#: templates/js/translated/return_order.js:709 #: templates/js/translated/sales_order.js:300 -#: templates/js/translated/sales_order.js:1197 -#: templates/js/translated/sales_order.js:1598 -#: templates/js/translated/sales_order.js:1796 +#: templates/js/translated/sales_order.js:1233 +#: templates/js/translated/sales_order.js:1634 +#: templates/js/translated/sales_order.js:1832 #: templates/js/translated/stock.js:676 templates/js/translated/stock.js:842 -#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1999 -#: templates/js/translated/stock.js:2860 templates/js/translated/stock.js:3093 -#: templates/js/translated/stock.js:3239 +#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1997 +#: templates/js/translated/stock.js:2857 templates/js/translated/stock.js:3090 +#: templates/js/translated/stock.js:3236 msgid "Part" msgstr "Nguyên liệu" -#: build/models.py:219 +#: build/models.py:242 msgid "Select part to build" msgstr "Chọn sản phẩm để xây dựng" -#: build/models.py:224 +#: build/models.py:247 msgid "Sales Order Reference" msgstr "Tham chiếu đơn đặt bản dựng" -#: build/models.py:228 +#: build/models.py:251 msgid "SalesOrder to which this build is allocated" msgstr "Đơn đặt bán hàng với bản dựng này đã được phân bổ" -#: build/models.py:233 build/serializers.py:970 +#: build/models.py:256 build/serializers.py:969 #: templates/js/translated/build.js:1731 -#: templates/js/translated/sales_order.js:1185 +#: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "Địa điểm nguồn" -#: build/models.py:237 +#: build/models.py:260 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Chọn địa điểm để lấy trong kho cho bản dựng này (để trống để lấy từ bất kỳ vị trí kho nào)" -#: build/models.py:242 +#: build/models.py:265 msgid "Destination Location" msgstr "Địa điểm đích" -#: build/models.py:246 +#: build/models.py:269 msgid "Select location where the completed items will be stored" msgstr "Chọn địa điểm nơi hàng hóa hoàn thiện sẽ được lưu kho" -#: build/models.py:250 +#: build/models.py:273 msgid "Build Quantity" msgstr "Xây dựng số lượng" -#: build/models.py:253 +#: build/models.py:276 msgid "Number of stock items to build" msgstr "Số kho hàng để dựng" -#: build/models.py:257 +#: build/models.py:280 msgid "Completed items" msgstr "Những mục hoàn thành" -#: build/models.py:259 +#: build/models.py:282 msgid "Number of stock items which have been completed" msgstr "Số sản phẩm trong kho đã được hoàn thiện" -#: build/models.py:263 +#: build/models.py:286 msgid "Build Status" msgstr "Trnạg thái bản dựng" -#: build/models.py:267 +#: build/models.py:290 msgid "Build status code" msgstr "Mã trạng thái bản dựng" -#: build/models.py:276 build/serializers.py:278 order/serializers.py:581 -#: stock/models.py:823 stock/serializers.py:1333 +#: build/models.py:299 build/serializers.py:277 order/serializers.py:581 +#: stock/models.py:844 stock/serializers.py:75 stock/serializers.py:1462 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Mã lô hàng" -#: build/models.py:280 build/serializers.py:279 +#: build/models.py:303 build/serializers.py:278 msgid "Batch code for this build output" msgstr "Mã lô cho đầu ra bản dựng này" -#: build/models.py:283 order/models.py:304 order/serializers.py:120 -#: part/models.py:1079 part/templates/part/part_base.html:310 -#: templates/js/translated/return_order.js:339 -#: templates/js/translated/sales_order.js:827 +#: build/models.py:306 order/models.py:317 order/serializers.py:120 +#: part/models.py:1122 part/templates/part/part_base.html:310 +#: templates/js/translated/return_order.js:338 +#: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "Ngày tạo" -#: build/models.py:287 +#: build/models.py:310 msgid "Target completion date" msgstr "Ngày hoàn thành mục tiêu" -#: build/models.py:288 +#: build/models.py:311 msgid "Target date for build completion. Build will be overdue after this date." msgstr "Ngày mục tiêu để hoàn thành bản dựng. Bản dựng sẽ bị quá hạn sau ngày này." -#: build/models.py:291 order/models.py:500 order/models.py:2043 +#: build/models.py:314 order/models.py:522 order/models.py:2092 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "Ngày hoàn thành" -#: build/models.py:297 +#: build/models.py:320 msgid "completed by" msgstr "hoàn thành bởi" -#: build/models.py:305 templates/js/translated/build.js:2207 +#: build/models.py:328 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "Cấp bởi" -#: build/models.py:306 +#: build/models.py:329 msgid "User who issued this build order" msgstr "Người dùng người đã được phân công cho đơn đặt bản dựng này" -#: build/models.py:314 build/templates/build/build_base.html:204 +#: build/models.py:337 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:145 -#: order/models.py:322 order/templates/order/order_base.html:217 +#: order/models.py:335 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1096 +#: order/templates/order/sales_order_base.html:232 part/models.py:1139 #: part/templates/part/part_base.html:390 -#: report/templates/report/inventree_build_order_base.html:158 +#: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 #: templates/js/translated/build.js:2219 -#: templates/js/translated/purchase_order.js:1764 -#: templates/js/translated/return_order.js:359 +#: templates/js/translated/purchase_order.js:1763 +#: templates/js/translated/return_order.js:358 #: templates/js/translated/table_filters.js:531 msgid "Responsible" msgstr "Chịu trách nhiệm" -#: build/models.py:315 +#: build/models.py:338 msgid "User or group responsible for this build order" msgstr "Người dùng hoặc nhóm có trách nhiệm với đơn đặt bản dựng này" -#: build/models.py:320 build/templates/build/detail.html:108 +#: build/models.py:343 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 -#: order/templates/order/sales_order_base.html:180 -#: part/templates/part/part_base.html:383 stock/models.py:819 +#: order/templates/order/sales_order_base.html:184 +#: part/templates/part/part_base.html:383 stock/models.py:840 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "Liên kết bên ngoài" -#: build/models.py:325 +#: build/models.py:348 msgid "Build Priority" msgstr "Độ ưu tiên" -#: build/models.py:328 +#: build/models.py:351 msgid "Priority of this build order" msgstr "Độ quan trọng của đơn đặt bản dựng" -#: build/models.py:335 common/models.py:129 order/admin.py:18 -#: order/models.py:286 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:358 common/models.py:129 order/admin.py:18 +#: order/models.py:299 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 -#: templates/js/translated/purchase_order.js:1711 -#: templates/js/translated/return_order.js:318 -#: templates/js/translated/sales_order.js:806 +#: templates/js/translated/purchase_order.js:1710 +#: templates/js/translated/return_order.js:317 +#: templates/js/translated/sales_order.js:842 #: templates/js/translated/table_filters.js:48 #: templates/project_code_data.html:6 msgid "Project Code" msgstr "Mã dự án" -#: build/models.py:336 +#: build/models.py:359 msgid "Project code for this build order" msgstr "Mã dự án cho đơn đặt bản dựng này" -#: build/models.py:566 build/models.py:631 +#: build/models.py:589 build/models.py:654 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:588 +#: build/models.py:611 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Đơn đặt bản dựng {build} đã được hoàn thành" -#: build/models.py:594 +#: build/models.py:617 msgid "A build order has been completed" msgstr "Một đơn đặt bản dựng đã được hoàn thành" -#: build/models.py:820 build/models.py:895 +#: build/models.py:843 build/models.py:918 msgid "No build output specified" msgstr "Không có đầu ra bản dựng đã được chỉ ra" -#: build/models.py:823 +#: build/models.py:846 msgid "Build output is already completed" msgstr "Đầu ra bản dựng đã được hoàn thiện" -#: build/models.py:826 +#: build/models.py:849 msgid "Build output does not match Build Order" msgstr "Đầu ra bản dựng không phù hợp với đơn đặt bản dựng" -#: build/models.py:899 build/serializers.py:221 build/serializers.py:260 -#: build/serializers.py:837 order/models.py:538 order/serializers.py:433 -#: order/serializers.py:576 part/serializers.py:1471 part/serializers.py:1871 -#: stock/models.py:662 stock/models.py:1482 stock/serializers.py:472 +#: build/models.py:922 build/serializers.py:220 build/serializers.py:259 +#: build/serializers.py:836 order/models.py:560 order/serializers.py:433 +#: order/serializers.py:576 part/serializers.py:1486 part/serializers.py:1886 +#: stock/models.py:683 stock/models.py:1503 stock/serializers.py:601 msgid "Quantity must be greater than zero" msgstr "Số lượng phải lớn hơn 0" -#: build/models.py:904 build/serializers.py:226 +#: build/models.py:927 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "Số lượng không thể lớn hơn số lượng đầu ra" -#: build/models.py:961 build/serializers.py:539 +#: build/models.py:984 build/serializers.py:538 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1323 +#: build/models.py:1335 +msgid "Build Order Line Item" +msgstr "" + +#: build/models.py:1360 msgid "Build object" msgstr "Dựng đối tượng" -#: build/models.py:1337 build/models.py:1593 build/serializers.py:208 -#: build/serializers.py:245 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2524 -#: order/models.py:1259 order/models.py:1918 order/serializers.py:1339 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 -#: part/forms.py:48 part/models.py:3162 part/models.py:4035 +#: build/models.py:1374 build/models.py:1630 build/serializers.py:207 +#: build/serializers.py:244 build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2530 +#: order/models.py:1299 order/models.py:1958 order/serializers.py:1339 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 +#: part/forms.py:48 part/models.py:3205 part/models.py:4078 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 -#: report/templates/report/inventree_build_order_base.html:113 -#: report/templates/report/inventree_po_report_base.html:29 -#: report/templates/report/inventree_slr_report.html:104 -#: report/templates/report/inventree_so_report_base.html:29 -#: report/templates/report/inventree_test_report_base.html:90 -#: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:160 stock/serializers.py:463 +#: report/templates/report/inventree_build_order_report.html:113 +#: report/templates/report/inventree_purchase_order_report.html:29 +#: report/templates/report/inventree_sales_order_report.html:29 +#: report/templates/report/inventree_stock_location_report.html:104 +#: report/templates/report/inventree_test_report.html:90 +#: report/templates/report/inventree_test_report.html:170 stock/admin.py:160 +#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:592 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1324,380 +1328,381 @@ msgstr "Dựng đối tượng" #: templates/js/translated/build.js:737 templates/js/translated/build.js:1369 #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 -#: templates/js/translated/model_renderers.js:230 +#: templates/js/translated/model_renderers.js:236 #: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3341 +#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3340 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 #: templates/js/translated/purchase_order.js:754 -#: templates/js/translated/purchase_order.js:1853 -#: templates/js/translated/purchase_order.js:2072 +#: templates/js/translated/purchase_order.js:1852 +#: templates/js/translated/purchase_order.js:2071 #: templates/js/translated/sales_order.js:317 -#: templates/js/translated/sales_order.js:1199 -#: templates/js/translated/sales_order.js:1518 -#: templates/js/translated/sales_order.js:1608 -#: templates/js/translated/sales_order.js:1698 -#: templates/js/translated/sales_order.js:1824 +#: templates/js/translated/sales_order.js:1235 +#: templates/js/translated/sales_order.js:1554 +#: templates/js/translated/sales_order.js:1644 +#: templates/js/translated/sales_order.js:1734 +#: templates/js/translated/sales_order.js:1860 #: templates/js/translated/stock.js:564 templates/js/translated/stock.js:702 -#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:3024 -#: templates/js/translated/stock.js:3107 +#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:3021 +#: templates/js/translated/stock.js:3104 msgid "Quantity" msgstr "Số lượng" -#: build/models.py:1338 +#: build/models.py:1375 msgid "Required quantity for build order" msgstr "Yêu cầu số lượng để dựng đơn đặt" -#: build/models.py:1418 +#: build/models.py:1455 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Xây dựng mục phải xác định đầu ra, bởi vì sản phẩm chủ được đánh dấu là có thể theo dõi" -#: build/models.py:1427 +#: build/models.py:1464 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Số lượng được phân bổ ({q}) không thể vượt quá số lượng có trong kho ({a})" -#: build/models.py:1437 order/models.py:1869 +#: build/models.py:1474 order/models.py:1909 msgid "Stock item is over-allocated" msgstr "Kho hàng đã bị phân bổ quá đà" -#: build/models.py:1443 order/models.py:1872 +#: build/models.py:1480 order/models.py:1912 msgid "Allocation quantity must be greater than zero" msgstr "Số lượng phân bổ phải lớn hơn 0" -#: build/models.py:1449 +#: build/models.py:1486 msgid "Quantity must be 1 for serialized stock" msgstr "Số lượng phải là 1 cho kho sê ri" -#: build/models.py:1508 +#: build/models.py:1545 msgid "Selected stock item does not match BOM line" msgstr "Hàng trong kho đã chọn không phù hợp với đường BOM" -#: build/models.py:1580 build/serializers.py:817 order/serializers.py:1183 -#: order/serializers.py:1204 stock/serializers.py:566 stock/serializers.py:1052 -#: stock/serializers.py:1164 stock/templates/stock/item_base.html:10 +#: build/models.py:1617 build/serializers.py:816 order/serializers.py:1183 +#: order/serializers.py:1204 stock/models.py:364 stock/serializers.py:92 +#: stock/serializers.py:695 stock/serializers.py:1181 stock/serializers.py:1293 +#: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 #: templates/js/translated/build.js:1745 #: templates/js/translated/sales_order.js:301 -#: templates/js/translated/sales_order.js:1198 -#: templates/js/translated/sales_order.js:1499 -#: templates/js/translated/sales_order.js:1504 -#: templates/js/translated/sales_order.js:1605 -#: templates/js/translated/sales_order.js:1692 +#: templates/js/translated/sales_order.js:1234 +#: templates/js/translated/sales_order.js:1535 +#: templates/js/translated/sales_order.js:1540 +#: templates/js/translated/sales_order.js:1641 +#: templates/js/translated/sales_order.js:1728 #: templates/js/translated/stock.js:677 templates/js/translated/stock.js:843 -#: templates/js/translated/stock.js:2980 +#: templates/js/translated/stock.js:2977 msgid "Stock Item" msgstr "Kho hàng" -#: build/models.py:1581 +#: build/models.py:1618 msgid "Source stock item" msgstr "Kho hàng gốc" -#: build/models.py:1594 +#: build/models.py:1631 msgid "Stock quantity to allocate to build" msgstr "Số lượng kho hàng cần chỉ định để xây dựng" -#: build/models.py:1602 +#: build/models.py:1639 msgid "Install into" msgstr "Cài đặt vào" -#: build/models.py:1603 +#: build/models.py:1640 msgid "Destination stock item" msgstr "Kho hàng đích" -#: build/serializers.py:158 build/serializers.py:846 +#: build/serializers.py:157 build/serializers.py:845 #: templates/js/translated/build.js:1322 msgid "Build Output" msgstr "Đầu ra bản dựng" -#: build/serializers.py:170 +#: build/serializers.py:169 msgid "Build output does not match the parent build" msgstr "Đầu ra xây dựng không hợp với bản dựng cha" -#: build/serializers.py:174 +#: build/serializers.py:173 msgid "Output part does not match BuildOrder part" msgstr "Đầu ra sản phẩm không phù hợp với bản dựng đơn đặt hàng" -#: build/serializers.py:178 +#: build/serializers.py:177 msgid "This build output has already been completed" msgstr "Đầu ra bản dựng này đã được hoàn thành" -#: build/serializers.py:189 +#: build/serializers.py:188 msgid "This build output is not fully allocated" msgstr "Đầu ra bản dựng này chưa được phân bổ đầy đủ" -#: build/serializers.py:209 build/serializers.py:246 +#: build/serializers.py:208 build/serializers.py:245 msgid "Enter quantity for build output" msgstr "Điền số lượng cho đầu ra bản dựng" -#: build/serializers.py:267 +#: build/serializers.py:266 msgid "Integer quantity required for trackable parts" msgstr "Số lượng nguyên dương cần phải điền cho sản phẩm có thể theo dõi" -#: build/serializers.py:270 +#: build/serializers.py:269 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Cần nhập số lượng nguyên dương, bởi vì hóa đơn vật liệu chứa sản phẩm có thể theo dõi" -#: build/serializers.py:285 order/serializers.py:589 order/serializers.py:1343 -#: stock/serializers.py:483 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:284 order/serializers.py:589 order/serializers.py:1343 +#: stock/serializers.py:612 templates/js/translated/purchase_order.js:1153 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "Số sê-ri" -#: build/serializers.py:286 +#: build/serializers.py:285 msgid "Enter serial numbers for build outputs" msgstr "Nhập vào số sêri cho đầu ra bản dựng" -#: build/serializers.py:291 build/serializers.py:432 build/serializers.py:504 +#: build/serializers.py:290 build/serializers.py:431 build/serializers.py:503 #: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1679 -#: part/serializers.py:1127 stock/serializers.py:494 stock/serializers.py:654 -#: stock/serializers.py:750 stock/serializers.py:1196 stock/serializers.py:1452 -#: stock/templates/stock/item_base.html:394 +#: part/serializers.py:1142 stock/serializers.py:101 stock/serializers.py:623 +#: stock/serializers.py:783 stock/serializers.py:879 stock/serializers.py:1325 +#: stock/serializers.py:1581 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 #: templates/js/translated/purchase_order.js:1178 #: templates/js/translated/purchase_order.js:1268 -#: templates/js/translated/sales_order.js:1511 -#: templates/js/translated/sales_order.js:1619 -#: templates/js/translated/sales_order.js:1627 -#: templates/js/translated/sales_order.js:1706 +#: templates/js/translated/sales_order.js:1547 +#: templates/js/translated/sales_order.js:1655 +#: templates/js/translated/sales_order.js:1663 +#: templates/js/translated/sales_order.js:1742 #: templates/js/translated/stock.js:678 templates/js/translated/stock.js:844 -#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2203 -#: templates/js/translated/stock.js:2874 +#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2201 +#: templates/js/translated/stock.js:2871 msgid "Location" msgstr "Địa điểm" -#: build/serializers.py:292 +#: build/serializers.py:291 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:306 +#: build/serializers.py:305 msgid "Auto Allocate Serial Numbers" msgstr "Số sêri tự cấp" -#: build/serializers.py:307 +#: build/serializers.py:306 msgid "Automatically allocate required items with matching serial numbers" msgstr "Tự động cấp số seri phù hợp cho hàng hóa được yêu cầu" -#: build/serializers.py:322 +#: build/serializers.py:321 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:347 stock/api.py:995 +#: build/serializers.py:346 stock/api.py:1029 msgid "The following serial numbers already exist or are invalid" msgstr "Số sêri sau đây đã tồn tại hoặc không hợp lệ" -#: build/serializers.py:394 build/serializers.py:456 build/serializers.py:545 +#: build/serializers.py:393 build/serializers.py:455 build/serializers.py:544 msgid "A list of build outputs must be provided" msgstr "Danh sách đầu ra bản dựng phải được cung cấp" -#: build/serializers.py:433 +#: build/serializers.py:432 msgid "Stock location for scrapped outputs" msgstr "Vị trí kho cho đầu ra phế phẩm" -#: build/serializers.py:439 +#: build/serializers.py:438 msgid "Discard Allocations" msgstr "Hủy phân bổ" -#: build/serializers.py:440 +#: build/serializers.py:439 msgid "Discard any stock allocations for scrapped outputs" msgstr "Hủy bất kỳ phân kho nào cho đầu ra phế phẩm" -#: build/serializers.py:445 +#: build/serializers.py:444 msgid "Reason for scrapping build output(s)" msgstr "Lý do loại bỏ đầu ra bản dựng" -#: build/serializers.py:505 +#: build/serializers.py:504 msgid "Location for completed build outputs" msgstr "Vị trí cho đầu ra bản dựng hoàn thiện" -#: build/serializers.py:511 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:922 -#: order/models.py:2022 order/serializers.py:597 stock/admin.py:165 -#: stock/serializers.py:801 stock/serializers.py:1340 +#: build/serializers.py:510 build/templates/build/build_base.html:151 +#: build/templates/build/detail.html:62 order/models.py:953 +#: order/models.py:2071 order/serializers.py:597 stock/admin.py:165 +#: stock/serializers.py:930 stock/serializers.py:1469 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 -#: templates/js/translated/purchase_order.js:1723 -#: templates/js/translated/return_order.js:331 -#: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2178 templates/js/translated/stock.js:2998 -#: templates/js/translated/stock.js:3123 +#: templates/js/translated/purchase_order.js:1722 +#: templates/js/translated/return_order.js:330 +#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/stock.js:2176 templates/js/translated/stock.js:2995 +#: templates/js/translated/stock.js:3120 msgid "Status" msgstr "Trạng thái" -#: build/serializers.py:517 +#: build/serializers.py:516 msgid "Accept Incomplete Allocation" msgstr "Chấp nhận phân kho dang dở" -#: build/serializers.py:518 +#: build/serializers.py:517 msgid "Complete outputs if stock has not been fully allocated" msgstr "Hoàn hiện đầu ra nếu kho chưa được phân bổ hết chỗ trống" -#: build/serializers.py:598 +#: build/serializers.py:597 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:599 +#: build/serializers.py:598 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:605 +#: build/serializers.py:604 msgid "Remove Incomplete Outputs" msgstr "Xóa toàn bộ đầu ra chưa hoàn thành" -#: build/serializers.py:606 +#: build/serializers.py:605 msgid "Delete any build outputs which have not been completed" msgstr "Xóa bất kỳ đầu ra bản dựng nào chưa được hoàn thành" -#: build/serializers.py:633 +#: build/serializers.py:632 msgid "Not permitted" msgstr "Chưa được cấp phép" -#: build/serializers.py:634 +#: build/serializers.py:633 msgid "Accept as consumed by this build order" msgstr "Chấp nhận trạng thái tiêu hao bởi đơn đặt bản dựng này" -#: build/serializers.py:635 +#: build/serializers.py:634 msgid "Deallocate before completing this build order" msgstr "Phân bổ trước khi hoàn thiện đơn đặt bản dựng này" -#: build/serializers.py:657 +#: build/serializers.py:656 msgid "Overallocated Stock" msgstr "Kho quá tải" -#: build/serializers.py:659 +#: build/serializers.py:658 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "Bạn muốn thế nào để xử lý hàng trong kho được gán thừa cho đơn đặt bản dựng" -#: build/serializers.py:669 +#: build/serializers.py:668 msgid "Some stock items have been overallocated" msgstr "Một vài hàng hóa đã được phân bổ quá thừa" -#: build/serializers.py:674 +#: build/serializers.py:673 msgid "Accept Unallocated" msgstr "Chấp nhận chưa phân bổ được" -#: build/serializers.py:675 +#: build/serializers.py:674 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Chấp nhận hàng hóa không được phân bổ đầy đủ vào đơn đặt bản dựng này" -#: build/serializers.py:685 templates/js/translated/build.js:315 +#: build/serializers.py:684 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" msgstr "Kho được yêu cầu chưa được phân bổ hết không gian" -#: build/serializers.py:690 order/serializers.py:301 order/serializers.py:1246 +#: build/serializers.py:689 order/serializers.py:301 order/serializers.py:1246 msgid "Accept Incomplete" msgstr "Chấp nhận không hoàn thành" -#: build/serializers.py:691 +#: build/serializers.py:690 msgid "Accept that the required number of build outputs have not been completed" msgstr "Chấp nhận số yêu cầu của đầu ra bản dựng chưa được hoàn thành" -#: build/serializers.py:701 templates/js/translated/build.js:319 +#: build/serializers.py:700 templates/js/translated/build.js:319 msgid "Required build quantity has not been completed" msgstr "Số lượng bản dựng được yêu cầu chưa được hoàn thành" -#: build/serializers.py:710 templates/js/translated/build.js:303 +#: build/serializers.py:709 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" msgstr "Đơn đặt bản dựng có đầu ra chưa hoàn thiện" -#: build/serializers.py:740 +#: build/serializers.py:739 msgid "Build Line" msgstr "Lộ giới" -#: build/serializers.py:750 +#: build/serializers.py:749 msgid "Build output" msgstr "Đầu ra bản dựng" -#: build/serializers.py:758 +#: build/serializers.py:757 msgid "Build output must point to the same build" msgstr "Đầu ra bản dựng phải chỉ đến bản dựng tương ứng" -#: build/serializers.py:794 +#: build/serializers.py:793 msgid "Build Line Item" msgstr "Mục chi tiết bản dựng" -#: build/serializers.py:808 +#: build/serializers.py:807 msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part phải trỏ đến phần tương tự của đơn đặt bản dựng" -#: build/serializers.py:823 stock/serializers.py:1065 +#: build/serializers.py:822 stock/serializers.py:1194 msgid "Item must be in stock" msgstr "Hàng hóa phải trong kho" -#: build/serializers.py:871 order/serializers.py:1237 +#: build/serializers.py:870 order/serializers.py:1237 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Số lượng có sẵn ({q}) đã bị vượt quá" -#: build/serializers.py:877 +#: build/serializers.py:876 msgid "Build output must be specified for allocation of tracked parts" msgstr "Đầu ra bản dựng phải được xác định cho việc phân sản phẩm được theo dõi" -#: build/serializers.py:884 +#: build/serializers.py:883 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "Đầu ra bản dựng không thể chỉ định cho việc phân sản phẩm chưa được theo dõi" -#: build/serializers.py:908 order/serializers.py:1489 +#: build/serializers.py:907 order/serializers.py:1489 msgid "Allocation items must be provided" msgstr "Hàng hóa phân bổ phải được cung cấp" -#: build/serializers.py:971 +#: build/serializers.py:970 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "Vị trí kho nơi sản phẩm được lấy ra (để trống để lấy từ bất kỳ vị trí nào)" -#: build/serializers.py:979 +#: build/serializers.py:978 msgid "Exclude Location" msgstr "Ngoại trừ vị trí" -#: build/serializers.py:980 +#: build/serializers.py:979 msgid "Exclude stock items from this selected location" msgstr "Không bao gồm hàng trong kho từ vị trí đã chọn này" -#: build/serializers.py:985 +#: build/serializers.py:984 msgid "Interchangeable Stock" msgstr "Kho trao đổi" -#: build/serializers.py:986 +#: build/serializers.py:985 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Hàng trong kho thuộc nhiều vị trí có thể dùng thay thế được cho nhau" -#: build/serializers.py:991 +#: build/serializers.py:990 msgid "Substitute Stock" msgstr "Kho thay thế" -#: build/serializers.py:992 +#: build/serializers.py:991 msgid "Allow allocation of substitute parts" msgstr "Cho phép phân kho sản phẩm thay thế" -#: build/serializers.py:997 +#: build/serializers.py:996 msgid "Optional Items" msgstr "Mục tùy chọn" -#: build/serializers.py:998 +#: build/serializers.py:997 msgid "Allocate optional BOM items to build order" msgstr "Phân bổ các mục hóa đơn vật liệu tùy chọn đến đơn đặt bản dựng" -#: build/serializers.py:1020 +#: build/serializers.py:1019 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1110 part/models.py:3930 part/models.py:4366 -#: stock/api.py:758 +#: build/serializers.py:1109 part/models.py:3973 part/models.py:4409 +#: stock/api.py:792 msgid "BOM Item" msgstr "Mục BOM" -#: build/serializers.py:1119 templates/js/translated/index.js:130 +#: build/serializers.py:1118 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1124 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:817 part/serializers.py:1489 +#: build/serializers.py:1123 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:832 part/serializers.py:1504 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 @@ -1705,15 +1710,15 @@ msgstr "" msgid "On Order" msgstr "Bật đơn hàng" -#: build/serializers.py:1129 part/serializers.py:1491 +#: build/serializers.py:1128 part/serializers.py:1506 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "Đang sản xuất" -#: build/serializers.py:1134 part/bom.py:172 part/serializers.py:1514 +#: build/serializers.py:1133 part/bom.py:172 part/serializers.py:1529 #: part/templates/part/part_base.html:192 -#: templates/js/translated/sales_order.js:1893 +#: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "Số hàng tồn" @@ -1842,18 +1847,18 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "Kho không được phân bổ đầy đủ với yêu cầu bản dựng này" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:297 -#: order/models.py:1294 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:310 +#: order/models.py:1334 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 -#: order/templates/order/sales_order_base.html:192 -#: report/templates/report/inventree_build_order_base.html:125 +#: order/templates/order/sales_order_base.html:196 +#: report/templates/report/inventree_build_order_report.html:125 #: templates/js/translated/build.js:2239 templates/js/translated/part.js:1830 -#: templates/js/translated/purchase_order.js:1740 -#: templates/js/translated/purchase_order.js:2148 -#: templates/js/translated/return_order.js:347 -#: templates/js/translated/return_order.js:751 -#: templates/js/translated/sales_order.js:835 -#: templates/js/translated/sales_order.js:1867 +#: templates/js/translated/purchase_order.js:1739 +#: templates/js/translated/purchase_order.js:2147 +#: templates/js/translated/return_order.js:346 +#: templates/js/translated/return_order.js:750 +#: templates/js/translated/sales_order.js:871 +#: templates/js/translated/sales_order.js:1903 msgid "Target Date" msgstr "Ngày mục tiêu" @@ -1866,7 +1871,7 @@ msgstr "Bản dựng đã đến hạn vào %(target)s" #: build/templates/build/build_base.html:222 #: order/templates/order/order_base.html:122 #: order/templates/order/return_order_base.html:117 -#: order/templates/order/sales_order_base.html:122 +#: order/templates/order/sales_order_base.html:126 #: templates/js/translated/table_filters.js:98 #: templates/js/translated/table_filters.js:524 #: templates/js/translated/table_filters.js:626 @@ -1880,24 +1885,24 @@ msgid "Completed Outputs" msgstr "Đầu ra hoàn thiện" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:1538 -#: order/models.py:1652 order/models.py:1806 +#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:848 +#: order/models.py:1578 order/models.py:1692 order/models.py:1846 #: 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 +#: report/templates/report/inventree_build_order_report.html:135 +#: report/templates/report/inventree_sales_order_report.html:14 #: stock/templates/stock/item_base.html:369 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:929 -#: templates/js/translated/sales_order.js:769 -#: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2927 +#: templates/js/translated/sales_order.js:805 +#: templates/js/translated/sales_order.js:1028 +#: templates/js/translated/stock.js:2924 msgid "Sales Order" msgstr "Đơn đặt hàng" #: build/templates/build/build_base.html:197 #: build/templates/build/detail.html:115 -#: report/templates/report/inventree_build_order_base.html:152 +#: report/templates/report/inventree_build_order_report.html:152 #: templates/js/translated/table_filters.js:24 msgid "Issued By" msgstr "Phát hành bởi" @@ -1907,15 +1912,15 @@ msgstr "Phát hành bởi" msgid "Priority" msgstr "Độ ưu tiên" -#: build/templates/build/build_base.html:273 +#: build/templates/build/build_base.html:269 msgid "Delete Build Order" msgstr "" -#: build/templates/build/build_base.html:283 +#: build/templates/build/build_base.html:279 msgid "Build Order QR Code" msgstr "" -#: build/templates/build/build_base.html:295 +#: build/templates/build/build_base.html:291 msgid "Link Barcode to Build Order" msgstr "" @@ -1931,8 +1936,8 @@ msgstr "Nguồn kho" msgid "Stock can be taken from any available location." msgstr "Kho có thể được lấy từ bất kỳ địa điểm nào." -#: build/templates/build/detail.html:49 order/models.py:1430 -#: templates/js/translated/purchase_order.js:2190 +#: build/templates/build/detail.html:49 order/models.py:1470 +#: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "Đích đến" @@ -1947,10 +1952,10 @@ msgstr "Sản phẩm đã phân bổ" #: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 #: templates/js/translated/build.js:1380 -#: templates/js/translated/model_renderers.js:235 +#: templates/js/translated/model_renderers.js:241 #: templates/js/translated/purchase_order.js:1274 -#: templates/js/translated/stock.js:1133 templates/js/translated/stock.js:2192 -#: templates/js/translated/stock.js:3130 +#: templates/js/translated/stock.js:1133 templates/js/translated/stock.js:2190 +#: templates/js/translated/stock.js:3127 #: templates/js/translated/table_filters.js:313 #: templates/js/translated/table_filters.js:404 msgid "Batch" @@ -1959,7 +1964,7 @@ msgstr "Hàng loạt" #: build/templates/build/detail.html:133 #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:151 -#: order/templates/order/sales_order_base.html:186 +#: order/templates/order/sales_order_base.html:190 #: templates/js/translated/build.js:2199 msgid "Created" msgstr "Đã tạo" @@ -1969,7 +1974,7 @@ msgid "No target date set" msgstr "Chưa đặt ngày mục tiêu" #: build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:202 +#: order/templates/order/sales_order_base.html:206 #: templates/js/translated/table_filters.js:689 msgid "Completed" msgstr "Đã hoàn thành" @@ -2260,8 +2265,8 @@ msgstr "Mức độ thường xuyên để cập nhật tỉ giá hối đoái ( #: common/models.py:1316 common/models.py:1372 common/models.py:1385 #: common/models.py:1393 common/models.py:1402 common/models.py:1411 -#: common/models.py:1613 common/models.py:1635 common/models.py:1750 -#: common/models.py:2061 +#: common/models.py:1619 common/models.py:1641 common/models.py:1756 +#: common/models.py:2067 msgid "days" msgstr "ngày" @@ -2402,1209 +2407,1218 @@ msgid "Enable revision field for Part" msgstr "Bật trường phiên bản cho sản phẩm" #: common/models.py:1440 +msgid "Allow Deletion from Assembly" +msgstr "" + +#: common/models.py:1441 +msgid "Allow deletion of parts which are used in an assembly" +msgstr "" + +#: common/models.py:1446 msgid "IPN Regex" msgstr "Mẫu IPN" -#: common/models.py:1441 +#: common/models.py:1447 msgid "Regular expression pattern for matching Part IPN" msgstr "Mẫu dùng nhanh phổ biến dành cho tìm IPN sản phẩm" -#: common/models.py:1444 +#: common/models.py:1450 msgid "Allow Duplicate IPN" msgstr "Cho phép trùng IPN" -#: common/models.py:1445 +#: common/models.py:1451 msgid "Allow multiple parts to share the same IPN" msgstr "Cho phép nhiều sản phẩm dùng IPN giống nhau" -#: common/models.py:1450 +#: common/models.py:1456 msgid "Allow Editing IPN" msgstr "Cho phép sửa IPN" -#: common/models.py:1451 +#: common/models.py:1457 msgid "Allow changing the IPN value while editing a part" msgstr "Cho phép đổi giá trị IPN khi sửa một sản phẩm" -#: common/models.py:1456 +#: common/models.py:1462 msgid "Copy Part BOM Data" msgstr "Sao chép dữ liệu BOM của sản phẩm" -#: common/models.py:1457 +#: common/models.py:1463 msgid "Copy BOM data by default when duplicating a part" msgstr "Sao chép dữ liệu BOM mặc định khi nhân bản 1 sản phẩm" -#: common/models.py:1462 +#: common/models.py:1468 msgid "Copy Part Parameter Data" msgstr "Sao chép dữ liệu tham số sản phẩm" -#: common/models.py:1463 +#: common/models.py:1469 msgid "Copy parameter data by default when duplicating a part" msgstr "Sao chép dữ liệu tham số mặc định khi nhân bản 1 sản phẩm" -#: common/models.py:1468 +#: common/models.py:1474 msgid "Copy Part Test Data" msgstr "Chép thông tin kiểm thử sản phẩm" -#: common/models.py:1469 +#: common/models.py:1475 msgid "Copy test data by default when duplicating a part" msgstr "Sao chép dữ liệu kiểm thử mặc định khi nhân bản 1 sản phẩm" -#: common/models.py:1474 +#: common/models.py:1480 msgid "Copy Category Parameter Templates" msgstr "Sao chéo mẫu tham số danh mục" -#: common/models.py:1475 +#: common/models.py:1481 msgid "Copy category parameter templates when creating a part" msgstr "Sao chéo mẫu tham số danh mục khi tạo 1 sản phẩm" -#: common/models.py:1480 part/admin.py:108 part/models.py:3772 -#: report/models.py:182 stock/serializers.py:99 +#: common/models.py:1486 part/admin.py:108 part/models.py:3815 +#: report/models.py:294 report/models.py:361 report/serializers.py:90 +#: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:767 msgid "Template" msgstr "Mẫu" -#: common/models.py:1481 +#: common/models.py:1487 msgid "Parts are templates by default" msgstr "Sản phẩm là mẫu bởi mặc định" -#: common/models.py:1486 part/admin.py:91 part/admin.py:431 part/models.py:1016 +#: common/models.py:1492 part/admin.py:91 part/admin.py:433 part/models.py:1059 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "Lắp ráp" -#: common/models.py:1487 +#: common/models.py:1493 msgid "Parts can be assembled from other components by default" msgstr "Sản phẩm có thể lắp giáp từ thành phần khác theo mặc định" -#: common/models.py:1492 part/admin.py:95 part/models.py:1022 +#: common/models.py:1498 part/admin.py:95 part/models.py:1065 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "Thành phần" -#: common/models.py:1493 +#: common/models.py:1499 msgid "Parts can be used as sub-components by default" msgstr "Sản phẩm có thể được sử dụng mặc định như thành phần phụ" -#: common/models.py:1498 part/admin.py:100 part/models.py:1034 +#: common/models.py:1504 part/admin.py:100 part/models.py:1077 msgid "Purchaseable" msgstr "Có thể mua" -#: common/models.py:1499 +#: common/models.py:1505 msgid "Parts are purchaseable by default" msgstr "Sản phẩm mặc định có thể mua được" -#: common/models.py:1504 part/admin.py:104 part/models.py:1040 +#: common/models.py:1510 part/admin.py:104 part/models.py:1083 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "Có thể bán" -#: common/models.py:1505 +#: common/models.py:1511 msgid "Parts are salable by default" msgstr "Sản phẩm mặc định có thể bán được" -#: common/models.py:1510 part/admin.py:113 part/models.py:1028 +#: common/models.py:1516 part/admin.py:113 part/models.py:1071 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "Có thể theo dõi" -#: common/models.py:1511 +#: common/models.py:1517 msgid "Parts are trackable by default" msgstr "Sản phẩm mặc định có thể theo dõi được" -#: common/models.py:1516 part/admin.py:117 part/models.py:1050 +#: common/models.py:1522 part/admin.py:117 part/models.py:1093 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "Ảo" -#: common/models.py:1517 +#: common/models.py:1523 msgid "Parts are virtual by default" msgstr "Sản phẩm mặc định là số hóa" -#: common/models.py:1522 +#: common/models.py:1528 msgid "Show Import in Views" msgstr "Hiển thị Nhập liệu trong khung xem" -#: common/models.py:1523 +#: common/models.py:1529 msgid "Display the import wizard in some part views" msgstr "Hiển thị đồ thuật nhập dữ liệu trong một số khung nhìn sản phẩm" -#: common/models.py:1528 +#: common/models.py:1534 msgid "Show related parts" msgstr "Hiển thị sản phẩm liên quan" -#: common/models.py:1529 +#: common/models.py:1535 msgid "Display related parts for a part" msgstr "Hiện sản phẩm liên quan cho 1 sản phẩm" -#: common/models.py:1534 +#: common/models.py:1540 msgid "Initial Stock Data" msgstr "Số liệu tồn kho ban đầu" -#: common/models.py:1535 +#: common/models.py:1541 msgid "Allow creation of initial stock when adding a new part" msgstr "Cho phép tạo tồn kho ban đầu khi thêm 1 sản phẩm mới" -#: common/models.py:1540 templates/js/translated/part.js:107 +#: common/models.py:1546 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "Dữ liệu nhà cung cấp ban đầu" -#: common/models.py:1542 +#: common/models.py:1548 msgid "Allow creation of initial supplier data when adding a new part" msgstr "Cho phép tạo dữ liệu nhà cung cấp ban đầu khi thêm 1 sản phẩm mới" -#: common/models.py:1548 +#: common/models.py:1554 msgid "Part Name Display Format" msgstr "Định dạng tên sản phẩm hiển thị" -#: common/models.py:1549 +#: common/models.py:1555 msgid "Format to display the part name" msgstr "Định dạng để hiển thị tên sản phẩm" -#: common/models.py:1555 +#: common/models.py:1561 msgid "Part Category Default Icon" msgstr "Biểu tượng mặc định của danh mục sản phẩm" -#: common/models.py:1556 +#: common/models.py:1562 msgid "Part category default icon (empty means no icon)" msgstr "Biểu tượng mặc định của danh mục sản phẩm (để trống nghĩa là không có biểu tượng)" -#: common/models.py:1560 +#: common/models.py:1566 msgid "Enforce Parameter Units" msgstr "Bắt buộc đơn vị tham số" -#: common/models.py:1562 +#: common/models.py:1568 msgid "If units are provided, parameter values must match the specified units" msgstr "Nếu đơn vị được cung cấp, giá trị tham số phải phù hợp với các đơn vị xác định" -#: common/models.py:1568 +#: common/models.py:1574 msgid "Minimum Pricing Decimal Places" msgstr "Vị trí phần thập phân giá bán tối thiểu" -#: common/models.py:1570 +#: common/models.py:1576 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "Số vị trí thập phân tối thiểu cần hiển thị khi tạo dữ liệu giá" -#: common/models.py:1576 +#: common/models.py:1582 msgid "Maximum Pricing Decimal Places" msgstr "Vị trí phần thập phân giá bán tối đa" -#: common/models.py:1578 +#: common/models.py:1584 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "Số vị trí thập phân tối đa cần hiển thị khi tạo dữ liệu giá" -#: common/models.py:1584 +#: common/models.py:1590 msgid "Use Supplier Pricing" msgstr "Sử dụng giá bán nhà cung cấp" -#: common/models.py:1586 +#: common/models.py:1592 msgid "Include supplier price breaks in overall pricing calculations" msgstr "Bao gồm giá phá vỡ cả nhà cung cấp trong tính toán giá tổng thể" -#: common/models.py:1592 +#: common/models.py:1598 msgid "Purchase History Override" msgstr "Ghi đè lịch sử mua hàng" -#: common/models.py:1594 +#: common/models.py:1600 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "Giá đơn hàng đặt mua trước đó ghi đè giá phá vỡ của nhà cung cấp" -#: common/models.py:1600 +#: common/models.py:1606 msgid "Use Stock Item Pricing" msgstr "Sử dụng giá hàng hóa trong kho" -#: common/models.py:1602 +#: common/models.py:1608 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "Dùng giá bán từ dữ liệu kho nhập vào thủ công đối với bộ tính toán giá bán" -#: common/models.py:1608 +#: common/models.py:1614 msgid "Stock Item Pricing Age" msgstr "Tuổi giá kho hàng" -#: common/models.py:1610 +#: common/models.py:1616 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "Loại trừ hàng hóa trong kho cũ hơn số ngày ngày từ bảng tính giá bán" -#: common/models.py:1617 +#: common/models.py:1623 msgid "Use Variant Pricing" msgstr "Sử dụng giá biến thể" -#: common/models.py:1618 +#: common/models.py:1624 msgid "Include variant pricing in overall pricing calculations" msgstr "Bao gồm giá biến thể trong bộ tính toán giá tổng thể" -#: common/models.py:1623 +#: common/models.py:1629 msgid "Active Variants Only" msgstr "Chỉ các biến thể hoạt động" -#: common/models.py:1625 +#: common/models.py:1631 msgid "Only use active variant parts for calculating variant pricing" msgstr "Chỉ sử dụng sản phẩm biến thể hoạt động để tính toán giá bán biến thể" -#: common/models.py:1631 +#: common/models.py:1637 msgid "Pricing Rebuild Interval" msgstr "Tần suất tạo lại giá" -#: common/models.py:1633 +#: common/models.py:1639 msgid "Number of days before part pricing is automatically updated" msgstr "Số ngày trước khi giá sản phẩm được tự động cập nhật" -#: common/models.py:1640 +#: common/models.py:1646 msgid "Internal Prices" msgstr "Giá nội bộ" -#: common/models.py:1641 +#: common/models.py:1647 msgid "Enable internal prices for parts" msgstr "Bật giá nội bộ cho sản phẩm" -#: common/models.py:1646 +#: common/models.py:1652 msgid "Internal Price Override" msgstr "Ghi đè giá nội bộ" -#: common/models.py:1648 +#: common/models.py:1654 msgid "If available, internal prices override price range calculations" msgstr "Nếu khả dụng, giá nội bộ ghi đè tính toán khoảng giá" -#: common/models.py:1654 +#: common/models.py:1660 msgid "Enable label printing" msgstr "Bật in tem nhãn" -#: common/models.py:1655 +#: common/models.py:1661 msgid "Enable label printing from the web interface" msgstr "Bật chức năng in tem nhãn từ giao diện web" -#: common/models.py:1660 +#: common/models.py:1666 msgid "Label Image DPI" msgstr "DPI hỉnh ảnh tem nhãn" -#: common/models.py:1662 +#: common/models.py:1668 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "Độ phân giải DPI khi tạo tệp hình ảnh để cung cấp cho plugin in ấn tem nhãn" -#: common/models.py:1668 +#: common/models.py:1674 msgid "Enable Reports" msgstr "Bật báo cáo" -#: common/models.py:1669 +#: common/models.py:1675 msgid "Enable generation of reports" msgstr "Cho phép tạo báo cáo" -#: common/models.py:1674 templates/stats.html:25 +#: common/models.py:1680 templates/stats.html:25 msgid "Debug Mode" msgstr "Chế độ gỡ lỗi" -#: common/models.py:1675 +#: common/models.py:1681 msgid "Generate reports in debug mode (HTML output)" msgstr "Tạo báo cáo trong chế độ gỡ lỗi (đầu ra HTML)" -#: common/models.py:1680 +#: common/models.py:1686 msgid "Log Report Errors" msgstr "" -#: common/models.py:1681 +#: common/models.py:1687 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1686 plugin/builtin/labels/label_sheet.py:28 -#: report/models.py:203 +#: common/models.py:1692 plugin/builtin/labels/label_sheet.py:28 +#: report/models.py:302 msgid "Page Size" msgstr "Khổ giấy" -#: common/models.py:1687 +#: common/models.py:1693 msgid "Default page size for PDF reports" msgstr "Kích thước trang mặc định cho báo cáo PDF" -#: common/models.py:1692 +#: common/models.py:1698 msgid "Enable Test Reports" msgstr "Bật báo cáo kiểm thử" -#: common/models.py:1693 +#: common/models.py:1699 msgid "Enable generation of test reports" msgstr "Cho phép tạo báo cáo kiểm thử" -#: common/models.py:1698 +#: common/models.py:1704 msgid "Attach Test Reports" msgstr "Đính kèm báo cáo kiểm thử" -#: common/models.py:1700 +#: common/models.py:1706 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "Khi in một báo cáo kiểm thử, đính kèm một bản sao của báo cáo kiểm thử với hàng trong kho đã được kết hợp" -#: common/models.py:1706 +#: common/models.py:1712 msgid "Globally Unique Serials" msgstr "Sê ri toàn cục duy nhất" -#: common/models.py:1707 +#: common/models.py:1713 msgid "Serial numbers for stock items must be globally unique" msgstr "Số sê ri cho hàng trong kho phải là duy nhất trong toàn hệ thống" -#: common/models.py:1712 +#: common/models.py:1718 msgid "Autofill Serial Numbers" msgstr "Tự động điền số sê ri" -#: common/models.py:1713 +#: common/models.py:1719 msgid "Autofill serial numbers in forms" msgstr "Tự động điền số sê ri vào biểu mẫu" -#: common/models.py:1718 +#: common/models.py:1724 msgid "Delete Depleted Stock" msgstr "Xóa kho đã hết hàng" -#: common/models.py:1720 +#: common/models.py:1726 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1726 +#: common/models.py:1732 msgid "Batch Code Template" msgstr "Mẫu sinh mã theo lô" -#: common/models.py:1728 +#: common/models.py:1734 msgid "Template for generating default batch codes for stock items" msgstr "Mẫu tạo mã theo lô mặc định cho hàng trong kho" -#: common/models.py:1733 +#: common/models.py:1739 msgid "Stock Expiry" msgstr "Quá hạn trong kho" -#: common/models.py:1734 +#: common/models.py:1740 msgid "Enable stock expiry functionality" msgstr "Bật chức năng quá hạn tồn kho" -#: common/models.py:1739 +#: common/models.py:1745 msgid "Sell Expired Stock" msgstr "Bán kho quá hạn" -#: common/models.py:1740 +#: common/models.py:1746 msgid "Allow sale of expired stock" msgstr "Cho phép bán hàng kho quá hạn" -#: common/models.py:1745 +#: common/models.py:1751 msgid "Stock Stale Time" msgstr "Thời gian hàng cũ trong kho" -#: common/models.py:1747 +#: common/models.py:1753 msgid "Number of days stock items are considered stale before expiring" msgstr "Số ngày hàng trong kho được xác định là cũ trước khi quá hạn" -#: common/models.py:1754 +#: common/models.py:1760 msgid "Build Expired Stock" msgstr "Dựng kho quá hạn" -#: common/models.py:1755 +#: common/models.py:1761 msgid "Allow building with expired stock" msgstr "Cho phép xây dựng với kho hàng quá hạn" -#: common/models.py:1760 +#: common/models.py:1766 msgid "Stock Ownership Control" msgstr "Kiểm soát sở hữu kho" -#: common/models.py:1761 +#: common/models.py:1767 msgid "Enable ownership control over stock locations and items" msgstr "Bật chức năng kiểm soát sở hữu kho với địa điểm và hàng trong kho" -#: common/models.py:1766 +#: common/models.py:1772 msgid "Stock Location Default Icon" msgstr "Biểu tượng địa điểm kho mặc định" -#: common/models.py:1767 +#: common/models.py:1773 msgid "Stock location default icon (empty means no icon)" msgstr "Biểu tượng địa điểm kho hàng mặc định (trống nghĩa là không có biểu tượng)" -#: common/models.py:1771 +#: common/models.py:1777 msgid "Show Installed Stock Items" msgstr "Hiển thị hàng hóa đã lắp đặt" -#: common/models.py:1772 +#: common/models.py:1778 msgid "Display installed stock items in stock tables" msgstr "Hiển thị hàng trong kho đã được lắp đặt trên bảng kho" -#: common/models.py:1777 +#: common/models.py:1783 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1779 +#: common/models.py:1785 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1785 +#: common/models.py:1791 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1787 +#: common/models.py:1793 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1793 +#: common/models.py:1799 msgid "Build Order Reference Pattern" msgstr "Mã tham chiếu đơn đặt bản dựng" -#: common/models.py:1795 +#: common/models.py:1801 msgid "Required pattern for generating Build Order reference field" msgstr "Mẫu bắt buộc cho để trường tham chiếu đơn đặt bản dựng" -#: common/models.py:1801 common/models.py:1829 common/models.py:1851 -#: common/models.py:1879 +#: common/models.py:1807 common/models.py:1835 common/models.py:1857 +#: common/models.py:1885 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1802 common/models.py:1830 common/models.py:1852 -#: common/models.py:1880 +#: common/models.py:1808 common/models.py:1836 common/models.py:1858 +#: common/models.py:1886 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1807 +#: common/models.py:1813 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1809 +#: common/models.py:1815 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1815 +#: common/models.py:1821 msgid "Enable Return Orders" msgstr "Bật đơn hàng trả lại" -#: common/models.py:1816 +#: common/models.py:1822 msgid "Enable return order functionality in the user interface" msgstr "Bật chức năng đơn hàng trả lại trong giao diện người dùng" -#: common/models.py:1821 +#: common/models.py:1827 msgid "Return Order Reference Pattern" msgstr "Mẫu tham chiếu đơn hàng trả lại" -#: common/models.py:1823 +#: common/models.py:1829 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1835 +#: common/models.py:1841 msgid "Edit Completed Return Orders" msgstr "Sửa đơn hàng trả lại đã hoàn thành" -#: common/models.py:1837 +#: common/models.py:1843 msgid "Allow editing of return orders after they have been completed" msgstr "Cho phép sửa đơn hàng trả lại sau khi đã hoàn thành rồi" -#: common/models.py:1843 +#: common/models.py:1849 msgid "Sales Order Reference Pattern" msgstr "Mẫu tham chiếu đơn đặt hàng" -#: common/models.py:1845 +#: common/models.py:1851 msgid "Required pattern for generating Sales Order reference field" msgstr "Mẫu bắt buộc để tạo trường tham chiếu đơn đặt hàng" -#: common/models.py:1857 +#: common/models.py:1863 msgid "Sales Order Default Shipment" msgstr "Vận chuyển mặc định đơn đặt hàng" -#: common/models.py:1858 +#: common/models.py:1864 msgid "Enable creation of default shipment with sales orders" msgstr "Cho phép tạo vận chuyển mặc định với đơn đặt hàng" -#: common/models.py:1863 +#: common/models.py:1869 msgid "Edit Completed Sales Orders" msgstr "Sửa đơn đặt hàng đã hoàn thành" -#: common/models.py:1865 +#: common/models.py:1871 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "Cho phép sửa đơn đặt hàng sau khi đã vận chuyển hoặc hoàn thành" -#: common/models.py:1871 +#: common/models.py:1877 msgid "Purchase Order Reference Pattern" msgstr "Mẫu tham chiếu đơn đặt mua" -#: common/models.py:1873 +#: common/models.py:1879 msgid "Required pattern for generating Purchase Order reference field" msgstr "Mẫu bắt buộc cho để trường tham chiếu đơn đặt mua" -#: common/models.py:1885 +#: common/models.py:1891 msgid "Edit Completed Purchase Orders" msgstr "Sửa đơn đặt mua đã hoàn thành" -#: common/models.py:1887 +#: common/models.py:1893 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "Cho phép sửa đơn đặt mua sau khi đã vận chuyển hoặc hoàn thành" -#: common/models.py:1893 +#: common/models.py:1899 msgid "Auto Complete Purchase Orders" msgstr "Tự động hoàn thành đơn đặt mua" -#: common/models.py:1895 +#: common/models.py:1901 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1902 +#: common/models.py:1908 msgid "Enable password forgot" msgstr "Bật quên mật khẩu" -#: common/models.py:1903 +#: common/models.py:1909 msgid "Enable password forgot function on the login pages" msgstr "Bật chức năng quên mật khẩu trong trang đăng nhập" -#: common/models.py:1908 +#: common/models.py:1914 msgid "Enable registration" msgstr "Bật đăng ký" -#: common/models.py:1909 +#: common/models.py:1915 msgid "Enable self-registration for users on the login pages" msgstr "Cho phép người dùng tự đăng ký tại trang đăng nhập" -#: common/models.py:1914 +#: common/models.py:1920 msgid "Enable SSO" msgstr "Bật SSO" -#: common/models.py:1915 +#: common/models.py:1921 msgid "Enable SSO on the login pages" msgstr "Cho phép SSO tại trang đăng nhập" -#: common/models.py:1920 +#: common/models.py:1926 msgid "Enable SSO registration" msgstr "Bật đăng ký SSO" -#: common/models.py:1922 +#: common/models.py:1928 msgid "Enable self-registration via SSO for users on the login pages" msgstr "Cho phép người dùng tự đăng ký SSO tại trang đăng nhập" -#: common/models.py:1928 +#: common/models.py:1934 msgid "Email required" msgstr "Yêu cầu email" -#: common/models.py:1929 +#: common/models.py:1935 msgid "Require user to supply mail on signup" msgstr "Yêu cầu người dùng cung cấp email để đăng ký" -#: common/models.py:1934 +#: common/models.py:1940 msgid "Auto-fill SSO users" msgstr "Người dùng tự động điền SSO" -#: common/models.py:1936 +#: common/models.py:1942 msgid "Automatically fill out user-details from SSO account-data" msgstr "Tự động điền thông tin chi tiết từ dữ liệu tài khoản SSO" -#: common/models.py:1942 +#: common/models.py:1948 msgid "Mail twice" msgstr "Thư 2 lần" -#: common/models.py:1943 +#: common/models.py:1949 msgid "On signup ask users twice for their mail" msgstr "Khi đăng ký sẽ hỏi người dùng hai lần thư điện tử của họ" -#: common/models.py:1948 +#: common/models.py:1954 msgid "Password twice" msgstr "Mật khẩu 2 lần" -#: common/models.py:1949 +#: common/models.py:1955 msgid "On signup ask users twice for their password" msgstr "Khi đăng ký sẽ hỏi người dùng hai lần mật khẩu của họ" -#: common/models.py:1954 +#: common/models.py:1960 msgid "Allowed domains" msgstr "Các tên miền được phép" -#: common/models.py:1956 +#: common/models.py:1962 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "Cấm đăng ký với 1 số tên miền cụ thể (dấu phẩy ngăn cách, bắt đầu với dấu @)" -#: common/models.py:1962 +#: common/models.py:1968 msgid "Group on signup" msgstr "Nhóm khi đăng ký" -#: common/models.py:1963 +#: common/models.py:1969 msgid "Group to which new users are assigned on registration" msgstr "Nhóm được gán cho người dùng mới khi đăng ký" -#: common/models.py:1968 +#: common/models.py:1974 msgid "Enforce MFA" msgstr "Bắt buộc MFA" -#: common/models.py:1969 +#: common/models.py:1975 msgid "Users must use multifactor security." msgstr "Người dùng phải sử dụng bảo mật đa nhân tố." -#: common/models.py:1974 +#: common/models.py:1980 msgid "Check plugins on startup" msgstr "Kiểm tra phần mở rộng khi khởi động" -#: common/models.py:1976 +#: common/models.py:1982 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "Kiểm tra toàn bộ phần mở rộng đã được cài đặt khi khởi dộng - bật trong môi trường ảo hóa" -#: common/models.py:1984 +#: common/models.py:1990 msgid "Check for plugin updates" msgstr "Kiểm tra cập nhật plugin" -#: common/models.py:1985 +#: common/models.py:1991 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:1991 +#: common/models.py:1997 msgid "Enable URL integration" msgstr "Bật tích hợp URL" -#: common/models.py:1992 +#: common/models.py:1998 msgid "Enable plugins to add URL routes" msgstr "Bật phần mở rộng để thêm định tuyến URL" -#: common/models.py:1998 +#: common/models.py:2004 msgid "Enable navigation integration" msgstr "Bật tích hợp điều hướng" -#: common/models.py:1999 +#: common/models.py:2005 msgid "Enable plugins to integrate into navigation" msgstr "Bật phần mở rộng để tích hợp thanh định hướng" -#: common/models.py:2005 +#: common/models.py:2011 msgid "Enable app integration" msgstr "Bật tích hợp ứng dụng" -#: common/models.py:2006 +#: common/models.py:2012 msgid "Enable plugins to add apps" msgstr "Bật phần mở rộng để thêm ứng dụng" -#: common/models.py:2012 +#: common/models.py:2018 msgid "Enable schedule integration" msgstr "Cho phép tích hợp lập lịch" -#: common/models.py:2013 +#: common/models.py:2019 msgid "Enable plugins to run scheduled tasks" msgstr "Bật phẩn mở rộng để chạy các tác vụ theo lịch" -#: common/models.py:2019 +#: common/models.py:2025 msgid "Enable event integration" msgstr "Bật tích hợp nguồn cấp sự kiện" -#: common/models.py:2020 +#: common/models.py:2026 msgid "Enable plugins to respond to internal events" msgstr "Bật phần mở rộng để trả lời sự kiện bên trong" -#: common/models.py:2026 +#: common/models.py:2032 msgid "Enable project codes" msgstr "Bật mã dự án" -#: common/models.py:2027 +#: common/models.py:2033 msgid "Enable project codes for tracking projects" msgstr "Bật mã dự án để theo dõi dự án" -#: common/models.py:2032 +#: common/models.py:2038 msgid "Stocktake Functionality" msgstr "Chức năng kiểm kê" -#: common/models.py:2034 +#: common/models.py:2040 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "Bật chức năng kiểm kê theo mức độ ghi nhận kho và tính toán giá trị kho" -#: common/models.py:2040 +#: common/models.py:2046 msgid "Exclude External Locations" msgstr "Ngoại trừ vị trí bên ngoài" -#: common/models.py:2042 +#: common/models.py:2048 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "Loại trừ hàng trong kho thuộc địa điểm bên ngoài ra khỏi tính toán kiểm kê" -#: common/models.py:2048 +#: common/models.py:2054 msgid "Automatic Stocktake Period" msgstr "Giai đoạn kiểm kê tự động" -#: common/models.py:2050 +#: common/models.py:2056 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "Số ngày giữa ghi chép kiểm kê tự động (đặt không để tắt)" -#: common/models.py:2056 +#: common/models.py:2062 msgid "Report Deletion Interval" msgstr "Khoảng thời gian xóa báo cáo" -#: common/models.py:2058 +#: common/models.py:2064 msgid "Stocktake reports will be deleted after specified number of days" msgstr "Báo cáo kiểm kê sẽ bị xóa sau số ngày xác định" -#: common/models.py:2065 +#: common/models.py:2071 msgid "Display Users full names" msgstr "Hiển thị tên đầy đủ của người dùng" -#: common/models.py:2066 +#: common/models.py:2072 msgid "Display Users full names instead of usernames" msgstr "Hiển thị tên đầy đủ thay vì tên đăng nhập" -#: common/models.py:2071 +#: common/models.py:2077 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2072 +#: common/models.py:2078 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2084 common/models.py:2494 +#: common/models.py:2090 common/models.py:2500 msgid "Settings key (must be unique - case insensitive" msgstr "Khóa thiết lập (phải duy nhất - phân biệt hoa thường" -#: common/models.py:2127 +#: common/models.py:2133 msgid "Hide inactive parts" msgstr "Ẩn sản phẩm ngừng hoạt động" -#: common/models.py:2129 +#: common/models.py:2135 msgid "Hide inactive parts in results displayed on the homepage" msgstr "Ẩn sản phẩm bị tắt trong kết quả trình bày tại trang chủ" -#: common/models.py:2135 +#: common/models.py:2141 msgid "Show subscribed parts" msgstr "Hiện sản phẩm đã đăng ký" -#: common/models.py:2136 +#: common/models.py:2142 msgid "Show subscribed parts on the homepage" msgstr "Hiện sản phẩm đã đăng ký trên trang chủ" -#: common/models.py:2141 +#: common/models.py:2147 msgid "Show subscribed categories" msgstr "Hiện danh mục đã đăng ký" -#: common/models.py:2142 +#: common/models.py:2148 msgid "Show subscribed part categories on the homepage" msgstr "Hiện danh mục sản phẩm đã đăng ký trên trang chủ" -#: common/models.py:2147 +#: common/models.py:2153 msgid "Show latest parts" msgstr "Hiển thị nguyên liệu mới nhất" -#: common/models.py:2148 +#: common/models.py:2154 msgid "Show latest parts on the homepage" msgstr "Hiển thị nguyên liệu mới nhất trên trang chủ" -#: common/models.py:2153 +#: common/models.py:2159 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2154 +#: common/models.py:2160 msgid "Show BOMs that await validation on the homepage" msgstr "Hiện BOM chờ xác thực tại trang chủ" -#: common/models.py:2159 +#: common/models.py:2165 msgid "Show recent stock changes" msgstr "Hiện thay đổi kho hàng gần đây" -#: common/models.py:2160 +#: common/models.py:2166 msgid "Show recently changed stock items on the homepage" msgstr "Hiện hàng trong kho được thay đổi gần nhất trên trang chủ" -#: common/models.py:2165 +#: common/models.py:2171 msgid "Show low stock" msgstr "Hiển thị hàng còn ít" -#: common/models.py:2166 +#: common/models.py:2172 msgid "Show low stock items on the homepage" msgstr "Hiển thị hàng hóa còn ít tại trang chủ" -#: common/models.py:2171 +#: common/models.py:2177 msgid "Show depleted stock" msgstr "Hiển thị hết hàng" -#: common/models.py:2172 +#: common/models.py:2178 msgid "Show depleted stock items on the homepage" msgstr "Hiển thị hàng hóa đã bán hết tại trang chủ" -#: common/models.py:2177 +#: common/models.py:2183 msgid "Show needed stock" msgstr "Hiển thị hàng cần thiết" -#: common/models.py:2178 +#: common/models.py:2184 msgid "Show stock items needed for builds on the homepage" msgstr "Hiện hàng trong kho cần thiết cho xây dựng tại trang chủ" -#: common/models.py:2183 +#: common/models.py:2189 msgid "Show expired stock" msgstr "Bán kho quá hạn" -#: common/models.py:2184 +#: common/models.py:2190 msgid "Show expired stock items on the homepage" msgstr "Hiển thị hàng hóa đã quá hạn trên trang chủ" -#: common/models.py:2189 +#: common/models.py:2195 msgid "Show stale stock" msgstr "Hiện kho hàng ế" -#: common/models.py:2190 +#: common/models.py:2196 msgid "Show stale stock items on the homepage" msgstr "Hiện hàng trong kho bị ế trên trang chủ" -#: common/models.py:2195 +#: common/models.py:2201 msgid "Show pending builds" msgstr "Hiện bản dựng chờ xử lý" -#: common/models.py:2196 +#: common/models.py:2202 msgid "Show pending builds on the homepage" msgstr "Hiện bản dựng chờ xử lý trên trang chủ" -#: common/models.py:2201 +#: common/models.py:2207 msgid "Show overdue builds" msgstr "Hiện bản dựng quá hạn" -#: common/models.py:2202 +#: common/models.py:2208 msgid "Show overdue builds on the homepage" msgstr "Hiện bản dựng quá hạn trên trang chủ" -#: common/models.py:2207 +#: common/models.py:2213 msgid "Show outstanding POs" msgstr "Hiện PO nổi bật" -#: common/models.py:2208 +#: common/models.py:2214 msgid "Show outstanding POs on the homepage" msgstr "Hiện PO nổi bật trên trang chủ" -#: common/models.py:2213 +#: common/models.py:2219 msgid "Show overdue POs" msgstr "Hiện PO quá hạn" -#: common/models.py:2214 +#: common/models.py:2220 msgid "Show overdue POs on the homepage" msgstr "Hiện đơn mua hàng quá hạn trên trang chủ" -#: common/models.py:2219 +#: common/models.py:2225 msgid "Show outstanding SOs" msgstr "Hiện đơn hàng vận chuyển nổi bật" -#: common/models.py:2220 +#: common/models.py:2226 msgid "Show outstanding SOs on the homepage" msgstr "Hiện đơn hàng vận chuyển nổi bật tại trang chủ" -#: common/models.py:2225 +#: common/models.py:2231 msgid "Show overdue SOs" msgstr "Hiện đơn vận chuyển quá hạn" -#: common/models.py:2226 +#: common/models.py:2232 msgid "Show overdue SOs on the homepage" msgstr "Hiện đơn vận chuyển quá hạn trên trang chủ" -#: common/models.py:2231 +#: common/models.py:2237 msgid "Show pending SO shipments" msgstr "Hiện đơn vận chuyển chờ xử lý" -#: common/models.py:2232 +#: common/models.py:2238 msgid "Show pending SO shipments on the homepage" msgstr "Hiện đơn vận chuyển chờ xử lý trên trang chủ" -#: common/models.py:2237 +#: common/models.py:2243 msgid "Show News" msgstr "Hiện tin tức" -#: common/models.py:2238 +#: common/models.py:2244 msgid "Show news on the homepage" msgstr "Hiện tin tức trên trang chủ" -#: common/models.py:2243 +#: common/models.py:2249 msgid "Inline label display" msgstr "Hiển thị nhãn cùng dòng" -#: common/models.py:2245 +#: common/models.py:2251 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "Hiển thị nhãn PDF trong trình duyệt, thay vì tải về dạng tệp tin" -#: common/models.py:2251 +#: common/models.py:2257 msgid "Default label printer" msgstr "Máy in tem nhãn mặc định" -#: common/models.py:2253 +#: common/models.py:2259 msgid "Configure which label printer should be selected by default" msgstr "Cấu hình máy in tem nhãn nào được chọn mặc định" -#: common/models.py:2259 +#: common/models.py:2265 msgid "Inline report display" msgstr "Hiển thị báo cáo cùng hàng" -#: common/models.py:2261 +#: common/models.py:2267 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "Hiện báo cáo PDF trong trình duyệt, thay vì tải về dạng tệp tin" -#: common/models.py:2267 +#: common/models.py:2273 msgid "Search Parts" msgstr "Tìm sản phẩm" -#: common/models.py:2268 +#: common/models.py:2274 msgid "Display parts in search preview window" msgstr "Hiện hàng hóa trong cửa sổ xem trước tìm kiếm" -#: common/models.py:2273 +#: common/models.py:2279 msgid "Search Supplier Parts" msgstr "Tìm sản phẩm nhà cung cấp" -#: common/models.py:2274 +#: common/models.py:2280 msgid "Display supplier parts in search preview window" msgstr "Hiện sản phẩm nhà cung cấp trong cửa sổ xem trước tìm kiếm" -#: common/models.py:2279 +#: common/models.py:2285 msgid "Search Manufacturer Parts" msgstr "Tìm sản phẩm nhà sản xuất" -#: common/models.py:2280 +#: common/models.py:2286 msgid "Display manufacturer parts in search preview window" msgstr "Hiện sản phẩm nhà sản xuất trong cửa sổ xem trước tìm kiếm" -#: common/models.py:2285 +#: common/models.py:2291 msgid "Hide Inactive Parts" msgstr "Ẩn sản phẩm ngừng hoạt động" -#: common/models.py:2286 +#: common/models.py:2292 msgid "Excluded inactive parts from search preview window" msgstr "Loại trừ sản phẩm ngưng hoạt động trong cửa sổ xem trước tìm kiếm" -#: common/models.py:2291 +#: common/models.py:2297 msgid "Search Categories" msgstr "Tìm kiếm danh mục" -#: common/models.py:2292 +#: common/models.py:2298 msgid "Display part categories in search preview window" msgstr "Hiện danh mục sản phẩm trong cửa sổ xem trước tìm kiếm" -#: common/models.py:2297 +#: common/models.py:2303 msgid "Search Stock" msgstr "Tìm kiếm kho" -#: common/models.py:2298 +#: common/models.py:2304 msgid "Display stock items in search preview window" msgstr "Hiện hàng hóa ở kho trong cửa sổ xem trước tìm kiếm" -#: common/models.py:2303 +#: common/models.py:2309 msgid "Hide Unavailable Stock Items" msgstr "Ẩn hàng hóa trong kho không có sẵn" -#: common/models.py:2305 +#: common/models.py:2311 msgid "Exclude stock items which are not available from the search preview window" msgstr "Không bao gồm hàng hóa trong kho mà không sẵn sàng từ màn hình xem trước tìm kiếm" -#: common/models.py:2311 +#: common/models.py:2317 msgid "Search Locations" msgstr "Tìm kiếm vị trí" -#: common/models.py:2312 +#: common/models.py:2318 msgid "Display stock locations in search preview window" msgstr "Hiện vị trí kho hàng trong cửa sổ xem trước tìm kiếm" -#: common/models.py:2317 +#: common/models.py:2323 msgid "Search Companies" msgstr "Tìm kiếm công ty" -#: common/models.py:2318 +#: common/models.py:2324 msgid "Display companies in search preview window" msgstr "Hiện công ty trong cửa sổ xem trước tìm kiếm" -#: common/models.py:2323 +#: common/models.py:2329 msgid "Search Build Orders" msgstr "Tìm kiếm đặt hàng xây dựng" -#: common/models.py:2324 +#: common/models.py:2330 msgid "Display build orders in search preview window" msgstr "Hiện đơn đặt xây dựng trong cửa sổ xem trước tìm kiếm" -#: common/models.py:2329 +#: common/models.py:2335 msgid "Search Purchase Orders" msgstr "Tìm kiếm đơn đặt mua" -#: common/models.py:2330 +#: common/models.py:2336 msgid "Display purchase orders in search preview window" msgstr "Hiện đơn đặt mua trong cửa sổ xem trước tìm kiếm" -#: common/models.py:2335 +#: common/models.py:2341 msgid "Exclude Inactive Purchase Orders" msgstr "Loại trừ đơn đặt mua không hoạt động" -#: common/models.py:2337 +#: common/models.py:2343 msgid "Exclude inactive purchase orders from search preview window" msgstr "Loại trừ đơn đặt mua không hoạt động ra khỏi cửa sổ xem trước tìm kiếm" -#: common/models.py:2343 +#: common/models.py:2349 msgid "Search Sales Orders" msgstr "Tìm đơn đặt hàng người mua" -#: common/models.py:2344 +#: common/models.py:2350 msgid "Display sales orders in search preview window" msgstr "Hiện đơn đặt hàng người mua trong cửa sổ xem trước tìm kiếm" -#: common/models.py:2349 +#: common/models.py:2355 msgid "Exclude Inactive Sales Orders" msgstr "Loại trừ đơn đặt hàng người mua không hoạt động" -#: common/models.py:2351 +#: common/models.py:2357 msgid "Exclude inactive sales orders from search preview window" msgstr "Không bao gồm đơn đặt hàng người mua không hoạt động trong cửa sổ xem trước tìm kiếm" -#: common/models.py:2357 +#: common/models.py:2363 msgid "Search Return Orders" msgstr "Tìm kiếm đơn hàng trả lại" -#: common/models.py:2358 +#: common/models.py:2364 msgid "Display return orders in search preview window" msgstr "Hiện đơn hàng trả lại trong cửa sổ xem trước tìm kiếm" -#: common/models.py:2363 +#: common/models.py:2369 msgid "Exclude Inactive Return Orders" msgstr "Loại trừ đơn hàng trả lại không hoạt động" -#: common/models.py:2365 +#: common/models.py:2371 msgid "Exclude inactive return orders from search preview window" msgstr "Không bao gồm đơn hàng trả lại không hoạt động trong cửa sổ xem trước tìm kiếm" -#: common/models.py:2371 +#: common/models.py:2377 msgid "Search Preview Results" msgstr "Kết quả xem trước tìm kiếm" -#: common/models.py:2373 +#: common/models.py:2379 msgid "Number of results to show in each section of the search preview window" msgstr "Số kết quả cần hiển thị trong từng phần của cửa sổ xem trước tìm kiếm" -#: common/models.py:2379 +#: common/models.py:2385 msgid "Regex Search" msgstr "Tìm kiếm biểu thức" -#: common/models.py:2380 +#: common/models.py:2386 msgid "Enable regular expressions in search queries" msgstr "Bật tìm kiếm biểu thức chính quy trong câu truy vấn tìm kiếm" -#: common/models.py:2385 +#: common/models.py:2391 msgid "Whole Word Search" msgstr "Tìm phù hợp toàn bộ chữ" -#: common/models.py:2386 +#: common/models.py:2392 msgid "Search queries return results for whole word matches" msgstr "Truy vấn tìm trả về kết quả phù hợp toàn bộ chữ" -#: common/models.py:2391 +#: common/models.py:2397 msgid "Show Quantity in Forms" msgstr "Hiện số lượng trong biểu mẫu" -#: common/models.py:2392 +#: common/models.py:2398 msgid "Display available part quantity in some forms" msgstr "Hiển thị số lượng sản phẩm có sẵn trong một số biểu mẫu" -#: common/models.py:2397 +#: common/models.py:2403 msgid "Escape Key Closes Forms" msgstr "Phím escape để đóng mẫu biểu" -#: common/models.py:2398 +#: common/models.py:2404 msgid "Use the escape key to close modal forms" msgstr "Sử dụng phím escape để đóng mẫu biểu hộp thoại" -#: common/models.py:2403 +#: common/models.py:2409 msgid "Fixed Navbar" msgstr "Cố định điều hướng" -#: common/models.py:2404 +#: common/models.py:2410 msgid "The navbar position is fixed to the top of the screen" msgstr "Vị trí thành điều hướng là cố định trên cùng màn hình" -#: common/models.py:2409 +#: common/models.py:2415 msgid "Date Format" msgstr "Định dạng ngày" -#: common/models.py:2410 +#: common/models.py:2416 msgid "Preferred format for displaying dates" msgstr "Định dạng ưa chuộng khi hiển thị ngày" -#: common/models.py:2423 part/templates/part/detail.html:41 +#: common/models.py:2429 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Lập lịch sản phẩm" -#: common/models.py:2424 +#: common/models.py:2430 msgid "Display part scheduling information" msgstr "Hiển thị thông tin lịch sản phẩm" -#: common/models.py:2429 part/templates/part/detail.html:62 +#: common/models.py:2435 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Kiểm kê sản phẩm" -#: common/models.py:2431 +#: common/models.py:2437 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "Hiển thị thông tin kiểm kê sản phẩm (nếu chức năng kiểm kê được bật)" -#: common/models.py:2437 +#: common/models.py:2443 msgid "Table String Length" msgstr "Độ dài chuỗi trong bảng" -#: common/models.py:2439 +#: common/models.py:2445 msgid "Maximum length limit for strings displayed in table views" msgstr "Giới hạn độ dài tối đa cho chuỗi hiển thị trong kiểu xem bảng biểu" -#: common/models.py:2445 +#: common/models.py:2451 msgid "Default part label template" msgstr "Mẫu nhãn sản phẩm mặc định" -#: common/models.py:2446 +#: common/models.py:2452 msgid "The part label template to be automatically selected" msgstr "Mẫu nhãn sản phẩm mặc định được chọn tự động" -#: common/models.py:2451 +#: common/models.py:2457 msgid "Default stock item template" msgstr "Mẫu hàng hóa trong khi mặc định" -#: common/models.py:2453 +#: common/models.py:2459 msgid "The stock item label template to be automatically selected" msgstr "Mẫu nhãn hàng hóa trong kho tự động được chọn" -#: common/models.py:2459 +#: common/models.py:2465 msgid "Default stock location label template" msgstr "Mẫu nhãn vị trí kho mặc định" -#: common/models.py:2461 +#: common/models.py:2467 msgid "The stock location label template to be automatically selected" msgstr "Mẫu nhãn vị trí kho được chọn tự động" -#: common/models.py:2467 +#: common/models.py:2473 msgid "Default build line label template" msgstr "" -#: common/models.py:2469 +#: common/models.py:2475 msgid "The build line label template to be automatically selected" msgstr "" -#: common/models.py:2475 +#: common/models.py:2481 msgid "Receive error reports" msgstr "Nhận báo cáo lỗi" -#: common/models.py:2476 +#: common/models.py:2482 msgid "Receive notifications for system errors" msgstr "Nhận thông báo khi có lỗi hệ thống" -#: common/models.py:2481 +#: common/models.py:2487 msgid "Last used printing machines" msgstr "" -#: common/models.py:2482 +#: common/models.py:2488 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2525 +#: common/models.py:2531 msgid "Price break quantity" msgstr "Số lượng giá phá vỡ" -#: common/models.py:2532 company/serializers.py:496 order/admin.py:42 -#: order/models.py:1333 order/models.py:2243 +#: common/models.py:2538 company/serializers.py:496 order/admin.py:42 +#: order/models.py:1373 order/models.py:2292 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 -#: templates/js/translated/return_order.js:741 +#: templates/js/translated/return_order.js:740 msgid "Price" msgstr "Giá" -#: common/models.py:2533 +#: common/models.py:2539 msgid "Unit price at specified quantity" msgstr "Đơn vị giá theo số lượng cụ thể" -#: common/models.py:2704 common/models.py:2889 +#: common/models.py:2710 common/models.py:2895 msgid "Endpoint" msgstr "Đầu mối" -#: common/models.py:2705 +#: common/models.py:2711 msgid "Endpoint at which this webhook is received" msgstr "Đầu mối tại điểm webhook được nhận" -#: common/models.py:2715 +#: common/models.py:2721 msgid "Name for this webhook" msgstr "Tên của webhook này" -#: common/models.py:2719 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1045 -#: plugin/models.py:56 templates/js/translated/company.js:523 +#: common/models.py:2725 company/models.py:160 company/models.py:814 +#: machine/models.py:39 part/admin.py:88 part/models.py:1088 +#: plugin/models.py:65 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:492 @@ -3614,135 +3628,135 @@ msgstr "Tên của webhook này" msgid "Active" msgstr "Hoạt động" -#: common/models.py:2719 +#: common/models.py:2725 msgid "Is this webhook active" msgstr "Webhook có hoạt động không" -#: common/models.py:2735 users/models.py:159 +#: common/models.py:2741 users/models.py:159 msgid "Token" msgstr "Chữ ký số" -#: common/models.py:2736 +#: common/models.py:2742 msgid "Token for access" msgstr "Chữ ký số để truy cập" -#: common/models.py:2744 +#: common/models.py:2750 msgid "Secret" msgstr "Bí mật" -#: common/models.py:2745 +#: common/models.py:2751 msgid "Shared secret for HMAC" msgstr "Mã bí mật dùng chung cho HMAC" -#: common/models.py:2853 +#: common/models.py:2859 msgid "Message ID" msgstr "Mã Tin nhắn" -#: common/models.py:2854 +#: common/models.py:2860 msgid "Unique identifier for this message" msgstr "Định danh duy nhất cho tin nhắn này" -#: common/models.py:2862 +#: common/models.py:2868 msgid "Host" msgstr "Máy chủ" -#: common/models.py:2863 +#: common/models.py:2869 msgid "Host from which this message was received" msgstr "Mãy chủ từ tin nhắn này đã được nhận" -#: common/models.py:2871 +#: common/models.py:2877 msgid "Header" msgstr "Đầu mục" -#: common/models.py:2872 +#: common/models.py:2878 msgid "Header of this message" msgstr "Đầu mục tin nhắn" -#: common/models.py:2879 +#: common/models.py:2885 msgid "Body" msgstr "Thân" -#: common/models.py:2880 +#: common/models.py:2886 msgid "Body of this message" msgstr "Thân tin nhắn này" -#: common/models.py:2890 +#: common/models.py:2896 msgid "Endpoint on which this message was received" msgstr "Đầu mối của tin nhắn này đã nhận được" -#: common/models.py:2895 +#: common/models.py:2901 msgid "Worked on" msgstr "Làm việc vào" -#: common/models.py:2896 +#: common/models.py:2902 msgid "Was the work on this message finished?" msgstr "Công việc trong tin nhắn này đã kết thúc?" -#: common/models.py:3022 +#: common/models.py:3028 msgid "Id" msgstr "Mã" -#: common/models.py:3024 templates/js/translated/company.js:965 +#: common/models.py:3030 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "Tiêu đề" -#: common/models.py:3028 templates/js/translated/news.js:60 +#: common/models.py:3034 templates/js/translated/news.js:60 msgid "Published" msgstr "Đã công bố" -#: common/models.py:3030 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3036 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "Tác giả" -#: common/models.py:3032 templates/js/translated/news.js:52 +#: common/models.py:3038 templates/js/translated/news.js:52 msgid "Summary" msgstr "Tóm tắt" -#: common/models.py:3035 +#: common/models.py:3041 msgid "Read" msgstr "Đọc" -#: common/models.py:3035 +#: common/models.py:3041 msgid "Was this news item read?" msgstr "Tin này đã được đọc?" -#: common/models.py:3052 company/models.py:156 part/models.py:929 +#: common/models.py:3058 company/models.py:156 part/models.py:972 #: 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 +#: report/templates/report/inventree_return_order_report.html:35 #: stock/templates/stock/item_base.html:133 templates/503.html:31 #: templates/hover_image.html:7 templates/hover_image.html:9 #: templates/modals.html:6 msgid "Image" msgstr "Hình ảnh" -#: common/models.py:3052 +#: common/models.py:3058 msgid "Image file" msgstr "Tệp ảnh" -#: common/models.py:3094 +#: common/models.py:3100 msgid "Unit name must be a valid identifier" msgstr "Tên đơn vị phải là một định danh hợp lệ" -#: common/models.py:3113 +#: common/models.py:3119 msgid "Unit name" msgstr "Tên đơn vị" -#: common/models.py:3120 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3126 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "Biểu tượng" -#: common/models.py:3121 +#: common/models.py:3127 msgid "Optional unit symbol" msgstr "Biểu tượng đơn vị tùy chọn" -#: common/models.py:3128 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3134 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "Định nghĩa" -#: common/models.py:3129 +#: common/models.py:3135 msgid "Unit definition" msgstr "Định nghĩa đơn vị" @@ -3929,9 +3943,9 @@ msgid "Contact email address" msgstr "Địa chỉ email liên hệ" #: company/models.py:139 company/templates/company/company_base.html:145 -#: order/models.py:331 order/templates/order/order_base.html:203 +#: order/models.py:344 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 -#: order/templates/order/sales_order_base.html:214 +#: order/templates/order/sales_order_base.html:218 msgid "Contact" msgstr "Liên hệ" @@ -3977,7 +3991,7 @@ msgstr "Tiền tệ mặc định dùng cho công ty này" #: company/models.py:273 company/models.py:382 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:776 +#: company/templates/company/company_base.html:12 stock/api.py:810 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "Doanh nghiêp" @@ -4069,8 +4083,8 @@ msgstr "Ghi chú nội bộ sử dụng cho chuyển phát nhanh" msgid "Link to address information (external)" msgstr "Liên kết thông tin địa chỉ (bên ngoài)" -#: company/models.py:489 company/models.py:792 stock/models.py:751 -#: stock/serializers.py:266 stock/templates/stock/item_base.html:142 +#: company/models.py:489 company/models.py:792 stock/models.py:772 +#: stock/serializers.py:395 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "Sản phẩm cơ bản" @@ -4081,7 +4095,7 @@ msgstr "Chọn sản phẩm" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:515 +#: company/templates/company/supplier_part.html:145 part/serializers.py:530 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4096,13 +4110,13 @@ msgid "Select manufacturer" msgstr "Chọn nhà sản xuất" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:525 +#: company/templates/company/supplier_part.html:153 part/serializers.py:540 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800 -#: templates/js/translated/purchase_order.js:1852 -#: templates/js/translated/purchase_order.js:2054 +#: templates/js/translated/purchase_order.js:1851 +#: templates/js/translated/purchase_order.js:2053 msgid "MPN" msgstr "" @@ -4129,9 +4143,8 @@ msgstr "Sản phẩm nhà sản xuất" msgid "Parameter name" msgstr "Tên tham số" -#: company/models.py:621 -#: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2448 templates/js/translated/company.js:1166 +#: company/models.py:621 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2425 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492 #: templates/js/translated/stock.js:1522 msgid "Value" @@ -4142,10 +4155,10 @@ msgid "Parameter value" msgstr "Giá trị tham số" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1009 part/models.py:3623 +#: part/admin.py:57 part/models.py:1052 part/models.py:3666 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 -#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370 +#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 msgid "Units" msgstr "Đơn vị" @@ -4166,9 +4179,9 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "Sản phẩm nhà sản xuất đã liên kết phải tham chiếu với sản phẩm cơ bản tương tự" #: company/models.py:802 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:465 +#: company/templates/company/supplier_part.html:129 order/models.py:487 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:499 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:514 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4176,7 +4189,7 @@ msgstr "Sản phẩm nhà sản xuất đã liên kết phải tham chiếu vớ #: templates/js/translated/company.js:511 #: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1690 +#: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/table_filters.js:804 msgid "Supplier" msgstr "Nhà cung cấp" @@ -4185,7 +4198,7 @@ msgstr "Nhà cung cấp" msgid "Select supplier" msgstr "Chọn nhà cung cấp" -#: company/models.py:809 part/serializers.py:510 +#: company/models.py:809 part/serializers.py:525 msgid "Supplier stock keeping unit" msgstr "Đơn vị quản lý kho nhà cung cấp" @@ -4206,29 +4219,29 @@ msgid "Supplier part description" msgstr "Mô tả sản phẩm nhà cung cấp" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:418 part/models.py:4070 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4113 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 -#: report/templates/report/inventree_slr_report.html:105 -#: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:579 +#: report/templates/report/inventree_purchase_order_report.html:32 +#: report/templates/report/inventree_return_order_report.html:27 +#: report/templates/report/inventree_sales_order_report.html:32 +#: report/templates/report/inventree_stock_location_report.html:105 +#: stock/serializers.py:708 msgid "Note" msgstr "Ghi chú" -#: company/models.py:857 part/models.py:1967 +#: company/models.py:857 part/models.py:2010 msgid "base cost" msgstr "chi phí cơ sở" -#: company/models.py:858 part/models.py:1968 +#: company/models.py:858 part/models.py:2011 msgid "Minimum charge (e.g. stocking fee)" msgstr "Thu phí tối thiểu (vd: phí kho bãi)" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:782 stock/serializers.py:1350 +#: stock/admin.py:224 stock/models.py:803 stock/serializers.py:1479 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 -#: templates/js/translated/stock.js:2426 +#: templates/js/translated/stock.js:2424 msgid "Packaging" msgstr "Đóng gói" @@ -4241,8 +4254,8 @@ msgstr "Đóng gói sản phẩm" #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 -#: templates/js/translated/purchase_order.js:2085 -#: templates/js/translated/purchase_order.js:2102 +#: templates/js/translated/purchase_order.js:2084 +#: templates/js/translated/purchase_order.js:2101 msgid "Pack Quantity" msgstr "Số lượng gói" @@ -4250,7 +4263,7 @@ msgstr "Số lượng gói" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "Tổng số lượng được cung cấp trong một gói đơn. Để trống cho các hàng hóa riêng lẻ." -#: company/models.py:892 part/models.py:1974 +#: company/models.py:892 part/models.py:2017 msgid "multiple" msgstr "nhiều" @@ -4285,7 +4298,7 @@ msgstr "Còn hàng" #: part/templates/part/part_base.html:146 #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 -#: templates/js/translated/model_renderers.js:306 +#: templates/js/translated/model_renderers.js:312 #: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 msgid "Inactive" msgstr "Không hoạt động" @@ -4321,11 +4334,11 @@ msgstr "Xóa doanh nghiệp" #: company/templates/company/manufacturer_part.html:51 #: company/templates/company/supplier_part.html:83 #: part/templates/part/part_thumb.html:20 -#: report/templates/report/inventree_build_order_base.html:98 -#: report/templates/report/inventree_po_report_base.html:40 -#: report/templates/report/inventree_so_report_base.html:40 -#: report/templates/report/inventree_test_report_base.html:84 -#: report/templates/report/inventree_test_report_base.html:163 +#: report/templates/report/inventree_build_order_report.html:98 +#: report/templates/report/inventree_purchase_order_report.html:40 +#: report/templates/report/inventree_sales_order_report.html:40 +#: report/templates/report/inventree_test_report.html:84 +#: report/templates/report/inventree_test_report.html:163 msgid "Part image" msgstr "Ảnh sản phẩm" @@ -4344,16 +4357,16 @@ msgstr "Tải hình ảnh từ URL" msgid "Delete image" msgstr "Xóa ảnh" -#: company/templates/company/company_base.html:92 order/models.py:910 -#: order/models.py:2010 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:144 stock/models.py:804 -#: stock/models.py:805 stock/serializers.py:1100 +#: company/templates/company/company_base.html:92 order/models.py:941 +#: order/models.py:2059 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:148 stock/models.py:825 +#: stock/models.py:826 stock/serializers.py:1229 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 -#: templates/js/translated/return_order.js:296 -#: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2962 +#: templates/js/translated/return_order.js:295 +#: templates/js/translated/sales_order.js:820 +#: templates/js/translated/stock.js:2959 #: templates/js/translated/table_filters.js:808 msgid "Customer" msgstr "Khách hàng" @@ -4362,10 +4375,10 @@ msgstr "Khách hàng" msgid "Uses default currency" msgstr "Dùng tiền mặc định" -#: company/templates/company/company_base.html:124 order/models.py:341 +#: company/templates/company/company_base.html:124 order/models.py:354 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 -#: order/templates/order/sales_order_base.html:221 +#: order/templates/order/sales_order_base.html:225 msgid "Address" msgstr "Địa chỉ" @@ -4374,7 +4387,7 @@ msgid "Phone" msgstr "Điện thoại" #: company/templates/company/company_base.html:211 -#: part/templates/part/part_base.html:528 +#: part/templates/part/part_base.html:527 msgid "Remove Image" msgstr "Xoá hình ảnh" @@ -4383,19 +4396,19 @@ msgid "Remove associated image from this company" msgstr "Xóa hình ảnh gắn với công ty này" #: company/templates/company/company_base.html:214 -#: part/templates/part/part_base.html:531 +#: part/templates/part/part_base.html:530 #: templates/InvenTree/settings/user.html:88 #: templates/InvenTree/settings/user_sso.html:43 msgid "Remove" msgstr "Xóa" #: company/templates/company/company_base.html:243 -#: part/templates/part/part_base.html:560 +#: part/templates/part/part_base.html:559 msgid "Upload Image" msgstr "Tải hình lên" #: company/templates/company/company_base.html:258 -#: part/templates/part/part_base.html:614 +#: part/templates/part/part_base.html:613 msgid "Download Image" msgstr "Tải ảnh xuống" @@ -4558,7 +4571,7 @@ msgstr "Chưa có thông tin nhà sản xuất" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:821 +#: part/admin.py:122 part/serializers.py:836 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4609,10 +4622,10 @@ msgstr "Địa chỉ" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:452 -#: stock/models.py:762 stock/templates/stock/item_base.html:233 +#: stock/models.py:783 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 -#: templates/js/translated/stock.js:2282 +#: templates/js/translated/stock.js:2280 msgid "Supplier Part" msgstr "Sản phẩm nhà cung cấp" @@ -4658,11 +4671,11 @@ msgid "No supplier information available" msgstr "Chưa có thông tin nhà cung cấp" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:509 +#: part/bom.py:311 part/serializers.py:524 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1851 -#: templates/js/translated/purchase_order.js:2029 +#: templates/js/translated/purchase_order.js:1850 +#: templates/js/translated/purchase_order.js:2028 msgid "SKU" msgstr "" @@ -4671,12 +4684,12 @@ msgid "Supplier Part Stock" msgstr "Kho sản phẩm nhà cung cấp" #: company/templates/company/supplier_part.html:209 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:199 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:206 msgid "Create new stock item" msgstr "Thêm mới hàng trong kho" #: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:200 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:207 #: templates/js/translated/stock.js:537 msgid "New Stock Item" msgstr "Hàng trong kho mới" @@ -4708,16 +4721,16 @@ msgid "Update Part Availability" msgstr "Cập nhật độ sẵn sàng sản phẩm" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:820 part/stocktake.py:223 +#: part/serializers.py:835 part/stocktake.py:223 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:787 stock/serializers.py:951 +#: stock/serializers.py:916 stock/serializers.py:1080 #: stock/templates/stock/location.html:170 -#: stock/templates/stock/location.html:184 -#: stock/templates/stock/location.html:196 +#: stock/templates/stock/location.html:191 +#: stock/templates/stock/location.html:203 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2769 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 #: users/models.py:206 msgid "Stock Items" msgstr "Hàng trong kho" @@ -4751,126 +4764,48 @@ msgstr "Doanh nghiệp" msgid "New Company" msgstr "Doanh nghiệp mới" -#: label/api.py:247 -msgid "Error printing label" -msgstr "" - -#: label/models.py:120 -msgid "Label name" -msgstr "Tên nhãn" - -#: label/models.py:128 -msgid "Label description" -msgstr "Mô tả nhãn" - -#: label/models.py:136 -msgid "Label" -msgstr "Nhãn" - -#: label/models.py:137 -msgid "Label template file" -msgstr "Tệp mẫu nhãn" - -#: label/models.py:143 part/models.py:3494 report/models.py:324 -#: templates/js/translated/part.js:2900 -#: templates/js/translated/table_filters.js:481 -msgid "Enabled" -msgstr "Đã bật" - -#: label/models.py:144 -msgid "Label template is enabled" -msgstr "Mẫu nhãn đã bật" - -#: label/models.py:149 -msgid "Width [mm]" -msgstr "Chiều rộng [mm]" - -#: label/models.py:150 -msgid "Label width, specified in mm" -msgstr "Chiều rộng nhãn, tính theo mm" - -#: label/models.py:156 -msgid "Height [mm]" -msgstr "Chiều cao [mm]" - -#: label/models.py:157 -msgid "Label height, specified in mm" -msgstr "Chiều cao nhãn, tính theo mm" - -#: label/models.py:163 report/models.py:317 -msgid "Filename Pattern" -msgstr "Mẫu tên tệp" - -#: label/models.py:164 -msgid "Pattern for generating label filenames" -msgstr "Mẫu dùng để tạo tên tệp nhãn" - -#: label/models.py:313 label/models.py:352 label/models.py:377 -#: label/models.py:412 -msgid "Query filters (comma-separated list of key=value pairs)" -msgstr "Truy vấn bộ lọc (dùng dấu phẩy ngăn cách các cặp key=value)" - -#: label/models.py:314 label/models.py:353 label/models.py:378 -#: label/models.py:413 report/models.py:345 report/models.py:496 -#: report/models.py:532 report/models.py:568 report/models.py:750 -msgid "Filters" -msgstr "Bộ lọc" - -#: label/templates/label/part/part_label.html:31 -#: label/templates/label/stockitem/qr.html:21 -#: label/templates/label/stocklocation/qr.html:20 -#: templates/allauth_2fa/setup.html:18 -msgid "QR Code" -msgstr "Mã QR" - -#: label/templates/label/part/part_label_code128.html:31 -#: label/templates/label/stocklocation/qr_and_text.html:31 -#: templates/qr_code.html:7 -msgid "QR code" -msgstr "Mã QR" - -#: machine/machine_types/label_printer.py:217 +#: machine/machine_types/label_printer.py:218 msgid "Copies" msgstr "" -#: machine/machine_types/label_printer.py:218 +#: machine/machine_types/label_printer.py:219 msgid "Number of copies to print for each label" msgstr "" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:234 msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:234 order/api.py:1515 -#: templates/js/translated/sales_order.js:1042 +#: machine/machine_types/label_printer.py:235 order/api.py:1515 +#: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "Không rõ" -#: machine/machine_types/label_printer.py:235 +#: machine/machine_types/label_printer.py:236 msgid "Printing" msgstr "" -#: machine/machine_types/label_printer.py:236 +#: machine/machine_types/label_printer.py:237 msgid "No media" msgstr "" -#: machine/machine_types/label_printer.py:237 +#: machine/machine_types/label_printer.py:238 msgid "Disconnected" msgstr "" -#: machine/machine_types/label_printer.py:244 +#: machine/machine_types/label_printer.py:245 msgid "Label Printer" msgstr "" -#: machine/machine_types/label_printer.py:245 +#: machine/machine_types/label_printer.py:246 msgid "Directly print labels for various items." msgstr "" -#: machine/machine_types/label_printer.py:251 +#: machine/machine_types/label_printer.py:252 msgid "Printer Location" msgstr "" -#: machine/machine_types/label_printer.py:252 +#: machine/machine_types/label_printer.py:253 msgid "Scope the printer to a specific location" msgstr "" @@ -4930,19 +4865,19 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:89 -#: report/templates/report/inventree_po_report_base.html:31 -#: report/templates/report/inventree_so_report_base.html:31 +#: order/admin.py:30 order/models.py:90 +#: report/templates/report/inventree_purchase_order_report.html:31 +#: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2126 -#: templates/js/translated/sales_order.js:1847 +#: templates/js/translated/purchase_order.js:2125 +#: templates/js/translated/sales_order.js:1883 msgid "Total Price" msgstr "Tổng tiền" #: order/api.py:161 order/serializers.py:91 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 -#: order/templates/order/sales_order_base.html:118 +#: order/templates/order/sales_order_base.html:122 msgid "Order Status" msgstr "Trạng thái đặt hàng" @@ -4955,10 +4890,10 @@ msgstr "" msgid "No matching purchase order found" msgstr "Không tìm thấy đơn đặt mua phù hợp" -#: order/api.py:437 order/api.py:817 order/models.py:1382 order/models.py:1491 -#: order/models.py:1537 order/models.py:1651 order/models.py:1805 -#: order/models.py:2209 order/models.py:2260 -#: templates/js/translated/sales_order.js:1488 +#: order/api.py:437 order/api.py:817 order/models.py:1422 order/models.py:1531 +#: order/models.py:1577 order/models.py:1691 order/models.py:1845 +#: order/models.py:2258 order/models.py:2309 +#: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "Đặt hàng" @@ -4970,402 +4905,398 @@ msgstr "" msgid "Order Pending" msgstr "" -#: order/api.py:1509 order/models.py:1383 order/models.py:1492 -#: order/templates/order/order_base.html:9 +#: order/api.py:1509 order/models.py:381 order/models.py:1423 +#: order/models.py:1532 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 -#: report/templates/report/inventree_po_report_base.html:14 -#: stock/templates/stock/item_base.html:176 +#: report/templates/report/inventree_purchase_order_report.html:14 +#: stock/serializers.py:119 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 -#: templates/js/translated/purchase_order.js:1674 -#: templates/js/translated/stock.js:2262 templates/js/translated/stock.js:2910 +#: templates/js/translated/purchase_order.js:1673 +#: templates/js/translated/stock.js:2260 templates/js/translated/stock.js:2907 msgid "Purchase Order" msgstr "Đơn hàng" -#: order/api.py:1513 order/models.py:2210 order/models.py:2261 -#: order/templates/order/return_order_base.html:9 +#: order/api.py:1513 order/models.py:2008 order/models.py:2259 +#: order/models.py:2310 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:281 -#: templates/js/translated/stock.js:2944 +#: report/templates/report/inventree_return_order_report.html:13 +#: templates/js/translated/return_order.js:280 +#: templates/js/translated/stock.js:2941 msgid "Return Order" msgstr "Đơn hàng trả lại" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "Tổng tiền cho đơn hàng hàng" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:96 order/serializers.py:71 msgid "Order Currency" msgstr "Tiền tệ đơn đặt hàng" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:99 order/serializers.py:72 msgid "Currency for this order (leave blank to use company default)" msgstr "Tiền tệ cho đơn đặt này (để trống để sử dụng tiền mặc định)" -#: order/models.py:246 +#: order/models.py:248 msgid "Contact does not match selected company" msgstr "Liên hệ không phù hợp với doanh nghiệp đã chọn" -#: order/models.py:278 +#: order/models.py:291 msgid "Order description (optional)" msgstr "Mô tả đơn đặt (tùy chọn)" -#: order/models.py:287 +#: order/models.py:300 msgid "Select project code for this order" msgstr "Mã dự án đã chọn cho đơn đặt hàng này" -#: order/models.py:291 order/models.py:1288 order/models.py:1704 +#: order/models.py:304 order/models.py:1328 order/models.py:1744 msgid "Link to external page" msgstr "Liên kết đến trang bên ngoài" -#: order/models.py:299 +#: order/models.py:312 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "Ngày mong muốn giao được hàng. Đơn đặt sẽ quá hạn sau ngày này." -#: order/models.py:313 +#: order/models.py:326 msgid "Created By" msgstr "Tạo bởi" -#: order/models.py:321 +#: order/models.py:334 msgid "User or group responsible for this order" msgstr "Người dùng hoặc nhóm có trách nhiệm với đơn đặt này" -#: order/models.py:332 +#: order/models.py:345 msgid "Point of contact for this order" msgstr "Đầu mối liên hệ của đơn đặt này" -#: order/models.py:342 +#: order/models.py:355 msgid "Company address for this order" msgstr "Địa chỉ công ty cho đơn đặt này" -#: order/models.py:443 order/models.py:899 +#: order/models.py:465 order/models.py:930 msgid "Order reference" msgstr "Mã đặt hàng" -#: order/models.py:451 order/models.py:923 +#: order/models.py:473 order/models.py:954 msgid "Purchase order status" msgstr "Trạng thái đơn đặt mua" -#: order/models.py:466 +#: order/models.py:488 msgid "Company from which the items are being ordered" msgstr "Doanh nghiệp từ những hàng hóa đang được đặt mua" -#: order/models.py:477 order/templates/order/order_base.html:148 -#: templates/js/translated/purchase_order.js:1703 +#: order/models.py:499 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1702 msgid "Supplier Reference" msgstr "Tham chiếu nhà cung cấp" -#: order/models.py:478 +#: order/models.py:500 msgid "Supplier order reference code" msgstr "Mã tham chiếu đơn đặt nhà cung cấp" -#: order/models.py:487 +#: order/models.py:509 msgid "received by" msgstr "nhận bởi" -#: order/models.py:493 order/models.py:2036 +#: order/models.py:515 order/models.py:2085 msgid "Issue Date" msgstr "Ngày phát hành" -#: order/models.py:494 order/models.py:2037 +#: order/models.py:516 order/models.py:2086 msgid "Date order was issued" msgstr "Ngày đặt hàng đã phát hành" -#: order/models.py:501 order/models.py:2044 +#: order/models.py:523 order/models.py:2093 msgid "Date order was completed" msgstr "Ngày đặt hàng đã được hoàn thiện" -#: order/models.py:545 +#: order/models.py:567 msgid "Part supplier must match PO supplier" msgstr "Nhà cung cấp sản phẩm phải trùng với nhà cung cấp PO" -#: order/models.py:739 +#: order/models.py:761 msgid "Quantity must be a positive number" msgstr "Số lượng phải là số dương" -#: order/models.py:911 +#: order/models.py:942 msgid "Company to which the items are being sold" msgstr "Doanh nghiệp từ những hàng hóa đang được bán" -#: order/models.py:934 order/models.py:2029 +#: order/models.py:965 order/models.py:2078 msgid "Customer Reference " msgstr "Tham chiếu khách hàng " -#: order/models.py:935 order/models.py:2030 +#: order/models.py:966 order/models.py:2079 msgid "Customer order reference code" msgstr "Mã tham chiếu đơn đặt của khách hàng" -#: order/models.py:939 order/models.py:1658 -#: templates/js/translated/sales_order.js:843 -#: templates/js/translated/sales_order.js:1024 +#: order/models.py:970 order/models.py:1698 +#: templates/js/translated/sales_order.js:879 +#: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "Ngày giao hàng" -#: order/models.py:948 +#: order/models.py:979 msgid "shipped by" msgstr "vận chuyển bằng" -#: order/models.py:999 -msgid "Order cannot be completed as no parts have been assigned" -msgstr "Đơn đặt hàng không thể hoàn thiện vì chưa có sản phẩm nào được chọn" - -#: order/models.py:1004 +#: order/models.py:1029 msgid "Only an open order can be marked as complete" msgstr "Những đơn hàng đang mở thì sẽ được đánh dấu là hoàn thành" -#: order/models.py:1008 templates/js/translated/sales_order.js:506 +#: order/models.py:1033 msgid "Order cannot be completed as there are incomplete shipments" msgstr "Đơn hàng không thể hoàn thành được vì vận chuyển chưa xong" -#: order/models.py:1013 +#: order/models.py:1038 msgid "Order cannot be completed as there are incomplete line items" msgstr "Đơn hàng không thể hoàn thành được vì những khoản riêng chưa xong" -#: order/models.py:1260 +#: order/models.py:1300 msgid "Item quantity" msgstr "Số lượng mặt hàng" -#: order/models.py:1277 +#: order/models.py:1317 msgid "Line item reference" msgstr "Tham chiếu khoản riêng" -#: order/models.py:1284 +#: order/models.py:1324 msgid "Line item notes" msgstr "Ghi chú khoản riêng" -#: order/models.py:1296 +#: order/models.py:1336 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "Ngày mục tiêu cho khoản riêng này (để trống để sử dụng ngày mục tiêu từ đơn đặt)" -#: order/models.py:1317 +#: order/models.py:1357 msgid "Line item description (optional)" msgstr "Mô tả khoản riêng (tùy chọn)" -#: order/models.py:1323 +#: order/models.py:1363 msgid "Context" msgstr "Ngữ cảnh" -#: order/models.py:1324 +#: order/models.py:1364 msgid "Additional context for this line" msgstr "Ngữ cảnh bổ sung" -#: order/models.py:1334 +#: order/models.py:1374 msgid "Unit price" msgstr "Đơn giá" -#: order/models.py:1367 +#: order/models.py:1407 msgid "Supplier part must match supplier" msgstr "Sản phẩm nhà cung cấp phải phù hợp với nhà cung cung cấp" -#: order/models.py:1374 +#: order/models.py:1414 msgid "deleted" msgstr "đã bị xóa" -#: order/models.py:1402 +#: order/models.py:1442 msgid "Supplier part" msgstr "Sản phẩm nhà cung cấp" -#: order/models.py:1409 order/templates/order/order_base.html:196 +#: order/models.py:1449 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 #: templates/js/translated/purchase_order.js:1306 -#: templates/js/translated/purchase_order.js:2170 -#: templates/js/translated/return_order.js:764 +#: templates/js/translated/purchase_order.js:2169 +#: templates/js/translated/return_order.js:763 #: templates/js/translated/table_filters.js:120 #: templates/js/translated/table_filters.js:602 msgid "Received" msgstr "Đã nhận" -#: order/models.py:1410 +#: order/models.py:1450 msgid "Number of items received" msgstr "Số mục đã nhận" -#: order/models.py:1418 stock/models.py:923 stock/serializers.py:400 +#: order/models.py:1458 stock/models.py:944 stock/serializers.py:529 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2313 +#: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "Giá mua" -#: order/models.py:1419 +#: order/models.py:1459 msgid "Unit purchase price" msgstr "Giá đơn vị mua" -#: order/models.py:1434 +#: order/models.py:1474 msgid "Where does the Purchaser want this item to be stored?" msgstr "Có phải người mua hàng muốn mặt hàng này được tích trữ?" -#: order/models.py:1525 +#: order/models.py:1565 msgid "Virtual part cannot be assigned to a sales order" msgstr "Không thể gán sản phẩm ảo vào trong đơn đặt bán hàng" -#: order/models.py:1530 +#: order/models.py:1570 msgid "Only salable parts can be assigned to a sales order" msgstr "Chỉ có thể gán sản phẩm có thể bán vào đơn đặt bán hàng" -#: order/models.py:1556 part/templates/part/part_pricing.html:107 +#: order/models.py:1596 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "Giá bán" -#: order/models.py:1557 +#: order/models.py:1597 msgid "Unit sale price" msgstr "Giá bán đơn vị" -#: order/models.py:1567 +#: order/models.py:1607 msgid "Shipped quantity" msgstr "Số lượng đã vận chuyển" -#: order/models.py:1659 +#: order/models.py:1699 msgid "Date of shipment" msgstr "Ngày vận chuyển" -#: order/models.py:1665 templates/js/translated/sales_order.js:1036 +#: order/models.py:1705 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "Ngày giao hàng" -#: order/models.py:1666 +#: order/models.py:1706 msgid "Date of delivery of shipment" msgstr "Ngày giao hàng của vận chuyển" -#: order/models.py:1674 +#: order/models.py:1714 msgid "Checked By" msgstr "Kiểm tra bởi" -#: order/models.py:1675 +#: order/models.py:1715 msgid "User who checked this shipment" msgstr "Người dùng đã kiểm tra vận chuyển này" -#: order/models.py:1682 order/models.py:1895 order/serializers.py:1354 -#: order/serializers.py:1464 templates/js/translated/model_renderers.js:448 +#: order/models.py:1722 order/models.py:1935 order/serializers.py:1354 +#: order/serializers.py:1464 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "Vận chuyển" -#: order/models.py:1683 +#: order/models.py:1723 msgid "Shipment number" msgstr "Mã vận chuyển" -#: order/models.py:1691 +#: order/models.py:1731 msgid "Tracking Number" msgstr "Số theo dõi" -#: order/models.py:1692 +#: order/models.py:1732 msgid "Shipment tracking information" msgstr "Thông tin theo dõi vận chuyển" -#: order/models.py:1699 +#: order/models.py:1739 msgid "Invoice Number" msgstr "Mã hóa đơn" -#: order/models.py:1700 +#: order/models.py:1740 msgid "Reference number for associated invoice" msgstr "Số tham chiếu liên kết với hóa đơn" -#: order/models.py:1720 +#: order/models.py:1760 msgid "Shipment has already been sent" msgstr "Vận đơn đã được gửi đi" -#: order/models.py:1723 +#: order/models.py:1763 msgid "Shipment has no allocated stock items" msgstr "Vận đơn chưa có hàng hóa được phân bổ" -#: order/models.py:1841 order/models.py:1843 +#: order/models.py:1881 order/models.py:1883 msgid "Stock item has not been assigned" msgstr "Hàng trong kho chưa được giao" -#: order/models.py:1850 +#: order/models.py:1890 msgid "Cannot allocate stock item to a line with a different part" msgstr "Không thể phân bổ hàng hóa vào cùng với dòng với sản phẩm khác" -#: order/models.py:1853 +#: order/models.py:1893 msgid "Cannot allocate stock to a line without a part" msgstr "Không thể phân bổ hàng hóa vào một dòng mà không có sản phẩm nào" -#: order/models.py:1856 +#: order/models.py:1896 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Số lượng phân bổ không thể vượt quá số lượng của kho" -#: order/models.py:1875 order/serializers.py:1231 +#: order/models.py:1915 order/serializers.py:1231 msgid "Quantity must be 1 for serialized stock item" msgstr "Số lượng phải là 1 cho hàng hóa sêri" -#: order/models.py:1878 +#: order/models.py:1918 msgid "Sales order does not match shipment" msgstr "Đơn bán hàng không phù hợp với vận đơn" -#: order/models.py:1879 plugin/base/barcodes/api.py:481 +#: order/models.py:1919 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "Vận đơn không phù hợp với đơn bán hàng" -#: order/models.py:1887 +#: order/models.py:1927 msgid "Line" msgstr "Dòng" -#: order/models.py:1896 +#: order/models.py:1936 msgid "Sales order shipment reference" msgstr "Tham chiếu vận đơn của đơn hàng bán" -#: order/models.py:1909 order/models.py:2217 -#: templates/js/translated/return_order.js:722 +#: order/models.py:1949 order/models.py:2266 +#: templates/js/translated/return_order.js:721 msgid "Item" msgstr "Hàng hóa" -#: order/models.py:1910 +#: order/models.py:1950 msgid "Select stock item to allocate" msgstr "Chọn hàng trong kho để phân bổ" -#: order/models.py:1919 +#: order/models.py:1959 msgid "Enter stock allocation quantity" msgstr "Nhập số lượng phân kho" -#: order/models.py:1999 +#: order/models.py:2048 msgid "Return Order reference" msgstr "Tham chiếu đơn hàng trả lại" -#: order/models.py:2011 +#: order/models.py:2060 msgid "Company from which items are being returned" msgstr "Công ty có hàng hóa sẽ được trả lại" -#: order/models.py:2023 +#: order/models.py:2072 msgid "Return order status" msgstr "Trạng thái đơn hàng trả lại" -#: order/models.py:2202 +#: order/models.py:2251 msgid "Only serialized items can be assigned to a Return Order" msgstr "Chỉ hàng hóa thêo sêri mới có thể được gán vào đơn hàng trả lại" -#: order/models.py:2218 +#: order/models.py:2267 msgid "Select item to return from customer" msgstr "Chọn hàng hóa để trả lại từ khách hàng" -#: order/models.py:2224 +#: order/models.py:2273 msgid "Received Date" msgstr "Ngày nhận được" -#: order/models.py:2225 +#: order/models.py:2274 msgid "The date this this return item was received" msgstr "Ngày mà hàng hóa trả lại đã được nhận" -#: order/models.py:2236 templates/js/translated/return_order.js:733 +#: order/models.py:2285 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "Kết quả" -#: order/models.py:2237 +#: order/models.py:2286 msgid "Outcome for this line item" msgstr "Kết quả cho hàng hóa dòng này" -#: order/models.py:2244 +#: order/models.py:2293 msgid "Cost associated with return or repair for this line item" msgstr "Chi phí gắn với hàng trả lại hoặc sửa chữa cho dòng hàng hóa này" #: order/serializers.py:80 order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 -#: report/templates/report/inventree_po_report_base.html:22 -#: report/templates/report/inventree_return_order_report_base.html:19 -#: report/templates/report/inventree_so_report_base.html:22 +#: report/templates/report/inventree_purchase_order_report.html:22 +#: report/templates/report/inventree_return_order_report.html:19 +#: report/templates/report/inventree_sales_order_report.html:22 msgid "Line Items" msgstr "Mục dòng" @@ -5595,7 +5526,7 @@ msgstr "Đánh dấu đơn đặt đã hoàn thành" #: order/templates/order/order_base.html:84 #: order/templates/order/return_order_base.html:87 -#: order/templates/order/sales_order_base.html:93 +#: order/templates/order/sales_order_base.html:97 msgid "Complete Order" msgstr "Đơn đặt hoàn thành" @@ -5605,13 +5536,13 @@ msgstr "Ảnh thu nhỏ sản phẩm nhà cung cấp" #: order/templates/order/order_base.html:106 #: order/templates/order/return_order_base.html:101 -#: order/templates/order/sales_order_base.html:106 +#: order/templates/order/sales_order_base.html:110 msgid "Order Reference" msgstr "Tham chiếu đơn đặt" #: order/templates/order/order_base.html:111 #: order/templates/order/return_order_base.html:106 -#: order/templates/order/sales_order_base.html:111 +#: order/templates/order/sales_order_base.html:115 msgid "Order Description" msgstr "Mô tả đơn đặt" @@ -5620,19 +5551,19 @@ msgid "No suppplier information available" msgstr "Chưa có thông tin nhà cung cấp" #: order/templates/order/order_base.html:154 -#: order/templates/order/sales_order_base.html:157 +#: order/templates/order/sales_order_base.html:161 msgid "Completed Line Items" msgstr "Mục dòng hoàn thành" #: order/templates/order/order_base.html:160 -#: order/templates/order/sales_order_base.html:163 -#: order/templates/order/sales_order_base.html:173 +#: order/templates/order/sales_order_base.html:167 +#: order/templates/order/sales_order_base.html:177 msgid "Incomplete" msgstr "Chưa hoàn thành" #: order/templates/order/order_base.html:179 #: order/templates/order/return_order_base.html:157 -#: report/templates/report/inventree_build_order_base.html:121 +#: report/templates/report/inventree_build_order_report.html:121 msgid "Issued" msgstr "Đã cấp" @@ -5642,15 +5573,15 @@ msgstr "Tổng chi phí" #: order/templates/order/order_base.html:228 #: order/templates/order/return_order_base.html:199 -#: order/templates/order/sales_order_base.html:239 +#: order/templates/order/sales_order_base.html:243 msgid "Total cost could not be calculated" msgstr "Không thể tính tổng chi phí" -#: order/templates/order/order_base.html:318 +#: order/templates/order/order_base.html:314 msgid "Purchase Order QR Code" msgstr "Mã QR đơn đặt mua" -#: order/templates/order/order_base.html:330 +#: order/templates/order/order_base.html:326 msgid "Link Barcode to Purchase Order" msgstr "Liên kết mã vạch đến đơn đặt mua" @@ -5707,8 +5638,8 @@ msgstr "Lựa chọn trùng lặp" #: templates/js/translated/build.js:1629 #: templates/js/translated/purchase_order.js:696 #: templates/js/translated/purchase_order.js:1236 -#: templates/js/translated/return_order.js:506 -#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/return_order.js:505 +#: templates/js/translated/sales_order.js:1145 #: templates/js/translated/stock.js:714 templates/js/translated/stock.js:883 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -5762,7 +5693,7 @@ msgstr "Hàng hóa đặt mua" #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 #: templates/js/translated/purchase_order.js:414 -#: templates/js/translated/return_order.js:459 +#: templates/js/translated/return_order.js:458 #: templates/js/translated/sales_order.js:237 msgid "Add Line Item" msgstr "Thêm mục dòng" @@ -5811,30 +5742,30 @@ msgid "Print packing list" msgstr "In danh sách đóng gói" #: order/templates/order/return_order_base.html:138 -#: order/templates/order/sales_order_base.html:151 -#: templates/js/translated/return_order.js:309 -#: templates/js/translated/sales_order.js:797 +#: order/templates/order/sales_order_base.html:155 +#: templates/js/translated/return_order.js:308 +#: templates/js/translated/sales_order.js:833 msgid "Customer Reference" msgstr "Mã khách hàng" #: order/templates/order/return_order_base.html:195 -#: order/templates/order/sales_order_base.html:235 +#: order/templates/order/sales_order_base.html:239 #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1072 -#: templates/js/translated/purchase_order.js:1753 -#: templates/js/translated/return_order.js:381 -#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/purchase_order.js:1752 +#: templates/js/translated/return_order.js:380 +#: templates/js/translated/sales_order.js:891 msgid "Total Cost" msgstr "Tổng chi phí" -#: order/templates/order/return_order_base.html:263 +#: order/templates/order/return_order_base.html:259 msgid "Return Order QR Code" msgstr "Mã QR đơn hàng trả lại" -#: order/templates/order/return_order_base.html:275 +#: order/templates/order/return_order_base.html:271 msgid "Link Barcode to Return Order" msgstr "" @@ -5852,25 +5783,30 @@ msgid "Ship Items" msgstr "Mục vận chuyển" #: order/templates/order/sales_order_base.html:92 -#: templates/js/translated/sales_order.js:484 +#: order/templates/order/sales_order_base.html:93 +msgid "Mark As Shipped" +msgstr "" + +#: order/templates/order/sales_order_base.html:96 +#: templates/js/translated/sales_order.js:536 msgid "Complete Sales Order" msgstr "Hoàn thành đơn bán hàng" -#: order/templates/order/sales_order_base.html:131 +#: order/templates/order/sales_order_base.html:135 msgid "This Sales Order has not been fully allocated" msgstr "Chưa phân bổ đầy đủ đơn bán hàng" -#: order/templates/order/sales_order_base.html:169 +#: order/templates/order/sales_order_base.html:173 #: order/templates/order/sales_order_detail.html:99 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "Vận đơn đã hoàn thành" -#: order/templates/order/sales_order_base.html:312 +#: order/templates/order/sales_order_base.html:321 msgid "Sales Order QR Code" msgstr "" -#: order/templates/order/sales_order_base.html:324 +#: order/templates/order/sales_order_base.html:333 msgid "Link Barcode to Sales Order" msgstr "" @@ -5914,12 +5850,12 @@ msgstr "Cập nhật {part} giá đơn vị đến {price}" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "Cập nhật {part} giá đơn vị đến {price} và số lượng đến {qty}" -#: part/admin.py:39 part/admin.py:404 part/models.py:3921 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:406 part/models.py:3964 part/stocktake.py:218 #: stock/admin.py:153 msgid "Part ID" msgstr "ID sản phẩm" -#: part/admin.py:41 part/admin.py:411 part/models.py:3922 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:413 part/models.py:3965 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "Tên sản phẩm" @@ -5928,20 +5864,20 @@ msgstr "Tên sản phẩm" msgid "Part Description" msgstr "Mô tả sản phẩm" -#: part/admin.py:48 part/models.py:904 part/templates/part/part_base.html:269 -#: report/templates/report/inventree_slr_report.html:103 -#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2341 -#: templates/js/translated/stock.js:2038 +#: part/admin.py:48 part/models.py:947 part/templates/part/part_base.html:269 +#: report/templates/report/inventree_stock_location_report.html:103 +#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 +#: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:913 part/templates/part/part_base.html:277 -#: report/models.py:195 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2347 +#: part/admin.py:50 part/models.py:956 part/templates/part/part_base.html:277 +#: report/models.py:161 templates/js/translated/part.js:1231 +#: templates/js/translated/part.js:2346 msgid "Revision" msgstr "Phiên bản" -#: part/admin.py:53 part/admin.py:317 part/models.py:886 +#: part/admin.py:53 part/admin.py:319 part/models.py:929 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "Từ khóa" @@ -5950,15 +5886,15 @@ msgstr "Từ khóa" msgid "Part Image" msgstr "Ảnh sản phẩm" -#: part/admin.py:63 part/admin.py:300 part/stocktake.py:221 +#: part/admin.py:63 part/admin.py:302 part/stocktake.py:221 msgid "Category ID" msgstr "ID danh mục" -#: part/admin.py:67 part/admin.py:302 part/stocktake.py:222 +#: part/admin.py:67 part/admin.py:304 part/stocktake.py:222 msgid "Category Name" msgstr "Tên danh mục" -#: part/admin.py:71 part/admin.py:314 +#: part/admin.py:71 part/admin.py:316 msgid "Default Location ID" msgstr "ID vị trí mặc định" @@ -5966,11 +5902,11 @@ msgstr "ID vị trí mặc định" msgid "Default Supplier ID" msgstr "ID nhà cung ứng mặc định" -#: part/admin.py:81 part/models.py:872 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:915 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "Biến thể của" -#: part/admin.py:84 part/models.py:1000 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1043 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "Kho tối thiểu" @@ -5983,160 +5919,164 @@ msgstr "Sử dụng trong" msgid "Building" msgstr "Đang dựng" -#: part/admin.py:155 part/models.py:3080 part/models.py:3094 +#: part/admin.py:155 part/models.py:3123 part/models.py:3137 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "Chi phí tối thiểu" -#: part/admin.py:158 part/models.py:3087 part/models.py:3101 +#: part/admin.py:158 part/models.py:3130 part/models.py:3144 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "Chi phí tối đa" -#: part/admin.py:306 part/admin.py:393 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:211 msgid "Parent ID" msgstr "ID cha" -#: part/admin.py:310 part/admin.py:400 stock/admin.py:62 +#: part/admin.py:312 part/admin.py:402 stock/admin.py:62 msgid "Parent Name" msgstr "Tên cha" -#: part/admin.py:318 part/templates/part/category.html:88 +#: part/admin.py:320 part/templates/part/category.html:88 #: part/templates/part/category.html:101 msgid "Category Path" msgstr "Đưỡng dẫn danh mục" -#: part/admin.py:323 part/models.py:391 part/serializers.py:117 +#: part/admin.py:325 part/models.py:393 part/serializers.py:117 #: part/serializers.py:272 part/serializers.py:391 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2803 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "Nguyên liệu" -#: part/admin.py:384 +#: part/admin.py:386 msgid "BOM Level" msgstr "Cấp độ BOM" -#: part/admin.py:387 +#: part/admin.py:389 msgid "BOM Item ID" msgstr "ID hàng hóa BOM" -#: part/admin.py:397 +#: part/admin.py:399 msgid "Parent IPN" msgstr "IPN cha" -#: part/admin.py:408 part/models.py:3923 +#: part/admin.py:410 part/models.py:3966 msgid "Part IPN" msgstr "IPN sản phẩm" -#: part/admin.py:421 part/serializers.py:1261 +#: part/admin.py:423 part/serializers.py:1276 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "Giá thấp nhất" -#: part/admin.py:426 part/serializers.py:1276 +#: part/admin.py:428 part/serializers.py:1291 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "Giá cao nhất" -#: part/api.py:119 +#: part/api.py:112 msgid "Starred" msgstr "" -#: part/api.py:121 +#: part/api.py:114 msgid "Filter by starred categories" msgstr "" -#: part/api.py:138 stock/api.py:284 +#: part/api.py:131 stock/api.py:318 msgid "Depth" msgstr "" -#: part/api.py:138 +#: part/api.py:131 msgid "Filter by category depth" msgstr "" -#: part/api.py:156 stock/api.py:302 +#: part/api.py:149 stock/api.py:336 msgid "Cascade" msgstr "" -#: part/api.py:158 +#: part/api.py:151 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:178 +#: part/api.py:171 msgid "Parent" msgstr "" -#: part/api.py:180 +#: part/api.py:173 msgid "Filter by parent category" msgstr "" -#: part/api.py:213 +#: part/api.py:206 msgid "Exclude Tree" msgstr "" -#: part/api.py:215 +#: part/api.py:208 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:461 +#: part/api.py:455 msgid "Has Results" msgstr "" -#: part/api.py:628 +#: part/api.py:622 msgid "Incoming Purchase Order" msgstr "Đơn đặt mua vào" -#: part/api.py:646 +#: part/api.py:640 msgid "Outgoing Sales Order" msgstr "Đơn hàng bán ra" -#: part/api.py:662 +#: part/api.py:656 msgid "Stock produced by Build Order" msgstr "Kho sản xuất bởi Đơn đặt bản dựng" -#: part/api.py:746 +#: part/api.py:740 msgid "Stock required for Build Order" msgstr "Kho được yêu cầu cho đơn đặt bản dựng" -#: part/api.py:893 +#: part/api.py:887 msgid "Valid" msgstr "Hợp lệ" -#: part/api.py:894 +#: part/api.py:888 msgid "Validate entire Bill of Materials" msgstr "Xác minh toàn bộ hóa đơn vật liệu" -#: part/api.py:900 +#: part/api.py:894 msgid "This option must be selected" msgstr "Tùy chọn này phải được chọn" -#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866 -#: part/serializers.py:406 part/serializers.py:1117 -#: part/templates/part/part_base.html:260 stock/api.py:745 +#: part/api.py:1111 +msgid "BOM Valid" +msgstr "" + +#: part/api.py:1515 part/models.py:939 part/models.py:3429 part/models.py:3909 +#: part/serializers.py:406 part/serializers.py:1132 +#: part/templates/part/part_base.html:260 stock/api.py:779 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2377 +#: templates/js/translated/part.js:2376 msgid "Category" msgstr "Danh mục" -#: part/api.py:1849 +#: part/api.py:1803 msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:101 part/models.py:939 +#: part/bom.py:170 part/models.py:102 part/models.py:982 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "Điểm bán mặc định" -#: part/bom.py:171 part/serializers.py:822 +#: part/bom.py:171 part/serializers.py:837 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "Tổng số lượng" @@ -6145,698 +6085,712 @@ msgstr "Tổng số lượng" msgid "Input quantity for price calculation" msgstr "Số lượng đầu ra cho tính toán giá bán" -#: part/models.py:82 part/models.py:3867 part/templates/part/category.html:16 +#: part/models.py:83 part/models.py:3910 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Danh mục sản phẩm" -#: part/models.py:83 part/templates/part/category.html:136 +#: part/models.py:84 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "Danh mục sản phẩm" -#: part/models.py:102 +#: part/models.py:103 msgid "Default location for parts in this category" msgstr "Vị trí mặc định cho sản phẩm trong danh mục này" -#: part/models.py:107 stock/models.py:165 templates/js/translated/part.js:2810 -#: templates/js/translated/stock.js:2775 +#: part/models.py:108 stock/models.py:177 templates/js/translated/part.js:2809 +#: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "Cấu trúc" -#: part/models.py:109 +#: part/models.py:110 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "Hàng hóa không được gán trực tiếp vào danh mục có cấu trúc nhưng có thể được gán vào danh mục con." -#: part/models.py:118 +#: part/models.py:119 msgid "Default keywords" msgstr "Từ khóa mặc định" -#: part/models.py:119 +#: part/models.py:120 msgid "Default keywords for parts in this category" msgstr "Từ khóa mặc định cho sản phẩm trong danh mục này" -#: part/models.py:125 stock/models.py:89 stock/models.py:148 +#: part/models.py:126 stock/models.py:89 stock/models.py:160 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "Biểu tượng" -#: part/models.py:126 stock/models.py:149 +#: part/models.py:127 stock/models.py:161 msgid "Icon (optional)" msgstr "Biểu tượng (tùy chọn)" -#: part/models.py:148 +#: part/models.py:149 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "Bạn không thể thay đổi cấu trúc nhóm sản phẩm này vì một số sản phẩm đã được gắn với nó rồi!" -#: part/models.py:484 +#: part/models.py:482 +msgid "Cannot delete this part as it is still active" +msgstr "" + +#: part/models.py:489 +msgid "Cannot delete this part as it is used in an assembly" +msgstr "" + +#: part/models.py:527 msgid "Invalid choice for parent part" msgstr "Lựa chọn sai cho sản phẩm cha" -#: part/models.py:532 part/models.py:539 +#: part/models.py:575 part/models.py:582 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "Không thể dùng sản phẩm '{self}' trong BOM cho '{parent}' (đệ quy)" -#: part/models.py:551 +#: part/models.py:594 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "Sản phẩm '{parent}' được dùng trong BOM cho '{self}' (đệ quy)" -#: part/models.py:616 +#: part/models.py:659 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "IPN phải phù hợp mẫu biểu thức chính quy {pattern}" -#: part/models.py:696 +#: part/models.py:739 msgid "Stock item with this serial number already exists" msgstr "Hàng trong kho với số sê ri này đã tồn tại" -#: part/models.py:801 +#: part/models.py:844 msgid "Duplicate IPN not allowed in part settings" msgstr "IPN trùng lặp không được cho phép trong thiết lập sản phẩm" -#: part/models.py:811 +#: part/models.py:854 msgid "Part with this Name, IPN and Revision already exists." msgstr "Sản phẩm với Tên, IPN và Duyệt lại đã tồn tại." -#: part/models.py:826 +#: part/models.py:869 msgid "Parts cannot be assigned to structural part categories!" msgstr "Sản phẩm không thể được phân vào danh mục sản phẩm có cấu trúc!" -#: part/models.py:855 part/models.py:3922 +#: part/models.py:898 part/models.py:3965 msgid "Part name" msgstr "Tên sản phẩm" -#: part/models.py:860 +#: part/models.py:903 msgid "Is Template" msgstr "Là Mẫu" -#: part/models.py:861 +#: part/models.py:904 msgid "Is this part a template part?" msgstr "Sản phẩm này có phải là sản phẩm mẫu?" -#: part/models.py:871 +#: part/models.py:914 msgid "Is this part a variant of another part?" msgstr "Đây có phải là 1 biến thể của sản phẩm khác?" -#: part/models.py:879 +#: part/models.py:922 msgid "Part description (optional)" msgstr "Mô tả (không bắt buộc)" -#: part/models.py:887 +#: part/models.py:930 msgid "Part keywords to improve visibility in search results" msgstr "Từ khóa sản phẩm để cải thiện sự hiện diện trong kết quả tìm kiếm" -#: part/models.py:897 +#: part/models.py:940 msgid "Part category" msgstr "Danh mục sản phẩm" -#: part/models.py:905 +#: part/models.py:948 msgid "Internal Part Number" msgstr "Mã sản phẩm nội bộ" -#: part/models.py:912 +#: part/models.py:955 msgid "Part revision or version number" msgstr "Số phiên bản hoặc bản duyệt lại sản phẩm" -#: part/models.py:937 +#: part/models.py:980 msgid "Where is this item normally stored?" msgstr "Hàng hóa này sẽ được cất vào đâu?" -#: part/models.py:983 part/templates/part/part_base.html:376 +#: part/models.py:1026 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "Nhà cung ứng mặc định" -#: part/models.py:984 +#: part/models.py:1027 msgid "Default supplier part" msgstr "Nhà cung ứng sản phẩm mặc định" -#: part/models.py:991 +#: part/models.py:1034 msgid "Default Expiry" msgstr "Hết hạn mặc định" -#: part/models.py:992 +#: part/models.py:1035 msgid "Expiry time (in days) for stock items of this part" msgstr "Thời gian hết hạn (theo ngày) để nhập kho hàng hóa cho sản phẩm này" -#: part/models.py:1001 +#: part/models.py:1044 msgid "Minimum allowed stock level" msgstr "Cấp độ kho tối thiểu được phép" -#: part/models.py:1010 +#: part/models.py:1053 msgid "Units of measure for this part" msgstr "Đơn vị đo cho sản phẩm này" -#: part/models.py:1017 +#: part/models.py:1060 msgid "Can this part be built from other parts?" msgstr "Sản phẩm này có thể được dựng từ sản phẩm khác?" -#: part/models.py:1023 +#: part/models.py:1066 msgid "Can this part be used to build other parts?" msgstr "Sản phẩm này có thể dùng để dựng các sản phẩm khác?" -#: part/models.py:1029 +#: part/models.py:1072 msgid "Does this part have tracking for unique items?" msgstr "Sản phẩm này có đang theo dõi cho hàng hóa duy nhất?" -#: part/models.py:1035 +#: part/models.py:1078 msgid "Can this part be purchased from external suppliers?" msgstr "Sản phẩm này có thể mua được từ nhà cung ứng bên ngoài?" -#: part/models.py:1041 +#: part/models.py:1084 msgid "Can this part be sold to customers?" msgstr "Sản phẩm này có thể được bán cho khách hàng?" -#: part/models.py:1045 +#: part/models.py:1088 msgid "Is this part active?" msgstr "Sản phẩm này đang hoạt động?" -#: part/models.py:1051 +#: part/models.py:1094 msgid "Is this a virtual part, such as a software product or license?" msgstr "Đây là sản phẩm ảo, ví dụ như sản phẩm phần mềm hay bản quyền?" -#: part/models.py:1057 +#: part/models.py:1100 msgid "BOM checksum" msgstr "Giá trị tổng kiểm BOM" -#: part/models.py:1058 +#: part/models.py:1101 msgid "Stored BOM checksum" msgstr "Giá trị tổng kiểm BOM đã được lưu" -#: part/models.py:1066 +#: part/models.py:1109 msgid "BOM checked by" msgstr "BOM kiểm tra bởi" -#: part/models.py:1071 +#: part/models.py:1114 msgid "BOM checked date" msgstr "Ngày kiểm tra BOM" -#: part/models.py:1087 +#: part/models.py:1130 msgid "Creation User" msgstr "Tạo người dùng" -#: part/models.py:1097 +#: part/models.py:1140 msgid "Owner responsible for this part" msgstr "Trách nhiệm chủ sở hữu cho sản phẩm này" -#: part/models.py:1102 part/templates/part/part_base.html:339 +#: part/models.py:1145 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 -#: templates/js/translated/part.js:2471 +#: templates/js/translated/part.js:2470 msgid "Last Stocktake" msgstr "Kiểm kê cuối cùng" -#: part/models.py:1975 +#: part/models.py:2018 msgid "Sell multiple" msgstr "Bán nhiều" -#: part/models.py:2994 +#: part/models.py:3037 msgid "Currency used to cache pricing calculations" msgstr "Tiền được dùng để làm đệm tính toán giá bán" -#: part/models.py:3010 +#: part/models.py:3053 msgid "Minimum BOM Cost" msgstr "Chi phí BOM tối thiểu" -#: part/models.py:3011 +#: part/models.py:3054 msgid "Minimum cost of component parts" msgstr "Chi phí thành phần sản phẩm tối thiểu" -#: part/models.py:3017 +#: part/models.py:3060 msgid "Maximum BOM Cost" msgstr "Chi phí BOM tối đa" -#: part/models.py:3018 +#: part/models.py:3061 msgid "Maximum cost of component parts" msgstr "Chi phí thành phần sản phẩm tối đa" -#: part/models.py:3024 +#: part/models.py:3067 msgid "Minimum Purchase Cost" msgstr "Chi phí mua vào tối thiểu" -#: part/models.py:3025 +#: part/models.py:3068 msgid "Minimum historical purchase cost" msgstr "Chi phí mua vào tối thiểu trong lịch sử" -#: part/models.py:3031 +#: part/models.py:3074 msgid "Maximum Purchase Cost" msgstr "Chi phí mua tối đa" -#: part/models.py:3032 +#: part/models.py:3075 msgid "Maximum historical purchase cost" msgstr "Chi phí thành phần sản phẩm tối đa trong lịch sử" -#: part/models.py:3038 +#: part/models.py:3081 msgid "Minimum Internal Price" msgstr "Giá nội bộ tối thiểu" -#: part/models.py:3039 +#: part/models.py:3082 msgid "Minimum cost based on internal price breaks" msgstr "Chi phí tối thiểu dựa trên phá vỡ giá nội bộ" -#: part/models.py:3045 +#: part/models.py:3088 msgid "Maximum Internal Price" msgstr "Giá nội bộ tối đa" -#: part/models.py:3046 +#: part/models.py:3089 msgid "Maximum cost based on internal price breaks" msgstr "Chi phí tối đa dựa trên phá vỡ giá nội bộ" -#: part/models.py:3052 +#: part/models.py:3095 msgid "Minimum Supplier Price" msgstr "Giá nhà cung ứng tối thiểu" -#: part/models.py:3053 +#: part/models.py:3096 msgid "Minimum price of part from external suppliers" msgstr "Giá sản phẩm tối thiểu từ nhà cung ứng bên ngoài" -#: part/models.py:3059 +#: part/models.py:3102 msgid "Maximum Supplier Price" msgstr "Giá nhà cung ứng tối đa" -#: part/models.py:3060 +#: part/models.py:3103 msgid "Maximum price of part from external suppliers" msgstr "Giá sản phẩm tối đã từ nhà cung ứng bên ngoài" -#: part/models.py:3066 +#: part/models.py:3109 msgid "Minimum Variant Cost" msgstr "Giá trị biến thể tối thiểu" -#: part/models.py:3067 +#: part/models.py:3110 msgid "Calculated minimum cost of variant parts" msgstr "Chi phí tối thiểu của sản phẩm biến thể đã tính" -#: part/models.py:3073 +#: part/models.py:3116 msgid "Maximum Variant Cost" msgstr "Chi phí biến thể tối đa" -#: part/models.py:3074 +#: part/models.py:3117 msgid "Calculated maximum cost of variant parts" msgstr "Chi phí tối đa của sản phẩm biến thể đã tính" -#: part/models.py:3081 +#: part/models.py:3124 msgid "Override minimum cost" msgstr "Ghi đề chi phí tối thiểu" -#: part/models.py:3088 +#: part/models.py:3131 msgid "Override maximum cost" msgstr "Ghi đề chi phí tối đa" -#: part/models.py:3095 +#: part/models.py:3138 msgid "Calculated overall minimum cost" msgstr "Chi phí tối thiểu tính toán tổng thể" -#: part/models.py:3102 +#: part/models.py:3145 msgid "Calculated overall maximum cost" msgstr "Chi phí tối đa tính toán tổng thể" -#: part/models.py:3108 +#: part/models.py:3151 msgid "Minimum Sale Price" msgstr "Giá bán thấp nhất" -#: part/models.py:3109 +#: part/models.py:3152 msgid "Minimum sale price based on price breaks" msgstr "Giá bán tối thiểu dựa trên phá giá" -#: part/models.py:3115 +#: part/models.py:3158 msgid "Maximum Sale Price" msgstr "Giá bán cao nhất" -#: part/models.py:3116 +#: part/models.py:3159 msgid "Maximum sale price based on price breaks" msgstr "Giá bán cao nhất dựa trên phá giá" -#: part/models.py:3122 +#: part/models.py:3165 msgid "Minimum Sale Cost" msgstr "Chi phí bán hàng tối thiểu" -#: part/models.py:3123 +#: part/models.py:3166 msgid "Minimum historical sale price" msgstr "Giá bán hàng tối thiểu trong lịch sử" -#: part/models.py:3129 +#: part/models.py:3172 msgid "Maximum Sale Cost" msgstr "Giá bán hàng tối đa" -#: part/models.py:3130 +#: part/models.py:3173 msgid "Maximum historical sale price" msgstr "Giá bán hàng tối đa trong lịch sử" -#: part/models.py:3149 +#: part/models.py:3192 msgid "Part for stocktake" msgstr "Sản phẩm dành cho kiểm kê" -#: part/models.py:3154 +#: part/models.py:3197 msgid "Item Count" msgstr "Tổng số hàng" -#: part/models.py:3155 +#: part/models.py:3198 msgid "Number of individual stock entries at time of stocktake" msgstr "Số mục kho độc lậo tại thời điểm kiểm kê" -#: part/models.py:3163 +#: part/models.py:3206 msgid "Total available stock at time of stocktake" msgstr "Tống số kho tại thời điểm kiểm kê" -#: part/models.py:3167 part/models.py:3250 +#: part/models.py:3210 part/models.py:3293 #: part/templates/part/part_scheduling.html:13 -#: report/templates/report/inventree_test_report_base.html:106 +#: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 #: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 -#: templates/js/translated/purchase_order.js:1732 -#: templates/js/translated/stock.js:2824 +#: templates/js/translated/purchase_order.js:1731 +#: templates/js/translated/stock.js:2821 msgid "Date" msgstr "Ngày" -#: part/models.py:3168 +#: part/models.py:3211 msgid "Date stocktake was performed" msgstr "Kiểm kê đã thực hiện" -#: part/models.py:3176 +#: part/models.py:3219 msgid "Additional notes" msgstr "Ghi chú bổ sung" -#: part/models.py:3186 +#: part/models.py:3229 msgid "User who performed this stocktake" msgstr "Người dùng đã thực hiện đợt kiểm kê này" -#: part/models.py:3192 +#: part/models.py:3235 msgid "Minimum Stock Cost" msgstr "Chi phí kho tối thiểu" -#: part/models.py:3193 +#: part/models.py:3236 msgid "Estimated minimum cost of stock on hand" msgstr "Chi phí kho tối thiểu ước tính của kho đang có" -#: part/models.py:3199 +#: part/models.py:3242 msgid "Maximum Stock Cost" msgstr "Chi phí kho tối đa" -#: part/models.py:3200 +#: part/models.py:3243 msgid "Estimated maximum cost of stock on hand" msgstr "Chi phí kho tối đa ước tính của kho đang có" -#: part/models.py:3256 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3299 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "Báo cáo" -#: part/models.py:3257 +#: part/models.py:3300 msgid "Stocktake report file (generated internally)" msgstr "Tệp báo cáo kiểm kê (được sinh nội bộ)" -#: part/models.py:3262 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3305 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "Bộ đếm sản phẩm" -#: part/models.py:3263 +#: part/models.py:3306 msgid "Number of parts covered by stocktake" msgstr "Số sản phẩm đã được bao quát bởi kiểm kê" -#: part/models.py:3273 +#: part/models.py:3316 msgid "User who requested this stocktake report" msgstr "Người dùng đã yêu cầu báo cáo kiểm kê này" -#: part/models.py:3435 +#: part/models.py:3478 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3446 +#: part/models.py:3489 msgid "Test templates can only be created for trackable parts" msgstr "Chỉ có thể tạo mẫu kiểm thử cho sản phẩm có thể theo dõi" -#: part/models.py:3457 +#: part/models.py:3500 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3474 templates/js/translated/part.js:2879 +#: part/models.py:3517 templates/js/translated/part.js:2878 msgid "Test Name" msgstr "Tên kiểm thử" -#: part/models.py:3475 +#: part/models.py:3518 msgid "Enter a name for the test" msgstr "Nhập tên cho kiểm thử" -#: part/models.py:3481 +#: part/models.py:3524 msgid "Test Key" msgstr "" -#: part/models.py:3482 +#: part/models.py:3525 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3489 +#: part/models.py:3532 msgid "Test Description" msgstr "Mô tả kiểm thử" -#: part/models.py:3490 +#: part/models.py:3533 msgid "Enter description for this test" msgstr "Nhập mô tả cho kiểm thử này" -#: part/models.py:3494 +#: part/models.py:3537 report/models.py:208 +#: templates/js/translated/part.js:2899 +#: templates/js/translated/table_filters.js:481 +msgid "Enabled" +msgstr "Đã bật" + +#: part/models.py:3537 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3499 templates/js/translated/part.js:2908 +#: part/models.py:3542 templates/js/translated/part.js:2907 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "Bắt buộc" -#: part/models.py:3500 +#: part/models.py:3543 msgid "Is this test required to pass?" msgstr "Kiểm thử này bắt buộc phải đạt?" -#: part/models.py:3505 templates/js/translated/part.js:2916 +#: part/models.py:3548 templates/js/translated/part.js:2915 msgid "Requires Value" msgstr "Giá trị bắt buộc" -#: part/models.py:3506 +#: part/models.py:3549 msgid "Does this test require a value when adding a test result?" msgstr "Kiểm thử này yêu cầu 1 giá trị khi thêm một kết quả kiểm thử?" -#: part/models.py:3511 templates/js/translated/part.js:2923 +#: part/models.py:3554 templates/js/translated/part.js:2922 msgid "Requires Attachment" msgstr "Yêu cầu đính kèm" -#: part/models.py:3513 +#: part/models.py:3556 msgid "Does this test require a file attachment when adding a test result?" msgstr "Kiểm thử này yêu cầu tệp đính kèm khi thêm một kết quả kiểm thử?" -#: part/models.py:3560 +#: part/models.py:3603 msgid "Checkbox parameters cannot have units" msgstr "Tham số hộp kiểm tra không thể có đơn vị" -#: part/models.py:3565 +#: part/models.py:3608 msgid "Checkbox parameters cannot have choices" msgstr "Tham số hộp kiểm tra không thể có lựa chọn" -#: part/models.py:3585 +#: part/models.py:3628 msgid "Choices must be unique" msgstr "Lựa chọn phải duy nhất" -#: part/models.py:3602 +#: part/models.py:3645 msgid "Parameter template name must be unique" msgstr "Tên tham số mẫu phải là duy nhất" -#: part/models.py:3617 +#: part/models.py:3660 msgid "Parameter Name" msgstr "Tên tham số" -#: part/models.py:3624 +#: part/models.py:3667 msgid "Physical units for this parameter" msgstr "Đơn vị vật lý cho tham số này" -#: part/models.py:3632 +#: part/models.py:3675 msgid "Parameter description" msgstr "Mô tả tham số" -#: part/models.py:3638 templates/js/translated/part.js:1627 +#: part/models.py:3681 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "Ô lựa chọn" -#: part/models.py:3639 +#: part/models.py:3682 msgid "Is this parameter a checkbox?" msgstr "Tham số này có phải là hộp kiểm tra?" -#: part/models.py:3644 templates/js/translated/part.js:1636 +#: part/models.py:3687 templates/js/translated/part.js:1636 msgid "Choices" msgstr "Lựa chọn" -#: part/models.py:3645 +#: part/models.py:3688 msgid "Valid choices for this parameter (comma-separated)" msgstr "Lựa chọn hợp lệ từ tham số này (ngăn cách bằng dấu phẩy)" -#: part/models.py:3722 +#: part/models.py:3765 msgid "Invalid choice for parameter value" msgstr "Lựa chọn sai cho giá trị tham số" -#: part/models.py:3765 +#: part/models.py:3808 msgid "Parent Part" msgstr "Sản phẩm cha" -#: part/models.py:3773 part/models.py:3874 part/models.py:3875 +#: part/models.py:3816 part/models.py:3917 part/models.py:3918 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "Mẫu tham số" -#: part/models.py:3778 +#: part/models.py:3821 msgid "Data" msgstr "Dữ liệu" -#: part/models.py:3779 +#: part/models.py:3822 msgid "Parameter Value" msgstr "Giá trị tham số" -#: part/models.py:3881 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3924 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "Giá trị mặc định" -#: part/models.py:3882 +#: part/models.py:3925 msgid "Default Parameter Value" msgstr "Giá trị tham số mặc định" -#: part/models.py:3920 +#: part/models.py:3963 msgid "Part ID or part name" msgstr "Tên hoặc mã sản phẩm" -#: part/models.py:3921 +#: part/models.py:3964 msgid "Unique part ID value" msgstr "Giá trị mã sản phẩm duy nhất" -#: part/models.py:3923 +#: part/models.py:3966 msgid "Part IPN value" msgstr "Giá trị IPN sản phẩm" -#: part/models.py:3924 +#: part/models.py:3967 msgid "Level" msgstr "Cấp độ" -#: part/models.py:3924 +#: part/models.py:3967 msgid "BOM level" msgstr "Cấp độ BOM" -#: part/models.py:4014 +#: part/models.py:4057 msgid "Select parent part" msgstr "Chọn sản phẩm cha" -#: part/models.py:4024 +#: part/models.py:4067 msgid "Sub part" msgstr "Sản phẩm phụ" -#: part/models.py:4025 +#: part/models.py:4068 msgid "Select part to be used in BOM" msgstr "Chọn sản phẩm được dùng trong BOM" -#: part/models.py:4036 +#: part/models.py:4079 msgid "BOM quantity for this BOM item" msgstr "Số lượng BOM cho mục BOM này" -#: part/models.py:4042 +#: part/models.py:4085 msgid "This BOM item is optional" msgstr "Mục BOM này là tùy chọn" -#: part/models.py:4048 +#: part/models.py:4091 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "Mục BOM này bị tiêu hao (không được theo dõi trong đơn đặt bản dựng)" -#: part/models.py:4055 part/templates/part/upload_bom.html:55 +#: part/models.py:4098 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Dư thừa" -#: part/models.py:4056 +#: part/models.py:4099 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Số lượng bản dựng lãng phí ước tính (tuyệt đối hoặc phần trăm)" -#: part/models.py:4063 +#: part/models.py:4106 msgid "BOM item reference" msgstr "Tham chiếu mục BOM" -#: part/models.py:4071 +#: part/models.py:4114 msgid "BOM item notes" msgstr "Ghi chú mục BOM" -#: part/models.py:4077 +#: part/models.py:4120 msgid "Checksum" msgstr "Giá trị tổng kiểm" -#: part/models.py:4078 +#: part/models.py:4121 msgid "BOM line checksum" msgstr "Giá trị tổng kiểm dòng BOM" -#: part/models.py:4083 templates/js/translated/table_filters.js:174 +#: part/models.py:4126 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "Đã xác minh" -#: part/models.py:4084 +#: part/models.py:4127 msgid "This BOM item has been validated" msgstr "Mục BOM này là hợp lệ" -#: part/models.py:4089 part/templates/part/upload_bom.html:57 +#: part/models.py:4132 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "Nhận thừa hưởng" -#: part/models.py:4090 +#: part/models.py:4133 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "Mục BOM này được thừa kế bởi BOM cho sản phẩm biến thể" -#: part/models.py:4095 part/templates/part/upload_bom.html:56 +#: part/models.py:4138 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "Cho phép biến thể" -#: part/models.py:4096 +#: part/models.py:4139 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Hàng trong kho cho sản phẩm biến thể có thể được dùng bởi mục BOM này" -#: part/models.py:4181 stock/models.py:647 +#: part/models.py:4224 stock/models.py:668 msgid "Quantity must be integer value for trackable parts" msgstr "Số lượng phải là giá trị nguyên dùng cho sản phẩm có thể theo dõi được" -#: part/models.py:4191 part/models.py:4193 +#: part/models.py:4234 part/models.py:4236 msgid "Sub part must be specified" msgstr "Sản phẩm phụ phải được chỉ định" -#: part/models.py:4333 +#: part/models.py:4376 msgid "BOM Item Substitute" msgstr "Sảm phẩm thay thế mục BOM" -#: part/models.py:4354 +#: part/models.py:4397 msgid "Substitute part cannot be the same as the master part" msgstr "Sản phẩm thay thế không thể giống sản phẩm chủ đạo" -#: part/models.py:4367 +#: part/models.py:4410 msgid "Parent BOM item" msgstr "Hàng hóa BOM cha" -#: part/models.py:4375 +#: part/models.py:4418 msgid "Substitute part" msgstr "Sản phẩm thay thế" -#: part/models.py:4391 +#: part/models.py:4434 msgid "Part 1" msgstr "Sản phẩm 1" -#: part/models.py:4399 +#: part/models.py:4442 msgid "Part 2" msgstr "Sản phẩm 2" -#: part/models.py:4400 +#: part/models.py:4443 msgid "Select Related Part" msgstr "Chọn sản phẩm liên quan" -#: part/models.py:4419 +#: part/models.py:4462 msgid "Part relationship cannot be created between a part and itself" msgstr "Không thể tạo mối quan hệ giữa một sản phẩm và chính nó" -#: part/models.py:4424 +#: part/models.py:4467 msgid "Duplicate relationship already exists" msgstr "Đã tồn tại mối quan hệ trùng lặp" @@ -6854,7 +6808,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:406 +#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:535 msgid "Purchase currency of this stock item" msgstr "Loại tiền mua hàng của hàng hóa này" @@ -6870,299 +6824,299 @@ msgstr "Chưa chọn sản phẩm" msgid "Select category" msgstr "Chọn danh mục" -#: part/serializers.py:437 +#: part/serializers.py:442 msgid "Original Part" msgstr "Sản phẩm gốc" -#: part/serializers.py:438 +#: part/serializers.py:443 msgid "Select original part to duplicate" msgstr "Chọn sản phẩm gốc để nhân bản" -#: part/serializers.py:443 +#: part/serializers.py:448 msgid "Copy Image" msgstr "Sao chép ảnh" -#: part/serializers.py:444 +#: part/serializers.py:449 msgid "Copy image from original part" msgstr "Sao chép hình ảnh từ sản phẩm gốc" -#: part/serializers.py:450 part/templates/part/detail.html:277 +#: part/serializers.py:455 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "Sao chép BOM" -#: part/serializers.py:451 +#: part/serializers.py:456 msgid "Copy bill of materials from original part" msgstr "Sao chép định mức nguyên vật liệu từ sản phẩm gốc" -#: part/serializers.py:457 +#: part/serializers.py:462 msgid "Copy Parameters" msgstr "Sao chép thông số" -#: part/serializers.py:458 +#: part/serializers.py:463 msgid "Copy parameter data from original part" msgstr "Sao chép thông tin tham số từ sản phẩm gốc" -#: part/serializers.py:464 +#: part/serializers.py:469 msgid "Copy Notes" msgstr "Sao chép ghi chú" -#: part/serializers.py:465 +#: part/serializers.py:470 msgid "Copy notes from original part" msgstr "Sao chép ghi chú từ sản phẩm gốc" -#: part/serializers.py:478 +#: part/serializers.py:488 msgid "Initial Stock Quantity" msgstr "Số liệu tồn kho ban đầu" -#: part/serializers.py:480 +#: part/serializers.py:490 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "Chỉ ra số lượng tồn kho ban đầu cho sản phẩm. Nếu điền là không, không thêm kho nào." -#: part/serializers.py:487 +#: part/serializers.py:497 msgid "Initial Stock Location" msgstr "Vị trí kho ban đầu" -#: part/serializers.py:488 +#: part/serializers.py:498 msgid "Specify initial stock location for this Part" msgstr "Chỉ định vị trí kho ban đầu cho sản phẩm này" -#: part/serializers.py:500 +#: part/serializers.py:515 msgid "Select supplier (or leave blank to skip)" msgstr "Chọn nhà cung cấp (hoặc để trống để bỏ qua)" -#: part/serializers.py:516 +#: part/serializers.py:531 msgid "Select manufacturer (or leave blank to skip)" msgstr "Chọn nhà sản xuất (hoặc để trống để bỏ qua)" -#: part/serializers.py:526 +#: part/serializers.py:541 msgid "Manufacturer part number" msgstr "Mã số nhà sản xuất" -#: part/serializers.py:533 +#: part/serializers.py:548 msgid "Selected company is not a valid supplier" msgstr "Công ty đã chọn không phải là nhà cung ứng hợp lệ" -#: part/serializers.py:542 +#: part/serializers.py:557 msgid "Selected company is not a valid manufacturer" msgstr "Công ty đã chọn không phải là nhà sản xuất hợp lệ" -#: part/serializers.py:553 +#: part/serializers.py:568 msgid "Manufacturer part matching this MPN already exists" msgstr "Mã số nhà sản xuất khớp với MPN này đã tồn tại" -#: part/serializers.py:560 +#: part/serializers.py:575 msgid "Supplier part matching this SKU already exists" msgstr "Mã số nhà cung cấp khớp với SKU này đã tồn tại" -#: part/serializers.py:823 +#: part/serializers.py:838 msgid "External Stock" msgstr "" -#: part/serializers.py:825 +#: part/serializers.py:840 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:828 +#: part/serializers.py:843 msgid "Variant Stock" msgstr "" -#: part/serializers.py:856 part/templates/part/copy_part.html:9 +#: part/serializers.py:871 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "Nhân bản sản phẩm" -#: part/serializers.py:857 +#: part/serializers.py:872 msgid "Copy initial data from another Part" msgstr "Sao chép dữ liệu ban đầu từ sản phẩm khác" -#: part/serializers.py:863 templates/js/translated/part.js:102 +#: part/serializers.py:878 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "Số liệu kho ban đầu" -#: part/serializers.py:864 +#: part/serializers.py:879 msgid "Create Part with initial stock quantity" msgstr "Tạo sản phẩm với số lượng tồn kho ban đầu" -#: part/serializers.py:870 +#: part/serializers.py:885 msgid "Supplier Information" msgstr "Thông tin nhà cung cấp" -#: part/serializers.py:871 +#: part/serializers.py:886 msgid "Add initial supplier information for this part" msgstr "Thêm thông tin nhà cung cấp ban đầu cho sản phẩm này" -#: part/serializers.py:879 +#: part/serializers.py:894 msgid "Copy Category Parameters" msgstr "Sao chép thông số nhóm hàng" -#: part/serializers.py:880 +#: part/serializers.py:895 msgid "Copy parameter templates from selected part category" msgstr "Sao chép mẫu tham số từ nhóm sản phẩm được chọn" -#: part/serializers.py:885 +#: part/serializers.py:900 msgid "Existing Image" msgstr "Ảnh hiện có" -#: part/serializers.py:886 +#: part/serializers.py:901 msgid "Filename of an existing part image" msgstr "Tên tệp của ảnh sản phẩm hiện hữu" -#: part/serializers.py:903 +#: part/serializers.py:918 msgid "Image file does not exist" msgstr "Tệp hình ảnh không tồn tại" -#: part/serializers.py:1109 +#: part/serializers.py:1124 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "Hạn chế báo cáo kiểm kê với sản phẩm riêng biệt và sản phẩm biến thể bất kỳ" -#: part/serializers.py:1119 +#: part/serializers.py:1134 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "Hạn chế báo cáo kiểm kê với danh mục sản phẩm riêng biệt và danh mục con bất kỳ" -#: part/serializers.py:1129 +#: part/serializers.py:1144 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "Hạn chế báo cáo kiểm kê với vị trí kho riêng biệt và vị trí con bất kỳ" -#: part/serializers.py:1135 +#: part/serializers.py:1150 msgid "Exclude External Stock" msgstr "Ngoại trừ kho bên ngoài" -#: part/serializers.py:1136 +#: part/serializers.py:1151 msgid "Exclude stock items in external locations" msgstr "Loại trừ hàng trong kho của vị trí bên ngoài" -#: part/serializers.py:1141 +#: part/serializers.py:1156 msgid "Generate Report" msgstr "Tạo báo cáo" -#: part/serializers.py:1142 +#: part/serializers.py:1157 msgid "Generate report file containing calculated stocktake data" msgstr "Tạo tệp báo cáo chứa dữ liệu kiểm kê đã tính toán" -#: part/serializers.py:1147 +#: part/serializers.py:1162 msgid "Update Parts" msgstr "Cập nhật sản phẩm" -#: part/serializers.py:1148 +#: part/serializers.py:1163 msgid "Update specified parts with calculated stocktake data" msgstr "Cập nhật sản phẩm cụ thể với dữ liệu kiểm kê đã tính" -#: part/serializers.py:1156 +#: part/serializers.py:1171 msgid "Stocktake functionality is not enabled" msgstr "Chức năng kiểm kê chưa được bật" -#: part/serializers.py:1262 +#: part/serializers.py:1277 msgid "Override calculated value for minimum price" msgstr "Giá trị tính toán ghi đè cho giá tối thiểu" -#: part/serializers.py:1269 +#: part/serializers.py:1284 msgid "Minimum price currency" msgstr "Tiền tế giá tối thiểu" -#: part/serializers.py:1277 +#: part/serializers.py:1292 msgid "Override calculated value for maximum price" msgstr "Giá trị tính toán ghi đè cho giá tối đa" -#: part/serializers.py:1284 +#: part/serializers.py:1299 msgid "Maximum price currency" msgstr "Tiền tế giá tối đa" -#: part/serializers.py:1313 +#: part/serializers.py:1328 msgid "Update" msgstr "Cập nhật" -#: part/serializers.py:1314 +#: part/serializers.py:1329 msgid "Update pricing for this part" msgstr "Cập nhật giá cho sản phẩm này" -#: part/serializers.py:1337 +#: part/serializers.py:1352 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "Không thể chuyển đổi từ tiền tệ đã cung cấp cho {default_currency}" -#: part/serializers.py:1344 +#: part/serializers.py:1359 msgid "Minimum price must not be greater than maximum price" msgstr "Giá tối thiểu không được lớn hơn giá tối đa" -#: part/serializers.py:1347 +#: part/serializers.py:1362 msgid "Maximum price must not be less than minimum price" msgstr "Giá tối đa không được nhỏ hơn giá tối thiểu" -#: part/serializers.py:1714 +#: part/serializers.py:1729 msgid "Select part to copy BOM from" msgstr "Chọn sản phẩm để sao chép định mức nguyên vật liệu" -#: part/serializers.py:1722 +#: part/serializers.py:1737 msgid "Remove Existing Data" msgstr "Xóa dữ liệu đã tồn tại" -#: part/serializers.py:1723 +#: part/serializers.py:1738 msgid "Remove existing BOM items before copying" msgstr "Xóa mục BOM đã tồn tại trước khi sao chép" -#: part/serializers.py:1728 +#: part/serializers.py:1743 msgid "Include Inherited" msgstr "Bao gồm thừa hưởng" -#: part/serializers.py:1729 +#: part/serializers.py:1744 msgid "Include BOM items which are inherited from templated parts" msgstr "Bao gồm mục BOM được thừa hưởng từ sản phẩm mẫu" -#: part/serializers.py:1734 +#: part/serializers.py:1749 msgid "Skip Invalid Rows" msgstr "Bỏ qua dòng không hợp lệ" -#: part/serializers.py:1735 +#: part/serializers.py:1750 msgid "Enable this option to skip invalid rows" msgstr "Bật tùy chọn này để bỏ qua dòng không hợp lệ" -#: part/serializers.py:1740 +#: part/serializers.py:1755 msgid "Copy Substitute Parts" msgstr "Sao chép sản phẩm thay thế" -#: part/serializers.py:1741 +#: part/serializers.py:1756 msgid "Copy substitute parts when duplicate BOM items" msgstr "Sao chép sản phẩm thay thế khi nhân bản hàng hóa BOM" -#: part/serializers.py:1775 +#: part/serializers.py:1790 msgid "Clear Existing BOM" msgstr "Dọn dẹp BOM đang tồn tại" -#: part/serializers.py:1776 +#: part/serializers.py:1791 msgid "Delete existing BOM items before uploading" msgstr "Xóa mục BOM đang tồn tại trước khi tải lên" -#: part/serializers.py:1806 +#: part/serializers.py:1821 msgid "No part column specified" msgstr "Chưa chỉ ra cột sản phẩm" -#: part/serializers.py:1850 +#: part/serializers.py:1865 msgid "Multiple matching parts found" msgstr "Tìm thấy nhiều sản phẩm phù hợp" -#: part/serializers.py:1853 +#: part/serializers.py:1868 msgid "No matching part found" msgstr "Không tìm thấy sản phẩm nào" -#: part/serializers.py:1856 +#: part/serializers.py:1871 msgid "Part is not designated as a component" msgstr "Sản phẩm không được chỉ định như là một thành phần" -#: part/serializers.py:1865 +#: part/serializers.py:1880 msgid "Quantity not provided" msgstr "Chưa cung cấp số lượng" -#: part/serializers.py:1873 +#: part/serializers.py:1888 msgid "Invalid quantity" msgstr "Số lượng không hợp lệ" -#: part/serializers.py:1894 +#: part/serializers.py:1909 msgid "At least one BOM item is required" msgstr "Buộc phải nhập ít nhất một mục BOM" #: part/stocktake.py:224 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:2085 +#: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "Tổng số lượng" @@ -7314,7 +7268,7 @@ msgstr "Thêm thông tin kiểm kê" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2218 users/models.py:204 +#: templates/js/translated/stock.js:2216 users/models.py:204 msgid "Stocktake" msgstr "Kiểm kê" @@ -7412,15 +7366,15 @@ msgstr "Nhà cung cấp sản phẩm" msgid "Part Manufacturers" msgstr "Nhà sản xuất sản phẩm" -#: part/templates/part/detail.html:659 +#: part/templates/part/detail.html:655 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:667 +#: part/templates/part/detail.html:663 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:752 +#: part/templates/part/detail.html:748 msgid "Add Test Result Template" msgstr "" @@ -7479,7 +7433,7 @@ msgstr "Đăng ký nhận thông báo về sản phẩm này" #: part/templates/part/part_base.html:52 #: stock/templates/stock/item_base.html:62 -#: stock/templates/stock/location.html:74 +#: stock/templates/stock/location.html:74 templates/js/translated/label.js:142 msgid "Print Label" msgstr "In tem nhãn" @@ -7501,7 +7455,7 @@ msgstr "Đếm kho sản phẩm" msgid "Transfer part stock" msgstr "Chuyển kho sản phẩm" -#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2293 +#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2292 msgid "Part actions" msgstr "Chức năng sản phẩm" @@ -7550,7 +7504,7 @@ msgid "Part is virtual (not a physical part)" msgstr "Sản phẩm là ảo (không phải sản phẩm vật lý)" #: part/templates/part/part_base.html:163 -#: part/templates/part/part_base.html:682 +#: part/templates/part/part_base.html:681 msgid "Show Part Details" msgstr "Chi tiết giá sản phẩm" @@ -7573,7 +7527,7 @@ msgid "Minimum stock level" msgstr "Cấp kho tối thiểu" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2444 +#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2443 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7596,19 +7550,19 @@ msgstr "Mã QR sản phẩm" msgid "Link Barcode to Part" msgstr "Liên kết mã vạch đến sản phẩm" -#: part/templates/part/part_base.html:512 +#: part/templates/part/part_base.html:511 msgid "Calculate" msgstr "Tính toán" -#: part/templates/part/part_base.html:529 +#: part/templates/part/part_base.html:528 msgid "Remove associated image from this part" msgstr "Xóa ảnh gắn kết với sản phẩm này" -#: part/templates/part/part_base.html:580 +#: part/templates/part/part_base.html:579 msgid "No matching images found" msgstr "Không tìm thấy hình ảnh phù hợp" -#: part/templates/part/part_base.html:676 +#: part/templates/part/part_base.html:675 msgid "Hide Part Details" msgstr "Ẩn chi tiết sản phẩm" @@ -7667,8 +7621,8 @@ msgstr "Biến thể" #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 -#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 -#: templates/js/translated/stock.js:2072 templates/navbar.html:31 +#: templates/js/translated/part.js:2391 templates/js/translated/stock.js:1059 +#: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "Kiện hàng" @@ -7714,7 +7668,7 @@ msgstr "Sửa" #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 -#: templates/js/translated/stock.js:2248 +#: templates/js/translated/stock.js:2246 msgid "Last Updated" msgstr "Cập nhật lần cuối" @@ -7786,7 +7740,7 @@ msgid "Update Pricing" msgstr "Cập nhập giá bán" #: part/templates/part/stock_count.html:7 -#: templates/js/translated/model_renderers.js:221 +#: templates/js/translated/model_renderers.js:227 #: templates/js/translated/part.js:704 templates/js/translated/part.js:2140 #: templates/js/translated/part.js:2142 msgid "No Stock" @@ -7866,7 +7820,7 @@ msgstr "Không tìm thấy ảnh sản phẩm" msgid "Part Pricing" msgstr "Định giá sản phẩm" -#: plugin/api.py:168 +#: plugin/api.py:170 msgid "Plugin cannot be deleted as it is currently active" msgstr "" @@ -7933,7 +7887,7 @@ msgid "Stock item does not match line item" msgstr "" #: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2589 -#: templates/js/translated/sales_order.js:1917 +#: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "Kho không đủ hạn mức khả dụng" @@ -8027,22 +7981,18 @@ msgstr "" msgid "Quantity to allocate" msgstr "Số lượng cần phân bổ" -#: plugin/base/label/label.py:39 +#: plugin/base/label/label.py:39 templates/js/translated/label.js:154 msgid "Label printing failed" msgstr "In nhãn thất bại" -#: plugin/base/label/mixins.py:63 +#: plugin/base/label/mixins.py:56 msgid "Error rendering label to PDF" msgstr "" -#: plugin/base/label/mixins.py:76 +#: plugin/base/label/mixins.py:70 msgid "Error rendering label to HTML" msgstr "" -#: plugin/base/label/mixins.py:111 -msgid "Error rendering label to PNG" -msgstr "" - #: plugin/builtin/barcodes/inventree_barcode.py:25 msgid "InvenTree Barcodes" msgstr "Mã vạch InvenTree" @@ -8054,7 +8004,7 @@ msgstr "Cung cấp hỗ trợ gốc cho mã vạch" #: plugin/builtin/barcodes/inventree_barcode.py:28 #: plugin/builtin/integration/core_notifications.py:35 #: plugin/builtin/integration/currency_exchange.py:21 -#: plugin/builtin/labels/inventree_label.py:23 +#: plugin/builtin/labels/inventree_label.py:22 #: plugin/builtin/labels/inventree_machine.py:64 #: plugin/builtin/labels/label_sheet.py:63 #: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 @@ -8108,19 +8058,19 @@ msgstr "Trao đổi tiền tệ InvenTree" msgid "Default currency exchange integration" msgstr "Tích hợp trao đổi tiền tệ mặc định" -#: plugin/builtin/labels/inventree_label.py:20 +#: plugin/builtin/labels/inventree_label.py:19 msgid "InvenTree PDF label printer" msgstr "Máy in nhãn InvenTree PDF" -#: plugin/builtin/labels/inventree_label.py:21 +#: plugin/builtin/labels/inventree_label.py:20 msgid "Provides native support for printing PDF labels" msgstr "Cung cấp hỗ trợ gốc để in nhãn PDF" -#: plugin/builtin/labels/inventree_label.py:29 +#: plugin/builtin/labels/inventree_label.py:28 msgid "Debug mode" msgstr "Chế độ gỡ lỗi" -#: plugin/builtin/labels/inventree_label.py:30 +#: plugin/builtin/labels/inventree_label.py:29 msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "Bật chế độ gỡ lỗi - trả về mã HTML thuần thay vì PDF" @@ -8132,11 +8082,11 @@ msgstr "" msgid "Provides support for printing using a machine" msgstr "" -#: plugin/builtin/labels/inventree_machine.py:150 +#: plugin/builtin/labels/inventree_machine.py:151 msgid "last used" msgstr "" -#: plugin/builtin/labels/inventree_machine.py:167 +#: plugin/builtin/labels/inventree_machine.py:168 msgid "Options" msgstr "" @@ -8160,7 +8110,7 @@ msgstr "Viền" msgid "Print a border around each label" msgstr "In một viền xung quanh từng nhãn" -#: plugin/builtin/labels/label_sheet.py:47 report/models.py:209 +#: plugin/builtin/labels/label_sheet.py:47 report/models.py:308 msgid "Landscape" msgstr "Ngang" @@ -8176,11 +8126,11 @@ msgstr "Máy in tờ nhãn InvenTree" msgid "Arrays multiple labels onto a single sheet" msgstr "Sắp xếp nhiều nhãn trong một tờ đơn" -#: plugin/builtin/labels/label_sheet.py:94 +#: plugin/builtin/labels/label_sheet.py:99 msgid "Label is too large for page size" msgstr "Nhãn quá lớn so với khổ giấy" -#: plugin/builtin/labels/label_sheet.py:128 +#: plugin/builtin/labels/label_sheet.py:133 msgid "No labels were generated" msgstr "Chưa tạo nhãn nào" @@ -8273,61 +8223,62 @@ msgstr "" msgid "Uninstalled plugin successfully" msgstr "" -#: plugin/models.py:30 +#: plugin/models.py:35 msgid "Plugin Configuration" msgstr "Cấu hình phần bổ sung" -#: plugin/models.py:31 +#: plugin/models.py:36 msgid "Plugin Configurations" msgstr "Cấu hình phần bổ sung" -#: plugin/models.py:34 users/models.py:100 +#: plugin/models.py:42 users/models.py:100 msgid "Key" msgstr "Khóa" -#: plugin/models.py:34 +#: plugin/models.py:43 msgid "Key of plugin" msgstr "Khóa của phần bổ sung" -#: plugin/models.py:42 +#: plugin/models.py:51 msgid "PluginName of the plugin" msgstr "Tên của phần bổ sung" -#: plugin/models.py:49 plugin/serializers.py:90 +#: plugin/models.py:58 plugin/serializers.py:90 msgid "Package Name" msgstr "Tên gói" -#: plugin/models.py:51 +#: plugin/models.py:60 msgid "Name of the installed package, if the plugin was installed via PIP" msgstr "" -#: plugin/models.py:56 +#: plugin/models.py:65 msgid "Is the plugin active" msgstr "Là phần bổ sung hoạt động" -#: plugin/models.py:147 templates/js/translated/table_filters.js:370 +#: plugin/models.py:156 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "Đã cài đặt" -#: plugin/models.py:156 +#: plugin/models.py:165 msgid "Sample plugin" msgstr "Phần bổ sung mẫu" -#: plugin/models.py:164 +#: plugin/models.py:173 msgid "Builtin Plugin" msgstr "Plugin có sẵn" -#: plugin/models.py:172 +#: plugin/models.py:181 msgid "Package Plugin" msgstr "" -#: plugin/models.py:196 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:205 report/models.py:475 +#: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" msgstr "Phần bổ sung" -#: plugin/models.py:243 +#: plugin/models.py:252 msgid "Method" msgstr "Phương thức" @@ -8468,239 +8419,323 @@ msgstr "" msgid "Delete the plugin configuration from the database" msgstr "" -#: report/api.py:158 +#: report/api.py:77 msgid "No valid objects provided to template" msgstr "Chưa cung cấp đối tượng hợp lệ cho bản mẫu" -#: report/api.py:197 report/api.py:234 +#: report/api.py:89 report/serializers.py:53 +msgid "Model Type" +msgstr "" + +#: report/api.py:92 report/models.py:439 report/serializers.py:98 +#: report/serializers.py:148 templates/js/translated/purchase_order.js:1747 +#: templates/js/translated/return_order.js:353 +#: templates/js/translated/sales_order.js:887 +#: templates/js/translated/sales_order.js:1047 +msgid "Items" +msgstr "" + +#: report/api.py:168 +msgid "Plugin not found" +msgstr "" + +#: report/api.py:170 +msgid "Plugin is not active" +msgstr "" + +#: report/api.py:172 +msgid "Plugin does not support label printing" +msgstr "" + +#: report/api.py:221 +msgid "Invalid label dimensions" +msgstr "" + +#: report/api.py:236 report/api.py:316 +msgid "No valid items provided to template" +msgstr "" + +#: report/api.py:271 +msgid "Error printing label" +msgstr "" + +#: report/api.py:362 report/api.py:398 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "Tệp mẫu '{template}' đang bị lỗi hoặc không tồn tại" -#: report/api.py:319 -msgid "Test report" -msgstr "Báo cáo kiểm tra" - -#: report/helpers.py:15 +#: report/helpers.py:41 msgid "A4" msgstr "" -#: report/helpers.py:16 +#: report/helpers.py:42 msgid "A3" msgstr "" -#: report/helpers.py:17 +#: report/helpers.py:43 msgid "Legal" msgstr "Pháp lý" -#: report/helpers.py:18 +#: report/helpers.py:44 msgid "Letter" msgstr "Thư" -#: report/models.py:177 +#: report/models.py:118 +msgid "Template file with this name already exists" +msgstr "" + +#: report/models.py:150 msgid "Template name" msgstr "Tên mẫu" -#: report/models.py:183 -msgid "Report template file" -msgstr "Tệp mẫu báo cáo" +#: report/models.py:156 +msgid "Template description" +msgstr "" -#: report/models.py:190 -msgid "Report template description" -msgstr "Mô tả tệp mẫu báo cáo" +#: report/models.py:162 +msgid "Revision number (auto-increments)" +msgstr "" -#: report/models.py:196 -msgid "Report revision number (auto-increments)" -msgstr "Số phiên bản báo cáo (tự động tăng)" +#: report/models.py:202 +msgid "Filename Pattern" +msgstr "Mẫu tên tệp" -#: report/models.py:204 +#: report/models.py:203 +msgid "Pattern for generating filenames" +msgstr "" + +#: report/models.py:208 +msgid "Template is enabled" +msgstr "" + +#: report/models.py:214 +msgid "Target model type for template" +msgstr "" + +#: report/models.py:234 +msgid "Filters" +msgstr "Bộ lọc" + +#: report/models.py:235 +msgid "Template query filters (comma-separated list of key=value pairs)" +msgstr "" + +#: report/models.py:295 report/models.py:362 +msgid "Template file" +msgstr "" + +#: report/models.py:303 msgid "Page size for PDF reports" msgstr "Khổ giấy cho báo cáo PDF" -#: report/models.py:210 +#: report/models.py:309 msgid "Render report in landscape orientation" msgstr "Tạo báo cáo theo hướng ngang" -#: report/models.py:318 -msgid "Pattern for generating report filenames" -msgstr "Quy tắc sinh tên tệp báo cáo" +#: report/models.py:368 +msgid "Width [mm]" +msgstr "Chiều rộng [mm]" -#: report/models.py:325 -msgid "Report template is enabled" -msgstr "Mẫu báo cáo đang bật" +#: report/models.py:369 +msgid "Label width, specified in mm" +msgstr "Chiều rộng nhãn, tính theo mm" -#: report/models.py:347 -msgid "StockItem query filters (comma-separated list of key=value pairs)" -msgstr "Truy vấn bộ lọc hàng trong kho (dùng dấu phẩy liệt kê các cặp key=value)" +#: report/models.py:375 +msgid "Height [mm]" +msgstr "Chiều cao [mm]" -#: report/models.py:354 -msgid "Include Installed Tests" -msgstr "Bao gồm các đợt kiểm tra đã lắp đặt" +#: report/models.py:376 +msgid "Label height, specified in mm" +msgstr "Chiều cao nhãn, tính theo mm" -#: report/models.py:356 -msgid "Include test results for stock items installed inside assembled item" -msgstr "Bao gồm kết quả kiểm tra cho hàng trong kho được cài đặt bên trong hàng hóa đã lắp ráp" - -#: report/models.py:424 -msgid "Build Filters" -msgstr "Dựng bộ lọc" - -#: report/models.py:425 -msgid "Build query filters (comma-separated list of key=value pairs" -msgstr "Dựng bộ lọc truy vấn (dùng dấu phẩy liệt kê các cặp key=value" - -#: report/models.py:464 -msgid "Part Filters" -msgstr "Bộ lọc sản phẩm" - -#: report/models.py:465 -msgid "Part query filters (comma-separated list of key=value pairs" -msgstr "Bộ lọc truy vấn sản phẩm (dùng dấu phẩy liệt kê các cặp key=value" - -#: report/models.py:497 -msgid "Purchase order query filters" -msgstr "Bộ lọc truy vấn đơn đặt mua" - -#: report/models.py:533 -msgid "Sales order query filters" -msgstr "Bộ lọc truy vấn đơn hàng bán" - -#: report/models.py:569 -msgid "Return order query filters" -msgstr "Bộ lọc truy vấn đơn hàng trả lại" - -#: report/models.py:641 -msgid "Snippet file with this name already exists" +#: report/models.py:439 +msgid "Number of items to process" msgstr "" -#: report/models.py:648 +#: report/models.py:445 +msgid "Report generation is complete" +msgstr "" + +#: report/models.py:449 templates/js/translated/build.js:2177 +msgid "Progress" +msgstr "" + +#: report/models.py:449 +msgid "Report generation progress" +msgstr "" + +#: report/models.py:457 +msgid "Report Template" +msgstr "" + +#: report/models.py:464 report/models.py:487 +msgid "Output File" +msgstr "" + +#: report/models.py:465 report/models.py:488 +msgid "Generated output file" +msgstr "" + +#: report/models.py:476 +msgid "Label output plugin" +msgstr "" + +#: report/models.py:480 +msgid "Label Template" +msgstr "" + +#: report/models.py:503 msgid "Snippet" msgstr "Mẫu trích" -#: report/models.py:649 +#: report/models.py:504 msgid "Report snippet file" msgstr "Tệp báo cáo mẫu" -#: report/models.py:656 +#: report/models.py:511 msgid "Snippet file description" msgstr "Mô tả tệp báo cáo mẫu" -#: report/models.py:714 -msgid "Asset file with this name already exists" -msgstr "" - -#: report/models.py:722 +#: report/models.py:529 msgid "Asset" msgstr "Tài sản" -#: report/models.py:723 +#: report/models.py:530 msgid "Report asset file" msgstr "Tệp báo cáo tài sản" -#: report/models.py:730 +#: report/models.py:537 msgid "Asset file description" msgstr "Mô tả tệp báo cáo tài sản" -#: report/models.py:752 -msgid "stock location query filters (comma-separated list of key=value pairs)" -msgstr "bộ lọc truy vấn vị trí kho (dùng dấu phẩy liệt kê các cặp key=value)" +#: report/serializers.py:91 +msgid "Select report template" +msgstr "" + +#: report/serializers.py:99 report/serializers.py:149 +msgid "List of item primary keys to include in the report" +msgstr "" + +#: report/serializers.py:132 +msgid "Select label template" +msgstr "" + +#: report/serializers.py:140 +msgid "Printing Plugin" +msgstr "" + +#: report/serializers.py:141 +msgid "Select plugin to use for label printing" +msgstr "" + +#: report/templates/label/part_label.html:31 +#: report/templates/label/stockitem_qr.html:21 +#: report/templates/label/stocklocation_qr.html:20 +#: templates/allauth_2fa/setup.html:18 +msgid "QR Code" +msgstr "Mã QR" + +#: report/templates/label/part_label_code128.html:31 +#: report/templates/label/stocklocation_qr_and_text.html:31 +#: templates/qr_code.html:7 +msgid "QR code" +msgstr "Mã QR" #: report/templates/report/inventree_bill_of_materials_report.html:133 msgid "Materials needed" msgstr "Vật liệu cần có" -#: report/templates/report/inventree_build_order_base.html:146 +#: report/templates/report/inventree_build_order_report.html:146 msgid "Required For" msgstr "Bắt buộc cho" -#: report/templates/report/inventree_po_report_base.html:15 +#: report/templates/report/inventree_purchase_order_report.html:15 msgid "Supplier was deleted" msgstr "Nhà cung cấp đã bị xóa" -#: report/templates/report/inventree_po_report_base.html:30 -#: report/templates/report/inventree_so_report_base.html:30 +#: report/templates/report/inventree_purchase_order_report.html:30 +#: report/templates/report/inventree_sales_order_report.html:30 #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:834 -#: templates/js/translated/purchase_order.js:2116 -#: templates/js/translated/sales_order.js:1837 +#: templates/js/translated/purchase_order.js:2115 +#: templates/js/translated/sales_order.js:1873 msgid "Unit Price" msgstr "Đơn giá" -#: report/templates/report/inventree_po_report_base.html:55 -#: report/templates/report/inventree_return_order_report_base.html:48 -#: report/templates/report/inventree_so_report_base.html:55 +#: report/templates/report/inventree_purchase_order_report.html:55 +#: report/templates/report/inventree_return_order_report.html:48 +#: report/templates/report/inventree_sales_order_report.html:55 msgid "Extra Line Items" msgstr "Bảng liệt kê mở rộng" -#: report/templates/report/inventree_po_report_base.html:72 -#: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:2018 -#: templates/js/translated/sales_order.js:1806 +#: report/templates/report/inventree_purchase_order_report.html:72 +#: report/templates/report/inventree_sales_order_report.html:72 +#: templates/js/translated/purchase_order.js:2017 +#: templates/js/translated/sales_order.js:1842 msgid "Total" msgstr "Tổng cộng" -#: report/templates/report/inventree_return_order_report_base.html:25 -#: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:809 stock/templates/stock/item_base.html:311 +#: report/templates/report/inventree_return_order_report.html:25 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:830 +#: stock/serializers.py:150 stock/templates/stock/item_base.html:311 #: templates/js/translated/build.js:519 templates/js/translated/build.js:1367 #: templates/js/translated/build.js:2355 -#: templates/js/translated/model_renderers.js:224 -#: templates/js/translated/return_order.js:540 -#: templates/js/translated/return_order.js:724 +#: templates/js/translated/model_renderers.js:230 +#: templates/js/translated/return_order.js:539 +#: templates/js/translated/return_order.js:723 #: templates/js/translated/sales_order.js:315 -#: templates/js/translated/sales_order.js:1611 -#: templates/js/translated/sales_order.js:1696 +#: templates/js/translated/sales_order.js:1647 +#: templates/js/translated/sales_order.js:1732 #: templates/js/translated/stock.js:596 msgid "Serial Number" msgstr "Số sê-ri" -#: report/templates/report/inventree_slr_report.html:97 +#: report/templates/report/inventree_stock_location_report.html:97 msgid "Stock location items" msgstr "Mục vị trí kho hàng" -#: report/templates/report/inventree_test_report_base.html:21 +#: report/templates/report/inventree_test_report.html:21 msgid "Stock Item Test Report" msgstr "Báo cáo kiểm thử mặt hàng" -#: report/templates/report/inventree_test_report_base.html:97 +#: report/templates/report/inventree_test_report.html:97 msgid "Test Results" msgstr "Kết quả kiểm tra" -#: report/templates/report/inventree_test_report_base.html:102 +#: report/templates/report/inventree_test_report.html:102 #: templates/js/translated/stock.js:1495 msgid "Test" msgstr "Thử nghiệm" -#: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2442 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2419 msgid "Result" msgstr "Kết quả" -#: report/templates/report/inventree_test_report_base.html:130 +#: report/templates/report/inventree_test_report.html:130 msgid "Pass" msgstr "Đạt" -#: report/templates/report/inventree_test_report_base.html:132 +#: report/templates/report/inventree_test_report.html:132 msgid "Fail" msgstr "Không đạt" -#: report/templates/report/inventree_test_report_base.html:139 +#: report/templates/report/inventree_test_report.html:139 msgid "No result (required)" msgstr "Không có kết quả (bắt buộc)" -#: report/templates/report/inventree_test_report_base.html:141 +#: report/templates/report/inventree_test_report.html:141 msgid "No result" msgstr "Không có kết quả" -#: report/templates/report/inventree_test_report_base.html:154 +#: report/templates/report/inventree_test_report.html:154 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "Mục đã cài đặt" -#: report/templates/report/inventree_test_report_base.html:168 -#: stock/admin.py:162 templates/js/translated/stock.js:700 -#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3113 +#: report/templates/report/inventree_test_report.html:168 stock/admin.py:162 +#: templates/js/translated/stock.js:700 templates/js/translated/stock.js:871 +#: templates/js/translated/stock.js:3110 msgid "Serial" msgstr "Sê-ri" @@ -8757,7 +8792,7 @@ msgstr "Tên nhà cung cấp" msgid "Customer ID" msgstr "ID Khách hàng" -#: stock/admin.py:201 stock/models.py:789 +#: stock/admin.py:201 stock/models.py:810 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "Đã cài đặt trong" @@ -8782,66 +8817,66 @@ msgstr "Cần xem xét" msgid "Delete on Deplete" msgstr "Xóa khi thiếu hụt" -#: stock/admin.py:256 stock/models.py:883 +#: stock/admin.py:256 stock/models.py:904 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2232 users/models.py:124 +#: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" msgstr "Ngày hết hạn" -#: stock/api.py:284 +#: stock/api.py:318 msgid "Filter by location depth" msgstr "" -#: stock/api.py:304 +#: stock/api.py:338 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:325 +#: stock/api.py:359 msgid "Parent Location" msgstr "" -#: stock/api.py:326 +#: stock/api.py:360 msgid "Filter by parent location" msgstr "" -#: stock/api.py:579 templates/js/translated/table_filters.js:427 +#: stock/api.py:613 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "Địa điểm bên ngoài" -#: stock/api.py:767 +#: stock/api.py:801 msgid "Part Tree" msgstr "Cây sản phẩm" -#: stock/api.py:797 +#: stock/api.py:831 msgid "Expiry date before" msgstr "Ngày hết hạn trước đó" -#: stock/api.py:801 +#: stock/api.py:835 msgid "Expiry date after" msgstr "Ngày hết hạn sau đó" -#: stock/api.py:804 stock/templates/stock/item_base.html:439 +#: stock/api.py:838 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "Ế" -#: stock/api.py:891 +#: stock/api.py:925 msgid "Quantity is required" msgstr "Bắt buộc nhập số lượng" -#: stock/api.py:897 +#: stock/api.py:931 msgid "Valid part must be supplied" msgstr "Phải cung cấp sản phẩm hợp lệ" -#: stock/api.py:928 +#: stock/api.py:962 msgid "The given supplier part does not exist" msgstr "Sản phẩm nhà cung cấp đã đưa không tồn tại" -#: stock/api.py:938 +#: stock/api.py:972 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "Sản phẩm nhà cung cấp có kích thước đóng gói được định nghĩa nhưng cờ use_pack_size chưa được thiết lập" -#: stock/api.py:969 +#: stock/api.py:1003 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "Số sê-ri không thê được cung cấp cho sản phẩm không thể theo dõi" @@ -8857,477 +8892,517 @@ msgstr "Loại vị trí kho hàng" msgid "Default icon for all locations that have no icon set (optional)" msgstr "Biểu tượng mặc định cho vị trí không được đặt biểu tượng (tùy chọn)" -#: stock/models.py:125 stock/models.py:771 +#: stock/models.py:127 stock/models.py:792 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Kho hàng" -#: stock/models.py:126 stock/templates/stock/location.html:179 +#: stock/models.py:128 stock/templates/stock/location.html:186 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "Vị trí kho hàng" -#: stock/models.py:158 stock/models.py:932 +#: stock/models.py:170 stock/models.py:953 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "Chủ sở hữu" -#: stock/models.py:159 stock/models.py:933 +#: stock/models.py:171 stock/models.py:954 msgid "Select Owner" msgstr "Chọn chủ sở hữu" -#: stock/models.py:167 +#: stock/models.py:179 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "Không thể đưa trực tiếp hàng trong kho vào bên trong vị trí kho hàng có cấu trúc, nhưng có thể đặt vào kho con." -#: stock/models.py:174 templates/js/translated/stock.js:2784 +#: stock/models.py:186 templates/js/translated/stock.js:2781 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "Bên ngoài" -#: stock/models.py:175 +#: stock/models.py:187 msgid "This is an external stock location" msgstr "Đây là vị trí kho bên ngoài" -#: stock/models.py:181 templates/js/translated/stock.js:2793 +#: stock/models.py:193 templates/js/translated/stock.js:2790 #: templates/js/translated/table_filters.js:246 msgid "Location type" msgstr "Loại vị trí" -#: stock/models.py:185 +#: stock/models.py:197 msgid "Stock location type of this location" msgstr "Loại vị trí kho hàng của địa điểm này" -#: stock/models.py:254 +#: stock/models.py:266 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "Bạn không thể chuyển đổi vị trí kho hàng này thành cấu trúc vì đã có hàng hóa trong kho được đặt vào bên trong nó!" -#: stock/models.py:626 +#: stock/models.py:647 msgid "Stock items cannot be located into structural stock locations!" msgstr "Không thể đặt hàng trong kho vào trong địa điểm kho có cấu trúc!" -#: stock/models.py:653 stock/serializers.py:290 +#: stock/models.py:674 stock/serializers.py:419 msgid "Stock item cannot be created for virtual parts" msgstr "Không thể tạo hàng hóa trong kho cho sản phẩm ảo" -#: stock/models.py:670 +#: stock/models.py:691 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "Loại sản phẩm ('{self.supplier_part.part}') phải là {self.part}" -#: stock/models.py:680 stock/models.py:693 +#: stock/models.py:701 stock/models.py:714 msgid "Quantity must be 1 for item with a serial number" msgstr "Số lượng phải là 1 cho hàng hóa với số sê ri" -#: stock/models.py:683 +#: stock/models.py:704 msgid "Serial number cannot be set if quantity greater than 1" msgstr "Số sê ri không thể đặt được nếu số lượng lớn hơn 1" -#: stock/models.py:707 +#: stock/models.py:728 msgid "Item cannot belong to itself" msgstr "Hàng hóa không thể thuộc về chính nó" -#: stock/models.py:712 +#: stock/models.py:733 msgid "Item must have a build reference if is_building=True" msgstr "Hàng hóa phải có 1 tham chiếu bản dựng nếu is_building=True" -#: stock/models.py:725 +#: stock/models.py:746 msgid "Build reference does not point to the same part object" msgstr "Tham chiếu bản dựng không thể trỏ vào cùng một đối tượng sản phẩm" -#: stock/models.py:741 +#: stock/models.py:762 msgid "Parent Stock Item" msgstr "Hàng trong kho cha" -#: stock/models.py:753 +#: stock/models.py:774 msgid "Base part" msgstr "Sản phẩm cơ bản" -#: stock/models.py:763 +#: stock/models.py:784 msgid "Select a matching supplier part for this stock item" msgstr "Chọn sản phẩm nhà cung cấp khớp với hàng hóa trong kho này" -#: stock/models.py:775 +#: stock/models.py:796 msgid "Where is this stock item located?" msgstr "Hàng trong kho này được đặt ở đâu?" -#: stock/models.py:783 stock/serializers.py:1351 +#: stock/models.py:804 stock/serializers.py:1480 msgid "Packaging this stock item is stored in" msgstr "Đóng gói hàng hóa này được lưu trữ lại" -#: stock/models.py:794 +#: stock/models.py:815 msgid "Is this item installed in another item?" msgstr "Mục này đã được cài đặt trong mục khác?" -#: stock/models.py:813 +#: stock/models.py:834 msgid "Serial number for this item" msgstr "Số sê ri cho mục này" -#: stock/models.py:827 stock/serializers.py:1334 +#: stock/models.py:848 stock/serializers.py:1463 msgid "Batch code for this stock item" msgstr "Mã lô cho hàng trong kho này" -#: stock/models.py:832 +#: stock/models.py:853 msgid "Stock Quantity" msgstr "Số lượng tồn kho" -#: stock/models.py:842 +#: stock/models.py:863 msgid "Source Build" msgstr "Bản dựng nguồn" -#: stock/models.py:845 +#: stock/models.py:866 msgid "Build for this stock item" msgstr "Bản dựng cho hàng hóa này" -#: stock/models.py:852 stock/templates/stock/item_base.html:363 +#: stock/models.py:873 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "Tiêu thụ bởi" -#: stock/models.py:855 +#: stock/models.py:876 msgid "Build order which consumed this stock item" msgstr "Đơn đặt bản dựng đã dùng hàng hóa này" -#: stock/models.py:864 +#: stock/models.py:885 msgid "Source Purchase Order" msgstr "Đơn đặt mua nguồn" -#: stock/models.py:868 +#: stock/models.py:889 msgid "Purchase order for this stock item" msgstr "Đơn đặt mua cho hàng hóa này" -#: stock/models.py:874 +#: stock/models.py:895 msgid "Destination Sales Order" msgstr "Đơn hàng bán đích" -#: stock/models.py:885 +#: stock/models.py:906 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "Ngày hết hạn của hàng hóa này. Kho sẽ được nhắc tình trạng hết hạn sau ngày này" -#: stock/models.py:903 +#: stock/models.py:924 msgid "Delete on deplete" msgstr "Xóa khi thiếu hụt" -#: stock/models.py:904 +#: stock/models.py:925 msgid "Delete this Stock Item when stock is depleted" msgstr "Xóa hàng trong kho này khi kho hàng bị thiếu hụt" -#: stock/models.py:924 +#: stock/models.py:945 msgid "Single unit purchase price at time of purchase" msgstr "Giá mua riêng lẻ tại thời điểm mua" -#: stock/models.py:955 +#: stock/models.py:976 msgid "Converted to part" msgstr "Đã chuyển đổi sang sản phẩm" -#: stock/models.py:1473 +#: stock/models.py:1494 msgid "Part is not set as trackable" msgstr "Chưa đặt sản phẩm thành có thể theo dõi" -#: stock/models.py:1479 +#: stock/models.py:1500 msgid "Quantity must be integer" msgstr "Số lượng phải là số nguyên" -#: stock/models.py:1487 +#: stock/models.py:1508 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "Số lượng không thể vượt quá số lượng trong kho đang có ({self.quantity})" -#: stock/models.py:1493 +#: stock/models.py:1514 msgid "Serial numbers must be a list of integers" msgstr "Số sêri phải là một danh sách dãy số nguyên" -#: stock/models.py:1498 +#: stock/models.py:1519 msgid "Quantity does not match serial numbers" msgstr "Số lượng không khớp với số sêri" -#: stock/models.py:1506 stock/serializers.py:529 +#: stock/models.py:1527 stock/serializers.py:658 msgid "Serial numbers already exist" msgstr "Số sêri đã tồn tại" -#: stock/models.py:1603 +#: stock/models.py:1624 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1621 +#: stock/models.py:1642 msgid "Stock item has been assigned to a sales order" msgstr "Hàng trong kho đã được gán vào đơn hàng bán" -#: stock/models.py:1625 +#: stock/models.py:1646 msgid "Stock item is installed in another item" msgstr "Hàng trong kho đã được cài đặt vào hàng hóa khác" -#: stock/models.py:1628 +#: stock/models.py:1649 msgid "Stock item contains other items" msgstr "Hàng trong kho chứa hàng hóa khác" -#: stock/models.py:1631 +#: stock/models.py:1652 msgid "Stock item has been assigned to a customer" msgstr "Hàng trong kho đã được gắn với một khách hàng" -#: stock/models.py:1634 +#: stock/models.py:1655 msgid "Stock item is currently in production" msgstr "Hàng trong kho hiện đang sản xuất" -#: stock/models.py:1637 +#: stock/models.py:1658 msgid "Serialized stock cannot be merged" msgstr "Không thể hợp nhất kho nối tiếp" -#: stock/models.py:1644 stock/serializers.py:1240 +#: stock/models.py:1665 stock/serializers.py:1369 msgid "Duplicate stock items" msgstr "Mặt hàng trùng lặp" -#: stock/models.py:1648 +#: stock/models.py:1669 msgid "Stock items must refer to the same part" msgstr "Mặt hàng phải tham chiếu đến sản phẩm tương tự" -#: stock/models.py:1656 +#: stock/models.py:1677 msgid "Stock items must refer to the same supplier part" msgstr "Mặt hàng phải tham chiếu đến sản phẩm nhà cung cấp tương tự" -#: stock/models.py:1661 +#: stock/models.py:1682 msgid "Stock status codes must match" msgstr "Mã trạng thái kho phải phù hợp" -#: stock/models.py:1882 +#: stock/models.py:1903 msgid "StockItem cannot be moved as it is not in stock" msgstr "Không thể xóa mặt hàng không ở trong kho" -#: stock/models.py:2345 +#: stock/models.py:2322 msgid "Entry notes" msgstr "Ghi chú đầu vào" -#: stock/models.py:2410 +#: stock/models.py:2387 msgid "Value must be provided for this test" msgstr "Phải cung cấp giá trị cho kiểm thử này" -#: stock/models.py:2415 +#: stock/models.py:2392 msgid "Attachment must be uploaded for this test" msgstr "Phải tải liên đính kèm cho kiểm thử này" -#: stock/models.py:2442 +#: stock/models.py:2419 msgid "Test result" msgstr "Kết quả kiểm thử" -#: stock/models.py:2449 +#: stock/models.py:2426 msgid "Test output value" msgstr "Giá trị đầu ra kiểm thử" -#: stock/models.py:2457 +#: stock/models.py:2434 msgid "Test result attachment" msgstr "Đính kèm kết quả kiểm thử" -#: stock/models.py:2461 +#: stock/models.py:2438 msgid "Test notes" msgstr "Ghi chú kiểm thử" -#: stock/models.py:2469 templates/js/translated/stock.js:1548 +#: stock/models.py:2446 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "" -#: stock/models.py:2470 +#: stock/models.py:2447 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2476 +#: stock/models.py:2453 msgid "Started" msgstr "" -#: stock/models.py:2477 +#: stock/models.py:2454 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2483 +#: stock/models.py:2460 msgid "Finished" msgstr "" -#: stock/models.py:2484 +#: stock/models.py:2461 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:100 +#: stock/serializers.py:75 +msgid "Generated batch code" +msgstr "" + +#: stock/serializers.py:84 +msgid "Select build order" +msgstr "" + +#: stock/serializers.py:93 +msgid "Select stock item to generate batch code for" +msgstr "" + +#: stock/serializers.py:102 +msgid "Select location to generate batch code for" +msgstr "" + +#: stock/serializers.py:111 +msgid "Select part to generate batch code for" +msgstr "" + +#: stock/serializers.py:120 +msgid "Select purchase order" +msgstr "" + +#: stock/serializers.py:127 +msgid "Enter quantity for batch code" +msgstr "" + +#: stock/serializers.py:150 +msgid "Generated serial number" +msgstr "" + +#: stock/serializers.py:159 +msgid "Select part to generate serial number for" +msgstr "" + +#: stock/serializers.py:167 +msgid "Quantity of serial numbers to generate" +msgstr "" + +#: stock/serializers.py:229 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:119 +#: stock/serializers.py:248 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:151 +#: stock/serializers.py:280 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:184 +#: stock/serializers.py:313 msgid "Serial number is too large" msgstr "Số sêri quá lớn" -#: stock/serializers.py:282 +#: stock/serializers.py:411 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "Sử dụng kích thước đóng gói khi thêm: Số lượng được định nghĩa là số của gói" -#: stock/serializers.py:402 +#: stock/serializers.py:531 msgid "Purchase price of this stock item, per unit or pack" msgstr "Giá mua của mặt hàng, theo đơn vị hoặc gói" -#: stock/serializers.py:464 +#: stock/serializers.py:593 msgid "Enter number of stock items to serialize" msgstr "Nhập số của mặt hàng cần tạo số nối tiếp" -#: stock/serializers.py:477 +#: stock/serializers.py:606 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "Số lượng phải không vượt quá số lượng trong kho đang có ({q})" -#: stock/serializers.py:484 +#: stock/serializers.py:613 msgid "Enter serial numbers for new items" msgstr "Điền số sêri cho hàng hóa mới" -#: stock/serializers.py:495 stock/serializers.py:1197 stock/serializers.py:1453 +#: stock/serializers.py:624 stock/serializers.py:1326 stock/serializers.py:1582 msgid "Destination stock location" msgstr "Vị trí kho đích" -#: stock/serializers.py:502 +#: stock/serializers.py:631 msgid "Optional note field" msgstr "Trường ghi chú tùy chọn" -#: stock/serializers.py:512 +#: stock/serializers.py:641 msgid "Serial numbers cannot be assigned to this part" msgstr "Không thể gán số sêri cho sản phẩm này" -#: stock/serializers.py:567 +#: stock/serializers.py:696 msgid "Select stock item to install" msgstr "Chọn mặt hàng để lắp đặt" -#: stock/serializers.py:574 +#: stock/serializers.py:703 msgid "Quantity to Install" msgstr "Số lượng để cài đặt" -#: stock/serializers.py:575 +#: stock/serializers.py:704 msgid "Enter the quantity of items to install" msgstr "Nhập số lượng hàng hóa để cài đặt" -#: stock/serializers.py:580 stock/serializers.py:660 stock/serializers.py:756 -#: stock/serializers.py:806 +#: stock/serializers.py:709 stock/serializers.py:789 stock/serializers.py:885 +#: stock/serializers.py:935 msgid "Add transaction note (optional)" msgstr "Thêm ghi chú giao dịch (tùy chọn)" -#: stock/serializers.py:588 +#: stock/serializers.py:717 msgid "Quantity to install must be at least 1" msgstr "Số lượng cần cài đặt phải ít nhất là 1" -#: stock/serializers.py:596 +#: stock/serializers.py:725 msgid "Stock item is unavailable" msgstr "Mặt hàng không khả dụng" -#: stock/serializers.py:607 +#: stock/serializers.py:736 msgid "Selected part is not in the Bill of Materials" msgstr "Sản phẩm đã chọn không có trong hóa đơn vật liệu" -#: stock/serializers.py:620 +#: stock/serializers.py:749 msgid "Quantity to install must not exceed available quantity" msgstr "Số lượng cần lắp đặt phải không vượt quá số lượng đang có" -#: stock/serializers.py:655 +#: stock/serializers.py:784 msgid "Destination location for uninstalled item" msgstr "Vị trí đích cho hàng hóa bị gỡ bỏ" -#: stock/serializers.py:690 +#: stock/serializers.py:819 msgid "Select part to convert stock item into" msgstr "Chọn sản phẩm để chuyển đổi mặt hàng vào bên trong" -#: stock/serializers.py:703 +#: stock/serializers.py:832 msgid "Selected part is not a valid option for conversion" msgstr "Sản phẩm đã chọn không phải là tùy chọn hợp lệ để chuyển đổi" -#: stock/serializers.py:720 +#: stock/serializers.py:849 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "Không thể chuyển đổi hàng hóa với sản phẩm nhà cung cấp đã gán" -#: stock/serializers.py:751 +#: stock/serializers.py:880 msgid "Destination location for returned item" msgstr "Vị trí đích dành cho hàng hóa trả lại" -#: stock/serializers.py:788 +#: stock/serializers.py:917 msgid "Select stock items to change status" msgstr "Chọn mặt hàng để đổi trạng thái" -#: stock/serializers.py:794 +#: stock/serializers.py:923 msgid "No stock items selected" msgstr "Không có mặt hàng nào được chọn" -#: stock/serializers.py:890 stock/serializers.py:953 +#: stock/serializers.py:1019 stock/serializers.py:1082 #: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:213 +#: stock/templates/stock/location.html:220 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "Kho phụ" -#: stock/serializers.py:1069 +#: stock/serializers.py:1198 msgid "Part must be salable" msgstr "Sản phẩm phải có thể bán được" -#: stock/serializers.py:1073 +#: stock/serializers.py:1202 msgid "Item is allocated to a sales order" msgstr "Hàng hóa được phân bổ đến một đơn hàng bán" -#: stock/serializers.py:1077 +#: stock/serializers.py:1206 msgid "Item is allocated to a build order" msgstr "Hàng hóa được phân bổ đến một đơn đặt bản dựng" -#: stock/serializers.py:1101 +#: stock/serializers.py:1230 msgid "Customer to assign stock items" msgstr "Khách hàng được gán vào các mặt hàng" -#: stock/serializers.py:1107 +#: stock/serializers.py:1236 msgid "Selected company is not a customer" msgstr "Công ty đã chọn không phải là khách hàng" -#: stock/serializers.py:1115 +#: stock/serializers.py:1244 msgid "Stock assignment notes" msgstr "Ghi chú phân bổ kho" -#: stock/serializers.py:1125 stock/serializers.py:1379 +#: stock/serializers.py:1254 stock/serializers.py:1508 msgid "A list of stock items must be provided" msgstr "Phải cung cấp danh sách mặt hàng" -#: stock/serializers.py:1204 +#: stock/serializers.py:1333 msgid "Stock merging notes" msgstr "Ghi chú gộp kho" -#: stock/serializers.py:1209 +#: stock/serializers.py:1338 msgid "Allow mismatched suppliers" msgstr "Cho phép nhiều nhà cung không khớp" -#: stock/serializers.py:1210 +#: stock/serializers.py:1339 msgid "Allow stock items with different supplier parts to be merged" msgstr "Cho phép mặt hàng cùng sản phẩm nhà cung cấp khác phải được gộp" -#: stock/serializers.py:1215 +#: stock/serializers.py:1344 msgid "Allow mismatched status" msgstr "Cho phép trạng thái không khớp" -#: stock/serializers.py:1216 +#: stock/serializers.py:1345 msgid "Allow stock items with different status codes to be merged" msgstr "Cho phép mặt hàng với mã trạng thái khác nhau để gộp lại" -#: stock/serializers.py:1226 +#: stock/serializers.py:1355 msgid "At least two stock items must be provided" msgstr "Cần cung cấp ít nhất hai mặt hàng" -#: stock/serializers.py:1293 +#: stock/serializers.py:1422 msgid "No Change" msgstr "" -#: stock/serializers.py:1322 +#: stock/serializers.py:1451 msgid "StockItem primary key value" msgstr "Giá trị khóa chính mặt hàng" -#: stock/serializers.py:1341 +#: stock/serializers.py:1470 msgid "Stock item status code" msgstr "Mã trạng thái mặt hàng" -#: stock/serializers.py:1369 +#: stock/serializers.py:1498 msgid "Stock transaction notes" msgstr "Ghi chú giao dịch kho" @@ -9352,7 +9427,7 @@ msgstr "Thông tin kiểm thử" msgid "Test Report" msgstr "Báo cáo kiểm thử" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:286 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:282 msgid "Delete Test Data" msgstr "Xóa dữ liệu báo cáo kiểm thử" @@ -9368,15 +9443,15 @@ msgstr "Ghi chú tại kho hàng" msgid "Installed Stock Items" msgstr "Hàng hóa đã lắp đặt" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3274 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3271 msgid "Install Stock Item" msgstr "Lắp đặt hàng hóa trong kho" -#: stock/templates/stock/item.html:274 +#: stock/templates/stock/item.html:270 msgid "Delete all test results for this stock item" msgstr "Xóa toàn bộ kết quả kiểm thử cho kho hàng này" -#: stock/templates/stock/item.html:304 templates/js/translated/stock.js:1701 +#: stock/templates/stock/item.html:300 templates/js/translated/stock.js:1701 msgid "Add Test Result" msgstr "" @@ -9561,40 +9636,40 @@ msgstr "Mặt hàng này hết hạn vào %(item.expiry_date)s" msgid "No stocktake performed" msgstr "Chưa thực hiện kiểm kê" -#: stock/templates/stock/item_base.html:507 -#: templates/js/translated/stock.js:1954 +#: stock/templates/stock/item_base.html:504 +#: templates/js/translated/stock.js:1952 msgid "stock item" msgstr "" -#: stock/templates/stock/item_base.html:532 +#: stock/templates/stock/item_base.html:527 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:541 +#: stock/templates/stock/item_base.html:536 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:552 +#: stock/templates/stock/item_base.html:547 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:616 +#: stock/templates/stock/item_base.html:611 msgid "Select one of the part variants listed below." msgstr "Chọn một trong những biến thể sản phẩm được liệt kê bên dưới." -#: stock/templates/stock/item_base.html:619 +#: stock/templates/stock/item_base.html:614 msgid "Warning" msgstr "Cánh báo" -#: stock/templates/stock/item_base.html:620 +#: stock/templates/stock/item_base.html:615 msgid "This action cannot be easily undone" msgstr "Thao tác này không thể khôi phục lại một cách dễ dàng" -#: stock/templates/stock/item_base.html:628 +#: stock/templates/stock/item_base.html:623 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:662 +#: stock/templates/stock/item_base.html:657 msgid "Return to Stock" msgstr "" @@ -9658,28 +9733,32 @@ msgstr "Chủ sở hữu vị trí" msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "Bạn không thuộc danh sách chủ sở hữu của vị trí này. Vị trí kho này không thể sửa được." -#: stock/templates/stock/location.html:217 +#: stock/templates/stock/location.html:176 +msgid "Location Type" +msgstr "" + +#: stock/templates/stock/location.html:224 msgid "Create new stock location" msgstr "Tạo mới vị trí kho" -#: stock/templates/stock/location.html:218 +#: stock/templates/stock/location.html:225 msgid "New Location" msgstr "Vị trí mới" -#: stock/templates/stock/location.html:287 -#: templates/js/translated/stock.js:2575 +#: stock/templates/stock/location.html:295 +#: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:315 +#: stock/templates/stock/location.html:317 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:388 +#: stock/templates/stock/location.html:390 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:399 +#: stock/templates/stock/location.html:401 msgid "Link Barcode to Stock Location" msgstr "" @@ -9949,11 +10028,11 @@ msgstr "" msgid "Part Settings" msgstr "Cài đặt sản phẩm" -#: templates/InvenTree/settings/part.html:42 +#: templates/InvenTree/settings/part.html:43 msgid "Part Import" msgstr "Nhập hàng hóa" -#: templates/InvenTree/settings/part.html:46 +#: templates/InvenTree/settings/part.html:47 msgid "Import Part" msgstr "Nhập sản phẩm" @@ -10174,7 +10253,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:424 +#: templates/js/translated/stock.js:245 users/models.py:411 msgid "Delete" msgstr "Xóa" @@ -10283,7 +10362,7 @@ msgid "Home Page" msgstr "Trang chủ" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2159 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2163 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" @@ -10874,7 +10953,7 @@ msgid "Click on the following link to view this part" msgstr "Nhấp chuột vào liên kết dưới đây để xem sản phẩm này" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3218 +#: templates/js/translated/part.js:3217 msgid "Minimum Quantity" msgstr "Số lượng tối thiểu" @@ -11254,7 +11333,7 @@ msgid "External stock" msgstr "" #: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2595 -#: templates/js/translated/sales_order.js:1910 +#: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" @@ -11264,7 +11343,7 @@ msgstr "" #: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 #: templates/js/translated/part.js:1256 -#: templates/js/translated/sales_order.js:1907 +#: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" @@ -11519,17 +11598,17 @@ msgstr "" #: templates/js/translated/build.js:1576 #: templates/js/translated/purchase_order.js:611 -#: templates/js/translated/sales_order.js:1171 +#: templates/js/translated/sales_order.js:1207 msgid "Select Parts" msgstr "" #: templates/js/translated/build.js:1577 -#: templates/js/translated/sales_order.js:1172 +#: templates/js/translated/sales_order.js:1208 msgid "You must select at least one part to allocate" msgstr "" #: templates/js/translated/build.js:1640 -#: templates/js/translated/sales_order.js:1121 +#: templates/js/translated/sales_order.js:1157 msgid "Specify stock allocation quantity" msgstr "" @@ -11542,7 +11621,7 @@ msgid "All selected parts have been fully allocated" msgstr "" #: templates/js/translated/build.js:1732 -#: templates/js/translated/sales_order.js:1186 +#: templates/js/translated/sales_order.js:1222 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -11551,12 +11630,12 @@ msgid "Allocate Stock Items to Build Order" msgstr "" #: templates/js/translated/build.js:1771 -#: templates/js/translated/sales_order.js:1283 +#: templates/js/translated/sales_order.js:1319 msgid "No matching stock locations" msgstr "" #: templates/js/translated/build.js:1844 -#: templates/js/translated/sales_order.js:1362 +#: templates/js/translated/sales_order.js:1398 msgid "No matching stock items" msgstr "" @@ -11589,9 +11668,9 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 -#: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 -#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 -#: templates/js/translated/stock.js:1985 templates/js/translated/stock.js:2713 +#: templates/js/translated/forms.js:2159 templates/js/translated/forms.js:2175 +#: templates/js/translated/part.js:2315 templates/js/translated/part.js:2741 +#: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "" @@ -11599,21 +11678,17 @@ msgstr "" msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2177 -msgid "Progress" -msgstr "" - -#: templates/js/translated/build.js:2213 templates/js/translated/stock.js:3045 +#: templates/js/translated/build.js:2213 templates/js/translated/stock.js:3042 msgid "No user information" msgstr "" #: templates/js/translated/build.js:2389 -#: templates/js/translated/sales_order.js:1646 +#: templates/js/translated/sales_order.js:1682 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:2390 -#: templates/js/translated/sales_order.js:1647 +#: templates/js/translated/sales_order.js:1683 msgid "Delete stock allocation" msgstr "" @@ -11647,7 +11722,7 @@ msgid "Unit Quantity" msgstr "" #: templates/js/translated/build.js:2591 -#: templates/js/translated/sales_order.js:1915 +#: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" @@ -11664,7 +11739,7 @@ msgid "Allocate tracked items against individual build outputs" msgstr "" #: templates/js/translated/build.js:2662 -#: templates/js/translated/sales_order.js:2016 +#: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "" @@ -11673,7 +11748,7 @@ msgid "Order stock" msgstr "" #: templates/js/translated/build.js:2671 -#: templates/js/translated/sales_order.js:2010 +#: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "" @@ -11923,12 +11998,12 @@ msgid "Delete price break" msgstr "" #: templates/js/translated/filters.js:186 -#: templates/js/translated/filters.js:672 +#: templates/js/translated/filters.js:667 msgid "true" msgstr "" #: templates/js/translated/filters.js:190 -#: templates/js/translated/filters.js:673 +#: templates/js/translated/filters.js:668 msgid "false" msgstr "" @@ -11960,7 +12035,7 @@ msgstr "" msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:582 +#: templates/js/translated/filters.js:577 msgid "Create filter" msgstr "" @@ -11993,32 +12068,32 @@ msgstr "" msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1473 templates/modals.html:19 +#: templates/js/translated/forms.js:1477 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "Lỗi biểu mẫu tồn tại" -#: templates/js/translated/forms.js:1971 +#: templates/js/translated/forms.js:1975 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2275 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2279 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2489 +#: templates/js/translated/forms.js:2493 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3091 +#: templates/js/translated/forms.js:3095 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3091 +#: templates/js/translated/forms.js:3095 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3103 +#: templates/js/translated/forms.js:3107 msgid "Select Columns" msgstr "" @@ -12042,51 +12117,15 @@ msgstr "" msgid "No parts required for builds" msgstr "" -#: templates/js/translated/label.js:53 templates/js/translated/report.js:123 +#: templates/js/translated/label.js:55 templates/js/translated/report.js:38 msgid "Select Items" msgstr "" -#: templates/js/translated/label.js:54 +#: templates/js/translated/label.js:56 templates/js/translated/report.js:39 msgid "No items selected for printing" msgstr "" -#: templates/js/translated/label.js:72 -msgid "No Labels Found" -msgstr "" - -#: templates/js/translated/label.js:73 -msgid "No label templates found which match the selected items" -msgstr "" - -#: templates/js/translated/label.js:97 -msgid "selected" -msgstr "" - -#: templates/js/translated/label.js:133 -msgid "Printing Options" -msgstr "" - -#: templates/js/translated/label.js:148 -msgid "Print label" -msgstr "" - -#: templates/js/translated/label.js:148 -msgid "Print labels" -msgstr "" - #: templates/js/translated/label.js:149 -msgid "Print" -msgstr "" - -#: templates/js/translated/label.js:155 -msgid "Select label template" -msgstr "" - -#: templates/js/translated/label.js:168 -msgid "Select plugin" -msgstr "" - -#: templates/js/translated/label.js:187 msgid "Labels sent to printer" msgstr "" @@ -12204,7 +12243,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1991 +#: templates/js/translated/purchase_order.js:1990 msgid "No line items found" msgstr "" @@ -12442,19 +12481,19 @@ msgid "Delete Part Parameter Template" msgstr "" #: templates/js/translated/part.js:1716 -#: templates/js/translated/purchase_order.js:1655 +#: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1860 -#: templates/js/translated/purchase_order.js:2154 -#: templates/js/translated/return_order.js:756 -#: templates/js/translated/sales_order.js:1875 +#: templates/js/translated/purchase_order.js:2153 +#: templates/js/translated/return_order.js:755 +#: templates/js/translated/sales_order.js:1911 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1906 -#: templates/js/translated/purchase_order.js:2221 +#: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "" @@ -12466,7 +12505,7 @@ msgstr "" msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2506 +#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2505 msgid "No parts found" msgstr "" @@ -12482,101 +12521,101 @@ msgstr "" msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2286 msgid "part" msgstr "" -#: templates/js/translated/part.js:2288 +#: templates/js/translated/part.js:2287 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2384 +#: templates/js/translated/part.js:2383 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 -#: templates/js/translated/stock.js:2672 +#: templates/js/translated/part.js:2530 templates/js/translated/part.js:2660 +#: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2547 +#: templates/js/translated/part.js:2546 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2645 +#: templates/js/translated/part.js:2644 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2692 +#: templates/js/translated/part.js:2680 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2761 +#: templates/js/translated/part.js:2760 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2777 +#: templates/js/translated/part.js:2776 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2864 +#: templates/js/translated/part.js:2863 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2886 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2885 templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2935 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2941 +#: templates/js/translated/part.js:2940 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2957 +#: templates/js/translated/part.js:2956 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2971 +#: templates/js/translated/part.js:2970 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3050 templates/js/translated/part.js:3051 +#: templates/js/translated/part.js:3049 templates/js/translated/part.js:3050 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3053 +#: templates/js/translated/part.js:3052 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3059 +#: templates/js/translated/part.js:3058 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3109 +#: templates/js/translated/part.js:3108 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3115 +#: templates/js/translated/part.js:3114 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3211 +#: templates/js/translated/part.js:3210 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3227 +#: templates/js/translated/part.js:3226 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3272 +#: templates/js/translated/part.js:3271 msgid "Minimum Stock Level" msgstr "" @@ -12702,7 +12741,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:448 #: templates/js/translated/return_order.js:210 -#: templates/js/translated/sales_order.js:500 +#: templates/js/translated/sales_order.js:552 msgid "Mark this order as complete?" msgstr "" @@ -12715,7 +12754,6 @@ msgid "This order has line items which have not been marked as received." msgstr "" #: templates/js/translated/purchase_order.js:460 -#: templates/js/translated/sales_order.js:514 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" @@ -12773,12 +12811,12 @@ msgid "No matching purchase orders" msgstr "" #: templates/js/translated/purchase_order.js:1073 -#: templates/js/translated/return_order.js:491 +#: templates/js/translated/return_order.js:490 msgid "Select Line Items" msgstr "" #: templates/js/translated/purchase_order.js:1074 -#: templates/js/translated/return_order.js:492 +#: templates/js/translated/return_order.js:491 msgid "At least one line item must be selected" msgstr "" @@ -12827,7 +12865,7 @@ msgid "Quantity to Receive" msgstr "" #: templates/js/translated/purchase_order.js:1333 -#: templates/js/translated/return_order.js:561 +#: templates/js/translated/return_order.js:560 msgid "Confirm receipt of items" msgstr "" @@ -12847,81 +12885,66 @@ msgstr "" msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1682 -#: templates/js/translated/return_order.js:286 -#: templates/js/translated/sales_order.js:774 -#: templates/js/translated/sales_order.js:998 +#: templates/js/translated/purchase_order.js:1681 +#: templates/js/translated/return_order.js:285 +#: templates/js/translated/sales_order.js:810 +#: templates/js/translated/sales_order.js:1034 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1748 -#: templates/js/translated/return_order.js:354 -#: templates/js/translated/sales_order.js:851 -#: templates/js/translated/sales_order.js:1011 -msgid "Items" -msgstr "" - -#: templates/js/translated/purchase_order.js:1844 +#: templates/js/translated/purchase_order.js:1843 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1862 +#: templates/js/translated/purchase_order.js:1861 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1917 -#: templates/js/translated/sales_order.js:2070 +#: templates/js/translated/purchase_order.js:1916 +#: templates/js/translated/sales_order.js:2106 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1932 -#: templates/js/translated/return_order.js:476 -#: templates/js/translated/return_order.js:669 -#: templates/js/translated/sales_order.js:2083 +#: templates/js/translated/purchase_order.js:1931 +#: templates/js/translated/return_order.js:475 +#: templates/js/translated/return_order.js:668 +#: templates/js/translated/sales_order.js:2119 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1943 -#: templates/js/translated/return_order.js:682 -#: templates/js/translated/sales_order.js:2094 +#: templates/js/translated/purchase_order.js:1942 +#: templates/js/translated/return_order.js:681 +#: templates/js/translated/sales_order.js:2130 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2225 -#: templates/js/translated/sales_order.js:2024 +#: templates/js/translated/purchase_order.js:2224 +#: templates/js/translated/sales_order.js:2060 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2226 -#: templates/js/translated/return_order.js:801 -#: templates/js/translated/sales_order.js:2025 +#: templates/js/translated/purchase_order.js:2225 +#: templates/js/translated/return_order.js:800 +#: templates/js/translated/sales_order.js:2061 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2227 -#: templates/js/translated/return_order.js:805 -#: templates/js/translated/sales_order.js:2031 +#: templates/js/translated/purchase_order.js:2226 +#: templates/js/translated/return_order.js:804 +#: templates/js/translated/sales_order.js:2067 msgid "Delete line item" msgstr "" -#: templates/js/translated/report.js:63 -msgid "items selected" +#: templates/js/translated/report.js:49 +msgid "Print Report" msgstr "" -#: templates/js/translated/report.js:71 -msgid "Select Report Template" +#: templates/js/translated/report.js:68 +msgid "Report print successful" msgstr "" -#: templates/js/translated/report.js:86 -msgid "Select Test Report Template" -msgstr "" - -#: templates/js/translated/report.js:140 -msgid "No Reports Found" -msgstr "" - -#: templates/js/translated/report.js:141 -msgid "No report templates found which match the selected items" +#: templates/js/translated/report.js:73 +msgid "Report printing failed" msgstr "" #: templates/js/translated/return_order.js:60 @@ -12953,25 +12976,25 @@ msgstr "" msgid "Complete Return Order" msgstr "" -#: templates/js/translated/return_order.js:266 +#: templates/js/translated/return_order.js:265 msgid "No return orders found" msgstr "" -#: templates/js/translated/return_order.js:300 -#: templates/js/translated/sales_order.js:788 +#: templates/js/translated/return_order.js:299 +#: templates/js/translated/sales_order.js:824 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/return_order.js:562 +#: templates/js/translated/return_order.js:561 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:693 -#: templates/js/translated/sales_order.js:2231 +#: templates/js/translated/return_order.js:692 +#: templates/js/translated/sales_order.js:2267 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:798 +#: templates/js/translated/return_order.js:797 msgid "Mark item as received" msgstr "" @@ -13015,140 +13038,156 @@ msgstr "" msgid "Skip" msgstr "" +#: templates/js/translated/sales_order.js:484 +msgid "Ship Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:500 +msgid "Ship this order?" +msgstr "" + +#: templates/js/translated/sales_order.js:506 +msgid "Order cannot be shipped as there are incomplete shipments" +msgstr "" + #: templates/js/translated/sales_order.js:513 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/sales_order.js:535 +#: templates/js/translated/sales_order.js:514 +msgid "Shipping this order means that the order and line items will no longer be editable." +msgstr "" + +#: templates/js/translated/sales_order.js:572 msgid "Issue this Sales Order?" msgstr "" -#: templates/js/translated/sales_order.js:540 +#: templates/js/translated/sales_order.js:577 msgid "Issue Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:559 +#: templates/js/translated/sales_order.js:596 msgid "Cancel Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:564 +#: templates/js/translated/sales_order.js:601 msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: templates/js/translated/sales_order.js:618 +#: templates/js/translated/sales_order.js:655 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/sales_order.js:728 +#: templates/js/translated/sales_order.js:764 msgid "No sales orders found" msgstr "" -#: templates/js/translated/sales_order.js:908 +#: templates/js/translated/sales_order.js:944 msgid "Edit shipment" msgstr "" -#: templates/js/translated/sales_order.js:911 +#: templates/js/translated/sales_order.js:947 msgid "Complete shipment" msgstr "" -#: templates/js/translated/sales_order.js:916 +#: templates/js/translated/sales_order.js:952 msgid "Delete shipment" msgstr "" -#: templates/js/translated/sales_order.js:933 +#: templates/js/translated/sales_order.js:969 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/sales_order.js:948 +#: templates/js/translated/sales_order.js:984 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:981 +#: templates/js/translated/sales_order.js:1017 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/sales_order.js:1006 +#: templates/js/translated/sales_order.js:1042 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/sales_order.js:1030 -#: templates/js/translated/sales_order.js:1529 +#: templates/js/translated/sales_order.js:1066 +#: templates/js/translated/sales_order.js:1565 msgid "Not shipped" msgstr "" -#: templates/js/translated/sales_order.js:1048 +#: templates/js/translated/sales_order.js:1084 msgid "Tracking" msgstr "" -#: templates/js/translated/sales_order.js:1052 +#: templates/js/translated/sales_order.js:1088 msgid "Invoice" msgstr "" -#: templates/js/translated/sales_order.js:1219 +#: templates/js/translated/sales_order.js:1255 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1270 +#: templates/js/translated/sales_order.js:1306 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/sales_order.js:1271 +#: templates/js/translated/sales_order.js:1307 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1477 +#: templates/js/translated/sales_order.js:1513 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1569 +#: templates/js/translated/sales_order.js:1605 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1583 +#: templates/js/translated/sales_order.js:1619 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/sales_order.js:1584 +#: templates/js/translated/sales_order.js:1620 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1623 -#: templates/js/translated/sales_order.js:1710 +#: templates/js/translated/sales_order.js:1659 +#: templates/js/translated/sales_order.js:1746 #: templates/js/translated/stock.js:1776 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/sales_order.js:1631 -#: templates/js/translated/sales_order.js:1719 +#: templates/js/translated/sales_order.js:1667 +#: templates/js/translated/sales_order.js:1755 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:2008 +#: templates/js/translated/sales_order.js:2044 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/sales_order.js:2012 +#: templates/js/translated/sales_order.js:2048 msgid "Purchase stock" msgstr "" -#: templates/js/translated/sales_order.js:2021 -#: templates/js/translated/sales_order.js:2209 +#: templates/js/translated/sales_order.js:2057 +#: templates/js/translated/sales_order.js:2245 msgid "Calculate price" msgstr "" -#: templates/js/translated/sales_order.js:2035 +#: templates/js/translated/sales_order.js:2071 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:2038 +#: templates/js/translated/sales_order.js:2074 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:2109 +#: templates/js/translated/sales_order.js:2145 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/sales_order.js:2217 +#: templates/js/translated/sales_order.js:2253 msgid "Update Unit Price" msgstr "" @@ -13356,7 +13395,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1042 users/models.py:414 +#: templates/js/translated/stock.js:1042 users/models.py:401 msgid "Add" msgstr "Thêm" @@ -13372,7 +13411,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1180 templates/js/translated/stock.js:3302 +#: templates/js/translated/stock.js:1180 templates/js/translated/stock.js:3299 msgid "Select Stock Items" msgstr "" @@ -13456,196 +13495,196 @@ msgstr "" msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:1955 +#: templates/js/translated/stock.js:1953 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1960 +#: templates/js/translated/stock.js:1958 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:1971 +#: templates/js/translated/stock.js:1969 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:2015 +#: templates/js/translated/stock.js:2013 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2093 +#: templates/js/translated/stock.js:2091 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2098 +#: templates/js/translated/stock.js:2096 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2101 +#: templates/js/translated/stock.js:2099 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2104 +#: templates/js/translated/stock.js:2102 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2106 +#: templates/js/translated/stock.js:2104 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2108 +#: templates/js/translated/stock.js:2106 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2111 +#: templates/js/translated/stock.js:2109 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2113 +#: templates/js/translated/stock.js:2111 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2117 +#: templates/js/translated/stock.js:2115 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2119 +#: templates/js/translated/stock.js:2117 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2124 +#: templates/js/translated/stock.js:2122 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2126 +#: templates/js/translated/stock.js:2124 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2128 +#: templates/js/translated/stock.js:2126 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2132 +#: templates/js/translated/stock.js:2130 #: templates/js/translated/table_filters.js:350 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2297 +#: templates/js/translated/stock.js:2295 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2344 +#: templates/js/translated/stock.js:2342 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2472 +#: templates/js/translated/stock.js:2470 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2576 +#: templates/js/translated/stock.js:2573 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2731 +#: templates/js/translated/stock.js:2728 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2849 +#: templates/js/translated/stock.js:2846 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2853 +#: templates/js/translated/stock.js:2850 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2865 +#: templates/js/translated/stock.js:2862 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2887 +#: templates/js/translated/stock.js:2884 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2904 +#: templates/js/translated/stock.js:2901 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2919 +#: templates/js/translated/stock.js:2916 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2936 +#: templates/js/translated/stock.js:2933 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:2950 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2972 +#: templates/js/translated/stock.js:2969 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2990 +#: templates/js/translated/stock.js:2987 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:3008 +#: templates/js/translated/stock.js:3005 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:3016 +#: templates/js/translated/stock.js:3013 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3088 +#: templates/js/translated/stock.js:3085 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3142 templates/js/translated/stock.js:3178 +#: templates/js/translated/stock.js:3139 templates/js/translated/stock.js:3175 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3200 +#: templates/js/translated/stock.js:3197 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3221 +#: templates/js/translated/stock.js:3218 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3222 +#: templates/js/translated/stock.js:3219 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3224 +#: templates/js/translated/stock.js:3221 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3225 +#: templates/js/translated/stock.js:3222 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3226 +#: templates/js/translated/stock.js:3223 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3227 +#: templates/js/translated/stock.js:3224 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3240 +#: templates/js/translated/stock.js:3237 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3303 +#: templates/js/translated/stock.js:3300 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3316 +#: templates/js/translated/stock.js:3313 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3320 +#: templates/js/translated/stock.js:3317 msgid "Change Stock Status" msgstr "" @@ -14247,34 +14286,35 @@ msgstr "Lần cuối mã thông báo được sử dụng" msgid "Revoked" msgstr "Đã thu hồi" -#: users/models.py:397 +#: users/models.py:384 msgid "Permission set" msgstr "Quyền hạn đã đặt" -#: users/models.py:406 +#: users/models.py:393 msgid "Group" msgstr "Nhóm" -#: users/models.py:410 +#: users/models.py:397 msgid "View" msgstr "Xem" -#: users/models.py:410 +#: users/models.py:397 msgid "Permission to view items" msgstr "Quyền để xem mục" -#: users/models.py:414 +#: users/models.py:401 msgid "Permission to add items" msgstr "Quyền để thêm mục" -#: users/models.py:418 +#: users/models.py:405 msgid "Change" msgstr "Đổi" -#: users/models.py:420 +#: users/models.py:407 msgid "Permissions to edit items" msgstr "Quyển để sửa mục" -#: users/models.py:426 +#: users/models.py:413 msgid "Permission to delete items" msgstr "Quyền để xóa mục" + diff --git a/src/backend/InvenTree/locale/zh/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/zh/LC_MESSAGES/django.po index ed57a7de1e..df35bdda41 100644 --- a/src/backend/InvenTree/locale/zh/LC_MESSAGES/django.po +++ b/src/backend/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: 2024-05-10 05:37+0000\n" -"PO-Revision-Date: 2024-05-10 08:31\n" +"POT-Creation-Date: 2024-05-23 11:25+0000\n" +"PO-Revision-Date: 2024-05-23 11:39\n" "Last-Translator: \n" "Language-Team: Chinese Traditional\n" "Language: zh_TW\n" @@ -17,11 +17,11 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 216\n" -#: InvenTree/api.py:271 +#: InvenTree/api.py:272 msgid "API endpoint not found" msgstr "" -#: InvenTree/api.py:535 +#: InvenTree/api.py:536 msgid "User does not have permission to view this model" msgstr "" @@ -56,26 +56,26 @@ msgstr "" msgid "Enter date" msgstr "" -#: InvenTree/fields.py:208 InvenTree/models.py:1021 build/serializers.py:444 -#: build/serializers.py:522 build/templates/build/sidebar.html:21 +#: InvenTree/fields.py:208 InvenTree/models.py:1035 build/serializers.py:443 +#: build/serializers.py:521 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 -#: order/models.py:1283 order/templates/order/po_sidebar.html:11 +#: order/models.py:1323 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:59 -#: part/models.py:3175 part/templates/part/part_sidebar.html:63 -#: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:226 stock/models.py:2344 stock/models.py:2461 -#: stock/serializers.py:501 stock/serializers.py:659 stock/serializers.py:755 -#: stock/serializers.py:805 stock/serializers.py:1114 stock/serializers.py:1203 -#: stock/serializers.py:1368 stock/templates/stock/stock_sidebar.html:25 +#: part/models.py:3218 part/templates/part/part_sidebar.html:63 +#: report/templates/report/inventree_build_order_report.html:172 +#: stock/admin.py:226 stock/models.py:2321 stock/models.py:2438 +#: stock/serializers.py:630 stock/serializers.py:788 stock/serializers.py:884 +#: stock/serializers.py:934 stock/serializers.py:1243 stock/serializers.py:1332 +#: stock/serializers.py:1497 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1080 -#: templates/js/translated/purchase_order.js:2201 -#: templates/js/translated/return_order.js:776 -#: templates/js/translated/sales_order.js:1067 -#: templates/js/translated/sales_order.js:1982 -#: templates/js/translated/stock.js:1536 templates/js/translated/stock.js:2430 +#: templates/js/translated/purchase_order.js:2200 +#: templates/js/translated/return_order.js:775 +#: templates/js/translated/sales_order.js:1103 +#: templates/js/translated/sales_order.js:2018 +#: templates/js/translated/stock.js:1536 templates/js/translated/stock.js:2428 msgid "Notes" msgstr "" @@ -132,7 +132,7 @@ msgstr "" msgid "Registration is disabled." msgstr "" -#: InvenTree/helpers.py:525 order/models.py:541 order/models.py:743 +#: InvenTree/helpers.py:525 order/models.py:563 order/models.py:765 msgid "Invalid quantity provided" msgstr "" @@ -355,142 +355,142 @@ msgstr "" msgid "Error running plugin validation" msgstr "" -#: InvenTree/models.py:162 +#: InvenTree/models.py:176 msgid "Metadata must be a python dict object" msgstr "" -#: InvenTree/models.py:168 +#: InvenTree/models.py:182 msgid "Plugin Metadata" msgstr "" -#: InvenTree/models.py:169 +#: InvenTree/models.py:183 msgid "JSON metadata field, for use by external plugins" msgstr "" -#: InvenTree/models.py:399 +#: InvenTree/models.py:413 msgid "Improperly formatted pattern" msgstr "" -#: InvenTree/models.py:406 +#: InvenTree/models.py:420 msgid "Unknown format key specified" msgstr "" -#: InvenTree/models.py:412 +#: InvenTree/models.py:426 msgid "Missing required format key" msgstr "" -#: InvenTree/models.py:423 +#: InvenTree/models.py:437 msgid "Reference field cannot be empty" msgstr "" -#: InvenTree/models.py:431 +#: InvenTree/models.py:445 msgid "Reference must match required pattern" msgstr "" -#: InvenTree/models.py:462 +#: InvenTree/models.py:476 msgid "Reference number is too large" msgstr "" -#: InvenTree/models.py:536 +#: InvenTree/models.py:550 msgid "Missing file" msgstr "" -#: InvenTree/models.py:537 +#: InvenTree/models.py:551 msgid "Missing external link" msgstr "" -#: InvenTree/models.py:558 stock/models.py:2456 +#: InvenTree/models.py:572 stock/models.py:2433 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" msgstr "" -#: InvenTree/models.py:559 +#: InvenTree/models.py:573 msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:567 common/models.py:3026 company/models.py:146 +#: InvenTree/models.py:581 common/models.py:3032 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 -#: order/models.py:291 order/models.py:1288 order/models.py:1704 -#: part/admin.py:55 part/models.py:919 +#: order/models.py:304 order/models.py:1328 order/models.py:1744 +#: part/admin.py:55 part/models.py:962 #: part/templates/part/part_scheduling.html:11 -#: report/templates/report/inventree_build_order_base.html:164 +#: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2456 -#: templates/js/translated/purchase_order.js:2041 -#: templates/js/translated/purchase_order.js:2205 -#: templates/js/translated/return_order.js:780 -#: templates/js/translated/sales_order.js:1056 -#: templates/js/translated/sales_order.js:1987 +#: templates/js/translated/part.js:2455 +#: templates/js/translated/purchase_order.js:2040 +#: templates/js/translated/purchase_order.js:2204 +#: templates/js/translated/return_order.js:779 +#: templates/js/translated/sales_order.js:1092 +#: templates/js/translated/sales_order.js:2023 msgid "Link" msgstr "" -#: InvenTree/models.py:568 build/models.py:321 part/models.py:920 -#: stock/models.py:819 +#: InvenTree/models.py:582 build/models.py:344 part/models.py:963 +#: stock/models.py:840 msgid "Link to external URL" msgstr "" -#: InvenTree/models.py:574 templates/js/translated/attachment.js:120 +#: InvenTree/models.py:588 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:341 msgid "Comment" msgstr "" -#: InvenTree/models.py:575 +#: InvenTree/models.py:589 msgid "File comment" msgstr "" -#: InvenTree/models.py:583 InvenTree/models.py:584 common/models.py:2502 -#: common/models.py:2503 common/models.py:2727 common/models.py:2728 -#: common/models.py:2973 common/models.py:2974 part/models.py:3185 -#: part/models.py:3272 part/models.py:3365 part/models.py:3393 -#: plugin/models.py:250 plugin/models.py:251 -#: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3039 users/models.py:111 +#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2508 +#: common/models.py:2509 common/models.py:2733 common/models.py:2734 +#: common/models.py:2979 common/models.py:2980 part/models.py:3228 +#: part/models.py:3315 part/models.py:3408 part/models.py:3436 +#: plugin/models.py:259 plugin/models.py:260 +#: report/templates/report/inventree_test_report.html:105 +#: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" msgstr "" -#: InvenTree/models.py:588 +#: InvenTree/models.py:602 msgid "upload date" msgstr "" -#: InvenTree/models.py:610 +#: InvenTree/models.py:624 msgid "Filename must not be empty" msgstr "" -#: InvenTree/models.py:621 +#: InvenTree/models.py:635 msgid "Invalid attachment directory" msgstr "" -#: InvenTree/models.py:651 +#: InvenTree/models.py:665 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "" -#: InvenTree/models.py:654 +#: InvenTree/models.py:668 msgid "Filename missing extension" msgstr "" -#: InvenTree/models.py:663 +#: InvenTree/models.py:677 msgid "Attachment with this filename already exists" msgstr "" -#: InvenTree/models.py:670 +#: InvenTree/models.py:684 msgid "Error renaming file" msgstr "" -#: InvenTree/models.py:846 +#: InvenTree/models.py:860 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:863 +#: InvenTree/models.py:877 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:893 common/models.py:2714 common/models.py:3112 -#: common/serializers.py:403 company/models.py:614 label/models.py:120 -#: machine/models.py:24 part/models.py:855 part/models.py:3616 -#: plugin/models.py:41 report/models.py:176 stock/models.py:76 +#: InvenTree/models.py:907 common/models.py:2720 common/models.py:3118 +#: common/serializers.py:403 company/models.py:614 machine/models.py:24 +#: part/models.py:898 part/models.py:3659 plugin/models.py:50 +#: report/models.py:149 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -503,22 +503,22 @@ msgstr "" #: templates/js/translated/company.js:1165 #: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186 #: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2719 +#: templates/js/translated/part.js:2748 templates/js/translated/stock.js:2716 msgid "Name" msgstr "" -#: InvenTree/models.py:899 build/models.py:194 +#: InvenTree/models.py:913 build/models.py:217 #: build/templates/build/detail.html:24 common/models.py:136 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 label/models.py:127 -#: order/models.py:277 order/models.py:1316 part/admin.py:303 part/admin.py:414 -#: part/models.py:878 part/models.py:3631 part/templates/part/category.html:82 +#: company/templates/company/supplier_part.html:107 order/models.py:290 +#: order/models.py:1356 part/admin.py:305 part/admin.py:416 part/models.py:921 +#: part/models.py:3674 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 -#: part/templates/part/part_scheduling.html:12 report/models.py:189 -#: report/models.py:655 report/models.py:729 -#: report/templates/report/inventree_build_order_base.html:117 +#: part/templates/part/part_scheduling.html:12 report/models.py:155 +#: report/models.py:510 report/models.py:536 +#: report/templates/report/inventree_build_order_report.html:117 #: stock/admin.py:55 stock/models.py:82 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 @@ -530,71 +530,71 @@ msgstr "" #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 -#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2896 +#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2354 +#: templates/js/translated/part.js:2784 templates/js/translated/part.js:2895 #: templates/js/translated/plugin.js:80 -#: templates/js/translated/purchase_order.js:1707 -#: templates/js/translated/purchase_order.js:1850 -#: templates/js/translated/purchase_order.js:2023 -#: templates/js/translated/return_order.js:314 -#: templates/js/translated/sales_order.js:802 -#: templates/js/translated/sales_order.js:1812 -#: templates/js/translated/stock.js:1515 templates/js/translated/stock.js:2060 -#: templates/js/translated/stock.js:2751 templates/js/translated/stock.js:2834 +#: templates/js/translated/purchase_order.js:1706 +#: templates/js/translated/purchase_order.js:1849 +#: templates/js/translated/purchase_order.js:2022 +#: templates/js/translated/return_order.js:313 +#: templates/js/translated/sales_order.js:838 +#: templates/js/translated/sales_order.js:1848 +#: templates/js/translated/stock.js:1515 templates/js/translated/stock.js:2058 +#: templates/js/translated/stock.js:2748 templates/js/translated/stock.js:2831 msgid "Description" msgstr "" -#: InvenTree/models.py:900 stock/models.py:83 +#: InvenTree/models.py:914 stock/models.py:83 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:909 +#: InvenTree/models.py:923 msgid "parent" msgstr "" -#: InvenTree/models.py:915 templates/js/translated/part.js:2794 -#: templates/js/translated/stock.js:2760 +#: InvenTree/models.py:929 templates/js/translated/part.js:2793 +#: templates/js/translated/stock.js:2757 msgid "Path" msgstr "" -#: InvenTree/models.py:1021 +#: InvenTree/models.py:1035 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:1050 +#: InvenTree/models.py:1064 msgid "Barcode Data" msgstr "" -#: InvenTree/models.py:1051 +#: InvenTree/models.py:1065 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:1057 +#: InvenTree/models.py:1071 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:1058 +#: InvenTree/models.py:1072 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:1111 +#: InvenTree/models.py:1125 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:1154 +#: InvenTree/models.py:1168 msgid "Server Error" msgstr "" -#: InvenTree/models.py:1155 +#: InvenTree/models.py:1169 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:62 part/models.py:4169 +#: InvenTree/serializers.py:62 part/models.py:4212 msgid "Must be a valid number" msgstr "" #: InvenTree/serializers.py:99 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:2993 +#: company/templates/company/company_base.html:112 part/models.py:3036 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -686,7 +686,7 @@ msgstr "" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1161 +#: InvenTree/status.py:66 part/serializers.py:1176 msgid "Background worker check failed" msgstr "" @@ -699,8 +699,8 @@ msgid "InvenTree system health checks failed" msgstr "" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:37 -#: InvenTree/status_codes.py:148 InvenTree/status_codes.py:164 -#: InvenTree/status_codes.py:182 generic/states/tests.py:17 +#: InvenTree/status_codes.py:149 InvenTree/status_codes.py:165 +#: InvenTree/status_codes.py:183 generic/states/tests.py:17 #: templates/js/translated/table_filters.js:598 msgid "Pending" msgstr "" @@ -709,188 +709,188 @@ msgstr "" msgid "Placed" msgstr "" -#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:151 -#: InvenTree/status_codes.py:169 generic/states/tests.py:19 -#: order/templates/order/order_base.html:158 -#: order/templates/order/sales_order_base.html:161 +#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:44 +#: InvenTree/status_codes.py:152 InvenTree/status_codes.py:170 +#: generic/states/tests.py:19 order/templates/order/order_base.html:158 +#: order/templates/order/sales_order_base.html:165 report/models.py:444 msgid "Complete" msgstr "" -#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:44 -#: InvenTree/status_codes.py:150 InvenTree/status_codes.py:170 +#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:45 +#: InvenTree/status_codes.py:151 InvenTree/status_codes.py:171 msgid "Cancelled" msgstr "" -#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:45 -#: InvenTree/status_codes.py:67 +#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:46 +#: InvenTree/status_codes.py:68 msgid "Lost" msgstr "" -#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:46 -#: InvenTree/status_codes.py:73 +#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:47 +#: InvenTree/status_codes.py:74 msgid "Returned" msgstr "" -#: InvenTree/status_codes.py:40 InvenTree/status_codes.py:167 +#: InvenTree/status_codes.py:40 InvenTree/status_codes.py:168 msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:43 order/models.py:1566 -#: templates/js/translated/sales_order.js:1523 -#: templates/js/translated/sales_order.js:1644 -#: templates/js/translated/sales_order.js:1957 +#: InvenTree/status_codes.py:43 order/models.py:1606 +#: templates/js/translated/sales_order.js:1559 +#: templates/js/translated/sales_order.js:1680 +#: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "" -#: InvenTree/status_codes.py:62 +#: InvenTree/status_codes.py:63 msgid "OK" msgstr "" -#: InvenTree/status_codes.py:63 +#: InvenTree/status_codes.py:64 msgid "Attention needed" msgstr "" -#: InvenTree/status_codes.py:64 +#: InvenTree/status_codes.py:65 msgid "Damaged" msgstr "" -#: InvenTree/status_codes.py:65 +#: InvenTree/status_codes.py:66 msgid "Destroyed" msgstr "" -#: InvenTree/status_codes.py:66 +#: InvenTree/status_codes.py:67 msgid "Rejected" msgstr "" -#: InvenTree/status_codes.py:70 +#: InvenTree/status_codes.py:71 msgid "Quarantined" msgstr "" -#: InvenTree/status_codes.py:91 +#: InvenTree/status_codes.py:92 msgid "Legacy stock tracking entry" msgstr "" -#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:544 +#: InvenTree/status_codes.py:94 templates/js/translated/stock.js:544 msgid "Stock item created" msgstr "" -#: InvenTree/status_codes.py:96 +#: InvenTree/status_codes.py:97 msgid "Edited stock item" msgstr "" -#: InvenTree/status_codes.py:97 +#: InvenTree/status_codes.py:98 msgid "Assigned serial number" msgstr "" -#: InvenTree/status_codes.py:100 +#: InvenTree/status_codes.py:101 msgid "Stock counted" msgstr "" -#: InvenTree/status_codes.py:101 +#: InvenTree/status_codes.py:102 msgid "Stock manually added" msgstr "" -#: InvenTree/status_codes.py:102 +#: InvenTree/status_codes.py:103 msgid "Stock manually removed" msgstr "" -#: InvenTree/status_codes.py:105 +#: InvenTree/status_codes.py:106 msgid "Location changed" msgstr "" -#: InvenTree/status_codes.py:106 +#: InvenTree/status_codes.py:107 msgid "Stock updated" msgstr "" -#: InvenTree/status_codes.py:109 +#: InvenTree/status_codes.py:110 msgid "Installed into assembly" msgstr "" -#: InvenTree/status_codes.py:110 +#: InvenTree/status_codes.py:111 msgid "Removed from assembly" msgstr "" -#: InvenTree/status_codes.py:112 +#: InvenTree/status_codes.py:113 msgid "Installed component item" msgstr "" -#: InvenTree/status_codes.py:113 +#: InvenTree/status_codes.py:114 msgid "Removed component item" msgstr "" -#: InvenTree/status_codes.py:116 +#: InvenTree/status_codes.py:117 msgid "Split from parent item" msgstr "" -#: InvenTree/status_codes.py:117 +#: InvenTree/status_codes.py:118 msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1858 +#: InvenTree/status_codes.py:121 templates/js/translated/stock.js:1858 msgid "Merged stock items" msgstr "" -#: InvenTree/status_codes.py:123 +#: InvenTree/status_codes.py:124 msgid "Converted to variant" msgstr "" -#: InvenTree/status_codes.py:126 +#: InvenTree/status_codes.py:127 msgid "Build order output created" msgstr "" -#: InvenTree/status_codes.py:127 +#: InvenTree/status_codes.py:128 msgid "Build order output completed" msgstr "" -#: InvenTree/status_codes.py:128 +#: InvenTree/status_codes.py:129 msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1764 +#: InvenTree/status_codes.py:130 templates/js/translated/stock.js:1764 msgid "Consumed by build order" msgstr "" -#: InvenTree/status_codes.py:132 +#: InvenTree/status_codes.py:133 msgid "Shipped against Sales Order" msgstr "" -#: InvenTree/status_codes.py:135 +#: InvenTree/status_codes.py:136 msgid "Received against Purchase Order" msgstr "" -#: InvenTree/status_codes.py:138 +#: InvenTree/status_codes.py:139 msgid "Returned against Return Order" msgstr "" -#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:375 +#: InvenTree/status_codes.py:142 templates/js/translated/table_filters.js:375 msgid "Sent to customer" msgstr "" -#: InvenTree/status_codes.py:142 +#: InvenTree/status_codes.py:143 msgid "Returned from customer" msgstr "" -#: InvenTree/status_codes.py:149 +#: InvenTree/status_codes.py:150 msgid "Production" msgstr "" -#: InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:186 msgid "Return" msgstr "" -#: InvenTree/status_codes.py:188 +#: InvenTree/status_codes.py:189 msgid "Repair" msgstr "" -#: InvenTree/status_codes.py:191 +#: InvenTree/status_codes.py:192 msgid "Replace" msgstr "" -#: InvenTree/status_codes.py:194 +#: InvenTree/status_codes.py:195 msgid "Refund" msgstr "" -#: InvenTree/status_codes.py:197 +#: InvenTree/status_codes.py:198 msgid "Reject" msgstr "" @@ -946,14 +946,14 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:299 part/models.py:4047 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4090 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4041 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4084 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -969,7 +969,7 @@ msgstr "" #: build/api.py:303 part/admin.py:144 templates/js/translated/build.js:1744 #: templates/js/translated/build.js:2629 -#: templates/js/translated/sales_order.js:1929 +#: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "" @@ -980,7 +980,7 @@ msgstr "" #: templates/email/low_stock_notification.html:17 #: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 #: templates/js/translated/index.js:123 -#: templates/js/translated/model_renderers.js:228 +#: templates/js/translated/model_renderers.js:234 #: templates/js/translated/part.js:692 templates/js/translated/part.js:694 #: templates/js/translated/part.js:699 #: templates/js/translated/table_filters.js:340 @@ -988,16 +988,16 @@ msgstr "" msgid "Available" msgstr "" -#: build/models.py:74 build/templates/build/build_base.html:9 +#: build/models.py:82 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 -#: report/templates/report/inventree_build_order_base.html:105 -#: templates/email/build_order_completed.html:16 +#: report/templates/report/inventree_build_order_report.html:105 +#: stock/serializers.py:83 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2895 +#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2892 msgid "Build Order" msgstr "" -#: build/models.py:75 build/templates/build/build_base.html:13 +#: build/models.py:83 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -1008,71 +1008,71 @@ msgstr "" msgid "Build Orders" msgstr "" -#: build/models.py:122 +#: build/models.py:130 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:133 order/models.py:239 +#: build/models.py:141 order/models.py:241 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:139 +#: build/models.py:147 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:185 +#: build/models.py:208 msgid "Build Order Reference" msgstr "" -#: build/models.py:186 order/models.py:442 order/models.py:898 -#: order/models.py:1276 order/models.py:1998 part/admin.py:417 -#: part/models.py:4062 part/templates/part/upload_bom.html:54 +#: build/models.py:209 order/models.py:464 order/models.py:929 +#: order/models.py:1316 order/models.py:2047 part/admin.py:419 +#: part/models.py:4105 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 -#: report/templates/report/inventree_so_report_base.html:28 +#: report/templates/report/inventree_purchase_order_report.html:28 +#: report/templates/report/inventree_return_order_report.html:26 +#: report/templates/report/inventree_sales_order_report.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 #: templates/js/translated/build.js:2512 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 -#: templates/js/translated/purchase_order.js:2066 -#: templates/js/translated/return_order.js:729 -#: templates/js/translated/sales_order.js:1818 +#: templates/js/translated/purchase_order.js:2065 +#: templates/js/translated/return_order.js:728 +#: templates/js/translated/sales_order.js:1854 msgid "Reference" msgstr "" -#: build/models.py:197 +#: build/models.py:220 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:205 build/templates/build/build_base.html:183 +#: build/models.py:228 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:206 +#: build/models.py:229 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:211 build/templates/build/build_base.html:97 +#: build/models.py:234 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 -#: order/models.py:1401 order/models.py:1546 order/models.py:1547 -#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004 -#: part/models.py:3148 part/models.py:3292 part/models.py:3315 -#: part/models.py:3336 part/models.py:3358 part/models.py:3468 -#: part/models.py:3764 part/models.py:3920 part/models.py:4013 -#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713 +#: order/models.py:1441 order/models.py:1586 order/models.py:1587 +#: part/api.py:1501 part/api.py:1795 part/models.py:392 part/models.py:3047 +#: part/models.py:3191 part/models.py:3335 part/models.py:3358 +#: part/models.py:3379 part/models.py:3401 part/models.py:3511 +#: part/models.py:3807 part/models.py:3963 part/models.py:4056 +#: part/models.py:4417 part/serializers.py:1122 part/serializers.py:1728 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 -#: report/templates/report/inventree_build_order_base.html:109 -#: report/templates/report/inventree_po_report_base.html:27 -#: report/templates/report/inventree_return_order_report_base.html:24 -#: report/templates/report/inventree_slr_report.html:102 -#: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:267 stock/serializers.py:689 -#: templates/InvenTree/search.html:82 +#: report/templates/report/inventree_build_order_report.html:109 +#: report/templates/report/inventree_purchase_order_report.html:27 +#: report/templates/report/inventree_return_order_report.html:24 +#: report/templates/report/inventree_sales_order_report.html:27 +#: report/templates/report/inventree_stock_location_report.html:102 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:396 +#: stock/serializers.py:818 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -1086,235 +1086,239 @@ msgstr "" #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 #: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 -#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:2323 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:751 #: templates/js/translated/purchase_order.js:1304 -#: templates/js/translated/purchase_order.js:1849 -#: templates/js/translated/purchase_order.js:2008 -#: templates/js/translated/return_order.js:539 -#: templates/js/translated/return_order.js:710 +#: templates/js/translated/purchase_order.js:1848 +#: templates/js/translated/purchase_order.js:2007 +#: templates/js/translated/return_order.js:538 +#: templates/js/translated/return_order.js:709 #: templates/js/translated/sales_order.js:300 -#: templates/js/translated/sales_order.js:1197 -#: templates/js/translated/sales_order.js:1598 -#: templates/js/translated/sales_order.js:1796 +#: templates/js/translated/sales_order.js:1233 +#: templates/js/translated/sales_order.js:1634 +#: templates/js/translated/sales_order.js:1832 #: templates/js/translated/stock.js:676 templates/js/translated/stock.js:842 -#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1999 -#: templates/js/translated/stock.js:2860 templates/js/translated/stock.js:3093 -#: templates/js/translated/stock.js:3239 +#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1997 +#: templates/js/translated/stock.js:2857 templates/js/translated/stock.js:3090 +#: templates/js/translated/stock.js:3236 msgid "Part" msgstr "" -#: build/models.py:219 +#: build/models.py:242 msgid "Select part to build" msgstr "" -#: build/models.py:224 +#: build/models.py:247 msgid "Sales Order Reference" msgstr "" -#: build/models.py:228 +#: build/models.py:251 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:233 build/serializers.py:970 +#: build/models.py:256 build/serializers.py:969 #: templates/js/translated/build.js:1731 -#: templates/js/translated/sales_order.js:1185 +#: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "" -#: build/models.py:237 +#: build/models.py:260 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:242 +#: build/models.py:265 msgid "Destination Location" msgstr "" -#: build/models.py:246 +#: build/models.py:269 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:250 +#: build/models.py:273 msgid "Build Quantity" msgstr "" -#: build/models.py:253 +#: build/models.py:276 msgid "Number of stock items to build" msgstr "" -#: build/models.py:257 +#: build/models.py:280 msgid "Completed items" msgstr "" -#: build/models.py:259 +#: build/models.py:282 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:263 +#: build/models.py:286 msgid "Build Status" msgstr "" -#: build/models.py:267 +#: build/models.py:290 msgid "Build status code" msgstr "" -#: build/models.py:276 build/serializers.py:278 order/serializers.py:581 -#: stock/models.py:823 stock/serializers.py:1333 +#: build/models.py:299 build/serializers.py:277 order/serializers.py:581 +#: stock/models.py:844 stock/serializers.py:75 stock/serializers.py:1462 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" -#: build/models.py:280 build/serializers.py:279 +#: build/models.py:303 build/serializers.py:278 msgid "Batch code for this build output" msgstr "" -#: build/models.py:283 order/models.py:304 order/serializers.py:120 -#: part/models.py:1079 part/templates/part/part_base.html:310 -#: templates/js/translated/return_order.js:339 -#: templates/js/translated/sales_order.js:827 +#: build/models.py:306 order/models.py:317 order/serializers.py:120 +#: part/models.py:1122 part/templates/part/part_base.html:310 +#: templates/js/translated/return_order.js:338 +#: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "" -#: build/models.py:287 +#: build/models.py:310 msgid "Target completion date" msgstr "" -#: build/models.py:288 +#: build/models.py:311 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:291 order/models.py:500 order/models.py:2043 +#: build/models.py:314 order/models.py:522 order/models.py:2092 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "" -#: build/models.py:297 +#: build/models.py:320 msgid "completed by" msgstr "" -#: build/models.py:305 templates/js/translated/build.js:2207 +#: build/models.py:328 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "" -#: build/models.py:306 +#: build/models.py:329 msgid "User who issued this build order" msgstr "" -#: build/models.py:314 build/templates/build/build_base.html:204 +#: build/models.py:337 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:145 -#: order/models.py:322 order/templates/order/order_base.html:217 +#: order/models.py:335 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1096 +#: order/templates/order/sales_order_base.html:232 part/models.py:1139 #: part/templates/part/part_base.html:390 -#: report/templates/report/inventree_build_order_base.html:158 +#: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 #: templates/js/translated/build.js:2219 -#: templates/js/translated/purchase_order.js:1764 -#: templates/js/translated/return_order.js:359 +#: templates/js/translated/purchase_order.js:1763 +#: templates/js/translated/return_order.js:358 #: templates/js/translated/table_filters.js:531 msgid "Responsible" msgstr "" -#: build/models.py:315 +#: build/models.py:338 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:320 build/templates/build/detail.html:108 +#: build/models.py:343 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 -#: order/templates/order/sales_order_base.html:180 -#: part/templates/part/part_base.html:383 stock/models.py:819 +#: order/templates/order/sales_order_base.html:184 +#: part/templates/part/part_base.html:383 stock/models.py:840 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "" -#: build/models.py:325 +#: build/models.py:348 msgid "Build Priority" msgstr "" -#: build/models.py:328 +#: build/models.py:351 msgid "Priority of this build order" msgstr "" -#: build/models.py:335 common/models.py:129 order/admin.py:18 -#: order/models.py:286 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:358 common/models.py:129 order/admin.py:18 +#: order/models.py:299 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 -#: templates/js/translated/purchase_order.js:1711 -#: templates/js/translated/return_order.js:318 -#: templates/js/translated/sales_order.js:806 +#: templates/js/translated/purchase_order.js:1710 +#: templates/js/translated/return_order.js:317 +#: templates/js/translated/sales_order.js:842 #: templates/js/translated/table_filters.js:48 #: templates/project_code_data.html:6 msgid "Project Code" msgstr "" -#: build/models.py:336 +#: build/models.py:359 msgid "Project code for this build order" msgstr "" -#: build/models.py:566 build/models.py:631 +#: build/models.py:589 build/models.py:654 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:588 +#: build/models.py:611 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:594 +#: build/models.py:617 msgid "A build order has been completed" msgstr "" -#: build/models.py:820 build/models.py:895 +#: build/models.py:843 build/models.py:918 msgid "No build output specified" msgstr "" -#: build/models.py:823 +#: build/models.py:846 msgid "Build output is already completed" msgstr "" -#: build/models.py:826 +#: build/models.py:849 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:899 build/serializers.py:221 build/serializers.py:260 -#: build/serializers.py:837 order/models.py:538 order/serializers.py:433 -#: order/serializers.py:576 part/serializers.py:1471 part/serializers.py:1871 -#: stock/models.py:662 stock/models.py:1482 stock/serializers.py:472 +#: build/models.py:922 build/serializers.py:220 build/serializers.py:259 +#: build/serializers.py:836 order/models.py:560 order/serializers.py:433 +#: order/serializers.py:576 part/serializers.py:1486 part/serializers.py:1886 +#: stock/models.py:683 stock/models.py:1503 stock/serializers.py:601 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:904 build/serializers.py:226 +#: build/models.py:927 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:961 build/serializers.py:539 +#: build/models.py:984 build/serializers.py:538 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1323 +#: build/models.py:1335 +msgid "Build Order Line Item" +msgstr "" + +#: build/models.py:1360 msgid "Build object" msgstr "" -#: build/models.py:1337 build/models.py:1593 build/serializers.py:208 -#: build/serializers.py:245 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2524 -#: order/models.py:1259 order/models.py:1918 order/serializers.py:1339 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 -#: part/forms.py:48 part/models.py:3162 part/models.py:4035 +#: build/models.py:1374 build/models.py:1630 build/serializers.py:207 +#: build/serializers.py:244 build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2530 +#: order/models.py:1299 order/models.py:1958 order/serializers.py:1339 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 +#: part/forms.py:48 part/models.py:3205 part/models.py:4078 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 -#: report/templates/report/inventree_build_order_base.html:113 -#: report/templates/report/inventree_po_report_base.html:29 -#: report/templates/report/inventree_slr_report.html:104 -#: report/templates/report/inventree_so_report_base.html:29 -#: report/templates/report/inventree_test_report_base.html:90 -#: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:160 stock/serializers.py:463 +#: report/templates/report/inventree_build_order_report.html:113 +#: report/templates/report/inventree_purchase_order_report.html:29 +#: report/templates/report/inventree_sales_order_report.html:29 +#: report/templates/report/inventree_stock_location_report.html:104 +#: report/templates/report/inventree_test_report.html:90 +#: report/templates/report/inventree_test_report.html:170 stock/admin.py:160 +#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:592 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1324,380 +1328,381 @@ msgstr "" #: templates/js/translated/build.js:737 templates/js/translated/build.js:1369 #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 -#: templates/js/translated/model_renderers.js:230 +#: templates/js/translated/model_renderers.js:236 #: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3341 +#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3340 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 #: templates/js/translated/purchase_order.js:754 -#: templates/js/translated/purchase_order.js:1853 -#: templates/js/translated/purchase_order.js:2072 +#: templates/js/translated/purchase_order.js:1852 +#: templates/js/translated/purchase_order.js:2071 #: templates/js/translated/sales_order.js:317 -#: templates/js/translated/sales_order.js:1199 -#: templates/js/translated/sales_order.js:1518 -#: templates/js/translated/sales_order.js:1608 -#: templates/js/translated/sales_order.js:1698 -#: templates/js/translated/sales_order.js:1824 +#: templates/js/translated/sales_order.js:1235 +#: templates/js/translated/sales_order.js:1554 +#: templates/js/translated/sales_order.js:1644 +#: templates/js/translated/sales_order.js:1734 +#: templates/js/translated/sales_order.js:1860 #: templates/js/translated/stock.js:564 templates/js/translated/stock.js:702 -#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:3024 -#: templates/js/translated/stock.js:3107 +#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:3021 +#: templates/js/translated/stock.js:3104 msgid "Quantity" msgstr "" -#: build/models.py:1338 +#: build/models.py:1375 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1418 +#: build/models.py:1455 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1427 +#: build/models.py:1464 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1437 order/models.py:1869 +#: build/models.py:1474 order/models.py:1909 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1443 order/models.py:1872 +#: build/models.py:1480 order/models.py:1912 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1449 +#: build/models.py:1486 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1508 +#: build/models.py:1545 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1580 build/serializers.py:817 order/serializers.py:1183 -#: order/serializers.py:1204 stock/serializers.py:566 stock/serializers.py:1052 -#: stock/serializers.py:1164 stock/templates/stock/item_base.html:10 +#: build/models.py:1617 build/serializers.py:816 order/serializers.py:1183 +#: order/serializers.py:1204 stock/models.py:364 stock/serializers.py:92 +#: stock/serializers.py:695 stock/serializers.py:1181 stock/serializers.py:1293 +#: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 #: templates/js/translated/build.js:1745 #: templates/js/translated/sales_order.js:301 -#: templates/js/translated/sales_order.js:1198 -#: templates/js/translated/sales_order.js:1499 -#: templates/js/translated/sales_order.js:1504 -#: templates/js/translated/sales_order.js:1605 -#: templates/js/translated/sales_order.js:1692 +#: templates/js/translated/sales_order.js:1234 +#: templates/js/translated/sales_order.js:1535 +#: templates/js/translated/sales_order.js:1540 +#: templates/js/translated/sales_order.js:1641 +#: templates/js/translated/sales_order.js:1728 #: templates/js/translated/stock.js:677 templates/js/translated/stock.js:843 -#: templates/js/translated/stock.js:2980 +#: templates/js/translated/stock.js:2977 msgid "Stock Item" msgstr "" -#: build/models.py:1581 +#: build/models.py:1618 msgid "Source stock item" msgstr "" -#: build/models.py:1594 +#: build/models.py:1631 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1602 +#: build/models.py:1639 msgid "Install into" msgstr "" -#: build/models.py:1603 +#: build/models.py:1640 msgid "Destination stock item" msgstr "" -#: build/serializers.py:158 build/serializers.py:846 +#: build/serializers.py:157 build/serializers.py:845 #: templates/js/translated/build.js:1322 msgid "Build Output" msgstr "" -#: build/serializers.py:170 +#: build/serializers.py:169 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:174 +#: build/serializers.py:173 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:178 +#: build/serializers.py:177 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:189 +#: build/serializers.py:188 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:209 build/serializers.py:246 +#: build/serializers.py:208 build/serializers.py:245 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:267 +#: build/serializers.py:266 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:270 +#: build/serializers.py:269 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:285 order/serializers.py:589 order/serializers.py:1343 -#: stock/serializers.py:483 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:284 order/serializers.py:589 order/serializers.py:1343 +#: stock/serializers.py:612 templates/js/translated/purchase_order.js:1153 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:286 +#: build/serializers.py:285 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:291 build/serializers.py:432 build/serializers.py:504 +#: build/serializers.py:290 build/serializers.py:431 build/serializers.py:503 #: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1679 -#: part/serializers.py:1127 stock/serializers.py:494 stock/serializers.py:654 -#: stock/serializers.py:750 stock/serializers.py:1196 stock/serializers.py:1452 -#: stock/templates/stock/item_base.html:394 +#: part/serializers.py:1142 stock/serializers.py:101 stock/serializers.py:623 +#: stock/serializers.py:783 stock/serializers.py:879 stock/serializers.py:1325 +#: stock/serializers.py:1581 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 #: templates/js/translated/purchase_order.js:1178 #: templates/js/translated/purchase_order.js:1268 -#: templates/js/translated/sales_order.js:1511 -#: templates/js/translated/sales_order.js:1619 -#: templates/js/translated/sales_order.js:1627 -#: templates/js/translated/sales_order.js:1706 +#: templates/js/translated/sales_order.js:1547 +#: templates/js/translated/sales_order.js:1655 +#: templates/js/translated/sales_order.js:1663 +#: templates/js/translated/sales_order.js:1742 #: templates/js/translated/stock.js:678 templates/js/translated/stock.js:844 -#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2203 -#: templates/js/translated/stock.js:2874 +#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2201 +#: templates/js/translated/stock.js:2871 msgid "Location" msgstr "" -#: build/serializers.py:292 +#: build/serializers.py:291 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:306 +#: build/serializers.py:305 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:307 +#: build/serializers.py:306 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:322 +#: build/serializers.py:321 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:347 stock/api.py:995 +#: build/serializers.py:346 stock/api.py:1029 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:394 build/serializers.py:456 build/serializers.py:545 +#: build/serializers.py:393 build/serializers.py:455 build/serializers.py:544 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:433 +#: build/serializers.py:432 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:439 +#: build/serializers.py:438 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:440 +#: build/serializers.py:439 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:445 +#: build/serializers.py:444 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:505 +#: build/serializers.py:504 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:511 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:922 -#: order/models.py:2022 order/serializers.py:597 stock/admin.py:165 -#: stock/serializers.py:801 stock/serializers.py:1340 +#: build/serializers.py:510 build/templates/build/build_base.html:151 +#: build/templates/build/detail.html:62 order/models.py:953 +#: order/models.py:2071 order/serializers.py:597 stock/admin.py:165 +#: stock/serializers.py:930 stock/serializers.py:1469 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 -#: templates/js/translated/purchase_order.js:1723 -#: templates/js/translated/return_order.js:331 -#: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2178 templates/js/translated/stock.js:2998 -#: templates/js/translated/stock.js:3123 +#: templates/js/translated/purchase_order.js:1722 +#: templates/js/translated/return_order.js:330 +#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/stock.js:2176 templates/js/translated/stock.js:2995 +#: templates/js/translated/stock.js:3120 msgid "Status" msgstr "" -#: build/serializers.py:517 +#: build/serializers.py:516 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:518 +#: build/serializers.py:517 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:598 +#: build/serializers.py:597 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:599 +#: build/serializers.py:598 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:605 +#: build/serializers.py:604 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:606 +#: build/serializers.py:605 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:633 +#: build/serializers.py:632 msgid "Not permitted" msgstr "" -#: build/serializers.py:634 +#: build/serializers.py:633 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:635 +#: build/serializers.py:634 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:657 +#: build/serializers.py:656 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:659 +#: build/serializers.py:658 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:669 +#: build/serializers.py:668 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:674 +#: build/serializers.py:673 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:675 +#: build/serializers.py:674 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:685 templates/js/translated/build.js:315 +#: build/serializers.py:684 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:690 order/serializers.py:301 order/serializers.py:1246 +#: build/serializers.py:689 order/serializers.py:301 order/serializers.py:1246 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:691 +#: build/serializers.py:690 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:701 templates/js/translated/build.js:319 +#: build/serializers.py:700 templates/js/translated/build.js:319 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:710 templates/js/translated/build.js:303 +#: build/serializers.py:709 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:740 +#: build/serializers.py:739 msgid "Build Line" msgstr "" -#: build/serializers.py:750 +#: build/serializers.py:749 msgid "Build output" msgstr "" -#: build/serializers.py:758 +#: build/serializers.py:757 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:794 +#: build/serializers.py:793 msgid "Build Line Item" msgstr "" -#: build/serializers.py:808 +#: build/serializers.py:807 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:823 stock/serializers.py:1065 +#: build/serializers.py:822 stock/serializers.py:1194 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:871 order/serializers.py:1237 +#: build/serializers.py:870 order/serializers.py:1237 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:877 +#: build/serializers.py:876 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:884 +#: build/serializers.py:883 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:908 order/serializers.py:1489 +#: build/serializers.py:907 order/serializers.py:1489 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:971 +#: build/serializers.py:970 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:979 +#: build/serializers.py:978 msgid "Exclude Location" msgstr "" -#: build/serializers.py:980 +#: build/serializers.py:979 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:985 +#: build/serializers.py:984 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:986 +#: build/serializers.py:985 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:991 +#: build/serializers.py:990 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:992 +#: build/serializers.py:991 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:997 +#: build/serializers.py:996 msgid "Optional Items" msgstr "" -#: build/serializers.py:998 +#: build/serializers.py:997 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1020 +#: build/serializers.py:1019 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1110 part/models.py:3930 part/models.py:4366 -#: stock/api.py:758 +#: build/serializers.py:1109 part/models.py:3973 part/models.py:4409 +#: stock/api.py:792 msgid "BOM Item" msgstr "" -#: build/serializers.py:1119 templates/js/translated/index.js:130 +#: build/serializers.py:1118 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1124 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:817 part/serializers.py:1489 +#: build/serializers.py:1123 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:832 part/serializers.py:1504 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 @@ -1705,15 +1710,15 @@ msgstr "" msgid "On Order" msgstr "" -#: build/serializers.py:1129 part/serializers.py:1491 +#: build/serializers.py:1128 part/serializers.py:1506 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1134 part/bom.py:172 part/serializers.py:1514 +#: build/serializers.py:1133 part/bom.py:172 part/serializers.py:1529 #: part/templates/part/part_base.html:192 -#: templates/js/translated/sales_order.js:1893 +#: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "" @@ -1842,18 +1847,18 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:297 -#: order/models.py:1294 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:310 +#: order/models.py:1334 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 -#: order/templates/order/sales_order_base.html:192 -#: report/templates/report/inventree_build_order_base.html:125 +#: order/templates/order/sales_order_base.html:196 +#: report/templates/report/inventree_build_order_report.html:125 #: templates/js/translated/build.js:2239 templates/js/translated/part.js:1830 -#: templates/js/translated/purchase_order.js:1740 -#: templates/js/translated/purchase_order.js:2148 -#: templates/js/translated/return_order.js:347 -#: templates/js/translated/return_order.js:751 -#: templates/js/translated/sales_order.js:835 -#: templates/js/translated/sales_order.js:1867 +#: templates/js/translated/purchase_order.js:1739 +#: templates/js/translated/purchase_order.js:2147 +#: templates/js/translated/return_order.js:346 +#: templates/js/translated/return_order.js:750 +#: templates/js/translated/sales_order.js:871 +#: templates/js/translated/sales_order.js:1903 msgid "Target Date" msgstr "" @@ -1866,7 +1871,7 @@ msgstr "" #: build/templates/build/build_base.html:222 #: order/templates/order/order_base.html:122 #: order/templates/order/return_order_base.html:117 -#: order/templates/order/sales_order_base.html:122 +#: order/templates/order/sales_order_base.html:126 #: templates/js/translated/table_filters.js:98 #: templates/js/translated/table_filters.js:524 #: templates/js/translated/table_filters.js:626 @@ -1880,24 +1885,24 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:1538 -#: order/models.py:1652 order/models.py:1806 +#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:848 +#: order/models.py:1578 order/models.py:1692 order/models.py:1846 #: 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 +#: report/templates/report/inventree_build_order_report.html:135 +#: report/templates/report/inventree_sales_order_report.html:14 #: stock/templates/stock/item_base.html:369 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:929 -#: templates/js/translated/sales_order.js:769 -#: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2927 +#: templates/js/translated/sales_order.js:805 +#: templates/js/translated/sales_order.js:1028 +#: templates/js/translated/stock.js:2924 msgid "Sales Order" msgstr "" #: build/templates/build/build_base.html:197 #: build/templates/build/detail.html:115 -#: report/templates/report/inventree_build_order_base.html:152 +#: report/templates/report/inventree_build_order_report.html:152 #: templates/js/translated/table_filters.js:24 msgid "Issued By" msgstr "" @@ -1907,15 +1912,15 @@ msgstr "" msgid "Priority" msgstr "" -#: build/templates/build/build_base.html:273 +#: build/templates/build/build_base.html:269 msgid "Delete Build Order" msgstr "" -#: build/templates/build/build_base.html:283 +#: build/templates/build/build_base.html:279 msgid "Build Order QR Code" msgstr "" -#: build/templates/build/build_base.html:295 +#: build/templates/build/build_base.html:291 msgid "Link Barcode to Build Order" msgstr "" @@ -1931,8 +1936,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1430 -#: templates/js/translated/purchase_order.js:2190 +#: build/templates/build/detail.html:49 order/models.py:1470 +#: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "" @@ -1947,10 +1952,10 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 #: templates/js/translated/build.js:1380 -#: templates/js/translated/model_renderers.js:235 +#: templates/js/translated/model_renderers.js:241 #: templates/js/translated/purchase_order.js:1274 -#: templates/js/translated/stock.js:1133 templates/js/translated/stock.js:2192 -#: templates/js/translated/stock.js:3130 +#: templates/js/translated/stock.js:1133 templates/js/translated/stock.js:2190 +#: templates/js/translated/stock.js:3127 #: templates/js/translated/table_filters.js:313 #: templates/js/translated/table_filters.js:404 msgid "Batch" @@ -1959,7 +1964,7 @@ msgstr "" #: build/templates/build/detail.html:133 #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:151 -#: order/templates/order/sales_order_base.html:186 +#: order/templates/order/sales_order_base.html:190 #: templates/js/translated/build.js:2199 msgid "Created" msgstr "" @@ -1969,7 +1974,7 @@ msgid "No target date set" msgstr "" #: build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:202 +#: order/templates/order/sales_order_base.html:206 #: templates/js/translated/table_filters.js:689 msgid "Completed" msgstr "" @@ -2260,8 +2265,8 @@ msgstr "" #: common/models.py:1316 common/models.py:1372 common/models.py:1385 #: common/models.py:1393 common/models.py:1402 common/models.py:1411 -#: common/models.py:1613 common/models.py:1635 common/models.py:1750 -#: common/models.py:2061 +#: common/models.py:1619 common/models.py:1641 common/models.py:1756 +#: common/models.py:2067 msgid "days" msgstr "" @@ -2402,1209 +2407,1218 @@ msgid "Enable revision field for Part" msgstr "" #: common/models.py:1440 -msgid "IPN Regex" +msgid "Allow Deletion from Assembly" msgstr "" #: common/models.py:1441 +msgid "Allow deletion of parts which are used in an assembly" +msgstr "" + +#: common/models.py:1446 +msgid "IPN Regex" +msgstr "" + +#: common/models.py:1447 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1444 +#: common/models.py:1450 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1445 +#: common/models.py:1451 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1450 +#: common/models.py:1456 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1451 +#: common/models.py:1457 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1456 +#: common/models.py:1462 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1457 +#: common/models.py:1463 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1462 +#: common/models.py:1468 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1463 +#: common/models.py:1469 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1468 +#: common/models.py:1474 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1469 +#: common/models.py:1475 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1474 +#: common/models.py:1480 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1475 +#: common/models.py:1481 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1480 part/admin.py:108 part/models.py:3772 -#: report/models.py:182 stock/serializers.py:99 +#: common/models.py:1486 part/admin.py:108 part/models.py:3815 +#: report/models.py:294 report/models.py:361 report/serializers.py:90 +#: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:767 msgid "Template" msgstr "" -#: common/models.py:1481 +#: common/models.py:1487 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1486 part/admin.py:91 part/admin.py:431 part/models.py:1016 +#: common/models.py:1492 part/admin.py:91 part/admin.py:433 part/models.py:1059 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "" -#: common/models.py:1487 +#: common/models.py:1493 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1492 part/admin.py:95 part/models.py:1022 +#: common/models.py:1498 part/admin.py:95 part/models.py:1065 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "" -#: common/models.py:1493 +#: common/models.py:1499 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1498 part/admin.py:100 part/models.py:1034 +#: common/models.py:1504 part/admin.py:100 part/models.py:1077 msgid "Purchaseable" msgstr "" -#: common/models.py:1499 +#: common/models.py:1505 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1504 part/admin.py:104 part/models.py:1040 +#: common/models.py:1510 part/admin.py:104 part/models.py:1083 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "" -#: common/models.py:1505 +#: common/models.py:1511 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1510 part/admin.py:113 part/models.py:1028 +#: common/models.py:1516 part/admin.py:113 part/models.py:1071 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "" -#: common/models.py:1511 +#: common/models.py:1517 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1516 part/admin.py:117 part/models.py:1050 +#: common/models.py:1522 part/admin.py:117 part/models.py:1093 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "" -#: common/models.py:1517 +#: common/models.py:1523 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1522 +#: common/models.py:1528 msgid "Show Import in Views" msgstr "" -#: common/models.py:1523 +#: common/models.py:1529 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1528 +#: common/models.py:1534 msgid "Show related parts" msgstr "" -#: common/models.py:1529 +#: common/models.py:1535 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1534 +#: common/models.py:1540 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1535 +#: common/models.py:1541 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1540 templates/js/translated/part.js:107 +#: common/models.py:1546 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1542 +#: common/models.py:1548 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1548 +#: common/models.py:1554 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1549 +#: common/models.py:1555 msgid "Format to display the part name" msgstr "" -#: common/models.py:1555 +#: common/models.py:1561 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1556 +#: common/models.py:1562 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1560 +#: common/models.py:1566 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1562 +#: common/models.py:1568 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1568 +#: common/models.py:1574 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1570 +#: common/models.py:1576 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1576 +#: common/models.py:1582 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1578 +#: common/models.py:1584 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1584 +#: common/models.py:1590 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1586 +#: common/models.py:1592 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1592 +#: common/models.py:1598 msgid "Purchase History Override" msgstr "" -#: common/models.py:1594 +#: common/models.py:1600 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1600 +#: common/models.py:1606 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1602 +#: common/models.py:1608 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1608 +#: common/models.py:1614 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1610 +#: common/models.py:1616 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1617 +#: common/models.py:1623 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1618 +#: common/models.py:1624 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1623 +#: common/models.py:1629 msgid "Active Variants Only" msgstr "" -#: common/models.py:1625 +#: common/models.py:1631 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1631 +#: common/models.py:1637 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1633 +#: common/models.py:1639 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1640 +#: common/models.py:1646 msgid "Internal Prices" msgstr "" -#: common/models.py:1641 +#: common/models.py:1647 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1646 +#: common/models.py:1652 msgid "Internal Price Override" msgstr "" -#: common/models.py:1648 +#: common/models.py:1654 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1654 +#: common/models.py:1660 msgid "Enable label printing" msgstr "" -#: common/models.py:1655 +#: common/models.py:1661 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1660 +#: common/models.py:1666 msgid "Label Image DPI" msgstr "" -#: common/models.py:1662 +#: common/models.py:1668 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1668 +#: common/models.py:1674 msgid "Enable Reports" msgstr "" -#: common/models.py:1669 +#: common/models.py:1675 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1674 templates/stats.html:25 +#: common/models.py:1680 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1675 +#: common/models.py:1681 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1680 +#: common/models.py:1686 msgid "Log Report Errors" msgstr "" -#: common/models.py:1681 +#: common/models.py:1687 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1686 plugin/builtin/labels/label_sheet.py:28 -#: report/models.py:203 +#: common/models.py:1692 plugin/builtin/labels/label_sheet.py:28 +#: report/models.py:302 msgid "Page Size" msgstr "" -#: common/models.py:1687 +#: common/models.py:1693 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1692 +#: common/models.py:1698 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1693 +#: common/models.py:1699 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1698 +#: common/models.py:1704 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1700 +#: common/models.py:1706 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1706 +#: common/models.py:1712 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1707 +#: common/models.py:1713 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1712 +#: common/models.py:1718 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1713 +#: common/models.py:1719 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1718 +#: common/models.py:1724 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1720 +#: common/models.py:1726 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1726 +#: common/models.py:1732 msgid "Batch Code Template" msgstr "" -#: common/models.py:1728 +#: common/models.py:1734 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1733 +#: common/models.py:1739 msgid "Stock Expiry" msgstr "" -#: common/models.py:1734 +#: common/models.py:1740 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1739 +#: common/models.py:1745 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1740 +#: common/models.py:1746 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1745 +#: common/models.py:1751 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1747 +#: common/models.py:1753 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1754 +#: common/models.py:1760 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1755 +#: common/models.py:1761 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1760 +#: common/models.py:1766 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1761 +#: common/models.py:1767 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1766 +#: common/models.py:1772 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1767 +#: common/models.py:1773 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1771 +#: common/models.py:1777 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1772 +#: common/models.py:1778 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1777 +#: common/models.py:1783 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1779 +#: common/models.py:1785 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1785 +#: common/models.py:1791 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1787 +#: common/models.py:1793 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1793 +#: common/models.py:1799 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1795 +#: common/models.py:1801 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1801 common/models.py:1829 common/models.py:1851 -#: common/models.py:1879 +#: common/models.py:1807 common/models.py:1835 common/models.py:1857 +#: common/models.py:1885 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1802 common/models.py:1830 common/models.py:1852 -#: common/models.py:1880 +#: common/models.py:1808 common/models.py:1836 common/models.py:1858 +#: common/models.py:1886 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1807 +#: common/models.py:1813 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1809 +#: common/models.py:1815 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1815 +#: common/models.py:1821 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1816 +#: common/models.py:1822 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1821 +#: common/models.py:1827 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1823 +#: common/models.py:1829 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1835 +#: common/models.py:1841 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1837 +#: common/models.py:1843 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1843 +#: common/models.py:1849 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1845 +#: common/models.py:1851 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1857 +#: common/models.py:1863 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1858 +#: common/models.py:1864 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1863 +#: common/models.py:1869 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1865 +#: common/models.py:1871 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1871 +#: common/models.py:1877 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1873 +#: common/models.py:1879 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1885 +#: common/models.py:1891 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1887 +#: common/models.py:1893 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1893 +#: common/models.py:1899 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1895 +#: common/models.py:1901 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1902 +#: common/models.py:1908 msgid "Enable password forgot" msgstr "" -#: common/models.py:1903 +#: common/models.py:1909 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1908 +#: common/models.py:1914 msgid "Enable registration" msgstr "" -#: common/models.py:1909 +#: common/models.py:1915 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1914 +#: common/models.py:1920 msgid "Enable SSO" msgstr "" -#: common/models.py:1915 +#: common/models.py:1921 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1920 +#: common/models.py:1926 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1922 +#: common/models.py:1928 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1928 +#: common/models.py:1934 msgid "Email required" msgstr "" -#: common/models.py:1929 +#: common/models.py:1935 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1934 +#: common/models.py:1940 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1936 +#: common/models.py:1942 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1942 +#: common/models.py:1948 msgid "Mail twice" msgstr "" -#: common/models.py:1943 +#: common/models.py:1949 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1948 +#: common/models.py:1954 msgid "Password twice" msgstr "" -#: common/models.py:1949 +#: common/models.py:1955 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1954 +#: common/models.py:1960 msgid "Allowed domains" msgstr "" -#: common/models.py:1956 +#: common/models.py:1962 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1962 +#: common/models.py:1968 msgid "Group on signup" msgstr "" -#: common/models.py:1963 +#: common/models.py:1969 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1968 +#: common/models.py:1974 msgid "Enforce MFA" msgstr "" -#: common/models.py:1969 +#: common/models.py:1975 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1974 +#: common/models.py:1980 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1976 +#: common/models.py:1982 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1984 +#: common/models.py:1990 msgid "Check for plugin updates" msgstr "" -#: common/models.py:1985 +#: common/models.py:1991 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:1991 +#: common/models.py:1997 msgid "Enable URL integration" msgstr "" -#: common/models.py:1992 +#: common/models.py:1998 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1998 +#: common/models.py:2004 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1999 +#: common/models.py:2005 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2005 +#: common/models.py:2011 msgid "Enable app integration" msgstr "" -#: common/models.py:2006 +#: common/models.py:2012 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2012 +#: common/models.py:2018 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2013 +#: common/models.py:2019 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2019 +#: common/models.py:2025 msgid "Enable event integration" msgstr "" -#: common/models.py:2020 +#: common/models.py:2026 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2026 +#: common/models.py:2032 msgid "Enable project codes" msgstr "" -#: common/models.py:2027 +#: common/models.py:2033 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2032 +#: common/models.py:2038 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2034 +#: common/models.py:2040 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2040 +#: common/models.py:2046 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2042 +#: common/models.py:2048 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2048 +#: common/models.py:2054 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2050 +#: common/models.py:2056 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2056 +#: common/models.py:2062 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2058 +#: common/models.py:2064 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2065 +#: common/models.py:2071 msgid "Display Users full names" msgstr "" -#: common/models.py:2066 +#: common/models.py:2072 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2071 +#: common/models.py:2077 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2072 +#: common/models.py:2078 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2084 common/models.py:2494 +#: common/models.py:2090 common/models.py:2500 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2127 +#: common/models.py:2133 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2129 +#: common/models.py:2135 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2135 +#: common/models.py:2141 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2136 +#: common/models.py:2142 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2141 +#: common/models.py:2147 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2142 +#: common/models.py:2148 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2147 +#: common/models.py:2153 msgid "Show latest parts" msgstr "" -#: common/models.py:2148 +#: common/models.py:2154 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2153 +#: common/models.py:2159 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2154 +#: common/models.py:2160 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2159 +#: common/models.py:2165 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2160 +#: common/models.py:2166 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2165 +#: common/models.py:2171 msgid "Show low stock" msgstr "" -#: common/models.py:2166 +#: common/models.py:2172 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2171 +#: common/models.py:2177 msgid "Show depleted stock" msgstr "" -#: common/models.py:2172 +#: common/models.py:2178 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2177 +#: common/models.py:2183 msgid "Show needed stock" msgstr "" -#: common/models.py:2178 +#: common/models.py:2184 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2183 +#: common/models.py:2189 msgid "Show expired stock" msgstr "" -#: common/models.py:2184 +#: common/models.py:2190 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2189 +#: common/models.py:2195 msgid "Show stale stock" msgstr "" -#: common/models.py:2190 +#: common/models.py:2196 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2195 +#: common/models.py:2201 msgid "Show pending builds" msgstr "" -#: common/models.py:2196 +#: common/models.py:2202 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2201 +#: common/models.py:2207 msgid "Show overdue builds" msgstr "" -#: common/models.py:2202 +#: common/models.py:2208 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2207 +#: common/models.py:2213 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2208 +#: common/models.py:2214 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2213 +#: common/models.py:2219 msgid "Show overdue POs" msgstr "" -#: common/models.py:2214 +#: common/models.py:2220 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2219 +#: common/models.py:2225 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2220 +#: common/models.py:2226 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2225 +#: common/models.py:2231 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2226 +#: common/models.py:2232 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2231 +#: common/models.py:2237 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2232 +#: common/models.py:2238 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2237 +#: common/models.py:2243 msgid "Show News" msgstr "" -#: common/models.py:2238 +#: common/models.py:2244 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2243 +#: common/models.py:2249 msgid "Inline label display" msgstr "" -#: common/models.py:2245 +#: common/models.py:2251 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2251 +#: common/models.py:2257 msgid "Default label printer" msgstr "" -#: common/models.py:2253 +#: common/models.py:2259 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2259 +#: common/models.py:2265 msgid "Inline report display" msgstr "" -#: common/models.py:2261 +#: common/models.py:2267 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2267 +#: common/models.py:2273 msgid "Search Parts" msgstr "" -#: common/models.py:2268 +#: common/models.py:2274 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2273 +#: common/models.py:2279 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2274 +#: common/models.py:2280 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2279 +#: common/models.py:2285 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2280 +#: common/models.py:2286 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2285 +#: common/models.py:2291 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2286 +#: common/models.py:2292 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2291 +#: common/models.py:2297 msgid "Search Categories" msgstr "" -#: common/models.py:2292 +#: common/models.py:2298 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2297 +#: common/models.py:2303 msgid "Search Stock" msgstr "" -#: common/models.py:2298 +#: common/models.py:2304 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2303 +#: common/models.py:2309 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2305 +#: common/models.py:2311 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2311 +#: common/models.py:2317 msgid "Search Locations" msgstr "" -#: common/models.py:2312 +#: common/models.py:2318 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2317 +#: common/models.py:2323 msgid "Search Companies" msgstr "" -#: common/models.py:2318 +#: common/models.py:2324 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2323 +#: common/models.py:2329 msgid "Search Build Orders" msgstr "" -#: common/models.py:2324 +#: common/models.py:2330 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2329 +#: common/models.py:2335 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2330 +#: common/models.py:2336 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2335 +#: common/models.py:2341 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2337 +#: common/models.py:2343 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2343 +#: common/models.py:2349 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2344 +#: common/models.py:2350 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2349 +#: common/models.py:2355 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2351 +#: common/models.py:2357 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2357 +#: common/models.py:2363 msgid "Search Return Orders" msgstr "" -#: common/models.py:2358 +#: common/models.py:2364 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2363 +#: common/models.py:2369 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2365 +#: common/models.py:2371 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2371 +#: common/models.py:2377 msgid "Search Preview Results" msgstr "" -#: common/models.py:2373 +#: common/models.py:2379 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2379 +#: common/models.py:2385 msgid "Regex Search" msgstr "" -#: common/models.py:2380 +#: common/models.py:2386 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2385 +#: common/models.py:2391 msgid "Whole Word Search" msgstr "" -#: common/models.py:2386 +#: common/models.py:2392 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2391 +#: common/models.py:2397 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2392 +#: common/models.py:2398 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2397 +#: common/models.py:2403 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2398 +#: common/models.py:2404 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2403 +#: common/models.py:2409 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2404 +#: common/models.py:2410 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2409 +#: common/models.py:2415 msgid "Date Format" msgstr "" -#: common/models.py:2410 +#: common/models.py:2416 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2423 part/templates/part/detail.html:41 +#: common/models.py:2429 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2424 +#: common/models.py:2430 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2429 part/templates/part/detail.html:62 +#: common/models.py:2435 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2431 +#: common/models.py:2437 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2437 +#: common/models.py:2443 msgid "Table String Length" msgstr "" -#: common/models.py:2439 +#: common/models.py:2445 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2445 +#: common/models.py:2451 msgid "Default part label template" msgstr "" -#: common/models.py:2446 +#: common/models.py:2452 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2451 +#: common/models.py:2457 msgid "Default stock item template" msgstr "" -#: common/models.py:2453 +#: common/models.py:2459 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2459 +#: common/models.py:2465 msgid "Default stock location label template" msgstr "" -#: common/models.py:2461 +#: common/models.py:2467 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2467 +#: common/models.py:2473 msgid "Default build line label template" msgstr "" -#: common/models.py:2469 +#: common/models.py:2475 msgid "The build line label template to be automatically selected" msgstr "" -#: common/models.py:2475 +#: common/models.py:2481 msgid "Receive error reports" msgstr "" -#: common/models.py:2476 +#: common/models.py:2482 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2481 +#: common/models.py:2487 msgid "Last used printing machines" msgstr "" -#: common/models.py:2482 +#: common/models.py:2488 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2525 +#: common/models.py:2531 msgid "Price break quantity" msgstr "" -#: common/models.py:2532 company/serializers.py:496 order/admin.py:42 -#: order/models.py:1333 order/models.py:2243 +#: common/models.py:2538 company/serializers.py:496 order/admin.py:42 +#: order/models.py:1373 order/models.py:2292 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 -#: templates/js/translated/return_order.js:741 +#: templates/js/translated/return_order.js:740 msgid "Price" msgstr "" -#: common/models.py:2533 +#: common/models.py:2539 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2704 common/models.py:2889 +#: common/models.py:2710 common/models.py:2895 msgid "Endpoint" msgstr "" -#: common/models.py:2705 +#: common/models.py:2711 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2715 +#: common/models.py:2721 msgid "Name for this webhook" msgstr "" -#: common/models.py:2719 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1045 -#: plugin/models.py:56 templates/js/translated/company.js:523 +#: common/models.py:2725 company/models.py:160 company/models.py:814 +#: machine/models.py:39 part/admin.py:88 part/models.py:1088 +#: plugin/models.py:65 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:492 @@ -3614,135 +3628,135 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2719 +#: common/models.py:2725 msgid "Is this webhook active" msgstr "" -#: common/models.py:2735 users/models.py:159 +#: common/models.py:2741 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2736 +#: common/models.py:2742 msgid "Token for access" msgstr "" -#: common/models.py:2744 +#: common/models.py:2750 msgid "Secret" msgstr "" -#: common/models.py:2745 +#: common/models.py:2751 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2853 +#: common/models.py:2859 msgid "Message ID" msgstr "" -#: common/models.py:2854 +#: common/models.py:2860 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2862 +#: common/models.py:2868 msgid "Host" msgstr "" -#: common/models.py:2863 +#: common/models.py:2869 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2871 +#: common/models.py:2877 msgid "Header" msgstr "" -#: common/models.py:2872 +#: common/models.py:2878 msgid "Header of this message" msgstr "" -#: common/models.py:2879 +#: common/models.py:2885 msgid "Body" msgstr "" -#: common/models.py:2880 +#: common/models.py:2886 msgid "Body of this message" msgstr "" -#: common/models.py:2890 +#: common/models.py:2896 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2895 +#: common/models.py:2901 msgid "Worked on" msgstr "" -#: common/models.py:2896 +#: common/models.py:2902 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3022 +#: common/models.py:3028 msgid "Id" msgstr "" -#: common/models.py:3024 templates/js/translated/company.js:965 +#: common/models.py:3030 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3028 templates/js/translated/news.js:60 +#: common/models.py:3034 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3030 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3036 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3032 templates/js/translated/news.js:52 +#: common/models.py:3038 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3035 +#: common/models.py:3041 msgid "Read" msgstr "" -#: common/models.py:3035 +#: common/models.py:3041 msgid "Was this news item read?" msgstr "" -#: common/models.py:3052 company/models.py:156 part/models.py:929 +#: common/models.py:3058 company/models.py:156 part/models.py:972 #: 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 +#: report/templates/report/inventree_return_order_report.html:35 #: stock/templates/stock/item_base.html:133 templates/503.html:31 #: templates/hover_image.html:7 templates/hover_image.html:9 #: templates/modals.html:6 msgid "Image" msgstr "" -#: common/models.py:3052 +#: common/models.py:3058 msgid "Image file" msgstr "" -#: common/models.py:3094 +#: common/models.py:3100 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3113 +#: common/models.py:3119 msgid "Unit name" msgstr "" -#: common/models.py:3120 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3126 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3121 +#: common/models.py:3127 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3128 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3134 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3129 +#: common/models.py:3135 msgid "Unit definition" msgstr "" @@ -3929,9 +3943,9 @@ msgid "Contact email address" msgstr "" #: company/models.py:139 company/templates/company/company_base.html:145 -#: order/models.py:331 order/templates/order/order_base.html:203 +#: order/models.py:344 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 -#: order/templates/order/sales_order_base.html:214 +#: order/templates/order/sales_order_base.html:218 msgid "Contact" msgstr "" @@ -3977,7 +3991,7 @@ msgstr "" #: company/models.py:273 company/models.py:382 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:776 +#: company/templates/company/company_base.html:12 stock/api.py:810 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "" @@ -4069,8 +4083,8 @@ msgstr "" msgid "Link to address information (external)" msgstr "" -#: company/models.py:489 company/models.py:792 stock/models.py:751 -#: stock/serializers.py:266 stock/templates/stock/item_base.html:142 +#: company/models.py:489 company/models.py:792 stock/models.py:772 +#: stock/serializers.py:395 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -4081,7 +4095,7 @@ msgstr "" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:515 +#: company/templates/company/supplier_part.html:145 part/serializers.py:530 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4096,13 +4110,13 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:525 +#: company/templates/company/supplier_part.html:153 part/serializers.py:540 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800 -#: templates/js/translated/purchase_order.js:1852 -#: templates/js/translated/purchase_order.js:2054 +#: templates/js/translated/purchase_order.js:1851 +#: templates/js/translated/purchase_order.js:2053 msgid "MPN" msgstr "" @@ -4129,9 +4143,8 @@ msgstr "" msgid "Parameter name" msgstr "" -#: company/models.py:621 -#: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2448 templates/js/translated/company.js:1166 +#: company/models.py:621 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2425 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492 #: templates/js/translated/stock.js:1522 msgid "Value" @@ -4142,10 +4155,10 @@ msgid "Parameter value" msgstr "" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1009 part/models.py:3623 +#: part/admin.py:57 part/models.py:1052 part/models.py:3666 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 -#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370 +#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 msgid "Units" msgstr "" @@ -4166,9 +4179,9 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:465 +#: company/templates/company/supplier_part.html:129 order/models.py:487 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:499 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:514 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4176,7 +4189,7 @@ msgstr "" #: templates/js/translated/company.js:511 #: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1690 +#: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/table_filters.js:804 msgid "Supplier" msgstr "" @@ -4185,7 +4198,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:809 part/serializers.py:510 +#: company/models.py:809 part/serializers.py:525 msgid "Supplier stock keeping unit" msgstr "" @@ -4206,29 +4219,29 @@ msgid "Supplier part description" msgstr "" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:418 part/models.py:4070 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4113 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 -#: report/templates/report/inventree_slr_report.html:105 -#: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:579 +#: report/templates/report/inventree_purchase_order_report.html:32 +#: report/templates/report/inventree_return_order_report.html:27 +#: report/templates/report/inventree_sales_order_report.html:32 +#: report/templates/report/inventree_stock_location_report.html:105 +#: stock/serializers.py:708 msgid "Note" msgstr "" -#: company/models.py:857 part/models.py:1967 +#: company/models.py:857 part/models.py:2010 msgid "base cost" msgstr "" -#: company/models.py:858 part/models.py:1968 +#: company/models.py:858 part/models.py:2011 msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:782 stock/serializers.py:1350 +#: stock/admin.py:224 stock/models.py:803 stock/serializers.py:1479 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 -#: templates/js/translated/stock.js:2426 +#: templates/js/translated/stock.js:2424 msgid "Packaging" msgstr "" @@ -4241,8 +4254,8 @@ msgstr "" #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 -#: templates/js/translated/purchase_order.js:2085 -#: templates/js/translated/purchase_order.js:2102 +#: templates/js/translated/purchase_order.js:2084 +#: templates/js/translated/purchase_order.js:2101 msgid "Pack Quantity" msgstr "" @@ -4250,7 +4263,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:892 part/models.py:1974 +#: company/models.py:892 part/models.py:2017 msgid "multiple" msgstr "" @@ -4285,7 +4298,7 @@ msgstr "" #: part/templates/part/part_base.html:146 #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 -#: templates/js/translated/model_renderers.js:306 +#: templates/js/translated/model_renderers.js:312 #: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 msgid "Inactive" msgstr "" @@ -4321,11 +4334,11 @@ msgstr "" #: company/templates/company/manufacturer_part.html:51 #: company/templates/company/supplier_part.html:83 #: part/templates/part/part_thumb.html:20 -#: report/templates/report/inventree_build_order_base.html:98 -#: report/templates/report/inventree_po_report_base.html:40 -#: report/templates/report/inventree_so_report_base.html:40 -#: report/templates/report/inventree_test_report_base.html:84 -#: report/templates/report/inventree_test_report_base.html:163 +#: report/templates/report/inventree_build_order_report.html:98 +#: report/templates/report/inventree_purchase_order_report.html:40 +#: report/templates/report/inventree_sales_order_report.html:40 +#: report/templates/report/inventree_test_report.html:84 +#: report/templates/report/inventree_test_report.html:163 msgid "Part image" msgstr "" @@ -4344,16 +4357,16 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:92 order/models.py:910 -#: order/models.py:2010 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:144 stock/models.py:804 -#: stock/models.py:805 stock/serializers.py:1100 +#: company/templates/company/company_base.html:92 order/models.py:941 +#: order/models.py:2059 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:148 stock/models.py:825 +#: stock/models.py:826 stock/serializers.py:1229 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 -#: templates/js/translated/return_order.js:296 -#: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2962 +#: templates/js/translated/return_order.js:295 +#: templates/js/translated/sales_order.js:820 +#: templates/js/translated/stock.js:2959 #: templates/js/translated/table_filters.js:808 msgid "Customer" msgstr "" @@ -4362,10 +4375,10 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:124 order/models.py:341 +#: company/templates/company/company_base.html:124 order/models.py:354 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 -#: order/templates/order/sales_order_base.html:221 +#: order/templates/order/sales_order_base.html:225 msgid "Address" msgstr "" @@ -4374,7 +4387,7 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:211 -#: part/templates/part/part_base.html:528 +#: part/templates/part/part_base.html:527 msgid "Remove Image" msgstr "" @@ -4383,19 +4396,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:214 -#: part/templates/part/part_base.html:531 +#: part/templates/part/part_base.html:530 #: templates/InvenTree/settings/user.html:88 #: templates/InvenTree/settings/user_sso.html:43 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:243 -#: part/templates/part/part_base.html:560 +#: part/templates/part/part_base.html:559 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:258 -#: part/templates/part/part_base.html:614 +#: part/templates/part/part_base.html:613 msgid "Download Image" msgstr "" @@ -4558,7 +4571,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:821 +#: part/admin.py:122 part/serializers.py:836 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4609,10 +4622,10 @@ msgstr "" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:452 -#: stock/models.py:762 stock/templates/stock/item_base.html:233 +#: stock/models.py:783 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 -#: templates/js/translated/stock.js:2282 +#: templates/js/translated/stock.js:2280 msgid "Supplier Part" msgstr "" @@ -4658,11 +4671,11 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:509 +#: part/bom.py:311 part/serializers.py:524 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1851 -#: templates/js/translated/purchase_order.js:2029 +#: templates/js/translated/purchase_order.js:1850 +#: templates/js/translated/purchase_order.js:2028 msgid "SKU" msgstr "" @@ -4671,12 +4684,12 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:209 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:199 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:206 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:200 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:207 #: templates/js/translated/stock.js:537 msgid "New Stock Item" msgstr "" @@ -4708,16 +4721,16 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:820 part/stocktake.py:223 +#: part/serializers.py:835 part/stocktake.py:223 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:787 stock/serializers.py:951 +#: stock/serializers.py:916 stock/serializers.py:1080 #: stock/templates/stock/location.html:170 -#: stock/templates/stock/location.html:184 -#: stock/templates/stock/location.html:196 +#: stock/templates/stock/location.html:191 +#: stock/templates/stock/location.html:203 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2769 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 #: users/models.py:206 msgid "Stock Items" msgstr "" @@ -4751,126 +4764,48 @@ msgstr "" msgid "New Company" msgstr "" -#: label/api.py:247 -msgid "Error printing label" -msgstr "" - -#: label/models.py:120 -msgid "Label name" -msgstr "" - -#: label/models.py:128 -msgid "Label description" -msgstr "" - -#: label/models.py:136 -msgid "Label" -msgstr "" - -#: label/models.py:137 -msgid "Label template file" -msgstr "" - -#: label/models.py:143 part/models.py:3494 report/models.py:324 -#: templates/js/translated/part.js:2900 -#: templates/js/translated/table_filters.js:481 -msgid "Enabled" -msgstr "" - -#: label/models.py:144 -msgid "Label template is enabled" -msgstr "" - -#: label/models.py:149 -msgid "Width [mm]" -msgstr "" - -#: label/models.py:150 -msgid "Label width, specified in mm" -msgstr "" - -#: label/models.py:156 -msgid "Height [mm]" -msgstr "" - -#: label/models.py:157 -msgid "Label height, specified in mm" -msgstr "" - -#: label/models.py:163 report/models.py:317 -msgid "Filename Pattern" -msgstr "" - -#: label/models.py:164 -msgid "Pattern for generating label filenames" -msgstr "" - -#: label/models.py:313 label/models.py:352 label/models.py:377 -#: label/models.py:412 -msgid "Query filters (comma-separated list of key=value pairs)" -msgstr "" - -#: label/models.py:314 label/models.py:353 label/models.py:378 -#: label/models.py:413 report/models.py:345 report/models.py:496 -#: report/models.py:532 report/models.py:568 report/models.py:750 -msgid "Filters" -msgstr "" - -#: label/templates/label/part/part_label.html:31 -#: label/templates/label/stockitem/qr.html:21 -#: label/templates/label/stocklocation/qr.html:20 -#: templates/allauth_2fa/setup.html:18 -msgid "QR Code" -msgstr "" - -#: label/templates/label/part/part_label_code128.html:31 -#: label/templates/label/stocklocation/qr_and_text.html:31 -#: templates/qr_code.html:7 -msgid "QR code" -msgstr "" - -#: machine/machine_types/label_printer.py:217 +#: machine/machine_types/label_printer.py:218 msgid "Copies" msgstr "" -#: machine/machine_types/label_printer.py:218 +#: machine/machine_types/label_printer.py:219 msgid "Number of copies to print for each label" msgstr "" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:234 msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:234 order/api.py:1515 -#: templates/js/translated/sales_order.js:1042 +#: machine/machine_types/label_printer.py:235 order/api.py:1515 +#: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "" -#: machine/machine_types/label_printer.py:235 +#: machine/machine_types/label_printer.py:236 msgid "Printing" msgstr "" -#: machine/machine_types/label_printer.py:236 +#: machine/machine_types/label_printer.py:237 msgid "No media" msgstr "" -#: machine/machine_types/label_printer.py:237 +#: machine/machine_types/label_printer.py:238 msgid "Disconnected" msgstr "" -#: machine/machine_types/label_printer.py:244 +#: machine/machine_types/label_printer.py:245 msgid "Label Printer" msgstr "" -#: machine/machine_types/label_printer.py:245 +#: machine/machine_types/label_printer.py:246 msgid "Directly print labels for various items." msgstr "" -#: machine/machine_types/label_printer.py:251 +#: machine/machine_types/label_printer.py:252 msgid "Printer Location" msgstr "" -#: machine/machine_types/label_printer.py:252 +#: machine/machine_types/label_printer.py:253 msgid "Scope the printer to a specific location" msgstr "" @@ -4930,19 +4865,19 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:89 -#: report/templates/report/inventree_po_report_base.html:31 -#: report/templates/report/inventree_so_report_base.html:31 +#: order/admin.py:30 order/models.py:90 +#: report/templates/report/inventree_purchase_order_report.html:31 +#: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2126 -#: templates/js/translated/sales_order.js:1847 +#: templates/js/translated/purchase_order.js:2125 +#: templates/js/translated/sales_order.js:1883 msgid "Total Price" msgstr "" #: order/api.py:161 order/serializers.py:91 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 -#: order/templates/order/sales_order_base.html:118 +#: order/templates/order/sales_order_base.html:122 msgid "Order Status" msgstr "" @@ -4955,10 +4890,10 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:437 order/api.py:817 order/models.py:1382 order/models.py:1491 -#: order/models.py:1537 order/models.py:1651 order/models.py:1805 -#: order/models.py:2209 order/models.py:2260 -#: templates/js/translated/sales_order.js:1488 +#: order/api.py:437 order/api.py:817 order/models.py:1422 order/models.py:1531 +#: order/models.py:1577 order/models.py:1691 order/models.py:1845 +#: order/models.py:2258 order/models.py:2309 +#: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" @@ -4970,402 +4905,398 @@ msgstr "" msgid "Order Pending" msgstr "" -#: order/api.py:1509 order/models.py:1383 order/models.py:1492 -#: order/templates/order/order_base.html:9 +#: order/api.py:1509 order/models.py:381 order/models.py:1423 +#: order/models.py:1532 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 -#: report/templates/report/inventree_po_report_base.html:14 -#: stock/templates/stock/item_base.html:176 +#: report/templates/report/inventree_purchase_order_report.html:14 +#: stock/serializers.py:119 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 -#: templates/js/translated/purchase_order.js:1674 -#: templates/js/translated/stock.js:2262 templates/js/translated/stock.js:2910 +#: templates/js/translated/purchase_order.js:1673 +#: templates/js/translated/stock.js:2260 templates/js/translated/stock.js:2907 msgid "Purchase Order" msgstr "" -#: order/api.py:1513 order/models.py:2210 order/models.py:2261 -#: order/templates/order/return_order_base.html:9 +#: order/api.py:1513 order/models.py:2008 order/models.py:2259 +#: order/models.py:2310 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:281 -#: templates/js/translated/stock.js:2944 +#: report/templates/report/inventree_return_order_report.html:13 +#: templates/js/translated/return_order.js:280 +#: templates/js/translated/stock.js:2941 msgid "Return Order" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:96 order/serializers.py:71 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:99 order/serializers.py:72 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:246 +#: order/models.py:248 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:278 +#: order/models.py:291 msgid "Order description (optional)" msgstr "" -#: order/models.py:287 +#: order/models.py:300 msgid "Select project code for this order" msgstr "" -#: order/models.py:291 order/models.py:1288 order/models.py:1704 +#: order/models.py:304 order/models.py:1328 order/models.py:1744 msgid "Link to external page" msgstr "" -#: order/models.py:299 +#: order/models.py:312 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:313 +#: order/models.py:326 msgid "Created By" msgstr "" -#: order/models.py:321 +#: order/models.py:334 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:332 +#: order/models.py:345 msgid "Point of contact for this order" msgstr "" -#: order/models.py:342 +#: order/models.py:355 msgid "Company address for this order" msgstr "" -#: order/models.py:443 order/models.py:899 +#: order/models.py:465 order/models.py:930 msgid "Order reference" msgstr "" -#: order/models.py:451 order/models.py:923 +#: order/models.py:473 order/models.py:954 msgid "Purchase order status" msgstr "" -#: order/models.py:466 +#: order/models.py:488 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:477 order/templates/order/order_base.html:148 -#: templates/js/translated/purchase_order.js:1703 +#: order/models.py:499 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1702 msgid "Supplier Reference" msgstr "" -#: order/models.py:478 +#: order/models.py:500 msgid "Supplier order reference code" msgstr "" -#: order/models.py:487 +#: order/models.py:509 msgid "received by" msgstr "" -#: order/models.py:493 order/models.py:2036 +#: order/models.py:515 order/models.py:2085 msgid "Issue Date" msgstr "" -#: order/models.py:494 order/models.py:2037 +#: order/models.py:516 order/models.py:2086 msgid "Date order was issued" msgstr "" -#: order/models.py:501 order/models.py:2044 +#: order/models.py:523 order/models.py:2093 msgid "Date order was completed" msgstr "" -#: order/models.py:545 +#: order/models.py:567 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:739 +#: order/models.py:761 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:911 +#: order/models.py:942 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:934 order/models.py:2029 +#: order/models.py:965 order/models.py:2078 msgid "Customer Reference " msgstr "" -#: order/models.py:935 order/models.py:2030 +#: order/models.py:966 order/models.py:2079 msgid "Customer order reference code" msgstr "" -#: order/models.py:939 order/models.py:1658 -#: templates/js/translated/sales_order.js:843 -#: templates/js/translated/sales_order.js:1024 +#: order/models.py:970 order/models.py:1698 +#: templates/js/translated/sales_order.js:879 +#: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "" -#: order/models.py:948 +#: order/models.py:979 msgid "shipped by" msgstr "" -#: order/models.py:999 -msgid "Order cannot be completed as no parts have been assigned" -msgstr "" - -#: order/models.py:1004 +#: order/models.py:1029 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1008 templates/js/translated/sales_order.js:506 +#: order/models.py:1033 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1013 +#: order/models.py:1038 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1260 +#: order/models.py:1300 msgid "Item quantity" msgstr "" -#: order/models.py:1277 +#: order/models.py:1317 msgid "Line item reference" msgstr "" -#: order/models.py:1284 +#: order/models.py:1324 msgid "Line item notes" msgstr "" -#: order/models.py:1296 +#: order/models.py:1336 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1317 +#: order/models.py:1357 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1323 +#: order/models.py:1363 msgid "Context" msgstr "" -#: order/models.py:1324 +#: order/models.py:1364 msgid "Additional context for this line" msgstr "" -#: order/models.py:1334 +#: order/models.py:1374 msgid "Unit price" msgstr "" -#: order/models.py:1367 +#: order/models.py:1407 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1374 +#: order/models.py:1414 msgid "deleted" msgstr "" -#: order/models.py:1402 +#: order/models.py:1442 msgid "Supplier part" msgstr "" -#: order/models.py:1409 order/templates/order/order_base.html:196 +#: order/models.py:1449 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 #: templates/js/translated/purchase_order.js:1306 -#: templates/js/translated/purchase_order.js:2170 -#: templates/js/translated/return_order.js:764 +#: templates/js/translated/purchase_order.js:2169 +#: templates/js/translated/return_order.js:763 #: templates/js/translated/table_filters.js:120 #: templates/js/translated/table_filters.js:602 msgid "Received" msgstr "" -#: order/models.py:1410 +#: order/models.py:1450 msgid "Number of items received" msgstr "" -#: order/models.py:1418 stock/models.py:923 stock/serializers.py:400 +#: order/models.py:1458 stock/models.py:944 stock/serializers.py:529 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2313 +#: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "" -#: order/models.py:1419 +#: order/models.py:1459 msgid "Unit purchase price" msgstr "" -#: order/models.py:1434 +#: order/models.py:1474 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1525 +#: order/models.py:1565 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1530 +#: order/models.py:1570 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1556 part/templates/part/part_pricing.html:107 +#: order/models.py:1596 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1557 +#: order/models.py:1597 msgid "Unit sale price" msgstr "" -#: order/models.py:1567 +#: order/models.py:1607 msgid "Shipped quantity" msgstr "" -#: order/models.py:1659 +#: order/models.py:1699 msgid "Date of shipment" msgstr "" -#: order/models.py:1665 templates/js/translated/sales_order.js:1036 +#: order/models.py:1705 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1666 +#: order/models.py:1706 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1674 +#: order/models.py:1714 msgid "Checked By" msgstr "" -#: order/models.py:1675 +#: order/models.py:1715 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1682 order/models.py:1895 order/serializers.py:1354 -#: order/serializers.py:1464 templates/js/translated/model_renderers.js:448 +#: order/models.py:1722 order/models.py:1935 order/serializers.py:1354 +#: order/serializers.py:1464 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" -#: order/models.py:1683 +#: order/models.py:1723 msgid "Shipment number" msgstr "" -#: order/models.py:1691 +#: order/models.py:1731 msgid "Tracking Number" msgstr "" -#: order/models.py:1692 +#: order/models.py:1732 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1699 +#: order/models.py:1739 msgid "Invoice Number" msgstr "" -#: order/models.py:1700 +#: order/models.py:1740 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1720 +#: order/models.py:1760 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1723 +#: order/models.py:1763 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1841 order/models.py:1843 +#: order/models.py:1881 order/models.py:1883 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1850 +#: order/models.py:1890 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1853 +#: order/models.py:1893 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1856 +#: order/models.py:1896 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1875 order/serializers.py:1231 +#: order/models.py:1915 order/serializers.py:1231 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1878 +#: order/models.py:1918 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1879 plugin/base/barcodes/api.py:481 +#: order/models.py:1919 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1887 +#: order/models.py:1927 msgid "Line" msgstr "" -#: order/models.py:1896 +#: order/models.py:1936 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1909 order/models.py:2217 -#: templates/js/translated/return_order.js:722 +#: order/models.py:1949 order/models.py:2266 +#: templates/js/translated/return_order.js:721 msgid "Item" msgstr "" -#: order/models.py:1910 +#: order/models.py:1950 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1919 +#: order/models.py:1959 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1999 +#: order/models.py:2048 msgid "Return Order reference" msgstr "" -#: order/models.py:2011 +#: order/models.py:2060 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2023 +#: order/models.py:2072 msgid "Return order status" msgstr "" -#: order/models.py:2202 +#: order/models.py:2251 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2218 +#: order/models.py:2267 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2224 +#: order/models.py:2273 msgid "Received Date" msgstr "" -#: order/models.py:2225 +#: order/models.py:2274 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2236 templates/js/translated/return_order.js:733 +#: order/models.py:2285 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2237 +#: order/models.py:2286 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2244 +#: order/models.py:2293 msgid "Cost associated with return or repair for this line item" msgstr "" #: order/serializers.py:80 order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 -#: report/templates/report/inventree_po_report_base.html:22 -#: report/templates/report/inventree_return_order_report_base.html:19 -#: report/templates/report/inventree_so_report_base.html:22 +#: report/templates/report/inventree_purchase_order_report.html:22 +#: report/templates/report/inventree_return_order_report.html:19 +#: report/templates/report/inventree_sales_order_report.html:22 msgid "Line Items" msgstr "" @@ -5595,7 +5526,7 @@ msgstr "" #: order/templates/order/order_base.html:84 #: order/templates/order/return_order_base.html:87 -#: order/templates/order/sales_order_base.html:93 +#: order/templates/order/sales_order_base.html:97 msgid "Complete Order" msgstr "" @@ -5605,13 +5536,13 @@ msgstr "" #: order/templates/order/order_base.html:106 #: order/templates/order/return_order_base.html:101 -#: order/templates/order/sales_order_base.html:106 +#: order/templates/order/sales_order_base.html:110 msgid "Order Reference" msgstr "" #: order/templates/order/order_base.html:111 #: order/templates/order/return_order_base.html:106 -#: order/templates/order/sales_order_base.html:111 +#: order/templates/order/sales_order_base.html:115 msgid "Order Description" msgstr "" @@ -5620,19 +5551,19 @@ msgid "No suppplier information available" msgstr "" #: order/templates/order/order_base.html:154 -#: order/templates/order/sales_order_base.html:157 +#: order/templates/order/sales_order_base.html:161 msgid "Completed Line Items" msgstr "" #: order/templates/order/order_base.html:160 -#: order/templates/order/sales_order_base.html:163 -#: order/templates/order/sales_order_base.html:173 +#: order/templates/order/sales_order_base.html:167 +#: order/templates/order/sales_order_base.html:177 msgid "Incomplete" msgstr "" #: order/templates/order/order_base.html:179 #: order/templates/order/return_order_base.html:157 -#: report/templates/report/inventree_build_order_base.html:121 +#: report/templates/report/inventree_build_order_report.html:121 msgid "Issued" msgstr "" @@ -5642,15 +5573,15 @@ msgstr "" #: order/templates/order/order_base.html:228 #: order/templates/order/return_order_base.html:199 -#: order/templates/order/sales_order_base.html:239 +#: order/templates/order/sales_order_base.html:243 msgid "Total cost could not be calculated" msgstr "" -#: order/templates/order/order_base.html:318 +#: order/templates/order/order_base.html:314 msgid "Purchase Order QR Code" msgstr "" -#: order/templates/order/order_base.html:330 +#: order/templates/order/order_base.html:326 msgid "Link Barcode to Purchase Order" msgstr "" @@ -5707,8 +5638,8 @@ msgstr "" #: templates/js/translated/build.js:1629 #: templates/js/translated/purchase_order.js:696 #: templates/js/translated/purchase_order.js:1236 -#: templates/js/translated/return_order.js:506 -#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/return_order.js:505 +#: templates/js/translated/sales_order.js:1145 #: templates/js/translated/stock.js:714 templates/js/translated/stock.js:883 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -5762,7 +5693,7 @@ msgstr "" #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 #: templates/js/translated/purchase_order.js:414 -#: templates/js/translated/return_order.js:459 +#: templates/js/translated/return_order.js:458 #: templates/js/translated/sales_order.js:237 msgid "Add Line Item" msgstr "" @@ -5811,30 +5742,30 @@ msgid "Print packing list" msgstr "" #: order/templates/order/return_order_base.html:138 -#: order/templates/order/sales_order_base.html:151 -#: templates/js/translated/return_order.js:309 -#: templates/js/translated/sales_order.js:797 +#: order/templates/order/sales_order_base.html:155 +#: templates/js/translated/return_order.js:308 +#: templates/js/translated/sales_order.js:833 msgid "Customer Reference" msgstr "" #: order/templates/order/return_order_base.html:195 -#: order/templates/order/sales_order_base.html:235 +#: order/templates/order/sales_order_base.html:239 #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1072 -#: templates/js/translated/purchase_order.js:1753 -#: templates/js/translated/return_order.js:381 -#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/purchase_order.js:1752 +#: templates/js/translated/return_order.js:380 +#: templates/js/translated/sales_order.js:891 msgid "Total Cost" msgstr "" -#: order/templates/order/return_order_base.html:263 +#: order/templates/order/return_order_base.html:259 msgid "Return Order QR Code" msgstr "" -#: order/templates/order/return_order_base.html:275 +#: order/templates/order/return_order_base.html:271 msgid "Link Barcode to Return Order" msgstr "" @@ -5852,25 +5783,30 @@ msgid "Ship Items" msgstr "" #: order/templates/order/sales_order_base.html:92 -#: templates/js/translated/sales_order.js:484 +#: order/templates/order/sales_order_base.html:93 +msgid "Mark As Shipped" +msgstr "" + +#: order/templates/order/sales_order_base.html:96 +#: templates/js/translated/sales_order.js:536 msgid "Complete Sales Order" msgstr "" -#: order/templates/order/sales_order_base.html:131 +#: order/templates/order/sales_order_base.html:135 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:169 +#: order/templates/order/sales_order_base.html:173 #: order/templates/order/sales_order_detail.html:99 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "" -#: order/templates/order/sales_order_base.html:312 +#: order/templates/order/sales_order_base.html:321 msgid "Sales Order QR Code" msgstr "" -#: order/templates/order/sales_order_base.html:324 +#: order/templates/order/sales_order_base.html:333 msgid "Link Barcode to Sales Order" msgstr "" @@ -5914,12 +5850,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:404 part/models.py:3921 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:406 part/models.py:3964 part/stocktake.py:218 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:411 part/models.py:3922 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:413 part/models.py:3965 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -5928,20 +5864,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:904 part/templates/part/part_base.html:269 -#: report/templates/report/inventree_slr_report.html:103 -#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2341 -#: templates/js/translated/stock.js:2038 +#: part/admin.py:48 part/models.py:947 part/templates/part/part_base.html:269 +#: report/templates/report/inventree_stock_location_report.html:103 +#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 +#: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:913 part/templates/part/part_base.html:277 -#: report/models.py:195 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2347 +#: part/admin.py:50 part/models.py:956 part/templates/part/part_base.html:277 +#: report/models.py:161 templates/js/translated/part.js:1231 +#: templates/js/translated/part.js:2346 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:317 part/models.py:886 +#: part/admin.py:53 part/admin.py:319 part/models.py:929 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5950,15 +5886,15 @@ msgstr "" msgid "Part Image" msgstr "" -#: part/admin.py:63 part/admin.py:300 part/stocktake.py:221 +#: part/admin.py:63 part/admin.py:302 part/stocktake.py:221 msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:302 part/stocktake.py:222 +#: part/admin.py:67 part/admin.py:304 part/stocktake.py:222 msgid "Category Name" msgstr "" -#: part/admin.py:71 part/admin.py:314 +#: part/admin.py:71 part/admin.py:316 msgid "Default Location ID" msgstr "" @@ -5966,11 +5902,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:872 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:915 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1000 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1043 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5983,160 +5919,164 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3080 part/models.py:3094 +#: part/admin.py:155 part/models.py:3123 part/models.py:3137 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3087 part/models.py:3101 +#: part/admin.py:158 part/models.py:3130 part/models.py:3144 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" -#: part/admin.py:306 part/admin.py:393 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:211 msgid "Parent ID" msgstr "" -#: part/admin.py:310 part/admin.py:400 stock/admin.py:62 +#: part/admin.py:312 part/admin.py:402 stock/admin.py:62 msgid "Parent Name" msgstr "" -#: part/admin.py:318 part/templates/part/category.html:88 +#: part/admin.py:320 part/templates/part/category.html:88 #: part/templates/part/category.html:101 msgid "Category Path" msgstr "" -#: part/admin.py:323 part/models.py:391 part/serializers.py:117 +#: part/admin.py:325 part/models.py:393 part/serializers.py:117 #: part/serializers.py:272 part/serializers.py:391 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2803 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "" -#: part/admin.py:384 +#: part/admin.py:386 msgid "BOM Level" msgstr "" -#: part/admin.py:387 +#: part/admin.py:389 msgid "BOM Item ID" msgstr "" -#: part/admin.py:397 +#: part/admin.py:399 msgid "Parent IPN" msgstr "" -#: part/admin.py:408 part/models.py:3923 +#: part/admin.py:410 part/models.py:3966 msgid "Part IPN" msgstr "" -#: part/admin.py:421 part/serializers.py:1261 +#: part/admin.py:423 part/serializers.py:1276 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:426 part/serializers.py:1276 +#: part/admin.py:428 part/serializers.py:1291 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:119 +#: part/api.py:112 msgid "Starred" msgstr "" -#: part/api.py:121 +#: part/api.py:114 msgid "Filter by starred categories" msgstr "" -#: part/api.py:138 stock/api.py:284 +#: part/api.py:131 stock/api.py:318 msgid "Depth" msgstr "" -#: part/api.py:138 +#: part/api.py:131 msgid "Filter by category depth" msgstr "" -#: part/api.py:156 stock/api.py:302 +#: part/api.py:149 stock/api.py:336 msgid "Cascade" msgstr "" -#: part/api.py:158 +#: part/api.py:151 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:178 +#: part/api.py:171 msgid "Parent" msgstr "" -#: part/api.py:180 +#: part/api.py:173 msgid "Filter by parent category" msgstr "" -#: part/api.py:213 +#: part/api.py:206 msgid "Exclude Tree" msgstr "" -#: part/api.py:215 +#: part/api.py:208 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:461 +#: part/api.py:455 msgid "Has Results" msgstr "" -#: part/api.py:628 +#: part/api.py:622 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:646 +#: part/api.py:640 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:662 +#: part/api.py:656 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:746 +#: part/api.py:740 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:893 +#: part/api.py:887 msgid "Valid" msgstr "" -#: part/api.py:894 +#: part/api.py:888 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:900 +#: part/api.py:894 msgid "This option must be selected" msgstr "" -#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866 -#: part/serializers.py:406 part/serializers.py:1117 -#: part/templates/part/part_base.html:260 stock/api.py:745 +#: part/api.py:1111 +msgid "BOM Valid" +msgstr "" + +#: part/api.py:1515 part/models.py:939 part/models.py:3429 part/models.py:3909 +#: part/serializers.py:406 part/serializers.py:1132 +#: part/templates/part/part_base.html:260 stock/api.py:779 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2377 +#: templates/js/translated/part.js:2376 msgid "Category" msgstr "" -#: part/api.py:1849 +#: part/api.py:1803 msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:101 part/models.py:939 +#: part/bom.py:170 part/models.py:102 part/models.py:982 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:822 +#: part/bom.py:171 part/serializers.py:837 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6145,698 +6085,712 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:82 part/models.py:3867 part/templates/part/category.html:16 +#: part/models.py:83 part/models.py:3910 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:83 part/templates/part/category.html:136 +#: part/models.py:84 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "" -#: part/models.py:102 +#: part/models.py:103 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:107 stock/models.py:165 templates/js/translated/part.js:2810 -#: templates/js/translated/stock.js:2775 +#: part/models.py:108 stock/models.py:177 templates/js/translated/part.js:2809 +#: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "" -#: part/models.py:109 +#: part/models.py:110 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:118 +#: part/models.py:119 msgid "Default keywords" msgstr "" -#: part/models.py:119 +#: part/models.py:120 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:125 stock/models.py:89 stock/models.py:148 +#: part/models.py:126 stock/models.py:89 stock/models.py:160 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:126 stock/models.py:149 +#: part/models.py:127 stock/models.py:161 msgid "Icon (optional)" msgstr "" -#: part/models.py:148 +#: part/models.py:149 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:484 +#: part/models.py:482 +msgid "Cannot delete this part as it is still active" +msgstr "" + +#: part/models.py:489 +msgid "Cannot delete this part as it is used in an assembly" +msgstr "" + +#: part/models.py:527 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:532 part/models.py:539 +#: part/models.py:575 part/models.py:582 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:551 +#: part/models.py:594 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:616 +#: part/models.py:659 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:696 +#: part/models.py:739 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:801 +#: part/models.py:844 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:811 +#: part/models.py:854 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:826 +#: part/models.py:869 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:855 part/models.py:3922 +#: part/models.py:898 part/models.py:3965 msgid "Part name" msgstr "" -#: part/models.py:860 +#: part/models.py:903 msgid "Is Template" msgstr "" -#: part/models.py:861 +#: part/models.py:904 msgid "Is this part a template part?" msgstr "" -#: part/models.py:871 +#: part/models.py:914 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:879 +#: part/models.py:922 msgid "Part description (optional)" msgstr "" -#: part/models.py:887 +#: part/models.py:930 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:897 +#: part/models.py:940 msgid "Part category" msgstr "" -#: part/models.py:905 +#: part/models.py:948 msgid "Internal Part Number" msgstr "" -#: part/models.py:912 +#: part/models.py:955 msgid "Part revision or version number" msgstr "" -#: part/models.py:937 +#: part/models.py:980 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:983 part/templates/part/part_base.html:376 +#: part/models.py:1026 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:984 +#: part/models.py:1027 msgid "Default supplier part" msgstr "" -#: part/models.py:991 +#: part/models.py:1034 msgid "Default Expiry" msgstr "" -#: part/models.py:992 +#: part/models.py:1035 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1001 +#: part/models.py:1044 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1010 +#: part/models.py:1053 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1017 +#: part/models.py:1060 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1023 +#: part/models.py:1066 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1029 +#: part/models.py:1072 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1035 +#: part/models.py:1078 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1041 +#: part/models.py:1084 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1045 +#: part/models.py:1088 msgid "Is this part active?" msgstr "" -#: part/models.py:1051 +#: part/models.py:1094 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1057 +#: part/models.py:1100 msgid "BOM checksum" msgstr "" -#: part/models.py:1058 +#: part/models.py:1101 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1066 +#: part/models.py:1109 msgid "BOM checked by" msgstr "" -#: part/models.py:1071 +#: part/models.py:1114 msgid "BOM checked date" msgstr "" -#: part/models.py:1087 +#: part/models.py:1130 msgid "Creation User" msgstr "" -#: part/models.py:1097 +#: part/models.py:1140 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1102 part/templates/part/part_base.html:339 +#: part/models.py:1145 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 -#: templates/js/translated/part.js:2471 +#: templates/js/translated/part.js:2470 msgid "Last Stocktake" msgstr "" -#: part/models.py:1975 +#: part/models.py:2018 msgid "Sell multiple" msgstr "" -#: part/models.py:2994 +#: part/models.py:3037 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3010 +#: part/models.py:3053 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3011 +#: part/models.py:3054 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3017 +#: part/models.py:3060 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3018 +#: part/models.py:3061 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3024 +#: part/models.py:3067 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3025 +#: part/models.py:3068 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3031 +#: part/models.py:3074 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3032 +#: part/models.py:3075 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3038 +#: part/models.py:3081 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3039 +#: part/models.py:3082 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3045 +#: part/models.py:3088 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3046 +#: part/models.py:3089 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3052 +#: part/models.py:3095 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3053 +#: part/models.py:3096 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3059 +#: part/models.py:3102 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3060 +#: part/models.py:3103 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3066 +#: part/models.py:3109 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3067 +#: part/models.py:3110 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3073 +#: part/models.py:3116 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3074 +#: part/models.py:3117 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3081 +#: part/models.py:3124 msgid "Override minimum cost" msgstr "" -#: part/models.py:3088 +#: part/models.py:3131 msgid "Override maximum cost" msgstr "" -#: part/models.py:3095 +#: part/models.py:3138 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3102 +#: part/models.py:3145 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3108 +#: part/models.py:3151 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3109 +#: part/models.py:3152 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3115 +#: part/models.py:3158 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3116 +#: part/models.py:3159 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3122 +#: part/models.py:3165 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3123 +#: part/models.py:3166 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3129 +#: part/models.py:3172 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3130 +#: part/models.py:3173 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3149 +#: part/models.py:3192 msgid "Part for stocktake" msgstr "" -#: part/models.py:3154 +#: part/models.py:3197 msgid "Item Count" msgstr "" -#: part/models.py:3155 +#: part/models.py:3198 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3163 +#: part/models.py:3206 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3167 part/models.py:3250 +#: part/models.py:3210 part/models.py:3293 #: part/templates/part/part_scheduling.html:13 -#: report/templates/report/inventree_test_report_base.html:106 +#: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 #: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 -#: templates/js/translated/purchase_order.js:1732 -#: templates/js/translated/stock.js:2824 +#: templates/js/translated/purchase_order.js:1731 +#: templates/js/translated/stock.js:2821 msgid "Date" msgstr "" -#: part/models.py:3168 +#: part/models.py:3211 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3176 +#: part/models.py:3219 msgid "Additional notes" msgstr "" -#: part/models.py:3186 +#: part/models.py:3229 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3192 +#: part/models.py:3235 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3193 +#: part/models.py:3236 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3199 +#: part/models.py:3242 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3200 +#: part/models.py:3243 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3256 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3299 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3257 +#: part/models.py:3300 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3262 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3305 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3263 +#: part/models.py:3306 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3273 +#: part/models.py:3316 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3435 +#: part/models.py:3478 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3446 +#: part/models.py:3489 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3457 +#: part/models.py:3500 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3474 templates/js/translated/part.js:2879 +#: part/models.py:3517 templates/js/translated/part.js:2878 msgid "Test Name" msgstr "" -#: part/models.py:3475 +#: part/models.py:3518 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3481 +#: part/models.py:3524 msgid "Test Key" msgstr "" -#: part/models.py:3482 +#: part/models.py:3525 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3489 +#: part/models.py:3532 msgid "Test Description" msgstr "" -#: part/models.py:3490 +#: part/models.py:3533 msgid "Enter description for this test" msgstr "" -#: part/models.py:3494 +#: part/models.py:3537 report/models.py:208 +#: templates/js/translated/part.js:2899 +#: templates/js/translated/table_filters.js:481 +msgid "Enabled" +msgstr "" + +#: part/models.py:3537 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3499 templates/js/translated/part.js:2908 +#: part/models.py:3542 templates/js/translated/part.js:2907 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3500 +#: part/models.py:3543 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3505 templates/js/translated/part.js:2916 +#: part/models.py:3548 templates/js/translated/part.js:2915 msgid "Requires Value" msgstr "" -#: part/models.py:3506 +#: part/models.py:3549 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3511 templates/js/translated/part.js:2923 +#: part/models.py:3554 templates/js/translated/part.js:2922 msgid "Requires Attachment" msgstr "" -#: part/models.py:3513 +#: part/models.py:3556 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3560 +#: part/models.py:3603 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3565 +#: part/models.py:3608 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3585 +#: part/models.py:3628 msgid "Choices must be unique" msgstr "" -#: part/models.py:3602 +#: part/models.py:3645 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3617 +#: part/models.py:3660 msgid "Parameter Name" msgstr "" -#: part/models.py:3624 +#: part/models.py:3667 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3632 +#: part/models.py:3675 msgid "Parameter description" msgstr "" -#: part/models.py:3638 templates/js/translated/part.js:1627 +#: part/models.py:3681 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3639 +#: part/models.py:3682 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3644 templates/js/translated/part.js:1636 +#: part/models.py:3687 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3645 +#: part/models.py:3688 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3722 +#: part/models.py:3765 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3765 +#: part/models.py:3808 msgid "Parent Part" msgstr "" -#: part/models.py:3773 part/models.py:3874 part/models.py:3875 +#: part/models.py:3816 part/models.py:3917 part/models.py:3918 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3778 +#: part/models.py:3821 msgid "Data" msgstr "" -#: part/models.py:3779 +#: part/models.py:3822 msgid "Parameter Value" msgstr "" -#: part/models.py:3881 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3924 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3882 +#: part/models.py:3925 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3920 +#: part/models.py:3963 msgid "Part ID or part name" msgstr "" -#: part/models.py:3921 +#: part/models.py:3964 msgid "Unique part ID value" msgstr "" -#: part/models.py:3923 +#: part/models.py:3966 msgid "Part IPN value" msgstr "" -#: part/models.py:3924 +#: part/models.py:3967 msgid "Level" msgstr "" -#: part/models.py:3924 +#: part/models.py:3967 msgid "BOM level" msgstr "" -#: part/models.py:4014 +#: part/models.py:4057 msgid "Select parent part" msgstr "" -#: part/models.py:4024 +#: part/models.py:4067 msgid "Sub part" msgstr "" -#: part/models.py:4025 +#: part/models.py:4068 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4036 +#: part/models.py:4079 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4042 +#: part/models.py:4085 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4048 +#: part/models.py:4091 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4055 part/templates/part/upload_bom.html:55 +#: part/models.py:4098 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4056 +#: part/models.py:4099 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4063 +#: part/models.py:4106 msgid "BOM item reference" msgstr "" -#: part/models.py:4071 +#: part/models.py:4114 msgid "BOM item notes" msgstr "" -#: part/models.py:4077 +#: part/models.py:4120 msgid "Checksum" msgstr "" -#: part/models.py:4078 +#: part/models.py:4121 msgid "BOM line checksum" msgstr "" -#: part/models.py:4083 templates/js/translated/table_filters.js:174 +#: part/models.py:4126 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4084 +#: part/models.py:4127 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4089 part/templates/part/upload_bom.html:57 +#: part/models.py:4132 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4090 +#: part/models.py:4133 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4095 part/templates/part/upload_bom.html:56 +#: part/models.py:4138 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4096 +#: part/models.py:4139 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4181 stock/models.py:647 +#: part/models.py:4224 stock/models.py:668 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4191 part/models.py:4193 +#: part/models.py:4234 part/models.py:4236 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4333 +#: part/models.py:4376 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4354 +#: part/models.py:4397 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4367 +#: part/models.py:4410 msgid "Parent BOM item" msgstr "" -#: part/models.py:4375 +#: part/models.py:4418 msgid "Substitute part" msgstr "" -#: part/models.py:4391 +#: part/models.py:4434 msgid "Part 1" msgstr "" -#: part/models.py:4399 +#: part/models.py:4442 msgid "Part 2" msgstr "" -#: part/models.py:4400 +#: part/models.py:4443 msgid "Select Related Part" msgstr "" -#: part/models.py:4419 +#: part/models.py:4462 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4424 +#: part/models.py:4467 msgid "Duplicate relationship already exists" msgstr "" @@ -6854,7 +6808,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:406 +#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:535 msgid "Purchase currency of this stock item" msgstr "" @@ -6870,299 +6824,299 @@ msgstr "" msgid "Select category" msgstr "" -#: part/serializers.py:437 +#: part/serializers.py:442 msgid "Original Part" msgstr "" -#: part/serializers.py:438 +#: part/serializers.py:443 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:448 msgid "Copy Image" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:449 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:450 part/templates/part/detail.html:277 +#: part/serializers.py:455 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:451 +#: part/serializers.py:456 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:462 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:458 +#: part/serializers.py:463 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:464 +#: part/serializers.py:469 msgid "Copy Notes" msgstr "" -#: part/serializers.py:465 +#: part/serializers.py:470 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:478 +#: part/serializers.py:488 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:490 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:487 +#: part/serializers.py:497 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:488 +#: part/serializers.py:498 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:500 +#: part/serializers.py:515 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:531 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:526 +#: part/serializers.py:541 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:533 +#: part/serializers.py:548 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:542 +#: part/serializers.py:557 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:553 +#: part/serializers.py:568 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:560 +#: part/serializers.py:575 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:823 +#: part/serializers.py:838 msgid "External Stock" msgstr "" -#: part/serializers.py:825 +#: part/serializers.py:840 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:828 +#: part/serializers.py:843 msgid "Variant Stock" msgstr "" -#: part/serializers.py:856 part/templates/part/copy_part.html:9 +#: part/serializers.py:871 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:857 +#: part/serializers.py:872 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:863 templates/js/translated/part.js:102 +#: part/serializers.py:878 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:864 +#: part/serializers.py:879 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:870 +#: part/serializers.py:885 msgid "Supplier Information" msgstr "" -#: part/serializers.py:871 +#: part/serializers.py:886 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:879 +#: part/serializers.py:894 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:880 +#: part/serializers.py:895 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:885 +#: part/serializers.py:900 msgid "Existing Image" msgstr "" -#: part/serializers.py:886 +#: part/serializers.py:901 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:918 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1109 +#: part/serializers.py:1124 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1119 +#: part/serializers.py:1134 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1129 +#: part/serializers.py:1144 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1135 +#: part/serializers.py:1150 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1136 +#: part/serializers.py:1151 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1141 +#: part/serializers.py:1156 msgid "Generate Report" msgstr "" -#: part/serializers.py:1142 +#: part/serializers.py:1157 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1147 +#: part/serializers.py:1162 msgid "Update Parts" msgstr "" -#: part/serializers.py:1148 +#: part/serializers.py:1163 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1156 +#: part/serializers.py:1171 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1262 +#: part/serializers.py:1277 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1269 +#: part/serializers.py:1284 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1277 +#: part/serializers.py:1292 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1284 +#: part/serializers.py:1299 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1313 +#: part/serializers.py:1328 msgid "Update" msgstr "" -#: part/serializers.py:1314 +#: part/serializers.py:1329 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1337 +#: part/serializers.py:1352 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1344 +#: part/serializers.py:1359 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1347 +#: part/serializers.py:1362 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1714 +#: part/serializers.py:1729 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1722 +#: part/serializers.py:1737 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1723 +#: part/serializers.py:1738 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1728 +#: part/serializers.py:1743 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1729 +#: part/serializers.py:1744 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1734 +#: part/serializers.py:1749 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1735 +#: part/serializers.py:1750 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1755 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1756 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1775 +#: part/serializers.py:1790 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1776 +#: part/serializers.py:1791 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1806 +#: part/serializers.py:1821 msgid "No part column specified" msgstr "" -#: part/serializers.py:1850 +#: part/serializers.py:1865 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1853 +#: part/serializers.py:1868 msgid "No matching part found" msgstr "" -#: part/serializers.py:1856 +#: part/serializers.py:1871 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1865 +#: part/serializers.py:1880 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1888 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1894 +#: part/serializers.py:1909 msgid "At least one BOM item is required" msgstr "" #: part/stocktake.py:224 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:2085 +#: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" @@ -7314,7 +7268,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2218 users/models.py:204 +#: templates/js/translated/stock.js:2216 users/models.py:204 msgid "Stocktake" msgstr "" @@ -7412,15 +7366,15 @@ msgstr "" msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:659 +#: part/templates/part/detail.html:655 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:667 +#: part/templates/part/detail.html:663 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:752 +#: part/templates/part/detail.html:748 msgid "Add Test Result Template" msgstr "" @@ -7479,7 +7433,7 @@ msgstr "" #: part/templates/part/part_base.html:52 #: stock/templates/stock/item_base.html:62 -#: stock/templates/stock/location.html:74 +#: stock/templates/stock/location.html:74 templates/js/translated/label.js:142 msgid "Print Label" msgstr "" @@ -7501,7 +7455,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2293 +#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2292 msgid "Part actions" msgstr "" @@ -7550,7 +7504,7 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:163 -#: part/templates/part/part_base.html:682 +#: part/templates/part/part_base.html:681 msgid "Show Part Details" msgstr "" @@ -7573,7 +7527,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2444 +#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2443 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7596,19 +7550,19 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:512 +#: part/templates/part/part_base.html:511 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:529 +#: part/templates/part/part_base.html:528 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:580 +#: part/templates/part/part_base.html:579 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:676 +#: part/templates/part/part_base.html:675 msgid "Hide Part Details" msgstr "" @@ -7667,8 +7621,8 @@ msgstr "" #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 -#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 -#: templates/js/translated/stock.js:2072 templates/navbar.html:31 +#: templates/js/translated/part.js:2391 templates/js/translated/stock.js:1059 +#: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7714,7 +7668,7 @@ msgstr "" #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 -#: templates/js/translated/stock.js:2248 +#: templates/js/translated/stock.js:2246 msgid "Last Updated" msgstr "" @@ -7786,7 +7740,7 @@ msgid "Update Pricing" msgstr "" #: part/templates/part/stock_count.html:7 -#: templates/js/translated/model_renderers.js:221 +#: templates/js/translated/model_renderers.js:227 #: templates/js/translated/part.js:704 templates/js/translated/part.js:2140 #: templates/js/translated/part.js:2142 msgid "No Stock" @@ -7866,7 +7820,7 @@ msgstr "" msgid "Part Pricing" msgstr "" -#: plugin/api.py:168 +#: plugin/api.py:170 msgid "Plugin cannot be deleted as it is currently active" msgstr "" @@ -7933,7 +7887,7 @@ msgid "Stock item does not match line item" msgstr "" #: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2589 -#: templates/js/translated/sales_order.js:1917 +#: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "" @@ -8027,22 +7981,18 @@ msgstr "" msgid "Quantity to allocate" msgstr "" -#: plugin/base/label/label.py:39 +#: plugin/base/label/label.py:39 templates/js/translated/label.js:154 msgid "Label printing failed" msgstr "" -#: plugin/base/label/mixins.py:63 +#: plugin/base/label/mixins.py:56 msgid "Error rendering label to PDF" msgstr "" -#: plugin/base/label/mixins.py:76 +#: plugin/base/label/mixins.py:70 msgid "Error rendering label to HTML" msgstr "" -#: plugin/base/label/mixins.py:111 -msgid "Error rendering label to PNG" -msgstr "" - #: plugin/builtin/barcodes/inventree_barcode.py:25 msgid "InvenTree Barcodes" msgstr "" @@ -8054,7 +8004,7 @@ msgstr "" #: plugin/builtin/barcodes/inventree_barcode.py:28 #: plugin/builtin/integration/core_notifications.py:35 #: plugin/builtin/integration/currency_exchange.py:21 -#: plugin/builtin/labels/inventree_label.py:23 +#: plugin/builtin/labels/inventree_label.py:22 #: plugin/builtin/labels/inventree_machine.py:64 #: plugin/builtin/labels/label_sheet.py:63 #: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 @@ -8108,19 +8058,19 @@ msgstr "" msgid "Default currency exchange integration" msgstr "" -#: plugin/builtin/labels/inventree_label.py:20 +#: plugin/builtin/labels/inventree_label.py:19 msgid "InvenTree PDF label printer" msgstr "" -#: plugin/builtin/labels/inventree_label.py:21 +#: plugin/builtin/labels/inventree_label.py:20 msgid "Provides native support for printing PDF labels" msgstr "" -#: plugin/builtin/labels/inventree_label.py:29 +#: plugin/builtin/labels/inventree_label.py:28 msgid "Debug mode" msgstr "" -#: plugin/builtin/labels/inventree_label.py:30 +#: plugin/builtin/labels/inventree_label.py:29 msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "" @@ -8132,11 +8082,11 @@ msgstr "" msgid "Provides support for printing using a machine" msgstr "" -#: plugin/builtin/labels/inventree_machine.py:150 +#: plugin/builtin/labels/inventree_machine.py:151 msgid "last used" msgstr "" -#: plugin/builtin/labels/inventree_machine.py:167 +#: plugin/builtin/labels/inventree_machine.py:168 msgid "Options" msgstr "" @@ -8160,7 +8110,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:47 report/models.py:209 +#: plugin/builtin/labels/label_sheet.py:47 report/models.py:308 msgid "Landscape" msgstr "" @@ -8176,11 +8126,11 @@ msgstr "" msgid "Arrays multiple labels onto a single sheet" msgstr "" -#: plugin/builtin/labels/label_sheet.py:94 +#: plugin/builtin/labels/label_sheet.py:99 msgid "Label is too large for page size" msgstr "" -#: plugin/builtin/labels/label_sheet.py:128 +#: plugin/builtin/labels/label_sheet.py:133 msgid "No labels were generated" msgstr "" @@ -8273,61 +8223,62 @@ msgstr "" msgid "Uninstalled plugin successfully" msgstr "" -#: plugin/models.py:30 +#: plugin/models.py:35 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:31 +#: plugin/models.py:36 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:34 users/models.py:100 +#: plugin/models.py:42 users/models.py:100 msgid "Key" msgstr "" -#: plugin/models.py:34 +#: plugin/models.py:43 msgid "Key of plugin" msgstr "" -#: plugin/models.py:42 +#: plugin/models.py:51 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:49 plugin/serializers.py:90 +#: plugin/models.py:58 plugin/serializers.py:90 msgid "Package Name" msgstr "" -#: plugin/models.py:51 +#: plugin/models.py:60 msgid "Name of the installed package, if the plugin was installed via PIP" msgstr "" -#: plugin/models.py:56 +#: plugin/models.py:65 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:147 templates/js/translated/table_filters.js:370 +#: plugin/models.py:156 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "" -#: plugin/models.py:156 +#: plugin/models.py:165 msgid "Sample plugin" msgstr "" -#: plugin/models.py:164 +#: plugin/models.py:173 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:172 +#: plugin/models.py:181 msgid "Package Plugin" msgstr "" -#: plugin/models.py:196 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:205 report/models.py:475 +#: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" msgstr "" -#: plugin/models.py:243 +#: plugin/models.py:252 msgid "Method" msgstr "" @@ -8468,239 +8419,323 @@ msgstr "" msgid "Delete the plugin configuration from the database" msgstr "" -#: report/api.py:158 +#: report/api.py:77 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:197 report/api.py:234 +#: report/api.py:89 report/serializers.py:53 +msgid "Model Type" +msgstr "" + +#: report/api.py:92 report/models.py:439 report/serializers.py:98 +#: report/serializers.py:148 templates/js/translated/purchase_order.js:1747 +#: templates/js/translated/return_order.js:353 +#: templates/js/translated/sales_order.js:887 +#: templates/js/translated/sales_order.js:1047 +msgid "Items" +msgstr "" + +#: report/api.py:168 +msgid "Plugin not found" +msgstr "" + +#: report/api.py:170 +msgid "Plugin is not active" +msgstr "" + +#: report/api.py:172 +msgid "Plugin does not support label printing" +msgstr "" + +#: report/api.py:221 +msgid "Invalid label dimensions" +msgstr "" + +#: report/api.py:236 report/api.py:316 +msgid "No valid items provided to template" +msgstr "" + +#: report/api.py:271 +msgid "Error printing label" +msgstr "" + +#: report/api.py:362 report/api.py:398 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:319 -msgid "Test report" -msgstr "" - -#: report/helpers.py:15 +#: report/helpers.py:41 msgid "A4" msgstr "" -#: report/helpers.py:16 +#: report/helpers.py:42 msgid "A3" msgstr "" -#: report/helpers.py:17 +#: report/helpers.py:43 msgid "Legal" msgstr "" -#: report/helpers.py:18 +#: report/helpers.py:44 msgid "Letter" msgstr "" -#: report/models.py:177 +#: report/models.py:118 +msgid "Template file with this name already exists" +msgstr "" + +#: report/models.py:150 msgid "Template name" msgstr "" -#: report/models.py:183 -msgid "Report template file" +#: report/models.py:156 +msgid "Template description" msgstr "" -#: report/models.py:190 -msgid "Report template description" +#: report/models.py:162 +msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:196 -msgid "Report revision number (auto-increments)" +#: report/models.py:202 +msgid "Filename Pattern" msgstr "" -#: report/models.py:204 +#: report/models.py:203 +msgid "Pattern for generating filenames" +msgstr "" + +#: report/models.py:208 +msgid "Template is enabled" +msgstr "" + +#: report/models.py:214 +msgid "Target model type for template" +msgstr "" + +#: report/models.py:234 +msgid "Filters" +msgstr "" + +#: report/models.py:235 +msgid "Template query filters (comma-separated list of key=value pairs)" +msgstr "" + +#: report/models.py:295 report/models.py:362 +msgid "Template file" +msgstr "" + +#: report/models.py:303 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:210 +#: report/models.py:309 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:318 -msgid "Pattern for generating report filenames" +#: report/models.py:368 +msgid "Width [mm]" msgstr "" -#: report/models.py:325 -msgid "Report template is enabled" +#: report/models.py:369 +msgid "Label width, specified in mm" msgstr "" -#: report/models.py:347 -msgid "StockItem query filters (comma-separated list of key=value pairs)" +#: report/models.py:375 +msgid "Height [mm]" msgstr "" -#: report/models.py:354 -msgid "Include Installed Tests" +#: report/models.py:376 +msgid "Label height, specified in mm" msgstr "" -#: report/models.py:356 -msgid "Include test results for stock items installed inside assembled item" +#: report/models.py:439 +msgid "Number of items to process" msgstr "" -#: report/models.py:424 -msgid "Build Filters" +#: report/models.py:445 +msgid "Report generation is complete" msgstr "" -#: report/models.py:425 -msgid "Build query filters (comma-separated list of key=value pairs" +#: report/models.py:449 templates/js/translated/build.js:2177 +msgid "Progress" msgstr "" -#: report/models.py:464 -msgid "Part Filters" +#: report/models.py:449 +msgid "Report generation progress" msgstr "" -#: report/models.py:465 -msgid "Part query filters (comma-separated list of key=value pairs" +#: report/models.py:457 +msgid "Report Template" msgstr "" -#: report/models.py:497 -msgid "Purchase order query filters" +#: report/models.py:464 report/models.py:487 +msgid "Output File" msgstr "" -#: report/models.py:533 -msgid "Sales order query filters" +#: report/models.py:465 report/models.py:488 +msgid "Generated output file" msgstr "" -#: report/models.py:569 -msgid "Return order query filters" +#: report/models.py:476 +msgid "Label output plugin" msgstr "" -#: report/models.py:641 -msgid "Snippet file with this name already exists" +#: report/models.py:480 +msgid "Label Template" msgstr "" -#: report/models.py:648 +#: report/models.py:503 msgid "Snippet" msgstr "" -#: report/models.py:649 +#: report/models.py:504 msgid "Report snippet file" msgstr "" -#: report/models.py:656 +#: report/models.py:511 msgid "Snippet file description" msgstr "" -#: report/models.py:714 -msgid "Asset file with this name already exists" -msgstr "" - -#: report/models.py:722 +#: report/models.py:529 msgid "Asset" msgstr "" -#: report/models.py:723 +#: report/models.py:530 msgid "Report asset file" msgstr "" -#: report/models.py:730 +#: report/models.py:537 msgid "Asset file description" msgstr "" -#: report/models.py:752 -msgid "stock location query filters (comma-separated list of key=value pairs)" +#: report/serializers.py:91 +msgid "Select report template" +msgstr "" + +#: report/serializers.py:99 report/serializers.py:149 +msgid "List of item primary keys to include in the report" +msgstr "" + +#: report/serializers.py:132 +msgid "Select label template" +msgstr "" + +#: report/serializers.py:140 +msgid "Printing Plugin" +msgstr "" + +#: report/serializers.py:141 +msgid "Select plugin to use for label printing" +msgstr "" + +#: report/templates/label/part_label.html:31 +#: report/templates/label/stockitem_qr.html:21 +#: report/templates/label/stocklocation_qr.html:20 +#: templates/allauth_2fa/setup.html:18 +msgid "QR Code" +msgstr "" + +#: report/templates/label/part_label_code128.html:31 +#: report/templates/label/stocklocation_qr_and_text.html:31 +#: templates/qr_code.html:7 +msgid "QR code" msgstr "" #: report/templates/report/inventree_bill_of_materials_report.html:133 msgid "Materials needed" msgstr "" -#: report/templates/report/inventree_build_order_base.html:146 +#: report/templates/report/inventree_build_order_report.html:146 msgid "Required For" msgstr "" -#: report/templates/report/inventree_po_report_base.html:15 +#: report/templates/report/inventree_purchase_order_report.html:15 msgid "Supplier was deleted" msgstr "" -#: report/templates/report/inventree_po_report_base.html:30 -#: report/templates/report/inventree_so_report_base.html:30 +#: report/templates/report/inventree_purchase_order_report.html:30 +#: report/templates/report/inventree_sales_order_report.html:30 #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:834 -#: templates/js/translated/purchase_order.js:2116 -#: templates/js/translated/sales_order.js:1837 +#: templates/js/translated/purchase_order.js:2115 +#: templates/js/translated/sales_order.js:1873 msgid "Unit Price" msgstr "" -#: report/templates/report/inventree_po_report_base.html:55 -#: report/templates/report/inventree_return_order_report_base.html:48 -#: report/templates/report/inventree_so_report_base.html:55 +#: report/templates/report/inventree_purchase_order_report.html:55 +#: report/templates/report/inventree_return_order_report.html:48 +#: report/templates/report/inventree_sales_order_report.html:55 msgid "Extra Line Items" 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:2018 -#: templates/js/translated/sales_order.js:1806 +#: report/templates/report/inventree_purchase_order_report.html:72 +#: report/templates/report/inventree_sales_order_report.html:72 +#: templates/js/translated/purchase_order.js:2017 +#: templates/js/translated/sales_order.js:1842 msgid "Total" msgstr "" -#: report/templates/report/inventree_return_order_report_base.html:25 -#: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:809 stock/templates/stock/item_base.html:311 +#: report/templates/report/inventree_return_order_report.html:25 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:830 +#: stock/serializers.py:150 stock/templates/stock/item_base.html:311 #: templates/js/translated/build.js:519 templates/js/translated/build.js:1367 #: templates/js/translated/build.js:2355 -#: templates/js/translated/model_renderers.js:224 -#: templates/js/translated/return_order.js:540 -#: templates/js/translated/return_order.js:724 +#: templates/js/translated/model_renderers.js:230 +#: templates/js/translated/return_order.js:539 +#: templates/js/translated/return_order.js:723 #: templates/js/translated/sales_order.js:315 -#: templates/js/translated/sales_order.js:1611 -#: templates/js/translated/sales_order.js:1696 +#: templates/js/translated/sales_order.js:1647 +#: templates/js/translated/sales_order.js:1732 #: templates/js/translated/stock.js:596 msgid "Serial Number" msgstr "" -#: report/templates/report/inventree_slr_report.html:97 +#: report/templates/report/inventree_stock_location_report.html:97 msgid "Stock location items" msgstr "" -#: report/templates/report/inventree_test_report_base.html:21 +#: report/templates/report/inventree_test_report.html:21 msgid "Stock Item Test Report" msgstr "" -#: report/templates/report/inventree_test_report_base.html:97 +#: report/templates/report/inventree_test_report.html:97 msgid "Test Results" msgstr "" -#: report/templates/report/inventree_test_report_base.html:102 +#: report/templates/report/inventree_test_report.html:102 #: templates/js/translated/stock.js:1495 msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2442 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2419 msgid "Result" msgstr "" -#: report/templates/report/inventree_test_report_base.html:130 +#: report/templates/report/inventree_test_report.html:130 msgid "Pass" msgstr "" -#: report/templates/report/inventree_test_report_base.html:132 +#: report/templates/report/inventree_test_report.html:132 msgid "Fail" msgstr "" -#: report/templates/report/inventree_test_report_base.html:139 +#: report/templates/report/inventree_test_report.html:139 msgid "No result (required)" msgstr "" -#: report/templates/report/inventree_test_report_base.html:141 +#: report/templates/report/inventree_test_report.html:141 msgid "No result" msgstr "" -#: report/templates/report/inventree_test_report_base.html:154 +#: report/templates/report/inventree_test_report.html:154 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report_base.html:168 -#: stock/admin.py:162 templates/js/translated/stock.js:700 -#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3113 +#: report/templates/report/inventree_test_report.html:168 stock/admin.py:162 +#: templates/js/translated/stock.js:700 templates/js/translated/stock.js:871 +#: templates/js/translated/stock.js:3110 msgid "Serial" msgstr "" @@ -8757,7 +8792,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:201 stock/models.py:789 +#: stock/admin.py:201 stock/models.py:810 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" @@ -8782,66 +8817,66 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:256 stock/models.py:883 +#: stock/admin.py:256 stock/models.py:904 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2232 users/models.py:124 +#: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" msgstr "" -#: stock/api.py:284 +#: stock/api.py:318 msgid "Filter by location depth" msgstr "" -#: stock/api.py:304 +#: stock/api.py:338 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:325 +#: stock/api.py:359 msgid "Parent Location" msgstr "" -#: stock/api.py:326 +#: stock/api.py:360 msgid "Filter by parent location" msgstr "" -#: stock/api.py:579 templates/js/translated/table_filters.js:427 +#: stock/api.py:613 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:767 +#: stock/api.py:801 msgid "Part Tree" msgstr "" -#: stock/api.py:797 +#: stock/api.py:831 msgid "Expiry date before" msgstr "" -#: stock/api.py:801 +#: stock/api.py:835 msgid "Expiry date after" msgstr "" -#: stock/api.py:804 stock/templates/stock/item_base.html:439 +#: stock/api.py:838 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:891 +#: stock/api.py:925 msgid "Quantity is required" msgstr "" -#: stock/api.py:897 +#: stock/api.py:931 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:928 +#: stock/api.py:962 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:938 +#: stock/api.py:972 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:969 +#: stock/api.py:1003 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8857,477 +8892,517 @@ msgstr "" msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:125 stock/models.py:771 +#: stock/models.py:127 stock/models.py:792 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:126 stock/templates/stock/location.html:179 +#: stock/models.py:128 stock/templates/stock/location.html:186 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "" -#: stock/models.py:158 stock/models.py:932 +#: stock/models.py:170 stock/models.py:953 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:159 stock/models.py:933 +#: stock/models.py:171 stock/models.py:954 msgid "Select Owner" msgstr "" -#: stock/models.py:167 +#: stock/models.py:179 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:174 templates/js/translated/stock.js:2784 +#: stock/models.py:186 templates/js/translated/stock.js:2781 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "" -#: stock/models.py:175 +#: stock/models.py:187 msgid "This is an external stock location" msgstr "" -#: stock/models.py:181 templates/js/translated/stock.js:2793 +#: stock/models.py:193 templates/js/translated/stock.js:2790 #: templates/js/translated/table_filters.js:246 msgid "Location type" msgstr "" -#: stock/models.py:185 +#: stock/models.py:197 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:254 +#: stock/models.py:266 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:626 +#: stock/models.py:647 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:653 stock/serializers.py:290 +#: stock/models.py:674 stock/serializers.py:419 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:670 +#: stock/models.py:691 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:680 stock/models.py:693 +#: stock/models.py:701 stock/models.py:714 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:683 +#: stock/models.py:704 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:707 +#: stock/models.py:728 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:712 +#: stock/models.py:733 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:725 +#: stock/models.py:746 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:741 +#: stock/models.py:762 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:753 +#: stock/models.py:774 msgid "Base part" msgstr "" -#: stock/models.py:763 +#: stock/models.py:784 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:775 +#: stock/models.py:796 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:783 stock/serializers.py:1351 +#: stock/models.py:804 stock/serializers.py:1480 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:794 +#: stock/models.py:815 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:813 +#: stock/models.py:834 msgid "Serial number for this item" msgstr "" -#: stock/models.py:827 stock/serializers.py:1334 +#: stock/models.py:848 stock/serializers.py:1463 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:832 +#: stock/models.py:853 msgid "Stock Quantity" msgstr "" -#: stock/models.py:842 +#: stock/models.py:863 msgid "Source Build" msgstr "" -#: stock/models.py:845 +#: stock/models.py:866 msgid "Build for this stock item" msgstr "" -#: stock/models.py:852 stock/templates/stock/item_base.html:363 +#: stock/models.py:873 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:855 +#: stock/models.py:876 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:864 +#: stock/models.py:885 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:868 +#: stock/models.py:889 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:874 +#: stock/models.py:895 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:885 +#: stock/models.py:906 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:903 +#: stock/models.py:924 msgid "Delete on deplete" msgstr "" -#: stock/models.py:904 +#: stock/models.py:925 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:924 +#: stock/models.py:945 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:955 +#: stock/models.py:976 msgid "Converted to part" msgstr "" -#: stock/models.py:1473 +#: stock/models.py:1494 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1479 +#: stock/models.py:1500 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1487 +#: stock/models.py:1508 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1493 +#: stock/models.py:1514 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1498 +#: stock/models.py:1519 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1506 stock/serializers.py:529 +#: stock/models.py:1527 stock/serializers.py:658 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1603 +#: stock/models.py:1624 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1621 +#: stock/models.py:1642 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1625 +#: stock/models.py:1646 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1628 +#: stock/models.py:1649 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1631 +#: stock/models.py:1652 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1634 +#: stock/models.py:1655 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1637 +#: stock/models.py:1658 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1644 stock/serializers.py:1240 +#: stock/models.py:1665 stock/serializers.py:1369 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1648 +#: stock/models.py:1669 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1656 +#: stock/models.py:1677 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1661 +#: stock/models.py:1682 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1882 +#: stock/models.py:1903 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2345 +#: stock/models.py:2322 msgid "Entry notes" msgstr "" -#: stock/models.py:2410 +#: stock/models.py:2387 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2415 +#: stock/models.py:2392 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2442 +#: stock/models.py:2419 msgid "Test result" msgstr "" -#: stock/models.py:2449 +#: stock/models.py:2426 msgid "Test output value" msgstr "" -#: stock/models.py:2457 +#: stock/models.py:2434 msgid "Test result attachment" msgstr "" -#: stock/models.py:2461 +#: stock/models.py:2438 msgid "Test notes" msgstr "" -#: stock/models.py:2469 templates/js/translated/stock.js:1548 +#: stock/models.py:2446 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "" -#: stock/models.py:2470 +#: stock/models.py:2447 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2476 +#: stock/models.py:2453 msgid "Started" msgstr "" -#: stock/models.py:2477 +#: stock/models.py:2454 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2483 +#: stock/models.py:2460 msgid "Finished" msgstr "" -#: stock/models.py:2484 +#: stock/models.py:2461 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:100 +#: stock/serializers.py:75 +msgid "Generated batch code" +msgstr "" + +#: stock/serializers.py:84 +msgid "Select build order" +msgstr "" + +#: stock/serializers.py:93 +msgid "Select stock item to generate batch code for" +msgstr "" + +#: stock/serializers.py:102 +msgid "Select location to generate batch code for" +msgstr "" + +#: stock/serializers.py:111 +msgid "Select part to generate batch code for" +msgstr "" + +#: stock/serializers.py:120 +msgid "Select purchase order" +msgstr "" + +#: stock/serializers.py:127 +msgid "Enter quantity for batch code" +msgstr "" + +#: stock/serializers.py:150 +msgid "Generated serial number" +msgstr "" + +#: stock/serializers.py:159 +msgid "Select part to generate serial number for" +msgstr "" + +#: stock/serializers.py:167 +msgid "Quantity of serial numbers to generate" +msgstr "" + +#: stock/serializers.py:229 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:119 +#: stock/serializers.py:248 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:151 +#: stock/serializers.py:280 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:184 +#: stock/serializers.py:313 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:282 +#: stock/serializers.py:411 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:402 +#: stock/serializers.py:531 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:464 +#: stock/serializers.py:593 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:477 +#: stock/serializers.py:606 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:484 +#: stock/serializers.py:613 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:495 stock/serializers.py:1197 stock/serializers.py:1453 +#: stock/serializers.py:624 stock/serializers.py:1326 stock/serializers.py:1582 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:502 +#: stock/serializers.py:631 msgid "Optional note field" msgstr "" -#: stock/serializers.py:512 +#: stock/serializers.py:641 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:567 +#: stock/serializers.py:696 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:574 +#: stock/serializers.py:703 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:575 +#: stock/serializers.py:704 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:580 stock/serializers.py:660 stock/serializers.py:756 -#: stock/serializers.py:806 +#: stock/serializers.py:709 stock/serializers.py:789 stock/serializers.py:885 +#: stock/serializers.py:935 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:588 +#: stock/serializers.py:717 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:596 +#: stock/serializers.py:725 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:607 +#: stock/serializers.py:736 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:620 +#: stock/serializers.py:749 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:655 +#: stock/serializers.py:784 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:690 +#: stock/serializers.py:819 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:703 +#: stock/serializers.py:832 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:720 +#: stock/serializers.py:849 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:751 +#: stock/serializers.py:880 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:788 +#: stock/serializers.py:917 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:794 +#: stock/serializers.py:923 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:890 stock/serializers.py:953 +#: stock/serializers.py:1019 stock/serializers.py:1082 #: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:213 +#: stock/templates/stock/location.html:220 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1069 +#: stock/serializers.py:1198 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1073 +#: stock/serializers.py:1202 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1077 +#: stock/serializers.py:1206 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1101 +#: stock/serializers.py:1230 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1107 +#: stock/serializers.py:1236 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1115 +#: stock/serializers.py:1244 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1125 stock/serializers.py:1379 +#: stock/serializers.py:1254 stock/serializers.py:1508 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1204 +#: stock/serializers.py:1333 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1209 +#: stock/serializers.py:1338 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1210 +#: stock/serializers.py:1339 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1215 +#: stock/serializers.py:1344 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1216 +#: stock/serializers.py:1345 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1226 +#: stock/serializers.py:1355 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1293 +#: stock/serializers.py:1422 msgid "No Change" msgstr "" -#: stock/serializers.py:1322 +#: stock/serializers.py:1451 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1341 +#: stock/serializers.py:1470 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1369 +#: stock/serializers.py:1498 msgid "Stock transaction notes" msgstr "" @@ -9352,7 +9427,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:286 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:282 msgid "Delete Test Data" msgstr "" @@ -9368,15 +9443,15 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3274 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3271 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:274 +#: stock/templates/stock/item.html:270 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:304 templates/js/translated/stock.js:1701 +#: stock/templates/stock/item.html:300 templates/js/translated/stock.js:1701 msgid "Add Test Result" msgstr "" @@ -9561,40 +9636,40 @@ msgstr "" msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:507 -#: templates/js/translated/stock.js:1954 +#: stock/templates/stock/item_base.html:504 +#: templates/js/translated/stock.js:1952 msgid "stock item" msgstr "" -#: stock/templates/stock/item_base.html:532 +#: stock/templates/stock/item_base.html:527 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:541 +#: stock/templates/stock/item_base.html:536 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:552 +#: stock/templates/stock/item_base.html:547 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:616 +#: stock/templates/stock/item_base.html:611 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:619 +#: stock/templates/stock/item_base.html:614 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:620 +#: stock/templates/stock/item_base.html:615 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:628 +#: stock/templates/stock/item_base.html:623 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:662 +#: stock/templates/stock/item_base.html:657 msgid "Return to Stock" msgstr "" @@ -9658,28 +9733,32 @@ msgstr "" msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:217 +#: stock/templates/stock/location.html:176 +msgid "Location Type" +msgstr "" + +#: stock/templates/stock/location.html:224 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:218 +#: stock/templates/stock/location.html:225 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:287 -#: templates/js/translated/stock.js:2575 +#: stock/templates/stock/location.html:295 +#: templates/js/translated/stock.js:2572 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:315 +#: stock/templates/stock/location.html:317 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:388 +#: stock/templates/stock/location.html:390 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:399 +#: stock/templates/stock/location.html:401 msgid "Link Barcode to Stock Location" msgstr "" @@ -9949,11 +10028,11 @@ msgstr "" msgid "Part Settings" msgstr "" -#: templates/InvenTree/settings/part.html:42 +#: templates/InvenTree/settings/part.html:43 msgid "Part Import" msgstr "" -#: templates/InvenTree/settings/part.html:46 +#: templates/InvenTree/settings/part.html:47 msgid "Import Part" msgstr "" @@ -10174,7 +10253,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:424 +#: templates/js/translated/stock.js:245 users/models.py:411 msgid "Delete" msgstr "" @@ -10283,7 +10362,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2159 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2163 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" @@ -10874,7 +10953,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3218 +#: templates/js/translated/part.js:3217 msgid "Minimum Quantity" msgstr "" @@ -11254,7 +11333,7 @@ msgid "External stock" msgstr "" #: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2595 -#: templates/js/translated/sales_order.js:1910 +#: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" @@ -11264,7 +11343,7 @@ msgstr "" #: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 #: templates/js/translated/part.js:1256 -#: templates/js/translated/sales_order.js:1907 +#: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" @@ -11519,17 +11598,17 @@ msgstr "" #: templates/js/translated/build.js:1576 #: templates/js/translated/purchase_order.js:611 -#: templates/js/translated/sales_order.js:1171 +#: templates/js/translated/sales_order.js:1207 msgid "Select Parts" msgstr "" #: templates/js/translated/build.js:1577 -#: templates/js/translated/sales_order.js:1172 +#: templates/js/translated/sales_order.js:1208 msgid "You must select at least one part to allocate" msgstr "" #: templates/js/translated/build.js:1640 -#: templates/js/translated/sales_order.js:1121 +#: templates/js/translated/sales_order.js:1157 msgid "Specify stock allocation quantity" msgstr "" @@ -11542,7 +11621,7 @@ msgid "All selected parts have been fully allocated" msgstr "" #: templates/js/translated/build.js:1732 -#: templates/js/translated/sales_order.js:1186 +#: templates/js/translated/sales_order.js:1222 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -11551,12 +11630,12 @@ msgid "Allocate Stock Items to Build Order" msgstr "" #: templates/js/translated/build.js:1771 -#: templates/js/translated/sales_order.js:1283 +#: templates/js/translated/sales_order.js:1319 msgid "No matching stock locations" msgstr "" #: templates/js/translated/build.js:1844 -#: templates/js/translated/sales_order.js:1362 +#: templates/js/translated/sales_order.js:1398 msgid "No matching stock items" msgstr "" @@ -11589,9 +11668,9 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 -#: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 -#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 -#: templates/js/translated/stock.js:1985 templates/js/translated/stock.js:2713 +#: templates/js/translated/forms.js:2159 templates/js/translated/forms.js:2175 +#: templates/js/translated/part.js:2315 templates/js/translated/part.js:2741 +#: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "" @@ -11599,21 +11678,17 @@ msgstr "" msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2177 -msgid "Progress" -msgstr "" - -#: templates/js/translated/build.js:2213 templates/js/translated/stock.js:3045 +#: templates/js/translated/build.js:2213 templates/js/translated/stock.js:3042 msgid "No user information" msgstr "" #: templates/js/translated/build.js:2389 -#: templates/js/translated/sales_order.js:1646 +#: templates/js/translated/sales_order.js:1682 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:2390 -#: templates/js/translated/sales_order.js:1647 +#: templates/js/translated/sales_order.js:1683 msgid "Delete stock allocation" msgstr "" @@ -11647,7 +11722,7 @@ msgid "Unit Quantity" msgstr "" #: templates/js/translated/build.js:2591 -#: templates/js/translated/sales_order.js:1915 +#: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" @@ -11664,7 +11739,7 @@ msgid "Allocate tracked items against individual build outputs" msgstr "" #: templates/js/translated/build.js:2662 -#: templates/js/translated/sales_order.js:2016 +#: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "" @@ -11673,7 +11748,7 @@ msgid "Order stock" msgstr "" #: templates/js/translated/build.js:2671 -#: templates/js/translated/sales_order.js:2010 +#: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "" @@ -11923,12 +11998,12 @@ msgid "Delete price break" msgstr "" #: templates/js/translated/filters.js:186 -#: templates/js/translated/filters.js:672 +#: templates/js/translated/filters.js:667 msgid "true" msgstr "" #: templates/js/translated/filters.js:190 -#: templates/js/translated/filters.js:673 +#: templates/js/translated/filters.js:668 msgid "false" msgstr "" @@ -11960,7 +12035,7 @@ msgstr "" msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:582 +#: templates/js/translated/filters.js:577 msgid "Create filter" msgstr "" @@ -11993,32 +12068,32 @@ msgstr "" msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1473 templates/modals.html:19 +#: templates/js/translated/forms.js:1477 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1971 +#: templates/js/translated/forms.js:1975 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2275 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2279 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2489 +#: templates/js/translated/forms.js:2493 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3091 +#: templates/js/translated/forms.js:3095 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3091 +#: templates/js/translated/forms.js:3095 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3103 +#: templates/js/translated/forms.js:3107 msgid "Select Columns" msgstr "" @@ -12042,51 +12117,15 @@ msgstr "" msgid "No parts required for builds" msgstr "" -#: templates/js/translated/label.js:53 templates/js/translated/report.js:123 +#: templates/js/translated/label.js:55 templates/js/translated/report.js:38 msgid "Select Items" msgstr "" -#: templates/js/translated/label.js:54 +#: templates/js/translated/label.js:56 templates/js/translated/report.js:39 msgid "No items selected for printing" msgstr "" -#: templates/js/translated/label.js:72 -msgid "No Labels Found" -msgstr "" - -#: templates/js/translated/label.js:73 -msgid "No label templates found which match the selected items" -msgstr "" - -#: templates/js/translated/label.js:97 -msgid "selected" -msgstr "" - -#: templates/js/translated/label.js:133 -msgid "Printing Options" -msgstr "" - -#: templates/js/translated/label.js:148 -msgid "Print label" -msgstr "" - -#: templates/js/translated/label.js:148 -msgid "Print labels" -msgstr "" - #: templates/js/translated/label.js:149 -msgid "Print" -msgstr "" - -#: templates/js/translated/label.js:155 -msgid "Select label template" -msgstr "" - -#: templates/js/translated/label.js:168 -msgid "Select plugin" -msgstr "" - -#: templates/js/translated/label.js:187 msgid "Labels sent to printer" msgstr "" @@ -12204,7 +12243,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1991 +#: templates/js/translated/purchase_order.js:1990 msgid "No line items found" msgstr "" @@ -12442,19 +12481,19 @@ msgid "Delete Part Parameter Template" msgstr "" #: templates/js/translated/part.js:1716 -#: templates/js/translated/purchase_order.js:1655 +#: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1860 -#: templates/js/translated/purchase_order.js:2154 -#: templates/js/translated/return_order.js:756 -#: templates/js/translated/sales_order.js:1875 +#: templates/js/translated/purchase_order.js:2153 +#: templates/js/translated/return_order.js:755 +#: templates/js/translated/sales_order.js:1911 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1906 -#: templates/js/translated/purchase_order.js:2221 +#: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "" @@ -12466,7 +12505,7 @@ msgstr "" msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2506 +#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2505 msgid "No parts found" msgstr "" @@ -12482,101 +12521,101 @@ msgstr "" msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2286 msgid "part" msgstr "" -#: templates/js/translated/part.js:2288 +#: templates/js/translated/part.js:2287 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2384 +#: templates/js/translated/part.js:2383 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 -#: templates/js/translated/stock.js:2672 +#: templates/js/translated/part.js:2530 templates/js/translated/part.js:2660 +#: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2547 +#: templates/js/translated/part.js:2546 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2645 +#: templates/js/translated/part.js:2644 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2692 +#: templates/js/translated/part.js:2680 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2761 +#: templates/js/translated/part.js:2760 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2777 +#: templates/js/translated/part.js:2776 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2864 +#: templates/js/translated/part.js:2863 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2886 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2885 templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2935 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2941 +#: templates/js/translated/part.js:2940 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2957 +#: templates/js/translated/part.js:2956 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2971 +#: templates/js/translated/part.js:2970 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3050 templates/js/translated/part.js:3051 +#: templates/js/translated/part.js:3049 templates/js/translated/part.js:3050 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3053 +#: templates/js/translated/part.js:3052 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3059 +#: templates/js/translated/part.js:3058 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3109 +#: templates/js/translated/part.js:3108 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3115 +#: templates/js/translated/part.js:3114 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3211 +#: templates/js/translated/part.js:3210 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3227 +#: templates/js/translated/part.js:3226 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3272 +#: templates/js/translated/part.js:3271 msgid "Minimum Stock Level" msgstr "" @@ -12702,7 +12741,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:448 #: templates/js/translated/return_order.js:210 -#: templates/js/translated/sales_order.js:500 +#: templates/js/translated/sales_order.js:552 msgid "Mark this order as complete?" msgstr "" @@ -12715,7 +12754,6 @@ msgid "This order has line items which have not been marked as received." msgstr "" #: templates/js/translated/purchase_order.js:460 -#: templates/js/translated/sales_order.js:514 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" @@ -12773,12 +12811,12 @@ msgid "No matching purchase orders" msgstr "" #: templates/js/translated/purchase_order.js:1073 -#: templates/js/translated/return_order.js:491 +#: templates/js/translated/return_order.js:490 msgid "Select Line Items" msgstr "" #: templates/js/translated/purchase_order.js:1074 -#: templates/js/translated/return_order.js:492 +#: templates/js/translated/return_order.js:491 msgid "At least one line item must be selected" msgstr "" @@ -12827,7 +12865,7 @@ msgid "Quantity to Receive" msgstr "" #: templates/js/translated/purchase_order.js:1333 -#: templates/js/translated/return_order.js:561 +#: templates/js/translated/return_order.js:560 msgid "Confirm receipt of items" msgstr "" @@ -12847,81 +12885,66 @@ msgstr "" msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1682 -#: templates/js/translated/return_order.js:286 -#: templates/js/translated/sales_order.js:774 -#: templates/js/translated/sales_order.js:998 +#: templates/js/translated/purchase_order.js:1681 +#: templates/js/translated/return_order.js:285 +#: templates/js/translated/sales_order.js:810 +#: templates/js/translated/sales_order.js:1034 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1748 -#: templates/js/translated/return_order.js:354 -#: templates/js/translated/sales_order.js:851 -#: templates/js/translated/sales_order.js:1011 -msgid "Items" -msgstr "" - -#: templates/js/translated/purchase_order.js:1844 +#: templates/js/translated/purchase_order.js:1843 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1862 +#: templates/js/translated/purchase_order.js:1861 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1917 -#: templates/js/translated/sales_order.js:2070 +#: templates/js/translated/purchase_order.js:1916 +#: templates/js/translated/sales_order.js:2106 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1932 -#: templates/js/translated/return_order.js:476 -#: templates/js/translated/return_order.js:669 -#: templates/js/translated/sales_order.js:2083 +#: templates/js/translated/purchase_order.js:1931 +#: templates/js/translated/return_order.js:475 +#: templates/js/translated/return_order.js:668 +#: templates/js/translated/sales_order.js:2119 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1943 -#: templates/js/translated/return_order.js:682 -#: templates/js/translated/sales_order.js:2094 +#: templates/js/translated/purchase_order.js:1942 +#: templates/js/translated/return_order.js:681 +#: templates/js/translated/sales_order.js:2130 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2225 -#: templates/js/translated/sales_order.js:2024 +#: templates/js/translated/purchase_order.js:2224 +#: templates/js/translated/sales_order.js:2060 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2226 -#: templates/js/translated/return_order.js:801 -#: templates/js/translated/sales_order.js:2025 +#: templates/js/translated/purchase_order.js:2225 +#: templates/js/translated/return_order.js:800 +#: templates/js/translated/sales_order.js:2061 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2227 -#: templates/js/translated/return_order.js:805 -#: templates/js/translated/sales_order.js:2031 +#: templates/js/translated/purchase_order.js:2226 +#: templates/js/translated/return_order.js:804 +#: templates/js/translated/sales_order.js:2067 msgid "Delete line item" msgstr "" -#: templates/js/translated/report.js:63 -msgid "items selected" +#: templates/js/translated/report.js:49 +msgid "Print Report" msgstr "" -#: templates/js/translated/report.js:71 -msgid "Select Report Template" +#: templates/js/translated/report.js:68 +msgid "Report print successful" msgstr "" -#: templates/js/translated/report.js:86 -msgid "Select Test Report Template" -msgstr "" - -#: templates/js/translated/report.js:140 -msgid "No Reports Found" -msgstr "" - -#: templates/js/translated/report.js:141 -msgid "No report templates found which match the selected items" +#: templates/js/translated/report.js:73 +msgid "Report printing failed" msgstr "" #: templates/js/translated/return_order.js:60 @@ -12953,25 +12976,25 @@ msgstr "" msgid "Complete Return Order" msgstr "" -#: templates/js/translated/return_order.js:266 +#: templates/js/translated/return_order.js:265 msgid "No return orders found" msgstr "" -#: templates/js/translated/return_order.js:300 -#: templates/js/translated/sales_order.js:788 +#: templates/js/translated/return_order.js:299 +#: templates/js/translated/sales_order.js:824 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/return_order.js:562 +#: templates/js/translated/return_order.js:561 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:693 -#: templates/js/translated/sales_order.js:2231 +#: templates/js/translated/return_order.js:692 +#: templates/js/translated/sales_order.js:2267 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:798 +#: templates/js/translated/return_order.js:797 msgid "Mark item as received" msgstr "" @@ -13015,140 +13038,156 @@ msgstr "" msgid "Skip" msgstr "" +#: templates/js/translated/sales_order.js:484 +msgid "Ship Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:500 +msgid "Ship this order?" +msgstr "" + +#: templates/js/translated/sales_order.js:506 +msgid "Order cannot be shipped as there are incomplete shipments" +msgstr "" + #: templates/js/translated/sales_order.js:513 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/sales_order.js:535 +#: templates/js/translated/sales_order.js:514 +msgid "Shipping this order means that the order and line items will no longer be editable." +msgstr "" + +#: templates/js/translated/sales_order.js:572 msgid "Issue this Sales Order?" msgstr "" -#: templates/js/translated/sales_order.js:540 +#: templates/js/translated/sales_order.js:577 msgid "Issue Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:559 +#: templates/js/translated/sales_order.js:596 msgid "Cancel Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:564 +#: templates/js/translated/sales_order.js:601 msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: templates/js/translated/sales_order.js:618 +#: templates/js/translated/sales_order.js:655 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/sales_order.js:728 +#: templates/js/translated/sales_order.js:764 msgid "No sales orders found" msgstr "" -#: templates/js/translated/sales_order.js:908 +#: templates/js/translated/sales_order.js:944 msgid "Edit shipment" msgstr "" -#: templates/js/translated/sales_order.js:911 +#: templates/js/translated/sales_order.js:947 msgid "Complete shipment" msgstr "" -#: templates/js/translated/sales_order.js:916 +#: templates/js/translated/sales_order.js:952 msgid "Delete shipment" msgstr "" -#: templates/js/translated/sales_order.js:933 +#: templates/js/translated/sales_order.js:969 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/sales_order.js:948 +#: templates/js/translated/sales_order.js:984 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:981 +#: templates/js/translated/sales_order.js:1017 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/sales_order.js:1006 +#: templates/js/translated/sales_order.js:1042 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/sales_order.js:1030 -#: templates/js/translated/sales_order.js:1529 +#: templates/js/translated/sales_order.js:1066 +#: templates/js/translated/sales_order.js:1565 msgid "Not shipped" msgstr "" -#: templates/js/translated/sales_order.js:1048 +#: templates/js/translated/sales_order.js:1084 msgid "Tracking" msgstr "" -#: templates/js/translated/sales_order.js:1052 +#: templates/js/translated/sales_order.js:1088 msgid "Invoice" msgstr "" -#: templates/js/translated/sales_order.js:1219 +#: templates/js/translated/sales_order.js:1255 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1270 +#: templates/js/translated/sales_order.js:1306 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/sales_order.js:1271 +#: templates/js/translated/sales_order.js:1307 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1477 +#: templates/js/translated/sales_order.js:1513 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1569 +#: templates/js/translated/sales_order.js:1605 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1583 +#: templates/js/translated/sales_order.js:1619 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/sales_order.js:1584 +#: templates/js/translated/sales_order.js:1620 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1623 -#: templates/js/translated/sales_order.js:1710 +#: templates/js/translated/sales_order.js:1659 +#: templates/js/translated/sales_order.js:1746 #: templates/js/translated/stock.js:1776 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/sales_order.js:1631 -#: templates/js/translated/sales_order.js:1719 +#: templates/js/translated/sales_order.js:1667 +#: templates/js/translated/sales_order.js:1755 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:2008 +#: templates/js/translated/sales_order.js:2044 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/sales_order.js:2012 +#: templates/js/translated/sales_order.js:2048 msgid "Purchase stock" msgstr "" -#: templates/js/translated/sales_order.js:2021 -#: templates/js/translated/sales_order.js:2209 +#: templates/js/translated/sales_order.js:2057 +#: templates/js/translated/sales_order.js:2245 msgid "Calculate price" msgstr "" -#: templates/js/translated/sales_order.js:2035 +#: templates/js/translated/sales_order.js:2071 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:2038 +#: templates/js/translated/sales_order.js:2074 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:2109 +#: templates/js/translated/sales_order.js:2145 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/sales_order.js:2217 +#: templates/js/translated/sales_order.js:2253 msgid "Update Unit Price" msgstr "" @@ -13356,7 +13395,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1042 users/models.py:414 +#: templates/js/translated/stock.js:1042 users/models.py:401 msgid "Add" msgstr "" @@ -13372,7 +13411,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1180 templates/js/translated/stock.js:3302 +#: templates/js/translated/stock.js:1180 templates/js/translated/stock.js:3299 msgid "Select Stock Items" msgstr "" @@ -13456,196 +13495,196 @@ msgstr "" msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:1955 +#: templates/js/translated/stock.js:1953 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1960 +#: templates/js/translated/stock.js:1958 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:1971 +#: templates/js/translated/stock.js:1969 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:2015 +#: templates/js/translated/stock.js:2013 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2093 +#: templates/js/translated/stock.js:2091 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2098 +#: templates/js/translated/stock.js:2096 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2101 +#: templates/js/translated/stock.js:2099 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2104 +#: templates/js/translated/stock.js:2102 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2106 +#: templates/js/translated/stock.js:2104 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2108 +#: templates/js/translated/stock.js:2106 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2111 +#: templates/js/translated/stock.js:2109 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2113 +#: templates/js/translated/stock.js:2111 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2117 +#: templates/js/translated/stock.js:2115 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2119 +#: templates/js/translated/stock.js:2117 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2124 +#: templates/js/translated/stock.js:2122 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2126 +#: templates/js/translated/stock.js:2124 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2128 +#: templates/js/translated/stock.js:2126 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2132 +#: templates/js/translated/stock.js:2130 #: templates/js/translated/table_filters.js:350 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2297 +#: templates/js/translated/stock.js:2295 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2344 +#: templates/js/translated/stock.js:2342 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2472 +#: templates/js/translated/stock.js:2470 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2576 +#: templates/js/translated/stock.js:2573 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2731 +#: templates/js/translated/stock.js:2728 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2849 +#: templates/js/translated/stock.js:2846 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2853 +#: templates/js/translated/stock.js:2850 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2865 +#: templates/js/translated/stock.js:2862 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2887 +#: templates/js/translated/stock.js:2884 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2904 +#: templates/js/translated/stock.js:2901 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2919 +#: templates/js/translated/stock.js:2916 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2936 +#: templates/js/translated/stock.js:2933 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:2950 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2972 +#: templates/js/translated/stock.js:2969 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2990 +#: templates/js/translated/stock.js:2987 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:3008 +#: templates/js/translated/stock.js:3005 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:3016 +#: templates/js/translated/stock.js:3013 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3088 +#: templates/js/translated/stock.js:3085 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3142 templates/js/translated/stock.js:3178 +#: templates/js/translated/stock.js:3139 templates/js/translated/stock.js:3175 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3200 +#: templates/js/translated/stock.js:3197 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3221 +#: templates/js/translated/stock.js:3218 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3222 +#: templates/js/translated/stock.js:3219 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3224 +#: templates/js/translated/stock.js:3221 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3225 +#: templates/js/translated/stock.js:3222 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3226 +#: templates/js/translated/stock.js:3223 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3227 +#: templates/js/translated/stock.js:3224 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3240 +#: templates/js/translated/stock.js:3237 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3303 +#: templates/js/translated/stock.js:3300 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3316 +#: templates/js/translated/stock.js:3313 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3320 +#: templates/js/translated/stock.js:3317 msgid "Change Stock Status" msgstr "" @@ -14247,34 +14286,35 @@ msgstr "" msgid "Revoked" msgstr "" -#: users/models.py:397 +#: users/models.py:384 msgid "Permission set" msgstr "" -#: users/models.py:406 +#: users/models.py:393 msgid "Group" msgstr "" -#: users/models.py:410 +#: users/models.py:397 msgid "View" msgstr "" -#: users/models.py:410 +#: users/models.py:397 msgid "Permission to view items" msgstr "" -#: users/models.py:414 +#: users/models.py:401 msgid "Permission to add items" msgstr "" -#: users/models.py:418 +#: users/models.py:405 msgid "Change" msgstr "" -#: users/models.py:420 +#: users/models.py:407 msgid "Permissions to edit items" msgstr "" -#: users/models.py:426 +#: users/models.py:413 msgid "Permission to delete items" msgstr "" + diff --git a/src/backend/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po index 8be556ddd1..0412ad0d85 100644 --- a/src/backend/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po +++ b/src/backend/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: 2024-05-10 05:37+0000\n" +"POT-Creation-Date: 2024-05-22 07:02+0000\n" "PO-Revision-Date: 2023-02-28 22:38\n" "Last-Translator: \n" "Language-Team: Chinese Simplified\n" @@ -17,11 +17,11 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:271 +#: InvenTree/api.py:272 msgid "API endpoint not found" msgstr "未找到 API 端点" -#: InvenTree/api.py:535 +#: InvenTree/api.py:536 msgid "User does not have permission to view this model" msgstr "" @@ -62,26 +62,26 @@ msgstr "在管理面板中可以找到错误详细信息" msgid "Enter date" msgstr "输入日期" -#: InvenTree/fields.py:208 InvenTree/models.py:1021 build/serializers.py:444 -#: build/serializers.py:522 build/templates/build/sidebar.html:21 +#: InvenTree/fields.py:208 InvenTree/models.py:1035 build/serializers.py:443 +#: build/serializers.py:521 build/templates/build/sidebar.html:21 #: company/models.py:849 company/templates/company/sidebar.html:37 -#: order/models.py:1283 order/templates/order/po_sidebar.html:11 +#: order/models.py:1329 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:59 -#: part/models.py:3175 part/templates/part/part_sidebar.html:63 -#: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:226 stock/models.py:2344 stock/models.py:2461 -#: stock/serializers.py:501 stock/serializers.py:659 stock/serializers.py:755 -#: stock/serializers.py:805 stock/serializers.py:1114 stock/serializers.py:1203 -#: stock/serializers.py:1368 stock/templates/stock/stock_sidebar.html:25 +#: part/models.py:3218 part/templates/part/part_sidebar.html:63 +#: report/templates/report/inventree_build_order_report.html:172 +#: stock/admin.py:226 stock/models.py:2321 stock/models.py:2438 +#: stock/serializers.py:630 stock/serializers.py:788 stock/serializers.py:884 +#: stock/serializers.py:934 stock/serializers.py:1243 stock/serializers.py:1332 +#: stock/serializers.py:1497 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 #: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1080 -#: templates/js/translated/purchase_order.js:2201 -#: templates/js/translated/return_order.js:776 -#: templates/js/translated/sales_order.js:1067 -#: templates/js/translated/sales_order.js:1982 -#: templates/js/translated/stock.js:1536 templates/js/translated/stock.js:2430 +#: templates/js/translated/purchase_order.js:2200 +#: templates/js/translated/return_order.js:775 +#: templates/js/translated/sales_order.js:1103 +#: templates/js/translated/sales_order.js:2018 +#: templates/js/translated/stock.js:1536 templates/js/translated/stock.js:2428 msgid "Notes" msgstr "备注" @@ -138,7 +138,7 @@ msgstr "提供的电子邮件域未被核准。" msgid "Registration is disabled." msgstr "" -#: InvenTree/helpers.py:525 order/models.py:541 order/models.py:743 +#: InvenTree/helpers.py:525 order/models.py:563 order/models.py:765 msgid "Invalid quantity provided" msgstr "提供的数量无效" @@ -374,142 +374,142 @@ msgstr "电子邮件" msgid "Error running plugin validation" msgstr "读取文件时发生错误 (无效编码)" -#: InvenTree/models.py:162 +#: InvenTree/models.py:176 msgid "Metadata must be a python dict object" msgstr "" -#: InvenTree/models.py:168 +#: InvenTree/models.py:182 msgid "Plugin Metadata" msgstr "" -#: InvenTree/models.py:169 +#: InvenTree/models.py:183 msgid "JSON metadata field, for use by external plugins" msgstr "" -#: InvenTree/models.py:399 +#: InvenTree/models.py:413 msgid "Improperly formatted pattern" msgstr "格式不正确" -#: InvenTree/models.py:406 +#: InvenTree/models.py:420 msgid "Unknown format key specified" msgstr "指定了未知格式密钥" -#: InvenTree/models.py:412 +#: InvenTree/models.py:426 msgid "Missing required format key" msgstr "缺少必需的格式密钥" -#: InvenTree/models.py:423 +#: InvenTree/models.py:437 msgid "Reference field cannot be empty" msgstr "引用字段不能为空" -#: InvenTree/models.py:431 +#: InvenTree/models.py:445 msgid "Reference must match required pattern" msgstr "引用必须匹配所需的图案" -#: InvenTree/models.py:462 +#: InvenTree/models.py:476 msgid "Reference number is too large" msgstr "参考编号过大" -#: InvenTree/models.py:536 +#: InvenTree/models.py:550 msgid "Missing file" msgstr "缺少文件" -#: InvenTree/models.py:537 +#: InvenTree/models.py:551 msgid "Missing external link" msgstr "缺少外部链接" -#: InvenTree/models.py:558 stock/models.py:2456 +#: InvenTree/models.py:572 stock/models.py:2433 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" msgstr "附件" -#: InvenTree/models.py:559 +#: InvenTree/models.py:573 msgid "Select file to attach" msgstr "选择附件" -#: InvenTree/models.py:567 common/models.py:3026 company/models.py:146 +#: InvenTree/models.py:581 common/models.py:3032 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:831 -#: order/models.py:291 order/models.py:1288 order/models.py:1704 -#: part/admin.py:55 part/models.py:919 +#: order/models.py:304 order/models.py:1334 order/models.py:1750 +#: part/admin.py:55 part/models.py:962 #: part/templates/part/part_scheduling.html:11 -#: report/templates/report/inventree_build_order_base.html:164 +#: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1319 #: templates/js/translated/company.js:1673 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2456 -#: templates/js/translated/purchase_order.js:2041 -#: templates/js/translated/purchase_order.js:2205 -#: templates/js/translated/return_order.js:780 -#: templates/js/translated/sales_order.js:1056 -#: templates/js/translated/sales_order.js:1987 +#: templates/js/translated/part.js:2455 +#: templates/js/translated/purchase_order.js:2040 +#: templates/js/translated/purchase_order.js:2204 +#: templates/js/translated/return_order.js:779 +#: templates/js/translated/sales_order.js:1092 +#: templates/js/translated/sales_order.js:2023 msgid "Link" msgstr "链接" -#: InvenTree/models.py:568 build/models.py:321 part/models.py:920 -#: stock/models.py:819 +#: InvenTree/models.py:582 build/models.py:344 part/models.py:963 +#: stock/models.py:840 msgid "Link to external URL" msgstr "链接到外部 URL" -#: InvenTree/models.py:574 templates/js/translated/attachment.js:120 +#: InvenTree/models.py:588 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:341 msgid "Comment" msgstr "注释" -#: InvenTree/models.py:575 +#: InvenTree/models.py:589 msgid "File comment" msgstr "文件注释" -#: InvenTree/models.py:583 InvenTree/models.py:584 common/models.py:2502 -#: common/models.py:2503 common/models.py:2727 common/models.py:2728 -#: common/models.py:2973 common/models.py:2974 part/models.py:3185 -#: part/models.py:3272 part/models.py:3365 part/models.py:3393 -#: plugin/models.py:250 plugin/models.py:251 -#: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3039 users/models.py:111 +#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2508 +#: common/models.py:2509 common/models.py:2733 common/models.py:2734 +#: common/models.py:2979 common/models.py:2980 part/models.py:3228 +#: part/models.py:3315 part/models.py:3408 part/models.py:3436 +#: plugin/models.py:259 plugin/models.py:260 +#: report/templates/report/inventree_test_report.html:105 +#: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" msgstr "用户" -#: InvenTree/models.py:588 +#: InvenTree/models.py:602 msgid "upload date" msgstr "上传日期" -#: InvenTree/models.py:610 +#: InvenTree/models.py:624 msgid "Filename must not be empty" msgstr "文件名不能为空!" -#: InvenTree/models.py:621 +#: InvenTree/models.py:635 msgid "Invalid attachment directory" msgstr "非法的附件目录" -#: InvenTree/models.py:651 +#: InvenTree/models.py:665 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "文件名包含非法字符 '{c}'" -#: InvenTree/models.py:654 +#: InvenTree/models.py:668 msgid "Filename missing extension" msgstr "缺少文件名扩展" -#: InvenTree/models.py:663 +#: InvenTree/models.py:677 msgid "Attachment with this filename already exists" msgstr "使用此文件名的附件已存在" -#: InvenTree/models.py:670 +#: InvenTree/models.py:684 msgid "Error renaming file" msgstr "重命名文件出错" -#: InvenTree/models.py:846 +#: InvenTree/models.py:860 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:863 +#: InvenTree/models.py:877 msgid "Invalid choice" msgstr "选择无效" -#: InvenTree/models.py:893 common/models.py:2714 common/models.py:3112 -#: common/serializers.py:403 company/models.py:614 label/models.py:120 -#: machine/models.py:24 part/models.py:855 part/models.py:3616 -#: plugin/models.py:41 report/models.py:176 stock/models.py:76 +#: InvenTree/models.py:907 common/models.py:2720 common/models.py:3118 +#: common/serializers.py:403 company/models.py:614 machine/models.py:24 +#: part/models.py:898 part/models.py:3659 plugin/models.py:50 +#: report/models.py:149 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:83 @@ -522,22 +522,22 @@ msgstr "选择无效" #: templates/js/translated/company.js:1165 #: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186 #: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2719 +#: templates/js/translated/part.js:2748 templates/js/translated/stock.js:2716 msgid "Name" msgstr "名称" -#: InvenTree/models.py:899 build/models.py:194 +#: InvenTree/models.py:913 build/models.py:217 #: build/templates/build/detail.html:24 common/models.py:136 #: company/models.py:523 company/models.py:840 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:107 label/models.py:127 -#: order/models.py:277 order/models.py:1316 part/admin.py:303 part/admin.py:414 -#: part/models.py:878 part/models.py:3631 part/templates/part/category.html:82 +#: company/templates/company/supplier_part.html:107 order/models.py:290 +#: order/models.py:1362 part/admin.py:305 part/admin.py:416 part/models.py:921 +#: part/models.py:3674 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 -#: part/templates/part/part_scheduling.html:12 report/models.py:189 -#: report/models.py:655 report/models.py:729 -#: report/templates/report/inventree_build_order_base.html:117 +#: part/templates/part/part_scheduling.html:12 report/models.py:155 +#: report/models.py:510 report/models.py:536 +#: report/templates/report/inventree_build_order_report.html:117 #: stock/admin.py:55 stock/models.py:82 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 @@ -549,73 +549,73 @@ msgstr "名称" #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 -#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2896 +#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2354 +#: templates/js/translated/part.js:2784 templates/js/translated/part.js:2895 #: templates/js/translated/plugin.js:80 -#: templates/js/translated/purchase_order.js:1707 -#: templates/js/translated/purchase_order.js:1850 -#: templates/js/translated/purchase_order.js:2023 -#: templates/js/translated/return_order.js:314 -#: templates/js/translated/sales_order.js:802 -#: templates/js/translated/sales_order.js:1812 -#: templates/js/translated/stock.js:1515 templates/js/translated/stock.js:2060 -#: templates/js/translated/stock.js:2751 templates/js/translated/stock.js:2834 +#: templates/js/translated/purchase_order.js:1706 +#: templates/js/translated/purchase_order.js:1849 +#: templates/js/translated/purchase_order.js:2022 +#: templates/js/translated/return_order.js:313 +#: templates/js/translated/sales_order.js:838 +#: templates/js/translated/sales_order.js:1848 +#: templates/js/translated/stock.js:1515 templates/js/translated/stock.js:2058 +#: templates/js/translated/stock.js:2748 templates/js/translated/stock.js:2831 msgid "Description" msgstr "描述信息" -#: InvenTree/models.py:900 stock/models.py:83 +#: InvenTree/models.py:914 stock/models.py:83 msgid "Description (optional)" msgstr "描述 (可选)" -#: InvenTree/models.py:909 +#: InvenTree/models.py:923 msgid "parent" msgstr "上级项" -#: InvenTree/models.py:915 templates/js/translated/part.js:2794 -#: templates/js/translated/stock.js:2760 +#: InvenTree/models.py:929 templates/js/translated/part.js:2793 +#: templates/js/translated/stock.js:2757 msgid "Path" msgstr "路径" -#: InvenTree/models.py:1021 +#: InvenTree/models.py:1035 #, fuzzy #| msgid "Add transaction note (optional)" msgid "Markdown notes (optional)" msgstr "添加交易备注 (可选)" -#: InvenTree/models.py:1050 +#: InvenTree/models.py:1064 msgid "Barcode Data" msgstr "条码数据" -#: InvenTree/models.py:1051 +#: InvenTree/models.py:1065 msgid "Third party barcode data" msgstr "第三方条形码数据" -#: InvenTree/models.py:1057 +#: InvenTree/models.py:1071 msgid "Barcode Hash" msgstr "条码哈希" -#: InvenTree/models.py:1058 +#: InvenTree/models.py:1072 msgid "Unique hash of barcode data" msgstr "条码数据的唯一哈希" -#: InvenTree/models.py:1111 +#: InvenTree/models.py:1125 msgid "Existing barcode found" msgstr "发现现有条码" -#: InvenTree/models.py:1154 +#: InvenTree/models.py:1168 msgid "Server Error" msgstr "服务器错误" -#: InvenTree/models.py:1155 +#: InvenTree/models.py:1169 msgid "An error has been logged by the server." msgstr "服务器记录了一个错误。" -#: InvenTree/serializers.py:62 part/models.py:4169 +#: InvenTree/serializers.py:62 part/models.py:4212 msgid "Must be a valid number" msgstr "必须是有效数字" #: InvenTree/serializers.py:99 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:2993 +#: company/templates/company/company_base.html:112 part/models.py:3036 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -711,7 +711,7 @@ msgstr "远程图像文件的 URL" msgid "Downloading images from remote URL is not enabled" msgstr "未启用从远程 URL下载图像" -#: InvenTree/status.py:66 part/serializers.py:1161 +#: InvenTree/status.py:66 part/serializers.py:1176 msgid "Background worker check failed" msgstr "后台工作人员检查失败" @@ -724,8 +724,8 @@ msgid "InvenTree system health checks failed" msgstr "InventTree系统健康检查失败" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:37 -#: InvenTree/status_codes.py:148 InvenTree/status_codes.py:164 -#: InvenTree/status_codes.py:182 generic/states/tests.py:17 +#: InvenTree/status_codes.py:149 InvenTree/status_codes.py:165 +#: InvenTree/status_codes.py:183 generic/states/tests.py:17 #: templates/js/translated/table_filters.js:598 msgid "Pending" msgstr "待定" @@ -734,202 +734,202 @@ msgstr "待定" msgid "Placed" msgstr "已添加" -#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:151 -#: InvenTree/status_codes.py:169 generic/states/tests.py:19 -#: order/templates/order/order_base.html:158 -#: order/templates/order/sales_order_base.html:161 +#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:44 +#: InvenTree/status_codes.py:152 InvenTree/status_codes.py:170 +#: generic/states/tests.py:19 order/templates/order/order_base.html:158 +#: order/templates/order/sales_order_base.html:165 report/models.py:444 msgid "Complete" msgstr "完成" -#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:44 -#: InvenTree/status_codes.py:150 InvenTree/status_codes.py:170 +#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:45 +#: InvenTree/status_codes.py:151 InvenTree/status_codes.py:171 msgid "Cancelled" msgstr "已取消" -#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:45 -#: InvenTree/status_codes.py:67 +#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:46 +#: InvenTree/status_codes.py:68 msgid "Lost" msgstr "丢失" -#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:46 -#: InvenTree/status_codes.py:73 +#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:47 +#: InvenTree/status_codes.py:74 msgid "Returned" msgstr "已退回" -#: InvenTree/status_codes.py:40 InvenTree/status_codes.py:167 +#: InvenTree/status_codes.py:40 InvenTree/status_codes.py:168 msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:43 order/models.py:1566 -#: templates/js/translated/sales_order.js:1523 -#: templates/js/translated/sales_order.js:1644 -#: templates/js/translated/sales_order.js:1957 +#: InvenTree/status_codes.py:43 order/models.py:1612 +#: templates/js/translated/sales_order.js:1559 +#: templates/js/translated/sales_order.js:1680 +#: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "已发货" -#: InvenTree/status_codes.py:62 +#: InvenTree/status_codes.py:63 msgid "OK" msgstr "OK" -#: InvenTree/status_codes.py:63 +#: InvenTree/status_codes.py:64 msgid "Attention needed" msgstr "需要关注" -#: InvenTree/status_codes.py:64 +#: InvenTree/status_codes.py:65 msgid "Damaged" msgstr "破损" -#: InvenTree/status_codes.py:65 +#: InvenTree/status_codes.py:66 msgid "Destroyed" msgstr "已销毁" -#: InvenTree/status_codes.py:66 +#: InvenTree/status_codes.py:67 msgid "Rejected" msgstr "已拒绝" -#: InvenTree/status_codes.py:70 +#: InvenTree/status_codes.py:71 msgid "Quarantined" msgstr "隔离" -#: InvenTree/status_codes.py:91 +#: InvenTree/status_codes.py:92 msgid "Legacy stock tracking entry" msgstr "旧库存跟踪条目" -#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:544 +#: InvenTree/status_codes.py:94 templates/js/translated/stock.js:544 msgid "Stock item created" msgstr "库存项已创建" -#: InvenTree/status_codes.py:96 +#: InvenTree/status_codes.py:97 msgid "Edited stock item" msgstr "已编辑库存项" -#: InvenTree/status_codes.py:97 +#: InvenTree/status_codes.py:98 msgid "Assigned serial number" msgstr "已分配序列号" -#: InvenTree/status_codes.py:100 +#: InvenTree/status_codes.py:101 msgid "Stock counted" msgstr "库存计数" -#: InvenTree/status_codes.py:101 +#: InvenTree/status_codes.py:102 msgid "Stock manually added" msgstr "已手动添加库存" -#: InvenTree/status_codes.py:102 +#: InvenTree/status_codes.py:103 msgid "Stock manually removed" msgstr "库存手动删除" -#: InvenTree/status_codes.py:105 +#: InvenTree/status_codes.py:106 msgid "Location changed" msgstr "仓储地点已更改" -#: InvenTree/status_codes.py:106 +#: InvenTree/status_codes.py:107 #, fuzzy #| msgid "Stock counted" msgid "Stock updated" msgstr "库存计数" -#: InvenTree/status_codes.py:109 +#: InvenTree/status_codes.py:110 msgid "Installed into assembly" msgstr "安装到组装中" -#: InvenTree/status_codes.py:110 +#: InvenTree/status_codes.py:111 msgid "Removed from assembly" msgstr "已从组装中删除" -#: InvenTree/status_codes.py:112 +#: InvenTree/status_codes.py:113 msgid "Installed component item" msgstr "已安装组件项" -#: InvenTree/status_codes.py:113 +#: InvenTree/status_codes.py:114 msgid "Removed component item" msgstr "已删除组件项" -#: InvenTree/status_codes.py:116 +#: InvenTree/status_codes.py:117 msgid "Split from parent item" msgstr "从父项拆分" -#: InvenTree/status_codes.py:117 +#: InvenTree/status_codes.py:118 msgid "Split child item" msgstr "拆分子项" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1858 +#: InvenTree/status_codes.py:121 templates/js/translated/stock.js:1858 msgid "Merged stock items" msgstr "合并的库存项目" -#: InvenTree/status_codes.py:123 +#: InvenTree/status_codes.py:124 msgid "Converted to variant" msgstr "转换为变量" -#: InvenTree/status_codes.py:126 +#: InvenTree/status_codes.py:127 msgid "Build order output created" msgstr "已创建生产订单输出" -#: InvenTree/status_codes.py:127 +#: InvenTree/status_codes.py:128 msgid "Build order output completed" msgstr "生产订单输出已完成" -#: InvenTree/status_codes.py:128 +#: InvenTree/status_codes.py:129 #, fuzzy #| msgid "Build order output created" msgid "Build order output rejected" msgstr "已创建生产订单输出" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1764 +#: InvenTree/status_codes.py:130 templates/js/translated/stock.js:1764 msgid "Consumed by build order" msgstr "被生产订单消耗" -#: InvenTree/status_codes.py:132 +#: InvenTree/status_codes.py:133 #, fuzzy #| msgid "Received against purchase order" msgid "Shipped against Sales Order" msgstr "收到定购单" -#: InvenTree/status_codes.py:135 +#: InvenTree/status_codes.py:136 #, fuzzy #| msgid "Received against purchase order" msgid "Received against Purchase Order" msgstr "收到定购单" -#: InvenTree/status_codes.py:138 +#: InvenTree/status_codes.py:139 #, fuzzy #| msgid "Received against purchase order" msgid "Returned against Return Order" msgstr "收到定购单" -#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:375 +#: InvenTree/status_codes.py:142 templates/js/translated/table_filters.js:375 msgid "Sent to customer" msgstr "发送给客户" -#: InvenTree/status_codes.py:142 +#: InvenTree/status_codes.py:143 msgid "Returned from customer" msgstr "从客户退货" -#: InvenTree/status_codes.py:149 +#: InvenTree/status_codes.py:150 msgid "Production" msgstr "生产中" -#: InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:186 #, fuzzy #| msgid "Returned" msgid "Return" msgstr "已退回" -#: InvenTree/status_codes.py:188 +#: InvenTree/status_codes.py:189 msgid "Repair" msgstr "" -#: InvenTree/status_codes.py:191 +#: InvenTree/status_codes.py:192 #, fuzzy #| msgid "Placed" msgid "Replace" msgstr "已添加" -#: InvenTree/status_codes.py:194 +#: InvenTree/status_codes.py:195 msgid "Refund" msgstr "" -#: InvenTree/status_codes.py:197 +#: InvenTree/status_codes.py:198 #, fuzzy #| msgid "Rejected" msgid "Reject" @@ -989,14 +989,14 @@ msgstr "关于 InventTree" msgid "Build must be cancelled before it can be deleted" msgstr "在删除前必须取消生产" -#: build/api.py:299 part/models.py:4047 templates/js/translated/bom.js:997 +#: build/api.py:299 part/models.py:4090 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4041 part/templates/part/upload_bom.html:58 +#: build/api.py:300 part/models.py:4084 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2529 #: templates/js/translated/table_filters.js:186 @@ -1012,7 +1012,7 @@ msgstr "" #: build/api.py:303 part/admin.py:144 templates/js/translated/build.js:1744 #: templates/js/translated/build.js:2629 -#: templates/js/translated/sales_order.js:1929 +#: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "" @@ -1023,7 +1023,7 @@ msgstr "" #: templates/email/low_stock_notification.html:17 #: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 #: templates/js/translated/index.js:123 -#: templates/js/translated/model_renderers.js:228 +#: templates/js/translated/model_renderers.js:234 #: templates/js/translated/part.js:692 templates/js/translated/part.js:694 #: templates/js/translated/part.js:699 #: templates/js/translated/table_filters.js:340 @@ -1031,16 +1031,16 @@ msgstr "" msgid "Available" msgstr "空闲" -#: build/models.py:74 build/templates/build/build_base.html:9 +#: build/models.py:82 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 -#: report/templates/report/inventree_build_order_base.html:105 -#: templates/email/build_order_completed.html:16 +#: report/templates/report/inventree_build_order_report.html:105 +#: stock/serializers.py:83 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2895 +#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2892 msgid "Build Order" msgstr "生产订单" -#: build/models.py:75 build/templates/build/build_base.html:13 +#: build/models.py:83 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -1051,75 +1051,75 @@ msgstr "生产订单" msgid "Build Orders" msgstr "生产订单" -#: build/models.py:122 +#: build/models.py:130 msgid "Invalid choice for parent build" msgstr "上级生产选项无效" -#: build/models.py:133 order/models.py:239 +#: build/models.py:141 order/models.py:241 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:139 +#: build/models.py:147 #, fuzzy #| msgid "Order cannot be cancelled" msgid "Build order part cannot be changed" msgstr "无法取消订单" -#: build/models.py:185 +#: build/models.py:208 msgid "Build Order Reference" msgstr "相关生产订单" -#: build/models.py:186 order/models.py:442 order/models.py:898 -#: order/models.py:1276 order/models.py:1998 part/admin.py:417 -#: part/models.py:4062 part/templates/part/upload_bom.html:54 +#: build/models.py:209 order/models.py:464 order/models.py:929 +#: order/models.py:1322 order/models.py:2053 part/admin.py:419 +#: part/models.py:4105 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 -#: report/templates/report/inventree_so_report_base.html:28 +#: report/templates/report/inventree_purchase_order_report.html:28 +#: report/templates/report/inventree_return_order_report.html:26 +#: report/templates/report/inventree_sales_order_report.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 #: templates/js/translated/build.js:2512 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 -#: templates/js/translated/purchase_order.js:2066 -#: templates/js/translated/return_order.js:729 -#: templates/js/translated/sales_order.js:1818 +#: templates/js/translated/purchase_order.js:2065 +#: templates/js/translated/return_order.js:728 +#: templates/js/translated/sales_order.js:1854 msgid "Reference" msgstr "引用" -#: build/models.py:197 +#: build/models.py:220 #, fuzzy #| msgid "Brief description of the build" msgid "Brief description of the build (optional)" msgstr "生产的简短描述." -#: build/models.py:205 build/templates/build/build_base.html:183 +#: build/models.py:228 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "上级生产" -#: build/models.py:206 +#: build/models.py:229 msgid "BuildOrder to which this build is allocated" msgstr "此次生产匹配的订单" -#: build/models.py:211 build/templates/build/build_base.html:97 +#: build/models.py:234 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821 -#: order/models.py:1401 order/models.py:1546 order/models.py:1547 -#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004 -#: part/models.py:3148 part/models.py:3292 part/models.py:3315 -#: part/models.py:3336 part/models.py:3358 part/models.py:3468 -#: part/models.py:3764 part/models.py:3920 part/models.py:4013 -#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713 +#: order/models.py:1447 order/models.py:1592 order/models.py:1593 +#: part/api.py:1501 part/api.py:1795 part/models.py:392 part/models.py:3047 +#: part/models.py:3191 part/models.py:3335 part/models.py:3358 +#: part/models.py:3379 part/models.py:3401 part/models.py:3511 +#: part/models.py:3807 part/models.py:3963 part/models.py:4056 +#: part/models.py:4417 part/serializers.py:1122 part/serializers.py:1728 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 -#: report/templates/report/inventree_build_order_base.html:109 -#: report/templates/report/inventree_po_report_base.html:27 -#: report/templates/report/inventree_return_order_report_base.html:24 -#: report/templates/report/inventree_slr_report.html:102 -#: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:267 stock/serializers.py:689 -#: templates/InvenTree/search.html:82 +#: report/templates/report/inventree_build_order_report.html:109 +#: report/templates/report/inventree_purchase_order_report.html:27 +#: report/templates/report/inventree_return_order_report.html:24 +#: report/templates/report/inventree_sales_order_report.html:27 +#: report/templates/report/inventree_stock_location_report.html:102 +#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:396 +#: stock/serializers.py:818 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -1133,165 +1133,165 @@ msgstr "此次生产匹配的订单" #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 #: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 -#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:2323 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:751 #: templates/js/translated/purchase_order.js:1304 -#: templates/js/translated/purchase_order.js:1849 -#: templates/js/translated/purchase_order.js:2008 -#: templates/js/translated/return_order.js:539 -#: templates/js/translated/return_order.js:710 +#: templates/js/translated/purchase_order.js:1848 +#: templates/js/translated/purchase_order.js:2007 +#: templates/js/translated/return_order.js:538 +#: templates/js/translated/return_order.js:709 #: templates/js/translated/sales_order.js:300 -#: templates/js/translated/sales_order.js:1197 -#: templates/js/translated/sales_order.js:1598 -#: templates/js/translated/sales_order.js:1796 +#: templates/js/translated/sales_order.js:1233 +#: templates/js/translated/sales_order.js:1634 +#: templates/js/translated/sales_order.js:1832 #: templates/js/translated/stock.js:676 templates/js/translated/stock.js:842 -#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1999 -#: templates/js/translated/stock.js:2860 templates/js/translated/stock.js:3093 -#: templates/js/translated/stock.js:3239 +#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1997 +#: templates/js/translated/stock.js:2857 templates/js/translated/stock.js:3090 +#: templates/js/translated/stock.js:3236 msgid "Part" msgstr "商品" -#: build/models.py:219 +#: build/models.py:242 msgid "Select part to build" msgstr "选择要生产的商品" -#: build/models.py:224 +#: build/models.py:247 msgid "Sales Order Reference" msgstr "相关销售订单" -#: build/models.py:228 +#: build/models.py:251 msgid "SalesOrder to which this build is allocated" msgstr "此次生产匹配的销售订单" -#: build/models.py:233 build/serializers.py:970 +#: build/models.py:256 build/serializers.py:969 #: templates/js/translated/build.js:1731 -#: templates/js/translated/sales_order.js:1185 +#: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "来源地点" -#: build/models.py:237 +#: build/models.py:260 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "此次生产从哪个仓储位置获取库存(留空即可从任何仓储位置取出)" -#: build/models.py:242 +#: build/models.py:265 msgid "Destination Location" msgstr "目标地点" -#: build/models.py:246 +#: build/models.py:269 msgid "Select location where the completed items will be stored" msgstr "选择已完成项目仓储地点" -#: build/models.py:250 +#: build/models.py:273 msgid "Build Quantity" msgstr "生产数量" -#: build/models.py:253 +#: build/models.py:276 msgid "Number of stock items to build" msgstr "要生产的项目数量" -#: build/models.py:257 +#: build/models.py:280 msgid "Completed items" msgstr "已完成项目" -#: build/models.py:259 +#: build/models.py:282 msgid "Number of stock items which have been completed" msgstr "已完成的库存项目数量" -#: build/models.py:263 +#: build/models.py:286 msgid "Build Status" msgstr "生产状态" -#: build/models.py:267 +#: build/models.py:290 msgid "Build status code" msgstr "生产状态代码" -#: build/models.py:276 build/serializers.py:278 order/serializers.py:581 -#: stock/models.py:823 stock/serializers.py:1333 +#: build/models.py:299 build/serializers.py:277 order/serializers.py:581 +#: stock/models.py:844 stock/serializers.py:75 stock/serializers.py:1462 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "批量代码" -#: build/models.py:280 build/serializers.py:279 +#: build/models.py:303 build/serializers.py:278 msgid "Batch code for this build output" msgstr "此生产产出的批量代码" -#: build/models.py:283 order/models.py:304 order/serializers.py:120 -#: part/models.py:1079 part/templates/part/part_base.html:310 -#: templates/js/translated/return_order.js:339 -#: templates/js/translated/sales_order.js:827 +#: build/models.py:306 order/models.py:317 order/serializers.py:120 +#: part/models.py:1122 part/templates/part/part_base.html:310 +#: templates/js/translated/return_order.js:338 +#: templates/js/translated/sales_order.js:863 msgid "Creation Date" msgstr "创建日期" -#: build/models.py:287 +#: build/models.py:310 msgid "Target completion date" msgstr "预计完成日期" -#: build/models.py:288 +#: build/models.py:311 msgid "Target date for build completion. Build will be overdue after this date." msgstr "生产完成的目标日期。生产将在此日期之后逾期。" -#: build/models.py:291 order/models.py:500 order/models.py:2043 +#: build/models.py:314 order/models.py:522 order/models.py:2098 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "完成日期:" -#: build/models.py:297 +#: build/models.py:320 msgid "completed by" msgstr "完成人" -#: build/models.py:305 templates/js/translated/build.js:2207 +#: build/models.py:328 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "发布者" -#: build/models.py:306 +#: build/models.py:329 msgid "User who issued this build order" msgstr "发布此生产订单的用户" -#: build/models.py:314 build/templates/build/build_base.html:204 +#: build/models.py:337 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:145 -#: order/models.py:322 order/templates/order/order_base.html:217 +#: order/models.py:335 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1096 +#: order/templates/order/sales_order_base.html:232 part/models.py:1139 #: part/templates/part/part_base.html:390 -#: report/templates/report/inventree_build_order_base.html:158 +#: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 #: templates/js/translated/build.js:2219 -#: templates/js/translated/purchase_order.js:1764 -#: templates/js/translated/return_order.js:359 +#: templates/js/translated/purchase_order.js:1763 +#: templates/js/translated/return_order.js:358 #: templates/js/translated/table_filters.js:531 msgid "Responsible" msgstr "责任人" -#: build/models.py:315 +#: build/models.py:338 msgid "User or group responsible for this build order" msgstr "构建此订单的用户或组" -#: build/models.py:320 build/templates/build/detail.html:108 +#: build/models.py:343 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 -#: order/templates/order/sales_order_base.html:180 -#: part/templates/part/part_base.html:383 stock/models.py:819 +#: order/templates/order/sales_order_base.html:184 +#: part/templates/part/part_base.html:383 stock/models.py:840 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "外部链接" -#: build/models.py:325 +#: build/models.py:348 msgid "Build Priority" msgstr "创建优先级" -#: build/models.py:328 +#: build/models.py:351 msgid "Priority of this build order" msgstr "此构建订单的优先级" -#: build/models.py:335 common/models.py:129 order/admin.py:18 -#: order/models.py:286 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:358 common/models.py:129 order/admin.py:18 +#: order/models.py:299 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 -#: templates/js/translated/purchase_order.js:1711 -#: templates/js/translated/return_order.js:318 -#: templates/js/translated/sales_order.js:806 +#: templates/js/translated/purchase_order.js:1710 +#: templates/js/translated/return_order.js:317 +#: templates/js/translated/sales_order.js:842 #: templates/js/translated/table_filters.js:48 #: templates/project_code_data.html:6 #, fuzzy @@ -1299,77 +1299,83 @@ msgstr "此构建订单的优先级" msgid "Project Code" msgstr "商品二维码" -#: build/models.py:336 +#: build/models.py:359 #, fuzzy #| msgid "Priority of this build order" msgid "Project code for this build order" msgstr "此构建订单的优先级" -#: build/models.py:566 build/models.py:631 +#: build/models.py:589 build/models.py:654 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:588 +#: build/models.py:611 #, python-brace-format msgid "Build order {build} has been completed" msgstr "生产订单 {build} 已完成" -#: build/models.py:594 +#: build/models.py:617 msgid "A build order has been completed" msgstr "生产订单已完成" -#: build/models.py:820 build/models.py:895 +#: build/models.py:843 build/models.py:918 msgid "No build output specified" msgstr "未指定生产产出" -#: build/models.py:823 +#: build/models.py:846 msgid "Build output is already completed" msgstr "生产产出已完成" -#: build/models.py:826 +#: build/models.py:849 msgid "Build output does not match Build Order" msgstr "生产产出与订单不匹配" -#: build/models.py:899 build/serializers.py:221 build/serializers.py:260 -#: build/serializers.py:837 order/models.py:538 order/serializers.py:433 -#: order/serializers.py:576 part/serializers.py:1471 part/serializers.py:1871 -#: stock/models.py:662 stock/models.py:1482 stock/serializers.py:472 +#: build/models.py:922 build/serializers.py:220 build/serializers.py:259 +#: build/serializers.py:836 order/models.py:560 order/serializers.py:433 +#: order/serializers.py:576 part/serializers.py:1486 part/serializers.py:1886 +#: stock/models.py:683 stock/models.py:1503 stock/serializers.py:601 msgid "Quantity must be greater than zero" msgstr "数量必须大于0" -#: build/models.py:904 build/serializers.py:226 +#: build/models.py:927 build/serializers.py:225 #, fuzzy #| msgid "Quantity must be greater than zero" msgid "Quantity cannot be greater than the output quantity" msgstr "数量必须大于0" -#: build/models.py:961 build/serializers.py:539 +#: build/models.py:984 build/serializers.py:538 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1323 +#: build/models.py:1335 +#, fuzzy +#| msgid "Delete parameters" +msgid "Build Order Line Item" +msgstr "删除参数" + +#: build/models.py:1360 #, fuzzy #| msgid "Build Notes" msgid "Build object" msgstr "生产备注" -#: build/models.py:1337 build/models.py:1593 build/serializers.py:208 -#: build/serializers.py:245 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2524 -#: order/models.py:1259 order/models.py:1918 order/serializers.py:1339 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 -#: part/forms.py:48 part/models.py:3162 part/models.py:4035 +#: build/models.py:1374 build/models.py:1630 build/serializers.py:207 +#: build/serializers.py:244 build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2530 +#: order/models.py:1305 order/models.py:1964 order/serializers.py:1339 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418 +#: part/forms.py:48 part/models.py:3205 part/models.py:4078 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 -#: report/templates/report/inventree_build_order_base.html:113 -#: report/templates/report/inventree_po_report_base.html:29 -#: report/templates/report/inventree_slr_report.html:104 -#: report/templates/report/inventree_so_report_base.html:29 -#: report/templates/report/inventree_test_report_base.html:90 -#: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:160 stock/serializers.py:463 +#: report/templates/report/inventree_build_order_report.html:113 +#: report/templates/report/inventree_purchase_order_report.html:29 +#: report/templates/report/inventree_sales_order_report.html:29 +#: report/templates/report/inventree_stock_location_report.html:104 +#: report/templates/report/inventree_test_report.html:90 +#: report/templates/report/inventree_test_report.html:170 stock/admin.py:160 +#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:592 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1379,402 +1385,403 @@ msgstr "生产备注" #: templates/js/translated/build.js:737 templates/js/translated/build.js:1369 #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 -#: templates/js/translated/model_renderers.js:230 +#: templates/js/translated/model_renderers.js:236 #: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3341 +#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3340 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 #: templates/js/translated/purchase_order.js:754 -#: templates/js/translated/purchase_order.js:1853 -#: templates/js/translated/purchase_order.js:2072 +#: templates/js/translated/purchase_order.js:1852 +#: templates/js/translated/purchase_order.js:2071 #: templates/js/translated/sales_order.js:317 -#: templates/js/translated/sales_order.js:1199 -#: templates/js/translated/sales_order.js:1518 -#: templates/js/translated/sales_order.js:1608 -#: templates/js/translated/sales_order.js:1698 -#: templates/js/translated/sales_order.js:1824 +#: templates/js/translated/sales_order.js:1235 +#: templates/js/translated/sales_order.js:1554 +#: templates/js/translated/sales_order.js:1644 +#: templates/js/translated/sales_order.js:1734 +#: templates/js/translated/sales_order.js:1860 #: templates/js/translated/stock.js:564 templates/js/translated/stock.js:702 -#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:3024 -#: templates/js/translated/stock.js:3107 +#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:3021 +#: templates/js/translated/stock.js:3104 msgid "Quantity" msgstr "数量" -#: build/models.py:1338 +#: build/models.py:1375 #, fuzzy #| msgid "Stock required for build order" msgid "Required quantity for build order" msgstr "生产订单所需的库存" -#: build/models.py:1418 +#: build/models.py:1455 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "生产项必须指定生产产出,因为主部件已经被标记为可追踪的" -#: build/models.py:1427 +#: build/models.py:1464 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "分配数量 ({q}) 不得超过可用库存数量 ({a})" -#: build/models.py:1437 order/models.py:1869 +#: build/models.py:1474 order/models.py:1915 msgid "Stock item is over-allocated" msgstr "库存物品分配过度!" -#: build/models.py:1443 order/models.py:1872 +#: build/models.py:1480 order/models.py:1918 msgid "Allocation quantity must be greater than zero" msgstr "分配数量必须大于0" -#: build/models.py:1449 +#: build/models.py:1486 msgid "Quantity must be 1 for serialized stock" msgstr "序列化库存的数量必须是 1" -#: build/models.py:1508 +#: build/models.py:1545 #, fuzzy #| msgid "Selected stock item not found in BOM" msgid "Selected stock item does not match BOM line" msgstr "在BOM中找不到选定的库存项" -#: build/models.py:1580 build/serializers.py:817 order/serializers.py:1183 -#: order/serializers.py:1204 stock/serializers.py:566 stock/serializers.py:1052 -#: stock/serializers.py:1164 stock/templates/stock/item_base.html:10 +#: build/models.py:1617 build/serializers.py:816 order/serializers.py:1183 +#: order/serializers.py:1204 stock/models.py:364 stock/serializers.py:92 +#: stock/serializers.py:695 stock/serializers.py:1181 stock/serializers.py:1293 +#: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 #: templates/js/translated/build.js:1745 #: templates/js/translated/sales_order.js:301 -#: templates/js/translated/sales_order.js:1198 -#: templates/js/translated/sales_order.js:1499 -#: templates/js/translated/sales_order.js:1504 -#: templates/js/translated/sales_order.js:1605 -#: templates/js/translated/sales_order.js:1692 +#: templates/js/translated/sales_order.js:1234 +#: templates/js/translated/sales_order.js:1535 +#: templates/js/translated/sales_order.js:1540 +#: templates/js/translated/sales_order.js:1641 +#: templates/js/translated/sales_order.js:1728 #: templates/js/translated/stock.js:677 templates/js/translated/stock.js:843 -#: templates/js/translated/stock.js:2980 +#: templates/js/translated/stock.js:2977 msgid "Stock Item" msgstr "库存项" -#: build/models.py:1581 +#: build/models.py:1618 msgid "Source stock item" msgstr "源库存项" -#: build/models.py:1594 +#: build/models.py:1631 msgid "Stock quantity to allocate to build" msgstr "分配到生产的数量" -#: build/models.py:1602 +#: build/models.py:1639 msgid "Install into" msgstr "安装到" -#: build/models.py:1603 +#: build/models.py:1640 msgid "Destination stock item" msgstr "目标库存项" -#: build/serializers.py:158 build/serializers.py:846 +#: build/serializers.py:157 build/serializers.py:845 #: templates/js/translated/build.js:1322 msgid "Build Output" msgstr "生产产出" -#: build/serializers.py:170 +#: build/serializers.py:169 msgid "Build output does not match the parent build" msgstr "生产产出与对应生产不匹配" -#: build/serializers.py:174 +#: build/serializers.py:173 msgid "Output part does not match BuildOrder part" msgstr "产出部件与生产订单部件不匹配" -#: build/serializers.py:178 +#: build/serializers.py:177 msgid "This build output has already been completed" msgstr "此生产产出已经完成" -#: build/serializers.py:189 +#: build/serializers.py:188 msgid "This build output is not fully allocated" msgstr "生产产出未被完成分配" -#: build/serializers.py:209 build/serializers.py:246 +#: build/serializers.py:208 build/serializers.py:245 msgid "Enter quantity for build output" msgstr "输入生产产出数量" -#: build/serializers.py:267 +#: build/serializers.py:266 msgid "Integer quantity required for trackable parts" msgstr "对于可追踪的部件,需要整数型数值" -#: build/serializers.py:270 +#: build/serializers.py:269 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "需要整数型数值,因为BOM包含可追踪的部件" -#: build/serializers.py:285 order/serializers.py:589 order/serializers.py:1343 -#: stock/serializers.py:483 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:284 order/serializers.py:589 order/serializers.py:1343 +#: stock/serializers.py:612 templates/js/translated/purchase_order.js:1153 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "序列号" -#: build/serializers.py:286 +#: build/serializers.py:285 msgid "Enter serial numbers for build outputs" msgstr "输入生产产出的序列号" -#: build/serializers.py:291 build/serializers.py:432 build/serializers.py:504 +#: build/serializers.py:290 build/serializers.py:431 build/serializers.py:503 #: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1679 -#: part/serializers.py:1127 stock/serializers.py:494 stock/serializers.py:654 -#: stock/serializers.py:750 stock/serializers.py:1196 stock/serializers.py:1452 -#: stock/templates/stock/item_base.html:394 +#: part/serializers.py:1142 stock/serializers.py:101 stock/serializers.py:623 +#: stock/serializers.py:783 stock/serializers.py:879 stock/serializers.py:1325 +#: stock/serializers.py:1581 stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001 #: templates/js/translated/build.js:2372 #: templates/js/translated/purchase_order.js:1178 #: templates/js/translated/purchase_order.js:1268 -#: templates/js/translated/sales_order.js:1511 -#: templates/js/translated/sales_order.js:1619 -#: templates/js/translated/sales_order.js:1627 -#: templates/js/translated/sales_order.js:1706 +#: templates/js/translated/sales_order.js:1547 +#: templates/js/translated/sales_order.js:1655 +#: templates/js/translated/sales_order.js:1663 +#: templates/js/translated/sales_order.js:1742 #: templates/js/translated/stock.js:678 templates/js/translated/stock.js:844 -#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2203 -#: templates/js/translated/stock.js:2874 +#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2201 +#: templates/js/translated/stock.js:2871 msgid "Location" msgstr "地点" -#: build/serializers.py:292 +#: build/serializers.py:291 #, fuzzy #| msgid "Stock item created" msgid "Stock location for build output" msgstr "库存项已创建" -#: build/serializers.py:306 +#: build/serializers.py:305 msgid "Auto Allocate Serial Numbers" msgstr "自动分配序列号" -#: build/serializers.py:307 +#: build/serializers.py:306 msgid "Automatically allocate required items with matching serial numbers" msgstr "自动为所需项分配对应的序列号" -#: build/serializers.py:322 +#: build/serializers.py:321 #, fuzzy #| msgid "Integer quantity required for trackable parts" msgid "Serial numbers must be provided for trackable parts" msgstr "对于可追踪的部件,需要整数型数值" -#: build/serializers.py:347 stock/api.py:995 +#: build/serializers.py:346 stock/api.py:1029 msgid "The following serial numbers already exist or are invalid" msgstr "以下序列号已存在或无效" -#: build/serializers.py:394 build/serializers.py:456 build/serializers.py:545 +#: build/serializers.py:393 build/serializers.py:455 build/serializers.py:544 msgid "A list of build outputs must be provided" msgstr "必须提供生产产出列表" -#: build/serializers.py:433 +#: build/serializers.py:432 #, fuzzy #| msgid "Stock item created" msgid "Stock location for scrapped outputs" msgstr "库存项已创建" -#: build/serializers.py:439 +#: build/serializers.py:438 #, fuzzy #| msgid "Stock Locations" msgid "Discard Allocations" msgstr "仓储地点" -#: build/serializers.py:440 +#: build/serializers.py:439 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:445 +#: build/serializers.py:444 #, fuzzy #| msgid "Location for completed build outputs" msgid "Reason for scrapping build output(s)" msgstr "已完成生产产出的仓储地点" -#: build/serializers.py:505 +#: build/serializers.py:504 msgid "Location for completed build outputs" msgstr "已完成生产产出的仓储地点" -#: build/serializers.py:511 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:922 -#: order/models.py:2022 order/serializers.py:597 stock/admin.py:165 -#: stock/serializers.py:801 stock/serializers.py:1340 +#: build/serializers.py:510 build/templates/build/build_base.html:151 +#: build/templates/build/detail.html:62 order/models.py:953 +#: order/models.py:2077 order/serializers.py:597 stock/admin.py:165 +#: stock/serializers.py:930 stock/serializers.py:1469 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191 #: templates/js/translated/purchase_order.js:1308 -#: templates/js/translated/purchase_order.js:1723 -#: templates/js/translated/return_order.js:331 -#: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2178 templates/js/translated/stock.js:2998 -#: templates/js/translated/stock.js:3123 +#: templates/js/translated/purchase_order.js:1722 +#: templates/js/translated/return_order.js:330 +#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/stock.js:2176 templates/js/translated/stock.js:2995 +#: templates/js/translated/stock.js:3120 msgid "Status" msgstr "状态" -#: build/serializers.py:517 +#: build/serializers.py:516 msgid "Accept Incomplete Allocation" msgstr "接受不完整的分配" -#: build/serializers.py:518 +#: build/serializers.py:517 msgid "Complete outputs if stock has not been fully allocated" msgstr "如果库存尚未完成分配,完成产出" -#: build/serializers.py:598 +#: build/serializers.py:597 #, fuzzy #| msgid "Remove Allocated Stock" msgid "Consume Allocated Stock" msgstr "移除已分配的库存" -#: build/serializers.py:599 +#: build/serializers.py:598 #, fuzzy #| msgid "Subtract any stock which has already been allocated to this build" msgid "Consume any stock which has already been allocated to this build" msgstr "减去已经分配至此生产的库存" -#: build/serializers.py:605 +#: build/serializers.py:604 msgid "Remove Incomplete Outputs" msgstr "移除未完成的产出" -#: build/serializers.py:606 +#: build/serializers.py:605 msgid "Delete any build outputs which have not been completed" msgstr "删除所有未完成的生产产出" -#: build/serializers.py:633 +#: build/serializers.py:632 msgid "Not permitted" msgstr "" -#: build/serializers.py:634 +#: build/serializers.py:633 msgid "Accept as consumed by this build order" msgstr "接受此构建订单所消耗的内容" -#: build/serializers.py:635 +#: build/serializers.py:634 msgid "Deallocate before completing this build order" msgstr "在完成此构建订单前取消分配" -#: build/serializers.py:657 +#: build/serializers.py:656 msgid "Overallocated Stock" msgstr "超出分配的库存" -#: build/serializers.py:659 +#: build/serializers.py:658 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "你想如何处理分配给构建订单的额外库存物品" -#: build/serializers.py:669 +#: build/serializers.py:668 msgid "Some stock items have been overallocated" msgstr "一些库存项已被过度分配" -#: build/serializers.py:674 +#: build/serializers.py:673 msgid "Accept Unallocated" msgstr "接受未分配的" -#: build/serializers.py:675 +#: build/serializers.py:674 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "接受库存项未被完成分配至此生产订单" -#: build/serializers.py:685 templates/js/translated/build.js:315 +#: build/serializers.py:684 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" msgstr "所需库存尚未完全分配" -#: build/serializers.py:690 order/serializers.py:301 order/serializers.py:1246 +#: build/serializers.py:689 order/serializers.py:301 order/serializers.py:1246 msgid "Accept Incomplete" msgstr "接受未完成" -#: build/serializers.py:691 +#: build/serializers.py:690 msgid "Accept that the required number of build outputs have not been completed" msgstr "接受所需的生产产出未完成" -#: build/serializers.py:701 templates/js/translated/build.js:319 +#: build/serializers.py:700 templates/js/translated/build.js:319 msgid "Required build quantity has not been completed" msgstr "所需生产数量尚未完成" -#: build/serializers.py:710 templates/js/translated/build.js:303 +#: build/serializers.py:709 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" msgstr "生产订单有未完成的产出" -#: build/serializers.py:740 +#: build/serializers.py:739 #, fuzzy #| msgid "Build actions" msgid "Build Line" msgstr "生产操作" -#: build/serializers.py:750 +#: build/serializers.py:749 msgid "Build output" msgstr "生产产出" -#: build/serializers.py:758 +#: build/serializers.py:757 msgid "Build output must point to the same build" msgstr "生产产出必须指向相同的生产" -#: build/serializers.py:794 +#: build/serializers.py:793 #, fuzzy #| msgid "Delete parameters" msgid "Build Line Item" msgstr "删除参数" -#: build/serializers.py:808 +#: build/serializers.py:807 msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part 必须与生产订单指向相同的部件" -#: build/serializers.py:823 stock/serializers.py:1065 +#: build/serializers.py:822 stock/serializers.py:1194 msgid "Item must be in stock" msgstr "项目必须在库存中" -#: build/serializers.py:871 order/serializers.py:1237 +#: build/serializers.py:870 order/serializers.py:1237 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "可用量 ({q}) 超出了限制" -#: build/serializers.py:877 +#: build/serializers.py:876 msgid "Build output must be specified for allocation of tracked parts" msgstr "对于被追踪的部件的分配,必须指定生产产出" -#: build/serializers.py:884 +#: build/serializers.py:883 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "对于未被追踪的部件,无法指定生产产出" -#: build/serializers.py:908 order/serializers.py:1489 +#: build/serializers.py:907 order/serializers.py:1489 msgid "Allocation items must be provided" msgstr "必须提供分配的项" -#: build/serializers.py:971 +#: build/serializers.py:970 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "部件来源的仓储地点(留空则可来源于任何仓储地点)" -#: build/serializers.py:979 +#: build/serializers.py:978 msgid "Exclude Location" msgstr "排除地点" -#: build/serializers.py:980 +#: build/serializers.py:979 msgid "Exclude stock items from this selected location" msgstr "从该选定的仓储地点排除库存项" -#: build/serializers.py:985 +#: build/serializers.py:984 msgid "Interchangeable Stock" msgstr "可互换的库存" -#: build/serializers.py:986 +#: build/serializers.py:985 msgid "Stock items in multiple locations can be used interchangeably" msgstr "多处地点的库存项可以互换使用" -#: build/serializers.py:991 +#: build/serializers.py:990 msgid "Substitute Stock" msgstr "可替换的库存" -#: build/serializers.py:992 +#: build/serializers.py:991 msgid "Allow allocation of substitute parts" msgstr "允许分配可替换的部件" -#: build/serializers.py:997 +#: build/serializers.py:996 msgid "Optional Items" msgstr "可选项目" -#: build/serializers.py:998 +#: build/serializers.py:997 msgid "Allocate optional BOM items to build order" msgstr "分配可选的BOM项目来建立订单" -#: build/serializers.py:1020 +#: build/serializers.py:1019 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1110 part/models.py:3930 part/models.py:4366 -#: stock/api.py:758 +#: build/serializers.py:1109 part/models.py:3973 part/models.py:4409 +#: stock/api.py:792 msgid "BOM Item" msgstr "BOM项" -#: build/serializers.py:1119 templates/js/translated/index.js:130 +#: build/serializers.py:1118 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1124 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:817 part/serializers.py:1489 +#: build/serializers.py:1123 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:832 part/serializers.py:1504 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2613 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 @@ -1782,15 +1789,15 @@ msgstr "" msgid "On Order" msgstr "" -#: build/serializers.py:1129 part/serializers.py:1491 +#: build/serializers.py:1128 part/serializers.py:1506 #: templates/js/translated/build.js:2617 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "正在生产" -#: build/serializers.py:1134 part/bom.py:172 part/serializers.py:1514 +#: build/serializers.py:1133 part/bom.py:172 part/serializers.py:1529 #: part/templates/part/part_base.html:192 -#: templates/js/translated/sales_order.js:1893 +#: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "可用库存" @@ -1921,18 +1928,18 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "库存尚未被完全分配到此构建订单" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:297 -#: order/models.py:1294 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:310 +#: order/models.py:1340 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 -#: order/templates/order/sales_order_base.html:192 -#: report/templates/report/inventree_build_order_base.html:125 +#: order/templates/order/sales_order_base.html:196 +#: report/templates/report/inventree_build_order_report.html:125 #: templates/js/translated/build.js:2239 templates/js/translated/part.js:1830 -#: templates/js/translated/purchase_order.js:1740 -#: templates/js/translated/purchase_order.js:2148 -#: templates/js/translated/return_order.js:347 -#: templates/js/translated/return_order.js:751 -#: templates/js/translated/sales_order.js:835 -#: templates/js/translated/sales_order.js:1867 +#: templates/js/translated/purchase_order.js:1739 +#: templates/js/translated/purchase_order.js:2147 +#: templates/js/translated/return_order.js:346 +#: templates/js/translated/return_order.js:750 +#: templates/js/translated/sales_order.js:871 +#: templates/js/translated/sales_order.js:1903 msgid "Target Date" msgstr "预计日期" @@ -1945,7 +1952,7 @@ msgstr "此次生产的截止日期为 %(target)s" #: build/templates/build/build_base.html:222 #: order/templates/order/order_base.html:122 #: order/templates/order/return_order_base.html:117 -#: order/templates/order/sales_order_base.html:122 +#: order/templates/order/sales_order_base.html:126 #: templates/js/translated/table_filters.js:98 #: templates/js/translated/table_filters.js:524 #: templates/js/translated/table_filters.js:626 @@ -1959,24 +1966,24 @@ msgid "Completed Outputs" msgstr "已完成输出" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:1538 -#: order/models.py:1652 order/models.py:1806 +#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:848 +#: order/models.py:1584 order/models.py:1698 order/models.py:1852 #: 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 +#: report/templates/report/inventree_build_order_report.html:135 +#: report/templates/report/inventree_sales_order_report.html:14 #: stock/templates/stock/item_base.html:369 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:929 -#: templates/js/translated/sales_order.js:769 -#: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2927 +#: templates/js/translated/sales_order.js:805 +#: templates/js/translated/sales_order.js:1028 +#: templates/js/translated/stock.js:2924 msgid "Sales Order" msgstr "销售订单" #: build/templates/build/build_base.html:197 #: build/templates/build/detail.html:115 -#: report/templates/report/inventree_build_order_base.html:152 +#: report/templates/report/inventree_build_order_report.html:152 #: templates/js/translated/table_filters.js:24 msgid "Issued By" msgstr "发布者" @@ -1986,17 +1993,17 @@ msgstr "发布者" msgid "Priority" msgstr "优先级" -#: build/templates/build/build_base.html:273 +#: build/templates/build/build_base.html:269 msgid "Delete Build Order" msgstr "删除生产订单" -#: build/templates/build/build_base.html:283 +#: build/templates/build/build_base.html:279 #, fuzzy #| msgid "Build Order" msgid "Build Order QR Code" msgstr "生产订单" -#: build/templates/build/build_base.html:295 +#: build/templates/build/build_base.html:291 #, fuzzy #| msgid "Print Build Orders" msgid "Link Barcode to Build Order" @@ -2014,8 +2021,8 @@ msgstr "库存来源" msgid "Stock can be taken from any available location." msgstr "库存可以从任何可用的地点获得。" -#: build/templates/build/detail.html:49 order/models.py:1430 -#: templates/js/translated/purchase_order.js:2190 +#: build/templates/build/detail.html:49 order/models.py:1476 +#: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "目的地" @@ -2030,10 +2037,10 @@ msgstr "已分配的部件" #: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 #: templates/js/translated/build.js:1380 -#: templates/js/translated/model_renderers.js:235 +#: templates/js/translated/model_renderers.js:241 #: templates/js/translated/purchase_order.js:1274 -#: templates/js/translated/stock.js:1133 templates/js/translated/stock.js:2192 -#: templates/js/translated/stock.js:3130 +#: templates/js/translated/stock.js:1133 templates/js/translated/stock.js:2190 +#: templates/js/translated/stock.js:3127 #: templates/js/translated/table_filters.js:313 #: templates/js/translated/table_filters.js:404 msgid "Batch" @@ -2042,7 +2049,7 @@ msgstr "批量" #: build/templates/build/detail.html:133 #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:151 -#: order/templates/order/sales_order_base.html:186 +#: order/templates/order/sales_order_base.html:190 #: templates/js/translated/build.js:2199 msgid "Created" msgstr "已创建" @@ -2052,7 +2059,7 @@ msgid "No target date set" msgstr "无预计日期" #: build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:202 +#: order/templates/order/sales_order_base.html:206 #: templates/js/translated/table_filters.js:689 msgid "Completed" msgstr "已完成" @@ -2362,8 +2369,8 @@ msgstr "" #: common/models.py:1316 common/models.py:1372 common/models.py:1385 #: common/models.py:1393 common/models.py:1402 common/models.py:1411 -#: common/models.py:1613 common/models.py:1635 common/models.py:1750 -#: common/models.py:2061 +#: common/models.py:1619 common/models.py:1641 common/models.py:1756 +#: common/models.py:2067 msgid "days" msgstr "天" @@ -2510,1249 +2517,1260 @@ msgid "Enable revision field for Part" msgstr "启用内部商品价格" #: common/models.py:1440 +#, fuzzy +#| msgid "Removed from assembly" +msgid "Allow Deletion from Assembly" +msgstr "已从组装中删除" + +#: common/models.py:1441 +msgid "Allow deletion of parts which are used in an assembly" +msgstr "" + +#: common/models.py:1446 msgid "IPN Regex" msgstr "" -#: common/models.py:1441 +#: common/models.py:1447 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1444 +#: common/models.py:1450 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1445 +#: common/models.py:1451 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1450 +#: common/models.py:1456 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1451 +#: common/models.py:1457 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1456 +#: common/models.py:1462 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1457 +#: common/models.py:1463 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1462 +#: common/models.py:1468 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1463 +#: common/models.py:1469 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1468 +#: common/models.py:1474 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1469 +#: common/models.py:1475 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1474 +#: common/models.py:1480 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1475 +#: common/models.py:1481 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1480 part/admin.py:108 part/models.py:3772 -#: report/models.py:182 stock/serializers.py:99 +#: common/models.py:1486 part/admin.py:108 part/models.py:3815 +#: report/models.py:294 report/models.py:361 report/serializers.py:90 +#: report/serializers.py:131 stock/serializers.py:228 #: templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:767 msgid "Template" msgstr "模板" -#: common/models.py:1481 +#: common/models.py:1487 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1486 part/admin.py:91 part/admin.py:431 part/models.py:1016 +#: common/models.py:1492 part/admin.py:91 part/admin.py:433 part/models.py:1059 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "组装" -#: common/models.py:1487 +#: common/models.py:1493 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1492 part/admin.py:95 part/models.py:1022 +#: common/models.py:1498 part/admin.py:95 part/models.py:1065 #: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "组件" -#: common/models.py:1493 +#: common/models.py:1499 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1498 part/admin.py:100 part/models.py:1034 +#: common/models.py:1504 part/admin.py:100 part/models.py:1077 msgid "Purchaseable" msgstr "可购买" -#: common/models.py:1499 +#: common/models.py:1505 msgid "Parts are purchaseable by default" msgstr "商品默认可购买" -#: common/models.py:1504 part/admin.py:104 part/models.py:1040 +#: common/models.py:1510 part/admin.py:104 part/models.py:1083 #: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "可销售" -#: common/models.py:1505 +#: common/models.py:1511 msgid "Parts are salable by default" msgstr "商品默认可销售" -#: common/models.py:1510 part/admin.py:113 part/models.py:1028 +#: common/models.py:1516 part/admin.py:113 part/models.py:1071 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "可追踪" -#: common/models.py:1511 +#: common/models.py:1517 msgid "Parts are trackable by default" msgstr "商品默认可跟踪" -#: common/models.py:1516 part/admin.py:117 part/models.py:1050 +#: common/models.py:1522 part/admin.py:117 part/models.py:1093 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "虚拟" -#: common/models.py:1517 +#: common/models.py:1523 msgid "Parts are virtual by default" msgstr "商品默认是虚拟的" -#: common/models.py:1522 +#: common/models.py:1528 msgid "Show Import in Views" msgstr "视图中显示导入" -#: common/models.py:1523 +#: common/models.py:1529 msgid "Display the import wizard in some part views" msgstr "在一些商品视图中显示导入向导" -#: common/models.py:1528 +#: common/models.py:1534 msgid "Show related parts" msgstr "显示相关商品" -#: common/models.py:1529 +#: common/models.py:1535 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1534 +#: common/models.py:1540 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1535 +#: common/models.py:1541 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1540 templates/js/translated/part.js:107 +#: common/models.py:1546 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1542 +#: common/models.py:1548 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1548 +#: common/models.py:1554 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1549 +#: common/models.py:1555 msgid "Format to display the part name" msgstr "" -#: common/models.py:1555 +#: common/models.py:1561 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1556 +#: common/models.py:1562 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1560 +#: common/models.py:1566 #, fuzzy #| msgid "Parameter units" msgid "Enforce Parameter Units" msgstr "参数单位" -#: common/models.py:1562 +#: common/models.py:1568 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1568 +#: common/models.py:1574 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1570 +#: common/models.py:1576 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1576 +#: common/models.py:1582 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1578 +#: common/models.py:1584 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1584 +#: common/models.py:1590 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1586 +#: common/models.py:1592 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1592 +#: common/models.py:1598 msgid "Purchase History Override" msgstr "" -#: common/models.py:1594 +#: common/models.py:1600 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1600 +#: common/models.py:1606 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1602 +#: common/models.py:1608 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1608 +#: common/models.py:1614 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1610 +#: common/models.py:1616 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1617 +#: common/models.py:1623 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1618 +#: common/models.py:1624 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1623 +#: common/models.py:1629 msgid "Active Variants Only" msgstr "" -#: common/models.py:1625 +#: common/models.py:1631 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1631 +#: common/models.py:1637 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1633 +#: common/models.py:1639 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1640 +#: common/models.py:1646 msgid "Internal Prices" msgstr "内部价格" -#: common/models.py:1641 +#: common/models.py:1647 msgid "Enable internal prices for parts" msgstr "启用内部商品价格" -#: common/models.py:1646 +#: common/models.py:1652 msgid "Internal Price Override" msgstr "" -#: common/models.py:1648 +#: common/models.py:1654 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1654 +#: common/models.py:1660 msgid "Enable label printing" msgstr "" -#: common/models.py:1655 +#: common/models.py:1661 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1660 +#: common/models.py:1666 msgid "Label Image DPI" msgstr "" -#: common/models.py:1662 +#: common/models.py:1668 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1668 +#: common/models.py:1674 msgid "Enable Reports" msgstr "" -#: common/models.py:1669 +#: common/models.py:1675 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1674 templates/stats.html:25 +#: common/models.py:1680 templates/stats.html:25 msgid "Debug Mode" msgstr "调试模式" -#: common/models.py:1675 +#: common/models.py:1681 msgid "Generate reports in debug mode (HTML output)" msgstr "在调试模式生成报告(HTML输出)" -#: common/models.py:1680 +#: common/models.py:1686 #, fuzzy #| msgid "No Reports Found" msgid "Log Report Errors" msgstr "没有找到报表" -#: common/models.py:1681 +#: common/models.py:1687 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1686 plugin/builtin/labels/label_sheet.py:28 -#: report/models.py:203 +#: common/models.py:1692 plugin/builtin/labels/label_sheet.py:28 +#: report/models.py:302 msgid "Page Size" msgstr "页面大小" -#: common/models.py:1687 +#: common/models.py:1693 msgid "Default page size for PDF reports" msgstr "PDF 报表默认页面大小" -#: common/models.py:1692 +#: common/models.py:1698 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1693 +#: common/models.py:1699 msgid "Enable generation of test reports" msgstr "启用生成测试报表" -#: common/models.py:1698 +#: common/models.py:1704 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1700 +#: common/models.py:1706 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1706 +#: common/models.py:1712 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1707 +#: common/models.py:1713 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1712 +#: common/models.py:1718 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1713 +#: common/models.py:1719 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1718 +#: common/models.py:1724 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1720 +#: common/models.py:1726 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1726 +#: common/models.py:1732 msgid "Batch Code Template" msgstr "" -#: common/models.py:1728 +#: common/models.py:1734 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1733 +#: common/models.py:1739 msgid "Stock Expiry" msgstr "库存到期" -#: common/models.py:1734 +#: common/models.py:1740 msgid "Enable stock expiry functionality" msgstr "启用库存到期功能" -#: common/models.py:1739 +#: common/models.py:1745 msgid "Sell Expired Stock" msgstr "销售过期库存" -#: common/models.py:1740 +#: common/models.py:1746 msgid "Allow sale of expired stock" msgstr "允许销售过期库存" -#: common/models.py:1745 +#: common/models.py:1751 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1747 +#: common/models.py:1753 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1754 +#: common/models.py:1760 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1755 +#: common/models.py:1761 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1760 +#: common/models.py:1766 msgid "Stock Ownership Control" msgstr "库存所有权控制" -#: common/models.py:1761 +#: common/models.py:1767 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1766 +#: common/models.py:1772 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1767 +#: common/models.py:1773 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1771 +#: common/models.py:1777 #, fuzzy #| msgid "Select Stock Items" msgid "Show Installed Stock Items" msgstr "选择库存项" -#: common/models.py:1772 +#: common/models.py:1778 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1777 +#: common/models.py:1783 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1779 +#: common/models.py:1785 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1785 +#: common/models.py:1791 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1787 +#: common/models.py:1793 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1793 +#: common/models.py:1799 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1795 +#: common/models.py:1801 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1801 common/models.py:1829 common/models.py:1851 -#: common/models.py:1879 +#: common/models.py:1807 common/models.py:1835 common/models.py:1857 +#: common/models.py:1885 #, fuzzy #| msgid "Responsible" msgid "Require Responsible Owner" msgstr "责任人" -#: common/models.py:1802 common/models.py:1830 common/models.py:1852 -#: common/models.py:1880 +#: common/models.py:1808 common/models.py:1836 common/models.py:1858 +#: common/models.py:1886 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1807 +#: common/models.py:1813 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1809 +#: common/models.py:1815 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1815 +#: common/models.py:1821 #, fuzzy #| msgid "Sales Orders" msgid "Enable Return Orders" msgstr "销售订单" -#: common/models.py:1816 +#: common/models.py:1822 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1821 +#: common/models.py:1827 #, fuzzy #| msgid "Build Order Reference" msgid "Return Order Reference Pattern" msgstr "相关生产订单" -#: common/models.py:1823 +#: common/models.py:1829 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1835 +#: common/models.py:1841 #, fuzzy #| msgid "Complete Build Order" msgid "Edit Completed Return Orders" msgstr "生产订单完成" -#: common/models.py:1837 +#: common/models.py:1843 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1843 +#: common/models.py:1849 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1845 +#: common/models.py:1851 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1857 +#: common/models.py:1863 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1858 +#: common/models.py:1864 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1863 +#: common/models.py:1869 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1865 +#: common/models.py:1871 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1871 +#: common/models.py:1877 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1873 +#: common/models.py:1879 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1885 +#: common/models.py:1891 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1887 +#: common/models.py:1893 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1893 +#: common/models.py:1899 #, fuzzy #| msgid "Create Purchase Order" msgid "Auto Complete Purchase Orders" msgstr "创建采购订单" -#: common/models.py:1895 +#: common/models.py:1901 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1902 +#: common/models.py:1908 msgid "Enable password forgot" msgstr "" -#: common/models.py:1903 +#: common/models.py:1909 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1908 +#: common/models.py:1914 msgid "Enable registration" msgstr "" -#: common/models.py:1909 +#: common/models.py:1915 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1914 +#: common/models.py:1920 msgid "Enable SSO" msgstr "" -#: common/models.py:1915 +#: common/models.py:1921 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1920 +#: common/models.py:1926 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1922 +#: common/models.py:1928 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1928 +#: common/models.py:1934 msgid "Email required" msgstr "" -#: common/models.py:1929 +#: common/models.py:1935 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1934 +#: common/models.py:1940 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1936 +#: common/models.py:1942 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1942 +#: common/models.py:1948 msgid "Mail twice" msgstr "" -#: common/models.py:1943 +#: common/models.py:1949 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1948 +#: common/models.py:1954 msgid "Password twice" msgstr "" -#: common/models.py:1949 +#: common/models.py:1955 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1954 +#: common/models.py:1960 msgid "Allowed domains" msgstr "" -#: common/models.py:1956 +#: common/models.py:1962 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1962 +#: common/models.py:1968 msgid "Group on signup" msgstr "" -#: common/models.py:1963 +#: common/models.py:1969 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1968 +#: common/models.py:1974 msgid "Enforce MFA" msgstr "" -#: common/models.py:1969 +#: common/models.py:1975 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1974 +#: common/models.py:1980 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1976 +#: common/models.py:1982 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1984 +#: common/models.py:1990 msgid "Check for plugin updates" msgstr "" -#: common/models.py:1985 +#: common/models.py:1991 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:1991 +#: common/models.py:1997 msgid "Enable URL integration" msgstr "" -#: common/models.py:1992 +#: common/models.py:1998 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1998 +#: common/models.py:2004 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1999 +#: common/models.py:2005 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2005 +#: common/models.py:2011 msgid "Enable app integration" msgstr "" -#: common/models.py:2006 +#: common/models.py:2012 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2012 +#: common/models.py:2018 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2013 +#: common/models.py:2019 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2019 +#: common/models.py:2025 msgid "Enable event integration" msgstr "" -#: common/models.py:2020 +#: common/models.py:2026 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2026 +#: common/models.py:2032 #, fuzzy #| msgid "Sales Orders" msgid "Enable project codes" msgstr "销售订单" -#: common/models.py:2027 +#: common/models.py:2033 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2032 +#: common/models.py:2038 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2034 +#: common/models.py:2040 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2040 +#: common/models.py:2046 #, fuzzy #| msgid "Exclude Location" msgid "Exclude External Locations" msgstr "排除地点" -#: common/models.py:2042 +#: common/models.py:2048 #, fuzzy #| msgid "Exclude stock items from this selected location" msgid "Exclude stock items in external locations from stocktake calculations" msgstr "从该选定的仓储地点排除库存项" -#: common/models.py:2048 +#: common/models.py:2054 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2050 +#: common/models.py:2056 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2056 +#: common/models.py:2062 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2058 +#: common/models.py:2064 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2065 +#: common/models.py:2071 msgid "Display Users full names" msgstr "" -#: common/models.py:2066 +#: common/models.py:2072 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2071 +#: common/models.py:2077 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2072 +#: common/models.py:2078 #, fuzzy #| msgid "Enable generation of test reports" msgid "Enable test station data collection for test results" msgstr "启用生成测试报表" -#: common/models.py:2084 common/models.py:2494 +#: common/models.py:2090 common/models.py:2500 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2127 +#: common/models.py:2133 #, fuzzy #| msgid "Build to allocate parts" msgid "Hide inactive parts" msgstr "生产以分配部件" -#: common/models.py:2129 +#: common/models.py:2135 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2135 +#: common/models.py:2141 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2136 +#: common/models.py:2142 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2141 +#: common/models.py:2147 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2142 +#: common/models.py:2148 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2147 +#: common/models.py:2153 msgid "Show latest parts" msgstr "显示最近商品" -#: common/models.py:2148 +#: common/models.py:2154 msgid "Show latest parts on the homepage" msgstr "在主页上显示最近商品" -#: common/models.py:2153 +#: common/models.py:2159 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2154 +#: common/models.py:2160 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2159 +#: common/models.py:2165 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2160 +#: common/models.py:2166 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2165 +#: common/models.py:2171 msgid "Show low stock" msgstr "" -#: common/models.py:2166 +#: common/models.py:2172 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2171 +#: common/models.py:2177 msgid "Show depleted stock" msgstr "" -#: common/models.py:2172 +#: common/models.py:2178 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2177 +#: common/models.py:2183 msgid "Show needed stock" msgstr "" -#: common/models.py:2178 +#: common/models.py:2184 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2183 +#: common/models.py:2189 msgid "Show expired stock" msgstr "" -#: common/models.py:2184 +#: common/models.py:2190 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2189 +#: common/models.py:2195 msgid "Show stale stock" msgstr "" -#: common/models.py:2190 +#: common/models.py:2196 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2195 +#: common/models.py:2201 msgid "Show pending builds" msgstr "" -#: common/models.py:2196 +#: common/models.py:2202 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2201 +#: common/models.py:2207 msgid "Show overdue builds" msgstr "显示逾期生产" -#: common/models.py:2202 +#: common/models.py:2208 msgid "Show overdue builds on the homepage" msgstr "在主页上显示逾期的生产" -#: common/models.py:2207 +#: common/models.py:2213 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2208 +#: common/models.py:2214 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2213 +#: common/models.py:2219 msgid "Show overdue POs" msgstr "" -#: common/models.py:2214 +#: common/models.py:2220 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2219 +#: common/models.py:2225 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2220 +#: common/models.py:2226 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2225 +#: common/models.py:2231 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2226 +#: common/models.py:2232 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2231 +#: common/models.py:2237 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2232 +#: common/models.py:2238 #, fuzzy #| msgid "Show latest parts on the homepage" msgid "Show pending SO shipments on the homepage" msgstr "在主页上显示最近商品" -#: common/models.py:2237 +#: common/models.py:2243 msgid "Show News" msgstr "" -#: common/models.py:2238 +#: common/models.py:2244 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2243 +#: common/models.py:2249 msgid "Inline label display" msgstr "内嵌标签显示" -#: common/models.py:2245 +#: common/models.py:2251 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "在浏览器中显示 PDF 标签,而不是以文件形式下载" -#: common/models.py:2251 +#: common/models.py:2257 msgid "Default label printer" msgstr "" -#: common/models.py:2253 +#: common/models.py:2259 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2259 +#: common/models.py:2265 msgid "Inline report display" msgstr "" -#: common/models.py:2261 +#: common/models.py:2267 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "在浏览器中显示 PDF 报告,而不是以文件形式下载" -#: common/models.py:2267 +#: common/models.py:2273 msgid "Search Parts" msgstr "" -#: common/models.py:2268 +#: common/models.py:2274 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2273 +#: common/models.py:2279 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2274 +#: common/models.py:2280 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2279 +#: common/models.py:2285 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2280 +#: common/models.py:2286 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2285 +#: common/models.py:2291 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2286 +#: common/models.py:2292 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2291 +#: common/models.py:2297 msgid "Search Categories" msgstr "" -#: common/models.py:2292 +#: common/models.py:2298 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2297 +#: common/models.py:2303 msgid "Search Stock" msgstr "" -#: common/models.py:2298 +#: common/models.py:2304 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2303 +#: common/models.py:2309 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2305 +#: common/models.py:2311 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2311 +#: common/models.py:2317 msgid "Search Locations" msgstr "" -#: common/models.py:2312 +#: common/models.py:2318 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2317 +#: common/models.py:2323 msgid "Search Companies" msgstr "" -#: common/models.py:2318 +#: common/models.py:2324 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2323 +#: common/models.py:2329 msgid "Search Build Orders" msgstr "" -#: common/models.py:2324 +#: common/models.py:2330 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2329 +#: common/models.py:2335 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2330 +#: common/models.py:2336 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2335 +#: common/models.py:2341 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2337 +#: common/models.py:2343 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2343 +#: common/models.py:2349 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2344 +#: common/models.py:2350 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2349 +#: common/models.py:2355 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2351 +#: common/models.py:2357 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2357 +#: common/models.py:2363 #, fuzzy #| msgid "Purchase Orders" msgid "Search Return Orders" msgstr "采购订单" -#: common/models.py:2358 +#: common/models.py:2364 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2363 +#: common/models.py:2369 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2365 +#: common/models.py:2371 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2371 +#: common/models.py:2377 msgid "Search Preview Results" msgstr "搜索预览结果" -#: common/models.py:2373 +#: common/models.py:2379 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2379 +#: common/models.py:2385 #, fuzzy #| msgid "Search" msgid "Regex Search" msgstr "搜索" -#: common/models.py:2380 +#: common/models.py:2386 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2385 +#: common/models.py:2391 msgid "Whole Word Search" msgstr "" -#: common/models.py:2386 +#: common/models.py:2392 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2391 +#: common/models.py:2397 msgid "Show Quantity in Forms" msgstr "在表格中显示数量" -#: common/models.py:2392 +#: common/models.py:2398 msgid "Display available part quantity in some forms" msgstr "在某些表格中显示可用的商品数量" -#: common/models.py:2397 +#: common/models.py:2403 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2398 +#: common/models.py:2404 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2403 +#: common/models.py:2409 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2404 +#: common/models.py:2410 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2409 +#: common/models.py:2415 msgid "Date Format" msgstr "" -#: common/models.py:2410 +#: common/models.py:2416 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2423 part/templates/part/detail.html:41 +#: common/models.py:2429 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2424 +#: common/models.py:2430 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2429 part/templates/part/detail.html:62 +#: common/models.py:2435 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2431 +#: common/models.py:2437 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2437 +#: common/models.py:2443 msgid "Table String Length" msgstr "" -#: common/models.py:2439 +#: common/models.py:2445 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2445 +#: common/models.py:2451 #, fuzzy #| msgid "Select Label Template" msgid "Default part label template" msgstr "选择标签模板" -#: common/models.py:2446 +#: common/models.py:2452 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2451 +#: common/models.py:2457 #, fuzzy #| msgid "stock items selected" msgid "Default stock item template" msgstr "已选择库存项" -#: common/models.py:2453 +#: common/models.py:2459 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2459 +#: common/models.py:2465 #, fuzzy #| msgid "No stock location set" msgid "Default stock location label template" msgstr "未设置仓储地点" -#: common/models.py:2461 +#: common/models.py:2467 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2467 +#: common/models.py:2473 #, fuzzy #| msgid "No stock location set" msgid "Default build line label template" msgstr "未设置仓储地点" -#: common/models.py:2469 +#: common/models.py:2475 msgid "The build line label template to be automatically selected" msgstr "" -#: common/models.py:2475 +#: common/models.py:2481 msgid "Receive error reports" msgstr "" -#: common/models.py:2476 +#: common/models.py:2482 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2481 +#: common/models.py:2487 msgid "Last used printing machines" msgstr "" -#: common/models.py:2482 +#: common/models.py:2488 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2525 +#: common/models.py:2531 msgid "Price break quantity" msgstr "" -#: common/models.py:2532 company/serializers.py:496 order/admin.py:42 -#: order/models.py:1333 order/models.py:2243 +#: common/models.py:2538 company/serializers.py:496 order/admin.py:42 +#: order/models.py:1379 order/models.py:2298 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 -#: templates/js/translated/return_order.js:741 +#: templates/js/translated/return_order.js:740 msgid "Price" msgstr "价格" -#: common/models.py:2533 +#: common/models.py:2539 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2704 common/models.py:2889 +#: common/models.py:2710 common/models.py:2895 msgid "Endpoint" msgstr "" -#: common/models.py:2705 +#: common/models.py:2711 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2715 +#: common/models.py:2721 msgid "Name for this webhook" msgstr "" -#: common/models.py:2719 company/models.py:160 company/models.py:814 -#: machine/models.py:39 part/admin.py:88 part/models.py:1045 -#: plugin/models.py:56 templates/js/translated/company.js:523 +#: common/models.py:2725 company/models.py:160 company/models.py:814 +#: machine/models.py:39 part/admin.py:88 part/models.py:1088 +#: plugin/models.py:65 templates/js/translated/company.js:523 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:492 @@ -3762,145 +3780,145 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2719 +#: common/models.py:2725 msgid "Is this webhook active" msgstr "" -#: common/models.py:2735 users/models.py:159 +#: common/models.py:2741 users/models.py:159 msgid "Token" msgstr "令牌" -#: common/models.py:2736 +#: common/models.py:2742 msgid "Token for access" msgstr "" -#: common/models.py:2744 +#: common/models.py:2750 msgid "Secret" msgstr "" -#: common/models.py:2745 +#: common/models.py:2751 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2853 +#: common/models.py:2859 msgid "Message ID" msgstr "" -#: common/models.py:2854 +#: common/models.py:2860 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2862 +#: common/models.py:2868 msgid "Host" msgstr "" -#: common/models.py:2863 +#: common/models.py:2869 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2871 +#: common/models.py:2877 msgid "Header" msgstr "" -#: common/models.py:2872 +#: common/models.py:2878 msgid "Header of this message" msgstr "" -#: common/models.py:2879 +#: common/models.py:2885 msgid "Body" msgstr "" -#: common/models.py:2880 +#: common/models.py:2886 msgid "Body of this message" msgstr "" -#: common/models.py:2890 +#: common/models.py:2896 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2895 +#: common/models.py:2901 msgid "Worked on" msgstr "" -#: common/models.py:2896 +#: common/models.py:2902 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3022 +#: common/models.py:3028 msgid "Id" msgstr "" -#: common/models.py:3024 templates/js/translated/company.js:965 +#: common/models.py:3030 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3028 templates/js/translated/news.js:60 +#: common/models.py:3034 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3030 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3036 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3032 templates/js/translated/news.js:52 +#: common/models.py:3038 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3035 +#: common/models.py:3041 msgid "Read" msgstr "" -#: common/models.py:3035 +#: common/models.py:3041 msgid "Was this news item read?" msgstr "" -#: common/models.py:3052 company/models.py:156 part/models.py:929 +#: common/models.py:3058 company/models.py:156 part/models.py:972 #: 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 +#: report/templates/report/inventree_return_order_report.html:35 #: stock/templates/stock/item_base.html:133 templates/503.html:31 #: templates/hover_image.html:7 templates/hover_image.html:9 #: templates/modals.html:6 msgid "Image" msgstr "图片" -#: common/models.py:3052 +#: common/models.py:3058 #, fuzzy #| msgid "Image" msgid "Image file" msgstr "图片" -#: common/models.py:3094 +#: common/models.py:3100 #, fuzzy #| msgid "Must be a valid number" msgid "Unit name must be a valid identifier" msgstr "必须是有效数字" -#: common/models.py:3113 +#: common/models.py:3119 #, fuzzy #| msgid "Part name" msgid "Unit name" msgstr "商品名称" -#: common/models.py:3120 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3126 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3121 +#: common/models.py:3127 #, fuzzy #| msgid "Optional Items" msgid "Optional unit symbol" msgstr "可选项目" -#: common/models.py:3128 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3134 templates/InvenTree/settings/settings_staff_js.html:71 #, fuzzy #| msgid "Destination" msgid "Definition" msgstr "目的地" -#: common/models.py:3129 +#: common/models.py:3135 msgid "Unit definition" msgstr "" @@ -4113,9 +4131,9 @@ msgid "Contact email address" msgstr "联系人电子邮件" #: company/models.py:139 company/templates/company/company_base.html:145 -#: order/models.py:331 order/templates/order/order_base.html:203 +#: order/models.py:344 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 -#: order/templates/order/sales_order_base.html:214 +#: order/templates/order/sales_order_base.html:218 msgid "Contact" msgstr "联系人" @@ -4163,7 +4181,7 @@ msgstr "该公司使用的默认货币" #: company/models.py:273 company/models.py:382 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:776 +#: company/templates/company/company_base.html:12 stock/api.py:810 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "公司" @@ -4273,8 +4291,8 @@ msgstr "" msgid "Link to address information (external)" msgstr "描述 (可选)" -#: company/models.py:489 company/models.py:792 stock/models.py:751 -#: stock/serializers.py:266 stock/templates/stock/item_base.html:142 +#: company/models.py:489 company/models.py:792 stock/models.py:772 +#: stock/serializers.py:395 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -4285,7 +4303,7 @@ msgstr "选择商品" #: company/models.py:500 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:515 +#: company/templates/company/supplier_part.html:145 part/serializers.py:530 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -4300,13 +4318,13 @@ msgid "Select manufacturer" msgstr "选择制造商" #: company/models.py:507 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:525 +#: company/templates/company/supplier_part.html:153 part/serializers.py:540 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800 -#: templates/js/translated/purchase_order.js:1852 -#: templates/js/translated/purchase_order.js:2054 +#: templates/js/translated/purchase_order.js:1851 +#: templates/js/translated/purchase_order.js:2053 msgid "MPN" msgstr "" @@ -4333,9 +4351,8 @@ msgstr "制造商商品" msgid "Parameter name" msgstr "参数名称" -#: company/models.py:621 -#: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2448 templates/js/translated/company.js:1166 +#: company/models.py:621 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2425 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492 #: templates/js/translated/stock.js:1522 msgid "Value" @@ -4346,10 +4363,10 @@ msgid "Parameter value" msgstr "参数值" #: company/models.py:629 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1009 part/models.py:3623 +#: part/admin.py:57 part/models.py:1052 part/models.py:3666 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 -#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370 +#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2369 msgid "Units" msgstr "单位" @@ -4372,9 +4389,9 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:802 company/templates/company/company_base.html:87 -#: company/templates/company/supplier_part.html:129 order/models.py:465 +#: company/templates/company/supplier_part.html:129 order/models.py:487 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:499 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:514 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 #: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 @@ -4382,7 +4399,7 @@ msgstr "" #: templates/js/translated/company.js:511 #: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1690 +#: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/table_filters.js:804 msgid "Supplier" msgstr "供应商" @@ -4391,7 +4408,7 @@ msgstr "供应商" msgid "Select supplier" msgstr "选择供应商" -#: company/models.py:809 part/serializers.py:510 +#: company/models.py:809 part/serializers.py:525 msgid "Supplier stock keeping unit" msgstr "" @@ -4414,29 +4431,29 @@ msgid "Supplier part description" msgstr "供应商商品描述" #: company/models.py:848 company/templates/company/supplier_part.html:187 -#: part/admin.py:418 part/models.py:4070 part/templates/part/upload_bom.html:59 +#: part/admin.py:420 part/models.py:4113 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 -#: report/templates/report/inventree_slr_report.html:105 -#: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:579 +#: report/templates/report/inventree_purchase_order_report.html:32 +#: report/templates/report/inventree_return_order_report.html:27 +#: report/templates/report/inventree_sales_order_report.html:32 +#: report/templates/report/inventree_stock_location_report.html:105 +#: stock/serializers.py:708 msgid "Note" msgstr "备注" -#: company/models.py:857 part/models.py:1967 +#: company/models.py:857 part/models.py:2010 msgid "base cost" msgstr "" -#: company/models.py:858 part/models.py:1968 +#: company/models.py:858 part/models.py:2011 msgid "Minimum charge (e.g. stocking fee)" msgstr "最低收费(例如库存费)" #: company/models.py:865 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:782 stock/serializers.py:1350 +#: stock/admin.py:224 stock/models.py:803 stock/serializers.py:1479 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 -#: templates/js/translated/stock.js:2426 +#: templates/js/translated/stock.js:2424 msgid "Packaging" msgstr "打包" @@ -4449,8 +4466,8 @@ msgstr "商品打包" #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 -#: templates/js/translated/purchase_order.js:2085 -#: templates/js/translated/purchase_order.js:2102 +#: templates/js/translated/purchase_order.js:2084 +#: templates/js/translated/purchase_order.js:2101 msgid "Pack Quantity" msgstr "" @@ -4458,7 +4475,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:892 part/models.py:1974 +#: company/models.py:892 part/models.py:2017 msgid "multiple" msgstr "" @@ -4493,7 +4510,7 @@ msgstr "" #: part/templates/part/part_base.html:146 #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 -#: templates/js/translated/model_renderers.js:306 +#: templates/js/translated/model_renderers.js:312 #: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 msgid "Inactive" msgstr "" @@ -4529,11 +4546,11 @@ msgstr "删除该公司" #: company/templates/company/manufacturer_part.html:51 #: company/templates/company/supplier_part.html:83 #: part/templates/part/part_thumb.html:20 -#: report/templates/report/inventree_build_order_base.html:98 -#: report/templates/report/inventree_po_report_base.html:40 -#: report/templates/report/inventree_so_report_base.html:40 -#: report/templates/report/inventree_test_report_base.html:84 -#: report/templates/report/inventree_test_report_base.html:163 +#: report/templates/report/inventree_build_order_report.html:98 +#: report/templates/report/inventree_purchase_order_report.html:40 +#: report/templates/report/inventree_sales_order_report.html:40 +#: report/templates/report/inventree_test_report.html:84 +#: report/templates/report/inventree_test_report.html:163 #, fuzzy #| msgid "Part name" msgid "Part image" @@ -4554,16 +4571,16 @@ msgstr "从 URL 下载图片" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:92 order/models.py:910 -#: order/models.py:2010 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:144 stock/models.py:804 -#: stock/models.py:805 stock/serializers.py:1100 +#: company/templates/company/company_base.html:92 order/models.py:941 +#: order/models.py:2065 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:148 stock/models.py:825 +#: stock/models.py:826 stock/serializers.py:1229 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 -#: templates/js/translated/return_order.js:296 -#: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2962 +#: templates/js/translated/return_order.js:295 +#: templates/js/translated/sales_order.js:820 +#: templates/js/translated/stock.js:2959 #: templates/js/translated/table_filters.js:808 msgid "Customer" msgstr "客户" @@ -4572,10 +4589,10 @@ msgstr "客户" msgid "Uses default currency" msgstr "使用默认货币" -#: company/templates/company/company_base.html:124 order/models.py:341 +#: company/templates/company/company_base.html:124 order/models.py:354 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 -#: order/templates/order/sales_order_base.html:221 +#: order/templates/order/sales_order_base.html:225 msgid "Address" msgstr "地址" @@ -4584,7 +4601,7 @@ msgid "Phone" msgstr "电话" #: company/templates/company/company_base.html:211 -#: part/templates/part/part_base.html:528 +#: part/templates/part/part_base.html:527 msgid "Remove Image" msgstr "" @@ -4593,19 +4610,19 @@ msgid "Remove associated image from this company" msgstr "" #: company/templates/company/company_base.html:214 -#: part/templates/part/part_base.html:531 +#: part/templates/part/part_base.html:530 #: templates/InvenTree/settings/user.html:88 #: templates/InvenTree/settings/user_sso.html:43 msgid "Remove" msgstr "" #: company/templates/company/company_base.html:243 -#: part/templates/part/part_base.html:560 +#: part/templates/part/part_base.html:559 msgid "Upload Image" msgstr "上传图片" #: company/templates/company/company_base.html:258 -#: part/templates/part/part_base.html:614 +#: part/templates/part/part_base.html:613 msgid "Download Image" msgstr "下载图片" @@ -4782,7 +4799,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:821 +#: part/admin.py:122 part/serializers.py:836 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4837,10 +4854,10 @@ msgstr "地址" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:452 -#: stock/models.py:762 stock/templates/stock/item_base.html:233 +#: stock/models.py:783 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 -#: templates/js/translated/stock.js:2282 +#: templates/js/translated/stock.js:2280 msgid "Supplier Part" msgstr "供应商商品" @@ -4886,11 +4903,11 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:509 +#: part/bom.py:311 part/serializers.py:524 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1851 -#: templates/js/translated/purchase_order.js:2029 +#: templates/js/translated/purchase_order.js:1850 +#: templates/js/translated/purchase_order.js:2028 msgid "SKU" msgstr "" @@ -4899,12 +4916,12 @@ msgid "Supplier Part Stock" msgstr "供货商商品库存" #: company/templates/company/supplier_part.html:209 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:199 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:206 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:200 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:207 #: templates/js/translated/stock.js:537 msgid "New Stock Item" msgstr "" @@ -4936,16 +4953,16 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:820 part/stocktake.py:223 +#: part/serializers.py:835 part/stocktake.py:223 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:787 stock/serializers.py:951 +#: stock/serializers.py:916 stock/serializers.py:1080 #: stock/templates/stock/location.html:170 -#: stock/templates/stock/location.html:184 -#: stock/templates/stock/location.html:196 +#: stock/templates/stock/location.html:191 +#: stock/templates/stock/location.html:203 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2769 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 #: users/models.py:206 msgid "Stock Items" msgstr "库存项" @@ -4979,146 +4996,62 @@ msgstr "公司" msgid "New Company" msgstr "新建公司信息" -#: label/api.py:247 -#, fuzzy -#| msgid "Error renaming file" -msgid "Error printing label" -msgstr "重命名文件出错" - -#: label/models.py:120 -msgid "Label name" -msgstr "标签名称" - -#: label/models.py:128 -msgid "Label description" -msgstr "标签说明" - -#: label/models.py:136 -msgid "Label" -msgstr "标签" - -#: label/models.py:137 -msgid "Label template file" -msgstr "标签模板文件" - -#: label/models.py:143 part/models.py:3494 report/models.py:324 -#: templates/js/translated/part.js:2900 -#: templates/js/translated/table_filters.js:481 -msgid "Enabled" -msgstr "已启用" - -#: label/models.py:144 -msgid "Label template is enabled" -msgstr "标签模板已启用" - -#: label/models.py:149 -msgid "Width [mm]" -msgstr "宽度 [mm]" - -#: label/models.py:150 -msgid "Label width, specified in mm" -msgstr "标注宽度,以毫米为单位。" - -#: label/models.py:156 -msgid "Height [mm]" -msgstr "高度 [mm]" - -#: label/models.py:157 -msgid "Label height, specified in mm" -msgstr "标注高度,以毫米为单位。" - -#: label/models.py:163 report/models.py:317 -msgid "Filename Pattern" -msgstr "文件名样式" - -#: label/models.py:164 -msgid "Pattern for generating label filenames" -msgstr "" - -#: label/models.py:313 label/models.py:352 label/models.py:377 -#: label/models.py:412 -#, fuzzy -#| msgid "Query filters (comma-separated list of key=value pairs)," -msgid "Query filters (comma-separated list of key=value pairs)" -msgstr "查询筛选器 (逗号分隔的键值对列表)" - -#: label/models.py:314 label/models.py:353 label/models.py:378 -#: label/models.py:413 report/models.py:345 report/models.py:496 -#: report/models.py:532 report/models.py:568 report/models.py:750 -msgid "Filters" -msgstr "筛选器" - -#: label/templates/label/part/part_label.html:31 -#: label/templates/label/stockitem/qr.html:21 -#: label/templates/label/stocklocation/qr.html:20 -#: templates/allauth_2fa/setup.html:18 -#, fuzzy -#| msgid "Part QR Code" -msgid "QR Code" -msgstr "商品二维码" - -#: label/templates/label/part/part_label_code128.html:31 -#: label/templates/label/stocklocation/qr_and_text.html:31 -#: templates/qr_code.html:7 -msgid "QR code" -msgstr "" - -#: machine/machine_types/label_printer.py:217 +#: machine/machine_types/label_printer.py:218 msgid "Copies" msgstr "" -#: machine/machine_types/label_printer.py:218 +#: machine/machine_types/label_printer.py:219 #, fuzzy #| msgid "Number of stock items to build" msgid "Number of copies to print for each label" msgstr "要生产的项目数量" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:234 #, fuzzy #| msgid "Connection error" msgid "Connected" msgstr "连接错误" -#: machine/machine_types/label_printer.py:234 order/api.py:1515 -#: templates/js/translated/sales_order.js:1042 +#: machine/machine_types/label_printer.py:235 order/api.py:1515 +#: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "" -#: machine/machine_types/label_printer.py:235 +#: machine/machine_types/label_printer.py:236 #, fuzzy #| msgid "Print Label" msgid "Printing" msgstr "打印标签" -#: machine/machine_types/label_printer.py:236 +#: machine/machine_types/label_printer.py:237 msgid "No media" msgstr "" -#: machine/machine_types/label_printer.py:237 +#: machine/machine_types/label_printer.py:238 #, fuzzy #| msgid "Rejected" msgid "Disconnected" msgstr "已拒绝" -#: machine/machine_types/label_printer.py:244 +#: machine/machine_types/label_printer.py:245 #, fuzzy #| msgid "Label name" msgid "Label Printer" msgstr "标签名称" -#: machine/machine_types/label_printer.py:245 +#: machine/machine_types/label_printer.py:246 #, fuzzy #| msgid "Allocate selected items" msgid "Directly print labels for various items." msgstr "分配选定项目" -#: machine/machine_types/label_printer.py:251 +#: machine/machine_types/label_printer.py:252 #, fuzzy #| msgid "Print actions" msgid "Printer Location" msgstr "打印操作" -#: machine/machine_types/label_printer.py:252 +#: machine/machine_types/label_printer.py:253 msgid "Scope the printer to a specific location" msgstr "" @@ -5182,19 +5115,19 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:89 -#: report/templates/report/inventree_po_report_base.html:31 -#: report/templates/report/inventree_so_report_base.html:31 +#: order/admin.py:30 order/models.py:90 +#: report/templates/report/inventree_purchase_order_report.html:31 +#: report/templates/report/inventree_sales_order_report.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2126 -#: templates/js/translated/sales_order.js:1847 +#: templates/js/translated/purchase_order.js:2125 +#: templates/js/translated/sales_order.js:1883 msgid "Total Price" msgstr "" #: order/api.py:161 order/serializers.py:91 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 -#: order/templates/order/sales_order_base.html:118 +#: order/templates/order/sales_order_base.html:122 msgid "Order Status" msgstr "" @@ -5207,10 +5140,10 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:437 order/api.py:817 order/models.py:1382 order/models.py:1491 -#: order/models.py:1537 order/models.py:1651 order/models.py:1805 -#: order/models.py:2209 order/models.py:2260 -#: templates/js/translated/sales_order.js:1488 +#: order/api.py:437 order/api.py:817 order/models.py:1428 order/models.py:1537 +#: order/models.py:1583 order/models.py:1697 order/models.py:1851 +#: order/models.py:2264 order/models.py:2315 +#: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" @@ -5226,428 +5159,428 @@ msgstr "订单编码" msgid "Order Pending" msgstr "待定" -#: order/api.py:1509 order/models.py:1383 order/models.py:1492 -#: order/templates/order/order_base.html:9 +#: order/api.py:1509 order/models.py:381 order/models.py:1429 +#: order/models.py:1538 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 -#: report/templates/report/inventree_po_report_base.html:14 -#: stock/templates/stock/item_base.html:176 +#: report/templates/report/inventree_purchase_order_report.html:14 +#: stock/serializers.py:119 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 #: templates/js/translated/purchase_order.js:753 -#: templates/js/translated/purchase_order.js:1674 -#: templates/js/translated/stock.js:2262 templates/js/translated/stock.js:2910 +#: templates/js/translated/purchase_order.js:1673 +#: templates/js/translated/stock.js:2260 templates/js/translated/stock.js:2907 msgid "Purchase Order" msgstr "" -#: order/api.py:1513 order/models.py:2210 order/models.py:2261 -#: order/templates/order/return_order_base.html:9 +#: order/api.py:1513 order/models.py:2014 order/models.py:2265 +#: order/models.py:2316 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:281 -#: templates/js/translated/stock.js:2944 +#: report/templates/report/inventree_return_order_report.html:13 +#: templates/js/translated/return_order.js:280 +#: templates/js/translated/stock.js:2941 #, fuzzy #| msgid "Returned" msgid "Return Order" msgstr "已退回" -#: order/models.py:90 +#: order/models.py:91 #, fuzzy #| msgid "User or group responsible for this order" msgid "Total price for this order" msgstr "负责此订单的用户或群组" -#: order/models.py:95 order/serializers.py:71 +#: order/models.py:96 order/serializers.py:71 #, fuzzy #| msgid "Currency" msgid "Order Currency" msgstr "货币" -#: order/models.py:98 order/serializers.py:72 +#: order/models.py:99 order/serializers.py:72 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:246 +#: order/models.py:248 #, fuzzy #| msgid "Build output does not match the parent build" msgid "Contact does not match selected company" msgstr "生产产出与对应生产不匹配" -#: order/models.py:278 +#: order/models.py:291 #, fuzzy #| msgid "Description (optional)" msgid "Order description (optional)" msgstr "描述 (可选)" -#: order/models.py:287 +#: order/models.py:300 #, fuzzy #| msgid "User or group responsible for this order" msgid "Select project code for this order" msgstr "负责此订单的用户或群组" -#: order/models.py:291 order/models.py:1288 order/models.py:1704 +#: order/models.py:304 order/models.py:1334 order/models.py:1750 msgid "Link to external page" msgstr "" -#: order/models.py:299 +#: order/models.py:312 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:313 +#: order/models.py:326 msgid "Created By" msgstr "" -#: order/models.py:321 +#: order/models.py:334 msgid "User or group responsible for this order" msgstr "负责此订单的用户或群组" -#: order/models.py:332 +#: order/models.py:345 #, fuzzy #| msgid "Priority of this build order" msgid "Point of contact for this order" msgstr "此构建订单的优先级" -#: order/models.py:342 +#: order/models.py:355 #, fuzzy #| msgid "User or group responsible for this order" msgid "Company address for this order" msgstr "负责此订单的用户或群组" -#: order/models.py:443 order/models.py:899 +#: order/models.py:465 order/models.py:930 msgid "Order reference" msgstr "" -#: order/models.py:451 order/models.py:923 +#: order/models.py:473 order/models.py:954 msgid "Purchase order status" msgstr "" -#: order/models.py:466 +#: order/models.py:488 msgid "Company from which the items are being ordered" msgstr "订购该商品的公司" -#: order/models.py:477 order/templates/order/order_base.html:148 -#: templates/js/translated/purchase_order.js:1703 +#: order/models.py:499 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1702 msgid "Supplier Reference" msgstr "" -#: order/models.py:478 +#: order/models.py:500 msgid "Supplier order reference code" msgstr "" -#: order/models.py:487 +#: order/models.py:509 msgid "received by" msgstr "" -#: order/models.py:493 order/models.py:2036 +#: order/models.py:515 order/models.py:2091 msgid "Issue Date" msgstr "" -#: order/models.py:494 order/models.py:2037 +#: order/models.py:516 order/models.py:2092 msgid "Date order was issued" msgstr "" -#: order/models.py:501 order/models.py:2044 +#: order/models.py:523 order/models.py:2099 msgid "Date order was completed" msgstr "" -#: order/models.py:545 +#: order/models.py:567 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:739 +#: order/models.py:761 msgid "Quantity must be a positive number" msgstr "数量必须大于0" -#: order/models.py:911 +#: order/models.py:942 msgid "Company to which the items are being sold" msgstr "向其出售该商品的公司" -#: order/models.py:934 order/models.py:2029 +#: order/models.py:965 order/models.py:2084 msgid "Customer Reference " msgstr "" -#: order/models.py:935 order/models.py:2030 +#: order/models.py:966 order/models.py:2085 msgid "Customer order reference code" msgstr "" -#: order/models.py:939 order/models.py:1658 -#: templates/js/translated/sales_order.js:843 -#: templates/js/translated/sales_order.js:1024 +#: order/models.py:970 order/models.py:1704 +#: templates/js/translated/sales_order.js:879 +#: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" msgstr "" -#: order/models.py:948 +#: order/models.py:979 msgid "shipped by" msgstr "" -#: order/models.py:999 +#: order/models.py:1030 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:1004 +#: order/models.py:1035 #, fuzzy #| msgid "Build Order is ready to mark as completed" msgid "Only an open order can be marked as complete" msgstr "构建订单已准备好标记为已完成" -#: order/models.py:1008 templates/js/translated/sales_order.js:506 +#: order/models.py:1039 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1013 +#: order/models.py:1044 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1260 +#: order/models.py:1306 msgid "Item quantity" msgstr "" -#: order/models.py:1277 +#: order/models.py:1323 msgid "Line item reference" msgstr "" -#: order/models.py:1284 +#: order/models.py:1330 msgid "Line item notes" msgstr "" -#: order/models.py:1296 +#: order/models.py:1342 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1317 +#: order/models.py:1363 #, fuzzy #| msgid "Description (optional)" msgid "Line item description (optional)" msgstr "描述 (可选)" -#: order/models.py:1323 +#: order/models.py:1369 msgid "Context" msgstr "" -#: order/models.py:1324 +#: order/models.py:1370 msgid "Additional context for this line" msgstr "" -#: order/models.py:1334 +#: order/models.py:1380 msgid "Unit price" msgstr "" -#: order/models.py:1367 +#: order/models.py:1413 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1374 +#: order/models.py:1420 msgid "deleted" msgstr "" -#: order/models.py:1402 +#: order/models.py:1448 msgid "Supplier part" msgstr "供应商商品" -#: order/models.py:1409 order/templates/order/order_base.html:196 +#: order/models.py:1455 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 #: templates/js/translated/purchase_order.js:1306 -#: templates/js/translated/purchase_order.js:2170 -#: templates/js/translated/return_order.js:764 +#: templates/js/translated/purchase_order.js:2169 +#: templates/js/translated/return_order.js:763 #: templates/js/translated/table_filters.js:120 #: templates/js/translated/table_filters.js:602 msgid "Received" msgstr "" -#: order/models.py:1410 +#: order/models.py:1456 msgid "Number of items received" msgstr "" -#: order/models.py:1418 stock/models.py:923 stock/serializers.py:400 +#: order/models.py:1464 stock/models.py:944 stock/serializers.py:529 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2313 +#: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "采购价格" -#: order/models.py:1419 +#: order/models.py:1465 msgid "Unit purchase price" msgstr "" -#: order/models.py:1434 +#: order/models.py:1480 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1525 +#: order/models.py:1571 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1530 +#: order/models.py:1576 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1556 part/templates/part/part_pricing.html:107 +#: order/models.py:1602 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "销售价格" -#: order/models.py:1557 +#: order/models.py:1603 msgid "Unit sale price" msgstr "" -#: order/models.py:1567 +#: order/models.py:1613 msgid "Shipped quantity" msgstr "" -#: order/models.py:1659 +#: order/models.py:1705 msgid "Date of shipment" msgstr "" -#: order/models.py:1665 templates/js/translated/sales_order.js:1036 +#: order/models.py:1711 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1666 +#: order/models.py:1712 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1674 +#: order/models.py:1720 msgid "Checked By" msgstr "" -#: order/models.py:1675 +#: order/models.py:1721 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1682 order/models.py:1895 order/serializers.py:1354 -#: order/serializers.py:1464 templates/js/translated/model_renderers.js:448 +#: order/models.py:1728 order/models.py:1941 order/serializers.py:1354 +#: order/serializers.py:1464 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" -#: order/models.py:1683 +#: order/models.py:1729 msgid "Shipment number" msgstr "" -#: order/models.py:1691 +#: order/models.py:1737 msgid "Tracking Number" msgstr "" -#: order/models.py:1692 +#: order/models.py:1738 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1699 +#: order/models.py:1745 msgid "Invoice Number" msgstr "" -#: order/models.py:1700 +#: order/models.py:1746 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1720 +#: order/models.py:1766 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1723 +#: order/models.py:1769 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1841 order/models.py:1843 +#: order/models.py:1887 order/models.py:1889 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1850 +#: order/models.py:1896 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1853 +#: order/models.py:1899 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1856 +#: order/models.py:1902 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1875 order/serializers.py:1231 +#: order/models.py:1921 order/serializers.py:1231 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1878 +#: order/models.py:1924 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1879 plugin/base/barcodes/api.py:481 +#: order/models.py:1925 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1887 +#: order/models.py:1933 msgid "Line" msgstr "" -#: order/models.py:1896 +#: order/models.py:1942 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1909 order/models.py:2217 -#: templates/js/translated/return_order.js:722 +#: order/models.py:1955 order/models.py:2272 +#: templates/js/translated/return_order.js:721 msgid "Item" msgstr "" -#: order/models.py:1910 +#: order/models.py:1956 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1919 +#: order/models.py:1965 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1999 +#: order/models.py:2054 #, fuzzy #| msgid "Build Order Reference" msgid "Return Order reference" msgstr "相关生产订单" -#: order/models.py:2011 +#: order/models.py:2066 #, fuzzy #| msgid "Company from which the items are being ordered" msgid "Company from which items are being returned" msgstr "订购该商品的公司" -#: order/models.py:2023 +#: order/models.py:2078 msgid "Return order status" msgstr "" -#: order/models.py:2202 +#: order/models.py:2257 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2218 +#: order/models.py:2273 #, fuzzy #| msgid "Returned from customer" msgid "Select item to return from customer" msgstr "从客户退货" -#: order/models.py:2224 +#: order/models.py:2279 msgid "Received Date" msgstr "" -#: order/models.py:2225 +#: order/models.py:2280 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2236 templates/js/translated/return_order.js:733 +#: order/models.py:2291 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2237 +#: order/models.py:2292 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2244 +#: order/models.py:2299 msgid "Cost associated with return or repair for this line item" msgstr "" #: order/serializers.py:80 order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 #: order/templates/order/so_sidebar.html:5 -#: report/templates/report/inventree_po_report_base.html:22 -#: report/templates/report/inventree_return_order_report_base.html:19 -#: report/templates/report/inventree_so_report_base.html:22 +#: report/templates/report/inventree_purchase_order_report.html:22 +#: report/templates/report/inventree_return_order_report.html:19 +#: report/templates/report/inventree_sales_order_report.html:22 msgid "Line Items" msgstr "" @@ -5893,7 +5826,7 @@ msgstr "" #: order/templates/order/order_base.html:84 #: order/templates/order/return_order_base.html:87 -#: order/templates/order/sales_order_base.html:93 +#: order/templates/order/sales_order_base.html:97 msgid "Complete Order" msgstr "" @@ -5905,13 +5838,13 @@ msgstr "供应商商品" #: order/templates/order/order_base.html:106 #: order/templates/order/return_order_base.html:101 -#: order/templates/order/sales_order_base.html:106 +#: order/templates/order/sales_order_base.html:110 msgid "Order Reference" msgstr "" #: order/templates/order/order_base.html:111 #: order/templates/order/return_order_base.html:106 -#: order/templates/order/sales_order_base.html:111 +#: order/templates/order/sales_order_base.html:115 msgid "Order Description" msgstr "" @@ -5920,19 +5853,19 @@ msgid "No suppplier information available" msgstr "" #: order/templates/order/order_base.html:154 -#: order/templates/order/sales_order_base.html:157 +#: order/templates/order/sales_order_base.html:161 msgid "Completed Line Items" msgstr "" #: order/templates/order/order_base.html:160 -#: order/templates/order/sales_order_base.html:163 -#: order/templates/order/sales_order_base.html:173 +#: order/templates/order/sales_order_base.html:167 +#: order/templates/order/sales_order_base.html:177 msgid "Incomplete" msgstr "" #: order/templates/order/order_base.html:179 #: order/templates/order/return_order_base.html:157 -#: report/templates/report/inventree_build_order_base.html:121 +#: report/templates/report/inventree_build_order_report.html:121 msgid "Issued" msgstr "" @@ -5942,17 +5875,17 @@ msgstr "" #: order/templates/order/order_base.html:228 #: order/templates/order/return_order_base.html:199 -#: order/templates/order/sales_order_base.html:239 +#: order/templates/order/sales_order_base.html:243 msgid "Total cost could not be calculated" msgstr "" -#: order/templates/order/order_base.html:318 +#: order/templates/order/order_base.html:314 #, fuzzy #| msgid "Purchase Orders" msgid "Purchase Order QR Code" msgstr "采购订单" -#: order/templates/order/order_base.html:330 +#: order/templates/order/order_base.html:326 #, fuzzy #| msgid "Create Purchase Order" msgid "Link Barcode to Purchase Order" @@ -6011,8 +5944,8 @@ msgstr "" #: templates/js/translated/build.js:1629 #: templates/js/translated/purchase_order.js:696 #: templates/js/translated/purchase_order.js:1236 -#: templates/js/translated/return_order.js:506 -#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/return_order.js:505 +#: templates/js/translated/sales_order.js:1145 #: templates/js/translated/stock.js:714 templates/js/translated/stock.js:883 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -6066,7 +5999,7 @@ msgstr "" #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 #: templates/js/translated/purchase_order.js:414 -#: templates/js/translated/return_order.js:459 +#: templates/js/translated/return_order.js:458 #: templates/js/translated/sales_order.js:237 msgid "Add Line Item" msgstr "" @@ -6117,32 +6050,32 @@ msgid "Print packing list" msgstr "" #: order/templates/order/return_order_base.html:138 -#: order/templates/order/sales_order_base.html:151 -#: templates/js/translated/return_order.js:309 -#: templates/js/translated/sales_order.js:797 +#: order/templates/order/sales_order_base.html:155 +#: templates/js/translated/return_order.js:308 +#: templates/js/translated/sales_order.js:833 msgid "Customer Reference" msgstr "" #: order/templates/order/return_order_base.html:195 -#: order/templates/order/sales_order_base.html:235 +#: order/templates/order/sales_order_base.html:239 #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1072 -#: templates/js/translated/purchase_order.js:1753 -#: templates/js/translated/return_order.js:381 -#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/purchase_order.js:1752 +#: templates/js/translated/return_order.js:380 +#: templates/js/translated/sales_order.js:891 msgid "Total Cost" msgstr "" -#: order/templates/order/return_order_base.html:263 +#: order/templates/order/return_order_base.html:259 #, fuzzy #| msgid "Returned" msgid "Return Order QR Code" msgstr "已退回" -#: order/templates/order/return_order_base.html:275 +#: order/templates/order/return_order_base.html:271 #, fuzzy #| msgid "Create Purchase Order" msgid "Link Barcode to Return Order" @@ -6165,28 +6098,35 @@ msgstr "" msgid "Ship Items" msgstr "匹配项" +#: order/templates/order/sales_order_base.html:91 #: order/templates/order/sales_order_base.html:92 -#: templates/js/translated/sales_order.js:484 +#, fuzzy +#| msgid "Shipped" +msgid "Mark As Shipped" +msgstr "已发货" + +#: order/templates/order/sales_order_base.html:96 +#: templates/js/translated/sales_order.js:536 msgid "Complete Sales Order" msgstr "" -#: order/templates/order/sales_order_base.html:131 +#: order/templates/order/sales_order_base.html:135 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:169 +#: order/templates/order/sales_order_base.html:173 #: order/templates/order/sales_order_detail.html:99 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "" -#: order/templates/order/sales_order_base.html:312 +#: order/templates/order/sales_order_base.html:321 #, fuzzy #| msgid "Sales Order" msgid "Sales Order QR Code" msgstr "销售订单" -#: order/templates/order/sales_order_base.html:324 +#: order/templates/order/sales_order_base.html:333 #, fuzzy #| msgid "New Sales Order" msgid "Link Barcode to Sales Order" @@ -6232,12 +6172,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:404 part/models.py:3921 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:406 part/models.py:3964 part/stocktake.py:218 #: stock/admin.py:153 msgid "Part ID" msgstr "商品ID" -#: part/admin.py:41 part/admin.py:411 part/models.py:3922 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:413 part/models.py:3965 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -6246,20 +6186,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:904 part/templates/part/part_base.html:269 -#: report/templates/report/inventree_slr_report.html:103 -#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2341 -#: templates/js/translated/stock.js:2038 +#: part/admin.py:48 part/models.py:947 part/templates/part/part_base.html:269 +#: report/templates/report/inventree_stock_location_report.html:103 +#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2340 +#: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:913 part/templates/part/part_base.html:277 -#: report/models.py:195 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2347 +#: part/admin.py:50 part/models.py:956 part/templates/part/part_base.html:277 +#: report/models.py:161 templates/js/translated/part.js:1231 +#: templates/js/translated/part.js:2346 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:317 part/models.py:886 +#: part/admin.py:53 part/admin.py:319 part/models.py:929 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "关键词" @@ -6270,15 +6210,15 @@ msgstr "关键词" msgid "Part Image" msgstr "商品名称" -#: part/admin.py:63 part/admin.py:300 part/stocktake.py:221 +#: part/admin.py:63 part/admin.py:302 part/stocktake.py:221 msgid "Category ID" msgstr "类别 ID" -#: part/admin.py:67 part/admin.py:302 part/stocktake.py:222 +#: part/admin.py:67 part/admin.py:304 part/stocktake.py:222 msgid "Category Name" msgstr "" -#: part/admin.py:71 part/admin.py:314 +#: part/admin.py:71 part/admin.py:316 msgid "Default Location ID" msgstr "" @@ -6286,11 +6226,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:872 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:915 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1000 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1043 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "最低库存" @@ -6303,168 +6243,172 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3080 part/models.py:3094 +#: part/admin.py:155 part/models.py:3123 part/models.py:3137 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3087 part/models.py:3101 +#: part/admin.py:158 part/models.py:3130 part/models.py:3144 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" -#: part/admin.py:306 part/admin.py:393 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:211 msgid "Parent ID" msgstr "" -#: part/admin.py:310 part/admin.py:400 stock/admin.py:62 +#: part/admin.py:312 part/admin.py:402 stock/admin.py:62 msgid "Parent Name" msgstr "" -#: part/admin.py:318 part/templates/part/category.html:88 +#: part/admin.py:320 part/templates/part/category.html:88 #: part/templates/part/category.html:101 msgid "Category Path" msgstr "类别路径" -#: part/admin.py:323 part/models.py:391 part/serializers.py:117 +#: part/admin.py:325 part/models.py:393 part/serializers.py:117 #: part/serializers.py:272 part/serializers.py:391 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:141 part/templates/part/category.html:161 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2803 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "商品" -#: part/admin.py:384 +#: part/admin.py:386 msgid "BOM Level" msgstr "" -#: part/admin.py:387 +#: part/admin.py:389 msgid "BOM Item ID" msgstr "" -#: part/admin.py:397 +#: part/admin.py:399 msgid "Parent IPN" msgstr "" -#: part/admin.py:408 part/models.py:3923 +#: part/admin.py:410 part/models.py:3966 msgid "Part IPN" msgstr "" -#: part/admin.py:421 part/serializers.py:1261 +#: part/admin.py:423 part/serializers.py:1276 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:426 part/serializers.py:1276 +#: part/admin.py:428 part/serializers.py:1291 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:119 +#: part/api.py:112 msgid "Starred" msgstr "" -#: part/api.py:121 +#: part/api.py:114 msgid "Filter by starred categories" msgstr "" -#: part/api.py:138 stock/api.py:284 +#: part/api.py:131 stock/api.py:318 msgid "Depth" msgstr "" -#: part/api.py:138 +#: part/api.py:131 msgid "Filter by category depth" msgstr "" -#: part/api.py:156 stock/api.py:302 +#: part/api.py:149 stock/api.py:336 msgid "Cascade" msgstr "" -#: part/api.py:158 +#: part/api.py:151 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:178 +#: part/api.py:171 #, fuzzy #| msgid "parent" msgid "Parent" msgstr "上级项" -#: part/api.py:180 +#: part/api.py:173 #, fuzzy #| msgid "Create new part category" msgid "Filter by parent category" msgstr "新建商品类别" -#: part/api.py:213 +#: part/api.py:206 msgid "Exclude Tree" msgstr "" -#: part/api.py:215 +#: part/api.py:208 #, fuzzy #| msgid "Exclude stock items from this selected location" msgid "Exclude sub-categories under the specified category" msgstr "从该选定的仓储地点排除库存项" -#: part/api.py:461 +#: part/api.py:455 #, fuzzy #| msgid "Units" msgid "Has Results" msgstr "单位" -#: part/api.py:628 +#: part/api.py:622 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:646 +#: part/api.py:640 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:662 +#: part/api.py:656 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:746 +#: part/api.py:740 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:893 +#: part/api.py:887 msgid "Valid" msgstr "" -#: part/api.py:894 +#: part/api.py:888 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:900 +#: part/api.py:894 msgid "This option must be selected" msgstr "" -#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866 -#: part/serializers.py:406 part/serializers.py:1117 -#: part/templates/part/part_base.html:260 stock/api.py:745 +#: part/api.py:1111 +msgid "BOM Valid" +msgstr "" + +#: part/api.py:1515 part/models.py:939 part/models.py:3429 part/models.py:3909 +#: part/serializers.py:406 part/serializers.py:1132 +#: part/templates/part/part_base.html:260 stock/api.py:779 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2377 +#: templates/js/translated/part.js:2376 msgid "Category" msgstr "类别" -#: part/api.py:1849 +#: part/api.py:1803 msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:101 part/models.py:939 +#: part/bom.py:170 part/models.py:102 part/models.py:982 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "默认仓储地点" -#: part/bom.py:171 part/serializers.py:822 +#: part/bom.py:171 part/serializers.py:837 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6473,711 +6417,727 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:82 part/models.py:3867 part/templates/part/category.html:16 +#: part/models.py:83 part/models.py:3910 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "商品类别" -#: part/models.py:83 part/templates/part/category.html:136 +#: part/models.py:84 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:202 msgid "Part Categories" msgstr "商品类别" -#: part/models.py:102 +#: part/models.py:103 msgid "Default location for parts in this category" msgstr "此类别商品的默认仓储地点" -#: part/models.py:107 stock/models.py:165 templates/js/translated/part.js:2810 -#: templates/js/translated/stock.js:2775 +#: part/models.py:108 stock/models.py:177 templates/js/translated/part.js:2809 +#: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "" -#: part/models.py:109 +#: part/models.py:110 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:118 +#: part/models.py:119 msgid "Default keywords" msgstr "" -#: part/models.py:119 +#: part/models.py:120 msgid "Default keywords for parts in this category" msgstr "此类别商品的默认关键字" -#: part/models.py:125 stock/models.py:89 stock/models.py:148 +#: part/models.py:126 stock/models.py:89 stock/models.py:160 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:126 stock/models.py:149 +#: part/models.py:127 stock/models.py:161 msgid "Icon (optional)" msgstr "" -#: part/models.py:148 +#: part/models.py:149 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:484 +#: part/models.py:482 +#, fuzzy +#| msgid "Print actions" +msgid "Cannot delete this part as it is still active" +msgstr "打印操作" + +#: part/models.py:489 +msgid "Cannot delete this part as it is used in an assembly" +msgstr "" + +#: part/models.py:527 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:532 part/models.py:539 +#: part/models.py:575 part/models.py:582 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:551 +#: part/models.py:594 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:616 +#: part/models.py:659 #, fuzzy, python-brace-format #| msgid "IPN must match regex pattern {pat}" msgid "IPN must match regex pattern {pattern}" msgstr "IPN 必须匹配正则表达式 {pat}" -#: part/models.py:696 +#: part/models.py:739 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:801 +#: part/models.py:844 msgid "Duplicate IPN not allowed in part settings" msgstr "在商品设置中不允许重复的IPN" -#: part/models.py:811 +#: part/models.py:854 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:826 +#: part/models.py:869 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:855 part/models.py:3922 +#: part/models.py:898 part/models.py:3965 msgid "Part name" msgstr "商品名称" -#: part/models.py:860 +#: part/models.py:903 msgid "Is Template" msgstr "" -#: part/models.py:861 +#: part/models.py:904 msgid "Is this part a template part?" msgstr "" -#: part/models.py:871 +#: part/models.py:914 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:879 +#: part/models.py:922 #, fuzzy #| msgid "Description (optional)" msgid "Part description (optional)" msgstr "描述 (可选)" -#: part/models.py:887 +#: part/models.py:930 msgid "Part keywords to improve visibility in search results" msgstr "提高搜索结果可见性的关键字" -#: part/models.py:897 +#: part/models.py:940 msgid "Part category" msgstr "商品类别" -#: part/models.py:905 +#: part/models.py:948 msgid "Internal Part Number" msgstr "内部商品编号" -#: part/models.py:912 +#: part/models.py:955 msgid "Part revision or version number" msgstr "商品版本号" -#: part/models.py:937 +#: part/models.py:980 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:983 part/templates/part/part_base.html:376 +#: part/models.py:1026 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:984 +#: part/models.py:1027 msgid "Default supplier part" msgstr "默认供应商商品" -#: part/models.py:991 +#: part/models.py:1034 msgid "Default Expiry" msgstr "" -#: part/models.py:992 +#: part/models.py:1035 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1001 +#: part/models.py:1044 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1010 +#: part/models.py:1053 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1017 +#: part/models.py:1060 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1023 +#: part/models.py:1066 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1029 +#: part/models.py:1072 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1035 +#: part/models.py:1078 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1041 +#: part/models.py:1084 msgid "Can this part be sold to customers?" msgstr "此商品可以销售给客户吗?" -#: part/models.py:1045 +#: part/models.py:1088 msgid "Is this part active?" msgstr "" -#: part/models.py:1051 +#: part/models.py:1094 msgid "Is this a virtual part, such as a software product or license?" msgstr "这是一个虚拟商品,如软件产品或许可证吗?" -#: part/models.py:1057 +#: part/models.py:1100 msgid "BOM checksum" msgstr "" -#: part/models.py:1058 +#: part/models.py:1101 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1066 +#: part/models.py:1109 msgid "BOM checked by" msgstr "" -#: part/models.py:1071 +#: part/models.py:1114 msgid "BOM checked date" msgstr "" -#: part/models.py:1087 +#: part/models.py:1130 msgid "Creation User" msgstr "新建用户" -#: part/models.py:1097 +#: part/models.py:1140 #, fuzzy #| msgid "User or group responsible for this order" msgid "Owner responsible for this part" msgstr "负责此订单的用户或群组" -#: part/models.py:1102 part/templates/part/part_base.html:339 +#: part/models.py:1145 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 -#: templates/js/translated/part.js:2471 +#: templates/js/translated/part.js:2470 msgid "Last Stocktake" msgstr "" -#: part/models.py:1975 +#: part/models.py:2018 msgid "Sell multiple" msgstr "" -#: part/models.py:2994 +#: part/models.py:3037 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3010 +#: part/models.py:3053 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3011 +#: part/models.py:3054 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3017 +#: part/models.py:3060 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3018 +#: part/models.py:3061 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3024 +#: part/models.py:3067 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3025 +#: part/models.py:3068 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3031 +#: part/models.py:3074 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3032 +#: part/models.py:3075 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3038 +#: part/models.py:3081 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3039 +#: part/models.py:3082 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3045 +#: part/models.py:3088 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3046 +#: part/models.py:3089 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3052 +#: part/models.py:3095 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3053 +#: part/models.py:3096 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3059 +#: part/models.py:3102 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3060 +#: part/models.py:3103 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3066 +#: part/models.py:3109 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3067 +#: part/models.py:3110 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3073 +#: part/models.py:3116 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3074 +#: part/models.py:3117 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3081 +#: part/models.py:3124 msgid "Override minimum cost" msgstr "" -#: part/models.py:3088 +#: part/models.py:3131 msgid "Override maximum cost" msgstr "" -#: part/models.py:3095 +#: part/models.py:3138 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3102 +#: part/models.py:3145 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3108 +#: part/models.py:3151 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3109 +#: part/models.py:3152 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3115 +#: part/models.py:3158 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3116 +#: part/models.py:3159 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3122 +#: part/models.py:3165 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3123 +#: part/models.py:3166 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3129 +#: part/models.py:3172 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3130 +#: part/models.py:3173 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3149 +#: part/models.py:3192 msgid "Part for stocktake" msgstr "" -#: part/models.py:3154 +#: part/models.py:3197 msgid "Item Count" msgstr "" -#: part/models.py:3155 +#: part/models.py:3198 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3163 +#: part/models.py:3206 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3167 part/models.py:3250 +#: part/models.py:3210 part/models.py:3293 #: part/templates/part/part_scheduling.html:13 -#: report/templates/report/inventree_test_report_base.html:106 +#: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 #: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 -#: templates/js/translated/purchase_order.js:1732 -#: templates/js/translated/stock.js:2824 +#: templates/js/translated/purchase_order.js:1731 +#: templates/js/translated/stock.js:2821 msgid "Date" msgstr "" -#: part/models.py:3168 +#: part/models.py:3211 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3176 +#: part/models.py:3219 msgid "Additional notes" msgstr "" -#: part/models.py:3186 +#: part/models.py:3229 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3192 +#: part/models.py:3235 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3193 +#: part/models.py:3236 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3199 +#: part/models.py:3242 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3200 +#: part/models.py:3243 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3256 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3299 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3257 +#: part/models.py:3300 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3262 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3305 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3263 +#: part/models.py:3306 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3273 +#: part/models.py:3316 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3435 +#: part/models.py:3478 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3446 +#: part/models.py:3489 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3457 +#: part/models.py:3500 #, fuzzy #| msgid "Attachment with this filename already exists" msgid "Test template with the same key already exists for part" msgstr "使用此文件名的附件已存在" -#: part/models.py:3474 templates/js/translated/part.js:2879 +#: part/models.py:3517 templates/js/translated/part.js:2878 msgid "Test Name" msgstr "" -#: part/models.py:3475 +#: part/models.py:3518 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3481 +#: part/models.py:3524 msgid "Test Key" msgstr "" -#: part/models.py:3482 +#: part/models.py:3525 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3489 +#: part/models.py:3532 msgid "Test Description" msgstr "" -#: part/models.py:3490 +#: part/models.py:3533 msgid "Enter description for this test" msgstr "" -#: part/models.py:3494 +#: part/models.py:3537 report/models.py:208 +#: templates/js/translated/part.js:2899 +#: templates/js/translated/table_filters.js:481 +msgid "Enabled" +msgstr "已启用" + +#: part/models.py:3537 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3499 templates/js/translated/part.js:2908 +#: part/models.py:3542 templates/js/translated/part.js:2907 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3500 +#: part/models.py:3543 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3505 templates/js/translated/part.js:2916 +#: part/models.py:3548 templates/js/translated/part.js:2915 msgid "Requires Value" msgstr "" -#: part/models.py:3506 +#: part/models.py:3549 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3511 templates/js/translated/part.js:2923 +#: part/models.py:3554 templates/js/translated/part.js:2922 msgid "Requires Attachment" msgstr "" -#: part/models.py:3513 +#: part/models.py:3556 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3560 +#: part/models.py:3603 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3565 +#: part/models.py:3608 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3585 +#: part/models.py:3628 #, fuzzy #| msgid "Key string must be unique" msgid "Choices must be unique" msgstr "关键字必须是唯一的" -#: part/models.py:3602 +#: part/models.py:3645 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3617 +#: part/models.py:3660 msgid "Parameter Name" msgstr "" -#: part/models.py:3624 +#: part/models.py:3667 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3632 +#: part/models.py:3675 msgid "Parameter description" msgstr "" -#: part/models.py:3638 templates/js/translated/part.js:1627 +#: part/models.py:3681 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:825 msgid "Checkbox" msgstr "" -#: part/models.py:3639 +#: part/models.py:3682 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3644 templates/js/translated/part.js:1636 +#: part/models.py:3687 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3645 +#: part/models.py:3688 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3722 +#: part/models.py:3765 #, fuzzy #| msgid "Invalid choice for parent build" msgid "Invalid choice for parameter value" msgstr "上级生产选项无效" -#: part/models.py:3765 +#: part/models.py:3808 msgid "Parent Part" msgstr "" -#: part/models.py:3773 part/models.py:3874 part/models.py:3875 +#: part/models.py:3816 part/models.py:3917 part/models.py:3918 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "参数模板" -#: part/models.py:3778 +#: part/models.py:3821 msgid "Data" msgstr "" -#: part/models.py:3779 +#: part/models.py:3822 msgid "Parameter Value" msgstr "" -#: part/models.py:3881 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3924 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "默认值" -#: part/models.py:3882 +#: part/models.py:3925 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3920 +#: part/models.py:3963 msgid "Part ID or part name" msgstr "" -#: part/models.py:3921 +#: part/models.py:3964 msgid "Unique part ID value" msgstr "" -#: part/models.py:3923 +#: part/models.py:3966 msgid "Part IPN value" msgstr "" -#: part/models.py:3924 +#: part/models.py:3967 msgid "Level" msgstr "" -#: part/models.py:3924 +#: part/models.py:3967 msgid "BOM level" msgstr "" -#: part/models.py:4014 +#: part/models.py:4057 msgid "Select parent part" msgstr "" -#: part/models.py:4024 +#: part/models.py:4067 msgid "Sub part" msgstr "" -#: part/models.py:4025 +#: part/models.py:4068 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4036 +#: part/models.py:4079 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4042 +#: part/models.py:4085 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4048 +#: part/models.py:4091 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4055 part/templates/part/upload_bom.html:55 +#: part/models.py:4098 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4056 +#: part/models.py:4099 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4063 +#: part/models.py:4106 msgid "BOM item reference" msgstr "" -#: part/models.py:4071 +#: part/models.py:4114 msgid "BOM item notes" msgstr "" -#: part/models.py:4077 +#: part/models.py:4120 msgid "Checksum" msgstr "" -#: part/models.py:4078 +#: part/models.py:4121 msgid "BOM line checksum" msgstr "" -#: part/models.py:4083 templates/js/translated/table_filters.js:174 +#: part/models.py:4126 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4084 +#: part/models.py:4127 #, fuzzy #| msgid "Some stock items have been overallocated" msgid "This BOM item has been validated" msgstr "一些库存项已被过度分配" -#: part/models.py:4089 part/templates/part/upload_bom.html:57 +#: part/models.py:4132 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:4090 +#: part/models.py:4133 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4095 part/templates/part/upload_bom.html:56 +#: part/models.py:4138 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4096 +#: part/models.py:4139 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4181 stock/models.py:647 +#: part/models.py:4224 stock/models.py:668 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4191 part/models.py:4193 +#: part/models.py:4234 part/models.py:4236 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4333 +#: part/models.py:4376 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4354 +#: part/models.py:4397 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4367 +#: part/models.py:4410 msgid "Parent BOM item" msgstr "" -#: part/models.py:4375 +#: part/models.py:4418 msgid "Substitute part" msgstr "" -#: part/models.py:4391 +#: part/models.py:4434 msgid "Part 1" msgstr "" -#: part/models.py:4399 +#: part/models.py:4442 msgid "Part 2" msgstr "" -#: part/models.py:4400 +#: part/models.py:4443 msgid "Select Related Part" msgstr "" -#: part/models.py:4419 +#: part/models.py:4462 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4424 +#: part/models.py:4467 msgid "Duplicate relationship already exists" msgstr "" @@ -7195,7 +7155,7 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:406 +#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:535 msgid "Purchase currency of this stock item" msgstr "" @@ -7215,317 +7175,317 @@ msgstr "已拒绝" msgid "Select category" msgstr "设置类别" -#: part/serializers.py:437 +#: part/serializers.py:442 msgid "Original Part" msgstr "" -#: part/serializers.py:438 +#: part/serializers.py:443 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:448 msgid "Copy Image" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:449 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:450 part/templates/part/detail.html:277 +#: part/serializers.py:455 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:451 +#: part/serializers.py:456 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:462 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:458 +#: part/serializers.py:463 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:464 +#: part/serializers.py:469 #, fuzzy #| msgid "Company Notes" msgid "Copy Notes" msgstr "公司备注" -#: part/serializers.py:465 +#: part/serializers.py:470 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:478 +#: part/serializers.py:488 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:490 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:487 +#: part/serializers.py:497 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:488 +#: part/serializers.py:498 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:500 +#: part/serializers.py:515 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:531 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:526 +#: part/serializers.py:541 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:533 +#: part/serializers.py:548 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:542 +#: part/serializers.py:557 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:553 +#: part/serializers.py:568 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:560 +#: part/serializers.py:575 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:823 +#: part/serializers.py:838 #, fuzzy #| msgid "External Link" msgid "External Stock" msgstr "外部链接" -#: part/serializers.py:825 +#: part/serializers.py:840 #, fuzzy #| msgid "Unallocate Stock" msgid "Unallocated Stock" msgstr "未分配库存" -#: part/serializers.py:828 +#: part/serializers.py:843 #, fuzzy #| msgid "Part Stock" msgid "Variant Stock" msgstr "商品库存" -#: part/serializers.py:856 part/templates/part/copy_part.html:9 +#: part/serializers.py:871 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "复制部件" -#: part/serializers.py:857 +#: part/serializers.py:872 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:863 templates/js/translated/part.js:102 +#: part/serializers.py:878 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:864 +#: part/serializers.py:879 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:870 +#: part/serializers.py:885 msgid "Supplier Information" msgstr "" -#: part/serializers.py:871 +#: part/serializers.py:886 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:879 +#: part/serializers.py:894 msgid "Copy Category Parameters" msgstr "复制类别参数" -#: part/serializers.py:880 +#: part/serializers.py:895 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:885 +#: part/serializers.py:900 #, fuzzy #| msgid "Existing barcode found" msgid "Existing Image" msgstr "发现现有条码" -#: part/serializers.py:886 +#: part/serializers.py:901 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:918 #, fuzzy #| msgid "Part image not found" msgid "Image file does not exist" msgstr "未找到商品图像" -#: part/serializers.py:1109 +#: part/serializers.py:1124 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1119 +#: part/serializers.py:1134 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1129 +#: part/serializers.py:1144 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1135 +#: part/serializers.py:1150 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1136 +#: part/serializers.py:1151 #, fuzzy #| msgid "Exclude stock items from this selected location" msgid "Exclude stock items in external locations" msgstr "从该选定的仓储地点排除库存项" -#: part/serializers.py:1141 +#: part/serializers.py:1156 msgid "Generate Report" msgstr "" -#: part/serializers.py:1142 +#: part/serializers.py:1157 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1147 +#: part/serializers.py:1162 msgid "Update Parts" msgstr "" -#: part/serializers.py:1148 +#: part/serializers.py:1163 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1156 +#: part/serializers.py:1171 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1262 -msgid "Override calculated value for minimum price" -msgstr "" - -#: part/serializers.py:1269 -#, fuzzy -#| msgid "Uses default currency" -msgid "Minimum price currency" -msgstr "使用默认货币" - #: part/serializers.py:1277 -msgid "Override calculated value for maximum price" +msgid "Override calculated value for minimum price" msgstr "" #: part/serializers.py:1284 #, fuzzy #| msgid "Uses default currency" +msgid "Minimum price currency" +msgstr "使用默认货币" + +#: part/serializers.py:1292 +msgid "Override calculated value for maximum price" +msgstr "" + +#: part/serializers.py:1299 +#, fuzzy +#| msgid "Uses default currency" msgid "Maximum price currency" msgstr "使用默认货币" -#: part/serializers.py:1313 +#: part/serializers.py:1328 msgid "Update" msgstr "" -#: part/serializers.py:1314 +#: part/serializers.py:1329 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1337 +#: part/serializers.py:1352 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1344 +#: part/serializers.py:1359 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1347 +#: part/serializers.py:1362 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1714 +#: part/serializers.py:1729 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1722 +#: part/serializers.py:1737 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1723 +#: part/serializers.py:1738 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1728 +#: part/serializers.py:1743 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1729 +#: part/serializers.py:1744 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1734 +#: part/serializers.py:1749 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1735 +#: part/serializers.py:1750 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1755 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1756 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1775 +#: part/serializers.py:1790 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1776 +#: part/serializers.py:1791 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1806 +#: part/serializers.py:1821 msgid "No part column specified" msgstr "" -#: part/serializers.py:1850 +#: part/serializers.py:1865 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1853 +#: part/serializers.py:1868 msgid "No matching part found" msgstr "" -#: part/serializers.py:1856 +#: part/serializers.py:1871 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1865 +#: part/serializers.py:1880 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1888 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1894 +#: part/serializers.py:1909 msgid "At least one BOM item is required" msgstr "" #: part/stocktake.py:224 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:2085 +#: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" @@ -7681,7 +7641,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2218 users/models.py:204 +#: templates/js/translated/stock.js:2216 users/models.py:204 msgid "Stocktake" msgstr "" @@ -7779,15 +7739,15 @@ msgstr "商品供应商" msgid "Part Manufacturers" msgstr "商品制造商" -#: part/templates/part/detail.html:659 +#: part/templates/part/detail.html:655 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:667 +#: part/templates/part/detail.html:663 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:752 +#: part/templates/part/detail.html:748 msgid "Add Test Result Template" msgstr "" @@ -7846,7 +7806,7 @@ msgstr "" #: part/templates/part/part_base.html:52 #: stock/templates/stock/item_base.html:62 -#: stock/templates/stock/location.html:74 +#: stock/templates/stock/location.html:74 templates/js/translated/label.js:142 msgid "Print Label" msgstr "打印标签" @@ -7868,7 +7828,7 @@ msgstr "清点商品库存" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2293 +#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2292 msgid "Part actions" msgstr "" @@ -7919,7 +7879,7 @@ msgid "Part is virtual (not a physical part)" msgstr "商品是虚拟的(不是实体零件)" #: part/templates/part/part_base.html:163 -#: part/templates/part/part_base.html:682 +#: part/templates/part/part_base.html:681 msgid "Show Part Details" msgstr "" @@ -7942,7 +7902,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2444 +#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2443 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7965,19 +7925,19 @@ msgstr "商品二维码" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:512 +#: part/templates/part/part_base.html:511 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:529 +#: part/templates/part/part_base.html:528 msgid "Remove associated image from this part" msgstr "" -#: part/templates/part/part_base.html:580 +#: part/templates/part/part_base.html:579 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:676 +#: part/templates/part/part_base.html:675 msgid "Hide Part Details" msgstr "" @@ -8036,8 +7996,8 @@ msgstr "" #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 -#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 -#: templates/js/translated/stock.js:2072 templates/navbar.html:31 +#: templates/js/translated/part.js:2391 templates/js/translated/stock.js:1059 +#: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "库存" @@ -8085,7 +8045,7 @@ msgstr "编辑" #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 -#: templates/js/translated/stock.js:2248 +#: templates/js/translated/stock.js:2246 msgid "Last Updated" msgstr "" @@ -8161,7 +8121,7 @@ msgid "Update Pricing" msgstr "商品价格" #: part/templates/part/stock_count.html:7 -#: templates/js/translated/model_renderers.js:221 +#: templates/js/translated/model_renderers.js:227 #: templates/js/translated/part.js:704 templates/js/translated/part.js:2140 #: templates/js/translated/part.js:2142 msgid "No Stock" @@ -8241,7 +8201,7 @@ msgstr "未找到商品图像" msgid "Part Pricing" msgstr "商品价格" -#: plugin/api.py:168 +#: plugin/api.py:170 msgid "Plugin cannot be deleted as it is currently active" msgstr "" @@ -8326,7 +8286,7 @@ msgid "Stock item does not match line item" msgstr "在BOM中找不到选定的库存项" #: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2589 -#: templates/js/translated/sales_order.js:1917 +#: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "" @@ -8452,28 +8412,22 @@ msgstr "此生产产出已经完成" msgid "Quantity to allocate" msgstr "分配到生产的数量" -#: plugin/base/label/label.py:39 +#: plugin/base/label/label.py:39 templates/js/translated/label.js:154 msgid "Label printing failed" msgstr "" -#: plugin/base/label/mixins.py:63 +#: plugin/base/label/mixins.py:56 #, fuzzy #| msgid "Error renaming file" msgid "Error rendering label to PDF" msgstr "重命名文件出错" -#: plugin/base/label/mixins.py:76 +#: plugin/base/label/mixins.py:70 #, fuzzy #| msgid "Error renaming file" msgid "Error rendering label to HTML" msgstr "重命名文件出错" -#: plugin/base/label/mixins.py:111 -#, fuzzy -#| msgid "Error renaming file" -msgid "Error rendering label to PNG" -msgstr "重命名文件出错" - #: plugin/builtin/barcodes/inventree_barcode.py:25 msgid "InvenTree Barcodes" msgstr "" @@ -8485,7 +8439,7 @@ msgstr "" #: plugin/builtin/barcodes/inventree_barcode.py:28 #: plugin/builtin/integration/core_notifications.py:35 #: plugin/builtin/integration/currency_exchange.py:21 -#: plugin/builtin/labels/inventree_label.py:23 +#: plugin/builtin/labels/inventree_label.py:22 #: plugin/builtin/labels/inventree_machine.py:64 #: plugin/builtin/labels/label_sheet.py:63 #: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 @@ -8541,23 +8495,23 @@ msgstr "" msgid "Default currency exchange integration" msgstr "该公司使用的默认货币" -#: plugin/builtin/labels/inventree_label.py:20 +#: plugin/builtin/labels/inventree_label.py:19 msgid "InvenTree PDF label printer" msgstr "" -#: plugin/builtin/labels/inventree_label.py:21 +#: plugin/builtin/labels/inventree_label.py:20 #, fuzzy #| msgid "Part(s) must be selected before printing labels" msgid "Provides native support for printing PDF labels" msgstr "打印标签前必须选择商品" -#: plugin/builtin/labels/inventree_label.py:29 +#: plugin/builtin/labels/inventree_label.py:28 #, fuzzy #| msgid "Debug Mode" msgid "Debug mode" msgstr "调试模式" -#: plugin/builtin/labels/inventree_label.py:30 +#: plugin/builtin/labels/inventree_label.py:29 msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "" @@ -8571,11 +8525,11 @@ msgstr "" msgid "Provides support for printing using a machine" msgstr "打印标签前必须选择商品" -#: plugin/builtin/labels/inventree_machine.py:150 +#: plugin/builtin/labels/inventree_machine.py:151 msgid "last used" msgstr "" -#: plugin/builtin/labels/inventree_machine.py:167 +#: plugin/builtin/labels/inventree_machine.py:168 msgid "Options" msgstr "选项" @@ -8603,7 +8557,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:47 report/models.py:209 +#: plugin/builtin/labels/label_sheet.py:47 report/models.py:308 msgid "Landscape" msgstr "" @@ -8619,11 +8573,11 @@ msgstr "" msgid "Arrays multiple labels onto a single sheet" msgstr "" -#: plugin/builtin/labels/label_sheet.py:94 +#: plugin/builtin/labels/label_sheet.py:99 msgid "Label is too large for page size" msgstr "" -#: plugin/builtin/labels/label_sheet.py:128 +#: plugin/builtin/labels/label_sheet.py:133 msgid "No labels were generated" msgstr "" @@ -8737,63 +8691,64 @@ msgstr "打印操作" msgid "Uninstalled plugin successfully" msgstr "安装到组装中" -#: plugin/models.py:30 +#: plugin/models.py:35 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:31 +#: plugin/models.py:36 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:34 users/models.py:100 +#: plugin/models.py:42 users/models.py:100 msgid "Key" msgstr "" -#: plugin/models.py:34 +#: plugin/models.py:43 msgid "Key of plugin" msgstr "" -#: plugin/models.py:42 +#: plugin/models.py:51 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:49 plugin/serializers.py:90 +#: plugin/models.py:58 plugin/serializers.py:90 msgid "Package Name" msgstr "" -#: plugin/models.py:51 +#: plugin/models.py:60 msgid "Name of the installed package, if the plugin was installed via PIP" msgstr "" -#: plugin/models.py:56 +#: plugin/models.py:65 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:147 templates/js/translated/table_filters.js:370 +#: plugin/models.py:156 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "" -#: plugin/models.py:156 +#: plugin/models.py:165 msgid "Sample plugin" msgstr "" -#: plugin/models.py:164 +#: plugin/models.py:173 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:172 +#: plugin/models.py:181 #, fuzzy #| msgid "Packaging" msgid "Package Plugin" msgstr "打包" -#: plugin/models.py:196 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:205 report/models.py:475 +#: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" msgstr "" -#: plugin/models.py:243 +#: plugin/models.py:252 msgid "Method" msgstr "" @@ -8940,253 +8895,377 @@ msgstr "删除仓储地" msgid "Delete the plugin configuration from the database" msgstr "" -#: report/api.py:158 +#: report/api.py:77 msgid "No valid objects provided to template" msgstr "没有为模板提供有效对象" -#: report/api.py:197 report/api.py:234 +#: report/api.py:89 report/serializers.py:53 +msgid "Model Type" +msgstr "" + +#: report/api.py:92 report/models.py:439 report/serializers.py:98 +#: report/serializers.py:148 templates/js/translated/purchase_order.js:1747 +#: templates/js/translated/return_order.js:353 +#: templates/js/translated/sales_order.js:887 +#: templates/js/translated/sales_order.js:1047 +msgid "Items" +msgstr "" + +#: report/api.py:168 +#, fuzzy +#| msgid "Part image not found" +msgid "Plugin not found" +msgstr "未找到商品图像" + +#: report/api.py:170 +#, fuzzy +#| msgid "Print actions" +msgid "Plugin is not active" +msgstr "打印操作" + +#: report/api.py:172 +#, fuzzy +#| msgid "Part(s) must be selected before printing labels" +msgid "Plugin does not support label printing" +msgstr "打印标签前必须选择商品" + +#: report/api.py:221 +#, fuzzy +#| msgid "Inline label display" +msgid "Invalid label dimensions" +msgstr "内嵌标签显示" + +#: report/api.py:236 report/api.py:316 +#, fuzzy +#| msgid "No valid objects provided to template" +msgid "No valid items provided to template" +msgstr "没有为模板提供有效对象" + +#: report/api.py:271 +#, fuzzy +#| msgid "Error renaming file" +msgid "Error printing label" +msgstr "重命名文件出错" + +#: report/api.py:362 report/api.py:398 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:319 -msgid "Test report" -msgstr "" - -#: report/helpers.py:15 +#: report/helpers.py:41 msgid "A4" msgstr "" -#: report/helpers.py:16 +#: report/helpers.py:42 msgid "A3" msgstr "" -#: report/helpers.py:17 +#: report/helpers.py:43 msgid "Legal" msgstr "" -#: report/helpers.py:18 +#: report/helpers.py:44 msgid "Letter" msgstr "" -#: report/models.py:177 +#: report/models.py:118 +#, fuzzy +#| msgid "Attachment with this filename already exists" +msgid "Template file with this name already exists" +msgstr "使用此文件名的附件已存在" + +#: report/models.py:150 msgid "Template name" msgstr "" -#: report/models.py:183 -msgid "Report template file" +#: report/models.py:156 +#, fuzzy +#| msgid "Company description" +msgid "Template description" +msgstr "公司简介" + +#: report/models.py:162 +msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:190 -msgid "Report template description" +#: report/models.py:202 +msgid "Filename Pattern" +msgstr "文件名样式" + +#: report/models.py:203 +msgid "Pattern for generating filenames" msgstr "" -#: report/models.py:196 -msgid "Report revision number (auto-increments)" -msgstr "" +#: report/models.py:208 +#, fuzzy +#| msgid "Label template is enabled" +msgid "Template is enabled" +msgstr "标签模板已启用" -#: report/models.py:204 +#: report/models.py:214 +#, fuzzy +#| msgid "Part Parameter Templates" +msgid "Target model type for template" +msgstr "商品参数模板" + +#: report/models.py:234 +msgid "Filters" +msgstr "筛选器" + +#: report/models.py:235 +#, fuzzy +#| msgid "Query filters (comma-separated list of key=value pairs)," +msgid "Template query filters (comma-separated list of key=value pairs)" +msgstr "查询筛选器 (逗号分隔的键值对列表)" + +#: report/models.py:295 report/models.py:362 +#, fuzzy +#| msgid "Template" +msgid "Template file" +msgstr "模板" + +#: report/models.py:303 #, fuzzy #| msgid "Default page size for PDF reports" msgid "Page size for PDF reports" msgstr "PDF 报表默认页面大小" -#: report/models.py:210 +#: report/models.py:309 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:318 -msgid "Pattern for generating report filenames" -msgstr "" +#: report/models.py:368 +msgid "Width [mm]" +msgstr "宽度 [mm]" -#: report/models.py:325 -msgid "Report template is enabled" -msgstr "" +#: report/models.py:369 +msgid "Label width, specified in mm" +msgstr "标注宽度,以毫米为单位。" -#: report/models.py:347 -msgid "StockItem query filters (comma-separated list of key=value pairs)" -msgstr "" +#: report/models.py:375 +msgid "Height [mm]" +msgstr "高度 [mm]" -#: report/models.py:354 -msgid "Include Installed Tests" -msgstr "" +#: report/models.py:376 +msgid "Label height, specified in mm" +msgstr "标注高度,以毫米为单位。" -#: report/models.py:356 -msgid "Include test results for stock items installed inside assembled item" -msgstr "" - -#: report/models.py:424 -msgid "Build Filters" -msgstr "" - -#: report/models.py:425 -msgid "Build query filters (comma-separated list of key=value pairs" -msgstr "" - -#: report/models.py:464 -msgid "Part Filters" -msgstr "商品过滤器" - -#: report/models.py:465 -msgid "Part query filters (comma-separated list of key=value pairs" -msgstr "" - -#: report/models.py:497 -msgid "Purchase order query filters" -msgstr "" - -#: report/models.py:533 -msgid "Sales order query filters" -msgstr "" - -#: report/models.py:569 -msgid "Return order query filters" -msgstr "" - -#: report/models.py:641 +#: report/models.py:439 #, fuzzy -#| msgid "Attachment with this filename already exists" -msgid "Snippet file with this name already exists" -msgstr "使用此文件名的附件已存在" +#| msgid "Number of stock items to build" +msgid "Number of items to process" +msgstr "要生产的项目数量" -#: report/models.py:648 +#: report/models.py:445 +msgid "Report generation is complete" +msgstr "" + +#: report/models.py:449 templates/js/translated/build.js:2177 +msgid "Progress" +msgstr "" + +#: report/models.py:449 +#, fuzzy +#| msgid "Report Settings" +msgid "Report generation progress" +msgstr "报表设置" + +#: report/models.py:457 +#, fuzzy +#| msgid "Delete Template" +msgid "Report Template" +msgstr "删除模板" + +#: report/models.py:464 report/models.py:487 +#, fuzzy +#| msgid "Output Actions" +msgid "Output File" +msgstr "输出操作" + +#: report/models.py:465 report/models.py:488 +#, fuzzy +#| msgid "Delete outputs" +msgid "Generated output file" +msgstr "删除输出" + +#: report/models.py:476 +#, fuzzy +#| msgid "Select supplier" +msgid "Label output plugin" +msgstr "选择供应商" + +#: report/models.py:480 +#, fuzzy +#| msgid "Label template file" +msgid "Label Template" +msgstr "标签模板文件" + +#: report/models.py:503 msgid "Snippet" msgstr "" -#: report/models.py:649 +#: report/models.py:504 msgid "Report snippet file" msgstr "" -#: report/models.py:656 +#: report/models.py:511 msgid "Snippet file description" msgstr "" -#: report/models.py:714 -#, fuzzy -#| msgid "Attachment with this filename already exists" -msgid "Asset file with this name already exists" -msgstr "使用此文件名的附件已存在" - -#: report/models.py:722 +#: report/models.py:529 msgid "Asset" msgstr "" -#: report/models.py:723 +#: report/models.py:530 msgid "Report asset file" msgstr "" -#: report/models.py:730 +#: report/models.py:537 msgid "Asset file description" msgstr "" -#: report/models.py:752 +#: report/serializers.py:91 #, fuzzy -#| msgid "Query filters (comma-separated list of key=value pairs)," -msgid "stock location query filters (comma-separated list of key=value pairs)" -msgstr "查询筛选器 (逗号分隔的键值对列表)" +#| msgid "Select Label Template" +msgid "Select report template" +msgstr "选择标签模板" + +#: report/serializers.py:99 report/serializers.py:149 +msgid "List of item primary keys to include in the report" +msgstr "" + +#: report/serializers.py:132 +#, fuzzy +#| msgid "Select Label Template" +msgid "Select label template" +msgstr "选择标签模板" + +#: report/serializers.py:140 +#, fuzzy +#| msgid "Print actions" +msgid "Printing Plugin" +msgstr "打印操作" + +#: report/serializers.py:141 +msgid "Select plugin to use for label printing" +msgstr "" + +#: report/templates/label/part_label.html:31 +#: report/templates/label/stockitem_qr.html:21 +#: report/templates/label/stocklocation_qr.html:20 +#: templates/allauth_2fa/setup.html:18 +#, fuzzy +#| msgid "Part QR Code" +msgid "QR Code" +msgstr "商品二维码" + +#: report/templates/label/part_label_code128.html:31 +#: report/templates/label/stocklocation_qr_and_text.html:31 +#: templates/qr_code.html:7 +msgid "QR code" +msgstr "" #: report/templates/report/inventree_bill_of_materials_report.html:133 msgid "Materials needed" msgstr "" -#: report/templates/report/inventree_build_order_base.html:146 +#: report/templates/report/inventree_build_order_report.html:146 msgid "Required For" msgstr "" -#: report/templates/report/inventree_po_report_base.html:15 +#: report/templates/report/inventree_purchase_order_report.html:15 msgid "Supplier was deleted" msgstr "" -#: report/templates/report/inventree_po_report_base.html:30 -#: report/templates/report/inventree_so_report_base.html:30 +#: report/templates/report/inventree_purchase_order_report.html:30 +#: report/templates/report/inventree_sales_order_report.html:30 #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:834 -#: templates/js/translated/purchase_order.js:2116 -#: templates/js/translated/sales_order.js:1837 +#: templates/js/translated/purchase_order.js:2115 +#: templates/js/translated/sales_order.js:1873 msgid "Unit Price" msgstr "单价" -#: report/templates/report/inventree_po_report_base.html:55 -#: report/templates/report/inventree_return_order_report_base.html:48 -#: report/templates/report/inventree_so_report_base.html:55 +#: report/templates/report/inventree_purchase_order_report.html:55 +#: report/templates/report/inventree_return_order_report.html:48 +#: report/templates/report/inventree_sales_order_report.html:55 #, fuzzy #| msgid "Extra build notes" msgid "Extra Line Items" 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:2018 -#: templates/js/translated/sales_order.js:1806 +#: report/templates/report/inventree_purchase_order_report.html:72 +#: report/templates/report/inventree_sales_order_report.html:72 +#: templates/js/translated/purchase_order.js:2017 +#: templates/js/translated/sales_order.js:1842 msgid "Total" msgstr "" -#: report/templates/report/inventree_return_order_report_base.html:25 -#: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:809 stock/templates/stock/item_base.html:311 +#: report/templates/report/inventree_return_order_report.html:25 +#: report/templates/report/inventree_test_report.html:88 stock/models.py:830 +#: stock/serializers.py:150 stock/templates/stock/item_base.html:311 #: templates/js/translated/build.js:519 templates/js/translated/build.js:1367 #: templates/js/translated/build.js:2355 -#: templates/js/translated/model_renderers.js:224 -#: templates/js/translated/return_order.js:540 -#: templates/js/translated/return_order.js:724 +#: templates/js/translated/model_renderers.js:230 +#: templates/js/translated/return_order.js:539 +#: templates/js/translated/return_order.js:723 #: templates/js/translated/sales_order.js:315 -#: templates/js/translated/sales_order.js:1611 -#: templates/js/translated/sales_order.js:1696 +#: templates/js/translated/sales_order.js:1647 +#: templates/js/translated/sales_order.js:1732 #: templates/js/translated/stock.js:596 msgid "Serial Number" msgstr "序列号" -#: report/templates/report/inventree_slr_report.html:97 +#: report/templates/report/inventree_stock_location_report.html:97 #, fuzzy #| msgid "Stock item created" msgid "Stock location items" msgstr "库存项已创建" -#: report/templates/report/inventree_test_report_base.html:21 +#: report/templates/report/inventree_test_report.html:21 msgid "Stock Item Test Report" msgstr "" -#: report/templates/report/inventree_test_report_base.html:97 +#: report/templates/report/inventree_test_report.html:97 msgid "Test Results" msgstr "" -#: report/templates/report/inventree_test_report_base.html:102 +#: report/templates/report/inventree_test_report.html:102 #: templates/js/translated/stock.js:1495 msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2442 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2419 msgid "Result" msgstr "" -#: report/templates/report/inventree_test_report_base.html:130 +#: report/templates/report/inventree_test_report.html:130 msgid "Pass" msgstr "" -#: report/templates/report/inventree_test_report_base.html:132 +#: report/templates/report/inventree_test_report.html:132 msgid "Fail" msgstr "" -#: report/templates/report/inventree_test_report_base.html:139 +#: report/templates/report/inventree_test_report.html:139 #, fuzzy #| msgid "Restart required" msgid "No result (required)" msgstr "需要重启" -#: report/templates/report/inventree_test_report_base.html:141 +#: report/templates/report/inventree_test_report.html:141 msgid "No result" msgstr "" -#: report/templates/report/inventree_test_report_base.html:154 +#: report/templates/report/inventree_test_report.html:154 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" -#: report/templates/report/inventree_test_report_base.html:168 -#: stock/admin.py:162 templates/js/translated/stock.js:700 -#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3113 +#: report/templates/report/inventree_test_report.html:168 stock/admin.py:162 +#: templates/js/translated/stock.js:700 templates/js/translated/stock.js:871 +#: templates/js/translated/stock.js:3110 msgid "Serial" msgstr "" @@ -9247,7 +9326,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:201 stock/models.py:789 +#: stock/admin.py:201 stock/models.py:810 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" @@ -9274,74 +9353,74 @@ msgstr "" msgid "Delete on Deplete" msgstr "删除模板" -#: stock/admin.py:256 stock/models.py:883 +#: stock/admin.py:256 stock/models.py:904 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2232 users/models.py:124 +#: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" msgstr "" -#: stock/api.py:284 +#: stock/api.py:318 #, fuzzy #| msgid "Print Order Reports" msgid "Filter by location depth" msgstr "打印订单报表" -#: stock/api.py:304 +#: stock/api.py:338 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:325 +#: stock/api.py:359 #, fuzzy #| msgid "Print actions" msgid "Parent Location" msgstr "打印操作" -#: stock/api.py:326 +#: stock/api.py:360 #, fuzzy #| msgid "Delete location" msgid "Filter by parent location" msgstr "删除仓储地" -#: stock/api.py:579 templates/js/translated/table_filters.js:427 +#: stock/api.py:613 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:767 +#: stock/api.py:801 #, fuzzy #| msgid "Part name" msgid "Part Tree" msgstr "商品名称" -#: stock/api.py:797 +#: stock/api.py:831 msgid "Expiry date before" msgstr "" -#: stock/api.py:801 +#: stock/api.py:835 msgid "Expiry date after" msgstr "" -#: stock/api.py:804 stock/templates/stock/item_base.html:439 +#: stock/api.py:838 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:891 +#: stock/api.py:925 msgid "Quantity is required" msgstr "" -#: stock/api.py:897 +#: stock/api.py:931 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:928 +#: stock/api.py:962 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:938 +#: stock/api.py:972 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:969 +#: stock/api.py:1003 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -9361,515 +9440,573 @@ msgstr "仓储地点" msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:125 stock/models.py:771 +#: stock/models.py:127 stock/models.py:792 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "仓储地点" -#: stock/models.py:126 stock/templates/stock/location.html:179 +#: stock/models.py:128 stock/templates/stock/location.html:186 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:205 msgid "Stock Locations" msgstr "仓储地点" -#: stock/models.py:158 stock/models.py:932 +#: stock/models.py:170 stock/models.py:953 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:159 stock/models.py:933 +#: stock/models.py:171 stock/models.py:954 msgid "Select Owner" msgstr "" -#: stock/models.py:167 +#: stock/models.py:179 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:174 templates/js/translated/stock.js:2784 +#: stock/models.py:186 templates/js/translated/stock.js:2781 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "" -#: stock/models.py:175 +#: stock/models.py:187 msgid "This is an external stock location" msgstr "" -#: stock/models.py:181 templates/js/translated/stock.js:2793 +#: stock/models.py:193 templates/js/translated/stock.js:2790 #: templates/js/translated/table_filters.js:246 #, fuzzy #| msgid "Location" msgid "Location type" msgstr "地点" -#: stock/models.py:185 +#: stock/models.py:197 #, fuzzy #| msgid "Stock item created" msgid "Stock location type of this location" msgstr "库存项已创建" -#: stock/models.py:254 +#: stock/models.py:266 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:626 +#: stock/models.py:647 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:653 stock/serializers.py:290 +#: stock/models.py:674 stock/serializers.py:419 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:670 +#: stock/models.py:691 #, fuzzy, python-brace-format #| msgid "Part type ('{pf}') must be {pe}" msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "商品类型 ('{pf}') 必须是 {pe}" -#: stock/models.py:680 stock/models.py:693 +#: stock/models.py:701 stock/models.py:714 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:683 +#: stock/models.py:704 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:707 +#: stock/models.py:728 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:712 +#: stock/models.py:733 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:725 +#: stock/models.py:746 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:741 +#: stock/models.py:762 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:753 +#: stock/models.py:774 msgid "Base part" msgstr "" -#: stock/models.py:763 +#: stock/models.py:784 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:775 +#: stock/models.py:796 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:783 stock/serializers.py:1351 +#: stock/models.py:804 stock/serializers.py:1480 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:794 +#: stock/models.py:815 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:813 +#: stock/models.py:834 msgid "Serial number for this item" msgstr "" -#: stock/models.py:827 stock/serializers.py:1334 +#: stock/models.py:848 stock/serializers.py:1463 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:832 +#: stock/models.py:853 msgid "Stock Quantity" msgstr "" -#: stock/models.py:842 +#: stock/models.py:863 msgid "Source Build" msgstr "" -#: stock/models.py:845 +#: stock/models.py:866 msgid "Build for this stock item" msgstr "" -#: stock/models.py:852 stock/templates/stock/item_base.html:363 +#: stock/models.py:873 stock/templates/stock/item_base.html:363 #, fuzzy #| msgid "Issued By" msgid "Consumed By" msgstr "发布者" -#: stock/models.py:855 +#: stock/models.py:876 #, fuzzy #| msgid "BuildOrder to which this build is allocated" msgid "Build order which consumed this stock item" msgstr "此次生产匹配的订单" -#: stock/models.py:864 +#: stock/models.py:885 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:868 +#: stock/models.py:889 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:874 +#: stock/models.py:895 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:885 +#: stock/models.py:906 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:903 +#: stock/models.py:924 msgid "Delete on deplete" msgstr "" -#: stock/models.py:904 +#: stock/models.py:925 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:924 +#: stock/models.py:945 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:955 +#: stock/models.py:976 msgid "Converted to part" msgstr "" -#: stock/models.py:1473 +#: stock/models.py:1494 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1479 +#: stock/models.py:1500 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1487 +#: stock/models.py:1508 #, fuzzy, python-brace-format #| msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "分配数量 ({q}) 不得超过可用库存数量 ({a})" -#: stock/models.py:1493 +#: stock/models.py:1514 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1498 +#: stock/models.py:1519 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1506 stock/serializers.py:529 +#: stock/models.py:1527 stock/serializers.py:658 msgid "Serial numbers already exist" msgstr "序列号已存在" -#: stock/models.py:1603 +#: stock/models.py:1624 #, fuzzy #| msgid "Part image not found" msgid "Test template does not exist" msgstr "未找到商品图像" -#: stock/models.py:1621 +#: stock/models.py:1642 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1625 +#: stock/models.py:1646 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1628 +#: stock/models.py:1649 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1631 +#: stock/models.py:1652 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1634 +#: stock/models.py:1655 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1637 +#: stock/models.py:1658 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1644 stock/serializers.py:1240 +#: stock/models.py:1665 stock/serializers.py:1369 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1648 +#: stock/models.py:1669 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1656 +#: stock/models.py:1677 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1661 +#: stock/models.py:1682 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1882 +#: stock/models.py:1903 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2345 +#: stock/models.py:2322 msgid "Entry notes" msgstr "" -#: stock/models.py:2410 +#: stock/models.py:2387 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2415 +#: stock/models.py:2392 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2442 +#: stock/models.py:2419 msgid "Test result" msgstr "" -#: stock/models.py:2449 +#: stock/models.py:2426 msgid "Test output value" msgstr "" -#: stock/models.py:2457 +#: stock/models.py:2434 msgid "Test result attachment" msgstr "" -#: stock/models.py:2461 +#: stock/models.py:2438 msgid "Test notes" msgstr "" -#: stock/models.py:2469 templates/js/translated/stock.js:1548 +#: stock/models.py:2446 templates/js/translated/stock.js:1548 #, fuzzy #| msgid "Destination" msgid "Test station" msgstr "目的地" -#: stock/models.py:2470 +#: stock/models.py:2447 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2476 +#: stock/models.py:2453 msgid "Started" msgstr "" -#: stock/models.py:2477 +#: stock/models.py:2454 #, fuzzy #| msgid "Timestamp of last update" msgid "The timestamp of the test start" msgstr "最后一次更新时间" -#: stock/models.py:2483 +#: stock/models.py:2460 #, fuzzy #| msgid "Danish" msgid "Finished" msgstr "丹麦语" -#: stock/models.py:2484 +#: stock/models.py:2461 #, fuzzy #| msgid "Timestamp of last update" msgid "The timestamp of the test finish" msgstr "最后一次更新时间" -#: stock/serializers.py:100 +#: stock/serializers.py:75 +msgid "Generated batch code" +msgstr "" + +#: stock/serializers.py:84 +#, fuzzy +#| msgid "Delete Build Order" +msgid "Select build order" +msgstr "删除生产订单" + +#: stock/serializers.py:93 +#, fuzzy +#| msgid "Selected stock item not found in BOM" +msgid "Select stock item to generate batch code for" +msgstr "在BOM中找不到选定的库存项" + +#: stock/serializers.py:102 +#, fuzzy +#| msgid "Select location where the completed items will be stored" +msgid "Select location to generate batch code for" +msgstr "选择已完成项目仓储地点" + +#: stock/serializers.py:111 +#, fuzzy +#| msgid "User or group responsible for this order" +msgid "Select part to generate batch code for" +msgstr "负责此订单的用户或群组" + +#: stock/serializers.py:120 +#, fuzzy +#| msgid "Create new purchase order" +msgid "Select purchase order" +msgstr "新建采购订单" + +#: stock/serializers.py:127 +#, fuzzy +#| msgid "Enter quantity for build output" +msgid "Enter quantity for batch code" +msgstr "输入生产产出数量" + +#: stock/serializers.py:150 +#, fuzzy +#| msgid "Assigned serial number" +msgid "Generated serial number" +msgstr "已分配序列号" + +#: stock/serializers.py:159 +#, fuzzy +#| msgid "Trackable parts can have serial numbers specified" +msgid "Select part to generate serial number for" +msgstr "可追踪商品可以指定序列号" + +#: stock/serializers.py:167 +#, fuzzy +#| msgid "Enter serial numbers for new items" +msgid "Quantity of serial numbers to generate" +msgstr "输入新项目的序列号" + +#: stock/serializers.py:229 #, fuzzy #| msgid "User or group responsible for this order" msgid "Test template for this result" msgstr "负责此订单的用户或群组" -#: stock/serializers.py:119 +#: stock/serializers.py:248 #, fuzzy #| msgid "Allocation items must be provided" msgid "Template ID or test name must be provided" msgstr "必须提供分配的项" -#: stock/serializers.py:151 +#: stock/serializers.py:280 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:184 +#: stock/serializers.py:313 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:282 +#: stock/serializers.py:411 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:402 +#: stock/serializers.py:531 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:464 +#: stock/serializers.py:593 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:477 +#: stock/serializers.py:606 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:484 +#: stock/serializers.py:613 msgid "Enter serial numbers for new items" msgstr "输入新项目的序列号" -#: stock/serializers.py:495 stock/serializers.py:1197 stock/serializers.py:1453 +#: stock/serializers.py:624 stock/serializers.py:1326 stock/serializers.py:1582 msgid "Destination stock location" msgstr "目标库存位置" -#: stock/serializers.py:502 +#: stock/serializers.py:631 msgid "Optional note field" msgstr "" -#: stock/serializers.py:512 +#: stock/serializers.py:641 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:567 +#: stock/serializers.py:696 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:574 +#: stock/serializers.py:703 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:575 +#: stock/serializers.py:704 #, fuzzy #| msgid "Enter quantity for build output" msgid "Enter the quantity of items to install" msgstr "输入生产产出数量" -#: stock/serializers.py:580 stock/serializers.py:660 stock/serializers.py:756 -#: stock/serializers.py:806 +#: stock/serializers.py:709 stock/serializers.py:789 stock/serializers.py:885 +#: stock/serializers.py:935 msgid "Add transaction note (optional)" msgstr "添加交易备注 (可选)" -#: stock/serializers.py:588 +#: stock/serializers.py:717 #, fuzzy #| msgid "Quantity must be a positive number" msgid "Quantity to install must be at least 1" msgstr "数量必须大于0" -#: stock/serializers.py:596 +#: stock/serializers.py:725 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:607 +#: stock/serializers.py:736 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:620 +#: stock/serializers.py:749 #, fuzzy #| msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgid "Quantity to install must not exceed available quantity" msgstr "分配数量 ({q}) 不得超过可用库存数量 ({a})" -#: stock/serializers.py:655 +#: stock/serializers.py:784 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:690 +#: stock/serializers.py:819 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:703 +#: stock/serializers.py:832 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:720 +#: stock/serializers.py:849 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:751 +#: stock/serializers.py:880 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:788 +#: stock/serializers.py:917 #, fuzzy #| msgid "Selected stock item not found in BOM" msgid "Select stock items to change status" msgstr "在BOM中找不到选定的库存项" -#: stock/serializers.py:794 +#: stock/serializers.py:923 #, fuzzy #| msgid "Stock item created" msgid "No stock items selected" msgstr "库存项已创建" -#: stock/serializers.py:890 stock/serializers.py:953 +#: stock/serializers.py:1019 stock/serializers.py:1082 #: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:213 +#: stock/templates/stock/location.html:220 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1069 +#: stock/serializers.py:1198 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1073 +#: stock/serializers.py:1202 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1077 +#: stock/serializers.py:1206 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1101 +#: stock/serializers.py:1230 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1107 +#: stock/serializers.py:1236 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1115 +#: stock/serializers.py:1244 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1125 stock/serializers.py:1379 +#: stock/serializers.py:1254 stock/serializers.py:1508 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1204 +#: stock/serializers.py:1333 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1209 +#: stock/serializers.py:1338 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1210 +#: stock/serializers.py:1339 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1215 +#: stock/serializers.py:1344 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1216 +#: stock/serializers.py:1345 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1226 +#: stock/serializers.py:1355 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1293 +#: stock/serializers.py:1422 #, fuzzy #| msgid "Change" msgid "No Change" msgstr "更改" -#: stock/serializers.py:1322 +#: stock/serializers.py:1451 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1341 +#: stock/serializers.py:1470 #, fuzzy #| msgid "Stock item created" msgid "Stock item status code" msgstr "库存项已创建" -#: stock/serializers.py:1369 +#: stock/serializers.py:1498 msgid "Stock transaction notes" msgstr "" @@ -9894,7 +10031,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:286 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:282 msgid "Delete Test Data" msgstr "" @@ -9910,15 +10047,15 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3274 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3271 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:274 +#: stock/templates/stock/item.html:270 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:304 templates/js/translated/stock.js:1701 +#: stock/templates/stock/item.html:300 templates/js/translated/stock.js:1701 msgid "Add Test Result" msgstr "" @@ -10105,42 +10242,42 @@ msgstr "" msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:507 -#: templates/js/translated/stock.js:1954 +#: stock/templates/stock/item_base.html:504 +#: templates/js/translated/stock.js:1952 #, fuzzy #| msgid "Stock Item" msgid "stock item" msgstr "库存项" -#: stock/templates/stock/item_base.html:532 +#: stock/templates/stock/item_base.html:527 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:541 +#: stock/templates/stock/item_base.html:536 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:552 +#: stock/templates/stock/item_base.html:547 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:616 +#: stock/templates/stock/item_base.html:611 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:619 +#: stock/templates/stock/item_base.html:614 msgid "Warning" msgstr "警告" -#: stock/templates/stock/item_base.html:620 +#: stock/templates/stock/item_base.html:615 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:628 +#: stock/templates/stock/item_base.html:623 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:662 +#: stock/templates/stock/item_base.html:657 msgid "Return to Stock" msgstr "" @@ -10206,30 +10343,36 @@ msgstr "" msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "您不在此仓储地的所有者列表中,无法编辑此仓储地。" -#: stock/templates/stock/location.html:217 +#: stock/templates/stock/location.html:176 +#, fuzzy +#| msgid "Location" +msgid "Location Type" +msgstr "地点" + +#: stock/templates/stock/location.html:224 msgid "Create new stock location" msgstr "新建仓储地点" -#: stock/templates/stock/location.html:218 +#: stock/templates/stock/location.html:225 msgid "New Location" msgstr "新建仓储地点" -#: stock/templates/stock/location.html:287 -#: templates/js/translated/stock.js:2575 +#: stock/templates/stock/location.html:295 +#: templates/js/translated/stock.js:2572 #, fuzzy #| msgid "Stock Location" msgid "stock location" msgstr "仓储地点" -#: stock/templates/stock/location.html:315 +#: stock/templates/stock/location.html:317 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:388 +#: stock/templates/stock/location.html:390 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:399 +#: stock/templates/stock/location.html:401 msgid "Link Barcode to Stock Location" msgstr "" @@ -10499,11 +10642,11 @@ msgstr "" msgid "Part Settings" msgstr "商品设置" -#: templates/InvenTree/settings/part.html:42 +#: templates/InvenTree/settings/part.html:43 msgid "Part Import" msgstr "商品导入" -#: templates/InvenTree/settings/part.html:46 +#: templates/InvenTree/settings/part.html:47 msgid "Import Part" msgstr "导入商品" @@ -10738,7 +10881,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:424 +#: templates/js/translated/stock.js:245 users/models.py:411 msgid "Delete" msgstr "删除" @@ -10875,7 +11018,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2159 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2163 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" @@ -11474,7 +11617,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3218 +#: templates/js/translated/part.js:3217 msgid "Minimum Quantity" msgstr "" @@ -11864,7 +12007,7 @@ msgid "External stock" msgstr "外部链接" #: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2595 -#: templates/js/translated/sales_order.js:1910 +#: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" @@ -11874,7 +12017,7 @@ msgstr "" #: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 #: templates/js/translated/part.js:1256 -#: templates/js/translated/sales_order.js:1907 +#: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" @@ -12165,17 +12308,17 @@ msgstr "" #: templates/js/translated/build.js:1576 #: templates/js/translated/purchase_order.js:611 -#: templates/js/translated/sales_order.js:1171 +#: templates/js/translated/sales_order.js:1207 msgid "Select Parts" msgstr "选择商品" #: templates/js/translated/build.js:1577 -#: templates/js/translated/sales_order.js:1172 +#: templates/js/translated/sales_order.js:1208 msgid "You must select at least one part to allocate" msgstr "" #: templates/js/translated/build.js:1640 -#: templates/js/translated/sales_order.js:1121 +#: templates/js/translated/sales_order.js:1157 msgid "Specify stock allocation quantity" msgstr "" @@ -12188,7 +12331,7 @@ msgid "All selected parts have been fully allocated" msgstr "" #: templates/js/translated/build.js:1732 -#: templates/js/translated/sales_order.js:1186 +#: templates/js/translated/sales_order.js:1222 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -12197,12 +12340,12 @@ msgid "Allocate Stock Items to Build Order" msgstr "" #: templates/js/translated/build.js:1771 -#: templates/js/translated/sales_order.js:1283 +#: templates/js/translated/sales_order.js:1319 msgid "No matching stock locations" msgstr "" #: templates/js/translated/build.js:1844 -#: templates/js/translated/sales_order.js:1362 +#: templates/js/translated/sales_order.js:1398 msgid "No matching stock items" msgstr "" @@ -12235,9 +12378,9 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 -#: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 -#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 -#: templates/js/translated/stock.js:1985 templates/js/translated/stock.js:2713 +#: templates/js/translated/forms.js:2159 templates/js/translated/forms.js:2175 +#: templates/js/translated/part.js:2315 templates/js/translated/part.js:2741 +#: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "" @@ -12245,21 +12388,17 @@ msgstr "" msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2177 -msgid "Progress" -msgstr "" - -#: templates/js/translated/build.js:2213 templates/js/translated/stock.js:3045 +#: templates/js/translated/build.js:2213 templates/js/translated/stock.js:3042 msgid "No user information" msgstr "没有用户信息" #: templates/js/translated/build.js:2389 -#: templates/js/translated/sales_order.js:1646 +#: templates/js/translated/sales_order.js:1682 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:2390 -#: templates/js/translated/sales_order.js:1647 +#: templates/js/translated/sales_order.js:1683 msgid "Delete stock allocation" msgstr "" @@ -12301,7 +12440,7 @@ msgid "Unit Quantity" msgstr "数量" #: templates/js/translated/build.js:2591 -#: templates/js/translated/sales_order.js:1915 +#: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" @@ -12322,7 +12461,7 @@ msgid "Allocate tracked items against individual build outputs" msgstr "" #: templates/js/translated/build.js:2662 -#: templates/js/translated/sales_order.js:2016 +#: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "" @@ -12331,7 +12470,7 @@ msgid "Order stock" msgstr "" #: templates/js/translated/build.js:2671 -#: templates/js/translated/sales_order.js:2010 +#: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "" @@ -12619,12 +12758,12 @@ msgid "Delete price break" msgstr "" #: templates/js/translated/filters.js:186 -#: templates/js/translated/filters.js:672 +#: templates/js/translated/filters.js:667 msgid "true" msgstr "" #: templates/js/translated/filters.js:190 -#: templates/js/translated/filters.js:673 +#: templates/js/translated/filters.js:668 msgid "false" msgstr "" @@ -12660,7 +12799,7 @@ msgstr "" msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:582 +#: templates/js/translated/filters.js:577 msgid "Create filter" msgstr "" @@ -12693,32 +12832,32 @@ msgstr "" msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1473 templates/modals.html:19 +#: templates/js/translated/forms.js:1477 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1971 +#: templates/js/translated/forms.js:1975 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2275 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2279 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2489 +#: templates/js/translated/forms.js:2493 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3091 +#: templates/js/translated/forms.js:3095 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3091 +#: templates/js/translated/forms.js:3095 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3103 +#: templates/js/translated/forms.js:3107 msgid "Select Columns" msgstr "" @@ -12744,69 +12883,19 @@ msgstr "" msgid "No parts required for builds" msgstr "生产订单所需的库存" -#: templates/js/translated/label.js:53 templates/js/translated/report.js:123 +#: templates/js/translated/label.js:55 templates/js/translated/report.js:38 #, fuzzy #| msgid "Select Stock Items" msgid "Select Items" msgstr "选择库存项" -#: templates/js/translated/label.js:54 +#: templates/js/translated/label.js:56 templates/js/translated/report.js:39 #, fuzzy #| msgid "Stock item(s) must be selected before printing labels" msgid "No items selected for printing" msgstr "打印标签前必须选择库存项目" -#: templates/js/translated/label.js:72 -msgid "No Labels Found" -msgstr "未找到标签" - -#: templates/js/translated/label.js:73 -#, fuzzy -#| msgid "No labels found which match the selected part(s)" -msgid "No label templates found which match the selected items" -msgstr "没有找到与所选商品相匹配的标签" - -#: templates/js/translated/label.js:97 -#, fuzzy -#| msgid "Rejected" -msgid "selected" -msgstr "已拒绝" - -#: templates/js/translated/label.js:133 -#, fuzzy -#| msgid "Print actions" -msgid "Printing Options" -msgstr "打印操作" - -#: templates/js/translated/label.js:148 -#, fuzzy -#| msgid "Print labels" -msgid "Print label" -msgstr "打印标签" - -#: templates/js/translated/label.js:148 -msgid "Print labels" -msgstr "打印标签" - #: templates/js/translated/label.js:149 -#, fuzzy -#| msgid "Print Label" -msgid "Print" -msgstr "打印标签" - -#: templates/js/translated/label.js:155 -#, fuzzy -#| msgid "Select Label Template" -msgid "Select label template" -msgstr "选择标签模板" - -#: templates/js/translated/label.js:168 -#, fuzzy -#| msgid "Select supplier" -msgid "Select plugin" -msgstr "选择供应商" - -#: templates/js/translated/label.js:187 msgid "Labels sent to printer" msgstr "" @@ -12924,7 +13013,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1991 +#: templates/js/translated/purchase_order.js:1990 msgid "No line items found" msgstr "" @@ -13166,19 +13255,19 @@ msgid "Delete Part Parameter Template" msgstr "" #: templates/js/translated/part.js:1716 -#: templates/js/translated/purchase_order.js:1655 +#: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1860 -#: templates/js/translated/purchase_order.js:2154 -#: templates/js/translated/return_order.js:756 -#: templates/js/translated/sales_order.js:1875 +#: templates/js/translated/purchase_order.js:2153 +#: templates/js/translated/return_order.js:755 +#: templates/js/translated/sales_order.js:1911 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1906 -#: templates/js/translated/purchase_order.js:2221 +#: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "" @@ -13190,7 +13279,7 @@ msgstr "" msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2506 +#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2505 msgid "No parts found" msgstr "" @@ -13206,107 +13295,107 @@ msgstr "设置商品类别" msgid "Set category" msgstr "设置类别" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2286 #, fuzzy #| msgid "Edit part" msgid "part" msgstr "编辑商品" -#: templates/js/translated/part.js:2288 +#: templates/js/translated/part.js:2287 #, fuzzy #| msgid "Parts" msgid "parts" msgstr "商品" -#: templates/js/translated/part.js:2384 +#: templates/js/translated/part.js:2383 msgid "No category" msgstr "没有分类" -#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 -#: templates/js/translated/stock.js:2672 +#: templates/js/translated/part.js:2530 templates/js/translated/part.js:2660 +#: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2547 +#: templates/js/translated/part.js:2546 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2645 +#: templates/js/translated/part.js:2644 #, fuzzy #| msgid "Subcategories" msgid "No subcategories found" msgstr "子类别" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2692 +#: templates/js/translated/part.js:2680 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2761 +#: templates/js/translated/part.js:2760 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2777 +#: templates/js/translated/part.js:2776 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2864 +#: templates/js/translated/part.js:2863 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2886 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2885 templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2935 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2941 +#: templates/js/translated/part.js:2940 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2957 +#: templates/js/translated/part.js:2956 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2971 +#: templates/js/translated/part.js:2970 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3050 templates/js/translated/part.js:3051 +#: templates/js/translated/part.js:3049 templates/js/translated/part.js:3050 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3053 +#: templates/js/translated/part.js:3052 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3059 +#: templates/js/translated/part.js:3058 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3109 +#: templates/js/translated/part.js:3108 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3115 +#: templates/js/translated/part.js:3114 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3211 +#: templates/js/translated/part.js:3210 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3227 +#: templates/js/translated/part.js:3226 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3272 +#: templates/js/translated/part.js:3271 msgid "Minimum Stock Level" msgstr "" @@ -13448,7 +13537,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:448 #: templates/js/translated/return_order.js:210 -#: templates/js/translated/sales_order.js:500 +#: templates/js/translated/sales_order.js:552 msgid "Mark this order as complete?" msgstr "" @@ -13461,7 +13550,6 @@ msgid "This order has line items which have not been marked as received." msgstr "" #: templates/js/translated/purchase_order.js:460 -#: templates/js/translated/sales_order.js:514 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" @@ -13519,12 +13607,12 @@ msgid "No matching purchase orders" msgstr "" #: templates/js/translated/purchase_order.js:1073 -#: templates/js/translated/return_order.js:491 +#: templates/js/translated/return_order.js:490 msgid "Select Line Items" msgstr "" #: templates/js/translated/purchase_order.js:1074 -#: templates/js/translated/return_order.js:492 +#: templates/js/translated/return_order.js:491 msgid "At least one line item must be selected" msgstr "" @@ -13581,7 +13669,7 @@ msgid "Quantity to Receive" msgstr "" #: templates/js/translated/purchase_order.js:1333 -#: templates/js/translated/return_order.js:561 +#: templates/js/translated/return_order.js:560 msgid "Confirm receipt of items" msgstr "" @@ -13605,88 +13693,77 @@ msgstr "" msgid "Invalid barcode data" msgstr "输入条形码数据" -#: templates/js/translated/purchase_order.js:1682 -#: templates/js/translated/return_order.js:286 -#: templates/js/translated/sales_order.js:774 -#: templates/js/translated/sales_order.js:998 +#: templates/js/translated/purchase_order.js:1681 +#: templates/js/translated/return_order.js:285 +#: templates/js/translated/sales_order.js:810 +#: templates/js/translated/sales_order.js:1034 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1748 -#: templates/js/translated/return_order.js:354 -#: templates/js/translated/sales_order.js:851 -#: templates/js/translated/sales_order.js:1011 -msgid "Items" -msgstr "" - -#: templates/js/translated/purchase_order.js:1844 +#: templates/js/translated/purchase_order.js:1843 #, fuzzy #| msgid "All selected supplier parts will be deleted" msgid "All selected Line items will be deleted" msgstr "删除所有选定的供应商商品" -#: templates/js/translated/purchase_order.js:1862 +#: templates/js/translated/purchase_order.js:1861 #, fuzzy #| msgid "Allocate selected items" msgid "Delete selected Line items?" msgstr "分配选定项目" -#: templates/js/translated/purchase_order.js:1917 -#: templates/js/translated/sales_order.js:2070 +#: templates/js/translated/purchase_order.js:1916 +#: templates/js/translated/sales_order.js:2106 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1932 -#: templates/js/translated/return_order.js:476 -#: templates/js/translated/return_order.js:669 -#: templates/js/translated/sales_order.js:2083 +#: templates/js/translated/purchase_order.js:1931 +#: templates/js/translated/return_order.js:475 +#: templates/js/translated/return_order.js:668 +#: templates/js/translated/sales_order.js:2119 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1943 -#: templates/js/translated/return_order.js:682 -#: templates/js/translated/sales_order.js:2094 +#: templates/js/translated/purchase_order.js:1942 +#: templates/js/translated/return_order.js:681 +#: templates/js/translated/sales_order.js:2130 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2225 -#: templates/js/translated/sales_order.js:2024 +#: templates/js/translated/purchase_order.js:2224 +#: templates/js/translated/sales_order.js:2060 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2226 -#: templates/js/translated/return_order.js:801 -#: templates/js/translated/sales_order.js:2025 +#: templates/js/translated/purchase_order.js:2225 +#: templates/js/translated/return_order.js:800 +#: templates/js/translated/sales_order.js:2061 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2227 -#: templates/js/translated/return_order.js:805 -#: templates/js/translated/sales_order.js:2031 +#: templates/js/translated/purchase_order.js:2226 +#: templates/js/translated/return_order.js:804 +#: templates/js/translated/sales_order.js:2067 msgid "Delete line item" msgstr "" -#: templates/js/translated/report.js:63 -msgid "items selected" -msgstr "" - -#: templates/js/translated/report.js:71 -msgid "Select Report Template" -msgstr "" - -#: templates/js/translated/report.js:86 -msgid "Select Test Report Template" -msgstr "" - -#: templates/js/translated/report.js:140 -msgid "No Reports Found" -msgstr "没有找到报表" - -#: templates/js/translated/report.js:141 +#: templates/js/translated/report.js:49 #, fuzzy -#| msgid "No labels found which match the selected part(s)" -msgid "No report templates found which match the selected items" -msgstr "没有找到与所选商品相匹配的标签" +#| msgid "Print Order Reports" +msgid "Print Report" +msgstr "打印订单报表" + +#: templates/js/translated/report.js:68 +#, fuzzy +#| msgid "Installed into assembly" +msgid "Report print successful" +msgstr "安装到组装中" + +#: templates/js/translated/report.js:73 +#, fuzzy +#| msgid "Error renaming file" +msgid "Report printing failed" +msgstr "重命名文件出错" #: templates/js/translated/return_order.js:60 #: templates/js/translated/sales_order.js:86 @@ -13725,27 +13802,27 @@ msgstr "取消订单" msgid "Complete Return Order" msgstr "生产订单完成" -#: templates/js/translated/return_order.js:266 +#: templates/js/translated/return_order.js:265 #, fuzzy #| msgid "No parameters found" msgid "No return orders found" msgstr "无指定参数" -#: templates/js/translated/return_order.js:300 -#: templates/js/translated/sales_order.js:788 +#: templates/js/translated/return_order.js:299 +#: templates/js/translated/sales_order.js:824 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/return_order.js:562 +#: templates/js/translated/return_order.js:561 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:693 -#: templates/js/translated/sales_order.js:2231 +#: templates/js/translated/return_order.js:692 +#: templates/js/translated/sales_order.js:2267 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:798 +#: templates/js/translated/return_order.js:797 msgid "Mark item as received" msgstr "" @@ -13789,144 +13866,162 @@ msgstr "" msgid "Skip" msgstr "" +#: templates/js/translated/sales_order.js:484 +#, fuzzy +#| msgid "Sales Order" +msgid "Ship Sales Order" +msgstr "销售订单" + +#: templates/js/translated/sales_order.js:500 +msgid "Ship this order?" +msgstr "" + +#: templates/js/translated/sales_order.js:506 +msgid "Order cannot be shipped as there are incomplete shipments" +msgstr "" + #: templates/js/translated/sales_order.js:513 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/sales_order.js:535 +#: templates/js/translated/sales_order.js:514 +msgid "Shipping this order means that the order and line items will no longer be editable." +msgstr "" + +#: templates/js/translated/sales_order.js:572 #, fuzzy #| msgid "New Sales Order" msgid "Issue this Sales Order?" msgstr "新建销售订单" -#: templates/js/translated/sales_order.js:540 +#: templates/js/translated/sales_order.js:577 #, fuzzy #| msgid "New Sales Order" msgid "Issue Sales Order" msgstr "新建销售订单" -#: templates/js/translated/sales_order.js:559 +#: templates/js/translated/sales_order.js:596 msgid "Cancel Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:564 +#: templates/js/translated/sales_order.js:601 msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: templates/js/translated/sales_order.js:618 +#: templates/js/translated/sales_order.js:655 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/sales_order.js:728 +#: templates/js/translated/sales_order.js:764 msgid "No sales orders found" msgstr "" -#: templates/js/translated/sales_order.js:908 +#: templates/js/translated/sales_order.js:944 msgid "Edit shipment" msgstr "" -#: templates/js/translated/sales_order.js:911 +#: templates/js/translated/sales_order.js:947 msgid "Complete shipment" msgstr "" -#: templates/js/translated/sales_order.js:916 +#: templates/js/translated/sales_order.js:952 msgid "Delete shipment" msgstr "" -#: templates/js/translated/sales_order.js:933 +#: templates/js/translated/sales_order.js:969 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/sales_order.js:948 +#: templates/js/translated/sales_order.js:984 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:981 +#: templates/js/translated/sales_order.js:1017 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/sales_order.js:1006 +#: templates/js/translated/sales_order.js:1042 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/sales_order.js:1030 -#: templates/js/translated/sales_order.js:1529 +#: templates/js/translated/sales_order.js:1066 +#: templates/js/translated/sales_order.js:1565 msgid "Not shipped" msgstr "" -#: templates/js/translated/sales_order.js:1048 +#: templates/js/translated/sales_order.js:1084 msgid "Tracking" msgstr "" -#: templates/js/translated/sales_order.js:1052 +#: templates/js/translated/sales_order.js:1088 msgid "Invoice" msgstr "" -#: templates/js/translated/sales_order.js:1219 +#: templates/js/translated/sales_order.js:1255 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1270 +#: templates/js/translated/sales_order.js:1306 msgid "Confirm stock allocation" msgstr "确认库存分配" -#: templates/js/translated/sales_order.js:1271 +#: templates/js/translated/sales_order.js:1307 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1477 +#: templates/js/translated/sales_order.js:1513 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1569 +#: templates/js/translated/sales_order.js:1605 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1583 +#: templates/js/translated/sales_order.js:1619 msgid "Confirm Delete Operation" msgstr "确认删除操作" -#: templates/js/translated/sales_order.js:1584 +#: templates/js/translated/sales_order.js:1620 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1623 -#: templates/js/translated/sales_order.js:1710 +#: templates/js/translated/sales_order.js:1659 +#: templates/js/translated/sales_order.js:1746 #: templates/js/translated/stock.js:1776 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/sales_order.js:1631 -#: templates/js/translated/sales_order.js:1719 +#: templates/js/translated/sales_order.js:1667 +#: templates/js/translated/sales_order.js:1755 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:2008 +#: templates/js/translated/sales_order.js:2044 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/sales_order.js:2012 +#: templates/js/translated/sales_order.js:2048 msgid "Purchase stock" msgstr "" -#: templates/js/translated/sales_order.js:2021 -#: templates/js/translated/sales_order.js:2209 +#: templates/js/translated/sales_order.js:2057 +#: templates/js/translated/sales_order.js:2245 msgid "Calculate price" msgstr "" -#: templates/js/translated/sales_order.js:2035 +#: templates/js/translated/sales_order.js:2071 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:2038 +#: templates/js/translated/sales_order.js:2074 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:2109 +#: templates/js/translated/sales_order.js:2145 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/sales_order.js:2217 +#: templates/js/translated/sales_order.js:2253 msgid "Update Unit Price" msgstr "" @@ -14138,7 +14233,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1042 users/models.py:414 +#: templates/js/translated/stock.js:1042 users/models.py:401 msgid "Add" msgstr "添加" @@ -14154,7 +14249,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1180 templates/js/translated/stock.js:3302 +#: templates/js/translated/stock.js:1180 templates/js/translated/stock.js:3299 msgid "Select Stock Items" msgstr "选择库存项" @@ -14238,222 +14333,222 @@ msgstr "" msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:1955 +#: templates/js/translated/stock.js:1953 #, fuzzy #| msgid "Stock Items" msgid "stock items" msgstr "库存项" -#: templates/js/translated/stock.js:1960 +#: templates/js/translated/stock.js:1958 #, fuzzy #| msgid "Stock Location" msgid "Scan to location" msgstr "仓储地点" -#: templates/js/translated/stock.js:1971 +#: templates/js/translated/stock.js:1969 #, fuzzy #| msgid "Stock Locations" msgid "Stock Actions" msgstr "仓储地点" -#: templates/js/translated/stock.js:2015 +#: templates/js/translated/stock.js:2013 #, fuzzy #| msgid "Installed into assembly" msgid "Load installed items" msgstr "安装到组装中" -#: templates/js/translated/stock.js:2093 +#: templates/js/translated/stock.js:2091 msgid "Stock item is in production" msgstr "库存品正在生产" -#: templates/js/translated/stock.js:2098 +#: templates/js/translated/stock.js:2096 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2101 +#: templates/js/translated/stock.js:2099 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2104 +#: templates/js/translated/stock.js:2102 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2106 +#: templates/js/translated/stock.js:2104 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2108 +#: templates/js/translated/stock.js:2106 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2111 +#: templates/js/translated/stock.js:2109 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2113 +#: templates/js/translated/stock.js:2111 #, fuzzy #| msgid "Accept as consumed by this build order" msgid "Stock item has been consumed by a build order" msgstr "接受此构建订单所消耗的内容" -#: templates/js/translated/stock.js:2117 +#: templates/js/translated/stock.js:2115 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2119 +#: templates/js/translated/stock.js:2117 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2124 +#: templates/js/translated/stock.js:2122 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2126 +#: templates/js/translated/stock.js:2124 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2128 +#: templates/js/translated/stock.js:2126 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2132 +#: templates/js/translated/stock.js:2130 #: templates/js/translated/table_filters.js:350 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2297 +#: templates/js/translated/stock.js:2295 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2344 +#: templates/js/translated/stock.js:2342 #, fuzzy #| msgid "Stock Source" msgid "Stock Value" msgstr "库存来源" -#: templates/js/translated/stock.js:2472 +#: templates/js/translated/stock.js:2470 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2576 +#: templates/js/translated/stock.js:2573 #, fuzzy #| msgid "Stock Locations" msgid "stock locations" msgstr "仓储地点" -#: templates/js/translated/stock.js:2731 +#: templates/js/translated/stock.js:2728 #, fuzzy #| msgid "Stock Locations" msgid "Load Sublocations" msgstr "仓储地点" -#: templates/js/translated/stock.js:2849 +#: templates/js/translated/stock.js:2846 msgid "Details" msgstr "详情" -#: templates/js/translated/stock.js:2853 +#: templates/js/translated/stock.js:2850 #, fuzzy #| msgid "Change" msgid "No changes" msgstr "更改" -#: templates/js/translated/stock.js:2865 +#: templates/js/translated/stock.js:2862 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2887 +#: templates/js/translated/stock.js:2884 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2904 +#: templates/js/translated/stock.js:2901 #, fuzzy #| msgid "Sales Order Settings" msgid "Build order no longer exists" msgstr "销售订单设置" -#: templates/js/translated/stock.js:2919 +#: templates/js/translated/stock.js:2916 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2936 +#: templates/js/translated/stock.js:2933 #, fuzzy #| msgid "Sales Order Settings" msgid "Sales Order no longer exists" msgstr "销售订单设置" -#: templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:2950 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2972 +#: templates/js/translated/stock.js:2969 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2990 +#: templates/js/translated/stock.js:2987 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:3008 +#: templates/js/translated/stock.js:3005 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:3016 +#: templates/js/translated/stock.js:3013 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3088 +#: templates/js/translated/stock.js:3085 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3142 templates/js/translated/stock.js:3178 +#: templates/js/translated/stock.js:3139 templates/js/translated/stock.js:3175 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3200 +#: templates/js/translated/stock.js:3197 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3221 +#: templates/js/translated/stock.js:3218 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3222 +#: templates/js/translated/stock.js:3219 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3224 +#: templates/js/translated/stock.js:3221 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3225 +#: templates/js/translated/stock.js:3222 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3226 +#: templates/js/translated/stock.js:3223 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3227 +#: templates/js/translated/stock.js:3224 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3240 +#: templates/js/translated/stock.js:3237 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3303 +#: templates/js/translated/stock.js:3300 #, fuzzy #| msgid "Select Stock Items" msgid "Select one or more stock items" msgstr "选择库存项" -#: templates/js/translated/stock.js:3316 +#: templates/js/translated/stock.js:3313 #, fuzzy #| msgid "Select Stock Items" msgid "Selected stock items" msgstr "选择库存项" -#: templates/js/translated/stock.js:3320 +#: templates/js/translated/stock.js:3317 #, fuzzy #| msgid "Stock Settings" msgid "Change Stock Status" @@ -15081,48 +15176,104 @@ msgstr "" msgid "Revoked" msgstr "" -#: users/models.py:397 +#: users/models.py:384 msgid "Permission set" msgstr "权限设置" -#: users/models.py:406 +#: users/models.py:393 msgid "Group" msgstr "群组" -#: users/models.py:410 +#: users/models.py:397 msgid "View" msgstr "视图" -#: users/models.py:410 +#: users/models.py:397 msgid "Permission to view items" msgstr "查看项目权限" -#: users/models.py:414 +#: users/models.py:401 msgid "Permission to add items" msgstr "添加项目权限" -#: users/models.py:418 +#: users/models.py:405 msgid "Change" msgstr "更改" -#: users/models.py:420 +#: users/models.py:407 msgid "Permissions to edit items" msgstr "编辑项目权限" -#: users/models.py:426 +#: users/models.py:413 msgid "Permission to delete items" msgstr "删除项目权限" +#~ msgid "Label name" +#~ msgstr "标签名称" + +#~ msgid "Label description" +#~ msgstr "标签说明" + +#~ msgid "Label" +#~ msgstr "标签" + +#, fuzzy +#~| msgid "Error renaming file" +#~ msgid "Error rendering label to PNG" +#~ msgstr "重命名文件出错" + +#~ msgid "Part Filters" +#~ msgstr "商品过滤器" + +#, fuzzy +#~| msgid "Attachment with this filename already exists" +#~ msgid "Snippet file with this name already exists" +#~ msgstr "使用此文件名的附件已存在" + +#, fuzzy +#~| msgid "Query filters (comma-separated list of key=value pairs)," +#~ msgid "stock location query filters (comma-separated list of key=value pairs)" +#~ msgstr "查询筛选器 (逗号分隔的键值对列表)" + +#~ msgid "No Labels Found" +#~ msgstr "未找到标签" + +#, fuzzy +#~| msgid "No labels found which match the selected part(s)" +#~ msgid "No label templates found which match the selected items" +#~ msgstr "没有找到与所选商品相匹配的标签" + +#, fuzzy +#~| msgid "Rejected" +#~ msgid "selected" +#~ msgstr "已拒绝" + +#, fuzzy +#~| msgid "Print labels" +#~ msgid "Print label" +#~ msgstr "打印标签" + +#~ msgid "Print labels" +#~ msgstr "打印标签" + +#, fuzzy +#~| msgid "Print Label" +#~ msgid "Print" +#~ msgstr "打印标签" + +#~ msgid "No Reports Found" +#~ msgstr "没有找到报表" + +#, fuzzy +#~| msgid "No labels found which match the selected part(s)" +#~ msgid "No report templates found which match the selected items" +#~ msgstr "没有找到与所选商品相匹配的标签" + #, fuzzy #~| msgid "BOM Item" #~ msgid "Bom Item" #~ msgstr "BOM项" -#, fuzzy -#~| msgid "Create new purchase order" -#~ msgid "Invalid purchase order" -#~ msgstr "新建采购订单" - #, fuzzy #~| msgid "Stock Location" #~ msgid "Invalid stock location" @@ -15175,9 +15326,6 @@ msgstr "删除项目权限" #~ msgid "This Build Order does not have any associated untracked BOM items" #~ msgstr "此构建订单没有任何关联的 BOM 项目" -#~ msgid "Output Actions" -#~ msgstr "输出操作" - #~ msgid "Complete selected build outputs" #~ msgstr "完成选定的构建输出" diff --git a/src/frontend/src/locales/bg/messages.po b/src/frontend/src/locales/bg/messages.po index 696fa0ac31..815236b674 100644 --- a/src/frontend/src/locales/bg/messages.po +++ b/src/frontend/src/locales/bg/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: bg\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-05-13 02:47\n" +"PO-Revision-Date: 2024-05-23 11:38\n" "Last-Translator: \n" "Language-Team: Bulgarian\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -30,10 +30,67 @@ msgstr "" msgid "Title" msgstr "" +#: src/components/buttons/AdminButton.tsx:83 +msgid "Open in admin interface" +msgstr "" + #: src/components/buttons/CopyButton.tsx:18 msgid "Copy to clipboard" msgstr "" +#: src/components/buttons/PrintingActions.tsx:95 +msgid "Print Label" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:101 +msgid "Label printing completed successfully" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:106 +#: src/components/buttons/PrintingActions.tsx:143 +#: src/components/forms/ApiForm.tsx:504 +#: src/components/forms/fields/ApiFormField.tsx:295 +#: src/components/modals/LicenseModal.tsx:75 +#: src/components/nav/SearchDrawer.tsx:413 +#: src/components/widgets/MarkdownEditor.tsx:107 +#: src/components/widgets/MarkdownEditor.tsx:153 +#: src/pages/ErrorPage.tsx:12 +#: src/pages/ErrorPage.tsx:25 +#: src/pages/part/PartPricingPanel.tsx:71 +#: src/tables/InvenTreeTable.tsx:451 +#: src/tables/InvenTreeTable.tsx:531 +#: src/tables/stock/StockItemTestResultTable.tsx:310 +msgid "Error" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:107 +msgid "The label could not be generated" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:122 +msgid "Print Report" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:138 +msgid "Report printing completed successfully" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:144 +msgid "The report could not be generated" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:171 +msgid "Printing Actions" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:176 +msgid "Print Labels" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:182 +msgid "Print Reports" +msgstr "" + #: src/components/buttons/ScanButton.tsx:15 msgid "Scan QR code" msgstr "" @@ -64,15 +121,15 @@ msgstr "" msgid "No" msgstr "" -#: src/components/details/Details.tsx:302 +#: src/components/details/Details.tsx:303 msgid "No name defined" msgstr "" -#: src/components/details/Details.tsx:339 +#: src/components/details/Details.tsx:340 msgid "Copied" msgstr "" -#: src/components/details/Details.tsx:339 +#: src/components/details/Details.tsx:340 msgid "Copy" msgstr "" @@ -85,24 +142,23 @@ msgid "Remove the associated image from this item?" msgstr "" #: src/components/details/DetailsImage.tsx:71 -#: src/forms/StockForms.tsx:442 +#: src/forms/StockForms.tsx:483 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:448 +#: src/pages/stock/StockDetail.tsx:462 msgid "Remove" msgstr "" #: src/components/details/DetailsImage.tsx:71 -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:163 -#: src/components/items/ActionDropdown.tsx:222 -#: src/components/items/ActionDropdown.tsx:223 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 +#: src/components/items/ActionDropdown.tsx:229 +#: src/components/items/ActionDropdown.tsx:230 #: src/contexts/ThemeContext.tsx:43 #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:40 -#: src/tables/FilterSelectDrawer.tsx:218 -#: src/tables/InvenTreeTable.tsx:493 -#: src/tables/build/BuildOutputTable.tsx:223 -#: src/tables/plugin/PluginListTable.tsx:365 +#: src/tables/FilterSelectDrawer.tsx:207 +#: src/tables/InvenTreeTable.tsx:499 +#: src/tables/build/BuildOutputTable.tsx:225 msgid "Cancel" msgstr "" @@ -119,7 +175,7 @@ msgid "Clear" msgstr "" #: src/components/details/DetailsImage.tsx:227 -#: src/components/forms/ApiForm.tsx:554 +#: src/components/forms/ApiForm.tsx:571 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:56 msgid "Submit" @@ -150,9 +206,10 @@ msgid "Part is not active" msgstr "" #: src/components/details/PartIcons.tsx:34 -#: src/pages/company/CompanyDetail.tsx:308 -#: src/pages/company/SupplierPartDetail.tsx:304 -#: src/pages/part/PartDetail.tsx:684 +#: src/components/render/Plugin.tsx:17 +#: src/pages/company/CompanyDetail.tsx:310 +#: src/pages/company/SupplierPartDetail.tsx:305 +#: src/pages/part/PartDetail.tsx:685 msgid "Inactive" msgstr "" @@ -196,10 +253,10 @@ msgid "Code" msgstr "" #: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:44 -msgid "Failed to parse error response from server." -msgstr "" +#~ msgid "Failed to parse error response from server." +#~ msgstr "Failed to parse error response from server." -#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:82 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:81 msgid "Preview not available, click \"Reload Preview\"." msgstr "" @@ -207,98 +264,99 @@ msgstr "" msgid "PDF Preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:113 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:104 msgid "Error loading template" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:125 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:116 msgid "Error saving template" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 -msgid "Save & Reload preview?" +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:146 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:270 +msgid "Save & Reload Preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:156 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 msgid "Are you sure you want to Save & Reload the preview?" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 +#~ msgid "Save & Reload preview?" +#~ msgstr "Save & Reload preview?" + +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:153 msgid "To render the preview the current template needs to be replaced on the server with your modifications which may break the label if it is under active use. Do you want to proceed?" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:162 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:157 msgid "Save & Reload" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:191 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:189 msgid "Preview updated" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:192 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:190 msgid "The preview has been updated successfully." msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:255 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:262 msgid "Reload preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:256 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:263 msgid "Use the currently stored template from the server" msgstr "" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:263 -msgid "Save & Reload preview" -msgstr "" +#~ msgid "Save & Reload preview" +#~ msgstr "Save & Reload preview" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:264 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:271 msgid "Save the current template and reload the preview" msgstr "" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:322 -#: src/tables/part/PartThumbTable.tsx:203 -msgid "Select" +#~ msgid "to preview" +#~ msgstr "to preview" + +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:329 +msgid "Select instance to preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:322 -msgid "to preview" -msgstr "" - -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:366 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:373 msgid "Error rendering template" msgstr "" -#: src/components/forms/ApiForm.tsx:143 +#: src/components/forms/ApiForm.tsx:148 #: src/functions/forms.tsx:259 msgid "Form Error" msgstr "" -#: src/components/forms/ApiForm.tsx:411 +#: src/components/forms/ApiForm.tsx:428 #: src/components/widgets/MarkdownEditor.tsx:145 msgid "Success" msgstr "" #: src/components/forms/ApiForm.tsx:487 -msgid "Form Errors Exist" -msgstr "" +#~ msgid "Form Errors Exist" +#~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:592 -#: src/tables/plugin/PluginListTable.tsx:445 +#: src/components/forms/ApiForm.tsx:609 +#: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "" -#: src/components/forms/ApiForm.tsx:612 -#: src/components/items/ActionDropdown.tsx:203 +#: src/components/forms/ApiForm.tsx:629 +#: src/components/items/ActionDropdown.tsx:210 #: src/functions/forms.tsx:299 #: src/hooks/UseForm.tsx:122 #: src/pages/Index/Scan.tsx:343 #: src/pages/Notifications.tsx:123 -#: src/tables/InvenTreeTable.tsx:492 +#: src/tables/InvenTreeTable.tsx:498 #: src/tables/RowActions.tsx:71 -#: src/tables/plugin/PluginListTable.tsx:477 -#: src/tables/settings/TemplateTable.tsx:105 -#: src/tables/settings/TemplateTable.tsx:154 -#: src/tables/settings/TemplateTable.tsx:236 +#: src/tables/plugin/PluginListTable.tsx:420 msgid "Delete" msgstr "" @@ -468,18 +526,19 @@ msgstr "" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 -#: src/pages/part/CategoryDetail.tsx:77 -#: src/pages/part/PartDetail.tsx:125 -#: src/pages/stock/LocationDetail.tsx:83 +#: src/pages/part/CategoryDetail.tsx:78 +#: src/pages/part/PartDetail.tsx:126 +#: src/pages/stock/LocationDetail.tsx:85 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 #: src/tables/machine/MachineTypeTable.tsx:216 #: src/tables/machine/MachineTypeTable.tsx:319 #: src/tables/plugin/PluginErrorTable.tsx:33 -#: src/tables/plugin/PluginListTable.tsx:169 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:27 +#: src/tables/plugin/PluginListTable.tsx:126 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:32 #: src/tables/settings/GroupTable.tsx:103 #: src/tables/settings/PendingTasksTable.tsx:26 +#: src/tables/stock/LocationTypesTable.tsx:60 msgid "Name" msgstr "" @@ -520,35 +579,20 @@ msgstr "" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/ApiFormField.tsx:276 -#: src/components/modals/LicenseModal.tsx:75 -#: src/components/nav/SearchDrawer.tsx:413 -#: src/components/widgets/MarkdownEditor.tsx:107 -#: src/components/widgets/MarkdownEditor.tsx:153 -#: src/pages/ErrorPage.tsx:12 -#: src/pages/ErrorPage.tsx:25 -#: src/pages/part/PartPricingPanel.tsx:71 -#: src/tables/InvenTreeTable.tsx:445 -#: src/tables/InvenTreeTable.tsx:525 -#: src/tables/plugin/PluginListTable.tsx:402 -#: src/tables/stock/StockItemTestResultTable.tsx:319 -msgid "Error" -msgstr "" - -#: src/components/forms/fields/RelatedModelField.tsx:305 +#: src/components/forms/fields/RelatedModelField.tsx:315 #: src/pages/Index/Settings/UserSettings.tsx:64 #: src/tables/Search.tsx:23 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:306 +#: src/components/forms/fields/RelatedModelField.tsx:316 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:120 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:308 +#: src/components/forms/fields/RelatedModelField.tsx:318 msgid "No results found" msgstr "" @@ -569,54 +613,51 @@ msgstr "" msgid "Thumbnail" msgstr "" -#: src/components/items/ActionDropdown.tsx:112 -#: src/pages/build/BuildDetail.tsx:354 +#: src/components/items/ActionDropdown.tsx:119 +#: src/pages/build/BuildDetail.tsx:360 msgid "Barcode Actions" msgstr "" -#: src/components/items/ActionDropdown.tsx:129 +#: src/components/items/ActionDropdown.tsx:136 msgid "View" msgstr "" -#: src/components/items/ActionDropdown.tsx:130 +#: src/components/items/ActionDropdown.tsx:137 msgid "View barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:146 +#: src/components/items/ActionDropdown.tsx:153 msgid "Link Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:147 +#: src/components/items/ActionDropdown.tsx:154 msgid "Link custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:163 -#: src/forms/PurchaseOrderForms.tsx:375 +#: src/components/items/ActionDropdown.tsx:170 +#: src/forms/PurchaseOrderForms.tsx:389 msgid "Unlink Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:164 +#: src/components/items/ActionDropdown.tsx:171 msgid "Unlink custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:182 +#: src/components/items/ActionDropdown.tsx:189 #: src/tables/RowActions.tsx:51 -#: src/tables/settings/TemplateTable.tsx:87 -#: src/tables/settings/TemplateTable.tsx:150 -#: src/tables/settings/TemplateTable.tsx:287 msgid "Edit" msgstr "" -#: src/components/items/ActionDropdown.tsx:204 +#: src/components/items/ActionDropdown.tsx:211 msgid "Delete item" msgstr "" -#: src/components/items/ActionDropdown.tsx:241 +#: src/components/items/ActionDropdown.tsx:248 #: src/tables/RowActions.tsx:31 msgid "Duplicate" msgstr "" -#: src/components/items/ActionDropdown.tsx:242 +#: src/components/items/ActionDropdown.tsx:249 msgid "Duplicate item" msgstr "" @@ -625,7 +666,7 @@ msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:437 +#: src/tables/InvenTreeTable.tsx:443 msgid "Unknown error" msgstr "" @@ -785,27 +826,27 @@ msgstr "" #: src/components/modals/QrCodeModal.tsx:154 #: src/defaults/menuItems.tsx:21 -#: src/pages/Index/Scan.tsx:747 +#: src/pages/Index/Scan.tsx:746 msgid "Scanning" msgstr "" #: src/components/modals/QrCodeModal.tsx:154 -#: src/pages/Index/Scan.tsx:747 +#: src/pages/Index/Scan.tsx:746 msgid "Not scanning" msgstr "" #: src/components/modals/QrCodeModal.tsx:159 -#: src/pages/Index/Scan.tsx:753 +#: src/pages/Index/Scan.tsx:752 msgid "Select Camera" msgstr "" #: src/components/modals/QrCodeModal.tsx:169 -#: src/pages/Index/Scan.tsx:738 +#: src/pages/Index/Scan.tsx:737 msgid "Start scanning" msgstr "" #: src/components/modals/QrCodeModal.tsx:176 -#: src/pages/Index/Scan.tsx:730 +#: src/pages/Index/Scan.tsx:729 msgid "Stop scanning" msgstr "" @@ -891,8 +932,8 @@ msgid "Email settings not configured" msgstr "" #: src/components/modals/ServerInfoModal.tsx:121 -#: src/tables/plugin/PluginListTable.tsx:187 -#: src/tables/plugin/PluginListTable.tsx:319 +#: src/tables/plugin/PluginListTable.tsx:144 +#: src/tables/plugin/PluginListTable.tsx:294 msgid "Version" msgstr "" @@ -926,13 +967,13 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:293 +#: src/pages/Index/Settings/SystemSettings.tsx:294 msgid "System Settings" msgstr "" #: src/components/nav/MainMenu.tsx:67 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:172 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 msgid "Admin Center" msgstr "" @@ -975,7 +1016,7 @@ msgid "Pages" msgstr "" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:133 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:153 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "" @@ -1013,9 +1054,9 @@ msgid "Mark as read" msgstr "" #: src/components/nav/PartCategoryTree.tsx:158 -#: src/components/render/ModelType.tsx:60 +#: src/components/render/ModelType.tsx:64 #: src/pages/Index/Settings/SystemSettings.tsx:162 -#: src/pages/part/CategoryDetail.tsx:248 +#: src/pages/part/CategoryDetail.tsx:249 msgid "Part Categories" msgstr "" @@ -1052,142 +1093,147 @@ msgid "No results available for search query" msgstr "" #: src/components/nav/StockLocationTree.tsx:93 -#: src/components/render/ModelType.tsx:76 -#: src/pages/stock/LocationDetail.tsx:175 +#: src/components/render/ModelType.tsx:82 +#: src/pages/stock/LocationDetail.tsx:185 msgid "Stock Locations" msgstr "" -#: src/components/render/Instance.tsx:137 +#: src/components/render/Instance.tsx:166 msgid "Unknown model: {model}" msgstr "" -#: src/components/render/ModelType.tsx:21 -#: src/forms/BuildForms.tsx:184 -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49 +#: src/components/render/ModelType.tsx:22 +#: src/forms/BuildForms.tsx:201 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:83 #: src/pages/part/PartDetail.tsx:828 #: src/tables/part/RelatedPartTable.tsx:45 +#: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" msgstr "" -#: src/components/render/ModelType.tsx:22 +#: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 #: src/pages/Index/Settings/SystemSettings.tsx:167 -#: src/pages/part/CategoryDetail.tsx:109 -#: src/pages/part/CategoryDetail.tsx:234 -#: src/pages/part/CategoryDetail.tsx:264 -#: src/pages/part/PartDetail.tsx:638 +#: src/pages/part/CategoryDetail.tsx:110 +#: src/pages/part/CategoryDetail.tsx:235 +#: src/pages/part/CategoryDetail.tsx:265 +#: src/pages/part/PartDetail.tsx:639 msgid "Parts" msgstr "" -#: src/components/render/ModelType.tsx:29 +#: src/components/render/ModelType.tsx:31 msgid "Part Parameter Template" msgstr "" -#: src/components/render/ModelType.tsx:30 +#: src/components/render/ModelType.tsx:32 msgid "Part Parameter Templates" msgstr "" -#: src/components/render/ModelType.tsx:36 +#: src/components/render/ModelType.tsx:38 msgid "Part Test Template" msgstr "" -#: src/components/render/ModelType.tsx:37 +#: src/components/render/ModelType.tsx:39 msgid "Part Test Templates" msgstr "" -#: src/components/render/ModelType.tsx:43 -#: src/pages/company/SupplierPartDetail.tsx:189 -#: src/pages/company/SupplierPartDetail.tsx:317 -#: src/pages/stock/StockDetail.tsx:159 +#: src/components/render/ModelType.tsx:45 +#: src/pages/company/SupplierPartDetail.tsx:190 +#: src/pages/company/SupplierPartDetail.tsx:318 +#: src/pages/stock/StockDetail.tsx:162 #: src/tables/purchasing/SupplierPartTable.tsx:68 msgid "Supplier Part" msgstr "" -#: src/components/render/ModelType.tsx:44 +#: src/components/render/ModelType.tsx:46 msgid "Supplier Parts" msgstr "" -#: src/components/render/ModelType.tsx:51 -#: src/pages/company/ManufacturerPartDetail.tsx:124 +#: src/components/render/ModelType.tsx:54 +#: src/pages/company/ManufacturerPartDetail.tsx:125 msgid "Manufacturer Part" msgstr "" -#: src/components/render/ModelType.tsx:52 +#: src/components/render/ModelType.tsx:55 msgid "Manufacturer Parts" msgstr "" -#: src/components/render/ModelType.tsx:59 -#: src/pages/part/CategoryDetail.tsx:287 +#: src/components/render/ModelType.tsx:63 +#: src/pages/part/CategoryDetail.tsx:288 msgid "Part Category" msgstr "" -#: src/components/render/ModelType.tsx:67 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67 -#: src/pages/stock/StockDetail.tsx:535 +#: src/components/render/ModelType.tsx:72 +#: src/pages/stock/StockDetail.tsx:548 +#: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" msgstr "" -#: src/components/render/ModelType.tsx:68 -#: src/pages/company/CompanyDetail.tsx:197 -#: src/pages/stock/LocationDetail.tsx:116 -#: src/pages/stock/LocationDetail.tsx:161 +#: src/components/render/ModelType.tsx:73 +#: src/pages/company/CompanyDetail.tsx:199 +#: src/pages/stock/LocationDetail.tsx:118 +#: src/pages/stock/LocationDetail.tsx:171 #: src/pages/stock/LocationDetail.tsx:365 msgid "Stock Items" msgstr "" -#: src/components/render/ModelType.tsx:75 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:154 +#: src/components/render/ModelType.tsx:81 msgid "Stock Location" msgstr "" -#: src/components/render/ModelType.tsx:83 +#: src/components/render/ModelType.tsx:90 +msgid "Stock Location Type" +msgstr "" + +#: src/components/render/ModelType.tsx:91 +msgid "Stock Location Types" +msgstr "" + +#: src/components/render/ModelType.tsx:95 msgid "Stock History" msgstr "" -#: src/components/render/ModelType.tsx:84 +#: src/components/render/ModelType.tsx:96 msgid "Stock Histories" msgstr "" -#: src/components/render/ModelType.tsx:88 +#: src/components/render/ModelType.tsx:100 #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:43 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:126 msgid "Build" msgstr "" -#: src/components/render/ModelType.tsx:89 +#: src/components/render/ModelType.tsx:101 msgid "Builds" msgstr "" -#: src/components/render/ModelType.tsx:96 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:76 +#: src/components/render/ModelType.tsx:109 msgid "Build Line" msgstr "" -#: src/components/render/ModelType.tsx:97 +#: src/components/render/ModelType.tsx:110 msgid "Build Lines" msgstr "" -#: src/components/render/ModelType.tsx:104 -#: src/pages/company/CompanyDetail.tsx:321 +#: src/components/render/ModelType.tsx:117 +#: src/pages/company/CompanyDetail.tsx:323 msgid "Company" msgstr "" -#: src/components/render/ModelType.tsx:105 +#: src/components/render/ModelType.tsx:118 msgid "Companies" msgstr "" -#: src/components/render/ModelType.tsx:112 +#: src/components/render/ModelType.tsx:126 #: src/tables/TableHoverCard.tsx:58 #: src/tables/build/BuildOrderTable.tsx:131 #: src/tables/purchasing/PurchaseOrderTable.tsx:64 @@ -1196,170 +1242,199 @@ msgstr "" msgid "Project Code" msgstr "" -#: src/components/render/ModelType.tsx:113 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:97 +#: src/components/render/ModelType.tsx:127 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:105 msgid "Project Codes" msgstr "" -#: src/components/render/ModelType.tsx:119 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99 +#: src/components/render/ModelType.tsx:133 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:355 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:362 +#: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" msgstr "" -#: src/components/render/ModelType.tsx:120 -#: src/pages/Index/Settings/SystemSettings.tsx:242 -#: src/pages/company/CompanyDetail.tsx:190 -#: src/pages/company/SupplierPartDetail.tsx:223 -#: src/pages/part/PartDetail.tsx:571 +#: src/components/render/ModelType.tsx:134 +#: src/pages/Index/Settings/SystemSettings.tsx:243 +#: src/pages/company/CompanyDetail.tsx:192 +#: src/pages/company/SupplierPartDetail.tsx:224 +#: src/pages/part/PartDetail.tsx:572 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" -#: src/components/render/ModelType.tsx:127 +#: src/components/render/ModelType.tsx:142 msgid "Purchase Order Line" msgstr "" -#: src/components/render/ModelType.tsx:128 +#: src/components/render/ModelType.tsx:143 msgid "Purchase Order Lines" msgstr "" -#: src/components/render/ModelType.tsx:132 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:108 +#: src/components/render/ModelType.tsx:147 #: src/pages/build/BuildDetail.tsx:131 -#: src/pages/sales/SalesOrderDetail.tsx:340 -#: src/pages/stock/StockDetail.tsx:207 +#: src/pages/sales/SalesOrderDetail.tsx:347 +#: src/pages/stock/StockDetail.tsx:210 +#: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" msgstr "" -#: src/components/render/ModelType.tsx:133 -#: src/pages/Index/Settings/SystemSettings.tsx:257 -#: src/pages/company/CompanyDetail.tsx:210 -#: src/pages/part/PartDetail.tsx:577 +#: src/components/render/ModelType.tsx:148 +#: src/pages/Index/Settings/SystemSettings.tsx:258 +#: src/pages/company/CompanyDetail.tsx:212 +#: src/pages/part/PartDetail.tsx:578 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" -#: src/components/render/ModelType.tsx:140 +#: src/components/render/ModelType.tsx:156 msgid "Sales Order Shipment" msgstr "" -#: src/components/render/ModelType.tsx:141 +#: src/components/render/ModelType.tsx:157 msgid "Sales Order Shipments" msgstr "" -#: src/components/render/ModelType.tsx:147 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:117 -#: src/pages/sales/ReturnOrderDetail.tsx:318 +#: src/components/render/ModelType.tsx:163 +#: src/pages/sales/ReturnOrderDetail.tsx:325 +#: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "" -#: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:272 -#: src/pages/company/CompanyDetail.tsx:217 +#: src/components/render/ModelType.tsx:164 +#: src/pages/Index/Settings/SystemSettings.tsx:273 +#: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" msgstr "" -#: src/components/render/ModelType.tsx:155 +#: src/components/render/ModelType.tsx:172 #: src/tables/company/AddressTable.tsx:47 msgid "Address" msgstr "" -#: src/components/render/ModelType.tsx:156 -#: src/pages/company/CompanyDetail.tsx:247 +#: src/components/render/ModelType.tsx:173 +#: src/pages/company/CompanyDetail.tsx:249 msgid "Addresses" msgstr "" -#: src/components/render/ModelType.tsx:162 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:189 -#: src/pages/sales/ReturnOrderDetail.tsx:157 -#: src/pages/sales/SalesOrderDetail.tsx:161 +#: src/components/render/ModelType.tsx:179 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:191 +#: src/pages/sales/ReturnOrderDetail.tsx:159 +#: src/pages/sales/SalesOrderDetail.tsx:163 msgid "Contact" msgstr "" -#: src/components/render/ModelType.tsx:163 -#: src/pages/company/CompanyDetail.tsx:241 +#: src/components/render/ModelType.tsx:180 +#: src/pages/company/CompanyDetail.tsx:243 msgid "Contacts" msgstr "" -#: src/components/render/ModelType.tsx:169 +#: src/components/render/ModelType.tsx:186 msgid "Owner" msgstr "" -#: src/components/render/ModelType.tsx:170 +#: src/components/render/ModelType.tsx:187 msgid "Owners" msgstr "" -#: src/components/render/ModelType.tsx:176 +#: src/components/render/ModelType.tsx:193 +#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "" -#: src/components/render/ModelType.tsx:177 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:73 +#: src/components/render/ModelType.tsx:194 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:81 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "" -#: src/components/render/Order.tsx:87 +#: src/components/render/ModelType.tsx:200 +msgid "Label Template" +msgstr "" + +#: src/components/render/ModelType.tsx:201 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:135 +msgid "Label Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:207 +msgid "Report Template" +msgstr "" + +#: src/components/render/ModelType.tsx:208 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:141 +msgid "Report Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:214 +msgid "Plugin Configuration" +msgstr "" + +#: src/components/render/ModelType.tsx:215 +msgid "Plugin Configurations" +msgstr "" + +#: src/components/render/Order.tsx:104 msgid "Shipment" msgstr "" -#: src/components/render/Part.tsx:12 +#: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:198 -#: src/pages/part/PartDetail.tsx:491 +#: src/pages/Index/Settings/SystemSettings.tsx:199 +#: src/pages/part/PartDetail.tsx:492 #: src/pages/stock/LocationDetail.tsx:344 -#: src/pages/stock/StockDetail.tsx:344 +#: src/pages/stock/StockDetail.tsx:352 #: src/tables/stock/StockItemTable.tsx:57 msgid "Stock" msgstr "" -#: src/components/render/Stock.tsx:26 -#: src/pages/stock/StockDetail.tsx:142 -#: src/pages/stock/StockDetail.tsx:501 +#: src/components/render/Stock.tsx:52 +#: src/pages/stock/StockDetail.tsx:145 +#: src/pages/stock/StockDetail.tsx:514 msgid "Serial Number" msgstr "" -#: src/components/render/Stock.tsx:28 -#: src/forms/BuildForms.tsx:189 +#: src/components/render/Stock.tsx:54 +#: src/forms/BuildForms.tsx:206 #: src/pages/part/pricing/BomPricingPanel.tsx:144 -#: src/pages/part/pricing/PriceBreakPanel.tsx:96 -#: src/pages/stock/StockDetail.tsx:137 -#: src/pages/stock/StockDetail.tsx:507 +#: src/pages/part/pricing/PriceBreakPanel.tsx:94 +#: src/pages/stock/StockDetail.tsx:140 +#: src/pages/stock/StockDetail.tsx:520 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:73 +#: src/tables/stock/StockTrackingTable.tsx:59 msgid "Quantity" msgstr "" -#: src/components/settings/SettingItem.tsx:46 -#: src/components/settings/SettingItem.tsx:99 -msgid "Setting updated" -msgstr "" - #: src/components/settings/SettingItem.tsx:47 #: src/components/settings/SettingItem.tsx:100 -msgid "{0} updated successfully" -msgstr "" +#~ msgid "{0} updated successfully" +#~ msgstr "{0} updated successfully" -#: src/components/settings/SettingItem.tsx:55 -msgid "Error editing setting" -msgstr "" - -#: src/components/settings/SettingItem.tsx:92 +#: src/components/settings/SettingList.tsx:67 msgid "Edit Setting" msgstr "" -#: src/components/settings/SettingList.tsx:63 -msgid "No settings specified" +#: src/components/settings/SettingList.tsx:78 +#: src/components/settings/SettingList.tsx:108 +msgid "Setting {0} updated successfully" msgstr "" -#: src/components/tables/ColumnRenderers.tsx:134 -#~ msgid "Shipment Date" -#~ msgstr "Shipment Date" +#: src/components/settings/SettingList.tsx:107 +msgid "Setting updated" +msgstr "" + +#: src/components/settings/SettingList.tsx:117 +msgid "Error editing setting" +msgstr "" + +#: src/components/settings/SettingList.tsx:158 +msgid "No settings specified" +msgstr "" #: src/components/tables/FilterGroup.tsx:29 #~ msgid "Add table filter" @@ -1731,10 +1806,6 @@ msgstr "" #~ msgid "This is a test filter" #~ msgstr "This is a test filter" -#: src/components/tables/stock/StockLocationTable.tsx:91 -#~ msgid "Location Type" -#~ msgstr "Location Type" - #: src/components/tables/stock/StockLocationTable.tsx:145 #~ msgid "Stock location updated" #~ msgstr "Stock location updated" @@ -2072,7 +2143,7 @@ msgstr "" #~ msgstr "Local Server" #: src/defaults/links.tsx:11 -#: src/pages/company/CompanyDetail.tsx:90 +#: src/pages/company/CompanyDetail.tsx:92 msgid "Website" msgstr "" @@ -2087,10 +2158,10 @@ msgstr "" #: src/defaults/links.tsx:31 #: src/defaults/menuItems.tsx:48 #: src/pages/company/ManufacturerDetail.tsx:9 -#: src/pages/company/ManufacturerPartDetail.tsx:231 +#: src/pages/company/ManufacturerPartDetail.tsx:235 #: src/pages/company/SupplierDetail.tsx:9 -#: src/pages/company/SupplierPartDetail.tsx:291 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:358 +#: src/pages/company/SupplierPartDetail.tsx:292 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:365 #: src/pages/purchasing/PurchasingIndex.tsx:52 msgid "Purchasing" msgstr "" @@ -2098,15 +2169,15 @@ msgstr "" #: src/defaults/links.tsx:32 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:323 +#: src/pages/sales/ReturnOrderDetail.tsx:330 #: src/pages/sales/SalesIndex.tsx:45 -#: src/pages/sales/SalesOrderDetail.tsx:345 +#: src/pages/sales/SalesOrderDetail.tsx:352 msgid "Sales" msgstr "" #: src/defaults/links.tsx:35 #: src/defaults/menuItems.tsx:71 -#: src/pages/Index/Playground.tsx:239 +#: src/pages/Index/Playground.tsx:238 msgid "Playground" msgstr "" @@ -2240,87 +2311,83 @@ msgstr "" #~ msgstr "Combusken battles with the intensely hot flames it spews" #: src/forms/AttachmentForms.tsx:57 -msgid "Add File" -msgstr "" +#~ msgid "Add File" +#~ msgstr "Add File" #: src/forms/AttachmentForms.tsx:57 -msgid "Add Link" -msgstr "" +#~ msgid "Add Link" +#~ msgstr "Add Link" #: src/forms/AttachmentForms.tsx:58 -msgid "File added" -msgstr "" +#~ msgid "File added" +#~ msgstr "File added" #: src/forms/AttachmentForms.tsx:58 -msgid "Link added" -msgstr "" +#~ msgid "Link added" +#~ msgstr "Link added" #: src/forms/AttachmentForms.tsx:99 -msgid "Edit File" -msgstr "" +#~ msgid "Edit File" +#~ msgstr "Edit File" #: src/forms/AttachmentForms.tsx:99 -msgid "Edit Link" -msgstr "" +#~ msgid "Edit Link" +#~ msgstr "Edit Link" #: src/forms/AttachmentForms.tsx:100 -msgid "File updated" -msgstr "" +#~ msgid "File updated" +#~ msgstr "File updated" #: src/forms/AttachmentForms.tsx:100 -msgid "Link updated" -msgstr "" - -#: src/forms/AttachmentForms.tsx:124 -msgid "Delete Attachment" -msgstr "" +#~ msgid "Link updated" +#~ msgstr "Link updated" #: src/forms/AttachmentForms.tsx:125 -msgid "Attachment deleted" -msgstr "" +#~ msgid "Attachment deleted" +#~ msgstr "Attachment deleted" #: src/forms/AttachmentForms.tsx:128 -msgid "Are you sure you want to delete this attachment?" -msgstr "" +#~ msgid "Are you sure you want to delete this attachment?" +#~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BuildForms.tsx:129 +#: src/forms/BuildForms.tsx:146 msgid "Next serial number" msgstr "" -#: src/forms/BuildForms.tsx:133 +#: src/forms/BuildForms.tsx:150 msgid "Latest serial number" msgstr "" -#: src/forms/BuildForms.tsx:205 +#: src/forms/BuildForms.tsx:222 msgid "Remove output" msgstr "" -#: src/forms/BuildForms.tsx:287 +#: src/forms/BuildForms.tsx:304 msgid "Complete Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:291 +#: src/forms/BuildForms.tsx:308 msgid "Build outputs have been completed" msgstr "" -#: src/forms/BuildForms.tsx:360 +#: src/forms/BuildForms.tsx:377 msgid "Scrap Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:364 +#: src/forms/BuildForms.tsx:381 msgid "Build outputs have been scrapped" msgstr "" -#: src/forms/BuildForms.tsx:396 -#: src/forms/BuildForms.tsx:420 +#: src/forms/BuildForms.tsx:413 +#: src/forms/BuildForms.tsx:437 msgid "Cancel Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:397 +#: src/forms/BuildForms.tsx:414 msgid "Selected build outputs will be deleted" msgstr "" -#: src/forms/BuildForms.tsx:424 +#: src/forms/BuildForms.tsx:441 msgid "Build outputs have been cancelled" msgstr "" @@ -2344,76 +2411,76 @@ msgstr "" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PurchaseOrderForms.tsx:265 +#: src/forms/PurchaseOrderForms.tsx:279 msgid "Choose Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:273 +#: src/forms/PurchaseOrderForms.tsx:287 msgid "Item Destination selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:282 +#: src/forms/PurchaseOrderForms.tsx:296 msgid "Part category default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:292 +#: src/forms/PurchaseOrderForms.tsx:306 msgid "Received stock location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:297 +#: src/forms/PurchaseOrderForms.tsx:311 msgid "Default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:308 -#: src/forms/PurchaseOrderForms.tsx:384 +#: src/forms/PurchaseOrderForms.tsx:322 +#: src/forms/PurchaseOrderForms.tsx:398 msgid "Scan Barcode" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:352 +#: src/forms/PurchaseOrderForms.tsx:366 msgid "Set Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:359 +#: src/forms/PurchaseOrderForms.tsx:373 msgid "Assign Batch Code{0}" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:368 +#: src/forms/PurchaseOrderForms.tsx:382 msgid "Change Status" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:393 -#: src/forms/StockForms.tsx:351 +#: src/forms/PurchaseOrderForms.tsx:407 +#: src/forms/StockForms.tsx:392 msgid "Remove item from list" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:418 -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:58 -#: src/pages/stock/StockDetail.tsx:167 -#: src/tables/ColumnRenderers.tsx:42 +#: src/forms/PurchaseOrderForms.tsx:432 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/pages/stock/StockDetail.tsx:170 +#: src/tables/ColumnRenderers.tsx:34 +#: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:434 +#: src/forms/PurchaseOrderForms.tsx:448 msgid "Store at default location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:447 +#: src/forms/PurchaseOrderForms.tsx:461 msgid "Store at line item destination" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:457 +#: src/forms/PurchaseOrderForms.tsx:471 msgid "Store with already received stock" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:613 +#: src/forms/PurchaseOrderForms.tsx:627 msgid "Receive Line Items" msgstr "" @@ -2421,119 +2488,118 @@ msgstr "" #~ msgid "Receive line items" #~ msgstr "Receive line items" -#: src/forms/StockForms.tsx:69 +#: src/forms/StockForms.tsx:101 msgid "Add given quantity as packs instead of individual items" msgstr "" -#: src/forms/StockForms.tsx:80 -msgid "Enter initial quantity for this stock item" -msgstr "" - -#: src/forms/StockForms.tsx:85 -msgid "Serial Numbers" -msgstr "" - -#: src/forms/StockForms.tsx:86 -msgid "Enter serial numbers for new stock (or leave blank)" -msgstr "" - #: src/forms/StockForms.tsx:110 #~ msgid "Create Stock Item" #~ msgstr "Create Stock Item" -#: src/forms/StockForms.tsx:135 -#: src/pages/stock/StockDetail.tsx:367 -#: src/tables/stock/StockItemTable.tsx:382 -#: src/tables/stock/StockItemTable.tsx:499 -msgid "Add Stock Item" +#: src/forms/StockForms.tsx:114 +msgid "Enter initial quantity for this stock item" +msgstr "" + +#: src/forms/StockForms.tsx:121 +msgid "Serial Numbers" +msgstr "" + +#: src/forms/StockForms.tsx:122 +msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" #: src/forms/StockForms.tsx:158 #~ msgid "Stock item updated" #~ msgstr "Stock item updated" -#: src/forms/StockForms.tsx:298 +#: src/forms/StockForms.tsx:176 +#: src/pages/stock/StockDetail.tsx:375 +#: src/tables/stock/StockItemTable.tsx:382 +#: src/tables/stock/StockItemTable.tsx:499 +msgid "Add Stock Item" +msgstr "" + +#: src/forms/StockForms.tsx:339 msgid "Loading..." msgstr "" -#: src/forms/StockForms.tsx:340 +#: src/forms/StockForms.tsx:381 msgid "Move to default location" msgstr "" -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/part/PartDetail.tsx:205 -#: src/pages/part/PartDetail.tsx:654 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/pages/part/PartDetail.tsx:206 +#: src/pages/part/PartDetail.tsx:655 #: src/tables/stock/StockItemTable.tsx:290 msgid "In Stock" msgstr "" -#: src/forms/StockForms.tsx:408 +#: src/forms/StockForms.tsx:449 msgid "Move" msgstr "" -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/tables/RowActions.tsx:147 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/tables/RowActions.tsx:149 msgid "Actions" msgstr "" -#: src/forms/StockForms.tsx:471 -#: src/pages/stock/StockDetail.tsx:440 -#: src/tables/settings/TemplateTable.tsx:266 -#: src/tables/stock/StockItemTestResultTable.tsx:348 +#: src/forms/StockForms.tsx:512 +#: src/pages/stock/StockDetail.tsx:454 +#: src/tables/stock/StockItemTestResultTable.tsx:339 msgid "Add" msgstr "" -#: src/forms/StockForms.tsx:499 +#: src/forms/StockForms.tsx:540 #: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:430 +#: src/pages/stock/StockDetail.tsx:444 msgid "Count" msgstr "" -#: src/forms/StockForms.tsx:744 +#: src/forms/StockForms.tsx:785 msgid "Add Stock" msgstr "" -#: src/forms/StockForms.tsx:753 +#: src/forms/StockForms.tsx:794 msgid "Remove Stock" msgstr "" -#: src/forms/StockForms.tsx:762 -#: src/pages/part/PartDetail.tsx:781 +#: src/forms/StockForms.tsx:803 +#: src/pages/part/PartDetail.tsx:782 msgid "Transfer Stock" msgstr "" -#: src/forms/StockForms.tsx:771 -#: src/pages/part/PartDetail.tsx:770 +#: src/forms/StockForms.tsx:812 +#: src/pages/part/PartDetail.tsx:771 msgid "Count Stock" msgstr "" -#: src/forms/StockForms.tsx:780 +#: src/forms/StockForms.tsx:821 msgid "Change Stock Status" msgstr "" -#: src/forms/StockForms.tsx:789 +#: src/forms/StockForms.tsx:830 msgid "Merge Stock" msgstr "" -#: src/forms/StockForms.tsx:808 +#: src/forms/StockForms.tsx:849 msgid "Delete Stock Items" msgstr "" -#: src/forms/StockForms.tsx:815 +#: src/forms/StockForms.tsx:856 msgid "Parent stock location" msgstr "" @@ -2728,7 +2794,7 @@ msgstr "" msgid "Welcome to your Dashboard{0}" msgstr "" -#: src/pages/Index/Playground.tsx:244 +#: src/pages/Index/Playground.tsx:243 msgid "This page is a showcase for the possibilities of Platform UI." msgstr "" @@ -3138,49 +3204,53 @@ msgstr "" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:79 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:87 msgid "Background Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:85 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:93 msgid "Error Reports" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:91 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:99 msgid "Currencies" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:109 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:117 msgid "Custom Units" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:115 -#: src/pages/part/CategoryDetail.tsx:254 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:123 +#: src/pages/part/CategoryDetail.tsx:255 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:121 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 +#~ msgid "Templates" +#~ msgstr "Templates" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:129 msgid "Category Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 -msgid "Templates" +#: src/pages/Index/Settings/AdminCenter/Index.tsx:147 +msgid "Location types" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:139 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:159 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:149 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:169 msgid "Quick Actions" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:154 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 msgid "Add a new user" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:173 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:193 msgid "Advanced Options" msgstr "" @@ -3225,26 +3295,32 @@ msgstr "" msgid "Plugin Settings" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:25 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:53 +msgid "Background Worker Not Running" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:54 +msgid "The background task manager service is not running. Contact your system administrator." +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:60 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:76 msgid "Pending Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:33 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:64 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:84 msgid "Scheduled Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:41 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:68 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:92 msgid "Failed Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:139 -msgid "Labels" -msgstr "" - #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:39 -msgid "Label" -msgstr "" +#~ msgid "Label" +#~ msgstr "Label" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67 #~ msgid "Stock item" @@ -3255,13 +3331,13 @@ msgstr "" #~ msgstr "Build line" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:88 -msgid "Reports" -msgstr "" +#~ msgid "Reports" +#~ msgstr "Reports" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:89 #: src/pages/build/BuildDetail.tsx:373 -msgid "Report" -msgstr "" +#~ msgid "Report" +#~ msgstr "Report" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99 #~ msgid "Purchase order" @@ -3275,14 +3351,9 @@ msgstr "" #~ msgid "Return order" #~ msgstr "Return order" -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135 -#: src/pages/part/PartDetail.tsx:518 -msgid "Bill of Materials" -msgstr "" - #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:145 -msgid "Tests" -msgstr "" +#~ msgid "Tests" +#~ msgstr "Tests" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:154 #~ msgid "Stock location" @@ -3321,26 +3392,30 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" +#: src/pages/Index/Settings/SystemSettings.tsx:139 +msgid "Labels" +msgstr "" + #: src/pages/Index/Settings/SystemSettings.tsx:145 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:223 -#: src/pages/part/PartDetail.tsx:589 +#: src/pages/Index/Settings/SystemSettings.tsx:224 +#: src/pages/part/PartDetail.tsx:590 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:228 -#: src/pages/build/BuildDetail.tsx:426 +#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:525 -#: src/pages/sales/SalesOrderDetail.tsx:263 +#: src/pages/part/PartDetail.tsx:526 +#: src/pages/sales/SalesOrderDetail.tsx:265 msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:296 +#: src/pages/Index/Settings/SystemSettings.tsx:297 msgid "Switch to User Setting" msgstr "" @@ -3397,44 +3472,47 @@ msgstr "" #~ msgstr "Build Status" #: src/pages/build/BuildDetail.tsx:89 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:128 -#: src/pages/sales/ReturnOrderDetail.tsx:95 -#: src/pages/sales/SalesOrderDetail.tsx:99 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:130 +#: src/pages/sales/ReturnOrderDetail.tsx:97 +#: src/pages/sales/SalesOrderDetail.tsx:101 #: src/tables/build/BuildOrderTable.tsx:113 #: src/tables/machine/MachineListTable.tsx:326 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderTable.tsx:46 #: src/tables/sales/SalesOrderTable.tsx:52 #: src/tables/stock/StockItemTable.tsx:259 +#: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "" #: src/pages/build/BuildDetail.tsx:95 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:101 -#: src/pages/sales/ReturnOrderDetail.tsx:69 -#: src/pages/sales/SalesOrderDetail.tsx:73 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:103 +#: src/pages/sales/ReturnOrderDetail.tsx:71 +#: src/pages/sales/SalesOrderDetail.tsx:75 +#: src/tables/ColumnRenderers.tsx:106 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" msgstr "" #: src/pages/build/BuildDetail.tsx:100 -#: src/pages/company/CompanyDetail.tsx:84 -#: src/pages/company/ManufacturerPartDetail.tsx:75 -#: src/pages/company/SupplierPartDetail.tsx:82 -#: src/pages/part/CategoryDetail.tsx:91 -#: src/pages/part/PartDetail.tsx:132 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:122 -#: src/pages/sales/ReturnOrderDetail.tsx:89 -#: src/pages/sales/SalesOrderDetail.tsx:93 -#: src/pages/stock/LocationDetail.tsx:97 -#: src/tables/ColumnRenderers.tsx:95 +#: src/pages/company/CompanyDetail.tsx:86 +#: src/pages/company/ManufacturerPartDetail.tsx:76 +#: src/pages/company/SupplierPartDetail.tsx:83 +#: src/pages/part/CategoryDetail.tsx:92 +#: src/pages/part/PartDetail.tsx:133 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:124 +#: src/pages/sales/ReturnOrderDetail.tsx:91 +#: src/pages/sales/SalesOrderDetail.tsx:95 +#: src/pages/stock/LocationDetail.tsx:99 +#: src/tables/ColumnRenderers.tsx:66 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 #: src/tables/machine/MachineTypeTable.tsx:323 #: src/tables/part/RelatedPartTable.tsx:64 -#: src/tables/plugin/PluginListTable.tsx:172 -#: src/tables/plugin/PluginListTable.tsx:302 +#: src/tables/plugin/PluginListTable.tsx:129 +#: src/tables/plugin/PluginListTable.tsx:276 +#: src/tables/stock/LocationTypesTable.tsx:65 msgid "Description" msgstr "" @@ -3447,7 +3525,7 @@ msgid "Build Quantity" msgstr "" #: src/pages/build/BuildDetail.tsx:126 -#: src/pages/build/BuildDetail.tsx:249 +#: src/pages/build/BuildDetail.tsx:256 msgid "Completed Outputs" msgstr "" @@ -3457,10 +3535,10 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:150 -#: src/pages/part/PartDetail.tsx:320 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:214 -#: src/pages/sales/ReturnOrderDetail.tsx:182 -#: src/pages/sales/SalesOrderDetail.tsx:186 +#: src/pages/part/PartDetail.tsx:321 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:184 +#: src/pages/sales/SalesOrderDetail.tsx:188 #: src/tables/build/BuildOrderTable.tsx:148 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 @@ -3474,10 +3552,10 @@ msgid "Created" msgstr "" #: src/pages/build/BuildDetail.tsx:164 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:207 -#: src/pages/sales/ReturnOrderDetail.tsx:175 -#: src/pages/sales/SalesOrderDetail.tsx:179 -#: src/tables/ColumnRenderers.tsx:227 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:209 +#: src/pages/sales/ReturnOrderDetail.tsx:177 +#: src/pages/sales/SalesOrderDetail.tsx:181 +#: src/tables/ColumnRenderers.tsx:191 msgid "Target Date" msgstr "" @@ -3513,6 +3591,11 @@ msgstr "" #~ msgid "Unlink custom barcode from part" #~ msgstr "Unlink custom barcode from part" +#: src/pages/build/BuildDetail.tsx:197 +#: src/pages/stock/StockDetail.tsx:526 +msgid "Batch Code" +msgstr "" + #: src/pages/build/BuildDetail.tsx:202 #~ msgid "Build Order updated" #~ msgstr "Build Order updated" @@ -3521,86 +3604,87 @@ msgstr "" #~ msgid "Edit build order" #~ msgstr "Edit build order" -#: src/pages/build/BuildDetail.tsx:222 -msgid "Build Details" -msgstr "" - #: src/pages/build/BuildDetail.tsx:226 #~ msgid "Duplicate build order" #~ msgstr "Duplicate build order" -#: src/pages/build/BuildDetail.tsx:228 -#: src/tables/build/BuildLineTable.tsx:225 -msgid "Allocate Stock" +#: src/pages/build/BuildDetail.tsx:229 +msgid "Build Details" msgstr "" #: src/pages/build/BuildDetail.tsx:231 #~ msgid "Delete build order" #~ msgstr "Delete build order" -#: src/pages/build/BuildDetail.tsx:242 +#: src/pages/build/BuildDetail.tsx:235 +#: src/tables/build/BuildLineTable.tsx:225 +msgid "Allocate Stock" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:249 msgid "Incomplete Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:264 +#: src/pages/build/BuildDetail.tsx:271 msgid "Consumed Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:278 +#: src/pages/build/BuildDetail.tsx:285 msgid "Child Build Orders" msgstr "" -#: src/pages/build/BuildDetail.tsx:288 -#: src/pages/company/CompanyDetail.tsx:253 -#: src/pages/company/ManufacturerPartDetail.tsx:171 -#: src/pages/part/PartDetail.tsx:611 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:276 -#: src/pages/sales/ReturnOrderDetail.tsx:225 -#: src/pages/sales/SalesOrderDetail.tsx:273 -#: src/pages/stock/StockDetail.tsx:317 +#: src/pages/build/BuildDetail.tsx:295 +#: src/pages/company/CompanyDetail.tsx:255 +#: src/pages/company/ManufacturerPartDetail.tsx:172 +#: src/pages/part/PartDetail.tsx:612 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:278 +#: src/pages/sales/ReturnOrderDetail.tsx:227 +#: src/pages/sales/SalesOrderDetail.tsx:275 +#: src/pages/stock/StockDetail.tsx:325 msgid "Attachments" msgstr "" -#: src/pages/build/BuildDetail.tsx:300 -#: src/pages/company/CompanyDetail.tsx:265 -#: src/pages/part/PartDetail.tsx:623 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:288 -#: src/pages/sales/ReturnOrderDetail.tsx:237 -#: src/pages/sales/SalesOrderDetail.tsx:285 -#: src/pages/stock/StockDetail.tsx:329 +#: src/pages/build/BuildDetail.tsx:307 +#: src/pages/company/CompanyDetail.tsx:267 +#: src/pages/part/PartDetail.tsx:624 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:290 +#: src/pages/sales/ReturnOrderDetail.tsx:239 +#: src/pages/sales/SalesOrderDetail.tsx:287 +#: src/pages/stock/StockDetail.tsx:337 +#: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "" -#: src/pages/build/BuildDetail.tsx:318 +#: src/pages/build/BuildDetail.tsx:325 msgid "Edit Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:327 +#: src/pages/build/BuildDetail.tsx:334 msgid "Cancel Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:339 +#: src/pages/build/BuildDetail.tsx:346 #: src/tables/build/BuildOrderTable.tsx:167 #: src/tables/build/BuildOrderTable.tsx:182 msgid "Add Build Order" msgstr "" #: src/pages/build/BuildDetail.tsx:368 -msgid "Reporting Actions" -msgstr "" +#~ msgid "Reporting Actions" +#~ msgstr "Reporting Actions" #: src/pages/build/BuildDetail.tsx:374 -msgid "Print build report" -msgstr "" +#~ msgid "Print build report" +#~ msgstr "Print build report" -#: src/pages/build/BuildDetail.tsx:380 +#: src/pages/build/BuildDetail.tsx:378 msgid "Build Order Actions" msgstr "" -#: src/pages/build/BuildDetail.tsx:388 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:326 -#: src/pages/sales/ReturnOrderDetail.tsx:300 -#: src/pages/sales/SalesOrderDetail.tsx:310 +#: src/pages/build/BuildDetail.tsx:386 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:333 +#: src/pages/sales/ReturnOrderDetail.tsx:307 +#: src/pages/sales/SalesOrderDetail.tsx:317 msgid "Cancel order" msgstr "" @@ -3612,56 +3696,58 @@ msgstr "" #~ msgid "New Build Order" #~ msgstr "New Build Order" -#: src/pages/company/CompanyDetail.tsx:98 +#: src/pages/company/CompanyDetail.tsx:100 msgid "Phone Number" msgstr "" -#: src/pages/company/CompanyDetail.tsx:105 +#: src/pages/company/CompanyDetail.tsx:107 msgid "Email Address" msgstr "" -#: src/pages/company/CompanyDetail.tsx:115 +#: src/pages/company/CompanyDetail.tsx:117 msgid "Default Currency" msgstr "" -#: src/pages/company/CompanyDetail.tsx:120 +#: src/pages/company/CompanyDetail.tsx:122 #: src/pages/company/SupplierDetail.tsx:8 -#: src/pages/company/SupplierPartDetail.tsx:106 -#: src/pages/company/SupplierPartDetail.tsx:192 -#: src/pages/company/SupplierPartDetail.tsx:295 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:116 +#: src/pages/company/SupplierPartDetail.tsx:107 +#: src/pages/company/SupplierPartDetail.tsx:193 +#: src/pages/company/SupplierPartDetail.tsx:296 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:118 #: src/tables/company/CompanyTable.tsx:100 #: src/tables/purchasing/PurchaseOrderTable.tsx:88 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:36 msgid "Supplier" msgstr "" -#: src/pages/company/CompanyDetail.tsx:126 +#: src/pages/company/CompanyDetail.tsx:128 #: src/pages/company/ManufacturerDetail.tsx:8 -#: src/pages/company/ManufacturerPartDetail.tsx:93 -#: src/pages/company/ManufacturerPartDetail.tsx:235 -#: src/pages/company/SupplierPartDetail.tsx:121 +#: src/pages/company/ManufacturerPartDetail.tsx:94 +#: src/pages/company/ManufacturerPartDetail.tsx:239 +#: src/pages/company/SupplierPartDetail.tsx:122 #: src/tables/company/CompanyTable.tsx:105 msgid "Manufacturer" msgstr "" -#: src/pages/company/CompanyDetail.tsx:132 +#: src/pages/company/CompanyDetail.tsx:134 #: src/pages/company/CustomerDetail.tsx:8 #: src/pages/part/pricing/SaleHistoryPanel.tsx:39 -#: src/pages/sales/ReturnOrderDetail.tsx:83 -#: src/pages/sales/SalesOrderDetail.tsx:87 -#: src/pages/stock/StockDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:85 +#: src/pages/sales/SalesOrderDetail.tsx:89 +#: src/pages/stock/StockDetail.tsx:219 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:107 +#: src/tables/stock/StockTrackingTable.tsx:140 msgid "Customer" msgstr "" -#: src/pages/company/CompanyDetail.tsx:166 +#: src/pages/company/CompanyDetail.tsx:168 +#: src/tables/stock/StockTrackingTable.tsx:183 msgid "Details" msgstr "" -#: src/pages/company/CompanyDetail.tsx:172 +#: src/pages/company/CompanyDetail.tsx:174 msgid "Manufactured Parts" msgstr "" @@ -3669,7 +3755,7 @@ msgstr "" #~ msgid "Edit company" #~ msgstr "Edit company" -#: src/pages/company/CompanyDetail.tsx:181 +#: src/pages/company/CompanyDetail.tsx:183 msgid "Supplied Parts" msgstr "" @@ -3677,289 +3763,289 @@ msgstr "" #~ msgid "Delete company" #~ msgstr "Delete company" -#: src/pages/company/CompanyDetail.tsx:226 +#: src/pages/company/CompanyDetail.tsx:228 msgid "Assigned Stock" msgstr "" -#: src/pages/company/CompanyDetail.tsx:281 +#: src/pages/company/CompanyDetail.tsx:283 #: src/tables/company/CompanyTable.tsx:86 msgid "Edit Company" msgstr "" -#: src/pages/company/CompanyDetail.tsx:290 +#: src/pages/company/CompanyDetail.tsx:292 msgid "Company Actions" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:68 -#: src/pages/company/SupplierPartDetail.tsx:75 +#: src/pages/company/ManufacturerPartDetail.tsx:69 +#: src/pages/company/SupplierPartDetail.tsx:76 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:72 msgid "Internal Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:83 -#: src/pages/company/SupplierPartDetail.tsx:89 +#: src/pages/company/ManufacturerPartDetail.tsx:84 +#: src/pages/company/SupplierPartDetail.tsx:90 msgid "External Link" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:101 -#: src/pages/company/SupplierPartDetail.tsx:130 -#: src/tables/purchasing/ManufacturerPartTable.tsx:53 +#: src/pages/company/ManufacturerPartDetail.tsx:102 +#: src/pages/company/SupplierPartDetail.tsx:131 +#: src/tables/purchasing/ManufacturerPartTable.tsx:56 msgid "Manufacturer Part Number" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:130 +#: src/pages/company/ManufacturerPartDetail.tsx:131 msgid "Manufacturer Details" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:139 +#: src/pages/company/ManufacturerPartDetail.tsx:140 msgid "Manufacturer Part Details" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:145 -#: src/pages/part/PartDetail.tsx:485 +#: src/pages/company/ManufacturerPartDetail.tsx:146 +#: src/pages/part/PartDetail.tsx:486 msgid "Parameters" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:157 -#: src/pages/part/PartDetail.tsx:558 +#: src/pages/company/ManufacturerPartDetail.tsx:158 +#: src/pages/part/PartDetail.tsx:559 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:189 -#: src/tables/purchasing/ManufacturerPartTable.tsx:97 +#: src/pages/company/ManufacturerPartDetail.tsx:190 +#: src/tables/purchasing/ManufacturerPartTable.tsx:84 msgid "Edit Manufacturer Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:196 -#: src/tables/purchasing/ManufacturerPartTable.tsx:63 -#: src/tables/purchasing/ManufacturerPartTable.tsx:78 +#: src/pages/company/ManufacturerPartDetail.tsx:197 +#: src/tables/purchasing/ManufacturerPartTable.tsx:72 +#: src/tables/purchasing/ManufacturerPartTable.tsx:103 msgid "Add Manufacturer Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:209 +#: src/pages/company/ManufacturerPartDetail.tsx:213 msgid "Manufacturer Part Actions" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:247 +#: src/pages/company/ManufacturerPartDetail.tsx:251 msgid "ManufacturerPart" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:96 -#: src/tables/ColumnRenderers.tsx:146 +#: src/pages/company/SupplierPartDetail.tsx:97 +#: src/tables/ColumnRenderers.tsx:117 msgid "Note" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:114 +#: src/pages/company/SupplierPartDetail.tsx:115 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:57 msgid "SKU" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:142 -#: src/pages/company/SupplierPartDetail.tsx:193 -#: src/pages/stock/StockDetail.tsx:230 +#: src/pages/company/SupplierPartDetail.tsx:143 +#: src/pages/company/SupplierPartDetail.tsx:194 +#: src/pages/stock/StockDetail.tsx:233 msgid "Packaging" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:149 +#: src/pages/company/SupplierPartDetail.tsx:150 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:107 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143 #: src/tables/purchasing/SupplierPartTable.tsx:131 msgid "Pack Quantity" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:160 +#: src/pages/company/SupplierPartDetail.tsx:161 msgid "Supplier Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:167 +#: src/pages/company/SupplierPartDetail.tsx:168 msgid "Availability Updated" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:194 +#: src/pages/company/SupplierPartDetail.tsx:195 msgid "Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:203 +#: src/pages/company/SupplierPartDetail.tsx:204 msgid "Supplier Part Details" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:209 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:263 +#: src/pages/company/SupplierPartDetail.tsx:210 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:265 msgid "Received Stock" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:233 +#: src/pages/company/SupplierPartDetail.tsx:234 #: src/pages/part/PartPricingPanel.tsx:115 #: src/pages/part/pricing/PricingOverviewPanel.tsx:130 msgid "Supplier Pricing" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:248 +#: src/pages/company/SupplierPartDetail.tsx:249 msgid "Supplier Part Actions" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:272 +#: src/pages/company/SupplierPartDetail.tsx:273 #: src/tables/purchasing/SupplierPartTable.tsx:210 msgid "Edit Supplier Part" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:279 +#: src/pages/company/SupplierPartDetail.tsx:280 #: src/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "" -#: src/pages/part/CategoryDetail.tsx:83 -#: src/pages/stock/LocationDetail.tsx:89 +#: src/pages/part/CategoryDetail.tsx:84 +#: src/pages/stock/LocationDetail.tsx:91 #: src/tables/settings/ErrorTable.tsx:34 msgid "Path" msgstr "" -#: src/pages/part/CategoryDetail.tsx:99 +#: src/pages/part/CategoryDetail.tsx:100 msgid "Parent Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:116 +#: src/pages/part/CategoryDetail.tsx:117 msgid "Subcategories" msgstr "" -#: src/pages/part/CategoryDetail.tsx:123 -#: src/pages/stock/LocationDetail.tsx:129 -#: src/tables/part/PartCategoryTable.tsx:69 +#: src/pages/part/CategoryDetail.tsx:124 +#: src/pages/stock/LocationDetail.tsx:131 +#: src/tables/part/PartCategoryTable.tsx:65 msgid "Structural" msgstr "" -#: src/pages/part/CategoryDetail.tsx:129 +#: src/pages/part/CategoryDetail.tsx:130 msgid "Parent default location" msgstr "" -#: src/pages/part/CategoryDetail.tsx:136 +#: src/pages/part/CategoryDetail.tsx:137 msgid "Default location" msgstr "" -#: src/pages/part/CategoryDetail.tsx:147 +#: src/pages/part/CategoryDetail.tsx:148 msgid "Top level part category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:157 -#: src/pages/part/CategoryDetail.tsx:211 -#: src/tables/part/PartCategoryTable.tsx:96 +#: src/pages/part/CategoryDetail.tsx:158 +#: src/pages/part/CategoryDetail.tsx:212 +#: src/tables/part/PartCategoryTable.tsx:88 msgid "Edit Part Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:170 -#: src/pages/stock/LocationDetail.tsx:213 +#: src/pages/part/CategoryDetail.tsx:171 +#: src/pages/stock/LocationDetail.tsx:223 msgid "Delete items" msgstr "" -#: src/pages/part/CategoryDetail.tsx:178 -#: src/pages/part/CategoryDetail.tsx:216 +#: src/pages/part/CategoryDetail.tsx:179 +#: src/pages/part/CategoryDetail.tsx:217 msgid "Delete Part Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:181 +#: src/pages/part/CategoryDetail.tsx:182 msgid "Parts Action" msgstr "" -#: src/pages/part/CategoryDetail.tsx:182 +#: src/pages/part/CategoryDetail.tsx:183 msgid "Action for parts in this category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:187 +#: src/pages/part/CategoryDetail.tsx:188 msgid "Child Categories Action" msgstr "" -#: src/pages/part/CategoryDetail.tsx:188 +#: src/pages/part/CategoryDetail.tsx:189 msgid "Action for child categories in this category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:206 +#: src/pages/part/CategoryDetail.tsx:207 msgid "Category Actions" msgstr "" -#: src/pages/part/CategoryDetail.tsx:228 +#: src/pages/part/CategoryDetail.tsx:229 msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:138 +#: src/pages/part/PartDetail.tsx:139 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:145 +#: src/pages/part/PartDetail.tsx:146 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "" -#: src/pages/part/PartDetail.tsx:151 +#: src/pages/part/PartDetail.tsx:152 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:158 +#: src/pages/part/PartDetail.tsx:159 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:165 +#: src/pages/part/PartDetail.tsx:166 msgid "IPN" msgstr "" -#: src/pages/part/PartDetail.tsx:172 +#: src/pages/part/PartDetail.tsx:173 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:179 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39 +#: src/pages/part/PartDetail.tsx:180 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "" -#: src/pages/part/PartDetail.tsx:186 +#: src/pages/part/PartDetail.tsx:187 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:193 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:180 -#: src/pages/sales/ReturnOrderDetail.tsx:148 -#: src/pages/sales/SalesOrderDetail.tsx:152 +#: src/pages/part/PartDetail.tsx:194 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:182 +#: src/pages/sales/ReturnOrderDetail.tsx:150 +#: src/pages/sales/SalesOrderDetail.tsx:154 msgid "Link" msgstr "" -#: src/pages/part/PartDetail.tsx:211 -#: src/tables/bom/BomTable.tsx:269 +#: src/pages/part/PartDetail.tsx:212 +#: src/tables/bom/BomTable.tsx:271 #: src/tables/build/BuildLineTable.tsx:121 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:218 +#: src/pages/part/PartDetail.tsx:219 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:224 -#: src/tables/bom/BomTable.tsx:210 +#: src/pages/part/PartDetail.tsx:225 +#: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:233 +#: src/pages/part/PartDetail.tsx:234 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:241 +#: src/pages/part/PartDetail.tsx:242 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:248 -#: src/tables/bom/BomTable.tsx:234 +#: src/pages/part/PartDetail.tsx:249 +#: src/tables/bom/BomTable.tsx:236 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:255 -#: src/tables/bom/BomTable.tsx:218 +#: src/pages/part/PartDetail.tsx:256 +#: src/tables/bom/BomTable.tsx:220 #: src/tables/part/PartTable.tsx:82 msgid "Building" msgstr "" -#: src/pages/part/PartDetail.tsx:264 +#: src/pages/part/PartDetail.tsx:265 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 @@ -3968,45 +4054,47 @@ msgstr "" #: src/tables/machine/MachineListTable.tsx:585 #: src/tables/part/PartTable.tsx:168 #: src/tables/part/PartVariantTable.tsx:15 -#: src/tables/plugin/PluginListTable.tsx:190 -#: src/tables/plugin/PluginListTable.tsx:638 +#: src/tables/plugin/PluginListTable.tsx:149 +#: src/tables/plugin/PluginListTable.tsx:271 +#: src/tables/plugin/PluginListTable.tsx:563 #: src/tables/purchasing/SupplierPartTable.tsx:98 #: src/tables/purchasing/SupplierPartTable.tsx:187 #: src/tables/stock/StockItemTable.tsx:254 msgid "Active" msgstr "" -#: src/pages/part/PartDetail.tsx:269 +#: src/pages/part/PartDetail.tsx:270 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:274 -#: src/tables/bom/BomTable.tsx:264 +#: src/pages/part/PartDetail.tsx:275 +#: src/tables/bom/BomTable.tsx:266 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:279 +#: src/pages/part/PartDetail.tsx:280 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:284 -#: src/tables/bom/BomTable.tsx:259 +#: src/pages/part/PartDetail.tsx:285 +#: src/tables/bom/BomTable.tsx:261 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:289 +#: src/pages/part/PartDetail.tsx:290 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:294 +#: src/pages/part/PartDetail.tsx:295 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:299 +#: src/pages/part/PartDetail.tsx:300 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:307 +#: src/pages/part/PartDetail.tsx:308 +#: src/tables/ColumnRenderers.tsx:199 msgid "Creation Date" msgstr "" @@ -4014,7 +4102,7 @@ msgstr "" #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:312 +#: src/pages/part/PartDetail.tsx:313 msgid "Created By" msgstr "" @@ -4022,68 +4110,72 @@ msgstr "" #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:327 -msgid "Default Supplier" -msgstr "" - #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:338 +#: src/pages/part/PartDetail.tsx:328 +msgid "Default Supplier" +msgstr "" + +#: src/pages/part/PartDetail.tsx:339 #: src/tables/part/PartTable.tsx:151 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:373 -#: src/pages/stock/StockDetail.tsx:127 +#: src/pages/part/PartDetail.tsx:374 +#: src/pages/stock/StockDetail.tsx:130 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:408 +#: src/pages/part/PartDetail.tsx:409 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:479 +#: src/pages/part/PartDetail.tsx:480 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:505 +#: src/pages/part/PartDetail.tsx:506 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:512 -#: src/pages/stock/StockDetail.tsx:275 +#: src/pages/part/PartDetail.tsx:513 +#: src/pages/stock/StockDetail.tsx:283 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:532 +#: src/pages/part/PartDetail.tsx:519 +msgid "Bill of Materials" +msgstr "" + +#: src/pages/part/PartDetail.tsx:533 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:539 +#: src/pages/part/PartDetail.tsx:540 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:545 +#: src/pages/part/PartDetail.tsx:546 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:584 +#: src/pages/part/PartDetail.tsx:585 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:594 +#: src/pages/part/PartDetail.tsx:595 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:605 +#: src/pages/part/PartDetail.tsx:606 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:660 -#: src/pages/stock/StockDetail.tsx:148 +#: src/pages/part/PartDetail.tsx:661 +#: src/pages/stock/StockDetail.tsx:151 #: src/tables/build/BuildLineTable.tsx:36 #: src/tables/part/PartTable.tsx:107 #: src/tables/stock/StockItemTable.tsx:166 @@ -4091,49 +4183,51 @@ msgstr "" msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:666 +#: src/pages/part/PartDetail.tsx:667 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:672 -#: src/tables/bom/BomTable.tsx:274 +#: src/pages/part/PartDetail.tsx:673 +#: src/tables/bom/BomTable.tsx:276 #: src/tables/part/PartTable.tsx:76 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:678 -#: src/pages/stock/StockDetail.tsx:496 +#: src/pages/part/PartDetail.tsx:679 +#: src/pages/stock/StockDetail.tsx:509 #: src/tables/stock/StockItemTable.tsx:295 msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:697 +#: src/pages/part/PartDetail.tsx:698 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:704 +#: src/pages/part/PartDetail.tsx:705 #: src/tables/part/PartTable.tsx:266 #: src/tables/part/PartTable.tsx:279 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:716 +#: src/pages/part/PartDetail.tsx:717 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:725 +#: src/pages/part/PartDetail.tsx:726 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:763 +#: src/pages/part/PartDetail.tsx:764 +#: src/pages/stock/LocationDetail.tsx:301 +#: src/tables/stock/StockItemTable.tsx:409 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:771 +#: src/pages/part/PartDetail.tsx:772 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:782 +#: src/pages/part/PartDetail.tsx:783 msgid "Transfer part stock" msgstr "" @@ -4199,15 +4293,15 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151 #: src/pages/part/pricing/SupplierPricingPanel.tsx:83 -#: src/tables/bom/BomTable.tsx:149 +#: src/tables/bom/BomTable.tsx:151 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 msgid "Unit Price" msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:173 -#: src/tables/ColumnRenderers.tsx:278 -#: src/tables/bom/BomTable.tsx:158 +#: src/tables/ColumnRenderers.tsx:241 +#: src/tables/bom/BomTable.tsx:160 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 #: src/tables/sales/ReturnOrderTable.tsx:104 #: src/tables/sales/SalesOrderTable.tsx:134 @@ -4229,24 +4323,24 @@ msgid "Bar Chart" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:63 -#: src/pages/part/pricing/PriceBreakPanel.tsx:117 +#: src/pages/part/pricing/PriceBreakPanel.tsx:115 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:138 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:164 msgid "Add Price Break" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:76 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:149 msgid "Edit Price Break" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:86 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:157 msgid "Delete Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:102 -#: src/pages/part/pricing/PriceBreakPanel.tsx:193 +#: src/pages/part/pricing/PriceBreakPanel.tsx:100 +#: src/pages/part/pricing/PriceBreakPanel.tsx:191 msgid "Price Break" msgstr "" @@ -4275,7 +4369,7 @@ msgid "Overall Pricing" msgstr "" #: src/pages/part/pricing/PricingOverviewPanel.tsx:184 -#: src/pages/stock/StockDetail.tsx:121 +#: src/pages/stock/StockDetail.tsx:124 msgid "Last Updated" msgstr "" @@ -4309,9 +4403,8 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50 #: src/pages/part/pricing/SaleHistoryPanel.tsx:46 -#: src/tables/ColumnRenderers.tsx:217 -#: src/tables/plugin/PluginListTable.tsx:182 -#: src/tables/stock/StockItemTestResultTable.tsx:194 +#: src/tables/ColumnRenderers.tsx:180 +#: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" @@ -4338,89 +4431,89 @@ msgstr "" msgid "Variant Part" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:73 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:75 msgid "Edit Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:82 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:84 #: src/tables/purchasing/PurchaseOrderTable.tsx:128 #: src/tables/purchasing/PurchaseOrderTable.tsx:140 msgid "Add Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:107 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:109 msgid "Supplier Reference" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:137 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:252 -#: src/pages/sales/ReturnOrderDetail.tsx:104 -#: src/pages/sales/ReturnOrderDetail.tsx:220 -#: src/pages/sales/SalesOrderDetail.tsx:108 -#: src/pages/sales/SalesOrderDetail.tsx:248 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:139 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:254 +#: src/pages/sales/ReturnOrderDetail.tsx:106 +#: src/pages/sales/ReturnOrderDetail.tsx:222 +#: src/pages/sales/SalesOrderDetail.tsx:110 +#: src/pages/sales/SalesOrderDetail.tsx:250 msgid "Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:144 -#: src/pages/sales/ReturnOrderDetail.tsx:111 -#: src/pages/sales/SalesOrderDetail.tsx:115 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:146 +#: src/pages/sales/ReturnOrderDetail.tsx:113 +#: src/pages/sales/SalesOrderDetail.tsx:117 msgid "Completed Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:152 -#: src/pages/sales/ReturnOrderDetail.tsx:119 -#: src/pages/sales/SalesOrderDetail.tsx:123 -#: src/pages/sales/SalesOrderDetail.tsx:258 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:121 +#: src/pages/sales/SalesOrderDetail.tsx:125 +#: src/pages/sales/SalesOrderDetail.tsx:260 msgid "Completed Shipments" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:159 -#: src/pages/sales/ReturnOrderDetail.tsx:127 -#: src/pages/sales/SalesOrderDetail.tsx:131 -msgid "Order Currency" -msgstr "" - #: src/pages/purchasing/PurchaseOrderDetail.tsx:159 #: src/pages/sales/ReturnOrderDetail.tsx:126 #: src/pages/sales/SalesOrderDetail.tsx:130 #~ msgid "Order Currency," #~ msgstr "Order Currency," -#: src/pages/purchasing/PurchaseOrderDetail.tsx:166 -#: src/pages/sales/ReturnOrderDetail.tsx:134 -#: src/pages/sales/SalesOrderDetail.tsx:138 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:161 +#: src/pages/sales/ReturnOrderDetail.tsx:129 +#: src/pages/sales/SalesOrderDetail.tsx:133 +msgid "Order Currency" +msgstr "" + +#: src/pages/purchasing/PurchaseOrderDetail.tsx:168 +#: src/pages/sales/ReturnOrderDetail.tsx:136 +#: src/pages/sales/SalesOrderDetail.tsx:140 msgid "Total Cost" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:201 -#: src/pages/sales/ReturnOrderDetail.tsx:169 -#: src/pages/sales/SalesOrderDetail.tsx:173 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:203 +#: src/pages/sales/ReturnOrderDetail.tsx:171 +#: src/pages/sales/SalesOrderDetail.tsx:175 msgid "Created On" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:246 -#: src/pages/sales/ReturnOrderDetail.tsx:214 -#: src/pages/sales/SalesOrderDetail.tsx:242 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:248 +#: src/pages/sales/ReturnOrderDetail.tsx:216 +#: src/pages/sales/SalesOrderDetail.tsx:244 msgid "Order Details" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:316 -#: src/pages/sales/ReturnOrderDetail.tsx:290 -#: src/pages/sales/SalesOrderDetail.tsx:302 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:323 +#: src/pages/sales/ReturnOrderDetail.tsx:297 +#: src/pages/sales/SalesOrderDetail.tsx:309 msgid "Order Actions" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:75 -#: src/pages/sales/SalesOrderDetail.tsx:79 +#: src/pages/sales/ReturnOrderDetail.tsx:77 +#: src/pages/sales/SalesOrderDetail.tsx:81 #: src/tables/sales/SalesOrderTable.tsx:123 msgid "Customer Reference" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:267 +#: src/pages/sales/ReturnOrderDetail.tsx:269 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:276 +#: src/pages/sales/ReturnOrderDetail.tsx:278 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" @@ -4430,68 +4523,72 @@ msgstr "" msgid "Customers" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:219 +#: src/pages/sales/SalesOrderDetail.tsx:221 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:228 +#: src/pages/sales/SalesOrderDetail.tsx:230 #: src/tables/sales/SalesOrderTable.tsx:83 #: src/tables/sales/SalesOrderTable.tsx:95 msgid "Add Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:253 +#: src/pages/sales/SalesOrderDetail.tsx:255 msgid "Pending Shipments" msgstr "" -#: src/pages/stock/LocationDetail.tsx:105 +#: src/pages/stock/LocationDetail.tsx:107 msgid "Parent Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:123 +#: src/pages/stock/LocationDetail.tsx:125 msgid "Sublocations" msgstr "" -#: src/pages/stock/LocationDetail.tsx:135 +#: src/pages/stock/LocationDetail.tsx:137 msgid "External" msgstr "" -#: src/pages/stock/LocationDetail.tsx:144 +#: src/pages/stock/LocationDetail.tsx:143 +msgid "Location Type" +msgstr "" + +#: src/pages/stock/LocationDetail.tsx:154 msgid "Top level stock location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:155 +#: src/pages/stock/LocationDetail.tsx:165 msgid "Location Details" msgstr "" -#: src/pages/stock/LocationDetail.tsx:181 +#: src/pages/stock/LocationDetail.tsx:191 msgid "Default Parts" msgstr "" -#: src/pages/stock/LocationDetail.tsx:200 +#: src/pages/stock/LocationDetail.tsx:210 #: src/pages/stock/LocationDetail.tsx:328 -#: src/tables/stock/StockLocationTable.tsx:108 +#: src/tables/stock/StockLocationTable.tsx:100 msgid "Edit Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:221 +#: src/pages/stock/LocationDetail.tsx:231 #: src/pages/stock/LocationDetail.tsx:333 msgid "Delete Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:224 +#: src/pages/stock/LocationDetail.tsx:234 msgid "Items Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:225 +#: src/pages/stock/LocationDetail.tsx:235 msgid "Action for stock items in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:230 +#: src/pages/stock/LocationDetail.tsx:240 msgid "Child Locations Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:231 +#: src/pages/stock/LocationDetail.tsx:241 msgid "Action for child locations in this location" msgstr "" @@ -4499,11 +4596,11 @@ msgstr "" msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:100 +#: src/pages/stock/StockDetail.tsx:103 msgid "Base Part" msgstr "" -#: src/pages/stock/StockDetail.tsx:107 +#: src/pages/stock/StockDetail.tsx:110 msgid "Stock Status" msgstr "" @@ -4515,15 +4612,16 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:174 +#: src/pages/stock/StockDetail.tsx:177 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:190 +#: src/pages/stock/StockDetail.tsx:193 msgid "Consumed By" msgstr "" -#: src/pages/stock/StockDetail.tsx:199 +#: src/pages/stock/StockDetail.tsx:202 +#: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" msgstr "" @@ -4535,78 +4633,78 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:264 +#: src/pages/stock/StockDetail.tsx:267 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:270 +#: src/pages/stock/StockDetail.tsx:273 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:282 +#: src/pages/stock/StockDetail.tsx:290 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:296 +#: src/pages/stock/StockDetail.tsx:304 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:303 +#: src/pages/stock/StockDetail.tsx:311 msgid "Child Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:358 +#: src/pages/stock/StockDetail.tsx:366 msgid "Edit Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:385 +#: src/pages/stock/StockDetail.tsx:393 msgid "Delete Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:426 -msgid "Stock Operations" -msgstr "" - -#: src/pages/stock/StockDetail.tsx:431 -msgid "Count stock" -msgstr "" - #: src/pages/stock/StockDetail.tsx:433 #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:441 +#: src/pages/stock/StockDetail.tsx:440 +msgid "Stock Operations" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:445 +msgid "Count stock" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:455 #: src/tables/stock/StockItemTable.tsx:414 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:449 +#: src/pages/stock/StockDetail.tsx:463 #: src/tables/stock/StockItemTable.tsx:423 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:456 +#: src/pages/stock/StockDetail.tsx:470 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:457 +#: src/pages/stock/StockDetail.tsx:471 #: src/tables/stock/StockItemTable.tsx:443 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:469 +#: src/pages/stock/StockDetail.tsx:482 msgid "Stock Item Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:513 -msgid "Batch Code" -msgstr "" - -#: src/tables/ColumnRenderers.tsx:50 +#: src/tables/ColumnRenderers.tsx:42 msgid "No location set" msgstr "" -#: src/tables/ColumnRenderers.tsx:264 +#: src/tables/ColumnRenderers.tsx:207 +msgid "Shipment Date" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:227 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "" @@ -4616,20 +4714,32 @@ msgstr "" msgid "Select Columns" msgstr "" -#: src/tables/DownloadAction.tsx:11 +#: src/tables/DownloadAction.tsx:13 +#~ msgid "Excel" +#~ msgstr "Excel" + +#: src/tables/DownloadAction.tsx:21 +#~ msgid "Download selected data" +#~ msgstr "Download selected data" + +#: src/tables/DownloadAction.tsx:22 msgid "CSV" msgstr "" -#: src/tables/DownloadAction.tsx:12 +#: src/tables/DownloadAction.tsx:23 msgid "TSV" msgstr "" -#: src/tables/DownloadAction.tsx:13 -msgid "Excel" +#: src/tables/DownloadAction.tsx:24 +msgid "Excel (.xls)" msgstr "" -#: src/tables/DownloadAction.tsx:21 -msgid "Download selected data" +#: src/tables/DownloadAction.tsx:25 +msgid "Excel (.xlsx)" +msgstr "" + +#: src/tables/DownloadAction.tsx:39 +msgid "Download Data" msgstr "" #: src/tables/Filter.tsx:88 @@ -4663,102 +4773,102 @@ msgstr "" msgid "Remove filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:147 +#: src/tables/FilterSelectDrawer.tsx:136 msgid "Select filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:148 +#: src/tables/FilterSelectDrawer.tsx:137 msgid "Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:155 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:33 -#: src/tables/stock/StockItemTestResultTable.tsx:182 +#: src/tables/FilterSelectDrawer.tsx:144 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 +#: src/tables/stock/StockItemTestResultTable.tsx:180 msgid "Value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:156 +#: src/tables/FilterSelectDrawer.tsx:145 msgid "Select filter value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:196 +#: src/tables/FilterSelectDrawer.tsx:185 msgid "Table Filters" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:228 +#: src/tables/FilterSelectDrawer.tsx:217 msgid "Add Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:237 +#: src/tables/FilterSelectDrawer.tsx:226 msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:118 -#: src/tables/InvenTreeTable.tsx:384 -#: src/tables/InvenTreeTable.tsx:405 +#: src/tables/InvenTreeTable.tsx:119 +#: src/tables/InvenTreeTable.tsx:390 +#: src/tables/InvenTreeTable.tsx:411 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:416 +#: src/tables/InvenTreeTable.tsx:422 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:424 +#: src/tables/InvenTreeTable.tsx:430 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:427 +#: src/tables/InvenTreeTable.tsx:433 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:436 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:433 +#: src/tables/InvenTreeTable.tsx:439 msgid "Not found" msgstr "" -#: src/tables/InvenTreeTable.tsx:482 -#: src/tables/InvenTreeTable.tsx:604 +#: src/tables/InvenTreeTable.tsx:488 +#: src/tables/InvenTreeTable.tsx:611 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:486 +#: src/tables/InvenTreeTable.tsx:492 msgid "Are you sure you want to delete the selected records?" msgstr "" -#: src/tables/InvenTreeTable.tsx:488 +#: src/tables/InvenTreeTable.tsx:494 msgid "This action cannot be undone!" msgstr "" -#: src/tables/InvenTreeTable.tsx:516 +#: src/tables/InvenTreeTable.tsx:522 msgid "Deleted records" msgstr "" -#: src/tables/InvenTreeTable.tsx:517 +#: src/tables/InvenTreeTable.tsx:523 msgid "Records were deleted successfully" msgstr "" -#: src/tables/InvenTreeTable.tsx:526 +#: src/tables/InvenTreeTable.tsx:532 msgid "Failed to delete records" msgstr "" -#: src/tables/InvenTreeTable.tsx:585 -#: src/tables/InvenTreeTable.tsx:586 -msgid "Barcode actions" -msgstr "" - #: src/tables/InvenTreeTable.tsx:594 #: src/tables/InvenTreeTable.tsx:595 -msgid "Print actions" +#~ msgid "Print actions" +#~ msgstr "Print actions" + +#: src/tables/InvenTreeTable.tsx:601 +#: src/tables/InvenTreeTable.tsx:602 +msgid "Barcode actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:620 +#: src/tables/InvenTreeTable.tsx:630 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:638 +#: src/tables/InvenTreeTable.tsx:648 msgid "Table filters" msgstr "" @@ -4770,138 +4880,138 @@ msgstr "" msgid "Part Information" msgstr "" -#: src/tables/bom/BomTable.tsx:177 +#: src/tables/bom/BomTable.tsx:179 #: src/tables/part/PartTable.tsx:124 msgid "No stock" msgstr "" -#: src/tables/bom/BomTable.tsx:185 +#: src/tables/bom/BomTable.tsx:187 #: src/tables/build/BuildLineTable.tsx:104 #: src/tables/part/PartTable.tsx:115 msgid "External stock" msgstr "" -#: src/tables/bom/BomTable.tsx:193 +#: src/tables/bom/BomTable.tsx:195 #: src/tables/build/BuildLineTable.tsx:67 msgid "Includes substitute stock" msgstr "" -#: src/tables/bom/BomTable.tsx:202 +#: src/tables/bom/BomTable.tsx:204 #: src/tables/build/BuildLineTable.tsx:77 msgid "Includes variant stock" msgstr "" -#: src/tables/bom/BomTable.tsx:227 +#: src/tables/bom/BomTable.tsx:229 #: src/tables/part/PartTable.tsx:143 #: src/tables/stock/StockItemTable.tsx:205 msgid "Stock Information" msgstr "" -#: src/tables/bom/BomTable.tsx:239 +#: src/tables/bom/BomTable.tsx:241 #: src/tables/build/BuildLineTable.tsx:195 msgid "Consumable item" msgstr "" -#: src/tables/bom/BomTable.tsx:260 +#: src/tables/bom/BomTable.tsx:262 msgid "Show trackable items" msgstr "" -#: src/tables/bom/BomTable.tsx:265 +#: src/tables/bom/BomTable.tsx:267 msgid "Show asssmbled items" msgstr "" -#: src/tables/bom/BomTable.tsx:270 +#: src/tables/bom/BomTable.tsx:272 msgid "Show items with available stock" msgstr "" -#: src/tables/bom/BomTable.tsx:275 +#: src/tables/bom/BomTable.tsx:277 msgid "Show items on order" msgstr "" -#: src/tables/bom/BomTable.tsx:279 +#: src/tables/bom/BomTable.tsx:281 msgid "Validated" msgstr "" -#: src/tables/bom/BomTable.tsx:280 +#: src/tables/bom/BomTable.tsx:282 msgid "Show validated items" msgstr "" -#: src/tables/bom/BomTable.tsx:284 +#: src/tables/bom/BomTable.tsx:286 #: src/tables/bom/UsedInTable.tsx:63 msgid "Inherited" msgstr "" -#: src/tables/bom/BomTable.tsx:285 +#: src/tables/bom/BomTable.tsx:287 #: src/tables/bom/UsedInTable.tsx:64 msgid "Show inherited items" msgstr "" -#: src/tables/bom/BomTable.tsx:289 +#: src/tables/bom/BomTable.tsx:291 #: src/tables/bom/UsedInTable.tsx:68 #: src/tables/build/BuildLineTable.tsx:46 msgid "Optional" msgstr "" -#: src/tables/bom/BomTable.tsx:290 +#: src/tables/bom/BomTable.tsx:292 #: src/tables/bom/UsedInTable.tsx:69 msgid "Show optional items" msgstr "" -#: src/tables/bom/BomTable.tsx:294 +#: src/tables/bom/BomTable.tsx:296 #: src/tables/build/BuildLineTable.tsx:41 msgid "Consumable" msgstr "" -#: src/tables/bom/BomTable.tsx:295 +#: src/tables/bom/BomTable.tsx:297 msgid "Show consumable items" msgstr "" -#: src/tables/bom/BomTable.tsx:299 +#: src/tables/bom/BomTable.tsx:301 msgid "Has Pricing" msgstr "" -#: src/tables/bom/BomTable.tsx:300 -msgid "Show items with pricing" -msgstr "" - #: src/tables/bom/BomTable.tsx:301 #~ msgid "Create BOM Item" #~ msgstr "Create BOM Item" -#: src/tables/bom/BomTable.tsx:309 -#: src/tables/bom/BomTable.tsx:397 +#: src/tables/bom/BomTable.tsx:302 +msgid "Show items with pricing" +msgstr "" + +#: src/tables/bom/BomTable.tsx:311 +#: src/tables/bom/BomTable.tsx:399 msgid "Add BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:314 +#: src/tables/bom/BomTable.tsx:316 msgid "BOM item created" msgstr "" -#: src/tables/bom/BomTable.tsx:321 +#: src/tables/bom/BomTable.tsx:323 msgid "Edit BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:323 +#: src/tables/bom/BomTable.tsx:325 msgid "BOM item updated" msgstr "" -#: src/tables/bom/BomTable.tsx:330 -msgid "Delete BOM Item" -msgstr "" - -#: src/tables/bom/BomTable.tsx:331 -msgid "BOM item deleted" -msgstr "" - #: src/tables/bom/BomTable.tsx:331 #~ msgid "Edit Bom Item" #~ msgstr "Edit Bom Item" +#: src/tables/bom/BomTable.tsx:332 +msgid "Delete BOM Item" +msgstr "" + +#: src/tables/bom/BomTable.tsx:333 +msgid "BOM item deleted" +msgstr "" + #: src/tables/bom/BomTable.tsx:333 #~ msgid "Bom item updated" #~ msgstr "Bom item updated" -#: src/tables/bom/BomTable.tsx:341 +#: src/tables/bom/BomTable.tsx:343 msgid "View BOM" msgstr "" @@ -4917,11 +5027,11 @@ msgstr "" #~ msgid "Are you sure you want to remove this BOM item?" #~ msgstr "Are you sure you want to remove this BOM item?" -#: src/tables/bom/BomTable.tsx:352 +#: src/tables/bom/BomTable.tsx:354 msgid "Validate BOM line" msgstr "" -#: src/tables/bom/BomTable.tsx:360 +#: src/tables/bom/BomTable.tsx:362 msgid "Edit Substitutes" msgstr "" @@ -5038,11 +5148,11 @@ msgid "Filter by responsible owner" msgstr "" #: src/tables/build/BuildOutputTable.tsx:114 -#: src/tables/build/BuildOutputTable.tsx:150 +#: src/tables/build/BuildOutputTable.tsx:152 msgid "Add Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:155 +#: src/tables/build/BuildOutputTable.tsx:157 msgid "Complete selected outputs" msgstr "" @@ -5050,68 +5160,68 @@ msgstr "" #~ msgid "Delete build output" #~ msgstr "Delete build output" -#: src/tables/build/BuildOutputTable.tsx:165 +#: src/tables/build/BuildOutputTable.tsx:167 msgid "Scrap selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:175 +#: src/tables/build/BuildOutputTable.tsx:177 msgid "Cancel selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:191 +#: src/tables/build/BuildOutputTable.tsx:193 msgid "Allocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:192 +#: src/tables/build/BuildOutputTable.tsx:194 msgid "Allocate stock to build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:197 +#: src/tables/build/BuildOutputTable.tsx:199 msgid "Deallocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:198 +#: src/tables/build/BuildOutputTable.tsx:200 msgid "Deallocate stock from build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:203 +#: src/tables/build/BuildOutputTable.tsx:205 msgid "Complete" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:204 +#: src/tables/build/BuildOutputTable.tsx:206 msgid "Complete build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:213 +#: src/tables/build/BuildOutputTable.tsx:215 msgid "Scrap" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:214 +#: src/tables/build/BuildOutputTable.tsx:216 msgid "Scrap build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:224 +#: src/tables/build/BuildOutputTable.tsx:226 msgid "Cancel build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:251 +#: src/tables/build/BuildOutputTable.tsx:253 msgid "Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:264 +#: src/tables/build/BuildOutputTable.tsx:266 msgid "Batch" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:278 +#: src/tables/build/BuildOutputTable.tsx:280 msgid "Allocated Items" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:288 +#: src/tables/build/BuildOutputTable.tsx:290 msgid "Required Tests" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:317 -#: src/tables/stock/StockItemTestResultTable.tsx:146 +#: src/tables/build/BuildOutputTable.tsx:319 +#: src/tables/stock/StockItemTestResultTable.tsx:144 msgid "Test Results" msgstr "" @@ -5132,7 +5242,7 @@ msgstr "" msgid "Delete Address" msgstr "" -#: src/tables/company/AddressTable.tsx:145 +#: src/tables/company/AddressTable.tsx:144 msgid "Are you sure you want to delete this address?" msgstr "" @@ -5177,36 +5287,52 @@ msgstr "" msgid "Add contact" msgstr "" -#: src/tables/general/AttachmentTable.tsx:161 +#: src/tables/general/AttachmentTable.tsx:130 msgid "File uploaded" msgstr "" -#: src/tables/general/AttachmentTable.tsx:162 +#: src/tables/general/AttachmentTable.tsx:131 msgid "File {0} uploaded successfully" msgstr "" -#: src/tables/general/AttachmentTable.tsx:173 +#: src/tables/general/AttachmentTable.tsx:142 msgid "Upload Error" msgstr "" -#: src/tables/general/AttachmentTable.tsx:174 +#: src/tables/general/AttachmentTable.tsx:143 msgid "File could not be uploaded" msgstr "" #: src/tables/general/AttachmentTable.tsx:187 +msgid "Upload Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:197 +msgid "Edit Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:211 +msgid "Delete Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:221 msgid "Add attachment" msgstr "" -#: src/tables/general/AttachmentTable.tsx:207 +#: src/tables/general/AttachmentTable.tsx:232 msgid "Add external link" msgstr "" -#: src/tables/general/AttachmentTable.tsx:239 +#: src/tables/general/AttachmentTable.tsx:254 +#~ msgid "Upload attachment" +#~ msgstr "Upload attachment" + +#: src/tables/general/AttachmentTable.tsx:289 msgid "No attachments found" msgstr "" -#: src/tables/general/AttachmentTable.tsx:254 -msgid "Upload attachment" +#: src/tables/general/AttachmentTable.tsx:325 +msgid "Drag attachment file here to upload" msgstr "" #: src/tables/machine/MachineListTable.tsx:199 @@ -5332,8 +5458,8 @@ msgstr "" #: src/tables/machine/MachineTypeTable.tsx:135 #: src/tables/machine/MachineTypeTable.tsx:255 -#: src/tables/plugin/PluginListTable.tsx:215 -#: src/tables/plugin/PluginListTable.tsx:643 +#: src/tables/plugin/PluginListTable.tsx:180 +#: src/tables/plugin/PluginListTable.tsx:568 msgid "Builtin" msgstr "" @@ -5375,7 +5501,7 @@ msgid "Message" msgstr "" #: src/tables/part/ParametricPartTable.tsx:75 -#: src/tables/part/PartParameterTable.tsx:87 +#: src/tables/part/PartParameterTable.tsx:88 msgid "Internal Units" msgstr "" @@ -5388,29 +5514,29 @@ msgid "Add Part Parameter" msgstr "" #: src/tables/part/ParametricPartTable.tsx:147 -#: src/tables/part/PartParameterTable.tsx:128 -#: src/tables/part/PartParameterTable.tsx:150 +#: src/tables/part/PartParameterTable.tsx:121 +#: src/tables/part/PartParameterTable.tsx:144 msgid "Edit Part Parameter" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:64 +#: src/tables/part/PartCategoryTable.tsx:60 #: src/tables/part/PartTable.tsx:180 msgid "Include Subcategories" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:65 +#: src/tables/part/PartCategoryTable.tsx:61 msgid "Include subcategories in results" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:70 +#: src/tables/part/PartCategoryTable.tsx:66 msgid "Show structural categories" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:77 +#: src/tables/part/PartCategoryTable.tsx:73 msgid "New Part Category" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:106 +#: src/tables/part/PartCategoryTable.tsx:98 msgid "Add Part Category" msgstr "" @@ -5435,20 +5561,20 @@ msgstr "" #~ msgid "[{0}]" #~ msgstr "[{0}]" -#: src/tables/part/PartParameterTable.tsx:112 +#: src/tables/part/PartParameterTable.tsx:105 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:136 -#: src/tables/part/PartParameterTable.tsx:158 +#: src/tables/part/PartParameterTable.tsx:130 +#: src/tables/part/PartParameterTable.tsx:152 msgid "Delete Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:175 +#: src/tables/part/PartParameterTable.tsx:170 msgid "Add parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:196 +#: src/tables/part/PartParameterTable.tsx:191 #: src/tables/stock/StockItemTable.tsx:300 msgid "Include Variants" msgstr "" @@ -5482,15 +5608,15 @@ msgstr "" msgid "Add Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:97 +#: src/tables/part/PartParameterTemplateTable.tsx:100 msgid "Edit Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:105 +#: src/tables/part/PartParameterTemplateTable.tsx:111 msgid "Delete Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:135 +#: src/tables/part/PartParameterTemplateTable.tsx:141 msgid "Add parameter template" msgstr "" @@ -5588,7 +5714,7 @@ msgid "No Results" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:79 -#: src/tables/stock/StockItemTestResultTable.tsx:385 +#: src/tables/stock/StockItemTestResultTable.tsx:376 msgid "Required" msgstr "" @@ -5597,8 +5723,8 @@ msgid "Show required tests" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:84 -#: src/tables/settings/TemplateTable.tsx:213 -#: src/tables/settings/TemplateTable.tsx:275 +#: src/tables/settings/TemplateTable.tsx:160 +#: src/tables/settings/TemplateTable.tsx:270 msgid "Enabled" msgstr "" @@ -5639,26 +5765,30 @@ msgid "Show tests which have recorded results" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:126 -#: src/tables/part/PartTestTemplateTable.tsx:195 +#: src/tables/part/PartTestTemplateTable.tsx:201 msgid "Add Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:139 +#: src/tables/part/PartTestTemplateTable.tsx:142 msgid "Edit Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:147 +#: src/tables/part/PartTestTemplateTable.tsx:153 msgid "Delete Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:149 +#: src/tables/part/PartTestTemplateTable.tsx:155 msgid "This action cannot be reversed" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:151 +#: src/tables/part/PartTestTemplateTable.tsx:157 msgid "Any tests results associated with this template will be deleted" msgstr "" +#: src/tables/part/PartThumbTable.tsx:203 +msgid "Select" +msgstr "" + #: src/tables/part/PartVariantTable.tsx:16 msgid "Show active variants" msgstr "" @@ -5695,252 +5825,273 @@ msgstr "" msgid "Stage" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:113 -msgid "Plugin with id {id} not found" +#: src/tables/plugin/PluginListTable.tsx:95 +msgid "Plugin with key {pluginKey} not found" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:115 +#: src/tables/plugin/PluginListTable.tsx:97 msgid "An error occurred while fetching plugin details" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:134 -msgid "Plugin Actions" -msgstr "" +#: src/tables/plugin/PluginListTable.tsx:113 +#~ msgid "Plugin with id {id} not found" +#~ msgstr "Plugin with id {id} not found" -#: src/tables/plugin/PluginListTable.tsx:138 -#: src/tables/plugin/PluginListTable.tsx:141 -msgid "Edit plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:152 -#: src/tables/plugin/PluginListTable.tsx:153 -msgid "Reload" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:166 +#: src/tables/plugin/PluginListTable.tsx:122 msgid "Plugin information" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:177 +#: src/tables/plugin/PluginListTable.tsx:134 msgid "Author" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:198 +#: src/tables/plugin/PluginListTable.tsx:134 +#~ msgid "Plugin Actions" +#~ msgstr "Plugin Actions" + +#: src/tables/plugin/PluginListTable.tsx:138 +#: src/tables/plugin/PluginListTable.tsx:141 +#~ msgid "Edit plugin" +#~ msgstr "Edit plugin" + +#: src/tables/plugin/PluginListTable.tsx:152 +#: src/tables/plugin/PluginListTable.tsx:153 +#~ msgid "Reload" +#~ msgstr "Reload" + +#: src/tables/plugin/PluginListTable.tsx:154 +msgid "Plugin is not active" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:163 msgid "Package information" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:204 +#: src/tables/plugin/PluginListTable.tsx:169 msgid "Package Name" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:210 +#: src/tables/plugin/PluginListTable.tsx:175 msgid "Installation Path" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:220 +#: src/tables/plugin/PluginListTable.tsx:185 msgid "Package" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:231 +#: src/tables/plugin/PluginListTable.tsx:197 msgid "Plugin settings" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:248 +#: src/tables/plugin/PluginListTable.tsx:214 msgid "Plugin is active" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:254 +#: src/tables/plugin/PluginListTable.tsx:220 msgid "Plugin is inactive" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:261 +#: src/tables/plugin/PluginListTable.tsx:227 msgid "Plugin is not installed" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:287 +#: src/tables/plugin/PluginListTable.tsx:253 msgid "Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:312 +#: src/tables/plugin/PluginListTable.tsx:287 msgid "Description not available" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:338 +#: src/tables/plugin/PluginListTable.tsx:319 +msgid "Confirm plugin activation" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:320 +msgid "Confirm plugin deactivation" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:325 +msgid "The selected plugin will be activated" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:326 +msgid "The selected plugin will be deactivated" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:334 msgid "Activate Plugin" msgstr "" #: src/tables/plugin/PluginListTable.tsx:338 -msgid "Deactivate Plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:347 -msgid "Confirm plugin activation" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:348 -msgid "Confirm plugin deactivation" -msgstr "" +#~ msgid "Deactivate Plugin" +#~ msgstr "Deactivate Plugin" #: src/tables/plugin/PluginListTable.tsx:354 -msgid "The following plugin will be activated" -msgstr "" +#~ msgid "The following plugin will be activated" +#~ msgstr "The following plugin will be activated" #: src/tables/plugin/PluginListTable.tsx:355 -msgid "The following plugin will be deactivated" -msgstr "" +#~ msgid "The following plugin will be deactivated" +#~ msgstr "The following plugin will be deactivated" -#: src/tables/plugin/PluginListTable.tsx:366 -msgid "Confirm" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:376 -msgid "Activating plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:376 -msgid "Deactivating plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:392 -msgid "Plugin updated" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:394 -msgid "The plugin was activated" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:395 -msgid "The plugin was deactivated" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:403 -msgid "Error updating plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:423 +#: src/tables/plugin/PluginListTable.tsx:362 msgid "Deactivate" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:432 +#: src/tables/plugin/PluginListTable.tsx:366 +#~ msgid "Confirm" +#~ msgstr "Confirm" + +#: src/tables/plugin/PluginListTable.tsx:373 msgid "Activate" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:463 +#: src/tables/plugin/PluginListTable.tsx:376 +#~ msgid "Activating plugin" +#~ msgstr "Activating plugin" + +#: src/tables/plugin/PluginListTable.tsx:376 +#~ msgid "Deactivating plugin" +#~ msgstr "Deactivating plugin" + +#: src/tables/plugin/PluginListTable.tsx:392 +#~ msgid "Plugin updated" +#~ msgstr "Plugin updated" + +#: src/tables/plugin/PluginListTable.tsx:394 +#~ msgid "The plugin was activated" +#~ msgstr "The plugin was activated" + +#: src/tables/plugin/PluginListTable.tsx:395 +#~ msgid "The plugin was deactivated" +#~ msgstr "The plugin was deactivated" + +#: src/tables/plugin/PluginListTable.tsx:403 +#~ msgid "Error updating plugin" +#~ msgstr "Error updating plugin" + +#: src/tables/plugin/PluginListTable.tsx:406 msgid "Uninstall" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:495 +#: src/tables/plugin/PluginListTable.tsx:438 msgid "Install plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:508 +#: src/tables/plugin/PluginListTable.tsx:451 msgid "Install" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:512 +#: src/tables/plugin/PluginListTable.tsx:452 msgid "Plugin installed successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:525 +#: src/tables/plugin/PluginListTable.tsx:457 msgid "Uninstall Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:537 +#: src/tables/plugin/PluginListTable.tsx:469 msgid "Confirm plugin uninstall" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:540 +#: src/tables/plugin/PluginListTable.tsx:472 msgid "The selected plugin will be uninstalled." msgstr "" -#: src/tables/plugin/PluginListTable.tsx:541 +#: src/tables/plugin/PluginListTable.tsx:473 msgid "This action cannot be undone." msgstr "" -#: src/tables/plugin/PluginListTable.tsx:547 +#: src/tables/plugin/PluginListTable.tsx:477 msgid "Plugin uninstalled successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:560 +#: src/tables/plugin/PluginListTable.tsx:484 msgid "Delete Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:562 +#: src/tables/plugin/PluginListTable.tsx:485 msgid "Deleting this plugin configuration will remove all associated settings and data. Are you sure you want to delete this plugin?" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:574 +#: src/tables/plugin/PluginListTable.tsx:498 msgid "Plugins reloaded" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:575 +#: src/tables/plugin/PluginListTable.tsx:499 msgid "Plugins were reloaded successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:591 +#: src/tables/plugin/PluginListTable.tsx:515 msgid "Reload Plugins" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:600 +#: src/tables/plugin/PluginListTable.tsx:524 msgid "Install Plugin" msgstr "" +#: src/tables/plugin/PluginListTable.tsx:544 +msgid "Plugin Detail" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:573 +msgid "Sample" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:578 +#: src/tables/stock/StockItemTable.tsx:305 +msgid "Installed" +msgstr "" + #: src/tables/plugin/PluginListTable.tsx:615 #~ msgid "Plugin detail" #~ msgstr "Plugin detail" -#: src/tables/plugin/PluginListTable.tsx:619 -msgid "Plugin Detail" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:648 -msgid "Sample" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:653 -#: src/tables/stock/StockItemTable.tsx:305 -msgid "Installed" -msgstr "" - -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:57 -msgid "Edit Parameter" +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:59 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:108 +msgid "Add Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:60 -msgid "Parameter updated" -msgstr "" +#~ msgid "Parameter updated" +#~ msgstr "Parameter updated" -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:71 -msgid "Delete Parameter" +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:70 +msgid "Edit Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:73 -msgid "Parameter deleted" -msgstr "" +#~ msgid "Parameter deleted" +#~ msgstr "Parameter deleted" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:74 -msgid "Are you sure you want to delete this parameter?" +#~ msgid "Are you sure you want to delete this parameter?" +#~ msgstr "Are you sure you want to delete this parameter?" + +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:78 +msgid "Delete Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartTable.tsx:63 #~ msgid "Create Manufacturer Part" #~ msgstr "Create Manufacturer Part" -#: src/tables/purchasing/ManufacturerPartTable.tsx:100 -msgid "Manufacturer part updated" -msgstr "" - -#: src/tables/purchasing/ManufacturerPartTable.tsx:111 +#: src/tables/purchasing/ManufacturerPartTable.tsx:92 msgid "Delete Manufacturer Part" msgstr "" +#: src/tables/purchasing/ManufacturerPartTable.tsx:100 +#~ msgid "Manufacturer part updated" +#~ msgstr "Manufacturer part updated" + #: src/tables/purchasing/ManufacturerPartTable.tsx:112 -msgid "Manufacturer part deleted" -msgstr "" +#~ msgid "Manufacturer part deleted" +#~ msgstr "Manufacturer part deleted" #: src/tables/purchasing/ManufacturerPartTable.tsx:114 -msgid "Are you sure you want to remove this manufacturer part?" -msgstr "" +#~ msgid "Are you sure you want to remove this manufacturer part?" +#~ msgstr "Are you sure you want to remove this manufacturer part?" #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:86 msgid "Part Description" @@ -6087,18 +6238,22 @@ msgid "Error Information" msgstr "" #: src/tables/settings/ErrorTable.tsx:51 -msgid "Delete error report" +msgid "Delete Error Report" msgstr "" +#: src/tables/settings/ErrorTable.tsx:51 +#~ msgid "Delete error report" +#~ msgstr "Delete error report" + #: src/tables/settings/ErrorTable.tsx:53 -msgid "Error report deleted" -msgstr "" - -#: src/tables/settings/ErrorTable.tsx:54 msgid "Are you sure you want to delete this error report?" msgstr "" -#: src/tables/settings/ErrorTable.tsx:67 +#: src/tables/settings/ErrorTable.tsx:55 +msgid "Error report deleted" +msgstr "" + +#: src/tables/settings/ErrorTable.tsx:77 #: src/tables/settings/FailedTasksTable.tsx:57 msgid "Error Details" msgstr "" @@ -6115,7 +6270,7 @@ msgid "Task ID" msgstr "" #: src/tables/settings/FailedTasksTable.tsx:34 -#: src/tables/stock/StockItemTestResultTable.tsx:214 +#: src/tables/stock/StockItemTestResultTable.tsx:205 msgid "Started" msgstr "" @@ -6188,30 +6343,71 @@ msgstr "" msgid "Next Run" msgstr "" -#: src/tables/settings/TemplateTable.tsx:120 -msgid "{templateTypeTranslation} with id {id} not found" +#: src/tables/settings/TemplateTable.tsx:82 +msgid "Template not found" msgstr "" +#: src/tables/settings/TemplateTable.tsx:84 +msgid "An error occurred while fetching template details" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:120 +#~ msgid "{templateTypeTranslation} with id {id} not found" +#~ msgstr "{templateTypeTranslation} with id {id} not found" + #: src/tables/settings/TemplateTable.tsx:124 -msgid "An error occurred while fetching {templateTypeTranslation} details" -msgstr "" +#~ msgid "An error occurred while fetching {templateTypeTranslation} details" +#~ msgstr "An error occurred while fetching {templateTypeTranslation} details" #: src/tables/settings/TemplateTable.tsx:146 -msgid "actions" +#~ msgid "actions" +#~ msgstr "actions" + +#: src/tables/settings/TemplateTable.tsx:170 +msgid "Modify" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:171 +msgid "Modify template file" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:222 +#: src/tables/settings/TemplateTable.tsx:289 +msgid "Edit Template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:230 +msgid "Delete template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:236 +msgid "Add Template" msgstr "" #: src/tables/settings/TemplateTable.tsx:243 -msgid "Add new" -msgstr "" +#~ msgid "Add new" +#~ msgstr "Add new" #: src/tables/settings/TemplateTable.tsx:243 #~ msgid "Create new" #~ msgstr "Create new" -#: src/tables/settings/TemplateTable.tsx:276 +#: src/tables/settings/TemplateTable.tsx:249 +msgid "Add template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:271 msgid "Filter by enabled status" msgstr "" +#: src/tables/settings/TemplateTable.tsx:276 +msgid "Model Type" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:277 +msgid "Filter by target model type" +msgstr "" + #: src/tables/settings/UserTable.tsx:79 msgid "User with id {id} not found" msgstr "" @@ -6277,6 +6473,23 @@ msgstr "" msgid "Edit user" msgstr "" +#: src/tables/stock/LocationTypesTable.tsx:36 +#: src/tables/stock/LocationTypesTable.tsx:105 +msgid "Add Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:44 +msgid "Edit Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:52 +msgid "Delete Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:69 +msgid "Icon" +msgstr "" + #: src/tables/stock/StockItemTable.tsx:90 msgid "This stock item is in production" msgstr "" @@ -6338,7 +6551,7 @@ msgid "Show items which are available" msgstr "" #: src/tables/stock/StockItemTable.tsx:280 -#: src/tables/stock/StockLocationTable.tsx:37 +#: src/tables/stock/StockLocationTable.tsx:33 msgid "Include Sublocations" msgstr "" @@ -6467,123 +6680,135 @@ msgstr "" msgid "Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:153 +#: src/tables/stock/StockItemTestResultTable.tsx:151 msgid "Test result for installed stock item" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:164 +#: src/tables/stock/StockItemTestResultTable.tsx:162 msgid "Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:170 +#: src/tables/stock/StockItemTestResultTable.tsx:168 msgid "No Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:186 +#: src/tables/stock/StockItemTestResultTable.tsx:184 msgid "Attachment" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:209 +#: src/tables/stock/StockItemTestResultTable.tsx:200 msgid "Test station" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:229 +#: src/tables/stock/StockItemTestResultTable.tsx:220 msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:277 -#: src/tables/stock/StockItemTestResultTable.tsx:349 -#: src/tables/stock/StockItemTestResultTable.tsx:404 +#: src/tables/stock/StockItemTestResultTable.tsx:268 +#: src/tables/stock/StockItemTestResultTable.tsx:340 +#: src/tables/stock/StockItemTestResultTable.tsx:395 msgid "Add Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:279 +#: src/tables/stock/StockItemTestResultTable.tsx:270 msgid "Test result added" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:288 -#: src/tables/stock/StockItemTestResultTable.tsx:359 +#: src/tables/stock/StockItemTestResultTable.tsx:279 +#: src/tables/stock/StockItemTestResultTable.tsx:350 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:290 +#: src/tables/stock/StockItemTestResultTable.tsx:281 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:296 -#: src/tables/stock/StockItemTestResultTable.tsx:368 +#: src/tables/stock/StockItemTestResultTable.tsx:287 +#: src/tables/stock/StockItemTestResultTable.tsx:359 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:298 +#: src/tables/stock/StockItemTestResultTable.tsx:289 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:312 +#: src/tables/stock/StockItemTestResultTable.tsx:303 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:313 +#: src/tables/stock/StockItemTestResultTable.tsx:304 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:320 +#: src/tables/stock/StockItemTestResultTable.tsx:311 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:337 +#: src/tables/stock/StockItemTestResultTable.tsx:328 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:386 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:390 +#: src/tables/stock/StockItemTestResultTable.tsx:381 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:391 +#: src/tables/stock/StockItemTestResultTable.tsx:382 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:395 +#: src/tables/stock/StockItemTestResultTable.tsx:386 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:396 +#: src/tables/stock/StockItemTestResultTable.tsx:387 msgid "Show only passed tests" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:38 +#: src/tables/stock/StockLocationTable.tsx:34 msgid "Include sublocations in results" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:42 +#: src/tables/stock/StockLocationTable.tsx:38 msgid "structural" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:43 +#: src/tables/stock/StockLocationTable.tsx:39 msgid "Show structural locations" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:47 +#: src/tables/stock/StockLocationTable.tsx:43 msgid "external" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:48 +#: src/tables/stock/StockLocationTable.tsx:44 msgid "Show external locations" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:52 +#: src/tables/stock/StockLocationTable.tsx:48 msgid "Has location type" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:89 -#: src/tables/stock/StockLocationTable.tsx:118 +#: src/tables/stock/StockLocationTable.tsx:85 +#: src/tables/stock/StockLocationTable.tsx:110 msgid "Add Stock Location" msgstr "" +#: src/tables/stock/StockTrackingTable.tsx:64 +msgid "Added" +msgstr "" + +#: src/tables/stock/StockTrackingTable.tsx:69 +msgid "Removed" +msgstr "" + +#: src/tables/stock/StockTrackingTable.tsx:198 +msgid "No user information" +msgstr "" + #: src/views/MobileAppView.tsx:22 msgid "Mobile viewport detected" msgstr "" diff --git a/src/frontend/src/locales/cs/messages.po b/src/frontend/src/locales/cs/messages.po index 556cf3cd75..4d0d090d2a 100644 --- a/src/frontend/src/locales/cs/messages.po +++ b/src/frontend/src/locales/cs/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: cs\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-05-13 02:48\n" +"PO-Revision-Date: 2024-05-23 11:38\n" "Last-Translator: \n" "Language-Team: Czech\n" "Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n" @@ -30,10 +30,67 @@ msgstr "" msgid "Title" msgstr "Titulek" +#: src/components/buttons/AdminButton.tsx:83 +msgid "Open in admin interface" +msgstr "" + #: src/components/buttons/CopyButton.tsx:18 msgid "Copy to clipboard" msgstr "Zkopírovat do schránky" +#: src/components/buttons/PrintingActions.tsx:95 +msgid "Print Label" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:101 +msgid "Label printing completed successfully" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:106 +#: src/components/buttons/PrintingActions.tsx:143 +#: src/components/forms/ApiForm.tsx:504 +#: src/components/forms/fields/ApiFormField.tsx:295 +#: src/components/modals/LicenseModal.tsx:75 +#: src/components/nav/SearchDrawer.tsx:413 +#: src/components/widgets/MarkdownEditor.tsx:107 +#: src/components/widgets/MarkdownEditor.tsx:153 +#: src/pages/ErrorPage.tsx:12 +#: src/pages/ErrorPage.tsx:25 +#: src/pages/part/PartPricingPanel.tsx:71 +#: src/tables/InvenTreeTable.tsx:451 +#: src/tables/InvenTreeTable.tsx:531 +#: src/tables/stock/StockItemTestResultTable.tsx:310 +msgid "Error" +msgstr "Chyba" + +#: src/components/buttons/PrintingActions.tsx:107 +msgid "The label could not be generated" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:122 +msgid "Print Report" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:138 +msgid "Report printing completed successfully" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:144 +msgid "The report could not be generated" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:171 +msgid "Printing Actions" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:176 +msgid "Print Labels" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:182 +msgid "Print Reports" +msgstr "" + #: src/components/buttons/ScanButton.tsx:15 msgid "Scan QR code" msgstr "Naskenovat QR kód" @@ -64,15 +121,15 @@ msgstr "Ano" msgid "No" msgstr "Ne" -#: src/components/details/Details.tsx:302 +#: src/components/details/Details.tsx:303 msgid "No name defined" msgstr "" -#: src/components/details/Details.tsx:339 +#: src/components/details/Details.tsx:340 msgid "Copied" msgstr "Zkopírováno" -#: src/components/details/Details.tsx:339 +#: src/components/details/Details.tsx:340 msgid "Copy" msgstr "Kopírovat" @@ -85,24 +142,23 @@ msgid "Remove the associated image from this item?" msgstr "Odstranit přidružený obrázek z této položky?" #: src/components/details/DetailsImage.tsx:71 -#: src/forms/StockForms.tsx:442 +#: src/forms/StockForms.tsx:483 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:448 +#: src/pages/stock/StockDetail.tsx:462 msgid "Remove" msgstr "Odstranit" #: src/components/details/DetailsImage.tsx:71 -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:163 -#: src/components/items/ActionDropdown.tsx:222 -#: src/components/items/ActionDropdown.tsx:223 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 +#: src/components/items/ActionDropdown.tsx:229 +#: src/components/items/ActionDropdown.tsx:230 #: src/contexts/ThemeContext.tsx:43 #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:40 -#: src/tables/FilterSelectDrawer.tsx:218 -#: src/tables/InvenTreeTable.tsx:493 -#: src/tables/build/BuildOutputTable.tsx:223 -#: src/tables/plugin/PluginListTable.tsx:365 +#: src/tables/FilterSelectDrawer.tsx:207 +#: src/tables/InvenTreeTable.tsx:499 +#: src/tables/build/BuildOutputTable.tsx:225 msgid "Cancel" msgstr "Zrušit" @@ -119,7 +175,7 @@ msgid "Clear" msgstr "Vymazat" #: src/components/details/DetailsImage.tsx:227 -#: src/components/forms/ApiForm.tsx:554 +#: src/components/forms/ApiForm.tsx:571 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:56 msgid "Submit" @@ -150,9 +206,10 @@ msgid "Part is not active" msgstr "Součást není aktivní" #: src/components/details/PartIcons.tsx:34 -#: src/pages/company/CompanyDetail.tsx:308 -#: src/pages/company/SupplierPartDetail.tsx:304 -#: src/pages/part/PartDetail.tsx:684 +#: src/components/render/Plugin.tsx:17 +#: src/pages/company/CompanyDetail.tsx:310 +#: src/pages/company/SupplierPartDetail.tsx:305 +#: src/pages/part/PartDetail.tsx:685 msgid "Inactive" msgstr "Neaktivní" @@ -196,10 +253,10 @@ msgid "Code" msgstr "Kód" #: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:44 -msgid "Failed to parse error response from server." -msgstr "Chyba při zpracování odpovědi ze serveru." +#~ msgid "Failed to parse error response from server." +#~ msgstr "Failed to parse error response from server." -#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:82 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:81 msgid "Preview not available, click \"Reload Preview\"." msgstr "Náhled není k dispozici, klikněte na \"Znovu načíst náhled\"." @@ -207,98 +264,99 @@ msgstr "Náhled není k dispozici, klikněte na \"Znovu načíst náhled\"." msgid "PDF Preview" msgstr "Náhled PDF" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:113 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:104 msgid "Error loading template" msgstr "Chyba při načítání šablony" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:125 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:116 msgid "Error saving template" msgstr "Chyba při ukládání šablony" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 -msgid "Save & Reload preview?" -msgstr "Uložit a znovu načíst náhled?" +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:146 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:270 +msgid "Save & Reload Preview" +msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:156 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 msgid "Are you sure you want to Save & Reload the preview?" msgstr "Opravdu chcete uložit a znovu načíst náhled?" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 +#~ msgid "Save & Reload preview?" +#~ msgstr "Save & Reload preview?" + +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:153 msgid "To render the preview the current template needs to be replaced on the server with your modifications which may break the label if it is under active use. Do you want to proceed?" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:162 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:157 msgid "Save & Reload" msgstr "Uložit a znovu načíst" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:191 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:189 msgid "Preview updated" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:192 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:190 msgid "The preview has been updated successfully." msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:255 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:262 msgid "Reload preview" msgstr "Aktualizovat náhled" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:256 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:263 msgid "Use the currently stored template from the server" msgstr "" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:263 -msgid "Save & Reload preview" -msgstr "Uložit a znovu načíst náhled" +#~ msgid "Save & Reload preview" +#~ msgstr "Save & Reload preview" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:264 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:271 msgid "Save the current template and reload the preview" msgstr "Uložit aktuální šablonu a znovu načíst náhled" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:322 -#: src/tables/part/PartThumbTable.tsx:203 -msgid "Select" -msgstr "Vybrat" +#~ msgid "to preview" +#~ msgstr "to preview" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:322 -msgid "to preview" -msgstr "náhled" +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:329 +msgid "Select instance to preview" +msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:366 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:373 msgid "Error rendering template" msgstr "" -#: src/components/forms/ApiForm.tsx:143 +#: src/components/forms/ApiForm.tsx:148 #: src/functions/forms.tsx:259 msgid "Form Error" msgstr "Chyba formuláře" -#: src/components/forms/ApiForm.tsx:411 +#: src/components/forms/ApiForm.tsx:428 #: src/components/widgets/MarkdownEditor.tsx:145 msgid "Success" msgstr "Dokončeno" #: src/components/forms/ApiForm.tsx:487 -msgid "Form Errors Exist" -msgstr "Došlo k chybám formuláře" +#~ msgid "Form Errors Exist" +#~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:592 -#: src/tables/plugin/PluginListTable.tsx:445 +#: src/components/forms/ApiForm.tsx:609 +#: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "Aktualizovat" -#: src/components/forms/ApiForm.tsx:612 -#: src/components/items/ActionDropdown.tsx:203 +#: src/components/forms/ApiForm.tsx:629 +#: src/components/items/ActionDropdown.tsx:210 #: src/functions/forms.tsx:299 #: src/hooks/UseForm.tsx:122 #: src/pages/Index/Scan.tsx:343 #: src/pages/Notifications.tsx:123 -#: src/tables/InvenTreeTable.tsx:492 +#: src/tables/InvenTreeTable.tsx:498 #: src/tables/RowActions.tsx:71 -#: src/tables/plugin/PluginListTable.tsx:477 -#: src/tables/settings/TemplateTable.tsx:105 -#: src/tables/settings/TemplateTable.tsx:154 -#: src/tables/settings/TemplateTable.tsx:236 +#: src/tables/plugin/PluginListTable.tsx:420 msgid "Delete" msgstr "Odstranit" @@ -468,18 +526,19 @@ msgstr "Server" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 -#: src/pages/part/CategoryDetail.tsx:77 -#: src/pages/part/PartDetail.tsx:125 -#: src/pages/stock/LocationDetail.tsx:83 +#: src/pages/part/CategoryDetail.tsx:78 +#: src/pages/part/PartDetail.tsx:126 +#: src/pages/stock/LocationDetail.tsx:85 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 #: src/tables/machine/MachineTypeTable.tsx:216 #: src/tables/machine/MachineTypeTable.tsx:319 #: src/tables/plugin/PluginErrorTable.tsx:33 -#: src/tables/plugin/PluginListTable.tsx:169 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:27 +#: src/tables/plugin/PluginListTable.tsx:126 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:32 #: src/tables/settings/GroupTable.tsx:103 #: src/tables/settings/PendingTasksTable.tsx:26 +#: src/tables/stock/LocationTypesTable.tsx:60 msgid "Name" msgstr "Jméno" @@ -520,35 +579,20 @@ msgstr "Název: {0}" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/ApiFormField.tsx:276 -#: src/components/modals/LicenseModal.tsx:75 -#: src/components/nav/SearchDrawer.tsx:413 -#: src/components/widgets/MarkdownEditor.tsx:107 -#: src/components/widgets/MarkdownEditor.tsx:153 -#: src/pages/ErrorPage.tsx:12 -#: src/pages/ErrorPage.tsx:25 -#: src/pages/part/PartPricingPanel.tsx:71 -#: src/tables/InvenTreeTable.tsx:445 -#: src/tables/InvenTreeTable.tsx:525 -#: src/tables/plugin/PluginListTable.tsx:402 -#: src/tables/stock/StockItemTestResultTable.tsx:319 -msgid "Error" -msgstr "Chyba" - -#: src/components/forms/fields/RelatedModelField.tsx:305 +#: src/components/forms/fields/RelatedModelField.tsx:315 #: src/pages/Index/Settings/UserSettings.tsx:64 #: src/tables/Search.tsx:23 msgid "Search" msgstr "Hledat" -#: src/components/forms/fields/RelatedModelField.tsx:306 +#: src/components/forms/fields/RelatedModelField.tsx:316 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:120 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "Načítání" -#: src/components/forms/fields/RelatedModelField.tsx:308 +#: src/components/forms/fields/RelatedModelField.tsx:318 msgid "No results found" msgstr "Nebyly nalezeny žádné výsledky" @@ -569,54 +613,51 @@ msgstr "Nejsou žádné záznamy" msgid "Thumbnail" msgstr "Náhled" -#: src/components/items/ActionDropdown.tsx:112 -#: src/pages/build/BuildDetail.tsx:354 +#: src/components/items/ActionDropdown.tsx:119 +#: src/pages/build/BuildDetail.tsx:360 msgid "Barcode Actions" msgstr "Akce čárového kódu" -#: src/components/items/ActionDropdown.tsx:129 +#: src/components/items/ActionDropdown.tsx:136 msgid "View" msgstr "Zobrazit" -#: src/components/items/ActionDropdown.tsx:130 +#: src/components/items/ActionDropdown.tsx:137 msgid "View barcode" msgstr "Zobrazit čárový kód" -#: src/components/items/ActionDropdown.tsx:146 +#: src/components/items/ActionDropdown.tsx:153 msgid "Link Barcode" msgstr "Přiřadit čárový kód" -#: src/components/items/ActionDropdown.tsx:147 +#: src/components/items/ActionDropdown.tsx:154 msgid "Link custom barcode" msgstr "Přiřadit vlatní čárový kód" -#: src/components/items/ActionDropdown.tsx:163 -#: src/forms/PurchaseOrderForms.tsx:375 +#: src/components/items/ActionDropdown.tsx:170 +#: src/forms/PurchaseOrderForms.tsx:389 msgid "Unlink Barcode" msgstr "Odstranit čárový kód" -#: src/components/items/ActionDropdown.tsx:164 +#: src/components/items/ActionDropdown.tsx:171 msgid "Unlink custom barcode" msgstr "Odstranit vlastní čárový kód" -#: src/components/items/ActionDropdown.tsx:182 +#: src/components/items/ActionDropdown.tsx:189 #: src/tables/RowActions.tsx:51 -#: src/tables/settings/TemplateTable.tsx:87 -#: src/tables/settings/TemplateTable.tsx:150 -#: src/tables/settings/TemplateTable.tsx:287 msgid "Edit" msgstr "Upravit" -#: src/components/items/ActionDropdown.tsx:204 +#: src/components/items/ActionDropdown.tsx:211 msgid "Delete item" msgstr "Smazat položku" -#: src/components/items/ActionDropdown.tsx:241 +#: src/components/items/ActionDropdown.tsx:248 #: src/tables/RowActions.tsx:31 msgid "Duplicate" msgstr "Duplikovat" -#: src/components/items/ActionDropdown.tsx:242 +#: src/components/items/ActionDropdown.tsx:249 msgid "Duplicate item" msgstr "Duplikovat produkt" @@ -625,7 +666,7 @@ msgid "Read More" msgstr "Zjistit více" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:437 +#: src/tables/InvenTreeTable.tsx:443 msgid "Unknown error" msgstr "Neznámá chyba" @@ -785,27 +826,27 @@ msgstr "" #: src/components/modals/QrCodeModal.tsx:154 #: src/defaults/menuItems.tsx:21 -#: src/pages/Index/Scan.tsx:747 +#: src/pages/Index/Scan.tsx:746 msgid "Scanning" msgstr "Skenování" #: src/components/modals/QrCodeModal.tsx:154 -#: src/pages/Index/Scan.tsx:747 +#: src/pages/Index/Scan.tsx:746 msgid "Not scanning" msgstr "Není skenováno" #: src/components/modals/QrCodeModal.tsx:159 -#: src/pages/Index/Scan.tsx:753 +#: src/pages/Index/Scan.tsx:752 msgid "Select Camera" msgstr "" #: src/components/modals/QrCodeModal.tsx:169 -#: src/pages/Index/Scan.tsx:738 +#: src/pages/Index/Scan.tsx:737 msgid "Start scanning" msgstr "Začít skenovat" #: src/components/modals/QrCodeModal.tsx:176 -#: src/pages/Index/Scan.tsx:730 +#: src/pages/Index/Scan.tsx:729 msgid "Stop scanning" msgstr "Zastavit skenování" @@ -891,8 +932,8 @@ msgid "Email settings not configured" msgstr "Email není nakonfigurován" #: src/components/modals/ServerInfoModal.tsx:121 -#: src/tables/plugin/PluginListTable.tsx:187 -#: src/tables/plugin/PluginListTable.tsx:319 +#: src/tables/plugin/PluginListTable.tsx:144 +#: src/tables/plugin/PluginListTable.tsx:294 msgid "Version" msgstr "Verze" @@ -926,13 +967,13 @@ msgstr "Nastavení účtu" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:293 +#: src/pages/Index/Settings/SystemSettings.tsx:294 msgid "System Settings" msgstr "Nastavení systému" #: src/components/nav/MainMenu.tsx:67 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:172 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 msgid "Admin Center" msgstr "Centrum správce" @@ -975,7 +1016,7 @@ msgid "Pages" msgstr "Stránky" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:133 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:153 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "Pluginy" @@ -1013,9 +1054,9 @@ msgid "Mark as read" msgstr "Označit jako přečtené" #: src/components/nav/PartCategoryTree.tsx:158 -#: src/components/render/ModelType.tsx:60 +#: src/components/render/ModelType.tsx:64 #: src/pages/Index/Settings/SystemSettings.tsx:162 -#: src/pages/part/CategoryDetail.tsx:248 +#: src/pages/part/CategoryDetail.tsx:249 msgid "Part Categories" msgstr "" @@ -1052,142 +1093,147 @@ msgid "No results available for search query" msgstr "" #: src/components/nav/StockLocationTree.tsx:93 -#: src/components/render/ModelType.tsx:76 -#: src/pages/stock/LocationDetail.tsx:175 +#: src/components/render/ModelType.tsx:82 +#: src/pages/stock/LocationDetail.tsx:185 msgid "Stock Locations" msgstr "" -#: src/components/render/Instance.tsx:137 +#: src/components/render/Instance.tsx:166 msgid "Unknown model: {model}" msgstr "" -#: src/components/render/ModelType.tsx:21 -#: src/forms/BuildForms.tsx:184 -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49 +#: src/components/render/ModelType.tsx:22 +#: src/forms/BuildForms.tsx:201 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:83 #: src/pages/part/PartDetail.tsx:828 #: src/tables/part/RelatedPartTable.tsx:45 +#: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" msgstr "Díl" -#: src/components/render/ModelType.tsx:22 +#: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 #: src/pages/Index/Settings/SystemSettings.tsx:167 -#: src/pages/part/CategoryDetail.tsx:109 -#: src/pages/part/CategoryDetail.tsx:234 -#: src/pages/part/CategoryDetail.tsx:264 -#: src/pages/part/PartDetail.tsx:638 +#: src/pages/part/CategoryDetail.tsx:110 +#: src/pages/part/CategoryDetail.tsx:235 +#: src/pages/part/CategoryDetail.tsx:265 +#: src/pages/part/PartDetail.tsx:639 msgid "Parts" msgstr "Díly" -#: src/components/render/ModelType.tsx:29 +#: src/components/render/ModelType.tsx:31 msgid "Part Parameter Template" msgstr "Šablona parametru dílu" -#: src/components/render/ModelType.tsx:30 +#: src/components/render/ModelType.tsx:32 msgid "Part Parameter Templates" msgstr "" -#: src/components/render/ModelType.tsx:36 +#: src/components/render/ModelType.tsx:38 msgid "Part Test Template" msgstr "" -#: src/components/render/ModelType.tsx:37 +#: src/components/render/ModelType.tsx:39 msgid "Part Test Templates" msgstr "" -#: src/components/render/ModelType.tsx:43 -#: src/pages/company/SupplierPartDetail.tsx:189 -#: src/pages/company/SupplierPartDetail.tsx:317 -#: src/pages/stock/StockDetail.tsx:159 +#: src/components/render/ModelType.tsx:45 +#: src/pages/company/SupplierPartDetail.tsx:190 +#: src/pages/company/SupplierPartDetail.tsx:318 +#: src/pages/stock/StockDetail.tsx:162 #: src/tables/purchasing/SupplierPartTable.tsx:68 msgid "Supplier Part" msgstr "Dodavatel dílu" -#: src/components/render/ModelType.tsx:44 +#: src/components/render/ModelType.tsx:46 msgid "Supplier Parts" msgstr "" -#: src/components/render/ModelType.tsx:51 -#: src/pages/company/ManufacturerPartDetail.tsx:124 +#: src/components/render/ModelType.tsx:54 +#: src/pages/company/ManufacturerPartDetail.tsx:125 msgid "Manufacturer Part" msgstr "" -#: src/components/render/ModelType.tsx:52 +#: src/components/render/ModelType.tsx:55 msgid "Manufacturer Parts" msgstr "" -#: src/components/render/ModelType.tsx:59 -#: src/pages/part/CategoryDetail.tsx:287 +#: src/components/render/ModelType.tsx:63 +#: src/pages/part/CategoryDetail.tsx:288 msgid "Part Category" msgstr "" -#: src/components/render/ModelType.tsx:67 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67 -#: src/pages/stock/StockDetail.tsx:535 +#: src/components/render/ModelType.tsx:72 +#: src/pages/stock/StockDetail.tsx:548 +#: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" msgstr "Skladová položka" -#: src/components/render/ModelType.tsx:68 -#: src/pages/company/CompanyDetail.tsx:197 -#: src/pages/stock/LocationDetail.tsx:116 -#: src/pages/stock/LocationDetail.tsx:161 +#: src/components/render/ModelType.tsx:73 +#: src/pages/company/CompanyDetail.tsx:199 +#: src/pages/stock/LocationDetail.tsx:118 +#: src/pages/stock/LocationDetail.tsx:171 #: src/pages/stock/LocationDetail.tsx:365 msgid "Stock Items" msgstr "Skladové položky" -#: src/components/render/ModelType.tsx:75 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:154 +#: src/components/render/ModelType.tsx:81 msgid "Stock Location" msgstr "Umístění skladu" -#: src/components/render/ModelType.tsx:83 +#: src/components/render/ModelType.tsx:90 +msgid "Stock Location Type" +msgstr "" + +#: src/components/render/ModelType.tsx:91 +msgid "Stock Location Types" +msgstr "" + +#: src/components/render/ModelType.tsx:95 msgid "Stock History" msgstr "Historie skladu" -#: src/components/render/ModelType.tsx:84 +#: src/components/render/ModelType.tsx:96 msgid "Stock Histories" msgstr "Historie skladů" -#: src/components/render/ModelType.tsx:88 +#: src/components/render/ModelType.tsx:100 #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:43 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:126 msgid "Build" msgstr "" -#: src/components/render/ModelType.tsx:89 +#: src/components/render/ModelType.tsx:101 msgid "Builds" msgstr "" -#: src/components/render/ModelType.tsx:96 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:76 +#: src/components/render/ModelType.tsx:109 msgid "Build Line" msgstr "" -#: src/components/render/ModelType.tsx:97 +#: src/components/render/ModelType.tsx:110 msgid "Build Lines" msgstr "" -#: src/components/render/ModelType.tsx:104 -#: src/pages/company/CompanyDetail.tsx:321 +#: src/components/render/ModelType.tsx:117 +#: src/pages/company/CompanyDetail.tsx:323 msgid "Company" msgstr "Firma" -#: src/components/render/ModelType.tsx:105 +#: src/components/render/ModelType.tsx:118 msgid "Companies" msgstr "Firmy" -#: src/components/render/ModelType.tsx:112 +#: src/components/render/ModelType.tsx:126 #: src/tables/TableHoverCard.tsx:58 #: src/tables/build/BuildOrderTable.tsx:131 #: src/tables/purchasing/PurchaseOrderTable.tsx:64 @@ -1196,170 +1242,199 @@ msgstr "Firmy" msgid "Project Code" msgstr "Kód projektu" -#: src/components/render/ModelType.tsx:113 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:97 +#: src/components/render/ModelType.tsx:127 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:105 msgid "Project Codes" msgstr "Kódy projektu" -#: src/components/render/ModelType.tsx:119 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99 +#: src/components/render/ModelType.tsx:133 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:355 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:362 +#: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" msgstr "" -#: src/components/render/ModelType.tsx:120 -#: src/pages/Index/Settings/SystemSettings.tsx:242 -#: src/pages/company/CompanyDetail.tsx:190 -#: src/pages/company/SupplierPartDetail.tsx:223 -#: src/pages/part/PartDetail.tsx:571 +#: src/components/render/ModelType.tsx:134 +#: src/pages/Index/Settings/SystemSettings.tsx:243 +#: src/pages/company/CompanyDetail.tsx:192 +#: src/pages/company/SupplierPartDetail.tsx:224 +#: src/pages/part/PartDetail.tsx:572 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" -#: src/components/render/ModelType.tsx:127 +#: src/components/render/ModelType.tsx:142 msgid "Purchase Order Line" msgstr "" -#: src/components/render/ModelType.tsx:128 +#: src/components/render/ModelType.tsx:143 msgid "Purchase Order Lines" msgstr "" -#: src/components/render/ModelType.tsx:132 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:108 +#: src/components/render/ModelType.tsx:147 #: src/pages/build/BuildDetail.tsx:131 -#: src/pages/sales/SalesOrderDetail.tsx:340 -#: src/pages/stock/StockDetail.tsx:207 +#: src/pages/sales/SalesOrderDetail.tsx:347 +#: src/pages/stock/StockDetail.tsx:210 +#: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" msgstr "" -#: src/components/render/ModelType.tsx:133 -#: src/pages/Index/Settings/SystemSettings.tsx:257 -#: src/pages/company/CompanyDetail.tsx:210 -#: src/pages/part/PartDetail.tsx:577 +#: src/components/render/ModelType.tsx:148 +#: src/pages/Index/Settings/SystemSettings.tsx:258 +#: src/pages/company/CompanyDetail.tsx:212 +#: src/pages/part/PartDetail.tsx:578 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" -#: src/components/render/ModelType.tsx:140 +#: src/components/render/ModelType.tsx:156 msgid "Sales Order Shipment" msgstr "" -#: src/components/render/ModelType.tsx:141 +#: src/components/render/ModelType.tsx:157 msgid "Sales Order Shipments" msgstr "" -#: src/components/render/ModelType.tsx:147 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:117 -#: src/pages/sales/ReturnOrderDetail.tsx:318 +#: src/components/render/ModelType.tsx:163 +#: src/pages/sales/ReturnOrderDetail.tsx:325 +#: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "" -#: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:272 -#: src/pages/company/CompanyDetail.tsx:217 +#: src/components/render/ModelType.tsx:164 +#: src/pages/Index/Settings/SystemSettings.tsx:273 +#: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" msgstr "" -#: src/components/render/ModelType.tsx:155 +#: src/components/render/ModelType.tsx:172 #: src/tables/company/AddressTable.tsx:47 msgid "Address" msgstr "Adresa" -#: src/components/render/ModelType.tsx:156 -#: src/pages/company/CompanyDetail.tsx:247 +#: src/components/render/ModelType.tsx:173 +#: src/pages/company/CompanyDetail.tsx:249 msgid "Addresses" msgstr "Adresy" -#: src/components/render/ModelType.tsx:162 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:189 -#: src/pages/sales/ReturnOrderDetail.tsx:157 -#: src/pages/sales/SalesOrderDetail.tsx:161 +#: src/components/render/ModelType.tsx:179 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:191 +#: src/pages/sales/ReturnOrderDetail.tsx:159 +#: src/pages/sales/SalesOrderDetail.tsx:163 msgid "Contact" msgstr "Kontakt" -#: src/components/render/ModelType.tsx:163 -#: src/pages/company/CompanyDetail.tsx:241 +#: src/components/render/ModelType.tsx:180 +#: src/pages/company/CompanyDetail.tsx:243 msgid "Contacts" msgstr "Kontakty" -#: src/components/render/ModelType.tsx:169 +#: src/components/render/ModelType.tsx:186 msgid "Owner" msgstr "Správce" -#: src/components/render/ModelType.tsx:170 +#: src/components/render/ModelType.tsx:187 msgid "Owners" msgstr "Správci" -#: src/components/render/ModelType.tsx:176 +#: src/components/render/ModelType.tsx:193 +#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "Uživatel" -#: src/components/render/ModelType.tsx:177 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:73 +#: src/components/render/ModelType.tsx:194 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:81 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "Uživatelé" -#: src/components/render/Order.tsx:87 +#: src/components/render/ModelType.tsx:200 +msgid "Label Template" +msgstr "" + +#: src/components/render/ModelType.tsx:201 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:135 +msgid "Label Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:207 +msgid "Report Template" +msgstr "" + +#: src/components/render/ModelType.tsx:208 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:141 +msgid "Report Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:214 +msgid "Plugin Configuration" +msgstr "" + +#: src/components/render/ModelType.tsx:215 +msgid "Plugin Configurations" +msgstr "" + +#: src/components/render/Order.tsx:104 msgid "Shipment" msgstr "" -#: src/components/render/Part.tsx:12 +#: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:198 -#: src/pages/part/PartDetail.tsx:491 +#: src/pages/Index/Settings/SystemSettings.tsx:199 +#: src/pages/part/PartDetail.tsx:492 #: src/pages/stock/LocationDetail.tsx:344 -#: src/pages/stock/StockDetail.tsx:344 +#: src/pages/stock/StockDetail.tsx:352 #: src/tables/stock/StockItemTable.tsx:57 msgid "Stock" msgstr "Zásoby" -#: src/components/render/Stock.tsx:26 -#: src/pages/stock/StockDetail.tsx:142 -#: src/pages/stock/StockDetail.tsx:501 +#: src/components/render/Stock.tsx:52 +#: src/pages/stock/StockDetail.tsx:145 +#: src/pages/stock/StockDetail.tsx:514 msgid "Serial Number" msgstr "Sériové číslo" -#: src/components/render/Stock.tsx:28 -#: src/forms/BuildForms.tsx:189 +#: src/components/render/Stock.tsx:54 +#: src/forms/BuildForms.tsx:206 #: src/pages/part/pricing/BomPricingPanel.tsx:144 -#: src/pages/part/pricing/PriceBreakPanel.tsx:96 -#: src/pages/stock/StockDetail.tsx:137 -#: src/pages/stock/StockDetail.tsx:507 +#: src/pages/part/pricing/PriceBreakPanel.tsx:94 +#: src/pages/stock/StockDetail.tsx:140 +#: src/pages/stock/StockDetail.tsx:520 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:73 +#: src/tables/stock/StockTrackingTable.tsx:59 msgid "Quantity" msgstr "Množství" -#: src/components/settings/SettingItem.tsx:46 -#: src/components/settings/SettingItem.tsx:99 -msgid "Setting updated" -msgstr "Nastavení aktualizováno" - #: src/components/settings/SettingItem.tsx:47 #: src/components/settings/SettingItem.tsx:100 -msgid "{0} updated successfully" -msgstr "{0} úspěšně aktualizováno" +#~ msgid "{0} updated successfully" +#~ msgstr "{0} updated successfully" -#: src/components/settings/SettingItem.tsx:55 -msgid "Error editing setting" -msgstr "Při úpravě nastavení došlo k chybě" - -#: src/components/settings/SettingItem.tsx:92 +#: src/components/settings/SettingList.tsx:67 msgid "Edit Setting" msgstr "Upravit nastavení" -#: src/components/settings/SettingList.tsx:63 -msgid "No settings specified" +#: src/components/settings/SettingList.tsx:78 +#: src/components/settings/SettingList.tsx:108 +msgid "Setting {0} updated successfully" msgstr "" -#: src/components/tables/ColumnRenderers.tsx:134 -#~ msgid "Shipment Date" -#~ msgstr "Shipment Date" +#: src/components/settings/SettingList.tsx:107 +msgid "Setting updated" +msgstr "Nastavení aktualizováno" + +#: src/components/settings/SettingList.tsx:117 +msgid "Error editing setting" +msgstr "Při úpravě nastavení došlo k chybě" + +#: src/components/settings/SettingList.tsx:158 +msgid "No settings specified" +msgstr "" #: src/components/tables/FilterGroup.tsx:29 #~ msgid "Add table filter" @@ -1731,10 +1806,6 @@ msgstr "" #~ msgid "This is a test filter" #~ msgstr "This is a test filter" -#: src/components/tables/stock/StockLocationTable.tsx:91 -#~ msgid "Location Type" -#~ msgstr "Location Type" - #: src/components/tables/stock/StockLocationTable.tsx:145 #~ msgid "Stock location updated" #~ msgstr "Stock location updated" @@ -2072,7 +2143,7 @@ msgstr "" #~ msgstr "Local Server" #: src/defaults/links.tsx:11 -#: src/pages/company/CompanyDetail.tsx:90 +#: src/pages/company/CompanyDetail.tsx:92 msgid "Website" msgstr "Webová stránka" @@ -2087,10 +2158,10 @@ msgstr "Demo" #: src/defaults/links.tsx:31 #: src/defaults/menuItems.tsx:48 #: src/pages/company/ManufacturerDetail.tsx:9 -#: src/pages/company/ManufacturerPartDetail.tsx:231 +#: src/pages/company/ManufacturerPartDetail.tsx:235 #: src/pages/company/SupplierDetail.tsx:9 -#: src/pages/company/SupplierPartDetail.tsx:291 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:358 +#: src/pages/company/SupplierPartDetail.tsx:292 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:365 #: src/pages/purchasing/PurchasingIndex.tsx:52 msgid "Purchasing" msgstr "Nákup" @@ -2098,15 +2169,15 @@ msgstr "Nákup" #: src/defaults/links.tsx:32 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:323 +#: src/pages/sales/ReturnOrderDetail.tsx:330 #: src/pages/sales/SalesIndex.tsx:45 -#: src/pages/sales/SalesOrderDetail.tsx:345 +#: src/pages/sales/SalesOrderDetail.tsx:352 msgid "Sales" msgstr "Prodej" #: src/defaults/links.tsx:35 #: src/defaults/menuItems.tsx:71 -#: src/pages/Index/Playground.tsx:239 +#: src/pages/Index/Playground.tsx:238 msgid "Playground" msgstr "Playground" @@ -2240,87 +2311,83 @@ msgstr "" #~ msgstr "Combusken battles with the intensely hot flames it spews" #: src/forms/AttachmentForms.tsx:57 -msgid "Add File" -msgstr "Přidat soubor" +#~ msgid "Add File" +#~ msgstr "Add File" #: src/forms/AttachmentForms.tsx:57 -msgid "Add Link" -msgstr "Přidat odkaz" +#~ msgid "Add Link" +#~ msgstr "Add Link" #: src/forms/AttachmentForms.tsx:58 -msgid "File added" -msgstr "Soubor přidán" +#~ msgid "File added" +#~ msgstr "File added" #: src/forms/AttachmentForms.tsx:58 -msgid "Link added" -msgstr "Odkaz přidán" +#~ msgid "Link added" +#~ msgstr "Link added" #: src/forms/AttachmentForms.tsx:99 -msgid "Edit File" -msgstr "Upravit soubor" +#~ msgid "Edit File" +#~ msgstr "Edit File" #: src/forms/AttachmentForms.tsx:99 -msgid "Edit Link" -msgstr "Upravit odkaz" +#~ msgid "Edit Link" +#~ msgstr "Edit Link" #: src/forms/AttachmentForms.tsx:100 -msgid "File updated" -msgstr "Soubor nahrán" +#~ msgid "File updated" +#~ msgstr "File updated" #: src/forms/AttachmentForms.tsx:100 -msgid "Link updated" -msgstr "Odkaz Aktualizován" - -#: src/forms/AttachmentForms.tsx:124 -msgid "Delete Attachment" -msgstr "Smazat přílohu" +#~ msgid "Link updated" +#~ msgstr "Link updated" #: src/forms/AttachmentForms.tsx:125 -msgid "Attachment deleted" -msgstr "Příloha byla smazána" +#~ msgid "Attachment deleted" +#~ msgstr "Attachment deleted" #: src/forms/AttachmentForms.tsx:128 -msgid "Are you sure you want to delete this attachment?" -msgstr "Opravdu chcete tuto přílohu smazat?" +#~ msgid "Are you sure you want to delete this attachment?" +#~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BuildForms.tsx:129 +#: src/forms/BuildForms.tsx:146 msgid "Next serial number" msgstr "" -#: src/forms/BuildForms.tsx:133 +#: src/forms/BuildForms.tsx:150 msgid "Latest serial number" msgstr "" -#: src/forms/BuildForms.tsx:205 +#: src/forms/BuildForms.tsx:222 msgid "Remove output" msgstr "" -#: src/forms/BuildForms.tsx:287 +#: src/forms/BuildForms.tsx:304 msgid "Complete Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:291 +#: src/forms/BuildForms.tsx:308 msgid "Build outputs have been completed" msgstr "" -#: src/forms/BuildForms.tsx:360 +#: src/forms/BuildForms.tsx:377 msgid "Scrap Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:364 +#: src/forms/BuildForms.tsx:381 msgid "Build outputs have been scrapped" msgstr "" -#: src/forms/BuildForms.tsx:396 -#: src/forms/BuildForms.tsx:420 +#: src/forms/BuildForms.tsx:413 +#: src/forms/BuildForms.tsx:437 msgid "Cancel Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:397 +#: src/forms/BuildForms.tsx:414 msgid "Selected build outputs will be deleted" msgstr "" -#: src/forms/BuildForms.tsx:424 +#: src/forms/BuildForms.tsx:441 msgid "Build outputs have been cancelled" msgstr "" @@ -2344,76 +2411,76 @@ msgstr "Nadřazená kategorie" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PurchaseOrderForms.tsx:265 +#: src/forms/PurchaseOrderForms.tsx:279 msgid "Choose Location" msgstr "Zvolte umístění" -#: src/forms/PurchaseOrderForms.tsx:273 +#: src/forms/PurchaseOrderForms.tsx:287 msgid "Item Destination selected" msgstr "Cíl položky byl vybrán" -#: src/forms/PurchaseOrderForms.tsx:282 +#: src/forms/PurchaseOrderForms.tsx:296 msgid "Part category default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:292 +#: src/forms/PurchaseOrderForms.tsx:306 msgid "Received stock location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:297 +#: src/forms/PurchaseOrderForms.tsx:311 msgid "Default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:308 -#: src/forms/PurchaseOrderForms.tsx:384 +#: src/forms/PurchaseOrderForms.tsx:322 +#: src/forms/PurchaseOrderForms.tsx:398 msgid "Scan Barcode" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:352 +#: src/forms/PurchaseOrderForms.tsx:366 msgid "Set Location" msgstr "Nastavit umístění" -#: src/forms/PurchaseOrderForms.tsx:359 +#: src/forms/PurchaseOrderForms.tsx:373 msgid "Assign Batch Code{0}" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:368 +#: src/forms/PurchaseOrderForms.tsx:382 msgid "Change Status" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:393 -#: src/forms/StockForms.tsx:351 +#: src/forms/PurchaseOrderForms.tsx:407 +#: src/forms/StockForms.tsx:392 msgid "Remove item from list" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:418 -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:58 -#: src/pages/stock/StockDetail.tsx:167 -#: src/tables/ColumnRenderers.tsx:42 +#: src/forms/PurchaseOrderForms.tsx:432 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/pages/stock/StockDetail.tsx:170 +#: src/tables/ColumnRenderers.tsx:34 +#: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "Lokace" -#: src/forms/PurchaseOrderForms.tsx:434 +#: src/forms/PurchaseOrderForms.tsx:448 msgid "Store at default location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:447 +#: src/forms/PurchaseOrderForms.tsx:461 msgid "Store at line item destination" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:457 +#: src/forms/PurchaseOrderForms.tsx:471 msgid "Store with already received stock" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:613 +#: src/forms/PurchaseOrderForms.tsx:627 msgid "Receive Line Items" msgstr "" @@ -2421,119 +2488,118 @@ msgstr "" #~ msgid "Receive line items" #~ msgstr "Receive line items" -#: src/forms/StockForms.tsx:69 +#: src/forms/StockForms.tsx:101 msgid "Add given quantity as packs instead of individual items" msgstr "" -#: src/forms/StockForms.tsx:80 -msgid "Enter initial quantity for this stock item" -msgstr "" - -#: src/forms/StockForms.tsx:85 -msgid "Serial Numbers" -msgstr "" - -#: src/forms/StockForms.tsx:86 -msgid "Enter serial numbers for new stock (or leave blank)" -msgstr "" - #: src/forms/StockForms.tsx:110 #~ msgid "Create Stock Item" #~ msgstr "Create Stock Item" -#: src/forms/StockForms.tsx:135 -#: src/pages/stock/StockDetail.tsx:367 -#: src/tables/stock/StockItemTable.tsx:382 -#: src/tables/stock/StockItemTable.tsx:499 -msgid "Add Stock Item" +#: src/forms/StockForms.tsx:114 +msgid "Enter initial quantity for this stock item" +msgstr "" + +#: src/forms/StockForms.tsx:121 +msgid "Serial Numbers" +msgstr "" + +#: src/forms/StockForms.tsx:122 +msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" #: src/forms/StockForms.tsx:158 #~ msgid "Stock item updated" #~ msgstr "Stock item updated" -#: src/forms/StockForms.tsx:298 +#: src/forms/StockForms.tsx:176 +#: src/pages/stock/StockDetail.tsx:375 +#: src/tables/stock/StockItemTable.tsx:382 +#: src/tables/stock/StockItemTable.tsx:499 +msgid "Add Stock Item" +msgstr "" + +#: src/forms/StockForms.tsx:339 msgid "Loading..." msgstr "" -#: src/forms/StockForms.tsx:340 +#: src/forms/StockForms.tsx:381 msgid "Move to default location" msgstr "" -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/part/PartDetail.tsx:205 -#: src/pages/part/PartDetail.tsx:654 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/pages/part/PartDetail.tsx:206 +#: src/pages/part/PartDetail.tsx:655 #: src/tables/stock/StockItemTable.tsx:290 msgid "In Stock" msgstr "Na skladě" -#: src/forms/StockForms.tsx:408 +#: src/forms/StockForms.tsx:449 msgid "Move" msgstr "Přesunout" -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/tables/RowActions.tsx:147 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/tables/RowActions.tsx:149 msgid "Actions" msgstr "Akce" -#: src/forms/StockForms.tsx:471 -#: src/pages/stock/StockDetail.tsx:440 -#: src/tables/settings/TemplateTable.tsx:266 -#: src/tables/stock/StockItemTestResultTable.tsx:348 +#: src/forms/StockForms.tsx:512 +#: src/pages/stock/StockDetail.tsx:454 +#: src/tables/stock/StockItemTestResultTable.tsx:339 msgid "Add" msgstr "Přidat" -#: src/forms/StockForms.tsx:499 +#: src/forms/StockForms.tsx:540 #: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:430 +#: src/pages/stock/StockDetail.tsx:444 msgid "Count" msgstr "Počet" -#: src/forms/StockForms.tsx:744 +#: src/forms/StockForms.tsx:785 msgid "Add Stock" msgstr "" -#: src/forms/StockForms.tsx:753 +#: src/forms/StockForms.tsx:794 msgid "Remove Stock" msgstr "" -#: src/forms/StockForms.tsx:762 -#: src/pages/part/PartDetail.tsx:781 +#: src/forms/StockForms.tsx:803 +#: src/pages/part/PartDetail.tsx:782 msgid "Transfer Stock" msgstr "" -#: src/forms/StockForms.tsx:771 -#: src/pages/part/PartDetail.tsx:770 +#: src/forms/StockForms.tsx:812 +#: src/pages/part/PartDetail.tsx:771 msgid "Count Stock" msgstr "" -#: src/forms/StockForms.tsx:780 +#: src/forms/StockForms.tsx:821 msgid "Change Stock Status" msgstr "" -#: src/forms/StockForms.tsx:789 +#: src/forms/StockForms.tsx:830 msgid "Merge Stock" msgstr "" -#: src/forms/StockForms.tsx:808 +#: src/forms/StockForms.tsx:849 msgid "Delete Stock Items" msgstr "" -#: src/forms/StockForms.tsx:815 +#: src/forms/StockForms.tsx:856 msgid "Parent stock location" msgstr "" @@ -2728,7 +2794,7 @@ msgstr "" msgid "Welcome to your Dashboard{0}" msgstr "" -#: src/pages/Index/Playground.tsx:244 +#: src/pages/Index/Playground.tsx:243 msgid "This page is a showcase for the possibilities of Platform UI." msgstr "" @@ -3138,49 +3204,53 @@ msgstr "" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:79 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:87 msgid "Background Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:85 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:93 msgid "Error Reports" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:91 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:99 msgid "Currencies" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:109 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:117 msgid "Custom Units" msgstr "Vlastní jednotky" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:115 -#: src/pages/part/CategoryDetail.tsx:254 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:123 +#: src/pages/part/CategoryDetail.tsx:255 msgid "Part Parameters" msgstr "Parametry dílu" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:121 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 +#~ msgid "Templates" +#~ msgstr "Templates" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:129 msgid "Category Parameters" msgstr "Parametry kategorie" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 -msgid "Templates" -msgstr "Šablony" +#: src/pages/Index/Settings/AdminCenter/Index.tsx:147 +msgid "Location types" +msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:139 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:159 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "Stroje" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:149 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:169 msgid "Quick Actions" msgstr "Rychlá volba" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:154 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 msgid "Add a new user" msgstr "Přidat nového uživatele" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:173 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:193 msgid "Advanced Options" msgstr "Pokročilá nastavení" @@ -3225,26 +3295,32 @@ msgstr "" msgid "Plugin Settings" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:25 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:53 +msgid "Background Worker Not Running" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:54 +msgid "The background task manager service is not running. Contact your system administrator." +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:60 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:76 msgid "Pending Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:33 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:64 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:84 msgid "Scheduled Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:41 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:68 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:92 msgid "Failed Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:139 -msgid "Labels" -msgstr "Štítky" - #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:39 -msgid "Label" -msgstr "Štítek" +#~ msgid "Label" +#~ msgstr "Label" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67 #~ msgid "Stock item" @@ -3255,13 +3331,13 @@ msgstr "Štítek" #~ msgstr "Build line" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:88 -msgid "Reports" -msgstr "Hlášení" +#~ msgid "Reports" +#~ msgstr "Reports" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:89 #: src/pages/build/BuildDetail.tsx:373 -msgid "Report" -msgstr "Hlášení" +#~ msgid "Report" +#~ msgstr "Report" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99 #~ msgid "Purchase order" @@ -3275,14 +3351,9 @@ msgstr "Hlášení" #~ msgid "Return order" #~ msgstr "Return order" -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135 -#: src/pages/part/PartDetail.tsx:518 -msgid "Bill of Materials" -msgstr "" - #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:145 -msgid "Tests" -msgstr "Testy" +#~ msgid "Tests" +#~ msgstr "Tests" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:154 #~ msgid "Stock location" @@ -3321,26 +3392,30 @@ msgstr "Ceník" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" +#: src/pages/Index/Settings/SystemSettings.tsx:139 +msgid "Labels" +msgstr "Štítky" + #: src/pages/Index/Settings/SystemSettings.tsx:145 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:223 -#: src/pages/part/PartDetail.tsx:589 +#: src/pages/Index/Settings/SystemSettings.tsx:224 +#: src/pages/part/PartDetail.tsx:590 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:228 -#: src/pages/build/BuildDetail.tsx:426 +#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:525 -#: src/pages/sales/SalesOrderDetail.tsx:263 +#: src/pages/part/PartDetail.tsx:526 +#: src/pages/sales/SalesOrderDetail.tsx:265 msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:296 +#: src/pages/Index/Settings/SystemSettings.tsx:297 msgid "Switch to User Setting" msgstr "" @@ -3397,44 +3472,47 @@ msgstr "Označit jako nepřečtenou" #~ msgstr "Build Status" #: src/pages/build/BuildDetail.tsx:89 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:128 -#: src/pages/sales/ReturnOrderDetail.tsx:95 -#: src/pages/sales/SalesOrderDetail.tsx:99 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:130 +#: src/pages/sales/ReturnOrderDetail.tsx:97 +#: src/pages/sales/SalesOrderDetail.tsx:101 #: src/tables/build/BuildOrderTable.tsx:113 #: src/tables/machine/MachineListTable.tsx:326 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderTable.tsx:46 #: src/tables/sales/SalesOrderTable.tsx:52 #: src/tables/stock/StockItemTable.tsx:259 +#: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "Stav" #: src/pages/build/BuildDetail.tsx:95 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:101 -#: src/pages/sales/ReturnOrderDetail.tsx:69 -#: src/pages/sales/SalesOrderDetail.tsx:73 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:103 +#: src/pages/sales/ReturnOrderDetail.tsx:71 +#: src/pages/sales/SalesOrderDetail.tsx:75 +#: src/tables/ColumnRenderers.tsx:106 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" msgstr "Reference" #: src/pages/build/BuildDetail.tsx:100 -#: src/pages/company/CompanyDetail.tsx:84 -#: src/pages/company/ManufacturerPartDetail.tsx:75 -#: src/pages/company/SupplierPartDetail.tsx:82 -#: src/pages/part/CategoryDetail.tsx:91 -#: src/pages/part/PartDetail.tsx:132 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:122 -#: src/pages/sales/ReturnOrderDetail.tsx:89 -#: src/pages/sales/SalesOrderDetail.tsx:93 -#: src/pages/stock/LocationDetail.tsx:97 -#: src/tables/ColumnRenderers.tsx:95 +#: src/pages/company/CompanyDetail.tsx:86 +#: src/pages/company/ManufacturerPartDetail.tsx:76 +#: src/pages/company/SupplierPartDetail.tsx:83 +#: src/pages/part/CategoryDetail.tsx:92 +#: src/pages/part/PartDetail.tsx:133 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:124 +#: src/pages/sales/ReturnOrderDetail.tsx:91 +#: src/pages/sales/SalesOrderDetail.tsx:95 +#: src/pages/stock/LocationDetail.tsx:99 +#: src/tables/ColumnRenderers.tsx:66 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 #: src/tables/machine/MachineTypeTable.tsx:323 #: src/tables/part/RelatedPartTable.tsx:64 -#: src/tables/plugin/PluginListTable.tsx:172 -#: src/tables/plugin/PluginListTable.tsx:302 +#: src/tables/plugin/PluginListTable.tsx:129 +#: src/tables/plugin/PluginListTable.tsx:276 +#: src/tables/stock/LocationTypesTable.tsx:65 msgid "Description" msgstr "Popis" @@ -3447,7 +3525,7 @@ msgid "Build Quantity" msgstr "" #: src/pages/build/BuildDetail.tsx:126 -#: src/pages/build/BuildDetail.tsx:249 +#: src/pages/build/BuildDetail.tsx:256 msgid "Completed Outputs" msgstr "" @@ -3457,10 +3535,10 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:150 -#: src/pages/part/PartDetail.tsx:320 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:214 -#: src/pages/sales/ReturnOrderDetail.tsx:182 -#: src/pages/sales/SalesOrderDetail.tsx:186 +#: src/pages/part/PartDetail.tsx:321 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:184 +#: src/pages/sales/SalesOrderDetail.tsx:188 #: src/tables/build/BuildOrderTable.tsx:148 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 @@ -3474,10 +3552,10 @@ msgid "Created" msgstr "" #: src/pages/build/BuildDetail.tsx:164 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:207 -#: src/pages/sales/ReturnOrderDetail.tsx:175 -#: src/pages/sales/SalesOrderDetail.tsx:179 -#: src/tables/ColumnRenderers.tsx:227 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:209 +#: src/pages/sales/ReturnOrderDetail.tsx:177 +#: src/pages/sales/SalesOrderDetail.tsx:181 +#: src/tables/ColumnRenderers.tsx:191 msgid "Target Date" msgstr "" @@ -3513,6 +3591,11 @@ msgstr "" #~ msgid "Unlink custom barcode from part" #~ msgstr "Unlink custom barcode from part" +#: src/pages/build/BuildDetail.tsx:197 +#: src/pages/stock/StockDetail.tsx:526 +msgid "Batch Code" +msgstr "" + #: src/pages/build/BuildDetail.tsx:202 #~ msgid "Build Order updated" #~ msgstr "Build Order updated" @@ -3521,86 +3604,87 @@ msgstr "" #~ msgid "Edit build order" #~ msgstr "Edit build order" -#: src/pages/build/BuildDetail.tsx:222 -msgid "Build Details" -msgstr "" - #: src/pages/build/BuildDetail.tsx:226 #~ msgid "Duplicate build order" #~ msgstr "Duplicate build order" -#: src/pages/build/BuildDetail.tsx:228 -#: src/tables/build/BuildLineTable.tsx:225 -msgid "Allocate Stock" +#: src/pages/build/BuildDetail.tsx:229 +msgid "Build Details" msgstr "" #: src/pages/build/BuildDetail.tsx:231 #~ msgid "Delete build order" #~ msgstr "Delete build order" -#: src/pages/build/BuildDetail.tsx:242 +#: src/pages/build/BuildDetail.tsx:235 +#: src/tables/build/BuildLineTable.tsx:225 +msgid "Allocate Stock" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:249 msgid "Incomplete Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:264 +#: src/pages/build/BuildDetail.tsx:271 msgid "Consumed Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:278 +#: src/pages/build/BuildDetail.tsx:285 msgid "Child Build Orders" msgstr "" -#: src/pages/build/BuildDetail.tsx:288 -#: src/pages/company/CompanyDetail.tsx:253 -#: src/pages/company/ManufacturerPartDetail.tsx:171 -#: src/pages/part/PartDetail.tsx:611 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:276 -#: src/pages/sales/ReturnOrderDetail.tsx:225 -#: src/pages/sales/SalesOrderDetail.tsx:273 -#: src/pages/stock/StockDetail.tsx:317 +#: src/pages/build/BuildDetail.tsx:295 +#: src/pages/company/CompanyDetail.tsx:255 +#: src/pages/company/ManufacturerPartDetail.tsx:172 +#: src/pages/part/PartDetail.tsx:612 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:278 +#: src/pages/sales/ReturnOrderDetail.tsx:227 +#: src/pages/sales/SalesOrderDetail.tsx:275 +#: src/pages/stock/StockDetail.tsx:325 msgid "Attachments" msgstr "" -#: src/pages/build/BuildDetail.tsx:300 -#: src/pages/company/CompanyDetail.tsx:265 -#: src/pages/part/PartDetail.tsx:623 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:288 -#: src/pages/sales/ReturnOrderDetail.tsx:237 -#: src/pages/sales/SalesOrderDetail.tsx:285 -#: src/pages/stock/StockDetail.tsx:329 +#: src/pages/build/BuildDetail.tsx:307 +#: src/pages/company/CompanyDetail.tsx:267 +#: src/pages/part/PartDetail.tsx:624 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:290 +#: src/pages/sales/ReturnOrderDetail.tsx:239 +#: src/pages/sales/SalesOrderDetail.tsx:287 +#: src/pages/stock/StockDetail.tsx:337 +#: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "" -#: src/pages/build/BuildDetail.tsx:318 +#: src/pages/build/BuildDetail.tsx:325 msgid "Edit Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:327 +#: src/pages/build/BuildDetail.tsx:334 msgid "Cancel Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:339 +#: src/pages/build/BuildDetail.tsx:346 #: src/tables/build/BuildOrderTable.tsx:167 #: src/tables/build/BuildOrderTable.tsx:182 msgid "Add Build Order" msgstr "" #: src/pages/build/BuildDetail.tsx:368 -msgid "Reporting Actions" -msgstr "" +#~ msgid "Reporting Actions" +#~ msgstr "Reporting Actions" #: src/pages/build/BuildDetail.tsx:374 -msgid "Print build report" -msgstr "" +#~ msgid "Print build report" +#~ msgstr "Print build report" -#: src/pages/build/BuildDetail.tsx:380 +#: src/pages/build/BuildDetail.tsx:378 msgid "Build Order Actions" msgstr "" -#: src/pages/build/BuildDetail.tsx:388 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:326 -#: src/pages/sales/ReturnOrderDetail.tsx:300 -#: src/pages/sales/SalesOrderDetail.tsx:310 +#: src/pages/build/BuildDetail.tsx:386 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:333 +#: src/pages/sales/ReturnOrderDetail.tsx:307 +#: src/pages/sales/SalesOrderDetail.tsx:317 msgid "Cancel order" msgstr "" @@ -3612,56 +3696,58 @@ msgstr "" #~ msgid "New Build Order" #~ msgstr "New Build Order" -#: src/pages/company/CompanyDetail.tsx:98 +#: src/pages/company/CompanyDetail.tsx:100 msgid "Phone Number" msgstr "" -#: src/pages/company/CompanyDetail.tsx:105 +#: src/pages/company/CompanyDetail.tsx:107 msgid "Email Address" msgstr "" -#: src/pages/company/CompanyDetail.tsx:115 +#: src/pages/company/CompanyDetail.tsx:117 msgid "Default Currency" msgstr "" -#: src/pages/company/CompanyDetail.tsx:120 +#: src/pages/company/CompanyDetail.tsx:122 #: src/pages/company/SupplierDetail.tsx:8 -#: src/pages/company/SupplierPartDetail.tsx:106 -#: src/pages/company/SupplierPartDetail.tsx:192 -#: src/pages/company/SupplierPartDetail.tsx:295 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:116 +#: src/pages/company/SupplierPartDetail.tsx:107 +#: src/pages/company/SupplierPartDetail.tsx:193 +#: src/pages/company/SupplierPartDetail.tsx:296 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:118 #: src/tables/company/CompanyTable.tsx:100 #: src/tables/purchasing/PurchaseOrderTable.tsx:88 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:36 msgid "Supplier" msgstr "" -#: src/pages/company/CompanyDetail.tsx:126 +#: src/pages/company/CompanyDetail.tsx:128 #: src/pages/company/ManufacturerDetail.tsx:8 -#: src/pages/company/ManufacturerPartDetail.tsx:93 -#: src/pages/company/ManufacturerPartDetail.tsx:235 -#: src/pages/company/SupplierPartDetail.tsx:121 +#: src/pages/company/ManufacturerPartDetail.tsx:94 +#: src/pages/company/ManufacturerPartDetail.tsx:239 +#: src/pages/company/SupplierPartDetail.tsx:122 #: src/tables/company/CompanyTable.tsx:105 msgid "Manufacturer" msgstr "" -#: src/pages/company/CompanyDetail.tsx:132 +#: src/pages/company/CompanyDetail.tsx:134 #: src/pages/company/CustomerDetail.tsx:8 #: src/pages/part/pricing/SaleHistoryPanel.tsx:39 -#: src/pages/sales/ReturnOrderDetail.tsx:83 -#: src/pages/sales/SalesOrderDetail.tsx:87 -#: src/pages/stock/StockDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:85 +#: src/pages/sales/SalesOrderDetail.tsx:89 +#: src/pages/stock/StockDetail.tsx:219 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:107 +#: src/tables/stock/StockTrackingTable.tsx:140 msgid "Customer" msgstr "" -#: src/pages/company/CompanyDetail.tsx:166 +#: src/pages/company/CompanyDetail.tsx:168 +#: src/tables/stock/StockTrackingTable.tsx:183 msgid "Details" msgstr "" -#: src/pages/company/CompanyDetail.tsx:172 +#: src/pages/company/CompanyDetail.tsx:174 msgid "Manufactured Parts" msgstr "" @@ -3669,7 +3755,7 @@ msgstr "" #~ msgid "Edit company" #~ msgstr "Edit company" -#: src/pages/company/CompanyDetail.tsx:181 +#: src/pages/company/CompanyDetail.tsx:183 msgid "Supplied Parts" msgstr "" @@ -3677,289 +3763,289 @@ msgstr "" #~ msgid "Delete company" #~ msgstr "Delete company" -#: src/pages/company/CompanyDetail.tsx:226 +#: src/pages/company/CompanyDetail.tsx:228 msgid "Assigned Stock" msgstr "" -#: src/pages/company/CompanyDetail.tsx:281 +#: src/pages/company/CompanyDetail.tsx:283 #: src/tables/company/CompanyTable.tsx:86 msgid "Edit Company" msgstr "Upravit společnost" -#: src/pages/company/CompanyDetail.tsx:290 +#: src/pages/company/CompanyDetail.tsx:292 msgid "Company Actions" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:68 -#: src/pages/company/SupplierPartDetail.tsx:75 +#: src/pages/company/ManufacturerPartDetail.tsx:69 +#: src/pages/company/SupplierPartDetail.tsx:76 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:72 msgid "Internal Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:83 -#: src/pages/company/SupplierPartDetail.tsx:89 +#: src/pages/company/ManufacturerPartDetail.tsx:84 +#: src/pages/company/SupplierPartDetail.tsx:90 msgid "External Link" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:101 -#: src/pages/company/SupplierPartDetail.tsx:130 -#: src/tables/purchasing/ManufacturerPartTable.tsx:53 +#: src/pages/company/ManufacturerPartDetail.tsx:102 +#: src/pages/company/SupplierPartDetail.tsx:131 +#: src/tables/purchasing/ManufacturerPartTable.tsx:56 msgid "Manufacturer Part Number" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:130 +#: src/pages/company/ManufacturerPartDetail.tsx:131 msgid "Manufacturer Details" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:139 +#: src/pages/company/ManufacturerPartDetail.tsx:140 msgid "Manufacturer Part Details" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:145 -#: src/pages/part/PartDetail.tsx:485 +#: src/pages/company/ManufacturerPartDetail.tsx:146 +#: src/pages/part/PartDetail.tsx:486 msgid "Parameters" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:157 -#: src/pages/part/PartDetail.tsx:558 +#: src/pages/company/ManufacturerPartDetail.tsx:158 +#: src/pages/part/PartDetail.tsx:559 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:189 -#: src/tables/purchasing/ManufacturerPartTable.tsx:97 +#: src/pages/company/ManufacturerPartDetail.tsx:190 +#: src/tables/purchasing/ManufacturerPartTable.tsx:84 msgid "Edit Manufacturer Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:196 -#: src/tables/purchasing/ManufacturerPartTable.tsx:63 -#: src/tables/purchasing/ManufacturerPartTable.tsx:78 +#: src/pages/company/ManufacturerPartDetail.tsx:197 +#: src/tables/purchasing/ManufacturerPartTable.tsx:72 +#: src/tables/purchasing/ManufacturerPartTable.tsx:103 msgid "Add Manufacturer Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:209 +#: src/pages/company/ManufacturerPartDetail.tsx:213 msgid "Manufacturer Part Actions" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:247 +#: src/pages/company/ManufacturerPartDetail.tsx:251 msgid "ManufacturerPart" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:96 -#: src/tables/ColumnRenderers.tsx:146 +#: src/pages/company/SupplierPartDetail.tsx:97 +#: src/tables/ColumnRenderers.tsx:117 msgid "Note" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:114 +#: src/pages/company/SupplierPartDetail.tsx:115 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:57 msgid "SKU" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:142 -#: src/pages/company/SupplierPartDetail.tsx:193 -#: src/pages/stock/StockDetail.tsx:230 +#: src/pages/company/SupplierPartDetail.tsx:143 +#: src/pages/company/SupplierPartDetail.tsx:194 +#: src/pages/stock/StockDetail.tsx:233 msgid "Packaging" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:149 +#: src/pages/company/SupplierPartDetail.tsx:150 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:107 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143 #: src/tables/purchasing/SupplierPartTable.tsx:131 msgid "Pack Quantity" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:160 +#: src/pages/company/SupplierPartDetail.tsx:161 msgid "Supplier Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:167 +#: src/pages/company/SupplierPartDetail.tsx:168 msgid "Availability Updated" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:194 +#: src/pages/company/SupplierPartDetail.tsx:195 msgid "Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:203 +#: src/pages/company/SupplierPartDetail.tsx:204 msgid "Supplier Part Details" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:209 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:263 +#: src/pages/company/SupplierPartDetail.tsx:210 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:265 msgid "Received Stock" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:233 +#: src/pages/company/SupplierPartDetail.tsx:234 #: src/pages/part/PartPricingPanel.tsx:115 #: src/pages/part/pricing/PricingOverviewPanel.tsx:130 msgid "Supplier Pricing" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:248 +#: src/pages/company/SupplierPartDetail.tsx:249 msgid "Supplier Part Actions" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:272 +#: src/pages/company/SupplierPartDetail.tsx:273 #: src/tables/purchasing/SupplierPartTable.tsx:210 msgid "Edit Supplier Part" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:279 +#: src/pages/company/SupplierPartDetail.tsx:280 #: src/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "" -#: src/pages/part/CategoryDetail.tsx:83 -#: src/pages/stock/LocationDetail.tsx:89 +#: src/pages/part/CategoryDetail.tsx:84 +#: src/pages/stock/LocationDetail.tsx:91 #: src/tables/settings/ErrorTable.tsx:34 msgid "Path" msgstr "" -#: src/pages/part/CategoryDetail.tsx:99 +#: src/pages/part/CategoryDetail.tsx:100 msgid "Parent Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:116 +#: src/pages/part/CategoryDetail.tsx:117 msgid "Subcategories" msgstr "" -#: src/pages/part/CategoryDetail.tsx:123 -#: src/pages/stock/LocationDetail.tsx:129 -#: src/tables/part/PartCategoryTable.tsx:69 +#: src/pages/part/CategoryDetail.tsx:124 +#: src/pages/stock/LocationDetail.tsx:131 +#: src/tables/part/PartCategoryTable.tsx:65 msgid "Structural" msgstr "" -#: src/pages/part/CategoryDetail.tsx:129 +#: src/pages/part/CategoryDetail.tsx:130 msgid "Parent default location" msgstr "" -#: src/pages/part/CategoryDetail.tsx:136 +#: src/pages/part/CategoryDetail.tsx:137 msgid "Default location" msgstr "" -#: src/pages/part/CategoryDetail.tsx:147 +#: src/pages/part/CategoryDetail.tsx:148 msgid "Top level part category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:157 -#: src/pages/part/CategoryDetail.tsx:211 -#: src/tables/part/PartCategoryTable.tsx:96 +#: src/pages/part/CategoryDetail.tsx:158 +#: src/pages/part/CategoryDetail.tsx:212 +#: src/tables/part/PartCategoryTable.tsx:88 msgid "Edit Part Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:170 -#: src/pages/stock/LocationDetail.tsx:213 +#: src/pages/part/CategoryDetail.tsx:171 +#: src/pages/stock/LocationDetail.tsx:223 msgid "Delete items" msgstr "" -#: src/pages/part/CategoryDetail.tsx:178 -#: src/pages/part/CategoryDetail.tsx:216 +#: src/pages/part/CategoryDetail.tsx:179 +#: src/pages/part/CategoryDetail.tsx:217 msgid "Delete Part Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:181 +#: src/pages/part/CategoryDetail.tsx:182 msgid "Parts Action" msgstr "" -#: src/pages/part/CategoryDetail.tsx:182 +#: src/pages/part/CategoryDetail.tsx:183 msgid "Action for parts in this category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:187 +#: src/pages/part/CategoryDetail.tsx:188 msgid "Child Categories Action" msgstr "" -#: src/pages/part/CategoryDetail.tsx:188 +#: src/pages/part/CategoryDetail.tsx:189 msgid "Action for child categories in this category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:206 +#: src/pages/part/CategoryDetail.tsx:207 msgid "Category Actions" msgstr "" -#: src/pages/part/CategoryDetail.tsx:228 +#: src/pages/part/CategoryDetail.tsx:229 msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:138 +#: src/pages/part/PartDetail.tsx:139 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:145 +#: src/pages/part/PartDetail.tsx:146 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "" -#: src/pages/part/PartDetail.tsx:151 +#: src/pages/part/PartDetail.tsx:152 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:158 +#: src/pages/part/PartDetail.tsx:159 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:165 +#: src/pages/part/PartDetail.tsx:166 msgid "IPN" msgstr "" -#: src/pages/part/PartDetail.tsx:172 +#: src/pages/part/PartDetail.tsx:173 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:179 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39 +#: src/pages/part/PartDetail.tsx:180 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "" -#: src/pages/part/PartDetail.tsx:186 +#: src/pages/part/PartDetail.tsx:187 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:193 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:180 -#: src/pages/sales/ReturnOrderDetail.tsx:148 -#: src/pages/sales/SalesOrderDetail.tsx:152 +#: src/pages/part/PartDetail.tsx:194 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:182 +#: src/pages/sales/ReturnOrderDetail.tsx:150 +#: src/pages/sales/SalesOrderDetail.tsx:154 msgid "Link" msgstr "" -#: src/pages/part/PartDetail.tsx:211 -#: src/tables/bom/BomTable.tsx:269 +#: src/pages/part/PartDetail.tsx:212 +#: src/tables/bom/BomTable.tsx:271 #: src/tables/build/BuildLineTable.tsx:121 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:218 +#: src/pages/part/PartDetail.tsx:219 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:224 -#: src/tables/bom/BomTable.tsx:210 +#: src/pages/part/PartDetail.tsx:225 +#: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:233 +#: src/pages/part/PartDetail.tsx:234 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:241 +#: src/pages/part/PartDetail.tsx:242 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:248 -#: src/tables/bom/BomTable.tsx:234 +#: src/pages/part/PartDetail.tsx:249 +#: src/tables/bom/BomTable.tsx:236 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:255 -#: src/tables/bom/BomTable.tsx:218 +#: src/pages/part/PartDetail.tsx:256 +#: src/tables/bom/BomTable.tsx:220 #: src/tables/part/PartTable.tsx:82 msgid "Building" msgstr "" -#: src/pages/part/PartDetail.tsx:264 +#: src/pages/part/PartDetail.tsx:265 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 @@ -3968,45 +4054,47 @@ msgstr "" #: src/tables/machine/MachineListTable.tsx:585 #: src/tables/part/PartTable.tsx:168 #: src/tables/part/PartVariantTable.tsx:15 -#: src/tables/plugin/PluginListTable.tsx:190 -#: src/tables/plugin/PluginListTable.tsx:638 +#: src/tables/plugin/PluginListTable.tsx:149 +#: src/tables/plugin/PluginListTable.tsx:271 +#: src/tables/plugin/PluginListTable.tsx:563 #: src/tables/purchasing/SupplierPartTable.tsx:98 #: src/tables/purchasing/SupplierPartTable.tsx:187 #: src/tables/stock/StockItemTable.tsx:254 msgid "Active" msgstr "" -#: src/pages/part/PartDetail.tsx:269 +#: src/pages/part/PartDetail.tsx:270 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:274 -#: src/tables/bom/BomTable.tsx:264 +#: src/pages/part/PartDetail.tsx:275 +#: src/tables/bom/BomTable.tsx:266 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:279 +#: src/pages/part/PartDetail.tsx:280 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:284 -#: src/tables/bom/BomTable.tsx:259 +#: src/pages/part/PartDetail.tsx:285 +#: src/tables/bom/BomTable.tsx:261 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:289 +#: src/pages/part/PartDetail.tsx:290 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:294 +#: src/pages/part/PartDetail.tsx:295 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:299 +#: src/pages/part/PartDetail.tsx:300 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:307 +#: src/pages/part/PartDetail.tsx:308 +#: src/tables/ColumnRenderers.tsx:199 msgid "Creation Date" msgstr "" @@ -4014,7 +4102,7 @@ msgstr "" #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:312 +#: src/pages/part/PartDetail.tsx:313 msgid "Created By" msgstr "" @@ -4022,68 +4110,72 @@ msgstr "" #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:327 -msgid "Default Supplier" -msgstr "" - #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:338 +#: src/pages/part/PartDetail.tsx:328 +msgid "Default Supplier" +msgstr "" + +#: src/pages/part/PartDetail.tsx:339 #: src/tables/part/PartTable.tsx:151 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:373 -#: src/pages/stock/StockDetail.tsx:127 +#: src/pages/part/PartDetail.tsx:374 +#: src/pages/stock/StockDetail.tsx:130 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:408 +#: src/pages/part/PartDetail.tsx:409 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:479 +#: src/pages/part/PartDetail.tsx:480 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:505 +#: src/pages/part/PartDetail.tsx:506 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:512 -#: src/pages/stock/StockDetail.tsx:275 +#: src/pages/part/PartDetail.tsx:513 +#: src/pages/stock/StockDetail.tsx:283 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:532 +#: src/pages/part/PartDetail.tsx:519 +msgid "Bill of Materials" +msgstr "" + +#: src/pages/part/PartDetail.tsx:533 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:539 +#: src/pages/part/PartDetail.tsx:540 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:545 +#: src/pages/part/PartDetail.tsx:546 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:584 +#: src/pages/part/PartDetail.tsx:585 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:594 +#: src/pages/part/PartDetail.tsx:595 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:605 +#: src/pages/part/PartDetail.tsx:606 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:660 -#: src/pages/stock/StockDetail.tsx:148 +#: src/pages/part/PartDetail.tsx:661 +#: src/pages/stock/StockDetail.tsx:151 #: src/tables/build/BuildLineTable.tsx:36 #: src/tables/part/PartTable.tsx:107 #: src/tables/stock/StockItemTable.tsx:166 @@ -4091,49 +4183,51 @@ msgstr "" msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:666 +#: src/pages/part/PartDetail.tsx:667 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:672 -#: src/tables/bom/BomTable.tsx:274 +#: src/pages/part/PartDetail.tsx:673 +#: src/tables/bom/BomTable.tsx:276 #: src/tables/part/PartTable.tsx:76 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:678 -#: src/pages/stock/StockDetail.tsx:496 +#: src/pages/part/PartDetail.tsx:679 +#: src/pages/stock/StockDetail.tsx:509 #: src/tables/stock/StockItemTable.tsx:295 msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:697 +#: src/pages/part/PartDetail.tsx:698 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:704 +#: src/pages/part/PartDetail.tsx:705 #: src/tables/part/PartTable.tsx:266 #: src/tables/part/PartTable.tsx:279 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:716 +#: src/pages/part/PartDetail.tsx:717 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:725 +#: src/pages/part/PartDetail.tsx:726 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:763 +#: src/pages/part/PartDetail.tsx:764 +#: src/pages/stock/LocationDetail.tsx:301 +#: src/tables/stock/StockItemTable.tsx:409 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:771 +#: src/pages/part/PartDetail.tsx:772 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:782 +#: src/pages/part/PartDetail.tsx:783 msgid "Transfer part stock" msgstr "" @@ -4199,15 +4293,15 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151 #: src/pages/part/pricing/SupplierPricingPanel.tsx:83 -#: src/tables/bom/BomTable.tsx:149 +#: src/tables/bom/BomTable.tsx:151 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 msgid "Unit Price" msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:173 -#: src/tables/ColumnRenderers.tsx:278 -#: src/tables/bom/BomTable.tsx:158 +#: src/tables/ColumnRenderers.tsx:241 +#: src/tables/bom/BomTable.tsx:160 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 #: src/tables/sales/ReturnOrderTable.tsx:104 #: src/tables/sales/SalesOrderTable.tsx:134 @@ -4229,24 +4323,24 @@ msgid "Bar Chart" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:63 -#: src/pages/part/pricing/PriceBreakPanel.tsx:117 +#: src/pages/part/pricing/PriceBreakPanel.tsx:115 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:138 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:164 msgid "Add Price Break" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:76 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:149 msgid "Edit Price Break" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:86 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:157 msgid "Delete Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:102 -#: src/pages/part/pricing/PriceBreakPanel.tsx:193 +#: src/pages/part/pricing/PriceBreakPanel.tsx:100 +#: src/pages/part/pricing/PriceBreakPanel.tsx:191 msgid "Price Break" msgstr "" @@ -4275,7 +4369,7 @@ msgid "Overall Pricing" msgstr "" #: src/pages/part/pricing/PricingOverviewPanel.tsx:184 -#: src/pages/stock/StockDetail.tsx:121 +#: src/pages/stock/StockDetail.tsx:124 msgid "Last Updated" msgstr "" @@ -4309,9 +4403,8 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50 #: src/pages/part/pricing/SaleHistoryPanel.tsx:46 -#: src/tables/ColumnRenderers.tsx:217 -#: src/tables/plugin/PluginListTable.tsx:182 -#: src/tables/stock/StockItemTestResultTable.tsx:194 +#: src/tables/ColumnRenderers.tsx:180 +#: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" @@ -4338,89 +4431,89 @@ msgstr "" msgid "Variant Part" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:73 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:75 msgid "Edit Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:82 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:84 #: src/tables/purchasing/PurchaseOrderTable.tsx:128 #: src/tables/purchasing/PurchaseOrderTable.tsx:140 msgid "Add Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:107 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:109 msgid "Supplier Reference" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:137 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:252 -#: src/pages/sales/ReturnOrderDetail.tsx:104 -#: src/pages/sales/ReturnOrderDetail.tsx:220 -#: src/pages/sales/SalesOrderDetail.tsx:108 -#: src/pages/sales/SalesOrderDetail.tsx:248 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:139 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:254 +#: src/pages/sales/ReturnOrderDetail.tsx:106 +#: src/pages/sales/ReturnOrderDetail.tsx:222 +#: src/pages/sales/SalesOrderDetail.tsx:110 +#: src/pages/sales/SalesOrderDetail.tsx:250 msgid "Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:144 -#: src/pages/sales/ReturnOrderDetail.tsx:111 -#: src/pages/sales/SalesOrderDetail.tsx:115 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:146 +#: src/pages/sales/ReturnOrderDetail.tsx:113 +#: src/pages/sales/SalesOrderDetail.tsx:117 msgid "Completed Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:152 -#: src/pages/sales/ReturnOrderDetail.tsx:119 -#: src/pages/sales/SalesOrderDetail.tsx:123 -#: src/pages/sales/SalesOrderDetail.tsx:258 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:121 +#: src/pages/sales/SalesOrderDetail.tsx:125 +#: src/pages/sales/SalesOrderDetail.tsx:260 msgid "Completed Shipments" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:159 -#: src/pages/sales/ReturnOrderDetail.tsx:127 -#: src/pages/sales/SalesOrderDetail.tsx:131 -msgid "Order Currency" -msgstr "" - #: src/pages/purchasing/PurchaseOrderDetail.tsx:159 #: src/pages/sales/ReturnOrderDetail.tsx:126 #: src/pages/sales/SalesOrderDetail.tsx:130 #~ msgid "Order Currency," #~ msgstr "Order Currency," -#: src/pages/purchasing/PurchaseOrderDetail.tsx:166 -#: src/pages/sales/ReturnOrderDetail.tsx:134 -#: src/pages/sales/SalesOrderDetail.tsx:138 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:161 +#: src/pages/sales/ReturnOrderDetail.tsx:129 +#: src/pages/sales/SalesOrderDetail.tsx:133 +msgid "Order Currency" +msgstr "" + +#: src/pages/purchasing/PurchaseOrderDetail.tsx:168 +#: src/pages/sales/ReturnOrderDetail.tsx:136 +#: src/pages/sales/SalesOrderDetail.tsx:140 msgid "Total Cost" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:201 -#: src/pages/sales/ReturnOrderDetail.tsx:169 -#: src/pages/sales/SalesOrderDetail.tsx:173 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:203 +#: src/pages/sales/ReturnOrderDetail.tsx:171 +#: src/pages/sales/SalesOrderDetail.tsx:175 msgid "Created On" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:246 -#: src/pages/sales/ReturnOrderDetail.tsx:214 -#: src/pages/sales/SalesOrderDetail.tsx:242 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:248 +#: src/pages/sales/ReturnOrderDetail.tsx:216 +#: src/pages/sales/SalesOrderDetail.tsx:244 msgid "Order Details" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:316 -#: src/pages/sales/ReturnOrderDetail.tsx:290 -#: src/pages/sales/SalesOrderDetail.tsx:302 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:323 +#: src/pages/sales/ReturnOrderDetail.tsx:297 +#: src/pages/sales/SalesOrderDetail.tsx:309 msgid "Order Actions" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:75 -#: src/pages/sales/SalesOrderDetail.tsx:79 +#: src/pages/sales/ReturnOrderDetail.tsx:77 +#: src/pages/sales/SalesOrderDetail.tsx:81 #: src/tables/sales/SalesOrderTable.tsx:123 msgid "Customer Reference" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:267 +#: src/pages/sales/ReturnOrderDetail.tsx:269 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:276 +#: src/pages/sales/ReturnOrderDetail.tsx:278 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" @@ -4430,68 +4523,72 @@ msgstr "" msgid "Customers" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:219 +#: src/pages/sales/SalesOrderDetail.tsx:221 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:228 +#: src/pages/sales/SalesOrderDetail.tsx:230 #: src/tables/sales/SalesOrderTable.tsx:83 #: src/tables/sales/SalesOrderTable.tsx:95 msgid "Add Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:253 +#: src/pages/sales/SalesOrderDetail.tsx:255 msgid "Pending Shipments" msgstr "" -#: src/pages/stock/LocationDetail.tsx:105 +#: src/pages/stock/LocationDetail.tsx:107 msgid "Parent Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:123 +#: src/pages/stock/LocationDetail.tsx:125 msgid "Sublocations" msgstr "" -#: src/pages/stock/LocationDetail.tsx:135 +#: src/pages/stock/LocationDetail.tsx:137 msgid "External" msgstr "" -#: src/pages/stock/LocationDetail.tsx:144 +#: src/pages/stock/LocationDetail.tsx:143 +msgid "Location Type" +msgstr "" + +#: src/pages/stock/LocationDetail.tsx:154 msgid "Top level stock location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:155 +#: src/pages/stock/LocationDetail.tsx:165 msgid "Location Details" msgstr "" -#: src/pages/stock/LocationDetail.tsx:181 +#: src/pages/stock/LocationDetail.tsx:191 msgid "Default Parts" msgstr "" -#: src/pages/stock/LocationDetail.tsx:200 +#: src/pages/stock/LocationDetail.tsx:210 #: src/pages/stock/LocationDetail.tsx:328 -#: src/tables/stock/StockLocationTable.tsx:108 +#: src/tables/stock/StockLocationTable.tsx:100 msgid "Edit Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:221 +#: src/pages/stock/LocationDetail.tsx:231 #: src/pages/stock/LocationDetail.tsx:333 msgid "Delete Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:224 +#: src/pages/stock/LocationDetail.tsx:234 msgid "Items Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:225 +#: src/pages/stock/LocationDetail.tsx:235 msgid "Action for stock items in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:230 +#: src/pages/stock/LocationDetail.tsx:240 msgid "Child Locations Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:231 +#: src/pages/stock/LocationDetail.tsx:241 msgid "Action for child locations in this location" msgstr "" @@ -4499,11 +4596,11 @@ msgstr "" msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:100 +#: src/pages/stock/StockDetail.tsx:103 msgid "Base Part" msgstr "" -#: src/pages/stock/StockDetail.tsx:107 +#: src/pages/stock/StockDetail.tsx:110 msgid "Stock Status" msgstr "" @@ -4515,15 +4612,16 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:174 +#: src/pages/stock/StockDetail.tsx:177 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:190 +#: src/pages/stock/StockDetail.tsx:193 msgid "Consumed By" msgstr "" -#: src/pages/stock/StockDetail.tsx:199 +#: src/pages/stock/StockDetail.tsx:202 +#: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" msgstr "" @@ -4535,78 +4633,78 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:264 +#: src/pages/stock/StockDetail.tsx:267 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:270 +#: src/pages/stock/StockDetail.tsx:273 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:282 +#: src/pages/stock/StockDetail.tsx:290 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:296 +#: src/pages/stock/StockDetail.tsx:304 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:303 +#: src/pages/stock/StockDetail.tsx:311 msgid "Child Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:358 +#: src/pages/stock/StockDetail.tsx:366 msgid "Edit Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:385 +#: src/pages/stock/StockDetail.tsx:393 msgid "Delete Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:426 -msgid "Stock Operations" -msgstr "" - -#: src/pages/stock/StockDetail.tsx:431 -msgid "Count stock" -msgstr "" - #: src/pages/stock/StockDetail.tsx:433 #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:441 +#: src/pages/stock/StockDetail.tsx:440 +msgid "Stock Operations" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:445 +msgid "Count stock" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:455 #: src/tables/stock/StockItemTable.tsx:414 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:449 +#: src/pages/stock/StockDetail.tsx:463 #: src/tables/stock/StockItemTable.tsx:423 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:456 +#: src/pages/stock/StockDetail.tsx:470 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:457 +#: src/pages/stock/StockDetail.tsx:471 #: src/tables/stock/StockItemTable.tsx:443 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:469 +#: src/pages/stock/StockDetail.tsx:482 msgid "Stock Item Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:513 -msgid "Batch Code" -msgstr "" - -#: src/tables/ColumnRenderers.tsx:50 +#: src/tables/ColumnRenderers.tsx:42 msgid "No location set" msgstr "" -#: src/tables/ColumnRenderers.tsx:264 +#: src/tables/ColumnRenderers.tsx:207 +msgid "Shipment Date" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:227 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "" @@ -4616,20 +4714,32 @@ msgstr "" msgid "Select Columns" msgstr "" -#: src/tables/DownloadAction.tsx:11 +#: src/tables/DownloadAction.tsx:13 +#~ msgid "Excel" +#~ msgstr "Excel" + +#: src/tables/DownloadAction.tsx:21 +#~ msgid "Download selected data" +#~ msgstr "Download selected data" + +#: src/tables/DownloadAction.tsx:22 msgid "CSV" msgstr "" -#: src/tables/DownloadAction.tsx:12 +#: src/tables/DownloadAction.tsx:23 msgid "TSV" msgstr "" -#: src/tables/DownloadAction.tsx:13 -msgid "Excel" +#: src/tables/DownloadAction.tsx:24 +msgid "Excel (.xls)" msgstr "" -#: src/tables/DownloadAction.tsx:21 -msgid "Download selected data" +#: src/tables/DownloadAction.tsx:25 +msgid "Excel (.xlsx)" +msgstr "" + +#: src/tables/DownloadAction.tsx:39 +msgid "Download Data" msgstr "" #: src/tables/Filter.tsx:88 @@ -4663,102 +4773,102 @@ msgstr "" msgid "Remove filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:147 +#: src/tables/FilterSelectDrawer.tsx:136 msgid "Select filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:148 +#: src/tables/FilterSelectDrawer.tsx:137 msgid "Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:155 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:33 -#: src/tables/stock/StockItemTestResultTable.tsx:182 +#: src/tables/FilterSelectDrawer.tsx:144 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 +#: src/tables/stock/StockItemTestResultTable.tsx:180 msgid "Value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:156 +#: src/tables/FilterSelectDrawer.tsx:145 msgid "Select filter value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:196 +#: src/tables/FilterSelectDrawer.tsx:185 msgid "Table Filters" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:228 +#: src/tables/FilterSelectDrawer.tsx:217 msgid "Add Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:237 +#: src/tables/FilterSelectDrawer.tsx:226 msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:118 -#: src/tables/InvenTreeTable.tsx:384 -#: src/tables/InvenTreeTable.tsx:405 +#: src/tables/InvenTreeTable.tsx:119 +#: src/tables/InvenTreeTable.tsx:390 +#: src/tables/InvenTreeTable.tsx:411 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:416 +#: src/tables/InvenTreeTable.tsx:422 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:424 +#: src/tables/InvenTreeTable.tsx:430 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:427 +#: src/tables/InvenTreeTable.tsx:433 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:436 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:433 +#: src/tables/InvenTreeTable.tsx:439 msgid "Not found" msgstr "" -#: src/tables/InvenTreeTable.tsx:482 -#: src/tables/InvenTreeTable.tsx:604 +#: src/tables/InvenTreeTable.tsx:488 +#: src/tables/InvenTreeTable.tsx:611 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:486 +#: src/tables/InvenTreeTable.tsx:492 msgid "Are you sure you want to delete the selected records?" msgstr "" -#: src/tables/InvenTreeTable.tsx:488 +#: src/tables/InvenTreeTable.tsx:494 msgid "This action cannot be undone!" msgstr "" -#: src/tables/InvenTreeTable.tsx:516 +#: src/tables/InvenTreeTable.tsx:522 msgid "Deleted records" msgstr "" -#: src/tables/InvenTreeTable.tsx:517 +#: src/tables/InvenTreeTable.tsx:523 msgid "Records were deleted successfully" msgstr "" -#: src/tables/InvenTreeTable.tsx:526 +#: src/tables/InvenTreeTable.tsx:532 msgid "Failed to delete records" msgstr "" -#: src/tables/InvenTreeTable.tsx:585 -#: src/tables/InvenTreeTable.tsx:586 -msgid "Barcode actions" -msgstr "" - #: src/tables/InvenTreeTable.tsx:594 #: src/tables/InvenTreeTable.tsx:595 -msgid "Print actions" +#~ msgid "Print actions" +#~ msgstr "Print actions" + +#: src/tables/InvenTreeTable.tsx:601 +#: src/tables/InvenTreeTable.tsx:602 +msgid "Barcode actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:620 +#: src/tables/InvenTreeTable.tsx:630 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:638 +#: src/tables/InvenTreeTable.tsx:648 msgid "Table filters" msgstr "" @@ -4770,138 +4880,138 @@ msgstr "" msgid "Part Information" msgstr "" -#: src/tables/bom/BomTable.tsx:177 +#: src/tables/bom/BomTable.tsx:179 #: src/tables/part/PartTable.tsx:124 msgid "No stock" msgstr "" -#: src/tables/bom/BomTable.tsx:185 +#: src/tables/bom/BomTable.tsx:187 #: src/tables/build/BuildLineTable.tsx:104 #: src/tables/part/PartTable.tsx:115 msgid "External stock" msgstr "" -#: src/tables/bom/BomTable.tsx:193 +#: src/tables/bom/BomTable.tsx:195 #: src/tables/build/BuildLineTable.tsx:67 msgid "Includes substitute stock" msgstr "" -#: src/tables/bom/BomTable.tsx:202 +#: src/tables/bom/BomTable.tsx:204 #: src/tables/build/BuildLineTable.tsx:77 msgid "Includes variant stock" msgstr "" -#: src/tables/bom/BomTable.tsx:227 +#: src/tables/bom/BomTable.tsx:229 #: src/tables/part/PartTable.tsx:143 #: src/tables/stock/StockItemTable.tsx:205 msgid "Stock Information" msgstr "" -#: src/tables/bom/BomTable.tsx:239 +#: src/tables/bom/BomTable.tsx:241 #: src/tables/build/BuildLineTable.tsx:195 msgid "Consumable item" msgstr "" -#: src/tables/bom/BomTable.tsx:260 +#: src/tables/bom/BomTable.tsx:262 msgid "Show trackable items" msgstr "" -#: src/tables/bom/BomTable.tsx:265 +#: src/tables/bom/BomTable.tsx:267 msgid "Show asssmbled items" msgstr "" -#: src/tables/bom/BomTable.tsx:270 +#: src/tables/bom/BomTable.tsx:272 msgid "Show items with available stock" msgstr "" -#: src/tables/bom/BomTable.tsx:275 +#: src/tables/bom/BomTable.tsx:277 msgid "Show items on order" msgstr "" -#: src/tables/bom/BomTable.tsx:279 +#: src/tables/bom/BomTable.tsx:281 msgid "Validated" msgstr "" -#: src/tables/bom/BomTable.tsx:280 +#: src/tables/bom/BomTable.tsx:282 msgid "Show validated items" msgstr "" -#: src/tables/bom/BomTable.tsx:284 +#: src/tables/bom/BomTable.tsx:286 #: src/tables/bom/UsedInTable.tsx:63 msgid "Inherited" msgstr "" -#: src/tables/bom/BomTable.tsx:285 +#: src/tables/bom/BomTable.tsx:287 #: src/tables/bom/UsedInTable.tsx:64 msgid "Show inherited items" msgstr "" -#: src/tables/bom/BomTable.tsx:289 +#: src/tables/bom/BomTable.tsx:291 #: src/tables/bom/UsedInTable.tsx:68 #: src/tables/build/BuildLineTable.tsx:46 msgid "Optional" msgstr "" -#: src/tables/bom/BomTable.tsx:290 +#: src/tables/bom/BomTable.tsx:292 #: src/tables/bom/UsedInTable.tsx:69 msgid "Show optional items" msgstr "" -#: src/tables/bom/BomTable.tsx:294 +#: src/tables/bom/BomTable.tsx:296 #: src/tables/build/BuildLineTable.tsx:41 msgid "Consumable" msgstr "" -#: src/tables/bom/BomTable.tsx:295 +#: src/tables/bom/BomTable.tsx:297 msgid "Show consumable items" msgstr "" -#: src/tables/bom/BomTable.tsx:299 +#: src/tables/bom/BomTable.tsx:301 msgid "Has Pricing" msgstr "" -#: src/tables/bom/BomTable.tsx:300 -msgid "Show items with pricing" -msgstr "" - #: src/tables/bom/BomTable.tsx:301 #~ msgid "Create BOM Item" #~ msgstr "Create BOM Item" -#: src/tables/bom/BomTable.tsx:309 -#: src/tables/bom/BomTable.tsx:397 +#: src/tables/bom/BomTable.tsx:302 +msgid "Show items with pricing" +msgstr "" + +#: src/tables/bom/BomTable.tsx:311 +#: src/tables/bom/BomTable.tsx:399 msgid "Add BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:314 +#: src/tables/bom/BomTable.tsx:316 msgid "BOM item created" msgstr "" -#: src/tables/bom/BomTable.tsx:321 +#: src/tables/bom/BomTable.tsx:323 msgid "Edit BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:323 +#: src/tables/bom/BomTable.tsx:325 msgid "BOM item updated" msgstr "" -#: src/tables/bom/BomTable.tsx:330 -msgid "Delete BOM Item" -msgstr "" - -#: src/tables/bom/BomTable.tsx:331 -msgid "BOM item deleted" -msgstr "" - #: src/tables/bom/BomTable.tsx:331 #~ msgid "Edit Bom Item" #~ msgstr "Edit Bom Item" +#: src/tables/bom/BomTable.tsx:332 +msgid "Delete BOM Item" +msgstr "" + +#: src/tables/bom/BomTable.tsx:333 +msgid "BOM item deleted" +msgstr "" + #: src/tables/bom/BomTable.tsx:333 #~ msgid "Bom item updated" #~ msgstr "Bom item updated" -#: src/tables/bom/BomTable.tsx:341 +#: src/tables/bom/BomTable.tsx:343 msgid "View BOM" msgstr "" @@ -4917,11 +5027,11 @@ msgstr "" #~ msgid "Are you sure you want to remove this BOM item?" #~ msgstr "Are you sure you want to remove this BOM item?" -#: src/tables/bom/BomTable.tsx:352 +#: src/tables/bom/BomTable.tsx:354 msgid "Validate BOM line" msgstr "" -#: src/tables/bom/BomTable.tsx:360 +#: src/tables/bom/BomTable.tsx:362 msgid "Edit Substitutes" msgstr "" @@ -5038,11 +5148,11 @@ msgid "Filter by responsible owner" msgstr "" #: src/tables/build/BuildOutputTable.tsx:114 -#: src/tables/build/BuildOutputTable.tsx:150 +#: src/tables/build/BuildOutputTable.tsx:152 msgid "Add Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:155 +#: src/tables/build/BuildOutputTable.tsx:157 msgid "Complete selected outputs" msgstr "" @@ -5050,68 +5160,68 @@ msgstr "" #~ msgid "Delete build output" #~ msgstr "Delete build output" -#: src/tables/build/BuildOutputTable.tsx:165 +#: src/tables/build/BuildOutputTable.tsx:167 msgid "Scrap selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:175 +#: src/tables/build/BuildOutputTable.tsx:177 msgid "Cancel selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:191 +#: src/tables/build/BuildOutputTable.tsx:193 msgid "Allocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:192 +#: src/tables/build/BuildOutputTable.tsx:194 msgid "Allocate stock to build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:197 +#: src/tables/build/BuildOutputTable.tsx:199 msgid "Deallocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:198 +#: src/tables/build/BuildOutputTable.tsx:200 msgid "Deallocate stock from build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:203 +#: src/tables/build/BuildOutputTable.tsx:205 msgid "Complete" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:204 +#: src/tables/build/BuildOutputTable.tsx:206 msgid "Complete build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:213 +#: src/tables/build/BuildOutputTable.tsx:215 msgid "Scrap" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:214 +#: src/tables/build/BuildOutputTable.tsx:216 msgid "Scrap build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:224 +#: src/tables/build/BuildOutputTable.tsx:226 msgid "Cancel build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:251 +#: src/tables/build/BuildOutputTable.tsx:253 msgid "Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:264 +#: src/tables/build/BuildOutputTable.tsx:266 msgid "Batch" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:278 +#: src/tables/build/BuildOutputTable.tsx:280 msgid "Allocated Items" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:288 +#: src/tables/build/BuildOutputTable.tsx:290 msgid "Required Tests" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:317 -#: src/tables/stock/StockItemTestResultTable.tsx:146 +#: src/tables/build/BuildOutputTable.tsx:319 +#: src/tables/stock/StockItemTestResultTable.tsx:144 msgid "Test Results" msgstr "" @@ -5132,7 +5242,7 @@ msgstr "" msgid "Delete Address" msgstr "" -#: src/tables/company/AddressTable.tsx:145 +#: src/tables/company/AddressTable.tsx:144 msgid "Are you sure you want to delete this address?" msgstr "" @@ -5177,36 +5287,52 @@ msgstr "" msgid "Add contact" msgstr "" -#: src/tables/general/AttachmentTable.tsx:161 +#: src/tables/general/AttachmentTable.tsx:130 msgid "File uploaded" msgstr "" -#: src/tables/general/AttachmentTable.tsx:162 +#: src/tables/general/AttachmentTable.tsx:131 msgid "File {0} uploaded successfully" msgstr "" -#: src/tables/general/AttachmentTable.tsx:173 +#: src/tables/general/AttachmentTable.tsx:142 msgid "Upload Error" msgstr "" -#: src/tables/general/AttachmentTable.tsx:174 +#: src/tables/general/AttachmentTable.tsx:143 msgid "File could not be uploaded" msgstr "" #: src/tables/general/AttachmentTable.tsx:187 +msgid "Upload Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:197 +msgid "Edit Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:211 +msgid "Delete Attachment" +msgstr "Smazat přílohu" + +#: src/tables/general/AttachmentTable.tsx:221 msgid "Add attachment" msgstr "" -#: src/tables/general/AttachmentTable.tsx:207 +#: src/tables/general/AttachmentTable.tsx:232 msgid "Add external link" msgstr "" -#: src/tables/general/AttachmentTable.tsx:239 +#: src/tables/general/AttachmentTable.tsx:254 +#~ msgid "Upload attachment" +#~ msgstr "Upload attachment" + +#: src/tables/general/AttachmentTable.tsx:289 msgid "No attachments found" msgstr "" -#: src/tables/general/AttachmentTable.tsx:254 -msgid "Upload attachment" +#: src/tables/general/AttachmentTable.tsx:325 +msgid "Drag attachment file here to upload" msgstr "" #: src/tables/machine/MachineListTable.tsx:199 @@ -5332,8 +5458,8 @@ msgstr "" #: src/tables/machine/MachineTypeTable.tsx:135 #: src/tables/machine/MachineTypeTable.tsx:255 -#: src/tables/plugin/PluginListTable.tsx:215 -#: src/tables/plugin/PluginListTable.tsx:643 +#: src/tables/plugin/PluginListTable.tsx:180 +#: src/tables/plugin/PluginListTable.tsx:568 msgid "Builtin" msgstr "" @@ -5375,7 +5501,7 @@ msgid "Message" msgstr "" #: src/tables/part/ParametricPartTable.tsx:75 -#: src/tables/part/PartParameterTable.tsx:87 +#: src/tables/part/PartParameterTable.tsx:88 msgid "Internal Units" msgstr "" @@ -5388,29 +5514,29 @@ msgid "Add Part Parameter" msgstr "" #: src/tables/part/ParametricPartTable.tsx:147 -#: src/tables/part/PartParameterTable.tsx:128 -#: src/tables/part/PartParameterTable.tsx:150 +#: src/tables/part/PartParameterTable.tsx:121 +#: src/tables/part/PartParameterTable.tsx:144 msgid "Edit Part Parameter" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:64 +#: src/tables/part/PartCategoryTable.tsx:60 #: src/tables/part/PartTable.tsx:180 msgid "Include Subcategories" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:65 +#: src/tables/part/PartCategoryTable.tsx:61 msgid "Include subcategories in results" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:70 +#: src/tables/part/PartCategoryTable.tsx:66 msgid "Show structural categories" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:77 +#: src/tables/part/PartCategoryTable.tsx:73 msgid "New Part Category" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:106 +#: src/tables/part/PartCategoryTable.tsx:98 msgid "Add Part Category" msgstr "" @@ -5435,20 +5561,20 @@ msgstr "" #~ msgid "[{0}]" #~ msgstr "[{0}]" -#: src/tables/part/PartParameterTable.tsx:112 +#: src/tables/part/PartParameterTable.tsx:105 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:136 -#: src/tables/part/PartParameterTable.tsx:158 +#: src/tables/part/PartParameterTable.tsx:130 +#: src/tables/part/PartParameterTable.tsx:152 msgid "Delete Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:175 +#: src/tables/part/PartParameterTable.tsx:170 msgid "Add parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:196 +#: src/tables/part/PartParameterTable.tsx:191 #: src/tables/stock/StockItemTable.tsx:300 msgid "Include Variants" msgstr "" @@ -5482,15 +5608,15 @@ msgstr "" msgid "Add Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:97 +#: src/tables/part/PartParameterTemplateTable.tsx:100 msgid "Edit Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:105 +#: src/tables/part/PartParameterTemplateTable.tsx:111 msgid "Delete Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:135 +#: src/tables/part/PartParameterTemplateTable.tsx:141 msgid "Add parameter template" msgstr "" @@ -5588,7 +5714,7 @@ msgid "No Results" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:79 -#: src/tables/stock/StockItemTestResultTable.tsx:385 +#: src/tables/stock/StockItemTestResultTable.tsx:376 msgid "Required" msgstr "" @@ -5597,8 +5723,8 @@ msgid "Show required tests" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:84 -#: src/tables/settings/TemplateTable.tsx:213 -#: src/tables/settings/TemplateTable.tsx:275 +#: src/tables/settings/TemplateTable.tsx:160 +#: src/tables/settings/TemplateTable.tsx:270 msgid "Enabled" msgstr "" @@ -5639,26 +5765,30 @@ msgid "Show tests which have recorded results" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:126 -#: src/tables/part/PartTestTemplateTable.tsx:195 +#: src/tables/part/PartTestTemplateTable.tsx:201 msgid "Add Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:139 +#: src/tables/part/PartTestTemplateTable.tsx:142 msgid "Edit Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:147 +#: src/tables/part/PartTestTemplateTable.tsx:153 msgid "Delete Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:149 +#: src/tables/part/PartTestTemplateTable.tsx:155 msgid "This action cannot be reversed" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:151 +#: src/tables/part/PartTestTemplateTable.tsx:157 msgid "Any tests results associated with this template will be deleted" msgstr "" +#: src/tables/part/PartThumbTable.tsx:203 +msgid "Select" +msgstr "Vybrat" + #: src/tables/part/PartVariantTable.tsx:16 msgid "Show active variants" msgstr "" @@ -5695,252 +5825,273 @@ msgstr "" msgid "Stage" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:113 -msgid "Plugin with id {id} not found" +#: src/tables/plugin/PluginListTable.tsx:95 +msgid "Plugin with key {pluginKey} not found" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:115 +#: src/tables/plugin/PluginListTable.tsx:97 msgid "An error occurred while fetching plugin details" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:134 -msgid "Plugin Actions" -msgstr "" +#: src/tables/plugin/PluginListTable.tsx:113 +#~ msgid "Plugin with id {id} not found" +#~ msgstr "Plugin with id {id} not found" -#: src/tables/plugin/PluginListTable.tsx:138 -#: src/tables/plugin/PluginListTable.tsx:141 -msgid "Edit plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:152 -#: src/tables/plugin/PluginListTable.tsx:153 -msgid "Reload" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:166 +#: src/tables/plugin/PluginListTable.tsx:122 msgid "Plugin information" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:177 +#: src/tables/plugin/PluginListTable.tsx:134 msgid "Author" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:198 +#: src/tables/plugin/PluginListTable.tsx:134 +#~ msgid "Plugin Actions" +#~ msgstr "Plugin Actions" + +#: src/tables/plugin/PluginListTable.tsx:138 +#: src/tables/plugin/PluginListTable.tsx:141 +#~ msgid "Edit plugin" +#~ msgstr "Edit plugin" + +#: src/tables/plugin/PluginListTable.tsx:152 +#: src/tables/plugin/PluginListTable.tsx:153 +#~ msgid "Reload" +#~ msgstr "Reload" + +#: src/tables/plugin/PluginListTable.tsx:154 +msgid "Plugin is not active" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:163 msgid "Package information" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:204 +#: src/tables/plugin/PluginListTable.tsx:169 msgid "Package Name" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:210 +#: src/tables/plugin/PluginListTable.tsx:175 msgid "Installation Path" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:220 +#: src/tables/plugin/PluginListTable.tsx:185 msgid "Package" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:231 +#: src/tables/plugin/PluginListTable.tsx:197 msgid "Plugin settings" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:248 +#: src/tables/plugin/PluginListTable.tsx:214 msgid "Plugin is active" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:254 +#: src/tables/plugin/PluginListTable.tsx:220 msgid "Plugin is inactive" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:261 +#: src/tables/plugin/PluginListTable.tsx:227 msgid "Plugin is not installed" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:287 +#: src/tables/plugin/PluginListTable.tsx:253 msgid "Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:312 +#: src/tables/plugin/PluginListTable.tsx:287 msgid "Description not available" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:338 +#: src/tables/plugin/PluginListTable.tsx:319 +msgid "Confirm plugin activation" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:320 +msgid "Confirm plugin deactivation" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:325 +msgid "The selected plugin will be activated" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:326 +msgid "The selected plugin will be deactivated" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:334 msgid "Activate Plugin" msgstr "" #: src/tables/plugin/PluginListTable.tsx:338 -msgid "Deactivate Plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:347 -msgid "Confirm plugin activation" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:348 -msgid "Confirm plugin deactivation" -msgstr "" +#~ msgid "Deactivate Plugin" +#~ msgstr "Deactivate Plugin" #: src/tables/plugin/PluginListTable.tsx:354 -msgid "The following plugin will be activated" -msgstr "" +#~ msgid "The following plugin will be activated" +#~ msgstr "The following plugin will be activated" #: src/tables/plugin/PluginListTable.tsx:355 -msgid "The following plugin will be deactivated" -msgstr "" +#~ msgid "The following plugin will be deactivated" +#~ msgstr "The following plugin will be deactivated" -#: src/tables/plugin/PluginListTable.tsx:366 -msgid "Confirm" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:376 -msgid "Activating plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:376 -msgid "Deactivating plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:392 -msgid "Plugin updated" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:394 -msgid "The plugin was activated" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:395 -msgid "The plugin was deactivated" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:403 -msgid "Error updating plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:423 +#: src/tables/plugin/PluginListTable.tsx:362 msgid "Deactivate" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:432 +#: src/tables/plugin/PluginListTable.tsx:366 +#~ msgid "Confirm" +#~ msgstr "Confirm" + +#: src/tables/plugin/PluginListTable.tsx:373 msgid "Activate" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:463 +#: src/tables/plugin/PluginListTable.tsx:376 +#~ msgid "Activating plugin" +#~ msgstr "Activating plugin" + +#: src/tables/plugin/PluginListTable.tsx:376 +#~ msgid "Deactivating plugin" +#~ msgstr "Deactivating plugin" + +#: src/tables/plugin/PluginListTable.tsx:392 +#~ msgid "Plugin updated" +#~ msgstr "Plugin updated" + +#: src/tables/plugin/PluginListTable.tsx:394 +#~ msgid "The plugin was activated" +#~ msgstr "The plugin was activated" + +#: src/tables/plugin/PluginListTable.tsx:395 +#~ msgid "The plugin was deactivated" +#~ msgstr "The plugin was deactivated" + +#: src/tables/plugin/PluginListTable.tsx:403 +#~ msgid "Error updating plugin" +#~ msgstr "Error updating plugin" + +#: src/tables/plugin/PluginListTable.tsx:406 msgid "Uninstall" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:495 +#: src/tables/plugin/PluginListTable.tsx:438 msgid "Install plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:508 +#: src/tables/plugin/PluginListTable.tsx:451 msgid "Install" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:512 +#: src/tables/plugin/PluginListTable.tsx:452 msgid "Plugin installed successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:525 +#: src/tables/plugin/PluginListTable.tsx:457 msgid "Uninstall Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:537 +#: src/tables/plugin/PluginListTable.tsx:469 msgid "Confirm plugin uninstall" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:540 +#: src/tables/plugin/PluginListTable.tsx:472 msgid "The selected plugin will be uninstalled." msgstr "" -#: src/tables/plugin/PluginListTable.tsx:541 +#: src/tables/plugin/PluginListTable.tsx:473 msgid "This action cannot be undone." msgstr "" -#: src/tables/plugin/PluginListTable.tsx:547 +#: src/tables/plugin/PluginListTable.tsx:477 msgid "Plugin uninstalled successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:560 +#: src/tables/plugin/PluginListTable.tsx:484 msgid "Delete Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:562 +#: src/tables/plugin/PluginListTable.tsx:485 msgid "Deleting this plugin configuration will remove all associated settings and data. Are you sure you want to delete this plugin?" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:574 +#: src/tables/plugin/PluginListTable.tsx:498 msgid "Plugins reloaded" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:575 +#: src/tables/plugin/PluginListTable.tsx:499 msgid "Plugins were reloaded successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:591 +#: src/tables/plugin/PluginListTable.tsx:515 msgid "Reload Plugins" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:600 +#: src/tables/plugin/PluginListTable.tsx:524 msgid "Install Plugin" msgstr "" +#: src/tables/plugin/PluginListTable.tsx:544 +msgid "Plugin Detail" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:573 +msgid "Sample" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:578 +#: src/tables/stock/StockItemTable.tsx:305 +msgid "Installed" +msgstr "" + #: src/tables/plugin/PluginListTable.tsx:615 #~ msgid "Plugin detail" #~ msgstr "Plugin detail" -#: src/tables/plugin/PluginListTable.tsx:619 -msgid "Plugin Detail" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:648 -msgid "Sample" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:653 -#: src/tables/stock/StockItemTable.tsx:305 -msgid "Installed" -msgstr "" - -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:57 -msgid "Edit Parameter" +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:59 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:108 +msgid "Add Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:60 -msgid "Parameter updated" -msgstr "" +#~ msgid "Parameter updated" +#~ msgstr "Parameter updated" -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:71 -msgid "Delete Parameter" +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:70 +msgid "Edit Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:73 -msgid "Parameter deleted" -msgstr "" +#~ msgid "Parameter deleted" +#~ msgstr "Parameter deleted" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:74 -msgid "Are you sure you want to delete this parameter?" +#~ msgid "Are you sure you want to delete this parameter?" +#~ msgstr "Are you sure you want to delete this parameter?" + +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:78 +msgid "Delete Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartTable.tsx:63 #~ msgid "Create Manufacturer Part" #~ msgstr "Create Manufacturer Part" -#: src/tables/purchasing/ManufacturerPartTable.tsx:100 -msgid "Manufacturer part updated" -msgstr "" - -#: src/tables/purchasing/ManufacturerPartTable.tsx:111 +#: src/tables/purchasing/ManufacturerPartTable.tsx:92 msgid "Delete Manufacturer Part" msgstr "" +#: src/tables/purchasing/ManufacturerPartTable.tsx:100 +#~ msgid "Manufacturer part updated" +#~ msgstr "Manufacturer part updated" + #: src/tables/purchasing/ManufacturerPartTable.tsx:112 -msgid "Manufacturer part deleted" -msgstr "" +#~ msgid "Manufacturer part deleted" +#~ msgstr "Manufacturer part deleted" #: src/tables/purchasing/ManufacturerPartTable.tsx:114 -msgid "Are you sure you want to remove this manufacturer part?" -msgstr "" +#~ msgid "Are you sure you want to remove this manufacturer part?" +#~ msgstr "Are you sure you want to remove this manufacturer part?" #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:86 msgid "Part Description" @@ -6087,18 +6238,22 @@ msgid "Error Information" msgstr "" #: src/tables/settings/ErrorTable.tsx:51 -msgid "Delete error report" +msgid "Delete Error Report" msgstr "" +#: src/tables/settings/ErrorTable.tsx:51 +#~ msgid "Delete error report" +#~ msgstr "Delete error report" + #: src/tables/settings/ErrorTable.tsx:53 -msgid "Error report deleted" -msgstr "" - -#: src/tables/settings/ErrorTable.tsx:54 msgid "Are you sure you want to delete this error report?" msgstr "" -#: src/tables/settings/ErrorTable.tsx:67 +#: src/tables/settings/ErrorTable.tsx:55 +msgid "Error report deleted" +msgstr "" + +#: src/tables/settings/ErrorTable.tsx:77 #: src/tables/settings/FailedTasksTable.tsx:57 msgid "Error Details" msgstr "" @@ -6115,7 +6270,7 @@ msgid "Task ID" msgstr "" #: src/tables/settings/FailedTasksTable.tsx:34 -#: src/tables/stock/StockItemTestResultTable.tsx:214 +#: src/tables/stock/StockItemTestResultTable.tsx:205 msgid "Started" msgstr "" @@ -6188,30 +6343,71 @@ msgstr "" msgid "Next Run" msgstr "" -#: src/tables/settings/TemplateTable.tsx:120 -msgid "{templateTypeTranslation} with id {id} not found" +#: src/tables/settings/TemplateTable.tsx:82 +msgid "Template not found" msgstr "" +#: src/tables/settings/TemplateTable.tsx:84 +msgid "An error occurred while fetching template details" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:120 +#~ msgid "{templateTypeTranslation} with id {id} not found" +#~ msgstr "{templateTypeTranslation} with id {id} not found" + #: src/tables/settings/TemplateTable.tsx:124 -msgid "An error occurred while fetching {templateTypeTranslation} details" -msgstr "" +#~ msgid "An error occurred while fetching {templateTypeTranslation} details" +#~ msgstr "An error occurred while fetching {templateTypeTranslation} details" #: src/tables/settings/TemplateTable.tsx:146 -msgid "actions" +#~ msgid "actions" +#~ msgstr "actions" + +#: src/tables/settings/TemplateTable.tsx:170 +msgid "Modify" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:171 +msgid "Modify template file" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:222 +#: src/tables/settings/TemplateTable.tsx:289 +msgid "Edit Template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:230 +msgid "Delete template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:236 +msgid "Add Template" msgstr "" #: src/tables/settings/TemplateTable.tsx:243 -msgid "Add new" -msgstr "" +#~ msgid "Add new" +#~ msgstr "Add new" #: src/tables/settings/TemplateTable.tsx:243 #~ msgid "Create new" #~ msgstr "Create new" -#: src/tables/settings/TemplateTable.tsx:276 +#: src/tables/settings/TemplateTable.tsx:249 +msgid "Add template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:271 msgid "Filter by enabled status" msgstr "" +#: src/tables/settings/TemplateTable.tsx:276 +msgid "Model Type" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:277 +msgid "Filter by target model type" +msgstr "" + #: src/tables/settings/UserTable.tsx:79 msgid "User with id {id} not found" msgstr "" @@ -6277,6 +6473,23 @@ msgstr "" msgid "Edit user" msgstr "" +#: src/tables/stock/LocationTypesTable.tsx:36 +#: src/tables/stock/LocationTypesTable.tsx:105 +msgid "Add Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:44 +msgid "Edit Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:52 +msgid "Delete Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:69 +msgid "Icon" +msgstr "" + #: src/tables/stock/StockItemTable.tsx:90 msgid "This stock item is in production" msgstr "" @@ -6338,7 +6551,7 @@ msgid "Show items which are available" msgstr "" #: src/tables/stock/StockItemTable.tsx:280 -#: src/tables/stock/StockLocationTable.tsx:37 +#: src/tables/stock/StockLocationTable.tsx:33 msgid "Include Sublocations" msgstr "" @@ -6467,123 +6680,135 @@ msgstr "" msgid "Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:153 +#: src/tables/stock/StockItemTestResultTable.tsx:151 msgid "Test result for installed stock item" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:164 +#: src/tables/stock/StockItemTestResultTable.tsx:162 msgid "Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:170 +#: src/tables/stock/StockItemTestResultTable.tsx:168 msgid "No Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:186 +#: src/tables/stock/StockItemTestResultTable.tsx:184 msgid "Attachment" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:209 +#: src/tables/stock/StockItemTestResultTable.tsx:200 msgid "Test station" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:229 +#: src/tables/stock/StockItemTestResultTable.tsx:220 msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:277 -#: src/tables/stock/StockItemTestResultTable.tsx:349 -#: src/tables/stock/StockItemTestResultTable.tsx:404 +#: src/tables/stock/StockItemTestResultTable.tsx:268 +#: src/tables/stock/StockItemTestResultTable.tsx:340 +#: src/tables/stock/StockItemTestResultTable.tsx:395 msgid "Add Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:279 +#: src/tables/stock/StockItemTestResultTable.tsx:270 msgid "Test result added" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:288 -#: src/tables/stock/StockItemTestResultTable.tsx:359 +#: src/tables/stock/StockItemTestResultTable.tsx:279 +#: src/tables/stock/StockItemTestResultTable.tsx:350 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:290 +#: src/tables/stock/StockItemTestResultTable.tsx:281 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:296 -#: src/tables/stock/StockItemTestResultTable.tsx:368 +#: src/tables/stock/StockItemTestResultTable.tsx:287 +#: src/tables/stock/StockItemTestResultTable.tsx:359 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:298 +#: src/tables/stock/StockItemTestResultTable.tsx:289 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:312 +#: src/tables/stock/StockItemTestResultTable.tsx:303 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:313 +#: src/tables/stock/StockItemTestResultTable.tsx:304 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:320 +#: src/tables/stock/StockItemTestResultTable.tsx:311 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:337 +#: src/tables/stock/StockItemTestResultTable.tsx:328 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:386 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:390 +#: src/tables/stock/StockItemTestResultTable.tsx:381 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:391 +#: src/tables/stock/StockItemTestResultTable.tsx:382 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:395 +#: src/tables/stock/StockItemTestResultTable.tsx:386 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:396 +#: src/tables/stock/StockItemTestResultTable.tsx:387 msgid "Show only passed tests" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:38 +#: src/tables/stock/StockLocationTable.tsx:34 msgid "Include sublocations in results" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:42 +#: src/tables/stock/StockLocationTable.tsx:38 msgid "structural" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:43 +#: src/tables/stock/StockLocationTable.tsx:39 msgid "Show structural locations" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:47 +#: src/tables/stock/StockLocationTable.tsx:43 msgid "external" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:48 +#: src/tables/stock/StockLocationTable.tsx:44 msgid "Show external locations" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:52 +#: src/tables/stock/StockLocationTable.tsx:48 msgid "Has location type" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:89 -#: src/tables/stock/StockLocationTable.tsx:118 +#: src/tables/stock/StockLocationTable.tsx:85 +#: src/tables/stock/StockLocationTable.tsx:110 msgid "Add Stock Location" msgstr "" +#: src/tables/stock/StockTrackingTable.tsx:64 +msgid "Added" +msgstr "" + +#: src/tables/stock/StockTrackingTable.tsx:69 +msgid "Removed" +msgstr "" + +#: src/tables/stock/StockTrackingTable.tsx:198 +msgid "No user information" +msgstr "" + #: src/views/MobileAppView.tsx:22 msgid "Mobile viewport detected" msgstr "" diff --git a/src/frontend/src/locales/da/messages.po b/src/frontend/src/locales/da/messages.po index 31d5742dcb..db090696a1 100644 --- a/src/frontend/src/locales/da/messages.po +++ b/src/frontend/src/locales/da/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: da\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-05-13 02:48\n" +"PO-Revision-Date: 2024-05-23 11:38\n" "Last-Translator: \n" "Language-Team: Danish\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -30,10 +30,67 @@ msgstr "" msgid "Title" msgstr "" +#: src/components/buttons/AdminButton.tsx:83 +msgid "Open in admin interface" +msgstr "" + #: src/components/buttons/CopyButton.tsx:18 msgid "Copy to clipboard" msgstr "" +#: src/components/buttons/PrintingActions.tsx:95 +msgid "Print Label" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:101 +msgid "Label printing completed successfully" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:106 +#: src/components/buttons/PrintingActions.tsx:143 +#: src/components/forms/ApiForm.tsx:504 +#: src/components/forms/fields/ApiFormField.tsx:295 +#: src/components/modals/LicenseModal.tsx:75 +#: src/components/nav/SearchDrawer.tsx:413 +#: src/components/widgets/MarkdownEditor.tsx:107 +#: src/components/widgets/MarkdownEditor.tsx:153 +#: src/pages/ErrorPage.tsx:12 +#: src/pages/ErrorPage.tsx:25 +#: src/pages/part/PartPricingPanel.tsx:71 +#: src/tables/InvenTreeTable.tsx:451 +#: src/tables/InvenTreeTable.tsx:531 +#: src/tables/stock/StockItemTestResultTable.tsx:310 +msgid "Error" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:107 +msgid "The label could not be generated" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:122 +msgid "Print Report" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:138 +msgid "Report printing completed successfully" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:144 +msgid "The report could not be generated" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:171 +msgid "Printing Actions" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:176 +msgid "Print Labels" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:182 +msgid "Print Reports" +msgstr "" + #: src/components/buttons/ScanButton.tsx:15 msgid "Scan QR code" msgstr "" @@ -64,15 +121,15 @@ msgstr "" msgid "No" msgstr "" -#: src/components/details/Details.tsx:302 +#: src/components/details/Details.tsx:303 msgid "No name defined" msgstr "" -#: src/components/details/Details.tsx:339 +#: src/components/details/Details.tsx:340 msgid "Copied" msgstr "" -#: src/components/details/Details.tsx:339 +#: src/components/details/Details.tsx:340 msgid "Copy" msgstr "" @@ -85,24 +142,23 @@ msgid "Remove the associated image from this item?" msgstr "" #: src/components/details/DetailsImage.tsx:71 -#: src/forms/StockForms.tsx:442 +#: src/forms/StockForms.tsx:483 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:448 +#: src/pages/stock/StockDetail.tsx:462 msgid "Remove" msgstr "" #: src/components/details/DetailsImage.tsx:71 -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:163 -#: src/components/items/ActionDropdown.tsx:222 -#: src/components/items/ActionDropdown.tsx:223 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 +#: src/components/items/ActionDropdown.tsx:229 +#: src/components/items/ActionDropdown.tsx:230 #: src/contexts/ThemeContext.tsx:43 #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:40 -#: src/tables/FilterSelectDrawer.tsx:218 -#: src/tables/InvenTreeTable.tsx:493 -#: src/tables/build/BuildOutputTable.tsx:223 -#: src/tables/plugin/PluginListTable.tsx:365 +#: src/tables/FilterSelectDrawer.tsx:207 +#: src/tables/InvenTreeTable.tsx:499 +#: src/tables/build/BuildOutputTable.tsx:225 msgid "Cancel" msgstr "" @@ -119,7 +175,7 @@ msgid "Clear" msgstr "" #: src/components/details/DetailsImage.tsx:227 -#: src/components/forms/ApiForm.tsx:554 +#: src/components/forms/ApiForm.tsx:571 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:56 msgid "Submit" @@ -150,9 +206,10 @@ msgid "Part is not active" msgstr "" #: src/components/details/PartIcons.tsx:34 -#: src/pages/company/CompanyDetail.tsx:308 -#: src/pages/company/SupplierPartDetail.tsx:304 -#: src/pages/part/PartDetail.tsx:684 +#: src/components/render/Plugin.tsx:17 +#: src/pages/company/CompanyDetail.tsx:310 +#: src/pages/company/SupplierPartDetail.tsx:305 +#: src/pages/part/PartDetail.tsx:685 msgid "Inactive" msgstr "" @@ -196,10 +253,10 @@ msgid "Code" msgstr "" #: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:44 -msgid "Failed to parse error response from server." -msgstr "" +#~ msgid "Failed to parse error response from server." +#~ msgstr "Failed to parse error response from server." -#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:82 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:81 msgid "Preview not available, click \"Reload Preview\"." msgstr "" @@ -207,98 +264,99 @@ msgstr "" msgid "PDF Preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:113 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:104 msgid "Error loading template" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:125 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:116 msgid "Error saving template" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 -msgid "Save & Reload preview?" +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:146 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:270 +msgid "Save & Reload Preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:156 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 msgid "Are you sure you want to Save & Reload the preview?" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 +#~ msgid "Save & Reload preview?" +#~ msgstr "Save & Reload preview?" + +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:153 msgid "To render the preview the current template needs to be replaced on the server with your modifications which may break the label if it is under active use. Do you want to proceed?" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:162 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:157 msgid "Save & Reload" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:191 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:189 msgid "Preview updated" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:192 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:190 msgid "The preview has been updated successfully." msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:255 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:262 msgid "Reload preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:256 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:263 msgid "Use the currently stored template from the server" msgstr "" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:263 -msgid "Save & Reload preview" -msgstr "" +#~ msgid "Save & Reload preview" +#~ msgstr "Save & Reload preview" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:264 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:271 msgid "Save the current template and reload the preview" msgstr "" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:322 -#: src/tables/part/PartThumbTable.tsx:203 -msgid "Select" +#~ msgid "to preview" +#~ msgstr "to preview" + +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:329 +msgid "Select instance to preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:322 -msgid "to preview" -msgstr "" - -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:366 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:373 msgid "Error rendering template" msgstr "" -#: src/components/forms/ApiForm.tsx:143 +#: src/components/forms/ApiForm.tsx:148 #: src/functions/forms.tsx:259 msgid "Form Error" msgstr "" -#: src/components/forms/ApiForm.tsx:411 +#: src/components/forms/ApiForm.tsx:428 #: src/components/widgets/MarkdownEditor.tsx:145 msgid "Success" msgstr "" #: src/components/forms/ApiForm.tsx:487 -msgid "Form Errors Exist" -msgstr "" +#~ msgid "Form Errors Exist" +#~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:592 -#: src/tables/plugin/PluginListTable.tsx:445 +#: src/components/forms/ApiForm.tsx:609 +#: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "" -#: src/components/forms/ApiForm.tsx:612 -#: src/components/items/ActionDropdown.tsx:203 +#: src/components/forms/ApiForm.tsx:629 +#: src/components/items/ActionDropdown.tsx:210 #: src/functions/forms.tsx:299 #: src/hooks/UseForm.tsx:122 #: src/pages/Index/Scan.tsx:343 #: src/pages/Notifications.tsx:123 -#: src/tables/InvenTreeTable.tsx:492 +#: src/tables/InvenTreeTable.tsx:498 #: src/tables/RowActions.tsx:71 -#: src/tables/plugin/PluginListTable.tsx:477 -#: src/tables/settings/TemplateTable.tsx:105 -#: src/tables/settings/TemplateTable.tsx:154 -#: src/tables/settings/TemplateTable.tsx:236 +#: src/tables/plugin/PluginListTable.tsx:420 msgid "Delete" msgstr "" @@ -468,18 +526,19 @@ msgstr "" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 -#: src/pages/part/CategoryDetail.tsx:77 -#: src/pages/part/PartDetail.tsx:125 -#: src/pages/stock/LocationDetail.tsx:83 +#: src/pages/part/CategoryDetail.tsx:78 +#: src/pages/part/PartDetail.tsx:126 +#: src/pages/stock/LocationDetail.tsx:85 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 #: src/tables/machine/MachineTypeTable.tsx:216 #: src/tables/machine/MachineTypeTable.tsx:319 #: src/tables/plugin/PluginErrorTable.tsx:33 -#: src/tables/plugin/PluginListTable.tsx:169 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:27 +#: src/tables/plugin/PluginListTable.tsx:126 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:32 #: src/tables/settings/GroupTable.tsx:103 #: src/tables/settings/PendingTasksTable.tsx:26 +#: src/tables/stock/LocationTypesTable.tsx:60 msgid "Name" msgstr "" @@ -520,35 +579,20 @@ msgstr "" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/ApiFormField.tsx:276 -#: src/components/modals/LicenseModal.tsx:75 -#: src/components/nav/SearchDrawer.tsx:413 -#: src/components/widgets/MarkdownEditor.tsx:107 -#: src/components/widgets/MarkdownEditor.tsx:153 -#: src/pages/ErrorPage.tsx:12 -#: src/pages/ErrorPage.tsx:25 -#: src/pages/part/PartPricingPanel.tsx:71 -#: src/tables/InvenTreeTable.tsx:445 -#: src/tables/InvenTreeTable.tsx:525 -#: src/tables/plugin/PluginListTable.tsx:402 -#: src/tables/stock/StockItemTestResultTable.tsx:319 -msgid "Error" -msgstr "" - -#: src/components/forms/fields/RelatedModelField.tsx:305 +#: src/components/forms/fields/RelatedModelField.tsx:315 #: src/pages/Index/Settings/UserSettings.tsx:64 #: src/tables/Search.tsx:23 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:306 +#: src/components/forms/fields/RelatedModelField.tsx:316 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:120 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:308 +#: src/components/forms/fields/RelatedModelField.tsx:318 msgid "No results found" msgstr "" @@ -569,54 +613,51 @@ msgstr "" msgid "Thumbnail" msgstr "" -#: src/components/items/ActionDropdown.tsx:112 -#: src/pages/build/BuildDetail.tsx:354 +#: src/components/items/ActionDropdown.tsx:119 +#: src/pages/build/BuildDetail.tsx:360 msgid "Barcode Actions" msgstr "" -#: src/components/items/ActionDropdown.tsx:129 +#: src/components/items/ActionDropdown.tsx:136 msgid "View" msgstr "" -#: src/components/items/ActionDropdown.tsx:130 +#: src/components/items/ActionDropdown.tsx:137 msgid "View barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:146 +#: src/components/items/ActionDropdown.tsx:153 msgid "Link Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:147 +#: src/components/items/ActionDropdown.tsx:154 msgid "Link custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:163 -#: src/forms/PurchaseOrderForms.tsx:375 +#: src/components/items/ActionDropdown.tsx:170 +#: src/forms/PurchaseOrderForms.tsx:389 msgid "Unlink Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:164 +#: src/components/items/ActionDropdown.tsx:171 msgid "Unlink custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:182 +#: src/components/items/ActionDropdown.tsx:189 #: src/tables/RowActions.tsx:51 -#: src/tables/settings/TemplateTable.tsx:87 -#: src/tables/settings/TemplateTable.tsx:150 -#: src/tables/settings/TemplateTable.tsx:287 msgid "Edit" msgstr "" -#: src/components/items/ActionDropdown.tsx:204 +#: src/components/items/ActionDropdown.tsx:211 msgid "Delete item" msgstr "" -#: src/components/items/ActionDropdown.tsx:241 +#: src/components/items/ActionDropdown.tsx:248 #: src/tables/RowActions.tsx:31 msgid "Duplicate" msgstr "" -#: src/components/items/ActionDropdown.tsx:242 +#: src/components/items/ActionDropdown.tsx:249 msgid "Duplicate item" msgstr "" @@ -625,7 +666,7 @@ msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:437 +#: src/tables/InvenTreeTable.tsx:443 msgid "Unknown error" msgstr "" @@ -785,27 +826,27 @@ msgstr "" #: src/components/modals/QrCodeModal.tsx:154 #: src/defaults/menuItems.tsx:21 -#: src/pages/Index/Scan.tsx:747 +#: src/pages/Index/Scan.tsx:746 msgid "Scanning" msgstr "" #: src/components/modals/QrCodeModal.tsx:154 -#: src/pages/Index/Scan.tsx:747 +#: src/pages/Index/Scan.tsx:746 msgid "Not scanning" msgstr "" #: src/components/modals/QrCodeModal.tsx:159 -#: src/pages/Index/Scan.tsx:753 +#: src/pages/Index/Scan.tsx:752 msgid "Select Camera" msgstr "" #: src/components/modals/QrCodeModal.tsx:169 -#: src/pages/Index/Scan.tsx:738 +#: src/pages/Index/Scan.tsx:737 msgid "Start scanning" msgstr "" #: src/components/modals/QrCodeModal.tsx:176 -#: src/pages/Index/Scan.tsx:730 +#: src/pages/Index/Scan.tsx:729 msgid "Stop scanning" msgstr "" @@ -891,8 +932,8 @@ msgid "Email settings not configured" msgstr "" #: src/components/modals/ServerInfoModal.tsx:121 -#: src/tables/plugin/PluginListTable.tsx:187 -#: src/tables/plugin/PluginListTable.tsx:319 +#: src/tables/plugin/PluginListTable.tsx:144 +#: src/tables/plugin/PluginListTable.tsx:294 msgid "Version" msgstr "" @@ -926,13 +967,13 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:293 +#: src/pages/Index/Settings/SystemSettings.tsx:294 msgid "System Settings" msgstr "" #: src/components/nav/MainMenu.tsx:67 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:172 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 msgid "Admin Center" msgstr "" @@ -975,7 +1016,7 @@ msgid "Pages" msgstr "" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:133 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:153 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "" @@ -1013,9 +1054,9 @@ msgid "Mark as read" msgstr "" #: src/components/nav/PartCategoryTree.tsx:158 -#: src/components/render/ModelType.tsx:60 +#: src/components/render/ModelType.tsx:64 #: src/pages/Index/Settings/SystemSettings.tsx:162 -#: src/pages/part/CategoryDetail.tsx:248 +#: src/pages/part/CategoryDetail.tsx:249 msgid "Part Categories" msgstr "" @@ -1052,142 +1093,147 @@ msgid "No results available for search query" msgstr "" #: src/components/nav/StockLocationTree.tsx:93 -#: src/components/render/ModelType.tsx:76 -#: src/pages/stock/LocationDetail.tsx:175 +#: src/components/render/ModelType.tsx:82 +#: src/pages/stock/LocationDetail.tsx:185 msgid "Stock Locations" msgstr "" -#: src/components/render/Instance.tsx:137 +#: src/components/render/Instance.tsx:166 msgid "Unknown model: {model}" msgstr "" -#: src/components/render/ModelType.tsx:21 -#: src/forms/BuildForms.tsx:184 -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49 +#: src/components/render/ModelType.tsx:22 +#: src/forms/BuildForms.tsx:201 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:83 #: src/pages/part/PartDetail.tsx:828 #: src/tables/part/RelatedPartTable.tsx:45 +#: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" msgstr "" -#: src/components/render/ModelType.tsx:22 +#: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 #: src/pages/Index/Settings/SystemSettings.tsx:167 -#: src/pages/part/CategoryDetail.tsx:109 -#: src/pages/part/CategoryDetail.tsx:234 -#: src/pages/part/CategoryDetail.tsx:264 -#: src/pages/part/PartDetail.tsx:638 +#: src/pages/part/CategoryDetail.tsx:110 +#: src/pages/part/CategoryDetail.tsx:235 +#: src/pages/part/CategoryDetail.tsx:265 +#: src/pages/part/PartDetail.tsx:639 msgid "Parts" msgstr "" -#: src/components/render/ModelType.tsx:29 +#: src/components/render/ModelType.tsx:31 msgid "Part Parameter Template" msgstr "" -#: src/components/render/ModelType.tsx:30 +#: src/components/render/ModelType.tsx:32 msgid "Part Parameter Templates" msgstr "" -#: src/components/render/ModelType.tsx:36 +#: src/components/render/ModelType.tsx:38 msgid "Part Test Template" msgstr "" -#: src/components/render/ModelType.tsx:37 +#: src/components/render/ModelType.tsx:39 msgid "Part Test Templates" msgstr "" -#: src/components/render/ModelType.tsx:43 -#: src/pages/company/SupplierPartDetail.tsx:189 -#: src/pages/company/SupplierPartDetail.tsx:317 -#: src/pages/stock/StockDetail.tsx:159 +#: src/components/render/ModelType.tsx:45 +#: src/pages/company/SupplierPartDetail.tsx:190 +#: src/pages/company/SupplierPartDetail.tsx:318 +#: src/pages/stock/StockDetail.tsx:162 #: src/tables/purchasing/SupplierPartTable.tsx:68 msgid "Supplier Part" msgstr "" -#: src/components/render/ModelType.tsx:44 +#: src/components/render/ModelType.tsx:46 msgid "Supplier Parts" msgstr "" -#: src/components/render/ModelType.tsx:51 -#: src/pages/company/ManufacturerPartDetail.tsx:124 +#: src/components/render/ModelType.tsx:54 +#: src/pages/company/ManufacturerPartDetail.tsx:125 msgid "Manufacturer Part" msgstr "" -#: src/components/render/ModelType.tsx:52 +#: src/components/render/ModelType.tsx:55 msgid "Manufacturer Parts" msgstr "" -#: src/components/render/ModelType.tsx:59 -#: src/pages/part/CategoryDetail.tsx:287 +#: src/components/render/ModelType.tsx:63 +#: src/pages/part/CategoryDetail.tsx:288 msgid "Part Category" msgstr "" -#: src/components/render/ModelType.tsx:67 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67 -#: src/pages/stock/StockDetail.tsx:535 +#: src/components/render/ModelType.tsx:72 +#: src/pages/stock/StockDetail.tsx:548 +#: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" msgstr "" -#: src/components/render/ModelType.tsx:68 -#: src/pages/company/CompanyDetail.tsx:197 -#: src/pages/stock/LocationDetail.tsx:116 -#: src/pages/stock/LocationDetail.tsx:161 +#: src/components/render/ModelType.tsx:73 +#: src/pages/company/CompanyDetail.tsx:199 +#: src/pages/stock/LocationDetail.tsx:118 +#: src/pages/stock/LocationDetail.tsx:171 #: src/pages/stock/LocationDetail.tsx:365 msgid "Stock Items" msgstr "" -#: src/components/render/ModelType.tsx:75 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:154 +#: src/components/render/ModelType.tsx:81 msgid "Stock Location" msgstr "" -#: src/components/render/ModelType.tsx:83 +#: src/components/render/ModelType.tsx:90 +msgid "Stock Location Type" +msgstr "" + +#: src/components/render/ModelType.tsx:91 +msgid "Stock Location Types" +msgstr "" + +#: src/components/render/ModelType.tsx:95 msgid "Stock History" msgstr "" -#: src/components/render/ModelType.tsx:84 +#: src/components/render/ModelType.tsx:96 msgid "Stock Histories" msgstr "" -#: src/components/render/ModelType.tsx:88 +#: src/components/render/ModelType.tsx:100 #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:43 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:126 msgid "Build" msgstr "" -#: src/components/render/ModelType.tsx:89 +#: src/components/render/ModelType.tsx:101 msgid "Builds" msgstr "" -#: src/components/render/ModelType.tsx:96 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:76 +#: src/components/render/ModelType.tsx:109 msgid "Build Line" msgstr "" -#: src/components/render/ModelType.tsx:97 +#: src/components/render/ModelType.tsx:110 msgid "Build Lines" msgstr "" -#: src/components/render/ModelType.tsx:104 -#: src/pages/company/CompanyDetail.tsx:321 +#: src/components/render/ModelType.tsx:117 +#: src/pages/company/CompanyDetail.tsx:323 msgid "Company" msgstr "" -#: src/components/render/ModelType.tsx:105 +#: src/components/render/ModelType.tsx:118 msgid "Companies" msgstr "" -#: src/components/render/ModelType.tsx:112 +#: src/components/render/ModelType.tsx:126 #: src/tables/TableHoverCard.tsx:58 #: src/tables/build/BuildOrderTable.tsx:131 #: src/tables/purchasing/PurchaseOrderTable.tsx:64 @@ -1196,170 +1242,199 @@ msgstr "" msgid "Project Code" msgstr "" -#: src/components/render/ModelType.tsx:113 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:97 +#: src/components/render/ModelType.tsx:127 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:105 msgid "Project Codes" msgstr "" -#: src/components/render/ModelType.tsx:119 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99 +#: src/components/render/ModelType.tsx:133 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:355 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:362 +#: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" msgstr "" -#: src/components/render/ModelType.tsx:120 -#: src/pages/Index/Settings/SystemSettings.tsx:242 -#: src/pages/company/CompanyDetail.tsx:190 -#: src/pages/company/SupplierPartDetail.tsx:223 -#: src/pages/part/PartDetail.tsx:571 +#: src/components/render/ModelType.tsx:134 +#: src/pages/Index/Settings/SystemSettings.tsx:243 +#: src/pages/company/CompanyDetail.tsx:192 +#: src/pages/company/SupplierPartDetail.tsx:224 +#: src/pages/part/PartDetail.tsx:572 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" -#: src/components/render/ModelType.tsx:127 +#: src/components/render/ModelType.tsx:142 msgid "Purchase Order Line" msgstr "" -#: src/components/render/ModelType.tsx:128 +#: src/components/render/ModelType.tsx:143 msgid "Purchase Order Lines" msgstr "" -#: src/components/render/ModelType.tsx:132 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:108 +#: src/components/render/ModelType.tsx:147 #: src/pages/build/BuildDetail.tsx:131 -#: src/pages/sales/SalesOrderDetail.tsx:340 -#: src/pages/stock/StockDetail.tsx:207 +#: src/pages/sales/SalesOrderDetail.tsx:347 +#: src/pages/stock/StockDetail.tsx:210 +#: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" msgstr "" -#: src/components/render/ModelType.tsx:133 -#: src/pages/Index/Settings/SystemSettings.tsx:257 -#: src/pages/company/CompanyDetail.tsx:210 -#: src/pages/part/PartDetail.tsx:577 +#: src/components/render/ModelType.tsx:148 +#: src/pages/Index/Settings/SystemSettings.tsx:258 +#: src/pages/company/CompanyDetail.tsx:212 +#: src/pages/part/PartDetail.tsx:578 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" -#: src/components/render/ModelType.tsx:140 +#: src/components/render/ModelType.tsx:156 msgid "Sales Order Shipment" msgstr "" -#: src/components/render/ModelType.tsx:141 +#: src/components/render/ModelType.tsx:157 msgid "Sales Order Shipments" msgstr "" -#: src/components/render/ModelType.tsx:147 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:117 -#: src/pages/sales/ReturnOrderDetail.tsx:318 +#: src/components/render/ModelType.tsx:163 +#: src/pages/sales/ReturnOrderDetail.tsx:325 +#: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "" -#: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:272 -#: src/pages/company/CompanyDetail.tsx:217 +#: src/components/render/ModelType.tsx:164 +#: src/pages/Index/Settings/SystemSettings.tsx:273 +#: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" msgstr "" -#: src/components/render/ModelType.tsx:155 +#: src/components/render/ModelType.tsx:172 #: src/tables/company/AddressTable.tsx:47 msgid "Address" msgstr "" -#: src/components/render/ModelType.tsx:156 -#: src/pages/company/CompanyDetail.tsx:247 +#: src/components/render/ModelType.tsx:173 +#: src/pages/company/CompanyDetail.tsx:249 msgid "Addresses" msgstr "" -#: src/components/render/ModelType.tsx:162 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:189 -#: src/pages/sales/ReturnOrderDetail.tsx:157 -#: src/pages/sales/SalesOrderDetail.tsx:161 +#: src/components/render/ModelType.tsx:179 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:191 +#: src/pages/sales/ReturnOrderDetail.tsx:159 +#: src/pages/sales/SalesOrderDetail.tsx:163 msgid "Contact" msgstr "" -#: src/components/render/ModelType.tsx:163 -#: src/pages/company/CompanyDetail.tsx:241 +#: src/components/render/ModelType.tsx:180 +#: src/pages/company/CompanyDetail.tsx:243 msgid "Contacts" msgstr "" -#: src/components/render/ModelType.tsx:169 +#: src/components/render/ModelType.tsx:186 msgid "Owner" msgstr "" -#: src/components/render/ModelType.tsx:170 +#: src/components/render/ModelType.tsx:187 msgid "Owners" msgstr "" -#: src/components/render/ModelType.tsx:176 +#: src/components/render/ModelType.tsx:193 +#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "" -#: src/components/render/ModelType.tsx:177 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:73 +#: src/components/render/ModelType.tsx:194 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:81 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "" -#: src/components/render/Order.tsx:87 +#: src/components/render/ModelType.tsx:200 +msgid "Label Template" +msgstr "" + +#: src/components/render/ModelType.tsx:201 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:135 +msgid "Label Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:207 +msgid "Report Template" +msgstr "" + +#: src/components/render/ModelType.tsx:208 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:141 +msgid "Report Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:214 +msgid "Plugin Configuration" +msgstr "" + +#: src/components/render/ModelType.tsx:215 +msgid "Plugin Configurations" +msgstr "" + +#: src/components/render/Order.tsx:104 msgid "Shipment" msgstr "" -#: src/components/render/Part.tsx:12 +#: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:198 -#: src/pages/part/PartDetail.tsx:491 +#: src/pages/Index/Settings/SystemSettings.tsx:199 +#: src/pages/part/PartDetail.tsx:492 #: src/pages/stock/LocationDetail.tsx:344 -#: src/pages/stock/StockDetail.tsx:344 +#: src/pages/stock/StockDetail.tsx:352 #: src/tables/stock/StockItemTable.tsx:57 msgid "Stock" msgstr "" -#: src/components/render/Stock.tsx:26 -#: src/pages/stock/StockDetail.tsx:142 -#: src/pages/stock/StockDetail.tsx:501 +#: src/components/render/Stock.tsx:52 +#: src/pages/stock/StockDetail.tsx:145 +#: src/pages/stock/StockDetail.tsx:514 msgid "Serial Number" msgstr "" -#: src/components/render/Stock.tsx:28 -#: src/forms/BuildForms.tsx:189 +#: src/components/render/Stock.tsx:54 +#: src/forms/BuildForms.tsx:206 #: src/pages/part/pricing/BomPricingPanel.tsx:144 -#: src/pages/part/pricing/PriceBreakPanel.tsx:96 -#: src/pages/stock/StockDetail.tsx:137 -#: src/pages/stock/StockDetail.tsx:507 +#: src/pages/part/pricing/PriceBreakPanel.tsx:94 +#: src/pages/stock/StockDetail.tsx:140 +#: src/pages/stock/StockDetail.tsx:520 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:73 +#: src/tables/stock/StockTrackingTable.tsx:59 msgid "Quantity" msgstr "" -#: src/components/settings/SettingItem.tsx:46 -#: src/components/settings/SettingItem.tsx:99 -msgid "Setting updated" -msgstr "" - #: src/components/settings/SettingItem.tsx:47 #: src/components/settings/SettingItem.tsx:100 -msgid "{0} updated successfully" -msgstr "" +#~ msgid "{0} updated successfully" +#~ msgstr "{0} updated successfully" -#: src/components/settings/SettingItem.tsx:55 -msgid "Error editing setting" -msgstr "" - -#: src/components/settings/SettingItem.tsx:92 +#: src/components/settings/SettingList.tsx:67 msgid "Edit Setting" msgstr "" -#: src/components/settings/SettingList.tsx:63 -msgid "No settings specified" +#: src/components/settings/SettingList.tsx:78 +#: src/components/settings/SettingList.tsx:108 +msgid "Setting {0} updated successfully" msgstr "" -#: src/components/tables/ColumnRenderers.tsx:134 -#~ msgid "Shipment Date" -#~ msgstr "Shipment Date" +#: src/components/settings/SettingList.tsx:107 +msgid "Setting updated" +msgstr "" + +#: src/components/settings/SettingList.tsx:117 +msgid "Error editing setting" +msgstr "" + +#: src/components/settings/SettingList.tsx:158 +msgid "No settings specified" +msgstr "" #: src/components/tables/FilterGroup.tsx:29 #~ msgid "Add table filter" @@ -1731,10 +1806,6 @@ msgstr "" #~ msgid "This is a test filter" #~ msgstr "This is a test filter" -#: src/components/tables/stock/StockLocationTable.tsx:91 -#~ msgid "Location Type" -#~ msgstr "Location Type" - #: src/components/tables/stock/StockLocationTable.tsx:145 #~ msgid "Stock location updated" #~ msgstr "Stock location updated" @@ -2072,7 +2143,7 @@ msgstr "" #~ msgstr "Local Server" #: src/defaults/links.tsx:11 -#: src/pages/company/CompanyDetail.tsx:90 +#: src/pages/company/CompanyDetail.tsx:92 msgid "Website" msgstr "" @@ -2087,10 +2158,10 @@ msgstr "" #: src/defaults/links.tsx:31 #: src/defaults/menuItems.tsx:48 #: src/pages/company/ManufacturerDetail.tsx:9 -#: src/pages/company/ManufacturerPartDetail.tsx:231 +#: src/pages/company/ManufacturerPartDetail.tsx:235 #: src/pages/company/SupplierDetail.tsx:9 -#: src/pages/company/SupplierPartDetail.tsx:291 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:358 +#: src/pages/company/SupplierPartDetail.tsx:292 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:365 #: src/pages/purchasing/PurchasingIndex.tsx:52 msgid "Purchasing" msgstr "" @@ -2098,15 +2169,15 @@ msgstr "" #: src/defaults/links.tsx:32 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:323 +#: src/pages/sales/ReturnOrderDetail.tsx:330 #: src/pages/sales/SalesIndex.tsx:45 -#: src/pages/sales/SalesOrderDetail.tsx:345 +#: src/pages/sales/SalesOrderDetail.tsx:352 msgid "Sales" msgstr "" #: src/defaults/links.tsx:35 #: src/defaults/menuItems.tsx:71 -#: src/pages/Index/Playground.tsx:239 +#: src/pages/Index/Playground.tsx:238 msgid "Playground" msgstr "" @@ -2240,87 +2311,83 @@ msgstr "" #~ msgstr "Combusken battles with the intensely hot flames it spews" #: src/forms/AttachmentForms.tsx:57 -msgid "Add File" -msgstr "" +#~ msgid "Add File" +#~ msgstr "Add File" #: src/forms/AttachmentForms.tsx:57 -msgid "Add Link" -msgstr "" +#~ msgid "Add Link" +#~ msgstr "Add Link" #: src/forms/AttachmentForms.tsx:58 -msgid "File added" -msgstr "" +#~ msgid "File added" +#~ msgstr "File added" #: src/forms/AttachmentForms.tsx:58 -msgid "Link added" -msgstr "" +#~ msgid "Link added" +#~ msgstr "Link added" #: src/forms/AttachmentForms.tsx:99 -msgid "Edit File" -msgstr "" +#~ msgid "Edit File" +#~ msgstr "Edit File" #: src/forms/AttachmentForms.tsx:99 -msgid "Edit Link" -msgstr "" +#~ msgid "Edit Link" +#~ msgstr "Edit Link" #: src/forms/AttachmentForms.tsx:100 -msgid "File updated" -msgstr "" +#~ msgid "File updated" +#~ msgstr "File updated" #: src/forms/AttachmentForms.tsx:100 -msgid "Link updated" -msgstr "" - -#: src/forms/AttachmentForms.tsx:124 -msgid "Delete Attachment" -msgstr "" +#~ msgid "Link updated" +#~ msgstr "Link updated" #: src/forms/AttachmentForms.tsx:125 -msgid "Attachment deleted" -msgstr "" +#~ msgid "Attachment deleted" +#~ msgstr "Attachment deleted" #: src/forms/AttachmentForms.tsx:128 -msgid "Are you sure you want to delete this attachment?" -msgstr "" +#~ msgid "Are you sure you want to delete this attachment?" +#~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BuildForms.tsx:129 +#: src/forms/BuildForms.tsx:146 msgid "Next serial number" msgstr "" -#: src/forms/BuildForms.tsx:133 +#: src/forms/BuildForms.tsx:150 msgid "Latest serial number" msgstr "" -#: src/forms/BuildForms.tsx:205 +#: src/forms/BuildForms.tsx:222 msgid "Remove output" msgstr "" -#: src/forms/BuildForms.tsx:287 +#: src/forms/BuildForms.tsx:304 msgid "Complete Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:291 +#: src/forms/BuildForms.tsx:308 msgid "Build outputs have been completed" msgstr "" -#: src/forms/BuildForms.tsx:360 +#: src/forms/BuildForms.tsx:377 msgid "Scrap Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:364 +#: src/forms/BuildForms.tsx:381 msgid "Build outputs have been scrapped" msgstr "" -#: src/forms/BuildForms.tsx:396 -#: src/forms/BuildForms.tsx:420 +#: src/forms/BuildForms.tsx:413 +#: src/forms/BuildForms.tsx:437 msgid "Cancel Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:397 +#: src/forms/BuildForms.tsx:414 msgid "Selected build outputs will be deleted" msgstr "" -#: src/forms/BuildForms.tsx:424 +#: src/forms/BuildForms.tsx:441 msgid "Build outputs have been cancelled" msgstr "" @@ -2344,76 +2411,76 @@ msgstr "" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PurchaseOrderForms.tsx:265 +#: src/forms/PurchaseOrderForms.tsx:279 msgid "Choose Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:273 +#: src/forms/PurchaseOrderForms.tsx:287 msgid "Item Destination selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:282 +#: src/forms/PurchaseOrderForms.tsx:296 msgid "Part category default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:292 +#: src/forms/PurchaseOrderForms.tsx:306 msgid "Received stock location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:297 +#: src/forms/PurchaseOrderForms.tsx:311 msgid "Default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:308 -#: src/forms/PurchaseOrderForms.tsx:384 +#: src/forms/PurchaseOrderForms.tsx:322 +#: src/forms/PurchaseOrderForms.tsx:398 msgid "Scan Barcode" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:352 +#: src/forms/PurchaseOrderForms.tsx:366 msgid "Set Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:359 +#: src/forms/PurchaseOrderForms.tsx:373 msgid "Assign Batch Code{0}" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:368 +#: src/forms/PurchaseOrderForms.tsx:382 msgid "Change Status" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:393 -#: src/forms/StockForms.tsx:351 +#: src/forms/PurchaseOrderForms.tsx:407 +#: src/forms/StockForms.tsx:392 msgid "Remove item from list" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:418 -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:58 -#: src/pages/stock/StockDetail.tsx:167 -#: src/tables/ColumnRenderers.tsx:42 +#: src/forms/PurchaseOrderForms.tsx:432 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/pages/stock/StockDetail.tsx:170 +#: src/tables/ColumnRenderers.tsx:34 +#: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:434 +#: src/forms/PurchaseOrderForms.tsx:448 msgid "Store at default location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:447 +#: src/forms/PurchaseOrderForms.tsx:461 msgid "Store at line item destination" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:457 +#: src/forms/PurchaseOrderForms.tsx:471 msgid "Store with already received stock" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:613 +#: src/forms/PurchaseOrderForms.tsx:627 msgid "Receive Line Items" msgstr "" @@ -2421,119 +2488,118 @@ msgstr "" #~ msgid "Receive line items" #~ msgstr "Receive line items" -#: src/forms/StockForms.tsx:69 +#: src/forms/StockForms.tsx:101 msgid "Add given quantity as packs instead of individual items" msgstr "" -#: src/forms/StockForms.tsx:80 -msgid "Enter initial quantity for this stock item" -msgstr "" - -#: src/forms/StockForms.tsx:85 -msgid "Serial Numbers" -msgstr "" - -#: src/forms/StockForms.tsx:86 -msgid "Enter serial numbers for new stock (or leave blank)" -msgstr "" - #: src/forms/StockForms.tsx:110 #~ msgid "Create Stock Item" #~ msgstr "Create Stock Item" -#: src/forms/StockForms.tsx:135 -#: src/pages/stock/StockDetail.tsx:367 -#: src/tables/stock/StockItemTable.tsx:382 -#: src/tables/stock/StockItemTable.tsx:499 -msgid "Add Stock Item" +#: src/forms/StockForms.tsx:114 +msgid "Enter initial quantity for this stock item" +msgstr "" + +#: src/forms/StockForms.tsx:121 +msgid "Serial Numbers" +msgstr "" + +#: src/forms/StockForms.tsx:122 +msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" #: src/forms/StockForms.tsx:158 #~ msgid "Stock item updated" #~ msgstr "Stock item updated" -#: src/forms/StockForms.tsx:298 +#: src/forms/StockForms.tsx:176 +#: src/pages/stock/StockDetail.tsx:375 +#: src/tables/stock/StockItemTable.tsx:382 +#: src/tables/stock/StockItemTable.tsx:499 +msgid "Add Stock Item" +msgstr "" + +#: src/forms/StockForms.tsx:339 msgid "Loading..." msgstr "" -#: src/forms/StockForms.tsx:340 +#: src/forms/StockForms.tsx:381 msgid "Move to default location" msgstr "" -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/part/PartDetail.tsx:205 -#: src/pages/part/PartDetail.tsx:654 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/pages/part/PartDetail.tsx:206 +#: src/pages/part/PartDetail.tsx:655 #: src/tables/stock/StockItemTable.tsx:290 msgid "In Stock" msgstr "" -#: src/forms/StockForms.tsx:408 +#: src/forms/StockForms.tsx:449 msgid "Move" msgstr "" -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/tables/RowActions.tsx:147 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/tables/RowActions.tsx:149 msgid "Actions" msgstr "" -#: src/forms/StockForms.tsx:471 -#: src/pages/stock/StockDetail.tsx:440 -#: src/tables/settings/TemplateTable.tsx:266 -#: src/tables/stock/StockItemTestResultTable.tsx:348 +#: src/forms/StockForms.tsx:512 +#: src/pages/stock/StockDetail.tsx:454 +#: src/tables/stock/StockItemTestResultTable.tsx:339 msgid "Add" msgstr "" -#: src/forms/StockForms.tsx:499 +#: src/forms/StockForms.tsx:540 #: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:430 +#: src/pages/stock/StockDetail.tsx:444 msgid "Count" msgstr "" -#: src/forms/StockForms.tsx:744 +#: src/forms/StockForms.tsx:785 msgid "Add Stock" msgstr "" -#: src/forms/StockForms.tsx:753 +#: src/forms/StockForms.tsx:794 msgid "Remove Stock" msgstr "" -#: src/forms/StockForms.tsx:762 -#: src/pages/part/PartDetail.tsx:781 +#: src/forms/StockForms.tsx:803 +#: src/pages/part/PartDetail.tsx:782 msgid "Transfer Stock" msgstr "" -#: src/forms/StockForms.tsx:771 -#: src/pages/part/PartDetail.tsx:770 +#: src/forms/StockForms.tsx:812 +#: src/pages/part/PartDetail.tsx:771 msgid "Count Stock" msgstr "" -#: src/forms/StockForms.tsx:780 +#: src/forms/StockForms.tsx:821 msgid "Change Stock Status" msgstr "" -#: src/forms/StockForms.tsx:789 +#: src/forms/StockForms.tsx:830 msgid "Merge Stock" msgstr "" -#: src/forms/StockForms.tsx:808 +#: src/forms/StockForms.tsx:849 msgid "Delete Stock Items" msgstr "" -#: src/forms/StockForms.tsx:815 +#: src/forms/StockForms.tsx:856 msgid "Parent stock location" msgstr "" @@ -2728,7 +2794,7 @@ msgstr "" msgid "Welcome to your Dashboard{0}" msgstr "" -#: src/pages/Index/Playground.tsx:244 +#: src/pages/Index/Playground.tsx:243 msgid "This page is a showcase for the possibilities of Platform UI." msgstr "" @@ -3138,49 +3204,53 @@ msgstr "" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:79 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:87 msgid "Background Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:85 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:93 msgid "Error Reports" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:91 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:99 msgid "Currencies" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:109 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:117 msgid "Custom Units" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:115 -#: src/pages/part/CategoryDetail.tsx:254 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:123 +#: src/pages/part/CategoryDetail.tsx:255 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:121 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 +#~ msgid "Templates" +#~ msgstr "Templates" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:129 msgid "Category Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 -msgid "Templates" +#: src/pages/Index/Settings/AdminCenter/Index.tsx:147 +msgid "Location types" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:139 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:159 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:149 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:169 msgid "Quick Actions" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:154 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 msgid "Add a new user" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:173 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:193 msgid "Advanced Options" msgstr "" @@ -3225,26 +3295,32 @@ msgstr "" msgid "Plugin Settings" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:25 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:53 +msgid "Background Worker Not Running" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:54 +msgid "The background task manager service is not running. Contact your system administrator." +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:60 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:76 msgid "Pending Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:33 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:64 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:84 msgid "Scheduled Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:41 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:68 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:92 msgid "Failed Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:139 -msgid "Labels" -msgstr "" - #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:39 -msgid "Label" -msgstr "" +#~ msgid "Label" +#~ msgstr "Label" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67 #~ msgid "Stock item" @@ -3255,13 +3331,13 @@ msgstr "" #~ msgstr "Build line" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:88 -msgid "Reports" -msgstr "" +#~ msgid "Reports" +#~ msgstr "Reports" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:89 #: src/pages/build/BuildDetail.tsx:373 -msgid "Report" -msgstr "" +#~ msgid "Report" +#~ msgstr "Report" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99 #~ msgid "Purchase order" @@ -3275,14 +3351,9 @@ msgstr "" #~ msgid "Return order" #~ msgstr "Return order" -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135 -#: src/pages/part/PartDetail.tsx:518 -msgid "Bill of Materials" -msgstr "" - #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:145 -msgid "Tests" -msgstr "" +#~ msgid "Tests" +#~ msgstr "Tests" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:154 #~ msgid "Stock location" @@ -3321,26 +3392,30 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" +#: src/pages/Index/Settings/SystemSettings.tsx:139 +msgid "Labels" +msgstr "" + #: src/pages/Index/Settings/SystemSettings.tsx:145 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:223 -#: src/pages/part/PartDetail.tsx:589 +#: src/pages/Index/Settings/SystemSettings.tsx:224 +#: src/pages/part/PartDetail.tsx:590 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:228 -#: src/pages/build/BuildDetail.tsx:426 +#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:525 -#: src/pages/sales/SalesOrderDetail.tsx:263 +#: src/pages/part/PartDetail.tsx:526 +#: src/pages/sales/SalesOrderDetail.tsx:265 msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:296 +#: src/pages/Index/Settings/SystemSettings.tsx:297 msgid "Switch to User Setting" msgstr "" @@ -3397,44 +3472,47 @@ msgstr "" #~ msgstr "Build Status" #: src/pages/build/BuildDetail.tsx:89 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:128 -#: src/pages/sales/ReturnOrderDetail.tsx:95 -#: src/pages/sales/SalesOrderDetail.tsx:99 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:130 +#: src/pages/sales/ReturnOrderDetail.tsx:97 +#: src/pages/sales/SalesOrderDetail.tsx:101 #: src/tables/build/BuildOrderTable.tsx:113 #: src/tables/machine/MachineListTable.tsx:326 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderTable.tsx:46 #: src/tables/sales/SalesOrderTable.tsx:52 #: src/tables/stock/StockItemTable.tsx:259 +#: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "" #: src/pages/build/BuildDetail.tsx:95 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:101 -#: src/pages/sales/ReturnOrderDetail.tsx:69 -#: src/pages/sales/SalesOrderDetail.tsx:73 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:103 +#: src/pages/sales/ReturnOrderDetail.tsx:71 +#: src/pages/sales/SalesOrderDetail.tsx:75 +#: src/tables/ColumnRenderers.tsx:106 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" msgstr "" #: src/pages/build/BuildDetail.tsx:100 -#: src/pages/company/CompanyDetail.tsx:84 -#: src/pages/company/ManufacturerPartDetail.tsx:75 -#: src/pages/company/SupplierPartDetail.tsx:82 -#: src/pages/part/CategoryDetail.tsx:91 -#: src/pages/part/PartDetail.tsx:132 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:122 -#: src/pages/sales/ReturnOrderDetail.tsx:89 -#: src/pages/sales/SalesOrderDetail.tsx:93 -#: src/pages/stock/LocationDetail.tsx:97 -#: src/tables/ColumnRenderers.tsx:95 +#: src/pages/company/CompanyDetail.tsx:86 +#: src/pages/company/ManufacturerPartDetail.tsx:76 +#: src/pages/company/SupplierPartDetail.tsx:83 +#: src/pages/part/CategoryDetail.tsx:92 +#: src/pages/part/PartDetail.tsx:133 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:124 +#: src/pages/sales/ReturnOrderDetail.tsx:91 +#: src/pages/sales/SalesOrderDetail.tsx:95 +#: src/pages/stock/LocationDetail.tsx:99 +#: src/tables/ColumnRenderers.tsx:66 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 #: src/tables/machine/MachineTypeTable.tsx:323 #: src/tables/part/RelatedPartTable.tsx:64 -#: src/tables/plugin/PluginListTable.tsx:172 -#: src/tables/plugin/PluginListTable.tsx:302 +#: src/tables/plugin/PluginListTable.tsx:129 +#: src/tables/plugin/PluginListTable.tsx:276 +#: src/tables/stock/LocationTypesTable.tsx:65 msgid "Description" msgstr "" @@ -3447,7 +3525,7 @@ msgid "Build Quantity" msgstr "" #: src/pages/build/BuildDetail.tsx:126 -#: src/pages/build/BuildDetail.tsx:249 +#: src/pages/build/BuildDetail.tsx:256 msgid "Completed Outputs" msgstr "" @@ -3457,10 +3535,10 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:150 -#: src/pages/part/PartDetail.tsx:320 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:214 -#: src/pages/sales/ReturnOrderDetail.tsx:182 -#: src/pages/sales/SalesOrderDetail.tsx:186 +#: src/pages/part/PartDetail.tsx:321 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:184 +#: src/pages/sales/SalesOrderDetail.tsx:188 #: src/tables/build/BuildOrderTable.tsx:148 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 @@ -3474,10 +3552,10 @@ msgid "Created" msgstr "" #: src/pages/build/BuildDetail.tsx:164 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:207 -#: src/pages/sales/ReturnOrderDetail.tsx:175 -#: src/pages/sales/SalesOrderDetail.tsx:179 -#: src/tables/ColumnRenderers.tsx:227 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:209 +#: src/pages/sales/ReturnOrderDetail.tsx:177 +#: src/pages/sales/SalesOrderDetail.tsx:181 +#: src/tables/ColumnRenderers.tsx:191 msgid "Target Date" msgstr "" @@ -3513,6 +3591,11 @@ msgstr "" #~ msgid "Unlink custom barcode from part" #~ msgstr "Unlink custom barcode from part" +#: src/pages/build/BuildDetail.tsx:197 +#: src/pages/stock/StockDetail.tsx:526 +msgid "Batch Code" +msgstr "" + #: src/pages/build/BuildDetail.tsx:202 #~ msgid "Build Order updated" #~ msgstr "Build Order updated" @@ -3521,86 +3604,87 @@ msgstr "" #~ msgid "Edit build order" #~ msgstr "Edit build order" -#: src/pages/build/BuildDetail.tsx:222 -msgid "Build Details" -msgstr "" - #: src/pages/build/BuildDetail.tsx:226 #~ msgid "Duplicate build order" #~ msgstr "Duplicate build order" -#: src/pages/build/BuildDetail.tsx:228 -#: src/tables/build/BuildLineTable.tsx:225 -msgid "Allocate Stock" +#: src/pages/build/BuildDetail.tsx:229 +msgid "Build Details" msgstr "" #: src/pages/build/BuildDetail.tsx:231 #~ msgid "Delete build order" #~ msgstr "Delete build order" -#: src/pages/build/BuildDetail.tsx:242 +#: src/pages/build/BuildDetail.tsx:235 +#: src/tables/build/BuildLineTable.tsx:225 +msgid "Allocate Stock" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:249 msgid "Incomplete Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:264 +#: src/pages/build/BuildDetail.tsx:271 msgid "Consumed Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:278 +#: src/pages/build/BuildDetail.tsx:285 msgid "Child Build Orders" msgstr "" -#: src/pages/build/BuildDetail.tsx:288 -#: src/pages/company/CompanyDetail.tsx:253 -#: src/pages/company/ManufacturerPartDetail.tsx:171 -#: src/pages/part/PartDetail.tsx:611 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:276 -#: src/pages/sales/ReturnOrderDetail.tsx:225 -#: src/pages/sales/SalesOrderDetail.tsx:273 -#: src/pages/stock/StockDetail.tsx:317 +#: src/pages/build/BuildDetail.tsx:295 +#: src/pages/company/CompanyDetail.tsx:255 +#: src/pages/company/ManufacturerPartDetail.tsx:172 +#: src/pages/part/PartDetail.tsx:612 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:278 +#: src/pages/sales/ReturnOrderDetail.tsx:227 +#: src/pages/sales/SalesOrderDetail.tsx:275 +#: src/pages/stock/StockDetail.tsx:325 msgid "Attachments" msgstr "" -#: src/pages/build/BuildDetail.tsx:300 -#: src/pages/company/CompanyDetail.tsx:265 -#: src/pages/part/PartDetail.tsx:623 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:288 -#: src/pages/sales/ReturnOrderDetail.tsx:237 -#: src/pages/sales/SalesOrderDetail.tsx:285 -#: src/pages/stock/StockDetail.tsx:329 +#: src/pages/build/BuildDetail.tsx:307 +#: src/pages/company/CompanyDetail.tsx:267 +#: src/pages/part/PartDetail.tsx:624 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:290 +#: src/pages/sales/ReturnOrderDetail.tsx:239 +#: src/pages/sales/SalesOrderDetail.tsx:287 +#: src/pages/stock/StockDetail.tsx:337 +#: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "" -#: src/pages/build/BuildDetail.tsx:318 +#: src/pages/build/BuildDetail.tsx:325 msgid "Edit Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:327 +#: src/pages/build/BuildDetail.tsx:334 msgid "Cancel Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:339 +#: src/pages/build/BuildDetail.tsx:346 #: src/tables/build/BuildOrderTable.tsx:167 #: src/tables/build/BuildOrderTable.tsx:182 msgid "Add Build Order" msgstr "" #: src/pages/build/BuildDetail.tsx:368 -msgid "Reporting Actions" -msgstr "" +#~ msgid "Reporting Actions" +#~ msgstr "Reporting Actions" #: src/pages/build/BuildDetail.tsx:374 -msgid "Print build report" -msgstr "" +#~ msgid "Print build report" +#~ msgstr "Print build report" -#: src/pages/build/BuildDetail.tsx:380 +#: src/pages/build/BuildDetail.tsx:378 msgid "Build Order Actions" msgstr "" -#: src/pages/build/BuildDetail.tsx:388 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:326 -#: src/pages/sales/ReturnOrderDetail.tsx:300 -#: src/pages/sales/SalesOrderDetail.tsx:310 +#: src/pages/build/BuildDetail.tsx:386 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:333 +#: src/pages/sales/ReturnOrderDetail.tsx:307 +#: src/pages/sales/SalesOrderDetail.tsx:317 msgid "Cancel order" msgstr "" @@ -3612,56 +3696,58 @@ msgstr "" #~ msgid "New Build Order" #~ msgstr "New Build Order" -#: src/pages/company/CompanyDetail.tsx:98 +#: src/pages/company/CompanyDetail.tsx:100 msgid "Phone Number" msgstr "" -#: src/pages/company/CompanyDetail.tsx:105 +#: src/pages/company/CompanyDetail.tsx:107 msgid "Email Address" msgstr "" -#: src/pages/company/CompanyDetail.tsx:115 +#: src/pages/company/CompanyDetail.tsx:117 msgid "Default Currency" msgstr "" -#: src/pages/company/CompanyDetail.tsx:120 +#: src/pages/company/CompanyDetail.tsx:122 #: src/pages/company/SupplierDetail.tsx:8 -#: src/pages/company/SupplierPartDetail.tsx:106 -#: src/pages/company/SupplierPartDetail.tsx:192 -#: src/pages/company/SupplierPartDetail.tsx:295 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:116 +#: src/pages/company/SupplierPartDetail.tsx:107 +#: src/pages/company/SupplierPartDetail.tsx:193 +#: src/pages/company/SupplierPartDetail.tsx:296 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:118 #: src/tables/company/CompanyTable.tsx:100 #: src/tables/purchasing/PurchaseOrderTable.tsx:88 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:36 msgid "Supplier" msgstr "" -#: src/pages/company/CompanyDetail.tsx:126 +#: src/pages/company/CompanyDetail.tsx:128 #: src/pages/company/ManufacturerDetail.tsx:8 -#: src/pages/company/ManufacturerPartDetail.tsx:93 -#: src/pages/company/ManufacturerPartDetail.tsx:235 -#: src/pages/company/SupplierPartDetail.tsx:121 +#: src/pages/company/ManufacturerPartDetail.tsx:94 +#: src/pages/company/ManufacturerPartDetail.tsx:239 +#: src/pages/company/SupplierPartDetail.tsx:122 #: src/tables/company/CompanyTable.tsx:105 msgid "Manufacturer" msgstr "" -#: src/pages/company/CompanyDetail.tsx:132 +#: src/pages/company/CompanyDetail.tsx:134 #: src/pages/company/CustomerDetail.tsx:8 #: src/pages/part/pricing/SaleHistoryPanel.tsx:39 -#: src/pages/sales/ReturnOrderDetail.tsx:83 -#: src/pages/sales/SalesOrderDetail.tsx:87 -#: src/pages/stock/StockDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:85 +#: src/pages/sales/SalesOrderDetail.tsx:89 +#: src/pages/stock/StockDetail.tsx:219 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:107 +#: src/tables/stock/StockTrackingTable.tsx:140 msgid "Customer" msgstr "" -#: src/pages/company/CompanyDetail.tsx:166 +#: src/pages/company/CompanyDetail.tsx:168 +#: src/tables/stock/StockTrackingTable.tsx:183 msgid "Details" msgstr "" -#: src/pages/company/CompanyDetail.tsx:172 +#: src/pages/company/CompanyDetail.tsx:174 msgid "Manufactured Parts" msgstr "" @@ -3669,7 +3755,7 @@ msgstr "" #~ msgid "Edit company" #~ msgstr "Edit company" -#: src/pages/company/CompanyDetail.tsx:181 +#: src/pages/company/CompanyDetail.tsx:183 msgid "Supplied Parts" msgstr "" @@ -3677,289 +3763,289 @@ msgstr "" #~ msgid "Delete company" #~ msgstr "Delete company" -#: src/pages/company/CompanyDetail.tsx:226 +#: src/pages/company/CompanyDetail.tsx:228 msgid "Assigned Stock" msgstr "" -#: src/pages/company/CompanyDetail.tsx:281 +#: src/pages/company/CompanyDetail.tsx:283 #: src/tables/company/CompanyTable.tsx:86 msgid "Edit Company" msgstr "" -#: src/pages/company/CompanyDetail.tsx:290 +#: src/pages/company/CompanyDetail.tsx:292 msgid "Company Actions" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:68 -#: src/pages/company/SupplierPartDetail.tsx:75 +#: src/pages/company/ManufacturerPartDetail.tsx:69 +#: src/pages/company/SupplierPartDetail.tsx:76 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:72 msgid "Internal Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:83 -#: src/pages/company/SupplierPartDetail.tsx:89 +#: src/pages/company/ManufacturerPartDetail.tsx:84 +#: src/pages/company/SupplierPartDetail.tsx:90 msgid "External Link" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:101 -#: src/pages/company/SupplierPartDetail.tsx:130 -#: src/tables/purchasing/ManufacturerPartTable.tsx:53 +#: src/pages/company/ManufacturerPartDetail.tsx:102 +#: src/pages/company/SupplierPartDetail.tsx:131 +#: src/tables/purchasing/ManufacturerPartTable.tsx:56 msgid "Manufacturer Part Number" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:130 +#: src/pages/company/ManufacturerPartDetail.tsx:131 msgid "Manufacturer Details" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:139 +#: src/pages/company/ManufacturerPartDetail.tsx:140 msgid "Manufacturer Part Details" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:145 -#: src/pages/part/PartDetail.tsx:485 +#: src/pages/company/ManufacturerPartDetail.tsx:146 +#: src/pages/part/PartDetail.tsx:486 msgid "Parameters" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:157 -#: src/pages/part/PartDetail.tsx:558 +#: src/pages/company/ManufacturerPartDetail.tsx:158 +#: src/pages/part/PartDetail.tsx:559 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:189 -#: src/tables/purchasing/ManufacturerPartTable.tsx:97 +#: src/pages/company/ManufacturerPartDetail.tsx:190 +#: src/tables/purchasing/ManufacturerPartTable.tsx:84 msgid "Edit Manufacturer Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:196 -#: src/tables/purchasing/ManufacturerPartTable.tsx:63 -#: src/tables/purchasing/ManufacturerPartTable.tsx:78 +#: src/pages/company/ManufacturerPartDetail.tsx:197 +#: src/tables/purchasing/ManufacturerPartTable.tsx:72 +#: src/tables/purchasing/ManufacturerPartTable.tsx:103 msgid "Add Manufacturer Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:209 +#: src/pages/company/ManufacturerPartDetail.tsx:213 msgid "Manufacturer Part Actions" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:247 +#: src/pages/company/ManufacturerPartDetail.tsx:251 msgid "ManufacturerPart" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:96 -#: src/tables/ColumnRenderers.tsx:146 +#: src/pages/company/SupplierPartDetail.tsx:97 +#: src/tables/ColumnRenderers.tsx:117 msgid "Note" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:114 +#: src/pages/company/SupplierPartDetail.tsx:115 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:57 msgid "SKU" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:142 -#: src/pages/company/SupplierPartDetail.tsx:193 -#: src/pages/stock/StockDetail.tsx:230 +#: src/pages/company/SupplierPartDetail.tsx:143 +#: src/pages/company/SupplierPartDetail.tsx:194 +#: src/pages/stock/StockDetail.tsx:233 msgid "Packaging" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:149 +#: src/pages/company/SupplierPartDetail.tsx:150 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:107 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143 #: src/tables/purchasing/SupplierPartTable.tsx:131 msgid "Pack Quantity" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:160 +#: src/pages/company/SupplierPartDetail.tsx:161 msgid "Supplier Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:167 +#: src/pages/company/SupplierPartDetail.tsx:168 msgid "Availability Updated" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:194 +#: src/pages/company/SupplierPartDetail.tsx:195 msgid "Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:203 +#: src/pages/company/SupplierPartDetail.tsx:204 msgid "Supplier Part Details" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:209 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:263 +#: src/pages/company/SupplierPartDetail.tsx:210 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:265 msgid "Received Stock" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:233 +#: src/pages/company/SupplierPartDetail.tsx:234 #: src/pages/part/PartPricingPanel.tsx:115 #: src/pages/part/pricing/PricingOverviewPanel.tsx:130 msgid "Supplier Pricing" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:248 +#: src/pages/company/SupplierPartDetail.tsx:249 msgid "Supplier Part Actions" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:272 +#: src/pages/company/SupplierPartDetail.tsx:273 #: src/tables/purchasing/SupplierPartTable.tsx:210 msgid "Edit Supplier Part" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:279 +#: src/pages/company/SupplierPartDetail.tsx:280 #: src/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "" -#: src/pages/part/CategoryDetail.tsx:83 -#: src/pages/stock/LocationDetail.tsx:89 +#: src/pages/part/CategoryDetail.tsx:84 +#: src/pages/stock/LocationDetail.tsx:91 #: src/tables/settings/ErrorTable.tsx:34 msgid "Path" msgstr "" -#: src/pages/part/CategoryDetail.tsx:99 +#: src/pages/part/CategoryDetail.tsx:100 msgid "Parent Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:116 +#: src/pages/part/CategoryDetail.tsx:117 msgid "Subcategories" msgstr "" -#: src/pages/part/CategoryDetail.tsx:123 -#: src/pages/stock/LocationDetail.tsx:129 -#: src/tables/part/PartCategoryTable.tsx:69 +#: src/pages/part/CategoryDetail.tsx:124 +#: src/pages/stock/LocationDetail.tsx:131 +#: src/tables/part/PartCategoryTable.tsx:65 msgid "Structural" msgstr "" -#: src/pages/part/CategoryDetail.tsx:129 +#: src/pages/part/CategoryDetail.tsx:130 msgid "Parent default location" msgstr "" -#: src/pages/part/CategoryDetail.tsx:136 +#: src/pages/part/CategoryDetail.tsx:137 msgid "Default location" msgstr "" -#: src/pages/part/CategoryDetail.tsx:147 +#: src/pages/part/CategoryDetail.tsx:148 msgid "Top level part category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:157 -#: src/pages/part/CategoryDetail.tsx:211 -#: src/tables/part/PartCategoryTable.tsx:96 +#: src/pages/part/CategoryDetail.tsx:158 +#: src/pages/part/CategoryDetail.tsx:212 +#: src/tables/part/PartCategoryTable.tsx:88 msgid "Edit Part Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:170 -#: src/pages/stock/LocationDetail.tsx:213 +#: src/pages/part/CategoryDetail.tsx:171 +#: src/pages/stock/LocationDetail.tsx:223 msgid "Delete items" msgstr "" -#: src/pages/part/CategoryDetail.tsx:178 -#: src/pages/part/CategoryDetail.tsx:216 +#: src/pages/part/CategoryDetail.tsx:179 +#: src/pages/part/CategoryDetail.tsx:217 msgid "Delete Part Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:181 +#: src/pages/part/CategoryDetail.tsx:182 msgid "Parts Action" msgstr "" -#: src/pages/part/CategoryDetail.tsx:182 +#: src/pages/part/CategoryDetail.tsx:183 msgid "Action for parts in this category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:187 +#: src/pages/part/CategoryDetail.tsx:188 msgid "Child Categories Action" msgstr "" -#: src/pages/part/CategoryDetail.tsx:188 +#: src/pages/part/CategoryDetail.tsx:189 msgid "Action for child categories in this category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:206 +#: src/pages/part/CategoryDetail.tsx:207 msgid "Category Actions" msgstr "" -#: src/pages/part/CategoryDetail.tsx:228 +#: src/pages/part/CategoryDetail.tsx:229 msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:138 +#: src/pages/part/PartDetail.tsx:139 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:145 +#: src/pages/part/PartDetail.tsx:146 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "" -#: src/pages/part/PartDetail.tsx:151 +#: src/pages/part/PartDetail.tsx:152 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:158 +#: src/pages/part/PartDetail.tsx:159 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:165 +#: src/pages/part/PartDetail.tsx:166 msgid "IPN" msgstr "" -#: src/pages/part/PartDetail.tsx:172 +#: src/pages/part/PartDetail.tsx:173 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:179 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39 +#: src/pages/part/PartDetail.tsx:180 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "" -#: src/pages/part/PartDetail.tsx:186 +#: src/pages/part/PartDetail.tsx:187 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:193 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:180 -#: src/pages/sales/ReturnOrderDetail.tsx:148 -#: src/pages/sales/SalesOrderDetail.tsx:152 +#: src/pages/part/PartDetail.tsx:194 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:182 +#: src/pages/sales/ReturnOrderDetail.tsx:150 +#: src/pages/sales/SalesOrderDetail.tsx:154 msgid "Link" msgstr "" -#: src/pages/part/PartDetail.tsx:211 -#: src/tables/bom/BomTable.tsx:269 +#: src/pages/part/PartDetail.tsx:212 +#: src/tables/bom/BomTable.tsx:271 #: src/tables/build/BuildLineTable.tsx:121 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:218 +#: src/pages/part/PartDetail.tsx:219 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:224 -#: src/tables/bom/BomTable.tsx:210 +#: src/pages/part/PartDetail.tsx:225 +#: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:233 +#: src/pages/part/PartDetail.tsx:234 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:241 +#: src/pages/part/PartDetail.tsx:242 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:248 -#: src/tables/bom/BomTable.tsx:234 +#: src/pages/part/PartDetail.tsx:249 +#: src/tables/bom/BomTable.tsx:236 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:255 -#: src/tables/bom/BomTable.tsx:218 +#: src/pages/part/PartDetail.tsx:256 +#: src/tables/bom/BomTable.tsx:220 #: src/tables/part/PartTable.tsx:82 msgid "Building" msgstr "" -#: src/pages/part/PartDetail.tsx:264 +#: src/pages/part/PartDetail.tsx:265 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 @@ -3968,45 +4054,47 @@ msgstr "" #: src/tables/machine/MachineListTable.tsx:585 #: src/tables/part/PartTable.tsx:168 #: src/tables/part/PartVariantTable.tsx:15 -#: src/tables/plugin/PluginListTable.tsx:190 -#: src/tables/plugin/PluginListTable.tsx:638 +#: src/tables/plugin/PluginListTable.tsx:149 +#: src/tables/plugin/PluginListTable.tsx:271 +#: src/tables/plugin/PluginListTable.tsx:563 #: src/tables/purchasing/SupplierPartTable.tsx:98 #: src/tables/purchasing/SupplierPartTable.tsx:187 #: src/tables/stock/StockItemTable.tsx:254 msgid "Active" msgstr "" -#: src/pages/part/PartDetail.tsx:269 +#: src/pages/part/PartDetail.tsx:270 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:274 -#: src/tables/bom/BomTable.tsx:264 +#: src/pages/part/PartDetail.tsx:275 +#: src/tables/bom/BomTable.tsx:266 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:279 +#: src/pages/part/PartDetail.tsx:280 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:284 -#: src/tables/bom/BomTable.tsx:259 +#: src/pages/part/PartDetail.tsx:285 +#: src/tables/bom/BomTable.tsx:261 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:289 +#: src/pages/part/PartDetail.tsx:290 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:294 +#: src/pages/part/PartDetail.tsx:295 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:299 +#: src/pages/part/PartDetail.tsx:300 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:307 +#: src/pages/part/PartDetail.tsx:308 +#: src/tables/ColumnRenderers.tsx:199 msgid "Creation Date" msgstr "" @@ -4014,7 +4102,7 @@ msgstr "" #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:312 +#: src/pages/part/PartDetail.tsx:313 msgid "Created By" msgstr "" @@ -4022,68 +4110,72 @@ msgstr "" #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:327 -msgid "Default Supplier" -msgstr "" - #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:338 +#: src/pages/part/PartDetail.tsx:328 +msgid "Default Supplier" +msgstr "" + +#: src/pages/part/PartDetail.tsx:339 #: src/tables/part/PartTable.tsx:151 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:373 -#: src/pages/stock/StockDetail.tsx:127 +#: src/pages/part/PartDetail.tsx:374 +#: src/pages/stock/StockDetail.tsx:130 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:408 +#: src/pages/part/PartDetail.tsx:409 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:479 +#: src/pages/part/PartDetail.tsx:480 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:505 +#: src/pages/part/PartDetail.tsx:506 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:512 -#: src/pages/stock/StockDetail.tsx:275 +#: src/pages/part/PartDetail.tsx:513 +#: src/pages/stock/StockDetail.tsx:283 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:532 +#: src/pages/part/PartDetail.tsx:519 +msgid "Bill of Materials" +msgstr "" + +#: src/pages/part/PartDetail.tsx:533 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:539 +#: src/pages/part/PartDetail.tsx:540 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:545 +#: src/pages/part/PartDetail.tsx:546 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:584 +#: src/pages/part/PartDetail.tsx:585 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:594 +#: src/pages/part/PartDetail.tsx:595 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:605 +#: src/pages/part/PartDetail.tsx:606 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:660 -#: src/pages/stock/StockDetail.tsx:148 +#: src/pages/part/PartDetail.tsx:661 +#: src/pages/stock/StockDetail.tsx:151 #: src/tables/build/BuildLineTable.tsx:36 #: src/tables/part/PartTable.tsx:107 #: src/tables/stock/StockItemTable.tsx:166 @@ -4091,49 +4183,51 @@ msgstr "" msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:666 +#: src/pages/part/PartDetail.tsx:667 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:672 -#: src/tables/bom/BomTable.tsx:274 +#: src/pages/part/PartDetail.tsx:673 +#: src/tables/bom/BomTable.tsx:276 #: src/tables/part/PartTable.tsx:76 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:678 -#: src/pages/stock/StockDetail.tsx:496 +#: src/pages/part/PartDetail.tsx:679 +#: src/pages/stock/StockDetail.tsx:509 #: src/tables/stock/StockItemTable.tsx:295 msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:697 +#: src/pages/part/PartDetail.tsx:698 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:704 +#: src/pages/part/PartDetail.tsx:705 #: src/tables/part/PartTable.tsx:266 #: src/tables/part/PartTable.tsx:279 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:716 +#: src/pages/part/PartDetail.tsx:717 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:725 +#: src/pages/part/PartDetail.tsx:726 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:763 +#: src/pages/part/PartDetail.tsx:764 +#: src/pages/stock/LocationDetail.tsx:301 +#: src/tables/stock/StockItemTable.tsx:409 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:771 +#: src/pages/part/PartDetail.tsx:772 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:782 +#: src/pages/part/PartDetail.tsx:783 msgid "Transfer part stock" msgstr "" @@ -4199,15 +4293,15 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151 #: src/pages/part/pricing/SupplierPricingPanel.tsx:83 -#: src/tables/bom/BomTable.tsx:149 +#: src/tables/bom/BomTable.tsx:151 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 msgid "Unit Price" msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:173 -#: src/tables/ColumnRenderers.tsx:278 -#: src/tables/bom/BomTable.tsx:158 +#: src/tables/ColumnRenderers.tsx:241 +#: src/tables/bom/BomTable.tsx:160 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 #: src/tables/sales/ReturnOrderTable.tsx:104 #: src/tables/sales/SalesOrderTable.tsx:134 @@ -4229,24 +4323,24 @@ msgid "Bar Chart" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:63 -#: src/pages/part/pricing/PriceBreakPanel.tsx:117 +#: src/pages/part/pricing/PriceBreakPanel.tsx:115 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:138 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:164 msgid "Add Price Break" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:76 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:149 msgid "Edit Price Break" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:86 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:157 msgid "Delete Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:102 -#: src/pages/part/pricing/PriceBreakPanel.tsx:193 +#: src/pages/part/pricing/PriceBreakPanel.tsx:100 +#: src/pages/part/pricing/PriceBreakPanel.tsx:191 msgid "Price Break" msgstr "" @@ -4275,7 +4369,7 @@ msgid "Overall Pricing" msgstr "" #: src/pages/part/pricing/PricingOverviewPanel.tsx:184 -#: src/pages/stock/StockDetail.tsx:121 +#: src/pages/stock/StockDetail.tsx:124 msgid "Last Updated" msgstr "" @@ -4309,9 +4403,8 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50 #: src/pages/part/pricing/SaleHistoryPanel.tsx:46 -#: src/tables/ColumnRenderers.tsx:217 -#: src/tables/plugin/PluginListTable.tsx:182 -#: src/tables/stock/StockItemTestResultTable.tsx:194 +#: src/tables/ColumnRenderers.tsx:180 +#: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" @@ -4338,89 +4431,89 @@ msgstr "" msgid "Variant Part" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:73 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:75 msgid "Edit Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:82 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:84 #: src/tables/purchasing/PurchaseOrderTable.tsx:128 #: src/tables/purchasing/PurchaseOrderTable.tsx:140 msgid "Add Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:107 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:109 msgid "Supplier Reference" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:137 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:252 -#: src/pages/sales/ReturnOrderDetail.tsx:104 -#: src/pages/sales/ReturnOrderDetail.tsx:220 -#: src/pages/sales/SalesOrderDetail.tsx:108 -#: src/pages/sales/SalesOrderDetail.tsx:248 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:139 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:254 +#: src/pages/sales/ReturnOrderDetail.tsx:106 +#: src/pages/sales/ReturnOrderDetail.tsx:222 +#: src/pages/sales/SalesOrderDetail.tsx:110 +#: src/pages/sales/SalesOrderDetail.tsx:250 msgid "Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:144 -#: src/pages/sales/ReturnOrderDetail.tsx:111 -#: src/pages/sales/SalesOrderDetail.tsx:115 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:146 +#: src/pages/sales/ReturnOrderDetail.tsx:113 +#: src/pages/sales/SalesOrderDetail.tsx:117 msgid "Completed Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:152 -#: src/pages/sales/ReturnOrderDetail.tsx:119 -#: src/pages/sales/SalesOrderDetail.tsx:123 -#: src/pages/sales/SalesOrderDetail.tsx:258 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:121 +#: src/pages/sales/SalesOrderDetail.tsx:125 +#: src/pages/sales/SalesOrderDetail.tsx:260 msgid "Completed Shipments" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:159 -#: src/pages/sales/ReturnOrderDetail.tsx:127 -#: src/pages/sales/SalesOrderDetail.tsx:131 -msgid "Order Currency" -msgstr "" - #: src/pages/purchasing/PurchaseOrderDetail.tsx:159 #: src/pages/sales/ReturnOrderDetail.tsx:126 #: src/pages/sales/SalesOrderDetail.tsx:130 #~ msgid "Order Currency," #~ msgstr "Order Currency," -#: src/pages/purchasing/PurchaseOrderDetail.tsx:166 -#: src/pages/sales/ReturnOrderDetail.tsx:134 -#: src/pages/sales/SalesOrderDetail.tsx:138 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:161 +#: src/pages/sales/ReturnOrderDetail.tsx:129 +#: src/pages/sales/SalesOrderDetail.tsx:133 +msgid "Order Currency" +msgstr "" + +#: src/pages/purchasing/PurchaseOrderDetail.tsx:168 +#: src/pages/sales/ReturnOrderDetail.tsx:136 +#: src/pages/sales/SalesOrderDetail.tsx:140 msgid "Total Cost" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:201 -#: src/pages/sales/ReturnOrderDetail.tsx:169 -#: src/pages/sales/SalesOrderDetail.tsx:173 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:203 +#: src/pages/sales/ReturnOrderDetail.tsx:171 +#: src/pages/sales/SalesOrderDetail.tsx:175 msgid "Created On" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:246 -#: src/pages/sales/ReturnOrderDetail.tsx:214 -#: src/pages/sales/SalesOrderDetail.tsx:242 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:248 +#: src/pages/sales/ReturnOrderDetail.tsx:216 +#: src/pages/sales/SalesOrderDetail.tsx:244 msgid "Order Details" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:316 -#: src/pages/sales/ReturnOrderDetail.tsx:290 -#: src/pages/sales/SalesOrderDetail.tsx:302 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:323 +#: src/pages/sales/ReturnOrderDetail.tsx:297 +#: src/pages/sales/SalesOrderDetail.tsx:309 msgid "Order Actions" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:75 -#: src/pages/sales/SalesOrderDetail.tsx:79 +#: src/pages/sales/ReturnOrderDetail.tsx:77 +#: src/pages/sales/SalesOrderDetail.tsx:81 #: src/tables/sales/SalesOrderTable.tsx:123 msgid "Customer Reference" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:267 +#: src/pages/sales/ReturnOrderDetail.tsx:269 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:276 +#: src/pages/sales/ReturnOrderDetail.tsx:278 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" @@ -4430,68 +4523,72 @@ msgstr "" msgid "Customers" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:219 +#: src/pages/sales/SalesOrderDetail.tsx:221 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:228 +#: src/pages/sales/SalesOrderDetail.tsx:230 #: src/tables/sales/SalesOrderTable.tsx:83 #: src/tables/sales/SalesOrderTable.tsx:95 msgid "Add Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:253 +#: src/pages/sales/SalesOrderDetail.tsx:255 msgid "Pending Shipments" msgstr "" -#: src/pages/stock/LocationDetail.tsx:105 +#: src/pages/stock/LocationDetail.tsx:107 msgid "Parent Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:123 +#: src/pages/stock/LocationDetail.tsx:125 msgid "Sublocations" msgstr "" -#: src/pages/stock/LocationDetail.tsx:135 +#: src/pages/stock/LocationDetail.tsx:137 msgid "External" msgstr "" -#: src/pages/stock/LocationDetail.tsx:144 +#: src/pages/stock/LocationDetail.tsx:143 +msgid "Location Type" +msgstr "" + +#: src/pages/stock/LocationDetail.tsx:154 msgid "Top level stock location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:155 +#: src/pages/stock/LocationDetail.tsx:165 msgid "Location Details" msgstr "" -#: src/pages/stock/LocationDetail.tsx:181 +#: src/pages/stock/LocationDetail.tsx:191 msgid "Default Parts" msgstr "" -#: src/pages/stock/LocationDetail.tsx:200 +#: src/pages/stock/LocationDetail.tsx:210 #: src/pages/stock/LocationDetail.tsx:328 -#: src/tables/stock/StockLocationTable.tsx:108 +#: src/tables/stock/StockLocationTable.tsx:100 msgid "Edit Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:221 +#: src/pages/stock/LocationDetail.tsx:231 #: src/pages/stock/LocationDetail.tsx:333 msgid "Delete Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:224 +#: src/pages/stock/LocationDetail.tsx:234 msgid "Items Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:225 +#: src/pages/stock/LocationDetail.tsx:235 msgid "Action for stock items in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:230 +#: src/pages/stock/LocationDetail.tsx:240 msgid "Child Locations Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:231 +#: src/pages/stock/LocationDetail.tsx:241 msgid "Action for child locations in this location" msgstr "" @@ -4499,11 +4596,11 @@ msgstr "" msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:100 +#: src/pages/stock/StockDetail.tsx:103 msgid "Base Part" msgstr "" -#: src/pages/stock/StockDetail.tsx:107 +#: src/pages/stock/StockDetail.tsx:110 msgid "Stock Status" msgstr "" @@ -4515,15 +4612,16 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:174 +#: src/pages/stock/StockDetail.tsx:177 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:190 +#: src/pages/stock/StockDetail.tsx:193 msgid "Consumed By" msgstr "" -#: src/pages/stock/StockDetail.tsx:199 +#: src/pages/stock/StockDetail.tsx:202 +#: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" msgstr "" @@ -4535,78 +4633,78 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:264 +#: src/pages/stock/StockDetail.tsx:267 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:270 +#: src/pages/stock/StockDetail.tsx:273 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:282 +#: src/pages/stock/StockDetail.tsx:290 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:296 +#: src/pages/stock/StockDetail.tsx:304 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:303 +#: src/pages/stock/StockDetail.tsx:311 msgid "Child Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:358 +#: src/pages/stock/StockDetail.tsx:366 msgid "Edit Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:385 +#: src/pages/stock/StockDetail.tsx:393 msgid "Delete Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:426 -msgid "Stock Operations" -msgstr "" - -#: src/pages/stock/StockDetail.tsx:431 -msgid "Count stock" -msgstr "" - #: src/pages/stock/StockDetail.tsx:433 #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:441 +#: src/pages/stock/StockDetail.tsx:440 +msgid "Stock Operations" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:445 +msgid "Count stock" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:455 #: src/tables/stock/StockItemTable.tsx:414 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:449 +#: src/pages/stock/StockDetail.tsx:463 #: src/tables/stock/StockItemTable.tsx:423 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:456 +#: src/pages/stock/StockDetail.tsx:470 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:457 +#: src/pages/stock/StockDetail.tsx:471 #: src/tables/stock/StockItemTable.tsx:443 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:469 +#: src/pages/stock/StockDetail.tsx:482 msgid "Stock Item Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:513 -msgid "Batch Code" -msgstr "" - -#: src/tables/ColumnRenderers.tsx:50 +#: src/tables/ColumnRenderers.tsx:42 msgid "No location set" msgstr "" -#: src/tables/ColumnRenderers.tsx:264 +#: src/tables/ColumnRenderers.tsx:207 +msgid "Shipment Date" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:227 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "" @@ -4616,20 +4714,32 @@ msgstr "" msgid "Select Columns" msgstr "" -#: src/tables/DownloadAction.tsx:11 +#: src/tables/DownloadAction.tsx:13 +#~ msgid "Excel" +#~ msgstr "Excel" + +#: src/tables/DownloadAction.tsx:21 +#~ msgid "Download selected data" +#~ msgstr "Download selected data" + +#: src/tables/DownloadAction.tsx:22 msgid "CSV" msgstr "" -#: src/tables/DownloadAction.tsx:12 +#: src/tables/DownloadAction.tsx:23 msgid "TSV" msgstr "" -#: src/tables/DownloadAction.tsx:13 -msgid "Excel" +#: src/tables/DownloadAction.tsx:24 +msgid "Excel (.xls)" msgstr "" -#: src/tables/DownloadAction.tsx:21 -msgid "Download selected data" +#: src/tables/DownloadAction.tsx:25 +msgid "Excel (.xlsx)" +msgstr "" + +#: src/tables/DownloadAction.tsx:39 +msgid "Download Data" msgstr "" #: src/tables/Filter.tsx:88 @@ -4663,102 +4773,102 @@ msgstr "" msgid "Remove filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:147 +#: src/tables/FilterSelectDrawer.tsx:136 msgid "Select filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:148 +#: src/tables/FilterSelectDrawer.tsx:137 msgid "Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:155 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:33 -#: src/tables/stock/StockItemTestResultTable.tsx:182 +#: src/tables/FilterSelectDrawer.tsx:144 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 +#: src/tables/stock/StockItemTestResultTable.tsx:180 msgid "Value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:156 +#: src/tables/FilterSelectDrawer.tsx:145 msgid "Select filter value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:196 +#: src/tables/FilterSelectDrawer.tsx:185 msgid "Table Filters" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:228 +#: src/tables/FilterSelectDrawer.tsx:217 msgid "Add Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:237 +#: src/tables/FilterSelectDrawer.tsx:226 msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:118 -#: src/tables/InvenTreeTable.tsx:384 -#: src/tables/InvenTreeTable.tsx:405 +#: src/tables/InvenTreeTable.tsx:119 +#: src/tables/InvenTreeTable.tsx:390 +#: src/tables/InvenTreeTable.tsx:411 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:416 +#: src/tables/InvenTreeTable.tsx:422 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:424 +#: src/tables/InvenTreeTable.tsx:430 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:427 +#: src/tables/InvenTreeTable.tsx:433 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:436 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:433 +#: src/tables/InvenTreeTable.tsx:439 msgid "Not found" msgstr "" -#: src/tables/InvenTreeTable.tsx:482 -#: src/tables/InvenTreeTable.tsx:604 +#: src/tables/InvenTreeTable.tsx:488 +#: src/tables/InvenTreeTable.tsx:611 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:486 +#: src/tables/InvenTreeTable.tsx:492 msgid "Are you sure you want to delete the selected records?" msgstr "" -#: src/tables/InvenTreeTable.tsx:488 +#: src/tables/InvenTreeTable.tsx:494 msgid "This action cannot be undone!" msgstr "" -#: src/tables/InvenTreeTable.tsx:516 +#: src/tables/InvenTreeTable.tsx:522 msgid "Deleted records" msgstr "" -#: src/tables/InvenTreeTable.tsx:517 +#: src/tables/InvenTreeTable.tsx:523 msgid "Records were deleted successfully" msgstr "" -#: src/tables/InvenTreeTable.tsx:526 +#: src/tables/InvenTreeTable.tsx:532 msgid "Failed to delete records" msgstr "" -#: src/tables/InvenTreeTable.tsx:585 -#: src/tables/InvenTreeTable.tsx:586 -msgid "Barcode actions" -msgstr "" - #: src/tables/InvenTreeTable.tsx:594 #: src/tables/InvenTreeTable.tsx:595 -msgid "Print actions" +#~ msgid "Print actions" +#~ msgstr "Print actions" + +#: src/tables/InvenTreeTable.tsx:601 +#: src/tables/InvenTreeTable.tsx:602 +msgid "Barcode actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:620 +#: src/tables/InvenTreeTable.tsx:630 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:638 +#: src/tables/InvenTreeTable.tsx:648 msgid "Table filters" msgstr "" @@ -4770,138 +4880,138 @@ msgstr "" msgid "Part Information" msgstr "" -#: src/tables/bom/BomTable.tsx:177 +#: src/tables/bom/BomTable.tsx:179 #: src/tables/part/PartTable.tsx:124 msgid "No stock" msgstr "" -#: src/tables/bom/BomTable.tsx:185 +#: src/tables/bom/BomTable.tsx:187 #: src/tables/build/BuildLineTable.tsx:104 #: src/tables/part/PartTable.tsx:115 msgid "External stock" msgstr "" -#: src/tables/bom/BomTable.tsx:193 +#: src/tables/bom/BomTable.tsx:195 #: src/tables/build/BuildLineTable.tsx:67 msgid "Includes substitute stock" msgstr "" -#: src/tables/bom/BomTable.tsx:202 +#: src/tables/bom/BomTable.tsx:204 #: src/tables/build/BuildLineTable.tsx:77 msgid "Includes variant stock" msgstr "" -#: src/tables/bom/BomTable.tsx:227 +#: src/tables/bom/BomTable.tsx:229 #: src/tables/part/PartTable.tsx:143 #: src/tables/stock/StockItemTable.tsx:205 msgid "Stock Information" msgstr "" -#: src/tables/bom/BomTable.tsx:239 +#: src/tables/bom/BomTable.tsx:241 #: src/tables/build/BuildLineTable.tsx:195 msgid "Consumable item" msgstr "" -#: src/tables/bom/BomTable.tsx:260 +#: src/tables/bom/BomTable.tsx:262 msgid "Show trackable items" msgstr "" -#: src/tables/bom/BomTable.tsx:265 +#: src/tables/bom/BomTable.tsx:267 msgid "Show asssmbled items" msgstr "" -#: src/tables/bom/BomTable.tsx:270 +#: src/tables/bom/BomTable.tsx:272 msgid "Show items with available stock" msgstr "" -#: src/tables/bom/BomTable.tsx:275 +#: src/tables/bom/BomTable.tsx:277 msgid "Show items on order" msgstr "" -#: src/tables/bom/BomTable.tsx:279 +#: src/tables/bom/BomTable.tsx:281 msgid "Validated" msgstr "" -#: src/tables/bom/BomTable.tsx:280 +#: src/tables/bom/BomTable.tsx:282 msgid "Show validated items" msgstr "" -#: src/tables/bom/BomTable.tsx:284 +#: src/tables/bom/BomTable.tsx:286 #: src/tables/bom/UsedInTable.tsx:63 msgid "Inherited" msgstr "" -#: src/tables/bom/BomTable.tsx:285 +#: src/tables/bom/BomTable.tsx:287 #: src/tables/bom/UsedInTable.tsx:64 msgid "Show inherited items" msgstr "" -#: src/tables/bom/BomTable.tsx:289 +#: src/tables/bom/BomTable.tsx:291 #: src/tables/bom/UsedInTable.tsx:68 #: src/tables/build/BuildLineTable.tsx:46 msgid "Optional" msgstr "" -#: src/tables/bom/BomTable.tsx:290 +#: src/tables/bom/BomTable.tsx:292 #: src/tables/bom/UsedInTable.tsx:69 msgid "Show optional items" msgstr "" -#: src/tables/bom/BomTable.tsx:294 +#: src/tables/bom/BomTable.tsx:296 #: src/tables/build/BuildLineTable.tsx:41 msgid "Consumable" msgstr "" -#: src/tables/bom/BomTable.tsx:295 +#: src/tables/bom/BomTable.tsx:297 msgid "Show consumable items" msgstr "" -#: src/tables/bom/BomTable.tsx:299 +#: src/tables/bom/BomTable.tsx:301 msgid "Has Pricing" msgstr "" -#: src/tables/bom/BomTable.tsx:300 -msgid "Show items with pricing" -msgstr "" - #: src/tables/bom/BomTable.tsx:301 #~ msgid "Create BOM Item" #~ msgstr "Create BOM Item" -#: src/tables/bom/BomTable.tsx:309 -#: src/tables/bom/BomTable.tsx:397 +#: src/tables/bom/BomTable.tsx:302 +msgid "Show items with pricing" +msgstr "" + +#: src/tables/bom/BomTable.tsx:311 +#: src/tables/bom/BomTable.tsx:399 msgid "Add BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:314 +#: src/tables/bom/BomTable.tsx:316 msgid "BOM item created" msgstr "" -#: src/tables/bom/BomTable.tsx:321 +#: src/tables/bom/BomTable.tsx:323 msgid "Edit BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:323 +#: src/tables/bom/BomTable.tsx:325 msgid "BOM item updated" msgstr "" -#: src/tables/bom/BomTable.tsx:330 -msgid "Delete BOM Item" -msgstr "" - -#: src/tables/bom/BomTable.tsx:331 -msgid "BOM item deleted" -msgstr "" - #: src/tables/bom/BomTable.tsx:331 #~ msgid "Edit Bom Item" #~ msgstr "Edit Bom Item" +#: src/tables/bom/BomTable.tsx:332 +msgid "Delete BOM Item" +msgstr "" + +#: src/tables/bom/BomTable.tsx:333 +msgid "BOM item deleted" +msgstr "" + #: src/tables/bom/BomTable.tsx:333 #~ msgid "Bom item updated" #~ msgstr "Bom item updated" -#: src/tables/bom/BomTable.tsx:341 +#: src/tables/bom/BomTable.tsx:343 msgid "View BOM" msgstr "" @@ -4917,11 +5027,11 @@ msgstr "" #~ msgid "Are you sure you want to remove this BOM item?" #~ msgstr "Are you sure you want to remove this BOM item?" -#: src/tables/bom/BomTable.tsx:352 +#: src/tables/bom/BomTable.tsx:354 msgid "Validate BOM line" msgstr "" -#: src/tables/bom/BomTable.tsx:360 +#: src/tables/bom/BomTable.tsx:362 msgid "Edit Substitutes" msgstr "" @@ -5038,11 +5148,11 @@ msgid "Filter by responsible owner" msgstr "" #: src/tables/build/BuildOutputTable.tsx:114 -#: src/tables/build/BuildOutputTable.tsx:150 +#: src/tables/build/BuildOutputTable.tsx:152 msgid "Add Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:155 +#: src/tables/build/BuildOutputTable.tsx:157 msgid "Complete selected outputs" msgstr "" @@ -5050,68 +5160,68 @@ msgstr "" #~ msgid "Delete build output" #~ msgstr "Delete build output" -#: src/tables/build/BuildOutputTable.tsx:165 +#: src/tables/build/BuildOutputTable.tsx:167 msgid "Scrap selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:175 +#: src/tables/build/BuildOutputTable.tsx:177 msgid "Cancel selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:191 +#: src/tables/build/BuildOutputTable.tsx:193 msgid "Allocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:192 +#: src/tables/build/BuildOutputTable.tsx:194 msgid "Allocate stock to build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:197 +#: src/tables/build/BuildOutputTable.tsx:199 msgid "Deallocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:198 +#: src/tables/build/BuildOutputTable.tsx:200 msgid "Deallocate stock from build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:203 +#: src/tables/build/BuildOutputTable.tsx:205 msgid "Complete" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:204 +#: src/tables/build/BuildOutputTable.tsx:206 msgid "Complete build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:213 +#: src/tables/build/BuildOutputTable.tsx:215 msgid "Scrap" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:214 +#: src/tables/build/BuildOutputTable.tsx:216 msgid "Scrap build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:224 +#: src/tables/build/BuildOutputTable.tsx:226 msgid "Cancel build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:251 +#: src/tables/build/BuildOutputTable.tsx:253 msgid "Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:264 +#: src/tables/build/BuildOutputTable.tsx:266 msgid "Batch" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:278 +#: src/tables/build/BuildOutputTable.tsx:280 msgid "Allocated Items" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:288 +#: src/tables/build/BuildOutputTable.tsx:290 msgid "Required Tests" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:317 -#: src/tables/stock/StockItemTestResultTable.tsx:146 +#: src/tables/build/BuildOutputTable.tsx:319 +#: src/tables/stock/StockItemTestResultTable.tsx:144 msgid "Test Results" msgstr "" @@ -5132,7 +5242,7 @@ msgstr "" msgid "Delete Address" msgstr "" -#: src/tables/company/AddressTable.tsx:145 +#: src/tables/company/AddressTable.tsx:144 msgid "Are you sure you want to delete this address?" msgstr "" @@ -5177,36 +5287,52 @@ msgstr "" msgid "Add contact" msgstr "" -#: src/tables/general/AttachmentTable.tsx:161 +#: src/tables/general/AttachmentTable.tsx:130 msgid "File uploaded" msgstr "" -#: src/tables/general/AttachmentTable.tsx:162 +#: src/tables/general/AttachmentTable.tsx:131 msgid "File {0} uploaded successfully" msgstr "" -#: src/tables/general/AttachmentTable.tsx:173 +#: src/tables/general/AttachmentTable.tsx:142 msgid "Upload Error" msgstr "" -#: src/tables/general/AttachmentTable.tsx:174 +#: src/tables/general/AttachmentTable.tsx:143 msgid "File could not be uploaded" msgstr "" #: src/tables/general/AttachmentTable.tsx:187 +msgid "Upload Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:197 +msgid "Edit Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:211 +msgid "Delete Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:221 msgid "Add attachment" msgstr "" -#: src/tables/general/AttachmentTable.tsx:207 +#: src/tables/general/AttachmentTable.tsx:232 msgid "Add external link" msgstr "" -#: src/tables/general/AttachmentTable.tsx:239 +#: src/tables/general/AttachmentTable.tsx:254 +#~ msgid "Upload attachment" +#~ msgstr "Upload attachment" + +#: src/tables/general/AttachmentTable.tsx:289 msgid "No attachments found" msgstr "" -#: src/tables/general/AttachmentTable.tsx:254 -msgid "Upload attachment" +#: src/tables/general/AttachmentTable.tsx:325 +msgid "Drag attachment file here to upload" msgstr "" #: src/tables/machine/MachineListTable.tsx:199 @@ -5332,8 +5458,8 @@ msgstr "" #: src/tables/machine/MachineTypeTable.tsx:135 #: src/tables/machine/MachineTypeTable.tsx:255 -#: src/tables/plugin/PluginListTable.tsx:215 -#: src/tables/plugin/PluginListTable.tsx:643 +#: src/tables/plugin/PluginListTable.tsx:180 +#: src/tables/plugin/PluginListTable.tsx:568 msgid "Builtin" msgstr "" @@ -5375,7 +5501,7 @@ msgid "Message" msgstr "" #: src/tables/part/ParametricPartTable.tsx:75 -#: src/tables/part/PartParameterTable.tsx:87 +#: src/tables/part/PartParameterTable.tsx:88 msgid "Internal Units" msgstr "" @@ -5388,29 +5514,29 @@ msgid "Add Part Parameter" msgstr "" #: src/tables/part/ParametricPartTable.tsx:147 -#: src/tables/part/PartParameterTable.tsx:128 -#: src/tables/part/PartParameterTable.tsx:150 +#: src/tables/part/PartParameterTable.tsx:121 +#: src/tables/part/PartParameterTable.tsx:144 msgid "Edit Part Parameter" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:64 +#: src/tables/part/PartCategoryTable.tsx:60 #: src/tables/part/PartTable.tsx:180 msgid "Include Subcategories" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:65 +#: src/tables/part/PartCategoryTable.tsx:61 msgid "Include subcategories in results" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:70 +#: src/tables/part/PartCategoryTable.tsx:66 msgid "Show structural categories" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:77 +#: src/tables/part/PartCategoryTable.tsx:73 msgid "New Part Category" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:106 +#: src/tables/part/PartCategoryTable.tsx:98 msgid "Add Part Category" msgstr "" @@ -5435,20 +5561,20 @@ msgstr "" #~ msgid "[{0}]" #~ msgstr "[{0}]" -#: src/tables/part/PartParameterTable.tsx:112 +#: src/tables/part/PartParameterTable.tsx:105 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:136 -#: src/tables/part/PartParameterTable.tsx:158 +#: src/tables/part/PartParameterTable.tsx:130 +#: src/tables/part/PartParameterTable.tsx:152 msgid "Delete Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:175 +#: src/tables/part/PartParameterTable.tsx:170 msgid "Add parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:196 +#: src/tables/part/PartParameterTable.tsx:191 #: src/tables/stock/StockItemTable.tsx:300 msgid "Include Variants" msgstr "" @@ -5482,15 +5608,15 @@ msgstr "" msgid "Add Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:97 +#: src/tables/part/PartParameterTemplateTable.tsx:100 msgid "Edit Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:105 +#: src/tables/part/PartParameterTemplateTable.tsx:111 msgid "Delete Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:135 +#: src/tables/part/PartParameterTemplateTable.tsx:141 msgid "Add parameter template" msgstr "" @@ -5588,7 +5714,7 @@ msgid "No Results" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:79 -#: src/tables/stock/StockItemTestResultTable.tsx:385 +#: src/tables/stock/StockItemTestResultTable.tsx:376 msgid "Required" msgstr "" @@ -5597,8 +5723,8 @@ msgid "Show required tests" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:84 -#: src/tables/settings/TemplateTable.tsx:213 -#: src/tables/settings/TemplateTable.tsx:275 +#: src/tables/settings/TemplateTable.tsx:160 +#: src/tables/settings/TemplateTable.tsx:270 msgid "Enabled" msgstr "" @@ -5639,26 +5765,30 @@ msgid "Show tests which have recorded results" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:126 -#: src/tables/part/PartTestTemplateTable.tsx:195 +#: src/tables/part/PartTestTemplateTable.tsx:201 msgid "Add Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:139 +#: src/tables/part/PartTestTemplateTable.tsx:142 msgid "Edit Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:147 +#: src/tables/part/PartTestTemplateTable.tsx:153 msgid "Delete Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:149 +#: src/tables/part/PartTestTemplateTable.tsx:155 msgid "This action cannot be reversed" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:151 +#: src/tables/part/PartTestTemplateTable.tsx:157 msgid "Any tests results associated with this template will be deleted" msgstr "" +#: src/tables/part/PartThumbTable.tsx:203 +msgid "Select" +msgstr "" + #: src/tables/part/PartVariantTable.tsx:16 msgid "Show active variants" msgstr "" @@ -5695,252 +5825,273 @@ msgstr "" msgid "Stage" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:113 -msgid "Plugin with id {id} not found" +#: src/tables/plugin/PluginListTable.tsx:95 +msgid "Plugin with key {pluginKey} not found" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:115 +#: src/tables/plugin/PluginListTable.tsx:97 msgid "An error occurred while fetching plugin details" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:134 -msgid "Plugin Actions" -msgstr "" +#: src/tables/plugin/PluginListTable.tsx:113 +#~ msgid "Plugin with id {id} not found" +#~ msgstr "Plugin with id {id} not found" -#: src/tables/plugin/PluginListTable.tsx:138 -#: src/tables/plugin/PluginListTable.tsx:141 -msgid "Edit plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:152 -#: src/tables/plugin/PluginListTable.tsx:153 -msgid "Reload" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:166 +#: src/tables/plugin/PluginListTable.tsx:122 msgid "Plugin information" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:177 +#: src/tables/plugin/PluginListTable.tsx:134 msgid "Author" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:198 +#: src/tables/plugin/PluginListTable.tsx:134 +#~ msgid "Plugin Actions" +#~ msgstr "Plugin Actions" + +#: src/tables/plugin/PluginListTable.tsx:138 +#: src/tables/plugin/PluginListTable.tsx:141 +#~ msgid "Edit plugin" +#~ msgstr "Edit plugin" + +#: src/tables/plugin/PluginListTable.tsx:152 +#: src/tables/plugin/PluginListTable.tsx:153 +#~ msgid "Reload" +#~ msgstr "Reload" + +#: src/tables/plugin/PluginListTable.tsx:154 +msgid "Plugin is not active" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:163 msgid "Package information" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:204 +#: src/tables/plugin/PluginListTable.tsx:169 msgid "Package Name" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:210 +#: src/tables/plugin/PluginListTable.tsx:175 msgid "Installation Path" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:220 +#: src/tables/plugin/PluginListTable.tsx:185 msgid "Package" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:231 +#: src/tables/plugin/PluginListTable.tsx:197 msgid "Plugin settings" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:248 +#: src/tables/plugin/PluginListTable.tsx:214 msgid "Plugin is active" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:254 +#: src/tables/plugin/PluginListTable.tsx:220 msgid "Plugin is inactive" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:261 +#: src/tables/plugin/PluginListTable.tsx:227 msgid "Plugin is not installed" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:287 +#: src/tables/plugin/PluginListTable.tsx:253 msgid "Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:312 +#: src/tables/plugin/PluginListTable.tsx:287 msgid "Description not available" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:338 +#: src/tables/plugin/PluginListTable.tsx:319 +msgid "Confirm plugin activation" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:320 +msgid "Confirm plugin deactivation" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:325 +msgid "The selected plugin will be activated" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:326 +msgid "The selected plugin will be deactivated" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:334 msgid "Activate Plugin" msgstr "" #: src/tables/plugin/PluginListTable.tsx:338 -msgid "Deactivate Plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:347 -msgid "Confirm plugin activation" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:348 -msgid "Confirm plugin deactivation" -msgstr "" +#~ msgid "Deactivate Plugin" +#~ msgstr "Deactivate Plugin" #: src/tables/plugin/PluginListTable.tsx:354 -msgid "The following plugin will be activated" -msgstr "" +#~ msgid "The following plugin will be activated" +#~ msgstr "The following plugin will be activated" #: src/tables/plugin/PluginListTable.tsx:355 -msgid "The following plugin will be deactivated" -msgstr "" +#~ msgid "The following plugin will be deactivated" +#~ msgstr "The following plugin will be deactivated" -#: src/tables/plugin/PluginListTable.tsx:366 -msgid "Confirm" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:376 -msgid "Activating plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:376 -msgid "Deactivating plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:392 -msgid "Plugin updated" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:394 -msgid "The plugin was activated" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:395 -msgid "The plugin was deactivated" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:403 -msgid "Error updating plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:423 +#: src/tables/plugin/PluginListTable.tsx:362 msgid "Deactivate" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:432 +#: src/tables/plugin/PluginListTable.tsx:366 +#~ msgid "Confirm" +#~ msgstr "Confirm" + +#: src/tables/plugin/PluginListTable.tsx:373 msgid "Activate" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:463 +#: src/tables/plugin/PluginListTable.tsx:376 +#~ msgid "Activating plugin" +#~ msgstr "Activating plugin" + +#: src/tables/plugin/PluginListTable.tsx:376 +#~ msgid "Deactivating plugin" +#~ msgstr "Deactivating plugin" + +#: src/tables/plugin/PluginListTable.tsx:392 +#~ msgid "Plugin updated" +#~ msgstr "Plugin updated" + +#: src/tables/plugin/PluginListTable.tsx:394 +#~ msgid "The plugin was activated" +#~ msgstr "The plugin was activated" + +#: src/tables/plugin/PluginListTable.tsx:395 +#~ msgid "The plugin was deactivated" +#~ msgstr "The plugin was deactivated" + +#: src/tables/plugin/PluginListTable.tsx:403 +#~ msgid "Error updating plugin" +#~ msgstr "Error updating plugin" + +#: src/tables/plugin/PluginListTable.tsx:406 msgid "Uninstall" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:495 +#: src/tables/plugin/PluginListTable.tsx:438 msgid "Install plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:508 +#: src/tables/plugin/PluginListTable.tsx:451 msgid "Install" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:512 +#: src/tables/plugin/PluginListTable.tsx:452 msgid "Plugin installed successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:525 +#: src/tables/plugin/PluginListTable.tsx:457 msgid "Uninstall Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:537 +#: src/tables/plugin/PluginListTable.tsx:469 msgid "Confirm plugin uninstall" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:540 +#: src/tables/plugin/PluginListTable.tsx:472 msgid "The selected plugin will be uninstalled." msgstr "" -#: src/tables/plugin/PluginListTable.tsx:541 +#: src/tables/plugin/PluginListTable.tsx:473 msgid "This action cannot be undone." msgstr "" -#: src/tables/plugin/PluginListTable.tsx:547 +#: src/tables/plugin/PluginListTable.tsx:477 msgid "Plugin uninstalled successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:560 +#: src/tables/plugin/PluginListTable.tsx:484 msgid "Delete Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:562 +#: src/tables/plugin/PluginListTable.tsx:485 msgid "Deleting this plugin configuration will remove all associated settings and data. Are you sure you want to delete this plugin?" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:574 +#: src/tables/plugin/PluginListTable.tsx:498 msgid "Plugins reloaded" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:575 +#: src/tables/plugin/PluginListTable.tsx:499 msgid "Plugins were reloaded successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:591 +#: src/tables/plugin/PluginListTable.tsx:515 msgid "Reload Plugins" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:600 +#: src/tables/plugin/PluginListTable.tsx:524 msgid "Install Plugin" msgstr "" +#: src/tables/plugin/PluginListTable.tsx:544 +msgid "Plugin Detail" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:573 +msgid "Sample" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:578 +#: src/tables/stock/StockItemTable.tsx:305 +msgid "Installed" +msgstr "" + #: src/tables/plugin/PluginListTable.tsx:615 #~ msgid "Plugin detail" #~ msgstr "Plugin detail" -#: src/tables/plugin/PluginListTable.tsx:619 -msgid "Plugin Detail" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:648 -msgid "Sample" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:653 -#: src/tables/stock/StockItemTable.tsx:305 -msgid "Installed" -msgstr "" - -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:57 -msgid "Edit Parameter" +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:59 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:108 +msgid "Add Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:60 -msgid "Parameter updated" -msgstr "" +#~ msgid "Parameter updated" +#~ msgstr "Parameter updated" -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:71 -msgid "Delete Parameter" +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:70 +msgid "Edit Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:73 -msgid "Parameter deleted" -msgstr "" +#~ msgid "Parameter deleted" +#~ msgstr "Parameter deleted" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:74 -msgid "Are you sure you want to delete this parameter?" +#~ msgid "Are you sure you want to delete this parameter?" +#~ msgstr "Are you sure you want to delete this parameter?" + +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:78 +msgid "Delete Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartTable.tsx:63 #~ msgid "Create Manufacturer Part" #~ msgstr "Create Manufacturer Part" -#: src/tables/purchasing/ManufacturerPartTable.tsx:100 -msgid "Manufacturer part updated" -msgstr "" - -#: src/tables/purchasing/ManufacturerPartTable.tsx:111 +#: src/tables/purchasing/ManufacturerPartTable.tsx:92 msgid "Delete Manufacturer Part" msgstr "" +#: src/tables/purchasing/ManufacturerPartTable.tsx:100 +#~ msgid "Manufacturer part updated" +#~ msgstr "Manufacturer part updated" + #: src/tables/purchasing/ManufacturerPartTable.tsx:112 -msgid "Manufacturer part deleted" -msgstr "" +#~ msgid "Manufacturer part deleted" +#~ msgstr "Manufacturer part deleted" #: src/tables/purchasing/ManufacturerPartTable.tsx:114 -msgid "Are you sure you want to remove this manufacturer part?" -msgstr "" +#~ msgid "Are you sure you want to remove this manufacturer part?" +#~ msgstr "Are you sure you want to remove this manufacturer part?" #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:86 msgid "Part Description" @@ -6087,18 +6238,22 @@ msgid "Error Information" msgstr "" #: src/tables/settings/ErrorTable.tsx:51 -msgid "Delete error report" +msgid "Delete Error Report" msgstr "" +#: src/tables/settings/ErrorTable.tsx:51 +#~ msgid "Delete error report" +#~ msgstr "Delete error report" + #: src/tables/settings/ErrorTable.tsx:53 -msgid "Error report deleted" -msgstr "" - -#: src/tables/settings/ErrorTable.tsx:54 msgid "Are you sure you want to delete this error report?" msgstr "" -#: src/tables/settings/ErrorTable.tsx:67 +#: src/tables/settings/ErrorTable.tsx:55 +msgid "Error report deleted" +msgstr "" + +#: src/tables/settings/ErrorTable.tsx:77 #: src/tables/settings/FailedTasksTable.tsx:57 msgid "Error Details" msgstr "" @@ -6115,7 +6270,7 @@ msgid "Task ID" msgstr "" #: src/tables/settings/FailedTasksTable.tsx:34 -#: src/tables/stock/StockItemTestResultTable.tsx:214 +#: src/tables/stock/StockItemTestResultTable.tsx:205 msgid "Started" msgstr "" @@ -6188,30 +6343,71 @@ msgstr "" msgid "Next Run" msgstr "" -#: src/tables/settings/TemplateTable.tsx:120 -msgid "{templateTypeTranslation} with id {id} not found" +#: src/tables/settings/TemplateTable.tsx:82 +msgid "Template not found" msgstr "" +#: src/tables/settings/TemplateTable.tsx:84 +msgid "An error occurred while fetching template details" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:120 +#~ msgid "{templateTypeTranslation} with id {id} not found" +#~ msgstr "{templateTypeTranslation} with id {id} not found" + #: src/tables/settings/TemplateTable.tsx:124 -msgid "An error occurred while fetching {templateTypeTranslation} details" -msgstr "" +#~ msgid "An error occurred while fetching {templateTypeTranslation} details" +#~ msgstr "An error occurred while fetching {templateTypeTranslation} details" #: src/tables/settings/TemplateTable.tsx:146 -msgid "actions" +#~ msgid "actions" +#~ msgstr "actions" + +#: src/tables/settings/TemplateTable.tsx:170 +msgid "Modify" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:171 +msgid "Modify template file" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:222 +#: src/tables/settings/TemplateTable.tsx:289 +msgid "Edit Template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:230 +msgid "Delete template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:236 +msgid "Add Template" msgstr "" #: src/tables/settings/TemplateTable.tsx:243 -msgid "Add new" -msgstr "" +#~ msgid "Add new" +#~ msgstr "Add new" #: src/tables/settings/TemplateTable.tsx:243 #~ msgid "Create new" #~ msgstr "Create new" -#: src/tables/settings/TemplateTable.tsx:276 +#: src/tables/settings/TemplateTable.tsx:249 +msgid "Add template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:271 msgid "Filter by enabled status" msgstr "" +#: src/tables/settings/TemplateTable.tsx:276 +msgid "Model Type" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:277 +msgid "Filter by target model type" +msgstr "" + #: src/tables/settings/UserTable.tsx:79 msgid "User with id {id} not found" msgstr "" @@ -6277,6 +6473,23 @@ msgstr "" msgid "Edit user" msgstr "" +#: src/tables/stock/LocationTypesTable.tsx:36 +#: src/tables/stock/LocationTypesTable.tsx:105 +msgid "Add Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:44 +msgid "Edit Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:52 +msgid "Delete Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:69 +msgid "Icon" +msgstr "" + #: src/tables/stock/StockItemTable.tsx:90 msgid "This stock item is in production" msgstr "" @@ -6338,7 +6551,7 @@ msgid "Show items which are available" msgstr "" #: src/tables/stock/StockItemTable.tsx:280 -#: src/tables/stock/StockLocationTable.tsx:37 +#: src/tables/stock/StockLocationTable.tsx:33 msgid "Include Sublocations" msgstr "" @@ -6467,123 +6680,135 @@ msgstr "" msgid "Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:153 +#: src/tables/stock/StockItemTestResultTable.tsx:151 msgid "Test result for installed stock item" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:164 +#: src/tables/stock/StockItemTestResultTable.tsx:162 msgid "Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:170 +#: src/tables/stock/StockItemTestResultTable.tsx:168 msgid "No Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:186 +#: src/tables/stock/StockItemTestResultTable.tsx:184 msgid "Attachment" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:209 +#: src/tables/stock/StockItemTestResultTable.tsx:200 msgid "Test station" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:229 +#: src/tables/stock/StockItemTestResultTable.tsx:220 msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:277 -#: src/tables/stock/StockItemTestResultTable.tsx:349 -#: src/tables/stock/StockItemTestResultTable.tsx:404 +#: src/tables/stock/StockItemTestResultTable.tsx:268 +#: src/tables/stock/StockItemTestResultTable.tsx:340 +#: src/tables/stock/StockItemTestResultTable.tsx:395 msgid "Add Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:279 +#: src/tables/stock/StockItemTestResultTable.tsx:270 msgid "Test result added" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:288 -#: src/tables/stock/StockItemTestResultTable.tsx:359 +#: src/tables/stock/StockItemTestResultTable.tsx:279 +#: src/tables/stock/StockItemTestResultTable.tsx:350 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:290 +#: src/tables/stock/StockItemTestResultTable.tsx:281 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:296 -#: src/tables/stock/StockItemTestResultTable.tsx:368 +#: src/tables/stock/StockItemTestResultTable.tsx:287 +#: src/tables/stock/StockItemTestResultTable.tsx:359 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:298 +#: src/tables/stock/StockItemTestResultTable.tsx:289 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:312 +#: src/tables/stock/StockItemTestResultTable.tsx:303 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:313 +#: src/tables/stock/StockItemTestResultTable.tsx:304 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:320 +#: src/tables/stock/StockItemTestResultTable.tsx:311 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:337 +#: src/tables/stock/StockItemTestResultTable.tsx:328 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:386 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:390 +#: src/tables/stock/StockItemTestResultTable.tsx:381 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:391 +#: src/tables/stock/StockItemTestResultTable.tsx:382 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:395 +#: src/tables/stock/StockItemTestResultTable.tsx:386 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:396 +#: src/tables/stock/StockItemTestResultTable.tsx:387 msgid "Show only passed tests" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:38 +#: src/tables/stock/StockLocationTable.tsx:34 msgid "Include sublocations in results" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:42 +#: src/tables/stock/StockLocationTable.tsx:38 msgid "structural" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:43 +#: src/tables/stock/StockLocationTable.tsx:39 msgid "Show structural locations" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:47 +#: src/tables/stock/StockLocationTable.tsx:43 msgid "external" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:48 +#: src/tables/stock/StockLocationTable.tsx:44 msgid "Show external locations" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:52 +#: src/tables/stock/StockLocationTable.tsx:48 msgid "Has location type" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:89 -#: src/tables/stock/StockLocationTable.tsx:118 +#: src/tables/stock/StockLocationTable.tsx:85 +#: src/tables/stock/StockLocationTable.tsx:110 msgid "Add Stock Location" msgstr "" +#: src/tables/stock/StockTrackingTable.tsx:64 +msgid "Added" +msgstr "" + +#: src/tables/stock/StockTrackingTable.tsx:69 +msgid "Removed" +msgstr "" + +#: src/tables/stock/StockTrackingTable.tsx:198 +msgid "No user information" +msgstr "" + #: src/views/MobileAppView.tsx:22 msgid "Mobile viewport detected" msgstr "" diff --git a/src/frontend/src/locales/de/messages.po b/src/frontend/src/locales/de/messages.po index 95fc833853..9024da8746 100644 --- a/src/frontend/src/locales/de/messages.po +++ b/src/frontend/src/locales/de/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: de\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-05-13 02:48\n" +"PO-Revision-Date: 2024-05-23 11:38\n" "Last-Translator: \n" "Language-Team: German\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -20,31 +20,88 @@ msgstr "" #: src/components/Boundary.tsx:12 msgid "Error rendering component" -msgstr "" +msgstr "Fehler beim darstellen der Komponente" #: src/components/Boundary.tsx:14 msgid "An error occurred while rendering this component. Refer to the console for more information." -msgstr "" +msgstr "Beim Rendern dieser Komponente ist ein Fehler aufgetreten. Weitere Informationen stehen in der Konsole." #: src/components/DashboardItemProxy.tsx:34 msgid "Title" msgstr "Titel" +#: src/components/buttons/AdminButton.tsx:83 +msgid "Open in admin interface" +msgstr "Im Admin-Interface öffnen" + #: src/components/buttons/CopyButton.tsx:18 msgid "Copy to clipboard" msgstr "In die Zwischenablage kopieren" +#: src/components/buttons/PrintingActions.tsx:95 +msgid "Print Label" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:101 +msgid "Label printing completed successfully" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:106 +#: src/components/buttons/PrintingActions.tsx:143 +#: src/components/forms/ApiForm.tsx:504 +#: src/components/forms/fields/ApiFormField.tsx:295 +#: src/components/modals/LicenseModal.tsx:75 +#: src/components/nav/SearchDrawer.tsx:413 +#: src/components/widgets/MarkdownEditor.tsx:107 +#: src/components/widgets/MarkdownEditor.tsx:153 +#: src/pages/ErrorPage.tsx:12 +#: src/pages/ErrorPage.tsx:25 +#: src/pages/part/PartPricingPanel.tsx:71 +#: src/tables/InvenTreeTable.tsx:451 +#: src/tables/InvenTreeTable.tsx:531 +#: src/tables/stock/StockItemTestResultTable.tsx:310 +msgid "Error" +msgstr "Fehler" + +#: src/components/buttons/PrintingActions.tsx:107 +msgid "The label could not be generated" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:122 +msgid "Print Report" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:138 +msgid "Report printing completed successfully" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:144 +msgid "The report could not be generated" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:171 +msgid "Printing Actions" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:176 +msgid "Print Labels" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:182 +msgid "Print Reports" +msgstr "" + #: src/components/buttons/ScanButton.tsx:15 msgid "Scan QR code" msgstr "QR-Code scannen" #: src/components/buttons/ScanButton.tsx:20 msgid "Open QR code scanner" -msgstr "" +msgstr "QR-Code-Scanner öffnen" #: src/components/buttons/SpotlightButton.tsx:14 msgid "Open spotlight" -msgstr "" +msgstr "Spotlight öffnen" #: src/components/buttons/YesNoButton.tsx:16 msgid "Pass" @@ -64,15 +121,15 @@ msgstr "Ja" msgid "No" msgstr "Nein" -#: src/components/details/Details.tsx:302 +#: src/components/details/Details.tsx:303 msgid "No name defined" -msgstr "" +msgstr "Kein Name festgelegt" -#: src/components/details/Details.tsx:339 +#: src/components/details/Details.tsx:340 msgid "Copied" msgstr "Kopiert" -#: src/components/details/Details.tsx:339 +#: src/components/details/Details.tsx:340 msgid "Copy" msgstr "Kopieren" @@ -85,24 +142,23 @@ msgid "Remove the associated image from this item?" msgstr "Verknüpftes Bild von diesem Teil entfernen?" #: src/components/details/DetailsImage.tsx:71 -#: src/forms/StockForms.tsx:442 +#: src/forms/StockForms.tsx:483 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:448 +#: src/pages/stock/StockDetail.tsx:462 msgid "Remove" msgstr "Entfernen" #: src/components/details/DetailsImage.tsx:71 -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:163 -#: src/components/items/ActionDropdown.tsx:222 -#: src/components/items/ActionDropdown.tsx:223 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 +#: src/components/items/ActionDropdown.tsx:229 +#: src/components/items/ActionDropdown.tsx:230 #: src/contexts/ThemeContext.tsx:43 #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:40 -#: src/tables/FilterSelectDrawer.tsx:218 -#: src/tables/InvenTreeTable.tsx:493 -#: src/tables/build/BuildOutputTable.tsx:223 -#: src/tables/plugin/PluginListTable.tsx:365 +#: src/tables/FilterSelectDrawer.tsx:207 +#: src/tables/InvenTreeTable.tsx:499 +#: src/tables/build/BuildOutputTable.tsx:225 msgid "Cancel" msgstr "Abbrechen" @@ -119,7 +175,7 @@ msgid "Clear" msgstr "Leeren" #: src/components/details/DetailsImage.tsx:227 -#: src/components/forms/ApiForm.tsx:554 +#: src/components/forms/ApiForm.tsx:571 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:56 msgid "Submit" @@ -150,9 +206,10 @@ msgid "Part is not active" msgstr "Teil ist nicht aktiv" #: src/components/details/PartIcons.tsx:34 -#: src/pages/company/CompanyDetail.tsx:308 -#: src/pages/company/SupplierPartDetail.tsx:304 -#: src/pages/part/PartDetail.tsx:684 +#: src/components/render/Plugin.tsx:17 +#: src/pages/company/CompanyDetail.tsx:310 +#: src/pages/company/SupplierPartDetail.tsx:305 +#: src/pages/part/PartDetail.tsx:685 msgid "Inactive" msgstr "Inaktiv" @@ -193,13 +250,13 @@ msgstr "Virtuell" #: src/components/editors/TemplateEditor/CodeEditor/index.tsx:9 msgid "Code" -msgstr "" +msgstr "Code" #: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:44 -msgid "Failed to parse error response from server." -msgstr "Fehler beim Parsen der Serverantwort." +#~ msgid "Failed to parse error response from server." +#~ msgstr "Failed to parse error response from server." -#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:82 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:81 msgid "Preview not available, click \"Reload Preview\"." msgstr "Vorschau nicht verfügbar, klicke \"Vorschau neu laden\"." @@ -207,98 +264,99 @@ msgstr "Vorschau nicht verfügbar, klicke \"Vorschau neu laden\"." msgid "PDF Preview" msgstr "PDF Vorschau" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:113 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:104 msgid "Error loading template" msgstr "Fehler beim Laden der Vorlage" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:125 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:116 msgid "Error saving template" msgstr "Fehler beim Speichern der Vorlage" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 -msgid "Save & Reload preview?" -msgstr "Vorschau speichern & neu laden?" +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:146 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:270 +msgid "Save & Reload Preview" +msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:156 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 msgid "Are you sure you want to Save & Reload the preview?" msgstr "Bist du sicher, dass du die Vorschau speichern & neu Laden möchtest?" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 +#~ msgid "Save & Reload preview?" +#~ msgstr "Save & Reload preview?" + +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:153 msgid "To render the preview the current template needs to be replaced on the server with your modifications which may break the label if it is under active use. Do you want to proceed?" msgstr "Um die Vorschau zu erstellen, muss die Vorlage auf dem Server mit deiner geänderten Version ersetzt werden. Das kann zu Fehlern bei Etiketten führen, wenn sie aktiv genutzt werden. Möchtest du fortfahren?" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:162 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:157 msgid "Save & Reload" msgstr "Speichern & Neu laden" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:191 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:189 msgid "Preview updated" msgstr "Vorschau aktualisiert" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:192 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:190 msgid "The preview has been updated successfully." msgstr "Die Vorlage wurde erfolgreich aktualisiert." -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:255 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:262 msgid "Reload preview" msgstr "Vorschau neu laden" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:256 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:263 msgid "Use the currently stored template from the server" msgstr "Benutze die aktuell auf dem Server gespeicherte Vorlage" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:263 -msgid "Save & Reload preview" -msgstr "Vorschau speichern & neu laden" +#~ msgid "Save & Reload preview" +#~ msgstr "Save & Reload preview" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:264 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:271 msgid "Save the current template and reload the preview" msgstr "Die aktuelle Vorlage speichern und die Vorschau neu laden" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:322 -#: src/tables/part/PartThumbTable.tsx:203 -msgid "Select" -msgstr "Wähle" +#~ msgid "to preview" +#~ msgstr "to preview" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:322 -msgid "to preview" -msgstr "zur Vorschau" +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:329 +msgid "Select instance to preview" +msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:366 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:373 msgid "Error rendering template" msgstr "Fehler bei Darstellung der Vorlage" -#: src/components/forms/ApiForm.tsx:143 +#: src/components/forms/ApiForm.tsx:148 #: src/functions/forms.tsx:259 msgid "Form Error" msgstr "Formularfehler" -#: src/components/forms/ApiForm.tsx:411 +#: src/components/forms/ApiForm.tsx:428 #: src/components/widgets/MarkdownEditor.tsx:145 msgid "Success" msgstr "Abgeschlossen" #: src/components/forms/ApiForm.tsx:487 -msgid "Form Errors Exist" -msgstr "Formularfehler vorhanden" +#~ msgid "Form Errors Exist" +#~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:592 -#: src/tables/plugin/PluginListTable.tsx:445 +#: src/components/forms/ApiForm.tsx:609 +#: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "Aktualisieren" -#: src/components/forms/ApiForm.tsx:612 -#: src/components/items/ActionDropdown.tsx:203 +#: src/components/forms/ApiForm.tsx:629 +#: src/components/items/ActionDropdown.tsx:210 #: src/functions/forms.tsx:299 #: src/hooks/UseForm.tsx:122 #: src/pages/Index/Scan.tsx:343 #: src/pages/Notifications.tsx:123 -#: src/tables/InvenTreeTable.tsx:492 +#: src/tables/InvenTreeTable.tsx:498 #: src/tables/RowActions.tsx:71 -#: src/tables/plugin/PluginListTable.tsx:477 -#: src/tables/settings/TemplateTable.tsx:105 -#: src/tables/settings/TemplateTable.tsx:154 -#: src/tables/settings/TemplateTable.tsx:236 +#: src/tables/plugin/PluginListTable.tsx:420 msgid "Delete" msgstr "Löschen" @@ -314,7 +372,7 @@ msgstr "Anmeldung erfolgreich" #: src/components/forms/AuthenticationForm.tsx:52 msgid "Logged in successfully" -msgstr "" +msgstr "Erfolgreich eingeloggt" #: src/components/forms/AuthenticationForm.tsx:52 #~ msgid "Welcome back!" @@ -351,7 +409,7 @@ msgstr "Prüfen Sie Ihren Posteingang auf den Anmeldelink. Wenn Sie ein Konto ha #: src/components/forms/AuthenticationForm.tsx:75 msgid "Mail delivery failed" -msgstr "" +msgstr "E-Mail Zustellung fehlgeschlagen" #: src/components/forms/AuthenticationForm.tsx:95 msgid "Or continue with other methods" @@ -468,18 +526,19 @@ msgstr "Adresse" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 -#: src/pages/part/CategoryDetail.tsx:77 -#: src/pages/part/PartDetail.tsx:125 -#: src/pages/stock/LocationDetail.tsx:83 +#: src/pages/part/CategoryDetail.tsx:78 +#: src/pages/part/PartDetail.tsx:126 +#: src/pages/stock/LocationDetail.tsx:85 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 #: src/tables/machine/MachineTypeTable.tsx:216 #: src/tables/machine/MachineTypeTable.tsx:319 #: src/tables/plugin/PluginErrorTable.tsx:33 -#: src/tables/plugin/PluginListTable.tsx:169 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:27 +#: src/tables/plugin/PluginListTable.tsx:126 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:32 #: src/tables/settings/GroupTable.tsx:103 #: src/tables/settings/PendingTasksTable.tsx:26 +#: src/tables/stock/LocationTypesTable.tsx:60 msgid "Name" msgstr "Name" @@ -520,35 +579,20 @@ msgstr "Name: {0}" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "Status: <0>worker ({0}), <1>Plugins{1}" -#: src/components/forms/fields/ApiFormField.tsx:276 -#: src/components/modals/LicenseModal.tsx:75 -#: src/components/nav/SearchDrawer.tsx:413 -#: src/components/widgets/MarkdownEditor.tsx:107 -#: src/components/widgets/MarkdownEditor.tsx:153 -#: src/pages/ErrorPage.tsx:12 -#: src/pages/ErrorPage.tsx:25 -#: src/pages/part/PartPricingPanel.tsx:71 -#: src/tables/InvenTreeTable.tsx:445 -#: src/tables/InvenTreeTable.tsx:525 -#: src/tables/plugin/PluginListTable.tsx:402 -#: src/tables/stock/StockItemTestResultTable.tsx:319 -msgid "Error" -msgstr "Fehler" - -#: src/components/forms/fields/RelatedModelField.tsx:305 +#: src/components/forms/fields/RelatedModelField.tsx:315 #: src/pages/Index/Settings/UserSettings.tsx:64 #: src/tables/Search.tsx:23 msgid "Search" msgstr "Suche" -#: src/components/forms/fields/RelatedModelField.tsx:306 +#: src/components/forms/fields/RelatedModelField.tsx:316 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:120 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "Wird geladen" -#: src/components/forms/fields/RelatedModelField.tsx:308 +#: src/components/forms/fields/RelatedModelField.tsx:318 msgid "No results found" msgstr "Keine Ergebnisse gefunden" @@ -569,54 +613,51 @@ msgstr "Keine Einträge vorhanden" msgid "Thumbnail" msgstr "Vorschaubild" -#: src/components/items/ActionDropdown.tsx:112 -#: src/pages/build/BuildDetail.tsx:354 +#: src/components/items/ActionDropdown.tsx:119 +#: src/pages/build/BuildDetail.tsx:360 msgid "Barcode Actions" msgstr "Barcode-Aktionen" -#: src/components/items/ActionDropdown.tsx:129 +#: src/components/items/ActionDropdown.tsx:136 msgid "View" msgstr "Anzeigen" -#: src/components/items/ActionDropdown.tsx:130 +#: src/components/items/ActionDropdown.tsx:137 msgid "View barcode" msgstr "Barcode anzeigen" -#: src/components/items/ActionDropdown.tsx:146 +#: src/components/items/ActionDropdown.tsx:153 msgid "Link Barcode" msgstr "Link-Barcode" -#: src/components/items/ActionDropdown.tsx:147 +#: src/components/items/ActionDropdown.tsx:154 msgid "Link custom barcode" msgstr "Benutzerdefinierter Barcode verknüpfen" -#: src/components/items/ActionDropdown.tsx:163 -#: src/forms/PurchaseOrderForms.tsx:375 +#: src/components/items/ActionDropdown.tsx:170 +#: src/forms/PurchaseOrderForms.tsx:389 msgid "Unlink Barcode" msgstr "Verknüpfung des Barcodes aufheben" -#: src/components/items/ActionDropdown.tsx:164 +#: src/components/items/ActionDropdown.tsx:171 msgid "Unlink custom barcode" msgstr "Verknüpfung von benutzerdefiniertem Barcode aufheben" -#: src/components/items/ActionDropdown.tsx:182 +#: src/components/items/ActionDropdown.tsx:189 #: src/tables/RowActions.tsx:51 -#: src/tables/settings/TemplateTable.tsx:87 -#: src/tables/settings/TemplateTable.tsx:150 -#: src/tables/settings/TemplateTable.tsx:287 msgid "Edit" msgstr "Bearbeiten" -#: src/components/items/ActionDropdown.tsx:204 +#: src/components/items/ActionDropdown.tsx:211 msgid "Delete item" msgstr "Element löschen" -#: src/components/items/ActionDropdown.tsx:241 +#: src/components/items/ActionDropdown.tsx:248 #: src/tables/RowActions.tsx:31 msgid "Duplicate" msgstr "Duplizieren" -#: src/components/items/ActionDropdown.tsx:242 +#: src/components/items/ActionDropdown.tsx:249 msgid "Duplicate item" msgstr "Artikel duplizieren" @@ -625,7 +666,7 @@ msgid "Read More" msgstr "Mehr lesen" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:437 +#: src/tables/InvenTreeTable.tsx:443 msgid "Unknown error" msgstr "Unbekannter Fehler" @@ -746,23 +787,23 @@ msgstr "Verwerfen" #: src/components/modals/LicenseModal.tsx:39 msgid "No license text available" -msgstr "" +msgstr "Kein Lizenztext verfügbar" #: src/components/modals/LicenseModal.tsx:46 msgid "No Information provided - this is likely a server issue" -msgstr "" +msgstr "Keine Informationen zur Verfügung gestellt - dies ist wahrscheinlich ein Serverproblem" #: src/components/modals/LicenseModal.tsx:71 msgid "Loading license information" -msgstr "" +msgstr "Lizenzinformationen werden geladen" #: src/components/modals/LicenseModal.tsx:77 msgid "Failed to fetch license information" -msgstr "" +msgstr "Fehler beim Abrufen der Lizenzinformationen" #: src/components/modals/LicenseModal.tsx:85 msgid "{key} Packages" -msgstr "" +msgstr "{key} Pakete" #: src/components/modals/QrCodeModal.tsx:72 msgid "Unknown response" @@ -785,27 +826,27 @@ msgstr "Fehler beim Anhalten" #: src/components/modals/QrCodeModal.tsx:154 #: src/defaults/menuItems.tsx:21 -#: src/pages/Index/Scan.tsx:747 +#: src/pages/Index/Scan.tsx:746 msgid "Scanning" msgstr "Scannen" #: src/components/modals/QrCodeModal.tsx:154 -#: src/pages/Index/Scan.tsx:747 +#: src/pages/Index/Scan.tsx:746 msgid "Not scanning" msgstr "Es wird nicht gescannt" #: src/components/modals/QrCodeModal.tsx:159 -#: src/pages/Index/Scan.tsx:753 +#: src/pages/Index/Scan.tsx:752 msgid "Select Camera" msgstr "Kamera auswählen" #: src/components/modals/QrCodeModal.tsx:169 -#: src/pages/Index/Scan.tsx:738 +#: src/pages/Index/Scan.tsx:737 msgid "Start scanning" msgstr "Scan starten" #: src/components/modals/QrCodeModal.tsx:176 -#: src/pages/Index/Scan.tsx:730 +#: src/pages/Index/Scan.tsx:729 msgid "Stop scanning" msgstr "Scan stoppen" @@ -891,8 +932,8 @@ msgid "Email settings not configured" msgstr "E-Mail-Einstellungen nicht konfiguriert" #: src/components/modals/ServerInfoModal.tsx:121 -#: src/tables/plugin/PluginListTable.tsx:187 -#: src/tables/plugin/PluginListTable.tsx:319 +#: src/tables/plugin/PluginListTable.tsx:144 +#: src/tables/plugin/PluginListTable.tsx:294 msgid "Version" msgstr "Version" @@ -903,11 +944,11 @@ msgstr "Serverversion" #: src/components/nav/Layout.tsx:70 #: src/tables/part/PartThumbTable.tsx:194 msgid "Search..." -msgstr "" +msgstr "Suchen..." #: src/components/nav/Layout.tsx:73 msgid "Nothing found..." -msgstr "" +msgstr "Nichts gefunden..." #: src/components/nav/MainMenu.tsx:40 #: src/pages/Index/Profile/Profile.tsx:15 @@ -926,13 +967,13 @@ msgstr "Benutzereinstellungen" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:293 +#: src/pages/Index/Settings/SystemSettings.tsx:294 msgid "System Settings" msgstr "Einstellungen" #: src/components/nav/MainMenu.tsx:67 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:172 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 msgid "Admin Center" msgstr "Adminbereich" @@ -975,7 +1016,7 @@ msgid "Pages" msgstr "Seiten" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:133 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:153 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "Plugins" @@ -1013,9 +1054,9 @@ msgid "Mark as read" msgstr "Als gelesen markieren" #: src/components/nav/PartCategoryTree.tsx:158 -#: src/components/render/ModelType.tsx:60 +#: src/components/render/ModelType.tsx:64 #: src/pages/Index/Settings/SystemSettings.tsx:162 -#: src/pages/part/CategoryDetail.tsx:248 +#: src/pages/part/CategoryDetail.tsx:249 msgid "Part Categories" msgstr "Teil-Kategorien" @@ -1052,142 +1093,147 @@ msgid "No results available for search query" msgstr "Keine Ergebnisse für Suchanfrage verfügbar" #: src/components/nav/StockLocationTree.tsx:93 -#: src/components/render/ModelType.tsx:76 -#: src/pages/stock/LocationDetail.tsx:175 +#: src/components/render/ModelType.tsx:82 +#: src/pages/stock/LocationDetail.tsx:185 msgid "Stock Locations" msgstr "Lagerorte" -#: src/components/render/Instance.tsx:137 +#: src/components/render/Instance.tsx:166 msgid "Unknown model: {model}" msgstr "Unbekanntes Modell: {model}" -#: src/components/render/ModelType.tsx:21 -#: src/forms/BuildForms.tsx:184 -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49 +#: src/components/render/ModelType.tsx:22 +#: src/forms/BuildForms.tsx:201 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:83 #: src/pages/part/PartDetail.tsx:828 #: src/tables/part/RelatedPartTable.tsx:45 +#: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" msgstr "Teil" -#: src/components/render/ModelType.tsx:22 +#: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 #: src/pages/Index/Settings/SystemSettings.tsx:167 -#: src/pages/part/CategoryDetail.tsx:109 -#: src/pages/part/CategoryDetail.tsx:234 -#: src/pages/part/CategoryDetail.tsx:264 -#: src/pages/part/PartDetail.tsx:638 +#: src/pages/part/CategoryDetail.tsx:110 +#: src/pages/part/CategoryDetail.tsx:235 +#: src/pages/part/CategoryDetail.tsx:265 +#: src/pages/part/PartDetail.tsx:639 msgid "Parts" msgstr "Teile" -#: src/components/render/ModelType.tsx:29 +#: src/components/render/ModelType.tsx:31 msgid "Part Parameter Template" msgstr "Teil Parametervorlage" -#: src/components/render/ModelType.tsx:30 +#: src/components/render/ModelType.tsx:32 msgid "Part Parameter Templates" msgstr "Teil Parametervorlagen" -#: src/components/render/ModelType.tsx:36 +#: src/components/render/ModelType.tsx:38 msgid "Part Test Template" msgstr "Testvorlage für Teil" -#: src/components/render/ModelType.tsx:37 +#: src/components/render/ModelType.tsx:39 msgid "Part Test Templates" msgstr "Testvorlagen für Teil" -#: src/components/render/ModelType.tsx:43 -#: src/pages/company/SupplierPartDetail.tsx:189 -#: src/pages/company/SupplierPartDetail.tsx:317 -#: src/pages/stock/StockDetail.tsx:159 +#: src/components/render/ModelType.tsx:45 +#: src/pages/company/SupplierPartDetail.tsx:190 +#: src/pages/company/SupplierPartDetail.tsx:318 +#: src/pages/stock/StockDetail.tsx:162 #: src/tables/purchasing/SupplierPartTable.tsx:68 msgid "Supplier Part" msgstr "Zuliefererteil" -#: src/components/render/ModelType.tsx:44 +#: src/components/render/ModelType.tsx:46 msgid "Supplier Parts" msgstr "Zuliefererteile" -#: src/components/render/ModelType.tsx:51 -#: src/pages/company/ManufacturerPartDetail.tsx:124 +#: src/components/render/ModelType.tsx:54 +#: src/pages/company/ManufacturerPartDetail.tsx:125 msgid "Manufacturer Part" msgstr "Herstellerteil" -#: src/components/render/ModelType.tsx:52 +#: src/components/render/ModelType.tsx:55 msgid "Manufacturer Parts" msgstr "Herstellerteile" -#: src/components/render/ModelType.tsx:59 -#: src/pages/part/CategoryDetail.tsx:287 +#: src/components/render/ModelType.tsx:63 +#: src/pages/part/CategoryDetail.tsx:288 msgid "Part Category" msgstr "Teilkategorie" -#: src/components/render/ModelType.tsx:67 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67 -#: src/pages/stock/StockDetail.tsx:535 +#: src/components/render/ModelType.tsx:72 +#: src/pages/stock/StockDetail.tsx:548 +#: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" msgstr "Lagerartikel" -#: src/components/render/ModelType.tsx:68 -#: src/pages/company/CompanyDetail.tsx:197 -#: src/pages/stock/LocationDetail.tsx:116 -#: src/pages/stock/LocationDetail.tsx:161 +#: src/components/render/ModelType.tsx:73 +#: src/pages/company/CompanyDetail.tsx:199 +#: src/pages/stock/LocationDetail.tsx:118 +#: src/pages/stock/LocationDetail.tsx:171 #: src/pages/stock/LocationDetail.tsx:365 msgid "Stock Items" msgstr "Lagerartikel" -#: src/components/render/ModelType.tsx:75 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:154 +#: src/components/render/ModelType.tsx:81 msgid "Stock Location" msgstr "Lagerort" -#: src/components/render/ModelType.tsx:83 +#: src/components/render/ModelType.tsx:90 +msgid "Stock Location Type" +msgstr "Lagerort Typ" + +#: src/components/render/ModelType.tsx:91 +msgid "Stock Location Types" +msgstr "Lagerort Typen" + +#: src/components/render/ModelType.tsx:95 msgid "Stock History" msgstr "Lagerhistorie" -#: src/components/render/ModelType.tsx:84 +#: src/components/render/ModelType.tsx:96 msgid "Stock Histories" msgstr "Bestandshistorie" -#: src/components/render/ModelType.tsx:88 +#: src/components/render/ModelType.tsx:100 #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:43 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:126 msgid "Build" -msgstr "Version" +msgstr "Bauauftrag" -#: src/components/render/ModelType.tsx:89 +#: src/components/render/ModelType.tsx:101 msgid "Builds" msgstr "Builds" -#: src/components/render/ModelType.tsx:96 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:76 +#: src/components/render/ModelType.tsx:109 msgid "Build Line" -msgstr "" +msgstr "Bauauftragsposition" -#: src/components/render/ModelType.tsx:97 +#: src/components/render/ModelType.tsx:110 msgid "Build Lines" -msgstr "" +msgstr "Bauauftragspositionen" -#: src/components/render/ModelType.tsx:104 -#: src/pages/company/CompanyDetail.tsx:321 +#: src/components/render/ModelType.tsx:117 +#: src/pages/company/CompanyDetail.tsx:323 msgid "Company" msgstr "Firma" -#: src/components/render/ModelType.tsx:105 +#: src/components/render/ModelType.tsx:118 msgid "Companies" msgstr "Unternehmen" -#: src/components/render/ModelType.tsx:112 +#: src/components/render/ModelType.tsx:126 #: src/tables/TableHoverCard.tsx:58 #: src/tables/build/BuildOrderTable.tsx:131 #: src/tables/purchasing/PurchaseOrderTable.tsx:64 @@ -1196,171 +1242,200 @@ msgstr "Unternehmen" msgid "Project Code" msgstr "Projekt-Code" -#: src/components/render/ModelType.tsx:113 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:97 +#: src/components/render/ModelType.tsx:127 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:105 msgid "Project Codes" msgstr "Projektnummern" -#: src/components/render/ModelType.tsx:119 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99 +#: src/components/render/ModelType.tsx:133 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:355 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:362 +#: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" msgstr "Einkaufsbestellung" -#: src/components/render/ModelType.tsx:120 -#: src/pages/Index/Settings/SystemSettings.tsx:242 -#: src/pages/company/CompanyDetail.tsx:190 -#: src/pages/company/SupplierPartDetail.tsx:223 -#: src/pages/part/PartDetail.tsx:571 +#: src/components/render/ModelType.tsx:134 +#: src/pages/Index/Settings/SystemSettings.tsx:243 +#: src/pages/company/CompanyDetail.tsx:192 +#: src/pages/company/SupplierPartDetail.tsx:224 +#: src/pages/part/PartDetail.tsx:572 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "Nachbestellungen" -#: src/components/render/ModelType.tsx:127 +#: src/components/render/ModelType.tsx:142 msgid "Purchase Order Line" msgstr "Bestellposition" -#: src/components/render/ModelType.tsx:128 +#: src/components/render/ModelType.tsx:143 msgid "Purchase Order Lines" msgstr "Bestellpositionen" -#: src/components/render/ModelType.tsx:132 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:108 +#: src/components/render/ModelType.tsx:147 #: src/pages/build/BuildDetail.tsx:131 -#: src/pages/sales/SalesOrderDetail.tsx:340 -#: src/pages/stock/StockDetail.tsx:207 +#: src/pages/sales/SalesOrderDetail.tsx:347 +#: src/pages/stock/StockDetail.tsx:210 +#: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" msgstr "Verkaufsauftrag" -#: src/components/render/ModelType.tsx:133 -#: src/pages/Index/Settings/SystemSettings.tsx:257 -#: src/pages/company/CompanyDetail.tsx:210 -#: src/pages/part/PartDetail.tsx:577 +#: src/components/render/ModelType.tsx:148 +#: src/pages/Index/Settings/SystemSettings.tsx:258 +#: src/pages/company/CompanyDetail.tsx:212 +#: src/pages/part/PartDetail.tsx:578 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "Aufträge" -#: src/components/render/ModelType.tsx:140 +#: src/components/render/ModelType.tsx:156 msgid "Sales Order Shipment" msgstr "Versand der Bestellung" -#: src/components/render/ModelType.tsx:141 +#: src/components/render/ModelType.tsx:157 msgid "Sales Order Shipments" msgstr "Versand der Bestellungen" -#: src/components/render/ModelType.tsx:147 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:117 -#: src/pages/sales/ReturnOrderDetail.tsx:318 +#: src/components/render/ModelType.tsx:163 +#: src/pages/sales/ReturnOrderDetail.tsx:325 +#: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "Rückgabe Auftrag" -#: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:272 -#: src/pages/company/CompanyDetail.tsx:217 +#: src/components/render/ModelType.tsx:164 +#: src/pages/Index/Settings/SystemSettings.tsx:273 +#: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" msgstr "Reklamationen" -#: src/components/render/ModelType.tsx:155 +#: src/components/render/ModelType.tsx:172 #: src/tables/company/AddressTable.tsx:47 msgid "Address" msgstr "Adresse" -#: src/components/render/ModelType.tsx:156 -#: src/pages/company/CompanyDetail.tsx:247 +#: src/components/render/ModelType.tsx:173 +#: src/pages/company/CompanyDetail.tsx:249 msgid "Addresses" msgstr "Adressen" -#: src/components/render/ModelType.tsx:162 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:189 -#: src/pages/sales/ReturnOrderDetail.tsx:157 -#: src/pages/sales/SalesOrderDetail.tsx:161 +#: src/components/render/ModelType.tsx:179 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:191 +#: src/pages/sales/ReturnOrderDetail.tsx:159 +#: src/pages/sales/SalesOrderDetail.tsx:163 msgid "Contact" msgstr "Kontakt" -#: src/components/render/ModelType.tsx:163 -#: src/pages/company/CompanyDetail.tsx:241 +#: src/components/render/ModelType.tsx:180 +#: src/pages/company/CompanyDetail.tsx:243 msgid "Contacts" msgstr "Kontakte" -#: src/components/render/ModelType.tsx:169 +#: src/components/render/ModelType.tsx:186 msgid "Owner" msgstr "Eigentümer" -#: src/components/render/ModelType.tsx:170 +#: src/components/render/ModelType.tsx:187 msgid "Owners" msgstr "Eigentümer" -#: src/components/render/ModelType.tsx:176 +#: src/components/render/ModelType.tsx:193 +#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "Nutzer" -#: src/components/render/ModelType.tsx:177 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:73 +#: src/components/render/ModelType.tsx:194 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:81 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "Benutzer" -#: src/components/render/Order.tsx:87 +#: src/components/render/ModelType.tsx:200 +msgid "Label Template" +msgstr "" + +#: src/components/render/ModelType.tsx:201 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:135 +msgid "Label Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:207 +msgid "Report Template" +msgstr "" + +#: src/components/render/ModelType.tsx:208 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:141 +msgid "Report Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:214 +msgid "Plugin Configuration" +msgstr "" + +#: src/components/render/ModelType.tsx:215 +msgid "Plugin Configurations" +msgstr "" + +#: src/components/render/Order.tsx:104 msgid "Shipment" msgstr "Sendung" -#: src/components/render/Part.tsx:12 +#: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:198 -#: src/pages/part/PartDetail.tsx:491 +#: src/pages/Index/Settings/SystemSettings.tsx:199 +#: src/pages/part/PartDetail.tsx:492 #: src/pages/stock/LocationDetail.tsx:344 -#: src/pages/stock/StockDetail.tsx:344 +#: src/pages/stock/StockDetail.tsx:352 #: src/tables/stock/StockItemTable.tsx:57 msgid "Stock" msgstr "Lager" -#: src/components/render/Stock.tsx:26 -#: src/pages/stock/StockDetail.tsx:142 -#: src/pages/stock/StockDetail.tsx:501 +#: src/components/render/Stock.tsx:52 +#: src/pages/stock/StockDetail.tsx:145 +#: src/pages/stock/StockDetail.tsx:514 msgid "Serial Number" msgstr "Seriennummer" -#: src/components/render/Stock.tsx:28 -#: src/forms/BuildForms.tsx:189 +#: src/components/render/Stock.tsx:54 +#: src/forms/BuildForms.tsx:206 #: src/pages/part/pricing/BomPricingPanel.tsx:144 -#: src/pages/part/pricing/PriceBreakPanel.tsx:96 -#: src/pages/stock/StockDetail.tsx:137 -#: src/pages/stock/StockDetail.tsx:507 +#: src/pages/part/pricing/PriceBreakPanel.tsx:94 +#: src/pages/stock/StockDetail.tsx:140 +#: src/pages/stock/StockDetail.tsx:520 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:73 +#: src/tables/stock/StockTrackingTable.tsx:59 msgid "Quantity" msgstr "Anzahl" -#: src/components/settings/SettingItem.tsx:46 -#: src/components/settings/SettingItem.tsx:99 -msgid "Setting updated" -msgstr "Einstellung aktualisiert" - #: src/components/settings/SettingItem.tsx:47 #: src/components/settings/SettingItem.tsx:100 -msgid "{0} updated successfully" -msgstr "{0} erfolgreich aktualisiert" +#~ msgid "{0} updated successfully" +#~ msgstr "{0} updated successfully" -#: src/components/settings/SettingItem.tsx:55 -msgid "Error editing setting" -msgstr "Fehler beim Bearbeiten der Einstellung" - -#: src/components/settings/SettingItem.tsx:92 +#: src/components/settings/SettingList.tsx:67 msgid "Edit Setting" msgstr "Einstellungen bearbeiten" -#: src/components/settings/SettingList.tsx:63 +#: src/components/settings/SettingList.tsx:78 +#: src/components/settings/SettingList.tsx:108 +msgid "Setting {0} updated successfully" +msgstr "Einstellung {0} erfolgreich aktualisiert" + +#: src/components/settings/SettingList.tsx:107 +msgid "Setting updated" +msgstr "Einstellung aktualisiert" + +#: src/components/settings/SettingList.tsx:117 +msgid "Error editing setting" +msgstr "Fehler beim Bearbeiten der Einstellung" + +#: src/components/settings/SettingList.tsx:158 msgid "No settings specified" msgstr "Keine Einstellungen angegeben" -#: src/components/tables/ColumnRenderers.tsx:134 -#~ msgid "Shipment Date" -#~ msgstr "Shipment Date" - #: src/components/tables/FilterGroup.tsx:29 #~ msgid "Add table filter" #~ msgstr "Add table filter" @@ -1731,10 +1806,6 @@ msgstr "Keine Einstellungen angegeben" #~ msgid "This is a test filter" #~ msgstr "This is a test filter" -#: src/components/tables/stock/StockLocationTable.tsx:91 -#~ msgid "Location Type" -#~ msgstr "Location Type" - #: src/components/tables/stock/StockLocationTable.tsx:145 #~ msgid "Stock location updated" #~ msgstr "Stock location updated" @@ -1856,7 +1927,7 @@ msgstr "Hebräisch" #: src/contexts/LanguageContext.tsx:32 msgid "Hindi" -msgstr "Hinduistisch" +msgstr "Hindi" #: src/contexts/LanguageContext.tsx:33 msgid "Hungarian" @@ -1876,7 +1947,7 @@ msgstr "Koreanisch" #: src/contexts/LanguageContext.tsx:37 msgid "Latvian" -msgstr "" +msgstr "Lettisch" #: src/contexts/LanguageContext.tsx:38 msgid "Dutch" @@ -1924,7 +1995,7 @@ msgstr "Türkisch" #: src/contexts/LanguageContext.tsx:49 msgid "Ukrainian" -msgstr "" +msgstr "Ukrainisch" #: src/contexts/LanguageContext.tsx:50 msgid "Vietnamese" @@ -1954,11 +2025,11 @@ msgstr "Dashboard" #: src/defaults/actions.tsx:24 msgid "Go to the InvenTree dashboard" -msgstr "" +msgstr "Gehe zum InvenTree Dashboard" #: src/defaults/actions.tsx:31 msgid "Visit the documentation to learn more about InvenTree" -msgstr "" +msgstr "Besuche die Dokumentation, um mehr über InvenTree zu erfahren" #: src/defaults/actions.tsx:37 #: src/defaults/links.tsx:92 @@ -1973,7 +2044,7 @@ msgstr "Über die InvenTree Organisation" #: src/defaults/actions.tsx:44 msgid "Server Information" -msgstr "" +msgstr "Server Informationen" #: src/defaults/actions.tsx:45 #: src/defaults/links.tsx:117 @@ -1983,16 +2054,16 @@ msgstr "Über diese InvenTree Instanz" #: src/defaults/actions.tsx:51 #: src/defaults/links.tsx:105 msgid "License Information" -msgstr "" +msgstr "Lizenz Informationen" #: src/defaults/actions.tsx:52 #: src/defaults/links.tsx:129 msgid "Licenses for dependencies of the service" -msgstr "" +msgstr "Lizenzen für Abhängigkeiten des Services" #: src/defaults/actions.tsx:59 msgid "Open the main navigation menu" -msgstr "" +msgstr "Hauptnavigationsmenü öffnen" #: src/defaults/dashboardItems.tsx:15 msgid "Subscribed Parts" @@ -2072,7 +2143,7 @@ msgstr "Aktuelles" #~ msgstr "Local Server" #: src/defaults/links.tsx:11 -#: src/pages/company/CompanyDetail.tsx:90 +#: src/pages/company/CompanyDetail.tsx:92 msgid "Website" msgstr "Webseite" @@ -2087,10 +2158,10 @@ msgstr "Demo" #: src/defaults/links.tsx:31 #: src/defaults/menuItems.tsx:48 #: src/pages/company/ManufacturerDetail.tsx:9 -#: src/pages/company/ManufacturerPartDetail.tsx:231 +#: src/pages/company/ManufacturerPartDetail.tsx:235 #: src/pages/company/SupplierDetail.tsx:9 -#: src/pages/company/SupplierPartDetail.tsx:291 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:358 +#: src/pages/company/SupplierPartDetail.tsx:292 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:365 #: src/pages/purchasing/PurchasingIndex.tsx:52 msgid "Purchasing" msgstr "Einkauf" @@ -2098,15 +2169,15 @@ msgstr "Einkauf" #: src/defaults/links.tsx:32 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:323 +#: src/pages/sales/ReturnOrderDetail.tsx:330 #: src/pages/sales/SalesIndex.tsx:45 -#: src/pages/sales/SalesOrderDetail.tsx:345 +#: src/pages/sales/SalesOrderDetail.tsx:352 msgid "Sales" msgstr "Verkäufe" #: src/defaults/links.tsx:35 #: src/defaults/menuItems.tsx:71 -#: src/pages/Index/Playground.tsx:239 +#: src/pages/Index/Playground.tsx:238 msgid "Playground" msgstr "Spielplatz" @@ -2240,89 +2311,85 @@ msgstr "Ansicht für interaktives Scannen und mehrere Aktionen." #~ msgstr "Combusken battles with the intensely hot flames it spews" #: src/forms/AttachmentForms.tsx:57 -msgid "Add File" -msgstr "Datei hinzufügen" +#~ msgid "Add File" +#~ msgstr "Add File" #: src/forms/AttachmentForms.tsx:57 -msgid "Add Link" -msgstr "Link hinzufügen" +#~ msgid "Add Link" +#~ msgstr "Add Link" #: src/forms/AttachmentForms.tsx:58 -msgid "File added" -msgstr "Datei hinzugefügt" +#~ msgid "File added" +#~ msgstr "File added" #: src/forms/AttachmentForms.tsx:58 -msgid "Link added" -msgstr "Link hinzugefügt" +#~ msgid "Link added" +#~ msgstr "Link added" #: src/forms/AttachmentForms.tsx:99 -msgid "Edit File" -msgstr "Datei bearbeiten" +#~ msgid "Edit File" +#~ msgstr "Edit File" #: src/forms/AttachmentForms.tsx:99 -msgid "Edit Link" -msgstr "Link bearbeiten" +#~ msgid "Edit Link" +#~ msgstr "Edit Link" #: src/forms/AttachmentForms.tsx:100 -msgid "File updated" -msgstr "Datei aktualisiert" +#~ msgid "File updated" +#~ msgstr "File updated" #: src/forms/AttachmentForms.tsx:100 -msgid "Link updated" -msgstr "Link aktualisiert." - -#: src/forms/AttachmentForms.tsx:124 -msgid "Delete Attachment" -msgstr "Anhang löschen" +#~ msgid "Link updated" +#~ msgstr "Link updated" #: src/forms/AttachmentForms.tsx:125 -msgid "Attachment deleted" -msgstr "Anhang gelöscht" +#~ msgid "Attachment deleted" +#~ msgstr "Attachment deleted" #: src/forms/AttachmentForms.tsx:128 -msgid "Are you sure you want to delete this attachment?" -msgstr "Sind Sie sicher, dass Sie diesen Anhang löschen möchten?" +#~ msgid "Are you sure you want to delete this attachment?" +#~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BuildForms.tsx:129 +#: src/forms/BuildForms.tsx:146 msgid "Next serial number" -msgstr "" +msgstr "Nächste Seriennummer" -#: src/forms/BuildForms.tsx:133 +#: src/forms/BuildForms.tsx:150 msgid "Latest serial number" -msgstr "" +msgstr "Letzte Seriennummer" -#: src/forms/BuildForms.tsx:205 +#: src/forms/BuildForms.tsx:222 msgid "Remove output" -msgstr "" +msgstr "Ausgabe entfernen" -#: src/forms/BuildForms.tsx:287 +#: src/forms/BuildForms.tsx:304 msgid "Complete Build Outputs" -msgstr "" +msgstr "Bauprodukt fertigstellen" -#: src/forms/BuildForms.tsx:291 +#: src/forms/BuildForms.tsx:308 msgid "Build outputs have been completed" -msgstr "" +msgstr "Bauprodukte wurden fertiggestellt" -#: src/forms/BuildForms.tsx:360 +#: src/forms/BuildForms.tsx:377 msgid "Scrap Build Outputs" -msgstr "" +msgstr "Bauprodukte verschrotten" -#: src/forms/BuildForms.tsx:364 +#: src/forms/BuildForms.tsx:381 msgid "Build outputs have been scrapped" -msgstr "" +msgstr "Bauprodukte wurden verschrottet" -#: src/forms/BuildForms.tsx:396 -#: src/forms/BuildForms.tsx:420 +#: src/forms/BuildForms.tsx:413 +#: src/forms/BuildForms.tsx:437 msgid "Cancel Build Outputs" -msgstr "" +msgstr "Bauprodukte abbrechen" -#: src/forms/BuildForms.tsx:397 +#: src/forms/BuildForms.tsx:414 msgid "Selected build outputs will be deleted" -msgstr "" +msgstr "Ausgewählte Bauprodukte werden gelöscht" -#: src/forms/BuildForms.tsx:424 +#: src/forms/BuildForms.tsx:441 msgid "Build outputs have been cancelled" -msgstr "" +msgstr "Bauprodukte wurden abgebrochen" #: src/forms/CompanyForms.tsx:150 #~ msgid "Company updated" @@ -2344,196 +2411,195 @@ msgstr "Übergeordnete Teilkategorie" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PurchaseOrderForms.tsx:265 +#: src/forms/PurchaseOrderForms.tsx:279 msgid "Choose Location" msgstr "Lagerort wählen" -#: src/forms/PurchaseOrderForms.tsx:273 +#: src/forms/PurchaseOrderForms.tsx:287 msgid "Item Destination selected" msgstr "Teile-Zielort ausgewählt" -#: src/forms/PurchaseOrderForms.tsx:282 +#: src/forms/PurchaseOrderForms.tsx:296 msgid "Part category default location selected" msgstr "Standard-Lagerort der Teile-Kategorie ausgewählt" -#: src/forms/PurchaseOrderForms.tsx:292 +#: src/forms/PurchaseOrderForms.tsx:306 msgid "Received stock location selected" msgstr "Lagerort zuvor empfangener Artikel ausgewählt" -#: src/forms/PurchaseOrderForms.tsx:297 +#: src/forms/PurchaseOrderForms.tsx:311 msgid "Default location selected" msgstr "Standard-Lagerort ausgewählt" -#: src/forms/PurchaseOrderForms.tsx:308 -#: src/forms/PurchaseOrderForms.tsx:384 +#: src/forms/PurchaseOrderForms.tsx:322 +#: src/forms/PurchaseOrderForms.tsx:398 msgid "Scan Barcode" msgstr "Barcode scannen" -#: src/forms/PurchaseOrderForms.tsx:352 +#: src/forms/PurchaseOrderForms.tsx:366 msgid "Set Location" msgstr "Lagerort festlegen" -#: src/forms/PurchaseOrderForms.tsx:359 +#: src/forms/PurchaseOrderForms.tsx:373 msgid "Assign Batch Code{0}" -msgstr "" +msgstr "Batch-Code{0} zuweisen" -#: src/forms/PurchaseOrderForms.tsx:368 +#: src/forms/PurchaseOrderForms.tsx:382 msgid "Change Status" msgstr "Status ändern" -#: src/forms/PurchaseOrderForms.tsx:393 -#: src/forms/StockForms.tsx:351 +#: src/forms/PurchaseOrderForms.tsx:407 +#: src/forms/StockForms.tsx:392 msgid "Remove item from list" msgstr "Artikel aus Liste entfernen" -#: src/forms/PurchaseOrderForms.tsx:418 -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:58 -#: src/pages/stock/StockDetail.tsx:167 -#: src/tables/ColumnRenderers.tsx:42 +#: src/forms/PurchaseOrderForms.tsx:432 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/pages/stock/StockDetail.tsx:170 +#: src/tables/ColumnRenderers.tsx:34 +#: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "Lagerort" -#: src/forms/PurchaseOrderForms.tsx:434 +#: src/forms/PurchaseOrderForms.tsx:448 msgid "Store at default location" msgstr "Am Standard-Lagerort einbuchen" -#: src/forms/PurchaseOrderForms.tsx:447 +#: src/forms/PurchaseOrderForms.tsx:461 msgid "Store at line item destination" -msgstr "" +msgstr "Am Zielort der Bauauftragsposition speichern" -#: src/forms/PurchaseOrderForms.tsx:457 +#: src/forms/PurchaseOrderForms.tsx:471 msgid "Store with already received stock" msgstr "Bei bereits vorhandenen Lagerbestand einbuchen" -#: src/forms/PurchaseOrderForms.tsx:613 +#: src/forms/PurchaseOrderForms.tsx:627 msgid "Receive Line Items" -msgstr "" +msgstr "Positionen empfangen" #: src/forms/PurchaseOrderForms.tsx:658 #~ msgid "Receive line items" #~ msgstr "Receive line items" -#: src/forms/StockForms.tsx:69 +#: src/forms/StockForms.tsx:101 msgid "Add given quantity as packs instead of individual items" msgstr "Angegebene Menge als Packungen anstatt einzelner Artikel hinzufügen" -#: src/forms/StockForms.tsx:80 -msgid "Enter initial quantity for this stock item" -msgstr "" - -#: src/forms/StockForms.tsx:85 -msgid "Serial Numbers" -msgstr "Seriennummern" - -#: src/forms/StockForms.tsx:86 -msgid "Enter serial numbers for new stock (or leave blank)" -msgstr "" - #: src/forms/StockForms.tsx:110 #~ msgid "Create Stock Item" #~ msgstr "Create Stock Item" -#: src/forms/StockForms.tsx:135 -#: src/pages/stock/StockDetail.tsx:367 -#: src/tables/stock/StockItemTable.tsx:382 -#: src/tables/stock/StockItemTable.tsx:499 -msgid "Add Stock Item" -msgstr "Lagerartikel hinzufügen" +#: src/forms/StockForms.tsx:114 +msgid "Enter initial quantity for this stock item" +msgstr "Ausgangsmenge für diesen Lagerartikel eingeben" + +#: src/forms/StockForms.tsx:121 +msgid "Serial Numbers" +msgstr "Seriennummern" + +#: src/forms/StockForms.tsx:122 +msgid "Enter serial numbers for new stock (or leave blank)" +msgstr "Seriennummern für neue Lagerartikel eingeben (oder leer lassen)" #: src/forms/StockForms.tsx:158 #~ msgid "Stock item updated" #~ msgstr "Stock item updated" -#: src/forms/StockForms.tsx:298 +#: src/forms/StockForms.tsx:176 +#: src/pages/stock/StockDetail.tsx:375 +#: src/tables/stock/StockItemTable.tsx:382 +#: src/tables/stock/StockItemTable.tsx:499 +msgid "Add Stock Item" +msgstr "Lagerartikel hinzufügen" + +#: src/forms/StockForms.tsx:339 msgid "Loading..." -msgstr "" +msgstr "Lade..." -#: src/forms/StockForms.tsx:340 +#: src/forms/StockForms.tsx:381 msgid "Move to default location" -msgstr "" +msgstr "Zum Standard-Lagerort verschieben" -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/part/PartDetail.tsx:205 -#: src/pages/part/PartDetail.tsx:654 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/pages/part/PartDetail.tsx:206 +#: src/pages/part/PartDetail.tsx:655 #: src/tables/stock/StockItemTable.tsx:290 msgid "In Stock" msgstr "Auf Lager" -#: src/forms/StockForms.tsx:408 +#: src/forms/StockForms.tsx:449 msgid "Move" -msgstr "" +msgstr "Verschieben" -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/tables/RowActions.tsx:147 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/tables/RowActions.tsx:149 msgid "Actions" msgstr "Aktionen" -#: src/forms/StockForms.tsx:471 -#: src/pages/stock/StockDetail.tsx:440 -#: src/tables/settings/TemplateTable.tsx:266 -#: src/tables/stock/StockItemTestResultTable.tsx:348 +#: src/forms/StockForms.tsx:512 +#: src/pages/stock/StockDetail.tsx:454 +#: src/tables/stock/StockItemTestResultTable.tsx:339 msgid "Add" msgstr "Hinzufügen" -#: src/forms/StockForms.tsx:499 +#: src/forms/StockForms.tsx:540 #: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:430 +#: src/pages/stock/StockDetail.tsx:444 msgid "Count" msgstr "Anzahl" -#: src/forms/StockForms.tsx:744 +#: src/forms/StockForms.tsx:785 msgid "Add Stock" -msgstr "" +msgstr "Bestand hinzufügen" -#: src/forms/StockForms.tsx:753 +#: src/forms/StockForms.tsx:794 msgid "Remove Stock" -msgstr "" +msgstr "Bestand entfernen" -#: src/forms/StockForms.tsx:762 -#: src/pages/part/PartDetail.tsx:781 +#: src/forms/StockForms.tsx:803 +#: src/pages/part/PartDetail.tsx:782 msgid "Transfer Stock" -msgstr "" +msgstr "Bestand verschieben" -#: src/forms/StockForms.tsx:771 -#: src/pages/part/PartDetail.tsx:770 +#: src/forms/StockForms.tsx:812 +#: src/pages/part/PartDetail.tsx:771 msgid "Count Stock" msgstr "Bestand zählen" -#: src/forms/StockForms.tsx:780 +#: src/forms/StockForms.tsx:821 msgid "Change Stock Status" -msgstr "" +msgstr "Bestandsstatus ändern" -#: src/forms/StockForms.tsx:789 +#: src/forms/StockForms.tsx:830 msgid "Merge Stock" -msgstr "" +msgstr "Bestand zusammenführen" -#: src/forms/StockForms.tsx:808 +#: src/forms/StockForms.tsx:849 msgid "Delete Stock Items" -msgstr "" +msgstr "Bestand löschen" -#: src/forms/StockForms.tsx:815 +#: src/forms/StockForms.tsx:856 msgid "Parent stock location" msgstr "Übergeordneter Lagerort" @@ -2559,11 +2625,11 @@ msgstr "Übergeordneter Lagerort" #: src/functions/auth.tsx:76 msgid "Logged Out" -msgstr "" +msgstr "Ausgeloggt" #: src/functions/auth.tsx:77 msgid "Successfully logged out" -msgstr "" +msgstr "Erfolgreich abgemeldet" #: src/functions/auth.tsx:115 msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too." @@ -2592,7 +2658,7 @@ msgstr "Angemeldet" #: src/functions/auth.tsx:154 msgid "Successfully logged in" -msgstr "" +msgstr "Erfolgreich angemeldet" #: src/functions/forms.tsx:50 #~ msgid "Form method not provided" @@ -2632,7 +2698,7 @@ msgstr "Ungültiger Rückgabecode" #: src/functions/notifications.tsx:34 msgid "Server returned status {returnCode}" -msgstr "" +msgstr "Server hat den Status {returnCode} zurückgegeben" #: src/hooks/UseForm.tsx:88 msgid "Item Created" @@ -2673,7 +2739,7 @@ msgstr "Registrieren" #: src/pages/Auth/Logout.tsx:23 msgid "Logging out" -msgstr "" +msgstr "Abmelden" #: src/pages/Auth/Reset.tsx:41 #: src/pages/Auth/Set-Password.tsx:112 @@ -2728,7 +2794,7 @@ msgstr "Diese Seite ist ein Ersatz für die alte Startseite mit den gleichen Inf msgid "Welcome to your Dashboard{0}" msgstr "Willkommen zu deinem Dashboard{0}" -#: src/pages/Index/Playground.tsx:244 +#: src/pages/Index/Playground.tsx:243 msgid "This page is a showcase for the possibilities of Platform UI." msgstr "Diese Seite ist ein Schaufenster für die Möglichkeiten der Plattform-Oberfläche." @@ -2878,7 +2944,7 @@ msgstr "Bild Barcode" #: src/pages/Index/Scan.tsx:247 msgid "Selected elements are not known" -msgstr "" +msgstr "Ausgewählte Elemente sind nicht bekannt" #: src/pages/Index/Scan.tsx:254 msgid "Multiple object types selected" @@ -2898,7 +2964,7 @@ msgstr "Diese Seite kann benutzt werden, um kontinuierlich Artikel zu scannen un #: src/pages/Index/Scan.tsx:292 msgid "Toggle Fullscreen" -msgstr "" +msgstr "Vollbild umschalten" #: src/pages/Index/Scan.tsx:305 msgid "Select the input method you want to use to scan items." @@ -2946,7 +3012,7 @@ msgstr "Die Historie wird lokal in diesem Browser gespeichert." #: src/pages/Index/Scan.tsx:376 msgid "The history is kept in this browser's local storage. So it won't be shared with other users or other devices but is persistent through reloads. You can select items in the history to perform actions on them. To add items, scan/enter them in the Input area." -msgstr "" +msgstr "Der Verlauf wird im lokalen Speicher dieses Browsers gespeichert. Er wird also nicht mit anderen Benutzern oder anderen Geräten geteilt, aber bleibt beim neuladen bestehen. Sie können Elemente in der Historie auswählen, um Aktionen auszuführen. Um Elemente hinzuzufügen, scanne sie/gebe sie im Eingabebereich ein." #: src/pages/Index/Scan.tsx:378 #: src/pages/Notifications.tsx:100 @@ -2955,7 +3021,7 @@ msgstr "Verlauf" #: src/pages/Index/Scan.tsx:384 msgid "Delete History" -msgstr "" +msgstr "Historie löschen" #: src/pages/Index/Scan.tsx:449 msgid "No history" @@ -2975,7 +3041,7 @@ msgstr "Quelle" #: src/pages/Index/Scan.tsx:476 msgid "Scanned at" -msgstr "" +msgstr "Gescannt um" #: src/pages/Index/Scan.tsx:528 msgid "Enter item serial or data" @@ -3138,49 +3204,53 @@ msgstr "Lader" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:79 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:87 msgid "Background Tasks" msgstr "Hintergrundprozesse" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:85 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:93 msgid "Error Reports" msgstr "Fehlerberichte" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:91 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:99 msgid "Currencies" msgstr "Währungen" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:109 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:117 msgid "Custom Units" msgstr "Kundenspezifische Einheiten" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:115 -#: src/pages/part/CategoryDetail.tsx:254 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:123 +#: src/pages/part/CategoryDetail.tsx:255 msgid "Part Parameters" -msgstr "" - -#: src/pages/Index/Settings/AdminCenter/Index.tsx:121 -msgid "Category Parameters" -msgstr "" +msgstr "Teile Parameter" #: src/pages/Index/Settings/AdminCenter/Index.tsx:127 -msgid "Templates" -msgstr "" +#~ msgid "Templates" +#~ msgstr "Templates" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:139 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:129 +msgid "Category Parameters" +msgstr "Kategorie Parameter" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:147 +msgid "Location types" +msgstr "Lagerort Typen" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:159 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "Maschinen" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:149 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:169 msgid "Quick Actions" msgstr "Schnell-Auswahl" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:154 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 msgid "Add a new user" msgstr "Neuen Benutzer hinzufügen" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:173 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:193 msgid "Advanced Options" msgstr "Erweiterte Optionen" @@ -3190,11 +3260,11 @@ msgstr "Maschinentypen" #: src/pages/Index/Settings/AdminCenter/MachineManagementPanel.tsx:53 msgid "Machine Error Stack" -msgstr "" +msgstr "Maschinen-Fehlerstapel" #: src/pages/Index/Settings/AdminCenter/MachineManagementPanel.tsx:62 msgid "There are no machine registry errors." -msgstr "" +msgstr "Es gibt keine Fehler in der Maschinenregistry." #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:28 #: src/tables/settings/UserTable.tsx:116 @@ -3225,26 +3295,32 @@ msgstr "Plugin-Fehler" msgid "Plugin Settings" msgstr "Plugin Einstellungen" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:25 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:53 +msgid "Background Worker Not Running" +msgstr "Hintergrundprozesse laufen nicht" + +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:54 +msgid "The background task manager service is not running. Contact your system administrator." +msgstr "Der Hintergrund Taskmanager Service läuft nicht. Kontaktiere den Systemadministrator." + +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:60 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:76 msgid "Pending Tasks" msgstr "Anstehende Aufgaben" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:33 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:64 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:84 msgid "Scheduled Tasks" msgstr "Geplante Aufgaben" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:41 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:68 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:92 msgid "Failed Tasks" msgstr "Fehlgeschlagene Aufgaben" -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:139 -msgid "Labels" -msgstr "Beschriftungen" - #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:39 -msgid "Label" -msgstr "" +#~ msgid "Label" +#~ msgstr "Label" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67 #~ msgid "Stock item" @@ -3255,13 +3331,13 @@ msgstr "" #~ msgstr "Build line" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:88 -msgid "Reports" -msgstr "" +#~ msgid "Reports" +#~ msgstr "Reports" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:89 #: src/pages/build/BuildDetail.tsx:373 -msgid "Report" -msgstr "Melden" +#~ msgid "Report" +#~ msgstr "Report" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99 #~ msgid "Purchase order" @@ -3275,14 +3351,9 @@ msgstr "Melden" #~ msgid "Return order" #~ msgstr "Return order" -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135 -#: src/pages/part/PartDetail.tsx:518 -msgid "Bill of Materials" -msgstr "Stückliste" - #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:145 -msgid "Tests" -msgstr "" +#~ msgid "Tests" +#~ msgstr "Tests" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:154 #~ msgid "Stock location" @@ -3295,7 +3366,7 @@ msgstr "Gruppen" #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:30 msgid "Select settings relevant for user lifecycle. More available in" -msgstr "" +msgstr "Einstellungen die für den Benutzer Lebenszyklus relevant sind. Mehr verfügbar in" #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:35 msgid "System settings" @@ -3321,26 +3392,30 @@ msgstr "Preise" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" +#: src/pages/Index/Settings/SystemSettings.tsx:139 +msgid "Labels" +msgstr "Beschriftungen" + #: src/pages/Index/Settings/SystemSettings.tsx:145 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "Berichte" -#: src/pages/Index/Settings/SystemSettings.tsx:223 -#: src/pages/part/PartDetail.tsx:589 +#: src/pages/Index/Settings/SystemSettings.tsx:224 +#: src/pages/part/PartDetail.tsx:590 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "Inventur" -#: src/pages/Index/Settings/SystemSettings.tsx:228 -#: src/pages/build/BuildDetail.tsx:426 +#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:525 -#: src/pages/sales/SalesOrderDetail.tsx:263 +#: src/pages/part/PartDetail.tsx:526 +#: src/pages/sales/SalesOrderDetail.tsx:265 msgid "Build Orders" -msgstr "" +msgstr "Bauaufträge" -#: src/pages/Index/Settings/SystemSettings.tsx:296 +#: src/pages/Index/Settings/SystemSettings.tsx:297 msgid "Switch to User Setting" msgstr "Zu Benutzereinstellungen wechseln" @@ -3397,70 +3472,73 @@ msgstr "Als ungelesen markieren" #~ msgstr "Build Status" #: src/pages/build/BuildDetail.tsx:89 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:128 -#: src/pages/sales/ReturnOrderDetail.tsx:95 -#: src/pages/sales/SalesOrderDetail.tsx:99 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:130 +#: src/pages/sales/ReturnOrderDetail.tsx:97 +#: src/pages/sales/SalesOrderDetail.tsx:101 #: src/tables/build/BuildOrderTable.tsx:113 #: src/tables/machine/MachineListTable.tsx:326 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderTable.tsx:46 #: src/tables/sales/SalesOrderTable.tsx:52 #: src/tables/stock/StockItemTable.tsx:259 +#: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "Status" #: src/pages/build/BuildDetail.tsx:95 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:101 -#: src/pages/sales/ReturnOrderDetail.tsx:69 -#: src/pages/sales/SalesOrderDetail.tsx:73 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:103 +#: src/pages/sales/ReturnOrderDetail.tsx:71 +#: src/pages/sales/SalesOrderDetail.tsx:75 +#: src/tables/ColumnRenderers.tsx:106 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" -msgstr "" +msgstr "Referenz" #: src/pages/build/BuildDetail.tsx:100 -#: src/pages/company/CompanyDetail.tsx:84 -#: src/pages/company/ManufacturerPartDetail.tsx:75 -#: src/pages/company/SupplierPartDetail.tsx:82 -#: src/pages/part/CategoryDetail.tsx:91 -#: src/pages/part/PartDetail.tsx:132 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:122 -#: src/pages/sales/ReturnOrderDetail.tsx:89 -#: src/pages/sales/SalesOrderDetail.tsx:93 -#: src/pages/stock/LocationDetail.tsx:97 -#: src/tables/ColumnRenderers.tsx:95 +#: src/pages/company/CompanyDetail.tsx:86 +#: src/pages/company/ManufacturerPartDetail.tsx:76 +#: src/pages/company/SupplierPartDetail.tsx:83 +#: src/pages/part/CategoryDetail.tsx:92 +#: src/pages/part/PartDetail.tsx:133 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:124 +#: src/pages/sales/ReturnOrderDetail.tsx:91 +#: src/pages/sales/SalesOrderDetail.tsx:95 +#: src/pages/stock/LocationDetail.tsx:99 +#: src/tables/ColumnRenderers.tsx:66 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 #: src/tables/machine/MachineTypeTable.tsx:323 #: src/tables/part/RelatedPartTable.tsx:64 -#: src/tables/plugin/PluginListTable.tsx:172 -#: src/tables/plugin/PluginListTable.tsx:302 +#: src/tables/plugin/PluginListTable.tsx:129 +#: src/tables/plugin/PluginListTable.tsx:276 +#: src/tables/stock/LocationTypesTable.tsx:65 msgid "Description" msgstr "Beschreibung" #: src/pages/build/BuildDetail.tsx:107 msgid "Parent Build" -msgstr "" +msgstr "Übergeordneter Bauauftrag" #: src/pages/build/BuildDetail.tsx:118 msgid "Build Quantity" -msgstr "" +msgstr "Bauauftrag Anzahl" #: src/pages/build/BuildDetail.tsx:126 -#: src/pages/build/BuildDetail.tsx:249 +#: src/pages/build/BuildDetail.tsx:256 msgid "Completed Outputs" msgstr "Fertiggestellte Endprodukte" #: src/pages/build/BuildDetail.tsx:143 #: src/tables/build/BuildOrderTable.tsx:142 msgid "Issued By" -msgstr "" +msgstr "Aufgegeben von" #: src/pages/build/BuildDetail.tsx:150 -#: src/pages/part/PartDetail.tsx:320 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:214 -#: src/pages/sales/ReturnOrderDetail.tsx:182 -#: src/pages/sales/SalesOrderDetail.tsx:186 +#: src/pages/part/PartDetail.tsx:321 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:184 +#: src/pages/sales/SalesOrderDetail.tsx:188 #: src/tables/build/BuildOrderTable.tsx:148 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 @@ -3471,27 +3549,27 @@ msgstr "Verantwortlich" #: src/pages/build/BuildDetail.tsx:157 #: src/tables/settings/PendingTasksTable.tsx:30 msgid "Created" -msgstr "" +msgstr "Erstellt" #: src/pages/build/BuildDetail.tsx:164 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:207 -#: src/pages/sales/ReturnOrderDetail.tsx:175 -#: src/pages/sales/SalesOrderDetail.tsx:179 -#: src/tables/ColumnRenderers.tsx:227 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:209 +#: src/pages/sales/ReturnOrderDetail.tsx:177 +#: src/pages/sales/SalesOrderDetail.tsx:181 +#: src/tables/ColumnRenderers.tsx:191 msgid "Target Date" msgstr "Zieldatum" #: src/pages/build/BuildDetail.tsx:171 msgid "Completed" -msgstr "" +msgstr "Abgeschlossen" #: src/pages/build/BuildDetail.tsx:183 msgid "Source Location" -msgstr "" +msgstr "Quell Lagerort" #: src/pages/build/BuildDetail.tsx:184 msgid "Any location" -msgstr "" +msgstr "Beliebiger Lagerort" #: src/pages/build/BuildDetail.tsx:185 #: src/pages/part/PartDetail.tsx:269 @@ -3506,13 +3584,18 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:191 msgid "Destination Location" -msgstr "" +msgstr "Ziel Lagerort" #: src/pages/build/BuildDetail.tsx:196 #: src/pages/part/PartDetail.tsx:280 #~ msgid "Unlink custom barcode from part" #~ msgstr "Unlink custom barcode from part" +#: src/pages/build/BuildDetail.tsx:197 +#: src/pages/stock/StockDetail.tsx:526 +msgid "Batch Code" +msgstr "Losnummer" + #: src/pages/build/BuildDetail.tsx:202 #~ msgid "Build Order updated" #~ msgstr "Build Order updated" @@ -3521,88 +3604,89 @@ msgstr "" #~ msgid "Edit build order" #~ msgstr "Edit build order" -#: src/pages/build/BuildDetail.tsx:222 -msgid "Build Details" -msgstr "" - #: src/pages/build/BuildDetail.tsx:226 #~ msgid "Duplicate build order" #~ msgstr "Duplicate build order" -#: src/pages/build/BuildDetail.tsx:228 -#: src/tables/build/BuildLineTable.tsx:225 -msgid "Allocate Stock" -msgstr "" +#: src/pages/build/BuildDetail.tsx:229 +msgid "Build Details" +msgstr "Bauauftrag Details" #: src/pages/build/BuildDetail.tsx:231 #~ msgid "Delete build order" #~ msgstr "Delete build order" -#: src/pages/build/BuildDetail.tsx:242 +#: src/pages/build/BuildDetail.tsx:235 +#: src/tables/build/BuildLineTable.tsx:225 +msgid "Allocate Stock" +msgstr "Bestand zuweisen" + +#: src/pages/build/BuildDetail.tsx:249 msgid "Incomplete Outputs" msgstr "Unvollständige Endprodukte" -#: src/pages/build/BuildDetail.tsx:264 +#: src/pages/build/BuildDetail.tsx:271 msgid "Consumed Stock" -msgstr "" +msgstr "Verbrauchte Bestände" -#: src/pages/build/BuildDetail.tsx:278 +#: src/pages/build/BuildDetail.tsx:285 msgid "Child Build Orders" -msgstr "" +msgstr "Unter-Bauaufträge" -#: src/pages/build/BuildDetail.tsx:288 -#: src/pages/company/CompanyDetail.tsx:253 -#: src/pages/company/ManufacturerPartDetail.tsx:171 -#: src/pages/part/PartDetail.tsx:611 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:276 -#: src/pages/sales/ReturnOrderDetail.tsx:225 -#: src/pages/sales/SalesOrderDetail.tsx:273 -#: src/pages/stock/StockDetail.tsx:317 +#: src/pages/build/BuildDetail.tsx:295 +#: src/pages/company/CompanyDetail.tsx:255 +#: src/pages/company/ManufacturerPartDetail.tsx:172 +#: src/pages/part/PartDetail.tsx:612 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:278 +#: src/pages/sales/ReturnOrderDetail.tsx:227 +#: src/pages/sales/SalesOrderDetail.tsx:275 +#: src/pages/stock/StockDetail.tsx:325 msgid "Attachments" msgstr "Anhänge" -#: src/pages/build/BuildDetail.tsx:300 -#: src/pages/company/CompanyDetail.tsx:265 -#: src/pages/part/PartDetail.tsx:623 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:288 -#: src/pages/sales/ReturnOrderDetail.tsx:237 -#: src/pages/sales/SalesOrderDetail.tsx:285 -#: src/pages/stock/StockDetail.tsx:329 +#: src/pages/build/BuildDetail.tsx:307 +#: src/pages/company/CompanyDetail.tsx:267 +#: src/pages/part/PartDetail.tsx:624 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:290 +#: src/pages/sales/ReturnOrderDetail.tsx:239 +#: src/pages/sales/SalesOrderDetail.tsx:287 +#: src/pages/stock/StockDetail.tsx:337 +#: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "Notizen" -#: src/pages/build/BuildDetail.tsx:318 +#: src/pages/build/BuildDetail.tsx:325 msgid "Edit Build Order" -msgstr "" +msgstr "Bauauftrag bearbeiten" -#: src/pages/build/BuildDetail.tsx:327 +#: src/pages/build/BuildDetail.tsx:334 msgid "Cancel Build Order" -msgstr "" +msgstr "Bauauftrag abbrechen" -#: src/pages/build/BuildDetail.tsx:339 +#: src/pages/build/BuildDetail.tsx:346 #: src/tables/build/BuildOrderTable.tsx:167 #: src/tables/build/BuildOrderTable.tsx:182 msgid "Add Build Order" -msgstr "" +msgstr "Neuer Bauauftrag" #: src/pages/build/BuildDetail.tsx:368 -msgid "Reporting Actions" -msgstr "Berichte-Aktionen" +#~ msgid "Reporting Actions" +#~ msgstr "Reporting Actions" #: src/pages/build/BuildDetail.tsx:374 -msgid "Print build report" -msgstr "" +#~ msgid "Print build report" +#~ msgstr "Print build report" -#: src/pages/build/BuildDetail.tsx:380 +#: src/pages/build/BuildDetail.tsx:378 msgid "Build Order Actions" msgstr "Bauauftrag-Aktionen" -#: src/pages/build/BuildDetail.tsx:388 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:326 -#: src/pages/sales/ReturnOrderDetail.tsx:300 -#: src/pages/sales/SalesOrderDetail.tsx:310 +#: src/pages/build/BuildDetail.tsx:386 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:333 +#: src/pages/sales/ReturnOrderDetail.tsx:307 +#: src/pages/sales/SalesOrderDetail.tsx:317 msgid "Cancel order" -msgstr "" +msgstr "Bestellung stornieren" #: src/pages/build/BuildIndex.tsx:23 #~ msgid "Build order created" @@ -3612,56 +3696,58 @@ msgstr "" #~ msgid "New Build Order" #~ msgstr "New Build Order" -#: src/pages/company/CompanyDetail.tsx:98 +#: src/pages/company/CompanyDetail.tsx:100 msgid "Phone Number" -msgstr "" +msgstr "Telefonnummer" -#: src/pages/company/CompanyDetail.tsx:105 +#: src/pages/company/CompanyDetail.tsx:107 msgid "Email Address" -msgstr "" +msgstr "E-Mail-Adresse" -#: src/pages/company/CompanyDetail.tsx:115 +#: src/pages/company/CompanyDetail.tsx:117 msgid "Default Currency" -msgstr "" +msgstr "Standardwährung" -#: src/pages/company/CompanyDetail.tsx:120 +#: src/pages/company/CompanyDetail.tsx:122 #: src/pages/company/SupplierDetail.tsx:8 -#: src/pages/company/SupplierPartDetail.tsx:106 -#: src/pages/company/SupplierPartDetail.tsx:192 -#: src/pages/company/SupplierPartDetail.tsx:295 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:116 +#: src/pages/company/SupplierPartDetail.tsx:107 +#: src/pages/company/SupplierPartDetail.tsx:193 +#: src/pages/company/SupplierPartDetail.tsx:296 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:118 #: src/tables/company/CompanyTable.tsx:100 #: src/tables/purchasing/PurchaseOrderTable.tsx:88 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:36 msgid "Supplier" msgstr "Lieferant" -#: src/pages/company/CompanyDetail.tsx:126 +#: src/pages/company/CompanyDetail.tsx:128 #: src/pages/company/ManufacturerDetail.tsx:8 -#: src/pages/company/ManufacturerPartDetail.tsx:93 -#: src/pages/company/ManufacturerPartDetail.tsx:235 -#: src/pages/company/SupplierPartDetail.tsx:121 +#: src/pages/company/ManufacturerPartDetail.tsx:94 +#: src/pages/company/ManufacturerPartDetail.tsx:239 +#: src/pages/company/SupplierPartDetail.tsx:122 #: src/tables/company/CompanyTable.tsx:105 msgid "Manufacturer" msgstr "Hersteller" -#: src/pages/company/CompanyDetail.tsx:132 +#: src/pages/company/CompanyDetail.tsx:134 #: src/pages/company/CustomerDetail.tsx:8 #: src/pages/part/pricing/SaleHistoryPanel.tsx:39 -#: src/pages/sales/ReturnOrderDetail.tsx:83 -#: src/pages/sales/SalesOrderDetail.tsx:87 -#: src/pages/stock/StockDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:85 +#: src/pages/sales/SalesOrderDetail.tsx:89 +#: src/pages/stock/StockDetail.tsx:219 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:107 +#: src/tables/stock/StockTrackingTable.tsx:140 msgid "Customer" msgstr "Kunde" -#: src/pages/company/CompanyDetail.tsx:166 +#: src/pages/company/CompanyDetail.tsx:168 +#: src/tables/stock/StockTrackingTable.tsx:183 msgid "Details" msgstr "Details" -#: src/pages/company/CompanyDetail.tsx:172 +#: src/pages/company/CompanyDetail.tsx:174 msgid "Manufactured Parts" msgstr "Hergestellte Teile" @@ -3669,297 +3755,297 @@ msgstr "Hergestellte Teile" #~ msgid "Edit company" #~ msgstr "Edit company" -#: src/pages/company/CompanyDetail.tsx:181 +#: src/pages/company/CompanyDetail.tsx:183 msgid "Supplied Parts" -msgstr "" +msgstr "Zuliefererteile" #: src/pages/company/CompanyDetail.tsx:189 #~ msgid "Delete company" #~ msgstr "Delete company" -#: src/pages/company/CompanyDetail.tsx:226 +#: src/pages/company/CompanyDetail.tsx:228 msgid "Assigned Stock" msgstr "Zugeordneter Bestand" -#: src/pages/company/CompanyDetail.tsx:281 +#: src/pages/company/CompanyDetail.tsx:283 #: src/tables/company/CompanyTable.tsx:86 msgid "Edit Company" msgstr "Unternehmen bearbeiten" -#: src/pages/company/CompanyDetail.tsx:290 +#: src/pages/company/CompanyDetail.tsx:292 msgid "Company Actions" msgstr "Firmen-Aktionen" -#: src/pages/company/ManufacturerPartDetail.tsx:68 -#: src/pages/company/SupplierPartDetail.tsx:75 +#: src/pages/company/ManufacturerPartDetail.tsx:69 +#: src/pages/company/SupplierPartDetail.tsx:76 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:72 msgid "Internal Part" -msgstr "" +msgstr "Internes Teil" -#: src/pages/company/ManufacturerPartDetail.tsx:83 -#: src/pages/company/SupplierPartDetail.tsx:89 +#: src/pages/company/ManufacturerPartDetail.tsx:84 +#: src/pages/company/SupplierPartDetail.tsx:90 msgid "External Link" -msgstr "" +msgstr "Externer Link" -#: src/pages/company/ManufacturerPartDetail.tsx:101 -#: src/pages/company/SupplierPartDetail.tsx:130 -#: src/tables/purchasing/ManufacturerPartTable.tsx:53 +#: src/pages/company/ManufacturerPartDetail.tsx:102 +#: src/pages/company/SupplierPartDetail.tsx:131 +#: src/tables/purchasing/ManufacturerPartTable.tsx:56 msgid "Manufacturer Part Number" -msgstr "" +msgstr "Teilenummer des Herstellers" -#: src/pages/company/ManufacturerPartDetail.tsx:130 +#: src/pages/company/ManufacturerPartDetail.tsx:131 msgid "Manufacturer Details" -msgstr "" +msgstr "Herstellerdetails" -#: src/pages/company/ManufacturerPartDetail.tsx:139 +#: src/pages/company/ManufacturerPartDetail.tsx:140 msgid "Manufacturer Part Details" msgstr "Herstellerteil Details" -#: src/pages/company/ManufacturerPartDetail.tsx:145 -#: src/pages/part/PartDetail.tsx:485 +#: src/pages/company/ManufacturerPartDetail.tsx:146 +#: src/pages/part/PartDetail.tsx:486 msgid "Parameters" msgstr "Parameter" -#: src/pages/company/ManufacturerPartDetail.tsx:157 -#: src/pages/part/PartDetail.tsx:558 +#: src/pages/company/ManufacturerPartDetail.tsx:158 +#: src/pages/part/PartDetail.tsx:559 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "Lieferanten" -#: src/pages/company/ManufacturerPartDetail.tsx:189 -#: src/tables/purchasing/ManufacturerPartTable.tsx:97 +#: src/pages/company/ManufacturerPartDetail.tsx:190 +#: src/tables/purchasing/ManufacturerPartTable.tsx:84 msgid "Edit Manufacturer Part" msgstr "Herstellerteil bearbeiten" -#: src/pages/company/ManufacturerPartDetail.tsx:196 -#: src/tables/purchasing/ManufacturerPartTable.tsx:63 -#: src/tables/purchasing/ManufacturerPartTable.tsx:78 +#: src/pages/company/ManufacturerPartDetail.tsx:197 +#: src/tables/purchasing/ManufacturerPartTable.tsx:72 +#: src/tables/purchasing/ManufacturerPartTable.tsx:103 msgid "Add Manufacturer Part" -msgstr "" +msgstr "Herstellerteil hinzufügen" -#: src/pages/company/ManufacturerPartDetail.tsx:209 +#: src/pages/company/ManufacturerPartDetail.tsx:213 msgid "Manufacturer Part Actions" msgstr "Herstellerteil Aktionen" -#: src/pages/company/ManufacturerPartDetail.tsx:247 +#: src/pages/company/ManufacturerPartDetail.tsx:251 msgid "ManufacturerPart" msgstr "Herstellerteil" -#: src/pages/company/SupplierPartDetail.tsx:96 -#: src/tables/ColumnRenderers.tsx:146 +#: src/pages/company/SupplierPartDetail.tsx:97 +#: src/tables/ColumnRenderers.tsx:117 msgid "Note" msgstr "Notiz" -#: src/pages/company/SupplierPartDetail.tsx:114 +#: src/pages/company/SupplierPartDetail.tsx:115 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:57 msgid "SKU" msgstr "Art.-Nr." -#: src/pages/company/SupplierPartDetail.tsx:142 -#: src/pages/company/SupplierPartDetail.tsx:193 -#: src/pages/stock/StockDetail.tsx:230 +#: src/pages/company/SupplierPartDetail.tsx:143 +#: src/pages/company/SupplierPartDetail.tsx:194 +#: src/pages/stock/StockDetail.tsx:233 msgid "Packaging" msgstr "Verpackung" -#: src/pages/company/SupplierPartDetail.tsx:149 +#: src/pages/company/SupplierPartDetail.tsx:150 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:107 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143 #: src/tables/purchasing/SupplierPartTable.tsx:131 msgid "Pack Quantity" msgstr "Verpackungsmenge" -#: src/pages/company/SupplierPartDetail.tsx:160 +#: src/pages/company/SupplierPartDetail.tsx:161 msgid "Supplier Availability" msgstr "Lieferantenverfügbarkeit" -#: src/pages/company/SupplierPartDetail.tsx:167 +#: src/pages/company/SupplierPartDetail.tsx:168 msgid "Availability Updated" msgstr "Verfügbarkeit aktualisiert" -#: src/pages/company/SupplierPartDetail.tsx:194 +#: src/pages/company/SupplierPartDetail.tsx:195 msgid "Availability" msgstr "Verfügbarkeit" -#: src/pages/company/SupplierPartDetail.tsx:203 +#: src/pages/company/SupplierPartDetail.tsx:204 msgid "Supplier Part Details" msgstr "Zuliefererteil Details" -#: src/pages/company/SupplierPartDetail.tsx:209 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:263 +#: src/pages/company/SupplierPartDetail.tsx:210 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:265 msgid "Received Stock" msgstr "Empfangene Lagerartikel" -#: src/pages/company/SupplierPartDetail.tsx:233 +#: src/pages/company/SupplierPartDetail.tsx:234 #: src/pages/part/PartPricingPanel.tsx:115 #: src/pages/part/pricing/PricingOverviewPanel.tsx:130 msgid "Supplier Pricing" -msgstr "" +msgstr "Zulieferer-Preise" -#: src/pages/company/SupplierPartDetail.tsx:248 +#: src/pages/company/SupplierPartDetail.tsx:249 msgid "Supplier Part Actions" msgstr "Zuliefererteil Aktionen" -#: src/pages/company/SupplierPartDetail.tsx:272 +#: src/pages/company/SupplierPartDetail.tsx:273 #: src/tables/purchasing/SupplierPartTable.tsx:210 msgid "Edit Supplier Part" msgstr "Zuliefererteil bearbeiten" -#: src/pages/company/SupplierPartDetail.tsx:279 +#: src/pages/company/SupplierPartDetail.tsx:280 #: src/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" -msgstr "" +msgstr "Zuliefererteil hinzufügen" -#: src/pages/part/CategoryDetail.tsx:83 -#: src/pages/stock/LocationDetail.tsx:89 +#: src/pages/part/CategoryDetail.tsx:84 +#: src/pages/stock/LocationDetail.tsx:91 #: src/tables/settings/ErrorTable.tsx:34 msgid "Path" msgstr "Pfad" -#: src/pages/part/CategoryDetail.tsx:99 +#: src/pages/part/CategoryDetail.tsx:100 msgid "Parent Category" msgstr "Übergeordnete Kategorie" -#: src/pages/part/CategoryDetail.tsx:116 +#: src/pages/part/CategoryDetail.tsx:117 msgid "Subcategories" msgstr "Unterkategorien" -#: src/pages/part/CategoryDetail.tsx:123 -#: src/pages/stock/LocationDetail.tsx:129 -#: src/tables/part/PartCategoryTable.tsx:69 +#: src/pages/part/CategoryDetail.tsx:124 +#: src/pages/stock/LocationDetail.tsx:131 +#: src/tables/part/PartCategoryTable.tsx:65 msgid "Structural" msgstr "Strukturell" -#: src/pages/part/CategoryDetail.tsx:129 +#: src/pages/part/CategoryDetail.tsx:130 msgid "Parent default location" msgstr "Übergeordneter Standard-Standort" -#: src/pages/part/CategoryDetail.tsx:136 +#: src/pages/part/CategoryDetail.tsx:137 msgid "Default location" msgstr "Standard-Lagerort" -#: src/pages/part/CategoryDetail.tsx:147 +#: src/pages/part/CategoryDetail.tsx:148 msgid "Top level part category" msgstr "Oberste Teile-Kategorie" -#: src/pages/part/CategoryDetail.tsx:157 -#: src/pages/part/CategoryDetail.tsx:211 -#: src/tables/part/PartCategoryTable.tsx:96 +#: src/pages/part/CategoryDetail.tsx:158 +#: src/pages/part/CategoryDetail.tsx:212 +#: src/tables/part/PartCategoryTable.tsx:88 msgid "Edit Part Category" msgstr "Teilekategorie bearbeiten" -#: src/pages/part/CategoryDetail.tsx:170 -#: src/pages/stock/LocationDetail.tsx:213 +#: src/pages/part/CategoryDetail.tsx:171 +#: src/pages/stock/LocationDetail.tsx:223 msgid "Delete items" -msgstr "" +msgstr "Elemente löschen" -#: src/pages/part/CategoryDetail.tsx:178 -#: src/pages/part/CategoryDetail.tsx:216 +#: src/pages/part/CategoryDetail.tsx:179 +#: src/pages/part/CategoryDetail.tsx:217 msgid "Delete Part Category" -msgstr "" - -#: src/pages/part/CategoryDetail.tsx:181 -msgid "Parts Action" -msgstr "" +msgstr "Teile-Kategorie löschen" #: src/pages/part/CategoryDetail.tsx:182 -msgid "Action for parts in this category" -msgstr "" +msgid "Parts Action" +msgstr "Teile Aktionen" -#: src/pages/part/CategoryDetail.tsx:187 -msgid "Child Categories Action" -msgstr "" +#: src/pages/part/CategoryDetail.tsx:183 +msgid "Action for parts in this category" +msgstr "Aktion für Teile in dieser Kategorie" #: src/pages/part/CategoryDetail.tsx:188 -msgid "Action for child categories in this category" -msgstr "" +msgid "Child Categories Action" +msgstr "Unterkategorien-Aktion" -#: src/pages/part/CategoryDetail.tsx:206 +#: src/pages/part/CategoryDetail.tsx:189 +msgid "Action for child categories in this category" +msgstr "Aktion für untergeordnete Kategorien in dieser Kategorie" + +#: src/pages/part/CategoryDetail.tsx:207 msgid "Category Actions" msgstr "Kategorieaktionen" -#: src/pages/part/CategoryDetail.tsx:228 +#: src/pages/part/CategoryDetail.tsx:229 msgid "Category Details" msgstr "Kategorie-Details" -#: src/pages/part/PartDetail.tsx:138 +#: src/pages/part/PartDetail.tsx:139 msgid "Variant of" msgstr "Variante von" -#: src/pages/part/PartDetail.tsx:145 +#: src/pages/part/PartDetail.tsx:146 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "Kategorie" -#: src/pages/part/PartDetail.tsx:151 +#: src/pages/part/PartDetail.tsx:152 msgid "Default Location" msgstr "Standard Lagerort" -#: src/pages/part/PartDetail.tsx:158 +#: src/pages/part/PartDetail.tsx:159 msgid "Category Default Location" msgstr "Standard-Lagerort der Kategorie" -#: src/pages/part/PartDetail.tsx:165 +#: src/pages/part/PartDetail.tsx:166 msgid "IPN" msgstr "IPN" -#: src/pages/part/PartDetail.tsx:172 +#: src/pages/part/PartDetail.tsx:173 msgid "Revision" msgstr "Version" -#: src/pages/part/PartDetail.tsx:179 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39 +#: src/pages/part/PartDetail.tsx:180 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "Einheiten" -#: src/pages/part/PartDetail.tsx:186 +#: src/pages/part/PartDetail.tsx:187 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "Schlüsselwörter" -#: src/pages/part/PartDetail.tsx:193 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:180 -#: src/pages/sales/ReturnOrderDetail.tsx:148 -#: src/pages/sales/SalesOrderDetail.tsx:152 +#: src/pages/part/PartDetail.tsx:194 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:182 +#: src/pages/sales/ReturnOrderDetail.tsx:150 +#: src/pages/sales/SalesOrderDetail.tsx:154 msgid "Link" msgstr "Link" -#: src/pages/part/PartDetail.tsx:211 -#: src/tables/bom/BomTable.tsx:269 +#: src/pages/part/PartDetail.tsx:212 +#: src/tables/bom/BomTable.tsx:271 #: src/tables/build/BuildLineTable.tsx:121 msgid "Available Stock" msgstr "Verfügbarer Bestand" -#: src/pages/part/PartDetail.tsx:218 +#: src/pages/part/PartDetail.tsx:219 msgid "Minimum Stock" msgstr "Minimaler Bestand" -#: src/pages/part/PartDetail.tsx:224 -#: src/tables/bom/BomTable.tsx:210 +#: src/pages/part/PartDetail.tsx:225 +#: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "Bestellt" -#: src/pages/part/PartDetail.tsx:233 +#: src/pages/part/PartDetail.tsx:234 msgid "Allocated to Build Orders" msgstr "Bauaufträgen zugeordnet" -#: src/pages/part/PartDetail.tsx:241 +#: src/pages/part/PartDetail.tsx:242 msgid "Allocated to Sales Orders" msgstr "Aufträgen zugeordnet" -#: src/pages/part/PartDetail.tsx:248 -#: src/tables/bom/BomTable.tsx:234 +#: src/pages/part/PartDetail.tsx:249 +#: src/tables/bom/BomTable.tsx:236 msgid "Can Build" msgstr "Herstellbar" -#: src/pages/part/PartDetail.tsx:255 -#: src/tables/bom/BomTable.tsx:218 +#: src/pages/part/PartDetail.tsx:256 +#: src/tables/bom/BomTable.tsx:220 #: src/tables/part/PartTable.tsx:82 msgid "Building" msgstr "Gebäude" -#: src/pages/part/PartDetail.tsx:264 +#: src/pages/part/PartDetail.tsx:265 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 @@ -3968,45 +4054,47 @@ msgstr "Gebäude" #: src/tables/machine/MachineListTable.tsx:585 #: src/tables/part/PartTable.tsx:168 #: src/tables/part/PartVariantTable.tsx:15 -#: src/tables/plugin/PluginListTable.tsx:190 -#: src/tables/plugin/PluginListTable.tsx:638 +#: src/tables/plugin/PluginListTable.tsx:149 +#: src/tables/plugin/PluginListTable.tsx:271 +#: src/tables/plugin/PluginListTable.tsx:563 #: src/tables/purchasing/SupplierPartTable.tsx:98 #: src/tables/purchasing/SupplierPartTable.tsx:187 #: src/tables/stock/StockItemTable.tsx:254 msgid "Active" msgstr "Aktiv" -#: src/pages/part/PartDetail.tsx:269 +#: src/pages/part/PartDetail.tsx:270 msgid "Template Part" msgstr "Vorlagenteil" -#: src/pages/part/PartDetail.tsx:274 -#: src/tables/bom/BomTable.tsx:264 +#: src/pages/part/PartDetail.tsx:275 +#: src/tables/bom/BomTable.tsx:266 msgid "Assembled Part" msgstr "Baugruppe" -#: src/pages/part/PartDetail.tsx:279 +#: src/pages/part/PartDetail.tsx:280 msgid "Component Part" msgstr "Komponente" -#: src/pages/part/PartDetail.tsx:284 -#: src/tables/bom/BomTable.tsx:259 +#: src/pages/part/PartDetail.tsx:285 +#: src/tables/bom/BomTable.tsx:261 msgid "Trackable Part" msgstr "Nachverfolgbares Teil" -#: src/pages/part/PartDetail.tsx:289 +#: src/pages/part/PartDetail.tsx:290 msgid "Purchaseable Part" msgstr "Käufliches Teil" -#: src/pages/part/PartDetail.tsx:294 +#: src/pages/part/PartDetail.tsx:295 msgid "Saleable Part" msgstr "Verkäufliches Teil" -#: src/pages/part/PartDetail.tsx:299 +#: src/pages/part/PartDetail.tsx:300 msgid "Virtual Part" msgstr "Virtuelles Teil" -#: src/pages/part/PartDetail.tsx:307 +#: src/pages/part/PartDetail.tsx:308 +#: src/tables/ColumnRenderers.tsx:199 msgid "Creation Date" msgstr "Erstelldatum" @@ -4014,7 +4102,7 @@ msgstr "Erstelldatum" #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:312 +#: src/pages/part/PartDetail.tsx:313 msgid "Created By" msgstr "Erstellt von" @@ -4022,68 +4110,72 @@ msgstr "Erstellt von" #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:327 -msgid "Default Supplier" -msgstr "Standard Zulieferer" - #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:338 +#: src/pages/part/PartDetail.tsx:328 +msgid "Default Supplier" +msgstr "Standard Zulieferer" + +#: src/pages/part/PartDetail.tsx:339 #: src/tables/part/PartTable.tsx:151 msgid "Price Range" msgstr "Preisspanne" -#: src/pages/part/PartDetail.tsx:373 -#: src/pages/stock/StockDetail.tsx:127 +#: src/pages/part/PartDetail.tsx:374 +#: src/pages/stock/StockDetail.tsx:130 msgid "Last Stocktake" msgstr "Letzte Inventur" -#: src/pages/part/PartDetail.tsx:408 +#: src/pages/part/PartDetail.tsx:409 msgid "Stocktake By" msgstr "Inventur durch" -#: src/pages/part/PartDetail.tsx:479 +#: src/pages/part/PartDetail.tsx:480 msgid "Part Details" msgstr "Teil-Details" -#: src/pages/part/PartDetail.tsx:505 +#: src/pages/part/PartDetail.tsx:506 msgid "Variants" msgstr "Varianten" -#: src/pages/part/PartDetail.tsx:512 -#: src/pages/stock/StockDetail.tsx:275 +#: src/pages/part/PartDetail.tsx:513 +#: src/pages/stock/StockDetail.tsx:283 msgid "Allocations" msgstr "Ferienguthaben/Freitage" -#: src/pages/part/PartDetail.tsx:532 +#: src/pages/part/PartDetail.tsx:519 +msgid "Bill of Materials" +msgstr "Stückliste" + +#: src/pages/part/PartDetail.tsx:533 msgid "Used In" msgstr "Verwendet in" -#: src/pages/part/PartDetail.tsx:539 +#: src/pages/part/PartDetail.tsx:540 msgid "Part Pricing" -msgstr "" +msgstr "Teilbepreisung" -#: src/pages/part/PartDetail.tsx:545 +#: src/pages/part/PartDetail.tsx:546 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "Hersteller" -#: src/pages/part/PartDetail.tsx:584 +#: src/pages/part/PartDetail.tsx:585 msgid "Scheduling" msgstr "Terminierung" -#: src/pages/part/PartDetail.tsx:594 +#: src/pages/part/PartDetail.tsx:595 msgid "Test Templates" msgstr "Testvorlagen" -#: src/pages/part/PartDetail.tsx:605 +#: src/pages/part/PartDetail.tsx:606 msgid "Related Parts" msgstr "Zugehörige Teile" -#: src/pages/part/PartDetail.tsx:660 -#: src/pages/stock/StockDetail.tsx:148 +#: src/pages/part/PartDetail.tsx:661 +#: src/pages/stock/StockDetail.tsx:151 #: src/tables/build/BuildLineTable.tsx:36 #: src/tables/part/PartTable.tsx:107 #: src/tables/stock/StockItemTable.tsx:166 @@ -4091,49 +4183,51 @@ msgstr "Zugehörige Teile" msgid "Available" msgstr "Verfügbar" -#: src/pages/part/PartDetail.tsx:666 +#: src/pages/part/PartDetail.tsx:667 msgid "No Stock" -msgstr "" +msgstr "Kein Bestand" -#: src/pages/part/PartDetail.tsx:672 -#: src/tables/bom/BomTable.tsx:274 +#: src/pages/part/PartDetail.tsx:673 +#: src/tables/bom/BomTable.tsx:276 #: src/tables/part/PartTable.tsx:76 msgid "On Order" -msgstr "" +msgstr "In Bestellung" -#: src/pages/part/PartDetail.tsx:678 -#: src/pages/stock/StockDetail.tsx:496 +#: src/pages/part/PartDetail.tsx:679 +#: src/pages/stock/StockDetail.tsx:509 #: src/tables/stock/StockItemTable.tsx:295 msgid "In Production" -msgstr "" +msgstr "In Produktion" -#: src/pages/part/PartDetail.tsx:697 +#: src/pages/part/PartDetail.tsx:698 msgid "Edit Part" msgstr "Teil bearbeiten" -#: src/pages/part/PartDetail.tsx:704 +#: src/pages/part/PartDetail.tsx:705 #: src/tables/part/PartTable.tsx:266 #: src/tables/part/PartTable.tsx:279 msgid "Add Part" -msgstr "" +msgstr "Teil hinzufügen" -#: src/pages/part/PartDetail.tsx:716 +#: src/pages/part/PartDetail.tsx:717 msgid "Delete Part" -msgstr "" +msgstr "Teil löschen" -#: src/pages/part/PartDetail.tsx:725 +#: src/pages/part/PartDetail.tsx:726 msgid "Deleting this part cannot be reversed" -msgstr "" +msgstr "Das Löschen dieses Teils kann nicht rückgängig gemacht werden" -#: src/pages/part/PartDetail.tsx:763 +#: src/pages/part/PartDetail.tsx:764 +#: src/pages/stock/LocationDetail.tsx:301 +#: src/tables/stock/StockItemTable.tsx:409 msgid "Stock Actions" msgstr "Lager-Aktionen" -#: src/pages/part/PartDetail.tsx:771 +#: src/pages/part/PartDetail.tsx:772 msgid "Count part stock" msgstr "Bestand zählen" -#: src/pages/part/PartDetail.tsx:782 +#: src/pages/part/PartDetail.tsx:783 msgid "Transfer part stock" msgstr "Bestand übertragen" @@ -4147,48 +4241,48 @@ msgstr "Teile-Aktionen" #: src/pages/part/PartPricingPanel.tsx:72 msgid "No pricing data found for this part." -msgstr "" +msgstr "Keine Preisdaten für diesen Teil gefunden." #: src/pages/part/PartPricingPanel.tsx:86 msgid "Pricing Overview" -msgstr "" +msgstr "Preisübersicht" #: src/pages/part/PartPricingPanel.tsx:92 msgid "Purchase History" -msgstr "" +msgstr "Kaufhistorie" #: src/pages/part/PartPricingPanel.tsx:106 #: src/pages/part/pricing/PricingOverviewPanel.tsx:109 msgid "Internal Pricing" -msgstr "" +msgstr "Interne Preise" #: src/pages/part/PartPricingPanel.tsx:124 #: src/pages/part/pricing/PricingOverviewPanel.tsx:116 msgid "BOM Pricing" -msgstr "" +msgstr "Stücklisten Preise" #: src/pages/part/PartPricingPanel.tsx:131 #: src/pages/part/pricing/PricingOverviewPanel.tsx:137 msgid "Variant Pricing" -msgstr "" +msgstr "Varianten Preise" #: src/pages/part/PartPricingPanel.tsx:143 #: src/pages/part/pricing/PricingOverviewPanel.tsx:144 msgid "Sale Pricing" -msgstr "" +msgstr "Verkaufs Preise" #: src/pages/part/PartPricingPanel.tsx:150 #: src/pages/part/pricing/PricingOverviewPanel.tsx:151 msgid "Sale History" -msgstr "" +msgstr "Verkaufshistorie" #: src/pages/part/pricing/BomPricingPanel.tsx:112 msgid "Minimum Total Price" -msgstr "" +msgstr "Minimaler Gesamtpreis" #: src/pages/part/pricing/BomPricingPanel.tsx:117 msgid "Maximum Total Price" -msgstr "" +msgstr "Maximaler Gesamtpreis" #: src/pages/part/pricing/BomPricingPanel.tsx:137 #: src/tables/part/PartTable.tsx:186 @@ -4199,15 +4293,15 @@ msgstr "Komponente" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151 #: src/pages/part/pricing/SupplierPricingPanel.tsx:83 -#: src/tables/bom/BomTable.tsx:149 +#: src/tables/bom/BomTable.tsx:151 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 msgid "Unit Price" msgstr "Preis pro Einheit" #: src/pages/part/pricing/BomPricingPanel.tsx:173 -#: src/tables/ColumnRenderers.tsx:278 -#: src/tables/bom/BomTable.tsx:158 +#: src/tables/ColumnRenderers.tsx:241 +#: src/tables/bom/BomTable.tsx:160 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 #: src/tables/sales/ReturnOrderTable.tsx:104 #: src/tables/sales/SalesOrderTable.tsx:134 @@ -4222,290 +4316,293 @@ msgstr "Aktualisiert" #: src/pages/part/pricing/BomPricingPanel.tsx:254 msgid "Pie Chart" -msgstr "" +msgstr "Kuchendiagramm" #: src/pages/part/pricing/BomPricingPanel.tsx:255 msgid "Bar Chart" -msgstr "" +msgstr "Balkendiagramm" #: src/pages/part/pricing/PriceBreakPanel.tsx:63 -#: src/pages/part/pricing/PriceBreakPanel.tsx:117 +#: src/pages/part/pricing/PriceBreakPanel.tsx:115 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:138 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:164 msgid "Add Price Break" -msgstr "" +msgstr "Preisstaffel hinzufügen" #: src/pages/part/pricing/PriceBreakPanel.tsx:76 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:149 msgid "Edit Price Break" -msgstr "" +msgstr "Staffelpreis bearbeiten" #: src/pages/part/pricing/PriceBreakPanel.tsx:86 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:157 msgid "Delete Price Break" -msgstr "" +msgstr "Staffelpreis löschen" -#: src/pages/part/pricing/PriceBreakPanel.tsx:102 -#: src/pages/part/pricing/PriceBreakPanel.tsx:193 +#: src/pages/part/pricing/PriceBreakPanel.tsx:100 +#: src/pages/part/pricing/PriceBreakPanel.tsx:191 msgid "Price Break" -msgstr "" +msgstr "Preisstaffel" #: src/pages/part/pricing/PricingOverviewPanel.tsx:60 msgid "Pricing Category" -msgstr "" +msgstr "Preiskategorie" #: src/pages/part/pricing/PricingOverviewPanel.tsx:79 msgid "Minimum" -msgstr "" +msgstr "Minimum" #: src/pages/part/pricing/PricingOverviewPanel.tsx:91 msgid "Maximum" -msgstr "" +msgstr "Maximum" #: src/pages/part/pricing/PricingOverviewPanel.tsx:123 msgid "Purchase Pricing" -msgstr "" +msgstr "Einkaufs Preise" #: src/pages/part/pricing/PricingOverviewPanel.tsx:158 msgid "Override Pricing" -msgstr "" +msgstr "Preise überschreiben" #: src/pages/part/pricing/PricingOverviewPanel.tsx:165 msgid "Overall Pricing" -msgstr "" +msgstr "Gesamt Preise" #: src/pages/part/pricing/PricingOverviewPanel.tsx:184 -#: src/pages/stock/StockDetail.tsx:121 +#: src/pages/stock/StockDetail.tsx:124 msgid "Last Updated" -msgstr "" +msgstr "Zuletzt aktualisiert" #: src/pages/part/pricing/PricingOverviewPanel.tsx:214 #: src/pages/part/pricing/VariantPricingPanel.tsx:46 #: src/pages/part/pricing/VariantPricingPanel.tsx:119 msgid "Minimum Price" -msgstr "" +msgstr "Niedrigster Preis" #: src/pages/part/pricing/PricingOverviewPanel.tsx:219 #: src/pages/part/pricing/VariantPricingPanel.tsx:54 #: src/pages/part/pricing/VariantPricingPanel.tsx:124 msgid "Maximum Price" -msgstr "" +msgstr "Höchster Preis" #: src/pages/part/pricing/PricingPanel.tsx:25 msgid "No data available" -msgstr "" +msgstr "Keine Daten verfügbar" #: src/pages/part/pricing/PricingPanel.tsx:66 msgid "No Data" -msgstr "" +msgstr "Keine Daten" #: src/pages/part/pricing/PricingPanel.tsx:67 msgid "No pricing data available" -msgstr "" +msgstr "Keine Preisdaten verfügbar" #: src/pages/part/pricing/PricingPanel.tsx:78 msgid "Loading pricing data" -msgstr "" +msgstr "Lade Preisdaten" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50 #: src/pages/part/pricing/SaleHistoryPanel.tsx:46 -#: src/tables/ColumnRenderers.tsx:217 -#: src/tables/plugin/PluginListTable.tsx:182 -#: src/tables/stock/StockItemTestResultTable.tsx:194 +#: src/tables/ColumnRenderers.tsx:180 +#: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "Datum" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156 msgid "Purchase Price" -msgstr "" +msgstr "Einkaufspreis" #: src/pages/part/pricing/SaleHistoryPanel.tsx:32 msgid "Sale Order" -msgstr "" +msgstr "Auftrag" #: src/pages/part/pricing/SaleHistoryPanel.tsx:52 #: src/pages/part/pricing/SaleHistoryPanel.tsx:115 msgid "Sale Price" -msgstr "" +msgstr "Verkaufspreis" #: src/pages/part/pricing/SupplierPricingPanel.tsx:88 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:79 msgid "Supplier Price" -msgstr "" +msgstr "Lieferant Preis" #: src/pages/part/pricing/VariantPricingPanel.tsx:39 msgid "Variant Part" -msgstr "" +msgstr "Variantenteil" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:73 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:75 msgid "Edit Purchase Order" msgstr "Bestellung bearbeiten" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:82 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:84 #: src/tables/purchasing/PurchaseOrderTable.tsx:128 #: src/tables/purchasing/PurchaseOrderTable.tsx:140 msgid "Add Purchase Order" -msgstr "" +msgstr "Bestellung hinzufügen" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:107 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:109 msgid "Supplier Reference" msgstr "Lieferanten-Referenz" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:137 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:252 -#: src/pages/sales/ReturnOrderDetail.tsx:104 -#: src/pages/sales/ReturnOrderDetail.tsx:220 -#: src/pages/sales/SalesOrderDetail.tsx:108 -#: src/pages/sales/SalesOrderDetail.tsx:248 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:139 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:254 +#: src/pages/sales/ReturnOrderDetail.tsx:106 +#: src/pages/sales/ReturnOrderDetail.tsx:222 +#: src/pages/sales/SalesOrderDetail.tsx:110 +#: src/pages/sales/SalesOrderDetail.tsx:250 msgid "Line Items" msgstr "Positionen" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:144 -#: src/pages/sales/ReturnOrderDetail.tsx:111 -#: src/pages/sales/SalesOrderDetail.tsx:115 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:146 +#: src/pages/sales/ReturnOrderDetail.tsx:113 +#: src/pages/sales/SalesOrderDetail.tsx:117 msgid "Completed Line Items" msgstr "Abgeschlossene Positionen" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:152 -#: src/pages/sales/ReturnOrderDetail.tsx:119 -#: src/pages/sales/SalesOrderDetail.tsx:123 -#: src/pages/sales/SalesOrderDetail.tsx:258 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:121 +#: src/pages/sales/SalesOrderDetail.tsx:125 +#: src/pages/sales/SalesOrderDetail.tsx:260 msgid "Completed Shipments" msgstr "Abgeschlossene Sendungen" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:159 -#: src/pages/sales/ReturnOrderDetail.tsx:127 -#: src/pages/sales/SalesOrderDetail.tsx:131 -msgid "Order Currency" -msgstr "" - #: src/pages/purchasing/PurchaseOrderDetail.tsx:159 #: src/pages/sales/ReturnOrderDetail.tsx:126 #: src/pages/sales/SalesOrderDetail.tsx:130 #~ msgid "Order Currency," #~ msgstr "Order Currency," -#: src/pages/purchasing/PurchaseOrderDetail.tsx:166 -#: src/pages/sales/ReturnOrderDetail.tsx:134 -#: src/pages/sales/SalesOrderDetail.tsx:138 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:161 +#: src/pages/sales/ReturnOrderDetail.tsx:129 +#: src/pages/sales/SalesOrderDetail.tsx:133 +msgid "Order Currency" +msgstr "Bestellwährung" + +#: src/pages/purchasing/PurchaseOrderDetail.tsx:168 +#: src/pages/sales/ReturnOrderDetail.tsx:136 +#: src/pages/sales/SalesOrderDetail.tsx:140 msgid "Total Cost" msgstr "Gesamtkosten" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:201 -#: src/pages/sales/ReturnOrderDetail.tsx:169 -#: src/pages/sales/SalesOrderDetail.tsx:173 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:203 +#: src/pages/sales/ReturnOrderDetail.tsx:171 +#: src/pages/sales/SalesOrderDetail.tsx:175 msgid "Created On" msgstr "Erstellt am" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:246 -#: src/pages/sales/ReturnOrderDetail.tsx:214 -#: src/pages/sales/SalesOrderDetail.tsx:242 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:248 +#: src/pages/sales/ReturnOrderDetail.tsx:216 +#: src/pages/sales/SalesOrderDetail.tsx:244 msgid "Order Details" msgstr "Bestelldetails" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:316 -#: src/pages/sales/ReturnOrderDetail.tsx:290 -#: src/pages/sales/SalesOrderDetail.tsx:302 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:323 +#: src/pages/sales/ReturnOrderDetail.tsx:297 +#: src/pages/sales/SalesOrderDetail.tsx:309 msgid "Order Actions" msgstr "Bestellaktionen" -#: src/pages/sales/ReturnOrderDetail.tsx:75 -#: src/pages/sales/SalesOrderDetail.tsx:79 +#: src/pages/sales/ReturnOrderDetail.tsx:77 +#: src/pages/sales/SalesOrderDetail.tsx:81 #: src/tables/sales/SalesOrderTable.tsx:123 msgid "Customer Reference" msgstr "Kundenreferenz" -#: src/pages/sales/ReturnOrderDetail.tsx:267 +#: src/pages/sales/ReturnOrderDetail.tsx:269 msgid "Edit Return Order" -msgstr "" +msgstr "Rücksendeauftrag bearbeiten" -#: src/pages/sales/ReturnOrderDetail.tsx:276 +#: src/pages/sales/ReturnOrderDetail.tsx:278 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" -msgstr "" +msgstr "Neuer Rücksendeauftrag" #: src/pages/sales/SalesIndex.tsx:33 msgid "Customers" msgstr "Kunden" -#: src/pages/sales/SalesOrderDetail.tsx:219 +#: src/pages/sales/SalesOrderDetail.tsx:221 msgid "Edit Sales Order" -msgstr "" +msgstr "Auftrag bearbeiten" -#: src/pages/sales/SalesOrderDetail.tsx:228 +#: src/pages/sales/SalesOrderDetail.tsx:230 #: src/tables/sales/SalesOrderTable.tsx:83 #: src/tables/sales/SalesOrderTable.tsx:95 msgid "Add Sales Order" -msgstr "" +msgstr "Auftrag hinzufügen" -#: src/pages/sales/SalesOrderDetail.tsx:253 +#: src/pages/sales/SalesOrderDetail.tsx:255 msgid "Pending Shipments" msgstr "Ausstehende Sendungen" -#: src/pages/stock/LocationDetail.tsx:105 +#: src/pages/stock/LocationDetail.tsx:107 msgid "Parent Location" msgstr "Übergeordneter Lagerort" -#: src/pages/stock/LocationDetail.tsx:123 +#: src/pages/stock/LocationDetail.tsx:125 msgid "Sublocations" msgstr "Unter-Lagerorte" -#: src/pages/stock/LocationDetail.tsx:135 +#: src/pages/stock/LocationDetail.tsx:137 msgid "External" msgstr "Extern" -#: src/pages/stock/LocationDetail.tsx:144 +#: src/pages/stock/LocationDetail.tsx:143 +msgid "Location Type" +msgstr "Lagerort Typ" + +#: src/pages/stock/LocationDetail.tsx:154 msgid "Top level stock location" msgstr "Oberster Lagerort" -#: src/pages/stock/LocationDetail.tsx:155 +#: src/pages/stock/LocationDetail.tsx:165 msgid "Location Details" msgstr "Lagerort-Details" -#: src/pages/stock/LocationDetail.tsx:181 +#: src/pages/stock/LocationDetail.tsx:191 msgid "Default Parts" msgstr "Standardteile" -#: src/pages/stock/LocationDetail.tsx:200 +#: src/pages/stock/LocationDetail.tsx:210 #: src/pages/stock/LocationDetail.tsx:328 -#: src/tables/stock/StockLocationTable.tsx:108 +#: src/tables/stock/StockLocationTable.tsx:100 msgid "Edit Stock Location" msgstr "Lagerort bearbeiten" -#: src/pages/stock/LocationDetail.tsx:221 +#: src/pages/stock/LocationDetail.tsx:231 #: src/pages/stock/LocationDetail.tsx:333 msgid "Delete Stock Location" -msgstr "" +msgstr "Lagerort löschen" -#: src/pages/stock/LocationDetail.tsx:224 +#: src/pages/stock/LocationDetail.tsx:234 msgid "Items Action" -msgstr "" +msgstr "Bestandsaktionen" -#: src/pages/stock/LocationDetail.tsx:225 +#: src/pages/stock/LocationDetail.tsx:235 msgid "Action for stock items in this location" -msgstr "" +msgstr "Aktion für Lagerartikel an diesem Lagerort" -#: src/pages/stock/LocationDetail.tsx:230 +#: src/pages/stock/LocationDetail.tsx:240 msgid "Child Locations Action" -msgstr "" +msgstr "Aktion für untergeordnete Lagerorte" -#: src/pages/stock/LocationDetail.tsx:231 +#: src/pages/stock/LocationDetail.tsx:241 msgid "Action for child locations in this location" -msgstr "" +msgstr "Aktion für untergeordnete Lagerorte an diesem Lagerort" #: src/pages/stock/LocationDetail.tsx:323 msgid "Location Actions" -msgstr "" +msgstr "Lagerort Aktionen" -#: src/pages/stock/StockDetail.tsx:100 +#: src/pages/stock/StockDetail.tsx:103 msgid "Base Part" msgstr "Basisteil" -#: src/pages/stock/StockDetail.tsx:107 +#: src/pages/stock/StockDetail.tsx:110 msgid "Stock Status" -msgstr "" +msgstr "Lagerbestand Status" #: src/pages/stock/StockDetail.tsx:155 #~ msgid "Link custom barcode to stock item" @@ -4515,17 +4612,18 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:174 +#: src/pages/stock/StockDetail.tsx:177 msgid "Installed In" -msgstr "" +msgstr "Verbaut in" -#: src/pages/stock/StockDetail.tsx:190 +#: src/pages/stock/StockDetail.tsx:193 msgid "Consumed By" -msgstr "" +msgstr "Verbraucht von" -#: src/pages/stock/StockDetail.tsx:199 +#: src/pages/stock/StockDetail.tsx:202 +#: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" -msgstr "" +msgstr "Bauauftrag" #: src/pages/stock/StockDetail.tsx:205 #~ msgid "Edit stock item" @@ -4535,78 +4633,78 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:264 +#: src/pages/stock/StockDetail.tsx:267 msgid "Stock Details" -msgstr "" +msgstr "Lagerdetails" -#: src/pages/stock/StockDetail.tsx:270 +#: src/pages/stock/StockDetail.tsx:273 msgid "Stock Tracking" msgstr "Bestandsverfolgung" -#: src/pages/stock/StockDetail.tsx:282 +#: src/pages/stock/StockDetail.tsx:290 msgid "Test Data" msgstr "Test Daten" -#: src/pages/stock/StockDetail.tsx:296 +#: src/pages/stock/StockDetail.tsx:304 msgid "Installed Items" msgstr "Installierte Elemente" -#: src/pages/stock/StockDetail.tsx:303 +#: src/pages/stock/StockDetail.tsx:311 msgid "Child Items" msgstr "Untergeordnete Objekte" -#: src/pages/stock/StockDetail.tsx:358 +#: src/pages/stock/StockDetail.tsx:366 msgid "Edit Stock Item" msgstr "Lagerartikel bearbeiten" -#: src/pages/stock/StockDetail.tsx:385 +#: src/pages/stock/StockDetail.tsx:393 msgid "Delete Stock Item" -msgstr "" - -#: src/pages/stock/StockDetail.tsx:426 -msgid "Stock Operations" -msgstr "Lagervorgänge" - -#: src/pages/stock/StockDetail.tsx:431 -msgid "Count stock" -msgstr "Bestand zählen" +msgstr "Lagerartikel löschen" #: src/pages/stock/StockDetail.tsx:433 #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:441 +#: src/pages/stock/StockDetail.tsx:440 +msgid "Stock Operations" +msgstr "Lagervorgänge" + +#: src/pages/stock/StockDetail.tsx:445 +msgid "Count stock" +msgstr "Bestand zählen" + +#: src/pages/stock/StockDetail.tsx:455 #: src/tables/stock/StockItemTable.tsx:414 msgid "Add stock" msgstr "Lagerbestand hinzufügen" -#: src/pages/stock/StockDetail.tsx:449 +#: src/pages/stock/StockDetail.tsx:463 #: src/tables/stock/StockItemTable.tsx:423 msgid "Remove stock" msgstr "Lagerbestand entfernen" -#: src/pages/stock/StockDetail.tsx:456 +#: src/pages/stock/StockDetail.tsx:470 msgid "Transfer" -msgstr "" +msgstr "Verschieben" -#: src/pages/stock/StockDetail.tsx:457 +#: src/pages/stock/StockDetail.tsx:471 #: src/tables/stock/StockItemTable.tsx:443 msgid "Transfer stock" msgstr "Lagerbestand verschieben" -#: src/pages/stock/StockDetail.tsx:469 +#: src/pages/stock/StockDetail.tsx:482 msgid "Stock Item Actions" -msgstr "" +msgstr "Lagerartikel Aktionen" -#: src/pages/stock/StockDetail.tsx:513 -msgid "Batch Code" -msgstr "" - -#: src/tables/ColumnRenderers.tsx:50 +#: src/tables/ColumnRenderers.tsx:42 msgid "No location set" -msgstr "" +msgstr "Kein Lagerort gesetzt" -#: src/tables/ColumnRenderers.tsx:264 +#: src/tables/ColumnRenderers.tsx:207 +msgid "Shipment Date" +msgstr "Versanddatum" + +#: src/tables/ColumnRenderers.tsx:227 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "Währung" @@ -4616,21 +4714,33 @@ msgstr "Währung" msgid "Select Columns" msgstr "Spalten auswählen" -#: src/tables/DownloadAction.tsx:11 +#: src/tables/DownloadAction.tsx:13 +#~ msgid "Excel" +#~ msgstr "Excel" + +#: src/tables/DownloadAction.tsx:21 +#~ msgid "Download selected data" +#~ msgstr "Download selected data" + +#: src/tables/DownloadAction.tsx:22 msgid "CSV" msgstr "CSV" -#: src/tables/DownloadAction.tsx:12 +#: src/tables/DownloadAction.tsx:23 msgid "TSV" msgstr "TSV" -#: src/tables/DownloadAction.tsx:13 -msgid "Excel" -msgstr "Excel" +#: src/tables/DownloadAction.tsx:24 +msgid "Excel (.xls)" +msgstr "" -#: src/tables/DownloadAction.tsx:21 -msgid "Download selected data" -msgstr "Ausgewählte Daten herunterladen" +#: src/tables/DownloadAction.tsx:25 +msgid "Excel (.xlsx)" +msgstr "" + +#: src/tables/DownloadAction.tsx:39 +msgid "Download Data" +msgstr "" #: src/tables/Filter.tsx:88 #: src/tables/build/BuildOrderTable.tsx:126 @@ -4663,102 +4773,102 @@ msgstr "Überfällige Aufträge anzeigen" msgid "Remove filter" msgstr "Filter entfernen" -#: src/tables/FilterSelectDrawer.tsx:147 +#: src/tables/FilterSelectDrawer.tsx:136 msgid "Select filter" msgstr "Filter auswählen" -#: src/tables/FilterSelectDrawer.tsx:148 +#: src/tables/FilterSelectDrawer.tsx:137 msgid "Filter" msgstr "Filter" -#: src/tables/FilterSelectDrawer.tsx:155 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:33 -#: src/tables/stock/StockItemTestResultTable.tsx:182 +#: src/tables/FilterSelectDrawer.tsx:144 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 +#: src/tables/stock/StockItemTestResultTable.tsx:180 msgid "Value" msgstr "Wert" -#: src/tables/FilterSelectDrawer.tsx:156 +#: src/tables/FilterSelectDrawer.tsx:145 msgid "Select filter value" -msgstr "" +msgstr "Filterwert auswählen" -#: src/tables/FilterSelectDrawer.tsx:196 +#: src/tables/FilterSelectDrawer.tsx:185 msgid "Table Filters" -msgstr "" +msgstr "Tabellenfilter" -#: src/tables/FilterSelectDrawer.tsx:228 +#: src/tables/FilterSelectDrawer.tsx:217 msgid "Add Filter" msgstr "Filter hinzufügen" -#: src/tables/FilterSelectDrawer.tsx:237 +#: src/tables/FilterSelectDrawer.tsx:226 msgid "Clear Filters" msgstr "Filter zurücksetzen" -#: src/tables/InvenTreeTable.tsx:118 -#: src/tables/InvenTreeTable.tsx:384 -#: src/tables/InvenTreeTable.tsx:405 +#: src/tables/InvenTreeTable.tsx:119 +#: src/tables/InvenTreeTable.tsx:390 +#: src/tables/InvenTreeTable.tsx:411 msgid "No records found" msgstr "Keine Einträge gefunden" -#: src/tables/InvenTreeTable.tsx:416 +#: src/tables/InvenTreeTable.tsx:422 msgid "Server returned incorrect data type" msgstr "Der Server hat einen falschen Datentyp zurückgegeben" -#: src/tables/InvenTreeTable.tsx:424 +#: src/tables/InvenTreeTable.tsx:430 msgid "Bad request" msgstr "Ungültige Anfrage" -#: src/tables/InvenTreeTable.tsx:427 +#: src/tables/InvenTreeTable.tsx:433 msgid "Unauthorized" msgstr "Nicht autorisiert" -#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:436 msgid "Forbidden" msgstr "Verweigert" -#: src/tables/InvenTreeTable.tsx:433 +#: src/tables/InvenTreeTable.tsx:439 msgid "Not found" msgstr "Nicht gefunden" -#: src/tables/InvenTreeTable.tsx:482 -#: src/tables/InvenTreeTable.tsx:604 -msgid "Delete selected records" -msgstr "" - -#: src/tables/InvenTreeTable.tsx:486 -msgid "Are you sure you want to delete the selected records?" -msgstr "" - #: src/tables/InvenTreeTable.tsx:488 +#: src/tables/InvenTreeTable.tsx:611 +msgid "Delete selected records" +msgstr "Ausgewählte Datensätze löschen" + +#: src/tables/InvenTreeTable.tsx:492 +msgid "Are you sure you want to delete the selected records?" +msgstr "Sind Sie sicher, dass Sie die ausgewählten Datensätze löschen möchten?" + +#: src/tables/InvenTreeTable.tsx:494 msgid "This action cannot be undone!" -msgstr "" +msgstr "Diese Aktion kann nicht rückgängig gemacht werden!" -#: src/tables/InvenTreeTable.tsx:516 +#: src/tables/InvenTreeTable.tsx:522 msgid "Deleted records" -msgstr "" +msgstr "Gelöschte Datensätze" -#: src/tables/InvenTreeTable.tsx:517 +#: src/tables/InvenTreeTable.tsx:523 msgid "Records were deleted successfully" msgstr "Datensätze erfolgreich gelöscht" -#: src/tables/InvenTreeTable.tsx:526 +#: src/tables/InvenTreeTable.tsx:532 msgid "Failed to delete records" msgstr "Löschen der Datensätze fehlgeschlagen" -#: src/tables/InvenTreeTable.tsx:585 -#: src/tables/InvenTreeTable.tsx:586 +#: src/tables/InvenTreeTable.tsx:594 +#: src/tables/InvenTreeTable.tsx:595 +#~ msgid "Print actions" +#~ msgstr "Print actions" + +#: src/tables/InvenTreeTable.tsx:601 +#: src/tables/InvenTreeTable.tsx:602 msgid "Barcode actions" msgstr "Barcode-Aktionen" -#: src/tables/InvenTreeTable.tsx:594 -#: src/tables/InvenTreeTable.tsx:595 -msgid "Print actions" -msgstr "Druck-Aktionen" - -#: src/tables/InvenTreeTable.tsx:620 +#: src/tables/InvenTreeTable.tsx:630 msgid "Refresh data" msgstr "Daten aktualisieren" -#: src/tables/InvenTreeTable.tsx:638 +#: src/tables/InvenTreeTable.tsx:648 msgid "Table filters" msgstr "Tabellenfilter" @@ -4770,138 +4880,138 @@ msgstr "Diese Stücklistenposition ist für ein anderes übergeordnetes Element msgid "Part Information" msgstr "Teile-Informationen" -#: src/tables/bom/BomTable.tsx:177 +#: src/tables/bom/BomTable.tsx:179 #: src/tables/part/PartTable.tsx:124 msgid "No stock" msgstr "Kein Bestand" -#: src/tables/bom/BomTable.tsx:185 +#: src/tables/bom/BomTable.tsx:187 #: src/tables/build/BuildLineTable.tsx:104 #: src/tables/part/PartTable.tsx:115 msgid "External stock" -msgstr "" +msgstr "Externer Bestand" -#: src/tables/bom/BomTable.tsx:193 +#: src/tables/bom/BomTable.tsx:195 #: src/tables/build/BuildLineTable.tsx:67 msgid "Includes substitute stock" -msgstr "" +msgstr "Ersatz Bestand einbeziehen" -#: src/tables/bom/BomTable.tsx:202 +#: src/tables/bom/BomTable.tsx:204 #: src/tables/build/BuildLineTable.tsx:77 msgid "Includes variant stock" msgstr "Alternatives Lager einschließen" -#: src/tables/bom/BomTable.tsx:227 +#: src/tables/bom/BomTable.tsx:229 #: src/tables/part/PartTable.tsx:143 #: src/tables/stock/StockItemTable.tsx:205 msgid "Stock Information" -msgstr "" +msgstr "Lagerinformationen" -#: src/tables/bom/BomTable.tsx:239 +#: src/tables/bom/BomTable.tsx:241 #: src/tables/build/BuildLineTable.tsx:195 msgid "Consumable item" msgstr "Verbrauchsartikel" -#: src/tables/bom/BomTable.tsx:260 +#: src/tables/bom/BomTable.tsx:262 msgid "Show trackable items" msgstr "Nachverfolgbare Teile anzeigen" -#: src/tables/bom/BomTable.tsx:265 +#: src/tables/bom/BomTable.tsx:267 msgid "Show asssmbled items" -msgstr "" +msgstr "Zeige Baugruppen" -#: src/tables/bom/BomTable.tsx:270 +#: src/tables/bom/BomTable.tsx:272 msgid "Show items with available stock" msgstr "Artikel mit verfügbarem Lagerbestand anzeigen" -#: src/tables/bom/BomTable.tsx:275 +#: src/tables/bom/BomTable.tsx:277 msgid "Show items on order" -msgstr "" +msgstr "Artikel in Bestellung anzeigen" -#: src/tables/bom/BomTable.tsx:279 +#: src/tables/bom/BomTable.tsx:281 msgid "Validated" -msgstr "" +msgstr "Bestätigt" -#: src/tables/bom/BomTable.tsx:280 +#: src/tables/bom/BomTable.tsx:282 msgid "Show validated items" -msgstr "" +msgstr "Bestätigte Einträge anzeigen" -#: src/tables/bom/BomTable.tsx:284 +#: src/tables/bom/BomTable.tsx:286 #: src/tables/bom/UsedInTable.tsx:63 msgid "Inherited" -msgstr "" +msgstr "Vererbt" -#: src/tables/bom/BomTable.tsx:285 +#: src/tables/bom/BomTable.tsx:287 #: src/tables/bom/UsedInTable.tsx:64 msgid "Show inherited items" -msgstr "" +msgstr "Vererbte Elemente anzeigen" -#: src/tables/bom/BomTable.tsx:289 +#: src/tables/bom/BomTable.tsx:291 #: src/tables/bom/UsedInTable.tsx:68 #: src/tables/build/BuildLineTable.tsx:46 msgid "Optional" msgstr "Optional" -#: src/tables/bom/BomTable.tsx:290 +#: src/tables/bom/BomTable.tsx:292 #: src/tables/bom/UsedInTable.tsx:69 msgid "Show optional items" -msgstr "" +msgstr "Optionale Elemente anzeigen" -#: src/tables/bom/BomTable.tsx:294 +#: src/tables/bom/BomTable.tsx:296 #: src/tables/build/BuildLineTable.tsx:41 msgid "Consumable" msgstr "Verbrauchsmaterial" -#: src/tables/bom/BomTable.tsx:295 +#: src/tables/bom/BomTable.tsx:297 msgid "Show consumable items" -msgstr "" +msgstr "Verbrauchbare Artikel anzeigen" -#: src/tables/bom/BomTable.tsx:299 +#: src/tables/bom/BomTable.tsx:301 msgid "Has Pricing" -msgstr "" - -#: src/tables/bom/BomTable.tsx:300 -msgid "Show items with pricing" -msgstr "" +msgstr "Hat Preise" #: src/tables/bom/BomTable.tsx:301 #~ msgid "Create BOM Item" #~ msgstr "Create BOM Item" -#: src/tables/bom/BomTable.tsx:309 -#: src/tables/bom/BomTable.tsx:397 +#: src/tables/bom/BomTable.tsx:302 +msgid "Show items with pricing" +msgstr "Artikel mit Preisen anzeigen" + +#: src/tables/bom/BomTable.tsx:311 +#: src/tables/bom/BomTable.tsx:399 msgid "Add BOM Item" -msgstr "" +msgstr "Stücklisten-Position hinzufügen" -#: src/tables/bom/BomTable.tsx:314 +#: src/tables/bom/BomTable.tsx:316 msgid "BOM item created" -msgstr "" - -#: src/tables/bom/BomTable.tsx:321 -msgid "Edit BOM Item" -msgstr "" +msgstr "Stücklisten-Position erstellt" #: src/tables/bom/BomTable.tsx:323 +msgid "Edit BOM Item" +msgstr "Stücklisten-Position bearbeiten" + +#: src/tables/bom/BomTable.tsx:325 msgid "BOM item updated" -msgstr "" - -#: src/tables/bom/BomTable.tsx:330 -msgid "Delete BOM Item" -msgstr "" - -#: src/tables/bom/BomTable.tsx:331 -msgid "BOM item deleted" -msgstr "" +msgstr "Stücklisten-Position aktualisiert" #: src/tables/bom/BomTable.tsx:331 #~ msgid "Edit Bom Item" #~ msgstr "Edit Bom Item" +#: src/tables/bom/BomTable.tsx:332 +msgid "Delete BOM Item" +msgstr "Stücklisten-Position löschen" + +#: src/tables/bom/BomTable.tsx:333 +msgid "BOM item deleted" +msgstr "Stücklisten-Position gelöscht" + #: src/tables/bom/BomTable.tsx:333 #~ msgid "Bom item updated" #~ msgstr "Bom item updated" -#: src/tables/bom/BomTable.tsx:341 +#: src/tables/bom/BomTable.tsx:343 msgid "View BOM" msgstr "Stückliste anzeigen" @@ -4917,17 +5027,17 @@ msgstr "Stückliste anzeigen" #~ msgid "Are you sure you want to remove this BOM item?" #~ msgstr "Are you sure you want to remove this BOM item?" -#: src/tables/bom/BomTable.tsx:352 +#: src/tables/bom/BomTable.tsx:354 msgid "Validate BOM line" msgstr "Stücklisten-Position bestätigen" -#: src/tables/bom/BomTable.tsx:360 +#: src/tables/bom/BomTable.tsx:362 msgid "Edit Substitutes" msgstr "Ersatzteil bearbeiten" #: src/tables/bom/UsedInTable.tsx:74 msgid "Show active assemblies" -msgstr "" +msgstr "Aktive Baugruppen anzeigen" #: src/tables/bom/UsedInTable.tsx:78 #: src/tables/part/PartTable.tsx:192 @@ -4967,153 +5077,153 @@ msgstr "Nachverfolgbare Freigabe" #: src/tables/build/BuildLineTable.tsx:52 msgid "Show tracked lines" -msgstr "" +msgstr "Verfolgbare Positionen anzeigen" #: src/tables/build/BuildLineTable.tsx:86 msgid "In production" -msgstr "" +msgstr "In Produktion" #: src/tables/build/BuildLineTable.tsx:118 #: src/tables/stock/StockItemTable.tsx:175 msgid "No stock available" -msgstr "" +msgstr "Kein Lagerbestand verfügbar" #: src/tables/build/BuildLineTable.tsx:157 msgid "Unit Quantity" -msgstr "" +msgstr "Einheiten Menge" #: src/tables/build/BuildLineTable.tsx:231 msgid "Order Stock" -msgstr "" +msgstr "Bestand bestellen" #: src/tables/build/BuildLineTable.tsx:237 msgid "Build Stock" -msgstr "" +msgstr "Bestand bauen" #: src/tables/build/BuildOrderTable.tsx:109 msgid "Show active orders" -msgstr "" +msgstr "Aktive Aufträge anzeigen" #: src/tables/build/BuildOrderTable.tsx:114 #: src/tables/purchasing/PurchaseOrderTable.tsx:56 #: src/tables/sales/ReturnOrderTable.tsx:47 #: src/tables/sales/SalesOrderTable.tsx:53 msgid "Filter by order status" -msgstr "" +msgstr "Nach Bestellstatus filtern" #: src/tables/build/BuildOrderTable.tsx:121 msgid "Show overdue status" -msgstr "" +msgstr "Überfälligen Status anzeigen" #: src/tables/build/BuildOrderTable.tsx:132 #: src/tables/purchasing/PurchaseOrderTable.tsx:65 #: src/tables/sales/ReturnOrderTable.tsx:56 #: src/tables/sales/SalesOrderTable.tsx:62 msgid "Filter by project code" -msgstr "" +msgstr "Nach Produktcode filtern" #: src/tables/build/BuildOrderTable.tsx:137 #: src/tables/purchasing/PurchaseOrderTable.tsx:70 #: src/tables/sales/ReturnOrderTable.tsx:61 #: src/tables/sales/SalesOrderTable.tsx:67 msgid "Has Project Code" -msgstr "" +msgstr "Hat Projektcode" #: src/tables/build/BuildOrderTable.tsx:138 #: src/tables/purchasing/PurchaseOrderTable.tsx:71 #: src/tables/sales/ReturnOrderTable.tsx:62 #: src/tables/sales/SalesOrderTable.tsx:68 msgid "Filter by whether the purchase order has a project code" -msgstr "" +msgstr "Filtern, ob die Bestellung einen Projektcode hat" #: src/tables/build/BuildOrderTable.tsx:143 msgid "Filter by user who issued this order" -msgstr "" +msgstr "Filtern nach Benutzer, der diese Bestellung ausgestellt hat" #: src/tables/build/BuildOrderTable.tsx:149 #: src/tables/purchasing/PurchaseOrderTable.tsx:76 #: src/tables/sales/ReturnOrderTable.tsx:67 #: src/tables/sales/SalesOrderTable.tsx:73 msgid "Filter by responsible owner" -msgstr "" +msgstr "Nach verantwortlichem Besitzer filtern" #: src/tables/build/BuildOutputTable.tsx:114 -#: src/tables/build/BuildOutputTable.tsx:150 +#: src/tables/build/BuildOutputTable.tsx:152 msgid "Add Build Output" -msgstr "" +msgstr "Bauprodukt hinzufügen" -#: src/tables/build/BuildOutputTable.tsx:155 +#: src/tables/build/BuildOutputTable.tsx:157 msgid "Complete selected outputs" -msgstr "" +msgstr "Ausgewählte Bauprodukte fertigstellen" #: src/tables/build/BuildOutputTable.tsx:161 #~ msgid "Delete build output" #~ msgstr "Delete build output" -#: src/tables/build/BuildOutputTable.tsx:165 +#: src/tables/build/BuildOutputTable.tsx:167 msgid "Scrap selected outputs" -msgstr "" +msgstr "Ausgewählte Bauprodukte verschrotten" -#: src/tables/build/BuildOutputTable.tsx:175 +#: src/tables/build/BuildOutputTable.tsx:177 msgid "Cancel selected outputs" -msgstr "" +msgstr "Ausgewählte Bauprodukte abbrechen" -#: src/tables/build/BuildOutputTable.tsx:191 +#: src/tables/build/BuildOutputTable.tsx:193 msgid "Allocate" -msgstr "" +msgstr "Zuweisen" -#: src/tables/build/BuildOutputTable.tsx:192 +#: src/tables/build/BuildOutputTable.tsx:194 msgid "Allocate stock to build output" -msgstr "" +msgstr "Bestand dem Bauprodukt zuweisen" -#: src/tables/build/BuildOutputTable.tsx:197 +#: src/tables/build/BuildOutputTable.tsx:199 msgid "Deallocate" -msgstr "" +msgstr "Freigeben" -#: src/tables/build/BuildOutputTable.tsx:198 +#: src/tables/build/BuildOutputTable.tsx:200 msgid "Deallocate stock from build output" -msgstr "" +msgstr "Bestand von Bauprodukt entfernen" -#: src/tables/build/BuildOutputTable.tsx:203 +#: src/tables/build/BuildOutputTable.tsx:205 msgid "Complete" -msgstr "" +msgstr "Fertigstellen" -#: src/tables/build/BuildOutputTable.tsx:204 +#: src/tables/build/BuildOutputTable.tsx:206 msgid "Complete build output" -msgstr "" +msgstr "Bauprodukt fertigstellen" -#: src/tables/build/BuildOutputTable.tsx:213 +#: src/tables/build/BuildOutputTable.tsx:215 msgid "Scrap" -msgstr "" +msgstr "Verschrotten" -#: src/tables/build/BuildOutputTable.tsx:214 +#: src/tables/build/BuildOutputTable.tsx:216 msgid "Scrap build output" -msgstr "" +msgstr "Bauprodukt verschrotten" -#: src/tables/build/BuildOutputTable.tsx:224 +#: src/tables/build/BuildOutputTable.tsx:226 msgid "Cancel build output" -msgstr "" +msgstr "Bauprodukt abbrechen" -#: src/tables/build/BuildOutputTable.tsx:251 +#: src/tables/build/BuildOutputTable.tsx:253 msgid "Build Output" -msgstr "" +msgstr "Bauprodukt" -#: src/tables/build/BuildOutputTable.tsx:264 +#: src/tables/build/BuildOutputTable.tsx:266 msgid "Batch" -msgstr "" +msgstr "Losnummer" -#: src/tables/build/BuildOutputTable.tsx:278 +#: src/tables/build/BuildOutputTable.tsx:280 msgid "Allocated Items" -msgstr "" +msgstr "Zugewiesene Positionen" -#: src/tables/build/BuildOutputTable.tsx:288 +#: src/tables/build/BuildOutputTable.tsx:290 msgid "Required Tests" -msgstr "" +msgstr "Erforderliche Tests" -#: src/tables/build/BuildOutputTable.tsx:317 -#: src/tables/stock/StockItemTestResultTable.tsx:146 +#: src/tables/build/BuildOutputTable.tsx:319 +#: src/tables/stock/StockItemTestResultTable.tsx:144 msgid "Test Results" -msgstr "" +msgstr "Testergebnisse" #: src/tables/company/AddressTable.tsx:121 #: src/tables/company/AddressTable.tsx:185 @@ -5122,7 +5232,7 @@ msgstr "Adresse hinzufügen" #: src/tables/company/AddressTable.tsx:126 msgid "Address created" -msgstr "" +msgstr "Adresse erstellt" #: src/tables/company/AddressTable.tsx:135 msgid "Edit Address" @@ -5132,7 +5242,7 @@ msgstr "Adresse bearbeiten" msgid "Delete Address" msgstr "Adresse löschen" -#: src/tables/company/AddressTable.tsx:145 +#: src/tables/company/AddressTable.tsx:144 msgid "Are you sure you want to delete this address?" msgstr "Sicher, dass Sie diese Adresse löschen wollen?" @@ -5143,23 +5253,23 @@ msgstr "Sicher, dass Sie diese Adresse löschen wollen?" #: src/tables/company/CompanyTable.tsx:74 #: src/tables/company/CompanyTable.tsx:123 msgid "Add Company" -msgstr "" +msgstr "Unternehmen hinzufügen" #: src/tables/company/CompanyTable.tsx:96 msgid "Show active companies" -msgstr "" +msgstr "Aktive Unternehmen anzeigen" #: src/tables/company/CompanyTable.tsx:101 msgid "Show companies which are suppliers" -msgstr "" +msgstr "Unternehmen anzeigen, die Lieferanten sind" #: src/tables/company/CompanyTable.tsx:106 msgid "Show companies which are manufacturers" -msgstr "" +msgstr "Unternehmen anzeigen, die Hersteller sind" #: src/tables/company/CompanyTable.tsx:111 msgid "Show companies which are customers" -msgstr "" +msgstr "Unternehmen anzeigen, die Kunden sind" #: src/tables/company/ContactTable.tsx:71 msgid "Edit Contact" @@ -5167,7 +5277,7 @@ msgstr "Kontakt bearbeiten" #: src/tables/company/ContactTable.tsx:78 msgid "Add Contact" -msgstr "" +msgstr "Kontakt hinzufügen" #: src/tables/company/ContactTable.tsx:89 msgid "Delete Contact" @@ -5177,46 +5287,62 @@ msgstr "Kontakt löschen" msgid "Add contact" msgstr "Kontakt hinzufügen" -#: src/tables/general/AttachmentTable.tsx:161 +#: src/tables/general/AttachmentTable.tsx:130 msgid "File uploaded" msgstr "Datei hochgeladen" -#: src/tables/general/AttachmentTable.tsx:162 +#: src/tables/general/AttachmentTable.tsx:131 msgid "File {0} uploaded successfully" msgstr "Datei {0} erfolgreich hochgeladen" -#: src/tables/general/AttachmentTable.tsx:173 +#: src/tables/general/AttachmentTable.tsx:142 msgid "Upload Error" msgstr "Upload fehlgeschlagen" -#: src/tables/general/AttachmentTable.tsx:174 +#: src/tables/general/AttachmentTable.tsx:143 msgid "File could not be uploaded" msgstr "Datei konnte nicht hochgeladen werden" #: src/tables/general/AttachmentTable.tsx:187 +msgid "Upload Attachment" +msgstr "Anhang hochladen" + +#: src/tables/general/AttachmentTable.tsx:197 +msgid "Edit Attachment" +msgstr "Anhang bearbeiten" + +#: src/tables/general/AttachmentTable.tsx:211 +msgid "Delete Attachment" +msgstr "Anhang löschen" + +#: src/tables/general/AttachmentTable.tsx:221 msgid "Add attachment" msgstr "Anhang hinzufügen" -#: src/tables/general/AttachmentTable.tsx:207 +#: src/tables/general/AttachmentTable.tsx:232 msgid "Add external link" -msgstr "" +msgstr "Externen Link hinzufügen" -#: src/tables/general/AttachmentTable.tsx:239 +#: src/tables/general/AttachmentTable.tsx:254 +#~ msgid "Upload attachment" +#~ msgstr "Upload attachment" + +#: src/tables/general/AttachmentTable.tsx:289 msgid "No attachments found" msgstr "Keine Anlagen gefunden" -#: src/tables/general/AttachmentTable.tsx:254 -msgid "Upload attachment" -msgstr "Anlage hochladen" +#: src/tables/general/AttachmentTable.tsx:325 +msgid "Drag attachment file here to upload" +msgstr "Datei zum Hochladen hierher ziehen" #: src/tables/machine/MachineListTable.tsx:199 msgid "Machine restarted" -msgstr "" +msgstr "Maschine neu gestartet" #: src/tables/machine/MachineListTable.tsx:221 #: src/tables/machine/MachineListTable.tsx:423 msgid "Restart required" -msgstr "" +msgstr "Neustart erforderlich" #: src/tables/machine/MachineListTable.tsx:225 msgid "Machine Actions" @@ -5225,20 +5351,20 @@ msgstr "Maschinen-Aktionen" #: src/tables/machine/MachineListTable.tsx:229 #: src/tables/machine/MachineListTable.tsx:232 msgid "Edit machine" -msgstr "" +msgstr "Maschine bearbeiten" #: src/tables/machine/MachineListTable.tsx:244 #: src/tables/machine/MachineListTable.tsx:247 msgid "Delete machine" -msgstr "" +msgstr "Maschine löschen" #: src/tables/machine/MachineListTable.tsx:248 msgid "Machine successfully deleted." -msgstr "" +msgstr "Maschine wurde erfolgreich gelöscht." #: src/tables/machine/MachineListTable.tsx:252 msgid "Are you sure you want to remove the machine \"{0}\"?" -msgstr "" +msgstr "Soll Maschine \"{0}\" gelöscht werden?" #: src/tables/machine/MachineListTable.tsx:263 msgid "Restart" @@ -5246,7 +5372,7 @@ msgstr "Neustart" #: src/tables/machine/MachineListTable.tsx:265 msgid "Restart machine" -msgstr "" +msgstr "Maschine neu starten" #: src/tables/machine/MachineListTable.tsx:267 msgid "manual restart required" @@ -5254,38 +5380,38 @@ msgstr "manueller Neustart erforderlich" #: src/tables/machine/MachineListTable.tsx:283 msgid "Machine information" -msgstr "" +msgstr "Maschinen Informationen" #: src/tables/machine/MachineListTable.tsx:294 #: src/tables/machine/MachineListTable.tsx:590 msgid "Machine Type" -msgstr "" +msgstr "Maschinen Typ" #: src/tables/machine/MachineListTable.tsx:307 msgid "Machine Driver" -msgstr "" +msgstr "Maschinen Treiber" #: src/tables/machine/MachineListTable.tsx:320 msgid "Initialized" -msgstr "" +msgstr "Initialisiert" #: src/tables/machine/MachineListTable.tsx:341 #: src/tables/machine/MachineTypeTable.tsx:261 msgid "Errors" -msgstr "" +msgstr "Fehler" #: src/tables/machine/MachineListTable.tsx:349 #: src/tables/machine/MachineTypeTable.tsx:269 msgid "No errors reported" -msgstr "" +msgstr "Keine Fehler gemeldet" #: src/tables/machine/MachineListTable.tsx:369 msgid "Machine Settings" -msgstr "" +msgstr "Maschineneinstellungen" #: src/tables/machine/MachineListTable.tsx:380 msgid "Driver Settings" -msgstr "" +msgstr "Treiber Einstellungen" #: src/tables/machine/MachineListTable.tsx:494 #~ msgid "Create machine" @@ -5293,77 +5419,77 @@ msgstr "" #: src/tables/machine/MachineListTable.tsx:497 msgid "Add machine" -msgstr "" +msgstr "Maschine hinzufügen" #: src/tables/machine/MachineListTable.tsx:552 msgid "Machine detail" -msgstr "" +msgstr "Maschine Details" #: src/tables/machine/MachineListTable.tsx:599 msgid "Driver" -msgstr "" +msgstr "Treiber" #: src/tables/machine/MachineTypeTable.tsx:73 msgid "Builtin driver" -msgstr "" +msgstr "Integrierter Treiber" #: src/tables/machine/MachineTypeTable.tsx:89 msgid "Machine type not found." -msgstr "" +msgstr "Maschinentyp nicht gefunden." #: src/tables/machine/MachineTypeTable.tsx:97 msgid "Machine type information" -msgstr "" +msgstr "Maschinentyp Informationen" #: src/tables/machine/MachineTypeTable.tsx:110 #: src/tables/machine/MachineTypeTable.tsx:217 msgid "Slug" -msgstr "" +msgstr "Slug" #: src/tables/machine/MachineTypeTable.tsx:118 #: src/tables/machine/MachineTypeTable.tsx:238 msgid "Provider plugin" -msgstr "" +msgstr "Anbieter Plugin" #: src/tables/machine/MachineTypeTable.tsx:130 #: src/tables/machine/MachineTypeTable.tsx:250 msgid "Provider file" -msgstr "" +msgstr "Anbieterdatei" #: src/tables/machine/MachineTypeTable.tsx:135 #: src/tables/machine/MachineTypeTable.tsx:255 -#: src/tables/plugin/PluginListTable.tsx:215 -#: src/tables/plugin/PluginListTable.tsx:643 +#: src/tables/plugin/PluginListTable.tsx:180 +#: src/tables/plugin/PluginListTable.tsx:568 msgid "Builtin" msgstr "Integriert" #: src/tables/machine/MachineTypeTable.tsx:146 msgid "Available drivers" -msgstr "" +msgstr "Verfügbare Treiber" #: src/tables/machine/MachineTypeTable.tsx:196 msgid "Machine driver not found." -msgstr "" +msgstr "Maschinentreiber nicht gefunden." #: src/tables/machine/MachineTypeTable.tsx:204 msgid "Machine driver information" -msgstr "" +msgstr "Maschinentreiber Informationen" #: src/tables/machine/MachineTypeTable.tsx:224 msgid "Machine type" -msgstr "" +msgstr "Maschinentyp" #: src/tables/machine/MachineTypeTable.tsx:327 msgid "Builtin type" -msgstr "" +msgstr "Eingebauter Typ" #: src/tables/machine/MachineTypeTable.tsx:336 msgid "Machine type detail" -msgstr "" +msgstr "Maschinentyp Details" #: src/tables/machine/MachineTypeTable.tsx:346 msgid "Machine driver detail" -msgstr "" +msgstr "Maschinentreiber Details" #: src/tables/notifications/NotificationsTable.tsx:26 msgid "Age" @@ -5372,127 +5498,127 @@ msgstr "Alter" #: src/tables/notifications/NotificationsTable.tsx:40 #: src/tables/plugin/PluginErrorTable.tsx:37 msgid "Message" -msgstr "" +msgstr "Nachricht" #: src/tables/part/ParametricPartTable.tsx:75 -#: src/tables/part/PartParameterTable.tsx:87 +#: src/tables/part/PartParameterTable.tsx:88 msgid "Internal Units" -msgstr "" +msgstr "Interne Einheiten" #: src/tables/part/ParametricPartTable.tsx:80 msgid "Edit parameter" -msgstr "" +msgstr "Parameter bearbeiten" #: src/tables/part/ParametricPartTable.tsx:133 msgid "Add Part Parameter" -msgstr "" +msgstr "Teileparameter hinzufügen" #: src/tables/part/ParametricPartTable.tsx:147 -#: src/tables/part/PartParameterTable.tsx:128 -#: src/tables/part/PartParameterTable.tsx:150 +#: src/tables/part/PartParameterTable.tsx:121 +#: src/tables/part/PartParameterTable.tsx:144 msgid "Edit Part Parameter" -msgstr "" +msgstr "Teileparameter bearbeiten" -#: src/tables/part/PartCategoryTable.tsx:64 +#: src/tables/part/PartCategoryTable.tsx:60 #: src/tables/part/PartTable.tsx:180 msgid "Include Subcategories" -msgstr "" +msgstr "Unter-Kategorien einschließen" -#: src/tables/part/PartCategoryTable.tsx:65 +#: src/tables/part/PartCategoryTable.tsx:61 msgid "Include subcategories in results" -msgstr "" +msgstr "Unterkategorien in Ergebnissen einbeziehen" -#: src/tables/part/PartCategoryTable.tsx:70 +#: src/tables/part/PartCategoryTable.tsx:66 msgid "Show structural categories" -msgstr "" +msgstr "Strukturkategorien anzeigen" -#: src/tables/part/PartCategoryTable.tsx:77 +#: src/tables/part/PartCategoryTable.tsx:73 msgid "New Part Category" -msgstr "" +msgstr "Neue Teilekategorie" -#: src/tables/part/PartCategoryTable.tsx:106 +#: src/tables/part/PartCategoryTable.tsx:98 msgid "Add Part Category" -msgstr "" +msgstr "Teilekategorie hinzufügen" #: src/tables/part/PartCategoryTemplateTable.tsx:38 #: src/tables/part/PartCategoryTemplateTable.tsx:131 msgid "Add Category Parameter" -msgstr "" +msgstr "Kategorieparameter hinzufügen" #: src/tables/part/PartCategoryTemplateTable.tsx:46 msgid "Edit Category Parameter" -msgstr "" +msgstr "Kategorieparameter bearbeiten" #: src/tables/part/PartCategoryTemplateTable.tsx:54 msgid "Delete Category Parameter" -msgstr "" +msgstr "Kategorieparameter löschen" #: src/tables/part/PartCategoryTemplateTable.tsx:76 msgid "Parameter Template" -msgstr "" +msgstr "Parameter Vorlage" #: src/tables/part/PartCategoryTemplateTable.tsx:93 #~ msgid "[{0}]" #~ msgstr "[{0}]" -#: src/tables/part/PartParameterTable.tsx:112 +#: src/tables/part/PartParameterTable.tsx:105 msgid "New Part Parameter" -msgstr "" +msgstr "Teileparameter hinzufügen" -#: src/tables/part/PartParameterTable.tsx:136 -#: src/tables/part/PartParameterTable.tsx:158 +#: src/tables/part/PartParameterTable.tsx:130 +#: src/tables/part/PartParameterTable.tsx:152 msgid "Delete Part Parameter" -msgstr "" +msgstr "Teilparameter löschen" -#: src/tables/part/PartParameterTable.tsx:175 +#: src/tables/part/PartParameterTable.tsx:170 msgid "Add parameter" -msgstr "" +msgstr "Parameter hinzufügen" -#: src/tables/part/PartParameterTable.tsx:196 +#: src/tables/part/PartParameterTable.tsx:191 #: src/tables/stock/StockItemTable.tsx:300 msgid "Include Variants" msgstr "Alternativen einschließen" #: src/tables/part/PartParameterTemplateTable.tsx:31 msgid "Checkbox" -msgstr "" +msgstr "Checkbox" #: src/tables/part/PartParameterTemplateTable.tsx:32 msgid "Show checkbox templates" -msgstr "" +msgstr "Checkbox-Vorlagen anzeigen" #: src/tables/part/PartParameterTemplateTable.tsx:36 msgid "Has choices" -msgstr "" +msgstr "Hat Auswahlen" #: src/tables/part/PartParameterTemplateTable.tsx:37 msgid "Show templates with choices" -msgstr "" +msgstr "Vorlagen mit Auswahlen anzeigen" #: src/tables/part/PartParameterTemplateTable.tsx:41 #: src/tables/part/PartTable.tsx:198 msgid "Has Units" -msgstr "" +msgstr "Hat Einheiten" #: src/tables/part/PartParameterTemplateTable.tsx:42 msgid "Show templates with units" -msgstr "" +msgstr "Vorlagen mit Einheiten anzeigen" #: src/tables/part/PartParameterTemplateTable.tsx:85 msgid "Add Parameter Template" -msgstr "" +msgstr "Parametervorlage hinzufügen" -#: src/tables/part/PartParameterTemplateTable.tsx:97 +#: src/tables/part/PartParameterTemplateTable.tsx:100 msgid "Edit Parameter Template" -msgstr "" +msgstr "Parametervorlage bearbeiten" -#: src/tables/part/PartParameterTemplateTable.tsx:105 +#: src/tables/part/PartParameterTemplateTable.tsx:111 msgid "Delete Parameter Template" -msgstr "" +msgstr "Parametervorlage löschen" -#: src/tables/part/PartParameterTemplateTable.tsx:135 +#: src/tables/part/PartParameterTemplateTable.tsx:141 msgid "Add parameter template" -msgstr "" +msgstr "Parametervorlage hinzufügen" #: src/tables/part/PartTable.tsx:67 msgid "Minimum stock" @@ -5500,15 +5626,15 @@ msgstr "Mindest-Lagerbestand" #: src/tables/part/PartTable.tsx:89 msgid "Build Order Allocations" -msgstr "" +msgstr "Bauauftragszuweisungen" #: src/tables/part/PartTable.tsx:98 msgid "Sales Order Allocations" -msgstr "" +msgstr "Verkaufsauftragszuweisungen" #: src/tables/part/PartTable.tsx:169 msgid "Filter by part active status" -msgstr "" +msgstr "Filtern nach Teil aktiv Status" #: src/tables/part/PartTable.tsx:174 #: src/tables/stock/StockItemTable.tsx:265 @@ -5517,15 +5643,15 @@ msgstr "Montage" #: src/tables/part/PartTable.tsx:175 msgid "Filter by assembly attribute" -msgstr "" +msgstr "Filtern nach Baugruppen Attribut" #: src/tables/part/PartTable.tsx:181 msgid "Include parts in subcategories" -msgstr "" +msgstr "Teile in Unterkategorien einschließen" #: src/tables/part/PartTable.tsx:187 msgid "Filter by component attribute" -msgstr "" +msgstr "Nach Teilattributen filtern" #: src/tables/part/PartTable.tsx:193 msgid "Filter by trackable attribute" @@ -5533,47 +5659,47 @@ msgstr "Filtern nach Nachverfolgbarer Eigenschaft" #: src/tables/part/PartTable.tsx:199 msgid "Filter by parts which have units" -msgstr "" +msgstr "Nach Teilen mit Einheiten filtern" #: src/tables/part/PartTable.tsx:204 msgid "Has IPN" -msgstr "" +msgstr "Hat IPN" #: src/tables/part/PartTable.tsx:205 msgid "Filter by parts which have an internal part number" -msgstr "" +msgstr "Nach Teilen filtern, die eine interne Teilenummer haben" #: src/tables/part/PartTable.tsx:210 msgid "Has Stock" -msgstr "" +msgstr "Auf Lager" #: src/tables/part/PartTable.tsx:211 msgid "Filter by parts which have stock" -msgstr "" +msgstr "Nach Teilen mit Lagerbestand filtern" #: src/tables/part/PartTable.tsx:217 msgid "Filter by parts which have low stock" -msgstr "" +msgstr "Nach Teilen mit geringem Lagerbestand filtern" #: src/tables/part/PartTable.tsx:222 msgid "Purchaseable" -msgstr "" +msgstr "Kaufbar" #: src/tables/part/PartTable.tsx:223 msgid "Filter by parts which are purchaseable" -msgstr "" +msgstr "Nach Teilen filtern, die kaufbar sind" #: src/tables/part/PartTable.tsx:228 msgid "Salable" -msgstr "" +msgstr "Verkaufbar" #: src/tables/part/PartTable.tsx:229 msgid "Filter by parts which are salable" -msgstr "" +msgstr "Nach Teilen filtern, die verkaufbar sind" #: src/tables/part/PartTable.tsx:235 msgid "Filter by parts which are virtual" -msgstr "" +msgstr "Nach Teilen filtern, die virtuell sind" #: src/tables/part/PartTable.tsx:239 msgid "Not Virtual" @@ -5581,87 +5707,91 @@ msgstr "Nicht virtuell" #: src/tables/part/PartTestTemplateTable.tsx:52 msgid "Results" -msgstr "" +msgstr "Ergebnisse" #: src/tables/part/PartTestTemplateTable.tsx:54 msgid "No Results" -msgstr "" +msgstr "Keine Ergebnisse" #: src/tables/part/PartTestTemplateTable.tsx:79 -#: src/tables/stock/StockItemTestResultTable.tsx:385 +#: src/tables/stock/StockItemTestResultTable.tsx:376 msgid "Required" -msgstr "" +msgstr "Erforderlich" #: src/tables/part/PartTestTemplateTable.tsx:80 msgid "Show required tests" -msgstr "" +msgstr "Erforderliche Tests anzeigen" #: src/tables/part/PartTestTemplateTable.tsx:84 -#: src/tables/settings/TemplateTable.tsx:213 -#: src/tables/settings/TemplateTable.tsx:275 +#: src/tables/settings/TemplateTable.tsx:160 +#: src/tables/settings/TemplateTable.tsx:270 msgid "Enabled" -msgstr "" +msgstr "Aktiviert" #: src/tables/part/PartTestTemplateTable.tsx:85 msgid "Show enabled tests" -msgstr "" +msgstr "Aktivierte Tests anzeigen" #: src/tables/part/PartTestTemplateTable.tsx:89 msgid "Requires Value" -msgstr "" +msgstr "Wert erforderlich" #: src/tables/part/PartTestTemplateTable.tsx:90 msgid "Show tests that require a value" -msgstr "" +msgstr "Tests anzeigen, die einen Wert erfordern" #: src/tables/part/PartTestTemplateTable.tsx:94 msgid "Requires Attachment" -msgstr "" +msgstr "Anhang erforderlich" #: src/tables/part/PartTestTemplateTable.tsx:95 msgid "Show tests that require an attachment" -msgstr "" +msgstr "Tests anzeigen, die einen Anhang erfordern" #: src/tables/part/PartTestTemplateTable.tsx:99 msgid "Include Inherited" -msgstr "" +msgstr "Vererbte einschließen" #: src/tables/part/PartTestTemplateTable.tsx:100 msgid "Show tests from inherited templates" -msgstr "" +msgstr "Tests von geerbten Vorlagen anzeigen" #: src/tables/part/PartTestTemplateTable.tsx:104 msgid "Has Results" -msgstr "" +msgstr "Hat Ergebnisse" #: src/tables/part/PartTestTemplateTable.tsx:105 msgid "Show tests which have recorded results" -msgstr "" +msgstr "Tests anzeigen, die die Ergebnisse beinhalten" #: src/tables/part/PartTestTemplateTable.tsx:126 -#: src/tables/part/PartTestTemplateTable.tsx:195 +#: src/tables/part/PartTestTemplateTable.tsx:201 msgid "Add Test Template" -msgstr "" +msgstr "Testvorlage hinzufügen" -#: src/tables/part/PartTestTemplateTable.tsx:139 +#: src/tables/part/PartTestTemplateTable.tsx:142 msgid "Edit Test Template" -msgstr "" +msgstr "Testvorlage bearbeiten" -#: src/tables/part/PartTestTemplateTable.tsx:147 +#: src/tables/part/PartTestTemplateTable.tsx:153 msgid "Delete Test Template" -msgstr "" +msgstr "Testvorlage löschen" -#: src/tables/part/PartTestTemplateTable.tsx:149 +#: src/tables/part/PartTestTemplateTable.tsx:155 msgid "This action cannot be reversed" -msgstr "" +msgstr "Diese Aktion kann nicht rückgängig gemacht werden" -#: src/tables/part/PartTestTemplateTable.tsx:151 +#: src/tables/part/PartTestTemplateTable.tsx:157 msgid "Any tests results associated with this template will be deleted" -msgstr "" +msgstr "Alle mit dieser Vorlage verknüpften Testergebnisse werden gelöscht" + +#: src/tables/part/PartThumbTable.tsx:203 +msgid "Select" +msgstr "Wähle" #: src/tables/part/PartVariantTable.tsx:16 msgid "Show active variants" -msgstr "" +msgstr "Aktive Varianten anzeigen" #: src/tables/part/PartVariantTable.tsx:20 msgid "Template" @@ -5669,11 +5799,11 @@ msgstr "Vorlage" #: src/tables/part/PartVariantTable.tsx:21 msgid "Show template variants" -msgstr "" +msgstr "Vorlagenvarianten anzeigen" #: src/tables/part/PartVariantTable.tsx:26 msgid "Show virtual variants" -msgstr "" +msgstr "Virtuelle Varianten anzeigen" #: src/tables/part/PartVariantTable.tsx:31 msgid "Show trackable variants" @@ -5681,266 +5811,287 @@ msgstr "Nachverfolgbare Varianten anzeigen" #: src/tables/part/RelatedPartTable.tsx:84 msgid "Add Related Part" -msgstr "" +msgstr "Verknüpftes Teil hinzufügen" #: src/tables/part/RelatedPartTable.tsx:99 msgid "Delete Related Part" -msgstr "" +msgstr "Verknüpftes Teil löschen" #: src/tables/part/RelatedPartTable.tsx:106 msgid "Add related part" -msgstr "" +msgstr "Verknüpftes Teil hinzufügen" #: src/tables/plugin/PluginErrorTable.tsx:29 msgid "Stage" msgstr "Bühne" -#: src/tables/plugin/PluginListTable.tsx:113 -msgid "Plugin with id {id} not found" -msgstr "" +#: src/tables/plugin/PluginListTable.tsx:95 +msgid "Plugin with key {pluginKey} not found" +msgstr "Plugin mit dem Schlüssel {pluginKey} nicht gefunden" -#: src/tables/plugin/PluginListTable.tsx:115 +#: src/tables/plugin/PluginListTable.tsx:97 msgid "An error occurred while fetching plugin details" -msgstr "" +msgstr "Beim Laden der Plugin-Details ist ein Fehler aufgetreten" -#: src/tables/plugin/PluginListTable.tsx:134 -msgid "Plugin Actions" -msgstr "Plugin Aktionen" +#: src/tables/plugin/PluginListTable.tsx:113 +#~ msgid "Plugin with id {id} not found" +#~ msgstr "Plugin with id {id} not found" -#: src/tables/plugin/PluginListTable.tsx:138 -#: src/tables/plugin/PluginListTable.tsx:141 -msgid "Edit plugin" -msgstr "Plugin bearbeiten" - -#: src/tables/plugin/PluginListTable.tsx:152 -#: src/tables/plugin/PluginListTable.tsx:153 -msgid "Reload" -msgstr "Neu laden" - -#: src/tables/plugin/PluginListTable.tsx:166 +#: src/tables/plugin/PluginListTable.tsx:122 msgid "Plugin information" msgstr "Plugin-Informationen" -#: src/tables/plugin/PluginListTable.tsx:177 +#: src/tables/plugin/PluginListTable.tsx:134 msgid "Author" msgstr "Autor" -#: src/tables/plugin/PluginListTable.tsx:198 +#: src/tables/plugin/PluginListTable.tsx:134 +#~ msgid "Plugin Actions" +#~ msgstr "Plugin Actions" + +#: src/tables/plugin/PluginListTable.tsx:138 +#: src/tables/plugin/PluginListTable.tsx:141 +#~ msgid "Edit plugin" +#~ msgstr "Edit plugin" + +#: src/tables/plugin/PluginListTable.tsx:152 +#: src/tables/plugin/PluginListTable.tsx:153 +#~ msgid "Reload" +#~ msgstr "Reload" + +#: src/tables/plugin/PluginListTable.tsx:154 +msgid "Plugin is not active" +msgstr "Plugin ist nicht aktiv" + +#: src/tables/plugin/PluginListTable.tsx:163 msgid "Package information" -msgstr "" +msgstr "Paketinformationen" -#: src/tables/plugin/PluginListTable.tsx:204 +#: src/tables/plugin/PluginListTable.tsx:169 msgid "Package Name" -msgstr "" +msgstr "Paket Name" -#: src/tables/plugin/PluginListTable.tsx:210 +#: src/tables/plugin/PluginListTable.tsx:175 msgid "Installation Path" -msgstr "" +msgstr "Installationspfad" -#: src/tables/plugin/PluginListTable.tsx:220 +#: src/tables/plugin/PluginListTable.tsx:185 msgid "Package" -msgstr "" +msgstr "Paket" -#: src/tables/plugin/PluginListTable.tsx:231 +#: src/tables/plugin/PluginListTable.tsx:197 msgid "Plugin settings" msgstr "Plugin-Einstellungen" -#: src/tables/plugin/PluginListTable.tsx:248 +#: src/tables/plugin/PluginListTable.tsx:214 msgid "Plugin is active" -msgstr "" +msgstr "Plugin ist aktiv" -#: src/tables/plugin/PluginListTable.tsx:254 +#: src/tables/plugin/PluginListTable.tsx:220 msgid "Plugin is inactive" -msgstr "" +msgstr "Plugin ist inaktiv" -#: src/tables/plugin/PluginListTable.tsx:261 +#: src/tables/plugin/PluginListTable.tsx:227 msgid "Plugin is not installed" -msgstr "" +msgstr "Plugin ist nicht installiert" + +#: src/tables/plugin/PluginListTable.tsx:253 +msgid "Plugin" +msgstr "Plugin" #: src/tables/plugin/PluginListTable.tsx:287 -msgid "Plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:312 msgid "Description not available" msgstr "描述不可用" -#: src/tables/plugin/PluginListTable.tsx:338 +#: src/tables/plugin/PluginListTable.tsx:319 +msgid "Confirm plugin activation" +msgstr "Plugin Aktivierung bestätigen" + +#: src/tables/plugin/PluginListTable.tsx:320 +msgid "Confirm plugin deactivation" +msgstr "Plugin Deaktivierung bestätigen" + +#: src/tables/plugin/PluginListTable.tsx:325 +msgid "The selected plugin will be activated" +msgstr "Das ausgewählte Plugin wird aktiviert" + +#: src/tables/plugin/PluginListTable.tsx:326 +msgid "The selected plugin will be deactivated" +msgstr "Das ausgewählte Plugin wird deaktiviert" + +#: src/tables/plugin/PluginListTable.tsx:334 msgid "Activate Plugin" msgstr "Plugin aktivieren" #: src/tables/plugin/PluginListTable.tsx:338 -msgid "Deactivate Plugin" -msgstr "Plugin deaktivieren" - -#: src/tables/plugin/PluginListTable.tsx:347 -msgid "Confirm plugin activation" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:348 -msgid "Confirm plugin deactivation" -msgstr "" +#~ msgid "Deactivate Plugin" +#~ msgstr "Deactivate Plugin" #: src/tables/plugin/PluginListTable.tsx:354 -msgid "The following plugin will be activated" -msgstr "" +#~ msgid "The following plugin will be activated" +#~ msgstr "The following plugin will be activated" #: src/tables/plugin/PluginListTable.tsx:355 -msgid "The following plugin will be deactivated" -msgstr "" +#~ msgid "The following plugin will be deactivated" +#~ msgstr "The following plugin will be deactivated" -#: src/tables/plugin/PluginListTable.tsx:366 -msgid "Confirm" -msgstr "Bestätigen" - -#: src/tables/plugin/PluginListTable.tsx:376 -msgid "Activating plugin" -msgstr "Plugin aktivieren" - -#: src/tables/plugin/PluginListTable.tsx:376 -msgid "Deactivating plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:392 -msgid "Plugin updated" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:394 -msgid "The plugin was activated" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:395 -msgid "The plugin was deactivated" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:403 -msgid "Error updating plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:423 +#: src/tables/plugin/PluginListTable.tsx:362 msgid "Deactivate" msgstr "Deaktivieren" -#: src/tables/plugin/PluginListTable.tsx:432 +#: src/tables/plugin/PluginListTable.tsx:366 +#~ msgid "Confirm" +#~ msgstr "Confirm" + +#: src/tables/plugin/PluginListTable.tsx:373 msgid "Activate" msgstr "Aktivieren" -#: src/tables/plugin/PluginListTable.tsx:463 -msgid "Uninstall" -msgstr "" +#: src/tables/plugin/PluginListTable.tsx:376 +#~ msgid "Activating plugin" +#~ msgstr "Activating plugin" -#: src/tables/plugin/PluginListTable.tsx:495 +#: src/tables/plugin/PluginListTable.tsx:376 +#~ msgid "Deactivating plugin" +#~ msgstr "Deactivating plugin" + +#: src/tables/plugin/PluginListTable.tsx:392 +#~ msgid "Plugin updated" +#~ msgstr "Plugin updated" + +#: src/tables/plugin/PluginListTable.tsx:394 +#~ msgid "The plugin was activated" +#~ msgstr "The plugin was activated" + +#: src/tables/plugin/PluginListTable.tsx:395 +#~ msgid "The plugin was deactivated" +#~ msgstr "The plugin was deactivated" + +#: src/tables/plugin/PluginListTable.tsx:403 +#~ msgid "Error updating plugin" +#~ msgstr "Error updating plugin" + +#: src/tables/plugin/PluginListTable.tsx:406 +msgid "Uninstall" +msgstr "Deinstallieren" + +#: src/tables/plugin/PluginListTable.tsx:438 msgid "Install plugin" msgstr "Plugin installieren" -#: src/tables/plugin/PluginListTable.tsx:508 +#: src/tables/plugin/PluginListTable.tsx:451 msgid "Install" msgstr "Installieren" -#: src/tables/plugin/PluginListTable.tsx:512 +#: src/tables/plugin/PluginListTable.tsx:452 msgid "Plugin installed successfully" msgstr "Plugin erfolgreich installiert" -#: src/tables/plugin/PluginListTable.tsx:525 +#: src/tables/plugin/PluginListTable.tsx:457 msgid "Uninstall Plugin" -msgstr "" +msgstr "Plugin deinstallieren" -#: src/tables/plugin/PluginListTable.tsx:537 +#: src/tables/plugin/PluginListTable.tsx:469 msgid "Confirm plugin uninstall" -msgstr "" +msgstr "Plugin deinstallieren bestätigen" -#: src/tables/plugin/PluginListTable.tsx:540 +#: src/tables/plugin/PluginListTable.tsx:472 msgid "The selected plugin will be uninstalled." -msgstr "" +msgstr "Das ausgewählte Plugin wird deinstalliert." -#: src/tables/plugin/PluginListTable.tsx:541 +#: src/tables/plugin/PluginListTable.tsx:473 msgid "This action cannot be undone." -msgstr "" +msgstr "Diese Aktion kann nicht rückgängig gemacht werden." -#: src/tables/plugin/PluginListTable.tsx:547 +#: src/tables/plugin/PluginListTable.tsx:477 msgid "Plugin uninstalled successfully" -msgstr "" +msgstr "Plugin erfolgreich deinstalliert" -#: src/tables/plugin/PluginListTable.tsx:560 +#: src/tables/plugin/PluginListTable.tsx:484 msgid "Delete Plugin" -msgstr "" +msgstr "Plugin löschen" -#: src/tables/plugin/PluginListTable.tsx:562 +#: src/tables/plugin/PluginListTable.tsx:485 msgid "Deleting this plugin configuration will remove all associated settings and data. Are you sure you want to delete this plugin?" -msgstr "" +msgstr "Durch das Löschen dieser Plugin-Konfiguration werden alle zugehörigen Einstellungen und Daten entfernt. Soll dieses Plugin gelöscht werden?" -#: src/tables/plugin/PluginListTable.tsx:574 +#: src/tables/plugin/PluginListTable.tsx:498 msgid "Plugins reloaded" msgstr "Erweiterungen neu geladen" -#: src/tables/plugin/PluginListTable.tsx:575 +#: src/tables/plugin/PluginListTable.tsx:499 msgid "Plugins were reloaded successfully" -msgstr "" +msgstr "Plugins wurden erfolgreich neu geladen" -#: src/tables/plugin/PluginListTable.tsx:591 +#: src/tables/plugin/PluginListTable.tsx:515 msgid "Reload Plugins" -msgstr "" +msgstr "Plugins neu laden" -#: src/tables/plugin/PluginListTable.tsx:600 +#: src/tables/plugin/PluginListTable.tsx:524 msgid "Install Plugin" msgstr "Plugin installieren" +#: src/tables/plugin/PluginListTable.tsx:544 +msgid "Plugin Detail" +msgstr "Plugin Detail" + +#: src/tables/plugin/PluginListTable.tsx:573 +msgid "Sample" +msgstr "Beispiel" + +#: src/tables/plugin/PluginListTable.tsx:578 +#: src/tables/stock/StockItemTable.tsx:305 +msgid "Installed" +msgstr "Installiert" + #: src/tables/plugin/PluginListTable.tsx:615 #~ msgid "Plugin detail" #~ msgstr "Plugin detail" -#: src/tables/plugin/PluginListTable.tsx:619 -msgid "Plugin Detail" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:648 -msgid "Sample" -msgstr "Beispiel" - -#: src/tables/plugin/PluginListTable.tsx:653 -#: src/tables/stock/StockItemTable.tsx:305 -msgid "Installed" -msgstr "Installiert" - -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:57 -msgid "Edit Parameter" -msgstr "" +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:59 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:108 +msgid "Add Parameter" +msgstr "Parameter hinzufügen" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:60 -msgid "Parameter updated" -msgstr "" +#~ msgid "Parameter updated" +#~ msgstr "Parameter updated" -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:71 -msgid "Delete Parameter" -msgstr "" +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:70 +msgid "Edit Parameter" +msgstr "Parameter bearbeiten" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:73 -msgid "Parameter deleted" -msgstr "" +#~ msgid "Parameter deleted" +#~ msgstr "Parameter deleted" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:74 -msgid "Are you sure you want to delete this parameter?" -msgstr "" +#~ msgid "Are you sure you want to delete this parameter?" +#~ msgstr "Are you sure you want to delete this parameter?" + +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:78 +msgid "Delete Parameter" +msgstr "Parameter löschen" #: src/tables/purchasing/ManufacturerPartTable.tsx:63 #~ msgid "Create Manufacturer Part" #~ msgstr "Create Manufacturer Part" -#: src/tables/purchasing/ManufacturerPartTable.tsx:100 -msgid "Manufacturer part updated" -msgstr "" - -#: src/tables/purchasing/ManufacturerPartTable.tsx:111 +#: src/tables/purchasing/ManufacturerPartTable.tsx:92 msgid "Delete Manufacturer Part" -msgstr "" +msgstr "Herstellerteil löschen" + +#: src/tables/purchasing/ManufacturerPartTable.tsx:100 +#~ msgid "Manufacturer part updated" +#~ msgstr "Manufacturer part updated" #: src/tables/purchasing/ManufacturerPartTable.tsx:112 -msgid "Manufacturer part deleted" -msgstr "" +#~ msgid "Manufacturer part deleted" +#~ msgstr "Manufacturer part deleted" #: src/tables/purchasing/ManufacturerPartTable.tsx:114 -msgid "Are you sure you want to remove this manufacturer part?" -msgstr "" +#~ msgid "Are you sure you want to remove this manufacturer part?" +#~ msgstr "Are you sure you want to remove this manufacturer part?" #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:86 msgid "Part Description" @@ -5996,31 +6147,31 @@ msgstr "Erhaltene Artikel" #: src/tables/purchasing/SupplierPartTable.tsx:93 msgid "MPN" -msgstr "" +msgstr "MPN" #: src/tables/purchasing/SupplierPartTable.tsx:122 msgid "Base units" -msgstr "" +msgstr "Basiseinheiten" #: src/tables/purchasing/SupplierPartTable.tsx:170 msgid "Supplier part created" -msgstr "" +msgstr "Zuliefererteil erstellt" #: src/tables/purchasing/SupplierPartTable.tsx:176 msgid "Add supplier part" -msgstr "" +msgstr "Zuliefererteil hinzufügen" #: src/tables/purchasing/SupplierPartTable.tsx:188 msgid "Show active supplier parts" -msgstr "" +msgstr "Aktive Lieferantenteile anzeigen" #: src/tables/purchasing/SupplierPartTable.tsx:192 msgid "Active Part" -msgstr "" +msgstr "Aktives Teil" #: src/tables/purchasing/SupplierPartTable.tsx:193 msgid "Show active internal parts" -msgstr "" +msgstr "Zeige aktive interne Teile" #: src/tables/purchasing/SupplierPartTable.tsx:193 #~ msgid "Supplier part updated" @@ -6028,11 +6179,11 @@ msgstr "" #: src/tables/purchasing/SupplierPartTable.tsx:197 msgid "Active Supplier" -msgstr "" +msgstr "Aktiver Lieferant" #: src/tables/purchasing/SupplierPartTable.tsx:198 msgid "Show active suppliers" -msgstr "" +msgstr "Zeige aktiven Lieferant" #: src/tables/purchasing/SupplierPartTable.tsx:205 #~ msgid "Supplier part deleted" @@ -6044,7 +6195,7 @@ msgstr "" #: src/tables/purchasing/SupplierPartTable.tsx:218 msgid "Delete Supplier Part" -msgstr "" +msgstr "Zuliefererteil entfernen" #: src/tables/settings/CurrencyTable.tsx:28 msgid "Rate" @@ -6052,92 +6203,96 @@ msgstr "Bewerten" #: src/tables/settings/CurrencyTable.tsx:40 msgid "Exchange rates updated" -msgstr "" +msgstr "Wechselkurse aktualisiert" #: src/tables/settings/CurrencyTable.tsx:46 msgid "Exchange rate update error" -msgstr "" +msgstr "Fehler beim Aktualisieren des Wechselkurses" #: src/tables/settings/CurrencyTable.tsx:57 msgid "Refresh currency exchange rates" -msgstr "" +msgstr "Wechselkurse aktualisieren" #: src/tables/settings/CustomUnitsTable.tsx:50 msgid "Add Custom Unit" -msgstr "" +msgstr "Benutzerdefinierte Einheit hinzufügen" #: src/tables/settings/CustomUnitsTable.tsx:60 msgid "Edit Custom Unit" -msgstr "" +msgstr "Benutzerdefinierte Einheit bearbeiten" #: src/tables/settings/CustomUnitsTable.tsx:68 msgid "Delete Custom Unit" -msgstr "" +msgstr "Benutzerdefinierte Einheit löschen" #: src/tables/settings/CustomUnitsTable.tsx:100 msgid "Add custom unit" -msgstr "" +msgstr "Benutzerdefinierte Einheit hinzufügen" #: src/tables/settings/ErrorTable.tsx:29 msgid "When" -msgstr "" +msgstr "Wann" #: src/tables/settings/ErrorTable.tsx:39 msgid "Error Information" -msgstr "" +msgstr "Fehlerinformationen" #: src/tables/settings/ErrorTable.tsx:51 -msgid "Delete error report" -msgstr "" +msgid "Delete Error Report" +msgstr "Fehlerbericht löschen" + +#: src/tables/settings/ErrorTable.tsx:51 +#~ msgid "Delete error report" +#~ msgstr "Delete error report" #: src/tables/settings/ErrorTable.tsx:53 -msgid "Error report deleted" -msgstr "" - -#: src/tables/settings/ErrorTable.tsx:54 msgid "Are you sure you want to delete this error report?" -msgstr "" +msgstr "Soll dieser Fehler Bericht wirklich gelöscht werden?" -#: src/tables/settings/ErrorTable.tsx:67 +#: src/tables/settings/ErrorTable.tsx:55 +msgid "Error report deleted" +msgstr "Fehlerbericht wurde gelöscht" + +#: src/tables/settings/ErrorTable.tsx:77 #: src/tables/settings/FailedTasksTable.tsx:57 msgid "Error Details" -msgstr "" +msgstr "Fehlerdetails" #: src/tables/settings/FailedTasksTable.tsx:24 #: src/tables/settings/PendingTasksTable.tsx:17 #: src/tables/settings/ScheduledTasksTable.tsx:19 msgid "Task" -msgstr "" +msgstr "Aufgabe" #: src/tables/settings/FailedTasksTable.tsx:30 #: src/tables/settings/PendingTasksTable.tsx:22 msgid "Task ID" -msgstr "" +msgstr "Aufgaben ID" #: src/tables/settings/FailedTasksTable.tsx:34 -#: src/tables/stock/StockItemTestResultTable.tsx:214 +#: src/tables/stock/StockItemTestResultTable.tsx:205 msgid "Started" -msgstr "" +msgstr "Gestartet" #: src/tables/settings/FailedTasksTable.tsx:40 msgid "Stopped" -msgstr "" +msgstr "Gestoppt" #: src/tables/settings/FailedTasksTable.tsx:46 msgid "Attempts" -msgstr "" +msgstr "Versuche" #: src/tables/settings/GroupTable.tsx:51 msgid "Group with id {id} not found" -msgstr "" +msgstr "Gruppe mit der ID {id} nicht gefunden" #: src/tables/settings/GroupTable.tsx:53 msgid "An error occurred while fetching group details" -msgstr "" +msgstr "Beim Laden der Gruppendetails ist ein Fehler aufgetreten" #: src/tables/settings/GroupTable.tsx:77 msgid "Permission set" -msgstr "" +msgstr "Berechtigungen" #: src/tables/settings/GroupTable.tsx:126 msgid "Delete group" @@ -6162,63 +6317,104 @@ msgstr "Gruppe bearbeiten" #: src/tables/settings/PendingTasksTable.tsx:36 msgid "Arguments" -msgstr "" +msgstr "Parameter" #: src/tables/settings/ProjectCodeTable.tsx:42 msgid "Add Project Code" -msgstr "" +msgstr "Projektcode hinzufügen" #: src/tables/settings/ProjectCodeTable.tsx:54 msgid "Edit Project Code" -msgstr "" +msgstr "Projektcode bearbeiten" #: src/tables/settings/ProjectCodeTable.tsx:62 msgid "Delete Project Code" -msgstr "" +msgstr "Projektcode löschen" #: src/tables/settings/ProjectCodeTable.tsx:94 msgid "Add project code" -msgstr "" +msgstr "Projektcode hinzufügen" #: src/tables/settings/ScheduledTasksTable.tsx:25 msgid "Last Run" -msgstr "" +msgstr "Letzte Ausführung" #: src/tables/settings/ScheduledTasksTable.tsx:47 msgid "Next Run" +msgstr "Nächste Ausführung" + +#: src/tables/settings/TemplateTable.tsx:82 +msgid "Template not found" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:84 +msgid "An error occurred while fetching template details" msgstr "" #: src/tables/settings/TemplateTable.tsx:120 -msgid "{templateTypeTranslation} with id {id} not found" -msgstr "" +#~ msgid "{templateTypeTranslation} with id {id} not found" +#~ msgstr "{templateTypeTranslation} with id {id} not found" #: src/tables/settings/TemplateTable.tsx:124 -msgid "An error occurred while fetching {templateTypeTranslation} details" -msgstr "" +#~ msgid "An error occurred while fetching {templateTypeTranslation} details" +#~ msgstr "An error occurred while fetching {templateTypeTranslation} details" #: src/tables/settings/TemplateTable.tsx:146 -msgid "actions" -msgstr "Aktionen" +#~ msgid "actions" +#~ msgstr "actions" + +#: src/tables/settings/TemplateTable.tsx:170 +msgid "Modify" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:171 +msgid "Modify template file" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:222 +#: src/tables/settings/TemplateTable.tsx:289 +msgid "Edit Template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:230 +msgid "Delete template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:236 +msgid "Add Template" +msgstr "" #: src/tables/settings/TemplateTable.tsx:243 -msgid "Add new" -msgstr "" +#~ msgid "Add new" +#~ msgstr "Add new" #: src/tables/settings/TemplateTable.tsx:243 #~ msgid "Create new" #~ msgstr "Create new" -#: src/tables/settings/TemplateTable.tsx:276 +#: src/tables/settings/TemplateTable.tsx:249 +msgid "Add template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:271 msgid "Filter by enabled status" +msgstr "Nach aktiviertem Status filtern" + +#: src/tables/settings/TemplateTable.tsx:276 +msgid "Model Type" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:277 +msgid "Filter by target model type" msgstr "" #: src/tables/settings/UserTable.tsx:79 msgid "User with id {id} not found" -msgstr "" +msgstr "Benutzer mit der ID {id} nicht gefunden" #: src/tables/settings/UserTable.tsx:81 msgid "An error occurred while fetching user details" -msgstr "" +msgstr "Fehler beim Abrufen der Benutzer Details" #: src/tables/settings/UserTable.tsx:99 msgid "Is Active" @@ -6234,7 +6430,7 @@ msgstr "Ist Mitarbeiter" #: src/tables/settings/UserTable.tsx:105 msgid "Designates whether the user can log into the django admin site." -msgstr "" +msgstr "Bestimmt, ob der Benutzer sich auf der Django-Admin-Seite anmelden kann." #: src/tables/settings/UserTable.tsx:109 msgid "Is Superuser" @@ -6242,11 +6438,11 @@ msgstr "Ist Superuser" #: src/tables/settings/UserTable.tsx:110 msgid "Designates that this user has all permissions without explicitly assigning them." -msgstr "" +msgstr "Bestimmt, dass dieser Benutzer alle Berechtigungen hat, ohne sie explizit zuzuweisen." #: src/tables/settings/UserTable.tsx:120 msgid "You cannot edit the rights for the currently logged-in user." -msgstr "" +msgstr "Die Berechtigungen für den aktuell angemeldeten Benutzer können nicht bearbeitet werden." #: src/tables/settings/UserTable.tsx:151 msgid "No groups" @@ -6271,55 +6467,72 @@ msgstr "Benutzer hinzufügen" #: src/tables/settings/UserTable.tsx:248 msgid "Added user" -msgstr "" +msgstr "Benutzer hinzugefügt" #: src/tables/settings/UserTable.tsx:270 msgid "Edit user" msgstr "Benutzer bearbeiten" +#: src/tables/stock/LocationTypesTable.tsx:36 +#: src/tables/stock/LocationTypesTable.tsx:105 +msgid "Add Location Type" +msgstr "Lagerorttyp hinzufügen" + +#: src/tables/stock/LocationTypesTable.tsx:44 +msgid "Edit Location Type" +msgstr "Lagerorttyp bearbeiten" + +#: src/tables/stock/LocationTypesTable.tsx:52 +msgid "Delete Location Type" +msgstr "Lagerorttyp löschen" + +#: src/tables/stock/LocationTypesTable.tsx:69 +msgid "Icon" +msgstr "Symbol" + #: src/tables/stock/StockItemTable.tsx:90 msgid "This stock item is in production" -msgstr "" +msgstr "Dieser Lagerbestand ist in Produktion" #: src/tables/stock/StockItemTable.tsx:99 msgid "This stock item has been assigned to a sales order" -msgstr "" +msgstr "Dieser Lagerbestand wurde einem Verkaufsauftrag zugewiesen" #: src/tables/stock/StockItemTable.tsx:108 msgid "This stock item has been assigned to a customer" -msgstr "" +msgstr "Dieser Lagerbestand wurde einem Kunden zugewiesen" #: src/tables/stock/StockItemTable.tsx:117 msgid "This stock item is installed in another stock item" -msgstr "" +msgstr "Dieser Lagerartikel ist in einem anderen Lagerartikel verbaut" #: src/tables/stock/StockItemTable.tsx:126 msgid "This stock item has been consumed by a build order" -msgstr "" +msgstr "Lagerbestand wurde durch einen Bauauftrag verbraucht" #: src/tables/stock/StockItemTable.tsx:135 msgid "This stock item has expired" -msgstr "" +msgstr "Dieser Lagerartikel ist abgelaufen" #: src/tables/stock/StockItemTable.tsx:139 msgid "This stock item is stale" -msgstr "" +msgstr "Dieser Lagerartikel ist veraltet" #: src/tables/stock/StockItemTable.tsx:150 msgid "This stock item is fully allocated" -msgstr "" +msgstr "Dieser Lagerartikel ist vollständig zugewiesen" #: src/tables/stock/StockItemTable.tsx:157 msgid "This stock item is partially allocated" -msgstr "" +msgstr "Dieser Lagerartikel ist teilweise zugewiesen" #: src/tables/stock/StockItemTable.tsx:185 msgid "This stock item has been depleted" -msgstr "" +msgstr "Dieser Lagerartikel wurde verbraucht" #: src/tables/stock/StockItemTable.tsx:255 msgid "Show stock for active parts" -msgstr "" +msgstr "Bestand aktiver Teile anzeigen" #: src/tables/stock/StockItemTable.tsx:260 msgid "Filter by stock status" @@ -6327,24 +6540,24 @@ msgstr "Nach Lagerstatus filtern" #: src/tables/stock/StockItemTable.tsx:266 msgid "Show stock for assmebled parts" -msgstr "" +msgstr "Zeige Bestand für Baugruppen" #: src/tables/stock/StockItemTable.tsx:271 msgid "Show items which have been allocated" -msgstr "" +msgstr "Zugewiesene Artikel anzeigen" #: src/tables/stock/StockItemTable.tsx:276 msgid "Show items which are available" -msgstr "" +msgstr "Verfügbare Artikel anzeigen" #: src/tables/stock/StockItemTable.tsx:280 -#: src/tables/stock/StockLocationTable.tsx:37 +#: src/tables/stock/StockLocationTable.tsx:33 msgid "Include Sublocations" -msgstr "" +msgstr "Unter-Lagerorte einschließen" #: src/tables/stock/StockItemTable.tsx:281 msgid "Include stock in sublocations" -msgstr "" +msgstr "Bestand in Unter-Lagerorten einschließen" #: src/tables/stock/StockItemTable.tsx:285 msgid "Depleted" @@ -6352,15 +6565,15 @@ msgstr "Erschöpft" #: src/tables/stock/StockItemTable.tsx:286 msgid "Show depleted stock items" -msgstr "" +msgstr "Zeige aufgebrauchte Lagerbestände" #: src/tables/stock/StockItemTable.tsx:291 msgid "Show items which are in stock" -msgstr "" +msgstr "Zeige Teile welche im Lager sind" #: src/tables/stock/StockItemTable.tsx:296 msgid "Show items which are in production" -msgstr "" +msgstr "Zeige Teile welche in Produktion sind" #: src/tables/stock/StockItemTable.tsx:301 msgid "Include stock items for variant parts" @@ -6368,31 +6581,31 @@ msgstr "Lagerartikel für Teile-Varianten einschließen" #: src/tables/stock/StockItemTable.tsx:306 msgid "Show stock items which are installed in other items" -msgstr "" +msgstr "Zeige Bestand, welcher in anderen Teilen verbaut ist" #: src/tables/stock/StockItemTable.tsx:310 msgid "Sent to Customer" -msgstr "" +msgstr "Zum Kunden geschickt" #: src/tables/stock/StockItemTable.tsx:311 msgid "Show items which have been sent to a customer" -msgstr "" +msgstr "Zeige Bestand, welcher zum Kunden gesendet wurde" #: src/tables/stock/StockItemTable.tsx:315 msgid "Is Serialized" -msgstr "" +msgstr "Hat Seriennummer" #: src/tables/stock/StockItemTable.tsx:316 msgid "Show items which have a serial number" -msgstr "" +msgstr "Zeige Bestand mit Seriennummer" #: src/tables/stock/StockItemTable.tsx:323 msgid "Has Batch Code" -msgstr "" +msgstr "Hat Losnummer" #: src/tables/stock/StockItemTable.tsx:324 msgid "Show items which have a batch code" -msgstr "" +msgstr "Zeige Bestand mit Losnummer" #: src/tables/stock/StockItemTable.tsx:330 msgid "Show tracked items" @@ -6400,203 +6613,215 @@ msgstr "Verfolgbare Objekte anzeigen" #: src/tables/stock/StockItemTable.tsx:334 msgid "Has Purchase Price" -msgstr "" +msgstr "Hat Einkaufspreis" #: src/tables/stock/StockItemTable.tsx:335 msgid "Show items which have a purchase price" -msgstr "" +msgstr "Zeige Bestand, für welchen ein Einkaufspreis verfügbar ist" #: src/tables/stock/StockItemTable.tsx:343 msgid "External Location" -msgstr "" +msgstr "Externer Lagerort" #: src/tables/stock/StockItemTable.tsx:344 msgid "Show items in an external location" -msgstr "" +msgstr "Zeige Elemente an einem externen Lagerort" #: src/tables/stock/StockItemTable.tsx:416 msgid "Add a new stock item" -msgstr "" +msgstr "Lagerartikel hinzufügen" #: src/tables/stock/StockItemTable.tsx:425 msgid "Remove some quantity from a stock item" -msgstr "" +msgstr "Bestimmte Menge aus dem Lagerartikel entfernen" #: src/tables/stock/StockItemTable.tsx:447 msgid "Move Stock items to new locations" -msgstr "" +msgstr "Lagerartikel an neue Standorte verschieben" #: src/tables/stock/StockItemTable.tsx:454 msgid "Change stock status" -msgstr "" +msgstr "Bestandsstatus ändern" #: src/tables/stock/StockItemTable.tsx:456 msgid "Change the status of stock items" -msgstr "" +msgstr "Status der Lagerbestände ändern" #: src/tables/stock/StockItemTable.tsx:463 msgid "Merge stock" -msgstr "" +msgstr "Bestand zusammenführen" #: src/tables/stock/StockItemTable.tsx:465 msgid "Merge stock items" -msgstr "" +msgstr "Lagerartikel zusammenführen" #: src/tables/stock/StockItemTable.tsx:472 msgid "Order stock" -msgstr "" +msgstr "Bestand bestellen" #: src/tables/stock/StockItemTable.tsx:474 #: src/tables/stock/StockItemTable.tsx:480 msgid "Order new stock" -msgstr "" +msgstr "Neuen Bestand bestellen" #: src/tables/stock/StockItemTable.tsx:478 msgid "Assign to customer" -msgstr "" +msgstr "Kunden zuweisen" #: src/tables/stock/StockItemTable.tsx:487 msgid "Delete stock" -msgstr "" +msgstr "Bestand löschen" #: src/tables/stock/StockItemTable.tsx:489 msgid "Delete stock items" -msgstr "" +msgstr "Lagerartikel löschen" #: src/tables/stock/StockItemTestResultTable.tsx:125 msgid "Test" -msgstr "" +msgstr "Test" -#: src/tables/stock/StockItemTestResultTable.tsx:153 +#: src/tables/stock/StockItemTestResultTable.tsx:151 msgid "Test result for installed stock item" -msgstr "" +msgstr "Testergebnis für installierten Lagerbestand" -#: src/tables/stock/StockItemTestResultTable.tsx:164 +#: src/tables/stock/StockItemTestResultTable.tsx:162 msgid "Result" -msgstr "" +msgstr "Ergebnis" -#: src/tables/stock/StockItemTestResultTable.tsx:170 +#: src/tables/stock/StockItemTestResultTable.tsx:168 msgid "No Result" -msgstr "" +msgstr "Kein Ergebnis" -#: src/tables/stock/StockItemTestResultTable.tsx:186 +#: src/tables/stock/StockItemTestResultTable.tsx:184 msgid "Attachment" -msgstr "" +msgstr "Anhang" -#: src/tables/stock/StockItemTestResultTable.tsx:209 +#: src/tables/stock/StockItemTestResultTable.tsx:200 msgid "Test station" -msgstr "" +msgstr "Teststation" -#: src/tables/stock/StockItemTestResultTable.tsx:229 +#: src/tables/stock/StockItemTestResultTable.tsx:220 msgid "Finished" -msgstr "" +msgstr "Fertiggestellt" -#: src/tables/stock/StockItemTestResultTable.tsx:277 -#: src/tables/stock/StockItemTestResultTable.tsx:349 -#: src/tables/stock/StockItemTestResultTable.tsx:404 +#: src/tables/stock/StockItemTestResultTable.tsx:268 +#: src/tables/stock/StockItemTestResultTable.tsx:340 +#: src/tables/stock/StockItemTestResultTable.tsx:395 msgid "Add Test Result" -msgstr "" +msgstr "Testergebnis hinzufügen" + +#: src/tables/stock/StockItemTestResultTable.tsx:270 +msgid "Test result added" +msgstr "Testergebnis hinzugefügt" #: src/tables/stock/StockItemTestResultTable.tsx:279 -msgid "Test result added" -msgstr "" - -#: src/tables/stock/StockItemTestResultTable.tsx:288 -#: src/tables/stock/StockItemTestResultTable.tsx:359 +#: src/tables/stock/StockItemTestResultTable.tsx:350 msgid "Edit Test Result" -msgstr "" +msgstr "Testergebnis bearbeiten" -#: src/tables/stock/StockItemTestResultTable.tsx:290 +#: src/tables/stock/StockItemTestResultTable.tsx:281 msgid "Test result updated" -msgstr "" +msgstr "Testergebnis aktualisiert" -#: src/tables/stock/StockItemTestResultTable.tsx:296 -#: src/tables/stock/StockItemTestResultTable.tsx:368 +#: src/tables/stock/StockItemTestResultTable.tsx:287 +#: src/tables/stock/StockItemTestResultTable.tsx:359 msgid "Delete Test Result" -msgstr "" +msgstr "Testergebnis löschen" -#: src/tables/stock/StockItemTestResultTable.tsx:298 +#: src/tables/stock/StockItemTestResultTable.tsx:289 msgid "Test result deleted" -msgstr "" +msgstr "Testergebnis gelöscht" -#: src/tables/stock/StockItemTestResultTable.tsx:312 +#: src/tables/stock/StockItemTestResultTable.tsx:303 msgid "Test Passed" -msgstr "" +msgstr "Test bestanden" -#: src/tables/stock/StockItemTestResultTable.tsx:313 +#: src/tables/stock/StockItemTestResultTable.tsx:304 msgid "Test result has been recorded" -msgstr "" +msgstr "Testergebnis wurde erfasst" -#: src/tables/stock/StockItemTestResultTable.tsx:320 +#: src/tables/stock/StockItemTestResultTable.tsx:311 msgid "Failed to record test result" -msgstr "" +msgstr "Fehler beim Erfassen des Testergebnisses" -#: src/tables/stock/StockItemTestResultTable.tsx:337 +#: src/tables/stock/StockItemTestResultTable.tsx:328 msgid "Pass Test" -msgstr "" +msgstr "Test bestanden" + +#: src/tables/stock/StockItemTestResultTable.tsx:377 +msgid "Show results for required tests" +msgstr "Ergebnisse für erforderliche Tests anzeigen" + +#: src/tables/stock/StockItemTestResultTable.tsx:381 +msgid "Include Installed" +msgstr "Installierte Teile einschließen" + +#: src/tables/stock/StockItemTestResultTable.tsx:382 +msgid "Show results for installed stock items" +msgstr "Zeige Ergebnisse für installierte Lagerartikel" #: src/tables/stock/StockItemTestResultTable.tsx:386 -msgid "Show results for required tests" -msgstr "" - -#: src/tables/stock/StockItemTestResultTable.tsx:390 -msgid "Include Installed" -msgstr "" - -#: src/tables/stock/StockItemTestResultTable.tsx:391 -msgid "Show results for installed stock items" -msgstr "" - -#: src/tables/stock/StockItemTestResultTable.tsx:395 msgid "Passed" -msgstr "" +msgstr "Bestanden" -#: src/tables/stock/StockItemTestResultTable.tsx:396 +#: src/tables/stock/StockItemTestResultTable.tsx:387 msgid "Show only passed tests" -msgstr "" +msgstr "Nur bestandene Tests anzeigen" + +#: src/tables/stock/StockLocationTable.tsx:34 +msgid "Include sublocations in results" +msgstr "Unterorte in Ergebnissen einbeziehen" #: src/tables/stock/StockLocationTable.tsx:38 -msgid "Include sublocations in results" -msgstr "" - -#: src/tables/stock/StockLocationTable.tsx:42 msgid "structural" -msgstr "" +msgstr "strukturell" + +#: src/tables/stock/StockLocationTable.tsx:39 +msgid "Show structural locations" +msgstr "Strukturstandorte anzeigen" #: src/tables/stock/StockLocationTable.tsx:43 -msgid "Show structural locations" -msgstr "" - -#: src/tables/stock/StockLocationTable.tsx:47 msgid "external" -msgstr "" +msgstr "extern" + +#: src/tables/stock/StockLocationTable.tsx:44 +msgid "Show external locations" +msgstr "Externe Orte anzeigen" #: src/tables/stock/StockLocationTable.tsx:48 -msgid "Show external locations" -msgstr "" - -#: src/tables/stock/StockLocationTable.tsx:52 msgid "Has location type" +msgstr "Hat Standorttyp" + +#: src/tables/stock/StockLocationTable.tsx:85 +#: src/tables/stock/StockLocationTable.tsx:110 +msgid "Add Stock Location" +msgstr "Lagerort hinzufügen" + +#: src/tables/stock/StockTrackingTable.tsx:64 +msgid "Added" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:89 -#: src/tables/stock/StockLocationTable.tsx:118 -msgid "Add Stock Location" +#: src/tables/stock/StockTrackingTable.tsx:69 +msgid "Removed" +msgstr "" + +#: src/tables/stock/StockTrackingTable.tsx:198 +msgid "No user information" msgstr "" #: src/views/MobileAppView.tsx:22 msgid "Mobile viewport detected" -msgstr "" +msgstr "Mobiler Viewport erkannt" #: src/views/MobileAppView.tsx:25 msgid "Platform UI is optimized for Tablets and Desktops, you can use the official app for a mobile experience." -msgstr "" +msgstr "Die Plattform UI Oberfläche ist optimiert für Tablets und Desktops, Sie können die offizielle App für ein mobiles Erlebnis verwenden." #: src/views/MobileAppView.tsx:31 msgid "Read the docs" -msgstr "" +msgstr "Dokumentation lesen" #: src/views/MobileAppView.tsx:35 msgid "Ignore and continue to Desktop view" -msgstr "" +msgstr "Ignorieren und weiter zur Desktopansicht" diff --git a/src/frontend/src/locales/el/messages.po b/src/frontend/src/locales/el/messages.po index 6dfd19e1e5..3e792bf347 100644 --- a/src/frontend/src/locales/el/messages.po +++ b/src/frontend/src/locales/el/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: el\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-05-13 02:48\n" +"PO-Revision-Date: 2024-05-23 11:38\n" "Last-Translator: \n" "Language-Team: Greek\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -30,10 +30,67 @@ msgstr "" msgid "Title" msgstr "Τίτλος" +#: src/components/buttons/AdminButton.tsx:83 +msgid "Open in admin interface" +msgstr "" + #: src/components/buttons/CopyButton.tsx:18 msgid "Copy to clipboard" msgstr "" +#: src/components/buttons/PrintingActions.tsx:95 +msgid "Print Label" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:101 +msgid "Label printing completed successfully" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:106 +#: src/components/buttons/PrintingActions.tsx:143 +#: src/components/forms/ApiForm.tsx:504 +#: src/components/forms/fields/ApiFormField.tsx:295 +#: src/components/modals/LicenseModal.tsx:75 +#: src/components/nav/SearchDrawer.tsx:413 +#: src/components/widgets/MarkdownEditor.tsx:107 +#: src/components/widgets/MarkdownEditor.tsx:153 +#: src/pages/ErrorPage.tsx:12 +#: src/pages/ErrorPage.tsx:25 +#: src/pages/part/PartPricingPanel.tsx:71 +#: src/tables/InvenTreeTable.tsx:451 +#: src/tables/InvenTreeTable.tsx:531 +#: src/tables/stock/StockItemTestResultTable.tsx:310 +msgid "Error" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:107 +msgid "The label could not be generated" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:122 +msgid "Print Report" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:138 +msgid "Report printing completed successfully" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:144 +msgid "The report could not be generated" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:171 +msgid "Printing Actions" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:176 +msgid "Print Labels" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:182 +msgid "Print Reports" +msgstr "" + #: src/components/buttons/ScanButton.tsx:15 msgid "Scan QR code" msgstr "" @@ -64,15 +121,15 @@ msgstr "" msgid "No" msgstr "" -#: src/components/details/Details.tsx:302 +#: src/components/details/Details.tsx:303 msgid "No name defined" msgstr "" -#: src/components/details/Details.tsx:339 +#: src/components/details/Details.tsx:340 msgid "Copied" msgstr "Αντιγράφηκε" -#: src/components/details/Details.tsx:339 +#: src/components/details/Details.tsx:340 msgid "Copy" msgstr "Αντιγραφή" @@ -85,24 +142,23 @@ msgid "Remove the associated image from this item?" msgstr "Αφαίρεση της σχετικής εικόνας από αυτό το στοιχείο;" #: src/components/details/DetailsImage.tsx:71 -#: src/forms/StockForms.tsx:442 +#: src/forms/StockForms.tsx:483 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:448 +#: src/pages/stock/StockDetail.tsx:462 msgid "Remove" msgstr "Αφαίρεση" #: src/components/details/DetailsImage.tsx:71 -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:163 -#: src/components/items/ActionDropdown.tsx:222 -#: src/components/items/ActionDropdown.tsx:223 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 +#: src/components/items/ActionDropdown.tsx:229 +#: src/components/items/ActionDropdown.tsx:230 #: src/contexts/ThemeContext.tsx:43 #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:40 -#: src/tables/FilterSelectDrawer.tsx:218 -#: src/tables/InvenTreeTable.tsx:493 -#: src/tables/build/BuildOutputTable.tsx:223 -#: src/tables/plugin/PluginListTable.tsx:365 +#: src/tables/FilterSelectDrawer.tsx:207 +#: src/tables/InvenTreeTable.tsx:499 +#: src/tables/build/BuildOutputTable.tsx:225 msgid "Cancel" msgstr "Ακύρωση" @@ -119,7 +175,7 @@ msgid "Clear" msgstr "Εκκαθάριση" #: src/components/details/DetailsImage.tsx:227 -#: src/components/forms/ApiForm.tsx:554 +#: src/components/forms/ApiForm.tsx:571 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:56 msgid "Submit" @@ -150,9 +206,10 @@ msgid "Part is not active" msgstr "Το εξάρτημα είναι ανενεργό" #: src/components/details/PartIcons.tsx:34 -#: src/pages/company/CompanyDetail.tsx:308 -#: src/pages/company/SupplierPartDetail.tsx:304 -#: src/pages/part/PartDetail.tsx:684 +#: src/components/render/Plugin.tsx:17 +#: src/pages/company/CompanyDetail.tsx:310 +#: src/pages/company/SupplierPartDetail.tsx:305 +#: src/pages/part/PartDetail.tsx:685 msgid "Inactive" msgstr "Ανενεργό" @@ -196,10 +253,10 @@ msgid "Code" msgstr "Κωδικός" #: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:44 -msgid "Failed to parse error response from server." -msgstr "" +#~ msgid "Failed to parse error response from server." +#~ msgstr "Failed to parse error response from server." -#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:82 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:81 msgid "Preview not available, click \"Reload Preview\"." msgstr "Η προεπισκόπηση δεν είναι διαθέσιμη, πατήστε \"Επαναφόρτωση προεπισκόπησης\"." @@ -207,98 +264,99 @@ msgstr "Η προεπισκόπηση δεν είναι διαθέσιμη, πα msgid "PDF Preview" msgstr "Προεπισκόπηση PDF" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:113 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:104 msgid "Error loading template" msgstr "Σφάλμα φόρτωσης προτύπου" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:125 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:116 msgid "Error saving template" msgstr "Σφάλμα αποθήκευσης προτύπου" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 -msgid "Save & Reload preview?" -msgstr "Αποθήκευση & Επαναφόρτωση προεπισκόπησης;" +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:146 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:270 +msgid "Save & Reload Preview" +msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:156 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 msgid "Are you sure you want to Save & Reload the preview?" msgstr "Είστε σίγουρος ότι θέλετε να αποθηκεύσετε και να επαναφορτώσετε την προεπισκόπηση;" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 +#~ msgid "Save & Reload preview?" +#~ msgstr "Save & Reload preview?" + +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:153 msgid "To render the preview the current template needs to be replaced on the server with your modifications which may break the label if it is under active use. Do you want to proceed?" msgstr "Για να εμφανίσετε την προεπισκόπηση το τρέχον πρότυπο πρέπει να αντικατασταθεί στο διακομιστή με τις τροποποιήσεις σας, οι οποίες μπορεί να αλλοιώσουν την ετικέτα αν είναι σε χρήση. Θέλετε να προχωρήσετε;" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:162 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:157 msgid "Save & Reload" msgstr "Αποθήκευση και Επαναφόρτωση" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:191 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:189 msgid "Preview updated" msgstr "Προεπισκόπηση ενημερώθηκε" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:192 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:190 msgid "The preview has been updated successfully." msgstr "Η προεπισκόπηση ενημερώθηκε με επιτυχία." -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:255 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:262 msgid "Reload preview" msgstr "Επαναφόρτωση προεπισκόπησης" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:256 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:263 msgid "Use the currently stored template from the server" msgstr "Χρήση του αποθηκευμένου προτύπου από το διακομιστή" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:263 -msgid "Save & Reload preview" -msgstr "Αποθήκευση & Επαναφόρτωση προεπισκόπησης" +#~ msgid "Save & Reload preview" +#~ msgstr "Save & Reload preview" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:264 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:271 msgid "Save the current template and reload the preview" msgstr "Αποθήκευση του τρέχοντος προτύπου και επαναφόρτωση της προεπισκόπησης" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:322 -#: src/tables/part/PartThumbTable.tsx:203 -msgid "Select" -msgstr "Επιλέξτε" +#~ msgid "to preview" +#~ msgstr "to preview" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:322 -msgid "to preview" -msgstr "προς προεπισκόπηση" +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:329 +msgid "Select instance to preview" +msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:366 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:373 msgid "Error rendering template" msgstr "Σφάλμα αποτύπωσης προτύπου" -#: src/components/forms/ApiForm.tsx:143 +#: src/components/forms/ApiForm.tsx:148 #: src/functions/forms.tsx:259 msgid "Form Error" msgstr "Σφάλμα Φόρμας" -#: src/components/forms/ApiForm.tsx:411 +#: src/components/forms/ApiForm.tsx:428 #: src/components/widgets/MarkdownEditor.tsx:145 msgid "Success" msgstr "Επιτυχία" #: src/components/forms/ApiForm.tsx:487 -msgid "Form Errors Exist" -msgstr "Υπάρχουν Σφάλματα Φόρμας" +#~ msgid "Form Errors Exist" +#~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:592 -#: src/tables/plugin/PluginListTable.tsx:445 +#: src/components/forms/ApiForm.tsx:609 +#: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "Ενημέρωση" -#: src/components/forms/ApiForm.tsx:612 -#: src/components/items/ActionDropdown.tsx:203 +#: src/components/forms/ApiForm.tsx:629 +#: src/components/items/ActionDropdown.tsx:210 #: src/functions/forms.tsx:299 #: src/hooks/UseForm.tsx:122 #: src/pages/Index/Scan.tsx:343 #: src/pages/Notifications.tsx:123 -#: src/tables/InvenTreeTable.tsx:492 +#: src/tables/InvenTreeTable.tsx:498 #: src/tables/RowActions.tsx:71 -#: src/tables/plugin/PluginListTable.tsx:477 -#: src/tables/settings/TemplateTable.tsx:105 -#: src/tables/settings/TemplateTable.tsx:154 -#: src/tables/settings/TemplateTable.tsx:236 +#: src/tables/plugin/PluginListTable.tsx:420 msgid "Delete" msgstr "Διαγραφή" @@ -468,18 +526,19 @@ msgstr "" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 -#: src/pages/part/CategoryDetail.tsx:77 -#: src/pages/part/PartDetail.tsx:125 -#: src/pages/stock/LocationDetail.tsx:83 +#: src/pages/part/CategoryDetail.tsx:78 +#: src/pages/part/PartDetail.tsx:126 +#: src/pages/stock/LocationDetail.tsx:85 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 #: src/tables/machine/MachineTypeTable.tsx:216 #: src/tables/machine/MachineTypeTable.tsx:319 #: src/tables/plugin/PluginErrorTable.tsx:33 -#: src/tables/plugin/PluginListTable.tsx:169 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:27 +#: src/tables/plugin/PluginListTable.tsx:126 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:32 #: src/tables/settings/GroupTable.tsx:103 #: src/tables/settings/PendingTasksTable.tsx:26 +#: src/tables/stock/LocationTypesTable.tsx:60 msgid "Name" msgstr "" @@ -520,35 +579,20 @@ msgstr "" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/ApiFormField.tsx:276 -#: src/components/modals/LicenseModal.tsx:75 -#: src/components/nav/SearchDrawer.tsx:413 -#: src/components/widgets/MarkdownEditor.tsx:107 -#: src/components/widgets/MarkdownEditor.tsx:153 -#: src/pages/ErrorPage.tsx:12 -#: src/pages/ErrorPage.tsx:25 -#: src/pages/part/PartPricingPanel.tsx:71 -#: src/tables/InvenTreeTable.tsx:445 -#: src/tables/InvenTreeTable.tsx:525 -#: src/tables/plugin/PluginListTable.tsx:402 -#: src/tables/stock/StockItemTestResultTable.tsx:319 -msgid "Error" -msgstr "" - -#: src/components/forms/fields/RelatedModelField.tsx:305 +#: src/components/forms/fields/RelatedModelField.tsx:315 #: src/pages/Index/Settings/UserSettings.tsx:64 #: src/tables/Search.tsx:23 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:306 +#: src/components/forms/fields/RelatedModelField.tsx:316 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:120 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:308 +#: src/components/forms/fields/RelatedModelField.tsx:318 msgid "No results found" msgstr "" @@ -569,54 +613,51 @@ msgstr "" msgid "Thumbnail" msgstr "" -#: src/components/items/ActionDropdown.tsx:112 -#: src/pages/build/BuildDetail.tsx:354 +#: src/components/items/ActionDropdown.tsx:119 +#: src/pages/build/BuildDetail.tsx:360 msgid "Barcode Actions" msgstr "" -#: src/components/items/ActionDropdown.tsx:129 +#: src/components/items/ActionDropdown.tsx:136 msgid "View" msgstr "" -#: src/components/items/ActionDropdown.tsx:130 +#: src/components/items/ActionDropdown.tsx:137 msgid "View barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:146 +#: src/components/items/ActionDropdown.tsx:153 msgid "Link Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:147 +#: src/components/items/ActionDropdown.tsx:154 msgid "Link custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:163 -#: src/forms/PurchaseOrderForms.tsx:375 +#: src/components/items/ActionDropdown.tsx:170 +#: src/forms/PurchaseOrderForms.tsx:389 msgid "Unlink Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:164 +#: src/components/items/ActionDropdown.tsx:171 msgid "Unlink custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:182 +#: src/components/items/ActionDropdown.tsx:189 #: src/tables/RowActions.tsx:51 -#: src/tables/settings/TemplateTable.tsx:87 -#: src/tables/settings/TemplateTable.tsx:150 -#: src/tables/settings/TemplateTable.tsx:287 msgid "Edit" msgstr "" -#: src/components/items/ActionDropdown.tsx:204 +#: src/components/items/ActionDropdown.tsx:211 msgid "Delete item" msgstr "" -#: src/components/items/ActionDropdown.tsx:241 +#: src/components/items/ActionDropdown.tsx:248 #: src/tables/RowActions.tsx:31 msgid "Duplicate" msgstr "" -#: src/components/items/ActionDropdown.tsx:242 +#: src/components/items/ActionDropdown.tsx:249 msgid "Duplicate item" msgstr "" @@ -625,7 +666,7 @@ msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:437 +#: src/tables/InvenTreeTable.tsx:443 msgid "Unknown error" msgstr "" @@ -785,27 +826,27 @@ msgstr "" #: src/components/modals/QrCodeModal.tsx:154 #: src/defaults/menuItems.tsx:21 -#: src/pages/Index/Scan.tsx:747 +#: src/pages/Index/Scan.tsx:746 msgid "Scanning" msgstr "" #: src/components/modals/QrCodeModal.tsx:154 -#: src/pages/Index/Scan.tsx:747 +#: src/pages/Index/Scan.tsx:746 msgid "Not scanning" msgstr "" #: src/components/modals/QrCodeModal.tsx:159 -#: src/pages/Index/Scan.tsx:753 +#: src/pages/Index/Scan.tsx:752 msgid "Select Camera" msgstr "" #: src/components/modals/QrCodeModal.tsx:169 -#: src/pages/Index/Scan.tsx:738 +#: src/pages/Index/Scan.tsx:737 msgid "Start scanning" msgstr "" #: src/components/modals/QrCodeModal.tsx:176 -#: src/pages/Index/Scan.tsx:730 +#: src/pages/Index/Scan.tsx:729 msgid "Stop scanning" msgstr "" @@ -891,8 +932,8 @@ msgid "Email settings not configured" msgstr "" #: src/components/modals/ServerInfoModal.tsx:121 -#: src/tables/plugin/PluginListTable.tsx:187 -#: src/tables/plugin/PluginListTable.tsx:319 +#: src/tables/plugin/PluginListTable.tsx:144 +#: src/tables/plugin/PluginListTable.tsx:294 msgid "Version" msgstr "" @@ -926,13 +967,13 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:293 +#: src/pages/Index/Settings/SystemSettings.tsx:294 msgid "System Settings" msgstr "" #: src/components/nav/MainMenu.tsx:67 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:172 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 msgid "Admin Center" msgstr "" @@ -975,7 +1016,7 @@ msgid "Pages" msgstr "" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:133 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:153 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "" @@ -1013,9 +1054,9 @@ msgid "Mark as read" msgstr "" #: src/components/nav/PartCategoryTree.tsx:158 -#: src/components/render/ModelType.tsx:60 +#: src/components/render/ModelType.tsx:64 #: src/pages/Index/Settings/SystemSettings.tsx:162 -#: src/pages/part/CategoryDetail.tsx:248 +#: src/pages/part/CategoryDetail.tsx:249 msgid "Part Categories" msgstr "" @@ -1052,142 +1093,147 @@ msgid "No results available for search query" msgstr "" #: src/components/nav/StockLocationTree.tsx:93 -#: src/components/render/ModelType.tsx:76 -#: src/pages/stock/LocationDetail.tsx:175 +#: src/components/render/ModelType.tsx:82 +#: src/pages/stock/LocationDetail.tsx:185 msgid "Stock Locations" msgstr "" -#: src/components/render/Instance.tsx:137 +#: src/components/render/Instance.tsx:166 msgid "Unknown model: {model}" msgstr "" -#: src/components/render/ModelType.tsx:21 -#: src/forms/BuildForms.tsx:184 -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49 +#: src/components/render/ModelType.tsx:22 +#: src/forms/BuildForms.tsx:201 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:83 #: src/pages/part/PartDetail.tsx:828 #: src/tables/part/RelatedPartTable.tsx:45 +#: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" msgstr "" -#: src/components/render/ModelType.tsx:22 +#: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 #: src/pages/Index/Settings/SystemSettings.tsx:167 -#: src/pages/part/CategoryDetail.tsx:109 -#: src/pages/part/CategoryDetail.tsx:234 -#: src/pages/part/CategoryDetail.tsx:264 -#: src/pages/part/PartDetail.tsx:638 +#: src/pages/part/CategoryDetail.tsx:110 +#: src/pages/part/CategoryDetail.tsx:235 +#: src/pages/part/CategoryDetail.tsx:265 +#: src/pages/part/PartDetail.tsx:639 msgid "Parts" msgstr "" -#: src/components/render/ModelType.tsx:29 +#: src/components/render/ModelType.tsx:31 msgid "Part Parameter Template" msgstr "" -#: src/components/render/ModelType.tsx:30 +#: src/components/render/ModelType.tsx:32 msgid "Part Parameter Templates" msgstr "" -#: src/components/render/ModelType.tsx:36 +#: src/components/render/ModelType.tsx:38 msgid "Part Test Template" msgstr "" -#: src/components/render/ModelType.tsx:37 +#: src/components/render/ModelType.tsx:39 msgid "Part Test Templates" msgstr "" -#: src/components/render/ModelType.tsx:43 -#: src/pages/company/SupplierPartDetail.tsx:189 -#: src/pages/company/SupplierPartDetail.tsx:317 -#: src/pages/stock/StockDetail.tsx:159 +#: src/components/render/ModelType.tsx:45 +#: src/pages/company/SupplierPartDetail.tsx:190 +#: src/pages/company/SupplierPartDetail.tsx:318 +#: src/pages/stock/StockDetail.tsx:162 #: src/tables/purchasing/SupplierPartTable.tsx:68 msgid "Supplier Part" msgstr "" -#: src/components/render/ModelType.tsx:44 +#: src/components/render/ModelType.tsx:46 msgid "Supplier Parts" msgstr "" -#: src/components/render/ModelType.tsx:51 -#: src/pages/company/ManufacturerPartDetail.tsx:124 +#: src/components/render/ModelType.tsx:54 +#: src/pages/company/ManufacturerPartDetail.tsx:125 msgid "Manufacturer Part" msgstr "" -#: src/components/render/ModelType.tsx:52 +#: src/components/render/ModelType.tsx:55 msgid "Manufacturer Parts" msgstr "" -#: src/components/render/ModelType.tsx:59 -#: src/pages/part/CategoryDetail.tsx:287 +#: src/components/render/ModelType.tsx:63 +#: src/pages/part/CategoryDetail.tsx:288 msgid "Part Category" msgstr "" -#: src/components/render/ModelType.tsx:67 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67 -#: src/pages/stock/StockDetail.tsx:535 +#: src/components/render/ModelType.tsx:72 +#: src/pages/stock/StockDetail.tsx:548 +#: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" msgstr "" -#: src/components/render/ModelType.tsx:68 -#: src/pages/company/CompanyDetail.tsx:197 -#: src/pages/stock/LocationDetail.tsx:116 -#: src/pages/stock/LocationDetail.tsx:161 +#: src/components/render/ModelType.tsx:73 +#: src/pages/company/CompanyDetail.tsx:199 +#: src/pages/stock/LocationDetail.tsx:118 +#: src/pages/stock/LocationDetail.tsx:171 #: src/pages/stock/LocationDetail.tsx:365 msgid "Stock Items" msgstr "" -#: src/components/render/ModelType.tsx:75 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:154 +#: src/components/render/ModelType.tsx:81 msgid "Stock Location" msgstr "" -#: src/components/render/ModelType.tsx:83 +#: src/components/render/ModelType.tsx:90 +msgid "Stock Location Type" +msgstr "" + +#: src/components/render/ModelType.tsx:91 +msgid "Stock Location Types" +msgstr "" + +#: src/components/render/ModelType.tsx:95 msgid "Stock History" msgstr "" -#: src/components/render/ModelType.tsx:84 +#: src/components/render/ModelType.tsx:96 msgid "Stock Histories" msgstr "" -#: src/components/render/ModelType.tsx:88 +#: src/components/render/ModelType.tsx:100 #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:43 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:126 msgid "Build" msgstr "" -#: src/components/render/ModelType.tsx:89 +#: src/components/render/ModelType.tsx:101 msgid "Builds" msgstr "" -#: src/components/render/ModelType.tsx:96 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:76 +#: src/components/render/ModelType.tsx:109 msgid "Build Line" msgstr "" -#: src/components/render/ModelType.tsx:97 +#: src/components/render/ModelType.tsx:110 msgid "Build Lines" msgstr "" -#: src/components/render/ModelType.tsx:104 -#: src/pages/company/CompanyDetail.tsx:321 +#: src/components/render/ModelType.tsx:117 +#: src/pages/company/CompanyDetail.tsx:323 msgid "Company" msgstr "" -#: src/components/render/ModelType.tsx:105 +#: src/components/render/ModelType.tsx:118 msgid "Companies" msgstr "" -#: src/components/render/ModelType.tsx:112 +#: src/components/render/ModelType.tsx:126 #: src/tables/TableHoverCard.tsx:58 #: src/tables/build/BuildOrderTable.tsx:131 #: src/tables/purchasing/PurchaseOrderTable.tsx:64 @@ -1196,170 +1242,199 @@ msgstr "" msgid "Project Code" msgstr "" -#: src/components/render/ModelType.tsx:113 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:97 +#: src/components/render/ModelType.tsx:127 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:105 msgid "Project Codes" msgstr "" -#: src/components/render/ModelType.tsx:119 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99 +#: src/components/render/ModelType.tsx:133 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:355 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:362 +#: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" msgstr "" -#: src/components/render/ModelType.tsx:120 -#: src/pages/Index/Settings/SystemSettings.tsx:242 -#: src/pages/company/CompanyDetail.tsx:190 -#: src/pages/company/SupplierPartDetail.tsx:223 -#: src/pages/part/PartDetail.tsx:571 +#: src/components/render/ModelType.tsx:134 +#: src/pages/Index/Settings/SystemSettings.tsx:243 +#: src/pages/company/CompanyDetail.tsx:192 +#: src/pages/company/SupplierPartDetail.tsx:224 +#: src/pages/part/PartDetail.tsx:572 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" -#: src/components/render/ModelType.tsx:127 +#: src/components/render/ModelType.tsx:142 msgid "Purchase Order Line" msgstr "" -#: src/components/render/ModelType.tsx:128 +#: src/components/render/ModelType.tsx:143 msgid "Purchase Order Lines" msgstr "" -#: src/components/render/ModelType.tsx:132 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:108 +#: src/components/render/ModelType.tsx:147 #: src/pages/build/BuildDetail.tsx:131 -#: src/pages/sales/SalesOrderDetail.tsx:340 -#: src/pages/stock/StockDetail.tsx:207 +#: src/pages/sales/SalesOrderDetail.tsx:347 +#: src/pages/stock/StockDetail.tsx:210 +#: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" msgstr "" -#: src/components/render/ModelType.tsx:133 -#: src/pages/Index/Settings/SystemSettings.tsx:257 -#: src/pages/company/CompanyDetail.tsx:210 -#: src/pages/part/PartDetail.tsx:577 +#: src/components/render/ModelType.tsx:148 +#: src/pages/Index/Settings/SystemSettings.tsx:258 +#: src/pages/company/CompanyDetail.tsx:212 +#: src/pages/part/PartDetail.tsx:578 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" -#: src/components/render/ModelType.tsx:140 +#: src/components/render/ModelType.tsx:156 msgid "Sales Order Shipment" msgstr "" -#: src/components/render/ModelType.tsx:141 +#: src/components/render/ModelType.tsx:157 msgid "Sales Order Shipments" msgstr "" -#: src/components/render/ModelType.tsx:147 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:117 -#: src/pages/sales/ReturnOrderDetail.tsx:318 +#: src/components/render/ModelType.tsx:163 +#: src/pages/sales/ReturnOrderDetail.tsx:325 +#: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "" -#: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:272 -#: src/pages/company/CompanyDetail.tsx:217 +#: src/components/render/ModelType.tsx:164 +#: src/pages/Index/Settings/SystemSettings.tsx:273 +#: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" msgstr "" -#: src/components/render/ModelType.tsx:155 +#: src/components/render/ModelType.tsx:172 #: src/tables/company/AddressTable.tsx:47 msgid "Address" msgstr "" -#: src/components/render/ModelType.tsx:156 -#: src/pages/company/CompanyDetail.tsx:247 +#: src/components/render/ModelType.tsx:173 +#: src/pages/company/CompanyDetail.tsx:249 msgid "Addresses" msgstr "" -#: src/components/render/ModelType.tsx:162 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:189 -#: src/pages/sales/ReturnOrderDetail.tsx:157 -#: src/pages/sales/SalesOrderDetail.tsx:161 +#: src/components/render/ModelType.tsx:179 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:191 +#: src/pages/sales/ReturnOrderDetail.tsx:159 +#: src/pages/sales/SalesOrderDetail.tsx:163 msgid "Contact" msgstr "" -#: src/components/render/ModelType.tsx:163 -#: src/pages/company/CompanyDetail.tsx:241 +#: src/components/render/ModelType.tsx:180 +#: src/pages/company/CompanyDetail.tsx:243 msgid "Contacts" msgstr "" -#: src/components/render/ModelType.tsx:169 +#: src/components/render/ModelType.tsx:186 msgid "Owner" msgstr "" -#: src/components/render/ModelType.tsx:170 +#: src/components/render/ModelType.tsx:187 msgid "Owners" msgstr "" -#: src/components/render/ModelType.tsx:176 +#: src/components/render/ModelType.tsx:193 +#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "" -#: src/components/render/ModelType.tsx:177 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:73 +#: src/components/render/ModelType.tsx:194 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:81 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "" -#: src/components/render/Order.tsx:87 +#: src/components/render/ModelType.tsx:200 +msgid "Label Template" +msgstr "" + +#: src/components/render/ModelType.tsx:201 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:135 +msgid "Label Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:207 +msgid "Report Template" +msgstr "" + +#: src/components/render/ModelType.tsx:208 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:141 +msgid "Report Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:214 +msgid "Plugin Configuration" +msgstr "" + +#: src/components/render/ModelType.tsx:215 +msgid "Plugin Configurations" +msgstr "" + +#: src/components/render/Order.tsx:104 msgid "Shipment" msgstr "" -#: src/components/render/Part.tsx:12 +#: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:198 -#: src/pages/part/PartDetail.tsx:491 +#: src/pages/Index/Settings/SystemSettings.tsx:199 +#: src/pages/part/PartDetail.tsx:492 #: src/pages/stock/LocationDetail.tsx:344 -#: src/pages/stock/StockDetail.tsx:344 +#: src/pages/stock/StockDetail.tsx:352 #: src/tables/stock/StockItemTable.tsx:57 msgid "Stock" msgstr "" -#: src/components/render/Stock.tsx:26 -#: src/pages/stock/StockDetail.tsx:142 -#: src/pages/stock/StockDetail.tsx:501 +#: src/components/render/Stock.tsx:52 +#: src/pages/stock/StockDetail.tsx:145 +#: src/pages/stock/StockDetail.tsx:514 msgid "Serial Number" msgstr "" -#: src/components/render/Stock.tsx:28 -#: src/forms/BuildForms.tsx:189 +#: src/components/render/Stock.tsx:54 +#: src/forms/BuildForms.tsx:206 #: src/pages/part/pricing/BomPricingPanel.tsx:144 -#: src/pages/part/pricing/PriceBreakPanel.tsx:96 -#: src/pages/stock/StockDetail.tsx:137 -#: src/pages/stock/StockDetail.tsx:507 +#: src/pages/part/pricing/PriceBreakPanel.tsx:94 +#: src/pages/stock/StockDetail.tsx:140 +#: src/pages/stock/StockDetail.tsx:520 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:73 +#: src/tables/stock/StockTrackingTable.tsx:59 msgid "Quantity" msgstr "" -#: src/components/settings/SettingItem.tsx:46 -#: src/components/settings/SettingItem.tsx:99 -msgid "Setting updated" -msgstr "" - #: src/components/settings/SettingItem.tsx:47 #: src/components/settings/SettingItem.tsx:100 -msgid "{0} updated successfully" -msgstr "" +#~ msgid "{0} updated successfully" +#~ msgstr "{0} updated successfully" -#: src/components/settings/SettingItem.tsx:55 -msgid "Error editing setting" -msgstr "" - -#: src/components/settings/SettingItem.tsx:92 +#: src/components/settings/SettingList.tsx:67 msgid "Edit Setting" msgstr "" -#: src/components/settings/SettingList.tsx:63 -msgid "No settings specified" +#: src/components/settings/SettingList.tsx:78 +#: src/components/settings/SettingList.tsx:108 +msgid "Setting {0} updated successfully" msgstr "" -#: src/components/tables/ColumnRenderers.tsx:134 -#~ msgid "Shipment Date" -#~ msgstr "Shipment Date" +#: src/components/settings/SettingList.tsx:107 +msgid "Setting updated" +msgstr "" + +#: src/components/settings/SettingList.tsx:117 +msgid "Error editing setting" +msgstr "" + +#: src/components/settings/SettingList.tsx:158 +msgid "No settings specified" +msgstr "" #: src/components/tables/FilterGroup.tsx:29 #~ msgid "Add table filter" @@ -1731,10 +1806,6 @@ msgstr "" #~ msgid "This is a test filter" #~ msgstr "This is a test filter" -#: src/components/tables/stock/StockLocationTable.tsx:91 -#~ msgid "Location Type" -#~ msgstr "Location Type" - #: src/components/tables/stock/StockLocationTable.tsx:145 #~ msgid "Stock location updated" #~ msgstr "Stock location updated" @@ -2072,7 +2143,7 @@ msgstr "" #~ msgstr "Local Server" #: src/defaults/links.tsx:11 -#: src/pages/company/CompanyDetail.tsx:90 +#: src/pages/company/CompanyDetail.tsx:92 msgid "Website" msgstr "" @@ -2087,10 +2158,10 @@ msgstr "" #: src/defaults/links.tsx:31 #: src/defaults/menuItems.tsx:48 #: src/pages/company/ManufacturerDetail.tsx:9 -#: src/pages/company/ManufacturerPartDetail.tsx:231 +#: src/pages/company/ManufacturerPartDetail.tsx:235 #: src/pages/company/SupplierDetail.tsx:9 -#: src/pages/company/SupplierPartDetail.tsx:291 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:358 +#: src/pages/company/SupplierPartDetail.tsx:292 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:365 #: src/pages/purchasing/PurchasingIndex.tsx:52 msgid "Purchasing" msgstr "" @@ -2098,15 +2169,15 @@ msgstr "" #: src/defaults/links.tsx:32 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:323 +#: src/pages/sales/ReturnOrderDetail.tsx:330 #: src/pages/sales/SalesIndex.tsx:45 -#: src/pages/sales/SalesOrderDetail.tsx:345 +#: src/pages/sales/SalesOrderDetail.tsx:352 msgid "Sales" msgstr "" #: src/defaults/links.tsx:35 #: src/defaults/menuItems.tsx:71 -#: src/pages/Index/Playground.tsx:239 +#: src/pages/Index/Playground.tsx:238 msgid "Playground" msgstr "" @@ -2240,87 +2311,83 @@ msgstr "" #~ msgstr "Combusken battles with the intensely hot flames it spews" #: src/forms/AttachmentForms.tsx:57 -msgid "Add File" -msgstr "" +#~ msgid "Add File" +#~ msgstr "Add File" #: src/forms/AttachmentForms.tsx:57 -msgid "Add Link" -msgstr "" +#~ msgid "Add Link" +#~ msgstr "Add Link" #: src/forms/AttachmentForms.tsx:58 -msgid "File added" -msgstr "" +#~ msgid "File added" +#~ msgstr "File added" #: src/forms/AttachmentForms.tsx:58 -msgid "Link added" -msgstr "" +#~ msgid "Link added" +#~ msgstr "Link added" #: src/forms/AttachmentForms.tsx:99 -msgid "Edit File" -msgstr "" +#~ msgid "Edit File" +#~ msgstr "Edit File" #: src/forms/AttachmentForms.tsx:99 -msgid "Edit Link" -msgstr "" +#~ msgid "Edit Link" +#~ msgstr "Edit Link" #: src/forms/AttachmentForms.tsx:100 -msgid "File updated" -msgstr "" +#~ msgid "File updated" +#~ msgstr "File updated" #: src/forms/AttachmentForms.tsx:100 -msgid "Link updated" -msgstr "" - -#: src/forms/AttachmentForms.tsx:124 -msgid "Delete Attachment" -msgstr "" +#~ msgid "Link updated" +#~ msgstr "Link updated" #: src/forms/AttachmentForms.tsx:125 -msgid "Attachment deleted" -msgstr "" +#~ msgid "Attachment deleted" +#~ msgstr "Attachment deleted" #: src/forms/AttachmentForms.tsx:128 -msgid "Are you sure you want to delete this attachment?" -msgstr "" +#~ msgid "Are you sure you want to delete this attachment?" +#~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BuildForms.tsx:129 +#: src/forms/BuildForms.tsx:146 msgid "Next serial number" msgstr "" -#: src/forms/BuildForms.tsx:133 +#: src/forms/BuildForms.tsx:150 msgid "Latest serial number" msgstr "" -#: src/forms/BuildForms.tsx:205 +#: src/forms/BuildForms.tsx:222 msgid "Remove output" msgstr "" -#: src/forms/BuildForms.tsx:287 +#: src/forms/BuildForms.tsx:304 msgid "Complete Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:291 +#: src/forms/BuildForms.tsx:308 msgid "Build outputs have been completed" msgstr "" -#: src/forms/BuildForms.tsx:360 +#: src/forms/BuildForms.tsx:377 msgid "Scrap Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:364 +#: src/forms/BuildForms.tsx:381 msgid "Build outputs have been scrapped" msgstr "" -#: src/forms/BuildForms.tsx:396 -#: src/forms/BuildForms.tsx:420 +#: src/forms/BuildForms.tsx:413 +#: src/forms/BuildForms.tsx:437 msgid "Cancel Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:397 +#: src/forms/BuildForms.tsx:414 msgid "Selected build outputs will be deleted" msgstr "" -#: src/forms/BuildForms.tsx:424 +#: src/forms/BuildForms.tsx:441 msgid "Build outputs have been cancelled" msgstr "" @@ -2344,76 +2411,76 @@ msgstr "" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PurchaseOrderForms.tsx:265 +#: src/forms/PurchaseOrderForms.tsx:279 msgid "Choose Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:273 +#: src/forms/PurchaseOrderForms.tsx:287 msgid "Item Destination selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:282 +#: src/forms/PurchaseOrderForms.tsx:296 msgid "Part category default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:292 +#: src/forms/PurchaseOrderForms.tsx:306 msgid "Received stock location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:297 +#: src/forms/PurchaseOrderForms.tsx:311 msgid "Default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:308 -#: src/forms/PurchaseOrderForms.tsx:384 +#: src/forms/PurchaseOrderForms.tsx:322 +#: src/forms/PurchaseOrderForms.tsx:398 msgid "Scan Barcode" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:352 +#: src/forms/PurchaseOrderForms.tsx:366 msgid "Set Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:359 +#: src/forms/PurchaseOrderForms.tsx:373 msgid "Assign Batch Code{0}" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:368 +#: src/forms/PurchaseOrderForms.tsx:382 msgid "Change Status" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:393 -#: src/forms/StockForms.tsx:351 +#: src/forms/PurchaseOrderForms.tsx:407 +#: src/forms/StockForms.tsx:392 msgid "Remove item from list" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:418 -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:58 -#: src/pages/stock/StockDetail.tsx:167 -#: src/tables/ColumnRenderers.tsx:42 +#: src/forms/PurchaseOrderForms.tsx:432 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/pages/stock/StockDetail.tsx:170 +#: src/tables/ColumnRenderers.tsx:34 +#: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:434 +#: src/forms/PurchaseOrderForms.tsx:448 msgid "Store at default location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:447 +#: src/forms/PurchaseOrderForms.tsx:461 msgid "Store at line item destination" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:457 +#: src/forms/PurchaseOrderForms.tsx:471 msgid "Store with already received stock" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:613 +#: src/forms/PurchaseOrderForms.tsx:627 msgid "Receive Line Items" msgstr "" @@ -2421,119 +2488,118 @@ msgstr "" #~ msgid "Receive line items" #~ msgstr "Receive line items" -#: src/forms/StockForms.tsx:69 +#: src/forms/StockForms.tsx:101 msgid "Add given quantity as packs instead of individual items" msgstr "" -#: src/forms/StockForms.tsx:80 -msgid "Enter initial quantity for this stock item" -msgstr "" - -#: src/forms/StockForms.tsx:85 -msgid "Serial Numbers" -msgstr "" - -#: src/forms/StockForms.tsx:86 -msgid "Enter serial numbers for new stock (or leave blank)" -msgstr "" - #: src/forms/StockForms.tsx:110 #~ msgid "Create Stock Item" #~ msgstr "Create Stock Item" -#: src/forms/StockForms.tsx:135 -#: src/pages/stock/StockDetail.tsx:367 -#: src/tables/stock/StockItemTable.tsx:382 -#: src/tables/stock/StockItemTable.tsx:499 -msgid "Add Stock Item" +#: src/forms/StockForms.tsx:114 +msgid "Enter initial quantity for this stock item" +msgstr "" + +#: src/forms/StockForms.tsx:121 +msgid "Serial Numbers" +msgstr "" + +#: src/forms/StockForms.tsx:122 +msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" #: src/forms/StockForms.tsx:158 #~ msgid "Stock item updated" #~ msgstr "Stock item updated" -#: src/forms/StockForms.tsx:298 +#: src/forms/StockForms.tsx:176 +#: src/pages/stock/StockDetail.tsx:375 +#: src/tables/stock/StockItemTable.tsx:382 +#: src/tables/stock/StockItemTable.tsx:499 +msgid "Add Stock Item" +msgstr "" + +#: src/forms/StockForms.tsx:339 msgid "Loading..." msgstr "" -#: src/forms/StockForms.tsx:340 +#: src/forms/StockForms.tsx:381 msgid "Move to default location" msgstr "" -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/part/PartDetail.tsx:205 -#: src/pages/part/PartDetail.tsx:654 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/pages/part/PartDetail.tsx:206 +#: src/pages/part/PartDetail.tsx:655 #: src/tables/stock/StockItemTable.tsx:290 msgid "In Stock" msgstr "" -#: src/forms/StockForms.tsx:408 +#: src/forms/StockForms.tsx:449 msgid "Move" msgstr "" -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/tables/RowActions.tsx:147 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/tables/RowActions.tsx:149 msgid "Actions" msgstr "" -#: src/forms/StockForms.tsx:471 -#: src/pages/stock/StockDetail.tsx:440 -#: src/tables/settings/TemplateTable.tsx:266 -#: src/tables/stock/StockItemTestResultTable.tsx:348 +#: src/forms/StockForms.tsx:512 +#: src/pages/stock/StockDetail.tsx:454 +#: src/tables/stock/StockItemTestResultTable.tsx:339 msgid "Add" msgstr "" -#: src/forms/StockForms.tsx:499 +#: src/forms/StockForms.tsx:540 #: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:430 +#: src/pages/stock/StockDetail.tsx:444 msgid "Count" msgstr "" -#: src/forms/StockForms.tsx:744 +#: src/forms/StockForms.tsx:785 msgid "Add Stock" msgstr "" -#: src/forms/StockForms.tsx:753 +#: src/forms/StockForms.tsx:794 msgid "Remove Stock" msgstr "" -#: src/forms/StockForms.tsx:762 -#: src/pages/part/PartDetail.tsx:781 +#: src/forms/StockForms.tsx:803 +#: src/pages/part/PartDetail.tsx:782 msgid "Transfer Stock" msgstr "" -#: src/forms/StockForms.tsx:771 -#: src/pages/part/PartDetail.tsx:770 +#: src/forms/StockForms.tsx:812 +#: src/pages/part/PartDetail.tsx:771 msgid "Count Stock" msgstr "" -#: src/forms/StockForms.tsx:780 +#: src/forms/StockForms.tsx:821 msgid "Change Stock Status" msgstr "" -#: src/forms/StockForms.tsx:789 +#: src/forms/StockForms.tsx:830 msgid "Merge Stock" msgstr "" -#: src/forms/StockForms.tsx:808 +#: src/forms/StockForms.tsx:849 msgid "Delete Stock Items" msgstr "" -#: src/forms/StockForms.tsx:815 +#: src/forms/StockForms.tsx:856 msgid "Parent stock location" msgstr "" @@ -2728,7 +2794,7 @@ msgstr "" msgid "Welcome to your Dashboard{0}" msgstr "" -#: src/pages/Index/Playground.tsx:244 +#: src/pages/Index/Playground.tsx:243 msgid "This page is a showcase for the possibilities of Platform UI." msgstr "" @@ -3138,49 +3204,53 @@ msgstr "" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:79 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:87 msgid "Background Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:85 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:93 msgid "Error Reports" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:91 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:99 msgid "Currencies" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:109 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:117 msgid "Custom Units" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:115 -#: src/pages/part/CategoryDetail.tsx:254 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:123 +#: src/pages/part/CategoryDetail.tsx:255 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:121 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 +#~ msgid "Templates" +#~ msgstr "Templates" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:129 msgid "Category Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 -msgid "Templates" +#: src/pages/Index/Settings/AdminCenter/Index.tsx:147 +msgid "Location types" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:139 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:159 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:149 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:169 msgid "Quick Actions" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:154 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 msgid "Add a new user" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:173 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:193 msgid "Advanced Options" msgstr "" @@ -3225,26 +3295,32 @@ msgstr "" msgid "Plugin Settings" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:25 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:53 +msgid "Background Worker Not Running" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:54 +msgid "The background task manager service is not running. Contact your system administrator." +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:60 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:76 msgid "Pending Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:33 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:64 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:84 msgid "Scheduled Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:41 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:68 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:92 msgid "Failed Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:139 -msgid "Labels" -msgstr "" - #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:39 -msgid "Label" -msgstr "" +#~ msgid "Label" +#~ msgstr "Label" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67 #~ msgid "Stock item" @@ -3255,13 +3331,13 @@ msgstr "" #~ msgstr "Build line" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:88 -msgid "Reports" -msgstr "" +#~ msgid "Reports" +#~ msgstr "Reports" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:89 #: src/pages/build/BuildDetail.tsx:373 -msgid "Report" -msgstr "" +#~ msgid "Report" +#~ msgstr "Report" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99 #~ msgid "Purchase order" @@ -3275,14 +3351,9 @@ msgstr "" #~ msgid "Return order" #~ msgstr "Return order" -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135 -#: src/pages/part/PartDetail.tsx:518 -msgid "Bill of Materials" -msgstr "" - #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:145 -msgid "Tests" -msgstr "" +#~ msgid "Tests" +#~ msgstr "Tests" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:154 #~ msgid "Stock location" @@ -3321,26 +3392,30 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" +#: src/pages/Index/Settings/SystemSettings.tsx:139 +msgid "Labels" +msgstr "" + #: src/pages/Index/Settings/SystemSettings.tsx:145 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:223 -#: src/pages/part/PartDetail.tsx:589 +#: src/pages/Index/Settings/SystemSettings.tsx:224 +#: src/pages/part/PartDetail.tsx:590 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:228 -#: src/pages/build/BuildDetail.tsx:426 +#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:525 -#: src/pages/sales/SalesOrderDetail.tsx:263 +#: src/pages/part/PartDetail.tsx:526 +#: src/pages/sales/SalesOrderDetail.tsx:265 msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:296 +#: src/pages/Index/Settings/SystemSettings.tsx:297 msgid "Switch to User Setting" msgstr "" @@ -3397,44 +3472,47 @@ msgstr "" #~ msgstr "Build Status" #: src/pages/build/BuildDetail.tsx:89 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:128 -#: src/pages/sales/ReturnOrderDetail.tsx:95 -#: src/pages/sales/SalesOrderDetail.tsx:99 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:130 +#: src/pages/sales/ReturnOrderDetail.tsx:97 +#: src/pages/sales/SalesOrderDetail.tsx:101 #: src/tables/build/BuildOrderTable.tsx:113 #: src/tables/machine/MachineListTable.tsx:326 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderTable.tsx:46 #: src/tables/sales/SalesOrderTable.tsx:52 #: src/tables/stock/StockItemTable.tsx:259 +#: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "" #: src/pages/build/BuildDetail.tsx:95 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:101 -#: src/pages/sales/ReturnOrderDetail.tsx:69 -#: src/pages/sales/SalesOrderDetail.tsx:73 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:103 +#: src/pages/sales/ReturnOrderDetail.tsx:71 +#: src/pages/sales/SalesOrderDetail.tsx:75 +#: src/tables/ColumnRenderers.tsx:106 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" msgstr "" #: src/pages/build/BuildDetail.tsx:100 -#: src/pages/company/CompanyDetail.tsx:84 -#: src/pages/company/ManufacturerPartDetail.tsx:75 -#: src/pages/company/SupplierPartDetail.tsx:82 -#: src/pages/part/CategoryDetail.tsx:91 -#: src/pages/part/PartDetail.tsx:132 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:122 -#: src/pages/sales/ReturnOrderDetail.tsx:89 -#: src/pages/sales/SalesOrderDetail.tsx:93 -#: src/pages/stock/LocationDetail.tsx:97 -#: src/tables/ColumnRenderers.tsx:95 +#: src/pages/company/CompanyDetail.tsx:86 +#: src/pages/company/ManufacturerPartDetail.tsx:76 +#: src/pages/company/SupplierPartDetail.tsx:83 +#: src/pages/part/CategoryDetail.tsx:92 +#: src/pages/part/PartDetail.tsx:133 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:124 +#: src/pages/sales/ReturnOrderDetail.tsx:91 +#: src/pages/sales/SalesOrderDetail.tsx:95 +#: src/pages/stock/LocationDetail.tsx:99 +#: src/tables/ColumnRenderers.tsx:66 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 #: src/tables/machine/MachineTypeTable.tsx:323 #: src/tables/part/RelatedPartTable.tsx:64 -#: src/tables/plugin/PluginListTable.tsx:172 -#: src/tables/plugin/PluginListTable.tsx:302 +#: src/tables/plugin/PluginListTable.tsx:129 +#: src/tables/plugin/PluginListTable.tsx:276 +#: src/tables/stock/LocationTypesTable.tsx:65 msgid "Description" msgstr "" @@ -3447,7 +3525,7 @@ msgid "Build Quantity" msgstr "" #: src/pages/build/BuildDetail.tsx:126 -#: src/pages/build/BuildDetail.tsx:249 +#: src/pages/build/BuildDetail.tsx:256 msgid "Completed Outputs" msgstr "" @@ -3457,10 +3535,10 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:150 -#: src/pages/part/PartDetail.tsx:320 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:214 -#: src/pages/sales/ReturnOrderDetail.tsx:182 -#: src/pages/sales/SalesOrderDetail.tsx:186 +#: src/pages/part/PartDetail.tsx:321 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:184 +#: src/pages/sales/SalesOrderDetail.tsx:188 #: src/tables/build/BuildOrderTable.tsx:148 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 @@ -3474,10 +3552,10 @@ msgid "Created" msgstr "" #: src/pages/build/BuildDetail.tsx:164 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:207 -#: src/pages/sales/ReturnOrderDetail.tsx:175 -#: src/pages/sales/SalesOrderDetail.tsx:179 -#: src/tables/ColumnRenderers.tsx:227 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:209 +#: src/pages/sales/ReturnOrderDetail.tsx:177 +#: src/pages/sales/SalesOrderDetail.tsx:181 +#: src/tables/ColumnRenderers.tsx:191 msgid "Target Date" msgstr "" @@ -3513,6 +3591,11 @@ msgstr "" #~ msgid "Unlink custom barcode from part" #~ msgstr "Unlink custom barcode from part" +#: src/pages/build/BuildDetail.tsx:197 +#: src/pages/stock/StockDetail.tsx:526 +msgid "Batch Code" +msgstr "" + #: src/pages/build/BuildDetail.tsx:202 #~ msgid "Build Order updated" #~ msgstr "Build Order updated" @@ -3521,86 +3604,87 @@ msgstr "" #~ msgid "Edit build order" #~ msgstr "Edit build order" -#: src/pages/build/BuildDetail.tsx:222 -msgid "Build Details" -msgstr "" - #: src/pages/build/BuildDetail.tsx:226 #~ msgid "Duplicate build order" #~ msgstr "Duplicate build order" -#: src/pages/build/BuildDetail.tsx:228 -#: src/tables/build/BuildLineTable.tsx:225 -msgid "Allocate Stock" +#: src/pages/build/BuildDetail.tsx:229 +msgid "Build Details" msgstr "" #: src/pages/build/BuildDetail.tsx:231 #~ msgid "Delete build order" #~ msgstr "Delete build order" -#: src/pages/build/BuildDetail.tsx:242 +#: src/pages/build/BuildDetail.tsx:235 +#: src/tables/build/BuildLineTable.tsx:225 +msgid "Allocate Stock" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:249 msgid "Incomplete Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:264 +#: src/pages/build/BuildDetail.tsx:271 msgid "Consumed Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:278 +#: src/pages/build/BuildDetail.tsx:285 msgid "Child Build Orders" msgstr "" -#: src/pages/build/BuildDetail.tsx:288 -#: src/pages/company/CompanyDetail.tsx:253 -#: src/pages/company/ManufacturerPartDetail.tsx:171 -#: src/pages/part/PartDetail.tsx:611 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:276 -#: src/pages/sales/ReturnOrderDetail.tsx:225 -#: src/pages/sales/SalesOrderDetail.tsx:273 -#: src/pages/stock/StockDetail.tsx:317 +#: src/pages/build/BuildDetail.tsx:295 +#: src/pages/company/CompanyDetail.tsx:255 +#: src/pages/company/ManufacturerPartDetail.tsx:172 +#: src/pages/part/PartDetail.tsx:612 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:278 +#: src/pages/sales/ReturnOrderDetail.tsx:227 +#: src/pages/sales/SalesOrderDetail.tsx:275 +#: src/pages/stock/StockDetail.tsx:325 msgid "Attachments" msgstr "" -#: src/pages/build/BuildDetail.tsx:300 -#: src/pages/company/CompanyDetail.tsx:265 -#: src/pages/part/PartDetail.tsx:623 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:288 -#: src/pages/sales/ReturnOrderDetail.tsx:237 -#: src/pages/sales/SalesOrderDetail.tsx:285 -#: src/pages/stock/StockDetail.tsx:329 +#: src/pages/build/BuildDetail.tsx:307 +#: src/pages/company/CompanyDetail.tsx:267 +#: src/pages/part/PartDetail.tsx:624 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:290 +#: src/pages/sales/ReturnOrderDetail.tsx:239 +#: src/pages/sales/SalesOrderDetail.tsx:287 +#: src/pages/stock/StockDetail.tsx:337 +#: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "" -#: src/pages/build/BuildDetail.tsx:318 +#: src/pages/build/BuildDetail.tsx:325 msgid "Edit Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:327 +#: src/pages/build/BuildDetail.tsx:334 msgid "Cancel Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:339 +#: src/pages/build/BuildDetail.tsx:346 #: src/tables/build/BuildOrderTable.tsx:167 #: src/tables/build/BuildOrderTable.tsx:182 msgid "Add Build Order" msgstr "" #: src/pages/build/BuildDetail.tsx:368 -msgid "Reporting Actions" -msgstr "" +#~ msgid "Reporting Actions" +#~ msgstr "Reporting Actions" #: src/pages/build/BuildDetail.tsx:374 -msgid "Print build report" -msgstr "" +#~ msgid "Print build report" +#~ msgstr "Print build report" -#: src/pages/build/BuildDetail.tsx:380 +#: src/pages/build/BuildDetail.tsx:378 msgid "Build Order Actions" msgstr "" -#: src/pages/build/BuildDetail.tsx:388 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:326 -#: src/pages/sales/ReturnOrderDetail.tsx:300 -#: src/pages/sales/SalesOrderDetail.tsx:310 +#: src/pages/build/BuildDetail.tsx:386 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:333 +#: src/pages/sales/ReturnOrderDetail.tsx:307 +#: src/pages/sales/SalesOrderDetail.tsx:317 msgid "Cancel order" msgstr "" @@ -3612,56 +3696,58 @@ msgstr "" #~ msgid "New Build Order" #~ msgstr "New Build Order" -#: src/pages/company/CompanyDetail.tsx:98 +#: src/pages/company/CompanyDetail.tsx:100 msgid "Phone Number" msgstr "" -#: src/pages/company/CompanyDetail.tsx:105 +#: src/pages/company/CompanyDetail.tsx:107 msgid "Email Address" msgstr "" -#: src/pages/company/CompanyDetail.tsx:115 +#: src/pages/company/CompanyDetail.tsx:117 msgid "Default Currency" msgstr "" -#: src/pages/company/CompanyDetail.tsx:120 +#: src/pages/company/CompanyDetail.tsx:122 #: src/pages/company/SupplierDetail.tsx:8 -#: src/pages/company/SupplierPartDetail.tsx:106 -#: src/pages/company/SupplierPartDetail.tsx:192 -#: src/pages/company/SupplierPartDetail.tsx:295 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:116 +#: src/pages/company/SupplierPartDetail.tsx:107 +#: src/pages/company/SupplierPartDetail.tsx:193 +#: src/pages/company/SupplierPartDetail.tsx:296 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:118 #: src/tables/company/CompanyTable.tsx:100 #: src/tables/purchasing/PurchaseOrderTable.tsx:88 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:36 msgid "Supplier" msgstr "" -#: src/pages/company/CompanyDetail.tsx:126 +#: src/pages/company/CompanyDetail.tsx:128 #: src/pages/company/ManufacturerDetail.tsx:8 -#: src/pages/company/ManufacturerPartDetail.tsx:93 -#: src/pages/company/ManufacturerPartDetail.tsx:235 -#: src/pages/company/SupplierPartDetail.tsx:121 +#: src/pages/company/ManufacturerPartDetail.tsx:94 +#: src/pages/company/ManufacturerPartDetail.tsx:239 +#: src/pages/company/SupplierPartDetail.tsx:122 #: src/tables/company/CompanyTable.tsx:105 msgid "Manufacturer" msgstr "" -#: src/pages/company/CompanyDetail.tsx:132 +#: src/pages/company/CompanyDetail.tsx:134 #: src/pages/company/CustomerDetail.tsx:8 #: src/pages/part/pricing/SaleHistoryPanel.tsx:39 -#: src/pages/sales/ReturnOrderDetail.tsx:83 -#: src/pages/sales/SalesOrderDetail.tsx:87 -#: src/pages/stock/StockDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:85 +#: src/pages/sales/SalesOrderDetail.tsx:89 +#: src/pages/stock/StockDetail.tsx:219 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:107 +#: src/tables/stock/StockTrackingTable.tsx:140 msgid "Customer" msgstr "" -#: src/pages/company/CompanyDetail.tsx:166 +#: src/pages/company/CompanyDetail.tsx:168 +#: src/tables/stock/StockTrackingTable.tsx:183 msgid "Details" msgstr "" -#: src/pages/company/CompanyDetail.tsx:172 +#: src/pages/company/CompanyDetail.tsx:174 msgid "Manufactured Parts" msgstr "" @@ -3669,7 +3755,7 @@ msgstr "" #~ msgid "Edit company" #~ msgstr "Edit company" -#: src/pages/company/CompanyDetail.tsx:181 +#: src/pages/company/CompanyDetail.tsx:183 msgid "Supplied Parts" msgstr "" @@ -3677,289 +3763,289 @@ msgstr "" #~ msgid "Delete company" #~ msgstr "Delete company" -#: src/pages/company/CompanyDetail.tsx:226 +#: src/pages/company/CompanyDetail.tsx:228 msgid "Assigned Stock" msgstr "" -#: src/pages/company/CompanyDetail.tsx:281 +#: src/pages/company/CompanyDetail.tsx:283 #: src/tables/company/CompanyTable.tsx:86 msgid "Edit Company" msgstr "" -#: src/pages/company/CompanyDetail.tsx:290 +#: src/pages/company/CompanyDetail.tsx:292 msgid "Company Actions" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:68 -#: src/pages/company/SupplierPartDetail.tsx:75 +#: src/pages/company/ManufacturerPartDetail.tsx:69 +#: src/pages/company/SupplierPartDetail.tsx:76 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:72 msgid "Internal Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:83 -#: src/pages/company/SupplierPartDetail.tsx:89 +#: src/pages/company/ManufacturerPartDetail.tsx:84 +#: src/pages/company/SupplierPartDetail.tsx:90 msgid "External Link" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:101 -#: src/pages/company/SupplierPartDetail.tsx:130 -#: src/tables/purchasing/ManufacturerPartTable.tsx:53 +#: src/pages/company/ManufacturerPartDetail.tsx:102 +#: src/pages/company/SupplierPartDetail.tsx:131 +#: src/tables/purchasing/ManufacturerPartTable.tsx:56 msgid "Manufacturer Part Number" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:130 +#: src/pages/company/ManufacturerPartDetail.tsx:131 msgid "Manufacturer Details" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:139 +#: src/pages/company/ManufacturerPartDetail.tsx:140 msgid "Manufacturer Part Details" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:145 -#: src/pages/part/PartDetail.tsx:485 +#: src/pages/company/ManufacturerPartDetail.tsx:146 +#: src/pages/part/PartDetail.tsx:486 msgid "Parameters" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:157 -#: src/pages/part/PartDetail.tsx:558 +#: src/pages/company/ManufacturerPartDetail.tsx:158 +#: src/pages/part/PartDetail.tsx:559 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:189 -#: src/tables/purchasing/ManufacturerPartTable.tsx:97 +#: src/pages/company/ManufacturerPartDetail.tsx:190 +#: src/tables/purchasing/ManufacturerPartTable.tsx:84 msgid "Edit Manufacturer Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:196 -#: src/tables/purchasing/ManufacturerPartTable.tsx:63 -#: src/tables/purchasing/ManufacturerPartTable.tsx:78 +#: src/pages/company/ManufacturerPartDetail.tsx:197 +#: src/tables/purchasing/ManufacturerPartTable.tsx:72 +#: src/tables/purchasing/ManufacturerPartTable.tsx:103 msgid "Add Manufacturer Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:209 +#: src/pages/company/ManufacturerPartDetail.tsx:213 msgid "Manufacturer Part Actions" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:247 +#: src/pages/company/ManufacturerPartDetail.tsx:251 msgid "ManufacturerPart" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:96 -#: src/tables/ColumnRenderers.tsx:146 +#: src/pages/company/SupplierPartDetail.tsx:97 +#: src/tables/ColumnRenderers.tsx:117 msgid "Note" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:114 +#: src/pages/company/SupplierPartDetail.tsx:115 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:57 msgid "SKU" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:142 -#: src/pages/company/SupplierPartDetail.tsx:193 -#: src/pages/stock/StockDetail.tsx:230 +#: src/pages/company/SupplierPartDetail.tsx:143 +#: src/pages/company/SupplierPartDetail.tsx:194 +#: src/pages/stock/StockDetail.tsx:233 msgid "Packaging" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:149 +#: src/pages/company/SupplierPartDetail.tsx:150 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:107 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143 #: src/tables/purchasing/SupplierPartTable.tsx:131 msgid "Pack Quantity" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:160 +#: src/pages/company/SupplierPartDetail.tsx:161 msgid "Supplier Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:167 +#: src/pages/company/SupplierPartDetail.tsx:168 msgid "Availability Updated" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:194 +#: src/pages/company/SupplierPartDetail.tsx:195 msgid "Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:203 +#: src/pages/company/SupplierPartDetail.tsx:204 msgid "Supplier Part Details" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:209 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:263 +#: src/pages/company/SupplierPartDetail.tsx:210 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:265 msgid "Received Stock" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:233 +#: src/pages/company/SupplierPartDetail.tsx:234 #: src/pages/part/PartPricingPanel.tsx:115 #: src/pages/part/pricing/PricingOverviewPanel.tsx:130 msgid "Supplier Pricing" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:248 +#: src/pages/company/SupplierPartDetail.tsx:249 msgid "Supplier Part Actions" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:272 +#: src/pages/company/SupplierPartDetail.tsx:273 #: src/tables/purchasing/SupplierPartTable.tsx:210 msgid "Edit Supplier Part" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:279 +#: src/pages/company/SupplierPartDetail.tsx:280 #: src/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "" -#: src/pages/part/CategoryDetail.tsx:83 -#: src/pages/stock/LocationDetail.tsx:89 +#: src/pages/part/CategoryDetail.tsx:84 +#: src/pages/stock/LocationDetail.tsx:91 #: src/tables/settings/ErrorTable.tsx:34 msgid "Path" msgstr "" -#: src/pages/part/CategoryDetail.tsx:99 +#: src/pages/part/CategoryDetail.tsx:100 msgid "Parent Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:116 +#: src/pages/part/CategoryDetail.tsx:117 msgid "Subcategories" msgstr "" -#: src/pages/part/CategoryDetail.tsx:123 -#: src/pages/stock/LocationDetail.tsx:129 -#: src/tables/part/PartCategoryTable.tsx:69 +#: src/pages/part/CategoryDetail.tsx:124 +#: src/pages/stock/LocationDetail.tsx:131 +#: src/tables/part/PartCategoryTable.tsx:65 msgid "Structural" msgstr "" -#: src/pages/part/CategoryDetail.tsx:129 +#: src/pages/part/CategoryDetail.tsx:130 msgid "Parent default location" msgstr "" -#: src/pages/part/CategoryDetail.tsx:136 +#: src/pages/part/CategoryDetail.tsx:137 msgid "Default location" msgstr "" -#: src/pages/part/CategoryDetail.tsx:147 +#: src/pages/part/CategoryDetail.tsx:148 msgid "Top level part category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:157 -#: src/pages/part/CategoryDetail.tsx:211 -#: src/tables/part/PartCategoryTable.tsx:96 +#: src/pages/part/CategoryDetail.tsx:158 +#: src/pages/part/CategoryDetail.tsx:212 +#: src/tables/part/PartCategoryTable.tsx:88 msgid "Edit Part Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:170 -#: src/pages/stock/LocationDetail.tsx:213 +#: src/pages/part/CategoryDetail.tsx:171 +#: src/pages/stock/LocationDetail.tsx:223 msgid "Delete items" msgstr "" -#: src/pages/part/CategoryDetail.tsx:178 -#: src/pages/part/CategoryDetail.tsx:216 +#: src/pages/part/CategoryDetail.tsx:179 +#: src/pages/part/CategoryDetail.tsx:217 msgid "Delete Part Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:181 +#: src/pages/part/CategoryDetail.tsx:182 msgid "Parts Action" msgstr "" -#: src/pages/part/CategoryDetail.tsx:182 +#: src/pages/part/CategoryDetail.tsx:183 msgid "Action for parts in this category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:187 +#: src/pages/part/CategoryDetail.tsx:188 msgid "Child Categories Action" msgstr "" -#: src/pages/part/CategoryDetail.tsx:188 +#: src/pages/part/CategoryDetail.tsx:189 msgid "Action for child categories in this category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:206 +#: src/pages/part/CategoryDetail.tsx:207 msgid "Category Actions" msgstr "" -#: src/pages/part/CategoryDetail.tsx:228 +#: src/pages/part/CategoryDetail.tsx:229 msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:138 +#: src/pages/part/PartDetail.tsx:139 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:145 +#: src/pages/part/PartDetail.tsx:146 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "" -#: src/pages/part/PartDetail.tsx:151 +#: src/pages/part/PartDetail.tsx:152 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:158 +#: src/pages/part/PartDetail.tsx:159 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:165 +#: src/pages/part/PartDetail.tsx:166 msgid "IPN" msgstr "" -#: src/pages/part/PartDetail.tsx:172 +#: src/pages/part/PartDetail.tsx:173 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:179 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39 +#: src/pages/part/PartDetail.tsx:180 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "" -#: src/pages/part/PartDetail.tsx:186 +#: src/pages/part/PartDetail.tsx:187 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:193 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:180 -#: src/pages/sales/ReturnOrderDetail.tsx:148 -#: src/pages/sales/SalesOrderDetail.tsx:152 +#: src/pages/part/PartDetail.tsx:194 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:182 +#: src/pages/sales/ReturnOrderDetail.tsx:150 +#: src/pages/sales/SalesOrderDetail.tsx:154 msgid "Link" msgstr "" -#: src/pages/part/PartDetail.tsx:211 -#: src/tables/bom/BomTable.tsx:269 +#: src/pages/part/PartDetail.tsx:212 +#: src/tables/bom/BomTable.tsx:271 #: src/tables/build/BuildLineTable.tsx:121 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:218 +#: src/pages/part/PartDetail.tsx:219 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:224 -#: src/tables/bom/BomTable.tsx:210 +#: src/pages/part/PartDetail.tsx:225 +#: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:233 +#: src/pages/part/PartDetail.tsx:234 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:241 +#: src/pages/part/PartDetail.tsx:242 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:248 -#: src/tables/bom/BomTable.tsx:234 +#: src/pages/part/PartDetail.tsx:249 +#: src/tables/bom/BomTable.tsx:236 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:255 -#: src/tables/bom/BomTable.tsx:218 +#: src/pages/part/PartDetail.tsx:256 +#: src/tables/bom/BomTable.tsx:220 #: src/tables/part/PartTable.tsx:82 msgid "Building" msgstr "" -#: src/pages/part/PartDetail.tsx:264 +#: src/pages/part/PartDetail.tsx:265 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 @@ -3968,45 +4054,47 @@ msgstr "" #: src/tables/machine/MachineListTable.tsx:585 #: src/tables/part/PartTable.tsx:168 #: src/tables/part/PartVariantTable.tsx:15 -#: src/tables/plugin/PluginListTable.tsx:190 -#: src/tables/plugin/PluginListTable.tsx:638 +#: src/tables/plugin/PluginListTable.tsx:149 +#: src/tables/plugin/PluginListTable.tsx:271 +#: src/tables/plugin/PluginListTable.tsx:563 #: src/tables/purchasing/SupplierPartTable.tsx:98 #: src/tables/purchasing/SupplierPartTable.tsx:187 #: src/tables/stock/StockItemTable.tsx:254 msgid "Active" msgstr "" -#: src/pages/part/PartDetail.tsx:269 +#: src/pages/part/PartDetail.tsx:270 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:274 -#: src/tables/bom/BomTable.tsx:264 +#: src/pages/part/PartDetail.tsx:275 +#: src/tables/bom/BomTable.tsx:266 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:279 +#: src/pages/part/PartDetail.tsx:280 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:284 -#: src/tables/bom/BomTable.tsx:259 +#: src/pages/part/PartDetail.tsx:285 +#: src/tables/bom/BomTable.tsx:261 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:289 +#: src/pages/part/PartDetail.tsx:290 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:294 +#: src/pages/part/PartDetail.tsx:295 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:299 +#: src/pages/part/PartDetail.tsx:300 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:307 +#: src/pages/part/PartDetail.tsx:308 +#: src/tables/ColumnRenderers.tsx:199 msgid "Creation Date" msgstr "" @@ -4014,7 +4102,7 @@ msgstr "" #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:312 +#: src/pages/part/PartDetail.tsx:313 msgid "Created By" msgstr "" @@ -4022,68 +4110,72 @@ msgstr "" #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:327 -msgid "Default Supplier" -msgstr "" - #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:338 +#: src/pages/part/PartDetail.tsx:328 +msgid "Default Supplier" +msgstr "" + +#: src/pages/part/PartDetail.tsx:339 #: src/tables/part/PartTable.tsx:151 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:373 -#: src/pages/stock/StockDetail.tsx:127 +#: src/pages/part/PartDetail.tsx:374 +#: src/pages/stock/StockDetail.tsx:130 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:408 +#: src/pages/part/PartDetail.tsx:409 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:479 +#: src/pages/part/PartDetail.tsx:480 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:505 +#: src/pages/part/PartDetail.tsx:506 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:512 -#: src/pages/stock/StockDetail.tsx:275 +#: src/pages/part/PartDetail.tsx:513 +#: src/pages/stock/StockDetail.tsx:283 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:532 +#: src/pages/part/PartDetail.tsx:519 +msgid "Bill of Materials" +msgstr "" + +#: src/pages/part/PartDetail.tsx:533 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:539 +#: src/pages/part/PartDetail.tsx:540 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:545 +#: src/pages/part/PartDetail.tsx:546 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:584 +#: src/pages/part/PartDetail.tsx:585 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:594 +#: src/pages/part/PartDetail.tsx:595 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:605 +#: src/pages/part/PartDetail.tsx:606 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:660 -#: src/pages/stock/StockDetail.tsx:148 +#: src/pages/part/PartDetail.tsx:661 +#: src/pages/stock/StockDetail.tsx:151 #: src/tables/build/BuildLineTable.tsx:36 #: src/tables/part/PartTable.tsx:107 #: src/tables/stock/StockItemTable.tsx:166 @@ -4091,49 +4183,51 @@ msgstr "" msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:666 +#: src/pages/part/PartDetail.tsx:667 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:672 -#: src/tables/bom/BomTable.tsx:274 +#: src/pages/part/PartDetail.tsx:673 +#: src/tables/bom/BomTable.tsx:276 #: src/tables/part/PartTable.tsx:76 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:678 -#: src/pages/stock/StockDetail.tsx:496 +#: src/pages/part/PartDetail.tsx:679 +#: src/pages/stock/StockDetail.tsx:509 #: src/tables/stock/StockItemTable.tsx:295 msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:697 +#: src/pages/part/PartDetail.tsx:698 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:704 +#: src/pages/part/PartDetail.tsx:705 #: src/tables/part/PartTable.tsx:266 #: src/tables/part/PartTable.tsx:279 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:716 +#: src/pages/part/PartDetail.tsx:717 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:725 +#: src/pages/part/PartDetail.tsx:726 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:763 +#: src/pages/part/PartDetail.tsx:764 +#: src/pages/stock/LocationDetail.tsx:301 +#: src/tables/stock/StockItemTable.tsx:409 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:771 +#: src/pages/part/PartDetail.tsx:772 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:782 +#: src/pages/part/PartDetail.tsx:783 msgid "Transfer part stock" msgstr "" @@ -4199,15 +4293,15 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151 #: src/pages/part/pricing/SupplierPricingPanel.tsx:83 -#: src/tables/bom/BomTable.tsx:149 +#: src/tables/bom/BomTable.tsx:151 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 msgid "Unit Price" msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:173 -#: src/tables/ColumnRenderers.tsx:278 -#: src/tables/bom/BomTable.tsx:158 +#: src/tables/ColumnRenderers.tsx:241 +#: src/tables/bom/BomTable.tsx:160 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 #: src/tables/sales/ReturnOrderTable.tsx:104 #: src/tables/sales/SalesOrderTable.tsx:134 @@ -4229,24 +4323,24 @@ msgid "Bar Chart" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:63 -#: src/pages/part/pricing/PriceBreakPanel.tsx:117 +#: src/pages/part/pricing/PriceBreakPanel.tsx:115 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:138 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:164 msgid "Add Price Break" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:76 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:149 msgid "Edit Price Break" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:86 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:157 msgid "Delete Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:102 -#: src/pages/part/pricing/PriceBreakPanel.tsx:193 +#: src/pages/part/pricing/PriceBreakPanel.tsx:100 +#: src/pages/part/pricing/PriceBreakPanel.tsx:191 msgid "Price Break" msgstr "" @@ -4275,7 +4369,7 @@ msgid "Overall Pricing" msgstr "" #: src/pages/part/pricing/PricingOverviewPanel.tsx:184 -#: src/pages/stock/StockDetail.tsx:121 +#: src/pages/stock/StockDetail.tsx:124 msgid "Last Updated" msgstr "" @@ -4309,9 +4403,8 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50 #: src/pages/part/pricing/SaleHistoryPanel.tsx:46 -#: src/tables/ColumnRenderers.tsx:217 -#: src/tables/plugin/PluginListTable.tsx:182 -#: src/tables/stock/StockItemTestResultTable.tsx:194 +#: src/tables/ColumnRenderers.tsx:180 +#: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" @@ -4338,89 +4431,89 @@ msgstr "" msgid "Variant Part" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:73 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:75 msgid "Edit Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:82 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:84 #: src/tables/purchasing/PurchaseOrderTable.tsx:128 #: src/tables/purchasing/PurchaseOrderTable.tsx:140 msgid "Add Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:107 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:109 msgid "Supplier Reference" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:137 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:252 -#: src/pages/sales/ReturnOrderDetail.tsx:104 -#: src/pages/sales/ReturnOrderDetail.tsx:220 -#: src/pages/sales/SalesOrderDetail.tsx:108 -#: src/pages/sales/SalesOrderDetail.tsx:248 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:139 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:254 +#: src/pages/sales/ReturnOrderDetail.tsx:106 +#: src/pages/sales/ReturnOrderDetail.tsx:222 +#: src/pages/sales/SalesOrderDetail.tsx:110 +#: src/pages/sales/SalesOrderDetail.tsx:250 msgid "Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:144 -#: src/pages/sales/ReturnOrderDetail.tsx:111 -#: src/pages/sales/SalesOrderDetail.tsx:115 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:146 +#: src/pages/sales/ReturnOrderDetail.tsx:113 +#: src/pages/sales/SalesOrderDetail.tsx:117 msgid "Completed Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:152 -#: src/pages/sales/ReturnOrderDetail.tsx:119 -#: src/pages/sales/SalesOrderDetail.tsx:123 -#: src/pages/sales/SalesOrderDetail.tsx:258 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:121 +#: src/pages/sales/SalesOrderDetail.tsx:125 +#: src/pages/sales/SalesOrderDetail.tsx:260 msgid "Completed Shipments" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:159 -#: src/pages/sales/ReturnOrderDetail.tsx:127 -#: src/pages/sales/SalesOrderDetail.tsx:131 -msgid "Order Currency" -msgstr "" - #: src/pages/purchasing/PurchaseOrderDetail.tsx:159 #: src/pages/sales/ReturnOrderDetail.tsx:126 #: src/pages/sales/SalesOrderDetail.tsx:130 #~ msgid "Order Currency," #~ msgstr "Order Currency," -#: src/pages/purchasing/PurchaseOrderDetail.tsx:166 -#: src/pages/sales/ReturnOrderDetail.tsx:134 -#: src/pages/sales/SalesOrderDetail.tsx:138 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:161 +#: src/pages/sales/ReturnOrderDetail.tsx:129 +#: src/pages/sales/SalesOrderDetail.tsx:133 +msgid "Order Currency" +msgstr "" + +#: src/pages/purchasing/PurchaseOrderDetail.tsx:168 +#: src/pages/sales/ReturnOrderDetail.tsx:136 +#: src/pages/sales/SalesOrderDetail.tsx:140 msgid "Total Cost" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:201 -#: src/pages/sales/ReturnOrderDetail.tsx:169 -#: src/pages/sales/SalesOrderDetail.tsx:173 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:203 +#: src/pages/sales/ReturnOrderDetail.tsx:171 +#: src/pages/sales/SalesOrderDetail.tsx:175 msgid "Created On" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:246 -#: src/pages/sales/ReturnOrderDetail.tsx:214 -#: src/pages/sales/SalesOrderDetail.tsx:242 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:248 +#: src/pages/sales/ReturnOrderDetail.tsx:216 +#: src/pages/sales/SalesOrderDetail.tsx:244 msgid "Order Details" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:316 -#: src/pages/sales/ReturnOrderDetail.tsx:290 -#: src/pages/sales/SalesOrderDetail.tsx:302 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:323 +#: src/pages/sales/ReturnOrderDetail.tsx:297 +#: src/pages/sales/SalesOrderDetail.tsx:309 msgid "Order Actions" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:75 -#: src/pages/sales/SalesOrderDetail.tsx:79 +#: src/pages/sales/ReturnOrderDetail.tsx:77 +#: src/pages/sales/SalesOrderDetail.tsx:81 #: src/tables/sales/SalesOrderTable.tsx:123 msgid "Customer Reference" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:267 +#: src/pages/sales/ReturnOrderDetail.tsx:269 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:276 +#: src/pages/sales/ReturnOrderDetail.tsx:278 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" @@ -4430,68 +4523,72 @@ msgstr "" msgid "Customers" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:219 +#: src/pages/sales/SalesOrderDetail.tsx:221 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:228 +#: src/pages/sales/SalesOrderDetail.tsx:230 #: src/tables/sales/SalesOrderTable.tsx:83 #: src/tables/sales/SalesOrderTable.tsx:95 msgid "Add Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:253 +#: src/pages/sales/SalesOrderDetail.tsx:255 msgid "Pending Shipments" msgstr "" -#: src/pages/stock/LocationDetail.tsx:105 +#: src/pages/stock/LocationDetail.tsx:107 msgid "Parent Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:123 +#: src/pages/stock/LocationDetail.tsx:125 msgid "Sublocations" msgstr "" -#: src/pages/stock/LocationDetail.tsx:135 +#: src/pages/stock/LocationDetail.tsx:137 msgid "External" msgstr "" -#: src/pages/stock/LocationDetail.tsx:144 +#: src/pages/stock/LocationDetail.tsx:143 +msgid "Location Type" +msgstr "" + +#: src/pages/stock/LocationDetail.tsx:154 msgid "Top level stock location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:155 +#: src/pages/stock/LocationDetail.tsx:165 msgid "Location Details" msgstr "" -#: src/pages/stock/LocationDetail.tsx:181 +#: src/pages/stock/LocationDetail.tsx:191 msgid "Default Parts" msgstr "" -#: src/pages/stock/LocationDetail.tsx:200 +#: src/pages/stock/LocationDetail.tsx:210 #: src/pages/stock/LocationDetail.tsx:328 -#: src/tables/stock/StockLocationTable.tsx:108 +#: src/tables/stock/StockLocationTable.tsx:100 msgid "Edit Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:221 +#: src/pages/stock/LocationDetail.tsx:231 #: src/pages/stock/LocationDetail.tsx:333 msgid "Delete Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:224 +#: src/pages/stock/LocationDetail.tsx:234 msgid "Items Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:225 +#: src/pages/stock/LocationDetail.tsx:235 msgid "Action for stock items in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:230 +#: src/pages/stock/LocationDetail.tsx:240 msgid "Child Locations Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:231 +#: src/pages/stock/LocationDetail.tsx:241 msgid "Action for child locations in this location" msgstr "" @@ -4499,11 +4596,11 @@ msgstr "" msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:100 +#: src/pages/stock/StockDetail.tsx:103 msgid "Base Part" msgstr "" -#: src/pages/stock/StockDetail.tsx:107 +#: src/pages/stock/StockDetail.tsx:110 msgid "Stock Status" msgstr "" @@ -4515,15 +4612,16 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:174 +#: src/pages/stock/StockDetail.tsx:177 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:190 +#: src/pages/stock/StockDetail.tsx:193 msgid "Consumed By" msgstr "" -#: src/pages/stock/StockDetail.tsx:199 +#: src/pages/stock/StockDetail.tsx:202 +#: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" msgstr "" @@ -4535,78 +4633,78 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:264 +#: src/pages/stock/StockDetail.tsx:267 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:270 +#: src/pages/stock/StockDetail.tsx:273 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:282 +#: src/pages/stock/StockDetail.tsx:290 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:296 +#: src/pages/stock/StockDetail.tsx:304 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:303 +#: src/pages/stock/StockDetail.tsx:311 msgid "Child Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:358 +#: src/pages/stock/StockDetail.tsx:366 msgid "Edit Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:385 +#: src/pages/stock/StockDetail.tsx:393 msgid "Delete Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:426 -msgid "Stock Operations" -msgstr "" - -#: src/pages/stock/StockDetail.tsx:431 -msgid "Count stock" -msgstr "" - #: src/pages/stock/StockDetail.tsx:433 #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:441 +#: src/pages/stock/StockDetail.tsx:440 +msgid "Stock Operations" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:445 +msgid "Count stock" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:455 #: src/tables/stock/StockItemTable.tsx:414 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:449 +#: src/pages/stock/StockDetail.tsx:463 #: src/tables/stock/StockItemTable.tsx:423 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:456 +#: src/pages/stock/StockDetail.tsx:470 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:457 +#: src/pages/stock/StockDetail.tsx:471 #: src/tables/stock/StockItemTable.tsx:443 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:469 +#: src/pages/stock/StockDetail.tsx:482 msgid "Stock Item Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:513 -msgid "Batch Code" -msgstr "" - -#: src/tables/ColumnRenderers.tsx:50 +#: src/tables/ColumnRenderers.tsx:42 msgid "No location set" msgstr "" -#: src/tables/ColumnRenderers.tsx:264 +#: src/tables/ColumnRenderers.tsx:207 +msgid "Shipment Date" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:227 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "" @@ -4616,20 +4714,32 @@ msgstr "" msgid "Select Columns" msgstr "" -#: src/tables/DownloadAction.tsx:11 +#: src/tables/DownloadAction.tsx:13 +#~ msgid "Excel" +#~ msgstr "Excel" + +#: src/tables/DownloadAction.tsx:21 +#~ msgid "Download selected data" +#~ msgstr "Download selected data" + +#: src/tables/DownloadAction.tsx:22 msgid "CSV" msgstr "" -#: src/tables/DownloadAction.tsx:12 +#: src/tables/DownloadAction.tsx:23 msgid "TSV" msgstr "" -#: src/tables/DownloadAction.tsx:13 -msgid "Excel" +#: src/tables/DownloadAction.tsx:24 +msgid "Excel (.xls)" msgstr "" -#: src/tables/DownloadAction.tsx:21 -msgid "Download selected data" +#: src/tables/DownloadAction.tsx:25 +msgid "Excel (.xlsx)" +msgstr "" + +#: src/tables/DownloadAction.tsx:39 +msgid "Download Data" msgstr "" #: src/tables/Filter.tsx:88 @@ -4663,102 +4773,102 @@ msgstr "" msgid "Remove filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:147 +#: src/tables/FilterSelectDrawer.tsx:136 msgid "Select filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:148 +#: src/tables/FilterSelectDrawer.tsx:137 msgid "Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:155 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:33 -#: src/tables/stock/StockItemTestResultTable.tsx:182 +#: src/tables/FilterSelectDrawer.tsx:144 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 +#: src/tables/stock/StockItemTestResultTable.tsx:180 msgid "Value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:156 +#: src/tables/FilterSelectDrawer.tsx:145 msgid "Select filter value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:196 +#: src/tables/FilterSelectDrawer.tsx:185 msgid "Table Filters" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:228 +#: src/tables/FilterSelectDrawer.tsx:217 msgid "Add Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:237 +#: src/tables/FilterSelectDrawer.tsx:226 msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:118 -#: src/tables/InvenTreeTable.tsx:384 -#: src/tables/InvenTreeTable.tsx:405 +#: src/tables/InvenTreeTable.tsx:119 +#: src/tables/InvenTreeTable.tsx:390 +#: src/tables/InvenTreeTable.tsx:411 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:416 +#: src/tables/InvenTreeTable.tsx:422 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:424 +#: src/tables/InvenTreeTable.tsx:430 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:427 +#: src/tables/InvenTreeTable.tsx:433 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:436 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:433 +#: src/tables/InvenTreeTable.tsx:439 msgid "Not found" msgstr "" -#: src/tables/InvenTreeTable.tsx:482 -#: src/tables/InvenTreeTable.tsx:604 +#: src/tables/InvenTreeTable.tsx:488 +#: src/tables/InvenTreeTable.tsx:611 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:486 +#: src/tables/InvenTreeTable.tsx:492 msgid "Are you sure you want to delete the selected records?" msgstr "" -#: src/tables/InvenTreeTable.tsx:488 +#: src/tables/InvenTreeTable.tsx:494 msgid "This action cannot be undone!" msgstr "" -#: src/tables/InvenTreeTable.tsx:516 +#: src/tables/InvenTreeTable.tsx:522 msgid "Deleted records" msgstr "" -#: src/tables/InvenTreeTable.tsx:517 +#: src/tables/InvenTreeTable.tsx:523 msgid "Records were deleted successfully" msgstr "" -#: src/tables/InvenTreeTable.tsx:526 +#: src/tables/InvenTreeTable.tsx:532 msgid "Failed to delete records" msgstr "" -#: src/tables/InvenTreeTable.tsx:585 -#: src/tables/InvenTreeTable.tsx:586 -msgid "Barcode actions" -msgstr "" - #: src/tables/InvenTreeTable.tsx:594 #: src/tables/InvenTreeTable.tsx:595 -msgid "Print actions" +#~ msgid "Print actions" +#~ msgstr "Print actions" + +#: src/tables/InvenTreeTable.tsx:601 +#: src/tables/InvenTreeTable.tsx:602 +msgid "Barcode actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:620 +#: src/tables/InvenTreeTable.tsx:630 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:638 +#: src/tables/InvenTreeTable.tsx:648 msgid "Table filters" msgstr "" @@ -4770,138 +4880,138 @@ msgstr "" msgid "Part Information" msgstr "" -#: src/tables/bom/BomTable.tsx:177 +#: src/tables/bom/BomTable.tsx:179 #: src/tables/part/PartTable.tsx:124 msgid "No stock" msgstr "" -#: src/tables/bom/BomTable.tsx:185 +#: src/tables/bom/BomTable.tsx:187 #: src/tables/build/BuildLineTable.tsx:104 #: src/tables/part/PartTable.tsx:115 msgid "External stock" msgstr "" -#: src/tables/bom/BomTable.tsx:193 +#: src/tables/bom/BomTable.tsx:195 #: src/tables/build/BuildLineTable.tsx:67 msgid "Includes substitute stock" msgstr "" -#: src/tables/bom/BomTable.tsx:202 +#: src/tables/bom/BomTable.tsx:204 #: src/tables/build/BuildLineTable.tsx:77 msgid "Includes variant stock" msgstr "" -#: src/tables/bom/BomTable.tsx:227 +#: src/tables/bom/BomTable.tsx:229 #: src/tables/part/PartTable.tsx:143 #: src/tables/stock/StockItemTable.tsx:205 msgid "Stock Information" msgstr "" -#: src/tables/bom/BomTable.tsx:239 +#: src/tables/bom/BomTable.tsx:241 #: src/tables/build/BuildLineTable.tsx:195 msgid "Consumable item" msgstr "" -#: src/tables/bom/BomTable.tsx:260 +#: src/tables/bom/BomTable.tsx:262 msgid "Show trackable items" msgstr "" -#: src/tables/bom/BomTable.tsx:265 +#: src/tables/bom/BomTable.tsx:267 msgid "Show asssmbled items" msgstr "" -#: src/tables/bom/BomTable.tsx:270 +#: src/tables/bom/BomTable.tsx:272 msgid "Show items with available stock" msgstr "" -#: src/tables/bom/BomTable.tsx:275 +#: src/tables/bom/BomTable.tsx:277 msgid "Show items on order" msgstr "" -#: src/tables/bom/BomTable.tsx:279 +#: src/tables/bom/BomTable.tsx:281 msgid "Validated" msgstr "" -#: src/tables/bom/BomTable.tsx:280 +#: src/tables/bom/BomTable.tsx:282 msgid "Show validated items" msgstr "" -#: src/tables/bom/BomTable.tsx:284 +#: src/tables/bom/BomTable.tsx:286 #: src/tables/bom/UsedInTable.tsx:63 msgid "Inherited" msgstr "" -#: src/tables/bom/BomTable.tsx:285 +#: src/tables/bom/BomTable.tsx:287 #: src/tables/bom/UsedInTable.tsx:64 msgid "Show inherited items" msgstr "" -#: src/tables/bom/BomTable.tsx:289 +#: src/tables/bom/BomTable.tsx:291 #: src/tables/bom/UsedInTable.tsx:68 #: src/tables/build/BuildLineTable.tsx:46 msgid "Optional" msgstr "" -#: src/tables/bom/BomTable.tsx:290 +#: src/tables/bom/BomTable.tsx:292 #: src/tables/bom/UsedInTable.tsx:69 msgid "Show optional items" msgstr "" -#: src/tables/bom/BomTable.tsx:294 +#: src/tables/bom/BomTable.tsx:296 #: src/tables/build/BuildLineTable.tsx:41 msgid "Consumable" msgstr "" -#: src/tables/bom/BomTable.tsx:295 +#: src/tables/bom/BomTable.tsx:297 msgid "Show consumable items" msgstr "" -#: src/tables/bom/BomTable.tsx:299 +#: src/tables/bom/BomTable.tsx:301 msgid "Has Pricing" msgstr "" -#: src/tables/bom/BomTable.tsx:300 -msgid "Show items with pricing" -msgstr "" - #: src/tables/bom/BomTable.tsx:301 #~ msgid "Create BOM Item" #~ msgstr "Create BOM Item" -#: src/tables/bom/BomTable.tsx:309 -#: src/tables/bom/BomTable.tsx:397 +#: src/tables/bom/BomTable.tsx:302 +msgid "Show items with pricing" +msgstr "" + +#: src/tables/bom/BomTable.tsx:311 +#: src/tables/bom/BomTable.tsx:399 msgid "Add BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:314 +#: src/tables/bom/BomTable.tsx:316 msgid "BOM item created" msgstr "" -#: src/tables/bom/BomTable.tsx:321 +#: src/tables/bom/BomTable.tsx:323 msgid "Edit BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:323 +#: src/tables/bom/BomTable.tsx:325 msgid "BOM item updated" msgstr "" -#: src/tables/bom/BomTable.tsx:330 -msgid "Delete BOM Item" -msgstr "" - -#: src/tables/bom/BomTable.tsx:331 -msgid "BOM item deleted" -msgstr "" - #: src/tables/bom/BomTable.tsx:331 #~ msgid "Edit Bom Item" #~ msgstr "Edit Bom Item" +#: src/tables/bom/BomTable.tsx:332 +msgid "Delete BOM Item" +msgstr "" + +#: src/tables/bom/BomTable.tsx:333 +msgid "BOM item deleted" +msgstr "" + #: src/tables/bom/BomTable.tsx:333 #~ msgid "Bom item updated" #~ msgstr "Bom item updated" -#: src/tables/bom/BomTable.tsx:341 +#: src/tables/bom/BomTable.tsx:343 msgid "View BOM" msgstr "" @@ -4917,11 +5027,11 @@ msgstr "" #~ msgid "Are you sure you want to remove this BOM item?" #~ msgstr "Are you sure you want to remove this BOM item?" -#: src/tables/bom/BomTable.tsx:352 +#: src/tables/bom/BomTable.tsx:354 msgid "Validate BOM line" msgstr "" -#: src/tables/bom/BomTable.tsx:360 +#: src/tables/bom/BomTable.tsx:362 msgid "Edit Substitutes" msgstr "" @@ -5038,11 +5148,11 @@ msgid "Filter by responsible owner" msgstr "" #: src/tables/build/BuildOutputTable.tsx:114 -#: src/tables/build/BuildOutputTable.tsx:150 +#: src/tables/build/BuildOutputTable.tsx:152 msgid "Add Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:155 +#: src/tables/build/BuildOutputTable.tsx:157 msgid "Complete selected outputs" msgstr "" @@ -5050,68 +5160,68 @@ msgstr "" #~ msgid "Delete build output" #~ msgstr "Delete build output" -#: src/tables/build/BuildOutputTable.tsx:165 +#: src/tables/build/BuildOutputTable.tsx:167 msgid "Scrap selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:175 +#: src/tables/build/BuildOutputTable.tsx:177 msgid "Cancel selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:191 +#: src/tables/build/BuildOutputTable.tsx:193 msgid "Allocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:192 +#: src/tables/build/BuildOutputTable.tsx:194 msgid "Allocate stock to build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:197 +#: src/tables/build/BuildOutputTable.tsx:199 msgid "Deallocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:198 +#: src/tables/build/BuildOutputTable.tsx:200 msgid "Deallocate stock from build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:203 +#: src/tables/build/BuildOutputTable.tsx:205 msgid "Complete" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:204 +#: src/tables/build/BuildOutputTable.tsx:206 msgid "Complete build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:213 +#: src/tables/build/BuildOutputTable.tsx:215 msgid "Scrap" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:214 +#: src/tables/build/BuildOutputTable.tsx:216 msgid "Scrap build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:224 +#: src/tables/build/BuildOutputTable.tsx:226 msgid "Cancel build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:251 +#: src/tables/build/BuildOutputTable.tsx:253 msgid "Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:264 +#: src/tables/build/BuildOutputTable.tsx:266 msgid "Batch" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:278 +#: src/tables/build/BuildOutputTable.tsx:280 msgid "Allocated Items" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:288 +#: src/tables/build/BuildOutputTable.tsx:290 msgid "Required Tests" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:317 -#: src/tables/stock/StockItemTestResultTable.tsx:146 +#: src/tables/build/BuildOutputTable.tsx:319 +#: src/tables/stock/StockItemTestResultTable.tsx:144 msgid "Test Results" msgstr "" @@ -5132,7 +5242,7 @@ msgstr "" msgid "Delete Address" msgstr "" -#: src/tables/company/AddressTable.tsx:145 +#: src/tables/company/AddressTable.tsx:144 msgid "Are you sure you want to delete this address?" msgstr "" @@ -5177,36 +5287,52 @@ msgstr "" msgid "Add contact" msgstr "" -#: src/tables/general/AttachmentTable.tsx:161 +#: src/tables/general/AttachmentTable.tsx:130 msgid "File uploaded" msgstr "" -#: src/tables/general/AttachmentTable.tsx:162 +#: src/tables/general/AttachmentTable.tsx:131 msgid "File {0} uploaded successfully" msgstr "" -#: src/tables/general/AttachmentTable.tsx:173 +#: src/tables/general/AttachmentTable.tsx:142 msgid "Upload Error" msgstr "" -#: src/tables/general/AttachmentTable.tsx:174 +#: src/tables/general/AttachmentTable.tsx:143 msgid "File could not be uploaded" msgstr "" #: src/tables/general/AttachmentTable.tsx:187 +msgid "Upload Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:197 +msgid "Edit Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:211 +msgid "Delete Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:221 msgid "Add attachment" msgstr "" -#: src/tables/general/AttachmentTable.tsx:207 +#: src/tables/general/AttachmentTable.tsx:232 msgid "Add external link" msgstr "" -#: src/tables/general/AttachmentTable.tsx:239 +#: src/tables/general/AttachmentTable.tsx:254 +#~ msgid "Upload attachment" +#~ msgstr "Upload attachment" + +#: src/tables/general/AttachmentTable.tsx:289 msgid "No attachments found" msgstr "" -#: src/tables/general/AttachmentTable.tsx:254 -msgid "Upload attachment" +#: src/tables/general/AttachmentTable.tsx:325 +msgid "Drag attachment file here to upload" msgstr "" #: src/tables/machine/MachineListTable.tsx:199 @@ -5332,8 +5458,8 @@ msgstr "" #: src/tables/machine/MachineTypeTable.tsx:135 #: src/tables/machine/MachineTypeTable.tsx:255 -#: src/tables/plugin/PluginListTable.tsx:215 -#: src/tables/plugin/PluginListTable.tsx:643 +#: src/tables/plugin/PluginListTable.tsx:180 +#: src/tables/plugin/PluginListTable.tsx:568 msgid "Builtin" msgstr "" @@ -5375,7 +5501,7 @@ msgid "Message" msgstr "" #: src/tables/part/ParametricPartTable.tsx:75 -#: src/tables/part/PartParameterTable.tsx:87 +#: src/tables/part/PartParameterTable.tsx:88 msgid "Internal Units" msgstr "" @@ -5388,29 +5514,29 @@ msgid "Add Part Parameter" msgstr "" #: src/tables/part/ParametricPartTable.tsx:147 -#: src/tables/part/PartParameterTable.tsx:128 -#: src/tables/part/PartParameterTable.tsx:150 +#: src/tables/part/PartParameterTable.tsx:121 +#: src/tables/part/PartParameterTable.tsx:144 msgid "Edit Part Parameter" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:64 +#: src/tables/part/PartCategoryTable.tsx:60 #: src/tables/part/PartTable.tsx:180 msgid "Include Subcategories" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:65 +#: src/tables/part/PartCategoryTable.tsx:61 msgid "Include subcategories in results" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:70 +#: src/tables/part/PartCategoryTable.tsx:66 msgid "Show structural categories" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:77 +#: src/tables/part/PartCategoryTable.tsx:73 msgid "New Part Category" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:106 +#: src/tables/part/PartCategoryTable.tsx:98 msgid "Add Part Category" msgstr "" @@ -5435,20 +5561,20 @@ msgstr "" #~ msgid "[{0}]" #~ msgstr "[{0}]" -#: src/tables/part/PartParameterTable.tsx:112 +#: src/tables/part/PartParameterTable.tsx:105 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:136 -#: src/tables/part/PartParameterTable.tsx:158 +#: src/tables/part/PartParameterTable.tsx:130 +#: src/tables/part/PartParameterTable.tsx:152 msgid "Delete Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:175 +#: src/tables/part/PartParameterTable.tsx:170 msgid "Add parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:196 +#: src/tables/part/PartParameterTable.tsx:191 #: src/tables/stock/StockItemTable.tsx:300 msgid "Include Variants" msgstr "" @@ -5482,15 +5608,15 @@ msgstr "" msgid "Add Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:97 +#: src/tables/part/PartParameterTemplateTable.tsx:100 msgid "Edit Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:105 +#: src/tables/part/PartParameterTemplateTable.tsx:111 msgid "Delete Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:135 +#: src/tables/part/PartParameterTemplateTable.tsx:141 msgid "Add parameter template" msgstr "" @@ -5588,7 +5714,7 @@ msgid "No Results" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:79 -#: src/tables/stock/StockItemTestResultTable.tsx:385 +#: src/tables/stock/StockItemTestResultTable.tsx:376 msgid "Required" msgstr "" @@ -5597,8 +5723,8 @@ msgid "Show required tests" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:84 -#: src/tables/settings/TemplateTable.tsx:213 -#: src/tables/settings/TemplateTable.tsx:275 +#: src/tables/settings/TemplateTable.tsx:160 +#: src/tables/settings/TemplateTable.tsx:270 msgid "Enabled" msgstr "" @@ -5639,26 +5765,30 @@ msgid "Show tests which have recorded results" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:126 -#: src/tables/part/PartTestTemplateTable.tsx:195 +#: src/tables/part/PartTestTemplateTable.tsx:201 msgid "Add Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:139 +#: src/tables/part/PartTestTemplateTable.tsx:142 msgid "Edit Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:147 +#: src/tables/part/PartTestTemplateTable.tsx:153 msgid "Delete Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:149 +#: src/tables/part/PartTestTemplateTable.tsx:155 msgid "This action cannot be reversed" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:151 +#: src/tables/part/PartTestTemplateTable.tsx:157 msgid "Any tests results associated with this template will be deleted" msgstr "" +#: src/tables/part/PartThumbTable.tsx:203 +msgid "Select" +msgstr "Επιλέξτε" + #: src/tables/part/PartVariantTable.tsx:16 msgid "Show active variants" msgstr "" @@ -5695,252 +5825,273 @@ msgstr "" msgid "Stage" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:113 -msgid "Plugin with id {id} not found" +#: src/tables/plugin/PluginListTable.tsx:95 +msgid "Plugin with key {pluginKey} not found" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:115 +#: src/tables/plugin/PluginListTable.tsx:97 msgid "An error occurred while fetching plugin details" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:134 -msgid "Plugin Actions" -msgstr "" +#: src/tables/plugin/PluginListTable.tsx:113 +#~ msgid "Plugin with id {id} not found" +#~ msgstr "Plugin with id {id} not found" -#: src/tables/plugin/PluginListTable.tsx:138 -#: src/tables/plugin/PluginListTable.tsx:141 -msgid "Edit plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:152 -#: src/tables/plugin/PluginListTable.tsx:153 -msgid "Reload" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:166 +#: src/tables/plugin/PluginListTable.tsx:122 msgid "Plugin information" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:177 +#: src/tables/plugin/PluginListTable.tsx:134 msgid "Author" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:198 +#: src/tables/plugin/PluginListTable.tsx:134 +#~ msgid "Plugin Actions" +#~ msgstr "Plugin Actions" + +#: src/tables/plugin/PluginListTable.tsx:138 +#: src/tables/plugin/PluginListTable.tsx:141 +#~ msgid "Edit plugin" +#~ msgstr "Edit plugin" + +#: src/tables/plugin/PluginListTable.tsx:152 +#: src/tables/plugin/PluginListTable.tsx:153 +#~ msgid "Reload" +#~ msgstr "Reload" + +#: src/tables/plugin/PluginListTable.tsx:154 +msgid "Plugin is not active" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:163 msgid "Package information" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:204 +#: src/tables/plugin/PluginListTable.tsx:169 msgid "Package Name" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:210 +#: src/tables/plugin/PluginListTable.tsx:175 msgid "Installation Path" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:220 +#: src/tables/plugin/PluginListTable.tsx:185 msgid "Package" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:231 +#: src/tables/plugin/PluginListTable.tsx:197 msgid "Plugin settings" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:248 +#: src/tables/plugin/PluginListTable.tsx:214 msgid "Plugin is active" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:254 +#: src/tables/plugin/PluginListTable.tsx:220 msgid "Plugin is inactive" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:261 +#: src/tables/plugin/PluginListTable.tsx:227 msgid "Plugin is not installed" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:287 +#: src/tables/plugin/PluginListTable.tsx:253 msgid "Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:312 +#: src/tables/plugin/PluginListTable.tsx:287 msgid "Description not available" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:338 +#: src/tables/plugin/PluginListTable.tsx:319 +msgid "Confirm plugin activation" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:320 +msgid "Confirm plugin deactivation" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:325 +msgid "The selected plugin will be activated" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:326 +msgid "The selected plugin will be deactivated" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:334 msgid "Activate Plugin" msgstr "" #: src/tables/plugin/PluginListTable.tsx:338 -msgid "Deactivate Plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:347 -msgid "Confirm plugin activation" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:348 -msgid "Confirm plugin deactivation" -msgstr "" +#~ msgid "Deactivate Plugin" +#~ msgstr "Deactivate Plugin" #: src/tables/plugin/PluginListTable.tsx:354 -msgid "The following plugin will be activated" -msgstr "" +#~ msgid "The following plugin will be activated" +#~ msgstr "The following plugin will be activated" #: src/tables/plugin/PluginListTable.tsx:355 -msgid "The following plugin will be deactivated" -msgstr "" +#~ msgid "The following plugin will be deactivated" +#~ msgstr "The following plugin will be deactivated" -#: src/tables/plugin/PluginListTable.tsx:366 -msgid "Confirm" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:376 -msgid "Activating plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:376 -msgid "Deactivating plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:392 -msgid "Plugin updated" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:394 -msgid "The plugin was activated" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:395 -msgid "The plugin was deactivated" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:403 -msgid "Error updating plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:423 +#: src/tables/plugin/PluginListTable.tsx:362 msgid "Deactivate" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:432 +#: src/tables/plugin/PluginListTable.tsx:366 +#~ msgid "Confirm" +#~ msgstr "Confirm" + +#: src/tables/plugin/PluginListTable.tsx:373 msgid "Activate" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:463 +#: src/tables/plugin/PluginListTable.tsx:376 +#~ msgid "Activating plugin" +#~ msgstr "Activating plugin" + +#: src/tables/plugin/PluginListTable.tsx:376 +#~ msgid "Deactivating plugin" +#~ msgstr "Deactivating plugin" + +#: src/tables/plugin/PluginListTable.tsx:392 +#~ msgid "Plugin updated" +#~ msgstr "Plugin updated" + +#: src/tables/plugin/PluginListTable.tsx:394 +#~ msgid "The plugin was activated" +#~ msgstr "The plugin was activated" + +#: src/tables/plugin/PluginListTable.tsx:395 +#~ msgid "The plugin was deactivated" +#~ msgstr "The plugin was deactivated" + +#: src/tables/plugin/PluginListTable.tsx:403 +#~ msgid "Error updating plugin" +#~ msgstr "Error updating plugin" + +#: src/tables/plugin/PluginListTable.tsx:406 msgid "Uninstall" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:495 +#: src/tables/plugin/PluginListTable.tsx:438 msgid "Install plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:508 +#: src/tables/plugin/PluginListTable.tsx:451 msgid "Install" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:512 +#: src/tables/plugin/PluginListTable.tsx:452 msgid "Plugin installed successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:525 +#: src/tables/plugin/PluginListTable.tsx:457 msgid "Uninstall Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:537 +#: src/tables/plugin/PluginListTable.tsx:469 msgid "Confirm plugin uninstall" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:540 +#: src/tables/plugin/PluginListTable.tsx:472 msgid "The selected plugin will be uninstalled." msgstr "" -#: src/tables/plugin/PluginListTable.tsx:541 +#: src/tables/plugin/PluginListTable.tsx:473 msgid "This action cannot be undone." msgstr "" -#: src/tables/plugin/PluginListTable.tsx:547 +#: src/tables/plugin/PluginListTable.tsx:477 msgid "Plugin uninstalled successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:560 +#: src/tables/plugin/PluginListTable.tsx:484 msgid "Delete Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:562 +#: src/tables/plugin/PluginListTable.tsx:485 msgid "Deleting this plugin configuration will remove all associated settings and data. Are you sure you want to delete this plugin?" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:574 +#: src/tables/plugin/PluginListTable.tsx:498 msgid "Plugins reloaded" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:575 +#: src/tables/plugin/PluginListTable.tsx:499 msgid "Plugins were reloaded successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:591 +#: src/tables/plugin/PluginListTable.tsx:515 msgid "Reload Plugins" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:600 +#: src/tables/plugin/PluginListTable.tsx:524 msgid "Install Plugin" msgstr "" +#: src/tables/plugin/PluginListTable.tsx:544 +msgid "Plugin Detail" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:573 +msgid "Sample" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:578 +#: src/tables/stock/StockItemTable.tsx:305 +msgid "Installed" +msgstr "" + #: src/tables/plugin/PluginListTable.tsx:615 #~ msgid "Plugin detail" #~ msgstr "Plugin detail" -#: src/tables/plugin/PluginListTable.tsx:619 -msgid "Plugin Detail" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:648 -msgid "Sample" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:653 -#: src/tables/stock/StockItemTable.tsx:305 -msgid "Installed" -msgstr "" - -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:57 -msgid "Edit Parameter" +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:59 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:108 +msgid "Add Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:60 -msgid "Parameter updated" -msgstr "" +#~ msgid "Parameter updated" +#~ msgstr "Parameter updated" -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:71 -msgid "Delete Parameter" +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:70 +msgid "Edit Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:73 -msgid "Parameter deleted" -msgstr "" +#~ msgid "Parameter deleted" +#~ msgstr "Parameter deleted" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:74 -msgid "Are you sure you want to delete this parameter?" +#~ msgid "Are you sure you want to delete this parameter?" +#~ msgstr "Are you sure you want to delete this parameter?" + +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:78 +msgid "Delete Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartTable.tsx:63 #~ msgid "Create Manufacturer Part" #~ msgstr "Create Manufacturer Part" -#: src/tables/purchasing/ManufacturerPartTable.tsx:100 -msgid "Manufacturer part updated" -msgstr "" - -#: src/tables/purchasing/ManufacturerPartTable.tsx:111 +#: src/tables/purchasing/ManufacturerPartTable.tsx:92 msgid "Delete Manufacturer Part" msgstr "" +#: src/tables/purchasing/ManufacturerPartTable.tsx:100 +#~ msgid "Manufacturer part updated" +#~ msgstr "Manufacturer part updated" + #: src/tables/purchasing/ManufacturerPartTable.tsx:112 -msgid "Manufacturer part deleted" -msgstr "" +#~ msgid "Manufacturer part deleted" +#~ msgstr "Manufacturer part deleted" #: src/tables/purchasing/ManufacturerPartTable.tsx:114 -msgid "Are you sure you want to remove this manufacturer part?" -msgstr "" +#~ msgid "Are you sure you want to remove this manufacturer part?" +#~ msgstr "Are you sure you want to remove this manufacturer part?" #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:86 msgid "Part Description" @@ -6087,18 +6238,22 @@ msgid "Error Information" msgstr "" #: src/tables/settings/ErrorTable.tsx:51 -msgid "Delete error report" +msgid "Delete Error Report" msgstr "" +#: src/tables/settings/ErrorTable.tsx:51 +#~ msgid "Delete error report" +#~ msgstr "Delete error report" + #: src/tables/settings/ErrorTable.tsx:53 -msgid "Error report deleted" -msgstr "" - -#: src/tables/settings/ErrorTable.tsx:54 msgid "Are you sure you want to delete this error report?" msgstr "" -#: src/tables/settings/ErrorTable.tsx:67 +#: src/tables/settings/ErrorTable.tsx:55 +msgid "Error report deleted" +msgstr "" + +#: src/tables/settings/ErrorTable.tsx:77 #: src/tables/settings/FailedTasksTable.tsx:57 msgid "Error Details" msgstr "" @@ -6115,7 +6270,7 @@ msgid "Task ID" msgstr "" #: src/tables/settings/FailedTasksTable.tsx:34 -#: src/tables/stock/StockItemTestResultTable.tsx:214 +#: src/tables/stock/StockItemTestResultTable.tsx:205 msgid "Started" msgstr "" @@ -6188,30 +6343,71 @@ msgstr "" msgid "Next Run" msgstr "" -#: src/tables/settings/TemplateTable.tsx:120 -msgid "{templateTypeTranslation} with id {id} not found" +#: src/tables/settings/TemplateTable.tsx:82 +msgid "Template not found" msgstr "" +#: src/tables/settings/TemplateTable.tsx:84 +msgid "An error occurred while fetching template details" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:120 +#~ msgid "{templateTypeTranslation} with id {id} not found" +#~ msgstr "{templateTypeTranslation} with id {id} not found" + #: src/tables/settings/TemplateTable.tsx:124 -msgid "An error occurred while fetching {templateTypeTranslation} details" -msgstr "" +#~ msgid "An error occurred while fetching {templateTypeTranslation} details" +#~ msgstr "An error occurred while fetching {templateTypeTranslation} details" #: src/tables/settings/TemplateTable.tsx:146 -msgid "actions" +#~ msgid "actions" +#~ msgstr "actions" + +#: src/tables/settings/TemplateTable.tsx:170 +msgid "Modify" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:171 +msgid "Modify template file" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:222 +#: src/tables/settings/TemplateTable.tsx:289 +msgid "Edit Template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:230 +msgid "Delete template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:236 +msgid "Add Template" msgstr "" #: src/tables/settings/TemplateTable.tsx:243 -msgid "Add new" -msgstr "" +#~ msgid "Add new" +#~ msgstr "Add new" #: src/tables/settings/TemplateTable.tsx:243 #~ msgid "Create new" #~ msgstr "Create new" -#: src/tables/settings/TemplateTable.tsx:276 +#: src/tables/settings/TemplateTable.tsx:249 +msgid "Add template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:271 msgid "Filter by enabled status" msgstr "" +#: src/tables/settings/TemplateTable.tsx:276 +msgid "Model Type" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:277 +msgid "Filter by target model type" +msgstr "" + #: src/tables/settings/UserTable.tsx:79 msgid "User with id {id} not found" msgstr "" @@ -6277,6 +6473,23 @@ msgstr "" msgid "Edit user" msgstr "" +#: src/tables/stock/LocationTypesTable.tsx:36 +#: src/tables/stock/LocationTypesTable.tsx:105 +msgid "Add Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:44 +msgid "Edit Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:52 +msgid "Delete Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:69 +msgid "Icon" +msgstr "" + #: src/tables/stock/StockItemTable.tsx:90 msgid "This stock item is in production" msgstr "" @@ -6338,7 +6551,7 @@ msgid "Show items which are available" msgstr "" #: src/tables/stock/StockItemTable.tsx:280 -#: src/tables/stock/StockLocationTable.tsx:37 +#: src/tables/stock/StockLocationTable.tsx:33 msgid "Include Sublocations" msgstr "" @@ -6467,123 +6680,135 @@ msgstr "" msgid "Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:153 +#: src/tables/stock/StockItemTestResultTable.tsx:151 msgid "Test result for installed stock item" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:164 +#: src/tables/stock/StockItemTestResultTable.tsx:162 msgid "Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:170 +#: src/tables/stock/StockItemTestResultTable.tsx:168 msgid "No Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:186 +#: src/tables/stock/StockItemTestResultTable.tsx:184 msgid "Attachment" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:209 +#: src/tables/stock/StockItemTestResultTable.tsx:200 msgid "Test station" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:229 +#: src/tables/stock/StockItemTestResultTable.tsx:220 msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:277 -#: src/tables/stock/StockItemTestResultTable.tsx:349 -#: src/tables/stock/StockItemTestResultTable.tsx:404 +#: src/tables/stock/StockItemTestResultTable.tsx:268 +#: src/tables/stock/StockItemTestResultTable.tsx:340 +#: src/tables/stock/StockItemTestResultTable.tsx:395 msgid "Add Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:279 +#: src/tables/stock/StockItemTestResultTable.tsx:270 msgid "Test result added" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:288 -#: src/tables/stock/StockItemTestResultTable.tsx:359 +#: src/tables/stock/StockItemTestResultTable.tsx:279 +#: src/tables/stock/StockItemTestResultTable.tsx:350 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:290 +#: src/tables/stock/StockItemTestResultTable.tsx:281 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:296 -#: src/tables/stock/StockItemTestResultTable.tsx:368 +#: src/tables/stock/StockItemTestResultTable.tsx:287 +#: src/tables/stock/StockItemTestResultTable.tsx:359 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:298 +#: src/tables/stock/StockItemTestResultTable.tsx:289 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:312 +#: src/tables/stock/StockItemTestResultTable.tsx:303 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:313 +#: src/tables/stock/StockItemTestResultTable.tsx:304 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:320 +#: src/tables/stock/StockItemTestResultTable.tsx:311 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:337 +#: src/tables/stock/StockItemTestResultTable.tsx:328 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:386 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:390 +#: src/tables/stock/StockItemTestResultTable.tsx:381 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:391 +#: src/tables/stock/StockItemTestResultTable.tsx:382 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:395 +#: src/tables/stock/StockItemTestResultTable.tsx:386 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:396 +#: src/tables/stock/StockItemTestResultTable.tsx:387 msgid "Show only passed tests" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:38 +#: src/tables/stock/StockLocationTable.tsx:34 msgid "Include sublocations in results" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:42 +#: src/tables/stock/StockLocationTable.tsx:38 msgid "structural" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:43 +#: src/tables/stock/StockLocationTable.tsx:39 msgid "Show structural locations" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:47 +#: src/tables/stock/StockLocationTable.tsx:43 msgid "external" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:48 +#: src/tables/stock/StockLocationTable.tsx:44 msgid "Show external locations" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:52 +#: src/tables/stock/StockLocationTable.tsx:48 msgid "Has location type" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:89 -#: src/tables/stock/StockLocationTable.tsx:118 +#: src/tables/stock/StockLocationTable.tsx:85 +#: src/tables/stock/StockLocationTable.tsx:110 msgid "Add Stock Location" msgstr "" +#: src/tables/stock/StockTrackingTable.tsx:64 +msgid "Added" +msgstr "" + +#: src/tables/stock/StockTrackingTable.tsx:69 +msgid "Removed" +msgstr "" + +#: src/tables/stock/StockTrackingTable.tsx:198 +msgid "No user information" +msgstr "" + #: src/views/MobileAppView.tsx:22 msgid "Mobile viewport detected" msgstr "" diff --git a/src/frontend/src/locales/en/messages.po b/src/frontend/src/locales/en/messages.po index 8d3555530f..924903ac86 100644 --- a/src/frontend/src/locales/en/messages.po +++ b/src/frontend/src/locales/en/messages.po @@ -25,10 +25,67 @@ msgstr "An error occurred while rendering this component. Refer to the console f msgid "Title" msgstr "Title" +#: src/components/buttons/AdminButton.tsx:83 +msgid "Open in admin interface" +msgstr "Open in admin interface" + #: src/components/buttons/CopyButton.tsx:18 msgid "Copy to clipboard" msgstr "Copy to clipboard" +#: src/components/buttons/PrintingActions.tsx:95 +msgid "Print Label" +msgstr "Print Label" + +#: src/components/buttons/PrintingActions.tsx:101 +msgid "Label printing completed successfully" +msgstr "Label printing completed successfully" + +#: src/components/buttons/PrintingActions.tsx:106 +#: src/components/buttons/PrintingActions.tsx:143 +#: src/components/forms/ApiForm.tsx:504 +#: src/components/forms/fields/ApiFormField.tsx:295 +#: src/components/modals/LicenseModal.tsx:75 +#: src/components/nav/SearchDrawer.tsx:413 +#: src/components/widgets/MarkdownEditor.tsx:107 +#: src/components/widgets/MarkdownEditor.tsx:153 +#: src/pages/ErrorPage.tsx:12 +#: src/pages/ErrorPage.tsx:25 +#: src/pages/part/PartPricingPanel.tsx:71 +#: src/tables/InvenTreeTable.tsx:451 +#: src/tables/InvenTreeTable.tsx:531 +#: src/tables/stock/StockItemTestResultTable.tsx:310 +msgid "Error" +msgstr "Error" + +#: src/components/buttons/PrintingActions.tsx:107 +msgid "The label could not be generated" +msgstr "The label could not be generated" + +#: src/components/buttons/PrintingActions.tsx:122 +msgid "Print Report" +msgstr "Print Report" + +#: src/components/buttons/PrintingActions.tsx:138 +msgid "Report printing completed successfully" +msgstr "Report printing completed successfully" + +#: src/components/buttons/PrintingActions.tsx:144 +msgid "The report could not be generated" +msgstr "The report could not be generated" + +#: src/components/buttons/PrintingActions.tsx:171 +msgid "Printing Actions" +msgstr "Printing Actions" + +#: src/components/buttons/PrintingActions.tsx:176 +msgid "Print Labels" +msgstr "Print Labels" + +#: src/components/buttons/PrintingActions.tsx:182 +msgid "Print Reports" +msgstr "Print Reports" + #: src/components/buttons/ScanButton.tsx:15 msgid "Scan QR code" msgstr "Scan QR code" @@ -59,15 +116,15 @@ msgstr "Yes" msgid "No" msgstr "No" -#: src/components/details/Details.tsx:302 +#: src/components/details/Details.tsx:303 msgid "No name defined" msgstr "No name defined" -#: src/components/details/Details.tsx:339 +#: src/components/details/Details.tsx:340 msgid "Copied" msgstr "Copied" -#: src/components/details/Details.tsx:339 +#: src/components/details/Details.tsx:340 msgid "Copy" msgstr "Copy" @@ -80,24 +137,23 @@ msgid "Remove the associated image from this item?" msgstr "Remove the associated image from this item?" #: src/components/details/DetailsImage.tsx:71 -#: src/forms/StockForms.tsx:442 +#: src/forms/StockForms.tsx:483 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:448 +#: src/pages/stock/StockDetail.tsx:462 msgid "Remove" msgstr "Remove" #: src/components/details/DetailsImage.tsx:71 -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:163 -#: src/components/items/ActionDropdown.tsx:222 -#: src/components/items/ActionDropdown.tsx:223 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 +#: src/components/items/ActionDropdown.tsx:229 +#: src/components/items/ActionDropdown.tsx:230 #: src/contexts/ThemeContext.tsx:43 #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:40 -#: src/tables/FilterSelectDrawer.tsx:218 -#: src/tables/InvenTreeTable.tsx:493 -#: src/tables/build/BuildOutputTable.tsx:223 -#: src/tables/plugin/PluginListTable.tsx:365 +#: src/tables/FilterSelectDrawer.tsx:207 +#: src/tables/InvenTreeTable.tsx:499 +#: src/tables/build/BuildOutputTable.tsx:225 msgid "Cancel" msgstr "Cancel" @@ -114,7 +170,7 @@ msgid "Clear" msgstr "Clear" #: src/components/details/DetailsImage.tsx:227 -#: src/components/forms/ApiForm.tsx:554 +#: src/components/forms/ApiForm.tsx:571 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:56 msgid "Submit" @@ -145,9 +201,10 @@ msgid "Part is not active" msgstr "Part is not active" #: src/components/details/PartIcons.tsx:34 -#: src/pages/company/CompanyDetail.tsx:308 -#: src/pages/company/SupplierPartDetail.tsx:304 -#: src/pages/part/PartDetail.tsx:684 +#: src/components/render/Plugin.tsx:17 +#: src/pages/company/CompanyDetail.tsx:310 +#: src/pages/company/SupplierPartDetail.tsx:305 +#: src/pages/part/PartDetail.tsx:685 msgid "Inactive" msgstr "Inactive" @@ -191,10 +248,10 @@ msgid "Code" msgstr "Code" #: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:44 -msgid "Failed to parse error response from server." -msgstr "Failed to parse error response from server." +#~ msgid "Failed to parse error response from server." +#~ msgstr "Failed to parse error response from server." -#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:82 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:81 msgid "Preview not available, click \"Reload Preview\"." msgstr "Preview not available, click \"Reload Preview\"." @@ -202,98 +259,99 @@ msgstr "Preview not available, click \"Reload Preview\"." msgid "PDF Preview" msgstr "PDF Preview" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:113 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:104 msgid "Error loading template" msgstr "Error loading template" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:125 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:116 msgid "Error saving template" msgstr "Error saving template" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 -msgid "Save & Reload preview?" -msgstr "Save & Reload preview?" +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:146 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:270 +msgid "Save & Reload Preview" +msgstr "Save & Reload Preview" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:156 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 msgid "Are you sure you want to Save & Reload the preview?" msgstr "Are you sure you want to Save & Reload the preview?" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 +#~ msgid "Save & Reload preview?" +#~ msgstr "Save & Reload preview?" + +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:153 msgid "To render the preview the current template needs to be replaced on the server with your modifications which may break the label if it is under active use. Do you want to proceed?" msgstr "To render the preview the current template needs to be replaced on the server with your modifications which may break the label if it is under active use. Do you want to proceed?" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:162 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:157 msgid "Save & Reload" msgstr "Save & Reload" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:191 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:189 msgid "Preview updated" msgstr "Preview updated" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:192 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:190 msgid "The preview has been updated successfully." msgstr "The preview has been updated successfully." -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:255 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:262 msgid "Reload preview" msgstr "Reload preview" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:256 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:263 msgid "Use the currently stored template from the server" msgstr "Use the currently stored template from the server" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:263 -msgid "Save & Reload preview" -msgstr "Save & Reload preview" +#~ msgid "Save & Reload preview" +#~ msgstr "Save & Reload preview" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:264 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:271 msgid "Save the current template and reload the preview" msgstr "Save the current template and reload the preview" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:322 -#: src/tables/part/PartThumbTable.tsx:203 -msgid "Select" -msgstr "Select" +#~ msgid "to preview" +#~ msgstr "to preview" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:322 -msgid "to preview" -msgstr "to preview" +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:329 +msgid "Select instance to preview" +msgstr "Select instance to preview" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:366 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:373 msgid "Error rendering template" msgstr "Error rendering template" -#: src/components/forms/ApiForm.tsx:143 +#: src/components/forms/ApiForm.tsx:148 #: src/functions/forms.tsx:259 msgid "Form Error" msgstr "Form Error" -#: src/components/forms/ApiForm.tsx:411 +#: src/components/forms/ApiForm.tsx:428 #: src/components/widgets/MarkdownEditor.tsx:145 msgid "Success" msgstr "Success" #: src/components/forms/ApiForm.tsx:487 -msgid "Form Errors Exist" -msgstr "Form Errors Exist" +#~ msgid "Form Errors Exist" +#~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:592 -#: src/tables/plugin/PluginListTable.tsx:445 +#: src/components/forms/ApiForm.tsx:609 +#: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "Update" -#: src/components/forms/ApiForm.tsx:612 -#: src/components/items/ActionDropdown.tsx:203 +#: src/components/forms/ApiForm.tsx:629 +#: src/components/items/ActionDropdown.tsx:210 #: src/functions/forms.tsx:299 #: src/hooks/UseForm.tsx:122 #: src/pages/Index/Scan.tsx:343 #: src/pages/Notifications.tsx:123 -#: src/tables/InvenTreeTable.tsx:492 +#: src/tables/InvenTreeTable.tsx:498 #: src/tables/RowActions.tsx:71 -#: src/tables/plugin/PluginListTable.tsx:477 -#: src/tables/settings/TemplateTable.tsx:105 -#: src/tables/settings/TemplateTable.tsx:154 -#: src/tables/settings/TemplateTable.tsx:236 +#: src/tables/plugin/PluginListTable.tsx:420 msgid "Delete" msgstr "Delete" @@ -463,18 +521,19 @@ msgstr "Host" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 -#: src/pages/part/CategoryDetail.tsx:77 -#: src/pages/part/PartDetail.tsx:125 -#: src/pages/stock/LocationDetail.tsx:83 +#: src/pages/part/CategoryDetail.tsx:78 +#: src/pages/part/PartDetail.tsx:126 +#: src/pages/stock/LocationDetail.tsx:85 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 #: src/tables/machine/MachineTypeTable.tsx:216 #: src/tables/machine/MachineTypeTable.tsx:319 #: src/tables/plugin/PluginErrorTable.tsx:33 -#: src/tables/plugin/PluginListTable.tsx:169 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:27 +#: src/tables/plugin/PluginListTable.tsx:126 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:32 #: src/tables/settings/GroupTable.tsx:103 #: src/tables/settings/PendingTasksTable.tsx:26 +#: src/tables/stock/LocationTypesTable.tsx:60 msgid "Name" msgstr "Name" @@ -515,35 +574,20 @@ msgstr "Name: {0}" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "State: <0>worker ({0}), <1>plugins{1}" -#: src/components/forms/fields/ApiFormField.tsx:276 -#: src/components/modals/LicenseModal.tsx:75 -#: src/components/nav/SearchDrawer.tsx:413 -#: src/components/widgets/MarkdownEditor.tsx:107 -#: src/components/widgets/MarkdownEditor.tsx:153 -#: src/pages/ErrorPage.tsx:12 -#: src/pages/ErrorPage.tsx:25 -#: src/pages/part/PartPricingPanel.tsx:71 -#: src/tables/InvenTreeTable.tsx:445 -#: src/tables/InvenTreeTable.tsx:525 -#: src/tables/plugin/PluginListTable.tsx:402 -#: src/tables/stock/StockItemTestResultTable.tsx:319 -msgid "Error" -msgstr "Error" - -#: src/components/forms/fields/RelatedModelField.tsx:305 +#: src/components/forms/fields/RelatedModelField.tsx:315 #: src/pages/Index/Settings/UserSettings.tsx:64 #: src/tables/Search.tsx:23 msgid "Search" msgstr "Search" -#: src/components/forms/fields/RelatedModelField.tsx:306 +#: src/components/forms/fields/RelatedModelField.tsx:316 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:120 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "Loading" -#: src/components/forms/fields/RelatedModelField.tsx:308 +#: src/components/forms/fields/RelatedModelField.tsx:318 msgid "No results found" msgstr "No results found" @@ -564,54 +608,51 @@ msgstr "No entries available" msgid "Thumbnail" msgstr "Thumbnail" -#: src/components/items/ActionDropdown.tsx:112 -#: src/pages/build/BuildDetail.tsx:354 +#: src/components/items/ActionDropdown.tsx:119 +#: src/pages/build/BuildDetail.tsx:360 msgid "Barcode Actions" msgstr "Barcode Actions" -#: src/components/items/ActionDropdown.tsx:129 +#: src/components/items/ActionDropdown.tsx:136 msgid "View" msgstr "View" -#: src/components/items/ActionDropdown.tsx:130 +#: src/components/items/ActionDropdown.tsx:137 msgid "View barcode" msgstr "View barcode" -#: src/components/items/ActionDropdown.tsx:146 +#: src/components/items/ActionDropdown.tsx:153 msgid "Link Barcode" msgstr "Link Barcode" -#: src/components/items/ActionDropdown.tsx:147 +#: src/components/items/ActionDropdown.tsx:154 msgid "Link custom barcode" msgstr "Link custom barcode" -#: src/components/items/ActionDropdown.tsx:163 -#: src/forms/PurchaseOrderForms.tsx:375 +#: src/components/items/ActionDropdown.tsx:170 +#: src/forms/PurchaseOrderForms.tsx:389 msgid "Unlink Barcode" msgstr "Unlink Barcode" -#: src/components/items/ActionDropdown.tsx:164 +#: src/components/items/ActionDropdown.tsx:171 msgid "Unlink custom barcode" msgstr "Unlink custom barcode" -#: src/components/items/ActionDropdown.tsx:182 +#: src/components/items/ActionDropdown.tsx:189 #: src/tables/RowActions.tsx:51 -#: src/tables/settings/TemplateTable.tsx:87 -#: src/tables/settings/TemplateTable.tsx:150 -#: src/tables/settings/TemplateTable.tsx:287 msgid "Edit" msgstr "Edit" -#: src/components/items/ActionDropdown.tsx:204 +#: src/components/items/ActionDropdown.tsx:211 msgid "Delete item" msgstr "Delete item" -#: src/components/items/ActionDropdown.tsx:241 +#: src/components/items/ActionDropdown.tsx:248 #: src/tables/RowActions.tsx:31 msgid "Duplicate" msgstr "Duplicate" -#: src/components/items/ActionDropdown.tsx:242 +#: src/components/items/ActionDropdown.tsx:249 msgid "Duplicate item" msgstr "Duplicate item" @@ -620,7 +661,7 @@ msgid "Read More" msgstr "Read More" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:437 +#: src/tables/InvenTreeTable.tsx:443 msgid "Unknown error" msgstr "Unknown error" @@ -780,27 +821,27 @@ msgstr "Error while stopping" #: src/components/modals/QrCodeModal.tsx:154 #: src/defaults/menuItems.tsx:21 -#: src/pages/Index/Scan.tsx:747 +#: src/pages/Index/Scan.tsx:746 msgid "Scanning" msgstr "Scanning" #: src/components/modals/QrCodeModal.tsx:154 -#: src/pages/Index/Scan.tsx:747 +#: src/pages/Index/Scan.tsx:746 msgid "Not scanning" msgstr "Not scanning" #: src/components/modals/QrCodeModal.tsx:159 -#: src/pages/Index/Scan.tsx:753 +#: src/pages/Index/Scan.tsx:752 msgid "Select Camera" msgstr "Select Camera" #: src/components/modals/QrCodeModal.tsx:169 -#: src/pages/Index/Scan.tsx:738 +#: src/pages/Index/Scan.tsx:737 msgid "Start scanning" msgstr "Start scanning" #: src/components/modals/QrCodeModal.tsx:176 -#: src/pages/Index/Scan.tsx:730 +#: src/pages/Index/Scan.tsx:729 msgid "Stop scanning" msgstr "Stop scanning" @@ -886,8 +927,8 @@ msgid "Email settings not configured" msgstr "Email settings not configured" #: src/components/modals/ServerInfoModal.tsx:121 -#: src/tables/plugin/PluginListTable.tsx:187 -#: src/tables/plugin/PluginListTable.tsx:319 +#: src/tables/plugin/PluginListTable.tsx:144 +#: src/tables/plugin/PluginListTable.tsx:294 msgid "Version" msgstr "Version" @@ -921,13 +962,13 @@ msgstr "Account settings" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:293 +#: src/pages/Index/Settings/SystemSettings.tsx:294 msgid "System Settings" msgstr "System Settings" #: src/components/nav/MainMenu.tsx:67 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:172 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 msgid "Admin Center" msgstr "Admin Center" @@ -970,7 +1011,7 @@ msgid "Pages" msgstr "Pages" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:133 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:153 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "Plugins" @@ -1008,9 +1049,9 @@ msgid "Mark as read" msgstr "Mark as read" #: src/components/nav/PartCategoryTree.tsx:158 -#: src/components/render/ModelType.tsx:60 +#: src/components/render/ModelType.tsx:64 #: src/pages/Index/Settings/SystemSettings.tsx:162 -#: src/pages/part/CategoryDetail.tsx:248 +#: src/pages/part/CategoryDetail.tsx:249 msgid "Part Categories" msgstr "Part Categories" @@ -1047,142 +1088,147 @@ msgid "No results available for search query" msgstr "No results available for search query" #: src/components/nav/StockLocationTree.tsx:93 -#: src/components/render/ModelType.tsx:76 -#: src/pages/stock/LocationDetail.tsx:175 +#: src/components/render/ModelType.tsx:82 +#: src/pages/stock/LocationDetail.tsx:185 msgid "Stock Locations" msgstr "Stock Locations" -#: src/components/render/Instance.tsx:137 +#: src/components/render/Instance.tsx:166 msgid "Unknown model: {model}" msgstr "Unknown model: {model}" -#: src/components/render/ModelType.tsx:21 -#: src/forms/BuildForms.tsx:184 -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49 +#: src/components/render/ModelType.tsx:22 +#: src/forms/BuildForms.tsx:201 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:83 #: src/pages/part/PartDetail.tsx:828 #: src/tables/part/RelatedPartTable.tsx:45 +#: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" msgstr "Part" -#: src/components/render/ModelType.tsx:22 +#: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 #: src/pages/Index/Settings/SystemSettings.tsx:167 -#: src/pages/part/CategoryDetail.tsx:109 -#: src/pages/part/CategoryDetail.tsx:234 -#: src/pages/part/CategoryDetail.tsx:264 -#: src/pages/part/PartDetail.tsx:638 +#: src/pages/part/CategoryDetail.tsx:110 +#: src/pages/part/CategoryDetail.tsx:235 +#: src/pages/part/CategoryDetail.tsx:265 +#: src/pages/part/PartDetail.tsx:639 msgid "Parts" msgstr "Parts" -#: src/components/render/ModelType.tsx:29 +#: src/components/render/ModelType.tsx:31 msgid "Part Parameter Template" msgstr "Part Parameter Template" -#: src/components/render/ModelType.tsx:30 +#: src/components/render/ModelType.tsx:32 msgid "Part Parameter Templates" msgstr "Part Parameter Templates" -#: src/components/render/ModelType.tsx:36 +#: src/components/render/ModelType.tsx:38 msgid "Part Test Template" msgstr "Part Test Template" -#: src/components/render/ModelType.tsx:37 +#: src/components/render/ModelType.tsx:39 msgid "Part Test Templates" msgstr "Part Test Templates" -#: src/components/render/ModelType.tsx:43 -#: src/pages/company/SupplierPartDetail.tsx:189 -#: src/pages/company/SupplierPartDetail.tsx:317 -#: src/pages/stock/StockDetail.tsx:159 +#: src/components/render/ModelType.tsx:45 +#: src/pages/company/SupplierPartDetail.tsx:190 +#: src/pages/company/SupplierPartDetail.tsx:318 +#: src/pages/stock/StockDetail.tsx:162 #: src/tables/purchasing/SupplierPartTable.tsx:68 msgid "Supplier Part" msgstr "Supplier Part" -#: src/components/render/ModelType.tsx:44 +#: src/components/render/ModelType.tsx:46 msgid "Supplier Parts" msgstr "Supplier Parts" -#: src/components/render/ModelType.tsx:51 -#: src/pages/company/ManufacturerPartDetail.tsx:124 +#: src/components/render/ModelType.tsx:54 +#: src/pages/company/ManufacturerPartDetail.tsx:125 msgid "Manufacturer Part" msgstr "Manufacturer Part" -#: src/components/render/ModelType.tsx:52 +#: src/components/render/ModelType.tsx:55 msgid "Manufacturer Parts" msgstr "Manufacturer Parts" -#: src/components/render/ModelType.tsx:59 -#: src/pages/part/CategoryDetail.tsx:287 +#: src/components/render/ModelType.tsx:63 +#: src/pages/part/CategoryDetail.tsx:288 msgid "Part Category" msgstr "Part Category" -#: src/components/render/ModelType.tsx:67 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67 -#: src/pages/stock/StockDetail.tsx:535 +#: src/components/render/ModelType.tsx:72 +#: src/pages/stock/StockDetail.tsx:548 +#: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" msgstr "Stock Item" -#: src/components/render/ModelType.tsx:68 -#: src/pages/company/CompanyDetail.tsx:197 -#: src/pages/stock/LocationDetail.tsx:116 -#: src/pages/stock/LocationDetail.tsx:161 +#: src/components/render/ModelType.tsx:73 +#: src/pages/company/CompanyDetail.tsx:199 +#: src/pages/stock/LocationDetail.tsx:118 +#: src/pages/stock/LocationDetail.tsx:171 #: src/pages/stock/LocationDetail.tsx:365 msgid "Stock Items" msgstr "Stock Items" -#: src/components/render/ModelType.tsx:75 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:154 +#: src/components/render/ModelType.tsx:81 msgid "Stock Location" msgstr "Stock Location" -#: src/components/render/ModelType.tsx:83 +#: src/components/render/ModelType.tsx:90 +msgid "Stock Location Type" +msgstr "Stock Location Type" + +#: src/components/render/ModelType.tsx:91 +msgid "Stock Location Types" +msgstr "Stock Location Types" + +#: src/components/render/ModelType.tsx:95 msgid "Stock History" msgstr "Stock History" -#: src/components/render/ModelType.tsx:84 +#: src/components/render/ModelType.tsx:96 msgid "Stock Histories" msgstr "Stock Histories" -#: src/components/render/ModelType.tsx:88 +#: src/components/render/ModelType.tsx:100 #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:43 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:126 msgid "Build" msgstr "Build" -#: src/components/render/ModelType.tsx:89 +#: src/components/render/ModelType.tsx:101 msgid "Builds" msgstr "Builds" -#: src/components/render/ModelType.tsx:96 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:76 +#: src/components/render/ModelType.tsx:109 msgid "Build Line" msgstr "Build Line" -#: src/components/render/ModelType.tsx:97 +#: src/components/render/ModelType.tsx:110 msgid "Build Lines" msgstr "Build Lines" -#: src/components/render/ModelType.tsx:104 -#: src/pages/company/CompanyDetail.tsx:321 +#: src/components/render/ModelType.tsx:117 +#: src/pages/company/CompanyDetail.tsx:323 msgid "Company" msgstr "Company" -#: src/components/render/ModelType.tsx:105 +#: src/components/render/ModelType.tsx:118 msgid "Companies" msgstr "Companies" -#: src/components/render/ModelType.tsx:112 +#: src/components/render/ModelType.tsx:126 #: src/tables/TableHoverCard.tsx:58 #: src/tables/build/BuildOrderTable.tsx:131 #: src/tables/purchasing/PurchaseOrderTable.tsx:64 @@ -1191,171 +1237,200 @@ msgstr "Companies" msgid "Project Code" msgstr "Project Code" -#: src/components/render/ModelType.tsx:113 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:97 +#: src/components/render/ModelType.tsx:127 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:105 msgid "Project Codes" msgstr "Project Codes" -#: src/components/render/ModelType.tsx:119 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99 +#: src/components/render/ModelType.tsx:133 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:355 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:362 +#: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" msgstr "Purchase Order" -#: src/components/render/ModelType.tsx:120 -#: src/pages/Index/Settings/SystemSettings.tsx:242 -#: src/pages/company/CompanyDetail.tsx:190 -#: src/pages/company/SupplierPartDetail.tsx:223 -#: src/pages/part/PartDetail.tsx:571 +#: src/components/render/ModelType.tsx:134 +#: src/pages/Index/Settings/SystemSettings.tsx:243 +#: src/pages/company/CompanyDetail.tsx:192 +#: src/pages/company/SupplierPartDetail.tsx:224 +#: src/pages/part/PartDetail.tsx:572 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "Purchase Orders" -#: src/components/render/ModelType.tsx:127 +#: src/components/render/ModelType.tsx:142 msgid "Purchase Order Line" msgstr "Purchase Order Line" -#: src/components/render/ModelType.tsx:128 +#: src/components/render/ModelType.tsx:143 msgid "Purchase Order Lines" msgstr "Purchase Order Lines" -#: src/components/render/ModelType.tsx:132 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:108 +#: src/components/render/ModelType.tsx:147 #: src/pages/build/BuildDetail.tsx:131 -#: src/pages/sales/SalesOrderDetail.tsx:340 -#: src/pages/stock/StockDetail.tsx:207 +#: src/pages/sales/SalesOrderDetail.tsx:347 +#: src/pages/stock/StockDetail.tsx:210 +#: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" msgstr "Sales Order" -#: src/components/render/ModelType.tsx:133 -#: src/pages/Index/Settings/SystemSettings.tsx:257 -#: src/pages/company/CompanyDetail.tsx:210 -#: src/pages/part/PartDetail.tsx:577 +#: src/components/render/ModelType.tsx:148 +#: src/pages/Index/Settings/SystemSettings.tsx:258 +#: src/pages/company/CompanyDetail.tsx:212 +#: src/pages/part/PartDetail.tsx:578 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "Sales Orders" -#: src/components/render/ModelType.tsx:140 +#: src/components/render/ModelType.tsx:156 msgid "Sales Order Shipment" msgstr "Sales Order Shipment" -#: src/components/render/ModelType.tsx:141 +#: src/components/render/ModelType.tsx:157 msgid "Sales Order Shipments" msgstr "Sales Order Shipments" -#: src/components/render/ModelType.tsx:147 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:117 -#: src/pages/sales/ReturnOrderDetail.tsx:318 +#: src/components/render/ModelType.tsx:163 +#: src/pages/sales/ReturnOrderDetail.tsx:325 +#: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "Return Order" -#: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:272 -#: src/pages/company/CompanyDetail.tsx:217 +#: src/components/render/ModelType.tsx:164 +#: src/pages/Index/Settings/SystemSettings.tsx:273 +#: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" msgstr "Return Orders" -#: src/components/render/ModelType.tsx:155 +#: src/components/render/ModelType.tsx:172 #: src/tables/company/AddressTable.tsx:47 msgid "Address" msgstr "Address" -#: src/components/render/ModelType.tsx:156 -#: src/pages/company/CompanyDetail.tsx:247 +#: src/components/render/ModelType.tsx:173 +#: src/pages/company/CompanyDetail.tsx:249 msgid "Addresses" msgstr "Addresses" -#: src/components/render/ModelType.tsx:162 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:189 -#: src/pages/sales/ReturnOrderDetail.tsx:157 -#: src/pages/sales/SalesOrderDetail.tsx:161 +#: src/components/render/ModelType.tsx:179 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:191 +#: src/pages/sales/ReturnOrderDetail.tsx:159 +#: src/pages/sales/SalesOrderDetail.tsx:163 msgid "Contact" msgstr "Contact" -#: src/components/render/ModelType.tsx:163 -#: src/pages/company/CompanyDetail.tsx:241 +#: src/components/render/ModelType.tsx:180 +#: src/pages/company/CompanyDetail.tsx:243 msgid "Contacts" msgstr "Contacts" -#: src/components/render/ModelType.tsx:169 +#: src/components/render/ModelType.tsx:186 msgid "Owner" msgstr "Owner" -#: src/components/render/ModelType.tsx:170 +#: src/components/render/ModelType.tsx:187 msgid "Owners" msgstr "Owners" -#: src/components/render/ModelType.tsx:176 +#: src/components/render/ModelType.tsx:193 +#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "User" -#: src/components/render/ModelType.tsx:177 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:73 +#: src/components/render/ModelType.tsx:194 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:81 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "Users" -#: src/components/render/Order.tsx:87 +#: src/components/render/ModelType.tsx:200 +msgid "Label Template" +msgstr "Label Template" + +#: src/components/render/ModelType.tsx:201 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:135 +msgid "Label Templates" +msgstr "Label Templates" + +#: src/components/render/ModelType.tsx:207 +msgid "Report Template" +msgstr "Report Template" + +#: src/components/render/ModelType.tsx:208 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:141 +msgid "Report Templates" +msgstr "Report Templates" + +#: src/components/render/ModelType.tsx:214 +msgid "Plugin Configuration" +msgstr "Plugin Configuration" + +#: src/components/render/ModelType.tsx:215 +msgid "Plugin Configurations" +msgstr "Plugin Configurations" + +#: src/components/render/Order.tsx:104 msgid "Shipment" msgstr "Shipment" -#: src/components/render/Part.tsx:12 +#: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:198 -#: src/pages/part/PartDetail.tsx:491 +#: src/pages/Index/Settings/SystemSettings.tsx:199 +#: src/pages/part/PartDetail.tsx:492 #: src/pages/stock/LocationDetail.tsx:344 -#: src/pages/stock/StockDetail.tsx:344 +#: src/pages/stock/StockDetail.tsx:352 #: src/tables/stock/StockItemTable.tsx:57 msgid "Stock" msgstr "Stock" -#: src/components/render/Stock.tsx:26 -#: src/pages/stock/StockDetail.tsx:142 -#: src/pages/stock/StockDetail.tsx:501 +#: src/components/render/Stock.tsx:52 +#: src/pages/stock/StockDetail.tsx:145 +#: src/pages/stock/StockDetail.tsx:514 msgid "Serial Number" msgstr "Serial Number" -#: src/components/render/Stock.tsx:28 -#: src/forms/BuildForms.tsx:189 +#: src/components/render/Stock.tsx:54 +#: src/forms/BuildForms.tsx:206 #: src/pages/part/pricing/BomPricingPanel.tsx:144 -#: src/pages/part/pricing/PriceBreakPanel.tsx:96 -#: src/pages/stock/StockDetail.tsx:137 -#: src/pages/stock/StockDetail.tsx:507 +#: src/pages/part/pricing/PriceBreakPanel.tsx:94 +#: src/pages/stock/StockDetail.tsx:140 +#: src/pages/stock/StockDetail.tsx:520 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:73 +#: src/tables/stock/StockTrackingTable.tsx:59 msgid "Quantity" msgstr "Quantity" -#: src/components/settings/SettingItem.tsx:46 -#: src/components/settings/SettingItem.tsx:99 -msgid "Setting updated" -msgstr "Setting updated" - #: src/components/settings/SettingItem.tsx:47 #: src/components/settings/SettingItem.tsx:100 -msgid "{0} updated successfully" -msgstr "{0} updated successfully" +#~ msgid "{0} updated successfully" +#~ msgstr "{0} updated successfully" -#: src/components/settings/SettingItem.tsx:55 -msgid "Error editing setting" -msgstr "Error editing setting" - -#: src/components/settings/SettingItem.tsx:92 +#: src/components/settings/SettingList.tsx:67 msgid "Edit Setting" msgstr "Edit Setting" -#: src/components/settings/SettingList.tsx:63 +#: src/components/settings/SettingList.tsx:78 +#: src/components/settings/SettingList.tsx:108 +msgid "Setting {0} updated successfully" +msgstr "Setting {0} updated successfully" + +#: src/components/settings/SettingList.tsx:107 +msgid "Setting updated" +msgstr "Setting updated" + +#: src/components/settings/SettingList.tsx:117 +msgid "Error editing setting" +msgstr "Error editing setting" + +#: src/components/settings/SettingList.tsx:158 msgid "No settings specified" msgstr "No settings specified" -#: src/components/tables/ColumnRenderers.tsx:134 -#~ msgid "Shipment Date" -#~ msgstr "Shipment Date" - #: src/components/tables/FilterGroup.tsx:29 #~ msgid "Add table filter" #~ msgstr "Add table filter" @@ -1726,10 +1801,6 @@ msgstr "No settings specified" #~ msgid "This is a test filter" #~ msgstr "This is a test filter" -#: src/components/tables/stock/StockLocationTable.tsx:91 -#~ msgid "Location Type" -#~ msgstr "Location Type" - #: src/components/tables/stock/StockLocationTable.tsx:145 #~ msgid "Stock location updated" #~ msgstr "Stock location updated" @@ -2067,7 +2138,7 @@ msgstr "Current News" #~ msgstr "Local Server" #: src/defaults/links.tsx:11 -#: src/pages/company/CompanyDetail.tsx:90 +#: src/pages/company/CompanyDetail.tsx:92 msgid "Website" msgstr "Website" @@ -2082,10 +2153,10 @@ msgstr "Demo" #: src/defaults/links.tsx:31 #: src/defaults/menuItems.tsx:48 #: src/pages/company/ManufacturerDetail.tsx:9 -#: src/pages/company/ManufacturerPartDetail.tsx:231 +#: src/pages/company/ManufacturerPartDetail.tsx:235 #: src/pages/company/SupplierDetail.tsx:9 -#: src/pages/company/SupplierPartDetail.tsx:291 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:358 +#: src/pages/company/SupplierPartDetail.tsx:292 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:365 #: src/pages/purchasing/PurchasingIndex.tsx:52 msgid "Purchasing" msgstr "Purchasing" @@ -2093,15 +2164,15 @@ msgstr "Purchasing" #: src/defaults/links.tsx:32 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:323 +#: src/pages/sales/ReturnOrderDetail.tsx:330 #: src/pages/sales/SalesIndex.tsx:45 -#: src/pages/sales/SalesOrderDetail.tsx:345 +#: src/pages/sales/SalesOrderDetail.tsx:352 msgid "Sales" msgstr "Sales" #: src/defaults/links.tsx:35 #: src/defaults/menuItems.tsx:71 -#: src/pages/Index/Playground.tsx:239 +#: src/pages/Index/Playground.tsx:238 msgid "Playground" msgstr "Playground" @@ -2235,87 +2306,83 @@ msgstr "View for interactive scanning and multiple actions." #~ msgstr "Combusken battles with the intensely hot flames it spews" #: src/forms/AttachmentForms.tsx:57 -msgid "Add File" -msgstr "Add File" +#~ msgid "Add File" +#~ msgstr "Add File" #: src/forms/AttachmentForms.tsx:57 -msgid "Add Link" -msgstr "Add Link" +#~ msgid "Add Link" +#~ msgstr "Add Link" #: src/forms/AttachmentForms.tsx:58 -msgid "File added" -msgstr "File added" +#~ msgid "File added" +#~ msgstr "File added" #: src/forms/AttachmentForms.tsx:58 -msgid "Link added" -msgstr "Link added" +#~ msgid "Link added" +#~ msgstr "Link added" #: src/forms/AttachmentForms.tsx:99 -msgid "Edit File" -msgstr "Edit File" +#~ msgid "Edit File" +#~ msgstr "Edit File" #: src/forms/AttachmentForms.tsx:99 -msgid "Edit Link" -msgstr "Edit Link" +#~ msgid "Edit Link" +#~ msgstr "Edit Link" #: src/forms/AttachmentForms.tsx:100 -msgid "File updated" -msgstr "File updated" +#~ msgid "File updated" +#~ msgstr "File updated" #: src/forms/AttachmentForms.tsx:100 -msgid "Link updated" -msgstr "Link updated" - -#: src/forms/AttachmentForms.tsx:124 -msgid "Delete Attachment" -msgstr "Delete Attachment" +#~ msgid "Link updated" +#~ msgstr "Link updated" #: src/forms/AttachmentForms.tsx:125 -msgid "Attachment deleted" -msgstr "Attachment deleted" +#~ msgid "Attachment deleted" +#~ msgstr "Attachment deleted" #: src/forms/AttachmentForms.tsx:128 -msgid "Are you sure you want to delete this attachment?" -msgstr "Are you sure you want to delete this attachment?" +#~ msgid "Are you sure you want to delete this attachment?" +#~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BuildForms.tsx:129 +#: src/forms/BuildForms.tsx:146 msgid "Next serial number" msgstr "Next serial number" -#: src/forms/BuildForms.tsx:133 +#: src/forms/BuildForms.tsx:150 msgid "Latest serial number" msgstr "Latest serial number" -#: src/forms/BuildForms.tsx:205 +#: src/forms/BuildForms.tsx:222 msgid "Remove output" msgstr "Remove output" -#: src/forms/BuildForms.tsx:287 +#: src/forms/BuildForms.tsx:304 msgid "Complete Build Outputs" msgstr "Complete Build Outputs" -#: src/forms/BuildForms.tsx:291 +#: src/forms/BuildForms.tsx:308 msgid "Build outputs have been completed" msgstr "Build outputs have been completed" -#: src/forms/BuildForms.tsx:360 +#: src/forms/BuildForms.tsx:377 msgid "Scrap Build Outputs" msgstr "Scrap Build Outputs" -#: src/forms/BuildForms.tsx:364 +#: src/forms/BuildForms.tsx:381 msgid "Build outputs have been scrapped" msgstr "Build outputs have been scrapped" -#: src/forms/BuildForms.tsx:396 -#: src/forms/BuildForms.tsx:420 +#: src/forms/BuildForms.tsx:413 +#: src/forms/BuildForms.tsx:437 msgid "Cancel Build Outputs" msgstr "Cancel Build Outputs" -#: src/forms/BuildForms.tsx:397 +#: src/forms/BuildForms.tsx:414 msgid "Selected build outputs will be deleted" msgstr "Selected build outputs will be deleted" -#: src/forms/BuildForms.tsx:424 +#: src/forms/BuildForms.tsx:441 msgid "Build outputs have been cancelled" msgstr "Build outputs have been cancelled" @@ -2339,76 +2406,76 @@ msgstr "Parent part category" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PurchaseOrderForms.tsx:265 +#: src/forms/PurchaseOrderForms.tsx:279 msgid "Choose Location" msgstr "Choose Location" -#: src/forms/PurchaseOrderForms.tsx:273 +#: src/forms/PurchaseOrderForms.tsx:287 msgid "Item Destination selected" msgstr "Item Destination selected" -#: src/forms/PurchaseOrderForms.tsx:282 +#: src/forms/PurchaseOrderForms.tsx:296 msgid "Part category default location selected" msgstr "Part category default location selected" -#: src/forms/PurchaseOrderForms.tsx:292 +#: src/forms/PurchaseOrderForms.tsx:306 msgid "Received stock location selected" msgstr "Received stock location selected" -#: src/forms/PurchaseOrderForms.tsx:297 +#: src/forms/PurchaseOrderForms.tsx:311 msgid "Default location selected" msgstr "Default location selected" -#: src/forms/PurchaseOrderForms.tsx:308 -#: src/forms/PurchaseOrderForms.tsx:384 +#: src/forms/PurchaseOrderForms.tsx:322 +#: src/forms/PurchaseOrderForms.tsx:398 msgid "Scan Barcode" msgstr "Scan Barcode" -#: src/forms/PurchaseOrderForms.tsx:352 +#: src/forms/PurchaseOrderForms.tsx:366 msgid "Set Location" msgstr "Set Location" -#: src/forms/PurchaseOrderForms.tsx:359 +#: src/forms/PurchaseOrderForms.tsx:373 msgid "Assign Batch Code{0}" msgstr "Assign Batch Code{0}" -#: src/forms/PurchaseOrderForms.tsx:368 +#: src/forms/PurchaseOrderForms.tsx:382 msgid "Change Status" msgstr "Change Status" -#: src/forms/PurchaseOrderForms.tsx:393 -#: src/forms/StockForms.tsx:351 +#: src/forms/PurchaseOrderForms.tsx:407 +#: src/forms/StockForms.tsx:392 msgid "Remove item from list" msgstr "Remove item from list" -#: src/forms/PurchaseOrderForms.tsx:418 -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:58 -#: src/pages/stock/StockDetail.tsx:167 -#: src/tables/ColumnRenderers.tsx:42 +#: src/forms/PurchaseOrderForms.tsx:432 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/pages/stock/StockDetail.tsx:170 +#: src/tables/ColumnRenderers.tsx:34 +#: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "Location" -#: src/forms/PurchaseOrderForms.tsx:434 +#: src/forms/PurchaseOrderForms.tsx:448 msgid "Store at default location" msgstr "Store at default location" -#: src/forms/PurchaseOrderForms.tsx:447 +#: src/forms/PurchaseOrderForms.tsx:461 msgid "Store at line item destination" msgstr "Store at line item destination" -#: src/forms/PurchaseOrderForms.tsx:457 +#: src/forms/PurchaseOrderForms.tsx:471 msgid "Store with already received stock" msgstr "Store with already received stock" -#: src/forms/PurchaseOrderForms.tsx:613 +#: src/forms/PurchaseOrderForms.tsx:627 msgid "Receive Line Items" msgstr "Receive Line Items" @@ -2416,119 +2483,118 @@ msgstr "Receive Line Items" #~ msgid "Receive line items" #~ msgstr "Receive line items" -#: src/forms/StockForms.tsx:69 +#: src/forms/StockForms.tsx:101 msgid "Add given quantity as packs instead of individual items" msgstr "Add given quantity as packs instead of individual items" -#: src/forms/StockForms.tsx:80 -msgid "Enter initial quantity for this stock item" -msgstr "Enter initial quantity for this stock item" - -#: src/forms/StockForms.tsx:85 -msgid "Serial Numbers" -msgstr "Serial Numbers" - -#: src/forms/StockForms.tsx:86 -msgid "Enter serial numbers for new stock (or leave blank)" -msgstr "Enter serial numbers for new stock (or leave blank)" - #: src/forms/StockForms.tsx:110 #~ msgid "Create Stock Item" #~ msgstr "Create Stock Item" -#: src/forms/StockForms.tsx:135 -#: src/pages/stock/StockDetail.tsx:367 -#: src/tables/stock/StockItemTable.tsx:382 -#: src/tables/stock/StockItemTable.tsx:499 -msgid "Add Stock Item" -msgstr "Add Stock Item" +#: src/forms/StockForms.tsx:114 +msgid "Enter initial quantity for this stock item" +msgstr "Enter initial quantity for this stock item" + +#: src/forms/StockForms.tsx:121 +msgid "Serial Numbers" +msgstr "Serial Numbers" + +#: src/forms/StockForms.tsx:122 +msgid "Enter serial numbers for new stock (or leave blank)" +msgstr "Enter serial numbers for new stock (or leave blank)" #: src/forms/StockForms.tsx:158 #~ msgid "Stock item updated" #~ msgstr "Stock item updated" -#: src/forms/StockForms.tsx:298 +#: src/forms/StockForms.tsx:176 +#: src/pages/stock/StockDetail.tsx:375 +#: src/tables/stock/StockItemTable.tsx:382 +#: src/tables/stock/StockItemTable.tsx:499 +msgid "Add Stock Item" +msgstr "Add Stock Item" + +#: src/forms/StockForms.tsx:339 msgid "Loading..." msgstr "Loading..." -#: src/forms/StockForms.tsx:340 +#: src/forms/StockForms.tsx:381 msgid "Move to default location" msgstr "Move to default location" -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/part/PartDetail.tsx:205 -#: src/pages/part/PartDetail.tsx:654 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/pages/part/PartDetail.tsx:206 +#: src/pages/part/PartDetail.tsx:655 #: src/tables/stock/StockItemTable.tsx:290 msgid "In Stock" msgstr "In Stock" -#: src/forms/StockForms.tsx:408 +#: src/forms/StockForms.tsx:449 msgid "Move" msgstr "Move" -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/tables/RowActions.tsx:147 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/tables/RowActions.tsx:149 msgid "Actions" msgstr "Actions" -#: src/forms/StockForms.tsx:471 -#: src/pages/stock/StockDetail.tsx:440 -#: src/tables/settings/TemplateTable.tsx:266 -#: src/tables/stock/StockItemTestResultTable.tsx:348 +#: src/forms/StockForms.tsx:512 +#: src/pages/stock/StockDetail.tsx:454 +#: src/tables/stock/StockItemTestResultTable.tsx:339 msgid "Add" msgstr "Add" -#: src/forms/StockForms.tsx:499 +#: src/forms/StockForms.tsx:540 #: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:430 +#: src/pages/stock/StockDetail.tsx:444 msgid "Count" msgstr "Count" -#: src/forms/StockForms.tsx:744 +#: src/forms/StockForms.tsx:785 msgid "Add Stock" msgstr "Add Stock" -#: src/forms/StockForms.tsx:753 +#: src/forms/StockForms.tsx:794 msgid "Remove Stock" msgstr "Remove Stock" -#: src/forms/StockForms.tsx:762 -#: src/pages/part/PartDetail.tsx:781 +#: src/forms/StockForms.tsx:803 +#: src/pages/part/PartDetail.tsx:782 msgid "Transfer Stock" msgstr "Transfer Stock" -#: src/forms/StockForms.tsx:771 -#: src/pages/part/PartDetail.tsx:770 +#: src/forms/StockForms.tsx:812 +#: src/pages/part/PartDetail.tsx:771 msgid "Count Stock" msgstr "Count Stock" -#: src/forms/StockForms.tsx:780 +#: src/forms/StockForms.tsx:821 msgid "Change Stock Status" msgstr "Change Stock Status" -#: src/forms/StockForms.tsx:789 +#: src/forms/StockForms.tsx:830 msgid "Merge Stock" msgstr "Merge Stock" -#: src/forms/StockForms.tsx:808 +#: src/forms/StockForms.tsx:849 msgid "Delete Stock Items" msgstr "Delete Stock Items" -#: src/forms/StockForms.tsx:815 +#: src/forms/StockForms.tsx:856 msgid "Parent stock location" msgstr "Parent stock location" @@ -2723,7 +2789,7 @@ msgstr "This page is a replacement for the old start page with the same informat msgid "Welcome to your Dashboard{0}" msgstr "Welcome to your Dashboard{0}" -#: src/pages/Index/Playground.tsx:244 +#: src/pages/Index/Playground.tsx:243 msgid "This page is a showcase for the possibilities of Platform UI." msgstr "This page is a showcase for the possibilities of Platform UI." @@ -3133,49 +3199,53 @@ msgstr "Loader" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:79 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:87 msgid "Background Tasks" msgstr "Background Tasks" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:85 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:93 msgid "Error Reports" msgstr "Error Reports" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:91 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:99 msgid "Currencies" msgstr "Currencies" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:109 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:117 msgid "Custom Units" msgstr "Custom Units" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:115 -#: src/pages/part/CategoryDetail.tsx:254 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:123 +#: src/pages/part/CategoryDetail.tsx:255 msgid "Part Parameters" msgstr "Part Parameters" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:121 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 +#~ msgid "Templates" +#~ msgstr "Templates" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:129 msgid "Category Parameters" msgstr "Category Parameters" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 -msgid "Templates" -msgstr "Templates" +#: src/pages/Index/Settings/AdminCenter/Index.tsx:147 +msgid "Location types" +msgstr "Location types" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:139 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:159 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "Machines" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:149 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:169 msgid "Quick Actions" msgstr "Quick Actions" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:154 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 msgid "Add a new user" msgstr "Add a new user" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:173 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:193 msgid "Advanced Options" msgstr "Advanced Options" @@ -3220,26 +3290,32 @@ msgstr "Plugin Errors" msgid "Plugin Settings" msgstr "Plugin Settings" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:25 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:53 +msgid "Background Worker Not Running" +msgstr "Background Worker Not Running" + +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:54 +msgid "The background task manager service is not running. Contact your system administrator." +msgstr "The background task manager service is not running. Contact your system administrator." + +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:60 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:76 msgid "Pending Tasks" msgstr "Pending Tasks" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:33 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:64 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:84 msgid "Scheduled Tasks" msgstr "Scheduled Tasks" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:41 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:68 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:92 msgid "Failed Tasks" msgstr "Failed Tasks" -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:139 -msgid "Labels" -msgstr "Labels" - #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:39 -msgid "Label" -msgstr "Label" +#~ msgid "Label" +#~ msgstr "Label" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67 #~ msgid "Stock item" @@ -3250,13 +3326,13 @@ msgstr "Label" #~ msgstr "Build line" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:88 -msgid "Reports" -msgstr "Reports" +#~ msgid "Reports" +#~ msgstr "Reports" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:89 #: src/pages/build/BuildDetail.tsx:373 -msgid "Report" -msgstr "Report" +#~ msgid "Report" +#~ msgstr "Report" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99 #~ msgid "Purchase order" @@ -3270,14 +3346,9 @@ msgstr "Report" #~ msgid "Return order" #~ msgstr "Return order" -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135 -#: src/pages/part/PartDetail.tsx:518 -msgid "Bill of Materials" -msgstr "Bill of Materials" - #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:145 -msgid "Tests" -msgstr "Tests" +#~ msgid "Tests" +#~ msgstr "Tests" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:154 #~ msgid "Stock location" @@ -3316,26 +3387,30 @@ msgstr "Pricing" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" +#: src/pages/Index/Settings/SystemSettings.tsx:139 +msgid "Labels" +msgstr "Labels" + #: src/pages/Index/Settings/SystemSettings.tsx:145 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "Reporting" -#: src/pages/Index/Settings/SystemSettings.tsx:223 -#: src/pages/part/PartDetail.tsx:589 +#: src/pages/Index/Settings/SystemSettings.tsx:224 +#: src/pages/part/PartDetail.tsx:590 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "Stocktake" -#: src/pages/Index/Settings/SystemSettings.tsx:228 -#: src/pages/build/BuildDetail.tsx:426 +#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:525 -#: src/pages/sales/SalesOrderDetail.tsx:263 +#: src/pages/part/PartDetail.tsx:526 +#: src/pages/sales/SalesOrderDetail.tsx:265 msgid "Build Orders" msgstr "Build Orders" -#: src/pages/Index/Settings/SystemSettings.tsx:296 +#: src/pages/Index/Settings/SystemSettings.tsx:297 msgid "Switch to User Setting" msgstr "Switch to User Setting" @@ -3392,44 +3467,47 @@ msgstr "Mark as unread" #~ msgstr "Build Status" #: src/pages/build/BuildDetail.tsx:89 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:128 -#: src/pages/sales/ReturnOrderDetail.tsx:95 -#: src/pages/sales/SalesOrderDetail.tsx:99 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:130 +#: src/pages/sales/ReturnOrderDetail.tsx:97 +#: src/pages/sales/SalesOrderDetail.tsx:101 #: src/tables/build/BuildOrderTable.tsx:113 #: src/tables/machine/MachineListTable.tsx:326 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderTable.tsx:46 #: src/tables/sales/SalesOrderTable.tsx:52 #: src/tables/stock/StockItemTable.tsx:259 +#: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "Status" #: src/pages/build/BuildDetail.tsx:95 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:101 -#: src/pages/sales/ReturnOrderDetail.tsx:69 -#: src/pages/sales/SalesOrderDetail.tsx:73 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:103 +#: src/pages/sales/ReturnOrderDetail.tsx:71 +#: src/pages/sales/SalesOrderDetail.tsx:75 +#: src/tables/ColumnRenderers.tsx:106 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" msgstr "Reference" #: src/pages/build/BuildDetail.tsx:100 -#: src/pages/company/CompanyDetail.tsx:84 -#: src/pages/company/ManufacturerPartDetail.tsx:75 -#: src/pages/company/SupplierPartDetail.tsx:82 -#: src/pages/part/CategoryDetail.tsx:91 -#: src/pages/part/PartDetail.tsx:132 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:122 -#: src/pages/sales/ReturnOrderDetail.tsx:89 -#: src/pages/sales/SalesOrderDetail.tsx:93 -#: src/pages/stock/LocationDetail.tsx:97 -#: src/tables/ColumnRenderers.tsx:95 +#: src/pages/company/CompanyDetail.tsx:86 +#: src/pages/company/ManufacturerPartDetail.tsx:76 +#: src/pages/company/SupplierPartDetail.tsx:83 +#: src/pages/part/CategoryDetail.tsx:92 +#: src/pages/part/PartDetail.tsx:133 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:124 +#: src/pages/sales/ReturnOrderDetail.tsx:91 +#: src/pages/sales/SalesOrderDetail.tsx:95 +#: src/pages/stock/LocationDetail.tsx:99 +#: src/tables/ColumnRenderers.tsx:66 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 #: src/tables/machine/MachineTypeTable.tsx:323 #: src/tables/part/RelatedPartTable.tsx:64 -#: src/tables/plugin/PluginListTable.tsx:172 -#: src/tables/plugin/PluginListTable.tsx:302 +#: src/tables/plugin/PluginListTable.tsx:129 +#: src/tables/plugin/PluginListTable.tsx:276 +#: src/tables/stock/LocationTypesTable.tsx:65 msgid "Description" msgstr "Description" @@ -3442,7 +3520,7 @@ msgid "Build Quantity" msgstr "Build Quantity" #: src/pages/build/BuildDetail.tsx:126 -#: src/pages/build/BuildDetail.tsx:249 +#: src/pages/build/BuildDetail.tsx:256 msgid "Completed Outputs" msgstr "Completed Outputs" @@ -3452,10 +3530,10 @@ msgid "Issued By" msgstr "Issued By" #: src/pages/build/BuildDetail.tsx:150 -#: src/pages/part/PartDetail.tsx:320 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:214 -#: src/pages/sales/ReturnOrderDetail.tsx:182 -#: src/pages/sales/SalesOrderDetail.tsx:186 +#: src/pages/part/PartDetail.tsx:321 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:184 +#: src/pages/sales/SalesOrderDetail.tsx:188 #: src/tables/build/BuildOrderTable.tsx:148 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 @@ -3469,10 +3547,10 @@ msgid "Created" msgstr "Created" #: src/pages/build/BuildDetail.tsx:164 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:207 -#: src/pages/sales/ReturnOrderDetail.tsx:175 -#: src/pages/sales/SalesOrderDetail.tsx:179 -#: src/tables/ColumnRenderers.tsx:227 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:209 +#: src/pages/sales/ReturnOrderDetail.tsx:177 +#: src/pages/sales/SalesOrderDetail.tsx:181 +#: src/tables/ColumnRenderers.tsx:191 msgid "Target Date" msgstr "Target Date" @@ -3508,6 +3586,11 @@ msgstr "Destination Location" #~ msgid "Unlink custom barcode from part" #~ msgstr "Unlink custom barcode from part" +#: src/pages/build/BuildDetail.tsx:197 +#: src/pages/stock/StockDetail.tsx:526 +msgid "Batch Code" +msgstr "Batch Code" + #: src/pages/build/BuildDetail.tsx:202 #~ msgid "Build Order updated" #~ msgstr "Build Order updated" @@ -3516,86 +3599,87 @@ msgstr "Destination Location" #~ msgid "Edit build order" #~ msgstr "Edit build order" -#: src/pages/build/BuildDetail.tsx:222 -msgid "Build Details" -msgstr "Build Details" - #: src/pages/build/BuildDetail.tsx:226 #~ msgid "Duplicate build order" #~ msgstr "Duplicate build order" -#: src/pages/build/BuildDetail.tsx:228 -#: src/tables/build/BuildLineTable.tsx:225 -msgid "Allocate Stock" -msgstr "Allocate Stock" +#: src/pages/build/BuildDetail.tsx:229 +msgid "Build Details" +msgstr "Build Details" #: src/pages/build/BuildDetail.tsx:231 #~ msgid "Delete build order" #~ msgstr "Delete build order" -#: src/pages/build/BuildDetail.tsx:242 +#: src/pages/build/BuildDetail.tsx:235 +#: src/tables/build/BuildLineTable.tsx:225 +msgid "Allocate Stock" +msgstr "Allocate Stock" + +#: src/pages/build/BuildDetail.tsx:249 msgid "Incomplete Outputs" msgstr "Incomplete Outputs" -#: src/pages/build/BuildDetail.tsx:264 +#: src/pages/build/BuildDetail.tsx:271 msgid "Consumed Stock" msgstr "Consumed Stock" -#: src/pages/build/BuildDetail.tsx:278 +#: src/pages/build/BuildDetail.tsx:285 msgid "Child Build Orders" msgstr "Child Build Orders" -#: src/pages/build/BuildDetail.tsx:288 -#: src/pages/company/CompanyDetail.tsx:253 -#: src/pages/company/ManufacturerPartDetail.tsx:171 -#: src/pages/part/PartDetail.tsx:611 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:276 -#: src/pages/sales/ReturnOrderDetail.tsx:225 -#: src/pages/sales/SalesOrderDetail.tsx:273 -#: src/pages/stock/StockDetail.tsx:317 +#: src/pages/build/BuildDetail.tsx:295 +#: src/pages/company/CompanyDetail.tsx:255 +#: src/pages/company/ManufacturerPartDetail.tsx:172 +#: src/pages/part/PartDetail.tsx:612 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:278 +#: src/pages/sales/ReturnOrderDetail.tsx:227 +#: src/pages/sales/SalesOrderDetail.tsx:275 +#: src/pages/stock/StockDetail.tsx:325 msgid "Attachments" msgstr "Attachments" -#: src/pages/build/BuildDetail.tsx:300 -#: src/pages/company/CompanyDetail.tsx:265 -#: src/pages/part/PartDetail.tsx:623 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:288 -#: src/pages/sales/ReturnOrderDetail.tsx:237 -#: src/pages/sales/SalesOrderDetail.tsx:285 -#: src/pages/stock/StockDetail.tsx:329 +#: src/pages/build/BuildDetail.tsx:307 +#: src/pages/company/CompanyDetail.tsx:267 +#: src/pages/part/PartDetail.tsx:624 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:290 +#: src/pages/sales/ReturnOrderDetail.tsx:239 +#: src/pages/sales/SalesOrderDetail.tsx:287 +#: src/pages/stock/StockDetail.tsx:337 +#: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "Notes" -#: src/pages/build/BuildDetail.tsx:318 +#: src/pages/build/BuildDetail.tsx:325 msgid "Edit Build Order" msgstr "Edit Build Order" -#: src/pages/build/BuildDetail.tsx:327 +#: src/pages/build/BuildDetail.tsx:334 msgid "Cancel Build Order" msgstr "Cancel Build Order" -#: src/pages/build/BuildDetail.tsx:339 +#: src/pages/build/BuildDetail.tsx:346 #: src/tables/build/BuildOrderTable.tsx:167 #: src/tables/build/BuildOrderTable.tsx:182 msgid "Add Build Order" msgstr "Add Build Order" #: src/pages/build/BuildDetail.tsx:368 -msgid "Reporting Actions" -msgstr "Reporting Actions" +#~ msgid "Reporting Actions" +#~ msgstr "Reporting Actions" #: src/pages/build/BuildDetail.tsx:374 -msgid "Print build report" -msgstr "Print build report" +#~ msgid "Print build report" +#~ msgstr "Print build report" -#: src/pages/build/BuildDetail.tsx:380 +#: src/pages/build/BuildDetail.tsx:378 msgid "Build Order Actions" msgstr "Build Order Actions" -#: src/pages/build/BuildDetail.tsx:388 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:326 -#: src/pages/sales/ReturnOrderDetail.tsx:300 -#: src/pages/sales/SalesOrderDetail.tsx:310 +#: src/pages/build/BuildDetail.tsx:386 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:333 +#: src/pages/sales/ReturnOrderDetail.tsx:307 +#: src/pages/sales/SalesOrderDetail.tsx:317 msgid "Cancel order" msgstr "Cancel order" @@ -3607,56 +3691,58 @@ msgstr "Cancel order" #~ msgid "New Build Order" #~ msgstr "New Build Order" -#: src/pages/company/CompanyDetail.tsx:98 +#: src/pages/company/CompanyDetail.tsx:100 msgid "Phone Number" msgstr "Phone Number" -#: src/pages/company/CompanyDetail.tsx:105 +#: src/pages/company/CompanyDetail.tsx:107 msgid "Email Address" msgstr "Email Address" -#: src/pages/company/CompanyDetail.tsx:115 +#: src/pages/company/CompanyDetail.tsx:117 msgid "Default Currency" msgstr "Default Currency" -#: src/pages/company/CompanyDetail.tsx:120 +#: src/pages/company/CompanyDetail.tsx:122 #: src/pages/company/SupplierDetail.tsx:8 -#: src/pages/company/SupplierPartDetail.tsx:106 -#: src/pages/company/SupplierPartDetail.tsx:192 -#: src/pages/company/SupplierPartDetail.tsx:295 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:116 +#: src/pages/company/SupplierPartDetail.tsx:107 +#: src/pages/company/SupplierPartDetail.tsx:193 +#: src/pages/company/SupplierPartDetail.tsx:296 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:118 #: src/tables/company/CompanyTable.tsx:100 #: src/tables/purchasing/PurchaseOrderTable.tsx:88 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:36 msgid "Supplier" msgstr "Supplier" -#: src/pages/company/CompanyDetail.tsx:126 +#: src/pages/company/CompanyDetail.tsx:128 #: src/pages/company/ManufacturerDetail.tsx:8 -#: src/pages/company/ManufacturerPartDetail.tsx:93 -#: src/pages/company/ManufacturerPartDetail.tsx:235 -#: src/pages/company/SupplierPartDetail.tsx:121 +#: src/pages/company/ManufacturerPartDetail.tsx:94 +#: src/pages/company/ManufacturerPartDetail.tsx:239 +#: src/pages/company/SupplierPartDetail.tsx:122 #: src/tables/company/CompanyTable.tsx:105 msgid "Manufacturer" msgstr "Manufacturer" -#: src/pages/company/CompanyDetail.tsx:132 +#: src/pages/company/CompanyDetail.tsx:134 #: src/pages/company/CustomerDetail.tsx:8 #: src/pages/part/pricing/SaleHistoryPanel.tsx:39 -#: src/pages/sales/ReturnOrderDetail.tsx:83 -#: src/pages/sales/SalesOrderDetail.tsx:87 -#: src/pages/stock/StockDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:85 +#: src/pages/sales/SalesOrderDetail.tsx:89 +#: src/pages/stock/StockDetail.tsx:219 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:107 +#: src/tables/stock/StockTrackingTable.tsx:140 msgid "Customer" msgstr "Customer" -#: src/pages/company/CompanyDetail.tsx:166 +#: src/pages/company/CompanyDetail.tsx:168 +#: src/tables/stock/StockTrackingTable.tsx:183 msgid "Details" msgstr "Details" -#: src/pages/company/CompanyDetail.tsx:172 +#: src/pages/company/CompanyDetail.tsx:174 msgid "Manufactured Parts" msgstr "Manufactured Parts" @@ -3664,7 +3750,7 @@ msgstr "Manufactured Parts" #~ msgid "Edit company" #~ msgstr "Edit company" -#: src/pages/company/CompanyDetail.tsx:181 +#: src/pages/company/CompanyDetail.tsx:183 msgid "Supplied Parts" msgstr "Supplied Parts" @@ -3672,289 +3758,289 @@ msgstr "Supplied Parts" #~ msgid "Delete company" #~ msgstr "Delete company" -#: src/pages/company/CompanyDetail.tsx:226 +#: src/pages/company/CompanyDetail.tsx:228 msgid "Assigned Stock" msgstr "Assigned Stock" -#: src/pages/company/CompanyDetail.tsx:281 +#: src/pages/company/CompanyDetail.tsx:283 #: src/tables/company/CompanyTable.tsx:86 msgid "Edit Company" msgstr "Edit Company" -#: src/pages/company/CompanyDetail.tsx:290 +#: src/pages/company/CompanyDetail.tsx:292 msgid "Company Actions" msgstr "Company Actions" -#: src/pages/company/ManufacturerPartDetail.tsx:68 -#: src/pages/company/SupplierPartDetail.tsx:75 +#: src/pages/company/ManufacturerPartDetail.tsx:69 +#: src/pages/company/SupplierPartDetail.tsx:76 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:72 msgid "Internal Part" msgstr "Internal Part" -#: src/pages/company/ManufacturerPartDetail.tsx:83 -#: src/pages/company/SupplierPartDetail.tsx:89 +#: src/pages/company/ManufacturerPartDetail.tsx:84 +#: src/pages/company/SupplierPartDetail.tsx:90 msgid "External Link" msgstr "External Link" -#: src/pages/company/ManufacturerPartDetail.tsx:101 -#: src/pages/company/SupplierPartDetail.tsx:130 -#: src/tables/purchasing/ManufacturerPartTable.tsx:53 +#: src/pages/company/ManufacturerPartDetail.tsx:102 +#: src/pages/company/SupplierPartDetail.tsx:131 +#: src/tables/purchasing/ManufacturerPartTable.tsx:56 msgid "Manufacturer Part Number" msgstr "Manufacturer Part Number" -#: src/pages/company/ManufacturerPartDetail.tsx:130 +#: src/pages/company/ManufacturerPartDetail.tsx:131 msgid "Manufacturer Details" msgstr "Manufacturer Details" -#: src/pages/company/ManufacturerPartDetail.tsx:139 +#: src/pages/company/ManufacturerPartDetail.tsx:140 msgid "Manufacturer Part Details" msgstr "Manufacturer Part Details" -#: src/pages/company/ManufacturerPartDetail.tsx:145 -#: src/pages/part/PartDetail.tsx:485 +#: src/pages/company/ManufacturerPartDetail.tsx:146 +#: src/pages/part/PartDetail.tsx:486 msgid "Parameters" msgstr "Parameters" -#: src/pages/company/ManufacturerPartDetail.tsx:157 -#: src/pages/part/PartDetail.tsx:558 +#: src/pages/company/ManufacturerPartDetail.tsx:158 +#: src/pages/part/PartDetail.tsx:559 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "Suppliers" -#: src/pages/company/ManufacturerPartDetail.tsx:189 -#: src/tables/purchasing/ManufacturerPartTable.tsx:97 +#: src/pages/company/ManufacturerPartDetail.tsx:190 +#: src/tables/purchasing/ManufacturerPartTable.tsx:84 msgid "Edit Manufacturer Part" msgstr "Edit Manufacturer Part" -#: src/pages/company/ManufacturerPartDetail.tsx:196 -#: src/tables/purchasing/ManufacturerPartTable.tsx:63 -#: src/tables/purchasing/ManufacturerPartTable.tsx:78 +#: src/pages/company/ManufacturerPartDetail.tsx:197 +#: src/tables/purchasing/ManufacturerPartTable.tsx:72 +#: src/tables/purchasing/ManufacturerPartTable.tsx:103 msgid "Add Manufacturer Part" msgstr "Add Manufacturer Part" -#: src/pages/company/ManufacturerPartDetail.tsx:209 +#: src/pages/company/ManufacturerPartDetail.tsx:213 msgid "Manufacturer Part Actions" msgstr "Manufacturer Part Actions" -#: src/pages/company/ManufacturerPartDetail.tsx:247 +#: src/pages/company/ManufacturerPartDetail.tsx:251 msgid "ManufacturerPart" msgstr "ManufacturerPart" -#: src/pages/company/SupplierPartDetail.tsx:96 -#: src/tables/ColumnRenderers.tsx:146 +#: src/pages/company/SupplierPartDetail.tsx:97 +#: src/tables/ColumnRenderers.tsx:117 msgid "Note" msgstr "Note" -#: src/pages/company/SupplierPartDetail.tsx:114 +#: src/pages/company/SupplierPartDetail.tsx:115 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:57 msgid "SKU" msgstr "SKU" -#: src/pages/company/SupplierPartDetail.tsx:142 -#: src/pages/company/SupplierPartDetail.tsx:193 -#: src/pages/stock/StockDetail.tsx:230 +#: src/pages/company/SupplierPartDetail.tsx:143 +#: src/pages/company/SupplierPartDetail.tsx:194 +#: src/pages/stock/StockDetail.tsx:233 msgid "Packaging" msgstr "Packaging" -#: src/pages/company/SupplierPartDetail.tsx:149 +#: src/pages/company/SupplierPartDetail.tsx:150 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:107 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143 #: src/tables/purchasing/SupplierPartTable.tsx:131 msgid "Pack Quantity" msgstr "Pack Quantity" -#: src/pages/company/SupplierPartDetail.tsx:160 +#: src/pages/company/SupplierPartDetail.tsx:161 msgid "Supplier Availability" msgstr "Supplier Availability" -#: src/pages/company/SupplierPartDetail.tsx:167 +#: src/pages/company/SupplierPartDetail.tsx:168 msgid "Availability Updated" msgstr "Availability Updated" -#: src/pages/company/SupplierPartDetail.tsx:194 +#: src/pages/company/SupplierPartDetail.tsx:195 msgid "Availability" msgstr "Availability" -#: src/pages/company/SupplierPartDetail.tsx:203 +#: src/pages/company/SupplierPartDetail.tsx:204 msgid "Supplier Part Details" msgstr "Supplier Part Details" -#: src/pages/company/SupplierPartDetail.tsx:209 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:263 +#: src/pages/company/SupplierPartDetail.tsx:210 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:265 msgid "Received Stock" msgstr "Received Stock" -#: src/pages/company/SupplierPartDetail.tsx:233 +#: src/pages/company/SupplierPartDetail.tsx:234 #: src/pages/part/PartPricingPanel.tsx:115 #: src/pages/part/pricing/PricingOverviewPanel.tsx:130 msgid "Supplier Pricing" msgstr "Supplier Pricing" -#: src/pages/company/SupplierPartDetail.tsx:248 +#: src/pages/company/SupplierPartDetail.tsx:249 msgid "Supplier Part Actions" msgstr "Supplier Part Actions" -#: src/pages/company/SupplierPartDetail.tsx:272 +#: src/pages/company/SupplierPartDetail.tsx:273 #: src/tables/purchasing/SupplierPartTable.tsx:210 msgid "Edit Supplier Part" msgstr "Edit Supplier Part" -#: src/pages/company/SupplierPartDetail.tsx:279 +#: src/pages/company/SupplierPartDetail.tsx:280 #: src/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "Add Supplier Part" -#: src/pages/part/CategoryDetail.tsx:83 -#: src/pages/stock/LocationDetail.tsx:89 +#: src/pages/part/CategoryDetail.tsx:84 +#: src/pages/stock/LocationDetail.tsx:91 #: src/tables/settings/ErrorTable.tsx:34 msgid "Path" msgstr "Path" -#: src/pages/part/CategoryDetail.tsx:99 +#: src/pages/part/CategoryDetail.tsx:100 msgid "Parent Category" msgstr "Parent Category" -#: src/pages/part/CategoryDetail.tsx:116 +#: src/pages/part/CategoryDetail.tsx:117 msgid "Subcategories" msgstr "Subcategories" -#: src/pages/part/CategoryDetail.tsx:123 -#: src/pages/stock/LocationDetail.tsx:129 -#: src/tables/part/PartCategoryTable.tsx:69 +#: src/pages/part/CategoryDetail.tsx:124 +#: src/pages/stock/LocationDetail.tsx:131 +#: src/tables/part/PartCategoryTable.tsx:65 msgid "Structural" msgstr "Structural" -#: src/pages/part/CategoryDetail.tsx:129 +#: src/pages/part/CategoryDetail.tsx:130 msgid "Parent default location" msgstr "Parent default location" -#: src/pages/part/CategoryDetail.tsx:136 +#: src/pages/part/CategoryDetail.tsx:137 msgid "Default location" msgstr "Default location" -#: src/pages/part/CategoryDetail.tsx:147 +#: src/pages/part/CategoryDetail.tsx:148 msgid "Top level part category" msgstr "Top level part category" -#: src/pages/part/CategoryDetail.tsx:157 -#: src/pages/part/CategoryDetail.tsx:211 -#: src/tables/part/PartCategoryTable.tsx:96 +#: src/pages/part/CategoryDetail.tsx:158 +#: src/pages/part/CategoryDetail.tsx:212 +#: src/tables/part/PartCategoryTable.tsx:88 msgid "Edit Part Category" msgstr "Edit Part Category" -#: src/pages/part/CategoryDetail.tsx:170 -#: src/pages/stock/LocationDetail.tsx:213 +#: src/pages/part/CategoryDetail.tsx:171 +#: src/pages/stock/LocationDetail.tsx:223 msgid "Delete items" msgstr "Delete items" -#: src/pages/part/CategoryDetail.tsx:178 -#: src/pages/part/CategoryDetail.tsx:216 +#: src/pages/part/CategoryDetail.tsx:179 +#: src/pages/part/CategoryDetail.tsx:217 msgid "Delete Part Category" msgstr "Delete Part Category" -#: src/pages/part/CategoryDetail.tsx:181 +#: src/pages/part/CategoryDetail.tsx:182 msgid "Parts Action" msgstr "Parts Action" -#: src/pages/part/CategoryDetail.tsx:182 +#: src/pages/part/CategoryDetail.tsx:183 msgid "Action for parts in this category" msgstr "Action for parts in this category" -#: src/pages/part/CategoryDetail.tsx:187 +#: src/pages/part/CategoryDetail.tsx:188 msgid "Child Categories Action" msgstr "Child Categories Action" -#: src/pages/part/CategoryDetail.tsx:188 +#: src/pages/part/CategoryDetail.tsx:189 msgid "Action for child categories in this category" msgstr "Action for child categories in this category" -#: src/pages/part/CategoryDetail.tsx:206 +#: src/pages/part/CategoryDetail.tsx:207 msgid "Category Actions" msgstr "Category Actions" -#: src/pages/part/CategoryDetail.tsx:228 +#: src/pages/part/CategoryDetail.tsx:229 msgid "Category Details" msgstr "Category Details" -#: src/pages/part/PartDetail.tsx:138 +#: src/pages/part/PartDetail.tsx:139 msgid "Variant of" msgstr "Variant of" -#: src/pages/part/PartDetail.tsx:145 +#: src/pages/part/PartDetail.tsx:146 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "Category" -#: src/pages/part/PartDetail.tsx:151 +#: src/pages/part/PartDetail.tsx:152 msgid "Default Location" msgstr "Default Location" -#: src/pages/part/PartDetail.tsx:158 +#: src/pages/part/PartDetail.tsx:159 msgid "Category Default Location" msgstr "Category Default Location" -#: src/pages/part/PartDetail.tsx:165 +#: src/pages/part/PartDetail.tsx:166 msgid "IPN" msgstr "IPN" -#: src/pages/part/PartDetail.tsx:172 +#: src/pages/part/PartDetail.tsx:173 msgid "Revision" msgstr "Revision" -#: src/pages/part/PartDetail.tsx:179 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39 +#: src/pages/part/PartDetail.tsx:180 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "Units" -#: src/pages/part/PartDetail.tsx:186 +#: src/pages/part/PartDetail.tsx:187 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "Keywords" -#: src/pages/part/PartDetail.tsx:193 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:180 -#: src/pages/sales/ReturnOrderDetail.tsx:148 -#: src/pages/sales/SalesOrderDetail.tsx:152 +#: src/pages/part/PartDetail.tsx:194 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:182 +#: src/pages/sales/ReturnOrderDetail.tsx:150 +#: src/pages/sales/SalesOrderDetail.tsx:154 msgid "Link" msgstr "Link" -#: src/pages/part/PartDetail.tsx:211 -#: src/tables/bom/BomTable.tsx:269 +#: src/pages/part/PartDetail.tsx:212 +#: src/tables/bom/BomTable.tsx:271 #: src/tables/build/BuildLineTable.tsx:121 msgid "Available Stock" msgstr "Available Stock" -#: src/pages/part/PartDetail.tsx:218 +#: src/pages/part/PartDetail.tsx:219 msgid "Minimum Stock" msgstr "Minimum Stock" -#: src/pages/part/PartDetail.tsx:224 -#: src/tables/bom/BomTable.tsx:210 +#: src/pages/part/PartDetail.tsx:225 +#: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "On order" -#: src/pages/part/PartDetail.tsx:233 +#: src/pages/part/PartDetail.tsx:234 msgid "Allocated to Build Orders" msgstr "Allocated to Build Orders" -#: src/pages/part/PartDetail.tsx:241 +#: src/pages/part/PartDetail.tsx:242 msgid "Allocated to Sales Orders" msgstr "Allocated to Sales Orders" -#: src/pages/part/PartDetail.tsx:248 -#: src/tables/bom/BomTable.tsx:234 +#: src/pages/part/PartDetail.tsx:249 +#: src/tables/bom/BomTable.tsx:236 msgid "Can Build" msgstr "Can Build" -#: src/pages/part/PartDetail.tsx:255 -#: src/tables/bom/BomTable.tsx:218 +#: src/pages/part/PartDetail.tsx:256 +#: src/tables/bom/BomTable.tsx:220 #: src/tables/part/PartTable.tsx:82 msgid "Building" msgstr "Building" -#: src/pages/part/PartDetail.tsx:264 +#: src/pages/part/PartDetail.tsx:265 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 @@ -3963,45 +4049,47 @@ msgstr "Building" #: src/tables/machine/MachineListTable.tsx:585 #: src/tables/part/PartTable.tsx:168 #: src/tables/part/PartVariantTable.tsx:15 -#: src/tables/plugin/PluginListTable.tsx:190 -#: src/tables/plugin/PluginListTable.tsx:638 +#: src/tables/plugin/PluginListTable.tsx:149 +#: src/tables/plugin/PluginListTable.tsx:271 +#: src/tables/plugin/PluginListTable.tsx:563 #: src/tables/purchasing/SupplierPartTable.tsx:98 #: src/tables/purchasing/SupplierPartTable.tsx:187 #: src/tables/stock/StockItemTable.tsx:254 msgid "Active" msgstr "Active" -#: src/pages/part/PartDetail.tsx:269 +#: src/pages/part/PartDetail.tsx:270 msgid "Template Part" msgstr "Template Part" -#: src/pages/part/PartDetail.tsx:274 -#: src/tables/bom/BomTable.tsx:264 +#: src/pages/part/PartDetail.tsx:275 +#: src/tables/bom/BomTable.tsx:266 msgid "Assembled Part" msgstr "Assembled Part" -#: src/pages/part/PartDetail.tsx:279 +#: src/pages/part/PartDetail.tsx:280 msgid "Component Part" msgstr "Component Part" -#: src/pages/part/PartDetail.tsx:284 -#: src/tables/bom/BomTable.tsx:259 +#: src/pages/part/PartDetail.tsx:285 +#: src/tables/bom/BomTable.tsx:261 msgid "Trackable Part" msgstr "Trackable Part" -#: src/pages/part/PartDetail.tsx:289 +#: src/pages/part/PartDetail.tsx:290 msgid "Purchaseable Part" msgstr "Purchaseable Part" -#: src/pages/part/PartDetail.tsx:294 +#: src/pages/part/PartDetail.tsx:295 msgid "Saleable Part" msgstr "Saleable Part" -#: src/pages/part/PartDetail.tsx:299 +#: src/pages/part/PartDetail.tsx:300 msgid "Virtual Part" msgstr "Virtual Part" -#: src/pages/part/PartDetail.tsx:307 +#: src/pages/part/PartDetail.tsx:308 +#: src/tables/ColumnRenderers.tsx:199 msgid "Creation Date" msgstr "Creation Date" @@ -4009,7 +4097,7 @@ msgstr "Creation Date" #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:312 +#: src/pages/part/PartDetail.tsx:313 msgid "Created By" msgstr "Created By" @@ -4017,68 +4105,72 @@ msgstr "Created By" #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:327 -msgid "Default Supplier" -msgstr "Default Supplier" - #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:338 +#: src/pages/part/PartDetail.tsx:328 +msgid "Default Supplier" +msgstr "Default Supplier" + +#: src/pages/part/PartDetail.tsx:339 #: src/tables/part/PartTable.tsx:151 msgid "Price Range" msgstr "Price Range" -#: src/pages/part/PartDetail.tsx:373 -#: src/pages/stock/StockDetail.tsx:127 +#: src/pages/part/PartDetail.tsx:374 +#: src/pages/stock/StockDetail.tsx:130 msgid "Last Stocktake" msgstr "Last Stocktake" -#: src/pages/part/PartDetail.tsx:408 +#: src/pages/part/PartDetail.tsx:409 msgid "Stocktake By" msgstr "Stocktake By" -#: src/pages/part/PartDetail.tsx:479 +#: src/pages/part/PartDetail.tsx:480 msgid "Part Details" msgstr "Part Details" -#: src/pages/part/PartDetail.tsx:505 +#: src/pages/part/PartDetail.tsx:506 msgid "Variants" msgstr "Variants" -#: src/pages/part/PartDetail.tsx:512 -#: src/pages/stock/StockDetail.tsx:275 +#: src/pages/part/PartDetail.tsx:513 +#: src/pages/stock/StockDetail.tsx:283 msgid "Allocations" msgstr "Allocations" -#: src/pages/part/PartDetail.tsx:532 +#: src/pages/part/PartDetail.tsx:519 +msgid "Bill of Materials" +msgstr "Bill of Materials" + +#: src/pages/part/PartDetail.tsx:533 msgid "Used In" msgstr "Used In" -#: src/pages/part/PartDetail.tsx:539 +#: src/pages/part/PartDetail.tsx:540 msgid "Part Pricing" msgstr "Part Pricing" -#: src/pages/part/PartDetail.tsx:545 +#: src/pages/part/PartDetail.tsx:546 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "Manufacturers" -#: src/pages/part/PartDetail.tsx:584 +#: src/pages/part/PartDetail.tsx:585 msgid "Scheduling" msgstr "Scheduling" -#: src/pages/part/PartDetail.tsx:594 +#: src/pages/part/PartDetail.tsx:595 msgid "Test Templates" msgstr "Test Templates" -#: src/pages/part/PartDetail.tsx:605 +#: src/pages/part/PartDetail.tsx:606 msgid "Related Parts" msgstr "Related Parts" -#: src/pages/part/PartDetail.tsx:660 -#: src/pages/stock/StockDetail.tsx:148 +#: src/pages/part/PartDetail.tsx:661 +#: src/pages/stock/StockDetail.tsx:151 #: src/tables/build/BuildLineTable.tsx:36 #: src/tables/part/PartTable.tsx:107 #: src/tables/stock/StockItemTable.tsx:166 @@ -4086,49 +4178,51 @@ msgstr "Related Parts" msgid "Available" msgstr "Available" -#: src/pages/part/PartDetail.tsx:666 +#: src/pages/part/PartDetail.tsx:667 msgid "No Stock" msgstr "No Stock" -#: src/pages/part/PartDetail.tsx:672 -#: src/tables/bom/BomTable.tsx:274 +#: src/pages/part/PartDetail.tsx:673 +#: src/tables/bom/BomTable.tsx:276 #: src/tables/part/PartTable.tsx:76 msgid "On Order" msgstr "On Order" -#: src/pages/part/PartDetail.tsx:678 -#: src/pages/stock/StockDetail.tsx:496 +#: src/pages/part/PartDetail.tsx:679 +#: src/pages/stock/StockDetail.tsx:509 #: src/tables/stock/StockItemTable.tsx:295 msgid "In Production" msgstr "In Production" -#: src/pages/part/PartDetail.tsx:697 +#: src/pages/part/PartDetail.tsx:698 msgid "Edit Part" msgstr "Edit Part" -#: src/pages/part/PartDetail.tsx:704 +#: src/pages/part/PartDetail.tsx:705 #: src/tables/part/PartTable.tsx:266 #: src/tables/part/PartTable.tsx:279 msgid "Add Part" msgstr "Add Part" -#: src/pages/part/PartDetail.tsx:716 +#: src/pages/part/PartDetail.tsx:717 msgid "Delete Part" msgstr "Delete Part" -#: src/pages/part/PartDetail.tsx:725 +#: src/pages/part/PartDetail.tsx:726 msgid "Deleting this part cannot be reversed" msgstr "Deleting this part cannot be reversed" -#: src/pages/part/PartDetail.tsx:763 +#: src/pages/part/PartDetail.tsx:764 +#: src/pages/stock/LocationDetail.tsx:301 +#: src/tables/stock/StockItemTable.tsx:409 msgid "Stock Actions" msgstr "Stock Actions" -#: src/pages/part/PartDetail.tsx:771 +#: src/pages/part/PartDetail.tsx:772 msgid "Count part stock" msgstr "Count part stock" -#: src/pages/part/PartDetail.tsx:782 +#: src/pages/part/PartDetail.tsx:783 msgid "Transfer part stock" msgstr "Transfer part stock" @@ -4194,15 +4288,15 @@ msgstr "Component" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151 #: src/pages/part/pricing/SupplierPricingPanel.tsx:83 -#: src/tables/bom/BomTable.tsx:149 +#: src/tables/bom/BomTable.tsx:151 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 msgid "Unit Price" msgstr "Unit Price" #: src/pages/part/pricing/BomPricingPanel.tsx:173 -#: src/tables/ColumnRenderers.tsx:278 -#: src/tables/bom/BomTable.tsx:158 +#: src/tables/ColumnRenderers.tsx:241 +#: src/tables/bom/BomTable.tsx:160 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 #: src/tables/sales/ReturnOrderTable.tsx:104 #: src/tables/sales/SalesOrderTable.tsx:134 @@ -4224,24 +4318,24 @@ msgid "Bar Chart" msgstr "Bar Chart" #: src/pages/part/pricing/PriceBreakPanel.tsx:63 -#: src/pages/part/pricing/PriceBreakPanel.tsx:117 +#: src/pages/part/pricing/PriceBreakPanel.tsx:115 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:138 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:164 msgid "Add Price Break" msgstr "Add Price Break" #: src/pages/part/pricing/PriceBreakPanel.tsx:76 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:149 msgid "Edit Price Break" msgstr "Edit Price Break" #: src/pages/part/pricing/PriceBreakPanel.tsx:86 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:157 msgid "Delete Price Break" msgstr "Delete Price Break" -#: src/pages/part/pricing/PriceBreakPanel.tsx:102 -#: src/pages/part/pricing/PriceBreakPanel.tsx:193 +#: src/pages/part/pricing/PriceBreakPanel.tsx:100 +#: src/pages/part/pricing/PriceBreakPanel.tsx:191 msgid "Price Break" msgstr "Price Break" @@ -4270,7 +4364,7 @@ msgid "Overall Pricing" msgstr "Overall Pricing" #: src/pages/part/pricing/PricingOverviewPanel.tsx:184 -#: src/pages/stock/StockDetail.tsx:121 +#: src/pages/stock/StockDetail.tsx:124 msgid "Last Updated" msgstr "Last Updated" @@ -4304,9 +4398,8 @@ msgstr "Loading pricing data" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50 #: src/pages/part/pricing/SaleHistoryPanel.tsx:46 -#: src/tables/ColumnRenderers.tsx:217 -#: src/tables/plugin/PluginListTable.tsx:182 -#: src/tables/stock/StockItemTestResultTable.tsx:194 +#: src/tables/ColumnRenderers.tsx:180 +#: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "Date" @@ -4333,89 +4426,89 @@ msgstr "Supplier Price" msgid "Variant Part" msgstr "Variant Part" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:73 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:75 msgid "Edit Purchase Order" msgstr "Edit Purchase Order" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:82 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:84 #: src/tables/purchasing/PurchaseOrderTable.tsx:128 #: src/tables/purchasing/PurchaseOrderTable.tsx:140 msgid "Add Purchase Order" msgstr "Add Purchase Order" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:107 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:109 msgid "Supplier Reference" msgstr "Supplier Reference" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:137 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:252 -#: src/pages/sales/ReturnOrderDetail.tsx:104 -#: src/pages/sales/ReturnOrderDetail.tsx:220 -#: src/pages/sales/SalesOrderDetail.tsx:108 -#: src/pages/sales/SalesOrderDetail.tsx:248 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:139 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:254 +#: src/pages/sales/ReturnOrderDetail.tsx:106 +#: src/pages/sales/ReturnOrderDetail.tsx:222 +#: src/pages/sales/SalesOrderDetail.tsx:110 +#: src/pages/sales/SalesOrderDetail.tsx:250 msgid "Line Items" msgstr "Line Items" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:144 -#: src/pages/sales/ReturnOrderDetail.tsx:111 -#: src/pages/sales/SalesOrderDetail.tsx:115 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:146 +#: src/pages/sales/ReturnOrderDetail.tsx:113 +#: src/pages/sales/SalesOrderDetail.tsx:117 msgid "Completed Line Items" msgstr "Completed Line Items" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:152 -#: src/pages/sales/ReturnOrderDetail.tsx:119 -#: src/pages/sales/SalesOrderDetail.tsx:123 -#: src/pages/sales/SalesOrderDetail.tsx:258 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:121 +#: src/pages/sales/SalesOrderDetail.tsx:125 +#: src/pages/sales/SalesOrderDetail.tsx:260 msgid "Completed Shipments" msgstr "Completed Shipments" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:159 -#: src/pages/sales/ReturnOrderDetail.tsx:127 -#: src/pages/sales/SalesOrderDetail.tsx:131 -msgid "Order Currency" -msgstr "Order Currency" - #: src/pages/purchasing/PurchaseOrderDetail.tsx:159 #: src/pages/sales/ReturnOrderDetail.tsx:126 #: src/pages/sales/SalesOrderDetail.tsx:130 #~ msgid "Order Currency," #~ msgstr "Order Currency," -#: src/pages/purchasing/PurchaseOrderDetail.tsx:166 -#: src/pages/sales/ReturnOrderDetail.tsx:134 -#: src/pages/sales/SalesOrderDetail.tsx:138 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:161 +#: src/pages/sales/ReturnOrderDetail.tsx:129 +#: src/pages/sales/SalesOrderDetail.tsx:133 +msgid "Order Currency" +msgstr "Order Currency" + +#: src/pages/purchasing/PurchaseOrderDetail.tsx:168 +#: src/pages/sales/ReturnOrderDetail.tsx:136 +#: src/pages/sales/SalesOrderDetail.tsx:140 msgid "Total Cost" msgstr "Total Cost" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:201 -#: src/pages/sales/ReturnOrderDetail.tsx:169 -#: src/pages/sales/SalesOrderDetail.tsx:173 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:203 +#: src/pages/sales/ReturnOrderDetail.tsx:171 +#: src/pages/sales/SalesOrderDetail.tsx:175 msgid "Created On" msgstr "Created On" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:246 -#: src/pages/sales/ReturnOrderDetail.tsx:214 -#: src/pages/sales/SalesOrderDetail.tsx:242 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:248 +#: src/pages/sales/ReturnOrderDetail.tsx:216 +#: src/pages/sales/SalesOrderDetail.tsx:244 msgid "Order Details" msgstr "Order Details" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:316 -#: src/pages/sales/ReturnOrderDetail.tsx:290 -#: src/pages/sales/SalesOrderDetail.tsx:302 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:323 +#: src/pages/sales/ReturnOrderDetail.tsx:297 +#: src/pages/sales/SalesOrderDetail.tsx:309 msgid "Order Actions" msgstr "Order Actions" -#: src/pages/sales/ReturnOrderDetail.tsx:75 -#: src/pages/sales/SalesOrderDetail.tsx:79 +#: src/pages/sales/ReturnOrderDetail.tsx:77 +#: src/pages/sales/SalesOrderDetail.tsx:81 #: src/tables/sales/SalesOrderTable.tsx:123 msgid "Customer Reference" msgstr "Customer Reference" -#: src/pages/sales/ReturnOrderDetail.tsx:267 +#: src/pages/sales/ReturnOrderDetail.tsx:269 msgid "Edit Return Order" msgstr "Edit Return Order" -#: src/pages/sales/ReturnOrderDetail.tsx:276 +#: src/pages/sales/ReturnOrderDetail.tsx:278 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" @@ -4425,68 +4518,72 @@ msgstr "Add Return Order" msgid "Customers" msgstr "Customers" -#: src/pages/sales/SalesOrderDetail.tsx:219 +#: src/pages/sales/SalesOrderDetail.tsx:221 msgid "Edit Sales Order" msgstr "Edit Sales Order" -#: src/pages/sales/SalesOrderDetail.tsx:228 +#: src/pages/sales/SalesOrderDetail.tsx:230 #: src/tables/sales/SalesOrderTable.tsx:83 #: src/tables/sales/SalesOrderTable.tsx:95 msgid "Add Sales Order" msgstr "Add Sales Order" -#: src/pages/sales/SalesOrderDetail.tsx:253 +#: src/pages/sales/SalesOrderDetail.tsx:255 msgid "Pending Shipments" msgstr "Pending Shipments" -#: src/pages/stock/LocationDetail.tsx:105 +#: src/pages/stock/LocationDetail.tsx:107 msgid "Parent Location" msgstr "Parent Location" -#: src/pages/stock/LocationDetail.tsx:123 +#: src/pages/stock/LocationDetail.tsx:125 msgid "Sublocations" msgstr "Sublocations" -#: src/pages/stock/LocationDetail.tsx:135 +#: src/pages/stock/LocationDetail.tsx:137 msgid "External" msgstr "External" -#: src/pages/stock/LocationDetail.tsx:144 +#: src/pages/stock/LocationDetail.tsx:143 +msgid "Location Type" +msgstr "Location Type" + +#: src/pages/stock/LocationDetail.tsx:154 msgid "Top level stock location" msgstr "Top level stock location" -#: src/pages/stock/LocationDetail.tsx:155 +#: src/pages/stock/LocationDetail.tsx:165 msgid "Location Details" msgstr "Location Details" -#: src/pages/stock/LocationDetail.tsx:181 +#: src/pages/stock/LocationDetail.tsx:191 msgid "Default Parts" msgstr "Default Parts" -#: src/pages/stock/LocationDetail.tsx:200 +#: src/pages/stock/LocationDetail.tsx:210 #: src/pages/stock/LocationDetail.tsx:328 -#: src/tables/stock/StockLocationTable.tsx:108 +#: src/tables/stock/StockLocationTable.tsx:100 msgid "Edit Stock Location" msgstr "Edit Stock Location" -#: src/pages/stock/LocationDetail.tsx:221 +#: src/pages/stock/LocationDetail.tsx:231 #: src/pages/stock/LocationDetail.tsx:333 msgid "Delete Stock Location" msgstr "Delete Stock Location" -#: src/pages/stock/LocationDetail.tsx:224 +#: src/pages/stock/LocationDetail.tsx:234 msgid "Items Action" msgstr "Items Action" -#: src/pages/stock/LocationDetail.tsx:225 +#: src/pages/stock/LocationDetail.tsx:235 msgid "Action for stock items in this location" msgstr "Action for stock items in this location" -#: src/pages/stock/LocationDetail.tsx:230 +#: src/pages/stock/LocationDetail.tsx:240 msgid "Child Locations Action" msgstr "Child Locations Action" -#: src/pages/stock/LocationDetail.tsx:231 +#: src/pages/stock/LocationDetail.tsx:241 msgid "Action for child locations in this location" msgstr "Action for child locations in this location" @@ -4494,11 +4591,11 @@ msgstr "Action for child locations in this location" msgid "Location Actions" msgstr "Location Actions" -#: src/pages/stock/StockDetail.tsx:100 +#: src/pages/stock/StockDetail.tsx:103 msgid "Base Part" msgstr "Base Part" -#: src/pages/stock/StockDetail.tsx:107 +#: src/pages/stock/StockDetail.tsx:110 msgid "Stock Status" msgstr "Stock Status" @@ -4510,15 +4607,16 @@ msgstr "Stock Status" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:174 +#: src/pages/stock/StockDetail.tsx:177 msgid "Installed In" msgstr "Installed In" -#: src/pages/stock/StockDetail.tsx:190 +#: src/pages/stock/StockDetail.tsx:193 msgid "Consumed By" msgstr "Consumed By" -#: src/pages/stock/StockDetail.tsx:199 +#: src/pages/stock/StockDetail.tsx:202 +#: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" msgstr "Build Order" @@ -4530,78 +4628,78 @@ msgstr "Build Order" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:264 +#: src/pages/stock/StockDetail.tsx:267 msgid "Stock Details" msgstr "Stock Details" -#: src/pages/stock/StockDetail.tsx:270 +#: src/pages/stock/StockDetail.tsx:273 msgid "Stock Tracking" msgstr "Stock Tracking" -#: src/pages/stock/StockDetail.tsx:282 +#: src/pages/stock/StockDetail.tsx:290 msgid "Test Data" msgstr "Test Data" -#: src/pages/stock/StockDetail.tsx:296 +#: src/pages/stock/StockDetail.tsx:304 msgid "Installed Items" msgstr "Installed Items" -#: src/pages/stock/StockDetail.tsx:303 +#: src/pages/stock/StockDetail.tsx:311 msgid "Child Items" msgstr "Child Items" -#: src/pages/stock/StockDetail.tsx:358 +#: src/pages/stock/StockDetail.tsx:366 msgid "Edit Stock Item" msgstr "Edit Stock Item" -#: src/pages/stock/StockDetail.tsx:385 +#: src/pages/stock/StockDetail.tsx:393 msgid "Delete Stock Item" msgstr "Delete Stock Item" -#: src/pages/stock/StockDetail.tsx:426 -msgid "Stock Operations" -msgstr "Stock Operations" - -#: src/pages/stock/StockDetail.tsx:431 -msgid "Count stock" -msgstr "Count stock" - #: src/pages/stock/StockDetail.tsx:433 #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:441 +#: src/pages/stock/StockDetail.tsx:440 +msgid "Stock Operations" +msgstr "Stock Operations" + +#: src/pages/stock/StockDetail.tsx:445 +msgid "Count stock" +msgstr "Count stock" + +#: src/pages/stock/StockDetail.tsx:455 #: src/tables/stock/StockItemTable.tsx:414 msgid "Add stock" msgstr "Add stock" -#: src/pages/stock/StockDetail.tsx:449 +#: src/pages/stock/StockDetail.tsx:463 #: src/tables/stock/StockItemTable.tsx:423 msgid "Remove stock" msgstr "Remove stock" -#: src/pages/stock/StockDetail.tsx:456 +#: src/pages/stock/StockDetail.tsx:470 msgid "Transfer" msgstr "Transfer" -#: src/pages/stock/StockDetail.tsx:457 +#: src/pages/stock/StockDetail.tsx:471 #: src/tables/stock/StockItemTable.tsx:443 msgid "Transfer stock" msgstr "Transfer stock" -#: src/pages/stock/StockDetail.tsx:469 +#: src/pages/stock/StockDetail.tsx:482 msgid "Stock Item Actions" msgstr "Stock Item Actions" -#: src/pages/stock/StockDetail.tsx:513 -msgid "Batch Code" -msgstr "Batch Code" - -#: src/tables/ColumnRenderers.tsx:50 +#: src/tables/ColumnRenderers.tsx:42 msgid "No location set" msgstr "No location set" -#: src/tables/ColumnRenderers.tsx:264 +#: src/tables/ColumnRenderers.tsx:207 +msgid "Shipment Date" +msgstr "Shipment Date" + +#: src/tables/ColumnRenderers.tsx:227 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "Currency" @@ -4611,21 +4709,33 @@ msgstr "Currency" msgid "Select Columns" msgstr "Select Columns" -#: src/tables/DownloadAction.tsx:11 +#: src/tables/DownloadAction.tsx:13 +#~ msgid "Excel" +#~ msgstr "Excel" + +#: src/tables/DownloadAction.tsx:21 +#~ msgid "Download selected data" +#~ msgstr "Download selected data" + +#: src/tables/DownloadAction.tsx:22 msgid "CSV" msgstr "CSV" -#: src/tables/DownloadAction.tsx:12 +#: src/tables/DownloadAction.tsx:23 msgid "TSV" msgstr "TSV" -#: src/tables/DownloadAction.tsx:13 -msgid "Excel" -msgstr "Excel" +#: src/tables/DownloadAction.tsx:24 +msgid "Excel (.xls)" +msgstr "Excel (.xls)" -#: src/tables/DownloadAction.tsx:21 -msgid "Download selected data" -msgstr "Download selected data" +#: src/tables/DownloadAction.tsx:25 +msgid "Excel (.xlsx)" +msgstr "Excel (.xlsx)" + +#: src/tables/DownloadAction.tsx:39 +msgid "Download Data" +msgstr "Download Data" #: src/tables/Filter.tsx:88 #: src/tables/build/BuildOrderTable.tsx:126 @@ -4658,102 +4768,102 @@ msgstr "Show overdue orders" msgid "Remove filter" msgstr "Remove filter" -#: src/tables/FilterSelectDrawer.tsx:147 +#: src/tables/FilterSelectDrawer.tsx:136 msgid "Select filter" msgstr "Select filter" -#: src/tables/FilterSelectDrawer.tsx:148 +#: src/tables/FilterSelectDrawer.tsx:137 msgid "Filter" msgstr "Filter" -#: src/tables/FilterSelectDrawer.tsx:155 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:33 -#: src/tables/stock/StockItemTestResultTable.tsx:182 +#: src/tables/FilterSelectDrawer.tsx:144 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 +#: src/tables/stock/StockItemTestResultTable.tsx:180 msgid "Value" msgstr "Value" -#: src/tables/FilterSelectDrawer.tsx:156 +#: src/tables/FilterSelectDrawer.tsx:145 msgid "Select filter value" msgstr "Select filter value" -#: src/tables/FilterSelectDrawer.tsx:196 +#: src/tables/FilterSelectDrawer.tsx:185 msgid "Table Filters" msgstr "Table Filters" -#: src/tables/FilterSelectDrawer.tsx:228 +#: src/tables/FilterSelectDrawer.tsx:217 msgid "Add Filter" msgstr "Add Filter" -#: src/tables/FilterSelectDrawer.tsx:237 +#: src/tables/FilterSelectDrawer.tsx:226 msgid "Clear Filters" msgstr "Clear Filters" -#: src/tables/InvenTreeTable.tsx:118 -#: src/tables/InvenTreeTable.tsx:384 -#: src/tables/InvenTreeTable.tsx:405 +#: src/tables/InvenTreeTable.tsx:119 +#: src/tables/InvenTreeTable.tsx:390 +#: src/tables/InvenTreeTable.tsx:411 msgid "No records found" msgstr "No records found" -#: src/tables/InvenTreeTable.tsx:416 +#: src/tables/InvenTreeTable.tsx:422 msgid "Server returned incorrect data type" msgstr "Server returned incorrect data type" -#: src/tables/InvenTreeTable.tsx:424 +#: src/tables/InvenTreeTable.tsx:430 msgid "Bad request" msgstr "Bad request" -#: src/tables/InvenTreeTable.tsx:427 +#: src/tables/InvenTreeTable.tsx:433 msgid "Unauthorized" msgstr "Unauthorized" -#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:436 msgid "Forbidden" msgstr "Forbidden" -#: src/tables/InvenTreeTable.tsx:433 +#: src/tables/InvenTreeTable.tsx:439 msgid "Not found" msgstr "Not found" -#: src/tables/InvenTreeTable.tsx:482 -#: src/tables/InvenTreeTable.tsx:604 +#: src/tables/InvenTreeTable.tsx:488 +#: src/tables/InvenTreeTable.tsx:611 msgid "Delete selected records" msgstr "Delete selected records" -#: src/tables/InvenTreeTable.tsx:486 +#: src/tables/InvenTreeTable.tsx:492 msgid "Are you sure you want to delete the selected records?" msgstr "Are you sure you want to delete the selected records?" -#: src/tables/InvenTreeTable.tsx:488 +#: src/tables/InvenTreeTable.tsx:494 msgid "This action cannot be undone!" msgstr "This action cannot be undone!" -#: src/tables/InvenTreeTable.tsx:516 +#: src/tables/InvenTreeTable.tsx:522 msgid "Deleted records" msgstr "Deleted records" -#: src/tables/InvenTreeTable.tsx:517 +#: src/tables/InvenTreeTable.tsx:523 msgid "Records were deleted successfully" msgstr "Records were deleted successfully" -#: src/tables/InvenTreeTable.tsx:526 +#: src/tables/InvenTreeTable.tsx:532 msgid "Failed to delete records" msgstr "Failed to delete records" -#: src/tables/InvenTreeTable.tsx:585 -#: src/tables/InvenTreeTable.tsx:586 +#: src/tables/InvenTreeTable.tsx:594 +#: src/tables/InvenTreeTable.tsx:595 +#~ msgid "Print actions" +#~ msgstr "Print actions" + +#: src/tables/InvenTreeTable.tsx:601 +#: src/tables/InvenTreeTable.tsx:602 msgid "Barcode actions" msgstr "Barcode actions" -#: src/tables/InvenTreeTable.tsx:594 -#: src/tables/InvenTreeTable.tsx:595 -msgid "Print actions" -msgstr "Print actions" - -#: src/tables/InvenTreeTable.tsx:620 +#: src/tables/InvenTreeTable.tsx:630 msgid "Refresh data" msgstr "Refresh data" -#: src/tables/InvenTreeTable.tsx:638 +#: src/tables/InvenTreeTable.tsx:648 msgid "Table filters" msgstr "Table filters" @@ -4765,138 +4875,138 @@ msgstr "This BOM item is defined for a different parent" msgid "Part Information" msgstr "Part Information" -#: src/tables/bom/BomTable.tsx:177 +#: src/tables/bom/BomTable.tsx:179 #: src/tables/part/PartTable.tsx:124 msgid "No stock" msgstr "No stock" -#: src/tables/bom/BomTable.tsx:185 +#: src/tables/bom/BomTable.tsx:187 #: src/tables/build/BuildLineTable.tsx:104 #: src/tables/part/PartTable.tsx:115 msgid "External stock" msgstr "External stock" -#: src/tables/bom/BomTable.tsx:193 +#: src/tables/bom/BomTable.tsx:195 #: src/tables/build/BuildLineTable.tsx:67 msgid "Includes substitute stock" msgstr "Includes substitute stock" -#: src/tables/bom/BomTable.tsx:202 +#: src/tables/bom/BomTable.tsx:204 #: src/tables/build/BuildLineTable.tsx:77 msgid "Includes variant stock" msgstr "Includes variant stock" -#: src/tables/bom/BomTable.tsx:227 +#: src/tables/bom/BomTable.tsx:229 #: src/tables/part/PartTable.tsx:143 #: src/tables/stock/StockItemTable.tsx:205 msgid "Stock Information" msgstr "Stock Information" -#: src/tables/bom/BomTable.tsx:239 +#: src/tables/bom/BomTable.tsx:241 #: src/tables/build/BuildLineTable.tsx:195 msgid "Consumable item" msgstr "Consumable item" -#: src/tables/bom/BomTable.tsx:260 +#: src/tables/bom/BomTable.tsx:262 msgid "Show trackable items" msgstr "Show trackable items" -#: src/tables/bom/BomTable.tsx:265 +#: src/tables/bom/BomTable.tsx:267 msgid "Show asssmbled items" msgstr "Show asssmbled items" -#: src/tables/bom/BomTable.tsx:270 +#: src/tables/bom/BomTable.tsx:272 msgid "Show items with available stock" msgstr "Show items with available stock" -#: src/tables/bom/BomTable.tsx:275 +#: src/tables/bom/BomTable.tsx:277 msgid "Show items on order" msgstr "Show items on order" -#: src/tables/bom/BomTable.tsx:279 +#: src/tables/bom/BomTable.tsx:281 msgid "Validated" msgstr "Validated" -#: src/tables/bom/BomTable.tsx:280 +#: src/tables/bom/BomTable.tsx:282 msgid "Show validated items" msgstr "Show validated items" -#: src/tables/bom/BomTable.tsx:284 +#: src/tables/bom/BomTable.tsx:286 #: src/tables/bom/UsedInTable.tsx:63 msgid "Inherited" msgstr "Inherited" -#: src/tables/bom/BomTable.tsx:285 +#: src/tables/bom/BomTable.tsx:287 #: src/tables/bom/UsedInTable.tsx:64 msgid "Show inherited items" msgstr "Show inherited items" -#: src/tables/bom/BomTable.tsx:289 +#: src/tables/bom/BomTable.tsx:291 #: src/tables/bom/UsedInTable.tsx:68 #: src/tables/build/BuildLineTable.tsx:46 msgid "Optional" msgstr "Optional" -#: src/tables/bom/BomTable.tsx:290 +#: src/tables/bom/BomTable.tsx:292 #: src/tables/bom/UsedInTable.tsx:69 msgid "Show optional items" msgstr "Show optional items" -#: src/tables/bom/BomTable.tsx:294 +#: src/tables/bom/BomTable.tsx:296 #: src/tables/build/BuildLineTable.tsx:41 msgid "Consumable" msgstr "Consumable" -#: src/tables/bom/BomTable.tsx:295 +#: src/tables/bom/BomTable.tsx:297 msgid "Show consumable items" msgstr "Show consumable items" -#: src/tables/bom/BomTable.tsx:299 +#: src/tables/bom/BomTable.tsx:301 msgid "Has Pricing" msgstr "Has Pricing" -#: src/tables/bom/BomTable.tsx:300 -msgid "Show items with pricing" -msgstr "Show items with pricing" - #: src/tables/bom/BomTable.tsx:301 #~ msgid "Create BOM Item" #~ msgstr "Create BOM Item" -#: src/tables/bom/BomTable.tsx:309 -#: src/tables/bom/BomTable.tsx:397 +#: src/tables/bom/BomTable.tsx:302 +msgid "Show items with pricing" +msgstr "Show items with pricing" + +#: src/tables/bom/BomTable.tsx:311 +#: src/tables/bom/BomTable.tsx:399 msgid "Add BOM Item" msgstr "Add BOM Item" -#: src/tables/bom/BomTable.tsx:314 +#: src/tables/bom/BomTable.tsx:316 msgid "BOM item created" msgstr "BOM item created" -#: src/tables/bom/BomTable.tsx:321 +#: src/tables/bom/BomTable.tsx:323 msgid "Edit BOM Item" msgstr "Edit BOM Item" -#: src/tables/bom/BomTable.tsx:323 +#: src/tables/bom/BomTable.tsx:325 msgid "BOM item updated" msgstr "BOM item updated" -#: src/tables/bom/BomTable.tsx:330 -msgid "Delete BOM Item" -msgstr "Delete BOM Item" - -#: src/tables/bom/BomTable.tsx:331 -msgid "BOM item deleted" -msgstr "BOM item deleted" - #: src/tables/bom/BomTable.tsx:331 #~ msgid "Edit Bom Item" #~ msgstr "Edit Bom Item" +#: src/tables/bom/BomTable.tsx:332 +msgid "Delete BOM Item" +msgstr "Delete BOM Item" + +#: src/tables/bom/BomTable.tsx:333 +msgid "BOM item deleted" +msgstr "BOM item deleted" + #: src/tables/bom/BomTable.tsx:333 #~ msgid "Bom item updated" #~ msgstr "Bom item updated" -#: src/tables/bom/BomTable.tsx:341 +#: src/tables/bom/BomTable.tsx:343 msgid "View BOM" msgstr "View BOM" @@ -4912,11 +5022,11 @@ msgstr "View BOM" #~ msgid "Are you sure you want to remove this BOM item?" #~ msgstr "Are you sure you want to remove this BOM item?" -#: src/tables/bom/BomTable.tsx:352 +#: src/tables/bom/BomTable.tsx:354 msgid "Validate BOM line" msgstr "Validate BOM line" -#: src/tables/bom/BomTable.tsx:360 +#: src/tables/bom/BomTable.tsx:362 msgid "Edit Substitutes" msgstr "Edit Substitutes" @@ -5033,11 +5143,11 @@ msgid "Filter by responsible owner" msgstr "Filter by responsible owner" #: src/tables/build/BuildOutputTable.tsx:114 -#: src/tables/build/BuildOutputTable.tsx:150 +#: src/tables/build/BuildOutputTable.tsx:152 msgid "Add Build Output" msgstr "Add Build Output" -#: src/tables/build/BuildOutputTable.tsx:155 +#: src/tables/build/BuildOutputTable.tsx:157 msgid "Complete selected outputs" msgstr "Complete selected outputs" @@ -5045,68 +5155,68 @@ msgstr "Complete selected outputs" #~ msgid "Delete build output" #~ msgstr "Delete build output" -#: src/tables/build/BuildOutputTable.tsx:165 +#: src/tables/build/BuildOutputTable.tsx:167 msgid "Scrap selected outputs" msgstr "Scrap selected outputs" -#: src/tables/build/BuildOutputTable.tsx:175 +#: src/tables/build/BuildOutputTable.tsx:177 msgid "Cancel selected outputs" msgstr "Cancel selected outputs" -#: src/tables/build/BuildOutputTable.tsx:191 +#: src/tables/build/BuildOutputTable.tsx:193 msgid "Allocate" msgstr "Allocate" -#: src/tables/build/BuildOutputTable.tsx:192 +#: src/tables/build/BuildOutputTable.tsx:194 msgid "Allocate stock to build output" msgstr "Allocate stock to build output" -#: src/tables/build/BuildOutputTable.tsx:197 +#: src/tables/build/BuildOutputTable.tsx:199 msgid "Deallocate" msgstr "Deallocate" -#: src/tables/build/BuildOutputTable.tsx:198 +#: src/tables/build/BuildOutputTable.tsx:200 msgid "Deallocate stock from build output" msgstr "Deallocate stock from build output" -#: src/tables/build/BuildOutputTable.tsx:203 +#: src/tables/build/BuildOutputTable.tsx:205 msgid "Complete" msgstr "Complete" -#: src/tables/build/BuildOutputTable.tsx:204 +#: src/tables/build/BuildOutputTable.tsx:206 msgid "Complete build output" msgstr "Complete build output" -#: src/tables/build/BuildOutputTable.tsx:213 +#: src/tables/build/BuildOutputTable.tsx:215 msgid "Scrap" msgstr "Scrap" -#: src/tables/build/BuildOutputTable.tsx:214 +#: src/tables/build/BuildOutputTable.tsx:216 msgid "Scrap build output" msgstr "Scrap build output" -#: src/tables/build/BuildOutputTable.tsx:224 +#: src/tables/build/BuildOutputTable.tsx:226 msgid "Cancel build output" msgstr "Cancel build output" -#: src/tables/build/BuildOutputTable.tsx:251 +#: src/tables/build/BuildOutputTable.tsx:253 msgid "Build Output" msgstr "Build Output" -#: src/tables/build/BuildOutputTable.tsx:264 +#: src/tables/build/BuildOutputTable.tsx:266 msgid "Batch" msgstr "Batch" -#: src/tables/build/BuildOutputTable.tsx:278 +#: src/tables/build/BuildOutputTable.tsx:280 msgid "Allocated Items" msgstr "Allocated Items" -#: src/tables/build/BuildOutputTable.tsx:288 +#: src/tables/build/BuildOutputTable.tsx:290 msgid "Required Tests" msgstr "Required Tests" -#: src/tables/build/BuildOutputTable.tsx:317 -#: src/tables/stock/StockItemTestResultTable.tsx:146 +#: src/tables/build/BuildOutputTable.tsx:319 +#: src/tables/stock/StockItemTestResultTable.tsx:144 msgid "Test Results" msgstr "Test Results" @@ -5127,7 +5237,7 @@ msgstr "Edit Address" msgid "Delete Address" msgstr "Delete Address" -#: src/tables/company/AddressTable.tsx:145 +#: src/tables/company/AddressTable.tsx:144 msgid "Are you sure you want to delete this address?" msgstr "Are you sure you want to delete this address?" @@ -5172,37 +5282,53 @@ msgstr "Delete Contact" msgid "Add contact" msgstr "Add contact" -#: src/tables/general/AttachmentTable.tsx:161 +#: src/tables/general/AttachmentTable.tsx:130 msgid "File uploaded" msgstr "File uploaded" -#: src/tables/general/AttachmentTable.tsx:162 +#: src/tables/general/AttachmentTable.tsx:131 msgid "File {0} uploaded successfully" msgstr "File {0} uploaded successfully" -#: src/tables/general/AttachmentTable.tsx:173 +#: src/tables/general/AttachmentTable.tsx:142 msgid "Upload Error" msgstr "Upload Error" -#: src/tables/general/AttachmentTable.tsx:174 +#: src/tables/general/AttachmentTable.tsx:143 msgid "File could not be uploaded" msgstr "File could not be uploaded" #: src/tables/general/AttachmentTable.tsx:187 +msgid "Upload Attachment" +msgstr "Upload Attachment" + +#: src/tables/general/AttachmentTable.tsx:197 +msgid "Edit Attachment" +msgstr "Edit Attachment" + +#: src/tables/general/AttachmentTable.tsx:211 +msgid "Delete Attachment" +msgstr "Delete Attachment" + +#: src/tables/general/AttachmentTable.tsx:221 msgid "Add attachment" msgstr "Add attachment" -#: src/tables/general/AttachmentTable.tsx:207 +#: src/tables/general/AttachmentTable.tsx:232 msgid "Add external link" msgstr "Add external link" -#: src/tables/general/AttachmentTable.tsx:239 +#: src/tables/general/AttachmentTable.tsx:254 +#~ msgid "Upload attachment" +#~ msgstr "Upload attachment" + +#: src/tables/general/AttachmentTable.tsx:289 msgid "No attachments found" msgstr "No attachments found" -#: src/tables/general/AttachmentTable.tsx:254 -msgid "Upload attachment" -msgstr "Upload attachment" +#: src/tables/general/AttachmentTable.tsx:325 +msgid "Drag attachment file here to upload" +msgstr "Drag attachment file here to upload" #: src/tables/machine/MachineListTable.tsx:199 msgid "Machine restarted" @@ -5327,8 +5453,8 @@ msgstr "Provider file" #: src/tables/machine/MachineTypeTable.tsx:135 #: src/tables/machine/MachineTypeTable.tsx:255 -#: src/tables/plugin/PluginListTable.tsx:215 -#: src/tables/plugin/PluginListTable.tsx:643 +#: src/tables/plugin/PluginListTable.tsx:180 +#: src/tables/plugin/PluginListTable.tsx:568 msgid "Builtin" msgstr "Builtin" @@ -5370,7 +5496,7 @@ msgid "Message" msgstr "Message" #: src/tables/part/ParametricPartTable.tsx:75 -#: src/tables/part/PartParameterTable.tsx:87 +#: src/tables/part/PartParameterTable.tsx:88 msgid "Internal Units" msgstr "Internal Units" @@ -5383,29 +5509,29 @@ msgid "Add Part Parameter" msgstr "Add Part Parameter" #: src/tables/part/ParametricPartTable.tsx:147 -#: src/tables/part/PartParameterTable.tsx:128 -#: src/tables/part/PartParameterTable.tsx:150 +#: src/tables/part/PartParameterTable.tsx:121 +#: src/tables/part/PartParameterTable.tsx:144 msgid "Edit Part Parameter" msgstr "Edit Part Parameter" -#: src/tables/part/PartCategoryTable.tsx:64 +#: src/tables/part/PartCategoryTable.tsx:60 #: src/tables/part/PartTable.tsx:180 msgid "Include Subcategories" msgstr "Include Subcategories" -#: src/tables/part/PartCategoryTable.tsx:65 +#: src/tables/part/PartCategoryTable.tsx:61 msgid "Include subcategories in results" msgstr "Include subcategories in results" -#: src/tables/part/PartCategoryTable.tsx:70 +#: src/tables/part/PartCategoryTable.tsx:66 msgid "Show structural categories" msgstr "Show structural categories" -#: src/tables/part/PartCategoryTable.tsx:77 +#: src/tables/part/PartCategoryTable.tsx:73 msgid "New Part Category" msgstr "New Part Category" -#: src/tables/part/PartCategoryTable.tsx:106 +#: src/tables/part/PartCategoryTable.tsx:98 msgid "Add Part Category" msgstr "Add Part Category" @@ -5430,20 +5556,20 @@ msgstr "Parameter Template" #~ msgid "[{0}]" #~ msgstr "[{0}]" -#: src/tables/part/PartParameterTable.tsx:112 +#: src/tables/part/PartParameterTable.tsx:105 msgid "New Part Parameter" msgstr "New Part Parameter" -#: src/tables/part/PartParameterTable.tsx:136 -#: src/tables/part/PartParameterTable.tsx:158 +#: src/tables/part/PartParameterTable.tsx:130 +#: src/tables/part/PartParameterTable.tsx:152 msgid "Delete Part Parameter" msgstr "Delete Part Parameter" -#: src/tables/part/PartParameterTable.tsx:175 +#: src/tables/part/PartParameterTable.tsx:170 msgid "Add parameter" msgstr "Add parameter" -#: src/tables/part/PartParameterTable.tsx:196 +#: src/tables/part/PartParameterTable.tsx:191 #: src/tables/stock/StockItemTable.tsx:300 msgid "Include Variants" msgstr "Include Variants" @@ -5477,15 +5603,15 @@ msgstr "Show templates with units" msgid "Add Parameter Template" msgstr "Add Parameter Template" -#: src/tables/part/PartParameterTemplateTable.tsx:97 +#: src/tables/part/PartParameterTemplateTable.tsx:100 msgid "Edit Parameter Template" msgstr "Edit Parameter Template" -#: src/tables/part/PartParameterTemplateTable.tsx:105 +#: src/tables/part/PartParameterTemplateTable.tsx:111 msgid "Delete Parameter Template" msgstr "Delete Parameter Template" -#: src/tables/part/PartParameterTemplateTable.tsx:135 +#: src/tables/part/PartParameterTemplateTable.tsx:141 msgid "Add parameter template" msgstr "Add parameter template" @@ -5583,7 +5709,7 @@ msgid "No Results" msgstr "No Results" #: src/tables/part/PartTestTemplateTable.tsx:79 -#: src/tables/stock/StockItemTestResultTable.tsx:385 +#: src/tables/stock/StockItemTestResultTable.tsx:376 msgid "Required" msgstr "Required" @@ -5592,8 +5718,8 @@ msgid "Show required tests" msgstr "Show required tests" #: src/tables/part/PartTestTemplateTable.tsx:84 -#: src/tables/settings/TemplateTable.tsx:213 -#: src/tables/settings/TemplateTable.tsx:275 +#: src/tables/settings/TemplateTable.tsx:160 +#: src/tables/settings/TemplateTable.tsx:270 msgid "Enabled" msgstr "Enabled" @@ -5634,26 +5760,30 @@ msgid "Show tests which have recorded results" msgstr "Show tests which have recorded results" #: src/tables/part/PartTestTemplateTable.tsx:126 -#: src/tables/part/PartTestTemplateTable.tsx:195 +#: src/tables/part/PartTestTemplateTable.tsx:201 msgid "Add Test Template" msgstr "Add Test Template" -#: src/tables/part/PartTestTemplateTable.tsx:139 +#: src/tables/part/PartTestTemplateTable.tsx:142 msgid "Edit Test Template" msgstr "Edit Test Template" -#: src/tables/part/PartTestTemplateTable.tsx:147 +#: src/tables/part/PartTestTemplateTable.tsx:153 msgid "Delete Test Template" msgstr "Delete Test Template" -#: src/tables/part/PartTestTemplateTable.tsx:149 +#: src/tables/part/PartTestTemplateTable.tsx:155 msgid "This action cannot be reversed" msgstr "This action cannot be reversed" -#: src/tables/part/PartTestTemplateTable.tsx:151 +#: src/tables/part/PartTestTemplateTable.tsx:157 msgid "Any tests results associated with this template will be deleted" msgstr "Any tests results associated with this template will be deleted" +#: src/tables/part/PartThumbTable.tsx:203 +msgid "Select" +msgstr "Select" + #: src/tables/part/PartVariantTable.tsx:16 msgid "Show active variants" msgstr "Show active variants" @@ -5690,252 +5820,273 @@ msgstr "Add related part" msgid "Stage" msgstr "Stage" -#: src/tables/plugin/PluginListTable.tsx:113 -msgid "Plugin with id {id} not found" -msgstr "Plugin with id {id} not found" +#: src/tables/plugin/PluginListTable.tsx:95 +msgid "Plugin with key {pluginKey} not found" +msgstr "Plugin with key {pluginKey} not found" -#: src/tables/plugin/PluginListTable.tsx:115 +#: src/tables/plugin/PluginListTable.tsx:97 msgid "An error occurred while fetching plugin details" msgstr "An error occurred while fetching plugin details" -#: src/tables/plugin/PluginListTable.tsx:134 -msgid "Plugin Actions" -msgstr "Plugin Actions" +#: src/tables/plugin/PluginListTable.tsx:113 +#~ msgid "Plugin with id {id} not found" +#~ msgstr "Plugin with id {id} not found" -#: src/tables/plugin/PluginListTable.tsx:138 -#: src/tables/plugin/PluginListTable.tsx:141 -msgid "Edit plugin" -msgstr "Edit plugin" - -#: src/tables/plugin/PluginListTable.tsx:152 -#: src/tables/plugin/PluginListTable.tsx:153 -msgid "Reload" -msgstr "Reload" - -#: src/tables/plugin/PluginListTable.tsx:166 +#: src/tables/plugin/PluginListTable.tsx:122 msgid "Plugin information" msgstr "Plugin information" -#: src/tables/plugin/PluginListTable.tsx:177 +#: src/tables/plugin/PluginListTable.tsx:134 msgid "Author" msgstr "Author" -#: src/tables/plugin/PluginListTable.tsx:198 +#: src/tables/plugin/PluginListTable.tsx:134 +#~ msgid "Plugin Actions" +#~ msgstr "Plugin Actions" + +#: src/tables/plugin/PluginListTable.tsx:138 +#: src/tables/plugin/PluginListTable.tsx:141 +#~ msgid "Edit plugin" +#~ msgstr "Edit plugin" + +#: src/tables/plugin/PluginListTable.tsx:152 +#: src/tables/plugin/PluginListTable.tsx:153 +#~ msgid "Reload" +#~ msgstr "Reload" + +#: src/tables/plugin/PluginListTable.tsx:154 +msgid "Plugin is not active" +msgstr "Plugin is not active" + +#: src/tables/plugin/PluginListTable.tsx:163 msgid "Package information" msgstr "Package information" -#: src/tables/plugin/PluginListTable.tsx:204 +#: src/tables/plugin/PluginListTable.tsx:169 msgid "Package Name" msgstr "Package Name" -#: src/tables/plugin/PluginListTable.tsx:210 +#: src/tables/plugin/PluginListTable.tsx:175 msgid "Installation Path" msgstr "Installation Path" -#: src/tables/plugin/PluginListTable.tsx:220 +#: src/tables/plugin/PluginListTable.tsx:185 msgid "Package" msgstr "Package" -#: src/tables/plugin/PluginListTable.tsx:231 +#: src/tables/plugin/PluginListTable.tsx:197 msgid "Plugin settings" msgstr "Plugin settings" -#: src/tables/plugin/PluginListTable.tsx:248 +#: src/tables/plugin/PluginListTable.tsx:214 msgid "Plugin is active" msgstr "Plugin is active" -#: src/tables/plugin/PluginListTable.tsx:254 +#: src/tables/plugin/PluginListTable.tsx:220 msgid "Plugin is inactive" msgstr "Plugin is inactive" -#: src/tables/plugin/PluginListTable.tsx:261 +#: src/tables/plugin/PluginListTable.tsx:227 msgid "Plugin is not installed" msgstr "Plugin is not installed" -#: src/tables/plugin/PluginListTable.tsx:287 +#: src/tables/plugin/PluginListTable.tsx:253 msgid "Plugin" msgstr "Plugin" -#: src/tables/plugin/PluginListTable.tsx:312 +#: src/tables/plugin/PluginListTable.tsx:287 msgid "Description not available" msgstr "Description not available" -#: src/tables/plugin/PluginListTable.tsx:338 +#: src/tables/plugin/PluginListTable.tsx:319 +msgid "Confirm plugin activation" +msgstr "Confirm plugin activation" + +#: src/tables/plugin/PluginListTable.tsx:320 +msgid "Confirm plugin deactivation" +msgstr "Confirm plugin deactivation" + +#: src/tables/plugin/PluginListTable.tsx:325 +msgid "The selected plugin will be activated" +msgstr "The selected plugin will be activated" + +#: src/tables/plugin/PluginListTable.tsx:326 +msgid "The selected plugin will be deactivated" +msgstr "The selected plugin will be deactivated" + +#: src/tables/plugin/PluginListTable.tsx:334 msgid "Activate Plugin" msgstr "Activate Plugin" #: src/tables/plugin/PluginListTable.tsx:338 -msgid "Deactivate Plugin" -msgstr "Deactivate Plugin" - -#: src/tables/plugin/PluginListTable.tsx:347 -msgid "Confirm plugin activation" -msgstr "Confirm plugin activation" - -#: src/tables/plugin/PluginListTable.tsx:348 -msgid "Confirm plugin deactivation" -msgstr "Confirm plugin deactivation" +#~ msgid "Deactivate Plugin" +#~ msgstr "Deactivate Plugin" #: src/tables/plugin/PluginListTable.tsx:354 -msgid "The following plugin will be activated" -msgstr "The following plugin will be activated" +#~ msgid "The following plugin will be activated" +#~ msgstr "The following plugin will be activated" #: src/tables/plugin/PluginListTable.tsx:355 -msgid "The following plugin will be deactivated" -msgstr "The following plugin will be deactivated" +#~ msgid "The following plugin will be deactivated" +#~ msgstr "The following plugin will be deactivated" -#: src/tables/plugin/PluginListTable.tsx:366 -msgid "Confirm" -msgstr "Confirm" - -#: src/tables/plugin/PluginListTable.tsx:376 -msgid "Activating plugin" -msgstr "Activating plugin" - -#: src/tables/plugin/PluginListTable.tsx:376 -msgid "Deactivating plugin" -msgstr "Deactivating plugin" - -#: src/tables/plugin/PluginListTable.tsx:392 -msgid "Plugin updated" -msgstr "Plugin updated" - -#: src/tables/plugin/PluginListTable.tsx:394 -msgid "The plugin was activated" -msgstr "The plugin was activated" - -#: src/tables/plugin/PluginListTable.tsx:395 -msgid "The plugin was deactivated" -msgstr "The plugin was deactivated" - -#: src/tables/plugin/PluginListTable.tsx:403 -msgid "Error updating plugin" -msgstr "Error updating plugin" - -#: src/tables/plugin/PluginListTable.tsx:423 +#: src/tables/plugin/PluginListTable.tsx:362 msgid "Deactivate" msgstr "Deactivate" -#: src/tables/plugin/PluginListTable.tsx:432 +#: src/tables/plugin/PluginListTable.tsx:366 +#~ msgid "Confirm" +#~ msgstr "Confirm" + +#: src/tables/plugin/PluginListTable.tsx:373 msgid "Activate" msgstr "Activate" -#: src/tables/plugin/PluginListTable.tsx:463 +#: src/tables/plugin/PluginListTable.tsx:376 +#~ msgid "Activating plugin" +#~ msgstr "Activating plugin" + +#: src/tables/plugin/PluginListTable.tsx:376 +#~ msgid "Deactivating plugin" +#~ msgstr "Deactivating plugin" + +#: src/tables/plugin/PluginListTable.tsx:392 +#~ msgid "Plugin updated" +#~ msgstr "Plugin updated" + +#: src/tables/plugin/PluginListTable.tsx:394 +#~ msgid "The plugin was activated" +#~ msgstr "The plugin was activated" + +#: src/tables/plugin/PluginListTable.tsx:395 +#~ msgid "The plugin was deactivated" +#~ msgstr "The plugin was deactivated" + +#: src/tables/plugin/PluginListTable.tsx:403 +#~ msgid "Error updating plugin" +#~ msgstr "Error updating plugin" + +#: src/tables/plugin/PluginListTable.tsx:406 msgid "Uninstall" msgstr "Uninstall" -#: src/tables/plugin/PluginListTable.tsx:495 +#: src/tables/plugin/PluginListTable.tsx:438 msgid "Install plugin" msgstr "Install plugin" -#: src/tables/plugin/PluginListTable.tsx:508 +#: src/tables/plugin/PluginListTable.tsx:451 msgid "Install" msgstr "Install" -#: src/tables/plugin/PluginListTable.tsx:512 +#: src/tables/plugin/PluginListTable.tsx:452 msgid "Plugin installed successfully" msgstr "Plugin installed successfully" -#: src/tables/plugin/PluginListTable.tsx:525 +#: src/tables/plugin/PluginListTable.tsx:457 msgid "Uninstall Plugin" msgstr "Uninstall Plugin" -#: src/tables/plugin/PluginListTable.tsx:537 +#: src/tables/plugin/PluginListTable.tsx:469 msgid "Confirm plugin uninstall" msgstr "Confirm plugin uninstall" -#: src/tables/plugin/PluginListTable.tsx:540 +#: src/tables/plugin/PluginListTable.tsx:472 msgid "The selected plugin will be uninstalled." msgstr "The selected plugin will be uninstalled." -#: src/tables/plugin/PluginListTable.tsx:541 +#: src/tables/plugin/PluginListTable.tsx:473 msgid "This action cannot be undone." msgstr "This action cannot be undone." -#: src/tables/plugin/PluginListTable.tsx:547 +#: src/tables/plugin/PluginListTable.tsx:477 msgid "Plugin uninstalled successfully" msgstr "Plugin uninstalled successfully" -#: src/tables/plugin/PluginListTable.tsx:560 +#: src/tables/plugin/PluginListTable.tsx:484 msgid "Delete Plugin" msgstr "Delete Plugin" -#: src/tables/plugin/PluginListTable.tsx:562 +#: src/tables/plugin/PluginListTable.tsx:485 msgid "Deleting this plugin configuration will remove all associated settings and data. Are you sure you want to delete this plugin?" msgstr "Deleting this plugin configuration will remove all associated settings and data. Are you sure you want to delete this plugin?" -#: src/tables/plugin/PluginListTable.tsx:574 +#: src/tables/plugin/PluginListTable.tsx:498 msgid "Plugins reloaded" msgstr "Plugins reloaded" -#: src/tables/plugin/PluginListTable.tsx:575 +#: src/tables/plugin/PluginListTable.tsx:499 msgid "Plugins were reloaded successfully" msgstr "Plugins were reloaded successfully" -#: src/tables/plugin/PluginListTable.tsx:591 +#: src/tables/plugin/PluginListTable.tsx:515 msgid "Reload Plugins" msgstr "Reload Plugins" -#: src/tables/plugin/PluginListTable.tsx:600 +#: src/tables/plugin/PluginListTable.tsx:524 msgid "Install Plugin" msgstr "Install Plugin" +#: src/tables/plugin/PluginListTable.tsx:544 +msgid "Plugin Detail" +msgstr "Plugin Detail" + +#: src/tables/plugin/PluginListTable.tsx:573 +msgid "Sample" +msgstr "Sample" + +#: src/tables/plugin/PluginListTable.tsx:578 +#: src/tables/stock/StockItemTable.tsx:305 +msgid "Installed" +msgstr "Installed" + #: src/tables/plugin/PluginListTable.tsx:615 #~ msgid "Plugin detail" #~ msgstr "Plugin detail" -#: src/tables/plugin/PluginListTable.tsx:619 -msgid "Plugin Detail" -msgstr "Plugin Detail" +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:59 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:108 +msgid "Add Parameter" +msgstr "Add Parameter" -#: src/tables/plugin/PluginListTable.tsx:648 -msgid "Sample" -msgstr "Sample" +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:60 +#~ msgid "Parameter updated" +#~ msgstr "Parameter updated" -#: src/tables/plugin/PluginListTable.tsx:653 -#: src/tables/stock/StockItemTable.tsx:305 -msgid "Installed" -msgstr "Installed" - -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:57 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:70 msgid "Edit Parameter" msgstr "Edit Parameter" -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:60 -msgid "Parameter updated" -msgstr "Parameter updated" - -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:71 -msgid "Delete Parameter" -msgstr "Delete Parameter" - #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:73 -msgid "Parameter deleted" -msgstr "Parameter deleted" +#~ msgid "Parameter deleted" +#~ msgstr "Parameter deleted" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:74 -msgid "Are you sure you want to delete this parameter?" -msgstr "Are you sure you want to delete this parameter?" +#~ msgid "Are you sure you want to delete this parameter?" +#~ msgstr "Are you sure you want to delete this parameter?" + +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:78 +msgid "Delete Parameter" +msgstr "Delete Parameter" #: src/tables/purchasing/ManufacturerPartTable.tsx:63 #~ msgid "Create Manufacturer Part" #~ msgstr "Create Manufacturer Part" -#: src/tables/purchasing/ManufacturerPartTable.tsx:100 -msgid "Manufacturer part updated" -msgstr "Manufacturer part updated" - -#: src/tables/purchasing/ManufacturerPartTable.tsx:111 +#: src/tables/purchasing/ManufacturerPartTable.tsx:92 msgid "Delete Manufacturer Part" msgstr "Delete Manufacturer Part" +#: src/tables/purchasing/ManufacturerPartTable.tsx:100 +#~ msgid "Manufacturer part updated" +#~ msgstr "Manufacturer part updated" + #: src/tables/purchasing/ManufacturerPartTable.tsx:112 -msgid "Manufacturer part deleted" -msgstr "Manufacturer part deleted" +#~ msgid "Manufacturer part deleted" +#~ msgstr "Manufacturer part deleted" #: src/tables/purchasing/ManufacturerPartTable.tsx:114 -msgid "Are you sure you want to remove this manufacturer part?" -msgstr "Are you sure you want to remove this manufacturer part?" +#~ msgid "Are you sure you want to remove this manufacturer part?" +#~ msgstr "Are you sure you want to remove this manufacturer part?" #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:86 msgid "Part Description" @@ -6082,18 +6233,22 @@ msgid "Error Information" msgstr "Error Information" #: src/tables/settings/ErrorTable.tsx:51 -msgid "Delete error report" -msgstr "Delete error report" +msgid "Delete Error Report" +msgstr "Delete Error Report" + +#: src/tables/settings/ErrorTable.tsx:51 +#~ msgid "Delete error report" +#~ msgstr "Delete error report" #: src/tables/settings/ErrorTable.tsx:53 -msgid "Error report deleted" -msgstr "Error report deleted" - -#: src/tables/settings/ErrorTable.tsx:54 msgid "Are you sure you want to delete this error report?" msgstr "Are you sure you want to delete this error report?" -#: src/tables/settings/ErrorTable.tsx:67 +#: src/tables/settings/ErrorTable.tsx:55 +msgid "Error report deleted" +msgstr "Error report deleted" + +#: src/tables/settings/ErrorTable.tsx:77 #: src/tables/settings/FailedTasksTable.tsx:57 msgid "Error Details" msgstr "Error Details" @@ -6110,7 +6265,7 @@ msgid "Task ID" msgstr "Task ID" #: src/tables/settings/FailedTasksTable.tsx:34 -#: src/tables/stock/StockItemTestResultTable.tsx:214 +#: src/tables/stock/StockItemTestResultTable.tsx:205 msgid "Started" msgstr "Started" @@ -6183,30 +6338,71 @@ msgstr "Last Run" msgid "Next Run" msgstr "Next Run" +#: src/tables/settings/TemplateTable.tsx:82 +msgid "Template not found" +msgstr "Template not found" + +#: src/tables/settings/TemplateTable.tsx:84 +msgid "An error occurred while fetching template details" +msgstr "An error occurred while fetching template details" + #: src/tables/settings/TemplateTable.tsx:120 -msgid "{templateTypeTranslation} with id {id} not found" -msgstr "{templateTypeTranslation} with id {id} not found" +#~ msgid "{templateTypeTranslation} with id {id} not found" +#~ msgstr "{templateTypeTranslation} with id {id} not found" #: src/tables/settings/TemplateTable.tsx:124 -msgid "An error occurred while fetching {templateTypeTranslation} details" -msgstr "An error occurred while fetching {templateTypeTranslation} details" +#~ msgid "An error occurred while fetching {templateTypeTranslation} details" +#~ msgstr "An error occurred while fetching {templateTypeTranslation} details" #: src/tables/settings/TemplateTable.tsx:146 -msgid "actions" -msgstr "actions" +#~ msgid "actions" +#~ msgstr "actions" + +#: src/tables/settings/TemplateTable.tsx:170 +msgid "Modify" +msgstr "Modify" + +#: src/tables/settings/TemplateTable.tsx:171 +msgid "Modify template file" +msgstr "Modify template file" + +#: src/tables/settings/TemplateTable.tsx:222 +#: src/tables/settings/TemplateTable.tsx:289 +msgid "Edit Template" +msgstr "Edit Template" + +#: src/tables/settings/TemplateTable.tsx:230 +msgid "Delete template" +msgstr "Delete template" + +#: src/tables/settings/TemplateTable.tsx:236 +msgid "Add Template" +msgstr "Add Template" #: src/tables/settings/TemplateTable.tsx:243 -msgid "Add new" -msgstr "Add new" +#~ msgid "Add new" +#~ msgstr "Add new" #: src/tables/settings/TemplateTable.tsx:243 #~ msgid "Create new" #~ msgstr "Create new" -#: src/tables/settings/TemplateTable.tsx:276 +#: src/tables/settings/TemplateTable.tsx:249 +msgid "Add template" +msgstr "Add template" + +#: src/tables/settings/TemplateTable.tsx:271 msgid "Filter by enabled status" msgstr "Filter by enabled status" +#: src/tables/settings/TemplateTable.tsx:276 +msgid "Model Type" +msgstr "Model Type" + +#: src/tables/settings/TemplateTable.tsx:277 +msgid "Filter by target model type" +msgstr "Filter by target model type" + #: src/tables/settings/UserTable.tsx:79 msgid "User with id {id} not found" msgstr "User with id {id} not found" @@ -6272,6 +6468,23 @@ msgstr "Added user" msgid "Edit user" msgstr "Edit user" +#: src/tables/stock/LocationTypesTable.tsx:36 +#: src/tables/stock/LocationTypesTable.tsx:105 +msgid "Add Location Type" +msgstr "Add Location Type" + +#: src/tables/stock/LocationTypesTable.tsx:44 +msgid "Edit Location Type" +msgstr "Edit Location Type" + +#: src/tables/stock/LocationTypesTable.tsx:52 +msgid "Delete Location Type" +msgstr "Delete Location Type" + +#: src/tables/stock/LocationTypesTable.tsx:69 +msgid "Icon" +msgstr "Icon" + #: src/tables/stock/StockItemTable.tsx:90 msgid "This stock item is in production" msgstr "This stock item is in production" @@ -6333,7 +6546,7 @@ msgid "Show items which are available" msgstr "Show items which are available" #: src/tables/stock/StockItemTable.tsx:280 -#: src/tables/stock/StockLocationTable.tsx:37 +#: src/tables/stock/StockLocationTable.tsx:33 msgid "Include Sublocations" msgstr "Include Sublocations" @@ -6462,123 +6675,135 @@ msgstr "Delete stock items" msgid "Test" msgstr "Test" -#: src/tables/stock/StockItemTestResultTable.tsx:153 +#: src/tables/stock/StockItemTestResultTable.tsx:151 msgid "Test result for installed stock item" msgstr "Test result for installed stock item" -#: src/tables/stock/StockItemTestResultTable.tsx:164 +#: src/tables/stock/StockItemTestResultTable.tsx:162 msgid "Result" msgstr "Result" -#: src/tables/stock/StockItemTestResultTable.tsx:170 +#: src/tables/stock/StockItemTestResultTable.tsx:168 msgid "No Result" msgstr "No Result" -#: src/tables/stock/StockItemTestResultTable.tsx:186 +#: src/tables/stock/StockItemTestResultTable.tsx:184 msgid "Attachment" msgstr "Attachment" -#: src/tables/stock/StockItemTestResultTable.tsx:209 +#: src/tables/stock/StockItemTestResultTable.tsx:200 msgid "Test station" msgstr "Test station" -#: src/tables/stock/StockItemTestResultTable.tsx:229 +#: src/tables/stock/StockItemTestResultTable.tsx:220 msgid "Finished" msgstr "Finished" -#: src/tables/stock/StockItemTestResultTable.tsx:277 -#: src/tables/stock/StockItemTestResultTable.tsx:349 -#: src/tables/stock/StockItemTestResultTable.tsx:404 +#: src/tables/stock/StockItemTestResultTable.tsx:268 +#: src/tables/stock/StockItemTestResultTable.tsx:340 +#: src/tables/stock/StockItemTestResultTable.tsx:395 msgid "Add Test Result" msgstr "Add Test Result" -#: src/tables/stock/StockItemTestResultTable.tsx:279 +#: src/tables/stock/StockItemTestResultTable.tsx:270 msgid "Test result added" msgstr "Test result added" -#: src/tables/stock/StockItemTestResultTable.tsx:288 -#: src/tables/stock/StockItemTestResultTable.tsx:359 +#: src/tables/stock/StockItemTestResultTable.tsx:279 +#: src/tables/stock/StockItemTestResultTable.tsx:350 msgid "Edit Test Result" msgstr "Edit Test Result" -#: src/tables/stock/StockItemTestResultTable.tsx:290 +#: src/tables/stock/StockItemTestResultTable.tsx:281 msgid "Test result updated" msgstr "Test result updated" -#: src/tables/stock/StockItemTestResultTable.tsx:296 -#: src/tables/stock/StockItemTestResultTable.tsx:368 +#: src/tables/stock/StockItemTestResultTable.tsx:287 +#: src/tables/stock/StockItemTestResultTable.tsx:359 msgid "Delete Test Result" msgstr "Delete Test Result" -#: src/tables/stock/StockItemTestResultTable.tsx:298 +#: src/tables/stock/StockItemTestResultTable.tsx:289 msgid "Test result deleted" msgstr "Test result deleted" -#: src/tables/stock/StockItemTestResultTable.tsx:312 +#: src/tables/stock/StockItemTestResultTable.tsx:303 msgid "Test Passed" msgstr "Test Passed" -#: src/tables/stock/StockItemTestResultTable.tsx:313 +#: src/tables/stock/StockItemTestResultTable.tsx:304 msgid "Test result has been recorded" msgstr "Test result has been recorded" -#: src/tables/stock/StockItemTestResultTable.tsx:320 +#: src/tables/stock/StockItemTestResultTable.tsx:311 msgid "Failed to record test result" msgstr "Failed to record test result" -#: src/tables/stock/StockItemTestResultTable.tsx:337 +#: src/tables/stock/StockItemTestResultTable.tsx:328 msgid "Pass Test" msgstr "Pass Test" -#: src/tables/stock/StockItemTestResultTable.tsx:386 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Show results for required tests" msgstr "Show results for required tests" -#: src/tables/stock/StockItemTestResultTable.tsx:390 +#: src/tables/stock/StockItemTestResultTable.tsx:381 msgid "Include Installed" msgstr "Include Installed" -#: src/tables/stock/StockItemTestResultTable.tsx:391 +#: src/tables/stock/StockItemTestResultTable.tsx:382 msgid "Show results for installed stock items" msgstr "Show results for installed stock items" -#: src/tables/stock/StockItemTestResultTable.tsx:395 +#: src/tables/stock/StockItemTestResultTable.tsx:386 msgid "Passed" msgstr "Passed" -#: src/tables/stock/StockItemTestResultTable.tsx:396 +#: src/tables/stock/StockItemTestResultTable.tsx:387 msgid "Show only passed tests" msgstr "Show only passed tests" -#: src/tables/stock/StockLocationTable.tsx:38 +#: src/tables/stock/StockLocationTable.tsx:34 msgid "Include sublocations in results" msgstr "Include sublocations in results" -#: src/tables/stock/StockLocationTable.tsx:42 +#: src/tables/stock/StockLocationTable.tsx:38 msgid "structural" msgstr "structural" -#: src/tables/stock/StockLocationTable.tsx:43 +#: src/tables/stock/StockLocationTable.tsx:39 msgid "Show structural locations" msgstr "Show structural locations" -#: src/tables/stock/StockLocationTable.tsx:47 +#: src/tables/stock/StockLocationTable.tsx:43 msgid "external" msgstr "external" -#: src/tables/stock/StockLocationTable.tsx:48 +#: src/tables/stock/StockLocationTable.tsx:44 msgid "Show external locations" msgstr "Show external locations" -#: src/tables/stock/StockLocationTable.tsx:52 +#: src/tables/stock/StockLocationTable.tsx:48 msgid "Has location type" msgstr "Has location type" -#: src/tables/stock/StockLocationTable.tsx:89 -#: src/tables/stock/StockLocationTable.tsx:118 +#: src/tables/stock/StockLocationTable.tsx:85 +#: src/tables/stock/StockLocationTable.tsx:110 msgid "Add Stock Location" msgstr "Add Stock Location" +#: src/tables/stock/StockTrackingTable.tsx:64 +msgid "Added" +msgstr "Added" + +#: src/tables/stock/StockTrackingTable.tsx:69 +msgid "Removed" +msgstr "Removed" + +#: src/tables/stock/StockTrackingTable.tsx:198 +msgid "No user information" +msgstr "No user information" + #: src/views/MobileAppView.tsx:22 msgid "Mobile viewport detected" msgstr "Mobile viewport detected" diff --git a/src/frontend/src/locales/es-mx/messages.po b/src/frontend/src/locales/es-mx/messages.po index 91f3de8a0b..3262211516 100644 --- a/src/frontend/src/locales/es-mx/messages.po +++ b/src/frontend/src/locales/es-mx/messages.po @@ -25,10 +25,67 @@ msgstr "" msgid "Title" msgstr "" +#: src/components/buttons/AdminButton.tsx:83 +msgid "Open in admin interface" +msgstr "" + #: src/components/buttons/CopyButton.tsx:18 msgid "Copy to clipboard" msgstr "" +#: src/components/buttons/PrintingActions.tsx:95 +msgid "Print Label" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:101 +msgid "Label printing completed successfully" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:106 +#: src/components/buttons/PrintingActions.tsx:143 +#: src/components/forms/ApiForm.tsx:504 +#: src/components/forms/fields/ApiFormField.tsx:295 +#: src/components/modals/LicenseModal.tsx:75 +#: src/components/nav/SearchDrawer.tsx:413 +#: src/components/widgets/MarkdownEditor.tsx:107 +#: src/components/widgets/MarkdownEditor.tsx:153 +#: src/pages/ErrorPage.tsx:12 +#: src/pages/ErrorPage.tsx:25 +#: src/pages/part/PartPricingPanel.tsx:71 +#: src/tables/InvenTreeTable.tsx:451 +#: src/tables/InvenTreeTable.tsx:531 +#: src/tables/stock/StockItemTestResultTable.tsx:310 +msgid "Error" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:107 +msgid "The label could not be generated" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:122 +msgid "Print Report" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:138 +msgid "Report printing completed successfully" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:144 +msgid "The report could not be generated" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:171 +msgid "Printing Actions" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:176 +msgid "Print Labels" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:182 +msgid "Print Reports" +msgstr "" + #: src/components/buttons/ScanButton.tsx:15 msgid "Scan QR code" msgstr "" @@ -59,15 +116,15 @@ msgstr "" msgid "No" msgstr "" -#: src/components/details/Details.tsx:302 +#: src/components/details/Details.tsx:303 msgid "No name defined" msgstr "" -#: src/components/details/Details.tsx:339 +#: src/components/details/Details.tsx:340 msgid "Copied" msgstr "" -#: src/components/details/Details.tsx:339 +#: src/components/details/Details.tsx:340 msgid "Copy" msgstr "" @@ -80,24 +137,23 @@ msgid "Remove the associated image from this item?" msgstr "" #: src/components/details/DetailsImage.tsx:71 -#: src/forms/StockForms.tsx:442 +#: src/forms/StockForms.tsx:483 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:448 +#: src/pages/stock/StockDetail.tsx:462 msgid "Remove" msgstr "" #: src/components/details/DetailsImage.tsx:71 -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:163 -#: src/components/items/ActionDropdown.tsx:222 -#: src/components/items/ActionDropdown.tsx:223 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 +#: src/components/items/ActionDropdown.tsx:229 +#: src/components/items/ActionDropdown.tsx:230 #: src/contexts/ThemeContext.tsx:43 #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:40 -#: src/tables/FilterSelectDrawer.tsx:218 -#: src/tables/InvenTreeTable.tsx:493 -#: src/tables/build/BuildOutputTable.tsx:223 -#: src/tables/plugin/PluginListTable.tsx:365 +#: src/tables/FilterSelectDrawer.tsx:207 +#: src/tables/InvenTreeTable.tsx:499 +#: src/tables/build/BuildOutputTable.tsx:225 msgid "Cancel" msgstr "" @@ -114,7 +170,7 @@ msgid "Clear" msgstr "" #: src/components/details/DetailsImage.tsx:227 -#: src/components/forms/ApiForm.tsx:554 +#: src/components/forms/ApiForm.tsx:571 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:56 msgid "Submit" @@ -145,9 +201,10 @@ msgid "Part is not active" msgstr "" #: src/components/details/PartIcons.tsx:34 -#: src/pages/company/CompanyDetail.tsx:308 -#: src/pages/company/SupplierPartDetail.tsx:304 -#: src/pages/part/PartDetail.tsx:684 +#: src/components/render/Plugin.tsx:17 +#: src/pages/company/CompanyDetail.tsx:310 +#: src/pages/company/SupplierPartDetail.tsx:305 +#: src/pages/part/PartDetail.tsx:685 msgid "Inactive" msgstr "" @@ -191,10 +248,10 @@ msgid "Code" msgstr "" #: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:44 -msgid "Failed to parse error response from server." -msgstr "" +#~ msgid "Failed to parse error response from server." +#~ msgstr "" -#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:82 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:81 msgid "Preview not available, click \"Reload Preview\"." msgstr "" @@ -202,98 +259,99 @@ msgstr "" msgid "PDF Preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:113 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:104 msgid "Error loading template" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:125 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:116 msgid "Error saving template" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 -msgid "Save & Reload preview?" +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:146 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:270 +msgid "Save & Reload Preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:156 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 msgid "Are you sure you want to Save & Reload the preview?" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 +#~ msgid "Save & Reload preview?" +#~ msgstr "" + +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:153 msgid "To render the preview the current template needs to be replaced on the server with your modifications which may break the label if it is under active use. Do you want to proceed?" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:162 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:157 msgid "Save & Reload" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:191 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:189 msgid "Preview updated" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:192 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:190 msgid "The preview has been updated successfully." msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:255 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:262 msgid "Reload preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:256 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:263 msgid "Use the currently stored template from the server" msgstr "" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:263 -msgid "Save & Reload preview" -msgstr "" +#~ msgid "Save & Reload preview" +#~ msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:264 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:271 msgid "Save the current template and reload the preview" msgstr "" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:322 -#: src/tables/part/PartThumbTable.tsx:203 -msgid "Select" +#~ msgid "to preview" +#~ msgstr "" + +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:329 +msgid "Select instance to preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:322 -msgid "to preview" -msgstr "" - -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:366 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:373 msgid "Error rendering template" msgstr "" -#: src/components/forms/ApiForm.tsx:143 +#: src/components/forms/ApiForm.tsx:148 #: src/functions/forms.tsx:259 msgid "Form Error" msgstr "" -#: src/components/forms/ApiForm.tsx:411 +#: src/components/forms/ApiForm.tsx:428 #: src/components/widgets/MarkdownEditor.tsx:145 msgid "Success" msgstr "" #: src/components/forms/ApiForm.tsx:487 -msgid "Form Errors Exist" -msgstr "" +#~ msgid "Form Errors Exist" +#~ msgstr "" -#: src/components/forms/ApiForm.tsx:592 -#: src/tables/plugin/PluginListTable.tsx:445 +#: src/components/forms/ApiForm.tsx:609 +#: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "" -#: src/components/forms/ApiForm.tsx:612 -#: src/components/items/ActionDropdown.tsx:203 +#: src/components/forms/ApiForm.tsx:629 +#: src/components/items/ActionDropdown.tsx:210 #: src/functions/forms.tsx:299 #: src/hooks/UseForm.tsx:122 #: src/pages/Index/Scan.tsx:343 #: src/pages/Notifications.tsx:123 -#: src/tables/InvenTreeTable.tsx:492 +#: src/tables/InvenTreeTable.tsx:498 #: src/tables/RowActions.tsx:71 -#: src/tables/plugin/PluginListTable.tsx:477 -#: src/tables/settings/TemplateTable.tsx:105 -#: src/tables/settings/TemplateTable.tsx:154 -#: src/tables/settings/TemplateTable.tsx:236 +#: src/tables/plugin/PluginListTable.tsx:420 msgid "Delete" msgstr "" @@ -444,18 +502,19 @@ msgstr "" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 -#: src/pages/part/CategoryDetail.tsx:77 -#: src/pages/part/PartDetail.tsx:125 -#: src/pages/stock/LocationDetail.tsx:83 +#: src/pages/part/CategoryDetail.tsx:78 +#: src/pages/part/PartDetail.tsx:126 +#: src/pages/stock/LocationDetail.tsx:85 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 #: src/tables/machine/MachineTypeTable.tsx:216 #: src/tables/machine/MachineTypeTable.tsx:319 #: src/tables/plugin/PluginErrorTable.tsx:33 -#: src/tables/plugin/PluginListTable.tsx:169 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:27 +#: src/tables/plugin/PluginListTable.tsx:126 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:32 #: src/tables/settings/GroupTable.tsx:103 #: src/tables/settings/PendingTasksTable.tsx:26 +#: src/tables/stock/LocationTypesTable.tsx:60 msgid "Name" msgstr "" @@ -496,35 +555,20 @@ msgstr "" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/ApiFormField.tsx:276 -#: src/components/modals/LicenseModal.tsx:75 -#: src/components/nav/SearchDrawer.tsx:413 -#: src/components/widgets/MarkdownEditor.tsx:107 -#: src/components/widgets/MarkdownEditor.tsx:153 -#: src/pages/ErrorPage.tsx:12 -#: src/pages/ErrorPage.tsx:25 -#: src/pages/part/PartPricingPanel.tsx:71 -#: src/tables/InvenTreeTable.tsx:445 -#: src/tables/InvenTreeTable.tsx:525 -#: src/tables/plugin/PluginListTable.tsx:402 -#: src/tables/stock/StockItemTestResultTable.tsx:319 -msgid "Error" -msgstr "" - -#: src/components/forms/fields/RelatedModelField.tsx:305 +#: src/components/forms/fields/RelatedModelField.tsx:315 #: src/pages/Index/Settings/UserSettings.tsx:64 #: src/tables/Search.tsx:23 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:306 +#: src/components/forms/fields/RelatedModelField.tsx:316 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:120 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:308 +#: src/components/forms/fields/RelatedModelField.tsx:318 msgid "No results found" msgstr "" @@ -545,54 +589,51 @@ msgstr "" msgid "Thumbnail" msgstr "" -#: src/components/items/ActionDropdown.tsx:112 -#: src/pages/build/BuildDetail.tsx:354 +#: src/components/items/ActionDropdown.tsx:119 +#: src/pages/build/BuildDetail.tsx:360 msgid "Barcode Actions" msgstr "" -#: src/components/items/ActionDropdown.tsx:129 +#: src/components/items/ActionDropdown.tsx:136 msgid "View" msgstr "" -#: src/components/items/ActionDropdown.tsx:130 +#: src/components/items/ActionDropdown.tsx:137 msgid "View barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:146 +#: src/components/items/ActionDropdown.tsx:153 msgid "Link Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:147 +#: src/components/items/ActionDropdown.tsx:154 msgid "Link custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:163 -#: src/forms/PurchaseOrderForms.tsx:375 +#: src/components/items/ActionDropdown.tsx:170 +#: src/forms/PurchaseOrderForms.tsx:389 msgid "Unlink Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:164 +#: src/components/items/ActionDropdown.tsx:171 msgid "Unlink custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:182 +#: src/components/items/ActionDropdown.tsx:189 #: src/tables/RowActions.tsx:51 -#: src/tables/settings/TemplateTable.tsx:87 -#: src/tables/settings/TemplateTable.tsx:150 -#: src/tables/settings/TemplateTable.tsx:287 msgid "Edit" msgstr "" -#: src/components/items/ActionDropdown.tsx:204 +#: src/components/items/ActionDropdown.tsx:211 msgid "Delete item" msgstr "" -#: src/components/items/ActionDropdown.tsx:241 +#: src/components/items/ActionDropdown.tsx:248 #: src/tables/RowActions.tsx:31 msgid "Duplicate" msgstr "" -#: src/components/items/ActionDropdown.tsx:242 +#: src/components/items/ActionDropdown.tsx:249 msgid "Duplicate item" msgstr "" @@ -601,7 +642,7 @@ msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:437 +#: src/tables/InvenTreeTable.tsx:443 msgid "Unknown error" msgstr "" @@ -761,27 +802,27 @@ msgstr "" #: src/components/modals/QrCodeModal.tsx:154 #: src/defaults/menuItems.tsx:21 -#: src/pages/Index/Scan.tsx:747 +#: src/pages/Index/Scan.tsx:746 msgid "Scanning" msgstr "" #: src/components/modals/QrCodeModal.tsx:154 -#: src/pages/Index/Scan.tsx:747 +#: src/pages/Index/Scan.tsx:746 msgid "Not scanning" msgstr "" #: src/components/modals/QrCodeModal.tsx:159 -#: src/pages/Index/Scan.tsx:753 +#: src/pages/Index/Scan.tsx:752 msgid "Select Camera" msgstr "" #: src/components/modals/QrCodeModal.tsx:169 -#: src/pages/Index/Scan.tsx:738 +#: src/pages/Index/Scan.tsx:737 msgid "Start scanning" msgstr "" #: src/components/modals/QrCodeModal.tsx:176 -#: src/pages/Index/Scan.tsx:730 +#: src/pages/Index/Scan.tsx:729 msgid "Stop scanning" msgstr "" @@ -867,8 +908,8 @@ msgid "Email settings not configured" msgstr "" #: src/components/modals/ServerInfoModal.tsx:121 -#: src/tables/plugin/PluginListTable.tsx:187 -#: src/tables/plugin/PluginListTable.tsx:319 +#: src/tables/plugin/PluginListTable.tsx:144 +#: src/tables/plugin/PluginListTable.tsx:294 msgid "Version" msgstr "" @@ -902,13 +943,13 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:293 +#: src/pages/Index/Settings/SystemSettings.tsx:294 msgid "System Settings" msgstr "" #: src/components/nav/MainMenu.tsx:67 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:172 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 msgid "Admin Center" msgstr "" @@ -943,7 +984,7 @@ msgid "Pages" msgstr "" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:133 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:153 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "" @@ -981,9 +1022,9 @@ msgid "Mark as read" msgstr "" #: src/components/nav/PartCategoryTree.tsx:158 -#: src/components/render/ModelType.tsx:60 +#: src/components/render/ModelType.tsx:64 #: src/pages/Index/Settings/SystemSettings.tsx:162 -#: src/pages/part/CategoryDetail.tsx:248 +#: src/pages/part/CategoryDetail.tsx:249 msgid "Part Categories" msgstr "" @@ -1020,142 +1061,147 @@ msgid "No results available for search query" msgstr "" #: src/components/nav/StockLocationTree.tsx:93 -#: src/components/render/ModelType.tsx:76 -#: src/pages/stock/LocationDetail.tsx:175 +#: src/components/render/ModelType.tsx:82 +#: src/pages/stock/LocationDetail.tsx:185 msgid "Stock Locations" msgstr "" -#: src/components/render/Instance.tsx:137 +#: src/components/render/Instance.tsx:166 msgid "Unknown model: {model}" msgstr "" -#: src/components/render/ModelType.tsx:21 -#: src/forms/BuildForms.tsx:184 -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49 +#: src/components/render/ModelType.tsx:22 +#: src/forms/BuildForms.tsx:201 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:83 #: src/pages/part/PartDetail.tsx:828 #: src/tables/part/RelatedPartTable.tsx:45 +#: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" msgstr "" -#: src/components/render/ModelType.tsx:22 +#: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 #: src/pages/Index/Settings/SystemSettings.tsx:167 -#: src/pages/part/CategoryDetail.tsx:109 -#: src/pages/part/CategoryDetail.tsx:234 -#: src/pages/part/CategoryDetail.tsx:264 -#: src/pages/part/PartDetail.tsx:638 +#: src/pages/part/CategoryDetail.tsx:110 +#: src/pages/part/CategoryDetail.tsx:235 +#: src/pages/part/CategoryDetail.tsx:265 +#: src/pages/part/PartDetail.tsx:639 msgid "Parts" msgstr "" -#: src/components/render/ModelType.tsx:29 +#: src/components/render/ModelType.tsx:31 msgid "Part Parameter Template" msgstr "" -#: src/components/render/ModelType.tsx:30 +#: src/components/render/ModelType.tsx:32 msgid "Part Parameter Templates" msgstr "" -#: src/components/render/ModelType.tsx:36 +#: src/components/render/ModelType.tsx:38 msgid "Part Test Template" msgstr "" -#: src/components/render/ModelType.tsx:37 +#: src/components/render/ModelType.tsx:39 msgid "Part Test Templates" msgstr "" -#: src/components/render/ModelType.tsx:43 -#: src/pages/company/SupplierPartDetail.tsx:189 -#: src/pages/company/SupplierPartDetail.tsx:317 -#: src/pages/stock/StockDetail.tsx:159 +#: src/components/render/ModelType.tsx:45 +#: src/pages/company/SupplierPartDetail.tsx:190 +#: src/pages/company/SupplierPartDetail.tsx:318 +#: src/pages/stock/StockDetail.tsx:162 #: src/tables/purchasing/SupplierPartTable.tsx:68 msgid "Supplier Part" msgstr "" -#: src/components/render/ModelType.tsx:44 +#: src/components/render/ModelType.tsx:46 msgid "Supplier Parts" msgstr "" -#: src/components/render/ModelType.tsx:51 -#: src/pages/company/ManufacturerPartDetail.tsx:124 +#: src/components/render/ModelType.tsx:54 +#: src/pages/company/ManufacturerPartDetail.tsx:125 msgid "Manufacturer Part" msgstr "" -#: src/components/render/ModelType.tsx:52 +#: src/components/render/ModelType.tsx:55 msgid "Manufacturer Parts" msgstr "" -#: src/components/render/ModelType.tsx:59 -#: src/pages/part/CategoryDetail.tsx:287 +#: src/components/render/ModelType.tsx:63 +#: src/pages/part/CategoryDetail.tsx:288 msgid "Part Category" msgstr "" -#: src/components/render/ModelType.tsx:67 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67 -#: src/pages/stock/StockDetail.tsx:535 +#: src/components/render/ModelType.tsx:72 +#: src/pages/stock/StockDetail.tsx:548 +#: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" msgstr "" -#: src/components/render/ModelType.tsx:68 -#: src/pages/company/CompanyDetail.tsx:197 -#: src/pages/stock/LocationDetail.tsx:116 -#: src/pages/stock/LocationDetail.tsx:161 +#: src/components/render/ModelType.tsx:73 +#: src/pages/company/CompanyDetail.tsx:199 +#: src/pages/stock/LocationDetail.tsx:118 +#: src/pages/stock/LocationDetail.tsx:171 #: src/pages/stock/LocationDetail.tsx:365 msgid "Stock Items" msgstr "" -#: src/components/render/ModelType.tsx:75 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:154 +#: src/components/render/ModelType.tsx:81 msgid "Stock Location" msgstr "" -#: src/components/render/ModelType.tsx:83 +#: src/components/render/ModelType.tsx:90 +msgid "Stock Location Type" +msgstr "" + +#: src/components/render/ModelType.tsx:91 +msgid "Stock Location Types" +msgstr "" + +#: src/components/render/ModelType.tsx:95 msgid "Stock History" msgstr "" -#: src/components/render/ModelType.tsx:84 +#: src/components/render/ModelType.tsx:96 msgid "Stock Histories" msgstr "" -#: src/components/render/ModelType.tsx:88 +#: src/components/render/ModelType.tsx:100 #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:43 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:126 msgid "Build" msgstr "" -#: src/components/render/ModelType.tsx:89 +#: src/components/render/ModelType.tsx:101 msgid "Builds" msgstr "" -#: src/components/render/ModelType.tsx:96 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:76 +#: src/components/render/ModelType.tsx:109 msgid "Build Line" msgstr "" -#: src/components/render/ModelType.tsx:97 +#: src/components/render/ModelType.tsx:110 msgid "Build Lines" msgstr "" -#: src/components/render/ModelType.tsx:104 -#: src/pages/company/CompanyDetail.tsx:321 +#: src/components/render/ModelType.tsx:117 +#: src/pages/company/CompanyDetail.tsx:323 msgid "Company" msgstr "" -#: src/components/render/ModelType.tsx:105 +#: src/components/render/ModelType.tsx:118 msgid "Companies" msgstr "" -#: src/components/render/ModelType.tsx:112 +#: src/components/render/ModelType.tsx:126 #: src/tables/TableHoverCard.tsx:58 #: src/tables/build/BuildOrderTable.tsx:131 #: src/tables/purchasing/PurchaseOrderTable.tsx:64 @@ -1164,170 +1210,199 @@ msgstr "" msgid "Project Code" msgstr "" -#: src/components/render/ModelType.tsx:113 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:97 +#: src/components/render/ModelType.tsx:127 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:105 msgid "Project Codes" msgstr "" -#: src/components/render/ModelType.tsx:119 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99 +#: src/components/render/ModelType.tsx:133 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:355 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:362 +#: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" msgstr "" -#: src/components/render/ModelType.tsx:120 -#: src/pages/Index/Settings/SystemSettings.tsx:242 -#: src/pages/company/CompanyDetail.tsx:190 -#: src/pages/company/SupplierPartDetail.tsx:223 -#: src/pages/part/PartDetail.tsx:571 +#: src/components/render/ModelType.tsx:134 +#: src/pages/Index/Settings/SystemSettings.tsx:243 +#: src/pages/company/CompanyDetail.tsx:192 +#: src/pages/company/SupplierPartDetail.tsx:224 +#: src/pages/part/PartDetail.tsx:572 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" -#: src/components/render/ModelType.tsx:127 +#: src/components/render/ModelType.tsx:142 msgid "Purchase Order Line" msgstr "" -#: src/components/render/ModelType.tsx:128 +#: src/components/render/ModelType.tsx:143 msgid "Purchase Order Lines" msgstr "" -#: src/components/render/ModelType.tsx:132 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:108 +#: src/components/render/ModelType.tsx:147 #: src/pages/build/BuildDetail.tsx:131 -#: src/pages/sales/SalesOrderDetail.tsx:340 -#: src/pages/stock/StockDetail.tsx:207 +#: src/pages/sales/SalesOrderDetail.tsx:347 +#: src/pages/stock/StockDetail.tsx:210 +#: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" msgstr "" -#: src/components/render/ModelType.tsx:133 -#: src/pages/Index/Settings/SystemSettings.tsx:257 -#: src/pages/company/CompanyDetail.tsx:210 -#: src/pages/part/PartDetail.tsx:577 +#: src/components/render/ModelType.tsx:148 +#: src/pages/Index/Settings/SystemSettings.tsx:258 +#: src/pages/company/CompanyDetail.tsx:212 +#: src/pages/part/PartDetail.tsx:578 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" -#: src/components/render/ModelType.tsx:140 +#: src/components/render/ModelType.tsx:156 msgid "Sales Order Shipment" msgstr "" -#: src/components/render/ModelType.tsx:141 +#: src/components/render/ModelType.tsx:157 msgid "Sales Order Shipments" msgstr "" -#: src/components/render/ModelType.tsx:147 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:117 -#: src/pages/sales/ReturnOrderDetail.tsx:318 +#: src/components/render/ModelType.tsx:163 +#: src/pages/sales/ReturnOrderDetail.tsx:325 +#: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "" -#: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:272 -#: src/pages/company/CompanyDetail.tsx:217 +#: src/components/render/ModelType.tsx:164 +#: src/pages/Index/Settings/SystemSettings.tsx:273 +#: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" msgstr "" -#: src/components/render/ModelType.tsx:155 +#: src/components/render/ModelType.tsx:172 #: src/tables/company/AddressTable.tsx:47 msgid "Address" msgstr "" -#: src/components/render/ModelType.tsx:156 -#: src/pages/company/CompanyDetail.tsx:247 +#: src/components/render/ModelType.tsx:173 +#: src/pages/company/CompanyDetail.tsx:249 msgid "Addresses" msgstr "" -#: src/components/render/ModelType.tsx:162 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:189 -#: src/pages/sales/ReturnOrderDetail.tsx:157 -#: src/pages/sales/SalesOrderDetail.tsx:161 +#: src/components/render/ModelType.tsx:179 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:191 +#: src/pages/sales/ReturnOrderDetail.tsx:159 +#: src/pages/sales/SalesOrderDetail.tsx:163 msgid "Contact" msgstr "" -#: src/components/render/ModelType.tsx:163 -#: src/pages/company/CompanyDetail.tsx:241 +#: src/components/render/ModelType.tsx:180 +#: src/pages/company/CompanyDetail.tsx:243 msgid "Contacts" msgstr "" -#: src/components/render/ModelType.tsx:169 +#: src/components/render/ModelType.tsx:186 msgid "Owner" msgstr "" -#: src/components/render/ModelType.tsx:170 +#: src/components/render/ModelType.tsx:187 msgid "Owners" msgstr "" -#: src/components/render/ModelType.tsx:176 +#: src/components/render/ModelType.tsx:193 +#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "" -#: src/components/render/ModelType.tsx:177 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:73 +#: src/components/render/ModelType.tsx:194 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:81 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "" -#: src/components/render/Order.tsx:87 +#: src/components/render/ModelType.tsx:200 +msgid "Label Template" +msgstr "" + +#: src/components/render/ModelType.tsx:201 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:135 +msgid "Label Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:207 +msgid "Report Template" +msgstr "" + +#: src/components/render/ModelType.tsx:208 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:141 +msgid "Report Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:214 +msgid "Plugin Configuration" +msgstr "" + +#: src/components/render/ModelType.tsx:215 +msgid "Plugin Configurations" +msgstr "" + +#: src/components/render/Order.tsx:104 msgid "Shipment" msgstr "" -#: src/components/render/Part.tsx:12 +#: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:198 -#: src/pages/part/PartDetail.tsx:491 +#: src/pages/Index/Settings/SystemSettings.tsx:199 +#: src/pages/part/PartDetail.tsx:492 #: src/pages/stock/LocationDetail.tsx:344 -#: src/pages/stock/StockDetail.tsx:344 +#: src/pages/stock/StockDetail.tsx:352 #: src/tables/stock/StockItemTable.tsx:57 msgid "Stock" msgstr "" -#: src/components/render/Stock.tsx:26 -#: src/pages/stock/StockDetail.tsx:142 -#: src/pages/stock/StockDetail.tsx:501 +#: src/components/render/Stock.tsx:52 +#: src/pages/stock/StockDetail.tsx:145 +#: src/pages/stock/StockDetail.tsx:514 msgid "Serial Number" msgstr "" -#: src/components/render/Stock.tsx:28 -#: src/forms/BuildForms.tsx:189 +#: src/components/render/Stock.tsx:54 +#: src/forms/BuildForms.tsx:206 #: src/pages/part/pricing/BomPricingPanel.tsx:144 -#: src/pages/part/pricing/PriceBreakPanel.tsx:96 -#: src/pages/stock/StockDetail.tsx:137 -#: src/pages/stock/StockDetail.tsx:507 +#: src/pages/part/pricing/PriceBreakPanel.tsx:94 +#: src/pages/stock/StockDetail.tsx:140 +#: src/pages/stock/StockDetail.tsx:520 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:73 +#: src/tables/stock/StockTrackingTable.tsx:59 msgid "Quantity" msgstr "" -#: src/components/settings/SettingItem.tsx:46 -#: src/components/settings/SettingItem.tsx:99 -msgid "Setting updated" -msgstr "" - #: src/components/settings/SettingItem.tsx:47 #: src/components/settings/SettingItem.tsx:100 -msgid "{0} updated successfully" -msgstr "" +#~ msgid "{0} updated successfully" +#~ msgstr "" -#: src/components/settings/SettingItem.tsx:55 -msgid "Error editing setting" -msgstr "" - -#: src/components/settings/SettingItem.tsx:92 +#: src/components/settings/SettingList.tsx:67 msgid "Edit Setting" msgstr "" -#: src/components/settings/SettingList.tsx:63 -msgid "No settings specified" +#: src/components/settings/SettingList.tsx:78 +#: src/components/settings/SettingList.tsx:108 +msgid "Setting {0} updated successfully" msgstr "" -#: src/components/tables/ColumnRenderers.tsx:134 -#~ msgid "Shipment Date" -#~ msgstr "" +#: src/components/settings/SettingList.tsx:107 +msgid "Setting updated" +msgstr "" + +#: src/components/settings/SettingList.tsx:117 +msgid "Error editing setting" +msgstr "" + +#: src/components/settings/SettingList.tsx:158 +msgid "No settings specified" +msgstr "" #: src/components/tables/FilterGroup.tsx:29 #~ msgid "Add table filter" @@ -1695,10 +1770,6 @@ msgstr "" #~ msgid "This is a test filter" #~ msgstr "" -#: src/components/tables/stock/StockLocationTable.tsx:91 -#~ msgid "Location Type" -#~ msgstr "" - #: src/components/tables/stock/StockLocationTable.tsx:145 #~ msgid "Stock location updated" #~ msgstr "" @@ -2028,7 +2099,7 @@ msgid "Current News" msgstr "" #: src/defaults/links.tsx:11 -#: src/pages/company/CompanyDetail.tsx:90 +#: src/pages/company/CompanyDetail.tsx:92 msgid "Website" msgstr "" @@ -2043,10 +2114,10 @@ msgstr "" #: src/defaults/links.tsx:31 #: src/defaults/menuItems.tsx:48 #: src/pages/company/ManufacturerDetail.tsx:9 -#: src/pages/company/ManufacturerPartDetail.tsx:231 +#: src/pages/company/ManufacturerPartDetail.tsx:235 #: src/pages/company/SupplierDetail.tsx:9 -#: src/pages/company/SupplierPartDetail.tsx:291 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:358 +#: src/pages/company/SupplierPartDetail.tsx:292 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:365 #: src/pages/purchasing/PurchasingIndex.tsx:52 msgid "Purchasing" msgstr "" @@ -2054,15 +2125,15 @@ msgstr "" #: src/defaults/links.tsx:32 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:323 +#: src/pages/sales/ReturnOrderDetail.tsx:330 #: src/pages/sales/SalesIndex.tsx:45 -#: src/pages/sales/SalesOrderDetail.tsx:345 +#: src/pages/sales/SalesOrderDetail.tsx:352 msgid "Sales" msgstr "" #: src/defaults/links.tsx:35 #: src/defaults/menuItems.tsx:71 -#: src/pages/Index/Playground.tsx:239 +#: src/pages/Index/Playground.tsx:238 msgid "Playground" msgstr "" @@ -2132,87 +2203,83 @@ msgid "View for interactive scanning and multiple actions." msgstr "" #: src/forms/AttachmentForms.tsx:57 -msgid "Add File" -msgstr "" +#~ msgid "Add File" +#~ msgstr "" #: src/forms/AttachmentForms.tsx:57 -msgid "Add Link" -msgstr "" +#~ msgid "Add Link" +#~ msgstr "" #: src/forms/AttachmentForms.tsx:58 -msgid "File added" -msgstr "" +#~ msgid "File added" +#~ msgstr "" #: src/forms/AttachmentForms.tsx:58 -msgid "Link added" -msgstr "" +#~ msgid "Link added" +#~ msgstr "" #: src/forms/AttachmentForms.tsx:99 -msgid "Edit File" -msgstr "" +#~ msgid "Edit File" +#~ msgstr "" #: src/forms/AttachmentForms.tsx:99 -msgid "Edit Link" -msgstr "" +#~ msgid "Edit Link" +#~ msgstr "" #: src/forms/AttachmentForms.tsx:100 -msgid "File updated" -msgstr "" +#~ msgid "File updated" +#~ msgstr "" #: src/forms/AttachmentForms.tsx:100 -msgid "Link updated" -msgstr "" - -#: src/forms/AttachmentForms.tsx:124 -msgid "Delete Attachment" -msgstr "" +#~ msgid "Link updated" +#~ msgstr "" #: src/forms/AttachmentForms.tsx:125 -msgid "Attachment deleted" -msgstr "" +#~ msgid "Attachment deleted" +#~ msgstr "" #: src/forms/AttachmentForms.tsx:128 -msgid "Are you sure you want to delete this attachment?" -msgstr "" +#~ msgid "Are you sure you want to delete this attachment?" +#~ msgstr "" -#: src/forms/BuildForms.tsx:129 +#: src/forms/BuildForms.tsx:146 msgid "Next serial number" msgstr "" -#: src/forms/BuildForms.tsx:133 +#: src/forms/BuildForms.tsx:150 msgid "Latest serial number" msgstr "" -#: src/forms/BuildForms.tsx:205 +#: src/forms/BuildForms.tsx:222 msgid "Remove output" msgstr "" -#: src/forms/BuildForms.tsx:287 +#: src/forms/BuildForms.tsx:304 msgid "Complete Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:291 +#: src/forms/BuildForms.tsx:308 msgid "Build outputs have been completed" msgstr "" -#: src/forms/BuildForms.tsx:360 +#: src/forms/BuildForms.tsx:377 msgid "Scrap Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:364 +#: src/forms/BuildForms.tsx:381 msgid "Build outputs have been scrapped" msgstr "" -#: src/forms/BuildForms.tsx:396 -#: src/forms/BuildForms.tsx:420 +#: src/forms/BuildForms.tsx:413 +#: src/forms/BuildForms.tsx:437 msgid "Cancel Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:397 +#: src/forms/BuildForms.tsx:414 msgid "Selected build outputs will be deleted" msgstr "" -#: src/forms/BuildForms.tsx:424 +#: src/forms/BuildForms.tsx:441 msgid "Build outputs have been cancelled" msgstr "" @@ -2236,76 +2303,76 @@ msgstr "" #~ msgid "Part updated" #~ msgstr "" -#: src/forms/PurchaseOrderForms.tsx:265 +#: src/forms/PurchaseOrderForms.tsx:279 msgid "Choose Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:273 +#: src/forms/PurchaseOrderForms.tsx:287 msgid "Item Destination selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:282 +#: src/forms/PurchaseOrderForms.tsx:296 msgid "Part category default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:292 +#: src/forms/PurchaseOrderForms.tsx:306 msgid "Received stock location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:297 +#: src/forms/PurchaseOrderForms.tsx:311 msgid "Default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:308 -#: src/forms/PurchaseOrderForms.tsx:384 +#: src/forms/PurchaseOrderForms.tsx:322 +#: src/forms/PurchaseOrderForms.tsx:398 msgid "Scan Barcode" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:352 +#: src/forms/PurchaseOrderForms.tsx:366 msgid "Set Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:359 +#: src/forms/PurchaseOrderForms.tsx:373 msgid "Assign Batch Code{0}" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:368 +#: src/forms/PurchaseOrderForms.tsx:382 msgid "Change Status" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:393 -#: src/forms/StockForms.tsx:351 +#: src/forms/PurchaseOrderForms.tsx:407 +#: src/forms/StockForms.tsx:392 msgid "Remove item from list" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:418 -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:58 -#: src/pages/stock/StockDetail.tsx:167 -#: src/tables/ColumnRenderers.tsx:42 +#: src/forms/PurchaseOrderForms.tsx:432 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/pages/stock/StockDetail.tsx:170 +#: src/tables/ColumnRenderers.tsx:34 +#: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:434 +#: src/forms/PurchaseOrderForms.tsx:448 msgid "Store at default location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:447 +#: src/forms/PurchaseOrderForms.tsx:461 msgid "Store at line item destination" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:457 +#: src/forms/PurchaseOrderForms.tsx:471 msgid "Store with already received stock" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:613 +#: src/forms/PurchaseOrderForms.tsx:627 msgid "Receive Line Items" msgstr "" @@ -2313,119 +2380,118 @@ msgstr "" #~ msgid "Receive line items" #~ msgstr "" -#: src/forms/StockForms.tsx:69 +#: src/forms/StockForms.tsx:101 msgid "Add given quantity as packs instead of individual items" msgstr "" -#: src/forms/StockForms.tsx:80 -msgid "Enter initial quantity for this stock item" -msgstr "" - -#: src/forms/StockForms.tsx:85 -msgid "Serial Numbers" -msgstr "" - -#: src/forms/StockForms.tsx:86 -msgid "Enter serial numbers for new stock (or leave blank)" -msgstr "" - #: src/forms/StockForms.tsx:110 #~ msgid "Create Stock Item" #~ msgstr "" -#: src/forms/StockForms.tsx:135 -#: src/pages/stock/StockDetail.tsx:367 -#: src/tables/stock/StockItemTable.tsx:382 -#: src/tables/stock/StockItemTable.tsx:499 -msgid "Add Stock Item" +#: src/forms/StockForms.tsx:114 +msgid "Enter initial quantity for this stock item" +msgstr "" + +#: src/forms/StockForms.tsx:121 +msgid "Serial Numbers" +msgstr "" + +#: src/forms/StockForms.tsx:122 +msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" #: src/forms/StockForms.tsx:158 #~ msgid "Stock item updated" #~ msgstr "" -#: src/forms/StockForms.tsx:298 +#: src/forms/StockForms.tsx:176 +#: src/pages/stock/StockDetail.tsx:375 +#: src/tables/stock/StockItemTable.tsx:382 +#: src/tables/stock/StockItemTable.tsx:499 +msgid "Add Stock Item" +msgstr "" + +#: src/forms/StockForms.tsx:339 msgid "Loading..." msgstr "" -#: src/forms/StockForms.tsx:340 +#: src/forms/StockForms.tsx:381 msgid "Move to default location" msgstr "" -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/part/PartDetail.tsx:205 -#: src/pages/part/PartDetail.tsx:654 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/pages/part/PartDetail.tsx:206 +#: src/pages/part/PartDetail.tsx:655 #: src/tables/stock/StockItemTable.tsx:290 msgid "In Stock" msgstr "" -#: src/forms/StockForms.tsx:408 +#: src/forms/StockForms.tsx:449 msgid "Move" msgstr "" -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/tables/RowActions.tsx:147 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/tables/RowActions.tsx:149 msgid "Actions" msgstr "" -#: src/forms/StockForms.tsx:471 -#: src/pages/stock/StockDetail.tsx:440 -#: src/tables/settings/TemplateTable.tsx:266 -#: src/tables/stock/StockItemTestResultTable.tsx:348 +#: src/forms/StockForms.tsx:512 +#: src/pages/stock/StockDetail.tsx:454 +#: src/tables/stock/StockItemTestResultTable.tsx:339 msgid "Add" msgstr "" -#: src/forms/StockForms.tsx:499 +#: src/forms/StockForms.tsx:540 #: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:430 +#: src/pages/stock/StockDetail.tsx:444 msgid "Count" msgstr "" -#: src/forms/StockForms.tsx:744 +#: src/forms/StockForms.tsx:785 msgid "Add Stock" msgstr "" -#: src/forms/StockForms.tsx:753 +#: src/forms/StockForms.tsx:794 msgid "Remove Stock" msgstr "" -#: src/forms/StockForms.tsx:762 -#: src/pages/part/PartDetail.tsx:781 +#: src/forms/StockForms.tsx:803 +#: src/pages/part/PartDetail.tsx:782 msgid "Transfer Stock" msgstr "" -#: src/forms/StockForms.tsx:771 -#: src/pages/part/PartDetail.tsx:770 +#: src/forms/StockForms.tsx:812 +#: src/pages/part/PartDetail.tsx:771 msgid "Count Stock" msgstr "" -#: src/forms/StockForms.tsx:780 +#: src/forms/StockForms.tsx:821 msgid "Change Stock Status" msgstr "" -#: src/forms/StockForms.tsx:789 +#: src/forms/StockForms.tsx:830 msgid "Merge Stock" msgstr "" -#: src/forms/StockForms.tsx:808 +#: src/forms/StockForms.tsx:849 msgid "Delete Stock Items" msgstr "" -#: src/forms/StockForms.tsx:815 +#: src/forms/StockForms.tsx:856 msgid "Parent stock location" msgstr "" @@ -2612,7 +2678,7 @@ msgstr "" msgid "Welcome to your Dashboard{0}" msgstr "" -#: src/pages/Index/Playground.tsx:244 +#: src/pages/Index/Playground.tsx:243 msgid "This page is a showcase for the possibilities of Platform UI." msgstr "" @@ -2898,49 +2964,53 @@ msgstr "" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:79 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:87 msgid "Background Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:85 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:93 msgid "Error Reports" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:91 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:99 msgid "Currencies" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:109 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:117 msgid "Custom Units" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:115 -#: src/pages/part/CategoryDetail.tsx:254 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:123 +#: src/pages/part/CategoryDetail.tsx:255 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:121 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 +#~ msgid "Templates" +#~ msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:129 msgid "Category Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 -msgid "Templates" +#: src/pages/Index/Settings/AdminCenter/Index.tsx:147 +msgid "Location types" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:139 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:159 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:149 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:169 msgid "Quick Actions" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:154 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 msgid "Add a new user" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:173 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:193 msgid "Advanced Options" msgstr "" @@ -2985,26 +3055,32 @@ msgstr "" msgid "Plugin Settings" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:25 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:53 +msgid "Background Worker Not Running" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:54 +msgid "The background task manager service is not running. Contact your system administrator." +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:60 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:76 msgid "Pending Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:33 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:64 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:84 msgid "Scheduled Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:41 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:68 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:92 msgid "Failed Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:139 -msgid "Labels" -msgstr "" - #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:39 -msgid "Label" -msgstr "" +#~ msgid "Label" +#~ msgstr "" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67 #~ msgid "Stock item" @@ -3015,13 +3091,13 @@ msgstr "" #~ msgstr "" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:88 -msgid "Reports" -msgstr "" +#~ msgid "Reports" +#~ msgstr "" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:89 #: src/pages/build/BuildDetail.tsx:373 -msgid "Report" -msgstr "" +#~ msgid "Report" +#~ msgstr "" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99 #~ msgid "Purchase order" @@ -3035,14 +3111,9 @@ msgstr "" #~ msgid "Return order" #~ msgstr "" -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135 -#: src/pages/part/PartDetail.tsx:518 -msgid "Bill of Materials" -msgstr "" - #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:145 -msgid "Tests" -msgstr "" +#~ msgid "Tests" +#~ msgstr "" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:154 #~ msgid "Stock location" @@ -3081,26 +3152,30 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "" +#: src/pages/Index/Settings/SystemSettings.tsx:139 +msgid "Labels" +msgstr "" + #: src/pages/Index/Settings/SystemSettings.tsx:145 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:223 -#: src/pages/part/PartDetail.tsx:589 +#: src/pages/Index/Settings/SystemSettings.tsx:224 +#: src/pages/part/PartDetail.tsx:590 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:228 -#: src/pages/build/BuildDetail.tsx:426 +#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:525 -#: src/pages/sales/SalesOrderDetail.tsx:263 +#: src/pages/part/PartDetail.tsx:526 +#: src/pages/sales/SalesOrderDetail.tsx:265 msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:296 +#: src/pages/Index/Settings/SystemSettings.tsx:297 msgid "Switch to User Setting" msgstr "" @@ -3153,44 +3228,47 @@ msgstr "" #~ msgstr "" #: src/pages/build/BuildDetail.tsx:89 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:128 -#: src/pages/sales/ReturnOrderDetail.tsx:95 -#: src/pages/sales/SalesOrderDetail.tsx:99 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:130 +#: src/pages/sales/ReturnOrderDetail.tsx:97 +#: src/pages/sales/SalesOrderDetail.tsx:101 #: src/tables/build/BuildOrderTable.tsx:113 #: src/tables/machine/MachineListTable.tsx:326 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderTable.tsx:46 #: src/tables/sales/SalesOrderTable.tsx:52 #: src/tables/stock/StockItemTable.tsx:259 +#: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "" #: src/pages/build/BuildDetail.tsx:95 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:101 -#: src/pages/sales/ReturnOrderDetail.tsx:69 -#: src/pages/sales/SalesOrderDetail.tsx:73 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:103 +#: src/pages/sales/ReturnOrderDetail.tsx:71 +#: src/pages/sales/SalesOrderDetail.tsx:75 +#: src/tables/ColumnRenderers.tsx:106 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" msgstr "" #: src/pages/build/BuildDetail.tsx:100 -#: src/pages/company/CompanyDetail.tsx:84 -#: src/pages/company/ManufacturerPartDetail.tsx:75 -#: src/pages/company/SupplierPartDetail.tsx:82 -#: src/pages/part/CategoryDetail.tsx:91 -#: src/pages/part/PartDetail.tsx:132 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:122 -#: src/pages/sales/ReturnOrderDetail.tsx:89 -#: src/pages/sales/SalesOrderDetail.tsx:93 -#: src/pages/stock/LocationDetail.tsx:97 -#: src/tables/ColumnRenderers.tsx:95 +#: src/pages/company/CompanyDetail.tsx:86 +#: src/pages/company/ManufacturerPartDetail.tsx:76 +#: src/pages/company/SupplierPartDetail.tsx:83 +#: src/pages/part/CategoryDetail.tsx:92 +#: src/pages/part/PartDetail.tsx:133 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:124 +#: src/pages/sales/ReturnOrderDetail.tsx:91 +#: src/pages/sales/SalesOrderDetail.tsx:95 +#: src/pages/stock/LocationDetail.tsx:99 +#: src/tables/ColumnRenderers.tsx:66 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 #: src/tables/machine/MachineTypeTable.tsx:323 #: src/tables/part/RelatedPartTable.tsx:64 -#: src/tables/plugin/PluginListTable.tsx:172 -#: src/tables/plugin/PluginListTable.tsx:302 +#: src/tables/plugin/PluginListTable.tsx:129 +#: src/tables/plugin/PluginListTable.tsx:276 +#: src/tables/stock/LocationTypesTable.tsx:65 msgid "Description" msgstr "" @@ -3203,7 +3281,7 @@ msgid "Build Quantity" msgstr "" #: src/pages/build/BuildDetail.tsx:126 -#: src/pages/build/BuildDetail.tsx:249 +#: src/pages/build/BuildDetail.tsx:256 msgid "Completed Outputs" msgstr "" @@ -3213,10 +3291,10 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:150 -#: src/pages/part/PartDetail.tsx:320 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:214 -#: src/pages/sales/ReturnOrderDetail.tsx:182 -#: src/pages/sales/SalesOrderDetail.tsx:186 +#: src/pages/part/PartDetail.tsx:321 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:184 +#: src/pages/sales/SalesOrderDetail.tsx:188 #: src/tables/build/BuildOrderTable.tsx:148 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 @@ -3230,10 +3308,10 @@ msgid "Created" msgstr "" #: src/pages/build/BuildDetail.tsx:164 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:207 -#: src/pages/sales/ReturnOrderDetail.tsx:175 -#: src/pages/sales/SalesOrderDetail.tsx:179 -#: src/tables/ColumnRenderers.tsx:227 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:209 +#: src/pages/sales/ReturnOrderDetail.tsx:177 +#: src/pages/sales/SalesOrderDetail.tsx:181 +#: src/tables/ColumnRenderers.tsx:191 msgid "Target Date" msgstr "" @@ -3269,6 +3347,11 @@ msgstr "" #~ msgid "Unlink custom barcode from part" #~ msgstr "" +#: src/pages/build/BuildDetail.tsx:197 +#: src/pages/stock/StockDetail.tsx:526 +msgid "Batch Code" +msgstr "" + #: src/pages/build/BuildDetail.tsx:202 #~ msgid "Build Order updated" #~ msgstr "" @@ -3277,86 +3360,87 @@ msgstr "" #~ msgid "Edit build order" #~ msgstr "" -#: src/pages/build/BuildDetail.tsx:222 -msgid "Build Details" -msgstr "" - #: src/pages/build/BuildDetail.tsx:226 #~ msgid "Duplicate build order" #~ msgstr "" -#: src/pages/build/BuildDetail.tsx:228 -#: src/tables/build/BuildLineTable.tsx:225 -msgid "Allocate Stock" +#: src/pages/build/BuildDetail.tsx:229 +msgid "Build Details" msgstr "" #: src/pages/build/BuildDetail.tsx:231 #~ msgid "Delete build order" #~ msgstr "" -#: src/pages/build/BuildDetail.tsx:242 +#: src/pages/build/BuildDetail.tsx:235 +#: src/tables/build/BuildLineTable.tsx:225 +msgid "Allocate Stock" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:249 msgid "Incomplete Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:264 +#: src/pages/build/BuildDetail.tsx:271 msgid "Consumed Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:278 +#: src/pages/build/BuildDetail.tsx:285 msgid "Child Build Orders" msgstr "" -#: src/pages/build/BuildDetail.tsx:288 -#: src/pages/company/CompanyDetail.tsx:253 -#: src/pages/company/ManufacturerPartDetail.tsx:171 -#: src/pages/part/PartDetail.tsx:611 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:276 -#: src/pages/sales/ReturnOrderDetail.tsx:225 -#: src/pages/sales/SalesOrderDetail.tsx:273 -#: src/pages/stock/StockDetail.tsx:317 +#: src/pages/build/BuildDetail.tsx:295 +#: src/pages/company/CompanyDetail.tsx:255 +#: src/pages/company/ManufacturerPartDetail.tsx:172 +#: src/pages/part/PartDetail.tsx:612 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:278 +#: src/pages/sales/ReturnOrderDetail.tsx:227 +#: src/pages/sales/SalesOrderDetail.tsx:275 +#: src/pages/stock/StockDetail.tsx:325 msgid "Attachments" msgstr "" -#: src/pages/build/BuildDetail.tsx:300 -#: src/pages/company/CompanyDetail.tsx:265 -#: src/pages/part/PartDetail.tsx:623 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:288 -#: src/pages/sales/ReturnOrderDetail.tsx:237 -#: src/pages/sales/SalesOrderDetail.tsx:285 -#: src/pages/stock/StockDetail.tsx:329 +#: src/pages/build/BuildDetail.tsx:307 +#: src/pages/company/CompanyDetail.tsx:267 +#: src/pages/part/PartDetail.tsx:624 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:290 +#: src/pages/sales/ReturnOrderDetail.tsx:239 +#: src/pages/sales/SalesOrderDetail.tsx:287 +#: src/pages/stock/StockDetail.tsx:337 +#: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "" -#: src/pages/build/BuildDetail.tsx:318 +#: src/pages/build/BuildDetail.tsx:325 msgid "Edit Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:327 +#: src/pages/build/BuildDetail.tsx:334 msgid "Cancel Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:339 +#: src/pages/build/BuildDetail.tsx:346 #: src/tables/build/BuildOrderTable.tsx:167 #: src/tables/build/BuildOrderTable.tsx:182 msgid "Add Build Order" msgstr "" #: src/pages/build/BuildDetail.tsx:368 -msgid "Reporting Actions" -msgstr "" +#~ msgid "Reporting Actions" +#~ msgstr "" #: src/pages/build/BuildDetail.tsx:374 -msgid "Print build report" -msgstr "" +#~ msgid "Print build report" +#~ msgstr "" -#: src/pages/build/BuildDetail.tsx:380 +#: src/pages/build/BuildDetail.tsx:378 msgid "Build Order Actions" msgstr "" -#: src/pages/build/BuildDetail.tsx:388 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:326 -#: src/pages/sales/ReturnOrderDetail.tsx:300 -#: src/pages/sales/SalesOrderDetail.tsx:310 +#: src/pages/build/BuildDetail.tsx:386 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:333 +#: src/pages/sales/ReturnOrderDetail.tsx:307 +#: src/pages/sales/SalesOrderDetail.tsx:317 msgid "Cancel order" msgstr "" @@ -3368,56 +3452,58 @@ msgstr "" #~ msgid "New Build Order" #~ msgstr "" -#: src/pages/company/CompanyDetail.tsx:98 +#: src/pages/company/CompanyDetail.tsx:100 msgid "Phone Number" msgstr "" -#: src/pages/company/CompanyDetail.tsx:105 +#: src/pages/company/CompanyDetail.tsx:107 msgid "Email Address" msgstr "" -#: src/pages/company/CompanyDetail.tsx:115 +#: src/pages/company/CompanyDetail.tsx:117 msgid "Default Currency" msgstr "" -#: src/pages/company/CompanyDetail.tsx:120 +#: src/pages/company/CompanyDetail.tsx:122 #: src/pages/company/SupplierDetail.tsx:8 -#: src/pages/company/SupplierPartDetail.tsx:106 -#: src/pages/company/SupplierPartDetail.tsx:192 -#: src/pages/company/SupplierPartDetail.tsx:295 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:116 +#: src/pages/company/SupplierPartDetail.tsx:107 +#: src/pages/company/SupplierPartDetail.tsx:193 +#: src/pages/company/SupplierPartDetail.tsx:296 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:118 #: src/tables/company/CompanyTable.tsx:100 #: src/tables/purchasing/PurchaseOrderTable.tsx:88 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:36 msgid "Supplier" msgstr "" -#: src/pages/company/CompanyDetail.tsx:126 +#: src/pages/company/CompanyDetail.tsx:128 #: src/pages/company/ManufacturerDetail.tsx:8 -#: src/pages/company/ManufacturerPartDetail.tsx:93 -#: src/pages/company/ManufacturerPartDetail.tsx:235 -#: src/pages/company/SupplierPartDetail.tsx:121 +#: src/pages/company/ManufacturerPartDetail.tsx:94 +#: src/pages/company/ManufacturerPartDetail.tsx:239 +#: src/pages/company/SupplierPartDetail.tsx:122 #: src/tables/company/CompanyTable.tsx:105 msgid "Manufacturer" msgstr "" -#: src/pages/company/CompanyDetail.tsx:132 +#: src/pages/company/CompanyDetail.tsx:134 #: src/pages/company/CustomerDetail.tsx:8 #: src/pages/part/pricing/SaleHistoryPanel.tsx:39 -#: src/pages/sales/ReturnOrderDetail.tsx:83 -#: src/pages/sales/SalesOrderDetail.tsx:87 -#: src/pages/stock/StockDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:85 +#: src/pages/sales/SalesOrderDetail.tsx:89 +#: src/pages/stock/StockDetail.tsx:219 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:107 +#: src/tables/stock/StockTrackingTable.tsx:140 msgid "Customer" msgstr "" -#: src/pages/company/CompanyDetail.tsx:166 +#: src/pages/company/CompanyDetail.tsx:168 +#: src/tables/stock/StockTrackingTable.tsx:183 msgid "Details" msgstr "" -#: src/pages/company/CompanyDetail.tsx:172 +#: src/pages/company/CompanyDetail.tsx:174 msgid "Manufactured Parts" msgstr "" @@ -3425,7 +3511,7 @@ msgstr "" #~ msgid "Edit company" #~ msgstr "" -#: src/pages/company/CompanyDetail.tsx:181 +#: src/pages/company/CompanyDetail.tsx:183 msgid "Supplied Parts" msgstr "" @@ -3433,289 +3519,289 @@ msgstr "" #~ msgid "Delete company" #~ msgstr "" -#: src/pages/company/CompanyDetail.tsx:226 +#: src/pages/company/CompanyDetail.tsx:228 msgid "Assigned Stock" msgstr "" -#: src/pages/company/CompanyDetail.tsx:281 +#: src/pages/company/CompanyDetail.tsx:283 #: src/tables/company/CompanyTable.tsx:86 msgid "Edit Company" msgstr "" -#: src/pages/company/CompanyDetail.tsx:290 +#: src/pages/company/CompanyDetail.tsx:292 msgid "Company Actions" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:68 -#: src/pages/company/SupplierPartDetail.tsx:75 +#: src/pages/company/ManufacturerPartDetail.tsx:69 +#: src/pages/company/SupplierPartDetail.tsx:76 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:72 msgid "Internal Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:83 -#: src/pages/company/SupplierPartDetail.tsx:89 +#: src/pages/company/ManufacturerPartDetail.tsx:84 +#: src/pages/company/SupplierPartDetail.tsx:90 msgid "External Link" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:101 -#: src/pages/company/SupplierPartDetail.tsx:130 -#: src/tables/purchasing/ManufacturerPartTable.tsx:53 +#: src/pages/company/ManufacturerPartDetail.tsx:102 +#: src/pages/company/SupplierPartDetail.tsx:131 +#: src/tables/purchasing/ManufacturerPartTable.tsx:56 msgid "Manufacturer Part Number" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:130 +#: src/pages/company/ManufacturerPartDetail.tsx:131 msgid "Manufacturer Details" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:139 +#: src/pages/company/ManufacturerPartDetail.tsx:140 msgid "Manufacturer Part Details" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:145 -#: src/pages/part/PartDetail.tsx:485 +#: src/pages/company/ManufacturerPartDetail.tsx:146 +#: src/pages/part/PartDetail.tsx:486 msgid "Parameters" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:157 -#: src/pages/part/PartDetail.tsx:558 +#: src/pages/company/ManufacturerPartDetail.tsx:158 +#: src/pages/part/PartDetail.tsx:559 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:189 -#: src/tables/purchasing/ManufacturerPartTable.tsx:97 +#: src/pages/company/ManufacturerPartDetail.tsx:190 +#: src/tables/purchasing/ManufacturerPartTable.tsx:84 msgid "Edit Manufacturer Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:196 -#: src/tables/purchasing/ManufacturerPartTable.tsx:63 -#: src/tables/purchasing/ManufacturerPartTable.tsx:78 +#: src/pages/company/ManufacturerPartDetail.tsx:197 +#: src/tables/purchasing/ManufacturerPartTable.tsx:72 +#: src/tables/purchasing/ManufacturerPartTable.tsx:103 msgid "Add Manufacturer Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:209 +#: src/pages/company/ManufacturerPartDetail.tsx:213 msgid "Manufacturer Part Actions" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:247 +#: src/pages/company/ManufacturerPartDetail.tsx:251 msgid "ManufacturerPart" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:96 -#: src/tables/ColumnRenderers.tsx:146 +#: src/pages/company/SupplierPartDetail.tsx:97 +#: src/tables/ColumnRenderers.tsx:117 msgid "Note" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:114 +#: src/pages/company/SupplierPartDetail.tsx:115 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:57 msgid "SKU" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:142 -#: src/pages/company/SupplierPartDetail.tsx:193 -#: src/pages/stock/StockDetail.tsx:230 +#: src/pages/company/SupplierPartDetail.tsx:143 +#: src/pages/company/SupplierPartDetail.tsx:194 +#: src/pages/stock/StockDetail.tsx:233 msgid "Packaging" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:149 +#: src/pages/company/SupplierPartDetail.tsx:150 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:107 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143 #: src/tables/purchasing/SupplierPartTable.tsx:131 msgid "Pack Quantity" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:160 +#: src/pages/company/SupplierPartDetail.tsx:161 msgid "Supplier Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:167 +#: src/pages/company/SupplierPartDetail.tsx:168 msgid "Availability Updated" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:194 +#: src/pages/company/SupplierPartDetail.tsx:195 msgid "Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:203 +#: src/pages/company/SupplierPartDetail.tsx:204 msgid "Supplier Part Details" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:209 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:263 +#: src/pages/company/SupplierPartDetail.tsx:210 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:265 msgid "Received Stock" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:233 +#: src/pages/company/SupplierPartDetail.tsx:234 #: src/pages/part/PartPricingPanel.tsx:115 #: src/pages/part/pricing/PricingOverviewPanel.tsx:130 msgid "Supplier Pricing" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:248 +#: src/pages/company/SupplierPartDetail.tsx:249 msgid "Supplier Part Actions" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:272 +#: src/pages/company/SupplierPartDetail.tsx:273 #: src/tables/purchasing/SupplierPartTable.tsx:210 msgid "Edit Supplier Part" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:279 +#: src/pages/company/SupplierPartDetail.tsx:280 #: src/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "" -#: src/pages/part/CategoryDetail.tsx:83 -#: src/pages/stock/LocationDetail.tsx:89 +#: src/pages/part/CategoryDetail.tsx:84 +#: src/pages/stock/LocationDetail.tsx:91 #: src/tables/settings/ErrorTable.tsx:34 msgid "Path" msgstr "" -#: src/pages/part/CategoryDetail.tsx:99 +#: src/pages/part/CategoryDetail.tsx:100 msgid "Parent Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:116 +#: src/pages/part/CategoryDetail.tsx:117 msgid "Subcategories" msgstr "" -#: src/pages/part/CategoryDetail.tsx:123 -#: src/pages/stock/LocationDetail.tsx:129 -#: src/tables/part/PartCategoryTable.tsx:69 +#: src/pages/part/CategoryDetail.tsx:124 +#: src/pages/stock/LocationDetail.tsx:131 +#: src/tables/part/PartCategoryTable.tsx:65 msgid "Structural" msgstr "" -#: src/pages/part/CategoryDetail.tsx:129 +#: src/pages/part/CategoryDetail.tsx:130 msgid "Parent default location" msgstr "" -#: src/pages/part/CategoryDetail.tsx:136 +#: src/pages/part/CategoryDetail.tsx:137 msgid "Default location" msgstr "" -#: src/pages/part/CategoryDetail.tsx:147 +#: src/pages/part/CategoryDetail.tsx:148 msgid "Top level part category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:157 -#: src/pages/part/CategoryDetail.tsx:211 -#: src/tables/part/PartCategoryTable.tsx:96 +#: src/pages/part/CategoryDetail.tsx:158 +#: src/pages/part/CategoryDetail.tsx:212 +#: src/tables/part/PartCategoryTable.tsx:88 msgid "Edit Part Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:170 -#: src/pages/stock/LocationDetail.tsx:213 +#: src/pages/part/CategoryDetail.tsx:171 +#: src/pages/stock/LocationDetail.tsx:223 msgid "Delete items" msgstr "" -#: src/pages/part/CategoryDetail.tsx:178 -#: src/pages/part/CategoryDetail.tsx:216 +#: src/pages/part/CategoryDetail.tsx:179 +#: src/pages/part/CategoryDetail.tsx:217 msgid "Delete Part Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:181 +#: src/pages/part/CategoryDetail.tsx:182 msgid "Parts Action" msgstr "" -#: src/pages/part/CategoryDetail.tsx:182 +#: src/pages/part/CategoryDetail.tsx:183 msgid "Action for parts in this category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:187 +#: src/pages/part/CategoryDetail.tsx:188 msgid "Child Categories Action" msgstr "" -#: src/pages/part/CategoryDetail.tsx:188 +#: src/pages/part/CategoryDetail.tsx:189 msgid "Action for child categories in this category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:206 +#: src/pages/part/CategoryDetail.tsx:207 msgid "Category Actions" msgstr "" -#: src/pages/part/CategoryDetail.tsx:228 +#: src/pages/part/CategoryDetail.tsx:229 msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:138 +#: src/pages/part/PartDetail.tsx:139 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:145 +#: src/pages/part/PartDetail.tsx:146 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "" -#: src/pages/part/PartDetail.tsx:151 +#: src/pages/part/PartDetail.tsx:152 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:158 +#: src/pages/part/PartDetail.tsx:159 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:165 +#: src/pages/part/PartDetail.tsx:166 msgid "IPN" msgstr "" -#: src/pages/part/PartDetail.tsx:172 +#: src/pages/part/PartDetail.tsx:173 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:179 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39 +#: src/pages/part/PartDetail.tsx:180 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "" -#: src/pages/part/PartDetail.tsx:186 +#: src/pages/part/PartDetail.tsx:187 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:193 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:180 -#: src/pages/sales/ReturnOrderDetail.tsx:148 -#: src/pages/sales/SalesOrderDetail.tsx:152 +#: src/pages/part/PartDetail.tsx:194 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:182 +#: src/pages/sales/ReturnOrderDetail.tsx:150 +#: src/pages/sales/SalesOrderDetail.tsx:154 msgid "Link" msgstr "" -#: src/pages/part/PartDetail.tsx:211 -#: src/tables/bom/BomTable.tsx:269 +#: src/pages/part/PartDetail.tsx:212 +#: src/tables/bom/BomTable.tsx:271 #: src/tables/build/BuildLineTable.tsx:121 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:218 +#: src/pages/part/PartDetail.tsx:219 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:224 -#: src/tables/bom/BomTable.tsx:210 +#: src/pages/part/PartDetail.tsx:225 +#: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:233 +#: src/pages/part/PartDetail.tsx:234 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:241 +#: src/pages/part/PartDetail.tsx:242 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:248 -#: src/tables/bom/BomTable.tsx:234 +#: src/pages/part/PartDetail.tsx:249 +#: src/tables/bom/BomTable.tsx:236 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:255 -#: src/tables/bom/BomTable.tsx:218 +#: src/pages/part/PartDetail.tsx:256 +#: src/tables/bom/BomTable.tsx:220 #: src/tables/part/PartTable.tsx:82 msgid "Building" msgstr "" -#: src/pages/part/PartDetail.tsx:264 +#: src/pages/part/PartDetail.tsx:265 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 @@ -3724,45 +3810,47 @@ msgstr "" #: src/tables/machine/MachineListTable.tsx:585 #: src/tables/part/PartTable.tsx:168 #: src/tables/part/PartVariantTable.tsx:15 -#: src/tables/plugin/PluginListTable.tsx:190 -#: src/tables/plugin/PluginListTable.tsx:638 +#: src/tables/plugin/PluginListTable.tsx:149 +#: src/tables/plugin/PluginListTable.tsx:271 +#: src/tables/plugin/PluginListTable.tsx:563 #: src/tables/purchasing/SupplierPartTable.tsx:98 #: src/tables/purchasing/SupplierPartTable.tsx:187 #: src/tables/stock/StockItemTable.tsx:254 msgid "Active" msgstr "" -#: src/pages/part/PartDetail.tsx:269 +#: src/pages/part/PartDetail.tsx:270 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:274 -#: src/tables/bom/BomTable.tsx:264 +#: src/pages/part/PartDetail.tsx:275 +#: src/tables/bom/BomTable.tsx:266 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:279 +#: src/pages/part/PartDetail.tsx:280 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:284 -#: src/tables/bom/BomTable.tsx:259 +#: src/pages/part/PartDetail.tsx:285 +#: src/tables/bom/BomTable.tsx:261 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:289 +#: src/pages/part/PartDetail.tsx:290 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:294 +#: src/pages/part/PartDetail.tsx:295 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:299 +#: src/pages/part/PartDetail.tsx:300 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:307 +#: src/pages/part/PartDetail.tsx:308 +#: src/tables/ColumnRenderers.tsx:199 msgid "Creation Date" msgstr "" @@ -3770,7 +3858,7 @@ msgstr "" #~ msgid "Edit part" #~ msgstr "" -#: src/pages/part/PartDetail.tsx:312 +#: src/pages/part/PartDetail.tsx:313 msgid "Created By" msgstr "" @@ -3778,68 +3866,72 @@ msgstr "" #~ msgid "Duplicate part" #~ msgstr "" -#: src/pages/part/PartDetail.tsx:327 -msgid "Default Supplier" -msgstr "" - #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "" -#: src/pages/part/PartDetail.tsx:338 +#: src/pages/part/PartDetail.tsx:328 +msgid "Default Supplier" +msgstr "" + +#: src/pages/part/PartDetail.tsx:339 #: src/tables/part/PartTable.tsx:151 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:373 -#: src/pages/stock/StockDetail.tsx:127 +#: src/pages/part/PartDetail.tsx:374 +#: src/pages/stock/StockDetail.tsx:130 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:408 +#: src/pages/part/PartDetail.tsx:409 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:479 +#: src/pages/part/PartDetail.tsx:480 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:505 +#: src/pages/part/PartDetail.tsx:506 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:512 -#: src/pages/stock/StockDetail.tsx:275 +#: src/pages/part/PartDetail.tsx:513 +#: src/pages/stock/StockDetail.tsx:283 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:532 +#: src/pages/part/PartDetail.tsx:519 +msgid "Bill of Materials" +msgstr "" + +#: src/pages/part/PartDetail.tsx:533 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:539 +#: src/pages/part/PartDetail.tsx:540 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:545 +#: src/pages/part/PartDetail.tsx:546 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:584 +#: src/pages/part/PartDetail.tsx:585 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:594 +#: src/pages/part/PartDetail.tsx:595 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:605 +#: src/pages/part/PartDetail.tsx:606 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:660 -#: src/pages/stock/StockDetail.tsx:148 +#: src/pages/part/PartDetail.tsx:661 +#: src/pages/stock/StockDetail.tsx:151 #: src/tables/build/BuildLineTable.tsx:36 #: src/tables/part/PartTable.tsx:107 #: src/tables/stock/StockItemTable.tsx:166 @@ -3847,49 +3939,51 @@ msgstr "" msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:666 +#: src/pages/part/PartDetail.tsx:667 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:672 -#: src/tables/bom/BomTable.tsx:274 +#: src/pages/part/PartDetail.tsx:673 +#: src/tables/bom/BomTable.tsx:276 #: src/tables/part/PartTable.tsx:76 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:678 -#: src/pages/stock/StockDetail.tsx:496 +#: src/pages/part/PartDetail.tsx:679 +#: src/pages/stock/StockDetail.tsx:509 #: src/tables/stock/StockItemTable.tsx:295 msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:697 +#: src/pages/part/PartDetail.tsx:698 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:704 +#: src/pages/part/PartDetail.tsx:705 #: src/tables/part/PartTable.tsx:266 #: src/tables/part/PartTable.tsx:279 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:716 +#: src/pages/part/PartDetail.tsx:717 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:725 +#: src/pages/part/PartDetail.tsx:726 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:763 +#: src/pages/part/PartDetail.tsx:764 +#: src/pages/stock/LocationDetail.tsx:301 +#: src/tables/stock/StockItemTable.tsx:409 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:771 +#: src/pages/part/PartDetail.tsx:772 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:782 +#: src/pages/part/PartDetail.tsx:783 msgid "Transfer part stock" msgstr "" @@ -3951,15 +4045,15 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151 #: src/pages/part/pricing/SupplierPricingPanel.tsx:83 -#: src/tables/bom/BomTable.tsx:149 +#: src/tables/bom/BomTable.tsx:151 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 msgid "Unit Price" msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:173 -#: src/tables/ColumnRenderers.tsx:278 -#: src/tables/bom/BomTable.tsx:158 +#: src/tables/ColumnRenderers.tsx:241 +#: src/tables/bom/BomTable.tsx:160 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 #: src/tables/sales/ReturnOrderTable.tsx:104 #: src/tables/sales/SalesOrderTable.tsx:134 @@ -3981,24 +4075,24 @@ msgid "Bar Chart" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:63 -#: src/pages/part/pricing/PriceBreakPanel.tsx:117 +#: src/pages/part/pricing/PriceBreakPanel.tsx:115 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:138 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:164 msgid "Add Price Break" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:76 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:149 msgid "Edit Price Break" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:86 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:157 msgid "Delete Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:102 -#: src/pages/part/pricing/PriceBreakPanel.tsx:193 +#: src/pages/part/pricing/PriceBreakPanel.tsx:100 +#: src/pages/part/pricing/PriceBreakPanel.tsx:191 msgid "Price Break" msgstr "" @@ -4027,7 +4121,7 @@ msgid "Overall Pricing" msgstr "" #: src/pages/part/pricing/PricingOverviewPanel.tsx:184 -#: src/pages/stock/StockDetail.tsx:121 +#: src/pages/stock/StockDetail.tsx:124 msgid "Last Updated" msgstr "" @@ -4061,9 +4155,8 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50 #: src/pages/part/pricing/SaleHistoryPanel.tsx:46 -#: src/tables/ColumnRenderers.tsx:217 -#: src/tables/plugin/PluginListTable.tsx:182 -#: src/tables/stock/StockItemTestResultTable.tsx:194 +#: src/tables/ColumnRenderers.tsx:180 +#: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" @@ -4090,89 +4183,89 @@ msgstr "" msgid "Variant Part" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:73 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:75 msgid "Edit Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:82 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:84 #: src/tables/purchasing/PurchaseOrderTable.tsx:128 #: src/tables/purchasing/PurchaseOrderTable.tsx:140 msgid "Add Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:107 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:109 msgid "Supplier Reference" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:137 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:252 -#: src/pages/sales/ReturnOrderDetail.tsx:104 -#: src/pages/sales/ReturnOrderDetail.tsx:220 -#: src/pages/sales/SalesOrderDetail.tsx:108 -#: src/pages/sales/SalesOrderDetail.tsx:248 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:139 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:254 +#: src/pages/sales/ReturnOrderDetail.tsx:106 +#: src/pages/sales/ReturnOrderDetail.tsx:222 +#: src/pages/sales/SalesOrderDetail.tsx:110 +#: src/pages/sales/SalesOrderDetail.tsx:250 msgid "Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:144 -#: src/pages/sales/ReturnOrderDetail.tsx:111 -#: src/pages/sales/SalesOrderDetail.tsx:115 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:146 +#: src/pages/sales/ReturnOrderDetail.tsx:113 +#: src/pages/sales/SalesOrderDetail.tsx:117 msgid "Completed Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:152 -#: src/pages/sales/ReturnOrderDetail.tsx:119 -#: src/pages/sales/SalesOrderDetail.tsx:123 -#: src/pages/sales/SalesOrderDetail.tsx:258 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:121 +#: src/pages/sales/SalesOrderDetail.tsx:125 +#: src/pages/sales/SalesOrderDetail.tsx:260 msgid "Completed Shipments" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:159 -#: src/pages/sales/ReturnOrderDetail.tsx:127 -#: src/pages/sales/SalesOrderDetail.tsx:131 -msgid "Order Currency" -msgstr "" - #: src/pages/purchasing/PurchaseOrderDetail.tsx:159 #: src/pages/sales/ReturnOrderDetail.tsx:126 #: src/pages/sales/SalesOrderDetail.tsx:130 #~ msgid "Order Currency," #~ msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:166 -#: src/pages/sales/ReturnOrderDetail.tsx:134 -#: src/pages/sales/SalesOrderDetail.tsx:138 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:161 +#: src/pages/sales/ReturnOrderDetail.tsx:129 +#: src/pages/sales/SalesOrderDetail.tsx:133 +msgid "Order Currency" +msgstr "" + +#: src/pages/purchasing/PurchaseOrderDetail.tsx:168 +#: src/pages/sales/ReturnOrderDetail.tsx:136 +#: src/pages/sales/SalesOrderDetail.tsx:140 msgid "Total Cost" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:201 -#: src/pages/sales/ReturnOrderDetail.tsx:169 -#: src/pages/sales/SalesOrderDetail.tsx:173 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:203 +#: src/pages/sales/ReturnOrderDetail.tsx:171 +#: src/pages/sales/SalesOrderDetail.tsx:175 msgid "Created On" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:246 -#: src/pages/sales/ReturnOrderDetail.tsx:214 -#: src/pages/sales/SalesOrderDetail.tsx:242 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:248 +#: src/pages/sales/ReturnOrderDetail.tsx:216 +#: src/pages/sales/SalesOrderDetail.tsx:244 msgid "Order Details" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:316 -#: src/pages/sales/ReturnOrderDetail.tsx:290 -#: src/pages/sales/SalesOrderDetail.tsx:302 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:323 +#: src/pages/sales/ReturnOrderDetail.tsx:297 +#: src/pages/sales/SalesOrderDetail.tsx:309 msgid "Order Actions" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:75 -#: src/pages/sales/SalesOrderDetail.tsx:79 +#: src/pages/sales/ReturnOrderDetail.tsx:77 +#: src/pages/sales/SalesOrderDetail.tsx:81 #: src/tables/sales/SalesOrderTable.tsx:123 msgid "Customer Reference" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:267 +#: src/pages/sales/ReturnOrderDetail.tsx:269 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:276 +#: src/pages/sales/ReturnOrderDetail.tsx:278 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" @@ -4182,68 +4275,72 @@ msgstr "" msgid "Customers" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:219 +#: src/pages/sales/SalesOrderDetail.tsx:221 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:228 +#: src/pages/sales/SalesOrderDetail.tsx:230 #: src/tables/sales/SalesOrderTable.tsx:83 #: src/tables/sales/SalesOrderTable.tsx:95 msgid "Add Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:253 +#: src/pages/sales/SalesOrderDetail.tsx:255 msgid "Pending Shipments" msgstr "" -#: src/pages/stock/LocationDetail.tsx:105 +#: src/pages/stock/LocationDetail.tsx:107 msgid "Parent Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:123 +#: src/pages/stock/LocationDetail.tsx:125 msgid "Sublocations" msgstr "" -#: src/pages/stock/LocationDetail.tsx:135 +#: src/pages/stock/LocationDetail.tsx:137 msgid "External" msgstr "" -#: src/pages/stock/LocationDetail.tsx:144 +#: src/pages/stock/LocationDetail.tsx:143 +msgid "Location Type" +msgstr "" + +#: src/pages/stock/LocationDetail.tsx:154 msgid "Top level stock location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:155 +#: src/pages/stock/LocationDetail.tsx:165 msgid "Location Details" msgstr "" -#: src/pages/stock/LocationDetail.tsx:181 +#: src/pages/stock/LocationDetail.tsx:191 msgid "Default Parts" msgstr "" -#: src/pages/stock/LocationDetail.tsx:200 +#: src/pages/stock/LocationDetail.tsx:210 #: src/pages/stock/LocationDetail.tsx:328 -#: src/tables/stock/StockLocationTable.tsx:108 +#: src/tables/stock/StockLocationTable.tsx:100 msgid "Edit Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:221 +#: src/pages/stock/LocationDetail.tsx:231 #: src/pages/stock/LocationDetail.tsx:333 msgid "Delete Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:224 +#: src/pages/stock/LocationDetail.tsx:234 msgid "Items Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:225 +#: src/pages/stock/LocationDetail.tsx:235 msgid "Action for stock items in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:230 +#: src/pages/stock/LocationDetail.tsx:240 msgid "Child Locations Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:231 +#: src/pages/stock/LocationDetail.tsx:241 msgid "Action for child locations in this location" msgstr "" @@ -4251,11 +4348,11 @@ msgstr "" msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:100 +#: src/pages/stock/StockDetail.tsx:103 msgid "Base Part" msgstr "" -#: src/pages/stock/StockDetail.tsx:107 +#: src/pages/stock/StockDetail.tsx:110 msgid "Stock Status" msgstr "" @@ -4267,15 +4364,16 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "" -#: src/pages/stock/StockDetail.tsx:174 +#: src/pages/stock/StockDetail.tsx:177 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:190 +#: src/pages/stock/StockDetail.tsx:193 msgid "Consumed By" msgstr "" -#: src/pages/stock/StockDetail.tsx:199 +#: src/pages/stock/StockDetail.tsx:202 +#: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" msgstr "" @@ -4287,78 +4385,78 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "" -#: src/pages/stock/StockDetail.tsx:264 +#: src/pages/stock/StockDetail.tsx:267 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:270 +#: src/pages/stock/StockDetail.tsx:273 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:282 +#: src/pages/stock/StockDetail.tsx:290 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:296 +#: src/pages/stock/StockDetail.tsx:304 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:303 +#: src/pages/stock/StockDetail.tsx:311 msgid "Child Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:358 +#: src/pages/stock/StockDetail.tsx:366 msgid "Edit Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:385 +#: src/pages/stock/StockDetail.tsx:393 msgid "Delete Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:426 -msgid "Stock Operations" -msgstr "" - -#: src/pages/stock/StockDetail.tsx:431 -msgid "Count stock" -msgstr "" - #: src/pages/stock/StockDetail.tsx:433 #~ msgid "Duplicate stock item" #~ msgstr "" -#: src/pages/stock/StockDetail.tsx:441 +#: src/pages/stock/StockDetail.tsx:440 +msgid "Stock Operations" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:445 +msgid "Count stock" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:455 #: src/tables/stock/StockItemTable.tsx:414 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:449 +#: src/pages/stock/StockDetail.tsx:463 #: src/tables/stock/StockItemTable.tsx:423 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:456 +#: src/pages/stock/StockDetail.tsx:470 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:457 +#: src/pages/stock/StockDetail.tsx:471 #: src/tables/stock/StockItemTable.tsx:443 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:469 +#: src/pages/stock/StockDetail.tsx:482 msgid "Stock Item Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:513 -msgid "Batch Code" -msgstr "" - -#: src/tables/ColumnRenderers.tsx:50 +#: src/tables/ColumnRenderers.tsx:42 msgid "No location set" msgstr "" -#: src/tables/ColumnRenderers.tsx:264 +#: src/tables/ColumnRenderers.tsx:207 +msgid "Shipment Date" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:227 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "" @@ -4368,20 +4466,32 @@ msgstr "" msgid "Select Columns" msgstr "" -#: src/tables/DownloadAction.tsx:11 +#: src/tables/DownloadAction.tsx:13 +#~ msgid "Excel" +#~ msgstr "" + +#: src/tables/DownloadAction.tsx:21 +#~ msgid "Download selected data" +#~ msgstr "" + +#: src/tables/DownloadAction.tsx:22 msgid "CSV" msgstr "" -#: src/tables/DownloadAction.tsx:12 +#: src/tables/DownloadAction.tsx:23 msgid "TSV" msgstr "" -#: src/tables/DownloadAction.tsx:13 -msgid "Excel" +#: src/tables/DownloadAction.tsx:24 +msgid "Excel (.xls)" msgstr "" -#: src/tables/DownloadAction.tsx:21 -msgid "Download selected data" +#: src/tables/DownloadAction.tsx:25 +msgid "Excel (.xlsx)" +msgstr "" + +#: src/tables/DownloadAction.tsx:39 +msgid "Download Data" msgstr "" #: src/tables/Filter.tsx:88 @@ -4415,102 +4525,102 @@ msgstr "" msgid "Remove filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:147 +#: src/tables/FilterSelectDrawer.tsx:136 msgid "Select filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:148 +#: src/tables/FilterSelectDrawer.tsx:137 msgid "Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:155 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:33 -#: src/tables/stock/StockItemTestResultTable.tsx:182 +#: src/tables/FilterSelectDrawer.tsx:144 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 +#: src/tables/stock/StockItemTestResultTable.tsx:180 msgid "Value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:156 +#: src/tables/FilterSelectDrawer.tsx:145 msgid "Select filter value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:196 +#: src/tables/FilterSelectDrawer.tsx:185 msgid "Table Filters" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:228 +#: src/tables/FilterSelectDrawer.tsx:217 msgid "Add Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:237 +#: src/tables/FilterSelectDrawer.tsx:226 msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:118 -#: src/tables/InvenTreeTable.tsx:384 -#: src/tables/InvenTreeTable.tsx:405 +#: src/tables/InvenTreeTable.tsx:119 +#: src/tables/InvenTreeTable.tsx:390 +#: src/tables/InvenTreeTable.tsx:411 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:416 +#: src/tables/InvenTreeTable.tsx:422 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:424 +#: src/tables/InvenTreeTable.tsx:430 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:427 +#: src/tables/InvenTreeTable.tsx:433 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:436 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:433 +#: src/tables/InvenTreeTable.tsx:439 msgid "Not found" msgstr "" -#: src/tables/InvenTreeTable.tsx:482 -#: src/tables/InvenTreeTable.tsx:604 +#: src/tables/InvenTreeTable.tsx:488 +#: src/tables/InvenTreeTable.tsx:611 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:486 +#: src/tables/InvenTreeTable.tsx:492 msgid "Are you sure you want to delete the selected records?" msgstr "" -#: src/tables/InvenTreeTable.tsx:488 +#: src/tables/InvenTreeTable.tsx:494 msgid "This action cannot be undone!" msgstr "" -#: src/tables/InvenTreeTable.tsx:516 +#: src/tables/InvenTreeTable.tsx:522 msgid "Deleted records" msgstr "" -#: src/tables/InvenTreeTable.tsx:517 +#: src/tables/InvenTreeTable.tsx:523 msgid "Records were deleted successfully" msgstr "" -#: src/tables/InvenTreeTable.tsx:526 +#: src/tables/InvenTreeTable.tsx:532 msgid "Failed to delete records" msgstr "" -#: src/tables/InvenTreeTable.tsx:585 -#: src/tables/InvenTreeTable.tsx:586 -msgid "Barcode actions" -msgstr "" - #: src/tables/InvenTreeTable.tsx:594 #: src/tables/InvenTreeTable.tsx:595 -msgid "Print actions" +#~ msgid "Print actions" +#~ msgstr "" + +#: src/tables/InvenTreeTable.tsx:601 +#: src/tables/InvenTreeTable.tsx:602 +msgid "Barcode actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:620 +#: src/tables/InvenTreeTable.tsx:630 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:638 +#: src/tables/InvenTreeTable.tsx:648 msgid "Table filters" msgstr "" @@ -4522,138 +4632,138 @@ msgstr "" msgid "Part Information" msgstr "" -#: src/tables/bom/BomTable.tsx:177 +#: src/tables/bom/BomTable.tsx:179 #: src/tables/part/PartTable.tsx:124 msgid "No stock" msgstr "" -#: src/tables/bom/BomTable.tsx:185 +#: src/tables/bom/BomTable.tsx:187 #: src/tables/build/BuildLineTable.tsx:104 #: src/tables/part/PartTable.tsx:115 msgid "External stock" msgstr "" -#: src/tables/bom/BomTable.tsx:193 +#: src/tables/bom/BomTable.tsx:195 #: src/tables/build/BuildLineTable.tsx:67 msgid "Includes substitute stock" msgstr "" -#: src/tables/bom/BomTable.tsx:202 +#: src/tables/bom/BomTable.tsx:204 #: src/tables/build/BuildLineTable.tsx:77 msgid "Includes variant stock" msgstr "" -#: src/tables/bom/BomTable.tsx:227 +#: src/tables/bom/BomTable.tsx:229 #: src/tables/part/PartTable.tsx:143 #: src/tables/stock/StockItemTable.tsx:205 msgid "Stock Information" msgstr "" -#: src/tables/bom/BomTable.tsx:239 +#: src/tables/bom/BomTable.tsx:241 #: src/tables/build/BuildLineTable.tsx:195 msgid "Consumable item" msgstr "" -#: src/tables/bom/BomTable.tsx:260 +#: src/tables/bom/BomTable.tsx:262 msgid "Show trackable items" msgstr "" -#: src/tables/bom/BomTable.tsx:265 +#: src/tables/bom/BomTable.tsx:267 msgid "Show asssmbled items" msgstr "" -#: src/tables/bom/BomTable.tsx:270 +#: src/tables/bom/BomTable.tsx:272 msgid "Show items with available stock" msgstr "" -#: src/tables/bom/BomTable.tsx:275 +#: src/tables/bom/BomTable.tsx:277 msgid "Show items on order" msgstr "" -#: src/tables/bom/BomTable.tsx:279 +#: src/tables/bom/BomTable.tsx:281 msgid "Validated" msgstr "" -#: src/tables/bom/BomTable.tsx:280 +#: src/tables/bom/BomTable.tsx:282 msgid "Show validated items" msgstr "" -#: src/tables/bom/BomTable.tsx:284 +#: src/tables/bom/BomTable.tsx:286 #: src/tables/bom/UsedInTable.tsx:63 msgid "Inherited" msgstr "" -#: src/tables/bom/BomTable.tsx:285 +#: src/tables/bom/BomTable.tsx:287 #: src/tables/bom/UsedInTable.tsx:64 msgid "Show inherited items" msgstr "" -#: src/tables/bom/BomTable.tsx:289 +#: src/tables/bom/BomTable.tsx:291 #: src/tables/bom/UsedInTable.tsx:68 #: src/tables/build/BuildLineTable.tsx:46 msgid "Optional" msgstr "" -#: src/tables/bom/BomTable.tsx:290 +#: src/tables/bom/BomTable.tsx:292 #: src/tables/bom/UsedInTable.tsx:69 msgid "Show optional items" msgstr "" -#: src/tables/bom/BomTable.tsx:294 +#: src/tables/bom/BomTable.tsx:296 #: src/tables/build/BuildLineTable.tsx:41 msgid "Consumable" msgstr "" -#: src/tables/bom/BomTable.tsx:295 +#: src/tables/bom/BomTable.tsx:297 msgid "Show consumable items" msgstr "" -#: src/tables/bom/BomTable.tsx:299 +#: src/tables/bom/BomTable.tsx:301 msgid "Has Pricing" msgstr "" -#: src/tables/bom/BomTable.tsx:300 -msgid "Show items with pricing" -msgstr "" - #: src/tables/bom/BomTable.tsx:301 #~ msgid "Create BOM Item" #~ msgstr "" -#: src/tables/bom/BomTable.tsx:309 -#: src/tables/bom/BomTable.tsx:397 +#: src/tables/bom/BomTable.tsx:302 +msgid "Show items with pricing" +msgstr "" + +#: src/tables/bom/BomTable.tsx:311 +#: src/tables/bom/BomTable.tsx:399 msgid "Add BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:314 +#: src/tables/bom/BomTable.tsx:316 msgid "BOM item created" msgstr "" -#: src/tables/bom/BomTable.tsx:321 +#: src/tables/bom/BomTable.tsx:323 msgid "Edit BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:323 +#: src/tables/bom/BomTable.tsx:325 msgid "BOM item updated" msgstr "" -#: src/tables/bom/BomTable.tsx:330 -msgid "Delete BOM Item" -msgstr "" - -#: src/tables/bom/BomTable.tsx:331 -msgid "BOM item deleted" -msgstr "" - #: src/tables/bom/BomTable.tsx:331 #~ msgid "Edit Bom Item" #~ msgstr "" +#: src/tables/bom/BomTable.tsx:332 +msgid "Delete BOM Item" +msgstr "" + +#: src/tables/bom/BomTable.tsx:333 +msgid "BOM item deleted" +msgstr "" + #: src/tables/bom/BomTable.tsx:333 #~ msgid "Bom item updated" #~ msgstr "" -#: src/tables/bom/BomTable.tsx:341 +#: src/tables/bom/BomTable.tsx:343 msgid "View BOM" msgstr "" @@ -4669,11 +4779,11 @@ msgstr "" #~ msgid "Are you sure you want to remove this BOM item?" #~ msgstr "" -#: src/tables/bom/BomTable.tsx:352 +#: src/tables/bom/BomTable.tsx:354 msgid "Validate BOM line" msgstr "" -#: src/tables/bom/BomTable.tsx:360 +#: src/tables/bom/BomTable.tsx:362 msgid "Edit Substitutes" msgstr "" @@ -4790,11 +4900,11 @@ msgid "Filter by responsible owner" msgstr "" #: src/tables/build/BuildOutputTable.tsx:114 -#: src/tables/build/BuildOutputTable.tsx:150 +#: src/tables/build/BuildOutputTable.tsx:152 msgid "Add Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:155 +#: src/tables/build/BuildOutputTable.tsx:157 msgid "Complete selected outputs" msgstr "" @@ -4802,68 +4912,68 @@ msgstr "" #~ msgid "Delete build output" #~ msgstr "" -#: src/tables/build/BuildOutputTable.tsx:165 +#: src/tables/build/BuildOutputTable.tsx:167 msgid "Scrap selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:175 +#: src/tables/build/BuildOutputTable.tsx:177 msgid "Cancel selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:191 +#: src/tables/build/BuildOutputTable.tsx:193 msgid "Allocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:192 +#: src/tables/build/BuildOutputTable.tsx:194 msgid "Allocate stock to build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:197 +#: src/tables/build/BuildOutputTable.tsx:199 msgid "Deallocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:198 +#: src/tables/build/BuildOutputTable.tsx:200 msgid "Deallocate stock from build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:203 +#: src/tables/build/BuildOutputTable.tsx:205 msgid "Complete" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:204 +#: src/tables/build/BuildOutputTable.tsx:206 msgid "Complete build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:213 +#: src/tables/build/BuildOutputTable.tsx:215 msgid "Scrap" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:214 +#: src/tables/build/BuildOutputTable.tsx:216 msgid "Scrap build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:224 +#: src/tables/build/BuildOutputTable.tsx:226 msgid "Cancel build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:251 +#: src/tables/build/BuildOutputTable.tsx:253 msgid "Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:264 +#: src/tables/build/BuildOutputTable.tsx:266 msgid "Batch" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:278 +#: src/tables/build/BuildOutputTable.tsx:280 msgid "Allocated Items" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:288 +#: src/tables/build/BuildOutputTable.tsx:290 msgid "Required Tests" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:317 -#: src/tables/stock/StockItemTestResultTable.tsx:146 +#: src/tables/build/BuildOutputTable.tsx:319 +#: src/tables/stock/StockItemTestResultTable.tsx:144 msgid "Test Results" msgstr "" @@ -4884,7 +4994,7 @@ msgstr "" msgid "Delete Address" msgstr "" -#: src/tables/company/AddressTable.tsx:145 +#: src/tables/company/AddressTable.tsx:144 msgid "Are you sure you want to delete this address?" msgstr "" @@ -4929,36 +5039,52 @@ msgstr "" msgid "Add contact" msgstr "" -#: src/tables/general/AttachmentTable.tsx:161 +#: src/tables/general/AttachmentTable.tsx:130 msgid "File uploaded" msgstr "" -#: src/tables/general/AttachmentTable.tsx:162 +#: src/tables/general/AttachmentTable.tsx:131 msgid "File {0} uploaded successfully" msgstr "" -#: src/tables/general/AttachmentTable.tsx:173 +#: src/tables/general/AttachmentTable.tsx:142 msgid "Upload Error" msgstr "" -#: src/tables/general/AttachmentTable.tsx:174 +#: src/tables/general/AttachmentTable.tsx:143 msgid "File could not be uploaded" msgstr "" #: src/tables/general/AttachmentTable.tsx:187 +msgid "Upload Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:197 +msgid "Edit Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:211 +msgid "Delete Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:221 msgid "Add attachment" msgstr "" -#: src/tables/general/AttachmentTable.tsx:207 +#: src/tables/general/AttachmentTable.tsx:232 msgid "Add external link" msgstr "" -#: src/tables/general/AttachmentTable.tsx:239 +#: src/tables/general/AttachmentTable.tsx:254 +#~ msgid "Upload attachment" +#~ msgstr "" + +#: src/tables/general/AttachmentTable.tsx:289 msgid "No attachments found" msgstr "" -#: src/tables/general/AttachmentTable.tsx:254 -msgid "Upload attachment" +#: src/tables/general/AttachmentTable.tsx:325 +msgid "Drag attachment file here to upload" msgstr "" #: src/tables/machine/MachineListTable.tsx:199 @@ -5084,8 +5210,8 @@ msgstr "" #: src/tables/machine/MachineTypeTable.tsx:135 #: src/tables/machine/MachineTypeTable.tsx:255 -#: src/tables/plugin/PluginListTable.tsx:215 -#: src/tables/plugin/PluginListTable.tsx:643 +#: src/tables/plugin/PluginListTable.tsx:180 +#: src/tables/plugin/PluginListTable.tsx:568 msgid "Builtin" msgstr "" @@ -5127,7 +5253,7 @@ msgid "Message" msgstr "" #: src/tables/part/ParametricPartTable.tsx:75 -#: src/tables/part/PartParameterTable.tsx:87 +#: src/tables/part/PartParameterTable.tsx:88 msgid "Internal Units" msgstr "" @@ -5140,29 +5266,29 @@ msgid "Add Part Parameter" msgstr "" #: src/tables/part/ParametricPartTable.tsx:147 -#: src/tables/part/PartParameterTable.tsx:128 -#: src/tables/part/PartParameterTable.tsx:150 +#: src/tables/part/PartParameterTable.tsx:121 +#: src/tables/part/PartParameterTable.tsx:144 msgid "Edit Part Parameter" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:64 +#: src/tables/part/PartCategoryTable.tsx:60 #: src/tables/part/PartTable.tsx:180 msgid "Include Subcategories" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:65 +#: src/tables/part/PartCategoryTable.tsx:61 msgid "Include subcategories in results" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:70 +#: src/tables/part/PartCategoryTable.tsx:66 msgid "Show structural categories" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:77 +#: src/tables/part/PartCategoryTable.tsx:73 msgid "New Part Category" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:106 +#: src/tables/part/PartCategoryTable.tsx:98 msgid "Add Part Category" msgstr "" @@ -5187,20 +5313,20 @@ msgstr "" #~ msgid "[{0}]" #~ msgstr "" -#: src/tables/part/PartParameterTable.tsx:112 +#: src/tables/part/PartParameterTable.tsx:105 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:136 -#: src/tables/part/PartParameterTable.tsx:158 +#: src/tables/part/PartParameterTable.tsx:130 +#: src/tables/part/PartParameterTable.tsx:152 msgid "Delete Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:175 +#: src/tables/part/PartParameterTable.tsx:170 msgid "Add parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:196 +#: src/tables/part/PartParameterTable.tsx:191 #: src/tables/stock/StockItemTable.tsx:300 msgid "Include Variants" msgstr "" @@ -5234,15 +5360,15 @@ msgstr "" msgid "Add Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:97 +#: src/tables/part/PartParameterTemplateTable.tsx:100 msgid "Edit Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:105 +#: src/tables/part/PartParameterTemplateTable.tsx:111 msgid "Delete Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:135 +#: src/tables/part/PartParameterTemplateTable.tsx:141 msgid "Add parameter template" msgstr "" @@ -5340,7 +5466,7 @@ msgid "No Results" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:79 -#: src/tables/stock/StockItemTestResultTable.tsx:385 +#: src/tables/stock/StockItemTestResultTable.tsx:376 msgid "Required" msgstr "" @@ -5349,8 +5475,8 @@ msgid "Show required tests" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:84 -#: src/tables/settings/TemplateTable.tsx:213 -#: src/tables/settings/TemplateTable.tsx:275 +#: src/tables/settings/TemplateTable.tsx:160 +#: src/tables/settings/TemplateTable.tsx:270 msgid "Enabled" msgstr "" @@ -5391,26 +5517,30 @@ msgid "Show tests which have recorded results" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:126 -#: src/tables/part/PartTestTemplateTable.tsx:195 +#: src/tables/part/PartTestTemplateTable.tsx:201 msgid "Add Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:139 +#: src/tables/part/PartTestTemplateTable.tsx:142 msgid "Edit Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:147 +#: src/tables/part/PartTestTemplateTable.tsx:153 msgid "Delete Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:149 +#: src/tables/part/PartTestTemplateTable.tsx:155 msgid "This action cannot be reversed" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:151 +#: src/tables/part/PartTestTemplateTable.tsx:157 msgid "Any tests results associated with this template will be deleted" msgstr "" +#: src/tables/part/PartThumbTable.tsx:203 +msgid "Select" +msgstr "" + #: src/tables/part/PartVariantTable.tsx:16 msgid "Show active variants" msgstr "" @@ -5447,252 +5577,273 @@ msgstr "" msgid "Stage" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:113 -msgid "Plugin with id {id} not found" +#: src/tables/plugin/PluginListTable.tsx:95 +msgid "Plugin with key {pluginKey} not found" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:115 +#: src/tables/plugin/PluginListTable.tsx:97 msgid "An error occurred while fetching plugin details" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:134 -msgid "Plugin Actions" -msgstr "" +#: src/tables/plugin/PluginListTable.tsx:113 +#~ msgid "Plugin with id {id} not found" +#~ msgstr "" -#: src/tables/plugin/PluginListTable.tsx:138 -#: src/tables/plugin/PluginListTable.tsx:141 -msgid "Edit plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:152 -#: src/tables/plugin/PluginListTable.tsx:153 -msgid "Reload" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:166 +#: src/tables/plugin/PluginListTable.tsx:122 msgid "Plugin information" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:177 +#: src/tables/plugin/PluginListTable.tsx:134 msgid "Author" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:198 +#: src/tables/plugin/PluginListTable.tsx:134 +#~ msgid "Plugin Actions" +#~ msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:138 +#: src/tables/plugin/PluginListTable.tsx:141 +#~ msgid "Edit plugin" +#~ msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:152 +#: src/tables/plugin/PluginListTable.tsx:153 +#~ msgid "Reload" +#~ msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:154 +msgid "Plugin is not active" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:163 msgid "Package information" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:204 +#: src/tables/plugin/PluginListTable.tsx:169 msgid "Package Name" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:210 +#: src/tables/plugin/PluginListTable.tsx:175 msgid "Installation Path" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:220 +#: src/tables/plugin/PluginListTable.tsx:185 msgid "Package" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:231 +#: src/tables/plugin/PluginListTable.tsx:197 msgid "Plugin settings" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:248 +#: src/tables/plugin/PluginListTable.tsx:214 msgid "Plugin is active" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:254 +#: src/tables/plugin/PluginListTable.tsx:220 msgid "Plugin is inactive" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:261 +#: src/tables/plugin/PluginListTable.tsx:227 msgid "Plugin is not installed" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:287 +#: src/tables/plugin/PluginListTable.tsx:253 msgid "Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:312 +#: src/tables/plugin/PluginListTable.tsx:287 msgid "Description not available" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:338 +#: src/tables/plugin/PluginListTable.tsx:319 +msgid "Confirm plugin activation" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:320 +msgid "Confirm plugin deactivation" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:325 +msgid "The selected plugin will be activated" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:326 +msgid "The selected plugin will be deactivated" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:334 msgid "Activate Plugin" msgstr "" #: src/tables/plugin/PluginListTable.tsx:338 -msgid "Deactivate Plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:347 -msgid "Confirm plugin activation" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:348 -msgid "Confirm plugin deactivation" -msgstr "" +#~ msgid "Deactivate Plugin" +#~ msgstr "" #: src/tables/plugin/PluginListTable.tsx:354 -msgid "The following plugin will be activated" -msgstr "" +#~ msgid "The following plugin will be activated" +#~ msgstr "" #: src/tables/plugin/PluginListTable.tsx:355 -msgid "The following plugin will be deactivated" -msgstr "" +#~ msgid "The following plugin will be deactivated" +#~ msgstr "" -#: src/tables/plugin/PluginListTable.tsx:366 -msgid "Confirm" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:376 -msgid "Activating plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:376 -msgid "Deactivating plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:392 -msgid "Plugin updated" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:394 -msgid "The plugin was activated" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:395 -msgid "The plugin was deactivated" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:403 -msgid "Error updating plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:423 +#: src/tables/plugin/PluginListTable.tsx:362 msgid "Deactivate" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:432 +#: src/tables/plugin/PluginListTable.tsx:366 +#~ msgid "Confirm" +#~ msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:373 msgid "Activate" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:463 +#: src/tables/plugin/PluginListTable.tsx:376 +#~ msgid "Activating plugin" +#~ msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:376 +#~ msgid "Deactivating plugin" +#~ msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:392 +#~ msgid "Plugin updated" +#~ msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:394 +#~ msgid "The plugin was activated" +#~ msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:395 +#~ msgid "The plugin was deactivated" +#~ msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:403 +#~ msgid "Error updating plugin" +#~ msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:406 msgid "Uninstall" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:495 +#: src/tables/plugin/PluginListTable.tsx:438 msgid "Install plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:508 +#: src/tables/plugin/PluginListTable.tsx:451 msgid "Install" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:512 +#: src/tables/plugin/PluginListTable.tsx:452 msgid "Plugin installed successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:525 +#: src/tables/plugin/PluginListTable.tsx:457 msgid "Uninstall Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:537 +#: src/tables/plugin/PluginListTable.tsx:469 msgid "Confirm plugin uninstall" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:540 +#: src/tables/plugin/PluginListTable.tsx:472 msgid "The selected plugin will be uninstalled." msgstr "" -#: src/tables/plugin/PluginListTable.tsx:541 +#: src/tables/plugin/PluginListTable.tsx:473 msgid "This action cannot be undone." msgstr "" -#: src/tables/plugin/PluginListTable.tsx:547 +#: src/tables/plugin/PluginListTable.tsx:477 msgid "Plugin uninstalled successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:560 +#: src/tables/plugin/PluginListTable.tsx:484 msgid "Delete Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:562 +#: src/tables/plugin/PluginListTable.tsx:485 msgid "Deleting this plugin configuration will remove all associated settings and data. Are you sure you want to delete this plugin?" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:574 +#: src/tables/plugin/PluginListTable.tsx:498 msgid "Plugins reloaded" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:575 +#: src/tables/plugin/PluginListTable.tsx:499 msgid "Plugins were reloaded successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:591 +#: src/tables/plugin/PluginListTable.tsx:515 msgid "Reload Plugins" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:600 +#: src/tables/plugin/PluginListTable.tsx:524 msgid "Install Plugin" msgstr "" +#: src/tables/plugin/PluginListTable.tsx:544 +msgid "Plugin Detail" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:573 +msgid "Sample" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:578 +#: src/tables/stock/StockItemTable.tsx:305 +msgid "Installed" +msgstr "" + #: src/tables/plugin/PluginListTable.tsx:615 #~ msgid "Plugin detail" #~ msgstr "" -#: src/tables/plugin/PluginListTable.tsx:619 -msgid "Plugin Detail" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:648 -msgid "Sample" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:653 -#: src/tables/stock/StockItemTable.tsx:305 -msgid "Installed" -msgstr "" - -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:57 -msgid "Edit Parameter" +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:59 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:108 +msgid "Add Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:60 -msgid "Parameter updated" -msgstr "" +#~ msgid "Parameter updated" +#~ msgstr "" -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:71 -msgid "Delete Parameter" +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:70 +msgid "Edit Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:73 -msgid "Parameter deleted" -msgstr "" +#~ msgid "Parameter deleted" +#~ msgstr "" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:74 -msgid "Are you sure you want to delete this parameter?" +#~ msgid "Are you sure you want to delete this parameter?" +#~ msgstr "" + +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:78 +msgid "Delete Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartTable.tsx:63 #~ msgid "Create Manufacturer Part" #~ msgstr "" -#: src/tables/purchasing/ManufacturerPartTable.tsx:100 -msgid "Manufacturer part updated" -msgstr "" - -#: src/tables/purchasing/ManufacturerPartTable.tsx:111 +#: src/tables/purchasing/ManufacturerPartTable.tsx:92 msgid "Delete Manufacturer Part" msgstr "" +#: src/tables/purchasing/ManufacturerPartTable.tsx:100 +#~ msgid "Manufacturer part updated" +#~ msgstr "" + #: src/tables/purchasing/ManufacturerPartTable.tsx:112 -msgid "Manufacturer part deleted" -msgstr "" +#~ msgid "Manufacturer part deleted" +#~ msgstr "" #: src/tables/purchasing/ManufacturerPartTable.tsx:114 -msgid "Are you sure you want to remove this manufacturer part?" -msgstr "" +#~ msgid "Are you sure you want to remove this manufacturer part?" +#~ msgstr "" #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:86 msgid "Part Description" @@ -5839,18 +5990,22 @@ msgid "Error Information" msgstr "" #: src/tables/settings/ErrorTable.tsx:51 -msgid "Delete error report" +msgid "Delete Error Report" msgstr "" +#: src/tables/settings/ErrorTable.tsx:51 +#~ msgid "Delete error report" +#~ msgstr "" + #: src/tables/settings/ErrorTable.tsx:53 -msgid "Error report deleted" -msgstr "" - -#: src/tables/settings/ErrorTable.tsx:54 msgid "Are you sure you want to delete this error report?" msgstr "" -#: src/tables/settings/ErrorTable.tsx:67 +#: src/tables/settings/ErrorTable.tsx:55 +msgid "Error report deleted" +msgstr "" + +#: src/tables/settings/ErrorTable.tsx:77 #: src/tables/settings/FailedTasksTable.tsx:57 msgid "Error Details" msgstr "" @@ -5867,7 +6022,7 @@ msgid "Task ID" msgstr "" #: src/tables/settings/FailedTasksTable.tsx:34 -#: src/tables/stock/StockItemTestResultTable.tsx:214 +#: src/tables/stock/StockItemTestResultTable.tsx:205 msgid "Started" msgstr "" @@ -5940,30 +6095,71 @@ msgstr "" msgid "Next Run" msgstr "" -#: src/tables/settings/TemplateTable.tsx:120 -msgid "{templateTypeTranslation} with id {id} not found" +#: src/tables/settings/TemplateTable.tsx:82 +msgid "Template not found" msgstr "" +#: src/tables/settings/TemplateTable.tsx:84 +msgid "An error occurred while fetching template details" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:120 +#~ msgid "{templateTypeTranslation} with id {id} not found" +#~ msgstr "" + #: src/tables/settings/TemplateTable.tsx:124 -msgid "An error occurred while fetching {templateTypeTranslation} details" -msgstr "" +#~ msgid "An error occurred while fetching {templateTypeTranslation} details" +#~ msgstr "" #: src/tables/settings/TemplateTable.tsx:146 -msgid "actions" +#~ msgid "actions" +#~ msgstr "" + +#: src/tables/settings/TemplateTable.tsx:170 +msgid "Modify" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:171 +msgid "Modify template file" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:222 +#: src/tables/settings/TemplateTable.tsx:289 +msgid "Edit Template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:230 +msgid "Delete template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:236 +msgid "Add Template" msgstr "" #: src/tables/settings/TemplateTable.tsx:243 -msgid "Add new" -msgstr "" +#~ msgid "Add new" +#~ msgstr "" #: src/tables/settings/TemplateTable.tsx:243 #~ msgid "Create new" #~ msgstr "" -#: src/tables/settings/TemplateTable.tsx:276 +#: src/tables/settings/TemplateTable.tsx:249 +msgid "Add template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:271 msgid "Filter by enabled status" msgstr "" +#: src/tables/settings/TemplateTable.tsx:276 +msgid "Model Type" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:277 +msgid "Filter by target model type" +msgstr "" + #: src/tables/settings/UserTable.tsx:79 msgid "User with id {id} not found" msgstr "" @@ -6029,6 +6225,23 @@ msgstr "" msgid "Edit user" msgstr "" +#: src/tables/stock/LocationTypesTable.tsx:36 +#: src/tables/stock/LocationTypesTable.tsx:105 +msgid "Add Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:44 +msgid "Edit Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:52 +msgid "Delete Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:69 +msgid "Icon" +msgstr "" + #: src/tables/stock/StockItemTable.tsx:90 msgid "This stock item is in production" msgstr "" @@ -6090,7 +6303,7 @@ msgid "Show items which are available" msgstr "" #: src/tables/stock/StockItemTable.tsx:280 -#: src/tables/stock/StockLocationTable.tsx:37 +#: src/tables/stock/StockLocationTable.tsx:33 msgid "Include Sublocations" msgstr "" @@ -6219,123 +6432,135 @@ msgstr "" msgid "Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:153 +#: src/tables/stock/StockItemTestResultTable.tsx:151 msgid "Test result for installed stock item" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:164 +#: src/tables/stock/StockItemTestResultTable.tsx:162 msgid "Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:170 +#: src/tables/stock/StockItemTestResultTable.tsx:168 msgid "No Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:186 +#: src/tables/stock/StockItemTestResultTable.tsx:184 msgid "Attachment" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:209 +#: src/tables/stock/StockItemTestResultTable.tsx:200 msgid "Test station" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:229 +#: src/tables/stock/StockItemTestResultTable.tsx:220 msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:277 -#: src/tables/stock/StockItemTestResultTable.tsx:349 -#: src/tables/stock/StockItemTestResultTable.tsx:404 +#: src/tables/stock/StockItemTestResultTable.tsx:268 +#: src/tables/stock/StockItemTestResultTable.tsx:340 +#: src/tables/stock/StockItemTestResultTable.tsx:395 msgid "Add Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:279 +#: src/tables/stock/StockItemTestResultTable.tsx:270 msgid "Test result added" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:288 -#: src/tables/stock/StockItemTestResultTable.tsx:359 +#: src/tables/stock/StockItemTestResultTable.tsx:279 +#: src/tables/stock/StockItemTestResultTable.tsx:350 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:290 +#: src/tables/stock/StockItemTestResultTable.tsx:281 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:296 -#: src/tables/stock/StockItemTestResultTable.tsx:368 +#: src/tables/stock/StockItemTestResultTable.tsx:287 +#: src/tables/stock/StockItemTestResultTable.tsx:359 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:298 +#: src/tables/stock/StockItemTestResultTable.tsx:289 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:312 +#: src/tables/stock/StockItemTestResultTable.tsx:303 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:313 +#: src/tables/stock/StockItemTestResultTable.tsx:304 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:320 +#: src/tables/stock/StockItemTestResultTable.tsx:311 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:337 +#: src/tables/stock/StockItemTestResultTable.tsx:328 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:386 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:390 +#: src/tables/stock/StockItemTestResultTable.tsx:381 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:391 +#: src/tables/stock/StockItemTestResultTable.tsx:382 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:395 +#: src/tables/stock/StockItemTestResultTable.tsx:386 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:396 +#: src/tables/stock/StockItemTestResultTable.tsx:387 msgid "Show only passed tests" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:38 +#: src/tables/stock/StockLocationTable.tsx:34 msgid "Include sublocations in results" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:42 +#: src/tables/stock/StockLocationTable.tsx:38 msgid "structural" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:43 +#: src/tables/stock/StockLocationTable.tsx:39 msgid "Show structural locations" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:47 +#: src/tables/stock/StockLocationTable.tsx:43 msgid "external" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:48 +#: src/tables/stock/StockLocationTable.tsx:44 msgid "Show external locations" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:52 +#: src/tables/stock/StockLocationTable.tsx:48 msgid "Has location type" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:89 -#: src/tables/stock/StockLocationTable.tsx:118 +#: src/tables/stock/StockLocationTable.tsx:85 +#: src/tables/stock/StockLocationTable.tsx:110 msgid "Add Stock Location" msgstr "" +#: src/tables/stock/StockTrackingTable.tsx:64 +msgid "Added" +msgstr "" + +#: src/tables/stock/StockTrackingTable.tsx:69 +msgid "Removed" +msgstr "" + +#: src/tables/stock/StockTrackingTable.tsx:198 +msgid "No user information" +msgstr "" + #: src/views/MobileAppView.tsx:22 msgid "Mobile viewport detected" msgstr "" diff --git a/src/frontend/src/locales/es/messages.po b/src/frontend/src/locales/es/messages.po index 2781b136b9..364a042416 100644 --- a/src/frontend/src/locales/es/messages.po +++ b/src/frontend/src/locales/es/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: es_MX\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-05-13 02:48\n" +"PO-Revision-Date: 2024-05-23 11:39\n" "Last-Translator: \n" "Language-Team: Spanish, Mexico\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -30,10 +30,67 @@ msgstr "" msgid "Title" msgstr "Titulo" +#: src/components/buttons/AdminButton.tsx:83 +msgid "Open in admin interface" +msgstr "" + #: src/components/buttons/CopyButton.tsx:18 msgid "Copy to clipboard" msgstr "" +#: src/components/buttons/PrintingActions.tsx:95 +msgid "Print Label" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:101 +msgid "Label printing completed successfully" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:106 +#: src/components/buttons/PrintingActions.tsx:143 +#: src/components/forms/ApiForm.tsx:504 +#: src/components/forms/fields/ApiFormField.tsx:295 +#: src/components/modals/LicenseModal.tsx:75 +#: src/components/nav/SearchDrawer.tsx:413 +#: src/components/widgets/MarkdownEditor.tsx:107 +#: src/components/widgets/MarkdownEditor.tsx:153 +#: src/pages/ErrorPage.tsx:12 +#: src/pages/ErrorPage.tsx:25 +#: src/pages/part/PartPricingPanel.tsx:71 +#: src/tables/InvenTreeTable.tsx:451 +#: src/tables/InvenTreeTable.tsx:531 +#: src/tables/stock/StockItemTestResultTable.tsx:310 +msgid "Error" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:107 +msgid "The label could not be generated" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:122 +msgid "Print Report" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:138 +msgid "Report printing completed successfully" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:144 +msgid "The report could not be generated" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:171 +msgid "Printing Actions" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:176 +msgid "Print Labels" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:182 +msgid "Print Reports" +msgstr "" + #: src/components/buttons/ScanButton.tsx:15 msgid "Scan QR code" msgstr "" @@ -64,15 +121,15 @@ msgstr "" msgid "No" msgstr "" -#: src/components/details/Details.tsx:302 +#: src/components/details/Details.tsx:303 msgid "No name defined" msgstr "" -#: src/components/details/Details.tsx:339 +#: src/components/details/Details.tsx:340 msgid "Copied" msgstr "Copiado" -#: src/components/details/Details.tsx:339 +#: src/components/details/Details.tsx:340 msgid "Copy" msgstr "Copiar" @@ -85,24 +142,23 @@ msgid "Remove the associated image from this item?" msgstr "¿Eliminar imagen asociada al artículo?" #: src/components/details/DetailsImage.tsx:71 -#: src/forms/StockForms.tsx:442 +#: src/forms/StockForms.tsx:483 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:448 +#: src/pages/stock/StockDetail.tsx:462 msgid "Remove" msgstr "Eliminar" #: src/components/details/DetailsImage.tsx:71 -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:163 -#: src/components/items/ActionDropdown.tsx:222 -#: src/components/items/ActionDropdown.tsx:223 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 +#: src/components/items/ActionDropdown.tsx:229 +#: src/components/items/ActionDropdown.tsx:230 #: src/contexts/ThemeContext.tsx:43 #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:40 -#: src/tables/FilterSelectDrawer.tsx:218 -#: src/tables/InvenTreeTable.tsx:493 -#: src/tables/build/BuildOutputTable.tsx:223 -#: src/tables/plugin/PluginListTable.tsx:365 +#: src/tables/FilterSelectDrawer.tsx:207 +#: src/tables/InvenTreeTable.tsx:499 +#: src/tables/build/BuildOutputTable.tsx:225 msgid "Cancel" msgstr "Cancelar" @@ -119,7 +175,7 @@ msgid "Clear" msgstr "Borrar" #: src/components/details/DetailsImage.tsx:227 -#: src/components/forms/ApiForm.tsx:554 +#: src/components/forms/ApiForm.tsx:571 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:56 msgid "Submit" @@ -150,9 +206,10 @@ msgid "Part is not active" msgstr "La pieza no está activa" #: src/components/details/PartIcons.tsx:34 -#: src/pages/company/CompanyDetail.tsx:308 -#: src/pages/company/SupplierPartDetail.tsx:304 -#: src/pages/part/PartDetail.tsx:684 +#: src/components/render/Plugin.tsx:17 +#: src/pages/company/CompanyDetail.tsx:310 +#: src/pages/company/SupplierPartDetail.tsx:305 +#: src/pages/part/PartDetail.tsx:685 msgid "Inactive" msgstr "Inactivo" @@ -196,10 +253,10 @@ msgid "Code" msgstr "" #: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:44 -msgid "Failed to parse error response from server." -msgstr "" +#~ msgid "Failed to parse error response from server." +#~ msgstr "Failed to parse error response from server." -#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:82 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:81 msgid "Preview not available, click \"Reload Preview\"." msgstr "" @@ -207,98 +264,99 @@ msgstr "" msgid "PDF Preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:113 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:104 msgid "Error loading template" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:125 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:116 msgid "Error saving template" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 -msgid "Save & Reload preview?" +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:146 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:270 +msgid "Save & Reload Preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:156 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 msgid "Are you sure you want to Save & Reload the preview?" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 +#~ msgid "Save & Reload preview?" +#~ msgstr "Save & Reload preview?" + +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:153 msgid "To render the preview the current template needs to be replaced on the server with your modifications which may break the label if it is under active use. Do you want to proceed?" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:162 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:157 msgid "Save & Reload" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:191 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:189 msgid "Preview updated" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:192 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:190 msgid "The preview has been updated successfully." msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:255 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:262 msgid "Reload preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:256 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:263 msgid "Use the currently stored template from the server" msgstr "" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:263 -msgid "Save & Reload preview" -msgstr "" +#~ msgid "Save & Reload preview" +#~ msgstr "Save & Reload preview" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:264 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:271 msgid "Save the current template and reload the preview" msgstr "" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:322 -#: src/tables/part/PartThumbTable.tsx:203 -msgid "Select" +#~ msgid "to preview" +#~ msgstr "to preview" + +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:329 +msgid "Select instance to preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:322 -msgid "to preview" -msgstr "" - -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:366 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:373 msgid "Error rendering template" msgstr "" -#: src/components/forms/ApiForm.tsx:143 +#: src/components/forms/ApiForm.tsx:148 #: src/functions/forms.tsx:259 msgid "Form Error" msgstr "" -#: src/components/forms/ApiForm.tsx:411 +#: src/components/forms/ApiForm.tsx:428 #: src/components/widgets/MarkdownEditor.tsx:145 msgid "Success" msgstr "" #: src/components/forms/ApiForm.tsx:487 -msgid "Form Errors Exist" -msgstr "" +#~ msgid "Form Errors Exist" +#~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:592 -#: src/tables/plugin/PluginListTable.tsx:445 +#: src/components/forms/ApiForm.tsx:609 +#: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "" -#: src/components/forms/ApiForm.tsx:612 -#: src/components/items/ActionDropdown.tsx:203 +#: src/components/forms/ApiForm.tsx:629 +#: src/components/items/ActionDropdown.tsx:210 #: src/functions/forms.tsx:299 #: src/hooks/UseForm.tsx:122 #: src/pages/Index/Scan.tsx:343 #: src/pages/Notifications.tsx:123 -#: src/tables/InvenTreeTable.tsx:492 +#: src/tables/InvenTreeTable.tsx:498 #: src/tables/RowActions.tsx:71 -#: src/tables/plugin/PluginListTable.tsx:477 -#: src/tables/settings/TemplateTable.tsx:105 -#: src/tables/settings/TemplateTable.tsx:154 -#: src/tables/settings/TemplateTable.tsx:236 +#: src/tables/plugin/PluginListTable.tsx:420 msgid "Delete" msgstr "" @@ -468,18 +526,19 @@ msgstr "" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 -#: src/pages/part/CategoryDetail.tsx:77 -#: src/pages/part/PartDetail.tsx:125 -#: src/pages/stock/LocationDetail.tsx:83 +#: src/pages/part/CategoryDetail.tsx:78 +#: src/pages/part/PartDetail.tsx:126 +#: src/pages/stock/LocationDetail.tsx:85 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 #: src/tables/machine/MachineTypeTable.tsx:216 #: src/tables/machine/MachineTypeTable.tsx:319 #: src/tables/plugin/PluginErrorTable.tsx:33 -#: src/tables/plugin/PluginListTable.tsx:169 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:27 +#: src/tables/plugin/PluginListTable.tsx:126 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:32 #: src/tables/settings/GroupTable.tsx:103 #: src/tables/settings/PendingTasksTable.tsx:26 +#: src/tables/stock/LocationTypesTable.tsx:60 msgid "Name" msgstr "Nombre" @@ -520,35 +579,20 @@ msgstr "Nombre: {0}" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/ApiFormField.tsx:276 -#: src/components/modals/LicenseModal.tsx:75 -#: src/components/nav/SearchDrawer.tsx:413 -#: src/components/widgets/MarkdownEditor.tsx:107 -#: src/components/widgets/MarkdownEditor.tsx:153 -#: src/pages/ErrorPage.tsx:12 -#: src/pages/ErrorPage.tsx:25 -#: src/pages/part/PartPricingPanel.tsx:71 -#: src/tables/InvenTreeTable.tsx:445 -#: src/tables/InvenTreeTable.tsx:525 -#: src/tables/plugin/PluginListTable.tsx:402 -#: src/tables/stock/StockItemTestResultTable.tsx:319 -msgid "Error" -msgstr "" - -#: src/components/forms/fields/RelatedModelField.tsx:305 +#: src/components/forms/fields/RelatedModelField.tsx:315 #: src/pages/Index/Settings/UserSettings.tsx:64 #: src/tables/Search.tsx:23 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:306 +#: src/components/forms/fields/RelatedModelField.tsx:316 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:120 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:308 +#: src/components/forms/fields/RelatedModelField.tsx:318 msgid "No results found" msgstr "" @@ -569,54 +613,51 @@ msgstr "" msgid "Thumbnail" msgstr "" -#: src/components/items/ActionDropdown.tsx:112 -#: src/pages/build/BuildDetail.tsx:354 +#: src/components/items/ActionDropdown.tsx:119 +#: src/pages/build/BuildDetail.tsx:360 msgid "Barcode Actions" msgstr "" -#: src/components/items/ActionDropdown.tsx:129 +#: src/components/items/ActionDropdown.tsx:136 msgid "View" msgstr "" -#: src/components/items/ActionDropdown.tsx:130 +#: src/components/items/ActionDropdown.tsx:137 msgid "View barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:146 +#: src/components/items/ActionDropdown.tsx:153 msgid "Link Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:147 +#: src/components/items/ActionDropdown.tsx:154 msgid "Link custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:163 -#: src/forms/PurchaseOrderForms.tsx:375 +#: src/components/items/ActionDropdown.tsx:170 +#: src/forms/PurchaseOrderForms.tsx:389 msgid "Unlink Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:164 +#: src/components/items/ActionDropdown.tsx:171 msgid "Unlink custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:182 +#: src/components/items/ActionDropdown.tsx:189 #: src/tables/RowActions.tsx:51 -#: src/tables/settings/TemplateTable.tsx:87 -#: src/tables/settings/TemplateTable.tsx:150 -#: src/tables/settings/TemplateTable.tsx:287 msgid "Edit" msgstr "" -#: src/components/items/ActionDropdown.tsx:204 +#: src/components/items/ActionDropdown.tsx:211 msgid "Delete item" msgstr "" -#: src/components/items/ActionDropdown.tsx:241 +#: src/components/items/ActionDropdown.tsx:248 #: src/tables/RowActions.tsx:31 msgid "Duplicate" msgstr "" -#: src/components/items/ActionDropdown.tsx:242 +#: src/components/items/ActionDropdown.tsx:249 msgid "Duplicate item" msgstr "" @@ -625,7 +666,7 @@ msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:437 +#: src/tables/InvenTreeTable.tsx:443 msgid "Unknown error" msgstr "" @@ -785,27 +826,27 @@ msgstr "" #: src/components/modals/QrCodeModal.tsx:154 #: src/defaults/menuItems.tsx:21 -#: src/pages/Index/Scan.tsx:747 +#: src/pages/Index/Scan.tsx:746 msgid "Scanning" msgstr "" #: src/components/modals/QrCodeModal.tsx:154 -#: src/pages/Index/Scan.tsx:747 +#: src/pages/Index/Scan.tsx:746 msgid "Not scanning" msgstr "" #: src/components/modals/QrCodeModal.tsx:159 -#: src/pages/Index/Scan.tsx:753 +#: src/pages/Index/Scan.tsx:752 msgid "Select Camera" msgstr "" #: src/components/modals/QrCodeModal.tsx:169 -#: src/pages/Index/Scan.tsx:738 +#: src/pages/Index/Scan.tsx:737 msgid "Start scanning" msgstr "" #: src/components/modals/QrCodeModal.tsx:176 -#: src/pages/Index/Scan.tsx:730 +#: src/pages/Index/Scan.tsx:729 msgid "Stop scanning" msgstr "" @@ -891,8 +932,8 @@ msgid "Email settings not configured" msgstr "" #: src/components/modals/ServerInfoModal.tsx:121 -#: src/tables/plugin/PluginListTable.tsx:187 -#: src/tables/plugin/PluginListTable.tsx:319 +#: src/tables/plugin/PluginListTable.tsx:144 +#: src/tables/plugin/PluginListTable.tsx:294 msgid "Version" msgstr "" @@ -926,13 +967,13 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:293 +#: src/pages/Index/Settings/SystemSettings.tsx:294 msgid "System Settings" msgstr "" #: src/components/nav/MainMenu.tsx:67 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:172 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 msgid "Admin Center" msgstr "" @@ -975,7 +1016,7 @@ msgid "Pages" msgstr "" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:133 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:153 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "" @@ -1013,9 +1054,9 @@ msgid "Mark as read" msgstr "" #: src/components/nav/PartCategoryTree.tsx:158 -#: src/components/render/ModelType.tsx:60 +#: src/components/render/ModelType.tsx:64 #: src/pages/Index/Settings/SystemSettings.tsx:162 -#: src/pages/part/CategoryDetail.tsx:248 +#: src/pages/part/CategoryDetail.tsx:249 msgid "Part Categories" msgstr "" @@ -1052,142 +1093,147 @@ msgid "No results available for search query" msgstr "" #: src/components/nav/StockLocationTree.tsx:93 -#: src/components/render/ModelType.tsx:76 -#: src/pages/stock/LocationDetail.tsx:175 +#: src/components/render/ModelType.tsx:82 +#: src/pages/stock/LocationDetail.tsx:185 msgid "Stock Locations" msgstr "" -#: src/components/render/Instance.tsx:137 +#: src/components/render/Instance.tsx:166 msgid "Unknown model: {model}" msgstr "" -#: src/components/render/ModelType.tsx:21 -#: src/forms/BuildForms.tsx:184 -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49 +#: src/components/render/ModelType.tsx:22 +#: src/forms/BuildForms.tsx:201 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:83 #: src/pages/part/PartDetail.tsx:828 #: src/tables/part/RelatedPartTable.tsx:45 +#: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" msgstr "" -#: src/components/render/ModelType.tsx:22 +#: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 #: src/pages/Index/Settings/SystemSettings.tsx:167 -#: src/pages/part/CategoryDetail.tsx:109 -#: src/pages/part/CategoryDetail.tsx:234 -#: src/pages/part/CategoryDetail.tsx:264 -#: src/pages/part/PartDetail.tsx:638 +#: src/pages/part/CategoryDetail.tsx:110 +#: src/pages/part/CategoryDetail.tsx:235 +#: src/pages/part/CategoryDetail.tsx:265 +#: src/pages/part/PartDetail.tsx:639 msgid "Parts" msgstr "" -#: src/components/render/ModelType.tsx:29 +#: src/components/render/ModelType.tsx:31 msgid "Part Parameter Template" msgstr "" -#: src/components/render/ModelType.tsx:30 +#: src/components/render/ModelType.tsx:32 msgid "Part Parameter Templates" msgstr "" -#: src/components/render/ModelType.tsx:36 +#: src/components/render/ModelType.tsx:38 msgid "Part Test Template" msgstr "" -#: src/components/render/ModelType.tsx:37 +#: src/components/render/ModelType.tsx:39 msgid "Part Test Templates" msgstr "" -#: src/components/render/ModelType.tsx:43 -#: src/pages/company/SupplierPartDetail.tsx:189 -#: src/pages/company/SupplierPartDetail.tsx:317 -#: src/pages/stock/StockDetail.tsx:159 +#: src/components/render/ModelType.tsx:45 +#: src/pages/company/SupplierPartDetail.tsx:190 +#: src/pages/company/SupplierPartDetail.tsx:318 +#: src/pages/stock/StockDetail.tsx:162 #: src/tables/purchasing/SupplierPartTable.tsx:68 msgid "Supplier Part" msgstr "" -#: src/components/render/ModelType.tsx:44 +#: src/components/render/ModelType.tsx:46 msgid "Supplier Parts" msgstr "" -#: src/components/render/ModelType.tsx:51 -#: src/pages/company/ManufacturerPartDetail.tsx:124 +#: src/components/render/ModelType.tsx:54 +#: src/pages/company/ManufacturerPartDetail.tsx:125 msgid "Manufacturer Part" msgstr "" -#: src/components/render/ModelType.tsx:52 +#: src/components/render/ModelType.tsx:55 msgid "Manufacturer Parts" msgstr "" -#: src/components/render/ModelType.tsx:59 -#: src/pages/part/CategoryDetail.tsx:287 +#: src/components/render/ModelType.tsx:63 +#: src/pages/part/CategoryDetail.tsx:288 msgid "Part Category" msgstr "" -#: src/components/render/ModelType.tsx:67 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67 -#: src/pages/stock/StockDetail.tsx:535 +#: src/components/render/ModelType.tsx:72 +#: src/pages/stock/StockDetail.tsx:548 +#: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" msgstr "" -#: src/components/render/ModelType.tsx:68 -#: src/pages/company/CompanyDetail.tsx:197 -#: src/pages/stock/LocationDetail.tsx:116 -#: src/pages/stock/LocationDetail.tsx:161 +#: src/components/render/ModelType.tsx:73 +#: src/pages/company/CompanyDetail.tsx:199 +#: src/pages/stock/LocationDetail.tsx:118 +#: src/pages/stock/LocationDetail.tsx:171 #: src/pages/stock/LocationDetail.tsx:365 msgid "Stock Items" msgstr "" -#: src/components/render/ModelType.tsx:75 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:154 +#: src/components/render/ModelType.tsx:81 msgid "Stock Location" msgstr "" -#: src/components/render/ModelType.tsx:83 +#: src/components/render/ModelType.tsx:90 +msgid "Stock Location Type" +msgstr "" + +#: src/components/render/ModelType.tsx:91 +msgid "Stock Location Types" +msgstr "" + +#: src/components/render/ModelType.tsx:95 msgid "Stock History" msgstr "" -#: src/components/render/ModelType.tsx:84 +#: src/components/render/ModelType.tsx:96 msgid "Stock Histories" msgstr "" -#: src/components/render/ModelType.tsx:88 +#: src/components/render/ModelType.tsx:100 #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:43 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:126 msgid "Build" msgstr "" -#: src/components/render/ModelType.tsx:89 +#: src/components/render/ModelType.tsx:101 msgid "Builds" msgstr "" -#: src/components/render/ModelType.tsx:96 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:76 +#: src/components/render/ModelType.tsx:109 msgid "Build Line" msgstr "" -#: src/components/render/ModelType.tsx:97 +#: src/components/render/ModelType.tsx:110 msgid "Build Lines" msgstr "" -#: src/components/render/ModelType.tsx:104 -#: src/pages/company/CompanyDetail.tsx:321 +#: src/components/render/ModelType.tsx:117 +#: src/pages/company/CompanyDetail.tsx:323 msgid "Company" msgstr "" -#: src/components/render/ModelType.tsx:105 +#: src/components/render/ModelType.tsx:118 msgid "Companies" msgstr "" -#: src/components/render/ModelType.tsx:112 +#: src/components/render/ModelType.tsx:126 #: src/tables/TableHoverCard.tsx:58 #: src/tables/build/BuildOrderTable.tsx:131 #: src/tables/purchasing/PurchaseOrderTable.tsx:64 @@ -1196,170 +1242,199 @@ msgstr "" msgid "Project Code" msgstr "" -#: src/components/render/ModelType.tsx:113 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:97 +#: src/components/render/ModelType.tsx:127 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:105 msgid "Project Codes" msgstr "" -#: src/components/render/ModelType.tsx:119 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99 +#: src/components/render/ModelType.tsx:133 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:355 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:362 +#: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" msgstr "" -#: src/components/render/ModelType.tsx:120 -#: src/pages/Index/Settings/SystemSettings.tsx:242 -#: src/pages/company/CompanyDetail.tsx:190 -#: src/pages/company/SupplierPartDetail.tsx:223 -#: src/pages/part/PartDetail.tsx:571 +#: src/components/render/ModelType.tsx:134 +#: src/pages/Index/Settings/SystemSettings.tsx:243 +#: src/pages/company/CompanyDetail.tsx:192 +#: src/pages/company/SupplierPartDetail.tsx:224 +#: src/pages/part/PartDetail.tsx:572 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "Órdenes de compra" -#: src/components/render/ModelType.tsx:127 +#: src/components/render/ModelType.tsx:142 msgid "Purchase Order Line" msgstr "" -#: src/components/render/ModelType.tsx:128 +#: src/components/render/ModelType.tsx:143 msgid "Purchase Order Lines" msgstr "" -#: src/components/render/ModelType.tsx:132 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:108 +#: src/components/render/ModelType.tsx:147 #: src/pages/build/BuildDetail.tsx:131 -#: src/pages/sales/SalesOrderDetail.tsx:340 -#: src/pages/stock/StockDetail.tsx:207 +#: src/pages/sales/SalesOrderDetail.tsx:347 +#: src/pages/stock/StockDetail.tsx:210 +#: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" msgstr "" -#: src/components/render/ModelType.tsx:133 -#: src/pages/Index/Settings/SystemSettings.tsx:257 -#: src/pages/company/CompanyDetail.tsx:210 -#: src/pages/part/PartDetail.tsx:577 +#: src/components/render/ModelType.tsx:148 +#: src/pages/Index/Settings/SystemSettings.tsx:258 +#: src/pages/company/CompanyDetail.tsx:212 +#: src/pages/part/PartDetail.tsx:578 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" -#: src/components/render/ModelType.tsx:140 +#: src/components/render/ModelType.tsx:156 msgid "Sales Order Shipment" msgstr "" -#: src/components/render/ModelType.tsx:141 +#: src/components/render/ModelType.tsx:157 msgid "Sales Order Shipments" msgstr "" -#: src/components/render/ModelType.tsx:147 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:117 -#: src/pages/sales/ReturnOrderDetail.tsx:318 +#: src/components/render/ModelType.tsx:163 +#: src/pages/sales/ReturnOrderDetail.tsx:325 +#: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "" -#: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:272 -#: src/pages/company/CompanyDetail.tsx:217 +#: src/components/render/ModelType.tsx:164 +#: src/pages/Index/Settings/SystemSettings.tsx:273 +#: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" msgstr "Ordenes de devolución" -#: src/components/render/ModelType.tsx:155 +#: src/components/render/ModelType.tsx:172 #: src/tables/company/AddressTable.tsx:47 msgid "Address" msgstr "" -#: src/components/render/ModelType.tsx:156 -#: src/pages/company/CompanyDetail.tsx:247 +#: src/components/render/ModelType.tsx:173 +#: src/pages/company/CompanyDetail.tsx:249 msgid "Addresses" msgstr "" -#: src/components/render/ModelType.tsx:162 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:189 -#: src/pages/sales/ReturnOrderDetail.tsx:157 -#: src/pages/sales/SalesOrderDetail.tsx:161 +#: src/components/render/ModelType.tsx:179 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:191 +#: src/pages/sales/ReturnOrderDetail.tsx:159 +#: src/pages/sales/SalesOrderDetail.tsx:163 msgid "Contact" msgstr "" -#: src/components/render/ModelType.tsx:163 -#: src/pages/company/CompanyDetail.tsx:241 +#: src/components/render/ModelType.tsx:180 +#: src/pages/company/CompanyDetail.tsx:243 msgid "Contacts" msgstr "" -#: src/components/render/ModelType.tsx:169 +#: src/components/render/ModelType.tsx:186 msgid "Owner" msgstr "" -#: src/components/render/ModelType.tsx:170 +#: src/components/render/ModelType.tsx:187 msgid "Owners" msgstr "" -#: src/components/render/ModelType.tsx:176 +#: src/components/render/ModelType.tsx:193 +#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "" -#: src/components/render/ModelType.tsx:177 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:73 +#: src/components/render/ModelType.tsx:194 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:81 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "" -#: src/components/render/Order.tsx:87 +#: src/components/render/ModelType.tsx:200 +msgid "Label Template" +msgstr "" + +#: src/components/render/ModelType.tsx:201 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:135 +msgid "Label Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:207 +msgid "Report Template" +msgstr "" + +#: src/components/render/ModelType.tsx:208 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:141 +msgid "Report Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:214 +msgid "Plugin Configuration" +msgstr "" + +#: src/components/render/ModelType.tsx:215 +msgid "Plugin Configurations" +msgstr "" + +#: src/components/render/Order.tsx:104 msgid "Shipment" msgstr "" -#: src/components/render/Part.tsx:12 +#: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:198 -#: src/pages/part/PartDetail.tsx:491 +#: src/pages/Index/Settings/SystemSettings.tsx:199 +#: src/pages/part/PartDetail.tsx:492 #: src/pages/stock/LocationDetail.tsx:344 -#: src/pages/stock/StockDetail.tsx:344 +#: src/pages/stock/StockDetail.tsx:352 #: src/tables/stock/StockItemTable.tsx:57 msgid "Stock" msgstr "" -#: src/components/render/Stock.tsx:26 -#: src/pages/stock/StockDetail.tsx:142 -#: src/pages/stock/StockDetail.tsx:501 +#: src/components/render/Stock.tsx:52 +#: src/pages/stock/StockDetail.tsx:145 +#: src/pages/stock/StockDetail.tsx:514 msgid "Serial Number" msgstr "" -#: src/components/render/Stock.tsx:28 -#: src/forms/BuildForms.tsx:189 +#: src/components/render/Stock.tsx:54 +#: src/forms/BuildForms.tsx:206 #: src/pages/part/pricing/BomPricingPanel.tsx:144 -#: src/pages/part/pricing/PriceBreakPanel.tsx:96 -#: src/pages/stock/StockDetail.tsx:137 -#: src/pages/stock/StockDetail.tsx:507 +#: src/pages/part/pricing/PriceBreakPanel.tsx:94 +#: src/pages/stock/StockDetail.tsx:140 +#: src/pages/stock/StockDetail.tsx:520 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:73 +#: src/tables/stock/StockTrackingTable.tsx:59 msgid "Quantity" msgstr "" -#: src/components/settings/SettingItem.tsx:46 -#: src/components/settings/SettingItem.tsx:99 -msgid "Setting updated" -msgstr "" - #: src/components/settings/SettingItem.tsx:47 #: src/components/settings/SettingItem.tsx:100 -msgid "{0} updated successfully" -msgstr "" +#~ msgid "{0} updated successfully" +#~ msgstr "{0} updated successfully" -#: src/components/settings/SettingItem.tsx:55 -msgid "Error editing setting" -msgstr "" - -#: src/components/settings/SettingItem.tsx:92 +#: src/components/settings/SettingList.tsx:67 msgid "Edit Setting" msgstr "" -#: src/components/settings/SettingList.tsx:63 -msgid "No settings specified" +#: src/components/settings/SettingList.tsx:78 +#: src/components/settings/SettingList.tsx:108 +msgid "Setting {0} updated successfully" msgstr "" -#: src/components/tables/ColumnRenderers.tsx:134 -#~ msgid "Shipment Date" -#~ msgstr "Shipment Date" +#: src/components/settings/SettingList.tsx:107 +msgid "Setting updated" +msgstr "" + +#: src/components/settings/SettingList.tsx:117 +msgid "Error editing setting" +msgstr "" + +#: src/components/settings/SettingList.tsx:158 +msgid "No settings specified" +msgstr "" #: src/components/tables/FilterGroup.tsx:29 #~ msgid "Add table filter" @@ -1731,10 +1806,6 @@ msgstr "" #~ msgid "This is a test filter" #~ msgstr "This is a test filter" -#: src/components/tables/stock/StockLocationTable.tsx:91 -#~ msgid "Location Type" -#~ msgstr "Location Type" - #: src/components/tables/stock/StockLocationTable.tsx:145 #~ msgid "Stock location updated" #~ msgstr "Stock location updated" @@ -2072,7 +2143,7 @@ msgstr "" #~ msgstr "Local Server" #: src/defaults/links.tsx:11 -#: src/pages/company/CompanyDetail.tsx:90 +#: src/pages/company/CompanyDetail.tsx:92 msgid "Website" msgstr "Sitio web" @@ -2087,10 +2158,10 @@ msgstr "" #: src/defaults/links.tsx:31 #: src/defaults/menuItems.tsx:48 #: src/pages/company/ManufacturerDetail.tsx:9 -#: src/pages/company/ManufacturerPartDetail.tsx:231 +#: src/pages/company/ManufacturerPartDetail.tsx:235 #: src/pages/company/SupplierDetail.tsx:9 -#: src/pages/company/SupplierPartDetail.tsx:291 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:358 +#: src/pages/company/SupplierPartDetail.tsx:292 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:365 #: src/pages/purchasing/PurchasingIndex.tsx:52 msgid "Purchasing" msgstr "" @@ -2098,15 +2169,15 @@ msgstr "" #: src/defaults/links.tsx:32 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:323 +#: src/pages/sales/ReturnOrderDetail.tsx:330 #: src/pages/sales/SalesIndex.tsx:45 -#: src/pages/sales/SalesOrderDetail.tsx:345 +#: src/pages/sales/SalesOrderDetail.tsx:352 msgid "Sales" msgstr "" #: src/defaults/links.tsx:35 #: src/defaults/menuItems.tsx:71 -#: src/pages/Index/Playground.tsx:239 +#: src/pages/Index/Playground.tsx:238 msgid "Playground" msgstr "" @@ -2240,87 +2311,83 @@ msgstr "" #~ msgstr "Combusken battles with the intensely hot flames it spews" #: src/forms/AttachmentForms.tsx:57 -msgid "Add File" -msgstr "" +#~ msgid "Add File" +#~ msgstr "Add File" #: src/forms/AttachmentForms.tsx:57 -msgid "Add Link" -msgstr "" +#~ msgid "Add Link" +#~ msgstr "Add Link" #: src/forms/AttachmentForms.tsx:58 -msgid "File added" -msgstr "" +#~ msgid "File added" +#~ msgstr "File added" #: src/forms/AttachmentForms.tsx:58 -msgid "Link added" -msgstr "" +#~ msgid "Link added" +#~ msgstr "Link added" #: src/forms/AttachmentForms.tsx:99 -msgid "Edit File" -msgstr "" +#~ msgid "Edit File" +#~ msgstr "Edit File" #: src/forms/AttachmentForms.tsx:99 -msgid "Edit Link" -msgstr "" +#~ msgid "Edit Link" +#~ msgstr "Edit Link" #: src/forms/AttachmentForms.tsx:100 -msgid "File updated" -msgstr "" +#~ msgid "File updated" +#~ msgstr "File updated" #: src/forms/AttachmentForms.tsx:100 -msgid "Link updated" -msgstr "" - -#: src/forms/AttachmentForms.tsx:124 -msgid "Delete Attachment" -msgstr "" +#~ msgid "Link updated" +#~ msgstr "Link updated" #: src/forms/AttachmentForms.tsx:125 -msgid "Attachment deleted" -msgstr "" +#~ msgid "Attachment deleted" +#~ msgstr "Attachment deleted" #: src/forms/AttachmentForms.tsx:128 -msgid "Are you sure you want to delete this attachment?" -msgstr "" +#~ msgid "Are you sure you want to delete this attachment?" +#~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BuildForms.tsx:129 +#: src/forms/BuildForms.tsx:146 msgid "Next serial number" msgstr "" -#: src/forms/BuildForms.tsx:133 +#: src/forms/BuildForms.tsx:150 msgid "Latest serial number" msgstr "" -#: src/forms/BuildForms.tsx:205 +#: src/forms/BuildForms.tsx:222 msgid "Remove output" msgstr "" -#: src/forms/BuildForms.tsx:287 +#: src/forms/BuildForms.tsx:304 msgid "Complete Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:291 +#: src/forms/BuildForms.tsx:308 msgid "Build outputs have been completed" msgstr "" -#: src/forms/BuildForms.tsx:360 +#: src/forms/BuildForms.tsx:377 msgid "Scrap Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:364 +#: src/forms/BuildForms.tsx:381 msgid "Build outputs have been scrapped" msgstr "" -#: src/forms/BuildForms.tsx:396 -#: src/forms/BuildForms.tsx:420 +#: src/forms/BuildForms.tsx:413 +#: src/forms/BuildForms.tsx:437 msgid "Cancel Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:397 +#: src/forms/BuildForms.tsx:414 msgid "Selected build outputs will be deleted" msgstr "" -#: src/forms/BuildForms.tsx:424 +#: src/forms/BuildForms.tsx:441 msgid "Build outputs have been cancelled" msgstr "" @@ -2344,76 +2411,76 @@ msgstr "" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PurchaseOrderForms.tsx:265 +#: src/forms/PurchaseOrderForms.tsx:279 msgid "Choose Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:273 +#: src/forms/PurchaseOrderForms.tsx:287 msgid "Item Destination selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:282 +#: src/forms/PurchaseOrderForms.tsx:296 msgid "Part category default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:292 +#: src/forms/PurchaseOrderForms.tsx:306 msgid "Received stock location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:297 +#: src/forms/PurchaseOrderForms.tsx:311 msgid "Default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:308 -#: src/forms/PurchaseOrderForms.tsx:384 +#: src/forms/PurchaseOrderForms.tsx:322 +#: src/forms/PurchaseOrderForms.tsx:398 msgid "Scan Barcode" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:352 +#: src/forms/PurchaseOrderForms.tsx:366 msgid "Set Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:359 +#: src/forms/PurchaseOrderForms.tsx:373 msgid "Assign Batch Code{0}" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:368 +#: src/forms/PurchaseOrderForms.tsx:382 msgid "Change Status" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:393 -#: src/forms/StockForms.tsx:351 +#: src/forms/PurchaseOrderForms.tsx:407 +#: src/forms/StockForms.tsx:392 msgid "Remove item from list" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:418 -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:58 -#: src/pages/stock/StockDetail.tsx:167 -#: src/tables/ColumnRenderers.tsx:42 +#: src/forms/PurchaseOrderForms.tsx:432 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/pages/stock/StockDetail.tsx:170 +#: src/tables/ColumnRenderers.tsx:34 +#: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:434 +#: src/forms/PurchaseOrderForms.tsx:448 msgid "Store at default location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:447 +#: src/forms/PurchaseOrderForms.tsx:461 msgid "Store at line item destination" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:457 +#: src/forms/PurchaseOrderForms.tsx:471 msgid "Store with already received stock" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:613 +#: src/forms/PurchaseOrderForms.tsx:627 msgid "Receive Line Items" msgstr "" @@ -2421,119 +2488,118 @@ msgstr "" #~ msgid "Receive line items" #~ msgstr "Receive line items" -#: src/forms/StockForms.tsx:69 +#: src/forms/StockForms.tsx:101 msgid "Add given quantity as packs instead of individual items" msgstr "" -#: src/forms/StockForms.tsx:80 -msgid "Enter initial quantity for this stock item" -msgstr "" - -#: src/forms/StockForms.tsx:85 -msgid "Serial Numbers" -msgstr "" - -#: src/forms/StockForms.tsx:86 -msgid "Enter serial numbers for new stock (or leave blank)" -msgstr "" - #: src/forms/StockForms.tsx:110 #~ msgid "Create Stock Item" #~ msgstr "Create Stock Item" -#: src/forms/StockForms.tsx:135 -#: src/pages/stock/StockDetail.tsx:367 -#: src/tables/stock/StockItemTable.tsx:382 -#: src/tables/stock/StockItemTable.tsx:499 -msgid "Add Stock Item" +#: src/forms/StockForms.tsx:114 +msgid "Enter initial quantity for this stock item" +msgstr "" + +#: src/forms/StockForms.tsx:121 +msgid "Serial Numbers" +msgstr "" + +#: src/forms/StockForms.tsx:122 +msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" #: src/forms/StockForms.tsx:158 #~ msgid "Stock item updated" #~ msgstr "Stock item updated" -#: src/forms/StockForms.tsx:298 +#: src/forms/StockForms.tsx:176 +#: src/pages/stock/StockDetail.tsx:375 +#: src/tables/stock/StockItemTable.tsx:382 +#: src/tables/stock/StockItemTable.tsx:499 +msgid "Add Stock Item" +msgstr "" + +#: src/forms/StockForms.tsx:339 msgid "Loading..." msgstr "" -#: src/forms/StockForms.tsx:340 +#: src/forms/StockForms.tsx:381 msgid "Move to default location" msgstr "" -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/part/PartDetail.tsx:205 -#: src/pages/part/PartDetail.tsx:654 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/pages/part/PartDetail.tsx:206 +#: src/pages/part/PartDetail.tsx:655 #: src/tables/stock/StockItemTable.tsx:290 msgid "In Stock" msgstr "En Stock" -#: src/forms/StockForms.tsx:408 +#: src/forms/StockForms.tsx:449 msgid "Move" msgstr "" -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/tables/RowActions.tsx:147 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/tables/RowActions.tsx:149 msgid "Actions" msgstr "" -#: src/forms/StockForms.tsx:471 -#: src/pages/stock/StockDetail.tsx:440 -#: src/tables/settings/TemplateTable.tsx:266 -#: src/tables/stock/StockItemTestResultTable.tsx:348 +#: src/forms/StockForms.tsx:512 +#: src/pages/stock/StockDetail.tsx:454 +#: src/tables/stock/StockItemTestResultTable.tsx:339 msgid "Add" msgstr "Agregar" -#: src/forms/StockForms.tsx:499 +#: src/forms/StockForms.tsx:540 #: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:430 +#: src/pages/stock/StockDetail.tsx:444 msgid "Count" msgstr "" -#: src/forms/StockForms.tsx:744 +#: src/forms/StockForms.tsx:785 msgid "Add Stock" msgstr "" -#: src/forms/StockForms.tsx:753 +#: src/forms/StockForms.tsx:794 msgid "Remove Stock" msgstr "" -#: src/forms/StockForms.tsx:762 -#: src/pages/part/PartDetail.tsx:781 +#: src/forms/StockForms.tsx:803 +#: src/pages/part/PartDetail.tsx:782 msgid "Transfer Stock" msgstr "" -#: src/forms/StockForms.tsx:771 -#: src/pages/part/PartDetail.tsx:770 +#: src/forms/StockForms.tsx:812 +#: src/pages/part/PartDetail.tsx:771 msgid "Count Stock" msgstr "" -#: src/forms/StockForms.tsx:780 +#: src/forms/StockForms.tsx:821 msgid "Change Stock Status" msgstr "" -#: src/forms/StockForms.tsx:789 +#: src/forms/StockForms.tsx:830 msgid "Merge Stock" msgstr "" -#: src/forms/StockForms.tsx:808 +#: src/forms/StockForms.tsx:849 msgid "Delete Stock Items" msgstr "" -#: src/forms/StockForms.tsx:815 +#: src/forms/StockForms.tsx:856 msgid "Parent stock location" msgstr "" @@ -2728,7 +2794,7 @@ msgstr "" msgid "Welcome to your Dashboard{0}" msgstr "" -#: src/pages/Index/Playground.tsx:244 +#: src/pages/Index/Playground.tsx:243 msgid "This page is a showcase for the possibilities of Platform UI." msgstr "" @@ -3138,49 +3204,53 @@ msgstr "" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:79 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:87 msgid "Background Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:85 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:93 msgid "Error Reports" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:91 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:99 msgid "Currencies" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:109 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:117 msgid "Custom Units" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:115 -#: src/pages/part/CategoryDetail.tsx:254 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:123 +#: src/pages/part/CategoryDetail.tsx:255 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:121 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 +#~ msgid "Templates" +#~ msgstr "Templates" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:129 msgid "Category Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 -msgid "Templates" +#: src/pages/Index/Settings/AdminCenter/Index.tsx:147 +msgid "Location types" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:139 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:159 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:149 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:169 msgid "Quick Actions" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:154 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 msgid "Add a new user" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:173 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:193 msgid "Advanced Options" msgstr "" @@ -3225,26 +3295,32 @@ msgstr "" msgid "Plugin Settings" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:25 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:53 +msgid "Background Worker Not Running" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:54 +msgid "The background task manager service is not running. Contact your system administrator." +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:60 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:76 msgid "Pending Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:33 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:64 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:84 msgid "Scheduled Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:41 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:68 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:92 msgid "Failed Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:139 -msgid "Labels" -msgstr "Etiquetas" - #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:39 -msgid "Label" -msgstr "" +#~ msgid "Label" +#~ msgstr "Label" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67 #~ msgid "Stock item" @@ -3255,13 +3331,13 @@ msgstr "" #~ msgstr "Build line" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:88 -msgid "Reports" -msgstr "" +#~ msgid "Reports" +#~ msgstr "Reports" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:89 #: src/pages/build/BuildDetail.tsx:373 -msgid "Report" -msgstr "Informe" +#~ msgid "Report" +#~ msgstr "Report" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99 #~ msgid "Purchase order" @@ -3275,14 +3351,9 @@ msgstr "Informe" #~ msgid "Return order" #~ msgstr "Return order" -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135 -#: src/pages/part/PartDetail.tsx:518 -msgid "Bill of Materials" -msgstr "" - #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:145 -msgid "Tests" -msgstr "" +#~ msgid "Tests" +#~ msgstr "Tests" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:154 #~ msgid "Stock location" @@ -3321,26 +3392,30 @@ msgstr "Precios" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" +#: src/pages/Index/Settings/SystemSettings.tsx:139 +msgid "Labels" +msgstr "Etiquetas" + #: src/pages/Index/Settings/SystemSettings.tsx:145 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "Informes" -#: src/pages/Index/Settings/SystemSettings.tsx:223 -#: src/pages/part/PartDetail.tsx:589 +#: src/pages/Index/Settings/SystemSettings.tsx:224 +#: src/pages/part/PartDetail.tsx:590 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:228 -#: src/pages/build/BuildDetail.tsx:426 +#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:525 -#: src/pages/sales/SalesOrderDetail.tsx:263 +#: src/pages/part/PartDetail.tsx:526 +#: src/pages/sales/SalesOrderDetail.tsx:265 msgid "Build Orders" msgstr "Ordenes de Producción" -#: src/pages/Index/Settings/SystemSettings.tsx:296 +#: src/pages/Index/Settings/SystemSettings.tsx:297 msgid "Switch to User Setting" msgstr "Cambiar a Configuración de Usuario" @@ -3397,44 +3472,47 @@ msgstr "" #~ msgstr "Build Status" #: src/pages/build/BuildDetail.tsx:89 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:128 -#: src/pages/sales/ReturnOrderDetail.tsx:95 -#: src/pages/sales/SalesOrderDetail.tsx:99 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:130 +#: src/pages/sales/ReturnOrderDetail.tsx:97 +#: src/pages/sales/SalesOrderDetail.tsx:101 #: src/tables/build/BuildOrderTable.tsx:113 #: src/tables/machine/MachineListTable.tsx:326 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderTable.tsx:46 #: src/tables/sales/SalesOrderTable.tsx:52 #: src/tables/stock/StockItemTable.tsx:259 +#: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "" #: src/pages/build/BuildDetail.tsx:95 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:101 -#: src/pages/sales/ReturnOrderDetail.tsx:69 -#: src/pages/sales/SalesOrderDetail.tsx:73 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:103 +#: src/pages/sales/ReturnOrderDetail.tsx:71 +#: src/pages/sales/SalesOrderDetail.tsx:75 +#: src/tables/ColumnRenderers.tsx:106 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" msgstr "" #: src/pages/build/BuildDetail.tsx:100 -#: src/pages/company/CompanyDetail.tsx:84 -#: src/pages/company/ManufacturerPartDetail.tsx:75 -#: src/pages/company/SupplierPartDetail.tsx:82 -#: src/pages/part/CategoryDetail.tsx:91 -#: src/pages/part/PartDetail.tsx:132 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:122 -#: src/pages/sales/ReturnOrderDetail.tsx:89 -#: src/pages/sales/SalesOrderDetail.tsx:93 -#: src/pages/stock/LocationDetail.tsx:97 -#: src/tables/ColumnRenderers.tsx:95 +#: src/pages/company/CompanyDetail.tsx:86 +#: src/pages/company/ManufacturerPartDetail.tsx:76 +#: src/pages/company/SupplierPartDetail.tsx:83 +#: src/pages/part/CategoryDetail.tsx:92 +#: src/pages/part/PartDetail.tsx:133 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:124 +#: src/pages/sales/ReturnOrderDetail.tsx:91 +#: src/pages/sales/SalesOrderDetail.tsx:95 +#: src/pages/stock/LocationDetail.tsx:99 +#: src/tables/ColumnRenderers.tsx:66 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 #: src/tables/machine/MachineTypeTable.tsx:323 #: src/tables/part/RelatedPartTable.tsx:64 -#: src/tables/plugin/PluginListTable.tsx:172 -#: src/tables/plugin/PluginListTable.tsx:302 +#: src/tables/plugin/PluginListTable.tsx:129 +#: src/tables/plugin/PluginListTable.tsx:276 +#: src/tables/stock/LocationTypesTable.tsx:65 msgid "Description" msgstr "" @@ -3447,7 +3525,7 @@ msgid "Build Quantity" msgstr "" #: src/pages/build/BuildDetail.tsx:126 -#: src/pages/build/BuildDetail.tsx:249 +#: src/pages/build/BuildDetail.tsx:256 msgid "Completed Outputs" msgstr "" @@ -3457,10 +3535,10 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:150 -#: src/pages/part/PartDetail.tsx:320 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:214 -#: src/pages/sales/ReturnOrderDetail.tsx:182 -#: src/pages/sales/SalesOrderDetail.tsx:186 +#: src/pages/part/PartDetail.tsx:321 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:184 +#: src/pages/sales/SalesOrderDetail.tsx:188 #: src/tables/build/BuildOrderTable.tsx:148 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 @@ -3474,10 +3552,10 @@ msgid "Created" msgstr "" #: src/pages/build/BuildDetail.tsx:164 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:207 -#: src/pages/sales/ReturnOrderDetail.tsx:175 -#: src/pages/sales/SalesOrderDetail.tsx:179 -#: src/tables/ColumnRenderers.tsx:227 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:209 +#: src/pages/sales/ReturnOrderDetail.tsx:177 +#: src/pages/sales/SalesOrderDetail.tsx:181 +#: src/tables/ColumnRenderers.tsx:191 msgid "Target Date" msgstr "" @@ -3513,6 +3591,11 @@ msgstr "" #~ msgid "Unlink custom barcode from part" #~ msgstr "Unlink custom barcode from part" +#: src/pages/build/BuildDetail.tsx:197 +#: src/pages/stock/StockDetail.tsx:526 +msgid "Batch Code" +msgstr "" + #: src/pages/build/BuildDetail.tsx:202 #~ msgid "Build Order updated" #~ msgstr "Build Order updated" @@ -3521,86 +3604,87 @@ msgstr "" #~ msgid "Edit build order" #~ msgstr "Edit build order" -#: src/pages/build/BuildDetail.tsx:222 -msgid "Build Details" -msgstr "" - #: src/pages/build/BuildDetail.tsx:226 #~ msgid "Duplicate build order" #~ msgstr "Duplicate build order" -#: src/pages/build/BuildDetail.tsx:228 -#: src/tables/build/BuildLineTable.tsx:225 -msgid "Allocate Stock" +#: src/pages/build/BuildDetail.tsx:229 +msgid "Build Details" msgstr "" #: src/pages/build/BuildDetail.tsx:231 #~ msgid "Delete build order" #~ msgstr "Delete build order" -#: src/pages/build/BuildDetail.tsx:242 +#: src/pages/build/BuildDetail.tsx:235 +#: src/tables/build/BuildLineTable.tsx:225 +msgid "Allocate Stock" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:249 msgid "Incomplete Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:264 +#: src/pages/build/BuildDetail.tsx:271 msgid "Consumed Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:278 +#: src/pages/build/BuildDetail.tsx:285 msgid "Child Build Orders" msgstr "" -#: src/pages/build/BuildDetail.tsx:288 -#: src/pages/company/CompanyDetail.tsx:253 -#: src/pages/company/ManufacturerPartDetail.tsx:171 -#: src/pages/part/PartDetail.tsx:611 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:276 -#: src/pages/sales/ReturnOrderDetail.tsx:225 -#: src/pages/sales/SalesOrderDetail.tsx:273 -#: src/pages/stock/StockDetail.tsx:317 +#: src/pages/build/BuildDetail.tsx:295 +#: src/pages/company/CompanyDetail.tsx:255 +#: src/pages/company/ManufacturerPartDetail.tsx:172 +#: src/pages/part/PartDetail.tsx:612 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:278 +#: src/pages/sales/ReturnOrderDetail.tsx:227 +#: src/pages/sales/SalesOrderDetail.tsx:275 +#: src/pages/stock/StockDetail.tsx:325 msgid "Attachments" msgstr "" -#: src/pages/build/BuildDetail.tsx:300 -#: src/pages/company/CompanyDetail.tsx:265 -#: src/pages/part/PartDetail.tsx:623 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:288 -#: src/pages/sales/ReturnOrderDetail.tsx:237 -#: src/pages/sales/SalesOrderDetail.tsx:285 -#: src/pages/stock/StockDetail.tsx:329 +#: src/pages/build/BuildDetail.tsx:307 +#: src/pages/company/CompanyDetail.tsx:267 +#: src/pages/part/PartDetail.tsx:624 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:290 +#: src/pages/sales/ReturnOrderDetail.tsx:239 +#: src/pages/sales/SalesOrderDetail.tsx:287 +#: src/pages/stock/StockDetail.tsx:337 +#: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "" -#: src/pages/build/BuildDetail.tsx:318 +#: src/pages/build/BuildDetail.tsx:325 msgid "Edit Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:327 +#: src/pages/build/BuildDetail.tsx:334 msgid "Cancel Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:339 +#: src/pages/build/BuildDetail.tsx:346 #: src/tables/build/BuildOrderTable.tsx:167 #: src/tables/build/BuildOrderTable.tsx:182 msgid "Add Build Order" msgstr "" #: src/pages/build/BuildDetail.tsx:368 -msgid "Reporting Actions" -msgstr "" +#~ msgid "Reporting Actions" +#~ msgstr "Reporting Actions" #: src/pages/build/BuildDetail.tsx:374 -msgid "Print build report" -msgstr "" +#~ msgid "Print build report" +#~ msgstr "Print build report" -#: src/pages/build/BuildDetail.tsx:380 +#: src/pages/build/BuildDetail.tsx:378 msgid "Build Order Actions" msgstr "" -#: src/pages/build/BuildDetail.tsx:388 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:326 -#: src/pages/sales/ReturnOrderDetail.tsx:300 -#: src/pages/sales/SalesOrderDetail.tsx:310 +#: src/pages/build/BuildDetail.tsx:386 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:333 +#: src/pages/sales/ReturnOrderDetail.tsx:307 +#: src/pages/sales/SalesOrderDetail.tsx:317 msgid "Cancel order" msgstr "" @@ -3612,56 +3696,58 @@ msgstr "" #~ msgid "New Build Order" #~ msgstr "New Build Order" -#: src/pages/company/CompanyDetail.tsx:98 +#: src/pages/company/CompanyDetail.tsx:100 msgid "Phone Number" msgstr "" -#: src/pages/company/CompanyDetail.tsx:105 +#: src/pages/company/CompanyDetail.tsx:107 msgid "Email Address" msgstr "" -#: src/pages/company/CompanyDetail.tsx:115 +#: src/pages/company/CompanyDetail.tsx:117 msgid "Default Currency" msgstr "" -#: src/pages/company/CompanyDetail.tsx:120 +#: src/pages/company/CompanyDetail.tsx:122 #: src/pages/company/SupplierDetail.tsx:8 -#: src/pages/company/SupplierPartDetail.tsx:106 -#: src/pages/company/SupplierPartDetail.tsx:192 -#: src/pages/company/SupplierPartDetail.tsx:295 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:116 +#: src/pages/company/SupplierPartDetail.tsx:107 +#: src/pages/company/SupplierPartDetail.tsx:193 +#: src/pages/company/SupplierPartDetail.tsx:296 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:118 #: src/tables/company/CompanyTable.tsx:100 #: src/tables/purchasing/PurchaseOrderTable.tsx:88 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:36 msgid "Supplier" msgstr "Proveedor" -#: src/pages/company/CompanyDetail.tsx:126 +#: src/pages/company/CompanyDetail.tsx:128 #: src/pages/company/ManufacturerDetail.tsx:8 -#: src/pages/company/ManufacturerPartDetail.tsx:93 -#: src/pages/company/ManufacturerPartDetail.tsx:235 -#: src/pages/company/SupplierPartDetail.tsx:121 +#: src/pages/company/ManufacturerPartDetail.tsx:94 +#: src/pages/company/ManufacturerPartDetail.tsx:239 +#: src/pages/company/SupplierPartDetail.tsx:122 #: src/tables/company/CompanyTable.tsx:105 msgid "Manufacturer" msgstr "" -#: src/pages/company/CompanyDetail.tsx:132 +#: src/pages/company/CompanyDetail.tsx:134 #: src/pages/company/CustomerDetail.tsx:8 #: src/pages/part/pricing/SaleHistoryPanel.tsx:39 -#: src/pages/sales/ReturnOrderDetail.tsx:83 -#: src/pages/sales/SalesOrderDetail.tsx:87 -#: src/pages/stock/StockDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:85 +#: src/pages/sales/SalesOrderDetail.tsx:89 +#: src/pages/stock/StockDetail.tsx:219 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:107 +#: src/tables/stock/StockTrackingTable.tsx:140 msgid "Customer" msgstr "" -#: src/pages/company/CompanyDetail.tsx:166 +#: src/pages/company/CompanyDetail.tsx:168 +#: src/tables/stock/StockTrackingTable.tsx:183 msgid "Details" msgstr "Detalles" -#: src/pages/company/CompanyDetail.tsx:172 +#: src/pages/company/CompanyDetail.tsx:174 msgid "Manufactured Parts" msgstr "" @@ -3669,7 +3755,7 @@ msgstr "" #~ msgid "Edit company" #~ msgstr "Edit company" -#: src/pages/company/CompanyDetail.tsx:181 +#: src/pages/company/CompanyDetail.tsx:183 msgid "Supplied Parts" msgstr "" @@ -3677,289 +3763,289 @@ msgstr "" #~ msgid "Delete company" #~ msgstr "Delete company" -#: src/pages/company/CompanyDetail.tsx:226 +#: src/pages/company/CompanyDetail.tsx:228 msgid "Assigned Stock" msgstr "" -#: src/pages/company/CompanyDetail.tsx:281 +#: src/pages/company/CompanyDetail.tsx:283 #: src/tables/company/CompanyTable.tsx:86 msgid "Edit Company" msgstr "" -#: src/pages/company/CompanyDetail.tsx:290 +#: src/pages/company/CompanyDetail.tsx:292 msgid "Company Actions" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:68 -#: src/pages/company/SupplierPartDetail.tsx:75 +#: src/pages/company/ManufacturerPartDetail.tsx:69 +#: src/pages/company/SupplierPartDetail.tsx:76 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:72 msgid "Internal Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:83 -#: src/pages/company/SupplierPartDetail.tsx:89 +#: src/pages/company/ManufacturerPartDetail.tsx:84 +#: src/pages/company/SupplierPartDetail.tsx:90 msgid "External Link" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:101 -#: src/pages/company/SupplierPartDetail.tsx:130 -#: src/tables/purchasing/ManufacturerPartTable.tsx:53 +#: src/pages/company/ManufacturerPartDetail.tsx:102 +#: src/pages/company/SupplierPartDetail.tsx:131 +#: src/tables/purchasing/ManufacturerPartTable.tsx:56 msgid "Manufacturer Part Number" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:130 +#: src/pages/company/ManufacturerPartDetail.tsx:131 msgid "Manufacturer Details" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:139 +#: src/pages/company/ManufacturerPartDetail.tsx:140 msgid "Manufacturer Part Details" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:145 -#: src/pages/part/PartDetail.tsx:485 +#: src/pages/company/ManufacturerPartDetail.tsx:146 +#: src/pages/part/PartDetail.tsx:486 msgid "Parameters" msgstr "Parámetros" -#: src/pages/company/ManufacturerPartDetail.tsx:157 -#: src/pages/part/PartDetail.tsx:558 +#: src/pages/company/ManufacturerPartDetail.tsx:158 +#: src/pages/part/PartDetail.tsx:559 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "Proveedores" -#: src/pages/company/ManufacturerPartDetail.tsx:189 -#: src/tables/purchasing/ManufacturerPartTable.tsx:97 +#: src/pages/company/ManufacturerPartDetail.tsx:190 +#: src/tables/purchasing/ManufacturerPartTable.tsx:84 msgid "Edit Manufacturer Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:196 -#: src/tables/purchasing/ManufacturerPartTable.tsx:63 -#: src/tables/purchasing/ManufacturerPartTable.tsx:78 +#: src/pages/company/ManufacturerPartDetail.tsx:197 +#: src/tables/purchasing/ManufacturerPartTable.tsx:72 +#: src/tables/purchasing/ManufacturerPartTable.tsx:103 msgid "Add Manufacturer Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:209 +#: src/pages/company/ManufacturerPartDetail.tsx:213 msgid "Manufacturer Part Actions" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:247 +#: src/pages/company/ManufacturerPartDetail.tsx:251 msgid "ManufacturerPart" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:96 -#: src/tables/ColumnRenderers.tsx:146 +#: src/pages/company/SupplierPartDetail.tsx:97 +#: src/tables/ColumnRenderers.tsx:117 msgid "Note" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:114 +#: src/pages/company/SupplierPartDetail.tsx:115 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:57 msgid "SKU" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:142 -#: src/pages/company/SupplierPartDetail.tsx:193 -#: src/pages/stock/StockDetail.tsx:230 +#: src/pages/company/SupplierPartDetail.tsx:143 +#: src/pages/company/SupplierPartDetail.tsx:194 +#: src/pages/stock/StockDetail.tsx:233 msgid "Packaging" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:149 +#: src/pages/company/SupplierPartDetail.tsx:150 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:107 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143 #: src/tables/purchasing/SupplierPartTable.tsx:131 msgid "Pack Quantity" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:160 +#: src/pages/company/SupplierPartDetail.tsx:161 msgid "Supplier Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:167 +#: src/pages/company/SupplierPartDetail.tsx:168 msgid "Availability Updated" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:194 +#: src/pages/company/SupplierPartDetail.tsx:195 msgid "Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:203 +#: src/pages/company/SupplierPartDetail.tsx:204 msgid "Supplier Part Details" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:209 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:263 +#: src/pages/company/SupplierPartDetail.tsx:210 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:265 msgid "Received Stock" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:233 +#: src/pages/company/SupplierPartDetail.tsx:234 #: src/pages/part/PartPricingPanel.tsx:115 #: src/pages/part/pricing/PricingOverviewPanel.tsx:130 msgid "Supplier Pricing" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:248 +#: src/pages/company/SupplierPartDetail.tsx:249 msgid "Supplier Part Actions" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:272 +#: src/pages/company/SupplierPartDetail.tsx:273 #: src/tables/purchasing/SupplierPartTable.tsx:210 msgid "Edit Supplier Part" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:279 +#: src/pages/company/SupplierPartDetail.tsx:280 #: src/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "" -#: src/pages/part/CategoryDetail.tsx:83 -#: src/pages/stock/LocationDetail.tsx:89 +#: src/pages/part/CategoryDetail.tsx:84 +#: src/pages/stock/LocationDetail.tsx:91 #: src/tables/settings/ErrorTable.tsx:34 msgid "Path" msgstr "" -#: src/pages/part/CategoryDetail.tsx:99 +#: src/pages/part/CategoryDetail.tsx:100 msgid "Parent Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:116 +#: src/pages/part/CategoryDetail.tsx:117 msgid "Subcategories" msgstr "" -#: src/pages/part/CategoryDetail.tsx:123 -#: src/pages/stock/LocationDetail.tsx:129 -#: src/tables/part/PartCategoryTable.tsx:69 +#: src/pages/part/CategoryDetail.tsx:124 +#: src/pages/stock/LocationDetail.tsx:131 +#: src/tables/part/PartCategoryTable.tsx:65 msgid "Structural" msgstr "" -#: src/pages/part/CategoryDetail.tsx:129 +#: src/pages/part/CategoryDetail.tsx:130 msgid "Parent default location" msgstr "" -#: src/pages/part/CategoryDetail.tsx:136 +#: src/pages/part/CategoryDetail.tsx:137 msgid "Default location" msgstr "" -#: src/pages/part/CategoryDetail.tsx:147 +#: src/pages/part/CategoryDetail.tsx:148 msgid "Top level part category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:157 -#: src/pages/part/CategoryDetail.tsx:211 -#: src/tables/part/PartCategoryTable.tsx:96 +#: src/pages/part/CategoryDetail.tsx:158 +#: src/pages/part/CategoryDetail.tsx:212 +#: src/tables/part/PartCategoryTable.tsx:88 msgid "Edit Part Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:170 -#: src/pages/stock/LocationDetail.tsx:213 +#: src/pages/part/CategoryDetail.tsx:171 +#: src/pages/stock/LocationDetail.tsx:223 msgid "Delete items" msgstr "" -#: src/pages/part/CategoryDetail.tsx:178 -#: src/pages/part/CategoryDetail.tsx:216 +#: src/pages/part/CategoryDetail.tsx:179 +#: src/pages/part/CategoryDetail.tsx:217 msgid "Delete Part Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:181 +#: src/pages/part/CategoryDetail.tsx:182 msgid "Parts Action" msgstr "" -#: src/pages/part/CategoryDetail.tsx:182 +#: src/pages/part/CategoryDetail.tsx:183 msgid "Action for parts in this category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:187 +#: src/pages/part/CategoryDetail.tsx:188 msgid "Child Categories Action" msgstr "" -#: src/pages/part/CategoryDetail.tsx:188 +#: src/pages/part/CategoryDetail.tsx:189 msgid "Action for child categories in this category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:206 +#: src/pages/part/CategoryDetail.tsx:207 msgid "Category Actions" msgstr "" -#: src/pages/part/CategoryDetail.tsx:228 +#: src/pages/part/CategoryDetail.tsx:229 msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:138 +#: src/pages/part/PartDetail.tsx:139 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:145 +#: src/pages/part/PartDetail.tsx:146 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "" -#: src/pages/part/PartDetail.tsx:151 +#: src/pages/part/PartDetail.tsx:152 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:158 +#: src/pages/part/PartDetail.tsx:159 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:165 +#: src/pages/part/PartDetail.tsx:166 msgid "IPN" msgstr "" -#: src/pages/part/PartDetail.tsx:172 +#: src/pages/part/PartDetail.tsx:173 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:179 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39 +#: src/pages/part/PartDetail.tsx:180 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "" -#: src/pages/part/PartDetail.tsx:186 +#: src/pages/part/PartDetail.tsx:187 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:193 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:180 -#: src/pages/sales/ReturnOrderDetail.tsx:148 -#: src/pages/sales/SalesOrderDetail.tsx:152 +#: src/pages/part/PartDetail.tsx:194 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:182 +#: src/pages/sales/ReturnOrderDetail.tsx:150 +#: src/pages/sales/SalesOrderDetail.tsx:154 msgid "Link" msgstr "" -#: src/pages/part/PartDetail.tsx:211 -#: src/tables/bom/BomTable.tsx:269 +#: src/pages/part/PartDetail.tsx:212 +#: src/tables/bom/BomTable.tsx:271 #: src/tables/build/BuildLineTable.tsx:121 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:218 +#: src/pages/part/PartDetail.tsx:219 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:224 -#: src/tables/bom/BomTable.tsx:210 +#: src/pages/part/PartDetail.tsx:225 +#: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:233 +#: src/pages/part/PartDetail.tsx:234 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:241 +#: src/pages/part/PartDetail.tsx:242 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:248 -#: src/tables/bom/BomTable.tsx:234 +#: src/pages/part/PartDetail.tsx:249 +#: src/tables/bom/BomTable.tsx:236 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:255 -#: src/tables/bom/BomTable.tsx:218 +#: src/pages/part/PartDetail.tsx:256 +#: src/tables/bom/BomTable.tsx:220 #: src/tables/part/PartTable.tsx:82 msgid "Building" msgstr "" -#: src/pages/part/PartDetail.tsx:264 +#: src/pages/part/PartDetail.tsx:265 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 @@ -3968,45 +4054,47 @@ msgstr "" #: src/tables/machine/MachineListTable.tsx:585 #: src/tables/part/PartTable.tsx:168 #: src/tables/part/PartVariantTable.tsx:15 -#: src/tables/plugin/PluginListTable.tsx:190 -#: src/tables/plugin/PluginListTable.tsx:638 +#: src/tables/plugin/PluginListTable.tsx:149 +#: src/tables/plugin/PluginListTable.tsx:271 +#: src/tables/plugin/PluginListTable.tsx:563 #: src/tables/purchasing/SupplierPartTable.tsx:98 #: src/tables/purchasing/SupplierPartTable.tsx:187 #: src/tables/stock/StockItemTable.tsx:254 msgid "Active" msgstr "Activo" -#: src/pages/part/PartDetail.tsx:269 +#: src/pages/part/PartDetail.tsx:270 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:274 -#: src/tables/bom/BomTable.tsx:264 +#: src/pages/part/PartDetail.tsx:275 +#: src/tables/bom/BomTable.tsx:266 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:279 +#: src/pages/part/PartDetail.tsx:280 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:284 -#: src/tables/bom/BomTable.tsx:259 +#: src/pages/part/PartDetail.tsx:285 +#: src/tables/bom/BomTable.tsx:261 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:289 +#: src/pages/part/PartDetail.tsx:290 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:294 +#: src/pages/part/PartDetail.tsx:295 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:299 +#: src/pages/part/PartDetail.tsx:300 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:307 +#: src/pages/part/PartDetail.tsx:308 +#: src/tables/ColumnRenderers.tsx:199 msgid "Creation Date" msgstr "" @@ -4014,7 +4102,7 @@ msgstr "" #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:312 +#: src/pages/part/PartDetail.tsx:313 msgid "Created By" msgstr "" @@ -4022,68 +4110,72 @@ msgstr "" #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:327 -msgid "Default Supplier" -msgstr "" - #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:338 +#: src/pages/part/PartDetail.tsx:328 +msgid "Default Supplier" +msgstr "" + +#: src/pages/part/PartDetail.tsx:339 #: src/tables/part/PartTable.tsx:151 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:373 -#: src/pages/stock/StockDetail.tsx:127 +#: src/pages/part/PartDetail.tsx:374 +#: src/pages/stock/StockDetail.tsx:130 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:408 +#: src/pages/part/PartDetail.tsx:409 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:479 +#: src/pages/part/PartDetail.tsx:480 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:505 +#: src/pages/part/PartDetail.tsx:506 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:512 -#: src/pages/stock/StockDetail.tsx:275 +#: src/pages/part/PartDetail.tsx:513 +#: src/pages/stock/StockDetail.tsx:283 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:532 +#: src/pages/part/PartDetail.tsx:519 +msgid "Bill of Materials" +msgstr "" + +#: src/pages/part/PartDetail.tsx:533 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:539 +#: src/pages/part/PartDetail.tsx:540 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:545 +#: src/pages/part/PartDetail.tsx:546 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:584 +#: src/pages/part/PartDetail.tsx:585 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:594 +#: src/pages/part/PartDetail.tsx:595 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:605 +#: src/pages/part/PartDetail.tsx:606 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:660 -#: src/pages/stock/StockDetail.tsx:148 +#: src/pages/part/PartDetail.tsx:661 +#: src/pages/stock/StockDetail.tsx:151 #: src/tables/build/BuildLineTable.tsx:36 #: src/tables/part/PartTable.tsx:107 #: src/tables/stock/StockItemTable.tsx:166 @@ -4091,49 +4183,51 @@ msgstr "" msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:666 +#: src/pages/part/PartDetail.tsx:667 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:672 -#: src/tables/bom/BomTable.tsx:274 +#: src/pages/part/PartDetail.tsx:673 +#: src/tables/bom/BomTable.tsx:276 #: src/tables/part/PartTable.tsx:76 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:678 -#: src/pages/stock/StockDetail.tsx:496 +#: src/pages/part/PartDetail.tsx:679 +#: src/pages/stock/StockDetail.tsx:509 #: src/tables/stock/StockItemTable.tsx:295 msgid "In Production" msgstr "En producción" -#: src/pages/part/PartDetail.tsx:697 +#: src/pages/part/PartDetail.tsx:698 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:704 +#: src/pages/part/PartDetail.tsx:705 #: src/tables/part/PartTable.tsx:266 #: src/tables/part/PartTable.tsx:279 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:716 +#: src/pages/part/PartDetail.tsx:717 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:725 +#: src/pages/part/PartDetail.tsx:726 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:763 +#: src/pages/part/PartDetail.tsx:764 +#: src/pages/stock/LocationDetail.tsx:301 +#: src/tables/stock/StockItemTable.tsx:409 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:771 +#: src/pages/part/PartDetail.tsx:772 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:782 +#: src/pages/part/PartDetail.tsx:783 msgid "Transfer part stock" msgstr "" @@ -4199,15 +4293,15 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151 #: src/pages/part/pricing/SupplierPricingPanel.tsx:83 -#: src/tables/bom/BomTable.tsx:149 +#: src/tables/bom/BomTable.tsx:151 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 msgid "Unit Price" msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:173 -#: src/tables/ColumnRenderers.tsx:278 -#: src/tables/bom/BomTable.tsx:158 +#: src/tables/ColumnRenderers.tsx:241 +#: src/tables/bom/BomTable.tsx:160 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 #: src/tables/sales/ReturnOrderTable.tsx:104 #: src/tables/sales/SalesOrderTable.tsx:134 @@ -4229,24 +4323,24 @@ msgid "Bar Chart" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:63 -#: src/pages/part/pricing/PriceBreakPanel.tsx:117 +#: src/pages/part/pricing/PriceBreakPanel.tsx:115 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:138 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:164 msgid "Add Price Break" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:76 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:149 msgid "Edit Price Break" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:86 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:157 msgid "Delete Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:102 -#: src/pages/part/pricing/PriceBreakPanel.tsx:193 +#: src/pages/part/pricing/PriceBreakPanel.tsx:100 +#: src/pages/part/pricing/PriceBreakPanel.tsx:191 msgid "Price Break" msgstr "" @@ -4275,7 +4369,7 @@ msgid "Overall Pricing" msgstr "" #: src/pages/part/pricing/PricingOverviewPanel.tsx:184 -#: src/pages/stock/StockDetail.tsx:121 +#: src/pages/stock/StockDetail.tsx:124 msgid "Last Updated" msgstr "" @@ -4309,9 +4403,8 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50 #: src/pages/part/pricing/SaleHistoryPanel.tsx:46 -#: src/tables/ColumnRenderers.tsx:217 -#: src/tables/plugin/PluginListTable.tsx:182 -#: src/tables/stock/StockItemTestResultTable.tsx:194 +#: src/tables/ColumnRenderers.tsx:180 +#: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" @@ -4338,89 +4431,89 @@ msgstr "" msgid "Variant Part" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:73 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:75 msgid "Edit Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:82 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:84 #: src/tables/purchasing/PurchaseOrderTable.tsx:128 #: src/tables/purchasing/PurchaseOrderTable.tsx:140 msgid "Add Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:107 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:109 msgid "Supplier Reference" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:137 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:252 -#: src/pages/sales/ReturnOrderDetail.tsx:104 -#: src/pages/sales/ReturnOrderDetail.tsx:220 -#: src/pages/sales/SalesOrderDetail.tsx:108 -#: src/pages/sales/SalesOrderDetail.tsx:248 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:139 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:254 +#: src/pages/sales/ReturnOrderDetail.tsx:106 +#: src/pages/sales/ReturnOrderDetail.tsx:222 +#: src/pages/sales/SalesOrderDetail.tsx:110 +#: src/pages/sales/SalesOrderDetail.tsx:250 msgid "Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:144 -#: src/pages/sales/ReturnOrderDetail.tsx:111 -#: src/pages/sales/SalesOrderDetail.tsx:115 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:146 +#: src/pages/sales/ReturnOrderDetail.tsx:113 +#: src/pages/sales/SalesOrderDetail.tsx:117 msgid "Completed Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:152 -#: src/pages/sales/ReturnOrderDetail.tsx:119 -#: src/pages/sales/SalesOrderDetail.tsx:123 -#: src/pages/sales/SalesOrderDetail.tsx:258 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:121 +#: src/pages/sales/SalesOrderDetail.tsx:125 +#: src/pages/sales/SalesOrderDetail.tsx:260 msgid "Completed Shipments" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:159 -#: src/pages/sales/ReturnOrderDetail.tsx:127 -#: src/pages/sales/SalesOrderDetail.tsx:131 -msgid "Order Currency" -msgstr "" - #: src/pages/purchasing/PurchaseOrderDetail.tsx:159 #: src/pages/sales/ReturnOrderDetail.tsx:126 #: src/pages/sales/SalesOrderDetail.tsx:130 #~ msgid "Order Currency," #~ msgstr "Order Currency," -#: src/pages/purchasing/PurchaseOrderDetail.tsx:166 -#: src/pages/sales/ReturnOrderDetail.tsx:134 -#: src/pages/sales/SalesOrderDetail.tsx:138 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:161 +#: src/pages/sales/ReturnOrderDetail.tsx:129 +#: src/pages/sales/SalesOrderDetail.tsx:133 +msgid "Order Currency" +msgstr "" + +#: src/pages/purchasing/PurchaseOrderDetail.tsx:168 +#: src/pages/sales/ReturnOrderDetail.tsx:136 +#: src/pages/sales/SalesOrderDetail.tsx:140 msgid "Total Cost" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:201 -#: src/pages/sales/ReturnOrderDetail.tsx:169 -#: src/pages/sales/SalesOrderDetail.tsx:173 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:203 +#: src/pages/sales/ReturnOrderDetail.tsx:171 +#: src/pages/sales/SalesOrderDetail.tsx:175 msgid "Created On" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:246 -#: src/pages/sales/ReturnOrderDetail.tsx:214 -#: src/pages/sales/SalesOrderDetail.tsx:242 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:248 +#: src/pages/sales/ReturnOrderDetail.tsx:216 +#: src/pages/sales/SalesOrderDetail.tsx:244 msgid "Order Details" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:316 -#: src/pages/sales/ReturnOrderDetail.tsx:290 -#: src/pages/sales/SalesOrderDetail.tsx:302 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:323 +#: src/pages/sales/ReturnOrderDetail.tsx:297 +#: src/pages/sales/SalesOrderDetail.tsx:309 msgid "Order Actions" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:75 -#: src/pages/sales/SalesOrderDetail.tsx:79 +#: src/pages/sales/ReturnOrderDetail.tsx:77 +#: src/pages/sales/SalesOrderDetail.tsx:81 #: src/tables/sales/SalesOrderTable.tsx:123 msgid "Customer Reference" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:267 +#: src/pages/sales/ReturnOrderDetail.tsx:269 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:276 +#: src/pages/sales/ReturnOrderDetail.tsx:278 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" @@ -4430,68 +4523,72 @@ msgstr "" msgid "Customers" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:219 +#: src/pages/sales/SalesOrderDetail.tsx:221 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:228 +#: src/pages/sales/SalesOrderDetail.tsx:230 #: src/tables/sales/SalesOrderTable.tsx:83 #: src/tables/sales/SalesOrderTable.tsx:95 msgid "Add Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:253 +#: src/pages/sales/SalesOrderDetail.tsx:255 msgid "Pending Shipments" msgstr "" -#: src/pages/stock/LocationDetail.tsx:105 +#: src/pages/stock/LocationDetail.tsx:107 msgid "Parent Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:123 +#: src/pages/stock/LocationDetail.tsx:125 msgid "Sublocations" msgstr "" -#: src/pages/stock/LocationDetail.tsx:135 +#: src/pages/stock/LocationDetail.tsx:137 msgid "External" msgstr "" -#: src/pages/stock/LocationDetail.tsx:144 +#: src/pages/stock/LocationDetail.tsx:143 +msgid "Location Type" +msgstr "" + +#: src/pages/stock/LocationDetail.tsx:154 msgid "Top level stock location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:155 +#: src/pages/stock/LocationDetail.tsx:165 msgid "Location Details" msgstr "" -#: src/pages/stock/LocationDetail.tsx:181 +#: src/pages/stock/LocationDetail.tsx:191 msgid "Default Parts" msgstr "" -#: src/pages/stock/LocationDetail.tsx:200 +#: src/pages/stock/LocationDetail.tsx:210 #: src/pages/stock/LocationDetail.tsx:328 -#: src/tables/stock/StockLocationTable.tsx:108 +#: src/tables/stock/StockLocationTable.tsx:100 msgid "Edit Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:221 +#: src/pages/stock/LocationDetail.tsx:231 #: src/pages/stock/LocationDetail.tsx:333 msgid "Delete Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:224 +#: src/pages/stock/LocationDetail.tsx:234 msgid "Items Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:225 +#: src/pages/stock/LocationDetail.tsx:235 msgid "Action for stock items in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:230 +#: src/pages/stock/LocationDetail.tsx:240 msgid "Child Locations Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:231 +#: src/pages/stock/LocationDetail.tsx:241 msgid "Action for child locations in this location" msgstr "" @@ -4499,11 +4596,11 @@ msgstr "" msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:100 +#: src/pages/stock/StockDetail.tsx:103 msgid "Base Part" msgstr "" -#: src/pages/stock/StockDetail.tsx:107 +#: src/pages/stock/StockDetail.tsx:110 msgid "Stock Status" msgstr "" @@ -4515,15 +4612,16 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:174 +#: src/pages/stock/StockDetail.tsx:177 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:190 +#: src/pages/stock/StockDetail.tsx:193 msgid "Consumed By" msgstr "" -#: src/pages/stock/StockDetail.tsx:199 +#: src/pages/stock/StockDetail.tsx:202 +#: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" msgstr "" @@ -4535,78 +4633,78 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:264 +#: src/pages/stock/StockDetail.tsx:267 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:270 +#: src/pages/stock/StockDetail.tsx:273 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:282 +#: src/pages/stock/StockDetail.tsx:290 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:296 +#: src/pages/stock/StockDetail.tsx:304 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:303 +#: src/pages/stock/StockDetail.tsx:311 msgid "Child Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:358 +#: src/pages/stock/StockDetail.tsx:366 msgid "Edit Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:385 +#: src/pages/stock/StockDetail.tsx:393 msgid "Delete Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:426 -msgid "Stock Operations" -msgstr "" - -#: src/pages/stock/StockDetail.tsx:431 -msgid "Count stock" -msgstr "Contar stock" - #: src/pages/stock/StockDetail.tsx:433 #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:441 +#: src/pages/stock/StockDetail.tsx:440 +msgid "Stock Operations" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:445 +msgid "Count stock" +msgstr "Contar stock" + +#: src/pages/stock/StockDetail.tsx:455 #: src/tables/stock/StockItemTable.tsx:414 msgid "Add stock" msgstr "Agregar stock" -#: src/pages/stock/StockDetail.tsx:449 +#: src/pages/stock/StockDetail.tsx:463 #: src/tables/stock/StockItemTable.tsx:423 msgid "Remove stock" msgstr "Remover stock" -#: src/pages/stock/StockDetail.tsx:456 +#: src/pages/stock/StockDetail.tsx:470 msgid "Transfer" msgstr "Transferir" -#: src/pages/stock/StockDetail.tsx:457 +#: src/pages/stock/StockDetail.tsx:471 #: src/tables/stock/StockItemTable.tsx:443 msgid "Transfer stock" msgstr "Transferir stock" -#: src/pages/stock/StockDetail.tsx:469 +#: src/pages/stock/StockDetail.tsx:482 msgid "Stock Item Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:513 -msgid "Batch Code" -msgstr "" - -#: src/tables/ColumnRenderers.tsx:50 +#: src/tables/ColumnRenderers.tsx:42 msgid "No location set" msgstr "" -#: src/tables/ColumnRenderers.tsx:264 +#: src/tables/ColumnRenderers.tsx:207 +msgid "Shipment Date" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:227 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "" @@ -4616,20 +4714,32 @@ msgstr "" msgid "Select Columns" msgstr "" -#: src/tables/DownloadAction.tsx:11 +#: src/tables/DownloadAction.tsx:13 +#~ msgid "Excel" +#~ msgstr "Excel" + +#: src/tables/DownloadAction.tsx:21 +#~ msgid "Download selected data" +#~ msgstr "Download selected data" + +#: src/tables/DownloadAction.tsx:22 msgid "CSV" msgstr "" -#: src/tables/DownloadAction.tsx:12 +#: src/tables/DownloadAction.tsx:23 msgid "TSV" msgstr "" -#: src/tables/DownloadAction.tsx:13 -msgid "Excel" +#: src/tables/DownloadAction.tsx:24 +msgid "Excel (.xls)" msgstr "" -#: src/tables/DownloadAction.tsx:21 -msgid "Download selected data" +#: src/tables/DownloadAction.tsx:25 +msgid "Excel (.xlsx)" +msgstr "" + +#: src/tables/DownloadAction.tsx:39 +msgid "Download Data" msgstr "" #: src/tables/Filter.tsx:88 @@ -4663,102 +4773,102 @@ msgstr "" msgid "Remove filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:147 +#: src/tables/FilterSelectDrawer.tsx:136 msgid "Select filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:148 +#: src/tables/FilterSelectDrawer.tsx:137 msgid "Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:155 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:33 -#: src/tables/stock/StockItemTestResultTable.tsx:182 +#: src/tables/FilterSelectDrawer.tsx:144 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 +#: src/tables/stock/StockItemTestResultTable.tsx:180 msgid "Value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:156 +#: src/tables/FilterSelectDrawer.tsx:145 msgid "Select filter value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:196 +#: src/tables/FilterSelectDrawer.tsx:185 msgid "Table Filters" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:228 +#: src/tables/FilterSelectDrawer.tsx:217 msgid "Add Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:237 +#: src/tables/FilterSelectDrawer.tsx:226 msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:118 -#: src/tables/InvenTreeTable.tsx:384 -#: src/tables/InvenTreeTable.tsx:405 +#: src/tables/InvenTreeTable.tsx:119 +#: src/tables/InvenTreeTable.tsx:390 +#: src/tables/InvenTreeTable.tsx:411 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:416 +#: src/tables/InvenTreeTable.tsx:422 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:424 +#: src/tables/InvenTreeTable.tsx:430 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:427 +#: src/tables/InvenTreeTable.tsx:433 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:436 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:433 +#: src/tables/InvenTreeTable.tsx:439 msgid "Not found" msgstr "" -#: src/tables/InvenTreeTable.tsx:482 -#: src/tables/InvenTreeTable.tsx:604 +#: src/tables/InvenTreeTable.tsx:488 +#: src/tables/InvenTreeTable.tsx:611 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:486 +#: src/tables/InvenTreeTable.tsx:492 msgid "Are you sure you want to delete the selected records?" msgstr "" -#: src/tables/InvenTreeTable.tsx:488 +#: src/tables/InvenTreeTable.tsx:494 msgid "This action cannot be undone!" msgstr "" -#: src/tables/InvenTreeTable.tsx:516 +#: src/tables/InvenTreeTable.tsx:522 msgid "Deleted records" msgstr "" -#: src/tables/InvenTreeTable.tsx:517 +#: src/tables/InvenTreeTable.tsx:523 msgid "Records were deleted successfully" msgstr "" -#: src/tables/InvenTreeTable.tsx:526 +#: src/tables/InvenTreeTable.tsx:532 msgid "Failed to delete records" msgstr "" -#: src/tables/InvenTreeTable.tsx:585 -#: src/tables/InvenTreeTable.tsx:586 -msgid "Barcode actions" -msgstr "" - #: src/tables/InvenTreeTable.tsx:594 #: src/tables/InvenTreeTable.tsx:595 -msgid "Print actions" +#~ msgid "Print actions" +#~ msgstr "Print actions" + +#: src/tables/InvenTreeTable.tsx:601 +#: src/tables/InvenTreeTable.tsx:602 +msgid "Barcode actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:620 +#: src/tables/InvenTreeTable.tsx:630 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:638 +#: src/tables/InvenTreeTable.tsx:648 msgid "Table filters" msgstr "" @@ -4770,138 +4880,138 @@ msgstr "" msgid "Part Information" msgstr "" -#: src/tables/bom/BomTable.tsx:177 +#: src/tables/bom/BomTable.tsx:179 #: src/tables/part/PartTable.tsx:124 msgid "No stock" msgstr "" -#: src/tables/bom/BomTable.tsx:185 +#: src/tables/bom/BomTable.tsx:187 #: src/tables/build/BuildLineTable.tsx:104 #: src/tables/part/PartTable.tsx:115 msgid "External stock" msgstr "" -#: src/tables/bom/BomTable.tsx:193 +#: src/tables/bom/BomTable.tsx:195 #: src/tables/build/BuildLineTable.tsx:67 msgid "Includes substitute stock" msgstr "" -#: src/tables/bom/BomTable.tsx:202 +#: src/tables/bom/BomTable.tsx:204 #: src/tables/build/BuildLineTable.tsx:77 msgid "Includes variant stock" msgstr "" -#: src/tables/bom/BomTable.tsx:227 +#: src/tables/bom/BomTable.tsx:229 #: src/tables/part/PartTable.tsx:143 #: src/tables/stock/StockItemTable.tsx:205 msgid "Stock Information" msgstr "" -#: src/tables/bom/BomTable.tsx:239 +#: src/tables/bom/BomTable.tsx:241 #: src/tables/build/BuildLineTable.tsx:195 msgid "Consumable item" msgstr "" -#: src/tables/bom/BomTable.tsx:260 +#: src/tables/bom/BomTable.tsx:262 msgid "Show trackable items" msgstr "" -#: src/tables/bom/BomTable.tsx:265 +#: src/tables/bom/BomTable.tsx:267 msgid "Show asssmbled items" msgstr "" -#: src/tables/bom/BomTable.tsx:270 +#: src/tables/bom/BomTable.tsx:272 msgid "Show items with available stock" msgstr "" -#: src/tables/bom/BomTable.tsx:275 +#: src/tables/bom/BomTable.tsx:277 msgid "Show items on order" msgstr "" -#: src/tables/bom/BomTable.tsx:279 +#: src/tables/bom/BomTable.tsx:281 msgid "Validated" msgstr "" -#: src/tables/bom/BomTable.tsx:280 +#: src/tables/bom/BomTable.tsx:282 msgid "Show validated items" msgstr "" -#: src/tables/bom/BomTable.tsx:284 +#: src/tables/bom/BomTable.tsx:286 #: src/tables/bom/UsedInTable.tsx:63 msgid "Inherited" msgstr "" -#: src/tables/bom/BomTable.tsx:285 +#: src/tables/bom/BomTable.tsx:287 #: src/tables/bom/UsedInTable.tsx:64 msgid "Show inherited items" msgstr "" -#: src/tables/bom/BomTable.tsx:289 +#: src/tables/bom/BomTable.tsx:291 #: src/tables/bom/UsedInTable.tsx:68 #: src/tables/build/BuildLineTable.tsx:46 msgid "Optional" msgstr "" -#: src/tables/bom/BomTable.tsx:290 +#: src/tables/bom/BomTable.tsx:292 #: src/tables/bom/UsedInTable.tsx:69 msgid "Show optional items" msgstr "" -#: src/tables/bom/BomTable.tsx:294 +#: src/tables/bom/BomTable.tsx:296 #: src/tables/build/BuildLineTable.tsx:41 msgid "Consumable" msgstr "" -#: src/tables/bom/BomTable.tsx:295 +#: src/tables/bom/BomTable.tsx:297 msgid "Show consumable items" msgstr "" -#: src/tables/bom/BomTable.tsx:299 +#: src/tables/bom/BomTable.tsx:301 msgid "Has Pricing" msgstr "" -#: src/tables/bom/BomTable.tsx:300 -msgid "Show items with pricing" -msgstr "" - #: src/tables/bom/BomTable.tsx:301 #~ msgid "Create BOM Item" #~ msgstr "Create BOM Item" -#: src/tables/bom/BomTable.tsx:309 -#: src/tables/bom/BomTable.tsx:397 +#: src/tables/bom/BomTable.tsx:302 +msgid "Show items with pricing" +msgstr "" + +#: src/tables/bom/BomTable.tsx:311 +#: src/tables/bom/BomTable.tsx:399 msgid "Add BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:314 +#: src/tables/bom/BomTable.tsx:316 msgid "BOM item created" msgstr "" -#: src/tables/bom/BomTable.tsx:321 +#: src/tables/bom/BomTable.tsx:323 msgid "Edit BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:323 +#: src/tables/bom/BomTable.tsx:325 msgid "BOM item updated" msgstr "" -#: src/tables/bom/BomTable.tsx:330 -msgid "Delete BOM Item" -msgstr "" - -#: src/tables/bom/BomTable.tsx:331 -msgid "BOM item deleted" -msgstr "" - #: src/tables/bom/BomTable.tsx:331 #~ msgid "Edit Bom Item" #~ msgstr "Edit Bom Item" +#: src/tables/bom/BomTable.tsx:332 +msgid "Delete BOM Item" +msgstr "" + +#: src/tables/bom/BomTable.tsx:333 +msgid "BOM item deleted" +msgstr "" + #: src/tables/bom/BomTable.tsx:333 #~ msgid "Bom item updated" #~ msgstr "Bom item updated" -#: src/tables/bom/BomTable.tsx:341 +#: src/tables/bom/BomTable.tsx:343 msgid "View BOM" msgstr "" @@ -4917,11 +5027,11 @@ msgstr "" #~ msgid "Are you sure you want to remove this BOM item?" #~ msgstr "Are you sure you want to remove this BOM item?" -#: src/tables/bom/BomTable.tsx:352 +#: src/tables/bom/BomTable.tsx:354 msgid "Validate BOM line" msgstr "" -#: src/tables/bom/BomTable.tsx:360 +#: src/tables/bom/BomTable.tsx:362 msgid "Edit Substitutes" msgstr "" @@ -5038,11 +5148,11 @@ msgid "Filter by responsible owner" msgstr "" #: src/tables/build/BuildOutputTable.tsx:114 -#: src/tables/build/BuildOutputTable.tsx:150 +#: src/tables/build/BuildOutputTable.tsx:152 msgid "Add Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:155 +#: src/tables/build/BuildOutputTable.tsx:157 msgid "Complete selected outputs" msgstr "" @@ -5050,68 +5160,68 @@ msgstr "" #~ msgid "Delete build output" #~ msgstr "Delete build output" -#: src/tables/build/BuildOutputTable.tsx:165 +#: src/tables/build/BuildOutputTable.tsx:167 msgid "Scrap selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:175 +#: src/tables/build/BuildOutputTable.tsx:177 msgid "Cancel selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:191 +#: src/tables/build/BuildOutputTable.tsx:193 msgid "Allocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:192 +#: src/tables/build/BuildOutputTable.tsx:194 msgid "Allocate stock to build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:197 +#: src/tables/build/BuildOutputTable.tsx:199 msgid "Deallocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:198 +#: src/tables/build/BuildOutputTable.tsx:200 msgid "Deallocate stock from build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:203 +#: src/tables/build/BuildOutputTable.tsx:205 msgid "Complete" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:204 +#: src/tables/build/BuildOutputTable.tsx:206 msgid "Complete build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:213 +#: src/tables/build/BuildOutputTable.tsx:215 msgid "Scrap" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:214 +#: src/tables/build/BuildOutputTable.tsx:216 msgid "Scrap build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:224 +#: src/tables/build/BuildOutputTable.tsx:226 msgid "Cancel build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:251 +#: src/tables/build/BuildOutputTable.tsx:253 msgid "Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:264 +#: src/tables/build/BuildOutputTable.tsx:266 msgid "Batch" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:278 +#: src/tables/build/BuildOutputTable.tsx:280 msgid "Allocated Items" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:288 +#: src/tables/build/BuildOutputTable.tsx:290 msgid "Required Tests" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:317 -#: src/tables/stock/StockItemTestResultTable.tsx:146 +#: src/tables/build/BuildOutputTable.tsx:319 +#: src/tables/stock/StockItemTestResultTable.tsx:144 msgid "Test Results" msgstr "" @@ -5132,7 +5242,7 @@ msgstr "Editar Dirección" msgid "Delete Address" msgstr "Eliminar Dirección" -#: src/tables/company/AddressTable.tsx:145 +#: src/tables/company/AddressTable.tsx:144 msgid "Are you sure you want to delete this address?" msgstr "¿Estás seguro de que deseas eliminar esta dirección?" @@ -5177,36 +5287,52 @@ msgstr "Eliminar contacto" msgid "Add contact" msgstr "Agregar contacto" -#: src/tables/general/AttachmentTable.tsx:161 +#: src/tables/general/AttachmentTable.tsx:130 msgid "File uploaded" msgstr "Archivo subido" -#: src/tables/general/AttachmentTable.tsx:162 +#: src/tables/general/AttachmentTable.tsx:131 msgid "File {0} uploaded successfully" msgstr "Archivo {0} se subió correctamente" -#: src/tables/general/AttachmentTable.tsx:173 +#: src/tables/general/AttachmentTable.tsx:142 msgid "Upload Error" msgstr "Error al subir" -#: src/tables/general/AttachmentTable.tsx:174 +#: src/tables/general/AttachmentTable.tsx:143 msgid "File could not be uploaded" msgstr "" #: src/tables/general/AttachmentTable.tsx:187 +msgid "Upload Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:197 +msgid "Edit Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:211 +msgid "Delete Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:221 msgid "Add attachment" msgstr "" -#: src/tables/general/AttachmentTable.tsx:207 +#: src/tables/general/AttachmentTable.tsx:232 msgid "Add external link" msgstr "" -#: src/tables/general/AttachmentTable.tsx:239 +#: src/tables/general/AttachmentTable.tsx:254 +#~ msgid "Upload attachment" +#~ msgstr "Upload attachment" + +#: src/tables/general/AttachmentTable.tsx:289 msgid "No attachments found" msgstr "" -#: src/tables/general/AttachmentTable.tsx:254 -msgid "Upload attachment" +#: src/tables/general/AttachmentTable.tsx:325 +msgid "Drag attachment file here to upload" msgstr "" #: src/tables/machine/MachineListTable.tsx:199 @@ -5332,8 +5458,8 @@ msgstr "" #: src/tables/machine/MachineTypeTable.tsx:135 #: src/tables/machine/MachineTypeTable.tsx:255 -#: src/tables/plugin/PluginListTable.tsx:215 -#: src/tables/plugin/PluginListTable.tsx:643 +#: src/tables/plugin/PluginListTable.tsx:180 +#: src/tables/plugin/PluginListTable.tsx:568 msgid "Builtin" msgstr "" @@ -5375,7 +5501,7 @@ msgid "Message" msgstr "" #: src/tables/part/ParametricPartTable.tsx:75 -#: src/tables/part/PartParameterTable.tsx:87 +#: src/tables/part/PartParameterTable.tsx:88 msgid "Internal Units" msgstr "" @@ -5388,29 +5514,29 @@ msgid "Add Part Parameter" msgstr "" #: src/tables/part/ParametricPartTable.tsx:147 -#: src/tables/part/PartParameterTable.tsx:128 -#: src/tables/part/PartParameterTable.tsx:150 +#: src/tables/part/PartParameterTable.tsx:121 +#: src/tables/part/PartParameterTable.tsx:144 msgid "Edit Part Parameter" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:64 +#: src/tables/part/PartCategoryTable.tsx:60 #: src/tables/part/PartTable.tsx:180 msgid "Include Subcategories" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:65 +#: src/tables/part/PartCategoryTable.tsx:61 msgid "Include subcategories in results" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:70 +#: src/tables/part/PartCategoryTable.tsx:66 msgid "Show structural categories" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:77 +#: src/tables/part/PartCategoryTable.tsx:73 msgid "New Part Category" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:106 +#: src/tables/part/PartCategoryTable.tsx:98 msgid "Add Part Category" msgstr "" @@ -5435,20 +5561,20 @@ msgstr "" #~ msgid "[{0}]" #~ msgstr "[{0}]" -#: src/tables/part/PartParameterTable.tsx:112 +#: src/tables/part/PartParameterTable.tsx:105 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:136 -#: src/tables/part/PartParameterTable.tsx:158 +#: src/tables/part/PartParameterTable.tsx:130 +#: src/tables/part/PartParameterTable.tsx:152 msgid "Delete Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:175 +#: src/tables/part/PartParameterTable.tsx:170 msgid "Add parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:196 +#: src/tables/part/PartParameterTable.tsx:191 #: src/tables/stock/StockItemTable.tsx:300 msgid "Include Variants" msgstr "" @@ -5482,15 +5608,15 @@ msgstr "" msgid "Add Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:97 +#: src/tables/part/PartParameterTemplateTable.tsx:100 msgid "Edit Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:105 +#: src/tables/part/PartParameterTemplateTable.tsx:111 msgid "Delete Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:135 +#: src/tables/part/PartParameterTemplateTable.tsx:141 msgid "Add parameter template" msgstr "" @@ -5588,7 +5714,7 @@ msgid "No Results" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:79 -#: src/tables/stock/StockItemTestResultTable.tsx:385 +#: src/tables/stock/StockItemTestResultTable.tsx:376 msgid "Required" msgstr "" @@ -5597,8 +5723,8 @@ msgid "Show required tests" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:84 -#: src/tables/settings/TemplateTable.tsx:213 -#: src/tables/settings/TemplateTable.tsx:275 +#: src/tables/settings/TemplateTable.tsx:160 +#: src/tables/settings/TemplateTable.tsx:270 msgid "Enabled" msgstr "" @@ -5639,26 +5765,30 @@ msgid "Show tests which have recorded results" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:126 -#: src/tables/part/PartTestTemplateTable.tsx:195 +#: src/tables/part/PartTestTemplateTable.tsx:201 msgid "Add Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:139 +#: src/tables/part/PartTestTemplateTable.tsx:142 msgid "Edit Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:147 +#: src/tables/part/PartTestTemplateTable.tsx:153 msgid "Delete Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:149 +#: src/tables/part/PartTestTemplateTable.tsx:155 msgid "This action cannot be reversed" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:151 +#: src/tables/part/PartTestTemplateTable.tsx:157 msgid "Any tests results associated with this template will be deleted" msgstr "" +#: src/tables/part/PartThumbTable.tsx:203 +msgid "Select" +msgstr "" + #: src/tables/part/PartVariantTable.tsx:16 msgid "Show active variants" msgstr "" @@ -5695,252 +5825,273 @@ msgstr "" msgid "Stage" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:113 -msgid "Plugin with id {id} not found" +#: src/tables/plugin/PluginListTable.tsx:95 +msgid "Plugin with key {pluginKey} not found" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:115 +#: src/tables/plugin/PluginListTable.tsx:97 msgid "An error occurred while fetching plugin details" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:134 -msgid "Plugin Actions" -msgstr "" +#: src/tables/plugin/PluginListTable.tsx:113 +#~ msgid "Plugin with id {id} not found" +#~ msgstr "Plugin with id {id} not found" -#: src/tables/plugin/PluginListTable.tsx:138 -#: src/tables/plugin/PluginListTable.tsx:141 -msgid "Edit plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:152 -#: src/tables/plugin/PluginListTable.tsx:153 -msgid "Reload" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:166 +#: src/tables/plugin/PluginListTable.tsx:122 msgid "Plugin information" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:177 +#: src/tables/plugin/PluginListTable.tsx:134 msgid "Author" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:198 +#: src/tables/plugin/PluginListTable.tsx:134 +#~ msgid "Plugin Actions" +#~ msgstr "Plugin Actions" + +#: src/tables/plugin/PluginListTable.tsx:138 +#: src/tables/plugin/PluginListTable.tsx:141 +#~ msgid "Edit plugin" +#~ msgstr "Edit plugin" + +#: src/tables/plugin/PluginListTable.tsx:152 +#: src/tables/plugin/PluginListTable.tsx:153 +#~ msgid "Reload" +#~ msgstr "Reload" + +#: src/tables/plugin/PluginListTable.tsx:154 +msgid "Plugin is not active" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:163 msgid "Package information" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:204 +#: src/tables/plugin/PluginListTable.tsx:169 msgid "Package Name" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:210 +#: src/tables/plugin/PluginListTable.tsx:175 msgid "Installation Path" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:220 +#: src/tables/plugin/PluginListTable.tsx:185 msgid "Package" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:231 +#: src/tables/plugin/PluginListTable.tsx:197 msgid "Plugin settings" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:248 +#: src/tables/plugin/PluginListTable.tsx:214 msgid "Plugin is active" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:254 +#: src/tables/plugin/PluginListTable.tsx:220 msgid "Plugin is inactive" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:261 +#: src/tables/plugin/PluginListTable.tsx:227 msgid "Plugin is not installed" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:287 +#: src/tables/plugin/PluginListTable.tsx:253 msgid "Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:312 +#: src/tables/plugin/PluginListTable.tsx:287 msgid "Description not available" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:338 +#: src/tables/plugin/PluginListTable.tsx:319 +msgid "Confirm plugin activation" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:320 +msgid "Confirm plugin deactivation" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:325 +msgid "The selected plugin will be activated" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:326 +msgid "The selected plugin will be deactivated" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:334 msgid "Activate Plugin" msgstr "" #: src/tables/plugin/PluginListTable.tsx:338 -msgid "Deactivate Plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:347 -msgid "Confirm plugin activation" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:348 -msgid "Confirm plugin deactivation" -msgstr "" +#~ msgid "Deactivate Plugin" +#~ msgstr "Deactivate Plugin" #: src/tables/plugin/PluginListTable.tsx:354 -msgid "The following plugin will be activated" -msgstr "" +#~ msgid "The following plugin will be activated" +#~ msgstr "The following plugin will be activated" #: src/tables/plugin/PluginListTable.tsx:355 -msgid "The following plugin will be deactivated" -msgstr "" +#~ msgid "The following plugin will be deactivated" +#~ msgstr "The following plugin will be deactivated" -#: src/tables/plugin/PluginListTable.tsx:366 -msgid "Confirm" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:376 -msgid "Activating plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:376 -msgid "Deactivating plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:392 -msgid "Plugin updated" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:394 -msgid "The plugin was activated" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:395 -msgid "The plugin was deactivated" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:403 -msgid "Error updating plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:423 +#: src/tables/plugin/PluginListTable.tsx:362 msgid "Deactivate" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:432 +#: src/tables/plugin/PluginListTable.tsx:366 +#~ msgid "Confirm" +#~ msgstr "Confirm" + +#: src/tables/plugin/PluginListTable.tsx:373 msgid "Activate" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:463 +#: src/tables/plugin/PluginListTable.tsx:376 +#~ msgid "Activating plugin" +#~ msgstr "Activating plugin" + +#: src/tables/plugin/PluginListTable.tsx:376 +#~ msgid "Deactivating plugin" +#~ msgstr "Deactivating plugin" + +#: src/tables/plugin/PluginListTable.tsx:392 +#~ msgid "Plugin updated" +#~ msgstr "Plugin updated" + +#: src/tables/plugin/PluginListTable.tsx:394 +#~ msgid "The plugin was activated" +#~ msgstr "The plugin was activated" + +#: src/tables/plugin/PluginListTable.tsx:395 +#~ msgid "The plugin was deactivated" +#~ msgstr "The plugin was deactivated" + +#: src/tables/plugin/PluginListTable.tsx:403 +#~ msgid "Error updating plugin" +#~ msgstr "Error updating plugin" + +#: src/tables/plugin/PluginListTable.tsx:406 msgid "Uninstall" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:495 +#: src/tables/plugin/PluginListTable.tsx:438 msgid "Install plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:508 +#: src/tables/plugin/PluginListTable.tsx:451 msgid "Install" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:512 +#: src/tables/plugin/PluginListTable.tsx:452 msgid "Plugin installed successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:525 +#: src/tables/plugin/PluginListTable.tsx:457 msgid "Uninstall Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:537 +#: src/tables/plugin/PluginListTable.tsx:469 msgid "Confirm plugin uninstall" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:540 +#: src/tables/plugin/PluginListTable.tsx:472 msgid "The selected plugin will be uninstalled." msgstr "" -#: src/tables/plugin/PluginListTable.tsx:541 +#: src/tables/plugin/PluginListTable.tsx:473 msgid "This action cannot be undone." msgstr "" -#: src/tables/plugin/PluginListTable.tsx:547 +#: src/tables/plugin/PluginListTable.tsx:477 msgid "Plugin uninstalled successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:560 +#: src/tables/plugin/PluginListTable.tsx:484 msgid "Delete Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:562 +#: src/tables/plugin/PluginListTable.tsx:485 msgid "Deleting this plugin configuration will remove all associated settings and data. Are you sure you want to delete this plugin?" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:574 +#: src/tables/plugin/PluginListTable.tsx:498 msgid "Plugins reloaded" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:575 +#: src/tables/plugin/PluginListTable.tsx:499 msgid "Plugins were reloaded successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:591 +#: src/tables/plugin/PluginListTable.tsx:515 msgid "Reload Plugins" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:600 +#: src/tables/plugin/PluginListTable.tsx:524 msgid "Install Plugin" msgstr "" +#: src/tables/plugin/PluginListTable.tsx:544 +msgid "Plugin Detail" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:573 +msgid "Sample" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:578 +#: src/tables/stock/StockItemTable.tsx:305 +msgid "Installed" +msgstr "" + #: src/tables/plugin/PluginListTable.tsx:615 #~ msgid "Plugin detail" #~ msgstr "Plugin detail" -#: src/tables/plugin/PluginListTable.tsx:619 -msgid "Plugin Detail" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:648 -msgid "Sample" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:653 -#: src/tables/stock/StockItemTable.tsx:305 -msgid "Installed" -msgstr "" - -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:57 -msgid "Edit Parameter" +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:59 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:108 +msgid "Add Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:60 -msgid "Parameter updated" -msgstr "" +#~ msgid "Parameter updated" +#~ msgstr "Parameter updated" -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:71 -msgid "Delete Parameter" +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:70 +msgid "Edit Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:73 -msgid "Parameter deleted" -msgstr "" +#~ msgid "Parameter deleted" +#~ msgstr "Parameter deleted" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:74 -msgid "Are you sure you want to delete this parameter?" +#~ msgid "Are you sure you want to delete this parameter?" +#~ msgstr "Are you sure you want to delete this parameter?" + +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:78 +msgid "Delete Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartTable.tsx:63 #~ msgid "Create Manufacturer Part" #~ msgstr "Create Manufacturer Part" -#: src/tables/purchasing/ManufacturerPartTable.tsx:100 -msgid "Manufacturer part updated" -msgstr "" - -#: src/tables/purchasing/ManufacturerPartTable.tsx:111 +#: src/tables/purchasing/ManufacturerPartTable.tsx:92 msgid "Delete Manufacturer Part" msgstr "" +#: src/tables/purchasing/ManufacturerPartTable.tsx:100 +#~ msgid "Manufacturer part updated" +#~ msgstr "Manufacturer part updated" + #: src/tables/purchasing/ManufacturerPartTable.tsx:112 -msgid "Manufacturer part deleted" -msgstr "" +#~ msgid "Manufacturer part deleted" +#~ msgstr "Manufacturer part deleted" #: src/tables/purchasing/ManufacturerPartTable.tsx:114 -msgid "Are you sure you want to remove this manufacturer part?" -msgstr "" +#~ msgid "Are you sure you want to remove this manufacturer part?" +#~ msgstr "Are you sure you want to remove this manufacturer part?" #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:86 msgid "Part Description" @@ -6087,18 +6238,22 @@ msgid "Error Information" msgstr "" #: src/tables/settings/ErrorTable.tsx:51 -msgid "Delete error report" +msgid "Delete Error Report" msgstr "" +#: src/tables/settings/ErrorTable.tsx:51 +#~ msgid "Delete error report" +#~ msgstr "Delete error report" + #: src/tables/settings/ErrorTable.tsx:53 -msgid "Error report deleted" -msgstr "" - -#: src/tables/settings/ErrorTable.tsx:54 msgid "Are you sure you want to delete this error report?" msgstr "" -#: src/tables/settings/ErrorTable.tsx:67 +#: src/tables/settings/ErrorTable.tsx:55 +msgid "Error report deleted" +msgstr "" + +#: src/tables/settings/ErrorTable.tsx:77 #: src/tables/settings/FailedTasksTable.tsx:57 msgid "Error Details" msgstr "" @@ -6115,7 +6270,7 @@ msgid "Task ID" msgstr "" #: src/tables/settings/FailedTasksTable.tsx:34 -#: src/tables/stock/StockItemTestResultTable.tsx:214 +#: src/tables/stock/StockItemTestResultTable.tsx:205 msgid "Started" msgstr "" @@ -6188,30 +6343,71 @@ msgstr "" msgid "Next Run" msgstr "" -#: src/tables/settings/TemplateTable.tsx:120 -msgid "{templateTypeTranslation} with id {id} not found" +#: src/tables/settings/TemplateTable.tsx:82 +msgid "Template not found" msgstr "" +#: src/tables/settings/TemplateTable.tsx:84 +msgid "An error occurred while fetching template details" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:120 +#~ msgid "{templateTypeTranslation} with id {id} not found" +#~ msgstr "{templateTypeTranslation} with id {id} not found" + #: src/tables/settings/TemplateTable.tsx:124 -msgid "An error occurred while fetching {templateTypeTranslation} details" -msgstr "" +#~ msgid "An error occurred while fetching {templateTypeTranslation} details" +#~ msgstr "An error occurred while fetching {templateTypeTranslation} details" #: src/tables/settings/TemplateTable.tsx:146 -msgid "actions" +#~ msgid "actions" +#~ msgstr "actions" + +#: src/tables/settings/TemplateTable.tsx:170 +msgid "Modify" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:171 +msgid "Modify template file" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:222 +#: src/tables/settings/TemplateTable.tsx:289 +msgid "Edit Template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:230 +msgid "Delete template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:236 +msgid "Add Template" msgstr "" #: src/tables/settings/TemplateTable.tsx:243 -msgid "Add new" -msgstr "" +#~ msgid "Add new" +#~ msgstr "Add new" #: src/tables/settings/TemplateTable.tsx:243 #~ msgid "Create new" #~ msgstr "Create new" -#: src/tables/settings/TemplateTable.tsx:276 +#: src/tables/settings/TemplateTable.tsx:249 +msgid "Add template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:271 msgid "Filter by enabled status" msgstr "" +#: src/tables/settings/TemplateTable.tsx:276 +msgid "Model Type" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:277 +msgid "Filter by target model type" +msgstr "" + #: src/tables/settings/UserTable.tsx:79 msgid "User with id {id} not found" msgstr "" @@ -6277,6 +6473,23 @@ msgstr "Usuario agregado" msgid "Edit user" msgstr "Editar usuario" +#: src/tables/stock/LocationTypesTable.tsx:36 +#: src/tables/stock/LocationTypesTable.tsx:105 +msgid "Add Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:44 +msgid "Edit Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:52 +msgid "Delete Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:69 +msgid "Icon" +msgstr "" + #: src/tables/stock/StockItemTable.tsx:90 msgid "This stock item is in production" msgstr "" @@ -6338,7 +6551,7 @@ msgid "Show items which are available" msgstr "" #: src/tables/stock/StockItemTable.tsx:280 -#: src/tables/stock/StockLocationTable.tsx:37 +#: src/tables/stock/StockLocationTable.tsx:33 msgid "Include Sublocations" msgstr "" @@ -6467,123 +6680,135 @@ msgstr "" msgid "Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:153 +#: src/tables/stock/StockItemTestResultTable.tsx:151 msgid "Test result for installed stock item" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:164 +#: src/tables/stock/StockItemTestResultTable.tsx:162 msgid "Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:170 +#: src/tables/stock/StockItemTestResultTable.tsx:168 msgid "No Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:186 +#: src/tables/stock/StockItemTestResultTable.tsx:184 msgid "Attachment" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:209 +#: src/tables/stock/StockItemTestResultTable.tsx:200 msgid "Test station" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:229 +#: src/tables/stock/StockItemTestResultTable.tsx:220 msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:277 -#: src/tables/stock/StockItemTestResultTable.tsx:349 -#: src/tables/stock/StockItemTestResultTable.tsx:404 +#: src/tables/stock/StockItemTestResultTable.tsx:268 +#: src/tables/stock/StockItemTestResultTable.tsx:340 +#: src/tables/stock/StockItemTestResultTable.tsx:395 msgid "Add Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:279 +#: src/tables/stock/StockItemTestResultTable.tsx:270 msgid "Test result added" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:288 -#: src/tables/stock/StockItemTestResultTable.tsx:359 +#: src/tables/stock/StockItemTestResultTable.tsx:279 +#: src/tables/stock/StockItemTestResultTable.tsx:350 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:290 +#: src/tables/stock/StockItemTestResultTable.tsx:281 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:296 -#: src/tables/stock/StockItemTestResultTable.tsx:368 +#: src/tables/stock/StockItemTestResultTable.tsx:287 +#: src/tables/stock/StockItemTestResultTable.tsx:359 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:298 +#: src/tables/stock/StockItemTestResultTable.tsx:289 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:312 +#: src/tables/stock/StockItemTestResultTable.tsx:303 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:313 +#: src/tables/stock/StockItemTestResultTable.tsx:304 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:320 +#: src/tables/stock/StockItemTestResultTable.tsx:311 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:337 +#: src/tables/stock/StockItemTestResultTable.tsx:328 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:386 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:390 +#: src/tables/stock/StockItemTestResultTable.tsx:381 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:391 +#: src/tables/stock/StockItemTestResultTable.tsx:382 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:395 +#: src/tables/stock/StockItemTestResultTable.tsx:386 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:396 +#: src/tables/stock/StockItemTestResultTable.tsx:387 msgid "Show only passed tests" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:38 +#: src/tables/stock/StockLocationTable.tsx:34 msgid "Include sublocations in results" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:42 +#: src/tables/stock/StockLocationTable.tsx:38 msgid "structural" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:43 +#: src/tables/stock/StockLocationTable.tsx:39 msgid "Show structural locations" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:47 +#: src/tables/stock/StockLocationTable.tsx:43 msgid "external" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:48 +#: src/tables/stock/StockLocationTable.tsx:44 msgid "Show external locations" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:52 +#: src/tables/stock/StockLocationTable.tsx:48 msgid "Has location type" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:89 -#: src/tables/stock/StockLocationTable.tsx:118 +#: src/tables/stock/StockLocationTable.tsx:85 +#: src/tables/stock/StockLocationTable.tsx:110 msgid "Add Stock Location" msgstr "" +#: src/tables/stock/StockTrackingTable.tsx:64 +msgid "Added" +msgstr "" + +#: src/tables/stock/StockTrackingTable.tsx:69 +msgid "Removed" +msgstr "" + +#: src/tables/stock/StockTrackingTable.tsx:198 +msgid "No user information" +msgstr "" + #: src/views/MobileAppView.tsx:22 msgid "Mobile viewport detected" msgstr "" diff --git a/src/frontend/src/locales/fa/messages.po b/src/frontend/src/locales/fa/messages.po index 412c680cb5..7631759300 100644 --- a/src/frontend/src/locales/fa/messages.po +++ b/src/frontend/src/locales/fa/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: fa\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-05-13 02:48\n" +"PO-Revision-Date: 2024-05-23 11:39\n" "Last-Translator: \n" "Language-Team: Persian\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -30,10 +30,67 @@ msgstr "" msgid "Title" msgstr "" +#: src/components/buttons/AdminButton.tsx:83 +msgid "Open in admin interface" +msgstr "" + #: src/components/buttons/CopyButton.tsx:18 msgid "Copy to clipboard" msgstr "" +#: src/components/buttons/PrintingActions.tsx:95 +msgid "Print Label" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:101 +msgid "Label printing completed successfully" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:106 +#: src/components/buttons/PrintingActions.tsx:143 +#: src/components/forms/ApiForm.tsx:504 +#: src/components/forms/fields/ApiFormField.tsx:295 +#: src/components/modals/LicenseModal.tsx:75 +#: src/components/nav/SearchDrawer.tsx:413 +#: src/components/widgets/MarkdownEditor.tsx:107 +#: src/components/widgets/MarkdownEditor.tsx:153 +#: src/pages/ErrorPage.tsx:12 +#: src/pages/ErrorPage.tsx:25 +#: src/pages/part/PartPricingPanel.tsx:71 +#: src/tables/InvenTreeTable.tsx:451 +#: src/tables/InvenTreeTable.tsx:531 +#: src/tables/stock/StockItemTestResultTable.tsx:310 +msgid "Error" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:107 +msgid "The label could not be generated" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:122 +msgid "Print Report" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:138 +msgid "Report printing completed successfully" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:144 +msgid "The report could not be generated" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:171 +msgid "Printing Actions" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:176 +msgid "Print Labels" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:182 +msgid "Print Reports" +msgstr "" + #: src/components/buttons/ScanButton.tsx:15 msgid "Scan QR code" msgstr "" @@ -64,15 +121,15 @@ msgstr "" msgid "No" msgstr "" -#: src/components/details/Details.tsx:302 +#: src/components/details/Details.tsx:303 msgid "No name defined" msgstr "" -#: src/components/details/Details.tsx:339 +#: src/components/details/Details.tsx:340 msgid "Copied" msgstr "" -#: src/components/details/Details.tsx:339 +#: src/components/details/Details.tsx:340 msgid "Copy" msgstr "" @@ -85,24 +142,23 @@ msgid "Remove the associated image from this item?" msgstr "" #: src/components/details/DetailsImage.tsx:71 -#: src/forms/StockForms.tsx:442 +#: src/forms/StockForms.tsx:483 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:448 +#: src/pages/stock/StockDetail.tsx:462 msgid "Remove" msgstr "" #: src/components/details/DetailsImage.tsx:71 -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:163 -#: src/components/items/ActionDropdown.tsx:222 -#: src/components/items/ActionDropdown.tsx:223 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 +#: src/components/items/ActionDropdown.tsx:229 +#: src/components/items/ActionDropdown.tsx:230 #: src/contexts/ThemeContext.tsx:43 #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:40 -#: src/tables/FilterSelectDrawer.tsx:218 -#: src/tables/InvenTreeTable.tsx:493 -#: src/tables/build/BuildOutputTable.tsx:223 -#: src/tables/plugin/PluginListTable.tsx:365 +#: src/tables/FilterSelectDrawer.tsx:207 +#: src/tables/InvenTreeTable.tsx:499 +#: src/tables/build/BuildOutputTable.tsx:225 msgid "Cancel" msgstr "" @@ -119,7 +175,7 @@ msgid "Clear" msgstr "" #: src/components/details/DetailsImage.tsx:227 -#: src/components/forms/ApiForm.tsx:554 +#: src/components/forms/ApiForm.tsx:571 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:56 msgid "Submit" @@ -150,9 +206,10 @@ msgid "Part is not active" msgstr "" #: src/components/details/PartIcons.tsx:34 -#: src/pages/company/CompanyDetail.tsx:308 -#: src/pages/company/SupplierPartDetail.tsx:304 -#: src/pages/part/PartDetail.tsx:684 +#: src/components/render/Plugin.tsx:17 +#: src/pages/company/CompanyDetail.tsx:310 +#: src/pages/company/SupplierPartDetail.tsx:305 +#: src/pages/part/PartDetail.tsx:685 msgid "Inactive" msgstr "" @@ -196,10 +253,10 @@ msgid "Code" msgstr "" #: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:44 -msgid "Failed to parse error response from server." -msgstr "" +#~ msgid "Failed to parse error response from server." +#~ msgstr "Failed to parse error response from server." -#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:82 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:81 msgid "Preview not available, click \"Reload Preview\"." msgstr "" @@ -207,98 +264,99 @@ msgstr "" msgid "PDF Preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:113 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:104 msgid "Error loading template" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:125 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:116 msgid "Error saving template" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 -msgid "Save & Reload preview?" +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:146 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:270 +msgid "Save & Reload Preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:156 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 msgid "Are you sure you want to Save & Reload the preview?" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 +#~ msgid "Save & Reload preview?" +#~ msgstr "Save & Reload preview?" + +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:153 msgid "To render the preview the current template needs to be replaced on the server with your modifications which may break the label if it is under active use. Do you want to proceed?" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:162 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:157 msgid "Save & Reload" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:191 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:189 msgid "Preview updated" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:192 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:190 msgid "The preview has been updated successfully." msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:255 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:262 msgid "Reload preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:256 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:263 msgid "Use the currently stored template from the server" msgstr "" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:263 -msgid "Save & Reload preview" -msgstr "" +#~ msgid "Save & Reload preview" +#~ msgstr "Save & Reload preview" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:264 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:271 msgid "Save the current template and reload the preview" msgstr "" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:322 -#: src/tables/part/PartThumbTable.tsx:203 -msgid "Select" +#~ msgid "to preview" +#~ msgstr "to preview" + +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:329 +msgid "Select instance to preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:322 -msgid "to preview" -msgstr "" - -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:366 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:373 msgid "Error rendering template" msgstr "" -#: src/components/forms/ApiForm.tsx:143 +#: src/components/forms/ApiForm.tsx:148 #: src/functions/forms.tsx:259 msgid "Form Error" msgstr "" -#: src/components/forms/ApiForm.tsx:411 +#: src/components/forms/ApiForm.tsx:428 #: src/components/widgets/MarkdownEditor.tsx:145 msgid "Success" msgstr "" #: src/components/forms/ApiForm.tsx:487 -msgid "Form Errors Exist" -msgstr "" +#~ msgid "Form Errors Exist" +#~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:592 -#: src/tables/plugin/PluginListTable.tsx:445 +#: src/components/forms/ApiForm.tsx:609 +#: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "" -#: src/components/forms/ApiForm.tsx:612 -#: src/components/items/ActionDropdown.tsx:203 +#: src/components/forms/ApiForm.tsx:629 +#: src/components/items/ActionDropdown.tsx:210 #: src/functions/forms.tsx:299 #: src/hooks/UseForm.tsx:122 #: src/pages/Index/Scan.tsx:343 #: src/pages/Notifications.tsx:123 -#: src/tables/InvenTreeTable.tsx:492 +#: src/tables/InvenTreeTable.tsx:498 #: src/tables/RowActions.tsx:71 -#: src/tables/plugin/PluginListTable.tsx:477 -#: src/tables/settings/TemplateTable.tsx:105 -#: src/tables/settings/TemplateTable.tsx:154 -#: src/tables/settings/TemplateTable.tsx:236 +#: src/tables/plugin/PluginListTable.tsx:420 msgid "Delete" msgstr "" @@ -468,18 +526,19 @@ msgstr "" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 -#: src/pages/part/CategoryDetail.tsx:77 -#: src/pages/part/PartDetail.tsx:125 -#: src/pages/stock/LocationDetail.tsx:83 +#: src/pages/part/CategoryDetail.tsx:78 +#: src/pages/part/PartDetail.tsx:126 +#: src/pages/stock/LocationDetail.tsx:85 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 #: src/tables/machine/MachineTypeTable.tsx:216 #: src/tables/machine/MachineTypeTable.tsx:319 #: src/tables/plugin/PluginErrorTable.tsx:33 -#: src/tables/plugin/PluginListTable.tsx:169 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:27 +#: src/tables/plugin/PluginListTable.tsx:126 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:32 #: src/tables/settings/GroupTable.tsx:103 #: src/tables/settings/PendingTasksTable.tsx:26 +#: src/tables/stock/LocationTypesTable.tsx:60 msgid "Name" msgstr "" @@ -520,35 +579,20 @@ msgstr "" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/ApiFormField.tsx:276 -#: src/components/modals/LicenseModal.tsx:75 -#: src/components/nav/SearchDrawer.tsx:413 -#: src/components/widgets/MarkdownEditor.tsx:107 -#: src/components/widgets/MarkdownEditor.tsx:153 -#: src/pages/ErrorPage.tsx:12 -#: src/pages/ErrorPage.tsx:25 -#: src/pages/part/PartPricingPanel.tsx:71 -#: src/tables/InvenTreeTable.tsx:445 -#: src/tables/InvenTreeTable.tsx:525 -#: src/tables/plugin/PluginListTable.tsx:402 -#: src/tables/stock/StockItemTestResultTable.tsx:319 -msgid "Error" -msgstr "" - -#: src/components/forms/fields/RelatedModelField.tsx:305 +#: src/components/forms/fields/RelatedModelField.tsx:315 #: src/pages/Index/Settings/UserSettings.tsx:64 #: src/tables/Search.tsx:23 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:306 +#: src/components/forms/fields/RelatedModelField.tsx:316 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:120 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:308 +#: src/components/forms/fields/RelatedModelField.tsx:318 msgid "No results found" msgstr "" @@ -569,54 +613,51 @@ msgstr "" msgid "Thumbnail" msgstr "" -#: src/components/items/ActionDropdown.tsx:112 -#: src/pages/build/BuildDetail.tsx:354 +#: src/components/items/ActionDropdown.tsx:119 +#: src/pages/build/BuildDetail.tsx:360 msgid "Barcode Actions" msgstr "" -#: src/components/items/ActionDropdown.tsx:129 +#: src/components/items/ActionDropdown.tsx:136 msgid "View" msgstr "" -#: src/components/items/ActionDropdown.tsx:130 +#: src/components/items/ActionDropdown.tsx:137 msgid "View barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:146 +#: src/components/items/ActionDropdown.tsx:153 msgid "Link Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:147 +#: src/components/items/ActionDropdown.tsx:154 msgid "Link custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:163 -#: src/forms/PurchaseOrderForms.tsx:375 +#: src/components/items/ActionDropdown.tsx:170 +#: src/forms/PurchaseOrderForms.tsx:389 msgid "Unlink Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:164 +#: src/components/items/ActionDropdown.tsx:171 msgid "Unlink custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:182 +#: src/components/items/ActionDropdown.tsx:189 #: src/tables/RowActions.tsx:51 -#: src/tables/settings/TemplateTable.tsx:87 -#: src/tables/settings/TemplateTable.tsx:150 -#: src/tables/settings/TemplateTable.tsx:287 msgid "Edit" msgstr "" -#: src/components/items/ActionDropdown.tsx:204 +#: src/components/items/ActionDropdown.tsx:211 msgid "Delete item" msgstr "" -#: src/components/items/ActionDropdown.tsx:241 +#: src/components/items/ActionDropdown.tsx:248 #: src/tables/RowActions.tsx:31 msgid "Duplicate" msgstr "" -#: src/components/items/ActionDropdown.tsx:242 +#: src/components/items/ActionDropdown.tsx:249 msgid "Duplicate item" msgstr "" @@ -625,7 +666,7 @@ msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:437 +#: src/tables/InvenTreeTable.tsx:443 msgid "Unknown error" msgstr "" @@ -785,27 +826,27 @@ msgstr "" #: src/components/modals/QrCodeModal.tsx:154 #: src/defaults/menuItems.tsx:21 -#: src/pages/Index/Scan.tsx:747 +#: src/pages/Index/Scan.tsx:746 msgid "Scanning" msgstr "" #: src/components/modals/QrCodeModal.tsx:154 -#: src/pages/Index/Scan.tsx:747 +#: src/pages/Index/Scan.tsx:746 msgid "Not scanning" msgstr "" #: src/components/modals/QrCodeModal.tsx:159 -#: src/pages/Index/Scan.tsx:753 +#: src/pages/Index/Scan.tsx:752 msgid "Select Camera" msgstr "" #: src/components/modals/QrCodeModal.tsx:169 -#: src/pages/Index/Scan.tsx:738 +#: src/pages/Index/Scan.tsx:737 msgid "Start scanning" msgstr "" #: src/components/modals/QrCodeModal.tsx:176 -#: src/pages/Index/Scan.tsx:730 +#: src/pages/Index/Scan.tsx:729 msgid "Stop scanning" msgstr "" @@ -891,8 +932,8 @@ msgid "Email settings not configured" msgstr "" #: src/components/modals/ServerInfoModal.tsx:121 -#: src/tables/plugin/PluginListTable.tsx:187 -#: src/tables/plugin/PluginListTable.tsx:319 +#: src/tables/plugin/PluginListTable.tsx:144 +#: src/tables/plugin/PluginListTable.tsx:294 msgid "Version" msgstr "" @@ -926,13 +967,13 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:293 +#: src/pages/Index/Settings/SystemSettings.tsx:294 msgid "System Settings" msgstr "" #: src/components/nav/MainMenu.tsx:67 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:172 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 msgid "Admin Center" msgstr "" @@ -975,7 +1016,7 @@ msgid "Pages" msgstr "" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:133 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:153 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "" @@ -1013,9 +1054,9 @@ msgid "Mark as read" msgstr "" #: src/components/nav/PartCategoryTree.tsx:158 -#: src/components/render/ModelType.tsx:60 +#: src/components/render/ModelType.tsx:64 #: src/pages/Index/Settings/SystemSettings.tsx:162 -#: src/pages/part/CategoryDetail.tsx:248 +#: src/pages/part/CategoryDetail.tsx:249 msgid "Part Categories" msgstr "" @@ -1052,142 +1093,147 @@ msgid "No results available for search query" msgstr "" #: src/components/nav/StockLocationTree.tsx:93 -#: src/components/render/ModelType.tsx:76 -#: src/pages/stock/LocationDetail.tsx:175 +#: src/components/render/ModelType.tsx:82 +#: src/pages/stock/LocationDetail.tsx:185 msgid "Stock Locations" msgstr "" -#: src/components/render/Instance.tsx:137 +#: src/components/render/Instance.tsx:166 msgid "Unknown model: {model}" msgstr "" -#: src/components/render/ModelType.tsx:21 -#: src/forms/BuildForms.tsx:184 -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49 +#: src/components/render/ModelType.tsx:22 +#: src/forms/BuildForms.tsx:201 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:83 #: src/pages/part/PartDetail.tsx:828 #: src/tables/part/RelatedPartTable.tsx:45 +#: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" msgstr "" -#: src/components/render/ModelType.tsx:22 +#: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 #: src/pages/Index/Settings/SystemSettings.tsx:167 -#: src/pages/part/CategoryDetail.tsx:109 -#: src/pages/part/CategoryDetail.tsx:234 -#: src/pages/part/CategoryDetail.tsx:264 -#: src/pages/part/PartDetail.tsx:638 +#: src/pages/part/CategoryDetail.tsx:110 +#: src/pages/part/CategoryDetail.tsx:235 +#: src/pages/part/CategoryDetail.tsx:265 +#: src/pages/part/PartDetail.tsx:639 msgid "Parts" msgstr "" -#: src/components/render/ModelType.tsx:29 +#: src/components/render/ModelType.tsx:31 msgid "Part Parameter Template" msgstr "" -#: src/components/render/ModelType.tsx:30 +#: src/components/render/ModelType.tsx:32 msgid "Part Parameter Templates" msgstr "" -#: src/components/render/ModelType.tsx:36 +#: src/components/render/ModelType.tsx:38 msgid "Part Test Template" msgstr "" -#: src/components/render/ModelType.tsx:37 +#: src/components/render/ModelType.tsx:39 msgid "Part Test Templates" msgstr "" -#: src/components/render/ModelType.tsx:43 -#: src/pages/company/SupplierPartDetail.tsx:189 -#: src/pages/company/SupplierPartDetail.tsx:317 -#: src/pages/stock/StockDetail.tsx:159 +#: src/components/render/ModelType.tsx:45 +#: src/pages/company/SupplierPartDetail.tsx:190 +#: src/pages/company/SupplierPartDetail.tsx:318 +#: src/pages/stock/StockDetail.tsx:162 #: src/tables/purchasing/SupplierPartTable.tsx:68 msgid "Supplier Part" msgstr "" -#: src/components/render/ModelType.tsx:44 +#: src/components/render/ModelType.tsx:46 msgid "Supplier Parts" msgstr "" -#: src/components/render/ModelType.tsx:51 -#: src/pages/company/ManufacturerPartDetail.tsx:124 +#: src/components/render/ModelType.tsx:54 +#: src/pages/company/ManufacturerPartDetail.tsx:125 msgid "Manufacturer Part" msgstr "" -#: src/components/render/ModelType.tsx:52 +#: src/components/render/ModelType.tsx:55 msgid "Manufacturer Parts" msgstr "" -#: src/components/render/ModelType.tsx:59 -#: src/pages/part/CategoryDetail.tsx:287 +#: src/components/render/ModelType.tsx:63 +#: src/pages/part/CategoryDetail.tsx:288 msgid "Part Category" msgstr "" -#: src/components/render/ModelType.tsx:67 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67 -#: src/pages/stock/StockDetail.tsx:535 +#: src/components/render/ModelType.tsx:72 +#: src/pages/stock/StockDetail.tsx:548 +#: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" msgstr "" -#: src/components/render/ModelType.tsx:68 -#: src/pages/company/CompanyDetail.tsx:197 -#: src/pages/stock/LocationDetail.tsx:116 -#: src/pages/stock/LocationDetail.tsx:161 +#: src/components/render/ModelType.tsx:73 +#: src/pages/company/CompanyDetail.tsx:199 +#: src/pages/stock/LocationDetail.tsx:118 +#: src/pages/stock/LocationDetail.tsx:171 #: src/pages/stock/LocationDetail.tsx:365 msgid "Stock Items" msgstr "" -#: src/components/render/ModelType.tsx:75 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:154 +#: src/components/render/ModelType.tsx:81 msgid "Stock Location" msgstr "" -#: src/components/render/ModelType.tsx:83 +#: src/components/render/ModelType.tsx:90 +msgid "Stock Location Type" +msgstr "" + +#: src/components/render/ModelType.tsx:91 +msgid "Stock Location Types" +msgstr "" + +#: src/components/render/ModelType.tsx:95 msgid "Stock History" msgstr "" -#: src/components/render/ModelType.tsx:84 +#: src/components/render/ModelType.tsx:96 msgid "Stock Histories" msgstr "" -#: src/components/render/ModelType.tsx:88 +#: src/components/render/ModelType.tsx:100 #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:43 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:126 msgid "Build" msgstr "" -#: src/components/render/ModelType.tsx:89 +#: src/components/render/ModelType.tsx:101 msgid "Builds" msgstr "" -#: src/components/render/ModelType.tsx:96 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:76 +#: src/components/render/ModelType.tsx:109 msgid "Build Line" msgstr "" -#: src/components/render/ModelType.tsx:97 +#: src/components/render/ModelType.tsx:110 msgid "Build Lines" msgstr "" -#: src/components/render/ModelType.tsx:104 -#: src/pages/company/CompanyDetail.tsx:321 +#: src/components/render/ModelType.tsx:117 +#: src/pages/company/CompanyDetail.tsx:323 msgid "Company" msgstr "" -#: src/components/render/ModelType.tsx:105 +#: src/components/render/ModelType.tsx:118 msgid "Companies" msgstr "" -#: src/components/render/ModelType.tsx:112 +#: src/components/render/ModelType.tsx:126 #: src/tables/TableHoverCard.tsx:58 #: src/tables/build/BuildOrderTable.tsx:131 #: src/tables/purchasing/PurchaseOrderTable.tsx:64 @@ -1196,170 +1242,199 @@ msgstr "" msgid "Project Code" msgstr "" -#: src/components/render/ModelType.tsx:113 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:97 +#: src/components/render/ModelType.tsx:127 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:105 msgid "Project Codes" msgstr "" -#: src/components/render/ModelType.tsx:119 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99 +#: src/components/render/ModelType.tsx:133 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:355 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:362 +#: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" msgstr "" -#: src/components/render/ModelType.tsx:120 -#: src/pages/Index/Settings/SystemSettings.tsx:242 -#: src/pages/company/CompanyDetail.tsx:190 -#: src/pages/company/SupplierPartDetail.tsx:223 -#: src/pages/part/PartDetail.tsx:571 +#: src/components/render/ModelType.tsx:134 +#: src/pages/Index/Settings/SystemSettings.tsx:243 +#: src/pages/company/CompanyDetail.tsx:192 +#: src/pages/company/SupplierPartDetail.tsx:224 +#: src/pages/part/PartDetail.tsx:572 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" -#: src/components/render/ModelType.tsx:127 +#: src/components/render/ModelType.tsx:142 msgid "Purchase Order Line" msgstr "" -#: src/components/render/ModelType.tsx:128 +#: src/components/render/ModelType.tsx:143 msgid "Purchase Order Lines" msgstr "" -#: src/components/render/ModelType.tsx:132 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:108 +#: src/components/render/ModelType.tsx:147 #: src/pages/build/BuildDetail.tsx:131 -#: src/pages/sales/SalesOrderDetail.tsx:340 -#: src/pages/stock/StockDetail.tsx:207 +#: src/pages/sales/SalesOrderDetail.tsx:347 +#: src/pages/stock/StockDetail.tsx:210 +#: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" msgstr "" -#: src/components/render/ModelType.tsx:133 -#: src/pages/Index/Settings/SystemSettings.tsx:257 -#: src/pages/company/CompanyDetail.tsx:210 -#: src/pages/part/PartDetail.tsx:577 +#: src/components/render/ModelType.tsx:148 +#: src/pages/Index/Settings/SystemSettings.tsx:258 +#: src/pages/company/CompanyDetail.tsx:212 +#: src/pages/part/PartDetail.tsx:578 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" -#: src/components/render/ModelType.tsx:140 +#: src/components/render/ModelType.tsx:156 msgid "Sales Order Shipment" msgstr "" -#: src/components/render/ModelType.tsx:141 +#: src/components/render/ModelType.tsx:157 msgid "Sales Order Shipments" msgstr "" -#: src/components/render/ModelType.tsx:147 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:117 -#: src/pages/sales/ReturnOrderDetail.tsx:318 +#: src/components/render/ModelType.tsx:163 +#: src/pages/sales/ReturnOrderDetail.tsx:325 +#: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "" -#: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:272 -#: src/pages/company/CompanyDetail.tsx:217 +#: src/components/render/ModelType.tsx:164 +#: src/pages/Index/Settings/SystemSettings.tsx:273 +#: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" msgstr "" -#: src/components/render/ModelType.tsx:155 +#: src/components/render/ModelType.tsx:172 #: src/tables/company/AddressTable.tsx:47 msgid "Address" msgstr "" -#: src/components/render/ModelType.tsx:156 -#: src/pages/company/CompanyDetail.tsx:247 +#: src/components/render/ModelType.tsx:173 +#: src/pages/company/CompanyDetail.tsx:249 msgid "Addresses" msgstr "" -#: src/components/render/ModelType.tsx:162 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:189 -#: src/pages/sales/ReturnOrderDetail.tsx:157 -#: src/pages/sales/SalesOrderDetail.tsx:161 +#: src/components/render/ModelType.tsx:179 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:191 +#: src/pages/sales/ReturnOrderDetail.tsx:159 +#: src/pages/sales/SalesOrderDetail.tsx:163 msgid "Contact" msgstr "" -#: src/components/render/ModelType.tsx:163 -#: src/pages/company/CompanyDetail.tsx:241 +#: src/components/render/ModelType.tsx:180 +#: src/pages/company/CompanyDetail.tsx:243 msgid "Contacts" msgstr "" -#: src/components/render/ModelType.tsx:169 +#: src/components/render/ModelType.tsx:186 msgid "Owner" msgstr "" -#: src/components/render/ModelType.tsx:170 +#: src/components/render/ModelType.tsx:187 msgid "Owners" msgstr "" -#: src/components/render/ModelType.tsx:176 +#: src/components/render/ModelType.tsx:193 +#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "" -#: src/components/render/ModelType.tsx:177 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:73 +#: src/components/render/ModelType.tsx:194 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:81 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "" -#: src/components/render/Order.tsx:87 +#: src/components/render/ModelType.tsx:200 +msgid "Label Template" +msgstr "" + +#: src/components/render/ModelType.tsx:201 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:135 +msgid "Label Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:207 +msgid "Report Template" +msgstr "" + +#: src/components/render/ModelType.tsx:208 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:141 +msgid "Report Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:214 +msgid "Plugin Configuration" +msgstr "" + +#: src/components/render/ModelType.tsx:215 +msgid "Plugin Configurations" +msgstr "" + +#: src/components/render/Order.tsx:104 msgid "Shipment" msgstr "" -#: src/components/render/Part.tsx:12 +#: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:198 -#: src/pages/part/PartDetail.tsx:491 +#: src/pages/Index/Settings/SystemSettings.tsx:199 +#: src/pages/part/PartDetail.tsx:492 #: src/pages/stock/LocationDetail.tsx:344 -#: src/pages/stock/StockDetail.tsx:344 +#: src/pages/stock/StockDetail.tsx:352 #: src/tables/stock/StockItemTable.tsx:57 msgid "Stock" msgstr "" -#: src/components/render/Stock.tsx:26 -#: src/pages/stock/StockDetail.tsx:142 -#: src/pages/stock/StockDetail.tsx:501 +#: src/components/render/Stock.tsx:52 +#: src/pages/stock/StockDetail.tsx:145 +#: src/pages/stock/StockDetail.tsx:514 msgid "Serial Number" msgstr "" -#: src/components/render/Stock.tsx:28 -#: src/forms/BuildForms.tsx:189 +#: src/components/render/Stock.tsx:54 +#: src/forms/BuildForms.tsx:206 #: src/pages/part/pricing/BomPricingPanel.tsx:144 -#: src/pages/part/pricing/PriceBreakPanel.tsx:96 -#: src/pages/stock/StockDetail.tsx:137 -#: src/pages/stock/StockDetail.tsx:507 +#: src/pages/part/pricing/PriceBreakPanel.tsx:94 +#: src/pages/stock/StockDetail.tsx:140 +#: src/pages/stock/StockDetail.tsx:520 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:73 +#: src/tables/stock/StockTrackingTable.tsx:59 msgid "Quantity" msgstr "" -#: src/components/settings/SettingItem.tsx:46 -#: src/components/settings/SettingItem.tsx:99 -msgid "Setting updated" -msgstr "" - #: src/components/settings/SettingItem.tsx:47 #: src/components/settings/SettingItem.tsx:100 -msgid "{0} updated successfully" -msgstr "" +#~ msgid "{0} updated successfully" +#~ msgstr "{0} updated successfully" -#: src/components/settings/SettingItem.tsx:55 -msgid "Error editing setting" -msgstr "" - -#: src/components/settings/SettingItem.tsx:92 +#: src/components/settings/SettingList.tsx:67 msgid "Edit Setting" msgstr "" -#: src/components/settings/SettingList.tsx:63 -msgid "No settings specified" +#: src/components/settings/SettingList.tsx:78 +#: src/components/settings/SettingList.tsx:108 +msgid "Setting {0} updated successfully" msgstr "" -#: src/components/tables/ColumnRenderers.tsx:134 -#~ msgid "Shipment Date" -#~ msgstr "Shipment Date" +#: src/components/settings/SettingList.tsx:107 +msgid "Setting updated" +msgstr "" + +#: src/components/settings/SettingList.tsx:117 +msgid "Error editing setting" +msgstr "" + +#: src/components/settings/SettingList.tsx:158 +msgid "No settings specified" +msgstr "" #: src/components/tables/FilterGroup.tsx:29 #~ msgid "Add table filter" @@ -1731,10 +1806,6 @@ msgstr "" #~ msgid "This is a test filter" #~ msgstr "This is a test filter" -#: src/components/tables/stock/StockLocationTable.tsx:91 -#~ msgid "Location Type" -#~ msgstr "Location Type" - #: src/components/tables/stock/StockLocationTable.tsx:145 #~ msgid "Stock location updated" #~ msgstr "Stock location updated" @@ -2072,7 +2143,7 @@ msgstr "" #~ msgstr "Local Server" #: src/defaults/links.tsx:11 -#: src/pages/company/CompanyDetail.tsx:90 +#: src/pages/company/CompanyDetail.tsx:92 msgid "Website" msgstr "" @@ -2087,10 +2158,10 @@ msgstr "" #: src/defaults/links.tsx:31 #: src/defaults/menuItems.tsx:48 #: src/pages/company/ManufacturerDetail.tsx:9 -#: src/pages/company/ManufacturerPartDetail.tsx:231 +#: src/pages/company/ManufacturerPartDetail.tsx:235 #: src/pages/company/SupplierDetail.tsx:9 -#: src/pages/company/SupplierPartDetail.tsx:291 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:358 +#: src/pages/company/SupplierPartDetail.tsx:292 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:365 #: src/pages/purchasing/PurchasingIndex.tsx:52 msgid "Purchasing" msgstr "" @@ -2098,15 +2169,15 @@ msgstr "" #: src/defaults/links.tsx:32 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:323 +#: src/pages/sales/ReturnOrderDetail.tsx:330 #: src/pages/sales/SalesIndex.tsx:45 -#: src/pages/sales/SalesOrderDetail.tsx:345 +#: src/pages/sales/SalesOrderDetail.tsx:352 msgid "Sales" msgstr "" #: src/defaults/links.tsx:35 #: src/defaults/menuItems.tsx:71 -#: src/pages/Index/Playground.tsx:239 +#: src/pages/Index/Playground.tsx:238 msgid "Playground" msgstr "" @@ -2240,87 +2311,83 @@ msgstr "" #~ msgstr "Combusken battles with the intensely hot flames it spews" #: src/forms/AttachmentForms.tsx:57 -msgid "Add File" -msgstr "" +#~ msgid "Add File" +#~ msgstr "Add File" #: src/forms/AttachmentForms.tsx:57 -msgid "Add Link" -msgstr "" +#~ msgid "Add Link" +#~ msgstr "Add Link" #: src/forms/AttachmentForms.tsx:58 -msgid "File added" -msgstr "" +#~ msgid "File added" +#~ msgstr "File added" #: src/forms/AttachmentForms.tsx:58 -msgid "Link added" -msgstr "" +#~ msgid "Link added" +#~ msgstr "Link added" #: src/forms/AttachmentForms.tsx:99 -msgid "Edit File" -msgstr "" +#~ msgid "Edit File" +#~ msgstr "Edit File" #: src/forms/AttachmentForms.tsx:99 -msgid "Edit Link" -msgstr "" +#~ msgid "Edit Link" +#~ msgstr "Edit Link" #: src/forms/AttachmentForms.tsx:100 -msgid "File updated" -msgstr "" +#~ msgid "File updated" +#~ msgstr "File updated" #: src/forms/AttachmentForms.tsx:100 -msgid "Link updated" -msgstr "" - -#: src/forms/AttachmentForms.tsx:124 -msgid "Delete Attachment" -msgstr "" +#~ msgid "Link updated" +#~ msgstr "Link updated" #: src/forms/AttachmentForms.tsx:125 -msgid "Attachment deleted" -msgstr "" +#~ msgid "Attachment deleted" +#~ msgstr "Attachment deleted" #: src/forms/AttachmentForms.tsx:128 -msgid "Are you sure you want to delete this attachment?" -msgstr "" +#~ msgid "Are you sure you want to delete this attachment?" +#~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BuildForms.tsx:129 +#: src/forms/BuildForms.tsx:146 msgid "Next serial number" msgstr "" -#: src/forms/BuildForms.tsx:133 +#: src/forms/BuildForms.tsx:150 msgid "Latest serial number" msgstr "" -#: src/forms/BuildForms.tsx:205 +#: src/forms/BuildForms.tsx:222 msgid "Remove output" msgstr "" -#: src/forms/BuildForms.tsx:287 +#: src/forms/BuildForms.tsx:304 msgid "Complete Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:291 +#: src/forms/BuildForms.tsx:308 msgid "Build outputs have been completed" msgstr "" -#: src/forms/BuildForms.tsx:360 +#: src/forms/BuildForms.tsx:377 msgid "Scrap Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:364 +#: src/forms/BuildForms.tsx:381 msgid "Build outputs have been scrapped" msgstr "" -#: src/forms/BuildForms.tsx:396 -#: src/forms/BuildForms.tsx:420 +#: src/forms/BuildForms.tsx:413 +#: src/forms/BuildForms.tsx:437 msgid "Cancel Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:397 +#: src/forms/BuildForms.tsx:414 msgid "Selected build outputs will be deleted" msgstr "" -#: src/forms/BuildForms.tsx:424 +#: src/forms/BuildForms.tsx:441 msgid "Build outputs have been cancelled" msgstr "" @@ -2344,76 +2411,76 @@ msgstr "" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PurchaseOrderForms.tsx:265 +#: src/forms/PurchaseOrderForms.tsx:279 msgid "Choose Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:273 +#: src/forms/PurchaseOrderForms.tsx:287 msgid "Item Destination selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:282 +#: src/forms/PurchaseOrderForms.tsx:296 msgid "Part category default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:292 +#: src/forms/PurchaseOrderForms.tsx:306 msgid "Received stock location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:297 +#: src/forms/PurchaseOrderForms.tsx:311 msgid "Default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:308 -#: src/forms/PurchaseOrderForms.tsx:384 +#: src/forms/PurchaseOrderForms.tsx:322 +#: src/forms/PurchaseOrderForms.tsx:398 msgid "Scan Barcode" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:352 +#: src/forms/PurchaseOrderForms.tsx:366 msgid "Set Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:359 +#: src/forms/PurchaseOrderForms.tsx:373 msgid "Assign Batch Code{0}" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:368 +#: src/forms/PurchaseOrderForms.tsx:382 msgid "Change Status" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:393 -#: src/forms/StockForms.tsx:351 +#: src/forms/PurchaseOrderForms.tsx:407 +#: src/forms/StockForms.tsx:392 msgid "Remove item from list" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:418 -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:58 -#: src/pages/stock/StockDetail.tsx:167 -#: src/tables/ColumnRenderers.tsx:42 +#: src/forms/PurchaseOrderForms.tsx:432 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/pages/stock/StockDetail.tsx:170 +#: src/tables/ColumnRenderers.tsx:34 +#: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:434 +#: src/forms/PurchaseOrderForms.tsx:448 msgid "Store at default location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:447 +#: src/forms/PurchaseOrderForms.tsx:461 msgid "Store at line item destination" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:457 +#: src/forms/PurchaseOrderForms.tsx:471 msgid "Store with already received stock" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:613 +#: src/forms/PurchaseOrderForms.tsx:627 msgid "Receive Line Items" msgstr "" @@ -2421,119 +2488,118 @@ msgstr "" #~ msgid "Receive line items" #~ msgstr "Receive line items" -#: src/forms/StockForms.tsx:69 +#: src/forms/StockForms.tsx:101 msgid "Add given quantity as packs instead of individual items" msgstr "" -#: src/forms/StockForms.tsx:80 -msgid "Enter initial quantity for this stock item" -msgstr "" - -#: src/forms/StockForms.tsx:85 -msgid "Serial Numbers" -msgstr "" - -#: src/forms/StockForms.tsx:86 -msgid "Enter serial numbers for new stock (or leave blank)" -msgstr "" - #: src/forms/StockForms.tsx:110 #~ msgid "Create Stock Item" #~ msgstr "Create Stock Item" -#: src/forms/StockForms.tsx:135 -#: src/pages/stock/StockDetail.tsx:367 -#: src/tables/stock/StockItemTable.tsx:382 -#: src/tables/stock/StockItemTable.tsx:499 -msgid "Add Stock Item" +#: src/forms/StockForms.tsx:114 +msgid "Enter initial quantity for this stock item" +msgstr "" + +#: src/forms/StockForms.tsx:121 +msgid "Serial Numbers" +msgstr "" + +#: src/forms/StockForms.tsx:122 +msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" #: src/forms/StockForms.tsx:158 #~ msgid "Stock item updated" #~ msgstr "Stock item updated" -#: src/forms/StockForms.tsx:298 +#: src/forms/StockForms.tsx:176 +#: src/pages/stock/StockDetail.tsx:375 +#: src/tables/stock/StockItemTable.tsx:382 +#: src/tables/stock/StockItemTable.tsx:499 +msgid "Add Stock Item" +msgstr "" + +#: src/forms/StockForms.tsx:339 msgid "Loading..." msgstr "" -#: src/forms/StockForms.tsx:340 +#: src/forms/StockForms.tsx:381 msgid "Move to default location" msgstr "" -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/part/PartDetail.tsx:205 -#: src/pages/part/PartDetail.tsx:654 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/pages/part/PartDetail.tsx:206 +#: src/pages/part/PartDetail.tsx:655 #: src/tables/stock/StockItemTable.tsx:290 msgid "In Stock" msgstr "" -#: src/forms/StockForms.tsx:408 +#: src/forms/StockForms.tsx:449 msgid "Move" msgstr "" -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/tables/RowActions.tsx:147 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/tables/RowActions.tsx:149 msgid "Actions" msgstr "" -#: src/forms/StockForms.tsx:471 -#: src/pages/stock/StockDetail.tsx:440 -#: src/tables/settings/TemplateTable.tsx:266 -#: src/tables/stock/StockItemTestResultTable.tsx:348 +#: src/forms/StockForms.tsx:512 +#: src/pages/stock/StockDetail.tsx:454 +#: src/tables/stock/StockItemTestResultTable.tsx:339 msgid "Add" msgstr "" -#: src/forms/StockForms.tsx:499 +#: src/forms/StockForms.tsx:540 #: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:430 +#: src/pages/stock/StockDetail.tsx:444 msgid "Count" msgstr "" -#: src/forms/StockForms.tsx:744 +#: src/forms/StockForms.tsx:785 msgid "Add Stock" msgstr "" -#: src/forms/StockForms.tsx:753 +#: src/forms/StockForms.tsx:794 msgid "Remove Stock" msgstr "" -#: src/forms/StockForms.tsx:762 -#: src/pages/part/PartDetail.tsx:781 +#: src/forms/StockForms.tsx:803 +#: src/pages/part/PartDetail.tsx:782 msgid "Transfer Stock" msgstr "" -#: src/forms/StockForms.tsx:771 -#: src/pages/part/PartDetail.tsx:770 +#: src/forms/StockForms.tsx:812 +#: src/pages/part/PartDetail.tsx:771 msgid "Count Stock" msgstr "" -#: src/forms/StockForms.tsx:780 +#: src/forms/StockForms.tsx:821 msgid "Change Stock Status" msgstr "" -#: src/forms/StockForms.tsx:789 +#: src/forms/StockForms.tsx:830 msgid "Merge Stock" msgstr "" -#: src/forms/StockForms.tsx:808 +#: src/forms/StockForms.tsx:849 msgid "Delete Stock Items" msgstr "" -#: src/forms/StockForms.tsx:815 +#: src/forms/StockForms.tsx:856 msgid "Parent stock location" msgstr "" @@ -2728,7 +2794,7 @@ msgstr "" msgid "Welcome to your Dashboard{0}" msgstr "" -#: src/pages/Index/Playground.tsx:244 +#: src/pages/Index/Playground.tsx:243 msgid "This page is a showcase for the possibilities of Platform UI." msgstr "" @@ -3138,49 +3204,53 @@ msgstr "" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:79 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:87 msgid "Background Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:85 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:93 msgid "Error Reports" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:91 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:99 msgid "Currencies" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:109 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:117 msgid "Custom Units" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:115 -#: src/pages/part/CategoryDetail.tsx:254 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:123 +#: src/pages/part/CategoryDetail.tsx:255 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:121 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 +#~ msgid "Templates" +#~ msgstr "Templates" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:129 msgid "Category Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 -msgid "Templates" +#: src/pages/Index/Settings/AdminCenter/Index.tsx:147 +msgid "Location types" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:139 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:159 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:149 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:169 msgid "Quick Actions" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:154 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 msgid "Add a new user" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:173 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:193 msgid "Advanced Options" msgstr "" @@ -3225,26 +3295,32 @@ msgstr "" msgid "Plugin Settings" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:25 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:53 +msgid "Background Worker Not Running" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:54 +msgid "The background task manager service is not running. Contact your system administrator." +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:60 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:76 msgid "Pending Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:33 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:64 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:84 msgid "Scheduled Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:41 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:68 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:92 msgid "Failed Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:139 -msgid "Labels" -msgstr "" - #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:39 -msgid "Label" -msgstr "" +#~ msgid "Label" +#~ msgstr "Label" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67 #~ msgid "Stock item" @@ -3255,13 +3331,13 @@ msgstr "" #~ msgstr "Build line" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:88 -msgid "Reports" -msgstr "" +#~ msgid "Reports" +#~ msgstr "Reports" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:89 #: src/pages/build/BuildDetail.tsx:373 -msgid "Report" -msgstr "" +#~ msgid "Report" +#~ msgstr "Report" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99 #~ msgid "Purchase order" @@ -3275,14 +3351,9 @@ msgstr "" #~ msgid "Return order" #~ msgstr "Return order" -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135 -#: src/pages/part/PartDetail.tsx:518 -msgid "Bill of Materials" -msgstr "" - #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:145 -msgid "Tests" -msgstr "" +#~ msgid "Tests" +#~ msgstr "Tests" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:154 #~ msgid "Stock location" @@ -3321,26 +3392,30 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" +#: src/pages/Index/Settings/SystemSettings.tsx:139 +msgid "Labels" +msgstr "" + #: src/pages/Index/Settings/SystemSettings.tsx:145 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:223 -#: src/pages/part/PartDetail.tsx:589 +#: src/pages/Index/Settings/SystemSettings.tsx:224 +#: src/pages/part/PartDetail.tsx:590 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:228 -#: src/pages/build/BuildDetail.tsx:426 +#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:525 -#: src/pages/sales/SalesOrderDetail.tsx:263 +#: src/pages/part/PartDetail.tsx:526 +#: src/pages/sales/SalesOrderDetail.tsx:265 msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:296 +#: src/pages/Index/Settings/SystemSettings.tsx:297 msgid "Switch to User Setting" msgstr "" @@ -3397,44 +3472,47 @@ msgstr "" #~ msgstr "Build Status" #: src/pages/build/BuildDetail.tsx:89 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:128 -#: src/pages/sales/ReturnOrderDetail.tsx:95 -#: src/pages/sales/SalesOrderDetail.tsx:99 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:130 +#: src/pages/sales/ReturnOrderDetail.tsx:97 +#: src/pages/sales/SalesOrderDetail.tsx:101 #: src/tables/build/BuildOrderTable.tsx:113 #: src/tables/machine/MachineListTable.tsx:326 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderTable.tsx:46 #: src/tables/sales/SalesOrderTable.tsx:52 #: src/tables/stock/StockItemTable.tsx:259 +#: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "" #: src/pages/build/BuildDetail.tsx:95 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:101 -#: src/pages/sales/ReturnOrderDetail.tsx:69 -#: src/pages/sales/SalesOrderDetail.tsx:73 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:103 +#: src/pages/sales/ReturnOrderDetail.tsx:71 +#: src/pages/sales/SalesOrderDetail.tsx:75 +#: src/tables/ColumnRenderers.tsx:106 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" msgstr "" #: src/pages/build/BuildDetail.tsx:100 -#: src/pages/company/CompanyDetail.tsx:84 -#: src/pages/company/ManufacturerPartDetail.tsx:75 -#: src/pages/company/SupplierPartDetail.tsx:82 -#: src/pages/part/CategoryDetail.tsx:91 -#: src/pages/part/PartDetail.tsx:132 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:122 -#: src/pages/sales/ReturnOrderDetail.tsx:89 -#: src/pages/sales/SalesOrderDetail.tsx:93 -#: src/pages/stock/LocationDetail.tsx:97 -#: src/tables/ColumnRenderers.tsx:95 +#: src/pages/company/CompanyDetail.tsx:86 +#: src/pages/company/ManufacturerPartDetail.tsx:76 +#: src/pages/company/SupplierPartDetail.tsx:83 +#: src/pages/part/CategoryDetail.tsx:92 +#: src/pages/part/PartDetail.tsx:133 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:124 +#: src/pages/sales/ReturnOrderDetail.tsx:91 +#: src/pages/sales/SalesOrderDetail.tsx:95 +#: src/pages/stock/LocationDetail.tsx:99 +#: src/tables/ColumnRenderers.tsx:66 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 #: src/tables/machine/MachineTypeTable.tsx:323 #: src/tables/part/RelatedPartTable.tsx:64 -#: src/tables/plugin/PluginListTable.tsx:172 -#: src/tables/plugin/PluginListTable.tsx:302 +#: src/tables/plugin/PluginListTable.tsx:129 +#: src/tables/plugin/PluginListTable.tsx:276 +#: src/tables/stock/LocationTypesTable.tsx:65 msgid "Description" msgstr "" @@ -3447,7 +3525,7 @@ msgid "Build Quantity" msgstr "" #: src/pages/build/BuildDetail.tsx:126 -#: src/pages/build/BuildDetail.tsx:249 +#: src/pages/build/BuildDetail.tsx:256 msgid "Completed Outputs" msgstr "" @@ -3457,10 +3535,10 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:150 -#: src/pages/part/PartDetail.tsx:320 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:214 -#: src/pages/sales/ReturnOrderDetail.tsx:182 -#: src/pages/sales/SalesOrderDetail.tsx:186 +#: src/pages/part/PartDetail.tsx:321 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:184 +#: src/pages/sales/SalesOrderDetail.tsx:188 #: src/tables/build/BuildOrderTable.tsx:148 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 @@ -3474,10 +3552,10 @@ msgid "Created" msgstr "" #: src/pages/build/BuildDetail.tsx:164 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:207 -#: src/pages/sales/ReturnOrderDetail.tsx:175 -#: src/pages/sales/SalesOrderDetail.tsx:179 -#: src/tables/ColumnRenderers.tsx:227 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:209 +#: src/pages/sales/ReturnOrderDetail.tsx:177 +#: src/pages/sales/SalesOrderDetail.tsx:181 +#: src/tables/ColumnRenderers.tsx:191 msgid "Target Date" msgstr "" @@ -3513,6 +3591,11 @@ msgstr "" #~ msgid "Unlink custom barcode from part" #~ msgstr "Unlink custom barcode from part" +#: src/pages/build/BuildDetail.tsx:197 +#: src/pages/stock/StockDetail.tsx:526 +msgid "Batch Code" +msgstr "" + #: src/pages/build/BuildDetail.tsx:202 #~ msgid "Build Order updated" #~ msgstr "Build Order updated" @@ -3521,86 +3604,87 @@ msgstr "" #~ msgid "Edit build order" #~ msgstr "Edit build order" -#: src/pages/build/BuildDetail.tsx:222 -msgid "Build Details" -msgstr "" - #: src/pages/build/BuildDetail.tsx:226 #~ msgid "Duplicate build order" #~ msgstr "Duplicate build order" -#: src/pages/build/BuildDetail.tsx:228 -#: src/tables/build/BuildLineTable.tsx:225 -msgid "Allocate Stock" +#: src/pages/build/BuildDetail.tsx:229 +msgid "Build Details" msgstr "" #: src/pages/build/BuildDetail.tsx:231 #~ msgid "Delete build order" #~ msgstr "Delete build order" -#: src/pages/build/BuildDetail.tsx:242 +#: src/pages/build/BuildDetail.tsx:235 +#: src/tables/build/BuildLineTable.tsx:225 +msgid "Allocate Stock" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:249 msgid "Incomplete Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:264 +#: src/pages/build/BuildDetail.tsx:271 msgid "Consumed Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:278 +#: src/pages/build/BuildDetail.tsx:285 msgid "Child Build Orders" msgstr "" -#: src/pages/build/BuildDetail.tsx:288 -#: src/pages/company/CompanyDetail.tsx:253 -#: src/pages/company/ManufacturerPartDetail.tsx:171 -#: src/pages/part/PartDetail.tsx:611 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:276 -#: src/pages/sales/ReturnOrderDetail.tsx:225 -#: src/pages/sales/SalesOrderDetail.tsx:273 -#: src/pages/stock/StockDetail.tsx:317 +#: src/pages/build/BuildDetail.tsx:295 +#: src/pages/company/CompanyDetail.tsx:255 +#: src/pages/company/ManufacturerPartDetail.tsx:172 +#: src/pages/part/PartDetail.tsx:612 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:278 +#: src/pages/sales/ReturnOrderDetail.tsx:227 +#: src/pages/sales/SalesOrderDetail.tsx:275 +#: src/pages/stock/StockDetail.tsx:325 msgid "Attachments" msgstr "" -#: src/pages/build/BuildDetail.tsx:300 -#: src/pages/company/CompanyDetail.tsx:265 -#: src/pages/part/PartDetail.tsx:623 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:288 -#: src/pages/sales/ReturnOrderDetail.tsx:237 -#: src/pages/sales/SalesOrderDetail.tsx:285 -#: src/pages/stock/StockDetail.tsx:329 +#: src/pages/build/BuildDetail.tsx:307 +#: src/pages/company/CompanyDetail.tsx:267 +#: src/pages/part/PartDetail.tsx:624 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:290 +#: src/pages/sales/ReturnOrderDetail.tsx:239 +#: src/pages/sales/SalesOrderDetail.tsx:287 +#: src/pages/stock/StockDetail.tsx:337 +#: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "" -#: src/pages/build/BuildDetail.tsx:318 +#: src/pages/build/BuildDetail.tsx:325 msgid "Edit Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:327 +#: src/pages/build/BuildDetail.tsx:334 msgid "Cancel Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:339 +#: src/pages/build/BuildDetail.tsx:346 #: src/tables/build/BuildOrderTable.tsx:167 #: src/tables/build/BuildOrderTable.tsx:182 msgid "Add Build Order" msgstr "" #: src/pages/build/BuildDetail.tsx:368 -msgid "Reporting Actions" -msgstr "" +#~ msgid "Reporting Actions" +#~ msgstr "Reporting Actions" #: src/pages/build/BuildDetail.tsx:374 -msgid "Print build report" -msgstr "" +#~ msgid "Print build report" +#~ msgstr "Print build report" -#: src/pages/build/BuildDetail.tsx:380 +#: src/pages/build/BuildDetail.tsx:378 msgid "Build Order Actions" msgstr "" -#: src/pages/build/BuildDetail.tsx:388 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:326 -#: src/pages/sales/ReturnOrderDetail.tsx:300 -#: src/pages/sales/SalesOrderDetail.tsx:310 +#: src/pages/build/BuildDetail.tsx:386 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:333 +#: src/pages/sales/ReturnOrderDetail.tsx:307 +#: src/pages/sales/SalesOrderDetail.tsx:317 msgid "Cancel order" msgstr "" @@ -3612,56 +3696,58 @@ msgstr "" #~ msgid "New Build Order" #~ msgstr "New Build Order" -#: src/pages/company/CompanyDetail.tsx:98 +#: src/pages/company/CompanyDetail.tsx:100 msgid "Phone Number" msgstr "" -#: src/pages/company/CompanyDetail.tsx:105 +#: src/pages/company/CompanyDetail.tsx:107 msgid "Email Address" msgstr "" -#: src/pages/company/CompanyDetail.tsx:115 +#: src/pages/company/CompanyDetail.tsx:117 msgid "Default Currency" msgstr "" -#: src/pages/company/CompanyDetail.tsx:120 +#: src/pages/company/CompanyDetail.tsx:122 #: src/pages/company/SupplierDetail.tsx:8 -#: src/pages/company/SupplierPartDetail.tsx:106 -#: src/pages/company/SupplierPartDetail.tsx:192 -#: src/pages/company/SupplierPartDetail.tsx:295 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:116 +#: src/pages/company/SupplierPartDetail.tsx:107 +#: src/pages/company/SupplierPartDetail.tsx:193 +#: src/pages/company/SupplierPartDetail.tsx:296 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:118 #: src/tables/company/CompanyTable.tsx:100 #: src/tables/purchasing/PurchaseOrderTable.tsx:88 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:36 msgid "Supplier" msgstr "" -#: src/pages/company/CompanyDetail.tsx:126 +#: src/pages/company/CompanyDetail.tsx:128 #: src/pages/company/ManufacturerDetail.tsx:8 -#: src/pages/company/ManufacturerPartDetail.tsx:93 -#: src/pages/company/ManufacturerPartDetail.tsx:235 -#: src/pages/company/SupplierPartDetail.tsx:121 +#: src/pages/company/ManufacturerPartDetail.tsx:94 +#: src/pages/company/ManufacturerPartDetail.tsx:239 +#: src/pages/company/SupplierPartDetail.tsx:122 #: src/tables/company/CompanyTable.tsx:105 msgid "Manufacturer" msgstr "" -#: src/pages/company/CompanyDetail.tsx:132 +#: src/pages/company/CompanyDetail.tsx:134 #: src/pages/company/CustomerDetail.tsx:8 #: src/pages/part/pricing/SaleHistoryPanel.tsx:39 -#: src/pages/sales/ReturnOrderDetail.tsx:83 -#: src/pages/sales/SalesOrderDetail.tsx:87 -#: src/pages/stock/StockDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:85 +#: src/pages/sales/SalesOrderDetail.tsx:89 +#: src/pages/stock/StockDetail.tsx:219 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:107 +#: src/tables/stock/StockTrackingTable.tsx:140 msgid "Customer" msgstr "" -#: src/pages/company/CompanyDetail.tsx:166 +#: src/pages/company/CompanyDetail.tsx:168 +#: src/tables/stock/StockTrackingTable.tsx:183 msgid "Details" msgstr "" -#: src/pages/company/CompanyDetail.tsx:172 +#: src/pages/company/CompanyDetail.tsx:174 msgid "Manufactured Parts" msgstr "" @@ -3669,7 +3755,7 @@ msgstr "" #~ msgid "Edit company" #~ msgstr "Edit company" -#: src/pages/company/CompanyDetail.tsx:181 +#: src/pages/company/CompanyDetail.tsx:183 msgid "Supplied Parts" msgstr "" @@ -3677,289 +3763,289 @@ msgstr "" #~ msgid "Delete company" #~ msgstr "Delete company" -#: src/pages/company/CompanyDetail.tsx:226 +#: src/pages/company/CompanyDetail.tsx:228 msgid "Assigned Stock" msgstr "" -#: src/pages/company/CompanyDetail.tsx:281 +#: src/pages/company/CompanyDetail.tsx:283 #: src/tables/company/CompanyTable.tsx:86 msgid "Edit Company" msgstr "" -#: src/pages/company/CompanyDetail.tsx:290 +#: src/pages/company/CompanyDetail.tsx:292 msgid "Company Actions" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:68 -#: src/pages/company/SupplierPartDetail.tsx:75 +#: src/pages/company/ManufacturerPartDetail.tsx:69 +#: src/pages/company/SupplierPartDetail.tsx:76 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:72 msgid "Internal Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:83 -#: src/pages/company/SupplierPartDetail.tsx:89 +#: src/pages/company/ManufacturerPartDetail.tsx:84 +#: src/pages/company/SupplierPartDetail.tsx:90 msgid "External Link" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:101 -#: src/pages/company/SupplierPartDetail.tsx:130 -#: src/tables/purchasing/ManufacturerPartTable.tsx:53 +#: src/pages/company/ManufacturerPartDetail.tsx:102 +#: src/pages/company/SupplierPartDetail.tsx:131 +#: src/tables/purchasing/ManufacturerPartTable.tsx:56 msgid "Manufacturer Part Number" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:130 +#: src/pages/company/ManufacturerPartDetail.tsx:131 msgid "Manufacturer Details" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:139 +#: src/pages/company/ManufacturerPartDetail.tsx:140 msgid "Manufacturer Part Details" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:145 -#: src/pages/part/PartDetail.tsx:485 +#: src/pages/company/ManufacturerPartDetail.tsx:146 +#: src/pages/part/PartDetail.tsx:486 msgid "Parameters" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:157 -#: src/pages/part/PartDetail.tsx:558 +#: src/pages/company/ManufacturerPartDetail.tsx:158 +#: src/pages/part/PartDetail.tsx:559 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:189 -#: src/tables/purchasing/ManufacturerPartTable.tsx:97 +#: src/pages/company/ManufacturerPartDetail.tsx:190 +#: src/tables/purchasing/ManufacturerPartTable.tsx:84 msgid "Edit Manufacturer Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:196 -#: src/tables/purchasing/ManufacturerPartTable.tsx:63 -#: src/tables/purchasing/ManufacturerPartTable.tsx:78 +#: src/pages/company/ManufacturerPartDetail.tsx:197 +#: src/tables/purchasing/ManufacturerPartTable.tsx:72 +#: src/tables/purchasing/ManufacturerPartTable.tsx:103 msgid "Add Manufacturer Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:209 +#: src/pages/company/ManufacturerPartDetail.tsx:213 msgid "Manufacturer Part Actions" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:247 +#: src/pages/company/ManufacturerPartDetail.tsx:251 msgid "ManufacturerPart" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:96 -#: src/tables/ColumnRenderers.tsx:146 +#: src/pages/company/SupplierPartDetail.tsx:97 +#: src/tables/ColumnRenderers.tsx:117 msgid "Note" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:114 +#: src/pages/company/SupplierPartDetail.tsx:115 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:57 msgid "SKU" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:142 -#: src/pages/company/SupplierPartDetail.tsx:193 -#: src/pages/stock/StockDetail.tsx:230 +#: src/pages/company/SupplierPartDetail.tsx:143 +#: src/pages/company/SupplierPartDetail.tsx:194 +#: src/pages/stock/StockDetail.tsx:233 msgid "Packaging" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:149 +#: src/pages/company/SupplierPartDetail.tsx:150 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:107 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143 #: src/tables/purchasing/SupplierPartTable.tsx:131 msgid "Pack Quantity" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:160 +#: src/pages/company/SupplierPartDetail.tsx:161 msgid "Supplier Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:167 +#: src/pages/company/SupplierPartDetail.tsx:168 msgid "Availability Updated" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:194 +#: src/pages/company/SupplierPartDetail.tsx:195 msgid "Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:203 +#: src/pages/company/SupplierPartDetail.tsx:204 msgid "Supplier Part Details" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:209 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:263 +#: src/pages/company/SupplierPartDetail.tsx:210 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:265 msgid "Received Stock" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:233 +#: src/pages/company/SupplierPartDetail.tsx:234 #: src/pages/part/PartPricingPanel.tsx:115 #: src/pages/part/pricing/PricingOverviewPanel.tsx:130 msgid "Supplier Pricing" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:248 +#: src/pages/company/SupplierPartDetail.tsx:249 msgid "Supplier Part Actions" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:272 +#: src/pages/company/SupplierPartDetail.tsx:273 #: src/tables/purchasing/SupplierPartTable.tsx:210 msgid "Edit Supplier Part" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:279 +#: src/pages/company/SupplierPartDetail.tsx:280 #: src/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "" -#: src/pages/part/CategoryDetail.tsx:83 -#: src/pages/stock/LocationDetail.tsx:89 +#: src/pages/part/CategoryDetail.tsx:84 +#: src/pages/stock/LocationDetail.tsx:91 #: src/tables/settings/ErrorTable.tsx:34 msgid "Path" msgstr "" -#: src/pages/part/CategoryDetail.tsx:99 +#: src/pages/part/CategoryDetail.tsx:100 msgid "Parent Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:116 +#: src/pages/part/CategoryDetail.tsx:117 msgid "Subcategories" msgstr "" -#: src/pages/part/CategoryDetail.tsx:123 -#: src/pages/stock/LocationDetail.tsx:129 -#: src/tables/part/PartCategoryTable.tsx:69 +#: src/pages/part/CategoryDetail.tsx:124 +#: src/pages/stock/LocationDetail.tsx:131 +#: src/tables/part/PartCategoryTable.tsx:65 msgid "Structural" msgstr "" -#: src/pages/part/CategoryDetail.tsx:129 +#: src/pages/part/CategoryDetail.tsx:130 msgid "Parent default location" msgstr "" -#: src/pages/part/CategoryDetail.tsx:136 +#: src/pages/part/CategoryDetail.tsx:137 msgid "Default location" msgstr "" -#: src/pages/part/CategoryDetail.tsx:147 +#: src/pages/part/CategoryDetail.tsx:148 msgid "Top level part category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:157 -#: src/pages/part/CategoryDetail.tsx:211 -#: src/tables/part/PartCategoryTable.tsx:96 +#: src/pages/part/CategoryDetail.tsx:158 +#: src/pages/part/CategoryDetail.tsx:212 +#: src/tables/part/PartCategoryTable.tsx:88 msgid "Edit Part Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:170 -#: src/pages/stock/LocationDetail.tsx:213 +#: src/pages/part/CategoryDetail.tsx:171 +#: src/pages/stock/LocationDetail.tsx:223 msgid "Delete items" msgstr "" -#: src/pages/part/CategoryDetail.tsx:178 -#: src/pages/part/CategoryDetail.tsx:216 +#: src/pages/part/CategoryDetail.tsx:179 +#: src/pages/part/CategoryDetail.tsx:217 msgid "Delete Part Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:181 +#: src/pages/part/CategoryDetail.tsx:182 msgid "Parts Action" msgstr "" -#: src/pages/part/CategoryDetail.tsx:182 +#: src/pages/part/CategoryDetail.tsx:183 msgid "Action for parts in this category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:187 +#: src/pages/part/CategoryDetail.tsx:188 msgid "Child Categories Action" msgstr "" -#: src/pages/part/CategoryDetail.tsx:188 +#: src/pages/part/CategoryDetail.tsx:189 msgid "Action for child categories in this category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:206 +#: src/pages/part/CategoryDetail.tsx:207 msgid "Category Actions" msgstr "" -#: src/pages/part/CategoryDetail.tsx:228 +#: src/pages/part/CategoryDetail.tsx:229 msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:138 +#: src/pages/part/PartDetail.tsx:139 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:145 +#: src/pages/part/PartDetail.tsx:146 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "" -#: src/pages/part/PartDetail.tsx:151 +#: src/pages/part/PartDetail.tsx:152 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:158 +#: src/pages/part/PartDetail.tsx:159 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:165 +#: src/pages/part/PartDetail.tsx:166 msgid "IPN" msgstr "" -#: src/pages/part/PartDetail.tsx:172 +#: src/pages/part/PartDetail.tsx:173 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:179 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39 +#: src/pages/part/PartDetail.tsx:180 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "" -#: src/pages/part/PartDetail.tsx:186 +#: src/pages/part/PartDetail.tsx:187 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:193 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:180 -#: src/pages/sales/ReturnOrderDetail.tsx:148 -#: src/pages/sales/SalesOrderDetail.tsx:152 +#: src/pages/part/PartDetail.tsx:194 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:182 +#: src/pages/sales/ReturnOrderDetail.tsx:150 +#: src/pages/sales/SalesOrderDetail.tsx:154 msgid "Link" msgstr "" -#: src/pages/part/PartDetail.tsx:211 -#: src/tables/bom/BomTable.tsx:269 +#: src/pages/part/PartDetail.tsx:212 +#: src/tables/bom/BomTable.tsx:271 #: src/tables/build/BuildLineTable.tsx:121 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:218 +#: src/pages/part/PartDetail.tsx:219 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:224 -#: src/tables/bom/BomTable.tsx:210 +#: src/pages/part/PartDetail.tsx:225 +#: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:233 +#: src/pages/part/PartDetail.tsx:234 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:241 +#: src/pages/part/PartDetail.tsx:242 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:248 -#: src/tables/bom/BomTable.tsx:234 +#: src/pages/part/PartDetail.tsx:249 +#: src/tables/bom/BomTable.tsx:236 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:255 -#: src/tables/bom/BomTable.tsx:218 +#: src/pages/part/PartDetail.tsx:256 +#: src/tables/bom/BomTable.tsx:220 #: src/tables/part/PartTable.tsx:82 msgid "Building" msgstr "" -#: src/pages/part/PartDetail.tsx:264 +#: src/pages/part/PartDetail.tsx:265 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 @@ -3968,45 +4054,47 @@ msgstr "" #: src/tables/machine/MachineListTable.tsx:585 #: src/tables/part/PartTable.tsx:168 #: src/tables/part/PartVariantTable.tsx:15 -#: src/tables/plugin/PluginListTable.tsx:190 -#: src/tables/plugin/PluginListTable.tsx:638 +#: src/tables/plugin/PluginListTable.tsx:149 +#: src/tables/plugin/PluginListTable.tsx:271 +#: src/tables/plugin/PluginListTable.tsx:563 #: src/tables/purchasing/SupplierPartTable.tsx:98 #: src/tables/purchasing/SupplierPartTable.tsx:187 #: src/tables/stock/StockItemTable.tsx:254 msgid "Active" msgstr "" -#: src/pages/part/PartDetail.tsx:269 +#: src/pages/part/PartDetail.tsx:270 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:274 -#: src/tables/bom/BomTable.tsx:264 +#: src/pages/part/PartDetail.tsx:275 +#: src/tables/bom/BomTable.tsx:266 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:279 +#: src/pages/part/PartDetail.tsx:280 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:284 -#: src/tables/bom/BomTable.tsx:259 +#: src/pages/part/PartDetail.tsx:285 +#: src/tables/bom/BomTable.tsx:261 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:289 +#: src/pages/part/PartDetail.tsx:290 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:294 +#: src/pages/part/PartDetail.tsx:295 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:299 +#: src/pages/part/PartDetail.tsx:300 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:307 +#: src/pages/part/PartDetail.tsx:308 +#: src/tables/ColumnRenderers.tsx:199 msgid "Creation Date" msgstr "" @@ -4014,7 +4102,7 @@ msgstr "" #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:312 +#: src/pages/part/PartDetail.tsx:313 msgid "Created By" msgstr "" @@ -4022,68 +4110,72 @@ msgstr "" #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:327 -msgid "Default Supplier" -msgstr "" - #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:338 +#: src/pages/part/PartDetail.tsx:328 +msgid "Default Supplier" +msgstr "" + +#: src/pages/part/PartDetail.tsx:339 #: src/tables/part/PartTable.tsx:151 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:373 -#: src/pages/stock/StockDetail.tsx:127 +#: src/pages/part/PartDetail.tsx:374 +#: src/pages/stock/StockDetail.tsx:130 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:408 +#: src/pages/part/PartDetail.tsx:409 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:479 +#: src/pages/part/PartDetail.tsx:480 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:505 +#: src/pages/part/PartDetail.tsx:506 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:512 -#: src/pages/stock/StockDetail.tsx:275 +#: src/pages/part/PartDetail.tsx:513 +#: src/pages/stock/StockDetail.tsx:283 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:532 +#: src/pages/part/PartDetail.tsx:519 +msgid "Bill of Materials" +msgstr "" + +#: src/pages/part/PartDetail.tsx:533 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:539 +#: src/pages/part/PartDetail.tsx:540 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:545 +#: src/pages/part/PartDetail.tsx:546 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:584 +#: src/pages/part/PartDetail.tsx:585 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:594 +#: src/pages/part/PartDetail.tsx:595 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:605 +#: src/pages/part/PartDetail.tsx:606 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:660 -#: src/pages/stock/StockDetail.tsx:148 +#: src/pages/part/PartDetail.tsx:661 +#: src/pages/stock/StockDetail.tsx:151 #: src/tables/build/BuildLineTable.tsx:36 #: src/tables/part/PartTable.tsx:107 #: src/tables/stock/StockItemTable.tsx:166 @@ -4091,49 +4183,51 @@ msgstr "" msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:666 +#: src/pages/part/PartDetail.tsx:667 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:672 -#: src/tables/bom/BomTable.tsx:274 +#: src/pages/part/PartDetail.tsx:673 +#: src/tables/bom/BomTable.tsx:276 #: src/tables/part/PartTable.tsx:76 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:678 -#: src/pages/stock/StockDetail.tsx:496 +#: src/pages/part/PartDetail.tsx:679 +#: src/pages/stock/StockDetail.tsx:509 #: src/tables/stock/StockItemTable.tsx:295 msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:697 +#: src/pages/part/PartDetail.tsx:698 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:704 +#: src/pages/part/PartDetail.tsx:705 #: src/tables/part/PartTable.tsx:266 #: src/tables/part/PartTable.tsx:279 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:716 +#: src/pages/part/PartDetail.tsx:717 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:725 +#: src/pages/part/PartDetail.tsx:726 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:763 +#: src/pages/part/PartDetail.tsx:764 +#: src/pages/stock/LocationDetail.tsx:301 +#: src/tables/stock/StockItemTable.tsx:409 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:771 +#: src/pages/part/PartDetail.tsx:772 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:782 +#: src/pages/part/PartDetail.tsx:783 msgid "Transfer part stock" msgstr "" @@ -4199,15 +4293,15 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151 #: src/pages/part/pricing/SupplierPricingPanel.tsx:83 -#: src/tables/bom/BomTable.tsx:149 +#: src/tables/bom/BomTable.tsx:151 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 msgid "Unit Price" msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:173 -#: src/tables/ColumnRenderers.tsx:278 -#: src/tables/bom/BomTable.tsx:158 +#: src/tables/ColumnRenderers.tsx:241 +#: src/tables/bom/BomTable.tsx:160 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 #: src/tables/sales/ReturnOrderTable.tsx:104 #: src/tables/sales/SalesOrderTable.tsx:134 @@ -4229,24 +4323,24 @@ msgid "Bar Chart" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:63 -#: src/pages/part/pricing/PriceBreakPanel.tsx:117 +#: src/pages/part/pricing/PriceBreakPanel.tsx:115 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:138 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:164 msgid "Add Price Break" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:76 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:149 msgid "Edit Price Break" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:86 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:157 msgid "Delete Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:102 -#: src/pages/part/pricing/PriceBreakPanel.tsx:193 +#: src/pages/part/pricing/PriceBreakPanel.tsx:100 +#: src/pages/part/pricing/PriceBreakPanel.tsx:191 msgid "Price Break" msgstr "" @@ -4275,7 +4369,7 @@ msgid "Overall Pricing" msgstr "" #: src/pages/part/pricing/PricingOverviewPanel.tsx:184 -#: src/pages/stock/StockDetail.tsx:121 +#: src/pages/stock/StockDetail.tsx:124 msgid "Last Updated" msgstr "" @@ -4309,9 +4403,8 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50 #: src/pages/part/pricing/SaleHistoryPanel.tsx:46 -#: src/tables/ColumnRenderers.tsx:217 -#: src/tables/plugin/PluginListTable.tsx:182 -#: src/tables/stock/StockItemTestResultTable.tsx:194 +#: src/tables/ColumnRenderers.tsx:180 +#: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" @@ -4338,89 +4431,89 @@ msgstr "" msgid "Variant Part" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:73 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:75 msgid "Edit Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:82 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:84 #: src/tables/purchasing/PurchaseOrderTable.tsx:128 #: src/tables/purchasing/PurchaseOrderTable.tsx:140 msgid "Add Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:107 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:109 msgid "Supplier Reference" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:137 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:252 -#: src/pages/sales/ReturnOrderDetail.tsx:104 -#: src/pages/sales/ReturnOrderDetail.tsx:220 -#: src/pages/sales/SalesOrderDetail.tsx:108 -#: src/pages/sales/SalesOrderDetail.tsx:248 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:139 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:254 +#: src/pages/sales/ReturnOrderDetail.tsx:106 +#: src/pages/sales/ReturnOrderDetail.tsx:222 +#: src/pages/sales/SalesOrderDetail.tsx:110 +#: src/pages/sales/SalesOrderDetail.tsx:250 msgid "Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:144 -#: src/pages/sales/ReturnOrderDetail.tsx:111 -#: src/pages/sales/SalesOrderDetail.tsx:115 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:146 +#: src/pages/sales/ReturnOrderDetail.tsx:113 +#: src/pages/sales/SalesOrderDetail.tsx:117 msgid "Completed Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:152 -#: src/pages/sales/ReturnOrderDetail.tsx:119 -#: src/pages/sales/SalesOrderDetail.tsx:123 -#: src/pages/sales/SalesOrderDetail.tsx:258 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:121 +#: src/pages/sales/SalesOrderDetail.tsx:125 +#: src/pages/sales/SalesOrderDetail.tsx:260 msgid "Completed Shipments" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:159 -#: src/pages/sales/ReturnOrderDetail.tsx:127 -#: src/pages/sales/SalesOrderDetail.tsx:131 -msgid "Order Currency" -msgstr "" - #: src/pages/purchasing/PurchaseOrderDetail.tsx:159 #: src/pages/sales/ReturnOrderDetail.tsx:126 #: src/pages/sales/SalesOrderDetail.tsx:130 #~ msgid "Order Currency," #~ msgstr "Order Currency," -#: src/pages/purchasing/PurchaseOrderDetail.tsx:166 -#: src/pages/sales/ReturnOrderDetail.tsx:134 -#: src/pages/sales/SalesOrderDetail.tsx:138 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:161 +#: src/pages/sales/ReturnOrderDetail.tsx:129 +#: src/pages/sales/SalesOrderDetail.tsx:133 +msgid "Order Currency" +msgstr "" + +#: src/pages/purchasing/PurchaseOrderDetail.tsx:168 +#: src/pages/sales/ReturnOrderDetail.tsx:136 +#: src/pages/sales/SalesOrderDetail.tsx:140 msgid "Total Cost" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:201 -#: src/pages/sales/ReturnOrderDetail.tsx:169 -#: src/pages/sales/SalesOrderDetail.tsx:173 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:203 +#: src/pages/sales/ReturnOrderDetail.tsx:171 +#: src/pages/sales/SalesOrderDetail.tsx:175 msgid "Created On" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:246 -#: src/pages/sales/ReturnOrderDetail.tsx:214 -#: src/pages/sales/SalesOrderDetail.tsx:242 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:248 +#: src/pages/sales/ReturnOrderDetail.tsx:216 +#: src/pages/sales/SalesOrderDetail.tsx:244 msgid "Order Details" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:316 -#: src/pages/sales/ReturnOrderDetail.tsx:290 -#: src/pages/sales/SalesOrderDetail.tsx:302 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:323 +#: src/pages/sales/ReturnOrderDetail.tsx:297 +#: src/pages/sales/SalesOrderDetail.tsx:309 msgid "Order Actions" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:75 -#: src/pages/sales/SalesOrderDetail.tsx:79 +#: src/pages/sales/ReturnOrderDetail.tsx:77 +#: src/pages/sales/SalesOrderDetail.tsx:81 #: src/tables/sales/SalesOrderTable.tsx:123 msgid "Customer Reference" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:267 +#: src/pages/sales/ReturnOrderDetail.tsx:269 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:276 +#: src/pages/sales/ReturnOrderDetail.tsx:278 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" @@ -4430,68 +4523,72 @@ msgstr "" msgid "Customers" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:219 +#: src/pages/sales/SalesOrderDetail.tsx:221 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:228 +#: src/pages/sales/SalesOrderDetail.tsx:230 #: src/tables/sales/SalesOrderTable.tsx:83 #: src/tables/sales/SalesOrderTable.tsx:95 msgid "Add Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:253 +#: src/pages/sales/SalesOrderDetail.tsx:255 msgid "Pending Shipments" msgstr "" -#: src/pages/stock/LocationDetail.tsx:105 +#: src/pages/stock/LocationDetail.tsx:107 msgid "Parent Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:123 +#: src/pages/stock/LocationDetail.tsx:125 msgid "Sublocations" msgstr "" -#: src/pages/stock/LocationDetail.tsx:135 +#: src/pages/stock/LocationDetail.tsx:137 msgid "External" msgstr "" -#: src/pages/stock/LocationDetail.tsx:144 +#: src/pages/stock/LocationDetail.tsx:143 +msgid "Location Type" +msgstr "" + +#: src/pages/stock/LocationDetail.tsx:154 msgid "Top level stock location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:155 +#: src/pages/stock/LocationDetail.tsx:165 msgid "Location Details" msgstr "" -#: src/pages/stock/LocationDetail.tsx:181 +#: src/pages/stock/LocationDetail.tsx:191 msgid "Default Parts" msgstr "" -#: src/pages/stock/LocationDetail.tsx:200 +#: src/pages/stock/LocationDetail.tsx:210 #: src/pages/stock/LocationDetail.tsx:328 -#: src/tables/stock/StockLocationTable.tsx:108 +#: src/tables/stock/StockLocationTable.tsx:100 msgid "Edit Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:221 +#: src/pages/stock/LocationDetail.tsx:231 #: src/pages/stock/LocationDetail.tsx:333 msgid "Delete Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:224 +#: src/pages/stock/LocationDetail.tsx:234 msgid "Items Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:225 +#: src/pages/stock/LocationDetail.tsx:235 msgid "Action for stock items in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:230 +#: src/pages/stock/LocationDetail.tsx:240 msgid "Child Locations Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:231 +#: src/pages/stock/LocationDetail.tsx:241 msgid "Action for child locations in this location" msgstr "" @@ -4499,11 +4596,11 @@ msgstr "" msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:100 +#: src/pages/stock/StockDetail.tsx:103 msgid "Base Part" msgstr "" -#: src/pages/stock/StockDetail.tsx:107 +#: src/pages/stock/StockDetail.tsx:110 msgid "Stock Status" msgstr "" @@ -4515,15 +4612,16 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:174 +#: src/pages/stock/StockDetail.tsx:177 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:190 +#: src/pages/stock/StockDetail.tsx:193 msgid "Consumed By" msgstr "" -#: src/pages/stock/StockDetail.tsx:199 +#: src/pages/stock/StockDetail.tsx:202 +#: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" msgstr "" @@ -4535,78 +4633,78 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:264 +#: src/pages/stock/StockDetail.tsx:267 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:270 +#: src/pages/stock/StockDetail.tsx:273 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:282 +#: src/pages/stock/StockDetail.tsx:290 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:296 +#: src/pages/stock/StockDetail.tsx:304 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:303 +#: src/pages/stock/StockDetail.tsx:311 msgid "Child Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:358 +#: src/pages/stock/StockDetail.tsx:366 msgid "Edit Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:385 +#: src/pages/stock/StockDetail.tsx:393 msgid "Delete Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:426 -msgid "Stock Operations" -msgstr "" - -#: src/pages/stock/StockDetail.tsx:431 -msgid "Count stock" -msgstr "" - #: src/pages/stock/StockDetail.tsx:433 #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:441 +#: src/pages/stock/StockDetail.tsx:440 +msgid "Stock Operations" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:445 +msgid "Count stock" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:455 #: src/tables/stock/StockItemTable.tsx:414 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:449 +#: src/pages/stock/StockDetail.tsx:463 #: src/tables/stock/StockItemTable.tsx:423 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:456 +#: src/pages/stock/StockDetail.tsx:470 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:457 +#: src/pages/stock/StockDetail.tsx:471 #: src/tables/stock/StockItemTable.tsx:443 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:469 +#: src/pages/stock/StockDetail.tsx:482 msgid "Stock Item Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:513 -msgid "Batch Code" -msgstr "" - -#: src/tables/ColumnRenderers.tsx:50 +#: src/tables/ColumnRenderers.tsx:42 msgid "No location set" msgstr "" -#: src/tables/ColumnRenderers.tsx:264 +#: src/tables/ColumnRenderers.tsx:207 +msgid "Shipment Date" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:227 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "" @@ -4616,20 +4714,32 @@ msgstr "" msgid "Select Columns" msgstr "" -#: src/tables/DownloadAction.tsx:11 +#: src/tables/DownloadAction.tsx:13 +#~ msgid "Excel" +#~ msgstr "Excel" + +#: src/tables/DownloadAction.tsx:21 +#~ msgid "Download selected data" +#~ msgstr "Download selected data" + +#: src/tables/DownloadAction.tsx:22 msgid "CSV" msgstr "" -#: src/tables/DownloadAction.tsx:12 +#: src/tables/DownloadAction.tsx:23 msgid "TSV" msgstr "" -#: src/tables/DownloadAction.tsx:13 -msgid "Excel" +#: src/tables/DownloadAction.tsx:24 +msgid "Excel (.xls)" msgstr "" -#: src/tables/DownloadAction.tsx:21 -msgid "Download selected data" +#: src/tables/DownloadAction.tsx:25 +msgid "Excel (.xlsx)" +msgstr "" + +#: src/tables/DownloadAction.tsx:39 +msgid "Download Data" msgstr "" #: src/tables/Filter.tsx:88 @@ -4663,102 +4773,102 @@ msgstr "" msgid "Remove filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:147 +#: src/tables/FilterSelectDrawer.tsx:136 msgid "Select filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:148 +#: src/tables/FilterSelectDrawer.tsx:137 msgid "Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:155 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:33 -#: src/tables/stock/StockItemTestResultTable.tsx:182 +#: src/tables/FilterSelectDrawer.tsx:144 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 +#: src/tables/stock/StockItemTestResultTable.tsx:180 msgid "Value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:156 +#: src/tables/FilterSelectDrawer.tsx:145 msgid "Select filter value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:196 +#: src/tables/FilterSelectDrawer.tsx:185 msgid "Table Filters" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:228 +#: src/tables/FilterSelectDrawer.tsx:217 msgid "Add Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:237 +#: src/tables/FilterSelectDrawer.tsx:226 msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:118 -#: src/tables/InvenTreeTable.tsx:384 -#: src/tables/InvenTreeTable.tsx:405 +#: src/tables/InvenTreeTable.tsx:119 +#: src/tables/InvenTreeTable.tsx:390 +#: src/tables/InvenTreeTable.tsx:411 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:416 +#: src/tables/InvenTreeTable.tsx:422 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:424 +#: src/tables/InvenTreeTable.tsx:430 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:427 +#: src/tables/InvenTreeTable.tsx:433 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:436 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:433 +#: src/tables/InvenTreeTable.tsx:439 msgid "Not found" msgstr "" -#: src/tables/InvenTreeTable.tsx:482 -#: src/tables/InvenTreeTable.tsx:604 +#: src/tables/InvenTreeTable.tsx:488 +#: src/tables/InvenTreeTable.tsx:611 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:486 +#: src/tables/InvenTreeTable.tsx:492 msgid "Are you sure you want to delete the selected records?" msgstr "" -#: src/tables/InvenTreeTable.tsx:488 +#: src/tables/InvenTreeTable.tsx:494 msgid "This action cannot be undone!" msgstr "" -#: src/tables/InvenTreeTable.tsx:516 +#: src/tables/InvenTreeTable.tsx:522 msgid "Deleted records" msgstr "" -#: src/tables/InvenTreeTable.tsx:517 +#: src/tables/InvenTreeTable.tsx:523 msgid "Records were deleted successfully" msgstr "" -#: src/tables/InvenTreeTable.tsx:526 +#: src/tables/InvenTreeTable.tsx:532 msgid "Failed to delete records" msgstr "" -#: src/tables/InvenTreeTable.tsx:585 -#: src/tables/InvenTreeTable.tsx:586 -msgid "Barcode actions" -msgstr "" - #: src/tables/InvenTreeTable.tsx:594 #: src/tables/InvenTreeTable.tsx:595 -msgid "Print actions" +#~ msgid "Print actions" +#~ msgstr "Print actions" + +#: src/tables/InvenTreeTable.tsx:601 +#: src/tables/InvenTreeTable.tsx:602 +msgid "Barcode actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:620 +#: src/tables/InvenTreeTable.tsx:630 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:638 +#: src/tables/InvenTreeTable.tsx:648 msgid "Table filters" msgstr "" @@ -4770,138 +4880,138 @@ msgstr "" msgid "Part Information" msgstr "" -#: src/tables/bom/BomTable.tsx:177 +#: src/tables/bom/BomTable.tsx:179 #: src/tables/part/PartTable.tsx:124 msgid "No stock" msgstr "" -#: src/tables/bom/BomTable.tsx:185 +#: src/tables/bom/BomTable.tsx:187 #: src/tables/build/BuildLineTable.tsx:104 #: src/tables/part/PartTable.tsx:115 msgid "External stock" msgstr "" -#: src/tables/bom/BomTable.tsx:193 +#: src/tables/bom/BomTable.tsx:195 #: src/tables/build/BuildLineTable.tsx:67 msgid "Includes substitute stock" msgstr "" -#: src/tables/bom/BomTable.tsx:202 +#: src/tables/bom/BomTable.tsx:204 #: src/tables/build/BuildLineTable.tsx:77 msgid "Includes variant stock" msgstr "" -#: src/tables/bom/BomTable.tsx:227 +#: src/tables/bom/BomTable.tsx:229 #: src/tables/part/PartTable.tsx:143 #: src/tables/stock/StockItemTable.tsx:205 msgid "Stock Information" msgstr "" -#: src/tables/bom/BomTable.tsx:239 +#: src/tables/bom/BomTable.tsx:241 #: src/tables/build/BuildLineTable.tsx:195 msgid "Consumable item" msgstr "" -#: src/tables/bom/BomTable.tsx:260 +#: src/tables/bom/BomTable.tsx:262 msgid "Show trackable items" msgstr "" -#: src/tables/bom/BomTable.tsx:265 +#: src/tables/bom/BomTable.tsx:267 msgid "Show asssmbled items" msgstr "" -#: src/tables/bom/BomTable.tsx:270 +#: src/tables/bom/BomTable.tsx:272 msgid "Show items with available stock" msgstr "" -#: src/tables/bom/BomTable.tsx:275 +#: src/tables/bom/BomTable.tsx:277 msgid "Show items on order" msgstr "" -#: src/tables/bom/BomTable.tsx:279 +#: src/tables/bom/BomTable.tsx:281 msgid "Validated" msgstr "" -#: src/tables/bom/BomTable.tsx:280 +#: src/tables/bom/BomTable.tsx:282 msgid "Show validated items" msgstr "" -#: src/tables/bom/BomTable.tsx:284 +#: src/tables/bom/BomTable.tsx:286 #: src/tables/bom/UsedInTable.tsx:63 msgid "Inherited" msgstr "" -#: src/tables/bom/BomTable.tsx:285 +#: src/tables/bom/BomTable.tsx:287 #: src/tables/bom/UsedInTable.tsx:64 msgid "Show inherited items" msgstr "" -#: src/tables/bom/BomTable.tsx:289 +#: src/tables/bom/BomTable.tsx:291 #: src/tables/bom/UsedInTable.tsx:68 #: src/tables/build/BuildLineTable.tsx:46 msgid "Optional" msgstr "" -#: src/tables/bom/BomTable.tsx:290 +#: src/tables/bom/BomTable.tsx:292 #: src/tables/bom/UsedInTable.tsx:69 msgid "Show optional items" msgstr "" -#: src/tables/bom/BomTable.tsx:294 +#: src/tables/bom/BomTable.tsx:296 #: src/tables/build/BuildLineTable.tsx:41 msgid "Consumable" msgstr "" -#: src/tables/bom/BomTable.tsx:295 +#: src/tables/bom/BomTable.tsx:297 msgid "Show consumable items" msgstr "" -#: src/tables/bom/BomTable.tsx:299 +#: src/tables/bom/BomTable.tsx:301 msgid "Has Pricing" msgstr "" -#: src/tables/bom/BomTable.tsx:300 -msgid "Show items with pricing" -msgstr "" - #: src/tables/bom/BomTable.tsx:301 #~ msgid "Create BOM Item" #~ msgstr "Create BOM Item" -#: src/tables/bom/BomTable.tsx:309 -#: src/tables/bom/BomTable.tsx:397 +#: src/tables/bom/BomTable.tsx:302 +msgid "Show items with pricing" +msgstr "" + +#: src/tables/bom/BomTable.tsx:311 +#: src/tables/bom/BomTable.tsx:399 msgid "Add BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:314 +#: src/tables/bom/BomTable.tsx:316 msgid "BOM item created" msgstr "" -#: src/tables/bom/BomTable.tsx:321 +#: src/tables/bom/BomTable.tsx:323 msgid "Edit BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:323 +#: src/tables/bom/BomTable.tsx:325 msgid "BOM item updated" msgstr "" -#: src/tables/bom/BomTable.tsx:330 -msgid "Delete BOM Item" -msgstr "" - -#: src/tables/bom/BomTable.tsx:331 -msgid "BOM item deleted" -msgstr "" - #: src/tables/bom/BomTable.tsx:331 #~ msgid "Edit Bom Item" #~ msgstr "Edit Bom Item" +#: src/tables/bom/BomTable.tsx:332 +msgid "Delete BOM Item" +msgstr "" + +#: src/tables/bom/BomTable.tsx:333 +msgid "BOM item deleted" +msgstr "" + #: src/tables/bom/BomTable.tsx:333 #~ msgid "Bom item updated" #~ msgstr "Bom item updated" -#: src/tables/bom/BomTable.tsx:341 +#: src/tables/bom/BomTable.tsx:343 msgid "View BOM" msgstr "" @@ -4917,11 +5027,11 @@ msgstr "" #~ msgid "Are you sure you want to remove this BOM item?" #~ msgstr "Are you sure you want to remove this BOM item?" -#: src/tables/bom/BomTable.tsx:352 +#: src/tables/bom/BomTable.tsx:354 msgid "Validate BOM line" msgstr "" -#: src/tables/bom/BomTable.tsx:360 +#: src/tables/bom/BomTable.tsx:362 msgid "Edit Substitutes" msgstr "" @@ -5038,11 +5148,11 @@ msgid "Filter by responsible owner" msgstr "" #: src/tables/build/BuildOutputTable.tsx:114 -#: src/tables/build/BuildOutputTable.tsx:150 +#: src/tables/build/BuildOutputTable.tsx:152 msgid "Add Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:155 +#: src/tables/build/BuildOutputTable.tsx:157 msgid "Complete selected outputs" msgstr "" @@ -5050,68 +5160,68 @@ msgstr "" #~ msgid "Delete build output" #~ msgstr "Delete build output" -#: src/tables/build/BuildOutputTable.tsx:165 +#: src/tables/build/BuildOutputTable.tsx:167 msgid "Scrap selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:175 +#: src/tables/build/BuildOutputTable.tsx:177 msgid "Cancel selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:191 +#: src/tables/build/BuildOutputTable.tsx:193 msgid "Allocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:192 +#: src/tables/build/BuildOutputTable.tsx:194 msgid "Allocate stock to build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:197 +#: src/tables/build/BuildOutputTable.tsx:199 msgid "Deallocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:198 +#: src/tables/build/BuildOutputTable.tsx:200 msgid "Deallocate stock from build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:203 +#: src/tables/build/BuildOutputTable.tsx:205 msgid "Complete" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:204 +#: src/tables/build/BuildOutputTable.tsx:206 msgid "Complete build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:213 +#: src/tables/build/BuildOutputTable.tsx:215 msgid "Scrap" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:214 +#: src/tables/build/BuildOutputTable.tsx:216 msgid "Scrap build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:224 +#: src/tables/build/BuildOutputTable.tsx:226 msgid "Cancel build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:251 +#: src/tables/build/BuildOutputTable.tsx:253 msgid "Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:264 +#: src/tables/build/BuildOutputTable.tsx:266 msgid "Batch" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:278 +#: src/tables/build/BuildOutputTable.tsx:280 msgid "Allocated Items" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:288 +#: src/tables/build/BuildOutputTable.tsx:290 msgid "Required Tests" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:317 -#: src/tables/stock/StockItemTestResultTable.tsx:146 +#: src/tables/build/BuildOutputTable.tsx:319 +#: src/tables/stock/StockItemTestResultTable.tsx:144 msgid "Test Results" msgstr "" @@ -5132,7 +5242,7 @@ msgstr "" msgid "Delete Address" msgstr "" -#: src/tables/company/AddressTable.tsx:145 +#: src/tables/company/AddressTable.tsx:144 msgid "Are you sure you want to delete this address?" msgstr "" @@ -5177,36 +5287,52 @@ msgstr "" msgid "Add contact" msgstr "" -#: src/tables/general/AttachmentTable.tsx:161 +#: src/tables/general/AttachmentTable.tsx:130 msgid "File uploaded" msgstr "" -#: src/tables/general/AttachmentTable.tsx:162 +#: src/tables/general/AttachmentTable.tsx:131 msgid "File {0} uploaded successfully" msgstr "" -#: src/tables/general/AttachmentTable.tsx:173 +#: src/tables/general/AttachmentTable.tsx:142 msgid "Upload Error" msgstr "" -#: src/tables/general/AttachmentTable.tsx:174 +#: src/tables/general/AttachmentTable.tsx:143 msgid "File could not be uploaded" msgstr "" #: src/tables/general/AttachmentTable.tsx:187 +msgid "Upload Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:197 +msgid "Edit Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:211 +msgid "Delete Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:221 msgid "Add attachment" msgstr "" -#: src/tables/general/AttachmentTable.tsx:207 +#: src/tables/general/AttachmentTable.tsx:232 msgid "Add external link" msgstr "" -#: src/tables/general/AttachmentTable.tsx:239 +#: src/tables/general/AttachmentTable.tsx:254 +#~ msgid "Upload attachment" +#~ msgstr "Upload attachment" + +#: src/tables/general/AttachmentTable.tsx:289 msgid "No attachments found" msgstr "" -#: src/tables/general/AttachmentTable.tsx:254 -msgid "Upload attachment" +#: src/tables/general/AttachmentTable.tsx:325 +msgid "Drag attachment file here to upload" msgstr "" #: src/tables/machine/MachineListTable.tsx:199 @@ -5332,8 +5458,8 @@ msgstr "" #: src/tables/machine/MachineTypeTable.tsx:135 #: src/tables/machine/MachineTypeTable.tsx:255 -#: src/tables/plugin/PluginListTable.tsx:215 -#: src/tables/plugin/PluginListTable.tsx:643 +#: src/tables/plugin/PluginListTable.tsx:180 +#: src/tables/plugin/PluginListTable.tsx:568 msgid "Builtin" msgstr "" @@ -5375,7 +5501,7 @@ msgid "Message" msgstr "" #: src/tables/part/ParametricPartTable.tsx:75 -#: src/tables/part/PartParameterTable.tsx:87 +#: src/tables/part/PartParameterTable.tsx:88 msgid "Internal Units" msgstr "" @@ -5388,29 +5514,29 @@ msgid "Add Part Parameter" msgstr "" #: src/tables/part/ParametricPartTable.tsx:147 -#: src/tables/part/PartParameterTable.tsx:128 -#: src/tables/part/PartParameterTable.tsx:150 +#: src/tables/part/PartParameterTable.tsx:121 +#: src/tables/part/PartParameterTable.tsx:144 msgid "Edit Part Parameter" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:64 +#: src/tables/part/PartCategoryTable.tsx:60 #: src/tables/part/PartTable.tsx:180 msgid "Include Subcategories" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:65 +#: src/tables/part/PartCategoryTable.tsx:61 msgid "Include subcategories in results" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:70 +#: src/tables/part/PartCategoryTable.tsx:66 msgid "Show structural categories" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:77 +#: src/tables/part/PartCategoryTable.tsx:73 msgid "New Part Category" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:106 +#: src/tables/part/PartCategoryTable.tsx:98 msgid "Add Part Category" msgstr "" @@ -5435,20 +5561,20 @@ msgstr "" #~ msgid "[{0}]" #~ msgstr "[{0}]" -#: src/tables/part/PartParameterTable.tsx:112 +#: src/tables/part/PartParameterTable.tsx:105 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:136 -#: src/tables/part/PartParameterTable.tsx:158 +#: src/tables/part/PartParameterTable.tsx:130 +#: src/tables/part/PartParameterTable.tsx:152 msgid "Delete Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:175 +#: src/tables/part/PartParameterTable.tsx:170 msgid "Add parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:196 +#: src/tables/part/PartParameterTable.tsx:191 #: src/tables/stock/StockItemTable.tsx:300 msgid "Include Variants" msgstr "" @@ -5482,15 +5608,15 @@ msgstr "" msgid "Add Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:97 +#: src/tables/part/PartParameterTemplateTable.tsx:100 msgid "Edit Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:105 +#: src/tables/part/PartParameterTemplateTable.tsx:111 msgid "Delete Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:135 +#: src/tables/part/PartParameterTemplateTable.tsx:141 msgid "Add parameter template" msgstr "" @@ -5588,7 +5714,7 @@ msgid "No Results" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:79 -#: src/tables/stock/StockItemTestResultTable.tsx:385 +#: src/tables/stock/StockItemTestResultTable.tsx:376 msgid "Required" msgstr "" @@ -5597,8 +5723,8 @@ msgid "Show required tests" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:84 -#: src/tables/settings/TemplateTable.tsx:213 -#: src/tables/settings/TemplateTable.tsx:275 +#: src/tables/settings/TemplateTable.tsx:160 +#: src/tables/settings/TemplateTable.tsx:270 msgid "Enabled" msgstr "" @@ -5639,26 +5765,30 @@ msgid "Show tests which have recorded results" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:126 -#: src/tables/part/PartTestTemplateTable.tsx:195 +#: src/tables/part/PartTestTemplateTable.tsx:201 msgid "Add Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:139 +#: src/tables/part/PartTestTemplateTable.tsx:142 msgid "Edit Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:147 +#: src/tables/part/PartTestTemplateTable.tsx:153 msgid "Delete Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:149 +#: src/tables/part/PartTestTemplateTable.tsx:155 msgid "This action cannot be reversed" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:151 +#: src/tables/part/PartTestTemplateTable.tsx:157 msgid "Any tests results associated with this template will be deleted" msgstr "" +#: src/tables/part/PartThumbTable.tsx:203 +msgid "Select" +msgstr "" + #: src/tables/part/PartVariantTable.tsx:16 msgid "Show active variants" msgstr "" @@ -5695,252 +5825,273 @@ msgstr "" msgid "Stage" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:113 -msgid "Plugin with id {id} not found" +#: src/tables/plugin/PluginListTable.tsx:95 +msgid "Plugin with key {pluginKey} not found" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:115 +#: src/tables/plugin/PluginListTable.tsx:97 msgid "An error occurred while fetching plugin details" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:134 -msgid "Plugin Actions" -msgstr "" +#: src/tables/plugin/PluginListTable.tsx:113 +#~ msgid "Plugin with id {id} not found" +#~ msgstr "Plugin with id {id} not found" -#: src/tables/plugin/PluginListTable.tsx:138 -#: src/tables/plugin/PluginListTable.tsx:141 -msgid "Edit plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:152 -#: src/tables/plugin/PluginListTable.tsx:153 -msgid "Reload" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:166 +#: src/tables/plugin/PluginListTable.tsx:122 msgid "Plugin information" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:177 +#: src/tables/plugin/PluginListTable.tsx:134 msgid "Author" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:198 +#: src/tables/plugin/PluginListTable.tsx:134 +#~ msgid "Plugin Actions" +#~ msgstr "Plugin Actions" + +#: src/tables/plugin/PluginListTable.tsx:138 +#: src/tables/plugin/PluginListTable.tsx:141 +#~ msgid "Edit plugin" +#~ msgstr "Edit plugin" + +#: src/tables/plugin/PluginListTable.tsx:152 +#: src/tables/plugin/PluginListTable.tsx:153 +#~ msgid "Reload" +#~ msgstr "Reload" + +#: src/tables/plugin/PluginListTable.tsx:154 +msgid "Plugin is not active" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:163 msgid "Package information" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:204 +#: src/tables/plugin/PluginListTable.tsx:169 msgid "Package Name" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:210 +#: src/tables/plugin/PluginListTable.tsx:175 msgid "Installation Path" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:220 +#: src/tables/plugin/PluginListTable.tsx:185 msgid "Package" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:231 +#: src/tables/plugin/PluginListTable.tsx:197 msgid "Plugin settings" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:248 +#: src/tables/plugin/PluginListTable.tsx:214 msgid "Plugin is active" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:254 +#: src/tables/plugin/PluginListTable.tsx:220 msgid "Plugin is inactive" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:261 +#: src/tables/plugin/PluginListTable.tsx:227 msgid "Plugin is not installed" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:287 +#: src/tables/plugin/PluginListTable.tsx:253 msgid "Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:312 +#: src/tables/plugin/PluginListTable.tsx:287 msgid "Description not available" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:338 +#: src/tables/plugin/PluginListTable.tsx:319 +msgid "Confirm plugin activation" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:320 +msgid "Confirm plugin deactivation" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:325 +msgid "The selected plugin will be activated" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:326 +msgid "The selected plugin will be deactivated" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:334 msgid "Activate Plugin" msgstr "" #: src/tables/plugin/PluginListTable.tsx:338 -msgid "Deactivate Plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:347 -msgid "Confirm plugin activation" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:348 -msgid "Confirm plugin deactivation" -msgstr "" +#~ msgid "Deactivate Plugin" +#~ msgstr "Deactivate Plugin" #: src/tables/plugin/PluginListTable.tsx:354 -msgid "The following plugin will be activated" -msgstr "" +#~ msgid "The following plugin will be activated" +#~ msgstr "The following plugin will be activated" #: src/tables/plugin/PluginListTable.tsx:355 -msgid "The following plugin will be deactivated" -msgstr "" +#~ msgid "The following plugin will be deactivated" +#~ msgstr "The following plugin will be deactivated" -#: src/tables/plugin/PluginListTable.tsx:366 -msgid "Confirm" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:376 -msgid "Activating plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:376 -msgid "Deactivating plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:392 -msgid "Plugin updated" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:394 -msgid "The plugin was activated" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:395 -msgid "The plugin was deactivated" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:403 -msgid "Error updating plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:423 +#: src/tables/plugin/PluginListTable.tsx:362 msgid "Deactivate" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:432 +#: src/tables/plugin/PluginListTable.tsx:366 +#~ msgid "Confirm" +#~ msgstr "Confirm" + +#: src/tables/plugin/PluginListTable.tsx:373 msgid "Activate" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:463 +#: src/tables/plugin/PluginListTable.tsx:376 +#~ msgid "Activating plugin" +#~ msgstr "Activating plugin" + +#: src/tables/plugin/PluginListTable.tsx:376 +#~ msgid "Deactivating plugin" +#~ msgstr "Deactivating plugin" + +#: src/tables/plugin/PluginListTable.tsx:392 +#~ msgid "Plugin updated" +#~ msgstr "Plugin updated" + +#: src/tables/plugin/PluginListTable.tsx:394 +#~ msgid "The plugin was activated" +#~ msgstr "The plugin was activated" + +#: src/tables/plugin/PluginListTable.tsx:395 +#~ msgid "The plugin was deactivated" +#~ msgstr "The plugin was deactivated" + +#: src/tables/plugin/PluginListTable.tsx:403 +#~ msgid "Error updating plugin" +#~ msgstr "Error updating plugin" + +#: src/tables/plugin/PluginListTable.tsx:406 msgid "Uninstall" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:495 +#: src/tables/plugin/PluginListTable.tsx:438 msgid "Install plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:508 +#: src/tables/plugin/PluginListTable.tsx:451 msgid "Install" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:512 +#: src/tables/plugin/PluginListTable.tsx:452 msgid "Plugin installed successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:525 +#: src/tables/plugin/PluginListTable.tsx:457 msgid "Uninstall Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:537 +#: src/tables/plugin/PluginListTable.tsx:469 msgid "Confirm plugin uninstall" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:540 +#: src/tables/plugin/PluginListTable.tsx:472 msgid "The selected plugin will be uninstalled." msgstr "" -#: src/tables/plugin/PluginListTable.tsx:541 +#: src/tables/plugin/PluginListTable.tsx:473 msgid "This action cannot be undone." msgstr "" -#: src/tables/plugin/PluginListTable.tsx:547 +#: src/tables/plugin/PluginListTable.tsx:477 msgid "Plugin uninstalled successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:560 +#: src/tables/plugin/PluginListTable.tsx:484 msgid "Delete Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:562 +#: src/tables/plugin/PluginListTable.tsx:485 msgid "Deleting this plugin configuration will remove all associated settings and data. Are you sure you want to delete this plugin?" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:574 +#: src/tables/plugin/PluginListTable.tsx:498 msgid "Plugins reloaded" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:575 +#: src/tables/plugin/PluginListTable.tsx:499 msgid "Plugins were reloaded successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:591 +#: src/tables/plugin/PluginListTable.tsx:515 msgid "Reload Plugins" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:600 +#: src/tables/plugin/PluginListTable.tsx:524 msgid "Install Plugin" msgstr "" +#: src/tables/plugin/PluginListTable.tsx:544 +msgid "Plugin Detail" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:573 +msgid "Sample" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:578 +#: src/tables/stock/StockItemTable.tsx:305 +msgid "Installed" +msgstr "" + #: src/tables/plugin/PluginListTable.tsx:615 #~ msgid "Plugin detail" #~ msgstr "Plugin detail" -#: src/tables/plugin/PluginListTable.tsx:619 -msgid "Plugin Detail" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:648 -msgid "Sample" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:653 -#: src/tables/stock/StockItemTable.tsx:305 -msgid "Installed" -msgstr "" - -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:57 -msgid "Edit Parameter" +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:59 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:108 +msgid "Add Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:60 -msgid "Parameter updated" -msgstr "" +#~ msgid "Parameter updated" +#~ msgstr "Parameter updated" -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:71 -msgid "Delete Parameter" +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:70 +msgid "Edit Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:73 -msgid "Parameter deleted" -msgstr "" +#~ msgid "Parameter deleted" +#~ msgstr "Parameter deleted" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:74 -msgid "Are you sure you want to delete this parameter?" +#~ msgid "Are you sure you want to delete this parameter?" +#~ msgstr "Are you sure you want to delete this parameter?" + +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:78 +msgid "Delete Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartTable.tsx:63 #~ msgid "Create Manufacturer Part" #~ msgstr "Create Manufacturer Part" -#: src/tables/purchasing/ManufacturerPartTable.tsx:100 -msgid "Manufacturer part updated" -msgstr "" - -#: src/tables/purchasing/ManufacturerPartTable.tsx:111 +#: src/tables/purchasing/ManufacturerPartTable.tsx:92 msgid "Delete Manufacturer Part" msgstr "" +#: src/tables/purchasing/ManufacturerPartTable.tsx:100 +#~ msgid "Manufacturer part updated" +#~ msgstr "Manufacturer part updated" + #: src/tables/purchasing/ManufacturerPartTable.tsx:112 -msgid "Manufacturer part deleted" -msgstr "" +#~ msgid "Manufacturer part deleted" +#~ msgstr "Manufacturer part deleted" #: src/tables/purchasing/ManufacturerPartTable.tsx:114 -msgid "Are you sure you want to remove this manufacturer part?" -msgstr "" +#~ msgid "Are you sure you want to remove this manufacturer part?" +#~ msgstr "Are you sure you want to remove this manufacturer part?" #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:86 msgid "Part Description" @@ -6087,18 +6238,22 @@ msgid "Error Information" msgstr "" #: src/tables/settings/ErrorTable.tsx:51 -msgid "Delete error report" +msgid "Delete Error Report" msgstr "" +#: src/tables/settings/ErrorTable.tsx:51 +#~ msgid "Delete error report" +#~ msgstr "Delete error report" + #: src/tables/settings/ErrorTable.tsx:53 -msgid "Error report deleted" -msgstr "" - -#: src/tables/settings/ErrorTable.tsx:54 msgid "Are you sure you want to delete this error report?" msgstr "" -#: src/tables/settings/ErrorTable.tsx:67 +#: src/tables/settings/ErrorTable.tsx:55 +msgid "Error report deleted" +msgstr "" + +#: src/tables/settings/ErrorTable.tsx:77 #: src/tables/settings/FailedTasksTable.tsx:57 msgid "Error Details" msgstr "" @@ -6115,7 +6270,7 @@ msgid "Task ID" msgstr "" #: src/tables/settings/FailedTasksTable.tsx:34 -#: src/tables/stock/StockItemTestResultTable.tsx:214 +#: src/tables/stock/StockItemTestResultTable.tsx:205 msgid "Started" msgstr "" @@ -6188,30 +6343,71 @@ msgstr "" msgid "Next Run" msgstr "" -#: src/tables/settings/TemplateTable.tsx:120 -msgid "{templateTypeTranslation} with id {id} not found" +#: src/tables/settings/TemplateTable.tsx:82 +msgid "Template not found" msgstr "" +#: src/tables/settings/TemplateTable.tsx:84 +msgid "An error occurred while fetching template details" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:120 +#~ msgid "{templateTypeTranslation} with id {id} not found" +#~ msgstr "{templateTypeTranslation} with id {id} not found" + #: src/tables/settings/TemplateTable.tsx:124 -msgid "An error occurred while fetching {templateTypeTranslation} details" -msgstr "" +#~ msgid "An error occurred while fetching {templateTypeTranslation} details" +#~ msgstr "An error occurred while fetching {templateTypeTranslation} details" #: src/tables/settings/TemplateTable.tsx:146 -msgid "actions" +#~ msgid "actions" +#~ msgstr "actions" + +#: src/tables/settings/TemplateTable.tsx:170 +msgid "Modify" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:171 +msgid "Modify template file" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:222 +#: src/tables/settings/TemplateTable.tsx:289 +msgid "Edit Template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:230 +msgid "Delete template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:236 +msgid "Add Template" msgstr "" #: src/tables/settings/TemplateTable.tsx:243 -msgid "Add new" -msgstr "" +#~ msgid "Add new" +#~ msgstr "Add new" #: src/tables/settings/TemplateTable.tsx:243 #~ msgid "Create new" #~ msgstr "Create new" -#: src/tables/settings/TemplateTable.tsx:276 +#: src/tables/settings/TemplateTable.tsx:249 +msgid "Add template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:271 msgid "Filter by enabled status" msgstr "" +#: src/tables/settings/TemplateTable.tsx:276 +msgid "Model Type" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:277 +msgid "Filter by target model type" +msgstr "" + #: src/tables/settings/UserTable.tsx:79 msgid "User with id {id} not found" msgstr "" @@ -6277,6 +6473,23 @@ msgstr "" msgid "Edit user" msgstr "" +#: src/tables/stock/LocationTypesTable.tsx:36 +#: src/tables/stock/LocationTypesTable.tsx:105 +msgid "Add Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:44 +msgid "Edit Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:52 +msgid "Delete Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:69 +msgid "Icon" +msgstr "" + #: src/tables/stock/StockItemTable.tsx:90 msgid "This stock item is in production" msgstr "" @@ -6338,7 +6551,7 @@ msgid "Show items which are available" msgstr "" #: src/tables/stock/StockItemTable.tsx:280 -#: src/tables/stock/StockLocationTable.tsx:37 +#: src/tables/stock/StockLocationTable.tsx:33 msgid "Include Sublocations" msgstr "" @@ -6467,123 +6680,135 @@ msgstr "" msgid "Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:153 +#: src/tables/stock/StockItemTestResultTable.tsx:151 msgid "Test result for installed stock item" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:164 +#: src/tables/stock/StockItemTestResultTable.tsx:162 msgid "Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:170 +#: src/tables/stock/StockItemTestResultTable.tsx:168 msgid "No Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:186 +#: src/tables/stock/StockItemTestResultTable.tsx:184 msgid "Attachment" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:209 +#: src/tables/stock/StockItemTestResultTable.tsx:200 msgid "Test station" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:229 +#: src/tables/stock/StockItemTestResultTable.tsx:220 msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:277 -#: src/tables/stock/StockItemTestResultTable.tsx:349 -#: src/tables/stock/StockItemTestResultTable.tsx:404 +#: src/tables/stock/StockItemTestResultTable.tsx:268 +#: src/tables/stock/StockItemTestResultTable.tsx:340 +#: src/tables/stock/StockItemTestResultTable.tsx:395 msgid "Add Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:279 +#: src/tables/stock/StockItemTestResultTable.tsx:270 msgid "Test result added" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:288 -#: src/tables/stock/StockItemTestResultTable.tsx:359 +#: src/tables/stock/StockItemTestResultTable.tsx:279 +#: src/tables/stock/StockItemTestResultTable.tsx:350 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:290 +#: src/tables/stock/StockItemTestResultTable.tsx:281 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:296 -#: src/tables/stock/StockItemTestResultTable.tsx:368 +#: src/tables/stock/StockItemTestResultTable.tsx:287 +#: src/tables/stock/StockItemTestResultTable.tsx:359 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:298 +#: src/tables/stock/StockItemTestResultTable.tsx:289 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:312 +#: src/tables/stock/StockItemTestResultTable.tsx:303 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:313 +#: src/tables/stock/StockItemTestResultTable.tsx:304 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:320 +#: src/tables/stock/StockItemTestResultTable.tsx:311 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:337 +#: src/tables/stock/StockItemTestResultTable.tsx:328 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:386 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:390 +#: src/tables/stock/StockItemTestResultTable.tsx:381 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:391 +#: src/tables/stock/StockItemTestResultTable.tsx:382 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:395 +#: src/tables/stock/StockItemTestResultTable.tsx:386 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:396 +#: src/tables/stock/StockItemTestResultTable.tsx:387 msgid "Show only passed tests" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:38 +#: src/tables/stock/StockLocationTable.tsx:34 msgid "Include sublocations in results" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:42 +#: src/tables/stock/StockLocationTable.tsx:38 msgid "structural" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:43 +#: src/tables/stock/StockLocationTable.tsx:39 msgid "Show structural locations" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:47 +#: src/tables/stock/StockLocationTable.tsx:43 msgid "external" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:48 +#: src/tables/stock/StockLocationTable.tsx:44 msgid "Show external locations" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:52 +#: src/tables/stock/StockLocationTable.tsx:48 msgid "Has location type" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:89 -#: src/tables/stock/StockLocationTable.tsx:118 +#: src/tables/stock/StockLocationTable.tsx:85 +#: src/tables/stock/StockLocationTable.tsx:110 msgid "Add Stock Location" msgstr "" +#: src/tables/stock/StockTrackingTable.tsx:64 +msgid "Added" +msgstr "" + +#: src/tables/stock/StockTrackingTable.tsx:69 +msgid "Removed" +msgstr "" + +#: src/tables/stock/StockTrackingTable.tsx:198 +msgid "No user information" +msgstr "" + #: src/views/MobileAppView.tsx:22 msgid "Mobile viewport detected" msgstr "" diff --git a/src/frontend/src/locales/fi/messages.po b/src/frontend/src/locales/fi/messages.po index 1670525b78..1eb8fcf8a5 100644 --- a/src/frontend/src/locales/fi/messages.po +++ b/src/frontend/src/locales/fi/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: fi\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-05-13 02:48\n" +"PO-Revision-Date: 2024-05-23 11:38\n" "Last-Translator: \n" "Language-Team: Finnish\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -30,10 +30,67 @@ msgstr "" msgid "Title" msgstr "" +#: src/components/buttons/AdminButton.tsx:83 +msgid "Open in admin interface" +msgstr "" + #: src/components/buttons/CopyButton.tsx:18 msgid "Copy to clipboard" msgstr "" +#: src/components/buttons/PrintingActions.tsx:95 +msgid "Print Label" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:101 +msgid "Label printing completed successfully" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:106 +#: src/components/buttons/PrintingActions.tsx:143 +#: src/components/forms/ApiForm.tsx:504 +#: src/components/forms/fields/ApiFormField.tsx:295 +#: src/components/modals/LicenseModal.tsx:75 +#: src/components/nav/SearchDrawer.tsx:413 +#: src/components/widgets/MarkdownEditor.tsx:107 +#: src/components/widgets/MarkdownEditor.tsx:153 +#: src/pages/ErrorPage.tsx:12 +#: src/pages/ErrorPage.tsx:25 +#: src/pages/part/PartPricingPanel.tsx:71 +#: src/tables/InvenTreeTable.tsx:451 +#: src/tables/InvenTreeTable.tsx:531 +#: src/tables/stock/StockItemTestResultTable.tsx:310 +msgid "Error" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:107 +msgid "The label could not be generated" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:122 +msgid "Print Report" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:138 +msgid "Report printing completed successfully" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:144 +msgid "The report could not be generated" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:171 +msgid "Printing Actions" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:176 +msgid "Print Labels" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:182 +msgid "Print Reports" +msgstr "" + #: src/components/buttons/ScanButton.tsx:15 msgid "Scan QR code" msgstr "" @@ -64,15 +121,15 @@ msgstr "" msgid "No" msgstr "" -#: src/components/details/Details.tsx:302 +#: src/components/details/Details.tsx:303 msgid "No name defined" msgstr "" -#: src/components/details/Details.tsx:339 +#: src/components/details/Details.tsx:340 msgid "Copied" msgstr "" -#: src/components/details/Details.tsx:339 +#: src/components/details/Details.tsx:340 msgid "Copy" msgstr "" @@ -85,24 +142,23 @@ msgid "Remove the associated image from this item?" msgstr "" #: src/components/details/DetailsImage.tsx:71 -#: src/forms/StockForms.tsx:442 +#: src/forms/StockForms.tsx:483 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:448 +#: src/pages/stock/StockDetail.tsx:462 msgid "Remove" msgstr "" #: src/components/details/DetailsImage.tsx:71 -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:163 -#: src/components/items/ActionDropdown.tsx:222 -#: src/components/items/ActionDropdown.tsx:223 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 +#: src/components/items/ActionDropdown.tsx:229 +#: src/components/items/ActionDropdown.tsx:230 #: src/contexts/ThemeContext.tsx:43 #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:40 -#: src/tables/FilterSelectDrawer.tsx:218 -#: src/tables/InvenTreeTable.tsx:493 -#: src/tables/build/BuildOutputTable.tsx:223 -#: src/tables/plugin/PluginListTable.tsx:365 +#: src/tables/FilterSelectDrawer.tsx:207 +#: src/tables/InvenTreeTable.tsx:499 +#: src/tables/build/BuildOutputTable.tsx:225 msgid "Cancel" msgstr "" @@ -119,7 +175,7 @@ msgid "Clear" msgstr "" #: src/components/details/DetailsImage.tsx:227 -#: src/components/forms/ApiForm.tsx:554 +#: src/components/forms/ApiForm.tsx:571 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:56 msgid "Submit" @@ -150,9 +206,10 @@ msgid "Part is not active" msgstr "" #: src/components/details/PartIcons.tsx:34 -#: src/pages/company/CompanyDetail.tsx:308 -#: src/pages/company/SupplierPartDetail.tsx:304 -#: src/pages/part/PartDetail.tsx:684 +#: src/components/render/Plugin.tsx:17 +#: src/pages/company/CompanyDetail.tsx:310 +#: src/pages/company/SupplierPartDetail.tsx:305 +#: src/pages/part/PartDetail.tsx:685 msgid "Inactive" msgstr "" @@ -196,10 +253,10 @@ msgid "Code" msgstr "" #: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:44 -msgid "Failed to parse error response from server." -msgstr "" +#~ msgid "Failed to parse error response from server." +#~ msgstr "Failed to parse error response from server." -#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:82 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:81 msgid "Preview not available, click \"Reload Preview\"." msgstr "" @@ -207,98 +264,99 @@ msgstr "" msgid "PDF Preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:113 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:104 msgid "Error loading template" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:125 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:116 msgid "Error saving template" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 -msgid "Save & Reload preview?" +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:146 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:270 +msgid "Save & Reload Preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:156 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 msgid "Are you sure you want to Save & Reload the preview?" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 +#~ msgid "Save & Reload preview?" +#~ msgstr "Save & Reload preview?" + +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:153 msgid "To render the preview the current template needs to be replaced on the server with your modifications which may break the label if it is under active use. Do you want to proceed?" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:162 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:157 msgid "Save & Reload" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:191 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:189 msgid "Preview updated" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:192 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:190 msgid "The preview has been updated successfully." msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:255 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:262 msgid "Reload preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:256 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:263 msgid "Use the currently stored template from the server" msgstr "" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:263 -msgid "Save & Reload preview" -msgstr "" +#~ msgid "Save & Reload preview" +#~ msgstr "Save & Reload preview" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:264 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:271 msgid "Save the current template and reload the preview" msgstr "" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:322 -#: src/tables/part/PartThumbTable.tsx:203 -msgid "Select" +#~ msgid "to preview" +#~ msgstr "to preview" + +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:329 +msgid "Select instance to preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:322 -msgid "to preview" -msgstr "" - -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:366 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:373 msgid "Error rendering template" msgstr "" -#: src/components/forms/ApiForm.tsx:143 +#: src/components/forms/ApiForm.tsx:148 #: src/functions/forms.tsx:259 msgid "Form Error" msgstr "" -#: src/components/forms/ApiForm.tsx:411 +#: src/components/forms/ApiForm.tsx:428 #: src/components/widgets/MarkdownEditor.tsx:145 msgid "Success" msgstr "" #: src/components/forms/ApiForm.tsx:487 -msgid "Form Errors Exist" -msgstr "" +#~ msgid "Form Errors Exist" +#~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:592 -#: src/tables/plugin/PluginListTable.tsx:445 +#: src/components/forms/ApiForm.tsx:609 +#: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "" -#: src/components/forms/ApiForm.tsx:612 -#: src/components/items/ActionDropdown.tsx:203 +#: src/components/forms/ApiForm.tsx:629 +#: src/components/items/ActionDropdown.tsx:210 #: src/functions/forms.tsx:299 #: src/hooks/UseForm.tsx:122 #: src/pages/Index/Scan.tsx:343 #: src/pages/Notifications.tsx:123 -#: src/tables/InvenTreeTable.tsx:492 +#: src/tables/InvenTreeTable.tsx:498 #: src/tables/RowActions.tsx:71 -#: src/tables/plugin/PluginListTable.tsx:477 -#: src/tables/settings/TemplateTable.tsx:105 -#: src/tables/settings/TemplateTable.tsx:154 -#: src/tables/settings/TemplateTable.tsx:236 +#: src/tables/plugin/PluginListTable.tsx:420 msgid "Delete" msgstr "" @@ -468,18 +526,19 @@ msgstr "" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 -#: src/pages/part/CategoryDetail.tsx:77 -#: src/pages/part/PartDetail.tsx:125 -#: src/pages/stock/LocationDetail.tsx:83 +#: src/pages/part/CategoryDetail.tsx:78 +#: src/pages/part/PartDetail.tsx:126 +#: src/pages/stock/LocationDetail.tsx:85 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 #: src/tables/machine/MachineTypeTable.tsx:216 #: src/tables/machine/MachineTypeTable.tsx:319 #: src/tables/plugin/PluginErrorTable.tsx:33 -#: src/tables/plugin/PluginListTable.tsx:169 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:27 +#: src/tables/plugin/PluginListTable.tsx:126 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:32 #: src/tables/settings/GroupTable.tsx:103 #: src/tables/settings/PendingTasksTable.tsx:26 +#: src/tables/stock/LocationTypesTable.tsx:60 msgid "Name" msgstr "" @@ -520,35 +579,20 @@ msgstr "" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/ApiFormField.tsx:276 -#: src/components/modals/LicenseModal.tsx:75 -#: src/components/nav/SearchDrawer.tsx:413 -#: src/components/widgets/MarkdownEditor.tsx:107 -#: src/components/widgets/MarkdownEditor.tsx:153 -#: src/pages/ErrorPage.tsx:12 -#: src/pages/ErrorPage.tsx:25 -#: src/pages/part/PartPricingPanel.tsx:71 -#: src/tables/InvenTreeTable.tsx:445 -#: src/tables/InvenTreeTable.tsx:525 -#: src/tables/plugin/PluginListTable.tsx:402 -#: src/tables/stock/StockItemTestResultTable.tsx:319 -msgid "Error" -msgstr "" - -#: src/components/forms/fields/RelatedModelField.tsx:305 +#: src/components/forms/fields/RelatedModelField.tsx:315 #: src/pages/Index/Settings/UserSettings.tsx:64 #: src/tables/Search.tsx:23 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:306 +#: src/components/forms/fields/RelatedModelField.tsx:316 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:120 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:308 +#: src/components/forms/fields/RelatedModelField.tsx:318 msgid "No results found" msgstr "" @@ -569,54 +613,51 @@ msgstr "" msgid "Thumbnail" msgstr "" -#: src/components/items/ActionDropdown.tsx:112 -#: src/pages/build/BuildDetail.tsx:354 +#: src/components/items/ActionDropdown.tsx:119 +#: src/pages/build/BuildDetail.tsx:360 msgid "Barcode Actions" msgstr "" -#: src/components/items/ActionDropdown.tsx:129 +#: src/components/items/ActionDropdown.tsx:136 msgid "View" msgstr "" -#: src/components/items/ActionDropdown.tsx:130 +#: src/components/items/ActionDropdown.tsx:137 msgid "View barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:146 +#: src/components/items/ActionDropdown.tsx:153 msgid "Link Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:147 +#: src/components/items/ActionDropdown.tsx:154 msgid "Link custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:163 -#: src/forms/PurchaseOrderForms.tsx:375 +#: src/components/items/ActionDropdown.tsx:170 +#: src/forms/PurchaseOrderForms.tsx:389 msgid "Unlink Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:164 +#: src/components/items/ActionDropdown.tsx:171 msgid "Unlink custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:182 +#: src/components/items/ActionDropdown.tsx:189 #: src/tables/RowActions.tsx:51 -#: src/tables/settings/TemplateTable.tsx:87 -#: src/tables/settings/TemplateTable.tsx:150 -#: src/tables/settings/TemplateTable.tsx:287 msgid "Edit" msgstr "" -#: src/components/items/ActionDropdown.tsx:204 +#: src/components/items/ActionDropdown.tsx:211 msgid "Delete item" msgstr "" -#: src/components/items/ActionDropdown.tsx:241 +#: src/components/items/ActionDropdown.tsx:248 #: src/tables/RowActions.tsx:31 msgid "Duplicate" msgstr "" -#: src/components/items/ActionDropdown.tsx:242 +#: src/components/items/ActionDropdown.tsx:249 msgid "Duplicate item" msgstr "" @@ -625,7 +666,7 @@ msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:437 +#: src/tables/InvenTreeTable.tsx:443 msgid "Unknown error" msgstr "" @@ -785,27 +826,27 @@ msgstr "" #: src/components/modals/QrCodeModal.tsx:154 #: src/defaults/menuItems.tsx:21 -#: src/pages/Index/Scan.tsx:747 +#: src/pages/Index/Scan.tsx:746 msgid "Scanning" msgstr "" #: src/components/modals/QrCodeModal.tsx:154 -#: src/pages/Index/Scan.tsx:747 +#: src/pages/Index/Scan.tsx:746 msgid "Not scanning" msgstr "" #: src/components/modals/QrCodeModal.tsx:159 -#: src/pages/Index/Scan.tsx:753 +#: src/pages/Index/Scan.tsx:752 msgid "Select Camera" msgstr "" #: src/components/modals/QrCodeModal.tsx:169 -#: src/pages/Index/Scan.tsx:738 +#: src/pages/Index/Scan.tsx:737 msgid "Start scanning" msgstr "" #: src/components/modals/QrCodeModal.tsx:176 -#: src/pages/Index/Scan.tsx:730 +#: src/pages/Index/Scan.tsx:729 msgid "Stop scanning" msgstr "" @@ -891,8 +932,8 @@ msgid "Email settings not configured" msgstr "" #: src/components/modals/ServerInfoModal.tsx:121 -#: src/tables/plugin/PluginListTable.tsx:187 -#: src/tables/plugin/PluginListTable.tsx:319 +#: src/tables/plugin/PluginListTable.tsx:144 +#: src/tables/plugin/PluginListTable.tsx:294 msgid "Version" msgstr "" @@ -926,13 +967,13 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:293 +#: src/pages/Index/Settings/SystemSettings.tsx:294 msgid "System Settings" msgstr "" #: src/components/nav/MainMenu.tsx:67 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:172 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 msgid "Admin Center" msgstr "" @@ -975,7 +1016,7 @@ msgid "Pages" msgstr "" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:133 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:153 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "" @@ -1013,9 +1054,9 @@ msgid "Mark as read" msgstr "" #: src/components/nav/PartCategoryTree.tsx:158 -#: src/components/render/ModelType.tsx:60 +#: src/components/render/ModelType.tsx:64 #: src/pages/Index/Settings/SystemSettings.tsx:162 -#: src/pages/part/CategoryDetail.tsx:248 +#: src/pages/part/CategoryDetail.tsx:249 msgid "Part Categories" msgstr "" @@ -1052,142 +1093,147 @@ msgid "No results available for search query" msgstr "" #: src/components/nav/StockLocationTree.tsx:93 -#: src/components/render/ModelType.tsx:76 -#: src/pages/stock/LocationDetail.tsx:175 +#: src/components/render/ModelType.tsx:82 +#: src/pages/stock/LocationDetail.tsx:185 msgid "Stock Locations" msgstr "" -#: src/components/render/Instance.tsx:137 +#: src/components/render/Instance.tsx:166 msgid "Unknown model: {model}" msgstr "" -#: src/components/render/ModelType.tsx:21 -#: src/forms/BuildForms.tsx:184 -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49 +#: src/components/render/ModelType.tsx:22 +#: src/forms/BuildForms.tsx:201 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:83 #: src/pages/part/PartDetail.tsx:828 #: src/tables/part/RelatedPartTable.tsx:45 +#: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" msgstr "" -#: src/components/render/ModelType.tsx:22 +#: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 #: src/pages/Index/Settings/SystemSettings.tsx:167 -#: src/pages/part/CategoryDetail.tsx:109 -#: src/pages/part/CategoryDetail.tsx:234 -#: src/pages/part/CategoryDetail.tsx:264 -#: src/pages/part/PartDetail.tsx:638 +#: src/pages/part/CategoryDetail.tsx:110 +#: src/pages/part/CategoryDetail.tsx:235 +#: src/pages/part/CategoryDetail.tsx:265 +#: src/pages/part/PartDetail.tsx:639 msgid "Parts" msgstr "" -#: src/components/render/ModelType.tsx:29 +#: src/components/render/ModelType.tsx:31 msgid "Part Parameter Template" msgstr "" -#: src/components/render/ModelType.tsx:30 +#: src/components/render/ModelType.tsx:32 msgid "Part Parameter Templates" msgstr "" -#: src/components/render/ModelType.tsx:36 +#: src/components/render/ModelType.tsx:38 msgid "Part Test Template" msgstr "" -#: src/components/render/ModelType.tsx:37 +#: src/components/render/ModelType.tsx:39 msgid "Part Test Templates" msgstr "" -#: src/components/render/ModelType.tsx:43 -#: src/pages/company/SupplierPartDetail.tsx:189 -#: src/pages/company/SupplierPartDetail.tsx:317 -#: src/pages/stock/StockDetail.tsx:159 +#: src/components/render/ModelType.tsx:45 +#: src/pages/company/SupplierPartDetail.tsx:190 +#: src/pages/company/SupplierPartDetail.tsx:318 +#: src/pages/stock/StockDetail.tsx:162 #: src/tables/purchasing/SupplierPartTable.tsx:68 msgid "Supplier Part" msgstr "" -#: src/components/render/ModelType.tsx:44 +#: src/components/render/ModelType.tsx:46 msgid "Supplier Parts" msgstr "" -#: src/components/render/ModelType.tsx:51 -#: src/pages/company/ManufacturerPartDetail.tsx:124 +#: src/components/render/ModelType.tsx:54 +#: src/pages/company/ManufacturerPartDetail.tsx:125 msgid "Manufacturer Part" msgstr "" -#: src/components/render/ModelType.tsx:52 +#: src/components/render/ModelType.tsx:55 msgid "Manufacturer Parts" msgstr "" -#: src/components/render/ModelType.tsx:59 -#: src/pages/part/CategoryDetail.tsx:287 +#: src/components/render/ModelType.tsx:63 +#: src/pages/part/CategoryDetail.tsx:288 msgid "Part Category" msgstr "" -#: src/components/render/ModelType.tsx:67 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67 -#: src/pages/stock/StockDetail.tsx:535 +#: src/components/render/ModelType.tsx:72 +#: src/pages/stock/StockDetail.tsx:548 +#: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" msgstr "" -#: src/components/render/ModelType.tsx:68 -#: src/pages/company/CompanyDetail.tsx:197 -#: src/pages/stock/LocationDetail.tsx:116 -#: src/pages/stock/LocationDetail.tsx:161 +#: src/components/render/ModelType.tsx:73 +#: src/pages/company/CompanyDetail.tsx:199 +#: src/pages/stock/LocationDetail.tsx:118 +#: src/pages/stock/LocationDetail.tsx:171 #: src/pages/stock/LocationDetail.tsx:365 msgid "Stock Items" msgstr "" -#: src/components/render/ModelType.tsx:75 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:154 +#: src/components/render/ModelType.tsx:81 msgid "Stock Location" msgstr "" -#: src/components/render/ModelType.tsx:83 +#: src/components/render/ModelType.tsx:90 +msgid "Stock Location Type" +msgstr "" + +#: src/components/render/ModelType.tsx:91 +msgid "Stock Location Types" +msgstr "" + +#: src/components/render/ModelType.tsx:95 msgid "Stock History" msgstr "" -#: src/components/render/ModelType.tsx:84 +#: src/components/render/ModelType.tsx:96 msgid "Stock Histories" msgstr "" -#: src/components/render/ModelType.tsx:88 +#: src/components/render/ModelType.tsx:100 #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:43 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:126 msgid "Build" msgstr "" -#: src/components/render/ModelType.tsx:89 +#: src/components/render/ModelType.tsx:101 msgid "Builds" msgstr "" -#: src/components/render/ModelType.tsx:96 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:76 +#: src/components/render/ModelType.tsx:109 msgid "Build Line" msgstr "" -#: src/components/render/ModelType.tsx:97 +#: src/components/render/ModelType.tsx:110 msgid "Build Lines" msgstr "" -#: src/components/render/ModelType.tsx:104 -#: src/pages/company/CompanyDetail.tsx:321 +#: src/components/render/ModelType.tsx:117 +#: src/pages/company/CompanyDetail.tsx:323 msgid "Company" msgstr "" -#: src/components/render/ModelType.tsx:105 +#: src/components/render/ModelType.tsx:118 msgid "Companies" msgstr "" -#: src/components/render/ModelType.tsx:112 +#: src/components/render/ModelType.tsx:126 #: src/tables/TableHoverCard.tsx:58 #: src/tables/build/BuildOrderTable.tsx:131 #: src/tables/purchasing/PurchaseOrderTable.tsx:64 @@ -1196,170 +1242,199 @@ msgstr "" msgid "Project Code" msgstr "" -#: src/components/render/ModelType.tsx:113 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:97 +#: src/components/render/ModelType.tsx:127 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:105 msgid "Project Codes" msgstr "" -#: src/components/render/ModelType.tsx:119 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99 +#: src/components/render/ModelType.tsx:133 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:355 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:362 +#: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" msgstr "" -#: src/components/render/ModelType.tsx:120 -#: src/pages/Index/Settings/SystemSettings.tsx:242 -#: src/pages/company/CompanyDetail.tsx:190 -#: src/pages/company/SupplierPartDetail.tsx:223 -#: src/pages/part/PartDetail.tsx:571 +#: src/components/render/ModelType.tsx:134 +#: src/pages/Index/Settings/SystemSettings.tsx:243 +#: src/pages/company/CompanyDetail.tsx:192 +#: src/pages/company/SupplierPartDetail.tsx:224 +#: src/pages/part/PartDetail.tsx:572 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" -#: src/components/render/ModelType.tsx:127 +#: src/components/render/ModelType.tsx:142 msgid "Purchase Order Line" msgstr "" -#: src/components/render/ModelType.tsx:128 +#: src/components/render/ModelType.tsx:143 msgid "Purchase Order Lines" msgstr "" -#: src/components/render/ModelType.tsx:132 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:108 +#: src/components/render/ModelType.tsx:147 #: src/pages/build/BuildDetail.tsx:131 -#: src/pages/sales/SalesOrderDetail.tsx:340 -#: src/pages/stock/StockDetail.tsx:207 +#: src/pages/sales/SalesOrderDetail.tsx:347 +#: src/pages/stock/StockDetail.tsx:210 +#: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" msgstr "" -#: src/components/render/ModelType.tsx:133 -#: src/pages/Index/Settings/SystemSettings.tsx:257 -#: src/pages/company/CompanyDetail.tsx:210 -#: src/pages/part/PartDetail.tsx:577 +#: src/components/render/ModelType.tsx:148 +#: src/pages/Index/Settings/SystemSettings.tsx:258 +#: src/pages/company/CompanyDetail.tsx:212 +#: src/pages/part/PartDetail.tsx:578 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" -#: src/components/render/ModelType.tsx:140 +#: src/components/render/ModelType.tsx:156 msgid "Sales Order Shipment" msgstr "" -#: src/components/render/ModelType.tsx:141 +#: src/components/render/ModelType.tsx:157 msgid "Sales Order Shipments" msgstr "" -#: src/components/render/ModelType.tsx:147 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:117 -#: src/pages/sales/ReturnOrderDetail.tsx:318 +#: src/components/render/ModelType.tsx:163 +#: src/pages/sales/ReturnOrderDetail.tsx:325 +#: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "" -#: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:272 -#: src/pages/company/CompanyDetail.tsx:217 +#: src/components/render/ModelType.tsx:164 +#: src/pages/Index/Settings/SystemSettings.tsx:273 +#: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" msgstr "" -#: src/components/render/ModelType.tsx:155 +#: src/components/render/ModelType.tsx:172 #: src/tables/company/AddressTable.tsx:47 msgid "Address" msgstr "" -#: src/components/render/ModelType.tsx:156 -#: src/pages/company/CompanyDetail.tsx:247 +#: src/components/render/ModelType.tsx:173 +#: src/pages/company/CompanyDetail.tsx:249 msgid "Addresses" msgstr "" -#: src/components/render/ModelType.tsx:162 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:189 -#: src/pages/sales/ReturnOrderDetail.tsx:157 -#: src/pages/sales/SalesOrderDetail.tsx:161 +#: src/components/render/ModelType.tsx:179 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:191 +#: src/pages/sales/ReturnOrderDetail.tsx:159 +#: src/pages/sales/SalesOrderDetail.tsx:163 msgid "Contact" msgstr "" -#: src/components/render/ModelType.tsx:163 -#: src/pages/company/CompanyDetail.tsx:241 +#: src/components/render/ModelType.tsx:180 +#: src/pages/company/CompanyDetail.tsx:243 msgid "Contacts" msgstr "" -#: src/components/render/ModelType.tsx:169 +#: src/components/render/ModelType.tsx:186 msgid "Owner" msgstr "" -#: src/components/render/ModelType.tsx:170 +#: src/components/render/ModelType.tsx:187 msgid "Owners" msgstr "" -#: src/components/render/ModelType.tsx:176 +#: src/components/render/ModelType.tsx:193 +#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "" -#: src/components/render/ModelType.tsx:177 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:73 +#: src/components/render/ModelType.tsx:194 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:81 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "" -#: src/components/render/Order.tsx:87 +#: src/components/render/ModelType.tsx:200 +msgid "Label Template" +msgstr "" + +#: src/components/render/ModelType.tsx:201 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:135 +msgid "Label Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:207 +msgid "Report Template" +msgstr "" + +#: src/components/render/ModelType.tsx:208 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:141 +msgid "Report Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:214 +msgid "Plugin Configuration" +msgstr "" + +#: src/components/render/ModelType.tsx:215 +msgid "Plugin Configurations" +msgstr "" + +#: src/components/render/Order.tsx:104 msgid "Shipment" msgstr "" -#: src/components/render/Part.tsx:12 +#: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:198 -#: src/pages/part/PartDetail.tsx:491 +#: src/pages/Index/Settings/SystemSettings.tsx:199 +#: src/pages/part/PartDetail.tsx:492 #: src/pages/stock/LocationDetail.tsx:344 -#: src/pages/stock/StockDetail.tsx:344 +#: src/pages/stock/StockDetail.tsx:352 #: src/tables/stock/StockItemTable.tsx:57 msgid "Stock" msgstr "" -#: src/components/render/Stock.tsx:26 -#: src/pages/stock/StockDetail.tsx:142 -#: src/pages/stock/StockDetail.tsx:501 +#: src/components/render/Stock.tsx:52 +#: src/pages/stock/StockDetail.tsx:145 +#: src/pages/stock/StockDetail.tsx:514 msgid "Serial Number" msgstr "" -#: src/components/render/Stock.tsx:28 -#: src/forms/BuildForms.tsx:189 +#: src/components/render/Stock.tsx:54 +#: src/forms/BuildForms.tsx:206 #: src/pages/part/pricing/BomPricingPanel.tsx:144 -#: src/pages/part/pricing/PriceBreakPanel.tsx:96 -#: src/pages/stock/StockDetail.tsx:137 -#: src/pages/stock/StockDetail.tsx:507 +#: src/pages/part/pricing/PriceBreakPanel.tsx:94 +#: src/pages/stock/StockDetail.tsx:140 +#: src/pages/stock/StockDetail.tsx:520 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:73 +#: src/tables/stock/StockTrackingTable.tsx:59 msgid "Quantity" msgstr "" -#: src/components/settings/SettingItem.tsx:46 -#: src/components/settings/SettingItem.tsx:99 -msgid "Setting updated" -msgstr "" - #: src/components/settings/SettingItem.tsx:47 #: src/components/settings/SettingItem.tsx:100 -msgid "{0} updated successfully" -msgstr "" +#~ msgid "{0} updated successfully" +#~ msgstr "{0} updated successfully" -#: src/components/settings/SettingItem.tsx:55 -msgid "Error editing setting" -msgstr "" - -#: src/components/settings/SettingItem.tsx:92 +#: src/components/settings/SettingList.tsx:67 msgid "Edit Setting" msgstr "" -#: src/components/settings/SettingList.tsx:63 -msgid "No settings specified" +#: src/components/settings/SettingList.tsx:78 +#: src/components/settings/SettingList.tsx:108 +msgid "Setting {0} updated successfully" msgstr "" -#: src/components/tables/ColumnRenderers.tsx:134 -#~ msgid "Shipment Date" -#~ msgstr "Shipment Date" +#: src/components/settings/SettingList.tsx:107 +msgid "Setting updated" +msgstr "" + +#: src/components/settings/SettingList.tsx:117 +msgid "Error editing setting" +msgstr "" + +#: src/components/settings/SettingList.tsx:158 +msgid "No settings specified" +msgstr "" #: src/components/tables/FilterGroup.tsx:29 #~ msgid "Add table filter" @@ -1731,10 +1806,6 @@ msgstr "" #~ msgid "This is a test filter" #~ msgstr "This is a test filter" -#: src/components/tables/stock/StockLocationTable.tsx:91 -#~ msgid "Location Type" -#~ msgstr "Location Type" - #: src/components/tables/stock/StockLocationTable.tsx:145 #~ msgid "Stock location updated" #~ msgstr "Stock location updated" @@ -2072,7 +2143,7 @@ msgstr "" #~ msgstr "Local Server" #: src/defaults/links.tsx:11 -#: src/pages/company/CompanyDetail.tsx:90 +#: src/pages/company/CompanyDetail.tsx:92 msgid "Website" msgstr "" @@ -2087,10 +2158,10 @@ msgstr "" #: src/defaults/links.tsx:31 #: src/defaults/menuItems.tsx:48 #: src/pages/company/ManufacturerDetail.tsx:9 -#: src/pages/company/ManufacturerPartDetail.tsx:231 +#: src/pages/company/ManufacturerPartDetail.tsx:235 #: src/pages/company/SupplierDetail.tsx:9 -#: src/pages/company/SupplierPartDetail.tsx:291 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:358 +#: src/pages/company/SupplierPartDetail.tsx:292 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:365 #: src/pages/purchasing/PurchasingIndex.tsx:52 msgid "Purchasing" msgstr "" @@ -2098,15 +2169,15 @@ msgstr "" #: src/defaults/links.tsx:32 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:323 +#: src/pages/sales/ReturnOrderDetail.tsx:330 #: src/pages/sales/SalesIndex.tsx:45 -#: src/pages/sales/SalesOrderDetail.tsx:345 +#: src/pages/sales/SalesOrderDetail.tsx:352 msgid "Sales" msgstr "" #: src/defaults/links.tsx:35 #: src/defaults/menuItems.tsx:71 -#: src/pages/Index/Playground.tsx:239 +#: src/pages/Index/Playground.tsx:238 msgid "Playground" msgstr "" @@ -2240,87 +2311,83 @@ msgstr "" #~ msgstr "Combusken battles with the intensely hot flames it spews" #: src/forms/AttachmentForms.tsx:57 -msgid "Add File" -msgstr "" +#~ msgid "Add File" +#~ msgstr "Add File" #: src/forms/AttachmentForms.tsx:57 -msgid "Add Link" -msgstr "" +#~ msgid "Add Link" +#~ msgstr "Add Link" #: src/forms/AttachmentForms.tsx:58 -msgid "File added" -msgstr "" +#~ msgid "File added" +#~ msgstr "File added" #: src/forms/AttachmentForms.tsx:58 -msgid "Link added" -msgstr "" +#~ msgid "Link added" +#~ msgstr "Link added" #: src/forms/AttachmentForms.tsx:99 -msgid "Edit File" -msgstr "" +#~ msgid "Edit File" +#~ msgstr "Edit File" #: src/forms/AttachmentForms.tsx:99 -msgid "Edit Link" -msgstr "" +#~ msgid "Edit Link" +#~ msgstr "Edit Link" #: src/forms/AttachmentForms.tsx:100 -msgid "File updated" -msgstr "" +#~ msgid "File updated" +#~ msgstr "File updated" #: src/forms/AttachmentForms.tsx:100 -msgid "Link updated" -msgstr "" - -#: src/forms/AttachmentForms.tsx:124 -msgid "Delete Attachment" -msgstr "" +#~ msgid "Link updated" +#~ msgstr "Link updated" #: src/forms/AttachmentForms.tsx:125 -msgid "Attachment deleted" -msgstr "" +#~ msgid "Attachment deleted" +#~ msgstr "Attachment deleted" #: src/forms/AttachmentForms.tsx:128 -msgid "Are you sure you want to delete this attachment?" -msgstr "" +#~ msgid "Are you sure you want to delete this attachment?" +#~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BuildForms.tsx:129 +#: src/forms/BuildForms.tsx:146 msgid "Next serial number" msgstr "" -#: src/forms/BuildForms.tsx:133 +#: src/forms/BuildForms.tsx:150 msgid "Latest serial number" msgstr "" -#: src/forms/BuildForms.tsx:205 +#: src/forms/BuildForms.tsx:222 msgid "Remove output" msgstr "" -#: src/forms/BuildForms.tsx:287 +#: src/forms/BuildForms.tsx:304 msgid "Complete Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:291 +#: src/forms/BuildForms.tsx:308 msgid "Build outputs have been completed" msgstr "" -#: src/forms/BuildForms.tsx:360 +#: src/forms/BuildForms.tsx:377 msgid "Scrap Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:364 +#: src/forms/BuildForms.tsx:381 msgid "Build outputs have been scrapped" msgstr "" -#: src/forms/BuildForms.tsx:396 -#: src/forms/BuildForms.tsx:420 +#: src/forms/BuildForms.tsx:413 +#: src/forms/BuildForms.tsx:437 msgid "Cancel Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:397 +#: src/forms/BuildForms.tsx:414 msgid "Selected build outputs will be deleted" msgstr "" -#: src/forms/BuildForms.tsx:424 +#: src/forms/BuildForms.tsx:441 msgid "Build outputs have been cancelled" msgstr "" @@ -2344,76 +2411,76 @@ msgstr "" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PurchaseOrderForms.tsx:265 +#: src/forms/PurchaseOrderForms.tsx:279 msgid "Choose Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:273 +#: src/forms/PurchaseOrderForms.tsx:287 msgid "Item Destination selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:282 +#: src/forms/PurchaseOrderForms.tsx:296 msgid "Part category default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:292 +#: src/forms/PurchaseOrderForms.tsx:306 msgid "Received stock location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:297 +#: src/forms/PurchaseOrderForms.tsx:311 msgid "Default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:308 -#: src/forms/PurchaseOrderForms.tsx:384 +#: src/forms/PurchaseOrderForms.tsx:322 +#: src/forms/PurchaseOrderForms.tsx:398 msgid "Scan Barcode" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:352 +#: src/forms/PurchaseOrderForms.tsx:366 msgid "Set Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:359 +#: src/forms/PurchaseOrderForms.tsx:373 msgid "Assign Batch Code{0}" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:368 +#: src/forms/PurchaseOrderForms.tsx:382 msgid "Change Status" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:393 -#: src/forms/StockForms.tsx:351 +#: src/forms/PurchaseOrderForms.tsx:407 +#: src/forms/StockForms.tsx:392 msgid "Remove item from list" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:418 -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:58 -#: src/pages/stock/StockDetail.tsx:167 -#: src/tables/ColumnRenderers.tsx:42 +#: src/forms/PurchaseOrderForms.tsx:432 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/pages/stock/StockDetail.tsx:170 +#: src/tables/ColumnRenderers.tsx:34 +#: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:434 +#: src/forms/PurchaseOrderForms.tsx:448 msgid "Store at default location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:447 +#: src/forms/PurchaseOrderForms.tsx:461 msgid "Store at line item destination" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:457 +#: src/forms/PurchaseOrderForms.tsx:471 msgid "Store with already received stock" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:613 +#: src/forms/PurchaseOrderForms.tsx:627 msgid "Receive Line Items" msgstr "" @@ -2421,119 +2488,118 @@ msgstr "" #~ msgid "Receive line items" #~ msgstr "Receive line items" -#: src/forms/StockForms.tsx:69 +#: src/forms/StockForms.tsx:101 msgid "Add given quantity as packs instead of individual items" msgstr "" -#: src/forms/StockForms.tsx:80 -msgid "Enter initial quantity for this stock item" -msgstr "" - -#: src/forms/StockForms.tsx:85 -msgid "Serial Numbers" -msgstr "" - -#: src/forms/StockForms.tsx:86 -msgid "Enter serial numbers for new stock (or leave blank)" -msgstr "" - #: src/forms/StockForms.tsx:110 #~ msgid "Create Stock Item" #~ msgstr "Create Stock Item" -#: src/forms/StockForms.tsx:135 -#: src/pages/stock/StockDetail.tsx:367 -#: src/tables/stock/StockItemTable.tsx:382 -#: src/tables/stock/StockItemTable.tsx:499 -msgid "Add Stock Item" +#: src/forms/StockForms.tsx:114 +msgid "Enter initial quantity for this stock item" +msgstr "" + +#: src/forms/StockForms.tsx:121 +msgid "Serial Numbers" +msgstr "" + +#: src/forms/StockForms.tsx:122 +msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" #: src/forms/StockForms.tsx:158 #~ msgid "Stock item updated" #~ msgstr "Stock item updated" -#: src/forms/StockForms.tsx:298 +#: src/forms/StockForms.tsx:176 +#: src/pages/stock/StockDetail.tsx:375 +#: src/tables/stock/StockItemTable.tsx:382 +#: src/tables/stock/StockItemTable.tsx:499 +msgid "Add Stock Item" +msgstr "" + +#: src/forms/StockForms.tsx:339 msgid "Loading..." msgstr "" -#: src/forms/StockForms.tsx:340 +#: src/forms/StockForms.tsx:381 msgid "Move to default location" msgstr "" -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/part/PartDetail.tsx:205 -#: src/pages/part/PartDetail.tsx:654 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/pages/part/PartDetail.tsx:206 +#: src/pages/part/PartDetail.tsx:655 #: src/tables/stock/StockItemTable.tsx:290 msgid "In Stock" msgstr "" -#: src/forms/StockForms.tsx:408 +#: src/forms/StockForms.tsx:449 msgid "Move" msgstr "" -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/tables/RowActions.tsx:147 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/tables/RowActions.tsx:149 msgid "Actions" msgstr "" -#: src/forms/StockForms.tsx:471 -#: src/pages/stock/StockDetail.tsx:440 -#: src/tables/settings/TemplateTable.tsx:266 -#: src/tables/stock/StockItemTestResultTable.tsx:348 +#: src/forms/StockForms.tsx:512 +#: src/pages/stock/StockDetail.tsx:454 +#: src/tables/stock/StockItemTestResultTable.tsx:339 msgid "Add" msgstr "" -#: src/forms/StockForms.tsx:499 +#: src/forms/StockForms.tsx:540 #: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:430 +#: src/pages/stock/StockDetail.tsx:444 msgid "Count" msgstr "" -#: src/forms/StockForms.tsx:744 +#: src/forms/StockForms.tsx:785 msgid "Add Stock" msgstr "" -#: src/forms/StockForms.tsx:753 +#: src/forms/StockForms.tsx:794 msgid "Remove Stock" msgstr "" -#: src/forms/StockForms.tsx:762 -#: src/pages/part/PartDetail.tsx:781 +#: src/forms/StockForms.tsx:803 +#: src/pages/part/PartDetail.tsx:782 msgid "Transfer Stock" msgstr "" -#: src/forms/StockForms.tsx:771 -#: src/pages/part/PartDetail.tsx:770 +#: src/forms/StockForms.tsx:812 +#: src/pages/part/PartDetail.tsx:771 msgid "Count Stock" msgstr "" -#: src/forms/StockForms.tsx:780 +#: src/forms/StockForms.tsx:821 msgid "Change Stock Status" msgstr "" -#: src/forms/StockForms.tsx:789 +#: src/forms/StockForms.tsx:830 msgid "Merge Stock" msgstr "" -#: src/forms/StockForms.tsx:808 +#: src/forms/StockForms.tsx:849 msgid "Delete Stock Items" msgstr "" -#: src/forms/StockForms.tsx:815 +#: src/forms/StockForms.tsx:856 msgid "Parent stock location" msgstr "" @@ -2728,7 +2794,7 @@ msgstr "" msgid "Welcome to your Dashboard{0}" msgstr "" -#: src/pages/Index/Playground.tsx:244 +#: src/pages/Index/Playground.tsx:243 msgid "This page is a showcase for the possibilities of Platform UI." msgstr "" @@ -3138,49 +3204,53 @@ msgstr "" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:79 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:87 msgid "Background Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:85 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:93 msgid "Error Reports" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:91 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:99 msgid "Currencies" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:109 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:117 msgid "Custom Units" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:115 -#: src/pages/part/CategoryDetail.tsx:254 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:123 +#: src/pages/part/CategoryDetail.tsx:255 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:121 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 +#~ msgid "Templates" +#~ msgstr "Templates" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:129 msgid "Category Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 -msgid "Templates" +#: src/pages/Index/Settings/AdminCenter/Index.tsx:147 +msgid "Location types" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:139 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:159 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:149 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:169 msgid "Quick Actions" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:154 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 msgid "Add a new user" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:173 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:193 msgid "Advanced Options" msgstr "" @@ -3225,26 +3295,32 @@ msgstr "" msgid "Plugin Settings" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:25 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:53 +msgid "Background Worker Not Running" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:54 +msgid "The background task manager service is not running. Contact your system administrator." +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:60 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:76 msgid "Pending Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:33 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:64 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:84 msgid "Scheduled Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:41 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:68 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:92 msgid "Failed Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:139 -msgid "Labels" -msgstr "" - #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:39 -msgid "Label" -msgstr "" +#~ msgid "Label" +#~ msgstr "Label" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67 #~ msgid "Stock item" @@ -3255,13 +3331,13 @@ msgstr "" #~ msgstr "Build line" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:88 -msgid "Reports" -msgstr "" +#~ msgid "Reports" +#~ msgstr "Reports" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:89 #: src/pages/build/BuildDetail.tsx:373 -msgid "Report" -msgstr "" +#~ msgid "Report" +#~ msgstr "Report" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99 #~ msgid "Purchase order" @@ -3275,14 +3351,9 @@ msgstr "" #~ msgid "Return order" #~ msgstr "Return order" -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135 -#: src/pages/part/PartDetail.tsx:518 -msgid "Bill of Materials" -msgstr "" - #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:145 -msgid "Tests" -msgstr "" +#~ msgid "Tests" +#~ msgstr "Tests" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:154 #~ msgid "Stock location" @@ -3321,26 +3392,30 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" +#: src/pages/Index/Settings/SystemSettings.tsx:139 +msgid "Labels" +msgstr "" + #: src/pages/Index/Settings/SystemSettings.tsx:145 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:223 -#: src/pages/part/PartDetail.tsx:589 +#: src/pages/Index/Settings/SystemSettings.tsx:224 +#: src/pages/part/PartDetail.tsx:590 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:228 -#: src/pages/build/BuildDetail.tsx:426 +#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:525 -#: src/pages/sales/SalesOrderDetail.tsx:263 +#: src/pages/part/PartDetail.tsx:526 +#: src/pages/sales/SalesOrderDetail.tsx:265 msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:296 +#: src/pages/Index/Settings/SystemSettings.tsx:297 msgid "Switch to User Setting" msgstr "" @@ -3397,44 +3472,47 @@ msgstr "" #~ msgstr "Build Status" #: src/pages/build/BuildDetail.tsx:89 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:128 -#: src/pages/sales/ReturnOrderDetail.tsx:95 -#: src/pages/sales/SalesOrderDetail.tsx:99 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:130 +#: src/pages/sales/ReturnOrderDetail.tsx:97 +#: src/pages/sales/SalesOrderDetail.tsx:101 #: src/tables/build/BuildOrderTable.tsx:113 #: src/tables/machine/MachineListTable.tsx:326 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderTable.tsx:46 #: src/tables/sales/SalesOrderTable.tsx:52 #: src/tables/stock/StockItemTable.tsx:259 +#: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "" #: src/pages/build/BuildDetail.tsx:95 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:101 -#: src/pages/sales/ReturnOrderDetail.tsx:69 -#: src/pages/sales/SalesOrderDetail.tsx:73 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:103 +#: src/pages/sales/ReturnOrderDetail.tsx:71 +#: src/pages/sales/SalesOrderDetail.tsx:75 +#: src/tables/ColumnRenderers.tsx:106 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" msgstr "" #: src/pages/build/BuildDetail.tsx:100 -#: src/pages/company/CompanyDetail.tsx:84 -#: src/pages/company/ManufacturerPartDetail.tsx:75 -#: src/pages/company/SupplierPartDetail.tsx:82 -#: src/pages/part/CategoryDetail.tsx:91 -#: src/pages/part/PartDetail.tsx:132 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:122 -#: src/pages/sales/ReturnOrderDetail.tsx:89 -#: src/pages/sales/SalesOrderDetail.tsx:93 -#: src/pages/stock/LocationDetail.tsx:97 -#: src/tables/ColumnRenderers.tsx:95 +#: src/pages/company/CompanyDetail.tsx:86 +#: src/pages/company/ManufacturerPartDetail.tsx:76 +#: src/pages/company/SupplierPartDetail.tsx:83 +#: src/pages/part/CategoryDetail.tsx:92 +#: src/pages/part/PartDetail.tsx:133 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:124 +#: src/pages/sales/ReturnOrderDetail.tsx:91 +#: src/pages/sales/SalesOrderDetail.tsx:95 +#: src/pages/stock/LocationDetail.tsx:99 +#: src/tables/ColumnRenderers.tsx:66 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 #: src/tables/machine/MachineTypeTable.tsx:323 #: src/tables/part/RelatedPartTable.tsx:64 -#: src/tables/plugin/PluginListTable.tsx:172 -#: src/tables/plugin/PluginListTable.tsx:302 +#: src/tables/plugin/PluginListTable.tsx:129 +#: src/tables/plugin/PluginListTable.tsx:276 +#: src/tables/stock/LocationTypesTable.tsx:65 msgid "Description" msgstr "" @@ -3447,7 +3525,7 @@ msgid "Build Quantity" msgstr "" #: src/pages/build/BuildDetail.tsx:126 -#: src/pages/build/BuildDetail.tsx:249 +#: src/pages/build/BuildDetail.tsx:256 msgid "Completed Outputs" msgstr "" @@ -3457,10 +3535,10 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:150 -#: src/pages/part/PartDetail.tsx:320 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:214 -#: src/pages/sales/ReturnOrderDetail.tsx:182 -#: src/pages/sales/SalesOrderDetail.tsx:186 +#: src/pages/part/PartDetail.tsx:321 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:184 +#: src/pages/sales/SalesOrderDetail.tsx:188 #: src/tables/build/BuildOrderTable.tsx:148 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 @@ -3474,10 +3552,10 @@ msgid "Created" msgstr "" #: src/pages/build/BuildDetail.tsx:164 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:207 -#: src/pages/sales/ReturnOrderDetail.tsx:175 -#: src/pages/sales/SalesOrderDetail.tsx:179 -#: src/tables/ColumnRenderers.tsx:227 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:209 +#: src/pages/sales/ReturnOrderDetail.tsx:177 +#: src/pages/sales/SalesOrderDetail.tsx:181 +#: src/tables/ColumnRenderers.tsx:191 msgid "Target Date" msgstr "" @@ -3513,6 +3591,11 @@ msgstr "" #~ msgid "Unlink custom barcode from part" #~ msgstr "Unlink custom barcode from part" +#: src/pages/build/BuildDetail.tsx:197 +#: src/pages/stock/StockDetail.tsx:526 +msgid "Batch Code" +msgstr "" + #: src/pages/build/BuildDetail.tsx:202 #~ msgid "Build Order updated" #~ msgstr "Build Order updated" @@ -3521,86 +3604,87 @@ msgstr "" #~ msgid "Edit build order" #~ msgstr "Edit build order" -#: src/pages/build/BuildDetail.tsx:222 -msgid "Build Details" -msgstr "" - #: src/pages/build/BuildDetail.tsx:226 #~ msgid "Duplicate build order" #~ msgstr "Duplicate build order" -#: src/pages/build/BuildDetail.tsx:228 -#: src/tables/build/BuildLineTable.tsx:225 -msgid "Allocate Stock" +#: src/pages/build/BuildDetail.tsx:229 +msgid "Build Details" msgstr "" #: src/pages/build/BuildDetail.tsx:231 #~ msgid "Delete build order" #~ msgstr "Delete build order" -#: src/pages/build/BuildDetail.tsx:242 +#: src/pages/build/BuildDetail.tsx:235 +#: src/tables/build/BuildLineTable.tsx:225 +msgid "Allocate Stock" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:249 msgid "Incomplete Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:264 +#: src/pages/build/BuildDetail.tsx:271 msgid "Consumed Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:278 +#: src/pages/build/BuildDetail.tsx:285 msgid "Child Build Orders" msgstr "" -#: src/pages/build/BuildDetail.tsx:288 -#: src/pages/company/CompanyDetail.tsx:253 -#: src/pages/company/ManufacturerPartDetail.tsx:171 -#: src/pages/part/PartDetail.tsx:611 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:276 -#: src/pages/sales/ReturnOrderDetail.tsx:225 -#: src/pages/sales/SalesOrderDetail.tsx:273 -#: src/pages/stock/StockDetail.tsx:317 +#: src/pages/build/BuildDetail.tsx:295 +#: src/pages/company/CompanyDetail.tsx:255 +#: src/pages/company/ManufacturerPartDetail.tsx:172 +#: src/pages/part/PartDetail.tsx:612 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:278 +#: src/pages/sales/ReturnOrderDetail.tsx:227 +#: src/pages/sales/SalesOrderDetail.tsx:275 +#: src/pages/stock/StockDetail.tsx:325 msgid "Attachments" msgstr "" -#: src/pages/build/BuildDetail.tsx:300 -#: src/pages/company/CompanyDetail.tsx:265 -#: src/pages/part/PartDetail.tsx:623 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:288 -#: src/pages/sales/ReturnOrderDetail.tsx:237 -#: src/pages/sales/SalesOrderDetail.tsx:285 -#: src/pages/stock/StockDetail.tsx:329 +#: src/pages/build/BuildDetail.tsx:307 +#: src/pages/company/CompanyDetail.tsx:267 +#: src/pages/part/PartDetail.tsx:624 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:290 +#: src/pages/sales/ReturnOrderDetail.tsx:239 +#: src/pages/sales/SalesOrderDetail.tsx:287 +#: src/pages/stock/StockDetail.tsx:337 +#: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "" -#: src/pages/build/BuildDetail.tsx:318 +#: src/pages/build/BuildDetail.tsx:325 msgid "Edit Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:327 +#: src/pages/build/BuildDetail.tsx:334 msgid "Cancel Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:339 +#: src/pages/build/BuildDetail.tsx:346 #: src/tables/build/BuildOrderTable.tsx:167 #: src/tables/build/BuildOrderTable.tsx:182 msgid "Add Build Order" msgstr "" #: src/pages/build/BuildDetail.tsx:368 -msgid "Reporting Actions" -msgstr "" +#~ msgid "Reporting Actions" +#~ msgstr "Reporting Actions" #: src/pages/build/BuildDetail.tsx:374 -msgid "Print build report" -msgstr "" +#~ msgid "Print build report" +#~ msgstr "Print build report" -#: src/pages/build/BuildDetail.tsx:380 +#: src/pages/build/BuildDetail.tsx:378 msgid "Build Order Actions" msgstr "" -#: src/pages/build/BuildDetail.tsx:388 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:326 -#: src/pages/sales/ReturnOrderDetail.tsx:300 -#: src/pages/sales/SalesOrderDetail.tsx:310 +#: src/pages/build/BuildDetail.tsx:386 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:333 +#: src/pages/sales/ReturnOrderDetail.tsx:307 +#: src/pages/sales/SalesOrderDetail.tsx:317 msgid "Cancel order" msgstr "" @@ -3612,56 +3696,58 @@ msgstr "" #~ msgid "New Build Order" #~ msgstr "New Build Order" -#: src/pages/company/CompanyDetail.tsx:98 +#: src/pages/company/CompanyDetail.tsx:100 msgid "Phone Number" msgstr "" -#: src/pages/company/CompanyDetail.tsx:105 +#: src/pages/company/CompanyDetail.tsx:107 msgid "Email Address" msgstr "" -#: src/pages/company/CompanyDetail.tsx:115 +#: src/pages/company/CompanyDetail.tsx:117 msgid "Default Currency" msgstr "" -#: src/pages/company/CompanyDetail.tsx:120 +#: src/pages/company/CompanyDetail.tsx:122 #: src/pages/company/SupplierDetail.tsx:8 -#: src/pages/company/SupplierPartDetail.tsx:106 -#: src/pages/company/SupplierPartDetail.tsx:192 -#: src/pages/company/SupplierPartDetail.tsx:295 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:116 +#: src/pages/company/SupplierPartDetail.tsx:107 +#: src/pages/company/SupplierPartDetail.tsx:193 +#: src/pages/company/SupplierPartDetail.tsx:296 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:118 #: src/tables/company/CompanyTable.tsx:100 #: src/tables/purchasing/PurchaseOrderTable.tsx:88 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:36 msgid "Supplier" msgstr "" -#: src/pages/company/CompanyDetail.tsx:126 +#: src/pages/company/CompanyDetail.tsx:128 #: src/pages/company/ManufacturerDetail.tsx:8 -#: src/pages/company/ManufacturerPartDetail.tsx:93 -#: src/pages/company/ManufacturerPartDetail.tsx:235 -#: src/pages/company/SupplierPartDetail.tsx:121 +#: src/pages/company/ManufacturerPartDetail.tsx:94 +#: src/pages/company/ManufacturerPartDetail.tsx:239 +#: src/pages/company/SupplierPartDetail.tsx:122 #: src/tables/company/CompanyTable.tsx:105 msgid "Manufacturer" msgstr "" -#: src/pages/company/CompanyDetail.tsx:132 +#: src/pages/company/CompanyDetail.tsx:134 #: src/pages/company/CustomerDetail.tsx:8 #: src/pages/part/pricing/SaleHistoryPanel.tsx:39 -#: src/pages/sales/ReturnOrderDetail.tsx:83 -#: src/pages/sales/SalesOrderDetail.tsx:87 -#: src/pages/stock/StockDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:85 +#: src/pages/sales/SalesOrderDetail.tsx:89 +#: src/pages/stock/StockDetail.tsx:219 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:107 +#: src/tables/stock/StockTrackingTable.tsx:140 msgid "Customer" msgstr "" -#: src/pages/company/CompanyDetail.tsx:166 +#: src/pages/company/CompanyDetail.tsx:168 +#: src/tables/stock/StockTrackingTable.tsx:183 msgid "Details" msgstr "" -#: src/pages/company/CompanyDetail.tsx:172 +#: src/pages/company/CompanyDetail.tsx:174 msgid "Manufactured Parts" msgstr "" @@ -3669,7 +3755,7 @@ msgstr "" #~ msgid "Edit company" #~ msgstr "Edit company" -#: src/pages/company/CompanyDetail.tsx:181 +#: src/pages/company/CompanyDetail.tsx:183 msgid "Supplied Parts" msgstr "" @@ -3677,289 +3763,289 @@ msgstr "" #~ msgid "Delete company" #~ msgstr "Delete company" -#: src/pages/company/CompanyDetail.tsx:226 +#: src/pages/company/CompanyDetail.tsx:228 msgid "Assigned Stock" msgstr "" -#: src/pages/company/CompanyDetail.tsx:281 +#: src/pages/company/CompanyDetail.tsx:283 #: src/tables/company/CompanyTable.tsx:86 msgid "Edit Company" msgstr "" -#: src/pages/company/CompanyDetail.tsx:290 +#: src/pages/company/CompanyDetail.tsx:292 msgid "Company Actions" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:68 -#: src/pages/company/SupplierPartDetail.tsx:75 +#: src/pages/company/ManufacturerPartDetail.tsx:69 +#: src/pages/company/SupplierPartDetail.tsx:76 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:72 msgid "Internal Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:83 -#: src/pages/company/SupplierPartDetail.tsx:89 +#: src/pages/company/ManufacturerPartDetail.tsx:84 +#: src/pages/company/SupplierPartDetail.tsx:90 msgid "External Link" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:101 -#: src/pages/company/SupplierPartDetail.tsx:130 -#: src/tables/purchasing/ManufacturerPartTable.tsx:53 +#: src/pages/company/ManufacturerPartDetail.tsx:102 +#: src/pages/company/SupplierPartDetail.tsx:131 +#: src/tables/purchasing/ManufacturerPartTable.tsx:56 msgid "Manufacturer Part Number" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:130 +#: src/pages/company/ManufacturerPartDetail.tsx:131 msgid "Manufacturer Details" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:139 +#: src/pages/company/ManufacturerPartDetail.tsx:140 msgid "Manufacturer Part Details" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:145 -#: src/pages/part/PartDetail.tsx:485 +#: src/pages/company/ManufacturerPartDetail.tsx:146 +#: src/pages/part/PartDetail.tsx:486 msgid "Parameters" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:157 -#: src/pages/part/PartDetail.tsx:558 +#: src/pages/company/ManufacturerPartDetail.tsx:158 +#: src/pages/part/PartDetail.tsx:559 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:189 -#: src/tables/purchasing/ManufacturerPartTable.tsx:97 +#: src/pages/company/ManufacturerPartDetail.tsx:190 +#: src/tables/purchasing/ManufacturerPartTable.tsx:84 msgid "Edit Manufacturer Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:196 -#: src/tables/purchasing/ManufacturerPartTable.tsx:63 -#: src/tables/purchasing/ManufacturerPartTable.tsx:78 +#: src/pages/company/ManufacturerPartDetail.tsx:197 +#: src/tables/purchasing/ManufacturerPartTable.tsx:72 +#: src/tables/purchasing/ManufacturerPartTable.tsx:103 msgid "Add Manufacturer Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:209 +#: src/pages/company/ManufacturerPartDetail.tsx:213 msgid "Manufacturer Part Actions" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:247 +#: src/pages/company/ManufacturerPartDetail.tsx:251 msgid "ManufacturerPart" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:96 -#: src/tables/ColumnRenderers.tsx:146 +#: src/pages/company/SupplierPartDetail.tsx:97 +#: src/tables/ColumnRenderers.tsx:117 msgid "Note" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:114 +#: src/pages/company/SupplierPartDetail.tsx:115 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:57 msgid "SKU" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:142 -#: src/pages/company/SupplierPartDetail.tsx:193 -#: src/pages/stock/StockDetail.tsx:230 +#: src/pages/company/SupplierPartDetail.tsx:143 +#: src/pages/company/SupplierPartDetail.tsx:194 +#: src/pages/stock/StockDetail.tsx:233 msgid "Packaging" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:149 +#: src/pages/company/SupplierPartDetail.tsx:150 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:107 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143 #: src/tables/purchasing/SupplierPartTable.tsx:131 msgid "Pack Quantity" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:160 +#: src/pages/company/SupplierPartDetail.tsx:161 msgid "Supplier Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:167 +#: src/pages/company/SupplierPartDetail.tsx:168 msgid "Availability Updated" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:194 +#: src/pages/company/SupplierPartDetail.tsx:195 msgid "Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:203 +#: src/pages/company/SupplierPartDetail.tsx:204 msgid "Supplier Part Details" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:209 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:263 +#: src/pages/company/SupplierPartDetail.tsx:210 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:265 msgid "Received Stock" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:233 +#: src/pages/company/SupplierPartDetail.tsx:234 #: src/pages/part/PartPricingPanel.tsx:115 #: src/pages/part/pricing/PricingOverviewPanel.tsx:130 msgid "Supplier Pricing" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:248 +#: src/pages/company/SupplierPartDetail.tsx:249 msgid "Supplier Part Actions" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:272 +#: src/pages/company/SupplierPartDetail.tsx:273 #: src/tables/purchasing/SupplierPartTable.tsx:210 msgid "Edit Supplier Part" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:279 +#: src/pages/company/SupplierPartDetail.tsx:280 #: src/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "" -#: src/pages/part/CategoryDetail.tsx:83 -#: src/pages/stock/LocationDetail.tsx:89 +#: src/pages/part/CategoryDetail.tsx:84 +#: src/pages/stock/LocationDetail.tsx:91 #: src/tables/settings/ErrorTable.tsx:34 msgid "Path" msgstr "" -#: src/pages/part/CategoryDetail.tsx:99 +#: src/pages/part/CategoryDetail.tsx:100 msgid "Parent Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:116 +#: src/pages/part/CategoryDetail.tsx:117 msgid "Subcategories" msgstr "" -#: src/pages/part/CategoryDetail.tsx:123 -#: src/pages/stock/LocationDetail.tsx:129 -#: src/tables/part/PartCategoryTable.tsx:69 +#: src/pages/part/CategoryDetail.tsx:124 +#: src/pages/stock/LocationDetail.tsx:131 +#: src/tables/part/PartCategoryTable.tsx:65 msgid "Structural" msgstr "" -#: src/pages/part/CategoryDetail.tsx:129 +#: src/pages/part/CategoryDetail.tsx:130 msgid "Parent default location" msgstr "" -#: src/pages/part/CategoryDetail.tsx:136 +#: src/pages/part/CategoryDetail.tsx:137 msgid "Default location" msgstr "" -#: src/pages/part/CategoryDetail.tsx:147 +#: src/pages/part/CategoryDetail.tsx:148 msgid "Top level part category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:157 -#: src/pages/part/CategoryDetail.tsx:211 -#: src/tables/part/PartCategoryTable.tsx:96 +#: src/pages/part/CategoryDetail.tsx:158 +#: src/pages/part/CategoryDetail.tsx:212 +#: src/tables/part/PartCategoryTable.tsx:88 msgid "Edit Part Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:170 -#: src/pages/stock/LocationDetail.tsx:213 +#: src/pages/part/CategoryDetail.tsx:171 +#: src/pages/stock/LocationDetail.tsx:223 msgid "Delete items" msgstr "" -#: src/pages/part/CategoryDetail.tsx:178 -#: src/pages/part/CategoryDetail.tsx:216 +#: src/pages/part/CategoryDetail.tsx:179 +#: src/pages/part/CategoryDetail.tsx:217 msgid "Delete Part Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:181 +#: src/pages/part/CategoryDetail.tsx:182 msgid "Parts Action" msgstr "" -#: src/pages/part/CategoryDetail.tsx:182 +#: src/pages/part/CategoryDetail.tsx:183 msgid "Action for parts in this category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:187 +#: src/pages/part/CategoryDetail.tsx:188 msgid "Child Categories Action" msgstr "" -#: src/pages/part/CategoryDetail.tsx:188 +#: src/pages/part/CategoryDetail.tsx:189 msgid "Action for child categories in this category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:206 +#: src/pages/part/CategoryDetail.tsx:207 msgid "Category Actions" msgstr "" -#: src/pages/part/CategoryDetail.tsx:228 +#: src/pages/part/CategoryDetail.tsx:229 msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:138 +#: src/pages/part/PartDetail.tsx:139 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:145 +#: src/pages/part/PartDetail.tsx:146 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "" -#: src/pages/part/PartDetail.tsx:151 +#: src/pages/part/PartDetail.tsx:152 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:158 +#: src/pages/part/PartDetail.tsx:159 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:165 +#: src/pages/part/PartDetail.tsx:166 msgid "IPN" msgstr "" -#: src/pages/part/PartDetail.tsx:172 +#: src/pages/part/PartDetail.tsx:173 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:179 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39 +#: src/pages/part/PartDetail.tsx:180 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "" -#: src/pages/part/PartDetail.tsx:186 +#: src/pages/part/PartDetail.tsx:187 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:193 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:180 -#: src/pages/sales/ReturnOrderDetail.tsx:148 -#: src/pages/sales/SalesOrderDetail.tsx:152 +#: src/pages/part/PartDetail.tsx:194 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:182 +#: src/pages/sales/ReturnOrderDetail.tsx:150 +#: src/pages/sales/SalesOrderDetail.tsx:154 msgid "Link" msgstr "" -#: src/pages/part/PartDetail.tsx:211 -#: src/tables/bom/BomTable.tsx:269 +#: src/pages/part/PartDetail.tsx:212 +#: src/tables/bom/BomTable.tsx:271 #: src/tables/build/BuildLineTable.tsx:121 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:218 +#: src/pages/part/PartDetail.tsx:219 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:224 -#: src/tables/bom/BomTable.tsx:210 +#: src/pages/part/PartDetail.tsx:225 +#: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:233 +#: src/pages/part/PartDetail.tsx:234 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:241 +#: src/pages/part/PartDetail.tsx:242 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:248 -#: src/tables/bom/BomTable.tsx:234 +#: src/pages/part/PartDetail.tsx:249 +#: src/tables/bom/BomTable.tsx:236 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:255 -#: src/tables/bom/BomTable.tsx:218 +#: src/pages/part/PartDetail.tsx:256 +#: src/tables/bom/BomTable.tsx:220 #: src/tables/part/PartTable.tsx:82 msgid "Building" msgstr "" -#: src/pages/part/PartDetail.tsx:264 +#: src/pages/part/PartDetail.tsx:265 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 @@ -3968,45 +4054,47 @@ msgstr "" #: src/tables/machine/MachineListTable.tsx:585 #: src/tables/part/PartTable.tsx:168 #: src/tables/part/PartVariantTable.tsx:15 -#: src/tables/plugin/PluginListTable.tsx:190 -#: src/tables/plugin/PluginListTable.tsx:638 +#: src/tables/plugin/PluginListTable.tsx:149 +#: src/tables/plugin/PluginListTable.tsx:271 +#: src/tables/plugin/PluginListTable.tsx:563 #: src/tables/purchasing/SupplierPartTable.tsx:98 #: src/tables/purchasing/SupplierPartTable.tsx:187 #: src/tables/stock/StockItemTable.tsx:254 msgid "Active" msgstr "" -#: src/pages/part/PartDetail.tsx:269 +#: src/pages/part/PartDetail.tsx:270 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:274 -#: src/tables/bom/BomTable.tsx:264 +#: src/pages/part/PartDetail.tsx:275 +#: src/tables/bom/BomTable.tsx:266 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:279 +#: src/pages/part/PartDetail.tsx:280 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:284 -#: src/tables/bom/BomTable.tsx:259 +#: src/pages/part/PartDetail.tsx:285 +#: src/tables/bom/BomTable.tsx:261 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:289 +#: src/pages/part/PartDetail.tsx:290 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:294 +#: src/pages/part/PartDetail.tsx:295 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:299 +#: src/pages/part/PartDetail.tsx:300 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:307 +#: src/pages/part/PartDetail.tsx:308 +#: src/tables/ColumnRenderers.tsx:199 msgid "Creation Date" msgstr "" @@ -4014,7 +4102,7 @@ msgstr "" #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:312 +#: src/pages/part/PartDetail.tsx:313 msgid "Created By" msgstr "" @@ -4022,68 +4110,72 @@ msgstr "" #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:327 -msgid "Default Supplier" -msgstr "" - #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:338 +#: src/pages/part/PartDetail.tsx:328 +msgid "Default Supplier" +msgstr "" + +#: src/pages/part/PartDetail.tsx:339 #: src/tables/part/PartTable.tsx:151 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:373 -#: src/pages/stock/StockDetail.tsx:127 +#: src/pages/part/PartDetail.tsx:374 +#: src/pages/stock/StockDetail.tsx:130 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:408 +#: src/pages/part/PartDetail.tsx:409 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:479 +#: src/pages/part/PartDetail.tsx:480 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:505 +#: src/pages/part/PartDetail.tsx:506 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:512 -#: src/pages/stock/StockDetail.tsx:275 +#: src/pages/part/PartDetail.tsx:513 +#: src/pages/stock/StockDetail.tsx:283 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:532 +#: src/pages/part/PartDetail.tsx:519 +msgid "Bill of Materials" +msgstr "" + +#: src/pages/part/PartDetail.tsx:533 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:539 +#: src/pages/part/PartDetail.tsx:540 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:545 +#: src/pages/part/PartDetail.tsx:546 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:584 +#: src/pages/part/PartDetail.tsx:585 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:594 +#: src/pages/part/PartDetail.tsx:595 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:605 +#: src/pages/part/PartDetail.tsx:606 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:660 -#: src/pages/stock/StockDetail.tsx:148 +#: src/pages/part/PartDetail.tsx:661 +#: src/pages/stock/StockDetail.tsx:151 #: src/tables/build/BuildLineTable.tsx:36 #: src/tables/part/PartTable.tsx:107 #: src/tables/stock/StockItemTable.tsx:166 @@ -4091,49 +4183,51 @@ msgstr "" msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:666 +#: src/pages/part/PartDetail.tsx:667 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:672 -#: src/tables/bom/BomTable.tsx:274 +#: src/pages/part/PartDetail.tsx:673 +#: src/tables/bom/BomTable.tsx:276 #: src/tables/part/PartTable.tsx:76 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:678 -#: src/pages/stock/StockDetail.tsx:496 +#: src/pages/part/PartDetail.tsx:679 +#: src/pages/stock/StockDetail.tsx:509 #: src/tables/stock/StockItemTable.tsx:295 msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:697 +#: src/pages/part/PartDetail.tsx:698 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:704 +#: src/pages/part/PartDetail.tsx:705 #: src/tables/part/PartTable.tsx:266 #: src/tables/part/PartTable.tsx:279 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:716 +#: src/pages/part/PartDetail.tsx:717 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:725 +#: src/pages/part/PartDetail.tsx:726 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:763 +#: src/pages/part/PartDetail.tsx:764 +#: src/pages/stock/LocationDetail.tsx:301 +#: src/tables/stock/StockItemTable.tsx:409 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:771 +#: src/pages/part/PartDetail.tsx:772 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:782 +#: src/pages/part/PartDetail.tsx:783 msgid "Transfer part stock" msgstr "" @@ -4199,15 +4293,15 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151 #: src/pages/part/pricing/SupplierPricingPanel.tsx:83 -#: src/tables/bom/BomTable.tsx:149 +#: src/tables/bom/BomTable.tsx:151 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 msgid "Unit Price" msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:173 -#: src/tables/ColumnRenderers.tsx:278 -#: src/tables/bom/BomTable.tsx:158 +#: src/tables/ColumnRenderers.tsx:241 +#: src/tables/bom/BomTable.tsx:160 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 #: src/tables/sales/ReturnOrderTable.tsx:104 #: src/tables/sales/SalesOrderTable.tsx:134 @@ -4229,24 +4323,24 @@ msgid "Bar Chart" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:63 -#: src/pages/part/pricing/PriceBreakPanel.tsx:117 +#: src/pages/part/pricing/PriceBreakPanel.tsx:115 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:138 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:164 msgid "Add Price Break" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:76 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:149 msgid "Edit Price Break" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:86 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:157 msgid "Delete Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:102 -#: src/pages/part/pricing/PriceBreakPanel.tsx:193 +#: src/pages/part/pricing/PriceBreakPanel.tsx:100 +#: src/pages/part/pricing/PriceBreakPanel.tsx:191 msgid "Price Break" msgstr "" @@ -4275,7 +4369,7 @@ msgid "Overall Pricing" msgstr "" #: src/pages/part/pricing/PricingOverviewPanel.tsx:184 -#: src/pages/stock/StockDetail.tsx:121 +#: src/pages/stock/StockDetail.tsx:124 msgid "Last Updated" msgstr "" @@ -4309,9 +4403,8 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50 #: src/pages/part/pricing/SaleHistoryPanel.tsx:46 -#: src/tables/ColumnRenderers.tsx:217 -#: src/tables/plugin/PluginListTable.tsx:182 -#: src/tables/stock/StockItemTestResultTable.tsx:194 +#: src/tables/ColumnRenderers.tsx:180 +#: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" @@ -4338,89 +4431,89 @@ msgstr "" msgid "Variant Part" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:73 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:75 msgid "Edit Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:82 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:84 #: src/tables/purchasing/PurchaseOrderTable.tsx:128 #: src/tables/purchasing/PurchaseOrderTable.tsx:140 msgid "Add Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:107 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:109 msgid "Supplier Reference" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:137 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:252 -#: src/pages/sales/ReturnOrderDetail.tsx:104 -#: src/pages/sales/ReturnOrderDetail.tsx:220 -#: src/pages/sales/SalesOrderDetail.tsx:108 -#: src/pages/sales/SalesOrderDetail.tsx:248 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:139 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:254 +#: src/pages/sales/ReturnOrderDetail.tsx:106 +#: src/pages/sales/ReturnOrderDetail.tsx:222 +#: src/pages/sales/SalesOrderDetail.tsx:110 +#: src/pages/sales/SalesOrderDetail.tsx:250 msgid "Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:144 -#: src/pages/sales/ReturnOrderDetail.tsx:111 -#: src/pages/sales/SalesOrderDetail.tsx:115 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:146 +#: src/pages/sales/ReturnOrderDetail.tsx:113 +#: src/pages/sales/SalesOrderDetail.tsx:117 msgid "Completed Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:152 -#: src/pages/sales/ReturnOrderDetail.tsx:119 -#: src/pages/sales/SalesOrderDetail.tsx:123 -#: src/pages/sales/SalesOrderDetail.tsx:258 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:121 +#: src/pages/sales/SalesOrderDetail.tsx:125 +#: src/pages/sales/SalesOrderDetail.tsx:260 msgid "Completed Shipments" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:159 -#: src/pages/sales/ReturnOrderDetail.tsx:127 -#: src/pages/sales/SalesOrderDetail.tsx:131 -msgid "Order Currency" -msgstr "" - #: src/pages/purchasing/PurchaseOrderDetail.tsx:159 #: src/pages/sales/ReturnOrderDetail.tsx:126 #: src/pages/sales/SalesOrderDetail.tsx:130 #~ msgid "Order Currency," #~ msgstr "Order Currency," -#: src/pages/purchasing/PurchaseOrderDetail.tsx:166 -#: src/pages/sales/ReturnOrderDetail.tsx:134 -#: src/pages/sales/SalesOrderDetail.tsx:138 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:161 +#: src/pages/sales/ReturnOrderDetail.tsx:129 +#: src/pages/sales/SalesOrderDetail.tsx:133 +msgid "Order Currency" +msgstr "" + +#: src/pages/purchasing/PurchaseOrderDetail.tsx:168 +#: src/pages/sales/ReturnOrderDetail.tsx:136 +#: src/pages/sales/SalesOrderDetail.tsx:140 msgid "Total Cost" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:201 -#: src/pages/sales/ReturnOrderDetail.tsx:169 -#: src/pages/sales/SalesOrderDetail.tsx:173 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:203 +#: src/pages/sales/ReturnOrderDetail.tsx:171 +#: src/pages/sales/SalesOrderDetail.tsx:175 msgid "Created On" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:246 -#: src/pages/sales/ReturnOrderDetail.tsx:214 -#: src/pages/sales/SalesOrderDetail.tsx:242 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:248 +#: src/pages/sales/ReturnOrderDetail.tsx:216 +#: src/pages/sales/SalesOrderDetail.tsx:244 msgid "Order Details" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:316 -#: src/pages/sales/ReturnOrderDetail.tsx:290 -#: src/pages/sales/SalesOrderDetail.tsx:302 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:323 +#: src/pages/sales/ReturnOrderDetail.tsx:297 +#: src/pages/sales/SalesOrderDetail.tsx:309 msgid "Order Actions" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:75 -#: src/pages/sales/SalesOrderDetail.tsx:79 +#: src/pages/sales/ReturnOrderDetail.tsx:77 +#: src/pages/sales/SalesOrderDetail.tsx:81 #: src/tables/sales/SalesOrderTable.tsx:123 msgid "Customer Reference" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:267 +#: src/pages/sales/ReturnOrderDetail.tsx:269 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:276 +#: src/pages/sales/ReturnOrderDetail.tsx:278 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" @@ -4430,68 +4523,72 @@ msgstr "" msgid "Customers" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:219 +#: src/pages/sales/SalesOrderDetail.tsx:221 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:228 +#: src/pages/sales/SalesOrderDetail.tsx:230 #: src/tables/sales/SalesOrderTable.tsx:83 #: src/tables/sales/SalesOrderTable.tsx:95 msgid "Add Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:253 +#: src/pages/sales/SalesOrderDetail.tsx:255 msgid "Pending Shipments" msgstr "" -#: src/pages/stock/LocationDetail.tsx:105 +#: src/pages/stock/LocationDetail.tsx:107 msgid "Parent Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:123 +#: src/pages/stock/LocationDetail.tsx:125 msgid "Sublocations" msgstr "" -#: src/pages/stock/LocationDetail.tsx:135 +#: src/pages/stock/LocationDetail.tsx:137 msgid "External" msgstr "" -#: src/pages/stock/LocationDetail.tsx:144 +#: src/pages/stock/LocationDetail.tsx:143 +msgid "Location Type" +msgstr "" + +#: src/pages/stock/LocationDetail.tsx:154 msgid "Top level stock location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:155 +#: src/pages/stock/LocationDetail.tsx:165 msgid "Location Details" msgstr "" -#: src/pages/stock/LocationDetail.tsx:181 +#: src/pages/stock/LocationDetail.tsx:191 msgid "Default Parts" msgstr "" -#: src/pages/stock/LocationDetail.tsx:200 +#: src/pages/stock/LocationDetail.tsx:210 #: src/pages/stock/LocationDetail.tsx:328 -#: src/tables/stock/StockLocationTable.tsx:108 +#: src/tables/stock/StockLocationTable.tsx:100 msgid "Edit Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:221 +#: src/pages/stock/LocationDetail.tsx:231 #: src/pages/stock/LocationDetail.tsx:333 msgid "Delete Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:224 +#: src/pages/stock/LocationDetail.tsx:234 msgid "Items Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:225 +#: src/pages/stock/LocationDetail.tsx:235 msgid "Action for stock items in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:230 +#: src/pages/stock/LocationDetail.tsx:240 msgid "Child Locations Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:231 +#: src/pages/stock/LocationDetail.tsx:241 msgid "Action for child locations in this location" msgstr "" @@ -4499,11 +4596,11 @@ msgstr "" msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:100 +#: src/pages/stock/StockDetail.tsx:103 msgid "Base Part" msgstr "" -#: src/pages/stock/StockDetail.tsx:107 +#: src/pages/stock/StockDetail.tsx:110 msgid "Stock Status" msgstr "" @@ -4515,15 +4612,16 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:174 +#: src/pages/stock/StockDetail.tsx:177 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:190 +#: src/pages/stock/StockDetail.tsx:193 msgid "Consumed By" msgstr "" -#: src/pages/stock/StockDetail.tsx:199 +#: src/pages/stock/StockDetail.tsx:202 +#: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" msgstr "" @@ -4535,78 +4633,78 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:264 +#: src/pages/stock/StockDetail.tsx:267 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:270 +#: src/pages/stock/StockDetail.tsx:273 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:282 +#: src/pages/stock/StockDetail.tsx:290 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:296 +#: src/pages/stock/StockDetail.tsx:304 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:303 +#: src/pages/stock/StockDetail.tsx:311 msgid "Child Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:358 +#: src/pages/stock/StockDetail.tsx:366 msgid "Edit Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:385 +#: src/pages/stock/StockDetail.tsx:393 msgid "Delete Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:426 -msgid "Stock Operations" -msgstr "" - -#: src/pages/stock/StockDetail.tsx:431 -msgid "Count stock" -msgstr "" - #: src/pages/stock/StockDetail.tsx:433 #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:441 +#: src/pages/stock/StockDetail.tsx:440 +msgid "Stock Operations" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:445 +msgid "Count stock" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:455 #: src/tables/stock/StockItemTable.tsx:414 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:449 +#: src/pages/stock/StockDetail.tsx:463 #: src/tables/stock/StockItemTable.tsx:423 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:456 +#: src/pages/stock/StockDetail.tsx:470 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:457 +#: src/pages/stock/StockDetail.tsx:471 #: src/tables/stock/StockItemTable.tsx:443 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:469 +#: src/pages/stock/StockDetail.tsx:482 msgid "Stock Item Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:513 -msgid "Batch Code" -msgstr "" - -#: src/tables/ColumnRenderers.tsx:50 +#: src/tables/ColumnRenderers.tsx:42 msgid "No location set" msgstr "" -#: src/tables/ColumnRenderers.tsx:264 +#: src/tables/ColumnRenderers.tsx:207 +msgid "Shipment Date" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:227 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "" @@ -4616,20 +4714,32 @@ msgstr "" msgid "Select Columns" msgstr "" -#: src/tables/DownloadAction.tsx:11 +#: src/tables/DownloadAction.tsx:13 +#~ msgid "Excel" +#~ msgstr "Excel" + +#: src/tables/DownloadAction.tsx:21 +#~ msgid "Download selected data" +#~ msgstr "Download selected data" + +#: src/tables/DownloadAction.tsx:22 msgid "CSV" msgstr "" -#: src/tables/DownloadAction.tsx:12 +#: src/tables/DownloadAction.tsx:23 msgid "TSV" msgstr "" -#: src/tables/DownloadAction.tsx:13 -msgid "Excel" +#: src/tables/DownloadAction.tsx:24 +msgid "Excel (.xls)" msgstr "" -#: src/tables/DownloadAction.tsx:21 -msgid "Download selected data" +#: src/tables/DownloadAction.tsx:25 +msgid "Excel (.xlsx)" +msgstr "" + +#: src/tables/DownloadAction.tsx:39 +msgid "Download Data" msgstr "" #: src/tables/Filter.tsx:88 @@ -4663,102 +4773,102 @@ msgstr "" msgid "Remove filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:147 +#: src/tables/FilterSelectDrawer.tsx:136 msgid "Select filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:148 +#: src/tables/FilterSelectDrawer.tsx:137 msgid "Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:155 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:33 -#: src/tables/stock/StockItemTestResultTable.tsx:182 +#: src/tables/FilterSelectDrawer.tsx:144 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 +#: src/tables/stock/StockItemTestResultTable.tsx:180 msgid "Value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:156 +#: src/tables/FilterSelectDrawer.tsx:145 msgid "Select filter value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:196 +#: src/tables/FilterSelectDrawer.tsx:185 msgid "Table Filters" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:228 +#: src/tables/FilterSelectDrawer.tsx:217 msgid "Add Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:237 +#: src/tables/FilterSelectDrawer.tsx:226 msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:118 -#: src/tables/InvenTreeTable.tsx:384 -#: src/tables/InvenTreeTable.tsx:405 +#: src/tables/InvenTreeTable.tsx:119 +#: src/tables/InvenTreeTable.tsx:390 +#: src/tables/InvenTreeTable.tsx:411 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:416 +#: src/tables/InvenTreeTable.tsx:422 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:424 +#: src/tables/InvenTreeTable.tsx:430 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:427 +#: src/tables/InvenTreeTable.tsx:433 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:436 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:433 +#: src/tables/InvenTreeTable.tsx:439 msgid "Not found" msgstr "" -#: src/tables/InvenTreeTable.tsx:482 -#: src/tables/InvenTreeTable.tsx:604 +#: src/tables/InvenTreeTable.tsx:488 +#: src/tables/InvenTreeTable.tsx:611 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:486 +#: src/tables/InvenTreeTable.tsx:492 msgid "Are you sure you want to delete the selected records?" msgstr "" -#: src/tables/InvenTreeTable.tsx:488 +#: src/tables/InvenTreeTable.tsx:494 msgid "This action cannot be undone!" msgstr "" -#: src/tables/InvenTreeTable.tsx:516 +#: src/tables/InvenTreeTable.tsx:522 msgid "Deleted records" msgstr "" -#: src/tables/InvenTreeTable.tsx:517 +#: src/tables/InvenTreeTable.tsx:523 msgid "Records were deleted successfully" msgstr "" -#: src/tables/InvenTreeTable.tsx:526 +#: src/tables/InvenTreeTable.tsx:532 msgid "Failed to delete records" msgstr "" -#: src/tables/InvenTreeTable.tsx:585 -#: src/tables/InvenTreeTable.tsx:586 -msgid "Barcode actions" -msgstr "" - #: src/tables/InvenTreeTable.tsx:594 #: src/tables/InvenTreeTable.tsx:595 -msgid "Print actions" +#~ msgid "Print actions" +#~ msgstr "Print actions" + +#: src/tables/InvenTreeTable.tsx:601 +#: src/tables/InvenTreeTable.tsx:602 +msgid "Barcode actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:620 +#: src/tables/InvenTreeTable.tsx:630 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:638 +#: src/tables/InvenTreeTable.tsx:648 msgid "Table filters" msgstr "" @@ -4770,138 +4880,138 @@ msgstr "" msgid "Part Information" msgstr "" -#: src/tables/bom/BomTable.tsx:177 +#: src/tables/bom/BomTable.tsx:179 #: src/tables/part/PartTable.tsx:124 msgid "No stock" msgstr "" -#: src/tables/bom/BomTable.tsx:185 +#: src/tables/bom/BomTable.tsx:187 #: src/tables/build/BuildLineTable.tsx:104 #: src/tables/part/PartTable.tsx:115 msgid "External stock" msgstr "" -#: src/tables/bom/BomTable.tsx:193 +#: src/tables/bom/BomTable.tsx:195 #: src/tables/build/BuildLineTable.tsx:67 msgid "Includes substitute stock" msgstr "" -#: src/tables/bom/BomTable.tsx:202 +#: src/tables/bom/BomTable.tsx:204 #: src/tables/build/BuildLineTable.tsx:77 msgid "Includes variant stock" msgstr "" -#: src/tables/bom/BomTable.tsx:227 +#: src/tables/bom/BomTable.tsx:229 #: src/tables/part/PartTable.tsx:143 #: src/tables/stock/StockItemTable.tsx:205 msgid "Stock Information" msgstr "" -#: src/tables/bom/BomTable.tsx:239 +#: src/tables/bom/BomTable.tsx:241 #: src/tables/build/BuildLineTable.tsx:195 msgid "Consumable item" msgstr "" -#: src/tables/bom/BomTable.tsx:260 +#: src/tables/bom/BomTable.tsx:262 msgid "Show trackable items" msgstr "" -#: src/tables/bom/BomTable.tsx:265 +#: src/tables/bom/BomTable.tsx:267 msgid "Show asssmbled items" msgstr "" -#: src/tables/bom/BomTable.tsx:270 +#: src/tables/bom/BomTable.tsx:272 msgid "Show items with available stock" msgstr "" -#: src/tables/bom/BomTable.tsx:275 +#: src/tables/bom/BomTable.tsx:277 msgid "Show items on order" msgstr "" -#: src/tables/bom/BomTable.tsx:279 +#: src/tables/bom/BomTable.tsx:281 msgid "Validated" msgstr "" -#: src/tables/bom/BomTable.tsx:280 +#: src/tables/bom/BomTable.tsx:282 msgid "Show validated items" msgstr "" -#: src/tables/bom/BomTable.tsx:284 +#: src/tables/bom/BomTable.tsx:286 #: src/tables/bom/UsedInTable.tsx:63 msgid "Inherited" msgstr "" -#: src/tables/bom/BomTable.tsx:285 +#: src/tables/bom/BomTable.tsx:287 #: src/tables/bom/UsedInTable.tsx:64 msgid "Show inherited items" msgstr "" -#: src/tables/bom/BomTable.tsx:289 +#: src/tables/bom/BomTable.tsx:291 #: src/tables/bom/UsedInTable.tsx:68 #: src/tables/build/BuildLineTable.tsx:46 msgid "Optional" msgstr "" -#: src/tables/bom/BomTable.tsx:290 +#: src/tables/bom/BomTable.tsx:292 #: src/tables/bom/UsedInTable.tsx:69 msgid "Show optional items" msgstr "" -#: src/tables/bom/BomTable.tsx:294 +#: src/tables/bom/BomTable.tsx:296 #: src/tables/build/BuildLineTable.tsx:41 msgid "Consumable" msgstr "" -#: src/tables/bom/BomTable.tsx:295 +#: src/tables/bom/BomTable.tsx:297 msgid "Show consumable items" msgstr "" -#: src/tables/bom/BomTable.tsx:299 +#: src/tables/bom/BomTable.tsx:301 msgid "Has Pricing" msgstr "" -#: src/tables/bom/BomTable.tsx:300 -msgid "Show items with pricing" -msgstr "" - #: src/tables/bom/BomTable.tsx:301 #~ msgid "Create BOM Item" #~ msgstr "Create BOM Item" -#: src/tables/bom/BomTable.tsx:309 -#: src/tables/bom/BomTable.tsx:397 +#: src/tables/bom/BomTable.tsx:302 +msgid "Show items with pricing" +msgstr "" + +#: src/tables/bom/BomTable.tsx:311 +#: src/tables/bom/BomTable.tsx:399 msgid "Add BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:314 +#: src/tables/bom/BomTable.tsx:316 msgid "BOM item created" msgstr "" -#: src/tables/bom/BomTable.tsx:321 +#: src/tables/bom/BomTable.tsx:323 msgid "Edit BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:323 +#: src/tables/bom/BomTable.tsx:325 msgid "BOM item updated" msgstr "" -#: src/tables/bom/BomTable.tsx:330 -msgid "Delete BOM Item" -msgstr "" - -#: src/tables/bom/BomTable.tsx:331 -msgid "BOM item deleted" -msgstr "" - #: src/tables/bom/BomTable.tsx:331 #~ msgid "Edit Bom Item" #~ msgstr "Edit Bom Item" +#: src/tables/bom/BomTable.tsx:332 +msgid "Delete BOM Item" +msgstr "" + +#: src/tables/bom/BomTable.tsx:333 +msgid "BOM item deleted" +msgstr "" + #: src/tables/bom/BomTable.tsx:333 #~ msgid "Bom item updated" #~ msgstr "Bom item updated" -#: src/tables/bom/BomTable.tsx:341 +#: src/tables/bom/BomTable.tsx:343 msgid "View BOM" msgstr "" @@ -4917,11 +5027,11 @@ msgstr "" #~ msgid "Are you sure you want to remove this BOM item?" #~ msgstr "Are you sure you want to remove this BOM item?" -#: src/tables/bom/BomTable.tsx:352 +#: src/tables/bom/BomTable.tsx:354 msgid "Validate BOM line" msgstr "" -#: src/tables/bom/BomTable.tsx:360 +#: src/tables/bom/BomTable.tsx:362 msgid "Edit Substitutes" msgstr "" @@ -5038,11 +5148,11 @@ msgid "Filter by responsible owner" msgstr "" #: src/tables/build/BuildOutputTable.tsx:114 -#: src/tables/build/BuildOutputTable.tsx:150 +#: src/tables/build/BuildOutputTable.tsx:152 msgid "Add Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:155 +#: src/tables/build/BuildOutputTable.tsx:157 msgid "Complete selected outputs" msgstr "" @@ -5050,68 +5160,68 @@ msgstr "" #~ msgid "Delete build output" #~ msgstr "Delete build output" -#: src/tables/build/BuildOutputTable.tsx:165 +#: src/tables/build/BuildOutputTable.tsx:167 msgid "Scrap selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:175 +#: src/tables/build/BuildOutputTable.tsx:177 msgid "Cancel selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:191 +#: src/tables/build/BuildOutputTable.tsx:193 msgid "Allocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:192 +#: src/tables/build/BuildOutputTable.tsx:194 msgid "Allocate stock to build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:197 +#: src/tables/build/BuildOutputTable.tsx:199 msgid "Deallocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:198 +#: src/tables/build/BuildOutputTable.tsx:200 msgid "Deallocate stock from build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:203 +#: src/tables/build/BuildOutputTable.tsx:205 msgid "Complete" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:204 +#: src/tables/build/BuildOutputTable.tsx:206 msgid "Complete build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:213 +#: src/tables/build/BuildOutputTable.tsx:215 msgid "Scrap" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:214 +#: src/tables/build/BuildOutputTable.tsx:216 msgid "Scrap build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:224 +#: src/tables/build/BuildOutputTable.tsx:226 msgid "Cancel build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:251 +#: src/tables/build/BuildOutputTable.tsx:253 msgid "Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:264 +#: src/tables/build/BuildOutputTable.tsx:266 msgid "Batch" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:278 +#: src/tables/build/BuildOutputTable.tsx:280 msgid "Allocated Items" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:288 +#: src/tables/build/BuildOutputTable.tsx:290 msgid "Required Tests" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:317 -#: src/tables/stock/StockItemTestResultTable.tsx:146 +#: src/tables/build/BuildOutputTable.tsx:319 +#: src/tables/stock/StockItemTestResultTable.tsx:144 msgid "Test Results" msgstr "" @@ -5132,7 +5242,7 @@ msgstr "" msgid "Delete Address" msgstr "" -#: src/tables/company/AddressTable.tsx:145 +#: src/tables/company/AddressTable.tsx:144 msgid "Are you sure you want to delete this address?" msgstr "" @@ -5177,36 +5287,52 @@ msgstr "" msgid "Add contact" msgstr "" -#: src/tables/general/AttachmentTable.tsx:161 +#: src/tables/general/AttachmentTable.tsx:130 msgid "File uploaded" msgstr "" -#: src/tables/general/AttachmentTable.tsx:162 +#: src/tables/general/AttachmentTable.tsx:131 msgid "File {0} uploaded successfully" msgstr "" -#: src/tables/general/AttachmentTable.tsx:173 +#: src/tables/general/AttachmentTable.tsx:142 msgid "Upload Error" msgstr "" -#: src/tables/general/AttachmentTable.tsx:174 +#: src/tables/general/AttachmentTable.tsx:143 msgid "File could not be uploaded" msgstr "" #: src/tables/general/AttachmentTable.tsx:187 +msgid "Upload Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:197 +msgid "Edit Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:211 +msgid "Delete Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:221 msgid "Add attachment" msgstr "" -#: src/tables/general/AttachmentTable.tsx:207 +#: src/tables/general/AttachmentTable.tsx:232 msgid "Add external link" msgstr "" -#: src/tables/general/AttachmentTable.tsx:239 +#: src/tables/general/AttachmentTable.tsx:254 +#~ msgid "Upload attachment" +#~ msgstr "Upload attachment" + +#: src/tables/general/AttachmentTable.tsx:289 msgid "No attachments found" msgstr "" -#: src/tables/general/AttachmentTable.tsx:254 -msgid "Upload attachment" +#: src/tables/general/AttachmentTable.tsx:325 +msgid "Drag attachment file here to upload" msgstr "" #: src/tables/machine/MachineListTable.tsx:199 @@ -5332,8 +5458,8 @@ msgstr "" #: src/tables/machine/MachineTypeTable.tsx:135 #: src/tables/machine/MachineTypeTable.tsx:255 -#: src/tables/plugin/PluginListTable.tsx:215 -#: src/tables/plugin/PluginListTable.tsx:643 +#: src/tables/plugin/PluginListTable.tsx:180 +#: src/tables/plugin/PluginListTable.tsx:568 msgid "Builtin" msgstr "" @@ -5375,7 +5501,7 @@ msgid "Message" msgstr "" #: src/tables/part/ParametricPartTable.tsx:75 -#: src/tables/part/PartParameterTable.tsx:87 +#: src/tables/part/PartParameterTable.tsx:88 msgid "Internal Units" msgstr "" @@ -5388,29 +5514,29 @@ msgid "Add Part Parameter" msgstr "" #: src/tables/part/ParametricPartTable.tsx:147 -#: src/tables/part/PartParameterTable.tsx:128 -#: src/tables/part/PartParameterTable.tsx:150 +#: src/tables/part/PartParameterTable.tsx:121 +#: src/tables/part/PartParameterTable.tsx:144 msgid "Edit Part Parameter" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:64 +#: src/tables/part/PartCategoryTable.tsx:60 #: src/tables/part/PartTable.tsx:180 msgid "Include Subcategories" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:65 +#: src/tables/part/PartCategoryTable.tsx:61 msgid "Include subcategories in results" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:70 +#: src/tables/part/PartCategoryTable.tsx:66 msgid "Show structural categories" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:77 +#: src/tables/part/PartCategoryTable.tsx:73 msgid "New Part Category" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:106 +#: src/tables/part/PartCategoryTable.tsx:98 msgid "Add Part Category" msgstr "" @@ -5435,20 +5561,20 @@ msgstr "" #~ msgid "[{0}]" #~ msgstr "[{0}]" -#: src/tables/part/PartParameterTable.tsx:112 +#: src/tables/part/PartParameterTable.tsx:105 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:136 -#: src/tables/part/PartParameterTable.tsx:158 +#: src/tables/part/PartParameterTable.tsx:130 +#: src/tables/part/PartParameterTable.tsx:152 msgid "Delete Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:175 +#: src/tables/part/PartParameterTable.tsx:170 msgid "Add parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:196 +#: src/tables/part/PartParameterTable.tsx:191 #: src/tables/stock/StockItemTable.tsx:300 msgid "Include Variants" msgstr "" @@ -5482,15 +5608,15 @@ msgstr "" msgid "Add Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:97 +#: src/tables/part/PartParameterTemplateTable.tsx:100 msgid "Edit Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:105 +#: src/tables/part/PartParameterTemplateTable.tsx:111 msgid "Delete Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:135 +#: src/tables/part/PartParameterTemplateTable.tsx:141 msgid "Add parameter template" msgstr "" @@ -5588,7 +5714,7 @@ msgid "No Results" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:79 -#: src/tables/stock/StockItemTestResultTable.tsx:385 +#: src/tables/stock/StockItemTestResultTable.tsx:376 msgid "Required" msgstr "" @@ -5597,8 +5723,8 @@ msgid "Show required tests" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:84 -#: src/tables/settings/TemplateTable.tsx:213 -#: src/tables/settings/TemplateTable.tsx:275 +#: src/tables/settings/TemplateTable.tsx:160 +#: src/tables/settings/TemplateTable.tsx:270 msgid "Enabled" msgstr "" @@ -5639,26 +5765,30 @@ msgid "Show tests which have recorded results" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:126 -#: src/tables/part/PartTestTemplateTable.tsx:195 +#: src/tables/part/PartTestTemplateTable.tsx:201 msgid "Add Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:139 +#: src/tables/part/PartTestTemplateTable.tsx:142 msgid "Edit Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:147 +#: src/tables/part/PartTestTemplateTable.tsx:153 msgid "Delete Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:149 +#: src/tables/part/PartTestTemplateTable.tsx:155 msgid "This action cannot be reversed" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:151 +#: src/tables/part/PartTestTemplateTable.tsx:157 msgid "Any tests results associated with this template will be deleted" msgstr "" +#: src/tables/part/PartThumbTable.tsx:203 +msgid "Select" +msgstr "" + #: src/tables/part/PartVariantTable.tsx:16 msgid "Show active variants" msgstr "" @@ -5695,252 +5825,273 @@ msgstr "" msgid "Stage" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:113 -msgid "Plugin with id {id} not found" +#: src/tables/plugin/PluginListTable.tsx:95 +msgid "Plugin with key {pluginKey} not found" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:115 +#: src/tables/plugin/PluginListTable.tsx:97 msgid "An error occurred while fetching plugin details" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:134 -msgid "Plugin Actions" -msgstr "" +#: src/tables/plugin/PluginListTable.tsx:113 +#~ msgid "Plugin with id {id} not found" +#~ msgstr "Plugin with id {id} not found" -#: src/tables/plugin/PluginListTable.tsx:138 -#: src/tables/plugin/PluginListTable.tsx:141 -msgid "Edit plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:152 -#: src/tables/plugin/PluginListTable.tsx:153 -msgid "Reload" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:166 +#: src/tables/plugin/PluginListTable.tsx:122 msgid "Plugin information" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:177 +#: src/tables/plugin/PluginListTable.tsx:134 msgid "Author" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:198 +#: src/tables/plugin/PluginListTable.tsx:134 +#~ msgid "Plugin Actions" +#~ msgstr "Plugin Actions" + +#: src/tables/plugin/PluginListTable.tsx:138 +#: src/tables/plugin/PluginListTable.tsx:141 +#~ msgid "Edit plugin" +#~ msgstr "Edit plugin" + +#: src/tables/plugin/PluginListTable.tsx:152 +#: src/tables/plugin/PluginListTable.tsx:153 +#~ msgid "Reload" +#~ msgstr "Reload" + +#: src/tables/plugin/PluginListTable.tsx:154 +msgid "Plugin is not active" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:163 msgid "Package information" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:204 +#: src/tables/plugin/PluginListTable.tsx:169 msgid "Package Name" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:210 +#: src/tables/plugin/PluginListTable.tsx:175 msgid "Installation Path" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:220 +#: src/tables/plugin/PluginListTable.tsx:185 msgid "Package" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:231 +#: src/tables/plugin/PluginListTable.tsx:197 msgid "Plugin settings" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:248 +#: src/tables/plugin/PluginListTable.tsx:214 msgid "Plugin is active" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:254 +#: src/tables/plugin/PluginListTable.tsx:220 msgid "Plugin is inactive" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:261 +#: src/tables/plugin/PluginListTable.tsx:227 msgid "Plugin is not installed" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:287 +#: src/tables/plugin/PluginListTable.tsx:253 msgid "Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:312 +#: src/tables/plugin/PluginListTable.tsx:287 msgid "Description not available" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:338 +#: src/tables/plugin/PluginListTable.tsx:319 +msgid "Confirm plugin activation" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:320 +msgid "Confirm plugin deactivation" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:325 +msgid "The selected plugin will be activated" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:326 +msgid "The selected plugin will be deactivated" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:334 msgid "Activate Plugin" msgstr "" #: src/tables/plugin/PluginListTable.tsx:338 -msgid "Deactivate Plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:347 -msgid "Confirm plugin activation" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:348 -msgid "Confirm plugin deactivation" -msgstr "" +#~ msgid "Deactivate Plugin" +#~ msgstr "Deactivate Plugin" #: src/tables/plugin/PluginListTable.tsx:354 -msgid "The following plugin will be activated" -msgstr "" +#~ msgid "The following plugin will be activated" +#~ msgstr "The following plugin will be activated" #: src/tables/plugin/PluginListTable.tsx:355 -msgid "The following plugin will be deactivated" -msgstr "" +#~ msgid "The following plugin will be deactivated" +#~ msgstr "The following plugin will be deactivated" -#: src/tables/plugin/PluginListTable.tsx:366 -msgid "Confirm" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:376 -msgid "Activating plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:376 -msgid "Deactivating plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:392 -msgid "Plugin updated" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:394 -msgid "The plugin was activated" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:395 -msgid "The plugin was deactivated" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:403 -msgid "Error updating plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:423 +#: src/tables/plugin/PluginListTable.tsx:362 msgid "Deactivate" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:432 +#: src/tables/plugin/PluginListTable.tsx:366 +#~ msgid "Confirm" +#~ msgstr "Confirm" + +#: src/tables/plugin/PluginListTable.tsx:373 msgid "Activate" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:463 +#: src/tables/plugin/PluginListTable.tsx:376 +#~ msgid "Activating plugin" +#~ msgstr "Activating plugin" + +#: src/tables/plugin/PluginListTable.tsx:376 +#~ msgid "Deactivating plugin" +#~ msgstr "Deactivating plugin" + +#: src/tables/plugin/PluginListTable.tsx:392 +#~ msgid "Plugin updated" +#~ msgstr "Plugin updated" + +#: src/tables/plugin/PluginListTable.tsx:394 +#~ msgid "The plugin was activated" +#~ msgstr "The plugin was activated" + +#: src/tables/plugin/PluginListTable.tsx:395 +#~ msgid "The plugin was deactivated" +#~ msgstr "The plugin was deactivated" + +#: src/tables/plugin/PluginListTable.tsx:403 +#~ msgid "Error updating plugin" +#~ msgstr "Error updating plugin" + +#: src/tables/plugin/PluginListTable.tsx:406 msgid "Uninstall" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:495 +#: src/tables/plugin/PluginListTable.tsx:438 msgid "Install plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:508 +#: src/tables/plugin/PluginListTable.tsx:451 msgid "Install" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:512 +#: src/tables/plugin/PluginListTable.tsx:452 msgid "Plugin installed successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:525 +#: src/tables/plugin/PluginListTable.tsx:457 msgid "Uninstall Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:537 +#: src/tables/plugin/PluginListTable.tsx:469 msgid "Confirm plugin uninstall" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:540 +#: src/tables/plugin/PluginListTable.tsx:472 msgid "The selected plugin will be uninstalled." msgstr "" -#: src/tables/plugin/PluginListTable.tsx:541 +#: src/tables/plugin/PluginListTable.tsx:473 msgid "This action cannot be undone." msgstr "" -#: src/tables/plugin/PluginListTable.tsx:547 +#: src/tables/plugin/PluginListTable.tsx:477 msgid "Plugin uninstalled successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:560 +#: src/tables/plugin/PluginListTable.tsx:484 msgid "Delete Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:562 +#: src/tables/plugin/PluginListTable.tsx:485 msgid "Deleting this plugin configuration will remove all associated settings and data. Are you sure you want to delete this plugin?" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:574 +#: src/tables/plugin/PluginListTable.tsx:498 msgid "Plugins reloaded" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:575 +#: src/tables/plugin/PluginListTable.tsx:499 msgid "Plugins were reloaded successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:591 +#: src/tables/plugin/PluginListTable.tsx:515 msgid "Reload Plugins" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:600 +#: src/tables/plugin/PluginListTable.tsx:524 msgid "Install Plugin" msgstr "" +#: src/tables/plugin/PluginListTable.tsx:544 +msgid "Plugin Detail" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:573 +msgid "Sample" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:578 +#: src/tables/stock/StockItemTable.tsx:305 +msgid "Installed" +msgstr "" + #: src/tables/plugin/PluginListTable.tsx:615 #~ msgid "Plugin detail" #~ msgstr "Plugin detail" -#: src/tables/plugin/PluginListTable.tsx:619 -msgid "Plugin Detail" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:648 -msgid "Sample" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:653 -#: src/tables/stock/StockItemTable.tsx:305 -msgid "Installed" -msgstr "" - -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:57 -msgid "Edit Parameter" +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:59 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:108 +msgid "Add Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:60 -msgid "Parameter updated" -msgstr "" +#~ msgid "Parameter updated" +#~ msgstr "Parameter updated" -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:71 -msgid "Delete Parameter" +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:70 +msgid "Edit Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:73 -msgid "Parameter deleted" -msgstr "" +#~ msgid "Parameter deleted" +#~ msgstr "Parameter deleted" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:74 -msgid "Are you sure you want to delete this parameter?" +#~ msgid "Are you sure you want to delete this parameter?" +#~ msgstr "Are you sure you want to delete this parameter?" + +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:78 +msgid "Delete Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartTable.tsx:63 #~ msgid "Create Manufacturer Part" #~ msgstr "Create Manufacturer Part" -#: src/tables/purchasing/ManufacturerPartTable.tsx:100 -msgid "Manufacturer part updated" -msgstr "" - -#: src/tables/purchasing/ManufacturerPartTable.tsx:111 +#: src/tables/purchasing/ManufacturerPartTable.tsx:92 msgid "Delete Manufacturer Part" msgstr "" +#: src/tables/purchasing/ManufacturerPartTable.tsx:100 +#~ msgid "Manufacturer part updated" +#~ msgstr "Manufacturer part updated" + #: src/tables/purchasing/ManufacturerPartTable.tsx:112 -msgid "Manufacturer part deleted" -msgstr "" +#~ msgid "Manufacturer part deleted" +#~ msgstr "Manufacturer part deleted" #: src/tables/purchasing/ManufacturerPartTable.tsx:114 -msgid "Are you sure you want to remove this manufacturer part?" -msgstr "" +#~ msgid "Are you sure you want to remove this manufacturer part?" +#~ msgstr "Are you sure you want to remove this manufacturer part?" #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:86 msgid "Part Description" @@ -6087,18 +6238,22 @@ msgid "Error Information" msgstr "" #: src/tables/settings/ErrorTable.tsx:51 -msgid "Delete error report" +msgid "Delete Error Report" msgstr "" +#: src/tables/settings/ErrorTable.tsx:51 +#~ msgid "Delete error report" +#~ msgstr "Delete error report" + #: src/tables/settings/ErrorTable.tsx:53 -msgid "Error report deleted" -msgstr "" - -#: src/tables/settings/ErrorTable.tsx:54 msgid "Are you sure you want to delete this error report?" msgstr "" -#: src/tables/settings/ErrorTable.tsx:67 +#: src/tables/settings/ErrorTable.tsx:55 +msgid "Error report deleted" +msgstr "" + +#: src/tables/settings/ErrorTable.tsx:77 #: src/tables/settings/FailedTasksTable.tsx:57 msgid "Error Details" msgstr "" @@ -6115,7 +6270,7 @@ msgid "Task ID" msgstr "" #: src/tables/settings/FailedTasksTable.tsx:34 -#: src/tables/stock/StockItemTestResultTable.tsx:214 +#: src/tables/stock/StockItemTestResultTable.tsx:205 msgid "Started" msgstr "" @@ -6188,30 +6343,71 @@ msgstr "" msgid "Next Run" msgstr "" -#: src/tables/settings/TemplateTable.tsx:120 -msgid "{templateTypeTranslation} with id {id} not found" +#: src/tables/settings/TemplateTable.tsx:82 +msgid "Template not found" msgstr "" +#: src/tables/settings/TemplateTable.tsx:84 +msgid "An error occurred while fetching template details" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:120 +#~ msgid "{templateTypeTranslation} with id {id} not found" +#~ msgstr "{templateTypeTranslation} with id {id} not found" + #: src/tables/settings/TemplateTable.tsx:124 -msgid "An error occurred while fetching {templateTypeTranslation} details" -msgstr "" +#~ msgid "An error occurred while fetching {templateTypeTranslation} details" +#~ msgstr "An error occurred while fetching {templateTypeTranslation} details" #: src/tables/settings/TemplateTable.tsx:146 -msgid "actions" +#~ msgid "actions" +#~ msgstr "actions" + +#: src/tables/settings/TemplateTable.tsx:170 +msgid "Modify" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:171 +msgid "Modify template file" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:222 +#: src/tables/settings/TemplateTable.tsx:289 +msgid "Edit Template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:230 +msgid "Delete template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:236 +msgid "Add Template" msgstr "" #: src/tables/settings/TemplateTable.tsx:243 -msgid "Add new" -msgstr "" +#~ msgid "Add new" +#~ msgstr "Add new" #: src/tables/settings/TemplateTable.tsx:243 #~ msgid "Create new" #~ msgstr "Create new" -#: src/tables/settings/TemplateTable.tsx:276 +#: src/tables/settings/TemplateTable.tsx:249 +msgid "Add template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:271 msgid "Filter by enabled status" msgstr "" +#: src/tables/settings/TemplateTable.tsx:276 +msgid "Model Type" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:277 +msgid "Filter by target model type" +msgstr "" + #: src/tables/settings/UserTable.tsx:79 msgid "User with id {id} not found" msgstr "" @@ -6277,6 +6473,23 @@ msgstr "" msgid "Edit user" msgstr "" +#: src/tables/stock/LocationTypesTable.tsx:36 +#: src/tables/stock/LocationTypesTable.tsx:105 +msgid "Add Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:44 +msgid "Edit Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:52 +msgid "Delete Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:69 +msgid "Icon" +msgstr "" + #: src/tables/stock/StockItemTable.tsx:90 msgid "This stock item is in production" msgstr "" @@ -6338,7 +6551,7 @@ msgid "Show items which are available" msgstr "" #: src/tables/stock/StockItemTable.tsx:280 -#: src/tables/stock/StockLocationTable.tsx:37 +#: src/tables/stock/StockLocationTable.tsx:33 msgid "Include Sublocations" msgstr "" @@ -6467,123 +6680,135 @@ msgstr "" msgid "Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:153 +#: src/tables/stock/StockItemTestResultTable.tsx:151 msgid "Test result for installed stock item" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:164 +#: src/tables/stock/StockItemTestResultTable.tsx:162 msgid "Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:170 +#: src/tables/stock/StockItemTestResultTable.tsx:168 msgid "No Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:186 +#: src/tables/stock/StockItemTestResultTable.tsx:184 msgid "Attachment" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:209 +#: src/tables/stock/StockItemTestResultTable.tsx:200 msgid "Test station" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:229 +#: src/tables/stock/StockItemTestResultTable.tsx:220 msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:277 -#: src/tables/stock/StockItemTestResultTable.tsx:349 -#: src/tables/stock/StockItemTestResultTable.tsx:404 +#: src/tables/stock/StockItemTestResultTable.tsx:268 +#: src/tables/stock/StockItemTestResultTable.tsx:340 +#: src/tables/stock/StockItemTestResultTable.tsx:395 msgid "Add Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:279 +#: src/tables/stock/StockItemTestResultTable.tsx:270 msgid "Test result added" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:288 -#: src/tables/stock/StockItemTestResultTable.tsx:359 +#: src/tables/stock/StockItemTestResultTable.tsx:279 +#: src/tables/stock/StockItemTestResultTable.tsx:350 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:290 +#: src/tables/stock/StockItemTestResultTable.tsx:281 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:296 -#: src/tables/stock/StockItemTestResultTable.tsx:368 +#: src/tables/stock/StockItemTestResultTable.tsx:287 +#: src/tables/stock/StockItemTestResultTable.tsx:359 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:298 +#: src/tables/stock/StockItemTestResultTable.tsx:289 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:312 +#: src/tables/stock/StockItemTestResultTable.tsx:303 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:313 +#: src/tables/stock/StockItemTestResultTable.tsx:304 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:320 +#: src/tables/stock/StockItemTestResultTable.tsx:311 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:337 +#: src/tables/stock/StockItemTestResultTable.tsx:328 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:386 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:390 +#: src/tables/stock/StockItemTestResultTable.tsx:381 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:391 +#: src/tables/stock/StockItemTestResultTable.tsx:382 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:395 +#: src/tables/stock/StockItemTestResultTable.tsx:386 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:396 +#: src/tables/stock/StockItemTestResultTable.tsx:387 msgid "Show only passed tests" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:38 +#: src/tables/stock/StockLocationTable.tsx:34 msgid "Include sublocations in results" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:42 +#: src/tables/stock/StockLocationTable.tsx:38 msgid "structural" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:43 +#: src/tables/stock/StockLocationTable.tsx:39 msgid "Show structural locations" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:47 +#: src/tables/stock/StockLocationTable.tsx:43 msgid "external" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:48 +#: src/tables/stock/StockLocationTable.tsx:44 msgid "Show external locations" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:52 +#: src/tables/stock/StockLocationTable.tsx:48 msgid "Has location type" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:89 -#: src/tables/stock/StockLocationTable.tsx:118 +#: src/tables/stock/StockLocationTable.tsx:85 +#: src/tables/stock/StockLocationTable.tsx:110 msgid "Add Stock Location" msgstr "" +#: src/tables/stock/StockTrackingTable.tsx:64 +msgid "Added" +msgstr "" + +#: src/tables/stock/StockTrackingTable.tsx:69 +msgid "Removed" +msgstr "" + +#: src/tables/stock/StockTrackingTable.tsx:198 +msgid "No user information" +msgstr "" + #: src/views/MobileAppView.tsx:22 msgid "Mobile viewport detected" msgstr "" diff --git a/src/frontend/src/locales/fr/messages.po b/src/frontend/src/locales/fr/messages.po index 617793634c..84df3abb88 100644 --- a/src/frontend/src/locales/fr/messages.po +++ b/src/frontend/src/locales/fr/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: fr\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-05-13 02:47\n" +"PO-Revision-Date: 2024-05-23 11:38\n" "Last-Translator: \n" "Language-Team: French\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" @@ -30,10 +30,67 @@ msgstr "" msgid "Title" msgstr "Titre" +#: src/components/buttons/AdminButton.tsx:83 +msgid "Open in admin interface" +msgstr "" + #: src/components/buttons/CopyButton.tsx:18 msgid "Copy to clipboard" msgstr "Copier dans le Presse-papier" +#: src/components/buttons/PrintingActions.tsx:95 +msgid "Print Label" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:101 +msgid "Label printing completed successfully" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:106 +#: src/components/buttons/PrintingActions.tsx:143 +#: src/components/forms/ApiForm.tsx:504 +#: src/components/forms/fields/ApiFormField.tsx:295 +#: src/components/modals/LicenseModal.tsx:75 +#: src/components/nav/SearchDrawer.tsx:413 +#: src/components/widgets/MarkdownEditor.tsx:107 +#: src/components/widgets/MarkdownEditor.tsx:153 +#: src/pages/ErrorPage.tsx:12 +#: src/pages/ErrorPage.tsx:25 +#: src/pages/part/PartPricingPanel.tsx:71 +#: src/tables/InvenTreeTable.tsx:451 +#: src/tables/InvenTreeTable.tsx:531 +#: src/tables/stock/StockItemTestResultTable.tsx:310 +msgid "Error" +msgstr "Erreur" + +#: src/components/buttons/PrintingActions.tsx:107 +msgid "The label could not be generated" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:122 +msgid "Print Report" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:138 +msgid "Report printing completed successfully" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:144 +msgid "The report could not be generated" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:171 +msgid "Printing Actions" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:176 +msgid "Print Labels" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:182 +msgid "Print Reports" +msgstr "" + #: src/components/buttons/ScanButton.tsx:15 msgid "Scan QR code" msgstr "Scanner le QR code" @@ -64,15 +121,15 @@ msgstr "Oui" msgid "No" msgstr "Non" -#: src/components/details/Details.tsx:302 +#: src/components/details/Details.tsx:303 msgid "No name defined" msgstr "" -#: src/components/details/Details.tsx:339 +#: src/components/details/Details.tsx:340 msgid "Copied" msgstr "" -#: src/components/details/Details.tsx:339 +#: src/components/details/Details.tsx:340 msgid "Copy" msgstr "" @@ -85,24 +142,23 @@ msgid "Remove the associated image from this item?" msgstr "Supprimer l'image associée de cet élément ?" #: src/components/details/DetailsImage.tsx:71 -#: src/forms/StockForms.tsx:442 +#: src/forms/StockForms.tsx:483 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:448 +#: src/pages/stock/StockDetail.tsx:462 msgid "Remove" msgstr "Supprimer" #: src/components/details/DetailsImage.tsx:71 -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:163 -#: src/components/items/ActionDropdown.tsx:222 -#: src/components/items/ActionDropdown.tsx:223 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 +#: src/components/items/ActionDropdown.tsx:229 +#: src/components/items/ActionDropdown.tsx:230 #: src/contexts/ThemeContext.tsx:43 #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:40 -#: src/tables/FilterSelectDrawer.tsx:218 -#: src/tables/InvenTreeTable.tsx:493 -#: src/tables/build/BuildOutputTable.tsx:223 -#: src/tables/plugin/PluginListTable.tsx:365 +#: src/tables/FilterSelectDrawer.tsx:207 +#: src/tables/InvenTreeTable.tsx:499 +#: src/tables/build/BuildOutputTable.tsx:225 msgid "Cancel" msgstr "Annuler" @@ -119,7 +175,7 @@ msgid "Clear" msgstr "Effacer" #: src/components/details/DetailsImage.tsx:227 -#: src/components/forms/ApiForm.tsx:554 +#: src/components/forms/ApiForm.tsx:571 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:56 msgid "Submit" @@ -150,9 +206,10 @@ msgid "Part is not active" msgstr "" #: src/components/details/PartIcons.tsx:34 -#: src/pages/company/CompanyDetail.tsx:308 -#: src/pages/company/SupplierPartDetail.tsx:304 -#: src/pages/part/PartDetail.tsx:684 +#: src/components/render/Plugin.tsx:17 +#: src/pages/company/CompanyDetail.tsx:310 +#: src/pages/company/SupplierPartDetail.tsx:305 +#: src/pages/part/PartDetail.tsx:685 msgid "Inactive" msgstr "" @@ -196,10 +253,10 @@ msgid "Code" msgstr "" #: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:44 -msgid "Failed to parse error response from server." -msgstr "" +#~ msgid "Failed to parse error response from server." +#~ msgstr "Failed to parse error response from server." -#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:82 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:81 msgid "Preview not available, click \"Reload Preview\"." msgstr "" @@ -207,98 +264,99 @@ msgstr "" msgid "PDF Preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:113 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:104 msgid "Error loading template" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:125 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:116 msgid "Error saving template" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 -msgid "Save & Reload preview?" +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:146 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:270 +msgid "Save & Reload Preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:156 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 msgid "Are you sure you want to Save & Reload the preview?" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 +#~ msgid "Save & Reload preview?" +#~ msgstr "Save & Reload preview?" + +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:153 msgid "To render the preview the current template needs to be replaced on the server with your modifications which may break the label if it is under active use. Do you want to proceed?" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:162 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:157 msgid "Save & Reload" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:191 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:189 msgid "Preview updated" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:192 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:190 msgid "The preview has been updated successfully." msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:255 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:262 msgid "Reload preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:256 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:263 msgid "Use the currently stored template from the server" msgstr "" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:263 -msgid "Save & Reload preview" -msgstr "" +#~ msgid "Save & Reload preview" +#~ msgstr "Save & Reload preview" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:264 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:271 msgid "Save the current template and reload the preview" msgstr "" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:322 -#: src/tables/part/PartThumbTable.tsx:203 -msgid "Select" +#~ msgid "to preview" +#~ msgstr "to preview" + +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:329 +msgid "Select instance to preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:322 -msgid "to preview" -msgstr "" - -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:366 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:373 msgid "Error rendering template" msgstr "" -#: src/components/forms/ApiForm.tsx:143 +#: src/components/forms/ApiForm.tsx:148 #: src/functions/forms.tsx:259 msgid "Form Error" msgstr "Erreur de formulaire" -#: src/components/forms/ApiForm.tsx:411 +#: src/components/forms/ApiForm.tsx:428 #: src/components/widgets/MarkdownEditor.tsx:145 msgid "Success" msgstr "Succès" #: src/components/forms/ApiForm.tsx:487 -msgid "Form Errors Exist" -msgstr "Erreur le formulaire existe" +#~ msgid "Form Errors Exist" +#~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:592 -#: src/tables/plugin/PluginListTable.tsx:445 +#: src/components/forms/ApiForm.tsx:609 +#: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "Mise à jour" -#: src/components/forms/ApiForm.tsx:612 -#: src/components/items/ActionDropdown.tsx:203 +#: src/components/forms/ApiForm.tsx:629 +#: src/components/items/ActionDropdown.tsx:210 #: src/functions/forms.tsx:299 #: src/hooks/UseForm.tsx:122 #: src/pages/Index/Scan.tsx:343 #: src/pages/Notifications.tsx:123 -#: src/tables/InvenTreeTable.tsx:492 +#: src/tables/InvenTreeTable.tsx:498 #: src/tables/RowActions.tsx:71 -#: src/tables/plugin/PluginListTable.tsx:477 -#: src/tables/settings/TemplateTable.tsx:105 -#: src/tables/settings/TemplateTable.tsx:154 -#: src/tables/settings/TemplateTable.tsx:236 +#: src/tables/plugin/PluginListTable.tsx:420 msgid "Delete" msgstr "Supprimer" @@ -468,18 +526,19 @@ msgstr "Serveur" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 -#: src/pages/part/CategoryDetail.tsx:77 -#: src/pages/part/PartDetail.tsx:125 -#: src/pages/stock/LocationDetail.tsx:83 +#: src/pages/part/CategoryDetail.tsx:78 +#: src/pages/part/PartDetail.tsx:126 +#: src/pages/stock/LocationDetail.tsx:85 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 #: src/tables/machine/MachineTypeTable.tsx:216 #: src/tables/machine/MachineTypeTable.tsx:319 #: src/tables/plugin/PluginErrorTable.tsx:33 -#: src/tables/plugin/PluginListTable.tsx:169 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:27 +#: src/tables/plugin/PluginListTable.tsx:126 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:32 #: src/tables/settings/GroupTable.tsx:103 #: src/tables/settings/PendingTasksTable.tsx:26 +#: src/tables/stock/LocationTypesTable.tsx:60 msgid "Name" msgstr "Nom" @@ -520,35 +579,20 @@ msgstr "Nom : {0}" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/ApiFormField.tsx:276 -#: src/components/modals/LicenseModal.tsx:75 -#: src/components/nav/SearchDrawer.tsx:413 -#: src/components/widgets/MarkdownEditor.tsx:107 -#: src/components/widgets/MarkdownEditor.tsx:153 -#: src/pages/ErrorPage.tsx:12 -#: src/pages/ErrorPage.tsx:25 -#: src/pages/part/PartPricingPanel.tsx:71 -#: src/tables/InvenTreeTable.tsx:445 -#: src/tables/InvenTreeTable.tsx:525 -#: src/tables/plugin/PluginListTable.tsx:402 -#: src/tables/stock/StockItemTestResultTable.tsx:319 -msgid "Error" -msgstr "Erreur" - -#: src/components/forms/fields/RelatedModelField.tsx:305 +#: src/components/forms/fields/RelatedModelField.tsx:315 #: src/pages/Index/Settings/UserSettings.tsx:64 #: src/tables/Search.tsx:23 msgid "Search" msgstr "Rechercher" -#: src/components/forms/fields/RelatedModelField.tsx:306 +#: src/components/forms/fields/RelatedModelField.tsx:316 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:120 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "Chargement" -#: src/components/forms/fields/RelatedModelField.tsx:308 +#: src/components/forms/fields/RelatedModelField.tsx:318 msgid "No results found" msgstr "Aucun résultat trouvé" @@ -569,54 +613,51 @@ msgstr "" msgid "Thumbnail" msgstr "Miniature" -#: src/components/items/ActionDropdown.tsx:112 -#: src/pages/build/BuildDetail.tsx:354 +#: src/components/items/ActionDropdown.tsx:119 +#: src/pages/build/BuildDetail.tsx:360 msgid "Barcode Actions" msgstr "Actions de code-barres" -#: src/components/items/ActionDropdown.tsx:129 +#: src/components/items/ActionDropdown.tsx:136 msgid "View" msgstr "Vue" -#: src/components/items/ActionDropdown.tsx:130 +#: src/components/items/ActionDropdown.tsx:137 msgid "View barcode" msgstr "Voir le code-barre" -#: src/components/items/ActionDropdown.tsx:146 +#: src/components/items/ActionDropdown.tsx:153 msgid "Link Barcode" msgstr "Lier le code-barre" -#: src/components/items/ActionDropdown.tsx:147 +#: src/components/items/ActionDropdown.tsx:154 msgid "Link custom barcode" msgstr "Lier un code-barre personnalisé" -#: src/components/items/ActionDropdown.tsx:163 -#: src/forms/PurchaseOrderForms.tsx:375 +#: src/components/items/ActionDropdown.tsx:170 +#: src/forms/PurchaseOrderForms.tsx:389 msgid "Unlink Barcode" msgstr "Délier le code-barre" -#: src/components/items/ActionDropdown.tsx:164 +#: src/components/items/ActionDropdown.tsx:171 msgid "Unlink custom barcode" msgstr "Délier le code-barres personnalisé" -#: src/components/items/ActionDropdown.tsx:182 +#: src/components/items/ActionDropdown.tsx:189 #: src/tables/RowActions.tsx:51 -#: src/tables/settings/TemplateTable.tsx:87 -#: src/tables/settings/TemplateTable.tsx:150 -#: src/tables/settings/TemplateTable.tsx:287 msgid "Edit" msgstr "Éditer" -#: src/components/items/ActionDropdown.tsx:204 +#: src/components/items/ActionDropdown.tsx:211 msgid "Delete item" msgstr "Supprimer l’article" -#: src/components/items/ActionDropdown.tsx:241 +#: src/components/items/ActionDropdown.tsx:248 #: src/tables/RowActions.tsx:31 msgid "Duplicate" msgstr "Dupliquer" -#: src/components/items/ActionDropdown.tsx:242 +#: src/components/items/ActionDropdown.tsx:249 msgid "Duplicate item" msgstr "Dupliquer l'article" @@ -625,7 +666,7 @@ msgid "Read More" msgstr "En Savoir Plus" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:437 +#: src/tables/InvenTreeTable.tsx:443 msgid "Unknown error" msgstr "Erreur inconnue" @@ -785,27 +826,27 @@ msgstr "Erreur lors de l'arrêt" #: src/components/modals/QrCodeModal.tsx:154 #: src/defaults/menuItems.tsx:21 -#: src/pages/Index/Scan.tsx:747 +#: src/pages/Index/Scan.tsx:746 msgid "Scanning" msgstr "Analyse en cours" #: src/components/modals/QrCodeModal.tsx:154 -#: src/pages/Index/Scan.tsx:747 +#: src/pages/Index/Scan.tsx:746 msgid "Not scanning" msgstr "Pas de scan en cours" #: src/components/modals/QrCodeModal.tsx:159 -#: src/pages/Index/Scan.tsx:753 +#: src/pages/Index/Scan.tsx:752 msgid "Select Camera" msgstr "Sélectionner la caméra" #: src/components/modals/QrCodeModal.tsx:169 -#: src/pages/Index/Scan.tsx:738 +#: src/pages/Index/Scan.tsx:737 msgid "Start scanning" msgstr "Commencer le scan" #: src/components/modals/QrCodeModal.tsx:176 -#: src/pages/Index/Scan.tsx:730 +#: src/pages/Index/Scan.tsx:729 msgid "Stop scanning" msgstr "Arrêter le scan" @@ -891,8 +932,8 @@ msgid "Email settings not configured" msgstr "Configuration mail non effectuée" #: src/components/modals/ServerInfoModal.tsx:121 -#: src/tables/plugin/PluginListTable.tsx:187 -#: src/tables/plugin/PluginListTable.tsx:319 +#: src/tables/plugin/PluginListTable.tsx:144 +#: src/tables/plugin/PluginListTable.tsx:294 msgid "Version" msgstr "Version" @@ -926,13 +967,13 @@ msgstr "Paramètres du compte" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:293 +#: src/pages/Index/Settings/SystemSettings.tsx:294 msgid "System Settings" msgstr "Les paramètres du système" #: src/components/nav/MainMenu.tsx:67 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:172 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 msgid "Admin Center" msgstr "Centre Admin" @@ -975,7 +1016,7 @@ msgid "Pages" msgstr "Pages" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:133 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:153 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "Extensions" @@ -1013,9 +1054,9 @@ msgid "Mark as read" msgstr "Marqué comme lu" #: src/components/nav/PartCategoryTree.tsx:158 -#: src/components/render/ModelType.tsx:60 +#: src/components/render/ModelType.tsx:64 #: src/pages/Index/Settings/SystemSettings.tsx:162 -#: src/pages/part/CategoryDetail.tsx:248 +#: src/pages/part/CategoryDetail.tsx:249 msgid "Part Categories" msgstr "Catégories de composants" @@ -1052,142 +1093,147 @@ msgid "No results available for search query" msgstr "Aucun résultat disponible pour la requête" #: src/components/nav/StockLocationTree.tsx:93 -#: src/components/render/ModelType.tsx:76 -#: src/pages/stock/LocationDetail.tsx:175 +#: src/components/render/ModelType.tsx:82 +#: src/pages/stock/LocationDetail.tsx:185 msgid "Stock Locations" msgstr "Emplacements de stock" -#: src/components/render/Instance.tsx:137 +#: src/components/render/Instance.tsx:166 msgid "Unknown model: {model}" msgstr "Modèle inconnu : {model}" -#: src/components/render/ModelType.tsx:21 -#: src/forms/BuildForms.tsx:184 -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49 +#: src/components/render/ModelType.tsx:22 +#: src/forms/BuildForms.tsx:201 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:83 #: src/pages/part/PartDetail.tsx:828 #: src/tables/part/RelatedPartTable.tsx:45 +#: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" msgstr "Pièce" -#: src/components/render/ModelType.tsx:22 +#: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 #: src/pages/Index/Settings/SystemSettings.tsx:167 -#: src/pages/part/CategoryDetail.tsx:109 -#: src/pages/part/CategoryDetail.tsx:234 -#: src/pages/part/CategoryDetail.tsx:264 -#: src/pages/part/PartDetail.tsx:638 +#: src/pages/part/CategoryDetail.tsx:110 +#: src/pages/part/CategoryDetail.tsx:235 +#: src/pages/part/CategoryDetail.tsx:265 +#: src/pages/part/PartDetail.tsx:639 msgid "Parts" msgstr "Composants" -#: src/components/render/ModelType.tsx:29 +#: src/components/render/ModelType.tsx:31 msgid "Part Parameter Template" msgstr "Modèle de paramètre de pièce" -#: src/components/render/ModelType.tsx:30 +#: src/components/render/ModelType.tsx:32 msgid "Part Parameter Templates" msgstr "Modèles de paramètres de pièce" -#: src/components/render/ModelType.tsx:36 +#: src/components/render/ModelType.tsx:38 msgid "Part Test Template" msgstr "" -#: src/components/render/ModelType.tsx:37 +#: src/components/render/ModelType.tsx:39 msgid "Part Test Templates" msgstr "" -#: src/components/render/ModelType.tsx:43 -#: src/pages/company/SupplierPartDetail.tsx:189 -#: src/pages/company/SupplierPartDetail.tsx:317 -#: src/pages/stock/StockDetail.tsx:159 +#: src/components/render/ModelType.tsx:45 +#: src/pages/company/SupplierPartDetail.tsx:190 +#: src/pages/company/SupplierPartDetail.tsx:318 +#: src/pages/stock/StockDetail.tsx:162 #: src/tables/purchasing/SupplierPartTable.tsx:68 msgid "Supplier Part" msgstr "Pièce fournisseur" -#: src/components/render/ModelType.tsx:44 +#: src/components/render/ModelType.tsx:46 msgid "Supplier Parts" msgstr "Pièces du fournisseur" -#: src/components/render/ModelType.tsx:51 -#: src/pages/company/ManufacturerPartDetail.tsx:124 +#: src/components/render/ModelType.tsx:54 +#: src/pages/company/ManufacturerPartDetail.tsx:125 msgid "Manufacturer Part" msgstr "Pièces du fabricant" -#: src/components/render/ModelType.tsx:52 +#: src/components/render/ModelType.tsx:55 msgid "Manufacturer Parts" msgstr "Pièces du fabricant" -#: src/components/render/ModelType.tsx:59 -#: src/pages/part/CategoryDetail.tsx:287 +#: src/components/render/ModelType.tsx:63 +#: src/pages/part/CategoryDetail.tsx:288 msgid "Part Category" msgstr "Catégorie de composant" -#: src/components/render/ModelType.tsx:67 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67 -#: src/pages/stock/StockDetail.tsx:535 +#: src/components/render/ModelType.tsx:72 +#: src/pages/stock/StockDetail.tsx:548 +#: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" msgstr "Article en stock" -#: src/components/render/ModelType.tsx:68 -#: src/pages/company/CompanyDetail.tsx:197 -#: src/pages/stock/LocationDetail.tsx:116 -#: src/pages/stock/LocationDetail.tsx:161 +#: src/components/render/ModelType.tsx:73 +#: src/pages/company/CompanyDetail.tsx:199 +#: src/pages/stock/LocationDetail.tsx:118 +#: src/pages/stock/LocationDetail.tsx:171 #: src/pages/stock/LocationDetail.tsx:365 msgid "Stock Items" msgstr "Articles en stock" -#: src/components/render/ModelType.tsx:75 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:154 +#: src/components/render/ModelType.tsx:81 msgid "Stock Location" msgstr "Emplacement du stock" -#: src/components/render/ModelType.tsx:83 +#: src/components/render/ModelType.tsx:90 +msgid "Stock Location Type" +msgstr "" + +#: src/components/render/ModelType.tsx:91 +msgid "Stock Location Types" +msgstr "" + +#: src/components/render/ModelType.tsx:95 msgid "Stock History" msgstr "Historique du stock" -#: src/components/render/ModelType.tsx:84 +#: src/components/render/ModelType.tsx:96 msgid "Stock Histories" msgstr "Historique du stock" -#: src/components/render/ModelType.tsx:88 +#: src/components/render/ModelType.tsx:100 #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:43 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:126 msgid "Build" msgstr "Construction" -#: src/components/render/ModelType.tsx:89 +#: src/components/render/ModelType.tsx:101 msgid "Builds" msgstr "Construction" -#: src/components/render/ModelType.tsx:96 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:76 +#: src/components/render/ModelType.tsx:109 msgid "Build Line" msgstr "" -#: src/components/render/ModelType.tsx:97 +#: src/components/render/ModelType.tsx:110 msgid "Build Lines" msgstr "" -#: src/components/render/ModelType.tsx:104 -#: src/pages/company/CompanyDetail.tsx:321 +#: src/components/render/ModelType.tsx:117 +#: src/pages/company/CompanyDetail.tsx:323 msgid "Company" msgstr "Société" -#: src/components/render/ModelType.tsx:105 +#: src/components/render/ModelType.tsx:118 msgid "Companies" msgstr "Sociétés" -#: src/components/render/ModelType.tsx:112 +#: src/components/render/ModelType.tsx:126 #: src/tables/TableHoverCard.tsx:58 #: src/tables/build/BuildOrderTable.tsx:131 #: src/tables/purchasing/PurchaseOrderTable.tsx:64 @@ -1196,170 +1242,199 @@ msgstr "Sociétés" msgid "Project Code" msgstr "Code du projet" -#: src/components/render/ModelType.tsx:113 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:97 +#: src/components/render/ModelType.tsx:127 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:105 msgid "Project Codes" msgstr "Codes du projet" -#: src/components/render/ModelType.tsx:119 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99 +#: src/components/render/ModelType.tsx:133 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:355 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:362 +#: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" msgstr "Commande d’achat" -#: src/components/render/ModelType.tsx:120 -#: src/pages/Index/Settings/SystemSettings.tsx:242 -#: src/pages/company/CompanyDetail.tsx:190 -#: src/pages/company/SupplierPartDetail.tsx:223 -#: src/pages/part/PartDetail.tsx:571 +#: src/components/render/ModelType.tsx:134 +#: src/pages/Index/Settings/SystemSettings.tsx:243 +#: src/pages/company/CompanyDetail.tsx:192 +#: src/pages/company/SupplierPartDetail.tsx:224 +#: src/pages/part/PartDetail.tsx:572 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "Ordres d'achat" -#: src/components/render/ModelType.tsx:127 +#: src/components/render/ModelType.tsx:142 msgid "Purchase Order Line" msgstr "Ligne de commande d'achat" -#: src/components/render/ModelType.tsx:128 +#: src/components/render/ModelType.tsx:143 msgid "Purchase Order Lines" msgstr "Lignes de commande d'achat" -#: src/components/render/ModelType.tsx:132 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:108 +#: src/components/render/ModelType.tsx:147 #: src/pages/build/BuildDetail.tsx:131 -#: src/pages/sales/SalesOrderDetail.tsx:340 -#: src/pages/stock/StockDetail.tsx:207 +#: src/pages/sales/SalesOrderDetail.tsx:347 +#: src/pages/stock/StockDetail.tsx:210 +#: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" msgstr "Ventes" -#: src/components/render/ModelType.tsx:133 -#: src/pages/Index/Settings/SystemSettings.tsx:257 -#: src/pages/company/CompanyDetail.tsx:210 -#: src/pages/part/PartDetail.tsx:577 +#: src/components/render/ModelType.tsx:148 +#: src/pages/Index/Settings/SystemSettings.tsx:258 +#: src/pages/company/CompanyDetail.tsx:212 +#: src/pages/part/PartDetail.tsx:578 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "Ordres de vente" -#: src/components/render/ModelType.tsx:140 +#: src/components/render/ModelType.tsx:156 msgid "Sales Order Shipment" msgstr "Expédition de la commande" -#: src/components/render/ModelType.tsx:141 +#: src/components/render/ModelType.tsx:157 msgid "Sales Order Shipments" msgstr "Expéditions de la commande" -#: src/components/render/ModelType.tsx:147 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:117 -#: src/pages/sales/ReturnOrderDetail.tsx:318 +#: src/components/render/ModelType.tsx:163 +#: src/pages/sales/ReturnOrderDetail.tsx:325 +#: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "Retour de commande" -#: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:272 -#: src/pages/company/CompanyDetail.tsx:217 +#: src/components/render/ModelType.tsx:164 +#: src/pages/Index/Settings/SystemSettings.tsx:273 +#: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" msgstr "Retours" -#: src/components/render/ModelType.tsx:155 +#: src/components/render/ModelType.tsx:172 #: src/tables/company/AddressTable.tsx:47 msgid "Address" msgstr "Adresse" -#: src/components/render/ModelType.tsx:156 -#: src/pages/company/CompanyDetail.tsx:247 +#: src/components/render/ModelType.tsx:173 +#: src/pages/company/CompanyDetail.tsx:249 msgid "Addresses" msgstr "Adresses" -#: src/components/render/ModelType.tsx:162 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:189 -#: src/pages/sales/ReturnOrderDetail.tsx:157 -#: src/pages/sales/SalesOrderDetail.tsx:161 +#: src/components/render/ModelType.tsx:179 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:191 +#: src/pages/sales/ReturnOrderDetail.tsx:159 +#: src/pages/sales/SalesOrderDetail.tsx:163 msgid "Contact" msgstr "Contact" -#: src/components/render/ModelType.tsx:163 -#: src/pages/company/CompanyDetail.tsx:241 +#: src/components/render/ModelType.tsx:180 +#: src/pages/company/CompanyDetail.tsx:243 msgid "Contacts" msgstr "Contacts" -#: src/components/render/ModelType.tsx:169 +#: src/components/render/ModelType.tsx:186 msgid "Owner" msgstr "Propriétaire" -#: src/components/render/ModelType.tsx:170 +#: src/components/render/ModelType.tsx:187 msgid "Owners" msgstr "" -#: src/components/render/ModelType.tsx:176 +#: src/components/render/ModelType.tsx:193 +#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "Utilisateur" -#: src/components/render/ModelType.tsx:177 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:73 +#: src/components/render/ModelType.tsx:194 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:81 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "" -#: src/components/render/Order.tsx:87 +#: src/components/render/ModelType.tsx:200 +msgid "Label Template" +msgstr "" + +#: src/components/render/ModelType.tsx:201 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:135 +msgid "Label Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:207 +msgid "Report Template" +msgstr "" + +#: src/components/render/ModelType.tsx:208 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:141 +msgid "Report Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:214 +msgid "Plugin Configuration" +msgstr "" + +#: src/components/render/ModelType.tsx:215 +msgid "Plugin Configurations" +msgstr "" + +#: src/components/render/Order.tsx:104 msgid "Shipment" msgstr "" -#: src/components/render/Part.tsx:12 +#: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:198 -#: src/pages/part/PartDetail.tsx:491 +#: src/pages/Index/Settings/SystemSettings.tsx:199 +#: src/pages/part/PartDetail.tsx:492 #: src/pages/stock/LocationDetail.tsx:344 -#: src/pages/stock/StockDetail.tsx:344 +#: src/pages/stock/StockDetail.tsx:352 #: src/tables/stock/StockItemTable.tsx:57 msgid "Stock" msgstr "" -#: src/components/render/Stock.tsx:26 -#: src/pages/stock/StockDetail.tsx:142 -#: src/pages/stock/StockDetail.tsx:501 +#: src/components/render/Stock.tsx:52 +#: src/pages/stock/StockDetail.tsx:145 +#: src/pages/stock/StockDetail.tsx:514 msgid "Serial Number" msgstr "" -#: src/components/render/Stock.tsx:28 -#: src/forms/BuildForms.tsx:189 +#: src/components/render/Stock.tsx:54 +#: src/forms/BuildForms.tsx:206 #: src/pages/part/pricing/BomPricingPanel.tsx:144 -#: src/pages/part/pricing/PriceBreakPanel.tsx:96 -#: src/pages/stock/StockDetail.tsx:137 -#: src/pages/stock/StockDetail.tsx:507 +#: src/pages/part/pricing/PriceBreakPanel.tsx:94 +#: src/pages/stock/StockDetail.tsx:140 +#: src/pages/stock/StockDetail.tsx:520 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:73 +#: src/tables/stock/StockTrackingTable.tsx:59 msgid "Quantity" msgstr "" -#: src/components/settings/SettingItem.tsx:46 -#: src/components/settings/SettingItem.tsx:99 -msgid "Setting updated" -msgstr "" - #: src/components/settings/SettingItem.tsx:47 #: src/components/settings/SettingItem.tsx:100 -msgid "{0} updated successfully" -msgstr "" +#~ msgid "{0} updated successfully" +#~ msgstr "{0} updated successfully" -#: src/components/settings/SettingItem.tsx:55 -msgid "Error editing setting" -msgstr "" - -#: src/components/settings/SettingItem.tsx:92 +#: src/components/settings/SettingList.tsx:67 msgid "Edit Setting" msgstr "" -#: src/components/settings/SettingList.tsx:63 -msgid "No settings specified" +#: src/components/settings/SettingList.tsx:78 +#: src/components/settings/SettingList.tsx:108 +msgid "Setting {0} updated successfully" msgstr "" -#: src/components/tables/ColumnRenderers.tsx:134 -#~ msgid "Shipment Date" -#~ msgstr "Shipment Date" +#: src/components/settings/SettingList.tsx:107 +msgid "Setting updated" +msgstr "" + +#: src/components/settings/SettingList.tsx:117 +msgid "Error editing setting" +msgstr "" + +#: src/components/settings/SettingList.tsx:158 +msgid "No settings specified" +msgstr "" #: src/components/tables/FilterGroup.tsx:29 #~ msgid "Add table filter" @@ -1731,10 +1806,6 @@ msgstr "" #~ msgid "This is a test filter" #~ msgstr "This is a test filter" -#: src/components/tables/stock/StockLocationTable.tsx:91 -#~ msgid "Location Type" -#~ msgstr "Location Type" - #: src/components/tables/stock/StockLocationTable.tsx:145 #~ msgid "Stock location updated" #~ msgstr "Stock location updated" @@ -2072,7 +2143,7 @@ msgstr "Actualités en cours" #~ msgstr "Local Server" #: src/defaults/links.tsx:11 -#: src/pages/company/CompanyDetail.tsx:90 +#: src/pages/company/CompanyDetail.tsx:92 msgid "Website" msgstr "Site web" @@ -2087,10 +2158,10 @@ msgstr "Démo" #: src/defaults/links.tsx:31 #: src/defaults/menuItems.tsx:48 #: src/pages/company/ManufacturerDetail.tsx:9 -#: src/pages/company/ManufacturerPartDetail.tsx:231 +#: src/pages/company/ManufacturerPartDetail.tsx:235 #: src/pages/company/SupplierDetail.tsx:9 -#: src/pages/company/SupplierPartDetail.tsx:291 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:358 +#: src/pages/company/SupplierPartDetail.tsx:292 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:365 #: src/pages/purchasing/PurchasingIndex.tsx:52 msgid "Purchasing" msgstr "Achat en cours" @@ -2098,15 +2169,15 @@ msgstr "Achat en cours" #: src/defaults/links.tsx:32 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:323 +#: src/pages/sales/ReturnOrderDetail.tsx:330 #: src/pages/sales/SalesIndex.tsx:45 -#: src/pages/sales/SalesOrderDetail.tsx:345 +#: src/pages/sales/SalesOrderDetail.tsx:352 msgid "Sales" msgstr "Ventes" #: src/defaults/links.tsx:35 #: src/defaults/menuItems.tsx:71 -#: src/pages/Index/Playground.tsx:239 +#: src/pages/Index/Playground.tsx:238 msgid "Playground" msgstr "Le terrain de jeux" @@ -2240,87 +2311,83 @@ msgstr "" #~ msgstr "Combusken battles with the intensely hot flames it spews" #: src/forms/AttachmentForms.tsx:57 -msgid "Add File" -msgstr "Ajouter un fichier" +#~ msgid "Add File" +#~ msgstr "Add File" #: src/forms/AttachmentForms.tsx:57 -msgid "Add Link" -msgstr "Ajouter un lien" +#~ msgid "Add Link" +#~ msgstr "Add Link" #: src/forms/AttachmentForms.tsx:58 -msgid "File added" -msgstr "Fichier ajouté" +#~ msgid "File added" +#~ msgstr "File added" #: src/forms/AttachmentForms.tsx:58 -msgid "Link added" -msgstr "Lien ajouté" +#~ msgid "Link added" +#~ msgstr "Link added" #: src/forms/AttachmentForms.tsx:99 -msgid "Edit File" -msgstr "Éditer le fichier" +#~ msgid "Edit File" +#~ msgstr "Edit File" #: src/forms/AttachmentForms.tsx:99 -msgid "Edit Link" -msgstr "Modifier le lien" +#~ msgid "Edit Link" +#~ msgstr "Edit Link" #: src/forms/AttachmentForms.tsx:100 -msgid "File updated" -msgstr "Fichier mis à jour" +#~ msgid "File updated" +#~ msgstr "File updated" #: src/forms/AttachmentForms.tsx:100 -msgid "Link updated" -msgstr "Lien mis à jour" - -#: src/forms/AttachmentForms.tsx:124 -msgid "Delete Attachment" -msgstr "Supprimer la pièce jointe" +#~ msgid "Link updated" +#~ msgstr "Link updated" #: src/forms/AttachmentForms.tsx:125 -msgid "Attachment deleted" -msgstr "Pièce jointe supprimée" +#~ msgid "Attachment deleted" +#~ msgstr "Attachment deleted" #: src/forms/AttachmentForms.tsx:128 -msgid "Are you sure you want to delete this attachment?" -msgstr "Êtes-vous sûr de vouloir supprimer cette pièce jointe ?" +#~ msgid "Are you sure you want to delete this attachment?" +#~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BuildForms.tsx:129 +#: src/forms/BuildForms.tsx:146 msgid "Next serial number" msgstr "" -#: src/forms/BuildForms.tsx:133 +#: src/forms/BuildForms.tsx:150 msgid "Latest serial number" msgstr "" -#: src/forms/BuildForms.tsx:205 +#: src/forms/BuildForms.tsx:222 msgid "Remove output" msgstr "" -#: src/forms/BuildForms.tsx:287 +#: src/forms/BuildForms.tsx:304 msgid "Complete Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:291 +#: src/forms/BuildForms.tsx:308 msgid "Build outputs have been completed" msgstr "" -#: src/forms/BuildForms.tsx:360 +#: src/forms/BuildForms.tsx:377 msgid "Scrap Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:364 +#: src/forms/BuildForms.tsx:381 msgid "Build outputs have been scrapped" msgstr "" -#: src/forms/BuildForms.tsx:396 -#: src/forms/BuildForms.tsx:420 +#: src/forms/BuildForms.tsx:413 +#: src/forms/BuildForms.tsx:437 msgid "Cancel Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:397 +#: src/forms/BuildForms.tsx:414 msgid "Selected build outputs will be deleted" msgstr "" -#: src/forms/BuildForms.tsx:424 +#: src/forms/BuildForms.tsx:441 msgid "Build outputs have been cancelled" msgstr "" @@ -2344,76 +2411,76 @@ msgstr "Catégorie de pièce parente" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PurchaseOrderForms.tsx:265 +#: src/forms/PurchaseOrderForms.tsx:279 msgid "Choose Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:273 +#: src/forms/PurchaseOrderForms.tsx:287 msgid "Item Destination selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:282 +#: src/forms/PurchaseOrderForms.tsx:296 msgid "Part category default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:292 +#: src/forms/PurchaseOrderForms.tsx:306 msgid "Received stock location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:297 +#: src/forms/PurchaseOrderForms.tsx:311 msgid "Default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:308 -#: src/forms/PurchaseOrderForms.tsx:384 +#: src/forms/PurchaseOrderForms.tsx:322 +#: src/forms/PurchaseOrderForms.tsx:398 msgid "Scan Barcode" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:352 +#: src/forms/PurchaseOrderForms.tsx:366 msgid "Set Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:359 +#: src/forms/PurchaseOrderForms.tsx:373 msgid "Assign Batch Code{0}" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:368 +#: src/forms/PurchaseOrderForms.tsx:382 msgid "Change Status" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:393 -#: src/forms/StockForms.tsx:351 +#: src/forms/PurchaseOrderForms.tsx:407 +#: src/forms/StockForms.tsx:392 msgid "Remove item from list" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:418 -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:58 -#: src/pages/stock/StockDetail.tsx:167 -#: src/tables/ColumnRenderers.tsx:42 +#: src/forms/PurchaseOrderForms.tsx:432 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/pages/stock/StockDetail.tsx:170 +#: src/tables/ColumnRenderers.tsx:34 +#: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:434 +#: src/forms/PurchaseOrderForms.tsx:448 msgid "Store at default location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:447 +#: src/forms/PurchaseOrderForms.tsx:461 msgid "Store at line item destination" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:457 +#: src/forms/PurchaseOrderForms.tsx:471 msgid "Store with already received stock" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:613 +#: src/forms/PurchaseOrderForms.tsx:627 msgid "Receive Line Items" msgstr "" @@ -2421,119 +2488,118 @@ msgstr "" #~ msgid "Receive line items" #~ msgstr "Receive line items" -#: src/forms/StockForms.tsx:69 +#: src/forms/StockForms.tsx:101 msgid "Add given quantity as packs instead of individual items" msgstr "Ajouter une quantité en paquet au lieu de pièces individuelles" -#: src/forms/StockForms.tsx:80 -msgid "Enter initial quantity for this stock item" -msgstr "Entrez la quantité initiale pour cet article en stock" - -#: src/forms/StockForms.tsx:85 -msgid "Serial Numbers" -msgstr "Numéros de Série" - -#: src/forms/StockForms.tsx:86 -msgid "Enter serial numbers for new stock (or leave blank)" -msgstr "Entrez les numéros de série pour le nouveau stock (ou laisser vide)" - #: src/forms/StockForms.tsx:110 #~ msgid "Create Stock Item" #~ msgstr "Create Stock Item" -#: src/forms/StockForms.tsx:135 -#: src/pages/stock/StockDetail.tsx:367 -#: src/tables/stock/StockItemTable.tsx:382 -#: src/tables/stock/StockItemTable.tsx:499 -msgid "Add Stock Item" -msgstr "Ajouter un article en stock" +#: src/forms/StockForms.tsx:114 +msgid "Enter initial quantity for this stock item" +msgstr "Entrez la quantité initiale pour cet article en stock" + +#: src/forms/StockForms.tsx:121 +msgid "Serial Numbers" +msgstr "Numéros de Série" + +#: src/forms/StockForms.tsx:122 +msgid "Enter serial numbers for new stock (or leave blank)" +msgstr "Entrez les numéros de série pour le nouveau stock (ou laisser vide)" #: src/forms/StockForms.tsx:158 #~ msgid "Stock item updated" #~ msgstr "Stock item updated" -#: src/forms/StockForms.tsx:298 +#: src/forms/StockForms.tsx:176 +#: src/pages/stock/StockDetail.tsx:375 +#: src/tables/stock/StockItemTable.tsx:382 +#: src/tables/stock/StockItemTable.tsx:499 +msgid "Add Stock Item" +msgstr "Ajouter un article en stock" + +#: src/forms/StockForms.tsx:339 msgid "Loading..." msgstr "" -#: src/forms/StockForms.tsx:340 +#: src/forms/StockForms.tsx:381 msgid "Move to default location" msgstr "" -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/part/PartDetail.tsx:205 -#: src/pages/part/PartDetail.tsx:654 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/pages/part/PartDetail.tsx:206 +#: src/pages/part/PartDetail.tsx:655 #: src/tables/stock/StockItemTable.tsx:290 msgid "In Stock" msgstr "" -#: src/forms/StockForms.tsx:408 +#: src/forms/StockForms.tsx:449 msgid "Move" msgstr "" -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/tables/RowActions.tsx:147 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/tables/RowActions.tsx:149 msgid "Actions" msgstr "Actions" -#: src/forms/StockForms.tsx:471 -#: src/pages/stock/StockDetail.tsx:440 -#: src/tables/settings/TemplateTable.tsx:266 -#: src/tables/stock/StockItemTestResultTable.tsx:348 +#: src/forms/StockForms.tsx:512 +#: src/pages/stock/StockDetail.tsx:454 +#: src/tables/stock/StockItemTestResultTable.tsx:339 msgid "Add" msgstr "" -#: src/forms/StockForms.tsx:499 +#: src/forms/StockForms.tsx:540 #: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:430 +#: src/pages/stock/StockDetail.tsx:444 msgid "Count" msgstr "" -#: src/forms/StockForms.tsx:744 +#: src/forms/StockForms.tsx:785 msgid "Add Stock" msgstr "" -#: src/forms/StockForms.tsx:753 +#: src/forms/StockForms.tsx:794 msgid "Remove Stock" msgstr "" -#: src/forms/StockForms.tsx:762 -#: src/pages/part/PartDetail.tsx:781 +#: src/forms/StockForms.tsx:803 +#: src/pages/part/PartDetail.tsx:782 msgid "Transfer Stock" msgstr "" -#: src/forms/StockForms.tsx:771 -#: src/pages/part/PartDetail.tsx:770 +#: src/forms/StockForms.tsx:812 +#: src/pages/part/PartDetail.tsx:771 msgid "Count Stock" msgstr "" -#: src/forms/StockForms.tsx:780 +#: src/forms/StockForms.tsx:821 msgid "Change Stock Status" msgstr "" -#: src/forms/StockForms.tsx:789 +#: src/forms/StockForms.tsx:830 msgid "Merge Stock" msgstr "" -#: src/forms/StockForms.tsx:808 +#: src/forms/StockForms.tsx:849 msgid "Delete Stock Items" msgstr "" -#: src/forms/StockForms.tsx:815 +#: src/forms/StockForms.tsx:856 msgid "Parent stock location" msgstr "" @@ -2728,7 +2794,7 @@ msgstr "" msgid "Welcome to your Dashboard{0}" msgstr "" -#: src/pages/Index/Playground.tsx:244 +#: src/pages/Index/Playground.tsx:243 msgid "This page is a showcase for the possibilities of Platform UI." msgstr "" @@ -3138,49 +3204,53 @@ msgstr "Chargeur" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:79 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:87 msgid "Background Tasks" msgstr "Tâches en arrière plan" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:85 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:93 msgid "Error Reports" msgstr "Rapports d'erreur" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:91 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:99 msgid "Currencies" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:109 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:117 msgid "Custom Units" msgstr "Unités personnalisées" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:115 -#: src/pages/part/CategoryDetail.tsx:254 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:123 +#: src/pages/part/CategoryDetail.tsx:255 msgid "Part Parameters" msgstr "Paramètres de la pièce" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:121 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 +#~ msgid "Templates" +#~ msgstr "Templates" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:129 msgid "Category Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 -msgid "Templates" +#: src/pages/Index/Settings/AdminCenter/Index.tsx:147 +msgid "Location types" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:139 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:159 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:149 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:169 msgid "Quick Actions" msgstr "Actions rapides" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:154 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 msgid "Add a new user" msgstr "Ajouter un utilisateur" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:173 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:193 msgid "Advanced Options" msgstr "Options avancées" @@ -3225,26 +3295,32 @@ msgstr "Erreurs du plugin" msgid "Plugin Settings" msgstr "Paramètres du plug-in" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:25 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:53 +msgid "Background Worker Not Running" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:54 +msgid "The background task manager service is not running. Contact your system administrator." +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:60 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:76 msgid "Pending Tasks" msgstr "Tâches en attente" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:33 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:64 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:84 msgid "Scheduled Tasks" msgstr "Tâches planifiées" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:41 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:68 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:92 msgid "Failed Tasks" msgstr "Tâches en échec" -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:139 -msgid "Labels" -msgstr "" - #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:39 -msgid "Label" -msgstr "" +#~ msgid "Label" +#~ msgstr "Label" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67 #~ msgid "Stock item" @@ -3255,13 +3331,13 @@ msgstr "" #~ msgstr "Build line" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:88 -msgid "Reports" -msgstr "" +#~ msgid "Reports" +#~ msgstr "Reports" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:89 #: src/pages/build/BuildDetail.tsx:373 -msgid "Report" -msgstr "" +#~ msgid "Report" +#~ msgstr "Report" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99 #~ msgid "Purchase order" @@ -3275,14 +3351,9 @@ msgstr "" #~ msgid "Return order" #~ msgstr "Return order" -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135 -#: src/pages/part/PartDetail.tsx:518 -msgid "Bill of Materials" -msgstr "" - #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:145 -msgid "Tests" -msgstr "" +#~ msgid "Tests" +#~ msgstr "Tests" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:154 #~ msgid "Stock location" @@ -3321,26 +3392,30 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" +#: src/pages/Index/Settings/SystemSettings.tsx:139 +msgid "Labels" +msgstr "" + #: src/pages/Index/Settings/SystemSettings.tsx:145 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:223 -#: src/pages/part/PartDetail.tsx:589 +#: src/pages/Index/Settings/SystemSettings.tsx:224 +#: src/pages/part/PartDetail.tsx:590 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:228 -#: src/pages/build/BuildDetail.tsx:426 +#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:525 -#: src/pages/sales/SalesOrderDetail.tsx:263 +#: src/pages/part/PartDetail.tsx:526 +#: src/pages/sales/SalesOrderDetail.tsx:265 msgid "Build Orders" msgstr "Ordres de fabrication" -#: src/pages/Index/Settings/SystemSettings.tsx:296 +#: src/pages/Index/Settings/SystemSettings.tsx:297 msgid "Switch to User Setting" msgstr "" @@ -3397,44 +3472,47 @@ msgstr "" #~ msgstr "Build Status" #: src/pages/build/BuildDetail.tsx:89 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:128 -#: src/pages/sales/ReturnOrderDetail.tsx:95 -#: src/pages/sales/SalesOrderDetail.tsx:99 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:130 +#: src/pages/sales/ReturnOrderDetail.tsx:97 +#: src/pages/sales/SalesOrderDetail.tsx:101 #: src/tables/build/BuildOrderTable.tsx:113 #: src/tables/machine/MachineListTable.tsx:326 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderTable.tsx:46 #: src/tables/sales/SalesOrderTable.tsx:52 #: src/tables/stock/StockItemTable.tsx:259 +#: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "Status" #: src/pages/build/BuildDetail.tsx:95 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:101 -#: src/pages/sales/ReturnOrderDetail.tsx:69 -#: src/pages/sales/SalesOrderDetail.tsx:73 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:103 +#: src/pages/sales/ReturnOrderDetail.tsx:71 +#: src/pages/sales/SalesOrderDetail.tsx:75 +#: src/tables/ColumnRenderers.tsx:106 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" msgstr "" #: src/pages/build/BuildDetail.tsx:100 -#: src/pages/company/CompanyDetail.tsx:84 -#: src/pages/company/ManufacturerPartDetail.tsx:75 -#: src/pages/company/SupplierPartDetail.tsx:82 -#: src/pages/part/CategoryDetail.tsx:91 -#: src/pages/part/PartDetail.tsx:132 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:122 -#: src/pages/sales/ReturnOrderDetail.tsx:89 -#: src/pages/sales/SalesOrderDetail.tsx:93 -#: src/pages/stock/LocationDetail.tsx:97 -#: src/tables/ColumnRenderers.tsx:95 +#: src/pages/company/CompanyDetail.tsx:86 +#: src/pages/company/ManufacturerPartDetail.tsx:76 +#: src/pages/company/SupplierPartDetail.tsx:83 +#: src/pages/part/CategoryDetail.tsx:92 +#: src/pages/part/PartDetail.tsx:133 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:124 +#: src/pages/sales/ReturnOrderDetail.tsx:91 +#: src/pages/sales/SalesOrderDetail.tsx:95 +#: src/pages/stock/LocationDetail.tsx:99 +#: src/tables/ColumnRenderers.tsx:66 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 #: src/tables/machine/MachineTypeTable.tsx:323 #: src/tables/part/RelatedPartTable.tsx:64 -#: src/tables/plugin/PluginListTable.tsx:172 -#: src/tables/plugin/PluginListTable.tsx:302 +#: src/tables/plugin/PluginListTable.tsx:129 +#: src/tables/plugin/PluginListTable.tsx:276 +#: src/tables/stock/LocationTypesTable.tsx:65 msgid "Description" msgstr "" @@ -3447,7 +3525,7 @@ msgid "Build Quantity" msgstr "" #: src/pages/build/BuildDetail.tsx:126 -#: src/pages/build/BuildDetail.tsx:249 +#: src/pages/build/BuildDetail.tsx:256 msgid "Completed Outputs" msgstr "" @@ -3457,10 +3535,10 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:150 -#: src/pages/part/PartDetail.tsx:320 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:214 -#: src/pages/sales/ReturnOrderDetail.tsx:182 -#: src/pages/sales/SalesOrderDetail.tsx:186 +#: src/pages/part/PartDetail.tsx:321 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:184 +#: src/pages/sales/SalesOrderDetail.tsx:188 #: src/tables/build/BuildOrderTable.tsx:148 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 @@ -3474,10 +3552,10 @@ msgid "Created" msgstr "" #: src/pages/build/BuildDetail.tsx:164 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:207 -#: src/pages/sales/ReturnOrderDetail.tsx:175 -#: src/pages/sales/SalesOrderDetail.tsx:179 -#: src/tables/ColumnRenderers.tsx:227 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:209 +#: src/pages/sales/ReturnOrderDetail.tsx:177 +#: src/pages/sales/SalesOrderDetail.tsx:181 +#: src/tables/ColumnRenderers.tsx:191 msgid "Target Date" msgstr "Date cible" @@ -3513,6 +3591,11 @@ msgstr "" #~ msgid "Unlink custom barcode from part" #~ msgstr "Unlink custom barcode from part" +#: src/pages/build/BuildDetail.tsx:197 +#: src/pages/stock/StockDetail.tsx:526 +msgid "Batch Code" +msgstr "" + #: src/pages/build/BuildDetail.tsx:202 #~ msgid "Build Order updated" #~ msgstr "Build Order updated" @@ -3521,86 +3604,87 @@ msgstr "" #~ msgid "Edit build order" #~ msgstr "Edit build order" -#: src/pages/build/BuildDetail.tsx:222 -msgid "Build Details" -msgstr "" - #: src/pages/build/BuildDetail.tsx:226 #~ msgid "Duplicate build order" #~ msgstr "Duplicate build order" -#: src/pages/build/BuildDetail.tsx:228 -#: src/tables/build/BuildLineTable.tsx:225 -msgid "Allocate Stock" +#: src/pages/build/BuildDetail.tsx:229 +msgid "Build Details" msgstr "" #: src/pages/build/BuildDetail.tsx:231 #~ msgid "Delete build order" #~ msgstr "Delete build order" -#: src/pages/build/BuildDetail.tsx:242 +#: src/pages/build/BuildDetail.tsx:235 +#: src/tables/build/BuildLineTable.tsx:225 +msgid "Allocate Stock" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:249 msgid "Incomplete Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:264 +#: src/pages/build/BuildDetail.tsx:271 msgid "Consumed Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:278 +#: src/pages/build/BuildDetail.tsx:285 msgid "Child Build Orders" msgstr "" -#: src/pages/build/BuildDetail.tsx:288 -#: src/pages/company/CompanyDetail.tsx:253 -#: src/pages/company/ManufacturerPartDetail.tsx:171 -#: src/pages/part/PartDetail.tsx:611 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:276 -#: src/pages/sales/ReturnOrderDetail.tsx:225 -#: src/pages/sales/SalesOrderDetail.tsx:273 -#: src/pages/stock/StockDetail.tsx:317 +#: src/pages/build/BuildDetail.tsx:295 +#: src/pages/company/CompanyDetail.tsx:255 +#: src/pages/company/ManufacturerPartDetail.tsx:172 +#: src/pages/part/PartDetail.tsx:612 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:278 +#: src/pages/sales/ReturnOrderDetail.tsx:227 +#: src/pages/sales/SalesOrderDetail.tsx:275 +#: src/pages/stock/StockDetail.tsx:325 msgid "Attachments" msgstr "" -#: src/pages/build/BuildDetail.tsx:300 -#: src/pages/company/CompanyDetail.tsx:265 -#: src/pages/part/PartDetail.tsx:623 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:288 -#: src/pages/sales/ReturnOrderDetail.tsx:237 -#: src/pages/sales/SalesOrderDetail.tsx:285 -#: src/pages/stock/StockDetail.tsx:329 +#: src/pages/build/BuildDetail.tsx:307 +#: src/pages/company/CompanyDetail.tsx:267 +#: src/pages/part/PartDetail.tsx:624 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:290 +#: src/pages/sales/ReturnOrderDetail.tsx:239 +#: src/pages/sales/SalesOrderDetail.tsx:287 +#: src/pages/stock/StockDetail.tsx:337 +#: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "" -#: src/pages/build/BuildDetail.tsx:318 +#: src/pages/build/BuildDetail.tsx:325 msgid "Edit Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:327 +#: src/pages/build/BuildDetail.tsx:334 msgid "Cancel Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:339 +#: src/pages/build/BuildDetail.tsx:346 #: src/tables/build/BuildOrderTable.tsx:167 #: src/tables/build/BuildOrderTable.tsx:182 msgid "Add Build Order" msgstr "" #: src/pages/build/BuildDetail.tsx:368 -msgid "Reporting Actions" -msgstr "" +#~ msgid "Reporting Actions" +#~ msgstr "Reporting Actions" #: src/pages/build/BuildDetail.tsx:374 -msgid "Print build report" -msgstr "" +#~ msgid "Print build report" +#~ msgstr "Print build report" -#: src/pages/build/BuildDetail.tsx:380 +#: src/pages/build/BuildDetail.tsx:378 msgid "Build Order Actions" msgstr "" -#: src/pages/build/BuildDetail.tsx:388 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:326 -#: src/pages/sales/ReturnOrderDetail.tsx:300 -#: src/pages/sales/SalesOrderDetail.tsx:310 +#: src/pages/build/BuildDetail.tsx:386 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:333 +#: src/pages/sales/ReturnOrderDetail.tsx:307 +#: src/pages/sales/SalesOrderDetail.tsx:317 msgid "Cancel order" msgstr "" @@ -3612,56 +3696,58 @@ msgstr "" #~ msgid "New Build Order" #~ msgstr "New Build Order" -#: src/pages/company/CompanyDetail.tsx:98 +#: src/pages/company/CompanyDetail.tsx:100 msgid "Phone Number" msgstr "" -#: src/pages/company/CompanyDetail.tsx:105 +#: src/pages/company/CompanyDetail.tsx:107 msgid "Email Address" msgstr "" -#: src/pages/company/CompanyDetail.tsx:115 +#: src/pages/company/CompanyDetail.tsx:117 msgid "Default Currency" msgstr "" -#: src/pages/company/CompanyDetail.tsx:120 +#: src/pages/company/CompanyDetail.tsx:122 #: src/pages/company/SupplierDetail.tsx:8 -#: src/pages/company/SupplierPartDetail.tsx:106 -#: src/pages/company/SupplierPartDetail.tsx:192 -#: src/pages/company/SupplierPartDetail.tsx:295 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:116 +#: src/pages/company/SupplierPartDetail.tsx:107 +#: src/pages/company/SupplierPartDetail.tsx:193 +#: src/pages/company/SupplierPartDetail.tsx:296 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:118 #: src/tables/company/CompanyTable.tsx:100 #: src/tables/purchasing/PurchaseOrderTable.tsx:88 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:36 msgid "Supplier" msgstr "" -#: src/pages/company/CompanyDetail.tsx:126 +#: src/pages/company/CompanyDetail.tsx:128 #: src/pages/company/ManufacturerDetail.tsx:8 -#: src/pages/company/ManufacturerPartDetail.tsx:93 -#: src/pages/company/ManufacturerPartDetail.tsx:235 -#: src/pages/company/SupplierPartDetail.tsx:121 +#: src/pages/company/ManufacturerPartDetail.tsx:94 +#: src/pages/company/ManufacturerPartDetail.tsx:239 +#: src/pages/company/SupplierPartDetail.tsx:122 #: src/tables/company/CompanyTable.tsx:105 msgid "Manufacturer" msgstr "" -#: src/pages/company/CompanyDetail.tsx:132 +#: src/pages/company/CompanyDetail.tsx:134 #: src/pages/company/CustomerDetail.tsx:8 #: src/pages/part/pricing/SaleHistoryPanel.tsx:39 -#: src/pages/sales/ReturnOrderDetail.tsx:83 -#: src/pages/sales/SalesOrderDetail.tsx:87 -#: src/pages/stock/StockDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:85 +#: src/pages/sales/SalesOrderDetail.tsx:89 +#: src/pages/stock/StockDetail.tsx:219 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:107 +#: src/tables/stock/StockTrackingTable.tsx:140 msgid "Customer" msgstr "" -#: src/pages/company/CompanyDetail.tsx:166 +#: src/pages/company/CompanyDetail.tsx:168 +#: src/tables/stock/StockTrackingTable.tsx:183 msgid "Details" msgstr "" -#: src/pages/company/CompanyDetail.tsx:172 +#: src/pages/company/CompanyDetail.tsx:174 msgid "Manufactured Parts" msgstr "" @@ -3669,7 +3755,7 @@ msgstr "" #~ msgid "Edit company" #~ msgstr "Edit company" -#: src/pages/company/CompanyDetail.tsx:181 +#: src/pages/company/CompanyDetail.tsx:183 msgid "Supplied Parts" msgstr "" @@ -3677,289 +3763,289 @@ msgstr "" #~ msgid "Delete company" #~ msgstr "Delete company" -#: src/pages/company/CompanyDetail.tsx:226 +#: src/pages/company/CompanyDetail.tsx:228 msgid "Assigned Stock" msgstr "" -#: src/pages/company/CompanyDetail.tsx:281 +#: src/pages/company/CompanyDetail.tsx:283 #: src/tables/company/CompanyTable.tsx:86 msgid "Edit Company" msgstr "" -#: src/pages/company/CompanyDetail.tsx:290 +#: src/pages/company/CompanyDetail.tsx:292 msgid "Company Actions" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:68 -#: src/pages/company/SupplierPartDetail.tsx:75 +#: src/pages/company/ManufacturerPartDetail.tsx:69 +#: src/pages/company/SupplierPartDetail.tsx:76 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:72 msgid "Internal Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:83 -#: src/pages/company/SupplierPartDetail.tsx:89 +#: src/pages/company/ManufacturerPartDetail.tsx:84 +#: src/pages/company/SupplierPartDetail.tsx:90 msgid "External Link" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:101 -#: src/pages/company/SupplierPartDetail.tsx:130 -#: src/tables/purchasing/ManufacturerPartTable.tsx:53 +#: src/pages/company/ManufacturerPartDetail.tsx:102 +#: src/pages/company/SupplierPartDetail.tsx:131 +#: src/tables/purchasing/ManufacturerPartTable.tsx:56 msgid "Manufacturer Part Number" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:130 +#: src/pages/company/ManufacturerPartDetail.tsx:131 msgid "Manufacturer Details" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:139 +#: src/pages/company/ManufacturerPartDetail.tsx:140 msgid "Manufacturer Part Details" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:145 -#: src/pages/part/PartDetail.tsx:485 +#: src/pages/company/ManufacturerPartDetail.tsx:146 +#: src/pages/part/PartDetail.tsx:486 msgid "Parameters" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:157 -#: src/pages/part/PartDetail.tsx:558 +#: src/pages/company/ManufacturerPartDetail.tsx:158 +#: src/pages/part/PartDetail.tsx:559 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:189 -#: src/tables/purchasing/ManufacturerPartTable.tsx:97 +#: src/pages/company/ManufacturerPartDetail.tsx:190 +#: src/tables/purchasing/ManufacturerPartTable.tsx:84 msgid "Edit Manufacturer Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:196 -#: src/tables/purchasing/ManufacturerPartTable.tsx:63 -#: src/tables/purchasing/ManufacturerPartTable.tsx:78 +#: src/pages/company/ManufacturerPartDetail.tsx:197 +#: src/tables/purchasing/ManufacturerPartTable.tsx:72 +#: src/tables/purchasing/ManufacturerPartTable.tsx:103 msgid "Add Manufacturer Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:209 +#: src/pages/company/ManufacturerPartDetail.tsx:213 msgid "Manufacturer Part Actions" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:247 +#: src/pages/company/ManufacturerPartDetail.tsx:251 msgid "ManufacturerPart" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:96 -#: src/tables/ColumnRenderers.tsx:146 +#: src/pages/company/SupplierPartDetail.tsx:97 +#: src/tables/ColumnRenderers.tsx:117 msgid "Note" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:114 +#: src/pages/company/SupplierPartDetail.tsx:115 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:57 msgid "SKU" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:142 -#: src/pages/company/SupplierPartDetail.tsx:193 -#: src/pages/stock/StockDetail.tsx:230 +#: src/pages/company/SupplierPartDetail.tsx:143 +#: src/pages/company/SupplierPartDetail.tsx:194 +#: src/pages/stock/StockDetail.tsx:233 msgid "Packaging" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:149 +#: src/pages/company/SupplierPartDetail.tsx:150 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:107 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143 #: src/tables/purchasing/SupplierPartTable.tsx:131 msgid "Pack Quantity" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:160 +#: src/pages/company/SupplierPartDetail.tsx:161 msgid "Supplier Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:167 +#: src/pages/company/SupplierPartDetail.tsx:168 msgid "Availability Updated" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:194 +#: src/pages/company/SupplierPartDetail.tsx:195 msgid "Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:203 +#: src/pages/company/SupplierPartDetail.tsx:204 msgid "Supplier Part Details" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:209 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:263 +#: src/pages/company/SupplierPartDetail.tsx:210 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:265 msgid "Received Stock" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:233 +#: src/pages/company/SupplierPartDetail.tsx:234 #: src/pages/part/PartPricingPanel.tsx:115 #: src/pages/part/pricing/PricingOverviewPanel.tsx:130 msgid "Supplier Pricing" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:248 +#: src/pages/company/SupplierPartDetail.tsx:249 msgid "Supplier Part Actions" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:272 +#: src/pages/company/SupplierPartDetail.tsx:273 #: src/tables/purchasing/SupplierPartTable.tsx:210 msgid "Edit Supplier Part" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:279 +#: src/pages/company/SupplierPartDetail.tsx:280 #: src/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "" -#: src/pages/part/CategoryDetail.tsx:83 -#: src/pages/stock/LocationDetail.tsx:89 +#: src/pages/part/CategoryDetail.tsx:84 +#: src/pages/stock/LocationDetail.tsx:91 #: src/tables/settings/ErrorTable.tsx:34 msgid "Path" msgstr "" -#: src/pages/part/CategoryDetail.tsx:99 +#: src/pages/part/CategoryDetail.tsx:100 msgid "Parent Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:116 +#: src/pages/part/CategoryDetail.tsx:117 msgid "Subcategories" msgstr "" -#: src/pages/part/CategoryDetail.tsx:123 -#: src/pages/stock/LocationDetail.tsx:129 -#: src/tables/part/PartCategoryTable.tsx:69 +#: src/pages/part/CategoryDetail.tsx:124 +#: src/pages/stock/LocationDetail.tsx:131 +#: src/tables/part/PartCategoryTable.tsx:65 msgid "Structural" msgstr "" -#: src/pages/part/CategoryDetail.tsx:129 +#: src/pages/part/CategoryDetail.tsx:130 msgid "Parent default location" msgstr "" -#: src/pages/part/CategoryDetail.tsx:136 +#: src/pages/part/CategoryDetail.tsx:137 msgid "Default location" msgstr "" -#: src/pages/part/CategoryDetail.tsx:147 +#: src/pages/part/CategoryDetail.tsx:148 msgid "Top level part category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:157 -#: src/pages/part/CategoryDetail.tsx:211 -#: src/tables/part/PartCategoryTable.tsx:96 +#: src/pages/part/CategoryDetail.tsx:158 +#: src/pages/part/CategoryDetail.tsx:212 +#: src/tables/part/PartCategoryTable.tsx:88 msgid "Edit Part Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:170 -#: src/pages/stock/LocationDetail.tsx:213 +#: src/pages/part/CategoryDetail.tsx:171 +#: src/pages/stock/LocationDetail.tsx:223 msgid "Delete items" msgstr "" -#: src/pages/part/CategoryDetail.tsx:178 -#: src/pages/part/CategoryDetail.tsx:216 +#: src/pages/part/CategoryDetail.tsx:179 +#: src/pages/part/CategoryDetail.tsx:217 msgid "Delete Part Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:181 +#: src/pages/part/CategoryDetail.tsx:182 msgid "Parts Action" msgstr "" -#: src/pages/part/CategoryDetail.tsx:182 +#: src/pages/part/CategoryDetail.tsx:183 msgid "Action for parts in this category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:187 +#: src/pages/part/CategoryDetail.tsx:188 msgid "Child Categories Action" msgstr "" -#: src/pages/part/CategoryDetail.tsx:188 +#: src/pages/part/CategoryDetail.tsx:189 msgid "Action for child categories in this category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:206 +#: src/pages/part/CategoryDetail.tsx:207 msgid "Category Actions" msgstr "" -#: src/pages/part/CategoryDetail.tsx:228 +#: src/pages/part/CategoryDetail.tsx:229 msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:138 +#: src/pages/part/PartDetail.tsx:139 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:145 +#: src/pages/part/PartDetail.tsx:146 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "Catégorie" -#: src/pages/part/PartDetail.tsx:151 +#: src/pages/part/PartDetail.tsx:152 msgid "Default Location" msgstr "Emplacement par défaut" -#: src/pages/part/PartDetail.tsx:158 +#: src/pages/part/PartDetail.tsx:159 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:165 +#: src/pages/part/PartDetail.tsx:166 msgid "IPN" msgstr "" -#: src/pages/part/PartDetail.tsx:172 +#: src/pages/part/PartDetail.tsx:173 msgid "Revision" msgstr "Révision" -#: src/pages/part/PartDetail.tsx:179 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39 +#: src/pages/part/PartDetail.tsx:180 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "Unités" -#: src/pages/part/PartDetail.tsx:186 +#: src/pages/part/PartDetail.tsx:187 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "Mots-clés" -#: src/pages/part/PartDetail.tsx:193 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:180 -#: src/pages/sales/ReturnOrderDetail.tsx:148 -#: src/pages/sales/SalesOrderDetail.tsx:152 +#: src/pages/part/PartDetail.tsx:194 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:182 +#: src/pages/sales/ReturnOrderDetail.tsx:150 +#: src/pages/sales/SalesOrderDetail.tsx:154 msgid "Link" msgstr "Lien" -#: src/pages/part/PartDetail.tsx:211 -#: src/tables/bom/BomTable.tsx:269 +#: src/pages/part/PartDetail.tsx:212 +#: src/tables/bom/BomTable.tsx:271 #: src/tables/build/BuildLineTable.tsx:121 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:218 +#: src/pages/part/PartDetail.tsx:219 msgid "Minimum Stock" msgstr "Stock Minimum" -#: src/pages/part/PartDetail.tsx:224 -#: src/tables/bom/BomTable.tsx:210 +#: src/pages/part/PartDetail.tsx:225 +#: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "Sur commande" -#: src/pages/part/PartDetail.tsx:233 +#: src/pages/part/PartDetail.tsx:234 msgid "Allocated to Build Orders" msgstr "Alloué à l'ordre de construction" -#: src/pages/part/PartDetail.tsx:241 +#: src/pages/part/PartDetail.tsx:242 msgid "Allocated to Sales Orders" msgstr "Alloué aux ordres de ventes" -#: src/pages/part/PartDetail.tsx:248 -#: src/tables/bom/BomTable.tsx:234 +#: src/pages/part/PartDetail.tsx:249 +#: src/tables/bom/BomTable.tsx:236 msgid "Can Build" msgstr "Peut être construit" -#: src/pages/part/PartDetail.tsx:255 -#: src/tables/bom/BomTable.tsx:218 +#: src/pages/part/PartDetail.tsx:256 +#: src/tables/bom/BomTable.tsx:220 #: src/tables/part/PartTable.tsx:82 msgid "Building" msgstr "Construire" -#: src/pages/part/PartDetail.tsx:264 +#: src/pages/part/PartDetail.tsx:265 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 @@ -3968,45 +4054,47 @@ msgstr "Construire" #: src/tables/machine/MachineListTable.tsx:585 #: src/tables/part/PartTable.tsx:168 #: src/tables/part/PartVariantTable.tsx:15 -#: src/tables/plugin/PluginListTable.tsx:190 -#: src/tables/plugin/PluginListTable.tsx:638 +#: src/tables/plugin/PluginListTable.tsx:149 +#: src/tables/plugin/PluginListTable.tsx:271 +#: src/tables/plugin/PluginListTable.tsx:563 #: src/tables/purchasing/SupplierPartTable.tsx:98 #: src/tables/purchasing/SupplierPartTable.tsx:187 #: src/tables/stock/StockItemTable.tsx:254 msgid "Active" msgstr "" -#: src/pages/part/PartDetail.tsx:269 +#: src/pages/part/PartDetail.tsx:270 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:274 -#: src/tables/bom/BomTable.tsx:264 +#: src/pages/part/PartDetail.tsx:275 +#: src/tables/bom/BomTable.tsx:266 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:279 +#: src/pages/part/PartDetail.tsx:280 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:284 -#: src/tables/bom/BomTable.tsx:259 +#: src/pages/part/PartDetail.tsx:285 +#: src/tables/bom/BomTable.tsx:261 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:289 +#: src/pages/part/PartDetail.tsx:290 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:294 +#: src/pages/part/PartDetail.tsx:295 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:299 +#: src/pages/part/PartDetail.tsx:300 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:307 +#: src/pages/part/PartDetail.tsx:308 +#: src/tables/ColumnRenderers.tsx:199 msgid "Creation Date" msgstr "Date de création" @@ -4014,7 +4102,7 @@ msgstr "Date de création" #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:312 +#: src/pages/part/PartDetail.tsx:313 msgid "Created By" msgstr "" @@ -4022,68 +4110,72 @@ msgstr "" #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:327 -msgid "Default Supplier" -msgstr "Fournisseur par Défaut" - #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:338 +#: src/pages/part/PartDetail.tsx:328 +msgid "Default Supplier" +msgstr "Fournisseur par Défaut" + +#: src/pages/part/PartDetail.tsx:339 #: src/tables/part/PartTable.tsx:151 msgid "Price Range" msgstr "Échelle des prix" -#: src/pages/part/PartDetail.tsx:373 -#: src/pages/stock/StockDetail.tsx:127 +#: src/pages/part/PartDetail.tsx:374 +#: src/pages/stock/StockDetail.tsx:130 msgid "Last Stocktake" msgstr "Dernier inventaire" -#: src/pages/part/PartDetail.tsx:408 +#: src/pages/part/PartDetail.tsx:409 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:479 +#: src/pages/part/PartDetail.tsx:480 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:505 +#: src/pages/part/PartDetail.tsx:506 msgid "Variants" msgstr "Variants" -#: src/pages/part/PartDetail.tsx:512 -#: src/pages/stock/StockDetail.tsx:275 +#: src/pages/part/PartDetail.tsx:513 +#: src/pages/stock/StockDetail.tsx:283 msgid "Allocations" msgstr "Allocations" -#: src/pages/part/PartDetail.tsx:532 +#: src/pages/part/PartDetail.tsx:519 +msgid "Bill of Materials" +msgstr "" + +#: src/pages/part/PartDetail.tsx:533 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:539 +#: src/pages/part/PartDetail.tsx:540 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:545 +#: src/pages/part/PartDetail.tsx:546 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:584 +#: src/pages/part/PartDetail.tsx:585 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:594 +#: src/pages/part/PartDetail.tsx:595 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:605 +#: src/pages/part/PartDetail.tsx:606 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:660 -#: src/pages/stock/StockDetail.tsx:148 +#: src/pages/part/PartDetail.tsx:661 +#: src/pages/stock/StockDetail.tsx:151 #: src/tables/build/BuildLineTable.tsx:36 #: src/tables/part/PartTable.tsx:107 #: src/tables/stock/StockItemTable.tsx:166 @@ -4091,49 +4183,51 @@ msgstr "" msgid "Available" msgstr "Disponible" -#: src/pages/part/PartDetail.tsx:666 +#: src/pages/part/PartDetail.tsx:667 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:672 -#: src/tables/bom/BomTable.tsx:274 +#: src/pages/part/PartDetail.tsx:673 +#: src/tables/bom/BomTable.tsx:276 #: src/tables/part/PartTable.tsx:76 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:678 -#: src/pages/stock/StockDetail.tsx:496 +#: src/pages/part/PartDetail.tsx:679 +#: src/pages/stock/StockDetail.tsx:509 #: src/tables/stock/StockItemTable.tsx:295 msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:697 +#: src/pages/part/PartDetail.tsx:698 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:704 +#: src/pages/part/PartDetail.tsx:705 #: src/tables/part/PartTable.tsx:266 #: src/tables/part/PartTable.tsx:279 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:716 +#: src/pages/part/PartDetail.tsx:717 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:725 +#: src/pages/part/PartDetail.tsx:726 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:763 +#: src/pages/part/PartDetail.tsx:764 +#: src/pages/stock/LocationDetail.tsx:301 +#: src/tables/stock/StockItemTable.tsx:409 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:771 +#: src/pages/part/PartDetail.tsx:772 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:782 +#: src/pages/part/PartDetail.tsx:783 msgid "Transfer part stock" msgstr "" @@ -4199,15 +4293,15 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151 #: src/pages/part/pricing/SupplierPricingPanel.tsx:83 -#: src/tables/bom/BomTable.tsx:149 +#: src/tables/bom/BomTable.tsx:151 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 msgid "Unit Price" msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:173 -#: src/tables/ColumnRenderers.tsx:278 -#: src/tables/bom/BomTable.tsx:158 +#: src/tables/ColumnRenderers.tsx:241 +#: src/tables/bom/BomTable.tsx:160 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 #: src/tables/sales/ReturnOrderTable.tsx:104 #: src/tables/sales/SalesOrderTable.tsx:134 @@ -4229,24 +4323,24 @@ msgid "Bar Chart" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:63 -#: src/pages/part/pricing/PriceBreakPanel.tsx:117 +#: src/pages/part/pricing/PriceBreakPanel.tsx:115 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:138 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:164 msgid "Add Price Break" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:76 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:149 msgid "Edit Price Break" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:86 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:157 msgid "Delete Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:102 -#: src/pages/part/pricing/PriceBreakPanel.tsx:193 +#: src/pages/part/pricing/PriceBreakPanel.tsx:100 +#: src/pages/part/pricing/PriceBreakPanel.tsx:191 msgid "Price Break" msgstr "" @@ -4275,7 +4369,7 @@ msgid "Overall Pricing" msgstr "" #: src/pages/part/pricing/PricingOverviewPanel.tsx:184 -#: src/pages/stock/StockDetail.tsx:121 +#: src/pages/stock/StockDetail.tsx:124 msgid "Last Updated" msgstr "" @@ -4309,9 +4403,8 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50 #: src/pages/part/pricing/SaleHistoryPanel.tsx:46 -#: src/tables/ColumnRenderers.tsx:217 -#: src/tables/plugin/PluginListTable.tsx:182 -#: src/tables/stock/StockItemTestResultTable.tsx:194 +#: src/tables/ColumnRenderers.tsx:180 +#: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" @@ -4338,89 +4431,89 @@ msgstr "" msgid "Variant Part" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:73 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:75 msgid "Edit Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:82 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:84 #: src/tables/purchasing/PurchaseOrderTable.tsx:128 #: src/tables/purchasing/PurchaseOrderTable.tsx:140 msgid "Add Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:107 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:109 msgid "Supplier Reference" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:137 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:252 -#: src/pages/sales/ReturnOrderDetail.tsx:104 -#: src/pages/sales/ReturnOrderDetail.tsx:220 -#: src/pages/sales/SalesOrderDetail.tsx:108 -#: src/pages/sales/SalesOrderDetail.tsx:248 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:139 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:254 +#: src/pages/sales/ReturnOrderDetail.tsx:106 +#: src/pages/sales/ReturnOrderDetail.tsx:222 +#: src/pages/sales/SalesOrderDetail.tsx:110 +#: src/pages/sales/SalesOrderDetail.tsx:250 msgid "Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:144 -#: src/pages/sales/ReturnOrderDetail.tsx:111 -#: src/pages/sales/SalesOrderDetail.tsx:115 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:146 +#: src/pages/sales/ReturnOrderDetail.tsx:113 +#: src/pages/sales/SalesOrderDetail.tsx:117 msgid "Completed Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:152 -#: src/pages/sales/ReturnOrderDetail.tsx:119 -#: src/pages/sales/SalesOrderDetail.tsx:123 -#: src/pages/sales/SalesOrderDetail.tsx:258 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:121 +#: src/pages/sales/SalesOrderDetail.tsx:125 +#: src/pages/sales/SalesOrderDetail.tsx:260 msgid "Completed Shipments" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:159 -#: src/pages/sales/ReturnOrderDetail.tsx:127 -#: src/pages/sales/SalesOrderDetail.tsx:131 -msgid "Order Currency" -msgstr "" - #: src/pages/purchasing/PurchaseOrderDetail.tsx:159 #: src/pages/sales/ReturnOrderDetail.tsx:126 #: src/pages/sales/SalesOrderDetail.tsx:130 #~ msgid "Order Currency," #~ msgstr "Order Currency," -#: src/pages/purchasing/PurchaseOrderDetail.tsx:166 -#: src/pages/sales/ReturnOrderDetail.tsx:134 -#: src/pages/sales/SalesOrderDetail.tsx:138 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:161 +#: src/pages/sales/ReturnOrderDetail.tsx:129 +#: src/pages/sales/SalesOrderDetail.tsx:133 +msgid "Order Currency" +msgstr "" + +#: src/pages/purchasing/PurchaseOrderDetail.tsx:168 +#: src/pages/sales/ReturnOrderDetail.tsx:136 +#: src/pages/sales/SalesOrderDetail.tsx:140 msgid "Total Cost" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:201 -#: src/pages/sales/ReturnOrderDetail.tsx:169 -#: src/pages/sales/SalesOrderDetail.tsx:173 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:203 +#: src/pages/sales/ReturnOrderDetail.tsx:171 +#: src/pages/sales/SalesOrderDetail.tsx:175 msgid "Created On" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:246 -#: src/pages/sales/ReturnOrderDetail.tsx:214 -#: src/pages/sales/SalesOrderDetail.tsx:242 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:248 +#: src/pages/sales/ReturnOrderDetail.tsx:216 +#: src/pages/sales/SalesOrderDetail.tsx:244 msgid "Order Details" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:316 -#: src/pages/sales/ReturnOrderDetail.tsx:290 -#: src/pages/sales/SalesOrderDetail.tsx:302 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:323 +#: src/pages/sales/ReturnOrderDetail.tsx:297 +#: src/pages/sales/SalesOrderDetail.tsx:309 msgid "Order Actions" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:75 -#: src/pages/sales/SalesOrderDetail.tsx:79 +#: src/pages/sales/ReturnOrderDetail.tsx:77 +#: src/pages/sales/SalesOrderDetail.tsx:81 #: src/tables/sales/SalesOrderTable.tsx:123 msgid "Customer Reference" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:267 +#: src/pages/sales/ReturnOrderDetail.tsx:269 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:276 +#: src/pages/sales/ReturnOrderDetail.tsx:278 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" @@ -4430,68 +4523,72 @@ msgstr "" msgid "Customers" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:219 +#: src/pages/sales/SalesOrderDetail.tsx:221 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:228 +#: src/pages/sales/SalesOrderDetail.tsx:230 #: src/tables/sales/SalesOrderTable.tsx:83 #: src/tables/sales/SalesOrderTable.tsx:95 msgid "Add Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:253 +#: src/pages/sales/SalesOrderDetail.tsx:255 msgid "Pending Shipments" msgstr "" -#: src/pages/stock/LocationDetail.tsx:105 +#: src/pages/stock/LocationDetail.tsx:107 msgid "Parent Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:123 +#: src/pages/stock/LocationDetail.tsx:125 msgid "Sublocations" msgstr "" -#: src/pages/stock/LocationDetail.tsx:135 +#: src/pages/stock/LocationDetail.tsx:137 msgid "External" msgstr "" -#: src/pages/stock/LocationDetail.tsx:144 +#: src/pages/stock/LocationDetail.tsx:143 +msgid "Location Type" +msgstr "" + +#: src/pages/stock/LocationDetail.tsx:154 msgid "Top level stock location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:155 +#: src/pages/stock/LocationDetail.tsx:165 msgid "Location Details" msgstr "" -#: src/pages/stock/LocationDetail.tsx:181 +#: src/pages/stock/LocationDetail.tsx:191 msgid "Default Parts" msgstr "" -#: src/pages/stock/LocationDetail.tsx:200 +#: src/pages/stock/LocationDetail.tsx:210 #: src/pages/stock/LocationDetail.tsx:328 -#: src/tables/stock/StockLocationTable.tsx:108 +#: src/tables/stock/StockLocationTable.tsx:100 msgid "Edit Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:221 +#: src/pages/stock/LocationDetail.tsx:231 #: src/pages/stock/LocationDetail.tsx:333 msgid "Delete Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:224 +#: src/pages/stock/LocationDetail.tsx:234 msgid "Items Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:225 +#: src/pages/stock/LocationDetail.tsx:235 msgid "Action for stock items in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:230 +#: src/pages/stock/LocationDetail.tsx:240 msgid "Child Locations Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:231 +#: src/pages/stock/LocationDetail.tsx:241 msgid "Action for child locations in this location" msgstr "" @@ -4499,11 +4596,11 @@ msgstr "" msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:100 +#: src/pages/stock/StockDetail.tsx:103 msgid "Base Part" msgstr "" -#: src/pages/stock/StockDetail.tsx:107 +#: src/pages/stock/StockDetail.tsx:110 msgid "Stock Status" msgstr "" @@ -4515,15 +4612,16 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:174 +#: src/pages/stock/StockDetail.tsx:177 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:190 +#: src/pages/stock/StockDetail.tsx:193 msgid "Consumed By" msgstr "" -#: src/pages/stock/StockDetail.tsx:199 +#: src/pages/stock/StockDetail.tsx:202 +#: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" msgstr "" @@ -4535,78 +4633,78 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:264 +#: src/pages/stock/StockDetail.tsx:267 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:270 +#: src/pages/stock/StockDetail.tsx:273 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:282 +#: src/pages/stock/StockDetail.tsx:290 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:296 +#: src/pages/stock/StockDetail.tsx:304 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:303 +#: src/pages/stock/StockDetail.tsx:311 msgid "Child Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:358 +#: src/pages/stock/StockDetail.tsx:366 msgid "Edit Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:385 +#: src/pages/stock/StockDetail.tsx:393 msgid "Delete Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:426 -msgid "Stock Operations" -msgstr "" - -#: src/pages/stock/StockDetail.tsx:431 -msgid "Count stock" -msgstr "" - #: src/pages/stock/StockDetail.tsx:433 #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:441 +#: src/pages/stock/StockDetail.tsx:440 +msgid "Stock Operations" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:445 +msgid "Count stock" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:455 #: src/tables/stock/StockItemTable.tsx:414 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:449 +#: src/pages/stock/StockDetail.tsx:463 #: src/tables/stock/StockItemTable.tsx:423 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:456 +#: src/pages/stock/StockDetail.tsx:470 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:457 +#: src/pages/stock/StockDetail.tsx:471 #: src/tables/stock/StockItemTable.tsx:443 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:469 +#: src/pages/stock/StockDetail.tsx:482 msgid "Stock Item Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:513 -msgid "Batch Code" -msgstr "" - -#: src/tables/ColumnRenderers.tsx:50 +#: src/tables/ColumnRenderers.tsx:42 msgid "No location set" msgstr "" -#: src/tables/ColumnRenderers.tsx:264 +#: src/tables/ColumnRenderers.tsx:207 +msgid "Shipment Date" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:227 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "Devise" @@ -4616,21 +4714,33 @@ msgstr "Devise" msgid "Select Columns" msgstr "Sélectionner les colonnes" -#: src/tables/DownloadAction.tsx:11 +#: src/tables/DownloadAction.tsx:13 +#~ msgid "Excel" +#~ msgstr "Excel" + +#: src/tables/DownloadAction.tsx:21 +#~ msgid "Download selected data" +#~ msgstr "Download selected data" + +#: src/tables/DownloadAction.tsx:22 msgid "CSV" msgstr "CSV" -#: src/tables/DownloadAction.tsx:12 +#: src/tables/DownloadAction.tsx:23 msgid "TSV" msgstr "TSV" -#: src/tables/DownloadAction.tsx:13 -msgid "Excel" -msgstr "Excel" +#: src/tables/DownloadAction.tsx:24 +msgid "Excel (.xls)" +msgstr "" -#: src/tables/DownloadAction.tsx:21 -msgid "Download selected data" -msgstr "Télécharger la sélection" +#: src/tables/DownloadAction.tsx:25 +msgid "Excel (.xlsx)" +msgstr "" + +#: src/tables/DownloadAction.tsx:39 +msgid "Download Data" +msgstr "" #: src/tables/Filter.tsx:88 #: src/tables/build/BuildOrderTable.tsx:126 @@ -4663,102 +4773,102 @@ msgstr "Afficher les commandes en retard" msgid "Remove filter" msgstr "Supprimer le filtre" -#: src/tables/FilterSelectDrawer.tsx:147 +#: src/tables/FilterSelectDrawer.tsx:136 msgid "Select filter" msgstr "Sélection du filtre" -#: src/tables/FilterSelectDrawer.tsx:148 +#: src/tables/FilterSelectDrawer.tsx:137 msgid "Filter" msgstr "Filtrer" -#: src/tables/FilterSelectDrawer.tsx:155 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:33 -#: src/tables/stock/StockItemTestResultTable.tsx:182 +#: src/tables/FilterSelectDrawer.tsx:144 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 +#: src/tables/stock/StockItemTestResultTable.tsx:180 msgid "Value" msgstr "Valeur" -#: src/tables/FilterSelectDrawer.tsx:156 +#: src/tables/FilterSelectDrawer.tsx:145 msgid "Select filter value" msgstr "Sélection de la valeur du filtre" -#: src/tables/FilterSelectDrawer.tsx:196 +#: src/tables/FilterSelectDrawer.tsx:185 msgid "Table Filters" msgstr "Filtres des tables" -#: src/tables/FilterSelectDrawer.tsx:228 +#: src/tables/FilterSelectDrawer.tsx:217 msgid "Add Filter" msgstr "Ajouter un filtre" -#: src/tables/FilterSelectDrawer.tsx:237 +#: src/tables/FilterSelectDrawer.tsx:226 msgid "Clear Filters" msgstr "Effacer filtres" -#: src/tables/InvenTreeTable.tsx:118 -#: src/tables/InvenTreeTable.tsx:384 -#: src/tables/InvenTreeTable.tsx:405 +#: src/tables/InvenTreeTable.tsx:119 +#: src/tables/InvenTreeTable.tsx:390 +#: src/tables/InvenTreeTable.tsx:411 msgid "No records found" msgstr "Pas d'enregistrement trouvé" -#: src/tables/InvenTreeTable.tsx:416 +#: src/tables/InvenTreeTable.tsx:422 msgid "Server returned incorrect data type" msgstr "Le serveur à retourner un type de donnée incorrect" -#: src/tables/InvenTreeTable.tsx:424 +#: src/tables/InvenTreeTable.tsx:430 msgid "Bad request" msgstr "Requête invalide" -#: src/tables/InvenTreeTable.tsx:427 +#: src/tables/InvenTreeTable.tsx:433 msgid "Unauthorized" msgstr "Non autorisé" -#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:436 msgid "Forbidden" msgstr "Accès interdit" -#: src/tables/InvenTreeTable.tsx:433 +#: src/tables/InvenTreeTable.tsx:439 msgid "Not found" msgstr "Elément non trouvé" -#: src/tables/InvenTreeTable.tsx:482 -#: src/tables/InvenTreeTable.tsx:604 +#: src/tables/InvenTreeTable.tsx:488 +#: src/tables/InvenTreeTable.tsx:611 msgid "Delete selected records" msgstr "Supprimer les enregistrements sélectionnés" -#: src/tables/InvenTreeTable.tsx:486 +#: src/tables/InvenTreeTable.tsx:492 msgid "Are you sure you want to delete the selected records?" msgstr "Êtes-vous sûr de vouloir supprimer les enregistrements sélectionnés ?" -#: src/tables/InvenTreeTable.tsx:488 +#: src/tables/InvenTreeTable.tsx:494 msgid "This action cannot be undone!" msgstr "Cette action ne peut pas être annulée !" -#: src/tables/InvenTreeTable.tsx:516 +#: src/tables/InvenTreeTable.tsx:522 msgid "Deleted records" msgstr "Enregistrement supprimé" -#: src/tables/InvenTreeTable.tsx:517 +#: src/tables/InvenTreeTable.tsx:523 msgid "Records were deleted successfully" msgstr "Les enregistrements ont été supprimés avec succès" -#: src/tables/InvenTreeTable.tsx:526 +#: src/tables/InvenTreeTable.tsx:532 msgid "Failed to delete records" msgstr "Échec de la suppression des enregistrements" -#: src/tables/InvenTreeTable.tsx:585 -#: src/tables/InvenTreeTable.tsx:586 +#: src/tables/InvenTreeTable.tsx:594 +#: src/tables/InvenTreeTable.tsx:595 +#~ msgid "Print actions" +#~ msgstr "Print actions" + +#: src/tables/InvenTreeTable.tsx:601 +#: src/tables/InvenTreeTable.tsx:602 msgid "Barcode actions" msgstr "Actions de code-barres" -#: src/tables/InvenTreeTable.tsx:594 -#: src/tables/InvenTreeTable.tsx:595 -msgid "Print actions" -msgstr "Actions d'impression" - -#: src/tables/InvenTreeTable.tsx:620 +#: src/tables/InvenTreeTable.tsx:630 msgid "Refresh data" msgstr "Actualiser les données" -#: src/tables/InvenTreeTable.tsx:638 +#: src/tables/InvenTreeTable.tsx:648 msgid "Table filters" msgstr "Filtres de tableau" @@ -4770,138 +4880,138 @@ msgstr "Cet article de nomenclature est défini pour un autre parent" msgid "Part Information" msgstr "Information de pièce" -#: src/tables/bom/BomTable.tsx:177 +#: src/tables/bom/BomTable.tsx:179 #: src/tables/part/PartTable.tsx:124 msgid "No stock" msgstr "Aucun stock" -#: src/tables/bom/BomTable.tsx:185 +#: src/tables/bom/BomTable.tsx:187 #: src/tables/build/BuildLineTable.tsx:104 #: src/tables/part/PartTable.tsx:115 msgid "External stock" msgstr "" -#: src/tables/bom/BomTable.tsx:193 +#: src/tables/bom/BomTable.tsx:195 #: src/tables/build/BuildLineTable.tsx:67 msgid "Includes substitute stock" msgstr "Comprend un stock de remplacement" -#: src/tables/bom/BomTable.tsx:202 +#: src/tables/bom/BomTable.tsx:204 #: src/tables/build/BuildLineTable.tsx:77 msgid "Includes variant stock" msgstr "Inclut le stock de variantes" -#: src/tables/bom/BomTable.tsx:227 +#: src/tables/bom/BomTable.tsx:229 #: src/tables/part/PartTable.tsx:143 #: src/tables/stock/StockItemTable.tsx:205 msgid "Stock Information" msgstr "Information de stock" -#: src/tables/bom/BomTable.tsx:239 +#: src/tables/bom/BomTable.tsx:241 #: src/tables/build/BuildLineTable.tsx:195 msgid "Consumable item" msgstr "Article consommable" -#: src/tables/bom/BomTable.tsx:260 +#: src/tables/bom/BomTable.tsx:262 msgid "Show trackable items" msgstr "" -#: src/tables/bom/BomTable.tsx:265 +#: src/tables/bom/BomTable.tsx:267 msgid "Show asssmbled items" msgstr "" -#: src/tables/bom/BomTable.tsx:270 +#: src/tables/bom/BomTable.tsx:272 msgid "Show items with available stock" msgstr "" -#: src/tables/bom/BomTable.tsx:275 +#: src/tables/bom/BomTable.tsx:277 msgid "Show items on order" msgstr "" -#: src/tables/bom/BomTable.tsx:279 +#: src/tables/bom/BomTable.tsx:281 msgid "Validated" msgstr "" -#: src/tables/bom/BomTable.tsx:280 +#: src/tables/bom/BomTable.tsx:282 msgid "Show validated items" msgstr "" -#: src/tables/bom/BomTable.tsx:284 +#: src/tables/bom/BomTable.tsx:286 #: src/tables/bom/UsedInTable.tsx:63 msgid "Inherited" msgstr "" -#: src/tables/bom/BomTable.tsx:285 +#: src/tables/bom/BomTable.tsx:287 #: src/tables/bom/UsedInTable.tsx:64 msgid "Show inherited items" msgstr "" -#: src/tables/bom/BomTable.tsx:289 +#: src/tables/bom/BomTable.tsx:291 #: src/tables/bom/UsedInTable.tsx:68 #: src/tables/build/BuildLineTable.tsx:46 msgid "Optional" msgstr "Optionnel" -#: src/tables/bom/BomTable.tsx:290 +#: src/tables/bom/BomTable.tsx:292 #: src/tables/bom/UsedInTable.tsx:69 msgid "Show optional items" msgstr "" -#: src/tables/bom/BomTable.tsx:294 +#: src/tables/bom/BomTable.tsx:296 #: src/tables/build/BuildLineTable.tsx:41 msgid "Consumable" msgstr "Consommable" -#: src/tables/bom/BomTable.tsx:295 +#: src/tables/bom/BomTable.tsx:297 msgid "Show consumable items" msgstr "" -#: src/tables/bom/BomTable.tsx:299 +#: src/tables/bom/BomTable.tsx:301 msgid "Has Pricing" msgstr "" -#: src/tables/bom/BomTable.tsx:300 -msgid "Show items with pricing" -msgstr "" - #: src/tables/bom/BomTable.tsx:301 #~ msgid "Create BOM Item" #~ msgstr "Create BOM Item" -#: src/tables/bom/BomTable.tsx:309 -#: src/tables/bom/BomTable.tsx:397 +#: src/tables/bom/BomTable.tsx:302 +msgid "Show items with pricing" +msgstr "" + +#: src/tables/bom/BomTable.tsx:311 +#: src/tables/bom/BomTable.tsx:399 msgid "Add BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:314 +#: src/tables/bom/BomTable.tsx:316 msgid "BOM item created" msgstr "" -#: src/tables/bom/BomTable.tsx:321 +#: src/tables/bom/BomTable.tsx:323 msgid "Edit BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:323 +#: src/tables/bom/BomTable.tsx:325 msgid "BOM item updated" msgstr "" -#: src/tables/bom/BomTable.tsx:330 -msgid "Delete BOM Item" -msgstr "" - -#: src/tables/bom/BomTable.tsx:331 -msgid "BOM item deleted" -msgstr "" - #: src/tables/bom/BomTable.tsx:331 #~ msgid "Edit Bom Item" #~ msgstr "Edit Bom Item" +#: src/tables/bom/BomTable.tsx:332 +msgid "Delete BOM Item" +msgstr "" + +#: src/tables/bom/BomTable.tsx:333 +msgid "BOM item deleted" +msgstr "" + #: src/tables/bom/BomTable.tsx:333 #~ msgid "Bom item updated" #~ msgstr "Bom item updated" -#: src/tables/bom/BomTable.tsx:341 +#: src/tables/bom/BomTable.tsx:343 msgid "View BOM" msgstr "" @@ -4917,11 +5027,11 @@ msgstr "" #~ msgid "Are you sure you want to remove this BOM item?" #~ msgstr "Are you sure you want to remove this BOM item?" -#: src/tables/bom/BomTable.tsx:352 +#: src/tables/bom/BomTable.tsx:354 msgid "Validate BOM line" msgstr "" -#: src/tables/bom/BomTable.tsx:360 +#: src/tables/bom/BomTable.tsx:362 msgid "Edit Substitutes" msgstr "" @@ -5038,11 +5148,11 @@ msgid "Filter by responsible owner" msgstr "" #: src/tables/build/BuildOutputTable.tsx:114 -#: src/tables/build/BuildOutputTable.tsx:150 +#: src/tables/build/BuildOutputTable.tsx:152 msgid "Add Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:155 +#: src/tables/build/BuildOutputTable.tsx:157 msgid "Complete selected outputs" msgstr "" @@ -5050,68 +5160,68 @@ msgstr "" #~ msgid "Delete build output" #~ msgstr "Delete build output" -#: src/tables/build/BuildOutputTable.tsx:165 +#: src/tables/build/BuildOutputTable.tsx:167 msgid "Scrap selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:175 +#: src/tables/build/BuildOutputTable.tsx:177 msgid "Cancel selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:191 +#: src/tables/build/BuildOutputTable.tsx:193 msgid "Allocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:192 +#: src/tables/build/BuildOutputTable.tsx:194 msgid "Allocate stock to build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:197 +#: src/tables/build/BuildOutputTable.tsx:199 msgid "Deallocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:198 +#: src/tables/build/BuildOutputTable.tsx:200 msgid "Deallocate stock from build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:203 +#: src/tables/build/BuildOutputTable.tsx:205 msgid "Complete" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:204 +#: src/tables/build/BuildOutputTable.tsx:206 msgid "Complete build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:213 +#: src/tables/build/BuildOutputTable.tsx:215 msgid "Scrap" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:214 +#: src/tables/build/BuildOutputTable.tsx:216 msgid "Scrap build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:224 +#: src/tables/build/BuildOutputTable.tsx:226 msgid "Cancel build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:251 +#: src/tables/build/BuildOutputTable.tsx:253 msgid "Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:264 +#: src/tables/build/BuildOutputTable.tsx:266 msgid "Batch" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:278 +#: src/tables/build/BuildOutputTable.tsx:280 msgid "Allocated Items" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:288 +#: src/tables/build/BuildOutputTable.tsx:290 msgid "Required Tests" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:317 -#: src/tables/stock/StockItemTestResultTable.tsx:146 +#: src/tables/build/BuildOutputTable.tsx:319 +#: src/tables/stock/StockItemTestResultTable.tsx:144 msgid "Test Results" msgstr "" @@ -5132,7 +5242,7 @@ msgstr "" msgid "Delete Address" msgstr "" -#: src/tables/company/AddressTable.tsx:145 +#: src/tables/company/AddressTable.tsx:144 msgid "Are you sure you want to delete this address?" msgstr "" @@ -5177,36 +5287,52 @@ msgstr "" msgid "Add contact" msgstr "" -#: src/tables/general/AttachmentTable.tsx:161 +#: src/tables/general/AttachmentTable.tsx:130 msgid "File uploaded" msgstr "" -#: src/tables/general/AttachmentTable.tsx:162 +#: src/tables/general/AttachmentTable.tsx:131 msgid "File {0} uploaded successfully" msgstr "" -#: src/tables/general/AttachmentTable.tsx:173 +#: src/tables/general/AttachmentTable.tsx:142 msgid "Upload Error" msgstr "" -#: src/tables/general/AttachmentTable.tsx:174 +#: src/tables/general/AttachmentTable.tsx:143 msgid "File could not be uploaded" msgstr "" #: src/tables/general/AttachmentTable.tsx:187 +msgid "Upload Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:197 +msgid "Edit Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:211 +msgid "Delete Attachment" +msgstr "Supprimer la pièce jointe" + +#: src/tables/general/AttachmentTable.tsx:221 msgid "Add attachment" msgstr "" -#: src/tables/general/AttachmentTable.tsx:207 +#: src/tables/general/AttachmentTable.tsx:232 msgid "Add external link" msgstr "" -#: src/tables/general/AttachmentTable.tsx:239 +#: src/tables/general/AttachmentTable.tsx:254 +#~ msgid "Upload attachment" +#~ msgstr "Upload attachment" + +#: src/tables/general/AttachmentTable.tsx:289 msgid "No attachments found" msgstr "" -#: src/tables/general/AttachmentTable.tsx:254 -msgid "Upload attachment" +#: src/tables/general/AttachmentTable.tsx:325 +msgid "Drag attachment file here to upload" msgstr "" #: src/tables/machine/MachineListTable.tsx:199 @@ -5332,8 +5458,8 @@ msgstr "" #: src/tables/machine/MachineTypeTable.tsx:135 #: src/tables/machine/MachineTypeTable.tsx:255 -#: src/tables/plugin/PluginListTable.tsx:215 -#: src/tables/plugin/PluginListTable.tsx:643 +#: src/tables/plugin/PluginListTable.tsx:180 +#: src/tables/plugin/PluginListTable.tsx:568 msgid "Builtin" msgstr "" @@ -5375,7 +5501,7 @@ msgid "Message" msgstr "" #: src/tables/part/ParametricPartTable.tsx:75 -#: src/tables/part/PartParameterTable.tsx:87 +#: src/tables/part/PartParameterTable.tsx:88 msgid "Internal Units" msgstr "" @@ -5388,29 +5514,29 @@ msgid "Add Part Parameter" msgstr "" #: src/tables/part/ParametricPartTable.tsx:147 -#: src/tables/part/PartParameterTable.tsx:128 -#: src/tables/part/PartParameterTable.tsx:150 +#: src/tables/part/PartParameterTable.tsx:121 +#: src/tables/part/PartParameterTable.tsx:144 msgid "Edit Part Parameter" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:64 +#: src/tables/part/PartCategoryTable.tsx:60 #: src/tables/part/PartTable.tsx:180 msgid "Include Subcategories" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:65 +#: src/tables/part/PartCategoryTable.tsx:61 msgid "Include subcategories in results" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:70 +#: src/tables/part/PartCategoryTable.tsx:66 msgid "Show structural categories" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:77 +#: src/tables/part/PartCategoryTable.tsx:73 msgid "New Part Category" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:106 +#: src/tables/part/PartCategoryTable.tsx:98 msgid "Add Part Category" msgstr "" @@ -5435,20 +5561,20 @@ msgstr "" #~ msgid "[{0}]" #~ msgstr "[{0}]" -#: src/tables/part/PartParameterTable.tsx:112 +#: src/tables/part/PartParameterTable.tsx:105 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:136 -#: src/tables/part/PartParameterTable.tsx:158 +#: src/tables/part/PartParameterTable.tsx:130 +#: src/tables/part/PartParameterTable.tsx:152 msgid "Delete Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:175 +#: src/tables/part/PartParameterTable.tsx:170 msgid "Add parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:196 +#: src/tables/part/PartParameterTable.tsx:191 #: src/tables/stock/StockItemTable.tsx:300 msgid "Include Variants" msgstr "" @@ -5482,15 +5608,15 @@ msgstr "" msgid "Add Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:97 +#: src/tables/part/PartParameterTemplateTable.tsx:100 msgid "Edit Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:105 +#: src/tables/part/PartParameterTemplateTable.tsx:111 msgid "Delete Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:135 +#: src/tables/part/PartParameterTemplateTable.tsx:141 msgid "Add parameter template" msgstr "" @@ -5588,7 +5714,7 @@ msgid "No Results" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:79 -#: src/tables/stock/StockItemTestResultTable.tsx:385 +#: src/tables/stock/StockItemTestResultTable.tsx:376 msgid "Required" msgstr "" @@ -5597,8 +5723,8 @@ msgid "Show required tests" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:84 -#: src/tables/settings/TemplateTable.tsx:213 -#: src/tables/settings/TemplateTable.tsx:275 +#: src/tables/settings/TemplateTable.tsx:160 +#: src/tables/settings/TemplateTable.tsx:270 msgid "Enabled" msgstr "" @@ -5639,26 +5765,30 @@ msgid "Show tests which have recorded results" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:126 -#: src/tables/part/PartTestTemplateTable.tsx:195 +#: src/tables/part/PartTestTemplateTable.tsx:201 msgid "Add Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:139 +#: src/tables/part/PartTestTemplateTable.tsx:142 msgid "Edit Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:147 +#: src/tables/part/PartTestTemplateTable.tsx:153 msgid "Delete Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:149 +#: src/tables/part/PartTestTemplateTable.tsx:155 msgid "This action cannot be reversed" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:151 +#: src/tables/part/PartTestTemplateTable.tsx:157 msgid "Any tests results associated with this template will be deleted" msgstr "" +#: src/tables/part/PartThumbTable.tsx:203 +msgid "Select" +msgstr "" + #: src/tables/part/PartVariantTable.tsx:16 msgid "Show active variants" msgstr "" @@ -5695,252 +5825,273 @@ msgstr "" msgid "Stage" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:113 -msgid "Plugin with id {id} not found" +#: src/tables/plugin/PluginListTable.tsx:95 +msgid "Plugin with key {pluginKey} not found" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:115 +#: src/tables/plugin/PluginListTable.tsx:97 msgid "An error occurred while fetching plugin details" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:134 -msgid "Plugin Actions" -msgstr "" +#: src/tables/plugin/PluginListTable.tsx:113 +#~ msgid "Plugin with id {id} not found" +#~ msgstr "Plugin with id {id} not found" -#: src/tables/plugin/PluginListTable.tsx:138 -#: src/tables/plugin/PluginListTable.tsx:141 -msgid "Edit plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:152 -#: src/tables/plugin/PluginListTable.tsx:153 -msgid "Reload" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:166 +#: src/tables/plugin/PluginListTable.tsx:122 msgid "Plugin information" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:177 +#: src/tables/plugin/PluginListTable.tsx:134 msgid "Author" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:198 +#: src/tables/plugin/PluginListTable.tsx:134 +#~ msgid "Plugin Actions" +#~ msgstr "Plugin Actions" + +#: src/tables/plugin/PluginListTable.tsx:138 +#: src/tables/plugin/PluginListTable.tsx:141 +#~ msgid "Edit plugin" +#~ msgstr "Edit plugin" + +#: src/tables/plugin/PluginListTable.tsx:152 +#: src/tables/plugin/PluginListTable.tsx:153 +#~ msgid "Reload" +#~ msgstr "Reload" + +#: src/tables/plugin/PluginListTable.tsx:154 +msgid "Plugin is not active" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:163 msgid "Package information" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:204 +#: src/tables/plugin/PluginListTable.tsx:169 msgid "Package Name" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:210 +#: src/tables/plugin/PluginListTable.tsx:175 msgid "Installation Path" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:220 +#: src/tables/plugin/PluginListTable.tsx:185 msgid "Package" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:231 +#: src/tables/plugin/PluginListTable.tsx:197 msgid "Plugin settings" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:248 +#: src/tables/plugin/PluginListTable.tsx:214 msgid "Plugin is active" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:254 +#: src/tables/plugin/PluginListTable.tsx:220 msgid "Plugin is inactive" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:261 +#: src/tables/plugin/PluginListTable.tsx:227 msgid "Plugin is not installed" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:287 +#: src/tables/plugin/PluginListTable.tsx:253 msgid "Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:312 +#: src/tables/plugin/PluginListTable.tsx:287 msgid "Description not available" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:338 +#: src/tables/plugin/PluginListTable.tsx:319 +msgid "Confirm plugin activation" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:320 +msgid "Confirm plugin deactivation" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:325 +msgid "The selected plugin will be activated" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:326 +msgid "The selected plugin will be deactivated" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:334 msgid "Activate Plugin" msgstr "" #: src/tables/plugin/PluginListTable.tsx:338 -msgid "Deactivate Plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:347 -msgid "Confirm plugin activation" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:348 -msgid "Confirm plugin deactivation" -msgstr "" +#~ msgid "Deactivate Plugin" +#~ msgstr "Deactivate Plugin" #: src/tables/plugin/PluginListTable.tsx:354 -msgid "The following plugin will be activated" -msgstr "" +#~ msgid "The following plugin will be activated" +#~ msgstr "The following plugin will be activated" #: src/tables/plugin/PluginListTable.tsx:355 -msgid "The following plugin will be deactivated" -msgstr "" +#~ msgid "The following plugin will be deactivated" +#~ msgstr "The following plugin will be deactivated" -#: src/tables/plugin/PluginListTable.tsx:366 -msgid "Confirm" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:376 -msgid "Activating plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:376 -msgid "Deactivating plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:392 -msgid "Plugin updated" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:394 -msgid "The plugin was activated" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:395 -msgid "The plugin was deactivated" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:403 -msgid "Error updating plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:423 +#: src/tables/plugin/PluginListTable.tsx:362 msgid "Deactivate" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:432 +#: src/tables/plugin/PluginListTable.tsx:366 +#~ msgid "Confirm" +#~ msgstr "Confirm" + +#: src/tables/plugin/PluginListTable.tsx:373 msgid "Activate" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:463 +#: src/tables/plugin/PluginListTable.tsx:376 +#~ msgid "Activating plugin" +#~ msgstr "Activating plugin" + +#: src/tables/plugin/PluginListTable.tsx:376 +#~ msgid "Deactivating plugin" +#~ msgstr "Deactivating plugin" + +#: src/tables/plugin/PluginListTable.tsx:392 +#~ msgid "Plugin updated" +#~ msgstr "Plugin updated" + +#: src/tables/plugin/PluginListTable.tsx:394 +#~ msgid "The plugin was activated" +#~ msgstr "The plugin was activated" + +#: src/tables/plugin/PluginListTable.tsx:395 +#~ msgid "The plugin was deactivated" +#~ msgstr "The plugin was deactivated" + +#: src/tables/plugin/PluginListTable.tsx:403 +#~ msgid "Error updating plugin" +#~ msgstr "Error updating plugin" + +#: src/tables/plugin/PluginListTable.tsx:406 msgid "Uninstall" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:495 +#: src/tables/plugin/PluginListTable.tsx:438 msgid "Install plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:508 +#: src/tables/plugin/PluginListTable.tsx:451 msgid "Install" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:512 +#: src/tables/plugin/PluginListTable.tsx:452 msgid "Plugin installed successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:525 +#: src/tables/plugin/PluginListTable.tsx:457 msgid "Uninstall Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:537 +#: src/tables/plugin/PluginListTable.tsx:469 msgid "Confirm plugin uninstall" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:540 +#: src/tables/plugin/PluginListTable.tsx:472 msgid "The selected plugin will be uninstalled." msgstr "" -#: src/tables/plugin/PluginListTable.tsx:541 +#: src/tables/plugin/PluginListTable.tsx:473 msgid "This action cannot be undone." msgstr "" -#: src/tables/plugin/PluginListTable.tsx:547 +#: src/tables/plugin/PluginListTable.tsx:477 msgid "Plugin uninstalled successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:560 +#: src/tables/plugin/PluginListTable.tsx:484 msgid "Delete Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:562 +#: src/tables/plugin/PluginListTable.tsx:485 msgid "Deleting this plugin configuration will remove all associated settings and data. Are you sure you want to delete this plugin?" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:574 +#: src/tables/plugin/PluginListTable.tsx:498 msgid "Plugins reloaded" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:575 +#: src/tables/plugin/PluginListTable.tsx:499 msgid "Plugins were reloaded successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:591 +#: src/tables/plugin/PluginListTable.tsx:515 msgid "Reload Plugins" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:600 +#: src/tables/plugin/PluginListTable.tsx:524 msgid "Install Plugin" msgstr "" +#: src/tables/plugin/PluginListTable.tsx:544 +msgid "Plugin Detail" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:573 +msgid "Sample" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:578 +#: src/tables/stock/StockItemTable.tsx:305 +msgid "Installed" +msgstr "" + #: src/tables/plugin/PluginListTable.tsx:615 #~ msgid "Plugin detail" #~ msgstr "Plugin detail" -#: src/tables/plugin/PluginListTable.tsx:619 -msgid "Plugin Detail" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:648 -msgid "Sample" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:653 -#: src/tables/stock/StockItemTable.tsx:305 -msgid "Installed" -msgstr "" - -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:57 -msgid "Edit Parameter" +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:59 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:108 +msgid "Add Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:60 -msgid "Parameter updated" -msgstr "" +#~ msgid "Parameter updated" +#~ msgstr "Parameter updated" -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:71 -msgid "Delete Parameter" +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:70 +msgid "Edit Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:73 -msgid "Parameter deleted" -msgstr "" +#~ msgid "Parameter deleted" +#~ msgstr "Parameter deleted" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:74 -msgid "Are you sure you want to delete this parameter?" +#~ msgid "Are you sure you want to delete this parameter?" +#~ msgstr "Are you sure you want to delete this parameter?" + +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:78 +msgid "Delete Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartTable.tsx:63 #~ msgid "Create Manufacturer Part" #~ msgstr "Create Manufacturer Part" -#: src/tables/purchasing/ManufacturerPartTable.tsx:100 -msgid "Manufacturer part updated" -msgstr "" - -#: src/tables/purchasing/ManufacturerPartTable.tsx:111 +#: src/tables/purchasing/ManufacturerPartTable.tsx:92 msgid "Delete Manufacturer Part" msgstr "" +#: src/tables/purchasing/ManufacturerPartTable.tsx:100 +#~ msgid "Manufacturer part updated" +#~ msgstr "Manufacturer part updated" + #: src/tables/purchasing/ManufacturerPartTable.tsx:112 -msgid "Manufacturer part deleted" -msgstr "" +#~ msgid "Manufacturer part deleted" +#~ msgstr "Manufacturer part deleted" #: src/tables/purchasing/ManufacturerPartTable.tsx:114 -msgid "Are you sure you want to remove this manufacturer part?" -msgstr "" +#~ msgid "Are you sure you want to remove this manufacturer part?" +#~ msgstr "Are you sure you want to remove this manufacturer part?" #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:86 msgid "Part Description" @@ -6087,18 +6238,22 @@ msgid "Error Information" msgstr "" #: src/tables/settings/ErrorTable.tsx:51 -msgid "Delete error report" +msgid "Delete Error Report" msgstr "" +#: src/tables/settings/ErrorTable.tsx:51 +#~ msgid "Delete error report" +#~ msgstr "Delete error report" + #: src/tables/settings/ErrorTable.tsx:53 -msgid "Error report deleted" -msgstr "" - -#: src/tables/settings/ErrorTable.tsx:54 msgid "Are you sure you want to delete this error report?" msgstr "" -#: src/tables/settings/ErrorTable.tsx:67 +#: src/tables/settings/ErrorTable.tsx:55 +msgid "Error report deleted" +msgstr "" + +#: src/tables/settings/ErrorTable.tsx:77 #: src/tables/settings/FailedTasksTable.tsx:57 msgid "Error Details" msgstr "" @@ -6115,7 +6270,7 @@ msgid "Task ID" msgstr "" #: src/tables/settings/FailedTasksTable.tsx:34 -#: src/tables/stock/StockItemTestResultTable.tsx:214 +#: src/tables/stock/StockItemTestResultTable.tsx:205 msgid "Started" msgstr "" @@ -6188,30 +6343,71 @@ msgstr "" msgid "Next Run" msgstr "" -#: src/tables/settings/TemplateTable.tsx:120 -msgid "{templateTypeTranslation} with id {id} not found" +#: src/tables/settings/TemplateTable.tsx:82 +msgid "Template not found" msgstr "" +#: src/tables/settings/TemplateTable.tsx:84 +msgid "An error occurred while fetching template details" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:120 +#~ msgid "{templateTypeTranslation} with id {id} not found" +#~ msgstr "{templateTypeTranslation} with id {id} not found" + #: src/tables/settings/TemplateTable.tsx:124 -msgid "An error occurred while fetching {templateTypeTranslation} details" -msgstr "" +#~ msgid "An error occurred while fetching {templateTypeTranslation} details" +#~ msgstr "An error occurred while fetching {templateTypeTranslation} details" #: src/tables/settings/TemplateTable.tsx:146 -msgid "actions" +#~ msgid "actions" +#~ msgstr "actions" + +#: src/tables/settings/TemplateTable.tsx:170 +msgid "Modify" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:171 +msgid "Modify template file" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:222 +#: src/tables/settings/TemplateTable.tsx:289 +msgid "Edit Template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:230 +msgid "Delete template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:236 +msgid "Add Template" msgstr "" #: src/tables/settings/TemplateTable.tsx:243 -msgid "Add new" -msgstr "" +#~ msgid "Add new" +#~ msgstr "Add new" #: src/tables/settings/TemplateTable.tsx:243 #~ msgid "Create new" #~ msgstr "Create new" -#: src/tables/settings/TemplateTable.tsx:276 +#: src/tables/settings/TemplateTable.tsx:249 +msgid "Add template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:271 msgid "Filter by enabled status" msgstr "" +#: src/tables/settings/TemplateTable.tsx:276 +msgid "Model Type" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:277 +msgid "Filter by target model type" +msgstr "" + #: src/tables/settings/UserTable.tsx:79 msgid "User with id {id} not found" msgstr "" @@ -6277,6 +6473,23 @@ msgstr "" msgid "Edit user" msgstr "" +#: src/tables/stock/LocationTypesTable.tsx:36 +#: src/tables/stock/LocationTypesTable.tsx:105 +msgid "Add Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:44 +msgid "Edit Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:52 +msgid "Delete Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:69 +msgid "Icon" +msgstr "" + #: src/tables/stock/StockItemTable.tsx:90 msgid "This stock item is in production" msgstr "" @@ -6338,7 +6551,7 @@ msgid "Show items which are available" msgstr "" #: src/tables/stock/StockItemTable.tsx:280 -#: src/tables/stock/StockLocationTable.tsx:37 +#: src/tables/stock/StockLocationTable.tsx:33 msgid "Include Sublocations" msgstr "" @@ -6467,123 +6680,135 @@ msgstr "" msgid "Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:153 +#: src/tables/stock/StockItemTestResultTable.tsx:151 msgid "Test result for installed stock item" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:164 +#: src/tables/stock/StockItemTestResultTable.tsx:162 msgid "Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:170 +#: src/tables/stock/StockItemTestResultTable.tsx:168 msgid "No Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:186 +#: src/tables/stock/StockItemTestResultTable.tsx:184 msgid "Attachment" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:209 +#: src/tables/stock/StockItemTestResultTable.tsx:200 msgid "Test station" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:229 +#: src/tables/stock/StockItemTestResultTable.tsx:220 msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:277 -#: src/tables/stock/StockItemTestResultTable.tsx:349 -#: src/tables/stock/StockItemTestResultTable.tsx:404 +#: src/tables/stock/StockItemTestResultTable.tsx:268 +#: src/tables/stock/StockItemTestResultTable.tsx:340 +#: src/tables/stock/StockItemTestResultTable.tsx:395 msgid "Add Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:279 +#: src/tables/stock/StockItemTestResultTable.tsx:270 msgid "Test result added" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:288 -#: src/tables/stock/StockItemTestResultTable.tsx:359 +#: src/tables/stock/StockItemTestResultTable.tsx:279 +#: src/tables/stock/StockItemTestResultTable.tsx:350 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:290 +#: src/tables/stock/StockItemTestResultTable.tsx:281 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:296 -#: src/tables/stock/StockItemTestResultTable.tsx:368 +#: src/tables/stock/StockItemTestResultTable.tsx:287 +#: src/tables/stock/StockItemTestResultTable.tsx:359 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:298 +#: src/tables/stock/StockItemTestResultTable.tsx:289 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:312 +#: src/tables/stock/StockItemTestResultTable.tsx:303 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:313 +#: src/tables/stock/StockItemTestResultTable.tsx:304 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:320 +#: src/tables/stock/StockItemTestResultTable.tsx:311 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:337 +#: src/tables/stock/StockItemTestResultTable.tsx:328 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:386 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:390 +#: src/tables/stock/StockItemTestResultTable.tsx:381 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:391 +#: src/tables/stock/StockItemTestResultTable.tsx:382 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:395 +#: src/tables/stock/StockItemTestResultTable.tsx:386 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:396 +#: src/tables/stock/StockItemTestResultTable.tsx:387 msgid "Show only passed tests" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:38 +#: src/tables/stock/StockLocationTable.tsx:34 msgid "Include sublocations in results" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:42 +#: src/tables/stock/StockLocationTable.tsx:38 msgid "structural" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:43 +#: src/tables/stock/StockLocationTable.tsx:39 msgid "Show structural locations" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:47 +#: src/tables/stock/StockLocationTable.tsx:43 msgid "external" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:48 +#: src/tables/stock/StockLocationTable.tsx:44 msgid "Show external locations" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:52 +#: src/tables/stock/StockLocationTable.tsx:48 msgid "Has location type" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:89 -#: src/tables/stock/StockLocationTable.tsx:118 +#: src/tables/stock/StockLocationTable.tsx:85 +#: src/tables/stock/StockLocationTable.tsx:110 msgid "Add Stock Location" msgstr "" +#: src/tables/stock/StockTrackingTable.tsx:64 +msgid "Added" +msgstr "" + +#: src/tables/stock/StockTrackingTable.tsx:69 +msgid "Removed" +msgstr "" + +#: src/tables/stock/StockTrackingTable.tsx:198 +msgid "No user information" +msgstr "" + #: src/views/MobileAppView.tsx:22 msgid "Mobile viewport detected" msgstr "" diff --git a/src/frontend/src/locales/he/messages.po b/src/frontend/src/locales/he/messages.po index 60cb57e86d..abcf7e9f8e 100644 --- a/src/frontend/src/locales/he/messages.po +++ b/src/frontend/src/locales/he/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: he\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-05-13 02:48\n" +"PO-Revision-Date: 2024-05-23 11:38\n" "Last-Translator: \n" "Language-Team: Hebrew\n" "Plural-Forms: nplurals=4; plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3;\n" @@ -30,10 +30,67 @@ msgstr "" msgid "Title" msgstr "" +#: src/components/buttons/AdminButton.tsx:83 +msgid "Open in admin interface" +msgstr "" + #: src/components/buttons/CopyButton.tsx:18 msgid "Copy to clipboard" msgstr "" +#: src/components/buttons/PrintingActions.tsx:95 +msgid "Print Label" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:101 +msgid "Label printing completed successfully" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:106 +#: src/components/buttons/PrintingActions.tsx:143 +#: src/components/forms/ApiForm.tsx:504 +#: src/components/forms/fields/ApiFormField.tsx:295 +#: src/components/modals/LicenseModal.tsx:75 +#: src/components/nav/SearchDrawer.tsx:413 +#: src/components/widgets/MarkdownEditor.tsx:107 +#: src/components/widgets/MarkdownEditor.tsx:153 +#: src/pages/ErrorPage.tsx:12 +#: src/pages/ErrorPage.tsx:25 +#: src/pages/part/PartPricingPanel.tsx:71 +#: src/tables/InvenTreeTable.tsx:451 +#: src/tables/InvenTreeTable.tsx:531 +#: src/tables/stock/StockItemTestResultTable.tsx:310 +msgid "Error" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:107 +msgid "The label could not be generated" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:122 +msgid "Print Report" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:138 +msgid "Report printing completed successfully" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:144 +msgid "The report could not be generated" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:171 +msgid "Printing Actions" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:176 +msgid "Print Labels" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:182 +msgid "Print Reports" +msgstr "" + #: src/components/buttons/ScanButton.tsx:15 msgid "Scan QR code" msgstr "" @@ -64,15 +121,15 @@ msgstr "" msgid "No" msgstr "" -#: src/components/details/Details.tsx:302 +#: src/components/details/Details.tsx:303 msgid "No name defined" msgstr "" -#: src/components/details/Details.tsx:339 +#: src/components/details/Details.tsx:340 msgid "Copied" msgstr "" -#: src/components/details/Details.tsx:339 +#: src/components/details/Details.tsx:340 msgid "Copy" msgstr "" @@ -85,24 +142,23 @@ msgid "Remove the associated image from this item?" msgstr "" #: src/components/details/DetailsImage.tsx:71 -#: src/forms/StockForms.tsx:442 +#: src/forms/StockForms.tsx:483 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:448 +#: src/pages/stock/StockDetail.tsx:462 msgid "Remove" msgstr "" #: src/components/details/DetailsImage.tsx:71 -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:163 -#: src/components/items/ActionDropdown.tsx:222 -#: src/components/items/ActionDropdown.tsx:223 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 +#: src/components/items/ActionDropdown.tsx:229 +#: src/components/items/ActionDropdown.tsx:230 #: src/contexts/ThemeContext.tsx:43 #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:40 -#: src/tables/FilterSelectDrawer.tsx:218 -#: src/tables/InvenTreeTable.tsx:493 -#: src/tables/build/BuildOutputTable.tsx:223 -#: src/tables/plugin/PluginListTable.tsx:365 +#: src/tables/FilterSelectDrawer.tsx:207 +#: src/tables/InvenTreeTable.tsx:499 +#: src/tables/build/BuildOutputTable.tsx:225 msgid "Cancel" msgstr "" @@ -119,7 +175,7 @@ msgid "Clear" msgstr "" #: src/components/details/DetailsImage.tsx:227 -#: src/components/forms/ApiForm.tsx:554 +#: src/components/forms/ApiForm.tsx:571 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:56 msgid "Submit" @@ -150,9 +206,10 @@ msgid "Part is not active" msgstr "" #: src/components/details/PartIcons.tsx:34 -#: src/pages/company/CompanyDetail.tsx:308 -#: src/pages/company/SupplierPartDetail.tsx:304 -#: src/pages/part/PartDetail.tsx:684 +#: src/components/render/Plugin.tsx:17 +#: src/pages/company/CompanyDetail.tsx:310 +#: src/pages/company/SupplierPartDetail.tsx:305 +#: src/pages/part/PartDetail.tsx:685 msgid "Inactive" msgstr "" @@ -196,10 +253,10 @@ msgid "Code" msgstr "" #: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:44 -msgid "Failed to parse error response from server." -msgstr "" +#~ msgid "Failed to parse error response from server." +#~ msgstr "Failed to parse error response from server." -#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:82 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:81 msgid "Preview not available, click \"Reload Preview\"." msgstr "" @@ -207,98 +264,99 @@ msgstr "" msgid "PDF Preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:113 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:104 msgid "Error loading template" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:125 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:116 msgid "Error saving template" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 -msgid "Save & Reload preview?" +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:146 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:270 +msgid "Save & Reload Preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:156 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 msgid "Are you sure you want to Save & Reload the preview?" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 +#~ msgid "Save & Reload preview?" +#~ msgstr "Save & Reload preview?" + +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:153 msgid "To render the preview the current template needs to be replaced on the server with your modifications which may break the label if it is under active use. Do you want to proceed?" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:162 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:157 msgid "Save & Reload" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:191 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:189 msgid "Preview updated" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:192 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:190 msgid "The preview has been updated successfully." msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:255 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:262 msgid "Reload preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:256 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:263 msgid "Use the currently stored template from the server" msgstr "" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:263 -msgid "Save & Reload preview" -msgstr "" +#~ msgid "Save & Reload preview" +#~ msgstr "Save & Reload preview" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:264 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:271 msgid "Save the current template and reload the preview" msgstr "" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:322 -#: src/tables/part/PartThumbTable.tsx:203 -msgid "Select" +#~ msgid "to preview" +#~ msgstr "to preview" + +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:329 +msgid "Select instance to preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:322 -msgid "to preview" -msgstr "" - -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:366 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:373 msgid "Error rendering template" msgstr "" -#: src/components/forms/ApiForm.tsx:143 +#: src/components/forms/ApiForm.tsx:148 #: src/functions/forms.tsx:259 msgid "Form Error" msgstr "" -#: src/components/forms/ApiForm.tsx:411 +#: src/components/forms/ApiForm.tsx:428 #: src/components/widgets/MarkdownEditor.tsx:145 msgid "Success" msgstr "" #: src/components/forms/ApiForm.tsx:487 -msgid "Form Errors Exist" -msgstr "" +#~ msgid "Form Errors Exist" +#~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:592 -#: src/tables/plugin/PluginListTable.tsx:445 +#: src/components/forms/ApiForm.tsx:609 +#: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "" -#: src/components/forms/ApiForm.tsx:612 -#: src/components/items/ActionDropdown.tsx:203 +#: src/components/forms/ApiForm.tsx:629 +#: src/components/items/ActionDropdown.tsx:210 #: src/functions/forms.tsx:299 #: src/hooks/UseForm.tsx:122 #: src/pages/Index/Scan.tsx:343 #: src/pages/Notifications.tsx:123 -#: src/tables/InvenTreeTable.tsx:492 +#: src/tables/InvenTreeTable.tsx:498 #: src/tables/RowActions.tsx:71 -#: src/tables/plugin/PluginListTable.tsx:477 -#: src/tables/settings/TemplateTable.tsx:105 -#: src/tables/settings/TemplateTable.tsx:154 -#: src/tables/settings/TemplateTable.tsx:236 +#: src/tables/plugin/PluginListTable.tsx:420 msgid "Delete" msgstr "" @@ -468,18 +526,19 @@ msgstr "" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 -#: src/pages/part/CategoryDetail.tsx:77 -#: src/pages/part/PartDetail.tsx:125 -#: src/pages/stock/LocationDetail.tsx:83 +#: src/pages/part/CategoryDetail.tsx:78 +#: src/pages/part/PartDetail.tsx:126 +#: src/pages/stock/LocationDetail.tsx:85 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 #: src/tables/machine/MachineTypeTable.tsx:216 #: src/tables/machine/MachineTypeTable.tsx:319 #: src/tables/plugin/PluginErrorTable.tsx:33 -#: src/tables/plugin/PluginListTable.tsx:169 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:27 +#: src/tables/plugin/PluginListTable.tsx:126 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:32 #: src/tables/settings/GroupTable.tsx:103 #: src/tables/settings/PendingTasksTable.tsx:26 +#: src/tables/stock/LocationTypesTable.tsx:60 msgid "Name" msgstr "" @@ -520,35 +579,20 @@ msgstr "" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/ApiFormField.tsx:276 -#: src/components/modals/LicenseModal.tsx:75 -#: src/components/nav/SearchDrawer.tsx:413 -#: src/components/widgets/MarkdownEditor.tsx:107 -#: src/components/widgets/MarkdownEditor.tsx:153 -#: src/pages/ErrorPage.tsx:12 -#: src/pages/ErrorPage.tsx:25 -#: src/pages/part/PartPricingPanel.tsx:71 -#: src/tables/InvenTreeTable.tsx:445 -#: src/tables/InvenTreeTable.tsx:525 -#: src/tables/plugin/PluginListTable.tsx:402 -#: src/tables/stock/StockItemTestResultTable.tsx:319 -msgid "Error" -msgstr "" - -#: src/components/forms/fields/RelatedModelField.tsx:305 +#: src/components/forms/fields/RelatedModelField.tsx:315 #: src/pages/Index/Settings/UserSettings.tsx:64 #: src/tables/Search.tsx:23 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:306 +#: src/components/forms/fields/RelatedModelField.tsx:316 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:120 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:308 +#: src/components/forms/fields/RelatedModelField.tsx:318 msgid "No results found" msgstr "" @@ -569,54 +613,51 @@ msgstr "" msgid "Thumbnail" msgstr "" -#: src/components/items/ActionDropdown.tsx:112 -#: src/pages/build/BuildDetail.tsx:354 +#: src/components/items/ActionDropdown.tsx:119 +#: src/pages/build/BuildDetail.tsx:360 msgid "Barcode Actions" msgstr "" -#: src/components/items/ActionDropdown.tsx:129 +#: src/components/items/ActionDropdown.tsx:136 msgid "View" msgstr "" -#: src/components/items/ActionDropdown.tsx:130 +#: src/components/items/ActionDropdown.tsx:137 msgid "View barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:146 +#: src/components/items/ActionDropdown.tsx:153 msgid "Link Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:147 +#: src/components/items/ActionDropdown.tsx:154 msgid "Link custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:163 -#: src/forms/PurchaseOrderForms.tsx:375 +#: src/components/items/ActionDropdown.tsx:170 +#: src/forms/PurchaseOrderForms.tsx:389 msgid "Unlink Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:164 +#: src/components/items/ActionDropdown.tsx:171 msgid "Unlink custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:182 +#: src/components/items/ActionDropdown.tsx:189 #: src/tables/RowActions.tsx:51 -#: src/tables/settings/TemplateTable.tsx:87 -#: src/tables/settings/TemplateTable.tsx:150 -#: src/tables/settings/TemplateTable.tsx:287 msgid "Edit" msgstr "" -#: src/components/items/ActionDropdown.tsx:204 +#: src/components/items/ActionDropdown.tsx:211 msgid "Delete item" msgstr "" -#: src/components/items/ActionDropdown.tsx:241 +#: src/components/items/ActionDropdown.tsx:248 #: src/tables/RowActions.tsx:31 msgid "Duplicate" msgstr "" -#: src/components/items/ActionDropdown.tsx:242 +#: src/components/items/ActionDropdown.tsx:249 msgid "Duplicate item" msgstr "" @@ -625,7 +666,7 @@ msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:437 +#: src/tables/InvenTreeTable.tsx:443 msgid "Unknown error" msgstr "" @@ -785,27 +826,27 @@ msgstr "" #: src/components/modals/QrCodeModal.tsx:154 #: src/defaults/menuItems.tsx:21 -#: src/pages/Index/Scan.tsx:747 +#: src/pages/Index/Scan.tsx:746 msgid "Scanning" msgstr "" #: src/components/modals/QrCodeModal.tsx:154 -#: src/pages/Index/Scan.tsx:747 +#: src/pages/Index/Scan.tsx:746 msgid "Not scanning" msgstr "" #: src/components/modals/QrCodeModal.tsx:159 -#: src/pages/Index/Scan.tsx:753 +#: src/pages/Index/Scan.tsx:752 msgid "Select Camera" msgstr "" #: src/components/modals/QrCodeModal.tsx:169 -#: src/pages/Index/Scan.tsx:738 +#: src/pages/Index/Scan.tsx:737 msgid "Start scanning" msgstr "" #: src/components/modals/QrCodeModal.tsx:176 -#: src/pages/Index/Scan.tsx:730 +#: src/pages/Index/Scan.tsx:729 msgid "Stop scanning" msgstr "" @@ -891,8 +932,8 @@ msgid "Email settings not configured" msgstr "" #: src/components/modals/ServerInfoModal.tsx:121 -#: src/tables/plugin/PluginListTable.tsx:187 -#: src/tables/plugin/PluginListTable.tsx:319 +#: src/tables/plugin/PluginListTable.tsx:144 +#: src/tables/plugin/PluginListTable.tsx:294 msgid "Version" msgstr "" @@ -926,13 +967,13 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:293 +#: src/pages/Index/Settings/SystemSettings.tsx:294 msgid "System Settings" msgstr "" #: src/components/nav/MainMenu.tsx:67 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:172 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 msgid "Admin Center" msgstr "" @@ -975,7 +1016,7 @@ msgid "Pages" msgstr "" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:133 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:153 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "" @@ -1013,9 +1054,9 @@ msgid "Mark as read" msgstr "" #: src/components/nav/PartCategoryTree.tsx:158 -#: src/components/render/ModelType.tsx:60 +#: src/components/render/ModelType.tsx:64 #: src/pages/Index/Settings/SystemSettings.tsx:162 -#: src/pages/part/CategoryDetail.tsx:248 +#: src/pages/part/CategoryDetail.tsx:249 msgid "Part Categories" msgstr "" @@ -1052,142 +1093,147 @@ msgid "No results available for search query" msgstr "" #: src/components/nav/StockLocationTree.tsx:93 -#: src/components/render/ModelType.tsx:76 -#: src/pages/stock/LocationDetail.tsx:175 +#: src/components/render/ModelType.tsx:82 +#: src/pages/stock/LocationDetail.tsx:185 msgid "Stock Locations" msgstr "" -#: src/components/render/Instance.tsx:137 +#: src/components/render/Instance.tsx:166 msgid "Unknown model: {model}" msgstr "" -#: src/components/render/ModelType.tsx:21 -#: src/forms/BuildForms.tsx:184 -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49 +#: src/components/render/ModelType.tsx:22 +#: src/forms/BuildForms.tsx:201 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:83 #: src/pages/part/PartDetail.tsx:828 #: src/tables/part/RelatedPartTable.tsx:45 +#: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" msgstr "" -#: src/components/render/ModelType.tsx:22 +#: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 #: src/pages/Index/Settings/SystemSettings.tsx:167 -#: src/pages/part/CategoryDetail.tsx:109 -#: src/pages/part/CategoryDetail.tsx:234 -#: src/pages/part/CategoryDetail.tsx:264 -#: src/pages/part/PartDetail.tsx:638 +#: src/pages/part/CategoryDetail.tsx:110 +#: src/pages/part/CategoryDetail.tsx:235 +#: src/pages/part/CategoryDetail.tsx:265 +#: src/pages/part/PartDetail.tsx:639 msgid "Parts" msgstr "" -#: src/components/render/ModelType.tsx:29 +#: src/components/render/ModelType.tsx:31 msgid "Part Parameter Template" msgstr "" -#: src/components/render/ModelType.tsx:30 +#: src/components/render/ModelType.tsx:32 msgid "Part Parameter Templates" msgstr "" -#: src/components/render/ModelType.tsx:36 +#: src/components/render/ModelType.tsx:38 msgid "Part Test Template" msgstr "" -#: src/components/render/ModelType.tsx:37 +#: src/components/render/ModelType.tsx:39 msgid "Part Test Templates" msgstr "" -#: src/components/render/ModelType.tsx:43 -#: src/pages/company/SupplierPartDetail.tsx:189 -#: src/pages/company/SupplierPartDetail.tsx:317 -#: src/pages/stock/StockDetail.tsx:159 +#: src/components/render/ModelType.tsx:45 +#: src/pages/company/SupplierPartDetail.tsx:190 +#: src/pages/company/SupplierPartDetail.tsx:318 +#: src/pages/stock/StockDetail.tsx:162 #: src/tables/purchasing/SupplierPartTable.tsx:68 msgid "Supplier Part" msgstr "" -#: src/components/render/ModelType.tsx:44 +#: src/components/render/ModelType.tsx:46 msgid "Supplier Parts" msgstr "" -#: src/components/render/ModelType.tsx:51 -#: src/pages/company/ManufacturerPartDetail.tsx:124 +#: src/components/render/ModelType.tsx:54 +#: src/pages/company/ManufacturerPartDetail.tsx:125 msgid "Manufacturer Part" msgstr "" -#: src/components/render/ModelType.tsx:52 +#: src/components/render/ModelType.tsx:55 msgid "Manufacturer Parts" msgstr "" -#: src/components/render/ModelType.tsx:59 -#: src/pages/part/CategoryDetail.tsx:287 +#: src/components/render/ModelType.tsx:63 +#: src/pages/part/CategoryDetail.tsx:288 msgid "Part Category" msgstr "" -#: src/components/render/ModelType.tsx:67 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67 -#: src/pages/stock/StockDetail.tsx:535 +#: src/components/render/ModelType.tsx:72 +#: src/pages/stock/StockDetail.tsx:548 +#: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" msgstr "" -#: src/components/render/ModelType.tsx:68 -#: src/pages/company/CompanyDetail.tsx:197 -#: src/pages/stock/LocationDetail.tsx:116 -#: src/pages/stock/LocationDetail.tsx:161 +#: src/components/render/ModelType.tsx:73 +#: src/pages/company/CompanyDetail.tsx:199 +#: src/pages/stock/LocationDetail.tsx:118 +#: src/pages/stock/LocationDetail.tsx:171 #: src/pages/stock/LocationDetail.tsx:365 msgid "Stock Items" msgstr "" -#: src/components/render/ModelType.tsx:75 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:154 +#: src/components/render/ModelType.tsx:81 msgid "Stock Location" msgstr "" -#: src/components/render/ModelType.tsx:83 +#: src/components/render/ModelType.tsx:90 +msgid "Stock Location Type" +msgstr "" + +#: src/components/render/ModelType.tsx:91 +msgid "Stock Location Types" +msgstr "" + +#: src/components/render/ModelType.tsx:95 msgid "Stock History" msgstr "" -#: src/components/render/ModelType.tsx:84 +#: src/components/render/ModelType.tsx:96 msgid "Stock Histories" msgstr "" -#: src/components/render/ModelType.tsx:88 +#: src/components/render/ModelType.tsx:100 #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:43 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:126 msgid "Build" msgstr "" -#: src/components/render/ModelType.tsx:89 +#: src/components/render/ModelType.tsx:101 msgid "Builds" msgstr "" -#: src/components/render/ModelType.tsx:96 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:76 +#: src/components/render/ModelType.tsx:109 msgid "Build Line" msgstr "" -#: src/components/render/ModelType.tsx:97 +#: src/components/render/ModelType.tsx:110 msgid "Build Lines" msgstr "" -#: src/components/render/ModelType.tsx:104 -#: src/pages/company/CompanyDetail.tsx:321 +#: src/components/render/ModelType.tsx:117 +#: src/pages/company/CompanyDetail.tsx:323 msgid "Company" msgstr "" -#: src/components/render/ModelType.tsx:105 +#: src/components/render/ModelType.tsx:118 msgid "Companies" msgstr "" -#: src/components/render/ModelType.tsx:112 +#: src/components/render/ModelType.tsx:126 #: src/tables/TableHoverCard.tsx:58 #: src/tables/build/BuildOrderTable.tsx:131 #: src/tables/purchasing/PurchaseOrderTable.tsx:64 @@ -1196,170 +1242,199 @@ msgstr "" msgid "Project Code" msgstr "" -#: src/components/render/ModelType.tsx:113 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:97 +#: src/components/render/ModelType.tsx:127 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:105 msgid "Project Codes" msgstr "" -#: src/components/render/ModelType.tsx:119 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99 +#: src/components/render/ModelType.tsx:133 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:355 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:362 +#: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" msgstr "" -#: src/components/render/ModelType.tsx:120 -#: src/pages/Index/Settings/SystemSettings.tsx:242 -#: src/pages/company/CompanyDetail.tsx:190 -#: src/pages/company/SupplierPartDetail.tsx:223 -#: src/pages/part/PartDetail.tsx:571 +#: src/components/render/ModelType.tsx:134 +#: src/pages/Index/Settings/SystemSettings.tsx:243 +#: src/pages/company/CompanyDetail.tsx:192 +#: src/pages/company/SupplierPartDetail.tsx:224 +#: src/pages/part/PartDetail.tsx:572 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" -#: src/components/render/ModelType.tsx:127 +#: src/components/render/ModelType.tsx:142 msgid "Purchase Order Line" msgstr "" -#: src/components/render/ModelType.tsx:128 +#: src/components/render/ModelType.tsx:143 msgid "Purchase Order Lines" msgstr "" -#: src/components/render/ModelType.tsx:132 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:108 +#: src/components/render/ModelType.tsx:147 #: src/pages/build/BuildDetail.tsx:131 -#: src/pages/sales/SalesOrderDetail.tsx:340 -#: src/pages/stock/StockDetail.tsx:207 +#: src/pages/sales/SalesOrderDetail.tsx:347 +#: src/pages/stock/StockDetail.tsx:210 +#: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" msgstr "" -#: src/components/render/ModelType.tsx:133 -#: src/pages/Index/Settings/SystemSettings.tsx:257 -#: src/pages/company/CompanyDetail.tsx:210 -#: src/pages/part/PartDetail.tsx:577 +#: src/components/render/ModelType.tsx:148 +#: src/pages/Index/Settings/SystemSettings.tsx:258 +#: src/pages/company/CompanyDetail.tsx:212 +#: src/pages/part/PartDetail.tsx:578 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" -#: src/components/render/ModelType.tsx:140 +#: src/components/render/ModelType.tsx:156 msgid "Sales Order Shipment" msgstr "" -#: src/components/render/ModelType.tsx:141 +#: src/components/render/ModelType.tsx:157 msgid "Sales Order Shipments" msgstr "" -#: src/components/render/ModelType.tsx:147 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:117 -#: src/pages/sales/ReturnOrderDetail.tsx:318 +#: src/components/render/ModelType.tsx:163 +#: src/pages/sales/ReturnOrderDetail.tsx:325 +#: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "" -#: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:272 -#: src/pages/company/CompanyDetail.tsx:217 +#: src/components/render/ModelType.tsx:164 +#: src/pages/Index/Settings/SystemSettings.tsx:273 +#: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" msgstr "" -#: src/components/render/ModelType.tsx:155 +#: src/components/render/ModelType.tsx:172 #: src/tables/company/AddressTable.tsx:47 msgid "Address" msgstr "" -#: src/components/render/ModelType.tsx:156 -#: src/pages/company/CompanyDetail.tsx:247 +#: src/components/render/ModelType.tsx:173 +#: src/pages/company/CompanyDetail.tsx:249 msgid "Addresses" msgstr "" -#: src/components/render/ModelType.tsx:162 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:189 -#: src/pages/sales/ReturnOrderDetail.tsx:157 -#: src/pages/sales/SalesOrderDetail.tsx:161 +#: src/components/render/ModelType.tsx:179 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:191 +#: src/pages/sales/ReturnOrderDetail.tsx:159 +#: src/pages/sales/SalesOrderDetail.tsx:163 msgid "Contact" msgstr "" -#: src/components/render/ModelType.tsx:163 -#: src/pages/company/CompanyDetail.tsx:241 +#: src/components/render/ModelType.tsx:180 +#: src/pages/company/CompanyDetail.tsx:243 msgid "Contacts" msgstr "" -#: src/components/render/ModelType.tsx:169 +#: src/components/render/ModelType.tsx:186 msgid "Owner" msgstr "" -#: src/components/render/ModelType.tsx:170 +#: src/components/render/ModelType.tsx:187 msgid "Owners" msgstr "" -#: src/components/render/ModelType.tsx:176 +#: src/components/render/ModelType.tsx:193 +#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "" -#: src/components/render/ModelType.tsx:177 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:73 +#: src/components/render/ModelType.tsx:194 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:81 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "" -#: src/components/render/Order.tsx:87 +#: src/components/render/ModelType.tsx:200 +msgid "Label Template" +msgstr "" + +#: src/components/render/ModelType.tsx:201 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:135 +msgid "Label Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:207 +msgid "Report Template" +msgstr "" + +#: src/components/render/ModelType.tsx:208 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:141 +msgid "Report Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:214 +msgid "Plugin Configuration" +msgstr "" + +#: src/components/render/ModelType.tsx:215 +msgid "Plugin Configurations" +msgstr "" + +#: src/components/render/Order.tsx:104 msgid "Shipment" msgstr "" -#: src/components/render/Part.tsx:12 +#: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:198 -#: src/pages/part/PartDetail.tsx:491 +#: src/pages/Index/Settings/SystemSettings.tsx:199 +#: src/pages/part/PartDetail.tsx:492 #: src/pages/stock/LocationDetail.tsx:344 -#: src/pages/stock/StockDetail.tsx:344 +#: src/pages/stock/StockDetail.tsx:352 #: src/tables/stock/StockItemTable.tsx:57 msgid "Stock" msgstr "" -#: src/components/render/Stock.tsx:26 -#: src/pages/stock/StockDetail.tsx:142 -#: src/pages/stock/StockDetail.tsx:501 +#: src/components/render/Stock.tsx:52 +#: src/pages/stock/StockDetail.tsx:145 +#: src/pages/stock/StockDetail.tsx:514 msgid "Serial Number" msgstr "" -#: src/components/render/Stock.tsx:28 -#: src/forms/BuildForms.tsx:189 +#: src/components/render/Stock.tsx:54 +#: src/forms/BuildForms.tsx:206 #: src/pages/part/pricing/BomPricingPanel.tsx:144 -#: src/pages/part/pricing/PriceBreakPanel.tsx:96 -#: src/pages/stock/StockDetail.tsx:137 -#: src/pages/stock/StockDetail.tsx:507 +#: src/pages/part/pricing/PriceBreakPanel.tsx:94 +#: src/pages/stock/StockDetail.tsx:140 +#: src/pages/stock/StockDetail.tsx:520 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:73 +#: src/tables/stock/StockTrackingTable.tsx:59 msgid "Quantity" msgstr "" -#: src/components/settings/SettingItem.tsx:46 -#: src/components/settings/SettingItem.tsx:99 -msgid "Setting updated" -msgstr "" - #: src/components/settings/SettingItem.tsx:47 #: src/components/settings/SettingItem.tsx:100 -msgid "{0} updated successfully" -msgstr "" +#~ msgid "{0} updated successfully" +#~ msgstr "{0} updated successfully" -#: src/components/settings/SettingItem.tsx:55 -msgid "Error editing setting" -msgstr "" - -#: src/components/settings/SettingItem.tsx:92 +#: src/components/settings/SettingList.tsx:67 msgid "Edit Setting" msgstr "" -#: src/components/settings/SettingList.tsx:63 -msgid "No settings specified" +#: src/components/settings/SettingList.tsx:78 +#: src/components/settings/SettingList.tsx:108 +msgid "Setting {0} updated successfully" msgstr "" -#: src/components/tables/ColumnRenderers.tsx:134 -#~ msgid "Shipment Date" -#~ msgstr "Shipment Date" +#: src/components/settings/SettingList.tsx:107 +msgid "Setting updated" +msgstr "" + +#: src/components/settings/SettingList.tsx:117 +msgid "Error editing setting" +msgstr "" + +#: src/components/settings/SettingList.tsx:158 +msgid "No settings specified" +msgstr "" #: src/components/tables/FilterGroup.tsx:29 #~ msgid "Add table filter" @@ -1731,10 +1806,6 @@ msgstr "" #~ msgid "This is a test filter" #~ msgstr "This is a test filter" -#: src/components/tables/stock/StockLocationTable.tsx:91 -#~ msgid "Location Type" -#~ msgstr "Location Type" - #: src/components/tables/stock/StockLocationTable.tsx:145 #~ msgid "Stock location updated" #~ msgstr "Stock location updated" @@ -2072,7 +2143,7 @@ msgstr "" #~ msgstr "Local Server" #: src/defaults/links.tsx:11 -#: src/pages/company/CompanyDetail.tsx:90 +#: src/pages/company/CompanyDetail.tsx:92 msgid "Website" msgstr "" @@ -2087,10 +2158,10 @@ msgstr "" #: src/defaults/links.tsx:31 #: src/defaults/menuItems.tsx:48 #: src/pages/company/ManufacturerDetail.tsx:9 -#: src/pages/company/ManufacturerPartDetail.tsx:231 +#: src/pages/company/ManufacturerPartDetail.tsx:235 #: src/pages/company/SupplierDetail.tsx:9 -#: src/pages/company/SupplierPartDetail.tsx:291 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:358 +#: src/pages/company/SupplierPartDetail.tsx:292 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:365 #: src/pages/purchasing/PurchasingIndex.tsx:52 msgid "Purchasing" msgstr "" @@ -2098,15 +2169,15 @@ msgstr "" #: src/defaults/links.tsx:32 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:323 +#: src/pages/sales/ReturnOrderDetail.tsx:330 #: src/pages/sales/SalesIndex.tsx:45 -#: src/pages/sales/SalesOrderDetail.tsx:345 +#: src/pages/sales/SalesOrderDetail.tsx:352 msgid "Sales" msgstr "" #: src/defaults/links.tsx:35 #: src/defaults/menuItems.tsx:71 -#: src/pages/Index/Playground.tsx:239 +#: src/pages/Index/Playground.tsx:238 msgid "Playground" msgstr "" @@ -2240,87 +2311,83 @@ msgstr "" #~ msgstr "Combusken battles with the intensely hot flames it spews" #: src/forms/AttachmentForms.tsx:57 -msgid "Add File" -msgstr "" +#~ msgid "Add File" +#~ msgstr "Add File" #: src/forms/AttachmentForms.tsx:57 -msgid "Add Link" -msgstr "" +#~ msgid "Add Link" +#~ msgstr "Add Link" #: src/forms/AttachmentForms.tsx:58 -msgid "File added" -msgstr "" +#~ msgid "File added" +#~ msgstr "File added" #: src/forms/AttachmentForms.tsx:58 -msgid "Link added" -msgstr "" +#~ msgid "Link added" +#~ msgstr "Link added" #: src/forms/AttachmentForms.tsx:99 -msgid "Edit File" -msgstr "" +#~ msgid "Edit File" +#~ msgstr "Edit File" #: src/forms/AttachmentForms.tsx:99 -msgid "Edit Link" -msgstr "" +#~ msgid "Edit Link" +#~ msgstr "Edit Link" #: src/forms/AttachmentForms.tsx:100 -msgid "File updated" -msgstr "" +#~ msgid "File updated" +#~ msgstr "File updated" #: src/forms/AttachmentForms.tsx:100 -msgid "Link updated" -msgstr "" - -#: src/forms/AttachmentForms.tsx:124 -msgid "Delete Attachment" -msgstr "" +#~ msgid "Link updated" +#~ msgstr "Link updated" #: src/forms/AttachmentForms.tsx:125 -msgid "Attachment deleted" -msgstr "" +#~ msgid "Attachment deleted" +#~ msgstr "Attachment deleted" #: src/forms/AttachmentForms.tsx:128 -msgid "Are you sure you want to delete this attachment?" -msgstr "" +#~ msgid "Are you sure you want to delete this attachment?" +#~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BuildForms.tsx:129 +#: src/forms/BuildForms.tsx:146 msgid "Next serial number" msgstr "" -#: src/forms/BuildForms.tsx:133 +#: src/forms/BuildForms.tsx:150 msgid "Latest serial number" msgstr "" -#: src/forms/BuildForms.tsx:205 +#: src/forms/BuildForms.tsx:222 msgid "Remove output" msgstr "" -#: src/forms/BuildForms.tsx:287 +#: src/forms/BuildForms.tsx:304 msgid "Complete Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:291 +#: src/forms/BuildForms.tsx:308 msgid "Build outputs have been completed" msgstr "" -#: src/forms/BuildForms.tsx:360 +#: src/forms/BuildForms.tsx:377 msgid "Scrap Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:364 +#: src/forms/BuildForms.tsx:381 msgid "Build outputs have been scrapped" msgstr "" -#: src/forms/BuildForms.tsx:396 -#: src/forms/BuildForms.tsx:420 +#: src/forms/BuildForms.tsx:413 +#: src/forms/BuildForms.tsx:437 msgid "Cancel Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:397 +#: src/forms/BuildForms.tsx:414 msgid "Selected build outputs will be deleted" msgstr "" -#: src/forms/BuildForms.tsx:424 +#: src/forms/BuildForms.tsx:441 msgid "Build outputs have been cancelled" msgstr "" @@ -2344,76 +2411,76 @@ msgstr "" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PurchaseOrderForms.tsx:265 +#: src/forms/PurchaseOrderForms.tsx:279 msgid "Choose Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:273 +#: src/forms/PurchaseOrderForms.tsx:287 msgid "Item Destination selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:282 +#: src/forms/PurchaseOrderForms.tsx:296 msgid "Part category default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:292 +#: src/forms/PurchaseOrderForms.tsx:306 msgid "Received stock location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:297 +#: src/forms/PurchaseOrderForms.tsx:311 msgid "Default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:308 -#: src/forms/PurchaseOrderForms.tsx:384 +#: src/forms/PurchaseOrderForms.tsx:322 +#: src/forms/PurchaseOrderForms.tsx:398 msgid "Scan Barcode" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:352 +#: src/forms/PurchaseOrderForms.tsx:366 msgid "Set Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:359 +#: src/forms/PurchaseOrderForms.tsx:373 msgid "Assign Batch Code{0}" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:368 +#: src/forms/PurchaseOrderForms.tsx:382 msgid "Change Status" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:393 -#: src/forms/StockForms.tsx:351 +#: src/forms/PurchaseOrderForms.tsx:407 +#: src/forms/StockForms.tsx:392 msgid "Remove item from list" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:418 -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:58 -#: src/pages/stock/StockDetail.tsx:167 -#: src/tables/ColumnRenderers.tsx:42 +#: src/forms/PurchaseOrderForms.tsx:432 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/pages/stock/StockDetail.tsx:170 +#: src/tables/ColumnRenderers.tsx:34 +#: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:434 +#: src/forms/PurchaseOrderForms.tsx:448 msgid "Store at default location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:447 +#: src/forms/PurchaseOrderForms.tsx:461 msgid "Store at line item destination" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:457 +#: src/forms/PurchaseOrderForms.tsx:471 msgid "Store with already received stock" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:613 +#: src/forms/PurchaseOrderForms.tsx:627 msgid "Receive Line Items" msgstr "" @@ -2421,119 +2488,118 @@ msgstr "" #~ msgid "Receive line items" #~ msgstr "Receive line items" -#: src/forms/StockForms.tsx:69 +#: src/forms/StockForms.tsx:101 msgid "Add given quantity as packs instead of individual items" msgstr "" -#: src/forms/StockForms.tsx:80 -msgid "Enter initial quantity for this stock item" -msgstr "" - -#: src/forms/StockForms.tsx:85 -msgid "Serial Numbers" -msgstr "" - -#: src/forms/StockForms.tsx:86 -msgid "Enter serial numbers for new stock (or leave blank)" -msgstr "" - #: src/forms/StockForms.tsx:110 #~ msgid "Create Stock Item" #~ msgstr "Create Stock Item" -#: src/forms/StockForms.tsx:135 -#: src/pages/stock/StockDetail.tsx:367 -#: src/tables/stock/StockItemTable.tsx:382 -#: src/tables/stock/StockItemTable.tsx:499 -msgid "Add Stock Item" +#: src/forms/StockForms.tsx:114 +msgid "Enter initial quantity for this stock item" +msgstr "" + +#: src/forms/StockForms.tsx:121 +msgid "Serial Numbers" +msgstr "" + +#: src/forms/StockForms.tsx:122 +msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" #: src/forms/StockForms.tsx:158 #~ msgid "Stock item updated" #~ msgstr "Stock item updated" -#: src/forms/StockForms.tsx:298 +#: src/forms/StockForms.tsx:176 +#: src/pages/stock/StockDetail.tsx:375 +#: src/tables/stock/StockItemTable.tsx:382 +#: src/tables/stock/StockItemTable.tsx:499 +msgid "Add Stock Item" +msgstr "" + +#: src/forms/StockForms.tsx:339 msgid "Loading..." msgstr "" -#: src/forms/StockForms.tsx:340 +#: src/forms/StockForms.tsx:381 msgid "Move to default location" msgstr "" -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/part/PartDetail.tsx:205 -#: src/pages/part/PartDetail.tsx:654 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/pages/part/PartDetail.tsx:206 +#: src/pages/part/PartDetail.tsx:655 #: src/tables/stock/StockItemTable.tsx:290 msgid "In Stock" msgstr "" -#: src/forms/StockForms.tsx:408 +#: src/forms/StockForms.tsx:449 msgid "Move" msgstr "" -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/tables/RowActions.tsx:147 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/tables/RowActions.tsx:149 msgid "Actions" msgstr "" -#: src/forms/StockForms.tsx:471 -#: src/pages/stock/StockDetail.tsx:440 -#: src/tables/settings/TemplateTable.tsx:266 -#: src/tables/stock/StockItemTestResultTable.tsx:348 +#: src/forms/StockForms.tsx:512 +#: src/pages/stock/StockDetail.tsx:454 +#: src/tables/stock/StockItemTestResultTable.tsx:339 msgid "Add" msgstr "" -#: src/forms/StockForms.tsx:499 +#: src/forms/StockForms.tsx:540 #: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:430 +#: src/pages/stock/StockDetail.tsx:444 msgid "Count" msgstr "" -#: src/forms/StockForms.tsx:744 +#: src/forms/StockForms.tsx:785 msgid "Add Stock" msgstr "" -#: src/forms/StockForms.tsx:753 +#: src/forms/StockForms.tsx:794 msgid "Remove Stock" msgstr "" -#: src/forms/StockForms.tsx:762 -#: src/pages/part/PartDetail.tsx:781 +#: src/forms/StockForms.tsx:803 +#: src/pages/part/PartDetail.tsx:782 msgid "Transfer Stock" msgstr "" -#: src/forms/StockForms.tsx:771 -#: src/pages/part/PartDetail.tsx:770 +#: src/forms/StockForms.tsx:812 +#: src/pages/part/PartDetail.tsx:771 msgid "Count Stock" msgstr "" -#: src/forms/StockForms.tsx:780 +#: src/forms/StockForms.tsx:821 msgid "Change Stock Status" msgstr "" -#: src/forms/StockForms.tsx:789 +#: src/forms/StockForms.tsx:830 msgid "Merge Stock" msgstr "" -#: src/forms/StockForms.tsx:808 +#: src/forms/StockForms.tsx:849 msgid "Delete Stock Items" msgstr "" -#: src/forms/StockForms.tsx:815 +#: src/forms/StockForms.tsx:856 msgid "Parent stock location" msgstr "" @@ -2728,7 +2794,7 @@ msgstr "" msgid "Welcome to your Dashboard{0}" msgstr "" -#: src/pages/Index/Playground.tsx:244 +#: src/pages/Index/Playground.tsx:243 msgid "This page is a showcase for the possibilities of Platform UI." msgstr "" @@ -3138,49 +3204,53 @@ msgstr "" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:79 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:87 msgid "Background Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:85 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:93 msgid "Error Reports" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:91 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:99 msgid "Currencies" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:109 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:117 msgid "Custom Units" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:115 -#: src/pages/part/CategoryDetail.tsx:254 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:123 +#: src/pages/part/CategoryDetail.tsx:255 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:121 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 +#~ msgid "Templates" +#~ msgstr "Templates" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:129 msgid "Category Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 -msgid "Templates" +#: src/pages/Index/Settings/AdminCenter/Index.tsx:147 +msgid "Location types" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:139 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:159 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:149 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:169 msgid "Quick Actions" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:154 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 msgid "Add a new user" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:173 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:193 msgid "Advanced Options" msgstr "" @@ -3225,26 +3295,32 @@ msgstr "" msgid "Plugin Settings" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:25 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:53 +msgid "Background Worker Not Running" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:54 +msgid "The background task manager service is not running. Contact your system administrator." +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:60 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:76 msgid "Pending Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:33 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:64 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:84 msgid "Scheduled Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:41 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:68 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:92 msgid "Failed Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:139 -msgid "Labels" -msgstr "" - #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:39 -msgid "Label" -msgstr "" +#~ msgid "Label" +#~ msgstr "Label" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67 #~ msgid "Stock item" @@ -3255,13 +3331,13 @@ msgstr "" #~ msgstr "Build line" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:88 -msgid "Reports" -msgstr "" +#~ msgid "Reports" +#~ msgstr "Reports" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:89 #: src/pages/build/BuildDetail.tsx:373 -msgid "Report" -msgstr "" +#~ msgid "Report" +#~ msgstr "Report" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99 #~ msgid "Purchase order" @@ -3275,14 +3351,9 @@ msgstr "" #~ msgid "Return order" #~ msgstr "Return order" -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135 -#: src/pages/part/PartDetail.tsx:518 -msgid "Bill of Materials" -msgstr "" - #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:145 -msgid "Tests" -msgstr "" +#~ msgid "Tests" +#~ msgstr "Tests" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:154 #~ msgid "Stock location" @@ -3321,26 +3392,30 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" +#: src/pages/Index/Settings/SystemSettings.tsx:139 +msgid "Labels" +msgstr "" + #: src/pages/Index/Settings/SystemSettings.tsx:145 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:223 -#: src/pages/part/PartDetail.tsx:589 +#: src/pages/Index/Settings/SystemSettings.tsx:224 +#: src/pages/part/PartDetail.tsx:590 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:228 -#: src/pages/build/BuildDetail.tsx:426 +#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:525 -#: src/pages/sales/SalesOrderDetail.tsx:263 +#: src/pages/part/PartDetail.tsx:526 +#: src/pages/sales/SalesOrderDetail.tsx:265 msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:296 +#: src/pages/Index/Settings/SystemSettings.tsx:297 msgid "Switch to User Setting" msgstr "" @@ -3397,44 +3472,47 @@ msgstr "" #~ msgstr "Build Status" #: src/pages/build/BuildDetail.tsx:89 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:128 -#: src/pages/sales/ReturnOrderDetail.tsx:95 -#: src/pages/sales/SalesOrderDetail.tsx:99 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:130 +#: src/pages/sales/ReturnOrderDetail.tsx:97 +#: src/pages/sales/SalesOrderDetail.tsx:101 #: src/tables/build/BuildOrderTable.tsx:113 #: src/tables/machine/MachineListTable.tsx:326 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderTable.tsx:46 #: src/tables/sales/SalesOrderTable.tsx:52 #: src/tables/stock/StockItemTable.tsx:259 +#: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "" #: src/pages/build/BuildDetail.tsx:95 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:101 -#: src/pages/sales/ReturnOrderDetail.tsx:69 -#: src/pages/sales/SalesOrderDetail.tsx:73 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:103 +#: src/pages/sales/ReturnOrderDetail.tsx:71 +#: src/pages/sales/SalesOrderDetail.tsx:75 +#: src/tables/ColumnRenderers.tsx:106 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" msgstr "" #: src/pages/build/BuildDetail.tsx:100 -#: src/pages/company/CompanyDetail.tsx:84 -#: src/pages/company/ManufacturerPartDetail.tsx:75 -#: src/pages/company/SupplierPartDetail.tsx:82 -#: src/pages/part/CategoryDetail.tsx:91 -#: src/pages/part/PartDetail.tsx:132 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:122 -#: src/pages/sales/ReturnOrderDetail.tsx:89 -#: src/pages/sales/SalesOrderDetail.tsx:93 -#: src/pages/stock/LocationDetail.tsx:97 -#: src/tables/ColumnRenderers.tsx:95 +#: src/pages/company/CompanyDetail.tsx:86 +#: src/pages/company/ManufacturerPartDetail.tsx:76 +#: src/pages/company/SupplierPartDetail.tsx:83 +#: src/pages/part/CategoryDetail.tsx:92 +#: src/pages/part/PartDetail.tsx:133 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:124 +#: src/pages/sales/ReturnOrderDetail.tsx:91 +#: src/pages/sales/SalesOrderDetail.tsx:95 +#: src/pages/stock/LocationDetail.tsx:99 +#: src/tables/ColumnRenderers.tsx:66 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 #: src/tables/machine/MachineTypeTable.tsx:323 #: src/tables/part/RelatedPartTable.tsx:64 -#: src/tables/plugin/PluginListTable.tsx:172 -#: src/tables/plugin/PluginListTable.tsx:302 +#: src/tables/plugin/PluginListTable.tsx:129 +#: src/tables/plugin/PluginListTable.tsx:276 +#: src/tables/stock/LocationTypesTable.tsx:65 msgid "Description" msgstr "" @@ -3447,7 +3525,7 @@ msgid "Build Quantity" msgstr "" #: src/pages/build/BuildDetail.tsx:126 -#: src/pages/build/BuildDetail.tsx:249 +#: src/pages/build/BuildDetail.tsx:256 msgid "Completed Outputs" msgstr "" @@ -3457,10 +3535,10 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:150 -#: src/pages/part/PartDetail.tsx:320 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:214 -#: src/pages/sales/ReturnOrderDetail.tsx:182 -#: src/pages/sales/SalesOrderDetail.tsx:186 +#: src/pages/part/PartDetail.tsx:321 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:184 +#: src/pages/sales/SalesOrderDetail.tsx:188 #: src/tables/build/BuildOrderTable.tsx:148 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 @@ -3474,10 +3552,10 @@ msgid "Created" msgstr "" #: src/pages/build/BuildDetail.tsx:164 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:207 -#: src/pages/sales/ReturnOrderDetail.tsx:175 -#: src/pages/sales/SalesOrderDetail.tsx:179 -#: src/tables/ColumnRenderers.tsx:227 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:209 +#: src/pages/sales/ReturnOrderDetail.tsx:177 +#: src/pages/sales/SalesOrderDetail.tsx:181 +#: src/tables/ColumnRenderers.tsx:191 msgid "Target Date" msgstr "" @@ -3513,6 +3591,11 @@ msgstr "" #~ msgid "Unlink custom barcode from part" #~ msgstr "Unlink custom barcode from part" +#: src/pages/build/BuildDetail.tsx:197 +#: src/pages/stock/StockDetail.tsx:526 +msgid "Batch Code" +msgstr "" + #: src/pages/build/BuildDetail.tsx:202 #~ msgid "Build Order updated" #~ msgstr "Build Order updated" @@ -3521,86 +3604,87 @@ msgstr "" #~ msgid "Edit build order" #~ msgstr "Edit build order" -#: src/pages/build/BuildDetail.tsx:222 -msgid "Build Details" -msgstr "" - #: src/pages/build/BuildDetail.tsx:226 #~ msgid "Duplicate build order" #~ msgstr "Duplicate build order" -#: src/pages/build/BuildDetail.tsx:228 -#: src/tables/build/BuildLineTable.tsx:225 -msgid "Allocate Stock" +#: src/pages/build/BuildDetail.tsx:229 +msgid "Build Details" msgstr "" #: src/pages/build/BuildDetail.tsx:231 #~ msgid "Delete build order" #~ msgstr "Delete build order" -#: src/pages/build/BuildDetail.tsx:242 +#: src/pages/build/BuildDetail.tsx:235 +#: src/tables/build/BuildLineTable.tsx:225 +msgid "Allocate Stock" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:249 msgid "Incomplete Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:264 +#: src/pages/build/BuildDetail.tsx:271 msgid "Consumed Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:278 +#: src/pages/build/BuildDetail.tsx:285 msgid "Child Build Orders" msgstr "" -#: src/pages/build/BuildDetail.tsx:288 -#: src/pages/company/CompanyDetail.tsx:253 -#: src/pages/company/ManufacturerPartDetail.tsx:171 -#: src/pages/part/PartDetail.tsx:611 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:276 -#: src/pages/sales/ReturnOrderDetail.tsx:225 -#: src/pages/sales/SalesOrderDetail.tsx:273 -#: src/pages/stock/StockDetail.tsx:317 +#: src/pages/build/BuildDetail.tsx:295 +#: src/pages/company/CompanyDetail.tsx:255 +#: src/pages/company/ManufacturerPartDetail.tsx:172 +#: src/pages/part/PartDetail.tsx:612 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:278 +#: src/pages/sales/ReturnOrderDetail.tsx:227 +#: src/pages/sales/SalesOrderDetail.tsx:275 +#: src/pages/stock/StockDetail.tsx:325 msgid "Attachments" msgstr "" -#: src/pages/build/BuildDetail.tsx:300 -#: src/pages/company/CompanyDetail.tsx:265 -#: src/pages/part/PartDetail.tsx:623 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:288 -#: src/pages/sales/ReturnOrderDetail.tsx:237 -#: src/pages/sales/SalesOrderDetail.tsx:285 -#: src/pages/stock/StockDetail.tsx:329 +#: src/pages/build/BuildDetail.tsx:307 +#: src/pages/company/CompanyDetail.tsx:267 +#: src/pages/part/PartDetail.tsx:624 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:290 +#: src/pages/sales/ReturnOrderDetail.tsx:239 +#: src/pages/sales/SalesOrderDetail.tsx:287 +#: src/pages/stock/StockDetail.tsx:337 +#: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "" -#: src/pages/build/BuildDetail.tsx:318 +#: src/pages/build/BuildDetail.tsx:325 msgid "Edit Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:327 +#: src/pages/build/BuildDetail.tsx:334 msgid "Cancel Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:339 +#: src/pages/build/BuildDetail.tsx:346 #: src/tables/build/BuildOrderTable.tsx:167 #: src/tables/build/BuildOrderTable.tsx:182 msgid "Add Build Order" msgstr "" #: src/pages/build/BuildDetail.tsx:368 -msgid "Reporting Actions" -msgstr "" +#~ msgid "Reporting Actions" +#~ msgstr "Reporting Actions" #: src/pages/build/BuildDetail.tsx:374 -msgid "Print build report" -msgstr "" +#~ msgid "Print build report" +#~ msgstr "Print build report" -#: src/pages/build/BuildDetail.tsx:380 +#: src/pages/build/BuildDetail.tsx:378 msgid "Build Order Actions" msgstr "" -#: src/pages/build/BuildDetail.tsx:388 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:326 -#: src/pages/sales/ReturnOrderDetail.tsx:300 -#: src/pages/sales/SalesOrderDetail.tsx:310 +#: src/pages/build/BuildDetail.tsx:386 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:333 +#: src/pages/sales/ReturnOrderDetail.tsx:307 +#: src/pages/sales/SalesOrderDetail.tsx:317 msgid "Cancel order" msgstr "" @@ -3612,56 +3696,58 @@ msgstr "" #~ msgid "New Build Order" #~ msgstr "New Build Order" -#: src/pages/company/CompanyDetail.tsx:98 +#: src/pages/company/CompanyDetail.tsx:100 msgid "Phone Number" msgstr "" -#: src/pages/company/CompanyDetail.tsx:105 +#: src/pages/company/CompanyDetail.tsx:107 msgid "Email Address" msgstr "" -#: src/pages/company/CompanyDetail.tsx:115 +#: src/pages/company/CompanyDetail.tsx:117 msgid "Default Currency" msgstr "" -#: src/pages/company/CompanyDetail.tsx:120 +#: src/pages/company/CompanyDetail.tsx:122 #: src/pages/company/SupplierDetail.tsx:8 -#: src/pages/company/SupplierPartDetail.tsx:106 -#: src/pages/company/SupplierPartDetail.tsx:192 -#: src/pages/company/SupplierPartDetail.tsx:295 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:116 +#: src/pages/company/SupplierPartDetail.tsx:107 +#: src/pages/company/SupplierPartDetail.tsx:193 +#: src/pages/company/SupplierPartDetail.tsx:296 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:118 #: src/tables/company/CompanyTable.tsx:100 #: src/tables/purchasing/PurchaseOrderTable.tsx:88 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:36 msgid "Supplier" msgstr "" -#: src/pages/company/CompanyDetail.tsx:126 +#: src/pages/company/CompanyDetail.tsx:128 #: src/pages/company/ManufacturerDetail.tsx:8 -#: src/pages/company/ManufacturerPartDetail.tsx:93 -#: src/pages/company/ManufacturerPartDetail.tsx:235 -#: src/pages/company/SupplierPartDetail.tsx:121 +#: src/pages/company/ManufacturerPartDetail.tsx:94 +#: src/pages/company/ManufacturerPartDetail.tsx:239 +#: src/pages/company/SupplierPartDetail.tsx:122 #: src/tables/company/CompanyTable.tsx:105 msgid "Manufacturer" msgstr "" -#: src/pages/company/CompanyDetail.tsx:132 +#: src/pages/company/CompanyDetail.tsx:134 #: src/pages/company/CustomerDetail.tsx:8 #: src/pages/part/pricing/SaleHistoryPanel.tsx:39 -#: src/pages/sales/ReturnOrderDetail.tsx:83 -#: src/pages/sales/SalesOrderDetail.tsx:87 -#: src/pages/stock/StockDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:85 +#: src/pages/sales/SalesOrderDetail.tsx:89 +#: src/pages/stock/StockDetail.tsx:219 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:107 +#: src/tables/stock/StockTrackingTable.tsx:140 msgid "Customer" msgstr "" -#: src/pages/company/CompanyDetail.tsx:166 +#: src/pages/company/CompanyDetail.tsx:168 +#: src/tables/stock/StockTrackingTable.tsx:183 msgid "Details" msgstr "" -#: src/pages/company/CompanyDetail.tsx:172 +#: src/pages/company/CompanyDetail.tsx:174 msgid "Manufactured Parts" msgstr "" @@ -3669,7 +3755,7 @@ msgstr "" #~ msgid "Edit company" #~ msgstr "Edit company" -#: src/pages/company/CompanyDetail.tsx:181 +#: src/pages/company/CompanyDetail.tsx:183 msgid "Supplied Parts" msgstr "" @@ -3677,289 +3763,289 @@ msgstr "" #~ msgid "Delete company" #~ msgstr "Delete company" -#: src/pages/company/CompanyDetail.tsx:226 +#: src/pages/company/CompanyDetail.tsx:228 msgid "Assigned Stock" msgstr "" -#: src/pages/company/CompanyDetail.tsx:281 +#: src/pages/company/CompanyDetail.tsx:283 #: src/tables/company/CompanyTable.tsx:86 msgid "Edit Company" msgstr "" -#: src/pages/company/CompanyDetail.tsx:290 +#: src/pages/company/CompanyDetail.tsx:292 msgid "Company Actions" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:68 -#: src/pages/company/SupplierPartDetail.tsx:75 +#: src/pages/company/ManufacturerPartDetail.tsx:69 +#: src/pages/company/SupplierPartDetail.tsx:76 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:72 msgid "Internal Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:83 -#: src/pages/company/SupplierPartDetail.tsx:89 +#: src/pages/company/ManufacturerPartDetail.tsx:84 +#: src/pages/company/SupplierPartDetail.tsx:90 msgid "External Link" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:101 -#: src/pages/company/SupplierPartDetail.tsx:130 -#: src/tables/purchasing/ManufacturerPartTable.tsx:53 +#: src/pages/company/ManufacturerPartDetail.tsx:102 +#: src/pages/company/SupplierPartDetail.tsx:131 +#: src/tables/purchasing/ManufacturerPartTable.tsx:56 msgid "Manufacturer Part Number" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:130 +#: src/pages/company/ManufacturerPartDetail.tsx:131 msgid "Manufacturer Details" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:139 +#: src/pages/company/ManufacturerPartDetail.tsx:140 msgid "Manufacturer Part Details" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:145 -#: src/pages/part/PartDetail.tsx:485 +#: src/pages/company/ManufacturerPartDetail.tsx:146 +#: src/pages/part/PartDetail.tsx:486 msgid "Parameters" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:157 -#: src/pages/part/PartDetail.tsx:558 +#: src/pages/company/ManufacturerPartDetail.tsx:158 +#: src/pages/part/PartDetail.tsx:559 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:189 -#: src/tables/purchasing/ManufacturerPartTable.tsx:97 +#: src/pages/company/ManufacturerPartDetail.tsx:190 +#: src/tables/purchasing/ManufacturerPartTable.tsx:84 msgid "Edit Manufacturer Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:196 -#: src/tables/purchasing/ManufacturerPartTable.tsx:63 -#: src/tables/purchasing/ManufacturerPartTable.tsx:78 +#: src/pages/company/ManufacturerPartDetail.tsx:197 +#: src/tables/purchasing/ManufacturerPartTable.tsx:72 +#: src/tables/purchasing/ManufacturerPartTable.tsx:103 msgid "Add Manufacturer Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:209 +#: src/pages/company/ManufacturerPartDetail.tsx:213 msgid "Manufacturer Part Actions" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:247 +#: src/pages/company/ManufacturerPartDetail.tsx:251 msgid "ManufacturerPart" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:96 -#: src/tables/ColumnRenderers.tsx:146 +#: src/pages/company/SupplierPartDetail.tsx:97 +#: src/tables/ColumnRenderers.tsx:117 msgid "Note" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:114 +#: src/pages/company/SupplierPartDetail.tsx:115 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:57 msgid "SKU" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:142 -#: src/pages/company/SupplierPartDetail.tsx:193 -#: src/pages/stock/StockDetail.tsx:230 +#: src/pages/company/SupplierPartDetail.tsx:143 +#: src/pages/company/SupplierPartDetail.tsx:194 +#: src/pages/stock/StockDetail.tsx:233 msgid "Packaging" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:149 +#: src/pages/company/SupplierPartDetail.tsx:150 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:107 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143 #: src/tables/purchasing/SupplierPartTable.tsx:131 msgid "Pack Quantity" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:160 +#: src/pages/company/SupplierPartDetail.tsx:161 msgid "Supplier Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:167 +#: src/pages/company/SupplierPartDetail.tsx:168 msgid "Availability Updated" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:194 +#: src/pages/company/SupplierPartDetail.tsx:195 msgid "Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:203 +#: src/pages/company/SupplierPartDetail.tsx:204 msgid "Supplier Part Details" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:209 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:263 +#: src/pages/company/SupplierPartDetail.tsx:210 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:265 msgid "Received Stock" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:233 +#: src/pages/company/SupplierPartDetail.tsx:234 #: src/pages/part/PartPricingPanel.tsx:115 #: src/pages/part/pricing/PricingOverviewPanel.tsx:130 msgid "Supplier Pricing" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:248 +#: src/pages/company/SupplierPartDetail.tsx:249 msgid "Supplier Part Actions" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:272 +#: src/pages/company/SupplierPartDetail.tsx:273 #: src/tables/purchasing/SupplierPartTable.tsx:210 msgid "Edit Supplier Part" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:279 +#: src/pages/company/SupplierPartDetail.tsx:280 #: src/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "" -#: src/pages/part/CategoryDetail.tsx:83 -#: src/pages/stock/LocationDetail.tsx:89 +#: src/pages/part/CategoryDetail.tsx:84 +#: src/pages/stock/LocationDetail.tsx:91 #: src/tables/settings/ErrorTable.tsx:34 msgid "Path" msgstr "" -#: src/pages/part/CategoryDetail.tsx:99 +#: src/pages/part/CategoryDetail.tsx:100 msgid "Parent Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:116 +#: src/pages/part/CategoryDetail.tsx:117 msgid "Subcategories" msgstr "" -#: src/pages/part/CategoryDetail.tsx:123 -#: src/pages/stock/LocationDetail.tsx:129 -#: src/tables/part/PartCategoryTable.tsx:69 +#: src/pages/part/CategoryDetail.tsx:124 +#: src/pages/stock/LocationDetail.tsx:131 +#: src/tables/part/PartCategoryTable.tsx:65 msgid "Structural" msgstr "" -#: src/pages/part/CategoryDetail.tsx:129 +#: src/pages/part/CategoryDetail.tsx:130 msgid "Parent default location" msgstr "" -#: src/pages/part/CategoryDetail.tsx:136 +#: src/pages/part/CategoryDetail.tsx:137 msgid "Default location" msgstr "" -#: src/pages/part/CategoryDetail.tsx:147 +#: src/pages/part/CategoryDetail.tsx:148 msgid "Top level part category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:157 -#: src/pages/part/CategoryDetail.tsx:211 -#: src/tables/part/PartCategoryTable.tsx:96 +#: src/pages/part/CategoryDetail.tsx:158 +#: src/pages/part/CategoryDetail.tsx:212 +#: src/tables/part/PartCategoryTable.tsx:88 msgid "Edit Part Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:170 -#: src/pages/stock/LocationDetail.tsx:213 +#: src/pages/part/CategoryDetail.tsx:171 +#: src/pages/stock/LocationDetail.tsx:223 msgid "Delete items" msgstr "" -#: src/pages/part/CategoryDetail.tsx:178 -#: src/pages/part/CategoryDetail.tsx:216 +#: src/pages/part/CategoryDetail.tsx:179 +#: src/pages/part/CategoryDetail.tsx:217 msgid "Delete Part Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:181 +#: src/pages/part/CategoryDetail.tsx:182 msgid "Parts Action" msgstr "" -#: src/pages/part/CategoryDetail.tsx:182 +#: src/pages/part/CategoryDetail.tsx:183 msgid "Action for parts in this category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:187 +#: src/pages/part/CategoryDetail.tsx:188 msgid "Child Categories Action" msgstr "" -#: src/pages/part/CategoryDetail.tsx:188 +#: src/pages/part/CategoryDetail.tsx:189 msgid "Action for child categories in this category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:206 +#: src/pages/part/CategoryDetail.tsx:207 msgid "Category Actions" msgstr "" -#: src/pages/part/CategoryDetail.tsx:228 +#: src/pages/part/CategoryDetail.tsx:229 msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:138 +#: src/pages/part/PartDetail.tsx:139 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:145 +#: src/pages/part/PartDetail.tsx:146 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "" -#: src/pages/part/PartDetail.tsx:151 +#: src/pages/part/PartDetail.tsx:152 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:158 +#: src/pages/part/PartDetail.tsx:159 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:165 +#: src/pages/part/PartDetail.tsx:166 msgid "IPN" msgstr "" -#: src/pages/part/PartDetail.tsx:172 +#: src/pages/part/PartDetail.tsx:173 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:179 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39 +#: src/pages/part/PartDetail.tsx:180 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "" -#: src/pages/part/PartDetail.tsx:186 +#: src/pages/part/PartDetail.tsx:187 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:193 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:180 -#: src/pages/sales/ReturnOrderDetail.tsx:148 -#: src/pages/sales/SalesOrderDetail.tsx:152 +#: src/pages/part/PartDetail.tsx:194 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:182 +#: src/pages/sales/ReturnOrderDetail.tsx:150 +#: src/pages/sales/SalesOrderDetail.tsx:154 msgid "Link" msgstr "" -#: src/pages/part/PartDetail.tsx:211 -#: src/tables/bom/BomTable.tsx:269 +#: src/pages/part/PartDetail.tsx:212 +#: src/tables/bom/BomTable.tsx:271 #: src/tables/build/BuildLineTable.tsx:121 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:218 +#: src/pages/part/PartDetail.tsx:219 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:224 -#: src/tables/bom/BomTable.tsx:210 +#: src/pages/part/PartDetail.tsx:225 +#: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:233 +#: src/pages/part/PartDetail.tsx:234 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:241 +#: src/pages/part/PartDetail.tsx:242 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:248 -#: src/tables/bom/BomTable.tsx:234 +#: src/pages/part/PartDetail.tsx:249 +#: src/tables/bom/BomTable.tsx:236 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:255 -#: src/tables/bom/BomTable.tsx:218 +#: src/pages/part/PartDetail.tsx:256 +#: src/tables/bom/BomTable.tsx:220 #: src/tables/part/PartTable.tsx:82 msgid "Building" msgstr "" -#: src/pages/part/PartDetail.tsx:264 +#: src/pages/part/PartDetail.tsx:265 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 @@ -3968,45 +4054,47 @@ msgstr "" #: src/tables/machine/MachineListTable.tsx:585 #: src/tables/part/PartTable.tsx:168 #: src/tables/part/PartVariantTable.tsx:15 -#: src/tables/plugin/PluginListTable.tsx:190 -#: src/tables/plugin/PluginListTable.tsx:638 +#: src/tables/plugin/PluginListTable.tsx:149 +#: src/tables/plugin/PluginListTable.tsx:271 +#: src/tables/plugin/PluginListTable.tsx:563 #: src/tables/purchasing/SupplierPartTable.tsx:98 #: src/tables/purchasing/SupplierPartTable.tsx:187 #: src/tables/stock/StockItemTable.tsx:254 msgid "Active" msgstr "" -#: src/pages/part/PartDetail.tsx:269 +#: src/pages/part/PartDetail.tsx:270 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:274 -#: src/tables/bom/BomTable.tsx:264 +#: src/pages/part/PartDetail.tsx:275 +#: src/tables/bom/BomTable.tsx:266 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:279 +#: src/pages/part/PartDetail.tsx:280 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:284 -#: src/tables/bom/BomTable.tsx:259 +#: src/pages/part/PartDetail.tsx:285 +#: src/tables/bom/BomTable.tsx:261 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:289 +#: src/pages/part/PartDetail.tsx:290 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:294 +#: src/pages/part/PartDetail.tsx:295 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:299 +#: src/pages/part/PartDetail.tsx:300 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:307 +#: src/pages/part/PartDetail.tsx:308 +#: src/tables/ColumnRenderers.tsx:199 msgid "Creation Date" msgstr "" @@ -4014,7 +4102,7 @@ msgstr "" #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:312 +#: src/pages/part/PartDetail.tsx:313 msgid "Created By" msgstr "" @@ -4022,68 +4110,72 @@ msgstr "" #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:327 -msgid "Default Supplier" -msgstr "" - #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:338 +#: src/pages/part/PartDetail.tsx:328 +msgid "Default Supplier" +msgstr "" + +#: src/pages/part/PartDetail.tsx:339 #: src/tables/part/PartTable.tsx:151 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:373 -#: src/pages/stock/StockDetail.tsx:127 +#: src/pages/part/PartDetail.tsx:374 +#: src/pages/stock/StockDetail.tsx:130 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:408 +#: src/pages/part/PartDetail.tsx:409 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:479 +#: src/pages/part/PartDetail.tsx:480 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:505 +#: src/pages/part/PartDetail.tsx:506 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:512 -#: src/pages/stock/StockDetail.tsx:275 +#: src/pages/part/PartDetail.tsx:513 +#: src/pages/stock/StockDetail.tsx:283 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:532 +#: src/pages/part/PartDetail.tsx:519 +msgid "Bill of Materials" +msgstr "" + +#: src/pages/part/PartDetail.tsx:533 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:539 +#: src/pages/part/PartDetail.tsx:540 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:545 +#: src/pages/part/PartDetail.tsx:546 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:584 +#: src/pages/part/PartDetail.tsx:585 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:594 +#: src/pages/part/PartDetail.tsx:595 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:605 +#: src/pages/part/PartDetail.tsx:606 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:660 -#: src/pages/stock/StockDetail.tsx:148 +#: src/pages/part/PartDetail.tsx:661 +#: src/pages/stock/StockDetail.tsx:151 #: src/tables/build/BuildLineTable.tsx:36 #: src/tables/part/PartTable.tsx:107 #: src/tables/stock/StockItemTable.tsx:166 @@ -4091,49 +4183,51 @@ msgstr "" msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:666 +#: src/pages/part/PartDetail.tsx:667 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:672 -#: src/tables/bom/BomTable.tsx:274 +#: src/pages/part/PartDetail.tsx:673 +#: src/tables/bom/BomTable.tsx:276 #: src/tables/part/PartTable.tsx:76 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:678 -#: src/pages/stock/StockDetail.tsx:496 +#: src/pages/part/PartDetail.tsx:679 +#: src/pages/stock/StockDetail.tsx:509 #: src/tables/stock/StockItemTable.tsx:295 msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:697 +#: src/pages/part/PartDetail.tsx:698 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:704 +#: src/pages/part/PartDetail.tsx:705 #: src/tables/part/PartTable.tsx:266 #: src/tables/part/PartTable.tsx:279 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:716 +#: src/pages/part/PartDetail.tsx:717 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:725 +#: src/pages/part/PartDetail.tsx:726 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:763 +#: src/pages/part/PartDetail.tsx:764 +#: src/pages/stock/LocationDetail.tsx:301 +#: src/tables/stock/StockItemTable.tsx:409 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:771 +#: src/pages/part/PartDetail.tsx:772 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:782 +#: src/pages/part/PartDetail.tsx:783 msgid "Transfer part stock" msgstr "" @@ -4199,15 +4293,15 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151 #: src/pages/part/pricing/SupplierPricingPanel.tsx:83 -#: src/tables/bom/BomTable.tsx:149 +#: src/tables/bom/BomTable.tsx:151 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 msgid "Unit Price" msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:173 -#: src/tables/ColumnRenderers.tsx:278 -#: src/tables/bom/BomTable.tsx:158 +#: src/tables/ColumnRenderers.tsx:241 +#: src/tables/bom/BomTable.tsx:160 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 #: src/tables/sales/ReturnOrderTable.tsx:104 #: src/tables/sales/SalesOrderTable.tsx:134 @@ -4229,24 +4323,24 @@ msgid "Bar Chart" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:63 -#: src/pages/part/pricing/PriceBreakPanel.tsx:117 +#: src/pages/part/pricing/PriceBreakPanel.tsx:115 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:138 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:164 msgid "Add Price Break" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:76 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:149 msgid "Edit Price Break" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:86 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:157 msgid "Delete Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:102 -#: src/pages/part/pricing/PriceBreakPanel.tsx:193 +#: src/pages/part/pricing/PriceBreakPanel.tsx:100 +#: src/pages/part/pricing/PriceBreakPanel.tsx:191 msgid "Price Break" msgstr "" @@ -4275,7 +4369,7 @@ msgid "Overall Pricing" msgstr "" #: src/pages/part/pricing/PricingOverviewPanel.tsx:184 -#: src/pages/stock/StockDetail.tsx:121 +#: src/pages/stock/StockDetail.tsx:124 msgid "Last Updated" msgstr "" @@ -4309,9 +4403,8 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50 #: src/pages/part/pricing/SaleHistoryPanel.tsx:46 -#: src/tables/ColumnRenderers.tsx:217 -#: src/tables/plugin/PluginListTable.tsx:182 -#: src/tables/stock/StockItemTestResultTable.tsx:194 +#: src/tables/ColumnRenderers.tsx:180 +#: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" @@ -4338,89 +4431,89 @@ msgstr "" msgid "Variant Part" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:73 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:75 msgid "Edit Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:82 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:84 #: src/tables/purchasing/PurchaseOrderTable.tsx:128 #: src/tables/purchasing/PurchaseOrderTable.tsx:140 msgid "Add Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:107 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:109 msgid "Supplier Reference" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:137 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:252 -#: src/pages/sales/ReturnOrderDetail.tsx:104 -#: src/pages/sales/ReturnOrderDetail.tsx:220 -#: src/pages/sales/SalesOrderDetail.tsx:108 -#: src/pages/sales/SalesOrderDetail.tsx:248 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:139 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:254 +#: src/pages/sales/ReturnOrderDetail.tsx:106 +#: src/pages/sales/ReturnOrderDetail.tsx:222 +#: src/pages/sales/SalesOrderDetail.tsx:110 +#: src/pages/sales/SalesOrderDetail.tsx:250 msgid "Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:144 -#: src/pages/sales/ReturnOrderDetail.tsx:111 -#: src/pages/sales/SalesOrderDetail.tsx:115 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:146 +#: src/pages/sales/ReturnOrderDetail.tsx:113 +#: src/pages/sales/SalesOrderDetail.tsx:117 msgid "Completed Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:152 -#: src/pages/sales/ReturnOrderDetail.tsx:119 -#: src/pages/sales/SalesOrderDetail.tsx:123 -#: src/pages/sales/SalesOrderDetail.tsx:258 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:121 +#: src/pages/sales/SalesOrderDetail.tsx:125 +#: src/pages/sales/SalesOrderDetail.tsx:260 msgid "Completed Shipments" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:159 -#: src/pages/sales/ReturnOrderDetail.tsx:127 -#: src/pages/sales/SalesOrderDetail.tsx:131 -msgid "Order Currency" -msgstr "" - #: src/pages/purchasing/PurchaseOrderDetail.tsx:159 #: src/pages/sales/ReturnOrderDetail.tsx:126 #: src/pages/sales/SalesOrderDetail.tsx:130 #~ msgid "Order Currency," #~ msgstr "Order Currency," -#: src/pages/purchasing/PurchaseOrderDetail.tsx:166 -#: src/pages/sales/ReturnOrderDetail.tsx:134 -#: src/pages/sales/SalesOrderDetail.tsx:138 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:161 +#: src/pages/sales/ReturnOrderDetail.tsx:129 +#: src/pages/sales/SalesOrderDetail.tsx:133 +msgid "Order Currency" +msgstr "" + +#: src/pages/purchasing/PurchaseOrderDetail.tsx:168 +#: src/pages/sales/ReturnOrderDetail.tsx:136 +#: src/pages/sales/SalesOrderDetail.tsx:140 msgid "Total Cost" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:201 -#: src/pages/sales/ReturnOrderDetail.tsx:169 -#: src/pages/sales/SalesOrderDetail.tsx:173 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:203 +#: src/pages/sales/ReturnOrderDetail.tsx:171 +#: src/pages/sales/SalesOrderDetail.tsx:175 msgid "Created On" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:246 -#: src/pages/sales/ReturnOrderDetail.tsx:214 -#: src/pages/sales/SalesOrderDetail.tsx:242 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:248 +#: src/pages/sales/ReturnOrderDetail.tsx:216 +#: src/pages/sales/SalesOrderDetail.tsx:244 msgid "Order Details" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:316 -#: src/pages/sales/ReturnOrderDetail.tsx:290 -#: src/pages/sales/SalesOrderDetail.tsx:302 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:323 +#: src/pages/sales/ReturnOrderDetail.tsx:297 +#: src/pages/sales/SalesOrderDetail.tsx:309 msgid "Order Actions" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:75 -#: src/pages/sales/SalesOrderDetail.tsx:79 +#: src/pages/sales/ReturnOrderDetail.tsx:77 +#: src/pages/sales/SalesOrderDetail.tsx:81 #: src/tables/sales/SalesOrderTable.tsx:123 msgid "Customer Reference" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:267 +#: src/pages/sales/ReturnOrderDetail.tsx:269 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:276 +#: src/pages/sales/ReturnOrderDetail.tsx:278 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" @@ -4430,68 +4523,72 @@ msgstr "" msgid "Customers" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:219 +#: src/pages/sales/SalesOrderDetail.tsx:221 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:228 +#: src/pages/sales/SalesOrderDetail.tsx:230 #: src/tables/sales/SalesOrderTable.tsx:83 #: src/tables/sales/SalesOrderTable.tsx:95 msgid "Add Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:253 +#: src/pages/sales/SalesOrderDetail.tsx:255 msgid "Pending Shipments" msgstr "" -#: src/pages/stock/LocationDetail.tsx:105 +#: src/pages/stock/LocationDetail.tsx:107 msgid "Parent Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:123 +#: src/pages/stock/LocationDetail.tsx:125 msgid "Sublocations" msgstr "" -#: src/pages/stock/LocationDetail.tsx:135 +#: src/pages/stock/LocationDetail.tsx:137 msgid "External" msgstr "" -#: src/pages/stock/LocationDetail.tsx:144 +#: src/pages/stock/LocationDetail.tsx:143 +msgid "Location Type" +msgstr "" + +#: src/pages/stock/LocationDetail.tsx:154 msgid "Top level stock location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:155 +#: src/pages/stock/LocationDetail.tsx:165 msgid "Location Details" msgstr "" -#: src/pages/stock/LocationDetail.tsx:181 +#: src/pages/stock/LocationDetail.tsx:191 msgid "Default Parts" msgstr "" -#: src/pages/stock/LocationDetail.tsx:200 +#: src/pages/stock/LocationDetail.tsx:210 #: src/pages/stock/LocationDetail.tsx:328 -#: src/tables/stock/StockLocationTable.tsx:108 +#: src/tables/stock/StockLocationTable.tsx:100 msgid "Edit Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:221 +#: src/pages/stock/LocationDetail.tsx:231 #: src/pages/stock/LocationDetail.tsx:333 msgid "Delete Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:224 +#: src/pages/stock/LocationDetail.tsx:234 msgid "Items Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:225 +#: src/pages/stock/LocationDetail.tsx:235 msgid "Action for stock items in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:230 +#: src/pages/stock/LocationDetail.tsx:240 msgid "Child Locations Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:231 +#: src/pages/stock/LocationDetail.tsx:241 msgid "Action for child locations in this location" msgstr "" @@ -4499,11 +4596,11 @@ msgstr "" msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:100 +#: src/pages/stock/StockDetail.tsx:103 msgid "Base Part" msgstr "" -#: src/pages/stock/StockDetail.tsx:107 +#: src/pages/stock/StockDetail.tsx:110 msgid "Stock Status" msgstr "" @@ -4515,15 +4612,16 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:174 +#: src/pages/stock/StockDetail.tsx:177 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:190 +#: src/pages/stock/StockDetail.tsx:193 msgid "Consumed By" msgstr "" -#: src/pages/stock/StockDetail.tsx:199 +#: src/pages/stock/StockDetail.tsx:202 +#: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" msgstr "" @@ -4535,78 +4633,78 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:264 +#: src/pages/stock/StockDetail.tsx:267 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:270 +#: src/pages/stock/StockDetail.tsx:273 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:282 +#: src/pages/stock/StockDetail.tsx:290 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:296 +#: src/pages/stock/StockDetail.tsx:304 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:303 +#: src/pages/stock/StockDetail.tsx:311 msgid "Child Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:358 +#: src/pages/stock/StockDetail.tsx:366 msgid "Edit Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:385 +#: src/pages/stock/StockDetail.tsx:393 msgid "Delete Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:426 -msgid "Stock Operations" -msgstr "" - -#: src/pages/stock/StockDetail.tsx:431 -msgid "Count stock" -msgstr "" - #: src/pages/stock/StockDetail.tsx:433 #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:441 +#: src/pages/stock/StockDetail.tsx:440 +msgid "Stock Operations" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:445 +msgid "Count stock" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:455 #: src/tables/stock/StockItemTable.tsx:414 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:449 +#: src/pages/stock/StockDetail.tsx:463 #: src/tables/stock/StockItemTable.tsx:423 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:456 +#: src/pages/stock/StockDetail.tsx:470 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:457 +#: src/pages/stock/StockDetail.tsx:471 #: src/tables/stock/StockItemTable.tsx:443 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:469 +#: src/pages/stock/StockDetail.tsx:482 msgid "Stock Item Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:513 -msgid "Batch Code" -msgstr "" - -#: src/tables/ColumnRenderers.tsx:50 +#: src/tables/ColumnRenderers.tsx:42 msgid "No location set" msgstr "" -#: src/tables/ColumnRenderers.tsx:264 +#: src/tables/ColumnRenderers.tsx:207 +msgid "Shipment Date" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:227 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "" @@ -4616,20 +4714,32 @@ msgstr "" msgid "Select Columns" msgstr "" -#: src/tables/DownloadAction.tsx:11 +#: src/tables/DownloadAction.tsx:13 +#~ msgid "Excel" +#~ msgstr "Excel" + +#: src/tables/DownloadAction.tsx:21 +#~ msgid "Download selected data" +#~ msgstr "Download selected data" + +#: src/tables/DownloadAction.tsx:22 msgid "CSV" msgstr "" -#: src/tables/DownloadAction.tsx:12 +#: src/tables/DownloadAction.tsx:23 msgid "TSV" msgstr "" -#: src/tables/DownloadAction.tsx:13 -msgid "Excel" +#: src/tables/DownloadAction.tsx:24 +msgid "Excel (.xls)" msgstr "" -#: src/tables/DownloadAction.tsx:21 -msgid "Download selected data" +#: src/tables/DownloadAction.tsx:25 +msgid "Excel (.xlsx)" +msgstr "" + +#: src/tables/DownloadAction.tsx:39 +msgid "Download Data" msgstr "" #: src/tables/Filter.tsx:88 @@ -4663,102 +4773,102 @@ msgstr "" msgid "Remove filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:147 +#: src/tables/FilterSelectDrawer.tsx:136 msgid "Select filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:148 +#: src/tables/FilterSelectDrawer.tsx:137 msgid "Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:155 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:33 -#: src/tables/stock/StockItemTestResultTable.tsx:182 +#: src/tables/FilterSelectDrawer.tsx:144 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 +#: src/tables/stock/StockItemTestResultTable.tsx:180 msgid "Value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:156 +#: src/tables/FilterSelectDrawer.tsx:145 msgid "Select filter value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:196 +#: src/tables/FilterSelectDrawer.tsx:185 msgid "Table Filters" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:228 +#: src/tables/FilterSelectDrawer.tsx:217 msgid "Add Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:237 +#: src/tables/FilterSelectDrawer.tsx:226 msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:118 -#: src/tables/InvenTreeTable.tsx:384 -#: src/tables/InvenTreeTable.tsx:405 +#: src/tables/InvenTreeTable.tsx:119 +#: src/tables/InvenTreeTable.tsx:390 +#: src/tables/InvenTreeTable.tsx:411 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:416 +#: src/tables/InvenTreeTable.tsx:422 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:424 +#: src/tables/InvenTreeTable.tsx:430 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:427 +#: src/tables/InvenTreeTable.tsx:433 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:436 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:433 +#: src/tables/InvenTreeTable.tsx:439 msgid "Not found" msgstr "" -#: src/tables/InvenTreeTable.tsx:482 -#: src/tables/InvenTreeTable.tsx:604 +#: src/tables/InvenTreeTable.tsx:488 +#: src/tables/InvenTreeTable.tsx:611 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:486 +#: src/tables/InvenTreeTable.tsx:492 msgid "Are you sure you want to delete the selected records?" msgstr "" -#: src/tables/InvenTreeTable.tsx:488 +#: src/tables/InvenTreeTable.tsx:494 msgid "This action cannot be undone!" msgstr "" -#: src/tables/InvenTreeTable.tsx:516 +#: src/tables/InvenTreeTable.tsx:522 msgid "Deleted records" msgstr "" -#: src/tables/InvenTreeTable.tsx:517 +#: src/tables/InvenTreeTable.tsx:523 msgid "Records were deleted successfully" msgstr "" -#: src/tables/InvenTreeTable.tsx:526 +#: src/tables/InvenTreeTable.tsx:532 msgid "Failed to delete records" msgstr "" -#: src/tables/InvenTreeTable.tsx:585 -#: src/tables/InvenTreeTable.tsx:586 -msgid "Barcode actions" -msgstr "" - #: src/tables/InvenTreeTable.tsx:594 #: src/tables/InvenTreeTable.tsx:595 -msgid "Print actions" +#~ msgid "Print actions" +#~ msgstr "Print actions" + +#: src/tables/InvenTreeTable.tsx:601 +#: src/tables/InvenTreeTable.tsx:602 +msgid "Barcode actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:620 +#: src/tables/InvenTreeTable.tsx:630 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:638 +#: src/tables/InvenTreeTable.tsx:648 msgid "Table filters" msgstr "" @@ -4770,138 +4880,138 @@ msgstr "" msgid "Part Information" msgstr "" -#: src/tables/bom/BomTable.tsx:177 +#: src/tables/bom/BomTable.tsx:179 #: src/tables/part/PartTable.tsx:124 msgid "No stock" msgstr "" -#: src/tables/bom/BomTable.tsx:185 +#: src/tables/bom/BomTable.tsx:187 #: src/tables/build/BuildLineTable.tsx:104 #: src/tables/part/PartTable.tsx:115 msgid "External stock" msgstr "" -#: src/tables/bom/BomTable.tsx:193 +#: src/tables/bom/BomTable.tsx:195 #: src/tables/build/BuildLineTable.tsx:67 msgid "Includes substitute stock" msgstr "" -#: src/tables/bom/BomTable.tsx:202 +#: src/tables/bom/BomTable.tsx:204 #: src/tables/build/BuildLineTable.tsx:77 msgid "Includes variant stock" msgstr "" -#: src/tables/bom/BomTable.tsx:227 +#: src/tables/bom/BomTable.tsx:229 #: src/tables/part/PartTable.tsx:143 #: src/tables/stock/StockItemTable.tsx:205 msgid "Stock Information" msgstr "" -#: src/tables/bom/BomTable.tsx:239 +#: src/tables/bom/BomTable.tsx:241 #: src/tables/build/BuildLineTable.tsx:195 msgid "Consumable item" msgstr "" -#: src/tables/bom/BomTable.tsx:260 +#: src/tables/bom/BomTable.tsx:262 msgid "Show trackable items" msgstr "" -#: src/tables/bom/BomTable.tsx:265 +#: src/tables/bom/BomTable.tsx:267 msgid "Show asssmbled items" msgstr "" -#: src/tables/bom/BomTable.tsx:270 +#: src/tables/bom/BomTable.tsx:272 msgid "Show items with available stock" msgstr "" -#: src/tables/bom/BomTable.tsx:275 +#: src/tables/bom/BomTable.tsx:277 msgid "Show items on order" msgstr "" -#: src/tables/bom/BomTable.tsx:279 +#: src/tables/bom/BomTable.tsx:281 msgid "Validated" msgstr "" -#: src/tables/bom/BomTable.tsx:280 +#: src/tables/bom/BomTable.tsx:282 msgid "Show validated items" msgstr "" -#: src/tables/bom/BomTable.tsx:284 +#: src/tables/bom/BomTable.tsx:286 #: src/tables/bom/UsedInTable.tsx:63 msgid "Inherited" msgstr "" -#: src/tables/bom/BomTable.tsx:285 +#: src/tables/bom/BomTable.tsx:287 #: src/tables/bom/UsedInTable.tsx:64 msgid "Show inherited items" msgstr "" -#: src/tables/bom/BomTable.tsx:289 +#: src/tables/bom/BomTable.tsx:291 #: src/tables/bom/UsedInTable.tsx:68 #: src/tables/build/BuildLineTable.tsx:46 msgid "Optional" msgstr "" -#: src/tables/bom/BomTable.tsx:290 +#: src/tables/bom/BomTable.tsx:292 #: src/tables/bom/UsedInTable.tsx:69 msgid "Show optional items" msgstr "" -#: src/tables/bom/BomTable.tsx:294 +#: src/tables/bom/BomTable.tsx:296 #: src/tables/build/BuildLineTable.tsx:41 msgid "Consumable" msgstr "" -#: src/tables/bom/BomTable.tsx:295 +#: src/tables/bom/BomTable.tsx:297 msgid "Show consumable items" msgstr "" -#: src/tables/bom/BomTable.tsx:299 +#: src/tables/bom/BomTable.tsx:301 msgid "Has Pricing" msgstr "" -#: src/tables/bom/BomTable.tsx:300 -msgid "Show items with pricing" -msgstr "" - #: src/tables/bom/BomTable.tsx:301 #~ msgid "Create BOM Item" #~ msgstr "Create BOM Item" -#: src/tables/bom/BomTable.tsx:309 -#: src/tables/bom/BomTable.tsx:397 +#: src/tables/bom/BomTable.tsx:302 +msgid "Show items with pricing" +msgstr "" + +#: src/tables/bom/BomTable.tsx:311 +#: src/tables/bom/BomTable.tsx:399 msgid "Add BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:314 +#: src/tables/bom/BomTable.tsx:316 msgid "BOM item created" msgstr "" -#: src/tables/bom/BomTable.tsx:321 +#: src/tables/bom/BomTable.tsx:323 msgid "Edit BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:323 +#: src/tables/bom/BomTable.tsx:325 msgid "BOM item updated" msgstr "" -#: src/tables/bom/BomTable.tsx:330 -msgid "Delete BOM Item" -msgstr "" - -#: src/tables/bom/BomTable.tsx:331 -msgid "BOM item deleted" -msgstr "" - #: src/tables/bom/BomTable.tsx:331 #~ msgid "Edit Bom Item" #~ msgstr "Edit Bom Item" +#: src/tables/bom/BomTable.tsx:332 +msgid "Delete BOM Item" +msgstr "" + +#: src/tables/bom/BomTable.tsx:333 +msgid "BOM item deleted" +msgstr "" + #: src/tables/bom/BomTable.tsx:333 #~ msgid "Bom item updated" #~ msgstr "Bom item updated" -#: src/tables/bom/BomTable.tsx:341 +#: src/tables/bom/BomTable.tsx:343 msgid "View BOM" msgstr "" @@ -4917,11 +5027,11 @@ msgstr "" #~ msgid "Are you sure you want to remove this BOM item?" #~ msgstr "Are you sure you want to remove this BOM item?" -#: src/tables/bom/BomTable.tsx:352 +#: src/tables/bom/BomTable.tsx:354 msgid "Validate BOM line" msgstr "" -#: src/tables/bom/BomTable.tsx:360 +#: src/tables/bom/BomTable.tsx:362 msgid "Edit Substitutes" msgstr "" @@ -5038,11 +5148,11 @@ msgid "Filter by responsible owner" msgstr "" #: src/tables/build/BuildOutputTable.tsx:114 -#: src/tables/build/BuildOutputTable.tsx:150 +#: src/tables/build/BuildOutputTable.tsx:152 msgid "Add Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:155 +#: src/tables/build/BuildOutputTable.tsx:157 msgid "Complete selected outputs" msgstr "" @@ -5050,68 +5160,68 @@ msgstr "" #~ msgid "Delete build output" #~ msgstr "Delete build output" -#: src/tables/build/BuildOutputTable.tsx:165 +#: src/tables/build/BuildOutputTable.tsx:167 msgid "Scrap selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:175 +#: src/tables/build/BuildOutputTable.tsx:177 msgid "Cancel selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:191 +#: src/tables/build/BuildOutputTable.tsx:193 msgid "Allocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:192 +#: src/tables/build/BuildOutputTable.tsx:194 msgid "Allocate stock to build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:197 +#: src/tables/build/BuildOutputTable.tsx:199 msgid "Deallocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:198 +#: src/tables/build/BuildOutputTable.tsx:200 msgid "Deallocate stock from build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:203 +#: src/tables/build/BuildOutputTable.tsx:205 msgid "Complete" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:204 +#: src/tables/build/BuildOutputTable.tsx:206 msgid "Complete build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:213 +#: src/tables/build/BuildOutputTable.tsx:215 msgid "Scrap" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:214 +#: src/tables/build/BuildOutputTable.tsx:216 msgid "Scrap build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:224 +#: src/tables/build/BuildOutputTable.tsx:226 msgid "Cancel build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:251 +#: src/tables/build/BuildOutputTable.tsx:253 msgid "Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:264 +#: src/tables/build/BuildOutputTable.tsx:266 msgid "Batch" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:278 +#: src/tables/build/BuildOutputTable.tsx:280 msgid "Allocated Items" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:288 +#: src/tables/build/BuildOutputTable.tsx:290 msgid "Required Tests" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:317 -#: src/tables/stock/StockItemTestResultTable.tsx:146 +#: src/tables/build/BuildOutputTable.tsx:319 +#: src/tables/stock/StockItemTestResultTable.tsx:144 msgid "Test Results" msgstr "" @@ -5132,7 +5242,7 @@ msgstr "" msgid "Delete Address" msgstr "" -#: src/tables/company/AddressTable.tsx:145 +#: src/tables/company/AddressTable.tsx:144 msgid "Are you sure you want to delete this address?" msgstr "" @@ -5177,36 +5287,52 @@ msgstr "" msgid "Add contact" msgstr "" -#: src/tables/general/AttachmentTable.tsx:161 +#: src/tables/general/AttachmentTable.tsx:130 msgid "File uploaded" msgstr "" -#: src/tables/general/AttachmentTable.tsx:162 +#: src/tables/general/AttachmentTable.tsx:131 msgid "File {0} uploaded successfully" msgstr "" -#: src/tables/general/AttachmentTable.tsx:173 +#: src/tables/general/AttachmentTable.tsx:142 msgid "Upload Error" msgstr "" -#: src/tables/general/AttachmentTable.tsx:174 +#: src/tables/general/AttachmentTable.tsx:143 msgid "File could not be uploaded" msgstr "" #: src/tables/general/AttachmentTable.tsx:187 +msgid "Upload Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:197 +msgid "Edit Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:211 +msgid "Delete Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:221 msgid "Add attachment" msgstr "" -#: src/tables/general/AttachmentTable.tsx:207 +#: src/tables/general/AttachmentTable.tsx:232 msgid "Add external link" msgstr "" -#: src/tables/general/AttachmentTable.tsx:239 +#: src/tables/general/AttachmentTable.tsx:254 +#~ msgid "Upload attachment" +#~ msgstr "Upload attachment" + +#: src/tables/general/AttachmentTable.tsx:289 msgid "No attachments found" msgstr "" -#: src/tables/general/AttachmentTable.tsx:254 -msgid "Upload attachment" +#: src/tables/general/AttachmentTable.tsx:325 +msgid "Drag attachment file here to upload" msgstr "" #: src/tables/machine/MachineListTable.tsx:199 @@ -5332,8 +5458,8 @@ msgstr "" #: src/tables/machine/MachineTypeTable.tsx:135 #: src/tables/machine/MachineTypeTable.tsx:255 -#: src/tables/plugin/PluginListTable.tsx:215 -#: src/tables/plugin/PluginListTable.tsx:643 +#: src/tables/plugin/PluginListTable.tsx:180 +#: src/tables/plugin/PluginListTable.tsx:568 msgid "Builtin" msgstr "" @@ -5375,7 +5501,7 @@ msgid "Message" msgstr "" #: src/tables/part/ParametricPartTable.tsx:75 -#: src/tables/part/PartParameterTable.tsx:87 +#: src/tables/part/PartParameterTable.tsx:88 msgid "Internal Units" msgstr "" @@ -5388,29 +5514,29 @@ msgid "Add Part Parameter" msgstr "" #: src/tables/part/ParametricPartTable.tsx:147 -#: src/tables/part/PartParameterTable.tsx:128 -#: src/tables/part/PartParameterTable.tsx:150 +#: src/tables/part/PartParameterTable.tsx:121 +#: src/tables/part/PartParameterTable.tsx:144 msgid "Edit Part Parameter" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:64 +#: src/tables/part/PartCategoryTable.tsx:60 #: src/tables/part/PartTable.tsx:180 msgid "Include Subcategories" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:65 +#: src/tables/part/PartCategoryTable.tsx:61 msgid "Include subcategories in results" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:70 +#: src/tables/part/PartCategoryTable.tsx:66 msgid "Show structural categories" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:77 +#: src/tables/part/PartCategoryTable.tsx:73 msgid "New Part Category" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:106 +#: src/tables/part/PartCategoryTable.tsx:98 msgid "Add Part Category" msgstr "" @@ -5435,20 +5561,20 @@ msgstr "" #~ msgid "[{0}]" #~ msgstr "[{0}]" -#: src/tables/part/PartParameterTable.tsx:112 +#: src/tables/part/PartParameterTable.tsx:105 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:136 -#: src/tables/part/PartParameterTable.tsx:158 +#: src/tables/part/PartParameterTable.tsx:130 +#: src/tables/part/PartParameterTable.tsx:152 msgid "Delete Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:175 +#: src/tables/part/PartParameterTable.tsx:170 msgid "Add parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:196 +#: src/tables/part/PartParameterTable.tsx:191 #: src/tables/stock/StockItemTable.tsx:300 msgid "Include Variants" msgstr "" @@ -5482,15 +5608,15 @@ msgstr "" msgid "Add Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:97 +#: src/tables/part/PartParameterTemplateTable.tsx:100 msgid "Edit Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:105 +#: src/tables/part/PartParameterTemplateTable.tsx:111 msgid "Delete Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:135 +#: src/tables/part/PartParameterTemplateTable.tsx:141 msgid "Add parameter template" msgstr "" @@ -5588,7 +5714,7 @@ msgid "No Results" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:79 -#: src/tables/stock/StockItemTestResultTable.tsx:385 +#: src/tables/stock/StockItemTestResultTable.tsx:376 msgid "Required" msgstr "" @@ -5597,8 +5723,8 @@ msgid "Show required tests" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:84 -#: src/tables/settings/TemplateTable.tsx:213 -#: src/tables/settings/TemplateTable.tsx:275 +#: src/tables/settings/TemplateTable.tsx:160 +#: src/tables/settings/TemplateTable.tsx:270 msgid "Enabled" msgstr "" @@ -5639,26 +5765,30 @@ msgid "Show tests which have recorded results" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:126 -#: src/tables/part/PartTestTemplateTable.tsx:195 +#: src/tables/part/PartTestTemplateTable.tsx:201 msgid "Add Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:139 +#: src/tables/part/PartTestTemplateTable.tsx:142 msgid "Edit Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:147 +#: src/tables/part/PartTestTemplateTable.tsx:153 msgid "Delete Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:149 +#: src/tables/part/PartTestTemplateTable.tsx:155 msgid "This action cannot be reversed" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:151 +#: src/tables/part/PartTestTemplateTable.tsx:157 msgid "Any tests results associated with this template will be deleted" msgstr "" +#: src/tables/part/PartThumbTable.tsx:203 +msgid "Select" +msgstr "" + #: src/tables/part/PartVariantTable.tsx:16 msgid "Show active variants" msgstr "" @@ -5695,252 +5825,273 @@ msgstr "" msgid "Stage" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:113 -msgid "Plugin with id {id} not found" +#: src/tables/plugin/PluginListTable.tsx:95 +msgid "Plugin with key {pluginKey} not found" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:115 +#: src/tables/plugin/PluginListTable.tsx:97 msgid "An error occurred while fetching plugin details" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:134 -msgid "Plugin Actions" -msgstr "" +#: src/tables/plugin/PluginListTable.tsx:113 +#~ msgid "Plugin with id {id} not found" +#~ msgstr "Plugin with id {id} not found" -#: src/tables/plugin/PluginListTable.tsx:138 -#: src/tables/plugin/PluginListTable.tsx:141 -msgid "Edit plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:152 -#: src/tables/plugin/PluginListTable.tsx:153 -msgid "Reload" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:166 +#: src/tables/plugin/PluginListTable.tsx:122 msgid "Plugin information" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:177 +#: src/tables/plugin/PluginListTable.tsx:134 msgid "Author" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:198 +#: src/tables/plugin/PluginListTable.tsx:134 +#~ msgid "Plugin Actions" +#~ msgstr "Plugin Actions" + +#: src/tables/plugin/PluginListTable.tsx:138 +#: src/tables/plugin/PluginListTable.tsx:141 +#~ msgid "Edit plugin" +#~ msgstr "Edit plugin" + +#: src/tables/plugin/PluginListTable.tsx:152 +#: src/tables/plugin/PluginListTable.tsx:153 +#~ msgid "Reload" +#~ msgstr "Reload" + +#: src/tables/plugin/PluginListTable.tsx:154 +msgid "Plugin is not active" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:163 msgid "Package information" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:204 +#: src/tables/plugin/PluginListTable.tsx:169 msgid "Package Name" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:210 +#: src/tables/plugin/PluginListTable.tsx:175 msgid "Installation Path" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:220 +#: src/tables/plugin/PluginListTable.tsx:185 msgid "Package" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:231 +#: src/tables/plugin/PluginListTable.tsx:197 msgid "Plugin settings" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:248 +#: src/tables/plugin/PluginListTable.tsx:214 msgid "Plugin is active" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:254 +#: src/tables/plugin/PluginListTable.tsx:220 msgid "Plugin is inactive" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:261 +#: src/tables/plugin/PluginListTable.tsx:227 msgid "Plugin is not installed" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:287 +#: src/tables/plugin/PluginListTable.tsx:253 msgid "Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:312 +#: src/tables/plugin/PluginListTable.tsx:287 msgid "Description not available" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:338 +#: src/tables/plugin/PluginListTable.tsx:319 +msgid "Confirm plugin activation" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:320 +msgid "Confirm plugin deactivation" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:325 +msgid "The selected plugin will be activated" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:326 +msgid "The selected plugin will be deactivated" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:334 msgid "Activate Plugin" msgstr "" #: src/tables/plugin/PluginListTable.tsx:338 -msgid "Deactivate Plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:347 -msgid "Confirm plugin activation" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:348 -msgid "Confirm plugin deactivation" -msgstr "" +#~ msgid "Deactivate Plugin" +#~ msgstr "Deactivate Plugin" #: src/tables/plugin/PluginListTable.tsx:354 -msgid "The following plugin will be activated" -msgstr "" +#~ msgid "The following plugin will be activated" +#~ msgstr "The following plugin will be activated" #: src/tables/plugin/PluginListTable.tsx:355 -msgid "The following plugin will be deactivated" -msgstr "" +#~ msgid "The following plugin will be deactivated" +#~ msgstr "The following plugin will be deactivated" -#: src/tables/plugin/PluginListTable.tsx:366 -msgid "Confirm" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:376 -msgid "Activating plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:376 -msgid "Deactivating plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:392 -msgid "Plugin updated" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:394 -msgid "The plugin was activated" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:395 -msgid "The plugin was deactivated" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:403 -msgid "Error updating plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:423 +#: src/tables/plugin/PluginListTable.tsx:362 msgid "Deactivate" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:432 +#: src/tables/plugin/PluginListTable.tsx:366 +#~ msgid "Confirm" +#~ msgstr "Confirm" + +#: src/tables/plugin/PluginListTable.tsx:373 msgid "Activate" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:463 +#: src/tables/plugin/PluginListTable.tsx:376 +#~ msgid "Activating plugin" +#~ msgstr "Activating plugin" + +#: src/tables/plugin/PluginListTable.tsx:376 +#~ msgid "Deactivating plugin" +#~ msgstr "Deactivating plugin" + +#: src/tables/plugin/PluginListTable.tsx:392 +#~ msgid "Plugin updated" +#~ msgstr "Plugin updated" + +#: src/tables/plugin/PluginListTable.tsx:394 +#~ msgid "The plugin was activated" +#~ msgstr "The plugin was activated" + +#: src/tables/plugin/PluginListTable.tsx:395 +#~ msgid "The plugin was deactivated" +#~ msgstr "The plugin was deactivated" + +#: src/tables/plugin/PluginListTable.tsx:403 +#~ msgid "Error updating plugin" +#~ msgstr "Error updating plugin" + +#: src/tables/plugin/PluginListTable.tsx:406 msgid "Uninstall" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:495 +#: src/tables/plugin/PluginListTable.tsx:438 msgid "Install plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:508 +#: src/tables/plugin/PluginListTable.tsx:451 msgid "Install" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:512 +#: src/tables/plugin/PluginListTable.tsx:452 msgid "Plugin installed successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:525 +#: src/tables/plugin/PluginListTable.tsx:457 msgid "Uninstall Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:537 +#: src/tables/plugin/PluginListTable.tsx:469 msgid "Confirm plugin uninstall" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:540 +#: src/tables/plugin/PluginListTable.tsx:472 msgid "The selected plugin will be uninstalled." msgstr "" -#: src/tables/plugin/PluginListTable.tsx:541 +#: src/tables/plugin/PluginListTable.tsx:473 msgid "This action cannot be undone." msgstr "" -#: src/tables/plugin/PluginListTable.tsx:547 +#: src/tables/plugin/PluginListTable.tsx:477 msgid "Plugin uninstalled successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:560 +#: src/tables/plugin/PluginListTable.tsx:484 msgid "Delete Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:562 +#: src/tables/plugin/PluginListTable.tsx:485 msgid "Deleting this plugin configuration will remove all associated settings and data. Are you sure you want to delete this plugin?" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:574 +#: src/tables/plugin/PluginListTable.tsx:498 msgid "Plugins reloaded" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:575 +#: src/tables/plugin/PluginListTable.tsx:499 msgid "Plugins were reloaded successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:591 +#: src/tables/plugin/PluginListTable.tsx:515 msgid "Reload Plugins" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:600 +#: src/tables/plugin/PluginListTable.tsx:524 msgid "Install Plugin" msgstr "" +#: src/tables/plugin/PluginListTable.tsx:544 +msgid "Plugin Detail" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:573 +msgid "Sample" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:578 +#: src/tables/stock/StockItemTable.tsx:305 +msgid "Installed" +msgstr "" + #: src/tables/plugin/PluginListTable.tsx:615 #~ msgid "Plugin detail" #~ msgstr "Plugin detail" -#: src/tables/plugin/PluginListTable.tsx:619 -msgid "Plugin Detail" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:648 -msgid "Sample" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:653 -#: src/tables/stock/StockItemTable.tsx:305 -msgid "Installed" -msgstr "" - -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:57 -msgid "Edit Parameter" +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:59 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:108 +msgid "Add Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:60 -msgid "Parameter updated" -msgstr "" +#~ msgid "Parameter updated" +#~ msgstr "Parameter updated" -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:71 -msgid "Delete Parameter" +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:70 +msgid "Edit Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:73 -msgid "Parameter deleted" -msgstr "" +#~ msgid "Parameter deleted" +#~ msgstr "Parameter deleted" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:74 -msgid "Are you sure you want to delete this parameter?" +#~ msgid "Are you sure you want to delete this parameter?" +#~ msgstr "Are you sure you want to delete this parameter?" + +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:78 +msgid "Delete Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartTable.tsx:63 #~ msgid "Create Manufacturer Part" #~ msgstr "Create Manufacturer Part" -#: src/tables/purchasing/ManufacturerPartTable.tsx:100 -msgid "Manufacturer part updated" -msgstr "" - -#: src/tables/purchasing/ManufacturerPartTable.tsx:111 +#: src/tables/purchasing/ManufacturerPartTable.tsx:92 msgid "Delete Manufacturer Part" msgstr "" +#: src/tables/purchasing/ManufacturerPartTable.tsx:100 +#~ msgid "Manufacturer part updated" +#~ msgstr "Manufacturer part updated" + #: src/tables/purchasing/ManufacturerPartTable.tsx:112 -msgid "Manufacturer part deleted" -msgstr "" +#~ msgid "Manufacturer part deleted" +#~ msgstr "Manufacturer part deleted" #: src/tables/purchasing/ManufacturerPartTable.tsx:114 -msgid "Are you sure you want to remove this manufacturer part?" -msgstr "" +#~ msgid "Are you sure you want to remove this manufacturer part?" +#~ msgstr "Are you sure you want to remove this manufacturer part?" #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:86 msgid "Part Description" @@ -6087,18 +6238,22 @@ msgid "Error Information" msgstr "" #: src/tables/settings/ErrorTable.tsx:51 -msgid "Delete error report" +msgid "Delete Error Report" msgstr "" +#: src/tables/settings/ErrorTable.tsx:51 +#~ msgid "Delete error report" +#~ msgstr "Delete error report" + #: src/tables/settings/ErrorTable.tsx:53 -msgid "Error report deleted" -msgstr "" - -#: src/tables/settings/ErrorTable.tsx:54 msgid "Are you sure you want to delete this error report?" msgstr "" -#: src/tables/settings/ErrorTable.tsx:67 +#: src/tables/settings/ErrorTable.tsx:55 +msgid "Error report deleted" +msgstr "" + +#: src/tables/settings/ErrorTable.tsx:77 #: src/tables/settings/FailedTasksTable.tsx:57 msgid "Error Details" msgstr "" @@ -6115,7 +6270,7 @@ msgid "Task ID" msgstr "" #: src/tables/settings/FailedTasksTable.tsx:34 -#: src/tables/stock/StockItemTestResultTable.tsx:214 +#: src/tables/stock/StockItemTestResultTable.tsx:205 msgid "Started" msgstr "" @@ -6188,30 +6343,71 @@ msgstr "" msgid "Next Run" msgstr "" -#: src/tables/settings/TemplateTable.tsx:120 -msgid "{templateTypeTranslation} with id {id} not found" +#: src/tables/settings/TemplateTable.tsx:82 +msgid "Template not found" msgstr "" +#: src/tables/settings/TemplateTable.tsx:84 +msgid "An error occurred while fetching template details" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:120 +#~ msgid "{templateTypeTranslation} with id {id} not found" +#~ msgstr "{templateTypeTranslation} with id {id} not found" + #: src/tables/settings/TemplateTable.tsx:124 -msgid "An error occurred while fetching {templateTypeTranslation} details" -msgstr "" +#~ msgid "An error occurred while fetching {templateTypeTranslation} details" +#~ msgstr "An error occurred while fetching {templateTypeTranslation} details" #: src/tables/settings/TemplateTable.tsx:146 -msgid "actions" +#~ msgid "actions" +#~ msgstr "actions" + +#: src/tables/settings/TemplateTable.tsx:170 +msgid "Modify" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:171 +msgid "Modify template file" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:222 +#: src/tables/settings/TemplateTable.tsx:289 +msgid "Edit Template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:230 +msgid "Delete template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:236 +msgid "Add Template" msgstr "" #: src/tables/settings/TemplateTable.tsx:243 -msgid "Add new" -msgstr "" +#~ msgid "Add new" +#~ msgstr "Add new" #: src/tables/settings/TemplateTable.tsx:243 #~ msgid "Create new" #~ msgstr "Create new" -#: src/tables/settings/TemplateTable.tsx:276 +#: src/tables/settings/TemplateTable.tsx:249 +msgid "Add template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:271 msgid "Filter by enabled status" msgstr "" +#: src/tables/settings/TemplateTable.tsx:276 +msgid "Model Type" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:277 +msgid "Filter by target model type" +msgstr "" + #: src/tables/settings/UserTable.tsx:79 msgid "User with id {id} not found" msgstr "" @@ -6277,6 +6473,23 @@ msgstr "" msgid "Edit user" msgstr "" +#: src/tables/stock/LocationTypesTable.tsx:36 +#: src/tables/stock/LocationTypesTable.tsx:105 +msgid "Add Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:44 +msgid "Edit Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:52 +msgid "Delete Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:69 +msgid "Icon" +msgstr "" + #: src/tables/stock/StockItemTable.tsx:90 msgid "This stock item is in production" msgstr "" @@ -6338,7 +6551,7 @@ msgid "Show items which are available" msgstr "" #: src/tables/stock/StockItemTable.tsx:280 -#: src/tables/stock/StockLocationTable.tsx:37 +#: src/tables/stock/StockLocationTable.tsx:33 msgid "Include Sublocations" msgstr "" @@ -6467,123 +6680,135 @@ msgstr "" msgid "Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:153 +#: src/tables/stock/StockItemTestResultTable.tsx:151 msgid "Test result for installed stock item" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:164 +#: src/tables/stock/StockItemTestResultTable.tsx:162 msgid "Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:170 +#: src/tables/stock/StockItemTestResultTable.tsx:168 msgid "No Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:186 +#: src/tables/stock/StockItemTestResultTable.tsx:184 msgid "Attachment" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:209 +#: src/tables/stock/StockItemTestResultTable.tsx:200 msgid "Test station" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:229 +#: src/tables/stock/StockItemTestResultTable.tsx:220 msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:277 -#: src/tables/stock/StockItemTestResultTable.tsx:349 -#: src/tables/stock/StockItemTestResultTable.tsx:404 +#: src/tables/stock/StockItemTestResultTable.tsx:268 +#: src/tables/stock/StockItemTestResultTable.tsx:340 +#: src/tables/stock/StockItemTestResultTable.tsx:395 msgid "Add Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:279 +#: src/tables/stock/StockItemTestResultTable.tsx:270 msgid "Test result added" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:288 -#: src/tables/stock/StockItemTestResultTable.tsx:359 +#: src/tables/stock/StockItemTestResultTable.tsx:279 +#: src/tables/stock/StockItemTestResultTable.tsx:350 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:290 +#: src/tables/stock/StockItemTestResultTable.tsx:281 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:296 -#: src/tables/stock/StockItemTestResultTable.tsx:368 +#: src/tables/stock/StockItemTestResultTable.tsx:287 +#: src/tables/stock/StockItemTestResultTable.tsx:359 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:298 +#: src/tables/stock/StockItemTestResultTable.tsx:289 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:312 +#: src/tables/stock/StockItemTestResultTable.tsx:303 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:313 +#: src/tables/stock/StockItemTestResultTable.tsx:304 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:320 +#: src/tables/stock/StockItemTestResultTable.tsx:311 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:337 +#: src/tables/stock/StockItemTestResultTable.tsx:328 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:386 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:390 +#: src/tables/stock/StockItemTestResultTable.tsx:381 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:391 +#: src/tables/stock/StockItemTestResultTable.tsx:382 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:395 +#: src/tables/stock/StockItemTestResultTable.tsx:386 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:396 +#: src/tables/stock/StockItemTestResultTable.tsx:387 msgid "Show only passed tests" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:38 +#: src/tables/stock/StockLocationTable.tsx:34 msgid "Include sublocations in results" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:42 +#: src/tables/stock/StockLocationTable.tsx:38 msgid "structural" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:43 +#: src/tables/stock/StockLocationTable.tsx:39 msgid "Show structural locations" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:47 +#: src/tables/stock/StockLocationTable.tsx:43 msgid "external" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:48 +#: src/tables/stock/StockLocationTable.tsx:44 msgid "Show external locations" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:52 +#: src/tables/stock/StockLocationTable.tsx:48 msgid "Has location type" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:89 -#: src/tables/stock/StockLocationTable.tsx:118 +#: src/tables/stock/StockLocationTable.tsx:85 +#: src/tables/stock/StockLocationTable.tsx:110 msgid "Add Stock Location" msgstr "" +#: src/tables/stock/StockTrackingTable.tsx:64 +msgid "Added" +msgstr "" + +#: src/tables/stock/StockTrackingTable.tsx:69 +msgid "Removed" +msgstr "" + +#: src/tables/stock/StockTrackingTable.tsx:198 +msgid "No user information" +msgstr "" + #: src/views/MobileAppView.tsx:22 msgid "Mobile viewport detected" msgstr "" diff --git a/src/frontend/src/locales/hi/messages.po b/src/frontend/src/locales/hi/messages.po index 2a3a21ebf1..24cbe1fc29 100644 --- a/src/frontend/src/locales/hi/messages.po +++ b/src/frontend/src/locales/hi/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: hi\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-05-13 02:48\n" +"PO-Revision-Date: 2024-05-23 11:39\n" "Last-Translator: \n" "Language-Team: Hindi\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -30,10 +30,67 @@ msgstr "" msgid "Title" msgstr "शीर्षक" +#: src/components/buttons/AdminButton.tsx:83 +msgid "Open in admin interface" +msgstr "" + #: src/components/buttons/CopyButton.tsx:18 msgid "Copy to clipboard" msgstr "" +#: src/components/buttons/PrintingActions.tsx:95 +msgid "Print Label" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:101 +msgid "Label printing completed successfully" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:106 +#: src/components/buttons/PrintingActions.tsx:143 +#: src/components/forms/ApiForm.tsx:504 +#: src/components/forms/fields/ApiFormField.tsx:295 +#: src/components/modals/LicenseModal.tsx:75 +#: src/components/nav/SearchDrawer.tsx:413 +#: src/components/widgets/MarkdownEditor.tsx:107 +#: src/components/widgets/MarkdownEditor.tsx:153 +#: src/pages/ErrorPage.tsx:12 +#: src/pages/ErrorPage.tsx:25 +#: src/pages/part/PartPricingPanel.tsx:71 +#: src/tables/InvenTreeTable.tsx:451 +#: src/tables/InvenTreeTable.tsx:531 +#: src/tables/stock/StockItemTestResultTable.tsx:310 +msgid "Error" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:107 +msgid "The label could not be generated" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:122 +msgid "Print Report" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:138 +msgid "Report printing completed successfully" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:144 +msgid "The report could not be generated" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:171 +msgid "Printing Actions" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:176 +msgid "Print Labels" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:182 +msgid "Print Reports" +msgstr "" + #: src/components/buttons/ScanButton.tsx:15 msgid "Scan QR code" msgstr "क्यूआर कोड स्कैन करें" @@ -57,22 +114,22 @@ msgstr "" #: src/components/buttons/YesNoButton.tsx:32 #: src/tables/Filter.tsx:51 msgid "Yes" -msgstr "" +msgstr "हाँ" #: src/components/buttons/YesNoButton.tsx:32 #: src/tables/Filter.tsx:52 msgid "No" msgstr "" -#: src/components/details/Details.tsx:302 +#: src/components/details/Details.tsx:303 msgid "No name defined" msgstr "" -#: src/components/details/Details.tsx:339 +#: src/components/details/Details.tsx:340 msgid "Copied" msgstr "" -#: src/components/details/Details.tsx:339 +#: src/components/details/Details.tsx:340 msgid "Copy" msgstr "" @@ -85,24 +142,23 @@ msgid "Remove the associated image from this item?" msgstr "" #: src/components/details/DetailsImage.tsx:71 -#: src/forms/StockForms.tsx:442 +#: src/forms/StockForms.tsx:483 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:448 +#: src/pages/stock/StockDetail.tsx:462 msgid "Remove" msgstr "" #: src/components/details/DetailsImage.tsx:71 -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:163 -#: src/components/items/ActionDropdown.tsx:222 -#: src/components/items/ActionDropdown.tsx:223 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 +#: src/components/items/ActionDropdown.tsx:229 +#: src/components/items/ActionDropdown.tsx:230 #: src/contexts/ThemeContext.tsx:43 #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:40 -#: src/tables/FilterSelectDrawer.tsx:218 -#: src/tables/InvenTreeTable.tsx:493 -#: src/tables/build/BuildOutputTable.tsx:223 -#: src/tables/plugin/PluginListTable.tsx:365 +#: src/tables/FilterSelectDrawer.tsx:207 +#: src/tables/InvenTreeTable.tsx:499 +#: src/tables/build/BuildOutputTable.tsx:225 msgid "Cancel" msgstr "" @@ -119,7 +175,7 @@ msgid "Clear" msgstr "" #: src/components/details/DetailsImage.tsx:227 -#: src/components/forms/ApiForm.tsx:554 +#: src/components/forms/ApiForm.tsx:571 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:56 msgid "Submit" @@ -150,9 +206,10 @@ msgid "Part is not active" msgstr "" #: src/components/details/PartIcons.tsx:34 -#: src/pages/company/CompanyDetail.tsx:308 -#: src/pages/company/SupplierPartDetail.tsx:304 -#: src/pages/part/PartDetail.tsx:684 +#: src/components/render/Plugin.tsx:17 +#: src/pages/company/CompanyDetail.tsx:310 +#: src/pages/company/SupplierPartDetail.tsx:305 +#: src/pages/part/PartDetail.tsx:685 msgid "Inactive" msgstr "" @@ -196,10 +253,10 @@ msgid "Code" msgstr "" #: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:44 -msgid "Failed to parse error response from server." -msgstr "" +#~ msgid "Failed to parse error response from server." +#~ msgstr "Failed to parse error response from server." -#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:82 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:81 msgid "Preview not available, click \"Reload Preview\"." msgstr "" @@ -207,98 +264,99 @@ msgstr "" msgid "PDF Preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:113 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:104 msgid "Error loading template" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:125 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:116 msgid "Error saving template" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 -msgid "Save & Reload preview?" +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:146 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:270 +msgid "Save & Reload Preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:156 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 msgid "Are you sure you want to Save & Reload the preview?" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 +#~ msgid "Save & Reload preview?" +#~ msgstr "Save & Reload preview?" + +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:153 msgid "To render the preview the current template needs to be replaced on the server with your modifications which may break the label if it is under active use. Do you want to proceed?" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:162 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:157 msgid "Save & Reload" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:191 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:189 msgid "Preview updated" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:192 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:190 msgid "The preview has been updated successfully." msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:255 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:262 msgid "Reload preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:256 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:263 msgid "Use the currently stored template from the server" msgstr "" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:263 -msgid "Save & Reload preview" -msgstr "" +#~ msgid "Save & Reload preview" +#~ msgstr "Save & Reload preview" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:264 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:271 msgid "Save the current template and reload the preview" msgstr "" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:322 -#: src/tables/part/PartThumbTable.tsx:203 -msgid "Select" +#~ msgid "to preview" +#~ msgstr "to preview" + +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:329 +msgid "Select instance to preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:322 -msgid "to preview" -msgstr "" - -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:366 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:373 msgid "Error rendering template" msgstr "" -#: src/components/forms/ApiForm.tsx:143 +#: src/components/forms/ApiForm.tsx:148 #: src/functions/forms.tsx:259 msgid "Form Error" msgstr "" -#: src/components/forms/ApiForm.tsx:411 +#: src/components/forms/ApiForm.tsx:428 #: src/components/widgets/MarkdownEditor.tsx:145 msgid "Success" msgstr "" #: src/components/forms/ApiForm.tsx:487 -msgid "Form Errors Exist" -msgstr "" +#~ msgid "Form Errors Exist" +#~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:592 -#: src/tables/plugin/PluginListTable.tsx:445 +#: src/components/forms/ApiForm.tsx:609 +#: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "" -#: src/components/forms/ApiForm.tsx:612 -#: src/components/items/ActionDropdown.tsx:203 +#: src/components/forms/ApiForm.tsx:629 +#: src/components/items/ActionDropdown.tsx:210 #: src/functions/forms.tsx:299 #: src/hooks/UseForm.tsx:122 #: src/pages/Index/Scan.tsx:343 #: src/pages/Notifications.tsx:123 -#: src/tables/InvenTreeTable.tsx:492 +#: src/tables/InvenTreeTable.tsx:498 #: src/tables/RowActions.tsx:71 -#: src/tables/plugin/PluginListTable.tsx:477 -#: src/tables/settings/TemplateTable.tsx:105 -#: src/tables/settings/TemplateTable.tsx:154 -#: src/tables/settings/TemplateTable.tsx:236 +#: src/tables/plugin/PluginListTable.tsx:420 msgid "Delete" msgstr "" @@ -468,18 +526,19 @@ msgstr "" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 -#: src/pages/part/CategoryDetail.tsx:77 -#: src/pages/part/PartDetail.tsx:125 -#: src/pages/stock/LocationDetail.tsx:83 +#: src/pages/part/CategoryDetail.tsx:78 +#: src/pages/part/PartDetail.tsx:126 +#: src/pages/stock/LocationDetail.tsx:85 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 #: src/tables/machine/MachineTypeTable.tsx:216 #: src/tables/machine/MachineTypeTable.tsx:319 #: src/tables/plugin/PluginErrorTable.tsx:33 -#: src/tables/plugin/PluginListTable.tsx:169 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:27 +#: src/tables/plugin/PluginListTable.tsx:126 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:32 #: src/tables/settings/GroupTable.tsx:103 #: src/tables/settings/PendingTasksTable.tsx:26 +#: src/tables/stock/LocationTypesTable.tsx:60 msgid "Name" msgstr "नाम" @@ -520,35 +579,20 @@ msgstr "" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/ApiFormField.tsx:276 -#: src/components/modals/LicenseModal.tsx:75 -#: src/components/nav/SearchDrawer.tsx:413 -#: src/components/widgets/MarkdownEditor.tsx:107 -#: src/components/widgets/MarkdownEditor.tsx:153 -#: src/pages/ErrorPage.tsx:12 -#: src/pages/ErrorPage.tsx:25 -#: src/pages/part/PartPricingPanel.tsx:71 -#: src/tables/InvenTreeTable.tsx:445 -#: src/tables/InvenTreeTable.tsx:525 -#: src/tables/plugin/PluginListTable.tsx:402 -#: src/tables/stock/StockItemTestResultTable.tsx:319 -msgid "Error" -msgstr "" - -#: src/components/forms/fields/RelatedModelField.tsx:305 +#: src/components/forms/fields/RelatedModelField.tsx:315 #: src/pages/Index/Settings/UserSettings.tsx:64 #: src/tables/Search.tsx:23 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:306 +#: src/components/forms/fields/RelatedModelField.tsx:316 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:120 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:308 +#: src/components/forms/fields/RelatedModelField.tsx:318 msgid "No results found" msgstr "" @@ -569,54 +613,51 @@ msgstr "" msgid "Thumbnail" msgstr "" -#: src/components/items/ActionDropdown.tsx:112 -#: src/pages/build/BuildDetail.tsx:354 +#: src/components/items/ActionDropdown.tsx:119 +#: src/pages/build/BuildDetail.tsx:360 msgid "Barcode Actions" msgstr "" -#: src/components/items/ActionDropdown.tsx:129 +#: src/components/items/ActionDropdown.tsx:136 msgid "View" msgstr "" -#: src/components/items/ActionDropdown.tsx:130 +#: src/components/items/ActionDropdown.tsx:137 msgid "View barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:146 +#: src/components/items/ActionDropdown.tsx:153 msgid "Link Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:147 +#: src/components/items/ActionDropdown.tsx:154 msgid "Link custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:163 -#: src/forms/PurchaseOrderForms.tsx:375 +#: src/components/items/ActionDropdown.tsx:170 +#: src/forms/PurchaseOrderForms.tsx:389 msgid "Unlink Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:164 +#: src/components/items/ActionDropdown.tsx:171 msgid "Unlink custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:182 +#: src/components/items/ActionDropdown.tsx:189 #: src/tables/RowActions.tsx:51 -#: src/tables/settings/TemplateTable.tsx:87 -#: src/tables/settings/TemplateTable.tsx:150 -#: src/tables/settings/TemplateTable.tsx:287 msgid "Edit" msgstr "" -#: src/components/items/ActionDropdown.tsx:204 +#: src/components/items/ActionDropdown.tsx:211 msgid "Delete item" msgstr "" -#: src/components/items/ActionDropdown.tsx:241 +#: src/components/items/ActionDropdown.tsx:248 #: src/tables/RowActions.tsx:31 msgid "Duplicate" msgstr "" -#: src/components/items/ActionDropdown.tsx:242 +#: src/components/items/ActionDropdown.tsx:249 msgid "Duplicate item" msgstr "" @@ -625,7 +666,7 @@ msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:437 +#: src/tables/InvenTreeTable.tsx:443 msgid "Unknown error" msgstr "" @@ -785,27 +826,27 @@ msgstr "" #: src/components/modals/QrCodeModal.tsx:154 #: src/defaults/menuItems.tsx:21 -#: src/pages/Index/Scan.tsx:747 +#: src/pages/Index/Scan.tsx:746 msgid "Scanning" msgstr "" #: src/components/modals/QrCodeModal.tsx:154 -#: src/pages/Index/Scan.tsx:747 +#: src/pages/Index/Scan.tsx:746 msgid "Not scanning" msgstr "" #: src/components/modals/QrCodeModal.tsx:159 -#: src/pages/Index/Scan.tsx:753 +#: src/pages/Index/Scan.tsx:752 msgid "Select Camera" msgstr "कैमरा चुनें" #: src/components/modals/QrCodeModal.tsx:169 -#: src/pages/Index/Scan.tsx:738 +#: src/pages/Index/Scan.tsx:737 msgid "Start scanning" msgstr "" #: src/components/modals/QrCodeModal.tsx:176 -#: src/pages/Index/Scan.tsx:730 +#: src/pages/Index/Scan.tsx:729 msgid "Stop scanning" msgstr "" @@ -891,8 +932,8 @@ msgid "Email settings not configured" msgstr "" #: src/components/modals/ServerInfoModal.tsx:121 -#: src/tables/plugin/PluginListTable.tsx:187 -#: src/tables/plugin/PluginListTable.tsx:319 +#: src/tables/plugin/PluginListTable.tsx:144 +#: src/tables/plugin/PluginListTable.tsx:294 msgid "Version" msgstr "" @@ -926,13 +967,13 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:293 +#: src/pages/Index/Settings/SystemSettings.tsx:294 msgid "System Settings" msgstr "" #: src/components/nav/MainMenu.tsx:67 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:172 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 msgid "Admin Center" msgstr "" @@ -975,7 +1016,7 @@ msgid "Pages" msgstr "" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:133 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:153 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "" @@ -1013,9 +1054,9 @@ msgid "Mark as read" msgstr "" #: src/components/nav/PartCategoryTree.tsx:158 -#: src/components/render/ModelType.tsx:60 +#: src/components/render/ModelType.tsx:64 #: src/pages/Index/Settings/SystemSettings.tsx:162 -#: src/pages/part/CategoryDetail.tsx:248 +#: src/pages/part/CategoryDetail.tsx:249 msgid "Part Categories" msgstr "" @@ -1052,142 +1093,147 @@ msgid "No results available for search query" msgstr "" #: src/components/nav/StockLocationTree.tsx:93 -#: src/components/render/ModelType.tsx:76 -#: src/pages/stock/LocationDetail.tsx:175 +#: src/components/render/ModelType.tsx:82 +#: src/pages/stock/LocationDetail.tsx:185 msgid "Stock Locations" msgstr "" -#: src/components/render/Instance.tsx:137 +#: src/components/render/Instance.tsx:166 msgid "Unknown model: {model}" msgstr "" -#: src/components/render/ModelType.tsx:21 -#: src/forms/BuildForms.tsx:184 -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49 +#: src/components/render/ModelType.tsx:22 +#: src/forms/BuildForms.tsx:201 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:83 #: src/pages/part/PartDetail.tsx:828 #: src/tables/part/RelatedPartTable.tsx:45 +#: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" msgstr "" -#: src/components/render/ModelType.tsx:22 +#: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 #: src/pages/Index/Settings/SystemSettings.tsx:167 -#: src/pages/part/CategoryDetail.tsx:109 -#: src/pages/part/CategoryDetail.tsx:234 -#: src/pages/part/CategoryDetail.tsx:264 -#: src/pages/part/PartDetail.tsx:638 +#: src/pages/part/CategoryDetail.tsx:110 +#: src/pages/part/CategoryDetail.tsx:235 +#: src/pages/part/CategoryDetail.tsx:265 +#: src/pages/part/PartDetail.tsx:639 msgid "Parts" msgstr "" -#: src/components/render/ModelType.tsx:29 +#: src/components/render/ModelType.tsx:31 msgid "Part Parameter Template" msgstr "" -#: src/components/render/ModelType.tsx:30 +#: src/components/render/ModelType.tsx:32 msgid "Part Parameter Templates" msgstr "" -#: src/components/render/ModelType.tsx:36 +#: src/components/render/ModelType.tsx:38 msgid "Part Test Template" msgstr "" -#: src/components/render/ModelType.tsx:37 +#: src/components/render/ModelType.tsx:39 msgid "Part Test Templates" msgstr "" -#: src/components/render/ModelType.tsx:43 -#: src/pages/company/SupplierPartDetail.tsx:189 -#: src/pages/company/SupplierPartDetail.tsx:317 -#: src/pages/stock/StockDetail.tsx:159 +#: src/components/render/ModelType.tsx:45 +#: src/pages/company/SupplierPartDetail.tsx:190 +#: src/pages/company/SupplierPartDetail.tsx:318 +#: src/pages/stock/StockDetail.tsx:162 #: src/tables/purchasing/SupplierPartTable.tsx:68 msgid "Supplier Part" msgstr "" -#: src/components/render/ModelType.tsx:44 +#: src/components/render/ModelType.tsx:46 msgid "Supplier Parts" msgstr "" -#: src/components/render/ModelType.tsx:51 -#: src/pages/company/ManufacturerPartDetail.tsx:124 +#: src/components/render/ModelType.tsx:54 +#: src/pages/company/ManufacturerPartDetail.tsx:125 msgid "Manufacturer Part" msgstr "" -#: src/components/render/ModelType.tsx:52 +#: src/components/render/ModelType.tsx:55 msgid "Manufacturer Parts" msgstr "" -#: src/components/render/ModelType.tsx:59 -#: src/pages/part/CategoryDetail.tsx:287 +#: src/components/render/ModelType.tsx:63 +#: src/pages/part/CategoryDetail.tsx:288 msgid "Part Category" msgstr "" -#: src/components/render/ModelType.tsx:67 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67 -#: src/pages/stock/StockDetail.tsx:535 +#: src/components/render/ModelType.tsx:72 +#: src/pages/stock/StockDetail.tsx:548 +#: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" msgstr "" -#: src/components/render/ModelType.tsx:68 -#: src/pages/company/CompanyDetail.tsx:197 -#: src/pages/stock/LocationDetail.tsx:116 -#: src/pages/stock/LocationDetail.tsx:161 +#: src/components/render/ModelType.tsx:73 +#: src/pages/company/CompanyDetail.tsx:199 +#: src/pages/stock/LocationDetail.tsx:118 +#: src/pages/stock/LocationDetail.tsx:171 #: src/pages/stock/LocationDetail.tsx:365 msgid "Stock Items" msgstr "" -#: src/components/render/ModelType.tsx:75 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:154 +#: src/components/render/ModelType.tsx:81 msgid "Stock Location" msgstr "" -#: src/components/render/ModelType.tsx:83 +#: src/components/render/ModelType.tsx:90 +msgid "Stock Location Type" +msgstr "" + +#: src/components/render/ModelType.tsx:91 +msgid "Stock Location Types" +msgstr "" + +#: src/components/render/ModelType.tsx:95 msgid "Stock History" msgstr "" -#: src/components/render/ModelType.tsx:84 +#: src/components/render/ModelType.tsx:96 msgid "Stock Histories" msgstr "" -#: src/components/render/ModelType.tsx:88 +#: src/components/render/ModelType.tsx:100 #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:43 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:126 msgid "Build" msgstr "" -#: src/components/render/ModelType.tsx:89 +#: src/components/render/ModelType.tsx:101 msgid "Builds" msgstr "" -#: src/components/render/ModelType.tsx:96 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:76 +#: src/components/render/ModelType.tsx:109 msgid "Build Line" msgstr "" -#: src/components/render/ModelType.tsx:97 +#: src/components/render/ModelType.tsx:110 msgid "Build Lines" msgstr "" -#: src/components/render/ModelType.tsx:104 -#: src/pages/company/CompanyDetail.tsx:321 +#: src/components/render/ModelType.tsx:117 +#: src/pages/company/CompanyDetail.tsx:323 msgid "Company" msgstr "" -#: src/components/render/ModelType.tsx:105 +#: src/components/render/ModelType.tsx:118 msgid "Companies" msgstr "" -#: src/components/render/ModelType.tsx:112 +#: src/components/render/ModelType.tsx:126 #: src/tables/TableHoverCard.tsx:58 #: src/tables/build/BuildOrderTable.tsx:131 #: src/tables/purchasing/PurchaseOrderTable.tsx:64 @@ -1196,170 +1242,199 @@ msgstr "" msgid "Project Code" msgstr "" -#: src/components/render/ModelType.tsx:113 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:97 +#: src/components/render/ModelType.tsx:127 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:105 msgid "Project Codes" msgstr "" -#: src/components/render/ModelType.tsx:119 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99 +#: src/components/render/ModelType.tsx:133 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:355 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:362 +#: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" msgstr "" -#: src/components/render/ModelType.tsx:120 -#: src/pages/Index/Settings/SystemSettings.tsx:242 -#: src/pages/company/CompanyDetail.tsx:190 -#: src/pages/company/SupplierPartDetail.tsx:223 -#: src/pages/part/PartDetail.tsx:571 +#: src/components/render/ModelType.tsx:134 +#: src/pages/Index/Settings/SystemSettings.tsx:243 +#: src/pages/company/CompanyDetail.tsx:192 +#: src/pages/company/SupplierPartDetail.tsx:224 +#: src/pages/part/PartDetail.tsx:572 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" -#: src/components/render/ModelType.tsx:127 +#: src/components/render/ModelType.tsx:142 msgid "Purchase Order Line" msgstr "" -#: src/components/render/ModelType.tsx:128 +#: src/components/render/ModelType.tsx:143 msgid "Purchase Order Lines" msgstr "" -#: src/components/render/ModelType.tsx:132 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:108 +#: src/components/render/ModelType.tsx:147 #: src/pages/build/BuildDetail.tsx:131 -#: src/pages/sales/SalesOrderDetail.tsx:340 -#: src/pages/stock/StockDetail.tsx:207 +#: src/pages/sales/SalesOrderDetail.tsx:347 +#: src/pages/stock/StockDetail.tsx:210 +#: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" msgstr "" -#: src/components/render/ModelType.tsx:133 -#: src/pages/Index/Settings/SystemSettings.tsx:257 -#: src/pages/company/CompanyDetail.tsx:210 -#: src/pages/part/PartDetail.tsx:577 +#: src/components/render/ModelType.tsx:148 +#: src/pages/Index/Settings/SystemSettings.tsx:258 +#: src/pages/company/CompanyDetail.tsx:212 +#: src/pages/part/PartDetail.tsx:578 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" -#: src/components/render/ModelType.tsx:140 +#: src/components/render/ModelType.tsx:156 msgid "Sales Order Shipment" msgstr "" -#: src/components/render/ModelType.tsx:141 +#: src/components/render/ModelType.tsx:157 msgid "Sales Order Shipments" msgstr "" -#: src/components/render/ModelType.tsx:147 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:117 -#: src/pages/sales/ReturnOrderDetail.tsx:318 +#: src/components/render/ModelType.tsx:163 +#: src/pages/sales/ReturnOrderDetail.tsx:325 +#: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "" -#: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:272 -#: src/pages/company/CompanyDetail.tsx:217 +#: src/components/render/ModelType.tsx:164 +#: src/pages/Index/Settings/SystemSettings.tsx:273 +#: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" msgstr "" -#: src/components/render/ModelType.tsx:155 +#: src/components/render/ModelType.tsx:172 #: src/tables/company/AddressTable.tsx:47 msgid "Address" msgstr "" -#: src/components/render/ModelType.tsx:156 -#: src/pages/company/CompanyDetail.tsx:247 +#: src/components/render/ModelType.tsx:173 +#: src/pages/company/CompanyDetail.tsx:249 msgid "Addresses" msgstr "" -#: src/components/render/ModelType.tsx:162 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:189 -#: src/pages/sales/ReturnOrderDetail.tsx:157 -#: src/pages/sales/SalesOrderDetail.tsx:161 +#: src/components/render/ModelType.tsx:179 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:191 +#: src/pages/sales/ReturnOrderDetail.tsx:159 +#: src/pages/sales/SalesOrderDetail.tsx:163 msgid "Contact" msgstr "" -#: src/components/render/ModelType.tsx:163 -#: src/pages/company/CompanyDetail.tsx:241 +#: src/components/render/ModelType.tsx:180 +#: src/pages/company/CompanyDetail.tsx:243 msgid "Contacts" msgstr "" -#: src/components/render/ModelType.tsx:169 +#: src/components/render/ModelType.tsx:186 msgid "Owner" msgstr "" -#: src/components/render/ModelType.tsx:170 +#: src/components/render/ModelType.tsx:187 msgid "Owners" msgstr "" -#: src/components/render/ModelType.tsx:176 +#: src/components/render/ModelType.tsx:193 +#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "" -#: src/components/render/ModelType.tsx:177 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:73 +#: src/components/render/ModelType.tsx:194 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:81 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "" -#: src/components/render/Order.tsx:87 +#: src/components/render/ModelType.tsx:200 +msgid "Label Template" +msgstr "" + +#: src/components/render/ModelType.tsx:201 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:135 +msgid "Label Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:207 +msgid "Report Template" +msgstr "" + +#: src/components/render/ModelType.tsx:208 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:141 +msgid "Report Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:214 +msgid "Plugin Configuration" +msgstr "" + +#: src/components/render/ModelType.tsx:215 +msgid "Plugin Configurations" +msgstr "" + +#: src/components/render/Order.tsx:104 msgid "Shipment" msgstr "" -#: src/components/render/Part.tsx:12 +#: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:198 -#: src/pages/part/PartDetail.tsx:491 +#: src/pages/Index/Settings/SystemSettings.tsx:199 +#: src/pages/part/PartDetail.tsx:492 #: src/pages/stock/LocationDetail.tsx:344 -#: src/pages/stock/StockDetail.tsx:344 +#: src/pages/stock/StockDetail.tsx:352 #: src/tables/stock/StockItemTable.tsx:57 msgid "Stock" msgstr "" -#: src/components/render/Stock.tsx:26 -#: src/pages/stock/StockDetail.tsx:142 -#: src/pages/stock/StockDetail.tsx:501 +#: src/components/render/Stock.tsx:52 +#: src/pages/stock/StockDetail.tsx:145 +#: src/pages/stock/StockDetail.tsx:514 msgid "Serial Number" msgstr "" -#: src/components/render/Stock.tsx:28 -#: src/forms/BuildForms.tsx:189 +#: src/components/render/Stock.tsx:54 +#: src/forms/BuildForms.tsx:206 #: src/pages/part/pricing/BomPricingPanel.tsx:144 -#: src/pages/part/pricing/PriceBreakPanel.tsx:96 -#: src/pages/stock/StockDetail.tsx:137 -#: src/pages/stock/StockDetail.tsx:507 +#: src/pages/part/pricing/PriceBreakPanel.tsx:94 +#: src/pages/stock/StockDetail.tsx:140 +#: src/pages/stock/StockDetail.tsx:520 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:73 +#: src/tables/stock/StockTrackingTable.tsx:59 msgid "Quantity" msgstr "" -#: src/components/settings/SettingItem.tsx:46 -#: src/components/settings/SettingItem.tsx:99 -msgid "Setting updated" -msgstr "" - #: src/components/settings/SettingItem.tsx:47 #: src/components/settings/SettingItem.tsx:100 -msgid "{0} updated successfully" -msgstr "" +#~ msgid "{0} updated successfully" +#~ msgstr "{0} updated successfully" -#: src/components/settings/SettingItem.tsx:55 -msgid "Error editing setting" -msgstr "" - -#: src/components/settings/SettingItem.tsx:92 +#: src/components/settings/SettingList.tsx:67 msgid "Edit Setting" msgstr "" -#: src/components/settings/SettingList.tsx:63 -msgid "No settings specified" +#: src/components/settings/SettingList.tsx:78 +#: src/components/settings/SettingList.tsx:108 +msgid "Setting {0} updated successfully" msgstr "" -#: src/components/tables/ColumnRenderers.tsx:134 -#~ msgid "Shipment Date" -#~ msgstr "Shipment Date" +#: src/components/settings/SettingList.tsx:107 +msgid "Setting updated" +msgstr "" + +#: src/components/settings/SettingList.tsx:117 +msgid "Error editing setting" +msgstr "" + +#: src/components/settings/SettingList.tsx:158 +msgid "No settings specified" +msgstr "" #: src/components/tables/FilterGroup.tsx:29 #~ msgid "Add table filter" @@ -1731,10 +1806,6 @@ msgstr "" #~ msgid "This is a test filter" #~ msgstr "This is a test filter" -#: src/components/tables/stock/StockLocationTable.tsx:91 -#~ msgid "Location Type" -#~ msgstr "Location Type" - #: src/components/tables/stock/StockLocationTable.tsx:145 #~ msgid "Stock location updated" #~ msgstr "Stock location updated" @@ -2072,7 +2143,7 @@ msgstr "" #~ msgstr "Local Server" #: src/defaults/links.tsx:11 -#: src/pages/company/CompanyDetail.tsx:90 +#: src/pages/company/CompanyDetail.tsx:92 msgid "Website" msgstr "" @@ -2087,10 +2158,10 @@ msgstr "" #: src/defaults/links.tsx:31 #: src/defaults/menuItems.tsx:48 #: src/pages/company/ManufacturerDetail.tsx:9 -#: src/pages/company/ManufacturerPartDetail.tsx:231 +#: src/pages/company/ManufacturerPartDetail.tsx:235 #: src/pages/company/SupplierDetail.tsx:9 -#: src/pages/company/SupplierPartDetail.tsx:291 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:358 +#: src/pages/company/SupplierPartDetail.tsx:292 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:365 #: src/pages/purchasing/PurchasingIndex.tsx:52 msgid "Purchasing" msgstr "" @@ -2098,15 +2169,15 @@ msgstr "" #: src/defaults/links.tsx:32 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:323 +#: src/pages/sales/ReturnOrderDetail.tsx:330 #: src/pages/sales/SalesIndex.tsx:45 -#: src/pages/sales/SalesOrderDetail.tsx:345 +#: src/pages/sales/SalesOrderDetail.tsx:352 msgid "Sales" msgstr "" #: src/defaults/links.tsx:35 #: src/defaults/menuItems.tsx:71 -#: src/pages/Index/Playground.tsx:239 +#: src/pages/Index/Playground.tsx:238 msgid "Playground" msgstr "" @@ -2240,87 +2311,83 @@ msgstr "" #~ msgstr "Combusken battles with the intensely hot flames it spews" #: src/forms/AttachmentForms.tsx:57 -msgid "Add File" -msgstr "" +#~ msgid "Add File" +#~ msgstr "Add File" #: src/forms/AttachmentForms.tsx:57 -msgid "Add Link" -msgstr "" +#~ msgid "Add Link" +#~ msgstr "Add Link" #: src/forms/AttachmentForms.tsx:58 -msgid "File added" -msgstr "" +#~ msgid "File added" +#~ msgstr "File added" #: src/forms/AttachmentForms.tsx:58 -msgid "Link added" -msgstr "" +#~ msgid "Link added" +#~ msgstr "Link added" #: src/forms/AttachmentForms.tsx:99 -msgid "Edit File" -msgstr "" +#~ msgid "Edit File" +#~ msgstr "Edit File" #: src/forms/AttachmentForms.tsx:99 -msgid "Edit Link" -msgstr "" +#~ msgid "Edit Link" +#~ msgstr "Edit Link" #: src/forms/AttachmentForms.tsx:100 -msgid "File updated" -msgstr "" +#~ msgid "File updated" +#~ msgstr "File updated" #: src/forms/AttachmentForms.tsx:100 -msgid "Link updated" -msgstr "" - -#: src/forms/AttachmentForms.tsx:124 -msgid "Delete Attachment" -msgstr "" +#~ msgid "Link updated" +#~ msgstr "Link updated" #: src/forms/AttachmentForms.tsx:125 -msgid "Attachment deleted" -msgstr "" +#~ msgid "Attachment deleted" +#~ msgstr "Attachment deleted" #: src/forms/AttachmentForms.tsx:128 -msgid "Are you sure you want to delete this attachment?" -msgstr "" +#~ msgid "Are you sure you want to delete this attachment?" +#~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BuildForms.tsx:129 +#: src/forms/BuildForms.tsx:146 msgid "Next serial number" msgstr "" -#: src/forms/BuildForms.tsx:133 +#: src/forms/BuildForms.tsx:150 msgid "Latest serial number" msgstr "" -#: src/forms/BuildForms.tsx:205 +#: src/forms/BuildForms.tsx:222 msgid "Remove output" msgstr "" -#: src/forms/BuildForms.tsx:287 +#: src/forms/BuildForms.tsx:304 msgid "Complete Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:291 +#: src/forms/BuildForms.tsx:308 msgid "Build outputs have been completed" msgstr "" -#: src/forms/BuildForms.tsx:360 +#: src/forms/BuildForms.tsx:377 msgid "Scrap Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:364 +#: src/forms/BuildForms.tsx:381 msgid "Build outputs have been scrapped" msgstr "" -#: src/forms/BuildForms.tsx:396 -#: src/forms/BuildForms.tsx:420 +#: src/forms/BuildForms.tsx:413 +#: src/forms/BuildForms.tsx:437 msgid "Cancel Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:397 +#: src/forms/BuildForms.tsx:414 msgid "Selected build outputs will be deleted" msgstr "" -#: src/forms/BuildForms.tsx:424 +#: src/forms/BuildForms.tsx:441 msgid "Build outputs have been cancelled" msgstr "" @@ -2344,76 +2411,76 @@ msgstr "" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PurchaseOrderForms.tsx:265 +#: src/forms/PurchaseOrderForms.tsx:279 msgid "Choose Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:273 +#: src/forms/PurchaseOrderForms.tsx:287 msgid "Item Destination selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:282 +#: src/forms/PurchaseOrderForms.tsx:296 msgid "Part category default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:292 +#: src/forms/PurchaseOrderForms.tsx:306 msgid "Received stock location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:297 +#: src/forms/PurchaseOrderForms.tsx:311 msgid "Default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:308 -#: src/forms/PurchaseOrderForms.tsx:384 +#: src/forms/PurchaseOrderForms.tsx:322 +#: src/forms/PurchaseOrderForms.tsx:398 msgid "Scan Barcode" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:352 +#: src/forms/PurchaseOrderForms.tsx:366 msgid "Set Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:359 +#: src/forms/PurchaseOrderForms.tsx:373 msgid "Assign Batch Code{0}" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:368 +#: src/forms/PurchaseOrderForms.tsx:382 msgid "Change Status" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:393 -#: src/forms/StockForms.tsx:351 +#: src/forms/PurchaseOrderForms.tsx:407 +#: src/forms/StockForms.tsx:392 msgid "Remove item from list" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:418 -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:58 -#: src/pages/stock/StockDetail.tsx:167 -#: src/tables/ColumnRenderers.tsx:42 +#: src/forms/PurchaseOrderForms.tsx:432 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/pages/stock/StockDetail.tsx:170 +#: src/tables/ColumnRenderers.tsx:34 +#: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:434 +#: src/forms/PurchaseOrderForms.tsx:448 msgid "Store at default location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:447 +#: src/forms/PurchaseOrderForms.tsx:461 msgid "Store at line item destination" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:457 +#: src/forms/PurchaseOrderForms.tsx:471 msgid "Store with already received stock" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:613 +#: src/forms/PurchaseOrderForms.tsx:627 msgid "Receive Line Items" msgstr "" @@ -2421,119 +2488,118 @@ msgstr "" #~ msgid "Receive line items" #~ msgstr "Receive line items" -#: src/forms/StockForms.tsx:69 +#: src/forms/StockForms.tsx:101 msgid "Add given quantity as packs instead of individual items" msgstr "" -#: src/forms/StockForms.tsx:80 -msgid "Enter initial quantity for this stock item" -msgstr "" - -#: src/forms/StockForms.tsx:85 -msgid "Serial Numbers" -msgstr "" - -#: src/forms/StockForms.tsx:86 -msgid "Enter serial numbers for new stock (or leave blank)" -msgstr "" - #: src/forms/StockForms.tsx:110 #~ msgid "Create Stock Item" #~ msgstr "Create Stock Item" -#: src/forms/StockForms.tsx:135 -#: src/pages/stock/StockDetail.tsx:367 -#: src/tables/stock/StockItemTable.tsx:382 -#: src/tables/stock/StockItemTable.tsx:499 -msgid "Add Stock Item" +#: src/forms/StockForms.tsx:114 +msgid "Enter initial quantity for this stock item" +msgstr "" + +#: src/forms/StockForms.tsx:121 +msgid "Serial Numbers" +msgstr "" + +#: src/forms/StockForms.tsx:122 +msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" #: src/forms/StockForms.tsx:158 #~ msgid "Stock item updated" #~ msgstr "Stock item updated" -#: src/forms/StockForms.tsx:298 +#: src/forms/StockForms.tsx:176 +#: src/pages/stock/StockDetail.tsx:375 +#: src/tables/stock/StockItemTable.tsx:382 +#: src/tables/stock/StockItemTable.tsx:499 +msgid "Add Stock Item" +msgstr "" + +#: src/forms/StockForms.tsx:339 msgid "Loading..." msgstr "" -#: src/forms/StockForms.tsx:340 +#: src/forms/StockForms.tsx:381 msgid "Move to default location" msgstr "" -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/part/PartDetail.tsx:205 -#: src/pages/part/PartDetail.tsx:654 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/pages/part/PartDetail.tsx:206 +#: src/pages/part/PartDetail.tsx:655 #: src/tables/stock/StockItemTable.tsx:290 msgid "In Stock" msgstr "" -#: src/forms/StockForms.tsx:408 +#: src/forms/StockForms.tsx:449 msgid "Move" msgstr "" -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/tables/RowActions.tsx:147 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/tables/RowActions.tsx:149 msgid "Actions" msgstr "" -#: src/forms/StockForms.tsx:471 -#: src/pages/stock/StockDetail.tsx:440 -#: src/tables/settings/TemplateTable.tsx:266 -#: src/tables/stock/StockItemTestResultTable.tsx:348 +#: src/forms/StockForms.tsx:512 +#: src/pages/stock/StockDetail.tsx:454 +#: src/tables/stock/StockItemTestResultTable.tsx:339 msgid "Add" msgstr "" -#: src/forms/StockForms.tsx:499 +#: src/forms/StockForms.tsx:540 #: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:430 +#: src/pages/stock/StockDetail.tsx:444 msgid "Count" msgstr "" -#: src/forms/StockForms.tsx:744 +#: src/forms/StockForms.tsx:785 msgid "Add Stock" msgstr "" -#: src/forms/StockForms.tsx:753 +#: src/forms/StockForms.tsx:794 msgid "Remove Stock" msgstr "" -#: src/forms/StockForms.tsx:762 -#: src/pages/part/PartDetail.tsx:781 +#: src/forms/StockForms.tsx:803 +#: src/pages/part/PartDetail.tsx:782 msgid "Transfer Stock" msgstr "" -#: src/forms/StockForms.tsx:771 -#: src/pages/part/PartDetail.tsx:770 +#: src/forms/StockForms.tsx:812 +#: src/pages/part/PartDetail.tsx:771 msgid "Count Stock" msgstr "" -#: src/forms/StockForms.tsx:780 +#: src/forms/StockForms.tsx:821 msgid "Change Stock Status" msgstr "" -#: src/forms/StockForms.tsx:789 +#: src/forms/StockForms.tsx:830 msgid "Merge Stock" msgstr "" -#: src/forms/StockForms.tsx:808 +#: src/forms/StockForms.tsx:849 msgid "Delete Stock Items" msgstr "" -#: src/forms/StockForms.tsx:815 +#: src/forms/StockForms.tsx:856 msgid "Parent stock location" msgstr "" @@ -2728,7 +2794,7 @@ msgstr "" msgid "Welcome to your Dashboard{0}" msgstr "" -#: src/pages/Index/Playground.tsx:244 +#: src/pages/Index/Playground.tsx:243 msgid "This page is a showcase for the possibilities of Platform UI." msgstr "" @@ -3138,49 +3204,53 @@ msgstr "" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:79 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:87 msgid "Background Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:85 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:93 msgid "Error Reports" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:91 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:99 msgid "Currencies" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:109 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:117 msgid "Custom Units" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:115 -#: src/pages/part/CategoryDetail.tsx:254 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:123 +#: src/pages/part/CategoryDetail.tsx:255 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:121 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 +#~ msgid "Templates" +#~ msgstr "Templates" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:129 msgid "Category Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 -msgid "Templates" +#: src/pages/Index/Settings/AdminCenter/Index.tsx:147 +msgid "Location types" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:139 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:159 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:149 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:169 msgid "Quick Actions" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:154 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 msgid "Add a new user" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:173 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:193 msgid "Advanced Options" msgstr "" @@ -3225,26 +3295,32 @@ msgstr "" msgid "Plugin Settings" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:25 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:53 +msgid "Background Worker Not Running" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:54 +msgid "The background task manager service is not running. Contact your system administrator." +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:60 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:76 msgid "Pending Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:33 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:64 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:84 msgid "Scheduled Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:41 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:68 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:92 msgid "Failed Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:139 -msgid "Labels" -msgstr "" - #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:39 -msgid "Label" -msgstr "" +#~ msgid "Label" +#~ msgstr "Label" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67 #~ msgid "Stock item" @@ -3255,13 +3331,13 @@ msgstr "" #~ msgstr "Build line" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:88 -msgid "Reports" -msgstr "" +#~ msgid "Reports" +#~ msgstr "Reports" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:89 #: src/pages/build/BuildDetail.tsx:373 -msgid "Report" -msgstr "" +#~ msgid "Report" +#~ msgstr "Report" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99 #~ msgid "Purchase order" @@ -3275,14 +3351,9 @@ msgstr "" #~ msgid "Return order" #~ msgstr "Return order" -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135 -#: src/pages/part/PartDetail.tsx:518 -msgid "Bill of Materials" -msgstr "" - #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:145 -msgid "Tests" -msgstr "" +#~ msgid "Tests" +#~ msgstr "Tests" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:154 #~ msgid "Stock location" @@ -3321,26 +3392,30 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" +#: src/pages/Index/Settings/SystemSettings.tsx:139 +msgid "Labels" +msgstr "" + #: src/pages/Index/Settings/SystemSettings.tsx:145 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:223 -#: src/pages/part/PartDetail.tsx:589 +#: src/pages/Index/Settings/SystemSettings.tsx:224 +#: src/pages/part/PartDetail.tsx:590 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:228 -#: src/pages/build/BuildDetail.tsx:426 +#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:525 -#: src/pages/sales/SalesOrderDetail.tsx:263 +#: src/pages/part/PartDetail.tsx:526 +#: src/pages/sales/SalesOrderDetail.tsx:265 msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:296 +#: src/pages/Index/Settings/SystemSettings.tsx:297 msgid "Switch to User Setting" msgstr "" @@ -3397,44 +3472,47 @@ msgstr "" #~ msgstr "Build Status" #: src/pages/build/BuildDetail.tsx:89 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:128 -#: src/pages/sales/ReturnOrderDetail.tsx:95 -#: src/pages/sales/SalesOrderDetail.tsx:99 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:130 +#: src/pages/sales/ReturnOrderDetail.tsx:97 +#: src/pages/sales/SalesOrderDetail.tsx:101 #: src/tables/build/BuildOrderTable.tsx:113 #: src/tables/machine/MachineListTable.tsx:326 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderTable.tsx:46 #: src/tables/sales/SalesOrderTable.tsx:52 #: src/tables/stock/StockItemTable.tsx:259 +#: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "" #: src/pages/build/BuildDetail.tsx:95 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:101 -#: src/pages/sales/ReturnOrderDetail.tsx:69 -#: src/pages/sales/SalesOrderDetail.tsx:73 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:103 +#: src/pages/sales/ReturnOrderDetail.tsx:71 +#: src/pages/sales/SalesOrderDetail.tsx:75 +#: src/tables/ColumnRenderers.tsx:106 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" msgstr "" #: src/pages/build/BuildDetail.tsx:100 -#: src/pages/company/CompanyDetail.tsx:84 -#: src/pages/company/ManufacturerPartDetail.tsx:75 -#: src/pages/company/SupplierPartDetail.tsx:82 -#: src/pages/part/CategoryDetail.tsx:91 -#: src/pages/part/PartDetail.tsx:132 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:122 -#: src/pages/sales/ReturnOrderDetail.tsx:89 -#: src/pages/sales/SalesOrderDetail.tsx:93 -#: src/pages/stock/LocationDetail.tsx:97 -#: src/tables/ColumnRenderers.tsx:95 +#: src/pages/company/CompanyDetail.tsx:86 +#: src/pages/company/ManufacturerPartDetail.tsx:76 +#: src/pages/company/SupplierPartDetail.tsx:83 +#: src/pages/part/CategoryDetail.tsx:92 +#: src/pages/part/PartDetail.tsx:133 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:124 +#: src/pages/sales/ReturnOrderDetail.tsx:91 +#: src/pages/sales/SalesOrderDetail.tsx:95 +#: src/pages/stock/LocationDetail.tsx:99 +#: src/tables/ColumnRenderers.tsx:66 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 #: src/tables/machine/MachineTypeTable.tsx:323 #: src/tables/part/RelatedPartTable.tsx:64 -#: src/tables/plugin/PluginListTable.tsx:172 -#: src/tables/plugin/PluginListTable.tsx:302 +#: src/tables/plugin/PluginListTable.tsx:129 +#: src/tables/plugin/PluginListTable.tsx:276 +#: src/tables/stock/LocationTypesTable.tsx:65 msgid "Description" msgstr "" @@ -3447,7 +3525,7 @@ msgid "Build Quantity" msgstr "" #: src/pages/build/BuildDetail.tsx:126 -#: src/pages/build/BuildDetail.tsx:249 +#: src/pages/build/BuildDetail.tsx:256 msgid "Completed Outputs" msgstr "" @@ -3457,10 +3535,10 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:150 -#: src/pages/part/PartDetail.tsx:320 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:214 -#: src/pages/sales/ReturnOrderDetail.tsx:182 -#: src/pages/sales/SalesOrderDetail.tsx:186 +#: src/pages/part/PartDetail.tsx:321 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:184 +#: src/pages/sales/SalesOrderDetail.tsx:188 #: src/tables/build/BuildOrderTable.tsx:148 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 @@ -3474,10 +3552,10 @@ msgid "Created" msgstr "" #: src/pages/build/BuildDetail.tsx:164 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:207 -#: src/pages/sales/ReturnOrderDetail.tsx:175 -#: src/pages/sales/SalesOrderDetail.tsx:179 -#: src/tables/ColumnRenderers.tsx:227 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:209 +#: src/pages/sales/ReturnOrderDetail.tsx:177 +#: src/pages/sales/SalesOrderDetail.tsx:181 +#: src/tables/ColumnRenderers.tsx:191 msgid "Target Date" msgstr "" @@ -3513,6 +3591,11 @@ msgstr "" #~ msgid "Unlink custom barcode from part" #~ msgstr "Unlink custom barcode from part" +#: src/pages/build/BuildDetail.tsx:197 +#: src/pages/stock/StockDetail.tsx:526 +msgid "Batch Code" +msgstr "" + #: src/pages/build/BuildDetail.tsx:202 #~ msgid "Build Order updated" #~ msgstr "Build Order updated" @@ -3521,86 +3604,87 @@ msgstr "" #~ msgid "Edit build order" #~ msgstr "Edit build order" -#: src/pages/build/BuildDetail.tsx:222 -msgid "Build Details" -msgstr "" - #: src/pages/build/BuildDetail.tsx:226 #~ msgid "Duplicate build order" #~ msgstr "Duplicate build order" -#: src/pages/build/BuildDetail.tsx:228 -#: src/tables/build/BuildLineTable.tsx:225 -msgid "Allocate Stock" +#: src/pages/build/BuildDetail.tsx:229 +msgid "Build Details" msgstr "" #: src/pages/build/BuildDetail.tsx:231 #~ msgid "Delete build order" #~ msgstr "Delete build order" -#: src/pages/build/BuildDetail.tsx:242 +#: src/pages/build/BuildDetail.tsx:235 +#: src/tables/build/BuildLineTable.tsx:225 +msgid "Allocate Stock" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:249 msgid "Incomplete Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:264 +#: src/pages/build/BuildDetail.tsx:271 msgid "Consumed Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:278 +#: src/pages/build/BuildDetail.tsx:285 msgid "Child Build Orders" msgstr "" -#: src/pages/build/BuildDetail.tsx:288 -#: src/pages/company/CompanyDetail.tsx:253 -#: src/pages/company/ManufacturerPartDetail.tsx:171 -#: src/pages/part/PartDetail.tsx:611 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:276 -#: src/pages/sales/ReturnOrderDetail.tsx:225 -#: src/pages/sales/SalesOrderDetail.tsx:273 -#: src/pages/stock/StockDetail.tsx:317 +#: src/pages/build/BuildDetail.tsx:295 +#: src/pages/company/CompanyDetail.tsx:255 +#: src/pages/company/ManufacturerPartDetail.tsx:172 +#: src/pages/part/PartDetail.tsx:612 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:278 +#: src/pages/sales/ReturnOrderDetail.tsx:227 +#: src/pages/sales/SalesOrderDetail.tsx:275 +#: src/pages/stock/StockDetail.tsx:325 msgid "Attachments" msgstr "" -#: src/pages/build/BuildDetail.tsx:300 -#: src/pages/company/CompanyDetail.tsx:265 -#: src/pages/part/PartDetail.tsx:623 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:288 -#: src/pages/sales/ReturnOrderDetail.tsx:237 -#: src/pages/sales/SalesOrderDetail.tsx:285 -#: src/pages/stock/StockDetail.tsx:329 +#: src/pages/build/BuildDetail.tsx:307 +#: src/pages/company/CompanyDetail.tsx:267 +#: src/pages/part/PartDetail.tsx:624 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:290 +#: src/pages/sales/ReturnOrderDetail.tsx:239 +#: src/pages/sales/SalesOrderDetail.tsx:287 +#: src/pages/stock/StockDetail.tsx:337 +#: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "" -#: src/pages/build/BuildDetail.tsx:318 +#: src/pages/build/BuildDetail.tsx:325 msgid "Edit Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:327 +#: src/pages/build/BuildDetail.tsx:334 msgid "Cancel Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:339 +#: src/pages/build/BuildDetail.tsx:346 #: src/tables/build/BuildOrderTable.tsx:167 #: src/tables/build/BuildOrderTable.tsx:182 msgid "Add Build Order" msgstr "" #: src/pages/build/BuildDetail.tsx:368 -msgid "Reporting Actions" -msgstr "" +#~ msgid "Reporting Actions" +#~ msgstr "Reporting Actions" #: src/pages/build/BuildDetail.tsx:374 -msgid "Print build report" -msgstr "" +#~ msgid "Print build report" +#~ msgstr "Print build report" -#: src/pages/build/BuildDetail.tsx:380 +#: src/pages/build/BuildDetail.tsx:378 msgid "Build Order Actions" msgstr "" -#: src/pages/build/BuildDetail.tsx:388 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:326 -#: src/pages/sales/ReturnOrderDetail.tsx:300 -#: src/pages/sales/SalesOrderDetail.tsx:310 +#: src/pages/build/BuildDetail.tsx:386 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:333 +#: src/pages/sales/ReturnOrderDetail.tsx:307 +#: src/pages/sales/SalesOrderDetail.tsx:317 msgid "Cancel order" msgstr "" @@ -3612,56 +3696,58 @@ msgstr "" #~ msgid "New Build Order" #~ msgstr "New Build Order" -#: src/pages/company/CompanyDetail.tsx:98 +#: src/pages/company/CompanyDetail.tsx:100 msgid "Phone Number" msgstr "" -#: src/pages/company/CompanyDetail.tsx:105 +#: src/pages/company/CompanyDetail.tsx:107 msgid "Email Address" msgstr "" -#: src/pages/company/CompanyDetail.tsx:115 +#: src/pages/company/CompanyDetail.tsx:117 msgid "Default Currency" msgstr "" -#: src/pages/company/CompanyDetail.tsx:120 +#: src/pages/company/CompanyDetail.tsx:122 #: src/pages/company/SupplierDetail.tsx:8 -#: src/pages/company/SupplierPartDetail.tsx:106 -#: src/pages/company/SupplierPartDetail.tsx:192 -#: src/pages/company/SupplierPartDetail.tsx:295 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:116 +#: src/pages/company/SupplierPartDetail.tsx:107 +#: src/pages/company/SupplierPartDetail.tsx:193 +#: src/pages/company/SupplierPartDetail.tsx:296 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:118 #: src/tables/company/CompanyTable.tsx:100 #: src/tables/purchasing/PurchaseOrderTable.tsx:88 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:36 msgid "Supplier" msgstr "" -#: src/pages/company/CompanyDetail.tsx:126 +#: src/pages/company/CompanyDetail.tsx:128 #: src/pages/company/ManufacturerDetail.tsx:8 -#: src/pages/company/ManufacturerPartDetail.tsx:93 -#: src/pages/company/ManufacturerPartDetail.tsx:235 -#: src/pages/company/SupplierPartDetail.tsx:121 +#: src/pages/company/ManufacturerPartDetail.tsx:94 +#: src/pages/company/ManufacturerPartDetail.tsx:239 +#: src/pages/company/SupplierPartDetail.tsx:122 #: src/tables/company/CompanyTable.tsx:105 msgid "Manufacturer" msgstr "" -#: src/pages/company/CompanyDetail.tsx:132 +#: src/pages/company/CompanyDetail.tsx:134 #: src/pages/company/CustomerDetail.tsx:8 #: src/pages/part/pricing/SaleHistoryPanel.tsx:39 -#: src/pages/sales/ReturnOrderDetail.tsx:83 -#: src/pages/sales/SalesOrderDetail.tsx:87 -#: src/pages/stock/StockDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:85 +#: src/pages/sales/SalesOrderDetail.tsx:89 +#: src/pages/stock/StockDetail.tsx:219 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:107 +#: src/tables/stock/StockTrackingTable.tsx:140 msgid "Customer" msgstr "" -#: src/pages/company/CompanyDetail.tsx:166 +#: src/pages/company/CompanyDetail.tsx:168 +#: src/tables/stock/StockTrackingTable.tsx:183 msgid "Details" msgstr "" -#: src/pages/company/CompanyDetail.tsx:172 +#: src/pages/company/CompanyDetail.tsx:174 msgid "Manufactured Parts" msgstr "" @@ -3669,7 +3755,7 @@ msgstr "" #~ msgid "Edit company" #~ msgstr "Edit company" -#: src/pages/company/CompanyDetail.tsx:181 +#: src/pages/company/CompanyDetail.tsx:183 msgid "Supplied Parts" msgstr "" @@ -3677,289 +3763,289 @@ msgstr "" #~ msgid "Delete company" #~ msgstr "Delete company" -#: src/pages/company/CompanyDetail.tsx:226 +#: src/pages/company/CompanyDetail.tsx:228 msgid "Assigned Stock" msgstr "" -#: src/pages/company/CompanyDetail.tsx:281 +#: src/pages/company/CompanyDetail.tsx:283 #: src/tables/company/CompanyTable.tsx:86 msgid "Edit Company" msgstr "" -#: src/pages/company/CompanyDetail.tsx:290 +#: src/pages/company/CompanyDetail.tsx:292 msgid "Company Actions" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:68 -#: src/pages/company/SupplierPartDetail.tsx:75 +#: src/pages/company/ManufacturerPartDetail.tsx:69 +#: src/pages/company/SupplierPartDetail.tsx:76 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:72 msgid "Internal Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:83 -#: src/pages/company/SupplierPartDetail.tsx:89 +#: src/pages/company/ManufacturerPartDetail.tsx:84 +#: src/pages/company/SupplierPartDetail.tsx:90 msgid "External Link" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:101 -#: src/pages/company/SupplierPartDetail.tsx:130 -#: src/tables/purchasing/ManufacturerPartTable.tsx:53 +#: src/pages/company/ManufacturerPartDetail.tsx:102 +#: src/pages/company/SupplierPartDetail.tsx:131 +#: src/tables/purchasing/ManufacturerPartTable.tsx:56 msgid "Manufacturer Part Number" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:130 +#: src/pages/company/ManufacturerPartDetail.tsx:131 msgid "Manufacturer Details" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:139 +#: src/pages/company/ManufacturerPartDetail.tsx:140 msgid "Manufacturer Part Details" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:145 -#: src/pages/part/PartDetail.tsx:485 +#: src/pages/company/ManufacturerPartDetail.tsx:146 +#: src/pages/part/PartDetail.tsx:486 msgid "Parameters" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:157 -#: src/pages/part/PartDetail.tsx:558 +#: src/pages/company/ManufacturerPartDetail.tsx:158 +#: src/pages/part/PartDetail.tsx:559 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:189 -#: src/tables/purchasing/ManufacturerPartTable.tsx:97 +#: src/pages/company/ManufacturerPartDetail.tsx:190 +#: src/tables/purchasing/ManufacturerPartTable.tsx:84 msgid "Edit Manufacturer Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:196 -#: src/tables/purchasing/ManufacturerPartTable.tsx:63 -#: src/tables/purchasing/ManufacturerPartTable.tsx:78 +#: src/pages/company/ManufacturerPartDetail.tsx:197 +#: src/tables/purchasing/ManufacturerPartTable.tsx:72 +#: src/tables/purchasing/ManufacturerPartTable.tsx:103 msgid "Add Manufacturer Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:209 +#: src/pages/company/ManufacturerPartDetail.tsx:213 msgid "Manufacturer Part Actions" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:247 +#: src/pages/company/ManufacturerPartDetail.tsx:251 msgid "ManufacturerPart" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:96 -#: src/tables/ColumnRenderers.tsx:146 +#: src/pages/company/SupplierPartDetail.tsx:97 +#: src/tables/ColumnRenderers.tsx:117 msgid "Note" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:114 +#: src/pages/company/SupplierPartDetail.tsx:115 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:57 msgid "SKU" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:142 -#: src/pages/company/SupplierPartDetail.tsx:193 -#: src/pages/stock/StockDetail.tsx:230 +#: src/pages/company/SupplierPartDetail.tsx:143 +#: src/pages/company/SupplierPartDetail.tsx:194 +#: src/pages/stock/StockDetail.tsx:233 msgid "Packaging" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:149 +#: src/pages/company/SupplierPartDetail.tsx:150 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:107 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143 #: src/tables/purchasing/SupplierPartTable.tsx:131 msgid "Pack Quantity" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:160 +#: src/pages/company/SupplierPartDetail.tsx:161 msgid "Supplier Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:167 +#: src/pages/company/SupplierPartDetail.tsx:168 msgid "Availability Updated" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:194 +#: src/pages/company/SupplierPartDetail.tsx:195 msgid "Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:203 +#: src/pages/company/SupplierPartDetail.tsx:204 msgid "Supplier Part Details" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:209 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:263 +#: src/pages/company/SupplierPartDetail.tsx:210 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:265 msgid "Received Stock" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:233 +#: src/pages/company/SupplierPartDetail.tsx:234 #: src/pages/part/PartPricingPanel.tsx:115 #: src/pages/part/pricing/PricingOverviewPanel.tsx:130 msgid "Supplier Pricing" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:248 +#: src/pages/company/SupplierPartDetail.tsx:249 msgid "Supplier Part Actions" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:272 +#: src/pages/company/SupplierPartDetail.tsx:273 #: src/tables/purchasing/SupplierPartTable.tsx:210 msgid "Edit Supplier Part" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:279 +#: src/pages/company/SupplierPartDetail.tsx:280 #: src/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "" -#: src/pages/part/CategoryDetail.tsx:83 -#: src/pages/stock/LocationDetail.tsx:89 +#: src/pages/part/CategoryDetail.tsx:84 +#: src/pages/stock/LocationDetail.tsx:91 #: src/tables/settings/ErrorTable.tsx:34 msgid "Path" msgstr "" -#: src/pages/part/CategoryDetail.tsx:99 +#: src/pages/part/CategoryDetail.tsx:100 msgid "Parent Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:116 +#: src/pages/part/CategoryDetail.tsx:117 msgid "Subcategories" msgstr "" -#: src/pages/part/CategoryDetail.tsx:123 -#: src/pages/stock/LocationDetail.tsx:129 -#: src/tables/part/PartCategoryTable.tsx:69 +#: src/pages/part/CategoryDetail.tsx:124 +#: src/pages/stock/LocationDetail.tsx:131 +#: src/tables/part/PartCategoryTable.tsx:65 msgid "Structural" msgstr "" -#: src/pages/part/CategoryDetail.tsx:129 +#: src/pages/part/CategoryDetail.tsx:130 msgid "Parent default location" msgstr "" -#: src/pages/part/CategoryDetail.tsx:136 +#: src/pages/part/CategoryDetail.tsx:137 msgid "Default location" msgstr "" -#: src/pages/part/CategoryDetail.tsx:147 +#: src/pages/part/CategoryDetail.tsx:148 msgid "Top level part category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:157 -#: src/pages/part/CategoryDetail.tsx:211 -#: src/tables/part/PartCategoryTable.tsx:96 +#: src/pages/part/CategoryDetail.tsx:158 +#: src/pages/part/CategoryDetail.tsx:212 +#: src/tables/part/PartCategoryTable.tsx:88 msgid "Edit Part Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:170 -#: src/pages/stock/LocationDetail.tsx:213 +#: src/pages/part/CategoryDetail.tsx:171 +#: src/pages/stock/LocationDetail.tsx:223 msgid "Delete items" msgstr "" -#: src/pages/part/CategoryDetail.tsx:178 -#: src/pages/part/CategoryDetail.tsx:216 +#: src/pages/part/CategoryDetail.tsx:179 +#: src/pages/part/CategoryDetail.tsx:217 msgid "Delete Part Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:181 +#: src/pages/part/CategoryDetail.tsx:182 msgid "Parts Action" msgstr "" -#: src/pages/part/CategoryDetail.tsx:182 +#: src/pages/part/CategoryDetail.tsx:183 msgid "Action for parts in this category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:187 +#: src/pages/part/CategoryDetail.tsx:188 msgid "Child Categories Action" msgstr "" -#: src/pages/part/CategoryDetail.tsx:188 +#: src/pages/part/CategoryDetail.tsx:189 msgid "Action for child categories in this category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:206 +#: src/pages/part/CategoryDetail.tsx:207 msgid "Category Actions" msgstr "" -#: src/pages/part/CategoryDetail.tsx:228 +#: src/pages/part/CategoryDetail.tsx:229 msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:138 +#: src/pages/part/PartDetail.tsx:139 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:145 +#: src/pages/part/PartDetail.tsx:146 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "" -#: src/pages/part/PartDetail.tsx:151 +#: src/pages/part/PartDetail.tsx:152 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:158 +#: src/pages/part/PartDetail.tsx:159 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:165 +#: src/pages/part/PartDetail.tsx:166 msgid "IPN" msgstr "" -#: src/pages/part/PartDetail.tsx:172 +#: src/pages/part/PartDetail.tsx:173 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:179 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39 +#: src/pages/part/PartDetail.tsx:180 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "" -#: src/pages/part/PartDetail.tsx:186 +#: src/pages/part/PartDetail.tsx:187 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:193 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:180 -#: src/pages/sales/ReturnOrderDetail.tsx:148 -#: src/pages/sales/SalesOrderDetail.tsx:152 +#: src/pages/part/PartDetail.tsx:194 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:182 +#: src/pages/sales/ReturnOrderDetail.tsx:150 +#: src/pages/sales/SalesOrderDetail.tsx:154 msgid "Link" msgstr "" -#: src/pages/part/PartDetail.tsx:211 -#: src/tables/bom/BomTable.tsx:269 +#: src/pages/part/PartDetail.tsx:212 +#: src/tables/bom/BomTable.tsx:271 #: src/tables/build/BuildLineTable.tsx:121 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:218 +#: src/pages/part/PartDetail.tsx:219 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:224 -#: src/tables/bom/BomTable.tsx:210 +#: src/pages/part/PartDetail.tsx:225 +#: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:233 +#: src/pages/part/PartDetail.tsx:234 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:241 +#: src/pages/part/PartDetail.tsx:242 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:248 -#: src/tables/bom/BomTable.tsx:234 +#: src/pages/part/PartDetail.tsx:249 +#: src/tables/bom/BomTable.tsx:236 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:255 -#: src/tables/bom/BomTable.tsx:218 +#: src/pages/part/PartDetail.tsx:256 +#: src/tables/bom/BomTable.tsx:220 #: src/tables/part/PartTable.tsx:82 msgid "Building" msgstr "" -#: src/pages/part/PartDetail.tsx:264 +#: src/pages/part/PartDetail.tsx:265 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 @@ -3968,45 +4054,47 @@ msgstr "" #: src/tables/machine/MachineListTable.tsx:585 #: src/tables/part/PartTable.tsx:168 #: src/tables/part/PartVariantTable.tsx:15 -#: src/tables/plugin/PluginListTable.tsx:190 -#: src/tables/plugin/PluginListTable.tsx:638 +#: src/tables/plugin/PluginListTable.tsx:149 +#: src/tables/plugin/PluginListTable.tsx:271 +#: src/tables/plugin/PluginListTable.tsx:563 #: src/tables/purchasing/SupplierPartTable.tsx:98 #: src/tables/purchasing/SupplierPartTable.tsx:187 #: src/tables/stock/StockItemTable.tsx:254 msgid "Active" msgstr "" -#: src/pages/part/PartDetail.tsx:269 +#: src/pages/part/PartDetail.tsx:270 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:274 -#: src/tables/bom/BomTable.tsx:264 +#: src/pages/part/PartDetail.tsx:275 +#: src/tables/bom/BomTable.tsx:266 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:279 +#: src/pages/part/PartDetail.tsx:280 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:284 -#: src/tables/bom/BomTable.tsx:259 +#: src/pages/part/PartDetail.tsx:285 +#: src/tables/bom/BomTable.tsx:261 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:289 +#: src/pages/part/PartDetail.tsx:290 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:294 +#: src/pages/part/PartDetail.tsx:295 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:299 +#: src/pages/part/PartDetail.tsx:300 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:307 +#: src/pages/part/PartDetail.tsx:308 +#: src/tables/ColumnRenderers.tsx:199 msgid "Creation Date" msgstr "" @@ -4014,7 +4102,7 @@ msgstr "" #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:312 +#: src/pages/part/PartDetail.tsx:313 msgid "Created By" msgstr "" @@ -4022,68 +4110,72 @@ msgstr "" #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:327 -msgid "Default Supplier" -msgstr "" - #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:338 +#: src/pages/part/PartDetail.tsx:328 +msgid "Default Supplier" +msgstr "" + +#: src/pages/part/PartDetail.tsx:339 #: src/tables/part/PartTable.tsx:151 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:373 -#: src/pages/stock/StockDetail.tsx:127 +#: src/pages/part/PartDetail.tsx:374 +#: src/pages/stock/StockDetail.tsx:130 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:408 +#: src/pages/part/PartDetail.tsx:409 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:479 +#: src/pages/part/PartDetail.tsx:480 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:505 +#: src/pages/part/PartDetail.tsx:506 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:512 -#: src/pages/stock/StockDetail.tsx:275 +#: src/pages/part/PartDetail.tsx:513 +#: src/pages/stock/StockDetail.tsx:283 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:532 +#: src/pages/part/PartDetail.tsx:519 +msgid "Bill of Materials" +msgstr "" + +#: src/pages/part/PartDetail.tsx:533 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:539 +#: src/pages/part/PartDetail.tsx:540 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:545 +#: src/pages/part/PartDetail.tsx:546 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:584 +#: src/pages/part/PartDetail.tsx:585 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:594 +#: src/pages/part/PartDetail.tsx:595 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:605 +#: src/pages/part/PartDetail.tsx:606 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:660 -#: src/pages/stock/StockDetail.tsx:148 +#: src/pages/part/PartDetail.tsx:661 +#: src/pages/stock/StockDetail.tsx:151 #: src/tables/build/BuildLineTable.tsx:36 #: src/tables/part/PartTable.tsx:107 #: src/tables/stock/StockItemTable.tsx:166 @@ -4091,49 +4183,51 @@ msgstr "" msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:666 +#: src/pages/part/PartDetail.tsx:667 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:672 -#: src/tables/bom/BomTable.tsx:274 +#: src/pages/part/PartDetail.tsx:673 +#: src/tables/bom/BomTable.tsx:276 #: src/tables/part/PartTable.tsx:76 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:678 -#: src/pages/stock/StockDetail.tsx:496 +#: src/pages/part/PartDetail.tsx:679 +#: src/pages/stock/StockDetail.tsx:509 #: src/tables/stock/StockItemTable.tsx:295 msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:697 +#: src/pages/part/PartDetail.tsx:698 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:704 +#: src/pages/part/PartDetail.tsx:705 #: src/tables/part/PartTable.tsx:266 #: src/tables/part/PartTable.tsx:279 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:716 +#: src/pages/part/PartDetail.tsx:717 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:725 +#: src/pages/part/PartDetail.tsx:726 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:763 +#: src/pages/part/PartDetail.tsx:764 +#: src/pages/stock/LocationDetail.tsx:301 +#: src/tables/stock/StockItemTable.tsx:409 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:771 +#: src/pages/part/PartDetail.tsx:772 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:782 +#: src/pages/part/PartDetail.tsx:783 msgid "Transfer part stock" msgstr "" @@ -4199,15 +4293,15 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151 #: src/pages/part/pricing/SupplierPricingPanel.tsx:83 -#: src/tables/bom/BomTable.tsx:149 +#: src/tables/bom/BomTable.tsx:151 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 msgid "Unit Price" msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:173 -#: src/tables/ColumnRenderers.tsx:278 -#: src/tables/bom/BomTable.tsx:158 +#: src/tables/ColumnRenderers.tsx:241 +#: src/tables/bom/BomTable.tsx:160 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 #: src/tables/sales/ReturnOrderTable.tsx:104 #: src/tables/sales/SalesOrderTable.tsx:134 @@ -4229,24 +4323,24 @@ msgid "Bar Chart" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:63 -#: src/pages/part/pricing/PriceBreakPanel.tsx:117 +#: src/pages/part/pricing/PriceBreakPanel.tsx:115 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:138 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:164 msgid "Add Price Break" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:76 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:149 msgid "Edit Price Break" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:86 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:157 msgid "Delete Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:102 -#: src/pages/part/pricing/PriceBreakPanel.tsx:193 +#: src/pages/part/pricing/PriceBreakPanel.tsx:100 +#: src/pages/part/pricing/PriceBreakPanel.tsx:191 msgid "Price Break" msgstr "" @@ -4275,7 +4369,7 @@ msgid "Overall Pricing" msgstr "" #: src/pages/part/pricing/PricingOverviewPanel.tsx:184 -#: src/pages/stock/StockDetail.tsx:121 +#: src/pages/stock/StockDetail.tsx:124 msgid "Last Updated" msgstr "" @@ -4309,9 +4403,8 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50 #: src/pages/part/pricing/SaleHistoryPanel.tsx:46 -#: src/tables/ColumnRenderers.tsx:217 -#: src/tables/plugin/PluginListTable.tsx:182 -#: src/tables/stock/StockItemTestResultTable.tsx:194 +#: src/tables/ColumnRenderers.tsx:180 +#: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" @@ -4338,89 +4431,89 @@ msgstr "" msgid "Variant Part" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:73 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:75 msgid "Edit Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:82 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:84 #: src/tables/purchasing/PurchaseOrderTable.tsx:128 #: src/tables/purchasing/PurchaseOrderTable.tsx:140 msgid "Add Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:107 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:109 msgid "Supplier Reference" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:137 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:252 -#: src/pages/sales/ReturnOrderDetail.tsx:104 -#: src/pages/sales/ReturnOrderDetail.tsx:220 -#: src/pages/sales/SalesOrderDetail.tsx:108 -#: src/pages/sales/SalesOrderDetail.tsx:248 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:139 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:254 +#: src/pages/sales/ReturnOrderDetail.tsx:106 +#: src/pages/sales/ReturnOrderDetail.tsx:222 +#: src/pages/sales/SalesOrderDetail.tsx:110 +#: src/pages/sales/SalesOrderDetail.tsx:250 msgid "Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:144 -#: src/pages/sales/ReturnOrderDetail.tsx:111 -#: src/pages/sales/SalesOrderDetail.tsx:115 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:146 +#: src/pages/sales/ReturnOrderDetail.tsx:113 +#: src/pages/sales/SalesOrderDetail.tsx:117 msgid "Completed Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:152 -#: src/pages/sales/ReturnOrderDetail.tsx:119 -#: src/pages/sales/SalesOrderDetail.tsx:123 -#: src/pages/sales/SalesOrderDetail.tsx:258 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:121 +#: src/pages/sales/SalesOrderDetail.tsx:125 +#: src/pages/sales/SalesOrderDetail.tsx:260 msgid "Completed Shipments" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:159 -#: src/pages/sales/ReturnOrderDetail.tsx:127 -#: src/pages/sales/SalesOrderDetail.tsx:131 -msgid "Order Currency" -msgstr "" - #: src/pages/purchasing/PurchaseOrderDetail.tsx:159 #: src/pages/sales/ReturnOrderDetail.tsx:126 #: src/pages/sales/SalesOrderDetail.tsx:130 #~ msgid "Order Currency," #~ msgstr "Order Currency," -#: src/pages/purchasing/PurchaseOrderDetail.tsx:166 -#: src/pages/sales/ReturnOrderDetail.tsx:134 -#: src/pages/sales/SalesOrderDetail.tsx:138 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:161 +#: src/pages/sales/ReturnOrderDetail.tsx:129 +#: src/pages/sales/SalesOrderDetail.tsx:133 +msgid "Order Currency" +msgstr "" + +#: src/pages/purchasing/PurchaseOrderDetail.tsx:168 +#: src/pages/sales/ReturnOrderDetail.tsx:136 +#: src/pages/sales/SalesOrderDetail.tsx:140 msgid "Total Cost" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:201 -#: src/pages/sales/ReturnOrderDetail.tsx:169 -#: src/pages/sales/SalesOrderDetail.tsx:173 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:203 +#: src/pages/sales/ReturnOrderDetail.tsx:171 +#: src/pages/sales/SalesOrderDetail.tsx:175 msgid "Created On" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:246 -#: src/pages/sales/ReturnOrderDetail.tsx:214 -#: src/pages/sales/SalesOrderDetail.tsx:242 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:248 +#: src/pages/sales/ReturnOrderDetail.tsx:216 +#: src/pages/sales/SalesOrderDetail.tsx:244 msgid "Order Details" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:316 -#: src/pages/sales/ReturnOrderDetail.tsx:290 -#: src/pages/sales/SalesOrderDetail.tsx:302 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:323 +#: src/pages/sales/ReturnOrderDetail.tsx:297 +#: src/pages/sales/SalesOrderDetail.tsx:309 msgid "Order Actions" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:75 -#: src/pages/sales/SalesOrderDetail.tsx:79 +#: src/pages/sales/ReturnOrderDetail.tsx:77 +#: src/pages/sales/SalesOrderDetail.tsx:81 #: src/tables/sales/SalesOrderTable.tsx:123 msgid "Customer Reference" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:267 +#: src/pages/sales/ReturnOrderDetail.tsx:269 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:276 +#: src/pages/sales/ReturnOrderDetail.tsx:278 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" @@ -4430,68 +4523,72 @@ msgstr "" msgid "Customers" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:219 +#: src/pages/sales/SalesOrderDetail.tsx:221 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:228 +#: src/pages/sales/SalesOrderDetail.tsx:230 #: src/tables/sales/SalesOrderTable.tsx:83 #: src/tables/sales/SalesOrderTable.tsx:95 msgid "Add Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:253 +#: src/pages/sales/SalesOrderDetail.tsx:255 msgid "Pending Shipments" msgstr "" -#: src/pages/stock/LocationDetail.tsx:105 +#: src/pages/stock/LocationDetail.tsx:107 msgid "Parent Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:123 +#: src/pages/stock/LocationDetail.tsx:125 msgid "Sublocations" msgstr "" -#: src/pages/stock/LocationDetail.tsx:135 +#: src/pages/stock/LocationDetail.tsx:137 msgid "External" msgstr "" -#: src/pages/stock/LocationDetail.tsx:144 +#: src/pages/stock/LocationDetail.tsx:143 +msgid "Location Type" +msgstr "" + +#: src/pages/stock/LocationDetail.tsx:154 msgid "Top level stock location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:155 +#: src/pages/stock/LocationDetail.tsx:165 msgid "Location Details" msgstr "" -#: src/pages/stock/LocationDetail.tsx:181 +#: src/pages/stock/LocationDetail.tsx:191 msgid "Default Parts" msgstr "" -#: src/pages/stock/LocationDetail.tsx:200 +#: src/pages/stock/LocationDetail.tsx:210 #: src/pages/stock/LocationDetail.tsx:328 -#: src/tables/stock/StockLocationTable.tsx:108 +#: src/tables/stock/StockLocationTable.tsx:100 msgid "Edit Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:221 +#: src/pages/stock/LocationDetail.tsx:231 #: src/pages/stock/LocationDetail.tsx:333 msgid "Delete Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:224 +#: src/pages/stock/LocationDetail.tsx:234 msgid "Items Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:225 +#: src/pages/stock/LocationDetail.tsx:235 msgid "Action for stock items in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:230 +#: src/pages/stock/LocationDetail.tsx:240 msgid "Child Locations Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:231 +#: src/pages/stock/LocationDetail.tsx:241 msgid "Action for child locations in this location" msgstr "" @@ -4499,11 +4596,11 @@ msgstr "" msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:100 +#: src/pages/stock/StockDetail.tsx:103 msgid "Base Part" msgstr "" -#: src/pages/stock/StockDetail.tsx:107 +#: src/pages/stock/StockDetail.tsx:110 msgid "Stock Status" msgstr "" @@ -4515,15 +4612,16 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:174 +#: src/pages/stock/StockDetail.tsx:177 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:190 +#: src/pages/stock/StockDetail.tsx:193 msgid "Consumed By" msgstr "" -#: src/pages/stock/StockDetail.tsx:199 +#: src/pages/stock/StockDetail.tsx:202 +#: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" msgstr "" @@ -4535,78 +4633,78 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:264 +#: src/pages/stock/StockDetail.tsx:267 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:270 +#: src/pages/stock/StockDetail.tsx:273 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:282 +#: src/pages/stock/StockDetail.tsx:290 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:296 +#: src/pages/stock/StockDetail.tsx:304 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:303 +#: src/pages/stock/StockDetail.tsx:311 msgid "Child Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:358 +#: src/pages/stock/StockDetail.tsx:366 msgid "Edit Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:385 +#: src/pages/stock/StockDetail.tsx:393 msgid "Delete Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:426 -msgid "Stock Operations" -msgstr "" - -#: src/pages/stock/StockDetail.tsx:431 -msgid "Count stock" -msgstr "" - #: src/pages/stock/StockDetail.tsx:433 #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:441 +#: src/pages/stock/StockDetail.tsx:440 +msgid "Stock Operations" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:445 +msgid "Count stock" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:455 #: src/tables/stock/StockItemTable.tsx:414 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:449 +#: src/pages/stock/StockDetail.tsx:463 #: src/tables/stock/StockItemTable.tsx:423 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:456 +#: src/pages/stock/StockDetail.tsx:470 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:457 +#: src/pages/stock/StockDetail.tsx:471 #: src/tables/stock/StockItemTable.tsx:443 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:469 +#: src/pages/stock/StockDetail.tsx:482 msgid "Stock Item Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:513 -msgid "Batch Code" -msgstr "" - -#: src/tables/ColumnRenderers.tsx:50 +#: src/tables/ColumnRenderers.tsx:42 msgid "No location set" msgstr "" -#: src/tables/ColumnRenderers.tsx:264 +#: src/tables/ColumnRenderers.tsx:207 +msgid "Shipment Date" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:227 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "" @@ -4616,20 +4714,32 @@ msgstr "" msgid "Select Columns" msgstr "" -#: src/tables/DownloadAction.tsx:11 +#: src/tables/DownloadAction.tsx:13 +#~ msgid "Excel" +#~ msgstr "Excel" + +#: src/tables/DownloadAction.tsx:21 +#~ msgid "Download selected data" +#~ msgstr "Download selected data" + +#: src/tables/DownloadAction.tsx:22 msgid "CSV" msgstr "" -#: src/tables/DownloadAction.tsx:12 +#: src/tables/DownloadAction.tsx:23 msgid "TSV" msgstr "" -#: src/tables/DownloadAction.tsx:13 -msgid "Excel" +#: src/tables/DownloadAction.tsx:24 +msgid "Excel (.xls)" msgstr "" -#: src/tables/DownloadAction.tsx:21 -msgid "Download selected data" +#: src/tables/DownloadAction.tsx:25 +msgid "Excel (.xlsx)" +msgstr "" + +#: src/tables/DownloadAction.tsx:39 +msgid "Download Data" msgstr "" #: src/tables/Filter.tsx:88 @@ -4663,102 +4773,102 @@ msgstr "" msgid "Remove filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:147 +#: src/tables/FilterSelectDrawer.tsx:136 msgid "Select filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:148 +#: src/tables/FilterSelectDrawer.tsx:137 msgid "Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:155 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:33 -#: src/tables/stock/StockItemTestResultTable.tsx:182 +#: src/tables/FilterSelectDrawer.tsx:144 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 +#: src/tables/stock/StockItemTestResultTable.tsx:180 msgid "Value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:156 +#: src/tables/FilterSelectDrawer.tsx:145 msgid "Select filter value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:196 +#: src/tables/FilterSelectDrawer.tsx:185 msgid "Table Filters" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:228 +#: src/tables/FilterSelectDrawer.tsx:217 msgid "Add Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:237 +#: src/tables/FilterSelectDrawer.tsx:226 msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:118 -#: src/tables/InvenTreeTable.tsx:384 -#: src/tables/InvenTreeTable.tsx:405 +#: src/tables/InvenTreeTable.tsx:119 +#: src/tables/InvenTreeTable.tsx:390 +#: src/tables/InvenTreeTable.tsx:411 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:416 +#: src/tables/InvenTreeTable.tsx:422 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:424 +#: src/tables/InvenTreeTable.tsx:430 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:427 +#: src/tables/InvenTreeTable.tsx:433 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:436 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:433 +#: src/tables/InvenTreeTable.tsx:439 msgid "Not found" msgstr "" -#: src/tables/InvenTreeTable.tsx:482 -#: src/tables/InvenTreeTable.tsx:604 +#: src/tables/InvenTreeTable.tsx:488 +#: src/tables/InvenTreeTable.tsx:611 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:486 +#: src/tables/InvenTreeTable.tsx:492 msgid "Are you sure you want to delete the selected records?" msgstr "" -#: src/tables/InvenTreeTable.tsx:488 +#: src/tables/InvenTreeTable.tsx:494 msgid "This action cannot be undone!" msgstr "" -#: src/tables/InvenTreeTable.tsx:516 +#: src/tables/InvenTreeTable.tsx:522 msgid "Deleted records" msgstr "" -#: src/tables/InvenTreeTable.tsx:517 +#: src/tables/InvenTreeTable.tsx:523 msgid "Records were deleted successfully" msgstr "" -#: src/tables/InvenTreeTable.tsx:526 +#: src/tables/InvenTreeTable.tsx:532 msgid "Failed to delete records" msgstr "" -#: src/tables/InvenTreeTable.tsx:585 -#: src/tables/InvenTreeTable.tsx:586 -msgid "Barcode actions" -msgstr "" - #: src/tables/InvenTreeTable.tsx:594 #: src/tables/InvenTreeTable.tsx:595 -msgid "Print actions" +#~ msgid "Print actions" +#~ msgstr "Print actions" + +#: src/tables/InvenTreeTable.tsx:601 +#: src/tables/InvenTreeTable.tsx:602 +msgid "Barcode actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:620 +#: src/tables/InvenTreeTable.tsx:630 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:638 +#: src/tables/InvenTreeTable.tsx:648 msgid "Table filters" msgstr "" @@ -4770,138 +4880,138 @@ msgstr "" msgid "Part Information" msgstr "" -#: src/tables/bom/BomTable.tsx:177 +#: src/tables/bom/BomTable.tsx:179 #: src/tables/part/PartTable.tsx:124 msgid "No stock" msgstr "" -#: src/tables/bom/BomTable.tsx:185 +#: src/tables/bom/BomTable.tsx:187 #: src/tables/build/BuildLineTable.tsx:104 #: src/tables/part/PartTable.tsx:115 msgid "External stock" msgstr "" -#: src/tables/bom/BomTable.tsx:193 +#: src/tables/bom/BomTable.tsx:195 #: src/tables/build/BuildLineTable.tsx:67 msgid "Includes substitute stock" msgstr "" -#: src/tables/bom/BomTable.tsx:202 +#: src/tables/bom/BomTable.tsx:204 #: src/tables/build/BuildLineTable.tsx:77 msgid "Includes variant stock" msgstr "" -#: src/tables/bom/BomTable.tsx:227 +#: src/tables/bom/BomTable.tsx:229 #: src/tables/part/PartTable.tsx:143 #: src/tables/stock/StockItemTable.tsx:205 msgid "Stock Information" msgstr "" -#: src/tables/bom/BomTable.tsx:239 +#: src/tables/bom/BomTable.tsx:241 #: src/tables/build/BuildLineTable.tsx:195 msgid "Consumable item" msgstr "" -#: src/tables/bom/BomTable.tsx:260 +#: src/tables/bom/BomTable.tsx:262 msgid "Show trackable items" msgstr "" -#: src/tables/bom/BomTable.tsx:265 +#: src/tables/bom/BomTable.tsx:267 msgid "Show asssmbled items" msgstr "" -#: src/tables/bom/BomTable.tsx:270 +#: src/tables/bom/BomTable.tsx:272 msgid "Show items with available stock" msgstr "" -#: src/tables/bom/BomTable.tsx:275 +#: src/tables/bom/BomTable.tsx:277 msgid "Show items on order" msgstr "" -#: src/tables/bom/BomTable.tsx:279 +#: src/tables/bom/BomTable.tsx:281 msgid "Validated" msgstr "" -#: src/tables/bom/BomTable.tsx:280 +#: src/tables/bom/BomTable.tsx:282 msgid "Show validated items" msgstr "" -#: src/tables/bom/BomTable.tsx:284 +#: src/tables/bom/BomTable.tsx:286 #: src/tables/bom/UsedInTable.tsx:63 msgid "Inherited" msgstr "" -#: src/tables/bom/BomTable.tsx:285 +#: src/tables/bom/BomTable.tsx:287 #: src/tables/bom/UsedInTable.tsx:64 msgid "Show inherited items" msgstr "" -#: src/tables/bom/BomTable.tsx:289 +#: src/tables/bom/BomTable.tsx:291 #: src/tables/bom/UsedInTable.tsx:68 #: src/tables/build/BuildLineTable.tsx:46 msgid "Optional" msgstr "" -#: src/tables/bom/BomTable.tsx:290 +#: src/tables/bom/BomTable.tsx:292 #: src/tables/bom/UsedInTable.tsx:69 msgid "Show optional items" msgstr "" -#: src/tables/bom/BomTable.tsx:294 +#: src/tables/bom/BomTable.tsx:296 #: src/tables/build/BuildLineTable.tsx:41 msgid "Consumable" msgstr "" -#: src/tables/bom/BomTable.tsx:295 +#: src/tables/bom/BomTable.tsx:297 msgid "Show consumable items" msgstr "" -#: src/tables/bom/BomTable.tsx:299 +#: src/tables/bom/BomTable.tsx:301 msgid "Has Pricing" msgstr "" -#: src/tables/bom/BomTable.tsx:300 -msgid "Show items with pricing" -msgstr "" - #: src/tables/bom/BomTable.tsx:301 #~ msgid "Create BOM Item" #~ msgstr "Create BOM Item" -#: src/tables/bom/BomTable.tsx:309 -#: src/tables/bom/BomTable.tsx:397 +#: src/tables/bom/BomTable.tsx:302 +msgid "Show items with pricing" +msgstr "" + +#: src/tables/bom/BomTable.tsx:311 +#: src/tables/bom/BomTable.tsx:399 msgid "Add BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:314 +#: src/tables/bom/BomTable.tsx:316 msgid "BOM item created" msgstr "" -#: src/tables/bom/BomTable.tsx:321 +#: src/tables/bom/BomTable.tsx:323 msgid "Edit BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:323 +#: src/tables/bom/BomTable.tsx:325 msgid "BOM item updated" msgstr "" -#: src/tables/bom/BomTable.tsx:330 -msgid "Delete BOM Item" -msgstr "" - -#: src/tables/bom/BomTable.tsx:331 -msgid "BOM item deleted" -msgstr "" - #: src/tables/bom/BomTable.tsx:331 #~ msgid "Edit Bom Item" #~ msgstr "Edit Bom Item" +#: src/tables/bom/BomTable.tsx:332 +msgid "Delete BOM Item" +msgstr "" + +#: src/tables/bom/BomTable.tsx:333 +msgid "BOM item deleted" +msgstr "" + #: src/tables/bom/BomTable.tsx:333 #~ msgid "Bom item updated" #~ msgstr "Bom item updated" -#: src/tables/bom/BomTable.tsx:341 +#: src/tables/bom/BomTable.tsx:343 msgid "View BOM" msgstr "" @@ -4917,11 +5027,11 @@ msgstr "" #~ msgid "Are you sure you want to remove this BOM item?" #~ msgstr "Are you sure you want to remove this BOM item?" -#: src/tables/bom/BomTable.tsx:352 +#: src/tables/bom/BomTable.tsx:354 msgid "Validate BOM line" msgstr "" -#: src/tables/bom/BomTable.tsx:360 +#: src/tables/bom/BomTable.tsx:362 msgid "Edit Substitutes" msgstr "" @@ -5038,11 +5148,11 @@ msgid "Filter by responsible owner" msgstr "" #: src/tables/build/BuildOutputTable.tsx:114 -#: src/tables/build/BuildOutputTable.tsx:150 +#: src/tables/build/BuildOutputTable.tsx:152 msgid "Add Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:155 +#: src/tables/build/BuildOutputTable.tsx:157 msgid "Complete selected outputs" msgstr "" @@ -5050,68 +5160,68 @@ msgstr "" #~ msgid "Delete build output" #~ msgstr "Delete build output" -#: src/tables/build/BuildOutputTable.tsx:165 +#: src/tables/build/BuildOutputTable.tsx:167 msgid "Scrap selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:175 +#: src/tables/build/BuildOutputTable.tsx:177 msgid "Cancel selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:191 +#: src/tables/build/BuildOutputTable.tsx:193 msgid "Allocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:192 +#: src/tables/build/BuildOutputTable.tsx:194 msgid "Allocate stock to build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:197 +#: src/tables/build/BuildOutputTable.tsx:199 msgid "Deallocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:198 +#: src/tables/build/BuildOutputTable.tsx:200 msgid "Deallocate stock from build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:203 +#: src/tables/build/BuildOutputTable.tsx:205 msgid "Complete" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:204 +#: src/tables/build/BuildOutputTable.tsx:206 msgid "Complete build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:213 +#: src/tables/build/BuildOutputTable.tsx:215 msgid "Scrap" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:214 +#: src/tables/build/BuildOutputTable.tsx:216 msgid "Scrap build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:224 +#: src/tables/build/BuildOutputTable.tsx:226 msgid "Cancel build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:251 +#: src/tables/build/BuildOutputTable.tsx:253 msgid "Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:264 +#: src/tables/build/BuildOutputTable.tsx:266 msgid "Batch" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:278 +#: src/tables/build/BuildOutputTable.tsx:280 msgid "Allocated Items" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:288 +#: src/tables/build/BuildOutputTable.tsx:290 msgid "Required Tests" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:317 -#: src/tables/stock/StockItemTestResultTable.tsx:146 +#: src/tables/build/BuildOutputTable.tsx:319 +#: src/tables/stock/StockItemTestResultTable.tsx:144 msgid "Test Results" msgstr "" @@ -5132,7 +5242,7 @@ msgstr "" msgid "Delete Address" msgstr "" -#: src/tables/company/AddressTable.tsx:145 +#: src/tables/company/AddressTable.tsx:144 msgid "Are you sure you want to delete this address?" msgstr "" @@ -5177,36 +5287,52 @@ msgstr "" msgid "Add contact" msgstr "" -#: src/tables/general/AttachmentTable.tsx:161 +#: src/tables/general/AttachmentTable.tsx:130 msgid "File uploaded" msgstr "" -#: src/tables/general/AttachmentTable.tsx:162 +#: src/tables/general/AttachmentTable.tsx:131 msgid "File {0} uploaded successfully" msgstr "" -#: src/tables/general/AttachmentTable.tsx:173 +#: src/tables/general/AttachmentTable.tsx:142 msgid "Upload Error" msgstr "" -#: src/tables/general/AttachmentTable.tsx:174 +#: src/tables/general/AttachmentTable.tsx:143 msgid "File could not be uploaded" msgstr "" #: src/tables/general/AttachmentTable.tsx:187 +msgid "Upload Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:197 +msgid "Edit Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:211 +msgid "Delete Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:221 msgid "Add attachment" msgstr "" -#: src/tables/general/AttachmentTable.tsx:207 +#: src/tables/general/AttachmentTable.tsx:232 msgid "Add external link" msgstr "" -#: src/tables/general/AttachmentTable.tsx:239 +#: src/tables/general/AttachmentTable.tsx:254 +#~ msgid "Upload attachment" +#~ msgstr "Upload attachment" + +#: src/tables/general/AttachmentTable.tsx:289 msgid "No attachments found" msgstr "" -#: src/tables/general/AttachmentTable.tsx:254 -msgid "Upload attachment" +#: src/tables/general/AttachmentTable.tsx:325 +msgid "Drag attachment file here to upload" msgstr "" #: src/tables/machine/MachineListTable.tsx:199 @@ -5332,8 +5458,8 @@ msgstr "" #: src/tables/machine/MachineTypeTable.tsx:135 #: src/tables/machine/MachineTypeTable.tsx:255 -#: src/tables/plugin/PluginListTable.tsx:215 -#: src/tables/plugin/PluginListTable.tsx:643 +#: src/tables/plugin/PluginListTable.tsx:180 +#: src/tables/plugin/PluginListTable.tsx:568 msgid "Builtin" msgstr "" @@ -5375,7 +5501,7 @@ msgid "Message" msgstr "" #: src/tables/part/ParametricPartTable.tsx:75 -#: src/tables/part/PartParameterTable.tsx:87 +#: src/tables/part/PartParameterTable.tsx:88 msgid "Internal Units" msgstr "" @@ -5388,29 +5514,29 @@ msgid "Add Part Parameter" msgstr "" #: src/tables/part/ParametricPartTable.tsx:147 -#: src/tables/part/PartParameterTable.tsx:128 -#: src/tables/part/PartParameterTable.tsx:150 +#: src/tables/part/PartParameterTable.tsx:121 +#: src/tables/part/PartParameterTable.tsx:144 msgid "Edit Part Parameter" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:64 +#: src/tables/part/PartCategoryTable.tsx:60 #: src/tables/part/PartTable.tsx:180 msgid "Include Subcategories" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:65 +#: src/tables/part/PartCategoryTable.tsx:61 msgid "Include subcategories in results" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:70 +#: src/tables/part/PartCategoryTable.tsx:66 msgid "Show structural categories" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:77 +#: src/tables/part/PartCategoryTable.tsx:73 msgid "New Part Category" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:106 +#: src/tables/part/PartCategoryTable.tsx:98 msgid "Add Part Category" msgstr "" @@ -5435,20 +5561,20 @@ msgstr "" #~ msgid "[{0}]" #~ msgstr "[{0}]" -#: src/tables/part/PartParameterTable.tsx:112 +#: src/tables/part/PartParameterTable.tsx:105 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:136 -#: src/tables/part/PartParameterTable.tsx:158 +#: src/tables/part/PartParameterTable.tsx:130 +#: src/tables/part/PartParameterTable.tsx:152 msgid "Delete Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:175 +#: src/tables/part/PartParameterTable.tsx:170 msgid "Add parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:196 +#: src/tables/part/PartParameterTable.tsx:191 #: src/tables/stock/StockItemTable.tsx:300 msgid "Include Variants" msgstr "" @@ -5482,15 +5608,15 @@ msgstr "" msgid "Add Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:97 +#: src/tables/part/PartParameterTemplateTable.tsx:100 msgid "Edit Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:105 +#: src/tables/part/PartParameterTemplateTable.tsx:111 msgid "Delete Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:135 +#: src/tables/part/PartParameterTemplateTable.tsx:141 msgid "Add parameter template" msgstr "" @@ -5588,7 +5714,7 @@ msgid "No Results" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:79 -#: src/tables/stock/StockItemTestResultTable.tsx:385 +#: src/tables/stock/StockItemTestResultTable.tsx:376 msgid "Required" msgstr "" @@ -5597,8 +5723,8 @@ msgid "Show required tests" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:84 -#: src/tables/settings/TemplateTable.tsx:213 -#: src/tables/settings/TemplateTable.tsx:275 +#: src/tables/settings/TemplateTable.tsx:160 +#: src/tables/settings/TemplateTable.tsx:270 msgid "Enabled" msgstr "" @@ -5639,26 +5765,30 @@ msgid "Show tests which have recorded results" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:126 -#: src/tables/part/PartTestTemplateTable.tsx:195 +#: src/tables/part/PartTestTemplateTable.tsx:201 msgid "Add Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:139 +#: src/tables/part/PartTestTemplateTable.tsx:142 msgid "Edit Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:147 +#: src/tables/part/PartTestTemplateTable.tsx:153 msgid "Delete Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:149 +#: src/tables/part/PartTestTemplateTable.tsx:155 msgid "This action cannot be reversed" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:151 +#: src/tables/part/PartTestTemplateTable.tsx:157 msgid "Any tests results associated with this template will be deleted" msgstr "" +#: src/tables/part/PartThumbTable.tsx:203 +msgid "Select" +msgstr "" + #: src/tables/part/PartVariantTable.tsx:16 msgid "Show active variants" msgstr "" @@ -5695,252 +5825,273 @@ msgstr "" msgid "Stage" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:113 -msgid "Plugin with id {id} not found" +#: src/tables/plugin/PluginListTable.tsx:95 +msgid "Plugin with key {pluginKey} not found" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:115 +#: src/tables/plugin/PluginListTable.tsx:97 msgid "An error occurred while fetching plugin details" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:134 -msgid "Plugin Actions" -msgstr "" +#: src/tables/plugin/PluginListTable.tsx:113 +#~ msgid "Plugin with id {id} not found" +#~ msgstr "Plugin with id {id} not found" -#: src/tables/plugin/PluginListTable.tsx:138 -#: src/tables/plugin/PluginListTable.tsx:141 -msgid "Edit plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:152 -#: src/tables/plugin/PluginListTable.tsx:153 -msgid "Reload" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:166 +#: src/tables/plugin/PluginListTable.tsx:122 msgid "Plugin information" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:177 +#: src/tables/plugin/PluginListTable.tsx:134 msgid "Author" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:198 +#: src/tables/plugin/PluginListTable.tsx:134 +#~ msgid "Plugin Actions" +#~ msgstr "Plugin Actions" + +#: src/tables/plugin/PluginListTable.tsx:138 +#: src/tables/plugin/PluginListTable.tsx:141 +#~ msgid "Edit plugin" +#~ msgstr "Edit plugin" + +#: src/tables/plugin/PluginListTable.tsx:152 +#: src/tables/plugin/PluginListTable.tsx:153 +#~ msgid "Reload" +#~ msgstr "Reload" + +#: src/tables/plugin/PluginListTable.tsx:154 +msgid "Plugin is not active" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:163 msgid "Package information" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:204 +#: src/tables/plugin/PluginListTable.tsx:169 msgid "Package Name" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:210 +#: src/tables/plugin/PluginListTable.tsx:175 msgid "Installation Path" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:220 +#: src/tables/plugin/PluginListTable.tsx:185 msgid "Package" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:231 +#: src/tables/plugin/PluginListTable.tsx:197 msgid "Plugin settings" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:248 +#: src/tables/plugin/PluginListTable.tsx:214 msgid "Plugin is active" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:254 +#: src/tables/plugin/PluginListTable.tsx:220 msgid "Plugin is inactive" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:261 +#: src/tables/plugin/PluginListTable.tsx:227 msgid "Plugin is not installed" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:287 +#: src/tables/plugin/PluginListTable.tsx:253 msgid "Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:312 +#: src/tables/plugin/PluginListTable.tsx:287 msgid "Description not available" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:338 +#: src/tables/plugin/PluginListTable.tsx:319 +msgid "Confirm plugin activation" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:320 +msgid "Confirm plugin deactivation" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:325 +msgid "The selected plugin will be activated" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:326 +msgid "The selected plugin will be deactivated" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:334 msgid "Activate Plugin" msgstr "" #: src/tables/plugin/PluginListTable.tsx:338 -msgid "Deactivate Plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:347 -msgid "Confirm plugin activation" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:348 -msgid "Confirm plugin deactivation" -msgstr "" +#~ msgid "Deactivate Plugin" +#~ msgstr "Deactivate Plugin" #: src/tables/plugin/PluginListTable.tsx:354 -msgid "The following plugin will be activated" -msgstr "" +#~ msgid "The following plugin will be activated" +#~ msgstr "The following plugin will be activated" #: src/tables/plugin/PluginListTable.tsx:355 -msgid "The following plugin will be deactivated" -msgstr "" +#~ msgid "The following plugin will be deactivated" +#~ msgstr "The following plugin will be deactivated" -#: src/tables/plugin/PluginListTable.tsx:366 -msgid "Confirm" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:376 -msgid "Activating plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:376 -msgid "Deactivating plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:392 -msgid "Plugin updated" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:394 -msgid "The plugin was activated" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:395 -msgid "The plugin was deactivated" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:403 -msgid "Error updating plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:423 +#: src/tables/plugin/PluginListTable.tsx:362 msgid "Deactivate" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:432 +#: src/tables/plugin/PluginListTable.tsx:366 +#~ msgid "Confirm" +#~ msgstr "Confirm" + +#: src/tables/plugin/PluginListTable.tsx:373 msgid "Activate" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:463 +#: src/tables/plugin/PluginListTable.tsx:376 +#~ msgid "Activating plugin" +#~ msgstr "Activating plugin" + +#: src/tables/plugin/PluginListTable.tsx:376 +#~ msgid "Deactivating plugin" +#~ msgstr "Deactivating plugin" + +#: src/tables/plugin/PluginListTable.tsx:392 +#~ msgid "Plugin updated" +#~ msgstr "Plugin updated" + +#: src/tables/plugin/PluginListTable.tsx:394 +#~ msgid "The plugin was activated" +#~ msgstr "The plugin was activated" + +#: src/tables/plugin/PluginListTable.tsx:395 +#~ msgid "The plugin was deactivated" +#~ msgstr "The plugin was deactivated" + +#: src/tables/plugin/PluginListTable.tsx:403 +#~ msgid "Error updating plugin" +#~ msgstr "Error updating plugin" + +#: src/tables/plugin/PluginListTable.tsx:406 msgid "Uninstall" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:495 +#: src/tables/plugin/PluginListTable.tsx:438 msgid "Install plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:508 +#: src/tables/plugin/PluginListTable.tsx:451 msgid "Install" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:512 +#: src/tables/plugin/PluginListTable.tsx:452 msgid "Plugin installed successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:525 +#: src/tables/plugin/PluginListTable.tsx:457 msgid "Uninstall Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:537 +#: src/tables/plugin/PluginListTable.tsx:469 msgid "Confirm plugin uninstall" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:540 +#: src/tables/plugin/PluginListTable.tsx:472 msgid "The selected plugin will be uninstalled." msgstr "" -#: src/tables/plugin/PluginListTable.tsx:541 +#: src/tables/plugin/PluginListTable.tsx:473 msgid "This action cannot be undone." msgstr "" -#: src/tables/plugin/PluginListTable.tsx:547 +#: src/tables/plugin/PluginListTable.tsx:477 msgid "Plugin uninstalled successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:560 +#: src/tables/plugin/PluginListTable.tsx:484 msgid "Delete Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:562 +#: src/tables/plugin/PluginListTable.tsx:485 msgid "Deleting this plugin configuration will remove all associated settings and data. Are you sure you want to delete this plugin?" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:574 +#: src/tables/plugin/PluginListTable.tsx:498 msgid "Plugins reloaded" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:575 +#: src/tables/plugin/PluginListTable.tsx:499 msgid "Plugins were reloaded successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:591 +#: src/tables/plugin/PluginListTable.tsx:515 msgid "Reload Plugins" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:600 +#: src/tables/plugin/PluginListTable.tsx:524 msgid "Install Plugin" msgstr "" +#: src/tables/plugin/PluginListTable.tsx:544 +msgid "Plugin Detail" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:573 +msgid "Sample" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:578 +#: src/tables/stock/StockItemTable.tsx:305 +msgid "Installed" +msgstr "" + #: src/tables/plugin/PluginListTable.tsx:615 #~ msgid "Plugin detail" #~ msgstr "Plugin detail" -#: src/tables/plugin/PluginListTable.tsx:619 -msgid "Plugin Detail" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:648 -msgid "Sample" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:653 -#: src/tables/stock/StockItemTable.tsx:305 -msgid "Installed" -msgstr "" - -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:57 -msgid "Edit Parameter" +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:59 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:108 +msgid "Add Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:60 -msgid "Parameter updated" -msgstr "" +#~ msgid "Parameter updated" +#~ msgstr "Parameter updated" -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:71 -msgid "Delete Parameter" +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:70 +msgid "Edit Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:73 -msgid "Parameter deleted" -msgstr "" +#~ msgid "Parameter deleted" +#~ msgstr "Parameter deleted" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:74 -msgid "Are you sure you want to delete this parameter?" +#~ msgid "Are you sure you want to delete this parameter?" +#~ msgstr "Are you sure you want to delete this parameter?" + +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:78 +msgid "Delete Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartTable.tsx:63 #~ msgid "Create Manufacturer Part" #~ msgstr "Create Manufacturer Part" -#: src/tables/purchasing/ManufacturerPartTable.tsx:100 -msgid "Manufacturer part updated" -msgstr "" - -#: src/tables/purchasing/ManufacturerPartTable.tsx:111 +#: src/tables/purchasing/ManufacturerPartTable.tsx:92 msgid "Delete Manufacturer Part" msgstr "" +#: src/tables/purchasing/ManufacturerPartTable.tsx:100 +#~ msgid "Manufacturer part updated" +#~ msgstr "Manufacturer part updated" + #: src/tables/purchasing/ManufacturerPartTable.tsx:112 -msgid "Manufacturer part deleted" -msgstr "" +#~ msgid "Manufacturer part deleted" +#~ msgstr "Manufacturer part deleted" #: src/tables/purchasing/ManufacturerPartTable.tsx:114 -msgid "Are you sure you want to remove this manufacturer part?" -msgstr "" +#~ msgid "Are you sure you want to remove this manufacturer part?" +#~ msgstr "Are you sure you want to remove this manufacturer part?" #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:86 msgid "Part Description" @@ -6087,18 +6238,22 @@ msgid "Error Information" msgstr "" #: src/tables/settings/ErrorTable.tsx:51 -msgid "Delete error report" +msgid "Delete Error Report" msgstr "" +#: src/tables/settings/ErrorTable.tsx:51 +#~ msgid "Delete error report" +#~ msgstr "Delete error report" + #: src/tables/settings/ErrorTable.tsx:53 -msgid "Error report deleted" -msgstr "" - -#: src/tables/settings/ErrorTable.tsx:54 msgid "Are you sure you want to delete this error report?" msgstr "" -#: src/tables/settings/ErrorTable.tsx:67 +#: src/tables/settings/ErrorTable.tsx:55 +msgid "Error report deleted" +msgstr "" + +#: src/tables/settings/ErrorTable.tsx:77 #: src/tables/settings/FailedTasksTable.tsx:57 msgid "Error Details" msgstr "" @@ -6115,7 +6270,7 @@ msgid "Task ID" msgstr "" #: src/tables/settings/FailedTasksTable.tsx:34 -#: src/tables/stock/StockItemTestResultTable.tsx:214 +#: src/tables/stock/StockItemTestResultTable.tsx:205 msgid "Started" msgstr "" @@ -6188,30 +6343,71 @@ msgstr "" msgid "Next Run" msgstr "" -#: src/tables/settings/TemplateTable.tsx:120 -msgid "{templateTypeTranslation} with id {id} not found" +#: src/tables/settings/TemplateTable.tsx:82 +msgid "Template not found" msgstr "" +#: src/tables/settings/TemplateTable.tsx:84 +msgid "An error occurred while fetching template details" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:120 +#~ msgid "{templateTypeTranslation} with id {id} not found" +#~ msgstr "{templateTypeTranslation} with id {id} not found" + #: src/tables/settings/TemplateTable.tsx:124 -msgid "An error occurred while fetching {templateTypeTranslation} details" -msgstr "" +#~ msgid "An error occurred while fetching {templateTypeTranslation} details" +#~ msgstr "An error occurred while fetching {templateTypeTranslation} details" #: src/tables/settings/TemplateTable.tsx:146 -msgid "actions" +#~ msgid "actions" +#~ msgstr "actions" + +#: src/tables/settings/TemplateTable.tsx:170 +msgid "Modify" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:171 +msgid "Modify template file" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:222 +#: src/tables/settings/TemplateTable.tsx:289 +msgid "Edit Template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:230 +msgid "Delete template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:236 +msgid "Add Template" msgstr "" #: src/tables/settings/TemplateTable.tsx:243 -msgid "Add new" -msgstr "" +#~ msgid "Add new" +#~ msgstr "Add new" #: src/tables/settings/TemplateTable.tsx:243 #~ msgid "Create new" #~ msgstr "Create new" -#: src/tables/settings/TemplateTable.tsx:276 +#: src/tables/settings/TemplateTable.tsx:249 +msgid "Add template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:271 msgid "Filter by enabled status" msgstr "" +#: src/tables/settings/TemplateTable.tsx:276 +msgid "Model Type" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:277 +msgid "Filter by target model type" +msgstr "" + #: src/tables/settings/UserTable.tsx:79 msgid "User with id {id} not found" msgstr "" @@ -6277,6 +6473,23 @@ msgstr "" msgid "Edit user" msgstr "" +#: src/tables/stock/LocationTypesTable.tsx:36 +#: src/tables/stock/LocationTypesTable.tsx:105 +msgid "Add Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:44 +msgid "Edit Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:52 +msgid "Delete Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:69 +msgid "Icon" +msgstr "" + #: src/tables/stock/StockItemTable.tsx:90 msgid "This stock item is in production" msgstr "" @@ -6338,7 +6551,7 @@ msgid "Show items which are available" msgstr "" #: src/tables/stock/StockItemTable.tsx:280 -#: src/tables/stock/StockLocationTable.tsx:37 +#: src/tables/stock/StockLocationTable.tsx:33 msgid "Include Sublocations" msgstr "" @@ -6467,123 +6680,135 @@ msgstr "" msgid "Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:153 +#: src/tables/stock/StockItemTestResultTable.tsx:151 msgid "Test result for installed stock item" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:164 +#: src/tables/stock/StockItemTestResultTable.tsx:162 msgid "Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:170 +#: src/tables/stock/StockItemTestResultTable.tsx:168 msgid "No Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:186 +#: src/tables/stock/StockItemTestResultTable.tsx:184 msgid "Attachment" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:209 +#: src/tables/stock/StockItemTestResultTable.tsx:200 msgid "Test station" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:229 +#: src/tables/stock/StockItemTestResultTable.tsx:220 msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:277 -#: src/tables/stock/StockItemTestResultTable.tsx:349 -#: src/tables/stock/StockItemTestResultTable.tsx:404 +#: src/tables/stock/StockItemTestResultTable.tsx:268 +#: src/tables/stock/StockItemTestResultTable.tsx:340 +#: src/tables/stock/StockItemTestResultTable.tsx:395 msgid "Add Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:279 +#: src/tables/stock/StockItemTestResultTable.tsx:270 msgid "Test result added" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:288 -#: src/tables/stock/StockItemTestResultTable.tsx:359 +#: src/tables/stock/StockItemTestResultTable.tsx:279 +#: src/tables/stock/StockItemTestResultTable.tsx:350 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:290 +#: src/tables/stock/StockItemTestResultTable.tsx:281 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:296 -#: src/tables/stock/StockItemTestResultTable.tsx:368 +#: src/tables/stock/StockItemTestResultTable.tsx:287 +#: src/tables/stock/StockItemTestResultTable.tsx:359 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:298 +#: src/tables/stock/StockItemTestResultTable.tsx:289 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:312 +#: src/tables/stock/StockItemTestResultTable.tsx:303 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:313 +#: src/tables/stock/StockItemTestResultTable.tsx:304 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:320 +#: src/tables/stock/StockItemTestResultTable.tsx:311 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:337 +#: src/tables/stock/StockItemTestResultTable.tsx:328 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:386 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:390 +#: src/tables/stock/StockItemTestResultTable.tsx:381 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:391 +#: src/tables/stock/StockItemTestResultTable.tsx:382 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:395 +#: src/tables/stock/StockItemTestResultTable.tsx:386 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:396 +#: src/tables/stock/StockItemTestResultTable.tsx:387 msgid "Show only passed tests" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:38 +#: src/tables/stock/StockLocationTable.tsx:34 msgid "Include sublocations in results" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:42 +#: src/tables/stock/StockLocationTable.tsx:38 msgid "structural" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:43 +#: src/tables/stock/StockLocationTable.tsx:39 msgid "Show structural locations" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:47 +#: src/tables/stock/StockLocationTable.tsx:43 msgid "external" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:48 +#: src/tables/stock/StockLocationTable.tsx:44 msgid "Show external locations" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:52 +#: src/tables/stock/StockLocationTable.tsx:48 msgid "Has location type" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:89 -#: src/tables/stock/StockLocationTable.tsx:118 +#: src/tables/stock/StockLocationTable.tsx:85 +#: src/tables/stock/StockLocationTable.tsx:110 msgid "Add Stock Location" msgstr "" +#: src/tables/stock/StockTrackingTable.tsx:64 +msgid "Added" +msgstr "" + +#: src/tables/stock/StockTrackingTable.tsx:69 +msgid "Removed" +msgstr "" + +#: src/tables/stock/StockTrackingTable.tsx:198 +msgid "No user information" +msgstr "" + #: src/views/MobileAppView.tsx:22 msgid "Mobile viewport detected" msgstr "" diff --git a/src/frontend/src/locales/hu/messages.po b/src/frontend/src/locales/hu/messages.po index f905a4e03c..4d356ca4cd 100644 --- a/src/frontend/src/locales/hu/messages.po +++ b/src/frontend/src/locales/hu/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: hu\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-05-13 02:48\n" +"PO-Revision-Date: 2024-05-23 11:38\n" "Last-Translator: \n" "Language-Team: Hungarian\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -30,10 +30,67 @@ msgstr "" msgid "Title" msgstr "Cím" +#: src/components/buttons/AdminButton.tsx:83 +msgid "Open in admin interface" +msgstr "" + #: src/components/buttons/CopyButton.tsx:18 msgid "Copy to clipboard" msgstr "Vágólapra másolás" +#: src/components/buttons/PrintingActions.tsx:95 +msgid "Print Label" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:101 +msgid "Label printing completed successfully" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:106 +#: src/components/buttons/PrintingActions.tsx:143 +#: src/components/forms/ApiForm.tsx:504 +#: src/components/forms/fields/ApiFormField.tsx:295 +#: src/components/modals/LicenseModal.tsx:75 +#: src/components/nav/SearchDrawer.tsx:413 +#: src/components/widgets/MarkdownEditor.tsx:107 +#: src/components/widgets/MarkdownEditor.tsx:153 +#: src/pages/ErrorPage.tsx:12 +#: src/pages/ErrorPage.tsx:25 +#: src/pages/part/PartPricingPanel.tsx:71 +#: src/tables/InvenTreeTable.tsx:451 +#: src/tables/InvenTreeTable.tsx:531 +#: src/tables/stock/StockItemTestResultTable.tsx:310 +msgid "Error" +msgstr "Hiba" + +#: src/components/buttons/PrintingActions.tsx:107 +msgid "The label could not be generated" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:122 +msgid "Print Report" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:138 +msgid "Report printing completed successfully" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:144 +msgid "The report could not be generated" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:171 +msgid "Printing Actions" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:176 +msgid "Print Labels" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:182 +msgid "Print Reports" +msgstr "" + #: src/components/buttons/ScanButton.tsx:15 msgid "Scan QR code" msgstr "QR kód beolvasása" @@ -64,15 +121,15 @@ msgstr "Igen" msgid "No" msgstr "Nem" -#: src/components/details/Details.tsx:302 +#: src/components/details/Details.tsx:303 msgid "No name defined" msgstr "" -#: src/components/details/Details.tsx:339 +#: src/components/details/Details.tsx:340 msgid "Copied" msgstr "Másolva" -#: src/components/details/Details.tsx:339 +#: src/components/details/Details.tsx:340 msgid "Copy" msgstr "Másolás" @@ -85,24 +142,23 @@ msgid "Remove the associated image from this item?" msgstr "Tételhez rendelt kép eltávolítása?" #: src/components/details/DetailsImage.tsx:71 -#: src/forms/StockForms.tsx:442 +#: src/forms/StockForms.tsx:483 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:448 +#: src/pages/stock/StockDetail.tsx:462 msgid "Remove" msgstr "Eltávolítás" #: src/components/details/DetailsImage.tsx:71 -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:163 -#: src/components/items/ActionDropdown.tsx:222 -#: src/components/items/ActionDropdown.tsx:223 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 +#: src/components/items/ActionDropdown.tsx:229 +#: src/components/items/ActionDropdown.tsx:230 #: src/contexts/ThemeContext.tsx:43 #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:40 -#: src/tables/FilterSelectDrawer.tsx:218 -#: src/tables/InvenTreeTable.tsx:493 -#: src/tables/build/BuildOutputTable.tsx:223 -#: src/tables/plugin/PluginListTable.tsx:365 +#: src/tables/FilterSelectDrawer.tsx:207 +#: src/tables/InvenTreeTable.tsx:499 +#: src/tables/build/BuildOutputTable.tsx:225 msgid "Cancel" msgstr "Mégsem" @@ -119,7 +175,7 @@ msgid "Clear" msgstr "Törlés" #: src/components/details/DetailsImage.tsx:227 -#: src/components/forms/ApiForm.tsx:554 +#: src/components/forms/ApiForm.tsx:571 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:56 msgid "Submit" @@ -150,9 +206,10 @@ msgid "Part is not active" msgstr "Az alkatrész nem aktív" #: src/components/details/PartIcons.tsx:34 -#: src/pages/company/CompanyDetail.tsx:308 -#: src/pages/company/SupplierPartDetail.tsx:304 -#: src/pages/part/PartDetail.tsx:684 +#: src/components/render/Plugin.tsx:17 +#: src/pages/company/CompanyDetail.tsx:310 +#: src/pages/company/SupplierPartDetail.tsx:305 +#: src/pages/part/PartDetail.tsx:685 msgid "Inactive" msgstr "Inaktív" @@ -196,10 +253,10 @@ msgid "Code" msgstr "Kód" #: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:44 -msgid "Failed to parse error response from server." -msgstr "A szerver hibaüzenetét nem sikerült feldolgozni." +#~ msgid "Failed to parse error response from server." +#~ msgstr "Failed to parse error response from server." -#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:82 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:81 msgid "Preview not available, click \"Reload Preview\"." msgstr "Előnézet nem elérhető, kattintson az \"Előnézet Frissítés\"-re." @@ -207,98 +264,99 @@ msgstr "Előnézet nem elérhető, kattintson az \"Előnézet Frissítés\"-re." msgid "PDF Preview" msgstr "PDF előnézet" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:113 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:104 msgid "Error loading template" msgstr "Hiba a sablon betöltése közben" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:125 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:116 msgid "Error saving template" msgstr "Hiba a sablon mentése közben" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 -msgid "Save & Reload preview?" -msgstr "Mentés és előnézet frissítés?" +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:146 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:270 +msgid "Save & Reload Preview" +msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:156 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 msgid "Are you sure you want to Save & Reload the preview?" msgstr "Biztosan elmented és frissíted az előnézetet?" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 +#~ msgid "Save & Reload preview?" +#~ msgstr "Save & Reload preview?" + +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:153 msgid "To render the preview the current template needs to be replaced on the server with your modifications which may break the label if it is under active use. Do you want to proceed?" msgstr "Az aktuális sablon előnézetének megjelenítéséhez a módosításaid el kell küldeni a szervernek ami elronthajta a címkét ha éppen használják. Biztosan akarod?" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:162 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:157 msgid "Save & Reload" msgstr "Mentés és újratöltés" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:191 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:189 msgid "Preview updated" msgstr "Előnézet frissítve" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:192 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:190 msgid "The preview has been updated successfully." msgstr "A előnézet sikeresen frissitve." -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:255 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:262 msgid "Reload preview" msgstr "Előnézet frissítése" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:256 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:263 msgid "Use the currently stored template from the server" msgstr "A szerveren tárolt sablon használata" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:263 -msgid "Save & Reload preview" -msgstr "Mentés és előnézet frissítés" +#~ msgid "Save & Reload preview" +#~ msgstr "Save & Reload preview" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:264 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:271 msgid "Save the current template and reload the preview" msgstr "Aktuális sablon elmentése és előnézet frissítése" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:322 -#: src/tables/part/PartThumbTable.tsx:203 -msgid "Select" -msgstr "Kiválaszt" +#~ msgid "to preview" +#~ msgstr "to preview" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:322 -msgid "to preview" -msgstr "előnézet" +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:329 +msgid "Select instance to preview" +msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:366 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:373 msgid "Error rendering template" msgstr "Hiba a sablon megjelenítésekor" -#: src/components/forms/ApiForm.tsx:143 +#: src/components/forms/ApiForm.tsx:148 #: src/functions/forms.tsx:259 msgid "Form Error" msgstr "Form hiba" -#: src/components/forms/ApiForm.tsx:411 +#: src/components/forms/ApiForm.tsx:428 #: src/components/widgets/MarkdownEditor.tsx:145 msgid "Success" msgstr "Siker" #: src/components/forms/ApiForm.tsx:487 -msgid "Form Errors Exist" -msgstr "Form hibák vannak" +#~ msgid "Form Errors Exist" +#~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:592 -#: src/tables/plugin/PluginListTable.tsx:445 +#: src/components/forms/ApiForm.tsx:609 +#: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "Frissítés" -#: src/components/forms/ApiForm.tsx:612 -#: src/components/items/ActionDropdown.tsx:203 +#: src/components/forms/ApiForm.tsx:629 +#: src/components/items/ActionDropdown.tsx:210 #: src/functions/forms.tsx:299 #: src/hooks/UseForm.tsx:122 #: src/pages/Index/Scan.tsx:343 #: src/pages/Notifications.tsx:123 -#: src/tables/InvenTreeTable.tsx:492 +#: src/tables/InvenTreeTable.tsx:498 #: src/tables/RowActions.tsx:71 -#: src/tables/plugin/PluginListTable.tsx:477 -#: src/tables/settings/TemplateTable.tsx:105 -#: src/tables/settings/TemplateTable.tsx:154 -#: src/tables/settings/TemplateTable.tsx:236 +#: src/tables/plugin/PluginListTable.tsx:420 msgid "Delete" msgstr "Törlés" @@ -468,18 +526,19 @@ msgstr "Kiszolgáló" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 -#: src/pages/part/CategoryDetail.tsx:77 -#: src/pages/part/PartDetail.tsx:125 -#: src/pages/stock/LocationDetail.tsx:83 +#: src/pages/part/CategoryDetail.tsx:78 +#: src/pages/part/PartDetail.tsx:126 +#: src/pages/stock/LocationDetail.tsx:85 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 #: src/tables/machine/MachineTypeTable.tsx:216 #: src/tables/machine/MachineTypeTable.tsx:319 #: src/tables/plugin/PluginErrorTable.tsx:33 -#: src/tables/plugin/PluginListTable.tsx:169 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:27 +#: src/tables/plugin/PluginListTable.tsx:126 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:32 #: src/tables/settings/GroupTable.tsx:103 #: src/tables/settings/PendingTasksTable.tsx:26 +#: src/tables/stock/LocationTypesTable.tsx:60 msgid "Name" msgstr "Név" @@ -520,35 +579,20 @@ msgstr "Név: {0}" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "Státusz: <0>worker ({0}), <1>plugins{1}" -#: src/components/forms/fields/ApiFormField.tsx:276 -#: src/components/modals/LicenseModal.tsx:75 -#: src/components/nav/SearchDrawer.tsx:413 -#: src/components/widgets/MarkdownEditor.tsx:107 -#: src/components/widgets/MarkdownEditor.tsx:153 -#: src/pages/ErrorPage.tsx:12 -#: src/pages/ErrorPage.tsx:25 -#: src/pages/part/PartPricingPanel.tsx:71 -#: src/tables/InvenTreeTable.tsx:445 -#: src/tables/InvenTreeTable.tsx:525 -#: src/tables/plugin/PluginListTable.tsx:402 -#: src/tables/stock/StockItemTestResultTable.tsx:319 -msgid "Error" -msgstr "Hiba" - -#: src/components/forms/fields/RelatedModelField.tsx:305 +#: src/components/forms/fields/RelatedModelField.tsx:315 #: src/pages/Index/Settings/UserSettings.tsx:64 #: src/tables/Search.tsx:23 msgid "Search" msgstr "Keresés" -#: src/components/forms/fields/RelatedModelField.tsx:306 +#: src/components/forms/fields/RelatedModelField.tsx:316 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:120 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "Betöltés" -#: src/components/forms/fields/RelatedModelField.tsx:308 +#: src/components/forms/fields/RelatedModelField.tsx:318 msgid "No results found" msgstr "Nincs találat" @@ -569,54 +613,51 @@ msgstr "" msgid "Thumbnail" msgstr "Bélyegkép" -#: src/components/items/ActionDropdown.tsx:112 -#: src/pages/build/BuildDetail.tsx:354 +#: src/components/items/ActionDropdown.tsx:119 +#: src/pages/build/BuildDetail.tsx:360 msgid "Barcode Actions" msgstr "Vonalkód műveletek" -#: src/components/items/ActionDropdown.tsx:129 +#: src/components/items/ActionDropdown.tsx:136 msgid "View" msgstr "Megtekintés" -#: src/components/items/ActionDropdown.tsx:130 +#: src/components/items/ActionDropdown.tsx:137 msgid "View barcode" msgstr "Vonalkód megtekintése" -#: src/components/items/ActionDropdown.tsx:146 +#: src/components/items/ActionDropdown.tsx:153 msgid "Link Barcode" msgstr "Vonalkód hozzárendelése" -#: src/components/items/ActionDropdown.tsx:147 +#: src/components/items/ActionDropdown.tsx:154 msgid "Link custom barcode" msgstr "Egyedi vonalkód hozzárendelése" -#: src/components/items/ActionDropdown.tsx:163 -#: src/forms/PurchaseOrderForms.tsx:375 +#: src/components/items/ActionDropdown.tsx:170 +#: src/forms/PurchaseOrderForms.tsx:389 msgid "Unlink Barcode" msgstr "Vonalkód leválasztása" -#: src/components/items/ActionDropdown.tsx:164 +#: src/components/items/ActionDropdown.tsx:171 msgid "Unlink custom barcode" msgstr "Egyedi vonalkód leválasztása" -#: src/components/items/ActionDropdown.tsx:182 +#: src/components/items/ActionDropdown.tsx:189 #: src/tables/RowActions.tsx:51 -#: src/tables/settings/TemplateTable.tsx:87 -#: src/tables/settings/TemplateTable.tsx:150 -#: src/tables/settings/TemplateTable.tsx:287 msgid "Edit" msgstr "Szerkesztés" -#: src/components/items/ActionDropdown.tsx:204 +#: src/components/items/ActionDropdown.tsx:211 msgid "Delete item" msgstr "Tétel törlése" -#: src/components/items/ActionDropdown.tsx:241 +#: src/components/items/ActionDropdown.tsx:248 #: src/tables/RowActions.tsx:31 msgid "Duplicate" msgstr "Másolás" -#: src/components/items/ActionDropdown.tsx:242 +#: src/components/items/ActionDropdown.tsx:249 msgid "Duplicate item" msgstr "Elem másolása" @@ -625,7 +666,7 @@ msgid "Read More" msgstr "Tudj meg többet" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:437 +#: src/tables/InvenTreeTable.tsx:443 msgid "Unknown error" msgstr "Ismeretlen hiba" @@ -785,27 +826,27 @@ msgstr "Hiba a leállítás közben" #: src/components/modals/QrCodeModal.tsx:154 #: src/defaults/menuItems.tsx:21 -#: src/pages/Index/Scan.tsx:747 +#: src/pages/Index/Scan.tsx:746 msgid "Scanning" msgstr "Kódolvasás" #: src/components/modals/QrCodeModal.tsx:154 -#: src/pages/Index/Scan.tsx:747 +#: src/pages/Index/Scan.tsx:746 msgid "Not scanning" msgstr "Nincs kódolvasás" #: src/components/modals/QrCodeModal.tsx:159 -#: src/pages/Index/Scan.tsx:753 +#: src/pages/Index/Scan.tsx:752 msgid "Select Camera" msgstr "Kamera kiválasztása" #: src/components/modals/QrCodeModal.tsx:169 -#: src/pages/Index/Scan.tsx:738 +#: src/pages/Index/Scan.tsx:737 msgid "Start scanning" msgstr "Kódolvasás indítása" #: src/components/modals/QrCodeModal.tsx:176 -#: src/pages/Index/Scan.tsx:730 +#: src/pages/Index/Scan.tsx:729 msgid "Stop scanning" msgstr "Kódolvasás leállítása" @@ -891,8 +932,8 @@ msgid "Email settings not configured" msgstr "Email beállítások hiányoznak" #: src/components/modals/ServerInfoModal.tsx:121 -#: src/tables/plugin/PluginListTable.tsx:187 -#: src/tables/plugin/PluginListTable.tsx:319 +#: src/tables/plugin/PluginListTable.tsx:144 +#: src/tables/plugin/PluginListTable.tsx:294 msgid "Version" msgstr "Verzió" @@ -926,13 +967,13 @@ msgstr "Fiókbeállítások" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:293 +#: src/pages/Index/Settings/SystemSettings.tsx:294 msgid "System Settings" msgstr "Rendszerbeállítások" #: src/components/nav/MainMenu.tsx:67 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:172 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 msgid "Admin Center" msgstr "Admin központ" @@ -975,7 +1016,7 @@ msgid "Pages" msgstr "Oldalak" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:133 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:153 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "Pluginok" @@ -1013,9 +1054,9 @@ msgid "Mark as read" msgstr "Megjelölés olvasottként" #: src/components/nav/PartCategoryTree.tsx:158 -#: src/components/render/ModelType.tsx:60 +#: src/components/render/ModelType.tsx:64 #: src/pages/Index/Settings/SystemSettings.tsx:162 -#: src/pages/part/CategoryDetail.tsx:248 +#: src/pages/part/CategoryDetail.tsx:249 msgid "Part Categories" msgstr "Alkatrész kategóriák" @@ -1052,142 +1093,147 @@ msgid "No results available for search query" msgstr "Nincs találat a keresésre" #: src/components/nav/StockLocationTree.tsx:93 -#: src/components/render/ModelType.tsx:76 -#: src/pages/stock/LocationDetail.tsx:175 +#: src/components/render/ModelType.tsx:82 +#: src/pages/stock/LocationDetail.tsx:185 msgid "Stock Locations" msgstr "Készlethelyek" -#: src/components/render/Instance.tsx:137 +#: src/components/render/Instance.tsx:166 msgid "Unknown model: {model}" msgstr "Ismeretlen model: {model}" -#: src/components/render/ModelType.tsx:21 -#: src/forms/BuildForms.tsx:184 -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49 +#: src/components/render/ModelType.tsx:22 +#: src/forms/BuildForms.tsx:201 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:83 #: src/pages/part/PartDetail.tsx:828 #: src/tables/part/RelatedPartTable.tsx:45 +#: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" msgstr "Alkatrész" -#: src/components/render/ModelType.tsx:22 +#: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 #: src/pages/Index/Settings/SystemSettings.tsx:167 -#: src/pages/part/CategoryDetail.tsx:109 -#: src/pages/part/CategoryDetail.tsx:234 -#: src/pages/part/CategoryDetail.tsx:264 -#: src/pages/part/PartDetail.tsx:638 +#: src/pages/part/CategoryDetail.tsx:110 +#: src/pages/part/CategoryDetail.tsx:235 +#: src/pages/part/CategoryDetail.tsx:265 +#: src/pages/part/PartDetail.tsx:639 msgid "Parts" msgstr "Alkatrészek" -#: src/components/render/ModelType.tsx:29 +#: src/components/render/ModelType.tsx:31 msgid "Part Parameter Template" msgstr "Alkatrész paraméter sablon" -#: src/components/render/ModelType.tsx:30 +#: src/components/render/ModelType.tsx:32 msgid "Part Parameter Templates" msgstr "Alkatrész paraméter sablonok" -#: src/components/render/ModelType.tsx:36 +#: src/components/render/ModelType.tsx:38 msgid "Part Test Template" msgstr "" -#: src/components/render/ModelType.tsx:37 +#: src/components/render/ModelType.tsx:39 msgid "Part Test Templates" msgstr "" -#: src/components/render/ModelType.tsx:43 -#: src/pages/company/SupplierPartDetail.tsx:189 -#: src/pages/company/SupplierPartDetail.tsx:317 -#: src/pages/stock/StockDetail.tsx:159 +#: src/components/render/ModelType.tsx:45 +#: src/pages/company/SupplierPartDetail.tsx:190 +#: src/pages/company/SupplierPartDetail.tsx:318 +#: src/pages/stock/StockDetail.tsx:162 #: src/tables/purchasing/SupplierPartTable.tsx:68 msgid "Supplier Part" msgstr "Beszállítói alkatrész" -#: src/components/render/ModelType.tsx:44 +#: src/components/render/ModelType.tsx:46 msgid "Supplier Parts" msgstr "Beszállítói alkatrészek" -#: src/components/render/ModelType.tsx:51 -#: src/pages/company/ManufacturerPartDetail.tsx:124 +#: src/components/render/ModelType.tsx:54 +#: src/pages/company/ManufacturerPartDetail.tsx:125 msgid "Manufacturer Part" msgstr "Gyártói alkatrész" -#: src/components/render/ModelType.tsx:52 +#: src/components/render/ModelType.tsx:55 msgid "Manufacturer Parts" msgstr "Gyártói alkatrészek" -#: src/components/render/ModelType.tsx:59 -#: src/pages/part/CategoryDetail.tsx:287 +#: src/components/render/ModelType.tsx:63 +#: src/pages/part/CategoryDetail.tsx:288 msgid "Part Category" msgstr "Alkatrész kategória" -#: src/components/render/ModelType.tsx:67 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67 -#: src/pages/stock/StockDetail.tsx:535 +#: src/components/render/ModelType.tsx:72 +#: src/pages/stock/StockDetail.tsx:548 +#: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" msgstr "Készlet tétel" -#: src/components/render/ModelType.tsx:68 -#: src/pages/company/CompanyDetail.tsx:197 -#: src/pages/stock/LocationDetail.tsx:116 -#: src/pages/stock/LocationDetail.tsx:161 +#: src/components/render/ModelType.tsx:73 +#: src/pages/company/CompanyDetail.tsx:199 +#: src/pages/stock/LocationDetail.tsx:118 +#: src/pages/stock/LocationDetail.tsx:171 #: src/pages/stock/LocationDetail.tsx:365 msgid "Stock Items" msgstr "Készlet tételek" -#: src/components/render/ModelType.tsx:75 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:154 +#: src/components/render/ModelType.tsx:81 msgid "Stock Location" msgstr "Készlet hely" -#: src/components/render/ModelType.tsx:83 +#: src/components/render/ModelType.tsx:90 +msgid "Stock Location Type" +msgstr "" + +#: src/components/render/ModelType.tsx:91 +msgid "Stock Location Types" +msgstr "" + +#: src/components/render/ModelType.tsx:95 msgid "Stock History" msgstr "Készlettörténet" -#: src/components/render/ModelType.tsx:84 +#: src/components/render/ModelType.tsx:96 msgid "Stock Histories" msgstr "Készlettörténet" -#: src/components/render/ModelType.tsx:88 +#: src/components/render/ModelType.tsx:100 #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:43 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:126 msgid "Build" msgstr "Gyártás" -#: src/components/render/ModelType.tsx:89 +#: src/components/render/ModelType.tsx:101 msgid "Builds" msgstr "Gyártások" -#: src/components/render/ModelType.tsx:96 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:76 +#: src/components/render/ModelType.tsx:109 msgid "Build Line" msgstr "" -#: src/components/render/ModelType.tsx:97 +#: src/components/render/ModelType.tsx:110 msgid "Build Lines" msgstr "" -#: src/components/render/ModelType.tsx:104 -#: src/pages/company/CompanyDetail.tsx:321 +#: src/components/render/ModelType.tsx:117 +#: src/pages/company/CompanyDetail.tsx:323 msgid "Company" msgstr "Cég" -#: src/components/render/ModelType.tsx:105 +#: src/components/render/ModelType.tsx:118 msgid "Companies" msgstr "Cégek" -#: src/components/render/ModelType.tsx:112 +#: src/components/render/ModelType.tsx:126 #: src/tables/TableHoverCard.tsx:58 #: src/tables/build/BuildOrderTable.tsx:131 #: src/tables/purchasing/PurchaseOrderTable.tsx:64 @@ -1196,170 +1242,199 @@ msgstr "Cégek" msgid "Project Code" msgstr "Projektszám" -#: src/components/render/ModelType.tsx:113 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:97 +#: src/components/render/ModelType.tsx:127 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:105 msgid "Project Codes" msgstr "Projektszámok" -#: src/components/render/ModelType.tsx:119 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99 +#: src/components/render/ModelType.tsx:133 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:355 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:362 +#: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" msgstr "Beszerzési rendelés" -#: src/components/render/ModelType.tsx:120 -#: src/pages/Index/Settings/SystemSettings.tsx:242 -#: src/pages/company/CompanyDetail.tsx:190 -#: src/pages/company/SupplierPartDetail.tsx:223 -#: src/pages/part/PartDetail.tsx:571 +#: src/components/render/ModelType.tsx:134 +#: src/pages/Index/Settings/SystemSettings.tsx:243 +#: src/pages/company/CompanyDetail.tsx:192 +#: src/pages/company/SupplierPartDetail.tsx:224 +#: src/pages/part/PartDetail.tsx:572 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "Beszerzési rendelések" -#: src/components/render/ModelType.tsx:127 +#: src/components/render/ModelType.tsx:142 msgid "Purchase Order Line" msgstr "Beszerzési rendelés tétel" -#: src/components/render/ModelType.tsx:128 +#: src/components/render/ModelType.tsx:143 msgid "Purchase Order Lines" msgstr "Beszerzési rendelés tételei" -#: src/components/render/ModelType.tsx:132 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:108 +#: src/components/render/ModelType.tsx:147 #: src/pages/build/BuildDetail.tsx:131 -#: src/pages/sales/SalesOrderDetail.tsx:340 -#: src/pages/stock/StockDetail.tsx:207 +#: src/pages/sales/SalesOrderDetail.tsx:347 +#: src/pages/stock/StockDetail.tsx:210 +#: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" msgstr "Vevői rendelés" -#: src/components/render/ModelType.tsx:133 -#: src/pages/Index/Settings/SystemSettings.tsx:257 -#: src/pages/company/CompanyDetail.tsx:210 -#: src/pages/part/PartDetail.tsx:577 +#: src/components/render/ModelType.tsx:148 +#: src/pages/Index/Settings/SystemSettings.tsx:258 +#: src/pages/company/CompanyDetail.tsx:212 +#: src/pages/part/PartDetail.tsx:578 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "Vevői rendelések" -#: src/components/render/ModelType.tsx:140 +#: src/components/render/ModelType.tsx:156 msgid "Sales Order Shipment" msgstr "Vevői rendelés szállítmány" -#: src/components/render/ModelType.tsx:141 +#: src/components/render/ModelType.tsx:157 msgid "Sales Order Shipments" msgstr "Vevői rendelés szállítmányok" -#: src/components/render/ModelType.tsx:147 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:117 -#: src/pages/sales/ReturnOrderDetail.tsx:318 +#: src/components/render/ModelType.tsx:163 +#: src/pages/sales/ReturnOrderDetail.tsx:325 +#: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "Visszavétel" -#: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:272 -#: src/pages/company/CompanyDetail.tsx:217 +#: src/components/render/ModelType.tsx:164 +#: src/pages/Index/Settings/SystemSettings.tsx:273 +#: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" msgstr "Visszavételek" -#: src/components/render/ModelType.tsx:155 +#: src/components/render/ModelType.tsx:172 #: src/tables/company/AddressTable.tsx:47 msgid "Address" msgstr "Cím" -#: src/components/render/ModelType.tsx:156 -#: src/pages/company/CompanyDetail.tsx:247 +#: src/components/render/ModelType.tsx:173 +#: src/pages/company/CompanyDetail.tsx:249 msgid "Addresses" msgstr "Címek" -#: src/components/render/ModelType.tsx:162 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:189 -#: src/pages/sales/ReturnOrderDetail.tsx:157 -#: src/pages/sales/SalesOrderDetail.tsx:161 +#: src/components/render/ModelType.tsx:179 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:191 +#: src/pages/sales/ReturnOrderDetail.tsx:159 +#: src/pages/sales/SalesOrderDetail.tsx:163 msgid "Contact" msgstr "Kapcsolat" -#: src/components/render/ModelType.tsx:163 -#: src/pages/company/CompanyDetail.tsx:241 +#: src/components/render/ModelType.tsx:180 +#: src/pages/company/CompanyDetail.tsx:243 msgid "Contacts" msgstr "Kapcsolatok" -#: src/components/render/ModelType.tsx:169 +#: src/components/render/ModelType.tsx:186 msgid "Owner" msgstr "Tulajdonos" -#: src/components/render/ModelType.tsx:170 +#: src/components/render/ModelType.tsx:187 msgid "Owners" msgstr "Tulajdonosok" -#: src/components/render/ModelType.tsx:176 +#: src/components/render/ModelType.tsx:193 +#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "Felhasználó" -#: src/components/render/ModelType.tsx:177 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:73 +#: src/components/render/ModelType.tsx:194 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:81 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "Felhasználók" -#: src/components/render/Order.tsx:87 +#: src/components/render/ModelType.tsx:200 +msgid "Label Template" +msgstr "" + +#: src/components/render/ModelType.tsx:201 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:135 +msgid "Label Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:207 +msgid "Report Template" +msgstr "" + +#: src/components/render/ModelType.tsx:208 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:141 +msgid "Report Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:214 +msgid "Plugin Configuration" +msgstr "" + +#: src/components/render/ModelType.tsx:215 +msgid "Plugin Configurations" +msgstr "" + +#: src/components/render/Order.tsx:104 msgid "Shipment" msgstr "Szállítmány" -#: src/components/render/Part.tsx:12 +#: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:198 -#: src/pages/part/PartDetail.tsx:491 +#: src/pages/Index/Settings/SystemSettings.tsx:199 +#: src/pages/part/PartDetail.tsx:492 #: src/pages/stock/LocationDetail.tsx:344 -#: src/pages/stock/StockDetail.tsx:344 +#: src/pages/stock/StockDetail.tsx:352 #: src/tables/stock/StockItemTable.tsx:57 msgid "Stock" msgstr "Készlet" -#: src/components/render/Stock.tsx:26 -#: src/pages/stock/StockDetail.tsx:142 -#: src/pages/stock/StockDetail.tsx:501 +#: src/components/render/Stock.tsx:52 +#: src/pages/stock/StockDetail.tsx:145 +#: src/pages/stock/StockDetail.tsx:514 msgid "Serial Number" msgstr "Sorozatszám" -#: src/components/render/Stock.tsx:28 -#: src/forms/BuildForms.tsx:189 +#: src/components/render/Stock.tsx:54 +#: src/forms/BuildForms.tsx:206 #: src/pages/part/pricing/BomPricingPanel.tsx:144 -#: src/pages/part/pricing/PriceBreakPanel.tsx:96 -#: src/pages/stock/StockDetail.tsx:137 -#: src/pages/stock/StockDetail.tsx:507 +#: src/pages/part/pricing/PriceBreakPanel.tsx:94 +#: src/pages/stock/StockDetail.tsx:140 +#: src/pages/stock/StockDetail.tsx:520 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:73 +#: src/tables/stock/StockTrackingTable.tsx:59 msgid "Quantity" msgstr "Mennyiség" -#: src/components/settings/SettingItem.tsx:46 -#: src/components/settings/SettingItem.tsx:99 -msgid "Setting updated" -msgstr "Beállítás frissítve" - #: src/components/settings/SettingItem.tsx:47 #: src/components/settings/SettingItem.tsx:100 -msgid "{0} updated successfully" -msgstr "{0} sikeresen frissítve" +#~ msgid "{0} updated successfully" +#~ msgstr "{0} updated successfully" -#: src/components/settings/SettingItem.tsx:55 -msgid "Error editing setting" -msgstr "Beállítás szerkesztési hiba" - -#: src/components/settings/SettingItem.tsx:92 +#: src/components/settings/SettingList.tsx:67 msgid "Edit Setting" msgstr "Beállítás szerkesztése" -#: src/components/settings/SettingList.tsx:63 -msgid "No settings specified" +#: src/components/settings/SettingList.tsx:78 +#: src/components/settings/SettingList.tsx:108 +msgid "Setting {0} updated successfully" msgstr "" -#: src/components/tables/ColumnRenderers.tsx:134 -#~ msgid "Shipment Date" -#~ msgstr "Shipment Date" +#: src/components/settings/SettingList.tsx:107 +msgid "Setting updated" +msgstr "Beállítás frissítve" + +#: src/components/settings/SettingList.tsx:117 +msgid "Error editing setting" +msgstr "Beállítás szerkesztési hiba" + +#: src/components/settings/SettingList.tsx:158 +msgid "No settings specified" +msgstr "" #: src/components/tables/FilterGroup.tsx:29 #~ msgid "Add table filter" @@ -1731,10 +1806,6 @@ msgstr "" #~ msgid "This is a test filter" #~ msgstr "This is a test filter" -#: src/components/tables/stock/StockLocationTable.tsx:91 -#~ msgid "Location Type" -#~ msgstr "Location Type" - #: src/components/tables/stock/StockLocationTable.tsx:145 #~ msgid "Stock location updated" #~ msgstr "Stock location updated" @@ -2072,7 +2143,7 @@ msgstr "Jelenlegi hírek" #~ msgstr "Local Server" #: src/defaults/links.tsx:11 -#: src/pages/company/CompanyDetail.tsx:90 +#: src/pages/company/CompanyDetail.tsx:92 msgid "Website" msgstr "Weboldal" @@ -2087,10 +2158,10 @@ msgstr "Demó" #: src/defaults/links.tsx:31 #: src/defaults/menuItems.tsx:48 #: src/pages/company/ManufacturerDetail.tsx:9 -#: src/pages/company/ManufacturerPartDetail.tsx:231 +#: src/pages/company/ManufacturerPartDetail.tsx:235 #: src/pages/company/SupplierDetail.tsx:9 -#: src/pages/company/SupplierPartDetail.tsx:291 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:358 +#: src/pages/company/SupplierPartDetail.tsx:292 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:365 #: src/pages/purchasing/PurchasingIndex.tsx:52 msgid "Purchasing" msgstr "Beszerzés" @@ -2098,15 +2169,15 @@ msgstr "Beszerzés" #: src/defaults/links.tsx:32 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:323 +#: src/pages/sales/ReturnOrderDetail.tsx:330 #: src/pages/sales/SalesIndex.tsx:45 -#: src/pages/sales/SalesOrderDetail.tsx:345 +#: src/pages/sales/SalesOrderDetail.tsx:352 msgid "Sales" msgstr "Eladás" #: src/defaults/links.tsx:35 #: src/defaults/menuItems.tsx:71 -#: src/pages/Index/Playground.tsx:239 +#: src/pages/Index/Playground.tsx:238 msgid "Playground" msgstr "Játszótér" @@ -2240,87 +2311,83 @@ msgstr "Nézet interaktív szkenneléshez és más műveletekhez." #~ msgstr "Combusken battles with the intensely hot flames it spews" #: src/forms/AttachmentForms.tsx:57 -msgid "Add File" -msgstr "Fájl hozzáadása" +#~ msgid "Add File" +#~ msgstr "Add File" #: src/forms/AttachmentForms.tsx:57 -msgid "Add Link" -msgstr "Link hozzáadása" +#~ msgid "Add Link" +#~ msgstr "Add Link" #: src/forms/AttachmentForms.tsx:58 -msgid "File added" -msgstr "Fájl hozzáadva" +#~ msgid "File added" +#~ msgstr "File added" #: src/forms/AttachmentForms.tsx:58 -msgid "Link added" -msgstr "Link hozzáadva" +#~ msgid "Link added" +#~ msgstr "Link added" #: src/forms/AttachmentForms.tsx:99 -msgid "Edit File" -msgstr "Fájl szerkesztése" +#~ msgid "Edit File" +#~ msgstr "Edit File" #: src/forms/AttachmentForms.tsx:99 -msgid "Edit Link" -msgstr "Link szerkesztése" +#~ msgid "Edit Link" +#~ msgstr "Edit Link" #: src/forms/AttachmentForms.tsx:100 -msgid "File updated" -msgstr "Fájl frissítve" +#~ msgid "File updated" +#~ msgstr "File updated" #: src/forms/AttachmentForms.tsx:100 -msgid "Link updated" -msgstr "Link frissítve" - -#: src/forms/AttachmentForms.tsx:124 -msgid "Delete Attachment" -msgstr "Melléklet törlése" +#~ msgid "Link updated" +#~ msgstr "Link updated" #: src/forms/AttachmentForms.tsx:125 -msgid "Attachment deleted" -msgstr "Melléklet törölve" +#~ msgid "Attachment deleted" +#~ msgstr "Attachment deleted" #: src/forms/AttachmentForms.tsx:128 -msgid "Are you sure you want to delete this attachment?" -msgstr "Biztos törölni akarod ezt a mellékletet?" +#~ msgid "Are you sure you want to delete this attachment?" +#~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BuildForms.tsx:129 +#: src/forms/BuildForms.tsx:146 msgid "Next serial number" msgstr "" -#: src/forms/BuildForms.tsx:133 +#: src/forms/BuildForms.tsx:150 msgid "Latest serial number" msgstr "" -#: src/forms/BuildForms.tsx:205 +#: src/forms/BuildForms.tsx:222 msgid "Remove output" msgstr "" -#: src/forms/BuildForms.tsx:287 +#: src/forms/BuildForms.tsx:304 msgid "Complete Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:291 +#: src/forms/BuildForms.tsx:308 msgid "Build outputs have been completed" msgstr "" -#: src/forms/BuildForms.tsx:360 +#: src/forms/BuildForms.tsx:377 msgid "Scrap Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:364 +#: src/forms/BuildForms.tsx:381 msgid "Build outputs have been scrapped" msgstr "" -#: src/forms/BuildForms.tsx:396 -#: src/forms/BuildForms.tsx:420 +#: src/forms/BuildForms.tsx:413 +#: src/forms/BuildForms.tsx:437 msgid "Cancel Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:397 +#: src/forms/BuildForms.tsx:414 msgid "Selected build outputs will be deleted" msgstr "" -#: src/forms/BuildForms.tsx:424 +#: src/forms/BuildForms.tsx:441 msgid "Build outputs have been cancelled" msgstr "" @@ -2344,76 +2411,76 @@ msgstr "Felsőbb szintű alkatrész kategória" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PurchaseOrderForms.tsx:265 +#: src/forms/PurchaseOrderForms.tsx:279 msgid "Choose Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:273 +#: src/forms/PurchaseOrderForms.tsx:287 msgid "Item Destination selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:282 +#: src/forms/PurchaseOrderForms.tsx:296 msgid "Part category default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:292 +#: src/forms/PurchaseOrderForms.tsx:306 msgid "Received stock location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:297 +#: src/forms/PurchaseOrderForms.tsx:311 msgid "Default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:308 -#: src/forms/PurchaseOrderForms.tsx:384 +#: src/forms/PurchaseOrderForms.tsx:322 +#: src/forms/PurchaseOrderForms.tsx:398 msgid "Scan Barcode" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:352 +#: src/forms/PurchaseOrderForms.tsx:366 msgid "Set Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:359 +#: src/forms/PurchaseOrderForms.tsx:373 msgid "Assign Batch Code{0}" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:368 +#: src/forms/PurchaseOrderForms.tsx:382 msgid "Change Status" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:393 -#: src/forms/StockForms.tsx:351 +#: src/forms/PurchaseOrderForms.tsx:407 +#: src/forms/StockForms.tsx:392 msgid "Remove item from list" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:418 -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:58 -#: src/pages/stock/StockDetail.tsx:167 -#: src/tables/ColumnRenderers.tsx:42 +#: src/forms/PurchaseOrderForms.tsx:432 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/pages/stock/StockDetail.tsx:170 +#: src/tables/ColumnRenderers.tsx:34 +#: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "Hely" -#: src/forms/PurchaseOrderForms.tsx:434 +#: src/forms/PurchaseOrderForms.tsx:448 msgid "Store at default location" msgstr "Alapértelmezett helyre tárolás" -#: src/forms/PurchaseOrderForms.tsx:447 +#: src/forms/PurchaseOrderForms.tsx:461 msgid "Store at line item destination" msgstr "Tárolás a tétel sor célhelyén" -#: src/forms/PurchaseOrderForms.tsx:457 +#: src/forms/PurchaseOrderForms.tsx:471 msgid "Store with already received stock" msgstr "Tárolás a már megérkezett készlettel" -#: src/forms/PurchaseOrderForms.tsx:613 +#: src/forms/PurchaseOrderForms.tsx:627 msgid "Receive Line Items" msgstr "" @@ -2421,119 +2488,118 @@ msgstr "" #~ msgid "Receive line items" #~ msgstr "Receive line items" -#: src/forms/StockForms.tsx:69 +#: src/forms/StockForms.tsx:101 msgid "Add given quantity as packs instead of individual items" msgstr "Mennyiség hozzáadása csomagolási egységenként egyedi tételek helyett" -#: src/forms/StockForms.tsx:80 -msgid "Enter initial quantity for this stock item" -msgstr "Add meg a kezdeti mennyiséget ehhez a készlet tételhez" - -#: src/forms/StockForms.tsx:85 -msgid "Serial Numbers" -msgstr "Sorozatszámok" - -#: src/forms/StockForms.tsx:86 -msgid "Enter serial numbers for new stock (or leave blank)" -msgstr "Add meg az új készlet tételhez tartozó sorozatszámokat (vagy hagyd üresen)" - #: src/forms/StockForms.tsx:110 #~ msgid "Create Stock Item" #~ msgstr "Create Stock Item" -#: src/forms/StockForms.tsx:135 -#: src/pages/stock/StockDetail.tsx:367 -#: src/tables/stock/StockItemTable.tsx:382 -#: src/tables/stock/StockItemTable.tsx:499 -msgid "Add Stock Item" -msgstr "Új készlet tétel" +#: src/forms/StockForms.tsx:114 +msgid "Enter initial quantity for this stock item" +msgstr "Add meg a kezdeti mennyiséget ehhez a készlet tételhez" + +#: src/forms/StockForms.tsx:121 +msgid "Serial Numbers" +msgstr "Sorozatszámok" + +#: src/forms/StockForms.tsx:122 +msgid "Enter serial numbers for new stock (or leave blank)" +msgstr "Add meg az új készlet tételhez tartozó sorozatszámokat (vagy hagyd üresen)" #: src/forms/StockForms.tsx:158 #~ msgid "Stock item updated" #~ msgstr "Stock item updated" -#: src/forms/StockForms.tsx:298 +#: src/forms/StockForms.tsx:176 +#: src/pages/stock/StockDetail.tsx:375 +#: src/tables/stock/StockItemTable.tsx:382 +#: src/tables/stock/StockItemTable.tsx:499 +msgid "Add Stock Item" +msgstr "Új készlet tétel" + +#: src/forms/StockForms.tsx:339 msgid "Loading..." msgstr "" -#: src/forms/StockForms.tsx:340 +#: src/forms/StockForms.tsx:381 msgid "Move to default location" msgstr "Mozgatás az alapértelmezett helyre" -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/part/PartDetail.tsx:205 -#: src/pages/part/PartDetail.tsx:654 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/pages/part/PartDetail.tsx:206 +#: src/pages/part/PartDetail.tsx:655 #: src/tables/stock/StockItemTable.tsx:290 msgid "In Stock" msgstr "Készleten" -#: src/forms/StockForms.tsx:408 +#: src/forms/StockForms.tsx:449 msgid "Move" msgstr "Áthelyezés" -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/tables/RowActions.tsx:147 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/tables/RowActions.tsx:149 msgid "Actions" msgstr "Műveletek" -#: src/forms/StockForms.tsx:471 -#: src/pages/stock/StockDetail.tsx:440 -#: src/tables/settings/TemplateTable.tsx:266 -#: src/tables/stock/StockItemTestResultTable.tsx:348 +#: src/forms/StockForms.tsx:512 +#: src/pages/stock/StockDetail.tsx:454 +#: src/tables/stock/StockItemTestResultTable.tsx:339 msgid "Add" msgstr "Hozzáadás" -#: src/forms/StockForms.tsx:499 +#: src/forms/StockForms.tsx:540 #: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:430 +#: src/pages/stock/StockDetail.tsx:444 msgid "Count" msgstr "Mennyiség" -#: src/forms/StockForms.tsx:744 +#: src/forms/StockForms.tsx:785 msgid "Add Stock" msgstr "Készlethez ad" -#: src/forms/StockForms.tsx:753 +#: src/forms/StockForms.tsx:794 msgid "Remove Stock" msgstr "Készlet csökkentése" -#: src/forms/StockForms.tsx:762 -#: src/pages/part/PartDetail.tsx:781 +#: src/forms/StockForms.tsx:803 +#: src/pages/part/PartDetail.tsx:782 msgid "Transfer Stock" msgstr "Készlet áthelyezése" -#: src/forms/StockForms.tsx:771 -#: src/pages/part/PartDetail.tsx:770 +#: src/forms/StockForms.tsx:812 +#: src/pages/part/PartDetail.tsx:771 msgid "Count Stock" msgstr "Leltározás" -#: src/forms/StockForms.tsx:780 +#: src/forms/StockForms.tsx:821 msgid "Change Stock Status" msgstr "Készlet állapot módosítása" -#: src/forms/StockForms.tsx:789 +#: src/forms/StockForms.tsx:830 msgid "Merge Stock" msgstr "Készlet összevonása" -#: src/forms/StockForms.tsx:808 +#: src/forms/StockForms.tsx:849 msgid "Delete Stock Items" msgstr "Készlet tétel törlése" -#: src/forms/StockForms.tsx:815 +#: src/forms/StockForms.tsx:856 msgid "Parent stock location" msgstr "Szülő készlet hely" @@ -2728,7 +2794,7 @@ msgstr "Ez az oldal helyettesíti a régi kezdőoldalt, ugyanazokkal az informá msgid "Welcome to your Dashboard{0}" msgstr "Irányítópult: {0}" -#: src/pages/Index/Playground.tsx:244 +#: src/pages/Index/Playground.tsx:243 msgid "This page is a showcase for the possibilities of Platform UI." msgstr "Ez az oldal a Platform UI lehetőségeit mutatja be." @@ -3138,49 +3204,53 @@ msgstr "Betöltő" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:79 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:87 msgid "Background Tasks" msgstr "Háttér műveletek" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:85 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:93 msgid "Error Reports" msgstr "Hibajelentések" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:91 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:99 msgid "Currencies" msgstr "Pénznemek" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:109 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:117 msgid "Custom Units" msgstr "Egyedi mértékegységek" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:115 -#: src/pages/part/CategoryDetail.tsx:254 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:123 +#: src/pages/part/CategoryDetail.tsx:255 msgid "Part Parameters" msgstr "Alkatrész paraméterek" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:121 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 +#~ msgid "Templates" +#~ msgstr "Templates" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:129 msgid "Category Parameters" msgstr "Kategória paraméterek" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 -msgid "Templates" -msgstr "Sablonok" +#: src/pages/Index/Settings/AdminCenter/Index.tsx:147 +msgid "Location types" +msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:139 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:159 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "Berendezések" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:149 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:169 msgid "Quick Actions" msgstr "Gyors műveletek" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:154 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 msgid "Add a new user" msgstr "Új felhasználó hozzáadása" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:173 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:193 msgid "Advanced Options" msgstr "További beállítások" @@ -3225,26 +3295,32 @@ msgstr "Bővítmény Hibák" msgid "Plugin Settings" msgstr "Plugin beállítások" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:25 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:53 +msgid "Background Worker Not Running" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:54 +msgid "The background task manager service is not running. Contact your system administrator." +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:60 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:76 msgid "Pending Tasks" msgstr "Folyamatban lévő feladatok" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:33 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:64 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:84 msgid "Scheduled Tasks" msgstr "Ütemezett Feladatok" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:41 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:68 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:92 msgid "Failed Tasks" msgstr "Hibás feladatok" -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:139 -msgid "Labels" -msgstr "Címkék" - #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:39 -msgid "Label" -msgstr "Címke" +#~ msgid "Label" +#~ msgstr "Label" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67 #~ msgid "Stock item" @@ -3255,13 +3331,13 @@ msgstr "Címke" #~ msgstr "Build line" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:88 -msgid "Reports" -msgstr "Jelentések" +#~ msgid "Reports" +#~ msgstr "Reports" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:89 #: src/pages/build/BuildDetail.tsx:373 -msgid "Report" -msgstr "Jelentés" +#~ msgid "Report" +#~ msgstr "Report" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99 #~ msgid "Purchase order" @@ -3275,14 +3351,9 @@ msgstr "Jelentés" #~ msgid "Return order" #~ msgstr "Return order" -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135 -#: src/pages/part/PartDetail.tsx:518 -msgid "Bill of Materials" -msgstr "Alkatrészjegyzék" - #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:145 -msgid "Tests" -msgstr "Tesztek" +#~ msgid "Tests" +#~ msgstr "Tests" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:154 #~ msgid "Stock location" @@ -3321,26 +3392,30 @@ msgstr "Árazás" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" +#: src/pages/Index/Settings/SystemSettings.tsx:139 +msgid "Labels" +msgstr "Címkék" + #: src/pages/Index/Settings/SystemSettings.tsx:145 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "Riportolás" -#: src/pages/Index/Settings/SystemSettings.tsx:223 -#: src/pages/part/PartDetail.tsx:589 +#: src/pages/Index/Settings/SystemSettings.tsx:224 +#: src/pages/part/PartDetail.tsx:590 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "Leltár" -#: src/pages/Index/Settings/SystemSettings.tsx:228 -#: src/pages/build/BuildDetail.tsx:426 +#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:525 -#: src/pages/sales/SalesOrderDetail.tsx:263 +#: src/pages/part/PartDetail.tsx:526 +#: src/pages/sales/SalesOrderDetail.tsx:265 msgid "Build Orders" msgstr "Gyártási utasítások" -#: src/pages/Index/Settings/SystemSettings.tsx:296 +#: src/pages/Index/Settings/SystemSettings.tsx:297 msgid "Switch to User Setting" msgstr "Felhasználói beállításra váltás" @@ -3397,44 +3472,47 @@ msgstr "Megjelölés olvasatlanként" #~ msgstr "Build Status" #: src/pages/build/BuildDetail.tsx:89 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:128 -#: src/pages/sales/ReturnOrderDetail.tsx:95 -#: src/pages/sales/SalesOrderDetail.tsx:99 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:130 +#: src/pages/sales/ReturnOrderDetail.tsx:97 +#: src/pages/sales/SalesOrderDetail.tsx:101 #: src/tables/build/BuildOrderTable.tsx:113 #: src/tables/machine/MachineListTable.tsx:326 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderTable.tsx:46 #: src/tables/sales/SalesOrderTable.tsx:52 #: src/tables/stock/StockItemTable.tsx:259 +#: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "Állapot" #: src/pages/build/BuildDetail.tsx:95 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:101 -#: src/pages/sales/ReturnOrderDetail.tsx:69 -#: src/pages/sales/SalesOrderDetail.tsx:73 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:103 +#: src/pages/sales/ReturnOrderDetail.tsx:71 +#: src/pages/sales/SalesOrderDetail.tsx:75 +#: src/tables/ColumnRenderers.tsx:106 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" msgstr "Hivatkozás" #: src/pages/build/BuildDetail.tsx:100 -#: src/pages/company/CompanyDetail.tsx:84 -#: src/pages/company/ManufacturerPartDetail.tsx:75 -#: src/pages/company/SupplierPartDetail.tsx:82 -#: src/pages/part/CategoryDetail.tsx:91 -#: src/pages/part/PartDetail.tsx:132 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:122 -#: src/pages/sales/ReturnOrderDetail.tsx:89 -#: src/pages/sales/SalesOrderDetail.tsx:93 -#: src/pages/stock/LocationDetail.tsx:97 -#: src/tables/ColumnRenderers.tsx:95 +#: src/pages/company/CompanyDetail.tsx:86 +#: src/pages/company/ManufacturerPartDetail.tsx:76 +#: src/pages/company/SupplierPartDetail.tsx:83 +#: src/pages/part/CategoryDetail.tsx:92 +#: src/pages/part/PartDetail.tsx:133 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:124 +#: src/pages/sales/ReturnOrderDetail.tsx:91 +#: src/pages/sales/SalesOrderDetail.tsx:95 +#: src/pages/stock/LocationDetail.tsx:99 +#: src/tables/ColumnRenderers.tsx:66 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 #: src/tables/machine/MachineTypeTable.tsx:323 #: src/tables/part/RelatedPartTable.tsx:64 -#: src/tables/plugin/PluginListTable.tsx:172 -#: src/tables/plugin/PluginListTable.tsx:302 +#: src/tables/plugin/PluginListTable.tsx:129 +#: src/tables/plugin/PluginListTable.tsx:276 +#: src/tables/stock/LocationTypesTable.tsx:65 msgid "Description" msgstr "Leírás" @@ -3447,7 +3525,7 @@ msgid "Build Quantity" msgstr "Gyártási mennyiség" #: src/pages/build/BuildDetail.tsx:126 -#: src/pages/build/BuildDetail.tsx:249 +#: src/pages/build/BuildDetail.tsx:256 msgid "Completed Outputs" msgstr "Befejezett kimenetek" @@ -3457,10 +3535,10 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:150 -#: src/pages/part/PartDetail.tsx:320 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:214 -#: src/pages/sales/ReturnOrderDetail.tsx:182 -#: src/pages/sales/SalesOrderDetail.tsx:186 +#: src/pages/part/PartDetail.tsx:321 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:184 +#: src/pages/sales/SalesOrderDetail.tsx:188 #: src/tables/build/BuildOrderTable.tsx:148 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 @@ -3474,10 +3552,10 @@ msgid "Created" msgstr "" #: src/pages/build/BuildDetail.tsx:164 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:207 -#: src/pages/sales/ReturnOrderDetail.tsx:175 -#: src/pages/sales/SalesOrderDetail.tsx:179 -#: src/tables/ColumnRenderers.tsx:227 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:209 +#: src/pages/sales/ReturnOrderDetail.tsx:177 +#: src/pages/sales/SalesOrderDetail.tsx:181 +#: src/tables/ColumnRenderers.tsx:191 msgid "Target Date" msgstr "Cél dátum" @@ -3513,6 +3591,11 @@ msgstr "" #~ msgid "Unlink custom barcode from part" #~ msgstr "Unlink custom barcode from part" +#: src/pages/build/BuildDetail.tsx:197 +#: src/pages/stock/StockDetail.tsx:526 +msgid "Batch Code" +msgstr "" + #: src/pages/build/BuildDetail.tsx:202 #~ msgid "Build Order updated" #~ msgstr "Build Order updated" @@ -3521,86 +3604,87 @@ msgstr "" #~ msgid "Edit build order" #~ msgstr "Edit build order" -#: src/pages/build/BuildDetail.tsx:222 -msgid "Build Details" -msgstr "Gyártás részletei" - #: src/pages/build/BuildDetail.tsx:226 #~ msgid "Duplicate build order" #~ msgstr "Duplicate build order" -#: src/pages/build/BuildDetail.tsx:228 -#: src/tables/build/BuildLineTable.tsx:225 -msgid "Allocate Stock" -msgstr "Készlet foglalása" +#: src/pages/build/BuildDetail.tsx:229 +msgid "Build Details" +msgstr "Gyártás részletei" #: src/pages/build/BuildDetail.tsx:231 #~ msgid "Delete build order" #~ msgstr "Delete build order" -#: src/pages/build/BuildDetail.tsx:242 +#: src/pages/build/BuildDetail.tsx:235 +#: src/tables/build/BuildLineTable.tsx:225 +msgid "Allocate Stock" +msgstr "Készlet foglalása" + +#: src/pages/build/BuildDetail.tsx:249 msgid "Incomplete Outputs" msgstr "Befejezetlen kimenetek" -#: src/pages/build/BuildDetail.tsx:264 +#: src/pages/build/BuildDetail.tsx:271 msgid "Consumed Stock" msgstr "Felhasznált készlet" -#: src/pages/build/BuildDetail.tsx:278 +#: src/pages/build/BuildDetail.tsx:285 msgid "Child Build Orders" msgstr "Alárendelt gyártások" -#: src/pages/build/BuildDetail.tsx:288 -#: src/pages/company/CompanyDetail.tsx:253 -#: src/pages/company/ManufacturerPartDetail.tsx:171 -#: src/pages/part/PartDetail.tsx:611 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:276 -#: src/pages/sales/ReturnOrderDetail.tsx:225 -#: src/pages/sales/SalesOrderDetail.tsx:273 -#: src/pages/stock/StockDetail.tsx:317 +#: src/pages/build/BuildDetail.tsx:295 +#: src/pages/company/CompanyDetail.tsx:255 +#: src/pages/company/ManufacturerPartDetail.tsx:172 +#: src/pages/part/PartDetail.tsx:612 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:278 +#: src/pages/sales/ReturnOrderDetail.tsx:227 +#: src/pages/sales/SalesOrderDetail.tsx:275 +#: src/pages/stock/StockDetail.tsx:325 msgid "Attachments" msgstr "Mellékletek" -#: src/pages/build/BuildDetail.tsx:300 -#: src/pages/company/CompanyDetail.tsx:265 -#: src/pages/part/PartDetail.tsx:623 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:288 -#: src/pages/sales/ReturnOrderDetail.tsx:237 -#: src/pages/sales/SalesOrderDetail.tsx:285 -#: src/pages/stock/StockDetail.tsx:329 +#: src/pages/build/BuildDetail.tsx:307 +#: src/pages/company/CompanyDetail.tsx:267 +#: src/pages/part/PartDetail.tsx:624 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:290 +#: src/pages/sales/ReturnOrderDetail.tsx:239 +#: src/pages/sales/SalesOrderDetail.tsx:287 +#: src/pages/stock/StockDetail.tsx:337 +#: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "Megjegyzések" -#: src/pages/build/BuildDetail.tsx:318 +#: src/pages/build/BuildDetail.tsx:325 msgid "Edit Build Order" msgstr "Gyártási utasítás szerkesztése" -#: src/pages/build/BuildDetail.tsx:327 +#: src/pages/build/BuildDetail.tsx:334 msgid "Cancel Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:339 +#: src/pages/build/BuildDetail.tsx:346 #: src/tables/build/BuildOrderTable.tsx:167 #: src/tables/build/BuildOrderTable.tsx:182 msgid "Add Build Order" msgstr "Gyártási utasítás létrehozása" #: src/pages/build/BuildDetail.tsx:368 -msgid "Reporting Actions" -msgstr "Jelentési műveletek" +#~ msgid "Reporting Actions" +#~ msgstr "Reporting Actions" #: src/pages/build/BuildDetail.tsx:374 -msgid "Print build report" -msgstr "Gyártási riport nyomtatása" +#~ msgid "Print build report" +#~ msgstr "Print build report" -#: src/pages/build/BuildDetail.tsx:380 +#: src/pages/build/BuildDetail.tsx:378 msgid "Build Order Actions" msgstr "Gyártáshoz foglalások" -#: src/pages/build/BuildDetail.tsx:388 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:326 -#: src/pages/sales/ReturnOrderDetail.tsx:300 -#: src/pages/sales/SalesOrderDetail.tsx:310 +#: src/pages/build/BuildDetail.tsx:386 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:333 +#: src/pages/sales/ReturnOrderDetail.tsx:307 +#: src/pages/sales/SalesOrderDetail.tsx:317 msgid "Cancel order" msgstr "" @@ -3612,56 +3696,58 @@ msgstr "" #~ msgid "New Build Order" #~ msgstr "New Build Order" -#: src/pages/company/CompanyDetail.tsx:98 +#: src/pages/company/CompanyDetail.tsx:100 msgid "Phone Number" msgstr "" -#: src/pages/company/CompanyDetail.tsx:105 +#: src/pages/company/CompanyDetail.tsx:107 msgid "Email Address" msgstr "" -#: src/pages/company/CompanyDetail.tsx:115 +#: src/pages/company/CompanyDetail.tsx:117 msgid "Default Currency" msgstr "" -#: src/pages/company/CompanyDetail.tsx:120 +#: src/pages/company/CompanyDetail.tsx:122 #: src/pages/company/SupplierDetail.tsx:8 -#: src/pages/company/SupplierPartDetail.tsx:106 -#: src/pages/company/SupplierPartDetail.tsx:192 -#: src/pages/company/SupplierPartDetail.tsx:295 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:116 +#: src/pages/company/SupplierPartDetail.tsx:107 +#: src/pages/company/SupplierPartDetail.tsx:193 +#: src/pages/company/SupplierPartDetail.tsx:296 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:118 #: src/tables/company/CompanyTable.tsx:100 #: src/tables/purchasing/PurchaseOrderTable.tsx:88 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:36 msgid "Supplier" msgstr "Beszállító" -#: src/pages/company/CompanyDetail.tsx:126 +#: src/pages/company/CompanyDetail.tsx:128 #: src/pages/company/ManufacturerDetail.tsx:8 -#: src/pages/company/ManufacturerPartDetail.tsx:93 -#: src/pages/company/ManufacturerPartDetail.tsx:235 -#: src/pages/company/SupplierPartDetail.tsx:121 +#: src/pages/company/ManufacturerPartDetail.tsx:94 +#: src/pages/company/ManufacturerPartDetail.tsx:239 +#: src/pages/company/SupplierPartDetail.tsx:122 #: src/tables/company/CompanyTable.tsx:105 msgid "Manufacturer" msgstr "Gyártó" -#: src/pages/company/CompanyDetail.tsx:132 +#: src/pages/company/CompanyDetail.tsx:134 #: src/pages/company/CustomerDetail.tsx:8 #: src/pages/part/pricing/SaleHistoryPanel.tsx:39 -#: src/pages/sales/ReturnOrderDetail.tsx:83 -#: src/pages/sales/SalesOrderDetail.tsx:87 -#: src/pages/stock/StockDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:85 +#: src/pages/sales/SalesOrderDetail.tsx:89 +#: src/pages/stock/StockDetail.tsx:219 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:107 +#: src/tables/stock/StockTrackingTable.tsx:140 msgid "Customer" msgstr "Vevő" -#: src/pages/company/CompanyDetail.tsx:166 +#: src/pages/company/CompanyDetail.tsx:168 +#: src/tables/stock/StockTrackingTable.tsx:183 msgid "Details" msgstr "Részletek" -#: src/pages/company/CompanyDetail.tsx:172 +#: src/pages/company/CompanyDetail.tsx:174 msgid "Manufactured Parts" msgstr "Gyártott alkatrészek" @@ -3669,7 +3755,7 @@ msgstr "Gyártott alkatrészek" #~ msgid "Edit company" #~ msgstr "Edit company" -#: src/pages/company/CompanyDetail.tsx:181 +#: src/pages/company/CompanyDetail.tsx:183 msgid "Supplied Parts" msgstr "Szállított alkatrészek" @@ -3677,289 +3763,289 @@ msgstr "Szállított alkatrészek" #~ msgid "Delete company" #~ msgstr "Delete company" -#: src/pages/company/CompanyDetail.tsx:226 +#: src/pages/company/CompanyDetail.tsx:228 msgid "Assigned Stock" msgstr "Hozzárendelt készlet" -#: src/pages/company/CompanyDetail.tsx:281 +#: src/pages/company/CompanyDetail.tsx:283 #: src/tables/company/CompanyTable.tsx:86 msgid "Edit Company" msgstr "Cég szerkesztése" -#: src/pages/company/CompanyDetail.tsx:290 +#: src/pages/company/CompanyDetail.tsx:292 msgid "Company Actions" msgstr "Cég műveletek" -#: src/pages/company/ManufacturerPartDetail.tsx:68 -#: src/pages/company/SupplierPartDetail.tsx:75 +#: src/pages/company/ManufacturerPartDetail.tsx:69 +#: src/pages/company/SupplierPartDetail.tsx:76 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:72 msgid "Internal Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:83 -#: src/pages/company/SupplierPartDetail.tsx:89 +#: src/pages/company/ManufacturerPartDetail.tsx:84 +#: src/pages/company/SupplierPartDetail.tsx:90 msgid "External Link" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:101 -#: src/pages/company/SupplierPartDetail.tsx:130 -#: src/tables/purchasing/ManufacturerPartTable.tsx:53 +#: src/pages/company/ManufacturerPartDetail.tsx:102 +#: src/pages/company/SupplierPartDetail.tsx:131 +#: src/tables/purchasing/ManufacturerPartTable.tsx:56 msgid "Manufacturer Part Number" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:130 +#: src/pages/company/ManufacturerPartDetail.tsx:131 msgid "Manufacturer Details" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:139 +#: src/pages/company/ManufacturerPartDetail.tsx:140 msgid "Manufacturer Part Details" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:145 -#: src/pages/part/PartDetail.tsx:485 +#: src/pages/company/ManufacturerPartDetail.tsx:146 +#: src/pages/part/PartDetail.tsx:486 msgid "Parameters" msgstr "Paraméterek" -#: src/pages/company/ManufacturerPartDetail.tsx:157 -#: src/pages/part/PartDetail.tsx:558 +#: src/pages/company/ManufacturerPartDetail.tsx:158 +#: src/pages/part/PartDetail.tsx:559 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "Beszállítók" -#: src/pages/company/ManufacturerPartDetail.tsx:189 -#: src/tables/purchasing/ManufacturerPartTable.tsx:97 +#: src/pages/company/ManufacturerPartDetail.tsx:190 +#: src/tables/purchasing/ManufacturerPartTable.tsx:84 msgid "Edit Manufacturer Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:196 -#: src/tables/purchasing/ManufacturerPartTable.tsx:63 -#: src/tables/purchasing/ManufacturerPartTable.tsx:78 +#: src/pages/company/ManufacturerPartDetail.tsx:197 +#: src/tables/purchasing/ManufacturerPartTable.tsx:72 +#: src/tables/purchasing/ManufacturerPartTable.tsx:103 msgid "Add Manufacturer Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:209 +#: src/pages/company/ManufacturerPartDetail.tsx:213 msgid "Manufacturer Part Actions" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:247 +#: src/pages/company/ManufacturerPartDetail.tsx:251 msgid "ManufacturerPart" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:96 -#: src/tables/ColumnRenderers.tsx:146 +#: src/pages/company/SupplierPartDetail.tsx:97 +#: src/tables/ColumnRenderers.tsx:117 msgid "Note" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:114 +#: src/pages/company/SupplierPartDetail.tsx:115 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:57 msgid "SKU" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:142 -#: src/pages/company/SupplierPartDetail.tsx:193 -#: src/pages/stock/StockDetail.tsx:230 +#: src/pages/company/SupplierPartDetail.tsx:143 +#: src/pages/company/SupplierPartDetail.tsx:194 +#: src/pages/stock/StockDetail.tsx:233 msgid "Packaging" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:149 +#: src/pages/company/SupplierPartDetail.tsx:150 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:107 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143 #: src/tables/purchasing/SupplierPartTable.tsx:131 msgid "Pack Quantity" msgstr "Csomagolási mennyiség" -#: src/pages/company/SupplierPartDetail.tsx:160 +#: src/pages/company/SupplierPartDetail.tsx:161 msgid "Supplier Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:167 +#: src/pages/company/SupplierPartDetail.tsx:168 msgid "Availability Updated" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:194 +#: src/pages/company/SupplierPartDetail.tsx:195 msgid "Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:203 +#: src/pages/company/SupplierPartDetail.tsx:204 msgid "Supplier Part Details" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:209 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:263 +#: src/pages/company/SupplierPartDetail.tsx:210 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:265 msgid "Received Stock" msgstr "Beérkezett készlet" -#: src/pages/company/SupplierPartDetail.tsx:233 +#: src/pages/company/SupplierPartDetail.tsx:234 #: src/pages/part/PartPricingPanel.tsx:115 #: src/pages/part/pricing/PricingOverviewPanel.tsx:130 msgid "Supplier Pricing" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:248 +#: src/pages/company/SupplierPartDetail.tsx:249 msgid "Supplier Part Actions" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:272 +#: src/pages/company/SupplierPartDetail.tsx:273 #: src/tables/purchasing/SupplierPartTable.tsx:210 msgid "Edit Supplier Part" msgstr "Beszállítói alkatrész szerkesztése" -#: src/pages/company/SupplierPartDetail.tsx:279 +#: src/pages/company/SupplierPartDetail.tsx:280 #: src/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "Beszállítói alkatrész hozzáadása" -#: src/pages/part/CategoryDetail.tsx:83 -#: src/pages/stock/LocationDetail.tsx:89 +#: src/pages/part/CategoryDetail.tsx:84 +#: src/pages/stock/LocationDetail.tsx:91 #: src/tables/settings/ErrorTable.tsx:34 msgid "Path" msgstr "Elérési út" -#: src/pages/part/CategoryDetail.tsx:99 +#: src/pages/part/CategoryDetail.tsx:100 msgid "Parent Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:116 +#: src/pages/part/CategoryDetail.tsx:117 msgid "Subcategories" msgstr "" -#: src/pages/part/CategoryDetail.tsx:123 -#: src/pages/stock/LocationDetail.tsx:129 -#: src/tables/part/PartCategoryTable.tsx:69 +#: src/pages/part/CategoryDetail.tsx:124 +#: src/pages/stock/LocationDetail.tsx:131 +#: src/tables/part/PartCategoryTable.tsx:65 msgid "Structural" msgstr "Szerkezeti" -#: src/pages/part/CategoryDetail.tsx:129 +#: src/pages/part/CategoryDetail.tsx:130 msgid "Parent default location" msgstr "" -#: src/pages/part/CategoryDetail.tsx:136 +#: src/pages/part/CategoryDetail.tsx:137 msgid "Default location" msgstr "" -#: src/pages/part/CategoryDetail.tsx:147 +#: src/pages/part/CategoryDetail.tsx:148 msgid "Top level part category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:157 -#: src/pages/part/CategoryDetail.tsx:211 -#: src/tables/part/PartCategoryTable.tsx:96 +#: src/pages/part/CategoryDetail.tsx:158 +#: src/pages/part/CategoryDetail.tsx:212 +#: src/tables/part/PartCategoryTable.tsx:88 msgid "Edit Part Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:170 -#: src/pages/stock/LocationDetail.tsx:213 +#: src/pages/part/CategoryDetail.tsx:171 +#: src/pages/stock/LocationDetail.tsx:223 msgid "Delete items" msgstr "" -#: src/pages/part/CategoryDetail.tsx:178 -#: src/pages/part/CategoryDetail.tsx:216 +#: src/pages/part/CategoryDetail.tsx:179 +#: src/pages/part/CategoryDetail.tsx:217 msgid "Delete Part Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:181 +#: src/pages/part/CategoryDetail.tsx:182 msgid "Parts Action" msgstr "" -#: src/pages/part/CategoryDetail.tsx:182 +#: src/pages/part/CategoryDetail.tsx:183 msgid "Action for parts in this category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:187 +#: src/pages/part/CategoryDetail.tsx:188 msgid "Child Categories Action" msgstr "" -#: src/pages/part/CategoryDetail.tsx:188 +#: src/pages/part/CategoryDetail.tsx:189 msgid "Action for child categories in this category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:206 +#: src/pages/part/CategoryDetail.tsx:207 msgid "Category Actions" msgstr "" -#: src/pages/part/CategoryDetail.tsx:228 +#: src/pages/part/CategoryDetail.tsx:229 msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:138 +#: src/pages/part/PartDetail.tsx:139 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:145 +#: src/pages/part/PartDetail.tsx:146 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "Kategória" -#: src/pages/part/PartDetail.tsx:151 +#: src/pages/part/PartDetail.tsx:152 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:158 +#: src/pages/part/PartDetail.tsx:159 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:165 +#: src/pages/part/PartDetail.tsx:166 msgid "IPN" msgstr "IPN" -#: src/pages/part/PartDetail.tsx:172 +#: src/pages/part/PartDetail.tsx:173 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:179 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39 +#: src/pages/part/PartDetail.tsx:180 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "Mértékegységek" -#: src/pages/part/PartDetail.tsx:186 +#: src/pages/part/PartDetail.tsx:187 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:193 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:180 -#: src/pages/sales/ReturnOrderDetail.tsx:148 -#: src/pages/sales/SalesOrderDetail.tsx:152 +#: src/pages/part/PartDetail.tsx:194 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:182 +#: src/pages/sales/ReturnOrderDetail.tsx:150 +#: src/pages/sales/SalesOrderDetail.tsx:154 msgid "Link" msgstr "Link" -#: src/pages/part/PartDetail.tsx:211 -#: src/tables/bom/BomTable.tsx:269 +#: src/pages/part/PartDetail.tsx:212 +#: src/tables/bom/BomTable.tsx:271 #: src/tables/build/BuildLineTable.tsx:121 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:218 +#: src/pages/part/PartDetail.tsx:219 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:224 -#: src/tables/bom/BomTable.tsx:210 +#: src/pages/part/PartDetail.tsx:225 +#: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "Rendelve" -#: src/pages/part/PartDetail.tsx:233 +#: src/pages/part/PartDetail.tsx:234 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:241 +#: src/pages/part/PartDetail.tsx:242 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:248 -#: src/tables/bom/BomTable.tsx:234 +#: src/pages/part/PartDetail.tsx:249 +#: src/tables/bom/BomTable.tsx:236 msgid "Can Build" msgstr "Gyártható" -#: src/pages/part/PartDetail.tsx:255 -#: src/tables/bom/BomTable.tsx:218 +#: src/pages/part/PartDetail.tsx:256 +#: src/tables/bom/BomTable.tsx:220 #: src/tables/part/PartTable.tsx:82 msgid "Building" msgstr "Gyártásban" -#: src/pages/part/PartDetail.tsx:264 +#: src/pages/part/PartDetail.tsx:265 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 @@ -3968,45 +4054,47 @@ msgstr "Gyártásban" #: src/tables/machine/MachineListTable.tsx:585 #: src/tables/part/PartTable.tsx:168 #: src/tables/part/PartVariantTable.tsx:15 -#: src/tables/plugin/PluginListTable.tsx:190 -#: src/tables/plugin/PluginListTable.tsx:638 +#: src/tables/plugin/PluginListTable.tsx:149 +#: src/tables/plugin/PluginListTable.tsx:271 +#: src/tables/plugin/PluginListTable.tsx:563 #: src/tables/purchasing/SupplierPartTable.tsx:98 #: src/tables/purchasing/SupplierPartTable.tsx:187 #: src/tables/stock/StockItemTable.tsx:254 msgid "Active" msgstr "Aktív" -#: src/pages/part/PartDetail.tsx:269 +#: src/pages/part/PartDetail.tsx:270 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:274 -#: src/tables/bom/BomTable.tsx:264 +#: src/pages/part/PartDetail.tsx:275 +#: src/tables/bom/BomTable.tsx:266 msgid "Assembled Part" msgstr "Gyártmány alkatrész" -#: src/pages/part/PartDetail.tsx:279 +#: src/pages/part/PartDetail.tsx:280 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:284 -#: src/tables/bom/BomTable.tsx:259 +#: src/pages/part/PartDetail.tsx:285 +#: src/tables/bom/BomTable.tsx:261 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:289 +#: src/pages/part/PartDetail.tsx:290 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:294 +#: src/pages/part/PartDetail.tsx:295 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:299 +#: src/pages/part/PartDetail.tsx:300 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:307 +#: src/pages/part/PartDetail.tsx:308 +#: src/tables/ColumnRenderers.tsx:199 msgid "Creation Date" msgstr "Létrehozás dátuma" @@ -4014,7 +4102,7 @@ msgstr "Létrehozás dátuma" #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:312 +#: src/pages/part/PartDetail.tsx:313 msgid "Created By" msgstr "Készítette" @@ -4022,68 +4110,72 @@ msgstr "Készítette" #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:327 -msgid "Default Supplier" -msgstr "Alapértelmezett beszállító" - #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:338 +#: src/pages/part/PartDetail.tsx:328 +msgid "Default Supplier" +msgstr "Alapértelmezett beszállító" + +#: src/pages/part/PartDetail.tsx:339 #: src/tables/part/PartTable.tsx:151 msgid "Price Range" msgstr "Ártartomány" -#: src/pages/part/PartDetail.tsx:373 -#: src/pages/stock/StockDetail.tsx:127 +#: src/pages/part/PartDetail.tsx:374 +#: src/pages/stock/StockDetail.tsx:130 msgid "Last Stocktake" msgstr "Utolsó leltár" -#: src/pages/part/PartDetail.tsx:408 +#: src/pages/part/PartDetail.tsx:409 msgid "Stocktake By" msgstr "Leltárazta" -#: src/pages/part/PartDetail.tsx:479 +#: src/pages/part/PartDetail.tsx:480 msgid "Part Details" msgstr "Alkatrész részletei" -#: src/pages/part/PartDetail.tsx:505 +#: src/pages/part/PartDetail.tsx:506 msgid "Variants" msgstr "Változatok" -#: src/pages/part/PartDetail.tsx:512 -#: src/pages/stock/StockDetail.tsx:275 +#: src/pages/part/PartDetail.tsx:513 +#: src/pages/stock/StockDetail.tsx:283 msgid "Allocations" msgstr "Foglalások" -#: src/pages/part/PartDetail.tsx:532 +#: src/pages/part/PartDetail.tsx:519 +msgid "Bill of Materials" +msgstr "Alkatrészjegyzék" + +#: src/pages/part/PartDetail.tsx:533 msgid "Used In" msgstr "Felhasználva ebben" -#: src/pages/part/PartDetail.tsx:539 +#: src/pages/part/PartDetail.tsx:540 msgid "Part Pricing" msgstr "Alkatrész árak" -#: src/pages/part/PartDetail.tsx:545 +#: src/pages/part/PartDetail.tsx:546 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "Gyártók" -#: src/pages/part/PartDetail.tsx:584 +#: src/pages/part/PartDetail.tsx:585 msgid "Scheduling" msgstr "Ütemezés" -#: src/pages/part/PartDetail.tsx:594 +#: src/pages/part/PartDetail.tsx:595 msgid "Test Templates" msgstr "Teszt sablonok" -#: src/pages/part/PartDetail.tsx:605 +#: src/pages/part/PartDetail.tsx:606 msgid "Related Parts" msgstr "Kapcsolódó alkatrészek" -#: src/pages/part/PartDetail.tsx:660 -#: src/pages/stock/StockDetail.tsx:148 +#: src/pages/part/PartDetail.tsx:661 +#: src/pages/stock/StockDetail.tsx:151 #: src/tables/build/BuildLineTable.tsx:36 #: src/tables/part/PartTable.tsx:107 #: src/tables/stock/StockItemTable.tsx:166 @@ -4091,49 +4183,51 @@ msgstr "Kapcsolódó alkatrészek" msgid "Available" msgstr "Elérhető" -#: src/pages/part/PartDetail.tsx:666 +#: src/pages/part/PartDetail.tsx:667 msgid "No Stock" msgstr "Nincs készlet" -#: src/pages/part/PartDetail.tsx:672 -#: src/tables/bom/BomTable.tsx:274 +#: src/pages/part/PartDetail.tsx:673 +#: src/tables/bom/BomTable.tsx:276 #: src/tables/part/PartTable.tsx:76 msgid "On Order" msgstr "Rendelve" -#: src/pages/part/PartDetail.tsx:678 -#: src/pages/stock/StockDetail.tsx:496 +#: src/pages/part/PartDetail.tsx:679 +#: src/pages/stock/StockDetail.tsx:509 #: src/tables/stock/StockItemTable.tsx:295 msgid "In Production" msgstr "Gyártásban" -#: src/pages/part/PartDetail.tsx:697 +#: src/pages/part/PartDetail.tsx:698 msgid "Edit Part" msgstr "Alkatrész szerkesztése" -#: src/pages/part/PartDetail.tsx:704 +#: src/pages/part/PartDetail.tsx:705 #: src/tables/part/PartTable.tsx:266 #: src/tables/part/PartTable.tsx:279 msgid "Add Part" msgstr "Alkatrész hozzáadása" -#: src/pages/part/PartDetail.tsx:716 +#: src/pages/part/PartDetail.tsx:717 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:725 +#: src/pages/part/PartDetail.tsx:726 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:763 +#: src/pages/part/PartDetail.tsx:764 +#: src/pages/stock/LocationDetail.tsx:301 +#: src/tables/stock/StockItemTable.tsx:409 msgid "Stock Actions" msgstr "Készlet műveletek" -#: src/pages/part/PartDetail.tsx:771 +#: src/pages/part/PartDetail.tsx:772 msgid "Count part stock" msgstr "Készlet számolása" -#: src/pages/part/PartDetail.tsx:782 +#: src/pages/part/PartDetail.tsx:783 msgid "Transfer part stock" msgstr "Készlet áthelyezése" @@ -4199,15 +4293,15 @@ msgstr "Összetevő" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151 #: src/pages/part/pricing/SupplierPricingPanel.tsx:83 -#: src/tables/bom/BomTable.tsx:149 +#: src/tables/bom/BomTable.tsx:151 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 msgid "Unit Price" msgstr "Egységár" #: src/pages/part/pricing/BomPricingPanel.tsx:173 -#: src/tables/ColumnRenderers.tsx:278 -#: src/tables/bom/BomTable.tsx:158 +#: src/tables/ColumnRenderers.tsx:241 +#: src/tables/bom/BomTable.tsx:160 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 #: src/tables/sales/ReturnOrderTable.tsx:104 #: src/tables/sales/SalesOrderTable.tsx:134 @@ -4229,24 +4323,24 @@ msgid "Bar Chart" msgstr "Oszlopdiagram" #: src/pages/part/pricing/PriceBreakPanel.tsx:63 -#: src/pages/part/pricing/PriceBreakPanel.tsx:117 +#: src/pages/part/pricing/PriceBreakPanel.tsx:115 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:138 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:164 msgid "Add Price Break" msgstr "Ársáv hozzáadása" #: src/pages/part/pricing/PriceBreakPanel.tsx:76 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:149 msgid "Edit Price Break" msgstr "Ársáv szerkesztése" #: src/pages/part/pricing/PriceBreakPanel.tsx:86 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:157 msgid "Delete Price Break" msgstr "Ársáv törlése" -#: src/pages/part/pricing/PriceBreakPanel.tsx:102 -#: src/pages/part/pricing/PriceBreakPanel.tsx:193 +#: src/pages/part/pricing/PriceBreakPanel.tsx:100 +#: src/pages/part/pricing/PriceBreakPanel.tsx:191 msgid "Price Break" msgstr "Árlépcső" @@ -4275,7 +4369,7 @@ msgid "Overall Pricing" msgstr "Általános árazás" #: src/pages/part/pricing/PricingOverviewPanel.tsx:184 -#: src/pages/stock/StockDetail.tsx:121 +#: src/pages/stock/StockDetail.tsx:124 msgid "Last Updated" msgstr "Legutóbb frissítve" @@ -4309,9 +4403,8 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50 #: src/pages/part/pricing/SaleHistoryPanel.tsx:46 -#: src/tables/ColumnRenderers.tsx:217 -#: src/tables/plugin/PluginListTable.tsx:182 -#: src/tables/stock/StockItemTestResultTable.tsx:194 +#: src/tables/ColumnRenderers.tsx:180 +#: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "Dátum" @@ -4338,89 +4431,89 @@ msgstr "Beszállítói ár" msgid "Variant Part" msgstr "Alkatrészváltozat" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:73 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:75 msgid "Edit Purchase Order" msgstr "Beszerzési rendelés szerkesztése" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:82 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:84 #: src/tables/purchasing/PurchaseOrderTable.tsx:128 #: src/tables/purchasing/PurchaseOrderTable.tsx:140 msgid "Add Purchase Order" msgstr "Beszerzés hozzáadása" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:107 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:109 msgid "Supplier Reference" msgstr "Beszállítói azonosító" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:137 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:252 -#: src/pages/sales/ReturnOrderDetail.tsx:104 -#: src/pages/sales/ReturnOrderDetail.tsx:220 -#: src/pages/sales/SalesOrderDetail.tsx:108 -#: src/pages/sales/SalesOrderDetail.tsx:248 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:139 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:254 +#: src/pages/sales/ReturnOrderDetail.tsx:106 +#: src/pages/sales/ReturnOrderDetail.tsx:222 +#: src/pages/sales/SalesOrderDetail.tsx:110 +#: src/pages/sales/SalesOrderDetail.tsx:250 msgid "Line Items" msgstr "Sortételek" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:144 -#: src/pages/sales/ReturnOrderDetail.tsx:111 -#: src/pages/sales/SalesOrderDetail.tsx:115 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:146 +#: src/pages/sales/ReturnOrderDetail.tsx:113 +#: src/pages/sales/SalesOrderDetail.tsx:117 msgid "Completed Line Items" msgstr "Kész sortételek" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:152 -#: src/pages/sales/ReturnOrderDetail.tsx:119 -#: src/pages/sales/SalesOrderDetail.tsx:123 -#: src/pages/sales/SalesOrderDetail.tsx:258 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:121 +#: src/pages/sales/SalesOrderDetail.tsx:125 +#: src/pages/sales/SalesOrderDetail.tsx:260 msgid "Completed Shipments" msgstr "Kész szállítmányok" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:159 -#: src/pages/sales/ReturnOrderDetail.tsx:127 -#: src/pages/sales/SalesOrderDetail.tsx:131 -msgid "Order Currency" -msgstr "" - #: src/pages/purchasing/PurchaseOrderDetail.tsx:159 #: src/pages/sales/ReturnOrderDetail.tsx:126 #: src/pages/sales/SalesOrderDetail.tsx:130 #~ msgid "Order Currency," #~ msgstr "Order Currency," -#: src/pages/purchasing/PurchaseOrderDetail.tsx:166 -#: src/pages/sales/ReturnOrderDetail.tsx:134 -#: src/pages/sales/SalesOrderDetail.tsx:138 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:161 +#: src/pages/sales/ReturnOrderDetail.tsx:129 +#: src/pages/sales/SalesOrderDetail.tsx:133 +msgid "Order Currency" +msgstr "" + +#: src/pages/purchasing/PurchaseOrderDetail.tsx:168 +#: src/pages/sales/ReturnOrderDetail.tsx:136 +#: src/pages/sales/SalesOrderDetail.tsx:140 msgid "Total Cost" msgstr "Teljes költség" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:201 -#: src/pages/sales/ReturnOrderDetail.tsx:169 -#: src/pages/sales/SalesOrderDetail.tsx:173 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:203 +#: src/pages/sales/ReturnOrderDetail.tsx:171 +#: src/pages/sales/SalesOrderDetail.tsx:175 msgid "Created On" msgstr "Létrehozva" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:246 -#: src/pages/sales/ReturnOrderDetail.tsx:214 -#: src/pages/sales/SalesOrderDetail.tsx:242 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:248 +#: src/pages/sales/ReturnOrderDetail.tsx:216 +#: src/pages/sales/SalesOrderDetail.tsx:244 msgid "Order Details" msgstr "Rendelés részletei" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:316 -#: src/pages/sales/ReturnOrderDetail.tsx:290 -#: src/pages/sales/SalesOrderDetail.tsx:302 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:323 +#: src/pages/sales/ReturnOrderDetail.tsx:297 +#: src/pages/sales/SalesOrderDetail.tsx:309 msgid "Order Actions" msgstr "Rendelés műveletek" -#: src/pages/sales/ReturnOrderDetail.tsx:75 -#: src/pages/sales/SalesOrderDetail.tsx:79 +#: src/pages/sales/ReturnOrderDetail.tsx:77 +#: src/pages/sales/SalesOrderDetail.tsx:81 #: src/tables/sales/SalesOrderTable.tsx:123 msgid "Customer Reference" msgstr "Vevői azonosító" -#: src/pages/sales/ReturnOrderDetail.tsx:267 +#: src/pages/sales/ReturnOrderDetail.tsx:269 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:276 +#: src/pages/sales/ReturnOrderDetail.tsx:278 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" @@ -4430,68 +4523,72 @@ msgstr "" msgid "Customers" msgstr "Vevők" -#: src/pages/sales/SalesOrderDetail.tsx:219 +#: src/pages/sales/SalesOrderDetail.tsx:221 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:228 +#: src/pages/sales/SalesOrderDetail.tsx:230 #: src/tables/sales/SalesOrderTable.tsx:83 #: src/tables/sales/SalesOrderTable.tsx:95 msgid "Add Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:253 +#: src/pages/sales/SalesOrderDetail.tsx:255 msgid "Pending Shipments" msgstr "Függő szállítmányok" -#: src/pages/stock/LocationDetail.tsx:105 +#: src/pages/stock/LocationDetail.tsx:107 msgid "Parent Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:123 +#: src/pages/stock/LocationDetail.tsx:125 msgid "Sublocations" msgstr "" -#: src/pages/stock/LocationDetail.tsx:135 +#: src/pages/stock/LocationDetail.tsx:137 msgid "External" msgstr "" -#: src/pages/stock/LocationDetail.tsx:144 +#: src/pages/stock/LocationDetail.tsx:143 +msgid "Location Type" +msgstr "" + +#: src/pages/stock/LocationDetail.tsx:154 msgid "Top level stock location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:155 +#: src/pages/stock/LocationDetail.tsx:165 msgid "Location Details" msgstr "" -#: src/pages/stock/LocationDetail.tsx:181 +#: src/pages/stock/LocationDetail.tsx:191 msgid "Default Parts" msgstr "" -#: src/pages/stock/LocationDetail.tsx:200 +#: src/pages/stock/LocationDetail.tsx:210 #: src/pages/stock/LocationDetail.tsx:328 -#: src/tables/stock/StockLocationTable.tsx:108 +#: src/tables/stock/StockLocationTable.tsx:100 msgid "Edit Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:221 +#: src/pages/stock/LocationDetail.tsx:231 #: src/pages/stock/LocationDetail.tsx:333 msgid "Delete Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:224 +#: src/pages/stock/LocationDetail.tsx:234 msgid "Items Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:225 +#: src/pages/stock/LocationDetail.tsx:235 msgid "Action for stock items in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:230 +#: src/pages/stock/LocationDetail.tsx:240 msgid "Child Locations Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:231 +#: src/pages/stock/LocationDetail.tsx:241 msgid "Action for child locations in this location" msgstr "" @@ -4499,11 +4596,11 @@ msgstr "" msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:100 +#: src/pages/stock/StockDetail.tsx:103 msgid "Base Part" msgstr "Kiindulási alkatrész" -#: src/pages/stock/StockDetail.tsx:107 +#: src/pages/stock/StockDetail.tsx:110 msgid "Stock Status" msgstr "" @@ -4515,15 +4612,16 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:174 +#: src/pages/stock/StockDetail.tsx:177 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:190 +#: src/pages/stock/StockDetail.tsx:193 msgid "Consumed By" msgstr "" -#: src/pages/stock/StockDetail.tsx:199 +#: src/pages/stock/StockDetail.tsx:202 +#: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" msgstr "" @@ -4535,78 +4633,78 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:264 +#: src/pages/stock/StockDetail.tsx:267 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:270 +#: src/pages/stock/StockDetail.tsx:273 msgid "Stock Tracking" msgstr "Készlettörténet" -#: src/pages/stock/StockDetail.tsx:282 +#: src/pages/stock/StockDetail.tsx:290 msgid "Test Data" msgstr "Teszt adatok" -#: src/pages/stock/StockDetail.tsx:296 +#: src/pages/stock/StockDetail.tsx:304 msgid "Installed Items" msgstr "Beépített tételek" -#: src/pages/stock/StockDetail.tsx:303 +#: src/pages/stock/StockDetail.tsx:311 msgid "Child Items" msgstr "Gyermek tételek" -#: src/pages/stock/StockDetail.tsx:358 +#: src/pages/stock/StockDetail.tsx:366 msgid "Edit Stock Item" msgstr "Készlet tétel szerkesztése" -#: src/pages/stock/StockDetail.tsx:385 +#: src/pages/stock/StockDetail.tsx:393 msgid "Delete Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:426 -msgid "Stock Operations" -msgstr "Készlet műveletek" - -#: src/pages/stock/StockDetail.tsx:431 -msgid "Count stock" -msgstr "Leltározás" - #: src/pages/stock/StockDetail.tsx:433 #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:441 +#: src/pages/stock/StockDetail.tsx:440 +msgid "Stock Operations" +msgstr "Készlet műveletek" + +#: src/pages/stock/StockDetail.tsx:445 +msgid "Count stock" +msgstr "Leltározás" + +#: src/pages/stock/StockDetail.tsx:455 #: src/tables/stock/StockItemTable.tsx:414 msgid "Add stock" msgstr "Készlethez ad" -#: src/pages/stock/StockDetail.tsx:449 +#: src/pages/stock/StockDetail.tsx:463 #: src/tables/stock/StockItemTable.tsx:423 msgid "Remove stock" msgstr "Készlet csökkentése" -#: src/pages/stock/StockDetail.tsx:456 +#: src/pages/stock/StockDetail.tsx:470 msgid "Transfer" msgstr "Áthelyezés" -#: src/pages/stock/StockDetail.tsx:457 +#: src/pages/stock/StockDetail.tsx:471 #: src/tables/stock/StockItemTable.tsx:443 msgid "Transfer stock" msgstr "Készlet áthelyezése" -#: src/pages/stock/StockDetail.tsx:469 +#: src/pages/stock/StockDetail.tsx:482 msgid "Stock Item Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:513 -msgid "Batch Code" -msgstr "" - -#: src/tables/ColumnRenderers.tsx:50 +#: src/tables/ColumnRenderers.tsx:42 msgid "No location set" msgstr "" -#: src/tables/ColumnRenderers.tsx:264 +#: src/tables/ColumnRenderers.tsx:207 +msgid "Shipment Date" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:227 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "Pénznem" @@ -4616,21 +4714,33 @@ msgstr "Pénznem" msgid "Select Columns" msgstr "Oszlopok kiválasztása" -#: src/tables/DownloadAction.tsx:11 +#: src/tables/DownloadAction.tsx:13 +#~ msgid "Excel" +#~ msgstr "Excel" + +#: src/tables/DownloadAction.tsx:21 +#~ msgid "Download selected data" +#~ msgstr "Download selected data" + +#: src/tables/DownloadAction.tsx:22 msgid "CSV" msgstr "CSV" -#: src/tables/DownloadAction.tsx:12 +#: src/tables/DownloadAction.tsx:23 msgid "TSV" msgstr "TSV" -#: src/tables/DownloadAction.tsx:13 -msgid "Excel" -msgstr "Excel" +#: src/tables/DownloadAction.tsx:24 +msgid "Excel (.xls)" +msgstr "" -#: src/tables/DownloadAction.tsx:21 -msgid "Download selected data" -msgstr "Kiválasztott adatok letöltése" +#: src/tables/DownloadAction.tsx:25 +msgid "Excel (.xlsx)" +msgstr "" + +#: src/tables/DownloadAction.tsx:39 +msgid "Download Data" +msgstr "" #: src/tables/Filter.tsx:88 #: src/tables/build/BuildOrderTable.tsx:126 @@ -4663,102 +4773,102 @@ msgstr "" msgid "Remove filter" msgstr "Szűrő eltávolítása" -#: src/tables/FilterSelectDrawer.tsx:147 +#: src/tables/FilterSelectDrawer.tsx:136 msgid "Select filter" msgstr "Szűrő kiválasztása" -#: src/tables/FilterSelectDrawer.tsx:148 +#: src/tables/FilterSelectDrawer.tsx:137 msgid "Filter" msgstr "Szűrő" -#: src/tables/FilterSelectDrawer.tsx:155 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:33 -#: src/tables/stock/StockItemTestResultTable.tsx:182 +#: src/tables/FilterSelectDrawer.tsx:144 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 +#: src/tables/stock/StockItemTestResultTable.tsx:180 msgid "Value" msgstr "Érték" -#: src/tables/FilterSelectDrawer.tsx:156 +#: src/tables/FilterSelectDrawer.tsx:145 msgid "Select filter value" msgstr "Szűrő érték kiválasztása" -#: src/tables/FilterSelectDrawer.tsx:196 +#: src/tables/FilterSelectDrawer.tsx:185 msgid "Table Filters" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:228 +#: src/tables/FilterSelectDrawer.tsx:217 msgid "Add Filter" msgstr "Szűrő hozzáadása" -#: src/tables/FilterSelectDrawer.tsx:237 +#: src/tables/FilterSelectDrawer.tsx:226 msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:118 -#: src/tables/InvenTreeTable.tsx:384 -#: src/tables/InvenTreeTable.tsx:405 +#: src/tables/InvenTreeTable.tsx:119 +#: src/tables/InvenTreeTable.tsx:390 +#: src/tables/InvenTreeTable.tsx:411 msgid "No records found" msgstr "Nincs találat" -#: src/tables/InvenTreeTable.tsx:416 +#: src/tables/InvenTreeTable.tsx:422 msgid "Server returned incorrect data type" msgstr "A szerver hibás adattípust küldött vissza" -#: src/tables/InvenTreeTable.tsx:424 +#: src/tables/InvenTreeTable.tsx:430 msgid "Bad request" msgstr "Hibás kérés" -#: src/tables/InvenTreeTable.tsx:427 +#: src/tables/InvenTreeTable.tsx:433 msgid "Unauthorized" msgstr "Jogosulatlan" -#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:436 msgid "Forbidden" msgstr "Tiltott" -#: src/tables/InvenTreeTable.tsx:433 +#: src/tables/InvenTreeTable.tsx:439 msgid "Not found" msgstr "Nem található" -#: src/tables/InvenTreeTable.tsx:482 -#: src/tables/InvenTreeTable.tsx:604 +#: src/tables/InvenTreeTable.tsx:488 +#: src/tables/InvenTreeTable.tsx:611 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:486 +#: src/tables/InvenTreeTable.tsx:492 msgid "Are you sure you want to delete the selected records?" msgstr "" -#: src/tables/InvenTreeTable.tsx:488 +#: src/tables/InvenTreeTable.tsx:494 msgid "This action cannot be undone!" msgstr "" -#: src/tables/InvenTreeTable.tsx:516 +#: src/tables/InvenTreeTable.tsx:522 msgid "Deleted records" msgstr "" -#: src/tables/InvenTreeTable.tsx:517 +#: src/tables/InvenTreeTable.tsx:523 msgid "Records were deleted successfully" msgstr "" -#: src/tables/InvenTreeTable.tsx:526 +#: src/tables/InvenTreeTable.tsx:532 msgid "Failed to delete records" msgstr "" -#: src/tables/InvenTreeTable.tsx:585 -#: src/tables/InvenTreeTable.tsx:586 +#: src/tables/InvenTreeTable.tsx:594 +#: src/tables/InvenTreeTable.tsx:595 +#~ msgid "Print actions" +#~ msgstr "Print actions" + +#: src/tables/InvenTreeTable.tsx:601 +#: src/tables/InvenTreeTable.tsx:602 msgid "Barcode actions" msgstr "Vonalkód műveletek" -#: src/tables/InvenTreeTable.tsx:594 -#: src/tables/InvenTreeTable.tsx:595 -msgid "Print actions" -msgstr "Nyomtatási műveletek" - -#: src/tables/InvenTreeTable.tsx:620 +#: src/tables/InvenTreeTable.tsx:630 msgid "Refresh data" msgstr "Adatok frissítése" -#: src/tables/InvenTreeTable.tsx:638 +#: src/tables/InvenTreeTable.tsx:648 msgid "Table filters" msgstr "Táblaszűrők" @@ -4770,138 +4880,138 @@ msgstr "Ez a beépülő alkatrész másik szülő alkatrészhez lett felvéve" msgid "Part Information" msgstr "Alkatrész információ" -#: src/tables/bom/BomTable.tsx:177 +#: src/tables/bom/BomTable.tsx:179 #: src/tables/part/PartTable.tsx:124 msgid "No stock" msgstr "Nincs készlet" -#: src/tables/bom/BomTable.tsx:185 +#: src/tables/bom/BomTable.tsx:187 #: src/tables/build/BuildLineTable.tsx:104 #: src/tables/part/PartTable.tsx:115 msgid "External stock" msgstr "" -#: src/tables/bom/BomTable.tsx:193 +#: src/tables/bom/BomTable.tsx:195 #: src/tables/build/BuildLineTable.tsx:67 msgid "Includes substitute stock" msgstr "Helyettesítőkkel együtt" -#: src/tables/bom/BomTable.tsx:202 +#: src/tables/bom/BomTable.tsx:204 #: src/tables/build/BuildLineTable.tsx:77 msgid "Includes variant stock" msgstr "Változatokkal együtt" -#: src/tables/bom/BomTable.tsx:227 +#: src/tables/bom/BomTable.tsx:229 #: src/tables/part/PartTable.tsx:143 #: src/tables/stock/StockItemTable.tsx:205 msgid "Stock Information" msgstr "Készlet adatok" -#: src/tables/bom/BomTable.tsx:239 +#: src/tables/bom/BomTable.tsx:241 #: src/tables/build/BuildLineTable.tsx:195 msgid "Consumable item" msgstr "Fogyóeszköz tétel" -#: src/tables/bom/BomTable.tsx:260 +#: src/tables/bom/BomTable.tsx:262 msgid "Show trackable items" msgstr "" -#: src/tables/bom/BomTable.tsx:265 +#: src/tables/bom/BomTable.tsx:267 msgid "Show asssmbled items" msgstr "" -#: src/tables/bom/BomTable.tsx:270 +#: src/tables/bom/BomTable.tsx:272 msgid "Show items with available stock" msgstr "" -#: src/tables/bom/BomTable.tsx:275 +#: src/tables/bom/BomTable.tsx:277 msgid "Show items on order" msgstr "" -#: src/tables/bom/BomTable.tsx:279 +#: src/tables/bom/BomTable.tsx:281 msgid "Validated" msgstr "" -#: src/tables/bom/BomTable.tsx:280 +#: src/tables/bom/BomTable.tsx:282 msgid "Show validated items" msgstr "" -#: src/tables/bom/BomTable.tsx:284 +#: src/tables/bom/BomTable.tsx:286 #: src/tables/bom/UsedInTable.tsx:63 msgid "Inherited" msgstr "" -#: src/tables/bom/BomTable.tsx:285 +#: src/tables/bom/BomTable.tsx:287 #: src/tables/bom/UsedInTable.tsx:64 msgid "Show inherited items" msgstr "" -#: src/tables/bom/BomTable.tsx:289 +#: src/tables/bom/BomTable.tsx:291 #: src/tables/bom/UsedInTable.tsx:68 #: src/tables/build/BuildLineTable.tsx:46 msgid "Optional" msgstr "Opcionális" -#: src/tables/bom/BomTable.tsx:290 +#: src/tables/bom/BomTable.tsx:292 #: src/tables/bom/UsedInTable.tsx:69 msgid "Show optional items" msgstr "" -#: src/tables/bom/BomTable.tsx:294 +#: src/tables/bom/BomTable.tsx:296 #: src/tables/build/BuildLineTable.tsx:41 msgid "Consumable" msgstr "Fogyóeszköz" -#: src/tables/bom/BomTable.tsx:295 +#: src/tables/bom/BomTable.tsx:297 msgid "Show consumable items" msgstr "" -#: src/tables/bom/BomTable.tsx:299 +#: src/tables/bom/BomTable.tsx:301 msgid "Has Pricing" msgstr "" -#: src/tables/bom/BomTable.tsx:300 -msgid "Show items with pricing" -msgstr "" - #: src/tables/bom/BomTable.tsx:301 #~ msgid "Create BOM Item" #~ msgstr "Create BOM Item" -#: src/tables/bom/BomTable.tsx:309 -#: src/tables/bom/BomTable.tsx:397 +#: src/tables/bom/BomTable.tsx:302 +msgid "Show items with pricing" +msgstr "" + +#: src/tables/bom/BomTable.tsx:311 +#: src/tables/bom/BomTable.tsx:399 msgid "Add BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:314 +#: src/tables/bom/BomTable.tsx:316 msgid "BOM item created" msgstr "" -#: src/tables/bom/BomTable.tsx:321 +#: src/tables/bom/BomTable.tsx:323 msgid "Edit BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:323 +#: src/tables/bom/BomTable.tsx:325 msgid "BOM item updated" msgstr "" -#: src/tables/bom/BomTable.tsx:330 -msgid "Delete BOM Item" -msgstr "" - -#: src/tables/bom/BomTable.tsx:331 -msgid "BOM item deleted" -msgstr "" - #: src/tables/bom/BomTable.tsx:331 #~ msgid "Edit Bom Item" #~ msgstr "Edit Bom Item" +#: src/tables/bom/BomTable.tsx:332 +msgid "Delete BOM Item" +msgstr "" + +#: src/tables/bom/BomTable.tsx:333 +msgid "BOM item deleted" +msgstr "" + #: src/tables/bom/BomTable.tsx:333 #~ msgid "Bom item updated" #~ msgstr "Bom item updated" -#: src/tables/bom/BomTable.tsx:341 +#: src/tables/bom/BomTable.tsx:343 msgid "View BOM" msgstr "Alkatrészjegyzék megtekintése" @@ -4917,11 +5027,11 @@ msgstr "Alkatrészjegyzék megtekintése" #~ msgid "Are you sure you want to remove this BOM item?" #~ msgstr "Are you sure you want to remove this BOM item?" -#: src/tables/bom/BomTable.tsx:352 +#: src/tables/bom/BomTable.tsx:354 msgid "Validate BOM line" msgstr "Alkatrészjegyzék tétel jóváhagyása" -#: src/tables/bom/BomTable.tsx:360 +#: src/tables/bom/BomTable.tsx:362 msgid "Edit Substitutes" msgstr "Helyettesítő alkatrészek szerkesztése" @@ -5038,11 +5148,11 @@ msgid "Filter by responsible owner" msgstr "Szűrés a felelős tulajdonosra" #: src/tables/build/BuildOutputTable.tsx:114 -#: src/tables/build/BuildOutputTable.tsx:150 +#: src/tables/build/BuildOutputTable.tsx:152 msgid "Add Build Output" msgstr "Gyártási kimenet hozzáadása" -#: src/tables/build/BuildOutputTable.tsx:155 +#: src/tables/build/BuildOutputTable.tsx:157 msgid "Complete selected outputs" msgstr "Kiválasztott kimenetek befejezése" @@ -5050,68 +5160,68 @@ msgstr "Kiválasztott kimenetek befejezése" #~ msgid "Delete build output" #~ msgstr "Delete build output" -#: src/tables/build/BuildOutputTable.tsx:165 +#: src/tables/build/BuildOutputTable.tsx:167 msgid "Scrap selected outputs" msgstr "Kiválasztott kimenetek selejtezése" -#: src/tables/build/BuildOutputTable.tsx:175 +#: src/tables/build/BuildOutputTable.tsx:177 msgid "Cancel selected outputs" msgstr "Kiválasztott kimenetek visszavonása" -#: src/tables/build/BuildOutputTable.tsx:191 +#: src/tables/build/BuildOutputTable.tsx:193 msgid "Allocate" msgstr "Lefoglalva" -#: src/tables/build/BuildOutputTable.tsx:192 +#: src/tables/build/BuildOutputTable.tsx:194 msgid "Allocate stock to build output" msgstr "Készlet foglalása a gyártási kimenethez" -#: src/tables/build/BuildOutputTable.tsx:197 +#: src/tables/build/BuildOutputTable.tsx:199 msgid "Deallocate" msgstr "Foglalás felszabadítása" -#: src/tables/build/BuildOutputTable.tsx:198 +#: src/tables/build/BuildOutputTable.tsx:200 msgid "Deallocate stock from build output" msgstr "Készlet felszabadítása a gyártási kimenetből" -#: src/tables/build/BuildOutputTable.tsx:203 +#: src/tables/build/BuildOutputTable.tsx:205 msgid "Complete" msgstr "Kész" -#: src/tables/build/BuildOutputTable.tsx:204 +#: src/tables/build/BuildOutputTable.tsx:206 msgid "Complete build output" msgstr "Gyártási kimenet befejezése" -#: src/tables/build/BuildOutputTable.tsx:213 +#: src/tables/build/BuildOutputTable.tsx:215 msgid "Scrap" msgstr "Selejt" -#: src/tables/build/BuildOutputTable.tsx:214 +#: src/tables/build/BuildOutputTable.tsx:216 msgid "Scrap build output" msgstr "Gyártási kimenet selejtezése" -#: src/tables/build/BuildOutputTable.tsx:224 +#: src/tables/build/BuildOutputTable.tsx:226 msgid "Cancel build output" msgstr "Gyártási kimenet visszavonása" -#: src/tables/build/BuildOutputTable.tsx:251 +#: src/tables/build/BuildOutputTable.tsx:253 msgid "Build Output" msgstr "Gyártás kimenet" -#: src/tables/build/BuildOutputTable.tsx:264 +#: src/tables/build/BuildOutputTable.tsx:266 msgid "Batch" msgstr "Köteg" -#: src/tables/build/BuildOutputTable.tsx:278 +#: src/tables/build/BuildOutputTable.tsx:280 msgid "Allocated Items" msgstr "Lefoglalt sorok" -#: src/tables/build/BuildOutputTable.tsx:288 +#: src/tables/build/BuildOutputTable.tsx:290 msgid "Required Tests" msgstr "Szükséges tesztek" -#: src/tables/build/BuildOutputTable.tsx:317 -#: src/tables/stock/StockItemTestResultTable.tsx:146 +#: src/tables/build/BuildOutputTable.tsx:319 +#: src/tables/stock/StockItemTestResultTable.tsx:144 msgid "Test Results" msgstr "Teszt eredmények" @@ -5132,7 +5242,7 @@ msgstr "Cím szerkesztése" msgid "Delete Address" msgstr "Cím törlése" -#: src/tables/company/AddressTable.tsx:145 +#: src/tables/company/AddressTable.tsx:144 msgid "Are you sure you want to delete this address?" msgstr "Biztos, hogy törli ezt a címet?" @@ -5177,37 +5287,53 @@ msgstr "Névjegy törlése" msgid "Add contact" msgstr "" -#: src/tables/general/AttachmentTable.tsx:161 +#: src/tables/general/AttachmentTable.tsx:130 msgid "File uploaded" msgstr "Fájl feltöltve" -#: src/tables/general/AttachmentTable.tsx:162 +#: src/tables/general/AttachmentTable.tsx:131 msgid "File {0} uploaded successfully" msgstr "A {0} fájl sikeresen feltöltve" -#: src/tables/general/AttachmentTable.tsx:173 +#: src/tables/general/AttachmentTable.tsx:142 msgid "Upload Error" msgstr "Feltöltési Hiba" -#: src/tables/general/AttachmentTable.tsx:174 +#: src/tables/general/AttachmentTable.tsx:143 msgid "File could not be uploaded" msgstr "A fájlt nem sikerült feltölteni" #: src/tables/general/AttachmentTable.tsx:187 +msgid "Upload Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:197 +msgid "Edit Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:211 +msgid "Delete Attachment" +msgstr "Melléklet törlése" + +#: src/tables/general/AttachmentTable.tsx:221 msgid "Add attachment" msgstr "Melléklet hozzáadása" -#: src/tables/general/AttachmentTable.tsx:207 +#: src/tables/general/AttachmentTable.tsx:232 msgid "Add external link" msgstr "Külső hivatkozás hozzáadása" -#: src/tables/general/AttachmentTable.tsx:239 +#: src/tables/general/AttachmentTable.tsx:254 +#~ msgid "Upload attachment" +#~ msgstr "Upload attachment" + +#: src/tables/general/AttachmentTable.tsx:289 msgid "No attachments found" msgstr "Nem találhatók mellékletek" -#: src/tables/general/AttachmentTable.tsx:254 -msgid "Upload attachment" -msgstr "Melléklet feltöltése" +#: src/tables/general/AttachmentTable.tsx:325 +msgid "Drag attachment file here to upload" +msgstr "" #: src/tables/machine/MachineListTable.tsx:199 msgid "Machine restarted" @@ -5332,8 +5458,8 @@ msgstr "" #: src/tables/machine/MachineTypeTable.tsx:135 #: src/tables/machine/MachineTypeTable.tsx:255 -#: src/tables/plugin/PluginListTable.tsx:215 -#: src/tables/plugin/PluginListTable.tsx:643 +#: src/tables/plugin/PluginListTable.tsx:180 +#: src/tables/plugin/PluginListTable.tsx:568 msgid "Builtin" msgstr "Beépített" @@ -5375,7 +5501,7 @@ msgid "Message" msgstr "Üzenet" #: src/tables/part/ParametricPartTable.tsx:75 -#: src/tables/part/PartParameterTable.tsx:87 +#: src/tables/part/PartParameterTable.tsx:88 msgid "Internal Units" msgstr "" @@ -5388,29 +5514,29 @@ msgid "Add Part Parameter" msgstr "" #: src/tables/part/ParametricPartTable.tsx:147 -#: src/tables/part/PartParameterTable.tsx:128 -#: src/tables/part/PartParameterTable.tsx:150 +#: src/tables/part/PartParameterTable.tsx:121 +#: src/tables/part/PartParameterTable.tsx:144 msgid "Edit Part Parameter" msgstr "Alkatrész paraméter szerkesztése" -#: src/tables/part/PartCategoryTable.tsx:64 +#: src/tables/part/PartCategoryTable.tsx:60 #: src/tables/part/PartTable.tsx:180 msgid "Include Subcategories" msgstr "Alkategóriákkal együtt" -#: src/tables/part/PartCategoryTable.tsx:65 +#: src/tables/part/PartCategoryTable.tsx:61 msgid "Include subcategories in results" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:70 +#: src/tables/part/PartCategoryTable.tsx:66 msgid "Show structural categories" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:77 +#: src/tables/part/PartCategoryTable.tsx:73 msgid "New Part Category" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:106 +#: src/tables/part/PartCategoryTable.tsx:98 msgid "Add Part Category" msgstr "" @@ -5435,20 +5561,20 @@ msgstr "" #~ msgid "[{0}]" #~ msgstr "[{0}]" -#: src/tables/part/PartParameterTable.tsx:112 +#: src/tables/part/PartParameterTable.tsx:105 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:136 -#: src/tables/part/PartParameterTable.tsx:158 +#: src/tables/part/PartParameterTable.tsx:130 +#: src/tables/part/PartParameterTable.tsx:152 msgid "Delete Part Parameter" msgstr "Alkatrész paraméter törlése" -#: src/tables/part/PartParameterTable.tsx:175 +#: src/tables/part/PartParameterTable.tsx:170 msgid "Add parameter" msgstr "Paraméter hozzáadás" -#: src/tables/part/PartParameterTable.tsx:196 +#: src/tables/part/PartParameterTable.tsx:191 #: src/tables/stock/StockItemTable.tsx:300 msgid "Include Variants" msgstr "Változatok is" @@ -5482,15 +5608,15 @@ msgstr "" msgid "Add Parameter Template" msgstr "Paraméter sablon létrehozás" -#: src/tables/part/PartParameterTemplateTable.tsx:97 +#: src/tables/part/PartParameterTemplateTable.tsx:100 msgid "Edit Parameter Template" msgstr "Alkatrész paraméter sablon szerkesztés" -#: src/tables/part/PartParameterTemplateTable.tsx:105 +#: src/tables/part/PartParameterTemplateTable.tsx:111 msgid "Delete Parameter Template" msgstr "Paraméter sablon törlés" -#: src/tables/part/PartParameterTemplateTable.tsx:135 +#: src/tables/part/PartParameterTemplateTable.tsx:141 msgid "Add parameter template" msgstr "Paraméter sablon létrehozás" @@ -5588,7 +5714,7 @@ msgid "No Results" msgstr "Nincs találat" #: src/tables/part/PartTestTemplateTable.tsx:79 -#: src/tables/stock/StockItemTestResultTable.tsx:385 +#: src/tables/stock/StockItemTestResultTable.tsx:376 msgid "Required" msgstr "" @@ -5597,8 +5723,8 @@ msgid "Show required tests" msgstr "Szükséges tesztek megjelenítése" #: src/tables/part/PartTestTemplateTable.tsx:84 -#: src/tables/settings/TemplateTable.tsx:213 -#: src/tables/settings/TemplateTable.tsx:275 +#: src/tables/settings/TemplateTable.tsx:160 +#: src/tables/settings/TemplateTable.tsx:270 msgid "Enabled" msgstr "" @@ -5639,26 +5765,30 @@ msgid "Show tests which have recorded results" msgstr "Rögzített eredményes tesztek megjelenítése" #: src/tables/part/PartTestTemplateTable.tsx:126 -#: src/tables/part/PartTestTemplateTable.tsx:195 +#: src/tables/part/PartTestTemplateTable.tsx:201 msgid "Add Test Template" msgstr "Teszt sablon hozzáadása" -#: src/tables/part/PartTestTemplateTable.tsx:139 +#: src/tables/part/PartTestTemplateTable.tsx:142 msgid "Edit Test Template" msgstr "Teszt sablon szerkesztése" -#: src/tables/part/PartTestTemplateTable.tsx:147 +#: src/tables/part/PartTestTemplateTable.tsx:153 msgid "Delete Test Template" msgstr "Teszt sablon törlése" -#: src/tables/part/PartTestTemplateTable.tsx:149 +#: src/tables/part/PartTestTemplateTable.tsx:155 msgid "This action cannot be reversed" msgstr "Ez a művelet nem vonható vissza" -#: src/tables/part/PartTestTemplateTable.tsx:151 +#: src/tables/part/PartTestTemplateTable.tsx:157 msgid "Any tests results associated with this template will be deleted" msgstr "Minden teszt eredmény amit ehhez a sablonhoz rögzítettek elvész" +#: src/tables/part/PartThumbTable.tsx:203 +msgid "Select" +msgstr "Kiválaszt" + #: src/tables/part/PartVariantTable.tsx:16 msgid "Show active variants" msgstr "Aktív változatok megjelenítése" @@ -5695,252 +5825,273 @@ msgstr "Kapcsolódó alkatrész hozzáadása" msgid "Stage" msgstr "Munkafázis" -#: src/tables/plugin/PluginListTable.tsx:113 -msgid "Plugin with id {id} not found" -msgstr "Az {id} azonosítójú bővítmény nem található" +#: src/tables/plugin/PluginListTable.tsx:95 +msgid "Plugin with key {pluginKey} not found" +msgstr "" -#: src/tables/plugin/PluginListTable.tsx:115 +#: src/tables/plugin/PluginListTable.tsx:97 msgid "An error occurred while fetching plugin details" msgstr "Hiba történt a bővítmény részleteinek letöltése közben" -#: src/tables/plugin/PluginListTable.tsx:134 -msgid "Plugin Actions" -msgstr "Bővítmény műveletek" +#: src/tables/plugin/PluginListTable.tsx:113 +#~ msgid "Plugin with id {id} not found" +#~ msgstr "Plugin with id {id} not found" -#: src/tables/plugin/PluginListTable.tsx:138 -#: src/tables/plugin/PluginListTable.tsx:141 -msgid "Edit plugin" -msgstr "Bővítmény szerkesztése" - -#: src/tables/plugin/PluginListTable.tsx:152 -#: src/tables/plugin/PluginListTable.tsx:153 -msgid "Reload" -msgstr "Újratöltés" - -#: src/tables/plugin/PluginListTable.tsx:166 +#: src/tables/plugin/PluginListTable.tsx:122 msgid "Plugin information" msgstr "Plugin információ" -#: src/tables/plugin/PluginListTable.tsx:177 +#: src/tables/plugin/PluginListTable.tsx:134 msgid "Author" msgstr "Szerző" -#: src/tables/plugin/PluginListTable.tsx:198 +#: src/tables/plugin/PluginListTable.tsx:134 +#~ msgid "Plugin Actions" +#~ msgstr "Plugin Actions" + +#: src/tables/plugin/PluginListTable.tsx:138 +#: src/tables/plugin/PluginListTable.tsx:141 +#~ msgid "Edit plugin" +#~ msgstr "Edit plugin" + +#: src/tables/plugin/PluginListTable.tsx:152 +#: src/tables/plugin/PluginListTable.tsx:153 +#~ msgid "Reload" +#~ msgstr "Reload" + +#: src/tables/plugin/PluginListTable.tsx:154 +msgid "Plugin is not active" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:163 msgid "Package information" msgstr "Csomag információ" -#: src/tables/plugin/PluginListTable.tsx:204 +#: src/tables/plugin/PluginListTable.tsx:169 msgid "Package Name" msgstr "Csomag neve" -#: src/tables/plugin/PluginListTable.tsx:210 +#: src/tables/plugin/PluginListTable.tsx:175 msgid "Installation Path" msgstr "Telepítési útvonal" -#: src/tables/plugin/PluginListTable.tsx:220 +#: src/tables/plugin/PluginListTable.tsx:185 msgid "Package" msgstr "Csomag" -#: src/tables/plugin/PluginListTable.tsx:231 +#: src/tables/plugin/PluginListTable.tsx:197 msgid "Plugin settings" msgstr "Plugin beállítások" -#: src/tables/plugin/PluginListTable.tsx:248 +#: src/tables/plugin/PluginListTable.tsx:214 msgid "Plugin is active" msgstr "Ez a plugin aktív" -#: src/tables/plugin/PluginListTable.tsx:254 +#: src/tables/plugin/PluginListTable.tsx:220 msgid "Plugin is inactive" msgstr "Ez a plugin nem aktív" -#: src/tables/plugin/PluginListTable.tsx:261 +#: src/tables/plugin/PluginListTable.tsx:227 msgid "Plugin is not installed" msgstr "Ez a plugin nincs telepítve" -#: src/tables/plugin/PluginListTable.tsx:287 +#: src/tables/plugin/PluginListTable.tsx:253 msgid "Plugin" msgstr "Plugin" -#: src/tables/plugin/PluginListTable.tsx:312 +#: src/tables/plugin/PluginListTable.tsx:287 msgid "Description not available" msgstr "Leírás nem elérhető" -#: src/tables/plugin/PluginListTable.tsx:338 +#: src/tables/plugin/PluginListTable.tsx:319 +msgid "Confirm plugin activation" +msgstr "Plugin telepítésének megerősítése" + +#: src/tables/plugin/PluginListTable.tsx:320 +msgid "Confirm plugin deactivation" +msgstr "Plugin kikapcsolásának megerősítése" + +#: src/tables/plugin/PluginListTable.tsx:325 +msgid "The selected plugin will be activated" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:326 +msgid "The selected plugin will be deactivated" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:334 msgid "Activate Plugin" msgstr "Plugin aktiválása" #: src/tables/plugin/PluginListTable.tsx:338 -msgid "Deactivate Plugin" -msgstr "Plugin kikapcsolása" - -#: src/tables/plugin/PluginListTable.tsx:347 -msgid "Confirm plugin activation" -msgstr "Plugin telepítésének megerősítése" - -#: src/tables/plugin/PluginListTable.tsx:348 -msgid "Confirm plugin deactivation" -msgstr "Plugin kikapcsolásának megerősítése" +#~ msgid "Deactivate Plugin" +#~ msgstr "Deactivate Plugin" #: src/tables/plugin/PluginListTable.tsx:354 -msgid "The following plugin will be activated" -msgstr "Az alábbi plugin be lesz kapcsolva" +#~ msgid "The following plugin will be activated" +#~ msgstr "The following plugin will be activated" #: src/tables/plugin/PluginListTable.tsx:355 -msgid "The following plugin will be deactivated" -msgstr "Az alábbi plugin ki lesz kapcsolva" +#~ msgid "The following plugin will be deactivated" +#~ msgstr "The following plugin will be deactivated" -#: src/tables/plugin/PluginListTable.tsx:366 -msgid "Confirm" -msgstr "Megerősítés" - -#: src/tables/plugin/PluginListTable.tsx:376 -msgid "Activating plugin" -msgstr "Plugin bekapcsolása" - -#: src/tables/plugin/PluginListTable.tsx:376 -msgid "Deactivating plugin" -msgstr "Plugin kikapcsolása" - -#: src/tables/plugin/PluginListTable.tsx:392 -msgid "Plugin updated" -msgstr "Plugin frissítve" - -#: src/tables/plugin/PluginListTable.tsx:394 -msgid "The plugin was activated" -msgstr "Plugin bekapcsolva" - -#: src/tables/plugin/PluginListTable.tsx:395 -msgid "The plugin was deactivated" -msgstr "Plugin kikapcsolva" - -#: src/tables/plugin/PluginListTable.tsx:403 -msgid "Error updating plugin" -msgstr "Plugin frissítési hiba" - -#: src/tables/plugin/PluginListTable.tsx:423 +#: src/tables/plugin/PluginListTable.tsx:362 msgid "Deactivate" msgstr "Kikapcsolás" -#: src/tables/plugin/PluginListTable.tsx:432 +#: src/tables/plugin/PluginListTable.tsx:366 +#~ msgid "Confirm" +#~ msgstr "Confirm" + +#: src/tables/plugin/PluginListTable.tsx:373 msgid "Activate" msgstr "Bekapcsolás" -#: src/tables/plugin/PluginListTable.tsx:463 +#: src/tables/plugin/PluginListTable.tsx:376 +#~ msgid "Activating plugin" +#~ msgstr "Activating plugin" + +#: src/tables/plugin/PluginListTable.tsx:376 +#~ msgid "Deactivating plugin" +#~ msgstr "Deactivating plugin" + +#: src/tables/plugin/PluginListTable.tsx:392 +#~ msgid "Plugin updated" +#~ msgstr "Plugin updated" + +#: src/tables/plugin/PluginListTable.tsx:394 +#~ msgid "The plugin was activated" +#~ msgstr "The plugin was activated" + +#: src/tables/plugin/PluginListTable.tsx:395 +#~ msgid "The plugin was deactivated" +#~ msgstr "The plugin was deactivated" + +#: src/tables/plugin/PluginListTable.tsx:403 +#~ msgid "Error updating plugin" +#~ msgstr "Error updating plugin" + +#: src/tables/plugin/PluginListTable.tsx:406 msgid "Uninstall" msgstr "Eltávolítás" -#: src/tables/plugin/PluginListTable.tsx:495 +#: src/tables/plugin/PluginListTable.tsx:438 msgid "Install plugin" msgstr "Plugin telepítése" -#: src/tables/plugin/PluginListTable.tsx:508 +#: src/tables/plugin/PluginListTable.tsx:451 msgid "Install" msgstr "Telepítés" -#: src/tables/plugin/PluginListTable.tsx:512 +#: src/tables/plugin/PluginListTable.tsx:452 msgid "Plugin installed successfully" msgstr "A bővítmény sikeresen telepítve" -#: src/tables/plugin/PluginListTable.tsx:525 +#: src/tables/plugin/PluginListTable.tsx:457 msgid "Uninstall Plugin" msgstr "Bővítmény eltávolítása" -#: src/tables/plugin/PluginListTable.tsx:537 +#: src/tables/plugin/PluginListTable.tsx:469 msgid "Confirm plugin uninstall" msgstr "Bővítmény eltávolítás megerősítése" -#: src/tables/plugin/PluginListTable.tsx:540 +#: src/tables/plugin/PluginListTable.tsx:472 msgid "The selected plugin will be uninstalled." msgstr "A kiválasztott bővítmény el lesz távolítva." -#: src/tables/plugin/PluginListTable.tsx:541 +#: src/tables/plugin/PluginListTable.tsx:473 msgid "This action cannot be undone." msgstr "Ez a művelet nem vonható vissza." -#: src/tables/plugin/PluginListTable.tsx:547 +#: src/tables/plugin/PluginListTable.tsx:477 msgid "Plugin uninstalled successfully" msgstr "A bővítmény sikeresen eltávolítva" -#: src/tables/plugin/PluginListTable.tsx:560 +#: src/tables/plugin/PluginListTable.tsx:484 msgid "Delete Plugin" msgstr "Plugin törlése" -#: src/tables/plugin/PluginListTable.tsx:562 +#: src/tables/plugin/PluginListTable.tsx:485 msgid "Deleting this plugin configuration will remove all associated settings and data. Are you sure you want to delete this plugin?" msgstr "A bővítmény konfiguráció törlése eltávolít minden beállítást és adatot. Biztos benne, hogy törölni akarja ezt a bővítményt?" -#: src/tables/plugin/PluginListTable.tsx:574 +#: src/tables/plugin/PluginListTable.tsx:498 msgid "Plugins reloaded" msgstr "Bővítmények újratöltve" -#: src/tables/plugin/PluginListTable.tsx:575 +#: src/tables/plugin/PluginListTable.tsx:499 msgid "Plugins were reloaded successfully" msgstr "Bővítmények újratöltése sikeres" -#: src/tables/plugin/PluginListTable.tsx:591 +#: src/tables/plugin/PluginListTable.tsx:515 msgid "Reload Plugins" msgstr "Bővítmények újratöltése" -#: src/tables/plugin/PluginListTable.tsx:600 +#: src/tables/plugin/PluginListTable.tsx:524 msgid "Install Plugin" msgstr "Bővítmény telepítése" +#: src/tables/plugin/PluginListTable.tsx:544 +msgid "Plugin Detail" +msgstr "Bővítmény részletek" + +#: src/tables/plugin/PluginListTable.tsx:573 +msgid "Sample" +msgstr "Minta" + +#: src/tables/plugin/PluginListTable.tsx:578 +#: src/tables/stock/StockItemTable.tsx:305 +msgid "Installed" +msgstr "Telepítve" + #: src/tables/plugin/PluginListTable.tsx:615 #~ msgid "Plugin detail" #~ msgstr "Plugin detail" -#: src/tables/plugin/PluginListTable.tsx:619 -msgid "Plugin Detail" -msgstr "Bővítmény részletek" - -#: src/tables/plugin/PluginListTable.tsx:648 -msgid "Sample" -msgstr "Minta" - -#: src/tables/plugin/PluginListTable.tsx:653 -#: src/tables/stock/StockItemTable.tsx:305 -msgid "Installed" -msgstr "Telepítve" - -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:57 -msgid "Edit Parameter" +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:59 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:108 +msgid "Add Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:60 -msgid "Parameter updated" -msgstr "" +#~ msgid "Parameter updated" +#~ msgstr "Parameter updated" -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:71 -msgid "Delete Parameter" +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:70 +msgid "Edit Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:73 -msgid "Parameter deleted" -msgstr "" +#~ msgid "Parameter deleted" +#~ msgstr "Parameter deleted" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:74 -msgid "Are you sure you want to delete this parameter?" +#~ msgid "Are you sure you want to delete this parameter?" +#~ msgstr "Are you sure you want to delete this parameter?" + +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:78 +msgid "Delete Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartTable.tsx:63 #~ msgid "Create Manufacturer Part" #~ msgstr "Create Manufacturer Part" -#: src/tables/purchasing/ManufacturerPartTable.tsx:100 -msgid "Manufacturer part updated" -msgstr "" - -#: src/tables/purchasing/ManufacturerPartTable.tsx:111 +#: src/tables/purchasing/ManufacturerPartTable.tsx:92 msgid "Delete Manufacturer Part" msgstr "" +#: src/tables/purchasing/ManufacturerPartTable.tsx:100 +#~ msgid "Manufacturer part updated" +#~ msgstr "Manufacturer part updated" + #: src/tables/purchasing/ManufacturerPartTable.tsx:112 -msgid "Manufacturer part deleted" -msgstr "" +#~ msgid "Manufacturer part deleted" +#~ msgstr "Manufacturer part deleted" #: src/tables/purchasing/ManufacturerPartTable.tsx:114 -msgid "Are you sure you want to remove this manufacturer part?" -msgstr "" +#~ msgid "Are you sure you want to remove this manufacturer part?" +#~ msgstr "Are you sure you want to remove this manufacturer part?" #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:86 msgid "Part Description" @@ -6087,18 +6238,22 @@ msgid "Error Information" msgstr "" #: src/tables/settings/ErrorTable.tsx:51 -msgid "Delete error report" +msgid "Delete Error Report" msgstr "" +#: src/tables/settings/ErrorTable.tsx:51 +#~ msgid "Delete error report" +#~ msgstr "Delete error report" + #: src/tables/settings/ErrorTable.tsx:53 -msgid "Error report deleted" -msgstr "" - -#: src/tables/settings/ErrorTable.tsx:54 msgid "Are you sure you want to delete this error report?" msgstr "" -#: src/tables/settings/ErrorTable.tsx:67 +#: src/tables/settings/ErrorTable.tsx:55 +msgid "Error report deleted" +msgstr "" + +#: src/tables/settings/ErrorTable.tsx:77 #: src/tables/settings/FailedTasksTable.tsx:57 msgid "Error Details" msgstr "" @@ -6115,7 +6270,7 @@ msgid "Task ID" msgstr "" #: src/tables/settings/FailedTasksTable.tsx:34 -#: src/tables/stock/StockItemTestResultTable.tsx:214 +#: src/tables/stock/StockItemTestResultTable.tsx:205 msgid "Started" msgstr "" @@ -6188,30 +6343,71 @@ msgstr "" msgid "Next Run" msgstr "" -#: src/tables/settings/TemplateTable.tsx:120 -msgid "{templateTypeTranslation} with id {id} not found" +#: src/tables/settings/TemplateTable.tsx:82 +msgid "Template not found" msgstr "" +#: src/tables/settings/TemplateTable.tsx:84 +msgid "An error occurred while fetching template details" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:120 +#~ msgid "{templateTypeTranslation} with id {id} not found" +#~ msgstr "{templateTypeTranslation} with id {id} not found" + #: src/tables/settings/TemplateTable.tsx:124 -msgid "An error occurred while fetching {templateTypeTranslation} details" -msgstr "" +#~ msgid "An error occurred while fetching {templateTypeTranslation} details" +#~ msgstr "An error occurred while fetching {templateTypeTranslation} details" #: src/tables/settings/TemplateTable.tsx:146 -msgid "actions" +#~ msgid "actions" +#~ msgstr "actions" + +#: src/tables/settings/TemplateTable.tsx:170 +msgid "Modify" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:171 +msgid "Modify template file" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:222 +#: src/tables/settings/TemplateTable.tsx:289 +msgid "Edit Template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:230 +msgid "Delete template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:236 +msgid "Add Template" msgstr "" #: src/tables/settings/TemplateTable.tsx:243 -msgid "Add new" -msgstr "" +#~ msgid "Add new" +#~ msgstr "Add new" #: src/tables/settings/TemplateTable.tsx:243 #~ msgid "Create new" #~ msgstr "Create new" -#: src/tables/settings/TemplateTable.tsx:276 +#: src/tables/settings/TemplateTable.tsx:249 +msgid "Add template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:271 msgid "Filter by enabled status" msgstr "" +#: src/tables/settings/TemplateTable.tsx:276 +msgid "Model Type" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:277 +msgid "Filter by target model type" +msgstr "" + #: src/tables/settings/UserTable.tsx:79 msgid "User with id {id} not found" msgstr "" @@ -6277,6 +6473,23 @@ msgstr "Felhasználó hozzáadása sikeres" msgid "Edit user" msgstr "Felhasználó szerkesztése" +#: src/tables/stock/LocationTypesTable.tsx:36 +#: src/tables/stock/LocationTypesTable.tsx:105 +msgid "Add Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:44 +msgid "Edit Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:52 +msgid "Delete Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:69 +msgid "Icon" +msgstr "" + #: src/tables/stock/StockItemTable.tsx:90 msgid "This stock item is in production" msgstr "Ez a készlet tétel gyártásban van" @@ -6338,7 +6551,7 @@ msgid "Show items which are available" msgstr "" #: src/tables/stock/StockItemTable.tsx:280 -#: src/tables/stock/StockLocationTable.tsx:37 +#: src/tables/stock/StockLocationTable.tsx:33 msgid "Include Sublocations" msgstr "" @@ -6467,123 +6680,135 @@ msgstr "" msgid "Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:153 +#: src/tables/stock/StockItemTestResultTable.tsx:151 msgid "Test result for installed stock item" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:164 +#: src/tables/stock/StockItemTestResultTable.tsx:162 msgid "Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:170 +#: src/tables/stock/StockItemTestResultTable.tsx:168 msgid "No Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:186 +#: src/tables/stock/StockItemTestResultTable.tsx:184 msgid "Attachment" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:209 +#: src/tables/stock/StockItemTestResultTable.tsx:200 msgid "Test station" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:229 +#: src/tables/stock/StockItemTestResultTable.tsx:220 msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:277 -#: src/tables/stock/StockItemTestResultTable.tsx:349 -#: src/tables/stock/StockItemTestResultTable.tsx:404 +#: src/tables/stock/StockItemTestResultTable.tsx:268 +#: src/tables/stock/StockItemTestResultTable.tsx:340 +#: src/tables/stock/StockItemTestResultTable.tsx:395 msgid "Add Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:279 +#: src/tables/stock/StockItemTestResultTable.tsx:270 msgid "Test result added" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:288 -#: src/tables/stock/StockItemTestResultTable.tsx:359 +#: src/tables/stock/StockItemTestResultTable.tsx:279 +#: src/tables/stock/StockItemTestResultTable.tsx:350 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:290 +#: src/tables/stock/StockItemTestResultTable.tsx:281 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:296 -#: src/tables/stock/StockItemTestResultTable.tsx:368 +#: src/tables/stock/StockItemTestResultTable.tsx:287 +#: src/tables/stock/StockItemTestResultTable.tsx:359 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:298 +#: src/tables/stock/StockItemTestResultTable.tsx:289 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:312 +#: src/tables/stock/StockItemTestResultTable.tsx:303 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:313 +#: src/tables/stock/StockItemTestResultTable.tsx:304 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:320 +#: src/tables/stock/StockItemTestResultTable.tsx:311 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:337 +#: src/tables/stock/StockItemTestResultTable.tsx:328 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:386 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:390 +#: src/tables/stock/StockItemTestResultTable.tsx:381 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:391 +#: src/tables/stock/StockItemTestResultTable.tsx:382 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:395 +#: src/tables/stock/StockItemTestResultTable.tsx:386 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:396 +#: src/tables/stock/StockItemTestResultTable.tsx:387 msgid "Show only passed tests" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:38 +#: src/tables/stock/StockLocationTable.tsx:34 msgid "Include sublocations in results" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:42 +#: src/tables/stock/StockLocationTable.tsx:38 msgid "structural" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:43 +#: src/tables/stock/StockLocationTable.tsx:39 msgid "Show structural locations" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:47 +#: src/tables/stock/StockLocationTable.tsx:43 msgid "external" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:48 +#: src/tables/stock/StockLocationTable.tsx:44 msgid "Show external locations" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:52 +#: src/tables/stock/StockLocationTable.tsx:48 msgid "Has location type" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:89 -#: src/tables/stock/StockLocationTable.tsx:118 +#: src/tables/stock/StockLocationTable.tsx:85 +#: src/tables/stock/StockLocationTable.tsx:110 msgid "Add Stock Location" msgstr "" +#: src/tables/stock/StockTrackingTable.tsx:64 +msgid "Added" +msgstr "" + +#: src/tables/stock/StockTrackingTable.tsx:69 +msgid "Removed" +msgstr "" + +#: src/tables/stock/StockTrackingTable.tsx:198 +msgid "No user information" +msgstr "" + #: src/views/MobileAppView.tsx:22 msgid "Mobile viewport detected" msgstr "Mobil kijelző érzékelve" diff --git a/src/frontend/src/locales/id/messages.po b/src/frontend/src/locales/id/messages.po index 74d9442e27..1b1d1f31ce 100644 --- a/src/frontend/src/locales/id/messages.po +++ b/src/frontend/src/locales/id/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: id\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-05-13 02:48\n" +"PO-Revision-Date: 2024-05-23 11:39\n" "Last-Translator: \n" "Language-Team: Indonesian\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -30,10 +30,67 @@ msgstr "" msgid "Title" msgstr "" +#: src/components/buttons/AdminButton.tsx:83 +msgid "Open in admin interface" +msgstr "" + #: src/components/buttons/CopyButton.tsx:18 msgid "Copy to clipboard" msgstr "" +#: src/components/buttons/PrintingActions.tsx:95 +msgid "Print Label" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:101 +msgid "Label printing completed successfully" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:106 +#: src/components/buttons/PrintingActions.tsx:143 +#: src/components/forms/ApiForm.tsx:504 +#: src/components/forms/fields/ApiFormField.tsx:295 +#: src/components/modals/LicenseModal.tsx:75 +#: src/components/nav/SearchDrawer.tsx:413 +#: src/components/widgets/MarkdownEditor.tsx:107 +#: src/components/widgets/MarkdownEditor.tsx:153 +#: src/pages/ErrorPage.tsx:12 +#: src/pages/ErrorPage.tsx:25 +#: src/pages/part/PartPricingPanel.tsx:71 +#: src/tables/InvenTreeTable.tsx:451 +#: src/tables/InvenTreeTable.tsx:531 +#: src/tables/stock/StockItemTestResultTable.tsx:310 +msgid "Error" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:107 +msgid "The label could not be generated" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:122 +msgid "Print Report" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:138 +msgid "Report printing completed successfully" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:144 +msgid "The report could not be generated" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:171 +msgid "Printing Actions" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:176 +msgid "Print Labels" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:182 +msgid "Print Reports" +msgstr "" + #: src/components/buttons/ScanButton.tsx:15 msgid "Scan QR code" msgstr "" @@ -64,15 +121,15 @@ msgstr "" msgid "No" msgstr "" -#: src/components/details/Details.tsx:302 +#: src/components/details/Details.tsx:303 msgid "No name defined" msgstr "" -#: src/components/details/Details.tsx:339 +#: src/components/details/Details.tsx:340 msgid "Copied" msgstr "" -#: src/components/details/Details.tsx:339 +#: src/components/details/Details.tsx:340 msgid "Copy" msgstr "" @@ -85,24 +142,23 @@ msgid "Remove the associated image from this item?" msgstr "" #: src/components/details/DetailsImage.tsx:71 -#: src/forms/StockForms.tsx:442 +#: src/forms/StockForms.tsx:483 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:448 +#: src/pages/stock/StockDetail.tsx:462 msgid "Remove" msgstr "" #: src/components/details/DetailsImage.tsx:71 -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:163 -#: src/components/items/ActionDropdown.tsx:222 -#: src/components/items/ActionDropdown.tsx:223 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 +#: src/components/items/ActionDropdown.tsx:229 +#: src/components/items/ActionDropdown.tsx:230 #: src/contexts/ThemeContext.tsx:43 #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:40 -#: src/tables/FilterSelectDrawer.tsx:218 -#: src/tables/InvenTreeTable.tsx:493 -#: src/tables/build/BuildOutputTable.tsx:223 -#: src/tables/plugin/PluginListTable.tsx:365 +#: src/tables/FilterSelectDrawer.tsx:207 +#: src/tables/InvenTreeTable.tsx:499 +#: src/tables/build/BuildOutputTable.tsx:225 msgid "Cancel" msgstr "" @@ -119,7 +175,7 @@ msgid "Clear" msgstr "" #: src/components/details/DetailsImage.tsx:227 -#: src/components/forms/ApiForm.tsx:554 +#: src/components/forms/ApiForm.tsx:571 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:56 msgid "Submit" @@ -150,9 +206,10 @@ msgid "Part is not active" msgstr "" #: src/components/details/PartIcons.tsx:34 -#: src/pages/company/CompanyDetail.tsx:308 -#: src/pages/company/SupplierPartDetail.tsx:304 -#: src/pages/part/PartDetail.tsx:684 +#: src/components/render/Plugin.tsx:17 +#: src/pages/company/CompanyDetail.tsx:310 +#: src/pages/company/SupplierPartDetail.tsx:305 +#: src/pages/part/PartDetail.tsx:685 msgid "Inactive" msgstr "" @@ -196,10 +253,10 @@ msgid "Code" msgstr "" #: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:44 -msgid "Failed to parse error response from server." -msgstr "" +#~ msgid "Failed to parse error response from server." +#~ msgstr "Failed to parse error response from server." -#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:82 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:81 msgid "Preview not available, click \"Reload Preview\"." msgstr "" @@ -207,98 +264,99 @@ msgstr "" msgid "PDF Preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:113 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:104 msgid "Error loading template" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:125 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:116 msgid "Error saving template" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 -msgid "Save & Reload preview?" +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:146 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:270 +msgid "Save & Reload Preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:156 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 msgid "Are you sure you want to Save & Reload the preview?" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 +#~ msgid "Save & Reload preview?" +#~ msgstr "Save & Reload preview?" + +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:153 msgid "To render the preview the current template needs to be replaced on the server with your modifications which may break the label if it is under active use. Do you want to proceed?" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:162 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:157 msgid "Save & Reload" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:191 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:189 msgid "Preview updated" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:192 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:190 msgid "The preview has been updated successfully." msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:255 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:262 msgid "Reload preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:256 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:263 msgid "Use the currently stored template from the server" msgstr "" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:263 -msgid "Save & Reload preview" -msgstr "" +#~ msgid "Save & Reload preview" +#~ msgstr "Save & Reload preview" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:264 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:271 msgid "Save the current template and reload the preview" msgstr "" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:322 -#: src/tables/part/PartThumbTable.tsx:203 -msgid "Select" +#~ msgid "to preview" +#~ msgstr "to preview" + +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:329 +msgid "Select instance to preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:322 -msgid "to preview" -msgstr "" - -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:366 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:373 msgid "Error rendering template" msgstr "" -#: src/components/forms/ApiForm.tsx:143 +#: src/components/forms/ApiForm.tsx:148 #: src/functions/forms.tsx:259 msgid "Form Error" msgstr "" -#: src/components/forms/ApiForm.tsx:411 +#: src/components/forms/ApiForm.tsx:428 #: src/components/widgets/MarkdownEditor.tsx:145 msgid "Success" msgstr "" #: src/components/forms/ApiForm.tsx:487 -msgid "Form Errors Exist" -msgstr "" +#~ msgid "Form Errors Exist" +#~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:592 -#: src/tables/plugin/PluginListTable.tsx:445 +#: src/components/forms/ApiForm.tsx:609 +#: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "" -#: src/components/forms/ApiForm.tsx:612 -#: src/components/items/ActionDropdown.tsx:203 +#: src/components/forms/ApiForm.tsx:629 +#: src/components/items/ActionDropdown.tsx:210 #: src/functions/forms.tsx:299 #: src/hooks/UseForm.tsx:122 #: src/pages/Index/Scan.tsx:343 #: src/pages/Notifications.tsx:123 -#: src/tables/InvenTreeTable.tsx:492 +#: src/tables/InvenTreeTable.tsx:498 #: src/tables/RowActions.tsx:71 -#: src/tables/plugin/PluginListTable.tsx:477 -#: src/tables/settings/TemplateTable.tsx:105 -#: src/tables/settings/TemplateTable.tsx:154 -#: src/tables/settings/TemplateTable.tsx:236 +#: src/tables/plugin/PluginListTable.tsx:420 msgid "Delete" msgstr "" @@ -468,18 +526,19 @@ msgstr "" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 -#: src/pages/part/CategoryDetail.tsx:77 -#: src/pages/part/PartDetail.tsx:125 -#: src/pages/stock/LocationDetail.tsx:83 +#: src/pages/part/CategoryDetail.tsx:78 +#: src/pages/part/PartDetail.tsx:126 +#: src/pages/stock/LocationDetail.tsx:85 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 #: src/tables/machine/MachineTypeTable.tsx:216 #: src/tables/machine/MachineTypeTable.tsx:319 #: src/tables/plugin/PluginErrorTable.tsx:33 -#: src/tables/plugin/PluginListTable.tsx:169 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:27 +#: src/tables/plugin/PluginListTable.tsx:126 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:32 #: src/tables/settings/GroupTable.tsx:103 #: src/tables/settings/PendingTasksTable.tsx:26 +#: src/tables/stock/LocationTypesTable.tsx:60 msgid "Name" msgstr "" @@ -520,35 +579,20 @@ msgstr "" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/ApiFormField.tsx:276 -#: src/components/modals/LicenseModal.tsx:75 -#: src/components/nav/SearchDrawer.tsx:413 -#: src/components/widgets/MarkdownEditor.tsx:107 -#: src/components/widgets/MarkdownEditor.tsx:153 -#: src/pages/ErrorPage.tsx:12 -#: src/pages/ErrorPage.tsx:25 -#: src/pages/part/PartPricingPanel.tsx:71 -#: src/tables/InvenTreeTable.tsx:445 -#: src/tables/InvenTreeTable.tsx:525 -#: src/tables/plugin/PluginListTable.tsx:402 -#: src/tables/stock/StockItemTestResultTable.tsx:319 -msgid "Error" -msgstr "" - -#: src/components/forms/fields/RelatedModelField.tsx:305 +#: src/components/forms/fields/RelatedModelField.tsx:315 #: src/pages/Index/Settings/UserSettings.tsx:64 #: src/tables/Search.tsx:23 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:306 +#: src/components/forms/fields/RelatedModelField.tsx:316 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:120 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:308 +#: src/components/forms/fields/RelatedModelField.tsx:318 msgid "No results found" msgstr "" @@ -569,54 +613,51 @@ msgstr "" msgid "Thumbnail" msgstr "" -#: src/components/items/ActionDropdown.tsx:112 -#: src/pages/build/BuildDetail.tsx:354 +#: src/components/items/ActionDropdown.tsx:119 +#: src/pages/build/BuildDetail.tsx:360 msgid "Barcode Actions" msgstr "" -#: src/components/items/ActionDropdown.tsx:129 +#: src/components/items/ActionDropdown.tsx:136 msgid "View" msgstr "" -#: src/components/items/ActionDropdown.tsx:130 +#: src/components/items/ActionDropdown.tsx:137 msgid "View barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:146 +#: src/components/items/ActionDropdown.tsx:153 msgid "Link Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:147 +#: src/components/items/ActionDropdown.tsx:154 msgid "Link custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:163 -#: src/forms/PurchaseOrderForms.tsx:375 +#: src/components/items/ActionDropdown.tsx:170 +#: src/forms/PurchaseOrderForms.tsx:389 msgid "Unlink Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:164 +#: src/components/items/ActionDropdown.tsx:171 msgid "Unlink custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:182 +#: src/components/items/ActionDropdown.tsx:189 #: src/tables/RowActions.tsx:51 -#: src/tables/settings/TemplateTable.tsx:87 -#: src/tables/settings/TemplateTable.tsx:150 -#: src/tables/settings/TemplateTable.tsx:287 msgid "Edit" msgstr "" -#: src/components/items/ActionDropdown.tsx:204 +#: src/components/items/ActionDropdown.tsx:211 msgid "Delete item" msgstr "" -#: src/components/items/ActionDropdown.tsx:241 +#: src/components/items/ActionDropdown.tsx:248 #: src/tables/RowActions.tsx:31 msgid "Duplicate" msgstr "" -#: src/components/items/ActionDropdown.tsx:242 +#: src/components/items/ActionDropdown.tsx:249 msgid "Duplicate item" msgstr "" @@ -625,7 +666,7 @@ msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:437 +#: src/tables/InvenTreeTable.tsx:443 msgid "Unknown error" msgstr "" @@ -785,27 +826,27 @@ msgstr "" #: src/components/modals/QrCodeModal.tsx:154 #: src/defaults/menuItems.tsx:21 -#: src/pages/Index/Scan.tsx:747 +#: src/pages/Index/Scan.tsx:746 msgid "Scanning" msgstr "" #: src/components/modals/QrCodeModal.tsx:154 -#: src/pages/Index/Scan.tsx:747 +#: src/pages/Index/Scan.tsx:746 msgid "Not scanning" msgstr "" #: src/components/modals/QrCodeModal.tsx:159 -#: src/pages/Index/Scan.tsx:753 +#: src/pages/Index/Scan.tsx:752 msgid "Select Camera" msgstr "" #: src/components/modals/QrCodeModal.tsx:169 -#: src/pages/Index/Scan.tsx:738 +#: src/pages/Index/Scan.tsx:737 msgid "Start scanning" msgstr "" #: src/components/modals/QrCodeModal.tsx:176 -#: src/pages/Index/Scan.tsx:730 +#: src/pages/Index/Scan.tsx:729 msgid "Stop scanning" msgstr "" @@ -891,8 +932,8 @@ msgid "Email settings not configured" msgstr "" #: src/components/modals/ServerInfoModal.tsx:121 -#: src/tables/plugin/PluginListTable.tsx:187 -#: src/tables/plugin/PluginListTable.tsx:319 +#: src/tables/plugin/PluginListTable.tsx:144 +#: src/tables/plugin/PluginListTable.tsx:294 msgid "Version" msgstr "" @@ -926,13 +967,13 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:293 +#: src/pages/Index/Settings/SystemSettings.tsx:294 msgid "System Settings" msgstr "" #: src/components/nav/MainMenu.tsx:67 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:172 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 msgid "Admin Center" msgstr "" @@ -975,7 +1016,7 @@ msgid "Pages" msgstr "" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:133 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:153 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "" @@ -1013,9 +1054,9 @@ msgid "Mark as read" msgstr "" #: src/components/nav/PartCategoryTree.tsx:158 -#: src/components/render/ModelType.tsx:60 +#: src/components/render/ModelType.tsx:64 #: src/pages/Index/Settings/SystemSettings.tsx:162 -#: src/pages/part/CategoryDetail.tsx:248 +#: src/pages/part/CategoryDetail.tsx:249 msgid "Part Categories" msgstr "" @@ -1052,142 +1093,147 @@ msgid "No results available for search query" msgstr "" #: src/components/nav/StockLocationTree.tsx:93 -#: src/components/render/ModelType.tsx:76 -#: src/pages/stock/LocationDetail.tsx:175 +#: src/components/render/ModelType.tsx:82 +#: src/pages/stock/LocationDetail.tsx:185 msgid "Stock Locations" msgstr "" -#: src/components/render/Instance.tsx:137 +#: src/components/render/Instance.tsx:166 msgid "Unknown model: {model}" msgstr "" -#: src/components/render/ModelType.tsx:21 -#: src/forms/BuildForms.tsx:184 -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49 +#: src/components/render/ModelType.tsx:22 +#: src/forms/BuildForms.tsx:201 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:83 #: src/pages/part/PartDetail.tsx:828 #: src/tables/part/RelatedPartTable.tsx:45 +#: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" msgstr "" -#: src/components/render/ModelType.tsx:22 +#: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 #: src/pages/Index/Settings/SystemSettings.tsx:167 -#: src/pages/part/CategoryDetail.tsx:109 -#: src/pages/part/CategoryDetail.tsx:234 -#: src/pages/part/CategoryDetail.tsx:264 -#: src/pages/part/PartDetail.tsx:638 +#: src/pages/part/CategoryDetail.tsx:110 +#: src/pages/part/CategoryDetail.tsx:235 +#: src/pages/part/CategoryDetail.tsx:265 +#: src/pages/part/PartDetail.tsx:639 msgid "Parts" msgstr "" -#: src/components/render/ModelType.tsx:29 +#: src/components/render/ModelType.tsx:31 msgid "Part Parameter Template" msgstr "" -#: src/components/render/ModelType.tsx:30 +#: src/components/render/ModelType.tsx:32 msgid "Part Parameter Templates" msgstr "" -#: src/components/render/ModelType.tsx:36 +#: src/components/render/ModelType.tsx:38 msgid "Part Test Template" msgstr "" -#: src/components/render/ModelType.tsx:37 +#: src/components/render/ModelType.tsx:39 msgid "Part Test Templates" msgstr "" -#: src/components/render/ModelType.tsx:43 -#: src/pages/company/SupplierPartDetail.tsx:189 -#: src/pages/company/SupplierPartDetail.tsx:317 -#: src/pages/stock/StockDetail.tsx:159 +#: src/components/render/ModelType.tsx:45 +#: src/pages/company/SupplierPartDetail.tsx:190 +#: src/pages/company/SupplierPartDetail.tsx:318 +#: src/pages/stock/StockDetail.tsx:162 #: src/tables/purchasing/SupplierPartTable.tsx:68 msgid "Supplier Part" msgstr "" -#: src/components/render/ModelType.tsx:44 +#: src/components/render/ModelType.tsx:46 msgid "Supplier Parts" msgstr "" -#: src/components/render/ModelType.tsx:51 -#: src/pages/company/ManufacturerPartDetail.tsx:124 +#: src/components/render/ModelType.tsx:54 +#: src/pages/company/ManufacturerPartDetail.tsx:125 msgid "Manufacturer Part" msgstr "" -#: src/components/render/ModelType.tsx:52 +#: src/components/render/ModelType.tsx:55 msgid "Manufacturer Parts" msgstr "" -#: src/components/render/ModelType.tsx:59 -#: src/pages/part/CategoryDetail.tsx:287 +#: src/components/render/ModelType.tsx:63 +#: src/pages/part/CategoryDetail.tsx:288 msgid "Part Category" msgstr "" -#: src/components/render/ModelType.tsx:67 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67 -#: src/pages/stock/StockDetail.tsx:535 +#: src/components/render/ModelType.tsx:72 +#: src/pages/stock/StockDetail.tsx:548 +#: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" msgstr "" -#: src/components/render/ModelType.tsx:68 -#: src/pages/company/CompanyDetail.tsx:197 -#: src/pages/stock/LocationDetail.tsx:116 -#: src/pages/stock/LocationDetail.tsx:161 +#: src/components/render/ModelType.tsx:73 +#: src/pages/company/CompanyDetail.tsx:199 +#: src/pages/stock/LocationDetail.tsx:118 +#: src/pages/stock/LocationDetail.tsx:171 #: src/pages/stock/LocationDetail.tsx:365 msgid "Stock Items" msgstr "" -#: src/components/render/ModelType.tsx:75 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:154 +#: src/components/render/ModelType.tsx:81 msgid "Stock Location" msgstr "" -#: src/components/render/ModelType.tsx:83 +#: src/components/render/ModelType.tsx:90 +msgid "Stock Location Type" +msgstr "" + +#: src/components/render/ModelType.tsx:91 +msgid "Stock Location Types" +msgstr "" + +#: src/components/render/ModelType.tsx:95 msgid "Stock History" msgstr "" -#: src/components/render/ModelType.tsx:84 +#: src/components/render/ModelType.tsx:96 msgid "Stock Histories" msgstr "" -#: src/components/render/ModelType.tsx:88 +#: src/components/render/ModelType.tsx:100 #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:43 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:126 msgid "Build" msgstr "" -#: src/components/render/ModelType.tsx:89 +#: src/components/render/ModelType.tsx:101 msgid "Builds" msgstr "" -#: src/components/render/ModelType.tsx:96 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:76 +#: src/components/render/ModelType.tsx:109 msgid "Build Line" msgstr "" -#: src/components/render/ModelType.tsx:97 +#: src/components/render/ModelType.tsx:110 msgid "Build Lines" msgstr "" -#: src/components/render/ModelType.tsx:104 -#: src/pages/company/CompanyDetail.tsx:321 +#: src/components/render/ModelType.tsx:117 +#: src/pages/company/CompanyDetail.tsx:323 msgid "Company" msgstr "" -#: src/components/render/ModelType.tsx:105 +#: src/components/render/ModelType.tsx:118 msgid "Companies" msgstr "" -#: src/components/render/ModelType.tsx:112 +#: src/components/render/ModelType.tsx:126 #: src/tables/TableHoverCard.tsx:58 #: src/tables/build/BuildOrderTable.tsx:131 #: src/tables/purchasing/PurchaseOrderTable.tsx:64 @@ -1196,170 +1242,199 @@ msgstr "" msgid "Project Code" msgstr "" -#: src/components/render/ModelType.tsx:113 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:97 +#: src/components/render/ModelType.tsx:127 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:105 msgid "Project Codes" msgstr "" -#: src/components/render/ModelType.tsx:119 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99 +#: src/components/render/ModelType.tsx:133 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:355 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:362 +#: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" msgstr "" -#: src/components/render/ModelType.tsx:120 -#: src/pages/Index/Settings/SystemSettings.tsx:242 -#: src/pages/company/CompanyDetail.tsx:190 -#: src/pages/company/SupplierPartDetail.tsx:223 -#: src/pages/part/PartDetail.tsx:571 +#: src/components/render/ModelType.tsx:134 +#: src/pages/Index/Settings/SystemSettings.tsx:243 +#: src/pages/company/CompanyDetail.tsx:192 +#: src/pages/company/SupplierPartDetail.tsx:224 +#: src/pages/part/PartDetail.tsx:572 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" -#: src/components/render/ModelType.tsx:127 +#: src/components/render/ModelType.tsx:142 msgid "Purchase Order Line" msgstr "" -#: src/components/render/ModelType.tsx:128 +#: src/components/render/ModelType.tsx:143 msgid "Purchase Order Lines" msgstr "" -#: src/components/render/ModelType.tsx:132 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:108 +#: src/components/render/ModelType.tsx:147 #: src/pages/build/BuildDetail.tsx:131 -#: src/pages/sales/SalesOrderDetail.tsx:340 -#: src/pages/stock/StockDetail.tsx:207 +#: src/pages/sales/SalesOrderDetail.tsx:347 +#: src/pages/stock/StockDetail.tsx:210 +#: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" msgstr "" -#: src/components/render/ModelType.tsx:133 -#: src/pages/Index/Settings/SystemSettings.tsx:257 -#: src/pages/company/CompanyDetail.tsx:210 -#: src/pages/part/PartDetail.tsx:577 +#: src/components/render/ModelType.tsx:148 +#: src/pages/Index/Settings/SystemSettings.tsx:258 +#: src/pages/company/CompanyDetail.tsx:212 +#: src/pages/part/PartDetail.tsx:578 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" -#: src/components/render/ModelType.tsx:140 +#: src/components/render/ModelType.tsx:156 msgid "Sales Order Shipment" msgstr "" -#: src/components/render/ModelType.tsx:141 +#: src/components/render/ModelType.tsx:157 msgid "Sales Order Shipments" msgstr "" -#: src/components/render/ModelType.tsx:147 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:117 -#: src/pages/sales/ReturnOrderDetail.tsx:318 +#: src/components/render/ModelType.tsx:163 +#: src/pages/sales/ReturnOrderDetail.tsx:325 +#: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "" -#: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:272 -#: src/pages/company/CompanyDetail.tsx:217 +#: src/components/render/ModelType.tsx:164 +#: src/pages/Index/Settings/SystemSettings.tsx:273 +#: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" msgstr "" -#: src/components/render/ModelType.tsx:155 +#: src/components/render/ModelType.tsx:172 #: src/tables/company/AddressTable.tsx:47 msgid "Address" msgstr "" -#: src/components/render/ModelType.tsx:156 -#: src/pages/company/CompanyDetail.tsx:247 +#: src/components/render/ModelType.tsx:173 +#: src/pages/company/CompanyDetail.tsx:249 msgid "Addresses" msgstr "" -#: src/components/render/ModelType.tsx:162 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:189 -#: src/pages/sales/ReturnOrderDetail.tsx:157 -#: src/pages/sales/SalesOrderDetail.tsx:161 +#: src/components/render/ModelType.tsx:179 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:191 +#: src/pages/sales/ReturnOrderDetail.tsx:159 +#: src/pages/sales/SalesOrderDetail.tsx:163 msgid "Contact" msgstr "" -#: src/components/render/ModelType.tsx:163 -#: src/pages/company/CompanyDetail.tsx:241 +#: src/components/render/ModelType.tsx:180 +#: src/pages/company/CompanyDetail.tsx:243 msgid "Contacts" msgstr "" -#: src/components/render/ModelType.tsx:169 +#: src/components/render/ModelType.tsx:186 msgid "Owner" msgstr "" -#: src/components/render/ModelType.tsx:170 +#: src/components/render/ModelType.tsx:187 msgid "Owners" msgstr "" -#: src/components/render/ModelType.tsx:176 +#: src/components/render/ModelType.tsx:193 +#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "" -#: src/components/render/ModelType.tsx:177 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:73 +#: src/components/render/ModelType.tsx:194 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:81 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "" -#: src/components/render/Order.tsx:87 +#: src/components/render/ModelType.tsx:200 +msgid "Label Template" +msgstr "" + +#: src/components/render/ModelType.tsx:201 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:135 +msgid "Label Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:207 +msgid "Report Template" +msgstr "" + +#: src/components/render/ModelType.tsx:208 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:141 +msgid "Report Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:214 +msgid "Plugin Configuration" +msgstr "" + +#: src/components/render/ModelType.tsx:215 +msgid "Plugin Configurations" +msgstr "" + +#: src/components/render/Order.tsx:104 msgid "Shipment" msgstr "" -#: src/components/render/Part.tsx:12 +#: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:198 -#: src/pages/part/PartDetail.tsx:491 +#: src/pages/Index/Settings/SystemSettings.tsx:199 +#: src/pages/part/PartDetail.tsx:492 #: src/pages/stock/LocationDetail.tsx:344 -#: src/pages/stock/StockDetail.tsx:344 +#: src/pages/stock/StockDetail.tsx:352 #: src/tables/stock/StockItemTable.tsx:57 msgid "Stock" msgstr "" -#: src/components/render/Stock.tsx:26 -#: src/pages/stock/StockDetail.tsx:142 -#: src/pages/stock/StockDetail.tsx:501 +#: src/components/render/Stock.tsx:52 +#: src/pages/stock/StockDetail.tsx:145 +#: src/pages/stock/StockDetail.tsx:514 msgid "Serial Number" msgstr "" -#: src/components/render/Stock.tsx:28 -#: src/forms/BuildForms.tsx:189 +#: src/components/render/Stock.tsx:54 +#: src/forms/BuildForms.tsx:206 #: src/pages/part/pricing/BomPricingPanel.tsx:144 -#: src/pages/part/pricing/PriceBreakPanel.tsx:96 -#: src/pages/stock/StockDetail.tsx:137 -#: src/pages/stock/StockDetail.tsx:507 +#: src/pages/part/pricing/PriceBreakPanel.tsx:94 +#: src/pages/stock/StockDetail.tsx:140 +#: src/pages/stock/StockDetail.tsx:520 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:73 +#: src/tables/stock/StockTrackingTable.tsx:59 msgid "Quantity" msgstr "" -#: src/components/settings/SettingItem.tsx:46 -#: src/components/settings/SettingItem.tsx:99 -msgid "Setting updated" -msgstr "" - #: src/components/settings/SettingItem.tsx:47 #: src/components/settings/SettingItem.tsx:100 -msgid "{0} updated successfully" -msgstr "" +#~ msgid "{0} updated successfully" +#~ msgstr "{0} updated successfully" -#: src/components/settings/SettingItem.tsx:55 -msgid "Error editing setting" -msgstr "" - -#: src/components/settings/SettingItem.tsx:92 +#: src/components/settings/SettingList.tsx:67 msgid "Edit Setting" msgstr "" -#: src/components/settings/SettingList.tsx:63 -msgid "No settings specified" +#: src/components/settings/SettingList.tsx:78 +#: src/components/settings/SettingList.tsx:108 +msgid "Setting {0} updated successfully" msgstr "" -#: src/components/tables/ColumnRenderers.tsx:134 -#~ msgid "Shipment Date" -#~ msgstr "Shipment Date" +#: src/components/settings/SettingList.tsx:107 +msgid "Setting updated" +msgstr "" + +#: src/components/settings/SettingList.tsx:117 +msgid "Error editing setting" +msgstr "" + +#: src/components/settings/SettingList.tsx:158 +msgid "No settings specified" +msgstr "" #: src/components/tables/FilterGroup.tsx:29 #~ msgid "Add table filter" @@ -1731,10 +1806,6 @@ msgstr "" #~ msgid "This is a test filter" #~ msgstr "This is a test filter" -#: src/components/tables/stock/StockLocationTable.tsx:91 -#~ msgid "Location Type" -#~ msgstr "Location Type" - #: src/components/tables/stock/StockLocationTable.tsx:145 #~ msgid "Stock location updated" #~ msgstr "Stock location updated" @@ -2072,7 +2143,7 @@ msgstr "" #~ msgstr "Local Server" #: src/defaults/links.tsx:11 -#: src/pages/company/CompanyDetail.tsx:90 +#: src/pages/company/CompanyDetail.tsx:92 msgid "Website" msgstr "" @@ -2087,10 +2158,10 @@ msgstr "" #: src/defaults/links.tsx:31 #: src/defaults/menuItems.tsx:48 #: src/pages/company/ManufacturerDetail.tsx:9 -#: src/pages/company/ManufacturerPartDetail.tsx:231 +#: src/pages/company/ManufacturerPartDetail.tsx:235 #: src/pages/company/SupplierDetail.tsx:9 -#: src/pages/company/SupplierPartDetail.tsx:291 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:358 +#: src/pages/company/SupplierPartDetail.tsx:292 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:365 #: src/pages/purchasing/PurchasingIndex.tsx:52 msgid "Purchasing" msgstr "" @@ -2098,15 +2169,15 @@ msgstr "" #: src/defaults/links.tsx:32 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:323 +#: src/pages/sales/ReturnOrderDetail.tsx:330 #: src/pages/sales/SalesIndex.tsx:45 -#: src/pages/sales/SalesOrderDetail.tsx:345 +#: src/pages/sales/SalesOrderDetail.tsx:352 msgid "Sales" msgstr "" #: src/defaults/links.tsx:35 #: src/defaults/menuItems.tsx:71 -#: src/pages/Index/Playground.tsx:239 +#: src/pages/Index/Playground.tsx:238 msgid "Playground" msgstr "" @@ -2240,87 +2311,83 @@ msgstr "" #~ msgstr "Combusken battles with the intensely hot flames it spews" #: src/forms/AttachmentForms.tsx:57 -msgid "Add File" -msgstr "" +#~ msgid "Add File" +#~ msgstr "Add File" #: src/forms/AttachmentForms.tsx:57 -msgid "Add Link" -msgstr "" +#~ msgid "Add Link" +#~ msgstr "Add Link" #: src/forms/AttachmentForms.tsx:58 -msgid "File added" -msgstr "" +#~ msgid "File added" +#~ msgstr "File added" #: src/forms/AttachmentForms.tsx:58 -msgid "Link added" -msgstr "" +#~ msgid "Link added" +#~ msgstr "Link added" #: src/forms/AttachmentForms.tsx:99 -msgid "Edit File" -msgstr "" +#~ msgid "Edit File" +#~ msgstr "Edit File" #: src/forms/AttachmentForms.tsx:99 -msgid "Edit Link" -msgstr "" +#~ msgid "Edit Link" +#~ msgstr "Edit Link" #: src/forms/AttachmentForms.tsx:100 -msgid "File updated" -msgstr "" +#~ msgid "File updated" +#~ msgstr "File updated" #: src/forms/AttachmentForms.tsx:100 -msgid "Link updated" -msgstr "" - -#: src/forms/AttachmentForms.tsx:124 -msgid "Delete Attachment" -msgstr "" +#~ msgid "Link updated" +#~ msgstr "Link updated" #: src/forms/AttachmentForms.tsx:125 -msgid "Attachment deleted" -msgstr "" +#~ msgid "Attachment deleted" +#~ msgstr "Attachment deleted" #: src/forms/AttachmentForms.tsx:128 -msgid "Are you sure you want to delete this attachment?" -msgstr "" +#~ msgid "Are you sure you want to delete this attachment?" +#~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BuildForms.tsx:129 +#: src/forms/BuildForms.tsx:146 msgid "Next serial number" msgstr "" -#: src/forms/BuildForms.tsx:133 +#: src/forms/BuildForms.tsx:150 msgid "Latest serial number" msgstr "" -#: src/forms/BuildForms.tsx:205 +#: src/forms/BuildForms.tsx:222 msgid "Remove output" msgstr "" -#: src/forms/BuildForms.tsx:287 +#: src/forms/BuildForms.tsx:304 msgid "Complete Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:291 +#: src/forms/BuildForms.tsx:308 msgid "Build outputs have been completed" msgstr "" -#: src/forms/BuildForms.tsx:360 +#: src/forms/BuildForms.tsx:377 msgid "Scrap Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:364 +#: src/forms/BuildForms.tsx:381 msgid "Build outputs have been scrapped" msgstr "" -#: src/forms/BuildForms.tsx:396 -#: src/forms/BuildForms.tsx:420 +#: src/forms/BuildForms.tsx:413 +#: src/forms/BuildForms.tsx:437 msgid "Cancel Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:397 +#: src/forms/BuildForms.tsx:414 msgid "Selected build outputs will be deleted" msgstr "" -#: src/forms/BuildForms.tsx:424 +#: src/forms/BuildForms.tsx:441 msgid "Build outputs have been cancelled" msgstr "" @@ -2344,76 +2411,76 @@ msgstr "" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PurchaseOrderForms.tsx:265 +#: src/forms/PurchaseOrderForms.tsx:279 msgid "Choose Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:273 +#: src/forms/PurchaseOrderForms.tsx:287 msgid "Item Destination selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:282 +#: src/forms/PurchaseOrderForms.tsx:296 msgid "Part category default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:292 +#: src/forms/PurchaseOrderForms.tsx:306 msgid "Received stock location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:297 +#: src/forms/PurchaseOrderForms.tsx:311 msgid "Default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:308 -#: src/forms/PurchaseOrderForms.tsx:384 +#: src/forms/PurchaseOrderForms.tsx:322 +#: src/forms/PurchaseOrderForms.tsx:398 msgid "Scan Barcode" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:352 +#: src/forms/PurchaseOrderForms.tsx:366 msgid "Set Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:359 +#: src/forms/PurchaseOrderForms.tsx:373 msgid "Assign Batch Code{0}" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:368 +#: src/forms/PurchaseOrderForms.tsx:382 msgid "Change Status" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:393 -#: src/forms/StockForms.tsx:351 +#: src/forms/PurchaseOrderForms.tsx:407 +#: src/forms/StockForms.tsx:392 msgid "Remove item from list" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:418 -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:58 -#: src/pages/stock/StockDetail.tsx:167 -#: src/tables/ColumnRenderers.tsx:42 +#: src/forms/PurchaseOrderForms.tsx:432 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/pages/stock/StockDetail.tsx:170 +#: src/tables/ColumnRenderers.tsx:34 +#: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:434 +#: src/forms/PurchaseOrderForms.tsx:448 msgid "Store at default location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:447 +#: src/forms/PurchaseOrderForms.tsx:461 msgid "Store at line item destination" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:457 +#: src/forms/PurchaseOrderForms.tsx:471 msgid "Store with already received stock" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:613 +#: src/forms/PurchaseOrderForms.tsx:627 msgid "Receive Line Items" msgstr "" @@ -2421,119 +2488,118 @@ msgstr "" #~ msgid "Receive line items" #~ msgstr "Receive line items" -#: src/forms/StockForms.tsx:69 +#: src/forms/StockForms.tsx:101 msgid "Add given quantity as packs instead of individual items" msgstr "" -#: src/forms/StockForms.tsx:80 -msgid "Enter initial quantity for this stock item" -msgstr "" - -#: src/forms/StockForms.tsx:85 -msgid "Serial Numbers" -msgstr "" - -#: src/forms/StockForms.tsx:86 -msgid "Enter serial numbers for new stock (or leave blank)" -msgstr "" - #: src/forms/StockForms.tsx:110 #~ msgid "Create Stock Item" #~ msgstr "Create Stock Item" -#: src/forms/StockForms.tsx:135 -#: src/pages/stock/StockDetail.tsx:367 -#: src/tables/stock/StockItemTable.tsx:382 -#: src/tables/stock/StockItemTable.tsx:499 -msgid "Add Stock Item" +#: src/forms/StockForms.tsx:114 +msgid "Enter initial quantity for this stock item" +msgstr "" + +#: src/forms/StockForms.tsx:121 +msgid "Serial Numbers" +msgstr "" + +#: src/forms/StockForms.tsx:122 +msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" #: src/forms/StockForms.tsx:158 #~ msgid "Stock item updated" #~ msgstr "Stock item updated" -#: src/forms/StockForms.tsx:298 +#: src/forms/StockForms.tsx:176 +#: src/pages/stock/StockDetail.tsx:375 +#: src/tables/stock/StockItemTable.tsx:382 +#: src/tables/stock/StockItemTable.tsx:499 +msgid "Add Stock Item" +msgstr "" + +#: src/forms/StockForms.tsx:339 msgid "Loading..." msgstr "" -#: src/forms/StockForms.tsx:340 +#: src/forms/StockForms.tsx:381 msgid "Move to default location" msgstr "" -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/part/PartDetail.tsx:205 -#: src/pages/part/PartDetail.tsx:654 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/pages/part/PartDetail.tsx:206 +#: src/pages/part/PartDetail.tsx:655 #: src/tables/stock/StockItemTable.tsx:290 msgid "In Stock" msgstr "" -#: src/forms/StockForms.tsx:408 +#: src/forms/StockForms.tsx:449 msgid "Move" msgstr "" -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/tables/RowActions.tsx:147 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/tables/RowActions.tsx:149 msgid "Actions" msgstr "" -#: src/forms/StockForms.tsx:471 -#: src/pages/stock/StockDetail.tsx:440 -#: src/tables/settings/TemplateTable.tsx:266 -#: src/tables/stock/StockItemTestResultTable.tsx:348 +#: src/forms/StockForms.tsx:512 +#: src/pages/stock/StockDetail.tsx:454 +#: src/tables/stock/StockItemTestResultTable.tsx:339 msgid "Add" msgstr "" -#: src/forms/StockForms.tsx:499 +#: src/forms/StockForms.tsx:540 #: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:430 +#: src/pages/stock/StockDetail.tsx:444 msgid "Count" msgstr "" -#: src/forms/StockForms.tsx:744 +#: src/forms/StockForms.tsx:785 msgid "Add Stock" msgstr "" -#: src/forms/StockForms.tsx:753 +#: src/forms/StockForms.tsx:794 msgid "Remove Stock" msgstr "" -#: src/forms/StockForms.tsx:762 -#: src/pages/part/PartDetail.tsx:781 +#: src/forms/StockForms.tsx:803 +#: src/pages/part/PartDetail.tsx:782 msgid "Transfer Stock" msgstr "" -#: src/forms/StockForms.tsx:771 -#: src/pages/part/PartDetail.tsx:770 +#: src/forms/StockForms.tsx:812 +#: src/pages/part/PartDetail.tsx:771 msgid "Count Stock" msgstr "" -#: src/forms/StockForms.tsx:780 +#: src/forms/StockForms.tsx:821 msgid "Change Stock Status" msgstr "" -#: src/forms/StockForms.tsx:789 +#: src/forms/StockForms.tsx:830 msgid "Merge Stock" msgstr "" -#: src/forms/StockForms.tsx:808 +#: src/forms/StockForms.tsx:849 msgid "Delete Stock Items" msgstr "" -#: src/forms/StockForms.tsx:815 +#: src/forms/StockForms.tsx:856 msgid "Parent stock location" msgstr "" @@ -2728,7 +2794,7 @@ msgstr "" msgid "Welcome to your Dashboard{0}" msgstr "" -#: src/pages/Index/Playground.tsx:244 +#: src/pages/Index/Playground.tsx:243 msgid "This page is a showcase for the possibilities of Platform UI." msgstr "" @@ -3138,49 +3204,53 @@ msgstr "" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:79 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:87 msgid "Background Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:85 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:93 msgid "Error Reports" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:91 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:99 msgid "Currencies" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:109 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:117 msgid "Custom Units" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:115 -#: src/pages/part/CategoryDetail.tsx:254 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:123 +#: src/pages/part/CategoryDetail.tsx:255 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:121 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 +#~ msgid "Templates" +#~ msgstr "Templates" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:129 msgid "Category Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 -msgid "Templates" +#: src/pages/Index/Settings/AdminCenter/Index.tsx:147 +msgid "Location types" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:139 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:159 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:149 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:169 msgid "Quick Actions" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:154 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 msgid "Add a new user" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:173 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:193 msgid "Advanced Options" msgstr "" @@ -3225,26 +3295,32 @@ msgstr "" msgid "Plugin Settings" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:25 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:53 +msgid "Background Worker Not Running" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:54 +msgid "The background task manager service is not running. Contact your system administrator." +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:60 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:76 msgid "Pending Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:33 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:64 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:84 msgid "Scheduled Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:41 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:68 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:92 msgid "Failed Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:139 -msgid "Labels" -msgstr "" - #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:39 -msgid "Label" -msgstr "" +#~ msgid "Label" +#~ msgstr "Label" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67 #~ msgid "Stock item" @@ -3255,13 +3331,13 @@ msgstr "" #~ msgstr "Build line" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:88 -msgid "Reports" -msgstr "" +#~ msgid "Reports" +#~ msgstr "Reports" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:89 #: src/pages/build/BuildDetail.tsx:373 -msgid "Report" -msgstr "" +#~ msgid "Report" +#~ msgstr "Report" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99 #~ msgid "Purchase order" @@ -3275,14 +3351,9 @@ msgstr "" #~ msgid "Return order" #~ msgstr "Return order" -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135 -#: src/pages/part/PartDetail.tsx:518 -msgid "Bill of Materials" -msgstr "" - #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:145 -msgid "Tests" -msgstr "" +#~ msgid "Tests" +#~ msgstr "Tests" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:154 #~ msgid "Stock location" @@ -3321,26 +3392,30 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" +#: src/pages/Index/Settings/SystemSettings.tsx:139 +msgid "Labels" +msgstr "" + #: src/pages/Index/Settings/SystemSettings.tsx:145 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:223 -#: src/pages/part/PartDetail.tsx:589 +#: src/pages/Index/Settings/SystemSettings.tsx:224 +#: src/pages/part/PartDetail.tsx:590 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:228 -#: src/pages/build/BuildDetail.tsx:426 +#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:525 -#: src/pages/sales/SalesOrderDetail.tsx:263 +#: src/pages/part/PartDetail.tsx:526 +#: src/pages/sales/SalesOrderDetail.tsx:265 msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:296 +#: src/pages/Index/Settings/SystemSettings.tsx:297 msgid "Switch to User Setting" msgstr "" @@ -3397,44 +3472,47 @@ msgstr "" #~ msgstr "Build Status" #: src/pages/build/BuildDetail.tsx:89 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:128 -#: src/pages/sales/ReturnOrderDetail.tsx:95 -#: src/pages/sales/SalesOrderDetail.tsx:99 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:130 +#: src/pages/sales/ReturnOrderDetail.tsx:97 +#: src/pages/sales/SalesOrderDetail.tsx:101 #: src/tables/build/BuildOrderTable.tsx:113 #: src/tables/machine/MachineListTable.tsx:326 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderTable.tsx:46 #: src/tables/sales/SalesOrderTable.tsx:52 #: src/tables/stock/StockItemTable.tsx:259 +#: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "" #: src/pages/build/BuildDetail.tsx:95 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:101 -#: src/pages/sales/ReturnOrderDetail.tsx:69 -#: src/pages/sales/SalesOrderDetail.tsx:73 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:103 +#: src/pages/sales/ReturnOrderDetail.tsx:71 +#: src/pages/sales/SalesOrderDetail.tsx:75 +#: src/tables/ColumnRenderers.tsx:106 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" msgstr "" #: src/pages/build/BuildDetail.tsx:100 -#: src/pages/company/CompanyDetail.tsx:84 -#: src/pages/company/ManufacturerPartDetail.tsx:75 -#: src/pages/company/SupplierPartDetail.tsx:82 -#: src/pages/part/CategoryDetail.tsx:91 -#: src/pages/part/PartDetail.tsx:132 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:122 -#: src/pages/sales/ReturnOrderDetail.tsx:89 -#: src/pages/sales/SalesOrderDetail.tsx:93 -#: src/pages/stock/LocationDetail.tsx:97 -#: src/tables/ColumnRenderers.tsx:95 +#: src/pages/company/CompanyDetail.tsx:86 +#: src/pages/company/ManufacturerPartDetail.tsx:76 +#: src/pages/company/SupplierPartDetail.tsx:83 +#: src/pages/part/CategoryDetail.tsx:92 +#: src/pages/part/PartDetail.tsx:133 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:124 +#: src/pages/sales/ReturnOrderDetail.tsx:91 +#: src/pages/sales/SalesOrderDetail.tsx:95 +#: src/pages/stock/LocationDetail.tsx:99 +#: src/tables/ColumnRenderers.tsx:66 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 #: src/tables/machine/MachineTypeTable.tsx:323 #: src/tables/part/RelatedPartTable.tsx:64 -#: src/tables/plugin/PluginListTable.tsx:172 -#: src/tables/plugin/PluginListTable.tsx:302 +#: src/tables/plugin/PluginListTable.tsx:129 +#: src/tables/plugin/PluginListTable.tsx:276 +#: src/tables/stock/LocationTypesTable.tsx:65 msgid "Description" msgstr "" @@ -3447,7 +3525,7 @@ msgid "Build Quantity" msgstr "" #: src/pages/build/BuildDetail.tsx:126 -#: src/pages/build/BuildDetail.tsx:249 +#: src/pages/build/BuildDetail.tsx:256 msgid "Completed Outputs" msgstr "" @@ -3457,10 +3535,10 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:150 -#: src/pages/part/PartDetail.tsx:320 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:214 -#: src/pages/sales/ReturnOrderDetail.tsx:182 -#: src/pages/sales/SalesOrderDetail.tsx:186 +#: src/pages/part/PartDetail.tsx:321 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:184 +#: src/pages/sales/SalesOrderDetail.tsx:188 #: src/tables/build/BuildOrderTable.tsx:148 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 @@ -3474,10 +3552,10 @@ msgid "Created" msgstr "" #: src/pages/build/BuildDetail.tsx:164 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:207 -#: src/pages/sales/ReturnOrderDetail.tsx:175 -#: src/pages/sales/SalesOrderDetail.tsx:179 -#: src/tables/ColumnRenderers.tsx:227 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:209 +#: src/pages/sales/ReturnOrderDetail.tsx:177 +#: src/pages/sales/SalesOrderDetail.tsx:181 +#: src/tables/ColumnRenderers.tsx:191 msgid "Target Date" msgstr "" @@ -3513,6 +3591,11 @@ msgstr "" #~ msgid "Unlink custom barcode from part" #~ msgstr "Unlink custom barcode from part" +#: src/pages/build/BuildDetail.tsx:197 +#: src/pages/stock/StockDetail.tsx:526 +msgid "Batch Code" +msgstr "" + #: src/pages/build/BuildDetail.tsx:202 #~ msgid "Build Order updated" #~ msgstr "Build Order updated" @@ -3521,86 +3604,87 @@ msgstr "" #~ msgid "Edit build order" #~ msgstr "Edit build order" -#: src/pages/build/BuildDetail.tsx:222 -msgid "Build Details" -msgstr "" - #: src/pages/build/BuildDetail.tsx:226 #~ msgid "Duplicate build order" #~ msgstr "Duplicate build order" -#: src/pages/build/BuildDetail.tsx:228 -#: src/tables/build/BuildLineTable.tsx:225 -msgid "Allocate Stock" +#: src/pages/build/BuildDetail.tsx:229 +msgid "Build Details" msgstr "" #: src/pages/build/BuildDetail.tsx:231 #~ msgid "Delete build order" #~ msgstr "Delete build order" -#: src/pages/build/BuildDetail.tsx:242 +#: src/pages/build/BuildDetail.tsx:235 +#: src/tables/build/BuildLineTable.tsx:225 +msgid "Allocate Stock" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:249 msgid "Incomplete Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:264 +#: src/pages/build/BuildDetail.tsx:271 msgid "Consumed Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:278 +#: src/pages/build/BuildDetail.tsx:285 msgid "Child Build Orders" msgstr "" -#: src/pages/build/BuildDetail.tsx:288 -#: src/pages/company/CompanyDetail.tsx:253 -#: src/pages/company/ManufacturerPartDetail.tsx:171 -#: src/pages/part/PartDetail.tsx:611 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:276 -#: src/pages/sales/ReturnOrderDetail.tsx:225 -#: src/pages/sales/SalesOrderDetail.tsx:273 -#: src/pages/stock/StockDetail.tsx:317 +#: src/pages/build/BuildDetail.tsx:295 +#: src/pages/company/CompanyDetail.tsx:255 +#: src/pages/company/ManufacturerPartDetail.tsx:172 +#: src/pages/part/PartDetail.tsx:612 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:278 +#: src/pages/sales/ReturnOrderDetail.tsx:227 +#: src/pages/sales/SalesOrderDetail.tsx:275 +#: src/pages/stock/StockDetail.tsx:325 msgid "Attachments" msgstr "" -#: src/pages/build/BuildDetail.tsx:300 -#: src/pages/company/CompanyDetail.tsx:265 -#: src/pages/part/PartDetail.tsx:623 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:288 -#: src/pages/sales/ReturnOrderDetail.tsx:237 -#: src/pages/sales/SalesOrderDetail.tsx:285 -#: src/pages/stock/StockDetail.tsx:329 +#: src/pages/build/BuildDetail.tsx:307 +#: src/pages/company/CompanyDetail.tsx:267 +#: src/pages/part/PartDetail.tsx:624 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:290 +#: src/pages/sales/ReturnOrderDetail.tsx:239 +#: src/pages/sales/SalesOrderDetail.tsx:287 +#: src/pages/stock/StockDetail.tsx:337 +#: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "" -#: src/pages/build/BuildDetail.tsx:318 +#: src/pages/build/BuildDetail.tsx:325 msgid "Edit Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:327 +#: src/pages/build/BuildDetail.tsx:334 msgid "Cancel Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:339 +#: src/pages/build/BuildDetail.tsx:346 #: src/tables/build/BuildOrderTable.tsx:167 #: src/tables/build/BuildOrderTable.tsx:182 msgid "Add Build Order" msgstr "" #: src/pages/build/BuildDetail.tsx:368 -msgid "Reporting Actions" -msgstr "" +#~ msgid "Reporting Actions" +#~ msgstr "Reporting Actions" #: src/pages/build/BuildDetail.tsx:374 -msgid "Print build report" -msgstr "" +#~ msgid "Print build report" +#~ msgstr "Print build report" -#: src/pages/build/BuildDetail.tsx:380 +#: src/pages/build/BuildDetail.tsx:378 msgid "Build Order Actions" msgstr "" -#: src/pages/build/BuildDetail.tsx:388 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:326 -#: src/pages/sales/ReturnOrderDetail.tsx:300 -#: src/pages/sales/SalesOrderDetail.tsx:310 +#: src/pages/build/BuildDetail.tsx:386 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:333 +#: src/pages/sales/ReturnOrderDetail.tsx:307 +#: src/pages/sales/SalesOrderDetail.tsx:317 msgid "Cancel order" msgstr "" @@ -3612,56 +3696,58 @@ msgstr "" #~ msgid "New Build Order" #~ msgstr "New Build Order" -#: src/pages/company/CompanyDetail.tsx:98 +#: src/pages/company/CompanyDetail.tsx:100 msgid "Phone Number" msgstr "" -#: src/pages/company/CompanyDetail.tsx:105 +#: src/pages/company/CompanyDetail.tsx:107 msgid "Email Address" msgstr "" -#: src/pages/company/CompanyDetail.tsx:115 +#: src/pages/company/CompanyDetail.tsx:117 msgid "Default Currency" msgstr "" -#: src/pages/company/CompanyDetail.tsx:120 +#: src/pages/company/CompanyDetail.tsx:122 #: src/pages/company/SupplierDetail.tsx:8 -#: src/pages/company/SupplierPartDetail.tsx:106 -#: src/pages/company/SupplierPartDetail.tsx:192 -#: src/pages/company/SupplierPartDetail.tsx:295 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:116 +#: src/pages/company/SupplierPartDetail.tsx:107 +#: src/pages/company/SupplierPartDetail.tsx:193 +#: src/pages/company/SupplierPartDetail.tsx:296 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:118 #: src/tables/company/CompanyTable.tsx:100 #: src/tables/purchasing/PurchaseOrderTable.tsx:88 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:36 msgid "Supplier" msgstr "" -#: src/pages/company/CompanyDetail.tsx:126 +#: src/pages/company/CompanyDetail.tsx:128 #: src/pages/company/ManufacturerDetail.tsx:8 -#: src/pages/company/ManufacturerPartDetail.tsx:93 -#: src/pages/company/ManufacturerPartDetail.tsx:235 -#: src/pages/company/SupplierPartDetail.tsx:121 +#: src/pages/company/ManufacturerPartDetail.tsx:94 +#: src/pages/company/ManufacturerPartDetail.tsx:239 +#: src/pages/company/SupplierPartDetail.tsx:122 #: src/tables/company/CompanyTable.tsx:105 msgid "Manufacturer" msgstr "" -#: src/pages/company/CompanyDetail.tsx:132 +#: src/pages/company/CompanyDetail.tsx:134 #: src/pages/company/CustomerDetail.tsx:8 #: src/pages/part/pricing/SaleHistoryPanel.tsx:39 -#: src/pages/sales/ReturnOrderDetail.tsx:83 -#: src/pages/sales/SalesOrderDetail.tsx:87 -#: src/pages/stock/StockDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:85 +#: src/pages/sales/SalesOrderDetail.tsx:89 +#: src/pages/stock/StockDetail.tsx:219 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:107 +#: src/tables/stock/StockTrackingTable.tsx:140 msgid "Customer" msgstr "" -#: src/pages/company/CompanyDetail.tsx:166 +#: src/pages/company/CompanyDetail.tsx:168 +#: src/tables/stock/StockTrackingTable.tsx:183 msgid "Details" msgstr "" -#: src/pages/company/CompanyDetail.tsx:172 +#: src/pages/company/CompanyDetail.tsx:174 msgid "Manufactured Parts" msgstr "" @@ -3669,7 +3755,7 @@ msgstr "" #~ msgid "Edit company" #~ msgstr "Edit company" -#: src/pages/company/CompanyDetail.tsx:181 +#: src/pages/company/CompanyDetail.tsx:183 msgid "Supplied Parts" msgstr "" @@ -3677,289 +3763,289 @@ msgstr "" #~ msgid "Delete company" #~ msgstr "Delete company" -#: src/pages/company/CompanyDetail.tsx:226 +#: src/pages/company/CompanyDetail.tsx:228 msgid "Assigned Stock" msgstr "" -#: src/pages/company/CompanyDetail.tsx:281 +#: src/pages/company/CompanyDetail.tsx:283 #: src/tables/company/CompanyTable.tsx:86 msgid "Edit Company" msgstr "" -#: src/pages/company/CompanyDetail.tsx:290 +#: src/pages/company/CompanyDetail.tsx:292 msgid "Company Actions" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:68 -#: src/pages/company/SupplierPartDetail.tsx:75 +#: src/pages/company/ManufacturerPartDetail.tsx:69 +#: src/pages/company/SupplierPartDetail.tsx:76 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:72 msgid "Internal Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:83 -#: src/pages/company/SupplierPartDetail.tsx:89 +#: src/pages/company/ManufacturerPartDetail.tsx:84 +#: src/pages/company/SupplierPartDetail.tsx:90 msgid "External Link" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:101 -#: src/pages/company/SupplierPartDetail.tsx:130 -#: src/tables/purchasing/ManufacturerPartTable.tsx:53 +#: src/pages/company/ManufacturerPartDetail.tsx:102 +#: src/pages/company/SupplierPartDetail.tsx:131 +#: src/tables/purchasing/ManufacturerPartTable.tsx:56 msgid "Manufacturer Part Number" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:130 +#: src/pages/company/ManufacturerPartDetail.tsx:131 msgid "Manufacturer Details" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:139 +#: src/pages/company/ManufacturerPartDetail.tsx:140 msgid "Manufacturer Part Details" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:145 -#: src/pages/part/PartDetail.tsx:485 +#: src/pages/company/ManufacturerPartDetail.tsx:146 +#: src/pages/part/PartDetail.tsx:486 msgid "Parameters" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:157 -#: src/pages/part/PartDetail.tsx:558 +#: src/pages/company/ManufacturerPartDetail.tsx:158 +#: src/pages/part/PartDetail.tsx:559 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:189 -#: src/tables/purchasing/ManufacturerPartTable.tsx:97 +#: src/pages/company/ManufacturerPartDetail.tsx:190 +#: src/tables/purchasing/ManufacturerPartTable.tsx:84 msgid "Edit Manufacturer Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:196 -#: src/tables/purchasing/ManufacturerPartTable.tsx:63 -#: src/tables/purchasing/ManufacturerPartTable.tsx:78 +#: src/pages/company/ManufacturerPartDetail.tsx:197 +#: src/tables/purchasing/ManufacturerPartTable.tsx:72 +#: src/tables/purchasing/ManufacturerPartTable.tsx:103 msgid "Add Manufacturer Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:209 +#: src/pages/company/ManufacturerPartDetail.tsx:213 msgid "Manufacturer Part Actions" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:247 +#: src/pages/company/ManufacturerPartDetail.tsx:251 msgid "ManufacturerPart" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:96 -#: src/tables/ColumnRenderers.tsx:146 +#: src/pages/company/SupplierPartDetail.tsx:97 +#: src/tables/ColumnRenderers.tsx:117 msgid "Note" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:114 +#: src/pages/company/SupplierPartDetail.tsx:115 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:57 msgid "SKU" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:142 -#: src/pages/company/SupplierPartDetail.tsx:193 -#: src/pages/stock/StockDetail.tsx:230 +#: src/pages/company/SupplierPartDetail.tsx:143 +#: src/pages/company/SupplierPartDetail.tsx:194 +#: src/pages/stock/StockDetail.tsx:233 msgid "Packaging" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:149 +#: src/pages/company/SupplierPartDetail.tsx:150 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:107 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143 #: src/tables/purchasing/SupplierPartTable.tsx:131 msgid "Pack Quantity" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:160 +#: src/pages/company/SupplierPartDetail.tsx:161 msgid "Supplier Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:167 +#: src/pages/company/SupplierPartDetail.tsx:168 msgid "Availability Updated" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:194 +#: src/pages/company/SupplierPartDetail.tsx:195 msgid "Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:203 +#: src/pages/company/SupplierPartDetail.tsx:204 msgid "Supplier Part Details" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:209 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:263 +#: src/pages/company/SupplierPartDetail.tsx:210 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:265 msgid "Received Stock" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:233 +#: src/pages/company/SupplierPartDetail.tsx:234 #: src/pages/part/PartPricingPanel.tsx:115 #: src/pages/part/pricing/PricingOverviewPanel.tsx:130 msgid "Supplier Pricing" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:248 +#: src/pages/company/SupplierPartDetail.tsx:249 msgid "Supplier Part Actions" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:272 +#: src/pages/company/SupplierPartDetail.tsx:273 #: src/tables/purchasing/SupplierPartTable.tsx:210 msgid "Edit Supplier Part" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:279 +#: src/pages/company/SupplierPartDetail.tsx:280 #: src/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "" -#: src/pages/part/CategoryDetail.tsx:83 -#: src/pages/stock/LocationDetail.tsx:89 +#: src/pages/part/CategoryDetail.tsx:84 +#: src/pages/stock/LocationDetail.tsx:91 #: src/tables/settings/ErrorTable.tsx:34 msgid "Path" msgstr "" -#: src/pages/part/CategoryDetail.tsx:99 +#: src/pages/part/CategoryDetail.tsx:100 msgid "Parent Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:116 +#: src/pages/part/CategoryDetail.tsx:117 msgid "Subcategories" msgstr "" -#: src/pages/part/CategoryDetail.tsx:123 -#: src/pages/stock/LocationDetail.tsx:129 -#: src/tables/part/PartCategoryTable.tsx:69 +#: src/pages/part/CategoryDetail.tsx:124 +#: src/pages/stock/LocationDetail.tsx:131 +#: src/tables/part/PartCategoryTable.tsx:65 msgid "Structural" msgstr "" -#: src/pages/part/CategoryDetail.tsx:129 +#: src/pages/part/CategoryDetail.tsx:130 msgid "Parent default location" msgstr "" -#: src/pages/part/CategoryDetail.tsx:136 +#: src/pages/part/CategoryDetail.tsx:137 msgid "Default location" msgstr "" -#: src/pages/part/CategoryDetail.tsx:147 +#: src/pages/part/CategoryDetail.tsx:148 msgid "Top level part category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:157 -#: src/pages/part/CategoryDetail.tsx:211 -#: src/tables/part/PartCategoryTable.tsx:96 +#: src/pages/part/CategoryDetail.tsx:158 +#: src/pages/part/CategoryDetail.tsx:212 +#: src/tables/part/PartCategoryTable.tsx:88 msgid "Edit Part Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:170 -#: src/pages/stock/LocationDetail.tsx:213 +#: src/pages/part/CategoryDetail.tsx:171 +#: src/pages/stock/LocationDetail.tsx:223 msgid "Delete items" msgstr "" -#: src/pages/part/CategoryDetail.tsx:178 -#: src/pages/part/CategoryDetail.tsx:216 +#: src/pages/part/CategoryDetail.tsx:179 +#: src/pages/part/CategoryDetail.tsx:217 msgid "Delete Part Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:181 +#: src/pages/part/CategoryDetail.tsx:182 msgid "Parts Action" msgstr "" -#: src/pages/part/CategoryDetail.tsx:182 +#: src/pages/part/CategoryDetail.tsx:183 msgid "Action for parts in this category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:187 +#: src/pages/part/CategoryDetail.tsx:188 msgid "Child Categories Action" msgstr "" -#: src/pages/part/CategoryDetail.tsx:188 +#: src/pages/part/CategoryDetail.tsx:189 msgid "Action for child categories in this category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:206 +#: src/pages/part/CategoryDetail.tsx:207 msgid "Category Actions" msgstr "" -#: src/pages/part/CategoryDetail.tsx:228 +#: src/pages/part/CategoryDetail.tsx:229 msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:138 +#: src/pages/part/PartDetail.tsx:139 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:145 +#: src/pages/part/PartDetail.tsx:146 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "" -#: src/pages/part/PartDetail.tsx:151 +#: src/pages/part/PartDetail.tsx:152 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:158 +#: src/pages/part/PartDetail.tsx:159 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:165 +#: src/pages/part/PartDetail.tsx:166 msgid "IPN" msgstr "" -#: src/pages/part/PartDetail.tsx:172 +#: src/pages/part/PartDetail.tsx:173 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:179 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39 +#: src/pages/part/PartDetail.tsx:180 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "" -#: src/pages/part/PartDetail.tsx:186 +#: src/pages/part/PartDetail.tsx:187 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:193 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:180 -#: src/pages/sales/ReturnOrderDetail.tsx:148 -#: src/pages/sales/SalesOrderDetail.tsx:152 +#: src/pages/part/PartDetail.tsx:194 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:182 +#: src/pages/sales/ReturnOrderDetail.tsx:150 +#: src/pages/sales/SalesOrderDetail.tsx:154 msgid "Link" msgstr "" -#: src/pages/part/PartDetail.tsx:211 -#: src/tables/bom/BomTable.tsx:269 +#: src/pages/part/PartDetail.tsx:212 +#: src/tables/bom/BomTable.tsx:271 #: src/tables/build/BuildLineTable.tsx:121 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:218 +#: src/pages/part/PartDetail.tsx:219 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:224 -#: src/tables/bom/BomTable.tsx:210 +#: src/pages/part/PartDetail.tsx:225 +#: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:233 +#: src/pages/part/PartDetail.tsx:234 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:241 +#: src/pages/part/PartDetail.tsx:242 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:248 -#: src/tables/bom/BomTable.tsx:234 +#: src/pages/part/PartDetail.tsx:249 +#: src/tables/bom/BomTable.tsx:236 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:255 -#: src/tables/bom/BomTable.tsx:218 +#: src/pages/part/PartDetail.tsx:256 +#: src/tables/bom/BomTable.tsx:220 #: src/tables/part/PartTable.tsx:82 msgid "Building" msgstr "" -#: src/pages/part/PartDetail.tsx:264 +#: src/pages/part/PartDetail.tsx:265 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 @@ -3968,45 +4054,47 @@ msgstr "" #: src/tables/machine/MachineListTable.tsx:585 #: src/tables/part/PartTable.tsx:168 #: src/tables/part/PartVariantTable.tsx:15 -#: src/tables/plugin/PluginListTable.tsx:190 -#: src/tables/plugin/PluginListTable.tsx:638 +#: src/tables/plugin/PluginListTable.tsx:149 +#: src/tables/plugin/PluginListTable.tsx:271 +#: src/tables/plugin/PluginListTable.tsx:563 #: src/tables/purchasing/SupplierPartTable.tsx:98 #: src/tables/purchasing/SupplierPartTable.tsx:187 #: src/tables/stock/StockItemTable.tsx:254 msgid "Active" msgstr "" -#: src/pages/part/PartDetail.tsx:269 +#: src/pages/part/PartDetail.tsx:270 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:274 -#: src/tables/bom/BomTable.tsx:264 +#: src/pages/part/PartDetail.tsx:275 +#: src/tables/bom/BomTable.tsx:266 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:279 +#: src/pages/part/PartDetail.tsx:280 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:284 -#: src/tables/bom/BomTable.tsx:259 +#: src/pages/part/PartDetail.tsx:285 +#: src/tables/bom/BomTable.tsx:261 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:289 +#: src/pages/part/PartDetail.tsx:290 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:294 +#: src/pages/part/PartDetail.tsx:295 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:299 +#: src/pages/part/PartDetail.tsx:300 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:307 +#: src/pages/part/PartDetail.tsx:308 +#: src/tables/ColumnRenderers.tsx:199 msgid "Creation Date" msgstr "" @@ -4014,7 +4102,7 @@ msgstr "" #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:312 +#: src/pages/part/PartDetail.tsx:313 msgid "Created By" msgstr "" @@ -4022,68 +4110,72 @@ msgstr "" #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:327 -msgid "Default Supplier" -msgstr "" - #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:338 +#: src/pages/part/PartDetail.tsx:328 +msgid "Default Supplier" +msgstr "" + +#: src/pages/part/PartDetail.tsx:339 #: src/tables/part/PartTable.tsx:151 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:373 -#: src/pages/stock/StockDetail.tsx:127 +#: src/pages/part/PartDetail.tsx:374 +#: src/pages/stock/StockDetail.tsx:130 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:408 +#: src/pages/part/PartDetail.tsx:409 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:479 +#: src/pages/part/PartDetail.tsx:480 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:505 +#: src/pages/part/PartDetail.tsx:506 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:512 -#: src/pages/stock/StockDetail.tsx:275 +#: src/pages/part/PartDetail.tsx:513 +#: src/pages/stock/StockDetail.tsx:283 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:532 +#: src/pages/part/PartDetail.tsx:519 +msgid "Bill of Materials" +msgstr "" + +#: src/pages/part/PartDetail.tsx:533 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:539 +#: src/pages/part/PartDetail.tsx:540 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:545 +#: src/pages/part/PartDetail.tsx:546 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:584 +#: src/pages/part/PartDetail.tsx:585 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:594 +#: src/pages/part/PartDetail.tsx:595 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:605 +#: src/pages/part/PartDetail.tsx:606 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:660 -#: src/pages/stock/StockDetail.tsx:148 +#: src/pages/part/PartDetail.tsx:661 +#: src/pages/stock/StockDetail.tsx:151 #: src/tables/build/BuildLineTable.tsx:36 #: src/tables/part/PartTable.tsx:107 #: src/tables/stock/StockItemTable.tsx:166 @@ -4091,49 +4183,51 @@ msgstr "" msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:666 +#: src/pages/part/PartDetail.tsx:667 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:672 -#: src/tables/bom/BomTable.tsx:274 +#: src/pages/part/PartDetail.tsx:673 +#: src/tables/bom/BomTable.tsx:276 #: src/tables/part/PartTable.tsx:76 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:678 -#: src/pages/stock/StockDetail.tsx:496 +#: src/pages/part/PartDetail.tsx:679 +#: src/pages/stock/StockDetail.tsx:509 #: src/tables/stock/StockItemTable.tsx:295 msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:697 +#: src/pages/part/PartDetail.tsx:698 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:704 +#: src/pages/part/PartDetail.tsx:705 #: src/tables/part/PartTable.tsx:266 #: src/tables/part/PartTable.tsx:279 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:716 +#: src/pages/part/PartDetail.tsx:717 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:725 +#: src/pages/part/PartDetail.tsx:726 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:763 +#: src/pages/part/PartDetail.tsx:764 +#: src/pages/stock/LocationDetail.tsx:301 +#: src/tables/stock/StockItemTable.tsx:409 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:771 +#: src/pages/part/PartDetail.tsx:772 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:782 +#: src/pages/part/PartDetail.tsx:783 msgid "Transfer part stock" msgstr "" @@ -4199,15 +4293,15 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151 #: src/pages/part/pricing/SupplierPricingPanel.tsx:83 -#: src/tables/bom/BomTable.tsx:149 +#: src/tables/bom/BomTable.tsx:151 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 msgid "Unit Price" msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:173 -#: src/tables/ColumnRenderers.tsx:278 -#: src/tables/bom/BomTable.tsx:158 +#: src/tables/ColumnRenderers.tsx:241 +#: src/tables/bom/BomTable.tsx:160 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 #: src/tables/sales/ReturnOrderTable.tsx:104 #: src/tables/sales/SalesOrderTable.tsx:134 @@ -4229,24 +4323,24 @@ msgid "Bar Chart" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:63 -#: src/pages/part/pricing/PriceBreakPanel.tsx:117 +#: src/pages/part/pricing/PriceBreakPanel.tsx:115 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:138 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:164 msgid "Add Price Break" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:76 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:149 msgid "Edit Price Break" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:86 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:157 msgid "Delete Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:102 -#: src/pages/part/pricing/PriceBreakPanel.tsx:193 +#: src/pages/part/pricing/PriceBreakPanel.tsx:100 +#: src/pages/part/pricing/PriceBreakPanel.tsx:191 msgid "Price Break" msgstr "" @@ -4275,7 +4369,7 @@ msgid "Overall Pricing" msgstr "" #: src/pages/part/pricing/PricingOverviewPanel.tsx:184 -#: src/pages/stock/StockDetail.tsx:121 +#: src/pages/stock/StockDetail.tsx:124 msgid "Last Updated" msgstr "" @@ -4309,9 +4403,8 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50 #: src/pages/part/pricing/SaleHistoryPanel.tsx:46 -#: src/tables/ColumnRenderers.tsx:217 -#: src/tables/plugin/PluginListTable.tsx:182 -#: src/tables/stock/StockItemTestResultTable.tsx:194 +#: src/tables/ColumnRenderers.tsx:180 +#: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" @@ -4338,89 +4431,89 @@ msgstr "" msgid "Variant Part" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:73 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:75 msgid "Edit Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:82 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:84 #: src/tables/purchasing/PurchaseOrderTable.tsx:128 #: src/tables/purchasing/PurchaseOrderTable.tsx:140 msgid "Add Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:107 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:109 msgid "Supplier Reference" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:137 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:252 -#: src/pages/sales/ReturnOrderDetail.tsx:104 -#: src/pages/sales/ReturnOrderDetail.tsx:220 -#: src/pages/sales/SalesOrderDetail.tsx:108 -#: src/pages/sales/SalesOrderDetail.tsx:248 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:139 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:254 +#: src/pages/sales/ReturnOrderDetail.tsx:106 +#: src/pages/sales/ReturnOrderDetail.tsx:222 +#: src/pages/sales/SalesOrderDetail.tsx:110 +#: src/pages/sales/SalesOrderDetail.tsx:250 msgid "Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:144 -#: src/pages/sales/ReturnOrderDetail.tsx:111 -#: src/pages/sales/SalesOrderDetail.tsx:115 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:146 +#: src/pages/sales/ReturnOrderDetail.tsx:113 +#: src/pages/sales/SalesOrderDetail.tsx:117 msgid "Completed Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:152 -#: src/pages/sales/ReturnOrderDetail.tsx:119 -#: src/pages/sales/SalesOrderDetail.tsx:123 -#: src/pages/sales/SalesOrderDetail.tsx:258 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:121 +#: src/pages/sales/SalesOrderDetail.tsx:125 +#: src/pages/sales/SalesOrderDetail.tsx:260 msgid "Completed Shipments" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:159 -#: src/pages/sales/ReturnOrderDetail.tsx:127 -#: src/pages/sales/SalesOrderDetail.tsx:131 -msgid "Order Currency" -msgstr "" - #: src/pages/purchasing/PurchaseOrderDetail.tsx:159 #: src/pages/sales/ReturnOrderDetail.tsx:126 #: src/pages/sales/SalesOrderDetail.tsx:130 #~ msgid "Order Currency," #~ msgstr "Order Currency," -#: src/pages/purchasing/PurchaseOrderDetail.tsx:166 -#: src/pages/sales/ReturnOrderDetail.tsx:134 -#: src/pages/sales/SalesOrderDetail.tsx:138 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:161 +#: src/pages/sales/ReturnOrderDetail.tsx:129 +#: src/pages/sales/SalesOrderDetail.tsx:133 +msgid "Order Currency" +msgstr "" + +#: src/pages/purchasing/PurchaseOrderDetail.tsx:168 +#: src/pages/sales/ReturnOrderDetail.tsx:136 +#: src/pages/sales/SalesOrderDetail.tsx:140 msgid "Total Cost" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:201 -#: src/pages/sales/ReturnOrderDetail.tsx:169 -#: src/pages/sales/SalesOrderDetail.tsx:173 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:203 +#: src/pages/sales/ReturnOrderDetail.tsx:171 +#: src/pages/sales/SalesOrderDetail.tsx:175 msgid "Created On" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:246 -#: src/pages/sales/ReturnOrderDetail.tsx:214 -#: src/pages/sales/SalesOrderDetail.tsx:242 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:248 +#: src/pages/sales/ReturnOrderDetail.tsx:216 +#: src/pages/sales/SalesOrderDetail.tsx:244 msgid "Order Details" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:316 -#: src/pages/sales/ReturnOrderDetail.tsx:290 -#: src/pages/sales/SalesOrderDetail.tsx:302 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:323 +#: src/pages/sales/ReturnOrderDetail.tsx:297 +#: src/pages/sales/SalesOrderDetail.tsx:309 msgid "Order Actions" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:75 -#: src/pages/sales/SalesOrderDetail.tsx:79 +#: src/pages/sales/ReturnOrderDetail.tsx:77 +#: src/pages/sales/SalesOrderDetail.tsx:81 #: src/tables/sales/SalesOrderTable.tsx:123 msgid "Customer Reference" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:267 +#: src/pages/sales/ReturnOrderDetail.tsx:269 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:276 +#: src/pages/sales/ReturnOrderDetail.tsx:278 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" @@ -4430,68 +4523,72 @@ msgstr "" msgid "Customers" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:219 +#: src/pages/sales/SalesOrderDetail.tsx:221 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:228 +#: src/pages/sales/SalesOrderDetail.tsx:230 #: src/tables/sales/SalesOrderTable.tsx:83 #: src/tables/sales/SalesOrderTable.tsx:95 msgid "Add Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:253 +#: src/pages/sales/SalesOrderDetail.tsx:255 msgid "Pending Shipments" msgstr "" -#: src/pages/stock/LocationDetail.tsx:105 +#: src/pages/stock/LocationDetail.tsx:107 msgid "Parent Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:123 +#: src/pages/stock/LocationDetail.tsx:125 msgid "Sublocations" msgstr "" -#: src/pages/stock/LocationDetail.tsx:135 +#: src/pages/stock/LocationDetail.tsx:137 msgid "External" msgstr "" -#: src/pages/stock/LocationDetail.tsx:144 +#: src/pages/stock/LocationDetail.tsx:143 +msgid "Location Type" +msgstr "" + +#: src/pages/stock/LocationDetail.tsx:154 msgid "Top level stock location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:155 +#: src/pages/stock/LocationDetail.tsx:165 msgid "Location Details" msgstr "" -#: src/pages/stock/LocationDetail.tsx:181 +#: src/pages/stock/LocationDetail.tsx:191 msgid "Default Parts" msgstr "" -#: src/pages/stock/LocationDetail.tsx:200 +#: src/pages/stock/LocationDetail.tsx:210 #: src/pages/stock/LocationDetail.tsx:328 -#: src/tables/stock/StockLocationTable.tsx:108 +#: src/tables/stock/StockLocationTable.tsx:100 msgid "Edit Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:221 +#: src/pages/stock/LocationDetail.tsx:231 #: src/pages/stock/LocationDetail.tsx:333 msgid "Delete Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:224 +#: src/pages/stock/LocationDetail.tsx:234 msgid "Items Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:225 +#: src/pages/stock/LocationDetail.tsx:235 msgid "Action for stock items in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:230 +#: src/pages/stock/LocationDetail.tsx:240 msgid "Child Locations Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:231 +#: src/pages/stock/LocationDetail.tsx:241 msgid "Action for child locations in this location" msgstr "" @@ -4499,11 +4596,11 @@ msgstr "" msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:100 +#: src/pages/stock/StockDetail.tsx:103 msgid "Base Part" msgstr "" -#: src/pages/stock/StockDetail.tsx:107 +#: src/pages/stock/StockDetail.tsx:110 msgid "Stock Status" msgstr "" @@ -4515,15 +4612,16 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:174 +#: src/pages/stock/StockDetail.tsx:177 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:190 +#: src/pages/stock/StockDetail.tsx:193 msgid "Consumed By" msgstr "" -#: src/pages/stock/StockDetail.tsx:199 +#: src/pages/stock/StockDetail.tsx:202 +#: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" msgstr "" @@ -4535,78 +4633,78 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:264 +#: src/pages/stock/StockDetail.tsx:267 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:270 +#: src/pages/stock/StockDetail.tsx:273 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:282 +#: src/pages/stock/StockDetail.tsx:290 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:296 +#: src/pages/stock/StockDetail.tsx:304 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:303 +#: src/pages/stock/StockDetail.tsx:311 msgid "Child Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:358 +#: src/pages/stock/StockDetail.tsx:366 msgid "Edit Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:385 +#: src/pages/stock/StockDetail.tsx:393 msgid "Delete Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:426 -msgid "Stock Operations" -msgstr "" - -#: src/pages/stock/StockDetail.tsx:431 -msgid "Count stock" -msgstr "" - #: src/pages/stock/StockDetail.tsx:433 #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:441 +#: src/pages/stock/StockDetail.tsx:440 +msgid "Stock Operations" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:445 +msgid "Count stock" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:455 #: src/tables/stock/StockItemTable.tsx:414 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:449 +#: src/pages/stock/StockDetail.tsx:463 #: src/tables/stock/StockItemTable.tsx:423 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:456 +#: src/pages/stock/StockDetail.tsx:470 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:457 +#: src/pages/stock/StockDetail.tsx:471 #: src/tables/stock/StockItemTable.tsx:443 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:469 +#: src/pages/stock/StockDetail.tsx:482 msgid "Stock Item Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:513 -msgid "Batch Code" -msgstr "" - -#: src/tables/ColumnRenderers.tsx:50 +#: src/tables/ColumnRenderers.tsx:42 msgid "No location set" msgstr "" -#: src/tables/ColumnRenderers.tsx:264 +#: src/tables/ColumnRenderers.tsx:207 +msgid "Shipment Date" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:227 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "" @@ -4616,20 +4714,32 @@ msgstr "" msgid "Select Columns" msgstr "" -#: src/tables/DownloadAction.tsx:11 +#: src/tables/DownloadAction.tsx:13 +#~ msgid "Excel" +#~ msgstr "Excel" + +#: src/tables/DownloadAction.tsx:21 +#~ msgid "Download selected data" +#~ msgstr "Download selected data" + +#: src/tables/DownloadAction.tsx:22 msgid "CSV" msgstr "" -#: src/tables/DownloadAction.tsx:12 +#: src/tables/DownloadAction.tsx:23 msgid "TSV" msgstr "" -#: src/tables/DownloadAction.tsx:13 -msgid "Excel" +#: src/tables/DownloadAction.tsx:24 +msgid "Excel (.xls)" msgstr "" -#: src/tables/DownloadAction.tsx:21 -msgid "Download selected data" +#: src/tables/DownloadAction.tsx:25 +msgid "Excel (.xlsx)" +msgstr "" + +#: src/tables/DownloadAction.tsx:39 +msgid "Download Data" msgstr "" #: src/tables/Filter.tsx:88 @@ -4663,102 +4773,102 @@ msgstr "" msgid "Remove filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:147 +#: src/tables/FilterSelectDrawer.tsx:136 msgid "Select filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:148 +#: src/tables/FilterSelectDrawer.tsx:137 msgid "Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:155 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:33 -#: src/tables/stock/StockItemTestResultTable.tsx:182 +#: src/tables/FilterSelectDrawer.tsx:144 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 +#: src/tables/stock/StockItemTestResultTable.tsx:180 msgid "Value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:156 +#: src/tables/FilterSelectDrawer.tsx:145 msgid "Select filter value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:196 +#: src/tables/FilterSelectDrawer.tsx:185 msgid "Table Filters" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:228 +#: src/tables/FilterSelectDrawer.tsx:217 msgid "Add Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:237 +#: src/tables/FilterSelectDrawer.tsx:226 msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:118 -#: src/tables/InvenTreeTable.tsx:384 -#: src/tables/InvenTreeTable.tsx:405 +#: src/tables/InvenTreeTable.tsx:119 +#: src/tables/InvenTreeTable.tsx:390 +#: src/tables/InvenTreeTable.tsx:411 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:416 +#: src/tables/InvenTreeTable.tsx:422 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:424 +#: src/tables/InvenTreeTable.tsx:430 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:427 +#: src/tables/InvenTreeTable.tsx:433 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:436 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:433 +#: src/tables/InvenTreeTable.tsx:439 msgid "Not found" msgstr "" -#: src/tables/InvenTreeTable.tsx:482 -#: src/tables/InvenTreeTable.tsx:604 +#: src/tables/InvenTreeTable.tsx:488 +#: src/tables/InvenTreeTable.tsx:611 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:486 +#: src/tables/InvenTreeTable.tsx:492 msgid "Are you sure you want to delete the selected records?" msgstr "" -#: src/tables/InvenTreeTable.tsx:488 +#: src/tables/InvenTreeTable.tsx:494 msgid "This action cannot be undone!" msgstr "" -#: src/tables/InvenTreeTable.tsx:516 +#: src/tables/InvenTreeTable.tsx:522 msgid "Deleted records" msgstr "" -#: src/tables/InvenTreeTable.tsx:517 +#: src/tables/InvenTreeTable.tsx:523 msgid "Records were deleted successfully" msgstr "" -#: src/tables/InvenTreeTable.tsx:526 +#: src/tables/InvenTreeTable.tsx:532 msgid "Failed to delete records" msgstr "" -#: src/tables/InvenTreeTable.tsx:585 -#: src/tables/InvenTreeTable.tsx:586 -msgid "Barcode actions" -msgstr "" - #: src/tables/InvenTreeTable.tsx:594 #: src/tables/InvenTreeTable.tsx:595 -msgid "Print actions" +#~ msgid "Print actions" +#~ msgstr "Print actions" + +#: src/tables/InvenTreeTable.tsx:601 +#: src/tables/InvenTreeTable.tsx:602 +msgid "Barcode actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:620 +#: src/tables/InvenTreeTable.tsx:630 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:638 +#: src/tables/InvenTreeTable.tsx:648 msgid "Table filters" msgstr "" @@ -4770,138 +4880,138 @@ msgstr "" msgid "Part Information" msgstr "" -#: src/tables/bom/BomTable.tsx:177 +#: src/tables/bom/BomTable.tsx:179 #: src/tables/part/PartTable.tsx:124 msgid "No stock" msgstr "" -#: src/tables/bom/BomTable.tsx:185 +#: src/tables/bom/BomTable.tsx:187 #: src/tables/build/BuildLineTable.tsx:104 #: src/tables/part/PartTable.tsx:115 msgid "External stock" msgstr "" -#: src/tables/bom/BomTable.tsx:193 +#: src/tables/bom/BomTable.tsx:195 #: src/tables/build/BuildLineTable.tsx:67 msgid "Includes substitute stock" msgstr "" -#: src/tables/bom/BomTable.tsx:202 +#: src/tables/bom/BomTable.tsx:204 #: src/tables/build/BuildLineTable.tsx:77 msgid "Includes variant stock" msgstr "" -#: src/tables/bom/BomTable.tsx:227 +#: src/tables/bom/BomTable.tsx:229 #: src/tables/part/PartTable.tsx:143 #: src/tables/stock/StockItemTable.tsx:205 msgid "Stock Information" msgstr "" -#: src/tables/bom/BomTable.tsx:239 +#: src/tables/bom/BomTable.tsx:241 #: src/tables/build/BuildLineTable.tsx:195 msgid "Consumable item" msgstr "" -#: src/tables/bom/BomTable.tsx:260 +#: src/tables/bom/BomTable.tsx:262 msgid "Show trackable items" msgstr "" -#: src/tables/bom/BomTable.tsx:265 +#: src/tables/bom/BomTable.tsx:267 msgid "Show asssmbled items" msgstr "" -#: src/tables/bom/BomTable.tsx:270 +#: src/tables/bom/BomTable.tsx:272 msgid "Show items with available stock" msgstr "" -#: src/tables/bom/BomTable.tsx:275 +#: src/tables/bom/BomTable.tsx:277 msgid "Show items on order" msgstr "" -#: src/tables/bom/BomTable.tsx:279 +#: src/tables/bom/BomTable.tsx:281 msgid "Validated" msgstr "" -#: src/tables/bom/BomTable.tsx:280 +#: src/tables/bom/BomTable.tsx:282 msgid "Show validated items" msgstr "" -#: src/tables/bom/BomTable.tsx:284 +#: src/tables/bom/BomTable.tsx:286 #: src/tables/bom/UsedInTable.tsx:63 msgid "Inherited" msgstr "" -#: src/tables/bom/BomTable.tsx:285 +#: src/tables/bom/BomTable.tsx:287 #: src/tables/bom/UsedInTable.tsx:64 msgid "Show inherited items" msgstr "" -#: src/tables/bom/BomTable.tsx:289 +#: src/tables/bom/BomTable.tsx:291 #: src/tables/bom/UsedInTable.tsx:68 #: src/tables/build/BuildLineTable.tsx:46 msgid "Optional" msgstr "" -#: src/tables/bom/BomTable.tsx:290 +#: src/tables/bom/BomTable.tsx:292 #: src/tables/bom/UsedInTable.tsx:69 msgid "Show optional items" msgstr "" -#: src/tables/bom/BomTable.tsx:294 +#: src/tables/bom/BomTable.tsx:296 #: src/tables/build/BuildLineTable.tsx:41 msgid "Consumable" msgstr "" -#: src/tables/bom/BomTable.tsx:295 +#: src/tables/bom/BomTable.tsx:297 msgid "Show consumable items" msgstr "" -#: src/tables/bom/BomTable.tsx:299 +#: src/tables/bom/BomTable.tsx:301 msgid "Has Pricing" msgstr "" -#: src/tables/bom/BomTable.tsx:300 -msgid "Show items with pricing" -msgstr "" - #: src/tables/bom/BomTable.tsx:301 #~ msgid "Create BOM Item" #~ msgstr "Create BOM Item" -#: src/tables/bom/BomTable.tsx:309 -#: src/tables/bom/BomTable.tsx:397 +#: src/tables/bom/BomTable.tsx:302 +msgid "Show items with pricing" +msgstr "" + +#: src/tables/bom/BomTable.tsx:311 +#: src/tables/bom/BomTable.tsx:399 msgid "Add BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:314 +#: src/tables/bom/BomTable.tsx:316 msgid "BOM item created" msgstr "" -#: src/tables/bom/BomTable.tsx:321 +#: src/tables/bom/BomTable.tsx:323 msgid "Edit BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:323 +#: src/tables/bom/BomTable.tsx:325 msgid "BOM item updated" msgstr "" -#: src/tables/bom/BomTable.tsx:330 -msgid "Delete BOM Item" -msgstr "" - -#: src/tables/bom/BomTable.tsx:331 -msgid "BOM item deleted" -msgstr "" - #: src/tables/bom/BomTable.tsx:331 #~ msgid "Edit Bom Item" #~ msgstr "Edit Bom Item" +#: src/tables/bom/BomTable.tsx:332 +msgid "Delete BOM Item" +msgstr "" + +#: src/tables/bom/BomTable.tsx:333 +msgid "BOM item deleted" +msgstr "" + #: src/tables/bom/BomTable.tsx:333 #~ msgid "Bom item updated" #~ msgstr "Bom item updated" -#: src/tables/bom/BomTable.tsx:341 +#: src/tables/bom/BomTable.tsx:343 msgid "View BOM" msgstr "" @@ -4917,11 +5027,11 @@ msgstr "" #~ msgid "Are you sure you want to remove this BOM item?" #~ msgstr "Are you sure you want to remove this BOM item?" -#: src/tables/bom/BomTable.tsx:352 +#: src/tables/bom/BomTable.tsx:354 msgid "Validate BOM line" msgstr "" -#: src/tables/bom/BomTable.tsx:360 +#: src/tables/bom/BomTable.tsx:362 msgid "Edit Substitutes" msgstr "" @@ -5038,11 +5148,11 @@ msgid "Filter by responsible owner" msgstr "" #: src/tables/build/BuildOutputTable.tsx:114 -#: src/tables/build/BuildOutputTable.tsx:150 +#: src/tables/build/BuildOutputTable.tsx:152 msgid "Add Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:155 +#: src/tables/build/BuildOutputTable.tsx:157 msgid "Complete selected outputs" msgstr "" @@ -5050,68 +5160,68 @@ msgstr "" #~ msgid "Delete build output" #~ msgstr "Delete build output" -#: src/tables/build/BuildOutputTable.tsx:165 +#: src/tables/build/BuildOutputTable.tsx:167 msgid "Scrap selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:175 +#: src/tables/build/BuildOutputTable.tsx:177 msgid "Cancel selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:191 +#: src/tables/build/BuildOutputTable.tsx:193 msgid "Allocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:192 +#: src/tables/build/BuildOutputTable.tsx:194 msgid "Allocate stock to build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:197 +#: src/tables/build/BuildOutputTable.tsx:199 msgid "Deallocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:198 +#: src/tables/build/BuildOutputTable.tsx:200 msgid "Deallocate stock from build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:203 +#: src/tables/build/BuildOutputTable.tsx:205 msgid "Complete" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:204 +#: src/tables/build/BuildOutputTable.tsx:206 msgid "Complete build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:213 +#: src/tables/build/BuildOutputTable.tsx:215 msgid "Scrap" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:214 +#: src/tables/build/BuildOutputTable.tsx:216 msgid "Scrap build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:224 +#: src/tables/build/BuildOutputTable.tsx:226 msgid "Cancel build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:251 +#: src/tables/build/BuildOutputTable.tsx:253 msgid "Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:264 +#: src/tables/build/BuildOutputTable.tsx:266 msgid "Batch" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:278 +#: src/tables/build/BuildOutputTable.tsx:280 msgid "Allocated Items" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:288 +#: src/tables/build/BuildOutputTable.tsx:290 msgid "Required Tests" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:317 -#: src/tables/stock/StockItemTestResultTable.tsx:146 +#: src/tables/build/BuildOutputTable.tsx:319 +#: src/tables/stock/StockItemTestResultTable.tsx:144 msgid "Test Results" msgstr "" @@ -5132,7 +5242,7 @@ msgstr "" msgid "Delete Address" msgstr "" -#: src/tables/company/AddressTable.tsx:145 +#: src/tables/company/AddressTable.tsx:144 msgid "Are you sure you want to delete this address?" msgstr "" @@ -5177,36 +5287,52 @@ msgstr "" msgid "Add contact" msgstr "" -#: src/tables/general/AttachmentTable.tsx:161 +#: src/tables/general/AttachmentTable.tsx:130 msgid "File uploaded" msgstr "" -#: src/tables/general/AttachmentTable.tsx:162 +#: src/tables/general/AttachmentTable.tsx:131 msgid "File {0} uploaded successfully" msgstr "" -#: src/tables/general/AttachmentTable.tsx:173 +#: src/tables/general/AttachmentTable.tsx:142 msgid "Upload Error" msgstr "" -#: src/tables/general/AttachmentTable.tsx:174 +#: src/tables/general/AttachmentTable.tsx:143 msgid "File could not be uploaded" msgstr "" #: src/tables/general/AttachmentTable.tsx:187 +msgid "Upload Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:197 +msgid "Edit Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:211 +msgid "Delete Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:221 msgid "Add attachment" msgstr "" -#: src/tables/general/AttachmentTable.tsx:207 +#: src/tables/general/AttachmentTable.tsx:232 msgid "Add external link" msgstr "" -#: src/tables/general/AttachmentTable.tsx:239 +#: src/tables/general/AttachmentTable.tsx:254 +#~ msgid "Upload attachment" +#~ msgstr "Upload attachment" + +#: src/tables/general/AttachmentTable.tsx:289 msgid "No attachments found" msgstr "" -#: src/tables/general/AttachmentTable.tsx:254 -msgid "Upload attachment" +#: src/tables/general/AttachmentTable.tsx:325 +msgid "Drag attachment file here to upload" msgstr "" #: src/tables/machine/MachineListTable.tsx:199 @@ -5332,8 +5458,8 @@ msgstr "" #: src/tables/machine/MachineTypeTable.tsx:135 #: src/tables/machine/MachineTypeTable.tsx:255 -#: src/tables/plugin/PluginListTable.tsx:215 -#: src/tables/plugin/PluginListTable.tsx:643 +#: src/tables/plugin/PluginListTable.tsx:180 +#: src/tables/plugin/PluginListTable.tsx:568 msgid "Builtin" msgstr "" @@ -5375,7 +5501,7 @@ msgid "Message" msgstr "" #: src/tables/part/ParametricPartTable.tsx:75 -#: src/tables/part/PartParameterTable.tsx:87 +#: src/tables/part/PartParameterTable.tsx:88 msgid "Internal Units" msgstr "" @@ -5388,29 +5514,29 @@ msgid "Add Part Parameter" msgstr "" #: src/tables/part/ParametricPartTable.tsx:147 -#: src/tables/part/PartParameterTable.tsx:128 -#: src/tables/part/PartParameterTable.tsx:150 +#: src/tables/part/PartParameterTable.tsx:121 +#: src/tables/part/PartParameterTable.tsx:144 msgid "Edit Part Parameter" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:64 +#: src/tables/part/PartCategoryTable.tsx:60 #: src/tables/part/PartTable.tsx:180 msgid "Include Subcategories" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:65 +#: src/tables/part/PartCategoryTable.tsx:61 msgid "Include subcategories in results" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:70 +#: src/tables/part/PartCategoryTable.tsx:66 msgid "Show structural categories" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:77 +#: src/tables/part/PartCategoryTable.tsx:73 msgid "New Part Category" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:106 +#: src/tables/part/PartCategoryTable.tsx:98 msgid "Add Part Category" msgstr "" @@ -5435,20 +5561,20 @@ msgstr "" #~ msgid "[{0}]" #~ msgstr "[{0}]" -#: src/tables/part/PartParameterTable.tsx:112 +#: src/tables/part/PartParameterTable.tsx:105 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:136 -#: src/tables/part/PartParameterTable.tsx:158 +#: src/tables/part/PartParameterTable.tsx:130 +#: src/tables/part/PartParameterTable.tsx:152 msgid "Delete Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:175 +#: src/tables/part/PartParameterTable.tsx:170 msgid "Add parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:196 +#: src/tables/part/PartParameterTable.tsx:191 #: src/tables/stock/StockItemTable.tsx:300 msgid "Include Variants" msgstr "" @@ -5482,15 +5608,15 @@ msgstr "" msgid "Add Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:97 +#: src/tables/part/PartParameterTemplateTable.tsx:100 msgid "Edit Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:105 +#: src/tables/part/PartParameterTemplateTable.tsx:111 msgid "Delete Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:135 +#: src/tables/part/PartParameterTemplateTable.tsx:141 msgid "Add parameter template" msgstr "" @@ -5588,7 +5714,7 @@ msgid "No Results" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:79 -#: src/tables/stock/StockItemTestResultTable.tsx:385 +#: src/tables/stock/StockItemTestResultTable.tsx:376 msgid "Required" msgstr "" @@ -5597,8 +5723,8 @@ msgid "Show required tests" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:84 -#: src/tables/settings/TemplateTable.tsx:213 -#: src/tables/settings/TemplateTable.tsx:275 +#: src/tables/settings/TemplateTable.tsx:160 +#: src/tables/settings/TemplateTable.tsx:270 msgid "Enabled" msgstr "" @@ -5639,26 +5765,30 @@ msgid "Show tests which have recorded results" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:126 -#: src/tables/part/PartTestTemplateTable.tsx:195 +#: src/tables/part/PartTestTemplateTable.tsx:201 msgid "Add Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:139 +#: src/tables/part/PartTestTemplateTable.tsx:142 msgid "Edit Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:147 +#: src/tables/part/PartTestTemplateTable.tsx:153 msgid "Delete Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:149 +#: src/tables/part/PartTestTemplateTable.tsx:155 msgid "This action cannot be reversed" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:151 +#: src/tables/part/PartTestTemplateTable.tsx:157 msgid "Any tests results associated with this template will be deleted" msgstr "" +#: src/tables/part/PartThumbTable.tsx:203 +msgid "Select" +msgstr "" + #: src/tables/part/PartVariantTable.tsx:16 msgid "Show active variants" msgstr "" @@ -5695,252 +5825,273 @@ msgstr "" msgid "Stage" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:113 -msgid "Plugin with id {id} not found" +#: src/tables/plugin/PluginListTable.tsx:95 +msgid "Plugin with key {pluginKey} not found" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:115 +#: src/tables/plugin/PluginListTable.tsx:97 msgid "An error occurred while fetching plugin details" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:134 -msgid "Plugin Actions" -msgstr "" +#: src/tables/plugin/PluginListTable.tsx:113 +#~ msgid "Plugin with id {id} not found" +#~ msgstr "Plugin with id {id} not found" -#: src/tables/plugin/PluginListTable.tsx:138 -#: src/tables/plugin/PluginListTable.tsx:141 -msgid "Edit plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:152 -#: src/tables/plugin/PluginListTable.tsx:153 -msgid "Reload" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:166 +#: src/tables/plugin/PluginListTable.tsx:122 msgid "Plugin information" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:177 +#: src/tables/plugin/PluginListTable.tsx:134 msgid "Author" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:198 +#: src/tables/plugin/PluginListTable.tsx:134 +#~ msgid "Plugin Actions" +#~ msgstr "Plugin Actions" + +#: src/tables/plugin/PluginListTable.tsx:138 +#: src/tables/plugin/PluginListTable.tsx:141 +#~ msgid "Edit plugin" +#~ msgstr "Edit plugin" + +#: src/tables/plugin/PluginListTable.tsx:152 +#: src/tables/plugin/PluginListTable.tsx:153 +#~ msgid "Reload" +#~ msgstr "Reload" + +#: src/tables/plugin/PluginListTable.tsx:154 +msgid "Plugin is not active" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:163 msgid "Package information" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:204 +#: src/tables/plugin/PluginListTable.tsx:169 msgid "Package Name" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:210 +#: src/tables/plugin/PluginListTable.tsx:175 msgid "Installation Path" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:220 +#: src/tables/plugin/PluginListTable.tsx:185 msgid "Package" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:231 +#: src/tables/plugin/PluginListTable.tsx:197 msgid "Plugin settings" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:248 +#: src/tables/plugin/PluginListTable.tsx:214 msgid "Plugin is active" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:254 +#: src/tables/plugin/PluginListTable.tsx:220 msgid "Plugin is inactive" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:261 +#: src/tables/plugin/PluginListTable.tsx:227 msgid "Plugin is not installed" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:287 +#: src/tables/plugin/PluginListTable.tsx:253 msgid "Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:312 +#: src/tables/plugin/PluginListTable.tsx:287 msgid "Description not available" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:338 +#: src/tables/plugin/PluginListTable.tsx:319 +msgid "Confirm plugin activation" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:320 +msgid "Confirm plugin deactivation" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:325 +msgid "The selected plugin will be activated" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:326 +msgid "The selected plugin will be deactivated" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:334 msgid "Activate Plugin" msgstr "" #: src/tables/plugin/PluginListTable.tsx:338 -msgid "Deactivate Plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:347 -msgid "Confirm plugin activation" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:348 -msgid "Confirm plugin deactivation" -msgstr "" +#~ msgid "Deactivate Plugin" +#~ msgstr "Deactivate Plugin" #: src/tables/plugin/PluginListTable.tsx:354 -msgid "The following plugin will be activated" -msgstr "" +#~ msgid "The following plugin will be activated" +#~ msgstr "The following plugin will be activated" #: src/tables/plugin/PluginListTable.tsx:355 -msgid "The following plugin will be deactivated" -msgstr "" +#~ msgid "The following plugin will be deactivated" +#~ msgstr "The following plugin will be deactivated" -#: src/tables/plugin/PluginListTable.tsx:366 -msgid "Confirm" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:376 -msgid "Activating plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:376 -msgid "Deactivating plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:392 -msgid "Plugin updated" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:394 -msgid "The plugin was activated" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:395 -msgid "The plugin was deactivated" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:403 -msgid "Error updating plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:423 +#: src/tables/plugin/PluginListTable.tsx:362 msgid "Deactivate" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:432 +#: src/tables/plugin/PluginListTable.tsx:366 +#~ msgid "Confirm" +#~ msgstr "Confirm" + +#: src/tables/plugin/PluginListTable.tsx:373 msgid "Activate" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:463 +#: src/tables/plugin/PluginListTable.tsx:376 +#~ msgid "Activating plugin" +#~ msgstr "Activating plugin" + +#: src/tables/plugin/PluginListTable.tsx:376 +#~ msgid "Deactivating plugin" +#~ msgstr "Deactivating plugin" + +#: src/tables/plugin/PluginListTable.tsx:392 +#~ msgid "Plugin updated" +#~ msgstr "Plugin updated" + +#: src/tables/plugin/PluginListTable.tsx:394 +#~ msgid "The plugin was activated" +#~ msgstr "The plugin was activated" + +#: src/tables/plugin/PluginListTable.tsx:395 +#~ msgid "The plugin was deactivated" +#~ msgstr "The plugin was deactivated" + +#: src/tables/plugin/PluginListTable.tsx:403 +#~ msgid "Error updating plugin" +#~ msgstr "Error updating plugin" + +#: src/tables/plugin/PluginListTable.tsx:406 msgid "Uninstall" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:495 +#: src/tables/plugin/PluginListTable.tsx:438 msgid "Install plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:508 +#: src/tables/plugin/PluginListTable.tsx:451 msgid "Install" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:512 +#: src/tables/plugin/PluginListTable.tsx:452 msgid "Plugin installed successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:525 +#: src/tables/plugin/PluginListTable.tsx:457 msgid "Uninstall Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:537 +#: src/tables/plugin/PluginListTable.tsx:469 msgid "Confirm plugin uninstall" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:540 +#: src/tables/plugin/PluginListTable.tsx:472 msgid "The selected plugin will be uninstalled." msgstr "" -#: src/tables/plugin/PluginListTable.tsx:541 +#: src/tables/plugin/PluginListTable.tsx:473 msgid "This action cannot be undone." msgstr "" -#: src/tables/plugin/PluginListTable.tsx:547 +#: src/tables/plugin/PluginListTable.tsx:477 msgid "Plugin uninstalled successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:560 +#: src/tables/plugin/PluginListTable.tsx:484 msgid "Delete Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:562 +#: src/tables/plugin/PluginListTable.tsx:485 msgid "Deleting this plugin configuration will remove all associated settings and data. Are you sure you want to delete this plugin?" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:574 +#: src/tables/plugin/PluginListTable.tsx:498 msgid "Plugins reloaded" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:575 +#: src/tables/plugin/PluginListTable.tsx:499 msgid "Plugins were reloaded successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:591 +#: src/tables/plugin/PluginListTable.tsx:515 msgid "Reload Plugins" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:600 +#: src/tables/plugin/PluginListTable.tsx:524 msgid "Install Plugin" msgstr "" +#: src/tables/plugin/PluginListTable.tsx:544 +msgid "Plugin Detail" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:573 +msgid "Sample" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:578 +#: src/tables/stock/StockItemTable.tsx:305 +msgid "Installed" +msgstr "" + #: src/tables/plugin/PluginListTable.tsx:615 #~ msgid "Plugin detail" #~ msgstr "Plugin detail" -#: src/tables/plugin/PluginListTable.tsx:619 -msgid "Plugin Detail" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:648 -msgid "Sample" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:653 -#: src/tables/stock/StockItemTable.tsx:305 -msgid "Installed" -msgstr "" - -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:57 -msgid "Edit Parameter" +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:59 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:108 +msgid "Add Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:60 -msgid "Parameter updated" -msgstr "" +#~ msgid "Parameter updated" +#~ msgstr "Parameter updated" -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:71 -msgid "Delete Parameter" +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:70 +msgid "Edit Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:73 -msgid "Parameter deleted" -msgstr "" +#~ msgid "Parameter deleted" +#~ msgstr "Parameter deleted" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:74 -msgid "Are you sure you want to delete this parameter?" +#~ msgid "Are you sure you want to delete this parameter?" +#~ msgstr "Are you sure you want to delete this parameter?" + +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:78 +msgid "Delete Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartTable.tsx:63 #~ msgid "Create Manufacturer Part" #~ msgstr "Create Manufacturer Part" -#: src/tables/purchasing/ManufacturerPartTable.tsx:100 -msgid "Manufacturer part updated" -msgstr "" - -#: src/tables/purchasing/ManufacturerPartTable.tsx:111 +#: src/tables/purchasing/ManufacturerPartTable.tsx:92 msgid "Delete Manufacturer Part" msgstr "" +#: src/tables/purchasing/ManufacturerPartTable.tsx:100 +#~ msgid "Manufacturer part updated" +#~ msgstr "Manufacturer part updated" + #: src/tables/purchasing/ManufacturerPartTable.tsx:112 -msgid "Manufacturer part deleted" -msgstr "" +#~ msgid "Manufacturer part deleted" +#~ msgstr "Manufacturer part deleted" #: src/tables/purchasing/ManufacturerPartTable.tsx:114 -msgid "Are you sure you want to remove this manufacturer part?" -msgstr "" +#~ msgid "Are you sure you want to remove this manufacturer part?" +#~ msgstr "Are you sure you want to remove this manufacturer part?" #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:86 msgid "Part Description" @@ -6087,18 +6238,22 @@ msgid "Error Information" msgstr "" #: src/tables/settings/ErrorTable.tsx:51 -msgid "Delete error report" +msgid "Delete Error Report" msgstr "" +#: src/tables/settings/ErrorTable.tsx:51 +#~ msgid "Delete error report" +#~ msgstr "Delete error report" + #: src/tables/settings/ErrorTable.tsx:53 -msgid "Error report deleted" -msgstr "" - -#: src/tables/settings/ErrorTable.tsx:54 msgid "Are you sure you want to delete this error report?" msgstr "" -#: src/tables/settings/ErrorTable.tsx:67 +#: src/tables/settings/ErrorTable.tsx:55 +msgid "Error report deleted" +msgstr "" + +#: src/tables/settings/ErrorTable.tsx:77 #: src/tables/settings/FailedTasksTable.tsx:57 msgid "Error Details" msgstr "" @@ -6115,7 +6270,7 @@ msgid "Task ID" msgstr "" #: src/tables/settings/FailedTasksTable.tsx:34 -#: src/tables/stock/StockItemTestResultTable.tsx:214 +#: src/tables/stock/StockItemTestResultTable.tsx:205 msgid "Started" msgstr "" @@ -6188,30 +6343,71 @@ msgstr "" msgid "Next Run" msgstr "" -#: src/tables/settings/TemplateTable.tsx:120 -msgid "{templateTypeTranslation} with id {id} not found" +#: src/tables/settings/TemplateTable.tsx:82 +msgid "Template not found" msgstr "" +#: src/tables/settings/TemplateTable.tsx:84 +msgid "An error occurred while fetching template details" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:120 +#~ msgid "{templateTypeTranslation} with id {id} not found" +#~ msgstr "{templateTypeTranslation} with id {id} not found" + #: src/tables/settings/TemplateTable.tsx:124 -msgid "An error occurred while fetching {templateTypeTranslation} details" -msgstr "" +#~ msgid "An error occurred while fetching {templateTypeTranslation} details" +#~ msgstr "An error occurred while fetching {templateTypeTranslation} details" #: src/tables/settings/TemplateTable.tsx:146 -msgid "actions" +#~ msgid "actions" +#~ msgstr "actions" + +#: src/tables/settings/TemplateTable.tsx:170 +msgid "Modify" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:171 +msgid "Modify template file" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:222 +#: src/tables/settings/TemplateTable.tsx:289 +msgid "Edit Template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:230 +msgid "Delete template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:236 +msgid "Add Template" msgstr "" #: src/tables/settings/TemplateTable.tsx:243 -msgid "Add new" -msgstr "" +#~ msgid "Add new" +#~ msgstr "Add new" #: src/tables/settings/TemplateTable.tsx:243 #~ msgid "Create new" #~ msgstr "Create new" -#: src/tables/settings/TemplateTable.tsx:276 +#: src/tables/settings/TemplateTable.tsx:249 +msgid "Add template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:271 msgid "Filter by enabled status" msgstr "" +#: src/tables/settings/TemplateTable.tsx:276 +msgid "Model Type" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:277 +msgid "Filter by target model type" +msgstr "" + #: src/tables/settings/UserTable.tsx:79 msgid "User with id {id} not found" msgstr "" @@ -6277,6 +6473,23 @@ msgstr "" msgid "Edit user" msgstr "" +#: src/tables/stock/LocationTypesTable.tsx:36 +#: src/tables/stock/LocationTypesTable.tsx:105 +msgid "Add Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:44 +msgid "Edit Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:52 +msgid "Delete Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:69 +msgid "Icon" +msgstr "" + #: src/tables/stock/StockItemTable.tsx:90 msgid "This stock item is in production" msgstr "" @@ -6338,7 +6551,7 @@ msgid "Show items which are available" msgstr "" #: src/tables/stock/StockItemTable.tsx:280 -#: src/tables/stock/StockLocationTable.tsx:37 +#: src/tables/stock/StockLocationTable.tsx:33 msgid "Include Sublocations" msgstr "" @@ -6467,123 +6680,135 @@ msgstr "" msgid "Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:153 +#: src/tables/stock/StockItemTestResultTable.tsx:151 msgid "Test result for installed stock item" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:164 +#: src/tables/stock/StockItemTestResultTable.tsx:162 msgid "Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:170 +#: src/tables/stock/StockItemTestResultTable.tsx:168 msgid "No Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:186 +#: src/tables/stock/StockItemTestResultTable.tsx:184 msgid "Attachment" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:209 +#: src/tables/stock/StockItemTestResultTable.tsx:200 msgid "Test station" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:229 +#: src/tables/stock/StockItemTestResultTable.tsx:220 msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:277 -#: src/tables/stock/StockItemTestResultTable.tsx:349 -#: src/tables/stock/StockItemTestResultTable.tsx:404 +#: src/tables/stock/StockItemTestResultTable.tsx:268 +#: src/tables/stock/StockItemTestResultTable.tsx:340 +#: src/tables/stock/StockItemTestResultTable.tsx:395 msgid "Add Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:279 +#: src/tables/stock/StockItemTestResultTable.tsx:270 msgid "Test result added" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:288 -#: src/tables/stock/StockItemTestResultTable.tsx:359 +#: src/tables/stock/StockItemTestResultTable.tsx:279 +#: src/tables/stock/StockItemTestResultTable.tsx:350 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:290 +#: src/tables/stock/StockItemTestResultTable.tsx:281 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:296 -#: src/tables/stock/StockItemTestResultTable.tsx:368 +#: src/tables/stock/StockItemTestResultTable.tsx:287 +#: src/tables/stock/StockItemTestResultTable.tsx:359 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:298 +#: src/tables/stock/StockItemTestResultTable.tsx:289 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:312 +#: src/tables/stock/StockItemTestResultTable.tsx:303 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:313 +#: src/tables/stock/StockItemTestResultTable.tsx:304 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:320 +#: src/tables/stock/StockItemTestResultTable.tsx:311 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:337 +#: src/tables/stock/StockItemTestResultTable.tsx:328 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:386 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:390 +#: src/tables/stock/StockItemTestResultTable.tsx:381 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:391 +#: src/tables/stock/StockItemTestResultTable.tsx:382 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:395 +#: src/tables/stock/StockItemTestResultTable.tsx:386 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:396 +#: src/tables/stock/StockItemTestResultTable.tsx:387 msgid "Show only passed tests" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:38 +#: src/tables/stock/StockLocationTable.tsx:34 msgid "Include sublocations in results" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:42 +#: src/tables/stock/StockLocationTable.tsx:38 msgid "structural" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:43 +#: src/tables/stock/StockLocationTable.tsx:39 msgid "Show structural locations" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:47 +#: src/tables/stock/StockLocationTable.tsx:43 msgid "external" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:48 +#: src/tables/stock/StockLocationTable.tsx:44 msgid "Show external locations" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:52 +#: src/tables/stock/StockLocationTable.tsx:48 msgid "Has location type" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:89 -#: src/tables/stock/StockLocationTable.tsx:118 +#: src/tables/stock/StockLocationTable.tsx:85 +#: src/tables/stock/StockLocationTable.tsx:110 msgid "Add Stock Location" msgstr "" +#: src/tables/stock/StockTrackingTable.tsx:64 +msgid "Added" +msgstr "" + +#: src/tables/stock/StockTrackingTable.tsx:69 +msgid "Removed" +msgstr "" + +#: src/tables/stock/StockTrackingTable.tsx:198 +msgid "No user information" +msgstr "" + #: src/views/MobileAppView.tsx:22 msgid "Mobile viewport detected" msgstr "" diff --git a/src/frontend/src/locales/it/messages.po b/src/frontend/src/locales/it/messages.po index 462e42d2f7..e33ed97d62 100644 --- a/src/frontend/src/locales/it/messages.po +++ b/src/frontend/src/locales/it/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: it\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-05-13 02:48\n" +"PO-Revision-Date: 2024-05-23 11:38\n" "Last-Translator: \n" "Language-Team: Italian\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -30,10 +30,67 @@ msgstr "" msgid "Title" msgstr "" +#: src/components/buttons/AdminButton.tsx:83 +msgid "Open in admin interface" +msgstr "" + #: src/components/buttons/CopyButton.tsx:18 msgid "Copy to clipboard" msgstr "" +#: src/components/buttons/PrintingActions.tsx:95 +msgid "Print Label" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:101 +msgid "Label printing completed successfully" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:106 +#: src/components/buttons/PrintingActions.tsx:143 +#: src/components/forms/ApiForm.tsx:504 +#: src/components/forms/fields/ApiFormField.tsx:295 +#: src/components/modals/LicenseModal.tsx:75 +#: src/components/nav/SearchDrawer.tsx:413 +#: src/components/widgets/MarkdownEditor.tsx:107 +#: src/components/widgets/MarkdownEditor.tsx:153 +#: src/pages/ErrorPage.tsx:12 +#: src/pages/ErrorPage.tsx:25 +#: src/pages/part/PartPricingPanel.tsx:71 +#: src/tables/InvenTreeTable.tsx:451 +#: src/tables/InvenTreeTable.tsx:531 +#: src/tables/stock/StockItemTestResultTable.tsx:310 +msgid "Error" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:107 +msgid "The label could not be generated" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:122 +msgid "Print Report" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:138 +msgid "Report printing completed successfully" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:144 +msgid "The report could not be generated" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:171 +msgid "Printing Actions" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:176 +msgid "Print Labels" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:182 +msgid "Print Reports" +msgstr "" + #: src/components/buttons/ScanButton.tsx:15 msgid "Scan QR code" msgstr "" @@ -64,15 +121,15 @@ msgstr "" msgid "No" msgstr "" -#: src/components/details/Details.tsx:302 +#: src/components/details/Details.tsx:303 msgid "No name defined" msgstr "" -#: src/components/details/Details.tsx:339 +#: src/components/details/Details.tsx:340 msgid "Copied" msgstr "" -#: src/components/details/Details.tsx:339 +#: src/components/details/Details.tsx:340 msgid "Copy" msgstr "" @@ -85,24 +142,23 @@ msgid "Remove the associated image from this item?" msgstr "" #: src/components/details/DetailsImage.tsx:71 -#: src/forms/StockForms.tsx:442 +#: src/forms/StockForms.tsx:483 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:448 +#: src/pages/stock/StockDetail.tsx:462 msgid "Remove" msgstr "" #: src/components/details/DetailsImage.tsx:71 -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:163 -#: src/components/items/ActionDropdown.tsx:222 -#: src/components/items/ActionDropdown.tsx:223 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 +#: src/components/items/ActionDropdown.tsx:229 +#: src/components/items/ActionDropdown.tsx:230 #: src/contexts/ThemeContext.tsx:43 #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:40 -#: src/tables/FilterSelectDrawer.tsx:218 -#: src/tables/InvenTreeTable.tsx:493 -#: src/tables/build/BuildOutputTable.tsx:223 -#: src/tables/plugin/PluginListTable.tsx:365 +#: src/tables/FilterSelectDrawer.tsx:207 +#: src/tables/InvenTreeTable.tsx:499 +#: src/tables/build/BuildOutputTable.tsx:225 msgid "Cancel" msgstr "" @@ -119,7 +175,7 @@ msgid "Clear" msgstr "" #: src/components/details/DetailsImage.tsx:227 -#: src/components/forms/ApiForm.tsx:554 +#: src/components/forms/ApiForm.tsx:571 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:56 msgid "Submit" @@ -150,9 +206,10 @@ msgid "Part is not active" msgstr "" #: src/components/details/PartIcons.tsx:34 -#: src/pages/company/CompanyDetail.tsx:308 -#: src/pages/company/SupplierPartDetail.tsx:304 -#: src/pages/part/PartDetail.tsx:684 +#: src/components/render/Plugin.tsx:17 +#: src/pages/company/CompanyDetail.tsx:310 +#: src/pages/company/SupplierPartDetail.tsx:305 +#: src/pages/part/PartDetail.tsx:685 msgid "Inactive" msgstr "" @@ -174,131 +231,132 @@ msgstr "" #: src/components/details/PartIcons.tsx:65 msgid "Part can be purchased from external suppliers" -msgstr "" +msgstr "L'articolo può essere acquistato da fornitori esterni" #: src/components/details/PartIcons.tsx:71 msgid "Part can be sold to customers" -msgstr "" +msgstr "L'articolo può essere venduto ai clienti" #: src/components/details/PartIcons.tsx:76 msgid "Part is virtual (not a physical part)" -msgstr "" +msgstr "L'Articolo è virtuale (non è un articolo fisico)" #: src/components/details/PartIcons.tsx:82 #: src/tables/part/PartTable.tsx:234 #: src/tables/part/PartTable.tsx:238 #: src/tables/part/PartVariantTable.tsx:25 msgid "Virtual" -msgstr "" +msgstr "Virtuale" #: src/components/editors/TemplateEditor/CodeEditor/index.tsx:9 msgid "Code" -msgstr "" +msgstr "Codice" #: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:44 -msgid "Failed to parse error response from server." -msgstr "" +#~ msgid "Failed to parse error response from server." +#~ msgstr "Failed to parse error response from server." -#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:82 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:81 msgid "Preview not available, click \"Reload Preview\"." -msgstr "" +msgstr "Anteprima non disponibile, clicca su \"Ricarica anteprima\"." #: src/components/editors/TemplateEditor/PdfPreview/index.tsx:9 msgid "PDF Preview" -msgstr "" +msgstr "Anteprima PDF" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:113 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:104 msgid "Error loading template" -msgstr "" +msgstr "Errore durante il caricamento del modello" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:125 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:116 msgid "Error saving template" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 -msgid "Save & Reload preview?" +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:146 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:270 +msgid "Save & Reload Preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:156 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 msgid "Are you sure you want to Save & Reload the preview?" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 +#~ msgid "Save & Reload preview?" +#~ msgstr "Save & Reload preview?" + +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:153 msgid "To render the preview the current template needs to be replaced on the server with your modifications which may break the label if it is under active use. Do you want to proceed?" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:162 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:157 msgid "Save & Reload" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:191 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:189 msgid "Preview updated" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:192 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:190 msgid "The preview has been updated successfully." msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:255 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:262 msgid "Reload preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:256 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:263 msgid "Use the currently stored template from the server" msgstr "" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:263 -msgid "Save & Reload preview" -msgstr "" +#~ msgid "Save & Reload preview" +#~ msgstr "Save & Reload preview" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:264 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:271 msgid "Save the current template and reload the preview" msgstr "" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:322 -#: src/tables/part/PartThumbTable.tsx:203 -msgid "Select" +#~ msgid "to preview" +#~ msgstr "to preview" + +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:329 +msgid "Select instance to preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:322 -msgid "to preview" -msgstr "" - -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:366 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:373 msgid "Error rendering template" msgstr "" -#: src/components/forms/ApiForm.tsx:143 +#: src/components/forms/ApiForm.tsx:148 #: src/functions/forms.tsx:259 msgid "Form Error" msgstr "" -#: src/components/forms/ApiForm.tsx:411 +#: src/components/forms/ApiForm.tsx:428 #: src/components/widgets/MarkdownEditor.tsx:145 msgid "Success" msgstr "" #: src/components/forms/ApiForm.tsx:487 -msgid "Form Errors Exist" -msgstr "" +#~ msgid "Form Errors Exist" +#~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:592 -#: src/tables/plugin/PluginListTable.tsx:445 +#: src/components/forms/ApiForm.tsx:609 +#: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "" -#: src/components/forms/ApiForm.tsx:612 -#: src/components/items/ActionDropdown.tsx:203 +#: src/components/forms/ApiForm.tsx:629 +#: src/components/items/ActionDropdown.tsx:210 #: src/functions/forms.tsx:299 #: src/hooks/UseForm.tsx:122 #: src/pages/Index/Scan.tsx:343 #: src/pages/Notifications.tsx:123 -#: src/tables/InvenTreeTable.tsx:492 +#: src/tables/InvenTreeTable.tsx:498 #: src/tables/RowActions.tsx:71 -#: src/tables/plugin/PluginListTable.tsx:477 -#: src/tables/settings/TemplateTable.tsx:105 -#: src/tables/settings/TemplateTable.tsx:154 -#: src/tables/settings/TemplateTable.tsx:236 +#: src/tables/plugin/PluginListTable.tsx:420 msgid "Delete" msgstr "" @@ -468,18 +526,19 @@ msgstr "" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 -#: src/pages/part/CategoryDetail.tsx:77 -#: src/pages/part/PartDetail.tsx:125 -#: src/pages/stock/LocationDetail.tsx:83 +#: src/pages/part/CategoryDetail.tsx:78 +#: src/pages/part/PartDetail.tsx:126 +#: src/pages/stock/LocationDetail.tsx:85 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 #: src/tables/machine/MachineTypeTable.tsx:216 #: src/tables/machine/MachineTypeTable.tsx:319 #: src/tables/plugin/PluginErrorTable.tsx:33 -#: src/tables/plugin/PluginListTable.tsx:169 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:27 +#: src/tables/plugin/PluginListTable.tsx:126 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:32 #: src/tables/settings/GroupTable.tsx:103 #: src/tables/settings/PendingTasksTable.tsx:26 +#: src/tables/stock/LocationTypesTable.tsx:60 msgid "Name" msgstr "" @@ -520,35 +579,20 @@ msgstr "" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/ApiFormField.tsx:276 -#: src/components/modals/LicenseModal.tsx:75 -#: src/components/nav/SearchDrawer.tsx:413 -#: src/components/widgets/MarkdownEditor.tsx:107 -#: src/components/widgets/MarkdownEditor.tsx:153 -#: src/pages/ErrorPage.tsx:12 -#: src/pages/ErrorPage.tsx:25 -#: src/pages/part/PartPricingPanel.tsx:71 -#: src/tables/InvenTreeTable.tsx:445 -#: src/tables/InvenTreeTable.tsx:525 -#: src/tables/plugin/PluginListTable.tsx:402 -#: src/tables/stock/StockItemTestResultTable.tsx:319 -msgid "Error" -msgstr "" - -#: src/components/forms/fields/RelatedModelField.tsx:305 +#: src/components/forms/fields/RelatedModelField.tsx:315 #: src/pages/Index/Settings/UserSettings.tsx:64 #: src/tables/Search.tsx:23 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:306 +#: src/components/forms/fields/RelatedModelField.tsx:316 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:120 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:308 +#: src/components/forms/fields/RelatedModelField.tsx:318 msgid "No results found" msgstr "" @@ -569,54 +613,51 @@ msgstr "" msgid "Thumbnail" msgstr "" -#: src/components/items/ActionDropdown.tsx:112 -#: src/pages/build/BuildDetail.tsx:354 +#: src/components/items/ActionDropdown.tsx:119 +#: src/pages/build/BuildDetail.tsx:360 msgid "Barcode Actions" msgstr "" -#: src/components/items/ActionDropdown.tsx:129 +#: src/components/items/ActionDropdown.tsx:136 msgid "View" msgstr "" -#: src/components/items/ActionDropdown.tsx:130 +#: src/components/items/ActionDropdown.tsx:137 msgid "View barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:146 +#: src/components/items/ActionDropdown.tsx:153 msgid "Link Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:147 +#: src/components/items/ActionDropdown.tsx:154 msgid "Link custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:163 -#: src/forms/PurchaseOrderForms.tsx:375 +#: src/components/items/ActionDropdown.tsx:170 +#: src/forms/PurchaseOrderForms.tsx:389 msgid "Unlink Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:164 +#: src/components/items/ActionDropdown.tsx:171 msgid "Unlink custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:182 +#: src/components/items/ActionDropdown.tsx:189 #: src/tables/RowActions.tsx:51 -#: src/tables/settings/TemplateTable.tsx:87 -#: src/tables/settings/TemplateTable.tsx:150 -#: src/tables/settings/TemplateTable.tsx:287 msgid "Edit" msgstr "" -#: src/components/items/ActionDropdown.tsx:204 +#: src/components/items/ActionDropdown.tsx:211 msgid "Delete item" msgstr "" -#: src/components/items/ActionDropdown.tsx:241 +#: src/components/items/ActionDropdown.tsx:248 #: src/tables/RowActions.tsx:31 msgid "Duplicate" msgstr "" -#: src/components/items/ActionDropdown.tsx:242 +#: src/components/items/ActionDropdown.tsx:249 msgid "Duplicate item" msgstr "" @@ -625,7 +666,7 @@ msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:437 +#: src/tables/InvenTreeTable.tsx:443 msgid "Unknown error" msgstr "" @@ -785,27 +826,27 @@ msgstr "" #: src/components/modals/QrCodeModal.tsx:154 #: src/defaults/menuItems.tsx:21 -#: src/pages/Index/Scan.tsx:747 +#: src/pages/Index/Scan.tsx:746 msgid "Scanning" msgstr "" #: src/components/modals/QrCodeModal.tsx:154 -#: src/pages/Index/Scan.tsx:747 +#: src/pages/Index/Scan.tsx:746 msgid "Not scanning" msgstr "" #: src/components/modals/QrCodeModal.tsx:159 -#: src/pages/Index/Scan.tsx:753 +#: src/pages/Index/Scan.tsx:752 msgid "Select Camera" msgstr "" #: src/components/modals/QrCodeModal.tsx:169 -#: src/pages/Index/Scan.tsx:738 +#: src/pages/Index/Scan.tsx:737 msgid "Start scanning" msgstr "" #: src/components/modals/QrCodeModal.tsx:176 -#: src/pages/Index/Scan.tsx:730 +#: src/pages/Index/Scan.tsx:729 msgid "Stop scanning" msgstr "" @@ -891,8 +932,8 @@ msgid "Email settings not configured" msgstr "" #: src/components/modals/ServerInfoModal.tsx:121 -#: src/tables/plugin/PluginListTable.tsx:187 -#: src/tables/plugin/PluginListTable.tsx:319 +#: src/tables/plugin/PluginListTable.tsx:144 +#: src/tables/plugin/PluginListTable.tsx:294 msgid "Version" msgstr "" @@ -926,13 +967,13 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:293 +#: src/pages/Index/Settings/SystemSettings.tsx:294 msgid "System Settings" msgstr "" #: src/components/nav/MainMenu.tsx:67 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:172 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 msgid "Admin Center" msgstr "" @@ -975,7 +1016,7 @@ msgid "Pages" msgstr "" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:133 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:153 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "" @@ -1013,9 +1054,9 @@ msgid "Mark as read" msgstr "" #: src/components/nav/PartCategoryTree.tsx:158 -#: src/components/render/ModelType.tsx:60 +#: src/components/render/ModelType.tsx:64 #: src/pages/Index/Settings/SystemSettings.tsx:162 -#: src/pages/part/CategoryDetail.tsx:248 +#: src/pages/part/CategoryDetail.tsx:249 msgid "Part Categories" msgstr "" @@ -1052,142 +1093,147 @@ msgid "No results available for search query" msgstr "" #: src/components/nav/StockLocationTree.tsx:93 -#: src/components/render/ModelType.tsx:76 -#: src/pages/stock/LocationDetail.tsx:175 +#: src/components/render/ModelType.tsx:82 +#: src/pages/stock/LocationDetail.tsx:185 msgid "Stock Locations" msgstr "" -#: src/components/render/Instance.tsx:137 +#: src/components/render/Instance.tsx:166 msgid "Unknown model: {model}" msgstr "" -#: src/components/render/ModelType.tsx:21 -#: src/forms/BuildForms.tsx:184 -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49 +#: src/components/render/ModelType.tsx:22 +#: src/forms/BuildForms.tsx:201 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:83 #: src/pages/part/PartDetail.tsx:828 #: src/tables/part/RelatedPartTable.tsx:45 +#: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" msgstr "" -#: src/components/render/ModelType.tsx:22 +#: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 #: src/pages/Index/Settings/SystemSettings.tsx:167 -#: src/pages/part/CategoryDetail.tsx:109 -#: src/pages/part/CategoryDetail.tsx:234 -#: src/pages/part/CategoryDetail.tsx:264 -#: src/pages/part/PartDetail.tsx:638 +#: src/pages/part/CategoryDetail.tsx:110 +#: src/pages/part/CategoryDetail.tsx:235 +#: src/pages/part/CategoryDetail.tsx:265 +#: src/pages/part/PartDetail.tsx:639 msgid "Parts" msgstr "" -#: src/components/render/ModelType.tsx:29 +#: src/components/render/ModelType.tsx:31 msgid "Part Parameter Template" msgstr "" -#: src/components/render/ModelType.tsx:30 +#: src/components/render/ModelType.tsx:32 msgid "Part Parameter Templates" msgstr "" -#: src/components/render/ModelType.tsx:36 +#: src/components/render/ModelType.tsx:38 msgid "Part Test Template" msgstr "" -#: src/components/render/ModelType.tsx:37 +#: src/components/render/ModelType.tsx:39 msgid "Part Test Templates" msgstr "" -#: src/components/render/ModelType.tsx:43 -#: src/pages/company/SupplierPartDetail.tsx:189 -#: src/pages/company/SupplierPartDetail.tsx:317 -#: src/pages/stock/StockDetail.tsx:159 +#: src/components/render/ModelType.tsx:45 +#: src/pages/company/SupplierPartDetail.tsx:190 +#: src/pages/company/SupplierPartDetail.tsx:318 +#: src/pages/stock/StockDetail.tsx:162 #: src/tables/purchasing/SupplierPartTable.tsx:68 msgid "Supplier Part" msgstr "" -#: src/components/render/ModelType.tsx:44 +#: src/components/render/ModelType.tsx:46 msgid "Supplier Parts" msgstr "" -#: src/components/render/ModelType.tsx:51 -#: src/pages/company/ManufacturerPartDetail.tsx:124 +#: src/components/render/ModelType.tsx:54 +#: src/pages/company/ManufacturerPartDetail.tsx:125 msgid "Manufacturer Part" msgstr "" -#: src/components/render/ModelType.tsx:52 +#: src/components/render/ModelType.tsx:55 msgid "Manufacturer Parts" msgstr "" -#: src/components/render/ModelType.tsx:59 -#: src/pages/part/CategoryDetail.tsx:287 +#: src/components/render/ModelType.tsx:63 +#: src/pages/part/CategoryDetail.tsx:288 msgid "Part Category" msgstr "" -#: src/components/render/ModelType.tsx:67 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67 -#: src/pages/stock/StockDetail.tsx:535 +#: src/components/render/ModelType.tsx:72 +#: src/pages/stock/StockDetail.tsx:548 +#: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" msgstr "" -#: src/components/render/ModelType.tsx:68 -#: src/pages/company/CompanyDetail.tsx:197 -#: src/pages/stock/LocationDetail.tsx:116 -#: src/pages/stock/LocationDetail.tsx:161 +#: src/components/render/ModelType.tsx:73 +#: src/pages/company/CompanyDetail.tsx:199 +#: src/pages/stock/LocationDetail.tsx:118 +#: src/pages/stock/LocationDetail.tsx:171 #: src/pages/stock/LocationDetail.tsx:365 msgid "Stock Items" msgstr "" -#: src/components/render/ModelType.tsx:75 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:154 +#: src/components/render/ModelType.tsx:81 msgid "Stock Location" msgstr "" -#: src/components/render/ModelType.tsx:83 +#: src/components/render/ModelType.tsx:90 +msgid "Stock Location Type" +msgstr "" + +#: src/components/render/ModelType.tsx:91 +msgid "Stock Location Types" +msgstr "" + +#: src/components/render/ModelType.tsx:95 msgid "Stock History" msgstr "" -#: src/components/render/ModelType.tsx:84 +#: src/components/render/ModelType.tsx:96 msgid "Stock Histories" msgstr "" -#: src/components/render/ModelType.tsx:88 +#: src/components/render/ModelType.tsx:100 #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:43 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:126 msgid "Build" msgstr "" -#: src/components/render/ModelType.tsx:89 +#: src/components/render/ModelType.tsx:101 msgid "Builds" msgstr "" -#: src/components/render/ModelType.tsx:96 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:76 +#: src/components/render/ModelType.tsx:109 msgid "Build Line" msgstr "" -#: src/components/render/ModelType.tsx:97 +#: src/components/render/ModelType.tsx:110 msgid "Build Lines" msgstr "" -#: src/components/render/ModelType.tsx:104 -#: src/pages/company/CompanyDetail.tsx:321 +#: src/components/render/ModelType.tsx:117 +#: src/pages/company/CompanyDetail.tsx:323 msgid "Company" msgstr "" -#: src/components/render/ModelType.tsx:105 +#: src/components/render/ModelType.tsx:118 msgid "Companies" msgstr "" -#: src/components/render/ModelType.tsx:112 +#: src/components/render/ModelType.tsx:126 #: src/tables/TableHoverCard.tsx:58 #: src/tables/build/BuildOrderTable.tsx:131 #: src/tables/purchasing/PurchaseOrderTable.tsx:64 @@ -1196,170 +1242,199 @@ msgstr "" msgid "Project Code" msgstr "" -#: src/components/render/ModelType.tsx:113 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:97 +#: src/components/render/ModelType.tsx:127 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:105 msgid "Project Codes" msgstr "" -#: src/components/render/ModelType.tsx:119 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99 +#: src/components/render/ModelType.tsx:133 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:355 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:362 +#: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" msgstr "" -#: src/components/render/ModelType.tsx:120 -#: src/pages/Index/Settings/SystemSettings.tsx:242 -#: src/pages/company/CompanyDetail.tsx:190 -#: src/pages/company/SupplierPartDetail.tsx:223 -#: src/pages/part/PartDetail.tsx:571 +#: src/components/render/ModelType.tsx:134 +#: src/pages/Index/Settings/SystemSettings.tsx:243 +#: src/pages/company/CompanyDetail.tsx:192 +#: src/pages/company/SupplierPartDetail.tsx:224 +#: src/pages/part/PartDetail.tsx:572 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" -#: src/components/render/ModelType.tsx:127 +#: src/components/render/ModelType.tsx:142 msgid "Purchase Order Line" msgstr "" -#: src/components/render/ModelType.tsx:128 +#: src/components/render/ModelType.tsx:143 msgid "Purchase Order Lines" msgstr "" -#: src/components/render/ModelType.tsx:132 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:108 +#: src/components/render/ModelType.tsx:147 #: src/pages/build/BuildDetail.tsx:131 -#: src/pages/sales/SalesOrderDetail.tsx:340 -#: src/pages/stock/StockDetail.tsx:207 +#: src/pages/sales/SalesOrderDetail.tsx:347 +#: src/pages/stock/StockDetail.tsx:210 +#: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" msgstr "" -#: src/components/render/ModelType.tsx:133 -#: src/pages/Index/Settings/SystemSettings.tsx:257 -#: src/pages/company/CompanyDetail.tsx:210 -#: src/pages/part/PartDetail.tsx:577 +#: src/components/render/ModelType.tsx:148 +#: src/pages/Index/Settings/SystemSettings.tsx:258 +#: src/pages/company/CompanyDetail.tsx:212 +#: src/pages/part/PartDetail.tsx:578 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" -#: src/components/render/ModelType.tsx:140 +#: src/components/render/ModelType.tsx:156 msgid "Sales Order Shipment" msgstr "" -#: src/components/render/ModelType.tsx:141 +#: src/components/render/ModelType.tsx:157 msgid "Sales Order Shipments" msgstr "" -#: src/components/render/ModelType.tsx:147 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:117 -#: src/pages/sales/ReturnOrderDetail.tsx:318 +#: src/components/render/ModelType.tsx:163 +#: src/pages/sales/ReturnOrderDetail.tsx:325 +#: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "" -#: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:272 -#: src/pages/company/CompanyDetail.tsx:217 +#: src/components/render/ModelType.tsx:164 +#: src/pages/Index/Settings/SystemSettings.tsx:273 +#: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" msgstr "" -#: src/components/render/ModelType.tsx:155 +#: src/components/render/ModelType.tsx:172 #: src/tables/company/AddressTable.tsx:47 msgid "Address" msgstr "" -#: src/components/render/ModelType.tsx:156 -#: src/pages/company/CompanyDetail.tsx:247 +#: src/components/render/ModelType.tsx:173 +#: src/pages/company/CompanyDetail.tsx:249 msgid "Addresses" msgstr "" -#: src/components/render/ModelType.tsx:162 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:189 -#: src/pages/sales/ReturnOrderDetail.tsx:157 -#: src/pages/sales/SalesOrderDetail.tsx:161 +#: src/components/render/ModelType.tsx:179 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:191 +#: src/pages/sales/ReturnOrderDetail.tsx:159 +#: src/pages/sales/SalesOrderDetail.tsx:163 msgid "Contact" msgstr "" -#: src/components/render/ModelType.tsx:163 -#: src/pages/company/CompanyDetail.tsx:241 +#: src/components/render/ModelType.tsx:180 +#: src/pages/company/CompanyDetail.tsx:243 msgid "Contacts" msgstr "" -#: src/components/render/ModelType.tsx:169 +#: src/components/render/ModelType.tsx:186 msgid "Owner" msgstr "" -#: src/components/render/ModelType.tsx:170 +#: src/components/render/ModelType.tsx:187 msgid "Owners" msgstr "" -#: src/components/render/ModelType.tsx:176 +#: src/components/render/ModelType.tsx:193 +#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "" -#: src/components/render/ModelType.tsx:177 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:73 +#: src/components/render/ModelType.tsx:194 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:81 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "" -#: src/components/render/Order.tsx:87 +#: src/components/render/ModelType.tsx:200 +msgid "Label Template" +msgstr "" + +#: src/components/render/ModelType.tsx:201 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:135 +msgid "Label Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:207 +msgid "Report Template" +msgstr "" + +#: src/components/render/ModelType.tsx:208 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:141 +msgid "Report Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:214 +msgid "Plugin Configuration" +msgstr "" + +#: src/components/render/ModelType.tsx:215 +msgid "Plugin Configurations" +msgstr "" + +#: src/components/render/Order.tsx:104 msgid "Shipment" msgstr "" -#: src/components/render/Part.tsx:12 +#: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:198 -#: src/pages/part/PartDetail.tsx:491 +#: src/pages/Index/Settings/SystemSettings.tsx:199 +#: src/pages/part/PartDetail.tsx:492 #: src/pages/stock/LocationDetail.tsx:344 -#: src/pages/stock/StockDetail.tsx:344 +#: src/pages/stock/StockDetail.tsx:352 #: src/tables/stock/StockItemTable.tsx:57 msgid "Stock" msgstr "" -#: src/components/render/Stock.tsx:26 -#: src/pages/stock/StockDetail.tsx:142 -#: src/pages/stock/StockDetail.tsx:501 +#: src/components/render/Stock.tsx:52 +#: src/pages/stock/StockDetail.tsx:145 +#: src/pages/stock/StockDetail.tsx:514 msgid "Serial Number" msgstr "" -#: src/components/render/Stock.tsx:28 -#: src/forms/BuildForms.tsx:189 +#: src/components/render/Stock.tsx:54 +#: src/forms/BuildForms.tsx:206 #: src/pages/part/pricing/BomPricingPanel.tsx:144 -#: src/pages/part/pricing/PriceBreakPanel.tsx:96 -#: src/pages/stock/StockDetail.tsx:137 -#: src/pages/stock/StockDetail.tsx:507 +#: src/pages/part/pricing/PriceBreakPanel.tsx:94 +#: src/pages/stock/StockDetail.tsx:140 +#: src/pages/stock/StockDetail.tsx:520 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:73 +#: src/tables/stock/StockTrackingTable.tsx:59 msgid "Quantity" msgstr "" -#: src/components/settings/SettingItem.tsx:46 -#: src/components/settings/SettingItem.tsx:99 -msgid "Setting updated" -msgstr "" - #: src/components/settings/SettingItem.tsx:47 #: src/components/settings/SettingItem.tsx:100 -msgid "{0} updated successfully" -msgstr "" +#~ msgid "{0} updated successfully" +#~ msgstr "{0} updated successfully" -#: src/components/settings/SettingItem.tsx:55 -msgid "Error editing setting" -msgstr "" - -#: src/components/settings/SettingItem.tsx:92 +#: src/components/settings/SettingList.tsx:67 msgid "Edit Setting" msgstr "" -#: src/components/settings/SettingList.tsx:63 -msgid "No settings specified" +#: src/components/settings/SettingList.tsx:78 +#: src/components/settings/SettingList.tsx:108 +msgid "Setting {0} updated successfully" msgstr "" -#: src/components/tables/ColumnRenderers.tsx:134 -#~ msgid "Shipment Date" -#~ msgstr "Shipment Date" +#: src/components/settings/SettingList.tsx:107 +msgid "Setting updated" +msgstr "" + +#: src/components/settings/SettingList.tsx:117 +msgid "Error editing setting" +msgstr "" + +#: src/components/settings/SettingList.tsx:158 +msgid "No settings specified" +msgstr "" #: src/components/tables/FilterGroup.tsx:29 #~ msgid "Add table filter" @@ -1731,10 +1806,6 @@ msgstr "" #~ msgid "This is a test filter" #~ msgstr "This is a test filter" -#: src/components/tables/stock/StockLocationTable.tsx:91 -#~ msgid "Location Type" -#~ msgstr "Location Type" - #: src/components/tables/stock/StockLocationTable.tsx:145 #~ msgid "Stock location updated" #~ msgstr "Stock location updated" @@ -2072,7 +2143,7 @@ msgstr "" #~ msgstr "Local Server" #: src/defaults/links.tsx:11 -#: src/pages/company/CompanyDetail.tsx:90 +#: src/pages/company/CompanyDetail.tsx:92 msgid "Website" msgstr "" @@ -2087,10 +2158,10 @@ msgstr "" #: src/defaults/links.tsx:31 #: src/defaults/menuItems.tsx:48 #: src/pages/company/ManufacturerDetail.tsx:9 -#: src/pages/company/ManufacturerPartDetail.tsx:231 +#: src/pages/company/ManufacturerPartDetail.tsx:235 #: src/pages/company/SupplierDetail.tsx:9 -#: src/pages/company/SupplierPartDetail.tsx:291 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:358 +#: src/pages/company/SupplierPartDetail.tsx:292 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:365 #: src/pages/purchasing/PurchasingIndex.tsx:52 msgid "Purchasing" msgstr "" @@ -2098,15 +2169,15 @@ msgstr "" #: src/defaults/links.tsx:32 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:323 +#: src/pages/sales/ReturnOrderDetail.tsx:330 #: src/pages/sales/SalesIndex.tsx:45 -#: src/pages/sales/SalesOrderDetail.tsx:345 +#: src/pages/sales/SalesOrderDetail.tsx:352 msgid "Sales" msgstr "" #: src/defaults/links.tsx:35 #: src/defaults/menuItems.tsx:71 -#: src/pages/Index/Playground.tsx:239 +#: src/pages/Index/Playground.tsx:238 msgid "Playground" msgstr "" @@ -2240,87 +2311,83 @@ msgstr "" #~ msgstr "Combusken battles with the intensely hot flames it spews" #: src/forms/AttachmentForms.tsx:57 -msgid "Add File" -msgstr "" +#~ msgid "Add File" +#~ msgstr "Add File" #: src/forms/AttachmentForms.tsx:57 -msgid "Add Link" -msgstr "" +#~ msgid "Add Link" +#~ msgstr "Add Link" #: src/forms/AttachmentForms.tsx:58 -msgid "File added" -msgstr "" +#~ msgid "File added" +#~ msgstr "File added" #: src/forms/AttachmentForms.tsx:58 -msgid "Link added" -msgstr "" +#~ msgid "Link added" +#~ msgstr "Link added" #: src/forms/AttachmentForms.tsx:99 -msgid "Edit File" -msgstr "" +#~ msgid "Edit File" +#~ msgstr "Edit File" #: src/forms/AttachmentForms.tsx:99 -msgid "Edit Link" -msgstr "" +#~ msgid "Edit Link" +#~ msgstr "Edit Link" #: src/forms/AttachmentForms.tsx:100 -msgid "File updated" -msgstr "" +#~ msgid "File updated" +#~ msgstr "File updated" #: src/forms/AttachmentForms.tsx:100 -msgid "Link updated" -msgstr "" - -#: src/forms/AttachmentForms.tsx:124 -msgid "Delete Attachment" -msgstr "" +#~ msgid "Link updated" +#~ msgstr "Link updated" #: src/forms/AttachmentForms.tsx:125 -msgid "Attachment deleted" -msgstr "" +#~ msgid "Attachment deleted" +#~ msgstr "Attachment deleted" #: src/forms/AttachmentForms.tsx:128 -msgid "Are you sure you want to delete this attachment?" -msgstr "" +#~ msgid "Are you sure you want to delete this attachment?" +#~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BuildForms.tsx:129 +#: src/forms/BuildForms.tsx:146 msgid "Next serial number" msgstr "" -#: src/forms/BuildForms.tsx:133 +#: src/forms/BuildForms.tsx:150 msgid "Latest serial number" msgstr "" -#: src/forms/BuildForms.tsx:205 +#: src/forms/BuildForms.tsx:222 msgid "Remove output" msgstr "" -#: src/forms/BuildForms.tsx:287 +#: src/forms/BuildForms.tsx:304 msgid "Complete Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:291 +#: src/forms/BuildForms.tsx:308 msgid "Build outputs have been completed" msgstr "" -#: src/forms/BuildForms.tsx:360 +#: src/forms/BuildForms.tsx:377 msgid "Scrap Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:364 +#: src/forms/BuildForms.tsx:381 msgid "Build outputs have been scrapped" msgstr "" -#: src/forms/BuildForms.tsx:396 -#: src/forms/BuildForms.tsx:420 +#: src/forms/BuildForms.tsx:413 +#: src/forms/BuildForms.tsx:437 msgid "Cancel Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:397 +#: src/forms/BuildForms.tsx:414 msgid "Selected build outputs will be deleted" msgstr "" -#: src/forms/BuildForms.tsx:424 +#: src/forms/BuildForms.tsx:441 msgid "Build outputs have been cancelled" msgstr "" @@ -2344,76 +2411,76 @@ msgstr "" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PurchaseOrderForms.tsx:265 +#: src/forms/PurchaseOrderForms.tsx:279 msgid "Choose Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:273 +#: src/forms/PurchaseOrderForms.tsx:287 msgid "Item Destination selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:282 +#: src/forms/PurchaseOrderForms.tsx:296 msgid "Part category default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:292 +#: src/forms/PurchaseOrderForms.tsx:306 msgid "Received stock location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:297 +#: src/forms/PurchaseOrderForms.tsx:311 msgid "Default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:308 -#: src/forms/PurchaseOrderForms.tsx:384 +#: src/forms/PurchaseOrderForms.tsx:322 +#: src/forms/PurchaseOrderForms.tsx:398 msgid "Scan Barcode" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:352 +#: src/forms/PurchaseOrderForms.tsx:366 msgid "Set Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:359 +#: src/forms/PurchaseOrderForms.tsx:373 msgid "Assign Batch Code{0}" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:368 +#: src/forms/PurchaseOrderForms.tsx:382 msgid "Change Status" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:393 -#: src/forms/StockForms.tsx:351 +#: src/forms/PurchaseOrderForms.tsx:407 +#: src/forms/StockForms.tsx:392 msgid "Remove item from list" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:418 -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:58 -#: src/pages/stock/StockDetail.tsx:167 -#: src/tables/ColumnRenderers.tsx:42 +#: src/forms/PurchaseOrderForms.tsx:432 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/pages/stock/StockDetail.tsx:170 +#: src/tables/ColumnRenderers.tsx:34 +#: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:434 +#: src/forms/PurchaseOrderForms.tsx:448 msgid "Store at default location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:447 +#: src/forms/PurchaseOrderForms.tsx:461 msgid "Store at line item destination" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:457 +#: src/forms/PurchaseOrderForms.tsx:471 msgid "Store with already received stock" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:613 +#: src/forms/PurchaseOrderForms.tsx:627 msgid "Receive Line Items" msgstr "" @@ -2421,119 +2488,118 @@ msgstr "" #~ msgid "Receive line items" #~ msgstr "Receive line items" -#: src/forms/StockForms.tsx:69 +#: src/forms/StockForms.tsx:101 msgid "Add given quantity as packs instead of individual items" msgstr "" -#: src/forms/StockForms.tsx:80 -msgid "Enter initial quantity for this stock item" -msgstr "" - -#: src/forms/StockForms.tsx:85 -msgid "Serial Numbers" -msgstr "" - -#: src/forms/StockForms.tsx:86 -msgid "Enter serial numbers for new stock (or leave blank)" -msgstr "" - #: src/forms/StockForms.tsx:110 #~ msgid "Create Stock Item" #~ msgstr "Create Stock Item" -#: src/forms/StockForms.tsx:135 -#: src/pages/stock/StockDetail.tsx:367 -#: src/tables/stock/StockItemTable.tsx:382 -#: src/tables/stock/StockItemTable.tsx:499 -msgid "Add Stock Item" +#: src/forms/StockForms.tsx:114 +msgid "Enter initial quantity for this stock item" +msgstr "" + +#: src/forms/StockForms.tsx:121 +msgid "Serial Numbers" +msgstr "" + +#: src/forms/StockForms.tsx:122 +msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" #: src/forms/StockForms.tsx:158 #~ msgid "Stock item updated" #~ msgstr "Stock item updated" -#: src/forms/StockForms.tsx:298 +#: src/forms/StockForms.tsx:176 +#: src/pages/stock/StockDetail.tsx:375 +#: src/tables/stock/StockItemTable.tsx:382 +#: src/tables/stock/StockItemTable.tsx:499 +msgid "Add Stock Item" +msgstr "" + +#: src/forms/StockForms.tsx:339 msgid "Loading..." msgstr "" -#: src/forms/StockForms.tsx:340 +#: src/forms/StockForms.tsx:381 msgid "Move to default location" msgstr "" -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/part/PartDetail.tsx:205 -#: src/pages/part/PartDetail.tsx:654 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/pages/part/PartDetail.tsx:206 +#: src/pages/part/PartDetail.tsx:655 #: src/tables/stock/StockItemTable.tsx:290 msgid "In Stock" msgstr "" -#: src/forms/StockForms.tsx:408 +#: src/forms/StockForms.tsx:449 msgid "Move" msgstr "" -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/tables/RowActions.tsx:147 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/tables/RowActions.tsx:149 msgid "Actions" msgstr "" -#: src/forms/StockForms.tsx:471 -#: src/pages/stock/StockDetail.tsx:440 -#: src/tables/settings/TemplateTable.tsx:266 -#: src/tables/stock/StockItemTestResultTable.tsx:348 +#: src/forms/StockForms.tsx:512 +#: src/pages/stock/StockDetail.tsx:454 +#: src/tables/stock/StockItemTestResultTable.tsx:339 msgid "Add" msgstr "" -#: src/forms/StockForms.tsx:499 +#: src/forms/StockForms.tsx:540 #: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:430 +#: src/pages/stock/StockDetail.tsx:444 msgid "Count" msgstr "" -#: src/forms/StockForms.tsx:744 +#: src/forms/StockForms.tsx:785 msgid "Add Stock" msgstr "" -#: src/forms/StockForms.tsx:753 +#: src/forms/StockForms.tsx:794 msgid "Remove Stock" msgstr "" -#: src/forms/StockForms.tsx:762 -#: src/pages/part/PartDetail.tsx:781 +#: src/forms/StockForms.tsx:803 +#: src/pages/part/PartDetail.tsx:782 msgid "Transfer Stock" msgstr "" -#: src/forms/StockForms.tsx:771 -#: src/pages/part/PartDetail.tsx:770 +#: src/forms/StockForms.tsx:812 +#: src/pages/part/PartDetail.tsx:771 msgid "Count Stock" msgstr "" -#: src/forms/StockForms.tsx:780 +#: src/forms/StockForms.tsx:821 msgid "Change Stock Status" msgstr "" -#: src/forms/StockForms.tsx:789 +#: src/forms/StockForms.tsx:830 msgid "Merge Stock" msgstr "" -#: src/forms/StockForms.tsx:808 +#: src/forms/StockForms.tsx:849 msgid "Delete Stock Items" msgstr "" -#: src/forms/StockForms.tsx:815 +#: src/forms/StockForms.tsx:856 msgid "Parent stock location" msgstr "" @@ -2728,7 +2794,7 @@ msgstr "" msgid "Welcome to your Dashboard{0}" msgstr "" -#: src/pages/Index/Playground.tsx:244 +#: src/pages/Index/Playground.tsx:243 msgid "This page is a showcase for the possibilities of Platform UI." msgstr "" @@ -3138,49 +3204,53 @@ msgstr "" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:79 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:87 msgid "Background Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:85 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:93 msgid "Error Reports" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:91 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:99 msgid "Currencies" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:109 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:117 msgid "Custom Units" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:115 -#: src/pages/part/CategoryDetail.tsx:254 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:123 +#: src/pages/part/CategoryDetail.tsx:255 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:121 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 +#~ msgid "Templates" +#~ msgstr "Templates" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:129 msgid "Category Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 -msgid "Templates" +#: src/pages/Index/Settings/AdminCenter/Index.tsx:147 +msgid "Location types" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:139 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:159 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:149 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:169 msgid "Quick Actions" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:154 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 msgid "Add a new user" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:173 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:193 msgid "Advanced Options" msgstr "" @@ -3225,26 +3295,32 @@ msgstr "" msgid "Plugin Settings" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:25 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:53 +msgid "Background Worker Not Running" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:54 +msgid "The background task manager service is not running. Contact your system administrator." +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:60 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:76 msgid "Pending Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:33 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:64 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:84 msgid "Scheduled Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:41 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:68 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:92 msgid "Failed Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:139 -msgid "Labels" -msgstr "" - #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:39 -msgid "Label" -msgstr "" +#~ msgid "Label" +#~ msgstr "Label" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67 #~ msgid "Stock item" @@ -3255,13 +3331,13 @@ msgstr "" #~ msgstr "Build line" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:88 -msgid "Reports" -msgstr "" +#~ msgid "Reports" +#~ msgstr "Reports" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:89 #: src/pages/build/BuildDetail.tsx:373 -msgid "Report" -msgstr "" +#~ msgid "Report" +#~ msgstr "Report" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99 #~ msgid "Purchase order" @@ -3275,14 +3351,9 @@ msgstr "" #~ msgid "Return order" #~ msgstr "Return order" -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135 -#: src/pages/part/PartDetail.tsx:518 -msgid "Bill of Materials" -msgstr "" - #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:145 -msgid "Tests" -msgstr "" +#~ msgid "Tests" +#~ msgstr "Tests" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:154 #~ msgid "Stock location" @@ -3321,26 +3392,30 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" +#: src/pages/Index/Settings/SystemSettings.tsx:139 +msgid "Labels" +msgstr "" + #: src/pages/Index/Settings/SystemSettings.tsx:145 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:223 -#: src/pages/part/PartDetail.tsx:589 +#: src/pages/Index/Settings/SystemSettings.tsx:224 +#: src/pages/part/PartDetail.tsx:590 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:228 -#: src/pages/build/BuildDetail.tsx:426 +#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:525 -#: src/pages/sales/SalesOrderDetail.tsx:263 +#: src/pages/part/PartDetail.tsx:526 +#: src/pages/sales/SalesOrderDetail.tsx:265 msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:296 +#: src/pages/Index/Settings/SystemSettings.tsx:297 msgid "Switch to User Setting" msgstr "" @@ -3397,44 +3472,47 @@ msgstr "" #~ msgstr "Build Status" #: src/pages/build/BuildDetail.tsx:89 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:128 -#: src/pages/sales/ReturnOrderDetail.tsx:95 -#: src/pages/sales/SalesOrderDetail.tsx:99 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:130 +#: src/pages/sales/ReturnOrderDetail.tsx:97 +#: src/pages/sales/SalesOrderDetail.tsx:101 #: src/tables/build/BuildOrderTable.tsx:113 #: src/tables/machine/MachineListTable.tsx:326 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderTable.tsx:46 #: src/tables/sales/SalesOrderTable.tsx:52 #: src/tables/stock/StockItemTable.tsx:259 +#: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "" #: src/pages/build/BuildDetail.tsx:95 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:101 -#: src/pages/sales/ReturnOrderDetail.tsx:69 -#: src/pages/sales/SalesOrderDetail.tsx:73 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:103 +#: src/pages/sales/ReturnOrderDetail.tsx:71 +#: src/pages/sales/SalesOrderDetail.tsx:75 +#: src/tables/ColumnRenderers.tsx:106 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" msgstr "" #: src/pages/build/BuildDetail.tsx:100 -#: src/pages/company/CompanyDetail.tsx:84 -#: src/pages/company/ManufacturerPartDetail.tsx:75 -#: src/pages/company/SupplierPartDetail.tsx:82 -#: src/pages/part/CategoryDetail.tsx:91 -#: src/pages/part/PartDetail.tsx:132 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:122 -#: src/pages/sales/ReturnOrderDetail.tsx:89 -#: src/pages/sales/SalesOrderDetail.tsx:93 -#: src/pages/stock/LocationDetail.tsx:97 -#: src/tables/ColumnRenderers.tsx:95 +#: src/pages/company/CompanyDetail.tsx:86 +#: src/pages/company/ManufacturerPartDetail.tsx:76 +#: src/pages/company/SupplierPartDetail.tsx:83 +#: src/pages/part/CategoryDetail.tsx:92 +#: src/pages/part/PartDetail.tsx:133 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:124 +#: src/pages/sales/ReturnOrderDetail.tsx:91 +#: src/pages/sales/SalesOrderDetail.tsx:95 +#: src/pages/stock/LocationDetail.tsx:99 +#: src/tables/ColumnRenderers.tsx:66 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 #: src/tables/machine/MachineTypeTable.tsx:323 #: src/tables/part/RelatedPartTable.tsx:64 -#: src/tables/plugin/PluginListTable.tsx:172 -#: src/tables/plugin/PluginListTable.tsx:302 +#: src/tables/plugin/PluginListTable.tsx:129 +#: src/tables/plugin/PluginListTable.tsx:276 +#: src/tables/stock/LocationTypesTable.tsx:65 msgid "Description" msgstr "" @@ -3447,7 +3525,7 @@ msgid "Build Quantity" msgstr "" #: src/pages/build/BuildDetail.tsx:126 -#: src/pages/build/BuildDetail.tsx:249 +#: src/pages/build/BuildDetail.tsx:256 msgid "Completed Outputs" msgstr "" @@ -3457,10 +3535,10 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:150 -#: src/pages/part/PartDetail.tsx:320 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:214 -#: src/pages/sales/ReturnOrderDetail.tsx:182 -#: src/pages/sales/SalesOrderDetail.tsx:186 +#: src/pages/part/PartDetail.tsx:321 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:184 +#: src/pages/sales/SalesOrderDetail.tsx:188 #: src/tables/build/BuildOrderTable.tsx:148 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 @@ -3474,10 +3552,10 @@ msgid "Created" msgstr "" #: src/pages/build/BuildDetail.tsx:164 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:207 -#: src/pages/sales/ReturnOrderDetail.tsx:175 -#: src/pages/sales/SalesOrderDetail.tsx:179 -#: src/tables/ColumnRenderers.tsx:227 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:209 +#: src/pages/sales/ReturnOrderDetail.tsx:177 +#: src/pages/sales/SalesOrderDetail.tsx:181 +#: src/tables/ColumnRenderers.tsx:191 msgid "Target Date" msgstr "" @@ -3513,6 +3591,11 @@ msgstr "" #~ msgid "Unlink custom barcode from part" #~ msgstr "Unlink custom barcode from part" +#: src/pages/build/BuildDetail.tsx:197 +#: src/pages/stock/StockDetail.tsx:526 +msgid "Batch Code" +msgstr "" + #: src/pages/build/BuildDetail.tsx:202 #~ msgid "Build Order updated" #~ msgstr "Build Order updated" @@ -3521,86 +3604,87 @@ msgstr "" #~ msgid "Edit build order" #~ msgstr "Edit build order" -#: src/pages/build/BuildDetail.tsx:222 -msgid "Build Details" -msgstr "" - #: src/pages/build/BuildDetail.tsx:226 #~ msgid "Duplicate build order" #~ msgstr "Duplicate build order" -#: src/pages/build/BuildDetail.tsx:228 -#: src/tables/build/BuildLineTable.tsx:225 -msgid "Allocate Stock" +#: src/pages/build/BuildDetail.tsx:229 +msgid "Build Details" msgstr "" #: src/pages/build/BuildDetail.tsx:231 #~ msgid "Delete build order" #~ msgstr "Delete build order" -#: src/pages/build/BuildDetail.tsx:242 +#: src/pages/build/BuildDetail.tsx:235 +#: src/tables/build/BuildLineTable.tsx:225 +msgid "Allocate Stock" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:249 msgid "Incomplete Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:264 +#: src/pages/build/BuildDetail.tsx:271 msgid "Consumed Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:278 +#: src/pages/build/BuildDetail.tsx:285 msgid "Child Build Orders" msgstr "" -#: src/pages/build/BuildDetail.tsx:288 -#: src/pages/company/CompanyDetail.tsx:253 -#: src/pages/company/ManufacturerPartDetail.tsx:171 -#: src/pages/part/PartDetail.tsx:611 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:276 -#: src/pages/sales/ReturnOrderDetail.tsx:225 -#: src/pages/sales/SalesOrderDetail.tsx:273 -#: src/pages/stock/StockDetail.tsx:317 +#: src/pages/build/BuildDetail.tsx:295 +#: src/pages/company/CompanyDetail.tsx:255 +#: src/pages/company/ManufacturerPartDetail.tsx:172 +#: src/pages/part/PartDetail.tsx:612 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:278 +#: src/pages/sales/ReturnOrderDetail.tsx:227 +#: src/pages/sales/SalesOrderDetail.tsx:275 +#: src/pages/stock/StockDetail.tsx:325 msgid "Attachments" msgstr "" -#: src/pages/build/BuildDetail.tsx:300 -#: src/pages/company/CompanyDetail.tsx:265 -#: src/pages/part/PartDetail.tsx:623 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:288 -#: src/pages/sales/ReturnOrderDetail.tsx:237 -#: src/pages/sales/SalesOrderDetail.tsx:285 -#: src/pages/stock/StockDetail.tsx:329 +#: src/pages/build/BuildDetail.tsx:307 +#: src/pages/company/CompanyDetail.tsx:267 +#: src/pages/part/PartDetail.tsx:624 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:290 +#: src/pages/sales/ReturnOrderDetail.tsx:239 +#: src/pages/sales/SalesOrderDetail.tsx:287 +#: src/pages/stock/StockDetail.tsx:337 +#: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "" -#: src/pages/build/BuildDetail.tsx:318 +#: src/pages/build/BuildDetail.tsx:325 msgid "Edit Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:327 +#: src/pages/build/BuildDetail.tsx:334 msgid "Cancel Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:339 +#: src/pages/build/BuildDetail.tsx:346 #: src/tables/build/BuildOrderTable.tsx:167 #: src/tables/build/BuildOrderTable.tsx:182 msgid "Add Build Order" msgstr "" #: src/pages/build/BuildDetail.tsx:368 -msgid "Reporting Actions" -msgstr "" +#~ msgid "Reporting Actions" +#~ msgstr "Reporting Actions" #: src/pages/build/BuildDetail.tsx:374 -msgid "Print build report" -msgstr "" +#~ msgid "Print build report" +#~ msgstr "Print build report" -#: src/pages/build/BuildDetail.tsx:380 +#: src/pages/build/BuildDetail.tsx:378 msgid "Build Order Actions" msgstr "" -#: src/pages/build/BuildDetail.tsx:388 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:326 -#: src/pages/sales/ReturnOrderDetail.tsx:300 -#: src/pages/sales/SalesOrderDetail.tsx:310 +#: src/pages/build/BuildDetail.tsx:386 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:333 +#: src/pages/sales/ReturnOrderDetail.tsx:307 +#: src/pages/sales/SalesOrderDetail.tsx:317 msgid "Cancel order" msgstr "" @@ -3612,56 +3696,58 @@ msgstr "" #~ msgid "New Build Order" #~ msgstr "New Build Order" -#: src/pages/company/CompanyDetail.tsx:98 +#: src/pages/company/CompanyDetail.tsx:100 msgid "Phone Number" msgstr "" -#: src/pages/company/CompanyDetail.tsx:105 +#: src/pages/company/CompanyDetail.tsx:107 msgid "Email Address" msgstr "" -#: src/pages/company/CompanyDetail.tsx:115 +#: src/pages/company/CompanyDetail.tsx:117 msgid "Default Currency" msgstr "" -#: src/pages/company/CompanyDetail.tsx:120 +#: src/pages/company/CompanyDetail.tsx:122 #: src/pages/company/SupplierDetail.tsx:8 -#: src/pages/company/SupplierPartDetail.tsx:106 -#: src/pages/company/SupplierPartDetail.tsx:192 -#: src/pages/company/SupplierPartDetail.tsx:295 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:116 +#: src/pages/company/SupplierPartDetail.tsx:107 +#: src/pages/company/SupplierPartDetail.tsx:193 +#: src/pages/company/SupplierPartDetail.tsx:296 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:118 #: src/tables/company/CompanyTable.tsx:100 #: src/tables/purchasing/PurchaseOrderTable.tsx:88 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:36 msgid "Supplier" msgstr "" -#: src/pages/company/CompanyDetail.tsx:126 +#: src/pages/company/CompanyDetail.tsx:128 #: src/pages/company/ManufacturerDetail.tsx:8 -#: src/pages/company/ManufacturerPartDetail.tsx:93 -#: src/pages/company/ManufacturerPartDetail.tsx:235 -#: src/pages/company/SupplierPartDetail.tsx:121 +#: src/pages/company/ManufacturerPartDetail.tsx:94 +#: src/pages/company/ManufacturerPartDetail.tsx:239 +#: src/pages/company/SupplierPartDetail.tsx:122 #: src/tables/company/CompanyTable.tsx:105 msgid "Manufacturer" msgstr "" -#: src/pages/company/CompanyDetail.tsx:132 +#: src/pages/company/CompanyDetail.tsx:134 #: src/pages/company/CustomerDetail.tsx:8 #: src/pages/part/pricing/SaleHistoryPanel.tsx:39 -#: src/pages/sales/ReturnOrderDetail.tsx:83 -#: src/pages/sales/SalesOrderDetail.tsx:87 -#: src/pages/stock/StockDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:85 +#: src/pages/sales/SalesOrderDetail.tsx:89 +#: src/pages/stock/StockDetail.tsx:219 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:107 +#: src/tables/stock/StockTrackingTable.tsx:140 msgid "Customer" msgstr "" -#: src/pages/company/CompanyDetail.tsx:166 +#: src/pages/company/CompanyDetail.tsx:168 +#: src/tables/stock/StockTrackingTable.tsx:183 msgid "Details" msgstr "" -#: src/pages/company/CompanyDetail.tsx:172 +#: src/pages/company/CompanyDetail.tsx:174 msgid "Manufactured Parts" msgstr "" @@ -3669,7 +3755,7 @@ msgstr "" #~ msgid "Edit company" #~ msgstr "Edit company" -#: src/pages/company/CompanyDetail.tsx:181 +#: src/pages/company/CompanyDetail.tsx:183 msgid "Supplied Parts" msgstr "" @@ -3677,289 +3763,289 @@ msgstr "" #~ msgid "Delete company" #~ msgstr "Delete company" -#: src/pages/company/CompanyDetail.tsx:226 +#: src/pages/company/CompanyDetail.tsx:228 msgid "Assigned Stock" msgstr "" -#: src/pages/company/CompanyDetail.tsx:281 +#: src/pages/company/CompanyDetail.tsx:283 #: src/tables/company/CompanyTable.tsx:86 msgid "Edit Company" msgstr "" -#: src/pages/company/CompanyDetail.tsx:290 +#: src/pages/company/CompanyDetail.tsx:292 msgid "Company Actions" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:68 -#: src/pages/company/SupplierPartDetail.tsx:75 +#: src/pages/company/ManufacturerPartDetail.tsx:69 +#: src/pages/company/SupplierPartDetail.tsx:76 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:72 msgid "Internal Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:83 -#: src/pages/company/SupplierPartDetail.tsx:89 +#: src/pages/company/ManufacturerPartDetail.tsx:84 +#: src/pages/company/SupplierPartDetail.tsx:90 msgid "External Link" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:101 -#: src/pages/company/SupplierPartDetail.tsx:130 -#: src/tables/purchasing/ManufacturerPartTable.tsx:53 +#: src/pages/company/ManufacturerPartDetail.tsx:102 +#: src/pages/company/SupplierPartDetail.tsx:131 +#: src/tables/purchasing/ManufacturerPartTable.tsx:56 msgid "Manufacturer Part Number" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:130 +#: src/pages/company/ManufacturerPartDetail.tsx:131 msgid "Manufacturer Details" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:139 +#: src/pages/company/ManufacturerPartDetail.tsx:140 msgid "Manufacturer Part Details" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:145 -#: src/pages/part/PartDetail.tsx:485 +#: src/pages/company/ManufacturerPartDetail.tsx:146 +#: src/pages/part/PartDetail.tsx:486 msgid "Parameters" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:157 -#: src/pages/part/PartDetail.tsx:558 +#: src/pages/company/ManufacturerPartDetail.tsx:158 +#: src/pages/part/PartDetail.tsx:559 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:189 -#: src/tables/purchasing/ManufacturerPartTable.tsx:97 +#: src/pages/company/ManufacturerPartDetail.tsx:190 +#: src/tables/purchasing/ManufacturerPartTable.tsx:84 msgid "Edit Manufacturer Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:196 -#: src/tables/purchasing/ManufacturerPartTable.tsx:63 -#: src/tables/purchasing/ManufacturerPartTable.tsx:78 +#: src/pages/company/ManufacturerPartDetail.tsx:197 +#: src/tables/purchasing/ManufacturerPartTable.tsx:72 +#: src/tables/purchasing/ManufacturerPartTable.tsx:103 msgid "Add Manufacturer Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:209 +#: src/pages/company/ManufacturerPartDetail.tsx:213 msgid "Manufacturer Part Actions" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:247 +#: src/pages/company/ManufacturerPartDetail.tsx:251 msgid "ManufacturerPart" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:96 -#: src/tables/ColumnRenderers.tsx:146 +#: src/pages/company/SupplierPartDetail.tsx:97 +#: src/tables/ColumnRenderers.tsx:117 msgid "Note" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:114 +#: src/pages/company/SupplierPartDetail.tsx:115 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:57 msgid "SKU" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:142 -#: src/pages/company/SupplierPartDetail.tsx:193 -#: src/pages/stock/StockDetail.tsx:230 +#: src/pages/company/SupplierPartDetail.tsx:143 +#: src/pages/company/SupplierPartDetail.tsx:194 +#: src/pages/stock/StockDetail.tsx:233 msgid "Packaging" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:149 +#: src/pages/company/SupplierPartDetail.tsx:150 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:107 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143 #: src/tables/purchasing/SupplierPartTable.tsx:131 msgid "Pack Quantity" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:160 +#: src/pages/company/SupplierPartDetail.tsx:161 msgid "Supplier Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:167 +#: src/pages/company/SupplierPartDetail.tsx:168 msgid "Availability Updated" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:194 +#: src/pages/company/SupplierPartDetail.tsx:195 msgid "Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:203 +#: src/pages/company/SupplierPartDetail.tsx:204 msgid "Supplier Part Details" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:209 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:263 +#: src/pages/company/SupplierPartDetail.tsx:210 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:265 msgid "Received Stock" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:233 +#: src/pages/company/SupplierPartDetail.tsx:234 #: src/pages/part/PartPricingPanel.tsx:115 #: src/pages/part/pricing/PricingOverviewPanel.tsx:130 msgid "Supplier Pricing" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:248 +#: src/pages/company/SupplierPartDetail.tsx:249 msgid "Supplier Part Actions" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:272 +#: src/pages/company/SupplierPartDetail.tsx:273 #: src/tables/purchasing/SupplierPartTable.tsx:210 msgid "Edit Supplier Part" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:279 +#: src/pages/company/SupplierPartDetail.tsx:280 #: src/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "" -#: src/pages/part/CategoryDetail.tsx:83 -#: src/pages/stock/LocationDetail.tsx:89 +#: src/pages/part/CategoryDetail.tsx:84 +#: src/pages/stock/LocationDetail.tsx:91 #: src/tables/settings/ErrorTable.tsx:34 msgid "Path" msgstr "" -#: src/pages/part/CategoryDetail.tsx:99 +#: src/pages/part/CategoryDetail.tsx:100 msgid "Parent Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:116 +#: src/pages/part/CategoryDetail.tsx:117 msgid "Subcategories" msgstr "" -#: src/pages/part/CategoryDetail.tsx:123 -#: src/pages/stock/LocationDetail.tsx:129 -#: src/tables/part/PartCategoryTable.tsx:69 +#: src/pages/part/CategoryDetail.tsx:124 +#: src/pages/stock/LocationDetail.tsx:131 +#: src/tables/part/PartCategoryTable.tsx:65 msgid "Structural" msgstr "" -#: src/pages/part/CategoryDetail.tsx:129 +#: src/pages/part/CategoryDetail.tsx:130 msgid "Parent default location" msgstr "" -#: src/pages/part/CategoryDetail.tsx:136 +#: src/pages/part/CategoryDetail.tsx:137 msgid "Default location" msgstr "" -#: src/pages/part/CategoryDetail.tsx:147 +#: src/pages/part/CategoryDetail.tsx:148 msgid "Top level part category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:157 -#: src/pages/part/CategoryDetail.tsx:211 -#: src/tables/part/PartCategoryTable.tsx:96 +#: src/pages/part/CategoryDetail.tsx:158 +#: src/pages/part/CategoryDetail.tsx:212 +#: src/tables/part/PartCategoryTable.tsx:88 msgid "Edit Part Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:170 -#: src/pages/stock/LocationDetail.tsx:213 +#: src/pages/part/CategoryDetail.tsx:171 +#: src/pages/stock/LocationDetail.tsx:223 msgid "Delete items" msgstr "" -#: src/pages/part/CategoryDetail.tsx:178 -#: src/pages/part/CategoryDetail.tsx:216 +#: src/pages/part/CategoryDetail.tsx:179 +#: src/pages/part/CategoryDetail.tsx:217 msgid "Delete Part Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:181 +#: src/pages/part/CategoryDetail.tsx:182 msgid "Parts Action" msgstr "" -#: src/pages/part/CategoryDetail.tsx:182 +#: src/pages/part/CategoryDetail.tsx:183 msgid "Action for parts in this category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:187 +#: src/pages/part/CategoryDetail.tsx:188 msgid "Child Categories Action" msgstr "" -#: src/pages/part/CategoryDetail.tsx:188 +#: src/pages/part/CategoryDetail.tsx:189 msgid "Action for child categories in this category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:206 +#: src/pages/part/CategoryDetail.tsx:207 msgid "Category Actions" msgstr "" -#: src/pages/part/CategoryDetail.tsx:228 +#: src/pages/part/CategoryDetail.tsx:229 msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:138 +#: src/pages/part/PartDetail.tsx:139 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:145 +#: src/pages/part/PartDetail.tsx:146 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "" -#: src/pages/part/PartDetail.tsx:151 +#: src/pages/part/PartDetail.tsx:152 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:158 +#: src/pages/part/PartDetail.tsx:159 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:165 +#: src/pages/part/PartDetail.tsx:166 msgid "IPN" msgstr "" -#: src/pages/part/PartDetail.tsx:172 +#: src/pages/part/PartDetail.tsx:173 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:179 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39 +#: src/pages/part/PartDetail.tsx:180 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "" -#: src/pages/part/PartDetail.tsx:186 +#: src/pages/part/PartDetail.tsx:187 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:193 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:180 -#: src/pages/sales/ReturnOrderDetail.tsx:148 -#: src/pages/sales/SalesOrderDetail.tsx:152 +#: src/pages/part/PartDetail.tsx:194 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:182 +#: src/pages/sales/ReturnOrderDetail.tsx:150 +#: src/pages/sales/SalesOrderDetail.tsx:154 msgid "Link" msgstr "" -#: src/pages/part/PartDetail.tsx:211 -#: src/tables/bom/BomTable.tsx:269 +#: src/pages/part/PartDetail.tsx:212 +#: src/tables/bom/BomTable.tsx:271 #: src/tables/build/BuildLineTable.tsx:121 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:218 +#: src/pages/part/PartDetail.tsx:219 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:224 -#: src/tables/bom/BomTable.tsx:210 +#: src/pages/part/PartDetail.tsx:225 +#: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:233 +#: src/pages/part/PartDetail.tsx:234 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:241 +#: src/pages/part/PartDetail.tsx:242 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:248 -#: src/tables/bom/BomTable.tsx:234 +#: src/pages/part/PartDetail.tsx:249 +#: src/tables/bom/BomTable.tsx:236 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:255 -#: src/tables/bom/BomTable.tsx:218 +#: src/pages/part/PartDetail.tsx:256 +#: src/tables/bom/BomTable.tsx:220 #: src/tables/part/PartTable.tsx:82 msgid "Building" msgstr "" -#: src/pages/part/PartDetail.tsx:264 +#: src/pages/part/PartDetail.tsx:265 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 @@ -3968,45 +4054,47 @@ msgstr "" #: src/tables/machine/MachineListTable.tsx:585 #: src/tables/part/PartTable.tsx:168 #: src/tables/part/PartVariantTable.tsx:15 -#: src/tables/plugin/PluginListTable.tsx:190 -#: src/tables/plugin/PluginListTable.tsx:638 +#: src/tables/plugin/PluginListTable.tsx:149 +#: src/tables/plugin/PluginListTable.tsx:271 +#: src/tables/plugin/PluginListTable.tsx:563 #: src/tables/purchasing/SupplierPartTable.tsx:98 #: src/tables/purchasing/SupplierPartTable.tsx:187 #: src/tables/stock/StockItemTable.tsx:254 msgid "Active" msgstr "" -#: src/pages/part/PartDetail.tsx:269 +#: src/pages/part/PartDetail.tsx:270 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:274 -#: src/tables/bom/BomTable.tsx:264 +#: src/pages/part/PartDetail.tsx:275 +#: src/tables/bom/BomTable.tsx:266 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:279 +#: src/pages/part/PartDetail.tsx:280 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:284 -#: src/tables/bom/BomTable.tsx:259 +#: src/pages/part/PartDetail.tsx:285 +#: src/tables/bom/BomTable.tsx:261 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:289 +#: src/pages/part/PartDetail.tsx:290 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:294 +#: src/pages/part/PartDetail.tsx:295 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:299 +#: src/pages/part/PartDetail.tsx:300 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:307 +#: src/pages/part/PartDetail.tsx:308 +#: src/tables/ColumnRenderers.tsx:199 msgid "Creation Date" msgstr "" @@ -4014,7 +4102,7 @@ msgstr "" #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:312 +#: src/pages/part/PartDetail.tsx:313 msgid "Created By" msgstr "" @@ -4022,68 +4110,72 @@ msgstr "" #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:327 -msgid "Default Supplier" -msgstr "" - #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:338 +#: src/pages/part/PartDetail.tsx:328 +msgid "Default Supplier" +msgstr "" + +#: src/pages/part/PartDetail.tsx:339 #: src/tables/part/PartTable.tsx:151 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:373 -#: src/pages/stock/StockDetail.tsx:127 +#: src/pages/part/PartDetail.tsx:374 +#: src/pages/stock/StockDetail.tsx:130 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:408 +#: src/pages/part/PartDetail.tsx:409 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:479 +#: src/pages/part/PartDetail.tsx:480 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:505 +#: src/pages/part/PartDetail.tsx:506 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:512 -#: src/pages/stock/StockDetail.tsx:275 +#: src/pages/part/PartDetail.tsx:513 +#: src/pages/stock/StockDetail.tsx:283 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:532 +#: src/pages/part/PartDetail.tsx:519 +msgid "Bill of Materials" +msgstr "" + +#: src/pages/part/PartDetail.tsx:533 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:539 +#: src/pages/part/PartDetail.tsx:540 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:545 +#: src/pages/part/PartDetail.tsx:546 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:584 +#: src/pages/part/PartDetail.tsx:585 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:594 +#: src/pages/part/PartDetail.tsx:595 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:605 +#: src/pages/part/PartDetail.tsx:606 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:660 -#: src/pages/stock/StockDetail.tsx:148 +#: src/pages/part/PartDetail.tsx:661 +#: src/pages/stock/StockDetail.tsx:151 #: src/tables/build/BuildLineTable.tsx:36 #: src/tables/part/PartTable.tsx:107 #: src/tables/stock/StockItemTable.tsx:166 @@ -4091,49 +4183,51 @@ msgstr "" msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:666 +#: src/pages/part/PartDetail.tsx:667 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:672 -#: src/tables/bom/BomTable.tsx:274 +#: src/pages/part/PartDetail.tsx:673 +#: src/tables/bom/BomTable.tsx:276 #: src/tables/part/PartTable.tsx:76 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:678 -#: src/pages/stock/StockDetail.tsx:496 +#: src/pages/part/PartDetail.tsx:679 +#: src/pages/stock/StockDetail.tsx:509 #: src/tables/stock/StockItemTable.tsx:295 msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:697 +#: src/pages/part/PartDetail.tsx:698 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:704 +#: src/pages/part/PartDetail.tsx:705 #: src/tables/part/PartTable.tsx:266 #: src/tables/part/PartTable.tsx:279 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:716 +#: src/pages/part/PartDetail.tsx:717 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:725 +#: src/pages/part/PartDetail.tsx:726 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:763 +#: src/pages/part/PartDetail.tsx:764 +#: src/pages/stock/LocationDetail.tsx:301 +#: src/tables/stock/StockItemTable.tsx:409 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:771 +#: src/pages/part/PartDetail.tsx:772 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:782 +#: src/pages/part/PartDetail.tsx:783 msgid "Transfer part stock" msgstr "" @@ -4199,15 +4293,15 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151 #: src/pages/part/pricing/SupplierPricingPanel.tsx:83 -#: src/tables/bom/BomTable.tsx:149 +#: src/tables/bom/BomTable.tsx:151 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 msgid "Unit Price" msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:173 -#: src/tables/ColumnRenderers.tsx:278 -#: src/tables/bom/BomTable.tsx:158 +#: src/tables/ColumnRenderers.tsx:241 +#: src/tables/bom/BomTable.tsx:160 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 #: src/tables/sales/ReturnOrderTable.tsx:104 #: src/tables/sales/SalesOrderTable.tsx:134 @@ -4229,24 +4323,24 @@ msgid "Bar Chart" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:63 -#: src/pages/part/pricing/PriceBreakPanel.tsx:117 +#: src/pages/part/pricing/PriceBreakPanel.tsx:115 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:138 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:164 msgid "Add Price Break" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:76 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:149 msgid "Edit Price Break" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:86 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:157 msgid "Delete Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:102 -#: src/pages/part/pricing/PriceBreakPanel.tsx:193 +#: src/pages/part/pricing/PriceBreakPanel.tsx:100 +#: src/pages/part/pricing/PriceBreakPanel.tsx:191 msgid "Price Break" msgstr "" @@ -4275,7 +4369,7 @@ msgid "Overall Pricing" msgstr "" #: src/pages/part/pricing/PricingOverviewPanel.tsx:184 -#: src/pages/stock/StockDetail.tsx:121 +#: src/pages/stock/StockDetail.tsx:124 msgid "Last Updated" msgstr "" @@ -4309,9 +4403,8 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50 #: src/pages/part/pricing/SaleHistoryPanel.tsx:46 -#: src/tables/ColumnRenderers.tsx:217 -#: src/tables/plugin/PluginListTable.tsx:182 -#: src/tables/stock/StockItemTestResultTable.tsx:194 +#: src/tables/ColumnRenderers.tsx:180 +#: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" @@ -4338,89 +4431,89 @@ msgstr "" msgid "Variant Part" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:73 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:75 msgid "Edit Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:82 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:84 #: src/tables/purchasing/PurchaseOrderTable.tsx:128 #: src/tables/purchasing/PurchaseOrderTable.tsx:140 msgid "Add Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:107 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:109 msgid "Supplier Reference" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:137 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:252 -#: src/pages/sales/ReturnOrderDetail.tsx:104 -#: src/pages/sales/ReturnOrderDetail.tsx:220 -#: src/pages/sales/SalesOrderDetail.tsx:108 -#: src/pages/sales/SalesOrderDetail.tsx:248 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:139 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:254 +#: src/pages/sales/ReturnOrderDetail.tsx:106 +#: src/pages/sales/ReturnOrderDetail.tsx:222 +#: src/pages/sales/SalesOrderDetail.tsx:110 +#: src/pages/sales/SalesOrderDetail.tsx:250 msgid "Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:144 -#: src/pages/sales/ReturnOrderDetail.tsx:111 -#: src/pages/sales/SalesOrderDetail.tsx:115 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:146 +#: src/pages/sales/ReturnOrderDetail.tsx:113 +#: src/pages/sales/SalesOrderDetail.tsx:117 msgid "Completed Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:152 -#: src/pages/sales/ReturnOrderDetail.tsx:119 -#: src/pages/sales/SalesOrderDetail.tsx:123 -#: src/pages/sales/SalesOrderDetail.tsx:258 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:121 +#: src/pages/sales/SalesOrderDetail.tsx:125 +#: src/pages/sales/SalesOrderDetail.tsx:260 msgid "Completed Shipments" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:159 -#: src/pages/sales/ReturnOrderDetail.tsx:127 -#: src/pages/sales/SalesOrderDetail.tsx:131 -msgid "Order Currency" -msgstr "" - #: src/pages/purchasing/PurchaseOrderDetail.tsx:159 #: src/pages/sales/ReturnOrderDetail.tsx:126 #: src/pages/sales/SalesOrderDetail.tsx:130 #~ msgid "Order Currency," #~ msgstr "Order Currency," -#: src/pages/purchasing/PurchaseOrderDetail.tsx:166 -#: src/pages/sales/ReturnOrderDetail.tsx:134 -#: src/pages/sales/SalesOrderDetail.tsx:138 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:161 +#: src/pages/sales/ReturnOrderDetail.tsx:129 +#: src/pages/sales/SalesOrderDetail.tsx:133 +msgid "Order Currency" +msgstr "" + +#: src/pages/purchasing/PurchaseOrderDetail.tsx:168 +#: src/pages/sales/ReturnOrderDetail.tsx:136 +#: src/pages/sales/SalesOrderDetail.tsx:140 msgid "Total Cost" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:201 -#: src/pages/sales/ReturnOrderDetail.tsx:169 -#: src/pages/sales/SalesOrderDetail.tsx:173 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:203 +#: src/pages/sales/ReturnOrderDetail.tsx:171 +#: src/pages/sales/SalesOrderDetail.tsx:175 msgid "Created On" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:246 -#: src/pages/sales/ReturnOrderDetail.tsx:214 -#: src/pages/sales/SalesOrderDetail.tsx:242 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:248 +#: src/pages/sales/ReturnOrderDetail.tsx:216 +#: src/pages/sales/SalesOrderDetail.tsx:244 msgid "Order Details" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:316 -#: src/pages/sales/ReturnOrderDetail.tsx:290 -#: src/pages/sales/SalesOrderDetail.tsx:302 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:323 +#: src/pages/sales/ReturnOrderDetail.tsx:297 +#: src/pages/sales/SalesOrderDetail.tsx:309 msgid "Order Actions" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:75 -#: src/pages/sales/SalesOrderDetail.tsx:79 +#: src/pages/sales/ReturnOrderDetail.tsx:77 +#: src/pages/sales/SalesOrderDetail.tsx:81 #: src/tables/sales/SalesOrderTable.tsx:123 msgid "Customer Reference" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:267 +#: src/pages/sales/ReturnOrderDetail.tsx:269 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:276 +#: src/pages/sales/ReturnOrderDetail.tsx:278 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" @@ -4430,68 +4523,72 @@ msgstr "" msgid "Customers" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:219 +#: src/pages/sales/SalesOrderDetail.tsx:221 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:228 +#: src/pages/sales/SalesOrderDetail.tsx:230 #: src/tables/sales/SalesOrderTable.tsx:83 #: src/tables/sales/SalesOrderTable.tsx:95 msgid "Add Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:253 +#: src/pages/sales/SalesOrderDetail.tsx:255 msgid "Pending Shipments" msgstr "" -#: src/pages/stock/LocationDetail.tsx:105 +#: src/pages/stock/LocationDetail.tsx:107 msgid "Parent Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:123 +#: src/pages/stock/LocationDetail.tsx:125 msgid "Sublocations" msgstr "" -#: src/pages/stock/LocationDetail.tsx:135 +#: src/pages/stock/LocationDetail.tsx:137 msgid "External" msgstr "" -#: src/pages/stock/LocationDetail.tsx:144 +#: src/pages/stock/LocationDetail.tsx:143 +msgid "Location Type" +msgstr "" + +#: src/pages/stock/LocationDetail.tsx:154 msgid "Top level stock location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:155 +#: src/pages/stock/LocationDetail.tsx:165 msgid "Location Details" msgstr "" -#: src/pages/stock/LocationDetail.tsx:181 +#: src/pages/stock/LocationDetail.tsx:191 msgid "Default Parts" msgstr "" -#: src/pages/stock/LocationDetail.tsx:200 +#: src/pages/stock/LocationDetail.tsx:210 #: src/pages/stock/LocationDetail.tsx:328 -#: src/tables/stock/StockLocationTable.tsx:108 +#: src/tables/stock/StockLocationTable.tsx:100 msgid "Edit Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:221 +#: src/pages/stock/LocationDetail.tsx:231 #: src/pages/stock/LocationDetail.tsx:333 msgid "Delete Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:224 +#: src/pages/stock/LocationDetail.tsx:234 msgid "Items Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:225 +#: src/pages/stock/LocationDetail.tsx:235 msgid "Action for stock items in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:230 +#: src/pages/stock/LocationDetail.tsx:240 msgid "Child Locations Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:231 +#: src/pages/stock/LocationDetail.tsx:241 msgid "Action for child locations in this location" msgstr "" @@ -4499,11 +4596,11 @@ msgstr "" msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:100 +#: src/pages/stock/StockDetail.tsx:103 msgid "Base Part" msgstr "" -#: src/pages/stock/StockDetail.tsx:107 +#: src/pages/stock/StockDetail.tsx:110 msgid "Stock Status" msgstr "" @@ -4515,15 +4612,16 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:174 +#: src/pages/stock/StockDetail.tsx:177 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:190 +#: src/pages/stock/StockDetail.tsx:193 msgid "Consumed By" msgstr "" -#: src/pages/stock/StockDetail.tsx:199 +#: src/pages/stock/StockDetail.tsx:202 +#: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" msgstr "" @@ -4535,78 +4633,78 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:264 +#: src/pages/stock/StockDetail.tsx:267 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:270 +#: src/pages/stock/StockDetail.tsx:273 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:282 +#: src/pages/stock/StockDetail.tsx:290 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:296 +#: src/pages/stock/StockDetail.tsx:304 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:303 +#: src/pages/stock/StockDetail.tsx:311 msgid "Child Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:358 +#: src/pages/stock/StockDetail.tsx:366 msgid "Edit Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:385 +#: src/pages/stock/StockDetail.tsx:393 msgid "Delete Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:426 -msgid "Stock Operations" -msgstr "" - -#: src/pages/stock/StockDetail.tsx:431 -msgid "Count stock" -msgstr "" - #: src/pages/stock/StockDetail.tsx:433 #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:441 +#: src/pages/stock/StockDetail.tsx:440 +msgid "Stock Operations" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:445 +msgid "Count stock" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:455 #: src/tables/stock/StockItemTable.tsx:414 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:449 +#: src/pages/stock/StockDetail.tsx:463 #: src/tables/stock/StockItemTable.tsx:423 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:456 +#: src/pages/stock/StockDetail.tsx:470 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:457 +#: src/pages/stock/StockDetail.tsx:471 #: src/tables/stock/StockItemTable.tsx:443 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:469 +#: src/pages/stock/StockDetail.tsx:482 msgid "Stock Item Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:513 -msgid "Batch Code" -msgstr "" - -#: src/tables/ColumnRenderers.tsx:50 +#: src/tables/ColumnRenderers.tsx:42 msgid "No location set" msgstr "" -#: src/tables/ColumnRenderers.tsx:264 +#: src/tables/ColumnRenderers.tsx:207 +msgid "Shipment Date" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:227 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "" @@ -4616,20 +4714,32 @@ msgstr "" msgid "Select Columns" msgstr "" -#: src/tables/DownloadAction.tsx:11 +#: src/tables/DownloadAction.tsx:13 +#~ msgid "Excel" +#~ msgstr "Excel" + +#: src/tables/DownloadAction.tsx:21 +#~ msgid "Download selected data" +#~ msgstr "Download selected data" + +#: src/tables/DownloadAction.tsx:22 msgid "CSV" msgstr "" -#: src/tables/DownloadAction.tsx:12 +#: src/tables/DownloadAction.tsx:23 msgid "TSV" msgstr "" -#: src/tables/DownloadAction.tsx:13 -msgid "Excel" +#: src/tables/DownloadAction.tsx:24 +msgid "Excel (.xls)" msgstr "" -#: src/tables/DownloadAction.tsx:21 -msgid "Download selected data" +#: src/tables/DownloadAction.tsx:25 +msgid "Excel (.xlsx)" +msgstr "" + +#: src/tables/DownloadAction.tsx:39 +msgid "Download Data" msgstr "" #: src/tables/Filter.tsx:88 @@ -4663,102 +4773,102 @@ msgstr "" msgid "Remove filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:147 +#: src/tables/FilterSelectDrawer.tsx:136 msgid "Select filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:148 +#: src/tables/FilterSelectDrawer.tsx:137 msgid "Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:155 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:33 -#: src/tables/stock/StockItemTestResultTable.tsx:182 +#: src/tables/FilterSelectDrawer.tsx:144 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 +#: src/tables/stock/StockItemTestResultTable.tsx:180 msgid "Value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:156 +#: src/tables/FilterSelectDrawer.tsx:145 msgid "Select filter value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:196 +#: src/tables/FilterSelectDrawer.tsx:185 msgid "Table Filters" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:228 +#: src/tables/FilterSelectDrawer.tsx:217 msgid "Add Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:237 +#: src/tables/FilterSelectDrawer.tsx:226 msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:118 -#: src/tables/InvenTreeTable.tsx:384 -#: src/tables/InvenTreeTable.tsx:405 +#: src/tables/InvenTreeTable.tsx:119 +#: src/tables/InvenTreeTable.tsx:390 +#: src/tables/InvenTreeTable.tsx:411 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:416 +#: src/tables/InvenTreeTable.tsx:422 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:424 +#: src/tables/InvenTreeTable.tsx:430 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:427 +#: src/tables/InvenTreeTable.tsx:433 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:436 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:433 +#: src/tables/InvenTreeTable.tsx:439 msgid "Not found" msgstr "" -#: src/tables/InvenTreeTable.tsx:482 -#: src/tables/InvenTreeTable.tsx:604 +#: src/tables/InvenTreeTable.tsx:488 +#: src/tables/InvenTreeTable.tsx:611 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:486 +#: src/tables/InvenTreeTable.tsx:492 msgid "Are you sure you want to delete the selected records?" msgstr "" -#: src/tables/InvenTreeTable.tsx:488 +#: src/tables/InvenTreeTable.tsx:494 msgid "This action cannot be undone!" msgstr "" -#: src/tables/InvenTreeTable.tsx:516 +#: src/tables/InvenTreeTable.tsx:522 msgid "Deleted records" msgstr "" -#: src/tables/InvenTreeTable.tsx:517 +#: src/tables/InvenTreeTable.tsx:523 msgid "Records were deleted successfully" msgstr "" -#: src/tables/InvenTreeTable.tsx:526 +#: src/tables/InvenTreeTable.tsx:532 msgid "Failed to delete records" msgstr "" -#: src/tables/InvenTreeTable.tsx:585 -#: src/tables/InvenTreeTable.tsx:586 -msgid "Barcode actions" -msgstr "" - #: src/tables/InvenTreeTable.tsx:594 #: src/tables/InvenTreeTable.tsx:595 -msgid "Print actions" +#~ msgid "Print actions" +#~ msgstr "Print actions" + +#: src/tables/InvenTreeTable.tsx:601 +#: src/tables/InvenTreeTable.tsx:602 +msgid "Barcode actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:620 +#: src/tables/InvenTreeTable.tsx:630 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:638 +#: src/tables/InvenTreeTable.tsx:648 msgid "Table filters" msgstr "" @@ -4770,138 +4880,138 @@ msgstr "" msgid "Part Information" msgstr "" -#: src/tables/bom/BomTable.tsx:177 +#: src/tables/bom/BomTable.tsx:179 #: src/tables/part/PartTable.tsx:124 msgid "No stock" msgstr "" -#: src/tables/bom/BomTable.tsx:185 +#: src/tables/bom/BomTable.tsx:187 #: src/tables/build/BuildLineTable.tsx:104 #: src/tables/part/PartTable.tsx:115 msgid "External stock" msgstr "" -#: src/tables/bom/BomTable.tsx:193 +#: src/tables/bom/BomTable.tsx:195 #: src/tables/build/BuildLineTable.tsx:67 msgid "Includes substitute stock" msgstr "" -#: src/tables/bom/BomTable.tsx:202 +#: src/tables/bom/BomTable.tsx:204 #: src/tables/build/BuildLineTable.tsx:77 msgid "Includes variant stock" msgstr "" -#: src/tables/bom/BomTable.tsx:227 +#: src/tables/bom/BomTable.tsx:229 #: src/tables/part/PartTable.tsx:143 #: src/tables/stock/StockItemTable.tsx:205 msgid "Stock Information" msgstr "" -#: src/tables/bom/BomTable.tsx:239 +#: src/tables/bom/BomTable.tsx:241 #: src/tables/build/BuildLineTable.tsx:195 msgid "Consumable item" msgstr "" -#: src/tables/bom/BomTable.tsx:260 +#: src/tables/bom/BomTable.tsx:262 msgid "Show trackable items" msgstr "" -#: src/tables/bom/BomTable.tsx:265 +#: src/tables/bom/BomTable.tsx:267 msgid "Show asssmbled items" msgstr "" -#: src/tables/bom/BomTable.tsx:270 +#: src/tables/bom/BomTable.tsx:272 msgid "Show items with available stock" msgstr "" -#: src/tables/bom/BomTable.tsx:275 +#: src/tables/bom/BomTable.tsx:277 msgid "Show items on order" msgstr "" -#: src/tables/bom/BomTable.tsx:279 +#: src/tables/bom/BomTable.tsx:281 msgid "Validated" msgstr "" -#: src/tables/bom/BomTable.tsx:280 +#: src/tables/bom/BomTable.tsx:282 msgid "Show validated items" msgstr "" -#: src/tables/bom/BomTable.tsx:284 +#: src/tables/bom/BomTable.tsx:286 #: src/tables/bom/UsedInTable.tsx:63 msgid "Inherited" msgstr "" -#: src/tables/bom/BomTable.tsx:285 +#: src/tables/bom/BomTable.tsx:287 #: src/tables/bom/UsedInTable.tsx:64 msgid "Show inherited items" msgstr "" -#: src/tables/bom/BomTable.tsx:289 +#: src/tables/bom/BomTable.tsx:291 #: src/tables/bom/UsedInTable.tsx:68 #: src/tables/build/BuildLineTable.tsx:46 msgid "Optional" msgstr "" -#: src/tables/bom/BomTable.tsx:290 +#: src/tables/bom/BomTable.tsx:292 #: src/tables/bom/UsedInTable.tsx:69 msgid "Show optional items" msgstr "" -#: src/tables/bom/BomTable.tsx:294 +#: src/tables/bom/BomTable.tsx:296 #: src/tables/build/BuildLineTable.tsx:41 msgid "Consumable" msgstr "" -#: src/tables/bom/BomTable.tsx:295 +#: src/tables/bom/BomTable.tsx:297 msgid "Show consumable items" msgstr "" -#: src/tables/bom/BomTable.tsx:299 +#: src/tables/bom/BomTable.tsx:301 msgid "Has Pricing" msgstr "" -#: src/tables/bom/BomTable.tsx:300 -msgid "Show items with pricing" -msgstr "" - #: src/tables/bom/BomTable.tsx:301 #~ msgid "Create BOM Item" #~ msgstr "Create BOM Item" -#: src/tables/bom/BomTable.tsx:309 -#: src/tables/bom/BomTable.tsx:397 +#: src/tables/bom/BomTable.tsx:302 +msgid "Show items with pricing" +msgstr "" + +#: src/tables/bom/BomTable.tsx:311 +#: src/tables/bom/BomTable.tsx:399 msgid "Add BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:314 +#: src/tables/bom/BomTable.tsx:316 msgid "BOM item created" msgstr "" -#: src/tables/bom/BomTable.tsx:321 +#: src/tables/bom/BomTable.tsx:323 msgid "Edit BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:323 +#: src/tables/bom/BomTable.tsx:325 msgid "BOM item updated" msgstr "" -#: src/tables/bom/BomTable.tsx:330 -msgid "Delete BOM Item" -msgstr "" - -#: src/tables/bom/BomTable.tsx:331 -msgid "BOM item deleted" -msgstr "" - #: src/tables/bom/BomTable.tsx:331 #~ msgid "Edit Bom Item" #~ msgstr "Edit Bom Item" +#: src/tables/bom/BomTable.tsx:332 +msgid "Delete BOM Item" +msgstr "" + +#: src/tables/bom/BomTable.tsx:333 +msgid "BOM item deleted" +msgstr "" + #: src/tables/bom/BomTable.tsx:333 #~ msgid "Bom item updated" #~ msgstr "Bom item updated" -#: src/tables/bom/BomTable.tsx:341 +#: src/tables/bom/BomTable.tsx:343 msgid "View BOM" msgstr "" @@ -4917,11 +5027,11 @@ msgstr "" #~ msgid "Are you sure you want to remove this BOM item?" #~ msgstr "Are you sure you want to remove this BOM item?" -#: src/tables/bom/BomTable.tsx:352 +#: src/tables/bom/BomTable.tsx:354 msgid "Validate BOM line" msgstr "" -#: src/tables/bom/BomTable.tsx:360 +#: src/tables/bom/BomTable.tsx:362 msgid "Edit Substitutes" msgstr "" @@ -5038,11 +5148,11 @@ msgid "Filter by responsible owner" msgstr "" #: src/tables/build/BuildOutputTable.tsx:114 -#: src/tables/build/BuildOutputTable.tsx:150 +#: src/tables/build/BuildOutputTable.tsx:152 msgid "Add Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:155 +#: src/tables/build/BuildOutputTable.tsx:157 msgid "Complete selected outputs" msgstr "" @@ -5050,68 +5160,68 @@ msgstr "" #~ msgid "Delete build output" #~ msgstr "Delete build output" -#: src/tables/build/BuildOutputTable.tsx:165 +#: src/tables/build/BuildOutputTable.tsx:167 msgid "Scrap selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:175 +#: src/tables/build/BuildOutputTable.tsx:177 msgid "Cancel selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:191 +#: src/tables/build/BuildOutputTable.tsx:193 msgid "Allocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:192 +#: src/tables/build/BuildOutputTable.tsx:194 msgid "Allocate stock to build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:197 +#: src/tables/build/BuildOutputTable.tsx:199 msgid "Deallocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:198 +#: src/tables/build/BuildOutputTable.tsx:200 msgid "Deallocate stock from build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:203 +#: src/tables/build/BuildOutputTable.tsx:205 msgid "Complete" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:204 +#: src/tables/build/BuildOutputTable.tsx:206 msgid "Complete build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:213 +#: src/tables/build/BuildOutputTable.tsx:215 msgid "Scrap" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:214 +#: src/tables/build/BuildOutputTable.tsx:216 msgid "Scrap build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:224 +#: src/tables/build/BuildOutputTable.tsx:226 msgid "Cancel build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:251 +#: src/tables/build/BuildOutputTable.tsx:253 msgid "Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:264 +#: src/tables/build/BuildOutputTable.tsx:266 msgid "Batch" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:278 +#: src/tables/build/BuildOutputTable.tsx:280 msgid "Allocated Items" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:288 +#: src/tables/build/BuildOutputTable.tsx:290 msgid "Required Tests" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:317 -#: src/tables/stock/StockItemTestResultTable.tsx:146 +#: src/tables/build/BuildOutputTable.tsx:319 +#: src/tables/stock/StockItemTestResultTable.tsx:144 msgid "Test Results" msgstr "" @@ -5132,7 +5242,7 @@ msgstr "" msgid "Delete Address" msgstr "" -#: src/tables/company/AddressTable.tsx:145 +#: src/tables/company/AddressTable.tsx:144 msgid "Are you sure you want to delete this address?" msgstr "" @@ -5177,36 +5287,52 @@ msgstr "" msgid "Add contact" msgstr "" -#: src/tables/general/AttachmentTable.tsx:161 +#: src/tables/general/AttachmentTable.tsx:130 msgid "File uploaded" msgstr "" -#: src/tables/general/AttachmentTable.tsx:162 +#: src/tables/general/AttachmentTable.tsx:131 msgid "File {0} uploaded successfully" msgstr "" -#: src/tables/general/AttachmentTable.tsx:173 +#: src/tables/general/AttachmentTable.tsx:142 msgid "Upload Error" msgstr "" -#: src/tables/general/AttachmentTable.tsx:174 +#: src/tables/general/AttachmentTable.tsx:143 msgid "File could not be uploaded" msgstr "" #: src/tables/general/AttachmentTable.tsx:187 +msgid "Upload Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:197 +msgid "Edit Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:211 +msgid "Delete Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:221 msgid "Add attachment" msgstr "" -#: src/tables/general/AttachmentTable.tsx:207 +#: src/tables/general/AttachmentTable.tsx:232 msgid "Add external link" msgstr "" -#: src/tables/general/AttachmentTable.tsx:239 +#: src/tables/general/AttachmentTable.tsx:254 +#~ msgid "Upload attachment" +#~ msgstr "Upload attachment" + +#: src/tables/general/AttachmentTable.tsx:289 msgid "No attachments found" msgstr "" -#: src/tables/general/AttachmentTable.tsx:254 -msgid "Upload attachment" +#: src/tables/general/AttachmentTable.tsx:325 +msgid "Drag attachment file here to upload" msgstr "" #: src/tables/machine/MachineListTable.tsx:199 @@ -5332,8 +5458,8 @@ msgstr "" #: src/tables/machine/MachineTypeTable.tsx:135 #: src/tables/machine/MachineTypeTable.tsx:255 -#: src/tables/plugin/PluginListTable.tsx:215 -#: src/tables/plugin/PluginListTable.tsx:643 +#: src/tables/plugin/PluginListTable.tsx:180 +#: src/tables/plugin/PluginListTable.tsx:568 msgid "Builtin" msgstr "" @@ -5375,7 +5501,7 @@ msgid "Message" msgstr "" #: src/tables/part/ParametricPartTable.tsx:75 -#: src/tables/part/PartParameterTable.tsx:87 +#: src/tables/part/PartParameterTable.tsx:88 msgid "Internal Units" msgstr "" @@ -5388,29 +5514,29 @@ msgid "Add Part Parameter" msgstr "" #: src/tables/part/ParametricPartTable.tsx:147 -#: src/tables/part/PartParameterTable.tsx:128 -#: src/tables/part/PartParameterTable.tsx:150 +#: src/tables/part/PartParameterTable.tsx:121 +#: src/tables/part/PartParameterTable.tsx:144 msgid "Edit Part Parameter" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:64 +#: src/tables/part/PartCategoryTable.tsx:60 #: src/tables/part/PartTable.tsx:180 msgid "Include Subcategories" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:65 +#: src/tables/part/PartCategoryTable.tsx:61 msgid "Include subcategories in results" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:70 +#: src/tables/part/PartCategoryTable.tsx:66 msgid "Show structural categories" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:77 +#: src/tables/part/PartCategoryTable.tsx:73 msgid "New Part Category" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:106 +#: src/tables/part/PartCategoryTable.tsx:98 msgid "Add Part Category" msgstr "" @@ -5435,20 +5561,20 @@ msgstr "" #~ msgid "[{0}]" #~ msgstr "[{0}]" -#: src/tables/part/PartParameterTable.tsx:112 +#: src/tables/part/PartParameterTable.tsx:105 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:136 -#: src/tables/part/PartParameterTable.tsx:158 +#: src/tables/part/PartParameterTable.tsx:130 +#: src/tables/part/PartParameterTable.tsx:152 msgid "Delete Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:175 +#: src/tables/part/PartParameterTable.tsx:170 msgid "Add parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:196 +#: src/tables/part/PartParameterTable.tsx:191 #: src/tables/stock/StockItemTable.tsx:300 msgid "Include Variants" msgstr "" @@ -5482,15 +5608,15 @@ msgstr "" msgid "Add Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:97 +#: src/tables/part/PartParameterTemplateTable.tsx:100 msgid "Edit Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:105 +#: src/tables/part/PartParameterTemplateTable.tsx:111 msgid "Delete Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:135 +#: src/tables/part/PartParameterTemplateTable.tsx:141 msgid "Add parameter template" msgstr "" @@ -5588,7 +5714,7 @@ msgid "No Results" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:79 -#: src/tables/stock/StockItemTestResultTable.tsx:385 +#: src/tables/stock/StockItemTestResultTable.tsx:376 msgid "Required" msgstr "" @@ -5597,8 +5723,8 @@ msgid "Show required tests" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:84 -#: src/tables/settings/TemplateTable.tsx:213 -#: src/tables/settings/TemplateTable.tsx:275 +#: src/tables/settings/TemplateTable.tsx:160 +#: src/tables/settings/TemplateTable.tsx:270 msgid "Enabled" msgstr "" @@ -5639,26 +5765,30 @@ msgid "Show tests which have recorded results" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:126 -#: src/tables/part/PartTestTemplateTable.tsx:195 +#: src/tables/part/PartTestTemplateTable.tsx:201 msgid "Add Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:139 +#: src/tables/part/PartTestTemplateTable.tsx:142 msgid "Edit Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:147 +#: src/tables/part/PartTestTemplateTable.tsx:153 msgid "Delete Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:149 +#: src/tables/part/PartTestTemplateTable.tsx:155 msgid "This action cannot be reversed" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:151 +#: src/tables/part/PartTestTemplateTable.tsx:157 msgid "Any tests results associated with this template will be deleted" msgstr "" +#: src/tables/part/PartThumbTable.tsx:203 +msgid "Select" +msgstr "" + #: src/tables/part/PartVariantTable.tsx:16 msgid "Show active variants" msgstr "" @@ -5695,252 +5825,273 @@ msgstr "" msgid "Stage" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:113 -msgid "Plugin with id {id} not found" +#: src/tables/plugin/PluginListTable.tsx:95 +msgid "Plugin with key {pluginKey} not found" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:115 +#: src/tables/plugin/PluginListTable.tsx:97 msgid "An error occurred while fetching plugin details" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:134 -msgid "Plugin Actions" -msgstr "" +#: src/tables/plugin/PluginListTable.tsx:113 +#~ msgid "Plugin with id {id} not found" +#~ msgstr "Plugin with id {id} not found" -#: src/tables/plugin/PluginListTable.tsx:138 -#: src/tables/plugin/PluginListTable.tsx:141 -msgid "Edit plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:152 -#: src/tables/plugin/PluginListTable.tsx:153 -msgid "Reload" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:166 +#: src/tables/plugin/PluginListTable.tsx:122 msgid "Plugin information" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:177 +#: src/tables/plugin/PluginListTable.tsx:134 msgid "Author" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:198 +#: src/tables/plugin/PluginListTable.tsx:134 +#~ msgid "Plugin Actions" +#~ msgstr "Plugin Actions" + +#: src/tables/plugin/PluginListTable.tsx:138 +#: src/tables/plugin/PluginListTable.tsx:141 +#~ msgid "Edit plugin" +#~ msgstr "Edit plugin" + +#: src/tables/plugin/PluginListTable.tsx:152 +#: src/tables/plugin/PluginListTable.tsx:153 +#~ msgid "Reload" +#~ msgstr "Reload" + +#: src/tables/plugin/PluginListTable.tsx:154 +msgid "Plugin is not active" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:163 msgid "Package information" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:204 +#: src/tables/plugin/PluginListTable.tsx:169 msgid "Package Name" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:210 +#: src/tables/plugin/PluginListTable.tsx:175 msgid "Installation Path" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:220 +#: src/tables/plugin/PluginListTable.tsx:185 msgid "Package" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:231 +#: src/tables/plugin/PluginListTable.tsx:197 msgid "Plugin settings" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:248 +#: src/tables/plugin/PluginListTable.tsx:214 msgid "Plugin is active" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:254 +#: src/tables/plugin/PluginListTable.tsx:220 msgid "Plugin is inactive" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:261 +#: src/tables/plugin/PluginListTable.tsx:227 msgid "Plugin is not installed" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:287 +#: src/tables/plugin/PluginListTable.tsx:253 msgid "Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:312 +#: src/tables/plugin/PluginListTable.tsx:287 msgid "Description not available" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:338 +#: src/tables/plugin/PluginListTable.tsx:319 +msgid "Confirm plugin activation" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:320 +msgid "Confirm plugin deactivation" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:325 +msgid "The selected plugin will be activated" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:326 +msgid "The selected plugin will be deactivated" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:334 msgid "Activate Plugin" msgstr "" #: src/tables/plugin/PluginListTable.tsx:338 -msgid "Deactivate Plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:347 -msgid "Confirm plugin activation" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:348 -msgid "Confirm plugin deactivation" -msgstr "" +#~ msgid "Deactivate Plugin" +#~ msgstr "Deactivate Plugin" #: src/tables/plugin/PluginListTable.tsx:354 -msgid "The following plugin will be activated" -msgstr "" +#~ msgid "The following plugin will be activated" +#~ msgstr "The following plugin will be activated" #: src/tables/plugin/PluginListTable.tsx:355 -msgid "The following plugin will be deactivated" -msgstr "" +#~ msgid "The following plugin will be deactivated" +#~ msgstr "The following plugin will be deactivated" -#: src/tables/plugin/PluginListTable.tsx:366 -msgid "Confirm" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:376 -msgid "Activating plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:376 -msgid "Deactivating plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:392 -msgid "Plugin updated" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:394 -msgid "The plugin was activated" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:395 -msgid "The plugin was deactivated" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:403 -msgid "Error updating plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:423 +#: src/tables/plugin/PluginListTable.tsx:362 msgid "Deactivate" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:432 +#: src/tables/plugin/PluginListTable.tsx:366 +#~ msgid "Confirm" +#~ msgstr "Confirm" + +#: src/tables/plugin/PluginListTable.tsx:373 msgid "Activate" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:463 +#: src/tables/plugin/PluginListTable.tsx:376 +#~ msgid "Activating plugin" +#~ msgstr "Activating plugin" + +#: src/tables/plugin/PluginListTable.tsx:376 +#~ msgid "Deactivating plugin" +#~ msgstr "Deactivating plugin" + +#: src/tables/plugin/PluginListTable.tsx:392 +#~ msgid "Plugin updated" +#~ msgstr "Plugin updated" + +#: src/tables/plugin/PluginListTable.tsx:394 +#~ msgid "The plugin was activated" +#~ msgstr "The plugin was activated" + +#: src/tables/plugin/PluginListTable.tsx:395 +#~ msgid "The plugin was deactivated" +#~ msgstr "The plugin was deactivated" + +#: src/tables/plugin/PluginListTable.tsx:403 +#~ msgid "Error updating plugin" +#~ msgstr "Error updating plugin" + +#: src/tables/plugin/PluginListTable.tsx:406 msgid "Uninstall" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:495 +#: src/tables/plugin/PluginListTable.tsx:438 msgid "Install plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:508 +#: src/tables/plugin/PluginListTable.tsx:451 msgid "Install" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:512 +#: src/tables/plugin/PluginListTable.tsx:452 msgid "Plugin installed successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:525 +#: src/tables/plugin/PluginListTable.tsx:457 msgid "Uninstall Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:537 +#: src/tables/plugin/PluginListTable.tsx:469 msgid "Confirm plugin uninstall" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:540 +#: src/tables/plugin/PluginListTable.tsx:472 msgid "The selected plugin will be uninstalled." msgstr "" -#: src/tables/plugin/PluginListTable.tsx:541 +#: src/tables/plugin/PluginListTable.tsx:473 msgid "This action cannot be undone." msgstr "" -#: src/tables/plugin/PluginListTable.tsx:547 +#: src/tables/plugin/PluginListTable.tsx:477 msgid "Plugin uninstalled successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:560 +#: src/tables/plugin/PluginListTable.tsx:484 msgid "Delete Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:562 +#: src/tables/plugin/PluginListTable.tsx:485 msgid "Deleting this plugin configuration will remove all associated settings and data. Are you sure you want to delete this plugin?" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:574 +#: src/tables/plugin/PluginListTable.tsx:498 msgid "Plugins reloaded" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:575 +#: src/tables/plugin/PluginListTable.tsx:499 msgid "Plugins were reloaded successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:591 +#: src/tables/plugin/PluginListTable.tsx:515 msgid "Reload Plugins" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:600 +#: src/tables/plugin/PluginListTable.tsx:524 msgid "Install Plugin" msgstr "" +#: src/tables/plugin/PluginListTable.tsx:544 +msgid "Plugin Detail" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:573 +msgid "Sample" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:578 +#: src/tables/stock/StockItemTable.tsx:305 +msgid "Installed" +msgstr "" + #: src/tables/plugin/PluginListTable.tsx:615 #~ msgid "Plugin detail" #~ msgstr "Plugin detail" -#: src/tables/plugin/PluginListTable.tsx:619 -msgid "Plugin Detail" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:648 -msgid "Sample" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:653 -#: src/tables/stock/StockItemTable.tsx:305 -msgid "Installed" -msgstr "" - -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:57 -msgid "Edit Parameter" +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:59 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:108 +msgid "Add Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:60 -msgid "Parameter updated" -msgstr "" +#~ msgid "Parameter updated" +#~ msgstr "Parameter updated" -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:71 -msgid "Delete Parameter" +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:70 +msgid "Edit Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:73 -msgid "Parameter deleted" -msgstr "" +#~ msgid "Parameter deleted" +#~ msgstr "Parameter deleted" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:74 -msgid "Are you sure you want to delete this parameter?" +#~ msgid "Are you sure you want to delete this parameter?" +#~ msgstr "Are you sure you want to delete this parameter?" + +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:78 +msgid "Delete Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartTable.tsx:63 #~ msgid "Create Manufacturer Part" #~ msgstr "Create Manufacturer Part" -#: src/tables/purchasing/ManufacturerPartTable.tsx:100 -msgid "Manufacturer part updated" -msgstr "" - -#: src/tables/purchasing/ManufacturerPartTable.tsx:111 +#: src/tables/purchasing/ManufacturerPartTable.tsx:92 msgid "Delete Manufacturer Part" msgstr "" +#: src/tables/purchasing/ManufacturerPartTable.tsx:100 +#~ msgid "Manufacturer part updated" +#~ msgstr "Manufacturer part updated" + #: src/tables/purchasing/ManufacturerPartTable.tsx:112 -msgid "Manufacturer part deleted" -msgstr "" +#~ msgid "Manufacturer part deleted" +#~ msgstr "Manufacturer part deleted" #: src/tables/purchasing/ManufacturerPartTable.tsx:114 -msgid "Are you sure you want to remove this manufacturer part?" -msgstr "" +#~ msgid "Are you sure you want to remove this manufacturer part?" +#~ msgstr "Are you sure you want to remove this manufacturer part?" #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:86 msgid "Part Description" @@ -6087,18 +6238,22 @@ msgid "Error Information" msgstr "" #: src/tables/settings/ErrorTable.tsx:51 -msgid "Delete error report" +msgid "Delete Error Report" msgstr "" +#: src/tables/settings/ErrorTable.tsx:51 +#~ msgid "Delete error report" +#~ msgstr "Delete error report" + #: src/tables/settings/ErrorTable.tsx:53 -msgid "Error report deleted" -msgstr "" - -#: src/tables/settings/ErrorTable.tsx:54 msgid "Are you sure you want to delete this error report?" msgstr "" -#: src/tables/settings/ErrorTable.tsx:67 +#: src/tables/settings/ErrorTable.tsx:55 +msgid "Error report deleted" +msgstr "" + +#: src/tables/settings/ErrorTable.tsx:77 #: src/tables/settings/FailedTasksTable.tsx:57 msgid "Error Details" msgstr "" @@ -6115,7 +6270,7 @@ msgid "Task ID" msgstr "" #: src/tables/settings/FailedTasksTable.tsx:34 -#: src/tables/stock/StockItemTestResultTable.tsx:214 +#: src/tables/stock/StockItemTestResultTable.tsx:205 msgid "Started" msgstr "" @@ -6188,30 +6343,71 @@ msgstr "" msgid "Next Run" msgstr "" -#: src/tables/settings/TemplateTable.tsx:120 -msgid "{templateTypeTranslation} with id {id} not found" +#: src/tables/settings/TemplateTable.tsx:82 +msgid "Template not found" msgstr "" +#: src/tables/settings/TemplateTable.tsx:84 +msgid "An error occurred while fetching template details" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:120 +#~ msgid "{templateTypeTranslation} with id {id} not found" +#~ msgstr "{templateTypeTranslation} with id {id} not found" + #: src/tables/settings/TemplateTable.tsx:124 -msgid "An error occurred while fetching {templateTypeTranslation} details" -msgstr "" +#~ msgid "An error occurred while fetching {templateTypeTranslation} details" +#~ msgstr "An error occurred while fetching {templateTypeTranslation} details" #: src/tables/settings/TemplateTable.tsx:146 -msgid "actions" +#~ msgid "actions" +#~ msgstr "actions" + +#: src/tables/settings/TemplateTable.tsx:170 +msgid "Modify" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:171 +msgid "Modify template file" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:222 +#: src/tables/settings/TemplateTable.tsx:289 +msgid "Edit Template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:230 +msgid "Delete template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:236 +msgid "Add Template" msgstr "" #: src/tables/settings/TemplateTable.tsx:243 -msgid "Add new" -msgstr "" +#~ msgid "Add new" +#~ msgstr "Add new" #: src/tables/settings/TemplateTable.tsx:243 #~ msgid "Create new" #~ msgstr "Create new" -#: src/tables/settings/TemplateTable.tsx:276 +#: src/tables/settings/TemplateTable.tsx:249 +msgid "Add template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:271 msgid "Filter by enabled status" msgstr "" +#: src/tables/settings/TemplateTable.tsx:276 +msgid "Model Type" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:277 +msgid "Filter by target model type" +msgstr "" + #: src/tables/settings/UserTable.tsx:79 msgid "User with id {id} not found" msgstr "" @@ -6277,6 +6473,23 @@ msgstr "" msgid "Edit user" msgstr "" +#: src/tables/stock/LocationTypesTable.tsx:36 +#: src/tables/stock/LocationTypesTable.tsx:105 +msgid "Add Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:44 +msgid "Edit Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:52 +msgid "Delete Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:69 +msgid "Icon" +msgstr "" + #: src/tables/stock/StockItemTable.tsx:90 msgid "This stock item is in production" msgstr "" @@ -6338,7 +6551,7 @@ msgid "Show items which are available" msgstr "" #: src/tables/stock/StockItemTable.tsx:280 -#: src/tables/stock/StockLocationTable.tsx:37 +#: src/tables/stock/StockLocationTable.tsx:33 msgid "Include Sublocations" msgstr "" @@ -6467,123 +6680,135 @@ msgstr "" msgid "Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:153 +#: src/tables/stock/StockItemTestResultTable.tsx:151 msgid "Test result for installed stock item" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:164 +#: src/tables/stock/StockItemTestResultTable.tsx:162 msgid "Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:170 +#: src/tables/stock/StockItemTestResultTable.tsx:168 msgid "No Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:186 +#: src/tables/stock/StockItemTestResultTable.tsx:184 msgid "Attachment" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:209 +#: src/tables/stock/StockItemTestResultTable.tsx:200 msgid "Test station" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:229 +#: src/tables/stock/StockItemTestResultTable.tsx:220 msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:277 -#: src/tables/stock/StockItemTestResultTable.tsx:349 -#: src/tables/stock/StockItemTestResultTable.tsx:404 +#: src/tables/stock/StockItemTestResultTable.tsx:268 +#: src/tables/stock/StockItemTestResultTable.tsx:340 +#: src/tables/stock/StockItemTestResultTable.tsx:395 msgid "Add Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:279 +#: src/tables/stock/StockItemTestResultTable.tsx:270 msgid "Test result added" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:288 -#: src/tables/stock/StockItemTestResultTable.tsx:359 +#: src/tables/stock/StockItemTestResultTable.tsx:279 +#: src/tables/stock/StockItemTestResultTable.tsx:350 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:290 +#: src/tables/stock/StockItemTestResultTable.tsx:281 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:296 -#: src/tables/stock/StockItemTestResultTable.tsx:368 +#: src/tables/stock/StockItemTestResultTable.tsx:287 +#: src/tables/stock/StockItemTestResultTable.tsx:359 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:298 +#: src/tables/stock/StockItemTestResultTable.tsx:289 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:312 +#: src/tables/stock/StockItemTestResultTable.tsx:303 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:313 +#: src/tables/stock/StockItemTestResultTable.tsx:304 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:320 +#: src/tables/stock/StockItemTestResultTable.tsx:311 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:337 +#: src/tables/stock/StockItemTestResultTable.tsx:328 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:386 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:390 +#: src/tables/stock/StockItemTestResultTable.tsx:381 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:391 +#: src/tables/stock/StockItemTestResultTable.tsx:382 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:395 +#: src/tables/stock/StockItemTestResultTable.tsx:386 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:396 +#: src/tables/stock/StockItemTestResultTable.tsx:387 msgid "Show only passed tests" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:38 +#: src/tables/stock/StockLocationTable.tsx:34 msgid "Include sublocations in results" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:42 +#: src/tables/stock/StockLocationTable.tsx:38 msgid "structural" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:43 +#: src/tables/stock/StockLocationTable.tsx:39 msgid "Show structural locations" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:47 +#: src/tables/stock/StockLocationTable.tsx:43 msgid "external" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:48 +#: src/tables/stock/StockLocationTable.tsx:44 msgid "Show external locations" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:52 +#: src/tables/stock/StockLocationTable.tsx:48 msgid "Has location type" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:89 -#: src/tables/stock/StockLocationTable.tsx:118 +#: src/tables/stock/StockLocationTable.tsx:85 +#: src/tables/stock/StockLocationTable.tsx:110 msgid "Add Stock Location" msgstr "" +#: src/tables/stock/StockTrackingTable.tsx:64 +msgid "Added" +msgstr "" + +#: src/tables/stock/StockTrackingTable.tsx:69 +msgid "Removed" +msgstr "" + +#: src/tables/stock/StockTrackingTable.tsx:198 +msgid "No user information" +msgstr "" + #: src/views/MobileAppView.tsx:22 msgid "Mobile viewport detected" msgstr "" diff --git a/src/frontend/src/locales/ja/messages.po b/src/frontend/src/locales/ja/messages.po index 281c0e13d9..3cd007b8d5 100644 --- a/src/frontend/src/locales/ja/messages.po +++ b/src/frontend/src/locales/ja/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: ja\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-05-13 02:48\n" +"PO-Revision-Date: 2024-05-23 11:38\n" "Last-Translator: \n" "Language-Team: Japanese\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -30,10 +30,67 @@ msgstr "" msgid "Title" msgstr "タイトル" +#: src/components/buttons/AdminButton.tsx:83 +msgid "Open in admin interface" +msgstr "" + #: src/components/buttons/CopyButton.tsx:18 msgid "Copy to clipboard" msgstr "" +#: src/components/buttons/PrintingActions.tsx:95 +msgid "Print Label" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:101 +msgid "Label printing completed successfully" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:106 +#: src/components/buttons/PrintingActions.tsx:143 +#: src/components/forms/ApiForm.tsx:504 +#: src/components/forms/fields/ApiFormField.tsx:295 +#: src/components/modals/LicenseModal.tsx:75 +#: src/components/nav/SearchDrawer.tsx:413 +#: src/components/widgets/MarkdownEditor.tsx:107 +#: src/components/widgets/MarkdownEditor.tsx:153 +#: src/pages/ErrorPage.tsx:12 +#: src/pages/ErrorPage.tsx:25 +#: src/pages/part/PartPricingPanel.tsx:71 +#: src/tables/InvenTreeTable.tsx:451 +#: src/tables/InvenTreeTable.tsx:531 +#: src/tables/stock/StockItemTestResultTable.tsx:310 +msgid "Error" +msgstr "エラー" + +#: src/components/buttons/PrintingActions.tsx:107 +msgid "The label could not be generated" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:122 +msgid "Print Report" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:138 +msgid "Report printing completed successfully" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:144 +msgid "The report could not be generated" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:171 +msgid "Printing Actions" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:176 +msgid "Print Labels" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:182 +msgid "Print Reports" +msgstr "" + #: src/components/buttons/ScanButton.tsx:15 msgid "Scan QR code" msgstr "" @@ -64,15 +121,15 @@ msgstr "" msgid "No" msgstr "" -#: src/components/details/Details.tsx:302 +#: src/components/details/Details.tsx:303 msgid "No name defined" msgstr "" -#: src/components/details/Details.tsx:339 +#: src/components/details/Details.tsx:340 msgid "Copied" msgstr "" -#: src/components/details/Details.tsx:339 +#: src/components/details/Details.tsx:340 msgid "Copy" msgstr "" @@ -85,24 +142,23 @@ msgid "Remove the associated image from this item?" msgstr "" #: src/components/details/DetailsImage.tsx:71 -#: src/forms/StockForms.tsx:442 +#: src/forms/StockForms.tsx:483 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:448 +#: src/pages/stock/StockDetail.tsx:462 msgid "Remove" msgstr "" #: src/components/details/DetailsImage.tsx:71 -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:163 -#: src/components/items/ActionDropdown.tsx:222 -#: src/components/items/ActionDropdown.tsx:223 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 +#: src/components/items/ActionDropdown.tsx:229 +#: src/components/items/ActionDropdown.tsx:230 #: src/contexts/ThemeContext.tsx:43 #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:40 -#: src/tables/FilterSelectDrawer.tsx:218 -#: src/tables/InvenTreeTable.tsx:493 -#: src/tables/build/BuildOutputTable.tsx:223 -#: src/tables/plugin/PluginListTable.tsx:365 +#: src/tables/FilterSelectDrawer.tsx:207 +#: src/tables/InvenTreeTable.tsx:499 +#: src/tables/build/BuildOutputTable.tsx:225 msgid "Cancel" msgstr "キャンセル" @@ -119,7 +175,7 @@ msgid "Clear" msgstr "" #: src/components/details/DetailsImage.tsx:227 -#: src/components/forms/ApiForm.tsx:554 +#: src/components/forms/ApiForm.tsx:571 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:56 msgid "Submit" @@ -150,9 +206,10 @@ msgid "Part is not active" msgstr "" #: src/components/details/PartIcons.tsx:34 -#: src/pages/company/CompanyDetail.tsx:308 -#: src/pages/company/SupplierPartDetail.tsx:304 -#: src/pages/part/PartDetail.tsx:684 +#: src/components/render/Plugin.tsx:17 +#: src/pages/company/CompanyDetail.tsx:310 +#: src/pages/company/SupplierPartDetail.tsx:305 +#: src/pages/part/PartDetail.tsx:685 msgid "Inactive" msgstr "" @@ -196,10 +253,10 @@ msgid "Code" msgstr "" #: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:44 -msgid "Failed to parse error response from server." -msgstr "" +#~ msgid "Failed to parse error response from server." +#~ msgstr "Failed to parse error response from server." -#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:82 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:81 msgid "Preview not available, click \"Reload Preview\"." msgstr "" @@ -207,98 +264,99 @@ msgstr "" msgid "PDF Preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:113 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:104 msgid "Error loading template" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:125 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:116 msgid "Error saving template" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 -msgid "Save & Reload preview?" +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:146 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:270 +msgid "Save & Reload Preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:156 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 msgid "Are you sure you want to Save & Reload the preview?" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 +#~ msgid "Save & Reload preview?" +#~ msgstr "Save & Reload preview?" + +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:153 msgid "To render the preview the current template needs to be replaced on the server with your modifications which may break the label if it is under active use. Do you want to proceed?" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:162 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:157 msgid "Save & Reload" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:191 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:189 msgid "Preview updated" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:192 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:190 msgid "The preview has been updated successfully." msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:255 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:262 msgid "Reload preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:256 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:263 msgid "Use the currently stored template from the server" msgstr "" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:263 -msgid "Save & Reload preview" -msgstr "" +#~ msgid "Save & Reload preview" +#~ msgstr "Save & Reload preview" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:264 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:271 msgid "Save the current template and reload the preview" msgstr "" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:322 -#: src/tables/part/PartThumbTable.tsx:203 -msgid "Select" +#~ msgid "to preview" +#~ msgstr "to preview" + +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:329 +msgid "Select instance to preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:322 -msgid "to preview" -msgstr "" - -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:366 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:373 msgid "Error rendering template" msgstr "" -#: src/components/forms/ApiForm.tsx:143 +#: src/components/forms/ApiForm.tsx:148 #: src/functions/forms.tsx:259 msgid "Form Error" msgstr "" -#: src/components/forms/ApiForm.tsx:411 +#: src/components/forms/ApiForm.tsx:428 #: src/components/widgets/MarkdownEditor.tsx:145 msgid "Success" msgstr "" #: src/components/forms/ApiForm.tsx:487 -msgid "Form Errors Exist" -msgstr "" +#~ msgid "Form Errors Exist" +#~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:592 -#: src/tables/plugin/PluginListTable.tsx:445 +#: src/components/forms/ApiForm.tsx:609 +#: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "" -#: src/components/forms/ApiForm.tsx:612 -#: src/components/items/ActionDropdown.tsx:203 +#: src/components/forms/ApiForm.tsx:629 +#: src/components/items/ActionDropdown.tsx:210 #: src/functions/forms.tsx:299 #: src/hooks/UseForm.tsx:122 #: src/pages/Index/Scan.tsx:343 #: src/pages/Notifications.tsx:123 -#: src/tables/InvenTreeTable.tsx:492 +#: src/tables/InvenTreeTable.tsx:498 #: src/tables/RowActions.tsx:71 -#: src/tables/plugin/PluginListTable.tsx:477 -#: src/tables/settings/TemplateTable.tsx:105 -#: src/tables/settings/TemplateTable.tsx:154 -#: src/tables/settings/TemplateTable.tsx:236 +#: src/tables/plugin/PluginListTable.tsx:420 msgid "Delete" msgstr "削除" @@ -468,18 +526,19 @@ msgstr "" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 -#: src/pages/part/CategoryDetail.tsx:77 -#: src/pages/part/PartDetail.tsx:125 -#: src/pages/stock/LocationDetail.tsx:83 +#: src/pages/part/CategoryDetail.tsx:78 +#: src/pages/part/PartDetail.tsx:126 +#: src/pages/stock/LocationDetail.tsx:85 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 #: src/tables/machine/MachineTypeTable.tsx:216 #: src/tables/machine/MachineTypeTable.tsx:319 #: src/tables/plugin/PluginErrorTable.tsx:33 -#: src/tables/plugin/PluginListTable.tsx:169 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:27 +#: src/tables/plugin/PluginListTable.tsx:126 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:32 #: src/tables/settings/GroupTable.tsx:103 #: src/tables/settings/PendingTasksTable.tsx:26 +#: src/tables/stock/LocationTypesTable.tsx:60 msgid "Name" msgstr "名前" @@ -520,35 +579,20 @@ msgstr "" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/ApiFormField.tsx:276 -#: src/components/modals/LicenseModal.tsx:75 -#: src/components/nav/SearchDrawer.tsx:413 -#: src/components/widgets/MarkdownEditor.tsx:107 -#: src/components/widgets/MarkdownEditor.tsx:153 -#: src/pages/ErrorPage.tsx:12 -#: src/pages/ErrorPage.tsx:25 -#: src/pages/part/PartPricingPanel.tsx:71 -#: src/tables/InvenTreeTable.tsx:445 -#: src/tables/InvenTreeTable.tsx:525 -#: src/tables/plugin/PluginListTable.tsx:402 -#: src/tables/stock/StockItemTestResultTable.tsx:319 -msgid "Error" -msgstr "エラー" - -#: src/components/forms/fields/RelatedModelField.tsx:305 +#: src/components/forms/fields/RelatedModelField.tsx:315 #: src/pages/Index/Settings/UserSettings.tsx:64 #: src/tables/Search.tsx:23 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:306 +#: src/components/forms/fields/RelatedModelField.tsx:316 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:120 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "読み込み中" -#: src/components/forms/fields/RelatedModelField.tsx:308 +#: src/components/forms/fields/RelatedModelField.tsx:318 msgid "No results found" msgstr "" @@ -569,54 +613,51 @@ msgstr "" msgid "Thumbnail" msgstr "サムネイル" -#: src/components/items/ActionDropdown.tsx:112 -#: src/pages/build/BuildDetail.tsx:354 +#: src/components/items/ActionDropdown.tsx:119 +#: src/pages/build/BuildDetail.tsx:360 msgid "Barcode Actions" msgstr "" -#: src/components/items/ActionDropdown.tsx:129 +#: src/components/items/ActionDropdown.tsx:136 msgid "View" msgstr "" -#: src/components/items/ActionDropdown.tsx:130 +#: src/components/items/ActionDropdown.tsx:137 msgid "View barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:146 +#: src/components/items/ActionDropdown.tsx:153 msgid "Link Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:147 +#: src/components/items/ActionDropdown.tsx:154 msgid "Link custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:163 -#: src/forms/PurchaseOrderForms.tsx:375 +#: src/components/items/ActionDropdown.tsx:170 +#: src/forms/PurchaseOrderForms.tsx:389 msgid "Unlink Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:164 +#: src/components/items/ActionDropdown.tsx:171 msgid "Unlink custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:182 +#: src/components/items/ActionDropdown.tsx:189 #: src/tables/RowActions.tsx:51 -#: src/tables/settings/TemplateTable.tsx:87 -#: src/tables/settings/TemplateTable.tsx:150 -#: src/tables/settings/TemplateTable.tsx:287 msgid "Edit" msgstr "編集" -#: src/components/items/ActionDropdown.tsx:204 +#: src/components/items/ActionDropdown.tsx:211 msgid "Delete item" msgstr "" -#: src/components/items/ActionDropdown.tsx:241 +#: src/components/items/ActionDropdown.tsx:248 #: src/tables/RowActions.tsx:31 msgid "Duplicate" msgstr "" -#: src/components/items/ActionDropdown.tsx:242 +#: src/components/items/ActionDropdown.tsx:249 msgid "Duplicate item" msgstr "" @@ -625,7 +666,7 @@ msgid "Read More" msgstr "続きを読む" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:437 +#: src/tables/InvenTreeTable.tsx:443 msgid "Unknown error" msgstr "" @@ -785,27 +826,27 @@ msgstr "" #: src/components/modals/QrCodeModal.tsx:154 #: src/defaults/menuItems.tsx:21 -#: src/pages/Index/Scan.tsx:747 +#: src/pages/Index/Scan.tsx:746 msgid "Scanning" msgstr "" #: src/components/modals/QrCodeModal.tsx:154 -#: src/pages/Index/Scan.tsx:747 +#: src/pages/Index/Scan.tsx:746 msgid "Not scanning" msgstr "" #: src/components/modals/QrCodeModal.tsx:159 -#: src/pages/Index/Scan.tsx:753 +#: src/pages/Index/Scan.tsx:752 msgid "Select Camera" msgstr "" #: src/components/modals/QrCodeModal.tsx:169 -#: src/pages/Index/Scan.tsx:738 +#: src/pages/Index/Scan.tsx:737 msgid "Start scanning" msgstr "" #: src/components/modals/QrCodeModal.tsx:176 -#: src/pages/Index/Scan.tsx:730 +#: src/pages/Index/Scan.tsx:729 msgid "Stop scanning" msgstr "" @@ -891,8 +932,8 @@ msgid "Email settings not configured" msgstr "" #: src/components/modals/ServerInfoModal.tsx:121 -#: src/tables/plugin/PluginListTable.tsx:187 -#: src/tables/plugin/PluginListTable.tsx:319 +#: src/tables/plugin/PluginListTable.tsx:144 +#: src/tables/plugin/PluginListTable.tsx:294 msgid "Version" msgstr "" @@ -926,13 +967,13 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:293 +#: src/pages/Index/Settings/SystemSettings.tsx:294 msgid "System Settings" msgstr "" #: src/components/nav/MainMenu.tsx:67 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:172 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 msgid "Admin Center" msgstr "" @@ -975,7 +1016,7 @@ msgid "Pages" msgstr "" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:133 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:153 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "" @@ -1013,9 +1054,9 @@ msgid "Mark as read" msgstr "既読にする" #: src/components/nav/PartCategoryTree.tsx:158 -#: src/components/render/ModelType.tsx:60 +#: src/components/render/ModelType.tsx:64 #: src/pages/Index/Settings/SystemSettings.tsx:162 -#: src/pages/part/CategoryDetail.tsx:248 +#: src/pages/part/CategoryDetail.tsx:249 msgid "Part Categories" msgstr "" @@ -1052,142 +1093,147 @@ msgid "No results available for search query" msgstr "" #: src/components/nav/StockLocationTree.tsx:93 -#: src/components/render/ModelType.tsx:76 -#: src/pages/stock/LocationDetail.tsx:175 +#: src/components/render/ModelType.tsx:82 +#: src/pages/stock/LocationDetail.tsx:185 msgid "Stock Locations" msgstr "在庫場所" -#: src/components/render/Instance.tsx:137 +#: src/components/render/Instance.tsx:166 msgid "Unknown model: {model}" msgstr "" -#: src/components/render/ModelType.tsx:21 -#: src/forms/BuildForms.tsx:184 -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49 +#: src/components/render/ModelType.tsx:22 +#: src/forms/BuildForms.tsx:201 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:83 #: src/pages/part/PartDetail.tsx:828 #: src/tables/part/RelatedPartTable.tsx:45 +#: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" msgstr "パーツ" -#: src/components/render/ModelType.tsx:22 +#: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 #: src/pages/Index/Settings/SystemSettings.tsx:167 -#: src/pages/part/CategoryDetail.tsx:109 -#: src/pages/part/CategoryDetail.tsx:234 -#: src/pages/part/CategoryDetail.tsx:264 -#: src/pages/part/PartDetail.tsx:638 +#: src/pages/part/CategoryDetail.tsx:110 +#: src/pages/part/CategoryDetail.tsx:235 +#: src/pages/part/CategoryDetail.tsx:265 +#: src/pages/part/PartDetail.tsx:639 msgid "Parts" msgstr "パーツ" -#: src/components/render/ModelType.tsx:29 +#: src/components/render/ModelType.tsx:31 msgid "Part Parameter Template" msgstr "" -#: src/components/render/ModelType.tsx:30 +#: src/components/render/ModelType.tsx:32 msgid "Part Parameter Templates" msgstr "" -#: src/components/render/ModelType.tsx:36 +#: src/components/render/ModelType.tsx:38 msgid "Part Test Template" msgstr "" -#: src/components/render/ModelType.tsx:37 +#: src/components/render/ModelType.tsx:39 msgid "Part Test Templates" msgstr "" -#: src/components/render/ModelType.tsx:43 -#: src/pages/company/SupplierPartDetail.tsx:189 -#: src/pages/company/SupplierPartDetail.tsx:317 -#: src/pages/stock/StockDetail.tsx:159 +#: src/components/render/ModelType.tsx:45 +#: src/pages/company/SupplierPartDetail.tsx:190 +#: src/pages/company/SupplierPartDetail.tsx:318 +#: src/pages/stock/StockDetail.tsx:162 #: src/tables/purchasing/SupplierPartTable.tsx:68 msgid "Supplier Part" msgstr "" -#: src/components/render/ModelType.tsx:44 +#: src/components/render/ModelType.tsx:46 msgid "Supplier Parts" msgstr "" -#: src/components/render/ModelType.tsx:51 -#: src/pages/company/ManufacturerPartDetail.tsx:124 +#: src/components/render/ModelType.tsx:54 +#: src/pages/company/ManufacturerPartDetail.tsx:125 msgid "Manufacturer Part" msgstr "" -#: src/components/render/ModelType.tsx:52 +#: src/components/render/ModelType.tsx:55 msgid "Manufacturer Parts" msgstr "" -#: src/components/render/ModelType.tsx:59 -#: src/pages/part/CategoryDetail.tsx:287 +#: src/components/render/ModelType.tsx:63 +#: src/pages/part/CategoryDetail.tsx:288 msgid "Part Category" msgstr "" -#: src/components/render/ModelType.tsx:67 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67 -#: src/pages/stock/StockDetail.tsx:535 +#: src/components/render/ModelType.tsx:72 +#: src/pages/stock/StockDetail.tsx:548 +#: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" msgstr "在庫商品" -#: src/components/render/ModelType.tsx:68 -#: src/pages/company/CompanyDetail.tsx:197 -#: src/pages/stock/LocationDetail.tsx:116 -#: src/pages/stock/LocationDetail.tsx:161 +#: src/components/render/ModelType.tsx:73 +#: src/pages/company/CompanyDetail.tsx:199 +#: src/pages/stock/LocationDetail.tsx:118 +#: src/pages/stock/LocationDetail.tsx:171 #: src/pages/stock/LocationDetail.tsx:365 msgid "Stock Items" msgstr "在庫商品" -#: src/components/render/ModelType.tsx:75 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:154 +#: src/components/render/ModelType.tsx:81 msgid "Stock Location" msgstr "在庫場所" -#: src/components/render/ModelType.tsx:83 +#: src/components/render/ModelType.tsx:90 +msgid "Stock Location Type" +msgstr "" + +#: src/components/render/ModelType.tsx:91 +msgid "Stock Location Types" +msgstr "" + +#: src/components/render/ModelType.tsx:95 msgid "Stock History" msgstr "" -#: src/components/render/ModelType.tsx:84 +#: src/components/render/ModelType.tsx:96 msgid "Stock Histories" msgstr "" -#: src/components/render/ModelType.tsx:88 +#: src/components/render/ModelType.tsx:100 #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:43 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:126 msgid "Build" msgstr "" -#: src/components/render/ModelType.tsx:89 +#: src/components/render/ModelType.tsx:101 msgid "Builds" msgstr "" -#: src/components/render/ModelType.tsx:96 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:76 +#: src/components/render/ModelType.tsx:109 msgid "Build Line" msgstr "" -#: src/components/render/ModelType.tsx:97 +#: src/components/render/ModelType.tsx:110 msgid "Build Lines" msgstr "" -#: src/components/render/ModelType.tsx:104 -#: src/pages/company/CompanyDetail.tsx:321 +#: src/components/render/ModelType.tsx:117 +#: src/pages/company/CompanyDetail.tsx:323 msgid "Company" msgstr "" -#: src/components/render/ModelType.tsx:105 +#: src/components/render/ModelType.tsx:118 msgid "Companies" msgstr "" -#: src/components/render/ModelType.tsx:112 +#: src/components/render/ModelType.tsx:126 #: src/tables/TableHoverCard.tsx:58 #: src/tables/build/BuildOrderTable.tsx:131 #: src/tables/purchasing/PurchaseOrderTable.tsx:64 @@ -1196,170 +1242,199 @@ msgstr "" msgid "Project Code" msgstr "" -#: src/components/render/ModelType.tsx:113 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:97 +#: src/components/render/ModelType.tsx:127 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:105 msgid "Project Codes" msgstr "" -#: src/components/render/ModelType.tsx:119 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99 +#: src/components/render/ModelType.tsx:133 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:355 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:362 +#: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" msgstr "" -#: src/components/render/ModelType.tsx:120 -#: src/pages/Index/Settings/SystemSettings.tsx:242 -#: src/pages/company/CompanyDetail.tsx:190 -#: src/pages/company/SupplierPartDetail.tsx:223 -#: src/pages/part/PartDetail.tsx:571 +#: src/components/render/ModelType.tsx:134 +#: src/pages/Index/Settings/SystemSettings.tsx:243 +#: src/pages/company/CompanyDetail.tsx:192 +#: src/pages/company/SupplierPartDetail.tsx:224 +#: src/pages/part/PartDetail.tsx:572 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" -#: src/components/render/ModelType.tsx:127 +#: src/components/render/ModelType.tsx:142 msgid "Purchase Order Line" msgstr "" -#: src/components/render/ModelType.tsx:128 +#: src/components/render/ModelType.tsx:143 msgid "Purchase Order Lines" msgstr "" -#: src/components/render/ModelType.tsx:132 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:108 +#: src/components/render/ModelType.tsx:147 #: src/pages/build/BuildDetail.tsx:131 -#: src/pages/sales/SalesOrderDetail.tsx:340 -#: src/pages/stock/StockDetail.tsx:207 +#: src/pages/sales/SalesOrderDetail.tsx:347 +#: src/pages/stock/StockDetail.tsx:210 +#: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" msgstr "" -#: src/components/render/ModelType.tsx:133 -#: src/pages/Index/Settings/SystemSettings.tsx:257 -#: src/pages/company/CompanyDetail.tsx:210 -#: src/pages/part/PartDetail.tsx:577 +#: src/components/render/ModelType.tsx:148 +#: src/pages/Index/Settings/SystemSettings.tsx:258 +#: src/pages/company/CompanyDetail.tsx:212 +#: src/pages/part/PartDetail.tsx:578 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" -#: src/components/render/ModelType.tsx:140 +#: src/components/render/ModelType.tsx:156 msgid "Sales Order Shipment" msgstr "" -#: src/components/render/ModelType.tsx:141 +#: src/components/render/ModelType.tsx:157 msgid "Sales Order Shipments" msgstr "" -#: src/components/render/ModelType.tsx:147 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:117 -#: src/pages/sales/ReturnOrderDetail.tsx:318 +#: src/components/render/ModelType.tsx:163 +#: src/pages/sales/ReturnOrderDetail.tsx:325 +#: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "" -#: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:272 -#: src/pages/company/CompanyDetail.tsx:217 +#: src/components/render/ModelType.tsx:164 +#: src/pages/Index/Settings/SystemSettings.tsx:273 +#: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" msgstr "" -#: src/components/render/ModelType.tsx:155 +#: src/components/render/ModelType.tsx:172 #: src/tables/company/AddressTable.tsx:47 msgid "Address" msgstr "" -#: src/components/render/ModelType.tsx:156 -#: src/pages/company/CompanyDetail.tsx:247 +#: src/components/render/ModelType.tsx:173 +#: src/pages/company/CompanyDetail.tsx:249 msgid "Addresses" msgstr "" -#: src/components/render/ModelType.tsx:162 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:189 -#: src/pages/sales/ReturnOrderDetail.tsx:157 -#: src/pages/sales/SalesOrderDetail.tsx:161 +#: src/components/render/ModelType.tsx:179 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:191 +#: src/pages/sales/ReturnOrderDetail.tsx:159 +#: src/pages/sales/SalesOrderDetail.tsx:163 msgid "Contact" msgstr "" -#: src/components/render/ModelType.tsx:163 -#: src/pages/company/CompanyDetail.tsx:241 +#: src/components/render/ModelType.tsx:180 +#: src/pages/company/CompanyDetail.tsx:243 msgid "Contacts" msgstr "" -#: src/components/render/ModelType.tsx:169 +#: src/components/render/ModelType.tsx:186 msgid "Owner" msgstr "" -#: src/components/render/ModelType.tsx:170 +#: src/components/render/ModelType.tsx:187 msgid "Owners" msgstr "" -#: src/components/render/ModelType.tsx:176 +#: src/components/render/ModelType.tsx:193 +#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "ユーザー" -#: src/components/render/ModelType.tsx:177 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:73 +#: src/components/render/ModelType.tsx:194 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:81 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "" -#: src/components/render/Order.tsx:87 +#: src/components/render/ModelType.tsx:200 +msgid "Label Template" +msgstr "" + +#: src/components/render/ModelType.tsx:201 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:135 +msgid "Label Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:207 +msgid "Report Template" +msgstr "" + +#: src/components/render/ModelType.tsx:208 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:141 +msgid "Report Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:214 +msgid "Plugin Configuration" +msgstr "" + +#: src/components/render/ModelType.tsx:215 +msgid "Plugin Configurations" +msgstr "" + +#: src/components/render/Order.tsx:104 msgid "Shipment" msgstr "" -#: src/components/render/Part.tsx:12 +#: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:198 -#: src/pages/part/PartDetail.tsx:491 +#: src/pages/Index/Settings/SystemSettings.tsx:199 +#: src/pages/part/PartDetail.tsx:492 #: src/pages/stock/LocationDetail.tsx:344 -#: src/pages/stock/StockDetail.tsx:344 +#: src/pages/stock/StockDetail.tsx:352 #: src/tables/stock/StockItemTable.tsx:57 msgid "Stock" msgstr "在庫" -#: src/components/render/Stock.tsx:26 -#: src/pages/stock/StockDetail.tsx:142 -#: src/pages/stock/StockDetail.tsx:501 +#: src/components/render/Stock.tsx:52 +#: src/pages/stock/StockDetail.tsx:145 +#: src/pages/stock/StockDetail.tsx:514 msgid "Serial Number" msgstr "" -#: src/components/render/Stock.tsx:28 -#: src/forms/BuildForms.tsx:189 +#: src/components/render/Stock.tsx:54 +#: src/forms/BuildForms.tsx:206 #: src/pages/part/pricing/BomPricingPanel.tsx:144 -#: src/pages/part/pricing/PriceBreakPanel.tsx:96 -#: src/pages/stock/StockDetail.tsx:137 -#: src/pages/stock/StockDetail.tsx:507 +#: src/pages/part/pricing/PriceBreakPanel.tsx:94 +#: src/pages/stock/StockDetail.tsx:140 +#: src/pages/stock/StockDetail.tsx:520 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:73 +#: src/tables/stock/StockTrackingTable.tsx:59 msgid "Quantity" msgstr "" -#: src/components/settings/SettingItem.tsx:46 -#: src/components/settings/SettingItem.tsx:99 -msgid "Setting updated" -msgstr "" - #: src/components/settings/SettingItem.tsx:47 #: src/components/settings/SettingItem.tsx:100 -msgid "{0} updated successfully" -msgstr "" +#~ msgid "{0} updated successfully" +#~ msgstr "{0} updated successfully" -#: src/components/settings/SettingItem.tsx:55 -msgid "Error editing setting" -msgstr "" - -#: src/components/settings/SettingItem.tsx:92 +#: src/components/settings/SettingList.tsx:67 msgid "Edit Setting" msgstr "" -#: src/components/settings/SettingList.tsx:63 -msgid "No settings specified" +#: src/components/settings/SettingList.tsx:78 +#: src/components/settings/SettingList.tsx:108 +msgid "Setting {0} updated successfully" msgstr "" -#: src/components/tables/ColumnRenderers.tsx:134 -#~ msgid "Shipment Date" -#~ msgstr "Shipment Date" +#: src/components/settings/SettingList.tsx:107 +msgid "Setting updated" +msgstr "" + +#: src/components/settings/SettingList.tsx:117 +msgid "Error editing setting" +msgstr "" + +#: src/components/settings/SettingList.tsx:158 +msgid "No settings specified" +msgstr "" #: src/components/tables/FilterGroup.tsx:29 #~ msgid "Add table filter" @@ -1731,10 +1806,6 @@ msgstr "" #~ msgid "This is a test filter" #~ msgstr "This is a test filter" -#: src/components/tables/stock/StockLocationTable.tsx:91 -#~ msgid "Location Type" -#~ msgstr "Location Type" - #: src/components/tables/stock/StockLocationTable.tsx:145 #~ msgid "Stock location updated" #~ msgstr "Stock location updated" @@ -2072,7 +2143,7 @@ msgstr "" #~ msgstr "Local Server" #: src/defaults/links.tsx:11 -#: src/pages/company/CompanyDetail.tsx:90 +#: src/pages/company/CompanyDetail.tsx:92 msgid "Website" msgstr "" @@ -2087,10 +2158,10 @@ msgstr "" #: src/defaults/links.tsx:31 #: src/defaults/menuItems.tsx:48 #: src/pages/company/ManufacturerDetail.tsx:9 -#: src/pages/company/ManufacturerPartDetail.tsx:231 +#: src/pages/company/ManufacturerPartDetail.tsx:235 #: src/pages/company/SupplierDetail.tsx:9 -#: src/pages/company/SupplierPartDetail.tsx:291 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:358 +#: src/pages/company/SupplierPartDetail.tsx:292 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:365 #: src/pages/purchasing/PurchasingIndex.tsx:52 msgid "Purchasing" msgstr "" @@ -2098,15 +2169,15 @@ msgstr "" #: src/defaults/links.tsx:32 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:323 +#: src/pages/sales/ReturnOrderDetail.tsx:330 #: src/pages/sales/SalesIndex.tsx:45 -#: src/pages/sales/SalesOrderDetail.tsx:345 +#: src/pages/sales/SalesOrderDetail.tsx:352 msgid "Sales" msgstr "" #: src/defaults/links.tsx:35 #: src/defaults/menuItems.tsx:71 -#: src/pages/Index/Playground.tsx:239 +#: src/pages/Index/Playground.tsx:238 msgid "Playground" msgstr "" @@ -2240,87 +2311,83 @@ msgstr "" #~ msgstr "Combusken battles with the intensely hot flames it spews" #: src/forms/AttachmentForms.tsx:57 -msgid "Add File" -msgstr "ファイルを追加" +#~ msgid "Add File" +#~ msgstr "Add File" #: src/forms/AttachmentForms.tsx:57 -msgid "Add Link" -msgstr "" +#~ msgid "Add Link" +#~ msgstr "Add Link" #: src/forms/AttachmentForms.tsx:58 -msgid "File added" -msgstr "" +#~ msgid "File added" +#~ msgstr "File added" #: src/forms/AttachmentForms.tsx:58 -msgid "Link added" -msgstr "" +#~ msgid "Link added" +#~ msgstr "Link added" #: src/forms/AttachmentForms.tsx:99 -msgid "Edit File" -msgstr "" +#~ msgid "Edit File" +#~ msgstr "Edit File" #: src/forms/AttachmentForms.tsx:99 -msgid "Edit Link" -msgstr "" +#~ msgid "Edit Link" +#~ msgstr "Edit Link" #: src/forms/AttachmentForms.tsx:100 -msgid "File updated" -msgstr "" +#~ msgid "File updated" +#~ msgstr "File updated" #: src/forms/AttachmentForms.tsx:100 -msgid "Link updated" -msgstr "" - -#: src/forms/AttachmentForms.tsx:124 -msgid "Delete Attachment" -msgstr "" +#~ msgid "Link updated" +#~ msgstr "Link updated" #: src/forms/AttachmentForms.tsx:125 -msgid "Attachment deleted" -msgstr "" +#~ msgid "Attachment deleted" +#~ msgstr "Attachment deleted" #: src/forms/AttachmentForms.tsx:128 -msgid "Are you sure you want to delete this attachment?" -msgstr "" +#~ msgid "Are you sure you want to delete this attachment?" +#~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BuildForms.tsx:129 +#: src/forms/BuildForms.tsx:146 msgid "Next serial number" msgstr "" -#: src/forms/BuildForms.tsx:133 +#: src/forms/BuildForms.tsx:150 msgid "Latest serial number" msgstr "" -#: src/forms/BuildForms.tsx:205 +#: src/forms/BuildForms.tsx:222 msgid "Remove output" msgstr "" -#: src/forms/BuildForms.tsx:287 +#: src/forms/BuildForms.tsx:304 msgid "Complete Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:291 +#: src/forms/BuildForms.tsx:308 msgid "Build outputs have been completed" msgstr "" -#: src/forms/BuildForms.tsx:360 +#: src/forms/BuildForms.tsx:377 msgid "Scrap Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:364 +#: src/forms/BuildForms.tsx:381 msgid "Build outputs have been scrapped" msgstr "" -#: src/forms/BuildForms.tsx:396 -#: src/forms/BuildForms.tsx:420 +#: src/forms/BuildForms.tsx:413 +#: src/forms/BuildForms.tsx:437 msgid "Cancel Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:397 +#: src/forms/BuildForms.tsx:414 msgid "Selected build outputs will be deleted" msgstr "" -#: src/forms/BuildForms.tsx:424 +#: src/forms/BuildForms.tsx:441 msgid "Build outputs have been cancelled" msgstr "" @@ -2344,76 +2411,76 @@ msgstr "" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PurchaseOrderForms.tsx:265 +#: src/forms/PurchaseOrderForms.tsx:279 msgid "Choose Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:273 +#: src/forms/PurchaseOrderForms.tsx:287 msgid "Item Destination selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:282 +#: src/forms/PurchaseOrderForms.tsx:296 msgid "Part category default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:292 +#: src/forms/PurchaseOrderForms.tsx:306 msgid "Received stock location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:297 +#: src/forms/PurchaseOrderForms.tsx:311 msgid "Default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:308 -#: src/forms/PurchaseOrderForms.tsx:384 +#: src/forms/PurchaseOrderForms.tsx:322 +#: src/forms/PurchaseOrderForms.tsx:398 msgid "Scan Barcode" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:352 +#: src/forms/PurchaseOrderForms.tsx:366 msgid "Set Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:359 +#: src/forms/PurchaseOrderForms.tsx:373 msgid "Assign Batch Code{0}" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:368 +#: src/forms/PurchaseOrderForms.tsx:382 msgid "Change Status" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:393 -#: src/forms/StockForms.tsx:351 +#: src/forms/PurchaseOrderForms.tsx:407 +#: src/forms/StockForms.tsx:392 msgid "Remove item from list" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:418 -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:58 -#: src/pages/stock/StockDetail.tsx:167 -#: src/tables/ColumnRenderers.tsx:42 +#: src/forms/PurchaseOrderForms.tsx:432 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/pages/stock/StockDetail.tsx:170 +#: src/tables/ColumnRenderers.tsx:34 +#: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:434 +#: src/forms/PurchaseOrderForms.tsx:448 msgid "Store at default location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:447 +#: src/forms/PurchaseOrderForms.tsx:461 msgid "Store at line item destination" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:457 +#: src/forms/PurchaseOrderForms.tsx:471 msgid "Store with already received stock" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:613 +#: src/forms/PurchaseOrderForms.tsx:627 msgid "Receive Line Items" msgstr "" @@ -2421,119 +2488,118 @@ msgstr "" #~ msgid "Receive line items" #~ msgstr "Receive line items" -#: src/forms/StockForms.tsx:69 +#: src/forms/StockForms.tsx:101 msgid "Add given quantity as packs instead of individual items" msgstr "" -#: src/forms/StockForms.tsx:80 -msgid "Enter initial quantity for this stock item" -msgstr "この商品の初期数量を入力" - -#: src/forms/StockForms.tsx:85 -msgid "Serial Numbers" -msgstr "" - -#: src/forms/StockForms.tsx:86 -msgid "Enter serial numbers for new stock (or leave blank)" -msgstr "" - #: src/forms/StockForms.tsx:110 #~ msgid "Create Stock Item" #~ msgstr "Create Stock Item" -#: src/forms/StockForms.tsx:135 -#: src/pages/stock/StockDetail.tsx:367 -#: src/tables/stock/StockItemTable.tsx:382 -#: src/tables/stock/StockItemTable.tsx:499 -msgid "Add Stock Item" +#: src/forms/StockForms.tsx:114 +msgid "Enter initial quantity for this stock item" +msgstr "この商品の初期数量を入力" + +#: src/forms/StockForms.tsx:121 +msgid "Serial Numbers" +msgstr "" + +#: src/forms/StockForms.tsx:122 +msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" #: src/forms/StockForms.tsx:158 #~ msgid "Stock item updated" #~ msgstr "Stock item updated" -#: src/forms/StockForms.tsx:298 +#: src/forms/StockForms.tsx:176 +#: src/pages/stock/StockDetail.tsx:375 +#: src/tables/stock/StockItemTable.tsx:382 +#: src/tables/stock/StockItemTable.tsx:499 +msgid "Add Stock Item" +msgstr "" + +#: src/forms/StockForms.tsx:339 msgid "Loading..." msgstr "" -#: src/forms/StockForms.tsx:340 +#: src/forms/StockForms.tsx:381 msgid "Move to default location" msgstr "" -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/part/PartDetail.tsx:205 -#: src/pages/part/PartDetail.tsx:654 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/pages/part/PartDetail.tsx:206 +#: src/pages/part/PartDetail.tsx:655 #: src/tables/stock/StockItemTable.tsx:290 msgid "In Stock" msgstr "" -#: src/forms/StockForms.tsx:408 +#: src/forms/StockForms.tsx:449 msgid "Move" msgstr "" -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/tables/RowActions.tsx:147 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/tables/RowActions.tsx:149 msgid "Actions" msgstr "" -#: src/forms/StockForms.tsx:471 -#: src/pages/stock/StockDetail.tsx:440 -#: src/tables/settings/TemplateTable.tsx:266 -#: src/tables/stock/StockItemTestResultTable.tsx:348 +#: src/forms/StockForms.tsx:512 +#: src/pages/stock/StockDetail.tsx:454 +#: src/tables/stock/StockItemTestResultTable.tsx:339 msgid "Add" msgstr "" -#: src/forms/StockForms.tsx:499 +#: src/forms/StockForms.tsx:540 #: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:430 +#: src/pages/stock/StockDetail.tsx:444 msgid "Count" msgstr "" -#: src/forms/StockForms.tsx:744 +#: src/forms/StockForms.tsx:785 msgid "Add Stock" msgstr "" -#: src/forms/StockForms.tsx:753 +#: src/forms/StockForms.tsx:794 msgid "Remove Stock" msgstr "" -#: src/forms/StockForms.tsx:762 -#: src/pages/part/PartDetail.tsx:781 +#: src/forms/StockForms.tsx:803 +#: src/pages/part/PartDetail.tsx:782 msgid "Transfer Stock" msgstr "" -#: src/forms/StockForms.tsx:771 -#: src/pages/part/PartDetail.tsx:770 +#: src/forms/StockForms.tsx:812 +#: src/pages/part/PartDetail.tsx:771 msgid "Count Stock" msgstr "" -#: src/forms/StockForms.tsx:780 +#: src/forms/StockForms.tsx:821 msgid "Change Stock Status" msgstr "" -#: src/forms/StockForms.tsx:789 +#: src/forms/StockForms.tsx:830 msgid "Merge Stock" msgstr "" -#: src/forms/StockForms.tsx:808 +#: src/forms/StockForms.tsx:849 msgid "Delete Stock Items" msgstr "" -#: src/forms/StockForms.tsx:815 +#: src/forms/StockForms.tsx:856 msgid "Parent stock location" msgstr "" @@ -2728,7 +2794,7 @@ msgstr "" msgid "Welcome to your Dashboard{0}" msgstr "" -#: src/pages/Index/Playground.tsx:244 +#: src/pages/Index/Playground.tsx:243 msgid "This page is a showcase for the possibilities of Platform UI." msgstr "" @@ -3138,49 +3204,53 @@ msgstr "" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:79 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:87 msgid "Background Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:85 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:93 msgid "Error Reports" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:91 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:99 msgid "Currencies" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:109 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:117 msgid "Custom Units" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:115 -#: src/pages/part/CategoryDetail.tsx:254 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:123 +#: src/pages/part/CategoryDetail.tsx:255 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:121 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 +#~ msgid "Templates" +#~ msgstr "Templates" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:129 msgid "Category Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 -msgid "Templates" +#: src/pages/Index/Settings/AdminCenter/Index.tsx:147 +msgid "Location types" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:139 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:159 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:149 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:169 msgid "Quick Actions" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:154 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 msgid "Add a new user" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:173 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:193 msgid "Advanced Options" msgstr "" @@ -3225,26 +3295,32 @@ msgstr "" msgid "Plugin Settings" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:25 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:53 +msgid "Background Worker Not Running" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:54 +msgid "The background task manager service is not running. Contact your system administrator." +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:60 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:76 msgid "Pending Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:33 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:64 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:84 msgid "Scheduled Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:41 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:68 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:92 msgid "Failed Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:139 -msgid "Labels" -msgstr "" - #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:39 -msgid "Label" -msgstr "" +#~ msgid "Label" +#~ msgstr "Label" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67 #~ msgid "Stock item" @@ -3255,13 +3331,13 @@ msgstr "" #~ msgstr "Build line" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:88 -msgid "Reports" -msgstr "" +#~ msgid "Reports" +#~ msgstr "Reports" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:89 #: src/pages/build/BuildDetail.tsx:373 -msgid "Report" -msgstr "" +#~ msgid "Report" +#~ msgstr "Report" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99 #~ msgid "Purchase order" @@ -3275,14 +3351,9 @@ msgstr "" #~ msgid "Return order" #~ msgstr "Return order" -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135 -#: src/pages/part/PartDetail.tsx:518 -msgid "Bill of Materials" -msgstr "" - #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:145 -msgid "Tests" -msgstr "" +#~ msgid "Tests" +#~ msgstr "Tests" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:154 #~ msgid "Stock location" @@ -3321,26 +3392,30 @@ msgstr "価格" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" +#: src/pages/Index/Settings/SystemSettings.tsx:139 +msgid "Labels" +msgstr "" + #: src/pages/Index/Settings/SystemSettings.tsx:145 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:223 -#: src/pages/part/PartDetail.tsx:589 +#: src/pages/Index/Settings/SystemSettings.tsx:224 +#: src/pages/part/PartDetail.tsx:590 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:228 -#: src/pages/build/BuildDetail.tsx:426 +#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:525 -#: src/pages/sales/SalesOrderDetail.tsx:263 +#: src/pages/part/PartDetail.tsx:526 +#: src/pages/sales/SalesOrderDetail.tsx:265 msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:296 +#: src/pages/Index/Settings/SystemSettings.tsx:297 msgid "Switch to User Setting" msgstr "" @@ -3397,44 +3472,47 @@ msgstr "未読にする" #~ msgstr "Build Status" #: src/pages/build/BuildDetail.tsx:89 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:128 -#: src/pages/sales/ReturnOrderDetail.tsx:95 -#: src/pages/sales/SalesOrderDetail.tsx:99 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:130 +#: src/pages/sales/ReturnOrderDetail.tsx:97 +#: src/pages/sales/SalesOrderDetail.tsx:101 #: src/tables/build/BuildOrderTable.tsx:113 #: src/tables/machine/MachineListTable.tsx:326 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderTable.tsx:46 #: src/tables/sales/SalesOrderTable.tsx:52 #: src/tables/stock/StockItemTable.tsx:259 +#: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "" #: src/pages/build/BuildDetail.tsx:95 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:101 -#: src/pages/sales/ReturnOrderDetail.tsx:69 -#: src/pages/sales/SalesOrderDetail.tsx:73 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:103 +#: src/pages/sales/ReturnOrderDetail.tsx:71 +#: src/pages/sales/SalesOrderDetail.tsx:75 +#: src/tables/ColumnRenderers.tsx:106 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" msgstr "" #: src/pages/build/BuildDetail.tsx:100 -#: src/pages/company/CompanyDetail.tsx:84 -#: src/pages/company/ManufacturerPartDetail.tsx:75 -#: src/pages/company/SupplierPartDetail.tsx:82 -#: src/pages/part/CategoryDetail.tsx:91 -#: src/pages/part/PartDetail.tsx:132 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:122 -#: src/pages/sales/ReturnOrderDetail.tsx:89 -#: src/pages/sales/SalesOrderDetail.tsx:93 -#: src/pages/stock/LocationDetail.tsx:97 -#: src/tables/ColumnRenderers.tsx:95 +#: src/pages/company/CompanyDetail.tsx:86 +#: src/pages/company/ManufacturerPartDetail.tsx:76 +#: src/pages/company/SupplierPartDetail.tsx:83 +#: src/pages/part/CategoryDetail.tsx:92 +#: src/pages/part/PartDetail.tsx:133 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:124 +#: src/pages/sales/ReturnOrderDetail.tsx:91 +#: src/pages/sales/SalesOrderDetail.tsx:95 +#: src/pages/stock/LocationDetail.tsx:99 +#: src/tables/ColumnRenderers.tsx:66 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 #: src/tables/machine/MachineTypeTable.tsx:323 #: src/tables/part/RelatedPartTable.tsx:64 -#: src/tables/plugin/PluginListTable.tsx:172 -#: src/tables/plugin/PluginListTable.tsx:302 +#: src/tables/plugin/PluginListTable.tsx:129 +#: src/tables/plugin/PluginListTable.tsx:276 +#: src/tables/stock/LocationTypesTable.tsx:65 msgid "Description" msgstr "説明" @@ -3447,7 +3525,7 @@ msgid "Build Quantity" msgstr "" #: src/pages/build/BuildDetail.tsx:126 -#: src/pages/build/BuildDetail.tsx:249 +#: src/pages/build/BuildDetail.tsx:256 msgid "Completed Outputs" msgstr "" @@ -3457,10 +3535,10 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:150 -#: src/pages/part/PartDetail.tsx:320 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:214 -#: src/pages/sales/ReturnOrderDetail.tsx:182 -#: src/pages/sales/SalesOrderDetail.tsx:186 +#: src/pages/part/PartDetail.tsx:321 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:184 +#: src/pages/sales/SalesOrderDetail.tsx:188 #: src/tables/build/BuildOrderTable.tsx:148 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 @@ -3474,10 +3552,10 @@ msgid "Created" msgstr "" #: src/pages/build/BuildDetail.tsx:164 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:207 -#: src/pages/sales/ReturnOrderDetail.tsx:175 -#: src/pages/sales/SalesOrderDetail.tsx:179 -#: src/tables/ColumnRenderers.tsx:227 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:209 +#: src/pages/sales/ReturnOrderDetail.tsx:177 +#: src/pages/sales/SalesOrderDetail.tsx:181 +#: src/tables/ColumnRenderers.tsx:191 msgid "Target Date" msgstr "" @@ -3513,6 +3591,11 @@ msgstr "" #~ msgid "Unlink custom barcode from part" #~ msgstr "Unlink custom barcode from part" +#: src/pages/build/BuildDetail.tsx:197 +#: src/pages/stock/StockDetail.tsx:526 +msgid "Batch Code" +msgstr "" + #: src/pages/build/BuildDetail.tsx:202 #~ msgid "Build Order updated" #~ msgstr "Build Order updated" @@ -3521,86 +3604,87 @@ msgstr "" #~ msgid "Edit build order" #~ msgstr "Edit build order" -#: src/pages/build/BuildDetail.tsx:222 -msgid "Build Details" -msgstr "" - #: src/pages/build/BuildDetail.tsx:226 #~ msgid "Duplicate build order" #~ msgstr "Duplicate build order" -#: src/pages/build/BuildDetail.tsx:228 -#: src/tables/build/BuildLineTable.tsx:225 -msgid "Allocate Stock" +#: src/pages/build/BuildDetail.tsx:229 +msgid "Build Details" msgstr "" #: src/pages/build/BuildDetail.tsx:231 #~ msgid "Delete build order" #~ msgstr "Delete build order" -#: src/pages/build/BuildDetail.tsx:242 +#: src/pages/build/BuildDetail.tsx:235 +#: src/tables/build/BuildLineTable.tsx:225 +msgid "Allocate Stock" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:249 msgid "Incomplete Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:264 +#: src/pages/build/BuildDetail.tsx:271 msgid "Consumed Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:278 +#: src/pages/build/BuildDetail.tsx:285 msgid "Child Build Orders" msgstr "" -#: src/pages/build/BuildDetail.tsx:288 -#: src/pages/company/CompanyDetail.tsx:253 -#: src/pages/company/ManufacturerPartDetail.tsx:171 -#: src/pages/part/PartDetail.tsx:611 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:276 -#: src/pages/sales/ReturnOrderDetail.tsx:225 -#: src/pages/sales/SalesOrderDetail.tsx:273 -#: src/pages/stock/StockDetail.tsx:317 +#: src/pages/build/BuildDetail.tsx:295 +#: src/pages/company/CompanyDetail.tsx:255 +#: src/pages/company/ManufacturerPartDetail.tsx:172 +#: src/pages/part/PartDetail.tsx:612 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:278 +#: src/pages/sales/ReturnOrderDetail.tsx:227 +#: src/pages/sales/SalesOrderDetail.tsx:275 +#: src/pages/stock/StockDetail.tsx:325 msgid "Attachments" msgstr "添付ファイル" -#: src/pages/build/BuildDetail.tsx:300 -#: src/pages/company/CompanyDetail.tsx:265 -#: src/pages/part/PartDetail.tsx:623 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:288 -#: src/pages/sales/ReturnOrderDetail.tsx:237 -#: src/pages/sales/SalesOrderDetail.tsx:285 -#: src/pages/stock/StockDetail.tsx:329 +#: src/pages/build/BuildDetail.tsx:307 +#: src/pages/company/CompanyDetail.tsx:267 +#: src/pages/part/PartDetail.tsx:624 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:290 +#: src/pages/sales/ReturnOrderDetail.tsx:239 +#: src/pages/sales/SalesOrderDetail.tsx:287 +#: src/pages/stock/StockDetail.tsx:337 +#: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "メモ" -#: src/pages/build/BuildDetail.tsx:318 +#: src/pages/build/BuildDetail.tsx:325 msgid "Edit Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:327 +#: src/pages/build/BuildDetail.tsx:334 msgid "Cancel Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:339 +#: src/pages/build/BuildDetail.tsx:346 #: src/tables/build/BuildOrderTable.tsx:167 #: src/tables/build/BuildOrderTable.tsx:182 msgid "Add Build Order" msgstr "" #: src/pages/build/BuildDetail.tsx:368 -msgid "Reporting Actions" -msgstr "" +#~ msgid "Reporting Actions" +#~ msgstr "Reporting Actions" #: src/pages/build/BuildDetail.tsx:374 -msgid "Print build report" -msgstr "" +#~ msgid "Print build report" +#~ msgstr "Print build report" -#: src/pages/build/BuildDetail.tsx:380 +#: src/pages/build/BuildDetail.tsx:378 msgid "Build Order Actions" msgstr "" -#: src/pages/build/BuildDetail.tsx:388 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:326 -#: src/pages/sales/ReturnOrderDetail.tsx:300 -#: src/pages/sales/SalesOrderDetail.tsx:310 +#: src/pages/build/BuildDetail.tsx:386 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:333 +#: src/pages/sales/ReturnOrderDetail.tsx:307 +#: src/pages/sales/SalesOrderDetail.tsx:317 msgid "Cancel order" msgstr "" @@ -3612,56 +3696,58 @@ msgstr "" #~ msgid "New Build Order" #~ msgstr "New Build Order" -#: src/pages/company/CompanyDetail.tsx:98 +#: src/pages/company/CompanyDetail.tsx:100 msgid "Phone Number" msgstr "" -#: src/pages/company/CompanyDetail.tsx:105 +#: src/pages/company/CompanyDetail.tsx:107 msgid "Email Address" msgstr "" -#: src/pages/company/CompanyDetail.tsx:115 +#: src/pages/company/CompanyDetail.tsx:117 msgid "Default Currency" msgstr "" -#: src/pages/company/CompanyDetail.tsx:120 +#: src/pages/company/CompanyDetail.tsx:122 #: src/pages/company/SupplierDetail.tsx:8 -#: src/pages/company/SupplierPartDetail.tsx:106 -#: src/pages/company/SupplierPartDetail.tsx:192 -#: src/pages/company/SupplierPartDetail.tsx:295 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:116 +#: src/pages/company/SupplierPartDetail.tsx:107 +#: src/pages/company/SupplierPartDetail.tsx:193 +#: src/pages/company/SupplierPartDetail.tsx:296 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:118 #: src/tables/company/CompanyTable.tsx:100 #: src/tables/purchasing/PurchaseOrderTable.tsx:88 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:36 msgid "Supplier" msgstr "" -#: src/pages/company/CompanyDetail.tsx:126 +#: src/pages/company/CompanyDetail.tsx:128 #: src/pages/company/ManufacturerDetail.tsx:8 -#: src/pages/company/ManufacturerPartDetail.tsx:93 -#: src/pages/company/ManufacturerPartDetail.tsx:235 -#: src/pages/company/SupplierPartDetail.tsx:121 +#: src/pages/company/ManufacturerPartDetail.tsx:94 +#: src/pages/company/ManufacturerPartDetail.tsx:239 +#: src/pages/company/SupplierPartDetail.tsx:122 #: src/tables/company/CompanyTable.tsx:105 msgid "Manufacturer" msgstr "" -#: src/pages/company/CompanyDetail.tsx:132 +#: src/pages/company/CompanyDetail.tsx:134 #: src/pages/company/CustomerDetail.tsx:8 #: src/pages/part/pricing/SaleHistoryPanel.tsx:39 -#: src/pages/sales/ReturnOrderDetail.tsx:83 -#: src/pages/sales/SalesOrderDetail.tsx:87 -#: src/pages/stock/StockDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:85 +#: src/pages/sales/SalesOrderDetail.tsx:89 +#: src/pages/stock/StockDetail.tsx:219 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:107 +#: src/tables/stock/StockTrackingTable.tsx:140 msgid "Customer" msgstr "" -#: src/pages/company/CompanyDetail.tsx:166 +#: src/pages/company/CompanyDetail.tsx:168 +#: src/tables/stock/StockTrackingTable.tsx:183 msgid "Details" msgstr "詳細" -#: src/pages/company/CompanyDetail.tsx:172 +#: src/pages/company/CompanyDetail.tsx:174 msgid "Manufactured Parts" msgstr "" @@ -3669,7 +3755,7 @@ msgstr "" #~ msgid "Edit company" #~ msgstr "Edit company" -#: src/pages/company/CompanyDetail.tsx:181 +#: src/pages/company/CompanyDetail.tsx:183 msgid "Supplied Parts" msgstr "" @@ -3677,289 +3763,289 @@ msgstr "" #~ msgid "Delete company" #~ msgstr "Delete company" -#: src/pages/company/CompanyDetail.tsx:226 +#: src/pages/company/CompanyDetail.tsx:228 msgid "Assigned Stock" msgstr "" -#: src/pages/company/CompanyDetail.tsx:281 +#: src/pages/company/CompanyDetail.tsx:283 #: src/tables/company/CompanyTable.tsx:86 msgid "Edit Company" msgstr "" -#: src/pages/company/CompanyDetail.tsx:290 +#: src/pages/company/CompanyDetail.tsx:292 msgid "Company Actions" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:68 -#: src/pages/company/SupplierPartDetail.tsx:75 +#: src/pages/company/ManufacturerPartDetail.tsx:69 +#: src/pages/company/SupplierPartDetail.tsx:76 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:72 msgid "Internal Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:83 -#: src/pages/company/SupplierPartDetail.tsx:89 +#: src/pages/company/ManufacturerPartDetail.tsx:84 +#: src/pages/company/SupplierPartDetail.tsx:90 msgid "External Link" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:101 -#: src/pages/company/SupplierPartDetail.tsx:130 -#: src/tables/purchasing/ManufacturerPartTable.tsx:53 +#: src/pages/company/ManufacturerPartDetail.tsx:102 +#: src/pages/company/SupplierPartDetail.tsx:131 +#: src/tables/purchasing/ManufacturerPartTable.tsx:56 msgid "Manufacturer Part Number" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:130 +#: src/pages/company/ManufacturerPartDetail.tsx:131 msgid "Manufacturer Details" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:139 +#: src/pages/company/ManufacturerPartDetail.tsx:140 msgid "Manufacturer Part Details" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:145 -#: src/pages/part/PartDetail.tsx:485 +#: src/pages/company/ManufacturerPartDetail.tsx:146 +#: src/pages/part/PartDetail.tsx:486 msgid "Parameters" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:157 -#: src/pages/part/PartDetail.tsx:558 +#: src/pages/company/ManufacturerPartDetail.tsx:158 +#: src/pages/part/PartDetail.tsx:559 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:189 -#: src/tables/purchasing/ManufacturerPartTable.tsx:97 +#: src/pages/company/ManufacturerPartDetail.tsx:190 +#: src/tables/purchasing/ManufacturerPartTable.tsx:84 msgid "Edit Manufacturer Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:196 -#: src/tables/purchasing/ManufacturerPartTable.tsx:63 -#: src/tables/purchasing/ManufacturerPartTable.tsx:78 +#: src/pages/company/ManufacturerPartDetail.tsx:197 +#: src/tables/purchasing/ManufacturerPartTable.tsx:72 +#: src/tables/purchasing/ManufacturerPartTable.tsx:103 msgid "Add Manufacturer Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:209 +#: src/pages/company/ManufacturerPartDetail.tsx:213 msgid "Manufacturer Part Actions" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:247 +#: src/pages/company/ManufacturerPartDetail.tsx:251 msgid "ManufacturerPart" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:96 -#: src/tables/ColumnRenderers.tsx:146 +#: src/pages/company/SupplierPartDetail.tsx:97 +#: src/tables/ColumnRenderers.tsx:117 msgid "Note" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:114 +#: src/pages/company/SupplierPartDetail.tsx:115 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:57 msgid "SKU" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:142 -#: src/pages/company/SupplierPartDetail.tsx:193 -#: src/pages/stock/StockDetail.tsx:230 +#: src/pages/company/SupplierPartDetail.tsx:143 +#: src/pages/company/SupplierPartDetail.tsx:194 +#: src/pages/stock/StockDetail.tsx:233 msgid "Packaging" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:149 +#: src/pages/company/SupplierPartDetail.tsx:150 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:107 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143 #: src/tables/purchasing/SupplierPartTable.tsx:131 msgid "Pack Quantity" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:160 +#: src/pages/company/SupplierPartDetail.tsx:161 msgid "Supplier Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:167 +#: src/pages/company/SupplierPartDetail.tsx:168 msgid "Availability Updated" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:194 +#: src/pages/company/SupplierPartDetail.tsx:195 msgid "Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:203 +#: src/pages/company/SupplierPartDetail.tsx:204 msgid "Supplier Part Details" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:209 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:263 +#: src/pages/company/SupplierPartDetail.tsx:210 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:265 msgid "Received Stock" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:233 +#: src/pages/company/SupplierPartDetail.tsx:234 #: src/pages/part/PartPricingPanel.tsx:115 #: src/pages/part/pricing/PricingOverviewPanel.tsx:130 msgid "Supplier Pricing" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:248 +#: src/pages/company/SupplierPartDetail.tsx:249 msgid "Supplier Part Actions" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:272 +#: src/pages/company/SupplierPartDetail.tsx:273 #: src/tables/purchasing/SupplierPartTable.tsx:210 msgid "Edit Supplier Part" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:279 +#: src/pages/company/SupplierPartDetail.tsx:280 #: src/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "" -#: src/pages/part/CategoryDetail.tsx:83 -#: src/pages/stock/LocationDetail.tsx:89 +#: src/pages/part/CategoryDetail.tsx:84 +#: src/pages/stock/LocationDetail.tsx:91 #: src/tables/settings/ErrorTable.tsx:34 msgid "Path" msgstr "" -#: src/pages/part/CategoryDetail.tsx:99 +#: src/pages/part/CategoryDetail.tsx:100 msgid "Parent Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:116 +#: src/pages/part/CategoryDetail.tsx:117 msgid "Subcategories" msgstr "" -#: src/pages/part/CategoryDetail.tsx:123 -#: src/pages/stock/LocationDetail.tsx:129 -#: src/tables/part/PartCategoryTable.tsx:69 +#: src/pages/part/CategoryDetail.tsx:124 +#: src/pages/stock/LocationDetail.tsx:131 +#: src/tables/part/PartCategoryTable.tsx:65 msgid "Structural" msgstr "" -#: src/pages/part/CategoryDetail.tsx:129 +#: src/pages/part/CategoryDetail.tsx:130 msgid "Parent default location" msgstr "" -#: src/pages/part/CategoryDetail.tsx:136 +#: src/pages/part/CategoryDetail.tsx:137 msgid "Default location" msgstr "" -#: src/pages/part/CategoryDetail.tsx:147 +#: src/pages/part/CategoryDetail.tsx:148 msgid "Top level part category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:157 -#: src/pages/part/CategoryDetail.tsx:211 -#: src/tables/part/PartCategoryTable.tsx:96 +#: src/pages/part/CategoryDetail.tsx:158 +#: src/pages/part/CategoryDetail.tsx:212 +#: src/tables/part/PartCategoryTable.tsx:88 msgid "Edit Part Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:170 -#: src/pages/stock/LocationDetail.tsx:213 +#: src/pages/part/CategoryDetail.tsx:171 +#: src/pages/stock/LocationDetail.tsx:223 msgid "Delete items" msgstr "" -#: src/pages/part/CategoryDetail.tsx:178 -#: src/pages/part/CategoryDetail.tsx:216 +#: src/pages/part/CategoryDetail.tsx:179 +#: src/pages/part/CategoryDetail.tsx:217 msgid "Delete Part Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:181 +#: src/pages/part/CategoryDetail.tsx:182 msgid "Parts Action" msgstr "" -#: src/pages/part/CategoryDetail.tsx:182 +#: src/pages/part/CategoryDetail.tsx:183 msgid "Action for parts in this category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:187 +#: src/pages/part/CategoryDetail.tsx:188 msgid "Child Categories Action" msgstr "" -#: src/pages/part/CategoryDetail.tsx:188 +#: src/pages/part/CategoryDetail.tsx:189 msgid "Action for child categories in this category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:206 +#: src/pages/part/CategoryDetail.tsx:207 msgid "Category Actions" msgstr "" -#: src/pages/part/CategoryDetail.tsx:228 +#: src/pages/part/CategoryDetail.tsx:229 msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:138 +#: src/pages/part/PartDetail.tsx:139 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:145 +#: src/pages/part/PartDetail.tsx:146 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "" -#: src/pages/part/PartDetail.tsx:151 +#: src/pages/part/PartDetail.tsx:152 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:158 +#: src/pages/part/PartDetail.tsx:159 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:165 +#: src/pages/part/PartDetail.tsx:166 msgid "IPN" msgstr "" -#: src/pages/part/PartDetail.tsx:172 +#: src/pages/part/PartDetail.tsx:173 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:179 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39 +#: src/pages/part/PartDetail.tsx:180 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "" -#: src/pages/part/PartDetail.tsx:186 +#: src/pages/part/PartDetail.tsx:187 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:193 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:180 -#: src/pages/sales/ReturnOrderDetail.tsx:148 -#: src/pages/sales/SalesOrderDetail.tsx:152 +#: src/pages/part/PartDetail.tsx:194 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:182 +#: src/pages/sales/ReturnOrderDetail.tsx:150 +#: src/pages/sales/SalesOrderDetail.tsx:154 msgid "Link" msgstr "" -#: src/pages/part/PartDetail.tsx:211 -#: src/tables/bom/BomTable.tsx:269 +#: src/pages/part/PartDetail.tsx:212 +#: src/tables/bom/BomTable.tsx:271 #: src/tables/build/BuildLineTable.tsx:121 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:218 +#: src/pages/part/PartDetail.tsx:219 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:224 -#: src/tables/bom/BomTable.tsx:210 +#: src/pages/part/PartDetail.tsx:225 +#: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:233 +#: src/pages/part/PartDetail.tsx:234 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:241 +#: src/pages/part/PartDetail.tsx:242 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:248 -#: src/tables/bom/BomTable.tsx:234 +#: src/pages/part/PartDetail.tsx:249 +#: src/tables/bom/BomTable.tsx:236 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:255 -#: src/tables/bom/BomTable.tsx:218 +#: src/pages/part/PartDetail.tsx:256 +#: src/tables/bom/BomTable.tsx:220 #: src/tables/part/PartTable.tsx:82 msgid "Building" msgstr "" -#: src/pages/part/PartDetail.tsx:264 +#: src/pages/part/PartDetail.tsx:265 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 @@ -3968,45 +4054,47 @@ msgstr "" #: src/tables/machine/MachineListTable.tsx:585 #: src/tables/part/PartTable.tsx:168 #: src/tables/part/PartVariantTable.tsx:15 -#: src/tables/plugin/PluginListTable.tsx:190 -#: src/tables/plugin/PluginListTable.tsx:638 +#: src/tables/plugin/PluginListTable.tsx:149 +#: src/tables/plugin/PluginListTable.tsx:271 +#: src/tables/plugin/PluginListTable.tsx:563 #: src/tables/purchasing/SupplierPartTable.tsx:98 #: src/tables/purchasing/SupplierPartTable.tsx:187 #: src/tables/stock/StockItemTable.tsx:254 msgid "Active" msgstr "" -#: src/pages/part/PartDetail.tsx:269 +#: src/pages/part/PartDetail.tsx:270 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:274 -#: src/tables/bom/BomTable.tsx:264 +#: src/pages/part/PartDetail.tsx:275 +#: src/tables/bom/BomTable.tsx:266 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:279 +#: src/pages/part/PartDetail.tsx:280 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:284 -#: src/tables/bom/BomTable.tsx:259 +#: src/pages/part/PartDetail.tsx:285 +#: src/tables/bom/BomTable.tsx:261 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:289 +#: src/pages/part/PartDetail.tsx:290 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:294 +#: src/pages/part/PartDetail.tsx:295 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:299 +#: src/pages/part/PartDetail.tsx:300 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:307 +#: src/pages/part/PartDetail.tsx:308 +#: src/tables/ColumnRenderers.tsx:199 msgid "Creation Date" msgstr "" @@ -4014,7 +4102,7 @@ msgstr "" #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:312 +#: src/pages/part/PartDetail.tsx:313 msgid "Created By" msgstr "" @@ -4022,68 +4110,72 @@ msgstr "" #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:327 -msgid "Default Supplier" -msgstr "" - #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:338 +#: src/pages/part/PartDetail.tsx:328 +msgid "Default Supplier" +msgstr "" + +#: src/pages/part/PartDetail.tsx:339 #: src/tables/part/PartTable.tsx:151 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:373 -#: src/pages/stock/StockDetail.tsx:127 +#: src/pages/part/PartDetail.tsx:374 +#: src/pages/stock/StockDetail.tsx:130 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:408 +#: src/pages/part/PartDetail.tsx:409 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:479 +#: src/pages/part/PartDetail.tsx:480 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:505 +#: src/pages/part/PartDetail.tsx:506 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:512 -#: src/pages/stock/StockDetail.tsx:275 +#: src/pages/part/PartDetail.tsx:513 +#: src/pages/stock/StockDetail.tsx:283 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:532 +#: src/pages/part/PartDetail.tsx:519 +msgid "Bill of Materials" +msgstr "" + +#: src/pages/part/PartDetail.tsx:533 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:539 +#: src/pages/part/PartDetail.tsx:540 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:545 +#: src/pages/part/PartDetail.tsx:546 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:584 +#: src/pages/part/PartDetail.tsx:585 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:594 +#: src/pages/part/PartDetail.tsx:595 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:605 +#: src/pages/part/PartDetail.tsx:606 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:660 -#: src/pages/stock/StockDetail.tsx:148 +#: src/pages/part/PartDetail.tsx:661 +#: src/pages/stock/StockDetail.tsx:151 #: src/tables/build/BuildLineTable.tsx:36 #: src/tables/part/PartTable.tsx:107 #: src/tables/stock/StockItemTable.tsx:166 @@ -4091,49 +4183,51 @@ msgstr "" msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:666 +#: src/pages/part/PartDetail.tsx:667 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:672 -#: src/tables/bom/BomTable.tsx:274 +#: src/pages/part/PartDetail.tsx:673 +#: src/tables/bom/BomTable.tsx:276 #: src/tables/part/PartTable.tsx:76 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:678 -#: src/pages/stock/StockDetail.tsx:496 +#: src/pages/part/PartDetail.tsx:679 +#: src/pages/stock/StockDetail.tsx:509 #: src/tables/stock/StockItemTable.tsx:295 msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:697 +#: src/pages/part/PartDetail.tsx:698 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:704 +#: src/pages/part/PartDetail.tsx:705 #: src/tables/part/PartTable.tsx:266 #: src/tables/part/PartTable.tsx:279 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:716 +#: src/pages/part/PartDetail.tsx:717 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:725 +#: src/pages/part/PartDetail.tsx:726 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:763 +#: src/pages/part/PartDetail.tsx:764 +#: src/pages/stock/LocationDetail.tsx:301 +#: src/tables/stock/StockItemTable.tsx:409 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:771 +#: src/pages/part/PartDetail.tsx:772 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:782 +#: src/pages/part/PartDetail.tsx:783 msgid "Transfer part stock" msgstr "" @@ -4199,15 +4293,15 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151 #: src/pages/part/pricing/SupplierPricingPanel.tsx:83 -#: src/tables/bom/BomTable.tsx:149 +#: src/tables/bom/BomTable.tsx:151 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 msgid "Unit Price" msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:173 -#: src/tables/ColumnRenderers.tsx:278 -#: src/tables/bom/BomTable.tsx:158 +#: src/tables/ColumnRenderers.tsx:241 +#: src/tables/bom/BomTable.tsx:160 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 #: src/tables/sales/ReturnOrderTable.tsx:104 #: src/tables/sales/SalesOrderTable.tsx:134 @@ -4229,24 +4323,24 @@ msgid "Bar Chart" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:63 -#: src/pages/part/pricing/PriceBreakPanel.tsx:117 +#: src/pages/part/pricing/PriceBreakPanel.tsx:115 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:138 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:164 msgid "Add Price Break" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:76 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:149 msgid "Edit Price Break" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:86 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:157 msgid "Delete Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:102 -#: src/pages/part/pricing/PriceBreakPanel.tsx:193 +#: src/pages/part/pricing/PriceBreakPanel.tsx:100 +#: src/pages/part/pricing/PriceBreakPanel.tsx:191 msgid "Price Break" msgstr "" @@ -4275,7 +4369,7 @@ msgid "Overall Pricing" msgstr "" #: src/pages/part/pricing/PricingOverviewPanel.tsx:184 -#: src/pages/stock/StockDetail.tsx:121 +#: src/pages/stock/StockDetail.tsx:124 msgid "Last Updated" msgstr "" @@ -4309,9 +4403,8 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50 #: src/pages/part/pricing/SaleHistoryPanel.tsx:46 -#: src/tables/ColumnRenderers.tsx:217 -#: src/tables/plugin/PluginListTable.tsx:182 -#: src/tables/stock/StockItemTestResultTable.tsx:194 +#: src/tables/ColumnRenderers.tsx:180 +#: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" @@ -4338,89 +4431,89 @@ msgstr "" msgid "Variant Part" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:73 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:75 msgid "Edit Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:82 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:84 #: src/tables/purchasing/PurchaseOrderTable.tsx:128 #: src/tables/purchasing/PurchaseOrderTable.tsx:140 msgid "Add Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:107 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:109 msgid "Supplier Reference" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:137 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:252 -#: src/pages/sales/ReturnOrderDetail.tsx:104 -#: src/pages/sales/ReturnOrderDetail.tsx:220 -#: src/pages/sales/SalesOrderDetail.tsx:108 -#: src/pages/sales/SalesOrderDetail.tsx:248 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:139 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:254 +#: src/pages/sales/ReturnOrderDetail.tsx:106 +#: src/pages/sales/ReturnOrderDetail.tsx:222 +#: src/pages/sales/SalesOrderDetail.tsx:110 +#: src/pages/sales/SalesOrderDetail.tsx:250 msgid "Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:144 -#: src/pages/sales/ReturnOrderDetail.tsx:111 -#: src/pages/sales/SalesOrderDetail.tsx:115 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:146 +#: src/pages/sales/ReturnOrderDetail.tsx:113 +#: src/pages/sales/SalesOrderDetail.tsx:117 msgid "Completed Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:152 -#: src/pages/sales/ReturnOrderDetail.tsx:119 -#: src/pages/sales/SalesOrderDetail.tsx:123 -#: src/pages/sales/SalesOrderDetail.tsx:258 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:121 +#: src/pages/sales/SalesOrderDetail.tsx:125 +#: src/pages/sales/SalesOrderDetail.tsx:260 msgid "Completed Shipments" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:159 -#: src/pages/sales/ReturnOrderDetail.tsx:127 -#: src/pages/sales/SalesOrderDetail.tsx:131 -msgid "Order Currency" -msgstr "" - #: src/pages/purchasing/PurchaseOrderDetail.tsx:159 #: src/pages/sales/ReturnOrderDetail.tsx:126 #: src/pages/sales/SalesOrderDetail.tsx:130 #~ msgid "Order Currency," #~ msgstr "Order Currency," -#: src/pages/purchasing/PurchaseOrderDetail.tsx:166 -#: src/pages/sales/ReturnOrderDetail.tsx:134 -#: src/pages/sales/SalesOrderDetail.tsx:138 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:161 +#: src/pages/sales/ReturnOrderDetail.tsx:129 +#: src/pages/sales/SalesOrderDetail.tsx:133 +msgid "Order Currency" +msgstr "" + +#: src/pages/purchasing/PurchaseOrderDetail.tsx:168 +#: src/pages/sales/ReturnOrderDetail.tsx:136 +#: src/pages/sales/SalesOrderDetail.tsx:140 msgid "Total Cost" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:201 -#: src/pages/sales/ReturnOrderDetail.tsx:169 -#: src/pages/sales/SalesOrderDetail.tsx:173 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:203 +#: src/pages/sales/ReturnOrderDetail.tsx:171 +#: src/pages/sales/SalesOrderDetail.tsx:175 msgid "Created On" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:246 -#: src/pages/sales/ReturnOrderDetail.tsx:214 -#: src/pages/sales/SalesOrderDetail.tsx:242 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:248 +#: src/pages/sales/ReturnOrderDetail.tsx:216 +#: src/pages/sales/SalesOrderDetail.tsx:244 msgid "Order Details" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:316 -#: src/pages/sales/ReturnOrderDetail.tsx:290 -#: src/pages/sales/SalesOrderDetail.tsx:302 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:323 +#: src/pages/sales/ReturnOrderDetail.tsx:297 +#: src/pages/sales/SalesOrderDetail.tsx:309 msgid "Order Actions" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:75 -#: src/pages/sales/SalesOrderDetail.tsx:79 +#: src/pages/sales/ReturnOrderDetail.tsx:77 +#: src/pages/sales/SalesOrderDetail.tsx:81 #: src/tables/sales/SalesOrderTable.tsx:123 msgid "Customer Reference" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:267 +#: src/pages/sales/ReturnOrderDetail.tsx:269 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:276 +#: src/pages/sales/ReturnOrderDetail.tsx:278 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" @@ -4430,68 +4523,72 @@ msgstr "" msgid "Customers" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:219 +#: src/pages/sales/SalesOrderDetail.tsx:221 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:228 +#: src/pages/sales/SalesOrderDetail.tsx:230 #: src/tables/sales/SalesOrderTable.tsx:83 #: src/tables/sales/SalesOrderTable.tsx:95 msgid "Add Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:253 +#: src/pages/sales/SalesOrderDetail.tsx:255 msgid "Pending Shipments" msgstr "" -#: src/pages/stock/LocationDetail.tsx:105 +#: src/pages/stock/LocationDetail.tsx:107 msgid "Parent Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:123 +#: src/pages/stock/LocationDetail.tsx:125 msgid "Sublocations" msgstr "" -#: src/pages/stock/LocationDetail.tsx:135 +#: src/pages/stock/LocationDetail.tsx:137 msgid "External" msgstr "" -#: src/pages/stock/LocationDetail.tsx:144 +#: src/pages/stock/LocationDetail.tsx:143 +msgid "Location Type" +msgstr "" + +#: src/pages/stock/LocationDetail.tsx:154 msgid "Top level stock location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:155 +#: src/pages/stock/LocationDetail.tsx:165 msgid "Location Details" msgstr "" -#: src/pages/stock/LocationDetail.tsx:181 +#: src/pages/stock/LocationDetail.tsx:191 msgid "Default Parts" msgstr "" -#: src/pages/stock/LocationDetail.tsx:200 +#: src/pages/stock/LocationDetail.tsx:210 #: src/pages/stock/LocationDetail.tsx:328 -#: src/tables/stock/StockLocationTable.tsx:108 +#: src/tables/stock/StockLocationTable.tsx:100 msgid "Edit Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:221 +#: src/pages/stock/LocationDetail.tsx:231 #: src/pages/stock/LocationDetail.tsx:333 msgid "Delete Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:224 +#: src/pages/stock/LocationDetail.tsx:234 msgid "Items Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:225 +#: src/pages/stock/LocationDetail.tsx:235 msgid "Action for stock items in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:230 +#: src/pages/stock/LocationDetail.tsx:240 msgid "Child Locations Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:231 +#: src/pages/stock/LocationDetail.tsx:241 msgid "Action for child locations in this location" msgstr "" @@ -4499,11 +4596,11 @@ msgstr "" msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:100 +#: src/pages/stock/StockDetail.tsx:103 msgid "Base Part" msgstr "" -#: src/pages/stock/StockDetail.tsx:107 +#: src/pages/stock/StockDetail.tsx:110 msgid "Stock Status" msgstr "" @@ -4515,15 +4612,16 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:174 +#: src/pages/stock/StockDetail.tsx:177 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:190 +#: src/pages/stock/StockDetail.tsx:193 msgid "Consumed By" msgstr "" -#: src/pages/stock/StockDetail.tsx:199 +#: src/pages/stock/StockDetail.tsx:202 +#: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" msgstr "" @@ -4535,78 +4633,78 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:264 +#: src/pages/stock/StockDetail.tsx:267 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:270 +#: src/pages/stock/StockDetail.tsx:273 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:282 +#: src/pages/stock/StockDetail.tsx:290 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:296 +#: src/pages/stock/StockDetail.tsx:304 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:303 +#: src/pages/stock/StockDetail.tsx:311 msgid "Child Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:358 +#: src/pages/stock/StockDetail.tsx:366 msgid "Edit Stock Item" msgstr "在庫商品を編集" -#: src/pages/stock/StockDetail.tsx:385 +#: src/pages/stock/StockDetail.tsx:393 msgid "Delete Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:426 -msgid "Stock Operations" -msgstr "" - -#: src/pages/stock/StockDetail.tsx:431 -msgid "Count stock" -msgstr "" - #: src/pages/stock/StockDetail.tsx:433 #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:441 +#: src/pages/stock/StockDetail.tsx:440 +msgid "Stock Operations" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:445 +msgid "Count stock" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:455 #: src/tables/stock/StockItemTable.tsx:414 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:449 +#: src/pages/stock/StockDetail.tsx:463 #: src/tables/stock/StockItemTable.tsx:423 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:456 +#: src/pages/stock/StockDetail.tsx:470 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:457 +#: src/pages/stock/StockDetail.tsx:471 #: src/tables/stock/StockItemTable.tsx:443 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:469 +#: src/pages/stock/StockDetail.tsx:482 msgid "Stock Item Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:513 -msgid "Batch Code" -msgstr "" - -#: src/tables/ColumnRenderers.tsx:50 +#: src/tables/ColumnRenderers.tsx:42 msgid "No location set" msgstr "" -#: src/tables/ColumnRenderers.tsx:264 +#: src/tables/ColumnRenderers.tsx:207 +msgid "Shipment Date" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:227 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "" @@ -4616,20 +4714,32 @@ msgstr "" msgid "Select Columns" msgstr "" -#: src/tables/DownloadAction.tsx:11 +#: src/tables/DownloadAction.tsx:13 +#~ msgid "Excel" +#~ msgstr "Excel" + +#: src/tables/DownloadAction.tsx:21 +#~ msgid "Download selected data" +#~ msgstr "Download selected data" + +#: src/tables/DownloadAction.tsx:22 msgid "CSV" msgstr "" -#: src/tables/DownloadAction.tsx:12 +#: src/tables/DownloadAction.tsx:23 msgid "TSV" msgstr "" -#: src/tables/DownloadAction.tsx:13 -msgid "Excel" +#: src/tables/DownloadAction.tsx:24 +msgid "Excel (.xls)" msgstr "" -#: src/tables/DownloadAction.tsx:21 -msgid "Download selected data" +#: src/tables/DownloadAction.tsx:25 +msgid "Excel (.xlsx)" +msgstr "" + +#: src/tables/DownloadAction.tsx:39 +msgid "Download Data" msgstr "" #: src/tables/Filter.tsx:88 @@ -4663,102 +4773,102 @@ msgstr "" msgid "Remove filter" msgstr "フィルタを削除" -#: src/tables/FilterSelectDrawer.tsx:147 +#: src/tables/FilterSelectDrawer.tsx:136 msgid "Select filter" msgstr "フィルタを選択" -#: src/tables/FilterSelectDrawer.tsx:148 +#: src/tables/FilterSelectDrawer.tsx:137 msgid "Filter" msgstr "フィルタ" -#: src/tables/FilterSelectDrawer.tsx:155 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:33 -#: src/tables/stock/StockItemTestResultTable.tsx:182 +#: src/tables/FilterSelectDrawer.tsx:144 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 +#: src/tables/stock/StockItemTestResultTable.tsx:180 msgid "Value" msgstr "値" -#: src/tables/FilterSelectDrawer.tsx:156 +#: src/tables/FilterSelectDrawer.tsx:145 msgid "Select filter value" msgstr "フィルタの値を選択" -#: src/tables/FilterSelectDrawer.tsx:196 +#: src/tables/FilterSelectDrawer.tsx:185 msgid "Table Filters" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:228 +#: src/tables/FilterSelectDrawer.tsx:217 msgid "Add Filter" msgstr "フィルタを追加" -#: src/tables/FilterSelectDrawer.tsx:237 +#: src/tables/FilterSelectDrawer.tsx:226 msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:118 -#: src/tables/InvenTreeTable.tsx:384 -#: src/tables/InvenTreeTable.tsx:405 +#: src/tables/InvenTreeTable.tsx:119 +#: src/tables/InvenTreeTable.tsx:390 +#: src/tables/InvenTreeTable.tsx:411 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:416 +#: src/tables/InvenTreeTable.tsx:422 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:424 +#: src/tables/InvenTreeTable.tsx:430 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:427 +#: src/tables/InvenTreeTable.tsx:433 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:436 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:433 +#: src/tables/InvenTreeTable.tsx:439 msgid "Not found" msgstr "" -#: src/tables/InvenTreeTable.tsx:482 -#: src/tables/InvenTreeTable.tsx:604 +#: src/tables/InvenTreeTable.tsx:488 +#: src/tables/InvenTreeTable.tsx:611 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:486 +#: src/tables/InvenTreeTable.tsx:492 msgid "Are you sure you want to delete the selected records?" msgstr "" -#: src/tables/InvenTreeTable.tsx:488 +#: src/tables/InvenTreeTable.tsx:494 msgid "This action cannot be undone!" msgstr "" -#: src/tables/InvenTreeTable.tsx:516 +#: src/tables/InvenTreeTable.tsx:522 msgid "Deleted records" msgstr "" -#: src/tables/InvenTreeTable.tsx:517 +#: src/tables/InvenTreeTable.tsx:523 msgid "Records were deleted successfully" msgstr "" -#: src/tables/InvenTreeTable.tsx:526 +#: src/tables/InvenTreeTable.tsx:532 msgid "Failed to delete records" msgstr "" -#: src/tables/InvenTreeTable.tsx:585 -#: src/tables/InvenTreeTable.tsx:586 -msgid "Barcode actions" -msgstr "" - #: src/tables/InvenTreeTable.tsx:594 #: src/tables/InvenTreeTable.tsx:595 -msgid "Print actions" +#~ msgid "Print actions" +#~ msgstr "Print actions" + +#: src/tables/InvenTreeTable.tsx:601 +#: src/tables/InvenTreeTable.tsx:602 +msgid "Barcode actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:620 +#: src/tables/InvenTreeTable.tsx:630 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:638 +#: src/tables/InvenTreeTable.tsx:648 msgid "Table filters" msgstr "表フィルタ" @@ -4770,138 +4880,138 @@ msgstr "" msgid "Part Information" msgstr "" -#: src/tables/bom/BomTable.tsx:177 +#: src/tables/bom/BomTable.tsx:179 #: src/tables/part/PartTable.tsx:124 msgid "No stock" msgstr "" -#: src/tables/bom/BomTable.tsx:185 +#: src/tables/bom/BomTable.tsx:187 #: src/tables/build/BuildLineTable.tsx:104 #: src/tables/part/PartTable.tsx:115 msgid "External stock" msgstr "" -#: src/tables/bom/BomTable.tsx:193 +#: src/tables/bom/BomTable.tsx:195 #: src/tables/build/BuildLineTable.tsx:67 msgid "Includes substitute stock" msgstr "" -#: src/tables/bom/BomTable.tsx:202 +#: src/tables/bom/BomTable.tsx:204 #: src/tables/build/BuildLineTable.tsx:77 msgid "Includes variant stock" msgstr "" -#: src/tables/bom/BomTable.tsx:227 +#: src/tables/bom/BomTable.tsx:229 #: src/tables/part/PartTable.tsx:143 #: src/tables/stock/StockItemTable.tsx:205 msgid "Stock Information" msgstr "" -#: src/tables/bom/BomTable.tsx:239 +#: src/tables/bom/BomTable.tsx:241 #: src/tables/build/BuildLineTable.tsx:195 msgid "Consumable item" msgstr "" -#: src/tables/bom/BomTable.tsx:260 +#: src/tables/bom/BomTable.tsx:262 msgid "Show trackable items" msgstr "" -#: src/tables/bom/BomTable.tsx:265 +#: src/tables/bom/BomTable.tsx:267 msgid "Show asssmbled items" msgstr "" -#: src/tables/bom/BomTable.tsx:270 +#: src/tables/bom/BomTable.tsx:272 msgid "Show items with available stock" msgstr "" -#: src/tables/bom/BomTable.tsx:275 +#: src/tables/bom/BomTable.tsx:277 msgid "Show items on order" msgstr "" -#: src/tables/bom/BomTable.tsx:279 +#: src/tables/bom/BomTable.tsx:281 msgid "Validated" msgstr "" -#: src/tables/bom/BomTable.tsx:280 +#: src/tables/bom/BomTable.tsx:282 msgid "Show validated items" msgstr "" -#: src/tables/bom/BomTable.tsx:284 +#: src/tables/bom/BomTable.tsx:286 #: src/tables/bom/UsedInTable.tsx:63 msgid "Inherited" msgstr "" -#: src/tables/bom/BomTable.tsx:285 +#: src/tables/bom/BomTable.tsx:287 #: src/tables/bom/UsedInTable.tsx:64 msgid "Show inherited items" msgstr "" -#: src/tables/bom/BomTable.tsx:289 +#: src/tables/bom/BomTable.tsx:291 #: src/tables/bom/UsedInTable.tsx:68 #: src/tables/build/BuildLineTable.tsx:46 msgid "Optional" msgstr "" -#: src/tables/bom/BomTable.tsx:290 +#: src/tables/bom/BomTable.tsx:292 #: src/tables/bom/UsedInTable.tsx:69 msgid "Show optional items" msgstr "" -#: src/tables/bom/BomTable.tsx:294 +#: src/tables/bom/BomTable.tsx:296 #: src/tables/build/BuildLineTable.tsx:41 msgid "Consumable" msgstr "" -#: src/tables/bom/BomTable.tsx:295 +#: src/tables/bom/BomTable.tsx:297 msgid "Show consumable items" msgstr "" -#: src/tables/bom/BomTable.tsx:299 +#: src/tables/bom/BomTable.tsx:301 msgid "Has Pricing" msgstr "" -#: src/tables/bom/BomTable.tsx:300 -msgid "Show items with pricing" -msgstr "" - #: src/tables/bom/BomTable.tsx:301 #~ msgid "Create BOM Item" #~ msgstr "Create BOM Item" -#: src/tables/bom/BomTable.tsx:309 -#: src/tables/bom/BomTable.tsx:397 +#: src/tables/bom/BomTable.tsx:302 +msgid "Show items with pricing" +msgstr "" + +#: src/tables/bom/BomTable.tsx:311 +#: src/tables/bom/BomTable.tsx:399 msgid "Add BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:314 +#: src/tables/bom/BomTable.tsx:316 msgid "BOM item created" msgstr "" -#: src/tables/bom/BomTable.tsx:321 +#: src/tables/bom/BomTable.tsx:323 msgid "Edit BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:323 +#: src/tables/bom/BomTable.tsx:325 msgid "BOM item updated" msgstr "" -#: src/tables/bom/BomTable.tsx:330 -msgid "Delete BOM Item" -msgstr "" - -#: src/tables/bom/BomTable.tsx:331 -msgid "BOM item deleted" -msgstr "" - #: src/tables/bom/BomTable.tsx:331 #~ msgid "Edit Bom Item" #~ msgstr "Edit Bom Item" +#: src/tables/bom/BomTable.tsx:332 +msgid "Delete BOM Item" +msgstr "" + +#: src/tables/bom/BomTable.tsx:333 +msgid "BOM item deleted" +msgstr "" + #: src/tables/bom/BomTable.tsx:333 #~ msgid "Bom item updated" #~ msgstr "Bom item updated" -#: src/tables/bom/BomTable.tsx:341 +#: src/tables/bom/BomTable.tsx:343 msgid "View BOM" msgstr "" @@ -4917,11 +5027,11 @@ msgstr "" #~ msgid "Are you sure you want to remove this BOM item?" #~ msgstr "Are you sure you want to remove this BOM item?" -#: src/tables/bom/BomTable.tsx:352 +#: src/tables/bom/BomTable.tsx:354 msgid "Validate BOM line" msgstr "" -#: src/tables/bom/BomTable.tsx:360 +#: src/tables/bom/BomTable.tsx:362 msgid "Edit Substitutes" msgstr "" @@ -5038,11 +5148,11 @@ msgid "Filter by responsible owner" msgstr "" #: src/tables/build/BuildOutputTable.tsx:114 -#: src/tables/build/BuildOutputTable.tsx:150 +#: src/tables/build/BuildOutputTable.tsx:152 msgid "Add Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:155 +#: src/tables/build/BuildOutputTable.tsx:157 msgid "Complete selected outputs" msgstr "" @@ -5050,68 +5160,68 @@ msgstr "" #~ msgid "Delete build output" #~ msgstr "Delete build output" -#: src/tables/build/BuildOutputTable.tsx:165 +#: src/tables/build/BuildOutputTable.tsx:167 msgid "Scrap selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:175 +#: src/tables/build/BuildOutputTable.tsx:177 msgid "Cancel selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:191 +#: src/tables/build/BuildOutputTable.tsx:193 msgid "Allocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:192 +#: src/tables/build/BuildOutputTable.tsx:194 msgid "Allocate stock to build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:197 +#: src/tables/build/BuildOutputTable.tsx:199 msgid "Deallocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:198 +#: src/tables/build/BuildOutputTable.tsx:200 msgid "Deallocate stock from build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:203 +#: src/tables/build/BuildOutputTable.tsx:205 msgid "Complete" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:204 +#: src/tables/build/BuildOutputTable.tsx:206 msgid "Complete build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:213 +#: src/tables/build/BuildOutputTable.tsx:215 msgid "Scrap" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:214 +#: src/tables/build/BuildOutputTable.tsx:216 msgid "Scrap build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:224 +#: src/tables/build/BuildOutputTable.tsx:226 msgid "Cancel build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:251 +#: src/tables/build/BuildOutputTable.tsx:253 msgid "Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:264 +#: src/tables/build/BuildOutputTable.tsx:266 msgid "Batch" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:278 +#: src/tables/build/BuildOutputTable.tsx:280 msgid "Allocated Items" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:288 +#: src/tables/build/BuildOutputTable.tsx:290 msgid "Required Tests" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:317 -#: src/tables/stock/StockItemTestResultTable.tsx:146 +#: src/tables/build/BuildOutputTable.tsx:319 +#: src/tables/stock/StockItemTestResultTable.tsx:144 msgid "Test Results" msgstr "" @@ -5132,7 +5242,7 @@ msgstr "" msgid "Delete Address" msgstr "" -#: src/tables/company/AddressTable.tsx:145 +#: src/tables/company/AddressTable.tsx:144 msgid "Are you sure you want to delete this address?" msgstr "" @@ -5177,36 +5287,52 @@ msgstr "" msgid "Add contact" msgstr "" -#: src/tables/general/AttachmentTable.tsx:161 +#: src/tables/general/AttachmentTable.tsx:130 msgid "File uploaded" msgstr "" -#: src/tables/general/AttachmentTable.tsx:162 +#: src/tables/general/AttachmentTable.tsx:131 msgid "File {0} uploaded successfully" msgstr "" -#: src/tables/general/AttachmentTable.tsx:173 +#: src/tables/general/AttachmentTable.tsx:142 msgid "Upload Error" msgstr "" -#: src/tables/general/AttachmentTable.tsx:174 +#: src/tables/general/AttachmentTable.tsx:143 msgid "File could not be uploaded" msgstr "" #: src/tables/general/AttachmentTable.tsx:187 +msgid "Upload Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:197 +msgid "Edit Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:211 +msgid "Delete Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:221 msgid "Add attachment" msgstr "" -#: src/tables/general/AttachmentTable.tsx:207 +#: src/tables/general/AttachmentTable.tsx:232 msgid "Add external link" msgstr "" -#: src/tables/general/AttachmentTable.tsx:239 +#: src/tables/general/AttachmentTable.tsx:254 +#~ msgid "Upload attachment" +#~ msgstr "Upload attachment" + +#: src/tables/general/AttachmentTable.tsx:289 msgid "No attachments found" msgstr "" -#: src/tables/general/AttachmentTable.tsx:254 -msgid "Upload attachment" +#: src/tables/general/AttachmentTable.tsx:325 +msgid "Drag attachment file here to upload" msgstr "" #: src/tables/machine/MachineListTable.tsx:199 @@ -5332,8 +5458,8 @@ msgstr "" #: src/tables/machine/MachineTypeTable.tsx:135 #: src/tables/machine/MachineTypeTable.tsx:255 -#: src/tables/plugin/PluginListTable.tsx:215 -#: src/tables/plugin/PluginListTable.tsx:643 +#: src/tables/plugin/PluginListTable.tsx:180 +#: src/tables/plugin/PluginListTable.tsx:568 msgid "Builtin" msgstr "" @@ -5375,7 +5501,7 @@ msgid "Message" msgstr "" #: src/tables/part/ParametricPartTable.tsx:75 -#: src/tables/part/PartParameterTable.tsx:87 +#: src/tables/part/PartParameterTable.tsx:88 msgid "Internal Units" msgstr "" @@ -5388,29 +5514,29 @@ msgid "Add Part Parameter" msgstr "" #: src/tables/part/ParametricPartTable.tsx:147 -#: src/tables/part/PartParameterTable.tsx:128 -#: src/tables/part/PartParameterTable.tsx:150 +#: src/tables/part/PartParameterTable.tsx:121 +#: src/tables/part/PartParameterTable.tsx:144 msgid "Edit Part Parameter" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:64 +#: src/tables/part/PartCategoryTable.tsx:60 #: src/tables/part/PartTable.tsx:180 msgid "Include Subcategories" msgstr "サブカテゴリを含む" -#: src/tables/part/PartCategoryTable.tsx:65 +#: src/tables/part/PartCategoryTable.tsx:61 msgid "Include subcategories in results" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:70 +#: src/tables/part/PartCategoryTable.tsx:66 msgid "Show structural categories" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:77 +#: src/tables/part/PartCategoryTable.tsx:73 msgid "New Part Category" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:106 +#: src/tables/part/PartCategoryTable.tsx:98 msgid "Add Part Category" msgstr "" @@ -5435,20 +5561,20 @@ msgstr "" #~ msgid "[{0}]" #~ msgstr "[{0}]" -#: src/tables/part/PartParameterTable.tsx:112 +#: src/tables/part/PartParameterTable.tsx:105 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:136 -#: src/tables/part/PartParameterTable.tsx:158 +#: src/tables/part/PartParameterTable.tsx:130 +#: src/tables/part/PartParameterTable.tsx:152 msgid "Delete Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:175 +#: src/tables/part/PartParameterTable.tsx:170 msgid "Add parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:196 +#: src/tables/part/PartParameterTable.tsx:191 #: src/tables/stock/StockItemTable.tsx:300 msgid "Include Variants" msgstr "" @@ -5482,15 +5608,15 @@ msgstr "" msgid "Add Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:97 +#: src/tables/part/PartParameterTemplateTable.tsx:100 msgid "Edit Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:105 +#: src/tables/part/PartParameterTemplateTable.tsx:111 msgid "Delete Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:135 +#: src/tables/part/PartParameterTemplateTable.tsx:141 msgid "Add parameter template" msgstr "" @@ -5588,7 +5714,7 @@ msgid "No Results" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:79 -#: src/tables/stock/StockItemTestResultTable.tsx:385 +#: src/tables/stock/StockItemTestResultTable.tsx:376 msgid "Required" msgstr "" @@ -5597,8 +5723,8 @@ msgid "Show required tests" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:84 -#: src/tables/settings/TemplateTable.tsx:213 -#: src/tables/settings/TemplateTable.tsx:275 +#: src/tables/settings/TemplateTable.tsx:160 +#: src/tables/settings/TemplateTable.tsx:270 msgid "Enabled" msgstr "" @@ -5639,26 +5765,30 @@ msgid "Show tests which have recorded results" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:126 -#: src/tables/part/PartTestTemplateTable.tsx:195 +#: src/tables/part/PartTestTemplateTable.tsx:201 msgid "Add Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:139 +#: src/tables/part/PartTestTemplateTable.tsx:142 msgid "Edit Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:147 +#: src/tables/part/PartTestTemplateTable.tsx:153 msgid "Delete Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:149 +#: src/tables/part/PartTestTemplateTable.tsx:155 msgid "This action cannot be reversed" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:151 +#: src/tables/part/PartTestTemplateTable.tsx:157 msgid "Any tests results associated with this template will be deleted" msgstr "" +#: src/tables/part/PartThumbTable.tsx:203 +msgid "Select" +msgstr "" + #: src/tables/part/PartVariantTable.tsx:16 msgid "Show active variants" msgstr "" @@ -5695,252 +5825,273 @@ msgstr "" msgid "Stage" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:113 -msgid "Plugin with id {id} not found" +#: src/tables/plugin/PluginListTable.tsx:95 +msgid "Plugin with key {pluginKey} not found" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:115 +#: src/tables/plugin/PluginListTable.tsx:97 msgid "An error occurred while fetching plugin details" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:134 -msgid "Plugin Actions" -msgstr "" +#: src/tables/plugin/PluginListTable.tsx:113 +#~ msgid "Plugin with id {id} not found" +#~ msgstr "Plugin with id {id} not found" -#: src/tables/plugin/PluginListTable.tsx:138 -#: src/tables/plugin/PluginListTable.tsx:141 -msgid "Edit plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:152 -#: src/tables/plugin/PluginListTable.tsx:153 -msgid "Reload" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:166 +#: src/tables/plugin/PluginListTable.tsx:122 msgid "Plugin information" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:177 +#: src/tables/plugin/PluginListTable.tsx:134 msgid "Author" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:198 +#: src/tables/plugin/PluginListTable.tsx:134 +#~ msgid "Plugin Actions" +#~ msgstr "Plugin Actions" + +#: src/tables/plugin/PluginListTable.tsx:138 +#: src/tables/plugin/PluginListTable.tsx:141 +#~ msgid "Edit plugin" +#~ msgstr "Edit plugin" + +#: src/tables/plugin/PluginListTable.tsx:152 +#: src/tables/plugin/PluginListTable.tsx:153 +#~ msgid "Reload" +#~ msgstr "Reload" + +#: src/tables/plugin/PluginListTable.tsx:154 +msgid "Plugin is not active" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:163 msgid "Package information" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:204 +#: src/tables/plugin/PluginListTable.tsx:169 msgid "Package Name" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:210 +#: src/tables/plugin/PluginListTable.tsx:175 msgid "Installation Path" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:220 +#: src/tables/plugin/PluginListTable.tsx:185 msgid "Package" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:231 +#: src/tables/plugin/PluginListTable.tsx:197 msgid "Plugin settings" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:248 +#: src/tables/plugin/PluginListTable.tsx:214 msgid "Plugin is active" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:254 +#: src/tables/plugin/PluginListTable.tsx:220 msgid "Plugin is inactive" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:261 +#: src/tables/plugin/PluginListTable.tsx:227 msgid "Plugin is not installed" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:287 +#: src/tables/plugin/PluginListTable.tsx:253 msgid "Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:312 +#: src/tables/plugin/PluginListTable.tsx:287 msgid "Description not available" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:338 +#: src/tables/plugin/PluginListTable.tsx:319 +msgid "Confirm plugin activation" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:320 +msgid "Confirm plugin deactivation" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:325 +msgid "The selected plugin will be activated" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:326 +msgid "The selected plugin will be deactivated" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:334 msgid "Activate Plugin" msgstr "" #: src/tables/plugin/PluginListTable.tsx:338 -msgid "Deactivate Plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:347 -msgid "Confirm plugin activation" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:348 -msgid "Confirm plugin deactivation" -msgstr "" +#~ msgid "Deactivate Plugin" +#~ msgstr "Deactivate Plugin" #: src/tables/plugin/PluginListTable.tsx:354 -msgid "The following plugin will be activated" -msgstr "" +#~ msgid "The following plugin will be activated" +#~ msgstr "The following plugin will be activated" #: src/tables/plugin/PluginListTable.tsx:355 -msgid "The following plugin will be deactivated" -msgstr "" +#~ msgid "The following plugin will be deactivated" +#~ msgstr "The following plugin will be deactivated" -#: src/tables/plugin/PluginListTable.tsx:366 -msgid "Confirm" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:376 -msgid "Activating plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:376 -msgid "Deactivating plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:392 -msgid "Plugin updated" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:394 -msgid "The plugin was activated" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:395 -msgid "The plugin was deactivated" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:403 -msgid "Error updating plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:423 +#: src/tables/plugin/PluginListTable.tsx:362 msgid "Deactivate" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:432 +#: src/tables/plugin/PluginListTable.tsx:366 +#~ msgid "Confirm" +#~ msgstr "Confirm" + +#: src/tables/plugin/PluginListTable.tsx:373 msgid "Activate" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:463 +#: src/tables/plugin/PluginListTable.tsx:376 +#~ msgid "Activating plugin" +#~ msgstr "Activating plugin" + +#: src/tables/plugin/PluginListTable.tsx:376 +#~ msgid "Deactivating plugin" +#~ msgstr "Deactivating plugin" + +#: src/tables/plugin/PluginListTable.tsx:392 +#~ msgid "Plugin updated" +#~ msgstr "Plugin updated" + +#: src/tables/plugin/PluginListTable.tsx:394 +#~ msgid "The plugin was activated" +#~ msgstr "The plugin was activated" + +#: src/tables/plugin/PluginListTable.tsx:395 +#~ msgid "The plugin was deactivated" +#~ msgstr "The plugin was deactivated" + +#: src/tables/plugin/PluginListTable.tsx:403 +#~ msgid "Error updating plugin" +#~ msgstr "Error updating plugin" + +#: src/tables/plugin/PluginListTable.tsx:406 msgid "Uninstall" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:495 +#: src/tables/plugin/PluginListTable.tsx:438 msgid "Install plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:508 +#: src/tables/plugin/PluginListTable.tsx:451 msgid "Install" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:512 +#: src/tables/plugin/PluginListTable.tsx:452 msgid "Plugin installed successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:525 +#: src/tables/plugin/PluginListTable.tsx:457 msgid "Uninstall Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:537 +#: src/tables/plugin/PluginListTable.tsx:469 msgid "Confirm plugin uninstall" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:540 +#: src/tables/plugin/PluginListTable.tsx:472 msgid "The selected plugin will be uninstalled." msgstr "" -#: src/tables/plugin/PluginListTable.tsx:541 +#: src/tables/plugin/PluginListTable.tsx:473 msgid "This action cannot be undone." msgstr "" -#: src/tables/plugin/PluginListTable.tsx:547 +#: src/tables/plugin/PluginListTable.tsx:477 msgid "Plugin uninstalled successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:560 +#: src/tables/plugin/PluginListTable.tsx:484 msgid "Delete Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:562 +#: src/tables/plugin/PluginListTable.tsx:485 msgid "Deleting this plugin configuration will remove all associated settings and data. Are you sure you want to delete this plugin?" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:574 +#: src/tables/plugin/PluginListTable.tsx:498 msgid "Plugins reloaded" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:575 +#: src/tables/plugin/PluginListTable.tsx:499 msgid "Plugins were reloaded successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:591 +#: src/tables/plugin/PluginListTable.tsx:515 msgid "Reload Plugins" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:600 +#: src/tables/plugin/PluginListTable.tsx:524 msgid "Install Plugin" msgstr "" +#: src/tables/plugin/PluginListTable.tsx:544 +msgid "Plugin Detail" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:573 +msgid "Sample" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:578 +#: src/tables/stock/StockItemTable.tsx:305 +msgid "Installed" +msgstr "" + #: src/tables/plugin/PluginListTable.tsx:615 #~ msgid "Plugin detail" #~ msgstr "Plugin detail" -#: src/tables/plugin/PluginListTable.tsx:619 -msgid "Plugin Detail" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:648 -msgid "Sample" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:653 -#: src/tables/stock/StockItemTable.tsx:305 -msgid "Installed" -msgstr "" - -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:57 -msgid "Edit Parameter" +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:59 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:108 +msgid "Add Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:60 -msgid "Parameter updated" -msgstr "" +#~ msgid "Parameter updated" +#~ msgstr "Parameter updated" -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:71 -msgid "Delete Parameter" +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:70 +msgid "Edit Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:73 -msgid "Parameter deleted" -msgstr "" +#~ msgid "Parameter deleted" +#~ msgstr "Parameter deleted" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:74 -msgid "Are you sure you want to delete this parameter?" +#~ msgid "Are you sure you want to delete this parameter?" +#~ msgstr "Are you sure you want to delete this parameter?" + +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:78 +msgid "Delete Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartTable.tsx:63 #~ msgid "Create Manufacturer Part" #~ msgstr "Create Manufacturer Part" -#: src/tables/purchasing/ManufacturerPartTable.tsx:100 -msgid "Manufacturer part updated" -msgstr "" - -#: src/tables/purchasing/ManufacturerPartTable.tsx:111 +#: src/tables/purchasing/ManufacturerPartTable.tsx:92 msgid "Delete Manufacturer Part" msgstr "" +#: src/tables/purchasing/ManufacturerPartTable.tsx:100 +#~ msgid "Manufacturer part updated" +#~ msgstr "Manufacturer part updated" + #: src/tables/purchasing/ManufacturerPartTable.tsx:112 -msgid "Manufacturer part deleted" -msgstr "" +#~ msgid "Manufacturer part deleted" +#~ msgstr "Manufacturer part deleted" #: src/tables/purchasing/ManufacturerPartTable.tsx:114 -msgid "Are you sure you want to remove this manufacturer part?" -msgstr "" +#~ msgid "Are you sure you want to remove this manufacturer part?" +#~ msgstr "Are you sure you want to remove this manufacturer part?" #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:86 msgid "Part Description" @@ -6087,18 +6238,22 @@ msgid "Error Information" msgstr "" #: src/tables/settings/ErrorTable.tsx:51 -msgid "Delete error report" +msgid "Delete Error Report" msgstr "" +#: src/tables/settings/ErrorTable.tsx:51 +#~ msgid "Delete error report" +#~ msgstr "Delete error report" + #: src/tables/settings/ErrorTable.tsx:53 -msgid "Error report deleted" -msgstr "" - -#: src/tables/settings/ErrorTable.tsx:54 msgid "Are you sure you want to delete this error report?" msgstr "" -#: src/tables/settings/ErrorTable.tsx:67 +#: src/tables/settings/ErrorTable.tsx:55 +msgid "Error report deleted" +msgstr "" + +#: src/tables/settings/ErrorTable.tsx:77 #: src/tables/settings/FailedTasksTable.tsx:57 msgid "Error Details" msgstr "" @@ -6115,7 +6270,7 @@ msgid "Task ID" msgstr "" #: src/tables/settings/FailedTasksTable.tsx:34 -#: src/tables/stock/StockItemTestResultTable.tsx:214 +#: src/tables/stock/StockItemTestResultTable.tsx:205 msgid "Started" msgstr "" @@ -6188,30 +6343,71 @@ msgstr "" msgid "Next Run" msgstr "" -#: src/tables/settings/TemplateTable.tsx:120 -msgid "{templateTypeTranslation} with id {id} not found" +#: src/tables/settings/TemplateTable.tsx:82 +msgid "Template not found" msgstr "" +#: src/tables/settings/TemplateTable.tsx:84 +msgid "An error occurred while fetching template details" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:120 +#~ msgid "{templateTypeTranslation} with id {id} not found" +#~ msgstr "{templateTypeTranslation} with id {id} not found" + #: src/tables/settings/TemplateTable.tsx:124 -msgid "An error occurred while fetching {templateTypeTranslation} details" -msgstr "" +#~ msgid "An error occurred while fetching {templateTypeTranslation} details" +#~ msgstr "An error occurred while fetching {templateTypeTranslation} details" #: src/tables/settings/TemplateTable.tsx:146 -msgid "actions" +#~ msgid "actions" +#~ msgstr "actions" + +#: src/tables/settings/TemplateTable.tsx:170 +msgid "Modify" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:171 +msgid "Modify template file" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:222 +#: src/tables/settings/TemplateTable.tsx:289 +msgid "Edit Template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:230 +msgid "Delete template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:236 +msgid "Add Template" msgstr "" #: src/tables/settings/TemplateTable.tsx:243 -msgid "Add new" -msgstr "" +#~ msgid "Add new" +#~ msgstr "Add new" #: src/tables/settings/TemplateTable.tsx:243 #~ msgid "Create new" #~ msgstr "Create new" -#: src/tables/settings/TemplateTable.tsx:276 +#: src/tables/settings/TemplateTable.tsx:249 +msgid "Add template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:271 msgid "Filter by enabled status" msgstr "" +#: src/tables/settings/TemplateTable.tsx:276 +msgid "Model Type" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:277 +msgid "Filter by target model type" +msgstr "" + #: src/tables/settings/UserTable.tsx:79 msgid "User with id {id} not found" msgstr "" @@ -6277,6 +6473,23 @@ msgstr "" msgid "Edit user" msgstr "" +#: src/tables/stock/LocationTypesTable.tsx:36 +#: src/tables/stock/LocationTypesTable.tsx:105 +msgid "Add Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:44 +msgid "Edit Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:52 +msgid "Delete Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:69 +msgid "Icon" +msgstr "" + #: src/tables/stock/StockItemTable.tsx:90 msgid "This stock item is in production" msgstr "" @@ -6338,7 +6551,7 @@ msgid "Show items which are available" msgstr "" #: src/tables/stock/StockItemTable.tsx:280 -#: src/tables/stock/StockLocationTable.tsx:37 +#: src/tables/stock/StockLocationTable.tsx:33 msgid "Include Sublocations" msgstr "" @@ -6467,123 +6680,135 @@ msgstr "" msgid "Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:153 +#: src/tables/stock/StockItemTestResultTable.tsx:151 msgid "Test result for installed stock item" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:164 +#: src/tables/stock/StockItemTestResultTable.tsx:162 msgid "Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:170 +#: src/tables/stock/StockItemTestResultTable.tsx:168 msgid "No Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:186 +#: src/tables/stock/StockItemTestResultTable.tsx:184 msgid "Attachment" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:209 +#: src/tables/stock/StockItemTestResultTable.tsx:200 msgid "Test station" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:229 +#: src/tables/stock/StockItemTestResultTable.tsx:220 msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:277 -#: src/tables/stock/StockItemTestResultTable.tsx:349 -#: src/tables/stock/StockItemTestResultTable.tsx:404 +#: src/tables/stock/StockItemTestResultTable.tsx:268 +#: src/tables/stock/StockItemTestResultTable.tsx:340 +#: src/tables/stock/StockItemTestResultTable.tsx:395 msgid "Add Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:279 +#: src/tables/stock/StockItemTestResultTable.tsx:270 msgid "Test result added" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:288 -#: src/tables/stock/StockItemTestResultTable.tsx:359 +#: src/tables/stock/StockItemTestResultTable.tsx:279 +#: src/tables/stock/StockItemTestResultTable.tsx:350 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:290 +#: src/tables/stock/StockItemTestResultTable.tsx:281 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:296 -#: src/tables/stock/StockItemTestResultTable.tsx:368 +#: src/tables/stock/StockItemTestResultTable.tsx:287 +#: src/tables/stock/StockItemTestResultTable.tsx:359 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:298 +#: src/tables/stock/StockItemTestResultTable.tsx:289 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:312 +#: src/tables/stock/StockItemTestResultTable.tsx:303 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:313 +#: src/tables/stock/StockItemTestResultTable.tsx:304 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:320 +#: src/tables/stock/StockItemTestResultTable.tsx:311 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:337 +#: src/tables/stock/StockItemTestResultTable.tsx:328 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:386 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:390 +#: src/tables/stock/StockItemTestResultTable.tsx:381 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:391 +#: src/tables/stock/StockItemTestResultTable.tsx:382 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:395 +#: src/tables/stock/StockItemTestResultTable.tsx:386 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:396 +#: src/tables/stock/StockItemTestResultTable.tsx:387 msgid "Show only passed tests" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:38 +#: src/tables/stock/StockLocationTable.tsx:34 msgid "Include sublocations in results" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:42 +#: src/tables/stock/StockLocationTable.tsx:38 msgid "structural" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:43 +#: src/tables/stock/StockLocationTable.tsx:39 msgid "Show structural locations" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:47 +#: src/tables/stock/StockLocationTable.tsx:43 msgid "external" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:48 +#: src/tables/stock/StockLocationTable.tsx:44 msgid "Show external locations" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:52 +#: src/tables/stock/StockLocationTable.tsx:48 msgid "Has location type" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:89 -#: src/tables/stock/StockLocationTable.tsx:118 +#: src/tables/stock/StockLocationTable.tsx:85 +#: src/tables/stock/StockLocationTable.tsx:110 msgid "Add Stock Location" msgstr "" +#: src/tables/stock/StockTrackingTable.tsx:64 +msgid "Added" +msgstr "" + +#: src/tables/stock/StockTrackingTable.tsx:69 +msgid "Removed" +msgstr "" + +#: src/tables/stock/StockTrackingTable.tsx:198 +msgid "No user information" +msgstr "" + #: src/views/MobileAppView.tsx:22 msgid "Mobile viewport detected" msgstr "" diff --git a/src/frontend/src/locales/ko/messages.po b/src/frontend/src/locales/ko/messages.po index 5826a9e25e..3f99194e9f 100644 --- a/src/frontend/src/locales/ko/messages.po +++ b/src/frontend/src/locales/ko/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: ko\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-05-13 02:48\n" +"PO-Revision-Date: 2024-05-23 11:38\n" "Last-Translator: \n" "Language-Team: Korean\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -30,10 +30,67 @@ msgstr "" msgid "Title" msgstr "" +#: src/components/buttons/AdminButton.tsx:83 +msgid "Open in admin interface" +msgstr "" + #: src/components/buttons/CopyButton.tsx:18 msgid "Copy to clipboard" msgstr "" +#: src/components/buttons/PrintingActions.tsx:95 +msgid "Print Label" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:101 +msgid "Label printing completed successfully" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:106 +#: src/components/buttons/PrintingActions.tsx:143 +#: src/components/forms/ApiForm.tsx:504 +#: src/components/forms/fields/ApiFormField.tsx:295 +#: src/components/modals/LicenseModal.tsx:75 +#: src/components/nav/SearchDrawer.tsx:413 +#: src/components/widgets/MarkdownEditor.tsx:107 +#: src/components/widgets/MarkdownEditor.tsx:153 +#: src/pages/ErrorPage.tsx:12 +#: src/pages/ErrorPage.tsx:25 +#: src/pages/part/PartPricingPanel.tsx:71 +#: src/tables/InvenTreeTable.tsx:451 +#: src/tables/InvenTreeTable.tsx:531 +#: src/tables/stock/StockItemTestResultTable.tsx:310 +msgid "Error" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:107 +msgid "The label could not be generated" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:122 +msgid "Print Report" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:138 +msgid "Report printing completed successfully" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:144 +msgid "The report could not be generated" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:171 +msgid "Printing Actions" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:176 +msgid "Print Labels" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:182 +msgid "Print Reports" +msgstr "" + #: src/components/buttons/ScanButton.tsx:15 msgid "Scan QR code" msgstr "" @@ -64,15 +121,15 @@ msgstr "" msgid "No" msgstr "" -#: src/components/details/Details.tsx:302 +#: src/components/details/Details.tsx:303 msgid "No name defined" msgstr "" -#: src/components/details/Details.tsx:339 +#: src/components/details/Details.tsx:340 msgid "Copied" msgstr "" -#: src/components/details/Details.tsx:339 +#: src/components/details/Details.tsx:340 msgid "Copy" msgstr "" @@ -85,24 +142,23 @@ msgid "Remove the associated image from this item?" msgstr "" #: src/components/details/DetailsImage.tsx:71 -#: src/forms/StockForms.tsx:442 +#: src/forms/StockForms.tsx:483 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:448 +#: src/pages/stock/StockDetail.tsx:462 msgid "Remove" msgstr "" #: src/components/details/DetailsImage.tsx:71 -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:163 -#: src/components/items/ActionDropdown.tsx:222 -#: src/components/items/ActionDropdown.tsx:223 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 +#: src/components/items/ActionDropdown.tsx:229 +#: src/components/items/ActionDropdown.tsx:230 #: src/contexts/ThemeContext.tsx:43 #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:40 -#: src/tables/FilterSelectDrawer.tsx:218 -#: src/tables/InvenTreeTable.tsx:493 -#: src/tables/build/BuildOutputTable.tsx:223 -#: src/tables/plugin/PluginListTable.tsx:365 +#: src/tables/FilterSelectDrawer.tsx:207 +#: src/tables/InvenTreeTable.tsx:499 +#: src/tables/build/BuildOutputTable.tsx:225 msgid "Cancel" msgstr "" @@ -119,7 +175,7 @@ msgid "Clear" msgstr "" #: src/components/details/DetailsImage.tsx:227 -#: src/components/forms/ApiForm.tsx:554 +#: src/components/forms/ApiForm.tsx:571 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:56 msgid "Submit" @@ -150,9 +206,10 @@ msgid "Part is not active" msgstr "" #: src/components/details/PartIcons.tsx:34 -#: src/pages/company/CompanyDetail.tsx:308 -#: src/pages/company/SupplierPartDetail.tsx:304 -#: src/pages/part/PartDetail.tsx:684 +#: src/components/render/Plugin.tsx:17 +#: src/pages/company/CompanyDetail.tsx:310 +#: src/pages/company/SupplierPartDetail.tsx:305 +#: src/pages/part/PartDetail.tsx:685 msgid "Inactive" msgstr "" @@ -196,10 +253,10 @@ msgid "Code" msgstr "" #: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:44 -msgid "Failed to parse error response from server." -msgstr "" +#~ msgid "Failed to parse error response from server." +#~ msgstr "Failed to parse error response from server." -#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:82 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:81 msgid "Preview not available, click \"Reload Preview\"." msgstr "" @@ -207,98 +264,99 @@ msgstr "" msgid "PDF Preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:113 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:104 msgid "Error loading template" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:125 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:116 msgid "Error saving template" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 -msgid "Save & Reload preview?" +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:146 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:270 +msgid "Save & Reload Preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:156 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 msgid "Are you sure you want to Save & Reload the preview?" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 +#~ msgid "Save & Reload preview?" +#~ msgstr "Save & Reload preview?" + +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:153 msgid "To render the preview the current template needs to be replaced on the server with your modifications which may break the label if it is under active use. Do you want to proceed?" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:162 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:157 msgid "Save & Reload" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:191 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:189 msgid "Preview updated" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:192 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:190 msgid "The preview has been updated successfully." msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:255 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:262 msgid "Reload preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:256 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:263 msgid "Use the currently stored template from the server" msgstr "" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:263 -msgid "Save & Reload preview" -msgstr "" +#~ msgid "Save & Reload preview" +#~ msgstr "Save & Reload preview" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:264 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:271 msgid "Save the current template and reload the preview" msgstr "" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:322 -#: src/tables/part/PartThumbTable.tsx:203 -msgid "Select" +#~ msgid "to preview" +#~ msgstr "to preview" + +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:329 +msgid "Select instance to preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:322 -msgid "to preview" -msgstr "" - -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:366 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:373 msgid "Error rendering template" msgstr "" -#: src/components/forms/ApiForm.tsx:143 +#: src/components/forms/ApiForm.tsx:148 #: src/functions/forms.tsx:259 msgid "Form Error" msgstr "" -#: src/components/forms/ApiForm.tsx:411 +#: src/components/forms/ApiForm.tsx:428 #: src/components/widgets/MarkdownEditor.tsx:145 msgid "Success" msgstr "" #: src/components/forms/ApiForm.tsx:487 -msgid "Form Errors Exist" -msgstr "" +#~ msgid "Form Errors Exist" +#~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:592 -#: src/tables/plugin/PluginListTable.tsx:445 +#: src/components/forms/ApiForm.tsx:609 +#: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "" -#: src/components/forms/ApiForm.tsx:612 -#: src/components/items/ActionDropdown.tsx:203 +#: src/components/forms/ApiForm.tsx:629 +#: src/components/items/ActionDropdown.tsx:210 #: src/functions/forms.tsx:299 #: src/hooks/UseForm.tsx:122 #: src/pages/Index/Scan.tsx:343 #: src/pages/Notifications.tsx:123 -#: src/tables/InvenTreeTable.tsx:492 +#: src/tables/InvenTreeTable.tsx:498 #: src/tables/RowActions.tsx:71 -#: src/tables/plugin/PluginListTable.tsx:477 -#: src/tables/settings/TemplateTable.tsx:105 -#: src/tables/settings/TemplateTable.tsx:154 -#: src/tables/settings/TemplateTable.tsx:236 +#: src/tables/plugin/PluginListTable.tsx:420 msgid "Delete" msgstr "" @@ -468,18 +526,19 @@ msgstr "" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 -#: src/pages/part/CategoryDetail.tsx:77 -#: src/pages/part/PartDetail.tsx:125 -#: src/pages/stock/LocationDetail.tsx:83 +#: src/pages/part/CategoryDetail.tsx:78 +#: src/pages/part/PartDetail.tsx:126 +#: src/pages/stock/LocationDetail.tsx:85 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 #: src/tables/machine/MachineTypeTable.tsx:216 #: src/tables/machine/MachineTypeTable.tsx:319 #: src/tables/plugin/PluginErrorTable.tsx:33 -#: src/tables/plugin/PluginListTable.tsx:169 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:27 +#: src/tables/plugin/PluginListTable.tsx:126 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:32 #: src/tables/settings/GroupTable.tsx:103 #: src/tables/settings/PendingTasksTable.tsx:26 +#: src/tables/stock/LocationTypesTable.tsx:60 msgid "Name" msgstr "" @@ -520,35 +579,20 @@ msgstr "" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/ApiFormField.tsx:276 -#: src/components/modals/LicenseModal.tsx:75 -#: src/components/nav/SearchDrawer.tsx:413 -#: src/components/widgets/MarkdownEditor.tsx:107 -#: src/components/widgets/MarkdownEditor.tsx:153 -#: src/pages/ErrorPage.tsx:12 -#: src/pages/ErrorPage.tsx:25 -#: src/pages/part/PartPricingPanel.tsx:71 -#: src/tables/InvenTreeTable.tsx:445 -#: src/tables/InvenTreeTable.tsx:525 -#: src/tables/plugin/PluginListTable.tsx:402 -#: src/tables/stock/StockItemTestResultTable.tsx:319 -msgid "Error" -msgstr "" - -#: src/components/forms/fields/RelatedModelField.tsx:305 +#: src/components/forms/fields/RelatedModelField.tsx:315 #: src/pages/Index/Settings/UserSettings.tsx:64 #: src/tables/Search.tsx:23 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:306 +#: src/components/forms/fields/RelatedModelField.tsx:316 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:120 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:308 +#: src/components/forms/fields/RelatedModelField.tsx:318 msgid "No results found" msgstr "" @@ -569,54 +613,51 @@ msgstr "" msgid "Thumbnail" msgstr "" -#: src/components/items/ActionDropdown.tsx:112 -#: src/pages/build/BuildDetail.tsx:354 +#: src/components/items/ActionDropdown.tsx:119 +#: src/pages/build/BuildDetail.tsx:360 msgid "Barcode Actions" msgstr "" -#: src/components/items/ActionDropdown.tsx:129 +#: src/components/items/ActionDropdown.tsx:136 msgid "View" msgstr "" -#: src/components/items/ActionDropdown.tsx:130 +#: src/components/items/ActionDropdown.tsx:137 msgid "View barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:146 +#: src/components/items/ActionDropdown.tsx:153 msgid "Link Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:147 +#: src/components/items/ActionDropdown.tsx:154 msgid "Link custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:163 -#: src/forms/PurchaseOrderForms.tsx:375 +#: src/components/items/ActionDropdown.tsx:170 +#: src/forms/PurchaseOrderForms.tsx:389 msgid "Unlink Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:164 +#: src/components/items/ActionDropdown.tsx:171 msgid "Unlink custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:182 +#: src/components/items/ActionDropdown.tsx:189 #: src/tables/RowActions.tsx:51 -#: src/tables/settings/TemplateTable.tsx:87 -#: src/tables/settings/TemplateTable.tsx:150 -#: src/tables/settings/TemplateTable.tsx:287 msgid "Edit" msgstr "" -#: src/components/items/ActionDropdown.tsx:204 +#: src/components/items/ActionDropdown.tsx:211 msgid "Delete item" msgstr "" -#: src/components/items/ActionDropdown.tsx:241 +#: src/components/items/ActionDropdown.tsx:248 #: src/tables/RowActions.tsx:31 msgid "Duplicate" msgstr "" -#: src/components/items/ActionDropdown.tsx:242 +#: src/components/items/ActionDropdown.tsx:249 msgid "Duplicate item" msgstr "" @@ -625,7 +666,7 @@ msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:437 +#: src/tables/InvenTreeTable.tsx:443 msgid "Unknown error" msgstr "" @@ -785,27 +826,27 @@ msgstr "" #: src/components/modals/QrCodeModal.tsx:154 #: src/defaults/menuItems.tsx:21 -#: src/pages/Index/Scan.tsx:747 +#: src/pages/Index/Scan.tsx:746 msgid "Scanning" msgstr "" #: src/components/modals/QrCodeModal.tsx:154 -#: src/pages/Index/Scan.tsx:747 +#: src/pages/Index/Scan.tsx:746 msgid "Not scanning" msgstr "" #: src/components/modals/QrCodeModal.tsx:159 -#: src/pages/Index/Scan.tsx:753 +#: src/pages/Index/Scan.tsx:752 msgid "Select Camera" msgstr "" #: src/components/modals/QrCodeModal.tsx:169 -#: src/pages/Index/Scan.tsx:738 +#: src/pages/Index/Scan.tsx:737 msgid "Start scanning" msgstr "" #: src/components/modals/QrCodeModal.tsx:176 -#: src/pages/Index/Scan.tsx:730 +#: src/pages/Index/Scan.tsx:729 msgid "Stop scanning" msgstr "" @@ -891,8 +932,8 @@ msgid "Email settings not configured" msgstr "" #: src/components/modals/ServerInfoModal.tsx:121 -#: src/tables/plugin/PluginListTable.tsx:187 -#: src/tables/plugin/PluginListTable.tsx:319 +#: src/tables/plugin/PluginListTable.tsx:144 +#: src/tables/plugin/PluginListTable.tsx:294 msgid "Version" msgstr "" @@ -926,13 +967,13 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:293 +#: src/pages/Index/Settings/SystemSettings.tsx:294 msgid "System Settings" msgstr "" #: src/components/nav/MainMenu.tsx:67 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:172 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 msgid "Admin Center" msgstr "" @@ -975,7 +1016,7 @@ msgid "Pages" msgstr "" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:133 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:153 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "" @@ -1013,9 +1054,9 @@ msgid "Mark as read" msgstr "" #: src/components/nav/PartCategoryTree.tsx:158 -#: src/components/render/ModelType.tsx:60 +#: src/components/render/ModelType.tsx:64 #: src/pages/Index/Settings/SystemSettings.tsx:162 -#: src/pages/part/CategoryDetail.tsx:248 +#: src/pages/part/CategoryDetail.tsx:249 msgid "Part Categories" msgstr "" @@ -1052,142 +1093,147 @@ msgid "No results available for search query" msgstr "" #: src/components/nav/StockLocationTree.tsx:93 -#: src/components/render/ModelType.tsx:76 -#: src/pages/stock/LocationDetail.tsx:175 +#: src/components/render/ModelType.tsx:82 +#: src/pages/stock/LocationDetail.tsx:185 msgid "Stock Locations" msgstr "" -#: src/components/render/Instance.tsx:137 +#: src/components/render/Instance.tsx:166 msgid "Unknown model: {model}" msgstr "" -#: src/components/render/ModelType.tsx:21 -#: src/forms/BuildForms.tsx:184 -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49 +#: src/components/render/ModelType.tsx:22 +#: src/forms/BuildForms.tsx:201 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:83 #: src/pages/part/PartDetail.tsx:828 #: src/tables/part/RelatedPartTable.tsx:45 +#: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" msgstr "" -#: src/components/render/ModelType.tsx:22 +#: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 #: src/pages/Index/Settings/SystemSettings.tsx:167 -#: src/pages/part/CategoryDetail.tsx:109 -#: src/pages/part/CategoryDetail.tsx:234 -#: src/pages/part/CategoryDetail.tsx:264 -#: src/pages/part/PartDetail.tsx:638 +#: src/pages/part/CategoryDetail.tsx:110 +#: src/pages/part/CategoryDetail.tsx:235 +#: src/pages/part/CategoryDetail.tsx:265 +#: src/pages/part/PartDetail.tsx:639 msgid "Parts" msgstr "" -#: src/components/render/ModelType.tsx:29 +#: src/components/render/ModelType.tsx:31 msgid "Part Parameter Template" msgstr "" -#: src/components/render/ModelType.tsx:30 +#: src/components/render/ModelType.tsx:32 msgid "Part Parameter Templates" msgstr "" -#: src/components/render/ModelType.tsx:36 +#: src/components/render/ModelType.tsx:38 msgid "Part Test Template" msgstr "" -#: src/components/render/ModelType.tsx:37 +#: src/components/render/ModelType.tsx:39 msgid "Part Test Templates" msgstr "" -#: src/components/render/ModelType.tsx:43 -#: src/pages/company/SupplierPartDetail.tsx:189 -#: src/pages/company/SupplierPartDetail.tsx:317 -#: src/pages/stock/StockDetail.tsx:159 +#: src/components/render/ModelType.tsx:45 +#: src/pages/company/SupplierPartDetail.tsx:190 +#: src/pages/company/SupplierPartDetail.tsx:318 +#: src/pages/stock/StockDetail.tsx:162 #: src/tables/purchasing/SupplierPartTable.tsx:68 msgid "Supplier Part" msgstr "" -#: src/components/render/ModelType.tsx:44 +#: src/components/render/ModelType.tsx:46 msgid "Supplier Parts" msgstr "" -#: src/components/render/ModelType.tsx:51 -#: src/pages/company/ManufacturerPartDetail.tsx:124 +#: src/components/render/ModelType.tsx:54 +#: src/pages/company/ManufacturerPartDetail.tsx:125 msgid "Manufacturer Part" msgstr "" -#: src/components/render/ModelType.tsx:52 +#: src/components/render/ModelType.tsx:55 msgid "Manufacturer Parts" msgstr "" -#: src/components/render/ModelType.tsx:59 -#: src/pages/part/CategoryDetail.tsx:287 +#: src/components/render/ModelType.tsx:63 +#: src/pages/part/CategoryDetail.tsx:288 msgid "Part Category" msgstr "" -#: src/components/render/ModelType.tsx:67 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67 -#: src/pages/stock/StockDetail.tsx:535 +#: src/components/render/ModelType.tsx:72 +#: src/pages/stock/StockDetail.tsx:548 +#: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" msgstr "" -#: src/components/render/ModelType.tsx:68 -#: src/pages/company/CompanyDetail.tsx:197 -#: src/pages/stock/LocationDetail.tsx:116 -#: src/pages/stock/LocationDetail.tsx:161 +#: src/components/render/ModelType.tsx:73 +#: src/pages/company/CompanyDetail.tsx:199 +#: src/pages/stock/LocationDetail.tsx:118 +#: src/pages/stock/LocationDetail.tsx:171 #: src/pages/stock/LocationDetail.tsx:365 msgid "Stock Items" msgstr "" -#: src/components/render/ModelType.tsx:75 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:154 +#: src/components/render/ModelType.tsx:81 msgid "Stock Location" msgstr "" -#: src/components/render/ModelType.tsx:83 +#: src/components/render/ModelType.tsx:90 +msgid "Stock Location Type" +msgstr "" + +#: src/components/render/ModelType.tsx:91 +msgid "Stock Location Types" +msgstr "" + +#: src/components/render/ModelType.tsx:95 msgid "Stock History" msgstr "" -#: src/components/render/ModelType.tsx:84 +#: src/components/render/ModelType.tsx:96 msgid "Stock Histories" msgstr "" -#: src/components/render/ModelType.tsx:88 +#: src/components/render/ModelType.tsx:100 #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:43 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:126 msgid "Build" msgstr "" -#: src/components/render/ModelType.tsx:89 +#: src/components/render/ModelType.tsx:101 msgid "Builds" msgstr "" -#: src/components/render/ModelType.tsx:96 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:76 +#: src/components/render/ModelType.tsx:109 msgid "Build Line" msgstr "" -#: src/components/render/ModelType.tsx:97 +#: src/components/render/ModelType.tsx:110 msgid "Build Lines" msgstr "" -#: src/components/render/ModelType.tsx:104 -#: src/pages/company/CompanyDetail.tsx:321 +#: src/components/render/ModelType.tsx:117 +#: src/pages/company/CompanyDetail.tsx:323 msgid "Company" msgstr "" -#: src/components/render/ModelType.tsx:105 +#: src/components/render/ModelType.tsx:118 msgid "Companies" msgstr "" -#: src/components/render/ModelType.tsx:112 +#: src/components/render/ModelType.tsx:126 #: src/tables/TableHoverCard.tsx:58 #: src/tables/build/BuildOrderTable.tsx:131 #: src/tables/purchasing/PurchaseOrderTable.tsx:64 @@ -1196,170 +1242,199 @@ msgstr "" msgid "Project Code" msgstr "" -#: src/components/render/ModelType.tsx:113 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:97 +#: src/components/render/ModelType.tsx:127 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:105 msgid "Project Codes" msgstr "" -#: src/components/render/ModelType.tsx:119 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99 +#: src/components/render/ModelType.tsx:133 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:355 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:362 +#: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" msgstr "" -#: src/components/render/ModelType.tsx:120 -#: src/pages/Index/Settings/SystemSettings.tsx:242 -#: src/pages/company/CompanyDetail.tsx:190 -#: src/pages/company/SupplierPartDetail.tsx:223 -#: src/pages/part/PartDetail.tsx:571 +#: src/components/render/ModelType.tsx:134 +#: src/pages/Index/Settings/SystemSettings.tsx:243 +#: src/pages/company/CompanyDetail.tsx:192 +#: src/pages/company/SupplierPartDetail.tsx:224 +#: src/pages/part/PartDetail.tsx:572 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" -#: src/components/render/ModelType.tsx:127 +#: src/components/render/ModelType.tsx:142 msgid "Purchase Order Line" msgstr "" -#: src/components/render/ModelType.tsx:128 +#: src/components/render/ModelType.tsx:143 msgid "Purchase Order Lines" msgstr "" -#: src/components/render/ModelType.tsx:132 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:108 +#: src/components/render/ModelType.tsx:147 #: src/pages/build/BuildDetail.tsx:131 -#: src/pages/sales/SalesOrderDetail.tsx:340 -#: src/pages/stock/StockDetail.tsx:207 +#: src/pages/sales/SalesOrderDetail.tsx:347 +#: src/pages/stock/StockDetail.tsx:210 +#: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" msgstr "" -#: src/components/render/ModelType.tsx:133 -#: src/pages/Index/Settings/SystemSettings.tsx:257 -#: src/pages/company/CompanyDetail.tsx:210 -#: src/pages/part/PartDetail.tsx:577 +#: src/components/render/ModelType.tsx:148 +#: src/pages/Index/Settings/SystemSettings.tsx:258 +#: src/pages/company/CompanyDetail.tsx:212 +#: src/pages/part/PartDetail.tsx:578 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" -#: src/components/render/ModelType.tsx:140 +#: src/components/render/ModelType.tsx:156 msgid "Sales Order Shipment" msgstr "" -#: src/components/render/ModelType.tsx:141 +#: src/components/render/ModelType.tsx:157 msgid "Sales Order Shipments" msgstr "" -#: src/components/render/ModelType.tsx:147 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:117 -#: src/pages/sales/ReturnOrderDetail.tsx:318 +#: src/components/render/ModelType.tsx:163 +#: src/pages/sales/ReturnOrderDetail.tsx:325 +#: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "" -#: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:272 -#: src/pages/company/CompanyDetail.tsx:217 +#: src/components/render/ModelType.tsx:164 +#: src/pages/Index/Settings/SystemSettings.tsx:273 +#: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" msgstr "" -#: src/components/render/ModelType.tsx:155 +#: src/components/render/ModelType.tsx:172 #: src/tables/company/AddressTable.tsx:47 msgid "Address" msgstr "" -#: src/components/render/ModelType.tsx:156 -#: src/pages/company/CompanyDetail.tsx:247 +#: src/components/render/ModelType.tsx:173 +#: src/pages/company/CompanyDetail.tsx:249 msgid "Addresses" msgstr "" -#: src/components/render/ModelType.tsx:162 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:189 -#: src/pages/sales/ReturnOrderDetail.tsx:157 -#: src/pages/sales/SalesOrderDetail.tsx:161 +#: src/components/render/ModelType.tsx:179 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:191 +#: src/pages/sales/ReturnOrderDetail.tsx:159 +#: src/pages/sales/SalesOrderDetail.tsx:163 msgid "Contact" msgstr "" -#: src/components/render/ModelType.tsx:163 -#: src/pages/company/CompanyDetail.tsx:241 +#: src/components/render/ModelType.tsx:180 +#: src/pages/company/CompanyDetail.tsx:243 msgid "Contacts" msgstr "" -#: src/components/render/ModelType.tsx:169 +#: src/components/render/ModelType.tsx:186 msgid "Owner" msgstr "" -#: src/components/render/ModelType.tsx:170 +#: src/components/render/ModelType.tsx:187 msgid "Owners" msgstr "" -#: src/components/render/ModelType.tsx:176 +#: src/components/render/ModelType.tsx:193 +#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "" -#: src/components/render/ModelType.tsx:177 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:73 +#: src/components/render/ModelType.tsx:194 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:81 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "" -#: src/components/render/Order.tsx:87 +#: src/components/render/ModelType.tsx:200 +msgid "Label Template" +msgstr "" + +#: src/components/render/ModelType.tsx:201 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:135 +msgid "Label Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:207 +msgid "Report Template" +msgstr "" + +#: src/components/render/ModelType.tsx:208 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:141 +msgid "Report Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:214 +msgid "Plugin Configuration" +msgstr "" + +#: src/components/render/ModelType.tsx:215 +msgid "Plugin Configurations" +msgstr "" + +#: src/components/render/Order.tsx:104 msgid "Shipment" msgstr "" -#: src/components/render/Part.tsx:12 +#: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:198 -#: src/pages/part/PartDetail.tsx:491 +#: src/pages/Index/Settings/SystemSettings.tsx:199 +#: src/pages/part/PartDetail.tsx:492 #: src/pages/stock/LocationDetail.tsx:344 -#: src/pages/stock/StockDetail.tsx:344 +#: src/pages/stock/StockDetail.tsx:352 #: src/tables/stock/StockItemTable.tsx:57 msgid "Stock" msgstr "" -#: src/components/render/Stock.tsx:26 -#: src/pages/stock/StockDetail.tsx:142 -#: src/pages/stock/StockDetail.tsx:501 +#: src/components/render/Stock.tsx:52 +#: src/pages/stock/StockDetail.tsx:145 +#: src/pages/stock/StockDetail.tsx:514 msgid "Serial Number" msgstr "" -#: src/components/render/Stock.tsx:28 -#: src/forms/BuildForms.tsx:189 +#: src/components/render/Stock.tsx:54 +#: src/forms/BuildForms.tsx:206 #: src/pages/part/pricing/BomPricingPanel.tsx:144 -#: src/pages/part/pricing/PriceBreakPanel.tsx:96 -#: src/pages/stock/StockDetail.tsx:137 -#: src/pages/stock/StockDetail.tsx:507 +#: src/pages/part/pricing/PriceBreakPanel.tsx:94 +#: src/pages/stock/StockDetail.tsx:140 +#: src/pages/stock/StockDetail.tsx:520 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:73 +#: src/tables/stock/StockTrackingTable.tsx:59 msgid "Quantity" msgstr "" -#: src/components/settings/SettingItem.tsx:46 -#: src/components/settings/SettingItem.tsx:99 -msgid "Setting updated" -msgstr "" - #: src/components/settings/SettingItem.tsx:47 #: src/components/settings/SettingItem.tsx:100 -msgid "{0} updated successfully" -msgstr "" +#~ msgid "{0} updated successfully" +#~ msgstr "{0} updated successfully" -#: src/components/settings/SettingItem.tsx:55 -msgid "Error editing setting" -msgstr "" - -#: src/components/settings/SettingItem.tsx:92 +#: src/components/settings/SettingList.tsx:67 msgid "Edit Setting" msgstr "" -#: src/components/settings/SettingList.tsx:63 -msgid "No settings specified" +#: src/components/settings/SettingList.tsx:78 +#: src/components/settings/SettingList.tsx:108 +msgid "Setting {0} updated successfully" msgstr "" -#: src/components/tables/ColumnRenderers.tsx:134 -#~ msgid "Shipment Date" -#~ msgstr "Shipment Date" +#: src/components/settings/SettingList.tsx:107 +msgid "Setting updated" +msgstr "" + +#: src/components/settings/SettingList.tsx:117 +msgid "Error editing setting" +msgstr "" + +#: src/components/settings/SettingList.tsx:158 +msgid "No settings specified" +msgstr "" #: src/components/tables/FilterGroup.tsx:29 #~ msgid "Add table filter" @@ -1731,10 +1806,6 @@ msgstr "" #~ msgid "This is a test filter" #~ msgstr "This is a test filter" -#: src/components/tables/stock/StockLocationTable.tsx:91 -#~ msgid "Location Type" -#~ msgstr "Location Type" - #: src/components/tables/stock/StockLocationTable.tsx:145 #~ msgid "Stock location updated" #~ msgstr "Stock location updated" @@ -2072,7 +2143,7 @@ msgstr "" #~ msgstr "Local Server" #: src/defaults/links.tsx:11 -#: src/pages/company/CompanyDetail.tsx:90 +#: src/pages/company/CompanyDetail.tsx:92 msgid "Website" msgstr "" @@ -2087,10 +2158,10 @@ msgstr "" #: src/defaults/links.tsx:31 #: src/defaults/menuItems.tsx:48 #: src/pages/company/ManufacturerDetail.tsx:9 -#: src/pages/company/ManufacturerPartDetail.tsx:231 +#: src/pages/company/ManufacturerPartDetail.tsx:235 #: src/pages/company/SupplierDetail.tsx:9 -#: src/pages/company/SupplierPartDetail.tsx:291 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:358 +#: src/pages/company/SupplierPartDetail.tsx:292 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:365 #: src/pages/purchasing/PurchasingIndex.tsx:52 msgid "Purchasing" msgstr "" @@ -2098,15 +2169,15 @@ msgstr "" #: src/defaults/links.tsx:32 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:323 +#: src/pages/sales/ReturnOrderDetail.tsx:330 #: src/pages/sales/SalesIndex.tsx:45 -#: src/pages/sales/SalesOrderDetail.tsx:345 +#: src/pages/sales/SalesOrderDetail.tsx:352 msgid "Sales" msgstr "" #: src/defaults/links.tsx:35 #: src/defaults/menuItems.tsx:71 -#: src/pages/Index/Playground.tsx:239 +#: src/pages/Index/Playground.tsx:238 msgid "Playground" msgstr "" @@ -2240,87 +2311,83 @@ msgstr "" #~ msgstr "Combusken battles with the intensely hot flames it spews" #: src/forms/AttachmentForms.tsx:57 -msgid "Add File" -msgstr "" +#~ msgid "Add File" +#~ msgstr "Add File" #: src/forms/AttachmentForms.tsx:57 -msgid "Add Link" -msgstr "" +#~ msgid "Add Link" +#~ msgstr "Add Link" #: src/forms/AttachmentForms.tsx:58 -msgid "File added" -msgstr "" +#~ msgid "File added" +#~ msgstr "File added" #: src/forms/AttachmentForms.tsx:58 -msgid "Link added" -msgstr "" +#~ msgid "Link added" +#~ msgstr "Link added" #: src/forms/AttachmentForms.tsx:99 -msgid "Edit File" -msgstr "" +#~ msgid "Edit File" +#~ msgstr "Edit File" #: src/forms/AttachmentForms.tsx:99 -msgid "Edit Link" -msgstr "" +#~ msgid "Edit Link" +#~ msgstr "Edit Link" #: src/forms/AttachmentForms.tsx:100 -msgid "File updated" -msgstr "" +#~ msgid "File updated" +#~ msgstr "File updated" #: src/forms/AttachmentForms.tsx:100 -msgid "Link updated" -msgstr "" - -#: src/forms/AttachmentForms.tsx:124 -msgid "Delete Attachment" -msgstr "" +#~ msgid "Link updated" +#~ msgstr "Link updated" #: src/forms/AttachmentForms.tsx:125 -msgid "Attachment deleted" -msgstr "" +#~ msgid "Attachment deleted" +#~ msgstr "Attachment deleted" #: src/forms/AttachmentForms.tsx:128 -msgid "Are you sure you want to delete this attachment?" -msgstr "" +#~ msgid "Are you sure you want to delete this attachment?" +#~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BuildForms.tsx:129 +#: src/forms/BuildForms.tsx:146 msgid "Next serial number" msgstr "" -#: src/forms/BuildForms.tsx:133 +#: src/forms/BuildForms.tsx:150 msgid "Latest serial number" msgstr "" -#: src/forms/BuildForms.tsx:205 +#: src/forms/BuildForms.tsx:222 msgid "Remove output" msgstr "" -#: src/forms/BuildForms.tsx:287 +#: src/forms/BuildForms.tsx:304 msgid "Complete Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:291 +#: src/forms/BuildForms.tsx:308 msgid "Build outputs have been completed" msgstr "" -#: src/forms/BuildForms.tsx:360 +#: src/forms/BuildForms.tsx:377 msgid "Scrap Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:364 +#: src/forms/BuildForms.tsx:381 msgid "Build outputs have been scrapped" msgstr "" -#: src/forms/BuildForms.tsx:396 -#: src/forms/BuildForms.tsx:420 +#: src/forms/BuildForms.tsx:413 +#: src/forms/BuildForms.tsx:437 msgid "Cancel Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:397 +#: src/forms/BuildForms.tsx:414 msgid "Selected build outputs will be deleted" msgstr "" -#: src/forms/BuildForms.tsx:424 +#: src/forms/BuildForms.tsx:441 msgid "Build outputs have been cancelled" msgstr "" @@ -2344,76 +2411,76 @@ msgstr "" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PurchaseOrderForms.tsx:265 +#: src/forms/PurchaseOrderForms.tsx:279 msgid "Choose Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:273 +#: src/forms/PurchaseOrderForms.tsx:287 msgid "Item Destination selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:282 +#: src/forms/PurchaseOrderForms.tsx:296 msgid "Part category default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:292 +#: src/forms/PurchaseOrderForms.tsx:306 msgid "Received stock location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:297 +#: src/forms/PurchaseOrderForms.tsx:311 msgid "Default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:308 -#: src/forms/PurchaseOrderForms.tsx:384 +#: src/forms/PurchaseOrderForms.tsx:322 +#: src/forms/PurchaseOrderForms.tsx:398 msgid "Scan Barcode" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:352 +#: src/forms/PurchaseOrderForms.tsx:366 msgid "Set Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:359 +#: src/forms/PurchaseOrderForms.tsx:373 msgid "Assign Batch Code{0}" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:368 +#: src/forms/PurchaseOrderForms.tsx:382 msgid "Change Status" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:393 -#: src/forms/StockForms.tsx:351 +#: src/forms/PurchaseOrderForms.tsx:407 +#: src/forms/StockForms.tsx:392 msgid "Remove item from list" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:418 -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:58 -#: src/pages/stock/StockDetail.tsx:167 -#: src/tables/ColumnRenderers.tsx:42 +#: src/forms/PurchaseOrderForms.tsx:432 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/pages/stock/StockDetail.tsx:170 +#: src/tables/ColumnRenderers.tsx:34 +#: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:434 +#: src/forms/PurchaseOrderForms.tsx:448 msgid "Store at default location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:447 +#: src/forms/PurchaseOrderForms.tsx:461 msgid "Store at line item destination" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:457 +#: src/forms/PurchaseOrderForms.tsx:471 msgid "Store with already received stock" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:613 +#: src/forms/PurchaseOrderForms.tsx:627 msgid "Receive Line Items" msgstr "" @@ -2421,119 +2488,118 @@ msgstr "" #~ msgid "Receive line items" #~ msgstr "Receive line items" -#: src/forms/StockForms.tsx:69 +#: src/forms/StockForms.tsx:101 msgid "Add given quantity as packs instead of individual items" msgstr "" -#: src/forms/StockForms.tsx:80 -msgid "Enter initial quantity for this stock item" -msgstr "" - -#: src/forms/StockForms.tsx:85 -msgid "Serial Numbers" -msgstr "" - -#: src/forms/StockForms.tsx:86 -msgid "Enter serial numbers for new stock (or leave blank)" -msgstr "" - #: src/forms/StockForms.tsx:110 #~ msgid "Create Stock Item" #~ msgstr "Create Stock Item" -#: src/forms/StockForms.tsx:135 -#: src/pages/stock/StockDetail.tsx:367 -#: src/tables/stock/StockItemTable.tsx:382 -#: src/tables/stock/StockItemTable.tsx:499 -msgid "Add Stock Item" +#: src/forms/StockForms.tsx:114 +msgid "Enter initial quantity for this stock item" +msgstr "" + +#: src/forms/StockForms.tsx:121 +msgid "Serial Numbers" +msgstr "" + +#: src/forms/StockForms.tsx:122 +msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" #: src/forms/StockForms.tsx:158 #~ msgid "Stock item updated" #~ msgstr "Stock item updated" -#: src/forms/StockForms.tsx:298 +#: src/forms/StockForms.tsx:176 +#: src/pages/stock/StockDetail.tsx:375 +#: src/tables/stock/StockItemTable.tsx:382 +#: src/tables/stock/StockItemTable.tsx:499 +msgid "Add Stock Item" +msgstr "" + +#: src/forms/StockForms.tsx:339 msgid "Loading..." msgstr "" -#: src/forms/StockForms.tsx:340 +#: src/forms/StockForms.tsx:381 msgid "Move to default location" msgstr "" -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/part/PartDetail.tsx:205 -#: src/pages/part/PartDetail.tsx:654 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/pages/part/PartDetail.tsx:206 +#: src/pages/part/PartDetail.tsx:655 #: src/tables/stock/StockItemTable.tsx:290 msgid "In Stock" msgstr "" -#: src/forms/StockForms.tsx:408 +#: src/forms/StockForms.tsx:449 msgid "Move" msgstr "" -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/tables/RowActions.tsx:147 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/tables/RowActions.tsx:149 msgid "Actions" msgstr "" -#: src/forms/StockForms.tsx:471 -#: src/pages/stock/StockDetail.tsx:440 -#: src/tables/settings/TemplateTable.tsx:266 -#: src/tables/stock/StockItemTestResultTable.tsx:348 +#: src/forms/StockForms.tsx:512 +#: src/pages/stock/StockDetail.tsx:454 +#: src/tables/stock/StockItemTestResultTable.tsx:339 msgid "Add" msgstr "" -#: src/forms/StockForms.tsx:499 +#: src/forms/StockForms.tsx:540 #: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:430 +#: src/pages/stock/StockDetail.tsx:444 msgid "Count" msgstr "" -#: src/forms/StockForms.tsx:744 +#: src/forms/StockForms.tsx:785 msgid "Add Stock" msgstr "" -#: src/forms/StockForms.tsx:753 +#: src/forms/StockForms.tsx:794 msgid "Remove Stock" msgstr "" -#: src/forms/StockForms.tsx:762 -#: src/pages/part/PartDetail.tsx:781 +#: src/forms/StockForms.tsx:803 +#: src/pages/part/PartDetail.tsx:782 msgid "Transfer Stock" msgstr "" -#: src/forms/StockForms.tsx:771 -#: src/pages/part/PartDetail.tsx:770 +#: src/forms/StockForms.tsx:812 +#: src/pages/part/PartDetail.tsx:771 msgid "Count Stock" msgstr "" -#: src/forms/StockForms.tsx:780 +#: src/forms/StockForms.tsx:821 msgid "Change Stock Status" msgstr "" -#: src/forms/StockForms.tsx:789 +#: src/forms/StockForms.tsx:830 msgid "Merge Stock" msgstr "" -#: src/forms/StockForms.tsx:808 +#: src/forms/StockForms.tsx:849 msgid "Delete Stock Items" msgstr "" -#: src/forms/StockForms.tsx:815 +#: src/forms/StockForms.tsx:856 msgid "Parent stock location" msgstr "" @@ -2728,7 +2794,7 @@ msgstr "" msgid "Welcome to your Dashboard{0}" msgstr "" -#: src/pages/Index/Playground.tsx:244 +#: src/pages/Index/Playground.tsx:243 msgid "This page is a showcase for the possibilities of Platform UI." msgstr "" @@ -3138,49 +3204,53 @@ msgstr "" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:79 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:87 msgid "Background Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:85 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:93 msgid "Error Reports" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:91 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:99 msgid "Currencies" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:109 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:117 msgid "Custom Units" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:115 -#: src/pages/part/CategoryDetail.tsx:254 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:123 +#: src/pages/part/CategoryDetail.tsx:255 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:121 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 +#~ msgid "Templates" +#~ msgstr "Templates" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:129 msgid "Category Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 -msgid "Templates" +#: src/pages/Index/Settings/AdminCenter/Index.tsx:147 +msgid "Location types" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:139 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:159 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:149 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:169 msgid "Quick Actions" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:154 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 msgid "Add a new user" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:173 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:193 msgid "Advanced Options" msgstr "" @@ -3225,26 +3295,32 @@ msgstr "" msgid "Plugin Settings" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:25 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:53 +msgid "Background Worker Not Running" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:54 +msgid "The background task manager service is not running. Contact your system administrator." +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:60 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:76 msgid "Pending Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:33 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:64 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:84 msgid "Scheduled Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:41 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:68 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:92 msgid "Failed Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:139 -msgid "Labels" -msgstr "" - #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:39 -msgid "Label" -msgstr "" +#~ msgid "Label" +#~ msgstr "Label" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67 #~ msgid "Stock item" @@ -3255,13 +3331,13 @@ msgstr "" #~ msgstr "Build line" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:88 -msgid "Reports" -msgstr "" +#~ msgid "Reports" +#~ msgstr "Reports" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:89 #: src/pages/build/BuildDetail.tsx:373 -msgid "Report" -msgstr "" +#~ msgid "Report" +#~ msgstr "Report" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99 #~ msgid "Purchase order" @@ -3275,14 +3351,9 @@ msgstr "" #~ msgid "Return order" #~ msgstr "Return order" -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135 -#: src/pages/part/PartDetail.tsx:518 -msgid "Bill of Materials" -msgstr "" - #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:145 -msgid "Tests" -msgstr "" +#~ msgid "Tests" +#~ msgstr "Tests" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:154 #~ msgid "Stock location" @@ -3321,26 +3392,30 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" +#: src/pages/Index/Settings/SystemSettings.tsx:139 +msgid "Labels" +msgstr "" + #: src/pages/Index/Settings/SystemSettings.tsx:145 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:223 -#: src/pages/part/PartDetail.tsx:589 +#: src/pages/Index/Settings/SystemSettings.tsx:224 +#: src/pages/part/PartDetail.tsx:590 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:228 -#: src/pages/build/BuildDetail.tsx:426 +#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:525 -#: src/pages/sales/SalesOrderDetail.tsx:263 +#: src/pages/part/PartDetail.tsx:526 +#: src/pages/sales/SalesOrderDetail.tsx:265 msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:296 +#: src/pages/Index/Settings/SystemSettings.tsx:297 msgid "Switch to User Setting" msgstr "" @@ -3397,44 +3472,47 @@ msgstr "" #~ msgstr "Build Status" #: src/pages/build/BuildDetail.tsx:89 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:128 -#: src/pages/sales/ReturnOrderDetail.tsx:95 -#: src/pages/sales/SalesOrderDetail.tsx:99 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:130 +#: src/pages/sales/ReturnOrderDetail.tsx:97 +#: src/pages/sales/SalesOrderDetail.tsx:101 #: src/tables/build/BuildOrderTable.tsx:113 #: src/tables/machine/MachineListTable.tsx:326 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderTable.tsx:46 #: src/tables/sales/SalesOrderTable.tsx:52 #: src/tables/stock/StockItemTable.tsx:259 +#: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "" #: src/pages/build/BuildDetail.tsx:95 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:101 -#: src/pages/sales/ReturnOrderDetail.tsx:69 -#: src/pages/sales/SalesOrderDetail.tsx:73 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:103 +#: src/pages/sales/ReturnOrderDetail.tsx:71 +#: src/pages/sales/SalesOrderDetail.tsx:75 +#: src/tables/ColumnRenderers.tsx:106 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" msgstr "" #: src/pages/build/BuildDetail.tsx:100 -#: src/pages/company/CompanyDetail.tsx:84 -#: src/pages/company/ManufacturerPartDetail.tsx:75 -#: src/pages/company/SupplierPartDetail.tsx:82 -#: src/pages/part/CategoryDetail.tsx:91 -#: src/pages/part/PartDetail.tsx:132 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:122 -#: src/pages/sales/ReturnOrderDetail.tsx:89 -#: src/pages/sales/SalesOrderDetail.tsx:93 -#: src/pages/stock/LocationDetail.tsx:97 -#: src/tables/ColumnRenderers.tsx:95 +#: src/pages/company/CompanyDetail.tsx:86 +#: src/pages/company/ManufacturerPartDetail.tsx:76 +#: src/pages/company/SupplierPartDetail.tsx:83 +#: src/pages/part/CategoryDetail.tsx:92 +#: src/pages/part/PartDetail.tsx:133 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:124 +#: src/pages/sales/ReturnOrderDetail.tsx:91 +#: src/pages/sales/SalesOrderDetail.tsx:95 +#: src/pages/stock/LocationDetail.tsx:99 +#: src/tables/ColumnRenderers.tsx:66 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 #: src/tables/machine/MachineTypeTable.tsx:323 #: src/tables/part/RelatedPartTable.tsx:64 -#: src/tables/plugin/PluginListTable.tsx:172 -#: src/tables/plugin/PluginListTable.tsx:302 +#: src/tables/plugin/PluginListTable.tsx:129 +#: src/tables/plugin/PluginListTable.tsx:276 +#: src/tables/stock/LocationTypesTable.tsx:65 msgid "Description" msgstr "" @@ -3447,7 +3525,7 @@ msgid "Build Quantity" msgstr "" #: src/pages/build/BuildDetail.tsx:126 -#: src/pages/build/BuildDetail.tsx:249 +#: src/pages/build/BuildDetail.tsx:256 msgid "Completed Outputs" msgstr "" @@ -3457,10 +3535,10 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:150 -#: src/pages/part/PartDetail.tsx:320 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:214 -#: src/pages/sales/ReturnOrderDetail.tsx:182 -#: src/pages/sales/SalesOrderDetail.tsx:186 +#: src/pages/part/PartDetail.tsx:321 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:184 +#: src/pages/sales/SalesOrderDetail.tsx:188 #: src/tables/build/BuildOrderTable.tsx:148 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 @@ -3474,10 +3552,10 @@ msgid "Created" msgstr "" #: src/pages/build/BuildDetail.tsx:164 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:207 -#: src/pages/sales/ReturnOrderDetail.tsx:175 -#: src/pages/sales/SalesOrderDetail.tsx:179 -#: src/tables/ColumnRenderers.tsx:227 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:209 +#: src/pages/sales/ReturnOrderDetail.tsx:177 +#: src/pages/sales/SalesOrderDetail.tsx:181 +#: src/tables/ColumnRenderers.tsx:191 msgid "Target Date" msgstr "" @@ -3513,6 +3591,11 @@ msgstr "" #~ msgid "Unlink custom barcode from part" #~ msgstr "Unlink custom barcode from part" +#: src/pages/build/BuildDetail.tsx:197 +#: src/pages/stock/StockDetail.tsx:526 +msgid "Batch Code" +msgstr "" + #: src/pages/build/BuildDetail.tsx:202 #~ msgid "Build Order updated" #~ msgstr "Build Order updated" @@ -3521,86 +3604,87 @@ msgstr "" #~ msgid "Edit build order" #~ msgstr "Edit build order" -#: src/pages/build/BuildDetail.tsx:222 -msgid "Build Details" -msgstr "" - #: src/pages/build/BuildDetail.tsx:226 #~ msgid "Duplicate build order" #~ msgstr "Duplicate build order" -#: src/pages/build/BuildDetail.tsx:228 -#: src/tables/build/BuildLineTable.tsx:225 -msgid "Allocate Stock" +#: src/pages/build/BuildDetail.tsx:229 +msgid "Build Details" msgstr "" #: src/pages/build/BuildDetail.tsx:231 #~ msgid "Delete build order" #~ msgstr "Delete build order" -#: src/pages/build/BuildDetail.tsx:242 +#: src/pages/build/BuildDetail.tsx:235 +#: src/tables/build/BuildLineTable.tsx:225 +msgid "Allocate Stock" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:249 msgid "Incomplete Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:264 +#: src/pages/build/BuildDetail.tsx:271 msgid "Consumed Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:278 +#: src/pages/build/BuildDetail.tsx:285 msgid "Child Build Orders" msgstr "" -#: src/pages/build/BuildDetail.tsx:288 -#: src/pages/company/CompanyDetail.tsx:253 -#: src/pages/company/ManufacturerPartDetail.tsx:171 -#: src/pages/part/PartDetail.tsx:611 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:276 -#: src/pages/sales/ReturnOrderDetail.tsx:225 -#: src/pages/sales/SalesOrderDetail.tsx:273 -#: src/pages/stock/StockDetail.tsx:317 +#: src/pages/build/BuildDetail.tsx:295 +#: src/pages/company/CompanyDetail.tsx:255 +#: src/pages/company/ManufacturerPartDetail.tsx:172 +#: src/pages/part/PartDetail.tsx:612 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:278 +#: src/pages/sales/ReturnOrderDetail.tsx:227 +#: src/pages/sales/SalesOrderDetail.tsx:275 +#: src/pages/stock/StockDetail.tsx:325 msgid "Attachments" msgstr "" -#: src/pages/build/BuildDetail.tsx:300 -#: src/pages/company/CompanyDetail.tsx:265 -#: src/pages/part/PartDetail.tsx:623 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:288 -#: src/pages/sales/ReturnOrderDetail.tsx:237 -#: src/pages/sales/SalesOrderDetail.tsx:285 -#: src/pages/stock/StockDetail.tsx:329 +#: src/pages/build/BuildDetail.tsx:307 +#: src/pages/company/CompanyDetail.tsx:267 +#: src/pages/part/PartDetail.tsx:624 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:290 +#: src/pages/sales/ReturnOrderDetail.tsx:239 +#: src/pages/sales/SalesOrderDetail.tsx:287 +#: src/pages/stock/StockDetail.tsx:337 +#: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "" -#: src/pages/build/BuildDetail.tsx:318 +#: src/pages/build/BuildDetail.tsx:325 msgid "Edit Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:327 +#: src/pages/build/BuildDetail.tsx:334 msgid "Cancel Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:339 +#: src/pages/build/BuildDetail.tsx:346 #: src/tables/build/BuildOrderTable.tsx:167 #: src/tables/build/BuildOrderTable.tsx:182 msgid "Add Build Order" msgstr "" #: src/pages/build/BuildDetail.tsx:368 -msgid "Reporting Actions" -msgstr "" +#~ msgid "Reporting Actions" +#~ msgstr "Reporting Actions" #: src/pages/build/BuildDetail.tsx:374 -msgid "Print build report" -msgstr "" +#~ msgid "Print build report" +#~ msgstr "Print build report" -#: src/pages/build/BuildDetail.tsx:380 +#: src/pages/build/BuildDetail.tsx:378 msgid "Build Order Actions" msgstr "" -#: src/pages/build/BuildDetail.tsx:388 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:326 -#: src/pages/sales/ReturnOrderDetail.tsx:300 -#: src/pages/sales/SalesOrderDetail.tsx:310 +#: src/pages/build/BuildDetail.tsx:386 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:333 +#: src/pages/sales/ReturnOrderDetail.tsx:307 +#: src/pages/sales/SalesOrderDetail.tsx:317 msgid "Cancel order" msgstr "" @@ -3612,56 +3696,58 @@ msgstr "" #~ msgid "New Build Order" #~ msgstr "New Build Order" -#: src/pages/company/CompanyDetail.tsx:98 +#: src/pages/company/CompanyDetail.tsx:100 msgid "Phone Number" msgstr "" -#: src/pages/company/CompanyDetail.tsx:105 +#: src/pages/company/CompanyDetail.tsx:107 msgid "Email Address" msgstr "" -#: src/pages/company/CompanyDetail.tsx:115 +#: src/pages/company/CompanyDetail.tsx:117 msgid "Default Currency" msgstr "" -#: src/pages/company/CompanyDetail.tsx:120 +#: src/pages/company/CompanyDetail.tsx:122 #: src/pages/company/SupplierDetail.tsx:8 -#: src/pages/company/SupplierPartDetail.tsx:106 -#: src/pages/company/SupplierPartDetail.tsx:192 -#: src/pages/company/SupplierPartDetail.tsx:295 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:116 +#: src/pages/company/SupplierPartDetail.tsx:107 +#: src/pages/company/SupplierPartDetail.tsx:193 +#: src/pages/company/SupplierPartDetail.tsx:296 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:118 #: src/tables/company/CompanyTable.tsx:100 #: src/tables/purchasing/PurchaseOrderTable.tsx:88 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:36 msgid "Supplier" msgstr "" -#: src/pages/company/CompanyDetail.tsx:126 +#: src/pages/company/CompanyDetail.tsx:128 #: src/pages/company/ManufacturerDetail.tsx:8 -#: src/pages/company/ManufacturerPartDetail.tsx:93 -#: src/pages/company/ManufacturerPartDetail.tsx:235 -#: src/pages/company/SupplierPartDetail.tsx:121 +#: src/pages/company/ManufacturerPartDetail.tsx:94 +#: src/pages/company/ManufacturerPartDetail.tsx:239 +#: src/pages/company/SupplierPartDetail.tsx:122 #: src/tables/company/CompanyTable.tsx:105 msgid "Manufacturer" msgstr "" -#: src/pages/company/CompanyDetail.tsx:132 +#: src/pages/company/CompanyDetail.tsx:134 #: src/pages/company/CustomerDetail.tsx:8 #: src/pages/part/pricing/SaleHistoryPanel.tsx:39 -#: src/pages/sales/ReturnOrderDetail.tsx:83 -#: src/pages/sales/SalesOrderDetail.tsx:87 -#: src/pages/stock/StockDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:85 +#: src/pages/sales/SalesOrderDetail.tsx:89 +#: src/pages/stock/StockDetail.tsx:219 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:107 +#: src/tables/stock/StockTrackingTable.tsx:140 msgid "Customer" msgstr "" -#: src/pages/company/CompanyDetail.tsx:166 +#: src/pages/company/CompanyDetail.tsx:168 +#: src/tables/stock/StockTrackingTable.tsx:183 msgid "Details" msgstr "" -#: src/pages/company/CompanyDetail.tsx:172 +#: src/pages/company/CompanyDetail.tsx:174 msgid "Manufactured Parts" msgstr "" @@ -3669,7 +3755,7 @@ msgstr "" #~ msgid "Edit company" #~ msgstr "Edit company" -#: src/pages/company/CompanyDetail.tsx:181 +#: src/pages/company/CompanyDetail.tsx:183 msgid "Supplied Parts" msgstr "" @@ -3677,289 +3763,289 @@ msgstr "" #~ msgid "Delete company" #~ msgstr "Delete company" -#: src/pages/company/CompanyDetail.tsx:226 +#: src/pages/company/CompanyDetail.tsx:228 msgid "Assigned Stock" msgstr "" -#: src/pages/company/CompanyDetail.tsx:281 +#: src/pages/company/CompanyDetail.tsx:283 #: src/tables/company/CompanyTable.tsx:86 msgid "Edit Company" msgstr "" -#: src/pages/company/CompanyDetail.tsx:290 +#: src/pages/company/CompanyDetail.tsx:292 msgid "Company Actions" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:68 -#: src/pages/company/SupplierPartDetail.tsx:75 +#: src/pages/company/ManufacturerPartDetail.tsx:69 +#: src/pages/company/SupplierPartDetail.tsx:76 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:72 msgid "Internal Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:83 -#: src/pages/company/SupplierPartDetail.tsx:89 +#: src/pages/company/ManufacturerPartDetail.tsx:84 +#: src/pages/company/SupplierPartDetail.tsx:90 msgid "External Link" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:101 -#: src/pages/company/SupplierPartDetail.tsx:130 -#: src/tables/purchasing/ManufacturerPartTable.tsx:53 +#: src/pages/company/ManufacturerPartDetail.tsx:102 +#: src/pages/company/SupplierPartDetail.tsx:131 +#: src/tables/purchasing/ManufacturerPartTable.tsx:56 msgid "Manufacturer Part Number" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:130 +#: src/pages/company/ManufacturerPartDetail.tsx:131 msgid "Manufacturer Details" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:139 +#: src/pages/company/ManufacturerPartDetail.tsx:140 msgid "Manufacturer Part Details" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:145 -#: src/pages/part/PartDetail.tsx:485 +#: src/pages/company/ManufacturerPartDetail.tsx:146 +#: src/pages/part/PartDetail.tsx:486 msgid "Parameters" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:157 -#: src/pages/part/PartDetail.tsx:558 +#: src/pages/company/ManufacturerPartDetail.tsx:158 +#: src/pages/part/PartDetail.tsx:559 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:189 -#: src/tables/purchasing/ManufacturerPartTable.tsx:97 +#: src/pages/company/ManufacturerPartDetail.tsx:190 +#: src/tables/purchasing/ManufacturerPartTable.tsx:84 msgid "Edit Manufacturer Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:196 -#: src/tables/purchasing/ManufacturerPartTable.tsx:63 -#: src/tables/purchasing/ManufacturerPartTable.tsx:78 +#: src/pages/company/ManufacturerPartDetail.tsx:197 +#: src/tables/purchasing/ManufacturerPartTable.tsx:72 +#: src/tables/purchasing/ManufacturerPartTable.tsx:103 msgid "Add Manufacturer Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:209 +#: src/pages/company/ManufacturerPartDetail.tsx:213 msgid "Manufacturer Part Actions" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:247 +#: src/pages/company/ManufacturerPartDetail.tsx:251 msgid "ManufacturerPart" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:96 -#: src/tables/ColumnRenderers.tsx:146 +#: src/pages/company/SupplierPartDetail.tsx:97 +#: src/tables/ColumnRenderers.tsx:117 msgid "Note" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:114 +#: src/pages/company/SupplierPartDetail.tsx:115 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:57 msgid "SKU" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:142 -#: src/pages/company/SupplierPartDetail.tsx:193 -#: src/pages/stock/StockDetail.tsx:230 +#: src/pages/company/SupplierPartDetail.tsx:143 +#: src/pages/company/SupplierPartDetail.tsx:194 +#: src/pages/stock/StockDetail.tsx:233 msgid "Packaging" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:149 +#: src/pages/company/SupplierPartDetail.tsx:150 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:107 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143 #: src/tables/purchasing/SupplierPartTable.tsx:131 msgid "Pack Quantity" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:160 +#: src/pages/company/SupplierPartDetail.tsx:161 msgid "Supplier Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:167 +#: src/pages/company/SupplierPartDetail.tsx:168 msgid "Availability Updated" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:194 +#: src/pages/company/SupplierPartDetail.tsx:195 msgid "Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:203 +#: src/pages/company/SupplierPartDetail.tsx:204 msgid "Supplier Part Details" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:209 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:263 +#: src/pages/company/SupplierPartDetail.tsx:210 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:265 msgid "Received Stock" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:233 +#: src/pages/company/SupplierPartDetail.tsx:234 #: src/pages/part/PartPricingPanel.tsx:115 #: src/pages/part/pricing/PricingOverviewPanel.tsx:130 msgid "Supplier Pricing" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:248 +#: src/pages/company/SupplierPartDetail.tsx:249 msgid "Supplier Part Actions" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:272 +#: src/pages/company/SupplierPartDetail.tsx:273 #: src/tables/purchasing/SupplierPartTable.tsx:210 msgid "Edit Supplier Part" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:279 +#: src/pages/company/SupplierPartDetail.tsx:280 #: src/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "" -#: src/pages/part/CategoryDetail.tsx:83 -#: src/pages/stock/LocationDetail.tsx:89 +#: src/pages/part/CategoryDetail.tsx:84 +#: src/pages/stock/LocationDetail.tsx:91 #: src/tables/settings/ErrorTable.tsx:34 msgid "Path" msgstr "" -#: src/pages/part/CategoryDetail.tsx:99 +#: src/pages/part/CategoryDetail.tsx:100 msgid "Parent Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:116 +#: src/pages/part/CategoryDetail.tsx:117 msgid "Subcategories" msgstr "" -#: src/pages/part/CategoryDetail.tsx:123 -#: src/pages/stock/LocationDetail.tsx:129 -#: src/tables/part/PartCategoryTable.tsx:69 +#: src/pages/part/CategoryDetail.tsx:124 +#: src/pages/stock/LocationDetail.tsx:131 +#: src/tables/part/PartCategoryTable.tsx:65 msgid "Structural" msgstr "" -#: src/pages/part/CategoryDetail.tsx:129 +#: src/pages/part/CategoryDetail.tsx:130 msgid "Parent default location" msgstr "" -#: src/pages/part/CategoryDetail.tsx:136 +#: src/pages/part/CategoryDetail.tsx:137 msgid "Default location" msgstr "" -#: src/pages/part/CategoryDetail.tsx:147 +#: src/pages/part/CategoryDetail.tsx:148 msgid "Top level part category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:157 -#: src/pages/part/CategoryDetail.tsx:211 -#: src/tables/part/PartCategoryTable.tsx:96 +#: src/pages/part/CategoryDetail.tsx:158 +#: src/pages/part/CategoryDetail.tsx:212 +#: src/tables/part/PartCategoryTable.tsx:88 msgid "Edit Part Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:170 -#: src/pages/stock/LocationDetail.tsx:213 +#: src/pages/part/CategoryDetail.tsx:171 +#: src/pages/stock/LocationDetail.tsx:223 msgid "Delete items" msgstr "" -#: src/pages/part/CategoryDetail.tsx:178 -#: src/pages/part/CategoryDetail.tsx:216 +#: src/pages/part/CategoryDetail.tsx:179 +#: src/pages/part/CategoryDetail.tsx:217 msgid "Delete Part Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:181 +#: src/pages/part/CategoryDetail.tsx:182 msgid "Parts Action" msgstr "" -#: src/pages/part/CategoryDetail.tsx:182 +#: src/pages/part/CategoryDetail.tsx:183 msgid "Action for parts in this category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:187 +#: src/pages/part/CategoryDetail.tsx:188 msgid "Child Categories Action" msgstr "" -#: src/pages/part/CategoryDetail.tsx:188 +#: src/pages/part/CategoryDetail.tsx:189 msgid "Action for child categories in this category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:206 +#: src/pages/part/CategoryDetail.tsx:207 msgid "Category Actions" msgstr "" -#: src/pages/part/CategoryDetail.tsx:228 +#: src/pages/part/CategoryDetail.tsx:229 msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:138 +#: src/pages/part/PartDetail.tsx:139 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:145 +#: src/pages/part/PartDetail.tsx:146 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "" -#: src/pages/part/PartDetail.tsx:151 +#: src/pages/part/PartDetail.tsx:152 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:158 +#: src/pages/part/PartDetail.tsx:159 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:165 +#: src/pages/part/PartDetail.tsx:166 msgid "IPN" msgstr "" -#: src/pages/part/PartDetail.tsx:172 +#: src/pages/part/PartDetail.tsx:173 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:179 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39 +#: src/pages/part/PartDetail.tsx:180 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "" -#: src/pages/part/PartDetail.tsx:186 +#: src/pages/part/PartDetail.tsx:187 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:193 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:180 -#: src/pages/sales/ReturnOrderDetail.tsx:148 -#: src/pages/sales/SalesOrderDetail.tsx:152 +#: src/pages/part/PartDetail.tsx:194 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:182 +#: src/pages/sales/ReturnOrderDetail.tsx:150 +#: src/pages/sales/SalesOrderDetail.tsx:154 msgid "Link" msgstr "" -#: src/pages/part/PartDetail.tsx:211 -#: src/tables/bom/BomTable.tsx:269 +#: src/pages/part/PartDetail.tsx:212 +#: src/tables/bom/BomTable.tsx:271 #: src/tables/build/BuildLineTable.tsx:121 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:218 +#: src/pages/part/PartDetail.tsx:219 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:224 -#: src/tables/bom/BomTable.tsx:210 +#: src/pages/part/PartDetail.tsx:225 +#: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:233 +#: src/pages/part/PartDetail.tsx:234 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:241 +#: src/pages/part/PartDetail.tsx:242 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:248 -#: src/tables/bom/BomTable.tsx:234 +#: src/pages/part/PartDetail.tsx:249 +#: src/tables/bom/BomTable.tsx:236 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:255 -#: src/tables/bom/BomTable.tsx:218 +#: src/pages/part/PartDetail.tsx:256 +#: src/tables/bom/BomTable.tsx:220 #: src/tables/part/PartTable.tsx:82 msgid "Building" msgstr "" -#: src/pages/part/PartDetail.tsx:264 +#: src/pages/part/PartDetail.tsx:265 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 @@ -3968,45 +4054,47 @@ msgstr "" #: src/tables/machine/MachineListTable.tsx:585 #: src/tables/part/PartTable.tsx:168 #: src/tables/part/PartVariantTable.tsx:15 -#: src/tables/plugin/PluginListTable.tsx:190 -#: src/tables/plugin/PluginListTable.tsx:638 +#: src/tables/plugin/PluginListTable.tsx:149 +#: src/tables/plugin/PluginListTable.tsx:271 +#: src/tables/plugin/PluginListTable.tsx:563 #: src/tables/purchasing/SupplierPartTable.tsx:98 #: src/tables/purchasing/SupplierPartTable.tsx:187 #: src/tables/stock/StockItemTable.tsx:254 msgid "Active" msgstr "" -#: src/pages/part/PartDetail.tsx:269 +#: src/pages/part/PartDetail.tsx:270 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:274 -#: src/tables/bom/BomTable.tsx:264 +#: src/pages/part/PartDetail.tsx:275 +#: src/tables/bom/BomTable.tsx:266 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:279 +#: src/pages/part/PartDetail.tsx:280 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:284 -#: src/tables/bom/BomTable.tsx:259 +#: src/pages/part/PartDetail.tsx:285 +#: src/tables/bom/BomTable.tsx:261 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:289 +#: src/pages/part/PartDetail.tsx:290 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:294 +#: src/pages/part/PartDetail.tsx:295 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:299 +#: src/pages/part/PartDetail.tsx:300 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:307 +#: src/pages/part/PartDetail.tsx:308 +#: src/tables/ColumnRenderers.tsx:199 msgid "Creation Date" msgstr "" @@ -4014,7 +4102,7 @@ msgstr "" #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:312 +#: src/pages/part/PartDetail.tsx:313 msgid "Created By" msgstr "" @@ -4022,68 +4110,72 @@ msgstr "" #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:327 -msgid "Default Supplier" -msgstr "" - #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:338 +#: src/pages/part/PartDetail.tsx:328 +msgid "Default Supplier" +msgstr "" + +#: src/pages/part/PartDetail.tsx:339 #: src/tables/part/PartTable.tsx:151 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:373 -#: src/pages/stock/StockDetail.tsx:127 +#: src/pages/part/PartDetail.tsx:374 +#: src/pages/stock/StockDetail.tsx:130 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:408 +#: src/pages/part/PartDetail.tsx:409 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:479 +#: src/pages/part/PartDetail.tsx:480 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:505 +#: src/pages/part/PartDetail.tsx:506 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:512 -#: src/pages/stock/StockDetail.tsx:275 +#: src/pages/part/PartDetail.tsx:513 +#: src/pages/stock/StockDetail.tsx:283 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:532 +#: src/pages/part/PartDetail.tsx:519 +msgid "Bill of Materials" +msgstr "" + +#: src/pages/part/PartDetail.tsx:533 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:539 +#: src/pages/part/PartDetail.tsx:540 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:545 +#: src/pages/part/PartDetail.tsx:546 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:584 +#: src/pages/part/PartDetail.tsx:585 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:594 +#: src/pages/part/PartDetail.tsx:595 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:605 +#: src/pages/part/PartDetail.tsx:606 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:660 -#: src/pages/stock/StockDetail.tsx:148 +#: src/pages/part/PartDetail.tsx:661 +#: src/pages/stock/StockDetail.tsx:151 #: src/tables/build/BuildLineTable.tsx:36 #: src/tables/part/PartTable.tsx:107 #: src/tables/stock/StockItemTable.tsx:166 @@ -4091,49 +4183,51 @@ msgstr "" msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:666 +#: src/pages/part/PartDetail.tsx:667 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:672 -#: src/tables/bom/BomTable.tsx:274 +#: src/pages/part/PartDetail.tsx:673 +#: src/tables/bom/BomTable.tsx:276 #: src/tables/part/PartTable.tsx:76 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:678 -#: src/pages/stock/StockDetail.tsx:496 +#: src/pages/part/PartDetail.tsx:679 +#: src/pages/stock/StockDetail.tsx:509 #: src/tables/stock/StockItemTable.tsx:295 msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:697 +#: src/pages/part/PartDetail.tsx:698 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:704 +#: src/pages/part/PartDetail.tsx:705 #: src/tables/part/PartTable.tsx:266 #: src/tables/part/PartTable.tsx:279 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:716 +#: src/pages/part/PartDetail.tsx:717 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:725 +#: src/pages/part/PartDetail.tsx:726 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:763 +#: src/pages/part/PartDetail.tsx:764 +#: src/pages/stock/LocationDetail.tsx:301 +#: src/tables/stock/StockItemTable.tsx:409 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:771 +#: src/pages/part/PartDetail.tsx:772 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:782 +#: src/pages/part/PartDetail.tsx:783 msgid "Transfer part stock" msgstr "" @@ -4199,15 +4293,15 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151 #: src/pages/part/pricing/SupplierPricingPanel.tsx:83 -#: src/tables/bom/BomTable.tsx:149 +#: src/tables/bom/BomTable.tsx:151 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 msgid "Unit Price" msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:173 -#: src/tables/ColumnRenderers.tsx:278 -#: src/tables/bom/BomTable.tsx:158 +#: src/tables/ColumnRenderers.tsx:241 +#: src/tables/bom/BomTable.tsx:160 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 #: src/tables/sales/ReturnOrderTable.tsx:104 #: src/tables/sales/SalesOrderTable.tsx:134 @@ -4229,24 +4323,24 @@ msgid "Bar Chart" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:63 -#: src/pages/part/pricing/PriceBreakPanel.tsx:117 +#: src/pages/part/pricing/PriceBreakPanel.tsx:115 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:138 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:164 msgid "Add Price Break" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:76 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:149 msgid "Edit Price Break" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:86 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:157 msgid "Delete Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:102 -#: src/pages/part/pricing/PriceBreakPanel.tsx:193 +#: src/pages/part/pricing/PriceBreakPanel.tsx:100 +#: src/pages/part/pricing/PriceBreakPanel.tsx:191 msgid "Price Break" msgstr "" @@ -4275,7 +4369,7 @@ msgid "Overall Pricing" msgstr "" #: src/pages/part/pricing/PricingOverviewPanel.tsx:184 -#: src/pages/stock/StockDetail.tsx:121 +#: src/pages/stock/StockDetail.tsx:124 msgid "Last Updated" msgstr "" @@ -4309,9 +4403,8 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50 #: src/pages/part/pricing/SaleHistoryPanel.tsx:46 -#: src/tables/ColumnRenderers.tsx:217 -#: src/tables/plugin/PluginListTable.tsx:182 -#: src/tables/stock/StockItemTestResultTable.tsx:194 +#: src/tables/ColumnRenderers.tsx:180 +#: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" @@ -4338,89 +4431,89 @@ msgstr "" msgid "Variant Part" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:73 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:75 msgid "Edit Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:82 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:84 #: src/tables/purchasing/PurchaseOrderTable.tsx:128 #: src/tables/purchasing/PurchaseOrderTable.tsx:140 msgid "Add Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:107 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:109 msgid "Supplier Reference" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:137 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:252 -#: src/pages/sales/ReturnOrderDetail.tsx:104 -#: src/pages/sales/ReturnOrderDetail.tsx:220 -#: src/pages/sales/SalesOrderDetail.tsx:108 -#: src/pages/sales/SalesOrderDetail.tsx:248 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:139 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:254 +#: src/pages/sales/ReturnOrderDetail.tsx:106 +#: src/pages/sales/ReturnOrderDetail.tsx:222 +#: src/pages/sales/SalesOrderDetail.tsx:110 +#: src/pages/sales/SalesOrderDetail.tsx:250 msgid "Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:144 -#: src/pages/sales/ReturnOrderDetail.tsx:111 -#: src/pages/sales/SalesOrderDetail.tsx:115 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:146 +#: src/pages/sales/ReturnOrderDetail.tsx:113 +#: src/pages/sales/SalesOrderDetail.tsx:117 msgid "Completed Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:152 -#: src/pages/sales/ReturnOrderDetail.tsx:119 -#: src/pages/sales/SalesOrderDetail.tsx:123 -#: src/pages/sales/SalesOrderDetail.tsx:258 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:121 +#: src/pages/sales/SalesOrderDetail.tsx:125 +#: src/pages/sales/SalesOrderDetail.tsx:260 msgid "Completed Shipments" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:159 -#: src/pages/sales/ReturnOrderDetail.tsx:127 -#: src/pages/sales/SalesOrderDetail.tsx:131 -msgid "Order Currency" -msgstr "" - #: src/pages/purchasing/PurchaseOrderDetail.tsx:159 #: src/pages/sales/ReturnOrderDetail.tsx:126 #: src/pages/sales/SalesOrderDetail.tsx:130 #~ msgid "Order Currency," #~ msgstr "Order Currency," -#: src/pages/purchasing/PurchaseOrderDetail.tsx:166 -#: src/pages/sales/ReturnOrderDetail.tsx:134 -#: src/pages/sales/SalesOrderDetail.tsx:138 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:161 +#: src/pages/sales/ReturnOrderDetail.tsx:129 +#: src/pages/sales/SalesOrderDetail.tsx:133 +msgid "Order Currency" +msgstr "" + +#: src/pages/purchasing/PurchaseOrderDetail.tsx:168 +#: src/pages/sales/ReturnOrderDetail.tsx:136 +#: src/pages/sales/SalesOrderDetail.tsx:140 msgid "Total Cost" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:201 -#: src/pages/sales/ReturnOrderDetail.tsx:169 -#: src/pages/sales/SalesOrderDetail.tsx:173 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:203 +#: src/pages/sales/ReturnOrderDetail.tsx:171 +#: src/pages/sales/SalesOrderDetail.tsx:175 msgid "Created On" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:246 -#: src/pages/sales/ReturnOrderDetail.tsx:214 -#: src/pages/sales/SalesOrderDetail.tsx:242 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:248 +#: src/pages/sales/ReturnOrderDetail.tsx:216 +#: src/pages/sales/SalesOrderDetail.tsx:244 msgid "Order Details" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:316 -#: src/pages/sales/ReturnOrderDetail.tsx:290 -#: src/pages/sales/SalesOrderDetail.tsx:302 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:323 +#: src/pages/sales/ReturnOrderDetail.tsx:297 +#: src/pages/sales/SalesOrderDetail.tsx:309 msgid "Order Actions" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:75 -#: src/pages/sales/SalesOrderDetail.tsx:79 +#: src/pages/sales/ReturnOrderDetail.tsx:77 +#: src/pages/sales/SalesOrderDetail.tsx:81 #: src/tables/sales/SalesOrderTable.tsx:123 msgid "Customer Reference" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:267 +#: src/pages/sales/ReturnOrderDetail.tsx:269 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:276 +#: src/pages/sales/ReturnOrderDetail.tsx:278 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" @@ -4430,68 +4523,72 @@ msgstr "" msgid "Customers" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:219 +#: src/pages/sales/SalesOrderDetail.tsx:221 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:228 +#: src/pages/sales/SalesOrderDetail.tsx:230 #: src/tables/sales/SalesOrderTable.tsx:83 #: src/tables/sales/SalesOrderTable.tsx:95 msgid "Add Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:253 +#: src/pages/sales/SalesOrderDetail.tsx:255 msgid "Pending Shipments" msgstr "" -#: src/pages/stock/LocationDetail.tsx:105 +#: src/pages/stock/LocationDetail.tsx:107 msgid "Parent Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:123 +#: src/pages/stock/LocationDetail.tsx:125 msgid "Sublocations" msgstr "" -#: src/pages/stock/LocationDetail.tsx:135 +#: src/pages/stock/LocationDetail.tsx:137 msgid "External" msgstr "" -#: src/pages/stock/LocationDetail.tsx:144 +#: src/pages/stock/LocationDetail.tsx:143 +msgid "Location Type" +msgstr "" + +#: src/pages/stock/LocationDetail.tsx:154 msgid "Top level stock location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:155 +#: src/pages/stock/LocationDetail.tsx:165 msgid "Location Details" msgstr "" -#: src/pages/stock/LocationDetail.tsx:181 +#: src/pages/stock/LocationDetail.tsx:191 msgid "Default Parts" msgstr "" -#: src/pages/stock/LocationDetail.tsx:200 +#: src/pages/stock/LocationDetail.tsx:210 #: src/pages/stock/LocationDetail.tsx:328 -#: src/tables/stock/StockLocationTable.tsx:108 +#: src/tables/stock/StockLocationTable.tsx:100 msgid "Edit Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:221 +#: src/pages/stock/LocationDetail.tsx:231 #: src/pages/stock/LocationDetail.tsx:333 msgid "Delete Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:224 +#: src/pages/stock/LocationDetail.tsx:234 msgid "Items Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:225 +#: src/pages/stock/LocationDetail.tsx:235 msgid "Action for stock items in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:230 +#: src/pages/stock/LocationDetail.tsx:240 msgid "Child Locations Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:231 +#: src/pages/stock/LocationDetail.tsx:241 msgid "Action for child locations in this location" msgstr "" @@ -4499,11 +4596,11 @@ msgstr "" msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:100 +#: src/pages/stock/StockDetail.tsx:103 msgid "Base Part" msgstr "" -#: src/pages/stock/StockDetail.tsx:107 +#: src/pages/stock/StockDetail.tsx:110 msgid "Stock Status" msgstr "" @@ -4515,15 +4612,16 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:174 +#: src/pages/stock/StockDetail.tsx:177 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:190 +#: src/pages/stock/StockDetail.tsx:193 msgid "Consumed By" msgstr "" -#: src/pages/stock/StockDetail.tsx:199 +#: src/pages/stock/StockDetail.tsx:202 +#: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" msgstr "" @@ -4535,78 +4633,78 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:264 +#: src/pages/stock/StockDetail.tsx:267 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:270 +#: src/pages/stock/StockDetail.tsx:273 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:282 +#: src/pages/stock/StockDetail.tsx:290 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:296 +#: src/pages/stock/StockDetail.tsx:304 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:303 +#: src/pages/stock/StockDetail.tsx:311 msgid "Child Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:358 +#: src/pages/stock/StockDetail.tsx:366 msgid "Edit Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:385 +#: src/pages/stock/StockDetail.tsx:393 msgid "Delete Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:426 -msgid "Stock Operations" -msgstr "" - -#: src/pages/stock/StockDetail.tsx:431 -msgid "Count stock" -msgstr "" - #: src/pages/stock/StockDetail.tsx:433 #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:441 +#: src/pages/stock/StockDetail.tsx:440 +msgid "Stock Operations" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:445 +msgid "Count stock" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:455 #: src/tables/stock/StockItemTable.tsx:414 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:449 +#: src/pages/stock/StockDetail.tsx:463 #: src/tables/stock/StockItemTable.tsx:423 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:456 +#: src/pages/stock/StockDetail.tsx:470 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:457 +#: src/pages/stock/StockDetail.tsx:471 #: src/tables/stock/StockItemTable.tsx:443 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:469 +#: src/pages/stock/StockDetail.tsx:482 msgid "Stock Item Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:513 -msgid "Batch Code" -msgstr "" - -#: src/tables/ColumnRenderers.tsx:50 +#: src/tables/ColumnRenderers.tsx:42 msgid "No location set" msgstr "" -#: src/tables/ColumnRenderers.tsx:264 +#: src/tables/ColumnRenderers.tsx:207 +msgid "Shipment Date" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:227 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "" @@ -4616,20 +4714,32 @@ msgstr "" msgid "Select Columns" msgstr "" -#: src/tables/DownloadAction.tsx:11 +#: src/tables/DownloadAction.tsx:13 +#~ msgid "Excel" +#~ msgstr "Excel" + +#: src/tables/DownloadAction.tsx:21 +#~ msgid "Download selected data" +#~ msgstr "Download selected data" + +#: src/tables/DownloadAction.tsx:22 msgid "CSV" msgstr "" -#: src/tables/DownloadAction.tsx:12 +#: src/tables/DownloadAction.tsx:23 msgid "TSV" msgstr "" -#: src/tables/DownloadAction.tsx:13 -msgid "Excel" +#: src/tables/DownloadAction.tsx:24 +msgid "Excel (.xls)" msgstr "" -#: src/tables/DownloadAction.tsx:21 -msgid "Download selected data" +#: src/tables/DownloadAction.tsx:25 +msgid "Excel (.xlsx)" +msgstr "" + +#: src/tables/DownloadAction.tsx:39 +msgid "Download Data" msgstr "" #: src/tables/Filter.tsx:88 @@ -4663,102 +4773,102 @@ msgstr "" msgid "Remove filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:147 +#: src/tables/FilterSelectDrawer.tsx:136 msgid "Select filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:148 +#: src/tables/FilterSelectDrawer.tsx:137 msgid "Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:155 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:33 -#: src/tables/stock/StockItemTestResultTable.tsx:182 +#: src/tables/FilterSelectDrawer.tsx:144 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 +#: src/tables/stock/StockItemTestResultTable.tsx:180 msgid "Value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:156 +#: src/tables/FilterSelectDrawer.tsx:145 msgid "Select filter value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:196 +#: src/tables/FilterSelectDrawer.tsx:185 msgid "Table Filters" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:228 +#: src/tables/FilterSelectDrawer.tsx:217 msgid "Add Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:237 +#: src/tables/FilterSelectDrawer.tsx:226 msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:118 -#: src/tables/InvenTreeTable.tsx:384 -#: src/tables/InvenTreeTable.tsx:405 +#: src/tables/InvenTreeTable.tsx:119 +#: src/tables/InvenTreeTable.tsx:390 +#: src/tables/InvenTreeTable.tsx:411 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:416 +#: src/tables/InvenTreeTable.tsx:422 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:424 +#: src/tables/InvenTreeTable.tsx:430 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:427 +#: src/tables/InvenTreeTable.tsx:433 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:436 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:433 +#: src/tables/InvenTreeTable.tsx:439 msgid "Not found" msgstr "" -#: src/tables/InvenTreeTable.tsx:482 -#: src/tables/InvenTreeTable.tsx:604 +#: src/tables/InvenTreeTable.tsx:488 +#: src/tables/InvenTreeTable.tsx:611 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:486 +#: src/tables/InvenTreeTable.tsx:492 msgid "Are you sure you want to delete the selected records?" msgstr "" -#: src/tables/InvenTreeTable.tsx:488 +#: src/tables/InvenTreeTable.tsx:494 msgid "This action cannot be undone!" msgstr "" -#: src/tables/InvenTreeTable.tsx:516 +#: src/tables/InvenTreeTable.tsx:522 msgid "Deleted records" msgstr "" -#: src/tables/InvenTreeTable.tsx:517 +#: src/tables/InvenTreeTable.tsx:523 msgid "Records were deleted successfully" msgstr "" -#: src/tables/InvenTreeTable.tsx:526 +#: src/tables/InvenTreeTable.tsx:532 msgid "Failed to delete records" msgstr "" -#: src/tables/InvenTreeTable.tsx:585 -#: src/tables/InvenTreeTable.tsx:586 -msgid "Barcode actions" -msgstr "" - #: src/tables/InvenTreeTable.tsx:594 #: src/tables/InvenTreeTable.tsx:595 -msgid "Print actions" +#~ msgid "Print actions" +#~ msgstr "Print actions" + +#: src/tables/InvenTreeTable.tsx:601 +#: src/tables/InvenTreeTable.tsx:602 +msgid "Barcode actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:620 +#: src/tables/InvenTreeTable.tsx:630 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:638 +#: src/tables/InvenTreeTable.tsx:648 msgid "Table filters" msgstr "" @@ -4770,138 +4880,138 @@ msgstr "" msgid "Part Information" msgstr "" -#: src/tables/bom/BomTable.tsx:177 +#: src/tables/bom/BomTable.tsx:179 #: src/tables/part/PartTable.tsx:124 msgid "No stock" msgstr "" -#: src/tables/bom/BomTable.tsx:185 +#: src/tables/bom/BomTable.tsx:187 #: src/tables/build/BuildLineTable.tsx:104 #: src/tables/part/PartTable.tsx:115 msgid "External stock" msgstr "" -#: src/tables/bom/BomTable.tsx:193 +#: src/tables/bom/BomTable.tsx:195 #: src/tables/build/BuildLineTable.tsx:67 msgid "Includes substitute stock" msgstr "" -#: src/tables/bom/BomTable.tsx:202 +#: src/tables/bom/BomTable.tsx:204 #: src/tables/build/BuildLineTable.tsx:77 msgid "Includes variant stock" msgstr "" -#: src/tables/bom/BomTable.tsx:227 +#: src/tables/bom/BomTable.tsx:229 #: src/tables/part/PartTable.tsx:143 #: src/tables/stock/StockItemTable.tsx:205 msgid "Stock Information" msgstr "" -#: src/tables/bom/BomTable.tsx:239 +#: src/tables/bom/BomTable.tsx:241 #: src/tables/build/BuildLineTable.tsx:195 msgid "Consumable item" msgstr "" -#: src/tables/bom/BomTable.tsx:260 +#: src/tables/bom/BomTable.tsx:262 msgid "Show trackable items" msgstr "" -#: src/tables/bom/BomTable.tsx:265 +#: src/tables/bom/BomTable.tsx:267 msgid "Show asssmbled items" msgstr "" -#: src/tables/bom/BomTable.tsx:270 +#: src/tables/bom/BomTable.tsx:272 msgid "Show items with available stock" msgstr "" -#: src/tables/bom/BomTable.tsx:275 +#: src/tables/bom/BomTable.tsx:277 msgid "Show items on order" msgstr "" -#: src/tables/bom/BomTable.tsx:279 +#: src/tables/bom/BomTable.tsx:281 msgid "Validated" msgstr "" -#: src/tables/bom/BomTable.tsx:280 +#: src/tables/bom/BomTable.tsx:282 msgid "Show validated items" msgstr "" -#: src/tables/bom/BomTable.tsx:284 +#: src/tables/bom/BomTable.tsx:286 #: src/tables/bom/UsedInTable.tsx:63 msgid "Inherited" msgstr "" -#: src/tables/bom/BomTable.tsx:285 +#: src/tables/bom/BomTable.tsx:287 #: src/tables/bom/UsedInTable.tsx:64 msgid "Show inherited items" msgstr "" -#: src/tables/bom/BomTable.tsx:289 +#: src/tables/bom/BomTable.tsx:291 #: src/tables/bom/UsedInTable.tsx:68 #: src/tables/build/BuildLineTable.tsx:46 msgid "Optional" msgstr "" -#: src/tables/bom/BomTable.tsx:290 +#: src/tables/bom/BomTable.tsx:292 #: src/tables/bom/UsedInTable.tsx:69 msgid "Show optional items" msgstr "" -#: src/tables/bom/BomTable.tsx:294 +#: src/tables/bom/BomTable.tsx:296 #: src/tables/build/BuildLineTable.tsx:41 msgid "Consumable" msgstr "" -#: src/tables/bom/BomTable.tsx:295 +#: src/tables/bom/BomTable.tsx:297 msgid "Show consumable items" msgstr "" -#: src/tables/bom/BomTable.tsx:299 +#: src/tables/bom/BomTable.tsx:301 msgid "Has Pricing" msgstr "" -#: src/tables/bom/BomTable.tsx:300 -msgid "Show items with pricing" -msgstr "" - #: src/tables/bom/BomTable.tsx:301 #~ msgid "Create BOM Item" #~ msgstr "Create BOM Item" -#: src/tables/bom/BomTable.tsx:309 -#: src/tables/bom/BomTable.tsx:397 +#: src/tables/bom/BomTable.tsx:302 +msgid "Show items with pricing" +msgstr "" + +#: src/tables/bom/BomTable.tsx:311 +#: src/tables/bom/BomTable.tsx:399 msgid "Add BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:314 +#: src/tables/bom/BomTable.tsx:316 msgid "BOM item created" msgstr "" -#: src/tables/bom/BomTable.tsx:321 +#: src/tables/bom/BomTable.tsx:323 msgid "Edit BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:323 +#: src/tables/bom/BomTable.tsx:325 msgid "BOM item updated" msgstr "" -#: src/tables/bom/BomTable.tsx:330 -msgid "Delete BOM Item" -msgstr "" - -#: src/tables/bom/BomTable.tsx:331 -msgid "BOM item deleted" -msgstr "" - #: src/tables/bom/BomTable.tsx:331 #~ msgid "Edit Bom Item" #~ msgstr "Edit Bom Item" +#: src/tables/bom/BomTable.tsx:332 +msgid "Delete BOM Item" +msgstr "" + +#: src/tables/bom/BomTable.tsx:333 +msgid "BOM item deleted" +msgstr "" + #: src/tables/bom/BomTable.tsx:333 #~ msgid "Bom item updated" #~ msgstr "Bom item updated" -#: src/tables/bom/BomTable.tsx:341 +#: src/tables/bom/BomTable.tsx:343 msgid "View BOM" msgstr "" @@ -4917,11 +5027,11 @@ msgstr "" #~ msgid "Are you sure you want to remove this BOM item?" #~ msgstr "Are you sure you want to remove this BOM item?" -#: src/tables/bom/BomTable.tsx:352 +#: src/tables/bom/BomTable.tsx:354 msgid "Validate BOM line" msgstr "" -#: src/tables/bom/BomTable.tsx:360 +#: src/tables/bom/BomTable.tsx:362 msgid "Edit Substitutes" msgstr "" @@ -5038,11 +5148,11 @@ msgid "Filter by responsible owner" msgstr "" #: src/tables/build/BuildOutputTable.tsx:114 -#: src/tables/build/BuildOutputTable.tsx:150 +#: src/tables/build/BuildOutputTable.tsx:152 msgid "Add Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:155 +#: src/tables/build/BuildOutputTable.tsx:157 msgid "Complete selected outputs" msgstr "" @@ -5050,68 +5160,68 @@ msgstr "" #~ msgid "Delete build output" #~ msgstr "Delete build output" -#: src/tables/build/BuildOutputTable.tsx:165 +#: src/tables/build/BuildOutputTable.tsx:167 msgid "Scrap selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:175 +#: src/tables/build/BuildOutputTable.tsx:177 msgid "Cancel selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:191 +#: src/tables/build/BuildOutputTable.tsx:193 msgid "Allocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:192 +#: src/tables/build/BuildOutputTable.tsx:194 msgid "Allocate stock to build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:197 +#: src/tables/build/BuildOutputTable.tsx:199 msgid "Deallocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:198 +#: src/tables/build/BuildOutputTable.tsx:200 msgid "Deallocate stock from build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:203 +#: src/tables/build/BuildOutputTable.tsx:205 msgid "Complete" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:204 +#: src/tables/build/BuildOutputTable.tsx:206 msgid "Complete build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:213 +#: src/tables/build/BuildOutputTable.tsx:215 msgid "Scrap" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:214 +#: src/tables/build/BuildOutputTable.tsx:216 msgid "Scrap build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:224 +#: src/tables/build/BuildOutputTable.tsx:226 msgid "Cancel build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:251 +#: src/tables/build/BuildOutputTable.tsx:253 msgid "Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:264 +#: src/tables/build/BuildOutputTable.tsx:266 msgid "Batch" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:278 +#: src/tables/build/BuildOutputTable.tsx:280 msgid "Allocated Items" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:288 +#: src/tables/build/BuildOutputTable.tsx:290 msgid "Required Tests" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:317 -#: src/tables/stock/StockItemTestResultTable.tsx:146 +#: src/tables/build/BuildOutputTable.tsx:319 +#: src/tables/stock/StockItemTestResultTable.tsx:144 msgid "Test Results" msgstr "" @@ -5132,7 +5242,7 @@ msgstr "" msgid "Delete Address" msgstr "" -#: src/tables/company/AddressTable.tsx:145 +#: src/tables/company/AddressTable.tsx:144 msgid "Are you sure you want to delete this address?" msgstr "" @@ -5177,36 +5287,52 @@ msgstr "" msgid "Add contact" msgstr "" -#: src/tables/general/AttachmentTable.tsx:161 +#: src/tables/general/AttachmentTable.tsx:130 msgid "File uploaded" msgstr "" -#: src/tables/general/AttachmentTable.tsx:162 +#: src/tables/general/AttachmentTable.tsx:131 msgid "File {0} uploaded successfully" msgstr "" -#: src/tables/general/AttachmentTable.tsx:173 +#: src/tables/general/AttachmentTable.tsx:142 msgid "Upload Error" msgstr "" -#: src/tables/general/AttachmentTable.tsx:174 +#: src/tables/general/AttachmentTable.tsx:143 msgid "File could not be uploaded" msgstr "" #: src/tables/general/AttachmentTable.tsx:187 +msgid "Upload Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:197 +msgid "Edit Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:211 +msgid "Delete Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:221 msgid "Add attachment" msgstr "" -#: src/tables/general/AttachmentTable.tsx:207 +#: src/tables/general/AttachmentTable.tsx:232 msgid "Add external link" msgstr "" -#: src/tables/general/AttachmentTable.tsx:239 +#: src/tables/general/AttachmentTable.tsx:254 +#~ msgid "Upload attachment" +#~ msgstr "Upload attachment" + +#: src/tables/general/AttachmentTable.tsx:289 msgid "No attachments found" msgstr "" -#: src/tables/general/AttachmentTable.tsx:254 -msgid "Upload attachment" +#: src/tables/general/AttachmentTable.tsx:325 +msgid "Drag attachment file here to upload" msgstr "" #: src/tables/machine/MachineListTable.tsx:199 @@ -5332,8 +5458,8 @@ msgstr "" #: src/tables/machine/MachineTypeTable.tsx:135 #: src/tables/machine/MachineTypeTable.tsx:255 -#: src/tables/plugin/PluginListTable.tsx:215 -#: src/tables/plugin/PluginListTable.tsx:643 +#: src/tables/plugin/PluginListTable.tsx:180 +#: src/tables/plugin/PluginListTable.tsx:568 msgid "Builtin" msgstr "" @@ -5375,7 +5501,7 @@ msgid "Message" msgstr "" #: src/tables/part/ParametricPartTable.tsx:75 -#: src/tables/part/PartParameterTable.tsx:87 +#: src/tables/part/PartParameterTable.tsx:88 msgid "Internal Units" msgstr "" @@ -5388,29 +5514,29 @@ msgid "Add Part Parameter" msgstr "" #: src/tables/part/ParametricPartTable.tsx:147 -#: src/tables/part/PartParameterTable.tsx:128 -#: src/tables/part/PartParameterTable.tsx:150 +#: src/tables/part/PartParameterTable.tsx:121 +#: src/tables/part/PartParameterTable.tsx:144 msgid "Edit Part Parameter" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:64 +#: src/tables/part/PartCategoryTable.tsx:60 #: src/tables/part/PartTable.tsx:180 msgid "Include Subcategories" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:65 +#: src/tables/part/PartCategoryTable.tsx:61 msgid "Include subcategories in results" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:70 +#: src/tables/part/PartCategoryTable.tsx:66 msgid "Show structural categories" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:77 +#: src/tables/part/PartCategoryTable.tsx:73 msgid "New Part Category" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:106 +#: src/tables/part/PartCategoryTable.tsx:98 msgid "Add Part Category" msgstr "" @@ -5435,20 +5561,20 @@ msgstr "" #~ msgid "[{0}]" #~ msgstr "[{0}]" -#: src/tables/part/PartParameterTable.tsx:112 +#: src/tables/part/PartParameterTable.tsx:105 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:136 -#: src/tables/part/PartParameterTable.tsx:158 +#: src/tables/part/PartParameterTable.tsx:130 +#: src/tables/part/PartParameterTable.tsx:152 msgid "Delete Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:175 +#: src/tables/part/PartParameterTable.tsx:170 msgid "Add parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:196 +#: src/tables/part/PartParameterTable.tsx:191 #: src/tables/stock/StockItemTable.tsx:300 msgid "Include Variants" msgstr "" @@ -5482,15 +5608,15 @@ msgstr "" msgid "Add Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:97 +#: src/tables/part/PartParameterTemplateTable.tsx:100 msgid "Edit Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:105 +#: src/tables/part/PartParameterTemplateTable.tsx:111 msgid "Delete Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:135 +#: src/tables/part/PartParameterTemplateTable.tsx:141 msgid "Add parameter template" msgstr "" @@ -5588,7 +5714,7 @@ msgid "No Results" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:79 -#: src/tables/stock/StockItemTestResultTable.tsx:385 +#: src/tables/stock/StockItemTestResultTable.tsx:376 msgid "Required" msgstr "" @@ -5597,8 +5723,8 @@ msgid "Show required tests" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:84 -#: src/tables/settings/TemplateTable.tsx:213 -#: src/tables/settings/TemplateTable.tsx:275 +#: src/tables/settings/TemplateTable.tsx:160 +#: src/tables/settings/TemplateTable.tsx:270 msgid "Enabled" msgstr "" @@ -5639,26 +5765,30 @@ msgid "Show tests which have recorded results" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:126 -#: src/tables/part/PartTestTemplateTable.tsx:195 +#: src/tables/part/PartTestTemplateTable.tsx:201 msgid "Add Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:139 +#: src/tables/part/PartTestTemplateTable.tsx:142 msgid "Edit Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:147 +#: src/tables/part/PartTestTemplateTable.tsx:153 msgid "Delete Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:149 +#: src/tables/part/PartTestTemplateTable.tsx:155 msgid "This action cannot be reversed" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:151 +#: src/tables/part/PartTestTemplateTable.tsx:157 msgid "Any tests results associated with this template will be deleted" msgstr "" +#: src/tables/part/PartThumbTable.tsx:203 +msgid "Select" +msgstr "" + #: src/tables/part/PartVariantTable.tsx:16 msgid "Show active variants" msgstr "" @@ -5695,252 +5825,273 @@ msgstr "" msgid "Stage" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:113 -msgid "Plugin with id {id} not found" +#: src/tables/plugin/PluginListTable.tsx:95 +msgid "Plugin with key {pluginKey} not found" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:115 +#: src/tables/plugin/PluginListTable.tsx:97 msgid "An error occurred while fetching plugin details" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:134 -msgid "Plugin Actions" -msgstr "" +#: src/tables/plugin/PluginListTable.tsx:113 +#~ msgid "Plugin with id {id} not found" +#~ msgstr "Plugin with id {id} not found" -#: src/tables/plugin/PluginListTable.tsx:138 -#: src/tables/plugin/PluginListTable.tsx:141 -msgid "Edit plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:152 -#: src/tables/plugin/PluginListTable.tsx:153 -msgid "Reload" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:166 +#: src/tables/plugin/PluginListTable.tsx:122 msgid "Plugin information" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:177 +#: src/tables/plugin/PluginListTable.tsx:134 msgid "Author" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:198 +#: src/tables/plugin/PluginListTable.tsx:134 +#~ msgid "Plugin Actions" +#~ msgstr "Plugin Actions" + +#: src/tables/plugin/PluginListTable.tsx:138 +#: src/tables/plugin/PluginListTable.tsx:141 +#~ msgid "Edit plugin" +#~ msgstr "Edit plugin" + +#: src/tables/plugin/PluginListTable.tsx:152 +#: src/tables/plugin/PluginListTable.tsx:153 +#~ msgid "Reload" +#~ msgstr "Reload" + +#: src/tables/plugin/PluginListTable.tsx:154 +msgid "Plugin is not active" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:163 msgid "Package information" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:204 +#: src/tables/plugin/PluginListTable.tsx:169 msgid "Package Name" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:210 +#: src/tables/plugin/PluginListTable.tsx:175 msgid "Installation Path" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:220 +#: src/tables/plugin/PluginListTable.tsx:185 msgid "Package" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:231 +#: src/tables/plugin/PluginListTable.tsx:197 msgid "Plugin settings" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:248 +#: src/tables/plugin/PluginListTable.tsx:214 msgid "Plugin is active" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:254 +#: src/tables/plugin/PluginListTable.tsx:220 msgid "Plugin is inactive" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:261 +#: src/tables/plugin/PluginListTable.tsx:227 msgid "Plugin is not installed" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:287 +#: src/tables/plugin/PluginListTable.tsx:253 msgid "Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:312 +#: src/tables/plugin/PluginListTable.tsx:287 msgid "Description not available" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:338 +#: src/tables/plugin/PluginListTable.tsx:319 +msgid "Confirm plugin activation" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:320 +msgid "Confirm plugin deactivation" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:325 +msgid "The selected plugin will be activated" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:326 +msgid "The selected plugin will be deactivated" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:334 msgid "Activate Plugin" msgstr "" #: src/tables/plugin/PluginListTable.tsx:338 -msgid "Deactivate Plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:347 -msgid "Confirm plugin activation" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:348 -msgid "Confirm plugin deactivation" -msgstr "" +#~ msgid "Deactivate Plugin" +#~ msgstr "Deactivate Plugin" #: src/tables/plugin/PluginListTable.tsx:354 -msgid "The following plugin will be activated" -msgstr "" +#~ msgid "The following plugin will be activated" +#~ msgstr "The following plugin will be activated" #: src/tables/plugin/PluginListTable.tsx:355 -msgid "The following plugin will be deactivated" -msgstr "" +#~ msgid "The following plugin will be deactivated" +#~ msgstr "The following plugin will be deactivated" -#: src/tables/plugin/PluginListTable.tsx:366 -msgid "Confirm" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:376 -msgid "Activating plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:376 -msgid "Deactivating plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:392 -msgid "Plugin updated" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:394 -msgid "The plugin was activated" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:395 -msgid "The plugin was deactivated" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:403 -msgid "Error updating plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:423 +#: src/tables/plugin/PluginListTable.tsx:362 msgid "Deactivate" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:432 +#: src/tables/plugin/PluginListTable.tsx:366 +#~ msgid "Confirm" +#~ msgstr "Confirm" + +#: src/tables/plugin/PluginListTable.tsx:373 msgid "Activate" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:463 +#: src/tables/plugin/PluginListTable.tsx:376 +#~ msgid "Activating plugin" +#~ msgstr "Activating plugin" + +#: src/tables/plugin/PluginListTable.tsx:376 +#~ msgid "Deactivating plugin" +#~ msgstr "Deactivating plugin" + +#: src/tables/plugin/PluginListTable.tsx:392 +#~ msgid "Plugin updated" +#~ msgstr "Plugin updated" + +#: src/tables/plugin/PluginListTable.tsx:394 +#~ msgid "The plugin was activated" +#~ msgstr "The plugin was activated" + +#: src/tables/plugin/PluginListTable.tsx:395 +#~ msgid "The plugin was deactivated" +#~ msgstr "The plugin was deactivated" + +#: src/tables/plugin/PluginListTable.tsx:403 +#~ msgid "Error updating plugin" +#~ msgstr "Error updating plugin" + +#: src/tables/plugin/PluginListTable.tsx:406 msgid "Uninstall" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:495 +#: src/tables/plugin/PluginListTable.tsx:438 msgid "Install plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:508 +#: src/tables/plugin/PluginListTable.tsx:451 msgid "Install" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:512 +#: src/tables/plugin/PluginListTable.tsx:452 msgid "Plugin installed successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:525 +#: src/tables/plugin/PluginListTable.tsx:457 msgid "Uninstall Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:537 +#: src/tables/plugin/PluginListTable.tsx:469 msgid "Confirm plugin uninstall" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:540 +#: src/tables/plugin/PluginListTable.tsx:472 msgid "The selected plugin will be uninstalled." msgstr "" -#: src/tables/plugin/PluginListTable.tsx:541 +#: src/tables/plugin/PluginListTable.tsx:473 msgid "This action cannot be undone." msgstr "" -#: src/tables/plugin/PluginListTable.tsx:547 +#: src/tables/plugin/PluginListTable.tsx:477 msgid "Plugin uninstalled successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:560 +#: src/tables/plugin/PluginListTable.tsx:484 msgid "Delete Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:562 +#: src/tables/plugin/PluginListTable.tsx:485 msgid "Deleting this plugin configuration will remove all associated settings and data. Are you sure you want to delete this plugin?" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:574 +#: src/tables/plugin/PluginListTable.tsx:498 msgid "Plugins reloaded" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:575 +#: src/tables/plugin/PluginListTable.tsx:499 msgid "Plugins were reloaded successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:591 +#: src/tables/plugin/PluginListTable.tsx:515 msgid "Reload Plugins" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:600 +#: src/tables/plugin/PluginListTable.tsx:524 msgid "Install Plugin" msgstr "" +#: src/tables/plugin/PluginListTable.tsx:544 +msgid "Plugin Detail" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:573 +msgid "Sample" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:578 +#: src/tables/stock/StockItemTable.tsx:305 +msgid "Installed" +msgstr "" + #: src/tables/plugin/PluginListTable.tsx:615 #~ msgid "Plugin detail" #~ msgstr "Plugin detail" -#: src/tables/plugin/PluginListTable.tsx:619 -msgid "Plugin Detail" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:648 -msgid "Sample" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:653 -#: src/tables/stock/StockItemTable.tsx:305 -msgid "Installed" -msgstr "" - -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:57 -msgid "Edit Parameter" +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:59 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:108 +msgid "Add Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:60 -msgid "Parameter updated" -msgstr "" +#~ msgid "Parameter updated" +#~ msgstr "Parameter updated" -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:71 -msgid "Delete Parameter" +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:70 +msgid "Edit Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:73 -msgid "Parameter deleted" -msgstr "" +#~ msgid "Parameter deleted" +#~ msgstr "Parameter deleted" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:74 -msgid "Are you sure you want to delete this parameter?" +#~ msgid "Are you sure you want to delete this parameter?" +#~ msgstr "Are you sure you want to delete this parameter?" + +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:78 +msgid "Delete Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartTable.tsx:63 #~ msgid "Create Manufacturer Part" #~ msgstr "Create Manufacturer Part" -#: src/tables/purchasing/ManufacturerPartTable.tsx:100 -msgid "Manufacturer part updated" -msgstr "" - -#: src/tables/purchasing/ManufacturerPartTable.tsx:111 +#: src/tables/purchasing/ManufacturerPartTable.tsx:92 msgid "Delete Manufacturer Part" msgstr "" +#: src/tables/purchasing/ManufacturerPartTable.tsx:100 +#~ msgid "Manufacturer part updated" +#~ msgstr "Manufacturer part updated" + #: src/tables/purchasing/ManufacturerPartTable.tsx:112 -msgid "Manufacturer part deleted" -msgstr "" +#~ msgid "Manufacturer part deleted" +#~ msgstr "Manufacturer part deleted" #: src/tables/purchasing/ManufacturerPartTable.tsx:114 -msgid "Are you sure you want to remove this manufacturer part?" -msgstr "" +#~ msgid "Are you sure you want to remove this manufacturer part?" +#~ msgstr "Are you sure you want to remove this manufacturer part?" #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:86 msgid "Part Description" @@ -6087,18 +6238,22 @@ msgid "Error Information" msgstr "" #: src/tables/settings/ErrorTable.tsx:51 -msgid "Delete error report" +msgid "Delete Error Report" msgstr "" +#: src/tables/settings/ErrorTable.tsx:51 +#~ msgid "Delete error report" +#~ msgstr "Delete error report" + #: src/tables/settings/ErrorTable.tsx:53 -msgid "Error report deleted" -msgstr "" - -#: src/tables/settings/ErrorTable.tsx:54 msgid "Are you sure you want to delete this error report?" msgstr "" -#: src/tables/settings/ErrorTable.tsx:67 +#: src/tables/settings/ErrorTable.tsx:55 +msgid "Error report deleted" +msgstr "" + +#: src/tables/settings/ErrorTable.tsx:77 #: src/tables/settings/FailedTasksTable.tsx:57 msgid "Error Details" msgstr "" @@ -6115,7 +6270,7 @@ msgid "Task ID" msgstr "" #: src/tables/settings/FailedTasksTable.tsx:34 -#: src/tables/stock/StockItemTestResultTable.tsx:214 +#: src/tables/stock/StockItemTestResultTable.tsx:205 msgid "Started" msgstr "" @@ -6188,30 +6343,71 @@ msgstr "" msgid "Next Run" msgstr "" -#: src/tables/settings/TemplateTable.tsx:120 -msgid "{templateTypeTranslation} with id {id} not found" +#: src/tables/settings/TemplateTable.tsx:82 +msgid "Template not found" msgstr "" +#: src/tables/settings/TemplateTable.tsx:84 +msgid "An error occurred while fetching template details" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:120 +#~ msgid "{templateTypeTranslation} with id {id} not found" +#~ msgstr "{templateTypeTranslation} with id {id} not found" + #: src/tables/settings/TemplateTable.tsx:124 -msgid "An error occurred while fetching {templateTypeTranslation} details" -msgstr "" +#~ msgid "An error occurred while fetching {templateTypeTranslation} details" +#~ msgstr "An error occurred while fetching {templateTypeTranslation} details" #: src/tables/settings/TemplateTable.tsx:146 -msgid "actions" +#~ msgid "actions" +#~ msgstr "actions" + +#: src/tables/settings/TemplateTable.tsx:170 +msgid "Modify" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:171 +msgid "Modify template file" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:222 +#: src/tables/settings/TemplateTable.tsx:289 +msgid "Edit Template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:230 +msgid "Delete template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:236 +msgid "Add Template" msgstr "" #: src/tables/settings/TemplateTable.tsx:243 -msgid "Add new" -msgstr "" +#~ msgid "Add new" +#~ msgstr "Add new" #: src/tables/settings/TemplateTable.tsx:243 #~ msgid "Create new" #~ msgstr "Create new" -#: src/tables/settings/TemplateTable.tsx:276 +#: src/tables/settings/TemplateTable.tsx:249 +msgid "Add template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:271 msgid "Filter by enabled status" msgstr "" +#: src/tables/settings/TemplateTable.tsx:276 +msgid "Model Type" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:277 +msgid "Filter by target model type" +msgstr "" + #: src/tables/settings/UserTable.tsx:79 msgid "User with id {id} not found" msgstr "" @@ -6277,6 +6473,23 @@ msgstr "" msgid "Edit user" msgstr "" +#: src/tables/stock/LocationTypesTable.tsx:36 +#: src/tables/stock/LocationTypesTable.tsx:105 +msgid "Add Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:44 +msgid "Edit Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:52 +msgid "Delete Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:69 +msgid "Icon" +msgstr "" + #: src/tables/stock/StockItemTable.tsx:90 msgid "This stock item is in production" msgstr "" @@ -6338,7 +6551,7 @@ msgid "Show items which are available" msgstr "" #: src/tables/stock/StockItemTable.tsx:280 -#: src/tables/stock/StockLocationTable.tsx:37 +#: src/tables/stock/StockLocationTable.tsx:33 msgid "Include Sublocations" msgstr "" @@ -6467,123 +6680,135 @@ msgstr "" msgid "Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:153 +#: src/tables/stock/StockItemTestResultTable.tsx:151 msgid "Test result for installed stock item" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:164 +#: src/tables/stock/StockItemTestResultTable.tsx:162 msgid "Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:170 +#: src/tables/stock/StockItemTestResultTable.tsx:168 msgid "No Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:186 +#: src/tables/stock/StockItemTestResultTable.tsx:184 msgid "Attachment" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:209 +#: src/tables/stock/StockItemTestResultTable.tsx:200 msgid "Test station" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:229 +#: src/tables/stock/StockItemTestResultTable.tsx:220 msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:277 -#: src/tables/stock/StockItemTestResultTable.tsx:349 -#: src/tables/stock/StockItemTestResultTable.tsx:404 +#: src/tables/stock/StockItemTestResultTable.tsx:268 +#: src/tables/stock/StockItemTestResultTable.tsx:340 +#: src/tables/stock/StockItemTestResultTable.tsx:395 msgid "Add Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:279 +#: src/tables/stock/StockItemTestResultTable.tsx:270 msgid "Test result added" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:288 -#: src/tables/stock/StockItemTestResultTable.tsx:359 +#: src/tables/stock/StockItemTestResultTable.tsx:279 +#: src/tables/stock/StockItemTestResultTable.tsx:350 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:290 +#: src/tables/stock/StockItemTestResultTable.tsx:281 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:296 -#: src/tables/stock/StockItemTestResultTable.tsx:368 +#: src/tables/stock/StockItemTestResultTable.tsx:287 +#: src/tables/stock/StockItemTestResultTable.tsx:359 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:298 +#: src/tables/stock/StockItemTestResultTable.tsx:289 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:312 +#: src/tables/stock/StockItemTestResultTable.tsx:303 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:313 +#: src/tables/stock/StockItemTestResultTable.tsx:304 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:320 +#: src/tables/stock/StockItemTestResultTable.tsx:311 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:337 +#: src/tables/stock/StockItemTestResultTable.tsx:328 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:386 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:390 +#: src/tables/stock/StockItemTestResultTable.tsx:381 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:391 +#: src/tables/stock/StockItemTestResultTable.tsx:382 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:395 +#: src/tables/stock/StockItemTestResultTable.tsx:386 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:396 +#: src/tables/stock/StockItemTestResultTable.tsx:387 msgid "Show only passed tests" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:38 +#: src/tables/stock/StockLocationTable.tsx:34 msgid "Include sublocations in results" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:42 +#: src/tables/stock/StockLocationTable.tsx:38 msgid "structural" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:43 +#: src/tables/stock/StockLocationTable.tsx:39 msgid "Show structural locations" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:47 +#: src/tables/stock/StockLocationTable.tsx:43 msgid "external" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:48 +#: src/tables/stock/StockLocationTable.tsx:44 msgid "Show external locations" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:52 +#: src/tables/stock/StockLocationTable.tsx:48 msgid "Has location type" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:89 -#: src/tables/stock/StockLocationTable.tsx:118 +#: src/tables/stock/StockLocationTable.tsx:85 +#: src/tables/stock/StockLocationTable.tsx:110 msgid "Add Stock Location" msgstr "" +#: src/tables/stock/StockTrackingTable.tsx:64 +msgid "Added" +msgstr "" + +#: src/tables/stock/StockTrackingTable.tsx:69 +msgid "Removed" +msgstr "" + +#: src/tables/stock/StockTrackingTable.tsx:198 +msgid "No user information" +msgstr "" + #: src/views/MobileAppView.tsx:22 msgid "Mobile viewport detected" msgstr "" diff --git a/src/frontend/src/locales/lv/messages.po b/src/frontend/src/locales/lv/messages.po index 7db452183a..aaa94928f8 100644 --- a/src/frontend/src/locales/lv/messages.po +++ b/src/frontend/src/locales/lv/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: lv\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-05-13 02:48\n" +"PO-Revision-Date: 2024-05-23 11:39\n" "Last-Translator: \n" "Language-Team: Latvian\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2;\n" @@ -30,10 +30,67 @@ msgstr "" msgid "Title" msgstr "" +#: src/components/buttons/AdminButton.tsx:83 +msgid "Open in admin interface" +msgstr "" + #: src/components/buttons/CopyButton.tsx:18 msgid "Copy to clipboard" msgstr "" +#: src/components/buttons/PrintingActions.tsx:95 +msgid "Print Label" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:101 +msgid "Label printing completed successfully" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:106 +#: src/components/buttons/PrintingActions.tsx:143 +#: src/components/forms/ApiForm.tsx:504 +#: src/components/forms/fields/ApiFormField.tsx:295 +#: src/components/modals/LicenseModal.tsx:75 +#: src/components/nav/SearchDrawer.tsx:413 +#: src/components/widgets/MarkdownEditor.tsx:107 +#: src/components/widgets/MarkdownEditor.tsx:153 +#: src/pages/ErrorPage.tsx:12 +#: src/pages/ErrorPage.tsx:25 +#: src/pages/part/PartPricingPanel.tsx:71 +#: src/tables/InvenTreeTable.tsx:451 +#: src/tables/InvenTreeTable.tsx:531 +#: src/tables/stock/StockItemTestResultTable.tsx:310 +msgid "Error" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:107 +msgid "The label could not be generated" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:122 +msgid "Print Report" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:138 +msgid "Report printing completed successfully" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:144 +msgid "The report could not be generated" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:171 +msgid "Printing Actions" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:176 +msgid "Print Labels" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:182 +msgid "Print Reports" +msgstr "" + #: src/components/buttons/ScanButton.tsx:15 msgid "Scan QR code" msgstr "" @@ -64,15 +121,15 @@ msgstr "" msgid "No" msgstr "" -#: src/components/details/Details.tsx:302 +#: src/components/details/Details.tsx:303 msgid "No name defined" msgstr "" -#: src/components/details/Details.tsx:339 +#: src/components/details/Details.tsx:340 msgid "Copied" msgstr "" -#: src/components/details/Details.tsx:339 +#: src/components/details/Details.tsx:340 msgid "Copy" msgstr "" @@ -85,24 +142,23 @@ msgid "Remove the associated image from this item?" msgstr "" #: src/components/details/DetailsImage.tsx:71 -#: src/forms/StockForms.tsx:442 +#: src/forms/StockForms.tsx:483 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:448 +#: src/pages/stock/StockDetail.tsx:462 msgid "Remove" msgstr "" #: src/components/details/DetailsImage.tsx:71 -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:163 -#: src/components/items/ActionDropdown.tsx:222 -#: src/components/items/ActionDropdown.tsx:223 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 +#: src/components/items/ActionDropdown.tsx:229 +#: src/components/items/ActionDropdown.tsx:230 #: src/contexts/ThemeContext.tsx:43 #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:40 -#: src/tables/FilterSelectDrawer.tsx:218 -#: src/tables/InvenTreeTable.tsx:493 -#: src/tables/build/BuildOutputTable.tsx:223 -#: src/tables/plugin/PluginListTable.tsx:365 +#: src/tables/FilterSelectDrawer.tsx:207 +#: src/tables/InvenTreeTable.tsx:499 +#: src/tables/build/BuildOutputTable.tsx:225 msgid "Cancel" msgstr "" @@ -119,7 +175,7 @@ msgid "Clear" msgstr "" #: src/components/details/DetailsImage.tsx:227 -#: src/components/forms/ApiForm.tsx:554 +#: src/components/forms/ApiForm.tsx:571 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:56 msgid "Submit" @@ -150,9 +206,10 @@ msgid "Part is not active" msgstr "" #: src/components/details/PartIcons.tsx:34 -#: src/pages/company/CompanyDetail.tsx:308 -#: src/pages/company/SupplierPartDetail.tsx:304 -#: src/pages/part/PartDetail.tsx:684 +#: src/components/render/Plugin.tsx:17 +#: src/pages/company/CompanyDetail.tsx:310 +#: src/pages/company/SupplierPartDetail.tsx:305 +#: src/pages/part/PartDetail.tsx:685 msgid "Inactive" msgstr "" @@ -196,10 +253,10 @@ msgid "Code" msgstr "" #: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:44 -msgid "Failed to parse error response from server." -msgstr "" +#~ msgid "Failed to parse error response from server." +#~ msgstr "Failed to parse error response from server." -#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:82 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:81 msgid "Preview not available, click \"Reload Preview\"." msgstr "" @@ -207,98 +264,99 @@ msgstr "" msgid "PDF Preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:113 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:104 msgid "Error loading template" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:125 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:116 msgid "Error saving template" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 -msgid "Save & Reload preview?" +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:146 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:270 +msgid "Save & Reload Preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:156 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 msgid "Are you sure you want to Save & Reload the preview?" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 +#~ msgid "Save & Reload preview?" +#~ msgstr "Save & Reload preview?" + +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:153 msgid "To render the preview the current template needs to be replaced on the server with your modifications which may break the label if it is under active use. Do you want to proceed?" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:162 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:157 msgid "Save & Reload" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:191 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:189 msgid "Preview updated" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:192 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:190 msgid "The preview has been updated successfully." msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:255 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:262 msgid "Reload preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:256 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:263 msgid "Use the currently stored template from the server" msgstr "" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:263 -msgid "Save & Reload preview" -msgstr "" +#~ msgid "Save & Reload preview" +#~ msgstr "Save & Reload preview" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:264 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:271 msgid "Save the current template and reload the preview" msgstr "" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:322 -#: src/tables/part/PartThumbTable.tsx:203 -msgid "Select" +#~ msgid "to preview" +#~ msgstr "to preview" + +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:329 +msgid "Select instance to preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:322 -msgid "to preview" -msgstr "" - -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:366 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:373 msgid "Error rendering template" msgstr "" -#: src/components/forms/ApiForm.tsx:143 +#: src/components/forms/ApiForm.tsx:148 #: src/functions/forms.tsx:259 msgid "Form Error" msgstr "" -#: src/components/forms/ApiForm.tsx:411 +#: src/components/forms/ApiForm.tsx:428 #: src/components/widgets/MarkdownEditor.tsx:145 msgid "Success" msgstr "" #: src/components/forms/ApiForm.tsx:487 -msgid "Form Errors Exist" -msgstr "" +#~ msgid "Form Errors Exist" +#~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:592 -#: src/tables/plugin/PluginListTable.tsx:445 +#: src/components/forms/ApiForm.tsx:609 +#: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "" -#: src/components/forms/ApiForm.tsx:612 -#: src/components/items/ActionDropdown.tsx:203 +#: src/components/forms/ApiForm.tsx:629 +#: src/components/items/ActionDropdown.tsx:210 #: src/functions/forms.tsx:299 #: src/hooks/UseForm.tsx:122 #: src/pages/Index/Scan.tsx:343 #: src/pages/Notifications.tsx:123 -#: src/tables/InvenTreeTable.tsx:492 +#: src/tables/InvenTreeTable.tsx:498 #: src/tables/RowActions.tsx:71 -#: src/tables/plugin/PluginListTable.tsx:477 -#: src/tables/settings/TemplateTable.tsx:105 -#: src/tables/settings/TemplateTable.tsx:154 -#: src/tables/settings/TemplateTable.tsx:236 +#: src/tables/plugin/PluginListTable.tsx:420 msgid "Delete" msgstr "" @@ -468,18 +526,19 @@ msgstr "" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 -#: src/pages/part/CategoryDetail.tsx:77 -#: src/pages/part/PartDetail.tsx:125 -#: src/pages/stock/LocationDetail.tsx:83 +#: src/pages/part/CategoryDetail.tsx:78 +#: src/pages/part/PartDetail.tsx:126 +#: src/pages/stock/LocationDetail.tsx:85 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 #: src/tables/machine/MachineTypeTable.tsx:216 #: src/tables/machine/MachineTypeTable.tsx:319 #: src/tables/plugin/PluginErrorTable.tsx:33 -#: src/tables/plugin/PluginListTable.tsx:169 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:27 +#: src/tables/plugin/PluginListTable.tsx:126 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:32 #: src/tables/settings/GroupTable.tsx:103 #: src/tables/settings/PendingTasksTable.tsx:26 +#: src/tables/stock/LocationTypesTable.tsx:60 msgid "Name" msgstr "" @@ -520,35 +579,20 @@ msgstr "" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/ApiFormField.tsx:276 -#: src/components/modals/LicenseModal.tsx:75 -#: src/components/nav/SearchDrawer.tsx:413 -#: src/components/widgets/MarkdownEditor.tsx:107 -#: src/components/widgets/MarkdownEditor.tsx:153 -#: src/pages/ErrorPage.tsx:12 -#: src/pages/ErrorPage.tsx:25 -#: src/pages/part/PartPricingPanel.tsx:71 -#: src/tables/InvenTreeTable.tsx:445 -#: src/tables/InvenTreeTable.tsx:525 -#: src/tables/plugin/PluginListTable.tsx:402 -#: src/tables/stock/StockItemTestResultTable.tsx:319 -msgid "Error" -msgstr "" - -#: src/components/forms/fields/RelatedModelField.tsx:305 +#: src/components/forms/fields/RelatedModelField.tsx:315 #: src/pages/Index/Settings/UserSettings.tsx:64 #: src/tables/Search.tsx:23 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:306 +#: src/components/forms/fields/RelatedModelField.tsx:316 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:120 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:308 +#: src/components/forms/fields/RelatedModelField.tsx:318 msgid "No results found" msgstr "" @@ -569,54 +613,51 @@ msgstr "" msgid "Thumbnail" msgstr "" -#: src/components/items/ActionDropdown.tsx:112 -#: src/pages/build/BuildDetail.tsx:354 +#: src/components/items/ActionDropdown.tsx:119 +#: src/pages/build/BuildDetail.tsx:360 msgid "Barcode Actions" msgstr "" -#: src/components/items/ActionDropdown.tsx:129 +#: src/components/items/ActionDropdown.tsx:136 msgid "View" msgstr "" -#: src/components/items/ActionDropdown.tsx:130 +#: src/components/items/ActionDropdown.tsx:137 msgid "View barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:146 +#: src/components/items/ActionDropdown.tsx:153 msgid "Link Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:147 +#: src/components/items/ActionDropdown.tsx:154 msgid "Link custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:163 -#: src/forms/PurchaseOrderForms.tsx:375 +#: src/components/items/ActionDropdown.tsx:170 +#: src/forms/PurchaseOrderForms.tsx:389 msgid "Unlink Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:164 +#: src/components/items/ActionDropdown.tsx:171 msgid "Unlink custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:182 +#: src/components/items/ActionDropdown.tsx:189 #: src/tables/RowActions.tsx:51 -#: src/tables/settings/TemplateTable.tsx:87 -#: src/tables/settings/TemplateTable.tsx:150 -#: src/tables/settings/TemplateTable.tsx:287 msgid "Edit" msgstr "" -#: src/components/items/ActionDropdown.tsx:204 +#: src/components/items/ActionDropdown.tsx:211 msgid "Delete item" msgstr "" -#: src/components/items/ActionDropdown.tsx:241 +#: src/components/items/ActionDropdown.tsx:248 #: src/tables/RowActions.tsx:31 msgid "Duplicate" msgstr "" -#: src/components/items/ActionDropdown.tsx:242 +#: src/components/items/ActionDropdown.tsx:249 msgid "Duplicate item" msgstr "" @@ -625,7 +666,7 @@ msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:437 +#: src/tables/InvenTreeTable.tsx:443 msgid "Unknown error" msgstr "" @@ -785,27 +826,27 @@ msgstr "" #: src/components/modals/QrCodeModal.tsx:154 #: src/defaults/menuItems.tsx:21 -#: src/pages/Index/Scan.tsx:747 +#: src/pages/Index/Scan.tsx:746 msgid "Scanning" msgstr "" #: src/components/modals/QrCodeModal.tsx:154 -#: src/pages/Index/Scan.tsx:747 +#: src/pages/Index/Scan.tsx:746 msgid "Not scanning" msgstr "" #: src/components/modals/QrCodeModal.tsx:159 -#: src/pages/Index/Scan.tsx:753 +#: src/pages/Index/Scan.tsx:752 msgid "Select Camera" msgstr "" #: src/components/modals/QrCodeModal.tsx:169 -#: src/pages/Index/Scan.tsx:738 +#: src/pages/Index/Scan.tsx:737 msgid "Start scanning" msgstr "" #: src/components/modals/QrCodeModal.tsx:176 -#: src/pages/Index/Scan.tsx:730 +#: src/pages/Index/Scan.tsx:729 msgid "Stop scanning" msgstr "" @@ -891,8 +932,8 @@ msgid "Email settings not configured" msgstr "" #: src/components/modals/ServerInfoModal.tsx:121 -#: src/tables/plugin/PluginListTable.tsx:187 -#: src/tables/plugin/PluginListTable.tsx:319 +#: src/tables/plugin/PluginListTable.tsx:144 +#: src/tables/plugin/PluginListTable.tsx:294 msgid "Version" msgstr "" @@ -926,13 +967,13 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:293 +#: src/pages/Index/Settings/SystemSettings.tsx:294 msgid "System Settings" msgstr "" #: src/components/nav/MainMenu.tsx:67 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:172 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 msgid "Admin Center" msgstr "" @@ -975,7 +1016,7 @@ msgid "Pages" msgstr "" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:133 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:153 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "" @@ -1013,9 +1054,9 @@ msgid "Mark as read" msgstr "" #: src/components/nav/PartCategoryTree.tsx:158 -#: src/components/render/ModelType.tsx:60 +#: src/components/render/ModelType.tsx:64 #: src/pages/Index/Settings/SystemSettings.tsx:162 -#: src/pages/part/CategoryDetail.tsx:248 +#: src/pages/part/CategoryDetail.tsx:249 msgid "Part Categories" msgstr "" @@ -1052,142 +1093,147 @@ msgid "No results available for search query" msgstr "" #: src/components/nav/StockLocationTree.tsx:93 -#: src/components/render/ModelType.tsx:76 -#: src/pages/stock/LocationDetail.tsx:175 +#: src/components/render/ModelType.tsx:82 +#: src/pages/stock/LocationDetail.tsx:185 msgid "Stock Locations" msgstr "" -#: src/components/render/Instance.tsx:137 +#: src/components/render/Instance.tsx:166 msgid "Unknown model: {model}" msgstr "" -#: src/components/render/ModelType.tsx:21 -#: src/forms/BuildForms.tsx:184 -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49 +#: src/components/render/ModelType.tsx:22 +#: src/forms/BuildForms.tsx:201 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:83 #: src/pages/part/PartDetail.tsx:828 #: src/tables/part/RelatedPartTable.tsx:45 +#: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" msgstr "" -#: src/components/render/ModelType.tsx:22 +#: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 #: src/pages/Index/Settings/SystemSettings.tsx:167 -#: src/pages/part/CategoryDetail.tsx:109 -#: src/pages/part/CategoryDetail.tsx:234 -#: src/pages/part/CategoryDetail.tsx:264 -#: src/pages/part/PartDetail.tsx:638 +#: src/pages/part/CategoryDetail.tsx:110 +#: src/pages/part/CategoryDetail.tsx:235 +#: src/pages/part/CategoryDetail.tsx:265 +#: src/pages/part/PartDetail.tsx:639 msgid "Parts" msgstr "" -#: src/components/render/ModelType.tsx:29 +#: src/components/render/ModelType.tsx:31 msgid "Part Parameter Template" msgstr "" -#: src/components/render/ModelType.tsx:30 +#: src/components/render/ModelType.tsx:32 msgid "Part Parameter Templates" msgstr "" -#: src/components/render/ModelType.tsx:36 +#: src/components/render/ModelType.tsx:38 msgid "Part Test Template" msgstr "" -#: src/components/render/ModelType.tsx:37 +#: src/components/render/ModelType.tsx:39 msgid "Part Test Templates" msgstr "" -#: src/components/render/ModelType.tsx:43 -#: src/pages/company/SupplierPartDetail.tsx:189 -#: src/pages/company/SupplierPartDetail.tsx:317 -#: src/pages/stock/StockDetail.tsx:159 +#: src/components/render/ModelType.tsx:45 +#: src/pages/company/SupplierPartDetail.tsx:190 +#: src/pages/company/SupplierPartDetail.tsx:318 +#: src/pages/stock/StockDetail.tsx:162 #: src/tables/purchasing/SupplierPartTable.tsx:68 msgid "Supplier Part" msgstr "" -#: src/components/render/ModelType.tsx:44 +#: src/components/render/ModelType.tsx:46 msgid "Supplier Parts" msgstr "" -#: src/components/render/ModelType.tsx:51 -#: src/pages/company/ManufacturerPartDetail.tsx:124 +#: src/components/render/ModelType.tsx:54 +#: src/pages/company/ManufacturerPartDetail.tsx:125 msgid "Manufacturer Part" msgstr "" -#: src/components/render/ModelType.tsx:52 +#: src/components/render/ModelType.tsx:55 msgid "Manufacturer Parts" msgstr "" -#: src/components/render/ModelType.tsx:59 -#: src/pages/part/CategoryDetail.tsx:287 +#: src/components/render/ModelType.tsx:63 +#: src/pages/part/CategoryDetail.tsx:288 msgid "Part Category" msgstr "" -#: src/components/render/ModelType.tsx:67 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67 -#: src/pages/stock/StockDetail.tsx:535 +#: src/components/render/ModelType.tsx:72 +#: src/pages/stock/StockDetail.tsx:548 +#: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" msgstr "" -#: src/components/render/ModelType.tsx:68 -#: src/pages/company/CompanyDetail.tsx:197 -#: src/pages/stock/LocationDetail.tsx:116 -#: src/pages/stock/LocationDetail.tsx:161 +#: src/components/render/ModelType.tsx:73 +#: src/pages/company/CompanyDetail.tsx:199 +#: src/pages/stock/LocationDetail.tsx:118 +#: src/pages/stock/LocationDetail.tsx:171 #: src/pages/stock/LocationDetail.tsx:365 msgid "Stock Items" msgstr "" -#: src/components/render/ModelType.tsx:75 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:154 +#: src/components/render/ModelType.tsx:81 msgid "Stock Location" msgstr "" -#: src/components/render/ModelType.tsx:83 +#: src/components/render/ModelType.tsx:90 +msgid "Stock Location Type" +msgstr "" + +#: src/components/render/ModelType.tsx:91 +msgid "Stock Location Types" +msgstr "" + +#: src/components/render/ModelType.tsx:95 msgid "Stock History" msgstr "" -#: src/components/render/ModelType.tsx:84 +#: src/components/render/ModelType.tsx:96 msgid "Stock Histories" msgstr "" -#: src/components/render/ModelType.tsx:88 +#: src/components/render/ModelType.tsx:100 #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:43 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:126 msgid "Build" msgstr "" -#: src/components/render/ModelType.tsx:89 +#: src/components/render/ModelType.tsx:101 msgid "Builds" msgstr "" -#: src/components/render/ModelType.tsx:96 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:76 +#: src/components/render/ModelType.tsx:109 msgid "Build Line" msgstr "" -#: src/components/render/ModelType.tsx:97 +#: src/components/render/ModelType.tsx:110 msgid "Build Lines" msgstr "" -#: src/components/render/ModelType.tsx:104 -#: src/pages/company/CompanyDetail.tsx:321 +#: src/components/render/ModelType.tsx:117 +#: src/pages/company/CompanyDetail.tsx:323 msgid "Company" msgstr "" -#: src/components/render/ModelType.tsx:105 +#: src/components/render/ModelType.tsx:118 msgid "Companies" msgstr "" -#: src/components/render/ModelType.tsx:112 +#: src/components/render/ModelType.tsx:126 #: src/tables/TableHoverCard.tsx:58 #: src/tables/build/BuildOrderTable.tsx:131 #: src/tables/purchasing/PurchaseOrderTable.tsx:64 @@ -1196,170 +1242,199 @@ msgstr "" msgid "Project Code" msgstr "" -#: src/components/render/ModelType.tsx:113 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:97 +#: src/components/render/ModelType.tsx:127 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:105 msgid "Project Codes" msgstr "" -#: src/components/render/ModelType.tsx:119 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99 +#: src/components/render/ModelType.tsx:133 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:355 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:362 +#: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" msgstr "" -#: src/components/render/ModelType.tsx:120 -#: src/pages/Index/Settings/SystemSettings.tsx:242 -#: src/pages/company/CompanyDetail.tsx:190 -#: src/pages/company/SupplierPartDetail.tsx:223 -#: src/pages/part/PartDetail.tsx:571 +#: src/components/render/ModelType.tsx:134 +#: src/pages/Index/Settings/SystemSettings.tsx:243 +#: src/pages/company/CompanyDetail.tsx:192 +#: src/pages/company/SupplierPartDetail.tsx:224 +#: src/pages/part/PartDetail.tsx:572 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" -#: src/components/render/ModelType.tsx:127 +#: src/components/render/ModelType.tsx:142 msgid "Purchase Order Line" msgstr "" -#: src/components/render/ModelType.tsx:128 +#: src/components/render/ModelType.tsx:143 msgid "Purchase Order Lines" msgstr "" -#: src/components/render/ModelType.tsx:132 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:108 +#: src/components/render/ModelType.tsx:147 #: src/pages/build/BuildDetail.tsx:131 -#: src/pages/sales/SalesOrderDetail.tsx:340 -#: src/pages/stock/StockDetail.tsx:207 +#: src/pages/sales/SalesOrderDetail.tsx:347 +#: src/pages/stock/StockDetail.tsx:210 +#: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" msgstr "" -#: src/components/render/ModelType.tsx:133 -#: src/pages/Index/Settings/SystemSettings.tsx:257 -#: src/pages/company/CompanyDetail.tsx:210 -#: src/pages/part/PartDetail.tsx:577 +#: src/components/render/ModelType.tsx:148 +#: src/pages/Index/Settings/SystemSettings.tsx:258 +#: src/pages/company/CompanyDetail.tsx:212 +#: src/pages/part/PartDetail.tsx:578 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" -#: src/components/render/ModelType.tsx:140 +#: src/components/render/ModelType.tsx:156 msgid "Sales Order Shipment" msgstr "" -#: src/components/render/ModelType.tsx:141 +#: src/components/render/ModelType.tsx:157 msgid "Sales Order Shipments" msgstr "" -#: src/components/render/ModelType.tsx:147 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:117 -#: src/pages/sales/ReturnOrderDetail.tsx:318 +#: src/components/render/ModelType.tsx:163 +#: src/pages/sales/ReturnOrderDetail.tsx:325 +#: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "" -#: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:272 -#: src/pages/company/CompanyDetail.tsx:217 +#: src/components/render/ModelType.tsx:164 +#: src/pages/Index/Settings/SystemSettings.tsx:273 +#: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" msgstr "" -#: src/components/render/ModelType.tsx:155 +#: src/components/render/ModelType.tsx:172 #: src/tables/company/AddressTable.tsx:47 msgid "Address" msgstr "" -#: src/components/render/ModelType.tsx:156 -#: src/pages/company/CompanyDetail.tsx:247 +#: src/components/render/ModelType.tsx:173 +#: src/pages/company/CompanyDetail.tsx:249 msgid "Addresses" msgstr "" -#: src/components/render/ModelType.tsx:162 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:189 -#: src/pages/sales/ReturnOrderDetail.tsx:157 -#: src/pages/sales/SalesOrderDetail.tsx:161 +#: src/components/render/ModelType.tsx:179 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:191 +#: src/pages/sales/ReturnOrderDetail.tsx:159 +#: src/pages/sales/SalesOrderDetail.tsx:163 msgid "Contact" msgstr "" -#: src/components/render/ModelType.tsx:163 -#: src/pages/company/CompanyDetail.tsx:241 +#: src/components/render/ModelType.tsx:180 +#: src/pages/company/CompanyDetail.tsx:243 msgid "Contacts" msgstr "" -#: src/components/render/ModelType.tsx:169 +#: src/components/render/ModelType.tsx:186 msgid "Owner" msgstr "" -#: src/components/render/ModelType.tsx:170 +#: src/components/render/ModelType.tsx:187 msgid "Owners" msgstr "" -#: src/components/render/ModelType.tsx:176 +#: src/components/render/ModelType.tsx:193 +#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "" -#: src/components/render/ModelType.tsx:177 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:73 +#: src/components/render/ModelType.tsx:194 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:81 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "" -#: src/components/render/Order.tsx:87 +#: src/components/render/ModelType.tsx:200 +msgid "Label Template" +msgstr "" + +#: src/components/render/ModelType.tsx:201 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:135 +msgid "Label Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:207 +msgid "Report Template" +msgstr "" + +#: src/components/render/ModelType.tsx:208 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:141 +msgid "Report Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:214 +msgid "Plugin Configuration" +msgstr "" + +#: src/components/render/ModelType.tsx:215 +msgid "Plugin Configurations" +msgstr "" + +#: src/components/render/Order.tsx:104 msgid "Shipment" msgstr "" -#: src/components/render/Part.tsx:12 +#: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:198 -#: src/pages/part/PartDetail.tsx:491 +#: src/pages/Index/Settings/SystemSettings.tsx:199 +#: src/pages/part/PartDetail.tsx:492 #: src/pages/stock/LocationDetail.tsx:344 -#: src/pages/stock/StockDetail.tsx:344 +#: src/pages/stock/StockDetail.tsx:352 #: src/tables/stock/StockItemTable.tsx:57 msgid "Stock" msgstr "" -#: src/components/render/Stock.tsx:26 -#: src/pages/stock/StockDetail.tsx:142 -#: src/pages/stock/StockDetail.tsx:501 +#: src/components/render/Stock.tsx:52 +#: src/pages/stock/StockDetail.tsx:145 +#: src/pages/stock/StockDetail.tsx:514 msgid "Serial Number" msgstr "" -#: src/components/render/Stock.tsx:28 -#: src/forms/BuildForms.tsx:189 +#: src/components/render/Stock.tsx:54 +#: src/forms/BuildForms.tsx:206 #: src/pages/part/pricing/BomPricingPanel.tsx:144 -#: src/pages/part/pricing/PriceBreakPanel.tsx:96 -#: src/pages/stock/StockDetail.tsx:137 -#: src/pages/stock/StockDetail.tsx:507 +#: src/pages/part/pricing/PriceBreakPanel.tsx:94 +#: src/pages/stock/StockDetail.tsx:140 +#: src/pages/stock/StockDetail.tsx:520 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:73 +#: src/tables/stock/StockTrackingTable.tsx:59 msgid "Quantity" msgstr "" -#: src/components/settings/SettingItem.tsx:46 -#: src/components/settings/SettingItem.tsx:99 -msgid "Setting updated" -msgstr "" - #: src/components/settings/SettingItem.tsx:47 #: src/components/settings/SettingItem.tsx:100 -msgid "{0} updated successfully" -msgstr "" +#~ msgid "{0} updated successfully" +#~ msgstr "{0} updated successfully" -#: src/components/settings/SettingItem.tsx:55 -msgid "Error editing setting" -msgstr "" - -#: src/components/settings/SettingItem.tsx:92 +#: src/components/settings/SettingList.tsx:67 msgid "Edit Setting" msgstr "" -#: src/components/settings/SettingList.tsx:63 -msgid "No settings specified" +#: src/components/settings/SettingList.tsx:78 +#: src/components/settings/SettingList.tsx:108 +msgid "Setting {0} updated successfully" msgstr "" -#: src/components/tables/ColumnRenderers.tsx:134 -#~ msgid "Shipment Date" -#~ msgstr "Shipment Date" +#: src/components/settings/SettingList.tsx:107 +msgid "Setting updated" +msgstr "" + +#: src/components/settings/SettingList.tsx:117 +msgid "Error editing setting" +msgstr "" + +#: src/components/settings/SettingList.tsx:158 +msgid "No settings specified" +msgstr "" #: src/components/tables/FilterGroup.tsx:29 #~ msgid "Add table filter" @@ -1731,10 +1806,6 @@ msgstr "" #~ msgid "This is a test filter" #~ msgstr "This is a test filter" -#: src/components/tables/stock/StockLocationTable.tsx:91 -#~ msgid "Location Type" -#~ msgstr "Location Type" - #: src/components/tables/stock/StockLocationTable.tsx:145 #~ msgid "Stock location updated" #~ msgstr "Stock location updated" @@ -2072,7 +2143,7 @@ msgstr "" #~ msgstr "Local Server" #: src/defaults/links.tsx:11 -#: src/pages/company/CompanyDetail.tsx:90 +#: src/pages/company/CompanyDetail.tsx:92 msgid "Website" msgstr "" @@ -2087,10 +2158,10 @@ msgstr "" #: src/defaults/links.tsx:31 #: src/defaults/menuItems.tsx:48 #: src/pages/company/ManufacturerDetail.tsx:9 -#: src/pages/company/ManufacturerPartDetail.tsx:231 +#: src/pages/company/ManufacturerPartDetail.tsx:235 #: src/pages/company/SupplierDetail.tsx:9 -#: src/pages/company/SupplierPartDetail.tsx:291 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:358 +#: src/pages/company/SupplierPartDetail.tsx:292 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:365 #: src/pages/purchasing/PurchasingIndex.tsx:52 msgid "Purchasing" msgstr "" @@ -2098,15 +2169,15 @@ msgstr "" #: src/defaults/links.tsx:32 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:323 +#: src/pages/sales/ReturnOrderDetail.tsx:330 #: src/pages/sales/SalesIndex.tsx:45 -#: src/pages/sales/SalesOrderDetail.tsx:345 +#: src/pages/sales/SalesOrderDetail.tsx:352 msgid "Sales" msgstr "" #: src/defaults/links.tsx:35 #: src/defaults/menuItems.tsx:71 -#: src/pages/Index/Playground.tsx:239 +#: src/pages/Index/Playground.tsx:238 msgid "Playground" msgstr "" @@ -2240,87 +2311,83 @@ msgstr "" #~ msgstr "Combusken battles with the intensely hot flames it spews" #: src/forms/AttachmentForms.tsx:57 -msgid "Add File" -msgstr "" +#~ msgid "Add File" +#~ msgstr "Add File" #: src/forms/AttachmentForms.tsx:57 -msgid "Add Link" -msgstr "" +#~ msgid "Add Link" +#~ msgstr "Add Link" #: src/forms/AttachmentForms.tsx:58 -msgid "File added" -msgstr "" +#~ msgid "File added" +#~ msgstr "File added" #: src/forms/AttachmentForms.tsx:58 -msgid "Link added" -msgstr "" +#~ msgid "Link added" +#~ msgstr "Link added" #: src/forms/AttachmentForms.tsx:99 -msgid "Edit File" -msgstr "" +#~ msgid "Edit File" +#~ msgstr "Edit File" #: src/forms/AttachmentForms.tsx:99 -msgid "Edit Link" -msgstr "" +#~ msgid "Edit Link" +#~ msgstr "Edit Link" #: src/forms/AttachmentForms.tsx:100 -msgid "File updated" -msgstr "" +#~ msgid "File updated" +#~ msgstr "File updated" #: src/forms/AttachmentForms.tsx:100 -msgid "Link updated" -msgstr "" - -#: src/forms/AttachmentForms.tsx:124 -msgid "Delete Attachment" -msgstr "" +#~ msgid "Link updated" +#~ msgstr "Link updated" #: src/forms/AttachmentForms.tsx:125 -msgid "Attachment deleted" -msgstr "" +#~ msgid "Attachment deleted" +#~ msgstr "Attachment deleted" #: src/forms/AttachmentForms.tsx:128 -msgid "Are you sure you want to delete this attachment?" -msgstr "" +#~ msgid "Are you sure you want to delete this attachment?" +#~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BuildForms.tsx:129 +#: src/forms/BuildForms.tsx:146 msgid "Next serial number" msgstr "" -#: src/forms/BuildForms.tsx:133 +#: src/forms/BuildForms.tsx:150 msgid "Latest serial number" msgstr "" -#: src/forms/BuildForms.tsx:205 +#: src/forms/BuildForms.tsx:222 msgid "Remove output" msgstr "" -#: src/forms/BuildForms.tsx:287 +#: src/forms/BuildForms.tsx:304 msgid "Complete Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:291 +#: src/forms/BuildForms.tsx:308 msgid "Build outputs have been completed" msgstr "" -#: src/forms/BuildForms.tsx:360 +#: src/forms/BuildForms.tsx:377 msgid "Scrap Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:364 +#: src/forms/BuildForms.tsx:381 msgid "Build outputs have been scrapped" msgstr "" -#: src/forms/BuildForms.tsx:396 -#: src/forms/BuildForms.tsx:420 +#: src/forms/BuildForms.tsx:413 +#: src/forms/BuildForms.tsx:437 msgid "Cancel Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:397 +#: src/forms/BuildForms.tsx:414 msgid "Selected build outputs will be deleted" msgstr "" -#: src/forms/BuildForms.tsx:424 +#: src/forms/BuildForms.tsx:441 msgid "Build outputs have been cancelled" msgstr "" @@ -2344,76 +2411,76 @@ msgstr "" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PurchaseOrderForms.tsx:265 +#: src/forms/PurchaseOrderForms.tsx:279 msgid "Choose Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:273 +#: src/forms/PurchaseOrderForms.tsx:287 msgid "Item Destination selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:282 +#: src/forms/PurchaseOrderForms.tsx:296 msgid "Part category default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:292 +#: src/forms/PurchaseOrderForms.tsx:306 msgid "Received stock location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:297 +#: src/forms/PurchaseOrderForms.tsx:311 msgid "Default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:308 -#: src/forms/PurchaseOrderForms.tsx:384 +#: src/forms/PurchaseOrderForms.tsx:322 +#: src/forms/PurchaseOrderForms.tsx:398 msgid "Scan Barcode" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:352 +#: src/forms/PurchaseOrderForms.tsx:366 msgid "Set Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:359 +#: src/forms/PurchaseOrderForms.tsx:373 msgid "Assign Batch Code{0}" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:368 +#: src/forms/PurchaseOrderForms.tsx:382 msgid "Change Status" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:393 -#: src/forms/StockForms.tsx:351 +#: src/forms/PurchaseOrderForms.tsx:407 +#: src/forms/StockForms.tsx:392 msgid "Remove item from list" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:418 -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:58 -#: src/pages/stock/StockDetail.tsx:167 -#: src/tables/ColumnRenderers.tsx:42 +#: src/forms/PurchaseOrderForms.tsx:432 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/pages/stock/StockDetail.tsx:170 +#: src/tables/ColumnRenderers.tsx:34 +#: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:434 +#: src/forms/PurchaseOrderForms.tsx:448 msgid "Store at default location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:447 +#: src/forms/PurchaseOrderForms.tsx:461 msgid "Store at line item destination" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:457 +#: src/forms/PurchaseOrderForms.tsx:471 msgid "Store with already received stock" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:613 +#: src/forms/PurchaseOrderForms.tsx:627 msgid "Receive Line Items" msgstr "" @@ -2421,119 +2488,118 @@ msgstr "" #~ msgid "Receive line items" #~ msgstr "Receive line items" -#: src/forms/StockForms.tsx:69 +#: src/forms/StockForms.tsx:101 msgid "Add given quantity as packs instead of individual items" msgstr "" -#: src/forms/StockForms.tsx:80 -msgid "Enter initial quantity for this stock item" -msgstr "" - -#: src/forms/StockForms.tsx:85 -msgid "Serial Numbers" -msgstr "" - -#: src/forms/StockForms.tsx:86 -msgid "Enter serial numbers for new stock (or leave blank)" -msgstr "" - #: src/forms/StockForms.tsx:110 #~ msgid "Create Stock Item" #~ msgstr "Create Stock Item" -#: src/forms/StockForms.tsx:135 -#: src/pages/stock/StockDetail.tsx:367 -#: src/tables/stock/StockItemTable.tsx:382 -#: src/tables/stock/StockItemTable.tsx:499 -msgid "Add Stock Item" +#: src/forms/StockForms.tsx:114 +msgid "Enter initial quantity for this stock item" +msgstr "" + +#: src/forms/StockForms.tsx:121 +msgid "Serial Numbers" +msgstr "" + +#: src/forms/StockForms.tsx:122 +msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" #: src/forms/StockForms.tsx:158 #~ msgid "Stock item updated" #~ msgstr "Stock item updated" -#: src/forms/StockForms.tsx:298 +#: src/forms/StockForms.tsx:176 +#: src/pages/stock/StockDetail.tsx:375 +#: src/tables/stock/StockItemTable.tsx:382 +#: src/tables/stock/StockItemTable.tsx:499 +msgid "Add Stock Item" +msgstr "" + +#: src/forms/StockForms.tsx:339 msgid "Loading..." msgstr "" -#: src/forms/StockForms.tsx:340 +#: src/forms/StockForms.tsx:381 msgid "Move to default location" msgstr "" -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/part/PartDetail.tsx:205 -#: src/pages/part/PartDetail.tsx:654 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/pages/part/PartDetail.tsx:206 +#: src/pages/part/PartDetail.tsx:655 #: src/tables/stock/StockItemTable.tsx:290 msgid "In Stock" msgstr "" -#: src/forms/StockForms.tsx:408 +#: src/forms/StockForms.tsx:449 msgid "Move" msgstr "" -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/tables/RowActions.tsx:147 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/tables/RowActions.tsx:149 msgid "Actions" msgstr "" -#: src/forms/StockForms.tsx:471 -#: src/pages/stock/StockDetail.tsx:440 -#: src/tables/settings/TemplateTable.tsx:266 -#: src/tables/stock/StockItemTestResultTable.tsx:348 +#: src/forms/StockForms.tsx:512 +#: src/pages/stock/StockDetail.tsx:454 +#: src/tables/stock/StockItemTestResultTable.tsx:339 msgid "Add" msgstr "" -#: src/forms/StockForms.tsx:499 +#: src/forms/StockForms.tsx:540 #: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:430 +#: src/pages/stock/StockDetail.tsx:444 msgid "Count" msgstr "" -#: src/forms/StockForms.tsx:744 +#: src/forms/StockForms.tsx:785 msgid "Add Stock" msgstr "" -#: src/forms/StockForms.tsx:753 +#: src/forms/StockForms.tsx:794 msgid "Remove Stock" msgstr "" -#: src/forms/StockForms.tsx:762 -#: src/pages/part/PartDetail.tsx:781 +#: src/forms/StockForms.tsx:803 +#: src/pages/part/PartDetail.tsx:782 msgid "Transfer Stock" msgstr "" -#: src/forms/StockForms.tsx:771 -#: src/pages/part/PartDetail.tsx:770 +#: src/forms/StockForms.tsx:812 +#: src/pages/part/PartDetail.tsx:771 msgid "Count Stock" msgstr "" -#: src/forms/StockForms.tsx:780 +#: src/forms/StockForms.tsx:821 msgid "Change Stock Status" msgstr "" -#: src/forms/StockForms.tsx:789 +#: src/forms/StockForms.tsx:830 msgid "Merge Stock" msgstr "" -#: src/forms/StockForms.tsx:808 +#: src/forms/StockForms.tsx:849 msgid "Delete Stock Items" msgstr "" -#: src/forms/StockForms.tsx:815 +#: src/forms/StockForms.tsx:856 msgid "Parent stock location" msgstr "" @@ -2728,7 +2794,7 @@ msgstr "" msgid "Welcome to your Dashboard{0}" msgstr "" -#: src/pages/Index/Playground.tsx:244 +#: src/pages/Index/Playground.tsx:243 msgid "This page is a showcase for the possibilities of Platform UI." msgstr "" @@ -3138,49 +3204,53 @@ msgstr "" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:79 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:87 msgid "Background Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:85 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:93 msgid "Error Reports" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:91 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:99 msgid "Currencies" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:109 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:117 msgid "Custom Units" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:115 -#: src/pages/part/CategoryDetail.tsx:254 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:123 +#: src/pages/part/CategoryDetail.tsx:255 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:121 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 +#~ msgid "Templates" +#~ msgstr "Templates" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:129 msgid "Category Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 -msgid "Templates" +#: src/pages/Index/Settings/AdminCenter/Index.tsx:147 +msgid "Location types" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:139 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:159 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:149 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:169 msgid "Quick Actions" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:154 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 msgid "Add a new user" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:173 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:193 msgid "Advanced Options" msgstr "" @@ -3225,26 +3295,32 @@ msgstr "" msgid "Plugin Settings" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:25 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:53 +msgid "Background Worker Not Running" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:54 +msgid "The background task manager service is not running. Contact your system administrator." +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:60 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:76 msgid "Pending Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:33 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:64 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:84 msgid "Scheduled Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:41 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:68 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:92 msgid "Failed Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:139 -msgid "Labels" -msgstr "" - #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:39 -msgid "Label" -msgstr "" +#~ msgid "Label" +#~ msgstr "Label" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67 #~ msgid "Stock item" @@ -3255,13 +3331,13 @@ msgstr "" #~ msgstr "Build line" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:88 -msgid "Reports" -msgstr "" +#~ msgid "Reports" +#~ msgstr "Reports" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:89 #: src/pages/build/BuildDetail.tsx:373 -msgid "Report" -msgstr "" +#~ msgid "Report" +#~ msgstr "Report" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99 #~ msgid "Purchase order" @@ -3275,14 +3351,9 @@ msgstr "" #~ msgid "Return order" #~ msgstr "Return order" -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135 -#: src/pages/part/PartDetail.tsx:518 -msgid "Bill of Materials" -msgstr "" - #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:145 -msgid "Tests" -msgstr "" +#~ msgid "Tests" +#~ msgstr "Tests" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:154 #~ msgid "Stock location" @@ -3321,26 +3392,30 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" +#: src/pages/Index/Settings/SystemSettings.tsx:139 +msgid "Labels" +msgstr "" + #: src/pages/Index/Settings/SystemSettings.tsx:145 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:223 -#: src/pages/part/PartDetail.tsx:589 +#: src/pages/Index/Settings/SystemSettings.tsx:224 +#: src/pages/part/PartDetail.tsx:590 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:228 -#: src/pages/build/BuildDetail.tsx:426 +#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:525 -#: src/pages/sales/SalesOrderDetail.tsx:263 +#: src/pages/part/PartDetail.tsx:526 +#: src/pages/sales/SalesOrderDetail.tsx:265 msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:296 +#: src/pages/Index/Settings/SystemSettings.tsx:297 msgid "Switch to User Setting" msgstr "" @@ -3397,44 +3472,47 @@ msgstr "" #~ msgstr "Build Status" #: src/pages/build/BuildDetail.tsx:89 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:128 -#: src/pages/sales/ReturnOrderDetail.tsx:95 -#: src/pages/sales/SalesOrderDetail.tsx:99 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:130 +#: src/pages/sales/ReturnOrderDetail.tsx:97 +#: src/pages/sales/SalesOrderDetail.tsx:101 #: src/tables/build/BuildOrderTable.tsx:113 #: src/tables/machine/MachineListTable.tsx:326 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderTable.tsx:46 #: src/tables/sales/SalesOrderTable.tsx:52 #: src/tables/stock/StockItemTable.tsx:259 +#: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "" #: src/pages/build/BuildDetail.tsx:95 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:101 -#: src/pages/sales/ReturnOrderDetail.tsx:69 -#: src/pages/sales/SalesOrderDetail.tsx:73 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:103 +#: src/pages/sales/ReturnOrderDetail.tsx:71 +#: src/pages/sales/SalesOrderDetail.tsx:75 +#: src/tables/ColumnRenderers.tsx:106 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" msgstr "" #: src/pages/build/BuildDetail.tsx:100 -#: src/pages/company/CompanyDetail.tsx:84 -#: src/pages/company/ManufacturerPartDetail.tsx:75 -#: src/pages/company/SupplierPartDetail.tsx:82 -#: src/pages/part/CategoryDetail.tsx:91 -#: src/pages/part/PartDetail.tsx:132 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:122 -#: src/pages/sales/ReturnOrderDetail.tsx:89 -#: src/pages/sales/SalesOrderDetail.tsx:93 -#: src/pages/stock/LocationDetail.tsx:97 -#: src/tables/ColumnRenderers.tsx:95 +#: src/pages/company/CompanyDetail.tsx:86 +#: src/pages/company/ManufacturerPartDetail.tsx:76 +#: src/pages/company/SupplierPartDetail.tsx:83 +#: src/pages/part/CategoryDetail.tsx:92 +#: src/pages/part/PartDetail.tsx:133 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:124 +#: src/pages/sales/ReturnOrderDetail.tsx:91 +#: src/pages/sales/SalesOrderDetail.tsx:95 +#: src/pages/stock/LocationDetail.tsx:99 +#: src/tables/ColumnRenderers.tsx:66 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 #: src/tables/machine/MachineTypeTable.tsx:323 #: src/tables/part/RelatedPartTable.tsx:64 -#: src/tables/plugin/PluginListTable.tsx:172 -#: src/tables/plugin/PluginListTable.tsx:302 +#: src/tables/plugin/PluginListTable.tsx:129 +#: src/tables/plugin/PluginListTable.tsx:276 +#: src/tables/stock/LocationTypesTable.tsx:65 msgid "Description" msgstr "" @@ -3447,7 +3525,7 @@ msgid "Build Quantity" msgstr "" #: src/pages/build/BuildDetail.tsx:126 -#: src/pages/build/BuildDetail.tsx:249 +#: src/pages/build/BuildDetail.tsx:256 msgid "Completed Outputs" msgstr "" @@ -3457,10 +3535,10 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:150 -#: src/pages/part/PartDetail.tsx:320 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:214 -#: src/pages/sales/ReturnOrderDetail.tsx:182 -#: src/pages/sales/SalesOrderDetail.tsx:186 +#: src/pages/part/PartDetail.tsx:321 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:184 +#: src/pages/sales/SalesOrderDetail.tsx:188 #: src/tables/build/BuildOrderTable.tsx:148 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 @@ -3474,10 +3552,10 @@ msgid "Created" msgstr "" #: src/pages/build/BuildDetail.tsx:164 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:207 -#: src/pages/sales/ReturnOrderDetail.tsx:175 -#: src/pages/sales/SalesOrderDetail.tsx:179 -#: src/tables/ColumnRenderers.tsx:227 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:209 +#: src/pages/sales/ReturnOrderDetail.tsx:177 +#: src/pages/sales/SalesOrderDetail.tsx:181 +#: src/tables/ColumnRenderers.tsx:191 msgid "Target Date" msgstr "" @@ -3513,6 +3591,11 @@ msgstr "" #~ msgid "Unlink custom barcode from part" #~ msgstr "Unlink custom barcode from part" +#: src/pages/build/BuildDetail.tsx:197 +#: src/pages/stock/StockDetail.tsx:526 +msgid "Batch Code" +msgstr "" + #: src/pages/build/BuildDetail.tsx:202 #~ msgid "Build Order updated" #~ msgstr "Build Order updated" @@ -3521,86 +3604,87 @@ msgstr "" #~ msgid "Edit build order" #~ msgstr "Edit build order" -#: src/pages/build/BuildDetail.tsx:222 -msgid "Build Details" -msgstr "" - #: src/pages/build/BuildDetail.tsx:226 #~ msgid "Duplicate build order" #~ msgstr "Duplicate build order" -#: src/pages/build/BuildDetail.tsx:228 -#: src/tables/build/BuildLineTable.tsx:225 -msgid "Allocate Stock" +#: src/pages/build/BuildDetail.tsx:229 +msgid "Build Details" msgstr "" #: src/pages/build/BuildDetail.tsx:231 #~ msgid "Delete build order" #~ msgstr "Delete build order" -#: src/pages/build/BuildDetail.tsx:242 +#: src/pages/build/BuildDetail.tsx:235 +#: src/tables/build/BuildLineTable.tsx:225 +msgid "Allocate Stock" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:249 msgid "Incomplete Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:264 +#: src/pages/build/BuildDetail.tsx:271 msgid "Consumed Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:278 +#: src/pages/build/BuildDetail.tsx:285 msgid "Child Build Orders" msgstr "" -#: src/pages/build/BuildDetail.tsx:288 -#: src/pages/company/CompanyDetail.tsx:253 -#: src/pages/company/ManufacturerPartDetail.tsx:171 -#: src/pages/part/PartDetail.tsx:611 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:276 -#: src/pages/sales/ReturnOrderDetail.tsx:225 -#: src/pages/sales/SalesOrderDetail.tsx:273 -#: src/pages/stock/StockDetail.tsx:317 +#: src/pages/build/BuildDetail.tsx:295 +#: src/pages/company/CompanyDetail.tsx:255 +#: src/pages/company/ManufacturerPartDetail.tsx:172 +#: src/pages/part/PartDetail.tsx:612 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:278 +#: src/pages/sales/ReturnOrderDetail.tsx:227 +#: src/pages/sales/SalesOrderDetail.tsx:275 +#: src/pages/stock/StockDetail.tsx:325 msgid "Attachments" msgstr "" -#: src/pages/build/BuildDetail.tsx:300 -#: src/pages/company/CompanyDetail.tsx:265 -#: src/pages/part/PartDetail.tsx:623 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:288 -#: src/pages/sales/ReturnOrderDetail.tsx:237 -#: src/pages/sales/SalesOrderDetail.tsx:285 -#: src/pages/stock/StockDetail.tsx:329 +#: src/pages/build/BuildDetail.tsx:307 +#: src/pages/company/CompanyDetail.tsx:267 +#: src/pages/part/PartDetail.tsx:624 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:290 +#: src/pages/sales/ReturnOrderDetail.tsx:239 +#: src/pages/sales/SalesOrderDetail.tsx:287 +#: src/pages/stock/StockDetail.tsx:337 +#: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "" -#: src/pages/build/BuildDetail.tsx:318 +#: src/pages/build/BuildDetail.tsx:325 msgid "Edit Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:327 +#: src/pages/build/BuildDetail.tsx:334 msgid "Cancel Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:339 +#: src/pages/build/BuildDetail.tsx:346 #: src/tables/build/BuildOrderTable.tsx:167 #: src/tables/build/BuildOrderTable.tsx:182 msgid "Add Build Order" msgstr "" #: src/pages/build/BuildDetail.tsx:368 -msgid "Reporting Actions" -msgstr "" +#~ msgid "Reporting Actions" +#~ msgstr "Reporting Actions" #: src/pages/build/BuildDetail.tsx:374 -msgid "Print build report" -msgstr "" +#~ msgid "Print build report" +#~ msgstr "Print build report" -#: src/pages/build/BuildDetail.tsx:380 +#: src/pages/build/BuildDetail.tsx:378 msgid "Build Order Actions" msgstr "" -#: src/pages/build/BuildDetail.tsx:388 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:326 -#: src/pages/sales/ReturnOrderDetail.tsx:300 -#: src/pages/sales/SalesOrderDetail.tsx:310 +#: src/pages/build/BuildDetail.tsx:386 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:333 +#: src/pages/sales/ReturnOrderDetail.tsx:307 +#: src/pages/sales/SalesOrderDetail.tsx:317 msgid "Cancel order" msgstr "" @@ -3612,56 +3696,58 @@ msgstr "" #~ msgid "New Build Order" #~ msgstr "New Build Order" -#: src/pages/company/CompanyDetail.tsx:98 +#: src/pages/company/CompanyDetail.tsx:100 msgid "Phone Number" msgstr "" -#: src/pages/company/CompanyDetail.tsx:105 +#: src/pages/company/CompanyDetail.tsx:107 msgid "Email Address" msgstr "" -#: src/pages/company/CompanyDetail.tsx:115 +#: src/pages/company/CompanyDetail.tsx:117 msgid "Default Currency" msgstr "" -#: src/pages/company/CompanyDetail.tsx:120 +#: src/pages/company/CompanyDetail.tsx:122 #: src/pages/company/SupplierDetail.tsx:8 -#: src/pages/company/SupplierPartDetail.tsx:106 -#: src/pages/company/SupplierPartDetail.tsx:192 -#: src/pages/company/SupplierPartDetail.tsx:295 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:116 +#: src/pages/company/SupplierPartDetail.tsx:107 +#: src/pages/company/SupplierPartDetail.tsx:193 +#: src/pages/company/SupplierPartDetail.tsx:296 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:118 #: src/tables/company/CompanyTable.tsx:100 #: src/tables/purchasing/PurchaseOrderTable.tsx:88 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:36 msgid "Supplier" msgstr "" -#: src/pages/company/CompanyDetail.tsx:126 +#: src/pages/company/CompanyDetail.tsx:128 #: src/pages/company/ManufacturerDetail.tsx:8 -#: src/pages/company/ManufacturerPartDetail.tsx:93 -#: src/pages/company/ManufacturerPartDetail.tsx:235 -#: src/pages/company/SupplierPartDetail.tsx:121 +#: src/pages/company/ManufacturerPartDetail.tsx:94 +#: src/pages/company/ManufacturerPartDetail.tsx:239 +#: src/pages/company/SupplierPartDetail.tsx:122 #: src/tables/company/CompanyTable.tsx:105 msgid "Manufacturer" msgstr "" -#: src/pages/company/CompanyDetail.tsx:132 +#: src/pages/company/CompanyDetail.tsx:134 #: src/pages/company/CustomerDetail.tsx:8 #: src/pages/part/pricing/SaleHistoryPanel.tsx:39 -#: src/pages/sales/ReturnOrderDetail.tsx:83 -#: src/pages/sales/SalesOrderDetail.tsx:87 -#: src/pages/stock/StockDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:85 +#: src/pages/sales/SalesOrderDetail.tsx:89 +#: src/pages/stock/StockDetail.tsx:219 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:107 +#: src/tables/stock/StockTrackingTable.tsx:140 msgid "Customer" msgstr "" -#: src/pages/company/CompanyDetail.tsx:166 +#: src/pages/company/CompanyDetail.tsx:168 +#: src/tables/stock/StockTrackingTable.tsx:183 msgid "Details" msgstr "" -#: src/pages/company/CompanyDetail.tsx:172 +#: src/pages/company/CompanyDetail.tsx:174 msgid "Manufactured Parts" msgstr "" @@ -3669,7 +3755,7 @@ msgstr "" #~ msgid "Edit company" #~ msgstr "Edit company" -#: src/pages/company/CompanyDetail.tsx:181 +#: src/pages/company/CompanyDetail.tsx:183 msgid "Supplied Parts" msgstr "" @@ -3677,289 +3763,289 @@ msgstr "" #~ msgid "Delete company" #~ msgstr "Delete company" -#: src/pages/company/CompanyDetail.tsx:226 +#: src/pages/company/CompanyDetail.tsx:228 msgid "Assigned Stock" msgstr "" -#: src/pages/company/CompanyDetail.tsx:281 +#: src/pages/company/CompanyDetail.tsx:283 #: src/tables/company/CompanyTable.tsx:86 msgid "Edit Company" msgstr "" -#: src/pages/company/CompanyDetail.tsx:290 +#: src/pages/company/CompanyDetail.tsx:292 msgid "Company Actions" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:68 -#: src/pages/company/SupplierPartDetail.tsx:75 +#: src/pages/company/ManufacturerPartDetail.tsx:69 +#: src/pages/company/SupplierPartDetail.tsx:76 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:72 msgid "Internal Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:83 -#: src/pages/company/SupplierPartDetail.tsx:89 +#: src/pages/company/ManufacturerPartDetail.tsx:84 +#: src/pages/company/SupplierPartDetail.tsx:90 msgid "External Link" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:101 -#: src/pages/company/SupplierPartDetail.tsx:130 -#: src/tables/purchasing/ManufacturerPartTable.tsx:53 +#: src/pages/company/ManufacturerPartDetail.tsx:102 +#: src/pages/company/SupplierPartDetail.tsx:131 +#: src/tables/purchasing/ManufacturerPartTable.tsx:56 msgid "Manufacturer Part Number" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:130 +#: src/pages/company/ManufacturerPartDetail.tsx:131 msgid "Manufacturer Details" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:139 +#: src/pages/company/ManufacturerPartDetail.tsx:140 msgid "Manufacturer Part Details" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:145 -#: src/pages/part/PartDetail.tsx:485 +#: src/pages/company/ManufacturerPartDetail.tsx:146 +#: src/pages/part/PartDetail.tsx:486 msgid "Parameters" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:157 -#: src/pages/part/PartDetail.tsx:558 +#: src/pages/company/ManufacturerPartDetail.tsx:158 +#: src/pages/part/PartDetail.tsx:559 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:189 -#: src/tables/purchasing/ManufacturerPartTable.tsx:97 +#: src/pages/company/ManufacturerPartDetail.tsx:190 +#: src/tables/purchasing/ManufacturerPartTable.tsx:84 msgid "Edit Manufacturer Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:196 -#: src/tables/purchasing/ManufacturerPartTable.tsx:63 -#: src/tables/purchasing/ManufacturerPartTable.tsx:78 +#: src/pages/company/ManufacturerPartDetail.tsx:197 +#: src/tables/purchasing/ManufacturerPartTable.tsx:72 +#: src/tables/purchasing/ManufacturerPartTable.tsx:103 msgid "Add Manufacturer Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:209 +#: src/pages/company/ManufacturerPartDetail.tsx:213 msgid "Manufacturer Part Actions" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:247 +#: src/pages/company/ManufacturerPartDetail.tsx:251 msgid "ManufacturerPart" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:96 -#: src/tables/ColumnRenderers.tsx:146 +#: src/pages/company/SupplierPartDetail.tsx:97 +#: src/tables/ColumnRenderers.tsx:117 msgid "Note" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:114 +#: src/pages/company/SupplierPartDetail.tsx:115 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:57 msgid "SKU" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:142 -#: src/pages/company/SupplierPartDetail.tsx:193 -#: src/pages/stock/StockDetail.tsx:230 +#: src/pages/company/SupplierPartDetail.tsx:143 +#: src/pages/company/SupplierPartDetail.tsx:194 +#: src/pages/stock/StockDetail.tsx:233 msgid "Packaging" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:149 +#: src/pages/company/SupplierPartDetail.tsx:150 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:107 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143 #: src/tables/purchasing/SupplierPartTable.tsx:131 msgid "Pack Quantity" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:160 +#: src/pages/company/SupplierPartDetail.tsx:161 msgid "Supplier Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:167 +#: src/pages/company/SupplierPartDetail.tsx:168 msgid "Availability Updated" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:194 +#: src/pages/company/SupplierPartDetail.tsx:195 msgid "Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:203 +#: src/pages/company/SupplierPartDetail.tsx:204 msgid "Supplier Part Details" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:209 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:263 +#: src/pages/company/SupplierPartDetail.tsx:210 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:265 msgid "Received Stock" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:233 +#: src/pages/company/SupplierPartDetail.tsx:234 #: src/pages/part/PartPricingPanel.tsx:115 #: src/pages/part/pricing/PricingOverviewPanel.tsx:130 msgid "Supplier Pricing" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:248 +#: src/pages/company/SupplierPartDetail.tsx:249 msgid "Supplier Part Actions" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:272 +#: src/pages/company/SupplierPartDetail.tsx:273 #: src/tables/purchasing/SupplierPartTable.tsx:210 msgid "Edit Supplier Part" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:279 +#: src/pages/company/SupplierPartDetail.tsx:280 #: src/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "" -#: src/pages/part/CategoryDetail.tsx:83 -#: src/pages/stock/LocationDetail.tsx:89 +#: src/pages/part/CategoryDetail.tsx:84 +#: src/pages/stock/LocationDetail.tsx:91 #: src/tables/settings/ErrorTable.tsx:34 msgid "Path" msgstr "" -#: src/pages/part/CategoryDetail.tsx:99 +#: src/pages/part/CategoryDetail.tsx:100 msgid "Parent Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:116 +#: src/pages/part/CategoryDetail.tsx:117 msgid "Subcategories" msgstr "" -#: src/pages/part/CategoryDetail.tsx:123 -#: src/pages/stock/LocationDetail.tsx:129 -#: src/tables/part/PartCategoryTable.tsx:69 +#: src/pages/part/CategoryDetail.tsx:124 +#: src/pages/stock/LocationDetail.tsx:131 +#: src/tables/part/PartCategoryTable.tsx:65 msgid "Structural" msgstr "" -#: src/pages/part/CategoryDetail.tsx:129 +#: src/pages/part/CategoryDetail.tsx:130 msgid "Parent default location" msgstr "" -#: src/pages/part/CategoryDetail.tsx:136 +#: src/pages/part/CategoryDetail.tsx:137 msgid "Default location" msgstr "" -#: src/pages/part/CategoryDetail.tsx:147 +#: src/pages/part/CategoryDetail.tsx:148 msgid "Top level part category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:157 -#: src/pages/part/CategoryDetail.tsx:211 -#: src/tables/part/PartCategoryTable.tsx:96 +#: src/pages/part/CategoryDetail.tsx:158 +#: src/pages/part/CategoryDetail.tsx:212 +#: src/tables/part/PartCategoryTable.tsx:88 msgid "Edit Part Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:170 -#: src/pages/stock/LocationDetail.tsx:213 +#: src/pages/part/CategoryDetail.tsx:171 +#: src/pages/stock/LocationDetail.tsx:223 msgid "Delete items" msgstr "" -#: src/pages/part/CategoryDetail.tsx:178 -#: src/pages/part/CategoryDetail.tsx:216 +#: src/pages/part/CategoryDetail.tsx:179 +#: src/pages/part/CategoryDetail.tsx:217 msgid "Delete Part Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:181 +#: src/pages/part/CategoryDetail.tsx:182 msgid "Parts Action" msgstr "" -#: src/pages/part/CategoryDetail.tsx:182 +#: src/pages/part/CategoryDetail.tsx:183 msgid "Action for parts in this category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:187 +#: src/pages/part/CategoryDetail.tsx:188 msgid "Child Categories Action" msgstr "" -#: src/pages/part/CategoryDetail.tsx:188 +#: src/pages/part/CategoryDetail.tsx:189 msgid "Action for child categories in this category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:206 +#: src/pages/part/CategoryDetail.tsx:207 msgid "Category Actions" msgstr "" -#: src/pages/part/CategoryDetail.tsx:228 +#: src/pages/part/CategoryDetail.tsx:229 msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:138 +#: src/pages/part/PartDetail.tsx:139 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:145 +#: src/pages/part/PartDetail.tsx:146 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "" -#: src/pages/part/PartDetail.tsx:151 +#: src/pages/part/PartDetail.tsx:152 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:158 +#: src/pages/part/PartDetail.tsx:159 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:165 +#: src/pages/part/PartDetail.tsx:166 msgid "IPN" msgstr "" -#: src/pages/part/PartDetail.tsx:172 +#: src/pages/part/PartDetail.tsx:173 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:179 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39 +#: src/pages/part/PartDetail.tsx:180 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "" -#: src/pages/part/PartDetail.tsx:186 +#: src/pages/part/PartDetail.tsx:187 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:193 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:180 -#: src/pages/sales/ReturnOrderDetail.tsx:148 -#: src/pages/sales/SalesOrderDetail.tsx:152 +#: src/pages/part/PartDetail.tsx:194 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:182 +#: src/pages/sales/ReturnOrderDetail.tsx:150 +#: src/pages/sales/SalesOrderDetail.tsx:154 msgid "Link" msgstr "" -#: src/pages/part/PartDetail.tsx:211 -#: src/tables/bom/BomTable.tsx:269 +#: src/pages/part/PartDetail.tsx:212 +#: src/tables/bom/BomTable.tsx:271 #: src/tables/build/BuildLineTable.tsx:121 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:218 +#: src/pages/part/PartDetail.tsx:219 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:224 -#: src/tables/bom/BomTable.tsx:210 +#: src/pages/part/PartDetail.tsx:225 +#: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:233 +#: src/pages/part/PartDetail.tsx:234 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:241 +#: src/pages/part/PartDetail.tsx:242 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:248 -#: src/tables/bom/BomTable.tsx:234 +#: src/pages/part/PartDetail.tsx:249 +#: src/tables/bom/BomTable.tsx:236 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:255 -#: src/tables/bom/BomTable.tsx:218 +#: src/pages/part/PartDetail.tsx:256 +#: src/tables/bom/BomTable.tsx:220 #: src/tables/part/PartTable.tsx:82 msgid "Building" msgstr "" -#: src/pages/part/PartDetail.tsx:264 +#: src/pages/part/PartDetail.tsx:265 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 @@ -3968,45 +4054,47 @@ msgstr "" #: src/tables/machine/MachineListTable.tsx:585 #: src/tables/part/PartTable.tsx:168 #: src/tables/part/PartVariantTable.tsx:15 -#: src/tables/plugin/PluginListTable.tsx:190 -#: src/tables/plugin/PluginListTable.tsx:638 +#: src/tables/plugin/PluginListTable.tsx:149 +#: src/tables/plugin/PluginListTable.tsx:271 +#: src/tables/plugin/PluginListTable.tsx:563 #: src/tables/purchasing/SupplierPartTable.tsx:98 #: src/tables/purchasing/SupplierPartTable.tsx:187 #: src/tables/stock/StockItemTable.tsx:254 msgid "Active" msgstr "" -#: src/pages/part/PartDetail.tsx:269 +#: src/pages/part/PartDetail.tsx:270 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:274 -#: src/tables/bom/BomTable.tsx:264 +#: src/pages/part/PartDetail.tsx:275 +#: src/tables/bom/BomTable.tsx:266 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:279 +#: src/pages/part/PartDetail.tsx:280 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:284 -#: src/tables/bom/BomTable.tsx:259 +#: src/pages/part/PartDetail.tsx:285 +#: src/tables/bom/BomTable.tsx:261 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:289 +#: src/pages/part/PartDetail.tsx:290 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:294 +#: src/pages/part/PartDetail.tsx:295 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:299 +#: src/pages/part/PartDetail.tsx:300 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:307 +#: src/pages/part/PartDetail.tsx:308 +#: src/tables/ColumnRenderers.tsx:199 msgid "Creation Date" msgstr "" @@ -4014,7 +4102,7 @@ msgstr "" #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:312 +#: src/pages/part/PartDetail.tsx:313 msgid "Created By" msgstr "" @@ -4022,68 +4110,72 @@ msgstr "" #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:327 -msgid "Default Supplier" -msgstr "" - #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:338 +#: src/pages/part/PartDetail.tsx:328 +msgid "Default Supplier" +msgstr "" + +#: src/pages/part/PartDetail.tsx:339 #: src/tables/part/PartTable.tsx:151 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:373 -#: src/pages/stock/StockDetail.tsx:127 +#: src/pages/part/PartDetail.tsx:374 +#: src/pages/stock/StockDetail.tsx:130 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:408 +#: src/pages/part/PartDetail.tsx:409 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:479 +#: src/pages/part/PartDetail.tsx:480 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:505 +#: src/pages/part/PartDetail.tsx:506 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:512 -#: src/pages/stock/StockDetail.tsx:275 +#: src/pages/part/PartDetail.tsx:513 +#: src/pages/stock/StockDetail.tsx:283 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:532 +#: src/pages/part/PartDetail.tsx:519 +msgid "Bill of Materials" +msgstr "" + +#: src/pages/part/PartDetail.tsx:533 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:539 +#: src/pages/part/PartDetail.tsx:540 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:545 +#: src/pages/part/PartDetail.tsx:546 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:584 +#: src/pages/part/PartDetail.tsx:585 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:594 +#: src/pages/part/PartDetail.tsx:595 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:605 +#: src/pages/part/PartDetail.tsx:606 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:660 -#: src/pages/stock/StockDetail.tsx:148 +#: src/pages/part/PartDetail.tsx:661 +#: src/pages/stock/StockDetail.tsx:151 #: src/tables/build/BuildLineTable.tsx:36 #: src/tables/part/PartTable.tsx:107 #: src/tables/stock/StockItemTable.tsx:166 @@ -4091,49 +4183,51 @@ msgstr "" msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:666 +#: src/pages/part/PartDetail.tsx:667 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:672 -#: src/tables/bom/BomTable.tsx:274 +#: src/pages/part/PartDetail.tsx:673 +#: src/tables/bom/BomTable.tsx:276 #: src/tables/part/PartTable.tsx:76 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:678 -#: src/pages/stock/StockDetail.tsx:496 +#: src/pages/part/PartDetail.tsx:679 +#: src/pages/stock/StockDetail.tsx:509 #: src/tables/stock/StockItemTable.tsx:295 msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:697 +#: src/pages/part/PartDetail.tsx:698 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:704 +#: src/pages/part/PartDetail.tsx:705 #: src/tables/part/PartTable.tsx:266 #: src/tables/part/PartTable.tsx:279 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:716 +#: src/pages/part/PartDetail.tsx:717 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:725 +#: src/pages/part/PartDetail.tsx:726 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:763 +#: src/pages/part/PartDetail.tsx:764 +#: src/pages/stock/LocationDetail.tsx:301 +#: src/tables/stock/StockItemTable.tsx:409 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:771 +#: src/pages/part/PartDetail.tsx:772 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:782 +#: src/pages/part/PartDetail.tsx:783 msgid "Transfer part stock" msgstr "" @@ -4199,15 +4293,15 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151 #: src/pages/part/pricing/SupplierPricingPanel.tsx:83 -#: src/tables/bom/BomTable.tsx:149 +#: src/tables/bom/BomTable.tsx:151 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 msgid "Unit Price" msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:173 -#: src/tables/ColumnRenderers.tsx:278 -#: src/tables/bom/BomTable.tsx:158 +#: src/tables/ColumnRenderers.tsx:241 +#: src/tables/bom/BomTable.tsx:160 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 #: src/tables/sales/ReturnOrderTable.tsx:104 #: src/tables/sales/SalesOrderTable.tsx:134 @@ -4229,24 +4323,24 @@ msgid "Bar Chart" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:63 -#: src/pages/part/pricing/PriceBreakPanel.tsx:117 +#: src/pages/part/pricing/PriceBreakPanel.tsx:115 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:138 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:164 msgid "Add Price Break" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:76 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:149 msgid "Edit Price Break" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:86 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:157 msgid "Delete Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:102 -#: src/pages/part/pricing/PriceBreakPanel.tsx:193 +#: src/pages/part/pricing/PriceBreakPanel.tsx:100 +#: src/pages/part/pricing/PriceBreakPanel.tsx:191 msgid "Price Break" msgstr "" @@ -4275,7 +4369,7 @@ msgid "Overall Pricing" msgstr "" #: src/pages/part/pricing/PricingOverviewPanel.tsx:184 -#: src/pages/stock/StockDetail.tsx:121 +#: src/pages/stock/StockDetail.tsx:124 msgid "Last Updated" msgstr "" @@ -4309,9 +4403,8 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50 #: src/pages/part/pricing/SaleHistoryPanel.tsx:46 -#: src/tables/ColumnRenderers.tsx:217 -#: src/tables/plugin/PluginListTable.tsx:182 -#: src/tables/stock/StockItemTestResultTable.tsx:194 +#: src/tables/ColumnRenderers.tsx:180 +#: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" @@ -4338,89 +4431,89 @@ msgstr "" msgid "Variant Part" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:73 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:75 msgid "Edit Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:82 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:84 #: src/tables/purchasing/PurchaseOrderTable.tsx:128 #: src/tables/purchasing/PurchaseOrderTable.tsx:140 msgid "Add Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:107 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:109 msgid "Supplier Reference" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:137 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:252 -#: src/pages/sales/ReturnOrderDetail.tsx:104 -#: src/pages/sales/ReturnOrderDetail.tsx:220 -#: src/pages/sales/SalesOrderDetail.tsx:108 -#: src/pages/sales/SalesOrderDetail.tsx:248 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:139 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:254 +#: src/pages/sales/ReturnOrderDetail.tsx:106 +#: src/pages/sales/ReturnOrderDetail.tsx:222 +#: src/pages/sales/SalesOrderDetail.tsx:110 +#: src/pages/sales/SalesOrderDetail.tsx:250 msgid "Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:144 -#: src/pages/sales/ReturnOrderDetail.tsx:111 -#: src/pages/sales/SalesOrderDetail.tsx:115 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:146 +#: src/pages/sales/ReturnOrderDetail.tsx:113 +#: src/pages/sales/SalesOrderDetail.tsx:117 msgid "Completed Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:152 -#: src/pages/sales/ReturnOrderDetail.tsx:119 -#: src/pages/sales/SalesOrderDetail.tsx:123 -#: src/pages/sales/SalesOrderDetail.tsx:258 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:121 +#: src/pages/sales/SalesOrderDetail.tsx:125 +#: src/pages/sales/SalesOrderDetail.tsx:260 msgid "Completed Shipments" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:159 -#: src/pages/sales/ReturnOrderDetail.tsx:127 -#: src/pages/sales/SalesOrderDetail.tsx:131 -msgid "Order Currency" -msgstr "" - #: src/pages/purchasing/PurchaseOrderDetail.tsx:159 #: src/pages/sales/ReturnOrderDetail.tsx:126 #: src/pages/sales/SalesOrderDetail.tsx:130 #~ msgid "Order Currency," #~ msgstr "Order Currency," -#: src/pages/purchasing/PurchaseOrderDetail.tsx:166 -#: src/pages/sales/ReturnOrderDetail.tsx:134 -#: src/pages/sales/SalesOrderDetail.tsx:138 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:161 +#: src/pages/sales/ReturnOrderDetail.tsx:129 +#: src/pages/sales/SalesOrderDetail.tsx:133 +msgid "Order Currency" +msgstr "" + +#: src/pages/purchasing/PurchaseOrderDetail.tsx:168 +#: src/pages/sales/ReturnOrderDetail.tsx:136 +#: src/pages/sales/SalesOrderDetail.tsx:140 msgid "Total Cost" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:201 -#: src/pages/sales/ReturnOrderDetail.tsx:169 -#: src/pages/sales/SalesOrderDetail.tsx:173 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:203 +#: src/pages/sales/ReturnOrderDetail.tsx:171 +#: src/pages/sales/SalesOrderDetail.tsx:175 msgid "Created On" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:246 -#: src/pages/sales/ReturnOrderDetail.tsx:214 -#: src/pages/sales/SalesOrderDetail.tsx:242 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:248 +#: src/pages/sales/ReturnOrderDetail.tsx:216 +#: src/pages/sales/SalesOrderDetail.tsx:244 msgid "Order Details" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:316 -#: src/pages/sales/ReturnOrderDetail.tsx:290 -#: src/pages/sales/SalesOrderDetail.tsx:302 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:323 +#: src/pages/sales/ReturnOrderDetail.tsx:297 +#: src/pages/sales/SalesOrderDetail.tsx:309 msgid "Order Actions" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:75 -#: src/pages/sales/SalesOrderDetail.tsx:79 +#: src/pages/sales/ReturnOrderDetail.tsx:77 +#: src/pages/sales/SalesOrderDetail.tsx:81 #: src/tables/sales/SalesOrderTable.tsx:123 msgid "Customer Reference" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:267 +#: src/pages/sales/ReturnOrderDetail.tsx:269 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:276 +#: src/pages/sales/ReturnOrderDetail.tsx:278 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" @@ -4430,68 +4523,72 @@ msgstr "" msgid "Customers" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:219 +#: src/pages/sales/SalesOrderDetail.tsx:221 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:228 +#: src/pages/sales/SalesOrderDetail.tsx:230 #: src/tables/sales/SalesOrderTable.tsx:83 #: src/tables/sales/SalesOrderTable.tsx:95 msgid "Add Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:253 +#: src/pages/sales/SalesOrderDetail.tsx:255 msgid "Pending Shipments" msgstr "" -#: src/pages/stock/LocationDetail.tsx:105 +#: src/pages/stock/LocationDetail.tsx:107 msgid "Parent Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:123 +#: src/pages/stock/LocationDetail.tsx:125 msgid "Sublocations" msgstr "" -#: src/pages/stock/LocationDetail.tsx:135 +#: src/pages/stock/LocationDetail.tsx:137 msgid "External" msgstr "" -#: src/pages/stock/LocationDetail.tsx:144 +#: src/pages/stock/LocationDetail.tsx:143 +msgid "Location Type" +msgstr "" + +#: src/pages/stock/LocationDetail.tsx:154 msgid "Top level stock location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:155 +#: src/pages/stock/LocationDetail.tsx:165 msgid "Location Details" msgstr "" -#: src/pages/stock/LocationDetail.tsx:181 +#: src/pages/stock/LocationDetail.tsx:191 msgid "Default Parts" msgstr "" -#: src/pages/stock/LocationDetail.tsx:200 +#: src/pages/stock/LocationDetail.tsx:210 #: src/pages/stock/LocationDetail.tsx:328 -#: src/tables/stock/StockLocationTable.tsx:108 +#: src/tables/stock/StockLocationTable.tsx:100 msgid "Edit Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:221 +#: src/pages/stock/LocationDetail.tsx:231 #: src/pages/stock/LocationDetail.tsx:333 msgid "Delete Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:224 +#: src/pages/stock/LocationDetail.tsx:234 msgid "Items Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:225 +#: src/pages/stock/LocationDetail.tsx:235 msgid "Action for stock items in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:230 +#: src/pages/stock/LocationDetail.tsx:240 msgid "Child Locations Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:231 +#: src/pages/stock/LocationDetail.tsx:241 msgid "Action for child locations in this location" msgstr "" @@ -4499,11 +4596,11 @@ msgstr "" msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:100 +#: src/pages/stock/StockDetail.tsx:103 msgid "Base Part" msgstr "" -#: src/pages/stock/StockDetail.tsx:107 +#: src/pages/stock/StockDetail.tsx:110 msgid "Stock Status" msgstr "" @@ -4515,15 +4612,16 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:174 +#: src/pages/stock/StockDetail.tsx:177 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:190 +#: src/pages/stock/StockDetail.tsx:193 msgid "Consumed By" msgstr "" -#: src/pages/stock/StockDetail.tsx:199 +#: src/pages/stock/StockDetail.tsx:202 +#: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" msgstr "" @@ -4535,78 +4633,78 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:264 +#: src/pages/stock/StockDetail.tsx:267 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:270 +#: src/pages/stock/StockDetail.tsx:273 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:282 +#: src/pages/stock/StockDetail.tsx:290 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:296 +#: src/pages/stock/StockDetail.tsx:304 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:303 +#: src/pages/stock/StockDetail.tsx:311 msgid "Child Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:358 +#: src/pages/stock/StockDetail.tsx:366 msgid "Edit Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:385 +#: src/pages/stock/StockDetail.tsx:393 msgid "Delete Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:426 -msgid "Stock Operations" -msgstr "" - -#: src/pages/stock/StockDetail.tsx:431 -msgid "Count stock" -msgstr "" - #: src/pages/stock/StockDetail.tsx:433 #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:441 +#: src/pages/stock/StockDetail.tsx:440 +msgid "Stock Operations" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:445 +msgid "Count stock" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:455 #: src/tables/stock/StockItemTable.tsx:414 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:449 +#: src/pages/stock/StockDetail.tsx:463 #: src/tables/stock/StockItemTable.tsx:423 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:456 +#: src/pages/stock/StockDetail.tsx:470 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:457 +#: src/pages/stock/StockDetail.tsx:471 #: src/tables/stock/StockItemTable.tsx:443 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:469 +#: src/pages/stock/StockDetail.tsx:482 msgid "Stock Item Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:513 -msgid "Batch Code" -msgstr "" - -#: src/tables/ColumnRenderers.tsx:50 +#: src/tables/ColumnRenderers.tsx:42 msgid "No location set" msgstr "" -#: src/tables/ColumnRenderers.tsx:264 +#: src/tables/ColumnRenderers.tsx:207 +msgid "Shipment Date" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:227 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "" @@ -4616,20 +4714,32 @@ msgstr "" msgid "Select Columns" msgstr "" -#: src/tables/DownloadAction.tsx:11 +#: src/tables/DownloadAction.tsx:13 +#~ msgid "Excel" +#~ msgstr "Excel" + +#: src/tables/DownloadAction.tsx:21 +#~ msgid "Download selected data" +#~ msgstr "Download selected data" + +#: src/tables/DownloadAction.tsx:22 msgid "CSV" msgstr "" -#: src/tables/DownloadAction.tsx:12 +#: src/tables/DownloadAction.tsx:23 msgid "TSV" msgstr "" -#: src/tables/DownloadAction.tsx:13 -msgid "Excel" +#: src/tables/DownloadAction.tsx:24 +msgid "Excel (.xls)" msgstr "" -#: src/tables/DownloadAction.tsx:21 -msgid "Download selected data" +#: src/tables/DownloadAction.tsx:25 +msgid "Excel (.xlsx)" +msgstr "" + +#: src/tables/DownloadAction.tsx:39 +msgid "Download Data" msgstr "" #: src/tables/Filter.tsx:88 @@ -4663,102 +4773,102 @@ msgstr "" msgid "Remove filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:147 +#: src/tables/FilterSelectDrawer.tsx:136 msgid "Select filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:148 +#: src/tables/FilterSelectDrawer.tsx:137 msgid "Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:155 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:33 -#: src/tables/stock/StockItemTestResultTable.tsx:182 +#: src/tables/FilterSelectDrawer.tsx:144 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 +#: src/tables/stock/StockItemTestResultTable.tsx:180 msgid "Value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:156 +#: src/tables/FilterSelectDrawer.tsx:145 msgid "Select filter value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:196 +#: src/tables/FilterSelectDrawer.tsx:185 msgid "Table Filters" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:228 +#: src/tables/FilterSelectDrawer.tsx:217 msgid "Add Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:237 +#: src/tables/FilterSelectDrawer.tsx:226 msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:118 -#: src/tables/InvenTreeTable.tsx:384 -#: src/tables/InvenTreeTable.tsx:405 +#: src/tables/InvenTreeTable.tsx:119 +#: src/tables/InvenTreeTable.tsx:390 +#: src/tables/InvenTreeTable.tsx:411 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:416 +#: src/tables/InvenTreeTable.tsx:422 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:424 +#: src/tables/InvenTreeTable.tsx:430 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:427 +#: src/tables/InvenTreeTable.tsx:433 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:436 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:433 +#: src/tables/InvenTreeTable.tsx:439 msgid "Not found" msgstr "" -#: src/tables/InvenTreeTable.tsx:482 -#: src/tables/InvenTreeTable.tsx:604 +#: src/tables/InvenTreeTable.tsx:488 +#: src/tables/InvenTreeTable.tsx:611 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:486 +#: src/tables/InvenTreeTable.tsx:492 msgid "Are you sure you want to delete the selected records?" msgstr "" -#: src/tables/InvenTreeTable.tsx:488 +#: src/tables/InvenTreeTable.tsx:494 msgid "This action cannot be undone!" msgstr "" -#: src/tables/InvenTreeTable.tsx:516 +#: src/tables/InvenTreeTable.tsx:522 msgid "Deleted records" msgstr "" -#: src/tables/InvenTreeTable.tsx:517 +#: src/tables/InvenTreeTable.tsx:523 msgid "Records were deleted successfully" msgstr "" -#: src/tables/InvenTreeTable.tsx:526 +#: src/tables/InvenTreeTable.tsx:532 msgid "Failed to delete records" msgstr "" -#: src/tables/InvenTreeTable.tsx:585 -#: src/tables/InvenTreeTable.tsx:586 -msgid "Barcode actions" -msgstr "" - #: src/tables/InvenTreeTable.tsx:594 #: src/tables/InvenTreeTable.tsx:595 -msgid "Print actions" +#~ msgid "Print actions" +#~ msgstr "Print actions" + +#: src/tables/InvenTreeTable.tsx:601 +#: src/tables/InvenTreeTable.tsx:602 +msgid "Barcode actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:620 +#: src/tables/InvenTreeTable.tsx:630 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:638 +#: src/tables/InvenTreeTable.tsx:648 msgid "Table filters" msgstr "" @@ -4770,138 +4880,138 @@ msgstr "" msgid "Part Information" msgstr "" -#: src/tables/bom/BomTable.tsx:177 +#: src/tables/bom/BomTable.tsx:179 #: src/tables/part/PartTable.tsx:124 msgid "No stock" msgstr "" -#: src/tables/bom/BomTable.tsx:185 +#: src/tables/bom/BomTable.tsx:187 #: src/tables/build/BuildLineTable.tsx:104 #: src/tables/part/PartTable.tsx:115 msgid "External stock" msgstr "" -#: src/tables/bom/BomTable.tsx:193 +#: src/tables/bom/BomTable.tsx:195 #: src/tables/build/BuildLineTable.tsx:67 msgid "Includes substitute stock" msgstr "" -#: src/tables/bom/BomTable.tsx:202 +#: src/tables/bom/BomTable.tsx:204 #: src/tables/build/BuildLineTable.tsx:77 msgid "Includes variant stock" msgstr "" -#: src/tables/bom/BomTable.tsx:227 +#: src/tables/bom/BomTable.tsx:229 #: src/tables/part/PartTable.tsx:143 #: src/tables/stock/StockItemTable.tsx:205 msgid "Stock Information" msgstr "" -#: src/tables/bom/BomTable.tsx:239 +#: src/tables/bom/BomTable.tsx:241 #: src/tables/build/BuildLineTable.tsx:195 msgid "Consumable item" msgstr "" -#: src/tables/bom/BomTable.tsx:260 +#: src/tables/bom/BomTable.tsx:262 msgid "Show trackable items" msgstr "" -#: src/tables/bom/BomTable.tsx:265 +#: src/tables/bom/BomTable.tsx:267 msgid "Show asssmbled items" msgstr "" -#: src/tables/bom/BomTable.tsx:270 +#: src/tables/bom/BomTable.tsx:272 msgid "Show items with available stock" msgstr "" -#: src/tables/bom/BomTable.tsx:275 +#: src/tables/bom/BomTable.tsx:277 msgid "Show items on order" msgstr "" -#: src/tables/bom/BomTable.tsx:279 +#: src/tables/bom/BomTable.tsx:281 msgid "Validated" msgstr "" -#: src/tables/bom/BomTable.tsx:280 +#: src/tables/bom/BomTable.tsx:282 msgid "Show validated items" msgstr "" -#: src/tables/bom/BomTable.tsx:284 +#: src/tables/bom/BomTable.tsx:286 #: src/tables/bom/UsedInTable.tsx:63 msgid "Inherited" msgstr "" -#: src/tables/bom/BomTable.tsx:285 +#: src/tables/bom/BomTable.tsx:287 #: src/tables/bom/UsedInTable.tsx:64 msgid "Show inherited items" msgstr "" -#: src/tables/bom/BomTable.tsx:289 +#: src/tables/bom/BomTable.tsx:291 #: src/tables/bom/UsedInTable.tsx:68 #: src/tables/build/BuildLineTable.tsx:46 msgid "Optional" msgstr "" -#: src/tables/bom/BomTable.tsx:290 +#: src/tables/bom/BomTable.tsx:292 #: src/tables/bom/UsedInTable.tsx:69 msgid "Show optional items" msgstr "" -#: src/tables/bom/BomTable.tsx:294 +#: src/tables/bom/BomTable.tsx:296 #: src/tables/build/BuildLineTable.tsx:41 msgid "Consumable" msgstr "" -#: src/tables/bom/BomTable.tsx:295 +#: src/tables/bom/BomTable.tsx:297 msgid "Show consumable items" msgstr "" -#: src/tables/bom/BomTable.tsx:299 +#: src/tables/bom/BomTable.tsx:301 msgid "Has Pricing" msgstr "" -#: src/tables/bom/BomTable.tsx:300 -msgid "Show items with pricing" -msgstr "" - #: src/tables/bom/BomTable.tsx:301 #~ msgid "Create BOM Item" #~ msgstr "Create BOM Item" -#: src/tables/bom/BomTable.tsx:309 -#: src/tables/bom/BomTable.tsx:397 +#: src/tables/bom/BomTable.tsx:302 +msgid "Show items with pricing" +msgstr "" + +#: src/tables/bom/BomTable.tsx:311 +#: src/tables/bom/BomTable.tsx:399 msgid "Add BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:314 +#: src/tables/bom/BomTable.tsx:316 msgid "BOM item created" msgstr "" -#: src/tables/bom/BomTable.tsx:321 +#: src/tables/bom/BomTable.tsx:323 msgid "Edit BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:323 +#: src/tables/bom/BomTable.tsx:325 msgid "BOM item updated" msgstr "" -#: src/tables/bom/BomTable.tsx:330 -msgid "Delete BOM Item" -msgstr "" - -#: src/tables/bom/BomTable.tsx:331 -msgid "BOM item deleted" -msgstr "" - #: src/tables/bom/BomTable.tsx:331 #~ msgid "Edit Bom Item" #~ msgstr "Edit Bom Item" +#: src/tables/bom/BomTable.tsx:332 +msgid "Delete BOM Item" +msgstr "" + +#: src/tables/bom/BomTable.tsx:333 +msgid "BOM item deleted" +msgstr "" + #: src/tables/bom/BomTable.tsx:333 #~ msgid "Bom item updated" #~ msgstr "Bom item updated" -#: src/tables/bom/BomTable.tsx:341 +#: src/tables/bom/BomTable.tsx:343 msgid "View BOM" msgstr "" @@ -4917,11 +5027,11 @@ msgstr "" #~ msgid "Are you sure you want to remove this BOM item?" #~ msgstr "Are you sure you want to remove this BOM item?" -#: src/tables/bom/BomTable.tsx:352 +#: src/tables/bom/BomTable.tsx:354 msgid "Validate BOM line" msgstr "" -#: src/tables/bom/BomTable.tsx:360 +#: src/tables/bom/BomTable.tsx:362 msgid "Edit Substitutes" msgstr "" @@ -5038,11 +5148,11 @@ msgid "Filter by responsible owner" msgstr "" #: src/tables/build/BuildOutputTable.tsx:114 -#: src/tables/build/BuildOutputTable.tsx:150 +#: src/tables/build/BuildOutputTable.tsx:152 msgid "Add Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:155 +#: src/tables/build/BuildOutputTable.tsx:157 msgid "Complete selected outputs" msgstr "" @@ -5050,68 +5160,68 @@ msgstr "" #~ msgid "Delete build output" #~ msgstr "Delete build output" -#: src/tables/build/BuildOutputTable.tsx:165 +#: src/tables/build/BuildOutputTable.tsx:167 msgid "Scrap selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:175 +#: src/tables/build/BuildOutputTable.tsx:177 msgid "Cancel selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:191 +#: src/tables/build/BuildOutputTable.tsx:193 msgid "Allocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:192 +#: src/tables/build/BuildOutputTable.tsx:194 msgid "Allocate stock to build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:197 +#: src/tables/build/BuildOutputTable.tsx:199 msgid "Deallocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:198 +#: src/tables/build/BuildOutputTable.tsx:200 msgid "Deallocate stock from build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:203 +#: src/tables/build/BuildOutputTable.tsx:205 msgid "Complete" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:204 +#: src/tables/build/BuildOutputTable.tsx:206 msgid "Complete build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:213 +#: src/tables/build/BuildOutputTable.tsx:215 msgid "Scrap" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:214 +#: src/tables/build/BuildOutputTable.tsx:216 msgid "Scrap build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:224 +#: src/tables/build/BuildOutputTable.tsx:226 msgid "Cancel build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:251 +#: src/tables/build/BuildOutputTable.tsx:253 msgid "Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:264 +#: src/tables/build/BuildOutputTable.tsx:266 msgid "Batch" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:278 +#: src/tables/build/BuildOutputTable.tsx:280 msgid "Allocated Items" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:288 +#: src/tables/build/BuildOutputTable.tsx:290 msgid "Required Tests" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:317 -#: src/tables/stock/StockItemTestResultTable.tsx:146 +#: src/tables/build/BuildOutputTable.tsx:319 +#: src/tables/stock/StockItemTestResultTable.tsx:144 msgid "Test Results" msgstr "" @@ -5132,7 +5242,7 @@ msgstr "" msgid "Delete Address" msgstr "" -#: src/tables/company/AddressTable.tsx:145 +#: src/tables/company/AddressTable.tsx:144 msgid "Are you sure you want to delete this address?" msgstr "" @@ -5177,36 +5287,52 @@ msgstr "" msgid "Add contact" msgstr "" -#: src/tables/general/AttachmentTable.tsx:161 +#: src/tables/general/AttachmentTable.tsx:130 msgid "File uploaded" msgstr "" -#: src/tables/general/AttachmentTable.tsx:162 +#: src/tables/general/AttachmentTable.tsx:131 msgid "File {0} uploaded successfully" msgstr "" -#: src/tables/general/AttachmentTable.tsx:173 +#: src/tables/general/AttachmentTable.tsx:142 msgid "Upload Error" msgstr "" -#: src/tables/general/AttachmentTable.tsx:174 +#: src/tables/general/AttachmentTable.tsx:143 msgid "File could not be uploaded" msgstr "" #: src/tables/general/AttachmentTable.tsx:187 +msgid "Upload Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:197 +msgid "Edit Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:211 +msgid "Delete Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:221 msgid "Add attachment" msgstr "" -#: src/tables/general/AttachmentTable.tsx:207 +#: src/tables/general/AttachmentTable.tsx:232 msgid "Add external link" msgstr "" -#: src/tables/general/AttachmentTable.tsx:239 +#: src/tables/general/AttachmentTable.tsx:254 +#~ msgid "Upload attachment" +#~ msgstr "Upload attachment" + +#: src/tables/general/AttachmentTable.tsx:289 msgid "No attachments found" msgstr "" -#: src/tables/general/AttachmentTable.tsx:254 -msgid "Upload attachment" +#: src/tables/general/AttachmentTable.tsx:325 +msgid "Drag attachment file here to upload" msgstr "" #: src/tables/machine/MachineListTable.tsx:199 @@ -5332,8 +5458,8 @@ msgstr "" #: src/tables/machine/MachineTypeTable.tsx:135 #: src/tables/machine/MachineTypeTable.tsx:255 -#: src/tables/plugin/PluginListTable.tsx:215 -#: src/tables/plugin/PluginListTable.tsx:643 +#: src/tables/plugin/PluginListTable.tsx:180 +#: src/tables/plugin/PluginListTable.tsx:568 msgid "Builtin" msgstr "" @@ -5375,7 +5501,7 @@ msgid "Message" msgstr "" #: src/tables/part/ParametricPartTable.tsx:75 -#: src/tables/part/PartParameterTable.tsx:87 +#: src/tables/part/PartParameterTable.tsx:88 msgid "Internal Units" msgstr "" @@ -5388,29 +5514,29 @@ msgid "Add Part Parameter" msgstr "" #: src/tables/part/ParametricPartTable.tsx:147 -#: src/tables/part/PartParameterTable.tsx:128 -#: src/tables/part/PartParameterTable.tsx:150 +#: src/tables/part/PartParameterTable.tsx:121 +#: src/tables/part/PartParameterTable.tsx:144 msgid "Edit Part Parameter" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:64 +#: src/tables/part/PartCategoryTable.tsx:60 #: src/tables/part/PartTable.tsx:180 msgid "Include Subcategories" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:65 +#: src/tables/part/PartCategoryTable.tsx:61 msgid "Include subcategories in results" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:70 +#: src/tables/part/PartCategoryTable.tsx:66 msgid "Show structural categories" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:77 +#: src/tables/part/PartCategoryTable.tsx:73 msgid "New Part Category" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:106 +#: src/tables/part/PartCategoryTable.tsx:98 msgid "Add Part Category" msgstr "" @@ -5435,20 +5561,20 @@ msgstr "" #~ msgid "[{0}]" #~ msgstr "[{0}]" -#: src/tables/part/PartParameterTable.tsx:112 +#: src/tables/part/PartParameterTable.tsx:105 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:136 -#: src/tables/part/PartParameterTable.tsx:158 +#: src/tables/part/PartParameterTable.tsx:130 +#: src/tables/part/PartParameterTable.tsx:152 msgid "Delete Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:175 +#: src/tables/part/PartParameterTable.tsx:170 msgid "Add parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:196 +#: src/tables/part/PartParameterTable.tsx:191 #: src/tables/stock/StockItemTable.tsx:300 msgid "Include Variants" msgstr "" @@ -5482,15 +5608,15 @@ msgstr "" msgid "Add Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:97 +#: src/tables/part/PartParameterTemplateTable.tsx:100 msgid "Edit Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:105 +#: src/tables/part/PartParameterTemplateTable.tsx:111 msgid "Delete Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:135 +#: src/tables/part/PartParameterTemplateTable.tsx:141 msgid "Add parameter template" msgstr "" @@ -5588,7 +5714,7 @@ msgid "No Results" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:79 -#: src/tables/stock/StockItemTestResultTable.tsx:385 +#: src/tables/stock/StockItemTestResultTable.tsx:376 msgid "Required" msgstr "" @@ -5597,8 +5723,8 @@ msgid "Show required tests" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:84 -#: src/tables/settings/TemplateTable.tsx:213 -#: src/tables/settings/TemplateTable.tsx:275 +#: src/tables/settings/TemplateTable.tsx:160 +#: src/tables/settings/TemplateTable.tsx:270 msgid "Enabled" msgstr "" @@ -5639,26 +5765,30 @@ msgid "Show tests which have recorded results" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:126 -#: src/tables/part/PartTestTemplateTable.tsx:195 +#: src/tables/part/PartTestTemplateTable.tsx:201 msgid "Add Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:139 +#: src/tables/part/PartTestTemplateTable.tsx:142 msgid "Edit Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:147 +#: src/tables/part/PartTestTemplateTable.tsx:153 msgid "Delete Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:149 +#: src/tables/part/PartTestTemplateTable.tsx:155 msgid "This action cannot be reversed" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:151 +#: src/tables/part/PartTestTemplateTable.tsx:157 msgid "Any tests results associated with this template will be deleted" msgstr "" +#: src/tables/part/PartThumbTable.tsx:203 +msgid "Select" +msgstr "" + #: src/tables/part/PartVariantTable.tsx:16 msgid "Show active variants" msgstr "" @@ -5695,252 +5825,273 @@ msgstr "" msgid "Stage" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:113 -msgid "Plugin with id {id} not found" +#: src/tables/plugin/PluginListTable.tsx:95 +msgid "Plugin with key {pluginKey} not found" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:115 +#: src/tables/plugin/PluginListTable.tsx:97 msgid "An error occurred while fetching plugin details" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:134 -msgid "Plugin Actions" -msgstr "" +#: src/tables/plugin/PluginListTable.tsx:113 +#~ msgid "Plugin with id {id} not found" +#~ msgstr "Plugin with id {id} not found" -#: src/tables/plugin/PluginListTable.tsx:138 -#: src/tables/plugin/PluginListTable.tsx:141 -msgid "Edit plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:152 -#: src/tables/plugin/PluginListTable.tsx:153 -msgid "Reload" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:166 +#: src/tables/plugin/PluginListTable.tsx:122 msgid "Plugin information" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:177 +#: src/tables/plugin/PluginListTable.tsx:134 msgid "Author" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:198 +#: src/tables/plugin/PluginListTable.tsx:134 +#~ msgid "Plugin Actions" +#~ msgstr "Plugin Actions" + +#: src/tables/plugin/PluginListTable.tsx:138 +#: src/tables/plugin/PluginListTable.tsx:141 +#~ msgid "Edit plugin" +#~ msgstr "Edit plugin" + +#: src/tables/plugin/PluginListTable.tsx:152 +#: src/tables/plugin/PluginListTable.tsx:153 +#~ msgid "Reload" +#~ msgstr "Reload" + +#: src/tables/plugin/PluginListTable.tsx:154 +msgid "Plugin is not active" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:163 msgid "Package information" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:204 +#: src/tables/plugin/PluginListTable.tsx:169 msgid "Package Name" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:210 +#: src/tables/plugin/PluginListTable.tsx:175 msgid "Installation Path" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:220 +#: src/tables/plugin/PluginListTable.tsx:185 msgid "Package" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:231 +#: src/tables/plugin/PluginListTable.tsx:197 msgid "Plugin settings" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:248 +#: src/tables/plugin/PluginListTable.tsx:214 msgid "Plugin is active" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:254 +#: src/tables/plugin/PluginListTable.tsx:220 msgid "Plugin is inactive" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:261 +#: src/tables/plugin/PluginListTable.tsx:227 msgid "Plugin is not installed" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:287 +#: src/tables/plugin/PluginListTable.tsx:253 msgid "Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:312 +#: src/tables/plugin/PluginListTable.tsx:287 msgid "Description not available" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:338 +#: src/tables/plugin/PluginListTable.tsx:319 +msgid "Confirm plugin activation" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:320 +msgid "Confirm plugin deactivation" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:325 +msgid "The selected plugin will be activated" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:326 +msgid "The selected plugin will be deactivated" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:334 msgid "Activate Plugin" msgstr "" #: src/tables/plugin/PluginListTable.tsx:338 -msgid "Deactivate Plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:347 -msgid "Confirm plugin activation" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:348 -msgid "Confirm plugin deactivation" -msgstr "" +#~ msgid "Deactivate Plugin" +#~ msgstr "Deactivate Plugin" #: src/tables/plugin/PluginListTable.tsx:354 -msgid "The following plugin will be activated" -msgstr "" +#~ msgid "The following plugin will be activated" +#~ msgstr "The following plugin will be activated" #: src/tables/plugin/PluginListTable.tsx:355 -msgid "The following plugin will be deactivated" -msgstr "" +#~ msgid "The following plugin will be deactivated" +#~ msgstr "The following plugin will be deactivated" -#: src/tables/plugin/PluginListTable.tsx:366 -msgid "Confirm" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:376 -msgid "Activating plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:376 -msgid "Deactivating plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:392 -msgid "Plugin updated" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:394 -msgid "The plugin was activated" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:395 -msgid "The plugin was deactivated" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:403 -msgid "Error updating plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:423 +#: src/tables/plugin/PluginListTable.tsx:362 msgid "Deactivate" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:432 +#: src/tables/plugin/PluginListTable.tsx:366 +#~ msgid "Confirm" +#~ msgstr "Confirm" + +#: src/tables/plugin/PluginListTable.tsx:373 msgid "Activate" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:463 +#: src/tables/plugin/PluginListTable.tsx:376 +#~ msgid "Activating plugin" +#~ msgstr "Activating plugin" + +#: src/tables/plugin/PluginListTable.tsx:376 +#~ msgid "Deactivating plugin" +#~ msgstr "Deactivating plugin" + +#: src/tables/plugin/PluginListTable.tsx:392 +#~ msgid "Plugin updated" +#~ msgstr "Plugin updated" + +#: src/tables/plugin/PluginListTable.tsx:394 +#~ msgid "The plugin was activated" +#~ msgstr "The plugin was activated" + +#: src/tables/plugin/PluginListTable.tsx:395 +#~ msgid "The plugin was deactivated" +#~ msgstr "The plugin was deactivated" + +#: src/tables/plugin/PluginListTable.tsx:403 +#~ msgid "Error updating plugin" +#~ msgstr "Error updating plugin" + +#: src/tables/plugin/PluginListTable.tsx:406 msgid "Uninstall" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:495 +#: src/tables/plugin/PluginListTable.tsx:438 msgid "Install plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:508 +#: src/tables/plugin/PluginListTable.tsx:451 msgid "Install" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:512 +#: src/tables/plugin/PluginListTable.tsx:452 msgid "Plugin installed successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:525 +#: src/tables/plugin/PluginListTable.tsx:457 msgid "Uninstall Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:537 +#: src/tables/plugin/PluginListTable.tsx:469 msgid "Confirm plugin uninstall" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:540 +#: src/tables/plugin/PluginListTable.tsx:472 msgid "The selected plugin will be uninstalled." msgstr "" -#: src/tables/plugin/PluginListTable.tsx:541 +#: src/tables/plugin/PluginListTable.tsx:473 msgid "This action cannot be undone." msgstr "" -#: src/tables/plugin/PluginListTable.tsx:547 +#: src/tables/plugin/PluginListTable.tsx:477 msgid "Plugin uninstalled successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:560 +#: src/tables/plugin/PluginListTable.tsx:484 msgid "Delete Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:562 +#: src/tables/plugin/PluginListTable.tsx:485 msgid "Deleting this plugin configuration will remove all associated settings and data. Are you sure you want to delete this plugin?" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:574 +#: src/tables/plugin/PluginListTable.tsx:498 msgid "Plugins reloaded" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:575 +#: src/tables/plugin/PluginListTable.tsx:499 msgid "Plugins were reloaded successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:591 +#: src/tables/plugin/PluginListTable.tsx:515 msgid "Reload Plugins" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:600 +#: src/tables/plugin/PluginListTable.tsx:524 msgid "Install Plugin" msgstr "" +#: src/tables/plugin/PluginListTable.tsx:544 +msgid "Plugin Detail" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:573 +msgid "Sample" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:578 +#: src/tables/stock/StockItemTable.tsx:305 +msgid "Installed" +msgstr "" + #: src/tables/plugin/PluginListTable.tsx:615 #~ msgid "Plugin detail" #~ msgstr "Plugin detail" -#: src/tables/plugin/PluginListTable.tsx:619 -msgid "Plugin Detail" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:648 -msgid "Sample" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:653 -#: src/tables/stock/StockItemTable.tsx:305 -msgid "Installed" -msgstr "" - -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:57 -msgid "Edit Parameter" +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:59 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:108 +msgid "Add Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:60 -msgid "Parameter updated" -msgstr "" +#~ msgid "Parameter updated" +#~ msgstr "Parameter updated" -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:71 -msgid "Delete Parameter" +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:70 +msgid "Edit Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:73 -msgid "Parameter deleted" -msgstr "" +#~ msgid "Parameter deleted" +#~ msgstr "Parameter deleted" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:74 -msgid "Are you sure you want to delete this parameter?" +#~ msgid "Are you sure you want to delete this parameter?" +#~ msgstr "Are you sure you want to delete this parameter?" + +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:78 +msgid "Delete Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartTable.tsx:63 #~ msgid "Create Manufacturer Part" #~ msgstr "Create Manufacturer Part" -#: src/tables/purchasing/ManufacturerPartTable.tsx:100 -msgid "Manufacturer part updated" -msgstr "" - -#: src/tables/purchasing/ManufacturerPartTable.tsx:111 +#: src/tables/purchasing/ManufacturerPartTable.tsx:92 msgid "Delete Manufacturer Part" msgstr "" +#: src/tables/purchasing/ManufacturerPartTable.tsx:100 +#~ msgid "Manufacturer part updated" +#~ msgstr "Manufacturer part updated" + #: src/tables/purchasing/ManufacturerPartTable.tsx:112 -msgid "Manufacturer part deleted" -msgstr "" +#~ msgid "Manufacturer part deleted" +#~ msgstr "Manufacturer part deleted" #: src/tables/purchasing/ManufacturerPartTable.tsx:114 -msgid "Are you sure you want to remove this manufacturer part?" -msgstr "" +#~ msgid "Are you sure you want to remove this manufacturer part?" +#~ msgstr "Are you sure you want to remove this manufacturer part?" #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:86 msgid "Part Description" @@ -6087,18 +6238,22 @@ msgid "Error Information" msgstr "" #: src/tables/settings/ErrorTable.tsx:51 -msgid "Delete error report" +msgid "Delete Error Report" msgstr "" +#: src/tables/settings/ErrorTable.tsx:51 +#~ msgid "Delete error report" +#~ msgstr "Delete error report" + #: src/tables/settings/ErrorTable.tsx:53 -msgid "Error report deleted" -msgstr "" - -#: src/tables/settings/ErrorTable.tsx:54 msgid "Are you sure you want to delete this error report?" msgstr "" -#: src/tables/settings/ErrorTable.tsx:67 +#: src/tables/settings/ErrorTable.tsx:55 +msgid "Error report deleted" +msgstr "" + +#: src/tables/settings/ErrorTable.tsx:77 #: src/tables/settings/FailedTasksTable.tsx:57 msgid "Error Details" msgstr "" @@ -6115,7 +6270,7 @@ msgid "Task ID" msgstr "" #: src/tables/settings/FailedTasksTable.tsx:34 -#: src/tables/stock/StockItemTestResultTable.tsx:214 +#: src/tables/stock/StockItemTestResultTable.tsx:205 msgid "Started" msgstr "" @@ -6188,30 +6343,71 @@ msgstr "" msgid "Next Run" msgstr "" -#: src/tables/settings/TemplateTable.tsx:120 -msgid "{templateTypeTranslation} with id {id} not found" +#: src/tables/settings/TemplateTable.tsx:82 +msgid "Template not found" msgstr "" +#: src/tables/settings/TemplateTable.tsx:84 +msgid "An error occurred while fetching template details" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:120 +#~ msgid "{templateTypeTranslation} with id {id} not found" +#~ msgstr "{templateTypeTranslation} with id {id} not found" + #: src/tables/settings/TemplateTable.tsx:124 -msgid "An error occurred while fetching {templateTypeTranslation} details" -msgstr "" +#~ msgid "An error occurred while fetching {templateTypeTranslation} details" +#~ msgstr "An error occurred while fetching {templateTypeTranslation} details" #: src/tables/settings/TemplateTable.tsx:146 -msgid "actions" +#~ msgid "actions" +#~ msgstr "actions" + +#: src/tables/settings/TemplateTable.tsx:170 +msgid "Modify" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:171 +msgid "Modify template file" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:222 +#: src/tables/settings/TemplateTable.tsx:289 +msgid "Edit Template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:230 +msgid "Delete template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:236 +msgid "Add Template" msgstr "" #: src/tables/settings/TemplateTable.tsx:243 -msgid "Add new" -msgstr "" +#~ msgid "Add new" +#~ msgstr "Add new" #: src/tables/settings/TemplateTable.tsx:243 #~ msgid "Create new" #~ msgstr "Create new" -#: src/tables/settings/TemplateTable.tsx:276 +#: src/tables/settings/TemplateTable.tsx:249 +msgid "Add template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:271 msgid "Filter by enabled status" msgstr "" +#: src/tables/settings/TemplateTable.tsx:276 +msgid "Model Type" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:277 +msgid "Filter by target model type" +msgstr "" + #: src/tables/settings/UserTable.tsx:79 msgid "User with id {id} not found" msgstr "" @@ -6277,6 +6473,23 @@ msgstr "" msgid "Edit user" msgstr "" +#: src/tables/stock/LocationTypesTable.tsx:36 +#: src/tables/stock/LocationTypesTable.tsx:105 +msgid "Add Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:44 +msgid "Edit Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:52 +msgid "Delete Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:69 +msgid "Icon" +msgstr "" + #: src/tables/stock/StockItemTable.tsx:90 msgid "This stock item is in production" msgstr "" @@ -6338,7 +6551,7 @@ msgid "Show items which are available" msgstr "" #: src/tables/stock/StockItemTable.tsx:280 -#: src/tables/stock/StockLocationTable.tsx:37 +#: src/tables/stock/StockLocationTable.tsx:33 msgid "Include Sublocations" msgstr "" @@ -6467,123 +6680,135 @@ msgstr "" msgid "Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:153 +#: src/tables/stock/StockItemTestResultTable.tsx:151 msgid "Test result for installed stock item" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:164 +#: src/tables/stock/StockItemTestResultTable.tsx:162 msgid "Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:170 +#: src/tables/stock/StockItemTestResultTable.tsx:168 msgid "No Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:186 +#: src/tables/stock/StockItemTestResultTable.tsx:184 msgid "Attachment" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:209 +#: src/tables/stock/StockItemTestResultTable.tsx:200 msgid "Test station" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:229 +#: src/tables/stock/StockItemTestResultTable.tsx:220 msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:277 -#: src/tables/stock/StockItemTestResultTable.tsx:349 -#: src/tables/stock/StockItemTestResultTable.tsx:404 +#: src/tables/stock/StockItemTestResultTable.tsx:268 +#: src/tables/stock/StockItemTestResultTable.tsx:340 +#: src/tables/stock/StockItemTestResultTable.tsx:395 msgid "Add Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:279 +#: src/tables/stock/StockItemTestResultTable.tsx:270 msgid "Test result added" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:288 -#: src/tables/stock/StockItemTestResultTable.tsx:359 +#: src/tables/stock/StockItemTestResultTable.tsx:279 +#: src/tables/stock/StockItemTestResultTable.tsx:350 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:290 +#: src/tables/stock/StockItemTestResultTable.tsx:281 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:296 -#: src/tables/stock/StockItemTestResultTable.tsx:368 +#: src/tables/stock/StockItemTestResultTable.tsx:287 +#: src/tables/stock/StockItemTestResultTable.tsx:359 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:298 +#: src/tables/stock/StockItemTestResultTable.tsx:289 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:312 +#: src/tables/stock/StockItemTestResultTable.tsx:303 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:313 +#: src/tables/stock/StockItemTestResultTable.tsx:304 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:320 +#: src/tables/stock/StockItemTestResultTable.tsx:311 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:337 +#: src/tables/stock/StockItemTestResultTable.tsx:328 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:386 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:390 +#: src/tables/stock/StockItemTestResultTable.tsx:381 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:391 +#: src/tables/stock/StockItemTestResultTable.tsx:382 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:395 +#: src/tables/stock/StockItemTestResultTable.tsx:386 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:396 +#: src/tables/stock/StockItemTestResultTable.tsx:387 msgid "Show only passed tests" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:38 +#: src/tables/stock/StockLocationTable.tsx:34 msgid "Include sublocations in results" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:42 +#: src/tables/stock/StockLocationTable.tsx:38 msgid "structural" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:43 +#: src/tables/stock/StockLocationTable.tsx:39 msgid "Show structural locations" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:47 +#: src/tables/stock/StockLocationTable.tsx:43 msgid "external" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:48 +#: src/tables/stock/StockLocationTable.tsx:44 msgid "Show external locations" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:52 +#: src/tables/stock/StockLocationTable.tsx:48 msgid "Has location type" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:89 -#: src/tables/stock/StockLocationTable.tsx:118 +#: src/tables/stock/StockLocationTable.tsx:85 +#: src/tables/stock/StockLocationTable.tsx:110 msgid "Add Stock Location" msgstr "" +#: src/tables/stock/StockTrackingTable.tsx:64 +msgid "Added" +msgstr "" + +#: src/tables/stock/StockTrackingTable.tsx:69 +msgid "Removed" +msgstr "" + +#: src/tables/stock/StockTrackingTable.tsx:198 +msgid "No user information" +msgstr "" + #: src/views/MobileAppView.tsx:22 msgid "Mobile viewport detected" msgstr "" diff --git a/src/frontend/src/locales/nl/messages.po b/src/frontend/src/locales/nl/messages.po index ec7d4967e0..9c5df1a15d 100644 --- a/src/frontend/src/locales/nl/messages.po +++ b/src/frontend/src/locales/nl/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: nl\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-05-13 02:48\n" +"PO-Revision-Date: 2024-05-23 11:39\n" "Last-Translator: \n" "Language-Team: Dutch\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -20,285 +20,343 @@ msgstr "" #: src/components/Boundary.tsx:12 msgid "Error rendering component" -msgstr "" +msgstr "Fout bij renderen component" #: src/components/Boundary.tsx:14 msgid "An error occurred while rendering this component. Refer to the console for more information." -msgstr "" +msgstr "Er is een fout opgetreden tijdens het weergeven van deze component. Raadpleeg de console voor meer informatie." #: src/components/DashboardItemProxy.tsx:34 msgid "Title" +msgstr "Titel" + +#: src/components/buttons/AdminButton.tsx:83 +msgid "Open in admin interface" msgstr "" #: src/components/buttons/CopyButton.tsx:18 msgid "Copy to clipboard" +msgstr "Kopiëren naar klembord" + +#: src/components/buttons/PrintingActions.tsx:95 +msgid "Print Label" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:101 +msgid "Label printing completed successfully" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:106 +#: src/components/buttons/PrintingActions.tsx:143 +#: src/components/forms/ApiForm.tsx:504 +#: src/components/forms/fields/ApiFormField.tsx:295 +#: src/components/modals/LicenseModal.tsx:75 +#: src/components/nav/SearchDrawer.tsx:413 +#: src/components/widgets/MarkdownEditor.tsx:107 +#: src/components/widgets/MarkdownEditor.tsx:153 +#: src/pages/ErrorPage.tsx:12 +#: src/pages/ErrorPage.tsx:25 +#: src/pages/part/PartPricingPanel.tsx:71 +#: src/tables/InvenTreeTable.tsx:451 +#: src/tables/InvenTreeTable.tsx:531 +#: src/tables/stock/StockItemTestResultTable.tsx:310 +msgid "Error" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:107 +msgid "The label could not be generated" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:122 +msgid "Print Report" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:138 +msgid "Report printing completed successfully" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:144 +msgid "The report could not be generated" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:171 +msgid "Printing Actions" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:176 +msgid "Print Labels" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:182 +msgid "Print Reports" msgstr "" #: src/components/buttons/ScanButton.tsx:15 msgid "Scan QR code" -msgstr "" +msgstr "Scan QR code" #: src/components/buttons/ScanButton.tsx:20 msgid "Open QR code scanner" -msgstr "" +msgstr "QR-code scanner openen" #: src/components/buttons/SpotlightButton.tsx:14 msgid "Open spotlight" -msgstr "" +msgstr "Open spotlight" #: src/components/buttons/YesNoButton.tsx:16 msgid "Pass" -msgstr "" +msgstr "Geslaagd" #: src/components/buttons/YesNoButton.tsx:17 msgid "Fail" -msgstr "" +msgstr "Niet geslaagd" #: src/components/buttons/YesNoButton.tsx:32 #: src/tables/Filter.tsx:51 msgid "Yes" -msgstr "" +msgstr "Ja" #: src/components/buttons/YesNoButton.tsx:32 #: src/tables/Filter.tsx:52 msgid "No" -msgstr "" +msgstr "Nee" -#: src/components/details/Details.tsx:302 +#: src/components/details/Details.tsx:303 msgid "No name defined" -msgstr "" +msgstr "Geen naam gedefinieerd" -#: src/components/details/Details.tsx:339 +#: src/components/details/Details.tsx:340 msgid "Copied" -msgstr "" +msgstr "Gekopieerd" -#: src/components/details/Details.tsx:339 +#: src/components/details/Details.tsx:340 msgid "Copy" -msgstr "" +msgstr "Kopieer" #: src/components/details/DetailsImage.tsx:65 msgid "Remove Image" -msgstr "" +msgstr "Afbeelding verwijderen" #: src/components/details/DetailsImage.tsx:68 msgid "Remove the associated image from this item?" -msgstr "" +msgstr "De bijbehorende afbeelding van dit item verwijderen?" #: src/components/details/DetailsImage.tsx:71 -#: src/forms/StockForms.tsx:442 +#: src/forms/StockForms.tsx:483 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:448 +#: src/pages/stock/StockDetail.tsx:462 msgid "Remove" -msgstr "" +msgstr "Verwijderen" #: src/components/details/DetailsImage.tsx:71 -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:163 -#: src/components/items/ActionDropdown.tsx:222 -#: src/components/items/ActionDropdown.tsx:223 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 +#: src/components/items/ActionDropdown.tsx:229 +#: src/components/items/ActionDropdown.tsx:230 #: src/contexts/ThemeContext.tsx:43 #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:40 -#: src/tables/FilterSelectDrawer.tsx:218 -#: src/tables/InvenTreeTable.tsx:493 -#: src/tables/build/BuildOutputTable.tsx:223 -#: src/tables/plugin/PluginListTable.tsx:365 +#: src/tables/FilterSelectDrawer.tsx:207 +#: src/tables/InvenTreeTable.tsx:499 +#: src/tables/build/BuildOutputTable.tsx:225 msgid "Cancel" -msgstr "" +msgstr "Annuleer" #: src/components/details/DetailsImage.tsx:97 msgid "Drag and drop to upload" -msgstr "" +msgstr "Hiernaar toe slepen om te uploaden" #: src/components/details/DetailsImage.tsx:100 msgid "Click to select file(s)" -msgstr "" +msgstr "Klik om bestand(en) te selecteren" #: src/components/details/DetailsImage.tsx:224 msgid "Clear" -msgstr "" +msgstr "Wis" #: src/components/details/DetailsImage.tsx:227 -#: src/components/forms/ApiForm.tsx:554 +#: src/components/forms/ApiForm.tsx:571 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:56 msgid "Submit" -msgstr "" +msgstr "Versturen" #: src/components/details/DetailsImage.tsx:267 msgid "Select from existing images" -msgstr "" +msgstr "Selecteer uit bestaande afbeeldingen" #: src/components/details/DetailsImage.tsx:275 msgid "Select Image" -msgstr "" +msgstr "Selecteer afbeelding" #: src/components/details/DetailsImage.tsx:287 msgid "Upload new image" -msgstr "" +msgstr "Nieuwe afbeelding uploaden" #: src/components/details/DetailsImage.tsx:294 msgid "Upload Image" -msgstr "" +msgstr "Afbeelding Uploaden" #: src/components/details/DetailsImage.tsx:307 msgid "Delete image" -msgstr "" +msgstr "Afbeelding verwijderen" #: src/components/details/PartIcons.tsx:28 msgid "Part is not active" -msgstr "" +msgstr "Onderdeel is niet actief" #: src/components/details/PartIcons.tsx:34 -#: src/pages/company/CompanyDetail.tsx:308 -#: src/pages/company/SupplierPartDetail.tsx:304 -#: src/pages/part/PartDetail.tsx:684 +#: src/components/render/Plugin.tsx:17 +#: src/pages/company/CompanyDetail.tsx:310 +#: src/pages/company/SupplierPartDetail.tsx:305 +#: src/pages/part/PartDetail.tsx:685 msgid "Inactive" -msgstr "" +msgstr "Inactief" #: src/components/details/PartIcons.tsx:41 msgid "Part is a template part (variants can be made from this part)" -msgstr "" +msgstr "Onderdeel is een sjabloondeel (varianten kunnen van dit deel gemaakt worden)" #: src/components/details/PartIcons.tsx:47 msgid "Part can be assembled from other parts" -msgstr "" +msgstr "Onderdeel kan vanuit andere onderdelen worden samengesteld" #: src/components/details/PartIcons.tsx:53 msgid "Part can be used in assemblies" -msgstr "" +msgstr "Onderdeel kan gebruikt worden in samenstellingen" #: src/components/details/PartIcons.tsx:59 msgid "Part stock is tracked by serial number" -msgstr "" +msgstr "Voorraad onderdeel wordt bijgehouden op serienummer" #: src/components/details/PartIcons.tsx:65 msgid "Part can be purchased from external suppliers" -msgstr "" +msgstr "Onderdeel kan worden gekocht bij externe leveranciers" #: src/components/details/PartIcons.tsx:71 msgid "Part can be sold to customers" -msgstr "" +msgstr "Onderdeel kan aan klanten worden verkocht" #: src/components/details/PartIcons.tsx:76 msgid "Part is virtual (not a physical part)" -msgstr "" +msgstr "Onderdeel is virtueel (geen fysiek onderdeel)" #: src/components/details/PartIcons.tsx:82 #: src/tables/part/PartTable.tsx:234 #: src/tables/part/PartTable.tsx:238 #: src/tables/part/PartVariantTable.tsx:25 msgid "Virtual" -msgstr "" +msgstr "Virtueel" #: src/components/editors/TemplateEditor/CodeEditor/index.tsx:9 msgid "Code" -msgstr "" +msgstr "Code" #: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:44 -msgid "Failed to parse error response from server." -msgstr "" +#~ msgid "Failed to parse error response from server." +#~ msgstr "Failed to parse error response from server." -#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:82 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:81 msgid "Preview not available, click \"Reload Preview\"." -msgstr "" +msgstr "Preview niet beschikbaar, klik op \"Herlaad voorbeeld\"." #: src/components/editors/TemplateEditor/PdfPreview/index.tsx:9 msgid "PDF Preview" -msgstr "" +msgstr "PDF voorbeeld" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:113 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:104 msgid "Error loading template" -msgstr "" +msgstr "Fout bij laden sjabloon" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:125 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:116 msgid "Error saving template" +msgstr "Fout tijdens opslaan van template" + +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:146 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:270 +msgid "Save & Reload Preview" msgstr "" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 -msgid "Save & Reload preview?" -msgstr "" - -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:156 msgid "Are you sure you want to Save & Reload the preview?" -msgstr "" +msgstr "Weet u zeker dat u wilt opslaan en het voorbeeld opnieuw wilt laden?" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 +#~ msgid "Save & Reload preview?" +#~ msgstr "Save & Reload preview?" + +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:153 msgid "To render the preview the current template needs to be replaced on the server with your modifications which may break the label if it is under active use. Do you want to proceed?" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:162 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:157 msgid "Save & Reload" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:191 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:189 msgid "Preview updated" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:192 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:190 msgid "The preview has been updated successfully." msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:255 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:262 msgid "Reload preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:256 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:263 msgid "Use the currently stored template from the server" msgstr "" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:263 -msgid "Save & Reload preview" -msgstr "" +#~ msgid "Save & Reload preview" +#~ msgstr "Save & Reload preview" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:264 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:271 msgid "Save the current template and reload the preview" msgstr "" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:322 -#: src/tables/part/PartThumbTable.tsx:203 -msgid "Select" +#~ msgid "to preview" +#~ msgstr "to preview" + +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:329 +msgid "Select instance to preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:322 -msgid "to preview" -msgstr "" - -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:366 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:373 msgid "Error rendering template" msgstr "" -#: src/components/forms/ApiForm.tsx:143 +#: src/components/forms/ApiForm.tsx:148 #: src/functions/forms.tsx:259 msgid "Form Error" msgstr "" -#: src/components/forms/ApiForm.tsx:411 +#: src/components/forms/ApiForm.tsx:428 #: src/components/widgets/MarkdownEditor.tsx:145 msgid "Success" msgstr "" #: src/components/forms/ApiForm.tsx:487 -msgid "Form Errors Exist" -msgstr "" +#~ msgid "Form Errors Exist" +#~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:592 -#: src/tables/plugin/PluginListTable.tsx:445 +#: src/components/forms/ApiForm.tsx:609 +#: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "" -#: src/components/forms/ApiForm.tsx:612 -#: src/components/items/ActionDropdown.tsx:203 +#: src/components/forms/ApiForm.tsx:629 +#: src/components/items/ActionDropdown.tsx:210 #: src/functions/forms.tsx:299 #: src/hooks/UseForm.tsx:122 #: src/pages/Index/Scan.tsx:343 #: src/pages/Notifications.tsx:123 -#: src/tables/InvenTreeTable.tsx:492 +#: src/tables/InvenTreeTable.tsx:498 #: src/tables/RowActions.tsx:71 -#: src/tables/plugin/PluginListTable.tsx:477 -#: src/tables/settings/TemplateTable.tsx:105 -#: src/tables/settings/TemplateTable.tsx:154 -#: src/tables/settings/TemplateTable.tsx:236 +#: src/tables/plugin/PluginListTable.tsx:420 msgid "Delete" msgstr "" @@ -468,18 +526,19 @@ msgstr "" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 -#: src/pages/part/CategoryDetail.tsx:77 -#: src/pages/part/PartDetail.tsx:125 -#: src/pages/stock/LocationDetail.tsx:83 +#: src/pages/part/CategoryDetail.tsx:78 +#: src/pages/part/PartDetail.tsx:126 +#: src/pages/stock/LocationDetail.tsx:85 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 #: src/tables/machine/MachineTypeTable.tsx:216 #: src/tables/machine/MachineTypeTable.tsx:319 #: src/tables/plugin/PluginErrorTable.tsx:33 -#: src/tables/plugin/PluginListTable.tsx:169 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:27 +#: src/tables/plugin/PluginListTable.tsx:126 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:32 #: src/tables/settings/GroupTable.tsx:103 #: src/tables/settings/PendingTasksTable.tsx:26 +#: src/tables/stock/LocationTypesTable.tsx:60 msgid "Name" msgstr "" @@ -520,35 +579,20 @@ msgstr "" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/ApiFormField.tsx:276 -#: src/components/modals/LicenseModal.tsx:75 -#: src/components/nav/SearchDrawer.tsx:413 -#: src/components/widgets/MarkdownEditor.tsx:107 -#: src/components/widgets/MarkdownEditor.tsx:153 -#: src/pages/ErrorPage.tsx:12 -#: src/pages/ErrorPage.tsx:25 -#: src/pages/part/PartPricingPanel.tsx:71 -#: src/tables/InvenTreeTable.tsx:445 -#: src/tables/InvenTreeTable.tsx:525 -#: src/tables/plugin/PluginListTable.tsx:402 -#: src/tables/stock/StockItemTestResultTable.tsx:319 -msgid "Error" -msgstr "" - -#: src/components/forms/fields/RelatedModelField.tsx:305 +#: src/components/forms/fields/RelatedModelField.tsx:315 #: src/pages/Index/Settings/UserSettings.tsx:64 #: src/tables/Search.tsx:23 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:306 +#: src/components/forms/fields/RelatedModelField.tsx:316 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:120 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:308 +#: src/components/forms/fields/RelatedModelField.tsx:318 msgid "No results found" msgstr "" @@ -569,54 +613,51 @@ msgstr "" msgid "Thumbnail" msgstr "" -#: src/components/items/ActionDropdown.tsx:112 -#: src/pages/build/BuildDetail.tsx:354 +#: src/components/items/ActionDropdown.tsx:119 +#: src/pages/build/BuildDetail.tsx:360 msgid "Barcode Actions" msgstr "" -#: src/components/items/ActionDropdown.tsx:129 +#: src/components/items/ActionDropdown.tsx:136 msgid "View" msgstr "" -#: src/components/items/ActionDropdown.tsx:130 +#: src/components/items/ActionDropdown.tsx:137 msgid "View barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:146 +#: src/components/items/ActionDropdown.tsx:153 msgid "Link Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:147 +#: src/components/items/ActionDropdown.tsx:154 msgid "Link custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:163 -#: src/forms/PurchaseOrderForms.tsx:375 +#: src/components/items/ActionDropdown.tsx:170 +#: src/forms/PurchaseOrderForms.tsx:389 msgid "Unlink Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:164 +#: src/components/items/ActionDropdown.tsx:171 msgid "Unlink custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:182 +#: src/components/items/ActionDropdown.tsx:189 #: src/tables/RowActions.tsx:51 -#: src/tables/settings/TemplateTable.tsx:87 -#: src/tables/settings/TemplateTable.tsx:150 -#: src/tables/settings/TemplateTable.tsx:287 msgid "Edit" msgstr "" -#: src/components/items/ActionDropdown.tsx:204 +#: src/components/items/ActionDropdown.tsx:211 msgid "Delete item" msgstr "" -#: src/components/items/ActionDropdown.tsx:241 +#: src/components/items/ActionDropdown.tsx:248 #: src/tables/RowActions.tsx:31 msgid "Duplicate" msgstr "" -#: src/components/items/ActionDropdown.tsx:242 +#: src/components/items/ActionDropdown.tsx:249 msgid "Duplicate item" msgstr "" @@ -625,7 +666,7 @@ msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:437 +#: src/tables/InvenTreeTable.tsx:443 msgid "Unknown error" msgstr "" @@ -785,27 +826,27 @@ msgstr "" #: src/components/modals/QrCodeModal.tsx:154 #: src/defaults/menuItems.tsx:21 -#: src/pages/Index/Scan.tsx:747 +#: src/pages/Index/Scan.tsx:746 msgid "Scanning" msgstr "" #: src/components/modals/QrCodeModal.tsx:154 -#: src/pages/Index/Scan.tsx:747 +#: src/pages/Index/Scan.tsx:746 msgid "Not scanning" msgstr "" #: src/components/modals/QrCodeModal.tsx:159 -#: src/pages/Index/Scan.tsx:753 +#: src/pages/Index/Scan.tsx:752 msgid "Select Camera" msgstr "" #: src/components/modals/QrCodeModal.tsx:169 -#: src/pages/Index/Scan.tsx:738 +#: src/pages/Index/Scan.tsx:737 msgid "Start scanning" msgstr "" #: src/components/modals/QrCodeModal.tsx:176 -#: src/pages/Index/Scan.tsx:730 +#: src/pages/Index/Scan.tsx:729 msgid "Stop scanning" msgstr "" @@ -891,8 +932,8 @@ msgid "Email settings not configured" msgstr "" #: src/components/modals/ServerInfoModal.tsx:121 -#: src/tables/plugin/PluginListTable.tsx:187 -#: src/tables/plugin/PluginListTable.tsx:319 +#: src/tables/plugin/PluginListTable.tsx:144 +#: src/tables/plugin/PluginListTable.tsx:294 msgid "Version" msgstr "" @@ -926,13 +967,13 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:293 +#: src/pages/Index/Settings/SystemSettings.tsx:294 msgid "System Settings" msgstr "" #: src/components/nav/MainMenu.tsx:67 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:172 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 msgid "Admin Center" msgstr "" @@ -975,7 +1016,7 @@ msgid "Pages" msgstr "" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:133 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:153 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "" @@ -1013,9 +1054,9 @@ msgid "Mark as read" msgstr "" #: src/components/nav/PartCategoryTree.tsx:158 -#: src/components/render/ModelType.tsx:60 +#: src/components/render/ModelType.tsx:64 #: src/pages/Index/Settings/SystemSettings.tsx:162 -#: src/pages/part/CategoryDetail.tsx:248 +#: src/pages/part/CategoryDetail.tsx:249 msgid "Part Categories" msgstr "" @@ -1052,142 +1093,147 @@ msgid "No results available for search query" msgstr "" #: src/components/nav/StockLocationTree.tsx:93 -#: src/components/render/ModelType.tsx:76 -#: src/pages/stock/LocationDetail.tsx:175 +#: src/components/render/ModelType.tsx:82 +#: src/pages/stock/LocationDetail.tsx:185 msgid "Stock Locations" msgstr "" -#: src/components/render/Instance.tsx:137 +#: src/components/render/Instance.tsx:166 msgid "Unknown model: {model}" msgstr "" -#: src/components/render/ModelType.tsx:21 -#: src/forms/BuildForms.tsx:184 -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49 +#: src/components/render/ModelType.tsx:22 +#: src/forms/BuildForms.tsx:201 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:83 #: src/pages/part/PartDetail.tsx:828 #: src/tables/part/RelatedPartTable.tsx:45 +#: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" msgstr "" -#: src/components/render/ModelType.tsx:22 +#: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 #: src/pages/Index/Settings/SystemSettings.tsx:167 -#: src/pages/part/CategoryDetail.tsx:109 -#: src/pages/part/CategoryDetail.tsx:234 -#: src/pages/part/CategoryDetail.tsx:264 -#: src/pages/part/PartDetail.tsx:638 +#: src/pages/part/CategoryDetail.tsx:110 +#: src/pages/part/CategoryDetail.tsx:235 +#: src/pages/part/CategoryDetail.tsx:265 +#: src/pages/part/PartDetail.tsx:639 msgid "Parts" msgstr "" -#: src/components/render/ModelType.tsx:29 +#: src/components/render/ModelType.tsx:31 msgid "Part Parameter Template" msgstr "" -#: src/components/render/ModelType.tsx:30 +#: src/components/render/ModelType.tsx:32 msgid "Part Parameter Templates" msgstr "" -#: src/components/render/ModelType.tsx:36 +#: src/components/render/ModelType.tsx:38 msgid "Part Test Template" msgstr "" -#: src/components/render/ModelType.tsx:37 +#: src/components/render/ModelType.tsx:39 msgid "Part Test Templates" msgstr "" -#: src/components/render/ModelType.tsx:43 -#: src/pages/company/SupplierPartDetail.tsx:189 -#: src/pages/company/SupplierPartDetail.tsx:317 -#: src/pages/stock/StockDetail.tsx:159 +#: src/components/render/ModelType.tsx:45 +#: src/pages/company/SupplierPartDetail.tsx:190 +#: src/pages/company/SupplierPartDetail.tsx:318 +#: src/pages/stock/StockDetail.tsx:162 #: src/tables/purchasing/SupplierPartTable.tsx:68 msgid "Supplier Part" msgstr "" -#: src/components/render/ModelType.tsx:44 +#: src/components/render/ModelType.tsx:46 msgid "Supplier Parts" msgstr "" -#: src/components/render/ModelType.tsx:51 -#: src/pages/company/ManufacturerPartDetail.tsx:124 +#: src/components/render/ModelType.tsx:54 +#: src/pages/company/ManufacturerPartDetail.tsx:125 msgid "Manufacturer Part" msgstr "" -#: src/components/render/ModelType.tsx:52 +#: src/components/render/ModelType.tsx:55 msgid "Manufacturer Parts" msgstr "" -#: src/components/render/ModelType.tsx:59 -#: src/pages/part/CategoryDetail.tsx:287 +#: src/components/render/ModelType.tsx:63 +#: src/pages/part/CategoryDetail.tsx:288 msgid "Part Category" msgstr "" -#: src/components/render/ModelType.tsx:67 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67 -#: src/pages/stock/StockDetail.tsx:535 +#: src/components/render/ModelType.tsx:72 +#: src/pages/stock/StockDetail.tsx:548 +#: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" msgstr "" -#: src/components/render/ModelType.tsx:68 -#: src/pages/company/CompanyDetail.tsx:197 -#: src/pages/stock/LocationDetail.tsx:116 -#: src/pages/stock/LocationDetail.tsx:161 +#: src/components/render/ModelType.tsx:73 +#: src/pages/company/CompanyDetail.tsx:199 +#: src/pages/stock/LocationDetail.tsx:118 +#: src/pages/stock/LocationDetail.tsx:171 #: src/pages/stock/LocationDetail.tsx:365 msgid "Stock Items" msgstr "" -#: src/components/render/ModelType.tsx:75 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:154 +#: src/components/render/ModelType.tsx:81 msgid "Stock Location" msgstr "" -#: src/components/render/ModelType.tsx:83 +#: src/components/render/ModelType.tsx:90 +msgid "Stock Location Type" +msgstr "" + +#: src/components/render/ModelType.tsx:91 +msgid "Stock Location Types" +msgstr "" + +#: src/components/render/ModelType.tsx:95 msgid "Stock History" msgstr "" -#: src/components/render/ModelType.tsx:84 +#: src/components/render/ModelType.tsx:96 msgid "Stock Histories" msgstr "" -#: src/components/render/ModelType.tsx:88 +#: src/components/render/ModelType.tsx:100 #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:43 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:126 msgid "Build" msgstr "" -#: src/components/render/ModelType.tsx:89 +#: src/components/render/ModelType.tsx:101 msgid "Builds" msgstr "" -#: src/components/render/ModelType.tsx:96 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:76 +#: src/components/render/ModelType.tsx:109 msgid "Build Line" msgstr "" -#: src/components/render/ModelType.tsx:97 +#: src/components/render/ModelType.tsx:110 msgid "Build Lines" msgstr "" -#: src/components/render/ModelType.tsx:104 -#: src/pages/company/CompanyDetail.tsx:321 +#: src/components/render/ModelType.tsx:117 +#: src/pages/company/CompanyDetail.tsx:323 msgid "Company" msgstr "" -#: src/components/render/ModelType.tsx:105 +#: src/components/render/ModelType.tsx:118 msgid "Companies" msgstr "" -#: src/components/render/ModelType.tsx:112 +#: src/components/render/ModelType.tsx:126 #: src/tables/TableHoverCard.tsx:58 #: src/tables/build/BuildOrderTable.tsx:131 #: src/tables/purchasing/PurchaseOrderTable.tsx:64 @@ -1196,170 +1242,199 @@ msgstr "" msgid "Project Code" msgstr "" -#: src/components/render/ModelType.tsx:113 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:97 +#: src/components/render/ModelType.tsx:127 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:105 msgid "Project Codes" msgstr "" -#: src/components/render/ModelType.tsx:119 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99 +#: src/components/render/ModelType.tsx:133 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:355 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:362 +#: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" msgstr "" -#: src/components/render/ModelType.tsx:120 -#: src/pages/Index/Settings/SystemSettings.tsx:242 -#: src/pages/company/CompanyDetail.tsx:190 -#: src/pages/company/SupplierPartDetail.tsx:223 -#: src/pages/part/PartDetail.tsx:571 +#: src/components/render/ModelType.tsx:134 +#: src/pages/Index/Settings/SystemSettings.tsx:243 +#: src/pages/company/CompanyDetail.tsx:192 +#: src/pages/company/SupplierPartDetail.tsx:224 +#: src/pages/part/PartDetail.tsx:572 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" -#: src/components/render/ModelType.tsx:127 +#: src/components/render/ModelType.tsx:142 msgid "Purchase Order Line" msgstr "" -#: src/components/render/ModelType.tsx:128 +#: src/components/render/ModelType.tsx:143 msgid "Purchase Order Lines" msgstr "" -#: src/components/render/ModelType.tsx:132 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:108 +#: src/components/render/ModelType.tsx:147 #: src/pages/build/BuildDetail.tsx:131 -#: src/pages/sales/SalesOrderDetail.tsx:340 -#: src/pages/stock/StockDetail.tsx:207 +#: src/pages/sales/SalesOrderDetail.tsx:347 +#: src/pages/stock/StockDetail.tsx:210 +#: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" msgstr "Verkooporder" -#: src/components/render/ModelType.tsx:133 -#: src/pages/Index/Settings/SystemSettings.tsx:257 -#: src/pages/company/CompanyDetail.tsx:210 -#: src/pages/part/PartDetail.tsx:577 +#: src/components/render/ModelType.tsx:148 +#: src/pages/Index/Settings/SystemSettings.tsx:258 +#: src/pages/company/CompanyDetail.tsx:212 +#: src/pages/part/PartDetail.tsx:578 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "Verkooporders" -#: src/components/render/ModelType.tsx:140 +#: src/components/render/ModelType.tsx:156 msgid "Sales Order Shipment" msgstr "Verzending verkooporder" -#: src/components/render/ModelType.tsx:141 +#: src/components/render/ModelType.tsx:157 msgid "Sales Order Shipments" msgstr "Verzendingen verkooporders" -#: src/components/render/ModelType.tsx:147 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:117 -#: src/pages/sales/ReturnOrderDetail.tsx:318 +#: src/components/render/ModelType.tsx:163 +#: src/pages/sales/ReturnOrderDetail.tsx:325 +#: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "Retourorder" -#: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:272 -#: src/pages/company/CompanyDetail.tsx:217 +#: src/components/render/ModelType.tsx:164 +#: src/pages/Index/Settings/SystemSettings.tsx:273 +#: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" msgstr "Retourorders" -#: src/components/render/ModelType.tsx:155 +#: src/components/render/ModelType.tsx:172 #: src/tables/company/AddressTable.tsx:47 msgid "Address" msgstr "" -#: src/components/render/ModelType.tsx:156 -#: src/pages/company/CompanyDetail.tsx:247 +#: src/components/render/ModelType.tsx:173 +#: src/pages/company/CompanyDetail.tsx:249 msgid "Addresses" msgstr "" -#: src/components/render/ModelType.tsx:162 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:189 -#: src/pages/sales/ReturnOrderDetail.tsx:157 -#: src/pages/sales/SalesOrderDetail.tsx:161 +#: src/components/render/ModelType.tsx:179 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:191 +#: src/pages/sales/ReturnOrderDetail.tsx:159 +#: src/pages/sales/SalesOrderDetail.tsx:163 msgid "Contact" msgstr "" -#: src/components/render/ModelType.tsx:163 -#: src/pages/company/CompanyDetail.tsx:241 +#: src/components/render/ModelType.tsx:180 +#: src/pages/company/CompanyDetail.tsx:243 msgid "Contacts" msgstr "" -#: src/components/render/ModelType.tsx:169 +#: src/components/render/ModelType.tsx:186 msgid "Owner" msgstr "" -#: src/components/render/ModelType.tsx:170 +#: src/components/render/ModelType.tsx:187 msgid "Owners" msgstr "" -#: src/components/render/ModelType.tsx:176 +#: src/components/render/ModelType.tsx:193 +#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "" -#: src/components/render/ModelType.tsx:177 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:73 +#: src/components/render/ModelType.tsx:194 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:81 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "" -#: src/components/render/Order.tsx:87 +#: src/components/render/ModelType.tsx:200 +msgid "Label Template" +msgstr "" + +#: src/components/render/ModelType.tsx:201 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:135 +msgid "Label Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:207 +msgid "Report Template" +msgstr "" + +#: src/components/render/ModelType.tsx:208 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:141 +msgid "Report Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:214 +msgid "Plugin Configuration" +msgstr "" + +#: src/components/render/ModelType.tsx:215 +msgid "Plugin Configurations" +msgstr "" + +#: src/components/render/Order.tsx:104 msgid "Shipment" msgstr "" -#: src/components/render/Part.tsx:12 +#: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:198 -#: src/pages/part/PartDetail.tsx:491 +#: src/pages/Index/Settings/SystemSettings.tsx:199 +#: src/pages/part/PartDetail.tsx:492 #: src/pages/stock/LocationDetail.tsx:344 -#: src/pages/stock/StockDetail.tsx:344 +#: src/pages/stock/StockDetail.tsx:352 #: src/tables/stock/StockItemTable.tsx:57 msgid "Stock" msgstr "" -#: src/components/render/Stock.tsx:26 -#: src/pages/stock/StockDetail.tsx:142 -#: src/pages/stock/StockDetail.tsx:501 +#: src/components/render/Stock.tsx:52 +#: src/pages/stock/StockDetail.tsx:145 +#: src/pages/stock/StockDetail.tsx:514 msgid "Serial Number" msgstr "" -#: src/components/render/Stock.tsx:28 -#: src/forms/BuildForms.tsx:189 +#: src/components/render/Stock.tsx:54 +#: src/forms/BuildForms.tsx:206 #: src/pages/part/pricing/BomPricingPanel.tsx:144 -#: src/pages/part/pricing/PriceBreakPanel.tsx:96 -#: src/pages/stock/StockDetail.tsx:137 -#: src/pages/stock/StockDetail.tsx:507 +#: src/pages/part/pricing/PriceBreakPanel.tsx:94 +#: src/pages/stock/StockDetail.tsx:140 +#: src/pages/stock/StockDetail.tsx:520 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:73 +#: src/tables/stock/StockTrackingTable.tsx:59 msgid "Quantity" msgstr "" -#: src/components/settings/SettingItem.tsx:46 -#: src/components/settings/SettingItem.tsx:99 -msgid "Setting updated" -msgstr "" - #: src/components/settings/SettingItem.tsx:47 #: src/components/settings/SettingItem.tsx:100 -msgid "{0} updated successfully" -msgstr "" +#~ msgid "{0} updated successfully" +#~ msgstr "{0} updated successfully" -#: src/components/settings/SettingItem.tsx:55 -msgid "Error editing setting" -msgstr "" - -#: src/components/settings/SettingItem.tsx:92 +#: src/components/settings/SettingList.tsx:67 msgid "Edit Setting" msgstr "" -#: src/components/settings/SettingList.tsx:63 -msgid "No settings specified" +#: src/components/settings/SettingList.tsx:78 +#: src/components/settings/SettingList.tsx:108 +msgid "Setting {0} updated successfully" msgstr "" -#: src/components/tables/ColumnRenderers.tsx:134 -#~ msgid "Shipment Date" -#~ msgstr "Shipment Date" +#: src/components/settings/SettingList.tsx:107 +msgid "Setting updated" +msgstr "" + +#: src/components/settings/SettingList.tsx:117 +msgid "Error editing setting" +msgstr "" + +#: src/components/settings/SettingList.tsx:158 +msgid "No settings specified" +msgstr "" #: src/components/tables/FilterGroup.tsx:29 #~ msgid "Add table filter" @@ -1731,10 +1806,6 @@ msgstr "" #~ msgid "This is a test filter" #~ msgstr "This is a test filter" -#: src/components/tables/stock/StockLocationTable.tsx:91 -#~ msgid "Location Type" -#~ msgstr "Location Type" - #: src/components/tables/stock/StockLocationTable.tsx:145 #~ msgid "Stock location updated" #~ msgstr "Stock location updated" @@ -2072,7 +2143,7 @@ msgstr "" #~ msgstr "Local Server" #: src/defaults/links.tsx:11 -#: src/pages/company/CompanyDetail.tsx:90 +#: src/pages/company/CompanyDetail.tsx:92 msgid "Website" msgstr "" @@ -2087,10 +2158,10 @@ msgstr "" #: src/defaults/links.tsx:31 #: src/defaults/menuItems.tsx:48 #: src/pages/company/ManufacturerDetail.tsx:9 -#: src/pages/company/ManufacturerPartDetail.tsx:231 +#: src/pages/company/ManufacturerPartDetail.tsx:235 #: src/pages/company/SupplierDetail.tsx:9 -#: src/pages/company/SupplierPartDetail.tsx:291 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:358 +#: src/pages/company/SupplierPartDetail.tsx:292 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:365 #: src/pages/purchasing/PurchasingIndex.tsx:52 msgid "Purchasing" msgstr "" @@ -2098,15 +2169,15 @@ msgstr "" #: src/defaults/links.tsx:32 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:323 +#: src/pages/sales/ReturnOrderDetail.tsx:330 #: src/pages/sales/SalesIndex.tsx:45 -#: src/pages/sales/SalesOrderDetail.tsx:345 +#: src/pages/sales/SalesOrderDetail.tsx:352 msgid "Sales" msgstr "Verkoop" #: src/defaults/links.tsx:35 #: src/defaults/menuItems.tsx:71 -#: src/pages/Index/Playground.tsx:239 +#: src/pages/Index/Playground.tsx:238 msgid "Playground" msgstr "" @@ -2240,87 +2311,83 @@ msgstr "" #~ msgstr "Combusken battles with the intensely hot flames it spews" #: src/forms/AttachmentForms.tsx:57 -msgid "Add File" -msgstr "" +#~ msgid "Add File" +#~ msgstr "Add File" #: src/forms/AttachmentForms.tsx:57 -msgid "Add Link" -msgstr "" +#~ msgid "Add Link" +#~ msgstr "Add Link" #: src/forms/AttachmentForms.tsx:58 -msgid "File added" -msgstr "" +#~ msgid "File added" +#~ msgstr "File added" #: src/forms/AttachmentForms.tsx:58 -msgid "Link added" -msgstr "" +#~ msgid "Link added" +#~ msgstr "Link added" #: src/forms/AttachmentForms.tsx:99 -msgid "Edit File" -msgstr "" +#~ msgid "Edit File" +#~ msgstr "Edit File" #: src/forms/AttachmentForms.tsx:99 -msgid "Edit Link" -msgstr "" +#~ msgid "Edit Link" +#~ msgstr "Edit Link" #: src/forms/AttachmentForms.tsx:100 -msgid "File updated" -msgstr "" +#~ msgid "File updated" +#~ msgstr "File updated" #: src/forms/AttachmentForms.tsx:100 -msgid "Link updated" -msgstr "" - -#: src/forms/AttachmentForms.tsx:124 -msgid "Delete Attachment" -msgstr "" +#~ msgid "Link updated" +#~ msgstr "Link updated" #: src/forms/AttachmentForms.tsx:125 -msgid "Attachment deleted" -msgstr "" +#~ msgid "Attachment deleted" +#~ msgstr "Attachment deleted" #: src/forms/AttachmentForms.tsx:128 -msgid "Are you sure you want to delete this attachment?" -msgstr "" +#~ msgid "Are you sure you want to delete this attachment?" +#~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BuildForms.tsx:129 +#: src/forms/BuildForms.tsx:146 msgid "Next serial number" msgstr "" -#: src/forms/BuildForms.tsx:133 +#: src/forms/BuildForms.tsx:150 msgid "Latest serial number" msgstr "" -#: src/forms/BuildForms.tsx:205 +#: src/forms/BuildForms.tsx:222 msgid "Remove output" msgstr "" -#: src/forms/BuildForms.tsx:287 +#: src/forms/BuildForms.tsx:304 msgid "Complete Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:291 +#: src/forms/BuildForms.tsx:308 msgid "Build outputs have been completed" msgstr "" -#: src/forms/BuildForms.tsx:360 +#: src/forms/BuildForms.tsx:377 msgid "Scrap Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:364 +#: src/forms/BuildForms.tsx:381 msgid "Build outputs have been scrapped" msgstr "" -#: src/forms/BuildForms.tsx:396 -#: src/forms/BuildForms.tsx:420 +#: src/forms/BuildForms.tsx:413 +#: src/forms/BuildForms.tsx:437 msgid "Cancel Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:397 +#: src/forms/BuildForms.tsx:414 msgid "Selected build outputs will be deleted" msgstr "" -#: src/forms/BuildForms.tsx:424 +#: src/forms/BuildForms.tsx:441 msgid "Build outputs have been cancelled" msgstr "" @@ -2344,76 +2411,76 @@ msgstr "" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PurchaseOrderForms.tsx:265 +#: src/forms/PurchaseOrderForms.tsx:279 msgid "Choose Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:273 +#: src/forms/PurchaseOrderForms.tsx:287 msgid "Item Destination selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:282 +#: src/forms/PurchaseOrderForms.tsx:296 msgid "Part category default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:292 +#: src/forms/PurchaseOrderForms.tsx:306 msgid "Received stock location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:297 +#: src/forms/PurchaseOrderForms.tsx:311 msgid "Default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:308 -#: src/forms/PurchaseOrderForms.tsx:384 +#: src/forms/PurchaseOrderForms.tsx:322 +#: src/forms/PurchaseOrderForms.tsx:398 msgid "Scan Barcode" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:352 +#: src/forms/PurchaseOrderForms.tsx:366 msgid "Set Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:359 +#: src/forms/PurchaseOrderForms.tsx:373 msgid "Assign Batch Code{0}" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:368 +#: src/forms/PurchaseOrderForms.tsx:382 msgid "Change Status" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:393 -#: src/forms/StockForms.tsx:351 +#: src/forms/PurchaseOrderForms.tsx:407 +#: src/forms/StockForms.tsx:392 msgid "Remove item from list" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:418 -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:58 -#: src/pages/stock/StockDetail.tsx:167 -#: src/tables/ColumnRenderers.tsx:42 +#: src/forms/PurchaseOrderForms.tsx:432 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/pages/stock/StockDetail.tsx:170 +#: src/tables/ColumnRenderers.tsx:34 +#: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:434 +#: src/forms/PurchaseOrderForms.tsx:448 msgid "Store at default location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:447 +#: src/forms/PurchaseOrderForms.tsx:461 msgid "Store at line item destination" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:457 +#: src/forms/PurchaseOrderForms.tsx:471 msgid "Store with already received stock" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:613 +#: src/forms/PurchaseOrderForms.tsx:627 msgid "Receive Line Items" msgstr "" @@ -2421,119 +2488,118 @@ msgstr "" #~ msgid "Receive line items" #~ msgstr "Receive line items" -#: src/forms/StockForms.tsx:69 +#: src/forms/StockForms.tsx:101 msgid "Add given quantity as packs instead of individual items" msgstr "" -#: src/forms/StockForms.tsx:80 -msgid "Enter initial quantity for this stock item" -msgstr "" - -#: src/forms/StockForms.tsx:85 -msgid "Serial Numbers" -msgstr "" - -#: src/forms/StockForms.tsx:86 -msgid "Enter serial numbers for new stock (or leave blank)" -msgstr "" - #: src/forms/StockForms.tsx:110 #~ msgid "Create Stock Item" #~ msgstr "Create Stock Item" -#: src/forms/StockForms.tsx:135 -#: src/pages/stock/StockDetail.tsx:367 -#: src/tables/stock/StockItemTable.tsx:382 -#: src/tables/stock/StockItemTable.tsx:499 -msgid "Add Stock Item" +#: src/forms/StockForms.tsx:114 +msgid "Enter initial quantity for this stock item" +msgstr "" + +#: src/forms/StockForms.tsx:121 +msgid "Serial Numbers" +msgstr "" + +#: src/forms/StockForms.tsx:122 +msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" #: src/forms/StockForms.tsx:158 #~ msgid "Stock item updated" #~ msgstr "Stock item updated" -#: src/forms/StockForms.tsx:298 +#: src/forms/StockForms.tsx:176 +#: src/pages/stock/StockDetail.tsx:375 +#: src/tables/stock/StockItemTable.tsx:382 +#: src/tables/stock/StockItemTable.tsx:499 +msgid "Add Stock Item" +msgstr "" + +#: src/forms/StockForms.tsx:339 msgid "Loading..." msgstr "" -#: src/forms/StockForms.tsx:340 +#: src/forms/StockForms.tsx:381 msgid "Move to default location" msgstr "" -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/part/PartDetail.tsx:205 -#: src/pages/part/PartDetail.tsx:654 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/pages/part/PartDetail.tsx:206 +#: src/pages/part/PartDetail.tsx:655 #: src/tables/stock/StockItemTable.tsx:290 msgid "In Stock" msgstr "" -#: src/forms/StockForms.tsx:408 +#: src/forms/StockForms.tsx:449 msgid "Move" msgstr "" -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/tables/RowActions.tsx:147 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/tables/RowActions.tsx:149 msgid "Actions" msgstr "" -#: src/forms/StockForms.tsx:471 -#: src/pages/stock/StockDetail.tsx:440 -#: src/tables/settings/TemplateTable.tsx:266 -#: src/tables/stock/StockItemTestResultTable.tsx:348 +#: src/forms/StockForms.tsx:512 +#: src/pages/stock/StockDetail.tsx:454 +#: src/tables/stock/StockItemTestResultTable.tsx:339 msgid "Add" msgstr "" -#: src/forms/StockForms.tsx:499 +#: src/forms/StockForms.tsx:540 #: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:430 +#: src/pages/stock/StockDetail.tsx:444 msgid "Count" msgstr "" -#: src/forms/StockForms.tsx:744 +#: src/forms/StockForms.tsx:785 msgid "Add Stock" msgstr "" -#: src/forms/StockForms.tsx:753 +#: src/forms/StockForms.tsx:794 msgid "Remove Stock" msgstr "" -#: src/forms/StockForms.tsx:762 -#: src/pages/part/PartDetail.tsx:781 +#: src/forms/StockForms.tsx:803 +#: src/pages/part/PartDetail.tsx:782 msgid "Transfer Stock" msgstr "" -#: src/forms/StockForms.tsx:771 -#: src/pages/part/PartDetail.tsx:770 +#: src/forms/StockForms.tsx:812 +#: src/pages/part/PartDetail.tsx:771 msgid "Count Stock" msgstr "" -#: src/forms/StockForms.tsx:780 +#: src/forms/StockForms.tsx:821 msgid "Change Stock Status" msgstr "" -#: src/forms/StockForms.tsx:789 +#: src/forms/StockForms.tsx:830 msgid "Merge Stock" msgstr "" -#: src/forms/StockForms.tsx:808 +#: src/forms/StockForms.tsx:849 msgid "Delete Stock Items" msgstr "" -#: src/forms/StockForms.tsx:815 +#: src/forms/StockForms.tsx:856 msgid "Parent stock location" msgstr "" @@ -2728,7 +2794,7 @@ msgstr "" msgid "Welcome to your Dashboard{0}" msgstr "" -#: src/pages/Index/Playground.tsx:244 +#: src/pages/Index/Playground.tsx:243 msgid "This page is a showcase for the possibilities of Platform UI." msgstr "" @@ -3138,49 +3204,53 @@ msgstr "" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:79 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:87 msgid "Background Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:85 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:93 msgid "Error Reports" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:91 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:99 msgid "Currencies" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:109 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:117 msgid "Custom Units" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:115 -#: src/pages/part/CategoryDetail.tsx:254 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:123 +#: src/pages/part/CategoryDetail.tsx:255 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:121 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 +#~ msgid "Templates" +#~ msgstr "Templates" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:129 msgid "Category Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 -msgid "Templates" +#: src/pages/Index/Settings/AdminCenter/Index.tsx:147 +msgid "Location types" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:139 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:159 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:149 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:169 msgid "Quick Actions" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:154 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 msgid "Add a new user" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:173 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:193 msgid "Advanced Options" msgstr "" @@ -3225,26 +3295,32 @@ msgstr "" msgid "Plugin Settings" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:25 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:53 +msgid "Background Worker Not Running" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:54 +msgid "The background task manager service is not running. Contact your system administrator." +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:60 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:76 msgid "Pending Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:33 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:64 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:84 msgid "Scheduled Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:41 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:68 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:92 msgid "Failed Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:139 -msgid "Labels" -msgstr "" - #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:39 -msgid "Label" -msgstr "" +#~ msgid "Label" +#~ msgstr "Label" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67 #~ msgid "Stock item" @@ -3255,13 +3331,13 @@ msgstr "" #~ msgstr "Build line" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:88 -msgid "Reports" -msgstr "" +#~ msgid "Reports" +#~ msgstr "Reports" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:89 #: src/pages/build/BuildDetail.tsx:373 -msgid "Report" -msgstr "" +#~ msgid "Report" +#~ msgstr "Report" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99 #~ msgid "Purchase order" @@ -3275,14 +3351,9 @@ msgstr "" #~ msgid "Return order" #~ msgstr "Return order" -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135 -#: src/pages/part/PartDetail.tsx:518 -msgid "Bill of Materials" -msgstr "" - #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:145 -msgid "Tests" -msgstr "" +#~ msgid "Tests" +#~ msgstr "Tests" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:154 #~ msgid "Stock location" @@ -3321,26 +3392,30 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" +#: src/pages/Index/Settings/SystemSettings.tsx:139 +msgid "Labels" +msgstr "" + #: src/pages/Index/Settings/SystemSettings.tsx:145 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:223 -#: src/pages/part/PartDetail.tsx:589 +#: src/pages/Index/Settings/SystemSettings.tsx:224 +#: src/pages/part/PartDetail.tsx:590 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:228 -#: src/pages/build/BuildDetail.tsx:426 +#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:525 -#: src/pages/sales/SalesOrderDetail.tsx:263 +#: src/pages/part/PartDetail.tsx:526 +#: src/pages/sales/SalesOrderDetail.tsx:265 msgid "Build Orders" msgstr "Productieorders" -#: src/pages/Index/Settings/SystemSettings.tsx:296 +#: src/pages/Index/Settings/SystemSettings.tsx:297 msgid "Switch to User Setting" msgstr "" @@ -3397,44 +3472,47 @@ msgstr "" #~ msgstr "Build Status" #: src/pages/build/BuildDetail.tsx:89 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:128 -#: src/pages/sales/ReturnOrderDetail.tsx:95 -#: src/pages/sales/SalesOrderDetail.tsx:99 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:130 +#: src/pages/sales/ReturnOrderDetail.tsx:97 +#: src/pages/sales/SalesOrderDetail.tsx:101 #: src/tables/build/BuildOrderTable.tsx:113 #: src/tables/machine/MachineListTable.tsx:326 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderTable.tsx:46 #: src/tables/sales/SalesOrderTable.tsx:52 #: src/tables/stock/StockItemTable.tsx:259 +#: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "Status" #: src/pages/build/BuildDetail.tsx:95 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:101 -#: src/pages/sales/ReturnOrderDetail.tsx:69 -#: src/pages/sales/SalesOrderDetail.tsx:73 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:103 +#: src/pages/sales/ReturnOrderDetail.tsx:71 +#: src/pages/sales/SalesOrderDetail.tsx:75 +#: src/tables/ColumnRenderers.tsx:106 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" msgstr "" #: src/pages/build/BuildDetail.tsx:100 -#: src/pages/company/CompanyDetail.tsx:84 -#: src/pages/company/ManufacturerPartDetail.tsx:75 -#: src/pages/company/SupplierPartDetail.tsx:82 -#: src/pages/part/CategoryDetail.tsx:91 -#: src/pages/part/PartDetail.tsx:132 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:122 -#: src/pages/sales/ReturnOrderDetail.tsx:89 -#: src/pages/sales/SalesOrderDetail.tsx:93 -#: src/pages/stock/LocationDetail.tsx:97 -#: src/tables/ColumnRenderers.tsx:95 +#: src/pages/company/CompanyDetail.tsx:86 +#: src/pages/company/ManufacturerPartDetail.tsx:76 +#: src/pages/company/SupplierPartDetail.tsx:83 +#: src/pages/part/CategoryDetail.tsx:92 +#: src/pages/part/PartDetail.tsx:133 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:124 +#: src/pages/sales/ReturnOrderDetail.tsx:91 +#: src/pages/sales/SalesOrderDetail.tsx:95 +#: src/pages/stock/LocationDetail.tsx:99 +#: src/tables/ColumnRenderers.tsx:66 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 #: src/tables/machine/MachineTypeTable.tsx:323 #: src/tables/part/RelatedPartTable.tsx:64 -#: src/tables/plugin/PluginListTable.tsx:172 -#: src/tables/plugin/PluginListTable.tsx:302 +#: src/tables/plugin/PluginListTable.tsx:129 +#: src/tables/plugin/PluginListTable.tsx:276 +#: src/tables/stock/LocationTypesTable.tsx:65 msgid "Description" msgstr "" @@ -3447,7 +3525,7 @@ msgid "Build Quantity" msgstr "" #: src/pages/build/BuildDetail.tsx:126 -#: src/pages/build/BuildDetail.tsx:249 +#: src/pages/build/BuildDetail.tsx:256 msgid "Completed Outputs" msgstr "" @@ -3457,10 +3535,10 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:150 -#: src/pages/part/PartDetail.tsx:320 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:214 -#: src/pages/sales/ReturnOrderDetail.tsx:182 -#: src/pages/sales/SalesOrderDetail.tsx:186 +#: src/pages/part/PartDetail.tsx:321 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:184 +#: src/pages/sales/SalesOrderDetail.tsx:188 #: src/tables/build/BuildOrderTable.tsx:148 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 @@ -3474,10 +3552,10 @@ msgid "Created" msgstr "" #: src/pages/build/BuildDetail.tsx:164 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:207 -#: src/pages/sales/ReturnOrderDetail.tsx:175 -#: src/pages/sales/SalesOrderDetail.tsx:179 -#: src/tables/ColumnRenderers.tsx:227 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:209 +#: src/pages/sales/ReturnOrderDetail.tsx:177 +#: src/pages/sales/SalesOrderDetail.tsx:181 +#: src/tables/ColumnRenderers.tsx:191 msgid "Target Date" msgstr "" @@ -3513,6 +3591,11 @@ msgstr "" #~ msgid "Unlink custom barcode from part" #~ msgstr "Unlink custom barcode from part" +#: src/pages/build/BuildDetail.tsx:197 +#: src/pages/stock/StockDetail.tsx:526 +msgid "Batch Code" +msgstr "" + #: src/pages/build/BuildDetail.tsx:202 #~ msgid "Build Order updated" #~ msgstr "Build Order updated" @@ -3521,86 +3604,87 @@ msgstr "" #~ msgid "Edit build order" #~ msgstr "Edit build order" -#: src/pages/build/BuildDetail.tsx:222 -msgid "Build Details" -msgstr "" - #: src/pages/build/BuildDetail.tsx:226 #~ msgid "Duplicate build order" #~ msgstr "Duplicate build order" -#: src/pages/build/BuildDetail.tsx:228 -#: src/tables/build/BuildLineTable.tsx:225 -msgid "Allocate Stock" +#: src/pages/build/BuildDetail.tsx:229 +msgid "Build Details" msgstr "" #: src/pages/build/BuildDetail.tsx:231 #~ msgid "Delete build order" #~ msgstr "Delete build order" -#: src/pages/build/BuildDetail.tsx:242 +#: src/pages/build/BuildDetail.tsx:235 +#: src/tables/build/BuildLineTable.tsx:225 +msgid "Allocate Stock" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:249 msgid "Incomplete Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:264 +#: src/pages/build/BuildDetail.tsx:271 msgid "Consumed Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:278 +#: src/pages/build/BuildDetail.tsx:285 msgid "Child Build Orders" msgstr "" -#: src/pages/build/BuildDetail.tsx:288 -#: src/pages/company/CompanyDetail.tsx:253 -#: src/pages/company/ManufacturerPartDetail.tsx:171 -#: src/pages/part/PartDetail.tsx:611 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:276 -#: src/pages/sales/ReturnOrderDetail.tsx:225 -#: src/pages/sales/SalesOrderDetail.tsx:273 -#: src/pages/stock/StockDetail.tsx:317 +#: src/pages/build/BuildDetail.tsx:295 +#: src/pages/company/CompanyDetail.tsx:255 +#: src/pages/company/ManufacturerPartDetail.tsx:172 +#: src/pages/part/PartDetail.tsx:612 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:278 +#: src/pages/sales/ReturnOrderDetail.tsx:227 +#: src/pages/sales/SalesOrderDetail.tsx:275 +#: src/pages/stock/StockDetail.tsx:325 msgid "Attachments" msgstr "Bijlagen" -#: src/pages/build/BuildDetail.tsx:300 -#: src/pages/company/CompanyDetail.tsx:265 -#: src/pages/part/PartDetail.tsx:623 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:288 -#: src/pages/sales/ReturnOrderDetail.tsx:237 -#: src/pages/sales/SalesOrderDetail.tsx:285 -#: src/pages/stock/StockDetail.tsx:329 +#: src/pages/build/BuildDetail.tsx:307 +#: src/pages/company/CompanyDetail.tsx:267 +#: src/pages/part/PartDetail.tsx:624 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:290 +#: src/pages/sales/ReturnOrderDetail.tsx:239 +#: src/pages/sales/SalesOrderDetail.tsx:287 +#: src/pages/stock/StockDetail.tsx:337 +#: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "Opmerkingen" -#: src/pages/build/BuildDetail.tsx:318 +#: src/pages/build/BuildDetail.tsx:325 msgid "Edit Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:327 +#: src/pages/build/BuildDetail.tsx:334 msgid "Cancel Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:339 +#: src/pages/build/BuildDetail.tsx:346 #: src/tables/build/BuildOrderTable.tsx:167 #: src/tables/build/BuildOrderTable.tsx:182 msgid "Add Build Order" msgstr "" #: src/pages/build/BuildDetail.tsx:368 -msgid "Reporting Actions" -msgstr "" +#~ msgid "Reporting Actions" +#~ msgstr "Reporting Actions" #: src/pages/build/BuildDetail.tsx:374 -msgid "Print build report" -msgstr "" +#~ msgid "Print build report" +#~ msgstr "Print build report" -#: src/pages/build/BuildDetail.tsx:380 +#: src/pages/build/BuildDetail.tsx:378 msgid "Build Order Actions" msgstr "" -#: src/pages/build/BuildDetail.tsx:388 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:326 -#: src/pages/sales/ReturnOrderDetail.tsx:300 -#: src/pages/sales/SalesOrderDetail.tsx:310 +#: src/pages/build/BuildDetail.tsx:386 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:333 +#: src/pages/sales/ReturnOrderDetail.tsx:307 +#: src/pages/sales/SalesOrderDetail.tsx:317 msgid "Cancel order" msgstr "" @@ -3612,56 +3696,58 @@ msgstr "" #~ msgid "New Build Order" #~ msgstr "New Build Order" -#: src/pages/company/CompanyDetail.tsx:98 +#: src/pages/company/CompanyDetail.tsx:100 msgid "Phone Number" msgstr "" -#: src/pages/company/CompanyDetail.tsx:105 +#: src/pages/company/CompanyDetail.tsx:107 msgid "Email Address" msgstr "" -#: src/pages/company/CompanyDetail.tsx:115 +#: src/pages/company/CompanyDetail.tsx:117 msgid "Default Currency" msgstr "" -#: src/pages/company/CompanyDetail.tsx:120 +#: src/pages/company/CompanyDetail.tsx:122 #: src/pages/company/SupplierDetail.tsx:8 -#: src/pages/company/SupplierPartDetail.tsx:106 -#: src/pages/company/SupplierPartDetail.tsx:192 -#: src/pages/company/SupplierPartDetail.tsx:295 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:116 +#: src/pages/company/SupplierPartDetail.tsx:107 +#: src/pages/company/SupplierPartDetail.tsx:193 +#: src/pages/company/SupplierPartDetail.tsx:296 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:118 #: src/tables/company/CompanyTable.tsx:100 #: src/tables/purchasing/PurchaseOrderTable.tsx:88 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:36 msgid "Supplier" msgstr "" -#: src/pages/company/CompanyDetail.tsx:126 +#: src/pages/company/CompanyDetail.tsx:128 #: src/pages/company/ManufacturerDetail.tsx:8 -#: src/pages/company/ManufacturerPartDetail.tsx:93 -#: src/pages/company/ManufacturerPartDetail.tsx:235 -#: src/pages/company/SupplierPartDetail.tsx:121 +#: src/pages/company/ManufacturerPartDetail.tsx:94 +#: src/pages/company/ManufacturerPartDetail.tsx:239 +#: src/pages/company/SupplierPartDetail.tsx:122 #: src/tables/company/CompanyTable.tsx:105 msgid "Manufacturer" msgstr "" -#: src/pages/company/CompanyDetail.tsx:132 +#: src/pages/company/CompanyDetail.tsx:134 #: src/pages/company/CustomerDetail.tsx:8 #: src/pages/part/pricing/SaleHistoryPanel.tsx:39 -#: src/pages/sales/ReturnOrderDetail.tsx:83 -#: src/pages/sales/SalesOrderDetail.tsx:87 -#: src/pages/stock/StockDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:85 +#: src/pages/sales/SalesOrderDetail.tsx:89 +#: src/pages/stock/StockDetail.tsx:219 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:107 +#: src/tables/stock/StockTrackingTable.tsx:140 msgid "Customer" msgstr "Klant" -#: src/pages/company/CompanyDetail.tsx:166 +#: src/pages/company/CompanyDetail.tsx:168 +#: src/tables/stock/StockTrackingTable.tsx:183 msgid "Details" msgstr "" -#: src/pages/company/CompanyDetail.tsx:172 +#: src/pages/company/CompanyDetail.tsx:174 msgid "Manufactured Parts" msgstr "" @@ -3669,7 +3755,7 @@ msgstr "" #~ msgid "Edit company" #~ msgstr "Edit company" -#: src/pages/company/CompanyDetail.tsx:181 +#: src/pages/company/CompanyDetail.tsx:183 msgid "Supplied Parts" msgstr "" @@ -3677,289 +3763,289 @@ msgstr "" #~ msgid "Delete company" #~ msgstr "Delete company" -#: src/pages/company/CompanyDetail.tsx:226 +#: src/pages/company/CompanyDetail.tsx:228 msgid "Assigned Stock" msgstr "" -#: src/pages/company/CompanyDetail.tsx:281 +#: src/pages/company/CompanyDetail.tsx:283 #: src/tables/company/CompanyTable.tsx:86 msgid "Edit Company" msgstr "" -#: src/pages/company/CompanyDetail.tsx:290 +#: src/pages/company/CompanyDetail.tsx:292 msgid "Company Actions" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:68 -#: src/pages/company/SupplierPartDetail.tsx:75 +#: src/pages/company/ManufacturerPartDetail.tsx:69 +#: src/pages/company/SupplierPartDetail.tsx:76 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:72 msgid "Internal Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:83 -#: src/pages/company/SupplierPartDetail.tsx:89 +#: src/pages/company/ManufacturerPartDetail.tsx:84 +#: src/pages/company/SupplierPartDetail.tsx:90 msgid "External Link" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:101 -#: src/pages/company/SupplierPartDetail.tsx:130 -#: src/tables/purchasing/ManufacturerPartTable.tsx:53 +#: src/pages/company/ManufacturerPartDetail.tsx:102 +#: src/pages/company/SupplierPartDetail.tsx:131 +#: src/tables/purchasing/ManufacturerPartTable.tsx:56 msgid "Manufacturer Part Number" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:130 +#: src/pages/company/ManufacturerPartDetail.tsx:131 msgid "Manufacturer Details" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:139 +#: src/pages/company/ManufacturerPartDetail.tsx:140 msgid "Manufacturer Part Details" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:145 -#: src/pages/part/PartDetail.tsx:485 +#: src/pages/company/ManufacturerPartDetail.tsx:146 +#: src/pages/part/PartDetail.tsx:486 msgid "Parameters" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:157 -#: src/pages/part/PartDetail.tsx:558 +#: src/pages/company/ManufacturerPartDetail.tsx:158 +#: src/pages/part/PartDetail.tsx:559 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:189 -#: src/tables/purchasing/ManufacturerPartTable.tsx:97 +#: src/pages/company/ManufacturerPartDetail.tsx:190 +#: src/tables/purchasing/ManufacturerPartTable.tsx:84 msgid "Edit Manufacturer Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:196 -#: src/tables/purchasing/ManufacturerPartTable.tsx:63 -#: src/tables/purchasing/ManufacturerPartTable.tsx:78 +#: src/pages/company/ManufacturerPartDetail.tsx:197 +#: src/tables/purchasing/ManufacturerPartTable.tsx:72 +#: src/tables/purchasing/ManufacturerPartTable.tsx:103 msgid "Add Manufacturer Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:209 +#: src/pages/company/ManufacturerPartDetail.tsx:213 msgid "Manufacturer Part Actions" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:247 +#: src/pages/company/ManufacturerPartDetail.tsx:251 msgid "ManufacturerPart" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:96 -#: src/tables/ColumnRenderers.tsx:146 +#: src/pages/company/SupplierPartDetail.tsx:97 +#: src/tables/ColumnRenderers.tsx:117 msgid "Note" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:114 +#: src/pages/company/SupplierPartDetail.tsx:115 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:57 msgid "SKU" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:142 -#: src/pages/company/SupplierPartDetail.tsx:193 -#: src/pages/stock/StockDetail.tsx:230 +#: src/pages/company/SupplierPartDetail.tsx:143 +#: src/pages/company/SupplierPartDetail.tsx:194 +#: src/pages/stock/StockDetail.tsx:233 msgid "Packaging" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:149 +#: src/pages/company/SupplierPartDetail.tsx:150 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:107 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143 #: src/tables/purchasing/SupplierPartTable.tsx:131 msgid "Pack Quantity" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:160 +#: src/pages/company/SupplierPartDetail.tsx:161 msgid "Supplier Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:167 +#: src/pages/company/SupplierPartDetail.tsx:168 msgid "Availability Updated" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:194 +#: src/pages/company/SupplierPartDetail.tsx:195 msgid "Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:203 +#: src/pages/company/SupplierPartDetail.tsx:204 msgid "Supplier Part Details" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:209 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:263 +#: src/pages/company/SupplierPartDetail.tsx:210 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:265 msgid "Received Stock" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:233 +#: src/pages/company/SupplierPartDetail.tsx:234 #: src/pages/part/PartPricingPanel.tsx:115 #: src/pages/part/pricing/PricingOverviewPanel.tsx:130 msgid "Supplier Pricing" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:248 +#: src/pages/company/SupplierPartDetail.tsx:249 msgid "Supplier Part Actions" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:272 +#: src/pages/company/SupplierPartDetail.tsx:273 #: src/tables/purchasing/SupplierPartTable.tsx:210 msgid "Edit Supplier Part" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:279 +#: src/pages/company/SupplierPartDetail.tsx:280 #: src/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "" -#: src/pages/part/CategoryDetail.tsx:83 -#: src/pages/stock/LocationDetail.tsx:89 +#: src/pages/part/CategoryDetail.tsx:84 +#: src/pages/stock/LocationDetail.tsx:91 #: src/tables/settings/ErrorTable.tsx:34 msgid "Path" msgstr "" -#: src/pages/part/CategoryDetail.tsx:99 +#: src/pages/part/CategoryDetail.tsx:100 msgid "Parent Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:116 +#: src/pages/part/CategoryDetail.tsx:117 msgid "Subcategories" msgstr "" -#: src/pages/part/CategoryDetail.tsx:123 -#: src/pages/stock/LocationDetail.tsx:129 -#: src/tables/part/PartCategoryTable.tsx:69 +#: src/pages/part/CategoryDetail.tsx:124 +#: src/pages/stock/LocationDetail.tsx:131 +#: src/tables/part/PartCategoryTable.tsx:65 msgid "Structural" msgstr "" -#: src/pages/part/CategoryDetail.tsx:129 +#: src/pages/part/CategoryDetail.tsx:130 msgid "Parent default location" msgstr "" -#: src/pages/part/CategoryDetail.tsx:136 +#: src/pages/part/CategoryDetail.tsx:137 msgid "Default location" msgstr "" -#: src/pages/part/CategoryDetail.tsx:147 +#: src/pages/part/CategoryDetail.tsx:148 msgid "Top level part category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:157 -#: src/pages/part/CategoryDetail.tsx:211 -#: src/tables/part/PartCategoryTable.tsx:96 +#: src/pages/part/CategoryDetail.tsx:158 +#: src/pages/part/CategoryDetail.tsx:212 +#: src/tables/part/PartCategoryTable.tsx:88 msgid "Edit Part Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:170 -#: src/pages/stock/LocationDetail.tsx:213 +#: src/pages/part/CategoryDetail.tsx:171 +#: src/pages/stock/LocationDetail.tsx:223 msgid "Delete items" msgstr "" -#: src/pages/part/CategoryDetail.tsx:178 -#: src/pages/part/CategoryDetail.tsx:216 +#: src/pages/part/CategoryDetail.tsx:179 +#: src/pages/part/CategoryDetail.tsx:217 msgid "Delete Part Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:181 +#: src/pages/part/CategoryDetail.tsx:182 msgid "Parts Action" msgstr "" -#: src/pages/part/CategoryDetail.tsx:182 +#: src/pages/part/CategoryDetail.tsx:183 msgid "Action for parts in this category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:187 +#: src/pages/part/CategoryDetail.tsx:188 msgid "Child Categories Action" msgstr "" -#: src/pages/part/CategoryDetail.tsx:188 +#: src/pages/part/CategoryDetail.tsx:189 msgid "Action for child categories in this category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:206 +#: src/pages/part/CategoryDetail.tsx:207 msgid "Category Actions" msgstr "" -#: src/pages/part/CategoryDetail.tsx:228 +#: src/pages/part/CategoryDetail.tsx:229 msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:138 +#: src/pages/part/PartDetail.tsx:139 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:145 +#: src/pages/part/PartDetail.tsx:146 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "" -#: src/pages/part/PartDetail.tsx:151 +#: src/pages/part/PartDetail.tsx:152 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:158 +#: src/pages/part/PartDetail.tsx:159 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:165 +#: src/pages/part/PartDetail.tsx:166 msgid "IPN" msgstr "" -#: src/pages/part/PartDetail.tsx:172 +#: src/pages/part/PartDetail.tsx:173 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:179 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39 +#: src/pages/part/PartDetail.tsx:180 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "" -#: src/pages/part/PartDetail.tsx:186 +#: src/pages/part/PartDetail.tsx:187 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:193 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:180 -#: src/pages/sales/ReturnOrderDetail.tsx:148 -#: src/pages/sales/SalesOrderDetail.tsx:152 +#: src/pages/part/PartDetail.tsx:194 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:182 +#: src/pages/sales/ReturnOrderDetail.tsx:150 +#: src/pages/sales/SalesOrderDetail.tsx:154 msgid "Link" msgstr "" -#: src/pages/part/PartDetail.tsx:211 -#: src/tables/bom/BomTable.tsx:269 +#: src/pages/part/PartDetail.tsx:212 +#: src/tables/bom/BomTable.tsx:271 #: src/tables/build/BuildLineTable.tsx:121 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:218 +#: src/pages/part/PartDetail.tsx:219 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:224 -#: src/tables/bom/BomTable.tsx:210 +#: src/pages/part/PartDetail.tsx:225 +#: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:233 +#: src/pages/part/PartDetail.tsx:234 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:241 +#: src/pages/part/PartDetail.tsx:242 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:248 -#: src/tables/bom/BomTable.tsx:234 +#: src/pages/part/PartDetail.tsx:249 +#: src/tables/bom/BomTable.tsx:236 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:255 -#: src/tables/bom/BomTable.tsx:218 +#: src/pages/part/PartDetail.tsx:256 +#: src/tables/bom/BomTable.tsx:220 #: src/tables/part/PartTable.tsx:82 msgid "Building" msgstr "" -#: src/pages/part/PartDetail.tsx:264 +#: src/pages/part/PartDetail.tsx:265 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 @@ -3968,45 +4054,47 @@ msgstr "" #: src/tables/machine/MachineListTable.tsx:585 #: src/tables/part/PartTable.tsx:168 #: src/tables/part/PartVariantTable.tsx:15 -#: src/tables/plugin/PluginListTable.tsx:190 -#: src/tables/plugin/PluginListTable.tsx:638 +#: src/tables/plugin/PluginListTable.tsx:149 +#: src/tables/plugin/PluginListTable.tsx:271 +#: src/tables/plugin/PluginListTable.tsx:563 #: src/tables/purchasing/SupplierPartTable.tsx:98 #: src/tables/purchasing/SupplierPartTable.tsx:187 #: src/tables/stock/StockItemTable.tsx:254 msgid "Active" msgstr "" -#: src/pages/part/PartDetail.tsx:269 +#: src/pages/part/PartDetail.tsx:270 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:274 -#: src/tables/bom/BomTable.tsx:264 +#: src/pages/part/PartDetail.tsx:275 +#: src/tables/bom/BomTable.tsx:266 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:279 +#: src/pages/part/PartDetail.tsx:280 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:284 -#: src/tables/bom/BomTable.tsx:259 +#: src/pages/part/PartDetail.tsx:285 +#: src/tables/bom/BomTable.tsx:261 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:289 +#: src/pages/part/PartDetail.tsx:290 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:294 +#: src/pages/part/PartDetail.tsx:295 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:299 +#: src/pages/part/PartDetail.tsx:300 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:307 +#: src/pages/part/PartDetail.tsx:308 +#: src/tables/ColumnRenderers.tsx:199 msgid "Creation Date" msgstr "" @@ -4014,7 +4102,7 @@ msgstr "" #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:312 +#: src/pages/part/PartDetail.tsx:313 msgid "Created By" msgstr "" @@ -4022,68 +4110,72 @@ msgstr "" #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:327 -msgid "Default Supplier" -msgstr "" - #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:338 +#: src/pages/part/PartDetail.tsx:328 +msgid "Default Supplier" +msgstr "" + +#: src/pages/part/PartDetail.tsx:339 #: src/tables/part/PartTable.tsx:151 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:373 -#: src/pages/stock/StockDetail.tsx:127 +#: src/pages/part/PartDetail.tsx:374 +#: src/pages/stock/StockDetail.tsx:130 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:408 +#: src/pages/part/PartDetail.tsx:409 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:479 +#: src/pages/part/PartDetail.tsx:480 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:505 +#: src/pages/part/PartDetail.tsx:506 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:512 -#: src/pages/stock/StockDetail.tsx:275 +#: src/pages/part/PartDetail.tsx:513 +#: src/pages/stock/StockDetail.tsx:283 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:532 +#: src/pages/part/PartDetail.tsx:519 +msgid "Bill of Materials" +msgstr "" + +#: src/pages/part/PartDetail.tsx:533 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:539 +#: src/pages/part/PartDetail.tsx:540 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:545 +#: src/pages/part/PartDetail.tsx:546 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:584 +#: src/pages/part/PartDetail.tsx:585 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:594 +#: src/pages/part/PartDetail.tsx:595 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:605 +#: src/pages/part/PartDetail.tsx:606 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:660 -#: src/pages/stock/StockDetail.tsx:148 +#: src/pages/part/PartDetail.tsx:661 +#: src/pages/stock/StockDetail.tsx:151 #: src/tables/build/BuildLineTable.tsx:36 #: src/tables/part/PartTable.tsx:107 #: src/tables/stock/StockItemTable.tsx:166 @@ -4091,49 +4183,51 @@ msgstr "" msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:666 +#: src/pages/part/PartDetail.tsx:667 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:672 -#: src/tables/bom/BomTable.tsx:274 +#: src/pages/part/PartDetail.tsx:673 +#: src/tables/bom/BomTable.tsx:276 #: src/tables/part/PartTable.tsx:76 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:678 -#: src/pages/stock/StockDetail.tsx:496 +#: src/pages/part/PartDetail.tsx:679 +#: src/pages/stock/StockDetail.tsx:509 #: src/tables/stock/StockItemTable.tsx:295 msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:697 +#: src/pages/part/PartDetail.tsx:698 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:704 +#: src/pages/part/PartDetail.tsx:705 #: src/tables/part/PartTable.tsx:266 #: src/tables/part/PartTable.tsx:279 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:716 +#: src/pages/part/PartDetail.tsx:717 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:725 +#: src/pages/part/PartDetail.tsx:726 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:763 +#: src/pages/part/PartDetail.tsx:764 +#: src/pages/stock/LocationDetail.tsx:301 +#: src/tables/stock/StockItemTable.tsx:409 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:771 +#: src/pages/part/PartDetail.tsx:772 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:782 +#: src/pages/part/PartDetail.tsx:783 msgid "Transfer part stock" msgstr "" @@ -4199,15 +4293,15 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151 #: src/pages/part/pricing/SupplierPricingPanel.tsx:83 -#: src/tables/bom/BomTable.tsx:149 +#: src/tables/bom/BomTable.tsx:151 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 msgid "Unit Price" msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:173 -#: src/tables/ColumnRenderers.tsx:278 -#: src/tables/bom/BomTable.tsx:158 +#: src/tables/ColumnRenderers.tsx:241 +#: src/tables/bom/BomTable.tsx:160 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 #: src/tables/sales/ReturnOrderTable.tsx:104 #: src/tables/sales/SalesOrderTable.tsx:134 @@ -4229,24 +4323,24 @@ msgid "Bar Chart" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:63 -#: src/pages/part/pricing/PriceBreakPanel.tsx:117 +#: src/pages/part/pricing/PriceBreakPanel.tsx:115 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:138 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:164 msgid "Add Price Break" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:76 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:149 msgid "Edit Price Break" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:86 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:157 msgid "Delete Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:102 -#: src/pages/part/pricing/PriceBreakPanel.tsx:193 +#: src/pages/part/pricing/PriceBreakPanel.tsx:100 +#: src/pages/part/pricing/PriceBreakPanel.tsx:191 msgid "Price Break" msgstr "" @@ -4275,7 +4369,7 @@ msgid "Overall Pricing" msgstr "" #: src/pages/part/pricing/PricingOverviewPanel.tsx:184 -#: src/pages/stock/StockDetail.tsx:121 +#: src/pages/stock/StockDetail.tsx:124 msgid "Last Updated" msgstr "" @@ -4309,9 +4403,8 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50 #: src/pages/part/pricing/SaleHistoryPanel.tsx:46 -#: src/tables/ColumnRenderers.tsx:217 -#: src/tables/plugin/PluginListTable.tsx:182 -#: src/tables/stock/StockItemTestResultTable.tsx:194 +#: src/tables/ColumnRenderers.tsx:180 +#: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" @@ -4338,89 +4431,89 @@ msgstr "" msgid "Variant Part" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:73 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:75 msgid "Edit Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:82 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:84 #: src/tables/purchasing/PurchaseOrderTable.tsx:128 #: src/tables/purchasing/PurchaseOrderTable.tsx:140 msgid "Add Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:107 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:109 msgid "Supplier Reference" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:137 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:252 -#: src/pages/sales/ReturnOrderDetail.tsx:104 -#: src/pages/sales/ReturnOrderDetail.tsx:220 -#: src/pages/sales/SalesOrderDetail.tsx:108 -#: src/pages/sales/SalesOrderDetail.tsx:248 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:139 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:254 +#: src/pages/sales/ReturnOrderDetail.tsx:106 +#: src/pages/sales/ReturnOrderDetail.tsx:222 +#: src/pages/sales/SalesOrderDetail.tsx:110 +#: src/pages/sales/SalesOrderDetail.tsx:250 msgid "Line Items" msgstr "Regelitems" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:144 -#: src/pages/sales/ReturnOrderDetail.tsx:111 -#: src/pages/sales/SalesOrderDetail.tsx:115 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:146 +#: src/pages/sales/ReturnOrderDetail.tsx:113 +#: src/pages/sales/SalesOrderDetail.tsx:117 msgid "Completed Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:152 -#: src/pages/sales/ReturnOrderDetail.tsx:119 -#: src/pages/sales/SalesOrderDetail.tsx:123 -#: src/pages/sales/SalesOrderDetail.tsx:258 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:121 +#: src/pages/sales/SalesOrderDetail.tsx:125 +#: src/pages/sales/SalesOrderDetail.tsx:260 msgid "Completed Shipments" msgstr "Voltooide Verzendingen" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:159 -#: src/pages/sales/ReturnOrderDetail.tsx:127 -#: src/pages/sales/SalesOrderDetail.tsx:131 -msgid "Order Currency" -msgstr "" - #: src/pages/purchasing/PurchaseOrderDetail.tsx:159 #: src/pages/sales/ReturnOrderDetail.tsx:126 #: src/pages/sales/SalesOrderDetail.tsx:130 #~ msgid "Order Currency," #~ msgstr "Order Currency," -#: src/pages/purchasing/PurchaseOrderDetail.tsx:166 -#: src/pages/sales/ReturnOrderDetail.tsx:134 -#: src/pages/sales/SalesOrderDetail.tsx:138 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:161 +#: src/pages/sales/ReturnOrderDetail.tsx:129 +#: src/pages/sales/SalesOrderDetail.tsx:133 +msgid "Order Currency" +msgstr "" + +#: src/pages/purchasing/PurchaseOrderDetail.tsx:168 +#: src/pages/sales/ReturnOrderDetail.tsx:136 +#: src/pages/sales/SalesOrderDetail.tsx:140 msgid "Total Cost" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:201 -#: src/pages/sales/ReturnOrderDetail.tsx:169 -#: src/pages/sales/SalesOrderDetail.tsx:173 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:203 +#: src/pages/sales/ReturnOrderDetail.tsx:171 +#: src/pages/sales/SalesOrderDetail.tsx:175 msgid "Created On" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:246 -#: src/pages/sales/ReturnOrderDetail.tsx:214 -#: src/pages/sales/SalesOrderDetail.tsx:242 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:248 +#: src/pages/sales/ReturnOrderDetail.tsx:216 +#: src/pages/sales/SalesOrderDetail.tsx:244 msgid "Order Details" msgstr "Order Details" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:316 -#: src/pages/sales/ReturnOrderDetail.tsx:290 -#: src/pages/sales/SalesOrderDetail.tsx:302 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:323 +#: src/pages/sales/ReturnOrderDetail.tsx:297 +#: src/pages/sales/SalesOrderDetail.tsx:309 msgid "Order Actions" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:75 -#: src/pages/sales/SalesOrderDetail.tsx:79 +#: src/pages/sales/ReturnOrderDetail.tsx:77 +#: src/pages/sales/SalesOrderDetail.tsx:81 #: src/tables/sales/SalesOrderTable.tsx:123 msgid "Customer Reference" msgstr "Klantreferentie" -#: src/pages/sales/ReturnOrderDetail.tsx:267 +#: src/pages/sales/ReturnOrderDetail.tsx:269 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:276 +#: src/pages/sales/ReturnOrderDetail.tsx:278 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" @@ -4430,68 +4523,72 @@ msgstr "Retourorder toevoegen" msgid "Customers" msgstr "Klanten" -#: src/pages/sales/SalesOrderDetail.tsx:219 +#: src/pages/sales/SalesOrderDetail.tsx:221 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:228 +#: src/pages/sales/SalesOrderDetail.tsx:230 #: src/tables/sales/SalesOrderTable.tsx:83 #: src/tables/sales/SalesOrderTable.tsx:95 msgid "Add Sales Order" msgstr "Voeg Verkooporder toe" -#: src/pages/sales/SalesOrderDetail.tsx:253 +#: src/pages/sales/SalesOrderDetail.tsx:255 msgid "Pending Shipments" msgstr "In afwachting van verzending" -#: src/pages/stock/LocationDetail.tsx:105 +#: src/pages/stock/LocationDetail.tsx:107 msgid "Parent Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:123 +#: src/pages/stock/LocationDetail.tsx:125 msgid "Sublocations" msgstr "" -#: src/pages/stock/LocationDetail.tsx:135 +#: src/pages/stock/LocationDetail.tsx:137 msgid "External" msgstr "" -#: src/pages/stock/LocationDetail.tsx:144 +#: src/pages/stock/LocationDetail.tsx:143 +msgid "Location Type" +msgstr "" + +#: src/pages/stock/LocationDetail.tsx:154 msgid "Top level stock location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:155 +#: src/pages/stock/LocationDetail.tsx:165 msgid "Location Details" msgstr "" -#: src/pages/stock/LocationDetail.tsx:181 +#: src/pages/stock/LocationDetail.tsx:191 msgid "Default Parts" msgstr "" -#: src/pages/stock/LocationDetail.tsx:200 +#: src/pages/stock/LocationDetail.tsx:210 #: src/pages/stock/LocationDetail.tsx:328 -#: src/tables/stock/StockLocationTable.tsx:108 +#: src/tables/stock/StockLocationTable.tsx:100 msgid "Edit Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:221 +#: src/pages/stock/LocationDetail.tsx:231 #: src/pages/stock/LocationDetail.tsx:333 msgid "Delete Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:224 +#: src/pages/stock/LocationDetail.tsx:234 msgid "Items Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:225 +#: src/pages/stock/LocationDetail.tsx:235 msgid "Action for stock items in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:230 +#: src/pages/stock/LocationDetail.tsx:240 msgid "Child Locations Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:231 +#: src/pages/stock/LocationDetail.tsx:241 msgid "Action for child locations in this location" msgstr "" @@ -4499,11 +4596,11 @@ msgstr "" msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:100 +#: src/pages/stock/StockDetail.tsx:103 msgid "Base Part" msgstr "" -#: src/pages/stock/StockDetail.tsx:107 +#: src/pages/stock/StockDetail.tsx:110 msgid "Stock Status" msgstr "" @@ -4515,15 +4612,16 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:174 +#: src/pages/stock/StockDetail.tsx:177 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:190 +#: src/pages/stock/StockDetail.tsx:193 msgid "Consumed By" msgstr "" -#: src/pages/stock/StockDetail.tsx:199 +#: src/pages/stock/StockDetail.tsx:202 +#: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" msgstr "" @@ -4535,78 +4633,78 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:264 +#: src/pages/stock/StockDetail.tsx:267 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:270 +#: src/pages/stock/StockDetail.tsx:273 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:282 +#: src/pages/stock/StockDetail.tsx:290 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:296 +#: src/pages/stock/StockDetail.tsx:304 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:303 +#: src/pages/stock/StockDetail.tsx:311 msgid "Child Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:358 +#: src/pages/stock/StockDetail.tsx:366 msgid "Edit Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:385 +#: src/pages/stock/StockDetail.tsx:393 msgid "Delete Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:426 -msgid "Stock Operations" -msgstr "" - -#: src/pages/stock/StockDetail.tsx:431 -msgid "Count stock" -msgstr "" - #: src/pages/stock/StockDetail.tsx:433 #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:441 +#: src/pages/stock/StockDetail.tsx:440 +msgid "Stock Operations" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:445 +msgid "Count stock" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:455 #: src/tables/stock/StockItemTable.tsx:414 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:449 +#: src/pages/stock/StockDetail.tsx:463 #: src/tables/stock/StockItemTable.tsx:423 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:456 +#: src/pages/stock/StockDetail.tsx:470 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:457 +#: src/pages/stock/StockDetail.tsx:471 #: src/tables/stock/StockItemTable.tsx:443 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:469 +#: src/pages/stock/StockDetail.tsx:482 msgid "Stock Item Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:513 -msgid "Batch Code" -msgstr "" - -#: src/tables/ColumnRenderers.tsx:50 +#: src/tables/ColumnRenderers.tsx:42 msgid "No location set" msgstr "" -#: src/tables/ColumnRenderers.tsx:264 +#: src/tables/ColumnRenderers.tsx:207 +msgid "Shipment Date" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:227 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "" @@ -4616,20 +4714,32 @@ msgstr "" msgid "Select Columns" msgstr "" -#: src/tables/DownloadAction.tsx:11 +#: src/tables/DownloadAction.tsx:13 +#~ msgid "Excel" +#~ msgstr "Excel" + +#: src/tables/DownloadAction.tsx:21 +#~ msgid "Download selected data" +#~ msgstr "Download selected data" + +#: src/tables/DownloadAction.tsx:22 msgid "CSV" msgstr "" -#: src/tables/DownloadAction.tsx:12 +#: src/tables/DownloadAction.tsx:23 msgid "TSV" msgstr "" -#: src/tables/DownloadAction.tsx:13 -msgid "Excel" +#: src/tables/DownloadAction.tsx:24 +msgid "Excel (.xls)" msgstr "" -#: src/tables/DownloadAction.tsx:21 -msgid "Download selected data" +#: src/tables/DownloadAction.tsx:25 +msgid "Excel (.xlsx)" +msgstr "" + +#: src/tables/DownloadAction.tsx:39 +msgid "Download Data" msgstr "" #: src/tables/Filter.tsx:88 @@ -4663,102 +4773,102 @@ msgstr "" msgid "Remove filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:147 +#: src/tables/FilterSelectDrawer.tsx:136 msgid "Select filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:148 +#: src/tables/FilterSelectDrawer.tsx:137 msgid "Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:155 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:33 -#: src/tables/stock/StockItemTestResultTable.tsx:182 +#: src/tables/FilterSelectDrawer.tsx:144 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 +#: src/tables/stock/StockItemTestResultTable.tsx:180 msgid "Value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:156 +#: src/tables/FilterSelectDrawer.tsx:145 msgid "Select filter value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:196 +#: src/tables/FilterSelectDrawer.tsx:185 msgid "Table Filters" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:228 +#: src/tables/FilterSelectDrawer.tsx:217 msgid "Add Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:237 +#: src/tables/FilterSelectDrawer.tsx:226 msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:118 -#: src/tables/InvenTreeTable.tsx:384 -#: src/tables/InvenTreeTable.tsx:405 +#: src/tables/InvenTreeTable.tsx:119 +#: src/tables/InvenTreeTable.tsx:390 +#: src/tables/InvenTreeTable.tsx:411 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:416 +#: src/tables/InvenTreeTable.tsx:422 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:424 +#: src/tables/InvenTreeTable.tsx:430 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:427 +#: src/tables/InvenTreeTable.tsx:433 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:436 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:433 +#: src/tables/InvenTreeTable.tsx:439 msgid "Not found" msgstr "" -#: src/tables/InvenTreeTable.tsx:482 -#: src/tables/InvenTreeTable.tsx:604 +#: src/tables/InvenTreeTable.tsx:488 +#: src/tables/InvenTreeTable.tsx:611 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:486 +#: src/tables/InvenTreeTable.tsx:492 msgid "Are you sure you want to delete the selected records?" msgstr "" -#: src/tables/InvenTreeTable.tsx:488 +#: src/tables/InvenTreeTable.tsx:494 msgid "This action cannot be undone!" msgstr "" -#: src/tables/InvenTreeTable.tsx:516 +#: src/tables/InvenTreeTable.tsx:522 msgid "Deleted records" msgstr "" -#: src/tables/InvenTreeTable.tsx:517 +#: src/tables/InvenTreeTable.tsx:523 msgid "Records were deleted successfully" msgstr "" -#: src/tables/InvenTreeTable.tsx:526 +#: src/tables/InvenTreeTable.tsx:532 msgid "Failed to delete records" msgstr "" -#: src/tables/InvenTreeTable.tsx:585 -#: src/tables/InvenTreeTable.tsx:586 -msgid "Barcode actions" -msgstr "" - #: src/tables/InvenTreeTable.tsx:594 #: src/tables/InvenTreeTable.tsx:595 -msgid "Print actions" +#~ msgid "Print actions" +#~ msgstr "Print actions" + +#: src/tables/InvenTreeTable.tsx:601 +#: src/tables/InvenTreeTable.tsx:602 +msgid "Barcode actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:620 +#: src/tables/InvenTreeTable.tsx:630 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:638 +#: src/tables/InvenTreeTable.tsx:648 msgid "Table filters" msgstr "" @@ -4770,138 +4880,138 @@ msgstr "" msgid "Part Information" msgstr "" -#: src/tables/bom/BomTable.tsx:177 +#: src/tables/bom/BomTable.tsx:179 #: src/tables/part/PartTable.tsx:124 msgid "No stock" msgstr "" -#: src/tables/bom/BomTable.tsx:185 +#: src/tables/bom/BomTable.tsx:187 #: src/tables/build/BuildLineTable.tsx:104 #: src/tables/part/PartTable.tsx:115 msgid "External stock" msgstr "" -#: src/tables/bom/BomTable.tsx:193 +#: src/tables/bom/BomTable.tsx:195 #: src/tables/build/BuildLineTable.tsx:67 msgid "Includes substitute stock" msgstr "" -#: src/tables/bom/BomTable.tsx:202 +#: src/tables/bom/BomTable.tsx:204 #: src/tables/build/BuildLineTable.tsx:77 msgid "Includes variant stock" msgstr "" -#: src/tables/bom/BomTable.tsx:227 +#: src/tables/bom/BomTable.tsx:229 #: src/tables/part/PartTable.tsx:143 #: src/tables/stock/StockItemTable.tsx:205 msgid "Stock Information" msgstr "" -#: src/tables/bom/BomTable.tsx:239 +#: src/tables/bom/BomTable.tsx:241 #: src/tables/build/BuildLineTable.tsx:195 msgid "Consumable item" msgstr "" -#: src/tables/bom/BomTable.tsx:260 +#: src/tables/bom/BomTable.tsx:262 msgid "Show trackable items" msgstr "" -#: src/tables/bom/BomTable.tsx:265 +#: src/tables/bom/BomTable.tsx:267 msgid "Show asssmbled items" msgstr "" -#: src/tables/bom/BomTable.tsx:270 +#: src/tables/bom/BomTable.tsx:272 msgid "Show items with available stock" msgstr "" -#: src/tables/bom/BomTable.tsx:275 +#: src/tables/bom/BomTable.tsx:277 msgid "Show items on order" msgstr "" -#: src/tables/bom/BomTable.tsx:279 +#: src/tables/bom/BomTable.tsx:281 msgid "Validated" msgstr "" -#: src/tables/bom/BomTable.tsx:280 +#: src/tables/bom/BomTable.tsx:282 msgid "Show validated items" msgstr "" -#: src/tables/bom/BomTable.tsx:284 +#: src/tables/bom/BomTable.tsx:286 #: src/tables/bom/UsedInTable.tsx:63 msgid "Inherited" msgstr "" -#: src/tables/bom/BomTable.tsx:285 +#: src/tables/bom/BomTable.tsx:287 #: src/tables/bom/UsedInTable.tsx:64 msgid "Show inherited items" msgstr "" -#: src/tables/bom/BomTable.tsx:289 +#: src/tables/bom/BomTable.tsx:291 #: src/tables/bom/UsedInTable.tsx:68 #: src/tables/build/BuildLineTable.tsx:46 msgid "Optional" msgstr "" -#: src/tables/bom/BomTable.tsx:290 +#: src/tables/bom/BomTable.tsx:292 #: src/tables/bom/UsedInTable.tsx:69 msgid "Show optional items" msgstr "" -#: src/tables/bom/BomTable.tsx:294 +#: src/tables/bom/BomTable.tsx:296 #: src/tables/build/BuildLineTable.tsx:41 msgid "Consumable" msgstr "" -#: src/tables/bom/BomTable.tsx:295 +#: src/tables/bom/BomTable.tsx:297 msgid "Show consumable items" msgstr "" -#: src/tables/bom/BomTable.tsx:299 +#: src/tables/bom/BomTable.tsx:301 msgid "Has Pricing" msgstr "" -#: src/tables/bom/BomTable.tsx:300 -msgid "Show items with pricing" -msgstr "" - #: src/tables/bom/BomTable.tsx:301 #~ msgid "Create BOM Item" #~ msgstr "Create BOM Item" -#: src/tables/bom/BomTable.tsx:309 -#: src/tables/bom/BomTable.tsx:397 +#: src/tables/bom/BomTable.tsx:302 +msgid "Show items with pricing" +msgstr "" + +#: src/tables/bom/BomTable.tsx:311 +#: src/tables/bom/BomTable.tsx:399 msgid "Add BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:314 +#: src/tables/bom/BomTable.tsx:316 msgid "BOM item created" msgstr "" -#: src/tables/bom/BomTable.tsx:321 +#: src/tables/bom/BomTable.tsx:323 msgid "Edit BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:323 +#: src/tables/bom/BomTable.tsx:325 msgid "BOM item updated" msgstr "" -#: src/tables/bom/BomTable.tsx:330 -msgid "Delete BOM Item" -msgstr "" - -#: src/tables/bom/BomTable.tsx:331 -msgid "BOM item deleted" -msgstr "" - #: src/tables/bom/BomTable.tsx:331 #~ msgid "Edit Bom Item" #~ msgstr "Edit Bom Item" +#: src/tables/bom/BomTable.tsx:332 +msgid "Delete BOM Item" +msgstr "" + +#: src/tables/bom/BomTable.tsx:333 +msgid "BOM item deleted" +msgstr "" + #: src/tables/bom/BomTable.tsx:333 #~ msgid "Bom item updated" #~ msgstr "Bom item updated" -#: src/tables/bom/BomTable.tsx:341 +#: src/tables/bom/BomTable.tsx:343 msgid "View BOM" msgstr "" @@ -4917,11 +5027,11 @@ msgstr "" #~ msgid "Are you sure you want to remove this BOM item?" #~ msgstr "Are you sure you want to remove this BOM item?" -#: src/tables/bom/BomTable.tsx:352 +#: src/tables/bom/BomTable.tsx:354 msgid "Validate BOM line" msgstr "" -#: src/tables/bom/BomTable.tsx:360 +#: src/tables/bom/BomTable.tsx:362 msgid "Edit Substitutes" msgstr "" @@ -5038,11 +5148,11 @@ msgid "Filter by responsible owner" msgstr "" #: src/tables/build/BuildOutputTable.tsx:114 -#: src/tables/build/BuildOutputTable.tsx:150 +#: src/tables/build/BuildOutputTable.tsx:152 msgid "Add Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:155 +#: src/tables/build/BuildOutputTable.tsx:157 msgid "Complete selected outputs" msgstr "" @@ -5050,68 +5160,68 @@ msgstr "" #~ msgid "Delete build output" #~ msgstr "Delete build output" -#: src/tables/build/BuildOutputTable.tsx:165 +#: src/tables/build/BuildOutputTable.tsx:167 msgid "Scrap selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:175 +#: src/tables/build/BuildOutputTable.tsx:177 msgid "Cancel selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:191 +#: src/tables/build/BuildOutputTable.tsx:193 msgid "Allocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:192 +#: src/tables/build/BuildOutputTable.tsx:194 msgid "Allocate stock to build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:197 +#: src/tables/build/BuildOutputTable.tsx:199 msgid "Deallocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:198 +#: src/tables/build/BuildOutputTable.tsx:200 msgid "Deallocate stock from build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:203 +#: src/tables/build/BuildOutputTable.tsx:205 msgid "Complete" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:204 +#: src/tables/build/BuildOutputTable.tsx:206 msgid "Complete build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:213 +#: src/tables/build/BuildOutputTable.tsx:215 msgid "Scrap" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:214 +#: src/tables/build/BuildOutputTable.tsx:216 msgid "Scrap build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:224 +#: src/tables/build/BuildOutputTable.tsx:226 msgid "Cancel build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:251 +#: src/tables/build/BuildOutputTable.tsx:253 msgid "Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:264 +#: src/tables/build/BuildOutputTable.tsx:266 msgid "Batch" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:278 +#: src/tables/build/BuildOutputTable.tsx:280 msgid "Allocated Items" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:288 +#: src/tables/build/BuildOutputTable.tsx:290 msgid "Required Tests" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:317 -#: src/tables/stock/StockItemTestResultTable.tsx:146 +#: src/tables/build/BuildOutputTable.tsx:319 +#: src/tables/stock/StockItemTestResultTable.tsx:144 msgid "Test Results" msgstr "" @@ -5132,7 +5242,7 @@ msgstr "" msgid "Delete Address" msgstr "" -#: src/tables/company/AddressTable.tsx:145 +#: src/tables/company/AddressTable.tsx:144 msgid "Are you sure you want to delete this address?" msgstr "" @@ -5177,36 +5287,52 @@ msgstr "" msgid "Add contact" msgstr "" -#: src/tables/general/AttachmentTable.tsx:161 +#: src/tables/general/AttachmentTable.tsx:130 msgid "File uploaded" msgstr "" -#: src/tables/general/AttachmentTable.tsx:162 +#: src/tables/general/AttachmentTable.tsx:131 msgid "File {0} uploaded successfully" msgstr "" -#: src/tables/general/AttachmentTable.tsx:173 +#: src/tables/general/AttachmentTable.tsx:142 msgid "Upload Error" msgstr "" -#: src/tables/general/AttachmentTable.tsx:174 +#: src/tables/general/AttachmentTable.tsx:143 msgid "File could not be uploaded" msgstr "" #: src/tables/general/AttachmentTable.tsx:187 +msgid "Upload Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:197 +msgid "Edit Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:211 +msgid "Delete Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:221 msgid "Add attachment" msgstr "" -#: src/tables/general/AttachmentTable.tsx:207 +#: src/tables/general/AttachmentTable.tsx:232 msgid "Add external link" msgstr "" -#: src/tables/general/AttachmentTable.tsx:239 +#: src/tables/general/AttachmentTable.tsx:254 +#~ msgid "Upload attachment" +#~ msgstr "Upload attachment" + +#: src/tables/general/AttachmentTable.tsx:289 msgid "No attachments found" msgstr "" -#: src/tables/general/AttachmentTable.tsx:254 -msgid "Upload attachment" +#: src/tables/general/AttachmentTable.tsx:325 +msgid "Drag attachment file here to upload" msgstr "" #: src/tables/machine/MachineListTable.tsx:199 @@ -5332,8 +5458,8 @@ msgstr "" #: src/tables/machine/MachineTypeTable.tsx:135 #: src/tables/machine/MachineTypeTable.tsx:255 -#: src/tables/plugin/PluginListTable.tsx:215 -#: src/tables/plugin/PluginListTable.tsx:643 +#: src/tables/plugin/PluginListTable.tsx:180 +#: src/tables/plugin/PluginListTable.tsx:568 msgid "Builtin" msgstr "" @@ -5375,7 +5501,7 @@ msgid "Message" msgstr "" #: src/tables/part/ParametricPartTable.tsx:75 -#: src/tables/part/PartParameterTable.tsx:87 +#: src/tables/part/PartParameterTable.tsx:88 msgid "Internal Units" msgstr "" @@ -5388,29 +5514,29 @@ msgid "Add Part Parameter" msgstr "" #: src/tables/part/ParametricPartTable.tsx:147 -#: src/tables/part/PartParameterTable.tsx:128 -#: src/tables/part/PartParameterTable.tsx:150 +#: src/tables/part/PartParameterTable.tsx:121 +#: src/tables/part/PartParameterTable.tsx:144 msgid "Edit Part Parameter" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:64 +#: src/tables/part/PartCategoryTable.tsx:60 #: src/tables/part/PartTable.tsx:180 msgid "Include Subcategories" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:65 +#: src/tables/part/PartCategoryTable.tsx:61 msgid "Include subcategories in results" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:70 +#: src/tables/part/PartCategoryTable.tsx:66 msgid "Show structural categories" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:77 +#: src/tables/part/PartCategoryTable.tsx:73 msgid "New Part Category" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:106 +#: src/tables/part/PartCategoryTable.tsx:98 msgid "Add Part Category" msgstr "" @@ -5435,20 +5561,20 @@ msgstr "" #~ msgid "[{0}]" #~ msgstr "[{0}]" -#: src/tables/part/PartParameterTable.tsx:112 +#: src/tables/part/PartParameterTable.tsx:105 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:136 -#: src/tables/part/PartParameterTable.tsx:158 +#: src/tables/part/PartParameterTable.tsx:130 +#: src/tables/part/PartParameterTable.tsx:152 msgid "Delete Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:175 +#: src/tables/part/PartParameterTable.tsx:170 msgid "Add parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:196 +#: src/tables/part/PartParameterTable.tsx:191 #: src/tables/stock/StockItemTable.tsx:300 msgid "Include Variants" msgstr "" @@ -5482,15 +5608,15 @@ msgstr "" msgid "Add Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:97 +#: src/tables/part/PartParameterTemplateTable.tsx:100 msgid "Edit Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:105 +#: src/tables/part/PartParameterTemplateTable.tsx:111 msgid "Delete Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:135 +#: src/tables/part/PartParameterTemplateTable.tsx:141 msgid "Add parameter template" msgstr "" @@ -5588,7 +5714,7 @@ msgid "No Results" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:79 -#: src/tables/stock/StockItemTestResultTable.tsx:385 +#: src/tables/stock/StockItemTestResultTable.tsx:376 msgid "Required" msgstr "" @@ -5597,8 +5723,8 @@ msgid "Show required tests" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:84 -#: src/tables/settings/TemplateTable.tsx:213 -#: src/tables/settings/TemplateTable.tsx:275 +#: src/tables/settings/TemplateTable.tsx:160 +#: src/tables/settings/TemplateTable.tsx:270 msgid "Enabled" msgstr "" @@ -5639,26 +5765,30 @@ msgid "Show tests which have recorded results" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:126 -#: src/tables/part/PartTestTemplateTable.tsx:195 +#: src/tables/part/PartTestTemplateTable.tsx:201 msgid "Add Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:139 +#: src/tables/part/PartTestTemplateTable.tsx:142 msgid "Edit Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:147 +#: src/tables/part/PartTestTemplateTable.tsx:153 msgid "Delete Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:149 +#: src/tables/part/PartTestTemplateTable.tsx:155 msgid "This action cannot be reversed" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:151 +#: src/tables/part/PartTestTemplateTable.tsx:157 msgid "Any tests results associated with this template will be deleted" msgstr "" +#: src/tables/part/PartThumbTable.tsx:203 +msgid "Select" +msgstr "" + #: src/tables/part/PartVariantTable.tsx:16 msgid "Show active variants" msgstr "" @@ -5695,252 +5825,273 @@ msgstr "" msgid "Stage" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:113 -msgid "Plugin with id {id} not found" +#: src/tables/plugin/PluginListTable.tsx:95 +msgid "Plugin with key {pluginKey} not found" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:115 +#: src/tables/plugin/PluginListTable.tsx:97 msgid "An error occurred while fetching plugin details" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:134 -msgid "Plugin Actions" -msgstr "" +#: src/tables/plugin/PluginListTable.tsx:113 +#~ msgid "Plugin with id {id} not found" +#~ msgstr "Plugin with id {id} not found" -#: src/tables/plugin/PluginListTable.tsx:138 -#: src/tables/plugin/PluginListTable.tsx:141 -msgid "Edit plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:152 -#: src/tables/plugin/PluginListTable.tsx:153 -msgid "Reload" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:166 +#: src/tables/plugin/PluginListTable.tsx:122 msgid "Plugin information" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:177 +#: src/tables/plugin/PluginListTable.tsx:134 msgid "Author" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:198 +#: src/tables/plugin/PluginListTable.tsx:134 +#~ msgid "Plugin Actions" +#~ msgstr "Plugin Actions" + +#: src/tables/plugin/PluginListTable.tsx:138 +#: src/tables/plugin/PluginListTable.tsx:141 +#~ msgid "Edit plugin" +#~ msgstr "Edit plugin" + +#: src/tables/plugin/PluginListTable.tsx:152 +#: src/tables/plugin/PluginListTable.tsx:153 +#~ msgid "Reload" +#~ msgstr "Reload" + +#: src/tables/plugin/PluginListTable.tsx:154 +msgid "Plugin is not active" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:163 msgid "Package information" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:204 +#: src/tables/plugin/PluginListTable.tsx:169 msgid "Package Name" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:210 +#: src/tables/plugin/PluginListTable.tsx:175 msgid "Installation Path" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:220 +#: src/tables/plugin/PluginListTable.tsx:185 msgid "Package" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:231 +#: src/tables/plugin/PluginListTable.tsx:197 msgid "Plugin settings" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:248 +#: src/tables/plugin/PluginListTable.tsx:214 msgid "Plugin is active" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:254 +#: src/tables/plugin/PluginListTable.tsx:220 msgid "Plugin is inactive" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:261 +#: src/tables/plugin/PluginListTable.tsx:227 msgid "Plugin is not installed" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:287 +#: src/tables/plugin/PluginListTable.tsx:253 msgid "Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:312 +#: src/tables/plugin/PluginListTable.tsx:287 msgid "Description not available" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:338 +#: src/tables/plugin/PluginListTable.tsx:319 +msgid "Confirm plugin activation" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:320 +msgid "Confirm plugin deactivation" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:325 +msgid "The selected plugin will be activated" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:326 +msgid "The selected plugin will be deactivated" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:334 msgid "Activate Plugin" msgstr "" #: src/tables/plugin/PluginListTable.tsx:338 -msgid "Deactivate Plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:347 -msgid "Confirm plugin activation" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:348 -msgid "Confirm plugin deactivation" -msgstr "" +#~ msgid "Deactivate Plugin" +#~ msgstr "Deactivate Plugin" #: src/tables/plugin/PluginListTable.tsx:354 -msgid "The following plugin will be activated" -msgstr "" +#~ msgid "The following plugin will be activated" +#~ msgstr "The following plugin will be activated" #: src/tables/plugin/PluginListTable.tsx:355 -msgid "The following plugin will be deactivated" -msgstr "" +#~ msgid "The following plugin will be deactivated" +#~ msgstr "The following plugin will be deactivated" -#: src/tables/plugin/PluginListTable.tsx:366 -msgid "Confirm" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:376 -msgid "Activating plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:376 -msgid "Deactivating plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:392 -msgid "Plugin updated" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:394 -msgid "The plugin was activated" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:395 -msgid "The plugin was deactivated" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:403 -msgid "Error updating plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:423 +#: src/tables/plugin/PluginListTable.tsx:362 msgid "Deactivate" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:432 +#: src/tables/plugin/PluginListTable.tsx:366 +#~ msgid "Confirm" +#~ msgstr "Confirm" + +#: src/tables/plugin/PluginListTable.tsx:373 msgid "Activate" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:463 +#: src/tables/plugin/PluginListTable.tsx:376 +#~ msgid "Activating plugin" +#~ msgstr "Activating plugin" + +#: src/tables/plugin/PluginListTable.tsx:376 +#~ msgid "Deactivating plugin" +#~ msgstr "Deactivating plugin" + +#: src/tables/plugin/PluginListTable.tsx:392 +#~ msgid "Plugin updated" +#~ msgstr "Plugin updated" + +#: src/tables/plugin/PluginListTable.tsx:394 +#~ msgid "The plugin was activated" +#~ msgstr "The plugin was activated" + +#: src/tables/plugin/PluginListTable.tsx:395 +#~ msgid "The plugin was deactivated" +#~ msgstr "The plugin was deactivated" + +#: src/tables/plugin/PluginListTable.tsx:403 +#~ msgid "Error updating plugin" +#~ msgstr "Error updating plugin" + +#: src/tables/plugin/PluginListTable.tsx:406 msgid "Uninstall" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:495 +#: src/tables/plugin/PluginListTable.tsx:438 msgid "Install plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:508 +#: src/tables/plugin/PluginListTable.tsx:451 msgid "Install" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:512 +#: src/tables/plugin/PluginListTable.tsx:452 msgid "Plugin installed successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:525 +#: src/tables/plugin/PluginListTable.tsx:457 msgid "Uninstall Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:537 +#: src/tables/plugin/PluginListTable.tsx:469 msgid "Confirm plugin uninstall" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:540 +#: src/tables/plugin/PluginListTable.tsx:472 msgid "The selected plugin will be uninstalled." msgstr "" -#: src/tables/plugin/PluginListTable.tsx:541 +#: src/tables/plugin/PluginListTable.tsx:473 msgid "This action cannot be undone." msgstr "" -#: src/tables/plugin/PluginListTable.tsx:547 +#: src/tables/plugin/PluginListTable.tsx:477 msgid "Plugin uninstalled successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:560 +#: src/tables/plugin/PluginListTable.tsx:484 msgid "Delete Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:562 +#: src/tables/plugin/PluginListTable.tsx:485 msgid "Deleting this plugin configuration will remove all associated settings and data. Are you sure you want to delete this plugin?" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:574 +#: src/tables/plugin/PluginListTable.tsx:498 msgid "Plugins reloaded" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:575 +#: src/tables/plugin/PluginListTable.tsx:499 msgid "Plugins were reloaded successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:591 +#: src/tables/plugin/PluginListTable.tsx:515 msgid "Reload Plugins" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:600 +#: src/tables/plugin/PluginListTable.tsx:524 msgid "Install Plugin" msgstr "" +#: src/tables/plugin/PluginListTable.tsx:544 +msgid "Plugin Detail" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:573 +msgid "Sample" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:578 +#: src/tables/stock/StockItemTable.tsx:305 +msgid "Installed" +msgstr "" + #: src/tables/plugin/PluginListTable.tsx:615 #~ msgid "Plugin detail" #~ msgstr "Plugin detail" -#: src/tables/plugin/PluginListTable.tsx:619 -msgid "Plugin Detail" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:648 -msgid "Sample" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:653 -#: src/tables/stock/StockItemTable.tsx:305 -msgid "Installed" -msgstr "" - -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:57 -msgid "Edit Parameter" +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:59 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:108 +msgid "Add Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:60 -msgid "Parameter updated" -msgstr "" +#~ msgid "Parameter updated" +#~ msgstr "Parameter updated" -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:71 -msgid "Delete Parameter" +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:70 +msgid "Edit Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:73 -msgid "Parameter deleted" -msgstr "" +#~ msgid "Parameter deleted" +#~ msgstr "Parameter deleted" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:74 -msgid "Are you sure you want to delete this parameter?" +#~ msgid "Are you sure you want to delete this parameter?" +#~ msgstr "Are you sure you want to delete this parameter?" + +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:78 +msgid "Delete Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartTable.tsx:63 #~ msgid "Create Manufacturer Part" #~ msgstr "Create Manufacturer Part" -#: src/tables/purchasing/ManufacturerPartTable.tsx:100 -msgid "Manufacturer part updated" -msgstr "" - -#: src/tables/purchasing/ManufacturerPartTable.tsx:111 +#: src/tables/purchasing/ManufacturerPartTable.tsx:92 msgid "Delete Manufacturer Part" msgstr "" +#: src/tables/purchasing/ManufacturerPartTable.tsx:100 +#~ msgid "Manufacturer part updated" +#~ msgstr "Manufacturer part updated" + #: src/tables/purchasing/ManufacturerPartTable.tsx:112 -msgid "Manufacturer part deleted" -msgstr "" +#~ msgid "Manufacturer part deleted" +#~ msgstr "Manufacturer part deleted" #: src/tables/purchasing/ManufacturerPartTable.tsx:114 -msgid "Are you sure you want to remove this manufacturer part?" -msgstr "" +#~ msgid "Are you sure you want to remove this manufacturer part?" +#~ msgstr "Are you sure you want to remove this manufacturer part?" #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:86 msgid "Part Description" @@ -6087,18 +6238,22 @@ msgid "Error Information" msgstr "" #: src/tables/settings/ErrorTable.tsx:51 -msgid "Delete error report" +msgid "Delete Error Report" msgstr "" +#: src/tables/settings/ErrorTable.tsx:51 +#~ msgid "Delete error report" +#~ msgstr "Delete error report" + #: src/tables/settings/ErrorTable.tsx:53 -msgid "Error report deleted" -msgstr "" - -#: src/tables/settings/ErrorTable.tsx:54 msgid "Are you sure you want to delete this error report?" msgstr "" -#: src/tables/settings/ErrorTable.tsx:67 +#: src/tables/settings/ErrorTable.tsx:55 +msgid "Error report deleted" +msgstr "" + +#: src/tables/settings/ErrorTable.tsx:77 #: src/tables/settings/FailedTasksTable.tsx:57 msgid "Error Details" msgstr "" @@ -6115,7 +6270,7 @@ msgid "Task ID" msgstr "" #: src/tables/settings/FailedTasksTable.tsx:34 -#: src/tables/stock/StockItemTestResultTable.tsx:214 +#: src/tables/stock/StockItemTestResultTable.tsx:205 msgid "Started" msgstr "" @@ -6188,30 +6343,71 @@ msgstr "" msgid "Next Run" msgstr "" -#: src/tables/settings/TemplateTable.tsx:120 -msgid "{templateTypeTranslation} with id {id} not found" +#: src/tables/settings/TemplateTable.tsx:82 +msgid "Template not found" msgstr "" +#: src/tables/settings/TemplateTable.tsx:84 +msgid "An error occurred while fetching template details" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:120 +#~ msgid "{templateTypeTranslation} with id {id} not found" +#~ msgstr "{templateTypeTranslation} with id {id} not found" + #: src/tables/settings/TemplateTable.tsx:124 -msgid "An error occurred while fetching {templateTypeTranslation} details" -msgstr "" +#~ msgid "An error occurred while fetching {templateTypeTranslation} details" +#~ msgstr "An error occurred while fetching {templateTypeTranslation} details" #: src/tables/settings/TemplateTable.tsx:146 -msgid "actions" +#~ msgid "actions" +#~ msgstr "actions" + +#: src/tables/settings/TemplateTable.tsx:170 +msgid "Modify" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:171 +msgid "Modify template file" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:222 +#: src/tables/settings/TemplateTable.tsx:289 +msgid "Edit Template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:230 +msgid "Delete template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:236 +msgid "Add Template" msgstr "" #: src/tables/settings/TemplateTable.tsx:243 -msgid "Add new" -msgstr "" +#~ msgid "Add new" +#~ msgstr "Add new" #: src/tables/settings/TemplateTable.tsx:243 #~ msgid "Create new" #~ msgstr "Create new" -#: src/tables/settings/TemplateTable.tsx:276 +#: src/tables/settings/TemplateTable.tsx:249 +msgid "Add template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:271 msgid "Filter by enabled status" msgstr "" +#: src/tables/settings/TemplateTable.tsx:276 +msgid "Model Type" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:277 +msgid "Filter by target model type" +msgstr "" + #: src/tables/settings/UserTable.tsx:79 msgid "User with id {id} not found" msgstr "" @@ -6277,6 +6473,23 @@ msgstr "" msgid "Edit user" msgstr "" +#: src/tables/stock/LocationTypesTable.tsx:36 +#: src/tables/stock/LocationTypesTable.tsx:105 +msgid "Add Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:44 +msgid "Edit Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:52 +msgid "Delete Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:69 +msgid "Icon" +msgstr "" + #: src/tables/stock/StockItemTable.tsx:90 msgid "This stock item is in production" msgstr "" @@ -6338,7 +6551,7 @@ msgid "Show items which are available" msgstr "" #: src/tables/stock/StockItemTable.tsx:280 -#: src/tables/stock/StockLocationTable.tsx:37 +#: src/tables/stock/StockLocationTable.tsx:33 msgid "Include Sublocations" msgstr "" @@ -6467,123 +6680,135 @@ msgstr "" msgid "Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:153 +#: src/tables/stock/StockItemTestResultTable.tsx:151 msgid "Test result for installed stock item" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:164 +#: src/tables/stock/StockItemTestResultTable.tsx:162 msgid "Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:170 +#: src/tables/stock/StockItemTestResultTable.tsx:168 msgid "No Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:186 +#: src/tables/stock/StockItemTestResultTable.tsx:184 msgid "Attachment" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:209 +#: src/tables/stock/StockItemTestResultTable.tsx:200 msgid "Test station" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:229 +#: src/tables/stock/StockItemTestResultTable.tsx:220 msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:277 -#: src/tables/stock/StockItemTestResultTable.tsx:349 -#: src/tables/stock/StockItemTestResultTable.tsx:404 +#: src/tables/stock/StockItemTestResultTable.tsx:268 +#: src/tables/stock/StockItemTestResultTable.tsx:340 +#: src/tables/stock/StockItemTestResultTable.tsx:395 msgid "Add Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:279 +#: src/tables/stock/StockItemTestResultTable.tsx:270 msgid "Test result added" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:288 -#: src/tables/stock/StockItemTestResultTable.tsx:359 +#: src/tables/stock/StockItemTestResultTable.tsx:279 +#: src/tables/stock/StockItemTestResultTable.tsx:350 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:290 +#: src/tables/stock/StockItemTestResultTable.tsx:281 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:296 -#: src/tables/stock/StockItemTestResultTable.tsx:368 +#: src/tables/stock/StockItemTestResultTable.tsx:287 +#: src/tables/stock/StockItemTestResultTable.tsx:359 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:298 +#: src/tables/stock/StockItemTestResultTable.tsx:289 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:312 +#: src/tables/stock/StockItemTestResultTable.tsx:303 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:313 +#: src/tables/stock/StockItemTestResultTable.tsx:304 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:320 +#: src/tables/stock/StockItemTestResultTable.tsx:311 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:337 +#: src/tables/stock/StockItemTestResultTable.tsx:328 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:386 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:390 +#: src/tables/stock/StockItemTestResultTable.tsx:381 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:391 +#: src/tables/stock/StockItemTestResultTable.tsx:382 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:395 +#: src/tables/stock/StockItemTestResultTable.tsx:386 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:396 +#: src/tables/stock/StockItemTestResultTable.tsx:387 msgid "Show only passed tests" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:38 +#: src/tables/stock/StockLocationTable.tsx:34 msgid "Include sublocations in results" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:42 +#: src/tables/stock/StockLocationTable.tsx:38 msgid "structural" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:43 +#: src/tables/stock/StockLocationTable.tsx:39 msgid "Show structural locations" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:47 +#: src/tables/stock/StockLocationTable.tsx:43 msgid "external" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:48 +#: src/tables/stock/StockLocationTable.tsx:44 msgid "Show external locations" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:52 +#: src/tables/stock/StockLocationTable.tsx:48 msgid "Has location type" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:89 -#: src/tables/stock/StockLocationTable.tsx:118 +#: src/tables/stock/StockLocationTable.tsx:85 +#: src/tables/stock/StockLocationTable.tsx:110 msgid "Add Stock Location" msgstr "" +#: src/tables/stock/StockTrackingTable.tsx:64 +msgid "Added" +msgstr "" + +#: src/tables/stock/StockTrackingTable.tsx:69 +msgid "Removed" +msgstr "" + +#: src/tables/stock/StockTrackingTable.tsx:198 +msgid "No user information" +msgstr "" + #: src/views/MobileAppView.tsx:22 msgid "Mobile viewport detected" msgstr "" diff --git a/src/frontend/src/locales/no/messages.po b/src/frontend/src/locales/no/messages.po index f90980672f..f909bdd728 100644 --- a/src/frontend/src/locales/no/messages.po +++ b/src/frontend/src/locales/no/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: no\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-05-13 02:48\n" +"PO-Revision-Date: 2024-05-23 11:39\n" "Last-Translator: \n" "Language-Team: Norwegian\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -30,10 +30,67 @@ msgstr "" msgid "Title" msgstr "Tittel" +#: src/components/buttons/AdminButton.tsx:83 +msgid "Open in admin interface" +msgstr "" + #: src/components/buttons/CopyButton.tsx:18 msgid "Copy to clipboard" msgstr "Kopier til utklippstavle" +#: src/components/buttons/PrintingActions.tsx:95 +msgid "Print Label" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:101 +msgid "Label printing completed successfully" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:106 +#: src/components/buttons/PrintingActions.tsx:143 +#: src/components/forms/ApiForm.tsx:504 +#: src/components/forms/fields/ApiFormField.tsx:295 +#: src/components/modals/LicenseModal.tsx:75 +#: src/components/nav/SearchDrawer.tsx:413 +#: src/components/widgets/MarkdownEditor.tsx:107 +#: src/components/widgets/MarkdownEditor.tsx:153 +#: src/pages/ErrorPage.tsx:12 +#: src/pages/ErrorPage.tsx:25 +#: src/pages/part/PartPricingPanel.tsx:71 +#: src/tables/InvenTreeTable.tsx:451 +#: src/tables/InvenTreeTable.tsx:531 +#: src/tables/stock/StockItemTestResultTable.tsx:310 +msgid "Error" +msgstr "Feil" + +#: src/components/buttons/PrintingActions.tsx:107 +msgid "The label could not be generated" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:122 +msgid "Print Report" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:138 +msgid "Report printing completed successfully" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:144 +msgid "The report could not be generated" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:171 +msgid "Printing Actions" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:176 +msgid "Print Labels" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:182 +msgid "Print Reports" +msgstr "" + #: src/components/buttons/ScanButton.tsx:15 msgid "Scan QR code" msgstr "Skann QR-kode" @@ -64,15 +121,15 @@ msgstr "Ja" msgid "No" msgstr "Nei" -#: src/components/details/Details.tsx:302 +#: src/components/details/Details.tsx:303 msgid "No name defined" msgstr "" -#: src/components/details/Details.tsx:339 +#: src/components/details/Details.tsx:340 msgid "Copied" msgstr "" -#: src/components/details/Details.tsx:339 +#: src/components/details/Details.tsx:340 msgid "Copy" msgstr "" @@ -85,24 +142,23 @@ msgid "Remove the associated image from this item?" msgstr "" #: src/components/details/DetailsImage.tsx:71 -#: src/forms/StockForms.tsx:442 +#: src/forms/StockForms.tsx:483 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:448 +#: src/pages/stock/StockDetail.tsx:462 msgid "Remove" msgstr "Fjern" #: src/components/details/DetailsImage.tsx:71 -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:163 -#: src/components/items/ActionDropdown.tsx:222 -#: src/components/items/ActionDropdown.tsx:223 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 +#: src/components/items/ActionDropdown.tsx:229 +#: src/components/items/ActionDropdown.tsx:230 #: src/contexts/ThemeContext.tsx:43 #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:40 -#: src/tables/FilterSelectDrawer.tsx:218 -#: src/tables/InvenTreeTable.tsx:493 -#: src/tables/build/BuildOutputTable.tsx:223 -#: src/tables/plugin/PluginListTable.tsx:365 +#: src/tables/FilterSelectDrawer.tsx:207 +#: src/tables/InvenTreeTable.tsx:499 +#: src/tables/build/BuildOutputTable.tsx:225 msgid "Cancel" msgstr "Avbryt" @@ -119,7 +175,7 @@ msgid "Clear" msgstr "" #: src/components/details/DetailsImage.tsx:227 -#: src/components/forms/ApiForm.tsx:554 +#: src/components/forms/ApiForm.tsx:571 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:56 msgid "Submit" @@ -150,9 +206,10 @@ msgid "Part is not active" msgstr "" #: src/components/details/PartIcons.tsx:34 -#: src/pages/company/CompanyDetail.tsx:308 -#: src/pages/company/SupplierPartDetail.tsx:304 -#: src/pages/part/PartDetail.tsx:684 +#: src/components/render/Plugin.tsx:17 +#: src/pages/company/CompanyDetail.tsx:310 +#: src/pages/company/SupplierPartDetail.tsx:305 +#: src/pages/part/PartDetail.tsx:685 msgid "Inactive" msgstr "" @@ -196,10 +253,10 @@ msgid "Code" msgstr "" #: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:44 -msgid "Failed to parse error response from server." -msgstr "" +#~ msgid "Failed to parse error response from server." +#~ msgstr "Failed to parse error response from server." -#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:82 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:81 msgid "Preview not available, click \"Reload Preview\"." msgstr "" @@ -207,98 +264,99 @@ msgstr "" msgid "PDF Preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:113 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:104 msgid "Error loading template" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:125 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:116 msgid "Error saving template" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 -msgid "Save & Reload preview?" +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:146 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:270 +msgid "Save & Reload Preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:156 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 msgid "Are you sure you want to Save & Reload the preview?" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 +#~ msgid "Save & Reload preview?" +#~ msgstr "Save & Reload preview?" + +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:153 msgid "To render the preview the current template needs to be replaced on the server with your modifications which may break the label if it is under active use. Do you want to proceed?" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:162 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:157 msgid "Save & Reload" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:191 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:189 msgid "Preview updated" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:192 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:190 msgid "The preview has been updated successfully." msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:255 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:262 msgid "Reload preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:256 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:263 msgid "Use the currently stored template from the server" msgstr "" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:263 -msgid "Save & Reload preview" -msgstr "" +#~ msgid "Save & Reload preview" +#~ msgstr "Save & Reload preview" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:264 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:271 msgid "Save the current template and reload the preview" msgstr "" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:322 -#: src/tables/part/PartThumbTable.tsx:203 -msgid "Select" +#~ msgid "to preview" +#~ msgstr "to preview" + +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:329 +msgid "Select instance to preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:322 -msgid "to preview" -msgstr "" - -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:366 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:373 msgid "Error rendering template" msgstr "" -#: src/components/forms/ApiForm.tsx:143 +#: src/components/forms/ApiForm.tsx:148 #: src/functions/forms.tsx:259 msgid "Form Error" msgstr "Skjemafeil" -#: src/components/forms/ApiForm.tsx:411 +#: src/components/forms/ApiForm.tsx:428 #: src/components/widgets/MarkdownEditor.tsx:145 msgid "Success" msgstr "Suksess" #: src/components/forms/ApiForm.tsx:487 -msgid "Form Errors Exist" -msgstr "Skjemafeil eksisterer" +#~ msgid "Form Errors Exist" +#~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:592 -#: src/tables/plugin/PluginListTable.tsx:445 +#: src/components/forms/ApiForm.tsx:609 +#: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "Oppdater" -#: src/components/forms/ApiForm.tsx:612 -#: src/components/items/ActionDropdown.tsx:203 +#: src/components/forms/ApiForm.tsx:629 +#: src/components/items/ActionDropdown.tsx:210 #: src/functions/forms.tsx:299 #: src/hooks/UseForm.tsx:122 #: src/pages/Index/Scan.tsx:343 #: src/pages/Notifications.tsx:123 -#: src/tables/InvenTreeTable.tsx:492 +#: src/tables/InvenTreeTable.tsx:498 #: src/tables/RowActions.tsx:71 -#: src/tables/plugin/PluginListTable.tsx:477 -#: src/tables/settings/TemplateTable.tsx:105 -#: src/tables/settings/TemplateTable.tsx:154 -#: src/tables/settings/TemplateTable.tsx:236 +#: src/tables/plugin/PluginListTable.tsx:420 msgid "Delete" msgstr "Slett" @@ -468,18 +526,19 @@ msgstr "Vert" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 -#: src/pages/part/CategoryDetail.tsx:77 -#: src/pages/part/PartDetail.tsx:125 -#: src/pages/stock/LocationDetail.tsx:83 +#: src/pages/part/CategoryDetail.tsx:78 +#: src/pages/part/PartDetail.tsx:126 +#: src/pages/stock/LocationDetail.tsx:85 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 #: src/tables/machine/MachineTypeTable.tsx:216 #: src/tables/machine/MachineTypeTable.tsx:319 #: src/tables/plugin/PluginErrorTable.tsx:33 -#: src/tables/plugin/PluginListTable.tsx:169 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:27 +#: src/tables/plugin/PluginListTable.tsx:126 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:32 #: src/tables/settings/GroupTable.tsx:103 #: src/tables/settings/PendingTasksTable.tsx:26 +#: src/tables/stock/LocationTypesTable.tsx:60 msgid "Name" msgstr "Navn" @@ -520,35 +579,20 @@ msgstr "Navn: {0}" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "Status: <0>arbeider ({0}), <1>utvidelser{1}" -#: src/components/forms/fields/ApiFormField.tsx:276 -#: src/components/modals/LicenseModal.tsx:75 -#: src/components/nav/SearchDrawer.tsx:413 -#: src/components/widgets/MarkdownEditor.tsx:107 -#: src/components/widgets/MarkdownEditor.tsx:153 -#: src/pages/ErrorPage.tsx:12 -#: src/pages/ErrorPage.tsx:25 -#: src/pages/part/PartPricingPanel.tsx:71 -#: src/tables/InvenTreeTable.tsx:445 -#: src/tables/InvenTreeTable.tsx:525 -#: src/tables/plugin/PluginListTable.tsx:402 -#: src/tables/stock/StockItemTestResultTable.tsx:319 -msgid "Error" -msgstr "Feil" - -#: src/components/forms/fields/RelatedModelField.tsx:305 +#: src/components/forms/fields/RelatedModelField.tsx:315 #: src/pages/Index/Settings/UserSettings.tsx:64 #: src/tables/Search.tsx:23 msgid "Search" msgstr "Søk" -#: src/components/forms/fields/RelatedModelField.tsx:306 +#: src/components/forms/fields/RelatedModelField.tsx:316 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:120 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "Laster" -#: src/components/forms/fields/RelatedModelField.tsx:308 +#: src/components/forms/fields/RelatedModelField.tsx:318 msgid "No results found" msgstr "Ingen resultater funnet" @@ -569,54 +613,51 @@ msgstr "" msgid "Thumbnail" msgstr "Miniatyrbilde" -#: src/components/items/ActionDropdown.tsx:112 -#: src/pages/build/BuildDetail.tsx:354 +#: src/components/items/ActionDropdown.tsx:119 +#: src/pages/build/BuildDetail.tsx:360 msgid "Barcode Actions" msgstr "Strekkodehandlinger" -#: src/components/items/ActionDropdown.tsx:129 +#: src/components/items/ActionDropdown.tsx:136 msgid "View" msgstr "Visning" -#: src/components/items/ActionDropdown.tsx:130 +#: src/components/items/ActionDropdown.tsx:137 msgid "View barcode" msgstr "Vis strekkode" -#: src/components/items/ActionDropdown.tsx:146 +#: src/components/items/ActionDropdown.tsx:153 msgid "Link Barcode" msgstr "Koble mot strekkode" -#: src/components/items/ActionDropdown.tsx:147 +#: src/components/items/ActionDropdown.tsx:154 msgid "Link custom barcode" msgstr "Koble til egendefinert strekkode" -#: src/components/items/ActionDropdown.tsx:163 -#: src/forms/PurchaseOrderForms.tsx:375 +#: src/components/items/ActionDropdown.tsx:170 +#: src/forms/PurchaseOrderForms.tsx:389 msgid "Unlink Barcode" msgstr "Fjern strekkodekobling" -#: src/components/items/ActionDropdown.tsx:164 +#: src/components/items/ActionDropdown.tsx:171 msgid "Unlink custom barcode" msgstr "Koble fra egendefinert strekkode" -#: src/components/items/ActionDropdown.tsx:182 +#: src/components/items/ActionDropdown.tsx:189 #: src/tables/RowActions.tsx:51 -#: src/tables/settings/TemplateTable.tsx:87 -#: src/tables/settings/TemplateTable.tsx:150 -#: src/tables/settings/TemplateTable.tsx:287 msgid "Edit" msgstr "Rediger" -#: src/components/items/ActionDropdown.tsx:204 +#: src/components/items/ActionDropdown.tsx:211 msgid "Delete item" msgstr "Slett element" -#: src/components/items/ActionDropdown.tsx:241 +#: src/components/items/ActionDropdown.tsx:248 #: src/tables/RowActions.tsx:31 msgid "Duplicate" msgstr "Dupliser" -#: src/components/items/ActionDropdown.tsx:242 +#: src/components/items/ActionDropdown.tsx:249 msgid "Duplicate item" msgstr "Dupliser element" @@ -625,7 +666,7 @@ msgid "Read More" msgstr "Les mer" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:437 +#: src/tables/InvenTreeTable.tsx:443 msgid "Unknown error" msgstr "Ukjent feil" @@ -785,27 +826,27 @@ msgstr "Feil under stans" #: src/components/modals/QrCodeModal.tsx:154 #: src/defaults/menuItems.tsx:21 -#: src/pages/Index/Scan.tsx:747 +#: src/pages/Index/Scan.tsx:746 msgid "Scanning" msgstr "Skanner" #: src/components/modals/QrCodeModal.tsx:154 -#: src/pages/Index/Scan.tsx:747 +#: src/pages/Index/Scan.tsx:746 msgid "Not scanning" msgstr "Skanner ikke" #: src/components/modals/QrCodeModal.tsx:159 -#: src/pages/Index/Scan.tsx:753 +#: src/pages/Index/Scan.tsx:752 msgid "Select Camera" msgstr "Velg kamera" #: src/components/modals/QrCodeModal.tsx:169 -#: src/pages/Index/Scan.tsx:738 +#: src/pages/Index/Scan.tsx:737 msgid "Start scanning" msgstr "Start skanningen" #: src/components/modals/QrCodeModal.tsx:176 -#: src/pages/Index/Scan.tsx:730 +#: src/pages/Index/Scan.tsx:729 msgid "Stop scanning" msgstr "Stopp skanning" @@ -891,8 +932,8 @@ msgid "Email settings not configured" msgstr "E-postinnstillinger ikke konfigurert" #: src/components/modals/ServerInfoModal.tsx:121 -#: src/tables/plugin/PluginListTable.tsx:187 -#: src/tables/plugin/PluginListTable.tsx:319 +#: src/tables/plugin/PluginListTable.tsx:144 +#: src/tables/plugin/PluginListTable.tsx:294 msgid "Version" msgstr "Versjon" @@ -926,13 +967,13 @@ msgstr "Kontoinnstillinger" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:293 +#: src/pages/Index/Settings/SystemSettings.tsx:294 msgid "System Settings" msgstr "Systeminnstillinger" #: src/components/nav/MainMenu.tsx:67 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:172 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 msgid "Admin Center" msgstr "Adminsenter" @@ -975,7 +1016,7 @@ msgid "Pages" msgstr "Sider" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:133 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:153 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "Utvidelser" @@ -1013,9 +1054,9 @@ msgid "Mark as read" msgstr "Merk som lest" #: src/components/nav/PartCategoryTree.tsx:158 -#: src/components/render/ModelType.tsx:60 +#: src/components/render/ModelType.tsx:64 #: src/pages/Index/Settings/SystemSettings.tsx:162 -#: src/pages/part/CategoryDetail.tsx:248 +#: src/pages/part/CategoryDetail.tsx:249 msgid "Part Categories" msgstr "Delkategorier" @@ -1052,142 +1093,147 @@ msgid "No results available for search query" msgstr "Ingen resultater tilgjengelig for søk" #: src/components/nav/StockLocationTree.tsx:93 -#: src/components/render/ModelType.tsx:76 -#: src/pages/stock/LocationDetail.tsx:175 +#: src/components/render/ModelType.tsx:82 +#: src/pages/stock/LocationDetail.tsx:185 msgid "Stock Locations" msgstr "Lagerplasseringer" -#: src/components/render/Instance.tsx:137 +#: src/components/render/Instance.tsx:166 msgid "Unknown model: {model}" msgstr "Ukjent modell: {model}" -#: src/components/render/ModelType.tsx:21 -#: src/forms/BuildForms.tsx:184 -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49 +#: src/components/render/ModelType.tsx:22 +#: src/forms/BuildForms.tsx:201 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:83 #: src/pages/part/PartDetail.tsx:828 #: src/tables/part/RelatedPartTable.tsx:45 +#: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" msgstr "Del" -#: src/components/render/ModelType.tsx:22 +#: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 #: src/pages/Index/Settings/SystemSettings.tsx:167 -#: src/pages/part/CategoryDetail.tsx:109 -#: src/pages/part/CategoryDetail.tsx:234 -#: src/pages/part/CategoryDetail.tsx:264 -#: src/pages/part/PartDetail.tsx:638 +#: src/pages/part/CategoryDetail.tsx:110 +#: src/pages/part/CategoryDetail.tsx:235 +#: src/pages/part/CategoryDetail.tsx:265 +#: src/pages/part/PartDetail.tsx:639 msgid "Parts" msgstr "Deler" -#: src/components/render/ModelType.tsx:29 +#: src/components/render/ModelType.tsx:31 msgid "Part Parameter Template" msgstr "Mal for Delparameter" -#: src/components/render/ModelType.tsx:30 +#: src/components/render/ModelType.tsx:32 msgid "Part Parameter Templates" msgstr "Maler for Delparameter" -#: src/components/render/ModelType.tsx:36 +#: src/components/render/ModelType.tsx:38 msgid "Part Test Template" msgstr "" -#: src/components/render/ModelType.tsx:37 +#: src/components/render/ModelType.tsx:39 msgid "Part Test Templates" msgstr "" -#: src/components/render/ModelType.tsx:43 -#: src/pages/company/SupplierPartDetail.tsx:189 -#: src/pages/company/SupplierPartDetail.tsx:317 -#: src/pages/stock/StockDetail.tsx:159 +#: src/components/render/ModelType.tsx:45 +#: src/pages/company/SupplierPartDetail.tsx:190 +#: src/pages/company/SupplierPartDetail.tsx:318 +#: src/pages/stock/StockDetail.tsx:162 #: src/tables/purchasing/SupplierPartTable.tsx:68 msgid "Supplier Part" msgstr "Leverandørdel" -#: src/components/render/ModelType.tsx:44 +#: src/components/render/ModelType.tsx:46 msgid "Supplier Parts" msgstr "Leverandørdeler" -#: src/components/render/ModelType.tsx:51 -#: src/pages/company/ManufacturerPartDetail.tsx:124 +#: src/components/render/ModelType.tsx:54 +#: src/pages/company/ManufacturerPartDetail.tsx:125 msgid "Manufacturer Part" msgstr "Produsentdel" -#: src/components/render/ModelType.tsx:52 +#: src/components/render/ModelType.tsx:55 msgid "Manufacturer Parts" msgstr "Produsentdeler" -#: src/components/render/ModelType.tsx:59 -#: src/pages/part/CategoryDetail.tsx:287 +#: src/components/render/ModelType.tsx:63 +#: src/pages/part/CategoryDetail.tsx:288 msgid "Part Category" msgstr "Delkategori" -#: src/components/render/ModelType.tsx:67 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67 -#: src/pages/stock/StockDetail.tsx:535 +#: src/components/render/ModelType.tsx:72 +#: src/pages/stock/StockDetail.tsx:548 +#: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" msgstr "Lagervare" -#: src/components/render/ModelType.tsx:68 -#: src/pages/company/CompanyDetail.tsx:197 -#: src/pages/stock/LocationDetail.tsx:116 -#: src/pages/stock/LocationDetail.tsx:161 +#: src/components/render/ModelType.tsx:73 +#: src/pages/company/CompanyDetail.tsx:199 +#: src/pages/stock/LocationDetail.tsx:118 +#: src/pages/stock/LocationDetail.tsx:171 #: src/pages/stock/LocationDetail.tsx:365 msgid "Stock Items" msgstr "Lagervarer" -#: src/components/render/ModelType.tsx:75 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:154 +#: src/components/render/ModelType.tsx:81 msgid "Stock Location" msgstr "Lagerplassering" -#: src/components/render/ModelType.tsx:83 +#: src/components/render/ModelType.tsx:90 +msgid "Stock Location Type" +msgstr "" + +#: src/components/render/ModelType.tsx:91 +msgid "Stock Location Types" +msgstr "" + +#: src/components/render/ModelType.tsx:95 msgid "Stock History" msgstr "Lagerhistorikk" -#: src/components/render/ModelType.tsx:84 +#: src/components/render/ModelType.tsx:96 msgid "Stock Histories" msgstr "Lagerhistorikk" -#: src/components/render/ModelType.tsx:88 +#: src/components/render/ModelType.tsx:100 #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:43 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:126 msgid "Build" msgstr "Produksjon" -#: src/components/render/ModelType.tsx:89 +#: src/components/render/ModelType.tsx:101 msgid "Builds" msgstr "Produksjoner" -#: src/components/render/ModelType.tsx:96 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:76 +#: src/components/render/ModelType.tsx:109 msgid "Build Line" msgstr "" -#: src/components/render/ModelType.tsx:97 +#: src/components/render/ModelType.tsx:110 msgid "Build Lines" msgstr "" -#: src/components/render/ModelType.tsx:104 -#: src/pages/company/CompanyDetail.tsx:321 +#: src/components/render/ModelType.tsx:117 +#: src/pages/company/CompanyDetail.tsx:323 msgid "Company" msgstr "Firma" -#: src/components/render/ModelType.tsx:105 +#: src/components/render/ModelType.tsx:118 msgid "Companies" msgstr "Firma" -#: src/components/render/ModelType.tsx:112 +#: src/components/render/ModelType.tsx:126 #: src/tables/TableHoverCard.tsx:58 #: src/tables/build/BuildOrderTable.tsx:131 #: src/tables/purchasing/PurchaseOrderTable.tsx:64 @@ -1196,170 +1242,199 @@ msgstr "Firma" msgid "Project Code" msgstr "Prosjektkode" -#: src/components/render/ModelType.tsx:113 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:97 +#: src/components/render/ModelType.tsx:127 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:105 msgid "Project Codes" msgstr "Prosjektkoder" -#: src/components/render/ModelType.tsx:119 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99 +#: src/components/render/ModelType.tsx:133 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:355 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:362 +#: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" msgstr "Innkjøpsordre" -#: src/components/render/ModelType.tsx:120 -#: src/pages/Index/Settings/SystemSettings.tsx:242 -#: src/pages/company/CompanyDetail.tsx:190 -#: src/pages/company/SupplierPartDetail.tsx:223 -#: src/pages/part/PartDetail.tsx:571 +#: src/components/render/ModelType.tsx:134 +#: src/pages/Index/Settings/SystemSettings.tsx:243 +#: src/pages/company/CompanyDetail.tsx:192 +#: src/pages/company/SupplierPartDetail.tsx:224 +#: src/pages/part/PartDetail.tsx:572 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "Innkjøpsordrer" -#: src/components/render/ModelType.tsx:127 +#: src/components/render/ModelType.tsx:142 msgid "Purchase Order Line" msgstr "Ordrelinje for innkjøpsordre" -#: src/components/render/ModelType.tsx:128 +#: src/components/render/ModelType.tsx:143 msgid "Purchase Order Lines" msgstr "Ordrelinjer for innkjøpsordre" -#: src/components/render/ModelType.tsx:132 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:108 +#: src/components/render/ModelType.tsx:147 #: src/pages/build/BuildDetail.tsx:131 -#: src/pages/sales/SalesOrderDetail.tsx:340 -#: src/pages/stock/StockDetail.tsx:207 +#: src/pages/sales/SalesOrderDetail.tsx:347 +#: src/pages/stock/StockDetail.tsx:210 +#: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" msgstr "Salgsordre" -#: src/components/render/ModelType.tsx:133 -#: src/pages/Index/Settings/SystemSettings.tsx:257 -#: src/pages/company/CompanyDetail.tsx:210 -#: src/pages/part/PartDetail.tsx:577 +#: src/components/render/ModelType.tsx:148 +#: src/pages/Index/Settings/SystemSettings.tsx:258 +#: src/pages/company/CompanyDetail.tsx:212 +#: src/pages/part/PartDetail.tsx:578 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "Salgsordrer" -#: src/components/render/ModelType.tsx:140 +#: src/components/render/ModelType.tsx:156 msgid "Sales Order Shipment" msgstr "Salgsordreforsendelse" -#: src/components/render/ModelType.tsx:141 +#: src/components/render/ModelType.tsx:157 msgid "Sales Order Shipments" msgstr "Salgsordreforsendelser" -#: src/components/render/ModelType.tsx:147 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:117 -#: src/pages/sales/ReturnOrderDetail.tsx:318 +#: src/components/render/ModelType.tsx:163 +#: src/pages/sales/ReturnOrderDetail.tsx:325 +#: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "Returordre" -#: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:272 -#: src/pages/company/CompanyDetail.tsx:217 +#: src/components/render/ModelType.tsx:164 +#: src/pages/Index/Settings/SystemSettings.tsx:273 +#: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" msgstr "Returordrer" -#: src/components/render/ModelType.tsx:155 +#: src/components/render/ModelType.tsx:172 #: src/tables/company/AddressTable.tsx:47 msgid "Address" msgstr "Adresse" -#: src/components/render/ModelType.tsx:156 -#: src/pages/company/CompanyDetail.tsx:247 +#: src/components/render/ModelType.tsx:173 +#: src/pages/company/CompanyDetail.tsx:249 msgid "Addresses" msgstr "Adresser" -#: src/components/render/ModelType.tsx:162 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:189 -#: src/pages/sales/ReturnOrderDetail.tsx:157 -#: src/pages/sales/SalesOrderDetail.tsx:161 +#: src/components/render/ModelType.tsx:179 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:191 +#: src/pages/sales/ReturnOrderDetail.tsx:159 +#: src/pages/sales/SalesOrderDetail.tsx:163 msgid "Contact" msgstr "Kontakt" -#: src/components/render/ModelType.tsx:163 -#: src/pages/company/CompanyDetail.tsx:241 +#: src/components/render/ModelType.tsx:180 +#: src/pages/company/CompanyDetail.tsx:243 msgid "Contacts" msgstr "Kontakter" -#: src/components/render/ModelType.tsx:169 +#: src/components/render/ModelType.tsx:186 msgid "Owner" msgstr "Eier" -#: src/components/render/ModelType.tsx:170 +#: src/components/render/ModelType.tsx:187 msgid "Owners" msgstr "Eiere" -#: src/components/render/ModelType.tsx:176 +#: src/components/render/ModelType.tsx:193 +#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "Bruker" -#: src/components/render/ModelType.tsx:177 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:73 +#: src/components/render/ModelType.tsx:194 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:81 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "Brukere" -#: src/components/render/Order.tsx:87 +#: src/components/render/ModelType.tsx:200 +msgid "Label Template" +msgstr "" + +#: src/components/render/ModelType.tsx:201 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:135 +msgid "Label Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:207 +msgid "Report Template" +msgstr "" + +#: src/components/render/ModelType.tsx:208 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:141 +msgid "Report Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:214 +msgid "Plugin Configuration" +msgstr "" + +#: src/components/render/ModelType.tsx:215 +msgid "Plugin Configurations" +msgstr "" + +#: src/components/render/Order.tsx:104 msgid "Shipment" msgstr "Forsendelse" -#: src/components/render/Part.tsx:12 +#: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:198 -#: src/pages/part/PartDetail.tsx:491 +#: src/pages/Index/Settings/SystemSettings.tsx:199 +#: src/pages/part/PartDetail.tsx:492 #: src/pages/stock/LocationDetail.tsx:344 -#: src/pages/stock/StockDetail.tsx:344 +#: src/pages/stock/StockDetail.tsx:352 #: src/tables/stock/StockItemTable.tsx:57 msgid "Stock" msgstr "Lagerbeholdning" -#: src/components/render/Stock.tsx:26 -#: src/pages/stock/StockDetail.tsx:142 -#: src/pages/stock/StockDetail.tsx:501 +#: src/components/render/Stock.tsx:52 +#: src/pages/stock/StockDetail.tsx:145 +#: src/pages/stock/StockDetail.tsx:514 msgid "Serial Number" msgstr "Serienummer" -#: src/components/render/Stock.tsx:28 -#: src/forms/BuildForms.tsx:189 +#: src/components/render/Stock.tsx:54 +#: src/forms/BuildForms.tsx:206 #: src/pages/part/pricing/BomPricingPanel.tsx:144 -#: src/pages/part/pricing/PriceBreakPanel.tsx:96 -#: src/pages/stock/StockDetail.tsx:137 -#: src/pages/stock/StockDetail.tsx:507 +#: src/pages/part/pricing/PriceBreakPanel.tsx:94 +#: src/pages/stock/StockDetail.tsx:140 +#: src/pages/stock/StockDetail.tsx:520 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:73 +#: src/tables/stock/StockTrackingTable.tsx:59 msgid "Quantity" msgstr "Antall" -#: src/components/settings/SettingItem.tsx:46 -#: src/components/settings/SettingItem.tsx:99 -msgid "Setting updated" -msgstr "Innstilling oppdatert" - #: src/components/settings/SettingItem.tsx:47 #: src/components/settings/SettingItem.tsx:100 -msgid "{0} updated successfully" -msgstr "{0} oppdatert" +#~ msgid "{0} updated successfully" +#~ msgstr "{0} updated successfully" -#: src/components/settings/SettingItem.tsx:55 -msgid "Error editing setting" -msgstr "Feil ved endring av innstilling" - -#: src/components/settings/SettingItem.tsx:92 +#: src/components/settings/SettingList.tsx:67 msgid "Edit Setting" msgstr "Rediger innstilling" -#: src/components/settings/SettingList.tsx:63 -msgid "No settings specified" +#: src/components/settings/SettingList.tsx:78 +#: src/components/settings/SettingList.tsx:108 +msgid "Setting {0} updated successfully" msgstr "" -#: src/components/tables/ColumnRenderers.tsx:134 -#~ msgid "Shipment Date" -#~ msgstr "Shipment Date" +#: src/components/settings/SettingList.tsx:107 +msgid "Setting updated" +msgstr "Innstilling oppdatert" + +#: src/components/settings/SettingList.tsx:117 +msgid "Error editing setting" +msgstr "Feil ved endring av innstilling" + +#: src/components/settings/SettingList.tsx:158 +msgid "No settings specified" +msgstr "" #: src/components/tables/FilterGroup.tsx:29 #~ msgid "Add table filter" @@ -1731,10 +1806,6 @@ msgstr "" #~ msgid "This is a test filter" #~ msgstr "This is a test filter" -#: src/components/tables/stock/StockLocationTable.tsx:91 -#~ msgid "Location Type" -#~ msgstr "Location Type" - #: src/components/tables/stock/StockLocationTable.tsx:145 #~ msgid "Stock location updated" #~ msgstr "Stock location updated" @@ -2072,7 +2143,7 @@ msgstr "Aktuelle nyheter" #~ msgstr "Local Server" #: src/defaults/links.tsx:11 -#: src/pages/company/CompanyDetail.tsx:90 +#: src/pages/company/CompanyDetail.tsx:92 msgid "Website" msgstr "Nettside" @@ -2087,10 +2158,10 @@ msgstr "Demo" #: src/defaults/links.tsx:31 #: src/defaults/menuItems.tsx:48 #: src/pages/company/ManufacturerDetail.tsx:9 -#: src/pages/company/ManufacturerPartDetail.tsx:231 +#: src/pages/company/ManufacturerPartDetail.tsx:235 #: src/pages/company/SupplierDetail.tsx:9 -#: src/pages/company/SupplierPartDetail.tsx:291 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:358 +#: src/pages/company/SupplierPartDetail.tsx:292 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:365 #: src/pages/purchasing/PurchasingIndex.tsx:52 msgid "Purchasing" msgstr "Innkjøp" @@ -2098,15 +2169,15 @@ msgstr "Innkjøp" #: src/defaults/links.tsx:32 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:323 +#: src/pages/sales/ReturnOrderDetail.tsx:330 #: src/pages/sales/SalesIndex.tsx:45 -#: src/pages/sales/SalesOrderDetail.tsx:345 +#: src/pages/sales/SalesOrderDetail.tsx:352 msgid "Sales" msgstr "Salg" #: src/defaults/links.tsx:35 #: src/defaults/menuItems.tsx:71 -#: src/pages/Index/Playground.tsx:239 +#: src/pages/Index/Playground.tsx:238 msgid "Playground" msgstr "Lekeplass" @@ -2240,87 +2311,83 @@ msgstr "Side for interaktiv skanning og flere handlinger." #~ msgstr "Combusken battles with the intensely hot flames it spews" #: src/forms/AttachmentForms.tsx:57 -msgid "Add File" -msgstr "Legg til Fil" +#~ msgid "Add File" +#~ msgstr "Add File" #: src/forms/AttachmentForms.tsx:57 -msgid "Add Link" -msgstr "Legg til lenke" +#~ msgid "Add Link" +#~ msgstr "Add Link" #: src/forms/AttachmentForms.tsx:58 -msgid "File added" -msgstr "Fil lagt til" +#~ msgid "File added" +#~ msgstr "File added" #: src/forms/AttachmentForms.tsx:58 -msgid "Link added" -msgstr "Lenke lagt til" +#~ msgid "Link added" +#~ msgstr "Link added" #: src/forms/AttachmentForms.tsx:99 -msgid "Edit File" -msgstr "Rediger fil" +#~ msgid "Edit File" +#~ msgstr "Edit File" #: src/forms/AttachmentForms.tsx:99 -msgid "Edit Link" -msgstr "Rediger lenke" +#~ msgid "Edit Link" +#~ msgstr "Edit Link" #: src/forms/AttachmentForms.tsx:100 -msgid "File updated" -msgstr "Fil oppdatert" +#~ msgid "File updated" +#~ msgstr "File updated" #: src/forms/AttachmentForms.tsx:100 -msgid "Link updated" -msgstr "Lenke oppdatert" - -#: src/forms/AttachmentForms.tsx:124 -msgid "Delete Attachment" -msgstr "Slett vedlegg" +#~ msgid "Link updated" +#~ msgstr "Link updated" #: src/forms/AttachmentForms.tsx:125 -msgid "Attachment deleted" -msgstr "Vedlegg slettet" +#~ msgid "Attachment deleted" +#~ msgstr "Attachment deleted" #: src/forms/AttachmentForms.tsx:128 -msgid "Are you sure you want to delete this attachment?" -msgstr "Er du sikker på at du vil slette dette vedlegget?" +#~ msgid "Are you sure you want to delete this attachment?" +#~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BuildForms.tsx:129 +#: src/forms/BuildForms.tsx:146 msgid "Next serial number" msgstr "" -#: src/forms/BuildForms.tsx:133 +#: src/forms/BuildForms.tsx:150 msgid "Latest serial number" msgstr "" -#: src/forms/BuildForms.tsx:205 +#: src/forms/BuildForms.tsx:222 msgid "Remove output" msgstr "" -#: src/forms/BuildForms.tsx:287 +#: src/forms/BuildForms.tsx:304 msgid "Complete Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:291 +#: src/forms/BuildForms.tsx:308 msgid "Build outputs have been completed" msgstr "" -#: src/forms/BuildForms.tsx:360 +#: src/forms/BuildForms.tsx:377 msgid "Scrap Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:364 +#: src/forms/BuildForms.tsx:381 msgid "Build outputs have been scrapped" msgstr "" -#: src/forms/BuildForms.tsx:396 -#: src/forms/BuildForms.tsx:420 +#: src/forms/BuildForms.tsx:413 +#: src/forms/BuildForms.tsx:437 msgid "Cancel Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:397 +#: src/forms/BuildForms.tsx:414 msgid "Selected build outputs will be deleted" msgstr "" -#: src/forms/BuildForms.tsx:424 +#: src/forms/BuildForms.tsx:441 msgid "Build outputs have been cancelled" msgstr "" @@ -2344,76 +2411,76 @@ msgstr "Overordnet del-kategori" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PurchaseOrderForms.tsx:265 +#: src/forms/PurchaseOrderForms.tsx:279 msgid "Choose Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:273 +#: src/forms/PurchaseOrderForms.tsx:287 msgid "Item Destination selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:282 +#: src/forms/PurchaseOrderForms.tsx:296 msgid "Part category default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:292 +#: src/forms/PurchaseOrderForms.tsx:306 msgid "Received stock location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:297 +#: src/forms/PurchaseOrderForms.tsx:311 msgid "Default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:308 -#: src/forms/PurchaseOrderForms.tsx:384 +#: src/forms/PurchaseOrderForms.tsx:322 +#: src/forms/PurchaseOrderForms.tsx:398 msgid "Scan Barcode" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:352 +#: src/forms/PurchaseOrderForms.tsx:366 msgid "Set Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:359 +#: src/forms/PurchaseOrderForms.tsx:373 msgid "Assign Batch Code{0}" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:368 +#: src/forms/PurchaseOrderForms.tsx:382 msgid "Change Status" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:393 -#: src/forms/StockForms.tsx:351 +#: src/forms/PurchaseOrderForms.tsx:407 +#: src/forms/StockForms.tsx:392 msgid "Remove item from list" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:418 -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:58 -#: src/pages/stock/StockDetail.tsx:167 -#: src/tables/ColumnRenderers.tsx:42 +#: src/forms/PurchaseOrderForms.tsx:432 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/pages/stock/StockDetail.tsx:170 +#: src/tables/ColumnRenderers.tsx:34 +#: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:434 +#: src/forms/PurchaseOrderForms.tsx:448 msgid "Store at default location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:447 +#: src/forms/PurchaseOrderForms.tsx:461 msgid "Store at line item destination" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:457 +#: src/forms/PurchaseOrderForms.tsx:471 msgid "Store with already received stock" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:613 +#: src/forms/PurchaseOrderForms.tsx:627 msgid "Receive Line Items" msgstr "" @@ -2421,119 +2488,118 @@ msgstr "" #~ msgid "Receive line items" #~ msgstr "Receive line items" -#: src/forms/StockForms.tsx:69 +#: src/forms/StockForms.tsx:101 msgid "Add given quantity as packs instead of individual items" msgstr "Legg til gitt mengde som pakker i stedet for enkeltprodukter" -#: src/forms/StockForms.tsx:80 -msgid "Enter initial quantity for this stock item" -msgstr "Angi innledende antall for denne lagervaren" - -#: src/forms/StockForms.tsx:85 -msgid "Serial Numbers" -msgstr "Serienumre" - -#: src/forms/StockForms.tsx:86 -msgid "Enter serial numbers for new stock (or leave blank)" -msgstr "Angi serienumre for ny lagerbeholdning (eller la stå tom)" - #: src/forms/StockForms.tsx:110 #~ msgid "Create Stock Item" #~ msgstr "Create Stock Item" -#: src/forms/StockForms.tsx:135 -#: src/pages/stock/StockDetail.tsx:367 -#: src/tables/stock/StockItemTable.tsx:382 -#: src/tables/stock/StockItemTable.tsx:499 -msgid "Add Stock Item" -msgstr "" +#: src/forms/StockForms.tsx:114 +msgid "Enter initial quantity for this stock item" +msgstr "Angi innledende antall for denne lagervaren" + +#: src/forms/StockForms.tsx:121 +msgid "Serial Numbers" +msgstr "Serienumre" + +#: src/forms/StockForms.tsx:122 +msgid "Enter serial numbers for new stock (or leave blank)" +msgstr "Angi serienumre for ny lagerbeholdning (eller la stå tom)" #: src/forms/StockForms.tsx:158 #~ msgid "Stock item updated" #~ msgstr "Stock item updated" -#: src/forms/StockForms.tsx:298 +#: src/forms/StockForms.tsx:176 +#: src/pages/stock/StockDetail.tsx:375 +#: src/tables/stock/StockItemTable.tsx:382 +#: src/tables/stock/StockItemTable.tsx:499 +msgid "Add Stock Item" +msgstr "" + +#: src/forms/StockForms.tsx:339 msgid "Loading..." msgstr "" -#: src/forms/StockForms.tsx:340 +#: src/forms/StockForms.tsx:381 msgid "Move to default location" msgstr "" -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/part/PartDetail.tsx:205 -#: src/pages/part/PartDetail.tsx:654 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/pages/part/PartDetail.tsx:206 +#: src/pages/part/PartDetail.tsx:655 #: src/tables/stock/StockItemTable.tsx:290 msgid "In Stock" msgstr "På lager" -#: src/forms/StockForms.tsx:408 +#: src/forms/StockForms.tsx:449 msgid "Move" msgstr "" -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/tables/RowActions.tsx:147 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/tables/RowActions.tsx:149 msgid "Actions" msgstr "Handlinger" -#: src/forms/StockForms.tsx:471 -#: src/pages/stock/StockDetail.tsx:440 -#: src/tables/settings/TemplateTable.tsx:266 -#: src/tables/stock/StockItemTestResultTable.tsx:348 +#: src/forms/StockForms.tsx:512 +#: src/pages/stock/StockDetail.tsx:454 +#: src/tables/stock/StockItemTestResultTable.tsx:339 msgid "Add" msgstr "Legg til" -#: src/forms/StockForms.tsx:499 +#: src/forms/StockForms.tsx:540 #: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:430 +#: src/pages/stock/StockDetail.tsx:444 msgid "Count" msgstr "Tell" -#: src/forms/StockForms.tsx:744 +#: src/forms/StockForms.tsx:785 msgid "Add Stock" msgstr "" -#: src/forms/StockForms.tsx:753 +#: src/forms/StockForms.tsx:794 msgid "Remove Stock" msgstr "" -#: src/forms/StockForms.tsx:762 -#: src/pages/part/PartDetail.tsx:781 +#: src/forms/StockForms.tsx:803 +#: src/pages/part/PartDetail.tsx:782 msgid "Transfer Stock" msgstr "Overfør lager" -#: src/forms/StockForms.tsx:771 -#: src/pages/part/PartDetail.tsx:770 +#: src/forms/StockForms.tsx:812 +#: src/pages/part/PartDetail.tsx:771 msgid "Count Stock" msgstr "Tell beholdning" -#: src/forms/StockForms.tsx:780 +#: src/forms/StockForms.tsx:821 msgid "Change Stock Status" msgstr "" -#: src/forms/StockForms.tsx:789 +#: src/forms/StockForms.tsx:830 msgid "Merge Stock" msgstr "" -#: src/forms/StockForms.tsx:808 +#: src/forms/StockForms.tsx:849 msgid "Delete Stock Items" msgstr "" -#: src/forms/StockForms.tsx:815 +#: src/forms/StockForms.tsx:856 msgid "Parent stock location" msgstr "" @@ -2728,7 +2794,7 @@ msgstr "Denne siden er erstatning for den gamle startsiden med samme informasjon msgid "Welcome to your Dashboard{0}" msgstr "Velkommen til dashbordet ditt{0}" -#: src/pages/Index/Playground.tsx:244 +#: src/pages/Index/Playground.tsx:243 msgid "This page is a showcase for the possibilities of Platform UI." msgstr "Denne siden er et utstillingsvindu for Platform UI." @@ -3138,49 +3204,53 @@ msgstr "Laster" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:79 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:87 msgid "Background Tasks" msgstr "Bakgrunnsoppgaver" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:85 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:93 msgid "Error Reports" msgstr "Feilrapporter" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:91 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:99 msgid "Currencies" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:109 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:117 msgid "Custom Units" msgstr "Egendefinerte enheter" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:115 -#: src/pages/part/CategoryDetail.tsx:254 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:123 +#: src/pages/part/CategoryDetail.tsx:255 msgid "Part Parameters" msgstr "Delparametere" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:121 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 +#~ msgid "Templates" +#~ msgstr "Templates" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:129 msgid "Category Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 -msgid "Templates" +#: src/pages/Index/Settings/AdminCenter/Index.tsx:147 +msgid "Location types" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:139 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:159 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:149 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:169 msgid "Quick Actions" msgstr "Hurtighandlinger" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:154 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 msgid "Add a new user" msgstr "Legg til en ny bruker" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:173 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:193 msgid "Advanced Options" msgstr "Avanserte Innstillinger" @@ -3225,26 +3295,32 @@ msgstr "" msgid "Plugin Settings" msgstr "Innstillinger for Utvidelser" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:25 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:53 +msgid "Background Worker Not Running" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:54 +msgid "The background task manager service is not running. Contact your system administrator." +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:60 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:76 msgid "Pending Tasks" msgstr "Ventende oppgaver" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:33 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:64 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:84 msgid "Scheduled Tasks" msgstr "Planlagte oppgaver" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:41 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:68 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:92 msgid "Failed Tasks" msgstr "Mislykkede oppgaver" -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:139 -msgid "Labels" -msgstr "Etiketter" - #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:39 -msgid "Label" -msgstr "" +#~ msgid "Label" +#~ msgstr "Label" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67 #~ msgid "Stock item" @@ -3255,13 +3331,13 @@ msgstr "" #~ msgstr "Build line" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:88 -msgid "Reports" -msgstr "" +#~ msgid "Reports" +#~ msgstr "Reports" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:89 #: src/pages/build/BuildDetail.tsx:373 -msgid "Report" -msgstr "Rapport" +#~ msgid "Report" +#~ msgstr "Report" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99 #~ msgid "Purchase order" @@ -3275,14 +3351,9 @@ msgstr "Rapport" #~ msgid "Return order" #~ msgstr "Return order" -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135 -#: src/pages/part/PartDetail.tsx:518 -msgid "Bill of Materials" -msgstr "Stykkliste (BOM)" - #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:145 -msgid "Tests" -msgstr "" +#~ msgid "Tests" +#~ msgstr "Tests" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:154 #~ msgid "Stock location" @@ -3321,26 +3392,30 @@ msgstr "Prising" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" +#: src/pages/Index/Settings/SystemSettings.tsx:139 +msgid "Labels" +msgstr "Etiketter" + #: src/pages/Index/Settings/SystemSettings.tsx:145 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "Rapportering" -#: src/pages/Index/Settings/SystemSettings.tsx:223 -#: src/pages/part/PartDetail.tsx:589 +#: src/pages/Index/Settings/SystemSettings.tsx:224 +#: src/pages/part/PartDetail.tsx:590 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "Lagertelling" -#: src/pages/Index/Settings/SystemSettings.tsx:228 -#: src/pages/build/BuildDetail.tsx:426 +#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:525 -#: src/pages/sales/SalesOrderDetail.tsx:263 +#: src/pages/part/PartDetail.tsx:526 +#: src/pages/sales/SalesOrderDetail.tsx:265 msgid "Build Orders" msgstr "Produksjonsordrer" -#: src/pages/Index/Settings/SystemSettings.tsx:296 +#: src/pages/Index/Settings/SystemSettings.tsx:297 msgid "Switch to User Setting" msgstr "Bytt til brukerinnstilling" @@ -3397,44 +3472,47 @@ msgstr "Marker som ulest" #~ msgstr "Build Status" #: src/pages/build/BuildDetail.tsx:89 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:128 -#: src/pages/sales/ReturnOrderDetail.tsx:95 -#: src/pages/sales/SalesOrderDetail.tsx:99 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:130 +#: src/pages/sales/ReturnOrderDetail.tsx:97 +#: src/pages/sales/SalesOrderDetail.tsx:101 #: src/tables/build/BuildOrderTable.tsx:113 #: src/tables/machine/MachineListTable.tsx:326 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderTable.tsx:46 #: src/tables/sales/SalesOrderTable.tsx:52 #: src/tables/stock/StockItemTable.tsx:259 +#: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "Status" #: src/pages/build/BuildDetail.tsx:95 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:101 -#: src/pages/sales/ReturnOrderDetail.tsx:69 -#: src/pages/sales/SalesOrderDetail.tsx:73 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:103 +#: src/pages/sales/ReturnOrderDetail.tsx:71 +#: src/pages/sales/SalesOrderDetail.tsx:75 +#: src/tables/ColumnRenderers.tsx:106 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" msgstr "" #: src/pages/build/BuildDetail.tsx:100 -#: src/pages/company/CompanyDetail.tsx:84 -#: src/pages/company/ManufacturerPartDetail.tsx:75 -#: src/pages/company/SupplierPartDetail.tsx:82 -#: src/pages/part/CategoryDetail.tsx:91 -#: src/pages/part/PartDetail.tsx:132 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:122 -#: src/pages/sales/ReturnOrderDetail.tsx:89 -#: src/pages/sales/SalesOrderDetail.tsx:93 -#: src/pages/stock/LocationDetail.tsx:97 -#: src/tables/ColumnRenderers.tsx:95 +#: src/pages/company/CompanyDetail.tsx:86 +#: src/pages/company/ManufacturerPartDetail.tsx:76 +#: src/pages/company/SupplierPartDetail.tsx:83 +#: src/pages/part/CategoryDetail.tsx:92 +#: src/pages/part/PartDetail.tsx:133 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:124 +#: src/pages/sales/ReturnOrderDetail.tsx:91 +#: src/pages/sales/SalesOrderDetail.tsx:95 +#: src/pages/stock/LocationDetail.tsx:99 +#: src/tables/ColumnRenderers.tsx:66 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 #: src/tables/machine/MachineTypeTable.tsx:323 #: src/tables/part/RelatedPartTable.tsx:64 -#: src/tables/plugin/PluginListTable.tsx:172 -#: src/tables/plugin/PluginListTable.tsx:302 +#: src/tables/plugin/PluginListTable.tsx:129 +#: src/tables/plugin/PluginListTable.tsx:276 +#: src/tables/stock/LocationTypesTable.tsx:65 msgid "Description" msgstr "Beskrivelse" @@ -3447,7 +3525,7 @@ msgid "Build Quantity" msgstr "" #: src/pages/build/BuildDetail.tsx:126 -#: src/pages/build/BuildDetail.tsx:249 +#: src/pages/build/BuildDetail.tsx:256 msgid "Completed Outputs" msgstr "Fullførte artikler" @@ -3457,10 +3535,10 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:150 -#: src/pages/part/PartDetail.tsx:320 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:214 -#: src/pages/sales/ReturnOrderDetail.tsx:182 -#: src/pages/sales/SalesOrderDetail.tsx:186 +#: src/pages/part/PartDetail.tsx:321 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:184 +#: src/pages/sales/SalesOrderDetail.tsx:188 #: src/tables/build/BuildOrderTable.tsx:148 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 @@ -3474,10 +3552,10 @@ msgid "Created" msgstr "Opprettet" #: src/pages/build/BuildDetail.tsx:164 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:207 -#: src/pages/sales/ReturnOrderDetail.tsx:175 -#: src/pages/sales/SalesOrderDetail.tsx:179 -#: src/tables/ColumnRenderers.tsx:227 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:209 +#: src/pages/sales/ReturnOrderDetail.tsx:177 +#: src/pages/sales/SalesOrderDetail.tsx:181 +#: src/tables/ColumnRenderers.tsx:191 msgid "Target Date" msgstr "Måldato" @@ -3513,6 +3591,11 @@ msgstr "" #~ msgid "Unlink custom barcode from part" #~ msgstr "Unlink custom barcode from part" +#: src/pages/build/BuildDetail.tsx:197 +#: src/pages/stock/StockDetail.tsx:526 +msgid "Batch Code" +msgstr "" + #: src/pages/build/BuildDetail.tsx:202 #~ msgid "Build Order updated" #~ msgstr "Build Order updated" @@ -3521,86 +3604,87 @@ msgstr "" #~ msgid "Edit build order" #~ msgstr "Edit build order" -#: src/pages/build/BuildDetail.tsx:222 -msgid "Build Details" -msgstr "Produksjonsdetaljer" - #: src/pages/build/BuildDetail.tsx:226 #~ msgid "Duplicate build order" #~ msgstr "Duplicate build order" -#: src/pages/build/BuildDetail.tsx:228 -#: src/tables/build/BuildLineTable.tsx:225 -msgid "Allocate Stock" -msgstr "Tildel lagerbeholdning" +#: src/pages/build/BuildDetail.tsx:229 +msgid "Build Details" +msgstr "Produksjonsdetaljer" #: src/pages/build/BuildDetail.tsx:231 #~ msgid "Delete build order" #~ msgstr "Delete build order" -#: src/pages/build/BuildDetail.tsx:242 +#: src/pages/build/BuildDetail.tsx:235 +#: src/tables/build/BuildLineTable.tsx:225 +msgid "Allocate Stock" +msgstr "Tildel lagerbeholdning" + +#: src/pages/build/BuildDetail.tsx:249 msgid "Incomplete Outputs" msgstr "Ufullstendige artikler" -#: src/pages/build/BuildDetail.tsx:264 +#: src/pages/build/BuildDetail.tsx:271 msgid "Consumed Stock" msgstr "Brukt lagerbeholdning" -#: src/pages/build/BuildDetail.tsx:278 +#: src/pages/build/BuildDetail.tsx:285 msgid "Child Build Orders" msgstr "Underordnede Produksjonsordrer" -#: src/pages/build/BuildDetail.tsx:288 -#: src/pages/company/CompanyDetail.tsx:253 -#: src/pages/company/ManufacturerPartDetail.tsx:171 -#: src/pages/part/PartDetail.tsx:611 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:276 -#: src/pages/sales/ReturnOrderDetail.tsx:225 -#: src/pages/sales/SalesOrderDetail.tsx:273 -#: src/pages/stock/StockDetail.tsx:317 +#: src/pages/build/BuildDetail.tsx:295 +#: src/pages/company/CompanyDetail.tsx:255 +#: src/pages/company/ManufacturerPartDetail.tsx:172 +#: src/pages/part/PartDetail.tsx:612 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:278 +#: src/pages/sales/ReturnOrderDetail.tsx:227 +#: src/pages/sales/SalesOrderDetail.tsx:275 +#: src/pages/stock/StockDetail.tsx:325 msgid "Attachments" msgstr "Vedlegg" -#: src/pages/build/BuildDetail.tsx:300 -#: src/pages/company/CompanyDetail.tsx:265 -#: src/pages/part/PartDetail.tsx:623 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:288 -#: src/pages/sales/ReturnOrderDetail.tsx:237 -#: src/pages/sales/SalesOrderDetail.tsx:285 -#: src/pages/stock/StockDetail.tsx:329 +#: src/pages/build/BuildDetail.tsx:307 +#: src/pages/company/CompanyDetail.tsx:267 +#: src/pages/part/PartDetail.tsx:624 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:290 +#: src/pages/sales/ReturnOrderDetail.tsx:239 +#: src/pages/sales/SalesOrderDetail.tsx:287 +#: src/pages/stock/StockDetail.tsx:337 +#: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "Notater" -#: src/pages/build/BuildDetail.tsx:318 +#: src/pages/build/BuildDetail.tsx:325 msgid "Edit Build Order" msgstr "Rediger produksjonsordre" -#: src/pages/build/BuildDetail.tsx:327 +#: src/pages/build/BuildDetail.tsx:334 msgid "Cancel Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:339 +#: src/pages/build/BuildDetail.tsx:346 #: src/tables/build/BuildOrderTable.tsx:167 #: src/tables/build/BuildOrderTable.tsx:182 msgid "Add Build Order" msgstr "Legg til produksjonsordre" #: src/pages/build/BuildDetail.tsx:368 -msgid "Reporting Actions" -msgstr "Rapporthandlinger" +#~ msgid "Reporting Actions" +#~ msgstr "Reporting Actions" #: src/pages/build/BuildDetail.tsx:374 -msgid "Print build report" -msgstr "Skriv ut produksjonsrapport" +#~ msgid "Print build report" +#~ msgstr "Print build report" -#: src/pages/build/BuildDetail.tsx:380 +#: src/pages/build/BuildDetail.tsx:378 msgid "Build Order Actions" msgstr "Produksjonsordre-handlinger" -#: src/pages/build/BuildDetail.tsx:388 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:326 -#: src/pages/sales/ReturnOrderDetail.tsx:300 -#: src/pages/sales/SalesOrderDetail.tsx:310 +#: src/pages/build/BuildDetail.tsx:386 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:333 +#: src/pages/sales/ReturnOrderDetail.tsx:307 +#: src/pages/sales/SalesOrderDetail.tsx:317 msgid "Cancel order" msgstr "" @@ -3612,56 +3696,58 @@ msgstr "" #~ msgid "New Build Order" #~ msgstr "New Build Order" -#: src/pages/company/CompanyDetail.tsx:98 +#: src/pages/company/CompanyDetail.tsx:100 msgid "Phone Number" msgstr "" -#: src/pages/company/CompanyDetail.tsx:105 +#: src/pages/company/CompanyDetail.tsx:107 msgid "Email Address" msgstr "" -#: src/pages/company/CompanyDetail.tsx:115 +#: src/pages/company/CompanyDetail.tsx:117 msgid "Default Currency" msgstr "" -#: src/pages/company/CompanyDetail.tsx:120 +#: src/pages/company/CompanyDetail.tsx:122 #: src/pages/company/SupplierDetail.tsx:8 -#: src/pages/company/SupplierPartDetail.tsx:106 -#: src/pages/company/SupplierPartDetail.tsx:192 -#: src/pages/company/SupplierPartDetail.tsx:295 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:116 +#: src/pages/company/SupplierPartDetail.tsx:107 +#: src/pages/company/SupplierPartDetail.tsx:193 +#: src/pages/company/SupplierPartDetail.tsx:296 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:118 #: src/tables/company/CompanyTable.tsx:100 #: src/tables/purchasing/PurchaseOrderTable.tsx:88 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:36 msgid "Supplier" msgstr "Leverandør" -#: src/pages/company/CompanyDetail.tsx:126 +#: src/pages/company/CompanyDetail.tsx:128 #: src/pages/company/ManufacturerDetail.tsx:8 -#: src/pages/company/ManufacturerPartDetail.tsx:93 -#: src/pages/company/ManufacturerPartDetail.tsx:235 -#: src/pages/company/SupplierPartDetail.tsx:121 +#: src/pages/company/ManufacturerPartDetail.tsx:94 +#: src/pages/company/ManufacturerPartDetail.tsx:239 +#: src/pages/company/SupplierPartDetail.tsx:122 #: src/tables/company/CompanyTable.tsx:105 msgid "Manufacturer" msgstr "Produsent" -#: src/pages/company/CompanyDetail.tsx:132 +#: src/pages/company/CompanyDetail.tsx:134 #: src/pages/company/CustomerDetail.tsx:8 #: src/pages/part/pricing/SaleHistoryPanel.tsx:39 -#: src/pages/sales/ReturnOrderDetail.tsx:83 -#: src/pages/sales/SalesOrderDetail.tsx:87 -#: src/pages/stock/StockDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:85 +#: src/pages/sales/SalesOrderDetail.tsx:89 +#: src/pages/stock/StockDetail.tsx:219 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:107 +#: src/tables/stock/StockTrackingTable.tsx:140 msgid "Customer" msgstr "Kunde" -#: src/pages/company/CompanyDetail.tsx:166 +#: src/pages/company/CompanyDetail.tsx:168 +#: src/tables/stock/StockTrackingTable.tsx:183 msgid "Details" msgstr "Detaljer" -#: src/pages/company/CompanyDetail.tsx:172 +#: src/pages/company/CompanyDetail.tsx:174 msgid "Manufactured Parts" msgstr "Produserte deler" @@ -3669,7 +3755,7 @@ msgstr "Produserte deler" #~ msgid "Edit company" #~ msgstr "Edit company" -#: src/pages/company/CompanyDetail.tsx:181 +#: src/pages/company/CompanyDetail.tsx:183 msgid "Supplied Parts" msgstr "Leverte Deler" @@ -3677,289 +3763,289 @@ msgstr "Leverte Deler" #~ msgid "Delete company" #~ msgstr "Delete company" -#: src/pages/company/CompanyDetail.tsx:226 +#: src/pages/company/CompanyDetail.tsx:228 msgid "Assigned Stock" msgstr "Tildelt lagerbeholdning" -#: src/pages/company/CompanyDetail.tsx:281 +#: src/pages/company/CompanyDetail.tsx:283 #: src/tables/company/CompanyTable.tsx:86 msgid "Edit Company" msgstr "Rediger Bedrift" -#: src/pages/company/CompanyDetail.tsx:290 +#: src/pages/company/CompanyDetail.tsx:292 msgid "Company Actions" msgstr "Bedriftshandlinger" -#: src/pages/company/ManufacturerPartDetail.tsx:68 -#: src/pages/company/SupplierPartDetail.tsx:75 +#: src/pages/company/ManufacturerPartDetail.tsx:69 +#: src/pages/company/SupplierPartDetail.tsx:76 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:72 msgid "Internal Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:83 -#: src/pages/company/SupplierPartDetail.tsx:89 +#: src/pages/company/ManufacturerPartDetail.tsx:84 +#: src/pages/company/SupplierPartDetail.tsx:90 msgid "External Link" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:101 -#: src/pages/company/SupplierPartDetail.tsx:130 -#: src/tables/purchasing/ManufacturerPartTable.tsx:53 +#: src/pages/company/ManufacturerPartDetail.tsx:102 +#: src/pages/company/SupplierPartDetail.tsx:131 +#: src/tables/purchasing/ManufacturerPartTable.tsx:56 msgid "Manufacturer Part Number" msgstr "Produsentens delenummer" -#: src/pages/company/ManufacturerPartDetail.tsx:130 +#: src/pages/company/ManufacturerPartDetail.tsx:131 msgid "Manufacturer Details" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:139 +#: src/pages/company/ManufacturerPartDetail.tsx:140 msgid "Manufacturer Part Details" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:145 -#: src/pages/part/PartDetail.tsx:485 +#: src/pages/company/ManufacturerPartDetail.tsx:146 +#: src/pages/part/PartDetail.tsx:486 msgid "Parameters" msgstr "Parametere" -#: src/pages/company/ManufacturerPartDetail.tsx:157 -#: src/pages/part/PartDetail.tsx:558 +#: src/pages/company/ManufacturerPartDetail.tsx:158 +#: src/pages/part/PartDetail.tsx:559 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "Leverandører" -#: src/pages/company/ManufacturerPartDetail.tsx:189 -#: src/tables/purchasing/ManufacturerPartTable.tsx:97 +#: src/pages/company/ManufacturerPartDetail.tsx:190 +#: src/tables/purchasing/ManufacturerPartTable.tsx:84 msgid "Edit Manufacturer Part" msgstr "Rediger produsentdel" -#: src/pages/company/ManufacturerPartDetail.tsx:196 -#: src/tables/purchasing/ManufacturerPartTable.tsx:63 -#: src/tables/purchasing/ManufacturerPartTable.tsx:78 +#: src/pages/company/ManufacturerPartDetail.tsx:197 +#: src/tables/purchasing/ManufacturerPartTable.tsx:72 +#: src/tables/purchasing/ManufacturerPartTable.tsx:103 msgid "Add Manufacturer Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:209 +#: src/pages/company/ManufacturerPartDetail.tsx:213 msgid "Manufacturer Part Actions" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:247 +#: src/pages/company/ManufacturerPartDetail.tsx:251 msgid "ManufacturerPart" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:96 -#: src/tables/ColumnRenderers.tsx:146 +#: src/pages/company/SupplierPartDetail.tsx:97 +#: src/tables/ColumnRenderers.tsx:117 msgid "Note" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:114 +#: src/pages/company/SupplierPartDetail.tsx:115 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:57 msgid "SKU" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:142 -#: src/pages/company/SupplierPartDetail.tsx:193 -#: src/pages/stock/StockDetail.tsx:230 +#: src/pages/company/SupplierPartDetail.tsx:143 +#: src/pages/company/SupplierPartDetail.tsx:194 +#: src/pages/stock/StockDetail.tsx:233 msgid "Packaging" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:149 +#: src/pages/company/SupplierPartDetail.tsx:150 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:107 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143 #: src/tables/purchasing/SupplierPartTable.tsx:131 msgid "Pack Quantity" msgstr "Pakkeantall" -#: src/pages/company/SupplierPartDetail.tsx:160 +#: src/pages/company/SupplierPartDetail.tsx:161 msgid "Supplier Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:167 +#: src/pages/company/SupplierPartDetail.tsx:168 msgid "Availability Updated" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:194 +#: src/pages/company/SupplierPartDetail.tsx:195 msgid "Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:203 +#: src/pages/company/SupplierPartDetail.tsx:204 msgid "Supplier Part Details" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:209 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:263 +#: src/pages/company/SupplierPartDetail.tsx:210 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:265 msgid "Received Stock" msgstr "Mottatt lagerbeholdning" -#: src/pages/company/SupplierPartDetail.tsx:233 +#: src/pages/company/SupplierPartDetail.tsx:234 #: src/pages/part/PartPricingPanel.tsx:115 #: src/pages/part/pricing/PricingOverviewPanel.tsx:130 msgid "Supplier Pricing" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:248 +#: src/pages/company/SupplierPartDetail.tsx:249 msgid "Supplier Part Actions" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:272 +#: src/pages/company/SupplierPartDetail.tsx:273 #: src/tables/purchasing/SupplierPartTable.tsx:210 msgid "Edit Supplier Part" msgstr "Rediger Leverandørdel" -#: src/pages/company/SupplierPartDetail.tsx:279 +#: src/pages/company/SupplierPartDetail.tsx:280 #: src/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "Legg til leverandørdel" -#: src/pages/part/CategoryDetail.tsx:83 -#: src/pages/stock/LocationDetail.tsx:89 +#: src/pages/part/CategoryDetail.tsx:84 +#: src/pages/stock/LocationDetail.tsx:91 #: src/tables/settings/ErrorTable.tsx:34 msgid "Path" msgstr "Sti" -#: src/pages/part/CategoryDetail.tsx:99 +#: src/pages/part/CategoryDetail.tsx:100 msgid "Parent Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:116 +#: src/pages/part/CategoryDetail.tsx:117 msgid "Subcategories" msgstr "" -#: src/pages/part/CategoryDetail.tsx:123 -#: src/pages/stock/LocationDetail.tsx:129 -#: src/tables/part/PartCategoryTable.tsx:69 +#: src/pages/part/CategoryDetail.tsx:124 +#: src/pages/stock/LocationDetail.tsx:131 +#: src/tables/part/PartCategoryTable.tsx:65 msgid "Structural" msgstr "Strukturell" -#: src/pages/part/CategoryDetail.tsx:129 +#: src/pages/part/CategoryDetail.tsx:130 msgid "Parent default location" msgstr "" -#: src/pages/part/CategoryDetail.tsx:136 +#: src/pages/part/CategoryDetail.tsx:137 msgid "Default location" msgstr "" -#: src/pages/part/CategoryDetail.tsx:147 +#: src/pages/part/CategoryDetail.tsx:148 msgid "Top level part category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:157 -#: src/pages/part/CategoryDetail.tsx:211 -#: src/tables/part/PartCategoryTable.tsx:96 +#: src/pages/part/CategoryDetail.tsx:158 +#: src/pages/part/CategoryDetail.tsx:212 +#: src/tables/part/PartCategoryTable.tsx:88 msgid "Edit Part Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:170 -#: src/pages/stock/LocationDetail.tsx:213 +#: src/pages/part/CategoryDetail.tsx:171 +#: src/pages/stock/LocationDetail.tsx:223 msgid "Delete items" msgstr "" -#: src/pages/part/CategoryDetail.tsx:178 -#: src/pages/part/CategoryDetail.tsx:216 +#: src/pages/part/CategoryDetail.tsx:179 +#: src/pages/part/CategoryDetail.tsx:217 msgid "Delete Part Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:181 +#: src/pages/part/CategoryDetail.tsx:182 msgid "Parts Action" msgstr "" -#: src/pages/part/CategoryDetail.tsx:182 +#: src/pages/part/CategoryDetail.tsx:183 msgid "Action for parts in this category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:187 +#: src/pages/part/CategoryDetail.tsx:188 msgid "Child Categories Action" msgstr "" -#: src/pages/part/CategoryDetail.tsx:188 +#: src/pages/part/CategoryDetail.tsx:189 msgid "Action for child categories in this category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:206 +#: src/pages/part/CategoryDetail.tsx:207 msgid "Category Actions" msgstr "" -#: src/pages/part/CategoryDetail.tsx:228 +#: src/pages/part/CategoryDetail.tsx:229 msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:138 +#: src/pages/part/PartDetail.tsx:139 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:145 +#: src/pages/part/PartDetail.tsx:146 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "Kategori" -#: src/pages/part/PartDetail.tsx:151 +#: src/pages/part/PartDetail.tsx:152 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:158 +#: src/pages/part/PartDetail.tsx:159 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:165 +#: src/pages/part/PartDetail.tsx:166 msgid "IPN" msgstr "IPN" -#: src/pages/part/PartDetail.tsx:172 +#: src/pages/part/PartDetail.tsx:173 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:179 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39 +#: src/pages/part/PartDetail.tsx:180 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "Enheter" -#: src/pages/part/PartDetail.tsx:186 +#: src/pages/part/PartDetail.tsx:187 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "Nøkkelord" -#: src/pages/part/PartDetail.tsx:193 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:180 -#: src/pages/sales/ReturnOrderDetail.tsx:148 -#: src/pages/sales/SalesOrderDetail.tsx:152 +#: src/pages/part/PartDetail.tsx:194 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:182 +#: src/pages/sales/ReturnOrderDetail.tsx:150 +#: src/pages/sales/SalesOrderDetail.tsx:154 msgid "Link" msgstr "Lenke" -#: src/pages/part/PartDetail.tsx:211 -#: src/tables/bom/BomTable.tsx:269 +#: src/pages/part/PartDetail.tsx:212 +#: src/tables/bom/BomTable.tsx:271 #: src/tables/build/BuildLineTable.tsx:121 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:218 +#: src/pages/part/PartDetail.tsx:219 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:224 -#: src/tables/bom/BomTable.tsx:210 +#: src/pages/part/PartDetail.tsx:225 +#: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "I bestilling" -#: src/pages/part/PartDetail.tsx:233 +#: src/pages/part/PartDetail.tsx:234 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:241 +#: src/pages/part/PartDetail.tsx:242 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:248 -#: src/tables/bom/BomTable.tsx:234 +#: src/pages/part/PartDetail.tsx:249 +#: src/tables/bom/BomTable.tsx:236 msgid "Can Build" msgstr "Kan Produsere" -#: src/pages/part/PartDetail.tsx:255 -#: src/tables/bom/BomTable.tsx:218 +#: src/pages/part/PartDetail.tsx:256 +#: src/tables/bom/BomTable.tsx:220 #: src/tables/part/PartTable.tsx:82 msgid "Building" msgstr "Produseres" -#: src/pages/part/PartDetail.tsx:264 +#: src/pages/part/PartDetail.tsx:265 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 @@ -3968,45 +4054,47 @@ msgstr "Produseres" #: src/tables/machine/MachineListTable.tsx:585 #: src/tables/part/PartTable.tsx:168 #: src/tables/part/PartVariantTable.tsx:15 -#: src/tables/plugin/PluginListTable.tsx:190 -#: src/tables/plugin/PluginListTable.tsx:638 +#: src/tables/plugin/PluginListTable.tsx:149 +#: src/tables/plugin/PluginListTable.tsx:271 +#: src/tables/plugin/PluginListTable.tsx:563 #: src/tables/purchasing/SupplierPartTable.tsx:98 #: src/tables/purchasing/SupplierPartTable.tsx:187 #: src/tables/stock/StockItemTable.tsx:254 msgid "Active" msgstr "Aktiv" -#: src/pages/part/PartDetail.tsx:269 +#: src/pages/part/PartDetail.tsx:270 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:274 -#: src/tables/bom/BomTable.tsx:264 +#: src/pages/part/PartDetail.tsx:275 +#: src/tables/bom/BomTable.tsx:266 msgid "Assembled Part" msgstr "Sammenstilt del" -#: src/pages/part/PartDetail.tsx:279 +#: src/pages/part/PartDetail.tsx:280 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:284 -#: src/tables/bom/BomTable.tsx:259 +#: src/pages/part/PartDetail.tsx:285 +#: src/tables/bom/BomTable.tsx:261 msgid "Trackable Part" msgstr "Sporbar del" -#: src/pages/part/PartDetail.tsx:289 +#: src/pages/part/PartDetail.tsx:290 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:294 +#: src/pages/part/PartDetail.tsx:295 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:299 +#: src/pages/part/PartDetail.tsx:300 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:307 +#: src/pages/part/PartDetail.tsx:308 +#: src/tables/ColumnRenderers.tsx:199 msgid "Creation Date" msgstr "Opprettelsesdato" @@ -4014,7 +4102,7 @@ msgstr "Opprettelsesdato" #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:312 +#: src/pages/part/PartDetail.tsx:313 msgid "Created By" msgstr "" @@ -4022,68 +4110,72 @@ msgstr "" #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:327 -msgid "Default Supplier" -msgstr "" - #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:338 +#: src/pages/part/PartDetail.tsx:328 +msgid "Default Supplier" +msgstr "" + +#: src/pages/part/PartDetail.tsx:339 #: src/tables/part/PartTable.tsx:151 msgid "Price Range" msgstr "Prisområde" -#: src/pages/part/PartDetail.tsx:373 -#: src/pages/stock/StockDetail.tsx:127 +#: src/pages/part/PartDetail.tsx:374 +#: src/pages/stock/StockDetail.tsx:130 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:408 +#: src/pages/part/PartDetail.tsx:409 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:479 +#: src/pages/part/PartDetail.tsx:480 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:505 +#: src/pages/part/PartDetail.tsx:506 msgid "Variants" msgstr "Varianter" -#: src/pages/part/PartDetail.tsx:512 -#: src/pages/stock/StockDetail.tsx:275 +#: src/pages/part/PartDetail.tsx:513 +#: src/pages/stock/StockDetail.tsx:283 msgid "Allocations" msgstr "Tildelinger" -#: src/pages/part/PartDetail.tsx:532 +#: src/pages/part/PartDetail.tsx:519 +msgid "Bill of Materials" +msgstr "Stykkliste (BOM)" + +#: src/pages/part/PartDetail.tsx:533 msgid "Used In" msgstr "Brukt i" -#: src/pages/part/PartDetail.tsx:539 +#: src/pages/part/PartDetail.tsx:540 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:545 +#: src/pages/part/PartDetail.tsx:546 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "Produsenter" -#: src/pages/part/PartDetail.tsx:584 +#: src/pages/part/PartDetail.tsx:585 msgid "Scheduling" msgstr "Planlegging" -#: src/pages/part/PartDetail.tsx:594 +#: src/pages/part/PartDetail.tsx:595 msgid "Test Templates" msgstr "Testmaler" -#: src/pages/part/PartDetail.tsx:605 +#: src/pages/part/PartDetail.tsx:606 msgid "Related Parts" msgstr "Relaterte Deler" -#: src/pages/part/PartDetail.tsx:660 -#: src/pages/stock/StockDetail.tsx:148 +#: src/pages/part/PartDetail.tsx:661 +#: src/pages/stock/StockDetail.tsx:151 #: src/tables/build/BuildLineTable.tsx:36 #: src/tables/part/PartTable.tsx:107 #: src/tables/stock/StockItemTable.tsx:166 @@ -4091,49 +4183,51 @@ msgstr "Relaterte Deler" msgid "Available" msgstr "Tilgjengelig" -#: src/pages/part/PartDetail.tsx:666 +#: src/pages/part/PartDetail.tsx:667 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:672 -#: src/tables/bom/BomTable.tsx:274 +#: src/pages/part/PartDetail.tsx:673 +#: src/tables/bom/BomTable.tsx:276 #: src/tables/part/PartTable.tsx:76 msgid "On Order" msgstr "I bestilling" -#: src/pages/part/PartDetail.tsx:678 -#: src/pages/stock/StockDetail.tsx:496 +#: src/pages/part/PartDetail.tsx:679 +#: src/pages/stock/StockDetail.tsx:509 #: src/tables/stock/StockItemTable.tsx:295 msgid "In Production" msgstr "Under produksjon" -#: src/pages/part/PartDetail.tsx:697 +#: src/pages/part/PartDetail.tsx:698 msgid "Edit Part" msgstr "Rediger del" -#: src/pages/part/PartDetail.tsx:704 +#: src/pages/part/PartDetail.tsx:705 #: src/tables/part/PartTable.tsx:266 #: src/tables/part/PartTable.tsx:279 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:716 +#: src/pages/part/PartDetail.tsx:717 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:725 +#: src/pages/part/PartDetail.tsx:726 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:763 +#: src/pages/part/PartDetail.tsx:764 +#: src/pages/stock/LocationDetail.tsx:301 +#: src/tables/stock/StockItemTable.tsx:409 msgid "Stock Actions" msgstr "Lagerhandlinger" -#: src/pages/part/PartDetail.tsx:771 +#: src/pages/part/PartDetail.tsx:772 msgid "Count part stock" msgstr "Tell delbeholdning" -#: src/pages/part/PartDetail.tsx:782 +#: src/pages/part/PartDetail.tsx:783 msgid "Transfer part stock" msgstr "Overfør delbeholdning" @@ -4199,15 +4293,15 @@ msgstr "Komponent" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151 #: src/pages/part/pricing/SupplierPricingPanel.tsx:83 -#: src/tables/bom/BomTable.tsx:149 +#: src/tables/bom/BomTable.tsx:151 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 msgid "Unit Price" msgstr "Enhetspris" #: src/pages/part/pricing/BomPricingPanel.tsx:173 -#: src/tables/ColumnRenderers.tsx:278 -#: src/tables/bom/BomTable.tsx:158 +#: src/tables/ColumnRenderers.tsx:241 +#: src/tables/bom/BomTable.tsx:160 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 #: src/tables/sales/ReturnOrderTable.tsx:104 #: src/tables/sales/SalesOrderTable.tsx:134 @@ -4229,24 +4323,24 @@ msgid "Bar Chart" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:63 -#: src/pages/part/pricing/PriceBreakPanel.tsx:117 +#: src/pages/part/pricing/PriceBreakPanel.tsx:115 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:138 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:164 msgid "Add Price Break" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:76 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:149 msgid "Edit Price Break" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:86 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:157 msgid "Delete Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:102 -#: src/pages/part/pricing/PriceBreakPanel.tsx:193 +#: src/pages/part/pricing/PriceBreakPanel.tsx:100 +#: src/pages/part/pricing/PriceBreakPanel.tsx:191 msgid "Price Break" msgstr "" @@ -4275,7 +4369,7 @@ msgid "Overall Pricing" msgstr "" #: src/pages/part/pricing/PricingOverviewPanel.tsx:184 -#: src/pages/stock/StockDetail.tsx:121 +#: src/pages/stock/StockDetail.tsx:124 msgid "Last Updated" msgstr "" @@ -4309,9 +4403,8 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50 #: src/pages/part/pricing/SaleHistoryPanel.tsx:46 -#: src/tables/ColumnRenderers.tsx:217 -#: src/tables/plugin/PluginListTable.tsx:182 -#: src/tables/stock/StockItemTestResultTable.tsx:194 +#: src/tables/ColumnRenderers.tsx:180 +#: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "Dato" @@ -4338,89 +4431,89 @@ msgstr "" msgid "Variant Part" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:73 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:75 msgid "Edit Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:82 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:84 #: src/tables/purchasing/PurchaseOrderTable.tsx:128 #: src/tables/purchasing/PurchaseOrderTable.tsx:140 msgid "Add Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:107 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:109 msgid "Supplier Reference" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:137 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:252 -#: src/pages/sales/ReturnOrderDetail.tsx:104 -#: src/pages/sales/ReturnOrderDetail.tsx:220 -#: src/pages/sales/SalesOrderDetail.tsx:108 -#: src/pages/sales/SalesOrderDetail.tsx:248 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:139 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:254 +#: src/pages/sales/ReturnOrderDetail.tsx:106 +#: src/pages/sales/ReturnOrderDetail.tsx:222 +#: src/pages/sales/SalesOrderDetail.tsx:110 +#: src/pages/sales/SalesOrderDetail.tsx:250 msgid "Line Items" msgstr "Ordrelinjer" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:144 -#: src/pages/sales/ReturnOrderDetail.tsx:111 -#: src/pages/sales/SalesOrderDetail.tsx:115 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:146 +#: src/pages/sales/ReturnOrderDetail.tsx:113 +#: src/pages/sales/SalesOrderDetail.tsx:117 msgid "Completed Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:152 -#: src/pages/sales/ReturnOrderDetail.tsx:119 -#: src/pages/sales/SalesOrderDetail.tsx:123 -#: src/pages/sales/SalesOrderDetail.tsx:258 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:121 +#: src/pages/sales/SalesOrderDetail.tsx:125 +#: src/pages/sales/SalesOrderDetail.tsx:260 msgid "Completed Shipments" msgstr "Fullførte forsendelser" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:159 -#: src/pages/sales/ReturnOrderDetail.tsx:127 -#: src/pages/sales/SalesOrderDetail.tsx:131 -msgid "Order Currency" -msgstr "" - #: src/pages/purchasing/PurchaseOrderDetail.tsx:159 #: src/pages/sales/ReturnOrderDetail.tsx:126 #: src/pages/sales/SalesOrderDetail.tsx:130 #~ msgid "Order Currency," #~ msgstr "Order Currency," -#: src/pages/purchasing/PurchaseOrderDetail.tsx:166 -#: src/pages/sales/ReturnOrderDetail.tsx:134 -#: src/pages/sales/SalesOrderDetail.tsx:138 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:161 +#: src/pages/sales/ReturnOrderDetail.tsx:129 +#: src/pages/sales/SalesOrderDetail.tsx:133 +msgid "Order Currency" +msgstr "" + +#: src/pages/purchasing/PurchaseOrderDetail.tsx:168 +#: src/pages/sales/ReturnOrderDetail.tsx:136 +#: src/pages/sales/SalesOrderDetail.tsx:140 msgid "Total Cost" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:201 -#: src/pages/sales/ReturnOrderDetail.tsx:169 -#: src/pages/sales/SalesOrderDetail.tsx:173 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:203 +#: src/pages/sales/ReturnOrderDetail.tsx:171 +#: src/pages/sales/SalesOrderDetail.tsx:175 msgid "Created On" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:246 -#: src/pages/sales/ReturnOrderDetail.tsx:214 -#: src/pages/sales/SalesOrderDetail.tsx:242 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:248 +#: src/pages/sales/ReturnOrderDetail.tsx:216 +#: src/pages/sales/SalesOrderDetail.tsx:244 msgid "Order Details" msgstr "Ordredetaljer" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:316 -#: src/pages/sales/ReturnOrderDetail.tsx:290 -#: src/pages/sales/SalesOrderDetail.tsx:302 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:323 +#: src/pages/sales/ReturnOrderDetail.tsx:297 +#: src/pages/sales/SalesOrderDetail.tsx:309 msgid "Order Actions" msgstr "Ordrehandlinger" -#: src/pages/sales/ReturnOrderDetail.tsx:75 -#: src/pages/sales/SalesOrderDetail.tsx:79 +#: src/pages/sales/ReturnOrderDetail.tsx:77 +#: src/pages/sales/SalesOrderDetail.tsx:81 #: src/tables/sales/SalesOrderTable.tsx:123 msgid "Customer Reference" msgstr "Kundereferanse" -#: src/pages/sales/ReturnOrderDetail.tsx:267 +#: src/pages/sales/ReturnOrderDetail.tsx:269 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:276 +#: src/pages/sales/ReturnOrderDetail.tsx:278 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" @@ -4430,68 +4523,72 @@ msgstr "" msgid "Customers" msgstr "Kunder" -#: src/pages/sales/SalesOrderDetail.tsx:219 +#: src/pages/sales/SalesOrderDetail.tsx:221 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:228 +#: src/pages/sales/SalesOrderDetail.tsx:230 #: src/tables/sales/SalesOrderTable.tsx:83 #: src/tables/sales/SalesOrderTable.tsx:95 msgid "Add Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:253 +#: src/pages/sales/SalesOrderDetail.tsx:255 msgid "Pending Shipments" msgstr "Ventende forsendelser" -#: src/pages/stock/LocationDetail.tsx:105 +#: src/pages/stock/LocationDetail.tsx:107 msgid "Parent Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:123 +#: src/pages/stock/LocationDetail.tsx:125 msgid "Sublocations" msgstr "" -#: src/pages/stock/LocationDetail.tsx:135 +#: src/pages/stock/LocationDetail.tsx:137 msgid "External" msgstr "" -#: src/pages/stock/LocationDetail.tsx:144 +#: src/pages/stock/LocationDetail.tsx:143 +msgid "Location Type" +msgstr "" + +#: src/pages/stock/LocationDetail.tsx:154 msgid "Top level stock location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:155 +#: src/pages/stock/LocationDetail.tsx:165 msgid "Location Details" msgstr "" -#: src/pages/stock/LocationDetail.tsx:181 +#: src/pages/stock/LocationDetail.tsx:191 msgid "Default Parts" msgstr "" -#: src/pages/stock/LocationDetail.tsx:200 +#: src/pages/stock/LocationDetail.tsx:210 #: src/pages/stock/LocationDetail.tsx:328 -#: src/tables/stock/StockLocationTable.tsx:108 +#: src/tables/stock/StockLocationTable.tsx:100 msgid "Edit Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:221 +#: src/pages/stock/LocationDetail.tsx:231 #: src/pages/stock/LocationDetail.tsx:333 msgid "Delete Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:224 +#: src/pages/stock/LocationDetail.tsx:234 msgid "Items Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:225 +#: src/pages/stock/LocationDetail.tsx:235 msgid "Action for stock items in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:230 +#: src/pages/stock/LocationDetail.tsx:240 msgid "Child Locations Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:231 +#: src/pages/stock/LocationDetail.tsx:241 msgid "Action for child locations in this location" msgstr "" @@ -4499,11 +4596,11 @@ msgstr "" msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:100 +#: src/pages/stock/StockDetail.tsx:103 msgid "Base Part" msgstr "Basisdel" -#: src/pages/stock/StockDetail.tsx:107 +#: src/pages/stock/StockDetail.tsx:110 msgid "Stock Status" msgstr "" @@ -4515,15 +4612,16 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:174 +#: src/pages/stock/StockDetail.tsx:177 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:190 +#: src/pages/stock/StockDetail.tsx:193 msgid "Consumed By" msgstr "" -#: src/pages/stock/StockDetail.tsx:199 +#: src/pages/stock/StockDetail.tsx:202 +#: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" msgstr "" @@ -4535,78 +4633,78 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:264 +#: src/pages/stock/StockDetail.tsx:267 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:270 +#: src/pages/stock/StockDetail.tsx:273 msgid "Stock Tracking" msgstr "Sporing av lager" -#: src/pages/stock/StockDetail.tsx:282 +#: src/pages/stock/StockDetail.tsx:290 msgid "Test Data" msgstr "Testdata" -#: src/pages/stock/StockDetail.tsx:296 +#: src/pages/stock/StockDetail.tsx:304 msgid "Installed Items" msgstr "Installerte artikler" -#: src/pages/stock/StockDetail.tsx:303 +#: src/pages/stock/StockDetail.tsx:311 msgid "Child Items" msgstr "Underordnede artikler" -#: src/pages/stock/StockDetail.tsx:358 +#: src/pages/stock/StockDetail.tsx:366 msgid "Edit Stock Item" msgstr "Rediger lagervare" -#: src/pages/stock/StockDetail.tsx:385 +#: src/pages/stock/StockDetail.tsx:393 msgid "Delete Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:426 -msgid "Stock Operations" -msgstr "Lagerhandlinger" - -#: src/pages/stock/StockDetail.tsx:431 -msgid "Count stock" -msgstr "Tell beholdning" - #: src/pages/stock/StockDetail.tsx:433 #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:441 +#: src/pages/stock/StockDetail.tsx:440 +msgid "Stock Operations" +msgstr "Lagerhandlinger" + +#: src/pages/stock/StockDetail.tsx:445 +msgid "Count stock" +msgstr "Tell beholdning" + +#: src/pages/stock/StockDetail.tsx:455 #: src/tables/stock/StockItemTable.tsx:414 msgid "Add stock" msgstr "Legg til lager" -#: src/pages/stock/StockDetail.tsx:449 +#: src/pages/stock/StockDetail.tsx:463 #: src/tables/stock/StockItemTable.tsx:423 msgid "Remove stock" msgstr "Fjern lager" -#: src/pages/stock/StockDetail.tsx:456 +#: src/pages/stock/StockDetail.tsx:470 msgid "Transfer" msgstr "Overfør" -#: src/pages/stock/StockDetail.tsx:457 +#: src/pages/stock/StockDetail.tsx:471 #: src/tables/stock/StockItemTable.tsx:443 msgid "Transfer stock" msgstr "Overfør lager" -#: src/pages/stock/StockDetail.tsx:469 +#: src/pages/stock/StockDetail.tsx:482 msgid "Stock Item Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:513 -msgid "Batch Code" -msgstr "" - -#: src/tables/ColumnRenderers.tsx:50 +#: src/tables/ColumnRenderers.tsx:42 msgid "No location set" msgstr "" -#: src/tables/ColumnRenderers.tsx:264 +#: src/tables/ColumnRenderers.tsx:207 +msgid "Shipment Date" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:227 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "Valuta" @@ -4616,21 +4714,33 @@ msgstr "Valuta" msgid "Select Columns" msgstr "Velg Kolonner" -#: src/tables/DownloadAction.tsx:11 +#: src/tables/DownloadAction.tsx:13 +#~ msgid "Excel" +#~ msgstr "Excel" + +#: src/tables/DownloadAction.tsx:21 +#~ msgid "Download selected data" +#~ msgstr "Download selected data" + +#: src/tables/DownloadAction.tsx:22 msgid "CSV" msgstr "CSV" -#: src/tables/DownloadAction.tsx:12 +#: src/tables/DownloadAction.tsx:23 msgid "TSV" msgstr "TSV" -#: src/tables/DownloadAction.tsx:13 -msgid "Excel" -msgstr "Excel" +#: src/tables/DownloadAction.tsx:24 +msgid "Excel (.xls)" +msgstr "" -#: src/tables/DownloadAction.tsx:21 -msgid "Download selected data" -msgstr "Last ned valgte data" +#: src/tables/DownloadAction.tsx:25 +msgid "Excel (.xlsx)" +msgstr "" + +#: src/tables/DownloadAction.tsx:39 +msgid "Download Data" +msgstr "" #: src/tables/Filter.tsx:88 #: src/tables/build/BuildOrderTable.tsx:126 @@ -4663,102 +4773,102 @@ msgstr "Vis forfalte ordrer" msgid "Remove filter" msgstr "Fjern filter" -#: src/tables/FilterSelectDrawer.tsx:147 +#: src/tables/FilterSelectDrawer.tsx:136 msgid "Select filter" msgstr "Velg filter" -#: src/tables/FilterSelectDrawer.tsx:148 +#: src/tables/FilterSelectDrawer.tsx:137 msgid "Filter" msgstr "Filter" -#: src/tables/FilterSelectDrawer.tsx:155 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:33 -#: src/tables/stock/StockItemTestResultTable.tsx:182 +#: src/tables/FilterSelectDrawer.tsx:144 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 +#: src/tables/stock/StockItemTestResultTable.tsx:180 msgid "Value" msgstr "Verdi" -#: src/tables/FilterSelectDrawer.tsx:156 +#: src/tables/FilterSelectDrawer.tsx:145 msgid "Select filter value" msgstr "Velg filterverdi" -#: src/tables/FilterSelectDrawer.tsx:196 +#: src/tables/FilterSelectDrawer.tsx:185 msgid "Table Filters" msgstr "Tabellfiltre" -#: src/tables/FilterSelectDrawer.tsx:228 +#: src/tables/FilterSelectDrawer.tsx:217 msgid "Add Filter" msgstr "Legg til filter" -#: src/tables/FilterSelectDrawer.tsx:237 +#: src/tables/FilterSelectDrawer.tsx:226 msgid "Clear Filters" msgstr "Fjern filtre" -#: src/tables/InvenTreeTable.tsx:118 -#: src/tables/InvenTreeTable.tsx:384 -#: src/tables/InvenTreeTable.tsx:405 +#: src/tables/InvenTreeTable.tsx:119 +#: src/tables/InvenTreeTable.tsx:390 +#: src/tables/InvenTreeTable.tsx:411 msgid "No records found" msgstr "Ingen poster funnet" -#: src/tables/InvenTreeTable.tsx:416 +#: src/tables/InvenTreeTable.tsx:422 msgid "Server returned incorrect data type" msgstr "Serveren returnerte feil datatype" -#: src/tables/InvenTreeTable.tsx:424 +#: src/tables/InvenTreeTable.tsx:430 msgid "Bad request" msgstr "Ugyldig forespørsel" -#: src/tables/InvenTreeTable.tsx:427 +#: src/tables/InvenTreeTable.tsx:433 msgid "Unauthorized" msgstr "Uautorisert" -#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:436 msgid "Forbidden" msgstr "Forbudt" -#: src/tables/InvenTreeTable.tsx:433 +#: src/tables/InvenTreeTable.tsx:439 msgid "Not found" msgstr "Ikke funnet" -#: src/tables/InvenTreeTable.tsx:482 -#: src/tables/InvenTreeTable.tsx:604 +#: src/tables/InvenTreeTable.tsx:488 +#: src/tables/InvenTreeTable.tsx:611 msgid "Delete selected records" msgstr "Slett valgte oppføringer" -#: src/tables/InvenTreeTable.tsx:486 +#: src/tables/InvenTreeTable.tsx:492 msgid "Are you sure you want to delete the selected records?" msgstr "Er du sikker på at du vil slette valgte oppføringer?" -#: src/tables/InvenTreeTable.tsx:488 +#: src/tables/InvenTreeTable.tsx:494 msgid "This action cannot be undone!" msgstr "Denne handlingen kan ikke angres!" -#: src/tables/InvenTreeTable.tsx:516 +#: src/tables/InvenTreeTable.tsx:522 msgid "Deleted records" msgstr "Slettede oppføringer" -#: src/tables/InvenTreeTable.tsx:517 +#: src/tables/InvenTreeTable.tsx:523 msgid "Records were deleted successfully" msgstr "Oppføringer slettet" -#: src/tables/InvenTreeTable.tsx:526 +#: src/tables/InvenTreeTable.tsx:532 msgid "Failed to delete records" msgstr "Kunne ikke slette oppføringer" -#: src/tables/InvenTreeTable.tsx:585 -#: src/tables/InvenTreeTable.tsx:586 +#: src/tables/InvenTreeTable.tsx:594 +#: src/tables/InvenTreeTable.tsx:595 +#~ msgid "Print actions" +#~ msgstr "Print actions" + +#: src/tables/InvenTreeTable.tsx:601 +#: src/tables/InvenTreeTable.tsx:602 msgid "Barcode actions" msgstr "Strekkodehandlinger" -#: src/tables/InvenTreeTable.tsx:594 -#: src/tables/InvenTreeTable.tsx:595 -msgid "Print actions" -msgstr "Utskriftshandlinger" - -#: src/tables/InvenTreeTable.tsx:620 +#: src/tables/InvenTreeTable.tsx:630 msgid "Refresh data" msgstr "Oppdater data" -#: src/tables/InvenTreeTable.tsx:638 +#: src/tables/InvenTreeTable.tsx:648 msgid "Table filters" msgstr "Tabellfiltre" @@ -4770,138 +4880,138 @@ msgstr "Denne BOM-artikkelen er definert for en annen overordnet del" msgid "Part Information" msgstr "Delinformasjon" -#: src/tables/bom/BomTable.tsx:177 +#: src/tables/bom/BomTable.tsx:179 #: src/tables/part/PartTable.tsx:124 msgid "No stock" msgstr "Ingen lagerbeholdning" -#: src/tables/bom/BomTable.tsx:185 +#: src/tables/bom/BomTable.tsx:187 #: src/tables/build/BuildLineTable.tsx:104 #: src/tables/part/PartTable.tsx:115 msgid "External stock" msgstr "" -#: src/tables/bom/BomTable.tsx:193 +#: src/tables/bom/BomTable.tsx:195 #: src/tables/build/BuildLineTable.tsx:67 msgid "Includes substitute stock" msgstr "Inkluderer erstatningsbeholdning" -#: src/tables/bom/BomTable.tsx:202 +#: src/tables/bom/BomTable.tsx:204 #: src/tables/build/BuildLineTable.tsx:77 msgid "Includes variant stock" msgstr "Inkluderer variantbeholdning" -#: src/tables/bom/BomTable.tsx:227 +#: src/tables/bom/BomTable.tsx:229 #: src/tables/part/PartTable.tsx:143 #: src/tables/stock/StockItemTable.tsx:205 msgid "Stock Information" msgstr "Lagerinformasjon" -#: src/tables/bom/BomTable.tsx:239 +#: src/tables/bom/BomTable.tsx:241 #: src/tables/build/BuildLineTable.tsx:195 msgid "Consumable item" msgstr "Forbruksvare" -#: src/tables/bom/BomTable.tsx:260 +#: src/tables/bom/BomTable.tsx:262 msgid "Show trackable items" msgstr "Vis sporbare deler" -#: src/tables/bom/BomTable.tsx:265 +#: src/tables/bom/BomTable.tsx:267 msgid "Show asssmbled items" msgstr "Vis sammenstilte elementer" -#: src/tables/bom/BomTable.tsx:270 +#: src/tables/bom/BomTable.tsx:272 msgid "Show items with available stock" msgstr "Vis elementer med tilgjengelig lagerbeholdning" -#: src/tables/bom/BomTable.tsx:275 +#: src/tables/bom/BomTable.tsx:277 msgid "Show items on order" msgstr "Vis elementer i bestilling" -#: src/tables/bom/BomTable.tsx:279 +#: src/tables/bom/BomTable.tsx:281 msgid "Validated" msgstr "" -#: src/tables/bom/BomTable.tsx:280 +#: src/tables/bom/BomTable.tsx:282 msgid "Show validated items" msgstr "Vis godkjente elementer" -#: src/tables/bom/BomTable.tsx:284 +#: src/tables/bom/BomTable.tsx:286 #: src/tables/bom/UsedInTable.tsx:63 msgid "Inherited" msgstr "" -#: src/tables/bom/BomTable.tsx:285 +#: src/tables/bom/BomTable.tsx:287 #: src/tables/bom/UsedInTable.tsx:64 msgid "Show inherited items" msgstr "Vis arvede elementer" -#: src/tables/bom/BomTable.tsx:289 +#: src/tables/bom/BomTable.tsx:291 #: src/tables/bom/UsedInTable.tsx:68 #: src/tables/build/BuildLineTable.tsx:46 msgid "Optional" msgstr "Valgfritt" -#: src/tables/bom/BomTable.tsx:290 +#: src/tables/bom/BomTable.tsx:292 #: src/tables/bom/UsedInTable.tsx:69 msgid "Show optional items" msgstr "Vis valgfrie elementer" -#: src/tables/bom/BomTable.tsx:294 +#: src/tables/bom/BomTable.tsx:296 #: src/tables/build/BuildLineTable.tsx:41 msgid "Consumable" msgstr "Forbruksvare" -#: src/tables/bom/BomTable.tsx:295 +#: src/tables/bom/BomTable.tsx:297 msgid "Show consumable items" msgstr "Vis forbruksartikler" -#: src/tables/bom/BomTable.tsx:299 +#: src/tables/bom/BomTable.tsx:301 msgid "Has Pricing" msgstr "Har prising" -#: src/tables/bom/BomTable.tsx:300 -msgid "Show items with pricing" -msgstr "Vis varer med priser" - #: src/tables/bom/BomTable.tsx:301 #~ msgid "Create BOM Item" #~ msgstr "Create BOM Item" -#: src/tables/bom/BomTable.tsx:309 -#: src/tables/bom/BomTable.tsx:397 +#: src/tables/bom/BomTable.tsx:302 +msgid "Show items with pricing" +msgstr "Vis varer med priser" + +#: src/tables/bom/BomTable.tsx:311 +#: src/tables/bom/BomTable.tsx:399 msgid "Add BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:314 +#: src/tables/bom/BomTable.tsx:316 msgid "BOM item created" msgstr "" -#: src/tables/bom/BomTable.tsx:321 +#: src/tables/bom/BomTable.tsx:323 msgid "Edit BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:323 +#: src/tables/bom/BomTable.tsx:325 msgid "BOM item updated" msgstr "" -#: src/tables/bom/BomTable.tsx:330 -msgid "Delete BOM Item" -msgstr "" - -#: src/tables/bom/BomTable.tsx:331 -msgid "BOM item deleted" -msgstr "" - #: src/tables/bom/BomTable.tsx:331 #~ msgid "Edit Bom Item" #~ msgstr "Edit Bom Item" +#: src/tables/bom/BomTable.tsx:332 +msgid "Delete BOM Item" +msgstr "" + +#: src/tables/bom/BomTable.tsx:333 +msgid "BOM item deleted" +msgstr "" + #: src/tables/bom/BomTable.tsx:333 #~ msgid "Bom item updated" #~ msgstr "Bom item updated" -#: src/tables/bom/BomTable.tsx:341 +#: src/tables/bom/BomTable.tsx:343 msgid "View BOM" msgstr "Vis BOM" @@ -4917,11 +5027,11 @@ msgstr "Vis BOM" #~ msgid "Are you sure you want to remove this BOM item?" #~ msgstr "Are you sure you want to remove this BOM item?" -#: src/tables/bom/BomTable.tsx:352 +#: src/tables/bom/BomTable.tsx:354 msgid "Validate BOM line" msgstr "Godkjenn BOM-linje" -#: src/tables/bom/BomTable.tsx:360 +#: src/tables/bom/BomTable.tsx:362 msgid "Edit Substitutes" msgstr "Rediger erstatninger" @@ -5038,11 +5148,11 @@ msgid "Filter by responsible owner" msgstr "" #: src/tables/build/BuildOutputTable.tsx:114 -#: src/tables/build/BuildOutputTable.tsx:150 +#: src/tables/build/BuildOutputTable.tsx:152 msgid "Add Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:155 +#: src/tables/build/BuildOutputTable.tsx:157 msgid "Complete selected outputs" msgstr "" @@ -5050,68 +5160,68 @@ msgstr "" #~ msgid "Delete build output" #~ msgstr "Delete build output" -#: src/tables/build/BuildOutputTable.tsx:165 +#: src/tables/build/BuildOutputTable.tsx:167 msgid "Scrap selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:175 +#: src/tables/build/BuildOutputTable.tsx:177 msgid "Cancel selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:191 +#: src/tables/build/BuildOutputTable.tsx:193 msgid "Allocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:192 +#: src/tables/build/BuildOutputTable.tsx:194 msgid "Allocate stock to build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:197 +#: src/tables/build/BuildOutputTable.tsx:199 msgid "Deallocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:198 +#: src/tables/build/BuildOutputTable.tsx:200 msgid "Deallocate stock from build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:203 +#: src/tables/build/BuildOutputTable.tsx:205 msgid "Complete" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:204 +#: src/tables/build/BuildOutputTable.tsx:206 msgid "Complete build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:213 +#: src/tables/build/BuildOutputTable.tsx:215 msgid "Scrap" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:214 +#: src/tables/build/BuildOutputTable.tsx:216 msgid "Scrap build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:224 +#: src/tables/build/BuildOutputTable.tsx:226 msgid "Cancel build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:251 +#: src/tables/build/BuildOutputTable.tsx:253 msgid "Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:264 +#: src/tables/build/BuildOutputTable.tsx:266 msgid "Batch" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:278 +#: src/tables/build/BuildOutputTable.tsx:280 msgid "Allocated Items" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:288 +#: src/tables/build/BuildOutputTable.tsx:290 msgid "Required Tests" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:317 -#: src/tables/stock/StockItemTestResultTable.tsx:146 +#: src/tables/build/BuildOutputTable.tsx:319 +#: src/tables/stock/StockItemTestResultTable.tsx:144 msgid "Test Results" msgstr "" @@ -5132,7 +5242,7 @@ msgstr "Rediger adresse" msgid "Delete Address" msgstr "Slett adresse" -#: src/tables/company/AddressTable.tsx:145 +#: src/tables/company/AddressTable.tsx:144 msgid "Are you sure you want to delete this address?" msgstr "Er du sikker på at du vil slette denne adressen?" @@ -5177,37 +5287,53 @@ msgstr "Slett kontakt" msgid "Add contact" msgstr "Legg til kontakt" -#: src/tables/general/AttachmentTable.tsx:161 +#: src/tables/general/AttachmentTable.tsx:130 msgid "File uploaded" msgstr "Fil lastet opp" -#: src/tables/general/AttachmentTable.tsx:162 +#: src/tables/general/AttachmentTable.tsx:131 msgid "File {0} uploaded successfully" msgstr "Filen {0} ble vellykket opplastet" -#: src/tables/general/AttachmentTable.tsx:173 +#: src/tables/general/AttachmentTable.tsx:142 msgid "Upload Error" msgstr "Opplastningsfeil" -#: src/tables/general/AttachmentTable.tsx:174 +#: src/tables/general/AttachmentTable.tsx:143 msgid "File could not be uploaded" msgstr "Kunne ikke laste opp filen" #: src/tables/general/AttachmentTable.tsx:187 +msgid "Upload Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:197 +msgid "Edit Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:211 +msgid "Delete Attachment" +msgstr "Slett vedlegg" + +#: src/tables/general/AttachmentTable.tsx:221 msgid "Add attachment" msgstr "Legg til vedlegg" -#: src/tables/general/AttachmentTable.tsx:207 +#: src/tables/general/AttachmentTable.tsx:232 msgid "Add external link" msgstr "Ny ekstern lenke" -#: src/tables/general/AttachmentTable.tsx:239 +#: src/tables/general/AttachmentTable.tsx:254 +#~ msgid "Upload attachment" +#~ msgstr "Upload attachment" + +#: src/tables/general/AttachmentTable.tsx:289 msgid "No attachments found" msgstr "Ingen vedlegg funnet" -#: src/tables/general/AttachmentTable.tsx:254 -msgid "Upload attachment" -msgstr "Last opp vedlegg" +#: src/tables/general/AttachmentTable.tsx:325 +msgid "Drag attachment file here to upload" +msgstr "" #: src/tables/machine/MachineListTable.tsx:199 msgid "Machine restarted" @@ -5332,8 +5458,8 @@ msgstr "" #: src/tables/machine/MachineTypeTable.tsx:135 #: src/tables/machine/MachineTypeTable.tsx:255 -#: src/tables/plugin/PluginListTable.tsx:215 -#: src/tables/plugin/PluginListTable.tsx:643 +#: src/tables/plugin/PluginListTable.tsx:180 +#: src/tables/plugin/PluginListTable.tsx:568 msgid "Builtin" msgstr "Innebygd" @@ -5375,7 +5501,7 @@ msgid "Message" msgstr "Melding" #: src/tables/part/ParametricPartTable.tsx:75 -#: src/tables/part/PartParameterTable.tsx:87 +#: src/tables/part/PartParameterTable.tsx:88 msgid "Internal Units" msgstr "" @@ -5388,29 +5514,29 @@ msgid "Add Part Parameter" msgstr "" #: src/tables/part/ParametricPartTable.tsx:147 -#: src/tables/part/PartParameterTable.tsx:128 -#: src/tables/part/PartParameterTable.tsx:150 +#: src/tables/part/PartParameterTable.tsx:121 +#: src/tables/part/PartParameterTable.tsx:144 msgid "Edit Part Parameter" msgstr "Rediger del-parameter" -#: src/tables/part/PartCategoryTable.tsx:64 +#: src/tables/part/PartCategoryTable.tsx:60 #: src/tables/part/PartTable.tsx:180 msgid "Include Subcategories" msgstr "Inkluder underkategorier" -#: src/tables/part/PartCategoryTable.tsx:65 +#: src/tables/part/PartCategoryTable.tsx:61 msgid "Include subcategories in results" msgstr "Inkluder underkategorier i resultatene" -#: src/tables/part/PartCategoryTable.tsx:70 +#: src/tables/part/PartCategoryTable.tsx:66 msgid "Show structural categories" msgstr "Vis strukturelle kategorier" -#: src/tables/part/PartCategoryTable.tsx:77 +#: src/tables/part/PartCategoryTable.tsx:73 msgid "New Part Category" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:106 +#: src/tables/part/PartCategoryTable.tsx:98 msgid "Add Part Category" msgstr "" @@ -5435,20 +5561,20 @@ msgstr "" #~ msgid "[{0}]" #~ msgstr "[{0}]" -#: src/tables/part/PartParameterTable.tsx:112 +#: src/tables/part/PartParameterTable.tsx:105 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:136 -#: src/tables/part/PartParameterTable.tsx:158 +#: src/tables/part/PartParameterTable.tsx:130 +#: src/tables/part/PartParameterTable.tsx:152 msgid "Delete Part Parameter" msgstr "Slett del-parameter" -#: src/tables/part/PartParameterTable.tsx:175 +#: src/tables/part/PartParameterTable.tsx:170 msgid "Add parameter" msgstr "Legg til parameter" -#: src/tables/part/PartParameterTable.tsx:196 +#: src/tables/part/PartParameterTable.tsx:191 #: src/tables/stock/StockItemTable.tsx:300 msgid "Include Variants" msgstr "Inkluder varianter" @@ -5482,15 +5608,15 @@ msgstr "Vis maler med enheter" msgid "Add Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:97 +#: src/tables/part/PartParameterTemplateTable.tsx:100 msgid "Edit Parameter Template" msgstr "Rediger parametermal" -#: src/tables/part/PartParameterTemplateTable.tsx:105 +#: src/tables/part/PartParameterTemplateTable.tsx:111 msgid "Delete Parameter Template" msgstr "Slett parametermal" -#: src/tables/part/PartParameterTemplateTable.tsx:135 +#: src/tables/part/PartParameterTemplateTable.tsx:141 msgid "Add parameter template" msgstr "Legg til parametermal" @@ -5588,7 +5714,7 @@ msgid "No Results" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:79 -#: src/tables/stock/StockItemTestResultTable.tsx:385 +#: src/tables/stock/StockItemTestResultTable.tsx:376 msgid "Required" msgstr "" @@ -5597,8 +5723,8 @@ msgid "Show required tests" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:84 -#: src/tables/settings/TemplateTable.tsx:213 -#: src/tables/settings/TemplateTable.tsx:275 +#: src/tables/settings/TemplateTable.tsx:160 +#: src/tables/settings/TemplateTable.tsx:270 msgid "Enabled" msgstr "" @@ -5639,26 +5765,30 @@ msgid "Show tests which have recorded results" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:126 -#: src/tables/part/PartTestTemplateTable.tsx:195 +#: src/tables/part/PartTestTemplateTable.tsx:201 msgid "Add Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:139 +#: src/tables/part/PartTestTemplateTable.tsx:142 msgid "Edit Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:147 +#: src/tables/part/PartTestTemplateTable.tsx:153 msgid "Delete Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:149 +#: src/tables/part/PartTestTemplateTable.tsx:155 msgid "This action cannot be reversed" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:151 +#: src/tables/part/PartTestTemplateTable.tsx:157 msgid "Any tests results associated with this template will be deleted" msgstr "" +#: src/tables/part/PartThumbTable.tsx:203 +msgid "Select" +msgstr "" + #: src/tables/part/PartVariantTable.tsx:16 msgid "Show active variants" msgstr "Vis aktive varianter" @@ -5695,252 +5825,273 @@ msgstr "Legg til relatert del" msgid "Stage" msgstr "Stadium" -#: src/tables/plugin/PluginListTable.tsx:113 -msgid "Plugin with id {id} not found" -msgstr "Utvidelse med id {id} ikke funnet" +#: src/tables/plugin/PluginListTable.tsx:95 +msgid "Plugin with key {pluginKey} not found" +msgstr "" -#: src/tables/plugin/PluginListTable.tsx:115 +#: src/tables/plugin/PluginListTable.tsx:97 msgid "An error occurred while fetching plugin details" msgstr "Det oppstod en feil under henting av utvidelsesdetaljer" -#: src/tables/plugin/PluginListTable.tsx:134 -msgid "Plugin Actions" -msgstr "Handlinger for utvidelser" +#: src/tables/plugin/PluginListTable.tsx:113 +#~ msgid "Plugin with id {id} not found" +#~ msgstr "Plugin with id {id} not found" -#: src/tables/plugin/PluginListTable.tsx:138 -#: src/tables/plugin/PluginListTable.tsx:141 -msgid "Edit plugin" -msgstr "Rediger utvidelse" - -#: src/tables/plugin/PluginListTable.tsx:152 -#: src/tables/plugin/PluginListTable.tsx:153 -msgid "Reload" -msgstr "Last på nytt" - -#: src/tables/plugin/PluginListTable.tsx:166 +#: src/tables/plugin/PluginListTable.tsx:122 msgid "Plugin information" msgstr "Informasjon om utvidelse" -#: src/tables/plugin/PluginListTable.tsx:177 +#: src/tables/plugin/PluginListTable.tsx:134 msgid "Author" msgstr "Forfatter" -#: src/tables/plugin/PluginListTable.tsx:198 +#: src/tables/plugin/PluginListTable.tsx:134 +#~ msgid "Plugin Actions" +#~ msgstr "Plugin Actions" + +#: src/tables/plugin/PluginListTable.tsx:138 +#: src/tables/plugin/PluginListTable.tsx:141 +#~ msgid "Edit plugin" +#~ msgstr "Edit plugin" + +#: src/tables/plugin/PluginListTable.tsx:152 +#: src/tables/plugin/PluginListTable.tsx:153 +#~ msgid "Reload" +#~ msgstr "Reload" + +#: src/tables/plugin/PluginListTable.tsx:154 +msgid "Plugin is not active" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:163 msgid "Package information" msgstr "Informasjon om pakken" -#: src/tables/plugin/PluginListTable.tsx:204 +#: src/tables/plugin/PluginListTable.tsx:169 msgid "Package Name" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:210 +#: src/tables/plugin/PluginListTable.tsx:175 msgid "Installation Path" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:220 +#: src/tables/plugin/PluginListTable.tsx:185 msgid "Package" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:231 +#: src/tables/plugin/PluginListTable.tsx:197 msgid "Plugin settings" msgstr "Innstillinger for Utvidelser" -#: src/tables/plugin/PluginListTable.tsx:248 +#: src/tables/plugin/PluginListTable.tsx:214 msgid "Plugin is active" msgstr "Utvidelsen er aktiv" -#: src/tables/plugin/PluginListTable.tsx:254 +#: src/tables/plugin/PluginListTable.tsx:220 msgid "Plugin is inactive" msgstr "Utvidelsen er inaktiv" -#: src/tables/plugin/PluginListTable.tsx:261 +#: src/tables/plugin/PluginListTable.tsx:227 msgid "Plugin is not installed" msgstr "Utvidelsen er ikke installert" -#: src/tables/plugin/PluginListTable.tsx:287 +#: src/tables/plugin/PluginListTable.tsx:253 msgid "Plugin" msgstr "Utvidelse" -#: src/tables/plugin/PluginListTable.tsx:312 +#: src/tables/plugin/PluginListTable.tsx:287 msgid "Description not available" msgstr "Beskrivelse ikke tilgjengelig" -#: src/tables/plugin/PluginListTable.tsx:338 +#: src/tables/plugin/PluginListTable.tsx:319 +msgid "Confirm plugin activation" +msgstr "Bekreft aktivering av utvidelse" + +#: src/tables/plugin/PluginListTable.tsx:320 +msgid "Confirm plugin deactivation" +msgstr "Bekreft deaktivering av utvidelse" + +#: src/tables/plugin/PluginListTable.tsx:325 +msgid "The selected plugin will be activated" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:326 +msgid "The selected plugin will be deactivated" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:334 msgid "Activate Plugin" msgstr "Aktivér utvidelse" #: src/tables/plugin/PluginListTable.tsx:338 -msgid "Deactivate Plugin" -msgstr "Deaktivér utvidelse" - -#: src/tables/plugin/PluginListTable.tsx:347 -msgid "Confirm plugin activation" -msgstr "Bekreft aktivering av utvidelse" - -#: src/tables/plugin/PluginListTable.tsx:348 -msgid "Confirm plugin deactivation" -msgstr "Bekreft deaktivering av utvidelse" +#~ msgid "Deactivate Plugin" +#~ msgstr "Deactivate Plugin" #: src/tables/plugin/PluginListTable.tsx:354 -msgid "The following plugin will be activated" -msgstr "Følgende utvidelse vil bli aktivert" +#~ msgid "The following plugin will be activated" +#~ msgstr "The following plugin will be activated" #: src/tables/plugin/PluginListTable.tsx:355 -msgid "The following plugin will be deactivated" -msgstr "Følgende utvidelse vil bli deaktivert" +#~ msgid "The following plugin will be deactivated" +#~ msgstr "The following plugin will be deactivated" -#: src/tables/plugin/PluginListTable.tsx:366 -msgid "Confirm" -msgstr "Bekreft" - -#: src/tables/plugin/PluginListTable.tsx:376 -msgid "Activating plugin" -msgstr "Aktiverer utvidelse" - -#: src/tables/plugin/PluginListTable.tsx:376 -msgid "Deactivating plugin" -msgstr "Deaktiverer utvidelse" - -#: src/tables/plugin/PluginListTable.tsx:392 -msgid "Plugin updated" -msgstr "Utvidelse oppdatert" - -#: src/tables/plugin/PluginListTable.tsx:394 -msgid "The plugin was activated" -msgstr "Utvidelsen ble aktivert" - -#: src/tables/plugin/PluginListTable.tsx:395 -msgid "The plugin was deactivated" -msgstr "Utvidelsen ble deaktivert" - -#: src/tables/plugin/PluginListTable.tsx:403 -msgid "Error updating plugin" -msgstr "Feil ved oppdatering av utvidelse" - -#: src/tables/plugin/PluginListTable.tsx:423 +#: src/tables/plugin/PluginListTable.tsx:362 msgid "Deactivate" msgstr "Deaktiver" -#: src/tables/plugin/PluginListTable.tsx:432 +#: src/tables/plugin/PluginListTable.tsx:366 +#~ msgid "Confirm" +#~ msgstr "Confirm" + +#: src/tables/plugin/PluginListTable.tsx:373 msgid "Activate" msgstr "Aktivér" -#: src/tables/plugin/PluginListTable.tsx:463 +#: src/tables/plugin/PluginListTable.tsx:376 +#~ msgid "Activating plugin" +#~ msgstr "Activating plugin" + +#: src/tables/plugin/PluginListTable.tsx:376 +#~ msgid "Deactivating plugin" +#~ msgstr "Deactivating plugin" + +#: src/tables/plugin/PluginListTable.tsx:392 +#~ msgid "Plugin updated" +#~ msgstr "Plugin updated" + +#: src/tables/plugin/PluginListTable.tsx:394 +#~ msgid "The plugin was activated" +#~ msgstr "The plugin was activated" + +#: src/tables/plugin/PluginListTable.tsx:395 +#~ msgid "The plugin was deactivated" +#~ msgstr "The plugin was deactivated" + +#: src/tables/plugin/PluginListTable.tsx:403 +#~ msgid "Error updating plugin" +#~ msgstr "Error updating plugin" + +#: src/tables/plugin/PluginListTable.tsx:406 msgid "Uninstall" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:495 +#: src/tables/plugin/PluginListTable.tsx:438 msgid "Install plugin" msgstr "Installer Utvidelse" -#: src/tables/plugin/PluginListTable.tsx:508 +#: src/tables/plugin/PluginListTable.tsx:451 msgid "Install" msgstr "Installer" -#: src/tables/plugin/PluginListTable.tsx:512 +#: src/tables/plugin/PluginListTable.tsx:452 msgid "Plugin installed successfully" msgstr "Utvidelse installert" -#: src/tables/plugin/PluginListTable.tsx:525 +#: src/tables/plugin/PluginListTable.tsx:457 msgid "Uninstall Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:537 +#: src/tables/plugin/PluginListTable.tsx:469 msgid "Confirm plugin uninstall" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:540 +#: src/tables/plugin/PluginListTable.tsx:472 msgid "The selected plugin will be uninstalled." msgstr "" -#: src/tables/plugin/PluginListTable.tsx:541 +#: src/tables/plugin/PluginListTable.tsx:473 msgid "This action cannot be undone." msgstr "" -#: src/tables/plugin/PluginListTable.tsx:547 +#: src/tables/plugin/PluginListTable.tsx:477 msgid "Plugin uninstalled successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:560 +#: src/tables/plugin/PluginListTable.tsx:484 msgid "Delete Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:562 +#: src/tables/plugin/PluginListTable.tsx:485 msgid "Deleting this plugin configuration will remove all associated settings and data. Are you sure you want to delete this plugin?" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:574 +#: src/tables/plugin/PluginListTable.tsx:498 msgid "Plugins reloaded" msgstr "Utvidelser lastet inn på nytt" -#: src/tables/plugin/PluginListTable.tsx:575 +#: src/tables/plugin/PluginListTable.tsx:499 msgid "Plugins were reloaded successfully" msgstr "Utvidelser ble lastet inn på nytt" -#: src/tables/plugin/PluginListTable.tsx:591 +#: src/tables/plugin/PluginListTable.tsx:515 msgid "Reload Plugins" msgstr "Last utvidelser på nytt" -#: src/tables/plugin/PluginListTable.tsx:600 +#: src/tables/plugin/PluginListTable.tsx:524 msgid "Install Plugin" msgstr "Installer Utvidelse" +#: src/tables/plugin/PluginListTable.tsx:544 +msgid "Plugin Detail" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:573 +msgid "Sample" +msgstr "Eksempel" + +#: src/tables/plugin/PluginListTable.tsx:578 +#: src/tables/stock/StockItemTable.tsx:305 +msgid "Installed" +msgstr "Installert" + #: src/tables/plugin/PluginListTable.tsx:615 #~ msgid "Plugin detail" #~ msgstr "Plugin detail" -#: src/tables/plugin/PluginListTable.tsx:619 -msgid "Plugin Detail" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:648 -msgid "Sample" -msgstr "Eksempel" - -#: src/tables/plugin/PluginListTable.tsx:653 -#: src/tables/stock/StockItemTable.tsx:305 -msgid "Installed" -msgstr "Installert" - -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:57 -msgid "Edit Parameter" +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:59 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:108 +msgid "Add Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:60 -msgid "Parameter updated" -msgstr "" +#~ msgid "Parameter updated" +#~ msgstr "Parameter updated" -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:71 -msgid "Delete Parameter" +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:70 +msgid "Edit Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:73 -msgid "Parameter deleted" -msgstr "" +#~ msgid "Parameter deleted" +#~ msgstr "Parameter deleted" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:74 -msgid "Are you sure you want to delete this parameter?" +#~ msgid "Are you sure you want to delete this parameter?" +#~ msgstr "Are you sure you want to delete this parameter?" + +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:78 +msgid "Delete Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartTable.tsx:63 #~ msgid "Create Manufacturer Part" #~ msgstr "Create Manufacturer Part" -#: src/tables/purchasing/ManufacturerPartTable.tsx:100 -msgid "Manufacturer part updated" -msgstr "Produsentdel oppdatert" - -#: src/tables/purchasing/ManufacturerPartTable.tsx:111 +#: src/tables/purchasing/ManufacturerPartTable.tsx:92 msgid "Delete Manufacturer Part" msgstr "Slett produsentdel" +#: src/tables/purchasing/ManufacturerPartTable.tsx:100 +#~ msgid "Manufacturer part updated" +#~ msgstr "Manufacturer part updated" + #: src/tables/purchasing/ManufacturerPartTable.tsx:112 -msgid "Manufacturer part deleted" -msgstr "Produsentdel slettet" +#~ msgid "Manufacturer part deleted" +#~ msgstr "Manufacturer part deleted" #: src/tables/purchasing/ManufacturerPartTable.tsx:114 -msgid "Are you sure you want to remove this manufacturer part?" -msgstr "Er du sikker på at du vil fjerne denne produsentdelen?" +#~ msgid "Are you sure you want to remove this manufacturer part?" +#~ msgstr "Are you sure you want to remove this manufacturer part?" #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:86 msgid "Part Description" @@ -6087,18 +6238,22 @@ msgid "Error Information" msgstr "Feilinformasjon" #: src/tables/settings/ErrorTable.tsx:51 -msgid "Delete error report" -msgstr "Slett feilrapport" +msgid "Delete Error Report" +msgstr "" + +#: src/tables/settings/ErrorTable.tsx:51 +#~ msgid "Delete error report" +#~ msgstr "Delete error report" #: src/tables/settings/ErrorTable.tsx:53 -msgid "Error report deleted" -msgstr "Feilrapport slettet" - -#: src/tables/settings/ErrorTable.tsx:54 msgid "Are you sure you want to delete this error report?" msgstr "Er du sikker på at du vil slette denne feilrapporten?" -#: src/tables/settings/ErrorTable.tsx:67 +#: src/tables/settings/ErrorTable.tsx:55 +msgid "Error report deleted" +msgstr "Feilrapport slettet" + +#: src/tables/settings/ErrorTable.tsx:77 #: src/tables/settings/FailedTasksTable.tsx:57 msgid "Error Details" msgstr "Feildetaljer" @@ -6115,7 +6270,7 @@ msgid "Task ID" msgstr "Oppgave-ID" #: src/tables/settings/FailedTasksTable.tsx:34 -#: src/tables/stock/StockItemTestResultTable.tsx:214 +#: src/tables/stock/StockItemTestResultTable.tsx:205 msgid "Started" msgstr "Startet" @@ -6188,30 +6343,71 @@ msgstr "Sist kjørt" msgid "Next Run" msgstr "Neste kjøring" -#: src/tables/settings/TemplateTable.tsx:120 -msgid "{templateTypeTranslation} with id {id} not found" +#: src/tables/settings/TemplateTable.tsx:82 +msgid "Template not found" msgstr "" +#: src/tables/settings/TemplateTable.tsx:84 +msgid "An error occurred while fetching template details" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:120 +#~ msgid "{templateTypeTranslation} with id {id} not found" +#~ msgstr "{templateTypeTranslation} with id {id} not found" + #: src/tables/settings/TemplateTable.tsx:124 -msgid "An error occurred while fetching {templateTypeTranslation} details" -msgstr "" +#~ msgid "An error occurred while fetching {templateTypeTranslation} details" +#~ msgstr "An error occurred while fetching {templateTypeTranslation} details" #: src/tables/settings/TemplateTable.tsx:146 -msgid "actions" +#~ msgid "actions" +#~ msgstr "actions" + +#: src/tables/settings/TemplateTable.tsx:170 +msgid "Modify" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:171 +msgid "Modify template file" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:222 +#: src/tables/settings/TemplateTable.tsx:289 +msgid "Edit Template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:230 +msgid "Delete template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:236 +msgid "Add Template" msgstr "" #: src/tables/settings/TemplateTable.tsx:243 -msgid "Add new" -msgstr "" +#~ msgid "Add new" +#~ msgstr "Add new" #: src/tables/settings/TemplateTable.tsx:243 #~ msgid "Create new" #~ msgstr "Create new" -#: src/tables/settings/TemplateTable.tsx:276 +#: src/tables/settings/TemplateTable.tsx:249 +msgid "Add template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:271 msgid "Filter by enabled status" msgstr "" +#: src/tables/settings/TemplateTable.tsx:276 +msgid "Model Type" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:277 +msgid "Filter by target model type" +msgstr "" + #: src/tables/settings/UserTable.tsx:79 msgid "User with id {id} not found" msgstr "Bruker med Id {id} ble ikke funnet" @@ -6277,6 +6473,23 @@ msgstr "Bruker lagt til" msgid "Edit user" msgstr "Rediger bruker" +#: src/tables/stock/LocationTypesTable.tsx:36 +#: src/tables/stock/LocationTypesTable.tsx:105 +msgid "Add Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:44 +msgid "Edit Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:52 +msgid "Delete Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:69 +msgid "Icon" +msgstr "" + #: src/tables/stock/StockItemTable.tsx:90 msgid "This stock item is in production" msgstr "Denne lagervaren er i produksjon" @@ -6338,7 +6551,7 @@ msgid "Show items which are available" msgstr "Vis elementer som er tilgjengelige" #: src/tables/stock/StockItemTable.tsx:280 -#: src/tables/stock/StockLocationTable.tsx:37 +#: src/tables/stock/StockLocationTable.tsx:33 msgid "Include Sublocations" msgstr "Inkluder underplasseringer" @@ -6467,123 +6680,135 @@ msgstr "" msgid "Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:153 +#: src/tables/stock/StockItemTestResultTable.tsx:151 msgid "Test result for installed stock item" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:164 +#: src/tables/stock/StockItemTestResultTable.tsx:162 msgid "Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:170 +#: src/tables/stock/StockItemTestResultTable.tsx:168 msgid "No Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:186 +#: src/tables/stock/StockItemTestResultTable.tsx:184 msgid "Attachment" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:209 +#: src/tables/stock/StockItemTestResultTable.tsx:200 msgid "Test station" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:229 +#: src/tables/stock/StockItemTestResultTable.tsx:220 msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:277 -#: src/tables/stock/StockItemTestResultTable.tsx:349 -#: src/tables/stock/StockItemTestResultTable.tsx:404 +#: src/tables/stock/StockItemTestResultTable.tsx:268 +#: src/tables/stock/StockItemTestResultTable.tsx:340 +#: src/tables/stock/StockItemTestResultTable.tsx:395 msgid "Add Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:279 +#: src/tables/stock/StockItemTestResultTable.tsx:270 msgid "Test result added" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:288 -#: src/tables/stock/StockItemTestResultTable.tsx:359 +#: src/tables/stock/StockItemTestResultTable.tsx:279 +#: src/tables/stock/StockItemTestResultTable.tsx:350 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:290 +#: src/tables/stock/StockItemTestResultTable.tsx:281 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:296 -#: src/tables/stock/StockItemTestResultTable.tsx:368 +#: src/tables/stock/StockItemTestResultTable.tsx:287 +#: src/tables/stock/StockItemTestResultTable.tsx:359 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:298 +#: src/tables/stock/StockItemTestResultTable.tsx:289 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:312 +#: src/tables/stock/StockItemTestResultTable.tsx:303 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:313 +#: src/tables/stock/StockItemTestResultTable.tsx:304 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:320 +#: src/tables/stock/StockItemTestResultTable.tsx:311 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:337 +#: src/tables/stock/StockItemTestResultTable.tsx:328 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:386 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:390 +#: src/tables/stock/StockItemTestResultTable.tsx:381 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:391 +#: src/tables/stock/StockItemTestResultTable.tsx:382 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:395 +#: src/tables/stock/StockItemTestResultTable.tsx:386 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:396 +#: src/tables/stock/StockItemTestResultTable.tsx:387 msgid "Show only passed tests" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:38 +#: src/tables/stock/StockLocationTable.tsx:34 msgid "Include sublocations in results" msgstr "Inkluder underkategorier i resultatene" -#: src/tables/stock/StockLocationTable.tsx:42 +#: src/tables/stock/StockLocationTable.tsx:38 msgid "structural" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:43 +#: src/tables/stock/StockLocationTable.tsx:39 msgid "Show structural locations" msgstr "Vis strukturelle plasseringer" -#: src/tables/stock/StockLocationTable.tsx:47 +#: src/tables/stock/StockLocationTable.tsx:43 msgid "external" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:48 +#: src/tables/stock/StockLocationTable.tsx:44 msgid "Show external locations" msgstr "Vis eksterne plasseringer" -#: src/tables/stock/StockLocationTable.tsx:52 +#: src/tables/stock/StockLocationTable.tsx:48 msgid "Has location type" msgstr "Har plasseringstype" -#: src/tables/stock/StockLocationTable.tsx:89 -#: src/tables/stock/StockLocationTable.tsx:118 +#: src/tables/stock/StockLocationTable.tsx:85 +#: src/tables/stock/StockLocationTable.tsx:110 msgid "Add Stock Location" msgstr "" +#: src/tables/stock/StockTrackingTable.tsx:64 +msgid "Added" +msgstr "" + +#: src/tables/stock/StockTrackingTable.tsx:69 +msgid "Removed" +msgstr "" + +#: src/tables/stock/StockTrackingTable.tsx:198 +msgid "No user information" +msgstr "" + #: src/views/MobileAppView.tsx:22 msgid "Mobile viewport detected" msgstr "Mobilvisning oppdaget" diff --git a/src/frontend/src/locales/pl/messages.po b/src/frontend/src/locales/pl/messages.po index a5b708b76c..a5de6f1510 100644 --- a/src/frontend/src/locales/pl/messages.po +++ b/src/frontend/src/locales/pl/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: pl\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-05-13 02:48\n" +"PO-Revision-Date: 2024-05-23 11:39\n" "Last-Translator: \n" "Language-Team: Polish\n" "Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" @@ -30,10 +30,67 @@ msgstr "" msgid "Title" msgstr "Tytuł" +#: src/components/buttons/AdminButton.tsx:83 +msgid "Open in admin interface" +msgstr "" + #: src/components/buttons/CopyButton.tsx:18 msgid "Copy to clipboard" msgstr "" +#: src/components/buttons/PrintingActions.tsx:95 +msgid "Print Label" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:101 +msgid "Label printing completed successfully" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:106 +#: src/components/buttons/PrintingActions.tsx:143 +#: src/components/forms/ApiForm.tsx:504 +#: src/components/forms/fields/ApiFormField.tsx:295 +#: src/components/modals/LicenseModal.tsx:75 +#: src/components/nav/SearchDrawer.tsx:413 +#: src/components/widgets/MarkdownEditor.tsx:107 +#: src/components/widgets/MarkdownEditor.tsx:153 +#: src/pages/ErrorPage.tsx:12 +#: src/pages/ErrorPage.tsx:25 +#: src/pages/part/PartPricingPanel.tsx:71 +#: src/tables/InvenTreeTable.tsx:451 +#: src/tables/InvenTreeTable.tsx:531 +#: src/tables/stock/StockItemTestResultTable.tsx:310 +msgid "Error" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:107 +msgid "The label could not be generated" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:122 +msgid "Print Report" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:138 +msgid "Report printing completed successfully" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:144 +msgid "The report could not be generated" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:171 +msgid "Printing Actions" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:176 +msgid "Print Labels" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:182 +msgid "Print Reports" +msgstr "" + #: src/components/buttons/ScanButton.tsx:15 msgid "Scan QR code" msgstr "" @@ -64,15 +121,15 @@ msgstr "" msgid "No" msgstr "" -#: src/components/details/Details.tsx:302 +#: src/components/details/Details.tsx:303 msgid "No name defined" msgstr "" -#: src/components/details/Details.tsx:339 +#: src/components/details/Details.tsx:340 msgid "Copied" msgstr "" -#: src/components/details/Details.tsx:339 +#: src/components/details/Details.tsx:340 msgid "Copy" msgstr "" @@ -85,24 +142,23 @@ msgid "Remove the associated image from this item?" msgstr "" #: src/components/details/DetailsImage.tsx:71 -#: src/forms/StockForms.tsx:442 +#: src/forms/StockForms.tsx:483 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:448 +#: src/pages/stock/StockDetail.tsx:462 msgid "Remove" msgstr "" #: src/components/details/DetailsImage.tsx:71 -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:163 -#: src/components/items/ActionDropdown.tsx:222 -#: src/components/items/ActionDropdown.tsx:223 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 +#: src/components/items/ActionDropdown.tsx:229 +#: src/components/items/ActionDropdown.tsx:230 #: src/contexts/ThemeContext.tsx:43 #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:40 -#: src/tables/FilterSelectDrawer.tsx:218 -#: src/tables/InvenTreeTable.tsx:493 -#: src/tables/build/BuildOutputTable.tsx:223 -#: src/tables/plugin/PluginListTable.tsx:365 +#: src/tables/FilterSelectDrawer.tsx:207 +#: src/tables/InvenTreeTable.tsx:499 +#: src/tables/build/BuildOutputTable.tsx:225 msgid "Cancel" msgstr "" @@ -119,7 +175,7 @@ msgid "Clear" msgstr "" #: src/components/details/DetailsImage.tsx:227 -#: src/components/forms/ApiForm.tsx:554 +#: src/components/forms/ApiForm.tsx:571 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:56 msgid "Submit" @@ -150,9 +206,10 @@ msgid "Part is not active" msgstr "" #: src/components/details/PartIcons.tsx:34 -#: src/pages/company/CompanyDetail.tsx:308 -#: src/pages/company/SupplierPartDetail.tsx:304 -#: src/pages/part/PartDetail.tsx:684 +#: src/components/render/Plugin.tsx:17 +#: src/pages/company/CompanyDetail.tsx:310 +#: src/pages/company/SupplierPartDetail.tsx:305 +#: src/pages/part/PartDetail.tsx:685 msgid "Inactive" msgstr "" @@ -196,10 +253,10 @@ msgid "Code" msgstr "" #: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:44 -msgid "Failed to parse error response from server." -msgstr "" +#~ msgid "Failed to parse error response from server." +#~ msgstr "Failed to parse error response from server." -#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:82 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:81 msgid "Preview not available, click \"Reload Preview\"." msgstr "" @@ -207,98 +264,99 @@ msgstr "" msgid "PDF Preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:113 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:104 msgid "Error loading template" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:125 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:116 msgid "Error saving template" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 -msgid "Save & Reload preview?" +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:146 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:270 +msgid "Save & Reload Preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:156 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 msgid "Are you sure you want to Save & Reload the preview?" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 +#~ msgid "Save & Reload preview?" +#~ msgstr "Save & Reload preview?" + +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:153 msgid "To render the preview the current template needs to be replaced on the server with your modifications which may break the label if it is under active use. Do you want to proceed?" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:162 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:157 msgid "Save & Reload" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:191 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:189 msgid "Preview updated" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:192 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:190 msgid "The preview has been updated successfully." msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:255 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:262 msgid "Reload preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:256 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:263 msgid "Use the currently stored template from the server" msgstr "" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:263 -msgid "Save & Reload preview" -msgstr "" +#~ msgid "Save & Reload preview" +#~ msgstr "Save & Reload preview" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:264 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:271 msgid "Save the current template and reload the preview" msgstr "" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:322 -#: src/tables/part/PartThumbTable.tsx:203 -msgid "Select" +#~ msgid "to preview" +#~ msgstr "to preview" + +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:329 +msgid "Select instance to preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:322 -msgid "to preview" -msgstr "" - -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:366 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:373 msgid "Error rendering template" msgstr "" -#: src/components/forms/ApiForm.tsx:143 +#: src/components/forms/ApiForm.tsx:148 #: src/functions/forms.tsx:259 msgid "Form Error" msgstr "" -#: src/components/forms/ApiForm.tsx:411 +#: src/components/forms/ApiForm.tsx:428 #: src/components/widgets/MarkdownEditor.tsx:145 msgid "Success" msgstr "" #: src/components/forms/ApiForm.tsx:487 -msgid "Form Errors Exist" -msgstr "" +#~ msgid "Form Errors Exist" +#~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:592 -#: src/tables/plugin/PluginListTable.tsx:445 +#: src/components/forms/ApiForm.tsx:609 +#: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "" -#: src/components/forms/ApiForm.tsx:612 -#: src/components/items/ActionDropdown.tsx:203 +#: src/components/forms/ApiForm.tsx:629 +#: src/components/items/ActionDropdown.tsx:210 #: src/functions/forms.tsx:299 #: src/hooks/UseForm.tsx:122 #: src/pages/Index/Scan.tsx:343 #: src/pages/Notifications.tsx:123 -#: src/tables/InvenTreeTable.tsx:492 +#: src/tables/InvenTreeTable.tsx:498 #: src/tables/RowActions.tsx:71 -#: src/tables/plugin/PluginListTable.tsx:477 -#: src/tables/settings/TemplateTable.tsx:105 -#: src/tables/settings/TemplateTable.tsx:154 -#: src/tables/settings/TemplateTable.tsx:236 +#: src/tables/plugin/PluginListTable.tsx:420 msgid "Delete" msgstr "" @@ -468,18 +526,19 @@ msgstr "" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 -#: src/pages/part/CategoryDetail.tsx:77 -#: src/pages/part/PartDetail.tsx:125 -#: src/pages/stock/LocationDetail.tsx:83 +#: src/pages/part/CategoryDetail.tsx:78 +#: src/pages/part/PartDetail.tsx:126 +#: src/pages/stock/LocationDetail.tsx:85 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 #: src/tables/machine/MachineTypeTable.tsx:216 #: src/tables/machine/MachineTypeTable.tsx:319 #: src/tables/plugin/PluginErrorTable.tsx:33 -#: src/tables/plugin/PluginListTable.tsx:169 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:27 +#: src/tables/plugin/PluginListTable.tsx:126 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:32 #: src/tables/settings/GroupTable.tsx:103 #: src/tables/settings/PendingTasksTable.tsx:26 +#: src/tables/stock/LocationTypesTable.tsx:60 msgid "Name" msgstr "" @@ -520,35 +579,20 @@ msgstr "" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/ApiFormField.tsx:276 -#: src/components/modals/LicenseModal.tsx:75 -#: src/components/nav/SearchDrawer.tsx:413 -#: src/components/widgets/MarkdownEditor.tsx:107 -#: src/components/widgets/MarkdownEditor.tsx:153 -#: src/pages/ErrorPage.tsx:12 -#: src/pages/ErrorPage.tsx:25 -#: src/pages/part/PartPricingPanel.tsx:71 -#: src/tables/InvenTreeTable.tsx:445 -#: src/tables/InvenTreeTable.tsx:525 -#: src/tables/plugin/PluginListTable.tsx:402 -#: src/tables/stock/StockItemTestResultTable.tsx:319 -msgid "Error" -msgstr "" - -#: src/components/forms/fields/RelatedModelField.tsx:305 +#: src/components/forms/fields/RelatedModelField.tsx:315 #: src/pages/Index/Settings/UserSettings.tsx:64 #: src/tables/Search.tsx:23 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:306 +#: src/components/forms/fields/RelatedModelField.tsx:316 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:120 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:308 +#: src/components/forms/fields/RelatedModelField.tsx:318 msgid "No results found" msgstr "" @@ -569,54 +613,51 @@ msgstr "" msgid "Thumbnail" msgstr "" -#: src/components/items/ActionDropdown.tsx:112 -#: src/pages/build/BuildDetail.tsx:354 +#: src/components/items/ActionDropdown.tsx:119 +#: src/pages/build/BuildDetail.tsx:360 msgid "Barcode Actions" msgstr "" -#: src/components/items/ActionDropdown.tsx:129 +#: src/components/items/ActionDropdown.tsx:136 msgid "View" msgstr "" -#: src/components/items/ActionDropdown.tsx:130 +#: src/components/items/ActionDropdown.tsx:137 msgid "View barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:146 +#: src/components/items/ActionDropdown.tsx:153 msgid "Link Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:147 +#: src/components/items/ActionDropdown.tsx:154 msgid "Link custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:163 -#: src/forms/PurchaseOrderForms.tsx:375 +#: src/components/items/ActionDropdown.tsx:170 +#: src/forms/PurchaseOrderForms.tsx:389 msgid "Unlink Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:164 +#: src/components/items/ActionDropdown.tsx:171 msgid "Unlink custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:182 +#: src/components/items/ActionDropdown.tsx:189 #: src/tables/RowActions.tsx:51 -#: src/tables/settings/TemplateTable.tsx:87 -#: src/tables/settings/TemplateTable.tsx:150 -#: src/tables/settings/TemplateTable.tsx:287 msgid "Edit" msgstr "" -#: src/components/items/ActionDropdown.tsx:204 +#: src/components/items/ActionDropdown.tsx:211 msgid "Delete item" msgstr "" -#: src/components/items/ActionDropdown.tsx:241 +#: src/components/items/ActionDropdown.tsx:248 #: src/tables/RowActions.tsx:31 msgid "Duplicate" msgstr "" -#: src/components/items/ActionDropdown.tsx:242 +#: src/components/items/ActionDropdown.tsx:249 msgid "Duplicate item" msgstr "" @@ -625,7 +666,7 @@ msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:437 +#: src/tables/InvenTreeTable.tsx:443 msgid "Unknown error" msgstr "" @@ -785,27 +826,27 @@ msgstr "" #: src/components/modals/QrCodeModal.tsx:154 #: src/defaults/menuItems.tsx:21 -#: src/pages/Index/Scan.tsx:747 +#: src/pages/Index/Scan.tsx:746 msgid "Scanning" msgstr "" #: src/components/modals/QrCodeModal.tsx:154 -#: src/pages/Index/Scan.tsx:747 +#: src/pages/Index/Scan.tsx:746 msgid "Not scanning" msgstr "" #: src/components/modals/QrCodeModal.tsx:159 -#: src/pages/Index/Scan.tsx:753 +#: src/pages/Index/Scan.tsx:752 msgid "Select Camera" msgstr "" #: src/components/modals/QrCodeModal.tsx:169 -#: src/pages/Index/Scan.tsx:738 +#: src/pages/Index/Scan.tsx:737 msgid "Start scanning" msgstr "" #: src/components/modals/QrCodeModal.tsx:176 -#: src/pages/Index/Scan.tsx:730 +#: src/pages/Index/Scan.tsx:729 msgid "Stop scanning" msgstr "" @@ -891,8 +932,8 @@ msgid "Email settings not configured" msgstr "" #: src/components/modals/ServerInfoModal.tsx:121 -#: src/tables/plugin/PluginListTable.tsx:187 -#: src/tables/plugin/PluginListTable.tsx:319 +#: src/tables/plugin/PluginListTable.tsx:144 +#: src/tables/plugin/PluginListTable.tsx:294 msgid "Version" msgstr "" @@ -926,13 +967,13 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:293 +#: src/pages/Index/Settings/SystemSettings.tsx:294 msgid "System Settings" msgstr "" #: src/components/nav/MainMenu.tsx:67 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:172 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 msgid "Admin Center" msgstr "" @@ -975,7 +1016,7 @@ msgid "Pages" msgstr "" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:133 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:153 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "" @@ -1013,9 +1054,9 @@ msgid "Mark as read" msgstr "" #: src/components/nav/PartCategoryTree.tsx:158 -#: src/components/render/ModelType.tsx:60 +#: src/components/render/ModelType.tsx:64 #: src/pages/Index/Settings/SystemSettings.tsx:162 -#: src/pages/part/CategoryDetail.tsx:248 +#: src/pages/part/CategoryDetail.tsx:249 msgid "Part Categories" msgstr "" @@ -1052,142 +1093,147 @@ msgid "No results available for search query" msgstr "" #: src/components/nav/StockLocationTree.tsx:93 -#: src/components/render/ModelType.tsx:76 -#: src/pages/stock/LocationDetail.tsx:175 +#: src/components/render/ModelType.tsx:82 +#: src/pages/stock/LocationDetail.tsx:185 msgid "Stock Locations" msgstr "" -#: src/components/render/Instance.tsx:137 +#: src/components/render/Instance.tsx:166 msgid "Unknown model: {model}" msgstr "" -#: src/components/render/ModelType.tsx:21 -#: src/forms/BuildForms.tsx:184 -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49 +#: src/components/render/ModelType.tsx:22 +#: src/forms/BuildForms.tsx:201 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:83 #: src/pages/part/PartDetail.tsx:828 #: src/tables/part/RelatedPartTable.tsx:45 +#: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" msgstr "" -#: src/components/render/ModelType.tsx:22 +#: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 #: src/pages/Index/Settings/SystemSettings.tsx:167 -#: src/pages/part/CategoryDetail.tsx:109 -#: src/pages/part/CategoryDetail.tsx:234 -#: src/pages/part/CategoryDetail.tsx:264 -#: src/pages/part/PartDetail.tsx:638 +#: src/pages/part/CategoryDetail.tsx:110 +#: src/pages/part/CategoryDetail.tsx:235 +#: src/pages/part/CategoryDetail.tsx:265 +#: src/pages/part/PartDetail.tsx:639 msgid "Parts" msgstr "" -#: src/components/render/ModelType.tsx:29 +#: src/components/render/ModelType.tsx:31 msgid "Part Parameter Template" msgstr "" -#: src/components/render/ModelType.tsx:30 +#: src/components/render/ModelType.tsx:32 msgid "Part Parameter Templates" msgstr "" -#: src/components/render/ModelType.tsx:36 +#: src/components/render/ModelType.tsx:38 msgid "Part Test Template" msgstr "" -#: src/components/render/ModelType.tsx:37 +#: src/components/render/ModelType.tsx:39 msgid "Part Test Templates" msgstr "" -#: src/components/render/ModelType.tsx:43 -#: src/pages/company/SupplierPartDetail.tsx:189 -#: src/pages/company/SupplierPartDetail.tsx:317 -#: src/pages/stock/StockDetail.tsx:159 +#: src/components/render/ModelType.tsx:45 +#: src/pages/company/SupplierPartDetail.tsx:190 +#: src/pages/company/SupplierPartDetail.tsx:318 +#: src/pages/stock/StockDetail.tsx:162 #: src/tables/purchasing/SupplierPartTable.tsx:68 msgid "Supplier Part" msgstr "" -#: src/components/render/ModelType.tsx:44 +#: src/components/render/ModelType.tsx:46 msgid "Supplier Parts" msgstr "" -#: src/components/render/ModelType.tsx:51 -#: src/pages/company/ManufacturerPartDetail.tsx:124 +#: src/components/render/ModelType.tsx:54 +#: src/pages/company/ManufacturerPartDetail.tsx:125 msgid "Manufacturer Part" msgstr "" -#: src/components/render/ModelType.tsx:52 +#: src/components/render/ModelType.tsx:55 msgid "Manufacturer Parts" msgstr "" -#: src/components/render/ModelType.tsx:59 -#: src/pages/part/CategoryDetail.tsx:287 +#: src/components/render/ModelType.tsx:63 +#: src/pages/part/CategoryDetail.tsx:288 msgid "Part Category" msgstr "" -#: src/components/render/ModelType.tsx:67 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67 -#: src/pages/stock/StockDetail.tsx:535 +#: src/components/render/ModelType.tsx:72 +#: src/pages/stock/StockDetail.tsx:548 +#: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" msgstr "" -#: src/components/render/ModelType.tsx:68 -#: src/pages/company/CompanyDetail.tsx:197 -#: src/pages/stock/LocationDetail.tsx:116 -#: src/pages/stock/LocationDetail.tsx:161 +#: src/components/render/ModelType.tsx:73 +#: src/pages/company/CompanyDetail.tsx:199 +#: src/pages/stock/LocationDetail.tsx:118 +#: src/pages/stock/LocationDetail.tsx:171 #: src/pages/stock/LocationDetail.tsx:365 msgid "Stock Items" msgstr "" -#: src/components/render/ModelType.tsx:75 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:154 +#: src/components/render/ModelType.tsx:81 msgid "Stock Location" msgstr "" -#: src/components/render/ModelType.tsx:83 +#: src/components/render/ModelType.tsx:90 +msgid "Stock Location Type" +msgstr "" + +#: src/components/render/ModelType.tsx:91 +msgid "Stock Location Types" +msgstr "" + +#: src/components/render/ModelType.tsx:95 msgid "Stock History" msgstr "" -#: src/components/render/ModelType.tsx:84 +#: src/components/render/ModelType.tsx:96 msgid "Stock Histories" msgstr "" -#: src/components/render/ModelType.tsx:88 +#: src/components/render/ModelType.tsx:100 #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:43 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:126 msgid "Build" msgstr "" -#: src/components/render/ModelType.tsx:89 +#: src/components/render/ModelType.tsx:101 msgid "Builds" msgstr "" -#: src/components/render/ModelType.tsx:96 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:76 +#: src/components/render/ModelType.tsx:109 msgid "Build Line" msgstr "" -#: src/components/render/ModelType.tsx:97 +#: src/components/render/ModelType.tsx:110 msgid "Build Lines" msgstr "" -#: src/components/render/ModelType.tsx:104 -#: src/pages/company/CompanyDetail.tsx:321 +#: src/components/render/ModelType.tsx:117 +#: src/pages/company/CompanyDetail.tsx:323 msgid "Company" msgstr "" -#: src/components/render/ModelType.tsx:105 +#: src/components/render/ModelType.tsx:118 msgid "Companies" msgstr "" -#: src/components/render/ModelType.tsx:112 +#: src/components/render/ModelType.tsx:126 #: src/tables/TableHoverCard.tsx:58 #: src/tables/build/BuildOrderTable.tsx:131 #: src/tables/purchasing/PurchaseOrderTable.tsx:64 @@ -1196,170 +1242,199 @@ msgstr "" msgid "Project Code" msgstr "" -#: src/components/render/ModelType.tsx:113 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:97 +#: src/components/render/ModelType.tsx:127 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:105 msgid "Project Codes" msgstr "" -#: src/components/render/ModelType.tsx:119 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99 +#: src/components/render/ModelType.tsx:133 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:355 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:362 +#: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" msgstr "" -#: src/components/render/ModelType.tsx:120 -#: src/pages/Index/Settings/SystemSettings.tsx:242 -#: src/pages/company/CompanyDetail.tsx:190 -#: src/pages/company/SupplierPartDetail.tsx:223 -#: src/pages/part/PartDetail.tsx:571 +#: src/components/render/ModelType.tsx:134 +#: src/pages/Index/Settings/SystemSettings.tsx:243 +#: src/pages/company/CompanyDetail.tsx:192 +#: src/pages/company/SupplierPartDetail.tsx:224 +#: src/pages/part/PartDetail.tsx:572 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" -#: src/components/render/ModelType.tsx:127 +#: src/components/render/ModelType.tsx:142 msgid "Purchase Order Line" msgstr "" -#: src/components/render/ModelType.tsx:128 +#: src/components/render/ModelType.tsx:143 msgid "Purchase Order Lines" msgstr "" -#: src/components/render/ModelType.tsx:132 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:108 +#: src/components/render/ModelType.tsx:147 #: src/pages/build/BuildDetail.tsx:131 -#: src/pages/sales/SalesOrderDetail.tsx:340 -#: src/pages/stock/StockDetail.tsx:207 +#: src/pages/sales/SalesOrderDetail.tsx:347 +#: src/pages/stock/StockDetail.tsx:210 +#: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" msgstr "" -#: src/components/render/ModelType.tsx:133 -#: src/pages/Index/Settings/SystemSettings.tsx:257 -#: src/pages/company/CompanyDetail.tsx:210 -#: src/pages/part/PartDetail.tsx:577 +#: src/components/render/ModelType.tsx:148 +#: src/pages/Index/Settings/SystemSettings.tsx:258 +#: src/pages/company/CompanyDetail.tsx:212 +#: src/pages/part/PartDetail.tsx:578 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" -#: src/components/render/ModelType.tsx:140 +#: src/components/render/ModelType.tsx:156 msgid "Sales Order Shipment" msgstr "" -#: src/components/render/ModelType.tsx:141 +#: src/components/render/ModelType.tsx:157 msgid "Sales Order Shipments" msgstr "" -#: src/components/render/ModelType.tsx:147 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:117 -#: src/pages/sales/ReturnOrderDetail.tsx:318 +#: src/components/render/ModelType.tsx:163 +#: src/pages/sales/ReturnOrderDetail.tsx:325 +#: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "" -#: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:272 -#: src/pages/company/CompanyDetail.tsx:217 +#: src/components/render/ModelType.tsx:164 +#: src/pages/Index/Settings/SystemSettings.tsx:273 +#: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" msgstr "" -#: src/components/render/ModelType.tsx:155 +#: src/components/render/ModelType.tsx:172 #: src/tables/company/AddressTable.tsx:47 msgid "Address" msgstr "" -#: src/components/render/ModelType.tsx:156 -#: src/pages/company/CompanyDetail.tsx:247 +#: src/components/render/ModelType.tsx:173 +#: src/pages/company/CompanyDetail.tsx:249 msgid "Addresses" msgstr "" -#: src/components/render/ModelType.tsx:162 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:189 -#: src/pages/sales/ReturnOrderDetail.tsx:157 -#: src/pages/sales/SalesOrderDetail.tsx:161 +#: src/components/render/ModelType.tsx:179 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:191 +#: src/pages/sales/ReturnOrderDetail.tsx:159 +#: src/pages/sales/SalesOrderDetail.tsx:163 msgid "Contact" msgstr "" -#: src/components/render/ModelType.tsx:163 -#: src/pages/company/CompanyDetail.tsx:241 +#: src/components/render/ModelType.tsx:180 +#: src/pages/company/CompanyDetail.tsx:243 msgid "Contacts" msgstr "" -#: src/components/render/ModelType.tsx:169 +#: src/components/render/ModelType.tsx:186 msgid "Owner" msgstr "" -#: src/components/render/ModelType.tsx:170 +#: src/components/render/ModelType.tsx:187 msgid "Owners" msgstr "" -#: src/components/render/ModelType.tsx:176 +#: src/components/render/ModelType.tsx:193 +#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "" -#: src/components/render/ModelType.tsx:177 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:73 +#: src/components/render/ModelType.tsx:194 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:81 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "" -#: src/components/render/Order.tsx:87 +#: src/components/render/ModelType.tsx:200 +msgid "Label Template" +msgstr "" + +#: src/components/render/ModelType.tsx:201 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:135 +msgid "Label Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:207 +msgid "Report Template" +msgstr "" + +#: src/components/render/ModelType.tsx:208 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:141 +msgid "Report Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:214 +msgid "Plugin Configuration" +msgstr "" + +#: src/components/render/ModelType.tsx:215 +msgid "Plugin Configurations" +msgstr "" + +#: src/components/render/Order.tsx:104 msgid "Shipment" msgstr "" -#: src/components/render/Part.tsx:12 +#: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:198 -#: src/pages/part/PartDetail.tsx:491 +#: src/pages/Index/Settings/SystemSettings.tsx:199 +#: src/pages/part/PartDetail.tsx:492 #: src/pages/stock/LocationDetail.tsx:344 -#: src/pages/stock/StockDetail.tsx:344 +#: src/pages/stock/StockDetail.tsx:352 #: src/tables/stock/StockItemTable.tsx:57 msgid "Stock" msgstr "" -#: src/components/render/Stock.tsx:26 -#: src/pages/stock/StockDetail.tsx:142 -#: src/pages/stock/StockDetail.tsx:501 +#: src/components/render/Stock.tsx:52 +#: src/pages/stock/StockDetail.tsx:145 +#: src/pages/stock/StockDetail.tsx:514 msgid "Serial Number" msgstr "" -#: src/components/render/Stock.tsx:28 -#: src/forms/BuildForms.tsx:189 +#: src/components/render/Stock.tsx:54 +#: src/forms/BuildForms.tsx:206 #: src/pages/part/pricing/BomPricingPanel.tsx:144 -#: src/pages/part/pricing/PriceBreakPanel.tsx:96 -#: src/pages/stock/StockDetail.tsx:137 -#: src/pages/stock/StockDetail.tsx:507 +#: src/pages/part/pricing/PriceBreakPanel.tsx:94 +#: src/pages/stock/StockDetail.tsx:140 +#: src/pages/stock/StockDetail.tsx:520 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:73 +#: src/tables/stock/StockTrackingTable.tsx:59 msgid "Quantity" msgstr "" -#: src/components/settings/SettingItem.tsx:46 -#: src/components/settings/SettingItem.tsx:99 -msgid "Setting updated" -msgstr "" - #: src/components/settings/SettingItem.tsx:47 #: src/components/settings/SettingItem.tsx:100 -msgid "{0} updated successfully" -msgstr "" +#~ msgid "{0} updated successfully" +#~ msgstr "{0} updated successfully" -#: src/components/settings/SettingItem.tsx:55 -msgid "Error editing setting" -msgstr "" - -#: src/components/settings/SettingItem.tsx:92 +#: src/components/settings/SettingList.tsx:67 msgid "Edit Setting" msgstr "" -#: src/components/settings/SettingList.tsx:63 -msgid "No settings specified" +#: src/components/settings/SettingList.tsx:78 +#: src/components/settings/SettingList.tsx:108 +msgid "Setting {0} updated successfully" msgstr "" -#: src/components/tables/ColumnRenderers.tsx:134 -#~ msgid "Shipment Date" -#~ msgstr "Shipment Date" +#: src/components/settings/SettingList.tsx:107 +msgid "Setting updated" +msgstr "" + +#: src/components/settings/SettingList.tsx:117 +msgid "Error editing setting" +msgstr "" + +#: src/components/settings/SettingList.tsx:158 +msgid "No settings specified" +msgstr "" #: src/components/tables/FilterGroup.tsx:29 #~ msgid "Add table filter" @@ -1731,10 +1806,6 @@ msgstr "" #~ msgid "This is a test filter" #~ msgstr "This is a test filter" -#: src/components/tables/stock/StockLocationTable.tsx:91 -#~ msgid "Location Type" -#~ msgstr "Location Type" - #: src/components/tables/stock/StockLocationTable.tsx:145 #~ msgid "Stock location updated" #~ msgstr "Stock location updated" @@ -2072,7 +2143,7 @@ msgstr "" #~ msgstr "Local Server" #: src/defaults/links.tsx:11 -#: src/pages/company/CompanyDetail.tsx:90 +#: src/pages/company/CompanyDetail.tsx:92 msgid "Website" msgstr "" @@ -2087,10 +2158,10 @@ msgstr "" #: src/defaults/links.tsx:31 #: src/defaults/menuItems.tsx:48 #: src/pages/company/ManufacturerDetail.tsx:9 -#: src/pages/company/ManufacturerPartDetail.tsx:231 +#: src/pages/company/ManufacturerPartDetail.tsx:235 #: src/pages/company/SupplierDetail.tsx:9 -#: src/pages/company/SupplierPartDetail.tsx:291 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:358 +#: src/pages/company/SupplierPartDetail.tsx:292 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:365 #: src/pages/purchasing/PurchasingIndex.tsx:52 msgid "Purchasing" msgstr "" @@ -2098,15 +2169,15 @@ msgstr "" #: src/defaults/links.tsx:32 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:323 +#: src/pages/sales/ReturnOrderDetail.tsx:330 #: src/pages/sales/SalesIndex.tsx:45 -#: src/pages/sales/SalesOrderDetail.tsx:345 +#: src/pages/sales/SalesOrderDetail.tsx:352 msgid "Sales" msgstr "" #: src/defaults/links.tsx:35 #: src/defaults/menuItems.tsx:71 -#: src/pages/Index/Playground.tsx:239 +#: src/pages/Index/Playground.tsx:238 msgid "Playground" msgstr "" @@ -2240,87 +2311,83 @@ msgstr "" #~ msgstr "Combusken battles with the intensely hot flames it spews" #: src/forms/AttachmentForms.tsx:57 -msgid "Add File" -msgstr "" +#~ msgid "Add File" +#~ msgstr "Add File" #: src/forms/AttachmentForms.tsx:57 -msgid "Add Link" -msgstr "" +#~ msgid "Add Link" +#~ msgstr "Add Link" #: src/forms/AttachmentForms.tsx:58 -msgid "File added" -msgstr "" +#~ msgid "File added" +#~ msgstr "File added" #: src/forms/AttachmentForms.tsx:58 -msgid "Link added" -msgstr "" +#~ msgid "Link added" +#~ msgstr "Link added" #: src/forms/AttachmentForms.tsx:99 -msgid "Edit File" -msgstr "" +#~ msgid "Edit File" +#~ msgstr "Edit File" #: src/forms/AttachmentForms.tsx:99 -msgid "Edit Link" -msgstr "" +#~ msgid "Edit Link" +#~ msgstr "Edit Link" #: src/forms/AttachmentForms.tsx:100 -msgid "File updated" -msgstr "" +#~ msgid "File updated" +#~ msgstr "File updated" #: src/forms/AttachmentForms.tsx:100 -msgid "Link updated" -msgstr "" - -#: src/forms/AttachmentForms.tsx:124 -msgid "Delete Attachment" -msgstr "" +#~ msgid "Link updated" +#~ msgstr "Link updated" #: src/forms/AttachmentForms.tsx:125 -msgid "Attachment deleted" -msgstr "" +#~ msgid "Attachment deleted" +#~ msgstr "Attachment deleted" #: src/forms/AttachmentForms.tsx:128 -msgid "Are you sure you want to delete this attachment?" -msgstr "" +#~ msgid "Are you sure you want to delete this attachment?" +#~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BuildForms.tsx:129 +#: src/forms/BuildForms.tsx:146 msgid "Next serial number" msgstr "" -#: src/forms/BuildForms.tsx:133 +#: src/forms/BuildForms.tsx:150 msgid "Latest serial number" msgstr "" -#: src/forms/BuildForms.tsx:205 +#: src/forms/BuildForms.tsx:222 msgid "Remove output" msgstr "" -#: src/forms/BuildForms.tsx:287 +#: src/forms/BuildForms.tsx:304 msgid "Complete Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:291 +#: src/forms/BuildForms.tsx:308 msgid "Build outputs have been completed" msgstr "" -#: src/forms/BuildForms.tsx:360 +#: src/forms/BuildForms.tsx:377 msgid "Scrap Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:364 +#: src/forms/BuildForms.tsx:381 msgid "Build outputs have been scrapped" msgstr "" -#: src/forms/BuildForms.tsx:396 -#: src/forms/BuildForms.tsx:420 +#: src/forms/BuildForms.tsx:413 +#: src/forms/BuildForms.tsx:437 msgid "Cancel Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:397 +#: src/forms/BuildForms.tsx:414 msgid "Selected build outputs will be deleted" msgstr "" -#: src/forms/BuildForms.tsx:424 +#: src/forms/BuildForms.tsx:441 msgid "Build outputs have been cancelled" msgstr "" @@ -2344,76 +2411,76 @@ msgstr "" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PurchaseOrderForms.tsx:265 +#: src/forms/PurchaseOrderForms.tsx:279 msgid "Choose Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:273 +#: src/forms/PurchaseOrderForms.tsx:287 msgid "Item Destination selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:282 +#: src/forms/PurchaseOrderForms.tsx:296 msgid "Part category default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:292 +#: src/forms/PurchaseOrderForms.tsx:306 msgid "Received stock location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:297 +#: src/forms/PurchaseOrderForms.tsx:311 msgid "Default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:308 -#: src/forms/PurchaseOrderForms.tsx:384 +#: src/forms/PurchaseOrderForms.tsx:322 +#: src/forms/PurchaseOrderForms.tsx:398 msgid "Scan Barcode" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:352 +#: src/forms/PurchaseOrderForms.tsx:366 msgid "Set Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:359 +#: src/forms/PurchaseOrderForms.tsx:373 msgid "Assign Batch Code{0}" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:368 +#: src/forms/PurchaseOrderForms.tsx:382 msgid "Change Status" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:393 -#: src/forms/StockForms.tsx:351 +#: src/forms/PurchaseOrderForms.tsx:407 +#: src/forms/StockForms.tsx:392 msgid "Remove item from list" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:418 -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:58 -#: src/pages/stock/StockDetail.tsx:167 -#: src/tables/ColumnRenderers.tsx:42 +#: src/forms/PurchaseOrderForms.tsx:432 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/pages/stock/StockDetail.tsx:170 +#: src/tables/ColumnRenderers.tsx:34 +#: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:434 +#: src/forms/PurchaseOrderForms.tsx:448 msgid "Store at default location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:447 +#: src/forms/PurchaseOrderForms.tsx:461 msgid "Store at line item destination" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:457 +#: src/forms/PurchaseOrderForms.tsx:471 msgid "Store with already received stock" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:613 +#: src/forms/PurchaseOrderForms.tsx:627 msgid "Receive Line Items" msgstr "" @@ -2421,119 +2488,118 @@ msgstr "" #~ msgid "Receive line items" #~ msgstr "Receive line items" -#: src/forms/StockForms.tsx:69 +#: src/forms/StockForms.tsx:101 msgid "Add given quantity as packs instead of individual items" msgstr "" -#: src/forms/StockForms.tsx:80 -msgid "Enter initial quantity for this stock item" -msgstr "" - -#: src/forms/StockForms.tsx:85 -msgid "Serial Numbers" -msgstr "" - -#: src/forms/StockForms.tsx:86 -msgid "Enter serial numbers for new stock (or leave blank)" -msgstr "" - #: src/forms/StockForms.tsx:110 #~ msgid "Create Stock Item" #~ msgstr "Create Stock Item" -#: src/forms/StockForms.tsx:135 -#: src/pages/stock/StockDetail.tsx:367 -#: src/tables/stock/StockItemTable.tsx:382 -#: src/tables/stock/StockItemTable.tsx:499 -msgid "Add Stock Item" +#: src/forms/StockForms.tsx:114 +msgid "Enter initial quantity for this stock item" +msgstr "" + +#: src/forms/StockForms.tsx:121 +msgid "Serial Numbers" +msgstr "" + +#: src/forms/StockForms.tsx:122 +msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" #: src/forms/StockForms.tsx:158 #~ msgid "Stock item updated" #~ msgstr "Stock item updated" -#: src/forms/StockForms.tsx:298 +#: src/forms/StockForms.tsx:176 +#: src/pages/stock/StockDetail.tsx:375 +#: src/tables/stock/StockItemTable.tsx:382 +#: src/tables/stock/StockItemTable.tsx:499 +msgid "Add Stock Item" +msgstr "" + +#: src/forms/StockForms.tsx:339 msgid "Loading..." msgstr "" -#: src/forms/StockForms.tsx:340 +#: src/forms/StockForms.tsx:381 msgid "Move to default location" msgstr "" -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/part/PartDetail.tsx:205 -#: src/pages/part/PartDetail.tsx:654 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/pages/part/PartDetail.tsx:206 +#: src/pages/part/PartDetail.tsx:655 #: src/tables/stock/StockItemTable.tsx:290 msgid "In Stock" msgstr "" -#: src/forms/StockForms.tsx:408 +#: src/forms/StockForms.tsx:449 msgid "Move" msgstr "" -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/tables/RowActions.tsx:147 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/tables/RowActions.tsx:149 msgid "Actions" msgstr "" -#: src/forms/StockForms.tsx:471 -#: src/pages/stock/StockDetail.tsx:440 -#: src/tables/settings/TemplateTable.tsx:266 -#: src/tables/stock/StockItemTestResultTable.tsx:348 +#: src/forms/StockForms.tsx:512 +#: src/pages/stock/StockDetail.tsx:454 +#: src/tables/stock/StockItemTestResultTable.tsx:339 msgid "Add" msgstr "" -#: src/forms/StockForms.tsx:499 +#: src/forms/StockForms.tsx:540 #: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:430 +#: src/pages/stock/StockDetail.tsx:444 msgid "Count" msgstr "" -#: src/forms/StockForms.tsx:744 +#: src/forms/StockForms.tsx:785 msgid "Add Stock" msgstr "" -#: src/forms/StockForms.tsx:753 +#: src/forms/StockForms.tsx:794 msgid "Remove Stock" msgstr "" -#: src/forms/StockForms.tsx:762 -#: src/pages/part/PartDetail.tsx:781 +#: src/forms/StockForms.tsx:803 +#: src/pages/part/PartDetail.tsx:782 msgid "Transfer Stock" msgstr "" -#: src/forms/StockForms.tsx:771 -#: src/pages/part/PartDetail.tsx:770 +#: src/forms/StockForms.tsx:812 +#: src/pages/part/PartDetail.tsx:771 msgid "Count Stock" msgstr "" -#: src/forms/StockForms.tsx:780 +#: src/forms/StockForms.tsx:821 msgid "Change Stock Status" msgstr "" -#: src/forms/StockForms.tsx:789 +#: src/forms/StockForms.tsx:830 msgid "Merge Stock" msgstr "" -#: src/forms/StockForms.tsx:808 +#: src/forms/StockForms.tsx:849 msgid "Delete Stock Items" msgstr "" -#: src/forms/StockForms.tsx:815 +#: src/forms/StockForms.tsx:856 msgid "Parent stock location" msgstr "" @@ -2728,7 +2794,7 @@ msgstr "" msgid "Welcome to your Dashboard{0}" msgstr "" -#: src/pages/Index/Playground.tsx:244 +#: src/pages/Index/Playground.tsx:243 msgid "This page is a showcase for the possibilities of Platform UI." msgstr "" @@ -3138,49 +3204,53 @@ msgstr "" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:79 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:87 msgid "Background Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:85 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:93 msgid "Error Reports" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:91 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:99 msgid "Currencies" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:109 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:117 msgid "Custom Units" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:115 -#: src/pages/part/CategoryDetail.tsx:254 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:123 +#: src/pages/part/CategoryDetail.tsx:255 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:121 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 +#~ msgid "Templates" +#~ msgstr "Templates" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:129 msgid "Category Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 -msgid "Templates" +#: src/pages/Index/Settings/AdminCenter/Index.tsx:147 +msgid "Location types" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:139 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:159 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:149 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:169 msgid "Quick Actions" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:154 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 msgid "Add a new user" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:173 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:193 msgid "Advanced Options" msgstr "" @@ -3225,26 +3295,32 @@ msgstr "" msgid "Plugin Settings" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:25 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:53 +msgid "Background Worker Not Running" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:54 +msgid "The background task manager service is not running. Contact your system administrator." +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:60 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:76 msgid "Pending Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:33 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:64 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:84 msgid "Scheduled Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:41 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:68 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:92 msgid "Failed Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:139 -msgid "Labels" -msgstr "" - #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:39 -msgid "Label" -msgstr "" +#~ msgid "Label" +#~ msgstr "Label" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67 #~ msgid "Stock item" @@ -3255,13 +3331,13 @@ msgstr "" #~ msgstr "Build line" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:88 -msgid "Reports" -msgstr "" +#~ msgid "Reports" +#~ msgstr "Reports" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:89 #: src/pages/build/BuildDetail.tsx:373 -msgid "Report" -msgstr "" +#~ msgid "Report" +#~ msgstr "Report" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99 #~ msgid "Purchase order" @@ -3275,14 +3351,9 @@ msgstr "" #~ msgid "Return order" #~ msgstr "Return order" -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135 -#: src/pages/part/PartDetail.tsx:518 -msgid "Bill of Materials" -msgstr "" - #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:145 -msgid "Tests" -msgstr "" +#~ msgid "Tests" +#~ msgstr "Tests" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:154 #~ msgid "Stock location" @@ -3321,26 +3392,30 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" +#: src/pages/Index/Settings/SystemSettings.tsx:139 +msgid "Labels" +msgstr "" + #: src/pages/Index/Settings/SystemSettings.tsx:145 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:223 -#: src/pages/part/PartDetail.tsx:589 +#: src/pages/Index/Settings/SystemSettings.tsx:224 +#: src/pages/part/PartDetail.tsx:590 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:228 -#: src/pages/build/BuildDetail.tsx:426 +#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:525 -#: src/pages/sales/SalesOrderDetail.tsx:263 +#: src/pages/part/PartDetail.tsx:526 +#: src/pages/sales/SalesOrderDetail.tsx:265 msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:296 +#: src/pages/Index/Settings/SystemSettings.tsx:297 msgid "Switch to User Setting" msgstr "" @@ -3397,44 +3472,47 @@ msgstr "" #~ msgstr "Build Status" #: src/pages/build/BuildDetail.tsx:89 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:128 -#: src/pages/sales/ReturnOrderDetail.tsx:95 -#: src/pages/sales/SalesOrderDetail.tsx:99 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:130 +#: src/pages/sales/ReturnOrderDetail.tsx:97 +#: src/pages/sales/SalesOrderDetail.tsx:101 #: src/tables/build/BuildOrderTable.tsx:113 #: src/tables/machine/MachineListTable.tsx:326 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderTable.tsx:46 #: src/tables/sales/SalesOrderTable.tsx:52 #: src/tables/stock/StockItemTable.tsx:259 +#: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "" #: src/pages/build/BuildDetail.tsx:95 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:101 -#: src/pages/sales/ReturnOrderDetail.tsx:69 -#: src/pages/sales/SalesOrderDetail.tsx:73 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:103 +#: src/pages/sales/ReturnOrderDetail.tsx:71 +#: src/pages/sales/SalesOrderDetail.tsx:75 +#: src/tables/ColumnRenderers.tsx:106 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" msgstr "" #: src/pages/build/BuildDetail.tsx:100 -#: src/pages/company/CompanyDetail.tsx:84 -#: src/pages/company/ManufacturerPartDetail.tsx:75 -#: src/pages/company/SupplierPartDetail.tsx:82 -#: src/pages/part/CategoryDetail.tsx:91 -#: src/pages/part/PartDetail.tsx:132 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:122 -#: src/pages/sales/ReturnOrderDetail.tsx:89 -#: src/pages/sales/SalesOrderDetail.tsx:93 -#: src/pages/stock/LocationDetail.tsx:97 -#: src/tables/ColumnRenderers.tsx:95 +#: src/pages/company/CompanyDetail.tsx:86 +#: src/pages/company/ManufacturerPartDetail.tsx:76 +#: src/pages/company/SupplierPartDetail.tsx:83 +#: src/pages/part/CategoryDetail.tsx:92 +#: src/pages/part/PartDetail.tsx:133 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:124 +#: src/pages/sales/ReturnOrderDetail.tsx:91 +#: src/pages/sales/SalesOrderDetail.tsx:95 +#: src/pages/stock/LocationDetail.tsx:99 +#: src/tables/ColumnRenderers.tsx:66 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 #: src/tables/machine/MachineTypeTable.tsx:323 #: src/tables/part/RelatedPartTable.tsx:64 -#: src/tables/plugin/PluginListTable.tsx:172 -#: src/tables/plugin/PluginListTable.tsx:302 +#: src/tables/plugin/PluginListTable.tsx:129 +#: src/tables/plugin/PluginListTable.tsx:276 +#: src/tables/stock/LocationTypesTable.tsx:65 msgid "Description" msgstr "" @@ -3447,7 +3525,7 @@ msgid "Build Quantity" msgstr "" #: src/pages/build/BuildDetail.tsx:126 -#: src/pages/build/BuildDetail.tsx:249 +#: src/pages/build/BuildDetail.tsx:256 msgid "Completed Outputs" msgstr "" @@ -3457,10 +3535,10 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:150 -#: src/pages/part/PartDetail.tsx:320 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:214 -#: src/pages/sales/ReturnOrderDetail.tsx:182 -#: src/pages/sales/SalesOrderDetail.tsx:186 +#: src/pages/part/PartDetail.tsx:321 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:184 +#: src/pages/sales/SalesOrderDetail.tsx:188 #: src/tables/build/BuildOrderTable.tsx:148 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 @@ -3474,10 +3552,10 @@ msgid "Created" msgstr "" #: src/pages/build/BuildDetail.tsx:164 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:207 -#: src/pages/sales/ReturnOrderDetail.tsx:175 -#: src/pages/sales/SalesOrderDetail.tsx:179 -#: src/tables/ColumnRenderers.tsx:227 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:209 +#: src/pages/sales/ReturnOrderDetail.tsx:177 +#: src/pages/sales/SalesOrderDetail.tsx:181 +#: src/tables/ColumnRenderers.tsx:191 msgid "Target Date" msgstr "" @@ -3513,6 +3591,11 @@ msgstr "" #~ msgid "Unlink custom barcode from part" #~ msgstr "Unlink custom barcode from part" +#: src/pages/build/BuildDetail.tsx:197 +#: src/pages/stock/StockDetail.tsx:526 +msgid "Batch Code" +msgstr "" + #: src/pages/build/BuildDetail.tsx:202 #~ msgid "Build Order updated" #~ msgstr "Build Order updated" @@ -3521,86 +3604,87 @@ msgstr "" #~ msgid "Edit build order" #~ msgstr "Edit build order" -#: src/pages/build/BuildDetail.tsx:222 -msgid "Build Details" -msgstr "" - #: src/pages/build/BuildDetail.tsx:226 #~ msgid "Duplicate build order" #~ msgstr "Duplicate build order" -#: src/pages/build/BuildDetail.tsx:228 -#: src/tables/build/BuildLineTable.tsx:225 -msgid "Allocate Stock" +#: src/pages/build/BuildDetail.tsx:229 +msgid "Build Details" msgstr "" #: src/pages/build/BuildDetail.tsx:231 #~ msgid "Delete build order" #~ msgstr "Delete build order" -#: src/pages/build/BuildDetail.tsx:242 +#: src/pages/build/BuildDetail.tsx:235 +#: src/tables/build/BuildLineTable.tsx:225 +msgid "Allocate Stock" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:249 msgid "Incomplete Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:264 +#: src/pages/build/BuildDetail.tsx:271 msgid "Consumed Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:278 +#: src/pages/build/BuildDetail.tsx:285 msgid "Child Build Orders" msgstr "" -#: src/pages/build/BuildDetail.tsx:288 -#: src/pages/company/CompanyDetail.tsx:253 -#: src/pages/company/ManufacturerPartDetail.tsx:171 -#: src/pages/part/PartDetail.tsx:611 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:276 -#: src/pages/sales/ReturnOrderDetail.tsx:225 -#: src/pages/sales/SalesOrderDetail.tsx:273 -#: src/pages/stock/StockDetail.tsx:317 +#: src/pages/build/BuildDetail.tsx:295 +#: src/pages/company/CompanyDetail.tsx:255 +#: src/pages/company/ManufacturerPartDetail.tsx:172 +#: src/pages/part/PartDetail.tsx:612 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:278 +#: src/pages/sales/ReturnOrderDetail.tsx:227 +#: src/pages/sales/SalesOrderDetail.tsx:275 +#: src/pages/stock/StockDetail.tsx:325 msgid "Attachments" msgstr "" -#: src/pages/build/BuildDetail.tsx:300 -#: src/pages/company/CompanyDetail.tsx:265 -#: src/pages/part/PartDetail.tsx:623 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:288 -#: src/pages/sales/ReturnOrderDetail.tsx:237 -#: src/pages/sales/SalesOrderDetail.tsx:285 -#: src/pages/stock/StockDetail.tsx:329 +#: src/pages/build/BuildDetail.tsx:307 +#: src/pages/company/CompanyDetail.tsx:267 +#: src/pages/part/PartDetail.tsx:624 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:290 +#: src/pages/sales/ReturnOrderDetail.tsx:239 +#: src/pages/sales/SalesOrderDetail.tsx:287 +#: src/pages/stock/StockDetail.tsx:337 +#: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "" -#: src/pages/build/BuildDetail.tsx:318 +#: src/pages/build/BuildDetail.tsx:325 msgid "Edit Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:327 +#: src/pages/build/BuildDetail.tsx:334 msgid "Cancel Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:339 +#: src/pages/build/BuildDetail.tsx:346 #: src/tables/build/BuildOrderTable.tsx:167 #: src/tables/build/BuildOrderTable.tsx:182 msgid "Add Build Order" msgstr "" #: src/pages/build/BuildDetail.tsx:368 -msgid "Reporting Actions" -msgstr "" +#~ msgid "Reporting Actions" +#~ msgstr "Reporting Actions" #: src/pages/build/BuildDetail.tsx:374 -msgid "Print build report" -msgstr "" +#~ msgid "Print build report" +#~ msgstr "Print build report" -#: src/pages/build/BuildDetail.tsx:380 +#: src/pages/build/BuildDetail.tsx:378 msgid "Build Order Actions" msgstr "" -#: src/pages/build/BuildDetail.tsx:388 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:326 -#: src/pages/sales/ReturnOrderDetail.tsx:300 -#: src/pages/sales/SalesOrderDetail.tsx:310 +#: src/pages/build/BuildDetail.tsx:386 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:333 +#: src/pages/sales/ReturnOrderDetail.tsx:307 +#: src/pages/sales/SalesOrderDetail.tsx:317 msgid "Cancel order" msgstr "" @@ -3612,56 +3696,58 @@ msgstr "" #~ msgid "New Build Order" #~ msgstr "New Build Order" -#: src/pages/company/CompanyDetail.tsx:98 +#: src/pages/company/CompanyDetail.tsx:100 msgid "Phone Number" msgstr "" -#: src/pages/company/CompanyDetail.tsx:105 +#: src/pages/company/CompanyDetail.tsx:107 msgid "Email Address" msgstr "" -#: src/pages/company/CompanyDetail.tsx:115 +#: src/pages/company/CompanyDetail.tsx:117 msgid "Default Currency" msgstr "" -#: src/pages/company/CompanyDetail.tsx:120 +#: src/pages/company/CompanyDetail.tsx:122 #: src/pages/company/SupplierDetail.tsx:8 -#: src/pages/company/SupplierPartDetail.tsx:106 -#: src/pages/company/SupplierPartDetail.tsx:192 -#: src/pages/company/SupplierPartDetail.tsx:295 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:116 +#: src/pages/company/SupplierPartDetail.tsx:107 +#: src/pages/company/SupplierPartDetail.tsx:193 +#: src/pages/company/SupplierPartDetail.tsx:296 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:118 #: src/tables/company/CompanyTable.tsx:100 #: src/tables/purchasing/PurchaseOrderTable.tsx:88 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:36 msgid "Supplier" msgstr "" -#: src/pages/company/CompanyDetail.tsx:126 +#: src/pages/company/CompanyDetail.tsx:128 #: src/pages/company/ManufacturerDetail.tsx:8 -#: src/pages/company/ManufacturerPartDetail.tsx:93 -#: src/pages/company/ManufacturerPartDetail.tsx:235 -#: src/pages/company/SupplierPartDetail.tsx:121 +#: src/pages/company/ManufacturerPartDetail.tsx:94 +#: src/pages/company/ManufacturerPartDetail.tsx:239 +#: src/pages/company/SupplierPartDetail.tsx:122 #: src/tables/company/CompanyTable.tsx:105 msgid "Manufacturer" msgstr "" -#: src/pages/company/CompanyDetail.tsx:132 +#: src/pages/company/CompanyDetail.tsx:134 #: src/pages/company/CustomerDetail.tsx:8 #: src/pages/part/pricing/SaleHistoryPanel.tsx:39 -#: src/pages/sales/ReturnOrderDetail.tsx:83 -#: src/pages/sales/SalesOrderDetail.tsx:87 -#: src/pages/stock/StockDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:85 +#: src/pages/sales/SalesOrderDetail.tsx:89 +#: src/pages/stock/StockDetail.tsx:219 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:107 +#: src/tables/stock/StockTrackingTable.tsx:140 msgid "Customer" msgstr "" -#: src/pages/company/CompanyDetail.tsx:166 +#: src/pages/company/CompanyDetail.tsx:168 +#: src/tables/stock/StockTrackingTable.tsx:183 msgid "Details" msgstr "" -#: src/pages/company/CompanyDetail.tsx:172 +#: src/pages/company/CompanyDetail.tsx:174 msgid "Manufactured Parts" msgstr "" @@ -3669,7 +3755,7 @@ msgstr "" #~ msgid "Edit company" #~ msgstr "Edit company" -#: src/pages/company/CompanyDetail.tsx:181 +#: src/pages/company/CompanyDetail.tsx:183 msgid "Supplied Parts" msgstr "" @@ -3677,289 +3763,289 @@ msgstr "" #~ msgid "Delete company" #~ msgstr "Delete company" -#: src/pages/company/CompanyDetail.tsx:226 +#: src/pages/company/CompanyDetail.tsx:228 msgid "Assigned Stock" msgstr "" -#: src/pages/company/CompanyDetail.tsx:281 +#: src/pages/company/CompanyDetail.tsx:283 #: src/tables/company/CompanyTable.tsx:86 msgid "Edit Company" msgstr "" -#: src/pages/company/CompanyDetail.tsx:290 +#: src/pages/company/CompanyDetail.tsx:292 msgid "Company Actions" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:68 -#: src/pages/company/SupplierPartDetail.tsx:75 +#: src/pages/company/ManufacturerPartDetail.tsx:69 +#: src/pages/company/SupplierPartDetail.tsx:76 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:72 msgid "Internal Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:83 -#: src/pages/company/SupplierPartDetail.tsx:89 +#: src/pages/company/ManufacturerPartDetail.tsx:84 +#: src/pages/company/SupplierPartDetail.tsx:90 msgid "External Link" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:101 -#: src/pages/company/SupplierPartDetail.tsx:130 -#: src/tables/purchasing/ManufacturerPartTable.tsx:53 +#: src/pages/company/ManufacturerPartDetail.tsx:102 +#: src/pages/company/SupplierPartDetail.tsx:131 +#: src/tables/purchasing/ManufacturerPartTable.tsx:56 msgid "Manufacturer Part Number" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:130 +#: src/pages/company/ManufacturerPartDetail.tsx:131 msgid "Manufacturer Details" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:139 +#: src/pages/company/ManufacturerPartDetail.tsx:140 msgid "Manufacturer Part Details" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:145 -#: src/pages/part/PartDetail.tsx:485 +#: src/pages/company/ManufacturerPartDetail.tsx:146 +#: src/pages/part/PartDetail.tsx:486 msgid "Parameters" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:157 -#: src/pages/part/PartDetail.tsx:558 +#: src/pages/company/ManufacturerPartDetail.tsx:158 +#: src/pages/part/PartDetail.tsx:559 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:189 -#: src/tables/purchasing/ManufacturerPartTable.tsx:97 +#: src/pages/company/ManufacturerPartDetail.tsx:190 +#: src/tables/purchasing/ManufacturerPartTable.tsx:84 msgid "Edit Manufacturer Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:196 -#: src/tables/purchasing/ManufacturerPartTable.tsx:63 -#: src/tables/purchasing/ManufacturerPartTable.tsx:78 +#: src/pages/company/ManufacturerPartDetail.tsx:197 +#: src/tables/purchasing/ManufacturerPartTable.tsx:72 +#: src/tables/purchasing/ManufacturerPartTable.tsx:103 msgid "Add Manufacturer Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:209 +#: src/pages/company/ManufacturerPartDetail.tsx:213 msgid "Manufacturer Part Actions" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:247 +#: src/pages/company/ManufacturerPartDetail.tsx:251 msgid "ManufacturerPart" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:96 -#: src/tables/ColumnRenderers.tsx:146 +#: src/pages/company/SupplierPartDetail.tsx:97 +#: src/tables/ColumnRenderers.tsx:117 msgid "Note" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:114 +#: src/pages/company/SupplierPartDetail.tsx:115 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:57 msgid "SKU" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:142 -#: src/pages/company/SupplierPartDetail.tsx:193 -#: src/pages/stock/StockDetail.tsx:230 +#: src/pages/company/SupplierPartDetail.tsx:143 +#: src/pages/company/SupplierPartDetail.tsx:194 +#: src/pages/stock/StockDetail.tsx:233 msgid "Packaging" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:149 +#: src/pages/company/SupplierPartDetail.tsx:150 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:107 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143 #: src/tables/purchasing/SupplierPartTable.tsx:131 msgid "Pack Quantity" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:160 +#: src/pages/company/SupplierPartDetail.tsx:161 msgid "Supplier Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:167 +#: src/pages/company/SupplierPartDetail.tsx:168 msgid "Availability Updated" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:194 +#: src/pages/company/SupplierPartDetail.tsx:195 msgid "Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:203 +#: src/pages/company/SupplierPartDetail.tsx:204 msgid "Supplier Part Details" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:209 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:263 +#: src/pages/company/SupplierPartDetail.tsx:210 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:265 msgid "Received Stock" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:233 +#: src/pages/company/SupplierPartDetail.tsx:234 #: src/pages/part/PartPricingPanel.tsx:115 #: src/pages/part/pricing/PricingOverviewPanel.tsx:130 msgid "Supplier Pricing" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:248 +#: src/pages/company/SupplierPartDetail.tsx:249 msgid "Supplier Part Actions" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:272 +#: src/pages/company/SupplierPartDetail.tsx:273 #: src/tables/purchasing/SupplierPartTable.tsx:210 msgid "Edit Supplier Part" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:279 +#: src/pages/company/SupplierPartDetail.tsx:280 #: src/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "" -#: src/pages/part/CategoryDetail.tsx:83 -#: src/pages/stock/LocationDetail.tsx:89 +#: src/pages/part/CategoryDetail.tsx:84 +#: src/pages/stock/LocationDetail.tsx:91 #: src/tables/settings/ErrorTable.tsx:34 msgid "Path" msgstr "" -#: src/pages/part/CategoryDetail.tsx:99 +#: src/pages/part/CategoryDetail.tsx:100 msgid "Parent Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:116 +#: src/pages/part/CategoryDetail.tsx:117 msgid "Subcategories" msgstr "" -#: src/pages/part/CategoryDetail.tsx:123 -#: src/pages/stock/LocationDetail.tsx:129 -#: src/tables/part/PartCategoryTable.tsx:69 +#: src/pages/part/CategoryDetail.tsx:124 +#: src/pages/stock/LocationDetail.tsx:131 +#: src/tables/part/PartCategoryTable.tsx:65 msgid "Structural" msgstr "" -#: src/pages/part/CategoryDetail.tsx:129 +#: src/pages/part/CategoryDetail.tsx:130 msgid "Parent default location" msgstr "" -#: src/pages/part/CategoryDetail.tsx:136 +#: src/pages/part/CategoryDetail.tsx:137 msgid "Default location" msgstr "" -#: src/pages/part/CategoryDetail.tsx:147 +#: src/pages/part/CategoryDetail.tsx:148 msgid "Top level part category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:157 -#: src/pages/part/CategoryDetail.tsx:211 -#: src/tables/part/PartCategoryTable.tsx:96 +#: src/pages/part/CategoryDetail.tsx:158 +#: src/pages/part/CategoryDetail.tsx:212 +#: src/tables/part/PartCategoryTable.tsx:88 msgid "Edit Part Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:170 -#: src/pages/stock/LocationDetail.tsx:213 +#: src/pages/part/CategoryDetail.tsx:171 +#: src/pages/stock/LocationDetail.tsx:223 msgid "Delete items" msgstr "" -#: src/pages/part/CategoryDetail.tsx:178 -#: src/pages/part/CategoryDetail.tsx:216 +#: src/pages/part/CategoryDetail.tsx:179 +#: src/pages/part/CategoryDetail.tsx:217 msgid "Delete Part Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:181 +#: src/pages/part/CategoryDetail.tsx:182 msgid "Parts Action" msgstr "" -#: src/pages/part/CategoryDetail.tsx:182 +#: src/pages/part/CategoryDetail.tsx:183 msgid "Action for parts in this category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:187 +#: src/pages/part/CategoryDetail.tsx:188 msgid "Child Categories Action" msgstr "" -#: src/pages/part/CategoryDetail.tsx:188 +#: src/pages/part/CategoryDetail.tsx:189 msgid "Action for child categories in this category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:206 +#: src/pages/part/CategoryDetail.tsx:207 msgid "Category Actions" msgstr "" -#: src/pages/part/CategoryDetail.tsx:228 +#: src/pages/part/CategoryDetail.tsx:229 msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:138 +#: src/pages/part/PartDetail.tsx:139 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:145 +#: src/pages/part/PartDetail.tsx:146 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "" -#: src/pages/part/PartDetail.tsx:151 +#: src/pages/part/PartDetail.tsx:152 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:158 +#: src/pages/part/PartDetail.tsx:159 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:165 +#: src/pages/part/PartDetail.tsx:166 msgid "IPN" msgstr "" -#: src/pages/part/PartDetail.tsx:172 +#: src/pages/part/PartDetail.tsx:173 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:179 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39 +#: src/pages/part/PartDetail.tsx:180 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "" -#: src/pages/part/PartDetail.tsx:186 +#: src/pages/part/PartDetail.tsx:187 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:193 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:180 -#: src/pages/sales/ReturnOrderDetail.tsx:148 -#: src/pages/sales/SalesOrderDetail.tsx:152 +#: src/pages/part/PartDetail.tsx:194 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:182 +#: src/pages/sales/ReturnOrderDetail.tsx:150 +#: src/pages/sales/SalesOrderDetail.tsx:154 msgid "Link" msgstr "" -#: src/pages/part/PartDetail.tsx:211 -#: src/tables/bom/BomTable.tsx:269 +#: src/pages/part/PartDetail.tsx:212 +#: src/tables/bom/BomTable.tsx:271 #: src/tables/build/BuildLineTable.tsx:121 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:218 +#: src/pages/part/PartDetail.tsx:219 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:224 -#: src/tables/bom/BomTable.tsx:210 +#: src/pages/part/PartDetail.tsx:225 +#: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:233 +#: src/pages/part/PartDetail.tsx:234 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:241 +#: src/pages/part/PartDetail.tsx:242 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:248 -#: src/tables/bom/BomTable.tsx:234 +#: src/pages/part/PartDetail.tsx:249 +#: src/tables/bom/BomTable.tsx:236 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:255 -#: src/tables/bom/BomTable.tsx:218 +#: src/pages/part/PartDetail.tsx:256 +#: src/tables/bom/BomTable.tsx:220 #: src/tables/part/PartTable.tsx:82 msgid "Building" msgstr "" -#: src/pages/part/PartDetail.tsx:264 +#: src/pages/part/PartDetail.tsx:265 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 @@ -3968,45 +4054,47 @@ msgstr "" #: src/tables/machine/MachineListTable.tsx:585 #: src/tables/part/PartTable.tsx:168 #: src/tables/part/PartVariantTable.tsx:15 -#: src/tables/plugin/PluginListTable.tsx:190 -#: src/tables/plugin/PluginListTable.tsx:638 +#: src/tables/plugin/PluginListTable.tsx:149 +#: src/tables/plugin/PluginListTable.tsx:271 +#: src/tables/plugin/PluginListTable.tsx:563 #: src/tables/purchasing/SupplierPartTable.tsx:98 #: src/tables/purchasing/SupplierPartTable.tsx:187 #: src/tables/stock/StockItemTable.tsx:254 msgid "Active" msgstr "" -#: src/pages/part/PartDetail.tsx:269 +#: src/pages/part/PartDetail.tsx:270 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:274 -#: src/tables/bom/BomTable.tsx:264 +#: src/pages/part/PartDetail.tsx:275 +#: src/tables/bom/BomTable.tsx:266 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:279 +#: src/pages/part/PartDetail.tsx:280 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:284 -#: src/tables/bom/BomTable.tsx:259 +#: src/pages/part/PartDetail.tsx:285 +#: src/tables/bom/BomTable.tsx:261 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:289 +#: src/pages/part/PartDetail.tsx:290 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:294 +#: src/pages/part/PartDetail.tsx:295 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:299 +#: src/pages/part/PartDetail.tsx:300 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:307 +#: src/pages/part/PartDetail.tsx:308 +#: src/tables/ColumnRenderers.tsx:199 msgid "Creation Date" msgstr "" @@ -4014,7 +4102,7 @@ msgstr "" #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:312 +#: src/pages/part/PartDetail.tsx:313 msgid "Created By" msgstr "" @@ -4022,68 +4110,72 @@ msgstr "" #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:327 -msgid "Default Supplier" -msgstr "" - #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:338 +#: src/pages/part/PartDetail.tsx:328 +msgid "Default Supplier" +msgstr "" + +#: src/pages/part/PartDetail.tsx:339 #: src/tables/part/PartTable.tsx:151 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:373 -#: src/pages/stock/StockDetail.tsx:127 +#: src/pages/part/PartDetail.tsx:374 +#: src/pages/stock/StockDetail.tsx:130 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:408 +#: src/pages/part/PartDetail.tsx:409 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:479 +#: src/pages/part/PartDetail.tsx:480 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:505 +#: src/pages/part/PartDetail.tsx:506 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:512 -#: src/pages/stock/StockDetail.tsx:275 +#: src/pages/part/PartDetail.tsx:513 +#: src/pages/stock/StockDetail.tsx:283 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:532 +#: src/pages/part/PartDetail.tsx:519 +msgid "Bill of Materials" +msgstr "" + +#: src/pages/part/PartDetail.tsx:533 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:539 +#: src/pages/part/PartDetail.tsx:540 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:545 +#: src/pages/part/PartDetail.tsx:546 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:584 +#: src/pages/part/PartDetail.tsx:585 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:594 +#: src/pages/part/PartDetail.tsx:595 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:605 +#: src/pages/part/PartDetail.tsx:606 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:660 -#: src/pages/stock/StockDetail.tsx:148 +#: src/pages/part/PartDetail.tsx:661 +#: src/pages/stock/StockDetail.tsx:151 #: src/tables/build/BuildLineTable.tsx:36 #: src/tables/part/PartTable.tsx:107 #: src/tables/stock/StockItemTable.tsx:166 @@ -4091,49 +4183,51 @@ msgstr "" msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:666 +#: src/pages/part/PartDetail.tsx:667 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:672 -#: src/tables/bom/BomTable.tsx:274 +#: src/pages/part/PartDetail.tsx:673 +#: src/tables/bom/BomTable.tsx:276 #: src/tables/part/PartTable.tsx:76 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:678 -#: src/pages/stock/StockDetail.tsx:496 +#: src/pages/part/PartDetail.tsx:679 +#: src/pages/stock/StockDetail.tsx:509 #: src/tables/stock/StockItemTable.tsx:295 msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:697 +#: src/pages/part/PartDetail.tsx:698 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:704 +#: src/pages/part/PartDetail.tsx:705 #: src/tables/part/PartTable.tsx:266 #: src/tables/part/PartTable.tsx:279 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:716 +#: src/pages/part/PartDetail.tsx:717 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:725 +#: src/pages/part/PartDetail.tsx:726 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:763 +#: src/pages/part/PartDetail.tsx:764 +#: src/pages/stock/LocationDetail.tsx:301 +#: src/tables/stock/StockItemTable.tsx:409 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:771 +#: src/pages/part/PartDetail.tsx:772 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:782 +#: src/pages/part/PartDetail.tsx:783 msgid "Transfer part stock" msgstr "" @@ -4199,15 +4293,15 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151 #: src/pages/part/pricing/SupplierPricingPanel.tsx:83 -#: src/tables/bom/BomTable.tsx:149 +#: src/tables/bom/BomTable.tsx:151 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 msgid "Unit Price" msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:173 -#: src/tables/ColumnRenderers.tsx:278 -#: src/tables/bom/BomTable.tsx:158 +#: src/tables/ColumnRenderers.tsx:241 +#: src/tables/bom/BomTable.tsx:160 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 #: src/tables/sales/ReturnOrderTable.tsx:104 #: src/tables/sales/SalesOrderTable.tsx:134 @@ -4229,24 +4323,24 @@ msgid "Bar Chart" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:63 -#: src/pages/part/pricing/PriceBreakPanel.tsx:117 +#: src/pages/part/pricing/PriceBreakPanel.tsx:115 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:138 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:164 msgid "Add Price Break" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:76 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:149 msgid "Edit Price Break" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:86 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:157 msgid "Delete Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:102 -#: src/pages/part/pricing/PriceBreakPanel.tsx:193 +#: src/pages/part/pricing/PriceBreakPanel.tsx:100 +#: src/pages/part/pricing/PriceBreakPanel.tsx:191 msgid "Price Break" msgstr "" @@ -4275,7 +4369,7 @@ msgid "Overall Pricing" msgstr "" #: src/pages/part/pricing/PricingOverviewPanel.tsx:184 -#: src/pages/stock/StockDetail.tsx:121 +#: src/pages/stock/StockDetail.tsx:124 msgid "Last Updated" msgstr "" @@ -4309,9 +4403,8 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50 #: src/pages/part/pricing/SaleHistoryPanel.tsx:46 -#: src/tables/ColumnRenderers.tsx:217 -#: src/tables/plugin/PluginListTable.tsx:182 -#: src/tables/stock/StockItemTestResultTable.tsx:194 +#: src/tables/ColumnRenderers.tsx:180 +#: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" @@ -4338,89 +4431,89 @@ msgstr "" msgid "Variant Part" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:73 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:75 msgid "Edit Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:82 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:84 #: src/tables/purchasing/PurchaseOrderTable.tsx:128 #: src/tables/purchasing/PurchaseOrderTable.tsx:140 msgid "Add Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:107 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:109 msgid "Supplier Reference" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:137 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:252 -#: src/pages/sales/ReturnOrderDetail.tsx:104 -#: src/pages/sales/ReturnOrderDetail.tsx:220 -#: src/pages/sales/SalesOrderDetail.tsx:108 -#: src/pages/sales/SalesOrderDetail.tsx:248 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:139 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:254 +#: src/pages/sales/ReturnOrderDetail.tsx:106 +#: src/pages/sales/ReturnOrderDetail.tsx:222 +#: src/pages/sales/SalesOrderDetail.tsx:110 +#: src/pages/sales/SalesOrderDetail.tsx:250 msgid "Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:144 -#: src/pages/sales/ReturnOrderDetail.tsx:111 -#: src/pages/sales/SalesOrderDetail.tsx:115 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:146 +#: src/pages/sales/ReturnOrderDetail.tsx:113 +#: src/pages/sales/SalesOrderDetail.tsx:117 msgid "Completed Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:152 -#: src/pages/sales/ReturnOrderDetail.tsx:119 -#: src/pages/sales/SalesOrderDetail.tsx:123 -#: src/pages/sales/SalesOrderDetail.tsx:258 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:121 +#: src/pages/sales/SalesOrderDetail.tsx:125 +#: src/pages/sales/SalesOrderDetail.tsx:260 msgid "Completed Shipments" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:159 -#: src/pages/sales/ReturnOrderDetail.tsx:127 -#: src/pages/sales/SalesOrderDetail.tsx:131 -msgid "Order Currency" -msgstr "" - #: src/pages/purchasing/PurchaseOrderDetail.tsx:159 #: src/pages/sales/ReturnOrderDetail.tsx:126 #: src/pages/sales/SalesOrderDetail.tsx:130 #~ msgid "Order Currency," #~ msgstr "Order Currency," -#: src/pages/purchasing/PurchaseOrderDetail.tsx:166 -#: src/pages/sales/ReturnOrderDetail.tsx:134 -#: src/pages/sales/SalesOrderDetail.tsx:138 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:161 +#: src/pages/sales/ReturnOrderDetail.tsx:129 +#: src/pages/sales/SalesOrderDetail.tsx:133 +msgid "Order Currency" +msgstr "" + +#: src/pages/purchasing/PurchaseOrderDetail.tsx:168 +#: src/pages/sales/ReturnOrderDetail.tsx:136 +#: src/pages/sales/SalesOrderDetail.tsx:140 msgid "Total Cost" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:201 -#: src/pages/sales/ReturnOrderDetail.tsx:169 -#: src/pages/sales/SalesOrderDetail.tsx:173 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:203 +#: src/pages/sales/ReturnOrderDetail.tsx:171 +#: src/pages/sales/SalesOrderDetail.tsx:175 msgid "Created On" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:246 -#: src/pages/sales/ReturnOrderDetail.tsx:214 -#: src/pages/sales/SalesOrderDetail.tsx:242 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:248 +#: src/pages/sales/ReturnOrderDetail.tsx:216 +#: src/pages/sales/SalesOrderDetail.tsx:244 msgid "Order Details" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:316 -#: src/pages/sales/ReturnOrderDetail.tsx:290 -#: src/pages/sales/SalesOrderDetail.tsx:302 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:323 +#: src/pages/sales/ReturnOrderDetail.tsx:297 +#: src/pages/sales/SalesOrderDetail.tsx:309 msgid "Order Actions" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:75 -#: src/pages/sales/SalesOrderDetail.tsx:79 +#: src/pages/sales/ReturnOrderDetail.tsx:77 +#: src/pages/sales/SalesOrderDetail.tsx:81 #: src/tables/sales/SalesOrderTable.tsx:123 msgid "Customer Reference" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:267 +#: src/pages/sales/ReturnOrderDetail.tsx:269 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:276 +#: src/pages/sales/ReturnOrderDetail.tsx:278 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" @@ -4430,68 +4523,72 @@ msgstr "" msgid "Customers" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:219 +#: src/pages/sales/SalesOrderDetail.tsx:221 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:228 +#: src/pages/sales/SalesOrderDetail.tsx:230 #: src/tables/sales/SalesOrderTable.tsx:83 #: src/tables/sales/SalesOrderTable.tsx:95 msgid "Add Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:253 +#: src/pages/sales/SalesOrderDetail.tsx:255 msgid "Pending Shipments" msgstr "" -#: src/pages/stock/LocationDetail.tsx:105 +#: src/pages/stock/LocationDetail.tsx:107 msgid "Parent Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:123 +#: src/pages/stock/LocationDetail.tsx:125 msgid "Sublocations" msgstr "" -#: src/pages/stock/LocationDetail.tsx:135 +#: src/pages/stock/LocationDetail.tsx:137 msgid "External" msgstr "" -#: src/pages/stock/LocationDetail.tsx:144 +#: src/pages/stock/LocationDetail.tsx:143 +msgid "Location Type" +msgstr "" + +#: src/pages/stock/LocationDetail.tsx:154 msgid "Top level stock location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:155 +#: src/pages/stock/LocationDetail.tsx:165 msgid "Location Details" msgstr "" -#: src/pages/stock/LocationDetail.tsx:181 +#: src/pages/stock/LocationDetail.tsx:191 msgid "Default Parts" msgstr "" -#: src/pages/stock/LocationDetail.tsx:200 +#: src/pages/stock/LocationDetail.tsx:210 #: src/pages/stock/LocationDetail.tsx:328 -#: src/tables/stock/StockLocationTable.tsx:108 +#: src/tables/stock/StockLocationTable.tsx:100 msgid "Edit Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:221 +#: src/pages/stock/LocationDetail.tsx:231 #: src/pages/stock/LocationDetail.tsx:333 msgid "Delete Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:224 +#: src/pages/stock/LocationDetail.tsx:234 msgid "Items Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:225 +#: src/pages/stock/LocationDetail.tsx:235 msgid "Action for stock items in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:230 +#: src/pages/stock/LocationDetail.tsx:240 msgid "Child Locations Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:231 +#: src/pages/stock/LocationDetail.tsx:241 msgid "Action for child locations in this location" msgstr "" @@ -4499,11 +4596,11 @@ msgstr "" msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:100 +#: src/pages/stock/StockDetail.tsx:103 msgid "Base Part" msgstr "" -#: src/pages/stock/StockDetail.tsx:107 +#: src/pages/stock/StockDetail.tsx:110 msgid "Stock Status" msgstr "" @@ -4515,15 +4612,16 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:174 +#: src/pages/stock/StockDetail.tsx:177 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:190 +#: src/pages/stock/StockDetail.tsx:193 msgid "Consumed By" msgstr "" -#: src/pages/stock/StockDetail.tsx:199 +#: src/pages/stock/StockDetail.tsx:202 +#: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" msgstr "" @@ -4535,78 +4633,78 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:264 +#: src/pages/stock/StockDetail.tsx:267 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:270 +#: src/pages/stock/StockDetail.tsx:273 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:282 +#: src/pages/stock/StockDetail.tsx:290 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:296 +#: src/pages/stock/StockDetail.tsx:304 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:303 +#: src/pages/stock/StockDetail.tsx:311 msgid "Child Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:358 +#: src/pages/stock/StockDetail.tsx:366 msgid "Edit Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:385 +#: src/pages/stock/StockDetail.tsx:393 msgid "Delete Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:426 -msgid "Stock Operations" -msgstr "" - -#: src/pages/stock/StockDetail.tsx:431 -msgid "Count stock" -msgstr "" - #: src/pages/stock/StockDetail.tsx:433 #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:441 +#: src/pages/stock/StockDetail.tsx:440 +msgid "Stock Operations" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:445 +msgid "Count stock" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:455 #: src/tables/stock/StockItemTable.tsx:414 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:449 +#: src/pages/stock/StockDetail.tsx:463 #: src/tables/stock/StockItemTable.tsx:423 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:456 +#: src/pages/stock/StockDetail.tsx:470 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:457 +#: src/pages/stock/StockDetail.tsx:471 #: src/tables/stock/StockItemTable.tsx:443 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:469 +#: src/pages/stock/StockDetail.tsx:482 msgid "Stock Item Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:513 -msgid "Batch Code" -msgstr "" - -#: src/tables/ColumnRenderers.tsx:50 +#: src/tables/ColumnRenderers.tsx:42 msgid "No location set" msgstr "" -#: src/tables/ColumnRenderers.tsx:264 +#: src/tables/ColumnRenderers.tsx:207 +msgid "Shipment Date" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:227 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "" @@ -4616,20 +4714,32 @@ msgstr "" msgid "Select Columns" msgstr "" -#: src/tables/DownloadAction.tsx:11 +#: src/tables/DownloadAction.tsx:13 +#~ msgid "Excel" +#~ msgstr "Excel" + +#: src/tables/DownloadAction.tsx:21 +#~ msgid "Download selected data" +#~ msgstr "Download selected data" + +#: src/tables/DownloadAction.tsx:22 msgid "CSV" msgstr "" -#: src/tables/DownloadAction.tsx:12 +#: src/tables/DownloadAction.tsx:23 msgid "TSV" msgstr "" -#: src/tables/DownloadAction.tsx:13 -msgid "Excel" +#: src/tables/DownloadAction.tsx:24 +msgid "Excel (.xls)" msgstr "" -#: src/tables/DownloadAction.tsx:21 -msgid "Download selected data" +#: src/tables/DownloadAction.tsx:25 +msgid "Excel (.xlsx)" +msgstr "" + +#: src/tables/DownloadAction.tsx:39 +msgid "Download Data" msgstr "" #: src/tables/Filter.tsx:88 @@ -4663,102 +4773,102 @@ msgstr "" msgid "Remove filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:147 +#: src/tables/FilterSelectDrawer.tsx:136 msgid "Select filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:148 +#: src/tables/FilterSelectDrawer.tsx:137 msgid "Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:155 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:33 -#: src/tables/stock/StockItemTestResultTable.tsx:182 +#: src/tables/FilterSelectDrawer.tsx:144 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 +#: src/tables/stock/StockItemTestResultTable.tsx:180 msgid "Value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:156 +#: src/tables/FilterSelectDrawer.tsx:145 msgid "Select filter value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:196 +#: src/tables/FilterSelectDrawer.tsx:185 msgid "Table Filters" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:228 +#: src/tables/FilterSelectDrawer.tsx:217 msgid "Add Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:237 +#: src/tables/FilterSelectDrawer.tsx:226 msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:118 -#: src/tables/InvenTreeTable.tsx:384 -#: src/tables/InvenTreeTable.tsx:405 +#: src/tables/InvenTreeTable.tsx:119 +#: src/tables/InvenTreeTable.tsx:390 +#: src/tables/InvenTreeTable.tsx:411 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:416 +#: src/tables/InvenTreeTable.tsx:422 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:424 +#: src/tables/InvenTreeTable.tsx:430 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:427 +#: src/tables/InvenTreeTable.tsx:433 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:436 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:433 +#: src/tables/InvenTreeTable.tsx:439 msgid "Not found" msgstr "" -#: src/tables/InvenTreeTable.tsx:482 -#: src/tables/InvenTreeTable.tsx:604 +#: src/tables/InvenTreeTable.tsx:488 +#: src/tables/InvenTreeTable.tsx:611 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:486 +#: src/tables/InvenTreeTable.tsx:492 msgid "Are you sure you want to delete the selected records?" msgstr "" -#: src/tables/InvenTreeTable.tsx:488 +#: src/tables/InvenTreeTable.tsx:494 msgid "This action cannot be undone!" msgstr "" -#: src/tables/InvenTreeTable.tsx:516 +#: src/tables/InvenTreeTable.tsx:522 msgid "Deleted records" msgstr "" -#: src/tables/InvenTreeTable.tsx:517 +#: src/tables/InvenTreeTable.tsx:523 msgid "Records were deleted successfully" msgstr "" -#: src/tables/InvenTreeTable.tsx:526 +#: src/tables/InvenTreeTable.tsx:532 msgid "Failed to delete records" msgstr "" -#: src/tables/InvenTreeTable.tsx:585 -#: src/tables/InvenTreeTable.tsx:586 -msgid "Barcode actions" -msgstr "" - #: src/tables/InvenTreeTable.tsx:594 #: src/tables/InvenTreeTable.tsx:595 -msgid "Print actions" +#~ msgid "Print actions" +#~ msgstr "Print actions" + +#: src/tables/InvenTreeTable.tsx:601 +#: src/tables/InvenTreeTable.tsx:602 +msgid "Barcode actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:620 +#: src/tables/InvenTreeTable.tsx:630 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:638 +#: src/tables/InvenTreeTable.tsx:648 msgid "Table filters" msgstr "" @@ -4770,138 +4880,138 @@ msgstr "" msgid "Part Information" msgstr "" -#: src/tables/bom/BomTable.tsx:177 +#: src/tables/bom/BomTable.tsx:179 #: src/tables/part/PartTable.tsx:124 msgid "No stock" msgstr "" -#: src/tables/bom/BomTable.tsx:185 +#: src/tables/bom/BomTable.tsx:187 #: src/tables/build/BuildLineTable.tsx:104 #: src/tables/part/PartTable.tsx:115 msgid "External stock" msgstr "" -#: src/tables/bom/BomTable.tsx:193 +#: src/tables/bom/BomTable.tsx:195 #: src/tables/build/BuildLineTable.tsx:67 msgid "Includes substitute stock" msgstr "" -#: src/tables/bom/BomTable.tsx:202 +#: src/tables/bom/BomTable.tsx:204 #: src/tables/build/BuildLineTable.tsx:77 msgid "Includes variant stock" msgstr "" -#: src/tables/bom/BomTable.tsx:227 +#: src/tables/bom/BomTable.tsx:229 #: src/tables/part/PartTable.tsx:143 #: src/tables/stock/StockItemTable.tsx:205 msgid "Stock Information" msgstr "" -#: src/tables/bom/BomTable.tsx:239 +#: src/tables/bom/BomTable.tsx:241 #: src/tables/build/BuildLineTable.tsx:195 msgid "Consumable item" msgstr "" -#: src/tables/bom/BomTable.tsx:260 +#: src/tables/bom/BomTable.tsx:262 msgid "Show trackable items" msgstr "" -#: src/tables/bom/BomTable.tsx:265 +#: src/tables/bom/BomTable.tsx:267 msgid "Show asssmbled items" msgstr "" -#: src/tables/bom/BomTable.tsx:270 +#: src/tables/bom/BomTable.tsx:272 msgid "Show items with available stock" msgstr "" -#: src/tables/bom/BomTable.tsx:275 +#: src/tables/bom/BomTable.tsx:277 msgid "Show items on order" msgstr "" -#: src/tables/bom/BomTable.tsx:279 +#: src/tables/bom/BomTable.tsx:281 msgid "Validated" msgstr "" -#: src/tables/bom/BomTable.tsx:280 +#: src/tables/bom/BomTable.tsx:282 msgid "Show validated items" msgstr "" -#: src/tables/bom/BomTable.tsx:284 +#: src/tables/bom/BomTable.tsx:286 #: src/tables/bom/UsedInTable.tsx:63 msgid "Inherited" msgstr "" -#: src/tables/bom/BomTable.tsx:285 +#: src/tables/bom/BomTable.tsx:287 #: src/tables/bom/UsedInTable.tsx:64 msgid "Show inherited items" msgstr "" -#: src/tables/bom/BomTable.tsx:289 +#: src/tables/bom/BomTable.tsx:291 #: src/tables/bom/UsedInTable.tsx:68 #: src/tables/build/BuildLineTable.tsx:46 msgid "Optional" msgstr "" -#: src/tables/bom/BomTable.tsx:290 +#: src/tables/bom/BomTable.tsx:292 #: src/tables/bom/UsedInTable.tsx:69 msgid "Show optional items" msgstr "" -#: src/tables/bom/BomTable.tsx:294 +#: src/tables/bom/BomTable.tsx:296 #: src/tables/build/BuildLineTable.tsx:41 msgid "Consumable" msgstr "" -#: src/tables/bom/BomTable.tsx:295 +#: src/tables/bom/BomTable.tsx:297 msgid "Show consumable items" msgstr "" -#: src/tables/bom/BomTable.tsx:299 +#: src/tables/bom/BomTable.tsx:301 msgid "Has Pricing" msgstr "" -#: src/tables/bom/BomTable.tsx:300 -msgid "Show items with pricing" -msgstr "" - #: src/tables/bom/BomTable.tsx:301 #~ msgid "Create BOM Item" #~ msgstr "Create BOM Item" -#: src/tables/bom/BomTable.tsx:309 -#: src/tables/bom/BomTable.tsx:397 +#: src/tables/bom/BomTable.tsx:302 +msgid "Show items with pricing" +msgstr "" + +#: src/tables/bom/BomTable.tsx:311 +#: src/tables/bom/BomTable.tsx:399 msgid "Add BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:314 +#: src/tables/bom/BomTable.tsx:316 msgid "BOM item created" msgstr "" -#: src/tables/bom/BomTable.tsx:321 +#: src/tables/bom/BomTable.tsx:323 msgid "Edit BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:323 +#: src/tables/bom/BomTable.tsx:325 msgid "BOM item updated" msgstr "" -#: src/tables/bom/BomTable.tsx:330 -msgid "Delete BOM Item" -msgstr "" - -#: src/tables/bom/BomTable.tsx:331 -msgid "BOM item deleted" -msgstr "" - #: src/tables/bom/BomTable.tsx:331 #~ msgid "Edit Bom Item" #~ msgstr "Edit Bom Item" +#: src/tables/bom/BomTable.tsx:332 +msgid "Delete BOM Item" +msgstr "" + +#: src/tables/bom/BomTable.tsx:333 +msgid "BOM item deleted" +msgstr "" + #: src/tables/bom/BomTable.tsx:333 #~ msgid "Bom item updated" #~ msgstr "Bom item updated" -#: src/tables/bom/BomTable.tsx:341 +#: src/tables/bom/BomTable.tsx:343 msgid "View BOM" msgstr "" @@ -4917,11 +5027,11 @@ msgstr "" #~ msgid "Are you sure you want to remove this BOM item?" #~ msgstr "Are you sure you want to remove this BOM item?" -#: src/tables/bom/BomTable.tsx:352 +#: src/tables/bom/BomTable.tsx:354 msgid "Validate BOM line" msgstr "" -#: src/tables/bom/BomTable.tsx:360 +#: src/tables/bom/BomTable.tsx:362 msgid "Edit Substitutes" msgstr "" @@ -5038,11 +5148,11 @@ msgid "Filter by responsible owner" msgstr "" #: src/tables/build/BuildOutputTable.tsx:114 -#: src/tables/build/BuildOutputTable.tsx:150 +#: src/tables/build/BuildOutputTable.tsx:152 msgid "Add Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:155 +#: src/tables/build/BuildOutputTable.tsx:157 msgid "Complete selected outputs" msgstr "" @@ -5050,68 +5160,68 @@ msgstr "" #~ msgid "Delete build output" #~ msgstr "Delete build output" -#: src/tables/build/BuildOutputTable.tsx:165 +#: src/tables/build/BuildOutputTable.tsx:167 msgid "Scrap selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:175 +#: src/tables/build/BuildOutputTable.tsx:177 msgid "Cancel selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:191 +#: src/tables/build/BuildOutputTable.tsx:193 msgid "Allocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:192 +#: src/tables/build/BuildOutputTable.tsx:194 msgid "Allocate stock to build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:197 +#: src/tables/build/BuildOutputTable.tsx:199 msgid "Deallocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:198 +#: src/tables/build/BuildOutputTable.tsx:200 msgid "Deallocate stock from build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:203 +#: src/tables/build/BuildOutputTable.tsx:205 msgid "Complete" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:204 +#: src/tables/build/BuildOutputTable.tsx:206 msgid "Complete build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:213 +#: src/tables/build/BuildOutputTable.tsx:215 msgid "Scrap" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:214 +#: src/tables/build/BuildOutputTable.tsx:216 msgid "Scrap build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:224 +#: src/tables/build/BuildOutputTable.tsx:226 msgid "Cancel build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:251 +#: src/tables/build/BuildOutputTable.tsx:253 msgid "Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:264 +#: src/tables/build/BuildOutputTable.tsx:266 msgid "Batch" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:278 +#: src/tables/build/BuildOutputTable.tsx:280 msgid "Allocated Items" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:288 +#: src/tables/build/BuildOutputTable.tsx:290 msgid "Required Tests" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:317 -#: src/tables/stock/StockItemTestResultTable.tsx:146 +#: src/tables/build/BuildOutputTable.tsx:319 +#: src/tables/stock/StockItemTestResultTable.tsx:144 msgid "Test Results" msgstr "" @@ -5132,7 +5242,7 @@ msgstr "" msgid "Delete Address" msgstr "" -#: src/tables/company/AddressTable.tsx:145 +#: src/tables/company/AddressTable.tsx:144 msgid "Are you sure you want to delete this address?" msgstr "" @@ -5177,36 +5287,52 @@ msgstr "" msgid "Add contact" msgstr "" -#: src/tables/general/AttachmentTable.tsx:161 +#: src/tables/general/AttachmentTable.tsx:130 msgid "File uploaded" msgstr "" -#: src/tables/general/AttachmentTable.tsx:162 +#: src/tables/general/AttachmentTable.tsx:131 msgid "File {0} uploaded successfully" msgstr "" -#: src/tables/general/AttachmentTable.tsx:173 +#: src/tables/general/AttachmentTable.tsx:142 msgid "Upload Error" msgstr "" -#: src/tables/general/AttachmentTable.tsx:174 +#: src/tables/general/AttachmentTable.tsx:143 msgid "File could not be uploaded" msgstr "" #: src/tables/general/AttachmentTable.tsx:187 +msgid "Upload Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:197 +msgid "Edit Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:211 +msgid "Delete Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:221 msgid "Add attachment" msgstr "" -#: src/tables/general/AttachmentTable.tsx:207 +#: src/tables/general/AttachmentTable.tsx:232 msgid "Add external link" msgstr "" -#: src/tables/general/AttachmentTable.tsx:239 +#: src/tables/general/AttachmentTable.tsx:254 +#~ msgid "Upload attachment" +#~ msgstr "Upload attachment" + +#: src/tables/general/AttachmentTable.tsx:289 msgid "No attachments found" msgstr "" -#: src/tables/general/AttachmentTable.tsx:254 -msgid "Upload attachment" +#: src/tables/general/AttachmentTable.tsx:325 +msgid "Drag attachment file here to upload" msgstr "" #: src/tables/machine/MachineListTable.tsx:199 @@ -5332,8 +5458,8 @@ msgstr "" #: src/tables/machine/MachineTypeTable.tsx:135 #: src/tables/machine/MachineTypeTable.tsx:255 -#: src/tables/plugin/PluginListTable.tsx:215 -#: src/tables/plugin/PluginListTable.tsx:643 +#: src/tables/plugin/PluginListTable.tsx:180 +#: src/tables/plugin/PluginListTable.tsx:568 msgid "Builtin" msgstr "" @@ -5375,7 +5501,7 @@ msgid "Message" msgstr "" #: src/tables/part/ParametricPartTable.tsx:75 -#: src/tables/part/PartParameterTable.tsx:87 +#: src/tables/part/PartParameterTable.tsx:88 msgid "Internal Units" msgstr "" @@ -5388,29 +5514,29 @@ msgid "Add Part Parameter" msgstr "" #: src/tables/part/ParametricPartTable.tsx:147 -#: src/tables/part/PartParameterTable.tsx:128 -#: src/tables/part/PartParameterTable.tsx:150 +#: src/tables/part/PartParameterTable.tsx:121 +#: src/tables/part/PartParameterTable.tsx:144 msgid "Edit Part Parameter" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:64 +#: src/tables/part/PartCategoryTable.tsx:60 #: src/tables/part/PartTable.tsx:180 msgid "Include Subcategories" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:65 +#: src/tables/part/PartCategoryTable.tsx:61 msgid "Include subcategories in results" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:70 +#: src/tables/part/PartCategoryTable.tsx:66 msgid "Show structural categories" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:77 +#: src/tables/part/PartCategoryTable.tsx:73 msgid "New Part Category" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:106 +#: src/tables/part/PartCategoryTable.tsx:98 msgid "Add Part Category" msgstr "" @@ -5435,20 +5561,20 @@ msgstr "" #~ msgid "[{0}]" #~ msgstr "[{0}]" -#: src/tables/part/PartParameterTable.tsx:112 +#: src/tables/part/PartParameterTable.tsx:105 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:136 -#: src/tables/part/PartParameterTable.tsx:158 +#: src/tables/part/PartParameterTable.tsx:130 +#: src/tables/part/PartParameterTable.tsx:152 msgid "Delete Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:175 +#: src/tables/part/PartParameterTable.tsx:170 msgid "Add parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:196 +#: src/tables/part/PartParameterTable.tsx:191 #: src/tables/stock/StockItemTable.tsx:300 msgid "Include Variants" msgstr "" @@ -5482,15 +5608,15 @@ msgstr "" msgid "Add Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:97 +#: src/tables/part/PartParameterTemplateTable.tsx:100 msgid "Edit Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:105 +#: src/tables/part/PartParameterTemplateTable.tsx:111 msgid "Delete Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:135 +#: src/tables/part/PartParameterTemplateTable.tsx:141 msgid "Add parameter template" msgstr "" @@ -5588,7 +5714,7 @@ msgid "No Results" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:79 -#: src/tables/stock/StockItemTestResultTable.tsx:385 +#: src/tables/stock/StockItemTestResultTable.tsx:376 msgid "Required" msgstr "" @@ -5597,8 +5723,8 @@ msgid "Show required tests" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:84 -#: src/tables/settings/TemplateTable.tsx:213 -#: src/tables/settings/TemplateTable.tsx:275 +#: src/tables/settings/TemplateTable.tsx:160 +#: src/tables/settings/TemplateTable.tsx:270 msgid "Enabled" msgstr "" @@ -5639,26 +5765,30 @@ msgid "Show tests which have recorded results" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:126 -#: src/tables/part/PartTestTemplateTable.tsx:195 +#: src/tables/part/PartTestTemplateTable.tsx:201 msgid "Add Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:139 +#: src/tables/part/PartTestTemplateTable.tsx:142 msgid "Edit Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:147 +#: src/tables/part/PartTestTemplateTable.tsx:153 msgid "Delete Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:149 +#: src/tables/part/PartTestTemplateTable.tsx:155 msgid "This action cannot be reversed" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:151 +#: src/tables/part/PartTestTemplateTable.tsx:157 msgid "Any tests results associated with this template will be deleted" msgstr "" +#: src/tables/part/PartThumbTable.tsx:203 +msgid "Select" +msgstr "" + #: src/tables/part/PartVariantTable.tsx:16 msgid "Show active variants" msgstr "" @@ -5695,252 +5825,273 @@ msgstr "" msgid "Stage" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:113 -msgid "Plugin with id {id} not found" +#: src/tables/plugin/PluginListTable.tsx:95 +msgid "Plugin with key {pluginKey} not found" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:115 +#: src/tables/plugin/PluginListTable.tsx:97 msgid "An error occurred while fetching plugin details" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:134 -msgid "Plugin Actions" -msgstr "" +#: src/tables/plugin/PluginListTable.tsx:113 +#~ msgid "Plugin with id {id} not found" +#~ msgstr "Plugin with id {id} not found" -#: src/tables/plugin/PluginListTable.tsx:138 -#: src/tables/plugin/PluginListTable.tsx:141 -msgid "Edit plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:152 -#: src/tables/plugin/PluginListTable.tsx:153 -msgid "Reload" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:166 +#: src/tables/plugin/PluginListTable.tsx:122 msgid "Plugin information" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:177 +#: src/tables/plugin/PluginListTable.tsx:134 msgid "Author" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:198 +#: src/tables/plugin/PluginListTable.tsx:134 +#~ msgid "Plugin Actions" +#~ msgstr "Plugin Actions" + +#: src/tables/plugin/PluginListTable.tsx:138 +#: src/tables/plugin/PluginListTable.tsx:141 +#~ msgid "Edit plugin" +#~ msgstr "Edit plugin" + +#: src/tables/plugin/PluginListTable.tsx:152 +#: src/tables/plugin/PluginListTable.tsx:153 +#~ msgid "Reload" +#~ msgstr "Reload" + +#: src/tables/plugin/PluginListTable.tsx:154 +msgid "Plugin is not active" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:163 msgid "Package information" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:204 +#: src/tables/plugin/PluginListTable.tsx:169 msgid "Package Name" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:210 +#: src/tables/plugin/PluginListTable.tsx:175 msgid "Installation Path" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:220 +#: src/tables/plugin/PluginListTable.tsx:185 msgid "Package" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:231 +#: src/tables/plugin/PluginListTable.tsx:197 msgid "Plugin settings" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:248 +#: src/tables/plugin/PluginListTable.tsx:214 msgid "Plugin is active" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:254 +#: src/tables/plugin/PluginListTable.tsx:220 msgid "Plugin is inactive" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:261 +#: src/tables/plugin/PluginListTable.tsx:227 msgid "Plugin is not installed" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:287 +#: src/tables/plugin/PluginListTable.tsx:253 msgid "Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:312 +#: src/tables/plugin/PluginListTable.tsx:287 msgid "Description not available" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:338 +#: src/tables/plugin/PluginListTable.tsx:319 +msgid "Confirm plugin activation" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:320 +msgid "Confirm plugin deactivation" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:325 +msgid "The selected plugin will be activated" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:326 +msgid "The selected plugin will be deactivated" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:334 msgid "Activate Plugin" msgstr "" #: src/tables/plugin/PluginListTable.tsx:338 -msgid "Deactivate Plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:347 -msgid "Confirm plugin activation" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:348 -msgid "Confirm plugin deactivation" -msgstr "" +#~ msgid "Deactivate Plugin" +#~ msgstr "Deactivate Plugin" #: src/tables/plugin/PluginListTable.tsx:354 -msgid "The following plugin will be activated" -msgstr "" +#~ msgid "The following plugin will be activated" +#~ msgstr "The following plugin will be activated" #: src/tables/plugin/PluginListTable.tsx:355 -msgid "The following plugin will be deactivated" -msgstr "" +#~ msgid "The following plugin will be deactivated" +#~ msgstr "The following plugin will be deactivated" -#: src/tables/plugin/PluginListTable.tsx:366 -msgid "Confirm" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:376 -msgid "Activating plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:376 -msgid "Deactivating plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:392 -msgid "Plugin updated" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:394 -msgid "The plugin was activated" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:395 -msgid "The plugin was deactivated" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:403 -msgid "Error updating plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:423 +#: src/tables/plugin/PluginListTable.tsx:362 msgid "Deactivate" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:432 +#: src/tables/plugin/PluginListTable.tsx:366 +#~ msgid "Confirm" +#~ msgstr "Confirm" + +#: src/tables/plugin/PluginListTable.tsx:373 msgid "Activate" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:463 +#: src/tables/plugin/PluginListTable.tsx:376 +#~ msgid "Activating plugin" +#~ msgstr "Activating plugin" + +#: src/tables/plugin/PluginListTable.tsx:376 +#~ msgid "Deactivating plugin" +#~ msgstr "Deactivating plugin" + +#: src/tables/plugin/PluginListTable.tsx:392 +#~ msgid "Plugin updated" +#~ msgstr "Plugin updated" + +#: src/tables/plugin/PluginListTable.tsx:394 +#~ msgid "The plugin was activated" +#~ msgstr "The plugin was activated" + +#: src/tables/plugin/PluginListTable.tsx:395 +#~ msgid "The plugin was deactivated" +#~ msgstr "The plugin was deactivated" + +#: src/tables/plugin/PluginListTable.tsx:403 +#~ msgid "Error updating plugin" +#~ msgstr "Error updating plugin" + +#: src/tables/plugin/PluginListTable.tsx:406 msgid "Uninstall" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:495 +#: src/tables/plugin/PluginListTable.tsx:438 msgid "Install plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:508 +#: src/tables/plugin/PluginListTable.tsx:451 msgid "Install" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:512 +#: src/tables/plugin/PluginListTable.tsx:452 msgid "Plugin installed successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:525 +#: src/tables/plugin/PluginListTable.tsx:457 msgid "Uninstall Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:537 +#: src/tables/plugin/PluginListTable.tsx:469 msgid "Confirm plugin uninstall" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:540 +#: src/tables/plugin/PluginListTable.tsx:472 msgid "The selected plugin will be uninstalled." msgstr "" -#: src/tables/plugin/PluginListTable.tsx:541 +#: src/tables/plugin/PluginListTable.tsx:473 msgid "This action cannot be undone." msgstr "" -#: src/tables/plugin/PluginListTable.tsx:547 +#: src/tables/plugin/PluginListTable.tsx:477 msgid "Plugin uninstalled successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:560 +#: src/tables/plugin/PluginListTable.tsx:484 msgid "Delete Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:562 +#: src/tables/plugin/PluginListTable.tsx:485 msgid "Deleting this plugin configuration will remove all associated settings and data. Are you sure you want to delete this plugin?" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:574 +#: src/tables/plugin/PluginListTable.tsx:498 msgid "Plugins reloaded" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:575 +#: src/tables/plugin/PluginListTable.tsx:499 msgid "Plugins were reloaded successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:591 +#: src/tables/plugin/PluginListTable.tsx:515 msgid "Reload Plugins" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:600 +#: src/tables/plugin/PluginListTable.tsx:524 msgid "Install Plugin" msgstr "" +#: src/tables/plugin/PluginListTable.tsx:544 +msgid "Plugin Detail" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:573 +msgid "Sample" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:578 +#: src/tables/stock/StockItemTable.tsx:305 +msgid "Installed" +msgstr "" + #: src/tables/plugin/PluginListTable.tsx:615 #~ msgid "Plugin detail" #~ msgstr "Plugin detail" -#: src/tables/plugin/PluginListTable.tsx:619 -msgid "Plugin Detail" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:648 -msgid "Sample" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:653 -#: src/tables/stock/StockItemTable.tsx:305 -msgid "Installed" -msgstr "" - -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:57 -msgid "Edit Parameter" +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:59 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:108 +msgid "Add Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:60 -msgid "Parameter updated" -msgstr "" +#~ msgid "Parameter updated" +#~ msgstr "Parameter updated" -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:71 -msgid "Delete Parameter" +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:70 +msgid "Edit Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:73 -msgid "Parameter deleted" -msgstr "" +#~ msgid "Parameter deleted" +#~ msgstr "Parameter deleted" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:74 -msgid "Are you sure you want to delete this parameter?" +#~ msgid "Are you sure you want to delete this parameter?" +#~ msgstr "Are you sure you want to delete this parameter?" + +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:78 +msgid "Delete Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartTable.tsx:63 #~ msgid "Create Manufacturer Part" #~ msgstr "Create Manufacturer Part" -#: src/tables/purchasing/ManufacturerPartTable.tsx:100 -msgid "Manufacturer part updated" -msgstr "" - -#: src/tables/purchasing/ManufacturerPartTable.tsx:111 +#: src/tables/purchasing/ManufacturerPartTable.tsx:92 msgid "Delete Manufacturer Part" msgstr "" +#: src/tables/purchasing/ManufacturerPartTable.tsx:100 +#~ msgid "Manufacturer part updated" +#~ msgstr "Manufacturer part updated" + #: src/tables/purchasing/ManufacturerPartTable.tsx:112 -msgid "Manufacturer part deleted" -msgstr "" +#~ msgid "Manufacturer part deleted" +#~ msgstr "Manufacturer part deleted" #: src/tables/purchasing/ManufacturerPartTable.tsx:114 -msgid "Are you sure you want to remove this manufacturer part?" -msgstr "" +#~ msgid "Are you sure you want to remove this manufacturer part?" +#~ msgstr "Are you sure you want to remove this manufacturer part?" #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:86 msgid "Part Description" @@ -6087,18 +6238,22 @@ msgid "Error Information" msgstr "" #: src/tables/settings/ErrorTable.tsx:51 -msgid "Delete error report" +msgid "Delete Error Report" msgstr "" +#: src/tables/settings/ErrorTable.tsx:51 +#~ msgid "Delete error report" +#~ msgstr "Delete error report" + #: src/tables/settings/ErrorTable.tsx:53 -msgid "Error report deleted" -msgstr "" - -#: src/tables/settings/ErrorTable.tsx:54 msgid "Are you sure you want to delete this error report?" msgstr "" -#: src/tables/settings/ErrorTable.tsx:67 +#: src/tables/settings/ErrorTable.tsx:55 +msgid "Error report deleted" +msgstr "" + +#: src/tables/settings/ErrorTable.tsx:77 #: src/tables/settings/FailedTasksTable.tsx:57 msgid "Error Details" msgstr "" @@ -6115,7 +6270,7 @@ msgid "Task ID" msgstr "" #: src/tables/settings/FailedTasksTable.tsx:34 -#: src/tables/stock/StockItemTestResultTable.tsx:214 +#: src/tables/stock/StockItemTestResultTable.tsx:205 msgid "Started" msgstr "" @@ -6188,30 +6343,71 @@ msgstr "" msgid "Next Run" msgstr "" -#: src/tables/settings/TemplateTable.tsx:120 -msgid "{templateTypeTranslation} with id {id} not found" +#: src/tables/settings/TemplateTable.tsx:82 +msgid "Template not found" msgstr "" +#: src/tables/settings/TemplateTable.tsx:84 +msgid "An error occurred while fetching template details" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:120 +#~ msgid "{templateTypeTranslation} with id {id} not found" +#~ msgstr "{templateTypeTranslation} with id {id} not found" + #: src/tables/settings/TemplateTable.tsx:124 -msgid "An error occurred while fetching {templateTypeTranslation} details" -msgstr "" +#~ msgid "An error occurred while fetching {templateTypeTranslation} details" +#~ msgstr "An error occurred while fetching {templateTypeTranslation} details" #: src/tables/settings/TemplateTable.tsx:146 -msgid "actions" +#~ msgid "actions" +#~ msgstr "actions" + +#: src/tables/settings/TemplateTable.tsx:170 +msgid "Modify" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:171 +msgid "Modify template file" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:222 +#: src/tables/settings/TemplateTable.tsx:289 +msgid "Edit Template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:230 +msgid "Delete template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:236 +msgid "Add Template" msgstr "" #: src/tables/settings/TemplateTable.tsx:243 -msgid "Add new" -msgstr "" +#~ msgid "Add new" +#~ msgstr "Add new" #: src/tables/settings/TemplateTable.tsx:243 #~ msgid "Create new" #~ msgstr "Create new" -#: src/tables/settings/TemplateTable.tsx:276 +#: src/tables/settings/TemplateTable.tsx:249 +msgid "Add template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:271 msgid "Filter by enabled status" msgstr "" +#: src/tables/settings/TemplateTable.tsx:276 +msgid "Model Type" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:277 +msgid "Filter by target model type" +msgstr "" + #: src/tables/settings/UserTable.tsx:79 msgid "User with id {id} not found" msgstr "" @@ -6277,6 +6473,23 @@ msgstr "" msgid "Edit user" msgstr "" +#: src/tables/stock/LocationTypesTable.tsx:36 +#: src/tables/stock/LocationTypesTable.tsx:105 +msgid "Add Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:44 +msgid "Edit Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:52 +msgid "Delete Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:69 +msgid "Icon" +msgstr "" + #: src/tables/stock/StockItemTable.tsx:90 msgid "This stock item is in production" msgstr "" @@ -6338,7 +6551,7 @@ msgid "Show items which are available" msgstr "" #: src/tables/stock/StockItemTable.tsx:280 -#: src/tables/stock/StockLocationTable.tsx:37 +#: src/tables/stock/StockLocationTable.tsx:33 msgid "Include Sublocations" msgstr "" @@ -6467,123 +6680,135 @@ msgstr "" msgid "Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:153 +#: src/tables/stock/StockItemTestResultTable.tsx:151 msgid "Test result for installed stock item" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:164 +#: src/tables/stock/StockItemTestResultTable.tsx:162 msgid "Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:170 +#: src/tables/stock/StockItemTestResultTable.tsx:168 msgid "No Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:186 +#: src/tables/stock/StockItemTestResultTable.tsx:184 msgid "Attachment" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:209 +#: src/tables/stock/StockItemTestResultTable.tsx:200 msgid "Test station" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:229 +#: src/tables/stock/StockItemTestResultTable.tsx:220 msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:277 -#: src/tables/stock/StockItemTestResultTable.tsx:349 -#: src/tables/stock/StockItemTestResultTable.tsx:404 +#: src/tables/stock/StockItemTestResultTable.tsx:268 +#: src/tables/stock/StockItemTestResultTable.tsx:340 +#: src/tables/stock/StockItemTestResultTable.tsx:395 msgid "Add Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:279 +#: src/tables/stock/StockItemTestResultTable.tsx:270 msgid "Test result added" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:288 -#: src/tables/stock/StockItemTestResultTable.tsx:359 +#: src/tables/stock/StockItemTestResultTable.tsx:279 +#: src/tables/stock/StockItemTestResultTable.tsx:350 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:290 +#: src/tables/stock/StockItemTestResultTable.tsx:281 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:296 -#: src/tables/stock/StockItemTestResultTable.tsx:368 +#: src/tables/stock/StockItemTestResultTable.tsx:287 +#: src/tables/stock/StockItemTestResultTable.tsx:359 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:298 +#: src/tables/stock/StockItemTestResultTable.tsx:289 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:312 +#: src/tables/stock/StockItemTestResultTable.tsx:303 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:313 +#: src/tables/stock/StockItemTestResultTable.tsx:304 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:320 +#: src/tables/stock/StockItemTestResultTable.tsx:311 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:337 +#: src/tables/stock/StockItemTestResultTable.tsx:328 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:386 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:390 +#: src/tables/stock/StockItemTestResultTable.tsx:381 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:391 +#: src/tables/stock/StockItemTestResultTable.tsx:382 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:395 +#: src/tables/stock/StockItemTestResultTable.tsx:386 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:396 +#: src/tables/stock/StockItemTestResultTable.tsx:387 msgid "Show only passed tests" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:38 +#: src/tables/stock/StockLocationTable.tsx:34 msgid "Include sublocations in results" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:42 +#: src/tables/stock/StockLocationTable.tsx:38 msgid "structural" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:43 +#: src/tables/stock/StockLocationTable.tsx:39 msgid "Show structural locations" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:47 +#: src/tables/stock/StockLocationTable.tsx:43 msgid "external" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:48 +#: src/tables/stock/StockLocationTable.tsx:44 msgid "Show external locations" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:52 +#: src/tables/stock/StockLocationTable.tsx:48 msgid "Has location type" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:89 -#: src/tables/stock/StockLocationTable.tsx:118 +#: src/tables/stock/StockLocationTable.tsx:85 +#: src/tables/stock/StockLocationTable.tsx:110 msgid "Add Stock Location" msgstr "" +#: src/tables/stock/StockTrackingTable.tsx:64 +msgid "Added" +msgstr "" + +#: src/tables/stock/StockTrackingTable.tsx:69 +msgid "Removed" +msgstr "" + +#: src/tables/stock/StockTrackingTable.tsx:198 +msgid "No user information" +msgstr "" + #: src/views/MobileAppView.tsx:22 msgid "Mobile viewport detected" msgstr "" diff --git a/src/frontend/src/locales/pseudo-LOCALE/messages.po b/src/frontend/src/locales/pseudo-LOCALE/messages.po index c7f756426a..e7003ac20f 100644 --- a/src/frontend/src/locales/pseudo-LOCALE/messages.po +++ b/src/frontend/src/locales/pseudo-LOCALE/messages.po @@ -65,10 +65,67 @@ msgstr "" msgid "Title" msgstr "" +#: src/components/buttons/AdminButton.tsx:83 +msgid "Open in admin interface" +msgstr "" + #: src/components/buttons/CopyButton.tsx:18 msgid "Copy to clipboard" msgstr "" +#: src/components/buttons/PrintingActions.tsx:95 +msgid "Print Label" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:101 +msgid "Label printing completed successfully" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:106 +#: src/components/buttons/PrintingActions.tsx:143 +#: src/components/forms/ApiForm.tsx:504 +#: src/components/forms/fields/ApiFormField.tsx:295 +#: src/components/modals/LicenseModal.tsx:75 +#: src/components/nav/SearchDrawer.tsx:413 +#: src/components/widgets/MarkdownEditor.tsx:107 +#: src/components/widgets/MarkdownEditor.tsx:153 +#: src/pages/ErrorPage.tsx:12 +#: src/pages/ErrorPage.tsx:25 +#: src/pages/part/PartPricingPanel.tsx:71 +#: src/tables/InvenTreeTable.tsx:451 +#: src/tables/InvenTreeTable.tsx:531 +#: src/tables/stock/StockItemTestResultTable.tsx:310 +msgid "Error" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:107 +msgid "The label could not be generated" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:122 +msgid "Print Report" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:138 +msgid "Report printing completed successfully" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:144 +msgid "The report could not be generated" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:171 +msgid "Printing Actions" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:176 +msgid "Print Labels" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:182 +msgid "Print Reports" +msgstr "" + #: src/components/buttons/ScanButton.tsx:15 msgid "Scan QR code" msgstr "" @@ -99,15 +156,15 @@ msgstr "" msgid "No" msgstr "" -#: src/components/details/Details.tsx:302 +#: src/components/details/Details.tsx:303 msgid "No name defined" msgstr "" -#: src/components/details/Details.tsx:339 +#: src/components/details/Details.tsx:340 msgid "Copied" msgstr "" -#: src/components/details/Details.tsx:339 +#: src/components/details/Details.tsx:340 msgid "Copy" msgstr "" @@ -120,24 +177,23 @@ msgid "Remove the associated image from this item?" msgstr "" #: src/components/details/DetailsImage.tsx:71 -#: src/forms/StockForms.tsx:442 +#: src/forms/StockForms.tsx:483 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:448 +#: src/pages/stock/StockDetail.tsx:462 msgid "Remove" msgstr "" #: src/components/details/DetailsImage.tsx:71 -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:163 -#: src/components/items/ActionDropdown.tsx:222 -#: src/components/items/ActionDropdown.tsx:223 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 +#: src/components/items/ActionDropdown.tsx:229 +#: src/components/items/ActionDropdown.tsx:230 #: src/contexts/ThemeContext.tsx:43 #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:40 -#: src/tables/FilterSelectDrawer.tsx:218 -#: src/tables/InvenTreeTable.tsx:493 -#: src/tables/build/BuildOutputTable.tsx:223 -#: src/tables/plugin/PluginListTable.tsx:365 +#: src/tables/FilterSelectDrawer.tsx:207 +#: src/tables/InvenTreeTable.tsx:499 +#: src/tables/build/BuildOutputTable.tsx:225 msgid "Cancel" msgstr "" @@ -154,7 +210,7 @@ msgid "Clear" msgstr "" #: src/components/details/DetailsImage.tsx:227 -#: src/components/forms/ApiForm.tsx:554 +#: src/components/forms/ApiForm.tsx:571 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:56 msgid "Submit" @@ -185,9 +241,10 @@ msgid "Part is not active" msgstr "" #: src/components/details/PartIcons.tsx:34 -#: src/pages/company/CompanyDetail.tsx:308 -#: src/pages/company/SupplierPartDetail.tsx:304 -#: src/pages/part/PartDetail.tsx:684 +#: src/components/render/Plugin.tsx:17 +#: src/pages/company/CompanyDetail.tsx:310 +#: src/pages/company/SupplierPartDetail.tsx:305 +#: src/pages/part/PartDetail.tsx:685 msgid "Inactive" msgstr "" @@ -231,10 +288,10 @@ msgid "Code" msgstr "" #: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:44 -msgid "Failed to parse error response from server." -msgstr "" +#~ msgid "Failed to parse error response from server." +#~ msgstr "" -#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:82 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:81 msgid "Preview not available, click \"Reload Preview\"." msgstr "" @@ -242,98 +299,99 @@ msgstr "" msgid "PDF Preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:113 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:104 msgid "Error loading template" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:125 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:116 msgid "Error saving template" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 -msgid "Save & Reload preview?" +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:146 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:270 +msgid "Save & Reload Preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:156 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 msgid "Are you sure you want to Save & Reload the preview?" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 +#~ msgid "Save & Reload preview?" +#~ msgstr "" + +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:153 msgid "To render the preview the current template needs to be replaced on the server with your modifications which may break the label if it is under active use. Do you want to proceed?" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:162 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:157 msgid "Save & Reload" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:191 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:189 msgid "Preview updated" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:192 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:190 msgid "The preview has been updated successfully." msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:255 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:262 msgid "Reload preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:256 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:263 msgid "Use the currently stored template from the server" msgstr "" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:263 -msgid "Save & Reload preview" -msgstr "" +#~ msgid "Save & Reload preview" +#~ msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:264 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:271 msgid "Save the current template and reload the preview" msgstr "" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:322 -#: src/tables/part/PartThumbTable.tsx:203 -msgid "Select" +#~ msgid "to preview" +#~ msgstr "" + +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:329 +msgid "Select instance to preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:322 -msgid "to preview" -msgstr "" - -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:366 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:373 msgid "Error rendering template" msgstr "" -#: src/components/forms/ApiForm.tsx:143 +#: src/components/forms/ApiForm.tsx:148 #: src/functions/forms.tsx:259 msgid "Form Error" msgstr "" -#: src/components/forms/ApiForm.tsx:411 +#: src/components/forms/ApiForm.tsx:428 #: src/components/widgets/MarkdownEditor.tsx:145 msgid "Success" msgstr "" #: src/components/forms/ApiForm.tsx:487 -msgid "Form Errors Exist" -msgstr "" +#~ msgid "Form Errors Exist" +#~ msgstr "" -#: src/components/forms/ApiForm.tsx:592 -#: src/tables/plugin/PluginListTable.tsx:445 +#: src/components/forms/ApiForm.tsx:609 +#: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "" -#: src/components/forms/ApiForm.tsx:612 -#: src/components/items/ActionDropdown.tsx:203 +#: src/components/forms/ApiForm.tsx:629 +#: src/components/items/ActionDropdown.tsx:210 #: src/functions/forms.tsx:299 #: src/hooks/UseForm.tsx:122 #: src/pages/Index/Scan.tsx:343 #: src/pages/Notifications.tsx:123 -#: src/tables/InvenTreeTable.tsx:492 +#: src/tables/InvenTreeTable.tsx:498 #: src/tables/RowActions.tsx:71 -#: src/tables/plugin/PluginListTable.tsx:477 -#: src/tables/settings/TemplateTable.tsx:105 -#: src/tables/settings/TemplateTable.tsx:154 -#: src/tables/settings/TemplateTable.tsx:236 +#: src/tables/plugin/PluginListTable.tsx:420 msgid "Delete" msgstr "" @@ -503,18 +561,19 @@ msgstr "" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 -#: src/pages/part/CategoryDetail.tsx:77 -#: src/pages/part/PartDetail.tsx:125 -#: src/pages/stock/LocationDetail.tsx:83 +#: src/pages/part/CategoryDetail.tsx:78 +#: src/pages/part/PartDetail.tsx:126 +#: src/pages/stock/LocationDetail.tsx:85 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 #: src/tables/machine/MachineTypeTable.tsx:216 #: src/tables/machine/MachineTypeTable.tsx:319 #: src/tables/plugin/PluginErrorTable.tsx:33 -#: src/tables/plugin/PluginListTable.tsx:169 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:27 +#: src/tables/plugin/PluginListTable.tsx:126 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:32 #: src/tables/settings/GroupTable.tsx:103 #: src/tables/settings/PendingTasksTable.tsx:26 +#: src/tables/stock/LocationTypesTable.tsx:60 msgid "Name" msgstr "" @@ -555,35 +614,20 @@ msgstr "" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/ApiFormField.tsx:276 -#: src/components/modals/LicenseModal.tsx:75 -#: src/components/nav/SearchDrawer.tsx:413 -#: src/components/widgets/MarkdownEditor.tsx:107 -#: src/components/widgets/MarkdownEditor.tsx:153 -#: src/pages/ErrorPage.tsx:12 -#: src/pages/ErrorPage.tsx:25 -#: src/pages/part/PartPricingPanel.tsx:71 -#: src/tables/InvenTreeTable.tsx:445 -#: src/tables/InvenTreeTable.tsx:525 -#: src/tables/plugin/PluginListTable.tsx:402 -#: src/tables/stock/StockItemTestResultTable.tsx:319 -msgid "Error" -msgstr "" - -#: src/components/forms/fields/RelatedModelField.tsx:305 +#: src/components/forms/fields/RelatedModelField.tsx:315 #: src/pages/Index/Settings/UserSettings.tsx:64 #: src/tables/Search.tsx:23 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:306 +#: src/components/forms/fields/RelatedModelField.tsx:316 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:120 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:308 +#: src/components/forms/fields/RelatedModelField.tsx:318 msgid "No results found" msgstr "" @@ -604,54 +648,51 @@ msgstr "" msgid "Thumbnail" msgstr "" -#: src/components/items/ActionDropdown.tsx:112 -#: src/pages/build/BuildDetail.tsx:354 +#: src/components/items/ActionDropdown.tsx:119 +#: src/pages/build/BuildDetail.tsx:360 msgid "Barcode Actions" msgstr "" -#: src/components/items/ActionDropdown.tsx:129 +#: src/components/items/ActionDropdown.tsx:136 msgid "View" msgstr "" -#: src/components/items/ActionDropdown.tsx:130 +#: src/components/items/ActionDropdown.tsx:137 msgid "View barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:146 +#: src/components/items/ActionDropdown.tsx:153 msgid "Link Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:147 +#: src/components/items/ActionDropdown.tsx:154 msgid "Link custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:163 -#: src/forms/PurchaseOrderForms.tsx:375 +#: src/components/items/ActionDropdown.tsx:170 +#: src/forms/PurchaseOrderForms.tsx:389 msgid "Unlink Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:164 +#: src/components/items/ActionDropdown.tsx:171 msgid "Unlink custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:182 +#: src/components/items/ActionDropdown.tsx:189 #: src/tables/RowActions.tsx:51 -#: src/tables/settings/TemplateTable.tsx:87 -#: src/tables/settings/TemplateTable.tsx:150 -#: src/tables/settings/TemplateTable.tsx:287 msgid "Edit" msgstr "" -#: src/components/items/ActionDropdown.tsx:204 +#: src/components/items/ActionDropdown.tsx:211 msgid "Delete item" msgstr "" -#: src/components/items/ActionDropdown.tsx:241 +#: src/components/items/ActionDropdown.tsx:248 #: src/tables/RowActions.tsx:31 msgid "Duplicate" msgstr "" -#: src/components/items/ActionDropdown.tsx:242 +#: src/components/items/ActionDropdown.tsx:249 msgid "Duplicate item" msgstr "" @@ -660,7 +701,7 @@ msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:437 +#: src/tables/InvenTreeTable.tsx:443 msgid "Unknown error" msgstr "" @@ -824,27 +865,27 @@ msgstr "" #: src/components/modals/QrCodeModal.tsx:154 #: src/defaults/menuItems.tsx:21 -#: src/pages/Index/Scan.tsx:747 +#: src/pages/Index/Scan.tsx:746 msgid "Scanning" msgstr "" #: src/components/modals/QrCodeModal.tsx:154 -#: src/pages/Index/Scan.tsx:747 +#: src/pages/Index/Scan.tsx:746 msgid "Not scanning" msgstr "" #: src/components/modals/QrCodeModal.tsx:159 -#: src/pages/Index/Scan.tsx:753 +#: src/pages/Index/Scan.tsx:752 msgid "Select Camera" msgstr "" #: src/components/modals/QrCodeModal.tsx:169 -#: src/pages/Index/Scan.tsx:738 +#: src/pages/Index/Scan.tsx:737 msgid "Start scanning" msgstr "" #: src/components/modals/QrCodeModal.tsx:176 -#: src/pages/Index/Scan.tsx:730 +#: src/pages/Index/Scan.tsx:729 msgid "Stop scanning" msgstr "" @@ -930,8 +971,8 @@ msgid "Email settings not configured" msgstr "" #: src/components/modals/ServerInfoModal.tsx:121 -#: src/tables/plugin/PluginListTable.tsx:187 -#: src/tables/plugin/PluginListTable.tsx:319 +#: src/tables/plugin/PluginListTable.tsx:144 +#: src/tables/plugin/PluginListTable.tsx:294 msgid "Version" msgstr "" @@ -965,13 +1006,13 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:293 +#: src/pages/Index/Settings/SystemSettings.tsx:294 msgid "System Settings" msgstr "" #: src/components/nav/MainMenu.tsx:67 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:172 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 msgid "Admin Center" msgstr "" @@ -1014,7 +1055,7 @@ msgid "Pages" msgstr "" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:133 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:153 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "" @@ -1052,9 +1093,9 @@ msgid "Mark as read" msgstr "" #: src/components/nav/PartCategoryTree.tsx:158 -#: src/components/render/ModelType.tsx:60 +#: src/components/render/ModelType.tsx:64 #: src/pages/Index/Settings/SystemSettings.tsx:162 -#: src/pages/part/CategoryDetail.tsx:248 +#: src/pages/part/CategoryDetail.tsx:249 msgid "Part Categories" msgstr "" @@ -1091,142 +1132,147 @@ msgid "No results available for search query" msgstr "" #: src/components/nav/StockLocationTree.tsx:93 -#: src/components/render/ModelType.tsx:76 -#: src/pages/stock/LocationDetail.tsx:175 +#: src/components/render/ModelType.tsx:82 +#: src/pages/stock/LocationDetail.tsx:185 msgid "Stock Locations" msgstr "" -#: src/components/render/Instance.tsx:137 +#: src/components/render/Instance.tsx:166 msgid "Unknown model: {model}" msgstr "" -#: src/components/render/ModelType.tsx:21 -#: src/forms/BuildForms.tsx:184 -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49 +#: src/components/render/ModelType.tsx:22 +#: src/forms/BuildForms.tsx:201 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:83 #: src/pages/part/PartDetail.tsx:828 #: src/tables/part/RelatedPartTable.tsx:45 +#: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" msgstr "" -#: src/components/render/ModelType.tsx:22 +#: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 #: src/pages/Index/Settings/SystemSettings.tsx:167 -#: src/pages/part/CategoryDetail.tsx:109 -#: src/pages/part/CategoryDetail.tsx:234 -#: src/pages/part/CategoryDetail.tsx:264 -#: src/pages/part/PartDetail.tsx:638 +#: src/pages/part/CategoryDetail.tsx:110 +#: src/pages/part/CategoryDetail.tsx:235 +#: src/pages/part/CategoryDetail.tsx:265 +#: src/pages/part/PartDetail.tsx:639 msgid "Parts" msgstr "" -#: src/components/render/ModelType.tsx:29 +#: src/components/render/ModelType.tsx:31 msgid "Part Parameter Template" msgstr "" -#: src/components/render/ModelType.tsx:30 +#: src/components/render/ModelType.tsx:32 msgid "Part Parameter Templates" msgstr "" -#: src/components/render/ModelType.tsx:36 +#: src/components/render/ModelType.tsx:38 msgid "Part Test Template" msgstr "" -#: src/components/render/ModelType.tsx:37 +#: src/components/render/ModelType.tsx:39 msgid "Part Test Templates" msgstr "" -#: src/components/render/ModelType.tsx:43 -#: src/pages/company/SupplierPartDetail.tsx:189 -#: src/pages/company/SupplierPartDetail.tsx:317 -#: src/pages/stock/StockDetail.tsx:159 +#: src/components/render/ModelType.tsx:45 +#: src/pages/company/SupplierPartDetail.tsx:190 +#: src/pages/company/SupplierPartDetail.tsx:318 +#: src/pages/stock/StockDetail.tsx:162 #: src/tables/purchasing/SupplierPartTable.tsx:68 msgid "Supplier Part" msgstr "" -#: src/components/render/ModelType.tsx:44 +#: src/components/render/ModelType.tsx:46 msgid "Supplier Parts" msgstr "" -#: src/components/render/ModelType.tsx:51 -#: src/pages/company/ManufacturerPartDetail.tsx:124 +#: src/components/render/ModelType.tsx:54 +#: src/pages/company/ManufacturerPartDetail.tsx:125 msgid "Manufacturer Part" msgstr "" -#: src/components/render/ModelType.tsx:52 +#: src/components/render/ModelType.tsx:55 msgid "Manufacturer Parts" msgstr "" -#: src/components/render/ModelType.tsx:59 -#: src/pages/part/CategoryDetail.tsx:287 +#: src/components/render/ModelType.tsx:63 +#: src/pages/part/CategoryDetail.tsx:288 msgid "Part Category" msgstr "" -#: src/components/render/ModelType.tsx:67 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67 -#: src/pages/stock/StockDetail.tsx:535 +#: src/components/render/ModelType.tsx:72 +#: src/pages/stock/StockDetail.tsx:548 +#: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" msgstr "" -#: src/components/render/ModelType.tsx:68 -#: src/pages/company/CompanyDetail.tsx:197 -#: src/pages/stock/LocationDetail.tsx:116 -#: src/pages/stock/LocationDetail.tsx:161 +#: src/components/render/ModelType.tsx:73 +#: src/pages/company/CompanyDetail.tsx:199 +#: src/pages/stock/LocationDetail.tsx:118 +#: src/pages/stock/LocationDetail.tsx:171 #: src/pages/stock/LocationDetail.tsx:365 msgid "Stock Items" msgstr "" -#: src/components/render/ModelType.tsx:75 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:154 +#: src/components/render/ModelType.tsx:81 msgid "Stock Location" msgstr "" -#: src/components/render/ModelType.tsx:83 +#: src/components/render/ModelType.tsx:90 +msgid "Stock Location Type" +msgstr "" + +#: src/components/render/ModelType.tsx:91 +msgid "Stock Location Types" +msgstr "" + +#: src/components/render/ModelType.tsx:95 msgid "Stock History" msgstr "" -#: src/components/render/ModelType.tsx:84 +#: src/components/render/ModelType.tsx:96 msgid "Stock Histories" msgstr "" -#: src/components/render/ModelType.tsx:88 +#: src/components/render/ModelType.tsx:100 #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:43 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:126 msgid "Build" msgstr "" -#: src/components/render/ModelType.tsx:89 +#: src/components/render/ModelType.tsx:101 msgid "Builds" msgstr "" -#: src/components/render/ModelType.tsx:96 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:76 +#: src/components/render/ModelType.tsx:109 msgid "Build Line" msgstr "" -#: src/components/render/ModelType.tsx:97 +#: src/components/render/ModelType.tsx:110 msgid "Build Lines" msgstr "" -#: src/components/render/ModelType.tsx:104 -#: src/pages/company/CompanyDetail.tsx:321 +#: src/components/render/ModelType.tsx:117 +#: src/pages/company/CompanyDetail.tsx:323 msgid "Company" msgstr "" -#: src/components/render/ModelType.tsx:105 +#: src/components/render/ModelType.tsx:118 msgid "Companies" msgstr "" -#: src/components/render/ModelType.tsx:112 +#: src/components/render/ModelType.tsx:126 #: src/tables/TableHoverCard.tsx:58 #: src/tables/build/BuildOrderTable.tsx:131 #: src/tables/purchasing/PurchaseOrderTable.tsx:64 @@ -1235,170 +1281,199 @@ msgstr "" msgid "Project Code" msgstr "" -#: src/components/render/ModelType.tsx:113 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:97 +#: src/components/render/ModelType.tsx:127 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:105 msgid "Project Codes" msgstr "" -#: src/components/render/ModelType.tsx:119 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99 +#: src/components/render/ModelType.tsx:133 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:355 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:362 +#: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" msgstr "" -#: src/components/render/ModelType.tsx:120 -#: src/pages/Index/Settings/SystemSettings.tsx:242 -#: src/pages/company/CompanyDetail.tsx:190 -#: src/pages/company/SupplierPartDetail.tsx:223 -#: src/pages/part/PartDetail.tsx:571 +#: src/components/render/ModelType.tsx:134 +#: src/pages/Index/Settings/SystemSettings.tsx:243 +#: src/pages/company/CompanyDetail.tsx:192 +#: src/pages/company/SupplierPartDetail.tsx:224 +#: src/pages/part/PartDetail.tsx:572 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" -#: src/components/render/ModelType.tsx:127 +#: src/components/render/ModelType.tsx:142 msgid "Purchase Order Line" msgstr "" -#: src/components/render/ModelType.tsx:128 +#: src/components/render/ModelType.tsx:143 msgid "Purchase Order Lines" msgstr "" -#: src/components/render/ModelType.tsx:132 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:108 +#: src/components/render/ModelType.tsx:147 #: src/pages/build/BuildDetail.tsx:131 -#: src/pages/sales/SalesOrderDetail.tsx:340 -#: src/pages/stock/StockDetail.tsx:207 +#: src/pages/sales/SalesOrderDetail.tsx:347 +#: src/pages/stock/StockDetail.tsx:210 +#: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" msgstr "" -#: src/components/render/ModelType.tsx:133 -#: src/pages/Index/Settings/SystemSettings.tsx:257 -#: src/pages/company/CompanyDetail.tsx:210 -#: src/pages/part/PartDetail.tsx:577 +#: src/components/render/ModelType.tsx:148 +#: src/pages/Index/Settings/SystemSettings.tsx:258 +#: src/pages/company/CompanyDetail.tsx:212 +#: src/pages/part/PartDetail.tsx:578 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" -#: src/components/render/ModelType.tsx:140 +#: src/components/render/ModelType.tsx:156 msgid "Sales Order Shipment" msgstr "" -#: src/components/render/ModelType.tsx:141 +#: src/components/render/ModelType.tsx:157 msgid "Sales Order Shipments" msgstr "" -#: src/components/render/ModelType.tsx:147 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:117 -#: src/pages/sales/ReturnOrderDetail.tsx:318 +#: src/components/render/ModelType.tsx:163 +#: src/pages/sales/ReturnOrderDetail.tsx:325 +#: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "" -#: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:272 -#: src/pages/company/CompanyDetail.tsx:217 +#: src/components/render/ModelType.tsx:164 +#: src/pages/Index/Settings/SystemSettings.tsx:273 +#: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" msgstr "" -#: src/components/render/ModelType.tsx:155 +#: src/components/render/ModelType.tsx:172 #: src/tables/company/AddressTable.tsx:47 msgid "Address" msgstr "" -#: src/components/render/ModelType.tsx:156 -#: src/pages/company/CompanyDetail.tsx:247 +#: src/components/render/ModelType.tsx:173 +#: src/pages/company/CompanyDetail.tsx:249 msgid "Addresses" msgstr "" -#: src/components/render/ModelType.tsx:162 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:189 -#: src/pages/sales/ReturnOrderDetail.tsx:157 -#: src/pages/sales/SalesOrderDetail.tsx:161 +#: src/components/render/ModelType.tsx:179 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:191 +#: src/pages/sales/ReturnOrderDetail.tsx:159 +#: src/pages/sales/SalesOrderDetail.tsx:163 msgid "Contact" msgstr "" -#: src/components/render/ModelType.tsx:163 -#: src/pages/company/CompanyDetail.tsx:241 +#: src/components/render/ModelType.tsx:180 +#: src/pages/company/CompanyDetail.tsx:243 msgid "Contacts" msgstr "" -#: src/components/render/ModelType.tsx:169 +#: src/components/render/ModelType.tsx:186 msgid "Owner" msgstr "" -#: src/components/render/ModelType.tsx:170 +#: src/components/render/ModelType.tsx:187 msgid "Owners" msgstr "" -#: src/components/render/ModelType.tsx:176 +#: src/components/render/ModelType.tsx:193 +#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "" -#: src/components/render/ModelType.tsx:177 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:73 +#: src/components/render/ModelType.tsx:194 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:81 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "" -#: src/components/render/Order.tsx:87 +#: src/components/render/ModelType.tsx:200 +msgid "Label Template" +msgstr "" + +#: src/components/render/ModelType.tsx:201 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:135 +msgid "Label Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:207 +msgid "Report Template" +msgstr "" + +#: src/components/render/ModelType.tsx:208 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:141 +msgid "Report Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:214 +msgid "Plugin Configuration" +msgstr "" + +#: src/components/render/ModelType.tsx:215 +msgid "Plugin Configurations" +msgstr "" + +#: src/components/render/Order.tsx:104 msgid "Shipment" msgstr "" -#: src/components/render/Part.tsx:12 +#: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:198 -#: src/pages/part/PartDetail.tsx:491 +#: src/pages/Index/Settings/SystemSettings.tsx:199 +#: src/pages/part/PartDetail.tsx:492 #: src/pages/stock/LocationDetail.tsx:344 -#: src/pages/stock/StockDetail.tsx:344 +#: src/pages/stock/StockDetail.tsx:352 #: src/tables/stock/StockItemTable.tsx:57 msgid "Stock" msgstr "" -#: src/components/render/Stock.tsx:26 -#: src/pages/stock/StockDetail.tsx:142 -#: src/pages/stock/StockDetail.tsx:501 +#: src/components/render/Stock.tsx:52 +#: src/pages/stock/StockDetail.tsx:145 +#: src/pages/stock/StockDetail.tsx:514 msgid "Serial Number" msgstr "" -#: src/components/render/Stock.tsx:28 -#: src/forms/BuildForms.tsx:189 +#: src/components/render/Stock.tsx:54 +#: src/forms/BuildForms.tsx:206 #: src/pages/part/pricing/BomPricingPanel.tsx:144 -#: src/pages/part/pricing/PriceBreakPanel.tsx:96 -#: src/pages/stock/StockDetail.tsx:137 -#: src/pages/stock/StockDetail.tsx:507 +#: src/pages/part/pricing/PriceBreakPanel.tsx:94 +#: src/pages/stock/StockDetail.tsx:140 +#: src/pages/stock/StockDetail.tsx:520 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:73 +#: src/tables/stock/StockTrackingTable.tsx:59 msgid "Quantity" msgstr "" -#: src/components/settings/SettingItem.tsx:46 -#: src/components/settings/SettingItem.tsx:99 -msgid "Setting updated" -msgstr "" - #: src/components/settings/SettingItem.tsx:47 #: src/components/settings/SettingItem.tsx:100 -msgid "{0} updated successfully" -msgstr "" +#~ msgid "{0} updated successfully" +#~ msgstr "" -#: src/components/settings/SettingItem.tsx:55 -msgid "Error editing setting" -msgstr "" - -#: src/components/settings/SettingItem.tsx:92 +#: src/components/settings/SettingList.tsx:67 msgid "Edit Setting" msgstr "" -#: src/components/settings/SettingList.tsx:63 -msgid "No settings specified" +#: src/components/settings/SettingList.tsx:78 +#: src/components/settings/SettingList.tsx:108 +msgid "Setting {0} updated successfully" msgstr "" -#: src/components/tables/ColumnRenderers.tsx:134 -#~ msgid "Shipment Date" -#~ msgstr "" +#: src/components/settings/SettingList.tsx:107 +msgid "Setting updated" +msgstr "" + +#: src/components/settings/SettingList.tsx:117 +msgid "Error editing setting" +msgstr "" + +#: src/components/settings/SettingList.tsx:158 +msgid "No settings specified" +msgstr "" #: src/components/tables/FilterGroup.tsx:29 #~ msgid "Add table filter" @@ -1770,10 +1845,6 @@ msgstr "" #~ msgid "This is a test filter" #~ msgstr "" -#: src/components/tables/stock/StockLocationTable.tsx:91 -#~ msgid "Location Type" -#~ msgstr "" - #: src/components/tables/stock/StockLocationTable.tsx:145 #~ msgid "Stock location updated" #~ msgstr "" @@ -2111,7 +2182,7 @@ msgstr "" #~ msgstr "" #: src/defaults/links.tsx:11 -#: src/pages/company/CompanyDetail.tsx:90 +#: src/pages/company/CompanyDetail.tsx:92 msgid "Website" msgstr "" @@ -2126,10 +2197,10 @@ msgstr "" #: src/defaults/links.tsx:31 #: src/defaults/menuItems.tsx:48 #: src/pages/company/ManufacturerDetail.tsx:9 -#: src/pages/company/ManufacturerPartDetail.tsx:231 +#: src/pages/company/ManufacturerPartDetail.tsx:235 #: src/pages/company/SupplierDetail.tsx:9 -#: src/pages/company/SupplierPartDetail.tsx:291 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:358 +#: src/pages/company/SupplierPartDetail.tsx:292 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:365 #: src/pages/purchasing/PurchasingIndex.tsx:52 msgid "Purchasing" msgstr "" @@ -2137,15 +2208,15 @@ msgstr "" #: src/defaults/links.tsx:32 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:323 +#: src/pages/sales/ReturnOrderDetail.tsx:330 #: src/pages/sales/SalesIndex.tsx:45 -#: src/pages/sales/SalesOrderDetail.tsx:345 +#: src/pages/sales/SalesOrderDetail.tsx:352 msgid "Sales" msgstr "" #: src/defaults/links.tsx:35 #: src/defaults/menuItems.tsx:71 -#: src/pages/Index/Playground.tsx:239 +#: src/pages/Index/Playground.tsx:238 msgid "Playground" msgstr "" @@ -2279,87 +2350,83 @@ msgstr "" #~ msgstr "" #: src/forms/AttachmentForms.tsx:57 -msgid "Add File" -msgstr "" +#~ msgid "Add File" +#~ msgstr "" #: src/forms/AttachmentForms.tsx:57 -msgid "Add Link" -msgstr "" +#~ msgid "Add Link" +#~ msgstr "" #: src/forms/AttachmentForms.tsx:58 -msgid "File added" -msgstr "" +#~ msgid "File added" +#~ msgstr "" #: src/forms/AttachmentForms.tsx:58 -msgid "Link added" -msgstr "" +#~ msgid "Link added" +#~ msgstr "" #: src/forms/AttachmentForms.tsx:99 -msgid "Edit File" -msgstr "" +#~ msgid "Edit File" +#~ msgstr "" #: src/forms/AttachmentForms.tsx:99 -msgid "Edit Link" -msgstr "" +#~ msgid "Edit Link" +#~ msgstr "" #: src/forms/AttachmentForms.tsx:100 -msgid "File updated" -msgstr "" +#~ msgid "File updated" +#~ msgstr "" #: src/forms/AttachmentForms.tsx:100 -msgid "Link updated" -msgstr "" - -#: src/forms/AttachmentForms.tsx:124 -msgid "Delete Attachment" -msgstr "" +#~ msgid "Link updated" +#~ msgstr "" #: src/forms/AttachmentForms.tsx:125 -msgid "Attachment deleted" -msgstr "" +#~ msgid "Attachment deleted" +#~ msgstr "" #: src/forms/AttachmentForms.tsx:128 -msgid "Are you sure you want to delete this attachment?" -msgstr "" +#~ msgid "Are you sure you want to delete this attachment?" +#~ msgstr "" -#: src/forms/BuildForms.tsx:129 +#: src/forms/BuildForms.tsx:146 msgid "Next serial number" msgstr "" -#: src/forms/BuildForms.tsx:133 +#: src/forms/BuildForms.tsx:150 msgid "Latest serial number" msgstr "" -#: src/forms/BuildForms.tsx:205 +#: src/forms/BuildForms.tsx:222 msgid "Remove output" msgstr "" -#: src/forms/BuildForms.tsx:287 +#: src/forms/BuildForms.tsx:304 msgid "Complete Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:291 +#: src/forms/BuildForms.tsx:308 msgid "Build outputs have been completed" msgstr "" -#: src/forms/BuildForms.tsx:360 +#: src/forms/BuildForms.tsx:377 msgid "Scrap Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:364 +#: src/forms/BuildForms.tsx:381 msgid "Build outputs have been scrapped" msgstr "" -#: src/forms/BuildForms.tsx:396 -#: src/forms/BuildForms.tsx:420 +#: src/forms/BuildForms.tsx:413 +#: src/forms/BuildForms.tsx:437 msgid "Cancel Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:397 +#: src/forms/BuildForms.tsx:414 msgid "Selected build outputs will be deleted" msgstr "" -#: src/forms/BuildForms.tsx:424 +#: src/forms/BuildForms.tsx:441 msgid "Build outputs have been cancelled" msgstr "" @@ -2383,76 +2450,76 @@ msgstr "" #~ msgid "Part updated" #~ msgstr "" -#: src/forms/PurchaseOrderForms.tsx:265 +#: src/forms/PurchaseOrderForms.tsx:279 msgid "Choose Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:273 +#: src/forms/PurchaseOrderForms.tsx:287 msgid "Item Destination selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:282 +#: src/forms/PurchaseOrderForms.tsx:296 msgid "Part category default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:292 +#: src/forms/PurchaseOrderForms.tsx:306 msgid "Received stock location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:297 +#: src/forms/PurchaseOrderForms.tsx:311 msgid "Default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:308 -#: src/forms/PurchaseOrderForms.tsx:384 +#: src/forms/PurchaseOrderForms.tsx:322 +#: src/forms/PurchaseOrderForms.tsx:398 msgid "Scan Barcode" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:352 +#: src/forms/PurchaseOrderForms.tsx:366 msgid "Set Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:359 +#: src/forms/PurchaseOrderForms.tsx:373 msgid "Assign Batch Code{0}" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:368 +#: src/forms/PurchaseOrderForms.tsx:382 msgid "Change Status" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:393 -#: src/forms/StockForms.tsx:351 +#: src/forms/PurchaseOrderForms.tsx:407 +#: src/forms/StockForms.tsx:392 msgid "Remove item from list" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:418 -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:58 -#: src/pages/stock/StockDetail.tsx:167 -#: src/tables/ColumnRenderers.tsx:42 +#: src/forms/PurchaseOrderForms.tsx:432 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/pages/stock/StockDetail.tsx:170 +#: src/tables/ColumnRenderers.tsx:34 +#: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:434 +#: src/forms/PurchaseOrderForms.tsx:448 msgid "Store at default location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:447 +#: src/forms/PurchaseOrderForms.tsx:461 msgid "Store at line item destination" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:457 +#: src/forms/PurchaseOrderForms.tsx:471 msgid "Store with already received stock" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:613 +#: src/forms/PurchaseOrderForms.tsx:627 msgid "Receive Line Items" msgstr "" @@ -2460,119 +2527,118 @@ msgstr "" #~ msgid "Receive line items" #~ msgstr "" -#: src/forms/StockForms.tsx:69 +#: src/forms/StockForms.tsx:101 msgid "Add given quantity as packs instead of individual items" msgstr "" -#: src/forms/StockForms.tsx:80 -msgid "Enter initial quantity for this stock item" -msgstr "" - -#: src/forms/StockForms.tsx:85 -msgid "Serial Numbers" -msgstr "" - -#: src/forms/StockForms.tsx:86 -msgid "Enter serial numbers for new stock (or leave blank)" -msgstr "" - #: src/forms/StockForms.tsx:110 #~ msgid "Create Stock Item" #~ msgstr "" -#: src/forms/StockForms.tsx:135 -#: src/pages/stock/StockDetail.tsx:367 -#: src/tables/stock/StockItemTable.tsx:382 -#: src/tables/stock/StockItemTable.tsx:499 -msgid "Add Stock Item" +#: src/forms/StockForms.tsx:114 +msgid "Enter initial quantity for this stock item" +msgstr "" + +#: src/forms/StockForms.tsx:121 +msgid "Serial Numbers" +msgstr "" + +#: src/forms/StockForms.tsx:122 +msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" #: src/forms/StockForms.tsx:158 #~ msgid "Stock item updated" #~ msgstr "" -#: src/forms/StockForms.tsx:298 +#: src/forms/StockForms.tsx:176 +#: src/pages/stock/StockDetail.tsx:375 +#: src/tables/stock/StockItemTable.tsx:382 +#: src/tables/stock/StockItemTable.tsx:499 +msgid "Add Stock Item" +msgstr "" + +#: src/forms/StockForms.tsx:339 msgid "Loading..." msgstr "" -#: src/forms/StockForms.tsx:340 +#: src/forms/StockForms.tsx:381 msgid "Move to default location" msgstr "" -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/part/PartDetail.tsx:205 -#: src/pages/part/PartDetail.tsx:654 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/pages/part/PartDetail.tsx:206 +#: src/pages/part/PartDetail.tsx:655 #: src/tables/stock/StockItemTable.tsx:290 msgid "In Stock" msgstr "" -#: src/forms/StockForms.tsx:408 +#: src/forms/StockForms.tsx:449 msgid "Move" msgstr "" -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/tables/RowActions.tsx:147 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/tables/RowActions.tsx:149 msgid "Actions" msgstr "" -#: src/forms/StockForms.tsx:471 -#: src/pages/stock/StockDetail.tsx:440 -#: src/tables/settings/TemplateTable.tsx:266 -#: src/tables/stock/StockItemTestResultTable.tsx:348 +#: src/forms/StockForms.tsx:512 +#: src/pages/stock/StockDetail.tsx:454 +#: src/tables/stock/StockItemTestResultTable.tsx:339 msgid "Add" msgstr "" -#: src/forms/StockForms.tsx:499 +#: src/forms/StockForms.tsx:540 #: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:430 +#: src/pages/stock/StockDetail.tsx:444 msgid "Count" msgstr "" -#: src/forms/StockForms.tsx:744 +#: src/forms/StockForms.tsx:785 msgid "Add Stock" msgstr "" -#: src/forms/StockForms.tsx:753 +#: src/forms/StockForms.tsx:794 msgid "Remove Stock" msgstr "" -#: src/forms/StockForms.tsx:762 -#: src/pages/part/PartDetail.tsx:781 +#: src/forms/StockForms.tsx:803 +#: src/pages/part/PartDetail.tsx:782 msgid "Transfer Stock" msgstr "" -#: src/forms/StockForms.tsx:771 -#: src/pages/part/PartDetail.tsx:770 +#: src/forms/StockForms.tsx:812 +#: src/pages/part/PartDetail.tsx:771 msgid "Count Stock" msgstr "" -#: src/forms/StockForms.tsx:780 +#: src/forms/StockForms.tsx:821 msgid "Change Stock Status" msgstr "" -#: src/forms/StockForms.tsx:789 +#: src/forms/StockForms.tsx:830 msgid "Merge Stock" msgstr "" -#: src/forms/StockForms.tsx:808 +#: src/forms/StockForms.tsx:849 msgid "Delete Stock Items" msgstr "" -#: src/forms/StockForms.tsx:815 +#: src/forms/StockForms.tsx:856 msgid "Parent stock location" msgstr "" @@ -2767,7 +2833,7 @@ msgstr "" msgid "Welcome to your Dashboard{0}" msgstr "" -#: src/pages/Index/Playground.tsx:244 +#: src/pages/Index/Playground.tsx:243 msgid "This page is a showcase for the possibilities of Platform UI." msgstr "" @@ -3177,49 +3243,53 @@ msgstr "" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:79 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:87 msgid "Background Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:85 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:93 msgid "Error Reports" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:91 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:99 msgid "Currencies" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:109 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:117 msgid "Custom Units" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:115 -#: src/pages/part/CategoryDetail.tsx:254 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:123 +#: src/pages/part/CategoryDetail.tsx:255 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:121 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 +#~ msgid "Templates" +#~ msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:129 msgid "Category Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 -msgid "Templates" +#: src/pages/Index/Settings/AdminCenter/Index.tsx:147 +msgid "Location types" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:139 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:159 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:149 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:169 msgid "Quick Actions" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:154 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 msgid "Add a new user" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:173 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:193 msgid "Advanced Options" msgstr "" @@ -3264,26 +3334,32 @@ msgstr "" msgid "Plugin Settings" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:25 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:53 +msgid "Background Worker Not Running" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:54 +msgid "The background task manager service is not running. Contact your system administrator." +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:60 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:76 msgid "Pending Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:33 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:64 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:84 msgid "Scheduled Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:41 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:68 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:92 msgid "Failed Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:139 -msgid "Labels" -msgstr "" - #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:39 -msgid "Label" -msgstr "" +#~ msgid "Label" +#~ msgstr "" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67 #~ msgid "Stock item" @@ -3294,13 +3370,13 @@ msgstr "" #~ msgstr "" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:88 -msgid "Reports" -msgstr "" +#~ msgid "Reports" +#~ msgstr "" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:89 #: src/pages/build/BuildDetail.tsx:373 -msgid "Report" -msgstr "" +#~ msgid "Report" +#~ msgstr "" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99 #~ msgid "Purchase order" @@ -3314,14 +3390,9 @@ msgstr "" #~ msgid "Return order" #~ msgstr "" -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135 -#: src/pages/part/PartDetail.tsx:518 -msgid "Bill of Materials" -msgstr "" - #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:145 -msgid "Tests" -msgstr "" +#~ msgid "Tests" +#~ msgstr "" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:154 #~ msgid "Stock location" @@ -3360,26 +3431,30 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "" +#: src/pages/Index/Settings/SystemSettings.tsx:139 +msgid "Labels" +msgstr "" + #: src/pages/Index/Settings/SystemSettings.tsx:145 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:223 -#: src/pages/part/PartDetail.tsx:589 +#: src/pages/Index/Settings/SystemSettings.tsx:224 +#: src/pages/part/PartDetail.tsx:590 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:228 -#: src/pages/build/BuildDetail.tsx:426 +#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:525 -#: src/pages/sales/SalesOrderDetail.tsx:263 +#: src/pages/part/PartDetail.tsx:526 +#: src/pages/sales/SalesOrderDetail.tsx:265 msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:296 +#: src/pages/Index/Settings/SystemSettings.tsx:297 msgid "Switch to User Setting" msgstr "" @@ -3436,44 +3511,47 @@ msgstr "" #~ msgstr "" #: src/pages/build/BuildDetail.tsx:89 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:128 -#: src/pages/sales/ReturnOrderDetail.tsx:95 -#: src/pages/sales/SalesOrderDetail.tsx:99 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:130 +#: src/pages/sales/ReturnOrderDetail.tsx:97 +#: src/pages/sales/SalesOrderDetail.tsx:101 #: src/tables/build/BuildOrderTable.tsx:113 #: src/tables/machine/MachineListTable.tsx:326 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderTable.tsx:46 #: src/tables/sales/SalesOrderTable.tsx:52 #: src/tables/stock/StockItemTable.tsx:259 +#: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "" #: src/pages/build/BuildDetail.tsx:95 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:101 -#: src/pages/sales/ReturnOrderDetail.tsx:69 -#: src/pages/sales/SalesOrderDetail.tsx:73 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:103 +#: src/pages/sales/ReturnOrderDetail.tsx:71 +#: src/pages/sales/SalesOrderDetail.tsx:75 +#: src/tables/ColumnRenderers.tsx:106 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" msgstr "" #: src/pages/build/BuildDetail.tsx:100 -#: src/pages/company/CompanyDetail.tsx:84 -#: src/pages/company/ManufacturerPartDetail.tsx:75 -#: src/pages/company/SupplierPartDetail.tsx:82 -#: src/pages/part/CategoryDetail.tsx:91 -#: src/pages/part/PartDetail.tsx:132 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:122 -#: src/pages/sales/ReturnOrderDetail.tsx:89 -#: src/pages/sales/SalesOrderDetail.tsx:93 -#: src/pages/stock/LocationDetail.tsx:97 -#: src/tables/ColumnRenderers.tsx:95 +#: src/pages/company/CompanyDetail.tsx:86 +#: src/pages/company/ManufacturerPartDetail.tsx:76 +#: src/pages/company/SupplierPartDetail.tsx:83 +#: src/pages/part/CategoryDetail.tsx:92 +#: src/pages/part/PartDetail.tsx:133 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:124 +#: src/pages/sales/ReturnOrderDetail.tsx:91 +#: src/pages/sales/SalesOrderDetail.tsx:95 +#: src/pages/stock/LocationDetail.tsx:99 +#: src/tables/ColumnRenderers.tsx:66 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 #: src/tables/machine/MachineTypeTable.tsx:323 #: src/tables/part/RelatedPartTable.tsx:64 -#: src/tables/plugin/PluginListTable.tsx:172 -#: src/tables/plugin/PluginListTable.tsx:302 +#: src/tables/plugin/PluginListTable.tsx:129 +#: src/tables/plugin/PluginListTable.tsx:276 +#: src/tables/stock/LocationTypesTable.tsx:65 msgid "Description" msgstr "" @@ -3486,7 +3564,7 @@ msgid "Build Quantity" msgstr "" #: src/pages/build/BuildDetail.tsx:126 -#: src/pages/build/BuildDetail.tsx:249 +#: src/pages/build/BuildDetail.tsx:256 msgid "Completed Outputs" msgstr "" @@ -3496,10 +3574,10 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:150 -#: src/pages/part/PartDetail.tsx:320 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:214 -#: src/pages/sales/ReturnOrderDetail.tsx:182 -#: src/pages/sales/SalesOrderDetail.tsx:186 +#: src/pages/part/PartDetail.tsx:321 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:184 +#: src/pages/sales/SalesOrderDetail.tsx:188 #: src/tables/build/BuildOrderTable.tsx:148 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 @@ -3513,10 +3591,10 @@ msgid "Created" msgstr "" #: src/pages/build/BuildDetail.tsx:164 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:207 -#: src/pages/sales/ReturnOrderDetail.tsx:175 -#: src/pages/sales/SalesOrderDetail.tsx:179 -#: src/tables/ColumnRenderers.tsx:227 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:209 +#: src/pages/sales/ReturnOrderDetail.tsx:177 +#: src/pages/sales/SalesOrderDetail.tsx:181 +#: src/tables/ColumnRenderers.tsx:191 msgid "Target Date" msgstr "" @@ -3552,6 +3630,11 @@ msgstr "" #~ msgid "Unlink custom barcode from part" #~ msgstr "" +#: src/pages/build/BuildDetail.tsx:197 +#: src/pages/stock/StockDetail.tsx:526 +msgid "Batch Code" +msgstr "" + #: src/pages/build/BuildDetail.tsx:202 #~ msgid "Build Order updated" #~ msgstr "" @@ -3560,86 +3643,87 @@ msgstr "" #~ msgid "Edit build order" #~ msgstr "" -#: src/pages/build/BuildDetail.tsx:222 -msgid "Build Details" -msgstr "" - #: src/pages/build/BuildDetail.tsx:226 #~ msgid "Duplicate build order" #~ msgstr "" -#: src/pages/build/BuildDetail.tsx:228 -#: src/tables/build/BuildLineTable.tsx:225 -msgid "Allocate Stock" +#: src/pages/build/BuildDetail.tsx:229 +msgid "Build Details" msgstr "" #: src/pages/build/BuildDetail.tsx:231 #~ msgid "Delete build order" #~ msgstr "" -#: src/pages/build/BuildDetail.tsx:242 +#: src/pages/build/BuildDetail.tsx:235 +#: src/tables/build/BuildLineTable.tsx:225 +msgid "Allocate Stock" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:249 msgid "Incomplete Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:264 +#: src/pages/build/BuildDetail.tsx:271 msgid "Consumed Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:278 +#: src/pages/build/BuildDetail.tsx:285 msgid "Child Build Orders" msgstr "" -#: src/pages/build/BuildDetail.tsx:288 -#: src/pages/company/CompanyDetail.tsx:253 -#: src/pages/company/ManufacturerPartDetail.tsx:171 -#: src/pages/part/PartDetail.tsx:611 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:276 -#: src/pages/sales/ReturnOrderDetail.tsx:225 -#: src/pages/sales/SalesOrderDetail.tsx:273 -#: src/pages/stock/StockDetail.tsx:317 +#: src/pages/build/BuildDetail.tsx:295 +#: src/pages/company/CompanyDetail.tsx:255 +#: src/pages/company/ManufacturerPartDetail.tsx:172 +#: src/pages/part/PartDetail.tsx:612 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:278 +#: src/pages/sales/ReturnOrderDetail.tsx:227 +#: src/pages/sales/SalesOrderDetail.tsx:275 +#: src/pages/stock/StockDetail.tsx:325 msgid "Attachments" msgstr "" -#: src/pages/build/BuildDetail.tsx:300 -#: src/pages/company/CompanyDetail.tsx:265 -#: src/pages/part/PartDetail.tsx:623 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:288 -#: src/pages/sales/ReturnOrderDetail.tsx:237 -#: src/pages/sales/SalesOrderDetail.tsx:285 -#: src/pages/stock/StockDetail.tsx:329 +#: src/pages/build/BuildDetail.tsx:307 +#: src/pages/company/CompanyDetail.tsx:267 +#: src/pages/part/PartDetail.tsx:624 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:290 +#: src/pages/sales/ReturnOrderDetail.tsx:239 +#: src/pages/sales/SalesOrderDetail.tsx:287 +#: src/pages/stock/StockDetail.tsx:337 +#: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "" -#: src/pages/build/BuildDetail.tsx:318 +#: src/pages/build/BuildDetail.tsx:325 msgid "Edit Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:327 +#: src/pages/build/BuildDetail.tsx:334 msgid "Cancel Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:339 +#: src/pages/build/BuildDetail.tsx:346 #: src/tables/build/BuildOrderTable.tsx:167 #: src/tables/build/BuildOrderTable.tsx:182 msgid "Add Build Order" msgstr "" #: src/pages/build/BuildDetail.tsx:368 -msgid "Reporting Actions" -msgstr "" +#~ msgid "Reporting Actions" +#~ msgstr "" #: src/pages/build/BuildDetail.tsx:374 -msgid "Print build report" -msgstr "" +#~ msgid "Print build report" +#~ msgstr "" -#: src/pages/build/BuildDetail.tsx:380 +#: src/pages/build/BuildDetail.tsx:378 msgid "Build Order Actions" msgstr "" -#: src/pages/build/BuildDetail.tsx:388 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:326 -#: src/pages/sales/ReturnOrderDetail.tsx:300 -#: src/pages/sales/SalesOrderDetail.tsx:310 +#: src/pages/build/BuildDetail.tsx:386 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:333 +#: src/pages/sales/ReturnOrderDetail.tsx:307 +#: src/pages/sales/SalesOrderDetail.tsx:317 msgid "Cancel order" msgstr "" @@ -3651,56 +3735,58 @@ msgstr "" #~ msgid "New Build Order" #~ msgstr "" -#: src/pages/company/CompanyDetail.tsx:98 +#: src/pages/company/CompanyDetail.tsx:100 msgid "Phone Number" msgstr "" -#: src/pages/company/CompanyDetail.tsx:105 +#: src/pages/company/CompanyDetail.tsx:107 msgid "Email Address" msgstr "" -#: src/pages/company/CompanyDetail.tsx:115 +#: src/pages/company/CompanyDetail.tsx:117 msgid "Default Currency" msgstr "" -#: src/pages/company/CompanyDetail.tsx:120 +#: src/pages/company/CompanyDetail.tsx:122 #: src/pages/company/SupplierDetail.tsx:8 -#: src/pages/company/SupplierPartDetail.tsx:106 -#: src/pages/company/SupplierPartDetail.tsx:192 -#: src/pages/company/SupplierPartDetail.tsx:295 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:116 +#: src/pages/company/SupplierPartDetail.tsx:107 +#: src/pages/company/SupplierPartDetail.tsx:193 +#: src/pages/company/SupplierPartDetail.tsx:296 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:118 #: src/tables/company/CompanyTable.tsx:100 #: src/tables/purchasing/PurchaseOrderTable.tsx:88 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:36 msgid "Supplier" msgstr "" -#: src/pages/company/CompanyDetail.tsx:126 +#: src/pages/company/CompanyDetail.tsx:128 #: src/pages/company/ManufacturerDetail.tsx:8 -#: src/pages/company/ManufacturerPartDetail.tsx:93 -#: src/pages/company/ManufacturerPartDetail.tsx:235 -#: src/pages/company/SupplierPartDetail.tsx:121 +#: src/pages/company/ManufacturerPartDetail.tsx:94 +#: src/pages/company/ManufacturerPartDetail.tsx:239 +#: src/pages/company/SupplierPartDetail.tsx:122 #: src/tables/company/CompanyTable.tsx:105 msgid "Manufacturer" msgstr "" -#: src/pages/company/CompanyDetail.tsx:132 +#: src/pages/company/CompanyDetail.tsx:134 #: src/pages/company/CustomerDetail.tsx:8 #: src/pages/part/pricing/SaleHistoryPanel.tsx:39 -#: src/pages/sales/ReturnOrderDetail.tsx:83 -#: src/pages/sales/SalesOrderDetail.tsx:87 -#: src/pages/stock/StockDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:85 +#: src/pages/sales/SalesOrderDetail.tsx:89 +#: src/pages/stock/StockDetail.tsx:219 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:107 +#: src/tables/stock/StockTrackingTable.tsx:140 msgid "Customer" msgstr "" -#: src/pages/company/CompanyDetail.tsx:166 +#: src/pages/company/CompanyDetail.tsx:168 +#: src/tables/stock/StockTrackingTable.tsx:183 msgid "Details" msgstr "" -#: src/pages/company/CompanyDetail.tsx:172 +#: src/pages/company/CompanyDetail.tsx:174 msgid "Manufactured Parts" msgstr "" @@ -3708,7 +3794,7 @@ msgstr "" #~ msgid "Edit company" #~ msgstr "" -#: src/pages/company/CompanyDetail.tsx:181 +#: src/pages/company/CompanyDetail.tsx:183 msgid "Supplied Parts" msgstr "" @@ -3716,289 +3802,289 @@ msgstr "" #~ msgid "Delete company" #~ msgstr "" -#: src/pages/company/CompanyDetail.tsx:226 +#: src/pages/company/CompanyDetail.tsx:228 msgid "Assigned Stock" msgstr "" -#: src/pages/company/CompanyDetail.tsx:281 +#: src/pages/company/CompanyDetail.tsx:283 #: src/tables/company/CompanyTable.tsx:86 msgid "Edit Company" msgstr "" -#: src/pages/company/CompanyDetail.tsx:290 +#: src/pages/company/CompanyDetail.tsx:292 msgid "Company Actions" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:68 -#: src/pages/company/SupplierPartDetail.tsx:75 +#: src/pages/company/ManufacturerPartDetail.tsx:69 +#: src/pages/company/SupplierPartDetail.tsx:76 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:72 msgid "Internal Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:83 -#: src/pages/company/SupplierPartDetail.tsx:89 +#: src/pages/company/ManufacturerPartDetail.tsx:84 +#: src/pages/company/SupplierPartDetail.tsx:90 msgid "External Link" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:101 -#: src/pages/company/SupplierPartDetail.tsx:130 -#: src/tables/purchasing/ManufacturerPartTable.tsx:53 +#: src/pages/company/ManufacturerPartDetail.tsx:102 +#: src/pages/company/SupplierPartDetail.tsx:131 +#: src/tables/purchasing/ManufacturerPartTable.tsx:56 msgid "Manufacturer Part Number" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:130 +#: src/pages/company/ManufacturerPartDetail.tsx:131 msgid "Manufacturer Details" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:139 +#: src/pages/company/ManufacturerPartDetail.tsx:140 msgid "Manufacturer Part Details" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:145 -#: src/pages/part/PartDetail.tsx:485 +#: src/pages/company/ManufacturerPartDetail.tsx:146 +#: src/pages/part/PartDetail.tsx:486 msgid "Parameters" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:157 -#: src/pages/part/PartDetail.tsx:558 +#: src/pages/company/ManufacturerPartDetail.tsx:158 +#: src/pages/part/PartDetail.tsx:559 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:189 -#: src/tables/purchasing/ManufacturerPartTable.tsx:97 +#: src/pages/company/ManufacturerPartDetail.tsx:190 +#: src/tables/purchasing/ManufacturerPartTable.tsx:84 msgid "Edit Manufacturer Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:196 -#: src/tables/purchasing/ManufacturerPartTable.tsx:63 -#: src/tables/purchasing/ManufacturerPartTable.tsx:78 +#: src/pages/company/ManufacturerPartDetail.tsx:197 +#: src/tables/purchasing/ManufacturerPartTable.tsx:72 +#: src/tables/purchasing/ManufacturerPartTable.tsx:103 msgid "Add Manufacturer Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:209 +#: src/pages/company/ManufacturerPartDetail.tsx:213 msgid "Manufacturer Part Actions" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:247 +#: src/pages/company/ManufacturerPartDetail.tsx:251 msgid "ManufacturerPart" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:96 -#: src/tables/ColumnRenderers.tsx:146 +#: src/pages/company/SupplierPartDetail.tsx:97 +#: src/tables/ColumnRenderers.tsx:117 msgid "Note" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:114 +#: src/pages/company/SupplierPartDetail.tsx:115 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:57 msgid "SKU" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:142 -#: src/pages/company/SupplierPartDetail.tsx:193 -#: src/pages/stock/StockDetail.tsx:230 +#: src/pages/company/SupplierPartDetail.tsx:143 +#: src/pages/company/SupplierPartDetail.tsx:194 +#: src/pages/stock/StockDetail.tsx:233 msgid "Packaging" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:149 +#: src/pages/company/SupplierPartDetail.tsx:150 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:107 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143 #: src/tables/purchasing/SupplierPartTable.tsx:131 msgid "Pack Quantity" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:160 +#: src/pages/company/SupplierPartDetail.tsx:161 msgid "Supplier Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:167 +#: src/pages/company/SupplierPartDetail.tsx:168 msgid "Availability Updated" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:194 +#: src/pages/company/SupplierPartDetail.tsx:195 msgid "Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:203 +#: src/pages/company/SupplierPartDetail.tsx:204 msgid "Supplier Part Details" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:209 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:263 +#: src/pages/company/SupplierPartDetail.tsx:210 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:265 msgid "Received Stock" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:233 +#: src/pages/company/SupplierPartDetail.tsx:234 #: src/pages/part/PartPricingPanel.tsx:115 #: src/pages/part/pricing/PricingOverviewPanel.tsx:130 msgid "Supplier Pricing" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:248 +#: src/pages/company/SupplierPartDetail.tsx:249 msgid "Supplier Part Actions" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:272 +#: src/pages/company/SupplierPartDetail.tsx:273 #: src/tables/purchasing/SupplierPartTable.tsx:210 msgid "Edit Supplier Part" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:279 +#: src/pages/company/SupplierPartDetail.tsx:280 #: src/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "" -#: src/pages/part/CategoryDetail.tsx:83 -#: src/pages/stock/LocationDetail.tsx:89 +#: src/pages/part/CategoryDetail.tsx:84 +#: src/pages/stock/LocationDetail.tsx:91 #: src/tables/settings/ErrorTable.tsx:34 msgid "Path" msgstr "" -#: src/pages/part/CategoryDetail.tsx:99 +#: src/pages/part/CategoryDetail.tsx:100 msgid "Parent Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:116 +#: src/pages/part/CategoryDetail.tsx:117 msgid "Subcategories" msgstr "" -#: src/pages/part/CategoryDetail.tsx:123 -#: src/pages/stock/LocationDetail.tsx:129 -#: src/tables/part/PartCategoryTable.tsx:69 +#: src/pages/part/CategoryDetail.tsx:124 +#: src/pages/stock/LocationDetail.tsx:131 +#: src/tables/part/PartCategoryTable.tsx:65 msgid "Structural" msgstr "" -#: src/pages/part/CategoryDetail.tsx:129 +#: src/pages/part/CategoryDetail.tsx:130 msgid "Parent default location" msgstr "" -#: src/pages/part/CategoryDetail.tsx:136 +#: src/pages/part/CategoryDetail.tsx:137 msgid "Default location" msgstr "" -#: src/pages/part/CategoryDetail.tsx:147 +#: src/pages/part/CategoryDetail.tsx:148 msgid "Top level part category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:157 -#: src/pages/part/CategoryDetail.tsx:211 -#: src/tables/part/PartCategoryTable.tsx:96 +#: src/pages/part/CategoryDetail.tsx:158 +#: src/pages/part/CategoryDetail.tsx:212 +#: src/tables/part/PartCategoryTable.tsx:88 msgid "Edit Part Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:170 -#: src/pages/stock/LocationDetail.tsx:213 +#: src/pages/part/CategoryDetail.tsx:171 +#: src/pages/stock/LocationDetail.tsx:223 msgid "Delete items" msgstr "" -#: src/pages/part/CategoryDetail.tsx:178 -#: src/pages/part/CategoryDetail.tsx:216 +#: src/pages/part/CategoryDetail.tsx:179 +#: src/pages/part/CategoryDetail.tsx:217 msgid "Delete Part Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:181 +#: src/pages/part/CategoryDetail.tsx:182 msgid "Parts Action" msgstr "" -#: src/pages/part/CategoryDetail.tsx:182 +#: src/pages/part/CategoryDetail.tsx:183 msgid "Action for parts in this category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:187 +#: src/pages/part/CategoryDetail.tsx:188 msgid "Child Categories Action" msgstr "" -#: src/pages/part/CategoryDetail.tsx:188 +#: src/pages/part/CategoryDetail.tsx:189 msgid "Action for child categories in this category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:206 +#: src/pages/part/CategoryDetail.tsx:207 msgid "Category Actions" msgstr "" -#: src/pages/part/CategoryDetail.tsx:228 +#: src/pages/part/CategoryDetail.tsx:229 msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:138 +#: src/pages/part/PartDetail.tsx:139 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:145 +#: src/pages/part/PartDetail.tsx:146 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "" -#: src/pages/part/PartDetail.tsx:151 +#: src/pages/part/PartDetail.tsx:152 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:158 +#: src/pages/part/PartDetail.tsx:159 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:165 +#: src/pages/part/PartDetail.tsx:166 msgid "IPN" msgstr "" -#: src/pages/part/PartDetail.tsx:172 +#: src/pages/part/PartDetail.tsx:173 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:179 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39 +#: src/pages/part/PartDetail.tsx:180 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "" -#: src/pages/part/PartDetail.tsx:186 +#: src/pages/part/PartDetail.tsx:187 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:193 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:180 -#: src/pages/sales/ReturnOrderDetail.tsx:148 -#: src/pages/sales/SalesOrderDetail.tsx:152 +#: src/pages/part/PartDetail.tsx:194 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:182 +#: src/pages/sales/ReturnOrderDetail.tsx:150 +#: src/pages/sales/SalesOrderDetail.tsx:154 msgid "Link" msgstr "" -#: src/pages/part/PartDetail.tsx:211 -#: src/tables/bom/BomTable.tsx:269 +#: src/pages/part/PartDetail.tsx:212 +#: src/tables/bom/BomTable.tsx:271 #: src/tables/build/BuildLineTable.tsx:121 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:218 +#: src/pages/part/PartDetail.tsx:219 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:224 -#: src/tables/bom/BomTable.tsx:210 +#: src/pages/part/PartDetail.tsx:225 +#: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:233 +#: src/pages/part/PartDetail.tsx:234 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:241 +#: src/pages/part/PartDetail.tsx:242 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:248 -#: src/tables/bom/BomTable.tsx:234 +#: src/pages/part/PartDetail.tsx:249 +#: src/tables/bom/BomTable.tsx:236 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:255 -#: src/tables/bom/BomTable.tsx:218 +#: src/pages/part/PartDetail.tsx:256 +#: src/tables/bom/BomTable.tsx:220 #: src/tables/part/PartTable.tsx:82 msgid "Building" msgstr "" -#: src/pages/part/PartDetail.tsx:264 +#: src/pages/part/PartDetail.tsx:265 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 @@ -4007,45 +4093,47 @@ msgstr "" #: src/tables/machine/MachineListTable.tsx:585 #: src/tables/part/PartTable.tsx:168 #: src/tables/part/PartVariantTable.tsx:15 -#: src/tables/plugin/PluginListTable.tsx:190 -#: src/tables/plugin/PluginListTable.tsx:638 +#: src/tables/plugin/PluginListTable.tsx:149 +#: src/tables/plugin/PluginListTable.tsx:271 +#: src/tables/plugin/PluginListTable.tsx:563 #: src/tables/purchasing/SupplierPartTable.tsx:98 #: src/tables/purchasing/SupplierPartTable.tsx:187 #: src/tables/stock/StockItemTable.tsx:254 msgid "Active" msgstr "" -#: src/pages/part/PartDetail.tsx:269 +#: src/pages/part/PartDetail.tsx:270 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:274 -#: src/tables/bom/BomTable.tsx:264 +#: src/pages/part/PartDetail.tsx:275 +#: src/tables/bom/BomTable.tsx:266 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:279 +#: src/pages/part/PartDetail.tsx:280 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:284 -#: src/tables/bom/BomTable.tsx:259 +#: src/pages/part/PartDetail.tsx:285 +#: src/tables/bom/BomTable.tsx:261 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:289 +#: src/pages/part/PartDetail.tsx:290 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:294 +#: src/pages/part/PartDetail.tsx:295 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:299 +#: src/pages/part/PartDetail.tsx:300 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:307 +#: src/pages/part/PartDetail.tsx:308 +#: src/tables/ColumnRenderers.tsx:199 msgid "Creation Date" msgstr "" @@ -4053,7 +4141,7 @@ msgstr "" #~ msgid "Edit part" #~ msgstr "" -#: src/pages/part/PartDetail.tsx:312 +#: src/pages/part/PartDetail.tsx:313 msgid "Created By" msgstr "" @@ -4061,68 +4149,72 @@ msgstr "" #~ msgid "Duplicate part" #~ msgstr "" -#: src/pages/part/PartDetail.tsx:327 -msgid "Default Supplier" -msgstr "" - #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "" -#: src/pages/part/PartDetail.tsx:338 +#: src/pages/part/PartDetail.tsx:328 +msgid "Default Supplier" +msgstr "" + +#: src/pages/part/PartDetail.tsx:339 #: src/tables/part/PartTable.tsx:151 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:373 -#: src/pages/stock/StockDetail.tsx:127 +#: src/pages/part/PartDetail.tsx:374 +#: src/pages/stock/StockDetail.tsx:130 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:408 +#: src/pages/part/PartDetail.tsx:409 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:479 +#: src/pages/part/PartDetail.tsx:480 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:505 +#: src/pages/part/PartDetail.tsx:506 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:512 -#: src/pages/stock/StockDetail.tsx:275 +#: src/pages/part/PartDetail.tsx:513 +#: src/pages/stock/StockDetail.tsx:283 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:532 +#: src/pages/part/PartDetail.tsx:519 +msgid "Bill of Materials" +msgstr "" + +#: src/pages/part/PartDetail.tsx:533 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:539 +#: src/pages/part/PartDetail.tsx:540 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:545 +#: src/pages/part/PartDetail.tsx:546 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:584 +#: src/pages/part/PartDetail.tsx:585 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:594 +#: src/pages/part/PartDetail.tsx:595 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:605 +#: src/pages/part/PartDetail.tsx:606 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:660 -#: src/pages/stock/StockDetail.tsx:148 +#: src/pages/part/PartDetail.tsx:661 +#: src/pages/stock/StockDetail.tsx:151 #: src/tables/build/BuildLineTable.tsx:36 #: src/tables/part/PartTable.tsx:107 #: src/tables/stock/StockItemTable.tsx:166 @@ -4130,49 +4222,51 @@ msgstr "" msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:666 +#: src/pages/part/PartDetail.tsx:667 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:672 -#: src/tables/bom/BomTable.tsx:274 +#: src/pages/part/PartDetail.tsx:673 +#: src/tables/bom/BomTable.tsx:276 #: src/tables/part/PartTable.tsx:76 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:678 -#: src/pages/stock/StockDetail.tsx:496 +#: src/pages/part/PartDetail.tsx:679 +#: src/pages/stock/StockDetail.tsx:509 #: src/tables/stock/StockItemTable.tsx:295 msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:697 +#: src/pages/part/PartDetail.tsx:698 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:704 +#: src/pages/part/PartDetail.tsx:705 #: src/tables/part/PartTable.tsx:266 #: src/tables/part/PartTable.tsx:279 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:716 +#: src/pages/part/PartDetail.tsx:717 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:725 +#: src/pages/part/PartDetail.tsx:726 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:763 +#: src/pages/part/PartDetail.tsx:764 +#: src/pages/stock/LocationDetail.tsx:301 +#: src/tables/stock/StockItemTable.tsx:409 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:771 +#: src/pages/part/PartDetail.tsx:772 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:782 +#: src/pages/part/PartDetail.tsx:783 msgid "Transfer part stock" msgstr "" @@ -4238,15 +4332,15 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151 #: src/pages/part/pricing/SupplierPricingPanel.tsx:83 -#: src/tables/bom/BomTable.tsx:149 +#: src/tables/bom/BomTable.tsx:151 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 msgid "Unit Price" msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:173 -#: src/tables/ColumnRenderers.tsx:278 -#: src/tables/bom/BomTable.tsx:158 +#: src/tables/ColumnRenderers.tsx:241 +#: src/tables/bom/BomTable.tsx:160 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 #: src/tables/sales/ReturnOrderTable.tsx:104 #: src/tables/sales/SalesOrderTable.tsx:134 @@ -4268,24 +4362,24 @@ msgid "Bar Chart" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:63 -#: src/pages/part/pricing/PriceBreakPanel.tsx:117 +#: src/pages/part/pricing/PriceBreakPanel.tsx:115 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:138 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:164 msgid "Add Price Break" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:76 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:149 msgid "Edit Price Break" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:86 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:157 msgid "Delete Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:102 -#: src/pages/part/pricing/PriceBreakPanel.tsx:193 +#: src/pages/part/pricing/PriceBreakPanel.tsx:100 +#: src/pages/part/pricing/PriceBreakPanel.tsx:191 msgid "Price Break" msgstr "" @@ -4314,7 +4408,7 @@ msgid "Overall Pricing" msgstr "" #: src/pages/part/pricing/PricingOverviewPanel.tsx:184 -#: src/pages/stock/StockDetail.tsx:121 +#: src/pages/stock/StockDetail.tsx:124 msgid "Last Updated" msgstr "" @@ -4348,9 +4442,8 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50 #: src/pages/part/pricing/SaleHistoryPanel.tsx:46 -#: src/tables/ColumnRenderers.tsx:217 -#: src/tables/plugin/PluginListTable.tsx:182 -#: src/tables/stock/StockItemTestResultTable.tsx:194 +#: src/tables/ColumnRenderers.tsx:180 +#: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" @@ -4377,89 +4470,89 @@ msgstr "" msgid "Variant Part" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:73 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:75 msgid "Edit Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:82 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:84 #: src/tables/purchasing/PurchaseOrderTable.tsx:128 #: src/tables/purchasing/PurchaseOrderTable.tsx:140 msgid "Add Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:107 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:109 msgid "Supplier Reference" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:137 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:252 -#: src/pages/sales/ReturnOrderDetail.tsx:104 -#: src/pages/sales/ReturnOrderDetail.tsx:220 -#: src/pages/sales/SalesOrderDetail.tsx:108 -#: src/pages/sales/SalesOrderDetail.tsx:248 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:139 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:254 +#: src/pages/sales/ReturnOrderDetail.tsx:106 +#: src/pages/sales/ReturnOrderDetail.tsx:222 +#: src/pages/sales/SalesOrderDetail.tsx:110 +#: src/pages/sales/SalesOrderDetail.tsx:250 msgid "Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:144 -#: src/pages/sales/ReturnOrderDetail.tsx:111 -#: src/pages/sales/SalesOrderDetail.tsx:115 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:146 +#: src/pages/sales/ReturnOrderDetail.tsx:113 +#: src/pages/sales/SalesOrderDetail.tsx:117 msgid "Completed Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:152 -#: src/pages/sales/ReturnOrderDetail.tsx:119 -#: src/pages/sales/SalesOrderDetail.tsx:123 -#: src/pages/sales/SalesOrderDetail.tsx:258 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:121 +#: src/pages/sales/SalesOrderDetail.tsx:125 +#: src/pages/sales/SalesOrderDetail.tsx:260 msgid "Completed Shipments" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:159 -#: src/pages/sales/ReturnOrderDetail.tsx:127 -#: src/pages/sales/SalesOrderDetail.tsx:131 -msgid "Order Currency" -msgstr "" - #: src/pages/purchasing/PurchaseOrderDetail.tsx:159 #: src/pages/sales/ReturnOrderDetail.tsx:126 #: src/pages/sales/SalesOrderDetail.tsx:130 #~ msgid "Order Currency," #~ msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:166 -#: src/pages/sales/ReturnOrderDetail.tsx:134 -#: src/pages/sales/SalesOrderDetail.tsx:138 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:161 +#: src/pages/sales/ReturnOrderDetail.tsx:129 +#: src/pages/sales/SalesOrderDetail.tsx:133 +msgid "Order Currency" +msgstr "" + +#: src/pages/purchasing/PurchaseOrderDetail.tsx:168 +#: src/pages/sales/ReturnOrderDetail.tsx:136 +#: src/pages/sales/SalesOrderDetail.tsx:140 msgid "Total Cost" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:201 -#: src/pages/sales/ReturnOrderDetail.tsx:169 -#: src/pages/sales/SalesOrderDetail.tsx:173 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:203 +#: src/pages/sales/ReturnOrderDetail.tsx:171 +#: src/pages/sales/SalesOrderDetail.tsx:175 msgid "Created On" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:246 -#: src/pages/sales/ReturnOrderDetail.tsx:214 -#: src/pages/sales/SalesOrderDetail.tsx:242 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:248 +#: src/pages/sales/ReturnOrderDetail.tsx:216 +#: src/pages/sales/SalesOrderDetail.tsx:244 msgid "Order Details" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:316 -#: src/pages/sales/ReturnOrderDetail.tsx:290 -#: src/pages/sales/SalesOrderDetail.tsx:302 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:323 +#: src/pages/sales/ReturnOrderDetail.tsx:297 +#: src/pages/sales/SalesOrderDetail.tsx:309 msgid "Order Actions" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:75 -#: src/pages/sales/SalesOrderDetail.tsx:79 +#: src/pages/sales/ReturnOrderDetail.tsx:77 +#: src/pages/sales/SalesOrderDetail.tsx:81 #: src/tables/sales/SalesOrderTable.tsx:123 msgid "Customer Reference" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:267 +#: src/pages/sales/ReturnOrderDetail.tsx:269 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:276 +#: src/pages/sales/ReturnOrderDetail.tsx:278 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" @@ -4469,68 +4562,72 @@ msgstr "" msgid "Customers" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:219 +#: src/pages/sales/SalesOrderDetail.tsx:221 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:228 +#: src/pages/sales/SalesOrderDetail.tsx:230 #: src/tables/sales/SalesOrderTable.tsx:83 #: src/tables/sales/SalesOrderTable.tsx:95 msgid "Add Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:253 +#: src/pages/sales/SalesOrderDetail.tsx:255 msgid "Pending Shipments" msgstr "" -#: src/pages/stock/LocationDetail.tsx:105 +#: src/pages/stock/LocationDetail.tsx:107 msgid "Parent Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:123 +#: src/pages/stock/LocationDetail.tsx:125 msgid "Sublocations" msgstr "" -#: src/pages/stock/LocationDetail.tsx:135 +#: src/pages/stock/LocationDetail.tsx:137 msgid "External" msgstr "" -#: src/pages/stock/LocationDetail.tsx:144 +#: src/pages/stock/LocationDetail.tsx:143 +msgid "Location Type" +msgstr "" + +#: src/pages/stock/LocationDetail.tsx:154 msgid "Top level stock location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:155 +#: src/pages/stock/LocationDetail.tsx:165 msgid "Location Details" msgstr "" -#: src/pages/stock/LocationDetail.tsx:181 +#: src/pages/stock/LocationDetail.tsx:191 msgid "Default Parts" msgstr "" -#: src/pages/stock/LocationDetail.tsx:200 +#: src/pages/stock/LocationDetail.tsx:210 #: src/pages/stock/LocationDetail.tsx:328 -#: src/tables/stock/StockLocationTable.tsx:108 +#: src/tables/stock/StockLocationTable.tsx:100 msgid "Edit Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:221 +#: src/pages/stock/LocationDetail.tsx:231 #: src/pages/stock/LocationDetail.tsx:333 msgid "Delete Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:224 +#: src/pages/stock/LocationDetail.tsx:234 msgid "Items Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:225 +#: src/pages/stock/LocationDetail.tsx:235 msgid "Action for stock items in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:230 +#: src/pages/stock/LocationDetail.tsx:240 msgid "Child Locations Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:231 +#: src/pages/stock/LocationDetail.tsx:241 msgid "Action for child locations in this location" msgstr "" @@ -4538,11 +4635,11 @@ msgstr "" msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:100 +#: src/pages/stock/StockDetail.tsx:103 msgid "Base Part" msgstr "" -#: src/pages/stock/StockDetail.tsx:107 +#: src/pages/stock/StockDetail.tsx:110 msgid "Stock Status" msgstr "" @@ -4554,15 +4651,16 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "" -#: src/pages/stock/StockDetail.tsx:174 +#: src/pages/stock/StockDetail.tsx:177 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:190 +#: src/pages/stock/StockDetail.tsx:193 msgid "Consumed By" msgstr "" -#: src/pages/stock/StockDetail.tsx:199 +#: src/pages/stock/StockDetail.tsx:202 +#: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" msgstr "" @@ -4574,78 +4672,78 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "" -#: src/pages/stock/StockDetail.tsx:264 +#: src/pages/stock/StockDetail.tsx:267 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:270 +#: src/pages/stock/StockDetail.tsx:273 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:282 +#: src/pages/stock/StockDetail.tsx:290 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:296 +#: src/pages/stock/StockDetail.tsx:304 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:303 +#: src/pages/stock/StockDetail.tsx:311 msgid "Child Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:358 +#: src/pages/stock/StockDetail.tsx:366 msgid "Edit Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:385 +#: src/pages/stock/StockDetail.tsx:393 msgid "Delete Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:426 -msgid "Stock Operations" -msgstr "" - -#: src/pages/stock/StockDetail.tsx:431 -msgid "Count stock" -msgstr "" - #: src/pages/stock/StockDetail.tsx:433 #~ msgid "Duplicate stock item" #~ msgstr "" -#: src/pages/stock/StockDetail.tsx:441 +#: src/pages/stock/StockDetail.tsx:440 +msgid "Stock Operations" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:445 +msgid "Count stock" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:455 #: src/tables/stock/StockItemTable.tsx:414 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:449 +#: src/pages/stock/StockDetail.tsx:463 #: src/tables/stock/StockItemTable.tsx:423 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:456 +#: src/pages/stock/StockDetail.tsx:470 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:457 +#: src/pages/stock/StockDetail.tsx:471 #: src/tables/stock/StockItemTable.tsx:443 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:469 +#: src/pages/stock/StockDetail.tsx:482 msgid "Stock Item Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:513 -msgid "Batch Code" -msgstr "" - -#: src/tables/ColumnRenderers.tsx:50 +#: src/tables/ColumnRenderers.tsx:42 msgid "No location set" msgstr "" -#: src/tables/ColumnRenderers.tsx:264 +#: src/tables/ColumnRenderers.tsx:207 +msgid "Shipment Date" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:227 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "" @@ -4655,20 +4753,32 @@ msgstr "" msgid "Select Columns" msgstr "" -#: src/tables/DownloadAction.tsx:11 +#: src/tables/DownloadAction.tsx:13 +#~ msgid "Excel" +#~ msgstr "" + +#: src/tables/DownloadAction.tsx:21 +#~ msgid "Download selected data" +#~ msgstr "" + +#: src/tables/DownloadAction.tsx:22 msgid "CSV" msgstr "" -#: src/tables/DownloadAction.tsx:12 +#: src/tables/DownloadAction.tsx:23 msgid "TSV" msgstr "" -#: src/tables/DownloadAction.tsx:13 -msgid "Excel" +#: src/tables/DownloadAction.tsx:24 +msgid "Excel (.xls)" msgstr "" -#: src/tables/DownloadAction.tsx:21 -msgid "Download selected data" +#: src/tables/DownloadAction.tsx:25 +msgid "Excel (.xlsx)" +msgstr "" + +#: src/tables/DownloadAction.tsx:39 +msgid "Download Data" msgstr "" #: src/tables/Filter.tsx:88 @@ -4702,102 +4812,102 @@ msgstr "" msgid "Remove filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:147 +#: src/tables/FilterSelectDrawer.tsx:136 msgid "Select filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:148 +#: src/tables/FilterSelectDrawer.tsx:137 msgid "Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:155 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:33 -#: src/tables/stock/StockItemTestResultTable.tsx:182 +#: src/tables/FilterSelectDrawer.tsx:144 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 +#: src/tables/stock/StockItemTestResultTable.tsx:180 msgid "Value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:156 +#: src/tables/FilterSelectDrawer.tsx:145 msgid "Select filter value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:196 +#: src/tables/FilterSelectDrawer.tsx:185 msgid "Table Filters" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:228 +#: src/tables/FilterSelectDrawer.tsx:217 msgid "Add Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:237 +#: src/tables/FilterSelectDrawer.tsx:226 msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:118 -#: src/tables/InvenTreeTable.tsx:384 -#: src/tables/InvenTreeTable.tsx:405 +#: src/tables/InvenTreeTable.tsx:119 +#: src/tables/InvenTreeTable.tsx:390 +#: src/tables/InvenTreeTable.tsx:411 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:416 +#: src/tables/InvenTreeTable.tsx:422 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:424 +#: src/tables/InvenTreeTable.tsx:430 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:427 +#: src/tables/InvenTreeTable.tsx:433 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:436 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:433 +#: src/tables/InvenTreeTable.tsx:439 msgid "Not found" msgstr "" -#: src/tables/InvenTreeTable.tsx:482 -#: src/tables/InvenTreeTable.tsx:604 +#: src/tables/InvenTreeTable.tsx:488 +#: src/tables/InvenTreeTable.tsx:611 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:486 +#: src/tables/InvenTreeTable.tsx:492 msgid "Are you sure you want to delete the selected records?" msgstr "" -#: src/tables/InvenTreeTable.tsx:488 +#: src/tables/InvenTreeTable.tsx:494 msgid "This action cannot be undone!" msgstr "" -#: src/tables/InvenTreeTable.tsx:516 +#: src/tables/InvenTreeTable.tsx:522 msgid "Deleted records" msgstr "" -#: src/tables/InvenTreeTable.tsx:517 +#: src/tables/InvenTreeTable.tsx:523 msgid "Records were deleted successfully" msgstr "" -#: src/tables/InvenTreeTable.tsx:526 +#: src/tables/InvenTreeTable.tsx:532 msgid "Failed to delete records" msgstr "" -#: src/tables/InvenTreeTable.tsx:585 -#: src/tables/InvenTreeTable.tsx:586 -msgid "Barcode actions" -msgstr "" - #: src/tables/InvenTreeTable.tsx:594 #: src/tables/InvenTreeTable.tsx:595 -msgid "Print actions" +#~ msgid "Print actions" +#~ msgstr "" + +#: src/tables/InvenTreeTable.tsx:601 +#: src/tables/InvenTreeTable.tsx:602 +msgid "Barcode actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:620 +#: src/tables/InvenTreeTable.tsx:630 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:638 +#: src/tables/InvenTreeTable.tsx:648 msgid "Table filters" msgstr "" @@ -4809,138 +4919,138 @@ msgstr "" msgid "Part Information" msgstr "" -#: src/tables/bom/BomTable.tsx:177 +#: src/tables/bom/BomTable.tsx:179 #: src/tables/part/PartTable.tsx:124 msgid "No stock" msgstr "" -#: src/tables/bom/BomTable.tsx:185 +#: src/tables/bom/BomTable.tsx:187 #: src/tables/build/BuildLineTable.tsx:104 #: src/tables/part/PartTable.tsx:115 msgid "External stock" msgstr "" -#: src/tables/bom/BomTable.tsx:193 +#: src/tables/bom/BomTable.tsx:195 #: src/tables/build/BuildLineTable.tsx:67 msgid "Includes substitute stock" msgstr "" -#: src/tables/bom/BomTable.tsx:202 +#: src/tables/bom/BomTable.tsx:204 #: src/tables/build/BuildLineTable.tsx:77 msgid "Includes variant stock" msgstr "" -#: src/tables/bom/BomTable.tsx:227 +#: src/tables/bom/BomTable.tsx:229 #: src/tables/part/PartTable.tsx:143 #: src/tables/stock/StockItemTable.tsx:205 msgid "Stock Information" msgstr "" -#: src/tables/bom/BomTable.tsx:239 +#: src/tables/bom/BomTable.tsx:241 #: src/tables/build/BuildLineTable.tsx:195 msgid "Consumable item" msgstr "" -#: src/tables/bom/BomTable.tsx:260 +#: src/tables/bom/BomTable.tsx:262 msgid "Show trackable items" msgstr "" -#: src/tables/bom/BomTable.tsx:265 +#: src/tables/bom/BomTable.tsx:267 msgid "Show asssmbled items" msgstr "" -#: src/tables/bom/BomTable.tsx:270 +#: src/tables/bom/BomTable.tsx:272 msgid "Show items with available stock" msgstr "" -#: src/tables/bom/BomTable.tsx:275 +#: src/tables/bom/BomTable.tsx:277 msgid "Show items on order" msgstr "" -#: src/tables/bom/BomTable.tsx:279 +#: src/tables/bom/BomTable.tsx:281 msgid "Validated" msgstr "" -#: src/tables/bom/BomTable.tsx:280 +#: src/tables/bom/BomTable.tsx:282 msgid "Show validated items" msgstr "" -#: src/tables/bom/BomTable.tsx:284 +#: src/tables/bom/BomTable.tsx:286 #: src/tables/bom/UsedInTable.tsx:63 msgid "Inherited" msgstr "" -#: src/tables/bom/BomTable.tsx:285 +#: src/tables/bom/BomTable.tsx:287 #: src/tables/bom/UsedInTable.tsx:64 msgid "Show inherited items" msgstr "" -#: src/tables/bom/BomTable.tsx:289 +#: src/tables/bom/BomTable.tsx:291 #: src/tables/bom/UsedInTable.tsx:68 #: src/tables/build/BuildLineTable.tsx:46 msgid "Optional" msgstr "" -#: src/tables/bom/BomTable.tsx:290 +#: src/tables/bom/BomTable.tsx:292 #: src/tables/bom/UsedInTable.tsx:69 msgid "Show optional items" msgstr "" -#: src/tables/bom/BomTable.tsx:294 +#: src/tables/bom/BomTable.tsx:296 #: src/tables/build/BuildLineTable.tsx:41 msgid "Consumable" msgstr "" -#: src/tables/bom/BomTable.tsx:295 +#: src/tables/bom/BomTable.tsx:297 msgid "Show consumable items" msgstr "" -#: src/tables/bom/BomTable.tsx:299 +#: src/tables/bom/BomTable.tsx:301 msgid "Has Pricing" msgstr "" -#: src/tables/bom/BomTable.tsx:300 -msgid "Show items with pricing" -msgstr "" - #: src/tables/bom/BomTable.tsx:301 #~ msgid "Create BOM Item" #~ msgstr "" -#: src/tables/bom/BomTable.tsx:309 -#: src/tables/bom/BomTable.tsx:397 +#: src/tables/bom/BomTable.tsx:302 +msgid "Show items with pricing" +msgstr "" + +#: src/tables/bom/BomTable.tsx:311 +#: src/tables/bom/BomTable.tsx:399 msgid "Add BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:314 +#: src/tables/bom/BomTable.tsx:316 msgid "BOM item created" msgstr "" -#: src/tables/bom/BomTable.tsx:321 +#: src/tables/bom/BomTable.tsx:323 msgid "Edit BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:323 +#: src/tables/bom/BomTable.tsx:325 msgid "BOM item updated" msgstr "" -#: src/tables/bom/BomTable.tsx:330 -msgid "Delete BOM Item" -msgstr "" - -#: src/tables/bom/BomTable.tsx:331 -msgid "BOM item deleted" -msgstr "" - #: src/tables/bom/BomTable.tsx:331 #~ msgid "Edit Bom Item" #~ msgstr "" +#: src/tables/bom/BomTable.tsx:332 +msgid "Delete BOM Item" +msgstr "" + +#: src/tables/bom/BomTable.tsx:333 +msgid "BOM item deleted" +msgstr "" + #: src/tables/bom/BomTable.tsx:333 #~ msgid "Bom item updated" #~ msgstr "" -#: src/tables/bom/BomTable.tsx:341 +#: src/tables/bom/BomTable.tsx:343 msgid "View BOM" msgstr "" @@ -4956,11 +5066,11 @@ msgstr "" #~ msgid "Are you sure you want to remove this BOM item?" #~ msgstr "" -#: src/tables/bom/BomTable.tsx:352 +#: src/tables/bom/BomTable.tsx:354 msgid "Validate BOM line" msgstr "" -#: src/tables/bom/BomTable.tsx:360 +#: src/tables/bom/BomTable.tsx:362 msgid "Edit Substitutes" msgstr "" @@ -5077,11 +5187,11 @@ msgid "Filter by responsible owner" msgstr "" #: src/tables/build/BuildOutputTable.tsx:114 -#: src/tables/build/BuildOutputTable.tsx:150 +#: src/tables/build/BuildOutputTable.tsx:152 msgid "Add Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:155 +#: src/tables/build/BuildOutputTable.tsx:157 msgid "Complete selected outputs" msgstr "" @@ -5089,68 +5199,68 @@ msgstr "" #~ msgid "Delete build output" #~ msgstr "" -#: src/tables/build/BuildOutputTable.tsx:165 +#: src/tables/build/BuildOutputTable.tsx:167 msgid "Scrap selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:175 +#: src/tables/build/BuildOutputTable.tsx:177 msgid "Cancel selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:191 +#: src/tables/build/BuildOutputTable.tsx:193 msgid "Allocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:192 +#: src/tables/build/BuildOutputTable.tsx:194 msgid "Allocate stock to build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:197 +#: src/tables/build/BuildOutputTable.tsx:199 msgid "Deallocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:198 +#: src/tables/build/BuildOutputTable.tsx:200 msgid "Deallocate stock from build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:203 +#: src/tables/build/BuildOutputTable.tsx:205 msgid "Complete" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:204 +#: src/tables/build/BuildOutputTable.tsx:206 msgid "Complete build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:213 +#: src/tables/build/BuildOutputTable.tsx:215 msgid "Scrap" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:214 +#: src/tables/build/BuildOutputTable.tsx:216 msgid "Scrap build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:224 +#: src/tables/build/BuildOutputTable.tsx:226 msgid "Cancel build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:251 +#: src/tables/build/BuildOutputTable.tsx:253 msgid "Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:264 +#: src/tables/build/BuildOutputTable.tsx:266 msgid "Batch" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:278 +#: src/tables/build/BuildOutputTable.tsx:280 msgid "Allocated Items" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:288 +#: src/tables/build/BuildOutputTable.tsx:290 msgid "Required Tests" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:317 -#: src/tables/stock/StockItemTestResultTable.tsx:146 +#: src/tables/build/BuildOutputTable.tsx:319 +#: src/tables/stock/StockItemTestResultTable.tsx:144 msgid "Test Results" msgstr "" @@ -5171,7 +5281,7 @@ msgstr "" msgid "Delete Address" msgstr "" -#: src/tables/company/AddressTable.tsx:145 +#: src/tables/company/AddressTable.tsx:144 msgid "Are you sure you want to delete this address?" msgstr "" @@ -5216,36 +5326,52 @@ msgstr "" msgid "Add contact" msgstr "" -#: src/tables/general/AttachmentTable.tsx:161 +#: src/tables/general/AttachmentTable.tsx:130 msgid "File uploaded" msgstr "" -#: src/tables/general/AttachmentTable.tsx:162 +#: src/tables/general/AttachmentTable.tsx:131 msgid "File {0} uploaded successfully" msgstr "" -#: src/tables/general/AttachmentTable.tsx:173 +#: src/tables/general/AttachmentTable.tsx:142 msgid "Upload Error" msgstr "" -#: src/tables/general/AttachmentTable.tsx:174 +#: src/tables/general/AttachmentTable.tsx:143 msgid "File could not be uploaded" msgstr "" #: src/tables/general/AttachmentTable.tsx:187 +msgid "Upload Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:197 +msgid "Edit Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:211 +msgid "Delete Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:221 msgid "Add attachment" msgstr "" -#: src/tables/general/AttachmentTable.tsx:207 +#: src/tables/general/AttachmentTable.tsx:232 msgid "Add external link" msgstr "" -#: src/tables/general/AttachmentTable.tsx:239 +#: src/tables/general/AttachmentTable.tsx:254 +#~ msgid "Upload attachment" +#~ msgstr "" + +#: src/tables/general/AttachmentTable.tsx:289 msgid "No attachments found" msgstr "" -#: src/tables/general/AttachmentTable.tsx:254 -msgid "Upload attachment" +#: src/tables/general/AttachmentTable.tsx:325 +msgid "Drag attachment file here to upload" msgstr "" #: src/tables/machine/MachineListTable.tsx:199 @@ -5371,8 +5497,8 @@ msgstr "" #: src/tables/machine/MachineTypeTable.tsx:135 #: src/tables/machine/MachineTypeTable.tsx:255 -#: src/tables/plugin/PluginListTable.tsx:215 -#: src/tables/plugin/PluginListTable.tsx:643 +#: src/tables/plugin/PluginListTable.tsx:180 +#: src/tables/plugin/PluginListTable.tsx:568 msgid "Builtin" msgstr "" @@ -5414,7 +5540,7 @@ msgid "Message" msgstr "" #: src/tables/part/ParametricPartTable.tsx:75 -#: src/tables/part/PartParameterTable.tsx:87 +#: src/tables/part/PartParameterTable.tsx:88 msgid "Internal Units" msgstr "" @@ -5427,29 +5553,29 @@ msgid "Add Part Parameter" msgstr "" #: src/tables/part/ParametricPartTable.tsx:147 -#: src/tables/part/PartParameterTable.tsx:128 -#: src/tables/part/PartParameterTable.tsx:150 +#: src/tables/part/PartParameterTable.tsx:121 +#: src/tables/part/PartParameterTable.tsx:144 msgid "Edit Part Parameter" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:64 +#: src/tables/part/PartCategoryTable.tsx:60 #: src/tables/part/PartTable.tsx:180 msgid "Include Subcategories" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:65 +#: src/tables/part/PartCategoryTable.tsx:61 msgid "Include subcategories in results" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:70 +#: src/tables/part/PartCategoryTable.tsx:66 msgid "Show structural categories" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:77 +#: src/tables/part/PartCategoryTable.tsx:73 msgid "New Part Category" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:106 +#: src/tables/part/PartCategoryTable.tsx:98 msgid "Add Part Category" msgstr "" @@ -5474,20 +5600,20 @@ msgstr "" #~ msgid "[{0}]" #~ msgstr "" -#: src/tables/part/PartParameterTable.tsx:112 +#: src/tables/part/PartParameterTable.tsx:105 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:136 -#: src/tables/part/PartParameterTable.tsx:158 +#: src/tables/part/PartParameterTable.tsx:130 +#: src/tables/part/PartParameterTable.tsx:152 msgid "Delete Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:175 +#: src/tables/part/PartParameterTable.tsx:170 msgid "Add parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:196 +#: src/tables/part/PartParameterTable.tsx:191 #: src/tables/stock/StockItemTable.tsx:300 msgid "Include Variants" msgstr "" @@ -5521,15 +5647,15 @@ msgstr "" msgid "Add Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:97 +#: src/tables/part/PartParameterTemplateTable.tsx:100 msgid "Edit Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:105 +#: src/tables/part/PartParameterTemplateTable.tsx:111 msgid "Delete Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:135 +#: src/tables/part/PartParameterTemplateTable.tsx:141 msgid "Add parameter template" msgstr "" @@ -5627,7 +5753,7 @@ msgid "No Results" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:79 -#: src/tables/stock/StockItemTestResultTable.tsx:385 +#: src/tables/stock/StockItemTestResultTable.tsx:376 msgid "Required" msgstr "" @@ -5636,8 +5762,8 @@ msgid "Show required tests" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:84 -#: src/tables/settings/TemplateTable.tsx:213 -#: src/tables/settings/TemplateTable.tsx:275 +#: src/tables/settings/TemplateTable.tsx:160 +#: src/tables/settings/TemplateTable.tsx:270 msgid "Enabled" msgstr "" @@ -5678,26 +5804,30 @@ msgid "Show tests which have recorded results" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:126 -#: src/tables/part/PartTestTemplateTable.tsx:195 +#: src/tables/part/PartTestTemplateTable.tsx:201 msgid "Add Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:139 +#: src/tables/part/PartTestTemplateTable.tsx:142 msgid "Edit Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:147 +#: src/tables/part/PartTestTemplateTable.tsx:153 msgid "Delete Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:149 +#: src/tables/part/PartTestTemplateTable.tsx:155 msgid "This action cannot be reversed" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:151 +#: src/tables/part/PartTestTemplateTable.tsx:157 msgid "Any tests results associated with this template will be deleted" msgstr "" +#: src/tables/part/PartThumbTable.tsx:203 +msgid "Select" +msgstr "" + #: src/tables/part/PartVariantTable.tsx:16 msgid "Show active variants" msgstr "" @@ -5734,252 +5864,273 @@ msgstr "" msgid "Stage" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:113 -msgid "Plugin with id {id} not found" +#: src/tables/plugin/PluginListTable.tsx:95 +msgid "Plugin with key {pluginKey} not found" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:115 +#: src/tables/plugin/PluginListTable.tsx:97 msgid "An error occurred while fetching plugin details" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:134 -msgid "Plugin Actions" -msgstr "" +#: src/tables/plugin/PluginListTable.tsx:113 +#~ msgid "Plugin with id {id} not found" +#~ msgstr "" -#: src/tables/plugin/PluginListTable.tsx:138 -#: src/tables/plugin/PluginListTable.tsx:141 -msgid "Edit plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:152 -#: src/tables/plugin/PluginListTable.tsx:153 -msgid "Reload" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:166 +#: src/tables/plugin/PluginListTable.tsx:122 msgid "Plugin information" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:177 +#: src/tables/plugin/PluginListTable.tsx:134 msgid "Author" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:198 +#: src/tables/plugin/PluginListTable.tsx:134 +#~ msgid "Plugin Actions" +#~ msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:138 +#: src/tables/plugin/PluginListTable.tsx:141 +#~ msgid "Edit plugin" +#~ msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:152 +#: src/tables/plugin/PluginListTable.tsx:153 +#~ msgid "Reload" +#~ msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:154 +msgid "Plugin is not active" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:163 msgid "Package information" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:204 +#: src/tables/plugin/PluginListTable.tsx:169 msgid "Package Name" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:210 +#: src/tables/plugin/PluginListTable.tsx:175 msgid "Installation Path" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:220 +#: src/tables/plugin/PluginListTable.tsx:185 msgid "Package" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:231 +#: src/tables/plugin/PluginListTable.tsx:197 msgid "Plugin settings" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:248 +#: src/tables/plugin/PluginListTable.tsx:214 msgid "Plugin is active" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:254 +#: src/tables/plugin/PluginListTable.tsx:220 msgid "Plugin is inactive" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:261 +#: src/tables/plugin/PluginListTable.tsx:227 msgid "Plugin is not installed" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:287 +#: src/tables/plugin/PluginListTable.tsx:253 msgid "Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:312 +#: src/tables/plugin/PluginListTable.tsx:287 msgid "Description not available" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:338 +#: src/tables/plugin/PluginListTable.tsx:319 +msgid "Confirm plugin activation" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:320 +msgid "Confirm plugin deactivation" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:325 +msgid "The selected plugin will be activated" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:326 +msgid "The selected plugin will be deactivated" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:334 msgid "Activate Plugin" msgstr "" #: src/tables/plugin/PluginListTable.tsx:338 -msgid "Deactivate Plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:347 -msgid "Confirm plugin activation" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:348 -msgid "Confirm plugin deactivation" -msgstr "" +#~ msgid "Deactivate Plugin" +#~ msgstr "" #: src/tables/plugin/PluginListTable.tsx:354 -msgid "The following plugin will be activated" -msgstr "" +#~ msgid "The following plugin will be activated" +#~ msgstr "" #: src/tables/plugin/PluginListTable.tsx:355 -msgid "The following plugin will be deactivated" -msgstr "" +#~ msgid "The following plugin will be deactivated" +#~ msgstr "" -#: src/tables/plugin/PluginListTable.tsx:366 -msgid "Confirm" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:376 -msgid "Activating plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:376 -msgid "Deactivating plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:392 -msgid "Plugin updated" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:394 -msgid "The plugin was activated" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:395 -msgid "The plugin was deactivated" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:403 -msgid "Error updating plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:423 +#: src/tables/plugin/PluginListTable.tsx:362 msgid "Deactivate" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:432 +#: src/tables/plugin/PluginListTable.tsx:366 +#~ msgid "Confirm" +#~ msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:373 msgid "Activate" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:463 +#: src/tables/plugin/PluginListTable.tsx:376 +#~ msgid "Activating plugin" +#~ msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:376 +#~ msgid "Deactivating plugin" +#~ msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:392 +#~ msgid "Plugin updated" +#~ msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:394 +#~ msgid "The plugin was activated" +#~ msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:395 +#~ msgid "The plugin was deactivated" +#~ msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:403 +#~ msgid "Error updating plugin" +#~ msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:406 msgid "Uninstall" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:495 +#: src/tables/plugin/PluginListTable.tsx:438 msgid "Install plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:508 +#: src/tables/plugin/PluginListTable.tsx:451 msgid "Install" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:512 +#: src/tables/plugin/PluginListTable.tsx:452 msgid "Plugin installed successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:525 +#: src/tables/plugin/PluginListTable.tsx:457 msgid "Uninstall Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:537 +#: src/tables/plugin/PluginListTable.tsx:469 msgid "Confirm plugin uninstall" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:540 +#: src/tables/plugin/PluginListTable.tsx:472 msgid "The selected plugin will be uninstalled." msgstr "" -#: src/tables/plugin/PluginListTable.tsx:541 +#: src/tables/plugin/PluginListTable.tsx:473 msgid "This action cannot be undone." msgstr "" -#: src/tables/plugin/PluginListTable.tsx:547 +#: src/tables/plugin/PluginListTable.tsx:477 msgid "Plugin uninstalled successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:560 +#: src/tables/plugin/PluginListTable.tsx:484 msgid "Delete Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:562 +#: src/tables/plugin/PluginListTable.tsx:485 msgid "Deleting this plugin configuration will remove all associated settings and data. Are you sure you want to delete this plugin?" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:574 +#: src/tables/plugin/PluginListTable.tsx:498 msgid "Plugins reloaded" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:575 +#: src/tables/plugin/PluginListTable.tsx:499 msgid "Plugins were reloaded successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:591 +#: src/tables/plugin/PluginListTable.tsx:515 msgid "Reload Plugins" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:600 +#: src/tables/plugin/PluginListTable.tsx:524 msgid "Install Plugin" msgstr "" +#: src/tables/plugin/PluginListTable.tsx:544 +msgid "Plugin Detail" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:573 +msgid "Sample" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:578 +#: src/tables/stock/StockItemTable.tsx:305 +msgid "Installed" +msgstr "" + #: src/tables/plugin/PluginListTable.tsx:615 #~ msgid "Plugin detail" #~ msgstr "" -#: src/tables/plugin/PluginListTable.tsx:619 -msgid "Plugin Detail" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:648 -msgid "Sample" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:653 -#: src/tables/stock/StockItemTable.tsx:305 -msgid "Installed" -msgstr "" - -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:57 -msgid "Edit Parameter" +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:59 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:108 +msgid "Add Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:60 -msgid "Parameter updated" -msgstr "" +#~ msgid "Parameter updated" +#~ msgstr "" -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:71 -msgid "Delete Parameter" +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:70 +msgid "Edit Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:73 -msgid "Parameter deleted" -msgstr "" +#~ msgid "Parameter deleted" +#~ msgstr "" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:74 -msgid "Are you sure you want to delete this parameter?" +#~ msgid "Are you sure you want to delete this parameter?" +#~ msgstr "" + +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:78 +msgid "Delete Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartTable.tsx:63 #~ msgid "Create Manufacturer Part" #~ msgstr "" -#: src/tables/purchasing/ManufacturerPartTable.tsx:100 -msgid "Manufacturer part updated" -msgstr "" - -#: src/tables/purchasing/ManufacturerPartTable.tsx:111 +#: src/tables/purchasing/ManufacturerPartTable.tsx:92 msgid "Delete Manufacturer Part" msgstr "" +#: src/tables/purchasing/ManufacturerPartTable.tsx:100 +#~ msgid "Manufacturer part updated" +#~ msgstr "" + #: src/tables/purchasing/ManufacturerPartTable.tsx:112 -msgid "Manufacturer part deleted" -msgstr "" +#~ msgid "Manufacturer part deleted" +#~ msgstr "" #: src/tables/purchasing/ManufacturerPartTable.tsx:114 -msgid "Are you sure you want to remove this manufacturer part?" -msgstr "" +#~ msgid "Are you sure you want to remove this manufacturer part?" +#~ msgstr "" #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:86 msgid "Part Description" @@ -6126,18 +6277,22 @@ msgid "Error Information" msgstr "" #: src/tables/settings/ErrorTable.tsx:51 -msgid "Delete error report" +msgid "Delete Error Report" msgstr "" +#: src/tables/settings/ErrorTable.tsx:51 +#~ msgid "Delete error report" +#~ msgstr "" + #: src/tables/settings/ErrorTable.tsx:53 -msgid "Error report deleted" -msgstr "" - -#: src/tables/settings/ErrorTable.tsx:54 msgid "Are you sure you want to delete this error report?" msgstr "" -#: src/tables/settings/ErrorTable.tsx:67 +#: src/tables/settings/ErrorTable.tsx:55 +msgid "Error report deleted" +msgstr "" + +#: src/tables/settings/ErrorTable.tsx:77 #: src/tables/settings/FailedTasksTable.tsx:57 msgid "Error Details" msgstr "" @@ -6154,7 +6309,7 @@ msgid "Task ID" msgstr "" #: src/tables/settings/FailedTasksTable.tsx:34 -#: src/tables/stock/StockItemTestResultTable.tsx:214 +#: src/tables/stock/StockItemTestResultTable.tsx:205 msgid "Started" msgstr "" @@ -6227,30 +6382,71 @@ msgstr "" msgid "Next Run" msgstr "" -#: src/tables/settings/TemplateTable.tsx:120 -msgid "{templateTypeTranslation} with id {id} not found" +#: src/tables/settings/TemplateTable.tsx:82 +msgid "Template not found" msgstr "" +#: src/tables/settings/TemplateTable.tsx:84 +msgid "An error occurred while fetching template details" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:120 +#~ msgid "{templateTypeTranslation} with id {id} not found" +#~ msgstr "" + #: src/tables/settings/TemplateTable.tsx:124 -msgid "An error occurred while fetching {templateTypeTranslation} details" -msgstr "" +#~ msgid "An error occurred while fetching {templateTypeTranslation} details" +#~ msgstr "" #: src/tables/settings/TemplateTable.tsx:146 -msgid "actions" +#~ msgid "actions" +#~ msgstr "" + +#: src/tables/settings/TemplateTable.tsx:170 +msgid "Modify" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:171 +msgid "Modify template file" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:222 +#: src/tables/settings/TemplateTable.tsx:289 +msgid "Edit Template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:230 +msgid "Delete template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:236 +msgid "Add Template" msgstr "" #: src/tables/settings/TemplateTable.tsx:243 -msgid "Add new" -msgstr "" +#~ msgid "Add new" +#~ msgstr "" #: src/tables/settings/TemplateTable.tsx:243 #~ msgid "Create new" #~ msgstr "" -#: src/tables/settings/TemplateTable.tsx:276 +#: src/tables/settings/TemplateTable.tsx:249 +msgid "Add template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:271 msgid "Filter by enabled status" msgstr "" +#: src/tables/settings/TemplateTable.tsx:276 +msgid "Model Type" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:277 +msgid "Filter by target model type" +msgstr "" + #: src/tables/settings/UserTable.tsx:79 msgid "User with id {id} not found" msgstr "" @@ -6316,6 +6512,23 @@ msgstr "" msgid "Edit user" msgstr "" +#: src/tables/stock/LocationTypesTable.tsx:36 +#: src/tables/stock/LocationTypesTable.tsx:105 +msgid "Add Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:44 +msgid "Edit Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:52 +msgid "Delete Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:69 +msgid "Icon" +msgstr "" + #: src/tables/stock/StockItemTable.tsx:90 msgid "This stock item is in production" msgstr "" @@ -6377,7 +6590,7 @@ msgid "Show items which are available" msgstr "" #: src/tables/stock/StockItemTable.tsx:280 -#: src/tables/stock/StockLocationTable.tsx:37 +#: src/tables/stock/StockLocationTable.tsx:33 msgid "Include Sublocations" msgstr "" @@ -6506,123 +6719,135 @@ msgstr "" msgid "Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:153 +#: src/tables/stock/StockItemTestResultTable.tsx:151 msgid "Test result for installed stock item" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:164 +#: src/tables/stock/StockItemTestResultTable.tsx:162 msgid "Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:170 +#: src/tables/stock/StockItemTestResultTable.tsx:168 msgid "No Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:186 +#: src/tables/stock/StockItemTestResultTable.tsx:184 msgid "Attachment" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:209 +#: src/tables/stock/StockItemTestResultTable.tsx:200 msgid "Test station" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:229 +#: src/tables/stock/StockItemTestResultTable.tsx:220 msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:277 -#: src/tables/stock/StockItemTestResultTable.tsx:349 -#: src/tables/stock/StockItemTestResultTable.tsx:404 +#: src/tables/stock/StockItemTestResultTable.tsx:268 +#: src/tables/stock/StockItemTestResultTable.tsx:340 +#: src/tables/stock/StockItemTestResultTable.tsx:395 msgid "Add Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:279 +#: src/tables/stock/StockItemTestResultTable.tsx:270 msgid "Test result added" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:288 -#: src/tables/stock/StockItemTestResultTable.tsx:359 +#: src/tables/stock/StockItemTestResultTable.tsx:279 +#: src/tables/stock/StockItemTestResultTable.tsx:350 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:290 +#: src/tables/stock/StockItemTestResultTable.tsx:281 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:296 -#: src/tables/stock/StockItemTestResultTable.tsx:368 +#: src/tables/stock/StockItemTestResultTable.tsx:287 +#: src/tables/stock/StockItemTestResultTable.tsx:359 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:298 +#: src/tables/stock/StockItemTestResultTable.tsx:289 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:312 +#: src/tables/stock/StockItemTestResultTable.tsx:303 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:313 +#: src/tables/stock/StockItemTestResultTable.tsx:304 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:320 +#: src/tables/stock/StockItemTestResultTable.tsx:311 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:337 +#: src/tables/stock/StockItemTestResultTable.tsx:328 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:386 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:390 +#: src/tables/stock/StockItemTestResultTable.tsx:381 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:391 +#: src/tables/stock/StockItemTestResultTable.tsx:382 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:395 +#: src/tables/stock/StockItemTestResultTable.tsx:386 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:396 +#: src/tables/stock/StockItemTestResultTable.tsx:387 msgid "Show only passed tests" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:38 +#: src/tables/stock/StockLocationTable.tsx:34 msgid "Include sublocations in results" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:42 +#: src/tables/stock/StockLocationTable.tsx:38 msgid "structural" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:43 +#: src/tables/stock/StockLocationTable.tsx:39 msgid "Show structural locations" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:47 +#: src/tables/stock/StockLocationTable.tsx:43 msgid "external" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:48 +#: src/tables/stock/StockLocationTable.tsx:44 msgid "Show external locations" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:52 +#: src/tables/stock/StockLocationTable.tsx:48 msgid "Has location type" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:89 -#: src/tables/stock/StockLocationTable.tsx:118 +#: src/tables/stock/StockLocationTable.tsx:85 +#: src/tables/stock/StockLocationTable.tsx:110 msgid "Add Stock Location" msgstr "" +#: src/tables/stock/StockTrackingTable.tsx:64 +msgid "Added" +msgstr "" + +#: src/tables/stock/StockTrackingTable.tsx:69 +msgid "Removed" +msgstr "" + +#: src/tables/stock/StockTrackingTable.tsx:198 +msgid "No user information" +msgstr "" + #: src/views/MobileAppView.tsx:22 msgid "Mobile viewport detected" msgstr "" diff --git a/src/frontend/src/locales/pt-br/messages.po b/src/frontend/src/locales/pt-br/messages.po index 77aab134d1..0a3aef222e 100644 --- a/src/frontend/src/locales/pt-br/messages.po +++ b/src/frontend/src/locales/pt-br/messages.po @@ -25,10 +25,67 @@ msgstr "" msgid "Title" msgstr "" +#: src/components/buttons/AdminButton.tsx:83 +msgid "Open in admin interface" +msgstr "" + #: src/components/buttons/CopyButton.tsx:18 msgid "Copy to clipboard" msgstr "" +#: src/components/buttons/PrintingActions.tsx:95 +msgid "Print Label" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:101 +msgid "Label printing completed successfully" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:106 +#: src/components/buttons/PrintingActions.tsx:143 +#: src/components/forms/ApiForm.tsx:504 +#: src/components/forms/fields/ApiFormField.tsx:295 +#: src/components/modals/LicenseModal.tsx:75 +#: src/components/nav/SearchDrawer.tsx:413 +#: src/components/widgets/MarkdownEditor.tsx:107 +#: src/components/widgets/MarkdownEditor.tsx:153 +#: src/pages/ErrorPage.tsx:12 +#: src/pages/ErrorPage.tsx:25 +#: src/pages/part/PartPricingPanel.tsx:71 +#: src/tables/InvenTreeTable.tsx:451 +#: src/tables/InvenTreeTable.tsx:531 +#: src/tables/stock/StockItemTestResultTable.tsx:310 +msgid "Error" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:107 +msgid "The label could not be generated" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:122 +msgid "Print Report" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:138 +msgid "Report printing completed successfully" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:144 +msgid "The report could not be generated" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:171 +msgid "Printing Actions" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:176 +msgid "Print Labels" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:182 +msgid "Print Reports" +msgstr "" + #: src/components/buttons/ScanButton.tsx:15 msgid "Scan QR code" msgstr "" @@ -59,15 +116,15 @@ msgstr "" msgid "No" msgstr "" -#: src/components/details/Details.tsx:302 +#: src/components/details/Details.tsx:303 msgid "No name defined" msgstr "" -#: src/components/details/Details.tsx:339 +#: src/components/details/Details.tsx:340 msgid "Copied" msgstr "" -#: src/components/details/Details.tsx:339 +#: src/components/details/Details.tsx:340 msgid "Copy" msgstr "" @@ -80,24 +137,23 @@ msgid "Remove the associated image from this item?" msgstr "" #: src/components/details/DetailsImage.tsx:71 -#: src/forms/StockForms.tsx:442 +#: src/forms/StockForms.tsx:483 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:448 +#: src/pages/stock/StockDetail.tsx:462 msgid "Remove" msgstr "" #: src/components/details/DetailsImage.tsx:71 -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:163 -#: src/components/items/ActionDropdown.tsx:222 -#: src/components/items/ActionDropdown.tsx:223 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 +#: src/components/items/ActionDropdown.tsx:229 +#: src/components/items/ActionDropdown.tsx:230 #: src/contexts/ThemeContext.tsx:43 #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:40 -#: src/tables/FilterSelectDrawer.tsx:218 -#: src/tables/InvenTreeTable.tsx:493 -#: src/tables/build/BuildOutputTable.tsx:223 -#: src/tables/plugin/PluginListTable.tsx:365 +#: src/tables/FilterSelectDrawer.tsx:207 +#: src/tables/InvenTreeTable.tsx:499 +#: src/tables/build/BuildOutputTable.tsx:225 msgid "Cancel" msgstr "" @@ -114,7 +170,7 @@ msgid "Clear" msgstr "" #: src/components/details/DetailsImage.tsx:227 -#: src/components/forms/ApiForm.tsx:554 +#: src/components/forms/ApiForm.tsx:571 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:56 msgid "Submit" @@ -145,9 +201,10 @@ msgid "Part is not active" msgstr "" #: src/components/details/PartIcons.tsx:34 -#: src/pages/company/CompanyDetail.tsx:308 -#: src/pages/company/SupplierPartDetail.tsx:304 -#: src/pages/part/PartDetail.tsx:684 +#: src/components/render/Plugin.tsx:17 +#: src/pages/company/CompanyDetail.tsx:310 +#: src/pages/company/SupplierPartDetail.tsx:305 +#: src/pages/part/PartDetail.tsx:685 msgid "Inactive" msgstr "" @@ -191,10 +248,10 @@ msgid "Code" msgstr "" #: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:44 -msgid "Failed to parse error response from server." -msgstr "" +#~ msgid "Failed to parse error response from server." +#~ msgstr "" -#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:82 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:81 msgid "Preview not available, click \"Reload Preview\"." msgstr "" @@ -202,98 +259,99 @@ msgstr "" msgid "PDF Preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:113 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:104 msgid "Error loading template" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:125 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:116 msgid "Error saving template" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 -msgid "Save & Reload preview?" +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:146 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:270 +msgid "Save & Reload Preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:156 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 msgid "Are you sure you want to Save & Reload the preview?" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 +#~ msgid "Save & Reload preview?" +#~ msgstr "" + +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:153 msgid "To render the preview the current template needs to be replaced on the server with your modifications which may break the label if it is under active use. Do you want to proceed?" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:162 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:157 msgid "Save & Reload" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:191 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:189 msgid "Preview updated" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:192 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:190 msgid "The preview has been updated successfully." msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:255 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:262 msgid "Reload preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:256 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:263 msgid "Use the currently stored template from the server" msgstr "" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:263 -msgid "Save & Reload preview" -msgstr "" +#~ msgid "Save & Reload preview" +#~ msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:264 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:271 msgid "Save the current template and reload the preview" msgstr "" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:322 -#: src/tables/part/PartThumbTable.tsx:203 -msgid "Select" +#~ msgid "to preview" +#~ msgstr "" + +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:329 +msgid "Select instance to preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:322 -msgid "to preview" -msgstr "" - -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:366 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:373 msgid "Error rendering template" msgstr "" -#: src/components/forms/ApiForm.tsx:143 +#: src/components/forms/ApiForm.tsx:148 #: src/functions/forms.tsx:259 msgid "Form Error" msgstr "" -#: src/components/forms/ApiForm.tsx:411 +#: src/components/forms/ApiForm.tsx:428 #: src/components/widgets/MarkdownEditor.tsx:145 msgid "Success" msgstr "" #: src/components/forms/ApiForm.tsx:487 -msgid "Form Errors Exist" -msgstr "" +#~ msgid "Form Errors Exist" +#~ msgstr "" -#: src/components/forms/ApiForm.tsx:592 -#: src/tables/plugin/PluginListTable.tsx:445 +#: src/components/forms/ApiForm.tsx:609 +#: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "" -#: src/components/forms/ApiForm.tsx:612 -#: src/components/items/ActionDropdown.tsx:203 +#: src/components/forms/ApiForm.tsx:629 +#: src/components/items/ActionDropdown.tsx:210 #: src/functions/forms.tsx:299 #: src/hooks/UseForm.tsx:122 #: src/pages/Index/Scan.tsx:343 #: src/pages/Notifications.tsx:123 -#: src/tables/InvenTreeTable.tsx:492 +#: src/tables/InvenTreeTable.tsx:498 #: src/tables/RowActions.tsx:71 -#: src/tables/plugin/PluginListTable.tsx:477 -#: src/tables/settings/TemplateTable.tsx:105 -#: src/tables/settings/TemplateTable.tsx:154 -#: src/tables/settings/TemplateTable.tsx:236 +#: src/tables/plugin/PluginListTable.tsx:420 msgid "Delete" msgstr "" @@ -444,18 +502,19 @@ msgstr "" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 -#: src/pages/part/CategoryDetail.tsx:77 -#: src/pages/part/PartDetail.tsx:125 -#: src/pages/stock/LocationDetail.tsx:83 +#: src/pages/part/CategoryDetail.tsx:78 +#: src/pages/part/PartDetail.tsx:126 +#: src/pages/stock/LocationDetail.tsx:85 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 #: src/tables/machine/MachineTypeTable.tsx:216 #: src/tables/machine/MachineTypeTable.tsx:319 #: src/tables/plugin/PluginErrorTable.tsx:33 -#: src/tables/plugin/PluginListTable.tsx:169 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:27 +#: src/tables/plugin/PluginListTable.tsx:126 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:32 #: src/tables/settings/GroupTable.tsx:103 #: src/tables/settings/PendingTasksTable.tsx:26 +#: src/tables/stock/LocationTypesTable.tsx:60 msgid "Name" msgstr "" @@ -496,35 +555,20 @@ msgstr "" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/ApiFormField.tsx:276 -#: src/components/modals/LicenseModal.tsx:75 -#: src/components/nav/SearchDrawer.tsx:413 -#: src/components/widgets/MarkdownEditor.tsx:107 -#: src/components/widgets/MarkdownEditor.tsx:153 -#: src/pages/ErrorPage.tsx:12 -#: src/pages/ErrorPage.tsx:25 -#: src/pages/part/PartPricingPanel.tsx:71 -#: src/tables/InvenTreeTable.tsx:445 -#: src/tables/InvenTreeTable.tsx:525 -#: src/tables/plugin/PluginListTable.tsx:402 -#: src/tables/stock/StockItemTestResultTable.tsx:319 -msgid "Error" -msgstr "" - -#: src/components/forms/fields/RelatedModelField.tsx:305 +#: src/components/forms/fields/RelatedModelField.tsx:315 #: src/pages/Index/Settings/UserSettings.tsx:64 #: src/tables/Search.tsx:23 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:306 +#: src/components/forms/fields/RelatedModelField.tsx:316 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:120 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:308 +#: src/components/forms/fields/RelatedModelField.tsx:318 msgid "No results found" msgstr "" @@ -545,54 +589,51 @@ msgstr "" msgid "Thumbnail" msgstr "" -#: src/components/items/ActionDropdown.tsx:112 -#: src/pages/build/BuildDetail.tsx:354 +#: src/components/items/ActionDropdown.tsx:119 +#: src/pages/build/BuildDetail.tsx:360 msgid "Barcode Actions" msgstr "" -#: src/components/items/ActionDropdown.tsx:129 +#: src/components/items/ActionDropdown.tsx:136 msgid "View" msgstr "" -#: src/components/items/ActionDropdown.tsx:130 +#: src/components/items/ActionDropdown.tsx:137 msgid "View barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:146 +#: src/components/items/ActionDropdown.tsx:153 msgid "Link Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:147 +#: src/components/items/ActionDropdown.tsx:154 msgid "Link custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:163 -#: src/forms/PurchaseOrderForms.tsx:375 +#: src/components/items/ActionDropdown.tsx:170 +#: src/forms/PurchaseOrderForms.tsx:389 msgid "Unlink Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:164 +#: src/components/items/ActionDropdown.tsx:171 msgid "Unlink custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:182 +#: src/components/items/ActionDropdown.tsx:189 #: src/tables/RowActions.tsx:51 -#: src/tables/settings/TemplateTable.tsx:87 -#: src/tables/settings/TemplateTable.tsx:150 -#: src/tables/settings/TemplateTable.tsx:287 msgid "Edit" msgstr "" -#: src/components/items/ActionDropdown.tsx:204 +#: src/components/items/ActionDropdown.tsx:211 msgid "Delete item" msgstr "" -#: src/components/items/ActionDropdown.tsx:241 +#: src/components/items/ActionDropdown.tsx:248 #: src/tables/RowActions.tsx:31 msgid "Duplicate" msgstr "" -#: src/components/items/ActionDropdown.tsx:242 +#: src/components/items/ActionDropdown.tsx:249 msgid "Duplicate item" msgstr "" @@ -601,7 +642,7 @@ msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:437 +#: src/tables/InvenTreeTable.tsx:443 msgid "Unknown error" msgstr "" @@ -761,27 +802,27 @@ msgstr "" #: src/components/modals/QrCodeModal.tsx:154 #: src/defaults/menuItems.tsx:21 -#: src/pages/Index/Scan.tsx:747 +#: src/pages/Index/Scan.tsx:746 msgid "Scanning" msgstr "" #: src/components/modals/QrCodeModal.tsx:154 -#: src/pages/Index/Scan.tsx:747 +#: src/pages/Index/Scan.tsx:746 msgid "Not scanning" msgstr "" #: src/components/modals/QrCodeModal.tsx:159 -#: src/pages/Index/Scan.tsx:753 +#: src/pages/Index/Scan.tsx:752 msgid "Select Camera" msgstr "" #: src/components/modals/QrCodeModal.tsx:169 -#: src/pages/Index/Scan.tsx:738 +#: src/pages/Index/Scan.tsx:737 msgid "Start scanning" msgstr "" #: src/components/modals/QrCodeModal.tsx:176 -#: src/pages/Index/Scan.tsx:730 +#: src/pages/Index/Scan.tsx:729 msgid "Stop scanning" msgstr "" @@ -867,8 +908,8 @@ msgid "Email settings not configured" msgstr "" #: src/components/modals/ServerInfoModal.tsx:121 -#: src/tables/plugin/PluginListTable.tsx:187 -#: src/tables/plugin/PluginListTable.tsx:319 +#: src/tables/plugin/PluginListTable.tsx:144 +#: src/tables/plugin/PluginListTable.tsx:294 msgid "Version" msgstr "" @@ -902,13 +943,13 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:293 +#: src/pages/Index/Settings/SystemSettings.tsx:294 msgid "System Settings" msgstr "" #: src/components/nav/MainMenu.tsx:67 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:172 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 msgid "Admin Center" msgstr "" @@ -943,7 +984,7 @@ msgid "Pages" msgstr "" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:133 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:153 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "" @@ -981,9 +1022,9 @@ msgid "Mark as read" msgstr "" #: src/components/nav/PartCategoryTree.tsx:158 -#: src/components/render/ModelType.tsx:60 +#: src/components/render/ModelType.tsx:64 #: src/pages/Index/Settings/SystemSettings.tsx:162 -#: src/pages/part/CategoryDetail.tsx:248 +#: src/pages/part/CategoryDetail.tsx:249 msgid "Part Categories" msgstr "" @@ -1020,142 +1061,147 @@ msgid "No results available for search query" msgstr "" #: src/components/nav/StockLocationTree.tsx:93 -#: src/components/render/ModelType.tsx:76 -#: src/pages/stock/LocationDetail.tsx:175 +#: src/components/render/ModelType.tsx:82 +#: src/pages/stock/LocationDetail.tsx:185 msgid "Stock Locations" msgstr "" -#: src/components/render/Instance.tsx:137 +#: src/components/render/Instance.tsx:166 msgid "Unknown model: {model}" msgstr "" -#: src/components/render/ModelType.tsx:21 -#: src/forms/BuildForms.tsx:184 -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49 +#: src/components/render/ModelType.tsx:22 +#: src/forms/BuildForms.tsx:201 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:83 #: src/pages/part/PartDetail.tsx:828 #: src/tables/part/RelatedPartTable.tsx:45 +#: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" msgstr "" -#: src/components/render/ModelType.tsx:22 +#: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 #: src/pages/Index/Settings/SystemSettings.tsx:167 -#: src/pages/part/CategoryDetail.tsx:109 -#: src/pages/part/CategoryDetail.tsx:234 -#: src/pages/part/CategoryDetail.tsx:264 -#: src/pages/part/PartDetail.tsx:638 +#: src/pages/part/CategoryDetail.tsx:110 +#: src/pages/part/CategoryDetail.tsx:235 +#: src/pages/part/CategoryDetail.tsx:265 +#: src/pages/part/PartDetail.tsx:639 msgid "Parts" msgstr "" -#: src/components/render/ModelType.tsx:29 +#: src/components/render/ModelType.tsx:31 msgid "Part Parameter Template" msgstr "" -#: src/components/render/ModelType.tsx:30 +#: src/components/render/ModelType.tsx:32 msgid "Part Parameter Templates" msgstr "" -#: src/components/render/ModelType.tsx:36 +#: src/components/render/ModelType.tsx:38 msgid "Part Test Template" msgstr "" -#: src/components/render/ModelType.tsx:37 +#: src/components/render/ModelType.tsx:39 msgid "Part Test Templates" msgstr "" -#: src/components/render/ModelType.tsx:43 -#: src/pages/company/SupplierPartDetail.tsx:189 -#: src/pages/company/SupplierPartDetail.tsx:317 -#: src/pages/stock/StockDetail.tsx:159 +#: src/components/render/ModelType.tsx:45 +#: src/pages/company/SupplierPartDetail.tsx:190 +#: src/pages/company/SupplierPartDetail.tsx:318 +#: src/pages/stock/StockDetail.tsx:162 #: src/tables/purchasing/SupplierPartTable.tsx:68 msgid "Supplier Part" msgstr "" -#: src/components/render/ModelType.tsx:44 +#: src/components/render/ModelType.tsx:46 msgid "Supplier Parts" msgstr "" -#: src/components/render/ModelType.tsx:51 -#: src/pages/company/ManufacturerPartDetail.tsx:124 +#: src/components/render/ModelType.tsx:54 +#: src/pages/company/ManufacturerPartDetail.tsx:125 msgid "Manufacturer Part" msgstr "" -#: src/components/render/ModelType.tsx:52 +#: src/components/render/ModelType.tsx:55 msgid "Manufacturer Parts" msgstr "" -#: src/components/render/ModelType.tsx:59 -#: src/pages/part/CategoryDetail.tsx:287 +#: src/components/render/ModelType.tsx:63 +#: src/pages/part/CategoryDetail.tsx:288 msgid "Part Category" msgstr "" -#: src/components/render/ModelType.tsx:67 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67 -#: src/pages/stock/StockDetail.tsx:535 +#: src/components/render/ModelType.tsx:72 +#: src/pages/stock/StockDetail.tsx:548 +#: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" msgstr "" -#: src/components/render/ModelType.tsx:68 -#: src/pages/company/CompanyDetail.tsx:197 -#: src/pages/stock/LocationDetail.tsx:116 -#: src/pages/stock/LocationDetail.tsx:161 +#: src/components/render/ModelType.tsx:73 +#: src/pages/company/CompanyDetail.tsx:199 +#: src/pages/stock/LocationDetail.tsx:118 +#: src/pages/stock/LocationDetail.tsx:171 #: src/pages/stock/LocationDetail.tsx:365 msgid "Stock Items" msgstr "" -#: src/components/render/ModelType.tsx:75 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:154 +#: src/components/render/ModelType.tsx:81 msgid "Stock Location" msgstr "" -#: src/components/render/ModelType.tsx:83 +#: src/components/render/ModelType.tsx:90 +msgid "Stock Location Type" +msgstr "" + +#: src/components/render/ModelType.tsx:91 +msgid "Stock Location Types" +msgstr "" + +#: src/components/render/ModelType.tsx:95 msgid "Stock History" msgstr "" -#: src/components/render/ModelType.tsx:84 +#: src/components/render/ModelType.tsx:96 msgid "Stock Histories" msgstr "" -#: src/components/render/ModelType.tsx:88 +#: src/components/render/ModelType.tsx:100 #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:43 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:126 msgid "Build" msgstr "" -#: src/components/render/ModelType.tsx:89 +#: src/components/render/ModelType.tsx:101 msgid "Builds" msgstr "" -#: src/components/render/ModelType.tsx:96 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:76 +#: src/components/render/ModelType.tsx:109 msgid "Build Line" msgstr "" -#: src/components/render/ModelType.tsx:97 +#: src/components/render/ModelType.tsx:110 msgid "Build Lines" msgstr "" -#: src/components/render/ModelType.tsx:104 -#: src/pages/company/CompanyDetail.tsx:321 +#: src/components/render/ModelType.tsx:117 +#: src/pages/company/CompanyDetail.tsx:323 msgid "Company" msgstr "" -#: src/components/render/ModelType.tsx:105 +#: src/components/render/ModelType.tsx:118 msgid "Companies" msgstr "" -#: src/components/render/ModelType.tsx:112 +#: src/components/render/ModelType.tsx:126 #: src/tables/TableHoverCard.tsx:58 #: src/tables/build/BuildOrderTable.tsx:131 #: src/tables/purchasing/PurchaseOrderTable.tsx:64 @@ -1164,170 +1210,199 @@ msgstr "" msgid "Project Code" msgstr "" -#: src/components/render/ModelType.tsx:113 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:97 +#: src/components/render/ModelType.tsx:127 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:105 msgid "Project Codes" msgstr "" -#: src/components/render/ModelType.tsx:119 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99 +#: src/components/render/ModelType.tsx:133 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:355 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:362 +#: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" msgstr "" -#: src/components/render/ModelType.tsx:120 -#: src/pages/Index/Settings/SystemSettings.tsx:242 -#: src/pages/company/CompanyDetail.tsx:190 -#: src/pages/company/SupplierPartDetail.tsx:223 -#: src/pages/part/PartDetail.tsx:571 +#: src/components/render/ModelType.tsx:134 +#: src/pages/Index/Settings/SystemSettings.tsx:243 +#: src/pages/company/CompanyDetail.tsx:192 +#: src/pages/company/SupplierPartDetail.tsx:224 +#: src/pages/part/PartDetail.tsx:572 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" -#: src/components/render/ModelType.tsx:127 +#: src/components/render/ModelType.tsx:142 msgid "Purchase Order Line" msgstr "" -#: src/components/render/ModelType.tsx:128 +#: src/components/render/ModelType.tsx:143 msgid "Purchase Order Lines" msgstr "" -#: src/components/render/ModelType.tsx:132 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:108 +#: src/components/render/ModelType.tsx:147 #: src/pages/build/BuildDetail.tsx:131 -#: src/pages/sales/SalesOrderDetail.tsx:340 -#: src/pages/stock/StockDetail.tsx:207 +#: src/pages/sales/SalesOrderDetail.tsx:347 +#: src/pages/stock/StockDetail.tsx:210 +#: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" msgstr "" -#: src/components/render/ModelType.tsx:133 -#: src/pages/Index/Settings/SystemSettings.tsx:257 -#: src/pages/company/CompanyDetail.tsx:210 -#: src/pages/part/PartDetail.tsx:577 +#: src/components/render/ModelType.tsx:148 +#: src/pages/Index/Settings/SystemSettings.tsx:258 +#: src/pages/company/CompanyDetail.tsx:212 +#: src/pages/part/PartDetail.tsx:578 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" -#: src/components/render/ModelType.tsx:140 +#: src/components/render/ModelType.tsx:156 msgid "Sales Order Shipment" msgstr "" -#: src/components/render/ModelType.tsx:141 +#: src/components/render/ModelType.tsx:157 msgid "Sales Order Shipments" msgstr "" -#: src/components/render/ModelType.tsx:147 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:117 -#: src/pages/sales/ReturnOrderDetail.tsx:318 +#: src/components/render/ModelType.tsx:163 +#: src/pages/sales/ReturnOrderDetail.tsx:325 +#: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "" -#: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:272 -#: src/pages/company/CompanyDetail.tsx:217 +#: src/components/render/ModelType.tsx:164 +#: src/pages/Index/Settings/SystemSettings.tsx:273 +#: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" msgstr "" -#: src/components/render/ModelType.tsx:155 +#: src/components/render/ModelType.tsx:172 #: src/tables/company/AddressTable.tsx:47 msgid "Address" msgstr "" -#: src/components/render/ModelType.tsx:156 -#: src/pages/company/CompanyDetail.tsx:247 +#: src/components/render/ModelType.tsx:173 +#: src/pages/company/CompanyDetail.tsx:249 msgid "Addresses" msgstr "" -#: src/components/render/ModelType.tsx:162 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:189 -#: src/pages/sales/ReturnOrderDetail.tsx:157 -#: src/pages/sales/SalesOrderDetail.tsx:161 +#: src/components/render/ModelType.tsx:179 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:191 +#: src/pages/sales/ReturnOrderDetail.tsx:159 +#: src/pages/sales/SalesOrderDetail.tsx:163 msgid "Contact" msgstr "" -#: src/components/render/ModelType.tsx:163 -#: src/pages/company/CompanyDetail.tsx:241 +#: src/components/render/ModelType.tsx:180 +#: src/pages/company/CompanyDetail.tsx:243 msgid "Contacts" msgstr "" -#: src/components/render/ModelType.tsx:169 +#: src/components/render/ModelType.tsx:186 msgid "Owner" msgstr "" -#: src/components/render/ModelType.tsx:170 +#: src/components/render/ModelType.tsx:187 msgid "Owners" msgstr "" -#: src/components/render/ModelType.tsx:176 +#: src/components/render/ModelType.tsx:193 +#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "" -#: src/components/render/ModelType.tsx:177 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:73 +#: src/components/render/ModelType.tsx:194 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:81 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "" -#: src/components/render/Order.tsx:87 +#: src/components/render/ModelType.tsx:200 +msgid "Label Template" +msgstr "" + +#: src/components/render/ModelType.tsx:201 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:135 +msgid "Label Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:207 +msgid "Report Template" +msgstr "" + +#: src/components/render/ModelType.tsx:208 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:141 +msgid "Report Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:214 +msgid "Plugin Configuration" +msgstr "" + +#: src/components/render/ModelType.tsx:215 +msgid "Plugin Configurations" +msgstr "" + +#: src/components/render/Order.tsx:104 msgid "Shipment" msgstr "" -#: src/components/render/Part.tsx:12 +#: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:198 -#: src/pages/part/PartDetail.tsx:491 +#: src/pages/Index/Settings/SystemSettings.tsx:199 +#: src/pages/part/PartDetail.tsx:492 #: src/pages/stock/LocationDetail.tsx:344 -#: src/pages/stock/StockDetail.tsx:344 +#: src/pages/stock/StockDetail.tsx:352 #: src/tables/stock/StockItemTable.tsx:57 msgid "Stock" msgstr "" -#: src/components/render/Stock.tsx:26 -#: src/pages/stock/StockDetail.tsx:142 -#: src/pages/stock/StockDetail.tsx:501 +#: src/components/render/Stock.tsx:52 +#: src/pages/stock/StockDetail.tsx:145 +#: src/pages/stock/StockDetail.tsx:514 msgid "Serial Number" msgstr "" -#: src/components/render/Stock.tsx:28 -#: src/forms/BuildForms.tsx:189 +#: src/components/render/Stock.tsx:54 +#: src/forms/BuildForms.tsx:206 #: src/pages/part/pricing/BomPricingPanel.tsx:144 -#: src/pages/part/pricing/PriceBreakPanel.tsx:96 -#: src/pages/stock/StockDetail.tsx:137 -#: src/pages/stock/StockDetail.tsx:507 +#: src/pages/part/pricing/PriceBreakPanel.tsx:94 +#: src/pages/stock/StockDetail.tsx:140 +#: src/pages/stock/StockDetail.tsx:520 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:73 +#: src/tables/stock/StockTrackingTable.tsx:59 msgid "Quantity" msgstr "" -#: src/components/settings/SettingItem.tsx:46 -#: src/components/settings/SettingItem.tsx:99 -msgid "Setting updated" -msgstr "" - #: src/components/settings/SettingItem.tsx:47 #: src/components/settings/SettingItem.tsx:100 -msgid "{0} updated successfully" -msgstr "" +#~ msgid "{0} updated successfully" +#~ msgstr "" -#: src/components/settings/SettingItem.tsx:55 -msgid "Error editing setting" -msgstr "" - -#: src/components/settings/SettingItem.tsx:92 +#: src/components/settings/SettingList.tsx:67 msgid "Edit Setting" msgstr "" -#: src/components/settings/SettingList.tsx:63 -msgid "No settings specified" +#: src/components/settings/SettingList.tsx:78 +#: src/components/settings/SettingList.tsx:108 +msgid "Setting {0} updated successfully" msgstr "" -#: src/components/tables/ColumnRenderers.tsx:134 -#~ msgid "Shipment Date" -#~ msgstr "" +#: src/components/settings/SettingList.tsx:107 +msgid "Setting updated" +msgstr "" + +#: src/components/settings/SettingList.tsx:117 +msgid "Error editing setting" +msgstr "" + +#: src/components/settings/SettingList.tsx:158 +msgid "No settings specified" +msgstr "" #: src/components/tables/FilterGroup.tsx:29 #~ msgid "Add table filter" @@ -1695,10 +1770,6 @@ msgstr "" #~ msgid "This is a test filter" #~ msgstr "" -#: src/components/tables/stock/StockLocationTable.tsx:91 -#~ msgid "Location Type" -#~ msgstr "" - #: src/components/tables/stock/StockLocationTable.tsx:145 #~ msgid "Stock location updated" #~ msgstr "" @@ -2028,7 +2099,7 @@ msgid "Current News" msgstr "" #: src/defaults/links.tsx:11 -#: src/pages/company/CompanyDetail.tsx:90 +#: src/pages/company/CompanyDetail.tsx:92 msgid "Website" msgstr "" @@ -2043,10 +2114,10 @@ msgstr "" #: src/defaults/links.tsx:31 #: src/defaults/menuItems.tsx:48 #: src/pages/company/ManufacturerDetail.tsx:9 -#: src/pages/company/ManufacturerPartDetail.tsx:231 +#: src/pages/company/ManufacturerPartDetail.tsx:235 #: src/pages/company/SupplierDetail.tsx:9 -#: src/pages/company/SupplierPartDetail.tsx:291 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:358 +#: src/pages/company/SupplierPartDetail.tsx:292 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:365 #: src/pages/purchasing/PurchasingIndex.tsx:52 msgid "Purchasing" msgstr "" @@ -2054,15 +2125,15 @@ msgstr "" #: src/defaults/links.tsx:32 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:323 +#: src/pages/sales/ReturnOrderDetail.tsx:330 #: src/pages/sales/SalesIndex.tsx:45 -#: src/pages/sales/SalesOrderDetail.tsx:345 +#: src/pages/sales/SalesOrderDetail.tsx:352 msgid "Sales" msgstr "" #: src/defaults/links.tsx:35 #: src/defaults/menuItems.tsx:71 -#: src/pages/Index/Playground.tsx:239 +#: src/pages/Index/Playground.tsx:238 msgid "Playground" msgstr "" @@ -2132,87 +2203,83 @@ msgid "View for interactive scanning and multiple actions." msgstr "" #: src/forms/AttachmentForms.tsx:57 -msgid "Add File" -msgstr "" +#~ msgid "Add File" +#~ msgstr "" #: src/forms/AttachmentForms.tsx:57 -msgid "Add Link" -msgstr "" +#~ msgid "Add Link" +#~ msgstr "" #: src/forms/AttachmentForms.tsx:58 -msgid "File added" -msgstr "" +#~ msgid "File added" +#~ msgstr "" #: src/forms/AttachmentForms.tsx:58 -msgid "Link added" -msgstr "" +#~ msgid "Link added" +#~ msgstr "" #: src/forms/AttachmentForms.tsx:99 -msgid "Edit File" -msgstr "" +#~ msgid "Edit File" +#~ msgstr "" #: src/forms/AttachmentForms.tsx:99 -msgid "Edit Link" -msgstr "" +#~ msgid "Edit Link" +#~ msgstr "" #: src/forms/AttachmentForms.tsx:100 -msgid "File updated" -msgstr "" +#~ msgid "File updated" +#~ msgstr "" #: src/forms/AttachmentForms.tsx:100 -msgid "Link updated" -msgstr "" - -#: src/forms/AttachmentForms.tsx:124 -msgid "Delete Attachment" -msgstr "" +#~ msgid "Link updated" +#~ msgstr "" #: src/forms/AttachmentForms.tsx:125 -msgid "Attachment deleted" -msgstr "" +#~ msgid "Attachment deleted" +#~ msgstr "" #: src/forms/AttachmentForms.tsx:128 -msgid "Are you sure you want to delete this attachment?" -msgstr "" +#~ msgid "Are you sure you want to delete this attachment?" +#~ msgstr "" -#: src/forms/BuildForms.tsx:129 +#: src/forms/BuildForms.tsx:146 msgid "Next serial number" msgstr "" -#: src/forms/BuildForms.tsx:133 +#: src/forms/BuildForms.tsx:150 msgid "Latest serial number" msgstr "" -#: src/forms/BuildForms.tsx:205 +#: src/forms/BuildForms.tsx:222 msgid "Remove output" msgstr "" -#: src/forms/BuildForms.tsx:287 +#: src/forms/BuildForms.tsx:304 msgid "Complete Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:291 +#: src/forms/BuildForms.tsx:308 msgid "Build outputs have been completed" msgstr "" -#: src/forms/BuildForms.tsx:360 +#: src/forms/BuildForms.tsx:377 msgid "Scrap Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:364 +#: src/forms/BuildForms.tsx:381 msgid "Build outputs have been scrapped" msgstr "" -#: src/forms/BuildForms.tsx:396 -#: src/forms/BuildForms.tsx:420 +#: src/forms/BuildForms.tsx:413 +#: src/forms/BuildForms.tsx:437 msgid "Cancel Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:397 +#: src/forms/BuildForms.tsx:414 msgid "Selected build outputs will be deleted" msgstr "" -#: src/forms/BuildForms.tsx:424 +#: src/forms/BuildForms.tsx:441 msgid "Build outputs have been cancelled" msgstr "" @@ -2236,76 +2303,76 @@ msgstr "" #~ msgid "Part updated" #~ msgstr "" -#: src/forms/PurchaseOrderForms.tsx:265 +#: src/forms/PurchaseOrderForms.tsx:279 msgid "Choose Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:273 +#: src/forms/PurchaseOrderForms.tsx:287 msgid "Item Destination selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:282 +#: src/forms/PurchaseOrderForms.tsx:296 msgid "Part category default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:292 +#: src/forms/PurchaseOrderForms.tsx:306 msgid "Received stock location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:297 +#: src/forms/PurchaseOrderForms.tsx:311 msgid "Default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:308 -#: src/forms/PurchaseOrderForms.tsx:384 +#: src/forms/PurchaseOrderForms.tsx:322 +#: src/forms/PurchaseOrderForms.tsx:398 msgid "Scan Barcode" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:352 +#: src/forms/PurchaseOrderForms.tsx:366 msgid "Set Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:359 +#: src/forms/PurchaseOrderForms.tsx:373 msgid "Assign Batch Code{0}" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:368 +#: src/forms/PurchaseOrderForms.tsx:382 msgid "Change Status" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:393 -#: src/forms/StockForms.tsx:351 +#: src/forms/PurchaseOrderForms.tsx:407 +#: src/forms/StockForms.tsx:392 msgid "Remove item from list" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:418 -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:58 -#: src/pages/stock/StockDetail.tsx:167 -#: src/tables/ColumnRenderers.tsx:42 +#: src/forms/PurchaseOrderForms.tsx:432 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/pages/stock/StockDetail.tsx:170 +#: src/tables/ColumnRenderers.tsx:34 +#: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:434 +#: src/forms/PurchaseOrderForms.tsx:448 msgid "Store at default location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:447 +#: src/forms/PurchaseOrderForms.tsx:461 msgid "Store at line item destination" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:457 +#: src/forms/PurchaseOrderForms.tsx:471 msgid "Store with already received stock" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:613 +#: src/forms/PurchaseOrderForms.tsx:627 msgid "Receive Line Items" msgstr "" @@ -2313,119 +2380,118 @@ msgstr "" #~ msgid "Receive line items" #~ msgstr "" -#: src/forms/StockForms.tsx:69 +#: src/forms/StockForms.tsx:101 msgid "Add given quantity as packs instead of individual items" msgstr "" -#: src/forms/StockForms.tsx:80 -msgid "Enter initial quantity for this stock item" -msgstr "" - -#: src/forms/StockForms.tsx:85 -msgid "Serial Numbers" -msgstr "" - -#: src/forms/StockForms.tsx:86 -msgid "Enter serial numbers for new stock (or leave blank)" -msgstr "" - #: src/forms/StockForms.tsx:110 #~ msgid "Create Stock Item" #~ msgstr "" -#: src/forms/StockForms.tsx:135 -#: src/pages/stock/StockDetail.tsx:367 -#: src/tables/stock/StockItemTable.tsx:382 -#: src/tables/stock/StockItemTable.tsx:499 -msgid "Add Stock Item" +#: src/forms/StockForms.tsx:114 +msgid "Enter initial quantity for this stock item" +msgstr "" + +#: src/forms/StockForms.tsx:121 +msgid "Serial Numbers" +msgstr "" + +#: src/forms/StockForms.tsx:122 +msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" #: src/forms/StockForms.tsx:158 #~ msgid "Stock item updated" #~ msgstr "" -#: src/forms/StockForms.tsx:298 +#: src/forms/StockForms.tsx:176 +#: src/pages/stock/StockDetail.tsx:375 +#: src/tables/stock/StockItemTable.tsx:382 +#: src/tables/stock/StockItemTable.tsx:499 +msgid "Add Stock Item" +msgstr "" + +#: src/forms/StockForms.tsx:339 msgid "Loading..." msgstr "" -#: src/forms/StockForms.tsx:340 +#: src/forms/StockForms.tsx:381 msgid "Move to default location" msgstr "" -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/part/PartDetail.tsx:205 -#: src/pages/part/PartDetail.tsx:654 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/pages/part/PartDetail.tsx:206 +#: src/pages/part/PartDetail.tsx:655 #: src/tables/stock/StockItemTable.tsx:290 msgid "In Stock" msgstr "" -#: src/forms/StockForms.tsx:408 +#: src/forms/StockForms.tsx:449 msgid "Move" msgstr "" -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/tables/RowActions.tsx:147 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/tables/RowActions.tsx:149 msgid "Actions" msgstr "" -#: src/forms/StockForms.tsx:471 -#: src/pages/stock/StockDetail.tsx:440 -#: src/tables/settings/TemplateTable.tsx:266 -#: src/tables/stock/StockItemTestResultTable.tsx:348 +#: src/forms/StockForms.tsx:512 +#: src/pages/stock/StockDetail.tsx:454 +#: src/tables/stock/StockItemTestResultTable.tsx:339 msgid "Add" msgstr "" -#: src/forms/StockForms.tsx:499 +#: src/forms/StockForms.tsx:540 #: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:430 +#: src/pages/stock/StockDetail.tsx:444 msgid "Count" msgstr "" -#: src/forms/StockForms.tsx:744 +#: src/forms/StockForms.tsx:785 msgid "Add Stock" msgstr "" -#: src/forms/StockForms.tsx:753 +#: src/forms/StockForms.tsx:794 msgid "Remove Stock" msgstr "" -#: src/forms/StockForms.tsx:762 -#: src/pages/part/PartDetail.tsx:781 +#: src/forms/StockForms.tsx:803 +#: src/pages/part/PartDetail.tsx:782 msgid "Transfer Stock" msgstr "" -#: src/forms/StockForms.tsx:771 -#: src/pages/part/PartDetail.tsx:770 +#: src/forms/StockForms.tsx:812 +#: src/pages/part/PartDetail.tsx:771 msgid "Count Stock" msgstr "" -#: src/forms/StockForms.tsx:780 +#: src/forms/StockForms.tsx:821 msgid "Change Stock Status" msgstr "" -#: src/forms/StockForms.tsx:789 +#: src/forms/StockForms.tsx:830 msgid "Merge Stock" msgstr "" -#: src/forms/StockForms.tsx:808 +#: src/forms/StockForms.tsx:849 msgid "Delete Stock Items" msgstr "" -#: src/forms/StockForms.tsx:815 +#: src/forms/StockForms.tsx:856 msgid "Parent stock location" msgstr "" @@ -2612,7 +2678,7 @@ msgstr "" msgid "Welcome to your Dashboard{0}" msgstr "" -#: src/pages/Index/Playground.tsx:244 +#: src/pages/Index/Playground.tsx:243 msgid "This page is a showcase for the possibilities of Platform UI." msgstr "" @@ -2898,49 +2964,53 @@ msgstr "" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:79 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:87 msgid "Background Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:85 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:93 msgid "Error Reports" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:91 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:99 msgid "Currencies" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:109 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:117 msgid "Custom Units" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:115 -#: src/pages/part/CategoryDetail.tsx:254 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:123 +#: src/pages/part/CategoryDetail.tsx:255 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:121 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 +#~ msgid "Templates" +#~ msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:129 msgid "Category Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 -msgid "Templates" +#: src/pages/Index/Settings/AdminCenter/Index.tsx:147 +msgid "Location types" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:139 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:159 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:149 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:169 msgid "Quick Actions" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:154 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 msgid "Add a new user" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:173 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:193 msgid "Advanced Options" msgstr "" @@ -2985,26 +3055,32 @@ msgstr "" msgid "Plugin Settings" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:25 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:53 +msgid "Background Worker Not Running" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:54 +msgid "The background task manager service is not running. Contact your system administrator." +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:60 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:76 msgid "Pending Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:33 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:64 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:84 msgid "Scheduled Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:41 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:68 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:92 msgid "Failed Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:139 -msgid "Labels" -msgstr "" - #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:39 -msgid "Label" -msgstr "" +#~ msgid "Label" +#~ msgstr "" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67 #~ msgid "Stock item" @@ -3015,13 +3091,13 @@ msgstr "" #~ msgstr "" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:88 -msgid "Reports" -msgstr "" +#~ msgid "Reports" +#~ msgstr "" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:89 #: src/pages/build/BuildDetail.tsx:373 -msgid "Report" -msgstr "" +#~ msgid "Report" +#~ msgstr "" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99 #~ msgid "Purchase order" @@ -3035,14 +3111,9 @@ msgstr "" #~ msgid "Return order" #~ msgstr "" -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135 -#: src/pages/part/PartDetail.tsx:518 -msgid "Bill of Materials" -msgstr "" - #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:145 -msgid "Tests" -msgstr "" +#~ msgid "Tests" +#~ msgstr "" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:154 #~ msgid "Stock location" @@ -3081,26 +3152,30 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "" +#: src/pages/Index/Settings/SystemSettings.tsx:139 +msgid "Labels" +msgstr "" + #: src/pages/Index/Settings/SystemSettings.tsx:145 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:223 -#: src/pages/part/PartDetail.tsx:589 +#: src/pages/Index/Settings/SystemSettings.tsx:224 +#: src/pages/part/PartDetail.tsx:590 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:228 -#: src/pages/build/BuildDetail.tsx:426 +#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:525 -#: src/pages/sales/SalesOrderDetail.tsx:263 +#: src/pages/part/PartDetail.tsx:526 +#: src/pages/sales/SalesOrderDetail.tsx:265 msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:296 +#: src/pages/Index/Settings/SystemSettings.tsx:297 msgid "Switch to User Setting" msgstr "" @@ -3153,44 +3228,47 @@ msgstr "" #~ msgstr "" #: src/pages/build/BuildDetail.tsx:89 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:128 -#: src/pages/sales/ReturnOrderDetail.tsx:95 -#: src/pages/sales/SalesOrderDetail.tsx:99 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:130 +#: src/pages/sales/ReturnOrderDetail.tsx:97 +#: src/pages/sales/SalesOrderDetail.tsx:101 #: src/tables/build/BuildOrderTable.tsx:113 #: src/tables/machine/MachineListTable.tsx:326 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderTable.tsx:46 #: src/tables/sales/SalesOrderTable.tsx:52 #: src/tables/stock/StockItemTable.tsx:259 +#: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "" #: src/pages/build/BuildDetail.tsx:95 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:101 -#: src/pages/sales/ReturnOrderDetail.tsx:69 -#: src/pages/sales/SalesOrderDetail.tsx:73 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:103 +#: src/pages/sales/ReturnOrderDetail.tsx:71 +#: src/pages/sales/SalesOrderDetail.tsx:75 +#: src/tables/ColumnRenderers.tsx:106 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" msgstr "" #: src/pages/build/BuildDetail.tsx:100 -#: src/pages/company/CompanyDetail.tsx:84 -#: src/pages/company/ManufacturerPartDetail.tsx:75 -#: src/pages/company/SupplierPartDetail.tsx:82 -#: src/pages/part/CategoryDetail.tsx:91 -#: src/pages/part/PartDetail.tsx:132 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:122 -#: src/pages/sales/ReturnOrderDetail.tsx:89 -#: src/pages/sales/SalesOrderDetail.tsx:93 -#: src/pages/stock/LocationDetail.tsx:97 -#: src/tables/ColumnRenderers.tsx:95 +#: src/pages/company/CompanyDetail.tsx:86 +#: src/pages/company/ManufacturerPartDetail.tsx:76 +#: src/pages/company/SupplierPartDetail.tsx:83 +#: src/pages/part/CategoryDetail.tsx:92 +#: src/pages/part/PartDetail.tsx:133 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:124 +#: src/pages/sales/ReturnOrderDetail.tsx:91 +#: src/pages/sales/SalesOrderDetail.tsx:95 +#: src/pages/stock/LocationDetail.tsx:99 +#: src/tables/ColumnRenderers.tsx:66 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 #: src/tables/machine/MachineTypeTable.tsx:323 #: src/tables/part/RelatedPartTable.tsx:64 -#: src/tables/plugin/PluginListTable.tsx:172 -#: src/tables/plugin/PluginListTable.tsx:302 +#: src/tables/plugin/PluginListTable.tsx:129 +#: src/tables/plugin/PluginListTable.tsx:276 +#: src/tables/stock/LocationTypesTable.tsx:65 msgid "Description" msgstr "" @@ -3203,7 +3281,7 @@ msgid "Build Quantity" msgstr "" #: src/pages/build/BuildDetail.tsx:126 -#: src/pages/build/BuildDetail.tsx:249 +#: src/pages/build/BuildDetail.tsx:256 msgid "Completed Outputs" msgstr "" @@ -3213,10 +3291,10 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:150 -#: src/pages/part/PartDetail.tsx:320 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:214 -#: src/pages/sales/ReturnOrderDetail.tsx:182 -#: src/pages/sales/SalesOrderDetail.tsx:186 +#: src/pages/part/PartDetail.tsx:321 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:184 +#: src/pages/sales/SalesOrderDetail.tsx:188 #: src/tables/build/BuildOrderTable.tsx:148 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 @@ -3230,10 +3308,10 @@ msgid "Created" msgstr "" #: src/pages/build/BuildDetail.tsx:164 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:207 -#: src/pages/sales/ReturnOrderDetail.tsx:175 -#: src/pages/sales/SalesOrderDetail.tsx:179 -#: src/tables/ColumnRenderers.tsx:227 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:209 +#: src/pages/sales/ReturnOrderDetail.tsx:177 +#: src/pages/sales/SalesOrderDetail.tsx:181 +#: src/tables/ColumnRenderers.tsx:191 msgid "Target Date" msgstr "" @@ -3269,6 +3347,11 @@ msgstr "" #~ msgid "Unlink custom barcode from part" #~ msgstr "" +#: src/pages/build/BuildDetail.tsx:197 +#: src/pages/stock/StockDetail.tsx:526 +msgid "Batch Code" +msgstr "" + #: src/pages/build/BuildDetail.tsx:202 #~ msgid "Build Order updated" #~ msgstr "" @@ -3277,86 +3360,87 @@ msgstr "" #~ msgid "Edit build order" #~ msgstr "" -#: src/pages/build/BuildDetail.tsx:222 -msgid "Build Details" -msgstr "" - #: src/pages/build/BuildDetail.tsx:226 #~ msgid "Duplicate build order" #~ msgstr "" -#: src/pages/build/BuildDetail.tsx:228 -#: src/tables/build/BuildLineTable.tsx:225 -msgid "Allocate Stock" +#: src/pages/build/BuildDetail.tsx:229 +msgid "Build Details" msgstr "" #: src/pages/build/BuildDetail.tsx:231 #~ msgid "Delete build order" #~ msgstr "" -#: src/pages/build/BuildDetail.tsx:242 +#: src/pages/build/BuildDetail.tsx:235 +#: src/tables/build/BuildLineTable.tsx:225 +msgid "Allocate Stock" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:249 msgid "Incomplete Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:264 +#: src/pages/build/BuildDetail.tsx:271 msgid "Consumed Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:278 +#: src/pages/build/BuildDetail.tsx:285 msgid "Child Build Orders" msgstr "" -#: src/pages/build/BuildDetail.tsx:288 -#: src/pages/company/CompanyDetail.tsx:253 -#: src/pages/company/ManufacturerPartDetail.tsx:171 -#: src/pages/part/PartDetail.tsx:611 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:276 -#: src/pages/sales/ReturnOrderDetail.tsx:225 -#: src/pages/sales/SalesOrderDetail.tsx:273 -#: src/pages/stock/StockDetail.tsx:317 +#: src/pages/build/BuildDetail.tsx:295 +#: src/pages/company/CompanyDetail.tsx:255 +#: src/pages/company/ManufacturerPartDetail.tsx:172 +#: src/pages/part/PartDetail.tsx:612 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:278 +#: src/pages/sales/ReturnOrderDetail.tsx:227 +#: src/pages/sales/SalesOrderDetail.tsx:275 +#: src/pages/stock/StockDetail.tsx:325 msgid "Attachments" msgstr "" -#: src/pages/build/BuildDetail.tsx:300 -#: src/pages/company/CompanyDetail.tsx:265 -#: src/pages/part/PartDetail.tsx:623 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:288 -#: src/pages/sales/ReturnOrderDetail.tsx:237 -#: src/pages/sales/SalesOrderDetail.tsx:285 -#: src/pages/stock/StockDetail.tsx:329 +#: src/pages/build/BuildDetail.tsx:307 +#: src/pages/company/CompanyDetail.tsx:267 +#: src/pages/part/PartDetail.tsx:624 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:290 +#: src/pages/sales/ReturnOrderDetail.tsx:239 +#: src/pages/sales/SalesOrderDetail.tsx:287 +#: src/pages/stock/StockDetail.tsx:337 +#: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "" -#: src/pages/build/BuildDetail.tsx:318 +#: src/pages/build/BuildDetail.tsx:325 msgid "Edit Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:327 +#: src/pages/build/BuildDetail.tsx:334 msgid "Cancel Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:339 +#: src/pages/build/BuildDetail.tsx:346 #: src/tables/build/BuildOrderTable.tsx:167 #: src/tables/build/BuildOrderTable.tsx:182 msgid "Add Build Order" msgstr "" #: src/pages/build/BuildDetail.tsx:368 -msgid "Reporting Actions" -msgstr "" +#~ msgid "Reporting Actions" +#~ msgstr "" #: src/pages/build/BuildDetail.tsx:374 -msgid "Print build report" -msgstr "" +#~ msgid "Print build report" +#~ msgstr "" -#: src/pages/build/BuildDetail.tsx:380 +#: src/pages/build/BuildDetail.tsx:378 msgid "Build Order Actions" msgstr "" -#: src/pages/build/BuildDetail.tsx:388 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:326 -#: src/pages/sales/ReturnOrderDetail.tsx:300 -#: src/pages/sales/SalesOrderDetail.tsx:310 +#: src/pages/build/BuildDetail.tsx:386 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:333 +#: src/pages/sales/ReturnOrderDetail.tsx:307 +#: src/pages/sales/SalesOrderDetail.tsx:317 msgid "Cancel order" msgstr "" @@ -3368,56 +3452,58 @@ msgstr "" #~ msgid "New Build Order" #~ msgstr "" -#: src/pages/company/CompanyDetail.tsx:98 +#: src/pages/company/CompanyDetail.tsx:100 msgid "Phone Number" msgstr "" -#: src/pages/company/CompanyDetail.tsx:105 +#: src/pages/company/CompanyDetail.tsx:107 msgid "Email Address" msgstr "" -#: src/pages/company/CompanyDetail.tsx:115 +#: src/pages/company/CompanyDetail.tsx:117 msgid "Default Currency" msgstr "" -#: src/pages/company/CompanyDetail.tsx:120 +#: src/pages/company/CompanyDetail.tsx:122 #: src/pages/company/SupplierDetail.tsx:8 -#: src/pages/company/SupplierPartDetail.tsx:106 -#: src/pages/company/SupplierPartDetail.tsx:192 -#: src/pages/company/SupplierPartDetail.tsx:295 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:116 +#: src/pages/company/SupplierPartDetail.tsx:107 +#: src/pages/company/SupplierPartDetail.tsx:193 +#: src/pages/company/SupplierPartDetail.tsx:296 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:118 #: src/tables/company/CompanyTable.tsx:100 #: src/tables/purchasing/PurchaseOrderTable.tsx:88 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:36 msgid "Supplier" msgstr "" -#: src/pages/company/CompanyDetail.tsx:126 +#: src/pages/company/CompanyDetail.tsx:128 #: src/pages/company/ManufacturerDetail.tsx:8 -#: src/pages/company/ManufacturerPartDetail.tsx:93 -#: src/pages/company/ManufacturerPartDetail.tsx:235 -#: src/pages/company/SupplierPartDetail.tsx:121 +#: src/pages/company/ManufacturerPartDetail.tsx:94 +#: src/pages/company/ManufacturerPartDetail.tsx:239 +#: src/pages/company/SupplierPartDetail.tsx:122 #: src/tables/company/CompanyTable.tsx:105 msgid "Manufacturer" msgstr "" -#: src/pages/company/CompanyDetail.tsx:132 +#: src/pages/company/CompanyDetail.tsx:134 #: src/pages/company/CustomerDetail.tsx:8 #: src/pages/part/pricing/SaleHistoryPanel.tsx:39 -#: src/pages/sales/ReturnOrderDetail.tsx:83 -#: src/pages/sales/SalesOrderDetail.tsx:87 -#: src/pages/stock/StockDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:85 +#: src/pages/sales/SalesOrderDetail.tsx:89 +#: src/pages/stock/StockDetail.tsx:219 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:107 +#: src/tables/stock/StockTrackingTable.tsx:140 msgid "Customer" msgstr "" -#: src/pages/company/CompanyDetail.tsx:166 +#: src/pages/company/CompanyDetail.tsx:168 +#: src/tables/stock/StockTrackingTable.tsx:183 msgid "Details" msgstr "" -#: src/pages/company/CompanyDetail.tsx:172 +#: src/pages/company/CompanyDetail.tsx:174 msgid "Manufactured Parts" msgstr "" @@ -3425,7 +3511,7 @@ msgstr "" #~ msgid "Edit company" #~ msgstr "" -#: src/pages/company/CompanyDetail.tsx:181 +#: src/pages/company/CompanyDetail.tsx:183 msgid "Supplied Parts" msgstr "" @@ -3433,289 +3519,289 @@ msgstr "" #~ msgid "Delete company" #~ msgstr "" -#: src/pages/company/CompanyDetail.tsx:226 +#: src/pages/company/CompanyDetail.tsx:228 msgid "Assigned Stock" msgstr "" -#: src/pages/company/CompanyDetail.tsx:281 +#: src/pages/company/CompanyDetail.tsx:283 #: src/tables/company/CompanyTable.tsx:86 msgid "Edit Company" msgstr "" -#: src/pages/company/CompanyDetail.tsx:290 +#: src/pages/company/CompanyDetail.tsx:292 msgid "Company Actions" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:68 -#: src/pages/company/SupplierPartDetail.tsx:75 +#: src/pages/company/ManufacturerPartDetail.tsx:69 +#: src/pages/company/SupplierPartDetail.tsx:76 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:72 msgid "Internal Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:83 -#: src/pages/company/SupplierPartDetail.tsx:89 +#: src/pages/company/ManufacturerPartDetail.tsx:84 +#: src/pages/company/SupplierPartDetail.tsx:90 msgid "External Link" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:101 -#: src/pages/company/SupplierPartDetail.tsx:130 -#: src/tables/purchasing/ManufacturerPartTable.tsx:53 +#: src/pages/company/ManufacturerPartDetail.tsx:102 +#: src/pages/company/SupplierPartDetail.tsx:131 +#: src/tables/purchasing/ManufacturerPartTable.tsx:56 msgid "Manufacturer Part Number" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:130 +#: src/pages/company/ManufacturerPartDetail.tsx:131 msgid "Manufacturer Details" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:139 +#: src/pages/company/ManufacturerPartDetail.tsx:140 msgid "Manufacturer Part Details" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:145 -#: src/pages/part/PartDetail.tsx:485 +#: src/pages/company/ManufacturerPartDetail.tsx:146 +#: src/pages/part/PartDetail.tsx:486 msgid "Parameters" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:157 -#: src/pages/part/PartDetail.tsx:558 +#: src/pages/company/ManufacturerPartDetail.tsx:158 +#: src/pages/part/PartDetail.tsx:559 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:189 -#: src/tables/purchasing/ManufacturerPartTable.tsx:97 +#: src/pages/company/ManufacturerPartDetail.tsx:190 +#: src/tables/purchasing/ManufacturerPartTable.tsx:84 msgid "Edit Manufacturer Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:196 -#: src/tables/purchasing/ManufacturerPartTable.tsx:63 -#: src/tables/purchasing/ManufacturerPartTable.tsx:78 +#: src/pages/company/ManufacturerPartDetail.tsx:197 +#: src/tables/purchasing/ManufacturerPartTable.tsx:72 +#: src/tables/purchasing/ManufacturerPartTable.tsx:103 msgid "Add Manufacturer Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:209 +#: src/pages/company/ManufacturerPartDetail.tsx:213 msgid "Manufacturer Part Actions" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:247 +#: src/pages/company/ManufacturerPartDetail.tsx:251 msgid "ManufacturerPart" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:96 -#: src/tables/ColumnRenderers.tsx:146 +#: src/pages/company/SupplierPartDetail.tsx:97 +#: src/tables/ColumnRenderers.tsx:117 msgid "Note" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:114 +#: src/pages/company/SupplierPartDetail.tsx:115 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:57 msgid "SKU" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:142 -#: src/pages/company/SupplierPartDetail.tsx:193 -#: src/pages/stock/StockDetail.tsx:230 +#: src/pages/company/SupplierPartDetail.tsx:143 +#: src/pages/company/SupplierPartDetail.tsx:194 +#: src/pages/stock/StockDetail.tsx:233 msgid "Packaging" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:149 +#: src/pages/company/SupplierPartDetail.tsx:150 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:107 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143 #: src/tables/purchasing/SupplierPartTable.tsx:131 msgid "Pack Quantity" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:160 +#: src/pages/company/SupplierPartDetail.tsx:161 msgid "Supplier Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:167 +#: src/pages/company/SupplierPartDetail.tsx:168 msgid "Availability Updated" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:194 +#: src/pages/company/SupplierPartDetail.tsx:195 msgid "Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:203 +#: src/pages/company/SupplierPartDetail.tsx:204 msgid "Supplier Part Details" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:209 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:263 +#: src/pages/company/SupplierPartDetail.tsx:210 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:265 msgid "Received Stock" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:233 +#: src/pages/company/SupplierPartDetail.tsx:234 #: src/pages/part/PartPricingPanel.tsx:115 #: src/pages/part/pricing/PricingOverviewPanel.tsx:130 msgid "Supplier Pricing" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:248 +#: src/pages/company/SupplierPartDetail.tsx:249 msgid "Supplier Part Actions" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:272 +#: src/pages/company/SupplierPartDetail.tsx:273 #: src/tables/purchasing/SupplierPartTable.tsx:210 msgid "Edit Supplier Part" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:279 +#: src/pages/company/SupplierPartDetail.tsx:280 #: src/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "" -#: src/pages/part/CategoryDetail.tsx:83 -#: src/pages/stock/LocationDetail.tsx:89 +#: src/pages/part/CategoryDetail.tsx:84 +#: src/pages/stock/LocationDetail.tsx:91 #: src/tables/settings/ErrorTable.tsx:34 msgid "Path" msgstr "" -#: src/pages/part/CategoryDetail.tsx:99 +#: src/pages/part/CategoryDetail.tsx:100 msgid "Parent Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:116 +#: src/pages/part/CategoryDetail.tsx:117 msgid "Subcategories" msgstr "" -#: src/pages/part/CategoryDetail.tsx:123 -#: src/pages/stock/LocationDetail.tsx:129 -#: src/tables/part/PartCategoryTable.tsx:69 +#: src/pages/part/CategoryDetail.tsx:124 +#: src/pages/stock/LocationDetail.tsx:131 +#: src/tables/part/PartCategoryTable.tsx:65 msgid "Structural" msgstr "" -#: src/pages/part/CategoryDetail.tsx:129 +#: src/pages/part/CategoryDetail.tsx:130 msgid "Parent default location" msgstr "" -#: src/pages/part/CategoryDetail.tsx:136 +#: src/pages/part/CategoryDetail.tsx:137 msgid "Default location" msgstr "" -#: src/pages/part/CategoryDetail.tsx:147 +#: src/pages/part/CategoryDetail.tsx:148 msgid "Top level part category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:157 -#: src/pages/part/CategoryDetail.tsx:211 -#: src/tables/part/PartCategoryTable.tsx:96 +#: src/pages/part/CategoryDetail.tsx:158 +#: src/pages/part/CategoryDetail.tsx:212 +#: src/tables/part/PartCategoryTable.tsx:88 msgid "Edit Part Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:170 -#: src/pages/stock/LocationDetail.tsx:213 +#: src/pages/part/CategoryDetail.tsx:171 +#: src/pages/stock/LocationDetail.tsx:223 msgid "Delete items" msgstr "" -#: src/pages/part/CategoryDetail.tsx:178 -#: src/pages/part/CategoryDetail.tsx:216 +#: src/pages/part/CategoryDetail.tsx:179 +#: src/pages/part/CategoryDetail.tsx:217 msgid "Delete Part Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:181 +#: src/pages/part/CategoryDetail.tsx:182 msgid "Parts Action" msgstr "" -#: src/pages/part/CategoryDetail.tsx:182 +#: src/pages/part/CategoryDetail.tsx:183 msgid "Action for parts in this category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:187 +#: src/pages/part/CategoryDetail.tsx:188 msgid "Child Categories Action" msgstr "" -#: src/pages/part/CategoryDetail.tsx:188 +#: src/pages/part/CategoryDetail.tsx:189 msgid "Action for child categories in this category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:206 +#: src/pages/part/CategoryDetail.tsx:207 msgid "Category Actions" msgstr "" -#: src/pages/part/CategoryDetail.tsx:228 +#: src/pages/part/CategoryDetail.tsx:229 msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:138 +#: src/pages/part/PartDetail.tsx:139 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:145 +#: src/pages/part/PartDetail.tsx:146 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "" -#: src/pages/part/PartDetail.tsx:151 +#: src/pages/part/PartDetail.tsx:152 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:158 +#: src/pages/part/PartDetail.tsx:159 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:165 +#: src/pages/part/PartDetail.tsx:166 msgid "IPN" msgstr "" -#: src/pages/part/PartDetail.tsx:172 +#: src/pages/part/PartDetail.tsx:173 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:179 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39 +#: src/pages/part/PartDetail.tsx:180 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "" -#: src/pages/part/PartDetail.tsx:186 +#: src/pages/part/PartDetail.tsx:187 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:193 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:180 -#: src/pages/sales/ReturnOrderDetail.tsx:148 -#: src/pages/sales/SalesOrderDetail.tsx:152 +#: src/pages/part/PartDetail.tsx:194 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:182 +#: src/pages/sales/ReturnOrderDetail.tsx:150 +#: src/pages/sales/SalesOrderDetail.tsx:154 msgid "Link" msgstr "" -#: src/pages/part/PartDetail.tsx:211 -#: src/tables/bom/BomTable.tsx:269 +#: src/pages/part/PartDetail.tsx:212 +#: src/tables/bom/BomTable.tsx:271 #: src/tables/build/BuildLineTable.tsx:121 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:218 +#: src/pages/part/PartDetail.tsx:219 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:224 -#: src/tables/bom/BomTable.tsx:210 +#: src/pages/part/PartDetail.tsx:225 +#: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:233 +#: src/pages/part/PartDetail.tsx:234 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:241 +#: src/pages/part/PartDetail.tsx:242 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:248 -#: src/tables/bom/BomTable.tsx:234 +#: src/pages/part/PartDetail.tsx:249 +#: src/tables/bom/BomTable.tsx:236 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:255 -#: src/tables/bom/BomTable.tsx:218 +#: src/pages/part/PartDetail.tsx:256 +#: src/tables/bom/BomTable.tsx:220 #: src/tables/part/PartTable.tsx:82 msgid "Building" msgstr "" -#: src/pages/part/PartDetail.tsx:264 +#: src/pages/part/PartDetail.tsx:265 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 @@ -3724,45 +3810,47 @@ msgstr "" #: src/tables/machine/MachineListTable.tsx:585 #: src/tables/part/PartTable.tsx:168 #: src/tables/part/PartVariantTable.tsx:15 -#: src/tables/plugin/PluginListTable.tsx:190 -#: src/tables/plugin/PluginListTable.tsx:638 +#: src/tables/plugin/PluginListTable.tsx:149 +#: src/tables/plugin/PluginListTable.tsx:271 +#: src/tables/plugin/PluginListTable.tsx:563 #: src/tables/purchasing/SupplierPartTable.tsx:98 #: src/tables/purchasing/SupplierPartTable.tsx:187 #: src/tables/stock/StockItemTable.tsx:254 msgid "Active" msgstr "" -#: src/pages/part/PartDetail.tsx:269 +#: src/pages/part/PartDetail.tsx:270 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:274 -#: src/tables/bom/BomTable.tsx:264 +#: src/pages/part/PartDetail.tsx:275 +#: src/tables/bom/BomTable.tsx:266 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:279 +#: src/pages/part/PartDetail.tsx:280 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:284 -#: src/tables/bom/BomTable.tsx:259 +#: src/pages/part/PartDetail.tsx:285 +#: src/tables/bom/BomTable.tsx:261 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:289 +#: src/pages/part/PartDetail.tsx:290 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:294 +#: src/pages/part/PartDetail.tsx:295 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:299 +#: src/pages/part/PartDetail.tsx:300 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:307 +#: src/pages/part/PartDetail.tsx:308 +#: src/tables/ColumnRenderers.tsx:199 msgid "Creation Date" msgstr "" @@ -3770,7 +3858,7 @@ msgstr "" #~ msgid "Edit part" #~ msgstr "" -#: src/pages/part/PartDetail.tsx:312 +#: src/pages/part/PartDetail.tsx:313 msgid "Created By" msgstr "" @@ -3778,68 +3866,72 @@ msgstr "" #~ msgid "Duplicate part" #~ msgstr "" -#: src/pages/part/PartDetail.tsx:327 -msgid "Default Supplier" -msgstr "" - #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "" -#: src/pages/part/PartDetail.tsx:338 +#: src/pages/part/PartDetail.tsx:328 +msgid "Default Supplier" +msgstr "" + +#: src/pages/part/PartDetail.tsx:339 #: src/tables/part/PartTable.tsx:151 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:373 -#: src/pages/stock/StockDetail.tsx:127 +#: src/pages/part/PartDetail.tsx:374 +#: src/pages/stock/StockDetail.tsx:130 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:408 +#: src/pages/part/PartDetail.tsx:409 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:479 +#: src/pages/part/PartDetail.tsx:480 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:505 +#: src/pages/part/PartDetail.tsx:506 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:512 -#: src/pages/stock/StockDetail.tsx:275 +#: src/pages/part/PartDetail.tsx:513 +#: src/pages/stock/StockDetail.tsx:283 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:532 +#: src/pages/part/PartDetail.tsx:519 +msgid "Bill of Materials" +msgstr "" + +#: src/pages/part/PartDetail.tsx:533 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:539 +#: src/pages/part/PartDetail.tsx:540 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:545 +#: src/pages/part/PartDetail.tsx:546 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:584 +#: src/pages/part/PartDetail.tsx:585 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:594 +#: src/pages/part/PartDetail.tsx:595 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:605 +#: src/pages/part/PartDetail.tsx:606 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:660 -#: src/pages/stock/StockDetail.tsx:148 +#: src/pages/part/PartDetail.tsx:661 +#: src/pages/stock/StockDetail.tsx:151 #: src/tables/build/BuildLineTable.tsx:36 #: src/tables/part/PartTable.tsx:107 #: src/tables/stock/StockItemTable.tsx:166 @@ -3847,49 +3939,51 @@ msgstr "" msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:666 +#: src/pages/part/PartDetail.tsx:667 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:672 -#: src/tables/bom/BomTable.tsx:274 +#: src/pages/part/PartDetail.tsx:673 +#: src/tables/bom/BomTable.tsx:276 #: src/tables/part/PartTable.tsx:76 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:678 -#: src/pages/stock/StockDetail.tsx:496 +#: src/pages/part/PartDetail.tsx:679 +#: src/pages/stock/StockDetail.tsx:509 #: src/tables/stock/StockItemTable.tsx:295 msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:697 +#: src/pages/part/PartDetail.tsx:698 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:704 +#: src/pages/part/PartDetail.tsx:705 #: src/tables/part/PartTable.tsx:266 #: src/tables/part/PartTable.tsx:279 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:716 +#: src/pages/part/PartDetail.tsx:717 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:725 +#: src/pages/part/PartDetail.tsx:726 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:763 +#: src/pages/part/PartDetail.tsx:764 +#: src/pages/stock/LocationDetail.tsx:301 +#: src/tables/stock/StockItemTable.tsx:409 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:771 +#: src/pages/part/PartDetail.tsx:772 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:782 +#: src/pages/part/PartDetail.tsx:783 msgid "Transfer part stock" msgstr "" @@ -3951,15 +4045,15 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151 #: src/pages/part/pricing/SupplierPricingPanel.tsx:83 -#: src/tables/bom/BomTable.tsx:149 +#: src/tables/bom/BomTable.tsx:151 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 msgid "Unit Price" msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:173 -#: src/tables/ColumnRenderers.tsx:278 -#: src/tables/bom/BomTable.tsx:158 +#: src/tables/ColumnRenderers.tsx:241 +#: src/tables/bom/BomTable.tsx:160 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 #: src/tables/sales/ReturnOrderTable.tsx:104 #: src/tables/sales/SalesOrderTable.tsx:134 @@ -3981,24 +4075,24 @@ msgid "Bar Chart" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:63 -#: src/pages/part/pricing/PriceBreakPanel.tsx:117 +#: src/pages/part/pricing/PriceBreakPanel.tsx:115 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:138 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:164 msgid "Add Price Break" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:76 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:149 msgid "Edit Price Break" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:86 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:157 msgid "Delete Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:102 -#: src/pages/part/pricing/PriceBreakPanel.tsx:193 +#: src/pages/part/pricing/PriceBreakPanel.tsx:100 +#: src/pages/part/pricing/PriceBreakPanel.tsx:191 msgid "Price Break" msgstr "" @@ -4027,7 +4121,7 @@ msgid "Overall Pricing" msgstr "" #: src/pages/part/pricing/PricingOverviewPanel.tsx:184 -#: src/pages/stock/StockDetail.tsx:121 +#: src/pages/stock/StockDetail.tsx:124 msgid "Last Updated" msgstr "" @@ -4061,9 +4155,8 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50 #: src/pages/part/pricing/SaleHistoryPanel.tsx:46 -#: src/tables/ColumnRenderers.tsx:217 -#: src/tables/plugin/PluginListTable.tsx:182 -#: src/tables/stock/StockItemTestResultTable.tsx:194 +#: src/tables/ColumnRenderers.tsx:180 +#: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" @@ -4090,89 +4183,89 @@ msgstr "" msgid "Variant Part" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:73 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:75 msgid "Edit Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:82 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:84 #: src/tables/purchasing/PurchaseOrderTable.tsx:128 #: src/tables/purchasing/PurchaseOrderTable.tsx:140 msgid "Add Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:107 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:109 msgid "Supplier Reference" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:137 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:252 -#: src/pages/sales/ReturnOrderDetail.tsx:104 -#: src/pages/sales/ReturnOrderDetail.tsx:220 -#: src/pages/sales/SalesOrderDetail.tsx:108 -#: src/pages/sales/SalesOrderDetail.tsx:248 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:139 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:254 +#: src/pages/sales/ReturnOrderDetail.tsx:106 +#: src/pages/sales/ReturnOrderDetail.tsx:222 +#: src/pages/sales/SalesOrderDetail.tsx:110 +#: src/pages/sales/SalesOrderDetail.tsx:250 msgid "Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:144 -#: src/pages/sales/ReturnOrderDetail.tsx:111 -#: src/pages/sales/SalesOrderDetail.tsx:115 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:146 +#: src/pages/sales/ReturnOrderDetail.tsx:113 +#: src/pages/sales/SalesOrderDetail.tsx:117 msgid "Completed Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:152 -#: src/pages/sales/ReturnOrderDetail.tsx:119 -#: src/pages/sales/SalesOrderDetail.tsx:123 -#: src/pages/sales/SalesOrderDetail.tsx:258 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:121 +#: src/pages/sales/SalesOrderDetail.tsx:125 +#: src/pages/sales/SalesOrderDetail.tsx:260 msgid "Completed Shipments" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:159 -#: src/pages/sales/ReturnOrderDetail.tsx:127 -#: src/pages/sales/SalesOrderDetail.tsx:131 -msgid "Order Currency" -msgstr "" - #: src/pages/purchasing/PurchaseOrderDetail.tsx:159 #: src/pages/sales/ReturnOrderDetail.tsx:126 #: src/pages/sales/SalesOrderDetail.tsx:130 #~ msgid "Order Currency," #~ msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:166 -#: src/pages/sales/ReturnOrderDetail.tsx:134 -#: src/pages/sales/SalesOrderDetail.tsx:138 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:161 +#: src/pages/sales/ReturnOrderDetail.tsx:129 +#: src/pages/sales/SalesOrderDetail.tsx:133 +msgid "Order Currency" +msgstr "" + +#: src/pages/purchasing/PurchaseOrderDetail.tsx:168 +#: src/pages/sales/ReturnOrderDetail.tsx:136 +#: src/pages/sales/SalesOrderDetail.tsx:140 msgid "Total Cost" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:201 -#: src/pages/sales/ReturnOrderDetail.tsx:169 -#: src/pages/sales/SalesOrderDetail.tsx:173 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:203 +#: src/pages/sales/ReturnOrderDetail.tsx:171 +#: src/pages/sales/SalesOrderDetail.tsx:175 msgid "Created On" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:246 -#: src/pages/sales/ReturnOrderDetail.tsx:214 -#: src/pages/sales/SalesOrderDetail.tsx:242 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:248 +#: src/pages/sales/ReturnOrderDetail.tsx:216 +#: src/pages/sales/SalesOrderDetail.tsx:244 msgid "Order Details" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:316 -#: src/pages/sales/ReturnOrderDetail.tsx:290 -#: src/pages/sales/SalesOrderDetail.tsx:302 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:323 +#: src/pages/sales/ReturnOrderDetail.tsx:297 +#: src/pages/sales/SalesOrderDetail.tsx:309 msgid "Order Actions" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:75 -#: src/pages/sales/SalesOrderDetail.tsx:79 +#: src/pages/sales/ReturnOrderDetail.tsx:77 +#: src/pages/sales/SalesOrderDetail.tsx:81 #: src/tables/sales/SalesOrderTable.tsx:123 msgid "Customer Reference" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:267 +#: src/pages/sales/ReturnOrderDetail.tsx:269 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:276 +#: src/pages/sales/ReturnOrderDetail.tsx:278 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" @@ -4182,68 +4275,72 @@ msgstr "" msgid "Customers" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:219 +#: src/pages/sales/SalesOrderDetail.tsx:221 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:228 +#: src/pages/sales/SalesOrderDetail.tsx:230 #: src/tables/sales/SalesOrderTable.tsx:83 #: src/tables/sales/SalesOrderTable.tsx:95 msgid "Add Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:253 +#: src/pages/sales/SalesOrderDetail.tsx:255 msgid "Pending Shipments" msgstr "" -#: src/pages/stock/LocationDetail.tsx:105 +#: src/pages/stock/LocationDetail.tsx:107 msgid "Parent Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:123 +#: src/pages/stock/LocationDetail.tsx:125 msgid "Sublocations" msgstr "" -#: src/pages/stock/LocationDetail.tsx:135 +#: src/pages/stock/LocationDetail.tsx:137 msgid "External" msgstr "" -#: src/pages/stock/LocationDetail.tsx:144 +#: src/pages/stock/LocationDetail.tsx:143 +msgid "Location Type" +msgstr "" + +#: src/pages/stock/LocationDetail.tsx:154 msgid "Top level stock location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:155 +#: src/pages/stock/LocationDetail.tsx:165 msgid "Location Details" msgstr "" -#: src/pages/stock/LocationDetail.tsx:181 +#: src/pages/stock/LocationDetail.tsx:191 msgid "Default Parts" msgstr "" -#: src/pages/stock/LocationDetail.tsx:200 +#: src/pages/stock/LocationDetail.tsx:210 #: src/pages/stock/LocationDetail.tsx:328 -#: src/tables/stock/StockLocationTable.tsx:108 +#: src/tables/stock/StockLocationTable.tsx:100 msgid "Edit Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:221 +#: src/pages/stock/LocationDetail.tsx:231 #: src/pages/stock/LocationDetail.tsx:333 msgid "Delete Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:224 +#: src/pages/stock/LocationDetail.tsx:234 msgid "Items Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:225 +#: src/pages/stock/LocationDetail.tsx:235 msgid "Action for stock items in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:230 +#: src/pages/stock/LocationDetail.tsx:240 msgid "Child Locations Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:231 +#: src/pages/stock/LocationDetail.tsx:241 msgid "Action for child locations in this location" msgstr "" @@ -4251,11 +4348,11 @@ msgstr "" msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:100 +#: src/pages/stock/StockDetail.tsx:103 msgid "Base Part" msgstr "" -#: src/pages/stock/StockDetail.tsx:107 +#: src/pages/stock/StockDetail.tsx:110 msgid "Stock Status" msgstr "" @@ -4267,15 +4364,16 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "" -#: src/pages/stock/StockDetail.tsx:174 +#: src/pages/stock/StockDetail.tsx:177 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:190 +#: src/pages/stock/StockDetail.tsx:193 msgid "Consumed By" msgstr "" -#: src/pages/stock/StockDetail.tsx:199 +#: src/pages/stock/StockDetail.tsx:202 +#: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" msgstr "" @@ -4287,78 +4385,78 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "" -#: src/pages/stock/StockDetail.tsx:264 +#: src/pages/stock/StockDetail.tsx:267 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:270 +#: src/pages/stock/StockDetail.tsx:273 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:282 +#: src/pages/stock/StockDetail.tsx:290 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:296 +#: src/pages/stock/StockDetail.tsx:304 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:303 +#: src/pages/stock/StockDetail.tsx:311 msgid "Child Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:358 +#: src/pages/stock/StockDetail.tsx:366 msgid "Edit Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:385 +#: src/pages/stock/StockDetail.tsx:393 msgid "Delete Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:426 -msgid "Stock Operations" -msgstr "" - -#: src/pages/stock/StockDetail.tsx:431 -msgid "Count stock" -msgstr "" - #: src/pages/stock/StockDetail.tsx:433 #~ msgid "Duplicate stock item" #~ msgstr "" -#: src/pages/stock/StockDetail.tsx:441 +#: src/pages/stock/StockDetail.tsx:440 +msgid "Stock Operations" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:445 +msgid "Count stock" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:455 #: src/tables/stock/StockItemTable.tsx:414 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:449 +#: src/pages/stock/StockDetail.tsx:463 #: src/tables/stock/StockItemTable.tsx:423 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:456 +#: src/pages/stock/StockDetail.tsx:470 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:457 +#: src/pages/stock/StockDetail.tsx:471 #: src/tables/stock/StockItemTable.tsx:443 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:469 +#: src/pages/stock/StockDetail.tsx:482 msgid "Stock Item Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:513 -msgid "Batch Code" -msgstr "" - -#: src/tables/ColumnRenderers.tsx:50 +#: src/tables/ColumnRenderers.tsx:42 msgid "No location set" msgstr "" -#: src/tables/ColumnRenderers.tsx:264 +#: src/tables/ColumnRenderers.tsx:207 +msgid "Shipment Date" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:227 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "" @@ -4368,20 +4466,32 @@ msgstr "" msgid "Select Columns" msgstr "" -#: src/tables/DownloadAction.tsx:11 +#: src/tables/DownloadAction.tsx:13 +#~ msgid "Excel" +#~ msgstr "" + +#: src/tables/DownloadAction.tsx:21 +#~ msgid "Download selected data" +#~ msgstr "" + +#: src/tables/DownloadAction.tsx:22 msgid "CSV" msgstr "" -#: src/tables/DownloadAction.tsx:12 +#: src/tables/DownloadAction.tsx:23 msgid "TSV" msgstr "" -#: src/tables/DownloadAction.tsx:13 -msgid "Excel" +#: src/tables/DownloadAction.tsx:24 +msgid "Excel (.xls)" msgstr "" -#: src/tables/DownloadAction.tsx:21 -msgid "Download selected data" +#: src/tables/DownloadAction.tsx:25 +msgid "Excel (.xlsx)" +msgstr "" + +#: src/tables/DownloadAction.tsx:39 +msgid "Download Data" msgstr "" #: src/tables/Filter.tsx:88 @@ -4415,102 +4525,102 @@ msgstr "" msgid "Remove filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:147 +#: src/tables/FilterSelectDrawer.tsx:136 msgid "Select filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:148 +#: src/tables/FilterSelectDrawer.tsx:137 msgid "Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:155 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:33 -#: src/tables/stock/StockItemTestResultTable.tsx:182 +#: src/tables/FilterSelectDrawer.tsx:144 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 +#: src/tables/stock/StockItemTestResultTable.tsx:180 msgid "Value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:156 +#: src/tables/FilterSelectDrawer.tsx:145 msgid "Select filter value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:196 +#: src/tables/FilterSelectDrawer.tsx:185 msgid "Table Filters" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:228 +#: src/tables/FilterSelectDrawer.tsx:217 msgid "Add Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:237 +#: src/tables/FilterSelectDrawer.tsx:226 msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:118 -#: src/tables/InvenTreeTable.tsx:384 -#: src/tables/InvenTreeTable.tsx:405 +#: src/tables/InvenTreeTable.tsx:119 +#: src/tables/InvenTreeTable.tsx:390 +#: src/tables/InvenTreeTable.tsx:411 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:416 +#: src/tables/InvenTreeTable.tsx:422 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:424 +#: src/tables/InvenTreeTable.tsx:430 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:427 +#: src/tables/InvenTreeTable.tsx:433 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:436 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:433 +#: src/tables/InvenTreeTable.tsx:439 msgid "Not found" msgstr "" -#: src/tables/InvenTreeTable.tsx:482 -#: src/tables/InvenTreeTable.tsx:604 +#: src/tables/InvenTreeTable.tsx:488 +#: src/tables/InvenTreeTable.tsx:611 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:486 +#: src/tables/InvenTreeTable.tsx:492 msgid "Are you sure you want to delete the selected records?" msgstr "" -#: src/tables/InvenTreeTable.tsx:488 +#: src/tables/InvenTreeTable.tsx:494 msgid "This action cannot be undone!" msgstr "" -#: src/tables/InvenTreeTable.tsx:516 +#: src/tables/InvenTreeTable.tsx:522 msgid "Deleted records" msgstr "" -#: src/tables/InvenTreeTable.tsx:517 +#: src/tables/InvenTreeTable.tsx:523 msgid "Records were deleted successfully" msgstr "" -#: src/tables/InvenTreeTable.tsx:526 +#: src/tables/InvenTreeTable.tsx:532 msgid "Failed to delete records" msgstr "" -#: src/tables/InvenTreeTable.tsx:585 -#: src/tables/InvenTreeTable.tsx:586 -msgid "Barcode actions" -msgstr "" - #: src/tables/InvenTreeTable.tsx:594 #: src/tables/InvenTreeTable.tsx:595 -msgid "Print actions" +#~ msgid "Print actions" +#~ msgstr "" + +#: src/tables/InvenTreeTable.tsx:601 +#: src/tables/InvenTreeTable.tsx:602 +msgid "Barcode actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:620 +#: src/tables/InvenTreeTable.tsx:630 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:638 +#: src/tables/InvenTreeTable.tsx:648 msgid "Table filters" msgstr "" @@ -4522,138 +4632,138 @@ msgstr "" msgid "Part Information" msgstr "" -#: src/tables/bom/BomTable.tsx:177 +#: src/tables/bom/BomTable.tsx:179 #: src/tables/part/PartTable.tsx:124 msgid "No stock" msgstr "" -#: src/tables/bom/BomTable.tsx:185 +#: src/tables/bom/BomTable.tsx:187 #: src/tables/build/BuildLineTable.tsx:104 #: src/tables/part/PartTable.tsx:115 msgid "External stock" msgstr "" -#: src/tables/bom/BomTable.tsx:193 +#: src/tables/bom/BomTable.tsx:195 #: src/tables/build/BuildLineTable.tsx:67 msgid "Includes substitute stock" msgstr "" -#: src/tables/bom/BomTable.tsx:202 +#: src/tables/bom/BomTable.tsx:204 #: src/tables/build/BuildLineTable.tsx:77 msgid "Includes variant stock" msgstr "" -#: src/tables/bom/BomTable.tsx:227 +#: src/tables/bom/BomTable.tsx:229 #: src/tables/part/PartTable.tsx:143 #: src/tables/stock/StockItemTable.tsx:205 msgid "Stock Information" msgstr "" -#: src/tables/bom/BomTable.tsx:239 +#: src/tables/bom/BomTable.tsx:241 #: src/tables/build/BuildLineTable.tsx:195 msgid "Consumable item" msgstr "" -#: src/tables/bom/BomTable.tsx:260 +#: src/tables/bom/BomTable.tsx:262 msgid "Show trackable items" msgstr "" -#: src/tables/bom/BomTable.tsx:265 +#: src/tables/bom/BomTable.tsx:267 msgid "Show asssmbled items" msgstr "" -#: src/tables/bom/BomTable.tsx:270 +#: src/tables/bom/BomTable.tsx:272 msgid "Show items with available stock" msgstr "" -#: src/tables/bom/BomTable.tsx:275 +#: src/tables/bom/BomTable.tsx:277 msgid "Show items on order" msgstr "" -#: src/tables/bom/BomTable.tsx:279 +#: src/tables/bom/BomTable.tsx:281 msgid "Validated" msgstr "" -#: src/tables/bom/BomTable.tsx:280 +#: src/tables/bom/BomTable.tsx:282 msgid "Show validated items" msgstr "" -#: src/tables/bom/BomTable.tsx:284 +#: src/tables/bom/BomTable.tsx:286 #: src/tables/bom/UsedInTable.tsx:63 msgid "Inherited" msgstr "" -#: src/tables/bom/BomTable.tsx:285 +#: src/tables/bom/BomTable.tsx:287 #: src/tables/bom/UsedInTable.tsx:64 msgid "Show inherited items" msgstr "" -#: src/tables/bom/BomTable.tsx:289 +#: src/tables/bom/BomTable.tsx:291 #: src/tables/bom/UsedInTable.tsx:68 #: src/tables/build/BuildLineTable.tsx:46 msgid "Optional" msgstr "" -#: src/tables/bom/BomTable.tsx:290 +#: src/tables/bom/BomTable.tsx:292 #: src/tables/bom/UsedInTable.tsx:69 msgid "Show optional items" msgstr "" -#: src/tables/bom/BomTable.tsx:294 +#: src/tables/bom/BomTable.tsx:296 #: src/tables/build/BuildLineTable.tsx:41 msgid "Consumable" msgstr "" -#: src/tables/bom/BomTable.tsx:295 +#: src/tables/bom/BomTable.tsx:297 msgid "Show consumable items" msgstr "" -#: src/tables/bom/BomTable.tsx:299 +#: src/tables/bom/BomTable.tsx:301 msgid "Has Pricing" msgstr "" -#: src/tables/bom/BomTable.tsx:300 -msgid "Show items with pricing" -msgstr "" - #: src/tables/bom/BomTable.tsx:301 #~ msgid "Create BOM Item" #~ msgstr "" -#: src/tables/bom/BomTable.tsx:309 -#: src/tables/bom/BomTable.tsx:397 +#: src/tables/bom/BomTable.tsx:302 +msgid "Show items with pricing" +msgstr "" + +#: src/tables/bom/BomTable.tsx:311 +#: src/tables/bom/BomTable.tsx:399 msgid "Add BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:314 +#: src/tables/bom/BomTable.tsx:316 msgid "BOM item created" msgstr "" -#: src/tables/bom/BomTable.tsx:321 +#: src/tables/bom/BomTable.tsx:323 msgid "Edit BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:323 +#: src/tables/bom/BomTable.tsx:325 msgid "BOM item updated" msgstr "" -#: src/tables/bom/BomTable.tsx:330 -msgid "Delete BOM Item" -msgstr "" - -#: src/tables/bom/BomTable.tsx:331 -msgid "BOM item deleted" -msgstr "" - #: src/tables/bom/BomTable.tsx:331 #~ msgid "Edit Bom Item" #~ msgstr "" +#: src/tables/bom/BomTable.tsx:332 +msgid "Delete BOM Item" +msgstr "" + +#: src/tables/bom/BomTable.tsx:333 +msgid "BOM item deleted" +msgstr "" + #: src/tables/bom/BomTable.tsx:333 #~ msgid "Bom item updated" #~ msgstr "" -#: src/tables/bom/BomTable.tsx:341 +#: src/tables/bom/BomTable.tsx:343 msgid "View BOM" msgstr "" @@ -4669,11 +4779,11 @@ msgstr "" #~ msgid "Are you sure you want to remove this BOM item?" #~ msgstr "" -#: src/tables/bom/BomTable.tsx:352 +#: src/tables/bom/BomTable.tsx:354 msgid "Validate BOM line" msgstr "" -#: src/tables/bom/BomTable.tsx:360 +#: src/tables/bom/BomTable.tsx:362 msgid "Edit Substitutes" msgstr "" @@ -4790,11 +4900,11 @@ msgid "Filter by responsible owner" msgstr "" #: src/tables/build/BuildOutputTable.tsx:114 -#: src/tables/build/BuildOutputTable.tsx:150 +#: src/tables/build/BuildOutputTable.tsx:152 msgid "Add Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:155 +#: src/tables/build/BuildOutputTable.tsx:157 msgid "Complete selected outputs" msgstr "" @@ -4802,68 +4912,68 @@ msgstr "" #~ msgid "Delete build output" #~ msgstr "" -#: src/tables/build/BuildOutputTable.tsx:165 +#: src/tables/build/BuildOutputTable.tsx:167 msgid "Scrap selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:175 +#: src/tables/build/BuildOutputTable.tsx:177 msgid "Cancel selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:191 +#: src/tables/build/BuildOutputTable.tsx:193 msgid "Allocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:192 +#: src/tables/build/BuildOutputTable.tsx:194 msgid "Allocate stock to build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:197 +#: src/tables/build/BuildOutputTable.tsx:199 msgid "Deallocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:198 +#: src/tables/build/BuildOutputTable.tsx:200 msgid "Deallocate stock from build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:203 +#: src/tables/build/BuildOutputTable.tsx:205 msgid "Complete" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:204 +#: src/tables/build/BuildOutputTable.tsx:206 msgid "Complete build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:213 +#: src/tables/build/BuildOutputTable.tsx:215 msgid "Scrap" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:214 +#: src/tables/build/BuildOutputTable.tsx:216 msgid "Scrap build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:224 +#: src/tables/build/BuildOutputTable.tsx:226 msgid "Cancel build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:251 +#: src/tables/build/BuildOutputTable.tsx:253 msgid "Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:264 +#: src/tables/build/BuildOutputTable.tsx:266 msgid "Batch" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:278 +#: src/tables/build/BuildOutputTable.tsx:280 msgid "Allocated Items" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:288 +#: src/tables/build/BuildOutputTable.tsx:290 msgid "Required Tests" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:317 -#: src/tables/stock/StockItemTestResultTable.tsx:146 +#: src/tables/build/BuildOutputTable.tsx:319 +#: src/tables/stock/StockItemTestResultTable.tsx:144 msgid "Test Results" msgstr "" @@ -4884,7 +4994,7 @@ msgstr "" msgid "Delete Address" msgstr "" -#: src/tables/company/AddressTable.tsx:145 +#: src/tables/company/AddressTable.tsx:144 msgid "Are you sure you want to delete this address?" msgstr "" @@ -4929,36 +5039,52 @@ msgstr "" msgid "Add contact" msgstr "" -#: src/tables/general/AttachmentTable.tsx:161 +#: src/tables/general/AttachmentTable.tsx:130 msgid "File uploaded" msgstr "" -#: src/tables/general/AttachmentTable.tsx:162 +#: src/tables/general/AttachmentTable.tsx:131 msgid "File {0} uploaded successfully" msgstr "" -#: src/tables/general/AttachmentTable.tsx:173 +#: src/tables/general/AttachmentTable.tsx:142 msgid "Upload Error" msgstr "" -#: src/tables/general/AttachmentTable.tsx:174 +#: src/tables/general/AttachmentTable.tsx:143 msgid "File could not be uploaded" msgstr "" #: src/tables/general/AttachmentTable.tsx:187 +msgid "Upload Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:197 +msgid "Edit Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:211 +msgid "Delete Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:221 msgid "Add attachment" msgstr "" -#: src/tables/general/AttachmentTable.tsx:207 +#: src/tables/general/AttachmentTable.tsx:232 msgid "Add external link" msgstr "" -#: src/tables/general/AttachmentTable.tsx:239 +#: src/tables/general/AttachmentTable.tsx:254 +#~ msgid "Upload attachment" +#~ msgstr "" + +#: src/tables/general/AttachmentTable.tsx:289 msgid "No attachments found" msgstr "" -#: src/tables/general/AttachmentTable.tsx:254 -msgid "Upload attachment" +#: src/tables/general/AttachmentTable.tsx:325 +msgid "Drag attachment file here to upload" msgstr "" #: src/tables/machine/MachineListTable.tsx:199 @@ -5084,8 +5210,8 @@ msgstr "" #: src/tables/machine/MachineTypeTable.tsx:135 #: src/tables/machine/MachineTypeTable.tsx:255 -#: src/tables/plugin/PluginListTable.tsx:215 -#: src/tables/plugin/PluginListTable.tsx:643 +#: src/tables/plugin/PluginListTable.tsx:180 +#: src/tables/plugin/PluginListTable.tsx:568 msgid "Builtin" msgstr "" @@ -5127,7 +5253,7 @@ msgid "Message" msgstr "" #: src/tables/part/ParametricPartTable.tsx:75 -#: src/tables/part/PartParameterTable.tsx:87 +#: src/tables/part/PartParameterTable.tsx:88 msgid "Internal Units" msgstr "" @@ -5140,29 +5266,29 @@ msgid "Add Part Parameter" msgstr "" #: src/tables/part/ParametricPartTable.tsx:147 -#: src/tables/part/PartParameterTable.tsx:128 -#: src/tables/part/PartParameterTable.tsx:150 +#: src/tables/part/PartParameterTable.tsx:121 +#: src/tables/part/PartParameterTable.tsx:144 msgid "Edit Part Parameter" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:64 +#: src/tables/part/PartCategoryTable.tsx:60 #: src/tables/part/PartTable.tsx:180 msgid "Include Subcategories" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:65 +#: src/tables/part/PartCategoryTable.tsx:61 msgid "Include subcategories in results" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:70 +#: src/tables/part/PartCategoryTable.tsx:66 msgid "Show structural categories" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:77 +#: src/tables/part/PartCategoryTable.tsx:73 msgid "New Part Category" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:106 +#: src/tables/part/PartCategoryTable.tsx:98 msgid "Add Part Category" msgstr "" @@ -5187,20 +5313,20 @@ msgstr "" #~ msgid "[{0}]" #~ msgstr "" -#: src/tables/part/PartParameterTable.tsx:112 +#: src/tables/part/PartParameterTable.tsx:105 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:136 -#: src/tables/part/PartParameterTable.tsx:158 +#: src/tables/part/PartParameterTable.tsx:130 +#: src/tables/part/PartParameterTable.tsx:152 msgid "Delete Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:175 +#: src/tables/part/PartParameterTable.tsx:170 msgid "Add parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:196 +#: src/tables/part/PartParameterTable.tsx:191 #: src/tables/stock/StockItemTable.tsx:300 msgid "Include Variants" msgstr "" @@ -5234,15 +5360,15 @@ msgstr "" msgid "Add Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:97 +#: src/tables/part/PartParameterTemplateTable.tsx:100 msgid "Edit Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:105 +#: src/tables/part/PartParameterTemplateTable.tsx:111 msgid "Delete Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:135 +#: src/tables/part/PartParameterTemplateTable.tsx:141 msgid "Add parameter template" msgstr "" @@ -5340,7 +5466,7 @@ msgid "No Results" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:79 -#: src/tables/stock/StockItemTestResultTable.tsx:385 +#: src/tables/stock/StockItemTestResultTable.tsx:376 msgid "Required" msgstr "" @@ -5349,8 +5475,8 @@ msgid "Show required tests" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:84 -#: src/tables/settings/TemplateTable.tsx:213 -#: src/tables/settings/TemplateTable.tsx:275 +#: src/tables/settings/TemplateTable.tsx:160 +#: src/tables/settings/TemplateTable.tsx:270 msgid "Enabled" msgstr "" @@ -5391,26 +5517,30 @@ msgid "Show tests which have recorded results" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:126 -#: src/tables/part/PartTestTemplateTable.tsx:195 +#: src/tables/part/PartTestTemplateTable.tsx:201 msgid "Add Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:139 +#: src/tables/part/PartTestTemplateTable.tsx:142 msgid "Edit Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:147 +#: src/tables/part/PartTestTemplateTable.tsx:153 msgid "Delete Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:149 +#: src/tables/part/PartTestTemplateTable.tsx:155 msgid "This action cannot be reversed" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:151 +#: src/tables/part/PartTestTemplateTable.tsx:157 msgid "Any tests results associated with this template will be deleted" msgstr "" +#: src/tables/part/PartThumbTable.tsx:203 +msgid "Select" +msgstr "" + #: src/tables/part/PartVariantTable.tsx:16 msgid "Show active variants" msgstr "" @@ -5447,252 +5577,273 @@ msgstr "" msgid "Stage" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:113 -msgid "Plugin with id {id} not found" +#: src/tables/plugin/PluginListTable.tsx:95 +msgid "Plugin with key {pluginKey} not found" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:115 +#: src/tables/plugin/PluginListTable.tsx:97 msgid "An error occurred while fetching plugin details" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:134 -msgid "Plugin Actions" -msgstr "" +#: src/tables/plugin/PluginListTable.tsx:113 +#~ msgid "Plugin with id {id} not found" +#~ msgstr "" -#: src/tables/plugin/PluginListTable.tsx:138 -#: src/tables/plugin/PluginListTable.tsx:141 -msgid "Edit plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:152 -#: src/tables/plugin/PluginListTable.tsx:153 -msgid "Reload" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:166 +#: src/tables/plugin/PluginListTable.tsx:122 msgid "Plugin information" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:177 +#: src/tables/plugin/PluginListTable.tsx:134 msgid "Author" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:198 +#: src/tables/plugin/PluginListTable.tsx:134 +#~ msgid "Plugin Actions" +#~ msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:138 +#: src/tables/plugin/PluginListTable.tsx:141 +#~ msgid "Edit plugin" +#~ msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:152 +#: src/tables/plugin/PluginListTable.tsx:153 +#~ msgid "Reload" +#~ msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:154 +msgid "Plugin is not active" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:163 msgid "Package information" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:204 +#: src/tables/plugin/PluginListTable.tsx:169 msgid "Package Name" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:210 +#: src/tables/plugin/PluginListTable.tsx:175 msgid "Installation Path" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:220 +#: src/tables/plugin/PluginListTable.tsx:185 msgid "Package" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:231 +#: src/tables/plugin/PluginListTable.tsx:197 msgid "Plugin settings" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:248 +#: src/tables/plugin/PluginListTable.tsx:214 msgid "Plugin is active" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:254 +#: src/tables/plugin/PluginListTable.tsx:220 msgid "Plugin is inactive" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:261 +#: src/tables/plugin/PluginListTable.tsx:227 msgid "Plugin is not installed" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:287 +#: src/tables/plugin/PluginListTable.tsx:253 msgid "Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:312 +#: src/tables/plugin/PluginListTable.tsx:287 msgid "Description not available" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:338 +#: src/tables/plugin/PluginListTable.tsx:319 +msgid "Confirm plugin activation" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:320 +msgid "Confirm plugin deactivation" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:325 +msgid "The selected plugin will be activated" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:326 +msgid "The selected plugin will be deactivated" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:334 msgid "Activate Plugin" msgstr "" #: src/tables/plugin/PluginListTable.tsx:338 -msgid "Deactivate Plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:347 -msgid "Confirm plugin activation" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:348 -msgid "Confirm plugin deactivation" -msgstr "" +#~ msgid "Deactivate Plugin" +#~ msgstr "" #: src/tables/plugin/PluginListTable.tsx:354 -msgid "The following plugin will be activated" -msgstr "" +#~ msgid "The following plugin will be activated" +#~ msgstr "" #: src/tables/plugin/PluginListTable.tsx:355 -msgid "The following plugin will be deactivated" -msgstr "" +#~ msgid "The following plugin will be deactivated" +#~ msgstr "" -#: src/tables/plugin/PluginListTable.tsx:366 -msgid "Confirm" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:376 -msgid "Activating plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:376 -msgid "Deactivating plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:392 -msgid "Plugin updated" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:394 -msgid "The plugin was activated" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:395 -msgid "The plugin was deactivated" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:403 -msgid "Error updating plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:423 +#: src/tables/plugin/PluginListTable.tsx:362 msgid "Deactivate" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:432 +#: src/tables/plugin/PluginListTable.tsx:366 +#~ msgid "Confirm" +#~ msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:373 msgid "Activate" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:463 +#: src/tables/plugin/PluginListTable.tsx:376 +#~ msgid "Activating plugin" +#~ msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:376 +#~ msgid "Deactivating plugin" +#~ msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:392 +#~ msgid "Plugin updated" +#~ msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:394 +#~ msgid "The plugin was activated" +#~ msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:395 +#~ msgid "The plugin was deactivated" +#~ msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:403 +#~ msgid "Error updating plugin" +#~ msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:406 msgid "Uninstall" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:495 +#: src/tables/plugin/PluginListTable.tsx:438 msgid "Install plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:508 +#: src/tables/plugin/PluginListTable.tsx:451 msgid "Install" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:512 +#: src/tables/plugin/PluginListTable.tsx:452 msgid "Plugin installed successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:525 +#: src/tables/plugin/PluginListTable.tsx:457 msgid "Uninstall Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:537 +#: src/tables/plugin/PluginListTable.tsx:469 msgid "Confirm plugin uninstall" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:540 +#: src/tables/plugin/PluginListTable.tsx:472 msgid "The selected plugin will be uninstalled." msgstr "" -#: src/tables/plugin/PluginListTable.tsx:541 +#: src/tables/plugin/PluginListTable.tsx:473 msgid "This action cannot be undone." msgstr "" -#: src/tables/plugin/PluginListTable.tsx:547 +#: src/tables/plugin/PluginListTable.tsx:477 msgid "Plugin uninstalled successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:560 +#: src/tables/plugin/PluginListTable.tsx:484 msgid "Delete Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:562 +#: src/tables/plugin/PluginListTable.tsx:485 msgid "Deleting this plugin configuration will remove all associated settings and data. Are you sure you want to delete this plugin?" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:574 +#: src/tables/plugin/PluginListTable.tsx:498 msgid "Plugins reloaded" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:575 +#: src/tables/plugin/PluginListTable.tsx:499 msgid "Plugins were reloaded successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:591 +#: src/tables/plugin/PluginListTable.tsx:515 msgid "Reload Plugins" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:600 +#: src/tables/plugin/PluginListTable.tsx:524 msgid "Install Plugin" msgstr "" +#: src/tables/plugin/PluginListTable.tsx:544 +msgid "Plugin Detail" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:573 +msgid "Sample" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:578 +#: src/tables/stock/StockItemTable.tsx:305 +msgid "Installed" +msgstr "" + #: src/tables/plugin/PluginListTable.tsx:615 #~ msgid "Plugin detail" #~ msgstr "" -#: src/tables/plugin/PluginListTable.tsx:619 -msgid "Plugin Detail" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:648 -msgid "Sample" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:653 -#: src/tables/stock/StockItemTable.tsx:305 -msgid "Installed" -msgstr "" - -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:57 -msgid "Edit Parameter" +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:59 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:108 +msgid "Add Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:60 -msgid "Parameter updated" -msgstr "" +#~ msgid "Parameter updated" +#~ msgstr "" -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:71 -msgid "Delete Parameter" +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:70 +msgid "Edit Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:73 -msgid "Parameter deleted" -msgstr "" +#~ msgid "Parameter deleted" +#~ msgstr "" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:74 -msgid "Are you sure you want to delete this parameter?" +#~ msgid "Are you sure you want to delete this parameter?" +#~ msgstr "" + +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:78 +msgid "Delete Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartTable.tsx:63 #~ msgid "Create Manufacturer Part" #~ msgstr "" -#: src/tables/purchasing/ManufacturerPartTable.tsx:100 -msgid "Manufacturer part updated" -msgstr "" - -#: src/tables/purchasing/ManufacturerPartTable.tsx:111 +#: src/tables/purchasing/ManufacturerPartTable.tsx:92 msgid "Delete Manufacturer Part" msgstr "" +#: src/tables/purchasing/ManufacturerPartTable.tsx:100 +#~ msgid "Manufacturer part updated" +#~ msgstr "" + #: src/tables/purchasing/ManufacturerPartTable.tsx:112 -msgid "Manufacturer part deleted" -msgstr "" +#~ msgid "Manufacturer part deleted" +#~ msgstr "" #: src/tables/purchasing/ManufacturerPartTable.tsx:114 -msgid "Are you sure you want to remove this manufacturer part?" -msgstr "" +#~ msgid "Are you sure you want to remove this manufacturer part?" +#~ msgstr "" #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:86 msgid "Part Description" @@ -5839,18 +5990,22 @@ msgid "Error Information" msgstr "" #: src/tables/settings/ErrorTable.tsx:51 -msgid "Delete error report" +msgid "Delete Error Report" msgstr "" +#: src/tables/settings/ErrorTable.tsx:51 +#~ msgid "Delete error report" +#~ msgstr "" + #: src/tables/settings/ErrorTable.tsx:53 -msgid "Error report deleted" -msgstr "" - -#: src/tables/settings/ErrorTable.tsx:54 msgid "Are you sure you want to delete this error report?" msgstr "" -#: src/tables/settings/ErrorTable.tsx:67 +#: src/tables/settings/ErrorTable.tsx:55 +msgid "Error report deleted" +msgstr "" + +#: src/tables/settings/ErrorTable.tsx:77 #: src/tables/settings/FailedTasksTable.tsx:57 msgid "Error Details" msgstr "" @@ -5867,7 +6022,7 @@ msgid "Task ID" msgstr "" #: src/tables/settings/FailedTasksTable.tsx:34 -#: src/tables/stock/StockItemTestResultTable.tsx:214 +#: src/tables/stock/StockItemTestResultTable.tsx:205 msgid "Started" msgstr "" @@ -5940,30 +6095,71 @@ msgstr "" msgid "Next Run" msgstr "" -#: src/tables/settings/TemplateTable.tsx:120 -msgid "{templateTypeTranslation} with id {id} not found" +#: src/tables/settings/TemplateTable.tsx:82 +msgid "Template not found" msgstr "" +#: src/tables/settings/TemplateTable.tsx:84 +msgid "An error occurred while fetching template details" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:120 +#~ msgid "{templateTypeTranslation} with id {id} not found" +#~ msgstr "" + #: src/tables/settings/TemplateTable.tsx:124 -msgid "An error occurred while fetching {templateTypeTranslation} details" -msgstr "" +#~ msgid "An error occurred while fetching {templateTypeTranslation} details" +#~ msgstr "" #: src/tables/settings/TemplateTable.tsx:146 -msgid "actions" +#~ msgid "actions" +#~ msgstr "" + +#: src/tables/settings/TemplateTable.tsx:170 +msgid "Modify" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:171 +msgid "Modify template file" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:222 +#: src/tables/settings/TemplateTable.tsx:289 +msgid "Edit Template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:230 +msgid "Delete template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:236 +msgid "Add Template" msgstr "" #: src/tables/settings/TemplateTable.tsx:243 -msgid "Add new" -msgstr "" +#~ msgid "Add new" +#~ msgstr "" #: src/tables/settings/TemplateTable.tsx:243 #~ msgid "Create new" #~ msgstr "" -#: src/tables/settings/TemplateTable.tsx:276 +#: src/tables/settings/TemplateTable.tsx:249 +msgid "Add template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:271 msgid "Filter by enabled status" msgstr "" +#: src/tables/settings/TemplateTable.tsx:276 +msgid "Model Type" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:277 +msgid "Filter by target model type" +msgstr "" + #: src/tables/settings/UserTable.tsx:79 msgid "User with id {id} not found" msgstr "" @@ -6029,6 +6225,23 @@ msgstr "" msgid "Edit user" msgstr "" +#: src/tables/stock/LocationTypesTable.tsx:36 +#: src/tables/stock/LocationTypesTable.tsx:105 +msgid "Add Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:44 +msgid "Edit Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:52 +msgid "Delete Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:69 +msgid "Icon" +msgstr "" + #: src/tables/stock/StockItemTable.tsx:90 msgid "This stock item is in production" msgstr "" @@ -6090,7 +6303,7 @@ msgid "Show items which are available" msgstr "" #: src/tables/stock/StockItemTable.tsx:280 -#: src/tables/stock/StockLocationTable.tsx:37 +#: src/tables/stock/StockLocationTable.tsx:33 msgid "Include Sublocations" msgstr "" @@ -6219,123 +6432,135 @@ msgstr "" msgid "Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:153 +#: src/tables/stock/StockItemTestResultTable.tsx:151 msgid "Test result for installed stock item" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:164 +#: src/tables/stock/StockItemTestResultTable.tsx:162 msgid "Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:170 +#: src/tables/stock/StockItemTestResultTable.tsx:168 msgid "No Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:186 +#: src/tables/stock/StockItemTestResultTable.tsx:184 msgid "Attachment" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:209 +#: src/tables/stock/StockItemTestResultTable.tsx:200 msgid "Test station" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:229 +#: src/tables/stock/StockItemTestResultTable.tsx:220 msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:277 -#: src/tables/stock/StockItemTestResultTable.tsx:349 -#: src/tables/stock/StockItemTestResultTable.tsx:404 +#: src/tables/stock/StockItemTestResultTable.tsx:268 +#: src/tables/stock/StockItemTestResultTable.tsx:340 +#: src/tables/stock/StockItemTestResultTable.tsx:395 msgid "Add Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:279 +#: src/tables/stock/StockItemTestResultTable.tsx:270 msgid "Test result added" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:288 -#: src/tables/stock/StockItemTestResultTable.tsx:359 +#: src/tables/stock/StockItemTestResultTable.tsx:279 +#: src/tables/stock/StockItemTestResultTable.tsx:350 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:290 +#: src/tables/stock/StockItemTestResultTable.tsx:281 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:296 -#: src/tables/stock/StockItemTestResultTable.tsx:368 +#: src/tables/stock/StockItemTestResultTable.tsx:287 +#: src/tables/stock/StockItemTestResultTable.tsx:359 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:298 +#: src/tables/stock/StockItemTestResultTable.tsx:289 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:312 +#: src/tables/stock/StockItemTestResultTable.tsx:303 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:313 +#: src/tables/stock/StockItemTestResultTable.tsx:304 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:320 +#: src/tables/stock/StockItemTestResultTable.tsx:311 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:337 +#: src/tables/stock/StockItemTestResultTable.tsx:328 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:386 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:390 +#: src/tables/stock/StockItemTestResultTable.tsx:381 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:391 +#: src/tables/stock/StockItemTestResultTable.tsx:382 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:395 +#: src/tables/stock/StockItemTestResultTable.tsx:386 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:396 +#: src/tables/stock/StockItemTestResultTable.tsx:387 msgid "Show only passed tests" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:38 +#: src/tables/stock/StockLocationTable.tsx:34 msgid "Include sublocations in results" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:42 +#: src/tables/stock/StockLocationTable.tsx:38 msgid "structural" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:43 +#: src/tables/stock/StockLocationTable.tsx:39 msgid "Show structural locations" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:47 +#: src/tables/stock/StockLocationTable.tsx:43 msgid "external" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:48 +#: src/tables/stock/StockLocationTable.tsx:44 msgid "Show external locations" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:52 +#: src/tables/stock/StockLocationTable.tsx:48 msgid "Has location type" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:89 -#: src/tables/stock/StockLocationTable.tsx:118 +#: src/tables/stock/StockLocationTable.tsx:85 +#: src/tables/stock/StockLocationTable.tsx:110 msgid "Add Stock Location" msgstr "" +#: src/tables/stock/StockTrackingTable.tsx:64 +msgid "Added" +msgstr "" + +#: src/tables/stock/StockTrackingTable.tsx:69 +msgid "Removed" +msgstr "" + +#: src/tables/stock/StockTrackingTable.tsx:198 +msgid "No user information" +msgstr "" + #: src/views/MobileAppView.tsx:22 msgid "Mobile viewport detected" msgstr "" diff --git a/src/frontend/src/locales/pt/messages.po b/src/frontend/src/locales/pt/messages.po index 3a30cd0899..269ef8c097 100644 --- a/src/frontend/src/locales/pt/messages.po +++ b/src/frontend/src/locales/pt/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: pt\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-05-13 02:48\n" +"PO-Revision-Date: 2024-05-23 11:39\n" "Last-Translator: \n" "Language-Team: Portuguese, Brazilian\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -30,10 +30,67 @@ msgstr "" msgid "Title" msgstr "Título" +#: src/components/buttons/AdminButton.tsx:83 +msgid "Open in admin interface" +msgstr "" + #: src/components/buttons/CopyButton.tsx:18 msgid "Copy to clipboard" msgstr "Copiar para área de transferência" +#: src/components/buttons/PrintingActions.tsx:95 +msgid "Print Label" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:101 +msgid "Label printing completed successfully" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:106 +#: src/components/buttons/PrintingActions.tsx:143 +#: src/components/forms/ApiForm.tsx:504 +#: src/components/forms/fields/ApiFormField.tsx:295 +#: src/components/modals/LicenseModal.tsx:75 +#: src/components/nav/SearchDrawer.tsx:413 +#: src/components/widgets/MarkdownEditor.tsx:107 +#: src/components/widgets/MarkdownEditor.tsx:153 +#: src/pages/ErrorPage.tsx:12 +#: src/pages/ErrorPage.tsx:25 +#: src/pages/part/PartPricingPanel.tsx:71 +#: src/tables/InvenTreeTable.tsx:451 +#: src/tables/InvenTreeTable.tsx:531 +#: src/tables/stock/StockItemTestResultTable.tsx:310 +msgid "Error" +msgstr "Erro" + +#: src/components/buttons/PrintingActions.tsx:107 +msgid "The label could not be generated" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:122 +msgid "Print Report" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:138 +msgid "Report printing completed successfully" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:144 +msgid "The report could not be generated" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:171 +msgid "Printing Actions" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:176 +msgid "Print Labels" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:182 +msgid "Print Reports" +msgstr "" + #: src/components/buttons/ScanButton.tsx:15 msgid "Scan QR code" msgstr "Escanear código QR" @@ -64,15 +121,15 @@ msgstr "Sim" msgid "No" msgstr "Não" -#: src/components/details/Details.tsx:302 +#: src/components/details/Details.tsx:303 msgid "No name defined" msgstr "" -#: src/components/details/Details.tsx:339 +#: src/components/details/Details.tsx:340 msgid "Copied" msgstr "Copiada" -#: src/components/details/Details.tsx:339 +#: src/components/details/Details.tsx:340 msgid "Copy" msgstr "Copiar" @@ -85,24 +142,23 @@ msgid "Remove the associated image from this item?" msgstr "Remover imagem associada a este item?" #: src/components/details/DetailsImage.tsx:71 -#: src/forms/StockForms.tsx:442 +#: src/forms/StockForms.tsx:483 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:448 +#: src/pages/stock/StockDetail.tsx:462 msgid "Remove" msgstr "Remover" #: src/components/details/DetailsImage.tsx:71 -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:163 -#: src/components/items/ActionDropdown.tsx:222 -#: src/components/items/ActionDropdown.tsx:223 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 +#: src/components/items/ActionDropdown.tsx:229 +#: src/components/items/ActionDropdown.tsx:230 #: src/contexts/ThemeContext.tsx:43 #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:40 -#: src/tables/FilterSelectDrawer.tsx:218 -#: src/tables/InvenTreeTable.tsx:493 -#: src/tables/build/BuildOutputTable.tsx:223 -#: src/tables/plugin/PluginListTable.tsx:365 +#: src/tables/FilterSelectDrawer.tsx:207 +#: src/tables/InvenTreeTable.tsx:499 +#: src/tables/build/BuildOutputTable.tsx:225 msgid "Cancel" msgstr "Cancelar" @@ -119,7 +175,7 @@ msgid "Clear" msgstr "Limpar" #: src/components/details/DetailsImage.tsx:227 -#: src/components/forms/ApiForm.tsx:554 +#: src/components/forms/ApiForm.tsx:571 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:56 msgid "Submit" @@ -150,9 +206,10 @@ msgid "Part is not active" msgstr "Peça inativa" #: src/components/details/PartIcons.tsx:34 -#: src/pages/company/CompanyDetail.tsx:308 -#: src/pages/company/SupplierPartDetail.tsx:304 -#: src/pages/part/PartDetail.tsx:684 +#: src/components/render/Plugin.tsx:17 +#: src/pages/company/CompanyDetail.tsx:310 +#: src/pages/company/SupplierPartDetail.tsx:305 +#: src/pages/part/PartDetail.tsx:685 msgid "Inactive" msgstr "Inativo" @@ -196,10 +253,10 @@ msgid "Code" msgstr "Código" #: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:44 -msgid "Failed to parse error response from server." -msgstr "Falha ao processar a resposta do servidor." +#~ msgid "Failed to parse error response from server." +#~ msgstr "Failed to parse error response from server." -#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:82 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:81 msgid "Preview not available, click \"Reload Preview\"." msgstr "Pré-visualização indisponível, clique em \"Recarregar Pré-visualização\"." @@ -207,98 +264,99 @@ msgstr "Pré-visualização indisponível, clique em \"Recarregar Pré-visualiza msgid "PDF Preview" msgstr "Visualizar PDF" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:113 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:104 msgid "Error loading template" msgstr "Erro ao carregar template" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:125 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:116 msgid "Error saving template" msgstr "Erro ao salvar o template" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 -msgid "Save & Reload preview?" -msgstr "Salvar e recarregar visualização?" +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:146 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:270 +msgid "Save & Reload Preview" +msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:156 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 msgid "Are you sure you want to Save & Reload the preview?" msgstr "Tem certeza de que deseja salvar e recarregar a visualização?" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 +#~ msgid "Save & Reload preview?" +#~ msgstr "Save & Reload preview?" + +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:153 msgid "To render the preview the current template needs to be replaced on the server with your modifications which may break the label if it is under active use. Do you want to proceed?" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:162 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:157 msgid "Save & Reload" msgstr "Salvar & Recarregar" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:191 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:189 msgid "Preview updated" msgstr "Visualizar Atualização" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:192 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:190 msgid "The preview has been updated successfully." msgstr "A pré-visualização foi atualizado com sucesso." -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:255 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:262 msgid "Reload preview" msgstr "Recarregar pré-visualização" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:256 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:263 msgid "Use the currently stored template from the server" msgstr "Use o modelo armazenado atualmente no servidor" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:263 -msgid "Save & Reload preview" -msgstr "Salvar & Recarregar pré-visualização" +#~ msgid "Save & Reload preview" +#~ msgstr "Save & Reload preview" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:264 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:271 msgid "Save the current template and reload the preview" msgstr "Salvar o modelo atual e recarregar a pré-visualização" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:322 -#: src/tables/part/PartThumbTable.tsx:203 -msgid "Select" -msgstr "Selecionar" +#~ msgid "to preview" +#~ msgstr "to preview" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:322 -msgid "to preview" -msgstr "Pré-visualizar" +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:329 +msgid "Select instance to preview" +msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:366 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:373 msgid "Error rendering template" msgstr "Erro ao carregar template" -#: src/components/forms/ApiForm.tsx:143 +#: src/components/forms/ApiForm.tsx:148 #: src/functions/forms.tsx:259 msgid "Form Error" msgstr "Erro no formulário" -#: src/components/forms/ApiForm.tsx:411 +#: src/components/forms/ApiForm.tsx:428 #: src/components/widgets/MarkdownEditor.tsx:145 msgid "Success" msgstr "Sucesso" #: src/components/forms/ApiForm.tsx:487 -msgid "Form Errors Exist" -msgstr "Há erros de formulário" +#~ msgid "Form Errors Exist" +#~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:592 -#: src/tables/plugin/PluginListTable.tsx:445 +#: src/components/forms/ApiForm.tsx:609 +#: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "Atualizar" -#: src/components/forms/ApiForm.tsx:612 -#: src/components/items/ActionDropdown.tsx:203 +#: src/components/forms/ApiForm.tsx:629 +#: src/components/items/ActionDropdown.tsx:210 #: src/functions/forms.tsx:299 #: src/hooks/UseForm.tsx:122 #: src/pages/Index/Scan.tsx:343 #: src/pages/Notifications.tsx:123 -#: src/tables/InvenTreeTable.tsx:492 +#: src/tables/InvenTreeTable.tsx:498 #: src/tables/RowActions.tsx:71 -#: src/tables/plugin/PluginListTable.tsx:477 -#: src/tables/settings/TemplateTable.tsx:105 -#: src/tables/settings/TemplateTable.tsx:154 -#: src/tables/settings/TemplateTable.tsx:236 +#: src/tables/plugin/PluginListTable.tsx:420 msgid "Delete" msgstr "Excluir" @@ -468,18 +526,19 @@ msgstr "Servidor" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 -#: src/pages/part/CategoryDetail.tsx:77 -#: src/pages/part/PartDetail.tsx:125 -#: src/pages/stock/LocationDetail.tsx:83 +#: src/pages/part/CategoryDetail.tsx:78 +#: src/pages/part/PartDetail.tsx:126 +#: src/pages/stock/LocationDetail.tsx:85 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 #: src/tables/machine/MachineTypeTable.tsx:216 #: src/tables/machine/MachineTypeTable.tsx:319 #: src/tables/plugin/PluginErrorTable.tsx:33 -#: src/tables/plugin/PluginListTable.tsx:169 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:27 +#: src/tables/plugin/PluginListTable.tsx:126 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:32 #: src/tables/settings/GroupTable.tsx:103 #: src/tables/settings/PendingTasksTable.tsx:26 +#: src/tables/stock/LocationTypesTable.tsx:60 msgid "Name" msgstr "Nome" @@ -520,35 +579,20 @@ msgstr "Nome: {0}" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "Estado: <0>funcionário ({0}), <1>extensões{1}" -#: src/components/forms/fields/ApiFormField.tsx:276 -#: src/components/modals/LicenseModal.tsx:75 -#: src/components/nav/SearchDrawer.tsx:413 -#: src/components/widgets/MarkdownEditor.tsx:107 -#: src/components/widgets/MarkdownEditor.tsx:153 -#: src/pages/ErrorPage.tsx:12 -#: src/pages/ErrorPage.tsx:25 -#: src/pages/part/PartPricingPanel.tsx:71 -#: src/tables/InvenTreeTable.tsx:445 -#: src/tables/InvenTreeTable.tsx:525 -#: src/tables/plugin/PluginListTable.tsx:402 -#: src/tables/stock/StockItemTestResultTable.tsx:319 -msgid "Error" -msgstr "Erro" - -#: src/components/forms/fields/RelatedModelField.tsx:305 +#: src/components/forms/fields/RelatedModelField.tsx:315 #: src/pages/Index/Settings/UserSettings.tsx:64 #: src/tables/Search.tsx:23 msgid "Search" msgstr "Buscar" -#: src/components/forms/fields/RelatedModelField.tsx:306 +#: src/components/forms/fields/RelatedModelField.tsx:316 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:120 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "Carregando" -#: src/components/forms/fields/RelatedModelField.tsx:308 +#: src/components/forms/fields/RelatedModelField.tsx:318 msgid "No results found" msgstr "Nenhum resultado encontrado" @@ -569,54 +613,51 @@ msgstr "Não há itens disponíveis" msgid "Thumbnail" msgstr "Miniatura" -#: src/components/items/ActionDropdown.tsx:112 -#: src/pages/build/BuildDetail.tsx:354 +#: src/components/items/ActionDropdown.tsx:119 +#: src/pages/build/BuildDetail.tsx:360 msgid "Barcode Actions" msgstr "Ações de código de barras" -#: src/components/items/ActionDropdown.tsx:129 +#: src/components/items/ActionDropdown.tsx:136 msgid "View" msgstr "Visualizar" -#: src/components/items/ActionDropdown.tsx:130 +#: src/components/items/ActionDropdown.tsx:137 msgid "View barcode" msgstr "Ver código de barras" -#: src/components/items/ActionDropdown.tsx:146 +#: src/components/items/ActionDropdown.tsx:153 msgid "Link Barcode" msgstr "Vincular Código de Barras" -#: src/components/items/ActionDropdown.tsx:147 +#: src/components/items/ActionDropdown.tsx:154 msgid "Link custom barcode" msgstr "Vincular código de barras personalizado" -#: src/components/items/ActionDropdown.tsx:163 -#: src/forms/PurchaseOrderForms.tsx:375 +#: src/components/items/ActionDropdown.tsx:170 +#: src/forms/PurchaseOrderForms.tsx:389 msgid "Unlink Barcode" msgstr "Desvincular Código de Barras" -#: src/components/items/ActionDropdown.tsx:164 +#: src/components/items/ActionDropdown.tsx:171 msgid "Unlink custom barcode" msgstr "Desvincular código de barras personalizado" -#: src/components/items/ActionDropdown.tsx:182 +#: src/components/items/ActionDropdown.tsx:189 #: src/tables/RowActions.tsx:51 -#: src/tables/settings/TemplateTable.tsx:87 -#: src/tables/settings/TemplateTable.tsx:150 -#: src/tables/settings/TemplateTable.tsx:287 msgid "Edit" msgstr "Editar" -#: src/components/items/ActionDropdown.tsx:204 +#: src/components/items/ActionDropdown.tsx:211 msgid "Delete item" msgstr "Apagar item" -#: src/components/items/ActionDropdown.tsx:241 +#: src/components/items/ActionDropdown.tsx:248 #: src/tables/RowActions.tsx:31 msgid "Duplicate" msgstr "Duplicar" -#: src/components/items/ActionDropdown.tsx:242 +#: src/components/items/ActionDropdown.tsx:249 msgid "Duplicate item" msgstr "Duplicar item" @@ -625,7 +666,7 @@ msgid "Read More" msgstr "Leia Mais" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:437 +#: src/tables/InvenTreeTable.tsx:443 msgid "Unknown error" msgstr "Erro desconhecido" @@ -785,27 +826,27 @@ msgstr "Erro ao parar" #: src/components/modals/QrCodeModal.tsx:154 #: src/defaults/menuItems.tsx:21 -#: src/pages/Index/Scan.tsx:747 +#: src/pages/Index/Scan.tsx:746 msgid "Scanning" msgstr "Escaneando" #: src/components/modals/QrCodeModal.tsx:154 -#: src/pages/Index/Scan.tsx:747 +#: src/pages/Index/Scan.tsx:746 msgid "Not scanning" msgstr "Não está escaneando" #: src/components/modals/QrCodeModal.tsx:159 -#: src/pages/Index/Scan.tsx:753 +#: src/pages/Index/Scan.tsx:752 msgid "Select Camera" msgstr "Selecionar Camera" #: src/components/modals/QrCodeModal.tsx:169 -#: src/pages/Index/Scan.tsx:738 +#: src/pages/Index/Scan.tsx:737 msgid "Start scanning" msgstr "Começar a escanear" #: src/components/modals/QrCodeModal.tsx:176 -#: src/pages/Index/Scan.tsx:730 +#: src/pages/Index/Scan.tsx:729 msgid "Stop scanning" msgstr "Parar escaneamento" @@ -891,8 +932,8 @@ msgid "Email settings not configured" msgstr "Email não configurado" #: src/components/modals/ServerInfoModal.tsx:121 -#: src/tables/plugin/PluginListTable.tsx:187 -#: src/tables/plugin/PluginListTable.tsx:319 +#: src/tables/plugin/PluginListTable.tsx:144 +#: src/tables/plugin/PluginListTable.tsx:294 msgid "Version" msgstr "Versão" @@ -926,13 +967,13 @@ msgstr "Configurações de conta" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:293 +#: src/pages/Index/Settings/SystemSettings.tsx:294 msgid "System Settings" msgstr "Configurações do Sistema" #: src/components/nav/MainMenu.tsx:67 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:172 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 msgid "Admin Center" msgstr "Centro de Administração" @@ -975,7 +1016,7 @@ msgid "Pages" msgstr "Páginas" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:133 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:153 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "Extensões" @@ -1013,9 +1054,9 @@ msgid "Mark as read" msgstr "Marcar como lido" #: src/components/nav/PartCategoryTree.tsx:158 -#: src/components/render/ModelType.tsx:60 +#: src/components/render/ModelType.tsx:64 #: src/pages/Index/Settings/SystemSettings.tsx:162 -#: src/pages/part/CategoryDetail.tsx:248 +#: src/pages/part/CategoryDetail.tsx:249 msgid "Part Categories" msgstr "Categorias de Peça" @@ -1052,142 +1093,147 @@ msgid "No results available for search query" msgstr "Não há resultados disponíveis para a pesquisa" #: src/components/nav/StockLocationTree.tsx:93 -#: src/components/render/ModelType.tsx:76 -#: src/pages/stock/LocationDetail.tsx:175 +#: src/components/render/ModelType.tsx:82 +#: src/pages/stock/LocationDetail.tsx:185 msgid "Stock Locations" msgstr "Locais de estoque" -#: src/components/render/Instance.tsx:137 +#: src/components/render/Instance.tsx:166 msgid "Unknown model: {model}" msgstr "Modelo desconhecido: {model}" -#: src/components/render/ModelType.tsx:21 -#: src/forms/BuildForms.tsx:184 -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49 +#: src/components/render/ModelType.tsx:22 +#: src/forms/BuildForms.tsx:201 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:83 #: src/pages/part/PartDetail.tsx:828 #: src/tables/part/RelatedPartTable.tsx:45 +#: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" msgstr "Peça" -#: src/components/render/ModelType.tsx:22 +#: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 #: src/pages/Index/Settings/SystemSettings.tsx:167 -#: src/pages/part/CategoryDetail.tsx:109 -#: src/pages/part/CategoryDetail.tsx:234 -#: src/pages/part/CategoryDetail.tsx:264 -#: src/pages/part/PartDetail.tsx:638 +#: src/pages/part/CategoryDetail.tsx:110 +#: src/pages/part/CategoryDetail.tsx:235 +#: src/pages/part/CategoryDetail.tsx:265 +#: src/pages/part/PartDetail.tsx:639 msgid "Parts" msgstr "Peças" -#: src/components/render/ModelType.tsx:29 +#: src/components/render/ModelType.tsx:31 msgid "Part Parameter Template" msgstr "Modelo de Parâmetro de Peça" -#: src/components/render/ModelType.tsx:30 +#: src/components/render/ModelType.tsx:32 msgid "Part Parameter Templates" msgstr "Modelos de Parâmetro de Peça" -#: src/components/render/ModelType.tsx:36 +#: src/components/render/ModelType.tsx:38 msgid "Part Test Template" msgstr "Modelo de Teste de Peça" -#: src/components/render/ModelType.tsx:37 +#: src/components/render/ModelType.tsx:39 msgid "Part Test Templates" msgstr "" -#: src/components/render/ModelType.tsx:43 -#: src/pages/company/SupplierPartDetail.tsx:189 -#: src/pages/company/SupplierPartDetail.tsx:317 -#: src/pages/stock/StockDetail.tsx:159 +#: src/components/render/ModelType.tsx:45 +#: src/pages/company/SupplierPartDetail.tsx:190 +#: src/pages/company/SupplierPartDetail.tsx:318 +#: src/pages/stock/StockDetail.tsx:162 #: src/tables/purchasing/SupplierPartTable.tsx:68 msgid "Supplier Part" msgstr "Fornecedor da Peça" -#: src/components/render/ModelType.tsx:44 +#: src/components/render/ModelType.tsx:46 msgid "Supplier Parts" msgstr "Peças do Fornecedor" -#: src/components/render/ModelType.tsx:51 -#: src/pages/company/ManufacturerPartDetail.tsx:124 +#: src/components/render/ModelType.tsx:54 +#: src/pages/company/ManufacturerPartDetail.tsx:125 msgid "Manufacturer Part" msgstr "Fabricante da peça" -#: src/components/render/ModelType.tsx:52 +#: src/components/render/ModelType.tsx:55 msgid "Manufacturer Parts" msgstr "Peças do Fabricante" -#: src/components/render/ModelType.tsx:59 -#: src/pages/part/CategoryDetail.tsx:287 +#: src/components/render/ModelType.tsx:63 +#: src/pages/part/CategoryDetail.tsx:288 msgid "Part Category" msgstr "Categoria da Peça" -#: src/components/render/ModelType.tsx:67 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67 -#: src/pages/stock/StockDetail.tsx:535 +#: src/components/render/ModelType.tsx:72 +#: src/pages/stock/StockDetail.tsx:548 +#: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" msgstr "Item de estoque" -#: src/components/render/ModelType.tsx:68 -#: src/pages/company/CompanyDetail.tsx:197 -#: src/pages/stock/LocationDetail.tsx:116 -#: src/pages/stock/LocationDetail.tsx:161 +#: src/components/render/ModelType.tsx:73 +#: src/pages/company/CompanyDetail.tsx:199 +#: src/pages/stock/LocationDetail.tsx:118 +#: src/pages/stock/LocationDetail.tsx:171 #: src/pages/stock/LocationDetail.tsx:365 msgid "Stock Items" msgstr "Itens de Estoque" -#: src/components/render/ModelType.tsx:75 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:154 +#: src/components/render/ModelType.tsx:81 msgid "Stock Location" msgstr "Localização do estoque" -#: src/components/render/ModelType.tsx:83 +#: src/components/render/ModelType.tsx:90 +msgid "Stock Location Type" +msgstr "" + +#: src/components/render/ModelType.tsx:91 +msgid "Stock Location Types" +msgstr "" + +#: src/components/render/ModelType.tsx:95 msgid "Stock History" msgstr "Histórico de estoque" -#: src/components/render/ModelType.tsx:84 +#: src/components/render/ModelType.tsx:96 msgid "Stock Histories" msgstr "Históricos de estoque" -#: src/components/render/ModelType.tsx:88 +#: src/components/render/ModelType.tsx:100 #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:43 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:126 msgid "Build" msgstr "Produzir" -#: src/components/render/ModelType.tsx:89 +#: src/components/render/ModelType.tsx:101 msgid "Builds" msgstr "Compilações" -#: src/components/render/ModelType.tsx:96 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:76 +#: src/components/render/ModelType.tsx:109 msgid "Build Line" msgstr "" -#: src/components/render/ModelType.tsx:97 +#: src/components/render/ModelType.tsx:110 msgid "Build Lines" msgstr "" -#: src/components/render/ModelType.tsx:104 -#: src/pages/company/CompanyDetail.tsx:321 +#: src/components/render/ModelType.tsx:117 +#: src/pages/company/CompanyDetail.tsx:323 msgid "Company" msgstr "Empresa" -#: src/components/render/ModelType.tsx:105 +#: src/components/render/ModelType.tsx:118 msgid "Companies" msgstr "Empresas" -#: src/components/render/ModelType.tsx:112 +#: src/components/render/ModelType.tsx:126 #: src/tables/TableHoverCard.tsx:58 #: src/tables/build/BuildOrderTable.tsx:131 #: src/tables/purchasing/PurchaseOrderTable.tsx:64 @@ -1196,170 +1242,199 @@ msgstr "Empresas" msgid "Project Code" msgstr "Código do Projeto" -#: src/components/render/ModelType.tsx:113 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:97 +#: src/components/render/ModelType.tsx:127 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:105 msgid "Project Codes" msgstr "Códigos de Projeto" -#: src/components/render/ModelType.tsx:119 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99 +#: src/components/render/ModelType.tsx:133 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:355 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:362 +#: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" msgstr "Pedido de Compra" -#: src/components/render/ModelType.tsx:120 -#: src/pages/Index/Settings/SystemSettings.tsx:242 -#: src/pages/company/CompanyDetail.tsx:190 -#: src/pages/company/SupplierPartDetail.tsx:223 -#: src/pages/part/PartDetail.tsx:571 +#: src/components/render/ModelType.tsx:134 +#: src/pages/Index/Settings/SystemSettings.tsx:243 +#: src/pages/company/CompanyDetail.tsx:192 +#: src/pages/company/SupplierPartDetail.tsx:224 +#: src/pages/part/PartDetail.tsx:572 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "Pedidos de compra" -#: src/components/render/ModelType.tsx:127 +#: src/components/render/ModelType.tsx:142 msgid "Purchase Order Line" msgstr "Linha do Pedido de Compra" -#: src/components/render/ModelType.tsx:128 +#: src/components/render/ModelType.tsx:143 msgid "Purchase Order Lines" msgstr "Linhas do Pedido de Compra" -#: src/components/render/ModelType.tsx:132 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:108 +#: src/components/render/ModelType.tsx:147 #: src/pages/build/BuildDetail.tsx:131 -#: src/pages/sales/SalesOrderDetail.tsx:340 -#: src/pages/stock/StockDetail.tsx:207 +#: src/pages/sales/SalesOrderDetail.tsx:347 +#: src/pages/stock/StockDetail.tsx:210 +#: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" msgstr "Pedido de Venda" -#: src/components/render/ModelType.tsx:133 -#: src/pages/Index/Settings/SystemSettings.tsx:257 -#: src/pages/company/CompanyDetail.tsx:210 -#: src/pages/part/PartDetail.tsx:577 +#: src/components/render/ModelType.tsx:148 +#: src/pages/Index/Settings/SystemSettings.tsx:258 +#: src/pages/company/CompanyDetail.tsx:212 +#: src/pages/part/PartDetail.tsx:578 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "Pedidos de vendas" -#: src/components/render/ModelType.tsx:140 +#: src/components/render/ModelType.tsx:156 msgid "Sales Order Shipment" msgstr "Envio do Pedido Venda" -#: src/components/render/ModelType.tsx:141 +#: src/components/render/ModelType.tsx:157 msgid "Sales Order Shipments" msgstr "Envios do Pedido Venda" -#: src/components/render/ModelType.tsx:147 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:117 -#: src/pages/sales/ReturnOrderDetail.tsx:318 +#: src/components/render/ModelType.tsx:163 +#: src/pages/sales/ReturnOrderDetail.tsx:325 +#: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "Pedido de Devolução" -#: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:272 -#: src/pages/company/CompanyDetail.tsx:217 +#: src/components/render/ModelType.tsx:164 +#: src/pages/Index/Settings/SystemSettings.tsx:273 +#: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" msgstr "Pedidos de Devolução" -#: src/components/render/ModelType.tsx:155 +#: src/components/render/ModelType.tsx:172 #: src/tables/company/AddressTable.tsx:47 msgid "Address" msgstr "Endereço" -#: src/components/render/ModelType.tsx:156 -#: src/pages/company/CompanyDetail.tsx:247 +#: src/components/render/ModelType.tsx:173 +#: src/pages/company/CompanyDetail.tsx:249 msgid "Addresses" msgstr "Endereços" -#: src/components/render/ModelType.tsx:162 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:189 -#: src/pages/sales/ReturnOrderDetail.tsx:157 -#: src/pages/sales/SalesOrderDetail.tsx:161 +#: src/components/render/ModelType.tsx:179 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:191 +#: src/pages/sales/ReturnOrderDetail.tsx:159 +#: src/pages/sales/SalesOrderDetail.tsx:163 msgid "Contact" msgstr "Contato" -#: src/components/render/ModelType.tsx:163 -#: src/pages/company/CompanyDetail.tsx:241 +#: src/components/render/ModelType.tsx:180 +#: src/pages/company/CompanyDetail.tsx:243 msgid "Contacts" msgstr "Contatos" -#: src/components/render/ModelType.tsx:169 +#: src/components/render/ModelType.tsx:186 msgid "Owner" msgstr "Proprietário" -#: src/components/render/ModelType.tsx:170 +#: src/components/render/ModelType.tsx:187 msgid "Owners" msgstr "Proprietários" -#: src/components/render/ModelType.tsx:176 +#: src/components/render/ModelType.tsx:193 +#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "Usuário" -#: src/components/render/ModelType.tsx:177 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:73 +#: src/components/render/ModelType.tsx:194 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:81 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "Usuários" -#: src/components/render/Order.tsx:87 +#: src/components/render/ModelType.tsx:200 +msgid "Label Template" +msgstr "" + +#: src/components/render/ModelType.tsx:201 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:135 +msgid "Label Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:207 +msgid "Report Template" +msgstr "" + +#: src/components/render/ModelType.tsx:208 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:141 +msgid "Report Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:214 +msgid "Plugin Configuration" +msgstr "" + +#: src/components/render/ModelType.tsx:215 +msgid "Plugin Configurations" +msgstr "" + +#: src/components/render/Order.tsx:104 msgid "Shipment" msgstr "Remessa" -#: src/components/render/Part.tsx:12 +#: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:198 -#: src/pages/part/PartDetail.tsx:491 +#: src/pages/Index/Settings/SystemSettings.tsx:199 +#: src/pages/part/PartDetail.tsx:492 #: src/pages/stock/LocationDetail.tsx:344 -#: src/pages/stock/StockDetail.tsx:344 +#: src/pages/stock/StockDetail.tsx:352 #: src/tables/stock/StockItemTable.tsx:57 msgid "Stock" msgstr "Estoque" -#: src/components/render/Stock.tsx:26 -#: src/pages/stock/StockDetail.tsx:142 -#: src/pages/stock/StockDetail.tsx:501 +#: src/components/render/Stock.tsx:52 +#: src/pages/stock/StockDetail.tsx:145 +#: src/pages/stock/StockDetail.tsx:514 msgid "Serial Number" msgstr "Número de Série" -#: src/components/render/Stock.tsx:28 -#: src/forms/BuildForms.tsx:189 +#: src/components/render/Stock.tsx:54 +#: src/forms/BuildForms.tsx:206 #: src/pages/part/pricing/BomPricingPanel.tsx:144 -#: src/pages/part/pricing/PriceBreakPanel.tsx:96 -#: src/pages/stock/StockDetail.tsx:137 -#: src/pages/stock/StockDetail.tsx:507 +#: src/pages/part/pricing/PriceBreakPanel.tsx:94 +#: src/pages/stock/StockDetail.tsx:140 +#: src/pages/stock/StockDetail.tsx:520 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:73 +#: src/tables/stock/StockTrackingTable.tsx:59 msgid "Quantity" msgstr "Quantidade" -#: src/components/settings/SettingItem.tsx:46 -#: src/components/settings/SettingItem.tsx:99 -msgid "Setting updated" -msgstr "Configurações atualizadas" - #: src/components/settings/SettingItem.tsx:47 #: src/components/settings/SettingItem.tsx:100 -msgid "{0} updated successfully" -msgstr "{0} atualizado com sucesso" +#~ msgid "{0} updated successfully" +#~ msgstr "{0} updated successfully" -#: src/components/settings/SettingItem.tsx:55 -msgid "Error editing setting" -msgstr "Erro ao editar configuração" - -#: src/components/settings/SettingItem.tsx:92 +#: src/components/settings/SettingList.tsx:67 msgid "Edit Setting" msgstr "Editar configurações" -#: src/components/settings/SettingList.tsx:63 -msgid "No settings specified" +#: src/components/settings/SettingList.tsx:78 +#: src/components/settings/SettingList.tsx:108 +msgid "Setting {0} updated successfully" msgstr "" -#: src/components/tables/ColumnRenderers.tsx:134 -#~ msgid "Shipment Date" -#~ msgstr "Shipment Date" +#: src/components/settings/SettingList.tsx:107 +msgid "Setting updated" +msgstr "Configurações atualizadas" + +#: src/components/settings/SettingList.tsx:117 +msgid "Error editing setting" +msgstr "Erro ao editar configuração" + +#: src/components/settings/SettingList.tsx:158 +msgid "No settings specified" +msgstr "" #: src/components/tables/FilterGroup.tsx:29 #~ msgid "Add table filter" @@ -1731,10 +1806,6 @@ msgstr "" #~ msgid "This is a test filter" #~ msgstr "This is a test filter" -#: src/components/tables/stock/StockLocationTable.tsx:91 -#~ msgid "Location Type" -#~ msgstr "Location Type" - #: src/components/tables/stock/StockLocationTable.tsx:145 #~ msgid "Stock location updated" #~ msgstr "Stock location updated" @@ -2072,7 +2143,7 @@ msgstr "Notícias Atuais" #~ msgstr "Local Server" #: src/defaults/links.tsx:11 -#: src/pages/company/CompanyDetail.tsx:90 +#: src/pages/company/CompanyDetail.tsx:92 msgid "Website" msgstr "Página Web" @@ -2087,10 +2158,10 @@ msgstr "Demonstração" #: src/defaults/links.tsx:31 #: src/defaults/menuItems.tsx:48 #: src/pages/company/ManufacturerDetail.tsx:9 -#: src/pages/company/ManufacturerPartDetail.tsx:231 +#: src/pages/company/ManufacturerPartDetail.tsx:235 #: src/pages/company/SupplierDetail.tsx:9 -#: src/pages/company/SupplierPartDetail.tsx:291 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:358 +#: src/pages/company/SupplierPartDetail.tsx:292 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:365 #: src/pages/purchasing/PurchasingIndex.tsx:52 msgid "Purchasing" msgstr "Comprando" @@ -2098,15 +2169,15 @@ msgstr "Comprando" #: src/defaults/links.tsx:32 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:323 +#: src/pages/sales/ReturnOrderDetail.tsx:330 #: src/pages/sales/SalesIndex.tsx:45 -#: src/pages/sales/SalesOrderDetail.tsx:345 +#: src/pages/sales/SalesOrderDetail.tsx:352 msgid "Sales" msgstr "Vendas" #: src/defaults/links.tsx:35 #: src/defaults/menuItems.tsx:71 -#: src/pages/Index/Playground.tsx:239 +#: src/pages/Index/Playground.tsx:238 msgid "Playground" msgstr "Área de testes" @@ -2240,87 +2311,83 @@ msgstr "Visualização para varredura interativa e várias ações." #~ msgstr "Combusken battles with the intensely hot flames it spews" #: src/forms/AttachmentForms.tsx:57 -msgid "Add File" -msgstr "Adicionar Arquivo" +#~ msgid "Add File" +#~ msgstr "Add File" #: src/forms/AttachmentForms.tsx:57 -msgid "Add Link" -msgstr "Adicionar Link" +#~ msgid "Add Link" +#~ msgstr "Add Link" #: src/forms/AttachmentForms.tsx:58 -msgid "File added" -msgstr "Arquivo adicionado" +#~ msgid "File added" +#~ msgstr "File added" #: src/forms/AttachmentForms.tsx:58 -msgid "Link added" -msgstr "Link adicionado" +#~ msgid "Link added" +#~ msgstr "Link added" #: src/forms/AttachmentForms.tsx:99 -msgid "Edit File" -msgstr "Editar Arquivo" +#~ msgid "Edit File" +#~ msgstr "Edit File" #: src/forms/AttachmentForms.tsx:99 -msgid "Edit Link" -msgstr "Editar Link" +#~ msgid "Edit Link" +#~ msgstr "Edit Link" #: src/forms/AttachmentForms.tsx:100 -msgid "File updated" -msgstr "Arquivo atualizado" +#~ msgid "File updated" +#~ msgstr "File updated" #: src/forms/AttachmentForms.tsx:100 -msgid "Link updated" -msgstr "Link atualizado" - -#: src/forms/AttachmentForms.tsx:124 -msgid "Delete Attachment" -msgstr "Excluir Anexo" +#~ msgid "Link updated" +#~ msgstr "Link updated" #: src/forms/AttachmentForms.tsx:125 -msgid "Attachment deleted" -msgstr "Anexo excluído" +#~ msgid "Attachment deleted" +#~ msgstr "Attachment deleted" #: src/forms/AttachmentForms.tsx:128 -msgid "Are you sure you want to delete this attachment?" -msgstr "Tem certeza de que deseja excluir este anexo?" +#~ msgid "Are you sure you want to delete this attachment?" +#~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BuildForms.tsx:129 +#: src/forms/BuildForms.tsx:146 msgid "Next serial number" msgstr "" -#: src/forms/BuildForms.tsx:133 +#: src/forms/BuildForms.tsx:150 msgid "Latest serial number" msgstr "" -#: src/forms/BuildForms.tsx:205 +#: src/forms/BuildForms.tsx:222 msgid "Remove output" msgstr "" -#: src/forms/BuildForms.tsx:287 +#: src/forms/BuildForms.tsx:304 msgid "Complete Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:291 +#: src/forms/BuildForms.tsx:308 msgid "Build outputs have been completed" msgstr "" -#: src/forms/BuildForms.tsx:360 +#: src/forms/BuildForms.tsx:377 msgid "Scrap Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:364 +#: src/forms/BuildForms.tsx:381 msgid "Build outputs have been scrapped" msgstr "" -#: src/forms/BuildForms.tsx:396 -#: src/forms/BuildForms.tsx:420 +#: src/forms/BuildForms.tsx:413 +#: src/forms/BuildForms.tsx:437 msgid "Cancel Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:397 +#: src/forms/BuildForms.tsx:414 msgid "Selected build outputs will be deleted" msgstr "" -#: src/forms/BuildForms.tsx:424 +#: src/forms/BuildForms.tsx:441 msgid "Build outputs have been cancelled" msgstr "" @@ -2344,76 +2411,76 @@ msgstr "Categoria de peça parental" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PurchaseOrderForms.tsx:265 +#: src/forms/PurchaseOrderForms.tsx:279 msgid "Choose Location" msgstr "Escolher local" -#: src/forms/PurchaseOrderForms.tsx:273 +#: src/forms/PurchaseOrderForms.tsx:287 msgid "Item Destination selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:282 +#: src/forms/PurchaseOrderForms.tsx:296 msgid "Part category default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:292 +#: src/forms/PurchaseOrderForms.tsx:306 msgid "Received stock location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:297 +#: src/forms/PurchaseOrderForms.tsx:311 msgid "Default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:308 -#: src/forms/PurchaseOrderForms.tsx:384 +#: src/forms/PurchaseOrderForms.tsx:322 +#: src/forms/PurchaseOrderForms.tsx:398 msgid "Scan Barcode" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:352 +#: src/forms/PurchaseOrderForms.tsx:366 msgid "Set Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:359 +#: src/forms/PurchaseOrderForms.tsx:373 msgid "Assign Batch Code{0}" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:368 +#: src/forms/PurchaseOrderForms.tsx:382 msgid "Change Status" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:393 -#: src/forms/StockForms.tsx:351 +#: src/forms/PurchaseOrderForms.tsx:407 +#: src/forms/StockForms.tsx:392 msgid "Remove item from list" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:418 -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:58 -#: src/pages/stock/StockDetail.tsx:167 -#: src/tables/ColumnRenderers.tsx:42 +#: src/forms/PurchaseOrderForms.tsx:432 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/pages/stock/StockDetail.tsx:170 +#: src/tables/ColumnRenderers.tsx:34 +#: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:434 +#: src/forms/PurchaseOrderForms.tsx:448 msgid "Store at default location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:447 +#: src/forms/PurchaseOrderForms.tsx:461 msgid "Store at line item destination" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:457 +#: src/forms/PurchaseOrderForms.tsx:471 msgid "Store with already received stock" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:613 +#: src/forms/PurchaseOrderForms.tsx:627 msgid "Receive Line Items" msgstr "" @@ -2421,119 +2488,118 @@ msgstr "" #~ msgid "Receive line items" #~ msgstr "Receive line items" -#: src/forms/StockForms.tsx:69 +#: src/forms/StockForms.tsx:101 msgid "Add given quantity as packs instead of individual items" msgstr "Adicionar quantidade dada como pacotes e não itens individuais" -#: src/forms/StockForms.tsx:80 -msgid "Enter initial quantity for this stock item" -msgstr "Inserir quantidade inicial deste item de estoque" - -#: src/forms/StockForms.tsx:85 -msgid "Serial Numbers" -msgstr "Números de Série" - -#: src/forms/StockForms.tsx:86 -msgid "Enter serial numbers for new stock (or leave blank)" -msgstr "Insira o número de série para novo estoque (ou deixe em branco)" - #: src/forms/StockForms.tsx:110 #~ msgid "Create Stock Item" #~ msgstr "Create Stock Item" -#: src/forms/StockForms.tsx:135 -#: src/pages/stock/StockDetail.tsx:367 -#: src/tables/stock/StockItemTable.tsx:382 -#: src/tables/stock/StockItemTable.tsx:499 -msgid "Add Stock Item" -msgstr "Adicionar Item do Estoque" +#: src/forms/StockForms.tsx:114 +msgid "Enter initial quantity for this stock item" +msgstr "Inserir quantidade inicial deste item de estoque" + +#: src/forms/StockForms.tsx:121 +msgid "Serial Numbers" +msgstr "Números de Série" + +#: src/forms/StockForms.tsx:122 +msgid "Enter serial numbers for new stock (or leave blank)" +msgstr "Insira o número de série para novo estoque (ou deixe em branco)" #: src/forms/StockForms.tsx:158 #~ msgid "Stock item updated" #~ msgstr "Stock item updated" -#: src/forms/StockForms.tsx:298 +#: src/forms/StockForms.tsx:176 +#: src/pages/stock/StockDetail.tsx:375 +#: src/tables/stock/StockItemTable.tsx:382 +#: src/tables/stock/StockItemTable.tsx:499 +msgid "Add Stock Item" +msgstr "Adicionar Item do Estoque" + +#: src/forms/StockForms.tsx:339 msgid "Loading..." msgstr "" -#: src/forms/StockForms.tsx:340 +#: src/forms/StockForms.tsx:381 msgid "Move to default location" msgstr "" -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/part/PartDetail.tsx:205 -#: src/pages/part/PartDetail.tsx:654 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/pages/part/PartDetail.tsx:206 +#: src/pages/part/PartDetail.tsx:655 #: src/tables/stock/StockItemTable.tsx:290 msgid "In Stock" msgstr "Em Estoque" -#: src/forms/StockForms.tsx:408 +#: src/forms/StockForms.tsx:449 msgid "Move" msgstr "" -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/tables/RowActions.tsx:147 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/tables/RowActions.tsx:149 msgid "Actions" msgstr "Ações" -#: src/forms/StockForms.tsx:471 -#: src/pages/stock/StockDetail.tsx:440 -#: src/tables/settings/TemplateTable.tsx:266 -#: src/tables/stock/StockItemTestResultTable.tsx:348 +#: src/forms/StockForms.tsx:512 +#: src/pages/stock/StockDetail.tsx:454 +#: src/tables/stock/StockItemTestResultTable.tsx:339 msgid "Add" msgstr "Adicionar" -#: src/forms/StockForms.tsx:499 +#: src/forms/StockForms.tsx:540 #: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:430 +#: src/pages/stock/StockDetail.tsx:444 msgid "Count" msgstr "Contar" -#: src/forms/StockForms.tsx:744 +#: src/forms/StockForms.tsx:785 msgid "Add Stock" msgstr "" -#: src/forms/StockForms.tsx:753 +#: src/forms/StockForms.tsx:794 msgid "Remove Stock" msgstr "" -#: src/forms/StockForms.tsx:762 -#: src/pages/part/PartDetail.tsx:781 +#: src/forms/StockForms.tsx:803 +#: src/pages/part/PartDetail.tsx:782 msgid "Transfer Stock" msgstr "Transferir Estoque" -#: src/forms/StockForms.tsx:771 -#: src/pages/part/PartDetail.tsx:770 +#: src/forms/StockForms.tsx:812 +#: src/pages/part/PartDetail.tsx:771 msgid "Count Stock" msgstr "Contar Estoque" -#: src/forms/StockForms.tsx:780 +#: src/forms/StockForms.tsx:821 msgid "Change Stock Status" msgstr "" -#: src/forms/StockForms.tsx:789 +#: src/forms/StockForms.tsx:830 msgid "Merge Stock" msgstr "" -#: src/forms/StockForms.tsx:808 +#: src/forms/StockForms.tsx:849 msgid "Delete Stock Items" msgstr "" -#: src/forms/StockForms.tsx:815 +#: src/forms/StockForms.tsx:856 msgid "Parent stock location" msgstr "Local de estoque pai" @@ -2728,7 +2794,7 @@ msgstr "Esta página é uma substituição para a página inicial antiga com as msgid "Welcome to your Dashboard{0}" msgstr "Bem-vindo ao seu painel{0}" -#: src/pages/Index/Playground.tsx:244 +#: src/pages/Index/Playground.tsx:243 msgid "This page is a showcase for the possibilities of Platform UI." msgstr "Esta página é uma demonstração para as possibilidades da interface de plataforma." @@ -3138,49 +3204,53 @@ msgstr "Carregador" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:79 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:87 msgid "Background Tasks" msgstr "Tarefas de segundo plano" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:85 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:93 msgid "Error Reports" msgstr "Relatórios de Erro" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:91 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:99 msgid "Currencies" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:109 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:117 msgid "Custom Units" msgstr "Unidades personalizadas" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:115 -#: src/pages/part/CategoryDetail.tsx:254 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:123 +#: src/pages/part/CategoryDetail.tsx:255 msgid "Part Parameters" msgstr "Parâmetros da Peça" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:121 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 +#~ msgid "Templates" +#~ msgstr "Templates" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:129 msgid "Category Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 -msgid "Templates" +#: src/pages/Index/Settings/AdminCenter/Index.tsx:147 +msgid "Location types" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:139 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:159 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:149 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:169 msgid "Quick Actions" msgstr "Ações Rápidas" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:154 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 msgid "Add a new user" msgstr "Adicionar novo usuário" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:173 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:193 msgid "Advanced Options" msgstr "Opções Avançadas" @@ -3225,26 +3295,32 @@ msgstr "" msgid "Plugin Settings" msgstr "Configurações da Extensão" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:25 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:53 +msgid "Background Worker Not Running" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:54 +msgid "The background task manager service is not running. Contact your system administrator." +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:60 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:76 msgid "Pending Tasks" msgstr "Tarefas Pendentes" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:33 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:64 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:84 msgid "Scheduled Tasks" msgstr "Tarefas Agendadas" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:41 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:68 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:92 msgid "Failed Tasks" msgstr "Tarefas com Falhas" -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:139 -msgid "Labels" -msgstr "Etiquetas" - #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:39 -msgid "Label" -msgstr "" +#~ msgid "Label" +#~ msgstr "Label" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67 #~ msgid "Stock item" @@ -3255,13 +3331,13 @@ msgstr "" #~ msgstr "Build line" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:88 -msgid "Reports" -msgstr "" +#~ msgid "Reports" +#~ msgstr "Reports" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:89 #: src/pages/build/BuildDetail.tsx:373 -msgid "Report" -msgstr "Reportar" +#~ msgid "Report" +#~ msgstr "Report" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99 #~ msgid "Purchase order" @@ -3275,14 +3351,9 @@ msgstr "Reportar" #~ msgid "Return order" #~ msgstr "Return order" -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135 -#: src/pages/part/PartDetail.tsx:518 -msgid "Bill of Materials" -msgstr "Lista de Materiais" - #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:145 -msgid "Tests" -msgstr "" +#~ msgid "Tests" +#~ msgstr "Tests" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:154 #~ msgid "Stock location" @@ -3321,26 +3392,30 @@ msgstr "Preços" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" +#: src/pages/Index/Settings/SystemSettings.tsx:139 +msgid "Labels" +msgstr "Etiquetas" + #: src/pages/Index/Settings/SystemSettings.tsx:145 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "Relatórios" -#: src/pages/Index/Settings/SystemSettings.tsx:223 -#: src/pages/part/PartDetail.tsx:589 +#: src/pages/Index/Settings/SystemSettings.tsx:224 +#: src/pages/part/PartDetail.tsx:590 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "Balanço" -#: src/pages/Index/Settings/SystemSettings.tsx:228 -#: src/pages/build/BuildDetail.tsx:426 +#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:525 -#: src/pages/sales/SalesOrderDetail.tsx:263 +#: src/pages/part/PartDetail.tsx:526 +#: src/pages/sales/SalesOrderDetail.tsx:265 msgid "Build Orders" msgstr "Ordens de Produções" -#: src/pages/Index/Settings/SystemSettings.tsx:296 +#: src/pages/Index/Settings/SystemSettings.tsx:297 msgid "Switch to User Setting" msgstr "Mudar para Configuração de Usuário" @@ -3397,44 +3472,47 @@ msgstr "Marcar como não lido" #~ msgstr "Build Status" #: src/pages/build/BuildDetail.tsx:89 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:128 -#: src/pages/sales/ReturnOrderDetail.tsx:95 -#: src/pages/sales/SalesOrderDetail.tsx:99 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:130 +#: src/pages/sales/ReturnOrderDetail.tsx:97 +#: src/pages/sales/SalesOrderDetail.tsx:101 #: src/tables/build/BuildOrderTable.tsx:113 #: src/tables/machine/MachineListTable.tsx:326 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderTable.tsx:46 #: src/tables/sales/SalesOrderTable.tsx:52 #: src/tables/stock/StockItemTable.tsx:259 +#: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "Estado" #: src/pages/build/BuildDetail.tsx:95 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:101 -#: src/pages/sales/ReturnOrderDetail.tsx:69 -#: src/pages/sales/SalesOrderDetail.tsx:73 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:103 +#: src/pages/sales/ReturnOrderDetail.tsx:71 +#: src/pages/sales/SalesOrderDetail.tsx:75 +#: src/tables/ColumnRenderers.tsx:106 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" msgstr "" #: src/pages/build/BuildDetail.tsx:100 -#: src/pages/company/CompanyDetail.tsx:84 -#: src/pages/company/ManufacturerPartDetail.tsx:75 -#: src/pages/company/SupplierPartDetail.tsx:82 -#: src/pages/part/CategoryDetail.tsx:91 -#: src/pages/part/PartDetail.tsx:132 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:122 -#: src/pages/sales/ReturnOrderDetail.tsx:89 -#: src/pages/sales/SalesOrderDetail.tsx:93 -#: src/pages/stock/LocationDetail.tsx:97 -#: src/tables/ColumnRenderers.tsx:95 +#: src/pages/company/CompanyDetail.tsx:86 +#: src/pages/company/ManufacturerPartDetail.tsx:76 +#: src/pages/company/SupplierPartDetail.tsx:83 +#: src/pages/part/CategoryDetail.tsx:92 +#: src/pages/part/PartDetail.tsx:133 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:124 +#: src/pages/sales/ReturnOrderDetail.tsx:91 +#: src/pages/sales/SalesOrderDetail.tsx:95 +#: src/pages/stock/LocationDetail.tsx:99 +#: src/tables/ColumnRenderers.tsx:66 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 #: src/tables/machine/MachineTypeTable.tsx:323 #: src/tables/part/RelatedPartTable.tsx:64 -#: src/tables/plugin/PluginListTable.tsx:172 -#: src/tables/plugin/PluginListTable.tsx:302 +#: src/tables/plugin/PluginListTable.tsx:129 +#: src/tables/plugin/PluginListTable.tsx:276 +#: src/tables/stock/LocationTypesTable.tsx:65 msgid "Description" msgstr "Descrição" @@ -3447,7 +3525,7 @@ msgid "Build Quantity" msgstr "" #: src/pages/build/BuildDetail.tsx:126 -#: src/pages/build/BuildDetail.tsx:249 +#: src/pages/build/BuildDetail.tsx:256 msgid "Completed Outputs" msgstr "Saídas Completas" @@ -3457,10 +3535,10 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:150 -#: src/pages/part/PartDetail.tsx:320 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:214 -#: src/pages/sales/ReturnOrderDetail.tsx:182 -#: src/pages/sales/SalesOrderDetail.tsx:186 +#: src/pages/part/PartDetail.tsx:321 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:184 +#: src/pages/sales/SalesOrderDetail.tsx:188 #: src/tables/build/BuildOrderTable.tsx:148 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 @@ -3474,10 +3552,10 @@ msgid "Created" msgstr "Criado" #: src/pages/build/BuildDetail.tsx:164 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:207 -#: src/pages/sales/ReturnOrderDetail.tsx:175 -#: src/pages/sales/SalesOrderDetail.tsx:179 -#: src/tables/ColumnRenderers.tsx:227 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:209 +#: src/pages/sales/ReturnOrderDetail.tsx:177 +#: src/pages/sales/SalesOrderDetail.tsx:181 +#: src/tables/ColumnRenderers.tsx:191 msgid "Target Date" msgstr "Data Prevista" @@ -3513,6 +3591,11 @@ msgstr "" #~ msgid "Unlink custom barcode from part" #~ msgstr "Unlink custom barcode from part" +#: src/pages/build/BuildDetail.tsx:197 +#: src/pages/stock/StockDetail.tsx:526 +msgid "Batch Code" +msgstr "" + #: src/pages/build/BuildDetail.tsx:202 #~ msgid "Build Order updated" #~ msgstr "Build Order updated" @@ -3521,86 +3604,87 @@ msgstr "" #~ msgid "Edit build order" #~ msgstr "Edit build order" -#: src/pages/build/BuildDetail.tsx:222 -msgid "Build Details" -msgstr "Detalhes da Produção" - #: src/pages/build/BuildDetail.tsx:226 #~ msgid "Duplicate build order" #~ msgstr "Duplicate build order" -#: src/pages/build/BuildDetail.tsx:228 -#: src/tables/build/BuildLineTable.tsx:225 -msgid "Allocate Stock" -msgstr "Alocar Estoque" +#: src/pages/build/BuildDetail.tsx:229 +msgid "Build Details" +msgstr "Detalhes da Produção" #: src/pages/build/BuildDetail.tsx:231 #~ msgid "Delete build order" #~ msgstr "Delete build order" -#: src/pages/build/BuildDetail.tsx:242 +#: src/pages/build/BuildDetail.tsx:235 +#: src/tables/build/BuildLineTable.tsx:225 +msgid "Allocate Stock" +msgstr "Alocar Estoque" + +#: src/pages/build/BuildDetail.tsx:249 msgid "Incomplete Outputs" msgstr "Saídas Incompletas" -#: src/pages/build/BuildDetail.tsx:264 +#: src/pages/build/BuildDetail.tsx:271 msgid "Consumed Stock" msgstr "Estoque Consumido" -#: src/pages/build/BuildDetail.tsx:278 +#: src/pages/build/BuildDetail.tsx:285 msgid "Child Build Orders" msgstr "Pedido de Produção Filhos" -#: src/pages/build/BuildDetail.tsx:288 -#: src/pages/company/CompanyDetail.tsx:253 -#: src/pages/company/ManufacturerPartDetail.tsx:171 -#: src/pages/part/PartDetail.tsx:611 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:276 -#: src/pages/sales/ReturnOrderDetail.tsx:225 -#: src/pages/sales/SalesOrderDetail.tsx:273 -#: src/pages/stock/StockDetail.tsx:317 +#: src/pages/build/BuildDetail.tsx:295 +#: src/pages/company/CompanyDetail.tsx:255 +#: src/pages/company/ManufacturerPartDetail.tsx:172 +#: src/pages/part/PartDetail.tsx:612 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:278 +#: src/pages/sales/ReturnOrderDetail.tsx:227 +#: src/pages/sales/SalesOrderDetail.tsx:275 +#: src/pages/stock/StockDetail.tsx:325 msgid "Attachments" msgstr "Anexos" -#: src/pages/build/BuildDetail.tsx:300 -#: src/pages/company/CompanyDetail.tsx:265 -#: src/pages/part/PartDetail.tsx:623 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:288 -#: src/pages/sales/ReturnOrderDetail.tsx:237 -#: src/pages/sales/SalesOrderDetail.tsx:285 -#: src/pages/stock/StockDetail.tsx:329 +#: src/pages/build/BuildDetail.tsx:307 +#: src/pages/company/CompanyDetail.tsx:267 +#: src/pages/part/PartDetail.tsx:624 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:290 +#: src/pages/sales/ReturnOrderDetail.tsx:239 +#: src/pages/sales/SalesOrderDetail.tsx:287 +#: src/pages/stock/StockDetail.tsx:337 +#: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "Anotações" -#: src/pages/build/BuildDetail.tsx:318 +#: src/pages/build/BuildDetail.tsx:325 msgid "Edit Build Order" msgstr "Editar Pedido de Produção" -#: src/pages/build/BuildDetail.tsx:327 +#: src/pages/build/BuildDetail.tsx:334 msgid "Cancel Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:339 +#: src/pages/build/BuildDetail.tsx:346 #: src/tables/build/BuildOrderTable.tsx:167 #: src/tables/build/BuildOrderTable.tsx:182 msgid "Add Build Order" msgstr "Adicionar Pedido de Produção" #: src/pages/build/BuildDetail.tsx:368 -msgid "Reporting Actions" -msgstr "Ações para Reportar" +#~ msgid "Reporting Actions" +#~ msgstr "Reporting Actions" #: src/pages/build/BuildDetail.tsx:374 -msgid "Print build report" -msgstr "Imprimir relatório de construção" +#~ msgid "Print build report" +#~ msgstr "Print build report" -#: src/pages/build/BuildDetail.tsx:380 +#: src/pages/build/BuildDetail.tsx:378 msgid "Build Order Actions" msgstr "Ações do Pedido de Produção" -#: src/pages/build/BuildDetail.tsx:388 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:326 -#: src/pages/sales/ReturnOrderDetail.tsx:300 -#: src/pages/sales/SalesOrderDetail.tsx:310 +#: src/pages/build/BuildDetail.tsx:386 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:333 +#: src/pages/sales/ReturnOrderDetail.tsx:307 +#: src/pages/sales/SalesOrderDetail.tsx:317 msgid "Cancel order" msgstr "" @@ -3612,56 +3696,58 @@ msgstr "" #~ msgid "New Build Order" #~ msgstr "New Build Order" -#: src/pages/company/CompanyDetail.tsx:98 +#: src/pages/company/CompanyDetail.tsx:100 msgid "Phone Number" msgstr "" -#: src/pages/company/CompanyDetail.tsx:105 +#: src/pages/company/CompanyDetail.tsx:107 msgid "Email Address" msgstr "" -#: src/pages/company/CompanyDetail.tsx:115 +#: src/pages/company/CompanyDetail.tsx:117 msgid "Default Currency" msgstr "" -#: src/pages/company/CompanyDetail.tsx:120 +#: src/pages/company/CompanyDetail.tsx:122 #: src/pages/company/SupplierDetail.tsx:8 -#: src/pages/company/SupplierPartDetail.tsx:106 -#: src/pages/company/SupplierPartDetail.tsx:192 -#: src/pages/company/SupplierPartDetail.tsx:295 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:116 +#: src/pages/company/SupplierPartDetail.tsx:107 +#: src/pages/company/SupplierPartDetail.tsx:193 +#: src/pages/company/SupplierPartDetail.tsx:296 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:118 #: src/tables/company/CompanyTable.tsx:100 #: src/tables/purchasing/PurchaseOrderTable.tsx:88 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:36 msgid "Supplier" msgstr "Fornecedor" -#: src/pages/company/CompanyDetail.tsx:126 +#: src/pages/company/CompanyDetail.tsx:128 #: src/pages/company/ManufacturerDetail.tsx:8 -#: src/pages/company/ManufacturerPartDetail.tsx:93 -#: src/pages/company/ManufacturerPartDetail.tsx:235 -#: src/pages/company/SupplierPartDetail.tsx:121 +#: src/pages/company/ManufacturerPartDetail.tsx:94 +#: src/pages/company/ManufacturerPartDetail.tsx:239 +#: src/pages/company/SupplierPartDetail.tsx:122 #: src/tables/company/CompanyTable.tsx:105 msgid "Manufacturer" msgstr "Fabricante" -#: src/pages/company/CompanyDetail.tsx:132 +#: src/pages/company/CompanyDetail.tsx:134 #: src/pages/company/CustomerDetail.tsx:8 #: src/pages/part/pricing/SaleHistoryPanel.tsx:39 -#: src/pages/sales/ReturnOrderDetail.tsx:83 -#: src/pages/sales/SalesOrderDetail.tsx:87 -#: src/pages/stock/StockDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:85 +#: src/pages/sales/SalesOrderDetail.tsx:89 +#: src/pages/stock/StockDetail.tsx:219 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:107 +#: src/tables/stock/StockTrackingTable.tsx:140 msgid "Customer" msgstr "Cliente" -#: src/pages/company/CompanyDetail.tsx:166 +#: src/pages/company/CompanyDetail.tsx:168 +#: src/tables/stock/StockTrackingTable.tsx:183 msgid "Details" msgstr "Detalhes" -#: src/pages/company/CompanyDetail.tsx:172 +#: src/pages/company/CompanyDetail.tsx:174 msgid "Manufactured Parts" msgstr "Peças Fabricadas" @@ -3669,7 +3755,7 @@ msgstr "Peças Fabricadas" #~ msgid "Edit company" #~ msgstr "Edit company" -#: src/pages/company/CompanyDetail.tsx:181 +#: src/pages/company/CompanyDetail.tsx:183 msgid "Supplied Parts" msgstr "Peças Fornecidas" @@ -3677,289 +3763,289 @@ msgstr "Peças Fornecidas" #~ msgid "Delete company" #~ msgstr "Delete company" -#: src/pages/company/CompanyDetail.tsx:226 +#: src/pages/company/CompanyDetail.tsx:228 msgid "Assigned Stock" msgstr "Estoque Atribuído" -#: src/pages/company/CompanyDetail.tsx:281 +#: src/pages/company/CompanyDetail.tsx:283 #: src/tables/company/CompanyTable.tsx:86 msgid "Edit Company" msgstr "Editar Empresa" -#: src/pages/company/CompanyDetail.tsx:290 +#: src/pages/company/CompanyDetail.tsx:292 msgid "Company Actions" msgstr "Ações da Empresa" -#: src/pages/company/ManufacturerPartDetail.tsx:68 -#: src/pages/company/SupplierPartDetail.tsx:75 +#: src/pages/company/ManufacturerPartDetail.tsx:69 +#: src/pages/company/SupplierPartDetail.tsx:76 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:72 msgid "Internal Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:83 -#: src/pages/company/SupplierPartDetail.tsx:89 +#: src/pages/company/ManufacturerPartDetail.tsx:84 +#: src/pages/company/SupplierPartDetail.tsx:90 msgid "External Link" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:101 -#: src/pages/company/SupplierPartDetail.tsx:130 -#: src/tables/purchasing/ManufacturerPartTable.tsx:53 +#: src/pages/company/ManufacturerPartDetail.tsx:102 +#: src/pages/company/SupplierPartDetail.tsx:131 +#: src/tables/purchasing/ManufacturerPartTable.tsx:56 msgid "Manufacturer Part Number" msgstr "Número de Peça do Fabricante" -#: src/pages/company/ManufacturerPartDetail.tsx:130 +#: src/pages/company/ManufacturerPartDetail.tsx:131 msgid "Manufacturer Details" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:139 +#: src/pages/company/ManufacturerPartDetail.tsx:140 msgid "Manufacturer Part Details" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:145 -#: src/pages/part/PartDetail.tsx:485 +#: src/pages/company/ManufacturerPartDetail.tsx:146 +#: src/pages/part/PartDetail.tsx:486 msgid "Parameters" msgstr "Parâmetros" -#: src/pages/company/ManufacturerPartDetail.tsx:157 -#: src/pages/part/PartDetail.tsx:558 +#: src/pages/company/ManufacturerPartDetail.tsx:158 +#: src/pages/part/PartDetail.tsx:559 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "Fornecedores" -#: src/pages/company/ManufacturerPartDetail.tsx:189 -#: src/tables/purchasing/ManufacturerPartTable.tsx:97 +#: src/pages/company/ManufacturerPartDetail.tsx:190 +#: src/tables/purchasing/ManufacturerPartTable.tsx:84 msgid "Edit Manufacturer Part" msgstr "Editar Peça do Fabricante" -#: src/pages/company/ManufacturerPartDetail.tsx:196 -#: src/tables/purchasing/ManufacturerPartTable.tsx:63 -#: src/tables/purchasing/ManufacturerPartTable.tsx:78 +#: src/pages/company/ManufacturerPartDetail.tsx:197 +#: src/tables/purchasing/ManufacturerPartTable.tsx:72 +#: src/tables/purchasing/ManufacturerPartTable.tsx:103 msgid "Add Manufacturer Part" msgstr "Adicionar Peça do Fabricante" -#: src/pages/company/ManufacturerPartDetail.tsx:209 +#: src/pages/company/ManufacturerPartDetail.tsx:213 msgid "Manufacturer Part Actions" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:247 +#: src/pages/company/ManufacturerPartDetail.tsx:251 msgid "ManufacturerPart" msgstr "Peça do Fabricante" -#: src/pages/company/SupplierPartDetail.tsx:96 -#: src/tables/ColumnRenderers.tsx:146 +#: src/pages/company/SupplierPartDetail.tsx:97 +#: src/tables/ColumnRenderers.tsx:117 msgid "Note" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:114 +#: src/pages/company/SupplierPartDetail.tsx:115 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:57 msgid "SKU" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:142 -#: src/pages/company/SupplierPartDetail.tsx:193 -#: src/pages/stock/StockDetail.tsx:230 +#: src/pages/company/SupplierPartDetail.tsx:143 +#: src/pages/company/SupplierPartDetail.tsx:194 +#: src/pages/stock/StockDetail.tsx:233 msgid "Packaging" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:149 +#: src/pages/company/SupplierPartDetail.tsx:150 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:107 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143 #: src/tables/purchasing/SupplierPartTable.tsx:131 msgid "Pack Quantity" msgstr "Quantidade de embalagens" -#: src/pages/company/SupplierPartDetail.tsx:160 +#: src/pages/company/SupplierPartDetail.tsx:161 msgid "Supplier Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:167 +#: src/pages/company/SupplierPartDetail.tsx:168 msgid "Availability Updated" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:194 +#: src/pages/company/SupplierPartDetail.tsx:195 msgid "Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:203 +#: src/pages/company/SupplierPartDetail.tsx:204 msgid "Supplier Part Details" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:209 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:263 +#: src/pages/company/SupplierPartDetail.tsx:210 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:265 msgid "Received Stock" msgstr "Estoque Recebido" -#: src/pages/company/SupplierPartDetail.tsx:233 +#: src/pages/company/SupplierPartDetail.tsx:234 #: src/pages/part/PartPricingPanel.tsx:115 #: src/pages/part/pricing/PricingOverviewPanel.tsx:130 msgid "Supplier Pricing" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:248 +#: src/pages/company/SupplierPartDetail.tsx:249 msgid "Supplier Part Actions" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:272 +#: src/pages/company/SupplierPartDetail.tsx:273 #: src/tables/purchasing/SupplierPartTable.tsx:210 msgid "Edit Supplier Part" msgstr "Editar Peça do Fornecedor" -#: src/pages/company/SupplierPartDetail.tsx:279 +#: src/pages/company/SupplierPartDetail.tsx:280 #: src/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "Adicionar Peça do Fornecedor" -#: src/pages/part/CategoryDetail.tsx:83 -#: src/pages/stock/LocationDetail.tsx:89 +#: src/pages/part/CategoryDetail.tsx:84 +#: src/pages/stock/LocationDetail.tsx:91 #: src/tables/settings/ErrorTable.tsx:34 msgid "Path" msgstr "Caminho" -#: src/pages/part/CategoryDetail.tsx:99 +#: src/pages/part/CategoryDetail.tsx:100 msgid "Parent Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:116 +#: src/pages/part/CategoryDetail.tsx:117 msgid "Subcategories" msgstr "" -#: src/pages/part/CategoryDetail.tsx:123 -#: src/pages/stock/LocationDetail.tsx:129 -#: src/tables/part/PartCategoryTable.tsx:69 +#: src/pages/part/CategoryDetail.tsx:124 +#: src/pages/stock/LocationDetail.tsx:131 +#: src/tables/part/PartCategoryTable.tsx:65 msgid "Structural" msgstr "Estrutural" -#: src/pages/part/CategoryDetail.tsx:129 +#: src/pages/part/CategoryDetail.tsx:130 msgid "Parent default location" msgstr "" -#: src/pages/part/CategoryDetail.tsx:136 +#: src/pages/part/CategoryDetail.tsx:137 msgid "Default location" msgstr "" -#: src/pages/part/CategoryDetail.tsx:147 +#: src/pages/part/CategoryDetail.tsx:148 msgid "Top level part category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:157 -#: src/pages/part/CategoryDetail.tsx:211 -#: src/tables/part/PartCategoryTable.tsx:96 +#: src/pages/part/CategoryDetail.tsx:158 +#: src/pages/part/CategoryDetail.tsx:212 +#: src/tables/part/PartCategoryTable.tsx:88 msgid "Edit Part Category" msgstr "Editar Categoria da Peça" -#: src/pages/part/CategoryDetail.tsx:170 -#: src/pages/stock/LocationDetail.tsx:213 +#: src/pages/part/CategoryDetail.tsx:171 +#: src/pages/stock/LocationDetail.tsx:223 msgid "Delete items" msgstr "" -#: src/pages/part/CategoryDetail.tsx:178 -#: src/pages/part/CategoryDetail.tsx:216 +#: src/pages/part/CategoryDetail.tsx:179 +#: src/pages/part/CategoryDetail.tsx:217 msgid "Delete Part Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:181 +#: src/pages/part/CategoryDetail.tsx:182 msgid "Parts Action" msgstr "" -#: src/pages/part/CategoryDetail.tsx:182 +#: src/pages/part/CategoryDetail.tsx:183 msgid "Action for parts in this category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:187 +#: src/pages/part/CategoryDetail.tsx:188 msgid "Child Categories Action" msgstr "" -#: src/pages/part/CategoryDetail.tsx:188 +#: src/pages/part/CategoryDetail.tsx:189 msgid "Action for child categories in this category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:206 +#: src/pages/part/CategoryDetail.tsx:207 msgid "Category Actions" msgstr "" -#: src/pages/part/CategoryDetail.tsx:228 +#: src/pages/part/CategoryDetail.tsx:229 msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:138 +#: src/pages/part/PartDetail.tsx:139 msgid "Variant of" msgstr "Variante de" -#: src/pages/part/PartDetail.tsx:145 +#: src/pages/part/PartDetail.tsx:146 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "Categoria" -#: src/pages/part/PartDetail.tsx:151 +#: src/pages/part/PartDetail.tsx:152 msgid "Default Location" msgstr "Local Padrão" -#: src/pages/part/PartDetail.tsx:158 +#: src/pages/part/PartDetail.tsx:159 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:165 +#: src/pages/part/PartDetail.tsx:166 msgid "IPN" msgstr "IPN" -#: src/pages/part/PartDetail.tsx:172 +#: src/pages/part/PartDetail.tsx:173 msgid "Revision" msgstr "Revisão" -#: src/pages/part/PartDetail.tsx:179 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39 +#: src/pages/part/PartDetail.tsx:180 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "Unidades" -#: src/pages/part/PartDetail.tsx:186 +#: src/pages/part/PartDetail.tsx:187 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "Palavras-chave" -#: src/pages/part/PartDetail.tsx:193 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:180 -#: src/pages/sales/ReturnOrderDetail.tsx:148 -#: src/pages/sales/SalesOrderDetail.tsx:152 +#: src/pages/part/PartDetail.tsx:194 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:182 +#: src/pages/sales/ReturnOrderDetail.tsx:150 +#: src/pages/sales/SalesOrderDetail.tsx:154 msgid "Link" msgstr "Link" -#: src/pages/part/PartDetail.tsx:211 -#: src/tables/bom/BomTable.tsx:269 +#: src/pages/part/PartDetail.tsx:212 +#: src/tables/bom/BomTable.tsx:271 #: src/tables/build/BuildLineTable.tsx:121 msgid "Available Stock" msgstr "Estoque Disponível" -#: src/pages/part/PartDetail.tsx:218 +#: src/pages/part/PartDetail.tsx:219 msgid "Minimum Stock" msgstr "Estoque Mínimo" -#: src/pages/part/PartDetail.tsx:224 -#: src/tables/bom/BomTable.tsx:210 +#: src/pages/part/PartDetail.tsx:225 +#: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "No pedido" -#: src/pages/part/PartDetail.tsx:233 +#: src/pages/part/PartDetail.tsx:234 msgid "Allocated to Build Orders" msgstr "Alocado para Pedidos de Construção" -#: src/pages/part/PartDetail.tsx:241 +#: src/pages/part/PartDetail.tsx:242 msgid "Allocated to Sales Orders" msgstr "Alocado para Pedidos de Venda" -#: src/pages/part/PartDetail.tsx:248 -#: src/tables/bom/BomTable.tsx:234 +#: src/pages/part/PartDetail.tsx:249 +#: src/tables/bom/BomTable.tsx:236 msgid "Can Build" msgstr "Pode Produzir" -#: src/pages/part/PartDetail.tsx:255 -#: src/tables/bom/BomTable.tsx:218 +#: src/pages/part/PartDetail.tsx:256 +#: src/tables/bom/BomTable.tsx:220 #: src/tables/part/PartTable.tsx:82 msgid "Building" msgstr "Produzindo" -#: src/pages/part/PartDetail.tsx:264 +#: src/pages/part/PartDetail.tsx:265 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 @@ -3968,45 +4054,47 @@ msgstr "Produzindo" #: src/tables/machine/MachineListTable.tsx:585 #: src/tables/part/PartTable.tsx:168 #: src/tables/part/PartVariantTable.tsx:15 -#: src/tables/plugin/PluginListTable.tsx:190 -#: src/tables/plugin/PluginListTable.tsx:638 +#: src/tables/plugin/PluginListTable.tsx:149 +#: src/tables/plugin/PluginListTable.tsx:271 +#: src/tables/plugin/PluginListTable.tsx:563 #: src/tables/purchasing/SupplierPartTable.tsx:98 #: src/tables/purchasing/SupplierPartTable.tsx:187 #: src/tables/stock/StockItemTable.tsx:254 msgid "Active" msgstr "Ativo" -#: src/pages/part/PartDetail.tsx:269 +#: src/pages/part/PartDetail.tsx:270 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:274 -#: src/tables/bom/BomTable.tsx:264 +#: src/pages/part/PartDetail.tsx:275 +#: src/tables/bom/BomTable.tsx:266 msgid "Assembled Part" msgstr "Peça Montada" -#: src/pages/part/PartDetail.tsx:279 +#: src/pages/part/PartDetail.tsx:280 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:284 -#: src/tables/bom/BomTable.tsx:259 +#: src/pages/part/PartDetail.tsx:285 +#: src/tables/bom/BomTable.tsx:261 msgid "Trackable Part" msgstr "Peça Rastreável" -#: src/pages/part/PartDetail.tsx:289 +#: src/pages/part/PartDetail.tsx:290 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:294 +#: src/pages/part/PartDetail.tsx:295 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:299 +#: src/pages/part/PartDetail.tsx:300 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:307 +#: src/pages/part/PartDetail.tsx:308 +#: src/tables/ColumnRenderers.tsx:199 msgid "Creation Date" msgstr "Criado em" @@ -4014,7 +4102,7 @@ msgstr "Criado em" #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:312 +#: src/pages/part/PartDetail.tsx:313 msgid "Created By" msgstr "" @@ -4022,68 +4110,72 @@ msgstr "" #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:327 -msgid "Default Supplier" -msgstr "Fornecedor Padrão" - #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:338 +#: src/pages/part/PartDetail.tsx:328 +msgid "Default Supplier" +msgstr "Fornecedor Padrão" + +#: src/pages/part/PartDetail.tsx:339 #: src/tables/part/PartTable.tsx:151 msgid "Price Range" msgstr "Faixa de Preço" -#: src/pages/part/PartDetail.tsx:373 -#: src/pages/stock/StockDetail.tsx:127 +#: src/pages/part/PartDetail.tsx:374 +#: src/pages/stock/StockDetail.tsx:130 msgid "Last Stocktake" msgstr "Último Balanço" -#: src/pages/part/PartDetail.tsx:408 +#: src/pages/part/PartDetail.tsx:409 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:479 +#: src/pages/part/PartDetail.tsx:480 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:505 +#: src/pages/part/PartDetail.tsx:506 msgid "Variants" msgstr "Variantes" -#: src/pages/part/PartDetail.tsx:512 -#: src/pages/stock/StockDetail.tsx:275 +#: src/pages/part/PartDetail.tsx:513 +#: src/pages/stock/StockDetail.tsx:283 msgid "Allocations" msgstr "Alocações" -#: src/pages/part/PartDetail.tsx:532 +#: src/pages/part/PartDetail.tsx:519 +msgid "Bill of Materials" +msgstr "Lista de Materiais" + +#: src/pages/part/PartDetail.tsx:533 msgid "Used In" msgstr "Usado em" -#: src/pages/part/PartDetail.tsx:539 +#: src/pages/part/PartDetail.tsx:540 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:545 +#: src/pages/part/PartDetail.tsx:546 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "Fabricantes" -#: src/pages/part/PartDetail.tsx:584 +#: src/pages/part/PartDetail.tsx:585 msgid "Scheduling" msgstr "Agendamento" -#: src/pages/part/PartDetail.tsx:594 +#: src/pages/part/PartDetail.tsx:595 msgid "Test Templates" msgstr "Testar Modelos" -#: src/pages/part/PartDetail.tsx:605 +#: src/pages/part/PartDetail.tsx:606 msgid "Related Parts" msgstr "Peças Relacionadas" -#: src/pages/part/PartDetail.tsx:660 -#: src/pages/stock/StockDetail.tsx:148 +#: src/pages/part/PartDetail.tsx:661 +#: src/pages/stock/StockDetail.tsx:151 #: src/tables/build/BuildLineTable.tsx:36 #: src/tables/part/PartTable.tsx:107 #: src/tables/stock/StockItemTable.tsx:166 @@ -4091,49 +4183,51 @@ msgstr "Peças Relacionadas" msgid "Available" msgstr "Disponível" -#: src/pages/part/PartDetail.tsx:666 +#: src/pages/part/PartDetail.tsx:667 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:672 -#: src/tables/bom/BomTable.tsx:274 +#: src/pages/part/PartDetail.tsx:673 +#: src/tables/bom/BomTable.tsx:276 #: src/tables/part/PartTable.tsx:76 msgid "On Order" msgstr "No pedido" -#: src/pages/part/PartDetail.tsx:678 -#: src/pages/stock/StockDetail.tsx:496 +#: src/pages/part/PartDetail.tsx:679 +#: src/pages/stock/StockDetail.tsx:509 #: src/tables/stock/StockItemTable.tsx:295 msgid "In Production" msgstr "Em Produção" -#: src/pages/part/PartDetail.tsx:697 +#: src/pages/part/PartDetail.tsx:698 msgid "Edit Part" msgstr "Editar Peça" -#: src/pages/part/PartDetail.tsx:704 +#: src/pages/part/PartDetail.tsx:705 #: src/tables/part/PartTable.tsx:266 #: src/tables/part/PartTable.tsx:279 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:716 +#: src/pages/part/PartDetail.tsx:717 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:725 +#: src/pages/part/PartDetail.tsx:726 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:763 +#: src/pages/part/PartDetail.tsx:764 +#: src/pages/stock/LocationDetail.tsx:301 +#: src/tables/stock/StockItemTable.tsx:409 msgid "Stock Actions" msgstr "Ações de Estoque" -#: src/pages/part/PartDetail.tsx:771 +#: src/pages/part/PartDetail.tsx:772 msgid "Count part stock" msgstr "Contagem do estoque" -#: src/pages/part/PartDetail.tsx:782 +#: src/pages/part/PartDetail.tsx:783 msgid "Transfer part stock" msgstr "Transferir estoque de peça" @@ -4199,15 +4293,15 @@ msgstr "Componente" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151 #: src/pages/part/pricing/SupplierPricingPanel.tsx:83 -#: src/tables/bom/BomTable.tsx:149 +#: src/tables/bom/BomTable.tsx:151 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 msgid "Unit Price" msgstr "Preço Unitário" #: src/pages/part/pricing/BomPricingPanel.tsx:173 -#: src/tables/ColumnRenderers.tsx:278 -#: src/tables/bom/BomTable.tsx:158 +#: src/tables/ColumnRenderers.tsx:241 +#: src/tables/bom/BomTable.tsx:160 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 #: src/tables/sales/ReturnOrderTable.tsx:104 #: src/tables/sales/SalesOrderTable.tsx:134 @@ -4229,24 +4323,24 @@ msgid "Bar Chart" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:63 -#: src/pages/part/pricing/PriceBreakPanel.tsx:117 +#: src/pages/part/pricing/PriceBreakPanel.tsx:115 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:138 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:164 msgid "Add Price Break" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:76 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:149 msgid "Edit Price Break" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:86 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:157 msgid "Delete Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:102 -#: src/pages/part/pricing/PriceBreakPanel.tsx:193 +#: src/pages/part/pricing/PriceBreakPanel.tsx:100 +#: src/pages/part/pricing/PriceBreakPanel.tsx:191 msgid "Price Break" msgstr "" @@ -4275,7 +4369,7 @@ msgid "Overall Pricing" msgstr "" #: src/pages/part/pricing/PricingOverviewPanel.tsx:184 -#: src/pages/stock/StockDetail.tsx:121 +#: src/pages/stock/StockDetail.tsx:124 msgid "Last Updated" msgstr "" @@ -4309,9 +4403,8 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50 #: src/pages/part/pricing/SaleHistoryPanel.tsx:46 -#: src/tables/ColumnRenderers.tsx:217 -#: src/tables/plugin/PluginListTable.tsx:182 -#: src/tables/stock/StockItemTestResultTable.tsx:194 +#: src/tables/ColumnRenderers.tsx:180 +#: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "Data" @@ -4338,89 +4431,89 @@ msgstr "" msgid "Variant Part" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:73 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:75 msgid "Edit Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:82 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:84 #: src/tables/purchasing/PurchaseOrderTable.tsx:128 #: src/tables/purchasing/PurchaseOrderTable.tsx:140 msgid "Add Purchase Order" msgstr "Adicionar Ordem de Compra" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:107 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:109 msgid "Supplier Reference" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:137 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:252 -#: src/pages/sales/ReturnOrderDetail.tsx:104 -#: src/pages/sales/ReturnOrderDetail.tsx:220 -#: src/pages/sales/SalesOrderDetail.tsx:108 -#: src/pages/sales/SalesOrderDetail.tsx:248 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:139 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:254 +#: src/pages/sales/ReturnOrderDetail.tsx:106 +#: src/pages/sales/ReturnOrderDetail.tsx:222 +#: src/pages/sales/SalesOrderDetail.tsx:110 +#: src/pages/sales/SalesOrderDetail.tsx:250 msgid "Line Items" msgstr "Itens de linha" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:144 -#: src/pages/sales/ReturnOrderDetail.tsx:111 -#: src/pages/sales/SalesOrderDetail.tsx:115 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:146 +#: src/pages/sales/ReturnOrderDetail.tsx:113 +#: src/pages/sales/SalesOrderDetail.tsx:117 msgid "Completed Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:152 -#: src/pages/sales/ReturnOrderDetail.tsx:119 -#: src/pages/sales/SalesOrderDetail.tsx:123 -#: src/pages/sales/SalesOrderDetail.tsx:258 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:121 +#: src/pages/sales/SalesOrderDetail.tsx:125 +#: src/pages/sales/SalesOrderDetail.tsx:260 msgid "Completed Shipments" msgstr "Envios Concluídos" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:159 -#: src/pages/sales/ReturnOrderDetail.tsx:127 -#: src/pages/sales/SalesOrderDetail.tsx:131 -msgid "Order Currency" -msgstr "" - #: src/pages/purchasing/PurchaseOrderDetail.tsx:159 #: src/pages/sales/ReturnOrderDetail.tsx:126 #: src/pages/sales/SalesOrderDetail.tsx:130 #~ msgid "Order Currency," #~ msgstr "Order Currency," -#: src/pages/purchasing/PurchaseOrderDetail.tsx:166 -#: src/pages/sales/ReturnOrderDetail.tsx:134 -#: src/pages/sales/SalesOrderDetail.tsx:138 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:161 +#: src/pages/sales/ReturnOrderDetail.tsx:129 +#: src/pages/sales/SalesOrderDetail.tsx:133 +msgid "Order Currency" +msgstr "" + +#: src/pages/purchasing/PurchaseOrderDetail.tsx:168 +#: src/pages/sales/ReturnOrderDetail.tsx:136 +#: src/pages/sales/SalesOrderDetail.tsx:140 msgid "Total Cost" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:201 -#: src/pages/sales/ReturnOrderDetail.tsx:169 -#: src/pages/sales/SalesOrderDetail.tsx:173 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:203 +#: src/pages/sales/ReturnOrderDetail.tsx:171 +#: src/pages/sales/SalesOrderDetail.tsx:175 msgid "Created On" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:246 -#: src/pages/sales/ReturnOrderDetail.tsx:214 -#: src/pages/sales/SalesOrderDetail.tsx:242 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:248 +#: src/pages/sales/ReturnOrderDetail.tsx:216 +#: src/pages/sales/SalesOrderDetail.tsx:244 msgid "Order Details" msgstr "Detalhes do pedido" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:316 -#: src/pages/sales/ReturnOrderDetail.tsx:290 -#: src/pages/sales/SalesOrderDetail.tsx:302 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:323 +#: src/pages/sales/ReturnOrderDetail.tsx:297 +#: src/pages/sales/SalesOrderDetail.tsx:309 msgid "Order Actions" msgstr "Ações de Pedido" -#: src/pages/sales/ReturnOrderDetail.tsx:75 -#: src/pages/sales/SalesOrderDetail.tsx:79 +#: src/pages/sales/ReturnOrderDetail.tsx:77 +#: src/pages/sales/SalesOrderDetail.tsx:81 #: src/tables/sales/SalesOrderTable.tsx:123 msgid "Customer Reference" msgstr "Referência do Cliente" -#: src/pages/sales/ReturnOrderDetail.tsx:267 +#: src/pages/sales/ReturnOrderDetail.tsx:269 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:276 +#: src/pages/sales/ReturnOrderDetail.tsx:278 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" @@ -4430,68 +4523,72 @@ msgstr "Adicionar Pedido de Devolução" msgid "Customers" msgstr "Clientes" -#: src/pages/sales/SalesOrderDetail.tsx:219 +#: src/pages/sales/SalesOrderDetail.tsx:221 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:228 +#: src/pages/sales/SalesOrderDetail.tsx:230 #: src/tables/sales/SalesOrderTable.tsx:83 #: src/tables/sales/SalesOrderTable.tsx:95 msgid "Add Sales Order" msgstr "Adicionar Pedido de Vendas" -#: src/pages/sales/SalesOrderDetail.tsx:253 +#: src/pages/sales/SalesOrderDetail.tsx:255 msgid "Pending Shipments" msgstr "Envios Pendentes" -#: src/pages/stock/LocationDetail.tsx:105 +#: src/pages/stock/LocationDetail.tsx:107 msgid "Parent Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:123 +#: src/pages/stock/LocationDetail.tsx:125 msgid "Sublocations" msgstr "" -#: src/pages/stock/LocationDetail.tsx:135 +#: src/pages/stock/LocationDetail.tsx:137 msgid "External" msgstr "" -#: src/pages/stock/LocationDetail.tsx:144 +#: src/pages/stock/LocationDetail.tsx:143 +msgid "Location Type" +msgstr "" + +#: src/pages/stock/LocationDetail.tsx:154 msgid "Top level stock location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:155 +#: src/pages/stock/LocationDetail.tsx:165 msgid "Location Details" msgstr "" -#: src/pages/stock/LocationDetail.tsx:181 +#: src/pages/stock/LocationDetail.tsx:191 msgid "Default Parts" msgstr "" -#: src/pages/stock/LocationDetail.tsx:200 +#: src/pages/stock/LocationDetail.tsx:210 #: src/pages/stock/LocationDetail.tsx:328 -#: src/tables/stock/StockLocationTable.tsx:108 +#: src/tables/stock/StockLocationTable.tsx:100 msgid "Edit Stock Location" msgstr "Editar Local de Estoque" -#: src/pages/stock/LocationDetail.tsx:221 +#: src/pages/stock/LocationDetail.tsx:231 #: src/pages/stock/LocationDetail.tsx:333 msgid "Delete Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:224 +#: src/pages/stock/LocationDetail.tsx:234 msgid "Items Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:225 +#: src/pages/stock/LocationDetail.tsx:235 msgid "Action for stock items in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:230 +#: src/pages/stock/LocationDetail.tsx:240 msgid "Child Locations Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:231 +#: src/pages/stock/LocationDetail.tsx:241 msgid "Action for child locations in this location" msgstr "" @@ -4499,11 +4596,11 @@ msgstr "" msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:100 +#: src/pages/stock/StockDetail.tsx:103 msgid "Base Part" msgstr "Peça base" -#: src/pages/stock/StockDetail.tsx:107 +#: src/pages/stock/StockDetail.tsx:110 msgid "Stock Status" msgstr "" @@ -4515,15 +4612,16 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:174 +#: src/pages/stock/StockDetail.tsx:177 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:190 +#: src/pages/stock/StockDetail.tsx:193 msgid "Consumed By" msgstr "" -#: src/pages/stock/StockDetail.tsx:199 +#: src/pages/stock/StockDetail.tsx:202 +#: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" msgstr "" @@ -4535,78 +4633,78 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:264 +#: src/pages/stock/StockDetail.tsx:267 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:270 +#: src/pages/stock/StockDetail.tsx:273 msgid "Stock Tracking" msgstr "Rastreamento de Estoque" -#: src/pages/stock/StockDetail.tsx:282 +#: src/pages/stock/StockDetail.tsx:290 msgid "Test Data" msgstr "Dados de Teste" -#: src/pages/stock/StockDetail.tsx:296 +#: src/pages/stock/StockDetail.tsx:304 msgid "Installed Items" msgstr "Itens Instalados" -#: src/pages/stock/StockDetail.tsx:303 +#: src/pages/stock/StockDetail.tsx:311 msgid "Child Items" msgstr "Itens Filhos" -#: src/pages/stock/StockDetail.tsx:358 +#: src/pages/stock/StockDetail.tsx:366 msgid "Edit Stock Item" msgstr "Editar Item do Estoque" -#: src/pages/stock/StockDetail.tsx:385 +#: src/pages/stock/StockDetail.tsx:393 msgid "Delete Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:426 -msgid "Stock Operations" -msgstr "Operações de Estoque" - -#: src/pages/stock/StockDetail.tsx:431 -msgid "Count stock" -msgstr "Contagem de estoque" - #: src/pages/stock/StockDetail.tsx:433 #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:441 +#: src/pages/stock/StockDetail.tsx:440 +msgid "Stock Operations" +msgstr "Operações de Estoque" + +#: src/pages/stock/StockDetail.tsx:445 +msgid "Count stock" +msgstr "Contagem de estoque" + +#: src/pages/stock/StockDetail.tsx:455 #: src/tables/stock/StockItemTable.tsx:414 msgid "Add stock" msgstr "Adicionar estoque" -#: src/pages/stock/StockDetail.tsx:449 +#: src/pages/stock/StockDetail.tsx:463 #: src/tables/stock/StockItemTable.tsx:423 msgid "Remove stock" msgstr "Remover estoque" -#: src/pages/stock/StockDetail.tsx:456 +#: src/pages/stock/StockDetail.tsx:470 msgid "Transfer" msgstr "Transferir" -#: src/pages/stock/StockDetail.tsx:457 +#: src/pages/stock/StockDetail.tsx:471 #: src/tables/stock/StockItemTable.tsx:443 msgid "Transfer stock" msgstr "Transferir estoque" -#: src/pages/stock/StockDetail.tsx:469 +#: src/pages/stock/StockDetail.tsx:482 msgid "Stock Item Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:513 -msgid "Batch Code" -msgstr "" - -#: src/tables/ColumnRenderers.tsx:50 +#: src/tables/ColumnRenderers.tsx:42 msgid "No location set" msgstr "" -#: src/tables/ColumnRenderers.tsx:264 +#: src/tables/ColumnRenderers.tsx:207 +msgid "Shipment Date" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:227 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "Moeda" @@ -4616,21 +4714,33 @@ msgstr "Moeda" msgid "Select Columns" msgstr "Selecionar Colunas" -#: src/tables/DownloadAction.tsx:11 +#: src/tables/DownloadAction.tsx:13 +#~ msgid "Excel" +#~ msgstr "Excel" + +#: src/tables/DownloadAction.tsx:21 +#~ msgid "Download selected data" +#~ msgstr "Download selected data" + +#: src/tables/DownloadAction.tsx:22 msgid "CSV" msgstr "CSV" -#: src/tables/DownloadAction.tsx:12 +#: src/tables/DownloadAction.tsx:23 msgid "TSV" msgstr "TSV" -#: src/tables/DownloadAction.tsx:13 -msgid "Excel" -msgstr "Excel" +#: src/tables/DownloadAction.tsx:24 +msgid "Excel (.xls)" +msgstr "" -#: src/tables/DownloadAction.tsx:21 -msgid "Download selected data" -msgstr "Baixar os dados selecionados" +#: src/tables/DownloadAction.tsx:25 +msgid "Excel (.xlsx)" +msgstr "" + +#: src/tables/DownloadAction.tsx:39 +msgid "Download Data" +msgstr "" #: src/tables/Filter.tsx:88 #: src/tables/build/BuildOrderTable.tsx:126 @@ -4663,102 +4773,102 @@ msgstr "Mostrar pedidos atrasados" msgid "Remove filter" msgstr "Remover filtro" -#: src/tables/FilterSelectDrawer.tsx:147 +#: src/tables/FilterSelectDrawer.tsx:136 msgid "Select filter" msgstr "Selecionar filtro" -#: src/tables/FilterSelectDrawer.tsx:148 +#: src/tables/FilterSelectDrawer.tsx:137 msgid "Filter" msgstr "Filtro" -#: src/tables/FilterSelectDrawer.tsx:155 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:33 -#: src/tables/stock/StockItemTestResultTable.tsx:182 +#: src/tables/FilterSelectDrawer.tsx:144 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 +#: src/tables/stock/StockItemTestResultTable.tsx:180 msgid "Value" msgstr "Valor" -#: src/tables/FilterSelectDrawer.tsx:156 +#: src/tables/FilterSelectDrawer.tsx:145 msgid "Select filter value" msgstr "Selecionar valor do filtro" -#: src/tables/FilterSelectDrawer.tsx:196 +#: src/tables/FilterSelectDrawer.tsx:185 msgid "Table Filters" msgstr "Filtros da Tabela" -#: src/tables/FilterSelectDrawer.tsx:228 +#: src/tables/FilterSelectDrawer.tsx:217 msgid "Add Filter" msgstr "Adicionar Filtro" -#: src/tables/FilterSelectDrawer.tsx:237 +#: src/tables/FilterSelectDrawer.tsx:226 msgid "Clear Filters" msgstr "Limpar Filtros" -#: src/tables/InvenTreeTable.tsx:118 -#: src/tables/InvenTreeTable.tsx:384 -#: src/tables/InvenTreeTable.tsx:405 +#: src/tables/InvenTreeTable.tsx:119 +#: src/tables/InvenTreeTable.tsx:390 +#: src/tables/InvenTreeTable.tsx:411 msgid "No records found" msgstr "Nenhum registro encontrado" -#: src/tables/InvenTreeTable.tsx:416 +#: src/tables/InvenTreeTable.tsx:422 msgid "Server returned incorrect data type" msgstr "O servidor retornou um tipo de dado incorreto" -#: src/tables/InvenTreeTable.tsx:424 +#: src/tables/InvenTreeTable.tsx:430 msgid "Bad request" msgstr "Requisição inválida" -#: src/tables/InvenTreeTable.tsx:427 +#: src/tables/InvenTreeTable.tsx:433 msgid "Unauthorized" msgstr "Não autorizado" -#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:436 msgid "Forbidden" msgstr "Proibido" -#: src/tables/InvenTreeTable.tsx:433 +#: src/tables/InvenTreeTable.tsx:439 msgid "Not found" msgstr "Não encontrado" -#: src/tables/InvenTreeTable.tsx:482 -#: src/tables/InvenTreeTable.tsx:604 +#: src/tables/InvenTreeTable.tsx:488 +#: src/tables/InvenTreeTable.tsx:611 msgid "Delete selected records" msgstr "Remover registros selecionados" -#: src/tables/InvenTreeTable.tsx:486 +#: src/tables/InvenTreeTable.tsx:492 msgid "Are you sure you want to delete the selected records?" msgstr "Tem certeza que deseja apagar os registros selecionados?" -#: src/tables/InvenTreeTable.tsx:488 +#: src/tables/InvenTreeTable.tsx:494 msgid "This action cannot be undone!" msgstr "Essa ação não pode ser desfeita!" -#: src/tables/InvenTreeTable.tsx:516 +#: src/tables/InvenTreeTable.tsx:522 msgid "Deleted records" msgstr "Registos removidos" -#: src/tables/InvenTreeTable.tsx:517 +#: src/tables/InvenTreeTable.tsx:523 msgid "Records were deleted successfully" msgstr "Registros foram removidos com sucesso" -#: src/tables/InvenTreeTable.tsx:526 +#: src/tables/InvenTreeTable.tsx:532 msgid "Failed to delete records" msgstr "Falha ao remover registros" -#: src/tables/InvenTreeTable.tsx:585 -#: src/tables/InvenTreeTable.tsx:586 +#: src/tables/InvenTreeTable.tsx:594 +#: src/tables/InvenTreeTable.tsx:595 +#~ msgid "Print actions" +#~ msgstr "Print actions" + +#: src/tables/InvenTreeTable.tsx:601 +#: src/tables/InvenTreeTable.tsx:602 msgid "Barcode actions" msgstr "Ações de código de barras" -#: src/tables/InvenTreeTable.tsx:594 -#: src/tables/InvenTreeTable.tsx:595 -msgid "Print actions" -msgstr "Ações de impressão" - -#: src/tables/InvenTreeTable.tsx:620 +#: src/tables/InvenTreeTable.tsx:630 msgid "Refresh data" msgstr "Atualizar dados" -#: src/tables/InvenTreeTable.tsx:638 +#: src/tables/InvenTreeTable.tsx:648 msgid "Table filters" msgstr "Filtros da Tabela" @@ -4770,138 +4880,138 @@ msgstr "Este item da BOM é definido para um pai diferente" msgid "Part Information" msgstr "Informação da Peça" -#: src/tables/bom/BomTable.tsx:177 +#: src/tables/bom/BomTable.tsx:179 #: src/tables/part/PartTable.tsx:124 msgid "No stock" msgstr "Sem Estoque" -#: src/tables/bom/BomTable.tsx:185 +#: src/tables/bom/BomTable.tsx:187 #: src/tables/build/BuildLineTable.tsx:104 #: src/tables/part/PartTable.tsx:115 msgid "External stock" msgstr "" -#: src/tables/bom/BomTable.tsx:193 +#: src/tables/bom/BomTable.tsx:195 #: src/tables/build/BuildLineTable.tsx:67 msgid "Includes substitute stock" msgstr "Incluir estoque de substitutos" -#: src/tables/bom/BomTable.tsx:202 +#: src/tables/bom/BomTable.tsx:204 #: src/tables/build/BuildLineTable.tsx:77 msgid "Includes variant stock" msgstr "Incluir estoque de variantes" -#: src/tables/bom/BomTable.tsx:227 +#: src/tables/bom/BomTable.tsx:229 #: src/tables/part/PartTable.tsx:143 #: src/tables/stock/StockItemTable.tsx:205 msgid "Stock Information" msgstr "Informação do Estoque" -#: src/tables/bom/BomTable.tsx:239 +#: src/tables/bom/BomTable.tsx:241 #: src/tables/build/BuildLineTable.tsx:195 msgid "Consumable item" msgstr "Item Consumível" -#: src/tables/bom/BomTable.tsx:260 +#: src/tables/bom/BomTable.tsx:262 msgid "Show trackable items" msgstr "Mostrar itens rastreáveis" -#: src/tables/bom/BomTable.tsx:265 +#: src/tables/bom/BomTable.tsx:267 msgid "Show asssmbled items" msgstr "Exibir itens montados" -#: src/tables/bom/BomTable.tsx:270 +#: src/tables/bom/BomTable.tsx:272 msgid "Show items with available stock" msgstr "Mostrar itens com estoque disponível" -#: src/tables/bom/BomTable.tsx:275 +#: src/tables/bom/BomTable.tsx:277 msgid "Show items on order" msgstr "Mostrar itens no pedido" -#: src/tables/bom/BomTable.tsx:279 +#: src/tables/bom/BomTable.tsx:281 msgid "Validated" msgstr "" -#: src/tables/bom/BomTable.tsx:280 +#: src/tables/bom/BomTable.tsx:282 msgid "Show validated items" msgstr "Mostrar itens validados" -#: src/tables/bom/BomTable.tsx:284 +#: src/tables/bom/BomTable.tsx:286 #: src/tables/bom/UsedInTable.tsx:63 msgid "Inherited" msgstr "" -#: src/tables/bom/BomTable.tsx:285 +#: src/tables/bom/BomTable.tsx:287 #: src/tables/bom/UsedInTable.tsx:64 msgid "Show inherited items" msgstr "Mostrar itens herdados" -#: src/tables/bom/BomTable.tsx:289 +#: src/tables/bom/BomTable.tsx:291 #: src/tables/bom/UsedInTable.tsx:68 #: src/tables/build/BuildLineTable.tsx:46 msgid "Optional" msgstr "Opcional" -#: src/tables/bom/BomTable.tsx:290 +#: src/tables/bom/BomTable.tsx:292 #: src/tables/bom/UsedInTable.tsx:69 msgid "Show optional items" msgstr "Mostrar itens opcionais" -#: src/tables/bom/BomTable.tsx:294 +#: src/tables/bom/BomTable.tsx:296 #: src/tables/build/BuildLineTable.tsx:41 msgid "Consumable" msgstr "Consumível" -#: src/tables/bom/BomTable.tsx:295 +#: src/tables/bom/BomTable.tsx:297 msgid "Show consumable items" msgstr "Mostrar itens consumíveis" -#: src/tables/bom/BomTable.tsx:299 +#: src/tables/bom/BomTable.tsx:301 msgid "Has Pricing" msgstr "Tem Preço" -#: src/tables/bom/BomTable.tsx:300 -msgid "Show items with pricing" -msgstr "Exibir itens com preço" - #: src/tables/bom/BomTable.tsx:301 #~ msgid "Create BOM Item" #~ msgstr "Create BOM Item" -#: src/tables/bom/BomTable.tsx:309 -#: src/tables/bom/BomTable.tsx:397 +#: src/tables/bom/BomTable.tsx:302 +msgid "Show items with pricing" +msgstr "Exibir itens com preço" + +#: src/tables/bom/BomTable.tsx:311 +#: src/tables/bom/BomTable.tsx:399 msgid "Add BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:314 +#: src/tables/bom/BomTable.tsx:316 msgid "BOM item created" msgstr "" -#: src/tables/bom/BomTable.tsx:321 +#: src/tables/bom/BomTable.tsx:323 msgid "Edit BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:323 +#: src/tables/bom/BomTable.tsx:325 msgid "BOM item updated" msgstr "" -#: src/tables/bom/BomTable.tsx:330 -msgid "Delete BOM Item" -msgstr "" - -#: src/tables/bom/BomTable.tsx:331 -msgid "BOM item deleted" -msgstr "" - #: src/tables/bom/BomTable.tsx:331 #~ msgid "Edit Bom Item" #~ msgstr "Edit Bom Item" +#: src/tables/bom/BomTable.tsx:332 +msgid "Delete BOM Item" +msgstr "" + +#: src/tables/bom/BomTable.tsx:333 +msgid "BOM item deleted" +msgstr "" + #: src/tables/bom/BomTable.tsx:333 #~ msgid "Bom item updated" #~ msgstr "Bom item updated" -#: src/tables/bom/BomTable.tsx:341 +#: src/tables/bom/BomTable.tsx:343 msgid "View BOM" msgstr "Ver BOM" @@ -4917,11 +5027,11 @@ msgstr "Ver BOM" #~ msgid "Are you sure you want to remove this BOM item?" #~ msgstr "Are you sure you want to remove this BOM item?" -#: src/tables/bom/BomTable.tsx:352 +#: src/tables/bom/BomTable.tsx:354 msgid "Validate BOM line" msgstr "Validar linha da BOM" -#: src/tables/bom/BomTable.tsx:360 +#: src/tables/bom/BomTable.tsx:362 msgid "Edit Substitutes" msgstr "Editar substitutos" @@ -5038,11 +5148,11 @@ msgid "Filter by responsible owner" msgstr "" #: src/tables/build/BuildOutputTable.tsx:114 -#: src/tables/build/BuildOutputTable.tsx:150 +#: src/tables/build/BuildOutputTable.tsx:152 msgid "Add Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:155 +#: src/tables/build/BuildOutputTable.tsx:157 msgid "Complete selected outputs" msgstr "" @@ -5050,68 +5160,68 @@ msgstr "" #~ msgid "Delete build output" #~ msgstr "Delete build output" -#: src/tables/build/BuildOutputTable.tsx:165 +#: src/tables/build/BuildOutputTable.tsx:167 msgid "Scrap selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:175 +#: src/tables/build/BuildOutputTable.tsx:177 msgid "Cancel selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:191 +#: src/tables/build/BuildOutputTable.tsx:193 msgid "Allocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:192 +#: src/tables/build/BuildOutputTable.tsx:194 msgid "Allocate stock to build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:197 +#: src/tables/build/BuildOutputTable.tsx:199 msgid "Deallocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:198 +#: src/tables/build/BuildOutputTable.tsx:200 msgid "Deallocate stock from build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:203 +#: src/tables/build/BuildOutputTable.tsx:205 msgid "Complete" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:204 +#: src/tables/build/BuildOutputTable.tsx:206 msgid "Complete build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:213 +#: src/tables/build/BuildOutputTable.tsx:215 msgid "Scrap" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:214 +#: src/tables/build/BuildOutputTable.tsx:216 msgid "Scrap build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:224 +#: src/tables/build/BuildOutputTable.tsx:226 msgid "Cancel build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:251 +#: src/tables/build/BuildOutputTable.tsx:253 msgid "Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:264 +#: src/tables/build/BuildOutputTable.tsx:266 msgid "Batch" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:278 +#: src/tables/build/BuildOutputTable.tsx:280 msgid "Allocated Items" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:288 +#: src/tables/build/BuildOutputTable.tsx:290 msgid "Required Tests" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:317 -#: src/tables/stock/StockItemTestResultTable.tsx:146 +#: src/tables/build/BuildOutputTable.tsx:319 +#: src/tables/stock/StockItemTestResultTable.tsx:144 msgid "Test Results" msgstr "" @@ -5132,7 +5242,7 @@ msgstr "Editar o Endereço" msgid "Delete Address" msgstr "Excluir Endereço" -#: src/tables/company/AddressTable.tsx:145 +#: src/tables/company/AddressTable.tsx:144 msgid "Are you sure you want to delete this address?" msgstr "Tem a certeza de que quer apagar esta endereço?" @@ -5177,37 +5287,53 @@ msgstr "Excluir Contato" msgid "Add contact" msgstr "Adicionar contato" -#: src/tables/general/AttachmentTable.tsx:161 +#: src/tables/general/AttachmentTable.tsx:130 msgid "File uploaded" msgstr "Arquivo enviado" -#: src/tables/general/AttachmentTable.tsx:162 +#: src/tables/general/AttachmentTable.tsx:131 msgid "File {0} uploaded successfully" msgstr "Arquivo {0} carregado com sucesso" -#: src/tables/general/AttachmentTable.tsx:173 +#: src/tables/general/AttachmentTable.tsx:142 msgid "Upload Error" msgstr "Erro no carregamento" -#: src/tables/general/AttachmentTable.tsx:174 +#: src/tables/general/AttachmentTable.tsx:143 msgid "File could not be uploaded" msgstr "Arquivo não pode ser carregado" #: src/tables/general/AttachmentTable.tsx:187 +msgid "Upload Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:197 +msgid "Edit Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:211 +msgid "Delete Attachment" +msgstr "Excluir Anexo" + +#: src/tables/general/AttachmentTable.tsx:221 msgid "Add attachment" msgstr "Adicionar anexo" -#: src/tables/general/AttachmentTable.tsx:207 +#: src/tables/general/AttachmentTable.tsx:232 msgid "Add external link" msgstr "Adicionar um link externo" -#: src/tables/general/AttachmentTable.tsx:239 +#: src/tables/general/AttachmentTable.tsx:254 +#~ msgid "Upload attachment" +#~ msgstr "Upload attachment" + +#: src/tables/general/AttachmentTable.tsx:289 msgid "No attachments found" msgstr "Nenhum anexo encontrado" -#: src/tables/general/AttachmentTable.tsx:254 -msgid "Upload attachment" -msgstr "Carregar anexo" +#: src/tables/general/AttachmentTable.tsx:325 +msgid "Drag attachment file here to upload" +msgstr "" #: src/tables/machine/MachineListTable.tsx:199 msgid "Machine restarted" @@ -5332,8 +5458,8 @@ msgstr "" #: src/tables/machine/MachineTypeTable.tsx:135 #: src/tables/machine/MachineTypeTable.tsx:255 -#: src/tables/plugin/PluginListTable.tsx:215 -#: src/tables/plugin/PluginListTable.tsx:643 +#: src/tables/plugin/PluginListTable.tsx:180 +#: src/tables/plugin/PluginListTable.tsx:568 msgid "Builtin" msgstr "Embutido" @@ -5375,7 +5501,7 @@ msgid "Message" msgstr "Mensagem" #: src/tables/part/ParametricPartTable.tsx:75 -#: src/tables/part/PartParameterTable.tsx:87 +#: src/tables/part/PartParameterTable.tsx:88 msgid "Internal Units" msgstr "" @@ -5388,29 +5514,29 @@ msgid "Add Part Parameter" msgstr "" #: src/tables/part/ParametricPartTable.tsx:147 -#: src/tables/part/PartParameterTable.tsx:128 -#: src/tables/part/PartParameterTable.tsx:150 +#: src/tables/part/PartParameterTable.tsx:121 +#: src/tables/part/PartParameterTable.tsx:144 msgid "Edit Part Parameter" msgstr "Editar Parâmetro da Peça" -#: src/tables/part/PartCategoryTable.tsx:64 +#: src/tables/part/PartCategoryTable.tsx:60 #: src/tables/part/PartTable.tsx:180 msgid "Include Subcategories" msgstr "Incluir Subcategorias" -#: src/tables/part/PartCategoryTable.tsx:65 +#: src/tables/part/PartCategoryTable.tsx:61 msgid "Include subcategories in results" msgstr "Incluir subcategorias nos resultados" -#: src/tables/part/PartCategoryTable.tsx:70 +#: src/tables/part/PartCategoryTable.tsx:66 msgid "Show structural categories" msgstr "Mostrar categorias estruturais" -#: src/tables/part/PartCategoryTable.tsx:77 +#: src/tables/part/PartCategoryTable.tsx:73 msgid "New Part Category" msgstr "Nova Categoria de Peça" -#: src/tables/part/PartCategoryTable.tsx:106 +#: src/tables/part/PartCategoryTable.tsx:98 msgid "Add Part Category" msgstr "Adicionar Categoria de Peça" @@ -5435,20 +5561,20 @@ msgstr "" #~ msgid "[{0}]" #~ msgstr "[{0}]" -#: src/tables/part/PartParameterTable.tsx:112 +#: src/tables/part/PartParameterTable.tsx:105 msgid "New Part Parameter" msgstr "Novo Parâmetro de Peça" -#: src/tables/part/PartParameterTable.tsx:136 -#: src/tables/part/PartParameterTable.tsx:158 +#: src/tables/part/PartParameterTable.tsx:130 +#: src/tables/part/PartParameterTable.tsx:152 msgid "Delete Part Parameter" msgstr "Apagar Parâmetro da Peça" -#: src/tables/part/PartParameterTable.tsx:175 +#: src/tables/part/PartParameterTable.tsx:170 msgid "Add parameter" msgstr "Adiciona parâmetro" -#: src/tables/part/PartParameterTable.tsx:196 +#: src/tables/part/PartParameterTable.tsx:191 #: src/tables/stock/StockItemTable.tsx:300 msgid "Include Variants" msgstr "Incluir Variantes" @@ -5482,15 +5608,15 @@ msgstr "Mostrar modelos com unidades" msgid "Add Parameter Template" msgstr "Adicionar Modelo de Parâmetro" -#: src/tables/part/PartParameterTemplateTable.tsx:97 +#: src/tables/part/PartParameterTemplateTable.tsx:100 msgid "Edit Parameter Template" msgstr "Edital Modelo de Parâmetro" -#: src/tables/part/PartParameterTemplateTable.tsx:105 +#: src/tables/part/PartParameterTemplateTable.tsx:111 msgid "Delete Parameter Template" msgstr "Excluir Modelo de Parâmetro" -#: src/tables/part/PartParameterTemplateTable.tsx:135 +#: src/tables/part/PartParameterTemplateTable.tsx:141 msgid "Add parameter template" msgstr "Adicionar modelo de parâmetro" @@ -5588,7 +5714,7 @@ msgid "No Results" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:79 -#: src/tables/stock/StockItemTestResultTable.tsx:385 +#: src/tables/stock/StockItemTestResultTable.tsx:376 msgid "Required" msgstr "" @@ -5597,8 +5723,8 @@ msgid "Show required tests" msgstr "Mostrar testes necessários" #: src/tables/part/PartTestTemplateTable.tsx:84 -#: src/tables/settings/TemplateTable.tsx:213 -#: src/tables/settings/TemplateTable.tsx:275 +#: src/tables/settings/TemplateTable.tsx:160 +#: src/tables/settings/TemplateTable.tsx:270 msgid "Enabled" msgstr "" @@ -5639,26 +5765,30 @@ msgid "Show tests which have recorded results" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:126 -#: src/tables/part/PartTestTemplateTable.tsx:195 +#: src/tables/part/PartTestTemplateTable.tsx:201 msgid "Add Test Template" msgstr "Adicionar Modelo de Teste" -#: src/tables/part/PartTestTemplateTable.tsx:139 +#: src/tables/part/PartTestTemplateTable.tsx:142 msgid "Edit Test Template" msgstr "Editar Modelo de Teste" -#: src/tables/part/PartTestTemplateTable.tsx:147 +#: src/tables/part/PartTestTemplateTable.tsx:153 msgid "Delete Test Template" msgstr "Excluir Modelo de Teste" -#: src/tables/part/PartTestTemplateTable.tsx:149 +#: src/tables/part/PartTestTemplateTable.tsx:155 msgid "This action cannot be reversed" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:151 +#: src/tables/part/PartTestTemplateTable.tsx:157 msgid "Any tests results associated with this template will be deleted" msgstr "" +#: src/tables/part/PartThumbTable.tsx:203 +msgid "Select" +msgstr "Selecionar" + #: src/tables/part/PartVariantTable.tsx:16 msgid "Show active variants" msgstr "Mostrar variantes ativos" @@ -5695,252 +5825,273 @@ msgstr "Adicionar peça relacionada" msgid "Stage" msgstr "Fase" -#: src/tables/plugin/PluginListTable.tsx:113 -msgid "Plugin with id {id} not found" -msgstr "Plugin com o id {id} não encontrado" +#: src/tables/plugin/PluginListTable.tsx:95 +msgid "Plugin with key {pluginKey} not found" +msgstr "" -#: src/tables/plugin/PluginListTable.tsx:115 +#: src/tables/plugin/PluginListTable.tsx:97 msgid "An error occurred while fetching plugin details" msgstr "Ocorreu um erro ao obter os detalhes do plugin" -#: src/tables/plugin/PluginListTable.tsx:134 -msgid "Plugin Actions" -msgstr "Ações do Plugin" +#: src/tables/plugin/PluginListTable.tsx:113 +#~ msgid "Plugin with id {id} not found" +#~ msgstr "Plugin with id {id} not found" -#: src/tables/plugin/PluginListTable.tsx:138 -#: src/tables/plugin/PluginListTable.tsx:141 -msgid "Edit plugin" -msgstr "Editar plugin" - -#: src/tables/plugin/PluginListTable.tsx:152 -#: src/tables/plugin/PluginListTable.tsx:153 -msgid "Reload" -msgstr "Recarregar" - -#: src/tables/plugin/PluginListTable.tsx:166 +#: src/tables/plugin/PluginListTable.tsx:122 msgid "Plugin information" msgstr "Informações do plugin" -#: src/tables/plugin/PluginListTable.tsx:177 +#: src/tables/plugin/PluginListTable.tsx:134 msgid "Author" msgstr "Autor" -#: src/tables/plugin/PluginListTable.tsx:198 +#: src/tables/plugin/PluginListTable.tsx:134 +#~ msgid "Plugin Actions" +#~ msgstr "Plugin Actions" + +#: src/tables/plugin/PluginListTable.tsx:138 +#: src/tables/plugin/PluginListTable.tsx:141 +#~ msgid "Edit plugin" +#~ msgstr "Edit plugin" + +#: src/tables/plugin/PluginListTable.tsx:152 +#: src/tables/plugin/PluginListTable.tsx:153 +#~ msgid "Reload" +#~ msgstr "Reload" + +#: src/tables/plugin/PluginListTable.tsx:154 +msgid "Plugin is not active" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:163 msgid "Package information" msgstr "Informações do pacote" -#: src/tables/plugin/PluginListTable.tsx:204 +#: src/tables/plugin/PluginListTable.tsx:169 msgid "Package Name" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:210 +#: src/tables/plugin/PluginListTable.tsx:175 msgid "Installation Path" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:220 +#: src/tables/plugin/PluginListTable.tsx:185 msgid "Package" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:231 +#: src/tables/plugin/PluginListTable.tsx:197 msgid "Plugin settings" msgstr "Configurações do Plugin" -#: src/tables/plugin/PluginListTable.tsx:248 +#: src/tables/plugin/PluginListTable.tsx:214 msgid "Plugin is active" msgstr "Plugin está ativo" -#: src/tables/plugin/PluginListTable.tsx:254 +#: src/tables/plugin/PluginListTable.tsx:220 msgid "Plugin is inactive" msgstr "Plugin está inativo" -#: src/tables/plugin/PluginListTable.tsx:261 +#: src/tables/plugin/PluginListTable.tsx:227 msgid "Plugin is not installed" msgstr "Plugin não está instalado" -#: src/tables/plugin/PluginListTable.tsx:287 +#: src/tables/plugin/PluginListTable.tsx:253 msgid "Plugin" msgstr "Plugin" -#: src/tables/plugin/PluginListTable.tsx:312 +#: src/tables/plugin/PluginListTable.tsx:287 msgid "Description not available" msgstr "Descrição não disponível" -#: src/tables/plugin/PluginListTable.tsx:338 +#: src/tables/plugin/PluginListTable.tsx:319 +msgid "Confirm plugin activation" +msgstr "Confirmar ativação do plugin" + +#: src/tables/plugin/PluginListTable.tsx:320 +msgid "Confirm plugin deactivation" +msgstr "Confirmar desativação do plugin" + +#: src/tables/plugin/PluginListTable.tsx:325 +msgid "The selected plugin will be activated" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:326 +msgid "The selected plugin will be deactivated" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:334 msgid "Activate Plugin" msgstr "Ativar Plugin" #: src/tables/plugin/PluginListTable.tsx:338 -msgid "Deactivate Plugin" -msgstr "Desativar Plugin" - -#: src/tables/plugin/PluginListTable.tsx:347 -msgid "Confirm plugin activation" -msgstr "Confirmar ativação do plugin" - -#: src/tables/plugin/PluginListTable.tsx:348 -msgid "Confirm plugin deactivation" -msgstr "Confirmar desativação do plugin" +#~ msgid "Deactivate Plugin" +#~ msgstr "Deactivate Plugin" #: src/tables/plugin/PluginListTable.tsx:354 -msgid "The following plugin will be activated" -msgstr "O seguinte plugin será ativado" +#~ msgid "The following plugin will be activated" +#~ msgstr "The following plugin will be activated" #: src/tables/plugin/PluginListTable.tsx:355 -msgid "The following plugin will be deactivated" -msgstr "O seguinte plugin será desativado" +#~ msgid "The following plugin will be deactivated" +#~ msgstr "The following plugin will be deactivated" -#: src/tables/plugin/PluginListTable.tsx:366 -msgid "Confirm" -msgstr "Confirmar" - -#: src/tables/plugin/PluginListTable.tsx:376 -msgid "Activating plugin" -msgstr "Ativando plugin" - -#: src/tables/plugin/PluginListTable.tsx:376 -msgid "Deactivating plugin" -msgstr "Desativando plugin" - -#: src/tables/plugin/PluginListTable.tsx:392 -msgid "Plugin updated" -msgstr "Plugin atualizado" - -#: src/tables/plugin/PluginListTable.tsx:394 -msgid "The plugin was activated" -msgstr "O plugin foi ativado" - -#: src/tables/plugin/PluginListTable.tsx:395 -msgid "The plugin was deactivated" -msgstr "O plugin foi desativado" - -#: src/tables/plugin/PluginListTable.tsx:403 -msgid "Error updating plugin" -msgstr "Erro ao atualizar plugin" - -#: src/tables/plugin/PluginListTable.tsx:423 +#: src/tables/plugin/PluginListTable.tsx:362 msgid "Deactivate" msgstr "Desativar" -#: src/tables/plugin/PluginListTable.tsx:432 +#: src/tables/plugin/PluginListTable.tsx:366 +#~ msgid "Confirm" +#~ msgstr "Confirm" + +#: src/tables/plugin/PluginListTable.tsx:373 msgid "Activate" msgstr "Ativar" -#: src/tables/plugin/PluginListTable.tsx:463 +#: src/tables/plugin/PluginListTable.tsx:376 +#~ msgid "Activating plugin" +#~ msgstr "Activating plugin" + +#: src/tables/plugin/PluginListTable.tsx:376 +#~ msgid "Deactivating plugin" +#~ msgstr "Deactivating plugin" + +#: src/tables/plugin/PluginListTable.tsx:392 +#~ msgid "Plugin updated" +#~ msgstr "Plugin updated" + +#: src/tables/plugin/PluginListTable.tsx:394 +#~ msgid "The plugin was activated" +#~ msgstr "The plugin was activated" + +#: src/tables/plugin/PluginListTable.tsx:395 +#~ msgid "The plugin was deactivated" +#~ msgstr "The plugin was deactivated" + +#: src/tables/plugin/PluginListTable.tsx:403 +#~ msgid "Error updating plugin" +#~ msgstr "Error updating plugin" + +#: src/tables/plugin/PluginListTable.tsx:406 msgid "Uninstall" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:495 +#: src/tables/plugin/PluginListTable.tsx:438 msgid "Install plugin" msgstr "Instalar plugin" -#: src/tables/plugin/PluginListTable.tsx:508 +#: src/tables/plugin/PluginListTable.tsx:451 msgid "Install" msgstr "Instalar" -#: src/tables/plugin/PluginListTable.tsx:512 +#: src/tables/plugin/PluginListTable.tsx:452 msgid "Plugin installed successfully" msgstr "Plugin instalado com sucesso" -#: src/tables/plugin/PluginListTable.tsx:525 +#: src/tables/plugin/PluginListTable.tsx:457 msgid "Uninstall Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:537 +#: src/tables/plugin/PluginListTable.tsx:469 msgid "Confirm plugin uninstall" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:540 +#: src/tables/plugin/PluginListTable.tsx:472 msgid "The selected plugin will be uninstalled." msgstr "" -#: src/tables/plugin/PluginListTable.tsx:541 +#: src/tables/plugin/PluginListTable.tsx:473 msgid "This action cannot be undone." msgstr "" -#: src/tables/plugin/PluginListTable.tsx:547 +#: src/tables/plugin/PluginListTable.tsx:477 msgid "Plugin uninstalled successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:560 +#: src/tables/plugin/PluginListTable.tsx:484 msgid "Delete Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:562 +#: src/tables/plugin/PluginListTable.tsx:485 msgid "Deleting this plugin configuration will remove all associated settings and data. Are you sure you want to delete this plugin?" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:574 +#: src/tables/plugin/PluginListTable.tsx:498 msgid "Plugins reloaded" msgstr "Plugins recarregados" -#: src/tables/plugin/PluginListTable.tsx:575 +#: src/tables/plugin/PluginListTable.tsx:499 msgid "Plugins were reloaded successfully" msgstr "Plugins foram recarregados com sucesso" -#: src/tables/plugin/PluginListTable.tsx:591 +#: src/tables/plugin/PluginListTable.tsx:515 msgid "Reload Plugins" msgstr "Recarregar plugins" -#: src/tables/plugin/PluginListTable.tsx:600 +#: src/tables/plugin/PluginListTable.tsx:524 msgid "Install Plugin" msgstr "Instalar Plugin" +#: src/tables/plugin/PluginListTable.tsx:544 +msgid "Plugin Detail" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:573 +msgid "Sample" +msgstr "Amostra" + +#: src/tables/plugin/PluginListTable.tsx:578 +#: src/tables/stock/StockItemTable.tsx:305 +msgid "Installed" +msgstr "Instalado" + #: src/tables/plugin/PluginListTable.tsx:615 #~ msgid "Plugin detail" #~ msgstr "Plugin detail" -#: src/tables/plugin/PluginListTable.tsx:619 -msgid "Plugin Detail" +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:59 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:108 +msgid "Add Parameter" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:648 -msgid "Sample" -msgstr "Amostra" +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:60 +#~ msgid "Parameter updated" +#~ msgstr "Parameter updated" -#: src/tables/plugin/PluginListTable.tsx:653 -#: src/tables/stock/StockItemTable.tsx:305 -msgid "Installed" -msgstr "Instalado" - -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:57 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:70 msgid "Edit Parameter" msgstr "Editar Parâmetro" -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:60 -msgid "Parameter updated" -msgstr "Parâmetro atualizado" - -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:71 -msgid "Delete Parameter" -msgstr "Excluir Parâmetro" - #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:73 -msgid "Parameter deleted" -msgstr "Parâmetro excluído" +#~ msgid "Parameter deleted" +#~ msgstr "Parameter deleted" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:74 -msgid "Are you sure you want to delete this parameter?" -msgstr "Tem certeza de que deseja remover este parâmetro?" +#~ msgid "Are you sure you want to delete this parameter?" +#~ msgstr "Are you sure you want to delete this parameter?" + +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:78 +msgid "Delete Parameter" +msgstr "Excluir Parâmetro" #: src/tables/purchasing/ManufacturerPartTable.tsx:63 #~ msgid "Create Manufacturer Part" #~ msgstr "Create Manufacturer Part" -#: src/tables/purchasing/ManufacturerPartTable.tsx:100 -msgid "Manufacturer part updated" -msgstr "Peça do Fabricante atualizada" - -#: src/tables/purchasing/ManufacturerPartTable.tsx:111 +#: src/tables/purchasing/ManufacturerPartTable.tsx:92 msgid "Delete Manufacturer Part" msgstr "Excluir Peça do Fabricante" +#: src/tables/purchasing/ManufacturerPartTable.tsx:100 +#~ msgid "Manufacturer part updated" +#~ msgstr "Manufacturer part updated" + #: src/tables/purchasing/ManufacturerPartTable.tsx:112 -msgid "Manufacturer part deleted" -msgstr "Peça do Fabricante excluída" +#~ msgid "Manufacturer part deleted" +#~ msgstr "Manufacturer part deleted" #: src/tables/purchasing/ManufacturerPartTable.tsx:114 -msgid "Are you sure you want to remove this manufacturer part?" -msgstr "Tem certeza de que deseja remover esta peça do fabricante?" +#~ msgid "Are you sure you want to remove this manufacturer part?" +#~ msgstr "Are you sure you want to remove this manufacturer part?" #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:86 msgid "Part Description" @@ -6087,18 +6238,22 @@ msgid "Error Information" msgstr "Informação do erro" #: src/tables/settings/ErrorTable.tsx:51 -msgid "Delete error report" -msgstr "Excluir relatório de erros" +msgid "Delete Error Report" +msgstr "" + +#: src/tables/settings/ErrorTable.tsx:51 +#~ msgid "Delete error report" +#~ msgstr "Delete error report" #: src/tables/settings/ErrorTable.tsx:53 -msgid "Error report deleted" -msgstr "Relatório de erro excluído" - -#: src/tables/settings/ErrorTable.tsx:54 msgid "Are you sure you want to delete this error report?" msgstr "Tem certeza de que deseja excluir este relatório de erro?" -#: src/tables/settings/ErrorTable.tsx:67 +#: src/tables/settings/ErrorTable.tsx:55 +msgid "Error report deleted" +msgstr "Relatório de erro excluído" + +#: src/tables/settings/ErrorTable.tsx:77 #: src/tables/settings/FailedTasksTable.tsx:57 msgid "Error Details" msgstr "Detalhes do Erro" @@ -6115,7 +6270,7 @@ msgid "Task ID" msgstr "ID da Tarefa" #: src/tables/settings/FailedTasksTable.tsx:34 -#: src/tables/stock/StockItemTestResultTable.tsx:214 +#: src/tables/stock/StockItemTestResultTable.tsx:205 msgid "Started" msgstr "Iniciado" @@ -6188,30 +6343,71 @@ msgstr "Última Execução" msgid "Next Run" msgstr "Próxima Execução" -#: src/tables/settings/TemplateTable.tsx:120 -msgid "{templateTypeTranslation} with id {id} not found" +#: src/tables/settings/TemplateTable.tsx:82 +msgid "Template not found" msgstr "" +#: src/tables/settings/TemplateTable.tsx:84 +msgid "An error occurred while fetching template details" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:120 +#~ msgid "{templateTypeTranslation} with id {id} not found" +#~ msgstr "{templateTypeTranslation} with id {id} not found" + #: src/tables/settings/TemplateTable.tsx:124 -msgid "An error occurred while fetching {templateTypeTranslation} details" -msgstr "" +#~ msgid "An error occurred while fetching {templateTypeTranslation} details" +#~ msgstr "An error occurred while fetching {templateTypeTranslation} details" #: src/tables/settings/TemplateTable.tsx:146 -msgid "actions" +#~ msgid "actions" +#~ msgstr "actions" + +#: src/tables/settings/TemplateTable.tsx:170 +msgid "Modify" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:171 +msgid "Modify template file" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:222 +#: src/tables/settings/TemplateTable.tsx:289 +msgid "Edit Template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:230 +msgid "Delete template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:236 +msgid "Add Template" msgstr "" #: src/tables/settings/TemplateTable.tsx:243 -msgid "Add new" -msgstr "" +#~ msgid "Add new" +#~ msgstr "Add new" #: src/tables/settings/TemplateTable.tsx:243 #~ msgid "Create new" #~ msgstr "Create new" -#: src/tables/settings/TemplateTable.tsx:276 +#: src/tables/settings/TemplateTable.tsx:249 +msgid "Add template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:271 msgid "Filter by enabled status" msgstr "" +#: src/tables/settings/TemplateTable.tsx:276 +msgid "Model Type" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:277 +msgid "Filter by target model type" +msgstr "" + #: src/tables/settings/UserTable.tsx:79 msgid "User with id {id} not found" msgstr "Usuário com o id {id} não encontrado" @@ -6277,6 +6473,23 @@ msgstr "Usuário adicionado" msgid "Edit user" msgstr "Editar usuário" +#: src/tables/stock/LocationTypesTable.tsx:36 +#: src/tables/stock/LocationTypesTable.tsx:105 +msgid "Add Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:44 +msgid "Edit Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:52 +msgid "Delete Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:69 +msgid "Icon" +msgstr "" + #: src/tables/stock/StockItemTable.tsx:90 msgid "This stock item is in production" msgstr "Este item de estoque está em produção" @@ -6338,7 +6551,7 @@ msgid "Show items which are available" msgstr "Mostrar itens que estão disponíveis" #: src/tables/stock/StockItemTable.tsx:280 -#: src/tables/stock/StockLocationTable.tsx:37 +#: src/tables/stock/StockLocationTable.tsx:33 msgid "Include Sublocations" msgstr "Incluir Sublocais" @@ -6467,123 +6680,135 @@ msgstr "" msgid "Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:153 +#: src/tables/stock/StockItemTestResultTable.tsx:151 msgid "Test result for installed stock item" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:164 +#: src/tables/stock/StockItemTestResultTable.tsx:162 msgid "Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:170 +#: src/tables/stock/StockItemTestResultTable.tsx:168 msgid "No Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:186 +#: src/tables/stock/StockItemTestResultTable.tsx:184 msgid "Attachment" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:209 +#: src/tables/stock/StockItemTestResultTable.tsx:200 msgid "Test station" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:229 +#: src/tables/stock/StockItemTestResultTable.tsx:220 msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:277 -#: src/tables/stock/StockItemTestResultTable.tsx:349 -#: src/tables/stock/StockItemTestResultTable.tsx:404 +#: src/tables/stock/StockItemTestResultTable.tsx:268 +#: src/tables/stock/StockItemTestResultTable.tsx:340 +#: src/tables/stock/StockItemTestResultTable.tsx:395 msgid "Add Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:279 +#: src/tables/stock/StockItemTestResultTable.tsx:270 msgid "Test result added" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:288 -#: src/tables/stock/StockItemTestResultTable.tsx:359 +#: src/tables/stock/StockItemTestResultTable.tsx:279 +#: src/tables/stock/StockItemTestResultTable.tsx:350 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:290 +#: src/tables/stock/StockItemTestResultTable.tsx:281 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:296 -#: src/tables/stock/StockItemTestResultTable.tsx:368 +#: src/tables/stock/StockItemTestResultTable.tsx:287 +#: src/tables/stock/StockItemTestResultTable.tsx:359 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:298 +#: src/tables/stock/StockItemTestResultTable.tsx:289 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:312 +#: src/tables/stock/StockItemTestResultTable.tsx:303 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:313 +#: src/tables/stock/StockItemTestResultTable.tsx:304 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:320 +#: src/tables/stock/StockItemTestResultTable.tsx:311 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:337 +#: src/tables/stock/StockItemTestResultTable.tsx:328 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:386 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:390 +#: src/tables/stock/StockItemTestResultTable.tsx:381 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:391 +#: src/tables/stock/StockItemTestResultTable.tsx:382 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:395 +#: src/tables/stock/StockItemTestResultTable.tsx:386 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:396 +#: src/tables/stock/StockItemTestResultTable.tsx:387 msgid "Show only passed tests" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:38 +#: src/tables/stock/StockLocationTable.tsx:34 msgid "Include sublocations in results" msgstr "Incluir sublocais nos resultados" -#: src/tables/stock/StockLocationTable.tsx:42 +#: src/tables/stock/StockLocationTable.tsx:38 msgid "structural" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:43 +#: src/tables/stock/StockLocationTable.tsx:39 msgid "Show structural locations" msgstr "Mostrar locais estruturais" -#: src/tables/stock/StockLocationTable.tsx:47 +#: src/tables/stock/StockLocationTable.tsx:43 msgid "external" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:48 +#: src/tables/stock/StockLocationTable.tsx:44 msgid "Show external locations" msgstr "Mostrar locais externos" -#: src/tables/stock/StockLocationTable.tsx:52 +#: src/tables/stock/StockLocationTable.tsx:48 msgid "Has location type" msgstr "Tem Tipo de localização" -#: src/tables/stock/StockLocationTable.tsx:89 -#: src/tables/stock/StockLocationTable.tsx:118 +#: src/tables/stock/StockLocationTable.tsx:85 +#: src/tables/stock/StockLocationTable.tsx:110 msgid "Add Stock Location" msgstr "Adicionar Local de Estoque" +#: src/tables/stock/StockTrackingTable.tsx:64 +msgid "Added" +msgstr "" + +#: src/tables/stock/StockTrackingTable.tsx:69 +msgid "Removed" +msgstr "" + +#: src/tables/stock/StockTrackingTable.tsx:198 +msgid "No user information" +msgstr "" + #: src/views/MobileAppView.tsx:22 msgid "Mobile viewport detected" msgstr "Visualização móvel detectada" diff --git a/src/frontend/src/locales/ru/messages.po b/src/frontend/src/locales/ru/messages.po index afb098f717..7bc99af72d 100644 --- a/src/frontend/src/locales/ru/messages.po +++ b/src/frontend/src/locales/ru/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: ru\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-05-13 02:48\n" +"PO-Revision-Date: 2024-05-23 11:39\n" "Last-Translator: \n" "Language-Team: Russian\n" "Plural-Forms: nplurals=4; plural=((n%10==1 && n%100!=11) ? 0 : ((n%10 >= 2 && n%10 <=4 && (n%100 < 12 || n%100 > 14)) ? 1 : ((n%10 == 0 || (n%10 >= 5 && n%10 <=9)) || (n%100 >= 11 && n%100 <= 14)) ? 2 : 3));\n" @@ -30,10 +30,67 @@ msgstr "" msgid "Title" msgstr "Заголовок" +#: src/components/buttons/AdminButton.tsx:83 +msgid "Open in admin interface" +msgstr "" + #: src/components/buttons/CopyButton.tsx:18 msgid "Copy to clipboard" msgstr "" +#: src/components/buttons/PrintingActions.tsx:95 +msgid "Print Label" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:101 +msgid "Label printing completed successfully" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:106 +#: src/components/buttons/PrintingActions.tsx:143 +#: src/components/forms/ApiForm.tsx:504 +#: src/components/forms/fields/ApiFormField.tsx:295 +#: src/components/modals/LicenseModal.tsx:75 +#: src/components/nav/SearchDrawer.tsx:413 +#: src/components/widgets/MarkdownEditor.tsx:107 +#: src/components/widgets/MarkdownEditor.tsx:153 +#: src/pages/ErrorPage.tsx:12 +#: src/pages/ErrorPage.tsx:25 +#: src/pages/part/PartPricingPanel.tsx:71 +#: src/tables/InvenTreeTable.tsx:451 +#: src/tables/InvenTreeTable.tsx:531 +#: src/tables/stock/StockItemTestResultTable.tsx:310 +msgid "Error" +msgstr "Ошибка" + +#: src/components/buttons/PrintingActions.tsx:107 +msgid "The label could not be generated" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:122 +msgid "Print Report" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:138 +msgid "Report printing completed successfully" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:144 +msgid "The report could not be generated" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:171 +msgid "Printing Actions" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:176 +msgid "Print Labels" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:182 +msgid "Print Reports" +msgstr "" + #: src/components/buttons/ScanButton.tsx:15 msgid "Scan QR code" msgstr "Сканировать QR код" @@ -64,15 +121,15 @@ msgstr "" msgid "No" msgstr "" -#: src/components/details/Details.tsx:302 +#: src/components/details/Details.tsx:303 msgid "No name defined" msgstr "" -#: src/components/details/Details.tsx:339 +#: src/components/details/Details.tsx:340 msgid "Copied" msgstr "" -#: src/components/details/Details.tsx:339 +#: src/components/details/Details.tsx:340 msgid "Copy" msgstr "" @@ -85,24 +142,23 @@ msgid "Remove the associated image from this item?" msgstr "Удалить связанное изображение?" #: src/components/details/DetailsImage.tsx:71 -#: src/forms/StockForms.tsx:442 +#: src/forms/StockForms.tsx:483 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:448 +#: src/pages/stock/StockDetail.tsx:462 msgid "Remove" msgstr "Удалить" #: src/components/details/DetailsImage.tsx:71 -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:163 -#: src/components/items/ActionDropdown.tsx:222 -#: src/components/items/ActionDropdown.tsx:223 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 +#: src/components/items/ActionDropdown.tsx:229 +#: src/components/items/ActionDropdown.tsx:230 #: src/contexts/ThemeContext.tsx:43 #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:40 -#: src/tables/FilterSelectDrawer.tsx:218 -#: src/tables/InvenTreeTable.tsx:493 -#: src/tables/build/BuildOutputTable.tsx:223 -#: src/tables/plugin/PluginListTable.tsx:365 +#: src/tables/FilterSelectDrawer.tsx:207 +#: src/tables/InvenTreeTable.tsx:499 +#: src/tables/build/BuildOutputTable.tsx:225 msgid "Cancel" msgstr "Отменить" @@ -119,7 +175,7 @@ msgid "Clear" msgstr "Очистить" #: src/components/details/DetailsImage.tsx:227 -#: src/components/forms/ApiForm.tsx:554 +#: src/components/forms/ApiForm.tsx:571 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:56 msgid "Submit" @@ -150,9 +206,10 @@ msgid "Part is not active" msgstr "" #: src/components/details/PartIcons.tsx:34 -#: src/pages/company/CompanyDetail.tsx:308 -#: src/pages/company/SupplierPartDetail.tsx:304 -#: src/pages/part/PartDetail.tsx:684 +#: src/components/render/Plugin.tsx:17 +#: src/pages/company/CompanyDetail.tsx:310 +#: src/pages/company/SupplierPartDetail.tsx:305 +#: src/pages/part/PartDetail.tsx:685 msgid "Inactive" msgstr "" @@ -196,10 +253,10 @@ msgid "Code" msgstr "" #: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:44 -msgid "Failed to parse error response from server." -msgstr "" +#~ msgid "Failed to parse error response from server." +#~ msgstr "Failed to parse error response from server." -#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:82 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:81 msgid "Preview not available, click \"Reload Preview\"." msgstr "" @@ -207,98 +264,99 @@ msgstr "" msgid "PDF Preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:113 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:104 msgid "Error loading template" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:125 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:116 msgid "Error saving template" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 -msgid "Save & Reload preview?" +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:146 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:270 +msgid "Save & Reload Preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:156 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 msgid "Are you sure you want to Save & Reload the preview?" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 +#~ msgid "Save & Reload preview?" +#~ msgstr "Save & Reload preview?" + +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:153 msgid "To render the preview the current template needs to be replaced on the server with your modifications which may break the label if it is under active use. Do you want to proceed?" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:162 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:157 msgid "Save & Reload" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:191 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:189 msgid "Preview updated" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:192 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:190 msgid "The preview has been updated successfully." msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:255 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:262 msgid "Reload preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:256 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:263 msgid "Use the currently stored template from the server" msgstr "" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:263 -msgid "Save & Reload preview" -msgstr "" +#~ msgid "Save & Reload preview" +#~ msgstr "Save & Reload preview" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:264 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:271 msgid "Save the current template and reload the preview" msgstr "" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:322 -#: src/tables/part/PartThumbTable.tsx:203 -msgid "Select" +#~ msgid "to preview" +#~ msgstr "to preview" + +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:329 +msgid "Select instance to preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:322 -msgid "to preview" -msgstr "" - -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:366 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:373 msgid "Error rendering template" msgstr "" -#: src/components/forms/ApiForm.tsx:143 +#: src/components/forms/ApiForm.tsx:148 #: src/functions/forms.tsx:259 msgid "Form Error" msgstr "Ошибка формы" -#: src/components/forms/ApiForm.tsx:411 +#: src/components/forms/ApiForm.tsx:428 #: src/components/widgets/MarkdownEditor.tsx:145 msgid "Success" msgstr "Успешно" #: src/components/forms/ApiForm.tsx:487 -msgid "Form Errors Exist" -msgstr "Форма содержит ошибки" +#~ msgid "Form Errors Exist" +#~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:592 -#: src/tables/plugin/PluginListTable.tsx:445 +#: src/components/forms/ApiForm.tsx:609 +#: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "Обновить" -#: src/components/forms/ApiForm.tsx:612 -#: src/components/items/ActionDropdown.tsx:203 +#: src/components/forms/ApiForm.tsx:629 +#: src/components/items/ActionDropdown.tsx:210 #: src/functions/forms.tsx:299 #: src/hooks/UseForm.tsx:122 #: src/pages/Index/Scan.tsx:343 #: src/pages/Notifications.tsx:123 -#: src/tables/InvenTreeTable.tsx:492 +#: src/tables/InvenTreeTable.tsx:498 #: src/tables/RowActions.tsx:71 -#: src/tables/plugin/PluginListTable.tsx:477 -#: src/tables/settings/TemplateTable.tsx:105 -#: src/tables/settings/TemplateTable.tsx:154 -#: src/tables/settings/TemplateTable.tsx:236 +#: src/tables/plugin/PluginListTable.tsx:420 msgid "Delete" msgstr "Удалить" @@ -468,18 +526,19 @@ msgstr "Узел" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 -#: src/pages/part/CategoryDetail.tsx:77 -#: src/pages/part/PartDetail.tsx:125 -#: src/pages/stock/LocationDetail.tsx:83 +#: src/pages/part/CategoryDetail.tsx:78 +#: src/pages/part/PartDetail.tsx:126 +#: src/pages/stock/LocationDetail.tsx:85 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 #: src/tables/machine/MachineTypeTable.tsx:216 #: src/tables/machine/MachineTypeTable.tsx:319 #: src/tables/plugin/PluginErrorTable.tsx:33 -#: src/tables/plugin/PluginListTable.tsx:169 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:27 +#: src/tables/plugin/PluginListTable.tsx:126 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:32 #: src/tables/settings/GroupTable.tsx:103 #: src/tables/settings/PendingTasksTable.tsx:26 +#: src/tables/stock/LocationTypesTable.tsx:60 msgid "Name" msgstr "Название" @@ -520,35 +579,20 @@ msgstr "Название: {0}" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "Состояние: <0>рабочий ({0}), <1>плагины{1}" -#: src/components/forms/fields/ApiFormField.tsx:276 -#: src/components/modals/LicenseModal.tsx:75 -#: src/components/nav/SearchDrawer.tsx:413 -#: src/components/widgets/MarkdownEditor.tsx:107 -#: src/components/widgets/MarkdownEditor.tsx:153 -#: src/pages/ErrorPage.tsx:12 -#: src/pages/ErrorPage.tsx:25 -#: src/pages/part/PartPricingPanel.tsx:71 -#: src/tables/InvenTreeTable.tsx:445 -#: src/tables/InvenTreeTable.tsx:525 -#: src/tables/plugin/PluginListTable.tsx:402 -#: src/tables/stock/StockItemTestResultTable.tsx:319 -msgid "Error" -msgstr "Ошибка" - -#: src/components/forms/fields/RelatedModelField.tsx:305 +#: src/components/forms/fields/RelatedModelField.tsx:315 #: src/pages/Index/Settings/UserSettings.tsx:64 #: src/tables/Search.tsx:23 msgid "Search" msgstr "Поиск" -#: src/components/forms/fields/RelatedModelField.tsx:306 +#: src/components/forms/fields/RelatedModelField.tsx:316 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:120 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "Загрузка" -#: src/components/forms/fields/RelatedModelField.tsx:308 +#: src/components/forms/fields/RelatedModelField.tsx:318 msgid "No results found" msgstr "Ничего не найдено" @@ -569,54 +613,51 @@ msgstr "" msgid "Thumbnail" msgstr "Миниатюра" -#: src/components/items/ActionDropdown.tsx:112 -#: src/pages/build/BuildDetail.tsx:354 +#: src/components/items/ActionDropdown.tsx:119 +#: src/pages/build/BuildDetail.tsx:360 msgid "Barcode Actions" msgstr "" -#: src/components/items/ActionDropdown.tsx:129 +#: src/components/items/ActionDropdown.tsx:136 msgid "View" msgstr "" -#: src/components/items/ActionDropdown.tsx:130 +#: src/components/items/ActionDropdown.tsx:137 msgid "View barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:146 +#: src/components/items/ActionDropdown.tsx:153 msgid "Link Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:147 +#: src/components/items/ActionDropdown.tsx:154 msgid "Link custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:163 -#: src/forms/PurchaseOrderForms.tsx:375 +#: src/components/items/ActionDropdown.tsx:170 +#: src/forms/PurchaseOrderForms.tsx:389 msgid "Unlink Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:164 +#: src/components/items/ActionDropdown.tsx:171 msgid "Unlink custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:182 +#: src/components/items/ActionDropdown.tsx:189 #: src/tables/RowActions.tsx:51 -#: src/tables/settings/TemplateTable.tsx:87 -#: src/tables/settings/TemplateTable.tsx:150 -#: src/tables/settings/TemplateTable.tsx:287 msgid "Edit" msgstr "Изменить" -#: src/components/items/ActionDropdown.tsx:204 +#: src/components/items/ActionDropdown.tsx:211 msgid "Delete item" msgstr "" -#: src/components/items/ActionDropdown.tsx:241 +#: src/components/items/ActionDropdown.tsx:248 #: src/tables/RowActions.tsx:31 msgid "Duplicate" msgstr "" -#: src/components/items/ActionDropdown.tsx:242 +#: src/components/items/ActionDropdown.tsx:249 msgid "Duplicate item" msgstr "" @@ -625,7 +666,7 @@ msgid "Read More" msgstr "Подробнее" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:437 +#: src/tables/InvenTreeTable.tsx:443 msgid "Unknown error" msgstr "Неизвестная ошибка" @@ -785,27 +826,27 @@ msgstr "Ошибка при остановке" #: src/components/modals/QrCodeModal.tsx:154 #: src/defaults/menuItems.tsx:21 -#: src/pages/Index/Scan.tsx:747 +#: src/pages/Index/Scan.tsx:746 msgid "Scanning" msgstr "Сканирование" #: src/components/modals/QrCodeModal.tsx:154 -#: src/pages/Index/Scan.tsx:747 +#: src/pages/Index/Scan.tsx:746 msgid "Not scanning" msgstr "Не сканировать" #: src/components/modals/QrCodeModal.tsx:159 -#: src/pages/Index/Scan.tsx:753 +#: src/pages/Index/Scan.tsx:752 msgid "Select Camera" msgstr "Выбрать камеру" #: src/components/modals/QrCodeModal.tsx:169 -#: src/pages/Index/Scan.tsx:738 +#: src/pages/Index/Scan.tsx:737 msgid "Start scanning" msgstr "Начать сканирование" #: src/components/modals/QrCodeModal.tsx:176 -#: src/pages/Index/Scan.tsx:730 +#: src/pages/Index/Scan.tsx:729 msgid "Stop scanning" msgstr "Остановить сканирование" @@ -891,8 +932,8 @@ msgid "Email settings not configured" msgstr "" #: src/components/modals/ServerInfoModal.tsx:121 -#: src/tables/plugin/PluginListTable.tsx:187 -#: src/tables/plugin/PluginListTable.tsx:319 +#: src/tables/plugin/PluginListTable.tsx:144 +#: src/tables/plugin/PluginListTable.tsx:294 msgid "Version" msgstr "" @@ -926,13 +967,13 @@ msgstr "Настройки аккаунта" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:293 +#: src/pages/Index/Settings/SystemSettings.tsx:294 msgid "System Settings" msgstr "" #: src/components/nav/MainMenu.tsx:67 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:172 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 msgid "Admin Center" msgstr "" @@ -975,7 +1016,7 @@ msgid "Pages" msgstr "Страницы" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:133 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:153 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "Плагины" @@ -1013,9 +1054,9 @@ msgid "Mark as read" msgstr "Пометить как прочитанное" #: src/components/nav/PartCategoryTree.tsx:158 -#: src/components/render/ModelType.tsx:60 +#: src/components/render/ModelType.tsx:64 #: src/pages/Index/Settings/SystemSettings.tsx:162 -#: src/pages/part/CategoryDetail.tsx:248 +#: src/pages/part/CategoryDetail.tsx:249 msgid "Part Categories" msgstr "Категории деталей" @@ -1052,142 +1093,147 @@ msgid "No results available for search query" msgstr "Нет доступных результатов для поискового запроса" #: src/components/nav/StockLocationTree.tsx:93 -#: src/components/render/ModelType.tsx:76 -#: src/pages/stock/LocationDetail.tsx:175 +#: src/components/render/ModelType.tsx:82 +#: src/pages/stock/LocationDetail.tsx:185 msgid "Stock Locations" msgstr "Места хранения" -#: src/components/render/Instance.tsx:137 +#: src/components/render/Instance.tsx:166 msgid "Unknown model: {model}" msgstr "Неизвестная модель: {model}" -#: src/components/render/ModelType.tsx:21 -#: src/forms/BuildForms.tsx:184 -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49 +#: src/components/render/ModelType.tsx:22 +#: src/forms/BuildForms.tsx:201 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:83 #: src/pages/part/PartDetail.tsx:828 #: src/tables/part/RelatedPartTable.tsx:45 +#: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" msgstr "" -#: src/components/render/ModelType.tsx:22 +#: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 #: src/pages/Index/Settings/SystemSettings.tsx:167 -#: src/pages/part/CategoryDetail.tsx:109 -#: src/pages/part/CategoryDetail.tsx:234 -#: src/pages/part/CategoryDetail.tsx:264 -#: src/pages/part/PartDetail.tsx:638 +#: src/pages/part/CategoryDetail.tsx:110 +#: src/pages/part/CategoryDetail.tsx:235 +#: src/pages/part/CategoryDetail.tsx:265 +#: src/pages/part/PartDetail.tsx:639 msgid "Parts" msgstr "Детали" -#: src/components/render/ModelType.tsx:29 +#: src/components/render/ModelType.tsx:31 msgid "Part Parameter Template" msgstr "" -#: src/components/render/ModelType.tsx:30 +#: src/components/render/ModelType.tsx:32 msgid "Part Parameter Templates" msgstr "" -#: src/components/render/ModelType.tsx:36 +#: src/components/render/ModelType.tsx:38 msgid "Part Test Template" msgstr "" -#: src/components/render/ModelType.tsx:37 +#: src/components/render/ModelType.tsx:39 msgid "Part Test Templates" msgstr "" -#: src/components/render/ModelType.tsx:43 -#: src/pages/company/SupplierPartDetail.tsx:189 -#: src/pages/company/SupplierPartDetail.tsx:317 -#: src/pages/stock/StockDetail.tsx:159 +#: src/components/render/ModelType.tsx:45 +#: src/pages/company/SupplierPartDetail.tsx:190 +#: src/pages/company/SupplierPartDetail.tsx:318 +#: src/pages/stock/StockDetail.tsx:162 #: src/tables/purchasing/SupplierPartTable.tsx:68 msgid "Supplier Part" msgstr "" -#: src/components/render/ModelType.tsx:44 +#: src/components/render/ModelType.tsx:46 msgid "Supplier Parts" msgstr "Детали поставщиков" -#: src/components/render/ModelType.tsx:51 -#: src/pages/company/ManufacturerPartDetail.tsx:124 +#: src/components/render/ModelType.tsx:54 +#: src/pages/company/ManufacturerPartDetail.tsx:125 msgid "Manufacturer Part" msgstr "" -#: src/components/render/ModelType.tsx:52 +#: src/components/render/ModelType.tsx:55 msgid "Manufacturer Parts" msgstr "Детали производителей" -#: src/components/render/ModelType.tsx:59 -#: src/pages/part/CategoryDetail.tsx:287 +#: src/components/render/ModelType.tsx:63 +#: src/pages/part/CategoryDetail.tsx:288 msgid "Part Category" msgstr "" -#: src/components/render/ModelType.tsx:67 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67 -#: src/pages/stock/StockDetail.tsx:535 +#: src/components/render/ModelType.tsx:72 +#: src/pages/stock/StockDetail.tsx:548 +#: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" msgstr "" -#: src/components/render/ModelType.tsx:68 -#: src/pages/company/CompanyDetail.tsx:197 -#: src/pages/stock/LocationDetail.tsx:116 -#: src/pages/stock/LocationDetail.tsx:161 +#: src/components/render/ModelType.tsx:73 +#: src/pages/company/CompanyDetail.tsx:199 +#: src/pages/stock/LocationDetail.tsx:118 +#: src/pages/stock/LocationDetail.tsx:171 #: src/pages/stock/LocationDetail.tsx:365 msgid "Stock Items" msgstr "Складские позиции" -#: src/components/render/ModelType.tsx:75 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:154 +#: src/components/render/ModelType.tsx:81 msgid "Stock Location" msgstr "" -#: src/components/render/ModelType.tsx:83 +#: src/components/render/ModelType.tsx:90 +msgid "Stock Location Type" +msgstr "" + +#: src/components/render/ModelType.tsx:91 +msgid "Stock Location Types" +msgstr "" + +#: src/components/render/ModelType.tsx:95 msgid "Stock History" msgstr "" -#: src/components/render/ModelType.tsx:84 +#: src/components/render/ModelType.tsx:96 msgid "Stock Histories" msgstr "" -#: src/components/render/ModelType.tsx:88 +#: src/components/render/ModelType.tsx:100 #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:43 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:126 msgid "Build" msgstr "" -#: src/components/render/ModelType.tsx:89 +#: src/components/render/ModelType.tsx:101 msgid "Builds" msgstr "" -#: src/components/render/ModelType.tsx:96 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:76 +#: src/components/render/ModelType.tsx:109 msgid "Build Line" msgstr "" -#: src/components/render/ModelType.tsx:97 +#: src/components/render/ModelType.tsx:110 msgid "Build Lines" msgstr "" -#: src/components/render/ModelType.tsx:104 -#: src/pages/company/CompanyDetail.tsx:321 +#: src/components/render/ModelType.tsx:117 +#: src/pages/company/CompanyDetail.tsx:323 msgid "Company" msgstr "" -#: src/components/render/ModelType.tsx:105 +#: src/components/render/ModelType.tsx:118 msgid "Companies" msgstr "Компании" -#: src/components/render/ModelType.tsx:112 +#: src/components/render/ModelType.tsx:126 #: src/tables/TableHoverCard.tsx:58 #: src/tables/build/BuildOrderTable.tsx:131 #: src/tables/purchasing/PurchaseOrderTable.tsx:64 @@ -1196,170 +1242,199 @@ msgstr "Компании" msgid "Project Code" msgstr "" -#: src/components/render/ModelType.tsx:113 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:97 +#: src/components/render/ModelType.tsx:127 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:105 msgid "Project Codes" msgstr "" -#: src/components/render/ModelType.tsx:119 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99 +#: src/components/render/ModelType.tsx:133 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:355 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:362 +#: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" msgstr "" -#: src/components/render/ModelType.tsx:120 -#: src/pages/Index/Settings/SystemSettings.tsx:242 -#: src/pages/company/CompanyDetail.tsx:190 -#: src/pages/company/SupplierPartDetail.tsx:223 -#: src/pages/part/PartDetail.tsx:571 +#: src/components/render/ModelType.tsx:134 +#: src/pages/Index/Settings/SystemSettings.tsx:243 +#: src/pages/company/CompanyDetail.tsx:192 +#: src/pages/company/SupplierPartDetail.tsx:224 +#: src/pages/part/PartDetail.tsx:572 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "Заказы на закупку" -#: src/components/render/ModelType.tsx:127 +#: src/components/render/ModelType.tsx:142 msgid "Purchase Order Line" msgstr "" -#: src/components/render/ModelType.tsx:128 +#: src/components/render/ModelType.tsx:143 msgid "Purchase Order Lines" msgstr "" -#: src/components/render/ModelType.tsx:132 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:108 +#: src/components/render/ModelType.tsx:147 #: src/pages/build/BuildDetail.tsx:131 -#: src/pages/sales/SalesOrderDetail.tsx:340 -#: src/pages/stock/StockDetail.tsx:207 +#: src/pages/sales/SalesOrderDetail.tsx:347 +#: src/pages/stock/StockDetail.tsx:210 +#: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" msgstr "" -#: src/components/render/ModelType.tsx:133 -#: src/pages/Index/Settings/SystemSettings.tsx:257 -#: src/pages/company/CompanyDetail.tsx:210 -#: src/pages/part/PartDetail.tsx:577 +#: src/components/render/ModelType.tsx:148 +#: src/pages/Index/Settings/SystemSettings.tsx:258 +#: src/pages/company/CompanyDetail.tsx:212 +#: src/pages/part/PartDetail.tsx:578 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "Заказы на продажу" -#: src/components/render/ModelType.tsx:140 +#: src/components/render/ModelType.tsx:156 msgid "Sales Order Shipment" msgstr "" -#: src/components/render/ModelType.tsx:141 +#: src/components/render/ModelType.tsx:157 msgid "Sales Order Shipments" msgstr "" -#: src/components/render/ModelType.tsx:147 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:117 -#: src/pages/sales/ReturnOrderDetail.tsx:318 +#: src/components/render/ModelType.tsx:163 +#: src/pages/sales/ReturnOrderDetail.tsx:325 +#: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "" -#: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:272 -#: src/pages/company/CompanyDetail.tsx:217 +#: src/components/render/ModelType.tsx:164 +#: src/pages/Index/Settings/SystemSettings.tsx:273 +#: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" msgstr "Заказы на возврат" -#: src/components/render/ModelType.tsx:155 +#: src/components/render/ModelType.tsx:172 #: src/tables/company/AddressTable.tsx:47 msgid "Address" msgstr "" -#: src/components/render/ModelType.tsx:156 -#: src/pages/company/CompanyDetail.tsx:247 +#: src/components/render/ModelType.tsx:173 +#: src/pages/company/CompanyDetail.tsx:249 msgid "Addresses" msgstr "" -#: src/components/render/ModelType.tsx:162 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:189 -#: src/pages/sales/ReturnOrderDetail.tsx:157 -#: src/pages/sales/SalesOrderDetail.tsx:161 +#: src/components/render/ModelType.tsx:179 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:191 +#: src/pages/sales/ReturnOrderDetail.tsx:159 +#: src/pages/sales/SalesOrderDetail.tsx:163 msgid "Contact" msgstr "" -#: src/components/render/ModelType.tsx:163 -#: src/pages/company/CompanyDetail.tsx:241 +#: src/components/render/ModelType.tsx:180 +#: src/pages/company/CompanyDetail.tsx:243 msgid "Contacts" msgstr "" -#: src/components/render/ModelType.tsx:169 +#: src/components/render/ModelType.tsx:186 msgid "Owner" msgstr "" -#: src/components/render/ModelType.tsx:170 +#: src/components/render/ModelType.tsx:187 msgid "Owners" msgstr "" -#: src/components/render/ModelType.tsx:176 +#: src/components/render/ModelType.tsx:193 +#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "" -#: src/components/render/ModelType.tsx:177 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:73 +#: src/components/render/ModelType.tsx:194 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:81 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "" -#: src/components/render/Order.tsx:87 +#: src/components/render/ModelType.tsx:200 +msgid "Label Template" +msgstr "" + +#: src/components/render/ModelType.tsx:201 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:135 +msgid "Label Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:207 +msgid "Report Template" +msgstr "" + +#: src/components/render/ModelType.tsx:208 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:141 +msgid "Report Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:214 +msgid "Plugin Configuration" +msgstr "" + +#: src/components/render/ModelType.tsx:215 +msgid "Plugin Configurations" +msgstr "" + +#: src/components/render/Order.tsx:104 msgid "Shipment" msgstr "" -#: src/components/render/Part.tsx:12 +#: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:198 -#: src/pages/part/PartDetail.tsx:491 +#: src/pages/Index/Settings/SystemSettings.tsx:199 +#: src/pages/part/PartDetail.tsx:492 #: src/pages/stock/LocationDetail.tsx:344 -#: src/pages/stock/StockDetail.tsx:344 +#: src/pages/stock/StockDetail.tsx:352 #: src/tables/stock/StockItemTable.tsx:57 msgid "Stock" msgstr "" -#: src/components/render/Stock.tsx:26 -#: src/pages/stock/StockDetail.tsx:142 -#: src/pages/stock/StockDetail.tsx:501 +#: src/components/render/Stock.tsx:52 +#: src/pages/stock/StockDetail.tsx:145 +#: src/pages/stock/StockDetail.tsx:514 msgid "Serial Number" msgstr "" -#: src/components/render/Stock.tsx:28 -#: src/forms/BuildForms.tsx:189 +#: src/components/render/Stock.tsx:54 +#: src/forms/BuildForms.tsx:206 #: src/pages/part/pricing/BomPricingPanel.tsx:144 -#: src/pages/part/pricing/PriceBreakPanel.tsx:96 -#: src/pages/stock/StockDetail.tsx:137 -#: src/pages/stock/StockDetail.tsx:507 +#: src/pages/part/pricing/PriceBreakPanel.tsx:94 +#: src/pages/stock/StockDetail.tsx:140 +#: src/pages/stock/StockDetail.tsx:520 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:73 +#: src/tables/stock/StockTrackingTable.tsx:59 msgid "Quantity" msgstr "" -#: src/components/settings/SettingItem.tsx:46 -#: src/components/settings/SettingItem.tsx:99 -msgid "Setting updated" -msgstr "" - #: src/components/settings/SettingItem.tsx:47 #: src/components/settings/SettingItem.tsx:100 -msgid "{0} updated successfully" -msgstr "" +#~ msgid "{0} updated successfully" +#~ msgstr "{0} updated successfully" -#: src/components/settings/SettingItem.tsx:55 -msgid "Error editing setting" -msgstr "" - -#: src/components/settings/SettingItem.tsx:92 +#: src/components/settings/SettingList.tsx:67 msgid "Edit Setting" msgstr "" -#: src/components/settings/SettingList.tsx:63 -msgid "No settings specified" +#: src/components/settings/SettingList.tsx:78 +#: src/components/settings/SettingList.tsx:108 +msgid "Setting {0} updated successfully" msgstr "" -#: src/components/tables/ColumnRenderers.tsx:134 -#~ msgid "Shipment Date" -#~ msgstr "Shipment Date" +#: src/components/settings/SettingList.tsx:107 +msgid "Setting updated" +msgstr "" + +#: src/components/settings/SettingList.tsx:117 +msgid "Error editing setting" +msgstr "" + +#: src/components/settings/SettingList.tsx:158 +msgid "No settings specified" +msgstr "" #: src/components/tables/FilterGroup.tsx:29 #~ msgid "Add table filter" @@ -1731,10 +1806,6 @@ msgstr "" #~ msgid "This is a test filter" #~ msgstr "This is a test filter" -#: src/components/tables/stock/StockLocationTable.tsx:91 -#~ msgid "Location Type" -#~ msgstr "Location Type" - #: src/components/tables/stock/StockLocationTable.tsx:145 #~ msgid "Stock location updated" #~ msgstr "Stock location updated" @@ -2072,7 +2143,7 @@ msgstr "" #~ msgstr "Local Server" #: src/defaults/links.tsx:11 -#: src/pages/company/CompanyDetail.tsx:90 +#: src/pages/company/CompanyDetail.tsx:92 msgid "Website" msgstr "" @@ -2087,10 +2158,10 @@ msgstr "" #: src/defaults/links.tsx:31 #: src/defaults/menuItems.tsx:48 #: src/pages/company/ManufacturerDetail.tsx:9 -#: src/pages/company/ManufacturerPartDetail.tsx:231 +#: src/pages/company/ManufacturerPartDetail.tsx:235 #: src/pages/company/SupplierDetail.tsx:9 -#: src/pages/company/SupplierPartDetail.tsx:291 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:358 +#: src/pages/company/SupplierPartDetail.tsx:292 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:365 #: src/pages/purchasing/PurchasingIndex.tsx:52 msgid "Purchasing" msgstr "" @@ -2098,15 +2169,15 @@ msgstr "" #: src/defaults/links.tsx:32 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:323 +#: src/pages/sales/ReturnOrderDetail.tsx:330 #: src/pages/sales/SalesIndex.tsx:45 -#: src/pages/sales/SalesOrderDetail.tsx:345 +#: src/pages/sales/SalesOrderDetail.tsx:352 msgid "Sales" msgstr "" #: src/defaults/links.tsx:35 #: src/defaults/menuItems.tsx:71 -#: src/pages/Index/Playground.tsx:239 +#: src/pages/Index/Playground.tsx:238 msgid "Playground" msgstr "" @@ -2240,87 +2311,83 @@ msgstr "" #~ msgstr "Combusken battles with the intensely hot flames it spews" #: src/forms/AttachmentForms.tsx:57 -msgid "Add File" -msgstr "" +#~ msgid "Add File" +#~ msgstr "Add File" #: src/forms/AttachmentForms.tsx:57 -msgid "Add Link" -msgstr "" +#~ msgid "Add Link" +#~ msgstr "Add Link" #: src/forms/AttachmentForms.tsx:58 -msgid "File added" -msgstr "" +#~ msgid "File added" +#~ msgstr "File added" #: src/forms/AttachmentForms.tsx:58 -msgid "Link added" -msgstr "" +#~ msgid "Link added" +#~ msgstr "Link added" #: src/forms/AttachmentForms.tsx:99 -msgid "Edit File" -msgstr "" +#~ msgid "Edit File" +#~ msgstr "Edit File" #: src/forms/AttachmentForms.tsx:99 -msgid "Edit Link" -msgstr "" +#~ msgid "Edit Link" +#~ msgstr "Edit Link" #: src/forms/AttachmentForms.tsx:100 -msgid "File updated" -msgstr "" +#~ msgid "File updated" +#~ msgstr "File updated" #: src/forms/AttachmentForms.tsx:100 -msgid "Link updated" -msgstr "" - -#: src/forms/AttachmentForms.tsx:124 -msgid "Delete Attachment" -msgstr "" +#~ msgid "Link updated" +#~ msgstr "Link updated" #: src/forms/AttachmentForms.tsx:125 -msgid "Attachment deleted" -msgstr "" +#~ msgid "Attachment deleted" +#~ msgstr "Attachment deleted" #: src/forms/AttachmentForms.tsx:128 -msgid "Are you sure you want to delete this attachment?" -msgstr "" +#~ msgid "Are you sure you want to delete this attachment?" +#~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BuildForms.tsx:129 +#: src/forms/BuildForms.tsx:146 msgid "Next serial number" msgstr "" -#: src/forms/BuildForms.tsx:133 +#: src/forms/BuildForms.tsx:150 msgid "Latest serial number" msgstr "" -#: src/forms/BuildForms.tsx:205 +#: src/forms/BuildForms.tsx:222 msgid "Remove output" msgstr "" -#: src/forms/BuildForms.tsx:287 +#: src/forms/BuildForms.tsx:304 msgid "Complete Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:291 +#: src/forms/BuildForms.tsx:308 msgid "Build outputs have been completed" msgstr "" -#: src/forms/BuildForms.tsx:360 +#: src/forms/BuildForms.tsx:377 msgid "Scrap Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:364 +#: src/forms/BuildForms.tsx:381 msgid "Build outputs have been scrapped" msgstr "" -#: src/forms/BuildForms.tsx:396 -#: src/forms/BuildForms.tsx:420 +#: src/forms/BuildForms.tsx:413 +#: src/forms/BuildForms.tsx:437 msgid "Cancel Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:397 +#: src/forms/BuildForms.tsx:414 msgid "Selected build outputs will be deleted" msgstr "" -#: src/forms/BuildForms.tsx:424 +#: src/forms/BuildForms.tsx:441 msgid "Build outputs have been cancelled" msgstr "" @@ -2344,76 +2411,76 @@ msgstr "" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PurchaseOrderForms.tsx:265 +#: src/forms/PurchaseOrderForms.tsx:279 msgid "Choose Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:273 +#: src/forms/PurchaseOrderForms.tsx:287 msgid "Item Destination selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:282 +#: src/forms/PurchaseOrderForms.tsx:296 msgid "Part category default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:292 +#: src/forms/PurchaseOrderForms.tsx:306 msgid "Received stock location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:297 +#: src/forms/PurchaseOrderForms.tsx:311 msgid "Default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:308 -#: src/forms/PurchaseOrderForms.tsx:384 +#: src/forms/PurchaseOrderForms.tsx:322 +#: src/forms/PurchaseOrderForms.tsx:398 msgid "Scan Barcode" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:352 +#: src/forms/PurchaseOrderForms.tsx:366 msgid "Set Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:359 +#: src/forms/PurchaseOrderForms.tsx:373 msgid "Assign Batch Code{0}" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:368 +#: src/forms/PurchaseOrderForms.tsx:382 msgid "Change Status" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:393 -#: src/forms/StockForms.tsx:351 +#: src/forms/PurchaseOrderForms.tsx:407 +#: src/forms/StockForms.tsx:392 msgid "Remove item from list" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:418 -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:58 -#: src/pages/stock/StockDetail.tsx:167 -#: src/tables/ColumnRenderers.tsx:42 +#: src/forms/PurchaseOrderForms.tsx:432 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/pages/stock/StockDetail.tsx:170 +#: src/tables/ColumnRenderers.tsx:34 +#: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:434 +#: src/forms/PurchaseOrderForms.tsx:448 msgid "Store at default location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:447 +#: src/forms/PurchaseOrderForms.tsx:461 msgid "Store at line item destination" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:457 +#: src/forms/PurchaseOrderForms.tsx:471 msgid "Store with already received stock" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:613 +#: src/forms/PurchaseOrderForms.tsx:627 msgid "Receive Line Items" msgstr "" @@ -2421,119 +2488,118 @@ msgstr "" #~ msgid "Receive line items" #~ msgstr "Receive line items" -#: src/forms/StockForms.tsx:69 +#: src/forms/StockForms.tsx:101 msgid "Add given quantity as packs instead of individual items" msgstr "" -#: src/forms/StockForms.tsx:80 -msgid "Enter initial quantity for this stock item" -msgstr "" - -#: src/forms/StockForms.tsx:85 -msgid "Serial Numbers" -msgstr "" - -#: src/forms/StockForms.tsx:86 -msgid "Enter serial numbers for new stock (or leave blank)" -msgstr "" - #: src/forms/StockForms.tsx:110 #~ msgid "Create Stock Item" #~ msgstr "Create Stock Item" -#: src/forms/StockForms.tsx:135 -#: src/pages/stock/StockDetail.tsx:367 -#: src/tables/stock/StockItemTable.tsx:382 -#: src/tables/stock/StockItemTable.tsx:499 -msgid "Add Stock Item" +#: src/forms/StockForms.tsx:114 +msgid "Enter initial quantity for this stock item" +msgstr "" + +#: src/forms/StockForms.tsx:121 +msgid "Serial Numbers" +msgstr "" + +#: src/forms/StockForms.tsx:122 +msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" #: src/forms/StockForms.tsx:158 #~ msgid "Stock item updated" #~ msgstr "Stock item updated" -#: src/forms/StockForms.tsx:298 +#: src/forms/StockForms.tsx:176 +#: src/pages/stock/StockDetail.tsx:375 +#: src/tables/stock/StockItemTable.tsx:382 +#: src/tables/stock/StockItemTable.tsx:499 +msgid "Add Stock Item" +msgstr "" + +#: src/forms/StockForms.tsx:339 msgid "Loading..." msgstr "" -#: src/forms/StockForms.tsx:340 +#: src/forms/StockForms.tsx:381 msgid "Move to default location" msgstr "" -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/part/PartDetail.tsx:205 -#: src/pages/part/PartDetail.tsx:654 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/pages/part/PartDetail.tsx:206 +#: src/pages/part/PartDetail.tsx:655 #: src/tables/stock/StockItemTable.tsx:290 msgid "In Stock" msgstr "" -#: src/forms/StockForms.tsx:408 +#: src/forms/StockForms.tsx:449 msgid "Move" msgstr "" -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/tables/RowActions.tsx:147 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/tables/RowActions.tsx:149 msgid "Actions" msgstr "" -#: src/forms/StockForms.tsx:471 -#: src/pages/stock/StockDetail.tsx:440 -#: src/tables/settings/TemplateTable.tsx:266 -#: src/tables/stock/StockItemTestResultTable.tsx:348 +#: src/forms/StockForms.tsx:512 +#: src/pages/stock/StockDetail.tsx:454 +#: src/tables/stock/StockItemTestResultTable.tsx:339 msgid "Add" msgstr "" -#: src/forms/StockForms.tsx:499 +#: src/forms/StockForms.tsx:540 #: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:430 +#: src/pages/stock/StockDetail.tsx:444 msgid "Count" msgstr "" -#: src/forms/StockForms.tsx:744 +#: src/forms/StockForms.tsx:785 msgid "Add Stock" msgstr "" -#: src/forms/StockForms.tsx:753 +#: src/forms/StockForms.tsx:794 msgid "Remove Stock" msgstr "" -#: src/forms/StockForms.tsx:762 -#: src/pages/part/PartDetail.tsx:781 +#: src/forms/StockForms.tsx:803 +#: src/pages/part/PartDetail.tsx:782 msgid "Transfer Stock" msgstr "" -#: src/forms/StockForms.tsx:771 -#: src/pages/part/PartDetail.tsx:770 +#: src/forms/StockForms.tsx:812 +#: src/pages/part/PartDetail.tsx:771 msgid "Count Stock" msgstr "" -#: src/forms/StockForms.tsx:780 +#: src/forms/StockForms.tsx:821 msgid "Change Stock Status" msgstr "" -#: src/forms/StockForms.tsx:789 +#: src/forms/StockForms.tsx:830 msgid "Merge Stock" msgstr "" -#: src/forms/StockForms.tsx:808 +#: src/forms/StockForms.tsx:849 msgid "Delete Stock Items" msgstr "" -#: src/forms/StockForms.tsx:815 +#: src/forms/StockForms.tsx:856 msgid "Parent stock location" msgstr "" @@ -2728,7 +2794,7 @@ msgstr "" msgid "Welcome to your Dashboard{0}" msgstr "" -#: src/pages/Index/Playground.tsx:244 +#: src/pages/Index/Playground.tsx:243 msgid "This page is a showcase for the possibilities of Platform UI." msgstr "" @@ -3138,49 +3204,53 @@ msgstr "" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:79 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:87 msgid "Background Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:85 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:93 msgid "Error Reports" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:91 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:99 msgid "Currencies" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:109 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:117 msgid "Custom Units" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:115 -#: src/pages/part/CategoryDetail.tsx:254 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:123 +#: src/pages/part/CategoryDetail.tsx:255 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:121 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 +#~ msgid "Templates" +#~ msgstr "Templates" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:129 msgid "Category Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 -msgid "Templates" +#: src/pages/Index/Settings/AdminCenter/Index.tsx:147 +msgid "Location types" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:139 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:159 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:149 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:169 msgid "Quick Actions" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:154 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 msgid "Add a new user" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:173 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:193 msgid "Advanced Options" msgstr "" @@ -3225,26 +3295,32 @@ msgstr "" msgid "Plugin Settings" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:25 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:53 +msgid "Background Worker Not Running" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:54 +msgid "The background task manager service is not running. Contact your system administrator." +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:60 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:76 msgid "Pending Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:33 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:64 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:84 msgid "Scheduled Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:41 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:68 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:92 msgid "Failed Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:139 -msgid "Labels" -msgstr "" - #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:39 -msgid "Label" -msgstr "" +#~ msgid "Label" +#~ msgstr "Label" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67 #~ msgid "Stock item" @@ -3255,13 +3331,13 @@ msgstr "" #~ msgstr "Build line" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:88 -msgid "Reports" -msgstr "" +#~ msgid "Reports" +#~ msgstr "Reports" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:89 #: src/pages/build/BuildDetail.tsx:373 -msgid "Report" -msgstr "" +#~ msgid "Report" +#~ msgstr "Report" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99 #~ msgid "Purchase order" @@ -3275,14 +3351,9 @@ msgstr "" #~ msgid "Return order" #~ msgstr "Return order" -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135 -#: src/pages/part/PartDetail.tsx:518 -msgid "Bill of Materials" -msgstr "" - #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:145 -msgid "Tests" -msgstr "" +#~ msgid "Tests" +#~ msgstr "Tests" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:154 #~ msgid "Stock location" @@ -3321,26 +3392,30 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" +#: src/pages/Index/Settings/SystemSettings.tsx:139 +msgid "Labels" +msgstr "" + #: src/pages/Index/Settings/SystemSettings.tsx:145 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:223 -#: src/pages/part/PartDetail.tsx:589 +#: src/pages/Index/Settings/SystemSettings.tsx:224 +#: src/pages/part/PartDetail.tsx:590 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:228 -#: src/pages/build/BuildDetail.tsx:426 +#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:525 -#: src/pages/sales/SalesOrderDetail.tsx:263 +#: src/pages/part/PartDetail.tsx:526 +#: src/pages/sales/SalesOrderDetail.tsx:265 msgid "Build Orders" msgstr "Заказы на сборку" -#: src/pages/Index/Settings/SystemSettings.tsx:296 +#: src/pages/Index/Settings/SystemSettings.tsx:297 msgid "Switch to User Setting" msgstr "" @@ -3397,44 +3472,47 @@ msgstr "" #~ msgstr "Build Status" #: src/pages/build/BuildDetail.tsx:89 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:128 -#: src/pages/sales/ReturnOrderDetail.tsx:95 -#: src/pages/sales/SalesOrderDetail.tsx:99 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:130 +#: src/pages/sales/ReturnOrderDetail.tsx:97 +#: src/pages/sales/SalesOrderDetail.tsx:101 #: src/tables/build/BuildOrderTable.tsx:113 #: src/tables/machine/MachineListTable.tsx:326 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderTable.tsx:46 #: src/tables/sales/SalesOrderTable.tsx:52 #: src/tables/stock/StockItemTable.tsx:259 +#: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "" #: src/pages/build/BuildDetail.tsx:95 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:101 -#: src/pages/sales/ReturnOrderDetail.tsx:69 -#: src/pages/sales/SalesOrderDetail.tsx:73 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:103 +#: src/pages/sales/ReturnOrderDetail.tsx:71 +#: src/pages/sales/SalesOrderDetail.tsx:75 +#: src/tables/ColumnRenderers.tsx:106 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" msgstr "" #: src/pages/build/BuildDetail.tsx:100 -#: src/pages/company/CompanyDetail.tsx:84 -#: src/pages/company/ManufacturerPartDetail.tsx:75 -#: src/pages/company/SupplierPartDetail.tsx:82 -#: src/pages/part/CategoryDetail.tsx:91 -#: src/pages/part/PartDetail.tsx:132 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:122 -#: src/pages/sales/ReturnOrderDetail.tsx:89 -#: src/pages/sales/SalesOrderDetail.tsx:93 -#: src/pages/stock/LocationDetail.tsx:97 -#: src/tables/ColumnRenderers.tsx:95 +#: src/pages/company/CompanyDetail.tsx:86 +#: src/pages/company/ManufacturerPartDetail.tsx:76 +#: src/pages/company/SupplierPartDetail.tsx:83 +#: src/pages/part/CategoryDetail.tsx:92 +#: src/pages/part/PartDetail.tsx:133 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:124 +#: src/pages/sales/ReturnOrderDetail.tsx:91 +#: src/pages/sales/SalesOrderDetail.tsx:95 +#: src/pages/stock/LocationDetail.tsx:99 +#: src/tables/ColumnRenderers.tsx:66 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 #: src/tables/machine/MachineTypeTable.tsx:323 #: src/tables/part/RelatedPartTable.tsx:64 -#: src/tables/plugin/PluginListTable.tsx:172 -#: src/tables/plugin/PluginListTable.tsx:302 +#: src/tables/plugin/PluginListTable.tsx:129 +#: src/tables/plugin/PluginListTable.tsx:276 +#: src/tables/stock/LocationTypesTable.tsx:65 msgid "Description" msgstr "" @@ -3447,7 +3525,7 @@ msgid "Build Quantity" msgstr "" #: src/pages/build/BuildDetail.tsx:126 -#: src/pages/build/BuildDetail.tsx:249 +#: src/pages/build/BuildDetail.tsx:256 msgid "Completed Outputs" msgstr "" @@ -3457,10 +3535,10 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:150 -#: src/pages/part/PartDetail.tsx:320 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:214 -#: src/pages/sales/ReturnOrderDetail.tsx:182 -#: src/pages/sales/SalesOrderDetail.tsx:186 +#: src/pages/part/PartDetail.tsx:321 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:184 +#: src/pages/sales/SalesOrderDetail.tsx:188 #: src/tables/build/BuildOrderTable.tsx:148 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 @@ -3474,10 +3552,10 @@ msgid "Created" msgstr "" #: src/pages/build/BuildDetail.tsx:164 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:207 -#: src/pages/sales/ReturnOrderDetail.tsx:175 -#: src/pages/sales/SalesOrderDetail.tsx:179 -#: src/tables/ColumnRenderers.tsx:227 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:209 +#: src/pages/sales/ReturnOrderDetail.tsx:177 +#: src/pages/sales/SalesOrderDetail.tsx:181 +#: src/tables/ColumnRenderers.tsx:191 msgid "Target Date" msgstr "" @@ -3513,6 +3591,11 @@ msgstr "" #~ msgid "Unlink custom barcode from part" #~ msgstr "Unlink custom barcode from part" +#: src/pages/build/BuildDetail.tsx:197 +#: src/pages/stock/StockDetail.tsx:526 +msgid "Batch Code" +msgstr "" + #: src/pages/build/BuildDetail.tsx:202 #~ msgid "Build Order updated" #~ msgstr "Build Order updated" @@ -3521,86 +3604,87 @@ msgstr "" #~ msgid "Edit build order" #~ msgstr "Edit build order" -#: src/pages/build/BuildDetail.tsx:222 -msgid "Build Details" -msgstr "Подробности сборки" - #: src/pages/build/BuildDetail.tsx:226 #~ msgid "Duplicate build order" #~ msgstr "Duplicate build order" -#: src/pages/build/BuildDetail.tsx:228 -#: src/tables/build/BuildLineTable.tsx:225 -msgid "Allocate Stock" -msgstr "" +#: src/pages/build/BuildDetail.tsx:229 +msgid "Build Details" +msgstr "Подробности сборки" #: src/pages/build/BuildDetail.tsx:231 #~ msgid "Delete build order" #~ msgstr "Delete build order" -#: src/pages/build/BuildDetail.tsx:242 +#: src/pages/build/BuildDetail.tsx:235 +#: src/tables/build/BuildLineTable.tsx:225 +msgid "Allocate Stock" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:249 msgid "Incomplete Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:264 +#: src/pages/build/BuildDetail.tsx:271 msgid "Consumed Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:278 +#: src/pages/build/BuildDetail.tsx:285 msgid "Child Build Orders" msgstr "" -#: src/pages/build/BuildDetail.tsx:288 -#: src/pages/company/CompanyDetail.tsx:253 -#: src/pages/company/ManufacturerPartDetail.tsx:171 -#: src/pages/part/PartDetail.tsx:611 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:276 -#: src/pages/sales/ReturnOrderDetail.tsx:225 -#: src/pages/sales/SalesOrderDetail.tsx:273 -#: src/pages/stock/StockDetail.tsx:317 +#: src/pages/build/BuildDetail.tsx:295 +#: src/pages/company/CompanyDetail.tsx:255 +#: src/pages/company/ManufacturerPartDetail.tsx:172 +#: src/pages/part/PartDetail.tsx:612 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:278 +#: src/pages/sales/ReturnOrderDetail.tsx:227 +#: src/pages/sales/SalesOrderDetail.tsx:275 +#: src/pages/stock/StockDetail.tsx:325 msgid "Attachments" msgstr "" -#: src/pages/build/BuildDetail.tsx:300 -#: src/pages/company/CompanyDetail.tsx:265 -#: src/pages/part/PartDetail.tsx:623 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:288 -#: src/pages/sales/ReturnOrderDetail.tsx:237 -#: src/pages/sales/SalesOrderDetail.tsx:285 -#: src/pages/stock/StockDetail.tsx:329 +#: src/pages/build/BuildDetail.tsx:307 +#: src/pages/company/CompanyDetail.tsx:267 +#: src/pages/part/PartDetail.tsx:624 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:290 +#: src/pages/sales/ReturnOrderDetail.tsx:239 +#: src/pages/sales/SalesOrderDetail.tsx:287 +#: src/pages/stock/StockDetail.tsx:337 +#: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "" -#: src/pages/build/BuildDetail.tsx:318 +#: src/pages/build/BuildDetail.tsx:325 msgid "Edit Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:327 +#: src/pages/build/BuildDetail.tsx:334 msgid "Cancel Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:339 +#: src/pages/build/BuildDetail.tsx:346 #: src/tables/build/BuildOrderTable.tsx:167 #: src/tables/build/BuildOrderTable.tsx:182 msgid "Add Build Order" msgstr "" #: src/pages/build/BuildDetail.tsx:368 -msgid "Reporting Actions" -msgstr "" +#~ msgid "Reporting Actions" +#~ msgstr "Reporting Actions" #: src/pages/build/BuildDetail.tsx:374 -msgid "Print build report" -msgstr "" +#~ msgid "Print build report" +#~ msgstr "Print build report" -#: src/pages/build/BuildDetail.tsx:380 +#: src/pages/build/BuildDetail.tsx:378 msgid "Build Order Actions" msgstr "" -#: src/pages/build/BuildDetail.tsx:388 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:326 -#: src/pages/sales/ReturnOrderDetail.tsx:300 -#: src/pages/sales/SalesOrderDetail.tsx:310 +#: src/pages/build/BuildDetail.tsx:386 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:333 +#: src/pages/sales/ReturnOrderDetail.tsx:307 +#: src/pages/sales/SalesOrderDetail.tsx:317 msgid "Cancel order" msgstr "" @@ -3612,56 +3696,58 @@ msgstr "" #~ msgid "New Build Order" #~ msgstr "New Build Order" -#: src/pages/company/CompanyDetail.tsx:98 +#: src/pages/company/CompanyDetail.tsx:100 msgid "Phone Number" msgstr "" -#: src/pages/company/CompanyDetail.tsx:105 +#: src/pages/company/CompanyDetail.tsx:107 msgid "Email Address" msgstr "" -#: src/pages/company/CompanyDetail.tsx:115 +#: src/pages/company/CompanyDetail.tsx:117 msgid "Default Currency" msgstr "" -#: src/pages/company/CompanyDetail.tsx:120 +#: src/pages/company/CompanyDetail.tsx:122 #: src/pages/company/SupplierDetail.tsx:8 -#: src/pages/company/SupplierPartDetail.tsx:106 -#: src/pages/company/SupplierPartDetail.tsx:192 -#: src/pages/company/SupplierPartDetail.tsx:295 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:116 +#: src/pages/company/SupplierPartDetail.tsx:107 +#: src/pages/company/SupplierPartDetail.tsx:193 +#: src/pages/company/SupplierPartDetail.tsx:296 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:118 #: src/tables/company/CompanyTable.tsx:100 #: src/tables/purchasing/PurchaseOrderTable.tsx:88 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:36 msgid "Supplier" msgstr "" -#: src/pages/company/CompanyDetail.tsx:126 +#: src/pages/company/CompanyDetail.tsx:128 #: src/pages/company/ManufacturerDetail.tsx:8 -#: src/pages/company/ManufacturerPartDetail.tsx:93 -#: src/pages/company/ManufacturerPartDetail.tsx:235 -#: src/pages/company/SupplierPartDetail.tsx:121 +#: src/pages/company/ManufacturerPartDetail.tsx:94 +#: src/pages/company/ManufacturerPartDetail.tsx:239 +#: src/pages/company/SupplierPartDetail.tsx:122 #: src/tables/company/CompanyTable.tsx:105 msgid "Manufacturer" msgstr "" -#: src/pages/company/CompanyDetail.tsx:132 +#: src/pages/company/CompanyDetail.tsx:134 #: src/pages/company/CustomerDetail.tsx:8 #: src/pages/part/pricing/SaleHistoryPanel.tsx:39 -#: src/pages/sales/ReturnOrderDetail.tsx:83 -#: src/pages/sales/SalesOrderDetail.tsx:87 -#: src/pages/stock/StockDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:85 +#: src/pages/sales/SalesOrderDetail.tsx:89 +#: src/pages/stock/StockDetail.tsx:219 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:107 +#: src/tables/stock/StockTrackingTable.tsx:140 msgid "Customer" msgstr "" -#: src/pages/company/CompanyDetail.tsx:166 +#: src/pages/company/CompanyDetail.tsx:168 +#: src/tables/stock/StockTrackingTable.tsx:183 msgid "Details" msgstr "" -#: src/pages/company/CompanyDetail.tsx:172 +#: src/pages/company/CompanyDetail.tsx:174 msgid "Manufactured Parts" msgstr "" @@ -3669,7 +3755,7 @@ msgstr "" #~ msgid "Edit company" #~ msgstr "Edit company" -#: src/pages/company/CompanyDetail.tsx:181 +#: src/pages/company/CompanyDetail.tsx:183 msgid "Supplied Parts" msgstr "" @@ -3677,289 +3763,289 @@ msgstr "" #~ msgid "Delete company" #~ msgstr "Delete company" -#: src/pages/company/CompanyDetail.tsx:226 +#: src/pages/company/CompanyDetail.tsx:228 msgid "Assigned Stock" msgstr "" -#: src/pages/company/CompanyDetail.tsx:281 +#: src/pages/company/CompanyDetail.tsx:283 #: src/tables/company/CompanyTable.tsx:86 msgid "Edit Company" msgstr "" -#: src/pages/company/CompanyDetail.tsx:290 +#: src/pages/company/CompanyDetail.tsx:292 msgid "Company Actions" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:68 -#: src/pages/company/SupplierPartDetail.tsx:75 +#: src/pages/company/ManufacturerPartDetail.tsx:69 +#: src/pages/company/SupplierPartDetail.tsx:76 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:72 msgid "Internal Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:83 -#: src/pages/company/SupplierPartDetail.tsx:89 +#: src/pages/company/ManufacturerPartDetail.tsx:84 +#: src/pages/company/SupplierPartDetail.tsx:90 msgid "External Link" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:101 -#: src/pages/company/SupplierPartDetail.tsx:130 -#: src/tables/purchasing/ManufacturerPartTable.tsx:53 +#: src/pages/company/ManufacturerPartDetail.tsx:102 +#: src/pages/company/SupplierPartDetail.tsx:131 +#: src/tables/purchasing/ManufacturerPartTable.tsx:56 msgid "Manufacturer Part Number" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:130 +#: src/pages/company/ManufacturerPartDetail.tsx:131 msgid "Manufacturer Details" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:139 +#: src/pages/company/ManufacturerPartDetail.tsx:140 msgid "Manufacturer Part Details" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:145 -#: src/pages/part/PartDetail.tsx:485 +#: src/pages/company/ManufacturerPartDetail.tsx:146 +#: src/pages/part/PartDetail.tsx:486 msgid "Parameters" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:157 -#: src/pages/part/PartDetail.tsx:558 +#: src/pages/company/ManufacturerPartDetail.tsx:158 +#: src/pages/part/PartDetail.tsx:559 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:189 -#: src/tables/purchasing/ManufacturerPartTable.tsx:97 +#: src/pages/company/ManufacturerPartDetail.tsx:190 +#: src/tables/purchasing/ManufacturerPartTable.tsx:84 msgid "Edit Manufacturer Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:196 -#: src/tables/purchasing/ManufacturerPartTable.tsx:63 -#: src/tables/purchasing/ManufacturerPartTable.tsx:78 +#: src/pages/company/ManufacturerPartDetail.tsx:197 +#: src/tables/purchasing/ManufacturerPartTable.tsx:72 +#: src/tables/purchasing/ManufacturerPartTable.tsx:103 msgid "Add Manufacturer Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:209 +#: src/pages/company/ManufacturerPartDetail.tsx:213 msgid "Manufacturer Part Actions" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:247 +#: src/pages/company/ManufacturerPartDetail.tsx:251 msgid "ManufacturerPart" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:96 -#: src/tables/ColumnRenderers.tsx:146 +#: src/pages/company/SupplierPartDetail.tsx:97 +#: src/tables/ColumnRenderers.tsx:117 msgid "Note" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:114 +#: src/pages/company/SupplierPartDetail.tsx:115 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:57 msgid "SKU" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:142 -#: src/pages/company/SupplierPartDetail.tsx:193 -#: src/pages/stock/StockDetail.tsx:230 +#: src/pages/company/SupplierPartDetail.tsx:143 +#: src/pages/company/SupplierPartDetail.tsx:194 +#: src/pages/stock/StockDetail.tsx:233 msgid "Packaging" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:149 +#: src/pages/company/SupplierPartDetail.tsx:150 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:107 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143 #: src/tables/purchasing/SupplierPartTable.tsx:131 msgid "Pack Quantity" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:160 +#: src/pages/company/SupplierPartDetail.tsx:161 msgid "Supplier Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:167 +#: src/pages/company/SupplierPartDetail.tsx:168 msgid "Availability Updated" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:194 +#: src/pages/company/SupplierPartDetail.tsx:195 msgid "Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:203 +#: src/pages/company/SupplierPartDetail.tsx:204 msgid "Supplier Part Details" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:209 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:263 +#: src/pages/company/SupplierPartDetail.tsx:210 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:265 msgid "Received Stock" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:233 +#: src/pages/company/SupplierPartDetail.tsx:234 #: src/pages/part/PartPricingPanel.tsx:115 #: src/pages/part/pricing/PricingOverviewPanel.tsx:130 msgid "Supplier Pricing" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:248 +#: src/pages/company/SupplierPartDetail.tsx:249 msgid "Supplier Part Actions" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:272 +#: src/pages/company/SupplierPartDetail.tsx:273 #: src/tables/purchasing/SupplierPartTable.tsx:210 msgid "Edit Supplier Part" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:279 +#: src/pages/company/SupplierPartDetail.tsx:280 #: src/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "" -#: src/pages/part/CategoryDetail.tsx:83 -#: src/pages/stock/LocationDetail.tsx:89 +#: src/pages/part/CategoryDetail.tsx:84 +#: src/pages/stock/LocationDetail.tsx:91 #: src/tables/settings/ErrorTable.tsx:34 msgid "Path" msgstr "" -#: src/pages/part/CategoryDetail.tsx:99 +#: src/pages/part/CategoryDetail.tsx:100 msgid "Parent Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:116 +#: src/pages/part/CategoryDetail.tsx:117 msgid "Subcategories" msgstr "" -#: src/pages/part/CategoryDetail.tsx:123 -#: src/pages/stock/LocationDetail.tsx:129 -#: src/tables/part/PartCategoryTable.tsx:69 +#: src/pages/part/CategoryDetail.tsx:124 +#: src/pages/stock/LocationDetail.tsx:131 +#: src/tables/part/PartCategoryTable.tsx:65 msgid "Structural" msgstr "" -#: src/pages/part/CategoryDetail.tsx:129 +#: src/pages/part/CategoryDetail.tsx:130 msgid "Parent default location" msgstr "" -#: src/pages/part/CategoryDetail.tsx:136 +#: src/pages/part/CategoryDetail.tsx:137 msgid "Default location" msgstr "" -#: src/pages/part/CategoryDetail.tsx:147 +#: src/pages/part/CategoryDetail.tsx:148 msgid "Top level part category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:157 -#: src/pages/part/CategoryDetail.tsx:211 -#: src/tables/part/PartCategoryTable.tsx:96 +#: src/pages/part/CategoryDetail.tsx:158 +#: src/pages/part/CategoryDetail.tsx:212 +#: src/tables/part/PartCategoryTable.tsx:88 msgid "Edit Part Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:170 -#: src/pages/stock/LocationDetail.tsx:213 +#: src/pages/part/CategoryDetail.tsx:171 +#: src/pages/stock/LocationDetail.tsx:223 msgid "Delete items" msgstr "" -#: src/pages/part/CategoryDetail.tsx:178 -#: src/pages/part/CategoryDetail.tsx:216 +#: src/pages/part/CategoryDetail.tsx:179 +#: src/pages/part/CategoryDetail.tsx:217 msgid "Delete Part Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:181 +#: src/pages/part/CategoryDetail.tsx:182 msgid "Parts Action" msgstr "" -#: src/pages/part/CategoryDetail.tsx:182 +#: src/pages/part/CategoryDetail.tsx:183 msgid "Action for parts in this category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:187 +#: src/pages/part/CategoryDetail.tsx:188 msgid "Child Categories Action" msgstr "" -#: src/pages/part/CategoryDetail.tsx:188 +#: src/pages/part/CategoryDetail.tsx:189 msgid "Action for child categories in this category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:206 +#: src/pages/part/CategoryDetail.tsx:207 msgid "Category Actions" msgstr "" -#: src/pages/part/CategoryDetail.tsx:228 +#: src/pages/part/CategoryDetail.tsx:229 msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:138 +#: src/pages/part/PartDetail.tsx:139 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:145 +#: src/pages/part/PartDetail.tsx:146 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "" -#: src/pages/part/PartDetail.tsx:151 +#: src/pages/part/PartDetail.tsx:152 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:158 +#: src/pages/part/PartDetail.tsx:159 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:165 +#: src/pages/part/PartDetail.tsx:166 msgid "IPN" msgstr "" -#: src/pages/part/PartDetail.tsx:172 +#: src/pages/part/PartDetail.tsx:173 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:179 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39 +#: src/pages/part/PartDetail.tsx:180 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "" -#: src/pages/part/PartDetail.tsx:186 +#: src/pages/part/PartDetail.tsx:187 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:193 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:180 -#: src/pages/sales/ReturnOrderDetail.tsx:148 -#: src/pages/sales/SalesOrderDetail.tsx:152 +#: src/pages/part/PartDetail.tsx:194 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:182 +#: src/pages/sales/ReturnOrderDetail.tsx:150 +#: src/pages/sales/SalesOrderDetail.tsx:154 msgid "Link" msgstr "" -#: src/pages/part/PartDetail.tsx:211 -#: src/tables/bom/BomTable.tsx:269 +#: src/pages/part/PartDetail.tsx:212 +#: src/tables/bom/BomTable.tsx:271 #: src/tables/build/BuildLineTable.tsx:121 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:218 +#: src/pages/part/PartDetail.tsx:219 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:224 -#: src/tables/bom/BomTable.tsx:210 +#: src/pages/part/PartDetail.tsx:225 +#: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:233 +#: src/pages/part/PartDetail.tsx:234 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:241 +#: src/pages/part/PartDetail.tsx:242 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:248 -#: src/tables/bom/BomTable.tsx:234 +#: src/pages/part/PartDetail.tsx:249 +#: src/tables/bom/BomTable.tsx:236 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:255 -#: src/tables/bom/BomTable.tsx:218 +#: src/pages/part/PartDetail.tsx:256 +#: src/tables/bom/BomTable.tsx:220 #: src/tables/part/PartTable.tsx:82 msgid "Building" msgstr "" -#: src/pages/part/PartDetail.tsx:264 +#: src/pages/part/PartDetail.tsx:265 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 @@ -3968,45 +4054,47 @@ msgstr "" #: src/tables/machine/MachineListTable.tsx:585 #: src/tables/part/PartTable.tsx:168 #: src/tables/part/PartVariantTable.tsx:15 -#: src/tables/plugin/PluginListTable.tsx:190 -#: src/tables/plugin/PluginListTable.tsx:638 +#: src/tables/plugin/PluginListTable.tsx:149 +#: src/tables/plugin/PluginListTable.tsx:271 +#: src/tables/plugin/PluginListTable.tsx:563 #: src/tables/purchasing/SupplierPartTable.tsx:98 #: src/tables/purchasing/SupplierPartTable.tsx:187 #: src/tables/stock/StockItemTable.tsx:254 msgid "Active" msgstr "" -#: src/pages/part/PartDetail.tsx:269 +#: src/pages/part/PartDetail.tsx:270 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:274 -#: src/tables/bom/BomTable.tsx:264 +#: src/pages/part/PartDetail.tsx:275 +#: src/tables/bom/BomTable.tsx:266 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:279 +#: src/pages/part/PartDetail.tsx:280 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:284 -#: src/tables/bom/BomTable.tsx:259 +#: src/pages/part/PartDetail.tsx:285 +#: src/tables/bom/BomTable.tsx:261 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:289 +#: src/pages/part/PartDetail.tsx:290 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:294 +#: src/pages/part/PartDetail.tsx:295 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:299 +#: src/pages/part/PartDetail.tsx:300 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:307 +#: src/pages/part/PartDetail.tsx:308 +#: src/tables/ColumnRenderers.tsx:199 msgid "Creation Date" msgstr "" @@ -4014,7 +4102,7 @@ msgstr "" #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:312 +#: src/pages/part/PartDetail.tsx:313 msgid "Created By" msgstr "" @@ -4022,68 +4110,72 @@ msgstr "" #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:327 -msgid "Default Supplier" -msgstr "" - #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:338 +#: src/pages/part/PartDetail.tsx:328 +msgid "Default Supplier" +msgstr "" + +#: src/pages/part/PartDetail.tsx:339 #: src/tables/part/PartTable.tsx:151 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:373 -#: src/pages/stock/StockDetail.tsx:127 +#: src/pages/part/PartDetail.tsx:374 +#: src/pages/stock/StockDetail.tsx:130 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:408 +#: src/pages/part/PartDetail.tsx:409 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:479 +#: src/pages/part/PartDetail.tsx:480 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:505 +#: src/pages/part/PartDetail.tsx:506 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:512 -#: src/pages/stock/StockDetail.tsx:275 +#: src/pages/part/PartDetail.tsx:513 +#: src/pages/stock/StockDetail.tsx:283 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:532 +#: src/pages/part/PartDetail.tsx:519 +msgid "Bill of Materials" +msgstr "" + +#: src/pages/part/PartDetail.tsx:533 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:539 +#: src/pages/part/PartDetail.tsx:540 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:545 +#: src/pages/part/PartDetail.tsx:546 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:584 +#: src/pages/part/PartDetail.tsx:585 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:594 +#: src/pages/part/PartDetail.tsx:595 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:605 +#: src/pages/part/PartDetail.tsx:606 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:660 -#: src/pages/stock/StockDetail.tsx:148 +#: src/pages/part/PartDetail.tsx:661 +#: src/pages/stock/StockDetail.tsx:151 #: src/tables/build/BuildLineTable.tsx:36 #: src/tables/part/PartTable.tsx:107 #: src/tables/stock/StockItemTable.tsx:166 @@ -4091,49 +4183,51 @@ msgstr "" msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:666 +#: src/pages/part/PartDetail.tsx:667 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:672 -#: src/tables/bom/BomTable.tsx:274 +#: src/pages/part/PartDetail.tsx:673 +#: src/tables/bom/BomTable.tsx:276 #: src/tables/part/PartTable.tsx:76 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:678 -#: src/pages/stock/StockDetail.tsx:496 +#: src/pages/part/PartDetail.tsx:679 +#: src/pages/stock/StockDetail.tsx:509 #: src/tables/stock/StockItemTable.tsx:295 msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:697 +#: src/pages/part/PartDetail.tsx:698 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:704 +#: src/pages/part/PartDetail.tsx:705 #: src/tables/part/PartTable.tsx:266 #: src/tables/part/PartTable.tsx:279 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:716 +#: src/pages/part/PartDetail.tsx:717 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:725 +#: src/pages/part/PartDetail.tsx:726 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:763 +#: src/pages/part/PartDetail.tsx:764 +#: src/pages/stock/LocationDetail.tsx:301 +#: src/tables/stock/StockItemTable.tsx:409 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:771 +#: src/pages/part/PartDetail.tsx:772 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:782 +#: src/pages/part/PartDetail.tsx:783 msgid "Transfer part stock" msgstr "" @@ -4199,15 +4293,15 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151 #: src/pages/part/pricing/SupplierPricingPanel.tsx:83 -#: src/tables/bom/BomTable.tsx:149 +#: src/tables/bom/BomTable.tsx:151 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 msgid "Unit Price" msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:173 -#: src/tables/ColumnRenderers.tsx:278 -#: src/tables/bom/BomTable.tsx:158 +#: src/tables/ColumnRenderers.tsx:241 +#: src/tables/bom/BomTable.tsx:160 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 #: src/tables/sales/ReturnOrderTable.tsx:104 #: src/tables/sales/SalesOrderTable.tsx:134 @@ -4229,24 +4323,24 @@ msgid "Bar Chart" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:63 -#: src/pages/part/pricing/PriceBreakPanel.tsx:117 +#: src/pages/part/pricing/PriceBreakPanel.tsx:115 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:138 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:164 msgid "Add Price Break" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:76 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:149 msgid "Edit Price Break" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:86 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:157 msgid "Delete Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:102 -#: src/pages/part/pricing/PriceBreakPanel.tsx:193 +#: src/pages/part/pricing/PriceBreakPanel.tsx:100 +#: src/pages/part/pricing/PriceBreakPanel.tsx:191 msgid "Price Break" msgstr "" @@ -4275,7 +4369,7 @@ msgid "Overall Pricing" msgstr "" #: src/pages/part/pricing/PricingOverviewPanel.tsx:184 -#: src/pages/stock/StockDetail.tsx:121 +#: src/pages/stock/StockDetail.tsx:124 msgid "Last Updated" msgstr "" @@ -4309,9 +4403,8 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50 #: src/pages/part/pricing/SaleHistoryPanel.tsx:46 -#: src/tables/ColumnRenderers.tsx:217 -#: src/tables/plugin/PluginListTable.tsx:182 -#: src/tables/stock/StockItemTestResultTable.tsx:194 +#: src/tables/ColumnRenderers.tsx:180 +#: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" @@ -4338,89 +4431,89 @@ msgstr "" msgid "Variant Part" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:73 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:75 msgid "Edit Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:82 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:84 #: src/tables/purchasing/PurchaseOrderTable.tsx:128 #: src/tables/purchasing/PurchaseOrderTable.tsx:140 msgid "Add Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:107 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:109 msgid "Supplier Reference" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:137 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:252 -#: src/pages/sales/ReturnOrderDetail.tsx:104 -#: src/pages/sales/ReturnOrderDetail.tsx:220 -#: src/pages/sales/SalesOrderDetail.tsx:108 -#: src/pages/sales/SalesOrderDetail.tsx:248 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:139 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:254 +#: src/pages/sales/ReturnOrderDetail.tsx:106 +#: src/pages/sales/ReturnOrderDetail.tsx:222 +#: src/pages/sales/SalesOrderDetail.tsx:110 +#: src/pages/sales/SalesOrderDetail.tsx:250 msgid "Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:144 -#: src/pages/sales/ReturnOrderDetail.tsx:111 -#: src/pages/sales/SalesOrderDetail.tsx:115 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:146 +#: src/pages/sales/ReturnOrderDetail.tsx:113 +#: src/pages/sales/SalesOrderDetail.tsx:117 msgid "Completed Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:152 -#: src/pages/sales/ReturnOrderDetail.tsx:119 -#: src/pages/sales/SalesOrderDetail.tsx:123 -#: src/pages/sales/SalesOrderDetail.tsx:258 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:121 +#: src/pages/sales/SalesOrderDetail.tsx:125 +#: src/pages/sales/SalesOrderDetail.tsx:260 msgid "Completed Shipments" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:159 -#: src/pages/sales/ReturnOrderDetail.tsx:127 -#: src/pages/sales/SalesOrderDetail.tsx:131 -msgid "Order Currency" -msgstr "" - #: src/pages/purchasing/PurchaseOrderDetail.tsx:159 #: src/pages/sales/ReturnOrderDetail.tsx:126 #: src/pages/sales/SalesOrderDetail.tsx:130 #~ msgid "Order Currency," #~ msgstr "Order Currency," -#: src/pages/purchasing/PurchaseOrderDetail.tsx:166 -#: src/pages/sales/ReturnOrderDetail.tsx:134 -#: src/pages/sales/SalesOrderDetail.tsx:138 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:161 +#: src/pages/sales/ReturnOrderDetail.tsx:129 +#: src/pages/sales/SalesOrderDetail.tsx:133 +msgid "Order Currency" +msgstr "" + +#: src/pages/purchasing/PurchaseOrderDetail.tsx:168 +#: src/pages/sales/ReturnOrderDetail.tsx:136 +#: src/pages/sales/SalesOrderDetail.tsx:140 msgid "Total Cost" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:201 -#: src/pages/sales/ReturnOrderDetail.tsx:169 -#: src/pages/sales/SalesOrderDetail.tsx:173 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:203 +#: src/pages/sales/ReturnOrderDetail.tsx:171 +#: src/pages/sales/SalesOrderDetail.tsx:175 msgid "Created On" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:246 -#: src/pages/sales/ReturnOrderDetail.tsx:214 -#: src/pages/sales/SalesOrderDetail.tsx:242 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:248 +#: src/pages/sales/ReturnOrderDetail.tsx:216 +#: src/pages/sales/SalesOrderDetail.tsx:244 msgid "Order Details" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:316 -#: src/pages/sales/ReturnOrderDetail.tsx:290 -#: src/pages/sales/SalesOrderDetail.tsx:302 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:323 +#: src/pages/sales/ReturnOrderDetail.tsx:297 +#: src/pages/sales/SalesOrderDetail.tsx:309 msgid "Order Actions" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:75 -#: src/pages/sales/SalesOrderDetail.tsx:79 +#: src/pages/sales/ReturnOrderDetail.tsx:77 +#: src/pages/sales/SalesOrderDetail.tsx:81 #: src/tables/sales/SalesOrderTable.tsx:123 msgid "Customer Reference" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:267 +#: src/pages/sales/ReturnOrderDetail.tsx:269 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:276 +#: src/pages/sales/ReturnOrderDetail.tsx:278 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" @@ -4430,68 +4523,72 @@ msgstr "" msgid "Customers" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:219 +#: src/pages/sales/SalesOrderDetail.tsx:221 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:228 +#: src/pages/sales/SalesOrderDetail.tsx:230 #: src/tables/sales/SalesOrderTable.tsx:83 #: src/tables/sales/SalesOrderTable.tsx:95 msgid "Add Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:253 +#: src/pages/sales/SalesOrderDetail.tsx:255 msgid "Pending Shipments" msgstr "" -#: src/pages/stock/LocationDetail.tsx:105 +#: src/pages/stock/LocationDetail.tsx:107 msgid "Parent Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:123 +#: src/pages/stock/LocationDetail.tsx:125 msgid "Sublocations" msgstr "" -#: src/pages/stock/LocationDetail.tsx:135 +#: src/pages/stock/LocationDetail.tsx:137 msgid "External" msgstr "" -#: src/pages/stock/LocationDetail.tsx:144 +#: src/pages/stock/LocationDetail.tsx:143 +msgid "Location Type" +msgstr "" + +#: src/pages/stock/LocationDetail.tsx:154 msgid "Top level stock location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:155 +#: src/pages/stock/LocationDetail.tsx:165 msgid "Location Details" msgstr "" -#: src/pages/stock/LocationDetail.tsx:181 +#: src/pages/stock/LocationDetail.tsx:191 msgid "Default Parts" msgstr "" -#: src/pages/stock/LocationDetail.tsx:200 +#: src/pages/stock/LocationDetail.tsx:210 #: src/pages/stock/LocationDetail.tsx:328 -#: src/tables/stock/StockLocationTable.tsx:108 +#: src/tables/stock/StockLocationTable.tsx:100 msgid "Edit Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:221 +#: src/pages/stock/LocationDetail.tsx:231 #: src/pages/stock/LocationDetail.tsx:333 msgid "Delete Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:224 +#: src/pages/stock/LocationDetail.tsx:234 msgid "Items Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:225 +#: src/pages/stock/LocationDetail.tsx:235 msgid "Action for stock items in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:230 +#: src/pages/stock/LocationDetail.tsx:240 msgid "Child Locations Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:231 +#: src/pages/stock/LocationDetail.tsx:241 msgid "Action for child locations in this location" msgstr "" @@ -4499,11 +4596,11 @@ msgstr "" msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:100 +#: src/pages/stock/StockDetail.tsx:103 msgid "Base Part" msgstr "" -#: src/pages/stock/StockDetail.tsx:107 +#: src/pages/stock/StockDetail.tsx:110 msgid "Stock Status" msgstr "" @@ -4515,15 +4612,16 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:174 +#: src/pages/stock/StockDetail.tsx:177 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:190 +#: src/pages/stock/StockDetail.tsx:193 msgid "Consumed By" msgstr "" -#: src/pages/stock/StockDetail.tsx:199 +#: src/pages/stock/StockDetail.tsx:202 +#: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" msgstr "" @@ -4535,78 +4633,78 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:264 +#: src/pages/stock/StockDetail.tsx:267 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:270 +#: src/pages/stock/StockDetail.tsx:273 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:282 +#: src/pages/stock/StockDetail.tsx:290 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:296 +#: src/pages/stock/StockDetail.tsx:304 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:303 +#: src/pages/stock/StockDetail.tsx:311 msgid "Child Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:358 +#: src/pages/stock/StockDetail.tsx:366 msgid "Edit Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:385 +#: src/pages/stock/StockDetail.tsx:393 msgid "Delete Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:426 -msgid "Stock Operations" -msgstr "" - -#: src/pages/stock/StockDetail.tsx:431 -msgid "Count stock" -msgstr "" - #: src/pages/stock/StockDetail.tsx:433 #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:441 +#: src/pages/stock/StockDetail.tsx:440 +msgid "Stock Operations" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:445 +msgid "Count stock" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:455 #: src/tables/stock/StockItemTable.tsx:414 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:449 +#: src/pages/stock/StockDetail.tsx:463 #: src/tables/stock/StockItemTable.tsx:423 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:456 +#: src/pages/stock/StockDetail.tsx:470 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:457 +#: src/pages/stock/StockDetail.tsx:471 #: src/tables/stock/StockItemTable.tsx:443 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:469 +#: src/pages/stock/StockDetail.tsx:482 msgid "Stock Item Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:513 -msgid "Batch Code" -msgstr "" - -#: src/tables/ColumnRenderers.tsx:50 +#: src/tables/ColumnRenderers.tsx:42 msgid "No location set" msgstr "" -#: src/tables/ColumnRenderers.tsx:264 +#: src/tables/ColumnRenderers.tsx:207 +msgid "Shipment Date" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:227 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "" @@ -4616,21 +4714,33 @@ msgstr "" msgid "Select Columns" msgstr "Выбрать столбцы" -#: src/tables/DownloadAction.tsx:11 +#: src/tables/DownloadAction.tsx:13 +#~ msgid "Excel" +#~ msgstr "Excel" + +#: src/tables/DownloadAction.tsx:21 +#~ msgid "Download selected data" +#~ msgstr "Download selected data" + +#: src/tables/DownloadAction.tsx:22 msgid "CSV" msgstr "CSV" -#: src/tables/DownloadAction.tsx:12 +#: src/tables/DownloadAction.tsx:23 msgid "TSV" msgstr "TSV" -#: src/tables/DownloadAction.tsx:13 -msgid "Excel" -msgstr "Excel" +#: src/tables/DownloadAction.tsx:24 +msgid "Excel (.xls)" +msgstr "" -#: src/tables/DownloadAction.tsx:21 -msgid "Download selected data" -msgstr "Загрузить выбранные данные" +#: src/tables/DownloadAction.tsx:25 +msgid "Excel (.xlsx)" +msgstr "" + +#: src/tables/DownloadAction.tsx:39 +msgid "Download Data" +msgstr "" #: src/tables/Filter.tsx:88 #: src/tables/build/BuildOrderTable.tsx:126 @@ -4663,102 +4773,102 @@ msgstr "" msgid "Remove filter" msgstr "Убрать фильтрацию" -#: src/tables/FilterSelectDrawer.tsx:147 +#: src/tables/FilterSelectDrawer.tsx:136 msgid "Select filter" msgstr "Выбрать фильтр" -#: src/tables/FilterSelectDrawer.tsx:148 +#: src/tables/FilterSelectDrawer.tsx:137 msgid "Filter" msgstr "Отфильтровать" -#: src/tables/FilterSelectDrawer.tsx:155 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:33 -#: src/tables/stock/StockItemTestResultTable.tsx:182 +#: src/tables/FilterSelectDrawer.tsx:144 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 +#: src/tables/stock/StockItemTestResultTable.tsx:180 msgid "Value" msgstr "Значение" -#: src/tables/FilterSelectDrawer.tsx:156 +#: src/tables/FilterSelectDrawer.tsx:145 msgid "Select filter value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:196 +#: src/tables/FilterSelectDrawer.tsx:185 msgid "Table Filters" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:228 +#: src/tables/FilterSelectDrawer.tsx:217 msgid "Add Filter" msgstr "Добавить фильтр" -#: src/tables/FilterSelectDrawer.tsx:237 +#: src/tables/FilterSelectDrawer.tsx:226 msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:118 -#: src/tables/InvenTreeTable.tsx:384 -#: src/tables/InvenTreeTable.tsx:405 +#: src/tables/InvenTreeTable.tsx:119 +#: src/tables/InvenTreeTable.tsx:390 +#: src/tables/InvenTreeTable.tsx:411 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:416 +#: src/tables/InvenTreeTable.tsx:422 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:424 +#: src/tables/InvenTreeTable.tsx:430 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:427 +#: src/tables/InvenTreeTable.tsx:433 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:436 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:433 +#: src/tables/InvenTreeTable.tsx:439 msgid "Not found" msgstr "" -#: src/tables/InvenTreeTable.tsx:482 -#: src/tables/InvenTreeTable.tsx:604 +#: src/tables/InvenTreeTable.tsx:488 +#: src/tables/InvenTreeTable.tsx:611 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:486 +#: src/tables/InvenTreeTable.tsx:492 msgid "Are you sure you want to delete the selected records?" msgstr "" -#: src/tables/InvenTreeTable.tsx:488 +#: src/tables/InvenTreeTable.tsx:494 msgid "This action cannot be undone!" msgstr "" -#: src/tables/InvenTreeTable.tsx:516 +#: src/tables/InvenTreeTable.tsx:522 msgid "Deleted records" msgstr "" -#: src/tables/InvenTreeTable.tsx:517 +#: src/tables/InvenTreeTable.tsx:523 msgid "Records were deleted successfully" msgstr "" -#: src/tables/InvenTreeTable.tsx:526 +#: src/tables/InvenTreeTable.tsx:532 msgid "Failed to delete records" msgstr "" -#: src/tables/InvenTreeTable.tsx:585 -#: src/tables/InvenTreeTable.tsx:586 -msgid "Barcode actions" -msgstr "" - #: src/tables/InvenTreeTable.tsx:594 #: src/tables/InvenTreeTable.tsx:595 -msgid "Print actions" +#~ msgid "Print actions" +#~ msgstr "Print actions" + +#: src/tables/InvenTreeTable.tsx:601 +#: src/tables/InvenTreeTable.tsx:602 +msgid "Barcode actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:620 +#: src/tables/InvenTreeTable.tsx:630 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:638 +#: src/tables/InvenTreeTable.tsx:648 msgid "Table filters" msgstr "" @@ -4770,138 +4880,138 @@ msgstr "" msgid "Part Information" msgstr "" -#: src/tables/bom/BomTable.tsx:177 +#: src/tables/bom/BomTable.tsx:179 #: src/tables/part/PartTable.tsx:124 msgid "No stock" msgstr "" -#: src/tables/bom/BomTable.tsx:185 +#: src/tables/bom/BomTable.tsx:187 #: src/tables/build/BuildLineTable.tsx:104 #: src/tables/part/PartTable.tsx:115 msgid "External stock" msgstr "" -#: src/tables/bom/BomTable.tsx:193 +#: src/tables/bom/BomTable.tsx:195 #: src/tables/build/BuildLineTable.tsx:67 msgid "Includes substitute stock" msgstr "" -#: src/tables/bom/BomTable.tsx:202 +#: src/tables/bom/BomTable.tsx:204 #: src/tables/build/BuildLineTable.tsx:77 msgid "Includes variant stock" msgstr "" -#: src/tables/bom/BomTable.tsx:227 +#: src/tables/bom/BomTable.tsx:229 #: src/tables/part/PartTable.tsx:143 #: src/tables/stock/StockItemTable.tsx:205 msgid "Stock Information" msgstr "" -#: src/tables/bom/BomTable.tsx:239 +#: src/tables/bom/BomTable.tsx:241 #: src/tables/build/BuildLineTable.tsx:195 msgid "Consumable item" msgstr "" -#: src/tables/bom/BomTable.tsx:260 +#: src/tables/bom/BomTable.tsx:262 msgid "Show trackable items" msgstr "" -#: src/tables/bom/BomTable.tsx:265 +#: src/tables/bom/BomTable.tsx:267 msgid "Show asssmbled items" msgstr "" -#: src/tables/bom/BomTable.tsx:270 +#: src/tables/bom/BomTable.tsx:272 msgid "Show items with available stock" msgstr "" -#: src/tables/bom/BomTable.tsx:275 +#: src/tables/bom/BomTable.tsx:277 msgid "Show items on order" msgstr "" -#: src/tables/bom/BomTable.tsx:279 +#: src/tables/bom/BomTable.tsx:281 msgid "Validated" msgstr "" -#: src/tables/bom/BomTable.tsx:280 +#: src/tables/bom/BomTable.tsx:282 msgid "Show validated items" msgstr "" -#: src/tables/bom/BomTable.tsx:284 +#: src/tables/bom/BomTable.tsx:286 #: src/tables/bom/UsedInTable.tsx:63 msgid "Inherited" msgstr "" -#: src/tables/bom/BomTable.tsx:285 +#: src/tables/bom/BomTable.tsx:287 #: src/tables/bom/UsedInTable.tsx:64 msgid "Show inherited items" msgstr "" -#: src/tables/bom/BomTable.tsx:289 +#: src/tables/bom/BomTable.tsx:291 #: src/tables/bom/UsedInTable.tsx:68 #: src/tables/build/BuildLineTable.tsx:46 msgid "Optional" msgstr "" -#: src/tables/bom/BomTable.tsx:290 +#: src/tables/bom/BomTable.tsx:292 #: src/tables/bom/UsedInTable.tsx:69 msgid "Show optional items" msgstr "" -#: src/tables/bom/BomTable.tsx:294 +#: src/tables/bom/BomTable.tsx:296 #: src/tables/build/BuildLineTable.tsx:41 msgid "Consumable" msgstr "" -#: src/tables/bom/BomTable.tsx:295 +#: src/tables/bom/BomTable.tsx:297 msgid "Show consumable items" msgstr "" -#: src/tables/bom/BomTable.tsx:299 +#: src/tables/bom/BomTable.tsx:301 msgid "Has Pricing" msgstr "" -#: src/tables/bom/BomTable.tsx:300 -msgid "Show items with pricing" -msgstr "" - #: src/tables/bom/BomTable.tsx:301 #~ msgid "Create BOM Item" #~ msgstr "Create BOM Item" -#: src/tables/bom/BomTable.tsx:309 -#: src/tables/bom/BomTable.tsx:397 +#: src/tables/bom/BomTable.tsx:302 +msgid "Show items with pricing" +msgstr "" + +#: src/tables/bom/BomTable.tsx:311 +#: src/tables/bom/BomTable.tsx:399 msgid "Add BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:314 +#: src/tables/bom/BomTable.tsx:316 msgid "BOM item created" msgstr "" -#: src/tables/bom/BomTable.tsx:321 +#: src/tables/bom/BomTable.tsx:323 msgid "Edit BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:323 +#: src/tables/bom/BomTable.tsx:325 msgid "BOM item updated" msgstr "" -#: src/tables/bom/BomTable.tsx:330 -msgid "Delete BOM Item" -msgstr "" - -#: src/tables/bom/BomTable.tsx:331 -msgid "BOM item deleted" -msgstr "" - #: src/tables/bom/BomTable.tsx:331 #~ msgid "Edit Bom Item" #~ msgstr "Edit Bom Item" +#: src/tables/bom/BomTable.tsx:332 +msgid "Delete BOM Item" +msgstr "" + +#: src/tables/bom/BomTable.tsx:333 +msgid "BOM item deleted" +msgstr "" + #: src/tables/bom/BomTable.tsx:333 #~ msgid "Bom item updated" #~ msgstr "Bom item updated" -#: src/tables/bom/BomTable.tsx:341 +#: src/tables/bom/BomTable.tsx:343 msgid "View BOM" msgstr "" @@ -4917,11 +5027,11 @@ msgstr "" #~ msgid "Are you sure you want to remove this BOM item?" #~ msgstr "Are you sure you want to remove this BOM item?" -#: src/tables/bom/BomTable.tsx:352 +#: src/tables/bom/BomTable.tsx:354 msgid "Validate BOM line" msgstr "" -#: src/tables/bom/BomTable.tsx:360 +#: src/tables/bom/BomTable.tsx:362 msgid "Edit Substitutes" msgstr "" @@ -5038,11 +5148,11 @@ msgid "Filter by responsible owner" msgstr "" #: src/tables/build/BuildOutputTable.tsx:114 -#: src/tables/build/BuildOutputTable.tsx:150 +#: src/tables/build/BuildOutputTable.tsx:152 msgid "Add Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:155 +#: src/tables/build/BuildOutputTable.tsx:157 msgid "Complete selected outputs" msgstr "" @@ -5050,68 +5160,68 @@ msgstr "" #~ msgid "Delete build output" #~ msgstr "Delete build output" -#: src/tables/build/BuildOutputTable.tsx:165 +#: src/tables/build/BuildOutputTable.tsx:167 msgid "Scrap selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:175 +#: src/tables/build/BuildOutputTable.tsx:177 msgid "Cancel selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:191 +#: src/tables/build/BuildOutputTable.tsx:193 msgid "Allocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:192 +#: src/tables/build/BuildOutputTable.tsx:194 msgid "Allocate stock to build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:197 +#: src/tables/build/BuildOutputTable.tsx:199 msgid "Deallocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:198 +#: src/tables/build/BuildOutputTable.tsx:200 msgid "Deallocate stock from build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:203 +#: src/tables/build/BuildOutputTable.tsx:205 msgid "Complete" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:204 +#: src/tables/build/BuildOutputTable.tsx:206 msgid "Complete build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:213 +#: src/tables/build/BuildOutputTable.tsx:215 msgid "Scrap" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:214 +#: src/tables/build/BuildOutputTable.tsx:216 msgid "Scrap build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:224 +#: src/tables/build/BuildOutputTable.tsx:226 msgid "Cancel build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:251 +#: src/tables/build/BuildOutputTable.tsx:253 msgid "Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:264 +#: src/tables/build/BuildOutputTable.tsx:266 msgid "Batch" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:278 +#: src/tables/build/BuildOutputTable.tsx:280 msgid "Allocated Items" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:288 +#: src/tables/build/BuildOutputTable.tsx:290 msgid "Required Tests" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:317 -#: src/tables/stock/StockItemTestResultTable.tsx:146 +#: src/tables/build/BuildOutputTable.tsx:319 +#: src/tables/stock/StockItemTestResultTable.tsx:144 msgid "Test Results" msgstr "" @@ -5132,7 +5242,7 @@ msgstr "" msgid "Delete Address" msgstr "" -#: src/tables/company/AddressTable.tsx:145 +#: src/tables/company/AddressTable.tsx:144 msgid "Are you sure you want to delete this address?" msgstr "" @@ -5177,37 +5287,53 @@ msgstr "" msgid "Add contact" msgstr "" -#: src/tables/general/AttachmentTable.tsx:161 +#: src/tables/general/AttachmentTable.tsx:130 msgid "File uploaded" msgstr "" -#: src/tables/general/AttachmentTable.tsx:162 +#: src/tables/general/AttachmentTable.tsx:131 msgid "File {0} uploaded successfully" msgstr "" -#: src/tables/general/AttachmentTable.tsx:173 +#: src/tables/general/AttachmentTable.tsx:142 msgid "Upload Error" msgstr "" -#: src/tables/general/AttachmentTable.tsx:174 +#: src/tables/general/AttachmentTable.tsx:143 msgid "File could not be uploaded" msgstr "" #: src/tables/general/AttachmentTable.tsx:187 +msgid "Upload Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:197 +msgid "Edit Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:211 +msgid "Delete Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:221 msgid "Add attachment" msgstr "" -#: src/tables/general/AttachmentTable.tsx:207 +#: src/tables/general/AttachmentTable.tsx:232 msgid "Add external link" msgstr "" -#: src/tables/general/AttachmentTable.tsx:239 +#: src/tables/general/AttachmentTable.tsx:254 +#~ msgid "Upload attachment" +#~ msgstr "Upload attachment" + +#: src/tables/general/AttachmentTable.tsx:289 msgid "No attachments found" msgstr "" -#: src/tables/general/AttachmentTable.tsx:254 -msgid "Upload attachment" -msgstr "Загрузить вложения" +#: src/tables/general/AttachmentTable.tsx:325 +msgid "Drag attachment file here to upload" +msgstr "" #: src/tables/machine/MachineListTable.tsx:199 msgid "Machine restarted" @@ -5332,8 +5458,8 @@ msgstr "" #: src/tables/machine/MachineTypeTable.tsx:135 #: src/tables/machine/MachineTypeTable.tsx:255 -#: src/tables/plugin/PluginListTable.tsx:215 -#: src/tables/plugin/PluginListTable.tsx:643 +#: src/tables/plugin/PluginListTable.tsx:180 +#: src/tables/plugin/PluginListTable.tsx:568 msgid "Builtin" msgstr "" @@ -5375,7 +5501,7 @@ msgid "Message" msgstr "" #: src/tables/part/ParametricPartTable.tsx:75 -#: src/tables/part/PartParameterTable.tsx:87 +#: src/tables/part/PartParameterTable.tsx:88 msgid "Internal Units" msgstr "" @@ -5388,29 +5514,29 @@ msgid "Add Part Parameter" msgstr "" #: src/tables/part/ParametricPartTable.tsx:147 -#: src/tables/part/PartParameterTable.tsx:128 -#: src/tables/part/PartParameterTable.tsx:150 +#: src/tables/part/PartParameterTable.tsx:121 +#: src/tables/part/PartParameterTable.tsx:144 msgid "Edit Part Parameter" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:64 +#: src/tables/part/PartCategoryTable.tsx:60 #: src/tables/part/PartTable.tsx:180 msgid "Include Subcategories" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:65 +#: src/tables/part/PartCategoryTable.tsx:61 msgid "Include subcategories in results" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:70 +#: src/tables/part/PartCategoryTable.tsx:66 msgid "Show structural categories" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:77 +#: src/tables/part/PartCategoryTable.tsx:73 msgid "New Part Category" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:106 +#: src/tables/part/PartCategoryTable.tsx:98 msgid "Add Part Category" msgstr "" @@ -5435,20 +5561,20 @@ msgstr "" #~ msgid "[{0}]" #~ msgstr "[{0}]" -#: src/tables/part/PartParameterTable.tsx:112 +#: src/tables/part/PartParameterTable.tsx:105 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:136 -#: src/tables/part/PartParameterTable.tsx:158 +#: src/tables/part/PartParameterTable.tsx:130 +#: src/tables/part/PartParameterTable.tsx:152 msgid "Delete Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:175 +#: src/tables/part/PartParameterTable.tsx:170 msgid "Add parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:196 +#: src/tables/part/PartParameterTable.tsx:191 #: src/tables/stock/StockItemTable.tsx:300 msgid "Include Variants" msgstr "" @@ -5482,15 +5608,15 @@ msgstr "" msgid "Add Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:97 +#: src/tables/part/PartParameterTemplateTable.tsx:100 msgid "Edit Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:105 +#: src/tables/part/PartParameterTemplateTable.tsx:111 msgid "Delete Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:135 +#: src/tables/part/PartParameterTemplateTable.tsx:141 msgid "Add parameter template" msgstr "" @@ -5588,7 +5714,7 @@ msgid "No Results" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:79 -#: src/tables/stock/StockItemTestResultTable.tsx:385 +#: src/tables/stock/StockItemTestResultTable.tsx:376 msgid "Required" msgstr "" @@ -5597,8 +5723,8 @@ msgid "Show required tests" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:84 -#: src/tables/settings/TemplateTable.tsx:213 -#: src/tables/settings/TemplateTable.tsx:275 +#: src/tables/settings/TemplateTable.tsx:160 +#: src/tables/settings/TemplateTable.tsx:270 msgid "Enabled" msgstr "" @@ -5639,26 +5765,30 @@ msgid "Show tests which have recorded results" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:126 -#: src/tables/part/PartTestTemplateTable.tsx:195 +#: src/tables/part/PartTestTemplateTable.tsx:201 msgid "Add Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:139 +#: src/tables/part/PartTestTemplateTable.tsx:142 msgid "Edit Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:147 +#: src/tables/part/PartTestTemplateTable.tsx:153 msgid "Delete Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:149 +#: src/tables/part/PartTestTemplateTable.tsx:155 msgid "This action cannot be reversed" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:151 +#: src/tables/part/PartTestTemplateTable.tsx:157 msgid "Any tests results associated with this template will be deleted" msgstr "" +#: src/tables/part/PartThumbTable.tsx:203 +msgid "Select" +msgstr "" + #: src/tables/part/PartVariantTable.tsx:16 msgid "Show active variants" msgstr "" @@ -5695,252 +5825,273 @@ msgstr "" msgid "Stage" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:113 -msgid "Plugin with id {id} not found" +#: src/tables/plugin/PluginListTable.tsx:95 +msgid "Plugin with key {pluginKey} not found" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:115 +#: src/tables/plugin/PluginListTable.tsx:97 msgid "An error occurred while fetching plugin details" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:134 -msgid "Plugin Actions" -msgstr "" +#: src/tables/plugin/PluginListTable.tsx:113 +#~ msgid "Plugin with id {id} not found" +#~ msgstr "Plugin with id {id} not found" -#: src/tables/plugin/PluginListTable.tsx:138 -#: src/tables/plugin/PluginListTable.tsx:141 -msgid "Edit plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:152 -#: src/tables/plugin/PluginListTable.tsx:153 -msgid "Reload" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:166 +#: src/tables/plugin/PluginListTable.tsx:122 msgid "Plugin information" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:177 +#: src/tables/plugin/PluginListTable.tsx:134 msgid "Author" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:198 +#: src/tables/plugin/PluginListTable.tsx:134 +#~ msgid "Plugin Actions" +#~ msgstr "Plugin Actions" + +#: src/tables/plugin/PluginListTable.tsx:138 +#: src/tables/plugin/PluginListTable.tsx:141 +#~ msgid "Edit plugin" +#~ msgstr "Edit plugin" + +#: src/tables/plugin/PluginListTable.tsx:152 +#: src/tables/plugin/PluginListTable.tsx:153 +#~ msgid "Reload" +#~ msgstr "Reload" + +#: src/tables/plugin/PluginListTable.tsx:154 +msgid "Plugin is not active" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:163 msgid "Package information" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:204 +#: src/tables/plugin/PluginListTable.tsx:169 msgid "Package Name" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:210 +#: src/tables/plugin/PluginListTable.tsx:175 msgid "Installation Path" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:220 +#: src/tables/plugin/PluginListTable.tsx:185 msgid "Package" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:231 +#: src/tables/plugin/PluginListTable.tsx:197 msgid "Plugin settings" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:248 +#: src/tables/plugin/PluginListTable.tsx:214 msgid "Plugin is active" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:254 +#: src/tables/plugin/PluginListTable.tsx:220 msgid "Plugin is inactive" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:261 +#: src/tables/plugin/PluginListTable.tsx:227 msgid "Plugin is not installed" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:287 +#: src/tables/plugin/PluginListTable.tsx:253 msgid "Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:312 +#: src/tables/plugin/PluginListTable.tsx:287 msgid "Description not available" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:338 +#: src/tables/plugin/PluginListTable.tsx:319 +msgid "Confirm plugin activation" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:320 +msgid "Confirm plugin deactivation" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:325 +msgid "The selected plugin will be activated" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:326 +msgid "The selected plugin will be deactivated" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:334 msgid "Activate Plugin" msgstr "" #: src/tables/plugin/PluginListTable.tsx:338 -msgid "Deactivate Plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:347 -msgid "Confirm plugin activation" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:348 -msgid "Confirm plugin deactivation" -msgstr "" +#~ msgid "Deactivate Plugin" +#~ msgstr "Deactivate Plugin" #: src/tables/plugin/PluginListTable.tsx:354 -msgid "The following plugin will be activated" -msgstr "" +#~ msgid "The following plugin will be activated" +#~ msgstr "The following plugin will be activated" #: src/tables/plugin/PluginListTable.tsx:355 -msgid "The following plugin will be deactivated" -msgstr "" +#~ msgid "The following plugin will be deactivated" +#~ msgstr "The following plugin will be deactivated" -#: src/tables/plugin/PluginListTable.tsx:366 -msgid "Confirm" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:376 -msgid "Activating plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:376 -msgid "Deactivating plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:392 -msgid "Plugin updated" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:394 -msgid "The plugin was activated" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:395 -msgid "The plugin was deactivated" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:403 -msgid "Error updating plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:423 +#: src/tables/plugin/PluginListTable.tsx:362 msgid "Deactivate" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:432 +#: src/tables/plugin/PluginListTable.tsx:366 +#~ msgid "Confirm" +#~ msgstr "Confirm" + +#: src/tables/plugin/PluginListTable.tsx:373 msgid "Activate" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:463 +#: src/tables/plugin/PluginListTable.tsx:376 +#~ msgid "Activating plugin" +#~ msgstr "Activating plugin" + +#: src/tables/plugin/PluginListTable.tsx:376 +#~ msgid "Deactivating plugin" +#~ msgstr "Deactivating plugin" + +#: src/tables/plugin/PluginListTable.tsx:392 +#~ msgid "Plugin updated" +#~ msgstr "Plugin updated" + +#: src/tables/plugin/PluginListTable.tsx:394 +#~ msgid "The plugin was activated" +#~ msgstr "The plugin was activated" + +#: src/tables/plugin/PluginListTable.tsx:395 +#~ msgid "The plugin was deactivated" +#~ msgstr "The plugin was deactivated" + +#: src/tables/plugin/PluginListTable.tsx:403 +#~ msgid "Error updating plugin" +#~ msgstr "Error updating plugin" + +#: src/tables/plugin/PluginListTable.tsx:406 msgid "Uninstall" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:495 +#: src/tables/plugin/PluginListTable.tsx:438 msgid "Install plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:508 +#: src/tables/plugin/PluginListTable.tsx:451 msgid "Install" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:512 +#: src/tables/plugin/PluginListTable.tsx:452 msgid "Plugin installed successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:525 +#: src/tables/plugin/PluginListTable.tsx:457 msgid "Uninstall Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:537 +#: src/tables/plugin/PluginListTable.tsx:469 msgid "Confirm plugin uninstall" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:540 +#: src/tables/plugin/PluginListTable.tsx:472 msgid "The selected plugin will be uninstalled." msgstr "" -#: src/tables/plugin/PluginListTable.tsx:541 +#: src/tables/plugin/PluginListTable.tsx:473 msgid "This action cannot be undone." msgstr "" -#: src/tables/plugin/PluginListTable.tsx:547 +#: src/tables/plugin/PluginListTable.tsx:477 msgid "Plugin uninstalled successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:560 +#: src/tables/plugin/PluginListTable.tsx:484 msgid "Delete Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:562 +#: src/tables/plugin/PluginListTable.tsx:485 msgid "Deleting this plugin configuration will remove all associated settings and data. Are you sure you want to delete this plugin?" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:574 +#: src/tables/plugin/PluginListTable.tsx:498 msgid "Plugins reloaded" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:575 +#: src/tables/plugin/PluginListTable.tsx:499 msgid "Plugins were reloaded successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:591 +#: src/tables/plugin/PluginListTable.tsx:515 msgid "Reload Plugins" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:600 +#: src/tables/plugin/PluginListTable.tsx:524 msgid "Install Plugin" msgstr "" +#: src/tables/plugin/PluginListTable.tsx:544 +msgid "Plugin Detail" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:573 +msgid "Sample" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:578 +#: src/tables/stock/StockItemTable.tsx:305 +msgid "Installed" +msgstr "" + #: src/tables/plugin/PluginListTable.tsx:615 #~ msgid "Plugin detail" #~ msgstr "Plugin detail" -#: src/tables/plugin/PluginListTable.tsx:619 -msgid "Plugin Detail" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:648 -msgid "Sample" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:653 -#: src/tables/stock/StockItemTable.tsx:305 -msgid "Installed" -msgstr "" - -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:57 -msgid "Edit Parameter" +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:59 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:108 +msgid "Add Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:60 -msgid "Parameter updated" -msgstr "" +#~ msgid "Parameter updated" +#~ msgstr "Parameter updated" -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:71 -msgid "Delete Parameter" +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:70 +msgid "Edit Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:73 -msgid "Parameter deleted" -msgstr "" +#~ msgid "Parameter deleted" +#~ msgstr "Parameter deleted" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:74 -msgid "Are you sure you want to delete this parameter?" +#~ msgid "Are you sure you want to delete this parameter?" +#~ msgstr "Are you sure you want to delete this parameter?" + +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:78 +msgid "Delete Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartTable.tsx:63 #~ msgid "Create Manufacturer Part" #~ msgstr "Create Manufacturer Part" -#: src/tables/purchasing/ManufacturerPartTable.tsx:100 -msgid "Manufacturer part updated" -msgstr "" - -#: src/tables/purchasing/ManufacturerPartTable.tsx:111 +#: src/tables/purchasing/ManufacturerPartTable.tsx:92 msgid "Delete Manufacturer Part" msgstr "" +#: src/tables/purchasing/ManufacturerPartTable.tsx:100 +#~ msgid "Manufacturer part updated" +#~ msgstr "Manufacturer part updated" + #: src/tables/purchasing/ManufacturerPartTable.tsx:112 -msgid "Manufacturer part deleted" -msgstr "" +#~ msgid "Manufacturer part deleted" +#~ msgstr "Manufacturer part deleted" #: src/tables/purchasing/ManufacturerPartTable.tsx:114 -msgid "Are you sure you want to remove this manufacturer part?" -msgstr "" +#~ msgid "Are you sure you want to remove this manufacturer part?" +#~ msgstr "Are you sure you want to remove this manufacturer part?" #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:86 msgid "Part Description" @@ -6087,18 +6238,22 @@ msgid "Error Information" msgstr "" #: src/tables/settings/ErrorTable.tsx:51 -msgid "Delete error report" +msgid "Delete Error Report" msgstr "" +#: src/tables/settings/ErrorTable.tsx:51 +#~ msgid "Delete error report" +#~ msgstr "Delete error report" + #: src/tables/settings/ErrorTable.tsx:53 -msgid "Error report deleted" -msgstr "" - -#: src/tables/settings/ErrorTable.tsx:54 msgid "Are you sure you want to delete this error report?" msgstr "" -#: src/tables/settings/ErrorTable.tsx:67 +#: src/tables/settings/ErrorTable.tsx:55 +msgid "Error report deleted" +msgstr "" + +#: src/tables/settings/ErrorTable.tsx:77 #: src/tables/settings/FailedTasksTable.tsx:57 msgid "Error Details" msgstr "" @@ -6115,7 +6270,7 @@ msgid "Task ID" msgstr "" #: src/tables/settings/FailedTasksTable.tsx:34 -#: src/tables/stock/StockItemTestResultTable.tsx:214 +#: src/tables/stock/StockItemTestResultTable.tsx:205 msgid "Started" msgstr "" @@ -6188,30 +6343,71 @@ msgstr "" msgid "Next Run" msgstr "" -#: src/tables/settings/TemplateTable.tsx:120 -msgid "{templateTypeTranslation} with id {id} not found" +#: src/tables/settings/TemplateTable.tsx:82 +msgid "Template not found" msgstr "" +#: src/tables/settings/TemplateTable.tsx:84 +msgid "An error occurred while fetching template details" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:120 +#~ msgid "{templateTypeTranslation} with id {id} not found" +#~ msgstr "{templateTypeTranslation} with id {id} not found" + #: src/tables/settings/TemplateTable.tsx:124 -msgid "An error occurred while fetching {templateTypeTranslation} details" -msgstr "" +#~ msgid "An error occurred while fetching {templateTypeTranslation} details" +#~ msgstr "An error occurred while fetching {templateTypeTranslation} details" #: src/tables/settings/TemplateTable.tsx:146 -msgid "actions" +#~ msgid "actions" +#~ msgstr "actions" + +#: src/tables/settings/TemplateTable.tsx:170 +msgid "Modify" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:171 +msgid "Modify template file" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:222 +#: src/tables/settings/TemplateTable.tsx:289 +msgid "Edit Template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:230 +msgid "Delete template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:236 +msgid "Add Template" msgstr "" #: src/tables/settings/TemplateTable.tsx:243 -msgid "Add new" -msgstr "" +#~ msgid "Add new" +#~ msgstr "Add new" #: src/tables/settings/TemplateTable.tsx:243 #~ msgid "Create new" #~ msgstr "Create new" -#: src/tables/settings/TemplateTable.tsx:276 +#: src/tables/settings/TemplateTable.tsx:249 +msgid "Add template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:271 msgid "Filter by enabled status" msgstr "" +#: src/tables/settings/TemplateTable.tsx:276 +msgid "Model Type" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:277 +msgid "Filter by target model type" +msgstr "" + #: src/tables/settings/UserTable.tsx:79 msgid "User with id {id} not found" msgstr "" @@ -6277,6 +6473,23 @@ msgstr "" msgid "Edit user" msgstr "" +#: src/tables/stock/LocationTypesTable.tsx:36 +#: src/tables/stock/LocationTypesTable.tsx:105 +msgid "Add Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:44 +msgid "Edit Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:52 +msgid "Delete Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:69 +msgid "Icon" +msgstr "" + #: src/tables/stock/StockItemTable.tsx:90 msgid "This stock item is in production" msgstr "" @@ -6338,7 +6551,7 @@ msgid "Show items which are available" msgstr "" #: src/tables/stock/StockItemTable.tsx:280 -#: src/tables/stock/StockLocationTable.tsx:37 +#: src/tables/stock/StockLocationTable.tsx:33 msgid "Include Sublocations" msgstr "" @@ -6467,123 +6680,135 @@ msgstr "" msgid "Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:153 +#: src/tables/stock/StockItemTestResultTable.tsx:151 msgid "Test result for installed stock item" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:164 +#: src/tables/stock/StockItemTestResultTable.tsx:162 msgid "Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:170 +#: src/tables/stock/StockItemTestResultTable.tsx:168 msgid "No Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:186 +#: src/tables/stock/StockItemTestResultTable.tsx:184 msgid "Attachment" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:209 +#: src/tables/stock/StockItemTestResultTable.tsx:200 msgid "Test station" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:229 +#: src/tables/stock/StockItemTestResultTable.tsx:220 msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:277 -#: src/tables/stock/StockItemTestResultTable.tsx:349 -#: src/tables/stock/StockItemTestResultTable.tsx:404 +#: src/tables/stock/StockItemTestResultTable.tsx:268 +#: src/tables/stock/StockItemTestResultTable.tsx:340 +#: src/tables/stock/StockItemTestResultTable.tsx:395 msgid "Add Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:279 +#: src/tables/stock/StockItemTestResultTable.tsx:270 msgid "Test result added" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:288 -#: src/tables/stock/StockItemTestResultTable.tsx:359 +#: src/tables/stock/StockItemTestResultTable.tsx:279 +#: src/tables/stock/StockItemTestResultTable.tsx:350 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:290 +#: src/tables/stock/StockItemTestResultTable.tsx:281 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:296 -#: src/tables/stock/StockItemTestResultTable.tsx:368 +#: src/tables/stock/StockItemTestResultTable.tsx:287 +#: src/tables/stock/StockItemTestResultTable.tsx:359 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:298 +#: src/tables/stock/StockItemTestResultTable.tsx:289 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:312 +#: src/tables/stock/StockItemTestResultTable.tsx:303 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:313 +#: src/tables/stock/StockItemTestResultTable.tsx:304 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:320 +#: src/tables/stock/StockItemTestResultTable.tsx:311 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:337 +#: src/tables/stock/StockItemTestResultTable.tsx:328 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:386 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:390 +#: src/tables/stock/StockItemTestResultTable.tsx:381 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:391 +#: src/tables/stock/StockItemTestResultTable.tsx:382 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:395 +#: src/tables/stock/StockItemTestResultTable.tsx:386 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:396 +#: src/tables/stock/StockItemTestResultTable.tsx:387 msgid "Show only passed tests" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:38 +#: src/tables/stock/StockLocationTable.tsx:34 msgid "Include sublocations in results" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:42 +#: src/tables/stock/StockLocationTable.tsx:38 msgid "structural" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:43 +#: src/tables/stock/StockLocationTable.tsx:39 msgid "Show structural locations" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:47 +#: src/tables/stock/StockLocationTable.tsx:43 msgid "external" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:48 +#: src/tables/stock/StockLocationTable.tsx:44 msgid "Show external locations" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:52 +#: src/tables/stock/StockLocationTable.tsx:48 msgid "Has location type" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:89 -#: src/tables/stock/StockLocationTable.tsx:118 +#: src/tables/stock/StockLocationTable.tsx:85 +#: src/tables/stock/StockLocationTable.tsx:110 msgid "Add Stock Location" msgstr "" +#: src/tables/stock/StockTrackingTable.tsx:64 +msgid "Added" +msgstr "" + +#: src/tables/stock/StockTrackingTable.tsx:69 +msgid "Removed" +msgstr "" + +#: src/tables/stock/StockTrackingTable.tsx:198 +msgid "No user information" +msgstr "" + #: src/views/MobileAppView.tsx:22 msgid "Mobile viewport detected" msgstr "" diff --git a/src/frontend/src/locales/sk/messages.po b/src/frontend/src/locales/sk/messages.po index f251a80026..fdcd9c3108 100644 --- a/src/frontend/src/locales/sk/messages.po +++ b/src/frontend/src/locales/sk/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: sk\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-05-13 02:48\n" +"PO-Revision-Date: 2024-05-23 11:39\n" "Last-Translator: \n" "Language-Team: Slovak\n" "Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n" @@ -30,10 +30,67 @@ msgstr "" msgid "Title" msgstr "" +#: src/components/buttons/AdminButton.tsx:83 +msgid "Open in admin interface" +msgstr "" + #: src/components/buttons/CopyButton.tsx:18 msgid "Copy to clipboard" msgstr "" +#: src/components/buttons/PrintingActions.tsx:95 +msgid "Print Label" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:101 +msgid "Label printing completed successfully" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:106 +#: src/components/buttons/PrintingActions.tsx:143 +#: src/components/forms/ApiForm.tsx:504 +#: src/components/forms/fields/ApiFormField.tsx:295 +#: src/components/modals/LicenseModal.tsx:75 +#: src/components/nav/SearchDrawer.tsx:413 +#: src/components/widgets/MarkdownEditor.tsx:107 +#: src/components/widgets/MarkdownEditor.tsx:153 +#: src/pages/ErrorPage.tsx:12 +#: src/pages/ErrorPage.tsx:25 +#: src/pages/part/PartPricingPanel.tsx:71 +#: src/tables/InvenTreeTable.tsx:451 +#: src/tables/InvenTreeTable.tsx:531 +#: src/tables/stock/StockItemTestResultTable.tsx:310 +msgid "Error" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:107 +msgid "The label could not be generated" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:122 +msgid "Print Report" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:138 +msgid "Report printing completed successfully" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:144 +msgid "The report could not be generated" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:171 +msgid "Printing Actions" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:176 +msgid "Print Labels" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:182 +msgid "Print Reports" +msgstr "" + #: src/components/buttons/ScanButton.tsx:15 msgid "Scan QR code" msgstr "" @@ -64,15 +121,15 @@ msgstr "" msgid "No" msgstr "" -#: src/components/details/Details.tsx:302 +#: src/components/details/Details.tsx:303 msgid "No name defined" msgstr "" -#: src/components/details/Details.tsx:339 +#: src/components/details/Details.tsx:340 msgid "Copied" msgstr "" -#: src/components/details/Details.tsx:339 +#: src/components/details/Details.tsx:340 msgid "Copy" msgstr "" @@ -85,24 +142,23 @@ msgid "Remove the associated image from this item?" msgstr "" #: src/components/details/DetailsImage.tsx:71 -#: src/forms/StockForms.tsx:442 +#: src/forms/StockForms.tsx:483 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:448 +#: src/pages/stock/StockDetail.tsx:462 msgid "Remove" msgstr "" #: src/components/details/DetailsImage.tsx:71 -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:163 -#: src/components/items/ActionDropdown.tsx:222 -#: src/components/items/ActionDropdown.tsx:223 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 +#: src/components/items/ActionDropdown.tsx:229 +#: src/components/items/ActionDropdown.tsx:230 #: src/contexts/ThemeContext.tsx:43 #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:40 -#: src/tables/FilterSelectDrawer.tsx:218 -#: src/tables/InvenTreeTable.tsx:493 -#: src/tables/build/BuildOutputTable.tsx:223 -#: src/tables/plugin/PluginListTable.tsx:365 +#: src/tables/FilterSelectDrawer.tsx:207 +#: src/tables/InvenTreeTable.tsx:499 +#: src/tables/build/BuildOutputTable.tsx:225 msgid "Cancel" msgstr "" @@ -119,7 +175,7 @@ msgid "Clear" msgstr "" #: src/components/details/DetailsImage.tsx:227 -#: src/components/forms/ApiForm.tsx:554 +#: src/components/forms/ApiForm.tsx:571 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:56 msgid "Submit" @@ -150,9 +206,10 @@ msgid "Part is not active" msgstr "" #: src/components/details/PartIcons.tsx:34 -#: src/pages/company/CompanyDetail.tsx:308 -#: src/pages/company/SupplierPartDetail.tsx:304 -#: src/pages/part/PartDetail.tsx:684 +#: src/components/render/Plugin.tsx:17 +#: src/pages/company/CompanyDetail.tsx:310 +#: src/pages/company/SupplierPartDetail.tsx:305 +#: src/pages/part/PartDetail.tsx:685 msgid "Inactive" msgstr "" @@ -196,10 +253,10 @@ msgid "Code" msgstr "" #: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:44 -msgid "Failed to parse error response from server." -msgstr "" +#~ msgid "Failed to parse error response from server." +#~ msgstr "Failed to parse error response from server." -#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:82 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:81 msgid "Preview not available, click \"Reload Preview\"." msgstr "" @@ -207,98 +264,99 @@ msgstr "" msgid "PDF Preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:113 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:104 msgid "Error loading template" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:125 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:116 msgid "Error saving template" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 -msgid "Save & Reload preview?" +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:146 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:270 +msgid "Save & Reload Preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:156 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 msgid "Are you sure you want to Save & Reload the preview?" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 +#~ msgid "Save & Reload preview?" +#~ msgstr "Save & Reload preview?" + +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:153 msgid "To render the preview the current template needs to be replaced on the server with your modifications which may break the label if it is under active use. Do you want to proceed?" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:162 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:157 msgid "Save & Reload" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:191 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:189 msgid "Preview updated" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:192 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:190 msgid "The preview has been updated successfully." msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:255 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:262 msgid "Reload preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:256 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:263 msgid "Use the currently stored template from the server" msgstr "" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:263 -msgid "Save & Reload preview" -msgstr "" +#~ msgid "Save & Reload preview" +#~ msgstr "Save & Reload preview" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:264 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:271 msgid "Save the current template and reload the preview" msgstr "" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:322 -#: src/tables/part/PartThumbTable.tsx:203 -msgid "Select" +#~ msgid "to preview" +#~ msgstr "to preview" + +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:329 +msgid "Select instance to preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:322 -msgid "to preview" -msgstr "" - -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:366 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:373 msgid "Error rendering template" msgstr "" -#: src/components/forms/ApiForm.tsx:143 +#: src/components/forms/ApiForm.tsx:148 #: src/functions/forms.tsx:259 msgid "Form Error" msgstr "" -#: src/components/forms/ApiForm.tsx:411 +#: src/components/forms/ApiForm.tsx:428 #: src/components/widgets/MarkdownEditor.tsx:145 msgid "Success" msgstr "" #: src/components/forms/ApiForm.tsx:487 -msgid "Form Errors Exist" -msgstr "" +#~ msgid "Form Errors Exist" +#~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:592 -#: src/tables/plugin/PluginListTable.tsx:445 +#: src/components/forms/ApiForm.tsx:609 +#: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "" -#: src/components/forms/ApiForm.tsx:612 -#: src/components/items/ActionDropdown.tsx:203 +#: src/components/forms/ApiForm.tsx:629 +#: src/components/items/ActionDropdown.tsx:210 #: src/functions/forms.tsx:299 #: src/hooks/UseForm.tsx:122 #: src/pages/Index/Scan.tsx:343 #: src/pages/Notifications.tsx:123 -#: src/tables/InvenTreeTable.tsx:492 +#: src/tables/InvenTreeTable.tsx:498 #: src/tables/RowActions.tsx:71 -#: src/tables/plugin/PluginListTable.tsx:477 -#: src/tables/settings/TemplateTable.tsx:105 -#: src/tables/settings/TemplateTable.tsx:154 -#: src/tables/settings/TemplateTable.tsx:236 +#: src/tables/plugin/PluginListTable.tsx:420 msgid "Delete" msgstr "" @@ -468,18 +526,19 @@ msgstr "" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 -#: src/pages/part/CategoryDetail.tsx:77 -#: src/pages/part/PartDetail.tsx:125 -#: src/pages/stock/LocationDetail.tsx:83 +#: src/pages/part/CategoryDetail.tsx:78 +#: src/pages/part/PartDetail.tsx:126 +#: src/pages/stock/LocationDetail.tsx:85 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 #: src/tables/machine/MachineTypeTable.tsx:216 #: src/tables/machine/MachineTypeTable.tsx:319 #: src/tables/plugin/PluginErrorTable.tsx:33 -#: src/tables/plugin/PluginListTable.tsx:169 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:27 +#: src/tables/plugin/PluginListTable.tsx:126 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:32 #: src/tables/settings/GroupTable.tsx:103 #: src/tables/settings/PendingTasksTable.tsx:26 +#: src/tables/stock/LocationTypesTable.tsx:60 msgid "Name" msgstr "" @@ -520,35 +579,20 @@ msgstr "" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/ApiFormField.tsx:276 -#: src/components/modals/LicenseModal.tsx:75 -#: src/components/nav/SearchDrawer.tsx:413 -#: src/components/widgets/MarkdownEditor.tsx:107 -#: src/components/widgets/MarkdownEditor.tsx:153 -#: src/pages/ErrorPage.tsx:12 -#: src/pages/ErrorPage.tsx:25 -#: src/pages/part/PartPricingPanel.tsx:71 -#: src/tables/InvenTreeTable.tsx:445 -#: src/tables/InvenTreeTable.tsx:525 -#: src/tables/plugin/PluginListTable.tsx:402 -#: src/tables/stock/StockItemTestResultTable.tsx:319 -msgid "Error" -msgstr "" - -#: src/components/forms/fields/RelatedModelField.tsx:305 +#: src/components/forms/fields/RelatedModelField.tsx:315 #: src/pages/Index/Settings/UserSettings.tsx:64 #: src/tables/Search.tsx:23 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:306 +#: src/components/forms/fields/RelatedModelField.tsx:316 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:120 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:308 +#: src/components/forms/fields/RelatedModelField.tsx:318 msgid "No results found" msgstr "" @@ -569,54 +613,51 @@ msgstr "" msgid "Thumbnail" msgstr "" -#: src/components/items/ActionDropdown.tsx:112 -#: src/pages/build/BuildDetail.tsx:354 +#: src/components/items/ActionDropdown.tsx:119 +#: src/pages/build/BuildDetail.tsx:360 msgid "Barcode Actions" msgstr "" -#: src/components/items/ActionDropdown.tsx:129 +#: src/components/items/ActionDropdown.tsx:136 msgid "View" msgstr "" -#: src/components/items/ActionDropdown.tsx:130 +#: src/components/items/ActionDropdown.tsx:137 msgid "View barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:146 +#: src/components/items/ActionDropdown.tsx:153 msgid "Link Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:147 +#: src/components/items/ActionDropdown.tsx:154 msgid "Link custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:163 -#: src/forms/PurchaseOrderForms.tsx:375 +#: src/components/items/ActionDropdown.tsx:170 +#: src/forms/PurchaseOrderForms.tsx:389 msgid "Unlink Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:164 +#: src/components/items/ActionDropdown.tsx:171 msgid "Unlink custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:182 +#: src/components/items/ActionDropdown.tsx:189 #: src/tables/RowActions.tsx:51 -#: src/tables/settings/TemplateTable.tsx:87 -#: src/tables/settings/TemplateTable.tsx:150 -#: src/tables/settings/TemplateTable.tsx:287 msgid "Edit" msgstr "" -#: src/components/items/ActionDropdown.tsx:204 +#: src/components/items/ActionDropdown.tsx:211 msgid "Delete item" msgstr "" -#: src/components/items/ActionDropdown.tsx:241 +#: src/components/items/ActionDropdown.tsx:248 #: src/tables/RowActions.tsx:31 msgid "Duplicate" msgstr "" -#: src/components/items/ActionDropdown.tsx:242 +#: src/components/items/ActionDropdown.tsx:249 msgid "Duplicate item" msgstr "" @@ -625,7 +666,7 @@ msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:437 +#: src/tables/InvenTreeTable.tsx:443 msgid "Unknown error" msgstr "" @@ -785,27 +826,27 @@ msgstr "" #: src/components/modals/QrCodeModal.tsx:154 #: src/defaults/menuItems.tsx:21 -#: src/pages/Index/Scan.tsx:747 +#: src/pages/Index/Scan.tsx:746 msgid "Scanning" msgstr "" #: src/components/modals/QrCodeModal.tsx:154 -#: src/pages/Index/Scan.tsx:747 +#: src/pages/Index/Scan.tsx:746 msgid "Not scanning" msgstr "" #: src/components/modals/QrCodeModal.tsx:159 -#: src/pages/Index/Scan.tsx:753 +#: src/pages/Index/Scan.tsx:752 msgid "Select Camera" msgstr "" #: src/components/modals/QrCodeModal.tsx:169 -#: src/pages/Index/Scan.tsx:738 +#: src/pages/Index/Scan.tsx:737 msgid "Start scanning" msgstr "" #: src/components/modals/QrCodeModal.tsx:176 -#: src/pages/Index/Scan.tsx:730 +#: src/pages/Index/Scan.tsx:729 msgid "Stop scanning" msgstr "" @@ -891,8 +932,8 @@ msgid "Email settings not configured" msgstr "" #: src/components/modals/ServerInfoModal.tsx:121 -#: src/tables/plugin/PluginListTable.tsx:187 -#: src/tables/plugin/PluginListTable.tsx:319 +#: src/tables/plugin/PluginListTable.tsx:144 +#: src/tables/plugin/PluginListTable.tsx:294 msgid "Version" msgstr "" @@ -926,13 +967,13 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:293 +#: src/pages/Index/Settings/SystemSettings.tsx:294 msgid "System Settings" msgstr "" #: src/components/nav/MainMenu.tsx:67 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:172 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 msgid "Admin Center" msgstr "" @@ -975,7 +1016,7 @@ msgid "Pages" msgstr "" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:133 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:153 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "" @@ -1013,9 +1054,9 @@ msgid "Mark as read" msgstr "" #: src/components/nav/PartCategoryTree.tsx:158 -#: src/components/render/ModelType.tsx:60 +#: src/components/render/ModelType.tsx:64 #: src/pages/Index/Settings/SystemSettings.tsx:162 -#: src/pages/part/CategoryDetail.tsx:248 +#: src/pages/part/CategoryDetail.tsx:249 msgid "Part Categories" msgstr "" @@ -1052,142 +1093,147 @@ msgid "No results available for search query" msgstr "" #: src/components/nav/StockLocationTree.tsx:93 -#: src/components/render/ModelType.tsx:76 -#: src/pages/stock/LocationDetail.tsx:175 +#: src/components/render/ModelType.tsx:82 +#: src/pages/stock/LocationDetail.tsx:185 msgid "Stock Locations" msgstr "" -#: src/components/render/Instance.tsx:137 +#: src/components/render/Instance.tsx:166 msgid "Unknown model: {model}" msgstr "" -#: src/components/render/ModelType.tsx:21 -#: src/forms/BuildForms.tsx:184 -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49 +#: src/components/render/ModelType.tsx:22 +#: src/forms/BuildForms.tsx:201 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:83 #: src/pages/part/PartDetail.tsx:828 #: src/tables/part/RelatedPartTable.tsx:45 +#: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" msgstr "" -#: src/components/render/ModelType.tsx:22 +#: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 #: src/pages/Index/Settings/SystemSettings.tsx:167 -#: src/pages/part/CategoryDetail.tsx:109 -#: src/pages/part/CategoryDetail.tsx:234 -#: src/pages/part/CategoryDetail.tsx:264 -#: src/pages/part/PartDetail.tsx:638 +#: src/pages/part/CategoryDetail.tsx:110 +#: src/pages/part/CategoryDetail.tsx:235 +#: src/pages/part/CategoryDetail.tsx:265 +#: src/pages/part/PartDetail.tsx:639 msgid "Parts" msgstr "" -#: src/components/render/ModelType.tsx:29 +#: src/components/render/ModelType.tsx:31 msgid "Part Parameter Template" msgstr "" -#: src/components/render/ModelType.tsx:30 +#: src/components/render/ModelType.tsx:32 msgid "Part Parameter Templates" msgstr "" -#: src/components/render/ModelType.tsx:36 +#: src/components/render/ModelType.tsx:38 msgid "Part Test Template" msgstr "" -#: src/components/render/ModelType.tsx:37 +#: src/components/render/ModelType.tsx:39 msgid "Part Test Templates" msgstr "" -#: src/components/render/ModelType.tsx:43 -#: src/pages/company/SupplierPartDetail.tsx:189 -#: src/pages/company/SupplierPartDetail.tsx:317 -#: src/pages/stock/StockDetail.tsx:159 +#: src/components/render/ModelType.tsx:45 +#: src/pages/company/SupplierPartDetail.tsx:190 +#: src/pages/company/SupplierPartDetail.tsx:318 +#: src/pages/stock/StockDetail.tsx:162 #: src/tables/purchasing/SupplierPartTable.tsx:68 msgid "Supplier Part" msgstr "" -#: src/components/render/ModelType.tsx:44 +#: src/components/render/ModelType.tsx:46 msgid "Supplier Parts" msgstr "" -#: src/components/render/ModelType.tsx:51 -#: src/pages/company/ManufacturerPartDetail.tsx:124 +#: src/components/render/ModelType.tsx:54 +#: src/pages/company/ManufacturerPartDetail.tsx:125 msgid "Manufacturer Part" msgstr "" -#: src/components/render/ModelType.tsx:52 +#: src/components/render/ModelType.tsx:55 msgid "Manufacturer Parts" msgstr "" -#: src/components/render/ModelType.tsx:59 -#: src/pages/part/CategoryDetail.tsx:287 +#: src/components/render/ModelType.tsx:63 +#: src/pages/part/CategoryDetail.tsx:288 msgid "Part Category" msgstr "" -#: src/components/render/ModelType.tsx:67 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67 -#: src/pages/stock/StockDetail.tsx:535 +#: src/components/render/ModelType.tsx:72 +#: src/pages/stock/StockDetail.tsx:548 +#: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" msgstr "" -#: src/components/render/ModelType.tsx:68 -#: src/pages/company/CompanyDetail.tsx:197 -#: src/pages/stock/LocationDetail.tsx:116 -#: src/pages/stock/LocationDetail.tsx:161 +#: src/components/render/ModelType.tsx:73 +#: src/pages/company/CompanyDetail.tsx:199 +#: src/pages/stock/LocationDetail.tsx:118 +#: src/pages/stock/LocationDetail.tsx:171 #: src/pages/stock/LocationDetail.tsx:365 msgid "Stock Items" msgstr "" -#: src/components/render/ModelType.tsx:75 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:154 +#: src/components/render/ModelType.tsx:81 msgid "Stock Location" msgstr "" -#: src/components/render/ModelType.tsx:83 +#: src/components/render/ModelType.tsx:90 +msgid "Stock Location Type" +msgstr "" + +#: src/components/render/ModelType.tsx:91 +msgid "Stock Location Types" +msgstr "" + +#: src/components/render/ModelType.tsx:95 msgid "Stock History" msgstr "" -#: src/components/render/ModelType.tsx:84 +#: src/components/render/ModelType.tsx:96 msgid "Stock Histories" msgstr "" -#: src/components/render/ModelType.tsx:88 +#: src/components/render/ModelType.tsx:100 #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:43 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:126 msgid "Build" msgstr "" -#: src/components/render/ModelType.tsx:89 +#: src/components/render/ModelType.tsx:101 msgid "Builds" msgstr "" -#: src/components/render/ModelType.tsx:96 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:76 +#: src/components/render/ModelType.tsx:109 msgid "Build Line" msgstr "" -#: src/components/render/ModelType.tsx:97 +#: src/components/render/ModelType.tsx:110 msgid "Build Lines" msgstr "" -#: src/components/render/ModelType.tsx:104 -#: src/pages/company/CompanyDetail.tsx:321 +#: src/components/render/ModelType.tsx:117 +#: src/pages/company/CompanyDetail.tsx:323 msgid "Company" msgstr "" -#: src/components/render/ModelType.tsx:105 +#: src/components/render/ModelType.tsx:118 msgid "Companies" msgstr "" -#: src/components/render/ModelType.tsx:112 +#: src/components/render/ModelType.tsx:126 #: src/tables/TableHoverCard.tsx:58 #: src/tables/build/BuildOrderTable.tsx:131 #: src/tables/purchasing/PurchaseOrderTable.tsx:64 @@ -1196,170 +1242,199 @@ msgstr "" msgid "Project Code" msgstr "" -#: src/components/render/ModelType.tsx:113 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:97 +#: src/components/render/ModelType.tsx:127 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:105 msgid "Project Codes" msgstr "" -#: src/components/render/ModelType.tsx:119 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99 +#: src/components/render/ModelType.tsx:133 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:355 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:362 +#: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" msgstr "" -#: src/components/render/ModelType.tsx:120 -#: src/pages/Index/Settings/SystemSettings.tsx:242 -#: src/pages/company/CompanyDetail.tsx:190 -#: src/pages/company/SupplierPartDetail.tsx:223 -#: src/pages/part/PartDetail.tsx:571 +#: src/components/render/ModelType.tsx:134 +#: src/pages/Index/Settings/SystemSettings.tsx:243 +#: src/pages/company/CompanyDetail.tsx:192 +#: src/pages/company/SupplierPartDetail.tsx:224 +#: src/pages/part/PartDetail.tsx:572 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" -#: src/components/render/ModelType.tsx:127 +#: src/components/render/ModelType.tsx:142 msgid "Purchase Order Line" msgstr "" -#: src/components/render/ModelType.tsx:128 +#: src/components/render/ModelType.tsx:143 msgid "Purchase Order Lines" msgstr "" -#: src/components/render/ModelType.tsx:132 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:108 +#: src/components/render/ModelType.tsx:147 #: src/pages/build/BuildDetail.tsx:131 -#: src/pages/sales/SalesOrderDetail.tsx:340 -#: src/pages/stock/StockDetail.tsx:207 +#: src/pages/sales/SalesOrderDetail.tsx:347 +#: src/pages/stock/StockDetail.tsx:210 +#: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" msgstr "" -#: src/components/render/ModelType.tsx:133 -#: src/pages/Index/Settings/SystemSettings.tsx:257 -#: src/pages/company/CompanyDetail.tsx:210 -#: src/pages/part/PartDetail.tsx:577 +#: src/components/render/ModelType.tsx:148 +#: src/pages/Index/Settings/SystemSettings.tsx:258 +#: src/pages/company/CompanyDetail.tsx:212 +#: src/pages/part/PartDetail.tsx:578 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" -#: src/components/render/ModelType.tsx:140 +#: src/components/render/ModelType.tsx:156 msgid "Sales Order Shipment" msgstr "" -#: src/components/render/ModelType.tsx:141 +#: src/components/render/ModelType.tsx:157 msgid "Sales Order Shipments" msgstr "" -#: src/components/render/ModelType.tsx:147 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:117 -#: src/pages/sales/ReturnOrderDetail.tsx:318 +#: src/components/render/ModelType.tsx:163 +#: src/pages/sales/ReturnOrderDetail.tsx:325 +#: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "" -#: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:272 -#: src/pages/company/CompanyDetail.tsx:217 +#: src/components/render/ModelType.tsx:164 +#: src/pages/Index/Settings/SystemSettings.tsx:273 +#: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" msgstr "" -#: src/components/render/ModelType.tsx:155 +#: src/components/render/ModelType.tsx:172 #: src/tables/company/AddressTable.tsx:47 msgid "Address" msgstr "" -#: src/components/render/ModelType.tsx:156 -#: src/pages/company/CompanyDetail.tsx:247 +#: src/components/render/ModelType.tsx:173 +#: src/pages/company/CompanyDetail.tsx:249 msgid "Addresses" msgstr "" -#: src/components/render/ModelType.tsx:162 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:189 -#: src/pages/sales/ReturnOrderDetail.tsx:157 -#: src/pages/sales/SalesOrderDetail.tsx:161 +#: src/components/render/ModelType.tsx:179 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:191 +#: src/pages/sales/ReturnOrderDetail.tsx:159 +#: src/pages/sales/SalesOrderDetail.tsx:163 msgid "Contact" msgstr "" -#: src/components/render/ModelType.tsx:163 -#: src/pages/company/CompanyDetail.tsx:241 +#: src/components/render/ModelType.tsx:180 +#: src/pages/company/CompanyDetail.tsx:243 msgid "Contacts" msgstr "" -#: src/components/render/ModelType.tsx:169 +#: src/components/render/ModelType.tsx:186 msgid "Owner" msgstr "" -#: src/components/render/ModelType.tsx:170 +#: src/components/render/ModelType.tsx:187 msgid "Owners" msgstr "" -#: src/components/render/ModelType.tsx:176 +#: src/components/render/ModelType.tsx:193 +#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "" -#: src/components/render/ModelType.tsx:177 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:73 +#: src/components/render/ModelType.tsx:194 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:81 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "" -#: src/components/render/Order.tsx:87 +#: src/components/render/ModelType.tsx:200 +msgid "Label Template" +msgstr "" + +#: src/components/render/ModelType.tsx:201 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:135 +msgid "Label Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:207 +msgid "Report Template" +msgstr "" + +#: src/components/render/ModelType.tsx:208 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:141 +msgid "Report Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:214 +msgid "Plugin Configuration" +msgstr "" + +#: src/components/render/ModelType.tsx:215 +msgid "Plugin Configurations" +msgstr "" + +#: src/components/render/Order.tsx:104 msgid "Shipment" msgstr "" -#: src/components/render/Part.tsx:12 +#: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:198 -#: src/pages/part/PartDetail.tsx:491 +#: src/pages/Index/Settings/SystemSettings.tsx:199 +#: src/pages/part/PartDetail.tsx:492 #: src/pages/stock/LocationDetail.tsx:344 -#: src/pages/stock/StockDetail.tsx:344 +#: src/pages/stock/StockDetail.tsx:352 #: src/tables/stock/StockItemTable.tsx:57 msgid "Stock" msgstr "" -#: src/components/render/Stock.tsx:26 -#: src/pages/stock/StockDetail.tsx:142 -#: src/pages/stock/StockDetail.tsx:501 +#: src/components/render/Stock.tsx:52 +#: src/pages/stock/StockDetail.tsx:145 +#: src/pages/stock/StockDetail.tsx:514 msgid "Serial Number" msgstr "" -#: src/components/render/Stock.tsx:28 -#: src/forms/BuildForms.tsx:189 +#: src/components/render/Stock.tsx:54 +#: src/forms/BuildForms.tsx:206 #: src/pages/part/pricing/BomPricingPanel.tsx:144 -#: src/pages/part/pricing/PriceBreakPanel.tsx:96 -#: src/pages/stock/StockDetail.tsx:137 -#: src/pages/stock/StockDetail.tsx:507 +#: src/pages/part/pricing/PriceBreakPanel.tsx:94 +#: src/pages/stock/StockDetail.tsx:140 +#: src/pages/stock/StockDetail.tsx:520 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:73 +#: src/tables/stock/StockTrackingTable.tsx:59 msgid "Quantity" msgstr "" -#: src/components/settings/SettingItem.tsx:46 -#: src/components/settings/SettingItem.tsx:99 -msgid "Setting updated" -msgstr "" - #: src/components/settings/SettingItem.tsx:47 #: src/components/settings/SettingItem.tsx:100 -msgid "{0} updated successfully" -msgstr "" +#~ msgid "{0} updated successfully" +#~ msgstr "{0} updated successfully" -#: src/components/settings/SettingItem.tsx:55 -msgid "Error editing setting" -msgstr "" - -#: src/components/settings/SettingItem.tsx:92 +#: src/components/settings/SettingList.tsx:67 msgid "Edit Setting" msgstr "" -#: src/components/settings/SettingList.tsx:63 -msgid "No settings specified" +#: src/components/settings/SettingList.tsx:78 +#: src/components/settings/SettingList.tsx:108 +msgid "Setting {0} updated successfully" msgstr "" -#: src/components/tables/ColumnRenderers.tsx:134 -#~ msgid "Shipment Date" -#~ msgstr "Shipment Date" +#: src/components/settings/SettingList.tsx:107 +msgid "Setting updated" +msgstr "" + +#: src/components/settings/SettingList.tsx:117 +msgid "Error editing setting" +msgstr "" + +#: src/components/settings/SettingList.tsx:158 +msgid "No settings specified" +msgstr "" #: src/components/tables/FilterGroup.tsx:29 #~ msgid "Add table filter" @@ -1731,10 +1806,6 @@ msgstr "" #~ msgid "This is a test filter" #~ msgstr "This is a test filter" -#: src/components/tables/stock/StockLocationTable.tsx:91 -#~ msgid "Location Type" -#~ msgstr "Location Type" - #: src/components/tables/stock/StockLocationTable.tsx:145 #~ msgid "Stock location updated" #~ msgstr "Stock location updated" @@ -2072,7 +2143,7 @@ msgstr "" #~ msgstr "Local Server" #: src/defaults/links.tsx:11 -#: src/pages/company/CompanyDetail.tsx:90 +#: src/pages/company/CompanyDetail.tsx:92 msgid "Website" msgstr "" @@ -2087,10 +2158,10 @@ msgstr "" #: src/defaults/links.tsx:31 #: src/defaults/menuItems.tsx:48 #: src/pages/company/ManufacturerDetail.tsx:9 -#: src/pages/company/ManufacturerPartDetail.tsx:231 +#: src/pages/company/ManufacturerPartDetail.tsx:235 #: src/pages/company/SupplierDetail.tsx:9 -#: src/pages/company/SupplierPartDetail.tsx:291 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:358 +#: src/pages/company/SupplierPartDetail.tsx:292 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:365 #: src/pages/purchasing/PurchasingIndex.tsx:52 msgid "Purchasing" msgstr "" @@ -2098,15 +2169,15 @@ msgstr "" #: src/defaults/links.tsx:32 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:323 +#: src/pages/sales/ReturnOrderDetail.tsx:330 #: src/pages/sales/SalesIndex.tsx:45 -#: src/pages/sales/SalesOrderDetail.tsx:345 +#: src/pages/sales/SalesOrderDetail.tsx:352 msgid "Sales" msgstr "" #: src/defaults/links.tsx:35 #: src/defaults/menuItems.tsx:71 -#: src/pages/Index/Playground.tsx:239 +#: src/pages/Index/Playground.tsx:238 msgid "Playground" msgstr "" @@ -2240,87 +2311,83 @@ msgstr "" #~ msgstr "Combusken battles with the intensely hot flames it spews" #: src/forms/AttachmentForms.tsx:57 -msgid "Add File" -msgstr "" +#~ msgid "Add File" +#~ msgstr "Add File" #: src/forms/AttachmentForms.tsx:57 -msgid "Add Link" -msgstr "" +#~ msgid "Add Link" +#~ msgstr "Add Link" #: src/forms/AttachmentForms.tsx:58 -msgid "File added" -msgstr "" +#~ msgid "File added" +#~ msgstr "File added" #: src/forms/AttachmentForms.tsx:58 -msgid "Link added" -msgstr "" +#~ msgid "Link added" +#~ msgstr "Link added" #: src/forms/AttachmentForms.tsx:99 -msgid "Edit File" -msgstr "" +#~ msgid "Edit File" +#~ msgstr "Edit File" #: src/forms/AttachmentForms.tsx:99 -msgid "Edit Link" -msgstr "" +#~ msgid "Edit Link" +#~ msgstr "Edit Link" #: src/forms/AttachmentForms.tsx:100 -msgid "File updated" -msgstr "" +#~ msgid "File updated" +#~ msgstr "File updated" #: src/forms/AttachmentForms.tsx:100 -msgid "Link updated" -msgstr "" - -#: src/forms/AttachmentForms.tsx:124 -msgid "Delete Attachment" -msgstr "" +#~ msgid "Link updated" +#~ msgstr "Link updated" #: src/forms/AttachmentForms.tsx:125 -msgid "Attachment deleted" -msgstr "" +#~ msgid "Attachment deleted" +#~ msgstr "Attachment deleted" #: src/forms/AttachmentForms.tsx:128 -msgid "Are you sure you want to delete this attachment?" -msgstr "" +#~ msgid "Are you sure you want to delete this attachment?" +#~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BuildForms.tsx:129 +#: src/forms/BuildForms.tsx:146 msgid "Next serial number" msgstr "" -#: src/forms/BuildForms.tsx:133 +#: src/forms/BuildForms.tsx:150 msgid "Latest serial number" msgstr "" -#: src/forms/BuildForms.tsx:205 +#: src/forms/BuildForms.tsx:222 msgid "Remove output" msgstr "" -#: src/forms/BuildForms.tsx:287 +#: src/forms/BuildForms.tsx:304 msgid "Complete Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:291 +#: src/forms/BuildForms.tsx:308 msgid "Build outputs have been completed" msgstr "" -#: src/forms/BuildForms.tsx:360 +#: src/forms/BuildForms.tsx:377 msgid "Scrap Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:364 +#: src/forms/BuildForms.tsx:381 msgid "Build outputs have been scrapped" msgstr "" -#: src/forms/BuildForms.tsx:396 -#: src/forms/BuildForms.tsx:420 +#: src/forms/BuildForms.tsx:413 +#: src/forms/BuildForms.tsx:437 msgid "Cancel Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:397 +#: src/forms/BuildForms.tsx:414 msgid "Selected build outputs will be deleted" msgstr "" -#: src/forms/BuildForms.tsx:424 +#: src/forms/BuildForms.tsx:441 msgid "Build outputs have been cancelled" msgstr "" @@ -2344,76 +2411,76 @@ msgstr "" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PurchaseOrderForms.tsx:265 +#: src/forms/PurchaseOrderForms.tsx:279 msgid "Choose Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:273 +#: src/forms/PurchaseOrderForms.tsx:287 msgid "Item Destination selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:282 +#: src/forms/PurchaseOrderForms.tsx:296 msgid "Part category default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:292 +#: src/forms/PurchaseOrderForms.tsx:306 msgid "Received stock location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:297 +#: src/forms/PurchaseOrderForms.tsx:311 msgid "Default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:308 -#: src/forms/PurchaseOrderForms.tsx:384 +#: src/forms/PurchaseOrderForms.tsx:322 +#: src/forms/PurchaseOrderForms.tsx:398 msgid "Scan Barcode" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:352 +#: src/forms/PurchaseOrderForms.tsx:366 msgid "Set Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:359 +#: src/forms/PurchaseOrderForms.tsx:373 msgid "Assign Batch Code{0}" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:368 +#: src/forms/PurchaseOrderForms.tsx:382 msgid "Change Status" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:393 -#: src/forms/StockForms.tsx:351 +#: src/forms/PurchaseOrderForms.tsx:407 +#: src/forms/StockForms.tsx:392 msgid "Remove item from list" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:418 -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:58 -#: src/pages/stock/StockDetail.tsx:167 -#: src/tables/ColumnRenderers.tsx:42 +#: src/forms/PurchaseOrderForms.tsx:432 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/pages/stock/StockDetail.tsx:170 +#: src/tables/ColumnRenderers.tsx:34 +#: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:434 +#: src/forms/PurchaseOrderForms.tsx:448 msgid "Store at default location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:447 +#: src/forms/PurchaseOrderForms.tsx:461 msgid "Store at line item destination" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:457 +#: src/forms/PurchaseOrderForms.tsx:471 msgid "Store with already received stock" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:613 +#: src/forms/PurchaseOrderForms.tsx:627 msgid "Receive Line Items" msgstr "" @@ -2421,119 +2488,118 @@ msgstr "" #~ msgid "Receive line items" #~ msgstr "Receive line items" -#: src/forms/StockForms.tsx:69 +#: src/forms/StockForms.tsx:101 msgid "Add given quantity as packs instead of individual items" msgstr "" -#: src/forms/StockForms.tsx:80 -msgid "Enter initial quantity for this stock item" -msgstr "" - -#: src/forms/StockForms.tsx:85 -msgid "Serial Numbers" -msgstr "" - -#: src/forms/StockForms.tsx:86 -msgid "Enter serial numbers for new stock (or leave blank)" -msgstr "" - #: src/forms/StockForms.tsx:110 #~ msgid "Create Stock Item" #~ msgstr "Create Stock Item" -#: src/forms/StockForms.tsx:135 -#: src/pages/stock/StockDetail.tsx:367 -#: src/tables/stock/StockItemTable.tsx:382 -#: src/tables/stock/StockItemTable.tsx:499 -msgid "Add Stock Item" +#: src/forms/StockForms.tsx:114 +msgid "Enter initial quantity for this stock item" +msgstr "" + +#: src/forms/StockForms.tsx:121 +msgid "Serial Numbers" +msgstr "" + +#: src/forms/StockForms.tsx:122 +msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" #: src/forms/StockForms.tsx:158 #~ msgid "Stock item updated" #~ msgstr "Stock item updated" -#: src/forms/StockForms.tsx:298 +#: src/forms/StockForms.tsx:176 +#: src/pages/stock/StockDetail.tsx:375 +#: src/tables/stock/StockItemTable.tsx:382 +#: src/tables/stock/StockItemTable.tsx:499 +msgid "Add Stock Item" +msgstr "" + +#: src/forms/StockForms.tsx:339 msgid "Loading..." msgstr "" -#: src/forms/StockForms.tsx:340 +#: src/forms/StockForms.tsx:381 msgid "Move to default location" msgstr "" -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/part/PartDetail.tsx:205 -#: src/pages/part/PartDetail.tsx:654 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/pages/part/PartDetail.tsx:206 +#: src/pages/part/PartDetail.tsx:655 #: src/tables/stock/StockItemTable.tsx:290 msgid "In Stock" msgstr "" -#: src/forms/StockForms.tsx:408 +#: src/forms/StockForms.tsx:449 msgid "Move" msgstr "" -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/tables/RowActions.tsx:147 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/tables/RowActions.tsx:149 msgid "Actions" msgstr "" -#: src/forms/StockForms.tsx:471 -#: src/pages/stock/StockDetail.tsx:440 -#: src/tables/settings/TemplateTable.tsx:266 -#: src/tables/stock/StockItemTestResultTable.tsx:348 +#: src/forms/StockForms.tsx:512 +#: src/pages/stock/StockDetail.tsx:454 +#: src/tables/stock/StockItemTestResultTable.tsx:339 msgid "Add" msgstr "" -#: src/forms/StockForms.tsx:499 +#: src/forms/StockForms.tsx:540 #: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:430 +#: src/pages/stock/StockDetail.tsx:444 msgid "Count" msgstr "" -#: src/forms/StockForms.tsx:744 +#: src/forms/StockForms.tsx:785 msgid "Add Stock" msgstr "" -#: src/forms/StockForms.tsx:753 +#: src/forms/StockForms.tsx:794 msgid "Remove Stock" msgstr "" -#: src/forms/StockForms.tsx:762 -#: src/pages/part/PartDetail.tsx:781 +#: src/forms/StockForms.tsx:803 +#: src/pages/part/PartDetail.tsx:782 msgid "Transfer Stock" msgstr "" -#: src/forms/StockForms.tsx:771 -#: src/pages/part/PartDetail.tsx:770 +#: src/forms/StockForms.tsx:812 +#: src/pages/part/PartDetail.tsx:771 msgid "Count Stock" msgstr "" -#: src/forms/StockForms.tsx:780 +#: src/forms/StockForms.tsx:821 msgid "Change Stock Status" msgstr "" -#: src/forms/StockForms.tsx:789 +#: src/forms/StockForms.tsx:830 msgid "Merge Stock" msgstr "" -#: src/forms/StockForms.tsx:808 +#: src/forms/StockForms.tsx:849 msgid "Delete Stock Items" msgstr "" -#: src/forms/StockForms.tsx:815 +#: src/forms/StockForms.tsx:856 msgid "Parent stock location" msgstr "" @@ -2728,7 +2794,7 @@ msgstr "" msgid "Welcome to your Dashboard{0}" msgstr "" -#: src/pages/Index/Playground.tsx:244 +#: src/pages/Index/Playground.tsx:243 msgid "This page is a showcase for the possibilities of Platform UI." msgstr "" @@ -3138,49 +3204,53 @@ msgstr "" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:79 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:87 msgid "Background Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:85 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:93 msgid "Error Reports" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:91 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:99 msgid "Currencies" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:109 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:117 msgid "Custom Units" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:115 -#: src/pages/part/CategoryDetail.tsx:254 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:123 +#: src/pages/part/CategoryDetail.tsx:255 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:121 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 +#~ msgid "Templates" +#~ msgstr "Templates" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:129 msgid "Category Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 -msgid "Templates" +#: src/pages/Index/Settings/AdminCenter/Index.tsx:147 +msgid "Location types" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:139 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:159 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:149 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:169 msgid "Quick Actions" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:154 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 msgid "Add a new user" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:173 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:193 msgid "Advanced Options" msgstr "" @@ -3225,26 +3295,32 @@ msgstr "" msgid "Plugin Settings" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:25 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:53 +msgid "Background Worker Not Running" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:54 +msgid "The background task manager service is not running. Contact your system administrator." +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:60 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:76 msgid "Pending Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:33 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:64 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:84 msgid "Scheduled Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:41 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:68 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:92 msgid "Failed Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:139 -msgid "Labels" -msgstr "" - #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:39 -msgid "Label" -msgstr "" +#~ msgid "Label" +#~ msgstr "Label" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67 #~ msgid "Stock item" @@ -3255,13 +3331,13 @@ msgstr "" #~ msgstr "Build line" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:88 -msgid "Reports" -msgstr "" +#~ msgid "Reports" +#~ msgstr "Reports" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:89 #: src/pages/build/BuildDetail.tsx:373 -msgid "Report" -msgstr "" +#~ msgid "Report" +#~ msgstr "Report" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99 #~ msgid "Purchase order" @@ -3275,14 +3351,9 @@ msgstr "" #~ msgid "Return order" #~ msgstr "Return order" -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135 -#: src/pages/part/PartDetail.tsx:518 -msgid "Bill of Materials" -msgstr "" - #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:145 -msgid "Tests" -msgstr "" +#~ msgid "Tests" +#~ msgstr "Tests" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:154 #~ msgid "Stock location" @@ -3321,26 +3392,30 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" +#: src/pages/Index/Settings/SystemSettings.tsx:139 +msgid "Labels" +msgstr "" + #: src/pages/Index/Settings/SystemSettings.tsx:145 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:223 -#: src/pages/part/PartDetail.tsx:589 +#: src/pages/Index/Settings/SystemSettings.tsx:224 +#: src/pages/part/PartDetail.tsx:590 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:228 -#: src/pages/build/BuildDetail.tsx:426 +#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:525 -#: src/pages/sales/SalesOrderDetail.tsx:263 +#: src/pages/part/PartDetail.tsx:526 +#: src/pages/sales/SalesOrderDetail.tsx:265 msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:296 +#: src/pages/Index/Settings/SystemSettings.tsx:297 msgid "Switch to User Setting" msgstr "" @@ -3397,44 +3472,47 @@ msgstr "" #~ msgstr "Build Status" #: src/pages/build/BuildDetail.tsx:89 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:128 -#: src/pages/sales/ReturnOrderDetail.tsx:95 -#: src/pages/sales/SalesOrderDetail.tsx:99 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:130 +#: src/pages/sales/ReturnOrderDetail.tsx:97 +#: src/pages/sales/SalesOrderDetail.tsx:101 #: src/tables/build/BuildOrderTable.tsx:113 #: src/tables/machine/MachineListTable.tsx:326 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderTable.tsx:46 #: src/tables/sales/SalesOrderTable.tsx:52 #: src/tables/stock/StockItemTable.tsx:259 +#: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "" #: src/pages/build/BuildDetail.tsx:95 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:101 -#: src/pages/sales/ReturnOrderDetail.tsx:69 -#: src/pages/sales/SalesOrderDetail.tsx:73 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:103 +#: src/pages/sales/ReturnOrderDetail.tsx:71 +#: src/pages/sales/SalesOrderDetail.tsx:75 +#: src/tables/ColumnRenderers.tsx:106 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" msgstr "" #: src/pages/build/BuildDetail.tsx:100 -#: src/pages/company/CompanyDetail.tsx:84 -#: src/pages/company/ManufacturerPartDetail.tsx:75 -#: src/pages/company/SupplierPartDetail.tsx:82 -#: src/pages/part/CategoryDetail.tsx:91 -#: src/pages/part/PartDetail.tsx:132 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:122 -#: src/pages/sales/ReturnOrderDetail.tsx:89 -#: src/pages/sales/SalesOrderDetail.tsx:93 -#: src/pages/stock/LocationDetail.tsx:97 -#: src/tables/ColumnRenderers.tsx:95 +#: src/pages/company/CompanyDetail.tsx:86 +#: src/pages/company/ManufacturerPartDetail.tsx:76 +#: src/pages/company/SupplierPartDetail.tsx:83 +#: src/pages/part/CategoryDetail.tsx:92 +#: src/pages/part/PartDetail.tsx:133 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:124 +#: src/pages/sales/ReturnOrderDetail.tsx:91 +#: src/pages/sales/SalesOrderDetail.tsx:95 +#: src/pages/stock/LocationDetail.tsx:99 +#: src/tables/ColumnRenderers.tsx:66 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 #: src/tables/machine/MachineTypeTable.tsx:323 #: src/tables/part/RelatedPartTable.tsx:64 -#: src/tables/plugin/PluginListTable.tsx:172 -#: src/tables/plugin/PluginListTable.tsx:302 +#: src/tables/plugin/PluginListTable.tsx:129 +#: src/tables/plugin/PluginListTable.tsx:276 +#: src/tables/stock/LocationTypesTable.tsx:65 msgid "Description" msgstr "" @@ -3447,7 +3525,7 @@ msgid "Build Quantity" msgstr "" #: src/pages/build/BuildDetail.tsx:126 -#: src/pages/build/BuildDetail.tsx:249 +#: src/pages/build/BuildDetail.tsx:256 msgid "Completed Outputs" msgstr "" @@ -3457,10 +3535,10 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:150 -#: src/pages/part/PartDetail.tsx:320 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:214 -#: src/pages/sales/ReturnOrderDetail.tsx:182 -#: src/pages/sales/SalesOrderDetail.tsx:186 +#: src/pages/part/PartDetail.tsx:321 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:184 +#: src/pages/sales/SalesOrderDetail.tsx:188 #: src/tables/build/BuildOrderTable.tsx:148 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 @@ -3474,10 +3552,10 @@ msgid "Created" msgstr "" #: src/pages/build/BuildDetail.tsx:164 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:207 -#: src/pages/sales/ReturnOrderDetail.tsx:175 -#: src/pages/sales/SalesOrderDetail.tsx:179 -#: src/tables/ColumnRenderers.tsx:227 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:209 +#: src/pages/sales/ReturnOrderDetail.tsx:177 +#: src/pages/sales/SalesOrderDetail.tsx:181 +#: src/tables/ColumnRenderers.tsx:191 msgid "Target Date" msgstr "" @@ -3513,6 +3591,11 @@ msgstr "" #~ msgid "Unlink custom barcode from part" #~ msgstr "Unlink custom barcode from part" +#: src/pages/build/BuildDetail.tsx:197 +#: src/pages/stock/StockDetail.tsx:526 +msgid "Batch Code" +msgstr "" + #: src/pages/build/BuildDetail.tsx:202 #~ msgid "Build Order updated" #~ msgstr "Build Order updated" @@ -3521,86 +3604,87 @@ msgstr "" #~ msgid "Edit build order" #~ msgstr "Edit build order" -#: src/pages/build/BuildDetail.tsx:222 -msgid "Build Details" -msgstr "" - #: src/pages/build/BuildDetail.tsx:226 #~ msgid "Duplicate build order" #~ msgstr "Duplicate build order" -#: src/pages/build/BuildDetail.tsx:228 -#: src/tables/build/BuildLineTable.tsx:225 -msgid "Allocate Stock" +#: src/pages/build/BuildDetail.tsx:229 +msgid "Build Details" msgstr "" #: src/pages/build/BuildDetail.tsx:231 #~ msgid "Delete build order" #~ msgstr "Delete build order" -#: src/pages/build/BuildDetail.tsx:242 +#: src/pages/build/BuildDetail.tsx:235 +#: src/tables/build/BuildLineTable.tsx:225 +msgid "Allocate Stock" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:249 msgid "Incomplete Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:264 +#: src/pages/build/BuildDetail.tsx:271 msgid "Consumed Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:278 +#: src/pages/build/BuildDetail.tsx:285 msgid "Child Build Orders" msgstr "" -#: src/pages/build/BuildDetail.tsx:288 -#: src/pages/company/CompanyDetail.tsx:253 -#: src/pages/company/ManufacturerPartDetail.tsx:171 -#: src/pages/part/PartDetail.tsx:611 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:276 -#: src/pages/sales/ReturnOrderDetail.tsx:225 -#: src/pages/sales/SalesOrderDetail.tsx:273 -#: src/pages/stock/StockDetail.tsx:317 +#: src/pages/build/BuildDetail.tsx:295 +#: src/pages/company/CompanyDetail.tsx:255 +#: src/pages/company/ManufacturerPartDetail.tsx:172 +#: src/pages/part/PartDetail.tsx:612 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:278 +#: src/pages/sales/ReturnOrderDetail.tsx:227 +#: src/pages/sales/SalesOrderDetail.tsx:275 +#: src/pages/stock/StockDetail.tsx:325 msgid "Attachments" msgstr "" -#: src/pages/build/BuildDetail.tsx:300 -#: src/pages/company/CompanyDetail.tsx:265 -#: src/pages/part/PartDetail.tsx:623 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:288 -#: src/pages/sales/ReturnOrderDetail.tsx:237 -#: src/pages/sales/SalesOrderDetail.tsx:285 -#: src/pages/stock/StockDetail.tsx:329 +#: src/pages/build/BuildDetail.tsx:307 +#: src/pages/company/CompanyDetail.tsx:267 +#: src/pages/part/PartDetail.tsx:624 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:290 +#: src/pages/sales/ReturnOrderDetail.tsx:239 +#: src/pages/sales/SalesOrderDetail.tsx:287 +#: src/pages/stock/StockDetail.tsx:337 +#: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "" -#: src/pages/build/BuildDetail.tsx:318 +#: src/pages/build/BuildDetail.tsx:325 msgid "Edit Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:327 +#: src/pages/build/BuildDetail.tsx:334 msgid "Cancel Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:339 +#: src/pages/build/BuildDetail.tsx:346 #: src/tables/build/BuildOrderTable.tsx:167 #: src/tables/build/BuildOrderTable.tsx:182 msgid "Add Build Order" msgstr "" #: src/pages/build/BuildDetail.tsx:368 -msgid "Reporting Actions" -msgstr "" +#~ msgid "Reporting Actions" +#~ msgstr "Reporting Actions" #: src/pages/build/BuildDetail.tsx:374 -msgid "Print build report" -msgstr "" +#~ msgid "Print build report" +#~ msgstr "Print build report" -#: src/pages/build/BuildDetail.tsx:380 +#: src/pages/build/BuildDetail.tsx:378 msgid "Build Order Actions" msgstr "" -#: src/pages/build/BuildDetail.tsx:388 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:326 -#: src/pages/sales/ReturnOrderDetail.tsx:300 -#: src/pages/sales/SalesOrderDetail.tsx:310 +#: src/pages/build/BuildDetail.tsx:386 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:333 +#: src/pages/sales/ReturnOrderDetail.tsx:307 +#: src/pages/sales/SalesOrderDetail.tsx:317 msgid "Cancel order" msgstr "" @@ -3612,56 +3696,58 @@ msgstr "" #~ msgid "New Build Order" #~ msgstr "New Build Order" -#: src/pages/company/CompanyDetail.tsx:98 +#: src/pages/company/CompanyDetail.tsx:100 msgid "Phone Number" msgstr "" -#: src/pages/company/CompanyDetail.tsx:105 +#: src/pages/company/CompanyDetail.tsx:107 msgid "Email Address" msgstr "" -#: src/pages/company/CompanyDetail.tsx:115 +#: src/pages/company/CompanyDetail.tsx:117 msgid "Default Currency" msgstr "" -#: src/pages/company/CompanyDetail.tsx:120 +#: src/pages/company/CompanyDetail.tsx:122 #: src/pages/company/SupplierDetail.tsx:8 -#: src/pages/company/SupplierPartDetail.tsx:106 -#: src/pages/company/SupplierPartDetail.tsx:192 -#: src/pages/company/SupplierPartDetail.tsx:295 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:116 +#: src/pages/company/SupplierPartDetail.tsx:107 +#: src/pages/company/SupplierPartDetail.tsx:193 +#: src/pages/company/SupplierPartDetail.tsx:296 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:118 #: src/tables/company/CompanyTable.tsx:100 #: src/tables/purchasing/PurchaseOrderTable.tsx:88 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:36 msgid "Supplier" msgstr "" -#: src/pages/company/CompanyDetail.tsx:126 +#: src/pages/company/CompanyDetail.tsx:128 #: src/pages/company/ManufacturerDetail.tsx:8 -#: src/pages/company/ManufacturerPartDetail.tsx:93 -#: src/pages/company/ManufacturerPartDetail.tsx:235 -#: src/pages/company/SupplierPartDetail.tsx:121 +#: src/pages/company/ManufacturerPartDetail.tsx:94 +#: src/pages/company/ManufacturerPartDetail.tsx:239 +#: src/pages/company/SupplierPartDetail.tsx:122 #: src/tables/company/CompanyTable.tsx:105 msgid "Manufacturer" msgstr "" -#: src/pages/company/CompanyDetail.tsx:132 +#: src/pages/company/CompanyDetail.tsx:134 #: src/pages/company/CustomerDetail.tsx:8 #: src/pages/part/pricing/SaleHistoryPanel.tsx:39 -#: src/pages/sales/ReturnOrderDetail.tsx:83 -#: src/pages/sales/SalesOrderDetail.tsx:87 -#: src/pages/stock/StockDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:85 +#: src/pages/sales/SalesOrderDetail.tsx:89 +#: src/pages/stock/StockDetail.tsx:219 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:107 +#: src/tables/stock/StockTrackingTable.tsx:140 msgid "Customer" msgstr "" -#: src/pages/company/CompanyDetail.tsx:166 +#: src/pages/company/CompanyDetail.tsx:168 +#: src/tables/stock/StockTrackingTable.tsx:183 msgid "Details" msgstr "" -#: src/pages/company/CompanyDetail.tsx:172 +#: src/pages/company/CompanyDetail.tsx:174 msgid "Manufactured Parts" msgstr "" @@ -3669,7 +3755,7 @@ msgstr "" #~ msgid "Edit company" #~ msgstr "Edit company" -#: src/pages/company/CompanyDetail.tsx:181 +#: src/pages/company/CompanyDetail.tsx:183 msgid "Supplied Parts" msgstr "" @@ -3677,289 +3763,289 @@ msgstr "" #~ msgid "Delete company" #~ msgstr "Delete company" -#: src/pages/company/CompanyDetail.tsx:226 +#: src/pages/company/CompanyDetail.tsx:228 msgid "Assigned Stock" msgstr "" -#: src/pages/company/CompanyDetail.tsx:281 +#: src/pages/company/CompanyDetail.tsx:283 #: src/tables/company/CompanyTable.tsx:86 msgid "Edit Company" msgstr "" -#: src/pages/company/CompanyDetail.tsx:290 +#: src/pages/company/CompanyDetail.tsx:292 msgid "Company Actions" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:68 -#: src/pages/company/SupplierPartDetail.tsx:75 +#: src/pages/company/ManufacturerPartDetail.tsx:69 +#: src/pages/company/SupplierPartDetail.tsx:76 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:72 msgid "Internal Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:83 -#: src/pages/company/SupplierPartDetail.tsx:89 +#: src/pages/company/ManufacturerPartDetail.tsx:84 +#: src/pages/company/SupplierPartDetail.tsx:90 msgid "External Link" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:101 -#: src/pages/company/SupplierPartDetail.tsx:130 -#: src/tables/purchasing/ManufacturerPartTable.tsx:53 +#: src/pages/company/ManufacturerPartDetail.tsx:102 +#: src/pages/company/SupplierPartDetail.tsx:131 +#: src/tables/purchasing/ManufacturerPartTable.tsx:56 msgid "Manufacturer Part Number" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:130 +#: src/pages/company/ManufacturerPartDetail.tsx:131 msgid "Manufacturer Details" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:139 +#: src/pages/company/ManufacturerPartDetail.tsx:140 msgid "Manufacturer Part Details" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:145 -#: src/pages/part/PartDetail.tsx:485 +#: src/pages/company/ManufacturerPartDetail.tsx:146 +#: src/pages/part/PartDetail.tsx:486 msgid "Parameters" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:157 -#: src/pages/part/PartDetail.tsx:558 +#: src/pages/company/ManufacturerPartDetail.tsx:158 +#: src/pages/part/PartDetail.tsx:559 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:189 -#: src/tables/purchasing/ManufacturerPartTable.tsx:97 +#: src/pages/company/ManufacturerPartDetail.tsx:190 +#: src/tables/purchasing/ManufacturerPartTable.tsx:84 msgid "Edit Manufacturer Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:196 -#: src/tables/purchasing/ManufacturerPartTable.tsx:63 -#: src/tables/purchasing/ManufacturerPartTable.tsx:78 +#: src/pages/company/ManufacturerPartDetail.tsx:197 +#: src/tables/purchasing/ManufacturerPartTable.tsx:72 +#: src/tables/purchasing/ManufacturerPartTable.tsx:103 msgid "Add Manufacturer Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:209 +#: src/pages/company/ManufacturerPartDetail.tsx:213 msgid "Manufacturer Part Actions" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:247 +#: src/pages/company/ManufacturerPartDetail.tsx:251 msgid "ManufacturerPart" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:96 -#: src/tables/ColumnRenderers.tsx:146 +#: src/pages/company/SupplierPartDetail.tsx:97 +#: src/tables/ColumnRenderers.tsx:117 msgid "Note" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:114 +#: src/pages/company/SupplierPartDetail.tsx:115 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:57 msgid "SKU" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:142 -#: src/pages/company/SupplierPartDetail.tsx:193 -#: src/pages/stock/StockDetail.tsx:230 +#: src/pages/company/SupplierPartDetail.tsx:143 +#: src/pages/company/SupplierPartDetail.tsx:194 +#: src/pages/stock/StockDetail.tsx:233 msgid "Packaging" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:149 +#: src/pages/company/SupplierPartDetail.tsx:150 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:107 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143 #: src/tables/purchasing/SupplierPartTable.tsx:131 msgid "Pack Quantity" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:160 +#: src/pages/company/SupplierPartDetail.tsx:161 msgid "Supplier Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:167 +#: src/pages/company/SupplierPartDetail.tsx:168 msgid "Availability Updated" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:194 +#: src/pages/company/SupplierPartDetail.tsx:195 msgid "Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:203 +#: src/pages/company/SupplierPartDetail.tsx:204 msgid "Supplier Part Details" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:209 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:263 +#: src/pages/company/SupplierPartDetail.tsx:210 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:265 msgid "Received Stock" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:233 +#: src/pages/company/SupplierPartDetail.tsx:234 #: src/pages/part/PartPricingPanel.tsx:115 #: src/pages/part/pricing/PricingOverviewPanel.tsx:130 msgid "Supplier Pricing" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:248 +#: src/pages/company/SupplierPartDetail.tsx:249 msgid "Supplier Part Actions" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:272 +#: src/pages/company/SupplierPartDetail.tsx:273 #: src/tables/purchasing/SupplierPartTable.tsx:210 msgid "Edit Supplier Part" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:279 +#: src/pages/company/SupplierPartDetail.tsx:280 #: src/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "" -#: src/pages/part/CategoryDetail.tsx:83 -#: src/pages/stock/LocationDetail.tsx:89 +#: src/pages/part/CategoryDetail.tsx:84 +#: src/pages/stock/LocationDetail.tsx:91 #: src/tables/settings/ErrorTable.tsx:34 msgid "Path" msgstr "" -#: src/pages/part/CategoryDetail.tsx:99 +#: src/pages/part/CategoryDetail.tsx:100 msgid "Parent Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:116 +#: src/pages/part/CategoryDetail.tsx:117 msgid "Subcategories" msgstr "" -#: src/pages/part/CategoryDetail.tsx:123 -#: src/pages/stock/LocationDetail.tsx:129 -#: src/tables/part/PartCategoryTable.tsx:69 +#: src/pages/part/CategoryDetail.tsx:124 +#: src/pages/stock/LocationDetail.tsx:131 +#: src/tables/part/PartCategoryTable.tsx:65 msgid "Structural" msgstr "" -#: src/pages/part/CategoryDetail.tsx:129 +#: src/pages/part/CategoryDetail.tsx:130 msgid "Parent default location" msgstr "" -#: src/pages/part/CategoryDetail.tsx:136 +#: src/pages/part/CategoryDetail.tsx:137 msgid "Default location" msgstr "" -#: src/pages/part/CategoryDetail.tsx:147 +#: src/pages/part/CategoryDetail.tsx:148 msgid "Top level part category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:157 -#: src/pages/part/CategoryDetail.tsx:211 -#: src/tables/part/PartCategoryTable.tsx:96 +#: src/pages/part/CategoryDetail.tsx:158 +#: src/pages/part/CategoryDetail.tsx:212 +#: src/tables/part/PartCategoryTable.tsx:88 msgid "Edit Part Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:170 -#: src/pages/stock/LocationDetail.tsx:213 +#: src/pages/part/CategoryDetail.tsx:171 +#: src/pages/stock/LocationDetail.tsx:223 msgid "Delete items" msgstr "" -#: src/pages/part/CategoryDetail.tsx:178 -#: src/pages/part/CategoryDetail.tsx:216 +#: src/pages/part/CategoryDetail.tsx:179 +#: src/pages/part/CategoryDetail.tsx:217 msgid "Delete Part Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:181 +#: src/pages/part/CategoryDetail.tsx:182 msgid "Parts Action" msgstr "" -#: src/pages/part/CategoryDetail.tsx:182 +#: src/pages/part/CategoryDetail.tsx:183 msgid "Action for parts in this category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:187 +#: src/pages/part/CategoryDetail.tsx:188 msgid "Child Categories Action" msgstr "" -#: src/pages/part/CategoryDetail.tsx:188 +#: src/pages/part/CategoryDetail.tsx:189 msgid "Action for child categories in this category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:206 +#: src/pages/part/CategoryDetail.tsx:207 msgid "Category Actions" msgstr "" -#: src/pages/part/CategoryDetail.tsx:228 +#: src/pages/part/CategoryDetail.tsx:229 msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:138 +#: src/pages/part/PartDetail.tsx:139 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:145 +#: src/pages/part/PartDetail.tsx:146 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "" -#: src/pages/part/PartDetail.tsx:151 +#: src/pages/part/PartDetail.tsx:152 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:158 +#: src/pages/part/PartDetail.tsx:159 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:165 +#: src/pages/part/PartDetail.tsx:166 msgid "IPN" msgstr "" -#: src/pages/part/PartDetail.tsx:172 +#: src/pages/part/PartDetail.tsx:173 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:179 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39 +#: src/pages/part/PartDetail.tsx:180 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "" -#: src/pages/part/PartDetail.tsx:186 +#: src/pages/part/PartDetail.tsx:187 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:193 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:180 -#: src/pages/sales/ReturnOrderDetail.tsx:148 -#: src/pages/sales/SalesOrderDetail.tsx:152 +#: src/pages/part/PartDetail.tsx:194 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:182 +#: src/pages/sales/ReturnOrderDetail.tsx:150 +#: src/pages/sales/SalesOrderDetail.tsx:154 msgid "Link" msgstr "" -#: src/pages/part/PartDetail.tsx:211 -#: src/tables/bom/BomTable.tsx:269 +#: src/pages/part/PartDetail.tsx:212 +#: src/tables/bom/BomTable.tsx:271 #: src/tables/build/BuildLineTable.tsx:121 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:218 +#: src/pages/part/PartDetail.tsx:219 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:224 -#: src/tables/bom/BomTable.tsx:210 +#: src/pages/part/PartDetail.tsx:225 +#: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:233 +#: src/pages/part/PartDetail.tsx:234 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:241 +#: src/pages/part/PartDetail.tsx:242 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:248 -#: src/tables/bom/BomTable.tsx:234 +#: src/pages/part/PartDetail.tsx:249 +#: src/tables/bom/BomTable.tsx:236 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:255 -#: src/tables/bom/BomTable.tsx:218 +#: src/pages/part/PartDetail.tsx:256 +#: src/tables/bom/BomTable.tsx:220 #: src/tables/part/PartTable.tsx:82 msgid "Building" msgstr "" -#: src/pages/part/PartDetail.tsx:264 +#: src/pages/part/PartDetail.tsx:265 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 @@ -3968,45 +4054,47 @@ msgstr "" #: src/tables/machine/MachineListTable.tsx:585 #: src/tables/part/PartTable.tsx:168 #: src/tables/part/PartVariantTable.tsx:15 -#: src/tables/plugin/PluginListTable.tsx:190 -#: src/tables/plugin/PluginListTable.tsx:638 +#: src/tables/plugin/PluginListTable.tsx:149 +#: src/tables/plugin/PluginListTable.tsx:271 +#: src/tables/plugin/PluginListTable.tsx:563 #: src/tables/purchasing/SupplierPartTable.tsx:98 #: src/tables/purchasing/SupplierPartTable.tsx:187 #: src/tables/stock/StockItemTable.tsx:254 msgid "Active" msgstr "" -#: src/pages/part/PartDetail.tsx:269 +#: src/pages/part/PartDetail.tsx:270 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:274 -#: src/tables/bom/BomTable.tsx:264 +#: src/pages/part/PartDetail.tsx:275 +#: src/tables/bom/BomTable.tsx:266 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:279 +#: src/pages/part/PartDetail.tsx:280 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:284 -#: src/tables/bom/BomTable.tsx:259 +#: src/pages/part/PartDetail.tsx:285 +#: src/tables/bom/BomTable.tsx:261 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:289 +#: src/pages/part/PartDetail.tsx:290 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:294 +#: src/pages/part/PartDetail.tsx:295 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:299 +#: src/pages/part/PartDetail.tsx:300 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:307 +#: src/pages/part/PartDetail.tsx:308 +#: src/tables/ColumnRenderers.tsx:199 msgid "Creation Date" msgstr "" @@ -4014,7 +4102,7 @@ msgstr "" #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:312 +#: src/pages/part/PartDetail.tsx:313 msgid "Created By" msgstr "" @@ -4022,68 +4110,72 @@ msgstr "" #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:327 -msgid "Default Supplier" -msgstr "" - #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:338 +#: src/pages/part/PartDetail.tsx:328 +msgid "Default Supplier" +msgstr "" + +#: src/pages/part/PartDetail.tsx:339 #: src/tables/part/PartTable.tsx:151 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:373 -#: src/pages/stock/StockDetail.tsx:127 +#: src/pages/part/PartDetail.tsx:374 +#: src/pages/stock/StockDetail.tsx:130 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:408 +#: src/pages/part/PartDetail.tsx:409 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:479 +#: src/pages/part/PartDetail.tsx:480 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:505 +#: src/pages/part/PartDetail.tsx:506 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:512 -#: src/pages/stock/StockDetail.tsx:275 +#: src/pages/part/PartDetail.tsx:513 +#: src/pages/stock/StockDetail.tsx:283 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:532 +#: src/pages/part/PartDetail.tsx:519 +msgid "Bill of Materials" +msgstr "" + +#: src/pages/part/PartDetail.tsx:533 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:539 +#: src/pages/part/PartDetail.tsx:540 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:545 +#: src/pages/part/PartDetail.tsx:546 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:584 +#: src/pages/part/PartDetail.tsx:585 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:594 +#: src/pages/part/PartDetail.tsx:595 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:605 +#: src/pages/part/PartDetail.tsx:606 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:660 -#: src/pages/stock/StockDetail.tsx:148 +#: src/pages/part/PartDetail.tsx:661 +#: src/pages/stock/StockDetail.tsx:151 #: src/tables/build/BuildLineTable.tsx:36 #: src/tables/part/PartTable.tsx:107 #: src/tables/stock/StockItemTable.tsx:166 @@ -4091,49 +4183,51 @@ msgstr "" msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:666 +#: src/pages/part/PartDetail.tsx:667 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:672 -#: src/tables/bom/BomTable.tsx:274 +#: src/pages/part/PartDetail.tsx:673 +#: src/tables/bom/BomTable.tsx:276 #: src/tables/part/PartTable.tsx:76 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:678 -#: src/pages/stock/StockDetail.tsx:496 +#: src/pages/part/PartDetail.tsx:679 +#: src/pages/stock/StockDetail.tsx:509 #: src/tables/stock/StockItemTable.tsx:295 msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:697 +#: src/pages/part/PartDetail.tsx:698 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:704 +#: src/pages/part/PartDetail.tsx:705 #: src/tables/part/PartTable.tsx:266 #: src/tables/part/PartTable.tsx:279 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:716 +#: src/pages/part/PartDetail.tsx:717 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:725 +#: src/pages/part/PartDetail.tsx:726 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:763 +#: src/pages/part/PartDetail.tsx:764 +#: src/pages/stock/LocationDetail.tsx:301 +#: src/tables/stock/StockItemTable.tsx:409 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:771 +#: src/pages/part/PartDetail.tsx:772 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:782 +#: src/pages/part/PartDetail.tsx:783 msgid "Transfer part stock" msgstr "" @@ -4199,15 +4293,15 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151 #: src/pages/part/pricing/SupplierPricingPanel.tsx:83 -#: src/tables/bom/BomTable.tsx:149 +#: src/tables/bom/BomTable.tsx:151 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 msgid "Unit Price" msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:173 -#: src/tables/ColumnRenderers.tsx:278 -#: src/tables/bom/BomTable.tsx:158 +#: src/tables/ColumnRenderers.tsx:241 +#: src/tables/bom/BomTable.tsx:160 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 #: src/tables/sales/ReturnOrderTable.tsx:104 #: src/tables/sales/SalesOrderTable.tsx:134 @@ -4229,24 +4323,24 @@ msgid "Bar Chart" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:63 -#: src/pages/part/pricing/PriceBreakPanel.tsx:117 +#: src/pages/part/pricing/PriceBreakPanel.tsx:115 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:138 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:164 msgid "Add Price Break" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:76 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:149 msgid "Edit Price Break" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:86 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:157 msgid "Delete Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:102 -#: src/pages/part/pricing/PriceBreakPanel.tsx:193 +#: src/pages/part/pricing/PriceBreakPanel.tsx:100 +#: src/pages/part/pricing/PriceBreakPanel.tsx:191 msgid "Price Break" msgstr "" @@ -4275,7 +4369,7 @@ msgid "Overall Pricing" msgstr "" #: src/pages/part/pricing/PricingOverviewPanel.tsx:184 -#: src/pages/stock/StockDetail.tsx:121 +#: src/pages/stock/StockDetail.tsx:124 msgid "Last Updated" msgstr "" @@ -4309,9 +4403,8 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50 #: src/pages/part/pricing/SaleHistoryPanel.tsx:46 -#: src/tables/ColumnRenderers.tsx:217 -#: src/tables/plugin/PluginListTable.tsx:182 -#: src/tables/stock/StockItemTestResultTable.tsx:194 +#: src/tables/ColumnRenderers.tsx:180 +#: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" @@ -4338,89 +4431,89 @@ msgstr "" msgid "Variant Part" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:73 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:75 msgid "Edit Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:82 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:84 #: src/tables/purchasing/PurchaseOrderTable.tsx:128 #: src/tables/purchasing/PurchaseOrderTable.tsx:140 msgid "Add Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:107 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:109 msgid "Supplier Reference" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:137 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:252 -#: src/pages/sales/ReturnOrderDetail.tsx:104 -#: src/pages/sales/ReturnOrderDetail.tsx:220 -#: src/pages/sales/SalesOrderDetail.tsx:108 -#: src/pages/sales/SalesOrderDetail.tsx:248 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:139 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:254 +#: src/pages/sales/ReturnOrderDetail.tsx:106 +#: src/pages/sales/ReturnOrderDetail.tsx:222 +#: src/pages/sales/SalesOrderDetail.tsx:110 +#: src/pages/sales/SalesOrderDetail.tsx:250 msgid "Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:144 -#: src/pages/sales/ReturnOrderDetail.tsx:111 -#: src/pages/sales/SalesOrderDetail.tsx:115 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:146 +#: src/pages/sales/ReturnOrderDetail.tsx:113 +#: src/pages/sales/SalesOrderDetail.tsx:117 msgid "Completed Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:152 -#: src/pages/sales/ReturnOrderDetail.tsx:119 -#: src/pages/sales/SalesOrderDetail.tsx:123 -#: src/pages/sales/SalesOrderDetail.tsx:258 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:121 +#: src/pages/sales/SalesOrderDetail.tsx:125 +#: src/pages/sales/SalesOrderDetail.tsx:260 msgid "Completed Shipments" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:159 -#: src/pages/sales/ReturnOrderDetail.tsx:127 -#: src/pages/sales/SalesOrderDetail.tsx:131 -msgid "Order Currency" -msgstr "" - #: src/pages/purchasing/PurchaseOrderDetail.tsx:159 #: src/pages/sales/ReturnOrderDetail.tsx:126 #: src/pages/sales/SalesOrderDetail.tsx:130 #~ msgid "Order Currency," #~ msgstr "Order Currency," -#: src/pages/purchasing/PurchaseOrderDetail.tsx:166 -#: src/pages/sales/ReturnOrderDetail.tsx:134 -#: src/pages/sales/SalesOrderDetail.tsx:138 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:161 +#: src/pages/sales/ReturnOrderDetail.tsx:129 +#: src/pages/sales/SalesOrderDetail.tsx:133 +msgid "Order Currency" +msgstr "" + +#: src/pages/purchasing/PurchaseOrderDetail.tsx:168 +#: src/pages/sales/ReturnOrderDetail.tsx:136 +#: src/pages/sales/SalesOrderDetail.tsx:140 msgid "Total Cost" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:201 -#: src/pages/sales/ReturnOrderDetail.tsx:169 -#: src/pages/sales/SalesOrderDetail.tsx:173 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:203 +#: src/pages/sales/ReturnOrderDetail.tsx:171 +#: src/pages/sales/SalesOrderDetail.tsx:175 msgid "Created On" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:246 -#: src/pages/sales/ReturnOrderDetail.tsx:214 -#: src/pages/sales/SalesOrderDetail.tsx:242 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:248 +#: src/pages/sales/ReturnOrderDetail.tsx:216 +#: src/pages/sales/SalesOrderDetail.tsx:244 msgid "Order Details" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:316 -#: src/pages/sales/ReturnOrderDetail.tsx:290 -#: src/pages/sales/SalesOrderDetail.tsx:302 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:323 +#: src/pages/sales/ReturnOrderDetail.tsx:297 +#: src/pages/sales/SalesOrderDetail.tsx:309 msgid "Order Actions" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:75 -#: src/pages/sales/SalesOrderDetail.tsx:79 +#: src/pages/sales/ReturnOrderDetail.tsx:77 +#: src/pages/sales/SalesOrderDetail.tsx:81 #: src/tables/sales/SalesOrderTable.tsx:123 msgid "Customer Reference" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:267 +#: src/pages/sales/ReturnOrderDetail.tsx:269 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:276 +#: src/pages/sales/ReturnOrderDetail.tsx:278 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" @@ -4430,68 +4523,72 @@ msgstr "" msgid "Customers" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:219 +#: src/pages/sales/SalesOrderDetail.tsx:221 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:228 +#: src/pages/sales/SalesOrderDetail.tsx:230 #: src/tables/sales/SalesOrderTable.tsx:83 #: src/tables/sales/SalesOrderTable.tsx:95 msgid "Add Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:253 +#: src/pages/sales/SalesOrderDetail.tsx:255 msgid "Pending Shipments" msgstr "" -#: src/pages/stock/LocationDetail.tsx:105 +#: src/pages/stock/LocationDetail.tsx:107 msgid "Parent Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:123 +#: src/pages/stock/LocationDetail.tsx:125 msgid "Sublocations" msgstr "" -#: src/pages/stock/LocationDetail.tsx:135 +#: src/pages/stock/LocationDetail.tsx:137 msgid "External" msgstr "" -#: src/pages/stock/LocationDetail.tsx:144 +#: src/pages/stock/LocationDetail.tsx:143 +msgid "Location Type" +msgstr "" + +#: src/pages/stock/LocationDetail.tsx:154 msgid "Top level stock location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:155 +#: src/pages/stock/LocationDetail.tsx:165 msgid "Location Details" msgstr "" -#: src/pages/stock/LocationDetail.tsx:181 +#: src/pages/stock/LocationDetail.tsx:191 msgid "Default Parts" msgstr "" -#: src/pages/stock/LocationDetail.tsx:200 +#: src/pages/stock/LocationDetail.tsx:210 #: src/pages/stock/LocationDetail.tsx:328 -#: src/tables/stock/StockLocationTable.tsx:108 +#: src/tables/stock/StockLocationTable.tsx:100 msgid "Edit Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:221 +#: src/pages/stock/LocationDetail.tsx:231 #: src/pages/stock/LocationDetail.tsx:333 msgid "Delete Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:224 +#: src/pages/stock/LocationDetail.tsx:234 msgid "Items Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:225 +#: src/pages/stock/LocationDetail.tsx:235 msgid "Action for stock items in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:230 +#: src/pages/stock/LocationDetail.tsx:240 msgid "Child Locations Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:231 +#: src/pages/stock/LocationDetail.tsx:241 msgid "Action for child locations in this location" msgstr "" @@ -4499,11 +4596,11 @@ msgstr "" msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:100 +#: src/pages/stock/StockDetail.tsx:103 msgid "Base Part" msgstr "" -#: src/pages/stock/StockDetail.tsx:107 +#: src/pages/stock/StockDetail.tsx:110 msgid "Stock Status" msgstr "" @@ -4515,15 +4612,16 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:174 +#: src/pages/stock/StockDetail.tsx:177 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:190 +#: src/pages/stock/StockDetail.tsx:193 msgid "Consumed By" msgstr "" -#: src/pages/stock/StockDetail.tsx:199 +#: src/pages/stock/StockDetail.tsx:202 +#: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" msgstr "" @@ -4535,78 +4633,78 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:264 +#: src/pages/stock/StockDetail.tsx:267 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:270 +#: src/pages/stock/StockDetail.tsx:273 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:282 +#: src/pages/stock/StockDetail.tsx:290 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:296 +#: src/pages/stock/StockDetail.tsx:304 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:303 +#: src/pages/stock/StockDetail.tsx:311 msgid "Child Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:358 +#: src/pages/stock/StockDetail.tsx:366 msgid "Edit Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:385 +#: src/pages/stock/StockDetail.tsx:393 msgid "Delete Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:426 -msgid "Stock Operations" -msgstr "" - -#: src/pages/stock/StockDetail.tsx:431 -msgid "Count stock" -msgstr "" - #: src/pages/stock/StockDetail.tsx:433 #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:441 +#: src/pages/stock/StockDetail.tsx:440 +msgid "Stock Operations" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:445 +msgid "Count stock" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:455 #: src/tables/stock/StockItemTable.tsx:414 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:449 +#: src/pages/stock/StockDetail.tsx:463 #: src/tables/stock/StockItemTable.tsx:423 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:456 +#: src/pages/stock/StockDetail.tsx:470 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:457 +#: src/pages/stock/StockDetail.tsx:471 #: src/tables/stock/StockItemTable.tsx:443 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:469 +#: src/pages/stock/StockDetail.tsx:482 msgid "Stock Item Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:513 -msgid "Batch Code" -msgstr "" - -#: src/tables/ColumnRenderers.tsx:50 +#: src/tables/ColumnRenderers.tsx:42 msgid "No location set" msgstr "" -#: src/tables/ColumnRenderers.tsx:264 +#: src/tables/ColumnRenderers.tsx:207 +msgid "Shipment Date" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:227 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "" @@ -4616,20 +4714,32 @@ msgstr "" msgid "Select Columns" msgstr "" -#: src/tables/DownloadAction.tsx:11 +#: src/tables/DownloadAction.tsx:13 +#~ msgid "Excel" +#~ msgstr "Excel" + +#: src/tables/DownloadAction.tsx:21 +#~ msgid "Download selected data" +#~ msgstr "Download selected data" + +#: src/tables/DownloadAction.tsx:22 msgid "CSV" msgstr "" -#: src/tables/DownloadAction.tsx:12 +#: src/tables/DownloadAction.tsx:23 msgid "TSV" msgstr "" -#: src/tables/DownloadAction.tsx:13 -msgid "Excel" +#: src/tables/DownloadAction.tsx:24 +msgid "Excel (.xls)" msgstr "" -#: src/tables/DownloadAction.tsx:21 -msgid "Download selected data" +#: src/tables/DownloadAction.tsx:25 +msgid "Excel (.xlsx)" +msgstr "" + +#: src/tables/DownloadAction.tsx:39 +msgid "Download Data" msgstr "" #: src/tables/Filter.tsx:88 @@ -4663,102 +4773,102 @@ msgstr "" msgid "Remove filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:147 +#: src/tables/FilterSelectDrawer.tsx:136 msgid "Select filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:148 +#: src/tables/FilterSelectDrawer.tsx:137 msgid "Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:155 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:33 -#: src/tables/stock/StockItemTestResultTable.tsx:182 +#: src/tables/FilterSelectDrawer.tsx:144 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 +#: src/tables/stock/StockItemTestResultTable.tsx:180 msgid "Value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:156 +#: src/tables/FilterSelectDrawer.tsx:145 msgid "Select filter value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:196 +#: src/tables/FilterSelectDrawer.tsx:185 msgid "Table Filters" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:228 +#: src/tables/FilterSelectDrawer.tsx:217 msgid "Add Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:237 +#: src/tables/FilterSelectDrawer.tsx:226 msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:118 -#: src/tables/InvenTreeTable.tsx:384 -#: src/tables/InvenTreeTable.tsx:405 +#: src/tables/InvenTreeTable.tsx:119 +#: src/tables/InvenTreeTable.tsx:390 +#: src/tables/InvenTreeTable.tsx:411 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:416 +#: src/tables/InvenTreeTable.tsx:422 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:424 +#: src/tables/InvenTreeTable.tsx:430 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:427 +#: src/tables/InvenTreeTable.tsx:433 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:436 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:433 +#: src/tables/InvenTreeTable.tsx:439 msgid "Not found" msgstr "" -#: src/tables/InvenTreeTable.tsx:482 -#: src/tables/InvenTreeTable.tsx:604 +#: src/tables/InvenTreeTable.tsx:488 +#: src/tables/InvenTreeTable.tsx:611 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:486 +#: src/tables/InvenTreeTable.tsx:492 msgid "Are you sure you want to delete the selected records?" msgstr "" -#: src/tables/InvenTreeTable.tsx:488 +#: src/tables/InvenTreeTable.tsx:494 msgid "This action cannot be undone!" msgstr "" -#: src/tables/InvenTreeTable.tsx:516 +#: src/tables/InvenTreeTable.tsx:522 msgid "Deleted records" msgstr "" -#: src/tables/InvenTreeTable.tsx:517 +#: src/tables/InvenTreeTable.tsx:523 msgid "Records were deleted successfully" msgstr "" -#: src/tables/InvenTreeTable.tsx:526 +#: src/tables/InvenTreeTable.tsx:532 msgid "Failed to delete records" msgstr "" -#: src/tables/InvenTreeTable.tsx:585 -#: src/tables/InvenTreeTable.tsx:586 -msgid "Barcode actions" -msgstr "" - #: src/tables/InvenTreeTable.tsx:594 #: src/tables/InvenTreeTable.tsx:595 -msgid "Print actions" +#~ msgid "Print actions" +#~ msgstr "Print actions" + +#: src/tables/InvenTreeTable.tsx:601 +#: src/tables/InvenTreeTable.tsx:602 +msgid "Barcode actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:620 +#: src/tables/InvenTreeTable.tsx:630 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:638 +#: src/tables/InvenTreeTable.tsx:648 msgid "Table filters" msgstr "" @@ -4770,138 +4880,138 @@ msgstr "" msgid "Part Information" msgstr "" -#: src/tables/bom/BomTable.tsx:177 +#: src/tables/bom/BomTable.tsx:179 #: src/tables/part/PartTable.tsx:124 msgid "No stock" msgstr "" -#: src/tables/bom/BomTable.tsx:185 +#: src/tables/bom/BomTable.tsx:187 #: src/tables/build/BuildLineTable.tsx:104 #: src/tables/part/PartTable.tsx:115 msgid "External stock" msgstr "" -#: src/tables/bom/BomTable.tsx:193 +#: src/tables/bom/BomTable.tsx:195 #: src/tables/build/BuildLineTable.tsx:67 msgid "Includes substitute stock" msgstr "" -#: src/tables/bom/BomTable.tsx:202 +#: src/tables/bom/BomTable.tsx:204 #: src/tables/build/BuildLineTable.tsx:77 msgid "Includes variant stock" msgstr "" -#: src/tables/bom/BomTable.tsx:227 +#: src/tables/bom/BomTable.tsx:229 #: src/tables/part/PartTable.tsx:143 #: src/tables/stock/StockItemTable.tsx:205 msgid "Stock Information" msgstr "" -#: src/tables/bom/BomTable.tsx:239 +#: src/tables/bom/BomTable.tsx:241 #: src/tables/build/BuildLineTable.tsx:195 msgid "Consumable item" msgstr "" -#: src/tables/bom/BomTable.tsx:260 +#: src/tables/bom/BomTable.tsx:262 msgid "Show trackable items" msgstr "" -#: src/tables/bom/BomTable.tsx:265 +#: src/tables/bom/BomTable.tsx:267 msgid "Show asssmbled items" msgstr "" -#: src/tables/bom/BomTable.tsx:270 +#: src/tables/bom/BomTable.tsx:272 msgid "Show items with available stock" msgstr "" -#: src/tables/bom/BomTable.tsx:275 +#: src/tables/bom/BomTable.tsx:277 msgid "Show items on order" msgstr "" -#: src/tables/bom/BomTable.tsx:279 +#: src/tables/bom/BomTable.tsx:281 msgid "Validated" msgstr "" -#: src/tables/bom/BomTable.tsx:280 +#: src/tables/bom/BomTable.tsx:282 msgid "Show validated items" msgstr "" -#: src/tables/bom/BomTable.tsx:284 +#: src/tables/bom/BomTable.tsx:286 #: src/tables/bom/UsedInTable.tsx:63 msgid "Inherited" msgstr "" -#: src/tables/bom/BomTable.tsx:285 +#: src/tables/bom/BomTable.tsx:287 #: src/tables/bom/UsedInTable.tsx:64 msgid "Show inherited items" msgstr "" -#: src/tables/bom/BomTable.tsx:289 +#: src/tables/bom/BomTable.tsx:291 #: src/tables/bom/UsedInTable.tsx:68 #: src/tables/build/BuildLineTable.tsx:46 msgid "Optional" msgstr "" -#: src/tables/bom/BomTable.tsx:290 +#: src/tables/bom/BomTable.tsx:292 #: src/tables/bom/UsedInTable.tsx:69 msgid "Show optional items" msgstr "" -#: src/tables/bom/BomTable.tsx:294 +#: src/tables/bom/BomTable.tsx:296 #: src/tables/build/BuildLineTable.tsx:41 msgid "Consumable" msgstr "" -#: src/tables/bom/BomTable.tsx:295 +#: src/tables/bom/BomTable.tsx:297 msgid "Show consumable items" msgstr "" -#: src/tables/bom/BomTable.tsx:299 +#: src/tables/bom/BomTable.tsx:301 msgid "Has Pricing" msgstr "" -#: src/tables/bom/BomTable.tsx:300 -msgid "Show items with pricing" -msgstr "" - #: src/tables/bom/BomTable.tsx:301 #~ msgid "Create BOM Item" #~ msgstr "Create BOM Item" -#: src/tables/bom/BomTable.tsx:309 -#: src/tables/bom/BomTable.tsx:397 +#: src/tables/bom/BomTable.tsx:302 +msgid "Show items with pricing" +msgstr "" + +#: src/tables/bom/BomTable.tsx:311 +#: src/tables/bom/BomTable.tsx:399 msgid "Add BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:314 +#: src/tables/bom/BomTable.tsx:316 msgid "BOM item created" msgstr "" -#: src/tables/bom/BomTable.tsx:321 +#: src/tables/bom/BomTable.tsx:323 msgid "Edit BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:323 +#: src/tables/bom/BomTable.tsx:325 msgid "BOM item updated" msgstr "" -#: src/tables/bom/BomTable.tsx:330 -msgid "Delete BOM Item" -msgstr "" - -#: src/tables/bom/BomTable.tsx:331 -msgid "BOM item deleted" -msgstr "" - #: src/tables/bom/BomTable.tsx:331 #~ msgid "Edit Bom Item" #~ msgstr "Edit Bom Item" +#: src/tables/bom/BomTable.tsx:332 +msgid "Delete BOM Item" +msgstr "" + +#: src/tables/bom/BomTable.tsx:333 +msgid "BOM item deleted" +msgstr "" + #: src/tables/bom/BomTable.tsx:333 #~ msgid "Bom item updated" #~ msgstr "Bom item updated" -#: src/tables/bom/BomTable.tsx:341 +#: src/tables/bom/BomTable.tsx:343 msgid "View BOM" msgstr "" @@ -4917,11 +5027,11 @@ msgstr "" #~ msgid "Are you sure you want to remove this BOM item?" #~ msgstr "Are you sure you want to remove this BOM item?" -#: src/tables/bom/BomTable.tsx:352 +#: src/tables/bom/BomTable.tsx:354 msgid "Validate BOM line" msgstr "" -#: src/tables/bom/BomTable.tsx:360 +#: src/tables/bom/BomTable.tsx:362 msgid "Edit Substitutes" msgstr "" @@ -5038,11 +5148,11 @@ msgid "Filter by responsible owner" msgstr "" #: src/tables/build/BuildOutputTable.tsx:114 -#: src/tables/build/BuildOutputTable.tsx:150 +#: src/tables/build/BuildOutputTable.tsx:152 msgid "Add Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:155 +#: src/tables/build/BuildOutputTable.tsx:157 msgid "Complete selected outputs" msgstr "" @@ -5050,68 +5160,68 @@ msgstr "" #~ msgid "Delete build output" #~ msgstr "Delete build output" -#: src/tables/build/BuildOutputTable.tsx:165 +#: src/tables/build/BuildOutputTable.tsx:167 msgid "Scrap selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:175 +#: src/tables/build/BuildOutputTable.tsx:177 msgid "Cancel selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:191 +#: src/tables/build/BuildOutputTable.tsx:193 msgid "Allocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:192 +#: src/tables/build/BuildOutputTable.tsx:194 msgid "Allocate stock to build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:197 +#: src/tables/build/BuildOutputTable.tsx:199 msgid "Deallocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:198 +#: src/tables/build/BuildOutputTable.tsx:200 msgid "Deallocate stock from build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:203 +#: src/tables/build/BuildOutputTable.tsx:205 msgid "Complete" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:204 +#: src/tables/build/BuildOutputTable.tsx:206 msgid "Complete build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:213 +#: src/tables/build/BuildOutputTable.tsx:215 msgid "Scrap" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:214 +#: src/tables/build/BuildOutputTable.tsx:216 msgid "Scrap build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:224 +#: src/tables/build/BuildOutputTable.tsx:226 msgid "Cancel build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:251 +#: src/tables/build/BuildOutputTable.tsx:253 msgid "Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:264 +#: src/tables/build/BuildOutputTable.tsx:266 msgid "Batch" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:278 +#: src/tables/build/BuildOutputTable.tsx:280 msgid "Allocated Items" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:288 +#: src/tables/build/BuildOutputTable.tsx:290 msgid "Required Tests" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:317 -#: src/tables/stock/StockItemTestResultTable.tsx:146 +#: src/tables/build/BuildOutputTable.tsx:319 +#: src/tables/stock/StockItemTestResultTable.tsx:144 msgid "Test Results" msgstr "" @@ -5132,7 +5242,7 @@ msgstr "" msgid "Delete Address" msgstr "" -#: src/tables/company/AddressTable.tsx:145 +#: src/tables/company/AddressTable.tsx:144 msgid "Are you sure you want to delete this address?" msgstr "" @@ -5177,36 +5287,52 @@ msgstr "" msgid "Add contact" msgstr "" -#: src/tables/general/AttachmentTable.tsx:161 +#: src/tables/general/AttachmentTable.tsx:130 msgid "File uploaded" msgstr "" -#: src/tables/general/AttachmentTable.tsx:162 +#: src/tables/general/AttachmentTable.tsx:131 msgid "File {0} uploaded successfully" msgstr "" -#: src/tables/general/AttachmentTable.tsx:173 +#: src/tables/general/AttachmentTable.tsx:142 msgid "Upload Error" msgstr "" -#: src/tables/general/AttachmentTable.tsx:174 +#: src/tables/general/AttachmentTable.tsx:143 msgid "File could not be uploaded" msgstr "" #: src/tables/general/AttachmentTable.tsx:187 +msgid "Upload Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:197 +msgid "Edit Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:211 +msgid "Delete Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:221 msgid "Add attachment" msgstr "" -#: src/tables/general/AttachmentTable.tsx:207 +#: src/tables/general/AttachmentTable.tsx:232 msgid "Add external link" msgstr "" -#: src/tables/general/AttachmentTable.tsx:239 +#: src/tables/general/AttachmentTable.tsx:254 +#~ msgid "Upload attachment" +#~ msgstr "Upload attachment" + +#: src/tables/general/AttachmentTable.tsx:289 msgid "No attachments found" msgstr "" -#: src/tables/general/AttachmentTable.tsx:254 -msgid "Upload attachment" +#: src/tables/general/AttachmentTable.tsx:325 +msgid "Drag attachment file here to upload" msgstr "" #: src/tables/machine/MachineListTable.tsx:199 @@ -5332,8 +5458,8 @@ msgstr "" #: src/tables/machine/MachineTypeTable.tsx:135 #: src/tables/machine/MachineTypeTable.tsx:255 -#: src/tables/plugin/PluginListTable.tsx:215 -#: src/tables/plugin/PluginListTable.tsx:643 +#: src/tables/plugin/PluginListTable.tsx:180 +#: src/tables/plugin/PluginListTable.tsx:568 msgid "Builtin" msgstr "" @@ -5375,7 +5501,7 @@ msgid "Message" msgstr "" #: src/tables/part/ParametricPartTable.tsx:75 -#: src/tables/part/PartParameterTable.tsx:87 +#: src/tables/part/PartParameterTable.tsx:88 msgid "Internal Units" msgstr "" @@ -5388,29 +5514,29 @@ msgid "Add Part Parameter" msgstr "" #: src/tables/part/ParametricPartTable.tsx:147 -#: src/tables/part/PartParameterTable.tsx:128 -#: src/tables/part/PartParameterTable.tsx:150 +#: src/tables/part/PartParameterTable.tsx:121 +#: src/tables/part/PartParameterTable.tsx:144 msgid "Edit Part Parameter" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:64 +#: src/tables/part/PartCategoryTable.tsx:60 #: src/tables/part/PartTable.tsx:180 msgid "Include Subcategories" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:65 +#: src/tables/part/PartCategoryTable.tsx:61 msgid "Include subcategories in results" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:70 +#: src/tables/part/PartCategoryTable.tsx:66 msgid "Show structural categories" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:77 +#: src/tables/part/PartCategoryTable.tsx:73 msgid "New Part Category" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:106 +#: src/tables/part/PartCategoryTable.tsx:98 msgid "Add Part Category" msgstr "" @@ -5435,20 +5561,20 @@ msgstr "" #~ msgid "[{0}]" #~ msgstr "[{0}]" -#: src/tables/part/PartParameterTable.tsx:112 +#: src/tables/part/PartParameterTable.tsx:105 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:136 -#: src/tables/part/PartParameterTable.tsx:158 +#: src/tables/part/PartParameterTable.tsx:130 +#: src/tables/part/PartParameterTable.tsx:152 msgid "Delete Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:175 +#: src/tables/part/PartParameterTable.tsx:170 msgid "Add parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:196 +#: src/tables/part/PartParameterTable.tsx:191 #: src/tables/stock/StockItemTable.tsx:300 msgid "Include Variants" msgstr "" @@ -5482,15 +5608,15 @@ msgstr "" msgid "Add Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:97 +#: src/tables/part/PartParameterTemplateTable.tsx:100 msgid "Edit Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:105 +#: src/tables/part/PartParameterTemplateTable.tsx:111 msgid "Delete Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:135 +#: src/tables/part/PartParameterTemplateTable.tsx:141 msgid "Add parameter template" msgstr "" @@ -5588,7 +5714,7 @@ msgid "No Results" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:79 -#: src/tables/stock/StockItemTestResultTable.tsx:385 +#: src/tables/stock/StockItemTestResultTable.tsx:376 msgid "Required" msgstr "" @@ -5597,8 +5723,8 @@ msgid "Show required tests" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:84 -#: src/tables/settings/TemplateTable.tsx:213 -#: src/tables/settings/TemplateTable.tsx:275 +#: src/tables/settings/TemplateTable.tsx:160 +#: src/tables/settings/TemplateTable.tsx:270 msgid "Enabled" msgstr "" @@ -5639,26 +5765,30 @@ msgid "Show tests which have recorded results" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:126 -#: src/tables/part/PartTestTemplateTable.tsx:195 +#: src/tables/part/PartTestTemplateTable.tsx:201 msgid "Add Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:139 +#: src/tables/part/PartTestTemplateTable.tsx:142 msgid "Edit Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:147 +#: src/tables/part/PartTestTemplateTable.tsx:153 msgid "Delete Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:149 +#: src/tables/part/PartTestTemplateTable.tsx:155 msgid "This action cannot be reversed" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:151 +#: src/tables/part/PartTestTemplateTable.tsx:157 msgid "Any tests results associated with this template will be deleted" msgstr "" +#: src/tables/part/PartThumbTable.tsx:203 +msgid "Select" +msgstr "" + #: src/tables/part/PartVariantTable.tsx:16 msgid "Show active variants" msgstr "" @@ -5695,252 +5825,273 @@ msgstr "" msgid "Stage" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:113 -msgid "Plugin with id {id} not found" +#: src/tables/plugin/PluginListTable.tsx:95 +msgid "Plugin with key {pluginKey} not found" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:115 +#: src/tables/plugin/PluginListTable.tsx:97 msgid "An error occurred while fetching plugin details" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:134 -msgid "Plugin Actions" -msgstr "" +#: src/tables/plugin/PluginListTable.tsx:113 +#~ msgid "Plugin with id {id} not found" +#~ msgstr "Plugin with id {id} not found" -#: src/tables/plugin/PluginListTable.tsx:138 -#: src/tables/plugin/PluginListTable.tsx:141 -msgid "Edit plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:152 -#: src/tables/plugin/PluginListTable.tsx:153 -msgid "Reload" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:166 +#: src/tables/plugin/PluginListTable.tsx:122 msgid "Plugin information" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:177 +#: src/tables/plugin/PluginListTable.tsx:134 msgid "Author" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:198 +#: src/tables/plugin/PluginListTable.tsx:134 +#~ msgid "Plugin Actions" +#~ msgstr "Plugin Actions" + +#: src/tables/plugin/PluginListTable.tsx:138 +#: src/tables/plugin/PluginListTable.tsx:141 +#~ msgid "Edit plugin" +#~ msgstr "Edit plugin" + +#: src/tables/plugin/PluginListTable.tsx:152 +#: src/tables/plugin/PluginListTable.tsx:153 +#~ msgid "Reload" +#~ msgstr "Reload" + +#: src/tables/plugin/PluginListTable.tsx:154 +msgid "Plugin is not active" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:163 msgid "Package information" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:204 +#: src/tables/plugin/PluginListTable.tsx:169 msgid "Package Name" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:210 +#: src/tables/plugin/PluginListTable.tsx:175 msgid "Installation Path" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:220 +#: src/tables/plugin/PluginListTable.tsx:185 msgid "Package" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:231 +#: src/tables/plugin/PluginListTable.tsx:197 msgid "Plugin settings" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:248 +#: src/tables/plugin/PluginListTable.tsx:214 msgid "Plugin is active" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:254 +#: src/tables/plugin/PluginListTable.tsx:220 msgid "Plugin is inactive" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:261 +#: src/tables/plugin/PluginListTable.tsx:227 msgid "Plugin is not installed" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:287 +#: src/tables/plugin/PluginListTable.tsx:253 msgid "Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:312 +#: src/tables/plugin/PluginListTable.tsx:287 msgid "Description not available" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:338 +#: src/tables/plugin/PluginListTable.tsx:319 +msgid "Confirm plugin activation" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:320 +msgid "Confirm plugin deactivation" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:325 +msgid "The selected plugin will be activated" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:326 +msgid "The selected plugin will be deactivated" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:334 msgid "Activate Plugin" msgstr "" #: src/tables/plugin/PluginListTable.tsx:338 -msgid "Deactivate Plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:347 -msgid "Confirm plugin activation" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:348 -msgid "Confirm plugin deactivation" -msgstr "" +#~ msgid "Deactivate Plugin" +#~ msgstr "Deactivate Plugin" #: src/tables/plugin/PluginListTable.tsx:354 -msgid "The following plugin will be activated" -msgstr "" +#~ msgid "The following plugin will be activated" +#~ msgstr "The following plugin will be activated" #: src/tables/plugin/PluginListTable.tsx:355 -msgid "The following plugin will be deactivated" -msgstr "" +#~ msgid "The following plugin will be deactivated" +#~ msgstr "The following plugin will be deactivated" -#: src/tables/plugin/PluginListTable.tsx:366 -msgid "Confirm" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:376 -msgid "Activating plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:376 -msgid "Deactivating plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:392 -msgid "Plugin updated" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:394 -msgid "The plugin was activated" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:395 -msgid "The plugin was deactivated" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:403 -msgid "Error updating plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:423 +#: src/tables/plugin/PluginListTable.tsx:362 msgid "Deactivate" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:432 +#: src/tables/plugin/PluginListTable.tsx:366 +#~ msgid "Confirm" +#~ msgstr "Confirm" + +#: src/tables/plugin/PluginListTable.tsx:373 msgid "Activate" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:463 +#: src/tables/plugin/PluginListTable.tsx:376 +#~ msgid "Activating plugin" +#~ msgstr "Activating plugin" + +#: src/tables/plugin/PluginListTable.tsx:376 +#~ msgid "Deactivating plugin" +#~ msgstr "Deactivating plugin" + +#: src/tables/plugin/PluginListTable.tsx:392 +#~ msgid "Plugin updated" +#~ msgstr "Plugin updated" + +#: src/tables/plugin/PluginListTable.tsx:394 +#~ msgid "The plugin was activated" +#~ msgstr "The plugin was activated" + +#: src/tables/plugin/PluginListTable.tsx:395 +#~ msgid "The plugin was deactivated" +#~ msgstr "The plugin was deactivated" + +#: src/tables/plugin/PluginListTable.tsx:403 +#~ msgid "Error updating plugin" +#~ msgstr "Error updating plugin" + +#: src/tables/plugin/PluginListTable.tsx:406 msgid "Uninstall" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:495 +#: src/tables/plugin/PluginListTable.tsx:438 msgid "Install plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:508 +#: src/tables/plugin/PluginListTable.tsx:451 msgid "Install" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:512 +#: src/tables/plugin/PluginListTable.tsx:452 msgid "Plugin installed successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:525 +#: src/tables/plugin/PluginListTable.tsx:457 msgid "Uninstall Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:537 +#: src/tables/plugin/PluginListTable.tsx:469 msgid "Confirm plugin uninstall" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:540 +#: src/tables/plugin/PluginListTable.tsx:472 msgid "The selected plugin will be uninstalled." msgstr "" -#: src/tables/plugin/PluginListTable.tsx:541 +#: src/tables/plugin/PluginListTable.tsx:473 msgid "This action cannot be undone." msgstr "" -#: src/tables/plugin/PluginListTable.tsx:547 +#: src/tables/plugin/PluginListTable.tsx:477 msgid "Plugin uninstalled successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:560 +#: src/tables/plugin/PluginListTable.tsx:484 msgid "Delete Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:562 +#: src/tables/plugin/PluginListTable.tsx:485 msgid "Deleting this plugin configuration will remove all associated settings and data. Are you sure you want to delete this plugin?" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:574 +#: src/tables/plugin/PluginListTable.tsx:498 msgid "Plugins reloaded" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:575 +#: src/tables/plugin/PluginListTable.tsx:499 msgid "Plugins were reloaded successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:591 +#: src/tables/plugin/PluginListTable.tsx:515 msgid "Reload Plugins" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:600 +#: src/tables/plugin/PluginListTable.tsx:524 msgid "Install Plugin" msgstr "" +#: src/tables/plugin/PluginListTable.tsx:544 +msgid "Plugin Detail" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:573 +msgid "Sample" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:578 +#: src/tables/stock/StockItemTable.tsx:305 +msgid "Installed" +msgstr "" + #: src/tables/plugin/PluginListTable.tsx:615 #~ msgid "Plugin detail" #~ msgstr "Plugin detail" -#: src/tables/plugin/PluginListTable.tsx:619 -msgid "Plugin Detail" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:648 -msgid "Sample" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:653 -#: src/tables/stock/StockItemTable.tsx:305 -msgid "Installed" -msgstr "" - -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:57 -msgid "Edit Parameter" +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:59 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:108 +msgid "Add Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:60 -msgid "Parameter updated" -msgstr "" +#~ msgid "Parameter updated" +#~ msgstr "Parameter updated" -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:71 -msgid "Delete Parameter" +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:70 +msgid "Edit Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:73 -msgid "Parameter deleted" -msgstr "" +#~ msgid "Parameter deleted" +#~ msgstr "Parameter deleted" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:74 -msgid "Are you sure you want to delete this parameter?" +#~ msgid "Are you sure you want to delete this parameter?" +#~ msgstr "Are you sure you want to delete this parameter?" + +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:78 +msgid "Delete Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartTable.tsx:63 #~ msgid "Create Manufacturer Part" #~ msgstr "Create Manufacturer Part" -#: src/tables/purchasing/ManufacturerPartTable.tsx:100 -msgid "Manufacturer part updated" -msgstr "" - -#: src/tables/purchasing/ManufacturerPartTable.tsx:111 +#: src/tables/purchasing/ManufacturerPartTable.tsx:92 msgid "Delete Manufacturer Part" msgstr "" +#: src/tables/purchasing/ManufacturerPartTable.tsx:100 +#~ msgid "Manufacturer part updated" +#~ msgstr "Manufacturer part updated" + #: src/tables/purchasing/ManufacturerPartTable.tsx:112 -msgid "Manufacturer part deleted" -msgstr "" +#~ msgid "Manufacturer part deleted" +#~ msgstr "Manufacturer part deleted" #: src/tables/purchasing/ManufacturerPartTable.tsx:114 -msgid "Are you sure you want to remove this manufacturer part?" -msgstr "" +#~ msgid "Are you sure you want to remove this manufacturer part?" +#~ msgstr "Are you sure you want to remove this manufacturer part?" #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:86 msgid "Part Description" @@ -6087,18 +6238,22 @@ msgid "Error Information" msgstr "" #: src/tables/settings/ErrorTable.tsx:51 -msgid "Delete error report" +msgid "Delete Error Report" msgstr "" +#: src/tables/settings/ErrorTable.tsx:51 +#~ msgid "Delete error report" +#~ msgstr "Delete error report" + #: src/tables/settings/ErrorTable.tsx:53 -msgid "Error report deleted" -msgstr "" - -#: src/tables/settings/ErrorTable.tsx:54 msgid "Are you sure you want to delete this error report?" msgstr "" -#: src/tables/settings/ErrorTable.tsx:67 +#: src/tables/settings/ErrorTable.tsx:55 +msgid "Error report deleted" +msgstr "" + +#: src/tables/settings/ErrorTable.tsx:77 #: src/tables/settings/FailedTasksTable.tsx:57 msgid "Error Details" msgstr "" @@ -6115,7 +6270,7 @@ msgid "Task ID" msgstr "" #: src/tables/settings/FailedTasksTable.tsx:34 -#: src/tables/stock/StockItemTestResultTable.tsx:214 +#: src/tables/stock/StockItemTestResultTable.tsx:205 msgid "Started" msgstr "" @@ -6188,30 +6343,71 @@ msgstr "" msgid "Next Run" msgstr "" -#: src/tables/settings/TemplateTable.tsx:120 -msgid "{templateTypeTranslation} with id {id} not found" +#: src/tables/settings/TemplateTable.tsx:82 +msgid "Template not found" msgstr "" +#: src/tables/settings/TemplateTable.tsx:84 +msgid "An error occurred while fetching template details" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:120 +#~ msgid "{templateTypeTranslation} with id {id} not found" +#~ msgstr "{templateTypeTranslation} with id {id} not found" + #: src/tables/settings/TemplateTable.tsx:124 -msgid "An error occurred while fetching {templateTypeTranslation} details" -msgstr "" +#~ msgid "An error occurred while fetching {templateTypeTranslation} details" +#~ msgstr "An error occurred while fetching {templateTypeTranslation} details" #: src/tables/settings/TemplateTable.tsx:146 -msgid "actions" +#~ msgid "actions" +#~ msgstr "actions" + +#: src/tables/settings/TemplateTable.tsx:170 +msgid "Modify" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:171 +msgid "Modify template file" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:222 +#: src/tables/settings/TemplateTable.tsx:289 +msgid "Edit Template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:230 +msgid "Delete template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:236 +msgid "Add Template" msgstr "" #: src/tables/settings/TemplateTable.tsx:243 -msgid "Add new" -msgstr "" +#~ msgid "Add new" +#~ msgstr "Add new" #: src/tables/settings/TemplateTable.tsx:243 #~ msgid "Create new" #~ msgstr "Create new" -#: src/tables/settings/TemplateTable.tsx:276 +#: src/tables/settings/TemplateTable.tsx:249 +msgid "Add template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:271 msgid "Filter by enabled status" msgstr "" +#: src/tables/settings/TemplateTable.tsx:276 +msgid "Model Type" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:277 +msgid "Filter by target model type" +msgstr "" + #: src/tables/settings/UserTable.tsx:79 msgid "User with id {id} not found" msgstr "" @@ -6277,6 +6473,23 @@ msgstr "" msgid "Edit user" msgstr "" +#: src/tables/stock/LocationTypesTable.tsx:36 +#: src/tables/stock/LocationTypesTable.tsx:105 +msgid "Add Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:44 +msgid "Edit Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:52 +msgid "Delete Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:69 +msgid "Icon" +msgstr "" + #: src/tables/stock/StockItemTable.tsx:90 msgid "This stock item is in production" msgstr "" @@ -6338,7 +6551,7 @@ msgid "Show items which are available" msgstr "" #: src/tables/stock/StockItemTable.tsx:280 -#: src/tables/stock/StockLocationTable.tsx:37 +#: src/tables/stock/StockLocationTable.tsx:33 msgid "Include Sublocations" msgstr "" @@ -6467,123 +6680,135 @@ msgstr "" msgid "Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:153 +#: src/tables/stock/StockItemTestResultTable.tsx:151 msgid "Test result for installed stock item" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:164 +#: src/tables/stock/StockItemTestResultTable.tsx:162 msgid "Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:170 +#: src/tables/stock/StockItemTestResultTable.tsx:168 msgid "No Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:186 +#: src/tables/stock/StockItemTestResultTable.tsx:184 msgid "Attachment" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:209 +#: src/tables/stock/StockItemTestResultTable.tsx:200 msgid "Test station" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:229 +#: src/tables/stock/StockItemTestResultTable.tsx:220 msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:277 -#: src/tables/stock/StockItemTestResultTable.tsx:349 -#: src/tables/stock/StockItemTestResultTable.tsx:404 +#: src/tables/stock/StockItemTestResultTable.tsx:268 +#: src/tables/stock/StockItemTestResultTable.tsx:340 +#: src/tables/stock/StockItemTestResultTable.tsx:395 msgid "Add Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:279 +#: src/tables/stock/StockItemTestResultTable.tsx:270 msgid "Test result added" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:288 -#: src/tables/stock/StockItemTestResultTable.tsx:359 +#: src/tables/stock/StockItemTestResultTable.tsx:279 +#: src/tables/stock/StockItemTestResultTable.tsx:350 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:290 +#: src/tables/stock/StockItemTestResultTable.tsx:281 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:296 -#: src/tables/stock/StockItemTestResultTable.tsx:368 +#: src/tables/stock/StockItemTestResultTable.tsx:287 +#: src/tables/stock/StockItemTestResultTable.tsx:359 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:298 +#: src/tables/stock/StockItemTestResultTable.tsx:289 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:312 +#: src/tables/stock/StockItemTestResultTable.tsx:303 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:313 +#: src/tables/stock/StockItemTestResultTable.tsx:304 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:320 +#: src/tables/stock/StockItemTestResultTable.tsx:311 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:337 +#: src/tables/stock/StockItemTestResultTable.tsx:328 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:386 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:390 +#: src/tables/stock/StockItemTestResultTable.tsx:381 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:391 +#: src/tables/stock/StockItemTestResultTable.tsx:382 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:395 +#: src/tables/stock/StockItemTestResultTable.tsx:386 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:396 +#: src/tables/stock/StockItemTestResultTable.tsx:387 msgid "Show only passed tests" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:38 +#: src/tables/stock/StockLocationTable.tsx:34 msgid "Include sublocations in results" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:42 +#: src/tables/stock/StockLocationTable.tsx:38 msgid "structural" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:43 +#: src/tables/stock/StockLocationTable.tsx:39 msgid "Show structural locations" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:47 +#: src/tables/stock/StockLocationTable.tsx:43 msgid "external" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:48 +#: src/tables/stock/StockLocationTable.tsx:44 msgid "Show external locations" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:52 +#: src/tables/stock/StockLocationTable.tsx:48 msgid "Has location type" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:89 -#: src/tables/stock/StockLocationTable.tsx:118 +#: src/tables/stock/StockLocationTable.tsx:85 +#: src/tables/stock/StockLocationTable.tsx:110 msgid "Add Stock Location" msgstr "" +#: src/tables/stock/StockTrackingTable.tsx:64 +msgid "Added" +msgstr "" + +#: src/tables/stock/StockTrackingTable.tsx:69 +msgid "Removed" +msgstr "" + +#: src/tables/stock/StockTrackingTable.tsx:198 +msgid "No user information" +msgstr "" + #: src/views/MobileAppView.tsx:22 msgid "Mobile viewport detected" msgstr "" diff --git a/src/frontend/src/locales/sl/messages.po b/src/frontend/src/locales/sl/messages.po index 09d9364a97..83c0f5518c 100644 --- a/src/frontend/src/locales/sl/messages.po +++ b/src/frontend/src/locales/sl/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: sl\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-05-13 02:48\n" +"PO-Revision-Date: 2024-05-23 11:39\n" "Last-Translator: \n" "Language-Team: Slovenian\n" "Plural-Forms: nplurals=4; plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3;\n" @@ -30,10 +30,67 @@ msgstr "" msgid "Title" msgstr "" +#: src/components/buttons/AdminButton.tsx:83 +msgid "Open in admin interface" +msgstr "" + #: src/components/buttons/CopyButton.tsx:18 msgid "Copy to clipboard" msgstr "" +#: src/components/buttons/PrintingActions.tsx:95 +msgid "Print Label" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:101 +msgid "Label printing completed successfully" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:106 +#: src/components/buttons/PrintingActions.tsx:143 +#: src/components/forms/ApiForm.tsx:504 +#: src/components/forms/fields/ApiFormField.tsx:295 +#: src/components/modals/LicenseModal.tsx:75 +#: src/components/nav/SearchDrawer.tsx:413 +#: src/components/widgets/MarkdownEditor.tsx:107 +#: src/components/widgets/MarkdownEditor.tsx:153 +#: src/pages/ErrorPage.tsx:12 +#: src/pages/ErrorPage.tsx:25 +#: src/pages/part/PartPricingPanel.tsx:71 +#: src/tables/InvenTreeTable.tsx:451 +#: src/tables/InvenTreeTable.tsx:531 +#: src/tables/stock/StockItemTestResultTable.tsx:310 +msgid "Error" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:107 +msgid "The label could not be generated" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:122 +msgid "Print Report" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:138 +msgid "Report printing completed successfully" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:144 +msgid "The report could not be generated" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:171 +msgid "Printing Actions" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:176 +msgid "Print Labels" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:182 +msgid "Print Reports" +msgstr "" + #: src/components/buttons/ScanButton.tsx:15 msgid "Scan QR code" msgstr "" @@ -64,15 +121,15 @@ msgstr "" msgid "No" msgstr "" -#: src/components/details/Details.tsx:302 +#: src/components/details/Details.tsx:303 msgid "No name defined" msgstr "" -#: src/components/details/Details.tsx:339 +#: src/components/details/Details.tsx:340 msgid "Copied" msgstr "" -#: src/components/details/Details.tsx:339 +#: src/components/details/Details.tsx:340 msgid "Copy" msgstr "" @@ -85,24 +142,23 @@ msgid "Remove the associated image from this item?" msgstr "" #: src/components/details/DetailsImage.tsx:71 -#: src/forms/StockForms.tsx:442 +#: src/forms/StockForms.tsx:483 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:448 +#: src/pages/stock/StockDetail.tsx:462 msgid "Remove" msgstr "" #: src/components/details/DetailsImage.tsx:71 -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:163 -#: src/components/items/ActionDropdown.tsx:222 -#: src/components/items/ActionDropdown.tsx:223 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 +#: src/components/items/ActionDropdown.tsx:229 +#: src/components/items/ActionDropdown.tsx:230 #: src/contexts/ThemeContext.tsx:43 #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:40 -#: src/tables/FilterSelectDrawer.tsx:218 -#: src/tables/InvenTreeTable.tsx:493 -#: src/tables/build/BuildOutputTable.tsx:223 -#: src/tables/plugin/PluginListTable.tsx:365 +#: src/tables/FilterSelectDrawer.tsx:207 +#: src/tables/InvenTreeTable.tsx:499 +#: src/tables/build/BuildOutputTable.tsx:225 msgid "Cancel" msgstr "" @@ -119,7 +175,7 @@ msgid "Clear" msgstr "" #: src/components/details/DetailsImage.tsx:227 -#: src/components/forms/ApiForm.tsx:554 +#: src/components/forms/ApiForm.tsx:571 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:56 msgid "Submit" @@ -150,9 +206,10 @@ msgid "Part is not active" msgstr "" #: src/components/details/PartIcons.tsx:34 -#: src/pages/company/CompanyDetail.tsx:308 -#: src/pages/company/SupplierPartDetail.tsx:304 -#: src/pages/part/PartDetail.tsx:684 +#: src/components/render/Plugin.tsx:17 +#: src/pages/company/CompanyDetail.tsx:310 +#: src/pages/company/SupplierPartDetail.tsx:305 +#: src/pages/part/PartDetail.tsx:685 msgid "Inactive" msgstr "" @@ -196,10 +253,10 @@ msgid "Code" msgstr "" #: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:44 -msgid "Failed to parse error response from server." -msgstr "" +#~ msgid "Failed to parse error response from server." +#~ msgstr "Failed to parse error response from server." -#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:82 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:81 msgid "Preview not available, click \"Reload Preview\"." msgstr "" @@ -207,98 +264,99 @@ msgstr "" msgid "PDF Preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:113 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:104 msgid "Error loading template" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:125 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:116 msgid "Error saving template" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 -msgid "Save & Reload preview?" +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:146 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:270 +msgid "Save & Reload Preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:156 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 msgid "Are you sure you want to Save & Reload the preview?" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 +#~ msgid "Save & Reload preview?" +#~ msgstr "Save & Reload preview?" + +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:153 msgid "To render the preview the current template needs to be replaced on the server with your modifications which may break the label if it is under active use. Do you want to proceed?" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:162 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:157 msgid "Save & Reload" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:191 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:189 msgid "Preview updated" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:192 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:190 msgid "The preview has been updated successfully." msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:255 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:262 msgid "Reload preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:256 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:263 msgid "Use the currently stored template from the server" msgstr "" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:263 -msgid "Save & Reload preview" -msgstr "" +#~ msgid "Save & Reload preview" +#~ msgstr "Save & Reload preview" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:264 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:271 msgid "Save the current template and reload the preview" msgstr "" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:322 -#: src/tables/part/PartThumbTable.tsx:203 -msgid "Select" +#~ msgid "to preview" +#~ msgstr "to preview" + +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:329 +msgid "Select instance to preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:322 -msgid "to preview" -msgstr "" - -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:366 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:373 msgid "Error rendering template" msgstr "" -#: src/components/forms/ApiForm.tsx:143 +#: src/components/forms/ApiForm.tsx:148 #: src/functions/forms.tsx:259 msgid "Form Error" msgstr "" -#: src/components/forms/ApiForm.tsx:411 +#: src/components/forms/ApiForm.tsx:428 #: src/components/widgets/MarkdownEditor.tsx:145 msgid "Success" msgstr "" #: src/components/forms/ApiForm.tsx:487 -msgid "Form Errors Exist" -msgstr "" +#~ msgid "Form Errors Exist" +#~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:592 -#: src/tables/plugin/PluginListTable.tsx:445 +#: src/components/forms/ApiForm.tsx:609 +#: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "" -#: src/components/forms/ApiForm.tsx:612 -#: src/components/items/ActionDropdown.tsx:203 +#: src/components/forms/ApiForm.tsx:629 +#: src/components/items/ActionDropdown.tsx:210 #: src/functions/forms.tsx:299 #: src/hooks/UseForm.tsx:122 #: src/pages/Index/Scan.tsx:343 #: src/pages/Notifications.tsx:123 -#: src/tables/InvenTreeTable.tsx:492 +#: src/tables/InvenTreeTable.tsx:498 #: src/tables/RowActions.tsx:71 -#: src/tables/plugin/PluginListTable.tsx:477 -#: src/tables/settings/TemplateTable.tsx:105 -#: src/tables/settings/TemplateTable.tsx:154 -#: src/tables/settings/TemplateTable.tsx:236 +#: src/tables/plugin/PluginListTable.tsx:420 msgid "Delete" msgstr "" @@ -468,18 +526,19 @@ msgstr "" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 -#: src/pages/part/CategoryDetail.tsx:77 -#: src/pages/part/PartDetail.tsx:125 -#: src/pages/stock/LocationDetail.tsx:83 +#: src/pages/part/CategoryDetail.tsx:78 +#: src/pages/part/PartDetail.tsx:126 +#: src/pages/stock/LocationDetail.tsx:85 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 #: src/tables/machine/MachineTypeTable.tsx:216 #: src/tables/machine/MachineTypeTable.tsx:319 #: src/tables/plugin/PluginErrorTable.tsx:33 -#: src/tables/plugin/PluginListTable.tsx:169 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:27 +#: src/tables/plugin/PluginListTable.tsx:126 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:32 #: src/tables/settings/GroupTable.tsx:103 #: src/tables/settings/PendingTasksTable.tsx:26 +#: src/tables/stock/LocationTypesTable.tsx:60 msgid "Name" msgstr "" @@ -520,35 +579,20 @@ msgstr "" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/ApiFormField.tsx:276 -#: src/components/modals/LicenseModal.tsx:75 -#: src/components/nav/SearchDrawer.tsx:413 -#: src/components/widgets/MarkdownEditor.tsx:107 -#: src/components/widgets/MarkdownEditor.tsx:153 -#: src/pages/ErrorPage.tsx:12 -#: src/pages/ErrorPage.tsx:25 -#: src/pages/part/PartPricingPanel.tsx:71 -#: src/tables/InvenTreeTable.tsx:445 -#: src/tables/InvenTreeTable.tsx:525 -#: src/tables/plugin/PluginListTable.tsx:402 -#: src/tables/stock/StockItemTestResultTable.tsx:319 -msgid "Error" -msgstr "" - -#: src/components/forms/fields/RelatedModelField.tsx:305 +#: src/components/forms/fields/RelatedModelField.tsx:315 #: src/pages/Index/Settings/UserSettings.tsx:64 #: src/tables/Search.tsx:23 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:306 +#: src/components/forms/fields/RelatedModelField.tsx:316 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:120 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:308 +#: src/components/forms/fields/RelatedModelField.tsx:318 msgid "No results found" msgstr "" @@ -569,54 +613,51 @@ msgstr "" msgid "Thumbnail" msgstr "" -#: src/components/items/ActionDropdown.tsx:112 -#: src/pages/build/BuildDetail.tsx:354 +#: src/components/items/ActionDropdown.tsx:119 +#: src/pages/build/BuildDetail.tsx:360 msgid "Barcode Actions" msgstr "" -#: src/components/items/ActionDropdown.tsx:129 +#: src/components/items/ActionDropdown.tsx:136 msgid "View" msgstr "" -#: src/components/items/ActionDropdown.tsx:130 +#: src/components/items/ActionDropdown.tsx:137 msgid "View barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:146 +#: src/components/items/ActionDropdown.tsx:153 msgid "Link Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:147 +#: src/components/items/ActionDropdown.tsx:154 msgid "Link custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:163 -#: src/forms/PurchaseOrderForms.tsx:375 +#: src/components/items/ActionDropdown.tsx:170 +#: src/forms/PurchaseOrderForms.tsx:389 msgid "Unlink Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:164 +#: src/components/items/ActionDropdown.tsx:171 msgid "Unlink custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:182 +#: src/components/items/ActionDropdown.tsx:189 #: src/tables/RowActions.tsx:51 -#: src/tables/settings/TemplateTable.tsx:87 -#: src/tables/settings/TemplateTable.tsx:150 -#: src/tables/settings/TemplateTable.tsx:287 msgid "Edit" msgstr "" -#: src/components/items/ActionDropdown.tsx:204 +#: src/components/items/ActionDropdown.tsx:211 msgid "Delete item" msgstr "" -#: src/components/items/ActionDropdown.tsx:241 +#: src/components/items/ActionDropdown.tsx:248 #: src/tables/RowActions.tsx:31 msgid "Duplicate" msgstr "" -#: src/components/items/ActionDropdown.tsx:242 +#: src/components/items/ActionDropdown.tsx:249 msgid "Duplicate item" msgstr "" @@ -625,7 +666,7 @@ msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:437 +#: src/tables/InvenTreeTable.tsx:443 msgid "Unknown error" msgstr "" @@ -785,27 +826,27 @@ msgstr "" #: src/components/modals/QrCodeModal.tsx:154 #: src/defaults/menuItems.tsx:21 -#: src/pages/Index/Scan.tsx:747 +#: src/pages/Index/Scan.tsx:746 msgid "Scanning" msgstr "" #: src/components/modals/QrCodeModal.tsx:154 -#: src/pages/Index/Scan.tsx:747 +#: src/pages/Index/Scan.tsx:746 msgid "Not scanning" msgstr "" #: src/components/modals/QrCodeModal.tsx:159 -#: src/pages/Index/Scan.tsx:753 +#: src/pages/Index/Scan.tsx:752 msgid "Select Camera" msgstr "" #: src/components/modals/QrCodeModal.tsx:169 -#: src/pages/Index/Scan.tsx:738 +#: src/pages/Index/Scan.tsx:737 msgid "Start scanning" msgstr "" #: src/components/modals/QrCodeModal.tsx:176 -#: src/pages/Index/Scan.tsx:730 +#: src/pages/Index/Scan.tsx:729 msgid "Stop scanning" msgstr "" @@ -891,8 +932,8 @@ msgid "Email settings not configured" msgstr "" #: src/components/modals/ServerInfoModal.tsx:121 -#: src/tables/plugin/PluginListTable.tsx:187 -#: src/tables/plugin/PluginListTable.tsx:319 +#: src/tables/plugin/PluginListTable.tsx:144 +#: src/tables/plugin/PluginListTable.tsx:294 msgid "Version" msgstr "" @@ -926,13 +967,13 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:293 +#: src/pages/Index/Settings/SystemSettings.tsx:294 msgid "System Settings" msgstr "" #: src/components/nav/MainMenu.tsx:67 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:172 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 msgid "Admin Center" msgstr "" @@ -975,7 +1016,7 @@ msgid "Pages" msgstr "" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:133 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:153 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "" @@ -1013,9 +1054,9 @@ msgid "Mark as read" msgstr "" #: src/components/nav/PartCategoryTree.tsx:158 -#: src/components/render/ModelType.tsx:60 +#: src/components/render/ModelType.tsx:64 #: src/pages/Index/Settings/SystemSettings.tsx:162 -#: src/pages/part/CategoryDetail.tsx:248 +#: src/pages/part/CategoryDetail.tsx:249 msgid "Part Categories" msgstr "" @@ -1052,142 +1093,147 @@ msgid "No results available for search query" msgstr "" #: src/components/nav/StockLocationTree.tsx:93 -#: src/components/render/ModelType.tsx:76 -#: src/pages/stock/LocationDetail.tsx:175 +#: src/components/render/ModelType.tsx:82 +#: src/pages/stock/LocationDetail.tsx:185 msgid "Stock Locations" msgstr "" -#: src/components/render/Instance.tsx:137 +#: src/components/render/Instance.tsx:166 msgid "Unknown model: {model}" msgstr "" -#: src/components/render/ModelType.tsx:21 -#: src/forms/BuildForms.tsx:184 -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49 +#: src/components/render/ModelType.tsx:22 +#: src/forms/BuildForms.tsx:201 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:83 #: src/pages/part/PartDetail.tsx:828 #: src/tables/part/RelatedPartTable.tsx:45 +#: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" msgstr "" -#: src/components/render/ModelType.tsx:22 +#: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 #: src/pages/Index/Settings/SystemSettings.tsx:167 -#: src/pages/part/CategoryDetail.tsx:109 -#: src/pages/part/CategoryDetail.tsx:234 -#: src/pages/part/CategoryDetail.tsx:264 -#: src/pages/part/PartDetail.tsx:638 +#: src/pages/part/CategoryDetail.tsx:110 +#: src/pages/part/CategoryDetail.tsx:235 +#: src/pages/part/CategoryDetail.tsx:265 +#: src/pages/part/PartDetail.tsx:639 msgid "Parts" msgstr "" -#: src/components/render/ModelType.tsx:29 +#: src/components/render/ModelType.tsx:31 msgid "Part Parameter Template" msgstr "" -#: src/components/render/ModelType.tsx:30 +#: src/components/render/ModelType.tsx:32 msgid "Part Parameter Templates" msgstr "" -#: src/components/render/ModelType.tsx:36 +#: src/components/render/ModelType.tsx:38 msgid "Part Test Template" msgstr "" -#: src/components/render/ModelType.tsx:37 +#: src/components/render/ModelType.tsx:39 msgid "Part Test Templates" msgstr "" -#: src/components/render/ModelType.tsx:43 -#: src/pages/company/SupplierPartDetail.tsx:189 -#: src/pages/company/SupplierPartDetail.tsx:317 -#: src/pages/stock/StockDetail.tsx:159 +#: src/components/render/ModelType.tsx:45 +#: src/pages/company/SupplierPartDetail.tsx:190 +#: src/pages/company/SupplierPartDetail.tsx:318 +#: src/pages/stock/StockDetail.tsx:162 #: src/tables/purchasing/SupplierPartTable.tsx:68 msgid "Supplier Part" msgstr "" -#: src/components/render/ModelType.tsx:44 +#: src/components/render/ModelType.tsx:46 msgid "Supplier Parts" msgstr "" -#: src/components/render/ModelType.tsx:51 -#: src/pages/company/ManufacturerPartDetail.tsx:124 +#: src/components/render/ModelType.tsx:54 +#: src/pages/company/ManufacturerPartDetail.tsx:125 msgid "Manufacturer Part" msgstr "" -#: src/components/render/ModelType.tsx:52 +#: src/components/render/ModelType.tsx:55 msgid "Manufacturer Parts" msgstr "" -#: src/components/render/ModelType.tsx:59 -#: src/pages/part/CategoryDetail.tsx:287 +#: src/components/render/ModelType.tsx:63 +#: src/pages/part/CategoryDetail.tsx:288 msgid "Part Category" msgstr "" -#: src/components/render/ModelType.tsx:67 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67 -#: src/pages/stock/StockDetail.tsx:535 +#: src/components/render/ModelType.tsx:72 +#: src/pages/stock/StockDetail.tsx:548 +#: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" msgstr "" -#: src/components/render/ModelType.tsx:68 -#: src/pages/company/CompanyDetail.tsx:197 -#: src/pages/stock/LocationDetail.tsx:116 -#: src/pages/stock/LocationDetail.tsx:161 +#: src/components/render/ModelType.tsx:73 +#: src/pages/company/CompanyDetail.tsx:199 +#: src/pages/stock/LocationDetail.tsx:118 +#: src/pages/stock/LocationDetail.tsx:171 #: src/pages/stock/LocationDetail.tsx:365 msgid "Stock Items" msgstr "" -#: src/components/render/ModelType.tsx:75 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:154 +#: src/components/render/ModelType.tsx:81 msgid "Stock Location" msgstr "" -#: src/components/render/ModelType.tsx:83 +#: src/components/render/ModelType.tsx:90 +msgid "Stock Location Type" +msgstr "" + +#: src/components/render/ModelType.tsx:91 +msgid "Stock Location Types" +msgstr "" + +#: src/components/render/ModelType.tsx:95 msgid "Stock History" msgstr "" -#: src/components/render/ModelType.tsx:84 +#: src/components/render/ModelType.tsx:96 msgid "Stock Histories" msgstr "" -#: src/components/render/ModelType.tsx:88 +#: src/components/render/ModelType.tsx:100 #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:43 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:126 msgid "Build" msgstr "" -#: src/components/render/ModelType.tsx:89 +#: src/components/render/ModelType.tsx:101 msgid "Builds" msgstr "" -#: src/components/render/ModelType.tsx:96 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:76 +#: src/components/render/ModelType.tsx:109 msgid "Build Line" msgstr "" -#: src/components/render/ModelType.tsx:97 +#: src/components/render/ModelType.tsx:110 msgid "Build Lines" msgstr "" -#: src/components/render/ModelType.tsx:104 -#: src/pages/company/CompanyDetail.tsx:321 +#: src/components/render/ModelType.tsx:117 +#: src/pages/company/CompanyDetail.tsx:323 msgid "Company" msgstr "" -#: src/components/render/ModelType.tsx:105 +#: src/components/render/ModelType.tsx:118 msgid "Companies" msgstr "" -#: src/components/render/ModelType.tsx:112 +#: src/components/render/ModelType.tsx:126 #: src/tables/TableHoverCard.tsx:58 #: src/tables/build/BuildOrderTable.tsx:131 #: src/tables/purchasing/PurchaseOrderTable.tsx:64 @@ -1196,170 +1242,199 @@ msgstr "" msgid "Project Code" msgstr "" -#: src/components/render/ModelType.tsx:113 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:97 +#: src/components/render/ModelType.tsx:127 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:105 msgid "Project Codes" msgstr "" -#: src/components/render/ModelType.tsx:119 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99 +#: src/components/render/ModelType.tsx:133 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:355 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:362 +#: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" msgstr "" -#: src/components/render/ModelType.tsx:120 -#: src/pages/Index/Settings/SystemSettings.tsx:242 -#: src/pages/company/CompanyDetail.tsx:190 -#: src/pages/company/SupplierPartDetail.tsx:223 -#: src/pages/part/PartDetail.tsx:571 +#: src/components/render/ModelType.tsx:134 +#: src/pages/Index/Settings/SystemSettings.tsx:243 +#: src/pages/company/CompanyDetail.tsx:192 +#: src/pages/company/SupplierPartDetail.tsx:224 +#: src/pages/part/PartDetail.tsx:572 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" -#: src/components/render/ModelType.tsx:127 +#: src/components/render/ModelType.tsx:142 msgid "Purchase Order Line" msgstr "" -#: src/components/render/ModelType.tsx:128 +#: src/components/render/ModelType.tsx:143 msgid "Purchase Order Lines" msgstr "" -#: src/components/render/ModelType.tsx:132 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:108 +#: src/components/render/ModelType.tsx:147 #: src/pages/build/BuildDetail.tsx:131 -#: src/pages/sales/SalesOrderDetail.tsx:340 -#: src/pages/stock/StockDetail.tsx:207 +#: src/pages/sales/SalesOrderDetail.tsx:347 +#: src/pages/stock/StockDetail.tsx:210 +#: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" msgstr "" -#: src/components/render/ModelType.tsx:133 -#: src/pages/Index/Settings/SystemSettings.tsx:257 -#: src/pages/company/CompanyDetail.tsx:210 -#: src/pages/part/PartDetail.tsx:577 +#: src/components/render/ModelType.tsx:148 +#: src/pages/Index/Settings/SystemSettings.tsx:258 +#: src/pages/company/CompanyDetail.tsx:212 +#: src/pages/part/PartDetail.tsx:578 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" -#: src/components/render/ModelType.tsx:140 +#: src/components/render/ModelType.tsx:156 msgid "Sales Order Shipment" msgstr "" -#: src/components/render/ModelType.tsx:141 +#: src/components/render/ModelType.tsx:157 msgid "Sales Order Shipments" msgstr "" -#: src/components/render/ModelType.tsx:147 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:117 -#: src/pages/sales/ReturnOrderDetail.tsx:318 +#: src/components/render/ModelType.tsx:163 +#: src/pages/sales/ReturnOrderDetail.tsx:325 +#: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "" -#: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:272 -#: src/pages/company/CompanyDetail.tsx:217 +#: src/components/render/ModelType.tsx:164 +#: src/pages/Index/Settings/SystemSettings.tsx:273 +#: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" msgstr "" -#: src/components/render/ModelType.tsx:155 +#: src/components/render/ModelType.tsx:172 #: src/tables/company/AddressTable.tsx:47 msgid "Address" msgstr "" -#: src/components/render/ModelType.tsx:156 -#: src/pages/company/CompanyDetail.tsx:247 +#: src/components/render/ModelType.tsx:173 +#: src/pages/company/CompanyDetail.tsx:249 msgid "Addresses" msgstr "" -#: src/components/render/ModelType.tsx:162 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:189 -#: src/pages/sales/ReturnOrderDetail.tsx:157 -#: src/pages/sales/SalesOrderDetail.tsx:161 +#: src/components/render/ModelType.tsx:179 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:191 +#: src/pages/sales/ReturnOrderDetail.tsx:159 +#: src/pages/sales/SalesOrderDetail.tsx:163 msgid "Contact" msgstr "" -#: src/components/render/ModelType.tsx:163 -#: src/pages/company/CompanyDetail.tsx:241 +#: src/components/render/ModelType.tsx:180 +#: src/pages/company/CompanyDetail.tsx:243 msgid "Contacts" msgstr "" -#: src/components/render/ModelType.tsx:169 +#: src/components/render/ModelType.tsx:186 msgid "Owner" msgstr "" -#: src/components/render/ModelType.tsx:170 +#: src/components/render/ModelType.tsx:187 msgid "Owners" msgstr "" -#: src/components/render/ModelType.tsx:176 +#: src/components/render/ModelType.tsx:193 +#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "" -#: src/components/render/ModelType.tsx:177 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:73 +#: src/components/render/ModelType.tsx:194 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:81 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "" -#: src/components/render/Order.tsx:87 +#: src/components/render/ModelType.tsx:200 +msgid "Label Template" +msgstr "" + +#: src/components/render/ModelType.tsx:201 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:135 +msgid "Label Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:207 +msgid "Report Template" +msgstr "" + +#: src/components/render/ModelType.tsx:208 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:141 +msgid "Report Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:214 +msgid "Plugin Configuration" +msgstr "" + +#: src/components/render/ModelType.tsx:215 +msgid "Plugin Configurations" +msgstr "" + +#: src/components/render/Order.tsx:104 msgid "Shipment" msgstr "" -#: src/components/render/Part.tsx:12 +#: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:198 -#: src/pages/part/PartDetail.tsx:491 +#: src/pages/Index/Settings/SystemSettings.tsx:199 +#: src/pages/part/PartDetail.tsx:492 #: src/pages/stock/LocationDetail.tsx:344 -#: src/pages/stock/StockDetail.tsx:344 +#: src/pages/stock/StockDetail.tsx:352 #: src/tables/stock/StockItemTable.tsx:57 msgid "Stock" msgstr "" -#: src/components/render/Stock.tsx:26 -#: src/pages/stock/StockDetail.tsx:142 -#: src/pages/stock/StockDetail.tsx:501 +#: src/components/render/Stock.tsx:52 +#: src/pages/stock/StockDetail.tsx:145 +#: src/pages/stock/StockDetail.tsx:514 msgid "Serial Number" msgstr "" -#: src/components/render/Stock.tsx:28 -#: src/forms/BuildForms.tsx:189 +#: src/components/render/Stock.tsx:54 +#: src/forms/BuildForms.tsx:206 #: src/pages/part/pricing/BomPricingPanel.tsx:144 -#: src/pages/part/pricing/PriceBreakPanel.tsx:96 -#: src/pages/stock/StockDetail.tsx:137 -#: src/pages/stock/StockDetail.tsx:507 +#: src/pages/part/pricing/PriceBreakPanel.tsx:94 +#: src/pages/stock/StockDetail.tsx:140 +#: src/pages/stock/StockDetail.tsx:520 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:73 +#: src/tables/stock/StockTrackingTable.tsx:59 msgid "Quantity" msgstr "" -#: src/components/settings/SettingItem.tsx:46 -#: src/components/settings/SettingItem.tsx:99 -msgid "Setting updated" -msgstr "" - #: src/components/settings/SettingItem.tsx:47 #: src/components/settings/SettingItem.tsx:100 -msgid "{0} updated successfully" -msgstr "" +#~ msgid "{0} updated successfully" +#~ msgstr "{0} updated successfully" -#: src/components/settings/SettingItem.tsx:55 -msgid "Error editing setting" -msgstr "" - -#: src/components/settings/SettingItem.tsx:92 +#: src/components/settings/SettingList.tsx:67 msgid "Edit Setting" msgstr "" -#: src/components/settings/SettingList.tsx:63 -msgid "No settings specified" +#: src/components/settings/SettingList.tsx:78 +#: src/components/settings/SettingList.tsx:108 +msgid "Setting {0} updated successfully" msgstr "" -#: src/components/tables/ColumnRenderers.tsx:134 -#~ msgid "Shipment Date" -#~ msgstr "Shipment Date" +#: src/components/settings/SettingList.tsx:107 +msgid "Setting updated" +msgstr "" + +#: src/components/settings/SettingList.tsx:117 +msgid "Error editing setting" +msgstr "" + +#: src/components/settings/SettingList.tsx:158 +msgid "No settings specified" +msgstr "" #: src/components/tables/FilterGroup.tsx:29 #~ msgid "Add table filter" @@ -1731,10 +1806,6 @@ msgstr "" #~ msgid "This is a test filter" #~ msgstr "This is a test filter" -#: src/components/tables/stock/StockLocationTable.tsx:91 -#~ msgid "Location Type" -#~ msgstr "Location Type" - #: src/components/tables/stock/StockLocationTable.tsx:145 #~ msgid "Stock location updated" #~ msgstr "Stock location updated" @@ -2072,7 +2143,7 @@ msgstr "" #~ msgstr "Local Server" #: src/defaults/links.tsx:11 -#: src/pages/company/CompanyDetail.tsx:90 +#: src/pages/company/CompanyDetail.tsx:92 msgid "Website" msgstr "" @@ -2087,10 +2158,10 @@ msgstr "" #: src/defaults/links.tsx:31 #: src/defaults/menuItems.tsx:48 #: src/pages/company/ManufacturerDetail.tsx:9 -#: src/pages/company/ManufacturerPartDetail.tsx:231 +#: src/pages/company/ManufacturerPartDetail.tsx:235 #: src/pages/company/SupplierDetail.tsx:9 -#: src/pages/company/SupplierPartDetail.tsx:291 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:358 +#: src/pages/company/SupplierPartDetail.tsx:292 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:365 #: src/pages/purchasing/PurchasingIndex.tsx:52 msgid "Purchasing" msgstr "" @@ -2098,15 +2169,15 @@ msgstr "" #: src/defaults/links.tsx:32 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:323 +#: src/pages/sales/ReturnOrderDetail.tsx:330 #: src/pages/sales/SalesIndex.tsx:45 -#: src/pages/sales/SalesOrderDetail.tsx:345 +#: src/pages/sales/SalesOrderDetail.tsx:352 msgid "Sales" msgstr "" #: src/defaults/links.tsx:35 #: src/defaults/menuItems.tsx:71 -#: src/pages/Index/Playground.tsx:239 +#: src/pages/Index/Playground.tsx:238 msgid "Playground" msgstr "" @@ -2240,87 +2311,83 @@ msgstr "" #~ msgstr "Combusken battles with the intensely hot flames it spews" #: src/forms/AttachmentForms.tsx:57 -msgid "Add File" -msgstr "" +#~ msgid "Add File" +#~ msgstr "Add File" #: src/forms/AttachmentForms.tsx:57 -msgid "Add Link" -msgstr "" +#~ msgid "Add Link" +#~ msgstr "Add Link" #: src/forms/AttachmentForms.tsx:58 -msgid "File added" -msgstr "" +#~ msgid "File added" +#~ msgstr "File added" #: src/forms/AttachmentForms.tsx:58 -msgid "Link added" -msgstr "" +#~ msgid "Link added" +#~ msgstr "Link added" #: src/forms/AttachmentForms.tsx:99 -msgid "Edit File" -msgstr "" +#~ msgid "Edit File" +#~ msgstr "Edit File" #: src/forms/AttachmentForms.tsx:99 -msgid "Edit Link" -msgstr "" +#~ msgid "Edit Link" +#~ msgstr "Edit Link" #: src/forms/AttachmentForms.tsx:100 -msgid "File updated" -msgstr "" +#~ msgid "File updated" +#~ msgstr "File updated" #: src/forms/AttachmentForms.tsx:100 -msgid "Link updated" -msgstr "" - -#: src/forms/AttachmentForms.tsx:124 -msgid "Delete Attachment" -msgstr "" +#~ msgid "Link updated" +#~ msgstr "Link updated" #: src/forms/AttachmentForms.tsx:125 -msgid "Attachment deleted" -msgstr "" +#~ msgid "Attachment deleted" +#~ msgstr "Attachment deleted" #: src/forms/AttachmentForms.tsx:128 -msgid "Are you sure you want to delete this attachment?" -msgstr "" +#~ msgid "Are you sure you want to delete this attachment?" +#~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BuildForms.tsx:129 +#: src/forms/BuildForms.tsx:146 msgid "Next serial number" msgstr "" -#: src/forms/BuildForms.tsx:133 +#: src/forms/BuildForms.tsx:150 msgid "Latest serial number" msgstr "" -#: src/forms/BuildForms.tsx:205 +#: src/forms/BuildForms.tsx:222 msgid "Remove output" msgstr "" -#: src/forms/BuildForms.tsx:287 +#: src/forms/BuildForms.tsx:304 msgid "Complete Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:291 +#: src/forms/BuildForms.tsx:308 msgid "Build outputs have been completed" msgstr "" -#: src/forms/BuildForms.tsx:360 +#: src/forms/BuildForms.tsx:377 msgid "Scrap Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:364 +#: src/forms/BuildForms.tsx:381 msgid "Build outputs have been scrapped" msgstr "" -#: src/forms/BuildForms.tsx:396 -#: src/forms/BuildForms.tsx:420 +#: src/forms/BuildForms.tsx:413 +#: src/forms/BuildForms.tsx:437 msgid "Cancel Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:397 +#: src/forms/BuildForms.tsx:414 msgid "Selected build outputs will be deleted" msgstr "" -#: src/forms/BuildForms.tsx:424 +#: src/forms/BuildForms.tsx:441 msgid "Build outputs have been cancelled" msgstr "" @@ -2344,76 +2411,76 @@ msgstr "" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PurchaseOrderForms.tsx:265 +#: src/forms/PurchaseOrderForms.tsx:279 msgid "Choose Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:273 +#: src/forms/PurchaseOrderForms.tsx:287 msgid "Item Destination selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:282 +#: src/forms/PurchaseOrderForms.tsx:296 msgid "Part category default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:292 +#: src/forms/PurchaseOrderForms.tsx:306 msgid "Received stock location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:297 +#: src/forms/PurchaseOrderForms.tsx:311 msgid "Default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:308 -#: src/forms/PurchaseOrderForms.tsx:384 +#: src/forms/PurchaseOrderForms.tsx:322 +#: src/forms/PurchaseOrderForms.tsx:398 msgid "Scan Barcode" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:352 +#: src/forms/PurchaseOrderForms.tsx:366 msgid "Set Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:359 +#: src/forms/PurchaseOrderForms.tsx:373 msgid "Assign Batch Code{0}" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:368 +#: src/forms/PurchaseOrderForms.tsx:382 msgid "Change Status" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:393 -#: src/forms/StockForms.tsx:351 +#: src/forms/PurchaseOrderForms.tsx:407 +#: src/forms/StockForms.tsx:392 msgid "Remove item from list" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:418 -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:58 -#: src/pages/stock/StockDetail.tsx:167 -#: src/tables/ColumnRenderers.tsx:42 +#: src/forms/PurchaseOrderForms.tsx:432 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/pages/stock/StockDetail.tsx:170 +#: src/tables/ColumnRenderers.tsx:34 +#: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:434 +#: src/forms/PurchaseOrderForms.tsx:448 msgid "Store at default location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:447 +#: src/forms/PurchaseOrderForms.tsx:461 msgid "Store at line item destination" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:457 +#: src/forms/PurchaseOrderForms.tsx:471 msgid "Store with already received stock" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:613 +#: src/forms/PurchaseOrderForms.tsx:627 msgid "Receive Line Items" msgstr "" @@ -2421,119 +2488,118 @@ msgstr "" #~ msgid "Receive line items" #~ msgstr "Receive line items" -#: src/forms/StockForms.tsx:69 +#: src/forms/StockForms.tsx:101 msgid "Add given quantity as packs instead of individual items" msgstr "" -#: src/forms/StockForms.tsx:80 -msgid "Enter initial quantity for this stock item" -msgstr "" - -#: src/forms/StockForms.tsx:85 -msgid "Serial Numbers" -msgstr "" - -#: src/forms/StockForms.tsx:86 -msgid "Enter serial numbers for new stock (or leave blank)" -msgstr "" - #: src/forms/StockForms.tsx:110 #~ msgid "Create Stock Item" #~ msgstr "Create Stock Item" -#: src/forms/StockForms.tsx:135 -#: src/pages/stock/StockDetail.tsx:367 -#: src/tables/stock/StockItemTable.tsx:382 -#: src/tables/stock/StockItemTable.tsx:499 -msgid "Add Stock Item" +#: src/forms/StockForms.tsx:114 +msgid "Enter initial quantity for this stock item" +msgstr "" + +#: src/forms/StockForms.tsx:121 +msgid "Serial Numbers" +msgstr "" + +#: src/forms/StockForms.tsx:122 +msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" #: src/forms/StockForms.tsx:158 #~ msgid "Stock item updated" #~ msgstr "Stock item updated" -#: src/forms/StockForms.tsx:298 +#: src/forms/StockForms.tsx:176 +#: src/pages/stock/StockDetail.tsx:375 +#: src/tables/stock/StockItemTable.tsx:382 +#: src/tables/stock/StockItemTable.tsx:499 +msgid "Add Stock Item" +msgstr "" + +#: src/forms/StockForms.tsx:339 msgid "Loading..." msgstr "" -#: src/forms/StockForms.tsx:340 +#: src/forms/StockForms.tsx:381 msgid "Move to default location" msgstr "" -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/part/PartDetail.tsx:205 -#: src/pages/part/PartDetail.tsx:654 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/pages/part/PartDetail.tsx:206 +#: src/pages/part/PartDetail.tsx:655 #: src/tables/stock/StockItemTable.tsx:290 msgid "In Stock" msgstr "" -#: src/forms/StockForms.tsx:408 +#: src/forms/StockForms.tsx:449 msgid "Move" msgstr "" -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/tables/RowActions.tsx:147 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/tables/RowActions.tsx:149 msgid "Actions" msgstr "" -#: src/forms/StockForms.tsx:471 -#: src/pages/stock/StockDetail.tsx:440 -#: src/tables/settings/TemplateTable.tsx:266 -#: src/tables/stock/StockItemTestResultTable.tsx:348 +#: src/forms/StockForms.tsx:512 +#: src/pages/stock/StockDetail.tsx:454 +#: src/tables/stock/StockItemTestResultTable.tsx:339 msgid "Add" msgstr "" -#: src/forms/StockForms.tsx:499 +#: src/forms/StockForms.tsx:540 #: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:430 +#: src/pages/stock/StockDetail.tsx:444 msgid "Count" msgstr "" -#: src/forms/StockForms.tsx:744 +#: src/forms/StockForms.tsx:785 msgid "Add Stock" msgstr "" -#: src/forms/StockForms.tsx:753 +#: src/forms/StockForms.tsx:794 msgid "Remove Stock" msgstr "" -#: src/forms/StockForms.tsx:762 -#: src/pages/part/PartDetail.tsx:781 +#: src/forms/StockForms.tsx:803 +#: src/pages/part/PartDetail.tsx:782 msgid "Transfer Stock" msgstr "" -#: src/forms/StockForms.tsx:771 -#: src/pages/part/PartDetail.tsx:770 +#: src/forms/StockForms.tsx:812 +#: src/pages/part/PartDetail.tsx:771 msgid "Count Stock" msgstr "" -#: src/forms/StockForms.tsx:780 +#: src/forms/StockForms.tsx:821 msgid "Change Stock Status" msgstr "" -#: src/forms/StockForms.tsx:789 +#: src/forms/StockForms.tsx:830 msgid "Merge Stock" msgstr "" -#: src/forms/StockForms.tsx:808 +#: src/forms/StockForms.tsx:849 msgid "Delete Stock Items" msgstr "" -#: src/forms/StockForms.tsx:815 +#: src/forms/StockForms.tsx:856 msgid "Parent stock location" msgstr "" @@ -2728,7 +2794,7 @@ msgstr "" msgid "Welcome to your Dashboard{0}" msgstr "" -#: src/pages/Index/Playground.tsx:244 +#: src/pages/Index/Playground.tsx:243 msgid "This page is a showcase for the possibilities of Platform UI." msgstr "" @@ -3138,49 +3204,53 @@ msgstr "" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:79 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:87 msgid "Background Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:85 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:93 msgid "Error Reports" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:91 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:99 msgid "Currencies" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:109 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:117 msgid "Custom Units" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:115 -#: src/pages/part/CategoryDetail.tsx:254 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:123 +#: src/pages/part/CategoryDetail.tsx:255 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:121 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 +#~ msgid "Templates" +#~ msgstr "Templates" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:129 msgid "Category Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 -msgid "Templates" +#: src/pages/Index/Settings/AdminCenter/Index.tsx:147 +msgid "Location types" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:139 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:159 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:149 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:169 msgid "Quick Actions" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:154 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 msgid "Add a new user" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:173 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:193 msgid "Advanced Options" msgstr "" @@ -3225,26 +3295,32 @@ msgstr "" msgid "Plugin Settings" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:25 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:53 +msgid "Background Worker Not Running" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:54 +msgid "The background task manager service is not running. Contact your system administrator." +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:60 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:76 msgid "Pending Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:33 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:64 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:84 msgid "Scheduled Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:41 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:68 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:92 msgid "Failed Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:139 -msgid "Labels" -msgstr "" - #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:39 -msgid "Label" -msgstr "" +#~ msgid "Label" +#~ msgstr "Label" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67 #~ msgid "Stock item" @@ -3255,13 +3331,13 @@ msgstr "" #~ msgstr "Build line" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:88 -msgid "Reports" -msgstr "" +#~ msgid "Reports" +#~ msgstr "Reports" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:89 #: src/pages/build/BuildDetail.tsx:373 -msgid "Report" -msgstr "" +#~ msgid "Report" +#~ msgstr "Report" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99 #~ msgid "Purchase order" @@ -3275,14 +3351,9 @@ msgstr "" #~ msgid "Return order" #~ msgstr "Return order" -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135 -#: src/pages/part/PartDetail.tsx:518 -msgid "Bill of Materials" -msgstr "" - #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:145 -msgid "Tests" -msgstr "" +#~ msgid "Tests" +#~ msgstr "Tests" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:154 #~ msgid "Stock location" @@ -3321,26 +3392,30 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" +#: src/pages/Index/Settings/SystemSettings.tsx:139 +msgid "Labels" +msgstr "" + #: src/pages/Index/Settings/SystemSettings.tsx:145 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:223 -#: src/pages/part/PartDetail.tsx:589 +#: src/pages/Index/Settings/SystemSettings.tsx:224 +#: src/pages/part/PartDetail.tsx:590 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:228 -#: src/pages/build/BuildDetail.tsx:426 +#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:525 -#: src/pages/sales/SalesOrderDetail.tsx:263 +#: src/pages/part/PartDetail.tsx:526 +#: src/pages/sales/SalesOrderDetail.tsx:265 msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:296 +#: src/pages/Index/Settings/SystemSettings.tsx:297 msgid "Switch to User Setting" msgstr "" @@ -3397,44 +3472,47 @@ msgstr "" #~ msgstr "Build Status" #: src/pages/build/BuildDetail.tsx:89 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:128 -#: src/pages/sales/ReturnOrderDetail.tsx:95 -#: src/pages/sales/SalesOrderDetail.tsx:99 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:130 +#: src/pages/sales/ReturnOrderDetail.tsx:97 +#: src/pages/sales/SalesOrderDetail.tsx:101 #: src/tables/build/BuildOrderTable.tsx:113 #: src/tables/machine/MachineListTable.tsx:326 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderTable.tsx:46 #: src/tables/sales/SalesOrderTable.tsx:52 #: src/tables/stock/StockItemTable.tsx:259 +#: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "" #: src/pages/build/BuildDetail.tsx:95 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:101 -#: src/pages/sales/ReturnOrderDetail.tsx:69 -#: src/pages/sales/SalesOrderDetail.tsx:73 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:103 +#: src/pages/sales/ReturnOrderDetail.tsx:71 +#: src/pages/sales/SalesOrderDetail.tsx:75 +#: src/tables/ColumnRenderers.tsx:106 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" msgstr "" #: src/pages/build/BuildDetail.tsx:100 -#: src/pages/company/CompanyDetail.tsx:84 -#: src/pages/company/ManufacturerPartDetail.tsx:75 -#: src/pages/company/SupplierPartDetail.tsx:82 -#: src/pages/part/CategoryDetail.tsx:91 -#: src/pages/part/PartDetail.tsx:132 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:122 -#: src/pages/sales/ReturnOrderDetail.tsx:89 -#: src/pages/sales/SalesOrderDetail.tsx:93 -#: src/pages/stock/LocationDetail.tsx:97 -#: src/tables/ColumnRenderers.tsx:95 +#: src/pages/company/CompanyDetail.tsx:86 +#: src/pages/company/ManufacturerPartDetail.tsx:76 +#: src/pages/company/SupplierPartDetail.tsx:83 +#: src/pages/part/CategoryDetail.tsx:92 +#: src/pages/part/PartDetail.tsx:133 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:124 +#: src/pages/sales/ReturnOrderDetail.tsx:91 +#: src/pages/sales/SalesOrderDetail.tsx:95 +#: src/pages/stock/LocationDetail.tsx:99 +#: src/tables/ColumnRenderers.tsx:66 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 #: src/tables/machine/MachineTypeTable.tsx:323 #: src/tables/part/RelatedPartTable.tsx:64 -#: src/tables/plugin/PluginListTable.tsx:172 -#: src/tables/plugin/PluginListTable.tsx:302 +#: src/tables/plugin/PluginListTable.tsx:129 +#: src/tables/plugin/PluginListTable.tsx:276 +#: src/tables/stock/LocationTypesTable.tsx:65 msgid "Description" msgstr "" @@ -3447,7 +3525,7 @@ msgid "Build Quantity" msgstr "" #: src/pages/build/BuildDetail.tsx:126 -#: src/pages/build/BuildDetail.tsx:249 +#: src/pages/build/BuildDetail.tsx:256 msgid "Completed Outputs" msgstr "" @@ -3457,10 +3535,10 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:150 -#: src/pages/part/PartDetail.tsx:320 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:214 -#: src/pages/sales/ReturnOrderDetail.tsx:182 -#: src/pages/sales/SalesOrderDetail.tsx:186 +#: src/pages/part/PartDetail.tsx:321 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:184 +#: src/pages/sales/SalesOrderDetail.tsx:188 #: src/tables/build/BuildOrderTable.tsx:148 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 @@ -3474,10 +3552,10 @@ msgid "Created" msgstr "" #: src/pages/build/BuildDetail.tsx:164 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:207 -#: src/pages/sales/ReturnOrderDetail.tsx:175 -#: src/pages/sales/SalesOrderDetail.tsx:179 -#: src/tables/ColumnRenderers.tsx:227 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:209 +#: src/pages/sales/ReturnOrderDetail.tsx:177 +#: src/pages/sales/SalesOrderDetail.tsx:181 +#: src/tables/ColumnRenderers.tsx:191 msgid "Target Date" msgstr "" @@ -3513,6 +3591,11 @@ msgstr "" #~ msgid "Unlink custom barcode from part" #~ msgstr "Unlink custom barcode from part" +#: src/pages/build/BuildDetail.tsx:197 +#: src/pages/stock/StockDetail.tsx:526 +msgid "Batch Code" +msgstr "" + #: src/pages/build/BuildDetail.tsx:202 #~ msgid "Build Order updated" #~ msgstr "Build Order updated" @@ -3521,86 +3604,87 @@ msgstr "" #~ msgid "Edit build order" #~ msgstr "Edit build order" -#: src/pages/build/BuildDetail.tsx:222 -msgid "Build Details" -msgstr "" - #: src/pages/build/BuildDetail.tsx:226 #~ msgid "Duplicate build order" #~ msgstr "Duplicate build order" -#: src/pages/build/BuildDetail.tsx:228 -#: src/tables/build/BuildLineTable.tsx:225 -msgid "Allocate Stock" +#: src/pages/build/BuildDetail.tsx:229 +msgid "Build Details" msgstr "" #: src/pages/build/BuildDetail.tsx:231 #~ msgid "Delete build order" #~ msgstr "Delete build order" -#: src/pages/build/BuildDetail.tsx:242 +#: src/pages/build/BuildDetail.tsx:235 +#: src/tables/build/BuildLineTable.tsx:225 +msgid "Allocate Stock" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:249 msgid "Incomplete Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:264 +#: src/pages/build/BuildDetail.tsx:271 msgid "Consumed Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:278 +#: src/pages/build/BuildDetail.tsx:285 msgid "Child Build Orders" msgstr "" -#: src/pages/build/BuildDetail.tsx:288 -#: src/pages/company/CompanyDetail.tsx:253 -#: src/pages/company/ManufacturerPartDetail.tsx:171 -#: src/pages/part/PartDetail.tsx:611 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:276 -#: src/pages/sales/ReturnOrderDetail.tsx:225 -#: src/pages/sales/SalesOrderDetail.tsx:273 -#: src/pages/stock/StockDetail.tsx:317 +#: src/pages/build/BuildDetail.tsx:295 +#: src/pages/company/CompanyDetail.tsx:255 +#: src/pages/company/ManufacturerPartDetail.tsx:172 +#: src/pages/part/PartDetail.tsx:612 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:278 +#: src/pages/sales/ReturnOrderDetail.tsx:227 +#: src/pages/sales/SalesOrderDetail.tsx:275 +#: src/pages/stock/StockDetail.tsx:325 msgid "Attachments" msgstr "" -#: src/pages/build/BuildDetail.tsx:300 -#: src/pages/company/CompanyDetail.tsx:265 -#: src/pages/part/PartDetail.tsx:623 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:288 -#: src/pages/sales/ReturnOrderDetail.tsx:237 -#: src/pages/sales/SalesOrderDetail.tsx:285 -#: src/pages/stock/StockDetail.tsx:329 +#: src/pages/build/BuildDetail.tsx:307 +#: src/pages/company/CompanyDetail.tsx:267 +#: src/pages/part/PartDetail.tsx:624 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:290 +#: src/pages/sales/ReturnOrderDetail.tsx:239 +#: src/pages/sales/SalesOrderDetail.tsx:287 +#: src/pages/stock/StockDetail.tsx:337 +#: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "" -#: src/pages/build/BuildDetail.tsx:318 +#: src/pages/build/BuildDetail.tsx:325 msgid "Edit Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:327 +#: src/pages/build/BuildDetail.tsx:334 msgid "Cancel Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:339 +#: src/pages/build/BuildDetail.tsx:346 #: src/tables/build/BuildOrderTable.tsx:167 #: src/tables/build/BuildOrderTable.tsx:182 msgid "Add Build Order" msgstr "" #: src/pages/build/BuildDetail.tsx:368 -msgid "Reporting Actions" -msgstr "" +#~ msgid "Reporting Actions" +#~ msgstr "Reporting Actions" #: src/pages/build/BuildDetail.tsx:374 -msgid "Print build report" -msgstr "" +#~ msgid "Print build report" +#~ msgstr "Print build report" -#: src/pages/build/BuildDetail.tsx:380 +#: src/pages/build/BuildDetail.tsx:378 msgid "Build Order Actions" msgstr "" -#: src/pages/build/BuildDetail.tsx:388 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:326 -#: src/pages/sales/ReturnOrderDetail.tsx:300 -#: src/pages/sales/SalesOrderDetail.tsx:310 +#: src/pages/build/BuildDetail.tsx:386 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:333 +#: src/pages/sales/ReturnOrderDetail.tsx:307 +#: src/pages/sales/SalesOrderDetail.tsx:317 msgid "Cancel order" msgstr "" @@ -3612,56 +3696,58 @@ msgstr "" #~ msgid "New Build Order" #~ msgstr "New Build Order" -#: src/pages/company/CompanyDetail.tsx:98 +#: src/pages/company/CompanyDetail.tsx:100 msgid "Phone Number" msgstr "" -#: src/pages/company/CompanyDetail.tsx:105 +#: src/pages/company/CompanyDetail.tsx:107 msgid "Email Address" msgstr "" -#: src/pages/company/CompanyDetail.tsx:115 +#: src/pages/company/CompanyDetail.tsx:117 msgid "Default Currency" msgstr "" -#: src/pages/company/CompanyDetail.tsx:120 +#: src/pages/company/CompanyDetail.tsx:122 #: src/pages/company/SupplierDetail.tsx:8 -#: src/pages/company/SupplierPartDetail.tsx:106 -#: src/pages/company/SupplierPartDetail.tsx:192 -#: src/pages/company/SupplierPartDetail.tsx:295 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:116 +#: src/pages/company/SupplierPartDetail.tsx:107 +#: src/pages/company/SupplierPartDetail.tsx:193 +#: src/pages/company/SupplierPartDetail.tsx:296 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:118 #: src/tables/company/CompanyTable.tsx:100 #: src/tables/purchasing/PurchaseOrderTable.tsx:88 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:36 msgid "Supplier" msgstr "" -#: src/pages/company/CompanyDetail.tsx:126 +#: src/pages/company/CompanyDetail.tsx:128 #: src/pages/company/ManufacturerDetail.tsx:8 -#: src/pages/company/ManufacturerPartDetail.tsx:93 -#: src/pages/company/ManufacturerPartDetail.tsx:235 -#: src/pages/company/SupplierPartDetail.tsx:121 +#: src/pages/company/ManufacturerPartDetail.tsx:94 +#: src/pages/company/ManufacturerPartDetail.tsx:239 +#: src/pages/company/SupplierPartDetail.tsx:122 #: src/tables/company/CompanyTable.tsx:105 msgid "Manufacturer" msgstr "" -#: src/pages/company/CompanyDetail.tsx:132 +#: src/pages/company/CompanyDetail.tsx:134 #: src/pages/company/CustomerDetail.tsx:8 #: src/pages/part/pricing/SaleHistoryPanel.tsx:39 -#: src/pages/sales/ReturnOrderDetail.tsx:83 -#: src/pages/sales/SalesOrderDetail.tsx:87 -#: src/pages/stock/StockDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:85 +#: src/pages/sales/SalesOrderDetail.tsx:89 +#: src/pages/stock/StockDetail.tsx:219 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:107 +#: src/tables/stock/StockTrackingTable.tsx:140 msgid "Customer" msgstr "" -#: src/pages/company/CompanyDetail.tsx:166 +#: src/pages/company/CompanyDetail.tsx:168 +#: src/tables/stock/StockTrackingTable.tsx:183 msgid "Details" msgstr "" -#: src/pages/company/CompanyDetail.tsx:172 +#: src/pages/company/CompanyDetail.tsx:174 msgid "Manufactured Parts" msgstr "" @@ -3669,7 +3755,7 @@ msgstr "" #~ msgid "Edit company" #~ msgstr "Edit company" -#: src/pages/company/CompanyDetail.tsx:181 +#: src/pages/company/CompanyDetail.tsx:183 msgid "Supplied Parts" msgstr "" @@ -3677,289 +3763,289 @@ msgstr "" #~ msgid "Delete company" #~ msgstr "Delete company" -#: src/pages/company/CompanyDetail.tsx:226 +#: src/pages/company/CompanyDetail.tsx:228 msgid "Assigned Stock" msgstr "" -#: src/pages/company/CompanyDetail.tsx:281 +#: src/pages/company/CompanyDetail.tsx:283 #: src/tables/company/CompanyTable.tsx:86 msgid "Edit Company" msgstr "" -#: src/pages/company/CompanyDetail.tsx:290 +#: src/pages/company/CompanyDetail.tsx:292 msgid "Company Actions" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:68 -#: src/pages/company/SupplierPartDetail.tsx:75 +#: src/pages/company/ManufacturerPartDetail.tsx:69 +#: src/pages/company/SupplierPartDetail.tsx:76 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:72 msgid "Internal Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:83 -#: src/pages/company/SupplierPartDetail.tsx:89 +#: src/pages/company/ManufacturerPartDetail.tsx:84 +#: src/pages/company/SupplierPartDetail.tsx:90 msgid "External Link" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:101 -#: src/pages/company/SupplierPartDetail.tsx:130 -#: src/tables/purchasing/ManufacturerPartTable.tsx:53 +#: src/pages/company/ManufacturerPartDetail.tsx:102 +#: src/pages/company/SupplierPartDetail.tsx:131 +#: src/tables/purchasing/ManufacturerPartTable.tsx:56 msgid "Manufacturer Part Number" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:130 +#: src/pages/company/ManufacturerPartDetail.tsx:131 msgid "Manufacturer Details" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:139 +#: src/pages/company/ManufacturerPartDetail.tsx:140 msgid "Manufacturer Part Details" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:145 -#: src/pages/part/PartDetail.tsx:485 +#: src/pages/company/ManufacturerPartDetail.tsx:146 +#: src/pages/part/PartDetail.tsx:486 msgid "Parameters" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:157 -#: src/pages/part/PartDetail.tsx:558 +#: src/pages/company/ManufacturerPartDetail.tsx:158 +#: src/pages/part/PartDetail.tsx:559 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:189 -#: src/tables/purchasing/ManufacturerPartTable.tsx:97 +#: src/pages/company/ManufacturerPartDetail.tsx:190 +#: src/tables/purchasing/ManufacturerPartTable.tsx:84 msgid "Edit Manufacturer Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:196 -#: src/tables/purchasing/ManufacturerPartTable.tsx:63 -#: src/tables/purchasing/ManufacturerPartTable.tsx:78 +#: src/pages/company/ManufacturerPartDetail.tsx:197 +#: src/tables/purchasing/ManufacturerPartTable.tsx:72 +#: src/tables/purchasing/ManufacturerPartTable.tsx:103 msgid "Add Manufacturer Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:209 +#: src/pages/company/ManufacturerPartDetail.tsx:213 msgid "Manufacturer Part Actions" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:247 +#: src/pages/company/ManufacturerPartDetail.tsx:251 msgid "ManufacturerPart" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:96 -#: src/tables/ColumnRenderers.tsx:146 +#: src/pages/company/SupplierPartDetail.tsx:97 +#: src/tables/ColumnRenderers.tsx:117 msgid "Note" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:114 +#: src/pages/company/SupplierPartDetail.tsx:115 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:57 msgid "SKU" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:142 -#: src/pages/company/SupplierPartDetail.tsx:193 -#: src/pages/stock/StockDetail.tsx:230 +#: src/pages/company/SupplierPartDetail.tsx:143 +#: src/pages/company/SupplierPartDetail.tsx:194 +#: src/pages/stock/StockDetail.tsx:233 msgid "Packaging" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:149 +#: src/pages/company/SupplierPartDetail.tsx:150 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:107 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143 #: src/tables/purchasing/SupplierPartTable.tsx:131 msgid "Pack Quantity" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:160 +#: src/pages/company/SupplierPartDetail.tsx:161 msgid "Supplier Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:167 +#: src/pages/company/SupplierPartDetail.tsx:168 msgid "Availability Updated" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:194 +#: src/pages/company/SupplierPartDetail.tsx:195 msgid "Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:203 +#: src/pages/company/SupplierPartDetail.tsx:204 msgid "Supplier Part Details" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:209 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:263 +#: src/pages/company/SupplierPartDetail.tsx:210 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:265 msgid "Received Stock" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:233 +#: src/pages/company/SupplierPartDetail.tsx:234 #: src/pages/part/PartPricingPanel.tsx:115 #: src/pages/part/pricing/PricingOverviewPanel.tsx:130 msgid "Supplier Pricing" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:248 +#: src/pages/company/SupplierPartDetail.tsx:249 msgid "Supplier Part Actions" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:272 +#: src/pages/company/SupplierPartDetail.tsx:273 #: src/tables/purchasing/SupplierPartTable.tsx:210 msgid "Edit Supplier Part" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:279 +#: src/pages/company/SupplierPartDetail.tsx:280 #: src/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "" -#: src/pages/part/CategoryDetail.tsx:83 -#: src/pages/stock/LocationDetail.tsx:89 +#: src/pages/part/CategoryDetail.tsx:84 +#: src/pages/stock/LocationDetail.tsx:91 #: src/tables/settings/ErrorTable.tsx:34 msgid "Path" msgstr "" -#: src/pages/part/CategoryDetail.tsx:99 +#: src/pages/part/CategoryDetail.tsx:100 msgid "Parent Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:116 +#: src/pages/part/CategoryDetail.tsx:117 msgid "Subcategories" msgstr "" -#: src/pages/part/CategoryDetail.tsx:123 -#: src/pages/stock/LocationDetail.tsx:129 -#: src/tables/part/PartCategoryTable.tsx:69 +#: src/pages/part/CategoryDetail.tsx:124 +#: src/pages/stock/LocationDetail.tsx:131 +#: src/tables/part/PartCategoryTable.tsx:65 msgid "Structural" msgstr "" -#: src/pages/part/CategoryDetail.tsx:129 +#: src/pages/part/CategoryDetail.tsx:130 msgid "Parent default location" msgstr "" -#: src/pages/part/CategoryDetail.tsx:136 +#: src/pages/part/CategoryDetail.tsx:137 msgid "Default location" msgstr "" -#: src/pages/part/CategoryDetail.tsx:147 +#: src/pages/part/CategoryDetail.tsx:148 msgid "Top level part category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:157 -#: src/pages/part/CategoryDetail.tsx:211 -#: src/tables/part/PartCategoryTable.tsx:96 +#: src/pages/part/CategoryDetail.tsx:158 +#: src/pages/part/CategoryDetail.tsx:212 +#: src/tables/part/PartCategoryTable.tsx:88 msgid "Edit Part Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:170 -#: src/pages/stock/LocationDetail.tsx:213 +#: src/pages/part/CategoryDetail.tsx:171 +#: src/pages/stock/LocationDetail.tsx:223 msgid "Delete items" msgstr "" -#: src/pages/part/CategoryDetail.tsx:178 -#: src/pages/part/CategoryDetail.tsx:216 +#: src/pages/part/CategoryDetail.tsx:179 +#: src/pages/part/CategoryDetail.tsx:217 msgid "Delete Part Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:181 +#: src/pages/part/CategoryDetail.tsx:182 msgid "Parts Action" msgstr "" -#: src/pages/part/CategoryDetail.tsx:182 +#: src/pages/part/CategoryDetail.tsx:183 msgid "Action for parts in this category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:187 +#: src/pages/part/CategoryDetail.tsx:188 msgid "Child Categories Action" msgstr "" -#: src/pages/part/CategoryDetail.tsx:188 +#: src/pages/part/CategoryDetail.tsx:189 msgid "Action for child categories in this category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:206 +#: src/pages/part/CategoryDetail.tsx:207 msgid "Category Actions" msgstr "" -#: src/pages/part/CategoryDetail.tsx:228 +#: src/pages/part/CategoryDetail.tsx:229 msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:138 +#: src/pages/part/PartDetail.tsx:139 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:145 +#: src/pages/part/PartDetail.tsx:146 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "" -#: src/pages/part/PartDetail.tsx:151 +#: src/pages/part/PartDetail.tsx:152 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:158 +#: src/pages/part/PartDetail.tsx:159 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:165 +#: src/pages/part/PartDetail.tsx:166 msgid "IPN" msgstr "" -#: src/pages/part/PartDetail.tsx:172 +#: src/pages/part/PartDetail.tsx:173 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:179 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39 +#: src/pages/part/PartDetail.tsx:180 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "" -#: src/pages/part/PartDetail.tsx:186 +#: src/pages/part/PartDetail.tsx:187 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:193 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:180 -#: src/pages/sales/ReturnOrderDetail.tsx:148 -#: src/pages/sales/SalesOrderDetail.tsx:152 +#: src/pages/part/PartDetail.tsx:194 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:182 +#: src/pages/sales/ReturnOrderDetail.tsx:150 +#: src/pages/sales/SalesOrderDetail.tsx:154 msgid "Link" msgstr "" -#: src/pages/part/PartDetail.tsx:211 -#: src/tables/bom/BomTable.tsx:269 +#: src/pages/part/PartDetail.tsx:212 +#: src/tables/bom/BomTable.tsx:271 #: src/tables/build/BuildLineTable.tsx:121 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:218 +#: src/pages/part/PartDetail.tsx:219 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:224 -#: src/tables/bom/BomTable.tsx:210 +#: src/pages/part/PartDetail.tsx:225 +#: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:233 +#: src/pages/part/PartDetail.tsx:234 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:241 +#: src/pages/part/PartDetail.tsx:242 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:248 -#: src/tables/bom/BomTable.tsx:234 +#: src/pages/part/PartDetail.tsx:249 +#: src/tables/bom/BomTable.tsx:236 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:255 -#: src/tables/bom/BomTable.tsx:218 +#: src/pages/part/PartDetail.tsx:256 +#: src/tables/bom/BomTable.tsx:220 #: src/tables/part/PartTable.tsx:82 msgid "Building" msgstr "" -#: src/pages/part/PartDetail.tsx:264 +#: src/pages/part/PartDetail.tsx:265 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 @@ -3968,45 +4054,47 @@ msgstr "" #: src/tables/machine/MachineListTable.tsx:585 #: src/tables/part/PartTable.tsx:168 #: src/tables/part/PartVariantTable.tsx:15 -#: src/tables/plugin/PluginListTable.tsx:190 -#: src/tables/plugin/PluginListTable.tsx:638 +#: src/tables/plugin/PluginListTable.tsx:149 +#: src/tables/plugin/PluginListTable.tsx:271 +#: src/tables/plugin/PluginListTable.tsx:563 #: src/tables/purchasing/SupplierPartTable.tsx:98 #: src/tables/purchasing/SupplierPartTable.tsx:187 #: src/tables/stock/StockItemTable.tsx:254 msgid "Active" msgstr "" -#: src/pages/part/PartDetail.tsx:269 +#: src/pages/part/PartDetail.tsx:270 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:274 -#: src/tables/bom/BomTable.tsx:264 +#: src/pages/part/PartDetail.tsx:275 +#: src/tables/bom/BomTable.tsx:266 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:279 +#: src/pages/part/PartDetail.tsx:280 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:284 -#: src/tables/bom/BomTable.tsx:259 +#: src/pages/part/PartDetail.tsx:285 +#: src/tables/bom/BomTable.tsx:261 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:289 +#: src/pages/part/PartDetail.tsx:290 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:294 +#: src/pages/part/PartDetail.tsx:295 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:299 +#: src/pages/part/PartDetail.tsx:300 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:307 +#: src/pages/part/PartDetail.tsx:308 +#: src/tables/ColumnRenderers.tsx:199 msgid "Creation Date" msgstr "" @@ -4014,7 +4102,7 @@ msgstr "" #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:312 +#: src/pages/part/PartDetail.tsx:313 msgid "Created By" msgstr "" @@ -4022,68 +4110,72 @@ msgstr "" #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:327 -msgid "Default Supplier" -msgstr "" - #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:338 +#: src/pages/part/PartDetail.tsx:328 +msgid "Default Supplier" +msgstr "" + +#: src/pages/part/PartDetail.tsx:339 #: src/tables/part/PartTable.tsx:151 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:373 -#: src/pages/stock/StockDetail.tsx:127 +#: src/pages/part/PartDetail.tsx:374 +#: src/pages/stock/StockDetail.tsx:130 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:408 +#: src/pages/part/PartDetail.tsx:409 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:479 +#: src/pages/part/PartDetail.tsx:480 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:505 +#: src/pages/part/PartDetail.tsx:506 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:512 -#: src/pages/stock/StockDetail.tsx:275 +#: src/pages/part/PartDetail.tsx:513 +#: src/pages/stock/StockDetail.tsx:283 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:532 +#: src/pages/part/PartDetail.tsx:519 +msgid "Bill of Materials" +msgstr "" + +#: src/pages/part/PartDetail.tsx:533 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:539 +#: src/pages/part/PartDetail.tsx:540 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:545 +#: src/pages/part/PartDetail.tsx:546 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:584 +#: src/pages/part/PartDetail.tsx:585 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:594 +#: src/pages/part/PartDetail.tsx:595 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:605 +#: src/pages/part/PartDetail.tsx:606 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:660 -#: src/pages/stock/StockDetail.tsx:148 +#: src/pages/part/PartDetail.tsx:661 +#: src/pages/stock/StockDetail.tsx:151 #: src/tables/build/BuildLineTable.tsx:36 #: src/tables/part/PartTable.tsx:107 #: src/tables/stock/StockItemTable.tsx:166 @@ -4091,49 +4183,51 @@ msgstr "" msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:666 +#: src/pages/part/PartDetail.tsx:667 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:672 -#: src/tables/bom/BomTable.tsx:274 +#: src/pages/part/PartDetail.tsx:673 +#: src/tables/bom/BomTable.tsx:276 #: src/tables/part/PartTable.tsx:76 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:678 -#: src/pages/stock/StockDetail.tsx:496 +#: src/pages/part/PartDetail.tsx:679 +#: src/pages/stock/StockDetail.tsx:509 #: src/tables/stock/StockItemTable.tsx:295 msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:697 +#: src/pages/part/PartDetail.tsx:698 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:704 +#: src/pages/part/PartDetail.tsx:705 #: src/tables/part/PartTable.tsx:266 #: src/tables/part/PartTable.tsx:279 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:716 +#: src/pages/part/PartDetail.tsx:717 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:725 +#: src/pages/part/PartDetail.tsx:726 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:763 +#: src/pages/part/PartDetail.tsx:764 +#: src/pages/stock/LocationDetail.tsx:301 +#: src/tables/stock/StockItemTable.tsx:409 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:771 +#: src/pages/part/PartDetail.tsx:772 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:782 +#: src/pages/part/PartDetail.tsx:783 msgid "Transfer part stock" msgstr "" @@ -4199,15 +4293,15 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151 #: src/pages/part/pricing/SupplierPricingPanel.tsx:83 -#: src/tables/bom/BomTable.tsx:149 +#: src/tables/bom/BomTable.tsx:151 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 msgid "Unit Price" msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:173 -#: src/tables/ColumnRenderers.tsx:278 -#: src/tables/bom/BomTable.tsx:158 +#: src/tables/ColumnRenderers.tsx:241 +#: src/tables/bom/BomTable.tsx:160 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 #: src/tables/sales/ReturnOrderTable.tsx:104 #: src/tables/sales/SalesOrderTable.tsx:134 @@ -4229,24 +4323,24 @@ msgid "Bar Chart" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:63 -#: src/pages/part/pricing/PriceBreakPanel.tsx:117 +#: src/pages/part/pricing/PriceBreakPanel.tsx:115 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:138 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:164 msgid "Add Price Break" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:76 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:149 msgid "Edit Price Break" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:86 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:157 msgid "Delete Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:102 -#: src/pages/part/pricing/PriceBreakPanel.tsx:193 +#: src/pages/part/pricing/PriceBreakPanel.tsx:100 +#: src/pages/part/pricing/PriceBreakPanel.tsx:191 msgid "Price Break" msgstr "" @@ -4275,7 +4369,7 @@ msgid "Overall Pricing" msgstr "" #: src/pages/part/pricing/PricingOverviewPanel.tsx:184 -#: src/pages/stock/StockDetail.tsx:121 +#: src/pages/stock/StockDetail.tsx:124 msgid "Last Updated" msgstr "" @@ -4309,9 +4403,8 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50 #: src/pages/part/pricing/SaleHistoryPanel.tsx:46 -#: src/tables/ColumnRenderers.tsx:217 -#: src/tables/plugin/PluginListTable.tsx:182 -#: src/tables/stock/StockItemTestResultTable.tsx:194 +#: src/tables/ColumnRenderers.tsx:180 +#: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" @@ -4338,89 +4431,89 @@ msgstr "" msgid "Variant Part" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:73 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:75 msgid "Edit Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:82 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:84 #: src/tables/purchasing/PurchaseOrderTable.tsx:128 #: src/tables/purchasing/PurchaseOrderTable.tsx:140 msgid "Add Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:107 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:109 msgid "Supplier Reference" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:137 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:252 -#: src/pages/sales/ReturnOrderDetail.tsx:104 -#: src/pages/sales/ReturnOrderDetail.tsx:220 -#: src/pages/sales/SalesOrderDetail.tsx:108 -#: src/pages/sales/SalesOrderDetail.tsx:248 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:139 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:254 +#: src/pages/sales/ReturnOrderDetail.tsx:106 +#: src/pages/sales/ReturnOrderDetail.tsx:222 +#: src/pages/sales/SalesOrderDetail.tsx:110 +#: src/pages/sales/SalesOrderDetail.tsx:250 msgid "Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:144 -#: src/pages/sales/ReturnOrderDetail.tsx:111 -#: src/pages/sales/SalesOrderDetail.tsx:115 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:146 +#: src/pages/sales/ReturnOrderDetail.tsx:113 +#: src/pages/sales/SalesOrderDetail.tsx:117 msgid "Completed Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:152 -#: src/pages/sales/ReturnOrderDetail.tsx:119 -#: src/pages/sales/SalesOrderDetail.tsx:123 -#: src/pages/sales/SalesOrderDetail.tsx:258 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:121 +#: src/pages/sales/SalesOrderDetail.tsx:125 +#: src/pages/sales/SalesOrderDetail.tsx:260 msgid "Completed Shipments" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:159 -#: src/pages/sales/ReturnOrderDetail.tsx:127 -#: src/pages/sales/SalesOrderDetail.tsx:131 -msgid "Order Currency" -msgstr "" - #: src/pages/purchasing/PurchaseOrderDetail.tsx:159 #: src/pages/sales/ReturnOrderDetail.tsx:126 #: src/pages/sales/SalesOrderDetail.tsx:130 #~ msgid "Order Currency," #~ msgstr "Order Currency," -#: src/pages/purchasing/PurchaseOrderDetail.tsx:166 -#: src/pages/sales/ReturnOrderDetail.tsx:134 -#: src/pages/sales/SalesOrderDetail.tsx:138 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:161 +#: src/pages/sales/ReturnOrderDetail.tsx:129 +#: src/pages/sales/SalesOrderDetail.tsx:133 +msgid "Order Currency" +msgstr "" + +#: src/pages/purchasing/PurchaseOrderDetail.tsx:168 +#: src/pages/sales/ReturnOrderDetail.tsx:136 +#: src/pages/sales/SalesOrderDetail.tsx:140 msgid "Total Cost" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:201 -#: src/pages/sales/ReturnOrderDetail.tsx:169 -#: src/pages/sales/SalesOrderDetail.tsx:173 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:203 +#: src/pages/sales/ReturnOrderDetail.tsx:171 +#: src/pages/sales/SalesOrderDetail.tsx:175 msgid "Created On" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:246 -#: src/pages/sales/ReturnOrderDetail.tsx:214 -#: src/pages/sales/SalesOrderDetail.tsx:242 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:248 +#: src/pages/sales/ReturnOrderDetail.tsx:216 +#: src/pages/sales/SalesOrderDetail.tsx:244 msgid "Order Details" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:316 -#: src/pages/sales/ReturnOrderDetail.tsx:290 -#: src/pages/sales/SalesOrderDetail.tsx:302 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:323 +#: src/pages/sales/ReturnOrderDetail.tsx:297 +#: src/pages/sales/SalesOrderDetail.tsx:309 msgid "Order Actions" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:75 -#: src/pages/sales/SalesOrderDetail.tsx:79 +#: src/pages/sales/ReturnOrderDetail.tsx:77 +#: src/pages/sales/SalesOrderDetail.tsx:81 #: src/tables/sales/SalesOrderTable.tsx:123 msgid "Customer Reference" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:267 +#: src/pages/sales/ReturnOrderDetail.tsx:269 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:276 +#: src/pages/sales/ReturnOrderDetail.tsx:278 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" @@ -4430,68 +4523,72 @@ msgstr "" msgid "Customers" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:219 +#: src/pages/sales/SalesOrderDetail.tsx:221 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:228 +#: src/pages/sales/SalesOrderDetail.tsx:230 #: src/tables/sales/SalesOrderTable.tsx:83 #: src/tables/sales/SalesOrderTable.tsx:95 msgid "Add Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:253 +#: src/pages/sales/SalesOrderDetail.tsx:255 msgid "Pending Shipments" msgstr "" -#: src/pages/stock/LocationDetail.tsx:105 +#: src/pages/stock/LocationDetail.tsx:107 msgid "Parent Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:123 +#: src/pages/stock/LocationDetail.tsx:125 msgid "Sublocations" msgstr "" -#: src/pages/stock/LocationDetail.tsx:135 +#: src/pages/stock/LocationDetail.tsx:137 msgid "External" msgstr "" -#: src/pages/stock/LocationDetail.tsx:144 +#: src/pages/stock/LocationDetail.tsx:143 +msgid "Location Type" +msgstr "" + +#: src/pages/stock/LocationDetail.tsx:154 msgid "Top level stock location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:155 +#: src/pages/stock/LocationDetail.tsx:165 msgid "Location Details" msgstr "" -#: src/pages/stock/LocationDetail.tsx:181 +#: src/pages/stock/LocationDetail.tsx:191 msgid "Default Parts" msgstr "" -#: src/pages/stock/LocationDetail.tsx:200 +#: src/pages/stock/LocationDetail.tsx:210 #: src/pages/stock/LocationDetail.tsx:328 -#: src/tables/stock/StockLocationTable.tsx:108 +#: src/tables/stock/StockLocationTable.tsx:100 msgid "Edit Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:221 +#: src/pages/stock/LocationDetail.tsx:231 #: src/pages/stock/LocationDetail.tsx:333 msgid "Delete Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:224 +#: src/pages/stock/LocationDetail.tsx:234 msgid "Items Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:225 +#: src/pages/stock/LocationDetail.tsx:235 msgid "Action for stock items in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:230 +#: src/pages/stock/LocationDetail.tsx:240 msgid "Child Locations Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:231 +#: src/pages/stock/LocationDetail.tsx:241 msgid "Action for child locations in this location" msgstr "" @@ -4499,11 +4596,11 @@ msgstr "" msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:100 +#: src/pages/stock/StockDetail.tsx:103 msgid "Base Part" msgstr "" -#: src/pages/stock/StockDetail.tsx:107 +#: src/pages/stock/StockDetail.tsx:110 msgid "Stock Status" msgstr "" @@ -4515,15 +4612,16 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:174 +#: src/pages/stock/StockDetail.tsx:177 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:190 +#: src/pages/stock/StockDetail.tsx:193 msgid "Consumed By" msgstr "" -#: src/pages/stock/StockDetail.tsx:199 +#: src/pages/stock/StockDetail.tsx:202 +#: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" msgstr "" @@ -4535,78 +4633,78 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:264 +#: src/pages/stock/StockDetail.tsx:267 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:270 +#: src/pages/stock/StockDetail.tsx:273 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:282 +#: src/pages/stock/StockDetail.tsx:290 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:296 +#: src/pages/stock/StockDetail.tsx:304 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:303 +#: src/pages/stock/StockDetail.tsx:311 msgid "Child Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:358 +#: src/pages/stock/StockDetail.tsx:366 msgid "Edit Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:385 +#: src/pages/stock/StockDetail.tsx:393 msgid "Delete Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:426 -msgid "Stock Operations" -msgstr "" - -#: src/pages/stock/StockDetail.tsx:431 -msgid "Count stock" -msgstr "" - #: src/pages/stock/StockDetail.tsx:433 #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:441 +#: src/pages/stock/StockDetail.tsx:440 +msgid "Stock Operations" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:445 +msgid "Count stock" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:455 #: src/tables/stock/StockItemTable.tsx:414 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:449 +#: src/pages/stock/StockDetail.tsx:463 #: src/tables/stock/StockItemTable.tsx:423 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:456 +#: src/pages/stock/StockDetail.tsx:470 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:457 +#: src/pages/stock/StockDetail.tsx:471 #: src/tables/stock/StockItemTable.tsx:443 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:469 +#: src/pages/stock/StockDetail.tsx:482 msgid "Stock Item Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:513 -msgid "Batch Code" -msgstr "" - -#: src/tables/ColumnRenderers.tsx:50 +#: src/tables/ColumnRenderers.tsx:42 msgid "No location set" msgstr "" -#: src/tables/ColumnRenderers.tsx:264 +#: src/tables/ColumnRenderers.tsx:207 +msgid "Shipment Date" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:227 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "" @@ -4616,20 +4714,32 @@ msgstr "" msgid "Select Columns" msgstr "" -#: src/tables/DownloadAction.tsx:11 +#: src/tables/DownloadAction.tsx:13 +#~ msgid "Excel" +#~ msgstr "Excel" + +#: src/tables/DownloadAction.tsx:21 +#~ msgid "Download selected data" +#~ msgstr "Download selected data" + +#: src/tables/DownloadAction.tsx:22 msgid "CSV" msgstr "" -#: src/tables/DownloadAction.tsx:12 +#: src/tables/DownloadAction.tsx:23 msgid "TSV" msgstr "" -#: src/tables/DownloadAction.tsx:13 -msgid "Excel" +#: src/tables/DownloadAction.tsx:24 +msgid "Excel (.xls)" msgstr "" -#: src/tables/DownloadAction.tsx:21 -msgid "Download selected data" +#: src/tables/DownloadAction.tsx:25 +msgid "Excel (.xlsx)" +msgstr "" + +#: src/tables/DownloadAction.tsx:39 +msgid "Download Data" msgstr "" #: src/tables/Filter.tsx:88 @@ -4663,102 +4773,102 @@ msgstr "" msgid "Remove filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:147 +#: src/tables/FilterSelectDrawer.tsx:136 msgid "Select filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:148 +#: src/tables/FilterSelectDrawer.tsx:137 msgid "Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:155 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:33 -#: src/tables/stock/StockItemTestResultTable.tsx:182 +#: src/tables/FilterSelectDrawer.tsx:144 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 +#: src/tables/stock/StockItemTestResultTable.tsx:180 msgid "Value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:156 +#: src/tables/FilterSelectDrawer.tsx:145 msgid "Select filter value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:196 +#: src/tables/FilterSelectDrawer.tsx:185 msgid "Table Filters" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:228 +#: src/tables/FilterSelectDrawer.tsx:217 msgid "Add Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:237 +#: src/tables/FilterSelectDrawer.tsx:226 msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:118 -#: src/tables/InvenTreeTable.tsx:384 -#: src/tables/InvenTreeTable.tsx:405 +#: src/tables/InvenTreeTable.tsx:119 +#: src/tables/InvenTreeTable.tsx:390 +#: src/tables/InvenTreeTable.tsx:411 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:416 +#: src/tables/InvenTreeTable.tsx:422 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:424 +#: src/tables/InvenTreeTable.tsx:430 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:427 +#: src/tables/InvenTreeTable.tsx:433 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:436 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:433 +#: src/tables/InvenTreeTable.tsx:439 msgid "Not found" msgstr "" -#: src/tables/InvenTreeTable.tsx:482 -#: src/tables/InvenTreeTable.tsx:604 +#: src/tables/InvenTreeTable.tsx:488 +#: src/tables/InvenTreeTable.tsx:611 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:486 +#: src/tables/InvenTreeTable.tsx:492 msgid "Are you sure you want to delete the selected records?" msgstr "" -#: src/tables/InvenTreeTable.tsx:488 +#: src/tables/InvenTreeTable.tsx:494 msgid "This action cannot be undone!" msgstr "" -#: src/tables/InvenTreeTable.tsx:516 +#: src/tables/InvenTreeTable.tsx:522 msgid "Deleted records" msgstr "" -#: src/tables/InvenTreeTable.tsx:517 +#: src/tables/InvenTreeTable.tsx:523 msgid "Records were deleted successfully" msgstr "" -#: src/tables/InvenTreeTable.tsx:526 +#: src/tables/InvenTreeTable.tsx:532 msgid "Failed to delete records" msgstr "" -#: src/tables/InvenTreeTable.tsx:585 -#: src/tables/InvenTreeTable.tsx:586 -msgid "Barcode actions" -msgstr "" - #: src/tables/InvenTreeTable.tsx:594 #: src/tables/InvenTreeTable.tsx:595 -msgid "Print actions" +#~ msgid "Print actions" +#~ msgstr "Print actions" + +#: src/tables/InvenTreeTable.tsx:601 +#: src/tables/InvenTreeTable.tsx:602 +msgid "Barcode actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:620 +#: src/tables/InvenTreeTable.tsx:630 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:638 +#: src/tables/InvenTreeTable.tsx:648 msgid "Table filters" msgstr "" @@ -4770,138 +4880,138 @@ msgstr "" msgid "Part Information" msgstr "" -#: src/tables/bom/BomTable.tsx:177 +#: src/tables/bom/BomTable.tsx:179 #: src/tables/part/PartTable.tsx:124 msgid "No stock" msgstr "" -#: src/tables/bom/BomTable.tsx:185 +#: src/tables/bom/BomTable.tsx:187 #: src/tables/build/BuildLineTable.tsx:104 #: src/tables/part/PartTable.tsx:115 msgid "External stock" msgstr "" -#: src/tables/bom/BomTable.tsx:193 +#: src/tables/bom/BomTable.tsx:195 #: src/tables/build/BuildLineTable.tsx:67 msgid "Includes substitute stock" msgstr "" -#: src/tables/bom/BomTable.tsx:202 +#: src/tables/bom/BomTable.tsx:204 #: src/tables/build/BuildLineTable.tsx:77 msgid "Includes variant stock" msgstr "" -#: src/tables/bom/BomTable.tsx:227 +#: src/tables/bom/BomTable.tsx:229 #: src/tables/part/PartTable.tsx:143 #: src/tables/stock/StockItemTable.tsx:205 msgid "Stock Information" msgstr "" -#: src/tables/bom/BomTable.tsx:239 +#: src/tables/bom/BomTable.tsx:241 #: src/tables/build/BuildLineTable.tsx:195 msgid "Consumable item" msgstr "" -#: src/tables/bom/BomTable.tsx:260 +#: src/tables/bom/BomTable.tsx:262 msgid "Show trackable items" msgstr "" -#: src/tables/bom/BomTable.tsx:265 +#: src/tables/bom/BomTable.tsx:267 msgid "Show asssmbled items" msgstr "" -#: src/tables/bom/BomTable.tsx:270 +#: src/tables/bom/BomTable.tsx:272 msgid "Show items with available stock" msgstr "" -#: src/tables/bom/BomTable.tsx:275 +#: src/tables/bom/BomTable.tsx:277 msgid "Show items on order" msgstr "" -#: src/tables/bom/BomTable.tsx:279 +#: src/tables/bom/BomTable.tsx:281 msgid "Validated" msgstr "" -#: src/tables/bom/BomTable.tsx:280 +#: src/tables/bom/BomTable.tsx:282 msgid "Show validated items" msgstr "" -#: src/tables/bom/BomTable.tsx:284 +#: src/tables/bom/BomTable.tsx:286 #: src/tables/bom/UsedInTable.tsx:63 msgid "Inherited" msgstr "" -#: src/tables/bom/BomTable.tsx:285 +#: src/tables/bom/BomTable.tsx:287 #: src/tables/bom/UsedInTable.tsx:64 msgid "Show inherited items" msgstr "" -#: src/tables/bom/BomTable.tsx:289 +#: src/tables/bom/BomTable.tsx:291 #: src/tables/bom/UsedInTable.tsx:68 #: src/tables/build/BuildLineTable.tsx:46 msgid "Optional" msgstr "" -#: src/tables/bom/BomTable.tsx:290 +#: src/tables/bom/BomTable.tsx:292 #: src/tables/bom/UsedInTable.tsx:69 msgid "Show optional items" msgstr "" -#: src/tables/bom/BomTable.tsx:294 +#: src/tables/bom/BomTable.tsx:296 #: src/tables/build/BuildLineTable.tsx:41 msgid "Consumable" msgstr "" -#: src/tables/bom/BomTable.tsx:295 +#: src/tables/bom/BomTable.tsx:297 msgid "Show consumable items" msgstr "" -#: src/tables/bom/BomTable.tsx:299 +#: src/tables/bom/BomTable.tsx:301 msgid "Has Pricing" msgstr "" -#: src/tables/bom/BomTable.tsx:300 -msgid "Show items with pricing" -msgstr "" - #: src/tables/bom/BomTable.tsx:301 #~ msgid "Create BOM Item" #~ msgstr "Create BOM Item" -#: src/tables/bom/BomTable.tsx:309 -#: src/tables/bom/BomTable.tsx:397 +#: src/tables/bom/BomTable.tsx:302 +msgid "Show items with pricing" +msgstr "" + +#: src/tables/bom/BomTable.tsx:311 +#: src/tables/bom/BomTable.tsx:399 msgid "Add BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:314 +#: src/tables/bom/BomTable.tsx:316 msgid "BOM item created" msgstr "" -#: src/tables/bom/BomTable.tsx:321 +#: src/tables/bom/BomTable.tsx:323 msgid "Edit BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:323 +#: src/tables/bom/BomTable.tsx:325 msgid "BOM item updated" msgstr "" -#: src/tables/bom/BomTable.tsx:330 -msgid "Delete BOM Item" -msgstr "" - -#: src/tables/bom/BomTable.tsx:331 -msgid "BOM item deleted" -msgstr "" - #: src/tables/bom/BomTable.tsx:331 #~ msgid "Edit Bom Item" #~ msgstr "Edit Bom Item" +#: src/tables/bom/BomTable.tsx:332 +msgid "Delete BOM Item" +msgstr "" + +#: src/tables/bom/BomTable.tsx:333 +msgid "BOM item deleted" +msgstr "" + #: src/tables/bom/BomTable.tsx:333 #~ msgid "Bom item updated" #~ msgstr "Bom item updated" -#: src/tables/bom/BomTable.tsx:341 +#: src/tables/bom/BomTable.tsx:343 msgid "View BOM" msgstr "" @@ -4917,11 +5027,11 @@ msgstr "" #~ msgid "Are you sure you want to remove this BOM item?" #~ msgstr "Are you sure you want to remove this BOM item?" -#: src/tables/bom/BomTable.tsx:352 +#: src/tables/bom/BomTable.tsx:354 msgid "Validate BOM line" msgstr "" -#: src/tables/bom/BomTable.tsx:360 +#: src/tables/bom/BomTable.tsx:362 msgid "Edit Substitutes" msgstr "" @@ -5038,11 +5148,11 @@ msgid "Filter by responsible owner" msgstr "" #: src/tables/build/BuildOutputTable.tsx:114 -#: src/tables/build/BuildOutputTable.tsx:150 +#: src/tables/build/BuildOutputTable.tsx:152 msgid "Add Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:155 +#: src/tables/build/BuildOutputTable.tsx:157 msgid "Complete selected outputs" msgstr "" @@ -5050,68 +5160,68 @@ msgstr "" #~ msgid "Delete build output" #~ msgstr "Delete build output" -#: src/tables/build/BuildOutputTable.tsx:165 +#: src/tables/build/BuildOutputTable.tsx:167 msgid "Scrap selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:175 +#: src/tables/build/BuildOutputTable.tsx:177 msgid "Cancel selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:191 +#: src/tables/build/BuildOutputTable.tsx:193 msgid "Allocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:192 +#: src/tables/build/BuildOutputTable.tsx:194 msgid "Allocate stock to build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:197 +#: src/tables/build/BuildOutputTable.tsx:199 msgid "Deallocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:198 +#: src/tables/build/BuildOutputTable.tsx:200 msgid "Deallocate stock from build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:203 +#: src/tables/build/BuildOutputTable.tsx:205 msgid "Complete" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:204 +#: src/tables/build/BuildOutputTable.tsx:206 msgid "Complete build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:213 +#: src/tables/build/BuildOutputTable.tsx:215 msgid "Scrap" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:214 +#: src/tables/build/BuildOutputTable.tsx:216 msgid "Scrap build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:224 +#: src/tables/build/BuildOutputTable.tsx:226 msgid "Cancel build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:251 +#: src/tables/build/BuildOutputTable.tsx:253 msgid "Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:264 +#: src/tables/build/BuildOutputTable.tsx:266 msgid "Batch" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:278 +#: src/tables/build/BuildOutputTable.tsx:280 msgid "Allocated Items" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:288 +#: src/tables/build/BuildOutputTable.tsx:290 msgid "Required Tests" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:317 -#: src/tables/stock/StockItemTestResultTable.tsx:146 +#: src/tables/build/BuildOutputTable.tsx:319 +#: src/tables/stock/StockItemTestResultTable.tsx:144 msgid "Test Results" msgstr "" @@ -5132,7 +5242,7 @@ msgstr "" msgid "Delete Address" msgstr "" -#: src/tables/company/AddressTable.tsx:145 +#: src/tables/company/AddressTable.tsx:144 msgid "Are you sure you want to delete this address?" msgstr "" @@ -5177,36 +5287,52 @@ msgstr "" msgid "Add contact" msgstr "" -#: src/tables/general/AttachmentTable.tsx:161 +#: src/tables/general/AttachmentTable.tsx:130 msgid "File uploaded" msgstr "" -#: src/tables/general/AttachmentTable.tsx:162 +#: src/tables/general/AttachmentTable.tsx:131 msgid "File {0} uploaded successfully" msgstr "" -#: src/tables/general/AttachmentTable.tsx:173 +#: src/tables/general/AttachmentTable.tsx:142 msgid "Upload Error" msgstr "" -#: src/tables/general/AttachmentTable.tsx:174 +#: src/tables/general/AttachmentTable.tsx:143 msgid "File could not be uploaded" msgstr "" #: src/tables/general/AttachmentTable.tsx:187 +msgid "Upload Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:197 +msgid "Edit Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:211 +msgid "Delete Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:221 msgid "Add attachment" msgstr "" -#: src/tables/general/AttachmentTable.tsx:207 +#: src/tables/general/AttachmentTable.tsx:232 msgid "Add external link" msgstr "" -#: src/tables/general/AttachmentTable.tsx:239 +#: src/tables/general/AttachmentTable.tsx:254 +#~ msgid "Upload attachment" +#~ msgstr "Upload attachment" + +#: src/tables/general/AttachmentTable.tsx:289 msgid "No attachments found" msgstr "" -#: src/tables/general/AttachmentTable.tsx:254 -msgid "Upload attachment" +#: src/tables/general/AttachmentTable.tsx:325 +msgid "Drag attachment file here to upload" msgstr "" #: src/tables/machine/MachineListTable.tsx:199 @@ -5332,8 +5458,8 @@ msgstr "" #: src/tables/machine/MachineTypeTable.tsx:135 #: src/tables/machine/MachineTypeTable.tsx:255 -#: src/tables/plugin/PluginListTable.tsx:215 -#: src/tables/plugin/PluginListTable.tsx:643 +#: src/tables/plugin/PluginListTable.tsx:180 +#: src/tables/plugin/PluginListTable.tsx:568 msgid "Builtin" msgstr "" @@ -5375,7 +5501,7 @@ msgid "Message" msgstr "" #: src/tables/part/ParametricPartTable.tsx:75 -#: src/tables/part/PartParameterTable.tsx:87 +#: src/tables/part/PartParameterTable.tsx:88 msgid "Internal Units" msgstr "" @@ -5388,29 +5514,29 @@ msgid "Add Part Parameter" msgstr "" #: src/tables/part/ParametricPartTable.tsx:147 -#: src/tables/part/PartParameterTable.tsx:128 -#: src/tables/part/PartParameterTable.tsx:150 +#: src/tables/part/PartParameterTable.tsx:121 +#: src/tables/part/PartParameterTable.tsx:144 msgid "Edit Part Parameter" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:64 +#: src/tables/part/PartCategoryTable.tsx:60 #: src/tables/part/PartTable.tsx:180 msgid "Include Subcategories" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:65 +#: src/tables/part/PartCategoryTable.tsx:61 msgid "Include subcategories in results" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:70 +#: src/tables/part/PartCategoryTable.tsx:66 msgid "Show structural categories" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:77 +#: src/tables/part/PartCategoryTable.tsx:73 msgid "New Part Category" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:106 +#: src/tables/part/PartCategoryTable.tsx:98 msgid "Add Part Category" msgstr "" @@ -5435,20 +5561,20 @@ msgstr "" #~ msgid "[{0}]" #~ msgstr "[{0}]" -#: src/tables/part/PartParameterTable.tsx:112 +#: src/tables/part/PartParameterTable.tsx:105 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:136 -#: src/tables/part/PartParameterTable.tsx:158 +#: src/tables/part/PartParameterTable.tsx:130 +#: src/tables/part/PartParameterTable.tsx:152 msgid "Delete Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:175 +#: src/tables/part/PartParameterTable.tsx:170 msgid "Add parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:196 +#: src/tables/part/PartParameterTable.tsx:191 #: src/tables/stock/StockItemTable.tsx:300 msgid "Include Variants" msgstr "" @@ -5482,15 +5608,15 @@ msgstr "" msgid "Add Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:97 +#: src/tables/part/PartParameterTemplateTable.tsx:100 msgid "Edit Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:105 +#: src/tables/part/PartParameterTemplateTable.tsx:111 msgid "Delete Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:135 +#: src/tables/part/PartParameterTemplateTable.tsx:141 msgid "Add parameter template" msgstr "" @@ -5588,7 +5714,7 @@ msgid "No Results" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:79 -#: src/tables/stock/StockItemTestResultTable.tsx:385 +#: src/tables/stock/StockItemTestResultTable.tsx:376 msgid "Required" msgstr "" @@ -5597,8 +5723,8 @@ msgid "Show required tests" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:84 -#: src/tables/settings/TemplateTable.tsx:213 -#: src/tables/settings/TemplateTable.tsx:275 +#: src/tables/settings/TemplateTable.tsx:160 +#: src/tables/settings/TemplateTable.tsx:270 msgid "Enabled" msgstr "" @@ -5639,26 +5765,30 @@ msgid "Show tests which have recorded results" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:126 -#: src/tables/part/PartTestTemplateTable.tsx:195 +#: src/tables/part/PartTestTemplateTable.tsx:201 msgid "Add Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:139 +#: src/tables/part/PartTestTemplateTable.tsx:142 msgid "Edit Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:147 +#: src/tables/part/PartTestTemplateTable.tsx:153 msgid "Delete Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:149 +#: src/tables/part/PartTestTemplateTable.tsx:155 msgid "This action cannot be reversed" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:151 +#: src/tables/part/PartTestTemplateTable.tsx:157 msgid "Any tests results associated with this template will be deleted" msgstr "" +#: src/tables/part/PartThumbTable.tsx:203 +msgid "Select" +msgstr "" + #: src/tables/part/PartVariantTable.tsx:16 msgid "Show active variants" msgstr "" @@ -5695,252 +5825,273 @@ msgstr "" msgid "Stage" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:113 -msgid "Plugin with id {id} not found" +#: src/tables/plugin/PluginListTable.tsx:95 +msgid "Plugin with key {pluginKey} not found" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:115 +#: src/tables/plugin/PluginListTable.tsx:97 msgid "An error occurred while fetching plugin details" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:134 -msgid "Plugin Actions" -msgstr "" +#: src/tables/plugin/PluginListTable.tsx:113 +#~ msgid "Plugin with id {id} not found" +#~ msgstr "Plugin with id {id} not found" -#: src/tables/plugin/PluginListTable.tsx:138 -#: src/tables/plugin/PluginListTable.tsx:141 -msgid "Edit plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:152 -#: src/tables/plugin/PluginListTable.tsx:153 -msgid "Reload" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:166 +#: src/tables/plugin/PluginListTable.tsx:122 msgid "Plugin information" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:177 +#: src/tables/plugin/PluginListTable.tsx:134 msgid "Author" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:198 +#: src/tables/plugin/PluginListTable.tsx:134 +#~ msgid "Plugin Actions" +#~ msgstr "Plugin Actions" + +#: src/tables/plugin/PluginListTable.tsx:138 +#: src/tables/plugin/PluginListTable.tsx:141 +#~ msgid "Edit plugin" +#~ msgstr "Edit plugin" + +#: src/tables/plugin/PluginListTable.tsx:152 +#: src/tables/plugin/PluginListTable.tsx:153 +#~ msgid "Reload" +#~ msgstr "Reload" + +#: src/tables/plugin/PluginListTable.tsx:154 +msgid "Plugin is not active" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:163 msgid "Package information" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:204 +#: src/tables/plugin/PluginListTable.tsx:169 msgid "Package Name" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:210 +#: src/tables/plugin/PluginListTable.tsx:175 msgid "Installation Path" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:220 +#: src/tables/plugin/PluginListTable.tsx:185 msgid "Package" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:231 +#: src/tables/plugin/PluginListTable.tsx:197 msgid "Plugin settings" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:248 +#: src/tables/plugin/PluginListTable.tsx:214 msgid "Plugin is active" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:254 +#: src/tables/plugin/PluginListTable.tsx:220 msgid "Plugin is inactive" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:261 +#: src/tables/plugin/PluginListTable.tsx:227 msgid "Plugin is not installed" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:287 +#: src/tables/plugin/PluginListTable.tsx:253 msgid "Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:312 +#: src/tables/plugin/PluginListTable.tsx:287 msgid "Description not available" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:338 +#: src/tables/plugin/PluginListTable.tsx:319 +msgid "Confirm plugin activation" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:320 +msgid "Confirm plugin deactivation" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:325 +msgid "The selected plugin will be activated" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:326 +msgid "The selected plugin will be deactivated" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:334 msgid "Activate Plugin" msgstr "" #: src/tables/plugin/PluginListTable.tsx:338 -msgid "Deactivate Plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:347 -msgid "Confirm plugin activation" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:348 -msgid "Confirm plugin deactivation" -msgstr "" +#~ msgid "Deactivate Plugin" +#~ msgstr "Deactivate Plugin" #: src/tables/plugin/PluginListTable.tsx:354 -msgid "The following plugin will be activated" -msgstr "" +#~ msgid "The following plugin will be activated" +#~ msgstr "The following plugin will be activated" #: src/tables/plugin/PluginListTable.tsx:355 -msgid "The following plugin will be deactivated" -msgstr "" +#~ msgid "The following plugin will be deactivated" +#~ msgstr "The following plugin will be deactivated" -#: src/tables/plugin/PluginListTable.tsx:366 -msgid "Confirm" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:376 -msgid "Activating plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:376 -msgid "Deactivating plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:392 -msgid "Plugin updated" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:394 -msgid "The plugin was activated" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:395 -msgid "The plugin was deactivated" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:403 -msgid "Error updating plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:423 +#: src/tables/plugin/PluginListTable.tsx:362 msgid "Deactivate" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:432 +#: src/tables/plugin/PluginListTable.tsx:366 +#~ msgid "Confirm" +#~ msgstr "Confirm" + +#: src/tables/plugin/PluginListTable.tsx:373 msgid "Activate" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:463 +#: src/tables/plugin/PluginListTable.tsx:376 +#~ msgid "Activating plugin" +#~ msgstr "Activating plugin" + +#: src/tables/plugin/PluginListTable.tsx:376 +#~ msgid "Deactivating plugin" +#~ msgstr "Deactivating plugin" + +#: src/tables/plugin/PluginListTable.tsx:392 +#~ msgid "Plugin updated" +#~ msgstr "Plugin updated" + +#: src/tables/plugin/PluginListTable.tsx:394 +#~ msgid "The plugin was activated" +#~ msgstr "The plugin was activated" + +#: src/tables/plugin/PluginListTable.tsx:395 +#~ msgid "The plugin was deactivated" +#~ msgstr "The plugin was deactivated" + +#: src/tables/plugin/PluginListTable.tsx:403 +#~ msgid "Error updating plugin" +#~ msgstr "Error updating plugin" + +#: src/tables/plugin/PluginListTable.tsx:406 msgid "Uninstall" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:495 +#: src/tables/plugin/PluginListTable.tsx:438 msgid "Install plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:508 +#: src/tables/plugin/PluginListTable.tsx:451 msgid "Install" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:512 +#: src/tables/plugin/PluginListTable.tsx:452 msgid "Plugin installed successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:525 +#: src/tables/plugin/PluginListTable.tsx:457 msgid "Uninstall Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:537 +#: src/tables/plugin/PluginListTable.tsx:469 msgid "Confirm plugin uninstall" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:540 +#: src/tables/plugin/PluginListTable.tsx:472 msgid "The selected plugin will be uninstalled." msgstr "" -#: src/tables/plugin/PluginListTable.tsx:541 +#: src/tables/plugin/PluginListTable.tsx:473 msgid "This action cannot be undone." msgstr "" -#: src/tables/plugin/PluginListTable.tsx:547 +#: src/tables/plugin/PluginListTable.tsx:477 msgid "Plugin uninstalled successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:560 +#: src/tables/plugin/PluginListTable.tsx:484 msgid "Delete Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:562 +#: src/tables/plugin/PluginListTable.tsx:485 msgid "Deleting this plugin configuration will remove all associated settings and data. Are you sure you want to delete this plugin?" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:574 +#: src/tables/plugin/PluginListTable.tsx:498 msgid "Plugins reloaded" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:575 +#: src/tables/plugin/PluginListTable.tsx:499 msgid "Plugins were reloaded successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:591 +#: src/tables/plugin/PluginListTable.tsx:515 msgid "Reload Plugins" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:600 +#: src/tables/plugin/PluginListTable.tsx:524 msgid "Install Plugin" msgstr "" +#: src/tables/plugin/PluginListTable.tsx:544 +msgid "Plugin Detail" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:573 +msgid "Sample" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:578 +#: src/tables/stock/StockItemTable.tsx:305 +msgid "Installed" +msgstr "" + #: src/tables/plugin/PluginListTable.tsx:615 #~ msgid "Plugin detail" #~ msgstr "Plugin detail" -#: src/tables/plugin/PluginListTable.tsx:619 -msgid "Plugin Detail" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:648 -msgid "Sample" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:653 -#: src/tables/stock/StockItemTable.tsx:305 -msgid "Installed" -msgstr "" - -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:57 -msgid "Edit Parameter" +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:59 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:108 +msgid "Add Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:60 -msgid "Parameter updated" -msgstr "" +#~ msgid "Parameter updated" +#~ msgstr "Parameter updated" -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:71 -msgid "Delete Parameter" +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:70 +msgid "Edit Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:73 -msgid "Parameter deleted" -msgstr "" +#~ msgid "Parameter deleted" +#~ msgstr "Parameter deleted" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:74 -msgid "Are you sure you want to delete this parameter?" +#~ msgid "Are you sure you want to delete this parameter?" +#~ msgstr "Are you sure you want to delete this parameter?" + +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:78 +msgid "Delete Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartTable.tsx:63 #~ msgid "Create Manufacturer Part" #~ msgstr "Create Manufacturer Part" -#: src/tables/purchasing/ManufacturerPartTable.tsx:100 -msgid "Manufacturer part updated" -msgstr "" - -#: src/tables/purchasing/ManufacturerPartTable.tsx:111 +#: src/tables/purchasing/ManufacturerPartTable.tsx:92 msgid "Delete Manufacturer Part" msgstr "" +#: src/tables/purchasing/ManufacturerPartTable.tsx:100 +#~ msgid "Manufacturer part updated" +#~ msgstr "Manufacturer part updated" + #: src/tables/purchasing/ManufacturerPartTable.tsx:112 -msgid "Manufacturer part deleted" -msgstr "" +#~ msgid "Manufacturer part deleted" +#~ msgstr "Manufacturer part deleted" #: src/tables/purchasing/ManufacturerPartTable.tsx:114 -msgid "Are you sure you want to remove this manufacturer part?" -msgstr "" +#~ msgid "Are you sure you want to remove this manufacturer part?" +#~ msgstr "Are you sure you want to remove this manufacturer part?" #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:86 msgid "Part Description" @@ -6087,18 +6238,22 @@ msgid "Error Information" msgstr "" #: src/tables/settings/ErrorTable.tsx:51 -msgid "Delete error report" +msgid "Delete Error Report" msgstr "" +#: src/tables/settings/ErrorTable.tsx:51 +#~ msgid "Delete error report" +#~ msgstr "Delete error report" + #: src/tables/settings/ErrorTable.tsx:53 -msgid "Error report deleted" -msgstr "" - -#: src/tables/settings/ErrorTable.tsx:54 msgid "Are you sure you want to delete this error report?" msgstr "" -#: src/tables/settings/ErrorTable.tsx:67 +#: src/tables/settings/ErrorTable.tsx:55 +msgid "Error report deleted" +msgstr "" + +#: src/tables/settings/ErrorTable.tsx:77 #: src/tables/settings/FailedTasksTable.tsx:57 msgid "Error Details" msgstr "" @@ -6115,7 +6270,7 @@ msgid "Task ID" msgstr "" #: src/tables/settings/FailedTasksTable.tsx:34 -#: src/tables/stock/StockItemTestResultTable.tsx:214 +#: src/tables/stock/StockItemTestResultTable.tsx:205 msgid "Started" msgstr "" @@ -6188,30 +6343,71 @@ msgstr "" msgid "Next Run" msgstr "" -#: src/tables/settings/TemplateTable.tsx:120 -msgid "{templateTypeTranslation} with id {id} not found" +#: src/tables/settings/TemplateTable.tsx:82 +msgid "Template not found" msgstr "" +#: src/tables/settings/TemplateTable.tsx:84 +msgid "An error occurred while fetching template details" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:120 +#~ msgid "{templateTypeTranslation} with id {id} not found" +#~ msgstr "{templateTypeTranslation} with id {id} not found" + #: src/tables/settings/TemplateTable.tsx:124 -msgid "An error occurred while fetching {templateTypeTranslation} details" -msgstr "" +#~ msgid "An error occurred while fetching {templateTypeTranslation} details" +#~ msgstr "An error occurred while fetching {templateTypeTranslation} details" #: src/tables/settings/TemplateTable.tsx:146 -msgid "actions" +#~ msgid "actions" +#~ msgstr "actions" + +#: src/tables/settings/TemplateTable.tsx:170 +msgid "Modify" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:171 +msgid "Modify template file" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:222 +#: src/tables/settings/TemplateTable.tsx:289 +msgid "Edit Template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:230 +msgid "Delete template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:236 +msgid "Add Template" msgstr "" #: src/tables/settings/TemplateTable.tsx:243 -msgid "Add new" -msgstr "" +#~ msgid "Add new" +#~ msgstr "Add new" #: src/tables/settings/TemplateTable.tsx:243 #~ msgid "Create new" #~ msgstr "Create new" -#: src/tables/settings/TemplateTable.tsx:276 +#: src/tables/settings/TemplateTable.tsx:249 +msgid "Add template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:271 msgid "Filter by enabled status" msgstr "" +#: src/tables/settings/TemplateTable.tsx:276 +msgid "Model Type" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:277 +msgid "Filter by target model type" +msgstr "" + #: src/tables/settings/UserTable.tsx:79 msgid "User with id {id} not found" msgstr "" @@ -6277,6 +6473,23 @@ msgstr "" msgid "Edit user" msgstr "" +#: src/tables/stock/LocationTypesTable.tsx:36 +#: src/tables/stock/LocationTypesTable.tsx:105 +msgid "Add Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:44 +msgid "Edit Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:52 +msgid "Delete Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:69 +msgid "Icon" +msgstr "" + #: src/tables/stock/StockItemTable.tsx:90 msgid "This stock item is in production" msgstr "" @@ -6338,7 +6551,7 @@ msgid "Show items which are available" msgstr "" #: src/tables/stock/StockItemTable.tsx:280 -#: src/tables/stock/StockLocationTable.tsx:37 +#: src/tables/stock/StockLocationTable.tsx:33 msgid "Include Sublocations" msgstr "" @@ -6467,123 +6680,135 @@ msgstr "" msgid "Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:153 +#: src/tables/stock/StockItemTestResultTable.tsx:151 msgid "Test result for installed stock item" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:164 +#: src/tables/stock/StockItemTestResultTable.tsx:162 msgid "Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:170 +#: src/tables/stock/StockItemTestResultTable.tsx:168 msgid "No Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:186 +#: src/tables/stock/StockItemTestResultTable.tsx:184 msgid "Attachment" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:209 +#: src/tables/stock/StockItemTestResultTable.tsx:200 msgid "Test station" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:229 +#: src/tables/stock/StockItemTestResultTable.tsx:220 msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:277 -#: src/tables/stock/StockItemTestResultTable.tsx:349 -#: src/tables/stock/StockItemTestResultTable.tsx:404 +#: src/tables/stock/StockItemTestResultTable.tsx:268 +#: src/tables/stock/StockItemTestResultTable.tsx:340 +#: src/tables/stock/StockItemTestResultTable.tsx:395 msgid "Add Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:279 +#: src/tables/stock/StockItemTestResultTable.tsx:270 msgid "Test result added" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:288 -#: src/tables/stock/StockItemTestResultTable.tsx:359 +#: src/tables/stock/StockItemTestResultTable.tsx:279 +#: src/tables/stock/StockItemTestResultTable.tsx:350 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:290 +#: src/tables/stock/StockItemTestResultTable.tsx:281 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:296 -#: src/tables/stock/StockItemTestResultTable.tsx:368 +#: src/tables/stock/StockItemTestResultTable.tsx:287 +#: src/tables/stock/StockItemTestResultTable.tsx:359 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:298 +#: src/tables/stock/StockItemTestResultTable.tsx:289 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:312 +#: src/tables/stock/StockItemTestResultTable.tsx:303 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:313 +#: src/tables/stock/StockItemTestResultTable.tsx:304 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:320 +#: src/tables/stock/StockItemTestResultTable.tsx:311 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:337 +#: src/tables/stock/StockItemTestResultTable.tsx:328 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:386 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:390 +#: src/tables/stock/StockItemTestResultTable.tsx:381 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:391 +#: src/tables/stock/StockItemTestResultTable.tsx:382 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:395 +#: src/tables/stock/StockItemTestResultTable.tsx:386 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:396 +#: src/tables/stock/StockItemTestResultTable.tsx:387 msgid "Show only passed tests" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:38 +#: src/tables/stock/StockLocationTable.tsx:34 msgid "Include sublocations in results" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:42 +#: src/tables/stock/StockLocationTable.tsx:38 msgid "structural" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:43 +#: src/tables/stock/StockLocationTable.tsx:39 msgid "Show structural locations" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:47 +#: src/tables/stock/StockLocationTable.tsx:43 msgid "external" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:48 +#: src/tables/stock/StockLocationTable.tsx:44 msgid "Show external locations" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:52 +#: src/tables/stock/StockLocationTable.tsx:48 msgid "Has location type" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:89 -#: src/tables/stock/StockLocationTable.tsx:118 +#: src/tables/stock/StockLocationTable.tsx:85 +#: src/tables/stock/StockLocationTable.tsx:110 msgid "Add Stock Location" msgstr "" +#: src/tables/stock/StockTrackingTable.tsx:64 +msgid "Added" +msgstr "" + +#: src/tables/stock/StockTrackingTable.tsx:69 +msgid "Removed" +msgstr "" + +#: src/tables/stock/StockTrackingTable.tsx:198 +msgid "No user information" +msgstr "" + #: src/views/MobileAppView.tsx:22 msgid "Mobile viewport detected" msgstr "" diff --git a/src/frontend/src/locales/sr/messages.po b/src/frontend/src/locales/sr/messages.po index e1b72cf31e..6dd617e58f 100644 --- a/src/frontend/src/locales/sr/messages.po +++ b/src/frontend/src/locales/sr/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: sr\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-05-13 02:48\n" +"PO-Revision-Date: 2024-05-23 11:39\n" "Last-Translator: \n" "Language-Team: Serbian (Latin)\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" @@ -30,10 +30,67 @@ msgstr "" msgid "Title" msgstr "Naslov" +#: src/components/buttons/AdminButton.tsx:83 +msgid "Open in admin interface" +msgstr "" + #: src/components/buttons/CopyButton.tsx:18 msgid "Copy to clipboard" msgstr "Kopiraj na tablu" +#: src/components/buttons/PrintingActions.tsx:95 +msgid "Print Label" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:101 +msgid "Label printing completed successfully" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:106 +#: src/components/buttons/PrintingActions.tsx:143 +#: src/components/forms/ApiForm.tsx:504 +#: src/components/forms/fields/ApiFormField.tsx:295 +#: src/components/modals/LicenseModal.tsx:75 +#: src/components/nav/SearchDrawer.tsx:413 +#: src/components/widgets/MarkdownEditor.tsx:107 +#: src/components/widgets/MarkdownEditor.tsx:153 +#: src/pages/ErrorPage.tsx:12 +#: src/pages/ErrorPage.tsx:25 +#: src/pages/part/PartPricingPanel.tsx:71 +#: src/tables/InvenTreeTable.tsx:451 +#: src/tables/InvenTreeTable.tsx:531 +#: src/tables/stock/StockItemTestResultTable.tsx:310 +msgid "Error" +msgstr "Grеška" + +#: src/components/buttons/PrintingActions.tsx:107 +msgid "The label could not be generated" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:122 +msgid "Print Report" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:138 +msgid "Report printing completed successfully" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:144 +msgid "The report could not be generated" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:171 +msgid "Printing Actions" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:176 +msgid "Print Labels" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:182 +msgid "Print Reports" +msgstr "" + #: src/components/buttons/ScanButton.tsx:15 msgid "Scan QR code" msgstr "Skeniraj QR kod" @@ -64,15 +121,15 @@ msgstr "Da" msgid "No" msgstr "Ne" -#: src/components/details/Details.tsx:302 +#: src/components/details/Details.tsx:303 msgid "No name defined" msgstr "" -#: src/components/details/Details.tsx:339 +#: src/components/details/Details.tsx:340 msgid "Copied" msgstr "" -#: src/components/details/Details.tsx:339 +#: src/components/details/Details.tsx:340 msgid "Copy" msgstr "" @@ -85,24 +142,23 @@ msgid "Remove the associated image from this item?" msgstr "" #: src/components/details/DetailsImage.tsx:71 -#: src/forms/StockForms.tsx:442 +#: src/forms/StockForms.tsx:483 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:448 +#: src/pages/stock/StockDetail.tsx:462 msgid "Remove" msgstr "" #: src/components/details/DetailsImage.tsx:71 -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:163 -#: src/components/items/ActionDropdown.tsx:222 -#: src/components/items/ActionDropdown.tsx:223 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 +#: src/components/items/ActionDropdown.tsx:229 +#: src/components/items/ActionDropdown.tsx:230 #: src/contexts/ThemeContext.tsx:43 #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:40 -#: src/tables/FilterSelectDrawer.tsx:218 -#: src/tables/InvenTreeTable.tsx:493 -#: src/tables/build/BuildOutputTable.tsx:223 -#: src/tables/plugin/PluginListTable.tsx:365 +#: src/tables/FilterSelectDrawer.tsx:207 +#: src/tables/InvenTreeTable.tsx:499 +#: src/tables/build/BuildOutputTable.tsx:225 msgid "Cancel" msgstr "" @@ -119,7 +175,7 @@ msgid "Clear" msgstr "" #: src/components/details/DetailsImage.tsx:227 -#: src/components/forms/ApiForm.tsx:554 +#: src/components/forms/ApiForm.tsx:571 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:56 msgid "Submit" @@ -150,9 +206,10 @@ msgid "Part is not active" msgstr "" #: src/components/details/PartIcons.tsx:34 -#: src/pages/company/CompanyDetail.tsx:308 -#: src/pages/company/SupplierPartDetail.tsx:304 -#: src/pages/part/PartDetail.tsx:684 +#: src/components/render/Plugin.tsx:17 +#: src/pages/company/CompanyDetail.tsx:310 +#: src/pages/company/SupplierPartDetail.tsx:305 +#: src/pages/part/PartDetail.tsx:685 msgid "Inactive" msgstr "" @@ -196,10 +253,10 @@ msgid "Code" msgstr "" #: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:44 -msgid "Failed to parse error response from server." -msgstr "" +#~ msgid "Failed to parse error response from server." +#~ msgstr "Failed to parse error response from server." -#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:82 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:81 msgid "Preview not available, click \"Reload Preview\"." msgstr "" @@ -207,98 +264,99 @@ msgstr "" msgid "PDF Preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:113 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:104 msgid "Error loading template" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:125 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:116 msgid "Error saving template" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 -msgid "Save & Reload preview?" +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:146 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:270 +msgid "Save & Reload Preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:156 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 msgid "Are you sure you want to Save & Reload the preview?" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 +#~ msgid "Save & Reload preview?" +#~ msgstr "Save & Reload preview?" + +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:153 msgid "To render the preview the current template needs to be replaced on the server with your modifications which may break the label if it is under active use. Do you want to proceed?" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:162 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:157 msgid "Save & Reload" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:191 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:189 msgid "Preview updated" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:192 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:190 msgid "The preview has been updated successfully." msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:255 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:262 msgid "Reload preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:256 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:263 msgid "Use the currently stored template from the server" msgstr "" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:263 -msgid "Save & Reload preview" -msgstr "" +#~ msgid "Save & Reload preview" +#~ msgstr "Save & Reload preview" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:264 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:271 msgid "Save the current template and reload the preview" msgstr "" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:322 -#: src/tables/part/PartThumbTable.tsx:203 -msgid "Select" +#~ msgid "to preview" +#~ msgstr "to preview" + +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:329 +msgid "Select instance to preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:322 -msgid "to preview" -msgstr "" - -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:366 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:373 msgid "Error rendering template" msgstr "" -#: src/components/forms/ApiForm.tsx:143 +#: src/components/forms/ApiForm.tsx:148 #: src/functions/forms.tsx:259 msgid "Form Error" msgstr "Greška Obrasca" -#: src/components/forms/ApiForm.tsx:411 +#: src/components/forms/ApiForm.tsx:428 #: src/components/widgets/MarkdownEditor.tsx:145 msgid "Success" msgstr "Uspešno" #: src/components/forms/ApiForm.tsx:487 -msgid "Form Errors Exist" -msgstr "Postoji greška obrasca" +#~ msgid "Form Errors Exist" +#~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:592 -#: src/tables/plugin/PluginListTable.tsx:445 +#: src/components/forms/ApiForm.tsx:609 +#: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "Obnovi" -#: src/components/forms/ApiForm.tsx:612 -#: src/components/items/ActionDropdown.tsx:203 +#: src/components/forms/ApiForm.tsx:629 +#: src/components/items/ActionDropdown.tsx:210 #: src/functions/forms.tsx:299 #: src/hooks/UseForm.tsx:122 #: src/pages/Index/Scan.tsx:343 #: src/pages/Notifications.tsx:123 -#: src/tables/InvenTreeTable.tsx:492 +#: src/tables/InvenTreeTable.tsx:498 #: src/tables/RowActions.tsx:71 -#: src/tables/plugin/PluginListTable.tsx:477 -#: src/tables/settings/TemplateTable.tsx:105 -#: src/tables/settings/TemplateTable.tsx:154 -#: src/tables/settings/TemplateTable.tsx:236 +#: src/tables/plugin/PluginListTable.tsx:420 msgid "Delete" msgstr "Obriši" @@ -468,18 +526,19 @@ msgstr "Host" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 -#: src/pages/part/CategoryDetail.tsx:77 -#: src/pages/part/PartDetail.tsx:125 -#: src/pages/stock/LocationDetail.tsx:83 +#: src/pages/part/CategoryDetail.tsx:78 +#: src/pages/part/PartDetail.tsx:126 +#: src/pages/stock/LocationDetail.tsx:85 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 #: src/tables/machine/MachineTypeTable.tsx:216 #: src/tables/machine/MachineTypeTable.tsx:319 #: src/tables/plugin/PluginErrorTable.tsx:33 -#: src/tables/plugin/PluginListTable.tsx:169 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:27 +#: src/tables/plugin/PluginListTable.tsx:126 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:32 #: src/tables/settings/GroupTable.tsx:103 #: src/tables/settings/PendingTasksTable.tsx:26 +#: src/tables/stock/LocationTypesTable.tsx:60 msgid "Name" msgstr "Ime" @@ -520,35 +579,20 @@ msgstr "Naziv: {0}" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "Status: <0>worker ({0}), <1>plugins{1}" -#: src/components/forms/fields/ApiFormField.tsx:276 -#: src/components/modals/LicenseModal.tsx:75 -#: src/components/nav/SearchDrawer.tsx:413 -#: src/components/widgets/MarkdownEditor.tsx:107 -#: src/components/widgets/MarkdownEditor.tsx:153 -#: src/pages/ErrorPage.tsx:12 -#: src/pages/ErrorPage.tsx:25 -#: src/pages/part/PartPricingPanel.tsx:71 -#: src/tables/InvenTreeTable.tsx:445 -#: src/tables/InvenTreeTable.tsx:525 -#: src/tables/plugin/PluginListTable.tsx:402 -#: src/tables/stock/StockItemTestResultTable.tsx:319 -msgid "Error" -msgstr "Grеška" - -#: src/components/forms/fields/RelatedModelField.tsx:305 +#: src/components/forms/fields/RelatedModelField.tsx:315 #: src/pages/Index/Settings/UserSettings.tsx:64 #: src/tables/Search.tsx:23 msgid "Search" msgstr "Pretraga" -#: src/components/forms/fields/RelatedModelField.tsx:306 +#: src/components/forms/fields/RelatedModelField.tsx:316 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:120 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "Učitavanje" -#: src/components/forms/fields/RelatedModelField.tsx:308 +#: src/components/forms/fields/RelatedModelField.tsx:318 msgid "No results found" msgstr "Nema pronađenih rezultata" @@ -569,54 +613,51 @@ msgstr "" msgid "Thumbnail" msgstr "Sličice" -#: src/components/items/ActionDropdown.tsx:112 -#: src/pages/build/BuildDetail.tsx:354 +#: src/components/items/ActionDropdown.tsx:119 +#: src/pages/build/BuildDetail.tsx:360 msgid "Barcode Actions" msgstr "Akcije Barkoda" -#: src/components/items/ActionDropdown.tsx:129 +#: src/components/items/ActionDropdown.tsx:136 msgid "View" msgstr "Vid" -#: src/components/items/ActionDropdown.tsx:130 +#: src/components/items/ActionDropdown.tsx:137 msgid "View barcode" msgstr "Pogledaj barkod" -#: src/components/items/ActionDropdown.tsx:146 +#: src/components/items/ActionDropdown.tsx:153 msgid "Link Barcode" msgstr "Link Barkoda" -#: src/components/items/ActionDropdown.tsx:147 +#: src/components/items/ActionDropdown.tsx:154 msgid "Link custom barcode" msgstr "Linkuj prilagođeni barkod" -#: src/components/items/ActionDropdown.tsx:163 -#: src/forms/PurchaseOrderForms.tsx:375 +#: src/components/items/ActionDropdown.tsx:170 +#: src/forms/PurchaseOrderForms.tsx:389 msgid "Unlink Barcode" msgstr "Prekini vezu Barkoda" -#: src/components/items/ActionDropdown.tsx:164 +#: src/components/items/ActionDropdown.tsx:171 msgid "Unlink custom barcode" msgstr "Prekini link prilagođenog barkoda" -#: src/components/items/ActionDropdown.tsx:182 +#: src/components/items/ActionDropdown.tsx:189 #: src/tables/RowActions.tsx:51 -#: src/tables/settings/TemplateTable.tsx:87 -#: src/tables/settings/TemplateTable.tsx:150 -#: src/tables/settings/TemplateTable.tsx:287 msgid "Edit" msgstr "Izmeni" -#: src/components/items/ActionDropdown.tsx:204 +#: src/components/items/ActionDropdown.tsx:211 msgid "Delete item" msgstr "Obriši stavku" -#: src/components/items/ActionDropdown.tsx:241 +#: src/components/items/ActionDropdown.tsx:248 #: src/tables/RowActions.tsx:31 msgid "Duplicate" msgstr "Dupliciraj" -#: src/components/items/ActionDropdown.tsx:242 +#: src/components/items/ActionDropdown.tsx:249 msgid "Duplicate item" msgstr "Dupliciraj stavku" @@ -625,7 +666,7 @@ msgid "Read More" msgstr "Saznaj više" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:437 +#: src/tables/InvenTreeTable.tsx:443 msgid "Unknown error" msgstr "Nepoznata greška" @@ -785,27 +826,27 @@ msgstr "" #: src/components/modals/QrCodeModal.tsx:154 #: src/defaults/menuItems.tsx:21 -#: src/pages/Index/Scan.tsx:747 +#: src/pages/Index/Scan.tsx:746 msgid "Scanning" msgstr "" #: src/components/modals/QrCodeModal.tsx:154 -#: src/pages/Index/Scan.tsx:747 +#: src/pages/Index/Scan.tsx:746 msgid "Not scanning" msgstr "" #: src/components/modals/QrCodeModal.tsx:159 -#: src/pages/Index/Scan.tsx:753 +#: src/pages/Index/Scan.tsx:752 msgid "Select Camera" msgstr "" #: src/components/modals/QrCodeModal.tsx:169 -#: src/pages/Index/Scan.tsx:738 +#: src/pages/Index/Scan.tsx:737 msgid "Start scanning" msgstr "" #: src/components/modals/QrCodeModal.tsx:176 -#: src/pages/Index/Scan.tsx:730 +#: src/pages/Index/Scan.tsx:729 msgid "Stop scanning" msgstr "" @@ -891,8 +932,8 @@ msgid "Email settings not configured" msgstr "" #: src/components/modals/ServerInfoModal.tsx:121 -#: src/tables/plugin/PluginListTable.tsx:187 -#: src/tables/plugin/PluginListTable.tsx:319 +#: src/tables/plugin/PluginListTable.tsx:144 +#: src/tables/plugin/PluginListTable.tsx:294 msgid "Version" msgstr "" @@ -926,13 +967,13 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:293 +#: src/pages/Index/Settings/SystemSettings.tsx:294 msgid "System Settings" msgstr "" #: src/components/nav/MainMenu.tsx:67 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:172 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 msgid "Admin Center" msgstr "" @@ -975,7 +1016,7 @@ msgid "Pages" msgstr "" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:133 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:153 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "" @@ -1013,9 +1054,9 @@ msgid "Mark as read" msgstr "" #: src/components/nav/PartCategoryTree.tsx:158 -#: src/components/render/ModelType.tsx:60 +#: src/components/render/ModelType.tsx:64 #: src/pages/Index/Settings/SystemSettings.tsx:162 -#: src/pages/part/CategoryDetail.tsx:248 +#: src/pages/part/CategoryDetail.tsx:249 msgid "Part Categories" msgstr "" @@ -1052,142 +1093,147 @@ msgid "No results available for search query" msgstr "" #: src/components/nav/StockLocationTree.tsx:93 -#: src/components/render/ModelType.tsx:76 -#: src/pages/stock/LocationDetail.tsx:175 +#: src/components/render/ModelType.tsx:82 +#: src/pages/stock/LocationDetail.tsx:185 msgid "Stock Locations" msgstr "" -#: src/components/render/Instance.tsx:137 +#: src/components/render/Instance.tsx:166 msgid "Unknown model: {model}" msgstr "" -#: src/components/render/ModelType.tsx:21 -#: src/forms/BuildForms.tsx:184 -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49 +#: src/components/render/ModelType.tsx:22 +#: src/forms/BuildForms.tsx:201 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:83 #: src/pages/part/PartDetail.tsx:828 #: src/tables/part/RelatedPartTable.tsx:45 +#: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" msgstr "" -#: src/components/render/ModelType.tsx:22 +#: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 #: src/pages/Index/Settings/SystemSettings.tsx:167 -#: src/pages/part/CategoryDetail.tsx:109 -#: src/pages/part/CategoryDetail.tsx:234 -#: src/pages/part/CategoryDetail.tsx:264 -#: src/pages/part/PartDetail.tsx:638 +#: src/pages/part/CategoryDetail.tsx:110 +#: src/pages/part/CategoryDetail.tsx:235 +#: src/pages/part/CategoryDetail.tsx:265 +#: src/pages/part/PartDetail.tsx:639 msgid "Parts" msgstr "" -#: src/components/render/ModelType.tsx:29 +#: src/components/render/ModelType.tsx:31 msgid "Part Parameter Template" msgstr "" -#: src/components/render/ModelType.tsx:30 +#: src/components/render/ModelType.tsx:32 msgid "Part Parameter Templates" msgstr "" -#: src/components/render/ModelType.tsx:36 +#: src/components/render/ModelType.tsx:38 msgid "Part Test Template" msgstr "" -#: src/components/render/ModelType.tsx:37 +#: src/components/render/ModelType.tsx:39 msgid "Part Test Templates" msgstr "" -#: src/components/render/ModelType.tsx:43 -#: src/pages/company/SupplierPartDetail.tsx:189 -#: src/pages/company/SupplierPartDetail.tsx:317 -#: src/pages/stock/StockDetail.tsx:159 +#: src/components/render/ModelType.tsx:45 +#: src/pages/company/SupplierPartDetail.tsx:190 +#: src/pages/company/SupplierPartDetail.tsx:318 +#: src/pages/stock/StockDetail.tsx:162 #: src/tables/purchasing/SupplierPartTable.tsx:68 msgid "Supplier Part" msgstr "" -#: src/components/render/ModelType.tsx:44 +#: src/components/render/ModelType.tsx:46 msgid "Supplier Parts" msgstr "" -#: src/components/render/ModelType.tsx:51 -#: src/pages/company/ManufacturerPartDetail.tsx:124 +#: src/components/render/ModelType.tsx:54 +#: src/pages/company/ManufacturerPartDetail.tsx:125 msgid "Manufacturer Part" msgstr "" -#: src/components/render/ModelType.tsx:52 +#: src/components/render/ModelType.tsx:55 msgid "Manufacturer Parts" msgstr "" -#: src/components/render/ModelType.tsx:59 -#: src/pages/part/CategoryDetail.tsx:287 +#: src/components/render/ModelType.tsx:63 +#: src/pages/part/CategoryDetail.tsx:288 msgid "Part Category" msgstr "" -#: src/components/render/ModelType.tsx:67 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67 -#: src/pages/stock/StockDetail.tsx:535 +#: src/components/render/ModelType.tsx:72 +#: src/pages/stock/StockDetail.tsx:548 +#: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" msgstr "" -#: src/components/render/ModelType.tsx:68 -#: src/pages/company/CompanyDetail.tsx:197 -#: src/pages/stock/LocationDetail.tsx:116 -#: src/pages/stock/LocationDetail.tsx:161 +#: src/components/render/ModelType.tsx:73 +#: src/pages/company/CompanyDetail.tsx:199 +#: src/pages/stock/LocationDetail.tsx:118 +#: src/pages/stock/LocationDetail.tsx:171 #: src/pages/stock/LocationDetail.tsx:365 msgid "Stock Items" msgstr "" -#: src/components/render/ModelType.tsx:75 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:154 +#: src/components/render/ModelType.tsx:81 msgid "Stock Location" msgstr "" -#: src/components/render/ModelType.tsx:83 +#: src/components/render/ModelType.tsx:90 +msgid "Stock Location Type" +msgstr "" + +#: src/components/render/ModelType.tsx:91 +msgid "Stock Location Types" +msgstr "" + +#: src/components/render/ModelType.tsx:95 msgid "Stock History" msgstr "" -#: src/components/render/ModelType.tsx:84 +#: src/components/render/ModelType.tsx:96 msgid "Stock Histories" msgstr "" -#: src/components/render/ModelType.tsx:88 +#: src/components/render/ModelType.tsx:100 #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:43 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:126 msgid "Build" msgstr "" -#: src/components/render/ModelType.tsx:89 +#: src/components/render/ModelType.tsx:101 msgid "Builds" msgstr "" -#: src/components/render/ModelType.tsx:96 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:76 +#: src/components/render/ModelType.tsx:109 msgid "Build Line" msgstr "" -#: src/components/render/ModelType.tsx:97 +#: src/components/render/ModelType.tsx:110 msgid "Build Lines" msgstr "" -#: src/components/render/ModelType.tsx:104 -#: src/pages/company/CompanyDetail.tsx:321 +#: src/components/render/ModelType.tsx:117 +#: src/pages/company/CompanyDetail.tsx:323 msgid "Company" msgstr "" -#: src/components/render/ModelType.tsx:105 +#: src/components/render/ModelType.tsx:118 msgid "Companies" msgstr "" -#: src/components/render/ModelType.tsx:112 +#: src/components/render/ModelType.tsx:126 #: src/tables/TableHoverCard.tsx:58 #: src/tables/build/BuildOrderTable.tsx:131 #: src/tables/purchasing/PurchaseOrderTable.tsx:64 @@ -1196,170 +1242,199 @@ msgstr "" msgid "Project Code" msgstr "" -#: src/components/render/ModelType.tsx:113 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:97 +#: src/components/render/ModelType.tsx:127 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:105 msgid "Project Codes" msgstr "" -#: src/components/render/ModelType.tsx:119 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99 +#: src/components/render/ModelType.tsx:133 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:355 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:362 +#: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" msgstr "" -#: src/components/render/ModelType.tsx:120 -#: src/pages/Index/Settings/SystemSettings.tsx:242 -#: src/pages/company/CompanyDetail.tsx:190 -#: src/pages/company/SupplierPartDetail.tsx:223 -#: src/pages/part/PartDetail.tsx:571 +#: src/components/render/ModelType.tsx:134 +#: src/pages/Index/Settings/SystemSettings.tsx:243 +#: src/pages/company/CompanyDetail.tsx:192 +#: src/pages/company/SupplierPartDetail.tsx:224 +#: src/pages/part/PartDetail.tsx:572 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" -#: src/components/render/ModelType.tsx:127 +#: src/components/render/ModelType.tsx:142 msgid "Purchase Order Line" msgstr "" -#: src/components/render/ModelType.tsx:128 +#: src/components/render/ModelType.tsx:143 msgid "Purchase Order Lines" msgstr "" -#: src/components/render/ModelType.tsx:132 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:108 +#: src/components/render/ModelType.tsx:147 #: src/pages/build/BuildDetail.tsx:131 -#: src/pages/sales/SalesOrderDetail.tsx:340 -#: src/pages/stock/StockDetail.tsx:207 +#: src/pages/sales/SalesOrderDetail.tsx:347 +#: src/pages/stock/StockDetail.tsx:210 +#: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" msgstr "" -#: src/components/render/ModelType.tsx:133 -#: src/pages/Index/Settings/SystemSettings.tsx:257 -#: src/pages/company/CompanyDetail.tsx:210 -#: src/pages/part/PartDetail.tsx:577 +#: src/components/render/ModelType.tsx:148 +#: src/pages/Index/Settings/SystemSettings.tsx:258 +#: src/pages/company/CompanyDetail.tsx:212 +#: src/pages/part/PartDetail.tsx:578 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" -#: src/components/render/ModelType.tsx:140 +#: src/components/render/ModelType.tsx:156 msgid "Sales Order Shipment" msgstr "" -#: src/components/render/ModelType.tsx:141 +#: src/components/render/ModelType.tsx:157 msgid "Sales Order Shipments" msgstr "" -#: src/components/render/ModelType.tsx:147 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:117 -#: src/pages/sales/ReturnOrderDetail.tsx:318 +#: src/components/render/ModelType.tsx:163 +#: src/pages/sales/ReturnOrderDetail.tsx:325 +#: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "" -#: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:272 -#: src/pages/company/CompanyDetail.tsx:217 +#: src/components/render/ModelType.tsx:164 +#: src/pages/Index/Settings/SystemSettings.tsx:273 +#: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" msgstr "" -#: src/components/render/ModelType.tsx:155 +#: src/components/render/ModelType.tsx:172 #: src/tables/company/AddressTable.tsx:47 msgid "Address" msgstr "" -#: src/components/render/ModelType.tsx:156 -#: src/pages/company/CompanyDetail.tsx:247 +#: src/components/render/ModelType.tsx:173 +#: src/pages/company/CompanyDetail.tsx:249 msgid "Addresses" msgstr "" -#: src/components/render/ModelType.tsx:162 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:189 -#: src/pages/sales/ReturnOrderDetail.tsx:157 -#: src/pages/sales/SalesOrderDetail.tsx:161 +#: src/components/render/ModelType.tsx:179 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:191 +#: src/pages/sales/ReturnOrderDetail.tsx:159 +#: src/pages/sales/SalesOrderDetail.tsx:163 msgid "Contact" msgstr "" -#: src/components/render/ModelType.tsx:163 -#: src/pages/company/CompanyDetail.tsx:241 +#: src/components/render/ModelType.tsx:180 +#: src/pages/company/CompanyDetail.tsx:243 msgid "Contacts" msgstr "" -#: src/components/render/ModelType.tsx:169 +#: src/components/render/ModelType.tsx:186 msgid "Owner" msgstr "" -#: src/components/render/ModelType.tsx:170 +#: src/components/render/ModelType.tsx:187 msgid "Owners" msgstr "" -#: src/components/render/ModelType.tsx:176 +#: src/components/render/ModelType.tsx:193 +#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "" -#: src/components/render/ModelType.tsx:177 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:73 +#: src/components/render/ModelType.tsx:194 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:81 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "" -#: src/components/render/Order.tsx:87 +#: src/components/render/ModelType.tsx:200 +msgid "Label Template" +msgstr "" + +#: src/components/render/ModelType.tsx:201 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:135 +msgid "Label Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:207 +msgid "Report Template" +msgstr "" + +#: src/components/render/ModelType.tsx:208 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:141 +msgid "Report Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:214 +msgid "Plugin Configuration" +msgstr "" + +#: src/components/render/ModelType.tsx:215 +msgid "Plugin Configurations" +msgstr "" + +#: src/components/render/Order.tsx:104 msgid "Shipment" msgstr "" -#: src/components/render/Part.tsx:12 +#: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:198 -#: src/pages/part/PartDetail.tsx:491 +#: src/pages/Index/Settings/SystemSettings.tsx:199 +#: src/pages/part/PartDetail.tsx:492 #: src/pages/stock/LocationDetail.tsx:344 -#: src/pages/stock/StockDetail.tsx:344 +#: src/pages/stock/StockDetail.tsx:352 #: src/tables/stock/StockItemTable.tsx:57 msgid "Stock" msgstr "" -#: src/components/render/Stock.tsx:26 -#: src/pages/stock/StockDetail.tsx:142 -#: src/pages/stock/StockDetail.tsx:501 +#: src/components/render/Stock.tsx:52 +#: src/pages/stock/StockDetail.tsx:145 +#: src/pages/stock/StockDetail.tsx:514 msgid "Serial Number" msgstr "" -#: src/components/render/Stock.tsx:28 -#: src/forms/BuildForms.tsx:189 +#: src/components/render/Stock.tsx:54 +#: src/forms/BuildForms.tsx:206 #: src/pages/part/pricing/BomPricingPanel.tsx:144 -#: src/pages/part/pricing/PriceBreakPanel.tsx:96 -#: src/pages/stock/StockDetail.tsx:137 -#: src/pages/stock/StockDetail.tsx:507 +#: src/pages/part/pricing/PriceBreakPanel.tsx:94 +#: src/pages/stock/StockDetail.tsx:140 +#: src/pages/stock/StockDetail.tsx:520 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:73 +#: src/tables/stock/StockTrackingTable.tsx:59 msgid "Quantity" msgstr "" -#: src/components/settings/SettingItem.tsx:46 -#: src/components/settings/SettingItem.tsx:99 -msgid "Setting updated" -msgstr "" - #: src/components/settings/SettingItem.tsx:47 #: src/components/settings/SettingItem.tsx:100 -msgid "{0} updated successfully" -msgstr "" +#~ msgid "{0} updated successfully" +#~ msgstr "{0} updated successfully" -#: src/components/settings/SettingItem.tsx:55 -msgid "Error editing setting" -msgstr "" - -#: src/components/settings/SettingItem.tsx:92 +#: src/components/settings/SettingList.tsx:67 msgid "Edit Setting" msgstr "" -#: src/components/settings/SettingList.tsx:63 -msgid "No settings specified" +#: src/components/settings/SettingList.tsx:78 +#: src/components/settings/SettingList.tsx:108 +msgid "Setting {0} updated successfully" msgstr "" -#: src/components/tables/ColumnRenderers.tsx:134 -#~ msgid "Shipment Date" -#~ msgstr "Shipment Date" +#: src/components/settings/SettingList.tsx:107 +msgid "Setting updated" +msgstr "" + +#: src/components/settings/SettingList.tsx:117 +msgid "Error editing setting" +msgstr "" + +#: src/components/settings/SettingList.tsx:158 +msgid "No settings specified" +msgstr "" #: src/components/tables/FilterGroup.tsx:29 #~ msgid "Add table filter" @@ -1731,10 +1806,6 @@ msgstr "" #~ msgid "This is a test filter" #~ msgstr "This is a test filter" -#: src/components/tables/stock/StockLocationTable.tsx:91 -#~ msgid "Location Type" -#~ msgstr "Location Type" - #: src/components/tables/stock/StockLocationTable.tsx:145 #~ msgid "Stock location updated" #~ msgstr "Stock location updated" @@ -2072,7 +2143,7 @@ msgstr "" #~ msgstr "Local Server" #: src/defaults/links.tsx:11 -#: src/pages/company/CompanyDetail.tsx:90 +#: src/pages/company/CompanyDetail.tsx:92 msgid "Website" msgstr "" @@ -2087,10 +2158,10 @@ msgstr "" #: src/defaults/links.tsx:31 #: src/defaults/menuItems.tsx:48 #: src/pages/company/ManufacturerDetail.tsx:9 -#: src/pages/company/ManufacturerPartDetail.tsx:231 +#: src/pages/company/ManufacturerPartDetail.tsx:235 #: src/pages/company/SupplierDetail.tsx:9 -#: src/pages/company/SupplierPartDetail.tsx:291 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:358 +#: src/pages/company/SupplierPartDetail.tsx:292 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:365 #: src/pages/purchasing/PurchasingIndex.tsx:52 msgid "Purchasing" msgstr "" @@ -2098,15 +2169,15 @@ msgstr "" #: src/defaults/links.tsx:32 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:323 +#: src/pages/sales/ReturnOrderDetail.tsx:330 #: src/pages/sales/SalesIndex.tsx:45 -#: src/pages/sales/SalesOrderDetail.tsx:345 +#: src/pages/sales/SalesOrderDetail.tsx:352 msgid "Sales" msgstr "" #: src/defaults/links.tsx:35 #: src/defaults/menuItems.tsx:71 -#: src/pages/Index/Playground.tsx:239 +#: src/pages/Index/Playground.tsx:238 msgid "Playground" msgstr "" @@ -2240,87 +2311,83 @@ msgstr "" #~ msgstr "Combusken battles with the intensely hot flames it spews" #: src/forms/AttachmentForms.tsx:57 -msgid "Add File" -msgstr "" +#~ msgid "Add File" +#~ msgstr "Add File" #: src/forms/AttachmentForms.tsx:57 -msgid "Add Link" -msgstr "" +#~ msgid "Add Link" +#~ msgstr "Add Link" #: src/forms/AttachmentForms.tsx:58 -msgid "File added" -msgstr "" +#~ msgid "File added" +#~ msgstr "File added" #: src/forms/AttachmentForms.tsx:58 -msgid "Link added" -msgstr "" +#~ msgid "Link added" +#~ msgstr "Link added" #: src/forms/AttachmentForms.tsx:99 -msgid "Edit File" -msgstr "" +#~ msgid "Edit File" +#~ msgstr "Edit File" #: src/forms/AttachmentForms.tsx:99 -msgid "Edit Link" -msgstr "" +#~ msgid "Edit Link" +#~ msgstr "Edit Link" #: src/forms/AttachmentForms.tsx:100 -msgid "File updated" -msgstr "" +#~ msgid "File updated" +#~ msgstr "File updated" #: src/forms/AttachmentForms.tsx:100 -msgid "Link updated" -msgstr "" - -#: src/forms/AttachmentForms.tsx:124 -msgid "Delete Attachment" -msgstr "" +#~ msgid "Link updated" +#~ msgstr "Link updated" #: src/forms/AttachmentForms.tsx:125 -msgid "Attachment deleted" -msgstr "" +#~ msgid "Attachment deleted" +#~ msgstr "Attachment deleted" #: src/forms/AttachmentForms.tsx:128 -msgid "Are you sure you want to delete this attachment?" -msgstr "" +#~ msgid "Are you sure you want to delete this attachment?" +#~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BuildForms.tsx:129 +#: src/forms/BuildForms.tsx:146 msgid "Next serial number" msgstr "" -#: src/forms/BuildForms.tsx:133 +#: src/forms/BuildForms.tsx:150 msgid "Latest serial number" msgstr "" -#: src/forms/BuildForms.tsx:205 +#: src/forms/BuildForms.tsx:222 msgid "Remove output" msgstr "" -#: src/forms/BuildForms.tsx:287 +#: src/forms/BuildForms.tsx:304 msgid "Complete Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:291 +#: src/forms/BuildForms.tsx:308 msgid "Build outputs have been completed" msgstr "" -#: src/forms/BuildForms.tsx:360 +#: src/forms/BuildForms.tsx:377 msgid "Scrap Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:364 +#: src/forms/BuildForms.tsx:381 msgid "Build outputs have been scrapped" msgstr "" -#: src/forms/BuildForms.tsx:396 -#: src/forms/BuildForms.tsx:420 +#: src/forms/BuildForms.tsx:413 +#: src/forms/BuildForms.tsx:437 msgid "Cancel Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:397 +#: src/forms/BuildForms.tsx:414 msgid "Selected build outputs will be deleted" msgstr "" -#: src/forms/BuildForms.tsx:424 +#: src/forms/BuildForms.tsx:441 msgid "Build outputs have been cancelled" msgstr "" @@ -2344,76 +2411,76 @@ msgstr "" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PurchaseOrderForms.tsx:265 +#: src/forms/PurchaseOrderForms.tsx:279 msgid "Choose Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:273 +#: src/forms/PurchaseOrderForms.tsx:287 msgid "Item Destination selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:282 +#: src/forms/PurchaseOrderForms.tsx:296 msgid "Part category default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:292 +#: src/forms/PurchaseOrderForms.tsx:306 msgid "Received stock location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:297 +#: src/forms/PurchaseOrderForms.tsx:311 msgid "Default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:308 -#: src/forms/PurchaseOrderForms.tsx:384 +#: src/forms/PurchaseOrderForms.tsx:322 +#: src/forms/PurchaseOrderForms.tsx:398 msgid "Scan Barcode" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:352 +#: src/forms/PurchaseOrderForms.tsx:366 msgid "Set Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:359 +#: src/forms/PurchaseOrderForms.tsx:373 msgid "Assign Batch Code{0}" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:368 +#: src/forms/PurchaseOrderForms.tsx:382 msgid "Change Status" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:393 -#: src/forms/StockForms.tsx:351 +#: src/forms/PurchaseOrderForms.tsx:407 +#: src/forms/StockForms.tsx:392 msgid "Remove item from list" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:418 -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:58 -#: src/pages/stock/StockDetail.tsx:167 -#: src/tables/ColumnRenderers.tsx:42 +#: src/forms/PurchaseOrderForms.tsx:432 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/pages/stock/StockDetail.tsx:170 +#: src/tables/ColumnRenderers.tsx:34 +#: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:434 +#: src/forms/PurchaseOrderForms.tsx:448 msgid "Store at default location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:447 +#: src/forms/PurchaseOrderForms.tsx:461 msgid "Store at line item destination" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:457 +#: src/forms/PurchaseOrderForms.tsx:471 msgid "Store with already received stock" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:613 +#: src/forms/PurchaseOrderForms.tsx:627 msgid "Receive Line Items" msgstr "" @@ -2421,119 +2488,118 @@ msgstr "" #~ msgid "Receive line items" #~ msgstr "Receive line items" -#: src/forms/StockForms.tsx:69 +#: src/forms/StockForms.tsx:101 msgid "Add given quantity as packs instead of individual items" msgstr "" -#: src/forms/StockForms.tsx:80 -msgid "Enter initial quantity for this stock item" -msgstr "" - -#: src/forms/StockForms.tsx:85 -msgid "Serial Numbers" -msgstr "" - -#: src/forms/StockForms.tsx:86 -msgid "Enter serial numbers for new stock (or leave blank)" -msgstr "" - #: src/forms/StockForms.tsx:110 #~ msgid "Create Stock Item" #~ msgstr "Create Stock Item" -#: src/forms/StockForms.tsx:135 -#: src/pages/stock/StockDetail.tsx:367 -#: src/tables/stock/StockItemTable.tsx:382 -#: src/tables/stock/StockItemTable.tsx:499 -msgid "Add Stock Item" +#: src/forms/StockForms.tsx:114 +msgid "Enter initial quantity for this stock item" +msgstr "" + +#: src/forms/StockForms.tsx:121 +msgid "Serial Numbers" +msgstr "" + +#: src/forms/StockForms.tsx:122 +msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" #: src/forms/StockForms.tsx:158 #~ msgid "Stock item updated" #~ msgstr "Stock item updated" -#: src/forms/StockForms.tsx:298 +#: src/forms/StockForms.tsx:176 +#: src/pages/stock/StockDetail.tsx:375 +#: src/tables/stock/StockItemTable.tsx:382 +#: src/tables/stock/StockItemTable.tsx:499 +msgid "Add Stock Item" +msgstr "" + +#: src/forms/StockForms.tsx:339 msgid "Loading..." msgstr "" -#: src/forms/StockForms.tsx:340 +#: src/forms/StockForms.tsx:381 msgid "Move to default location" msgstr "" -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/part/PartDetail.tsx:205 -#: src/pages/part/PartDetail.tsx:654 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/pages/part/PartDetail.tsx:206 +#: src/pages/part/PartDetail.tsx:655 #: src/tables/stock/StockItemTable.tsx:290 msgid "In Stock" msgstr "" -#: src/forms/StockForms.tsx:408 +#: src/forms/StockForms.tsx:449 msgid "Move" msgstr "" -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/tables/RowActions.tsx:147 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/tables/RowActions.tsx:149 msgid "Actions" msgstr "" -#: src/forms/StockForms.tsx:471 -#: src/pages/stock/StockDetail.tsx:440 -#: src/tables/settings/TemplateTable.tsx:266 -#: src/tables/stock/StockItemTestResultTable.tsx:348 +#: src/forms/StockForms.tsx:512 +#: src/pages/stock/StockDetail.tsx:454 +#: src/tables/stock/StockItemTestResultTable.tsx:339 msgid "Add" msgstr "" -#: src/forms/StockForms.tsx:499 +#: src/forms/StockForms.tsx:540 #: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:430 +#: src/pages/stock/StockDetail.tsx:444 msgid "Count" msgstr "" -#: src/forms/StockForms.tsx:744 +#: src/forms/StockForms.tsx:785 msgid "Add Stock" msgstr "" -#: src/forms/StockForms.tsx:753 +#: src/forms/StockForms.tsx:794 msgid "Remove Stock" msgstr "" -#: src/forms/StockForms.tsx:762 -#: src/pages/part/PartDetail.tsx:781 +#: src/forms/StockForms.tsx:803 +#: src/pages/part/PartDetail.tsx:782 msgid "Transfer Stock" msgstr "" -#: src/forms/StockForms.tsx:771 -#: src/pages/part/PartDetail.tsx:770 +#: src/forms/StockForms.tsx:812 +#: src/pages/part/PartDetail.tsx:771 msgid "Count Stock" msgstr "" -#: src/forms/StockForms.tsx:780 +#: src/forms/StockForms.tsx:821 msgid "Change Stock Status" msgstr "" -#: src/forms/StockForms.tsx:789 +#: src/forms/StockForms.tsx:830 msgid "Merge Stock" msgstr "" -#: src/forms/StockForms.tsx:808 +#: src/forms/StockForms.tsx:849 msgid "Delete Stock Items" msgstr "" -#: src/forms/StockForms.tsx:815 +#: src/forms/StockForms.tsx:856 msgid "Parent stock location" msgstr "" @@ -2728,7 +2794,7 @@ msgstr "" msgid "Welcome to your Dashboard{0}" msgstr "" -#: src/pages/Index/Playground.tsx:244 +#: src/pages/Index/Playground.tsx:243 msgid "This page is a showcase for the possibilities of Platform UI." msgstr "" @@ -3138,49 +3204,53 @@ msgstr "" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:79 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:87 msgid "Background Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:85 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:93 msgid "Error Reports" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:91 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:99 msgid "Currencies" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:109 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:117 msgid "Custom Units" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:115 -#: src/pages/part/CategoryDetail.tsx:254 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:123 +#: src/pages/part/CategoryDetail.tsx:255 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:121 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 +#~ msgid "Templates" +#~ msgstr "Templates" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:129 msgid "Category Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 -msgid "Templates" +#: src/pages/Index/Settings/AdminCenter/Index.tsx:147 +msgid "Location types" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:139 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:159 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:149 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:169 msgid "Quick Actions" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:154 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 msgid "Add a new user" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:173 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:193 msgid "Advanced Options" msgstr "" @@ -3225,26 +3295,32 @@ msgstr "" msgid "Plugin Settings" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:25 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:53 +msgid "Background Worker Not Running" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:54 +msgid "The background task manager service is not running. Contact your system administrator." +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:60 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:76 msgid "Pending Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:33 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:64 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:84 msgid "Scheduled Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:41 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:68 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:92 msgid "Failed Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:139 -msgid "Labels" -msgstr "" - #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:39 -msgid "Label" -msgstr "" +#~ msgid "Label" +#~ msgstr "Label" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67 #~ msgid "Stock item" @@ -3255,13 +3331,13 @@ msgstr "" #~ msgstr "Build line" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:88 -msgid "Reports" -msgstr "" +#~ msgid "Reports" +#~ msgstr "Reports" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:89 #: src/pages/build/BuildDetail.tsx:373 -msgid "Report" -msgstr "" +#~ msgid "Report" +#~ msgstr "Report" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99 #~ msgid "Purchase order" @@ -3275,14 +3351,9 @@ msgstr "" #~ msgid "Return order" #~ msgstr "Return order" -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135 -#: src/pages/part/PartDetail.tsx:518 -msgid "Bill of Materials" -msgstr "" - #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:145 -msgid "Tests" -msgstr "" +#~ msgid "Tests" +#~ msgstr "Tests" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:154 #~ msgid "Stock location" @@ -3321,26 +3392,30 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" +#: src/pages/Index/Settings/SystemSettings.tsx:139 +msgid "Labels" +msgstr "" + #: src/pages/Index/Settings/SystemSettings.tsx:145 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:223 -#: src/pages/part/PartDetail.tsx:589 +#: src/pages/Index/Settings/SystemSettings.tsx:224 +#: src/pages/part/PartDetail.tsx:590 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:228 -#: src/pages/build/BuildDetail.tsx:426 +#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:525 -#: src/pages/sales/SalesOrderDetail.tsx:263 +#: src/pages/part/PartDetail.tsx:526 +#: src/pages/sales/SalesOrderDetail.tsx:265 msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:296 +#: src/pages/Index/Settings/SystemSettings.tsx:297 msgid "Switch to User Setting" msgstr "" @@ -3397,44 +3472,47 @@ msgstr "" #~ msgstr "Build Status" #: src/pages/build/BuildDetail.tsx:89 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:128 -#: src/pages/sales/ReturnOrderDetail.tsx:95 -#: src/pages/sales/SalesOrderDetail.tsx:99 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:130 +#: src/pages/sales/ReturnOrderDetail.tsx:97 +#: src/pages/sales/SalesOrderDetail.tsx:101 #: src/tables/build/BuildOrderTable.tsx:113 #: src/tables/machine/MachineListTable.tsx:326 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderTable.tsx:46 #: src/tables/sales/SalesOrderTable.tsx:52 #: src/tables/stock/StockItemTable.tsx:259 +#: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "" #: src/pages/build/BuildDetail.tsx:95 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:101 -#: src/pages/sales/ReturnOrderDetail.tsx:69 -#: src/pages/sales/SalesOrderDetail.tsx:73 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:103 +#: src/pages/sales/ReturnOrderDetail.tsx:71 +#: src/pages/sales/SalesOrderDetail.tsx:75 +#: src/tables/ColumnRenderers.tsx:106 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" msgstr "" #: src/pages/build/BuildDetail.tsx:100 -#: src/pages/company/CompanyDetail.tsx:84 -#: src/pages/company/ManufacturerPartDetail.tsx:75 -#: src/pages/company/SupplierPartDetail.tsx:82 -#: src/pages/part/CategoryDetail.tsx:91 -#: src/pages/part/PartDetail.tsx:132 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:122 -#: src/pages/sales/ReturnOrderDetail.tsx:89 -#: src/pages/sales/SalesOrderDetail.tsx:93 -#: src/pages/stock/LocationDetail.tsx:97 -#: src/tables/ColumnRenderers.tsx:95 +#: src/pages/company/CompanyDetail.tsx:86 +#: src/pages/company/ManufacturerPartDetail.tsx:76 +#: src/pages/company/SupplierPartDetail.tsx:83 +#: src/pages/part/CategoryDetail.tsx:92 +#: src/pages/part/PartDetail.tsx:133 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:124 +#: src/pages/sales/ReturnOrderDetail.tsx:91 +#: src/pages/sales/SalesOrderDetail.tsx:95 +#: src/pages/stock/LocationDetail.tsx:99 +#: src/tables/ColumnRenderers.tsx:66 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 #: src/tables/machine/MachineTypeTable.tsx:323 #: src/tables/part/RelatedPartTable.tsx:64 -#: src/tables/plugin/PluginListTable.tsx:172 -#: src/tables/plugin/PluginListTable.tsx:302 +#: src/tables/plugin/PluginListTable.tsx:129 +#: src/tables/plugin/PluginListTable.tsx:276 +#: src/tables/stock/LocationTypesTable.tsx:65 msgid "Description" msgstr "" @@ -3447,7 +3525,7 @@ msgid "Build Quantity" msgstr "" #: src/pages/build/BuildDetail.tsx:126 -#: src/pages/build/BuildDetail.tsx:249 +#: src/pages/build/BuildDetail.tsx:256 msgid "Completed Outputs" msgstr "" @@ -3457,10 +3535,10 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:150 -#: src/pages/part/PartDetail.tsx:320 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:214 -#: src/pages/sales/ReturnOrderDetail.tsx:182 -#: src/pages/sales/SalesOrderDetail.tsx:186 +#: src/pages/part/PartDetail.tsx:321 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:184 +#: src/pages/sales/SalesOrderDetail.tsx:188 #: src/tables/build/BuildOrderTable.tsx:148 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 @@ -3474,10 +3552,10 @@ msgid "Created" msgstr "" #: src/pages/build/BuildDetail.tsx:164 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:207 -#: src/pages/sales/ReturnOrderDetail.tsx:175 -#: src/pages/sales/SalesOrderDetail.tsx:179 -#: src/tables/ColumnRenderers.tsx:227 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:209 +#: src/pages/sales/ReturnOrderDetail.tsx:177 +#: src/pages/sales/SalesOrderDetail.tsx:181 +#: src/tables/ColumnRenderers.tsx:191 msgid "Target Date" msgstr "" @@ -3513,6 +3591,11 @@ msgstr "" #~ msgid "Unlink custom barcode from part" #~ msgstr "Unlink custom barcode from part" +#: src/pages/build/BuildDetail.tsx:197 +#: src/pages/stock/StockDetail.tsx:526 +msgid "Batch Code" +msgstr "" + #: src/pages/build/BuildDetail.tsx:202 #~ msgid "Build Order updated" #~ msgstr "Build Order updated" @@ -3521,86 +3604,87 @@ msgstr "" #~ msgid "Edit build order" #~ msgstr "Edit build order" -#: src/pages/build/BuildDetail.tsx:222 -msgid "Build Details" -msgstr "" - #: src/pages/build/BuildDetail.tsx:226 #~ msgid "Duplicate build order" #~ msgstr "Duplicate build order" -#: src/pages/build/BuildDetail.tsx:228 -#: src/tables/build/BuildLineTable.tsx:225 -msgid "Allocate Stock" +#: src/pages/build/BuildDetail.tsx:229 +msgid "Build Details" msgstr "" #: src/pages/build/BuildDetail.tsx:231 #~ msgid "Delete build order" #~ msgstr "Delete build order" -#: src/pages/build/BuildDetail.tsx:242 +#: src/pages/build/BuildDetail.tsx:235 +#: src/tables/build/BuildLineTable.tsx:225 +msgid "Allocate Stock" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:249 msgid "Incomplete Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:264 +#: src/pages/build/BuildDetail.tsx:271 msgid "Consumed Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:278 +#: src/pages/build/BuildDetail.tsx:285 msgid "Child Build Orders" msgstr "" -#: src/pages/build/BuildDetail.tsx:288 -#: src/pages/company/CompanyDetail.tsx:253 -#: src/pages/company/ManufacturerPartDetail.tsx:171 -#: src/pages/part/PartDetail.tsx:611 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:276 -#: src/pages/sales/ReturnOrderDetail.tsx:225 -#: src/pages/sales/SalesOrderDetail.tsx:273 -#: src/pages/stock/StockDetail.tsx:317 +#: src/pages/build/BuildDetail.tsx:295 +#: src/pages/company/CompanyDetail.tsx:255 +#: src/pages/company/ManufacturerPartDetail.tsx:172 +#: src/pages/part/PartDetail.tsx:612 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:278 +#: src/pages/sales/ReturnOrderDetail.tsx:227 +#: src/pages/sales/SalesOrderDetail.tsx:275 +#: src/pages/stock/StockDetail.tsx:325 msgid "Attachments" msgstr "" -#: src/pages/build/BuildDetail.tsx:300 -#: src/pages/company/CompanyDetail.tsx:265 -#: src/pages/part/PartDetail.tsx:623 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:288 -#: src/pages/sales/ReturnOrderDetail.tsx:237 -#: src/pages/sales/SalesOrderDetail.tsx:285 -#: src/pages/stock/StockDetail.tsx:329 +#: src/pages/build/BuildDetail.tsx:307 +#: src/pages/company/CompanyDetail.tsx:267 +#: src/pages/part/PartDetail.tsx:624 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:290 +#: src/pages/sales/ReturnOrderDetail.tsx:239 +#: src/pages/sales/SalesOrderDetail.tsx:287 +#: src/pages/stock/StockDetail.tsx:337 +#: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "" -#: src/pages/build/BuildDetail.tsx:318 +#: src/pages/build/BuildDetail.tsx:325 msgid "Edit Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:327 +#: src/pages/build/BuildDetail.tsx:334 msgid "Cancel Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:339 +#: src/pages/build/BuildDetail.tsx:346 #: src/tables/build/BuildOrderTable.tsx:167 #: src/tables/build/BuildOrderTable.tsx:182 msgid "Add Build Order" msgstr "" #: src/pages/build/BuildDetail.tsx:368 -msgid "Reporting Actions" -msgstr "" +#~ msgid "Reporting Actions" +#~ msgstr "Reporting Actions" #: src/pages/build/BuildDetail.tsx:374 -msgid "Print build report" -msgstr "" +#~ msgid "Print build report" +#~ msgstr "Print build report" -#: src/pages/build/BuildDetail.tsx:380 +#: src/pages/build/BuildDetail.tsx:378 msgid "Build Order Actions" msgstr "" -#: src/pages/build/BuildDetail.tsx:388 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:326 -#: src/pages/sales/ReturnOrderDetail.tsx:300 -#: src/pages/sales/SalesOrderDetail.tsx:310 +#: src/pages/build/BuildDetail.tsx:386 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:333 +#: src/pages/sales/ReturnOrderDetail.tsx:307 +#: src/pages/sales/SalesOrderDetail.tsx:317 msgid "Cancel order" msgstr "" @@ -3612,56 +3696,58 @@ msgstr "" #~ msgid "New Build Order" #~ msgstr "New Build Order" -#: src/pages/company/CompanyDetail.tsx:98 +#: src/pages/company/CompanyDetail.tsx:100 msgid "Phone Number" msgstr "" -#: src/pages/company/CompanyDetail.tsx:105 +#: src/pages/company/CompanyDetail.tsx:107 msgid "Email Address" msgstr "" -#: src/pages/company/CompanyDetail.tsx:115 +#: src/pages/company/CompanyDetail.tsx:117 msgid "Default Currency" msgstr "" -#: src/pages/company/CompanyDetail.tsx:120 +#: src/pages/company/CompanyDetail.tsx:122 #: src/pages/company/SupplierDetail.tsx:8 -#: src/pages/company/SupplierPartDetail.tsx:106 -#: src/pages/company/SupplierPartDetail.tsx:192 -#: src/pages/company/SupplierPartDetail.tsx:295 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:116 +#: src/pages/company/SupplierPartDetail.tsx:107 +#: src/pages/company/SupplierPartDetail.tsx:193 +#: src/pages/company/SupplierPartDetail.tsx:296 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:118 #: src/tables/company/CompanyTable.tsx:100 #: src/tables/purchasing/PurchaseOrderTable.tsx:88 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:36 msgid "Supplier" msgstr "" -#: src/pages/company/CompanyDetail.tsx:126 +#: src/pages/company/CompanyDetail.tsx:128 #: src/pages/company/ManufacturerDetail.tsx:8 -#: src/pages/company/ManufacturerPartDetail.tsx:93 -#: src/pages/company/ManufacturerPartDetail.tsx:235 -#: src/pages/company/SupplierPartDetail.tsx:121 +#: src/pages/company/ManufacturerPartDetail.tsx:94 +#: src/pages/company/ManufacturerPartDetail.tsx:239 +#: src/pages/company/SupplierPartDetail.tsx:122 #: src/tables/company/CompanyTable.tsx:105 msgid "Manufacturer" msgstr "" -#: src/pages/company/CompanyDetail.tsx:132 +#: src/pages/company/CompanyDetail.tsx:134 #: src/pages/company/CustomerDetail.tsx:8 #: src/pages/part/pricing/SaleHistoryPanel.tsx:39 -#: src/pages/sales/ReturnOrderDetail.tsx:83 -#: src/pages/sales/SalesOrderDetail.tsx:87 -#: src/pages/stock/StockDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:85 +#: src/pages/sales/SalesOrderDetail.tsx:89 +#: src/pages/stock/StockDetail.tsx:219 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:107 +#: src/tables/stock/StockTrackingTable.tsx:140 msgid "Customer" msgstr "" -#: src/pages/company/CompanyDetail.tsx:166 +#: src/pages/company/CompanyDetail.tsx:168 +#: src/tables/stock/StockTrackingTable.tsx:183 msgid "Details" msgstr "" -#: src/pages/company/CompanyDetail.tsx:172 +#: src/pages/company/CompanyDetail.tsx:174 msgid "Manufactured Parts" msgstr "" @@ -3669,7 +3755,7 @@ msgstr "" #~ msgid "Edit company" #~ msgstr "Edit company" -#: src/pages/company/CompanyDetail.tsx:181 +#: src/pages/company/CompanyDetail.tsx:183 msgid "Supplied Parts" msgstr "" @@ -3677,289 +3763,289 @@ msgstr "" #~ msgid "Delete company" #~ msgstr "Delete company" -#: src/pages/company/CompanyDetail.tsx:226 +#: src/pages/company/CompanyDetail.tsx:228 msgid "Assigned Stock" msgstr "" -#: src/pages/company/CompanyDetail.tsx:281 +#: src/pages/company/CompanyDetail.tsx:283 #: src/tables/company/CompanyTable.tsx:86 msgid "Edit Company" msgstr "" -#: src/pages/company/CompanyDetail.tsx:290 +#: src/pages/company/CompanyDetail.tsx:292 msgid "Company Actions" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:68 -#: src/pages/company/SupplierPartDetail.tsx:75 +#: src/pages/company/ManufacturerPartDetail.tsx:69 +#: src/pages/company/SupplierPartDetail.tsx:76 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:72 msgid "Internal Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:83 -#: src/pages/company/SupplierPartDetail.tsx:89 +#: src/pages/company/ManufacturerPartDetail.tsx:84 +#: src/pages/company/SupplierPartDetail.tsx:90 msgid "External Link" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:101 -#: src/pages/company/SupplierPartDetail.tsx:130 -#: src/tables/purchasing/ManufacturerPartTable.tsx:53 +#: src/pages/company/ManufacturerPartDetail.tsx:102 +#: src/pages/company/SupplierPartDetail.tsx:131 +#: src/tables/purchasing/ManufacturerPartTable.tsx:56 msgid "Manufacturer Part Number" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:130 +#: src/pages/company/ManufacturerPartDetail.tsx:131 msgid "Manufacturer Details" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:139 +#: src/pages/company/ManufacturerPartDetail.tsx:140 msgid "Manufacturer Part Details" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:145 -#: src/pages/part/PartDetail.tsx:485 +#: src/pages/company/ManufacturerPartDetail.tsx:146 +#: src/pages/part/PartDetail.tsx:486 msgid "Parameters" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:157 -#: src/pages/part/PartDetail.tsx:558 +#: src/pages/company/ManufacturerPartDetail.tsx:158 +#: src/pages/part/PartDetail.tsx:559 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:189 -#: src/tables/purchasing/ManufacturerPartTable.tsx:97 +#: src/pages/company/ManufacturerPartDetail.tsx:190 +#: src/tables/purchasing/ManufacturerPartTable.tsx:84 msgid "Edit Manufacturer Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:196 -#: src/tables/purchasing/ManufacturerPartTable.tsx:63 -#: src/tables/purchasing/ManufacturerPartTable.tsx:78 +#: src/pages/company/ManufacturerPartDetail.tsx:197 +#: src/tables/purchasing/ManufacturerPartTable.tsx:72 +#: src/tables/purchasing/ManufacturerPartTable.tsx:103 msgid "Add Manufacturer Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:209 +#: src/pages/company/ManufacturerPartDetail.tsx:213 msgid "Manufacturer Part Actions" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:247 +#: src/pages/company/ManufacturerPartDetail.tsx:251 msgid "ManufacturerPart" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:96 -#: src/tables/ColumnRenderers.tsx:146 +#: src/pages/company/SupplierPartDetail.tsx:97 +#: src/tables/ColumnRenderers.tsx:117 msgid "Note" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:114 +#: src/pages/company/SupplierPartDetail.tsx:115 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:57 msgid "SKU" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:142 -#: src/pages/company/SupplierPartDetail.tsx:193 -#: src/pages/stock/StockDetail.tsx:230 +#: src/pages/company/SupplierPartDetail.tsx:143 +#: src/pages/company/SupplierPartDetail.tsx:194 +#: src/pages/stock/StockDetail.tsx:233 msgid "Packaging" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:149 +#: src/pages/company/SupplierPartDetail.tsx:150 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:107 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143 #: src/tables/purchasing/SupplierPartTable.tsx:131 msgid "Pack Quantity" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:160 +#: src/pages/company/SupplierPartDetail.tsx:161 msgid "Supplier Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:167 +#: src/pages/company/SupplierPartDetail.tsx:168 msgid "Availability Updated" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:194 +#: src/pages/company/SupplierPartDetail.tsx:195 msgid "Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:203 +#: src/pages/company/SupplierPartDetail.tsx:204 msgid "Supplier Part Details" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:209 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:263 +#: src/pages/company/SupplierPartDetail.tsx:210 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:265 msgid "Received Stock" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:233 +#: src/pages/company/SupplierPartDetail.tsx:234 #: src/pages/part/PartPricingPanel.tsx:115 #: src/pages/part/pricing/PricingOverviewPanel.tsx:130 msgid "Supplier Pricing" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:248 +#: src/pages/company/SupplierPartDetail.tsx:249 msgid "Supplier Part Actions" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:272 +#: src/pages/company/SupplierPartDetail.tsx:273 #: src/tables/purchasing/SupplierPartTable.tsx:210 msgid "Edit Supplier Part" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:279 +#: src/pages/company/SupplierPartDetail.tsx:280 #: src/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "" -#: src/pages/part/CategoryDetail.tsx:83 -#: src/pages/stock/LocationDetail.tsx:89 +#: src/pages/part/CategoryDetail.tsx:84 +#: src/pages/stock/LocationDetail.tsx:91 #: src/tables/settings/ErrorTable.tsx:34 msgid "Path" msgstr "" -#: src/pages/part/CategoryDetail.tsx:99 +#: src/pages/part/CategoryDetail.tsx:100 msgid "Parent Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:116 +#: src/pages/part/CategoryDetail.tsx:117 msgid "Subcategories" msgstr "" -#: src/pages/part/CategoryDetail.tsx:123 -#: src/pages/stock/LocationDetail.tsx:129 -#: src/tables/part/PartCategoryTable.tsx:69 +#: src/pages/part/CategoryDetail.tsx:124 +#: src/pages/stock/LocationDetail.tsx:131 +#: src/tables/part/PartCategoryTable.tsx:65 msgid "Structural" msgstr "" -#: src/pages/part/CategoryDetail.tsx:129 +#: src/pages/part/CategoryDetail.tsx:130 msgid "Parent default location" msgstr "" -#: src/pages/part/CategoryDetail.tsx:136 +#: src/pages/part/CategoryDetail.tsx:137 msgid "Default location" msgstr "" -#: src/pages/part/CategoryDetail.tsx:147 +#: src/pages/part/CategoryDetail.tsx:148 msgid "Top level part category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:157 -#: src/pages/part/CategoryDetail.tsx:211 -#: src/tables/part/PartCategoryTable.tsx:96 +#: src/pages/part/CategoryDetail.tsx:158 +#: src/pages/part/CategoryDetail.tsx:212 +#: src/tables/part/PartCategoryTable.tsx:88 msgid "Edit Part Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:170 -#: src/pages/stock/LocationDetail.tsx:213 +#: src/pages/part/CategoryDetail.tsx:171 +#: src/pages/stock/LocationDetail.tsx:223 msgid "Delete items" msgstr "" -#: src/pages/part/CategoryDetail.tsx:178 -#: src/pages/part/CategoryDetail.tsx:216 +#: src/pages/part/CategoryDetail.tsx:179 +#: src/pages/part/CategoryDetail.tsx:217 msgid "Delete Part Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:181 +#: src/pages/part/CategoryDetail.tsx:182 msgid "Parts Action" msgstr "" -#: src/pages/part/CategoryDetail.tsx:182 +#: src/pages/part/CategoryDetail.tsx:183 msgid "Action for parts in this category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:187 +#: src/pages/part/CategoryDetail.tsx:188 msgid "Child Categories Action" msgstr "" -#: src/pages/part/CategoryDetail.tsx:188 +#: src/pages/part/CategoryDetail.tsx:189 msgid "Action for child categories in this category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:206 +#: src/pages/part/CategoryDetail.tsx:207 msgid "Category Actions" msgstr "" -#: src/pages/part/CategoryDetail.tsx:228 +#: src/pages/part/CategoryDetail.tsx:229 msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:138 +#: src/pages/part/PartDetail.tsx:139 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:145 +#: src/pages/part/PartDetail.tsx:146 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "" -#: src/pages/part/PartDetail.tsx:151 +#: src/pages/part/PartDetail.tsx:152 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:158 +#: src/pages/part/PartDetail.tsx:159 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:165 +#: src/pages/part/PartDetail.tsx:166 msgid "IPN" msgstr "" -#: src/pages/part/PartDetail.tsx:172 +#: src/pages/part/PartDetail.tsx:173 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:179 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39 +#: src/pages/part/PartDetail.tsx:180 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "" -#: src/pages/part/PartDetail.tsx:186 +#: src/pages/part/PartDetail.tsx:187 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:193 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:180 -#: src/pages/sales/ReturnOrderDetail.tsx:148 -#: src/pages/sales/SalesOrderDetail.tsx:152 +#: src/pages/part/PartDetail.tsx:194 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:182 +#: src/pages/sales/ReturnOrderDetail.tsx:150 +#: src/pages/sales/SalesOrderDetail.tsx:154 msgid "Link" msgstr "" -#: src/pages/part/PartDetail.tsx:211 -#: src/tables/bom/BomTable.tsx:269 +#: src/pages/part/PartDetail.tsx:212 +#: src/tables/bom/BomTable.tsx:271 #: src/tables/build/BuildLineTable.tsx:121 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:218 +#: src/pages/part/PartDetail.tsx:219 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:224 -#: src/tables/bom/BomTable.tsx:210 +#: src/pages/part/PartDetail.tsx:225 +#: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:233 +#: src/pages/part/PartDetail.tsx:234 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:241 +#: src/pages/part/PartDetail.tsx:242 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:248 -#: src/tables/bom/BomTable.tsx:234 +#: src/pages/part/PartDetail.tsx:249 +#: src/tables/bom/BomTable.tsx:236 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:255 -#: src/tables/bom/BomTable.tsx:218 +#: src/pages/part/PartDetail.tsx:256 +#: src/tables/bom/BomTable.tsx:220 #: src/tables/part/PartTable.tsx:82 msgid "Building" msgstr "" -#: src/pages/part/PartDetail.tsx:264 +#: src/pages/part/PartDetail.tsx:265 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 @@ -3968,45 +4054,47 @@ msgstr "" #: src/tables/machine/MachineListTable.tsx:585 #: src/tables/part/PartTable.tsx:168 #: src/tables/part/PartVariantTable.tsx:15 -#: src/tables/plugin/PluginListTable.tsx:190 -#: src/tables/plugin/PluginListTable.tsx:638 +#: src/tables/plugin/PluginListTable.tsx:149 +#: src/tables/plugin/PluginListTable.tsx:271 +#: src/tables/plugin/PluginListTable.tsx:563 #: src/tables/purchasing/SupplierPartTable.tsx:98 #: src/tables/purchasing/SupplierPartTable.tsx:187 #: src/tables/stock/StockItemTable.tsx:254 msgid "Active" msgstr "" -#: src/pages/part/PartDetail.tsx:269 +#: src/pages/part/PartDetail.tsx:270 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:274 -#: src/tables/bom/BomTable.tsx:264 +#: src/pages/part/PartDetail.tsx:275 +#: src/tables/bom/BomTable.tsx:266 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:279 +#: src/pages/part/PartDetail.tsx:280 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:284 -#: src/tables/bom/BomTable.tsx:259 +#: src/pages/part/PartDetail.tsx:285 +#: src/tables/bom/BomTable.tsx:261 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:289 +#: src/pages/part/PartDetail.tsx:290 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:294 +#: src/pages/part/PartDetail.tsx:295 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:299 +#: src/pages/part/PartDetail.tsx:300 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:307 +#: src/pages/part/PartDetail.tsx:308 +#: src/tables/ColumnRenderers.tsx:199 msgid "Creation Date" msgstr "" @@ -4014,7 +4102,7 @@ msgstr "" #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:312 +#: src/pages/part/PartDetail.tsx:313 msgid "Created By" msgstr "" @@ -4022,68 +4110,72 @@ msgstr "" #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:327 -msgid "Default Supplier" -msgstr "" - #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:338 +#: src/pages/part/PartDetail.tsx:328 +msgid "Default Supplier" +msgstr "" + +#: src/pages/part/PartDetail.tsx:339 #: src/tables/part/PartTable.tsx:151 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:373 -#: src/pages/stock/StockDetail.tsx:127 +#: src/pages/part/PartDetail.tsx:374 +#: src/pages/stock/StockDetail.tsx:130 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:408 +#: src/pages/part/PartDetail.tsx:409 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:479 +#: src/pages/part/PartDetail.tsx:480 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:505 +#: src/pages/part/PartDetail.tsx:506 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:512 -#: src/pages/stock/StockDetail.tsx:275 +#: src/pages/part/PartDetail.tsx:513 +#: src/pages/stock/StockDetail.tsx:283 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:532 +#: src/pages/part/PartDetail.tsx:519 +msgid "Bill of Materials" +msgstr "" + +#: src/pages/part/PartDetail.tsx:533 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:539 +#: src/pages/part/PartDetail.tsx:540 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:545 +#: src/pages/part/PartDetail.tsx:546 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:584 +#: src/pages/part/PartDetail.tsx:585 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:594 +#: src/pages/part/PartDetail.tsx:595 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:605 +#: src/pages/part/PartDetail.tsx:606 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:660 -#: src/pages/stock/StockDetail.tsx:148 +#: src/pages/part/PartDetail.tsx:661 +#: src/pages/stock/StockDetail.tsx:151 #: src/tables/build/BuildLineTable.tsx:36 #: src/tables/part/PartTable.tsx:107 #: src/tables/stock/StockItemTable.tsx:166 @@ -4091,49 +4183,51 @@ msgstr "" msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:666 +#: src/pages/part/PartDetail.tsx:667 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:672 -#: src/tables/bom/BomTable.tsx:274 +#: src/pages/part/PartDetail.tsx:673 +#: src/tables/bom/BomTable.tsx:276 #: src/tables/part/PartTable.tsx:76 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:678 -#: src/pages/stock/StockDetail.tsx:496 +#: src/pages/part/PartDetail.tsx:679 +#: src/pages/stock/StockDetail.tsx:509 #: src/tables/stock/StockItemTable.tsx:295 msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:697 +#: src/pages/part/PartDetail.tsx:698 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:704 +#: src/pages/part/PartDetail.tsx:705 #: src/tables/part/PartTable.tsx:266 #: src/tables/part/PartTable.tsx:279 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:716 +#: src/pages/part/PartDetail.tsx:717 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:725 +#: src/pages/part/PartDetail.tsx:726 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:763 +#: src/pages/part/PartDetail.tsx:764 +#: src/pages/stock/LocationDetail.tsx:301 +#: src/tables/stock/StockItemTable.tsx:409 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:771 +#: src/pages/part/PartDetail.tsx:772 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:782 +#: src/pages/part/PartDetail.tsx:783 msgid "Transfer part stock" msgstr "" @@ -4199,15 +4293,15 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151 #: src/pages/part/pricing/SupplierPricingPanel.tsx:83 -#: src/tables/bom/BomTable.tsx:149 +#: src/tables/bom/BomTable.tsx:151 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 msgid "Unit Price" msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:173 -#: src/tables/ColumnRenderers.tsx:278 -#: src/tables/bom/BomTable.tsx:158 +#: src/tables/ColumnRenderers.tsx:241 +#: src/tables/bom/BomTable.tsx:160 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 #: src/tables/sales/ReturnOrderTable.tsx:104 #: src/tables/sales/SalesOrderTable.tsx:134 @@ -4229,24 +4323,24 @@ msgid "Bar Chart" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:63 -#: src/pages/part/pricing/PriceBreakPanel.tsx:117 +#: src/pages/part/pricing/PriceBreakPanel.tsx:115 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:138 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:164 msgid "Add Price Break" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:76 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:149 msgid "Edit Price Break" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:86 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:157 msgid "Delete Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:102 -#: src/pages/part/pricing/PriceBreakPanel.tsx:193 +#: src/pages/part/pricing/PriceBreakPanel.tsx:100 +#: src/pages/part/pricing/PriceBreakPanel.tsx:191 msgid "Price Break" msgstr "" @@ -4275,7 +4369,7 @@ msgid "Overall Pricing" msgstr "" #: src/pages/part/pricing/PricingOverviewPanel.tsx:184 -#: src/pages/stock/StockDetail.tsx:121 +#: src/pages/stock/StockDetail.tsx:124 msgid "Last Updated" msgstr "" @@ -4309,9 +4403,8 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50 #: src/pages/part/pricing/SaleHistoryPanel.tsx:46 -#: src/tables/ColumnRenderers.tsx:217 -#: src/tables/plugin/PluginListTable.tsx:182 -#: src/tables/stock/StockItemTestResultTable.tsx:194 +#: src/tables/ColumnRenderers.tsx:180 +#: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" @@ -4338,89 +4431,89 @@ msgstr "" msgid "Variant Part" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:73 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:75 msgid "Edit Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:82 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:84 #: src/tables/purchasing/PurchaseOrderTable.tsx:128 #: src/tables/purchasing/PurchaseOrderTable.tsx:140 msgid "Add Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:107 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:109 msgid "Supplier Reference" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:137 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:252 -#: src/pages/sales/ReturnOrderDetail.tsx:104 -#: src/pages/sales/ReturnOrderDetail.tsx:220 -#: src/pages/sales/SalesOrderDetail.tsx:108 -#: src/pages/sales/SalesOrderDetail.tsx:248 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:139 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:254 +#: src/pages/sales/ReturnOrderDetail.tsx:106 +#: src/pages/sales/ReturnOrderDetail.tsx:222 +#: src/pages/sales/SalesOrderDetail.tsx:110 +#: src/pages/sales/SalesOrderDetail.tsx:250 msgid "Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:144 -#: src/pages/sales/ReturnOrderDetail.tsx:111 -#: src/pages/sales/SalesOrderDetail.tsx:115 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:146 +#: src/pages/sales/ReturnOrderDetail.tsx:113 +#: src/pages/sales/SalesOrderDetail.tsx:117 msgid "Completed Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:152 -#: src/pages/sales/ReturnOrderDetail.tsx:119 -#: src/pages/sales/SalesOrderDetail.tsx:123 -#: src/pages/sales/SalesOrderDetail.tsx:258 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:121 +#: src/pages/sales/SalesOrderDetail.tsx:125 +#: src/pages/sales/SalesOrderDetail.tsx:260 msgid "Completed Shipments" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:159 -#: src/pages/sales/ReturnOrderDetail.tsx:127 -#: src/pages/sales/SalesOrderDetail.tsx:131 -msgid "Order Currency" -msgstr "" - #: src/pages/purchasing/PurchaseOrderDetail.tsx:159 #: src/pages/sales/ReturnOrderDetail.tsx:126 #: src/pages/sales/SalesOrderDetail.tsx:130 #~ msgid "Order Currency," #~ msgstr "Order Currency," -#: src/pages/purchasing/PurchaseOrderDetail.tsx:166 -#: src/pages/sales/ReturnOrderDetail.tsx:134 -#: src/pages/sales/SalesOrderDetail.tsx:138 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:161 +#: src/pages/sales/ReturnOrderDetail.tsx:129 +#: src/pages/sales/SalesOrderDetail.tsx:133 +msgid "Order Currency" +msgstr "" + +#: src/pages/purchasing/PurchaseOrderDetail.tsx:168 +#: src/pages/sales/ReturnOrderDetail.tsx:136 +#: src/pages/sales/SalesOrderDetail.tsx:140 msgid "Total Cost" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:201 -#: src/pages/sales/ReturnOrderDetail.tsx:169 -#: src/pages/sales/SalesOrderDetail.tsx:173 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:203 +#: src/pages/sales/ReturnOrderDetail.tsx:171 +#: src/pages/sales/SalesOrderDetail.tsx:175 msgid "Created On" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:246 -#: src/pages/sales/ReturnOrderDetail.tsx:214 -#: src/pages/sales/SalesOrderDetail.tsx:242 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:248 +#: src/pages/sales/ReturnOrderDetail.tsx:216 +#: src/pages/sales/SalesOrderDetail.tsx:244 msgid "Order Details" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:316 -#: src/pages/sales/ReturnOrderDetail.tsx:290 -#: src/pages/sales/SalesOrderDetail.tsx:302 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:323 +#: src/pages/sales/ReturnOrderDetail.tsx:297 +#: src/pages/sales/SalesOrderDetail.tsx:309 msgid "Order Actions" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:75 -#: src/pages/sales/SalesOrderDetail.tsx:79 +#: src/pages/sales/ReturnOrderDetail.tsx:77 +#: src/pages/sales/SalesOrderDetail.tsx:81 #: src/tables/sales/SalesOrderTable.tsx:123 msgid "Customer Reference" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:267 +#: src/pages/sales/ReturnOrderDetail.tsx:269 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:276 +#: src/pages/sales/ReturnOrderDetail.tsx:278 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" @@ -4430,68 +4523,72 @@ msgstr "" msgid "Customers" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:219 +#: src/pages/sales/SalesOrderDetail.tsx:221 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:228 +#: src/pages/sales/SalesOrderDetail.tsx:230 #: src/tables/sales/SalesOrderTable.tsx:83 #: src/tables/sales/SalesOrderTable.tsx:95 msgid "Add Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:253 +#: src/pages/sales/SalesOrderDetail.tsx:255 msgid "Pending Shipments" msgstr "" -#: src/pages/stock/LocationDetail.tsx:105 +#: src/pages/stock/LocationDetail.tsx:107 msgid "Parent Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:123 +#: src/pages/stock/LocationDetail.tsx:125 msgid "Sublocations" msgstr "" -#: src/pages/stock/LocationDetail.tsx:135 +#: src/pages/stock/LocationDetail.tsx:137 msgid "External" msgstr "" -#: src/pages/stock/LocationDetail.tsx:144 +#: src/pages/stock/LocationDetail.tsx:143 +msgid "Location Type" +msgstr "" + +#: src/pages/stock/LocationDetail.tsx:154 msgid "Top level stock location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:155 +#: src/pages/stock/LocationDetail.tsx:165 msgid "Location Details" msgstr "" -#: src/pages/stock/LocationDetail.tsx:181 +#: src/pages/stock/LocationDetail.tsx:191 msgid "Default Parts" msgstr "" -#: src/pages/stock/LocationDetail.tsx:200 +#: src/pages/stock/LocationDetail.tsx:210 #: src/pages/stock/LocationDetail.tsx:328 -#: src/tables/stock/StockLocationTable.tsx:108 +#: src/tables/stock/StockLocationTable.tsx:100 msgid "Edit Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:221 +#: src/pages/stock/LocationDetail.tsx:231 #: src/pages/stock/LocationDetail.tsx:333 msgid "Delete Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:224 +#: src/pages/stock/LocationDetail.tsx:234 msgid "Items Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:225 +#: src/pages/stock/LocationDetail.tsx:235 msgid "Action for stock items in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:230 +#: src/pages/stock/LocationDetail.tsx:240 msgid "Child Locations Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:231 +#: src/pages/stock/LocationDetail.tsx:241 msgid "Action for child locations in this location" msgstr "" @@ -4499,11 +4596,11 @@ msgstr "" msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:100 +#: src/pages/stock/StockDetail.tsx:103 msgid "Base Part" msgstr "" -#: src/pages/stock/StockDetail.tsx:107 +#: src/pages/stock/StockDetail.tsx:110 msgid "Stock Status" msgstr "" @@ -4515,15 +4612,16 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:174 +#: src/pages/stock/StockDetail.tsx:177 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:190 +#: src/pages/stock/StockDetail.tsx:193 msgid "Consumed By" msgstr "" -#: src/pages/stock/StockDetail.tsx:199 +#: src/pages/stock/StockDetail.tsx:202 +#: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" msgstr "" @@ -4535,78 +4633,78 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:264 +#: src/pages/stock/StockDetail.tsx:267 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:270 +#: src/pages/stock/StockDetail.tsx:273 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:282 +#: src/pages/stock/StockDetail.tsx:290 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:296 +#: src/pages/stock/StockDetail.tsx:304 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:303 +#: src/pages/stock/StockDetail.tsx:311 msgid "Child Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:358 +#: src/pages/stock/StockDetail.tsx:366 msgid "Edit Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:385 +#: src/pages/stock/StockDetail.tsx:393 msgid "Delete Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:426 -msgid "Stock Operations" -msgstr "" - -#: src/pages/stock/StockDetail.tsx:431 -msgid "Count stock" -msgstr "" - #: src/pages/stock/StockDetail.tsx:433 #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:441 +#: src/pages/stock/StockDetail.tsx:440 +msgid "Stock Operations" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:445 +msgid "Count stock" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:455 #: src/tables/stock/StockItemTable.tsx:414 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:449 +#: src/pages/stock/StockDetail.tsx:463 #: src/tables/stock/StockItemTable.tsx:423 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:456 +#: src/pages/stock/StockDetail.tsx:470 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:457 +#: src/pages/stock/StockDetail.tsx:471 #: src/tables/stock/StockItemTable.tsx:443 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:469 +#: src/pages/stock/StockDetail.tsx:482 msgid "Stock Item Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:513 -msgid "Batch Code" -msgstr "" - -#: src/tables/ColumnRenderers.tsx:50 +#: src/tables/ColumnRenderers.tsx:42 msgid "No location set" msgstr "" -#: src/tables/ColumnRenderers.tsx:264 +#: src/tables/ColumnRenderers.tsx:207 +msgid "Shipment Date" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:227 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "" @@ -4616,20 +4714,32 @@ msgstr "" msgid "Select Columns" msgstr "" -#: src/tables/DownloadAction.tsx:11 +#: src/tables/DownloadAction.tsx:13 +#~ msgid "Excel" +#~ msgstr "Excel" + +#: src/tables/DownloadAction.tsx:21 +#~ msgid "Download selected data" +#~ msgstr "Download selected data" + +#: src/tables/DownloadAction.tsx:22 msgid "CSV" msgstr "" -#: src/tables/DownloadAction.tsx:12 +#: src/tables/DownloadAction.tsx:23 msgid "TSV" msgstr "" -#: src/tables/DownloadAction.tsx:13 -msgid "Excel" +#: src/tables/DownloadAction.tsx:24 +msgid "Excel (.xls)" msgstr "" -#: src/tables/DownloadAction.tsx:21 -msgid "Download selected data" +#: src/tables/DownloadAction.tsx:25 +msgid "Excel (.xlsx)" +msgstr "" + +#: src/tables/DownloadAction.tsx:39 +msgid "Download Data" msgstr "" #: src/tables/Filter.tsx:88 @@ -4663,102 +4773,102 @@ msgstr "" msgid "Remove filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:147 +#: src/tables/FilterSelectDrawer.tsx:136 msgid "Select filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:148 +#: src/tables/FilterSelectDrawer.tsx:137 msgid "Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:155 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:33 -#: src/tables/stock/StockItemTestResultTable.tsx:182 +#: src/tables/FilterSelectDrawer.tsx:144 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 +#: src/tables/stock/StockItemTestResultTable.tsx:180 msgid "Value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:156 +#: src/tables/FilterSelectDrawer.tsx:145 msgid "Select filter value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:196 +#: src/tables/FilterSelectDrawer.tsx:185 msgid "Table Filters" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:228 +#: src/tables/FilterSelectDrawer.tsx:217 msgid "Add Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:237 +#: src/tables/FilterSelectDrawer.tsx:226 msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:118 -#: src/tables/InvenTreeTable.tsx:384 -#: src/tables/InvenTreeTable.tsx:405 +#: src/tables/InvenTreeTable.tsx:119 +#: src/tables/InvenTreeTable.tsx:390 +#: src/tables/InvenTreeTable.tsx:411 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:416 +#: src/tables/InvenTreeTable.tsx:422 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:424 +#: src/tables/InvenTreeTable.tsx:430 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:427 +#: src/tables/InvenTreeTable.tsx:433 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:436 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:433 +#: src/tables/InvenTreeTable.tsx:439 msgid "Not found" msgstr "" -#: src/tables/InvenTreeTable.tsx:482 -#: src/tables/InvenTreeTable.tsx:604 +#: src/tables/InvenTreeTable.tsx:488 +#: src/tables/InvenTreeTable.tsx:611 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:486 +#: src/tables/InvenTreeTable.tsx:492 msgid "Are you sure you want to delete the selected records?" msgstr "" -#: src/tables/InvenTreeTable.tsx:488 +#: src/tables/InvenTreeTable.tsx:494 msgid "This action cannot be undone!" msgstr "" -#: src/tables/InvenTreeTable.tsx:516 +#: src/tables/InvenTreeTable.tsx:522 msgid "Deleted records" msgstr "" -#: src/tables/InvenTreeTable.tsx:517 +#: src/tables/InvenTreeTable.tsx:523 msgid "Records were deleted successfully" msgstr "" -#: src/tables/InvenTreeTable.tsx:526 +#: src/tables/InvenTreeTable.tsx:532 msgid "Failed to delete records" msgstr "" -#: src/tables/InvenTreeTable.tsx:585 -#: src/tables/InvenTreeTable.tsx:586 -msgid "Barcode actions" -msgstr "" - #: src/tables/InvenTreeTable.tsx:594 #: src/tables/InvenTreeTable.tsx:595 -msgid "Print actions" +#~ msgid "Print actions" +#~ msgstr "Print actions" + +#: src/tables/InvenTreeTable.tsx:601 +#: src/tables/InvenTreeTable.tsx:602 +msgid "Barcode actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:620 +#: src/tables/InvenTreeTable.tsx:630 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:638 +#: src/tables/InvenTreeTable.tsx:648 msgid "Table filters" msgstr "" @@ -4770,138 +4880,138 @@ msgstr "" msgid "Part Information" msgstr "" -#: src/tables/bom/BomTable.tsx:177 +#: src/tables/bom/BomTable.tsx:179 #: src/tables/part/PartTable.tsx:124 msgid "No stock" msgstr "" -#: src/tables/bom/BomTable.tsx:185 +#: src/tables/bom/BomTable.tsx:187 #: src/tables/build/BuildLineTable.tsx:104 #: src/tables/part/PartTable.tsx:115 msgid "External stock" msgstr "" -#: src/tables/bom/BomTable.tsx:193 +#: src/tables/bom/BomTable.tsx:195 #: src/tables/build/BuildLineTable.tsx:67 msgid "Includes substitute stock" msgstr "" -#: src/tables/bom/BomTable.tsx:202 +#: src/tables/bom/BomTable.tsx:204 #: src/tables/build/BuildLineTable.tsx:77 msgid "Includes variant stock" msgstr "" -#: src/tables/bom/BomTable.tsx:227 +#: src/tables/bom/BomTable.tsx:229 #: src/tables/part/PartTable.tsx:143 #: src/tables/stock/StockItemTable.tsx:205 msgid "Stock Information" msgstr "" -#: src/tables/bom/BomTable.tsx:239 +#: src/tables/bom/BomTable.tsx:241 #: src/tables/build/BuildLineTable.tsx:195 msgid "Consumable item" msgstr "" -#: src/tables/bom/BomTable.tsx:260 +#: src/tables/bom/BomTable.tsx:262 msgid "Show trackable items" msgstr "" -#: src/tables/bom/BomTable.tsx:265 +#: src/tables/bom/BomTable.tsx:267 msgid "Show asssmbled items" msgstr "" -#: src/tables/bom/BomTable.tsx:270 +#: src/tables/bom/BomTable.tsx:272 msgid "Show items with available stock" msgstr "" -#: src/tables/bom/BomTable.tsx:275 +#: src/tables/bom/BomTable.tsx:277 msgid "Show items on order" msgstr "" -#: src/tables/bom/BomTable.tsx:279 +#: src/tables/bom/BomTable.tsx:281 msgid "Validated" msgstr "" -#: src/tables/bom/BomTable.tsx:280 +#: src/tables/bom/BomTable.tsx:282 msgid "Show validated items" msgstr "" -#: src/tables/bom/BomTable.tsx:284 +#: src/tables/bom/BomTable.tsx:286 #: src/tables/bom/UsedInTable.tsx:63 msgid "Inherited" msgstr "" -#: src/tables/bom/BomTable.tsx:285 +#: src/tables/bom/BomTable.tsx:287 #: src/tables/bom/UsedInTable.tsx:64 msgid "Show inherited items" msgstr "" -#: src/tables/bom/BomTable.tsx:289 +#: src/tables/bom/BomTable.tsx:291 #: src/tables/bom/UsedInTable.tsx:68 #: src/tables/build/BuildLineTable.tsx:46 msgid "Optional" msgstr "" -#: src/tables/bom/BomTable.tsx:290 +#: src/tables/bom/BomTable.tsx:292 #: src/tables/bom/UsedInTable.tsx:69 msgid "Show optional items" msgstr "" -#: src/tables/bom/BomTable.tsx:294 +#: src/tables/bom/BomTable.tsx:296 #: src/tables/build/BuildLineTable.tsx:41 msgid "Consumable" msgstr "" -#: src/tables/bom/BomTable.tsx:295 +#: src/tables/bom/BomTable.tsx:297 msgid "Show consumable items" msgstr "" -#: src/tables/bom/BomTable.tsx:299 +#: src/tables/bom/BomTable.tsx:301 msgid "Has Pricing" msgstr "" -#: src/tables/bom/BomTable.tsx:300 -msgid "Show items with pricing" -msgstr "" - #: src/tables/bom/BomTable.tsx:301 #~ msgid "Create BOM Item" #~ msgstr "Create BOM Item" -#: src/tables/bom/BomTable.tsx:309 -#: src/tables/bom/BomTable.tsx:397 +#: src/tables/bom/BomTable.tsx:302 +msgid "Show items with pricing" +msgstr "" + +#: src/tables/bom/BomTable.tsx:311 +#: src/tables/bom/BomTable.tsx:399 msgid "Add BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:314 +#: src/tables/bom/BomTable.tsx:316 msgid "BOM item created" msgstr "" -#: src/tables/bom/BomTable.tsx:321 +#: src/tables/bom/BomTable.tsx:323 msgid "Edit BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:323 +#: src/tables/bom/BomTable.tsx:325 msgid "BOM item updated" msgstr "" -#: src/tables/bom/BomTable.tsx:330 -msgid "Delete BOM Item" -msgstr "" - -#: src/tables/bom/BomTable.tsx:331 -msgid "BOM item deleted" -msgstr "" - #: src/tables/bom/BomTable.tsx:331 #~ msgid "Edit Bom Item" #~ msgstr "Edit Bom Item" +#: src/tables/bom/BomTable.tsx:332 +msgid "Delete BOM Item" +msgstr "" + +#: src/tables/bom/BomTable.tsx:333 +msgid "BOM item deleted" +msgstr "" + #: src/tables/bom/BomTable.tsx:333 #~ msgid "Bom item updated" #~ msgstr "Bom item updated" -#: src/tables/bom/BomTable.tsx:341 +#: src/tables/bom/BomTable.tsx:343 msgid "View BOM" msgstr "" @@ -4917,11 +5027,11 @@ msgstr "" #~ msgid "Are you sure you want to remove this BOM item?" #~ msgstr "Are you sure you want to remove this BOM item?" -#: src/tables/bom/BomTable.tsx:352 +#: src/tables/bom/BomTable.tsx:354 msgid "Validate BOM line" msgstr "" -#: src/tables/bom/BomTable.tsx:360 +#: src/tables/bom/BomTable.tsx:362 msgid "Edit Substitutes" msgstr "" @@ -5038,11 +5148,11 @@ msgid "Filter by responsible owner" msgstr "" #: src/tables/build/BuildOutputTable.tsx:114 -#: src/tables/build/BuildOutputTable.tsx:150 +#: src/tables/build/BuildOutputTable.tsx:152 msgid "Add Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:155 +#: src/tables/build/BuildOutputTable.tsx:157 msgid "Complete selected outputs" msgstr "" @@ -5050,68 +5160,68 @@ msgstr "" #~ msgid "Delete build output" #~ msgstr "Delete build output" -#: src/tables/build/BuildOutputTable.tsx:165 +#: src/tables/build/BuildOutputTable.tsx:167 msgid "Scrap selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:175 +#: src/tables/build/BuildOutputTable.tsx:177 msgid "Cancel selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:191 +#: src/tables/build/BuildOutputTable.tsx:193 msgid "Allocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:192 +#: src/tables/build/BuildOutputTable.tsx:194 msgid "Allocate stock to build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:197 +#: src/tables/build/BuildOutputTable.tsx:199 msgid "Deallocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:198 +#: src/tables/build/BuildOutputTable.tsx:200 msgid "Deallocate stock from build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:203 +#: src/tables/build/BuildOutputTable.tsx:205 msgid "Complete" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:204 +#: src/tables/build/BuildOutputTable.tsx:206 msgid "Complete build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:213 +#: src/tables/build/BuildOutputTable.tsx:215 msgid "Scrap" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:214 +#: src/tables/build/BuildOutputTable.tsx:216 msgid "Scrap build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:224 +#: src/tables/build/BuildOutputTable.tsx:226 msgid "Cancel build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:251 +#: src/tables/build/BuildOutputTable.tsx:253 msgid "Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:264 +#: src/tables/build/BuildOutputTable.tsx:266 msgid "Batch" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:278 +#: src/tables/build/BuildOutputTable.tsx:280 msgid "Allocated Items" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:288 +#: src/tables/build/BuildOutputTable.tsx:290 msgid "Required Tests" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:317 -#: src/tables/stock/StockItemTestResultTable.tsx:146 +#: src/tables/build/BuildOutputTable.tsx:319 +#: src/tables/stock/StockItemTestResultTable.tsx:144 msgid "Test Results" msgstr "" @@ -5132,7 +5242,7 @@ msgstr "" msgid "Delete Address" msgstr "" -#: src/tables/company/AddressTable.tsx:145 +#: src/tables/company/AddressTable.tsx:144 msgid "Are you sure you want to delete this address?" msgstr "" @@ -5177,36 +5287,52 @@ msgstr "" msgid "Add contact" msgstr "" -#: src/tables/general/AttachmentTable.tsx:161 +#: src/tables/general/AttachmentTable.tsx:130 msgid "File uploaded" msgstr "" -#: src/tables/general/AttachmentTable.tsx:162 +#: src/tables/general/AttachmentTable.tsx:131 msgid "File {0} uploaded successfully" msgstr "" -#: src/tables/general/AttachmentTable.tsx:173 +#: src/tables/general/AttachmentTable.tsx:142 msgid "Upload Error" msgstr "" -#: src/tables/general/AttachmentTable.tsx:174 +#: src/tables/general/AttachmentTable.tsx:143 msgid "File could not be uploaded" msgstr "" #: src/tables/general/AttachmentTable.tsx:187 +msgid "Upload Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:197 +msgid "Edit Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:211 +msgid "Delete Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:221 msgid "Add attachment" msgstr "" -#: src/tables/general/AttachmentTable.tsx:207 +#: src/tables/general/AttachmentTable.tsx:232 msgid "Add external link" msgstr "" -#: src/tables/general/AttachmentTable.tsx:239 +#: src/tables/general/AttachmentTable.tsx:254 +#~ msgid "Upload attachment" +#~ msgstr "Upload attachment" + +#: src/tables/general/AttachmentTable.tsx:289 msgid "No attachments found" msgstr "" -#: src/tables/general/AttachmentTable.tsx:254 -msgid "Upload attachment" +#: src/tables/general/AttachmentTable.tsx:325 +msgid "Drag attachment file here to upload" msgstr "" #: src/tables/machine/MachineListTable.tsx:199 @@ -5332,8 +5458,8 @@ msgstr "" #: src/tables/machine/MachineTypeTable.tsx:135 #: src/tables/machine/MachineTypeTable.tsx:255 -#: src/tables/plugin/PluginListTable.tsx:215 -#: src/tables/plugin/PluginListTable.tsx:643 +#: src/tables/plugin/PluginListTable.tsx:180 +#: src/tables/plugin/PluginListTable.tsx:568 msgid "Builtin" msgstr "" @@ -5375,7 +5501,7 @@ msgid "Message" msgstr "" #: src/tables/part/ParametricPartTable.tsx:75 -#: src/tables/part/PartParameterTable.tsx:87 +#: src/tables/part/PartParameterTable.tsx:88 msgid "Internal Units" msgstr "" @@ -5388,29 +5514,29 @@ msgid "Add Part Parameter" msgstr "" #: src/tables/part/ParametricPartTable.tsx:147 -#: src/tables/part/PartParameterTable.tsx:128 -#: src/tables/part/PartParameterTable.tsx:150 +#: src/tables/part/PartParameterTable.tsx:121 +#: src/tables/part/PartParameterTable.tsx:144 msgid "Edit Part Parameter" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:64 +#: src/tables/part/PartCategoryTable.tsx:60 #: src/tables/part/PartTable.tsx:180 msgid "Include Subcategories" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:65 +#: src/tables/part/PartCategoryTable.tsx:61 msgid "Include subcategories in results" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:70 +#: src/tables/part/PartCategoryTable.tsx:66 msgid "Show structural categories" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:77 +#: src/tables/part/PartCategoryTable.tsx:73 msgid "New Part Category" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:106 +#: src/tables/part/PartCategoryTable.tsx:98 msgid "Add Part Category" msgstr "" @@ -5435,20 +5561,20 @@ msgstr "" #~ msgid "[{0}]" #~ msgstr "[{0}]" -#: src/tables/part/PartParameterTable.tsx:112 +#: src/tables/part/PartParameterTable.tsx:105 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:136 -#: src/tables/part/PartParameterTable.tsx:158 +#: src/tables/part/PartParameterTable.tsx:130 +#: src/tables/part/PartParameterTable.tsx:152 msgid "Delete Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:175 +#: src/tables/part/PartParameterTable.tsx:170 msgid "Add parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:196 +#: src/tables/part/PartParameterTable.tsx:191 #: src/tables/stock/StockItemTable.tsx:300 msgid "Include Variants" msgstr "" @@ -5482,15 +5608,15 @@ msgstr "" msgid "Add Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:97 +#: src/tables/part/PartParameterTemplateTable.tsx:100 msgid "Edit Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:105 +#: src/tables/part/PartParameterTemplateTable.tsx:111 msgid "Delete Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:135 +#: src/tables/part/PartParameterTemplateTable.tsx:141 msgid "Add parameter template" msgstr "" @@ -5588,7 +5714,7 @@ msgid "No Results" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:79 -#: src/tables/stock/StockItemTestResultTable.tsx:385 +#: src/tables/stock/StockItemTestResultTable.tsx:376 msgid "Required" msgstr "" @@ -5597,8 +5723,8 @@ msgid "Show required tests" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:84 -#: src/tables/settings/TemplateTable.tsx:213 -#: src/tables/settings/TemplateTable.tsx:275 +#: src/tables/settings/TemplateTable.tsx:160 +#: src/tables/settings/TemplateTable.tsx:270 msgid "Enabled" msgstr "" @@ -5639,26 +5765,30 @@ msgid "Show tests which have recorded results" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:126 -#: src/tables/part/PartTestTemplateTable.tsx:195 +#: src/tables/part/PartTestTemplateTable.tsx:201 msgid "Add Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:139 +#: src/tables/part/PartTestTemplateTable.tsx:142 msgid "Edit Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:147 +#: src/tables/part/PartTestTemplateTable.tsx:153 msgid "Delete Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:149 +#: src/tables/part/PartTestTemplateTable.tsx:155 msgid "This action cannot be reversed" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:151 +#: src/tables/part/PartTestTemplateTable.tsx:157 msgid "Any tests results associated with this template will be deleted" msgstr "" +#: src/tables/part/PartThumbTable.tsx:203 +msgid "Select" +msgstr "" + #: src/tables/part/PartVariantTable.tsx:16 msgid "Show active variants" msgstr "" @@ -5695,252 +5825,273 @@ msgstr "" msgid "Stage" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:113 -msgid "Plugin with id {id} not found" +#: src/tables/plugin/PluginListTable.tsx:95 +msgid "Plugin with key {pluginKey} not found" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:115 +#: src/tables/plugin/PluginListTable.tsx:97 msgid "An error occurred while fetching plugin details" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:134 -msgid "Plugin Actions" -msgstr "" +#: src/tables/plugin/PluginListTable.tsx:113 +#~ msgid "Plugin with id {id} not found" +#~ msgstr "Plugin with id {id} not found" -#: src/tables/plugin/PluginListTable.tsx:138 -#: src/tables/plugin/PluginListTable.tsx:141 -msgid "Edit plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:152 -#: src/tables/plugin/PluginListTable.tsx:153 -msgid "Reload" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:166 +#: src/tables/plugin/PluginListTable.tsx:122 msgid "Plugin information" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:177 +#: src/tables/plugin/PluginListTable.tsx:134 msgid "Author" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:198 +#: src/tables/plugin/PluginListTable.tsx:134 +#~ msgid "Plugin Actions" +#~ msgstr "Plugin Actions" + +#: src/tables/plugin/PluginListTable.tsx:138 +#: src/tables/plugin/PluginListTable.tsx:141 +#~ msgid "Edit plugin" +#~ msgstr "Edit plugin" + +#: src/tables/plugin/PluginListTable.tsx:152 +#: src/tables/plugin/PluginListTable.tsx:153 +#~ msgid "Reload" +#~ msgstr "Reload" + +#: src/tables/plugin/PluginListTable.tsx:154 +msgid "Plugin is not active" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:163 msgid "Package information" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:204 +#: src/tables/plugin/PluginListTable.tsx:169 msgid "Package Name" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:210 +#: src/tables/plugin/PluginListTable.tsx:175 msgid "Installation Path" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:220 +#: src/tables/plugin/PluginListTable.tsx:185 msgid "Package" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:231 +#: src/tables/plugin/PluginListTable.tsx:197 msgid "Plugin settings" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:248 +#: src/tables/plugin/PluginListTable.tsx:214 msgid "Plugin is active" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:254 +#: src/tables/plugin/PluginListTable.tsx:220 msgid "Plugin is inactive" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:261 +#: src/tables/plugin/PluginListTable.tsx:227 msgid "Plugin is not installed" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:287 +#: src/tables/plugin/PluginListTable.tsx:253 msgid "Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:312 +#: src/tables/plugin/PluginListTable.tsx:287 msgid "Description not available" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:338 +#: src/tables/plugin/PluginListTable.tsx:319 +msgid "Confirm plugin activation" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:320 +msgid "Confirm plugin deactivation" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:325 +msgid "The selected plugin will be activated" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:326 +msgid "The selected plugin will be deactivated" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:334 msgid "Activate Plugin" msgstr "" #: src/tables/plugin/PluginListTable.tsx:338 -msgid "Deactivate Plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:347 -msgid "Confirm plugin activation" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:348 -msgid "Confirm plugin deactivation" -msgstr "" +#~ msgid "Deactivate Plugin" +#~ msgstr "Deactivate Plugin" #: src/tables/plugin/PluginListTable.tsx:354 -msgid "The following plugin will be activated" -msgstr "" +#~ msgid "The following plugin will be activated" +#~ msgstr "The following plugin will be activated" #: src/tables/plugin/PluginListTable.tsx:355 -msgid "The following plugin will be deactivated" -msgstr "" +#~ msgid "The following plugin will be deactivated" +#~ msgstr "The following plugin will be deactivated" -#: src/tables/plugin/PluginListTable.tsx:366 -msgid "Confirm" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:376 -msgid "Activating plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:376 -msgid "Deactivating plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:392 -msgid "Plugin updated" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:394 -msgid "The plugin was activated" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:395 -msgid "The plugin was deactivated" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:403 -msgid "Error updating plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:423 +#: src/tables/plugin/PluginListTable.tsx:362 msgid "Deactivate" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:432 +#: src/tables/plugin/PluginListTable.tsx:366 +#~ msgid "Confirm" +#~ msgstr "Confirm" + +#: src/tables/plugin/PluginListTable.tsx:373 msgid "Activate" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:463 +#: src/tables/plugin/PluginListTable.tsx:376 +#~ msgid "Activating plugin" +#~ msgstr "Activating plugin" + +#: src/tables/plugin/PluginListTable.tsx:376 +#~ msgid "Deactivating plugin" +#~ msgstr "Deactivating plugin" + +#: src/tables/plugin/PluginListTable.tsx:392 +#~ msgid "Plugin updated" +#~ msgstr "Plugin updated" + +#: src/tables/plugin/PluginListTable.tsx:394 +#~ msgid "The plugin was activated" +#~ msgstr "The plugin was activated" + +#: src/tables/plugin/PluginListTable.tsx:395 +#~ msgid "The plugin was deactivated" +#~ msgstr "The plugin was deactivated" + +#: src/tables/plugin/PluginListTable.tsx:403 +#~ msgid "Error updating plugin" +#~ msgstr "Error updating plugin" + +#: src/tables/plugin/PluginListTable.tsx:406 msgid "Uninstall" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:495 +#: src/tables/plugin/PluginListTable.tsx:438 msgid "Install plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:508 +#: src/tables/plugin/PluginListTable.tsx:451 msgid "Install" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:512 +#: src/tables/plugin/PluginListTable.tsx:452 msgid "Plugin installed successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:525 +#: src/tables/plugin/PluginListTable.tsx:457 msgid "Uninstall Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:537 +#: src/tables/plugin/PluginListTable.tsx:469 msgid "Confirm plugin uninstall" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:540 +#: src/tables/plugin/PluginListTable.tsx:472 msgid "The selected plugin will be uninstalled." msgstr "" -#: src/tables/plugin/PluginListTable.tsx:541 +#: src/tables/plugin/PluginListTable.tsx:473 msgid "This action cannot be undone." msgstr "" -#: src/tables/plugin/PluginListTable.tsx:547 +#: src/tables/plugin/PluginListTable.tsx:477 msgid "Plugin uninstalled successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:560 +#: src/tables/plugin/PluginListTable.tsx:484 msgid "Delete Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:562 +#: src/tables/plugin/PluginListTable.tsx:485 msgid "Deleting this plugin configuration will remove all associated settings and data. Are you sure you want to delete this plugin?" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:574 +#: src/tables/plugin/PluginListTable.tsx:498 msgid "Plugins reloaded" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:575 +#: src/tables/plugin/PluginListTable.tsx:499 msgid "Plugins were reloaded successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:591 +#: src/tables/plugin/PluginListTable.tsx:515 msgid "Reload Plugins" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:600 +#: src/tables/plugin/PluginListTable.tsx:524 msgid "Install Plugin" msgstr "" +#: src/tables/plugin/PluginListTable.tsx:544 +msgid "Plugin Detail" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:573 +msgid "Sample" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:578 +#: src/tables/stock/StockItemTable.tsx:305 +msgid "Installed" +msgstr "" + #: src/tables/plugin/PluginListTable.tsx:615 #~ msgid "Plugin detail" #~ msgstr "Plugin detail" -#: src/tables/plugin/PluginListTable.tsx:619 -msgid "Plugin Detail" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:648 -msgid "Sample" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:653 -#: src/tables/stock/StockItemTable.tsx:305 -msgid "Installed" -msgstr "" - -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:57 -msgid "Edit Parameter" +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:59 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:108 +msgid "Add Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:60 -msgid "Parameter updated" -msgstr "" +#~ msgid "Parameter updated" +#~ msgstr "Parameter updated" -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:71 -msgid "Delete Parameter" +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:70 +msgid "Edit Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:73 -msgid "Parameter deleted" -msgstr "" +#~ msgid "Parameter deleted" +#~ msgstr "Parameter deleted" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:74 -msgid "Are you sure you want to delete this parameter?" +#~ msgid "Are you sure you want to delete this parameter?" +#~ msgstr "Are you sure you want to delete this parameter?" + +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:78 +msgid "Delete Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartTable.tsx:63 #~ msgid "Create Manufacturer Part" #~ msgstr "Create Manufacturer Part" -#: src/tables/purchasing/ManufacturerPartTable.tsx:100 -msgid "Manufacturer part updated" -msgstr "" - -#: src/tables/purchasing/ManufacturerPartTable.tsx:111 +#: src/tables/purchasing/ManufacturerPartTable.tsx:92 msgid "Delete Manufacturer Part" msgstr "" +#: src/tables/purchasing/ManufacturerPartTable.tsx:100 +#~ msgid "Manufacturer part updated" +#~ msgstr "Manufacturer part updated" + #: src/tables/purchasing/ManufacturerPartTable.tsx:112 -msgid "Manufacturer part deleted" -msgstr "" +#~ msgid "Manufacturer part deleted" +#~ msgstr "Manufacturer part deleted" #: src/tables/purchasing/ManufacturerPartTable.tsx:114 -msgid "Are you sure you want to remove this manufacturer part?" -msgstr "" +#~ msgid "Are you sure you want to remove this manufacturer part?" +#~ msgstr "Are you sure you want to remove this manufacturer part?" #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:86 msgid "Part Description" @@ -6087,18 +6238,22 @@ msgid "Error Information" msgstr "" #: src/tables/settings/ErrorTable.tsx:51 -msgid "Delete error report" +msgid "Delete Error Report" msgstr "" +#: src/tables/settings/ErrorTable.tsx:51 +#~ msgid "Delete error report" +#~ msgstr "Delete error report" + #: src/tables/settings/ErrorTable.tsx:53 -msgid "Error report deleted" -msgstr "" - -#: src/tables/settings/ErrorTable.tsx:54 msgid "Are you sure you want to delete this error report?" msgstr "" -#: src/tables/settings/ErrorTable.tsx:67 +#: src/tables/settings/ErrorTable.tsx:55 +msgid "Error report deleted" +msgstr "" + +#: src/tables/settings/ErrorTable.tsx:77 #: src/tables/settings/FailedTasksTable.tsx:57 msgid "Error Details" msgstr "" @@ -6115,7 +6270,7 @@ msgid "Task ID" msgstr "" #: src/tables/settings/FailedTasksTable.tsx:34 -#: src/tables/stock/StockItemTestResultTable.tsx:214 +#: src/tables/stock/StockItemTestResultTable.tsx:205 msgid "Started" msgstr "" @@ -6188,30 +6343,71 @@ msgstr "" msgid "Next Run" msgstr "" -#: src/tables/settings/TemplateTable.tsx:120 -msgid "{templateTypeTranslation} with id {id} not found" +#: src/tables/settings/TemplateTable.tsx:82 +msgid "Template not found" msgstr "" +#: src/tables/settings/TemplateTable.tsx:84 +msgid "An error occurred while fetching template details" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:120 +#~ msgid "{templateTypeTranslation} with id {id} not found" +#~ msgstr "{templateTypeTranslation} with id {id} not found" + #: src/tables/settings/TemplateTable.tsx:124 -msgid "An error occurred while fetching {templateTypeTranslation} details" -msgstr "" +#~ msgid "An error occurred while fetching {templateTypeTranslation} details" +#~ msgstr "An error occurred while fetching {templateTypeTranslation} details" #: src/tables/settings/TemplateTable.tsx:146 -msgid "actions" +#~ msgid "actions" +#~ msgstr "actions" + +#: src/tables/settings/TemplateTable.tsx:170 +msgid "Modify" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:171 +msgid "Modify template file" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:222 +#: src/tables/settings/TemplateTable.tsx:289 +msgid "Edit Template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:230 +msgid "Delete template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:236 +msgid "Add Template" msgstr "" #: src/tables/settings/TemplateTable.tsx:243 -msgid "Add new" -msgstr "" +#~ msgid "Add new" +#~ msgstr "Add new" #: src/tables/settings/TemplateTable.tsx:243 #~ msgid "Create new" #~ msgstr "Create new" -#: src/tables/settings/TemplateTable.tsx:276 +#: src/tables/settings/TemplateTable.tsx:249 +msgid "Add template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:271 msgid "Filter by enabled status" msgstr "" +#: src/tables/settings/TemplateTable.tsx:276 +msgid "Model Type" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:277 +msgid "Filter by target model type" +msgstr "" + #: src/tables/settings/UserTable.tsx:79 msgid "User with id {id} not found" msgstr "" @@ -6277,6 +6473,23 @@ msgstr "" msgid "Edit user" msgstr "" +#: src/tables/stock/LocationTypesTable.tsx:36 +#: src/tables/stock/LocationTypesTable.tsx:105 +msgid "Add Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:44 +msgid "Edit Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:52 +msgid "Delete Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:69 +msgid "Icon" +msgstr "" + #: src/tables/stock/StockItemTable.tsx:90 msgid "This stock item is in production" msgstr "" @@ -6338,7 +6551,7 @@ msgid "Show items which are available" msgstr "" #: src/tables/stock/StockItemTable.tsx:280 -#: src/tables/stock/StockLocationTable.tsx:37 +#: src/tables/stock/StockLocationTable.tsx:33 msgid "Include Sublocations" msgstr "" @@ -6467,123 +6680,135 @@ msgstr "" msgid "Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:153 +#: src/tables/stock/StockItemTestResultTable.tsx:151 msgid "Test result for installed stock item" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:164 +#: src/tables/stock/StockItemTestResultTable.tsx:162 msgid "Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:170 +#: src/tables/stock/StockItemTestResultTable.tsx:168 msgid "No Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:186 +#: src/tables/stock/StockItemTestResultTable.tsx:184 msgid "Attachment" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:209 +#: src/tables/stock/StockItemTestResultTable.tsx:200 msgid "Test station" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:229 +#: src/tables/stock/StockItemTestResultTable.tsx:220 msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:277 -#: src/tables/stock/StockItemTestResultTable.tsx:349 -#: src/tables/stock/StockItemTestResultTable.tsx:404 +#: src/tables/stock/StockItemTestResultTable.tsx:268 +#: src/tables/stock/StockItemTestResultTable.tsx:340 +#: src/tables/stock/StockItemTestResultTable.tsx:395 msgid "Add Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:279 +#: src/tables/stock/StockItemTestResultTable.tsx:270 msgid "Test result added" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:288 -#: src/tables/stock/StockItemTestResultTable.tsx:359 +#: src/tables/stock/StockItemTestResultTable.tsx:279 +#: src/tables/stock/StockItemTestResultTable.tsx:350 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:290 +#: src/tables/stock/StockItemTestResultTable.tsx:281 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:296 -#: src/tables/stock/StockItemTestResultTable.tsx:368 +#: src/tables/stock/StockItemTestResultTable.tsx:287 +#: src/tables/stock/StockItemTestResultTable.tsx:359 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:298 +#: src/tables/stock/StockItemTestResultTable.tsx:289 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:312 +#: src/tables/stock/StockItemTestResultTable.tsx:303 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:313 +#: src/tables/stock/StockItemTestResultTable.tsx:304 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:320 +#: src/tables/stock/StockItemTestResultTable.tsx:311 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:337 +#: src/tables/stock/StockItemTestResultTable.tsx:328 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:386 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:390 +#: src/tables/stock/StockItemTestResultTable.tsx:381 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:391 +#: src/tables/stock/StockItemTestResultTable.tsx:382 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:395 +#: src/tables/stock/StockItemTestResultTable.tsx:386 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:396 +#: src/tables/stock/StockItemTestResultTable.tsx:387 msgid "Show only passed tests" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:38 +#: src/tables/stock/StockLocationTable.tsx:34 msgid "Include sublocations in results" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:42 +#: src/tables/stock/StockLocationTable.tsx:38 msgid "structural" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:43 +#: src/tables/stock/StockLocationTable.tsx:39 msgid "Show structural locations" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:47 +#: src/tables/stock/StockLocationTable.tsx:43 msgid "external" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:48 +#: src/tables/stock/StockLocationTable.tsx:44 msgid "Show external locations" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:52 +#: src/tables/stock/StockLocationTable.tsx:48 msgid "Has location type" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:89 -#: src/tables/stock/StockLocationTable.tsx:118 +#: src/tables/stock/StockLocationTable.tsx:85 +#: src/tables/stock/StockLocationTable.tsx:110 msgid "Add Stock Location" msgstr "" +#: src/tables/stock/StockTrackingTable.tsx:64 +msgid "Added" +msgstr "" + +#: src/tables/stock/StockTrackingTable.tsx:69 +msgid "Removed" +msgstr "" + +#: src/tables/stock/StockTrackingTable.tsx:198 +msgid "No user information" +msgstr "" + #: src/views/MobileAppView.tsx:22 msgid "Mobile viewport detected" msgstr "" diff --git a/src/frontend/src/locales/sv/messages.po b/src/frontend/src/locales/sv/messages.po index 64f68d8a0b..e064934b8e 100644 --- a/src/frontend/src/locales/sv/messages.po +++ b/src/frontend/src/locales/sv/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: sv\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-05-13 02:48\n" +"PO-Revision-Date: 2024-05-23 11:39\n" "Last-Translator: \n" "Language-Team: Swedish\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -30,10 +30,67 @@ msgstr "" msgid "Title" msgstr "Titel" +#: src/components/buttons/AdminButton.tsx:83 +msgid "Open in admin interface" +msgstr "" + #: src/components/buttons/CopyButton.tsx:18 msgid "Copy to clipboard" msgstr "" +#: src/components/buttons/PrintingActions.tsx:95 +msgid "Print Label" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:101 +msgid "Label printing completed successfully" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:106 +#: src/components/buttons/PrintingActions.tsx:143 +#: src/components/forms/ApiForm.tsx:504 +#: src/components/forms/fields/ApiFormField.tsx:295 +#: src/components/modals/LicenseModal.tsx:75 +#: src/components/nav/SearchDrawer.tsx:413 +#: src/components/widgets/MarkdownEditor.tsx:107 +#: src/components/widgets/MarkdownEditor.tsx:153 +#: src/pages/ErrorPage.tsx:12 +#: src/pages/ErrorPage.tsx:25 +#: src/pages/part/PartPricingPanel.tsx:71 +#: src/tables/InvenTreeTable.tsx:451 +#: src/tables/InvenTreeTable.tsx:531 +#: src/tables/stock/StockItemTestResultTable.tsx:310 +msgid "Error" +msgstr "Fel" + +#: src/components/buttons/PrintingActions.tsx:107 +msgid "The label could not be generated" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:122 +msgid "Print Report" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:138 +msgid "Report printing completed successfully" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:144 +msgid "The report could not be generated" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:171 +msgid "Printing Actions" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:176 +msgid "Print Labels" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:182 +msgid "Print Reports" +msgstr "" + #: src/components/buttons/ScanButton.tsx:15 msgid "Scan QR code" msgstr "Skanna QR-kod" @@ -64,15 +121,15 @@ msgstr "Ja" msgid "No" msgstr "Nej" -#: src/components/details/Details.tsx:302 +#: src/components/details/Details.tsx:303 msgid "No name defined" msgstr "" -#: src/components/details/Details.tsx:339 +#: src/components/details/Details.tsx:340 msgid "Copied" msgstr "" -#: src/components/details/Details.tsx:339 +#: src/components/details/Details.tsx:340 msgid "Copy" msgstr "Kopiera" @@ -85,24 +142,23 @@ msgid "Remove the associated image from this item?" msgstr "" #: src/components/details/DetailsImage.tsx:71 -#: src/forms/StockForms.tsx:442 +#: src/forms/StockForms.tsx:483 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:448 +#: src/pages/stock/StockDetail.tsx:462 msgid "Remove" msgstr "" #: src/components/details/DetailsImage.tsx:71 -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:163 -#: src/components/items/ActionDropdown.tsx:222 -#: src/components/items/ActionDropdown.tsx:223 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 +#: src/components/items/ActionDropdown.tsx:229 +#: src/components/items/ActionDropdown.tsx:230 #: src/contexts/ThemeContext.tsx:43 #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:40 -#: src/tables/FilterSelectDrawer.tsx:218 -#: src/tables/InvenTreeTable.tsx:493 -#: src/tables/build/BuildOutputTable.tsx:223 -#: src/tables/plugin/PluginListTable.tsx:365 +#: src/tables/FilterSelectDrawer.tsx:207 +#: src/tables/InvenTreeTable.tsx:499 +#: src/tables/build/BuildOutputTable.tsx:225 msgid "Cancel" msgstr "Avbryt" @@ -119,7 +175,7 @@ msgid "Clear" msgstr "Rensa" #: src/components/details/DetailsImage.tsx:227 -#: src/components/forms/ApiForm.tsx:554 +#: src/components/forms/ApiForm.tsx:571 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:56 msgid "Submit" @@ -150,9 +206,10 @@ msgid "Part is not active" msgstr "" #: src/components/details/PartIcons.tsx:34 -#: src/pages/company/CompanyDetail.tsx:308 -#: src/pages/company/SupplierPartDetail.tsx:304 -#: src/pages/part/PartDetail.tsx:684 +#: src/components/render/Plugin.tsx:17 +#: src/pages/company/CompanyDetail.tsx:310 +#: src/pages/company/SupplierPartDetail.tsx:305 +#: src/pages/part/PartDetail.tsx:685 msgid "Inactive" msgstr "" @@ -196,10 +253,10 @@ msgid "Code" msgstr "Kod" #: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:44 -msgid "Failed to parse error response from server." -msgstr "" +#~ msgid "Failed to parse error response from server." +#~ msgstr "Failed to parse error response from server." -#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:82 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:81 msgid "Preview not available, click \"Reload Preview\"." msgstr "" @@ -207,98 +264,99 @@ msgstr "" msgid "PDF Preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:113 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:104 msgid "Error loading template" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:125 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:116 msgid "Error saving template" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 -msgid "Save & Reload preview?" +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:146 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:270 +msgid "Save & Reload Preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:156 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 msgid "Are you sure you want to Save & Reload the preview?" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 +#~ msgid "Save & Reload preview?" +#~ msgstr "Save & Reload preview?" + +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:153 msgid "To render the preview the current template needs to be replaced on the server with your modifications which may break the label if it is under active use. Do you want to proceed?" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:162 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:157 msgid "Save & Reload" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:191 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:189 msgid "Preview updated" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:192 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:190 msgid "The preview has been updated successfully." msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:255 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:262 msgid "Reload preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:256 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:263 msgid "Use the currently stored template from the server" msgstr "" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:263 -msgid "Save & Reload preview" -msgstr "" +#~ msgid "Save & Reload preview" +#~ msgstr "Save & Reload preview" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:264 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:271 msgid "Save the current template and reload the preview" msgstr "" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:322 -#: src/tables/part/PartThumbTable.tsx:203 -msgid "Select" +#~ msgid "to preview" +#~ msgstr "to preview" + +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:329 +msgid "Select instance to preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:322 -msgid "to preview" -msgstr "" - -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:366 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:373 msgid "Error rendering template" msgstr "" -#: src/components/forms/ApiForm.tsx:143 +#: src/components/forms/ApiForm.tsx:148 #: src/functions/forms.tsx:259 msgid "Form Error" msgstr "" -#: src/components/forms/ApiForm.tsx:411 +#: src/components/forms/ApiForm.tsx:428 #: src/components/widgets/MarkdownEditor.tsx:145 msgid "Success" msgstr "" #: src/components/forms/ApiForm.tsx:487 -msgid "Form Errors Exist" -msgstr "" +#~ msgid "Form Errors Exist" +#~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:592 -#: src/tables/plugin/PluginListTable.tsx:445 +#: src/components/forms/ApiForm.tsx:609 +#: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "" -#: src/components/forms/ApiForm.tsx:612 -#: src/components/items/ActionDropdown.tsx:203 +#: src/components/forms/ApiForm.tsx:629 +#: src/components/items/ActionDropdown.tsx:210 #: src/functions/forms.tsx:299 #: src/hooks/UseForm.tsx:122 #: src/pages/Index/Scan.tsx:343 #: src/pages/Notifications.tsx:123 -#: src/tables/InvenTreeTable.tsx:492 +#: src/tables/InvenTreeTable.tsx:498 #: src/tables/RowActions.tsx:71 -#: src/tables/plugin/PluginListTable.tsx:477 -#: src/tables/settings/TemplateTable.tsx:105 -#: src/tables/settings/TemplateTable.tsx:154 -#: src/tables/settings/TemplateTable.tsx:236 +#: src/tables/plugin/PluginListTable.tsx:420 msgid "Delete" msgstr "Radera" @@ -468,18 +526,19 @@ msgstr "Värd" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 -#: src/pages/part/CategoryDetail.tsx:77 -#: src/pages/part/PartDetail.tsx:125 -#: src/pages/stock/LocationDetail.tsx:83 +#: src/pages/part/CategoryDetail.tsx:78 +#: src/pages/part/PartDetail.tsx:126 +#: src/pages/stock/LocationDetail.tsx:85 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 #: src/tables/machine/MachineTypeTable.tsx:216 #: src/tables/machine/MachineTypeTable.tsx:319 #: src/tables/plugin/PluginErrorTable.tsx:33 -#: src/tables/plugin/PluginListTable.tsx:169 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:27 +#: src/tables/plugin/PluginListTable.tsx:126 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:32 #: src/tables/settings/GroupTable.tsx:103 #: src/tables/settings/PendingTasksTable.tsx:26 +#: src/tables/stock/LocationTypesTable.tsx:60 msgid "Name" msgstr "Namn" @@ -520,35 +579,20 @@ msgstr "Namn: {0}" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/ApiFormField.tsx:276 -#: src/components/modals/LicenseModal.tsx:75 -#: src/components/nav/SearchDrawer.tsx:413 -#: src/components/widgets/MarkdownEditor.tsx:107 -#: src/components/widgets/MarkdownEditor.tsx:153 -#: src/pages/ErrorPage.tsx:12 -#: src/pages/ErrorPage.tsx:25 -#: src/pages/part/PartPricingPanel.tsx:71 -#: src/tables/InvenTreeTable.tsx:445 -#: src/tables/InvenTreeTable.tsx:525 -#: src/tables/plugin/PluginListTable.tsx:402 -#: src/tables/stock/StockItemTestResultTable.tsx:319 -msgid "Error" -msgstr "Fel" - -#: src/components/forms/fields/RelatedModelField.tsx:305 +#: src/components/forms/fields/RelatedModelField.tsx:315 #: src/pages/Index/Settings/UserSettings.tsx:64 #: src/tables/Search.tsx:23 msgid "Search" msgstr "Sök" -#: src/components/forms/fields/RelatedModelField.tsx:306 +#: src/components/forms/fields/RelatedModelField.tsx:316 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:120 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:308 +#: src/components/forms/fields/RelatedModelField.tsx:318 msgid "No results found" msgstr "Inga resultat hittades" @@ -569,54 +613,51 @@ msgstr "" msgid "Thumbnail" msgstr "Miniatyrbild" -#: src/components/items/ActionDropdown.tsx:112 -#: src/pages/build/BuildDetail.tsx:354 +#: src/components/items/ActionDropdown.tsx:119 +#: src/pages/build/BuildDetail.tsx:360 msgid "Barcode Actions" msgstr "" -#: src/components/items/ActionDropdown.tsx:129 +#: src/components/items/ActionDropdown.tsx:136 msgid "View" msgstr "" -#: src/components/items/ActionDropdown.tsx:130 +#: src/components/items/ActionDropdown.tsx:137 msgid "View barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:146 +#: src/components/items/ActionDropdown.tsx:153 msgid "Link Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:147 +#: src/components/items/ActionDropdown.tsx:154 msgid "Link custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:163 -#: src/forms/PurchaseOrderForms.tsx:375 +#: src/components/items/ActionDropdown.tsx:170 +#: src/forms/PurchaseOrderForms.tsx:389 msgid "Unlink Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:164 +#: src/components/items/ActionDropdown.tsx:171 msgid "Unlink custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:182 +#: src/components/items/ActionDropdown.tsx:189 #: src/tables/RowActions.tsx:51 -#: src/tables/settings/TemplateTable.tsx:87 -#: src/tables/settings/TemplateTable.tsx:150 -#: src/tables/settings/TemplateTable.tsx:287 msgid "Edit" msgstr "Redigera" -#: src/components/items/ActionDropdown.tsx:204 +#: src/components/items/ActionDropdown.tsx:211 msgid "Delete item" msgstr "" -#: src/components/items/ActionDropdown.tsx:241 +#: src/components/items/ActionDropdown.tsx:248 #: src/tables/RowActions.tsx:31 msgid "Duplicate" msgstr "" -#: src/components/items/ActionDropdown.tsx:242 +#: src/components/items/ActionDropdown.tsx:249 msgid "Duplicate item" msgstr "" @@ -625,7 +666,7 @@ msgid "Read More" msgstr "Läs mer" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:437 +#: src/tables/InvenTreeTable.tsx:443 msgid "Unknown error" msgstr "Okänt fel" @@ -785,27 +826,27 @@ msgstr "Fel vid avbrott" #: src/components/modals/QrCodeModal.tsx:154 #: src/defaults/menuItems.tsx:21 -#: src/pages/Index/Scan.tsx:747 +#: src/pages/Index/Scan.tsx:746 msgid "Scanning" msgstr "Scannar" #: src/components/modals/QrCodeModal.tsx:154 -#: src/pages/Index/Scan.tsx:747 +#: src/pages/Index/Scan.tsx:746 msgid "Not scanning" msgstr "Starta skanning" #: src/components/modals/QrCodeModal.tsx:159 -#: src/pages/Index/Scan.tsx:753 +#: src/pages/Index/Scan.tsx:752 msgid "Select Camera" msgstr "Välj kamera" #: src/components/modals/QrCodeModal.tsx:169 -#: src/pages/Index/Scan.tsx:738 +#: src/pages/Index/Scan.tsx:737 msgid "Start scanning" msgstr "Starta skanning" #: src/components/modals/QrCodeModal.tsx:176 -#: src/pages/Index/Scan.tsx:730 +#: src/pages/Index/Scan.tsx:729 msgid "Stop scanning" msgstr "Stoppa skanning" @@ -891,8 +932,8 @@ msgid "Email settings not configured" msgstr "" #: src/components/modals/ServerInfoModal.tsx:121 -#: src/tables/plugin/PluginListTable.tsx:187 -#: src/tables/plugin/PluginListTable.tsx:319 +#: src/tables/plugin/PluginListTable.tsx:144 +#: src/tables/plugin/PluginListTable.tsx:294 msgid "Version" msgstr "" @@ -926,13 +967,13 @@ msgstr "Kontoinställningar" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:293 +#: src/pages/Index/Settings/SystemSettings.tsx:294 msgid "System Settings" msgstr "" #: src/components/nav/MainMenu.tsx:67 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:172 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 msgid "Admin Center" msgstr "" @@ -975,7 +1016,7 @@ msgid "Pages" msgstr "Sidor" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:133 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:153 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "Plugins" @@ -1013,9 +1054,9 @@ msgid "Mark as read" msgstr "" #: src/components/nav/PartCategoryTree.tsx:158 -#: src/components/render/ModelType.tsx:60 +#: src/components/render/ModelType.tsx:64 #: src/pages/Index/Settings/SystemSettings.tsx:162 -#: src/pages/part/CategoryDetail.tsx:248 +#: src/pages/part/CategoryDetail.tsx:249 msgid "Part Categories" msgstr "Artikelkategorier" @@ -1052,142 +1093,147 @@ msgid "No results available for search query" msgstr "Inga resultat tillgängliga för sökfrågan" #: src/components/nav/StockLocationTree.tsx:93 -#: src/components/render/ModelType.tsx:76 -#: src/pages/stock/LocationDetail.tsx:175 +#: src/components/render/ModelType.tsx:82 +#: src/pages/stock/LocationDetail.tsx:185 msgid "Stock Locations" msgstr "Lagerplats" -#: src/components/render/Instance.tsx:137 +#: src/components/render/Instance.tsx:166 msgid "Unknown model: {model}" msgstr "" -#: src/components/render/ModelType.tsx:21 -#: src/forms/BuildForms.tsx:184 -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49 +#: src/components/render/ModelType.tsx:22 +#: src/forms/BuildForms.tsx:201 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:83 #: src/pages/part/PartDetail.tsx:828 #: src/tables/part/RelatedPartTable.tsx:45 +#: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" msgstr "Artkel" -#: src/components/render/ModelType.tsx:22 +#: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 #: src/pages/Index/Settings/SystemSettings.tsx:167 -#: src/pages/part/CategoryDetail.tsx:109 -#: src/pages/part/CategoryDetail.tsx:234 -#: src/pages/part/CategoryDetail.tsx:264 -#: src/pages/part/PartDetail.tsx:638 +#: src/pages/part/CategoryDetail.tsx:110 +#: src/pages/part/CategoryDetail.tsx:235 +#: src/pages/part/CategoryDetail.tsx:265 +#: src/pages/part/PartDetail.tsx:639 msgid "Parts" msgstr "Artiklar" -#: src/components/render/ModelType.tsx:29 +#: src/components/render/ModelType.tsx:31 msgid "Part Parameter Template" msgstr "" -#: src/components/render/ModelType.tsx:30 +#: src/components/render/ModelType.tsx:32 msgid "Part Parameter Templates" msgstr "" -#: src/components/render/ModelType.tsx:36 +#: src/components/render/ModelType.tsx:38 msgid "Part Test Template" msgstr "" -#: src/components/render/ModelType.tsx:37 +#: src/components/render/ModelType.tsx:39 msgid "Part Test Templates" msgstr "" -#: src/components/render/ModelType.tsx:43 -#: src/pages/company/SupplierPartDetail.tsx:189 -#: src/pages/company/SupplierPartDetail.tsx:317 -#: src/pages/stock/StockDetail.tsx:159 +#: src/components/render/ModelType.tsx:45 +#: src/pages/company/SupplierPartDetail.tsx:190 +#: src/pages/company/SupplierPartDetail.tsx:318 +#: src/pages/stock/StockDetail.tsx:162 #: src/tables/purchasing/SupplierPartTable.tsx:68 msgid "Supplier Part" msgstr "" -#: src/components/render/ModelType.tsx:44 +#: src/components/render/ModelType.tsx:46 msgid "Supplier Parts" msgstr "Leverantörsartikel" -#: src/components/render/ModelType.tsx:51 -#: src/pages/company/ManufacturerPartDetail.tsx:124 +#: src/components/render/ModelType.tsx:54 +#: src/pages/company/ManufacturerPartDetail.tsx:125 msgid "Manufacturer Part" msgstr "" -#: src/components/render/ModelType.tsx:52 +#: src/components/render/ModelType.tsx:55 msgid "Manufacturer Parts" msgstr "Tillverkarens artiklar" -#: src/components/render/ModelType.tsx:59 -#: src/pages/part/CategoryDetail.tsx:287 +#: src/components/render/ModelType.tsx:63 +#: src/pages/part/CategoryDetail.tsx:288 msgid "Part Category" msgstr "" -#: src/components/render/ModelType.tsx:67 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67 -#: src/pages/stock/StockDetail.tsx:535 +#: src/components/render/ModelType.tsx:72 +#: src/pages/stock/StockDetail.tsx:548 +#: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" msgstr "" -#: src/components/render/ModelType.tsx:68 -#: src/pages/company/CompanyDetail.tsx:197 -#: src/pages/stock/LocationDetail.tsx:116 -#: src/pages/stock/LocationDetail.tsx:161 +#: src/components/render/ModelType.tsx:73 +#: src/pages/company/CompanyDetail.tsx:199 +#: src/pages/stock/LocationDetail.tsx:118 +#: src/pages/stock/LocationDetail.tsx:171 #: src/pages/stock/LocationDetail.tsx:365 msgid "Stock Items" msgstr "Artikel i lager" -#: src/components/render/ModelType.tsx:75 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:154 +#: src/components/render/ModelType.tsx:81 msgid "Stock Location" msgstr "" -#: src/components/render/ModelType.tsx:83 +#: src/components/render/ModelType.tsx:90 +msgid "Stock Location Type" +msgstr "" + +#: src/components/render/ModelType.tsx:91 +msgid "Stock Location Types" +msgstr "" + +#: src/components/render/ModelType.tsx:95 msgid "Stock History" msgstr "" -#: src/components/render/ModelType.tsx:84 +#: src/components/render/ModelType.tsx:96 msgid "Stock Histories" msgstr "" -#: src/components/render/ModelType.tsx:88 +#: src/components/render/ModelType.tsx:100 #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:43 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:126 msgid "Build" msgstr "Bygg" -#: src/components/render/ModelType.tsx:89 +#: src/components/render/ModelType.tsx:101 msgid "Builds" msgstr "" -#: src/components/render/ModelType.tsx:96 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:76 +#: src/components/render/ModelType.tsx:109 msgid "Build Line" msgstr "" -#: src/components/render/ModelType.tsx:97 +#: src/components/render/ModelType.tsx:110 msgid "Build Lines" msgstr "" -#: src/components/render/ModelType.tsx:104 -#: src/pages/company/CompanyDetail.tsx:321 +#: src/components/render/ModelType.tsx:117 +#: src/pages/company/CompanyDetail.tsx:323 msgid "Company" msgstr "" -#: src/components/render/ModelType.tsx:105 +#: src/components/render/ModelType.tsx:118 msgid "Companies" msgstr "Företag" -#: src/components/render/ModelType.tsx:112 +#: src/components/render/ModelType.tsx:126 #: src/tables/TableHoverCard.tsx:58 #: src/tables/build/BuildOrderTable.tsx:131 #: src/tables/purchasing/PurchaseOrderTable.tsx:64 @@ -1196,170 +1242,199 @@ msgstr "Företag" msgid "Project Code" msgstr "Projektkod" -#: src/components/render/ModelType.tsx:113 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:97 +#: src/components/render/ModelType.tsx:127 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:105 msgid "Project Codes" msgstr "Projektkoder" -#: src/components/render/ModelType.tsx:119 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99 +#: src/components/render/ModelType.tsx:133 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:355 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:362 +#: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" msgstr "" -#: src/components/render/ModelType.tsx:120 -#: src/pages/Index/Settings/SystemSettings.tsx:242 -#: src/pages/company/CompanyDetail.tsx:190 -#: src/pages/company/SupplierPartDetail.tsx:223 -#: src/pages/part/PartDetail.tsx:571 +#: src/components/render/ModelType.tsx:134 +#: src/pages/Index/Settings/SystemSettings.tsx:243 +#: src/pages/company/CompanyDetail.tsx:192 +#: src/pages/company/SupplierPartDetail.tsx:224 +#: src/pages/part/PartDetail.tsx:572 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "Inköpsorder" -#: src/components/render/ModelType.tsx:127 +#: src/components/render/ModelType.tsx:142 msgid "Purchase Order Line" msgstr "" -#: src/components/render/ModelType.tsx:128 +#: src/components/render/ModelType.tsx:143 msgid "Purchase Order Lines" msgstr "" -#: src/components/render/ModelType.tsx:132 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:108 +#: src/components/render/ModelType.tsx:147 #: src/pages/build/BuildDetail.tsx:131 -#: src/pages/sales/SalesOrderDetail.tsx:340 -#: src/pages/stock/StockDetail.tsx:207 +#: src/pages/sales/SalesOrderDetail.tsx:347 +#: src/pages/stock/StockDetail.tsx:210 +#: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" msgstr "" -#: src/components/render/ModelType.tsx:133 -#: src/pages/Index/Settings/SystemSettings.tsx:257 -#: src/pages/company/CompanyDetail.tsx:210 -#: src/pages/part/PartDetail.tsx:577 +#: src/components/render/ModelType.tsx:148 +#: src/pages/Index/Settings/SystemSettings.tsx:258 +#: src/pages/company/CompanyDetail.tsx:212 +#: src/pages/part/PartDetail.tsx:578 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "Försäljningsorder" -#: src/components/render/ModelType.tsx:140 +#: src/components/render/ModelType.tsx:156 msgid "Sales Order Shipment" msgstr "" -#: src/components/render/ModelType.tsx:141 +#: src/components/render/ModelType.tsx:157 msgid "Sales Order Shipments" msgstr "" -#: src/components/render/ModelType.tsx:147 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:117 -#: src/pages/sales/ReturnOrderDetail.tsx:318 +#: src/components/render/ModelType.tsx:163 +#: src/pages/sales/ReturnOrderDetail.tsx:325 +#: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "" -#: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:272 -#: src/pages/company/CompanyDetail.tsx:217 +#: src/components/render/ModelType.tsx:164 +#: src/pages/Index/Settings/SystemSettings.tsx:273 +#: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" msgstr "Returorder" -#: src/components/render/ModelType.tsx:155 +#: src/components/render/ModelType.tsx:172 #: src/tables/company/AddressTable.tsx:47 msgid "Address" msgstr "" -#: src/components/render/ModelType.tsx:156 -#: src/pages/company/CompanyDetail.tsx:247 +#: src/components/render/ModelType.tsx:173 +#: src/pages/company/CompanyDetail.tsx:249 msgid "Addresses" msgstr "" -#: src/components/render/ModelType.tsx:162 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:189 -#: src/pages/sales/ReturnOrderDetail.tsx:157 -#: src/pages/sales/SalesOrderDetail.tsx:161 +#: src/components/render/ModelType.tsx:179 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:191 +#: src/pages/sales/ReturnOrderDetail.tsx:159 +#: src/pages/sales/SalesOrderDetail.tsx:163 msgid "Contact" msgstr "" -#: src/components/render/ModelType.tsx:163 -#: src/pages/company/CompanyDetail.tsx:241 +#: src/components/render/ModelType.tsx:180 +#: src/pages/company/CompanyDetail.tsx:243 msgid "Contacts" msgstr "" -#: src/components/render/ModelType.tsx:169 +#: src/components/render/ModelType.tsx:186 msgid "Owner" msgstr "" -#: src/components/render/ModelType.tsx:170 +#: src/components/render/ModelType.tsx:187 msgid "Owners" msgstr "" -#: src/components/render/ModelType.tsx:176 +#: src/components/render/ModelType.tsx:193 +#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "Användare" -#: src/components/render/ModelType.tsx:177 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:73 +#: src/components/render/ModelType.tsx:194 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:81 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "Användare" -#: src/components/render/Order.tsx:87 +#: src/components/render/ModelType.tsx:200 +msgid "Label Template" +msgstr "" + +#: src/components/render/ModelType.tsx:201 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:135 +msgid "Label Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:207 +msgid "Report Template" +msgstr "" + +#: src/components/render/ModelType.tsx:208 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:141 +msgid "Report Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:214 +msgid "Plugin Configuration" +msgstr "" + +#: src/components/render/ModelType.tsx:215 +msgid "Plugin Configurations" +msgstr "" + +#: src/components/render/Order.tsx:104 msgid "Shipment" msgstr "" -#: src/components/render/Part.tsx:12 +#: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:198 -#: src/pages/part/PartDetail.tsx:491 +#: src/pages/Index/Settings/SystemSettings.tsx:199 +#: src/pages/part/PartDetail.tsx:492 #: src/pages/stock/LocationDetail.tsx:344 -#: src/pages/stock/StockDetail.tsx:344 +#: src/pages/stock/StockDetail.tsx:352 #: src/tables/stock/StockItemTable.tsx:57 msgid "Stock" msgstr "Lagersaldo" -#: src/components/render/Stock.tsx:26 -#: src/pages/stock/StockDetail.tsx:142 -#: src/pages/stock/StockDetail.tsx:501 +#: src/components/render/Stock.tsx:52 +#: src/pages/stock/StockDetail.tsx:145 +#: src/pages/stock/StockDetail.tsx:514 msgid "Serial Number" msgstr "" -#: src/components/render/Stock.tsx:28 -#: src/forms/BuildForms.tsx:189 +#: src/components/render/Stock.tsx:54 +#: src/forms/BuildForms.tsx:206 #: src/pages/part/pricing/BomPricingPanel.tsx:144 -#: src/pages/part/pricing/PriceBreakPanel.tsx:96 -#: src/pages/stock/StockDetail.tsx:137 -#: src/pages/stock/StockDetail.tsx:507 +#: src/pages/part/pricing/PriceBreakPanel.tsx:94 +#: src/pages/stock/StockDetail.tsx:140 +#: src/pages/stock/StockDetail.tsx:520 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:73 +#: src/tables/stock/StockTrackingTable.tsx:59 msgid "Quantity" msgstr "Antal" -#: src/components/settings/SettingItem.tsx:46 -#: src/components/settings/SettingItem.tsx:99 -msgid "Setting updated" -msgstr "" - #: src/components/settings/SettingItem.tsx:47 #: src/components/settings/SettingItem.tsx:100 -msgid "{0} updated successfully" -msgstr "" +#~ msgid "{0} updated successfully" +#~ msgstr "{0} updated successfully" -#: src/components/settings/SettingItem.tsx:55 -msgid "Error editing setting" -msgstr "" - -#: src/components/settings/SettingItem.tsx:92 +#: src/components/settings/SettingList.tsx:67 msgid "Edit Setting" msgstr "" -#: src/components/settings/SettingList.tsx:63 -msgid "No settings specified" +#: src/components/settings/SettingList.tsx:78 +#: src/components/settings/SettingList.tsx:108 +msgid "Setting {0} updated successfully" msgstr "" -#: src/components/tables/ColumnRenderers.tsx:134 -#~ msgid "Shipment Date" -#~ msgstr "Shipment Date" +#: src/components/settings/SettingList.tsx:107 +msgid "Setting updated" +msgstr "" + +#: src/components/settings/SettingList.tsx:117 +msgid "Error editing setting" +msgstr "" + +#: src/components/settings/SettingList.tsx:158 +msgid "No settings specified" +msgstr "" #: src/components/tables/FilterGroup.tsx:29 #~ msgid "Add table filter" @@ -1731,10 +1806,6 @@ msgstr "" #~ msgid "This is a test filter" #~ msgstr "This is a test filter" -#: src/components/tables/stock/StockLocationTable.tsx:91 -#~ msgid "Location Type" -#~ msgstr "Location Type" - #: src/components/tables/stock/StockLocationTable.tsx:145 #~ msgid "Stock location updated" #~ msgstr "Stock location updated" @@ -1924,7 +1995,7 @@ msgstr "Turkiska" #: src/contexts/LanguageContext.tsx:49 msgid "Ukrainian" -msgstr "" +msgstr "Ukrainska" #: src/contexts/LanguageContext.tsx:50 msgid "Vietnamese" @@ -2072,7 +2143,7 @@ msgstr "Aktuella nyheter" #~ msgstr "Local Server" #: src/defaults/links.tsx:11 -#: src/pages/company/CompanyDetail.tsx:90 +#: src/pages/company/CompanyDetail.tsx:92 msgid "Website" msgstr "Webbplats" @@ -2087,10 +2158,10 @@ msgstr "Demo" #: src/defaults/links.tsx:31 #: src/defaults/menuItems.tsx:48 #: src/pages/company/ManufacturerDetail.tsx:9 -#: src/pages/company/ManufacturerPartDetail.tsx:231 +#: src/pages/company/ManufacturerPartDetail.tsx:235 #: src/pages/company/SupplierDetail.tsx:9 -#: src/pages/company/SupplierPartDetail.tsx:291 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:358 +#: src/pages/company/SupplierPartDetail.tsx:292 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:365 #: src/pages/purchasing/PurchasingIndex.tsx:52 msgid "Purchasing" msgstr "" @@ -2098,15 +2169,15 @@ msgstr "" #: src/defaults/links.tsx:32 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:323 +#: src/pages/sales/ReturnOrderDetail.tsx:330 #: src/pages/sales/SalesIndex.tsx:45 -#: src/pages/sales/SalesOrderDetail.tsx:345 +#: src/pages/sales/SalesOrderDetail.tsx:352 msgid "Sales" msgstr "" #: src/defaults/links.tsx:35 #: src/defaults/menuItems.tsx:71 -#: src/pages/Index/Playground.tsx:239 +#: src/pages/Index/Playground.tsx:238 msgid "Playground" msgstr "" @@ -2240,87 +2311,83 @@ msgstr "" #~ msgstr "Combusken battles with the intensely hot flames it spews" #: src/forms/AttachmentForms.tsx:57 -msgid "Add File" -msgstr "" +#~ msgid "Add File" +#~ msgstr "Add File" #: src/forms/AttachmentForms.tsx:57 -msgid "Add Link" -msgstr "" +#~ msgid "Add Link" +#~ msgstr "Add Link" #: src/forms/AttachmentForms.tsx:58 -msgid "File added" -msgstr "" +#~ msgid "File added" +#~ msgstr "File added" #: src/forms/AttachmentForms.tsx:58 -msgid "Link added" -msgstr "" +#~ msgid "Link added" +#~ msgstr "Link added" #: src/forms/AttachmentForms.tsx:99 -msgid "Edit File" -msgstr "Redigera fil" +#~ msgid "Edit File" +#~ msgstr "Edit File" #: src/forms/AttachmentForms.tsx:99 -msgid "Edit Link" -msgstr "Redigera länk" +#~ msgid "Edit Link" +#~ msgstr "Edit Link" #: src/forms/AttachmentForms.tsx:100 -msgid "File updated" -msgstr "" +#~ msgid "File updated" +#~ msgstr "File updated" #: src/forms/AttachmentForms.tsx:100 -msgid "Link updated" -msgstr "" - -#: src/forms/AttachmentForms.tsx:124 -msgid "Delete Attachment" -msgstr "Radera bilaga" +#~ msgid "Link updated" +#~ msgstr "Link updated" #: src/forms/AttachmentForms.tsx:125 -msgid "Attachment deleted" -msgstr "" +#~ msgid "Attachment deleted" +#~ msgstr "Attachment deleted" #: src/forms/AttachmentForms.tsx:128 -msgid "Are you sure you want to delete this attachment?" -msgstr "Är du säker på att du vill radera denna bilaga?" +#~ msgid "Are you sure you want to delete this attachment?" +#~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BuildForms.tsx:129 +#: src/forms/BuildForms.tsx:146 msgid "Next serial number" msgstr "" -#: src/forms/BuildForms.tsx:133 +#: src/forms/BuildForms.tsx:150 msgid "Latest serial number" msgstr "" -#: src/forms/BuildForms.tsx:205 +#: src/forms/BuildForms.tsx:222 msgid "Remove output" msgstr "" -#: src/forms/BuildForms.tsx:287 +#: src/forms/BuildForms.tsx:304 msgid "Complete Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:291 +#: src/forms/BuildForms.tsx:308 msgid "Build outputs have been completed" msgstr "" -#: src/forms/BuildForms.tsx:360 +#: src/forms/BuildForms.tsx:377 msgid "Scrap Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:364 +#: src/forms/BuildForms.tsx:381 msgid "Build outputs have been scrapped" msgstr "" -#: src/forms/BuildForms.tsx:396 -#: src/forms/BuildForms.tsx:420 +#: src/forms/BuildForms.tsx:413 +#: src/forms/BuildForms.tsx:437 msgid "Cancel Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:397 +#: src/forms/BuildForms.tsx:414 msgid "Selected build outputs will be deleted" msgstr "" -#: src/forms/BuildForms.tsx:424 +#: src/forms/BuildForms.tsx:441 msgid "Build outputs have been cancelled" msgstr "" @@ -2344,76 +2411,76 @@ msgstr "" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PurchaseOrderForms.tsx:265 +#: src/forms/PurchaseOrderForms.tsx:279 msgid "Choose Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:273 +#: src/forms/PurchaseOrderForms.tsx:287 msgid "Item Destination selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:282 +#: src/forms/PurchaseOrderForms.tsx:296 msgid "Part category default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:292 +#: src/forms/PurchaseOrderForms.tsx:306 msgid "Received stock location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:297 +#: src/forms/PurchaseOrderForms.tsx:311 msgid "Default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:308 -#: src/forms/PurchaseOrderForms.tsx:384 +#: src/forms/PurchaseOrderForms.tsx:322 +#: src/forms/PurchaseOrderForms.tsx:398 msgid "Scan Barcode" msgstr "Skanna streckkod" -#: src/forms/PurchaseOrderForms.tsx:352 +#: src/forms/PurchaseOrderForms.tsx:366 msgid "Set Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:359 +#: src/forms/PurchaseOrderForms.tsx:373 msgid "Assign Batch Code{0}" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:368 +#: src/forms/PurchaseOrderForms.tsx:382 msgid "Change Status" msgstr "Ändra status" -#: src/forms/PurchaseOrderForms.tsx:393 -#: src/forms/StockForms.tsx:351 +#: src/forms/PurchaseOrderForms.tsx:407 +#: src/forms/StockForms.tsx:392 msgid "Remove item from list" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:418 -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:58 -#: src/pages/stock/StockDetail.tsx:167 -#: src/tables/ColumnRenderers.tsx:42 +#: src/forms/PurchaseOrderForms.tsx:432 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/pages/stock/StockDetail.tsx:170 +#: src/tables/ColumnRenderers.tsx:34 +#: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:434 +#: src/forms/PurchaseOrderForms.tsx:448 msgid "Store at default location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:447 +#: src/forms/PurchaseOrderForms.tsx:461 msgid "Store at line item destination" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:457 +#: src/forms/PurchaseOrderForms.tsx:471 msgid "Store with already received stock" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:613 +#: src/forms/PurchaseOrderForms.tsx:627 msgid "Receive Line Items" msgstr "" @@ -2421,119 +2488,118 @@ msgstr "" #~ msgid "Receive line items" #~ msgstr "Receive line items" -#: src/forms/StockForms.tsx:69 +#: src/forms/StockForms.tsx:101 msgid "Add given quantity as packs instead of individual items" msgstr "" -#: src/forms/StockForms.tsx:80 -msgid "Enter initial quantity for this stock item" -msgstr "" - -#: src/forms/StockForms.tsx:85 -msgid "Serial Numbers" -msgstr "Serienummer" - -#: src/forms/StockForms.tsx:86 -msgid "Enter serial numbers for new stock (or leave blank)" -msgstr "" - #: src/forms/StockForms.tsx:110 #~ msgid "Create Stock Item" #~ msgstr "Create Stock Item" -#: src/forms/StockForms.tsx:135 -#: src/pages/stock/StockDetail.tsx:367 -#: src/tables/stock/StockItemTable.tsx:382 -#: src/tables/stock/StockItemTable.tsx:499 -msgid "Add Stock Item" +#: src/forms/StockForms.tsx:114 +msgid "Enter initial quantity for this stock item" +msgstr "" + +#: src/forms/StockForms.tsx:121 +msgid "Serial Numbers" +msgstr "Serienummer" + +#: src/forms/StockForms.tsx:122 +msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" #: src/forms/StockForms.tsx:158 #~ msgid "Stock item updated" #~ msgstr "Stock item updated" -#: src/forms/StockForms.tsx:298 +#: src/forms/StockForms.tsx:176 +#: src/pages/stock/StockDetail.tsx:375 +#: src/tables/stock/StockItemTable.tsx:382 +#: src/tables/stock/StockItemTable.tsx:499 +msgid "Add Stock Item" +msgstr "" + +#: src/forms/StockForms.tsx:339 msgid "Loading..." msgstr "" -#: src/forms/StockForms.tsx:340 +#: src/forms/StockForms.tsx:381 msgid "Move to default location" msgstr "" -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/part/PartDetail.tsx:205 -#: src/pages/part/PartDetail.tsx:654 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/pages/part/PartDetail.tsx:206 +#: src/pages/part/PartDetail.tsx:655 #: src/tables/stock/StockItemTable.tsx:290 msgid "In Stock" msgstr "" -#: src/forms/StockForms.tsx:408 +#: src/forms/StockForms.tsx:449 msgid "Move" msgstr "" -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/tables/RowActions.tsx:147 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/tables/RowActions.tsx:149 msgid "Actions" msgstr "Åtgärder" -#: src/forms/StockForms.tsx:471 -#: src/pages/stock/StockDetail.tsx:440 -#: src/tables/settings/TemplateTable.tsx:266 -#: src/tables/stock/StockItemTestResultTable.tsx:348 +#: src/forms/StockForms.tsx:512 +#: src/pages/stock/StockDetail.tsx:454 +#: src/tables/stock/StockItemTestResultTable.tsx:339 msgid "Add" msgstr "" -#: src/forms/StockForms.tsx:499 +#: src/forms/StockForms.tsx:540 #: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:430 +#: src/pages/stock/StockDetail.tsx:444 msgid "Count" msgstr "" -#: src/forms/StockForms.tsx:744 +#: src/forms/StockForms.tsx:785 msgid "Add Stock" msgstr "" -#: src/forms/StockForms.tsx:753 +#: src/forms/StockForms.tsx:794 msgid "Remove Stock" msgstr "" -#: src/forms/StockForms.tsx:762 -#: src/pages/part/PartDetail.tsx:781 +#: src/forms/StockForms.tsx:803 +#: src/pages/part/PartDetail.tsx:782 msgid "Transfer Stock" msgstr "" -#: src/forms/StockForms.tsx:771 -#: src/pages/part/PartDetail.tsx:770 +#: src/forms/StockForms.tsx:812 +#: src/pages/part/PartDetail.tsx:771 msgid "Count Stock" msgstr "" -#: src/forms/StockForms.tsx:780 +#: src/forms/StockForms.tsx:821 msgid "Change Stock Status" msgstr "" -#: src/forms/StockForms.tsx:789 +#: src/forms/StockForms.tsx:830 msgid "Merge Stock" msgstr "" -#: src/forms/StockForms.tsx:808 +#: src/forms/StockForms.tsx:849 msgid "Delete Stock Items" msgstr "" -#: src/forms/StockForms.tsx:815 +#: src/forms/StockForms.tsx:856 msgid "Parent stock location" msgstr "" @@ -2728,7 +2794,7 @@ msgstr "Denna sida är en ersättning för den gamla startsidan med samma inform msgid "Welcome to your Dashboard{0}" msgstr "" -#: src/pages/Index/Playground.tsx:244 +#: src/pages/Index/Playground.tsx:243 msgid "This page is a showcase for the possibilities of Platform UI." msgstr "" @@ -3138,49 +3204,53 @@ msgstr "Lastare" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:79 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:87 msgid "Background Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:85 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:93 msgid "Error Reports" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:91 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:99 msgid "Currencies" msgstr "Valutor" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:109 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:117 msgid "Custom Units" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:115 -#: src/pages/part/CategoryDetail.tsx:254 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:123 +#: src/pages/part/CategoryDetail.tsx:255 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:121 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 +#~ msgid "Templates" +#~ msgstr "Templates" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:129 msgid "Category Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 -msgid "Templates" -msgstr "Mallar" +#: src/pages/Index/Settings/AdminCenter/Index.tsx:147 +msgid "Location types" +msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:139 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:159 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:149 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:169 msgid "Quick Actions" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:154 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 msgid "Add a new user" msgstr "Lägg till en ny användare" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:173 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:193 msgid "Advanced Options" msgstr "" @@ -3225,26 +3295,32 @@ msgstr "" msgid "Plugin Settings" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:25 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:53 +msgid "Background Worker Not Running" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:54 +msgid "The background task manager service is not running. Contact your system administrator." +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:60 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:76 msgid "Pending Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:33 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:64 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:84 msgid "Scheduled Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:41 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:68 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:92 msgid "Failed Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:139 -msgid "Labels" -msgstr "Etiketter" - #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:39 -msgid "Label" -msgstr "Etikett" +#~ msgid "Label" +#~ msgstr "Label" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67 #~ msgid "Stock item" @@ -3255,13 +3331,13 @@ msgstr "Etikett" #~ msgstr "Build line" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:88 -msgid "Reports" -msgstr "Rapporter" +#~ msgid "Reports" +#~ msgstr "Reports" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:89 #: src/pages/build/BuildDetail.tsx:373 -msgid "Report" -msgstr "" +#~ msgid "Report" +#~ msgstr "Report" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99 #~ msgid "Purchase order" @@ -3275,14 +3351,9 @@ msgstr "" #~ msgid "Return order" #~ msgstr "Return order" -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135 -#: src/pages/part/PartDetail.tsx:518 -msgid "Bill of Materials" -msgstr "" - #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:145 -msgid "Tests" -msgstr "" +#~ msgid "Tests" +#~ msgstr "Tests" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:154 #~ msgid "Stock location" @@ -3321,26 +3392,30 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" +#: src/pages/Index/Settings/SystemSettings.tsx:139 +msgid "Labels" +msgstr "Etiketter" + #: src/pages/Index/Settings/SystemSettings.tsx:145 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:223 -#: src/pages/part/PartDetail.tsx:589 +#: src/pages/Index/Settings/SystemSettings.tsx:224 +#: src/pages/part/PartDetail.tsx:590 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:228 -#: src/pages/build/BuildDetail.tsx:426 +#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:525 -#: src/pages/sales/SalesOrderDetail.tsx:263 +#: src/pages/part/PartDetail.tsx:526 +#: src/pages/sales/SalesOrderDetail.tsx:265 msgid "Build Orders" msgstr "Byggordrar" -#: src/pages/Index/Settings/SystemSettings.tsx:296 +#: src/pages/Index/Settings/SystemSettings.tsx:297 msgid "Switch to User Setting" msgstr "" @@ -3397,44 +3472,47 @@ msgstr "" #~ msgstr "Build Status" #: src/pages/build/BuildDetail.tsx:89 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:128 -#: src/pages/sales/ReturnOrderDetail.tsx:95 -#: src/pages/sales/SalesOrderDetail.tsx:99 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:130 +#: src/pages/sales/ReturnOrderDetail.tsx:97 +#: src/pages/sales/SalesOrderDetail.tsx:101 #: src/tables/build/BuildOrderTable.tsx:113 #: src/tables/machine/MachineListTable.tsx:326 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderTable.tsx:46 #: src/tables/sales/SalesOrderTable.tsx:52 #: src/tables/stock/StockItemTable.tsx:259 +#: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "Status" #: src/pages/build/BuildDetail.tsx:95 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:101 -#: src/pages/sales/ReturnOrderDetail.tsx:69 -#: src/pages/sales/SalesOrderDetail.tsx:73 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:103 +#: src/pages/sales/ReturnOrderDetail.tsx:71 +#: src/pages/sales/SalesOrderDetail.tsx:75 +#: src/tables/ColumnRenderers.tsx:106 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" msgstr "" #: src/pages/build/BuildDetail.tsx:100 -#: src/pages/company/CompanyDetail.tsx:84 -#: src/pages/company/ManufacturerPartDetail.tsx:75 -#: src/pages/company/SupplierPartDetail.tsx:82 -#: src/pages/part/CategoryDetail.tsx:91 -#: src/pages/part/PartDetail.tsx:132 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:122 -#: src/pages/sales/ReturnOrderDetail.tsx:89 -#: src/pages/sales/SalesOrderDetail.tsx:93 -#: src/pages/stock/LocationDetail.tsx:97 -#: src/tables/ColumnRenderers.tsx:95 +#: src/pages/company/CompanyDetail.tsx:86 +#: src/pages/company/ManufacturerPartDetail.tsx:76 +#: src/pages/company/SupplierPartDetail.tsx:83 +#: src/pages/part/CategoryDetail.tsx:92 +#: src/pages/part/PartDetail.tsx:133 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:124 +#: src/pages/sales/ReturnOrderDetail.tsx:91 +#: src/pages/sales/SalesOrderDetail.tsx:95 +#: src/pages/stock/LocationDetail.tsx:99 +#: src/tables/ColumnRenderers.tsx:66 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 #: src/tables/machine/MachineTypeTable.tsx:323 #: src/tables/part/RelatedPartTable.tsx:64 -#: src/tables/plugin/PluginListTable.tsx:172 -#: src/tables/plugin/PluginListTable.tsx:302 +#: src/tables/plugin/PluginListTable.tsx:129 +#: src/tables/plugin/PluginListTable.tsx:276 +#: src/tables/stock/LocationTypesTable.tsx:65 msgid "Description" msgstr "Beskrivning" @@ -3447,7 +3525,7 @@ msgid "Build Quantity" msgstr "" #: src/pages/build/BuildDetail.tsx:126 -#: src/pages/build/BuildDetail.tsx:249 +#: src/pages/build/BuildDetail.tsx:256 msgid "Completed Outputs" msgstr "" @@ -3457,10 +3535,10 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:150 -#: src/pages/part/PartDetail.tsx:320 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:214 -#: src/pages/sales/ReturnOrderDetail.tsx:182 -#: src/pages/sales/SalesOrderDetail.tsx:186 +#: src/pages/part/PartDetail.tsx:321 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:184 +#: src/pages/sales/SalesOrderDetail.tsx:188 #: src/tables/build/BuildOrderTable.tsx:148 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 @@ -3474,10 +3552,10 @@ msgid "Created" msgstr "" #: src/pages/build/BuildDetail.tsx:164 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:207 -#: src/pages/sales/ReturnOrderDetail.tsx:175 -#: src/pages/sales/SalesOrderDetail.tsx:179 -#: src/tables/ColumnRenderers.tsx:227 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:209 +#: src/pages/sales/ReturnOrderDetail.tsx:177 +#: src/pages/sales/SalesOrderDetail.tsx:181 +#: src/tables/ColumnRenderers.tsx:191 msgid "Target Date" msgstr "" @@ -3513,6 +3591,11 @@ msgstr "" #~ msgid "Unlink custom barcode from part" #~ msgstr "Unlink custom barcode from part" +#: src/pages/build/BuildDetail.tsx:197 +#: src/pages/stock/StockDetail.tsx:526 +msgid "Batch Code" +msgstr "" + #: src/pages/build/BuildDetail.tsx:202 #~ msgid "Build Order updated" #~ msgstr "Build Order updated" @@ -3521,86 +3604,87 @@ msgstr "" #~ msgid "Edit build order" #~ msgstr "Edit build order" -#: src/pages/build/BuildDetail.tsx:222 -msgid "Build Details" -msgstr "" - #: src/pages/build/BuildDetail.tsx:226 #~ msgid "Duplicate build order" #~ msgstr "Duplicate build order" -#: src/pages/build/BuildDetail.tsx:228 -#: src/tables/build/BuildLineTable.tsx:225 -msgid "Allocate Stock" +#: src/pages/build/BuildDetail.tsx:229 +msgid "Build Details" msgstr "" #: src/pages/build/BuildDetail.tsx:231 #~ msgid "Delete build order" #~ msgstr "Delete build order" -#: src/pages/build/BuildDetail.tsx:242 +#: src/pages/build/BuildDetail.tsx:235 +#: src/tables/build/BuildLineTable.tsx:225 +msgid "Allocate Stock" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:249 msgid "Incomplete Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:264 +#: src/pages/build/BuildDetail.tsx:271 msgid "Consumed Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:278 +#: src/pages/build/BuildDetail.tsx:285 msgid "Child Build Orders" msgstr "" -#: src/pages/build/BuildDetail.tsx:288 -#: src/pages/company/CompanyDetail.tsx:253 -#: src/pages/company/ManufacturerPartDetail.tsx:171 -#: src/pages/part/PartDetail.tsx:611 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:276 -#: src/pages/sales/ReturnOrderDetail.tsx:225 -#: src/pages/sales/SalesOrderDetail.tsx:273 -#: src/pages/stock/StockDetail.tsx:317 +#: src/pages/build/BuildDetail.tsx:295 +#: src/pages/company/CompanyDetail.tsx:255 +#: src/pages/company/ManufacturerPartDetail.tsx:172 +#: src/pages/part/PartDetail.tsx:612 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:278 +#: src/pages/sales/ReturnOrderDetail.tsx:227 +#: src/pages/sales/SalesOrderDetail.tsx:275 +#: src/pages/stock/StockDetail.tsx:325 msgid "Attachments" msgstr "" -#: src/pages/build/BuildDetail.tsx:300 -#: src/pages/company/CompanyDetail.tsx:265 -#: src/pages/part/PartDetail.tsx:623 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:288 -#: src/pages/sales/ReturnOrderDetail.tsx:237 -#: src/pages/sales/SalesOrderDetail.tsx:285 -#: src/pages/stock/StockDetail.tsx:329 +#: src/pages/build/BuildDetail.tsx:307 +#: src/pages/company/CompanyDetail.tsx:267 +#: src/pages/part/PartDetail.tsx:624 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:290 +#: src/pages/sales/ReturnOrderDetail.tsx:239 +#: src/pages/sales/SalesOrderDetail.tsx:287 +#: src/pages/stock/StockDetail.tsx:337 +#: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "" -#: src/pages/build/BuildDetail.tsx:318 +#: src/pages/build/BuildDetail.tsx:325 msgid "Edit Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:327 +#: src/pages/build/BuildDetail.tsx:334 msgid "Cancel Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:339 +#: src/pages/build/BuildDetail.tsx:346 #: src/tables/build/BuildOrderTable.tsx:167 #: src/tables/build/BuildOrderTable.tsx:182 msgid "Add Build Order" msgstr "" #: src/pages/build/BuildDetail.tsx:368 -msgid "Reporting Actions" -msgstr "" +#~ msgid "Reporting Actions" +#~ msgstr "Reporting Actions" #: src/pages/build/BuildDetail.tsx:374 -msgid "Print build report" -msgstr "" +#~ msgid "Print build report" +#~ msgstr "Print build report" -#: src/pages/build/BuildDetail.tsx:380 +#: src/pages/build/BuildDetail.tsx:378 msgid "Build Order Actions" msgstr "" -#: src/pages/build/BuildDetail.tsx:388 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:326 -#: src/pages/sales/ReturnOrderDetail.tsx:300 -#: src/pages/sales/SalesOrderDetail.tsx:310 +#: src/pages/build/BuildDetail.tsx:386 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:333 +#: src/pages/sales/ReturnOrderDetail.tsx:307 +#: src/pages/sales/SalesOrderDetail.tsx:317 msgid "Cancel order" msgstr "" @@ -3612,56 +3696,58 @@ msgstr "" #~ msgid "New Build Order" #~ msgstr "New Build Order" -#: src/pages/company/CompanyDetail.tsx:98 +#: src/pages/company/CompanyDetail.tsx:100 msgid "Phone Number" msgstr "Telefonnummer" -#: src/pages/company/CompanyDetail.tsx:105 +#: src/pages/company/CompanyDetail.tsx:107 msgid "Email Address" msgstr "E-postadress" -#: src/pages/company/CompanyDetail.tsx:115 +#: src/pages/company/CompanyDetail.tsx:117 msgid "Default Currency" msgstr "" -#: src/pages/company/CompanyDetail.tsx:120 +#: src/pages/company/CompanyDetail.tsx:122 #: src/pages/company/SupplierDetail.tsx:8 -#: src/pages/company/SupplierPartDetail.tsx:106 -#: src/pages/company/SupplierPartDetail.tsx:192 -#: src/pages/company/SupplierPartDetail.tsx:295 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:116 +#: src/pages/company/SupplierPartDetail.tsx:107 +#: src/pages/company/SupplierPartDetail.tsx:193 +#: src/pages/company/SupplierPartDetail.tsx:296 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:118 #: src/tables/company/CompanyTable.tsx:100 #: src/tables/purchasing/PurchaseOrderTable.tsx:88 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:36 msgid "Supplier" msgstr "" -#: src/pages/company/CompanyDetail.tsx:126 +#: src/pages/company/CompanyDetail.tsx:128 #: src/pages/company/ManufacturerDetail.tsx:8 -#: src/pages/company/ManufacturerPartDetail.tsx:93 -#: src/pages/company/ManufacturerPartDetail.tsx:235 -#: src/pages/company/SupplierPartDetail.tsx:121 +#: src/pages/company/ManufacturerPartDetail.tsx:94 +#: src/pages/company/ManufacturerPartDetail.tsx:239 +#: src/pages/company/SupplierPartDetail.tsx:122 #: src/tables/company/CompanyTable.tsx:105 msgid "Manufacturer" msgstr "" -#: src/pages/company/CompanyDetail.tsx:132 +#: src/pages/company/CompanyDetail.tsx:134 #: src/pages/company/CustomerDetail.tsx:8 #: src/pages/part/pricing/SaleHistoryPanel.tsx:39 -#: src/pages/sales/ReturnOrderDetail.tsx:83 -#: src/pages/sales/SalesOrderDetail.tsx:87 -#: src/pages/stock/StockDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:85 +#: src/pages/sales/SalesOrderDetail.tsx:89 +#: src/pages/stock/StockDetail.tsx:219 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:107 +#: src/tables/stock/StockTrackingTable.tsx:140 msgid "Customer" msgstr "" -#: src/pages/company/CompanyDetail.tsx:166 +#: src/pages/company/CompanyDetail.tsx:168 +#: src/tables/stock/StockTrackingTable.tsx:183 msgid "Details" msgstr "" -#: src/pages/company/CompanyDetail.tsx:172 +#: src/pages/company/CompanyDetail.tsx:174 msgid "Manufactured Parts" msgstr "" @@ -3669,7 +3755,7 @@ msgstr "" #~ msgid "Edit company" #~ msgstr "Edit company" -#: src/pages/company/CompanyDetail.tsx:181 +#: src/pages/company/CompanyDetail.tsx:183 msgid "Supplied Parts" msgstr "" @@ -3677,289 +3763,289 @@ msgstr "" #~ msgid "Delete company" #~ msgstr "Delete company" -#: src/pages/company/CompanyDetail.tsx:226 +#: src/pages/company/CompanyDetail.tsx:228 msgid "Assigned Stock" msgstr "" -#: src/pages/company/CompanyDetail.tsx:281 +#: src/pages/company/CompanyDetail.tsx:283 #: src/tables/company/CompanyTable.tsx:86 msgid "Edit Company" msgstr "Redigera företag" -#: src/pages/company/CompanyDetail.tsx:290 +#: src/pages/company/CompanyDetail.tsx:292 msgid "Company Actions" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:68 -#: src/pages/company/SupplierPartDetail.tsx:75 +#: src/pages/company/ManufacturerPartDetail.tsx:69 +#: src/pages/company/SupplierPartDetail.tsx:76 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:72 msgid "Internal Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:83 -#: src/pages/company/SupplierPartDetail.tsx:89 +#: src/pages/company/ManufacturerPartDetail.tsx:84 +#: src/pages/company/SupplierPartDetail.tsx:90 msgid "External Link" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:101 -#: src/pages/company/SupplierPartDetail.tsx:130 -#: src/tables/purchasing/ManufacturerPartTable.tsx:53 +#: src/pages/company/ManufacturerPartDetail.tsx:102 +#: src/pages/company/SupplierPartDetail.tsx:131 +#: src/tables/purchasing/ManufacturerPartTable.tsx:56 msgid "Manufacturer Part Number" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:130 +#: src/pages/company/ManufacturerPartDetail.tsx:131 msgid "Manufacturer Details" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:139 +#: src/pages/company/ManufacturerPartDetail.tsx:140 msgid "Manufacturer Part Details" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:145 -#: src/pages/part/PartDetail.tsx:485 +#: src/pages/company/ManufacturerPartDetail.tsx:146 +#: src/pages/part/PartDetail.tsx:486 msgid "Parameters" msgstr "Parametrar" -#: src/pages/company/ManufacturerPartDetail.tsx:157 -#: src/pages/part/PartDetail.tsx:558 +#: src/pages/company/ManufacturerPartDetail.tsx:158 +#: src/pages/part/PartDetail.tsx:559 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:189 -#: src/tables/purchasing/ManufacturerPartTable.tsx:97 +#: src/pages/company/ManufacturerPartDetail.tsx:190 +#: src/tables/purchasing/ManufacturerPartTable.tsx:84 msgid "Edit Manufacturer Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:196 -#: src/tables/purchasing/ManufacturerPartTable.tsx:63 -#: src/tables/purchasing/ManufacturerPartTable.tsx:78 +#: src/pages/company/ManufacturerPartDetail.tsx:197 +#: src/tables/purchasing/ManufacturerPartTable.tsx:72 +#: src/tables/purchasing/ManufacturerPartTable.tsx:103 msgid "Add Manufacturer Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:209 +#: src/pages/company/ManufacturerPartDetail.tsx:213 msgid "Manufacturer Part Actions" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:247 +#: src/pages/company/ManufacturerPartDetail.tsx:251 msgid "ManufacturerPart" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:96 -#: src/tables/ColumnRenderers.tsx:146 +#: src/pages/company/SupplierPartDetail.tsx:97 +#: src/tables/ColumnRenderers.tsx:117 msgid "Note" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:114 +#: src/pages/company/SupplierPartDetail.tsx:115 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:57 msgid "SKU" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:142 -#: src/pages/company/SupplierPartDetail.tsx:193 -#: src/pages/stock/StockDetail.tsx:230 +#: src/pages/company/SupplierPartDetail.tsx:143 +#: src/pages/company/SupplierPartDetail.tsx:194 +#: src/pages/stock/StockDetail.tsx:233 msgid "Packaging" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:149 +#: src/pages/company/SupplierPartDetail.tsx:150 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:107 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143 #: src/tables/purchasing/SupplierPartTable.tsx:131 msgid "Pack Quantity" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:160 +#: src/pages/company/SupplierPartDetail.tsx:161 msgid "Supplier Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:167 +#: src/pages/company/SupplierPartDetail.tsx:168 msgid "Availability Updated" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:194 +#: src/pages/company/SupplierPartDetail.tsx:195 msgid "Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:203 +#: src/pages/company/SupplierPartDetail.tsx:204 msgid "Supplier Part Details" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:209 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:263 +#: src/pages/company/SupplierPartDetail.tsx:210 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:265 msgid "Received Stock" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:233 +#: src/pages/company/SupplierPartDetail.tsx:234 #: src/pages/part/PartPricingPanel.tsx:115 #: src/pages/part/pricing/PricingOverviewPanel.tsx:130 msgid "Supplier Pricing" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:248 +#: src/pages/company/SupplierPartDetail.tsx:249 msgid "Supplier Part Actions" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:272 +#: src/pages/company/SupplierPartDetail.tsx:273 #: src/tables/purchasing/SupplierPartTable.tsx:210 msgid "Edit Supplier Part" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:279 +#: src/pages/company/SupplierPartDetail.tsx:280 #: src/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "" -#: src/pages/part/CategoryDetail.tsx:83 -#: src/pages/stock/LocationDetail.tsx:89 +#: src/pages/part/CategoryDetail.tsx:84 +#: src/pages/stock/LocationDetail.tsx:91 #: src/tables/settings/ErrorTable.tsx:34 msgid "Path" msgstr "" -#: src/pages/part/CategoryDetail.tsx:99 +#: src/pages/part/CategoryDetail.tsx:100 msgid "Parent Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:116 +#: src/pages/part/CategoryDetail.tsx:117 msgid "Subcategories" msgstr "" -#: src/pages/part/CategoryDetail.tsx:123 -#: src/pages/stock/LocationDetail.tsx:129 -#: src/tables/part/PartCategoryTable.tsx:69 +#: src/pages/part/CategoryDetail.tsx:124 +#: src/pages/stock/LocationDetail.tsx:131 +#: src/tables/part/PartCategoryTable.tsx:65 msgid "Structural" msgstr "" -#: src/pages/part/CategoryDetail.tsx:129 +#: src/pages/part/CategoryDetail.tsx:130 msgid "Parent default location" msgstr "" -#: src/pages/part/CategoryDetail.tsx:136 +#: src/pages/part/CategoryDetail.tsx:137 msgid "Default location" msgstr "" -#: src/pages/part/CategoryDetail.tsx:147 +#: src/pages/part/CategoryDetail.tsx:148 msgid "Top level part category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:157 -#: src/pages/part/CategoryDetail.tsx:211 -#: src/tables/part/PartCategoryTable.tsx:96 +#: src/pages/part/CategoryDetail.tsx:158 +#: src/pages/part/CategoryDetail.tsx:212 +#: src/tables/part/PartCategoryTable.tsx:88 msgid "Edit Part Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:170 -#: src/pages/stock/LocationDetail.tsx:213 +#: src/pages/part/CategoryDetail.tsx:171 +#: src/pages/stock/LocationDetail.tsx:223 msgid "Delete items" msgstr "" -#: src/pages/part/CategoryDetail.tsx:178 -#: src/pages/part/CategoryDetail.tsx:216 +#: src/pages/part/CategoryDetail.tsx:179 +#: src/pages/part/CategoryDetail.tsx:217 msgid "Delete Part Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:181 +#: src/pages/part/CategoryDetail.tsx:182 msgid "Parts Action" msgstr "" -#: src/pages/part/CategoryDetail.tsx:182 +#: src/pages/part/CategoryDetail.tsx:183 msgid "Action for parts in this category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:187 +#: src/pages/part/CategoryDetail.tsx:188 msgid "Child Categories Action" msgstr "" -#: src/pages/part/CategoryDetail.tsx:188 +#: src/pages/part/CategoryDetail.tsx:189 msgid "Action for child categories in this category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:206 +#: src/pages/part/CategoryDetail.tsx:207 msgid "Category Actions" msgstr "" -#: src/pages/part/CategoryDetail.tsx:228 +#: src/pages/part/CategoryDetail.tsx:229 msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:138 +#: src/pages/part/PartDetail.tsx:139 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:145 +#: src/pages/part/PartDetail.tsx:146 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "Kategori" -#: src/pages/part/PartDetail.tsx:151 +#: src/pages/part/PartDetail.tsx:152 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:158 +#: src/pages/part/PartDetail.tsx:159 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:165 +#: src/pages/part/PartDetail.tsx:166 msgid "IPN" msgstr "IAN" -#: src/pages/part/PartDetail.tsx:172 +#: src/pages/part/PartDetail.tsx:173 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:179 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39 +#: src/pages/part/PartDetail.tsx:180 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "Enheter" -#: src/pages/part/PartDetail.tsx:186 +#: src/pages/part/PartDetail.tsx:187 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:193 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:180 -#: src/pages/sales/ReturnOrderDetail.tsx:148 -#: src/pages/sales/SalesOrderDetail.tsx:152 +#: src/pages/part/PartDetail.tsx:194 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:182 +#: src/pages/sales/ReturnOrderDetail.tsx:150 +#: src/pages/sales/SalesOrderDetail.tsx:154 msgid "Link" msgstr "Länk" -#: src/pages/part/PartDetail.tsx:211 -#: src/tables/bom/BomTable.tsx:269 +#: src/pages/part/PartDetail.tsx:212 +#: src/tables/bom/BomTable.tsx:271 #: src/tables/build/BuildLineTable.tsx:121 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:218 +#: src/pages/part/PartDetail.tsx:219 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:224 -#: src/tables/bom/BomTable.tsx:210 +#: src/pages/part/PartDetail.tsx:225 +#: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:233 +#: src/pages/part/PartDetail.tsx:234 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:241 +#: src/pages/part/PartDetail.tsx:242 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:248 -#: src/tables/bom/BomTable.tsx:234 +#: src/pages/part/PartDetail.tsx:249 +#: src/tables/bom/BomTable.tsx:236 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:255 -#: src/tables/bom/BomTable.tsx:218 +#: src/pages/part/PartDetail.tsx:256 +#: src/tables/bom/BomTable.tsx:220 #: src/tables/part/PartTable.tsx:82 msgid "Building" msgstr "" -#: src/pages/part/PartDetail.tsx:264 +#: src/pages/part/PartDetail.tsx:265 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 @@ -3968,45 +4054,47 @@ msgstr "" #: src/tables/machine/MachineListTable.tsx:585 #: src/tables/part/PartTable.tsx:168 #: src/tables/part/PartVariantTable.tsx:15 -#: src/tables/plugin/PluginListTable.tsx:190 -#: src/tables/plugin/PluginListTable.tsx:638 +#: src/tables/plugin/PluginListTable.tsx:149 +#: src/tables/plugin/PluginListTable.tsx:271 +#: src/tables/plugin/PluginListTable.tsx:563 #: src/tables/purchasing/SupplierPartTable.tsx:98 #: src/tables/purchasing/SupplierPartTable.tsx:187 #: src/tables/stock/StockItemTable.tsx:254 msgid "Active" msgstr "Aktiv" -#: src/pages/part/PartDetail.tsx:269 +#: src/pages/part/PartDetail.tsx:270 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:274 -#: src/tables/bom/BomTable.tsx:264 +#: src/pages/part/PartDetail.tsx:275 +#: src/tables/bom/BomTable.tsx:266 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:279 +#: src/pages/part/PartDetail.tsx:280 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:284 -#: src/tables/bom/BomTable.tsx:259 +#: src/pages/part/PartDetail.tsx:285 +#: src/tables/bom/BomTable.tsx:261 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:289 +#: src/pages/part/PartDetail.tsx:290 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:294 +#: src/pages/part/PartDetail.tsx:295 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:299 +#: src/pages/part/PartDetail.tsx:300 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:307 +#: src/pages/part/PartDetail.tsx:308 +#: src/tables/ColumnRenderers.tsx:199 msgid "Creation Date" msgstr "" @@ -4014,7 +4102,7 @@ msgstr "" #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:312 +#: src/pages/part/PartDetail.tsx:313 msgid "Created By" msgstr "" @@ -4022,68 +4110,72 @@ msgstr "" #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:327 -msgid "Default Supplier" -msgstr "" - #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:338 +#: src/pages/part/PartDetail.tsx:328 +msgid "Default Supplier" +msgstr "" + +#: src/pages/part/PartDetail.tsx:339 #: src/tables/part/PartTable.tsx:151 msgid "Price Range" msgstr "Prisintervall" -#: src/pages/part/PartDetail.tsx:373 -#: src/pages/stock/StockDetail.tsx:127 +#: src/pages/part/PartDetail.tsx:374 +#: src/pages/stock/StockDetail.tsx:130 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:408 +#: src/pages/part/PartDetail.tsx:409 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:479 +#: src/pages/part/PartDetail.tsx:480 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:505 +#: src/pages/part/PartDetail.tsx:506 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:512 -#: src/pages/stock/StockDetail.tsx:275 +#: src/pages/part/PartDetail.tsx:513 +#: src/pages/stock/StockDetail.tsx:283 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:532 +#: src/pages/part/PartDetail.tsx:519 +msgid "Bill of Materials" +msgstr "" + +#: src/pages/part/PartDetail.tsx:533 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:539 +#: src/pages/part/PartDetail.tsx:540 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:545 +#: src/pages/part/PartDetail.tsx:546 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:584 +#: src/pages/part/PartDetail.tsx:585 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:594 +#: src/pages/part/PartDetail.tsx:595 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:605 +#: src/pages/part/PartDetail.tsx:606 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:660 -#: src/pages/stock/StockDetail.tsx:148 +#: src/pages/part/PartDetail.tsx:661 +#: src/pages/stock/StockDetail.tsx:151 #: src/tables/build/BuildLineTable.tsx:36 #: src/tables/part/PartTable.tsx:107 #: src/tables/stock/StockItemTable.tsx:166 @@ -4091,49 +4183,51 @@ msgstr "" msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:666 +#: src/pages/part/PartDetail.tsx:667 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:672 -#: src/tables/bom/BomTable.tsx:274 +#: src/pages/part/PartDetail.tsx:673 +#: src/tables/bom/BomTable.tsx:276 #: src/tables/part/PartTable.tsx:76 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:678 -#: src/pages/stock/StockDetail.tsx:496 +#: src/pages/part/PartDetail.tsx:679 +#: src/pages/stock/StockDetail.tsx:509 #: src/tables/stock/StockItemTable.tsx:295 msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:697 +#: src/pages/part/PartDetail.tsx:698 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:704 +#: src/pages/part/PartDetail.tsx:705 #: src/tables/part/PartTable.tsx:266 #: src/tables/part/PartTable.tsx:279 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:716 +#: src/pages/part/PartDetail.tsx:717 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:725 +#: src/pages/part/PartDetail.tsx:726 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:763 +#: src/pages/part/PartDetail.tsx:764 +#: src/pages/stock/LocationDetail.tsx:301 +#: src/tables/stock/StockItemTable.tsx:409 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:771 +#: src/pages/part/PartDetail.tsx:772 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:782 +#: src/pages/part/PartDetail.tsx:783 msgid "Transfer part stock" msgstr "" @@ -4199,15 +4293,15 @@ msgstr "Komponent" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151 #: src/pages/part/pricing/SupplierPricingPanel.tsx:83 -#: src/tables/bom/BomTable.tsx:149 +#: src/tables/bom/BomTable.tsx:151 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 msgid "Unit Price" msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:173 -#: src/tables/ColumnRenderers.tsx:278 -#: src/tables/bom/BomTable.tsx:158 +#: src/tables/ColumnRenderers.tsx:241 +#: src/tables/bom/BomTable.tsx:160 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 #: src/tables/sales/ReturnOrderTable.tsx:104 #: src/tables/sales/SalesOrderTable.tsx:134 @@ -4229,24 +4323,24 @@ msgid "Bar Chart" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:63 -#: src/pages/part/pricing/PriceBreakPanel.tsx:117 +#: src/pages/part/pricing/PriceBreakPanel.tsx:115 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:138 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:164 msgid "Add Price Break" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:76 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:149 msgid "Edit Price Break" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:86 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:157 msgid "Delete Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:102 -#: src/pages/part/pricing/PriceBreakPanel.tsx:193 +#: src/pages/part/pricing/PriceBreakPanel.tsx:100 +#: src/pages/part/pricing/PriceBreakPanel.tsx:191 msgid "Price Break" msgstr "" @@ -4275,7 +4369,7 @@ msgid "Overall Pricing" msgstr "" #: src/pages/part/pricing/PricingOverviewPanel.tsx:184 -#: src/pages/stock/StockDetail.tsx:121 +#: src/pages/stock/StockDetail.tsx:124 msgid "Last Updated" msgstr "" @@ -4309,9 +4403,8 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50 #: src/pages/part/pricing/SaleHistoryPanel.tsx:46 -#: src/tables/ColumnRenderers.tsx:217 -#: src/tables/plugin/PluginListTable.tsx:182 -#: src/tables/stock/StockItemTestResultTable.tsx:194 +#: src/tables/ColumnRenderers.tsx:180 +#: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" @@ -4338,89 +4431,89 @@ msgstr "" msgid "Variant Part" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:73 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:75 msgid "Edit Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:82 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:84 #: src/tables/purchasing/PurchaseOrderTable.tsx:128 #: src/tables/purchasing/PurchaseOrderTable.tsx:140 msgid "Add Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:107 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:109 msgid "Supplier Reference" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:137 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:252 -#: src/pages/sales/ReturnOrderDetail.tsx:104 -#: src/pages/sales/ReturnOrderDetail.tsx:220 -#: src/pages/sales/SalesOrderDetail.tsx:108 -#: src/pages/sales/SalesOrderDetail.tsx:248 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:139 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:254 +#: src/pages/sales/ReturnOrderDetail.tsx:106 +#: src/pages/sales/ReturnOrderDetail.tsx:222 +#: src/pages/sales/SalesOrderDetail.tsx:110 +#: src/pages/sales/SalesOrderDetail.tsx:250 msgid "Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:144 -#: src/pages/sales/ReturnOrderDetail.tsx:111 -#: src/pages/sales/SalesOrderDetail.tsx:115 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:146 +#: src/pages/sales/ReturnOrderDetail.tsx:113 +#: src/pages/sales/SalesOrderDetail.tsx:117 msgid "Completed Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:152 -#: src/pages/sales/ReturnOrderDetail.tsx:119 -#: src/pages/sales/SalesOrderDetail.tsx:123 -#: src/pages/sales/SalesOrderDetail.tsx:258 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:121 +#: src/pages/sales/SalesOrderDetail.tsx:125 +#: src/pages/sales/SalesOrderDetail.tsx:260 msgid "Completed Shipments" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:159 -#: src/pages/sales/ReturnOrderDetail.tsx:127 -#: src/pages/sales/SalesOrderDetail.tsx:131 -msgid "Order Currency" -msgstr "" - #: src/pages/purchasing/PurchaseOrderDetail.tsx:159 #: src/pages/sales/ReturnOrderDetail.tsx:126 #: src/pages/sales/SalesOrderDetail.tsx:130 #~ msgid "Order Currency," #~ msgstr "Order Currency," -#: src/pages/purchasing/PurchaseOrderDetail.tsx:166 -#: src/pages/sales/ReturnOrderDetail.tsx:134 -#: src/pages/sales/SalesOrderDetail.tsx:138 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:161 +#: src/pages/sales/ReturnOrderDetail.tsx:129 +#: src/pages/sales/SalesOrderDetail.tsx:133 +msgid "Order Currency" +msgstr "" + +#: src/pages/purchasing/PurchaseOrderDetail.tsx:168 +#: src/pages/sales/ReturnOrderDetail.tsx:136 +#: src/pages/sales/SalesOrderDetail.tsx:140 msgid "Total Cost" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:201 -#: src/pages/sales/ReturnOrderDetail.tsx:169 -#: src/pages/sales/SalesOrderDetail.tsx:173 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:203 +#: src/pages/sales/ReturnOrderDetail.tsx:171 +#: src/pages/sales/SalesOrderDetail.tsx:175 msgid "Created On" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:246 -#: src/pages/sales/ReturnOrderDetail.tsx:214 -#: src/pages/sales/SalesOrderDetail.tsx:242 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:248 +#: src/pages/sales/ReturnOrderDetail.tsx:216 +#: src/pages/sales/SalesOrderDetail.tsx:244 msgid "Order Details" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:316 -#: src/pages/sales/ReturnOrderDetail.tsx:290 -#: src/pages/sales/SalesOrderDetail.tsx:302 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:323 +#: src/pages/sales/ReturnOrderDetail.tsx:297 +#: src/pages/sales/SalesOrderDetail.tsx:309 msgid "Order Actions" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:75 -#: src/pages/sales/SalesOrderDetail.tsx:79 +#: src/pages/sales/ReturnOrderDetail.tsx:77 +#: src/pages/sales/SalesOrderDetail.tsx:81 #: src/tables/sales/SalesOrderTable.tsx:123 msgid "Customer Reference" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:267 +#: src/pages/sales/ReturnOrderDetail.tsx:269 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:276 +#: src/pages/sales/ReturnOrderDetail.tsx:278 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" @@ -4430,68 +4523,72 @@ msgstr "" msgid "Customers" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:219 +#: src/pages/sales/SalesOrderDetail.tsx:221 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:228 +#: src/pages/sales/SalesOrderDetail.tsx:230 #: src/tables/sales/SalesOrderTable.tsx:83 #: src/tables/sales/SalesOrderTable.tsx:95 msgid "Add Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:253 +#: src/pages/sales/SalesOrderDetail.tsx:255 msgid "Pending Shipments" msgstr "" -#: src/pages/stock/LocationDetail.tsx:105 +#: src/pages/stock/LocationDetail.tsx:107 msgid "Parent Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:123 +#: src/pages/stock/LocationDetail.tsx:125 msgid "Sublocations" msgstr "" -#: src/pages/stock/LocationDetail.tsx:135 +#: src/pages/stock/LocationDetail.tsx:137 msgid "External" msgstr "" -#: src/pages/stock/LocationDetail.tsx:144 +#: src/pages/stock/LocationDetail.tsx:143 +msgid "Location Type" +msgstr "" + +#: src/pages/stock/LocationDetail.tsx:154 msgid "Top level stock location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:155 +#: src/pages/stock/LocationDetail.tsx:165 msgid "Location Details" msgstr "" -#: src/pages/stock/LocationDetail.tsx:181 +#: src/pages/stock/LocationDetail.tsx:191 msgid "Default Parts" msgstr "" -#: src/pages/stock/LocationDetail.tsx:200 +#: src/pages/stock/LocationDetail.tsx:210 #: src/pages/stock/LocationDetail.tsx:328 -#: src/tables/stock/StockLocationTable.tsx:108 +#: src/tables/stock/StockLocationTable.tsx:100 msgid "Edit Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:221 +#: src/pages/stock/LocationDetail.tsx:231 #: src/pages/stock/LocationDetail.tsx:333 msgid "Delete Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:224 +#: src/pages/stock/LocationDetail.tsx:234 msgid "Items Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:225 +#: src/pages/stock/LocationDetail.tsx:235 msgid "Action for stock items in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:230 +#: src/pages/stock/LocationDetail.tsx:240 msgid "Child Locations Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:231 +#: src/pages/stock/LocationDetail.tsx:241 msgid "Action for child locations in this location" msgstr "" @@ -4499,11 +4596,11 @@ msgstr "" msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:100 +#: src/pages/stock/StockDetail.tsx:103 msgid "Base Part" msgstr "" -#: src/pages/stock/StockDetail.tsx:107 +#: src/pages/stock/StockDetail.tsx:110 msgid "Stock Status" msgstr "" @@ -4515,15 +4612,16 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:174 +#: src/pages/stock/StockDetail.tsx:177 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:190 +#: src/pages/stock/StockDetail.tsx:193 msgid "Consumed By" msgstr "" -#: src/pages/stock/StockDetail.tsx:199 +#: src/pages/stock/StockDetail.tsx:202 +#: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" msgstr "" @@ -4535,78 +4633,78 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:264 +#: src/pages/stock/StockDetail.tsx:267 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:270 +#: src/pages/stock/StockDetail.tsx:273 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:282 +#: src/pages/stock/StockDetail.tsx:290 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:296 +#: src/pages/stock/StockDetail.tsx:304 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:303 +#: src/pages/stock/StockDetail.tsx:311 msgid "Child Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:358 +#: src/pages/stock/StockDetail.tsx:366 msgid "Edit Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:385 +#: src/pages/stock/StockDetail.tsx:393 msgid "Delete Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:426 -msgid "Stock Operations" -msgstr "" - -#: src/pages/stock/StockDetail.tsx:431 -msgid "Count stock" -msgstr "" - #: src/pages/stock/StockDetail.tsx:433 #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:441 +#: src/pages/stock/StockDetail.tsx:440 +msgid "Stock Operations" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:445 +msgid "Count stock" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:455 #: src/tables/stock/StockItemTable.tsx:414 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:449 +#: src/pages/stock/StockDetail.tsx:463 #: src/tables/stock/StockItemTable.tsx:423 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:456 +#: src/pages/stock/StockDetail.tsx:470 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:457 +#: src/pages/stock/StockDetail.tsx:471 #: src/tables/stock/StockItemTable.tsx:443 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:469 +#: src/pages/stock/StockDetail.tsx:482 msgid "Stock Item Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:513 -msgid "Batch Code" -msgstr "" - -#: src/tables/ColumnRenderers.tsx:50 +#: src/tables/ColumnRenderers.tsx:42 msgid "No location set" msgstr "" -#: src/tables/ColumnRenderers.tsx:264 +#: src/tables/ColumnRenderers.tsx:207 +msgid "Shipment Date" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:227 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "Valuta" @@ -4616,21 +4714,33 @@ msgstr "Valuta" msgid "Select Columns" msgstr "Välj kolumner" -#: src/tables/DownloadAction.tsx:11 +#: src/tables/DownloadAction.tsx:13 +#~ msgid "Excel" +#~ msgstr "Excel" + +#: src/tables/DownloadAction.tsx:21 +#~ msgid "Download selected data" +#~ msgstr "Download selected data" + +#: src/tables/DownloadAction.tsx:22 msgid "CSV" msgstr "CSV" -#: src/tables/DownloadAction.tsx:12 +#: src/tables/DownloadAction.tsx:23 msgid "TSV" msgstr "TSV" -#: src/tables/DownloadAction.tsx:13 -msgid "Excel" -msgstr "Excel" +#: src/tables/DownloadAction.tsx:24 +msgid "Excel (.xls)" +msgstr "" -#: src/tables/DownloadAction.tsx:21 -msgid "Download selected data" -msgstr "Ladda ner vald data" +#: src/tables/DownloadAction.tsx:25 +msgid "Excel (.xlsx)" +msgstr "" + +#: src/tables/DownloadAction.tsx:39 +msgid "Download Data" +msgstr "" #: src/tables/Filter.tsx:88 #: src/tables/build/BuildOrderTable.tsx:126 @@ -4663,102 +4773,102 @@ msgstr "" msgid "Remove filter" msgstr "Ta bort filter" -#: src/tables/FilterSelectDrawer.tsx:147 +#: src/tables/FilterSelectDrawer.tsx:136 msgid "Select filter" msgstr "Välj filter" -#: src/tables/FilterSelectDrawer.tsx:148 +#: src/tables/FilterSelectDrawer.tsx:137 msgid "Filter" msgstr "Filter" -#: src/tables/FilterSelectDrawer.tsx:155 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:33 -#: src/tables/stock/StockItemTestResultTable.tsx:182 +#: src/tables/FilterSelectDrawer.tsx:144 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 +#: src/tables/stock/StockItemTestResultTable.tsx:180 msgid "Value" msgstr "Värde" -#: src/tables/FilterSelectDrawer.tsx:156 +#: src/tables/FilterSelectDrawer.tsx:145 msgid "Select filter value" msgstr "Välj filtervärde" -#: src/tables/FilterSelectDrawer.tsx:196 +#: src/tables/FilterSelectDrawer.tsx:185 msgid "Table Filters" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:228 +#: src/tables/FilterSelectDrawer.tsx:217 msgid "Add Filter" msgstr "Lägg till filter" -#: src/tables/FilterSelectDrawer.tsx:237 +#: src/tables/FilterSelectDrawer.tsx:226 msgid "Clear Filters" msgstr "Rensa filter" -#: src/tables/InvenTreeTable.tsx:118 -#: src/tables/InvenTreeTable.tsx:384 -#: src/tables/InvenTreeTable.tsx:405 +#: src/tables/InvenTreeTable.tsx:119 +#: src/tables/InvenTreeTable.tsx:390 +#: src/tables/InvenTreeTable.tsx:411 msgid "No records found" msgstr "Inga resultat hittades" -#: src/tables/InvenTreeTable.tsx:416 +#: src/tables/InvenTreeTable.tsx:422 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:424 +#: src/tables/InvenTreeTable.tsx:430 msgid "Bad request" msgstr "Felaktig begäran" -#: src/tables/InvenTreeTable.tsx:427 +#: src/tables/InvenTreeTable.tsx:433 msgid "Unauthorized" msgstr "Ej behörig" -#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:436 msgid "Forbidden" msgstr "Otillåten" -#: src/tables/InvenTreeTable.tsx:433 +#: src/tables/InvenTreeTable.tsx:439 msgid "Not found" msgstr "Hittades inte" -#: src/tables/InvenTreeTable.tsx:482 -#: src/tables/InvenTreeTable.tsx:604 +#: src/tables/InvenTreeTable.tsx:488 +#: src/tables/InvenTreeTable.tsx:611 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:486 +#: src/tables/InvenTreeTable.tsx:492 msgid "Are you sure you want to delete the selected records?" msgstr "" -#: src/tables/InvenTreeTable.tsx:488 +#: src/tables/InvenTreeTable.tsx:494 msgid "This action cannot be undone!" msgstr "" -#: src/tables/InvenTreeTable.tsx:516 +#: src/tables/InvenTreeTable.tsx:522 msgid "Deleted records" msgstr "" -#: src/tables/InvenTreeTable.tsx:517 +#: src/tables/InvenTreeTable.tsx:523 msgid "Records were deleted successfully" msgstr "" -#: src/tables/InvenTreeTable.tsx:526 +#: src/tables/InvenTreeTable.tsx:532 msgid "Failed to delete records" msgstr "" -#: src/tables/InvenTreeTable.tsx:585 -#: src/tables/InvenTreeTable.tsx:586 +#: src/tables/InvenTreeTable.tsx:594 +#: src/tables/InvenTreeTable.tsx:595 +#~ msgid "Print actions" +#~ msgstr "Print actions" + +#: src/tables/InvenTreeTable.tsx:601 +#: src/tables/InvenTreeTable.tsx:602 msgid "Barcode actions" msgstr "Streckkods åtgärder" -#: src/tables/InvenTreeTable.tsx:594 -#: src/tables/InvenTreeTable.tsx:595 -msgid "Print actions" -msgstr "Skriv ut åtgärder" - -#: src/tables/InvenTreeTable.tsx:620 +#: src/tables/InvenTreeTable.tsx:630 msgid "Refresh data" msgstr "Uppdatera data" -#: src/tables/InvenTreeTable.tsx:638 +#: src/tables/InvenTreeTable.tsx:648 msgid "Table filters" msgstr "Tabellfilter" @@ -4770,138 +4880,138 @@ msgstr "" msgid "Part Information" msgstr "" -#: src/tables/bom/BomTable.tsx:177 +#: src/tables/bom/BomTable.tsx:179 #: src/tables/part/PartTable.tsx:124 msgid "No stock" msgstr "" -#: src/tables/bom/BomTable.tsx:185 +#: src/tables/bom/BomTable.tsx:187 #: src/tables/build/BuildLineTable.tsx:104 #: src/tables/part/PartTable.tsx:115 msgid "External stock" msgstr "" -#: src/tables/bom/BomTable.tsx:193 +#: src/tables/bom/BomTable.tsx:195 #: src/tables/build/BuildLineTable.tsx:67 msgid "Includes substitute stock" msgstr "" -#: src/tables/bom/BomTable.tsx:202 +#: src/tables/bom/BomTable.tsx:204 #: src/tables/build/BuildLineTable.tsx:77 msgid "Includes variant stock" msgstr "" -#: src/tables/bom/BomTable.tsx:227 +#: src/tables/bom/BomTable.tsx:229 #: src/tables/part/PartTable.tsx:143 #: src/tables/stock/StockItemTable.tsx:205 msgid "Stock Information" msgstr "" -#: src/tables/bom/BomTable.tsx:239 +#: src/tables/bom/BomTable.tsx:241 #: src/tables/build/BuildLineTable.tsx:195 msgid "Consumable item" msgstr "" -#: src/tables/bom/BomTable.tsx:260 +#: src/tables/bom/BomTable.tsx:262 msgid "Show trackable items" msgstr "" -#: src/tables/bom/BomTable.tsx:265 +#: src/tables/bom/BomTable.tsx:267 msgid "Show asssmbled items" msgstr "" -#: src/tables/bom/BomTable.tsx:270 +#: src/tables/bom/BomTable.tsx:272 msgid "Show items with available stock" msgstr "" -#: src/tables/bom/BomTable.tsx:275 +#: src/tables/bom/BomTable.tsx:277 msgid "Show items on order" msgstr "" -#: src/tables/bom/BomTable.tsx:279 +#: src/tables/bom/BomTable.tsx:281 msgid "Validated" msgstr "" -#: src/tables/bom/BomTable.tsx:280 +#: src/tables/bom/BomTable.tsx:282 msgid "Show validated items" msgstr "" -#: src/tables/bom/BomTable.tsx:284 +#: src/tables/bom/BomTable.tsx:286 #: src/tables/bom/UsedInTable.tsx:63 msgid "Inherited" msgstr "" -#: src/tables/bom/BomTable.tsx:285 +#: src/tables/bom/BomTable.tsx:287 #: src/tables/bom/UsedInTable.tsx:64 msgid "Show inherited items" msgstr "" -#: src/tables/bom/BomTable.tsx:289 +#: src/tables/bom/BomTable.tsx:291 #: src/tables/bom/UsedInTable.tsx:68 #: src/tables/build/BuildLineTable.tsx:46 msgid "Optional" msgstr "" -#: src/tables/bom/BomTable.tsx:290 +#: src/tables/bom/BomTable.tsx:292 #: src/tables/bom/UsedInTable.tsx:69 msgid "Show optional items" msgstr "" -#: src/tables/bom/BomTable.tsx:294 +#: src/tables/bom/BomTable.tsx:296 #: src/tables/build/BuildLineTable.tsx:41 msgid "Consumable" msgstr "" -#: src/tables/bom/BomTable.tsx:295 +#: src/tables/bom/BomTable.tsx:297 msgid "Show consumable items" msgstr "" -#: src/tables/bom/BomTable.tsx:299 +#: src/tables/bom/BomTable.tsx:301 msgid "Has Pricing" msgstr "" -#: src/tables/bom/BomTable.tsx:300 -msgid "Show items with pricing" -msgstr "" - #: src/tables/bom/BomTable.tsx:301 #~ msgid "Create BOM Item" #~ msgstr "Create BOM Item" -#: src/tables/bom/BomTable.tsx:309 -#: src/tables/bom/BomTable.tsx:397 +#: src/tables/bom/BomTable.tsx:302 +msgid "Show items with pricing" +msgstr "" + +#: src/tables/bom/BomTable.tsx:311 +#: src/tables/bom/BomTable.tsx:399 msgid "Add BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:314 +#: src/tables/bom/BomTable.tsx:316 msgid "BOM item created" msgstr "" -#: src/tables/bom/BomTable.tsx:321 +#: src/tables/bom/BomTable.tsx:323 msgid "Edit BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:323 +#: src/tables/bom/BomTable.tsx:325 msgid "BOM item updated" msgstr "" -#: src/tables/bom/BomTable.tsx:330 -msgid "Delete BOM Item" -msgstr "" - -#: src/tables/bom/BomTable.tsx:331 -msgid "BOM item deleted" -msgstr "" - #: src/tables/bom/BomTable.tsx:331 #~ msgid "Edit Bom Item" #~ msgstr "Edit Bom Item" +#: src/tables/bom/BomTable.tsx:332 +msgid "Delete BOM Item" +msgstr "" + +#: src/tables/bom/BomTable.tsx:333 +msgid "BOM item deleted" +msgstr "" + #: src/tables/bom/BomTable.tsx:333 #~ msgid "Bom item updated" #~ msgstr "Bom item updated" -#: src/tables/bom/BomTable.tsx:341 +#: src/tables/bom/BomTable.tsx:343 msgid "View BOM" msgstr "" @@ -4917,11 +5027,11 @@ msgstr "" #~ msgid "Are you sure you want to remove this BOM item?" #~ msgstr "Are you sure you want to remove this BOM item?" -#: src/tables/bom/BomTable.tsx:352 +#: src/tables/bom/BomTable.tsx:354 msgid "Validate BOM line" msgstr "" -#: src/tables/bom/BomTable.tsx:360 +#: src/tables/bom/BomTable.tsx:362 msgid "Edit Substitutes" msgstr "" @@ -5038,11 +5148,11 @@ msgid "Filter by responsible owner" msgstr "" #: src/tables/build/BuildOutputTable.tsx:114 -#: src/tables/build/BuildOutputTable.tsx:150 +#: src/tables/build/BuildOutputTable.tsx:152 msgid "Add Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:155 +#: src/tables/build/BuildOutputTable.tsx:157 msgid "Complete selected outputs" msgstr "" @@ -5050,68 +5160,68 @@ msgstr "" #~ msgid "Delete build output" #~ msgstr "Delete build output" -#: src/tables/build/BuildOutputTable.tsx:165 +#: src/tables/build/BuildOutputTable.tsx:167 msgid "Scrap selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:175 +#: src/tables/build/BuildOutputTable.tsx:177 msgid "Cancel selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:191 +#: src/tables/build/BuildOutputTable.tsx:193 msgid "Allocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:192 +#: src/tables/build/BuildOutputTable.tsx:194 msgid "Allocate stock to build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:197 +#: src/tables/build/BuildOutputTable.tsx:199 msgid "Deallocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:198 +#: src/tables/build/BuildOutputTable.tsx:200 msgid "Deallocate stock from build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:203 +#: src/tables/build/BuildOutputTable.tsx:205 msgid "Complete" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:204 +#: src/tables/build/BuildOutputTable.tsx:206 msgid "Complete build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:213 +#: src/tables/build/BuildOutputTable.tsx:215 msgid "Scrap" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:214 +#: src/tables/build/BuildOutputTable.tsx:216 msgid "Scrap build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:224 +#: src/tables/build/BuildOutputTable.tsx:226 msgid "Cancel build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:251 +#: src/tables/build/BuildOutputTable.tsx:253 msgid "Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:264 +#: src/tables/build/BuildOutputTable.tsx:266 msgid "Batch" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:278 +#: src/tables/build/BuildOutputTable.tsx:280 msgid "Allocated Items" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:288 +#: src/tables/build/BuildOutputTable.tsx:290 msgid "Required Tests" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:317 -#: src/tables/stock/StockItemTestResultTable.tsx:146 +#: src/tables/build/BuildOutputTable.tsx:319 +#: src/tables/stock/StockItemTestResultTable.tsx:144 msgid "Test Results" msgstr "" @@ -5132,7 +5242,7 @@ msgstr "" msgid "Delete Address" msgstr "Radera adress" -#: src/tables/company/AddressTable.tsx:145 +#: src/tables/company/AddressTable.tsx:144 msgid "Are you sure you want to delete this address?" msgstr "Är du säker på att du vill radera denna adress?" @@ -5177,36 +5287,52 @@ msgstr "Radera kontakt" msgid "Add contact" msgstr "" -#: src/tables/general/AttachmentTable.tsx:161 +#: src/tables/general/AttachmentTable.tsx:130 msgid "File uploaded" msgstr "" -#: src/tables/general/AttachmentTable.tsx:162 +#: src/tables/general/AttachmentTable.tsx:131 msgid "File {0} uploaded successfully" msgstr "" -#: src/tables/general/AttachmentTable.tsx:173 +#: src/tables/general/AttachmentTable.tsx:142 msgid "Upload Error" msgstr "" -#: src/tables/general/AttachmentTable.tsx:174 +#: src/tables/general/AttachmentTable.tsx:143 msgid "File could not be uploaded" msgstr "" #: src/tables/general/AttachmentTable.tsx:187 +msgid "Upload Attachment" +msgstr "Ladda upp bilaga" + +#: src/tables/general/AttachmentTable.tsx:197 +msgid "Edit Attachment" +msgstr "Redigera bilaga" + +#: src/tables/general/AttachmentTable.tsx:211 +msgid "Delete Attachment" +msgstr "Radera bilaga" + +#: src/tables/general/AttachmentTable.tsx:221 msgid "Add attachment" msgstr "" -#: src/tables/general/AttachmentTable.tsx:207 +#: src/tables/general/AttachmentTable.tsx:232 msgid "Add external link" msgstr "" -#: src/tables/general/AttachmentTable.tsx:239 +#: src/tables/general/AttachmentTable.tsx:254 +#~ msgid "Upload attachment" +#~ msgstr "Upload attachment" + +#: src/tables/general/AttachmentTable.tsx:289 msgid "No attachments found" msgstr "" -#: src/tables/general/AttachmentTable.tsx:254 -msgid "Upload attachment" +#: src/tables/general/AttachmentTable.tsx:325 +msgid "Drag attachment file here to upload" msgstr "" #: src/tables/machine/MachineListTable.tsx:199 @@ -5332,8 +5458,8 @@ msgstr "" #: src/tables/machine/MachineTypeTable.tsx:135 #: src/tables/machine/MachineTypeTable.tsx:255 -#: src/tables/plugin/PluginListTable.tsx:215 -#: src/tables/plugin/PluginListTable.tsx:643 +#: src/tables/plugin/PluginListTable.tsx:180 +#: src/tables/plugin/PluginListTable.tsx:568 msgid "Builtin" msgstr "" @@ -5375,7 +5501,7 @@ msgid "Message" msgstr "" #: src/tables/part/ParametricPartTable.tsx:75 -#: src/tables/part/PartParameterTable.tsx:87 +#: src/tables/part/PartParameterTable.tsx:88 msgid "Internal Units" msgstr "" @@ -5388,29 +5514,29 @@ msgid "Add Part Parameter" msgstr "" #: src/tables/part/ParametricPartTable.tsx:147 -#: src/tables/part/PartParameterTable.tsx:128 -#: src/tables/part/PartParameterTable.tsx:150 +#: src/tables/part/PartParameterTable.tsx:121 +#: src/tables/part/PartParameterTable.tsx:144 msgid "Edit Part Parameter" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:64 +#: src/tables/part/PartCategoryTable.tsx:60 #: src/tables/part/PartTable.tsx:180 msgid "Include Subcategories" msgstr "Inkludera underkategorier" -#: src/tables/part/PartCategoryTable.tsx:65 +#: src/tables/part/PartCategoryTable.tsx:61 msgid "Include subcategories in results" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:70 +#: src/tables/part/PartCategoryTable.tsx:66 msgid "Show structural categories" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:77 +#: src/tables/part/PartCategoryTable.tsx:73 msgid "New Part Category" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:106 +#: src/tables/part/PartCategoryTable.tsx:98 msgid "Add Part Category" msgstr "" @@ -5435,20 +5561,20 @@ msgstr "" #~ msgid "[{0}]" #~ msgstr "[{0}]" -#: src/tables/part/PartParameterTable.tsx:112 +#: src/tables/part/PartParameterTable.tsx:105 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:136 -#: src/tables/part/PartParameterTable.tsx:158 +#: src/tables/part/PartParameterTable.tsx:130 +#: src/tables/part/PartParameterTable.tsx:152 msgid "Delete Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:175 +#: src/tables/part/PartParameterTable.tsx:170 msgid "Add parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:196 +#: src/tables/part/PartParameterTable.tsx:191 #: src/tables/stock/StockItemTable.tsx:300 msgid "Include Variants" msgstr "" @@ -5482,15 +5608,15 @@ msgstr "" msgid "Add Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:97 +#: src/tables/part/PartParameterTemplateTable.tsx:100 msgid "Edit Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:105 +#: src/tables/part/PartParameterTemplateTable.tsx:111 msgid "Delete Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:135 +#: src/tables/part/PartParameterTemplateTable.tsx:141 msgid "Add parameter template" msgstr "" @@ -5588,7 +5714,7 @@ msgid "No Results" msgstr "Inga resultat" #: src/tables/part/PartTestTemplateTable.tsx:79 -#: src/tables/stock/StockItemTestResultTable.tsx:385 +#: src/tables/stock/StockItemTestResultTable.tsx:376 msgid "Required" msgstr "" @@ -5597,8 +5723,8 @@ msgid "Show required tests" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:84 -#: src/tables/settings/TemplateTable.tsx:213 -#: src/tables/settings/TemplateTable.tsx:275 +#: src/tables/settings/TemplateTable.tsx:160 +#: src/tables/settings/TemplateTable.tsx:270 msgid "Enabled" msgstr "" @@ -5639,26 +5765,30 @@ msgid "Show tests which have recorded results" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:126 -#: src/tables/part/PartTestTemplateTable.tsx:195 +#: src/tables/part/PartTestTemplateTable.tsx:201 msgid "Add Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:139 +#: src/tables/part/PartTestTemplateTable.tsx:142 msgid "Edit Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:147 +#: src/tables/part/PartTestTemplateTable.tsx:153 msgid "Delete Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:149 +#: src/tables/part/PartTestTemplateTable.tsx:155 msgid "This action cannot be reversed" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:151 +#: src/tables/part/PartTestTemplateTable.tsx:157 msgid "Any tests results associated with this template will be deleted" msgstr "" +#: src/tables/part/PartThumbTable.tsx:203 +msgid "Select" +msgstr "" + #: src/tables/part/PartVariantTable.tsx:16 msgid "Show active variants" msgstr "" @@ -5695,252 +5825,273 @@ msgstr "" msgid "Stage" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:113 -msgid "Plugin with id {id} not found" +#: src/tables/plugin/PluginListTable.tsx:95 +msgid "Plugin with key {pluginKey} not found" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:115 +#: src/tables/plugin/PluginListTable.tsx:97 msgid "An error occurred while fetching plugin details" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:134 -msgid "Plugin Actions" -msgstr "" +#: src/tables/plugin/PluginListTable.tsx:113 +#~ msgid "Plugin with id {id} not found" +#~ msgstr "Plugin with id {id} not found" -#: src/tables/plugin/PluginListTable.tsx:138 -#: src/tables/plugin/PluginListTable.tsx:141 -msgid "Edit plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:152 -#: src/tables/plugin/PluginListTable.tsx:153 -msgid "Reload" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:166 +#: src/tables/plugin/PluginListTable.tsx:122 msgid "Plugin information" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:177 +#: src/tables/plugin/PluginListTable.tsx:134 msgid "Author" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:198 +#: src/tables/plugin/PluginListTable.tsx:134 +#~ msgid "Plugin Actions" +#~ msgstr "Plugin Actions" + +#: src/tables/plugin/PluginListTable.tsx:138 +#: src/tables/plugin/PluginListTable.tsx:141 +#~ msgid "Edit plugin" +#~ msgstr "Edit plugin" + +#: src/tables/plugin/PluginListTable.tsx:152 +#: src/tables/plugin/PluginListTable.tsx:153 +#~ msgid "Reload" +#~ msgstr "Reload" + +#: src/tables/plugin/PluginListTable.tsx:154 +msgid "Plugin is not active" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:163 msgid "Package information" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:204 +#: src/tables/plugin/PluginListTable.tsx:169 msgid "Package Name" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:210 +#: src/tables/plugin/PluginListTable.tsx:175 msgid "Installation Path" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:220 +#: src/tables/plugin/PluginListTable.tsx:185 msgid "Package" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:231 +#: src/tables/plugin/PluginListTable.tsx:197 msgid "Plugin settings" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:248 +#: src/tables/plugin/PluginListTable.tsx:214 msgid "Plugin is active" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:254 +#: src/tables/plugin/PluginListTable.tsx:220 msgid "Plugin is inactive" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:261 +#: src/tables/plugin/PluginListTable.tsx:227 msgid "Plugin is not installed" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:287 +#: src/tables/plugin/PluginListTable.tsx:253 msgid "Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:312 +#: src/tables/plugin/PluginListTable.tsx:287 msgid "Description not available" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:338 +#: src/tables/plugin/PluginListTable.tsx:319 +msgid "Confirm plugin activation" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:320 +msgid "Confirm plugin deactivation" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:325 +msgid "The selected plugin will be activated" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:326 +msgid "The selected plugin will be deactivated" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:334 msgid "Activate Plugin" msgstr "" #: src/tables/plugin/PluginListTable.tsx:338 -msgid "Deactivate Plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:347 -msgid "Confirm plugin activation" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:348 -msgid "Confirm plugin deactivation" -msgstr "" +#~ msgid "Deactivate Plugin" +#~ msgstr "Deactivate Plugin" #: src/tables/plugin/PluginListTable.tsx:354 -msgid "The following plugin will be activated" -msgstr "" +#~ msgid "The following plugin will be activated" +#~ msgstr "The following plugin will be activated" #: src/tables/plugin/PluginListTable.tsx:355 -msgid "The following plugin will be deactivated" -msgstr "" +#~ msgid "The following plugin will be deactivated" +#~ msgstr "The following plugin will be deactivated" -#: src/tables/plugin/PluginListTable.tsx:366 -msgid "Confirm" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:376 -msgid "Activating plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:376 -msgid "Deactivating plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:392 -msgid "Plugin updated" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:394 -msgid "The plugin was activated" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:395 -msgid "The plugin was deactivated" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:403 -msgid "Error updating plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:423 +#: src/tables/plugin/PluginListTable.tsx:362 msgid "Deactivate" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:432 +#: src/tables/plugin/PluginListTable.tsx:366 +#~ msgid "Confirm" +#~ msgstr "Confirm" + +#: src/tables/plugin/PluginListTable.tsx:373 msgid "Activate" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:463 +#: src/tables/plugin/PluginListTable.tsx:376 +#~ msgid "Activating plugin" +#~ msgstr "Activating plugin" + +#: src/tables/plugin/PluginListTable.tsx:376 +#~ msgid "Deactivating plugin" +#~ msgstr "Deactivating plugin" + +#: src/tables/plugin/PluginListTable.tsx:392 +#~ msgid "Plugin updated" +#~ msgstr "Plugin updated" + +#: src/tables/plugin/PluginListTable.tsx:394 +#~ msgid "The plugin was activated" +#~ msgstr "The plugin was activated" + +#: src/tables/plugin/PluginListTable.tsx:395 +#~ msgid "The plugin was deactivated" +#~ msgstr "The plugin was deactivated" + +#: src/tables/plugin/PluginListTable.tsx:403 +#~ msgid "Error updating plugin" +#~ msgstr "Error updating plugin" + +#: src/tables/plugin/PluginListTable.tsx:406 msgid "Uninstall" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:495 +#: src/tables/plugin/PluginListTable.tsx:438 msgid "Install plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:508 +#: src/tables/plugin/PluginListTable.tsx:451 msgid "Install" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:512 +#: src/tables/plugin/PluginListTable.tsx:452 msgid "Plugin installed successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:525 +#: src/tables/plugin/PluginListTable.tsx:457 msgid "Uninstall Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:537 +#: src/tables/plugin/PluginListTable.tsx:469 msgid "Confirm plugin uninstall" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:540 +#: src/tables/plugin/PluginListTable.tsx:472 msgid "The selected plugin will be uninstalled." msgstr "" -#: src/tables/plugin/PluginListTable.tsx:541 +#: src/tables/plugin/PluginListTable.tsx:473 msgid "This action cannot be undone." msgstr "" -#: src/tables/plugin/PluginListTable.tsx:547 +#: src/tables/plugin/PluginListTable.tsx:477 msgid "Plugin uninstalled successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:560 +#: src/tables/plugin/PluginListTable.tsx:484 msgid "Delete Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:562 +#: src/tables/plugin/PluginListTable.tsx:485 msgid "Deleting this plugin configuration will remove all associated settings and data. Are you sure you want to delete this plugin?" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:574 +#: src/tables/plugin/PluginListTable.tsx:498 msgid "Plugins reloaded" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:575 +#: src/tables/plugin/PluginListTable.tsx:499 msgid "Plugins were reloaded successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:591 +#: src/tables/plugin/PluginListTable.tsx:515 msgid "Reload Plugins" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:600 +#: src/tables/plugin/PluginListTable.tsx:524 msgid "Install Plugin" msgstr "" +#: src/tables/plugin/PluginListTable.tsx:544 +msgid "Plugin Detail" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:573 +msgid "Sample" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:578 +#: src/tables/stock/StockItemTable.tsx:305 +msgid "Installed" +msgstr "" + #: src/tables/plugin/PluginListTable.tsx:615 #~ msgid "Plugin detail" #~ msgstr "Plugin detail" -#: src/tables/plugin/PluginListTable.tsx:619 -msgid "Plugin Detail" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:648 -msgid "Sample" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:653 -#: src/tables/stock/StockItemTable.tsx:305 -msgid "Installed" -msgstr "" - -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:57 -msgid "Edit Parameter" +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:59 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:108 +msgid "Add Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:60 -msgid "Parameter updated" -msgstr "" +#~ msgid "Parameter updated" +#~ msgstr "Parameter updated" -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:71 -msgid "Delete Parameter" +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:70 +msgid "Edit Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:73 -msgid "Parameter deleted" -msgstr "" +#~ msgid "Parameter deleted" +#~ msgstr "Parameter deleted" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:74 -msgid "Are you sure you want to delete this parameter?" +#~ msgid "Are you sure you want to delete this parameter?" +#~ msgstr "Are you sure you want to delete this parameter?" + +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:78 +msgid "Delete Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartTable.tsx:63 #~ msgid "Create Manufacturer Part" #~ msgstr "Create Manufacturer Part" -#: src/tables/purchasing/ManufacturerPartTable.tsx:100 -msgid "Manufacturer part updated" -msgstr "" - -#: src/tables/purchasing/ManufacturerPartTable.tsx:111 +#: src/tables/purchasing/ManufacturerPartTable.tsx:92 msgid "Delete Manufacturer Part" msgstr "" +#: src/tables/purchasing/ManufacturerPartTable.tsx:100 +#~ msgid "Manufacturer part updated" +#~ msgstr "Manufacturer part updated" + #: src/tables/purchasing/ManufacturerPartTable.tsx:112 -msgid "Manufacturer part deleted" -msgstr "" +#~ msgid "Manufacturer part deleted" +#~ msgstr "Manufacturer part deleted" #: src/tables/purchasing/ManufacturerPartTable.tsx:114 -msgid "Are you sure you want to remove this manufacturer part?" -msgstr "" +#~ msgid "Are you sure you want to remove this manufacturer part?" +#~ msgstr "Are you sure you want to remove this manufacturer part?" #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:86 msgid "Part Description" @@ -6087,18 +6238,22 @@ msgid "Error Information" msgstr "" #: src/tables/settings/ErrorTable.tsx:51 -msgid "Delete error report" -msgstr "" +msgid "Delete Error Report" +msgstr "Radera felrapport" + +#: src/tables/settings/ErrorTable.tsx:51 +#~ msgid "Delete error report" +#~ msgstr "Delete error report" #: src/tables/settings/ErrorTable.tsx:53 -msgid "Error report deleted" -msgstr "" - -#: src/tables/settings/ErrorTable.tsx:54 msgid "Are you sure you want to delete this error report?" msgstr "" -#: src/tables/settings/ErrorTable.tsx:67 +#: src/tables/settings/ErrorTable.tsx:55 +msgid "Error report deleted" +msgstr "" + +#: src/tables/settings/ErrorTable.tsx:77 #: src/tables/settings/FailedTasksTable.tsx:57 msgid "Error Details" msgstr "" @@ -6115,7 +6270,7 @@ msgid "Task ID" msgstr "" #: src/tables/settings/FailedTasksTable.tsx:34 -#: src/tables/stock/StockItemTestResultTable.tsx:214 +#: src/tables/stock/StockItemTestResultTable.tsx:205 msgid "Started" msgstr "" @@ -6188,30 +6343,71 @@ msgstr "" msgid "Next Run" msgstr "" -#: src/tables/settings/TemplateTable.tsx:120 -msgid "{templateTypeTranslation} with id {id} not found" +#: src/tables/settings/TemplateTable.tsx:82 +msgid "Template not found" msgstr "" +#: src/tables/settings/TemplateTable.tsx:84 +msgid "An error occurred while fetching template details" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:120 +#~ msgid "{templateTypeTranslation} with id {id} not found" +#~ msgstr "{templateTypeTranslation} with id {id} not found" + #: src/tables/settings/TemplateTable.tsx:124 -msgid "An error occurred while fetching {templateTypeTranslation} details" -msgstr "" +#~ msgid "An error occurred while fetching {templateTypeTranslation} details" +#~ msgstr "An error occurred while fetching {templateTypeTranslation} details" #: src/tables/settings/TemplateTable.tsx:146 -msgid "actions" +#~ msgid "actions" +#~ msgstr "actions" + +#: src/tables/settings/TemplateTable.tsx:170 +msgid "Modify" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:171 +msgid "Modify template file" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:222 +#: src/tables/settings/TemplateTable.tsx:289 +msgid "Edit Template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:230 +msgid "Delete template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:236 +msgid "Add Template" msgstr "" #: src/tables/settings/TemplateTable.tsx:243 -msgid "Add new" -msgstr "" +#~ msgid "Add new" +#~ msgstr "Add new" #: src/tables/settings/TemplateTable.tsx:243 #~ msgid "Create new" #~ msgstr "Create new" -#: src/tables/settings/TemplateTable.tsx:276 +#: src/tables/settings/TemplateTable.tsx:249 +msgid "Add template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:271 msgid "Filter by enabled status" msgstr "" +#: src/tables/settings/TemplateTable.tsx:276 +msgid "Model Type" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:277 +msgid "Filter by target model type" +msgstr "" + #: src/tables/settings/UserTable.tsx:79 msgid "User with id {id} not found" msgstr "" @@ -6277,6 +6473,23 @@ msgstr "" msgid "Edit user" msgstr "Redigera användare" +#: src/tables/stock/LocationTypesTable.tsx:36 +#: src/tables/stock/LocationTypesTable.tsx:105 +msgid "Add Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:44 +msgid "Edit Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:52 +msgid "Delete Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:69 +msgid "Icon" +msgstr "Ikon" + #: src/tables/stock/StockItemTable.tsx:90 msgid "This stock item is in production" msgstr "" @@ -6338,7 +6551,7 @@ msgid "Show items which are available" msgstr "" #: src/tables/stock/StockItemTable.tsx:280 -#: src/tables/stock/StockLocationTable.tsx:37 +#: src/tables/stock/StockLocationTable.tsx:33 msgid "Include Sublocations" msgstr "" @@ -6467,123 +6680,135 @@ msgstr "" msgid "Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:153 +#: src/tables/stock/StockItemTestResultTable.tsx:151 msgid "Test result for installed stock item" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:164 +#: src/tables/stock/StockItemTestResultTable.tsx:162 msgid "Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:170 +#: src/tables/stock/StockItemTestResultTable.tsx:168 msgid "No Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:186 +#: src/tables/stock/StockItemTestResultTable.tsx:184 msgid "Attachment" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:209 +#: src/tables/stock/StockItemTestResultTable.tsx:200 msgid "Test station" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:229 +#: src/tables/stock/StockItemTestResultTable.tsx:220 msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:277 -#: src/tables/stock/StockItemTestResultTable.tsx:349 -#: src/tables/stock/StockItemTestResultTable.tsx:404 +#: src/tables/stock/StockItemTestResultTable.tsx:268 +#: src/tables/stock/StockItemTestResultTable.tsx:340 +#: src/tables/stock/StockItemTestResultTable.tsx:395 msgid "Add Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:279 +#: src/tables/stock/StockItemTestResultTable.tsx:270 msgid "Test result added" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:288 -#: src/tables/stock/StockItemTestResultTable.tsx:359 +#: src/tables/stock/StockItemTestResultTable.tsx:279 +#: src/tables/stock/StockItemTestResultTable.tsx:350 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:290 +#: src/tables/stock/StockItemTestResultTable.tsx:281 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:296 -#: src/tables/stock/StockItemTestResultTable.tsx:368 +#: src/tables/stock/StockItemTestResultTable.tsx:287 +#: src/tables/stock/StockItemTestResultTable.tsx:359 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:298 +#: src/tables/stock/StockItemTestResultTable.tsx:289 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:312 +#: src/tables/stock/StockItemTestResultTable.tsx:303 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:313 +#: src/tables/stock/StockItemTestResultTable.tsx:304 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:320 +#: src/tables/stock/StockItemTestResultTable.tsx:311 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:337 +#: src/tables/stock/StockItemTestResultTable.tsx:328 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:386 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:390 +#: src/tables/stock/StockItemTestResultTable.tsx:381 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:391 +#: src/tables/stock/StockItemTestResultTable.tsx:382 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:395 +#: src/tables/stock/StockItemTestResultTable.tsx:386 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:396 +#: src/tables/stock/StockItemTestResultTable.tsx:387 msgid "Show only passed tests" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:38 +#: src/tables/stock/StockLocationTable.tsx:34 msgid "Include sublocations in results" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:42 +#: src/tables/stock/StockLocationTable.tsx:38 msgid "structural" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:43 +#: src/tables/stock/StockLocationTable.tsx:39 msgid "Show structural locations" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:47 +#: src/tables/stock/StockLocationTable.tsx:43 msgid "external" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:48 +#: src/tables/stock/StockLocationTable.tsx:44 msgid "Show external locations" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:52 +#: src/tables/stock/StockLocationTable.tsx:48 msgid "Has location type" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:89 -#: src/tables/stock/StockLocationTable.tsx:118 +#: src/tables/stock/StockLocationTable.tsx:85 +#: src/tables/stock/StockLocationTable.tsx:110 msgid "Add Stock Location" msgstr "" +#: src/tables/stock/StockTrackingTable.tsx:64 +msgid "Added" +msgstr "" + +#: src/tables/stock/StockTrackingTable.tsx:69 +msgid "Removed" +msgstr "" + +#: src/tables/stock/StockTrackingTable.tsx:198 +msgid "No user information" +msgstr "" + #: src/views/MobileAppView.tsx:22 msgid "Mobile viewport detected" msgstr "Mobil vy upptäckt" diff --git a/src/frontend/src/locales/th/messages.po b/src/frontend/src/locales/th/messages.po index dcb8fe8a15..a9480c595f 100644 --- a/src/frontend/src/locales/th/messages.po +++ b/src/frontend/src/locales/th/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: th\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-05-13 02:48\n" +"PO-Revision-Date: 2024-05-23 11:39\n" "Last-Translator: \n" "Language-Team: Thai\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -30,10 +30,67 @@ msgstr "" msgid "Title" msgstr "" +#: src/components/buttons/AdminButton.tsx:83 +msgid "Open in admin interface" +msgstr "" + #: src/components/buttons/CopyButton.tsx:18 msgid "Copy to clipboard" msgstr "" +#: src/components/buttons/PrintingActions.tsx:95 +msgid "Print Label" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:101 +msgid "Label printing completed successfully" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:106 +#: src/components/buttons/PrintingActions.tsx:143 +#: src/components/forms/ApiForm.tsx:504 +#: src/components/forms/fields/ApiFormField.tsx:295 +#: src/components/modals/LicenseModal.tsx:75 +#: src/components/nav/SearchDrawer.tsx:413 +#: src/components/widgets/MarkdownEditor.tsx:107 +#: src/components/widgets/MarkdownEditor.tsx:153 +#: src/pages/ErrorPage.tsx:12 +#: src/pages/ErrorPage.tsx:25 +#: src/pages/part/PartPricingPanel.tsx:71 +#: src/tables/InvenTreeTable.tsx:451 +#: src/tables/InvenTreeTable.tsx:531 +#: src/tables/stock/StockItemTestResultTable.tsx:310 +msgid "Error" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:107 +msgid "The label could not be generated" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:122 +msgid "Print Report" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:138 +msgid "Report printing completed successfully" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:144 +msgid "The report could not be generated" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:171 +msgid "Printing Actions" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:176 +msgid "Print Labels" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:182 +msgid "Print Reports" +msgstr "" + #: src/components/buttons/ScanButton.tsx:15 msgid "Scan QR code" msgstr "" @@ -64,15 +121,15 @@ msgstr "" msgid "No" msgstr "" -#: src/components/details/Details.tsx:302 +#: src/components/details/Details.tsx:303 msgid "No name defined" msgstr "" -#: src/components/details/Details.tsx:339 +#: src/components/details/Details.tsx:340 msgid "Copied" msgstr "" -#: src/components/details/Details.tsx:339 +#: src/components/details/Details.tsx:340 msgid "Copy" msgstr "" @@ -85,24 +142,23 @@ msgid "Remove the associated image from this item?" msgstr "" #: src/components/details/DetailsImage.tsx:71 -#: src/forms/StockForms.tsx:442 +#: src/forms/StockForms.tsx:483 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:448 +#: src/pages/stock/StockDetail.tsx:462 msgid "Remove" msgstr "" #: src/components/details/DetailsImage.tsx:71 -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:163 -#: src/components/items/ActionDropdown.tsx:222 -#: src/components/items/ActionDropdown.tsx:223 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 +#: src/components/items/ActionDropdown.tsx:229 +#: src/components/items/ActionDropdown.tsx:230 #: src/contexts/ThemeContext.tsx:43 #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:40 -#: src/tables/FilterSelectDrawer.tsx:218 -#: src/tables/InvenTreeTable.tsx:493 -#: src/tables/build/BuildOutputTable.tsx:223 -#: src/tables/plugin/PluginListTable.tsx:365 +#: src/tables/FilterSelectDrawer.tsx:207 +#: src/tables/InvenTreeTable.tsx:499 +#: src/tables/build/BuildOutputTable.tsx:225 msgid "Cancel" msgstr "" @@ -119,7 +175,7 @@ msgid "Clear" msgstr "" #: src/components/details/DetailsImage.tsx:227 -#: src/components/forms/ApiForm.tsx:554 +#: src/components/forms/ApiForm.tsx:571 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:56 msgid "Submit" @@ -150,9 +206,10 @@ msgid "Part is not active" msgstr "" #: src/components/details/PartIcons.tsx:34 -#: src/pages/company/CompanyDetail.tsx:308 -#: src/pages/company/SupplierPartDetail.tsx:304 -#: src/pages/part/PartDetail.tsx:684 +#: src/components/render/Plugin.tsx:17 +#: src/pages/company/CompanyDetail.tsx:310 +#: src/pages/company/SupplierPartDetail.tsx:305 +#: src/pages/part/PartDetail.tsx:685 msgid "Inactive" msgstr "" @@ -196,10 +253,10 @@ msgid "Code" msgstr "" #: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:44 -msgid "Failed to parse error response from server." -msgstr "" +#~ msgid "Failed to parse error response from server." +#~ msgstr "Failed to parse error response from server." -#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:82 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:81 msgid "Preview not available, click \"Reload Preview\"." msgstr "" @@ -207,98 +264,99 @@ msgstr "" msgid "PDF Preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:113 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:104 msgid "Error loading template" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:125 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:116 msgid "Error saving template" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 -msgid "Save & Reload preview?" +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:146 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:270 +msgid "Save & Reload Preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:156 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 msgid "Are you sure you want to Save & Reload the preview?" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 +#~ msgid "Save & Reload preview?" +#~ msgstr "Save & Reload preview?" + +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:153 msgid "To render the preview the current template needs to be replaced on the server with your modifications which may break the label if it is under active use. Do you want to proceed?" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:162 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:157 msgid "Save & Reload" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:191 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:189 msgid "Preview updated" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:192 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:190 msgid "The preview has been updated successfully." msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:255 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:262 msgid "Reload preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:256 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:263 msgid "Use the currently stored template from the server" msgstr "" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:263 -msgid "Save & Reload preview" -msgstr "" +#~ msgid "Save & Reload preview" +#~ msgstr "Save & Reload preview" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:264 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:271 msgid "Save the current template and reload the preview" msgstr "" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:322 -#: src/tables/part/PartThumbTable.tsx:203 -msgid "Select" +#~ msgid "to preview" +#~ msgstr "to preview" + +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:329 +msgid "Select instance to preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:322 -msgid "to preview" -msgstr "" - -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:366 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:373 msgid "Error rendering template" msgstr "" -#: src/components/forms/ApiForm.tsx:143 +#: src/components/forms/ApiForm.tsx:148 #: src/functions/forms.tsx:259 msgid "Form Error" msgstr "" -#: src/components/forms/ApiForm.tsx:411 +#: src/components/forms/ApiForm.tsx:428 #: src/components/widgets/MarkdownEditor.tsx:145 msgid "Success" msgstr "" #: src/components/forms/ApiForm.tsx:487 -msgid "Form Errors Exist" -msgstr "" +#~ msgid "Form Errors Exist" +#~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:592 -#: src/tables/plugin/PluginListTable.tsx:445 +#: src/components/forms/ApiForm.tsx:609 +#: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "" -#: src/components/forms/ApiForm.tsx:612 -#: src/components/items/ActionDropdown.tsx:203 +#: src/components/forms/ApiForm.tsx:629 +#: src/components/items/ActionDropdown.tsx:210 #: src/functions/forms.tsx:299 #: src/hooks/UseForm.tsx:122 #: src/pages/Index/Scan.tsx:343 #: src/pages/Notifications.tsx:123 -#: src/tables/InvenTreeTable.tsx:492 +#: src/tables/InvenTreeTable.tsx:498 #: src/tables/RowActions.tsx:71 -#: src/tables/plugin/PluginListTable.tsx:477 -#: src/tables/settings/TemplateTable.tsx:105 -#: src/tables/settings/TemplateTable.tsx:154 -#: src/tables/settings/TemplateTable.tsx:236 +#: src/tables/plugin/PluginListTable.tsx:420 msgid "Delete" msgstr "" @@ -468,18 +526,19 @@ msgstr "" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 -#: src/pages/part/CategoryDetail.tsx:77 -#: src/pages/part/PartDetail.tsx:125 -#: src/pages/stock/LocationDetail.tsx:83 +#: src/pages/part/CategoryDetail.tsx:78 +#: src/pages/part/PartDetail.tsx:126 +#: src/pages/stock/LocationDetail.tsx:85 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 #: src/tables/machine/MachineTypeTable.tsx:216 #: src/tables/machine/MachineTypeTable.tsx:319 #: src/tables/plugin/PluginErrorTable.tsx:33 -#: src/tables/plugin/PluginListTable.tsx:169 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:27 +#: src/tables/plugin/PluginListTable.tsx:126 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:32 #: src/tables/settings/GroupTable.tsx:103 #: src/tables/settings/PendingTasksTable.tsx:26 +#: src/tables/stock/LocationTypesTable.tsx:60 msgid "Name" msgstr "" @@ -520,35 +579,20 @@ msgstr "" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/ApiFormField.tsx:276 -#: src/components/modals/LicenseModal.tsx:75 -#: src/components/nav/SearchDrawer.tsx:413 -#: src/components/widgets/MarkdownEditor.tsx:107 -#: src/components/widgets/MarkdownEditor.tsx:153 -#: src/pages/ErrorPage.tsx:12 -#: src/pages/ErrorPage.tsx:25 -#: src/pages/part/PartPricingPanel.tsx:71 -#: src/tables/InvenTreeTable.tsx:445 -#: src/tables/InvenTreeTable.tsx:525 -#: src/tables/plugin/PluginListTable.tsx:402 -#: src/tables/stock/StockItemTestResultTable.tsx:319 -msgid "Error" -msgstr "" - -#: src/components/forms/fields/RelatedModelField.tsx:305 +#: src/components/forms/fields/RelatedModelField.tsx:315 #: src/pages/Index/Settings/UserSettings.tsx:64 #: src/tables/Search.tsx:23 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:306 +#: src/components/forms/fields/RelatedModelField.tsx:316 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:120 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:308 +#: src/components/forms/fields/RelatedModelField.tsx:318 msgid "No results found" msgstr "" @@ -569,54 +613,51 @@ msgstr "" msgid "Thumbnail" msgstr "" -#: src/components/items/ActionDropdown.tsx:112 -#: src/pages/build/BuildDetail.tsx:354 +#: src/components/items/ActionDropdown.tsx:119 +#: src/pages/build/BuildDetail.tsx:360 msgid "Barcode Actions" msgstr "" -#: src/components/items/ActionDropdown.tsx:129 +#: src/components/items/ActionDropdown.tsx:136 msgid "View" msgstr "" -#: src/components/items/ActionDropdown.tsx:130 +#: src/components/items/ActionDropdown.tsx:137 msgid "View barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:146 +#: src/components/items/ActionDropdown.tsx:153 msgid "Link Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:147 +#: src/components/items/ActionDropdown.tsx:154 msgid "Link custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:163 -#: src/forms/PurchaseOrderForms.tsx:375 +#: src/components/items/ActionDropdown.tsx:170 +#: src/forms/PurchaseOrderForms.tsx:389 msgid "Unlink Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:164 +#: src/components/items/ActionDropdown.tsx:171 msgid "Unlink custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:182 +#: src/components/items/ActionDropdown.tsx:189 #: src/tables/RowActions.tsx:51 -#: src/tables/settings/TemplateTable.tsx:87 -#: src/tables/settings/TemplateTable.tsx:150 -#: src/tables/settings/TemplateTable.tsx:287 msgid "Edit" msgstr "" -#: src/components/items/ActionDropdown.tsx:204 +#: src/components/items/ActionDropdown.tsx:211 msgid "Delete item" msgstr "" -#: src/components/items/ActionDropdown.tsx:241 +#: src/components/items/ActionDropdown.tsx:248 #: src/tables/RowActions.tsx:31 msgid "Duplicate" msgstr "" -#: src/components/items/ActionDropdown.tsx:242 +#: src/components/items/ActionDropdown.tsx:249 msgid "Duplicate item" msgstr "" @@ -625,7 +666,7 @@ msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:437 +#: src/tables/InvenTreeTable.tsx:443 msgid "Unknown error" msgstr "" @@ -785,27 +826,27 @@ msgstr "" #: src/components/modals/QrCodeModal.tsx:154 #: src/defaults/menuItems.tsx:21 -#: src/pages/Index/Scan.tsx:747 +#: src/pages/Index/Scan.tsx:746 msgid "Scanning" msgstr "" #: src/components/modals/QrCodeModal.tsx:154 -#: src/pages/Index/Scan.tsx:747 +#: src/pages/Index/Scan.tsx:746 msgid "Not scanning" msgstr "" #: src/components/modals/QrCodeModal.tsx:159 -#: src/pages/Index/Scan.tsx:753 +#: src/pages/Index/Scan.tsx:752 msgid "Select Camera" msgstr "" #: src/components/modals/QrCodeModal.tsx:169 -#: src/pages/Index/Scan.tsx:738 +#: src/pages/Index/Scan.tsx:737 msgid "Start scanning" msgstr "" #: src/components/modals/QrCodeModal.tsx:176 -#: src/pages/Index/Scan.tsx:730 +#: src/pages/Index/Scan.tsx:729 msgid "Stop scanning" msgstr "" @@ -891,8 +932,8 @@ msgid "Email settings not configured" msgstr "" #: src/components/modals/ServerInfoModal.tsx:121 -#: src/tables/plugin/PluginListTable.tsx:187 -#: src/tables/plugin/PluginListTable.tsx:319 +#: src/tables/plugin/PluginListTable.tsx:144 +#: src/tables/plugin/PluginListTable.tsx:294 msgid "Version" msgstr "" @@ -926,13 +967,13 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:293 +#: src/pages/Index/Settings/SystemSettings.tsx:294 msgid "System Settings" msgstr "" #: src/components/nav/MainMenu.tsx:67 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:172 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 msgid "Admin Center" msgstr "" @@ -975,7 +1016,7 @@ msgid "Pages" msgstr "" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:133 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:153 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "" @@ -1013,9 +1054,9 @@ msgid "Mark as read" msgstr "" #: src/components/nav/PartCategoryTree.tsx:158 -#: src/components/render/ModelType.tsx:60 +#: src/components/render/ModelType.tsx:64 #: src/pages/Index/Settings/SystemSettings.tsx:162 -#: src/pages/part/CategoryDetail.tsx:248 +#: src/pages/part/CategoryDetail.tsx:249 msgid "Part Categories" msgstr "" @@ -1052,142 +1093,147 @@ msgid "No results available for search query" msgstr "" #: src/components/nav/StockLocationTree.tsx:93 -#: src/components/render/ModelType.tsx:76 -#: src/pages/stock/LocationDetail.tsx:175 +#: src/components/render/ModelType.tsx:82 +#: src/pages/stock/LocationDetail.tsx:185 msgid "Stock Locations" msgstr "" -#: src/components/render/Instance.tsx:137 +#: src/components/render/Instance.tsx:166 msgid "Unknown model: {model}" msgstr "" -#: src/components/render/ModelType.tsx:21 -#: src/forms/BuildForms.tsx:184 -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49 +#: src/components/render/ModelType.tsx:22 +#: src/forms/BuildForms.tsx:201 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:83 #: src/pages/part/PartDetail.tsx:828 #: src/tables/part/RelatedPartTable.tsx:45 +#: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" msgstr "" -#: src/components/render/ModelType.tsx:22 +#: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 #: src/pages/Index/Settings/SystemSettings.tsx:167 -#: src/pages/part/CategoryDetail.tsx:109 -#: src/pages/part/CategoryDetail.tsx:234 -#: src/pages/part/CategoryDetail.tsx:264 -#: src/pages/part/PartDetail.tsx:638 +#: src/pages/part/CategoryDetail.tsx:110 +#: src/pages/part/CategoryDetail.tsx:235 +#: src/pages/part/CategoryDetail.tsx:265 +#: src/pages/part/PartDetail.tsx:639 msgid "Parts" msgstr "" -#: src/components/render/ModelType.tsx:29 +#: src/components/render/ModelType.tsx:31 msgid "Part Parameter Template" msgstr "" -#: src/components/render/ModelType.tsx:30 +#: src/components/render/ModelType.tsx:32 msgid "Part Parameter Templates" msgstr "" -#: src/components/render/ModelType.tsx:36 +#: src/components/render/ModelType.tsx:38 msgid "Part Test Template" msgstr "" -#: src/components/render/ModelType.tsx:37 +#: src/components/render/ModelType.tsx:39 msgid "Part Test Templates" msgstr "" -#: src/components/render/ModelType.tsx:43 -#: src/pages/company/SupplierPartDetail.tsx:189 -#: src/pages/company/SupplierPartDetail.tsx:317 -#: src/pages/stock/StockDetail.tsx:159 +#: src/components/render/ModelType.tsx:45 +#: src/pages/company/SupplierPartDetail.tsx:190 +#: src/pages/company/SupplierPartDetail.tsx:318 +#: src/pages/stock/StockDetail.tsx:162 #: src/tables/purchasing/SupplierPartTable.tsx:68 msgid "Supplier Part" msgstr "" -#: src/components/render/ModelType.tsx:44 +#: src/components/render/ModelType.tsx:46 msgid "Supplier Parts" msgstr "" -#: src/components/render/ModelType.tsx:51 -#: src/pages/company/ManufacturerPartDetail.tsx:124 +#: src/components/render/ModelType.tsx:54 +#: src/pages/company/ManufacturerPartDetail.tsx:125 msgid "Manufacturer Part" msgstr "" -#: src/components/render/ModelType.tsx:52 +#: src/components/render/ModelType.tsx:55 msgid "Manufacturer Parts" msgstr "" -#: src/components/render/ModelType.tsx:59 -#: src/pages/part/CategoryDetail.tsx:287 +#: src/components/render/ModelType.tsx:63 +#: src/pages/part/CategoryDetail.tsx:288 msgid "Part Category" msgstr "" -#: src/components/render/ModelType.tsx:67 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67 -#: src/pages/stock/StockDetail.tsx:535 +#: src/components/render/ModelType.tsx:72 +#: src/pages/stock/StockDetail.tsx:548 +#: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" msgstr "" -#: src/components/render/ModelType.tsx:68 -#: src/pages/company/CompanyDetail.tsx:197 -#: src/pages/stock/LocationDetail.tsx:116 -#: src/pages/stock/LocationDetail.tsx:161 +#: src/components/render/ModelType.tsx:73 +#: src/pages/company/CompanyDetail.tsx:199 +#: src/pages/stock/LocationDetail.tsx:118 +#: src/pages/stock/LocationDetail.tsx:171 #: src/pages/stock/LocationDetail.tsx:365 msgid "Stock Items" msgstr "" -#: src/components/render/ModelType.tsx:75 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:154 +#: src/components/render/ModelType.tsx:81 msgid "Stock Location" msgstr "" -#: src/components/render/ModelType.tsx:83 +#: src/components/render/ModelType.tsx:90 +msgid "Stock Location Type" +msgstr "" + +#: src/components/render/ModelType.tsx:91 +msgid "Stock Location Types" +msgstr "" + +#: src/components/render/ModelType.tsx:95 msgid "Stock History" msgstr "" -#: src/components/render/ModelType.tsx:84 +#: src/components/render/ModelType.tsx:96 msgid "Stock Histories" msgstr "" -#: src/components/render/ModelType.tsx:88 +#: src/components/render/ModelType.tsx:100 #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:43 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:126 msgid "Build" msgstr "" -#: src/components/render/ModelType.tsx:89 +#: src/components/render/ModelType.tsx:101 msgid "Builds" msgstr "" -#: src/components/render/ModelType.tsx:96 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:76 +#: src/components/render/ModelType.tsx:109 msgid "Build Line" msgstr "" -#: src/components/render/ModelType.tsx:97 +#: src/components/render/ModelType.tsx:110 msgid "Build Lines" msgstr "" -#: src/components/render/ModelType.tsx:104 -#: src/pages/company/CompanyDetail.tsx:321 +#: src/components/render/ModelType.tsx:117 +#: src/pages/company/CompanyDetail.tsx:323 msgid "Company" msgstr "" -#: src/components/render/ModelType.tsx:105 +#: src/components/render/ModelType.tsx:118 msgid "Companies" msgstr "" -#: src/components/render/ModelType.tsx:112 +#: src/components/render/ModelType.tsx:126 #: src/tables/TableHoverCard.tsx:58 #: src/tables/build/BuildOrderTable.tsx:131 #: src/tables/purchasing/PurchaseOrderTable.tsx:64 @@ -1196,170 +1242,199 @@ msgstr "" msgid "Project Code" msgstr "" -#: src/components/render/ModelType.tsx:113 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:97 +#: src/components/render/ModelType.tsx:127 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:105 msgid "Project Codes" msgstr "" -#: src/components/render/ModelType.tsx:119 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99 +#: src/components/render/ModelType.tsx:133 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:355 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:362 +#: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" msgstr "" -#: src/components/render/ModelType.tsx:120 -#: src/pages/Index/Settings/SystemSettings.tsx:242 -#: src/pages/company/CompanyDetail.tsx:190 -#: src/pages/company/SupplierPartDetail.tsx:223 -#: src/pages/part/PartDetail.tsx:571 +#: src/components/render/ModelType.tsx:134 +#: src/pages/Index/Settings/SystemSettings.tsx:243 +#: src/pages/company/CompanyDetail.tsx:192 +#: src/pages/company/SupplierPartDetail.tsx:224 +#: src/pages/part/PartDetail.tsx:572 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" -#: src/components/render/ModelType.tsx:127 +#: src/components/render/ModelType.tsx:142 msgid "Purchase Order Line" msgstr "" -#: src/components/render/ModelType.tsx:128 +#: src/components/render/ModelType.tsx:143 msgid "Purchase Order Lines" msgstr "" -#: src/components/render/ModelType.tsx:132 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:108 +#: src/components/render/ModelType.tsx:147 #: src/pages/build/BuildDetail.tsx:131 -#: src/pages/sales/SalesOrderDetail.tsx:340 -#: src/pages/stock/StockDetail.tsx:207 +#: src/pages/sales/SalesOrderDetail.tsx:347 +#: src/pages/stock/StockDetail.tsx:210 +#: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" msgstr "" -#: src/components/render/ModelType.tsx:133 -#: src/pages/Index/Settings/SystemSettings.tsx:257 -#: src/pages/company/CompanyDetail.tsx:210 -#: src/pages/part/PartDetail.tsx:577 +#: src/components/render/ModelType.tsx:148 +#: src/pages/Index/Settings/SystemSettings.tsx:258 +#: src/pages/company/CompanyDetail.tsx:212 +#: src/pages/part/PartDetail.tsx:578 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" -#: src/components/render/ModelType.tsx:140 +#: src/components/render/ModelType.tsx:156 msgid "Sales Order Shipment" msgstr "" -#: src/components/render/ModelType.tsx:141 +#: src/components/render/ModelType.tsx:157 msgid "Sales Order Shipments" msgstr "" -#: src/components/render/ModelType.tsx:147 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:117 -#: src/pages/sales/ReturnOrderDetail.tsx:318 +#: src/components/render/ModelType.tsx:163 +#: src/pages/sales/ReturnOrderDetail.tsx:325 +#: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "" -#: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:272 -#: src/pages/company/CompanyDetail.tsx:217 +#: src/components/render/ModelType.tsx:164 +#: src/pages/Index/Settings/SystemSettings.tsx:273 +#: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" msgstr "" -#: src/components/render/ModelType.tsx:155 +#: src/components/render/ModelType.tsx:172 #: src/tables/company/AddressTable.tsx:47 msgid "Address" msgstr "" -#: src/components/render/ModelType.tsx:156 -#: src/pages/company/CompanyDetail.tsx:247 +#: src/components/render/ModelType.tsx:173 +#: src/pages/company/CompanyDetail.tsx:249 msgid "Addresses" msgstr "" -#: src/components/render/ModelType.tsx:162 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:189 -#: src/pages/sales/ReturnOrderDetail.tsx:157 -#: src/pages/sales/SalesOrderDetail.tsx:161 +#: src/components/render/ModelType.tsx:179 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:191 +#: src/pages/sales/ReturnOrderDetail.tsx:159 +#: src/pages/sales/SalesOrderDetail.tsx:163 msgid "Contact" msgstr "" -#: src/components/render/ModelType.tsx:163 -#: src/pages/company/CompanyDetail.tsx:241 +#: src/components/render/ModelType.tsx:180 +#: src/pages/company/CompanyDetail.tsx:243 msgid "Contacts" msgstr "" -#: src/components/render/ModelType.tsx:169 +#: src/components/render/ModelType.tsx:186 msgid "Owner" msgstr "" -#: src/components/render/ModelType.tsx:170 +#: src/components/render/ModelType.tsx:187 msgid "Owners" msgstr "" -#: src/components/render/ModelType.tsx:176 +#: src/components/render/ModelType.tsx:193 +#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "" -#: src/components/render/ModelType.tsx:177 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:73 +#: src/components/render/ModelType.tsx:194 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:81 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "" -#: src/components/render/Order.tsx:87 +#: src/components/render/ModelType.tsx:200 +msgid "Label Template" +msgstr "" + +#: src/components/render/ModelType.tsx:201 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:135 +msgid "Label Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:207 +msgid "Report Template" +msgstr "" + +#: src/components/render/ModelType.tsx:208 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:141 +msgid "Report Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:214 +msgid "Plugin Configuration" +msgstr "" + +#: src/components/render/ModelType.tsx:215 +msgid "Plugin Configurations" +msgstr "" + +#: src/components/render/Order.tsx:104 msgid "Shipment" msgstr "" -#: src/components/render/Part.tsx:12 +#: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:198 -#: src/pages/part/PartDetail.tsx:491 +#: src/pages/Index/Settings/SystemSettings.tsx:199 +#: src/pages/part/PartDetail.tsx:492 #: src/pages/stock/LocationDetail.tsx:344 -#: src/pages/stock/StockDetail.tsx:344 +#: src/pages/stock/StockDetail.tsx:352 #: src/tables/stock/StockItemTable.tsx:57 msgid "Stock" msgstr "" -#: src/components/render/Stock.tsx:26 -#: src/pages/stock/StockDetail.tsx:142 -#: src/pages/stock/StockDetail.tsx:501 +#: src/components/render/Stock.tsx:52 +#: src/pages/stock/StockDetail.tsx:145 +#: src/pages/stock/StockDetail.tsx:514 msgid "Serial Number" msgstr "" -#: src/components/render/Stock.tsx:28 -#: src/forms/BuildForms.tsx:189 +#: src/components/render/Stock.tsx:54 +#: src/forms/BuildForms.tsx:206 #: src/pages/part/pricing/BomPricingPanel.tsx:144 -#: src/pages/part/pricing/PriceBreakPanel.tsx:96 -#: src/pages/stock/StockDetail.tsx:137 -#: src/pages/stock/StockDetail.tsx:507 +#: src/pages/part/pricing/PriceBreakPanel.tsx:94 +#: src/pages/stock/StockDetail.tsx:140 +#: src/pages/stock/StockDetail.tsx:520 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:73 +#: src/tables/stock/StockTrackingTable.tsx:59 msgid "Quantity" msgstr "" -#: src/components/settings/SettingItem.tsx:46 -#: src/components/settings/SettingItem.tsx:99 -msgid "Setting updated" -msgstr "" - #: src/components/settings/SettingItem.tsx:47 #: src/components/settings/SettingItem.tsx:100 -msgid "{0} updated successfully" -msgstr "" +#~ msgid "{0} updated successfully" +#~ msgstr "{0} updated successfully" -#: src/components/settings/SettingItem.tsx:55 -msgid "Error editing setting" -msgstr "" - -#: src/components/settings/SettingItem.tsx:92 +#: src/components/settings/SettingList.tsx:67 msgid "Edit Setting" msgstr "" -#: src/components/settings/SettingList.tsx:63 -msgid "No settings specified" +#: src/components/settings/SettingList.tsx:78 +#: src/components/settings/SettingList.tsx:108 +msgid "Setting {0} updated successfully" msgstr "" -#: src/components/tables/ColumnRenderers.tsx:134 -#~ msgid "Shipment Date" -#~ msgstr "Shipment Date" +#: src/components/settings/SettingList.tsx:107 +msgid "Setting updated" +msgstr "" + +#: src/components/settings/SettingList.tsx:117 +msgid "Error editing setting" +msgstr "" + +#: src/components/settings/SettingList.tsx:158 +msgid "No settings specified" +msgstr "" #: src/components/tables/FilterGroup.tsx:29 #~ msgid "Add table filter" @@ -1731,10 +1806,6 @@ msgstr "" #~ msgid "This is a test filter" #~ msgstr "This is a test filter" -#: src/components/tables/stock/StockLocationTable.tsx:91 -#~ msgid "Location Type" -#~ msgstr "Location Type" - #: src/components/tables/stock/StockLocationTable.tsx:145 #~ msgid "Stock location updated" #~ msgstr "Stock location updated" @@ -2072,7 +2143,7 @@ msgstr "" #~ msgstr "Local Server" #: src/defaults/links.tsx:11 -#: src/pages/company/CompanyDetail.tsx:90 +#: src/pages/company/CompanyDetail.tsx:92 msgid "Website" msgstr "" @@ -2087,10 +2158,10 @@ msgstr "" #: src/defaults/links.tsx:31 #: src/defaults/menuItems.tsx:48 #: src/pages/company/ManufacturerDetail.tsx:9 -#: src/pages/company/ManufacturerPartDetail.tsx:231 +#: src/pages/company/ManufacturerPartDetail.tsx:235 #: src/pages/company/SupplierDetail.tsx:9 -#: src/pages/company/SupplierPartDetail.tsx:291 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:358 +#: src/pages/company/SupplierPartDetail.tsx:292 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:365 #: src/pages/purchasing/PurchasingIndex.tsx:52 msgid "Purchasing" msgstr "" @@ -2098,15 +2169,15 @@ msgstr "" #: src/defaults/links.tsx:32 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:323 +#: src/pages/sales/ReturnOrderDetail.tsx:330 #: src/pages/sales/SalesIndex.tsx:45 -#: src/pages/sales/SalesOrderDetail.tsx:345 +#: src/pages/sales/SalesOrderDetail.tsx:352 msgid "Sales" msgstr "" #: src/defaults/links.tsx:35 #: src/defaults/menuItems.tsx:71 -#: src/pages/Index/Playground.tsx:239 +#: src/pages/Index/Playground.tsx:238 msgid "Playground" msgstr "" @@ -2240,87 +2311,83 @@ msgstr "" #~ msgstr "Combusken battles with the intensely hot flames it spews" #: src/forms/AttachmentForms.tsx:57 -msgid "Add File" -msgstr "" +#~ msgid "Add File" +#~ msgstr "Add File" #: src/forms/AttachmentForms.tsx:57 -msgid "Add Link" -msgstr "" +#~ msgid "Add Link" +#~ msgstr "Add Link" #: src/forms/AttachmentForms.tsx:58 -msgid "File added" -msgstr "" +#~ msgid "File added" +#~ msgstr "File added" #: src/forms/AttachmentForms.tsx:58 -msgid "Link added" -msgstr "" +#~ msgid "Link added" +#~ msgstr "Link added" #: src/forms/AttachmentForms.tsx:99 -msgid "Edit File" -msgstr "" +#~ msgid "Edit File" +#~ msgstr "Edit File" #: src/forms/AttachmentForms.tsx:99 -msgid "Edit Link" -msgstr "" +#~ msgid "Edit Link" +#~ msgstr "Edit Link" #: src/forms/AttachmentForms.tsx:100 -msgid "File updated" -msgstr "" +#~ msgid "File updated" +#~ msgstr "File updated" #: src/forms/AttachmentForms.tsx:100 -msgid "Link updated" -msgstr "" - -#: src/forms/AttachmentForms.tsx:124 -msgid "Delete Attachment" -msgstr "" +#~ msgid "Link updated" +#~ msgstr "Link updated" #: src/forms/AttachmentForms.tsx:125 -msgid "Attachment deleted" -msgstr "" +#~ msgid "Attachment deleted" +#~ msgstr "Attachment deleted" #: src/forms/AttachmentForms.tsx:128 -msgid "Are you sure you want to delete this attachment?" -msgstr "" +#~ msgid "Are you sure you want to delete this attachment?" +#~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BuildForms.tsx:129 +#: src/forms/BuildForms.tsx:146 msgid "Next serial number" msgstr "" -#: src/forms/BuildForms.tsx:133 +#: src/forms/BuildForms.tsx:150 msgid "Latest serial number" msgstr "" -#: src/forms/BuildForms.tsx:205 +#: src/forms/BuildForms.tsx:222 msgid "Remove output" msgstr "" -#: src/forms/BuildForms.tsx:287 +#: src/forms/BuildForms.tsx:304 msgid "Complete Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:291 +#: src/forms/BuildForms.tsx:308 msgid "Build outputs have been completed" msgstr "" -#: src/forms/BuildForms.tsx:360 +#: src/forms/BuildForms.tsx:377 msgid "Scrap Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:364 +#: src/forms/BuildForms.tsx:381 msgid "Build outputs have been scrapped" msgstr "" -#: src/forms/BuildForms.tsx:396 -#: src/forms/BuildForms.tsx:420 +#: src/forms/BuildForms.tsx:413 +#: src/forms/BuildForms.tsx:437 msgid "Cancel Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:397 +#: src/forms/BuildForms.tsx:414 msgid "Selected build outputs will be deleted" msgstr "" -#: src/forms/BuildForms.tsx:424 +#: src/forms/BuildForms.tsx:441 msgid "Build outputs have been cancelled" msgstr "" @@ -2344,76 +2411,76 @@ msgstr "" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PurchaseOrderForms.tsx:265 +#: src/forms/PurchaseOrderForms.tsx:279 msgid "Choose Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:273 +#: src/forms/PurchaseOrderForms.tsx:287 msgid "Item Destination selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:282 +#: src/forms/PurchaseOrderForms.tsx:296 msgid "Part category default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:292 +#: src/forms/PurchaseOrderForms.tsx:306 msgid "Received stock location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:297 +#: src/forms/PurchaseOrderForms.tsx:311 msgid "Default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:308 -#: src/forms/PurchaseOrderForms.tsx:384 +#: src/forms/PurchaseOrderForms.tsx:322 +#: src/forms/PurchaseOrderForms.tsx:398 msgid "Scan Barcode" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:352 +#: src/forms/PurchaseOrderForms.tsx:366 msgid "Set Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:359 +#: src/forms/PurchaseOrderForms.tsx:373 msgid "Assign Batch Code{0}" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:368 +#: src/forms/PurchaseOrderForms.tsx:382 msgid "Change Status" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:393 -#: src/forms/StockForms.tsx:351 +#: src/forms/PurchaseOrderForms.tsx:407 +#: src/forms/StockForms.tsx:392 msgid "Remove item from list" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:418 -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:58 -#: src/pages/stock/StockDetail.tsx:167 -#: src/tables/ColumnRenderers.tsx:42 +#: src/forms/PurchaseOrderForms.tsx:432 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/pages/stock/StockDetail.tsx:170 +#: src/tables/ColumnRenderers.tsx:34 +#: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:434 +#: src/forms/PurchaseOrderForms.tsx:448 msgid "Store at default location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:447 +#: src/forms/PurchaseOrderForms.tsx:461 msgid "Store at line item destination" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:457 +#: src/forms/PurchaseOrderForms.tsx:471 msgid "Store with already received stock" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:613 +#: src/forms/PurchaseOrderForms.tsx:627 msgid "Receive Line Items" msgstr "" @@ -2421,119 +2488,118 @@ msgstr "" #~ msgid "Receive line items" #~ msgstr "Receive line items" -#: src/forms/StockForms.tsx:69 +#: src/forms/StockForms.tsx:101 msgid "Add given quantity as packs instead of individual items" msgstr "" -#: src/forms/StockForms.tsx:80 -msgid "Enter initial quantity for this stock item" -msgstr "" - -#: src/forms/StockForms.tsx:85 -msgid "Serial Numbers" -msgstr "" - -#: src/forms/StockForms.tsx:86 -msgid "Enter serial numbers for new stock (or leave blank)" -msgstr "" - #: src/forms/StockForms.tsx:110 #~ msgid "Create Stock Item" #~ msgstr "Create Stock Item" -#: src/forms/StockForms.tsx:135 -#: src/pages/stock/StockDetail.tsx:367 -#: src/tables/stock/StockItemTable.tsx:382 -#: src/tables/stock/StockItemTable.tsx:499 -msgid "Add Stock Item" +#: src/forms/StockForms.tsx:114 +msgid "Enter initial quantity for this stock item" +msgstr "" + +#: src/forms/StockForms.tsx:121 +msgid "Serial Numbers" +msgstr "" + +#: src/forms/StockForms.tsx:122 +msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" #: src/forms/StockForms.tsx:158 #~ msgid "Stock item updated" #~ msgstr "Stock item updated" -#: src/forms/StockForms.tsx:298 +#: src/forms/StockForms.tsx:176 +#: src/pages/stock/StockDetail.tsx:375 +#: src/tables/stock/StockItemTable.tsx:382 +#: src/tables/stock/StockItemTable.tsx:499 +msgid "Add Stock Item" +msgstr "" + +#: src/forms/StockForms.tsx:339 msgid "Loading..." msgstr "" -#: src/forms/StockForms.tsx:340 +#: src/forms/StockForms.tsx:381 msgid "Move to default location" msgstr "" -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/part/PartDetail.tsx:205 -#: src/pages/part/PartDetail.tsx:654 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/pages/part/PartDetail.tsx:206 +#: src/pages/part/PartDetail.tsx:655 #: src/tables/stock/StockItemTable.tsx:290 msgid "In Stock" msgstr "" -#: src/forms/StockForms.tsx:408 +#: src/forms/StockForms.tsx:449 msgid "Move" msgstr "" -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/tables/RowActions.tsx:147 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/tables/RowActions.tsx:149 msgid "Actions" msgstr "" -#: src/forms/StockForms.tsx:471 -#: src/pages/stock/StockDetail.tsx:440 -#: src/tables/settings/TemplateTable.tsx:266 -#: src/tables/stock/StockItemTestResultTable.tsx:348 +#: src/forms/StockForms.tsx:512 +#: src/pages/stock/StockDetail.tsx:454 +#: src/tables/stock/StockItemTestResultTable.tsx:339 msgid "Add" msgstr "" -#: src/forms/StockForms.tsx:499 +#: src/forms/StockForms.tsx:540 #: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:430 +#: src/pages/stock/StockDetail.tsx:444 msgid "Count" msgstr "" -#: src/forms/StockForms.tsx:744 +#: src/forms/StockForms.tsx:785 msgid "Add Stock" msgstr "" -#: src/forms/StockForms.tsx:753 +#: src/forms/StockForms.tsx:794 msgid "Remove Stock" msgstr "" -#: src/forms/StockForms.tsx:762 -#: src/pages/part/PartDetail.tsx:781 +#: src/forms/StockForms.tsx:803 +#: src/pages/part/PartDetail.tsx:782 msgid "Transfer Stock" msgstr "" -#: src/forms/StockForms.tsx:771 -#: src/pages/part/PartDetail.tsx:770 +#: src/forms/StockForms.tsx:812 +#: src/pages/part/PartDetail.tsx:771 msgid "Count Stock" msgstr "" -#: src/forms/StockForms.tsx:780 +#: src/forms/StockForms.tsx:821 msgid "Change Stock Status" msgstr "" -#: src/forms/StockForms.tsx:789 +#: src/forms/StockForms.tsx:830 msgid "Merge Stock" msgstr "" -#: src/forms/StockForms.tsx:808 +#: src/forms/StockForms.tsx:849 msgid "Delete Stock Items" msgstr "" -#: src/forms/StockForms.tsx:815 +#: src/forms/StockForms.tsx:856 msgid "Parent stock location" msgstr "" @@ -2728,7 +2794,7 @@ msgstr "" msgid "Welcome to your Dashboard{0}" msgstr "" -#: src/pages/Index/Playground.tsx:244 +#: src/pages/Index/Playground.tsx:243 msgid "This page is a showcase for the possibilities of Platform UI." msgstr "" @@ -3138,49 +3204,53 @@ msgstr "" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:79 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:87 msgid "Background Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:85 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:93 msgid "Error Reports" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:91 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:99 msgid "Currencies" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:109 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:117 msgid "Custom Units" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:115 -#: src/pages/part/CategoryDetail.tsx:254 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:123 +#: src/pages/part/CategoryDetail.tsx:255 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:121 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 +#~ msgid "Templates" +#~ msgstr "Templates" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:129 msgid "Category Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 -msgid "Templates" +#: src/pages/Index/Settings/AdminCenter/Index.tsx:147 +msgid "Location types" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:139 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:159 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:149 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:169 msgid "Quick Actions" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:154 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 msgid "Add a new user" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:173 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:193 msgid "Advanced Options" msgstr "" @@ -3225,26 +3295,32 @@ msgstr "" msgid "Plugin Settings" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:25 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:53 +msgid "Background Worker Not Running" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:54 +msgid "The background task manager service is not running. Contact your system administrator." +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:60 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:76 msgid "Pending Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:33 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:64 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:84 msgid "Scheduled Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:41 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:68 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:92 msgid "Failed Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:139 -msgid "Labels" -msgstr "" - #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:39 -msgid "Label" -msgstr "" +#~ msgid "Label" +#~ msgstr "Label" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67 #~ msgid "Stock item" @@ -3255,13 +3331,13 @@ msgstr "" #~ msgstr "Build line" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:88 -msgid "Reports" -msgstr "" +#~ msgid "Reports" +#~ msgstr "Reports" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:89 #: src/pages/build/BuildDetail.tsx:373 -msgid "Report" -msgstr "" +#~ msgid "Report" +#~ msgstr "Report" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99 #~ msgid "Purchase order" @@ -3275,14 +3351,9 @@ msgstr "" #~ msgid "Return order" #~ msgstr "Return order" -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135 -#: src/pages/part/PartDetail.tsx:518 -msgid "Bill of Materials" -msgstr "" - #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:145 -msgid "Tests" -msgstr "" +#~ msgid "Tests" +#~ msgstr "Tests" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:154 #~ msgid "Stock location" @@ -3321,26 +3392,30 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" +#: src/pages/Index/Settings/SystemSettings.tsx:139 +msgid "Labels" +msgstr "" + #: src/pages/Index/Settings/SystemSettings.tsx:145 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:223 -#: src/pages/part/PartDetail.tsx:589 +#: src/pages/Index/Settings/SystemSettings.tsx:224 +#: src/pages/part/PartDetail.tsx:590 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:228 -#: src/pages/build/BuildDetail.tsx:426 +#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:525 -#: src/pages/sales/SalesOrderDetail.tsx:263 +#: src/pages/part/PartDetail.tsx:526 +#: src/pages/sales/SalesOrderDetail.tsx:265 msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:296 +#: src/pages/Index/Settings/SystemSettings.tsx:297 msgid "Switch to User Setting" msgstr "" @@ -3397,44 +3472,47 @@ msgstr "" #~ msgstr "Build Status" #: src/pages/build/BuildDetail.tsx:89 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:128 -#: src/pages/sales/ReturnOrderDetail.tsx:95 -#: src/pages/sales/SalesOrderDetail.tsx:99 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:130 +#: src/pages/sales/ReturnOrderDetail.tsx:97 +#: src/pages/sales/SalesOrderDetail.tsx:101 #: src/tables/build/BuildOrderTable.tsx:113 #: src/tables/machine/MachineListTable.tsx:326 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderTable.tsx:46 #: src/tables/sales/SalesOrderTable.tsx:52 #: src/tables/stock/StockItemTable.tsx:259 +#: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "" #: src/pages/build/BuildDetail.tsx:95 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:101 -#: src/pages/sales/ReturnOrderDetail.tsx:69 -#: src/pages/sales/SalesOrderDetail.tsx:73 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:103 +#: src/pages/sales/ReturnOrderDetail.tsx:71 +#: src/pages/sales/SalesOrderDetail.tsx:75 +#: src/tables/ColumnRenderers.tsx:106 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" msgstr "" #: src/pages/build/BuildDetail.tsx:100 -#: src/pages/company/CompanyDetail.tsx:84 -#: src/pages/company/ManufacturerPartDetail.tsx:75 -#: src/pages/company/SupplierPartDetail.tsx:82 -#: src/pages/part/CategoryDetail.tsx:91 -#: src/pages/part/PartDetail.tsx:132 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:122 -#: src/pages/sales/ReturnOrderDetail.tsx:89 -#: src/pages/sales/SalesOrderDetail.tsx:93 -#: src/pages/stock/LocationDetail.tsx:97 -#: src/tables/ColumnRenderers.tsx:95 +#: src/pages/company/CompanyDetail.tsx:86 +#: src/pages/company/ManufacturerPartDetail.tsx:76 +#: src/pages/company/SupplierPartDetail.tsx:83 +#: src/pages/part/CategoryDetail.tsx:92 +#: src/pages/part/PartDetail.tsx:133 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:124 +#: src/pages/sales/ReturnOrderDetail.tsx:91 +#: src/pages/sales/SalesOrderDetail.tsx:95 +#: src/pages/stock/LocationDetail.tsx:99 +#: src/tables/ColumnRenderers.tsx:66 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 #: src/tables/machine/MachineTypeTable.tsx:323 #: src/tables/part/RelatedPartTable.tsx:64 -#: src/tables/plugin/PluginListTable.tsx:172 -#: src/tables/plugin/PluginListTable.tsx:302 +#: src/tables/plugin/PluginListTable.tsx:129 +#: src/tables/plugin/PluginListTable.tsx:276 +#: src/tables/stock/LocationTypesTable.tsx:65 msgid "Description" msgstr "" @@ -3447,7 +3525,7 @@ msgid "Build Quantity" msgstr "" #: src/pages/build/BuildDetail.tsx:126 -#: src/pages/build/BuildDetail.tsx:249 +#: src/pages/build/BuildDetail.tsx:256 msgid "Completed Outputs" msgstr "" @@ -3457,10 +3535,10 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:150 -#: src/pages/part/PartDetail.tsx:320 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:214 -#: src/pages/sales/ReturnOrderDetail.tsx:182 -#: src/pages/sales/SalesOrderDetail.tsx:186 +#: src/pages/part/PartDetail.tsx:321 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:184 +#: src/pages/sales/SalesOrderDetail.tsx:188 #: src/tables/build/BuildOrderTable.tsx:148 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 @@ -3474,10 +3552,10 @@ msgid "Created" msgstr "" #: src/pages/build/BuildDetail.tsx:164 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:207 -#: src/pages/sales/ReturnOrderDetail.tsx:175 -#: src/pages/sales/SalesOrderDetail.tsx:179 -#: src/tables/ColumnRenderers.tsx:227 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:209 +#: src/pages/sales/ReturnOrderDetail.tsx:177 +#: src/pages/sales/SalesOrderDetail.tsx:181 +#: src/tables/ColumnRenderers.tsx:191 msgid "Target Date" msgstr "" @@ -3513,6 +3591,11 @@ msgstr "" #~ msgid "Unlink custom barcode from part" #~ msgstr "Unlink custom barcode from part" +#: src/pages/build/BuildDetail.tsx:197 +#: src/pages/stock/StockDetail.tsx:526 +msgid "Batch Code" +msgstr "" + #: src/pages/build/BuildDetail.tsx:202 #~ msgid "Build Order updated" #~ msgstr "Build Order updated" @@ -3521,86 +3604,87 @@ msgstr "" #~ msgid "Edit build order" #~ msgstr "Edit build order" -#: src/pages/build/BuildDetail.tsx:222 -msgid "Build Details" -msgstr "" - #: src/pages/build/BuildDetail.tsx:226 #~ msgid "Duplicate build order" #~ msgstr "Duplicate build order" -#: src/pages/build/BuildDetail.tsx:228 -#: src/tables/build/BuildLineTable.tsx:225 -msgid "Allocate Stock" +#: src/pages/build/BuildDetail.tsx:229 +msgid "Build Details" msgstr "" #: src/pages/build/BuildDetail.tsx:231 #~ msgid "Delete build order" #~ msgstr "Delete build order" -#: src/pages/build/BuildDetail.tsx:242 +#: src/pages/build/BuildDetail.tsx:235 +#: src/tables/build/BuildLineTable.tsx:225 +msgid "Allocate Stock" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:249 msgid "Incomplete Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:264 +#: src/pages/build/BuildDetail.tsx:271 msgid "Consumed Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:278 +#: src/pages/build/BuildDetail.tsx:285 msgid "Child Build Orders" msgstr "" -#: src/pages/build/BuildDetail.tsx:288 -#: src/pages/company/CompanyDetail.tsx:253 -#: src/pages/company/ManufacturerPartDetail.tsx:171 -#: src/pages/part/PartDetail.tsx:611 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:276 -#: src/pages/sales/ReturnOrderDetail.tsx:225 -#: src/pages/sales/SalesOrderDetail.tsx:273 -#: src/pages/stock/StockDetail.tsx:317 +#: src/pages/build/BuildDetail.tsx:295 +#: src/pages/company/CompanyDetail.tsx:255 +#: src/pages/company/ManufacturerPartDetail.tsx:172 +#: src/pages/part/PartDetail.tsx:612 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:278 +#: src/pages/sales/ReturnOrderDetail.tsx:227 +#: src/pages/sales/SalesOrderDetail.tsx:275 +#: src/pages/stock/StockDetail.tsx:325 msgid "Attachments" msgstr "" -#: src/pages/build/BuildDetail.tsx:300 -#: src/pages/company/CompanyDetail.tsx:265 -#: src/pages/part/PartDetail.tsx:623 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:288 -#: src/pages/sales/ReturnOrderDetail.tsx:237 -#: src/pages/sales/SalesOrderDetail.tsx:285 -#: src/pages/stock/StockDetail.tsx:329 +#: src/pages/build/BuildDetail.tsx:307 +#: src/pages/company/CompanyDetail.tsx:267 +#: src/pages/part/PartDetail.tsx:624 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:290 +#: src/pages/sales/ReturnOrderDetail.tsx:239 +#: src/pages/sales/SalesOrderDetail.tsx:287 +#: src/pages/stock/StockDetail.tsx:337 +#: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "" -#: src/pages/build/BuildDetail.tsx:318 +#: src/pages/build/BuildDetail.tsx:325 msgid "Edit Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:327 +#: src/pages/build/BuildDetail.tsx:334 msgid "Cancel Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:339 +#: src/pages/build/BuildDetail.tsx:346 #: src/tables/build/BuildOrderTable.tsx:167 #: src/tables/build/BuildOrderTable.tsx:182 msgid "Add Build Order" msgstr "" #: src/pages/build/BuildDetail.tsx:368 -msgid "Reporting Actions" -msgstr "" +#~ msgid "Reporting Actions" +#~ msgstr "Reporting Actions" #: src/pages/build/BuildDetail.tsx:374 -msgid "Print build report" -msgstr "" +#~ msgid "Print build report" +#~ msgstr "Print build report" -#: src/pages/build/BuildDetail.tsx:380 +#: src/pages/build/BuildDetail.tsx:378 msgid "Build Order Actions" msgstr "" -#: src/pages/build/BuildDetail.tsx:388 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:326 -#: src/pages/sales/ReturnOrderDetail.tsx:300 -#: src/pages/sales/SalesOrderDetail.tsx:310 +#: src/pages/build/BuildDetail.tsx:386 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:333 +#: src/pages/sales/ReturnOrderDetail.tsx:307 +#: src/pages/sales/SalesOrderDetail.tsx:317 msgid "Cancel order" msgstr "" @@ -3612,56 +3696,58 @@ msgstr "" #~ msgid "New Build Order" #~ msgstr "New Build Order" -#: src/pages/company/CompanyDetail.tsx:98 +#: src/pages/company/CompanyDetail.tsx:100 msgid "Phone Number" msgstr "" -#: src/pages/company/CompanyDetail.tsx:105 +#: src/pages/company/CompanyDetail.tsx:107 msgid "Email Address" msgstr "" -#: src/pages/company/CompanyDetail.tsx:115 +#: src/pages/company/CompanyDetail.tsx:117 msgid "Default Currency" msgstr "" -#: src/pages/company/CompanyDetail.tsx:120 +#: src/pages/company/CompanyDetail.tsx:122 #: src/pages/company/SupplierDetail.tsx:8 -#: src/pages/company/SupplierPartDetail.tsx:106 -#: src/pages/company/SupplierPartDetail.tsx:192 -#: src/pages/company/SupplierPartDetail.tsx:295 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:116 +#: src/pages/company/SupplierPartDetail.tsx:107 +#: src/pages/company/SupplierPartDetail.tsx:193 +#: src/pages/company/SupplierPartDetail.tsx:296 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:118 #: src/tables/company/CompanyTable.tsx:100 #: src/tables/purchasing/PurchaseOrderTable.tsx:88 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:36 msgid "Supplier" msgstr "" -#: src/pages/company/CompanyDetail.tsx:126 +#: src/pages/company/CompanyDetail.tsx:128 #: src/pages/company/ManufacturerDetail.tsx:8 -#: src/pages/company/ManufacturerPartDetail.tsx:93 -#: src/pages/company/ManufacturerPartDetail.tsx:235 -#: src/pages/company/SupplierPartDetail.tsx:121 +#: src/pages/company/ManufacturerPartDetail.tsx:94 +#: src/pages/company/ManufacturerPartDetail.tsx:239 +#: src/pages/company/SupplierPartDetail.tsx:122 #: src/tables/company/CompanyTable.tsx:105 msgid "Manufacturer" msgstr "" -#: src/pages/company/CompanyDetail.tsx:132 +#: src/pages/company/CompanyDetail.tsx:134 #: src/pages/company/CustomerDetail.tsx:8 #: src/pages/part/pricing/SaleHistoryPanel.tsx:39 -#: src/pages/sales/ReturnOrderDetail.tsx:83 -#: src/pages/sales/SalesOrderDetail.tsx:87 -#: src/pages/stock/StockDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:85 +#: src/pages/sales/SalesOrderDetail.tsx:89 +#: src/pages/stock/StockDetail.tsx:219 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:107 +#: src/tables/stock/StockTrackingTable.tsx:140 msgid "Customer" msgstr "" -#: src/pages/company/CompanyDetail.tsx:166 +#: src/pages/company/CompanyDetail.tsx:168 +#: src/tables/stock/StockTrackingTable.tsx:183 msgid "Details" msgstr "" -#: src/pages/company/CompanyDetail.tsx:172 +#: src/pages/company/CompanyDetail.tsx:174 msgid "Manufactured Parts" msgstr "" @@ -3669,7 +3755,7 @@ msgstr "" #~ msgid "Edit company" #~ msgstr "Edit company" -#: src/pages/company/CompanyDetail.tsx:181 +#: src/pages/company/CompanyDetail.tsx:183 msgid "Supplied Parts" msgstr "" @@ -3677,289 +3763,289 @@ msgstr "" #~ msgid "Delete company" #~ msgstr "Delete company" -#: src/pages/company/CompanyDetail.tsx:226 +#: src/pages/company/CompanyDetail.tsx:228 msgid "Assigned Stock" msgstr "" -#: src/pages/company/CompanyDetail.tsx:281 +#: src/pages/company/CompanyDetail.tsx:283 #: src/tables/company/CompanyTable.tsx:86 msgid "Edit Company" msgstr "" -#: src/pages/company/CompanyDetail.tsx:290 +#: src/pages/company/CompanyDetail.tsx:292 msgid "Company Actions" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:68 -#: src/pages/company/SupplierPartDetail.tsx:75 +#: src/pages/company/ManufacturerPartDetail.tsx:69 +#: src/pages/company/SupplierPartDetail.tsx:76 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:72 msgid "Internal Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:83 -#: src/pages/company/SupplierPartDetail.tsx:89 +#: src/pages/company/ManufacturerPartDetail.tsx:84 +#: src/pages/company/SupplierPartDetail.tsx:90 msgid "External Link" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:101 -#: src/pages/company/SupplierPartDetail.tsx:130 -#: src/tables/purchasing/ManufacturerPartTable.tsx:53 +#: src/pages/company/ManufacturerPartDetail.tsx:102 +#: src/pages/company/SupplierPartDetail.tsx:131 +#: src/tables/purchasing/ManufacturerPartTable.tsx:56 msgid "Manufacturer Part Number" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:130 +#: src/pages/company/ManufacturerPartDetail.tsx:131 msgid "Manufacturer Details" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:139 +#: src/pages/company/ManufacturerPartDetail.tsx:140 msgid "Manufacturer Part Details" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:145 -#: src/pages/part/PartDetail.tsx:485 +#: src/pages/company/ManufacturerPartDetail.tsx:146 +#: src/pages/part/PartDetail.tsx:486 msgid "Parameters" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:157 -#: src/pages/part/PartDetail.tsx:558 +#: src/pages/company/ManufacturerPartDetail.tsx:158 +#: src/pages/part/PartDetail.tsx:559 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:189 -#: src/tables/purchasing/ManufacturerPartTable.tsx:97 +#: src/pages/company/ManufacturerPartDetail.tsx:190 +#: src/tables/purchasing/ManufacturerPartTable.tsx:84 msgid "Edit Manufacturer Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:196 -#: src/tables/purchasing/ManufacturerPartTable.tsx:63 -#: src/tables/purchasing/ManufacturerPartTable.tsx:78 +#: src/pages/company/ManufacturerPartDetail.tsx:197 +#: src/tables/purchasing/ManufacturerPartTable.tsx:72 +#: src/tables/purchasing/ManufacturerPartTable.tsx:103 msgid "Add Manufacturer Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:209 +#: src/pages/company/ManufacturerPartDetail.tsx:213 msgid "Manufacturer Part Actions" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:247 +#: src/pages/company/ManufacturerPartDetail.tsx:251 msgid "ManufacturerPart" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:96 -#: src/tables/ColumnRenderers.tsx:146 +#: src/pages/company/SupplierPartDetail.tsx:97 +#: src/tables/ColumnRenderers.tsx:117 msgid "Note" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:114 +#: src/pages/company/SupplierPartDetail.tsx:115 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:57 msgid "SKU" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:142 -#: src/pages/company/SupplierPartDetail.tsx:193 -#: src/pages/stock/StockDetail.tsx:230 +#: src/pages/company/SupplierPartDetail.tsx:143 +#: src/pages/company/SupplierPartDetail.tsx:194 +#: src/pages/stock/StockDetail.tsx:233 msgid "Packaging" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:149 +#: src/pages/company/SupplierPartDetail.tsx:150 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:107 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143 #: src/tables/purchasing/SupplierPartTable.tsx:131 msgid "Pack Quantity" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:160 +#: src/pages/company/SupplierPartDetail.tsx:161 msgid "Supplier Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:167 +#: src/pages/company/SupplierPartDetail.tsx:168 msgid "Availability Updated" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:194 +#: src/pages/company/SupplierPartDetail.tsx:195 msgid "Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:203 +#: src/pages/company/SupplierPartDetail.tsx:204 msgid "Supplier Part Details" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:209 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:263 +#: src/pages/company/SupplierPartDetail.tsx:210 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:265 msgid "Received Stock" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:233 +#: src/pages/company/SupplierPartDetail.tsx:234 #: src/pages/part/PartPricingPanel.tsx:115 #: src/pages/part/pricing/PricingOverviewPanel.tsx:130 msgid "Supplier Pricing" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:248 +#: src/pages/company/SupplierPartDetail.tsx:249 msgid "Supplier Part Actions" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:272 +#: src/pages/company/SupplierPartDetail.tsx:273 #: src/tables/purchasing/SupplierPartTable.tsx:210 msgid "Edit Supplier Part" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:279 +#: src/pages/company/SupplierPartDetail.tsx:280 #: src/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "" -#: src/pages/part/CategoryDetail.tsx:83 -#: src/pages/stock/LocationDetail.tsx:89 +#: src/pages/part/CategoryDetail.tsx:84 +#: src/pages/stock/LocationDetail.tsx:91 #: src/tables/settings/ErrorTable.tsx:34 msgid "Path" msgstr "" -#: src/pages/part/CategoryDetail.tsx:99 +#: src/pages/part/CategoryDetail.tsx:100 msgid "Parent Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:116 +#: src/pages/part/CategoryDetail.tsx:117 msgid "Subcategories" msgstr "" -#: src/pages/part/CategoryDetail.tsx:123 -#: src/pages/stock/LocationDetail.tsx:129 -#: src/tables/part/PartCategoryTable.tsx:69 +#: src/pages/part/CategoryDetail.tsx:124 +#: src/pages/stock/LocationDetail.tsx:131 +#: src/tables/part/PartCategoryTable.tsx:65 msgid "Structural" msgstr "" -#: src/pages/part/CategoryDetail.tsx:129 +#: src/pages/part/CategoryDetail.tsx:130 msgid "Parent default location" msgstr "" -#: src/pages/part/CategoryDetail.tsx:136 +#: src/pages/part/CategoryDetail.tsx:137 msgid "Default location" msgstr "" -#: src/pages/part/CategoryDetail.tsx:147 +#: src/pages/part/CategoryDetail.tsx:148 msgid "Top level part category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:157 -#: src/pages/part/CategoryDetail.tsx:211 -#: src/tables/part/PartCategoryTable.tsx:96 +#: src/pages/part/CategoryDetail.tsx:158 +#: src/pages/part/CategoryDetail.tsx:212 +#: src/tables/part/PartCategoryTable.tsx:88 msgid "Edit Part Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:170 -#: src/pages/stock/LocationDetail.tsx:213 +#: src/pages/part/CategoryDetail.tsx:171 +#: src/pages/stock/LocationDetail.tsx:223 msgid "Delete items" msgstr "" -#: src/pages/part/CategoryDetail.tsx:178 -#: src/pages/part/CategoryDetail.tsx:216 +#: src/pages/part/CategoryDetail.tsx:179 +#: src/pages/part/CategoryDetail.tsx:217 msgid "Delete Part Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:181 +#: src/pages/part/CategoryDetail.tsx:182 msgid "Parts Action" msgstr "" -#: src/pages/part/CategoryDetail.tsx:182 +#: src/pages/part/CategoryDetail.tsx:183 msgid "Action for parts in this category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:187 +#: src/pages/part/CategoryDetail.tsx:188 msgid "Child Categories Action" msgstr "" -#: src/pages/part/CategoryDetail.tsx:188 +#: src/pages/part/CategoryDetail.tsx:189 msgid "Action for child categories in this category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:206 +#: src/pages/part/CategoryDetail.tsx:207 msgid "Category Actions" msgstr "" -#: src/pages/part/CategoryDetail.tsx:228 +#: src/pages/part/CategoryDetail.tsx:229 msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:138 +#: src/pages/part/PartDetail.tsx:139 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:145 +#: src/pages/part/PartDetail.tsx:146 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "" -#: src/pages/part/PartDetail.tsx:151 +#: src/pages/part/PartDetail.tsx:152 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:158 +#: src/pages/part/PartDetail.tsx:159 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:165 +#: src/pages/part/PartDetail.tsx:166 msgid "IPN" msgstr "" -#: src/pages/part/PartDetail.tsx:172 +#: src/pages/part/PartDetail.tsx:173 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:179 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39 +#: src/pages/part/PartDetail.tsx:180 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "" -#: src/pages/part/PartDetail.tsx:186 +#: src/pages/part/PartDetail.tsx:187 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:193 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:180 -#: src/pages/sales/ReturnOrderDetail.tsx:148 -#: src/pages/sales/SalesOrderDetail.tsx:152 +#: src/pages/part/PartDetail.tsx:194 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:182 +#: src/pages/sales/ReturnOrderDetail.tsx:150 +#: src/pages/sales/SalesOrderDetail.tsx:154 msgid "Link" msgstr "" -#: src/pages/part/PartDetail.tsx:211 -#: src/tables/bom/BomTable.tsx:269 +#: src/pages/part/PartDetail.tsx:212 +#: src/tables/bom/BomTable.tsx:271 #: src/tables/build/BuildLineTable.tsx:121 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:218 +#: src/pages/part/PartDetail.tsx:219 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:224 -#: src/tables/bom/BomTable.tsx:210 +#: src/pages/part/PartDetail.tsx:225 +#: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:233 +#: src/pages/part/PartDetail.tsx:234 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:241 +#: src/pages/part/PartDetail.tsx:242 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:248 -#: src/tables/bom/BomTable.tsx:234 +#: src/pages/part/PartDetail.tsx:249 +#: src/tables/bom/BomTable.tsx:236 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:255 -#: src/tables/bom/BomTable.tsx:218 +#: src/pages/part/PartDetail.tsx:256 +#: src/tables/bom/BomTable.tsx:220 #: src/tables/part/PartTable.tsx:82 msgid "Building" msgstr "" -#: src/pages/part/PartDetail.tsx:264 +#: src/pages/part/PartDetail.tsx:265 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 @@ -3968,45 +4054,47 @@ msgstr "" #: src/tables/machine/MachineListTable.tsx:585 #: src/tables/part/PartTable.tsx:168 #: src/tables/part/PartVariantTable.tsx:15 -#: src/tables/plugin/PluginListTable.tsx:190 -#: src/tables/plugin/PluginListTable.tsx:638 +#: src/tables/plugin/PluginListTable.tsx:149 +#: src/tables/plugin/PluginListTable.tsx:271 +#: src/tables/plugin/PluginListTable.tsx:563 #: src/tables/purchasing/SupplierPartTable.tsx:98 #: src/tables/purchasing/SupplierPartTable.tsx:187 #: src/tables/stock/StockItemTable.tsx:254 msgid "Active" msgstr "" -#: src/pages/part/PartDetail.tsx:269 +#: src/pages/part/PartDetail.tsx:270 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:274 -#: src/tables/bom/BomTable.tsx:264 +#: src/pages/part/PartDetail.tsx:275 +#: src/tables/bom/BomTable.tsx:266 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:279 +#: src/pages/part/PartDetail.tsx:280 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:284 -#: src/tables/bom/BomTable.tsx:259 +#: src/pages/part/PartDetail.tsx:285 +#: src/tables/bom/BomTable.tsx:261 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:289 +#: src/pages/part/PartDetail.tsx:290 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:294 +#: src/pages/part/PartDetail.tsx:295 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:299 +#: src/pages/part/PartDetail.tsx:300 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:307 +#: src/pages/part/PartDetail.tsx:308 +#: src/tables/ColumnRenderers.tsx:199 msgid "Creation Date" msgstr "" @@ -4014,7 +4102,7 @@ msgstr "" #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:312 +#: src/pages/part/PartDetail.tsx:313 msgid "Created By" msgstr "" @@ -4022,68 +4110,72 @@ msgstr "" #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:327 -msgid "Default Supplier" -msgstr "" - #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:338 +#: src/pages/part/PartDetail.tsx:328 +msgid "Default Supplier" +msgstr "" + +#: src/pages/part/PartDetail.tsx:339 #: src/tables/part/PartTable.tsx:151 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:373 -#: src/pages/stock/StockDetail.tsx:127 +#: src/pages/part/PartDetail.tsx:374 +#: src/pages/stock/StockDetail.tsx:130 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:408 +#: src/pages/part/PartDetail.tsx:409 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:479 +#: src/pages/part/PartDetail.tsx:480 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:505 +#: src/pages/part/PartDetail.tsx:506 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:512 -#: src/pages/stock/StockDetail.tsx:275 +#: src/pages/part/PartDetail.tsx:513 +#: src/pages/stock/StockDetail.tsx:283 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:532 +#: src/pages/part/PartDetail.tsx:519 +msgid "Bill of Materials" +msgstr "" + +#: src/pages/part/PartDetail.tsx:533 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:539 +#: src/pages/part/PartDetail.tsx:540 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:545 +#: src/pages/part/PartDetail.tsx:546 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:584 +#: src/pages/part/PartDetail.tsx:585 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:594 +#: src/pages/part/PartDetail.tsx:595 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:605 +#: src/pages/part/PartDetail.tsx:606 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:660 -#: src/pages/stock/StockDetail.tsx:148 +#: src/pages/part/PartDetail.tsx:661 +#: src/pages/stock/StockDetail.tsx:151 #: src/tables/build/BuildLineTable.tsx:36 #: src/tables/part/PartTable.tsx:107 #: src/tables/stock/StockItemTable.tsx:166 @@ -4091,49 +4183,51 @@ msgstr "" msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:666 +#: src/pages/part/PartDetail.tsx:667 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:672 -#: src/tables/bom/BomTable.tsx:274 +#: src/pages/part/PartDetail.tsx:673 +#: src/tables/bom/BomTable.tsx:276 #: src/tables/part/PartTable.tsx:76 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:678 -#: src/pages/stock/StockDetail.tsx:496 +#: src/pages/part/PartDetail.tsx:679 +#: src/pages/stock/StockDetail.tsx:509 #: src/tables/stock/StockItemTable.tsx:295 msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:697 +#: src/pages/part/PartDetail.tsx:698 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:704 +#: src/pages/part/PartDetail.tsx:705 #: src/tables/part/PartTable.tsx:266 #: src/tables/part/PartTable.tsx:279 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:716 +#: src/pages/part/PartDetail.tsx:717 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:725 +#: src/pages/part/PartDetail.tsx:726 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:763 +#: src/pages/part/PartDetail.tsx:764 +#: src/pages/stock/LocationDetail.tsx:301 +#: src/tables/stock/StockItemTable.tsx:409 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:771 +#: src/pages/part/PartDetail.tsx:772 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:782 +#: src/pages/part/PartDetail.tsx:783 msgid "Transfer part stock" msgstr "" @@ -4199,15 +4293,15 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151 #: src/pages/part/pricing/SupplierPricingPanel.tsx:83 -#: src/tables/bom/BomTable.tsx:149 +#: src/tables/bom/BomTable.tsx:151 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 msgid "Unit Price" msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:173 -#: src/tables/ColumnRenderers.tsx:278 -#: src/tables/bom/BomTable.tsx:158 +#: src/tables/ColumnRenderers.tsx:241 +#: src/tables/bom/BomTable.tsx:160 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 #: src/tables/sales/ReturnOrderTable.tsx:104 #: src/tables/sales/SalesOrderTable.tsx:134 @@ -4229,24 +4323,24 @@ msgid "Bar Chart" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:63 -#: src/pages/part/pricing/PriceBreakPanel.tsx:117 +#: src/pages/part/pricing/PriceBreakPanel.tsx:115 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:138 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:164 msgid "Add Price Break" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:76 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:149 msgid "Edit Price Break" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:86 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:157 msgid "Delete Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:102 -#: src/pages/part/pricing/PriceBreakPanel.tsx:193 +#: src/pages/part/pricing/PriceBreakPanel.tsx:100 +#: src/pages/part/pricing/PriceBreakPanel.tsx:191 msgid "Price Break" msgstr "" @@ -4275,7 +4369,7 @@ msgid "Overall Pricing" msgstr "" #: src/pages/part/pricing/PricingOverviewPanel.tsx:184 -#: src/pages/stock/StockDetail.tsx:121 +#: src/pages/stock/StockDetail.tsx:124 msgid "Last Updated" msgstr "" @@ -4309,9 +4403,8 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50 #: src/pages/part/pricing/SaleHistoryPanel.tsx:46 -#: src/tables/ColumnRenderers.tsx:217 -#: src/tables/plugin/PluginListTable.tsx:182 -#: src/tables/stock/StockItemTestResultTable.tsx:194 +#: src/tables/ColumnRenderers.tsx:180 +#: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" @@ -4338,89 +4431,89 @@ msgstr "" msgid "Variant Part" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:73 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:75 msgid "Edit Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:82 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:84 #: src/tables/purchasing/PurchaseOrderTable.tsx:128 #: src/tables/purchasing/PurchaseOrderTable.tsx:140 msgid "Add Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:107 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:109 msgid "Supplier Reference" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:137 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:252 -#: src/pages/sales/ReturnOrderDetail.tsx:104 -#: src/pages/sales/ReturnOrderDetail.tsx:220 -#: src/pages/sales/SalesOrderDetail.tsx:108 -#: src/pages/sales/SalesOrderDetail.tsx:248 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:139 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:254 +#: src/pages/sales/ReturnOrderDetail.tsx:106 +#: src/pages/sales/ReturnOrderDetail.tsx:222 +#: src/pages/sales/SalesOrderDetail.tsx:110 +#: src/pages/sales/SalesOrderDetail.tsx:250 msgid "Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:144 -#: src/pages/sales/ReturnOrderDetail.tsx:111 -#: src/pages/sales/SalesOrderDetail.tsx:115 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:146 +#: src/pages/sales/ReturnOrderDetail.tsx:113 +#: src/pages/sales/SalesOrderDetail.tsx:117 msgid "Completed Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:152 -#: src/pages/sales/ReturnOrderDetail.tsx:119 -#: src/pages/sales/SalesOrderDetail.tsx:123 -#: src/pages/sales/SalesOrderDetail.tsx:258 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:121 +#: src/pages/sales/SalesOrderDetail.tsx:125 +#: src/pages/sales/SalesOrderDetail.tsx:260 msgid "Completed Shipments" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:159 -#: src/pages/sales/ReturnOrderDetail.tsx:127 -#: src/pages/sales/SalesOrderDetail.tsx:131 -msgid "Order Currency" -msgstr "" - #: src/pages/purchasing/PurchaseOrderDetail.tsx:159 #: src/pages/sales/ReturnOrderDetail.tsx:126 #: src/pages/sales/SalesOrderDetail.tsx:130 #~ msgid "Order Currency," #~ msgstr "Order Currency," -#: src/pages/purchasing/PurchaseOrderDetail.tsx:166 -#: src/pages/sales/ReturnOrderDetail.tsx:134 -#: src/pages/sales/SalesOrderDetail.tsx:138 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:161 +#: src/pages/sales/ReturnOrderDetail.tsx:129 +#: src/pages/sales/SalesOrderDetail.tsx:133 +msgid "Order Currency" +msgstr "" + +#: src/pages/purchasing/PurchaseOrderDetail.tsx:168 +#: src/pages/sales/ReturnOrderDetail.tsx:136 +#: src/pages/sales/SalesOrderDetail.tsx:140 msgid "Total Cost" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:201 -#: src/pages/sales/ReturnOrderDetail.tsx:169 -#: src/pages/sales/SalesOrderDetail.tsx:173 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:203 +#: src/pages/sales/ReturnOrderDetail.tsx:171 +#: src/pages/sales/SalesOrderDetail.tsx:175 msgid "Created On" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:246 -#: src/pages/sales/ReturnOrderDetail.tsx:214 -#: src/pages/sales/SalesOrderDetail.tsx:242 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:248 +#: src/pages/sales/ReturnOrderDetail.tsx:216 +#: src/pages/sales/SalesOrderDetail.tsx:244 msgid "Order Details" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:316 -#: src/pages/sales/ReturnOrderDetail.tsx:290 -#: src/pages/sales/SalesOrderDetail.tsx:302 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:323 +#: src/pages/sales/ReturnOrderDetail.tsx:297 +#: src/pages/sales/SalesOrderDetail.tsx:309 msgid "Order Actions" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:75 -#: src/pages/sales/SalesOrderDetail.tsx:79 +#: src/pages/sales/ReturnOrderDetail.tsx:77 +#: src/pages/sales/SalesOrderDetail.tsx:81 #: src/tables/sales/SalesOrderTable.tsx:123 msgid "Customer Reference" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:267 +#: src/pages/sales/ReturnOrderDetail.tsx:269 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:276 +#: src/pages/sales/ReturnOrderDetail.tsx:278 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" @@ -4430,68 +4523,72 @@ msgstr "" msgid "Customers" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:219 +#: src/pages/sales/SalesOrderDetail.tsx:221 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:228 +#: src/pages/sales/SalesOrderDetail.tsx:230 #: src/tables/sales/SalesOrderTable.tsx:83 #: src/tables/sales/SalesOrderTable.tsx:95 msgid "Add Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:253 +#: src/pages/sales/SalesOrderDetail.tsx:255 msgid "Pending Shipments" msgstr "" -#: src/pages/stock/LocationDetail.tsx:105 +#: src/pages/stock/LocationDetail.tsx:107 msgid "Parent Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:123 +#: src/pages/stock/LocationDetail.tsx:125 msgid "Sublocations" msgstr "" -#: src/pages/stock/LocationDetail.tsx:135 +#: src/pages/stock/LocationDetail.tsx:137 msgid "External" msgstr "" -#: src/pages/stock/LocationDetail.tsx:144 +#: src/pages/stock/LocationDetail.tsx:143 +msgid "Location Type" +msgstr "" + +#: src/pages/stock/LocationDetail.tsx:154 msgid "Top level stock location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:155 +#: src/pages/stock/LocationDetail.tsx:165 msgid "Location Details" msgstr "" -#: src/pages/stock/LocationDetail.tsx:181 +#: src/pages/stock/LocationDetail.tsx:191 msgid "Default Parts" msgstr "" -#: src/pages/stock/LocationDetail.tsx:200 +#: src/pages/stock/LocationDetail.tsx:210 #: src/pages/stock/LocationDetail.tsx:328 -#: src/tables/stock/StockLocationTable.tsx:108 +#: src/tables/stock/StockLocationTable.tsx:100 msgid "Edit Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:221 +#: src/pages/stock/LocationDetail.tsx:231 #: src/pages/stock/LocationDetail.tsx:333 msgid "Delete Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:224 +#: src/pages/stock/LocationDetail.tsx:234 msgid "Items Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:225 +#: src/pages/stock/LocationDetail.tsx:235 msgid "Action for stock items in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:230 +#: src/pages/stock/LocationDetail.tsx:240 msgid "Child Locations Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:231 +#: src/pages/stock/LocationDetail.tsx:241 msgid "Action for child locations in this location" msgstr "" @@ -4499,11 +4596,11 @@ msgstr "" msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:100 +#: src/pages/stock/StockDetail.tsx:103 msgid "Base Part" msgstr "" -#: src/pages/stock/StockDetail.tsx:107 +#: src/pages/stock/StockDetail.tsx:110 msgid "Stock Status" msgstr "" @@ -4515,15 +4612,16 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:174 +#: src/pages/stock/StockDetail.tsx:177 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:190 +#: src/pages/stock/StockDetail.tsx:193 msgid "Consumed By" msgstr "" -#: src/pages/stock/StockDetail.tsx:199 +#: src/pages/stock/StockDetail.tsx:202 +#: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" msgstr "" @@ -4535,78 +4633,78 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:264 +#: src/pages/stock/StockDetail.tsx:267 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:270 +#: src/pages/stock/StockDetail.tsx:273 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:282 +#: src/pages/stock/StockDetail.tsx:290 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:296 +#: src/pages/stock/StockDetail.tsx:304 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:303 +#: src/pages/stock/StockDetail.tsx:311 msgid "Child Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:358 +#: src/pages/stock/StockDetail.tsx:366 msgid "Edit Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:385 +#: src/pages/stock/StockDetail.tsx:393 msgid "Delete Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:426 -msgid "Stock Operations" -msgstr "" - -#: src/pages/stock/StockDetail.tsx:431 -msgid "Count stock" -msgstr "" - #: src/pages/stock/StockDetail.tsx:433 #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:441 +#: src/pages/stock/StockDetail.tsx:440 +msgid "Stock Operations" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:445 +msgid "Count stock" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:455 #: src/tables/stock/StockItemTable.tsx:414 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:449 +#: src/pages/stock/StockDetail.tsx:463 #: src/tables/stock/StockItemTable.tsx:423 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:456 +#: src/pages/stock/StockDetail.tsx:470 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:457 +#: src/pages/stock/StockDetail.tsx:471 #: src/tables/stock/StockItemTable.tsx:443 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:469 +#: src/pages/stock/StockDetail.tsx:482 msgid "Stock Item Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:513 -msgid "Batch Code" -msgstr "" - -#: src/tables/ColumnRenderers.tsx:50 +#: src/tables/ColumnRenderers.tsx:42 msgid "No location set" msgstr "" -#: src/tables/ColumnRenderers.tsx:264 +#: src/tables/ColumnRenderers.tsx:207 +msgid "Shipment Date" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:227 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "" @@ -4616,20 +4714,32 @@ msgstr "" msgid "Select Columns" msgstr "" -#: src/tables/DownloadAction.tsx:11 +#: src/tables/DownloadAction.tsx:13 +#~ msgid "Excel" +#~ msgstr "Excel" + +#: src/tables/DownloadAction.tsx:21 +#~ msgid "Download selected data" +#~ msgstr "Download selected data" + +#: src/tables/DownloadAction.tsx:22 msgid "CSV" msgstr "" -#: src/tables/DownloadAction.tsx:12 +#: src/tables/DownloadAction.tsx:23 msgid "TSV" msgstr "" -#: src/tables/DownloadAction.tsx:13 -msgid "Excel" +#: src/tables/DownloadAction.tsx:24 +msgid "Excel (.xls)" msgstr "" -#: src/tables/DownloadAction.tsx:21 -msgid "Download selected data" +#: src/tables/DownloadAction.tsx:25 +msgid "Excel (.xlsx)" +msgstr "" + +#: src/tables/DownloadAction.tsx:39 +msgid "Download Data" msgstr "" #: src/tables/Filter.tsx:88 @@ -4663,102 +4773,102 @@ msgstr "" msgid "Remove filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:147 +#: src/tables/FilterSelectDrawer.tsx:136 msgid "Select filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:148 +#: src/tables/FilterSelectDrawer.tsx:137 msgid "Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:155 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:33 -#: src/tables/stock/StockItemTestResultTable.tsx:182 +#: src/tables/FilterSelectDrawer.tsx:144 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 +#: src/tables/stock/StockItemTestResultTable.tsx:180 msgid "Value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:156 +#: src/tables/FilterSelectDrawer.tsx:145 msgid "Select filter value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:196 +#: src/tables/FilterSelectDrawer.tsx:185 msgid "Table Filters" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:228 +#: src/tables/FilterSelectDrawer.tsx:217 msgid "Add Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:237 +#: src/tables/FilterSelectDrawer.tsx:226 msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:118 -#: src/tables/InvenTreeTable.tsx:384 -#: src/tables/InvenTreeTable.tsx:405 +#: src/tables/InvenTreeTable.tsx:119 +#: src/tables/InvenTreeTable.tsx:390 +#: src/tables/InvenTreeTable.tsx:411 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:416 +#: src/tables/InvenTreeTable.tsx:422 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:424 +#: src/tables/InvenTreeTable.tsx:430 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:427 +#: src/tables/InvenTreeTable.tsx:433 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:436 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:433 +#: src/tables/InvenTreeTable.tsx:439 msgid "Not found" msgstr "" -#: src/tables/InvenTreeTable.tsx:482 -#: src/tables/InvenTreeTable.tsx:604 +#: src/tables/InvenTreeTable.tsx:488 +#: src/tables/InvenTreeTable.tsx:611 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:486 +#: src/tables/InvenTreeTable.tsx:492 msgid "Are you sure you want to delete the selected records?" msgstr "" -#: src/tables/InvenTreeTable.tsx:488 +#: src/tables/InvenTreeTable.tsx:494 msgid "This action cannot be undone!" msgstr "" -#: src/tables/InvenTreeTable.tsx:516 +#: src/tables/InvenTreeTable.tsx:522 msgid "Deleted records" msgstr "" -#: src/tables/InvenTreeTable.tsx:517 +#: src/tables/InvenTreeTable.tsx:523 msgid "Records were deleted successfully" msgstr "" -#: src/tables/InvenTreeTable.tsx:526 +#: src/tables/InvenTreeTable.tsx:532 msgid "Failed to delete records" msgstr "" -#: src/tables/InvenTreeTable.tsx:585 -#: src/tables/InvenTreeTable.tsx:586 -msgid "Barcode actions" -msgstr "" - #: src/tables/InvenTreeTable.tsx:594 #: src/tables/InvenTreeTable.tsx:595 -msgid "Print actions" +#~ msgid "Print actions" +#~ msgstr "Print actions" + +#: src/tables/InvenTreeTable.tsx:601 +#: src/tables/InvenTreeTable.tsx:602 +msgid "Barcode actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:620 +#: src/tables/InvenTreeTable.tsx:630 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:638 +#: src/tables/InvenTreeTable.tsx:648 msgid "Table filters" msgstr "" @@ -4770,138 +4880,138 @@ msgstr "" msgid "Part Information" msgstr "" -#: src/tables/bom/BomTable.tsx:177 +#: src/tables/bom/BomTable.tsx:179 #: src/tables/part/PartTable.tsx:124 msgid "No stock" msgstr "" -#: src/tables/bom/BomTable.tsx:185 +#: src/tables/bom/BomTable.tsx:187 #: src/tables/build/BuildLineTable.tsx:104 #: src/tables/part/PartTable.tsx:115 msgid "External stock" msgstr "" -#: src/tables/bom/BomTable.tsx:193 +#: src/tables/bom/BomTable.tsx:195 #: src/tables/build/BuildLineTable.tsx:67 msgid "Includes substitute stock" msgstr "" -#: src/tables/bom/BomTable.tsx:202 +#: src/tables/bom/BomTable.tsx:204 #: src/tables/build/BuildLineTable.tsx:77 msgid "Includes variant stock" msgstr "" -#: src/tables/bom/BomTable.tsx:227 +#: src/tables/bom/BomTable.tsx:229 #: src/tables/part/PartTable.tsx:143 #: src/tables/stock/StockItemTable.tsx:205 msgid "Stock Information" msgstr "" -#: src/tables/bom/BomTable.tsx:239 +#: src/tables/bom/BomTable.tsx:241 #: src/tables/build/BuildLineTable.tsx:195 msgid "Consumable item" msgstr "" -#: src/tables/bom/BomTable.tsx:260 +#: src/tables/bom/BomTable.tsx:262 msgid "Show trackable items" msgstr "" -#: src/tables/bom/BomTable.tsx:265 +#: src/tables/bom/BomTable.tsx:267 msgid "Show asssmbled items" msgstr "" -#: src/tables/bom/BomTable.tsx:270 +#: src/tables/bom/BomTable.tsx:272 msgid "Show items with available stock" msgstr "" -#: src/tables/bom/BomTable.tsx:275 +#: src/tables/bom/BomTable.tsx:277 msgid "Show items on order" msgstr "" -#: src/tables/bom/BomTable.tsx:279 +#: src/tables/bom/BomTable.tsx:281 msgid "Validated" msgstr "" -#: src/tables/bom/BomTable.tsx:280 +#: src/tables/bom/BomTable.tsx:282 msgid "Show validated items" msgstr "" -#: src/tables/bom/BomTable.tsx:284 +#: src/tables/bom/BomTable.tsx:286 #: src/tables/bom/UsedInTable.tsx:63 msgid "Inherited" msgstr "" -#: src/tables/bom/BomTable.tsx:285 +#: src/tables/bom/BomTable.tsx:287 #: src/tables/bom/UsedInTable.tsx:64 msgid "Show inherited items" msgstr "" -#: src/tables/bom/BomTable.tsx:289 +#: src/tables/bom/BomTable.tsx:291 #: src/tables/bom/UsedInTable.tsx:68 #: src/tables/build/BuildLineTable.tsx:46 msgid "Optional" msgstr "" -#: src/tables/bom/BomTable.tsx:290 +#: src/tables/bom/BomTable.tsx:292 #: src/tables/bom/UsedInTable.tsx:69 msgid "Show optional items" msgstr "" -#: src/tables/bom/BomTable.tsx:294 +#: src/tables/bom/BomTable.tsx:296 #: src/tables/build/BuildLineTable.tsx:41 msgid "Consumable" msgstr "" -#: src/tables/bom/BomTable.tsx:295 +#: src/tables/bom/BomTable.tsx:297 msgid "Show consumable items" msgstr "" -#: src/tables/bom/BomTable.tsx:299 +#: src/tables/bom/BomTable.tsx:301 msgid "Has Pricing" msgstr "" -#: src/tables/bom/BomTable.tsx:300 -msgid "Show items with pricing" -msgstr "" - #: src/tables/bom/BomTable.tsx:301 #~ msgid "Create BOM Item" #~ msgstr "Create BOM Item" -#: src/tables/bom/BomTable.tsx:309 -#: src/tables/bom/BomTable.tsx:397 +#: src/tables/bom/BomTable.tsx:302 +msgid "Show items with pricing" +msgstr "" + +#: src/tables/bom/BomTable.tsx:311 +#: src/tables/bom/BomTable.tsx:399 msgid "Add BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:314 +#: src/tables/bom/BomTable.tsx:316 msgid "BOM item created" msgstr "" -#: src/tables/bom/BomTable.tsx:321 +#: src/tables/bom/BomTable.tsx:323 msgid "Edit BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:323 +#: src/tables/bom/BomTable.tsx:325 msgid "BOM item updated" msgstr "" -#: src/tables/bom/BomTable.tsx:330 -msgid "Delete BOM Item" -msgstr "" - -#: src/tables/bom/BomTable.tsx:331 -msgid "BOM item deleted" -msgstr "" - #: src/tables/bom/BomTable.tsx:331 #~ msgid "Edit Bom Item" #~ msgstr "Edit Bom Item" +#: src/tables/bom/BomTable.tsx:332 +msgid "Delete BOM Item" +msgstr "" + +#: src/tables/bom/BomTable.tsx:333 +msgid "BOM item deleted" +msgstr "" + #: src/tables/bom/BomTable.tsx:333 #~ msgid "Bom item updated" #~ msgstr "Bom item updated" -#: src/tables/bom/BomTable.tsx:341 +#: src/tables/bom/BomTable.tsx:343 msgid "View BOM" msgstr "" @@ -4917,11 +5027,11 @@ msgstr "" #~ msgid "Are you sure you want to remove this BOM item?" #~ msgstr "Are you sure you want to remove this BOM item?" -#: src/tables/bom/BomTable.tsx:352 +#: src/tables/bom/BomTable.tsx:354 msgid "Validate BOM line" msgstr "" -#: src/tables/bom/BomTable.tsx:360 +#: src/tables/bom/BomTable.tsx:362 msgid "Edit Substitutes" msgstr "" @@ -5038,11 +5148,11 @@ msgid "Filter by responsible owner" msgstr "" #: src/tables/build/BuildOutputTable.tsx:114 -#: src/tables/build/BuildOutputTable.tsx:150 +#: src/tables/build/BuildOutputTable.tsx:152 msgid "Add Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:155 +#: src/tables/build/BuildOutputTable.tsx:157 msgid "Complete selected outputs" msgstr "" @@ -5050,68 +5160,68 @@ msgstr "" #~ msgid "Delete build output" #~ msgstr "Delete build output" -#: src/tables/build/BuildOutputTable.tsx:165 +#: src/tables/build/BuildOutputTable.tsx:167 msgid "Scrap selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:175 +#: src/tables/build/BuildOutputTable.tsx:177 msgid "Cancel selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:191 +#: src/tables/build/BuildOutputTable.tsx:193 msgid "Allocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:192 +#: src/tables/build/BuildOutputTable.tsx:194 msgid "Allocate stock to build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:197 +#: src/tables/build/BuildOutputTable.tsx:199 msgid "Deallocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:198 +#: src/tables/build/BuildOutputTable.tsx:200 msgid "Deallocate stock from build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:203 +#: src/tables/build/BuildOutputTable.tsx:205 msgid "Complete" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:204 +#: src/tables/build/BuildOutputTable.tsx:206 msgid "Complete build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:213 +#: src/tables/build/BuildOutputTable.tsx:215 msgid "Scrap" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:214 +#: src/tables/build/BuildOutputTable.tsx:216 msgid "Scrap build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:224 +#: src/tables/build/BuildOutputTable.tsx:226 msgid "Cancel build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:251 +#: src/tables/build/BuildOutputTable.tsx:253 msgid "Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:264 +#: src/tables/build/BuildOutputTable.tsx:266 msgid "Batch" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:278 +#: src/tables/build/BuildOutputTable.tsx:280 msgid "Allocated Items" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:288 +#: src/tables/build/BuildOutputTable.tsx:290 msgid "Required Tests" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:317 -#: src/tables/stock/StockItemTestResultTable.tsx:146 +#: src/tables/build/BuildOutputTable.tsx:319 +#: src/tables/stock/StockItemTestResultTable.tsx:144 msgid "Test Results" msgstr "" @@ -5132,7 +5242,7 @@ msgstr "" msgid "Delete Address" msgstr "" -#: src/tables/company/AddressTable.tsx:145 +#: src/tables/company/AddressTable.tsx:144 msgid "Are you sure you want to delete this address?" msgstr "" @@ -5177,36 +5287,52 @@ msgstr "" msgid "Add contact" msgstr "" -#: src/tables/general/AttachmentTable.tsx:161 +#: src/tables/general/AttachmentTable.tsx:130 msgid "File uploaded" msgstr "" -#: src/tables/general/AttachmentTable.tsx:162 +#: src/tables/general/AttachmentTable.tsx:131 msgid "File {0} uploaded successfully" msgstr "" -#: src/tables/general/AttachmentTable.tsx:173 +#: src/tables/general/AttachmentTable.tsx:142 msgid "Upload Error" msgstr "" -#: src/tables/general/AttachmentTable.tsx:174 +#: src/tables/general/AttachmentTable.tsx:143 msgid "File could not be uploaded" msgstr "" #: src/tables/general/AttachmentTable.tsx:187 +msgid "Upload Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:197 +msgid "Edit Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:211 +msgid "Delete Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:221 msgid "Add attachment" msgstr "" -#: src/tables/general/AttachmentTable.tsx:207 +#: src/tables/general/AttachmentTable.tsx:232 msgid "Add external link" msgstr "" -#: src/tables/general/AttachmentTable.tsx:239 +#: src/tables/general/AttachmentTable.tsx:254 +#~ msgid "Upload attachment" +#~ msgstr "Upload attachment" + +#: src/tables/general/AttachmentTable.tsx:289 msgid "No attachments found" msgstr "" -#: src/tables/general/AttachmentTable.tsx:254 -msgid "Upload attachment" +#: src/tables/general/AttachmentTable.tsx:325 +msgid "Drag attachment file here to upload" msgstr "" #: src/tables/machine/MachineListTable.tsx:199 @@ -5332,8 +5458,8 @@ msgstr "" #: src/tables/machine/MachineTypeTable.tsx:135 #: src/tables/machine/MachineTypeTable.tsx:255 -#: src/tables/plugin/PluginListTable.tsx:215 -#: src/tables/plugin/PluginListTable.tsx:643 +#: src/tables/plugin/PluginListTable.tsx:180 +#: src/tables/plugin/PluginListTable.tsx:568 msgid "Builtin" msgstr "" @@ -5375,7 +5501,7 @@ msgid "Message" msgstr "" #: src/tables/part/ParametricPartTable.tsx:75 -#: src/tables/part/PartParameterTable.tsx:87 +#: src/tables/part/PartParameterTable.tsx:88 msgid "Internal Units" msgstr "" @@ -5388,29 +5514,29 @@ msgid "Add Part Parameter" msgstr "" #: src/tables/part/ParametricPartTable.tsx:147 -#: src/tables/part/PartParameterTable.tsx:128 -#: src/tables/part/PartParameterTable.tsx:150 +#: src/tables/part/PartParameterTable.tsx:121 +#: src/tables/part/PartParameterTable.tsx:144 msgid "Edit Part Parameter" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:64 +#: src/tables/part/PartCategoryTable.tsx:60 #: src/tables/part/PartTable.tsx:180 msgid "Include Subcategories" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:65 +#: src/tables/part/PartCategoryTable.tsx:61 msgid "Include subcategories in results" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:70 +#: src/tables/part/PartCategoryTable.tsx:66 msgid "Show structural categories" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:77 +#: src/tables/part/PartCategoryTable.tsx:73 msgid "New Part Category" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:106 +#: src/tables/part/PartCategoryTable.tsx:98 msgid "Add Part Category" msgstr "" @@ -5435,20 +5561,20 @@ msgstr "" #~ msgid "[{0}]" #~ msgstr "[{0}]" -#: src/tables/part/PartParameterTable.tsx:112 +#: src/tables/part/PartParameterTable.tsx:105 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:136 -#: src/tables/part/PartParameterTable.tsx:158 +#: src/tables/part/PartParameterTable.tsx:130 +#: src/tables/part/PartParameterTable.tsx:152 msgid "Delete Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:175 +#: src/tables/part/PartParameterTable.tsx:170 msgid "Add parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:196 +#: src/tables/part/PartParameterTable.tsx:191 #: src/tables/stock/StockItemTable.tsx:300 msgid "Include Variants" msgstr "" @@ -5482,15 +5608,15 @@ msgstr "" msgid "Add Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:97 +#: src/tables/part/PartParameterTemplateTable.tsx:100 msgid "Edit Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:105 +#: src/tables/part/PartParameterTemplateTable.tsx:111 msgid "Delete Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:135 +#: src/tables/part/PartParameterTemplateTable.tsx:141 msgid "Add parameter template" msgstr "" @@ -5588,7 +5714,7 @@ msgid "No Results" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:79 -#: src/tables/stock/StockItemTestResultTable.tsx:385 +#: src/tables/stock/StockItemTestResultTable.tsx:376 msgid "Required" msgstr "" @@ -5597,8 +5723,8 @@ msgid "Show required tests" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:84 -#: src/tables/settings/TemplateTable.tsx:213 -#: src/tables/settings/TemplateTable.tsx:275 +#: src/tables/settings/TemplateTable.tsx:160 +#: src/tables/settings/TemplateTable.tsx:270 msgid "Enabled" msgstr "" @@ -5639,26 +5765,30 @@ msgid "Show tests which have recorded results" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:126 -#: src/tables/part/PartTestTemplateTable.tsx:195 +#: src/tables/part/PartTestTemplateTable.tsx:201 msgid "Add Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:139 +#: src/tables/part/PartTestTemplateTable.tsx:142 msgid "Edit Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:147 +#: src/tables/part/PartTestTemplateTable.tsx:153 msgid "Delete Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:149 +#: src/tables/part/PartTestTemplateTable.tsx:155 msgid "This action cannot be reversed" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:151 +#: src/tables/part/PartTestTemplateTable.tsx:157 msgid "Any tests results associated with this template will be deleted" msgstr "" +#: src/tables/part/PartThumbTable.tsx:203 +msgid "Select" +msgstr "" + #: src/tables/part/PartVariantTable.tsx:16 msgid "Show active variants" msgstr "" @@ -5695,252 +5825,273 @@ msgstr "" msgid "Stage" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:113 -msgid "Plugin with id {id} not found" +#: src/tables/plugin/PluginListTable.tsx:95 +msgid "Plugin with key {pluginKey} not found" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:115 +#: src/tables/plugin/PluginListTable.tsx:97 msgid "An error occurred while fetching plugin details" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:134 -msgid "Plugin Actions" -msgstr "" +#: src/tables/plugin/PluginListTable.tsx:113 +#~ msgid "Plugin with id {id} not found" +#~ msgstr "Plugin with id {id} not found" -#: src/tables/plugin/PluginListTable.tsx:138 -#: src/tables/plugin/PluginListTable.tsx:141 -msgid "Edit plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:152 -#: src/tables/plugin/PluginListTable.tsx:153 -msgid "Reload" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:166 +#: src/tables/plugin/PluginListTable.tsx:122 msgid "Plugin information" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:177 +#: src/tables/plugin/PluginListTable.tsx:134 msgid "Author" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:198 +#: src/tables/plugin/PluginListTable.tsx:134 +#~ msgid "Plugin Actions" +#~ msgstr "Plugin Actions" + +#: src/tables/plugin/PluginListTable.tsx:138 +#: src/tables/plugin/PluginListTable.tsx:141 +#~ msgid "Edit plugin" +#~ msgstr "Edit plugin" + +#: src/tables/plugin/PluginListTable.tsx:152 +#: src/tables/plugin/PluginListTable.tsx:153 +#~ msgid "Reload" +#~ msgstr "Reload" + +#: src/tables/plugin/PluginListTable.tsx:154 +msgid "Plugin is not active" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:163 msgid "Package information" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:204 +#: src/tables/plugin/PluginListTable.tsx:169 msgid "Package Name" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:210 +#: src/tables/plugin/PluginListTable.tsx:175 msgid "Installation Path" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:220 +#: src/tables/plugin/PluginListTable.tsx:185 msgid "Package" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:231 +#: src/tables/plugin/PluginListTable.tsx:197 msgid "Plugin settings" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:248 +#: src/tables/plugin/PluginListTable.tsx:214 msgid "Plugin is active" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:254 +#: src/tables/plugin/PluginListTable.tsx:220 msgid "Plugin is inactive" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:261 +#: src/tables/plugin/PluginListTable.tsx:227 msgid "Plugin is not installed" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:287 +#: src/tables/plugin/PluginListTable.tsx:253 msgid "Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:312 +#: src/tables/plugin/PluginListTable.tsx:287 msgid "Description not available" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:338 +#: src/tables/plugin/PluginListTable.tsx:319 +msgid "Confirm plugin activation" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:320 +msgid "Confirm plugin deactivation" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:325 +msgid "The selected plugin will be activated" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:326 +msgid "The selected plugin will be deactivated" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:334 msgid "Activate Plugin" msgstr "" #: src/tables/plugin/PluginListTable.tsx:338 -msgid "Deactivate Plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:347 -msgid "Confirm plugin activation" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:348 -msgid "Confirm plugin deactivation" -msgstr "" +#~ msgid "Deactivate Plugin" +#~ msgstr "Deactivate Plugin" #: src/tables/plugin/PluginListTable.tsx:354 -msgid "The following plugin will be activated" -msgstr "" +#~ msgid "The following plugin will be activated" +#~ msgstr "The following plugin will be activated" #: src/tables/plugin/PluginListTable.tsx:355 -msgid "The following plugin will be deactivated" -msgstr "" +#~ msgid "The following plugin will be deactivated" +#~ msgstr "The following plugin will be deactivated" -#: src/tables/plugin/PluginListTable.tsx:366 -msgid "Confirm" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:376 -msgid "Activating plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:376 -msgid "Deactivating plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:392 -msgid "Plugin updated" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:394 -msgid "The plugin was activated" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:395 -msgid "The plugin was deactivated" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:403 -msgid "Error updating plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:423 +#: src/tables/plugin/PluginListTable.tsx:362 msgid "Deactivate" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:432 +#: src/tables/plugin/PluginListTable.tsx:366 +#~ msgid "Confirm" +#~ msgstr "Confirm" + +#: src/tables/plugin/PluginListTable.tsx:373 msgid "Activate" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:463 +#: src/tables/plugin/PluginListTable.tsx:376 +#~ msgid "Activating plugin" +#~ msgstr "Activating plugin" + +#: src/tables/plugin/PluginListTable.tsx:376 +#~ msgid "Deactivating plugin" +#~ msgstr "Deactivating plugin" + +#: src/tables/plugin/PluginListTable.tsx:392 +#~ msgid "Plugin updated" +#~ msgstr "Plugin updated" + +#: src/tables/plugin/PluginListTable.tsx:394 +#~ msgid "The plugin was activated" +#~ msgstr "The plugin was activated" + +#: src/tables/plugin/PluginListTable.tsx:395 +#~ msgid "The plugin was deactivated" +#~ msgstr "The plugin was deactivated" + +#: src/tables/plugin/PluginListTable.tsx:403 +#~ msgid "Error updating plugin" +#~ msgstr "Error updating plugin" + +#: src/tables/plugin/PluginListTable.tsx:406 msgid "Uninstall" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:495 +#: src/tables/plugin/PluginListTable.tsx:438 msgid "Install plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:508 +#: src/tables/plugin/PluginListTable.tsx:451 msgid "Install" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:512 +#: src/tables/plugin/PluginListTable.tsx:452 msgid "Plugin installed successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:525 +#: src/tables/plugin/PluginListTable.tsx:457 msgid "Uninstall Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:537 +#: src/tables/plugin/PluginListTable.tsx:469 msgid "Confirm plugin uninstall" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:540 +#: src/tables/plugin/PluginListTable.tsx:472 msgid "The selected plugin will be uninstalled." msgstr "" -#: src/tables/plugin/PluginListTable.tsx:541 +#: src/tables/plugin/PluginListTable.tsx:473 msgid "This action cannot be undone." msgstr "" -#: src/tables/plugin/PluginListTable.tsx:547 +#: src/tables/plugin/PluginListTable.tsx:477 msgid "Plugin uninstalled successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:560 +#: src/tables/plugin/PluginListTable.tsx:484 msgid "Delete Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:562 +#: src/tables/plugin/PluginListTable.tsx:485 msgid "Deleting this plugin configuration will remove all associated settings and data. Are you sure you want to delete this plugin?" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:574 +#: src/tables/plugin/PluginListTable.tsx:498 msgid "Plugins reloaded" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:575 +#: src/tables/plugin/PluginListTable.tsx:499 msgid "Plugins were reloaded successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:591 +#: src/tables/plugin/PluginListTable.tsx:515 msgid "Reload Plugins" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:600 +#: src/tables/plugin/PluginListTable.tsx:524 msgid "Install Plugin" msgstr "" +#: src/tables/plugin/PluginListTable.tsx:544 +msgid "Plugin Detail" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:573 +msgid "Sample" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:578 +#: src/tables/stock/StockItemTable.tsx:305 +msgid "Installed" +msgstr "" + #: src/tables/plugin/PluginListTable.tsx:615 #~ msgid "Plugin detail" #~ msgstr "Plugin detail" -#: src/tables/plugin/PluginListTable.tsx:619 -msgid "Plugin Detail" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:648 -msgid "Sample" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:653 -#: src/tables/stock/StockItemTable.tsx:305 -msgid "Installed" -msgstr "" - -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:57 -msgid "Edit Parameter" +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:59 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:108 +msgid "Add Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:60 -msgid "Parameter updated" -msgstr "" +#~ msgid "Parameter updated" +#~ msgstr "Parameter updated" -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:71 -msgid "Delete Parameter" +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:70 +msgid "Edit Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:73 -msgid "Parameter deleted" -msgstr "" +#~ msgid "Parameter deleted" +#~ msgstr "Parameter deleted" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:74 -msgid "Are you sure you want to delete this parameter?" +#~ msgid "Are you sure you want to delete this parameter?" +#~ msgstr "Are you sure you want to delete this parameter?" + +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:78 +msgid "Delete Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartTable.tsx:63 #~ msgid "Create Manufacturer Part" #~ msgstr "Create Manufacturer Part" -#: src/tables/purchasing/ManufacturerPartTable.tsx:100 -msgid "Manufacturer part updated" -msgstr "" - -#: src/tables/purchasing/ManufacturerPartTable.tsx:111 +#: src/tables/purchasing/ManufacturerPartTable.tsx:92 msgid "Delete Manufacturer Part" msgstr "" +#: src/tables/purchasing/ManufacturerPartTable.tsx:100 +#~ msgid "Manufacturer part updated" +#~ msgstr "Manufacturer part updated" + #: src/tables/purchasing/ManufacturerPartTable.tsx:112 -msgid "Manufacturer part deleted" -msgstr "" +#~ msgid "Manufacturer part deleted" +#~ msgstr "Manufacturer part deleted" #: src/tables/purchasing/ManufacturerPartTable.tsx:114 -msgid "Are you sure you want to remove this manufacturer part?" -msgstr "" +#~ msgid "Are you sure you want to remove this manufacturer part?" +#~ msgstr "Are you sure you want to remove this manufacturer part?" #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:86 msgid "Part Description" @@ -6087,18 +6238,22 @@ msgid "Error Information" msgstr "" #: src/tables/settings/ErrorTable.tsx:51 -msgid "Delete error report" +msgid "Delete Error Report" msgstr "" +#: src/tables/settings/ErrorTable.tsx:51 +#~ msgid "Delete error report" +#~ msgstr "Delete error report" + #: src/tables/settings/ErrorTable.tsx:53 -msgid "Error report deleted" -msgstr "" - -#: src/tables/settings/ErrorTable.tsx:54 msgid "Are you sure you want to delete this error report?" msgstr "" -#: src/tables/settings/ErrorTable.tsx:67 +#: src/tables/settings/ErrorTable.tsx:55 +msgid "Error report deleted" +msgstr "" + +#: src/tables/settings/ErrorTable.tsx:77 #: src/tables/settings/FailedTasksTable.tsx:57 msgid "Error Details" msgstr "" @@ -6115,7 +6270,7 @@ msgid "Task ID" msgstr "" #: src/tables/settings/FailedTasksTable.tsx:34 -#: src/tables/stock/StockItemTestResultTable.tsx:214 +#: src/tables/stock/StockItemTestResultTable.tsx:205 msgid "Started" msgstr "" @@ -6188,30 +6343,71 @@ msgstr "" msgid "Next Run" msgstr "" -#: src/tables/settings/TemplateTable.tsx:120 -msgid "{templateTypeTranslation} with id {id} not found" +#: src/tables/settings/TemplateTable.tsx:82 +msgid "Template not found" msgstr "" +#: src/tables/settings/TemplateTable.tsx:84 +msgid "An error occurred while fetching template details" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:120 +#~ msgid "{templateTypeTranslation} with id {id} not found" +#~ msgstr "{templateTypeTranslation} with id {id} not found" + #: src/tables/settings/TemplateTable.tsx:124 -msgid "An error occurred while fetching {templateTypeTranslation} details" -msgstr "" +#~ msgid "An error occurred while fetching {templateTypeTranslation} details" +#~ msgstr "An error occurred while fetching {templateTypeTranslation} details" #: src/tables/settings/TemplateTable.tsx:146 -msgid "actions" +#~ msgid "actions" +#~ msgstr "actions" + +#: src/tables/settings/TemplateTable.tsx:170 +msgid "Modify" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:171 +msgid "Modify template file" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:222 +#: src/tables/settings/TemplateTable.tsx:289 +msgid "Edit Template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:230 +msgid "Delete template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:236 +msgid "Add Template" msgstr "" #: src/tables/settings/TemplateTable.tsx:243 -msgid "Add new" -msgstr "" +#~ msgid "Add new" +#~ msgstr "Add new" #: src/tables/settings/TemplateTable.tsx:243 #~ msgid "Create new" #~ msgstr "Create new" -#: src/tables/settings/TemplateTable.tsx:276 +#: src/tables/settings/TemplateTable.tsx:249 +msgid "Add template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:271 msgid "Filter by enabled status" msgstr "" +#: src/tables/settings/TemplateTable.tsx:276 +msgid "Model Type" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:277 +msgid "Filter by target model type" +msgstr "" + #: src/tables/settings/UserTable.tsx:79 msgid "User with id {id} not found" msgstr "" @@ -6277,6 +6473,23 @@ msgstr "" msgid "Edit user" msgstr "" +#: src/tables/stock/LocationTypesTable.tsx:36 +#: src/tables/stock/LocationTypesTable.tsx:105 +msgid "Add Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:44 +msgid "Edit Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:52 +msgid "Delete Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:69 +msgid "Icon" +msgstr "" + #: src/tables/stock/StockItemTable.tsx:90 msgid "This stock item is in production" msgstr "" @@ -6338,7 +6551,7 @@ msgid "Show items which are available" msgstr "" #: src/tables/stock/StockItemTable.tsx:280 -#: src/tables/stock/StockLocationTable.tsx:37 +#: src/tables/stock/StockLocationTable.tsx:33 msgid "Include Sublocations" msgstr "" @@ -6467,123 +6680,135 @@ msgstr "" msgid "Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:153 +#: src/tables/stock/StockItemTestResultTable.tsx:151 msgid "Test result for installed stock item" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:164 +#: src/tables/stock/StockItemTestResultTable.tsx:162 msgid "Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:170 +#: src/tables/stock/StockItemTestResultTable.tsx:168 msgid "No Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:186 +#: src/tables/stock/StockItemTestResultTable.tsx:184 msgid "Attachment" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:209 +#: src/tables/stock/StockItemTestResultTable.tsx:200 msgid "Test station" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:229 +#: src/tables/stock/StockItemTestResultTable.tsx:220 msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:277 -#: src/tables/stock/StockItemTestResultTable.tsx:349 -#: src/tables/stock/StockItemTestResultTable.tsx:404 +#: src/tables/stock/StockItemTestResultTable.tsx:268 +#: src/tables/stock/StockItemTestResultTable.tsx:340 +#: src/tables/stock/StockItemTestResultTable.tsx:395 msgid "Add Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:279 +#: src/tables/stock/StockItemTestResultTable.tsx:270 msgid "Test result added" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:288 -#: src/tables/stock/StockItemTestResultTable.tsx:359 +#: src/tables/stock/StockItemTestResultTable.tsx:279 +#: src/tables/stock/StockItemTestResultTable.tsx:350 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:290 +#: src/tables/stock/StockItemTestResultTable.tsx:281 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:296 -#: src/tables/stock/StockItemTestResultTable.tsx:368 +#: src/tables/stock/StockItemTestResultTable.tsx:287 +#: src/tables/stock/StockItemTestResultTable.tsx:359 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:298 +#: src/tables/stock/StockItemTestResultTable.tsx:289 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:312 +#: src/tables/stock/StockItemTestResultTable.tsx:303 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:313 +#: src/tables/stock/StockItemTestResultTable.tsx:304 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:320 +#: src/tables/stock/StockItemTestResultTable.tsx:311 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:337 +#: src/tables/stock/StockItemTestResultTable.tsx:328 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:386 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:390 +#: src/tables/stock/StockItemTestResultTable.tsx:381 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:391 +#: src/tables/stock/StockItemTestResultTable.tsx:382 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:395 +#: src/tables/stock/StockItemTestResultTable.tsx:386 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:396 +#: src/tables/stock/StockItemTestResultTable.tsx:387 msgid "Show only passed tests" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:38 +#: src/tables/stock/StockLocationTable.tsx:34 msgid "Include sublocations in results" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:42 +#: src/tables/stock/StockLocationTable.tsx:38 msgid "structural" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:43 +#: src/tables/stock/StockLocationTable.tsx:39 msgid "Show structural locations" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:47 +#: src/tables/stock/StockLocationTable.tsx:43 msgid "external" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:48 +#: src/tables/stock/StockLocationTable.tsx:44 msgid "Show external locations" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:52 +#: src/tables/stock/StockLocationTable.tsx:48 msgid "Has location type" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:89 -#: src/tables/stock/StockLocationTable.tsx:118 +#: src/tables/stock/StockLocationTable.tsx:85 +#: src/tables/stock/StockLocationTable.tsx:110 msgid "Add Stock Location" msgstr "" +#: src/tables/stock/StockTrackingTable.tsx:64 +msgid "Added" +msgstr "" + +#: src/tables/stock/StockTrackingTable.tsx:69 +msgid "Removed" +msgstr "" + +#: src/tables/stock/StockTrackingTable.tsx:198 +msgid "No user information" +msgstr "" + #: src/views/MobileAppView.tsx:22 msgid "Mobile viewport detected" msgstr "" diff --git a/src/frontend/src/locales/tr/messages.po b/src/frontend/src/locales/tr/messages.po index f1bd4299cd..f93e782104 100644 --- a/src/frontend/src/locales/tr/messages.po +++ b/src/frontend/src/locales/tr/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: tr\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-05-13 02:48\n" +"PO-Revision-Date: 2024-05-23 11:39\n" "Last-Translator: \n" "Language-Team: Turkish\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -30,10 +30,67 @@ msgstr "" msgid "Title" msgstr "Başlık" +#: src/components/buttons/AdminButton.tsx:83 +msgid "Open in admin interface" +msgstr "" + #: src/components/buttons/CopyButton.tsx:18 msgid "Copy to clipboard" msgstr "" +#: src/components/buttons/PrintingActions.tsx:95 +msgid "Print Label" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:101 +msgid "Label printing completed successfully" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:106 +#: src/components/buttons/PrintingActions.tsx:143 +#: src/components/forms/ApiForm.tsx:504 +#: src/components/forms/fields/ApiFormField.tsx:295 +#: src/components/modals/LicenseModal.tsx:75 +#: src/components/nav/SearchDrawer.tsx:413 +#: src/components/widgets/MarkdownEditor.tsx:107 +#: src/components/widgets/MarkdownEditor.tsx:153 +#: src/pages/ErrorPage.tsx:12 +#: src/pages/ErrorPage.tsx:25 +#: src/pages/part/PartPricingPanel.tsx:71 +#: src/tables/InvenTreeTable.tsx:451 +#: src/tables/InvenTreeTable.tsx:531 +#: src/tables/stock/StockItemTestResultTable.tsx:310 +msgid "Error" +msgstr "Hata" + +#: src/components/buttons/PrintingActions.tsx:107 +msgid "The label could not be generated" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:122 +msgid "Print Report" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:138 +msgid "Report printing completed successfully" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:144 +msgid "The report could not be generated" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:171 +msgid "Printing Actions" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:176 +msgid "Print Labels" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:182 +msgid "Print Reports" +msgstr "" + #: src/components/buttons/ScanButton.tsx:15 msgid "Scan QR code" msgstr "QR kodunu tara" @@ -64,15 +121,15 @@ msgstr "" msgid "No" msgstr "" -#: src/components/details/Details.tsx:302 +#: src/components/details/Details.tsx:303 msgid "No name defined" msgstr "" -#: src/components/details/Details.tsx:339 +#: src/components/details/Details.tsx:340 msgid "Copied" msgstr "" -#: src/components/details/Details.tsx:339 +#: src/components/details/Details.tsx:340 msgid "Copy" msgstr "" @@ -85,24 +142,23 @@ msgid "Remove the associated image from this item?" msgstr "" #: src/components/details/DetailsImage.tsx:71 -#: src/forms/StockForms.tsx:442 +#: src/forms/StockForms.tsx:483 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:448 +#: src/pages/stock/StockDetail.tsx:462 msgid "Remove" msgstr "" #: src/components/details/DetailsImage.tsx:71 -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:163 -#: src/components/items/ActionDropdown.tsx:222 -#: src/components/items/ActionDropdown.tsx:223 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 +#: src/components/items/ActionDropdown.tsx:229 +#: src/components/items/ActionDropdown.tsx:230 #: src/contexts/ThemeContext.tsx:43 #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:40 -#: src/tables/FilterSelectDrawer.tsx:218 -#: src/tables/InvenTreeTable.tsx:493 -#: src/tables/build/BuildOutputTable.tsx:223 -#: src/tables/plugin/PluginListTable.tsx:365 +#: src/tables/FilterSelectDrawer.tsx:207 +#: src/tables/InvenTreeTable.tsx:499 +#: src/tables/build/BuildOutputTable.tsx:225 msgid "Cancel" msgstr "Vazgeç" @@ -119,7 +175,7 @@ msgid "Clear" msgstr "" #: src/components/details/DetailsImage.tsx:227 -#: src/components/forms/ApiForm.tsx:554 +#: src/components/forms/ApiForm.tsx:571 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:56 msgid "Submit" @@ -150,9 +206,10 @@ msgid "Part is not active" msgstr "" #: src/components/details/PartIcons.tsx:34 -#: src/pages/company/CompanyDetail.tsx:308 -#: src/pages/company/SupplierPartDetail.tsx:304 -#: src/pages/part/PartDetail.tsx:684 +#: src/components/render/Plugin.tsx:17 +#: src/pages/company/CompanyDetail.tsx:310 +#: src/pages/company/SupplierPartDetail.tsx:305 +#: src/pages/part/PartDetail.tsx:685 msgid "Inactive" msgstr "" @@ -196,10 +253,10 @@ msgid "Code" msgstr "" #: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:44 -msgid "Failed to parse error response from server." -msgstr "" +#~ msgid "Failed to parse error response from server." +#~ msgstr "Failed to parse error response from server." -#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:82 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:81 msgid "Preview not available, click \"Reload Preview\"." msgstr "" @@ -207,98 +264,99 @@ msgstr "" msgid "PDF Preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:113 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:104 msgid "Error loading template" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:125 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:116 msgid "Error saving template" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 -msgid "Save & Reload preview?" +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:146 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:270 +msgid "Save & Reload Preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:156 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 msgid "Are you sure you want to Save & Reload the preview?" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 +#~ msgid "Save & Reload preview?" +#~ msgstr "Save & Reload preview?" + +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:153 msgid "To render the preview the current template needs to be replaced on the server with your modifications which may break the label if it is under active use. Do you want to proceed?" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:162 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:157 msgid "Save & Reload" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:191 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:189 msgid "Preview updated" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:192 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:190 msgid "The preview has been updated successfully." msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:255 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:262 msgid "Reload preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:256 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:263 msgid "Use the currently stored template from the server" msgstr "" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:263 -msgid "Save & Reload preview" -msgstr "" +#~ msgid "Save & Reload preview" +#~ msgstr "Save & Reload preview" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:264 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:271 msgid "Save the current template and reload the preview" msgstr "" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:322 -#: src/tables/part/PartThumbTable.tsx:203 -msgid "Select" +#~ msgid "to preview" +#~ msgstr "to preview" + +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:329 +msgid "Select instance to preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:322 -msgid "to preview" -msgstr "" - -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:366 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:373 msgid "Error rendering template" msgstr "" -#: src/components/forms/ApiForm.tsx:143 +#: src/components/forms/ApiForm.tsx:148 #: src/functions/forms.tsx:259 msgid "Form Error" msgstr "" -#: src/components/forms/ApiForm.tsx:411 +#: src/components/forms/ApiForm.tsx:428 #: src/components/widgets/MarkdownEditor.tsx:145 msgid "Success" msgstr "Başarılı" #: src/components/forms/ApiForm.tsx:487 -msgid "Form Errors Exist" -msgstr "" +#~ msgid "Form Errors Exist" +#~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:592 -#: src/tables/plugin/PluginListTable.tsx:445 +#: src/components/forms/ApiForm.tsx:609 +#: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "" -#: src/components/forms/ApiForm.tsx:612 -#: src/components/items/ActionDropdown.tsx:203 +#: src/components/forms/ApiForm.tsx:629 +#: src/components/items/ActionDropdown.tsx:210 #: src/functions/forms.tsx:299 #: src/hooks/UseForm.tsx:122 #: src/pages/Index/Scan.tsx:343 #: src/pages/Notifications.tsx:123 -#: src/tables/InvenTreeTable.tsx:492 +#: src/tables/InvenTreeTable.tsx:498 #: src/tables/RowActions.tsx:71 -#: src/tables/plugin/PluginListTable.tsx:477 -#: src/tables/settings/TemplateTable.tsx:105 -#: src/tables/settings/TemplateTable.tsx:154 -#: src/tables/settings/TemplateTable.tsx:236 +#: src/tables/plugin/PluginListTable.tsx:420 msgid "Delete" msgstr "" @@ -468,18 +526,19 @@ msgstr "Sunucu" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 -#: src/pages/part/CategoryDetail.tsx:77 -#: src/pages/part/PartDetail.tsx:125 -#: src/pages/stock/LocationDetail.tsx:83 +#: src/pages/part/CategoryDetail.tsx:78 +#: src/pages/part/PartDetail.tsx:126 +#: src/pages/stock/LocationDetail.tsx:85 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 #: src/tables/machine/MachineTypeTable.tsx:216 #: src/tables/machine/MachineTypeTable.tsx:319 #: src/tables/plugin/PluginErrorTable.tsx:33 -#: src/tables/plugin/PluginListTable.tsx:169 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:27 +#: src/tables/plugin/PluginListTable.tsx:126 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:32 #: src/tables/settings/GroupTable.tsx:103 #: src/tables/settings/PendingTasksTable.tsx:26 +#: src/tables/stock/LocationTypesTable.tsx:60 msgid "Name" msgstr "Adı" @@ -520,35 +579,20 @@ msgstr "İsim: {0}" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "Durum: <0>worker ({0}), <1>eklenti{1}" -#: src/components/forms/fields/ApiFormField.tsx:276 -#: src/components/modals/LicenseModal.tsx:75 -#: src/components/nav/SearchDrawer.tsx:413 -#: src/components/widgets/MarkdownEditor.tsx:107 -#: src/components/widgets/MarkdownEditor.tsx:153 -#: src/pages/ErrorPage.tsx:12 -#: src/pages/ErrorPage.tsx:25 -#: src/pages/part/PartPricingPanel.tsx:71 -#: src/tables/InvenTreeTable.tsx:445 -#: src/tables/InvenTreeTable.tsx:525 -#: src/tables/plugin/PluginListTable.tsx:402 -#: src/tables/stock/StockItemTestResultTable.tsx:319 -msgid "Error" -msgstr "Hata" - -#: src/components/forms/fields/RelatedModelField.tsx:305 +#: src/components/forms/fields/RelatedModelField.tsx:315 #: src/pages/Index/Settings/UserSettings.tsx:64 #: src/tables/Search.tsx:23 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:306 +#: src/components/forms/fields/RelatedModelField.tsx:316 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:120 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "Yükleniyor" -#: src/components/forms/fields/RelatedModelField.tsx:308 +#: src/components/forms/fields/RelatedModelField.tsx:318 msgid "No results found" msgstr "" @@ -569,54 +613,51 @@ msgstr "" msgid "Thumbnail" msgstr "Küçük resim" -#: src/components/items/ActionDropdown.tsx:112 -#: src/pages/build/BuildDetail.tsx:354 +#: src/components/items/ActionDropdown.tsx:119 +#: src/pages/build/BuildDetail.tsx:360 msgid "Barcode Actions" msgstr "" -#: src/components/items/ActionDropdown.tsx:129 +#: src/components/items/ActionDropdown.tsx:136 msgid "View" msgstr "" -#: src/components/items/ActionDropdown.tsx:130 +#: src/components/items/ActionDropdown.tsx:137 msgid "View barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:146 +#: src/components/items/ActionDropdown.tsx:153 msgid "Link Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:147 +#: src/components/items/ActionDropdown.tsx:154 msgid "Link custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:163 -#: src/forms/PurchaseOrderForms.tsx:375 +#: src/components/items/ActionDropdown.tsx:170 +#: src/forms/PurchaseOrderForms.tsx:389 msgid "Unlink Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:164 +#: src/components/items/ActionDropdown.tsx:171 msgid "Unlink custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:182 +#: src/components/items/ActionDropdown.tsx:189 #: src/tables/RowActions.tsx:51 -#: src/tables/settings/TemplateTable.tsx:87 -#: src/tables/settings/TemplateTable.tsx:150 -#: src/tables/settings/TemplateTable.tsx:287 msgid "Edit" msgstr "" -#: src/components/items/ActionDropdown.tsx:204 +#: src/components/items/ActionDropdown.tsx:211 msgid "Delete item" msgstr "" -#: src/components/items/ActionDropdown.tsx:241 +#: src/components/items/ActionDropdown.tsx:248 #: src/tables/RowActions.tsx:31 msgid "Duplicate" msgstr "" -#: src/components/items/ActionDropdown.tsx:242 +#: src/components/items/ActionDropdown.tsx:249 msgid "Duplicate item" msgstr "" @@ -625,7 +666,7 @@ msgid "Read More" msgstr "Devamını Oku" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:437 +#: src/tables/InvenTreeTable.tsx:443 msgid "Unknown error" msgstr "Bilinmeyen hata" @@ -785,27 +826,27 @@ msgstr "Durdurma sırasında hata" #: src/components/modals/QrCodeModal.tsx:154 #: src/defaults/menuItems.tsx:21 -#: src/pages/Index/Scan.tsx:747 +#: src/pages/Index/Scan.tsx:746 msgid "Scanning" msgstr "Taranıyor" #: src/components/modals/QrCodeModal.tsx:154 -#: src/pages/Index/Scan.tsx:747 +#: src/pages/Index/Scan.tsx:746 msgid "Not scanning" msgstr "Taranmıyor" #: src/components/modals/QrCodeModal.tsx:159 -#: src/pages/Index/Scan.tsx:753 +#: src/pages/Index/Scan.tsx:752 msgid "Select Camera" msgstr "Kamera Seç" #: src/components/modals/QrCodeModal.tsx:169 -#: src/pages/Index/Scan.tsx:738 +#: src/pages/Index/Scan.tsx:737 msgid "Start scanning" msgstr "Taramayı başlat" #: src/components/modals/QrCodeModal.tsx:176 -#: src/pages/Index/Scan.tsx:730 +#: src/pages/Index/Scan.tsx:729 msgid "Stop scanning" msgstr "Taramayı durdur" @@ -891,8 +932,8 @@ msgid "Email settings not configured" msgstr "" #: src/components/modals/ServerInfoModal.tsx:121 -#: src/tables/plugin/PluginListTable.tsx:187 -#: src/tables/plugin/PluginListTable.tsx:319 +#: src/tables/plugin/PluginListTable.tsx:144 +#: src/tables/plugin/PluginListTable.tsx:294 msgid "Version" msgstr "" @@ -926,13 +967,13 @@ msgstr "Hesap ayarları" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:293 +#: src/pages/Index/Settings/SystemSettings.tsx:294 msgid "System Settings" msgstr "" #: src/components/nav/MainMenu.tsx:67 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:172 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 msgid "Admin Center" msgstr "" @@ -975,7 +1016,7 @@ msgid "Pages" msgstr "Sayfalar" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:133 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:153 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "Eklentiler" @@ -1013,9 +1054,9 @@ msgid "Mark as read" msgstr "" #: src/components/nav/PartCategoryTree.tsx:158 -#: src/components/render/ModelType.tsx:60 +#: src/components/render/ModelType.tsx:64 #: src/pages/Index/Settings/SystemSettings.tsx:162 -#: src/pages/part/CategoryDetail.tsx:248 +#: src/pages/part/CategoryDetail.tsx:249 msgid "Part Categories" msgstr "Parça Kategorileri" @@ -1052,142 +1093,147 @@ msgid "No results available for search query" msgstr "Arama sorgusu için sonuç yok" #: src/components/nav/StockLocationTree.tsx:93 -#: src/components/render/ModelType.tsx:76 -#: src/pages/stock/LocationDetail.tsx:175 +#: src/components/render/ModelType.tsx:82 +#: src/pages/stock/LocationDetail.tsx:185 msgid "Stock Locations" msgstr "Stok Konumları" -#: src/components/render/Instance.tsx:137 +#: src/components/render/Instance.tsx:166 msgid "Unknown model: {model}" msgstr "" -#: src/components/render/ModelType.tsx:21 -#: src/forms/BuildForms.tsx:184 -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49 +#: src/components/render/ModelType.tsx:22 +#: src/forms/BuildForms.tsx:201 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:83 #: src/pages/part/PartDetail.tsx:828 #: src/tables/part/RelatedPartTable.tsx:45 +#: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" msgstr "Parça" -#: src/components/render/ModelType.tsx:22 +#: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 #: src/pages/Index/Settings/SystemSettings.tsx:167 -#: src/pages/part/CategoryDetail.tsx:109 -#: src/pages/part/CategoryDetail.tsx:234 -#: src/pages/part/CategoryDetail.tsx:264 -#: src/pages/part/PartDetail.tsx:638 +#: src/pages/part/CategoryDetail.tsx:110 +#: src/pages/part/CategoryDetail.tsx:235 +#: src/pages/part/CategoryDetail.tsx:265 +#: src/pages/part/PartDetail.tsx:639 msgid "Parts" msgstr "Parçalar" -#: src/components/render/ModelType.tsx:29 +#: src/components/render/ModelType.tsx:31 msgid "Part Parameter Template" msgstr "" -#: src/components/render/ModelType.tsx:30 +#: src/components/render/ModelType.tsx:32 msgid "Part Parameter Templates" msgstr "" -#: src/components/render/ModelType.tsx:36 +#: src/components/render/ModelType.tsx:38 msgid "Part Test Template" msgstr "" -#: src/components/render/ModelType.tsx:37 +#: src/components/render/ModelType.tsx:39 msgid "Part Test Templates" msgstr "" -#: src/components/render/ModelType.tsx:43 -#: src/pages/company/SupplierPartDetail.tsx:189 -#: src/pages/company/SupplierPartDetail.tsx:317 -#: src/pages/stock/StockDetail.tsx:159 +#: src/components/render/ModelType.tsx:45 +#: src/pages/company/SupplierPartDetail.tsx:190 +#: src/pages/company/SupplierPartDetail.tsx:318 +#: src/pages/stock/StockDetail.tsx:162 #: src/tables/purchasing/SupplierPartTable.tsx:68 msgid "Supplier Part" msgstr "" -#: src/components/render/ModelType.tsx:44 +#: src/components/render/ModelType.tsx:46 msgid "Supplier Parts" msgstr "Tedarikçi Parçaları" -#: src/components/render/ModelType.tsx:51 -#: src/pages/company/ManufacturerPartDetail.tsx:124 +#: src/components/render/ModelType.tsx:54 +#: src/pages/company/ManufacturerPartDetail.tsx:125 msgid "Manufacturer Part" msgstr "" -#: src/components/render/ModelType.tsx:52 +#: src/components/render/ModelType.tsx:55 msgid "Manufacturer Parts" msgstr "Üretici Parçaları" -#: src/components/render/ModelType.tsx:59 -#: src/pages/part/CategoryDetail.tsx:287 +#: src/components/render/ModelType.tsx:63 +#: src/pages/part/CategoryDetail.tsx:288 msgid "Part Category" msgstr "" -#: src/components/render/ModelType.tsx:67 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67 -#: src/pages/stock/StockDetail.tsx:535 +#: src/components/render/ModelType.tsx:72 +#: src/pages/stock/StockDetail.tsx:548 +#: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" msgstr "" -#: src/components/render/ModelType.tsx:68 -#: src/pages/company/CompanyDetail.tsx:197 -#: src/pages/stock/LocationDetail.tsx:116 -#: src/pages/stock/LocationDetail.tsx:161 +#: src/components/render/ModelType.tsx:73 +#: src/pages/company/CompanyDetail.tsx:199 +#: src/pages/stock/LocationDetail.tsx:118 +#: src/pages/stock/LocationDetail.tsx:171 #: src/pages/stock/LocationDetail.tsx:365 msgid "Stock Items" msgstr "Stok Kalemleri" -#: src/components/render/ModelType.tsx:75 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:154 +#: src/components/render/ModelType.tsx:81 msgid "Stock Location" msgstr "" -#: src/components/render/ModelType.tsx:83 +#: src/components/render/ModelType.tsx:90 +msgid "Stock Location Type" +msgstr "" + +#: src/components/render/ModelType.tsx:91 +msgid "Stock Location Types" +msgstr "" + +#: src/components/render/ModelType.tsx:95 msgid "Stock History" msgstr "" -#: src/components/render/ModelType.tsx:84 +#: src/components/render/ModelType.tsx:96 msgid "Stock Histories" msgstr "" -#: src/components/render/ModelType.tsx:88 +#: src/components/render/ModelType.tsx:100 #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:43 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:126 msgid "Build" msgstr "" -#: src/components/render/ModelType.tsx:89 +#: src/components/render/ModelType.tsx:101 msgid "Builds" msgstr "" -#: src/components/render/ModelType.tsx:96 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:76 +#: src/components/render/ModelType.tsx:109 msgid "Build Line" msgstr "" -#: src/components/render/ModelType.tsx:97 +#: src/components/render/ModelType.tsx:110 msgid "Build Lines" msgstr "" -#: src/components/render/ModelType.tsx:104 -#: src/pages/company/CompanyDetail.tsx:321 +#: src/components/render/ModelType.tsx:117 +#: src/pages/company/CompanyDetail.tsx:323 msgid "Company" msgstr "" -#: src/components/render/ModelType.tsx:105 +#: src/components/render/ModelType.tsx:118 msgid "Companies" msgstr "Şirketler" -#: src/components/render/ModelType.tsx:112 +#: src/components/render/ModelType.tsx:126 #: src/tables/TableHoverCard.tsx:58 #: src/tables/build/BuildOrderTable.tsx:131 #: src/tables/purchasing/PurchaseOrderTable.tsx:64 @@ -1196,170 +1242,199 @@ msgstr "Şirketler" msgid "Project Code" msgstr "Proje Kodu" -#: src/components/render/ModelType.tsx:113 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:97 +#: src/components/render/ModelType.tsx:127 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:105 msgid "Project Codes" msgstr "" -#: src/components/render/ModelType.tsx:119 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99 +#: src/components/render/ModelType.tsx:133 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:355 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:362 +#: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" msgstr "" -#: src/components/render/ModelType.tsx:120 -#: src/pages/Index/Settings/SystemSettings.tsx:242 -#: src/pages/company/CompanyDetail.tsx:190 -#: src/pages/company/SupplierPartDetail.tsx:223 -#: src/pages/part/PartDetail.tsx:571 +#: src/components/render/ModelType.tsx:134 +#: src/pages/Index/Settings/SystemSettings.tsx:243 +#: src/pages/company/CompanyDetail.tsx:192 +#: src/pages/company/SupplierPartDetail.tsx:224 +#: src/pages/part/PartDetail.tsx:572 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "Satın Alma Emirleri" -#: src/components/render/ModelType.tsx:127 +#: src/components/render/ModelType.tsx:142 msgid "Purchase Order Line" msgstr "" -#: src/components/render/ModelType.tsx:128 +#: src/components/render/ModelType.tsx:143 msgid "Purchase Order Lines" msgstr "" -#: src/components/render/ModelType.tsx:132 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:108 +#: src/components/render/ModelType.tsx:147 #: src/pages/build/BuildDetail.tsx:131 -#: src/pages/sales/SalesOrderDetail.tsx:340 -#: src/pages/stock/StockDetail.tsx:207 +#: src/pages/sales/SalesOrderDetail.tsx:347 +#: src/pages/stock/StockDetail.tsx:210 +#: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" msgstr "" -#: src/components/render/ModelType.tsx:133 -#: src/pages/Index/Settings/SystemSettings.tsx:257 -#: src/pages/company/CompanyDetail.tsx:210 -#: src/pages/part/PartDetail.tsx:577 +#: src/components/render/ModelType.tsx:148 +#: src/pages/Index/Settings/SystemSettings.tsx:258 +#: src/pages/company/CompanyDetail.tsx:212 +#: src/pages/part/PartDetail.tsx:578 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "Satış Emirleri" -#: src/components/render/ModelType.tsx:140 +#: src/components/render/ModelType.tsx:156 msgid "Sales Order Shipment" msgstr "" -#: src/components/render/ModelType.tsx:141 +#: src/components/render/ModelType.tsx:157 msgid "Sales Order Shipments" msgstr "" -#: src/components/render/ModelType.tsx:147 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:117 -#: src/pages/sales/ReturnOrderDetail.tsx:318 +#: src/components/render/ModelType.tsx:163 +#: src/pages/sales/ReturnOrderDetail.tsx:325 +#: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "" -#: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:272 -#: src/pages/company/CompanyDetail.tsx:217 +#: src/components/render/ModelType.tsx:164 +#: src/pages/Index/Settings/SystemSettings.tsx:273 +#: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" msgstr "İade Emirleri" -#: src/components/render/ModelType.tsx:155 +#: src/components/render/ModelType.tsx:172 #: src/tables/company/AddressTable.tsx:47 msgid "Address" msgstr "" -#: src/components/render/ModelType.tsx:156 -#: src/pages/company/CompanyDetail.tsx:247 +#: src/components/render/ModelType.tsx:173 +#: src/pages/company/CompanyDetail.tsx:249 msgid "Addresses" msgstr "" -#: src/components/render/ModelType.tsx:162 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:189 -#: src/pages/sales/ReturnOrderDetail.tsx:157 -#: src/pages/sales/SalesOrderDetail.tsx:161 +#: src/components/render/ModelType.tsx:179 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:191 +#: src/pages/sales/ReturnOrderDetail.tsx:159 +#: src/pages/sales/SalesOrderDetail.tsx:163 msgid "Contact" msgstr "" -#: src/components/render/ModelType.tsx:163 -#: src/pages/company/CompanyDetail.tsx:241 +#: src/components/render/ModelType.tsx:180 +#: src/pages/company/CompanyDetail.tsx:243 msgid "Contacts" msgstr "" -#: src/components/render/ModelType.tsx:169 +#: src/components/render/ModelType.tsx:186 msgid "Owner" msgstr "" -#: src/components/render/ModelType.tsx:170 +#: src/components/render/ModelType.tsx:187 msgid "Owners" msgstr "" -#: src/components/render/ModelType.tsx:176 +#: src/components/render/ModelType.tsx:193 +#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "Kullanıcı" -#: src/components/render/ModelType.tsx:177 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:73 +#: src/components/render/ModelType.tsx:194 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:81 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "" -#: src/components/render/Order.tsx:87 +#: src/components/render/ModelType.tsx:200 +msgid "Label Template" +msgstr "" + +#: src/components/render/ModelType.tsx:201 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:135 +msgid "Label Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:207 +msgid "Report Template" +msgstr "" + +#: src/components/render/ModelType.tsx:208 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:141 +msgid "Report Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:214 +msgid "Plugin Configuration" +msgstr "" + +#: src/components/render/ModelType.tsx:215 +msgid "Plugin Configurations" +msgstr "" + +#: src/components/render/Order.tsx:104 msgid "Shipment" msgstr "" -#: src/components/render/Part.tsx:12 +#: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:198 -#: src/pages/part/PartDetail.tsx:491 +#: src/pages/Index/Settings/SystemSettings.tsx:199 +#: src/pages/part/PartDetail.tsx:492 #: src/pages/stock/LocationDetail.tsx:344 -#: src/pages/stock/StockDetail.tsx:344 +#: src/pages/stock/StockDetail.tsx:352 #: src/tables/stock/StockItemTable.tsx:57 msgid "Stock" msgstr "Stok" -#: src/components/render/Stock.tsx:26 -#: src/pages/stock/StockDetail.tsx:142 -#: src/pages/stock/StockDetail.tsx:501 +#: src/components/render/Stock.tsx:52 +#: src/pages/stock/StockDetail.tsx:145 +#: src/pages/stock/StockDetail.tsx:514 msgid "Serial Number" msgstr "" -#: src/components/render/Stock.tsx:28 -#: src/forms/BuildForms.tsx:189 +#: src/components/render/Stock.tsx:54 +#: src/forms/BuildForms.tsx:206 #: src/pages/part/pricing/BomPricingPanel.tsx:144 -#: src/pages/part/pricing/PriceBreakPanel.tsx:96 -#: src/pages/stock/StockDetail.tsx:137 -#: src/pages/stock/StockDetail.tsx:507 +#: src/pages/part/pricing/PriceBreakPanel.tsx:94 +#: src/pages/stock/StockDetail.tsx:140 +#: src/pages/stock/StockDetail.tsx:520 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:73 +#: src/tables/stock/StockTrackingTable.tsx:59 msgid "Quantity" msgstr "Miktar" -#: src/components/settings/SettingItem.tsx:46 -#: src/components/settings/SettingItem.tsx:99 -msgid "Setting updated" -msgstr "" - #: src/components/settings/SettingItem.tsx:47 #: src/components/settings/SettingItem.tsx:100 -msgid "{0} updated successfully" -msgstr "" +#~ msgid "{0} updated successfully" +#~ msgstr "{0} updated successfully" -#: src/components/settings/SettingItem.tsx:55 -msgid "Error editing setting" -msgstr "" - -#: src/components/settings/SettingItem.tsx:92 +#: src/components/settings/SettingList.tsx:67 msgid "Edit Setting" msgstr "" -#: src/components/settings/SettingList.tsx:63 -msgid "No settings specified" +#: src/components/settings/SettingList.tsx:78 +#: src/components/settings/SettingList.tsx:108 +msgid "Setting {0} updated successfully" msgstr "" -#: src/components/tables/ColumnRenderers.tsx:134 -#~ msgid "Shipment Date" -#~ msgstr "Shipment Date" +#: src/components/settings/SettingList.tsx:107 +msgid "Setting updated" +msgstr "" + +#: src/components/settings/SettingList.tsx:117 +msgid "Error editing setting" +msgstr "" + +#: src/components/settings/SettingList.tsx:158 +msgid "No settings specified" +msgstr "" #: src/components/tables/FilterGroup.tsx:29 #~ msgid "Add table filter" @@ -1731,10 +1806,6 @@ msgstr "" #~ msgid "This is a test filter" #~ msgstr "This is a test filter" -#: src/components/tables/stock/StockLocationTable.tsx:91 -#~ msgid "Location Type" -#~ msgstr "Location Type" - #: src/components/tables/stock/StockLocationTable.tsx:145 #~ msgid "Stock location updated" #~ msgstr "Stock location updated" @@ -2072,7 +2143,7 @@ msgstr "Güncel Haberler" #~ msgstr "Local Server" #: src/defaults/links.tsx:11 -#: src/pages/company/CompanyDetail.tsx:90 +#: src/pages/company/CompanyDetail.tsx:92 msgid "Website" msgstr "Web Sitesi" @@ -2087,10 +2158,10 @@ msgstr "Demo" #: src/defaults/links.tsx:31 #: src/defaults/menuItems.tsx:48 #: src/pages/company/ManufacturerDetail.tsx:9 -#: src/pages/company/ManufacturerPartDetail.tsx:231 +#: src/pages/company/ManufacturerPartDetail.tsx:235 #: src/pages/company/SupplierDetail.tsx:9 -#: src/pages/company/SupplierPartDetail.tsx:291 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:358 +#: src/pages/company/SupplierPartDetail.tsx:292 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:365 #: src/pages/purchasing/PurchasingIndex.tsx:52 msgid "Purchasing" msgstr "" @@ -2098,15 +2169,15 @@ msgstr "" #: src/defaults/links.tsx:32 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:323 +#: src/pages/sales/ReturnOrderDetail.tsx:330 #: src/pages/sales/SalesIndex.tsx:45 -#: src/pages/sales/SalesOrderDetail.tsx:345 +#: src/pages/sales/SalesOrderDetail.tsx:352 msgid "Sales" msgstr "" #: src/defaults/links.tsx:35 #: src/defaults/menuItems.tsx:71 -#: src/pages/Index/Playground.tsx:239 +#: src/pages/Index/Playground.tsx:238 msgid "Playground" msgstr "" @@ -2240,87 +2311,83 @@ msgstr "" #~ msgstr "Combusken battles with the intensely hot flames it spews" #: src/forms/AttachmentForms.tsx:57 -msgid "Add File" -msgstr "" +#~ msgid "Add File" +#~ msgstr "Add File" #: src/forms/AttachmentForms.tsx:57 -msgid "Add Link" -msgstr "" +#~ msgid "Add Link" +#~ msgstr "Add Link" #: src/forms/AttachmentForms.tsx:58 -msgid "File added" -msgstr "" +#~ msgid "File added" +#~ msgstr "File added" #: src/forms/AttachmentForms.tsx:58 -msgid "Link added" -msgstr "" +#~ msgid "Link added" +#~ msgstr "Link added" #: src/forms/AttachmentForms.tsx:99 -msgid "Edit File" -msgstr "" +#~ msgid "Edit File" +#~ msgstr "Edit File" #: src/forms/AttachmentForms.tsx:99 -msgid "Edit Link" -msgstr "" +#~ msgid "Edit Link" +#~ msgstr "Edit Link" #: src/forms/AttachmentForms.tsx:100 -msgid "File updated" -msgstr "" +#~ msgid "File updated" +#~ msgstr "File updated" #: src/forms/AttachmentForms.tsx:100 -msgid "Link updated" -msgstr "" - -#: src/forms/AttachmentForms.tsx:124 -msgid "Delete Attachment" -msgstr "" +#~ msgid "Link updated" +#~ msgstr "Link updated" #: src/forms/AttachmentForms.tsx:125 -msgid "Attachment deleted" -msgstr "" +#~ msgid "Attachment deleted" +#~ msgstr "Attachment deleted" #: src/forms/AttachmentForms.tsx:128 -msgid "Are you sure you want to delete this attachment?" -msgstr "" +#~ msgid "Are you sure you want to delete this attachment?" +#~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BuildForms.tsx:129 +#: src/forms/BuildForms.tsx:146 msgid "Next serial number" msgstr "" -#: src/forms/BuildForms.tsx:133 +#: src/forms/BuildForms.tsx:150 msgid "Latest serial number" msgstr "" -#: src/forms/BuildForms.tsx:205 +#: src/forms/BuildForms.tsx:222 msgid "Remove output" msgstr "" -#: src/forms/BuildForms.tsx:287 +#: src/forms/BuildForms.tsx:304 msgid "Complete Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:291 +#: src/forms/BuildForms.tsx:308 msgid "Build outputs have been completed" msgstr "" -#: src/forms/BuildForms.tsx:360 +#: src/forms/BuildForms.tsx:377 msgid "Scrap Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:364 +#: src/forms/BuildForms.tsx:381 msgid "Build outputs have been scrapped" msgstr "" -#: src/forms/BuildForms.tsx:396 -#: src/forms/BuildForms.tsx:420 +#: src/forms/BuildForms.tsx:413 +#: src/forms/BuildForms.tsx:437 msgid "Cancel Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:397 +#: src/forms/BuildForms.tsx:414 msgid "Selected build outputs will be deleted" msgstr "" -#: src/forms/BuildForms.tsx:424 +#: src/forms/BuildForms.tsx:441 msgid "Build outputs have been cancelled" msgstr "" @@ -2344,76 +2411,76 @@ msgstr "" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PurchaseOrderForms.tsx:265 +#: src/forms/PurchaseOrderForms.tsx:279 msgid "Choose Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:273 +#: src/forms/PurchaseOrderForms.tsx:287 msgid "Item Destination selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:282 +#: src/forms/PurchaseOrderForms.tsx:296 msgid "Part category default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:292 +#: src/forms/PurchaseOrderForms.tsx:306 msgid "Received stock location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:297 +#: src/forms/PurchaseOrderForms.tsx:311 msgid "Default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:308 -#: src/forms/PurchaseOrderForms.tsx:384 +#: src/forms/PurchaseOrderForms.tsx:322 +#: src/forms/PurchaseOrderForms.tsx:398 msgid "Scan Barcode" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:352 +#: src/forms/PurchaseOrderForms.tsx:366 msgid "Set Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:359 +#: src/forms/PurchaseOrderForms.tsx:373 msgid "Assign Batch Code{0}" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:368 +#: src/forms/PurchaseOrderForms.tsx:382 msgid "Change Status" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:393 -#: src/forms/StockForms.tsx:351 +#: src/forms/PurchaseOrderForms.tsx:407 +#: src/forms/StockForms.tsx:392 msgid "Remove item from list" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:418 -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:58 -#: src/pages/stock/StockDetail.tsx:167 -#: src/tables/ColumnRenderers.tsx:42 +#: src/forms/PurchaseOrderForms.tsx:432 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/pages/stock/StockDetail.tsx:170 +#: src/tables/ColumnRenderers.tsx:34 +#: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:434 +#: src/forms/PurchaseOrderForms.tsx:448 msgid "Store at default location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:447 +#: src/forms/PurchaseOrderForms.tsx:461 msgid "Store at line item destination" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:457 +#: src/forms/PurchaseOrderForms.tsx:471 msgid "Store with already received stock" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:613 +#: src/forms/PurchaseOrderForms.tsx:627 msgid "Receive Line Items" msgstr "" @@ -2421,119 +2488,118 @@ msgstr "" #~ msgid "Receive line items" #~ msgstr "Receive line items" -#: src/forms/StockForms.tsx:69 +#: src/forms/StockForms.tsx:101 msgid "Add given quantity as packs instead of individual items" msgstr "" -#: src/forms/StockForms.tsx:80 -msgid "Enter initial quantity for this stock item" -msgstr "" - -#: src/forms/StockForms.tsx:85 -msgid "Serial Numbers" -msgstr "" - -#: src/forms/StockForms.tsx:86 -msgid "Enter serial numbers for new stock (or leave blank)" -msgstr "" - #: src/forms/StockForms.tsx:110 #~ msgid "Create Stock Item" #~ msgstr "Create Stock Item" -#: src/forms/StockForms.tsx:135 -#: src/pages/stock/StockDetail.tsx:367 -#: src/tables/stock/StockItemTable.tsx:382 -#: src/tables/stock/StockItemTable.tsx:499 -msgid "Add Stock Item" +#: src/forms/StockForms.tsx:114 +msgid "Enter initial quantity for this stock item" +msgstr "" + +#: src/forms/StockForms.tsx:121 +msgid "Serial Numbers" +msgstr "" + +#: src/forms/StockForms.tsx:122 +msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" #: src/forms/StockForms.tsx:158 #~ msgid "Stock item updated" #~ msgstr "Stock item updated" -#: src/forms/StockForms.tsx:298 +#: src/forms/StockForms.tsx:176 +#: src/pages/stock/StockDetail.tsx:375 +#: src/tables/stock/StockItemTable.tsx:382 +#: src/tables/stock/StockItemTable.tsx:499 +msgid "Add Stock Item" +msgstr "" + +#: src/forms/StockForms.tsx:339 msgid "Loading..." msgstr "" -#: src/forms/StockForms.tsx:340 +#: src/forms/StockForms.tsx:381 msgid "Move to default location" msgstr "" -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/part/PartDetail.tsx:205 -#: src/pages/part/PartDetail.tsx:654 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/pages/part/PartDetail.tsx:206 +#: src/pages/part/PartDetail.tsx:655 #: src/tables/stock/StockItemTable.tsx:290 msgid "In Stock" msgstr "" -#: src/forms/StockForms.tsx:408 +#: src/forms/StockForms.tsx:449 msgid "Move" msgstr "" -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/tables/RowActions.tsx:147 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/tables/RowActions.tsx:149 msgid "Actions" msgstr "Eylemler" -#: src/forms/StockForms.tsx:471 -#: src/pages/stock/StockDetail.tsx:440 -#: src/tables/settings/TemplateTable.tsx:266 -#: src/tables/stock/StockItemTestResultTable.tsx:348 +#: src/forms/StockForms.tsx:512 +#: src/pages/stock/StockDetail.tsx:454 +#: src/tables/stock/StockItemTestResultTable.tsx:339 msgid "Add" msgstr "" -#: src/forms/StockForms.tsx:499 +#: src/forms/StockForms.tsx:540 #: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:430 +#: src/pages/stock/StockDetail.tsx:444 msgid "Count" msgstr "" -#: src/forms/StockForms.tsx:744 +#: src/forms/StockForms.tsx:785 msgid "Add Stock" msgstr "" -#: src/forms/StockForms.tsx:753 +#: src/forms/StockForms.tsx:794 msgid "Remove Stock" msgstr "" -#: src/forms/StockForms.tsx:762 -#: src/pages/part/PartDetail.tsx:781 +#: src/forms/StockForms.tsx:803 +#: src/pages/part/PartDetail.tsx:782 msgid "Transfer Stock" msgstr "" -#: src/forms/StockForms.tsx:771 -#: src/pages/part/PartDetail.tsx:770 +#: src/forms/StockForms.tsx:812 +#: src/pages/part/PartDetail.tsx:771 msgid "Count Stock" msgstr "" -#: src/forms/StockForms.tsx:780 +#: src/forms/StockForms.tsx:821 msgid "Change Stock Status" msgstr "" -#: src/forms/StockForms.tsx:789 +#: src/forms/StockForms.tsx:830 msgid "Merge Stock" msgstr "" -#: src/forms/StockForms.tsx:808 +#: src/forms/StockForms.tsx:849 msgid "Delete Stock Items" msgstr "" -#: src/forms/StockForms.tsx:815 +#: src/forms/StockForms.tsx:856 msgid "Parent stock location" msgstr "" @@ -2728,7 +2794,7 @@ msgstr "" msgid "Welcome to your Dashboard{0}" msgstr "" -#: src/pages/Index/Playground.tsx:244 +#: src/pages/Index/Playground.tsx:243 msgid "This page is a showcase for the possibilities of Platform UI." msgstr "" @@ -3138,49 +3204,53 @@ msgstr "Yükleyici" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:79 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:87 msgid "Background Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:85 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:93 msgid "Error Reports" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:91 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:99 msgid "Currencies" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:109 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:117 msgid "Custom Units" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:115 -#: src/pages/part/CategoryDetail.tsx:254 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:123 +#: src/pages/part/CategoryDetail.tsx:255 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:121 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 +#~ msgid "Templates" +#~ msgstr "Templates" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:129 msgid "Category Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 -msgid "Templates" +#: src/pages/Index/Settings/AdminCenter/Index.tsx:147 +msgid "Location types" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:139 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:159 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:149 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:169 msgid "Quick Actions" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:154 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 msgid "Add a new user" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:173 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:193 msgid "Advanced Options" msgstr "" @@ -3225,26 +3295,32 @@ msgstr "" msgid "Plugin Settings" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:25 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:53 +msgid "Background Worker Not Running" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:54 +msgid "The background task manager service is not running. Contact your system administrator." +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:60 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:76 msgid "Pending Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:33 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:64 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:84 msgid "Scheduled Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:41 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:68 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:92 msgid "Failed Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:139 -msgid "Labels" -msgstr "" - #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:39 -msgid "Label" -msgstr "" +#~ msgid "Label" +#~ msgstr "Label" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67 #~ msgid "Stock item" @@ -3255,13 +3331,13 @@ msgstr "" #~ msgstr "Build line" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:88 -msgid "Reports" -msgstr "" +#~ msgid "Reports" +#~ msgstr "Reports" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:89 #: src/pages/build/BuildDetail.tsx:373 -msgid "Report" -msgstr "" +#~ msgid "Report" +#~ msgstr "Report" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99 #~ msgid "Purchase order" @@ -3275,14 +3351,9 @@ msgstr "" #~ msgid "Return order" #~ msgstr "Return order" -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135 -#: src/pages/part/PartDetail.tsx:518 -msgid "Bill of Materials" -msgstr "" - #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:145 -msgid "Tests" -msgstr "" +#~ msgid "Tests" +#~ msgstr "Tests" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:154 #~ msgid "Stock location" @@ -3321,26 +3392,30 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" +#: src/pages/Index/Settings/SystemSettings.tsx:139 +msgid "Labels" +msgstr "" + #: src/pages/Index/Settings/SystemSettings.tsx:145 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:223 -#: src/pages/part/PartDetail.tsx:589 +#: src/pages/Index/Settings/SystemSettings.tsx:224 +#: src/pages/part/PartDetail.tsx:590 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:228 -#: src/pages/build/BuildDetail.tsx:426 +#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:525 -#: src/pages/sales/SalesOrderDetail.tsx:263 +#: src/pages/part/PartDetail.tsx:526 +#: src/pages/sales/SalesOrderDetail.tsx:265 msgid "Build Orders" msgstr "Yapım İşi Emirleri" -#: src/pages/Index/Settings/SystemSettings.tsx:296 +#: src/pages/Index/Settings/SystemSettings.tsx:297 msgid "Switch to User Setting" msgstr "" @@ -3397,44 +3472,47 @@ msgstr "" #~ msgstr "Build Status" #: src/pages/build/BuildDetail.tsx:89 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:128 -#: src/pages/sales/ReturnOrderDetail.tsx:95 -#: src/pages/sales/SalesOrderDetail.tsx:99 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:130 +#: src/pages/sales/ReturnOrderDetail.tsx:97 +#: src/pages/sales/SalesOrderDetail.tsx:101 #: src/tables/build/BuildOrderTable.tsx:113 #: src/tables/machine/MachineListTable.tsx:326 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderTable.tsx:46 #: src/tables/sales/SalesOrderTable.tsx:52 #: src/tables/stock/StockItemTable.tsx:259 +#: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "Durum" #: src/pages/build/BuildDetail.tsx:95 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:101 -#: src/pages/sales/ReturnOrderDetail.tsx:69 -#: src/pages/sales/SalesOrderDetail.tsx:73 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:103 +#: src/pages/sales/ReturnOrderDetail.tsx:71 +#: src/pages/sales/SalesOrderDetail.tsx:75 +#: src/tables/ColumnRenderers.tsx:106 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" msgstr "" #: src/pages/build/BuildDetail.tsx:100 -#: src/pages/company/CompanyDetail.tsx:84 -#: src/pages/company/ManufacturerPartDetail.tsx:75 -#: src/pages/company/SupplierPartDetail.tsx:82 -#: src/pages/part/CategoryDetail.tsx:91 -#: src/pages/part/PartDetail.tsx:132 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:122 -#: src/pages/sales/ReturnOrderDetail.tsx:89 -#: src/pages/sales/SalesOrderDetail.tsx:93 -#: src/pages/stock/LocationDetail.tsx:97 -#: src/tables/ColumnRenderers.tsx:95 +#: src/pages/company/CompanyDetail.tsx:86 +#: src/pages/company/ManufacturerPartDetail.tsx:76 +#: src/pages/company/SupplierPartDetail.tsx:83 +#: src/pages/part/CategoryDetail.tsx:92 +#: src/pages/part/PartDetail.tsx:133 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:124 +#: src/pages/sales/ReturnOrderDetail.tsx:91 +#: src/pages/sales/SalesOrderDetail.tsx:95 +#: src/pages/stock/LocationDetail.tsx:99 +#: src/tables/ColumnRenderers.tsx:66 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 #: src/tables/machine/MachineTypeTable.tsx:323 #: src/tables/part/RelatedPartTable.tsx:64 -#: src/tables/plugin/PluginListTable.tsx:172 -#: src/tables/plugin/PluginListTable.tsx:302 +#: src/tables/plugin/PluginListTable.tsx:129 +#: src/tables/plugin/PluginListTable.tsx:276 +#: src/tables/stock/LocationTypesTable.tsx:65 msgid "Description" msgstr "Açıklama" @@ -3447,7 +3525,7 @@ msgid "Build Quantity" msgstr "" #: src/pages/build/BuildDetail.tsx:126 -#: src/pages/build/BuildDetail.tsx:249 +#: src/pages/build/BuildDetail.tsx:256 msgid "Completed Outputs" msgstr "" @@ -3457,10 +3535,10 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:150 -#: src/pages/part/PartDetail.tsx:320 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:214 -#: src/pages/sales/ReturnOrderDetail.tsx:182 -#: src/pages/sales/SalesOrderDetail.tsx:186 +#: src/pages/part/PartDetail.tsx:321 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:184 +#: src/pages/sales/SalesOrderDetail.tsx:188 #: src/tables/build/BuildOrderTable.tsx:148 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 @@ -3474,10 +3552,10 @@ msgid "Created" msgstr "" #: src/pages/build/BuildDetail.tsx:164 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:207 -#: src/pages/sales/ReturnOrderDetail.tsx:175 -#: src/pages/sales/SalesOrderDetail.tsx:179 -#: src/tables/ColumnRenderers.tsx:227 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:209 +#: src/pages/sales/ReturnOrderDetail.tsx:177 +#: src/pages/sales/SalesOrderDetail.tsx:181 +#: src/tables/ColumnRenderers.tsx:191 msgid "Target Date" msgstr "" @@ -3513,6 +3591,11 @@ msgstr "" #~ msgid "Unlink custom barcode from part" #~ msgstr "Unlink custom barcode from part" +#: src/pages/build/BuildDetail.tsx:197 +#: src/pages/stock/StockDetail.tsx:526 +msgid "Batch Code" +msgstr "" + #: src/pages/build/BuildDetail.tsx:202 #~ msgid "Build Order updated" #~ msgstr "Build Order updated" @@ -3521,86 +3604,87 @@ msgstr "" #~ msgid "Edit build order" #~ msgstr "Edit build order" -#: src/pages/build/BuildDetail.tsx:222 -msgid "Build Details" -msgstr "" - #: src/pages/build/BuildDetail.tsx:226 #~ msgid "Duplicate build order" #~ msgstr "Duplicate build order" -#: src/pages/build/BuildDetail.tsx:228 -#: src/tables/build/BuildLineTable.tsx:225 -msgid "Allocate Stock" +#: src/pages/build/BuildDetail.tsx:229 +msgid "Build Details" msgstr "" #: src/pages/build/BuildDetail.tsx:231 #~ msgid "Delete build order" #~ msgstr "Delete build order" -#: src/pages/build/BuildDetail.tsx:242 +#: src/pages/build/BuildDetail.tsx:235 +#: src/tables/build/BuildLineTable.tsx:225 +msgid "Allocate Stock" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:249 msgid "Incomplete Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:264 +#: src/pages/build/BuildDetail.tsx:271 msgid "Consumed Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:278 +#: src/pages/build/BuildDetail.tsx:285 msgid "Child Build Orders" msgstr "" -#: src/pages/build/BuildDetail.tsx:288 -#: src/pages/company/CompanyDetail.tsx:253 -#: src/pages/company/ManufacturerPartDetail.tsx:171 -#: src/pages/part/PartDetail.tsx:611 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:276 -#: src/pages/sales/ReturnOrderDetail.tsx:225 -#: src/pages/sales/SalesOrderDetail.tsx:273 -#: src/pages/stock/StockDetail.tsx:317 +#: src/pages/build/BuildDetail.tsx:295 +#: src/pages/company/CompanyDetail.tsx:255 +#: src/pages/company/ManufacturerPartDetail.tsx:172 +#: src/pages/part/PartDetail.tsx:612 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:278 +#: src/pages/sales/ReturnOrderDetail.tsx:227 +#: src/pages/sales/SalesOrderDetail.tsx:275 +#: src/pages/stock/StockDetail.tsx:325 msgid "Attachments" msgstr "" -#: src/pages/build/BuildDetail.tsx:300 -#: src/pages/company/CompanyDetail.tsx:265 -#: src/pages/part/PartDetail.tsx:623 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:288 -#: src/pages/sales/ReturnOrderDetail.tsx:237 -#: src/pages/sales/SalesOrderDetail.tsx:285 -#: src/pages/stock/StockDetail.tsx:329 +#: src/pages/build/BuildDetail.tsx:307 +#: src/pages/company/CompanyDetail.tsx:267 +#: src/pages/part/PartDetail.tsx:624 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:290 +#: src/pages/sales/ReturnOrderDetail.tsx:239 +#: src/pages/sales/SalesOrderDetail.tsx:287 +#: src/pages/stock/StockDetail.tsx:337 +#: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "" -#: src/pages/build/BuildDetail.tsx:318 +#: src/pages/build/BuildDetail.tsx:325 msgid "Edit Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:327 +#: src/pages/build/BuildDetail.tsx:334 msgid "Cancel Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:339 +#: src/pages/build/BuildDetail.tsx:346 #: src/tables/build/BuildOrderTable.tsx:167 #: src/tables/build/BuildOrderTable.tsx:182 msgid "Add Build Order" msgstr "" #: src/pages/build/BuildDetail.tsx:368 -msgid "Reporting Actions" -msgstr "" +#~ msgid "Reporting Actions" +#~ msgstr "Reporting Actions" #: src/pages/build/BuildDetail.tsx:374 -msgid "Print build report" -msgstr "" +#~ msgid "Print build report" +#~ msgstr "Print build report" -#: src/pages/build/BuildDetail.tsx:380 +#: src/pages/build/BuildDetail.tsx:378 msgid "Build Order Actions" msgstr "" -#: src/pages/build/BuildDetail.tsx:388 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:326 -#: src/pages/sales/ReturnOrderDetail.tsx:300 -#: src/pages/sales/SalesOrderDetail.tsx:310 +#: src/pages/build/BuildDetail.tsx:386 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:333 +#: src/pages/sales/ReturnOrderDetail.tsx:307 +#: src/pages/sales/SalesOrderDetail.tsx:317 msgid "Cancel order" msgstr "" @@ -3612,56 +3696,58 @@ msgstr "" #~ msgid "New Build Order" #~ msgstr "New Build Order" -#: src/pages/company/CompanyDetail.tsx:98 +#: src/pages/company/CompanyDetail.tsx:100 msgid "Phone Number" msgstr "" -#: src/pages/company/CompanyDetail.tsx:105 +#: src/pages/company/CompanyDetail.tsx:107 msgid "Email Address" msgstr "" -#: src/pages/company/CompanyDetail.tsx:115 +#: src/pages/company/CompanyDetail.tsx:117 msgid "Default Currency" msgstr "" -#: src/pages/company/CompanyDetail.tsx:120 +#: src/pages/company/CompanyDetail.tsx:122 #: src/pages/company/SupplierDetail.tsx:8 -#: src/pages/company/SupplierPartDetail.tsx:106 -#: src/pages/company/SupplierPartDetail.tsx:192 -#: src/pages/company/SupplierPartDetail.tsx:295 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:116 +#: src/pages/company/SupplierPartDetail.tsx:107 +#: src/pages/company/SupplierPartDetail.tsx:193 +#: src/pages/company/SupplierPartDetail.tsx:296 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:118 #: src/tables/company/CompanyTable.tsx:100 #: src/tables/purchasing/PurchaseOrderTable.tsx:88 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:36 msgid "Supplier" msgstr "" -#: src/pages/company/CompanyDetail.tsx:126 +#: src/pages/company/CompanyDetail.tsx:128 #: src/pages/company/ManufacturerDetail.tsx:8 -#: src/pages/company/ManufacturerPartDetail.tsx:93 -#: src/pages/company/ManufacturerPartDetail.tsx:235 -#: src/pages/company/SupplierPartDetail.tsx:121 +#: src/pages/company/ManufacturerPartDetail.tsx:94 +#: src/pages/company/ManufacturerPartDetail.tsx:239 +#: src/pages/company/SupplierPartDetail.tsx:122 #: src/tables/company/CompanyTable.tsx:105 msgid "Manufacturer" msgstr "" -#: src/pages/company/CompanyDetail.tsx:132 +#: src/pages/company/CompanyDetail.tsx:134 #: src/pages/company/CustomerDetail.tsx:8 #: src/pages/part/pricing/SaleHistoryPanel.tsx:39 -#: src/pages/sales/ReturnOrderDetail.tsx:83 -#: src/pages/sales/SalesOrderDetail.tsx:87 -#: src/pages/stock/StockDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:85 +#: src/pages/sales/SalesOrderDetail.tsx:89 +#: src/pages/stock/StockDetail.tsx:219 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:107 +#: src/tables/stock/StockTrackingTable.tsx:140 msgid "Customer" msgstr "" -#: src/pages/company/CompanyDetail.tsx:166 +#: src/pages/company/CompanyDetail.tsx:168 +#: src/tables/stock/StockTrackingTable.tsx:183 msgid "Details" msgstr "" -#: src/pages/company/CompanyDetail.tsx:172 +#: src/pages/company/CompanyDetail.tsx:174 msgid "Manufactured Parts" msgstr "" @@ -3669,7 +3755,7 @@ msgstr "" #~ msgid "Edit company" #~ msgstr "Edit company" -#: src/pages/company/CompanyDetail.tsx:181 +#: src/pages/company/CompanyDetail.tsx:183 msgid "Supplied Parts" msgstr "" @@ -3677,289 +3763,289 @@ msgstr "" #~ msgid "Delete company" #~ msgstr "Delete company" -#: src/pages/company/CompanyDetail.tsx:226 +#: src/pages/company/CompanyDetail.tsx:228 msgid "Assigned Stock" msgstr "" -#: src/pages/company/CompanyDetail.tsx:281 +#: src/pages/company/CompanyDetail.tsx:283 #: src/tables/company/CompanyTable.tsx:86 msgid "Edit Company" msgstr "" -#: src/pages/company/CompanyDetail.tsx:290 +#: src/pages/company/CompanyDetail.tsx:292 msgid "Company Actions" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:68 -#: src/pages/company/SupplierPartDetail.tsx:75 +#: src/pages/company/ManufacturerPartDetail.tsx:69 +#: src/pages/company/SupplierPartDetail.tsx:76 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:72 msgid "Internal Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:83 -#: src/pages/company/SupplierPartDetail.tsx:89 +#: src/pages/company/ManufacturerPartDetail.tsx:84 +#: src/pages/company/SupplierPartDetail.tsx:90 msgid "External Link" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:101 -#: src/pages/company/SupplierPartDetail.tsx:130 -#: src/tables/purchasing/ManufacturerPartTable.tsx:53 +#: src/pages/company/ManufacturerPartDetail.tsx:102 +#: src/pages/company/SupplierPartDetail.tsx:131 +#: src/tables/purchasing/ManufacturerPartTable.tsx:56 msgid "Manufacturer Part Number" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:130 +#: src/pages/company/ManufacturerPartDetail.tsx:131 msgid "Manufacturer Details" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:139 +#: src/pages/company/ManufacturerPartDetail.tsx:140 msgid "Manufacturer Part Details" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:145 -#: src/pages/part/PartDetail.tsx:485 +#: src/pages/company/ManufacturerPartDetail.tsx:146 +#: src/pages/part/PartDetail.tsx:486 msgid "Parameters" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:157 -#: src/pages/part/PartDetail.tsx:558 +#: src/pages/company/ManufacturerPartDetail.tsx:158 +#: src/pages/part/PartDetail.tsx:559 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:189 -#: src/tables/purchasing/ManufacturerPartTable.tsx:97 +#: src/pages/company/ManufacturerPartDetail.tsx:190 +#: src/tables/purchasing/ManufacturerPartTable.tsx:84 msgid "Edit Manufacturer Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:196 -#: src/tables/purchasing/ManufacturerPartTable.tsx:63 -#: src/tables/purchasing/ManufacturerPartTable.tsx:78 +#: src/pages/company/ManufacturerPartDetail.tsx:197 +#: src/tables/purchasing/ManufacturerPartTable.tsx:72 +#: src/tables/purchasing/ManufacturerPartTable.tsx:103 msgid "Add Manufacturer Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:209 +#: src/pages/company/ManufacturerPartDetail.tsx:213 msgid "Manufacturer Part Actions" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:247 +#: src/pages/company/ManufacturerPartDetail.tsx:251 msgid "ManufacturerPart" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:96 -#: src/tables/ColumnRenderers.tsx:146 +#: src/pages/company/SupplierPartDetail.tsx:97 +#: src/tables/ColumnRenderers.tsx:117 msgid "Note" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:114 +#: src/pages/company/SupplierPartDetail.tsx:115 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:57 msgid "SKU" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:142 -#: src/pages/company/SupplierPartDetail.tsx:193 -#: src/pages/stock/StockDetail.tsx:230 +#: src/pages/company/SupplierPartDetail.tsx:143 +#: src/pages/company/SupplierPartDetail.tsx:194 +#: src/pages/stock/StockDetail.tsx:233 msgid "Packaging" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:149 +#: src/pages/company/SupplierPartDetail.tsx:150 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:107 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143 #: src/tables/purchasing/SupplierPartTable.tsx:131 msgid "Pack Quantity" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:160 +#: src/pages/company/SupplierPartDetail.tsx:161 msgid "Supplier Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:167 +#: src/pages/company/SupplierPartDetail.tsx:168 msgid "Availability Updated" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:194 +#: src/pages/company/SupplierPartDetail.tsx:195 msgid "Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:203 +#: src/pages/company/SupplierPartDetail.tsx:204 msgid "Supplier Part Details" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:209 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:263 +#: src/pages/company/SupplierPartDetail.tsx:210 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:265 msgid "Received Stock" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:233 +#: src/pages/company/SupplierPartDetail.tsx:234 #: src/pages/part/PartPricingPanel.tsx:115 #: src/pages/part/pricing/PricingOverviewPanel.tsx:130 msgid "Supplier Pricing" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:248 +#: src/pages/company/SupplierPartDetail.tsx:249 msgid "Supplier Part Actions" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:272 +#: src/pages/company/SupplierPartDetail.tsx:273 #: src/tables/purchasing/SupplierPartTable.tsx:210 msgid "Edit Supplier Part" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:279 +#: src/pages/company/SupplierPartDetail.tsx:280 #: src/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "" -#: src/pages/part/CategoryDetail.tsx:83 -#: src/pages/stock/LocationDetail.tsx:89 +#: src/pages/part/CategoryDetail.tsx:84 +#: src/pages/stock/LocationDetail.tsx:91 #: src/tables/settings/ErrorTable.tsx:34 msgid "Path" msgstr "" -#: src/pages/part/CategoryDetail.tsx:99 +#: src/pages/part/CategoryDetail.tsx:100 msgid "Parent Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:116 +#: src/pages/part/CategoryDetail.tsx:117 msgid "Subcategories" msgstr "" -#: src/pages/part/CategoryDetail.tsx:123 -#: src/pages/stock/LocationDetail.tsx:129 -#: src/tables/part/PartCategoryTable.tsx:69 +#: src/pages/part/CategoryDetail.tsx:124 +#: src/pages/stock/LocationDetail.tsx:131 +#: src/tables/part/PartCategoryTable.tsx:65 msgid "Structural" msgstr "" -#: src/pages/part/CategoryDetail.tsx:129 +#: src/pages/part/CategoryDetail.tsx:130 msgid "Parent default location" msgstr "" -#: src/pages/part/CategoryDetail.tsx:136 +#: src/pages/part/CategoryDetail.tsx:137 msgid "Default location" msgstr "" -#: src/pages/part/CategoryDetail.tsx:147 +#: src/pages/part/CategoryDetail.tsx:148 msgid "Top level part category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:157 -#: src/pages/part/CategoryDetail.tsx:211 -#: src/tables/part/PartCategoryTable.tsx:96 +#: src/pages/part/CategoryDetail.tsx:158 +#: src/pages/part/CategoryDetail.tsx:212 +#: src/tables/part/PartCategoryTable.tsx:88 msgid "Edit Part Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:170 -#: src/pages/stock/LocationDetail.tsx:213 +#: src/pages/part/CategoryDetail.tsx:171 +#: src/pages/stock/LocationDetail.tsx:223 msgid "Delete items" msgstr "" -#: src/pages/part/CategoryDetail.tsx:178 -#: src/pages/part/CategoryDetail.tsx:216 +#: src/pages/part/CategoryDetail.tsx:179 +#: src/pages/part/CategoryDetail.tsx:217 msgid "Delete Part Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:181 +#: src/pages/part/CategoryDetail.tsx:182 msgid "Parts Action" msgstr "" -#: src/pages/part/CategoryDetail.tsx:182 +#: src/pages/part/CategoryDetail.tsx:183 msgid "Action for parts in this category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:187 +#: src/pages/part/CategoryDetail.tsx:188 msgid "Child Categories Action" msgstr "" -#: src/pages/part/CategoryDetail.tsx:188 +#: src/pages/part/CategoryDetail.tsx:189 msgid "Action for child categories in this category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:206 +#: src/pages/part/CategoryDetail.tsx:207 msgid "Category Actions" msgstr "" -#: src/pages/part/CategoryDetail.tsx:228 +#: src/pages/part/CategoryDetail.tsx:229 msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:138 +#: src/pages/part/PartDetail.tsx:139 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:145 +#: src/pages/part/PartDetail.tsx:146 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "Kategori" -#: src/pages/part/PartDetail.tsx:151 +#: src/pages/part/PartDetail.tsx:152 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:158 +#: src/pages/part/PartDetail.tsx:159 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:165 +#: src/pages/part/PartDetail.tsx:166 msgid "IPN" msgstr "DPN" -#: src/pages/part/PartDetail.tsx:172 +#: src/pages/part/PartDetail.tsx:173 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:179 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39 +#: src/pages/part/PartDetail.tsx:180 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "Birim" -#: src/pages/part/PartDetail.tsx:186 +#: src/pages/part/PartDetail.tsx:187 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:193 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:180 -#: src/pages/sales/ReturnOrderDetail.tsx:148 -#: src/pages/sales/SalesOrderDetail.tsx:152 +#: src/pages/part/PartDetail.tsx:194 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:182 +#: src/pages/sales/ReturnOrderDetail.tsx:150 +#: src/pages/sales/SalesOrderDetail.tsx:154 msgid "Link" msgstr "Bağlantı" -#: src/pages/part/PartDetail.tsx:211 -#: src/tables/bom/BomTable.tsx:269 +#: src/pages/part/PartDetail.tsx:212 +#: src/tables/bom/BomTable.tsx:271 #: src/tables/build/BuildLineTable.tsx:121 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:218 +#: src/pages/part/PartDetail.tsx:219 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:224 -#: src/tables/bom/BomTable.tsx:210 +#: src/pages/part/PartDetail.tsx:225 +#: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:233 +#: src/pages/part/PartDetail.tsx:234 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:241 +#: src/pages/part/PartDetail.tsx:242 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:248 -#: src/tables/bom/BomTable.tsx:234 +#: src/pages/part/PartDetail.tsx:249 +#: src/tables/bom/BomTable.tsx:236 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:255 -#: src/tables/bom/BomTable.tsx:218 +#: src/pages/part/PartDetail.tsx:256 +#: src/tables/bom/BomTable.tsx:220 #: src/tables/part/PartTable.tsx:82 msgid "Building" msgstr "" -#: src/pages/part/PartDetail.tsx:264 +#: src/pages/part/PartDetail.tsx:265 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 @@ -3968,45 +4054,47 @@ msgstr "" #: src/tables/machine/MachineListTable.tsx:585 #: src/tables/part/PartTable.tsx:168 #: src/tables/part/PartVariantTable.tsx:15 -#: src/tables/plugin/PluginListTable.tsx:190 -#: src/tables/plugin/PluginListTable.tsx:638 +#: src/tables/plugin/PluginListTable.tsx:149 +#: src/tables/plugin/PluginListTable.tsx:271 +#: src/tables/plugin/PluginListTable.tsx:563 #: src/tables/purchasing/SupplierPartTable.tsx:98 #: src/tables/purchasing/SupplierPartTable.tsx:187 #: src/tables/stock/StockItemTable.tsx:254 msgid "Active" msgstr "Aktif" -#: src/pages/part/PartDetail.tsx:269 +#: src/pages/part/PartDetail.tsx:270 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:274 -#: src/tables/bom/BomTable.tsx:264 +#: src/pages/part/PartDetail.tsx:275 +#: src/tables/bom/BomTable.tsx:266 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:279 +#: src/pages/part/PartDetail.tsx:280 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:284 -#: src/tables/bom/BomTable.tsx:259 +#: src/pages/part/PartDetail.tsx:285 +#: src/tables/bom/BomTable.tsx:261 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:289 +#: src/pages/part/PartDetail.tsx:290 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:294 +#: src/pages/part/PartDetail.tsx:295 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:299 +#: src/pages/part/PartDetail.tsx:300 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:307 +#: src/pages/part/PartDetail.tsx:308 +#: src/tables/ColumnRenderers.tsx:199 msgid "Creation Date" msgstr "" @@ -4014,7 +4102,7 @@ msgstr "" #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:312 +#: src/pages/part/PartDetail.tsx:313 msgid "Created By" msgstr "" @@ -4022,68 +4110,72 @@ msgstr "" #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:327 -msgid "Default Supplier" -msgstr "" - #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:338 +#: src/pages/part/PartDetail.tsx:328 +msgid "Default Supplier" +msgstr "" + +#: src/pages/part/PartDetail.tsx:339 #: src/tables/part/PartTable.tsx:151 msgid "Price Range" msgstr "Fiyat Aralığı" -#: src/pages/part/PartDetail.tsx:373 -#: src/pages/stock/StockDetail.tsx:127 +#: src/pages/part/PartDetail.tsx:374 +#: src/pages/stock/StockDetail.tsx:130 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:408 +#: src/pages/part/PartDetail.tsx:409 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:479 +#: src/pages/part/PartDetail.tsx:480 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:505 +#: src/pages/part/PartDetail.tsx:506 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:512 -#: src/pages/stock/StockDetail.tsx:275 +#: src/pages/part/PartDetail.tsx:513 +#: src/pages/stock/StockDetail.tsx:283 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:532 +#: src/pages/part/PartDetail.tsx:519 +msgid "Bill of Materials" +msgstr "" + +#: src/pages/part/PartDetail.tsx:533 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:539 +#: src/pages/part/PartDetail.tsx:540 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:545 +#: src/pages/part/PartDetail.tsx:546 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:584 +#: src/pages/part/PartDetail.tsx:585 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:594 +#: src/pages/part/PartDetail.tsx:595 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:605 +#: src/pages/part/PartDetail.tsx:606 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:660 -#: src/pages/stock/StockDetail.tsx:148 +#: src/pages/part/PartDetail.tsx:661 +#: src/pages/stock/StockDetail.tsx:151 #: src/tables/build/BuildLineTable.tsx:36 #: src/tables/part/PartTable.tsx:107 #: src/tables/stock/StockItemTable.tsx:166 @@ -4091,49 +4183,51 @@ msgstr "" msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:666 +#: src/pages/part/PartDetail.tsx:667 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:672 -#: src/tables/bom/BomTable.tsx:274 +#: src/pages/part/PartDetail.tsx:673 +#: src/tables/bom/BomTable.tsx:276 #: src/tables/part/PartTable.tsx:76 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:678 -#: src/pages/stock/StockDetail.tsx:496 +#: src/pages/part/PartDetail.tsx:679 +#: src/pages/stock/StockDetail.tsx:509 #: src/tables/stock/StockItemTable.tsx:295 msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:697 +#: src/pages/part/PartDetail.tsx:698 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:704 +#: src/pages/part/PartDetail.tsx:705 #: src/tables/part/PartTable.tsx:266 #: src/tables/part/PartTable.tsx:279 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:716 +#: src/pages/part/PartDetail.tsx:717 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:725 +#: src/pages/part/PartDetail.tsx:726 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:763 +#: src/pages/part/PartDetail.tsx:764 +#: src/pages/stock/LocationDetail.tsx:301 +#: src/tables/stock/StockItemTable.tsx:409 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:771 +#: src/pages/part/PartDetail.tsx:772 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:782 +#: src/pages/part/PartDetail.tsx:783 msgid "Transfer part stock" msgstr "" @@ -4199,15 +4293,15 @@ msgstr "Bileşen" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151 #: src/pages/part/pricing/SupplierPricingPanel.tsx:83 -#: src/tables/bom/BomTable.tsx:149 +#: src/tables/bom/BomTable.tsx:151 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 msgid "Unit Price" msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:173 -#: src/tables/ColumnRenderers.tsx:278 -#: src/tables/bom/BomTable.tsx:158 +#: src/tables/ColumnRenderers.tsx:241 +#: src/tables/bom/BomTable.tsx:160 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 #: src/tables/sales/ReturnOrderTable.tsx:104 #: src/tables/sales/SalesOrderTable.tsx:134 @@ -4229,24 +4323,24 @@ msgid "Bar Chart" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:63 -#: src/pages/part/pricing/PriceBreakPanel.tsx:117 +#: src/pages/part/pricing/PriceBreakPanel.tsx:115 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:138 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:164 msgid "Add Price Break" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:76 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:149 msgid "Edit Price Break" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:86 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:157 msgid "Delete Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:102 -#: src/pages/part/pricing/PriceBreakPanel.tsx:193 +#: src/pages/part/pricing/PriceBreakPanel.tsx:100 +#: src/pages/part/pricing/PriceBreakPanel.tsx:191 msgid "Price Break" msgstr "" @@ -4275,7 +4369,7 @@ msgid "Overall Pricing" msgstr "" #: src/pages/part/pricing/PricingOverviewPanel.tsx:184 -#: src/pages/stock/StockDetail.tsx:121 +#: src/pages/stock/StockDetail.tsx:124 msgid "Last Updated" msgstr "" @@ -4309,9 +4403,8 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50 #: src/pages/part/pricing/SaleHistoryPanel.tsx:46 -#: src/tables/ColumnRenderers.tsx:217 -#: src/tables/plugin/PluginListTable.tsx:182 -#: src/tables/stock/StockItemTestResultTable.tsx:194 +#: src/tables/ColumnRenderers.tsx:180 +#: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" @@ -4338,89 +4431,89 @@ msgstr "" msgid "Variant Part" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:73 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:75 msgid "Edit Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:82 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:84 #: src/tables/purchasing/PurchaseOrderTable.tsx:128 #: src/tables/purchasing/PurchaseOrderTable.tsx:140 msgid "Add Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:107 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:109 msgid "Supplier Reference" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:137 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:252 -#: src/pages/sales/ReturnOrderDetail.tsx:104 -#: src/pages/sales/ReturnOrderDetail.tsx:220 -#: src/pages/sales/SalesOrderDetail.tsx:108 -#: src/pages/sales/SalesOrderDetail.tsx:248 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:139 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:254 +#: src/pages/sales/ReturnOrderDetail.tsx:106 +#: src/pages/sales/ReturnOrderDetail.tsx:222 +#: src/pages/sales/SalesOrderDetail.tsx:110 +#: src/pages/sales/SalesOrderDetail.tsx:250 msgid "Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:144 -#: src/pages/sales/ReturnOrderDetail.tsx:111 -#: src/pages/sales/SalesOrderDetail.tsx:115 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:146 +#: src/pages/sales/ReturnOrderDetail.tsx:113 +#: src/pages/sales/SalesOrderDetail.tsx:117 msgid "Completed Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:152 -#: src/pages/sales/ReturnOrderDetail.tsx:119 -#: src/pages/sales/SalesOrderDetail.tsx:123 -#: src/pages/sales/SalesOrderDetail.tsx:258 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:121 +#: src/pages/sales/SalesOrderDetail.tsx:125 +#: src/pages/sales/SalesOrderDetail.tsx:260 msgid "Completed Shipments" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:159 -#: src/pages/sales/ReturnOrderDetail.tsx:127 -#: src/pages/sales/SalesOrderDetail.tsx:131 -msgid "Order Currency" -msgstr "" - #: src/pages/purchasing/PurchaseOrderDetail.tsx:159 #: src/pages/sales/ReturnOrderDetail.tsx:126 #: src/pages/sales/SalesOrderDetail.tsx:130 #~ msgid "Order Currency," #~ msgstr "Order Currency," -#: src/pages/purchasing/PurchaseOrderDetail.tsx:166 -#: src/pages/sales/ReturnOrderDetail.tsx:134 -#: src/pages/sales/SalesOrderDetail.tsx:138 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:161 +#: src/pages/sales/ReturnOrderDetail.tsx:129 +#: src/pages/sales/SalesOrderDetail.tsx:133 +msgid "Order Currency" +msgstr "" + +#: src/pages/purchasing/PurchaseOrderDetail.tsx:168 +#: src/pages/sales/ReturnOrderDetail.tsx:136 +#: src/pages/sales/SalesOrderDetail.tsx:140 msgid "Total Cost" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:201 -#: src/pages/sales/ReturnOrderDetail.tsx:169 -#: src/pages/sales/SalesOrderDetail.tsx:173 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:203 +#: src/pages/sales/ReturnOrderDetail.tsx:171 +#: src/pages/sales/SalesOrderDetail.tsx:175 msgid "Created On" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:246 -#: src/pages/sales/ReturnOrderDetail.tsx:214 -#: src/pages/sales/SalesOrderDetail.tsx:242 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:248 +#: src/pages/sales/ReturnOrderDetail.tsx:216 +#: src/pages/sales/SalesOrderDetail.tsx:244 msgid "Order Details" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:316 -#: src/pages/sales/ReturnOrderDetail.tsx:290 -#: src/pages/sales/SalesOrderDetail.tsx:302 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:323 +#: src/pages/sales/ReturnOrderDetail.tsx:297 +#: src/pages/sales/SalesOrderDetail.tsx:309 msgid "Order Actions" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:75 -#: src/pages/sales/SalesOrderDetail.tsx:79 +#: src/pages/sales/ReturnOrderDetail.tsx:77 +#: src/pages/sales/SalesOrderDetail.tsx:81 #: src/tables/sales/SalesOrderTable.tsx:123 msgid "Customer Reference" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:267 +#: src/pages/sales/ReturnOrderDetail.tsx:269 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:276 +#: src/pages/sales/ReturnOrderDetail.tsx:278 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" @@ -4430,68 +4523,72 @@ msgstr "" msgid "Customers" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:219 +#: src/pages/sales/SalesOrderDetail.tsx:221 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:228 +#: src/pages/sales/SalesOrderDetail.tsx:230 #: src/tables/sales/SalesOrderTable.tsx:83 #: src/tables/sales/SalesOrderTable.tsx:95 msgid "Add Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:253 +#: src/pages/sales/SalesOrderDetail.tsx:255 msgid "Pending Shipments" msgstr "" -#: src/pages/stock/LocationDetail.tsx:105 +#: src/pages/stock/LocationDetail.tsx:107 msgid "Parent Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:123 +#: src/pages/stock/LocationDetail.tsx:125 msgid "Sublocations" msgstr "" -#: src/pages/stock/LocationDetail.tsx:135 +#: src/pages/stock/LocationDetail.tsx:137 msgid "External" msgstr "" -#: src/pages/stock/LocationDetail.tsx:144 +#: src/pages/stock/LocationDetail.tsx:143 +msgid "Location Type" +msgstr "" + +#: src/pages/stock/LocationDetail.tsx:154 msgid "Top level stock location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:155 +#: src/pages/stock/LocationDetail.tsx:165 msgid "Location Details" msgstr "" -#: src/pages/stock/LocationDetail.tsx:181 +#: src/pages/stock/LocationDetail.tsx:191 msgid "Default Parts" msgstr "" -#: src/pages/stock/LocationDetail.tsx:200 +#: src/pages/stock/LocationDetail.tsx:210 #: src/pages/stock/LocationDetail.tsx:328 -#: src/tables/stock/StockLocationTable.tsx:108 +#: src/tables/stock/StockLocationTable.tsx:100 msgid "Edit Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:221 +#: src/pages/stock/LocationDetail.tsx:231 #: src/pages/stock/LocationDetail.tsx:333 msgid "Delete Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:224 +#: src/pages/stock/LocationDetail.tsx:234 msgid "Items Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:225 +#: src/pages/stock/LocationDetail.tsx:235 msgid "Action for stock items in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:230 +#: src/pages/stock/LocationDetail.tsx:240 msgid "Child Locations Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:231 +#: src/pages/stock/LocationDetail.tsx:241 msgid "Action for child locations in this location" msgstr "" @@ -4499,11 +4596,11 @@ msgstr "" msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:100 +#: src/pages/stock/StockDetail.tsx:103 msgid "Base Part" msgstr "" -#: src/pages/stock/StockDetail.tsx:107 +#: src/pages/stock/StockDetail.tsx:110 msgid "Stock Status" msgstr "" @@ -4515,15 +4612,16 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:174 +#: src/pages/stock/StockDetail.tsx:177 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:190 +#: src/pages/stock/StockDetail.tsx:193 msgid "Consumed By" msgstr "" -#: src/pages/stock/StockDetail.tsx:199 +#: src/pages/stock/StockDetail.tsx:202 +#: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" msgstr "" @@ -4535,78 +4633,78 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:264 +#: src/pages/stock/StockDetail.tsx:267 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:270 +#: src/pages/stock/StockDetail.tsx:273 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:282 +#: src/pages/stock/StockDetail.tsx:290 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:296 +#: src/pages/stock/StockDetail.tsx:304 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:303 +#: src/pages/stock/StockDetail.tsx:311 msgid "Child Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:358 +#: src/pages/stock/StockDetail.tsx:366 msgid "Edit Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:385 +#: src/pages/stock/StockDetail.tsx:393 msgid "Delete Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:426 -msgid "Stock Operations" -msgstr "" - -#: src/pages/stock/StockDetail.tsx:431 -msgid "Count stock" -msgstr "" - #: src/pages/stock/StockDetail.tsx:433 #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:441 +#: src/pages/stock/StockDetail.tsx:440 +msgid "Stock Operations" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:445 +msgid "Count stock" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:455 #: src/tables/stock/StockItemTable.tsx:414 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:449 +#: src/pages/stock/StockDetail.tsx:463 #: src/tables/stock/StockItemTable.tsx:423 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:456 +#: src/pages/stock/StockDetail.tsx:470 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:457 +#: src/pages/stock/StockDetail.tsx:471 #: src/tables/stock/StockItemTable.tsx:443 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:469 +#: src/pages/stock/StockDetail.tsx:482 msgid "Stock Item Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:513 -msgid "Batch Code" -msgstr "" - -#: src/tables/ColumnRenderers.tsx:50 +#: src/tables/ColumnRenderers.tsx:42 msgid "No location set" msgstr "" -#: src/tables/ColumnRenderers.tsx:264 +#: src/tables/ColumnRenderers.tsx:207 +msgid "Shipment Date" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:227 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "" @@ -4616,21 +4714,33 @@ msgstr "" msgid "Select Columns" msgstr "Sütunları Seç" -#: src/tables/DownloadAction.tsx:11 +#: src/tables/DownloadAction.tsx:13 +#~ msgid "Excel" +#~ msgstr "Excel" + +#: src/tables/DownloadAction.tsx:21 +#~ msgid "Download selected data" +#~ msgstr "Download selected data" + +#: src/tables/DownloadAction.tsx:22 msgid "CSV" msgstr "" -#: src/tables/DownloadAction.tsx:12 +#: src/tables/DownloadAction.tsx:23 msgid "TSV" msgstr "" -#: src/tables/DownloadAction.tsx:13 -msgid "Excel" -msgstr "Excel" +#: src/tables/DownloadAction.tsx:24 +msgid "Excel (.xls)" +msgstr "" -#: src/tables/DownloadAction.tsx:21 -msgid "Download selected data" -msgstr "Seçili veriyi indir" +#: src/tables/DownloadAction.tsx:25 +msgid "Excel (.xlsx)" +msgstr "" + +#: src/tables/DownloadAction.tsx:39 +msgid "Download Data" +msgstr "" #: src/tables/Filter.tsx:88 #: src/tables/build/BuildOrderTable.tsx:126 @@ -4663,102 +4773,102 @@ msgstr "" msgid "Remove filter" msgstr "Filtreyi kaldır" -#: src/tables/FilterSelectDrawer.tsx:147 +#: src/tables/FilterSelectDrawer.tsx:136 msgid "Select filter" msgstr "Filtre seç" -#: src/tables/FilterSelectDrawer.tsx:148 +#: src/tables/FilterSelectDrawer.tsx:137 msgid "Filter" msgstr "Filtre" -#: src/tables/FilterSelectDrawer.tsx:155 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:33 -#: src/tables/stock/StockItemTestResultTable.tsx:182 +#: src/tables/FilterSelectDrawer.tsx:144 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 +#: src/tables/stock/StockItemTestResultTable.tsx:180 msgid "Value" msgstr "Değer" -#: src/tables/FilterSelectDrawer.tsx:156 +#: src/tables/FilterSelectDrawer.tsx:145 msgid "Select filter value" msgstr "Filtre değeri seç" -#: src/tables/FilterSelectDrawer.tsx:196 +#: src/tables/FilterSelectDrawer.tsx:185 msgid "Table Filters" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:228 +#: src/tables/FilterSelectDrawer.tsx:217 msgid "Add Filter" msgstr "Filtre Ekle" -#: src/tables/FilterSelectDrawer.tsx:237 +#: src/tables/FilterSelectDrawer.tsx:226 msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:118 -#: src/tables/InvenTreeTable.tsx:384 -#: src/tables/InvenTreeTable.tsx:405 +#: src/tables/InvenTreeTable.tsx:119 +#: src/tables/InvenTreeTable.tsx:390 +#: src/tables/InvenTreeTable.tsx:411 msgid "No records found" msgstr "Hiç kayıt bulunamadı" -#: src/tables/InvenTreeTable.tsx:416 +#: src/tables/InvenTreeTable.tsx:422 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:424 +#: src/tables/InvenTreeTable.tsx:430 msgid "Bad request" msgstr "Hatalı istek" -#: src/tables/InvenTreeTable.tsx:427 +#: src/tables/InvenTreeTable.tsx:433 msgid "Unauthorized" msgstr "Yetkisiz" -#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:436 msgid "Forbidden" msgstr "Yasaklı" -#: src/tables/InvenTreeTable.tsx:433 +#: src/tables/InvenTreeTable.tsx:439 msgid "Not found" msgstr "Bulunamadı" -#: src/tables/InvenTreeTable.tsx:482 -#: src/tables/InvenTreeTable.tsx:604 +#: src/tables/InvenTreeTable.tsx:488 +#: src/tables/InvenTreeTable.tsx:611 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:486 +#: src/tables/InvenTreeTable.tsx:492 msgid "Are you sure you want to delete the selected records?" msgstr "" -#: src/tables/InvenTreeTable.tsx:488 +#: src/tables/InvenTreeTable.tsx:494 msgid "This action cannot be undone!" msgstr "" -#: src/tables/InvenTreeTable.tsx:516 +#: src/tables/InvenTreeTable.tsx:522 msgid "Deleted records" msgstr "" -#: src/tables/InvenTreeTable.tsx:517 +#: src/tables/InvenTreeTable.tsx:523 msgid "Records were deleted successfully" msgstr "" -#: src/tables/InvenTreeTable.tsx:526 +#: src/tables/InvenTreeTable.tsx:532 msgid "Failed to delete records" msgstr "" -#: src/tables/InvenTreeTable.tsx:585 -#: src/tables/InvenTreeTable.tsx:586 +#: src/tables/InvenTreeTable.tsx:594 +#: src/tables/InvenTreeTable.tsx:595 +#~ msgid "Print actions" +#~ msgstr "Print actions" + +#: src/tables/InvenTreeTable.tsx:601 +#: src/tables/InvenTreeTable.tsx:602 msgid "Barcode actions" msgstr "Barkod işlemleri" -#: src/tables/InvenTreeTable.tsx:594 -#: src/tables/InvenTreeTable.tsx:595 -msgid "Print actions" -msgstr "Yazdırma işlemleri" - -#: src/tables/InvenTreeTable.tsx:620 +#: src/tables/InvenTreeTable.tsx:630 msgid "Refresh data" msgstr "Veriyi yenile" -#: src/tables/InvenTreeTable.tsx:638 +#: src/tables/InvenTreeTable.tsx:648 msgid "Table filters" msgstr "Tablo filtreleri" @@ -4770,138 +4880,138 @@ msgstr "" msgid "Part Information" msgstr "" -#: src/tables/bom/BomTable.tsx:177 +#: src/tables/bom/BomTable.tsx:179 #: src/tables/part/PartTable.tsx:124 msgid "No stock" msgstr "" -#: src/tables/bom/BomTable.tsx:185 +#: src/tables/bom/BomTable.tsx:187 #: src/tables/build/BuildLineTable.tsx:104 #: src/tables/part/PartTable.tsx:115 msgid "External stock" msgstr "" -#: src/tables/bom/BomTable.tsx:193 +#: src/tables/bom/BomTable.tsx:195 #: src/tables/build/BuildLineTable.tsx:67 msgid "Includes substitute stock" msgstr "" -#: src/tables/bom/BomTable.tsx:202 +#: src/tables/bom/BomTable.tsx:204 #: src/tables/build/BuildLineTable.tsx:77 msgid "Includes variant stock" msgstr "" -#: src/tables/bom/BomTable.tsx:227 +#: src/tables/bom/BomTable.tsx:229 #: src/tables/part/PartTable.tsx:143 #: src/tables/stock/StockItemTable.tsx:205 msgid "Stock Information" msgstr "" -#: src/tables/bom/BomTable.tsx:239 +#: src/tables/bom/BomTable.tsx:241 #: src/tables/build/BuildLineTable.tsx:195 msgid "Consumable item" msgstr "" -#: src/tables/bom/BomTable.tsx:260 +#: src/tables/bom/BomTable.tsx:262 msgid "Show trackable items" msgstr "" -#: src/tables/bom/BomTable.tsx:265 +#: src/tables/bom/BomTable.tsx:267 msgid "Show asssmbled items" msgstr "" -#: src/tables/bom/BomTable.tsx:270 +#: src/tables/bom/BomTable.tsx:272 msgid "Show items with available stock" msgstr "" -#: src/tables/bom/BomTable.tsx:275 +#: src/tables/bom/BomTable.tsx:277 msgid "Show items on order" msgstr "" -#: src/tables/bom/BomTable.tsx:279 +#: src/tables/bom/BomTable.tsx:281 msgid "Validated" msgstr "" -#: src/tables/bom/BomTable.tsx:280 +#: src/tables/bom/BomTable.tsx:282 msgid "Show validated items" msgstr "" -#: src/tables/bom/BomTable.tsx:284 +#: src/tables/bom/BomTable.tsx:286 #: src/tables/bom/UsedInTable.tsx:63 msgid "Inherited" msgstr "" -#: src/tables/bom/BomTable.tsx:285 +#: src/tables/bom/BomTable.tsx:287 #: src/tables/bom/UsedInTable.tsx:64 msgid "Show inherited items" msgstr "" -#: src/tables/bom/BomTable.tsx:289 +#: src/tables/bom/BomTable.tsx:291 #: src/tables/bom/UsedInTable.tsx:68 #: src/tables/build/BuildLineTable.tsx:46 msgid "Optional" msgstr "" -#: src/tables/bom/BomTable.tsx:290 +#: src/tables/bom/BomTable.tsx:292 #: src/tables/bom/UsedInTable.tsx:69 msgid "Show optional items" msgstr "" -#: src/tables/bom/BomTable.tsx:294 +#: src/tables/bom/BomTable.tsx:296 #: src/tables/build/BuildLineTable.tsx:41 msgid "Consumable" msgstr "" -#: src/tables/bom/BomTable.tsx:295 +#: src/tables/bom/BomTable.tsx:297 msgid "Show consumable items" msgstr "" -#: src/tables/bom/BomTable.tsx:299 +#: src/tables/bom/BomTable.tsx:301 msgid "Has Pricing" msgstr "" -#: src/tables/bom/BomTable.tsx:300 -msgid "Show items with pricing" -msgstr "" - #: src/tables/bom/BomTable.tsx:301 #~ msgid "Create BOM Item" #~ msgstr "Create BOM Item" -#: src/tables/bom/BomTable.tsx:309 -#: src/tables/bom/BomTable.tsx:397 +#: src/tables/bom/BomTable.tsx:302 +msgid "Show items with pricing" +msgstr "" + +#: src/tables/bom/BomTable.tsx:311 +#: src/tables/bom/BomTable.tsx:399 msgid "Add BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:314 +#: src/tables/bom/BomTable.tsx:316 msgid "BOM item created" msgstr "" -#: src/tables/bom/BomTable.tsx:321 +#: src/tables/bom/BomTable.tsx:323 msgid "Edit BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:323 +#: src/tables/bom/BomTable.tsx:325 msgid "BOM item updated" msgstr "" -#: src/tables/bom/BomTable.tsx:330 -msgid "Delete BOM Item" -msgstr "" - -#: src/tables/bom/BomTable.tsx:331 -msgid "BOM item deleted" -msgstr "" - #: src/tables/bom/BomTable.tsx:331 #~ msgid "Edit Bom Item" #~ msgstr "Edit Bom Item" +#: src/tables/bom/BomTable.tsx:332 +msgid "Delete BOM Item" +msgstr "" + +#: src/tables/bom/BomTable.tsx:333 +msgid "BOM item deleted" +msgstr "" + #: src/tables/bom/BomTable.tsx:333 #~ msgid "Bom item updated" #~ msgstr "Bom item updated" -#: src/tables/bom/BomTable.tsx:341 +#: src/tables/bom/BomTable.tsx:343 msgid "View BOM" msgstr "" @@ -4917,11 +5027,11 @@ msgstr "" #~ msgid "Are you sure you want to remove this BOM item?" #~ msgstr "Are you sure you want to remove this BOM item?" -#: src/tables/bom/BomTable.tsx:352 +#: src/tables/bom/BomTable.tsx:354 msgid "Validate BOM line" msgstr "" -#: src/tables/bom/BomTable.tsx:360 +#: src/tables/bom/BomTable.tsx:362 msgid "Edit Substitutes" msgstr "" @@ -5038,11 +5148,11 @@ msgid "Filter by responsible owner" msgstr "" #: src/tables/build/BuildOutputTable.tsx:114 -#: src/tables/build/BuildOutputTable.tsx:150 +#: src/tables/build/BuildOutputTable.tsx:152 msgid "Add Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:155 +#: src/tables/build/BuildOutputTable.tsx:157 msgid "Complete selected outputs" msgstr "" @@ -5050,68 +5160,68 @@ msgstr "" #~ msgid "Delete build output" #~ msgstr "Delete build output" -#: src/tables/build/BuildOutputTable.tsx:165 +#: src/tables/build/BuildOutputTable.tsx:167 msgid "Scrap selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:175 +#: src/tables/build/BuildOutputTable.tsx:177 msgid "Cancel selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:191 +#: src/tables/build/BuildOutputTable.tsx:193 msgid "Allocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:192 +#: src/tables/build/BuildOutputTable.tsx:194 msgid "Allocate stock to build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:197 +#: src/tables/build/BuildOutputTable.tsx:199 msgid "Deallocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:198 +#: src/tables/build/BuildOutputTable.tsx:200 msgid "Deallocate stock from build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:203 +#: src/tables/build/BuildOutputTable.tsx:205 msgid "Complete" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:204 +#: src/tables/build/BuildOutputTable.tsx:206 msgid "Complete build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:213 +#: src/tables/build/BuildOutputTable.tsx:215 msgid "Scrap" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:214 +#: src/tables/build/BuildOutputTable.tsx:216 msgid "Scrap build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:224 +#: src/tables/build/BuildOutputTable.tsx:226 msgid "Cancel build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:251 +#: src/tables/build/BuildOutputTable.tsx:253 msgid "Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:264 +#: src/tables/build/BuildOutputTable.tsx:266 msgid "Batch" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:278 +#: src/tables/build/BuildOutputTable.tsx:280 msgid "Allocated Items" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:288 +#: src/tables/build/BuildOutputTable.tsx:290 msgid "Required Tests" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:317 -#: src/tables/stock/StockItemTestResultTable.tsx:146 +#: src/tables/build/BuildOutputTable.tsx:319 +#: src/tables/stock/StockItemTestResultTable.tsx:144 msgid "Test Results" msgstr "" @@ -5132,7 +5242,7 @@ msgstr "" msgid "Delete Address" msgstr "" -#: src/tables/company/AddressTable.tsx:145 +#: src/tables/company/AddressTable.tsx:144 msgid "Are you sure you want to delete this address?" msgstr "" @@ -5177,36 +5287,52 @@ msgstr "" msgid "Add contact" msgstr "" -#: src/tables/general/AttachmentTable.tsx:161 +#: src/tables/general/AttachmentTable.tsx:130 msgid "File uploaded" msgstr "" -#: src/tables/general/AttachmentTable.tsx:162 +#: src/tables/general/AttachmentTable.tsx:131 msgid "File {0} uploaded successfully" msgstr "" -#: src/tables/general/AttachmentTable.tsx:173 +#: src/tables/general/AttachmentTable.tsx:142 msgid "Upload Error" msgstr "" -#: src/tables/general/AttachmentTable.tsx:174 +#: src/tables/general/AttachmentTable.tsx:143 msgid "File could not be uploaded" msgstr "" #: src/tables/general/AttachmentTable.tsx:187 +msgid "Upload Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:197 +msgid "Edit Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:211 +msgid "Delete Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:221 msgid "Add attachment" msgstr "" -#: src/tables/general/AttachmentTable.tsx:207 +#: src/tables/general/AttachmentTable.tsx:232 msgid "Add external link" msgstr "" -#: src/tables/general/AttachmentTable.tsx:239 +#: src/tables/general/AttachmentTable.tsx:254 +#~ msgid "Upload attachment" +#~ msgstr "Upload attachment" + +#: src/tables/general/AttachmentTable.tsx:289 msgid "No attachments found" msgstr "" -#: src/tables/general/AttachmentTable.tsx:254 -msgid "Upload attachment" +#: src/tables/general/AttachmentTable.tsx:325 +msgid "Drag attachment file here to upload" msgstr "" #: src/tables/machine/MachineListTable.tsx:199 @@ -5332,8 +5458,8 @@ msgstr "" #: src/tables/machine/MachineTypeTable.tsx:135 #: src/tables/machine/MachineTypeTable.tsx:255 -#: src/tables/plugin/PluginListTable.tsx:215 -#: src/tables/plugin/PluginListTable.tsx:643 +#: src/tables/plugin/PluginListTable.tsx:180 +#: src/tables/plugin/PluginListTable.tsx:568 msgid "Builtin" msgstr "" @@ -5375,7 +5501,7 @@ msgid "Message" msgstr "" #: src/tables/part/ParametricPartTable.tsx:75 -#: src/tables/part/PartParameterTable.tsx:87 +#: src/tables/part/PartParameterTable.tsx:88 msgid "Internal Units" msgstr "" @@ -5388,29 +5514,29 @@ msgid "Add Part Parameter" msgstr "" #: src/tables/part/ParametricPartTable.tsx:147 -#: src/tables/part/PartParameterTable.tsx:128 -#: src/tables/part/PartParameterTable.tsx:150 +#: src/tables/part/PartParameterTable.tsx:121 +#: src/tables/part/PartParameterTable.tsx:144 msgid "Edit Part Parameter" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:64 +#: src/tables/part/PartCategoryTable.tsx:60 #: src/tables/part/PartTable.tsx:180 msgid "Include Subcategories" msgstr "Alt Kategorileri Dahil Et" -#: src/tables/part/PartCategoryTable.tsx:65 +#: src/tables/part/PartCategoryTable.tsx:61 msgid "Include subcategories in results" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:70 +#: src/tables/part/PartCategoryTable.tsx:66 msgid "Show structural categories" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:77 +#: src/tables/part/PartCategoryTable.tsx:73 msgid "New Part Category" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:106 +#: src/tables/part/PartCategoryTable.tsx:98 msgid "Add Part Category" msgstr "" @@ -5435,20 +5561,20 @@ msgstr "" #~ msgid "[{0}]" #~ msgstr "[{0}]" -#: src/tables/part/PartParameterTable.tsx:112 +#: src/tables/part/PartParameterTable.tsx:105 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:136 -#: src/tables/part/PartParameterTable.tsx:158 +#: src/tables/part/PartParameterTable.tsx:130 +#: src/tables/part/PartParameterTable.tsx:152 msgid "Delete Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:175 +#: src/tables/part/PartParameterTable.tsx:170 msgid "Add parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:196 +#: src/tables/part/PartParameterTable.tsx:191 #: src/tables/stock/StockItemTable.tsx:300 msgid "Include Variants" msgstr "" @@ -5482,15 +5608,15 @@ msgstr "" msgid "Add Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:97 +#: src/tables/part/PartParameterTemplateTable.tsx:100 msgid "Edit Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:105 +#: src/tables/part/PartParameterTemplateTable.tsx:111 msgid "Delete Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:135 +#: src/tables/part/PartParameterTemplateTable.tsx:141 msgid "Add parameter template" msgstr "" @@ -5588,7 +5714,7 @@ msgid "No Results" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:79 -#: src/tables/stock/StockItemTestResultTable.tsx:385 +#: src/tables/stock/StockItemTestResultTable.tsx:376 msgid "Required" msgstr "" @@ -5597,8 +5723,8 @@ msgid "Show required tests" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:84 -#: src/tables/settings/TemplateTable.tsx:213 -#: src/tables/settings/TemplateTable.tsx:275 +#: src/tables/settings/TemplateTable.tsx:160 +#: src/tables/settings/TemplateTable.tsx:270 msgid "Enabled" msgstr "" @@ -5639,26 +5765,30 @@ msgid "Show tests which have recorded results" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:126 -#: src/tables/part/PartTestTemplateTable.tsx:195 +#: src/tables/part/PartTestTemplateTable.tsx:201 msgid "Add Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:139 +#: src/tables/part/PartTestTemplateTable.tsx:142 msgid "Edit Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:147 +#: src/tables/part/PartTestTemplateTable.tsx:153 msgid "Delete Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:149 +#: src/tables/part/PartTestTemplateTable.tsx:155 msgid "This action cannot be reversed" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:151 +#: src/tables/part/PartTestTemplateTable.tsx:157 msgid "Any tests results associated with this template will be deleted" msgstr "" +#: src/tables/part/PartThumbTable.tsx:203 +msgid "Select" +msgstr "" + #: src/tables/part/PartVariantTable.tsx:16 msgid "Show active variants" msgstr "" @@ -5695,252 +5825,273 @@ msgstr "" msgid "Stage" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:113 -msgid "Plugin with id {id} not found" +#: src/tables/plugin/PluginListTable.tsx:95 +msgid "Plugin with key {pluginKey} not found" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:115 +#: src/tables/plugin/PluginListTable.tsx:97 msgid "An error occurred while fetching plugin details" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:134 -msgid "Plugin Actions" -msgstr "" +#: src/tables/plugin/PluginListTable.tsx:113 +#~ msgid "Plugin with id {id} not found" +#~ msgstr "Plugin with id {id} not found" -#: src/tables/plugin/PluginListTable.tsx:138 -#: src/tables/plugin/PluginListTable.tsx:141 -msgid "Edit plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:152 -#: src/tables/plugin/PluginListTable.tsx:153 -msgid "Reload" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:166 +#: src/tables/plugin/PluginListTable.tsx:122 msgid "Plugin information" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:177 +#: src/tables/plugin/PluginListTable.tsx:134 msgid "Author" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:198 +#: src/tables/plugin/PluginListTable.tsx:134 +#~ msgid "Plugin Actions" +#~ msgstr "Plugin Actions" + +#: src/tables/plugin/PluginListTable.tsx:138 +#: src/tables/plugin/PluginListTable.tsx:141 +#~ msgid "Edit plugin" +#~ msgstr "Edit plugin" + +#: src/tables/plugin/PluginListTable.tsx:152 +#: src/tables/plugin/PluginListTable.tsx:153 +#~ msgid "Reload" +#~ msgstr "Reload" + +#: src/tables/plugin/PluginListTable.tsx:154 +msgid "Plugin is not active" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:163 msgid "Package information" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:204 +#: src/tables/plugin/PluginListTable.tsx:169 msgid "Package Name" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:210 +#: src/tables/plugin/PluginListTable.tsx:175 msgid "Installation Path" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:220 +#: src/tables/plugin/PluginListTable.tsx:185 msgid "Package" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:231 +#: src/tables/plugin/PluginListTable.tsx:197 msgid "Plugin settings" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:248 +#: src/tables/plugin/PluginListTable.tsx:214 msgid "Plugin is active" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:254 +#: src/tables/plugin/PluginListTable.tsx:220 msgid "Plugin is inactive" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:261 +#: src/tables/plugin/PluginListTable.tsx:227 msgid "Plugin is not installed" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:287 +#: src/tables/plugin/PluginListTable.tsx:253 msgid "Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:312 +#: src/tables/plugin/PluginListTable.tsx:287 msgid "Description not available" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:338 +#: src/tables/plugin/PluginListTable.tsx:319 +msgid "Confirm plugin activation" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:320 +msgid "Confirm plugin deactivation" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:325 +msgid "The selected plugin will be activated" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:326 +msgid "The selected plugin will be deactivated" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:334 msgid "Activate Plugin" msgstr "" #: src/tables/plugin/PluginListTable.tsx:338 -msgid "Deactivate Plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:347 -msgid "Confirm plugin activation" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:348 -msgid "Confirm plugin deactivation" -msgstr "" +#~ msgid "Deactivate Plugin" +#~ msgstr "Deactivate Plugin" #: src/tables/plugin/PluginListTable.tsx:354 -msgid "The following plugin will be activated" -msgstr "" +#~ msgid "The following plugin will be activated" +#~ msgstr "The following plugin will be activated" #: src/tables/plugin/PluginListTable.tsx:355 -msgid "The following plugin will be deactivated" -msgstr "" +#~ msgid "The following plugin will be deactivated" +#~ msgstr "The following plugin will be deactivated" -#: src/tables/plugin/PluginListTable.tsx:366 -msgid "Confirm" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:376 -msgid "Activating plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:376 -msgid "Deactivating plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:392 -msgid "Plugin updated" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:394 -msgid "The plugin was activated" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:395 -msgid "The plugin was deactivated" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:403 -msgid "Error updating plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:423 +#: src/tables/plugin/PluginListTable.tsx:362 msgid "Deactivate" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:432 +#: src/tables/plugin/PluginListTable.tsx:366 +#~ msgid "Confirm" +#~ msgstr "Confirm" + +#: src/tables/plugin/PluginListTable.tsx:373 msgid "Activate" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:463 +#: src/tables/plugin/PluginListTable.tsx:376 +#~ msgid "Activating plugin" +#~ msgstr "Activating plugin" + +#: src/tables/plugin/PluginListTable.tsx:376 +#~ msgid "Deactivating plugin" +#~ msgstr "Deactivating plugin" + +#: src/tables/plugin/PluginListTable.tsx:392 +#~ msgid "Plugin updated" +#~ msgstr "Plugin updated" + +#: src/tables/plugin/PluginListTable.tsx:394 +#~ msgid "The plugin was activated" +#~ msgstr "The plugin was activated" + +#: src/tables/plugin/PluginListTable.tsx:395 +#~ msgid "The plugin was deactivated" +#~ msgstr "The plugin was deactivated" + +#: src/tables/plugin/PluginListTable.tsx:403 +#~ msgid "Error updating plugin" +#~ msgstr "Error updating plugin" + +#: src/tables/plugin/PluginListTable.tsx:406 msgid "Uninstall" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:495 +#: src/tables/plugin/PluginListTable.tsx:438 msgid "Install plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:508 +#: src/tables/plugin/PluginListTable.tsx:451 msgid "Install" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:512 +#: src/tables/plugin/PluginListTable.tsx:452 msgid "Plugin installed successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:525 +#: src/tables/plugin/PluginListTable.tsx:457 msgid "Uninstall Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:537 +#: src/tables/plugin/PluginListTable.tsx:469 msgid "Confirm plugin uninstall" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:540 +#: src/tables/plugin/PluginListTable.tsx:472 msgid "The selected plugin will be uninstalled." msgstr "" -#: src/tables/plugin/PluginListTable.tsx:541 +#: src/tables/plugin/PluginListTable.tsx:473 msgid "This action cannot be undone." msgstr "" -#: src/tables/plugin/PluginListTable.tsx:547 +#: src/tables/plugin/PluginListTable.tsx:477 msgid "Plugin uninstalled successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:560 +#: src/tables/plugin/PluginListTable.tsx:484 msgid "Delete Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:562 +#: src/tables/plugin/PluginListTable.tsx:485 msgid "Deleting this plugin configuration will remove all associated settings and data. Are you sure you want to delete this plugin?" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:574 +#: src/tables/plugin/PluginListTable.tsx:498 msgid "Plugins reloaded" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:575 +#: src/tables/plugin/PluginListTable.tsx:499 msgid "Plugins were reloaded successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:591 +#: src/tables/plugin/PluginListTable.tsx:515 msgid "Reload Plugins" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:600 +#: src/tables/plugin/PluginListTable.tsx:524 msgid "Install Plugin" msgstr "" +#: src/tables/plugin/PluginListTable.tsx:544 +msgid "Plugin Detail" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:573 +msgid "Sample" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:578 +#: src/tables/stock/StockItemTable.tsx:305 +msgid "Installed" +msgstr "" + #: src/tables/plugin/PluginListTable.tsx:615 #~ msgid "Plugin detail" #~ msgstr "Plugin detail" -#: src/tables/plugin/PluginListTable.tsx:619 -msgid "Plugin Detail" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:648 -msgid "Sample" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:653 -#: src/tables/stock/StockItemTable.tsx:305 -msgid "Installed" -msgstr "" - -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:57 -msgid "Edit Parameter" +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:59 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:108 +msgid "Add Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:60 -msgid "Parameter updated" -msgstr "" +#~ msgid "Parameter updated" +#~ msgstr "Parameter updated" -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:71 -msgid "Delete Parameter" +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:70 +msgid "Edit Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:73 -msgid "Parameter deleted" -msgstr "" +#~ msgid "Parameter deleted" +#~ msgstr "Parameter deleted" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:74 -msgid "Are you sure you want to delete this parameter?" +#~ msgid "Are you sure you want to delete this parameter?" +#~ msgstr "Are you sure you want to delete this parameter?" + +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:78 +msgid "Delete Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartTable.tsx:63 #~ msgid "Create Manufacturer Part" #~ msgstr "Create Manufacturer Part" -#: src/tables/purchasing/ManufacturerPartTable.tsx:100 -msgid "Manufacturer part updated" -msgstr "" - -#: src/tables/purchasing/ManufacturerPartTable.tsx:111 +#: src/tables/purchasing/ManufacturerPartTable.tsx:92 msgid "Delete Manufacturer Part" msgstr "" +#: src/tables/purchasing/ManufacturerPartTable.tsx:100 +#~ msgid "Manufacturer part updated" +#~ msgstr "Manufacturer part updated" + #: src/tables/purchasing/ManufacturerPartTable.tsx:112 -msgid "Manufacturer part deleted" -msgstr "" +#~ msgid "Manufacturer part deleted" +#~ msgstr "Manufacturer part deleted" #: src/tables/purchasing/ManufacturerPartTable.tsx:114 -msgid "Are you sure you want to remove this manufacturer part?" -msgstr "" +#~ msgid "Are you sure you want to remove this manufacturer part?" +#~ msgstr "Are you sure you want to remove this manufacturer part?" #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:86 msgid "Part Description" @@ -6087,18 +6238,22 @@ msgid "Error Information" msgstr "" #: src/tables/settings/ErrorTable.tsx:51 -msgid "Delete error report" +msgid "Delete Error Report" msgstr "" +#: src/tables/settings/ErrorTable.tsx:51 +#~ msgid "Delete error report" +#~ msgstr "Delete error report" + #: src/tables/settings/ErrorTable.tsx:53 -msgid "Error report deleted" -msgstr "" - -#: src/tables/settings/ErrorTable.tsx:54 msgid "Are you sure you want to delete this error report?" msgstr "" -#: src/tables/settings/ErrorTable.tsx:67 +#: src/tables/settings/ErrorTable.tsx:55 +msgid "Error report deleted" +msgstr "" + +#: src/tables/settings/ErrorTable.tsx:77 #: src/tables/settings/FailedTasksTable.tsx:57 msgid "Error Details" msgstr "" @@ -6115,7 +6270,7 @@ msgid "Task ID" msgstr "" #: src/tables/settings/FailedTasksTable.tsx:34 -#: src/tables/stock/StockItemTestResultTable.tsx:214 +#: src/tables/stock/StockItemTestResultTable.tsx:205 msgid "Started" msgstr "" @@ -6188,30 +6343,71 @@ msgstr "" msgid "Next Run" msgstr "" -#: src/tables/settings/TemplateTable.tsx:120 -msgid "{templateTypeTranslation} with id {id} not found" +#: src/tables/settings/TemplateTable.tsx:82 +msgid "Template not found" msgstr "" +#: src/tables/settings/TemplateTable.tsx:84 +msgid "An error occurred while fetching template details" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:120 +#~ msgid "{templateTypeTranslation} with id {id} not found" +#~ msgstr "{templateTypeTranslation} with id {id} not found" + #: src/tables/settings/TemplateTable.tsx:124 -msgid "An error occurred while fetching {templateTypeTranslation} details" -msgstr "" +#~ msgid "An error occurred while fetching {templateTypeTranslation} details" +#~ msgstr "An error occurred while fetching {templateTypeTranslation} details" #: src/tables/settings/TemplateTable.tsx:146 -msgid "actions" +#~ msgid "actions" +#~ msgstr "actions" + +#: src/tables/settings/TemplateTable.tsx:170 +msgid "Modify" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:171 +msgid "Modify template file" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:222 +#: src/tables/settings/TemplateTable.tsx:289 +msgid "Edit Template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:230 +msgid "Delete template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:236 +msgid "Add Template" msgstr "" #: src/tables/settings/TemplateTable.tsx:243 -msgid "Add new" -msgstr "" +#~ msgid "Add new" +#~ msgstr "Add new" #: src/tables/settings/TemplateTable.tsx:243 #~ msgid "Create new" #~ msgstr "Create new" -#: src/tables/settings/TemplateTable.tsx:276 +#: src/tables/settings/TemplateTable.tsx:249 +msgid "Add template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:271 msgid "Filter by enabled status" msgstr "" +#: src/tables/settings/TemplateTable.tsx:276 +msgid "Model Type" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:277 +msgid "Filter by target model type" +msgstr "" + #: src/tables/settings/UserTable.tsx:79 msgid "User with id {id} not found" msgstr "" @@ -6277,6 +6473,23 @@ msgstr "" msgid "Edit user" msgstr "" +#: src/tables/stock/LocationTypesTable.tsx:36 +#: src/tables/stock/LocationTypesTable.tsx:105 +msgid "Add Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:44 +msgid "Edit Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:52 +msgid "Delete Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:69 +msgid "Icon" +msgstr "" + #: src/tables/stock/StockItemTable.tsx:90 msgid "This stock item is in production" msgstr "" @@ -6338,7 +6551,7 @@ msgid "Show items which are available" msgstr "" #: src/tables/stock/StockItemTable.tsx:280 -#: src/tables/stock/StockLocationTable.tsx:37 +#: src/tables/stock/StockLocationTable.tsx:33 msgid "Include Sublocations" msgstr "" @@ -6467,123 +6680,135 @@ msgstr "" msgid "Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:153 +#: src/tables/stock/StockItemTestResultTable.tsx:151 msgid "Test result for installed stock item" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:164 +#: src/tables/stock/StockItemTestResultTable.tsx:162 msgid "Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:170 +#: src/tables/stock/StockItemTestResultTable.tsx:168 msgid "No Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:186 +#: src/tables/stock/StockItemTestResultTable.tsx:184 msgid "Attachment" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:209 +#: src/tables/stock/StockItemTestResultTable.tsx:200 msgid "Test station" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:229 +#: src/tables/stock/StockItemTestResultTable.tsx:220 msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:277 -#: src/tables/stock/StockItemTestResultTable.tsx:349 -#: src/tables/stock/StockItemTestResultTable.tsx:404 +#: src/tables/stock/StockItemTestResultTable.tsx:268 +#: src/tables/stock/StockItemTestResultTable.tsx:340 +#: src/tables/stock/StockItemTestResultTable.tsx:395 msgid "Add Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:279 +#: src/tables/stock/StockItemTestResultTable.tsx:270 msgid "Test result added" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:288 -#: src/tables/stock/StockItemTestResultTable.tsx:359 +#: src/tables/stock/StockItemTestResultTable.tsx:279 +#: src/tables/stock/StockItemTestResultTable.tsx:350 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:290 +#: src/tables/stock/StockItemTestResultTable.tsx:281 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:296 -#: src/tables/stock/StockItemTestResultTable.tsx:368 +#: src/tables/stock/StockItemTestResultTable.tsx:287 +#: src/tables/stock/StockItemTestResultTable.tsx:359 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:298 +#: src/tables/stock/StockItemTestResultTable.tsx:289 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:312 +#: src/tables/stock/StockItemTestResultTable.tsx:303 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:313 +#: src/tables/stock/StockItemTestResultTable.tsx:304 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:320 +#: src/tables/stock/StockItemTestResultTable.tsx:311 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:337 +#: src/tables/stock/StockItemTestResultTable.tsx:328 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:386 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:390 +#: src/tables/stock/StockItemTestResultTable.tsx:381 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:391 +#: src/tables/stock/StockItemTestResultTable.tsx:382 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:395 +#: src/tables/stock/StockItemTestResultTable.tsx:386 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:396 +#: src/tables/stock/StockItemTestResultTable.tsx:387 msgid "Show only passed tests" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:38 +#: src/tables/stock/StockLocationTable.tsx:34 msgid "Include sublocations in results" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:42 +#: src/tables/stock/StockLocationTable.tsx:38 msgid "structural" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:43 +#: src/tables/stock/StockLocationTable.tsx:39 msgid "Show structural locations" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:47 +#: src/tables/stock/StockLocationTable.tsx:43 msgid "external" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:48 +#: src/tables/stock/StockLocationTable.tsx:44 msgid "Show external locations" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:52 +#: src/tables/stock/StockLocationTable.tsx:48 msgid "Has location type" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:89 -#: src/tables/stock/StockLocationTable.tsx:118 +#: src/tables/stock/StockLocationTable.tsx:85 +#: src/tables/stock/StockLocationTable.tsx:110 msgid "Add Stock Location" msgstr "" +#: src/tables/stock/StockTrackingTable.tsx:64 +msgid "Added" +msgstr "" + +#: src/tables/stock/StockTrackingTable.tsx:69 +msgid "Removed" +msgstr "" + +#: src/tables/stock/StockTrackingTable.tsx:198 +msgid "No user information" +msgstr "" + #: src/views/MobileAppView.tsx:22 msgid "Mobile viewport detected" msgstr "" diff --git a/src/frontend/src/locales/uk/messages.po b/src/frontend/src/locales/uk/messages.po index 2e1aa6a32d..a0ee6c37a8 100644 --- a/src/frontend/src/locales/uk/messages.po +++ b/src/frontend/src/locales/uk/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: uk\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-05-13 02:48\n" +"PO-Revision-Date: 2024-05-23 11:39\n" "Last-Translator: \n" "Language-Team: Ukrainian\n" "Plural-Forms: nplurals=4; plural=((n%10==1 && n%100!=11) ? 0 : ((n%10 >= 2 && n%10 <=4 && (n%100 < 12 || n%100 > 14)) ? 1 : ((n%10 == 0 || (n%10 >= 5 && n%10 <=9)) || (n%100 >= 11 && n%100 <= 14)) ? 2 : 3));\n" @@ -30,10 +30,67 @@ msgstr "" msgid "Title" msgstr "" +#: src/components/buttons/AdminButton.tsx:83 +msgid "Open in admin interface" +msgstr "" + #: src/components/buttons/CopyButton.tsx:18 msgid "Copy to clipboard" msgstr "" +#: src/components/buttons/PrintingActions.tsx:95 +msgid "Print Label" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:101 +msgid "Label printing completed successfully" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:106 +#: src/components/buttons/PrintingActions.tsx:143 +#: src/components/forms/ApiForm.tsx:504 +#: src/components/forms/fields/ApiFormField.tsx:295 +#: src/components/modals/LicenseModal.tsx:75 +#: src/components/nav/SearchDrawer.tsx:413 +#: src/components/widgets/MarkdownEditor.tsx:107 +#: src/components/widgets/MarkdownEditor.tsx:153 +#: src/pages/ErrorPage.tsx:12 +#: src/pages/ErrorPage.tsx:25 +#: src/pages/part/PartPricingPanel.tsx:71 +#: src/tables/InvenTreeTable.tsx:451 +#: src/tables/InvenTreeTable.tsx:531 +#: src/tables/stock/StockItemTestResultTable.tsx:310 +msgid "Error" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:107 +msgid "The label could not be generated" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:122 +msgid "Print Report" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:138 +msgid "Report printing completed successfully" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:144 +msgid "The report could not be generated" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:171 +msgid "Printing Actions" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:176 +msgid "Print Labels" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:182 +msgid "Print Reports" +msgstr "" + #: src/components/buttons/ScanButton.tsx:15 msgid "Scan QR code" msgstr "" @@ -64,15 +121,15 @@ msgstr "" msgid "No" msgstr "" -#: src/components/details/Details.tsx:302 +#: src/components/details/Details.tsx:303 msgid "No name defined" msgstr "" -#: src/components/details/Details.tsx:339 +#: src/components/details/Details.tsx:340 msgid "Copied" msgstr "" -#: src/components/details/Details.tsx:339 +#: src/components/details/Details.tsx:340 msgid "Copy" msgstr "" @@ -85,24 +142,23 @@ msgid "Remove the associated image from this item?" msgstr "" #: src/components/details/DetailsImage.tsx:71 -#: src/forms/StockForms.tsx:442 +#: src/forms/StockForms.tsx:483 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:448 +#: src/pages/stock/StockDetail.tsx:462 msgid "Remove" msgstr "" #: src/components/details/DetailsImage.tsx:71 -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:163 -#: src/components/items/ActionDropdown.tsx:222 -#: src/components/items/ActionDropdown.tsx:223 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 +#: src/components/items/ActionDropdown.tsx:229 +#: src/components/items/ActionDropdown.tsx:230 #: src/contexts/ThemeContext.tsx:43 #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:40 -#: src/tables/FilterSelectDrawer.tsx:218 -#: src/tables/InvenTreeTable.tsx:493 -#: src/tables/build/BuildOutputTable.tsx:223 -#: src/tables/plugin/PluginListTable.tsx:365 +#: src/tables/FilterSelectDrawer.tsx:207 +#: src/tables/InvenTreeTable.tsx:499 +#: src/tables/build/BuildOutputTable.tsx:225 msgid "Cancel" msgstr "" @@ -119,7 +175,7 @@ msgid "Clear" msgstr "" #: src/components/details/DetailsImage.tsx:227 -#: src/components/forms/ApiForm.tsx:554 +#: src/components/forms/ApiForm.tsx:571 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:56 msgid "Submit" @@ -150,9 +206,10 @@ msgid "Part is not active" msgstr "" #: src/components/details/PartIcons.tsx:34 -#: src/pages/company/CompanyDetail.tsx:308 -#: src/pages/company/SupplierPartDetail.tsx:304 -#: src/pages/part/PartDetail.tsx:684 +#: src/components/render/Plugin.tsx:17 +#: src/pages/company/CompanyDetail.tsx:310 +#: src/pages/company/SupplierPartDetail.tsx:305 +#: src/pages/part/PartDetail.tsx:685 msgid "Inactive" msgstr "" @@ -196,10 +253,10 @@ msgid "Code" msgstr "" #: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:44 -msgid "Failed to parse error response from server." -msgstr "" +#~ msgid "Failed to parse error response from server." +#~ msgstr "Failed to parse error response from server." -#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:82 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:81 msgid "Preview not available, click \"Reload Preview\"." msgstr "" @@ -207,98 +264,99 @@ msgstr "" msgid "PDF Preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:113 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:104 msgid "Error loading template" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:125 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:116 msgid "Error saving template" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 -msgid "Save & Reload preview?" +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:146 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:270 +msgid "Save & Reload Preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:156 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 msgid "Are you sure you want to Save & Reload the preview?" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 +#~ msgid "Save & Reload preview?" +#~ msgstr "Save & Reload preview?" + +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:153 msgid "To render the preview the current template needs to be replaced on the server with your modifications which may break the label if it is under active use. Do you want to proceed?" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:162 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:157 msgid "Save & Reload" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:191 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:189 msgid "Preview updated" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:192 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:190 msgid "The preview has been updated successfully." msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:255 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:262 msgid "Reload preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:256 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:263 msgid "Use the currently stored template from the server" msgstr "" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:263 -msgid "Save & Reload preview" -msgstr "" +#~ msgid "Save & Reload preview" +#~ msgstr "Save & Reload preview" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:264 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:271 msgid "Save the current template and reload the preview" msgstr "" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:322 -#: src/tables/part/PartThumbTable.tsx:203 -msgid "Select" +#~ msgid "to preview" +#~ msgstr "to preview" + +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:329 +msgid "Select instance to preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:322 -msgid "to preview" -msgstr "" - -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:366 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:373 msgid "Error rendering template" msgstr "" -#: src/components/forms/ApiForm.tsx:143 +#: src/components/forms/ApiForm.tsx:148 #: src/functions/forms.tsx:259 msgid "Form Error" msgstr "" -#: src/components/forms/ApiForm.tsx:411 +#: src/components/forms/ApiForm.tsx:428 #: src/components/widgets/MarkdownEditor.tsx:145 msgid "Success" msgstr "" #: src/components/forms/ApiForm.tsx:487 -msgid "Form Errors Exist" -msgstr "" +#~ msgid "Form Errors Exist" +#~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:592 -#: src/tables/plugin/PluginListTable.tsx:445 +#: src/components/forms/ApiForm.tsx:609 +#: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "" -#: src/components/forms/ApiForm.tsx:612 -#: src/components/items/ActionDropdown.tsx:203 +#: src/components/forms/ApiForm.tsx:629 +#: src/components/items/ActionDropdown.tsx:210 #: src/functions/forms.tsx:299 #: src/hooks/UseForm.tsx:122 #: src/pages/Index/Scan.tsx:343 #: src/pages/Notifications.tsx:123 -#: src/tables/InvenTreeTable.tsx:492 +#: src/tables/InvenTreeTable.tsx:498 #: src/tables/RowActions.tsx:71 -#: src/tables/plugin/PluginListTable.tsx:477 -#: src/tables/settings/TemplateTable.tsx:105 -#: src/tables/settings/TemplateTable.tsx:154 -#: src/tables/settings/TemplateTable.tsx:236 +#: src/tables/plugin/PluginListTable.tsx:420 msgid "Delete" msgstr "" @@ -468,18 +526,19 @@ msgstr "" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 -#: src/pages/part/CategoryDetail.tsx:77 -#: src/pages/part/PartDetail.tsx:125 -#: src/pages/stock/LocationDetail.tsx:83 +#: src/pages/part/CategoryDetail.tsx:78 +#: src/pages/part/PartDetail.tsx:126 +#: src/pages/stock/LocationDetail.tsx:85 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 #: src/tables/machine/MachineTypeTable.tsx:216 #: src/tables/machine/MachineTypeTable.tsx:319 #: src/tables/plugin/PluginErrorTable.tsx:33 -#: src/tables/plugin/PluginListTable.tsx:169 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:27 +#: src/tables/plugin/PluginListTable.tsx:126 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:32 #: src/tables/settings/GroupTable.tsx:103 #: src/tables/settings/PendingTasksTable.tsx:26 +#: src/tables/stock/LocationTypesTable.tsx:60 msgid "Name" msgstr "" @@ -520,35 +579,20 @@ msgstr "" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/ApiFormField.tsx:276 -#: src/components/modals/LicenseModal.tsx:75 -#: src/components/nav/SearchDrawer.tsx:413 -#: src/components/widgets/MarkdownEditor.tsx:107 -#: src/components/widgets/MarkdownEditor.tsx:153 -#: src/pages/ErrorPage.tsx:12 -#: src/pages/ErrorPage.tsx:25 -#: src/pages/part/PartPricingPanel.tsx:71 -#: src/tables/InvenTreeTable.tsx:445 -#: src/tables/InvenTreeTable.tsx:525 -#: src/tables/plugin/PluginListTable.tsx:402 -#: src/tables/stock/StockItemTestResultTable.tsx:319 -msgid "Error" -msgstr "" - -#: src/components/forms/fields/RelatedModelField.tsx:305 +#: src/components/forms/fields/RelatedModelField.tsx:315 #: src/pages/Index/Settings/UserSettings.tsx:64 #: src/tables/Search.tsx:23 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:306 +#: src/components/forms/fields/RelatedModelField.tsx:316 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:120 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:308 +#: src/components/forms/fields/RelatedModelField.tsx:318 msgid "No results found" msgstr "" @@ -569,54 +613,51 @@ msgstr "" msgid "Thumbnail" msgstr "" -#: src/components/items/ActionDropdown.tsx:112 -#: src/pages/build/BuildDetail.tsx:354 +#: src/components/items/ActionDropdown.tsx:119 +#: src/pages/build/BuildDetail.tsx:360 msgid "Barcode Actions" msgstr "" -#: src/components/items/ActionDropdown.tsx:129 +#: src/components/items/ActionDropdown.tsx:136 msgid "View" msgstr "" -#: src/components/items/ActionDropdown.tsx:130 +#: src/components/items/ActionDropdown.tsx:137 msgid "View barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:146 +#: src/components/items/ActionDropdown.tsx:153 msgid "Link Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:147 +#: src/components/items/ActionDropdown.tsx:154 msgid "Link custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:163 -#: src/forms/PurchaseOrderForms.tsx:375 +#: src/components/items/ActionDropdown.tsx:170 +#: src/forms/PurchaseOrderForms.tsx:389 msgid "Unlink Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:164 +#: src/components/items/ActionDropdown.tsx:171 msgid "Unlink custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:182 +#: src/components/items/ActionDropdown.tsx:189 #: src/tables/RowActions.tsx:51 -#: src/tables/settings/TemplateTable.tsx:87 -#: src/tables/settings/TemplateTable.tsx:150 -#: src/tables/settings/TemplateTable.tsx:287 msgid "Edit" msgstr "" -#: src/components/items/ActionDropdown.tsx:204 +#: src/components/items/ActionDropdown.tsx:211 msgid "Delete item" msgstr "" -#: src/components/items/ActionDropdown.tsx:241 +#: src/components/items/ActionDropdown.tsx:248 #: src/tables/RowActions.tsx:31 msgid "Duplicate" msgstr "" -#: src/components/items/ActionDropdown.tsx:242 +#: src/components/items/ActionDropdown.tsx:249 msgid "Duplicate item" msgstr "" @@ -625,7 +666,7 @@ msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:437 +#: src/tables/InvenTreeTable.tsx:443 msgid "Unknown error" msgstr "" @@ -785,27 +826,27 @@ msgstr "" #: src/components/modals/QrCodeModal.tsx:154 #: src/defaults/menuItems.tsx:21 -#: src/pages/Index/Scan.tsx:747 +#: src/pages/Index/Scan.tsx:746 msgid "Scanning" msgstr "" #: src/components/modals/QrCodeModal.tsx:154 -#: src/pages/Index/Scan.tsx:747 +#: src/pages/Index/Scan.tsx:746 msgid "Not scanning" msgstr "" #: src/components/modals/QrCodeModal.tsx:159 -#: src/pages/Index/Scan.tsx:753 +#: src/pages/Index/Scan.tsx:752 msgid "Select Camera" msgstr "" #: src/components/modals/QrCodeModal.tsx:169 -#: src/pages/Index/Scan.tsx:738 +#: src/pages/Index/Scan.tsx:737 msgid "Start scanning" msgstr "" #: src/components/modals/QrCodeModal.tsx:176 -#: src/pages/Index/Scan.tsx:730 +#: src/pages/Index/Scan.tsx:729 msgid "Stop scanning" msgstr "" @@ -891,8 +932,8 @@ msgid "Email settings not configured" msgstr "" #: src/components/modals/ServerInfoModal.tsx:121 -#: src/tables/plugin/PluginListTable.tsx:187 -#: src/tables/plugin/PluginListTable.tsx:319 +#: src/tables/plugin/PluginListTable.tsx:144 +#: src/tables/plugin/PluginListTable.tsx:294 msgid "Version" msgstr "" @@ -926,13 +967,13 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:293 +#: src/pages/Index/Settings/SystemSettings.tsx:294 msgid "System Settings" msgstr "" #: src/components/nav/MainMenu.tsx:67 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:172 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 msgid "Admin Center" msgstr "" @@ -975,7 +1016,7 @@ msgid "Pages" msgstr "" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:133 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:153 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "" @@ -1013,9 +1054,9 @@ msgid "Mark as read" msgstr "" #: src/components/nav/PartCategoryTree.tsx:158 -#: src/components/render/ModelType.tsx:60 +#: src/components/render/ModelType.tsx:64 #: src/pages/Index/Settings/SystemSettings.tsx:162 -#: src/pages/part/CategoryDetail.tsx:248 +#: src/pages/part/CategoryDetail.tsx:249 msgid "Part Categories" msgstr "" @@ -1052,142 +1093,147 @@ msgid "No results available for search query" msgstr "" #: src/components/nav/StockLocationTree.tsx:93 -#: src/components/render/ModelType.tsx:76 -#: src/pages/stock/LocationDetail.tsx:175 +#: src/components/render/ModelType.tsx:82 +#: src/pages/stock/LocationDetail.tsx:185 msgid "Stock Locations" msgstr "" -#: src/components/render/Instance.tsx:137 +#: src/components/render/Instance.tsx:166 msgid "Unknown model: {model}" msgstr "" -#: src/components/render/ModelType.tsx:21 -#: src/forms/BuildForms.tsx:184 -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49 +#: src/components/render/ModelType.tsx:22 +#: src/forms/BuildForms.tsx:201 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:83 #: src/pages/part/PartDetail.tsx:828 #: src/tables/part/RelatedPartTable.tsx:45 +#: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" msgstr "" -#: src/components/render/ModelType.tsx:22 +#: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 #: src/pages/Index/Settings/SystemSettings.tsx:167 -#: src/pages/part/CategoryDetail.tsx:109 -#: src/pages/part/CategoryDetail.tsx:234 -#: src/pages/part/CategoryDetail.tsx:264 -#: src/pages/part/PartDetail.tsx:638 +#: src/pages/part/CategoryDetail.tsx:110 +#: src/pages/part/CategoryDetail.tsx:235 +#: src/pages/part/CategoryDetail.tsx:265 +#: src/pages/part/PartDetail.tsx:639 msgid "Parts" msgstr "" -#: src/components/render/ModelType.tsx:29 +#: src/components/render/ModelType.tsx:31 msgid "Part Parameter Template" msgstr "" -#: src/components/render/ModelType.tsx:30 +#: src/components/render/ModelType.tsx:32 msgid "Part Parameter Templates" msgstr "" -#: src/components/render/ModelType.tsx:36 +#: src/components/render/ModelType.tsx:38 msgid "Part Test Template" msgstr "" -#: src/components/render/ModelType.tsx:37 +#: src/components/render/ModelType.tsx:39 msgid "Part Test Templates" msgstr "" -#: src/components/render/ModelType.tsx:43 -#: src/pages/company/SupplierPartDetail.tsx:189 -#: src/pages/company/SupplierPartDetail.tsx:317 -#: src/pages/stock/StockDetail.tsx:159 +#: src/components/render/ModelType.tsx:45 +#: src/pages/company/SupplierPartDetail.tsx:190 +#: src/pages/company/SupplierPartDetail.tsx:318 +#: src/pages/stock/StockDetail.tsx:162 #: src/tables/purchasing/SupplierPartTable.tsx:68 msgid "Supplier Part" msgstr "" -#: src/components/render/ModelType.tsx:44 +#: src/components/render/ModelType.tsx:46 msgid "Supplier Parts" msgstr "" -#: src/components/render/ModelType.tsx:51 -#: src/pages/company/ManufacturerPartDetail.tsx:124 +#: src/components/render/ModelType.tsx:54 +#: src/pages/company/ManufacturerPartDetail.tsx:125 msgid "Manufacturer Part" msgstr "" -#: src/components/render/ModelType.tsx:52 +#: src/components/render/ModelType.tsx:55 msgid "Manufacturer Parts" msgstr "" -#: src/components/render/ModelType.tsx:59 -#: src/pages/part/CategoryDetail.tsx:287 +#: src/components/render/ModelType.tsx:63 +#: src/pages/part/CategoryDetail.tsx:288 msgid "Part Category" msgstr "" -#: src/components/render/ModelType.tsx:67 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67 -#: src/pages/stock/StockDetail.tsx:535 +#: src/components/render/ModelType.tsx:72 +#: src/pages/stock/StockDetail.tsx:548 +#: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" msgstr "" -#: src/components/render/ModelType.tsx:68 -#: src/pages/company/CompanyDetail.tsx:197 -#: src/pages/stock/LocationDetail.tsx:116 -#: src/pages/stock/LocationDetail.tsx:161 +#: src/components/render/ModelType.tsx:73 +#: src/pages/company/CompanyDetail.tsx:199 +#: src/pages/stock/LocationDetail.tsx:118 +#: src/pages/stock/LocationDetail.tsx:171 #: src/pages/stock/LocationDetail.tsx:365 msgid "Stock Items" msgstr "" -#: src/components/render/ModelType.tsx:75 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:154 +#: src/components/render/ModelType.tsx:81 msgid "Stock Location" msgstr "" -#: src/components/render/ModelType.tsx:83 +#: src/components/render/ModelType.tsx:90 +msgid "Stock Location Type" +msgstr "" + +#: src/components/render/ModelType.tsx:91 +msgid "Stock Location Types" +msgstr "" + +#: src/components/render/ModelType.tsx:95 msgid "Stock History" msgstr "" -#: src/components/render/ModelType.tsx:84 +#: src/components/render/ModelType.tsx:96 msgid "Stock Histories" msgstr "" -#: src/components/render/ModelType.tsx:88 +#: src/components/render/ModelType.tsx:100 #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:43 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:126 msgid "Build" msgstr "" -#: src/components/render/ModelType.tsx:89 +#: src/components/render/ModelType.tsx:101 msgid "Builds" msgstr "" -#: src/components/render/ModelType.tsx:96 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:76 +#: src/components/render/ModelType.tsx:109 msgid "Build Line" msgstr "" -#: src/components/render/ModelType.tsx:97 +#: src/components/render/ModelType.tsx:110 msgid "Build Lines" msgstr "" -#: src/components/render/ModelType.tsx:104 -#: src/pages/company/CompanyDetail.tsx:321 +#: src/components/render/ModelType.tsx:117 +#: src/pages/company/CompanyDetail.tsx:323 msgid "Company" msgstr "" -#: src/components/render/ModelType.tsx:105 +#: src/components/render/ModelType.tsx:118 msgid "Companies" msgstr "" -#: src/components/render/ModelType.tsx:112 +#: src/components/render/ModelType.tsx:126 #: src/tables/TableHoverCard.tsx:58 #: src/tables/build/BuildOrderTable.tsx:131 #: src/tables/purchasing/PurchaseOrderTable.tsx:64 @@ -1196,170 +1242,199 @@ msgstr "" msgid "Project Code" msgstr "" -#: src/components/render/ModelType.tsx:113 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:97 +#: src/components/render/ModelType.tsx:127 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:105 msgid "Project Codes" msgstr "" -#: src/components/render/ModelType.tsx:119 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99 +#: src/components/render/ModelType.tsx:133 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:355 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:362 +#: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" msgstr "" -#: src/components/render/ModelType.tsx:120 -#: src/pages/Index/Settings/SystemSettings.tsx:242 -#: src/pages/company/CompanyDetail.tsx:190 -#: src/pages/company/SupplierPartDetail.tsx:223 -#: src/pages/part/PartDetail.tsx:571 +#: src/components/render/ModelType.tsx:134 +#: src/pages/Index/Settings/SystemSettings.tsx:243 +#: src/pages/company/CompanyDetail.tsx:192 +#: src/pages/company/SupplierPartDetail.tsx:224 +#: src/pages/part/PartDetail.tsx:572 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" -#: src/components/render/ModelType.tsx:127 +#: src/components/render/ModelType.tsx:142 msgid "Purchase Order Line" msgstr "" -#: src/components/render/ModelType.tsx:128 +#: src/components/render/ModelType.tsx:143 msgid "Purchase Order Lines" msgstr "" -#: src/components/render/ModelType.tsx:132 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:108 +#: src/components/render/ModelType.tsx:147 #: src/pages/build/BuildDetail.tsx:131 -#: src/pages/sales/SalesOrderDetail.tsx:340 -#: src/pages/stock/StockDetail.tsx:207 +#: src/pages/sales/SalesOrderDetail.tsx:347 +#: src/pages/stock/StockDetail.tsx:210 +#: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" msgstr "" -#: src/components/render/ModelType.tsx:133 -#: src/pages/Index/Settings/SystemSettings.tsx:257 -#: src/pages/company/CompanyDetail.tsx:210 -#: src/pages/part/PartDetail.tsx:577 +#: src/components/render/ModelType.tsx:148 +#: src/pages/Index/Settings/SystemSettings.tsx:258 +#: src/pages/company/CompanyDetail.tsx:212 +#: src/pages/part/PartDetail.tsx:578 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" -#: src/components/render/ModelType.tsx:140 +#: src/components/render/ModelType.tsx:156 msgid "Sales Order Shipment" msgstr "" -#: src/components/render/ModelType.tsx:141 +#: src/components/render/ModelType.tsx:157 msgid "Sales Order Shipments" msgstr "" -#: src/components/render/ModelType.tsx:147 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:117 -#: src/pages/sales/ReturnOrderDetail.tsx:318 +#: src/components/render/ModelType.tsx:163 +#: src/pages/sales/ReturnOrderDetail.tsx:325 +#: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "" -#: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:272 -#: src/pages/company/CompanyDetail.tsx:217 +#: src/components/render/ModelType.tsx:164 +#: src/pages/Index/Settings/SystemSettings.tsx:273 +#: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" msgstr "" -#: src/components/render/ModelType.tsx:155 +#: src/components/render/ModelType.tsx:172 #: src/tables/company/AddressTable.tsx:47 msgid "Address" msgstr "" -#: src/components/render/ModelType.tsx:156 -#: src/pages/company/CompanyDetail.tsx:247 +#: src/components/render/ModelType.tsx:173 +#: src/pages/company/CompanyDetail.tsx:249 msgid "Addresses" msgstr "" -#: src/components/render/ModelType.tsx:162 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:189 -#: src/pages/sales/ReturnOrderDetail.tsx:157 -#: src/pages/sales/SalesOrderDetail.tsx:161 +#: src/components/render/ModelType.tsx:179 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:191 +#: src/pages/sales/ReturnOrderDetail.tsx:159 +#: src/pages/sales/SalesOrderDetail.tsx:163 msgid "Contact" msgstr "" -#: src/components/render/ModelType.tsx:163 -#: src/pages/company/CompanyDetail.tsx:241 +#: src/components/render/ModelType.tsx:180 +#: src/pages/company/CompanyDetail.tsx:243 msgid "Contacts" msgstr "" -#: src/components/render/ModelType.tsx:169 +#: src/components/render/ModelType.tsx:186 msgid "Owner" msgstr "" -#: src/components/render/ModelType.tsx:170 +#: src/components/render/ModelType.tsx:187 msgid "Owners" msgstr "" -#: src/components/render/ModelType.tsx:176 +#: src/components/render/ModelType.tsx:193 +#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "" -#: src/components/render/ModelType.tsx:177 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:73 +#: src/components/render/ModelType.tsx:194 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:81 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "" -#: src/components/render/Order.tsx:87 +#: src/components/render/ModelType.tsx:200 +msgid "Label Template" +msgstr "" + +#: src/components/render/ModelType.tsx:201 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:135 +msgid "Label Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:207 +msgid "Report Template" +msgstr "" + +#: src/components/render/ModelType.tsx:208 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:141 +msgid "Report Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:214 +msgid "Plugin Configuration" +msgstr "" + +#: src/components/render/ModelType.tsx:215 +msgid "Plugin Configurations" +msgstr "" + +#: src/components/render/Order.tsx:104 msgid "Shipment" msgstr "" -#: src/components/render/Part.tsx:12 +#: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:198 -#: src/pages/part/PartDetail.tsx:491 +#: src/pages/Index/Settings/SystemSettings.tsx:199 +#: src/pages/part/PartDetail.tsx:492 #: src/pages/stock/LocationDetail.tsx:344 -#: src/pages/stock/StockDetail.tsx:344 +#: src/pages/stock/StockDetail.tsx:352 #: src/tables/stock/StockItemTable.tsx:57 msgid "Stock" msgstr "" -#: src/components/render/Stock.tsx:26 -#: src/pages/stock/StockDetail.tsx:142 -#: src/pages/stock/StockDetail.tsx:501 +#: src/components/render/Stock.tsx:52 +#: src/pages/stock/StockDetail.tsx:145 +#: src/pages/stock/StockDetail.tsx:514 msgid "Serial Number" msgstr "" -#: src/components/render/Stock.tsx:28 -#: src/forms/BuildForms.tsx:189 +#: src/components/render/Stock.tsx:54 +#: src/forms/BuildForms.tsx:206 #: src/pages/part/pricing/BomPricingPanel.tsx:144 -#: src/pages/part/pricing/PriceBreakPanel.tsx:96 -#: src/pages/stock/StockDetail.tsx:137 -#: src/pages/stock/StockDetail.tsx:507 +#: src/pages/part/pricing/PriceBreakPanel.tsx:94 +#: src/pages/stock/StockDetail.tsx:140 +#: src/pages/stock/StockDetail.tsx:520 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:73 +#: src/tables/stock/StockTrackingTable.tsx:59 msgid "Quantity" msgstr "" -#: src/components/settings/SettingItem.tsx:46 -#: src/components/settings/SettingItem.tsx:99 -msgid "Setting updated" -msgstr "" - #: src/components/settings/SettingItem.tsx:47 #: src/components/settings/SettingItem.tsx:100 -msgid "{0} updated successfully" -msgstr "" +#~ msgid "{0} updated successfully" +#~ msgstr "{0} updated successfully" -#: src/components/settings/SettingItem.tsx:55 -msgid "Error editing setting" -msgstr "" - -#: src/components/settings/SettingItem.tsx:92 +#: src/components/settings/SettingList.tsx:67 msgid "Edit Setting" msgstr "" -#: src/components/settings/SettingList.tsx:63 -msgid "No settings specified" +#: src/components/settings/SettingList.tsx:78 +#: src/components/settings/SettingList.tsx:108 +msgid "Setting {0} updated successfully" msgstr "" -#: src/components/tables/ColumnRenderers.tsx:134 -#~ msgid "Shipment Date" -#~ msgstr "Shipment Date" +#: src/components/settings/SettingList.tsx:107 +msgid "Setting updated" +msgstr "" + +#: src/components/settings/SettingList.tsx:117 +msgid "Error editing setting" +msgstr "" + +#: src/components/settings/SettingList.tsx:158 +msgid "No settings specified" +msgstr "" #: src/components/tables/FilterGroup.tsx:29 #~ msgid "Add table filter" @@ -1731,10 +1806,6 @@ msgstr "" #~ msgid "This is a test filter" #~ msgstr "This is a test filter" -#: src/components/tables/stock/StockLocationTable.tsx:91 -#~ msgid "Location Type" -#~ msgstr "Location Type" - #: src/components/tables/stock/StockLocationTable.tsx:145 #~ msgid "Stock location updated" #~ msgstr "Stock location updated" @@ -2072,7 +2143,7 @@ msgstr "" #~ msgstr "Local Server" #: src/defaults/links.tsx:11 -#: src/pages/company/CompanyDetail.tsx:90 +#: src/pages/company/CompanyDetail.tsx:92 msgid "Website" msgstr "" @@ -2087,10 +2158,10 @@ msgstr "" #: src/defaults/links.tsx:31 #: src/defaults/menuItems.tsx:48 #: src/pages/company/ManufacturerDetail.tsx:9 -#: src/pages/company/ManufacturerPartDetail.tsx:231 +#: src/pages/company/ManufacturerPartDetail.tsx:235 #: src/pages/company/SupplierDetail.tsx:9 -#: src/pages/company/SupplierPartDetail.tsx:291 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:358 +#: src/pages/company/SupplierPartDetail.tsx:292 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:365 #: src/pages/purchasing/PurchasingIndex.tsx:52 msgid "Purchasing" msgstr "" @@ -2098,15 +2169,15 @@ msgstr "" #: src/defaults/links.tsx:32 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:323 +#: src/pages/sales/ReturnOrderDetail.tsx:330 #: src/pages/sales/SalesIndex.tsx:45 -#: src/pages/sales/SalesOrderDetail.tsx:345 +#: src/pages/sales/SalesOrderDetail.tsx:352 msgid "Sales" msgstr "" #: src/defaults/links.tsx:35 #: src/defaults/menuItems.tsx:71 -#: src/pages/Index/Playground.tsx:239 +#: src/pages/Index/Playground.tsx:238 msgid "Playground" msgstr "" @@ -2240,87 +2311,83 @@ msgstr "" #~ msgstr "Combusken battles with the intensely hot flames it spews" #: src/forms/AttachmentForms.tsx:57 -msgid "Add File" -msgstr "" +#~ msgid "Add File" +#~ msgstr "Add File" #: src/forms/AttachmentForms.tsx:57 -msgid "Add Link" -msgstr "" +#~ msgid "Add Link" +#~ msgstr "Add Link" #: src/forms/AttachmentForms.tsx:58 -msgid "File added" -msgstr "" +#~ msgid "File added" +#~ msgstr "File added" #: src/forms/AttachmentForms.tsx:58 -msgid "Link added" -msgstr "" +#~ msgid "Link added" +#~ msgstr "Link added" #: src/forms/AttachmentForms.tsx:99 -msgid "Edit File" -msgstr "" +#~ msgid "Edit File" +#~ msgstr "Edit File" #: src/forms/AttachmentForms.tsx:99 -msgid "Edit Link" -msgstr "" +#~ msgid "Edit Link" +#~ msgstr "Edit Link" #: src/forms/AttachmentForms.tsx:100 -msgid "File updated" -msgstr "" +#~ msgid "File updated" +#~ msgstr "File updated" #: src/forms/AttachmentForms.tsx:100 -msgid "Link updated" -msgstr "" - -#: src/forms/AttachmentForms.tsx:124 -msgid "Delete Attachment" -msgstr "" +#~ msgid "Link updated" +#~ msgstr "Link updated" #: src/forms/AttachmentForms.tsx:125 -msgid "Attachment deleted" -msgstr "" +#~ msgid "Attachment deleted" +#~ msgstr "Attachment deleted" #: src/forms/AttachmentForms.tsx:128 -msgid "Are you sure you want to delete this attachment?" -msgstr "" +#~ msgid "Are you sure you want to delete this attachment?" +#~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BuildForms.tsx:129 +#: src/forms/BuildForms.tsx:146 msgid "Next serial number" msgstr "" -#: src/forms/BuildForms.tsx:133 +#: src/forms/BuildForms.tsx:150 msgid "Latest serial number" msgstr "" -#: src/forms/BuildForms.tsx:205 +#: src/forms/BuildForms.tsx:222 msgid "Remove output" msgstr "" -#: src/forms/BuildForms.tsx:287 +#: src/forms/BuildForms.tsx:304 msgid "Complete Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:291 +#: src/forms/BuildForms.tsx:308 msgid "Build outputs have been completed" msgstr "" -#: src/forms/BuildForms.tsx:360 +#: src/forms/BuildForms.tsx:377 msgid "Scrap Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:364 +#: src/forms/BuildForms.tsx:381 msgid "Build outputs have been scrapped" msgstr "" -#: src/forms/BuildForms.tsx:396 -#: src/forms/BuildForms.tsx:420 +#: src/forms/BuildForms.tsx:413 +#: src/forms/BuildForms.tsx:437 msgid "Cancel Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:397 +#: src/forms/BuildForms.tsx:414 msgid "Selected build outputs will be deleted" msgstr "" -#: src/forms/BuildForms.tsx:424 +#: src/forms/BuildForms.tsx:441 msgid "Build outputs have been cancelled" msgstr "" @@ -2344,76 +2411,76 @@ msgstr "" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PurchaseOrderForms.tsx:265 +#: src/forms/PurchaseOrderForms.tsx:279 msgid "Choose Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:273 +#: src/forms/PurchaseOrderForms.tsx:287 msgid "Item Destination selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:282 +#: src/forms/PurchaseOrderForms.tsx:296 msgid "Part category default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:292 +#: src/forms/PurchaseOrderForms.tsx:306 msgid "Received stock location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:297 +#: src/forms/PurchaseOrderForms.tsx:311 msgid "Default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:308 -#: src/forms/PurchaseOrderForms.tsx:384 +#: src/forms/PurchaseOrderForms.tsx:322 +#: src/forms/PurchaseOrderForms.tsx:398 msgid "Scan Barcode" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:352 +#: src/forms/PurchaseOrderForms.tsx:366 msgid "Set Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:359 +#: src/forms/PurchaseOrderForms.tsx:373 msgid "Assign Batch Code{0}" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:368 +#: src/forms/PurchaseOrderForms.tsx:382 msgid "Change Status" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:393 -#: src/forms/StockForms.tsx:351 +#: src/forms/PurchaseOrderForms.tsx:407 +#: src/forms/StockForms.tsx:392 msgid "Remove item from list" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:418 -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:58 -#: src/pages/stock/StockDetail.tsx:167 -#: src/tables/ColumnRenderers.tsx:42 +#: src/forms/PurchaseOrderForms.tsx:432 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/pages/stock/StockDetail.tsx:170 +#: src/tables/ColumnRenderers.tsx:34 +#: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:434 +#: src/forms/PurchaseOrderForms.tsx:448 msgid "Store at default location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:447 +#: src/forms/PurchaseOrderForms.tsx:461 msgid "Store at line item destination" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:457 +#: src/forms/PurchaseOrderForms.tsx:471 msgid "Store with already received stock" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:613 +#: src/forms/PurchaseOrderForms.tsx:627 msgid "Receive Line Items" msgstr "" @@ -2421,119 +2488,118 @@ msgstr "" #~ msgid "Receive line items" #~ msgstr "Receive line items" -#: src/forms/StockForms.tsx:69 +#: src/forms/StockForms.tsx:101 msgid "Add given quantity as packs instead of individual items" msgstr "" -#: src/forms/StockForms.tsx:80 -msgid "Enter initial quantity for this stock item" -msgstr "" - -#: src/forms/StockForms.tsx:85 -msgid "Serial Numbers" -msgstr "" - -#: src/forms/StockForms.tsx:86 -msgid "Enter serial numbers for new stock (or leave blank)" -msgstr "" - #: src/forms/StockForms.tsx:110 #~ msgid "Create Stock Item" #~ msgstr "Create Stock Item" -#: src/forms/StockForms.tsx:135 -#: src/pages/stock/StockDetail.tsx:367 -#: src/tables/stock/StockItemTable.tsx:382 -#: src/tables/stock/StockItemTable.tsx:499 -msgid "Add Stock Item" +#: src/forms/StockForms.tsx:114 +msgid "Enter initial quantity for this stock item" +msgstr "" + +#: src/forms/StockForms.tsx:121 +msgid "Serial Numbers" +msgstr "" + +#: src/forms/StockForms.tsx:122 +msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" #: src/forms/StockForms.tsx:158 #~ msgid "Stock item updated" #~ msgstr "Stock item updated" -#: src/forms/StockForms.tsx:298 +#: src/forms/StockForms.tsx:176 +#: src/pages/stock/StockDetail.tsx:375 +#: src/tables/stock/StockItemTable.tsx:382 +#: src/tables/stock/StockItemTable.tsx:499 +msgid "Add Stock Item" +msgstr "" + +#: src/forms/StockForms.tsx:339 msgid "Loading..." msgstr "" -#: src/forms/StockForms.tsx:340 +#: src/forms/StockForms.tsx:381 msgid "Move to default location" msgstr "" -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/part/PartDetail.tsx:205 -#: src/pages/part/PartDetail.tsx:654 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/pages/part/PartDetail.tsx:206 +#: src/pages/part/PartDetail.tsx:655 #: src/tables/stock/StockItemTable.tsx:290 msgid "In Stock" msgstr "" -#: src/forms/StockForms.tsx:408 +#: src/forms/StockForms.tsx:449 msgid "Move" msgstr "" -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/tables/RowActions.tsx:147 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/tables/RowActions.tsx:149 msgid "Actions" msgstr "" -#: src/forms/StockForms.tsx:471 -#: src/pages/stock/StockDetail.tsx:440 -#: src/tables/settings/TemplateTable.tsx:266 -#: src/tables/stock/StockItemTestResultTable.tsx:348 +#: src/forms/StockForms.tsx:512 +#: src/pages/stock/StockDetail.tsx:454 +#: src/tables/stock/StockItemTestResultTable.tsx:339 msgid "Add" msgstr "" -#: src/forms/StockForms.tsx:499 +#: src/forms/StockForms.tsx:540 #: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:430 +#: src/pages/stock/StockDetail.tsx:444 msgid "Count" msgstr "" -#: src/forms/StockForms.tsx:744 +#: src/forms/StockForms.tsx:785 msgid "Add Stock" msgstr "" -#: src/forms/StockForms.tsx:753 +#: src/forms/StockForms.tsx:794 msgid "Remove Stock" msgstr "" -#: src/forms/StockForms.tsx:762 -#: src/pages/part/PartDetail.tsx:781 +#: src/forms/StockForms.tsx:803 +#: src/pages/part/PartDetail.tsx:782 msgid "Transfer Stock" msgstr "" -#: src/forms/StockForms.tsx:771 -#: src/pages/part/PartDetail.tsx:770 +#: src/forms/StockForms.tsx:812 +#: src/pages/part/PartDetail.tsx:771 msgid "Count Stock" msgstr "" -#: src/forms/StockForms.tsx:780 +#: src/forms/StockForms.tsx:821 msgid "Change Stock Status" msgstr "" -#: src/forms/StockForms.tsx:789 +#: src/forms/StockForms.tsx:830 msgid "Merge Stock" msgstr "" -#: src/forms/StockForms.tsx:808 +#: src/forms/StockForms.tsx:849 msgid "Delete Stock Items" msgstr "" -#: src/forms/StockForms.tsx:815 +#: src/forms/StockForms.tsx:856 msgid "Parent stock location" msgstr "" @@ -2728,7 +2794,7 @@ msgstr "" msgid "Welcome to your Dashboard{0}" msgstr "" -#: src/pages/Index/Playground.tsx:244 +#: src/pages/Index/Playground.tsx:243 msgid "This page is a showcase for the possibilities of Platform UI." msgstr "" @@ -3138,49 +3204,53 @@ msgstr "" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:79 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:87 msgid "Background Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:85 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:93 msgid "Error Reports" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:91 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:99 msgid "Currencies" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:109 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:117 msgid "Custom Units" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:115 -#: src/pages/part/CategoryDetail.tsx:254 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:123 +#: src/pages/part/CategoryDetail.tsx:255 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:121 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 +#~ msgid "Templates" +#~ msgstr "Templates" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:129 msgid "Category Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 -msgid "Templates" +#: src/pages/Index/Settings/AdminCenter/Index.tsx:147 +msgid "Location types" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:139 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:159 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:149 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:169 msgid "Quick Actions" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:154 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 msgid "Add a new user" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:173 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:193 msgid "Advanced Options" msgstr "" @@ -3225,26 +3295,32 @@ msgstr "" msgid "Plugin Settings" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:25 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:53 +msgid "Background Worker Not Running" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:54 +msgid "The background task manager service is not running. Contact your system administrator." +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:60 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:76 msgid "Pending Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:33 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:64 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:84 msgid "Scheduled Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:41 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:68 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:92 msgid "Failed Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:139 -msgid "Labels" -msgstr "" - #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:39 -msgid "Label" -msgstr "" +#~ msgid "Label" +#~ msgstr "Label" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67 #~ msgid "Stock item" @@ -3255,13 +3331,13 @@ msgstr "" #~ msgstr "Build line" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:88 -msgid "Reports" -msgstr "" +#~ msgid "Reports" +#~ msgstr "Reports" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:89 #: src/pages/build/BuildDetail.tsx:373 -msgid "Report" -msgstr "" +#~ msgid "Report" +#~ msgstr "Report" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99 #~ msgid "Purchase order" @@ -3275,14 +3351,9 @@ msgstr "" #~ msgid "Return order" #~ msgstr "Return order" -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135 -#: src/pages/part/PartDetail.tsx:518 -msgid "Bill of Materials" -msgstr "" - #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:145 -msgid "Tests" -msgstr "" +#~ msgid "Tests" +#~ msgstr "Tests" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:154 #~ msgid "Stock location" @@ -3321,26 +3392,30 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" +#: src/pages/Index/Settings/SystemSettings.tsx:139 +msgid "Labels" +msgstr "" + #: src/pages/Index/Settings/SystemSettings.tsx:145 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:223 -#: src/pages/part/PartDetail.tsx:589 +#: src/pages/Index/Settings/SystemSettings.tsx:224 +#: src/pages/part/PartDetail.tsx:590 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:228 -#: src/pages/build/BuildDetail.tsx:426 +#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:525 -#: src/pages/sales/SalesOrderDetail.tsx:263 +#: src/pages/part/PartDetail.tsx:526 +#: src/pages/sales/SalesOrderDetail.tsx:265 msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:296 +#: src/pages/Index/Settings/SystemSettings.tsx:297 msgid "Switch to User Setting" msgstr "" @@ -3397,44 +3472,47 @@ msgstr "" #~ msgstr "Build Status" #: src/pages/build/BuildDetail.tsx:89 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:128 -#: src/pages/sales/ReturnOrderDetail.tsx:95 -#: src/pages/sales/SalesOrderDetail.tsx:99 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:130 +#: src/pages/sales/ReturnOrderDetail.tsx:97 +#: src/pages/sales/SalesOrderDetail.tsx:101 #: src/tables/build/BuildOrderTable.tsx:113 #: src/tables/machine/MachineListTable.tsx:326 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderTable.tsx:46 #: src/tables/sales/SalesOrderTable.tsx:52 #: src/tables/stock/StockItemTable.tsx:259 +#: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "" #: src/pages/build/BuildDetail.tsx:95 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:101 -#: src/pages/sales/ReturnOrderDetail.tsx:69 -#: src/pages/sales/SalesOrderDetail.tsx:73 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:103 +#: src/pages/sales/ReturnOrderDetail.tsx:71 +#: src/pages/sales/SalesOrderDetail.tsx:75 +#: src/tables/ColumnRenderers.tsx:106 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" msgstr "" #: src/pages/build/BuildDetail.tsx:100 -#: src/pages/company/CompanyDetail.tsx:84 -#: src/pages/company/ManufacturerPartDetail.tsx:75 -#: src/pages/company/SupplierPartDetail.tsx:82 -#: src/pages/part/CategoryDetail.tsx:91 -#: src/pages/part/PartDetail.tsx:132 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:122 -#: src/pages/sales/ReturnOrderDetail.tsx:89 -#: src/pages/sales/SalesOrderDetail.tsx:93 -#: src/pages/stock/LocationDetail.tsx:97 -#: src/tables/ColumnRenderers.tsx:95 +#: src/pages/company/CompanyDetail.tsx:86 +#: src/pages/company/ManufacturerPartDetail.tsx:76 +#: src/pages/company/SupplierPartDetail.tsx:83 +#: src/pages/part/CategoryDetail.tsx:92 +#: src/pages/part/PartDetail.tsx:133 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:124 +#: src/pages/sales/ReturnOrderDetail.tsx:91 +#: src/pages/sales/SalesOrderDetail.tsx:95 +#: src/pages/stock/LocationDetail.tsx:99 +#: src/tables/ColumnRenderers.tsx:66 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 #: src/tables/machine/MachineTypeTable.tsx:323 #: src/tables/part/RelatedPartTable.tsx:64 -#: src/tables/plugin/PluginListTable.tsx:172 -#: src/tables/plugin/PluginListTable.tsx:302 +#: src/tables/plugin/PluginListTable.tsx:129 +#: src/tables/plugin/PluginListTable.tsx:276 +#: src/tables/stock/LocationTypesTable.tsx:65 msgid "Description" msgstr "" @@ -3447,7 +3525,7 @@ msgid "Build Quantity" msgstr "" #: src/pages/build/BuildDetail.tsx:126 -#: src/pages/build/BuildDetail.tsx:249 +#: src/pages/build/BuildDetail.tsx:256 msgid "Completed Outputs" msgstr "" @@ -3457,10 +3535,10 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:150 -#: src/pages/part/PartDetail.tsx:320 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:214 -#: src/pages/sales/ReturnOrderDetail.tsx:182 -#: src/pages/sales/SalesOrderDetail.tsx:186 +#: src/pages/part/PartDetail.tsx:321 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:184 +#: src/pages/sales/SalesOrderDetail.tsx:188 #: src/tables/build/BuildOrderTable.tsx:148 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 @@ -3474,10 +3552,10 @@ msgid "Created" msgstr "" #: src/pages/build/BuildDetail.tsx:164 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:207 -#: src/pages/sales/ReturnOrderDetail.tsx:175 -#: src/pages/sales/SalesOrderDetail.tsx:179 -#: src/tables/ColumnRenderers.tsx:227 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:209 +#: src/pages/sales/ReturnOrderDetail.tsx:177 +#: src/pages/sales/SalesOrderDetail.tsx:181 +#: src/tables/ColumnRenderers.tsx:191 msgid "Target Date" msgstr "" @@ -3513,6 +3591,11 @@ msgstr "" #~ msgid "Unlink custom barcode from part" #~ msgstr "Unlink custom barcode from part" +#: src/pages/build/BuildDetail.tsx:197 +#: src/pages/stock/StockDetail.tsx:526 +msgid "Batch Code" +msgstr "" + #: src/pages/build/BuildDetail.tsx:202 #~ msgid "Build Order updated" #~ msgstr "Build Order updated" @@ -3521,86 +3604,87 @@ msgstr "" #~ msgid "Edit build order" #~ msgstr "Edit build order" -#: src/pages/build/BuildDetail.tsx:222 -msgid "Build Details" -msgstr "" - #: src/pages/build/BuildDetail.tsx:226 #~ msgid "Duplicate build order" #~ msgstr "Duplicate build order" -#: src/pages/build/BuildDetail.tsx:228 -#: src/tables/build/BuildLineTable.tsx:225 -msgid "Allocate Stock" +#: src/pages/build/BuildDetail.tsx:229 +msgid "Build Details" msgstr "" #: src/pages/build/BuildDetail.tsx:231 #~ msgid "Delete build order" #~ msgstr "Delete build order" -#: src/pages/build/BuildDetail.tsx:242 +#: src/pages/build/BuildDetail.tsx:235 +#: src/tables/build/BuildLineTable.tsx:225 +msgid "Allocate Stock" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:249 msgid "Incomplete Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:264 +#: src/pages/build/BuildDetail.tsx:271 msgid "Consumed Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:278 +#: src/pages/build/BuildDetail.tsx:285 msgid "Child Build Orders" msgstr "" -#: src/pages/build/BuildDetail.tsx:288 -#: src/pages/company/CompanyDetail.tsx:253 -#: src/pages/company/ManufacturerPartDetail.tsx:171 -#: src/pages/part/PartDetail.tsx:611 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:276 -#: src/pages/sales/ReturnOrderDetail.tsx:225 -#: src/pages/sales/SalesOrderDetail.tsx:273 -#: src/pages/stock/StockDetail.tsx:317 +#: src/pages/build/BuildDetail.tsx:295 +#: src/pages/company/CompanyDetail.tsx:255 +#: src/pages/company/ManufacturerPartDetail.tsx:172 +#: src/pages/part/PartDetail.tsx:612 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:278 +#: src/pages/sales/ReturnOrderDetail.tsx:227 +#: src/pages/sales/SalesOrderDetail.tsx:275 +#: src/pages/stock/StockDetail.tsx:325 msgid "Attachments" msgstr "" -#: src/pages/build/BuildDetail.tsx:300 -#: src/pages/company/CompanyDetail.tsx:265 -#: src/pages/part/PartDetail.tsx:623 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:288 -#: src/pages/sales/ReturnOrderDetail.tsx:237 -#: src/pages/sales/SalesOrderDetail.tsx:285 -#: src/pages/stock/StockDetail.tsx:329 +#: src/pages/build/BuildDetail.tsx:307 +#: src/pages/company/CompanyDetail.tsx:267 +#: src/pages/part/PartDetail.tsx:624 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:290 +#: src/pages/sales/ReturnOrderDetail.tsx:239 +#: src/pages/sales/SalesOrderDetail.tsx:287 +#: src/pages/stock/StockDetail.tsx:337 +#: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "" -#: src/pages/build/BuildDetail.tsx:318 +#: src/pages/build/BuildDetail.tsx:325 msgid "Edit Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:327 +#: src/pages/build/BuildDetail.tsx:334 msgid "Cancel Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:339 +#: src/pages/build/BuildDetail.tsx:346 #: src/tables/build/BuildOrderTable.tsx:167 #: src/tables/build/BuildOrderTable.tsx:182 msgid "Add Build Order" msgstr "" #: src/pages/build/BuildDetail.tsx:368 -msgid "Reporting Actions" -msgstr "" +#~ msgid "Reporting Actions" +#~ msgstr "Reporting Actions" #: src/pages/build/BuildDetail.tsx:374 -msgid "Print build report" -msgstr "" +#~ msgid "Print build report" +#~ msgstr "Print build report" -#: src/pages/build/BuildDetail.tsx:380 +#: src/pages/build/BuildDetail.tsx:378 msgid "Build Order Actions" msgstr "" -#: src/pages/build/BuildDetail.tsx:388 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:326 -#: src/pages/sales/ReturnOrderDetail.tsx:300 -#: src/pages/sales/SalesOrderDetail.tsx:310 +#: src/pages/build/BuildDetail.tsx:386 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:333 +#: src/pages/sales/ReturnOrderDetail.tsx:307 +#: src/pages/sales/SalesOrderDetail.tsx:317 msgid "Cancel order" msgstr "" @@ -3612,56 +3696,58 @@ msgstr "" #~ msgid "New Build Order" #~ msgstr "New Build Order" -#: src/pages/company/CompanyDetail.tsx:98 +#: src/pages/company/CompanyDetail.tsx:100 msgid "Phone Number" msgstr "" -#: src/pages/company/CompanyDetail.tsx:105 +#: src/pages/company/CompanyDetail.tsx:107 msgid "Email Address" msgstr "" -#: src/pages/company/CompanyDetail.tsx:115 +#: src/pages/company/CompanyDetail.tsx:117 msgid "Default Currency" msgstr "" -#: src/pages/company/CompanyDetail.tsx:120 +#: src/pages/company/CompanyDetail.tsx:122 #: src/pages/company/SupplierDetail.tsx:8 -#: src/pages/company/SupplierPartDetail.tsx:106 -#: src/pages/company/SupplierPartDetail.tsx:192 -#: src/pages/company/SupplierPartDetail.tsx:295 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:116 +#: src/pages/company/SupplierPartDetail.tsx:107 +#: src/pages/company/SupplierPartDetail.tsx:193 +#: src/pages/company/SupplierPartDetail.tsx:296 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:118 #: src/tables/company/CompanyTable.tsx:100 #: src/tables/purchasing/PurchaseOrderTable.tsx:88 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:36 msgid "Supplier" msgstr "" -#: src/pages/company/CompanyDetail.tsx:126 +#: src/pages/company/CompanyDetail.tsx:128 #: src/pages/company/ManufacturerDetail.tsx:8 -#: src/pages/company/ManufacturerPartDetail.tsx:93 -#: src/pages/company/ManufacturerPartDetail.tsx:235 -#: src/pages/company/SupplierPartDetail.tsx:121 +#: src/pages/company/ManufacturerPartDetail.tsx:94 +#: src/pages/company/ManufacturerPartDetail.tsx:239 +#: src/pages/company/SupplierPartDetail.tsx:122 #: src/tables/company/CompanyTable.tsx:105 msgid "Manufacturer" msgstr "" -#: src/pages/company/CompanyDetail.tsx:132 +#: src/pages/company/CompanyDetail.tsx:134 #: src/pages/company/CustomerDetail.tsx:8 #: src/pages/part/pricing/SaleHistoryPanel.tsx:39 -#: src/pages/sales/ReturnOrderDetail.tsx:83 -#: src/pages/sales/SalesOrderDetail.tsx:87 -#: src/pages/stock/StockDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:85 +#: src/pages/sales/SalesOrderDetail.tsx:89 +#: src/pages/stock/StockDetail.tsx:219 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:107 +#: src/tables/stock/StockTrackingTable.tsx:140 msgid "Customer" msgstr "" -#: src/pages/company/CompanyDetail.tsx:166 +#: src/pages/company/CompanyDetail.tsx:168 +#: src/tables/stock/StockTrackingTable.tsx:183 msgid "Details" msgstr "" -#: src/pages/company/CompanyDetail.tsx:172 +#: src/pages/company/CompanyDetail.tsx:174 msgid "Manufactured Parts" msgstr "" @@ -3669,7 +3755,7 @@ msgstr "" #~ msgid "Edit company" #~ msgstr "Edit company" -#: src/pages/company/CompanyDetail.tsx:181 +#: src/pages/company/CompanyDetail.tsx:183 msgid "Supplied Parts" msgstr "" @@ -3677,289 +3763,289 @@ msgstr "" #~ msgid "Delete company" #~ msgstr "Delete company" -#: src/pages/company/CompanyDetail.tsx:226 +#: src/pages/company/CompanyDetail.tsx:228 msgid "Assigned Stock" msgstr "" -#: src/pages/company/CompanyDetail.tsx:281 +#: src/pages/company/CompanyDetail.tsx:283 #: src/tables/company/CompanyTable.tsx:86 msgid "Edit Company" msgstr "" -#: src/pages/company/CompanyDetail.tsx:290 +#: src/pages/company/CompanyDetail.tsx:292 msgid "Company Actions" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:68 -#: src/pages/company/SupplierPartDetail.tsx:75 +#: src/pages/company/ManufacturerPartDetail.tsx:69 +#: src/pages/company/SupplierPartDetail.tsx:76 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:72 msgid "Internal Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:83 -#: src/pages/company/SupplierPartDetail.tsx:89 +#: src/pages/company/ManufacturerPartDetail.tsx:84 +#: src/pages/company/SupplierPartDetail.tsx:90 msgid "External Link" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:101 -#: src/pages/company/SupplierPartDetail.tsx:130 -#: src/tables/purchasing/ManufacturerPartTable.tsx:53 +#: src/pages/company/ManufacturerPartDetail.tsx:102 +#: src/pages/company/SupplierPartDetail.tsx:131 +#: src/tables/purchasing/ManufacturerPartTable.tsx:56 msgid "Manufacturer Part Number" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:130 +#: src/pages/company/ManufacturerPartDetail.tsx:131 msgid "Manufacturer Details" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:139 +#: src/pages/company/ManufacturerPartDetail.tsx:140 msgid "Manufacturer Part Details" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:145 -#: src/pages/part/PartDetail.tsx:485 +#: src/pages/company/ManufacturerPartDetail.tsx:146 +#: src/pages/part/PartDetail.tsx:486 msgid "Parameters" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:157 -#: src/pages/part/PartDetail.tsx:558 +#: src/pages/company/ManufacturerPartDetail.tsx:158 +#: src/pages/part/PartDetail.tsx:559 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:189 -#: src/tables/purchasing/ManufacturerPartTable.tsx:97 +#: src/pages/company/ManufacturerPartDetail.tsx:190 +#: src/tables/purchasing/ManufacturerPartTable.tsx:84 msgid "Edit Manufacturer Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:196 -#: src/tables/purchasing/ManufacturerPartTable.tsx:63 -#: src/tables/purchasing/ManufacturerPartTable.tsx:78 +#: src/pages/company/ManufacturerPartDetail.tsx:197 +#: src/tables/purchasing/ManufacturerPartTable.tsx:72 +#: src/tables/purchasing/ManufacturerPartTable.tsx:103 msgid "Add Manufacturer Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:209 +#: src/pages/company/ManufacturerPartDetail.tsx:213 msgid "Manufacturer Part Actions" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:247 +#: src/pages/company/ManufacturerPartDetail.tsx:251 msgid "ManufacturerPart" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:96 -#: src/tables/ColumnRenderers.tsx:146 +#: src/pages/company/SupplierPartDetail.tsx:97 +#: src/tables/ColumnRenderers.tsx:117 msgid "Note" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:114 +#: src/pages/company/SupplierPartDetail.tsx:115 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:57 msgid "SKU" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:142 -#: src/pages/company/SupplierPartDetail.tsx:193 -#: src/pages/stock/StockDetail.tsx:230 +#: src/pages/company/SupplierPartDetail.tsx:143 +#: src/pages/company/SupplierPartDetail.tsx:194 +#: src/pages/stock/StockDetail.tsx:233 msgid "Packaging" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:149 +#: src/pages/company/SupplierPartDetail.tsx:150 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:107 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143 #: src/tables/purchasing/SupplierPartTable.tsx:131 msgid "Pack Quantity" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:160 +#: src/pages/company/SupplierPartDetail.tsx:161 msgid "Supplier Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:167 +#: src/pages/company/SupplierPartDetail.tsx:168 msgid "Availability Updated" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:194 +#: src/pages/company/SupplierPartDetail.tsx:195 msgid "Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:203 +#: src/pages/company/SupplierPartDetail.tsx:204 msgid "Supplier Part Details" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:209 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:263 +#: src/pages/company/SupplierPartDetail.tsx:210 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:265 msgid "Received Stock" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:233 +#: src/pages/company/SupplierPartDetail.tsx:234 #: src/pages/part/PartPricingPanel.tsx:115 #: src/pages/part/pricing/PricingOverviewPanel.tsx:130 msgid "Supplier Pricing" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:248 +#: src/pages/company/SupplierPartDetail.tsx:249 msgid "Supplier Part Actions" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:272 +#: src/pages/company/SupplierPartDetail.tsx:273 #: src/tables/purchasing/SupplierPartTable.tsx:210 msgid "Edit Supplier Part" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:279 +#: src/pages/company/SupplierPartDetail.tsx:280 #: src/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "" -#: src/pages/part/CategoryDetail.tsx:83 -#: src/pages/stock/LocationDetail.tsx:89 +#: src/pages/part/CategoryDetail.tsx:84 +#: src/pages/stock/LocationDetail.tsx:91 #: src/tables/settings/ErrorTable.tsx:34 msgid "Path" msgstr "" -#: src/pages/part/CategoryDetail.tsx:99 +#: src/pages/part/CategoryDetail.tsx:100 msgid "Parent Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:116 +#: src/pages/part/CategoryDetail.tsx:117 msgid "Subcategories" msgstr "" -#: src/pages/part/CategoryDetail.tsx:123 -#: src/pages/stock/LocationDetail.tsx:129 -#: src/tables/part/PartCategoryTable.tsx:69 +#: src/pages/part/CategoryDetail.tsx:124 +#: src/pages/stock/LocationDetail.tsx:131 +#: src/tables/part/PartCategoryTable.tsx:65 msgid "Structural" msgstr "" -#: src/pages/part/CategoryDetail.tsx:129 +#: src/pages/part/CategoryDetail.tsx:130 msgid "Parent default location" msgstr "" -#: src/pages/part/CategoryDetail.tsx:136 +#: src/pages/part/CategoryDetail.tsx:137 msgid "Default location" msgstr "" -#: src/pages/part/CategoryDetail.tsx:147 +#: src/pages/part/CategoryDetail.tsx:148 msgid "Top level part category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:157 -#: src/pages/part/CategoryDetail.tsx:211 -#: src/tables/part/PartCategoryTable.tsx:96 +#: src/pages/part/CategoryDetail.tsx:158 +#: src/pages/part/CategoryDetail.tsx:212 +#: src/tables/part/PartCategoryTable.tsx:88 msgid "Edit Part Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:170 -#: src/pages/stock/LocationDetail.tsx:213 +#: src/pages/part/CategoryDetail.tsx:171 +#: src/pages/stock/LocationDetail.tsx:223 msgid "Delete items" msgstr "" -#: src/pages/part/CategoryDetail.tsx:178 -#: src/pages/part/CategoryDetail.tsx:216 +#: src/pages/part/CategoryDetail.tsx:179 +#: src/pages/part/CategoryDetail.tsx:217 msgid "Delete Part Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:181 +#: src/pages/part/CategoryDetail.tsx:182 msgid "Parts Action" msgstr "" -#: src/pages/part/CategoryDetail.tsx:182 +#: src/pages/part/CategoryDetail.tsx:183 msgid "Action for parts in this category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:187 +#: src/pages/part/CategoryDetail.tsx:188 msgid "Child Categories Action" msgstr "" -#: src/pages/part/CategoryDetail.tsx:188 +#: src/pages/part/CategoryDetail.tsx:189 msgid "Action for child categories in this category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:206 +#: src/pages/part/CategoryDetail.tsx:207 msgid "Category Actions" msgstr "" -#: src/pages/part/CategoryDetail.tsx:228 +#: src/pages/part/CategoryDetail.tsx:229 msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:138 +#: src/pages/part/PartDetail.tsx:139 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:145 +#: src/pages/part/PartDetail.tsx:146 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "" -#: src/pages/part/PartDetail.tsx:151 +#: src/pages/part/PartDetail.tsx:152 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:158 +#: src/pages/part/PartDetail.tsx:159 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:165 +#: src/pages/part/PartDetail.tsx:166 msgid "IPN" msgstr "" -#: src/pages/part/PartDetail.tsx:172 +#: src/pages/part/PartDetail.tsx:173 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:179 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39 +#: src/pages/part/PartDetail.tsx:180 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "" -#: src/pages/part/PartDetail.tsx:186 +#: src/pages/part/PartDetail.tsx:187 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:193 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:180 -#: src/pages/sales/ReturnOrderDetail.tsx:148 -#: src/pages/sales/SalesOrderDetail.tsx:152 +#: src/pages/part/PartDetail.tsx:194 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:182 +#: src/pages/sales/ReturnOrderDetail.tsx:150 +#: src/pages/sales/SalesOrderDetail.tsx:154 msgid "Link" msgstr "" -#: src/pages/part/PartDetail.tsx:211 -#: src/tables/bom/BomTable.tsx:269 +#: src/pages/part/PartDetail.tsx:212 +#: src/tables/bom/BomTable.tsx:271 #: src/tables/build/BuildLineTable.tsx:121 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:218 +#: src/pages/part/PartDetail.tsx:219 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:224 -#: src/tables/bom/BomTable.tsx:210 +#: src/pages/part/PartDetail.tsx:225 +#: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:233 +#: src/pages/part/PartDetail.tsx:234 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:241 +#: src/pages/part/PartDetail.tsx:242 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:248 -#: src/tables/bom/BomTable.tsx:234 +#: src/pages/part/PartDetail.tsx:249 +#: src/tables/bom/BomTable.tsx:236 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:255 -#: src/tables/bom/BomTable.tsx:218 +#: src/pages/part/PartDetail.tsx:256 +#: src/tables/bom/BomTable.tsx:220 #: src/tables/part/PartTable.tsx:82 msgid "Building" msgstr "" -#: src/pages/part/PartDetail.tsx:264 +#: src/pages/part/PartDetail.tsx:265 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 @@ -3968,45 +4054,47 @@ msgstr "" #: src/tables/machine/MachineListTable.tsx:585 #: src/tables/part/PartTable.tsx:168 #: src/tables/part/PartVariantTable.tsx:15 -#: src/tables/plugin/PluginListTable.tsx:190 -#: src/tables/plugin/PluginListTable.tsx:638 +#: src/tables/plugin/PluginListTable.tsx:149 +#: src/tables/plugin/PluginListTable.tsx:271 +#: src/tables/plugin/PluginListTable.tsx:563 #: src/tables/purchasing/SupplierPartTable.tsx:98 #: src/tables/purchasing/SupplierPartTable.tsx:187 #: src/tables/stock/StockItemTable.tsx:254 msgid "Active" msgstr "" -#: src/pages/part/PartDetail.tsx:269 +#: src/pages/part/PartDetail.tsx:270 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:274 -#: src/tables/bom/BomTable.tsx:264 +#: src/pages/part/PartDetail.tsx:275 +#: src/tables/bom/BomTable.tsx:266 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:279 +#: src/pages/part/PartDetail.tsx:280 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:284 -#: src/tables/bom/BomTable.tsx:259 +#: src/pages/part/PartDetail.tsx:285 +#: src/tables/bom/BomTable.tsx:261 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:289 +#: src/pages/part/PartDetail.tsx:290 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:294 +#: src/pages/part/PartDetail.tsx:295 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:299 +#: src/pages/part/PartDetail.tsx:300 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:307 +#: src/pages/part/PartDetail.tsx:308 +#: src/tables/ColumnRenderers.tsx:199 msgid "Creation Date" msgstr "" @@ -4014,7 +4102,7 @@ msgstr "" #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:312 +#: src/pages/part/PartDetail.tsx:313 msgid "Created By" msgstr "" @@ -4022,68 +4110,72 @@ msgstr "" #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:327 -msgid "Default Supplier" -msgstr "" - #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:338 +#: src/pages/part/PartDetail.tsx:328 +msgid "Default Supplier" +msgstr "" + +#: src/pages/part/PartDetail.tsx:339 #: src/tables/part/PartTable.tsx:151 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:373 -#: src/pages/stock/StockDetail.tsx:127 +#: src/pages/part/PartDetail.tsx:374 +#: src/pages/stock/StockDetail.tsx:130 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:408 +#: src/pages/part/PartDetail.tsx:409 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:479 +#: src/pages/part/PartDetail.tsx:480 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:505 +#: src/pages/part/PartDetail.tsx:506 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:512 -#: src/pages/stock/StockDetail.tsx:275 +#: src/pages/part/PartDetail.tsx:513 +#: src/pages/stock/StockDetail.tsx:283 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:532 +#: src/pages/part/PartDetail.tsx:519 +msgid "Bill of Materials" +msgstr "" + +#: src/pages/part/PartDetail.tsx:533 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:539 +#: src/pages/part/PartDetail.tsx:540 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:545 +#: src/pages/part/PartDetail.tsx:546 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:584 +#: src/pages/part/PartDetail.tsx:585 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:594 +#: src/pages/part/PartDetail.tsx:595 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:605 +#: src/pages/part/PartDetail.tsx:606 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:660 -#: src/pages/stock/StockDetail.tsx:148 +#: src/pages/part/PartDetail.tsx:661 +#: src/pages/stock/StockDetail.tsx:151 #: src/tables/build/BuildLineTable.tsx:36 #: src/tables/part/PartTable.tsx:107 #: src/tables/stock/StockItemTable.tsx:166 @@ -4091,49 +4183,51 @@ msgstr "" msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:666 +#: src/pages/part/PartDetail.tsx:667 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:672 -#: src/tables/bom/BomTable.tsx:274 +#: src/pages/part/PartDetail.tsx:673 +#: src/tables/bom/BomTable.tsx:276 #: src/tables/part/PartTable.tsx:76 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:678 -#: src/pages/stock/StockDetail.tsx:496 +#: src/pages/part/PartDetail.tsx:679 +#: src/pages/stock/StockDetail.tsx:509 #: src/tables/stock/StockItemTable.tsx:295 msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:697 +#: src/pages/part/PartDetail.tsx:698 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:704 +#: src/pages/part/PartDetail.tsx:705 #: src/tables/part/PartTable.tsx:266 #: src/tables/part/PartTable.tsx:279 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:716 +#: src/pages/part/PartDetail.tsx:717 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:725 +#: src/pages/part/PartDetail.tsx:726 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:763 +#: src/pages/part/PartDetail.tsx:764 +#: src/pages/stock/LocationDetail.tsx:301 +#: src/tables/stock/StockItemTable.tsx:409 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:771 +#: src/pages/part/PartDetail.tsx:772 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:782 +#: src/pages/part/PartDetail.tsx:783 msgid "Transfer part stock" msgstr "" @@ -4199,15 +4293,15 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151 #: src/pages/part/pricing/SupplierPricingPanel.tsx:83 -#: src/tables/bom/BomTable.tsx:149 +#: src/tables/bom/BomTable.tsx:151 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 msgid "Unit Price" msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:173 -#: src/tables/ColumnRenderers.tsx:278 -#: src/tables/bom/BomTable.tsx:158 +#: src/tables/ColumnRenderers.tsx:241 +#: src/tables/bom/BomTable.tsx:160 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 #: src/tables/sales/ReturnOrderTable.tsx:104 #: src/tables/sales/SalesOrderTable.tsx:134 @@ -4229,24 +4323,24 @@ msgid "Bar Chart" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:63 -#: src/pages/part/pricing/PriceBreakPanel.tsx:117 +#: src/pages/part/pricing/PriceBreakPanel.tsx:115 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:138 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:164 msgid "Add Price Break" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:76 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:149 msgid "Edit Price Break" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:86 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:157 msgid "Delete Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:102 -#: src/pages/part/pricing/PriceBreakPanel.tsx:193 +#: src/pages/part/pricing/PriceBreakPanel.tsx:100 +#: src/pages/part/pricing/PriceBreakPanel.tsx:191 msgid "Price Break" msgstr "" @@ -4275,7 +4369,7 @@ msgid "Overall Pricing" msgstr "" #: src/pages/part/pricing/PricingOverviewPanel.tsx:184 -#: src/pages/stock/StockDetail.tsx:121 +#: src/pages/stock/StockDetail.tsx:124 msgid "Last Updated" msgstr "" @@ -4309,9 +4403,8 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50 #: src/pages/part/pricing/SaleHistoryPanel.tsx:46 -#: src/tables/ColumnRenderers.tsx:217 -#: src/tables/plugin/PluginListTable.tsx:182 -#: src/tables/stock/StockItemTestResultTable.tsx:194 +#: src/tables/ColumnRenderers.tsx:180 +#: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" @@ -4338,89 +4431,89 @@ msgstr "" msgid "Variant Part" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:73 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:75 msgid "Edit Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:82 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:84 #: src/tables/purchasing/PurchaseOrderTable.tsx:128 #: src/tables/purchasing/PurchaseOrderTable.tsx:140 msgid "Add Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:107 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:109 msgid "Supplier Reference" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:137 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:252 -#: src/pages/sales/ReturnOrderDetail.tsx:104 -#: src/pages/sales/ReturnOrderDetail.tsx:220 -#: src/pages/sales/SalesOrderDetail.tsx:108 -#: src/pages/sales/SalesOrderDetail.tsx:248 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:139 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:254 +#: src/pages/sales/ReturnOrderDetail.tsx:106 +#: src/pages/sales/ReturnOrderDetail.tsx:222 +#: src/pages/sales/SalesOrderDetail.tsx:110 +#: src/pages/sales/SalesOrderDetail.tsx:250 msgid "Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:144 -#: src/pages/sales/ReturnOrderDetail.tsx:111 -#: src/pages/sales/SalesOrderDetail.tsx:115 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:146 +#: src/pages/sales/ReturnOrderDetail.tsx:113 +#: src/pages/sales/SalesOrderDetail.tsx:117 msgid "Completed Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:152 -#: src/pages/sales/ReturnOrderDetail.tsx:119 -#: src/pages/sales/SalesOrderDetail.tsx:123 -#: src/pages/sales/SalesOrderDetail.tsx:258 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:121 +#: src/pages/sales/SalesOrderDetail.tsx:125 +#: src/pages/sales/SalesOrderDetail.tsx:260 msgid "Completed Shipments" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:159 -#: src/pages/sales/ReturnOrderDetail.tsx:127 -#: src/pages/sales/SalesOrderDetail.tsx:131 -msgid "Order Currency" -msgstr "" - #: src/pages/purchasing/PurchaseOrderDetail.tsx:159 #: src/pages/sales/ReturnOrderDetail.tsx:126 #: src/pages/sales/SalesOrderDetail.tsx:130 #~ msgid "Order Currency," #~ msgstr "Order Currency," -#: src/pages/purchasing/PurchaseOrderDetail.tsx:166 -#: src/pages/sales/ReturnOrderDetail.tsx:134 -#: src/pages/sales/SalesOrderDetail.tsx:138 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:161 +#: src/pages/sales/ReturnOrderDetail.tsx:129 +#: src/pages/sales/SalesOrderDetail.tsx:133 +msgid "Order Currency" +msgstr "" + +#: src/pages/purchasing/PurchaseOrderDetail.tsx:168 +#: src/pages/sales/ReturnOrderDetail.tsx:136 +#: src/pages/sales/SalesOrderDetail.tsx:140 msgid "Total Cost" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:201 -#: src/pages/sales/ReturnOrderDetail.tsx:169 -#: src/pages/sales/SalesOrderDetail.tsx:173 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:203 +#: src/pages/sales/ReturnOrderDetail.tsx:171 +#: src/pages/sales/SalesOrderDetail.tsx:175 msgid "Created On" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:246 -#: src/pages/sales/ReturnOrderDetail.tsx:214 -#: src/pages/sales/SalesOrderDetail.tsx:242 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:248 +#: src/pages/sales/ReturnOrderDetail.tsx:216 +#: src/pages/sales/SalesOrderDetail.tsx:244 msgid "Order Details" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:316 -#: src/pages/sales/ReturnOrderDetail.tsx:290 -#: src/pages/sales/SalesOrderDetail.tsx:302 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:323 +#: src/pages/sales/ReturnOrderDetail.tsx:297 +#: src/pages/sales/SalesOrderDetail.tsx:309 msgid "Order Actions" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:75 -#: src/pages/sales/SalesOrderDetail.tsx:79 +#: src/pages/sales/ReturnOrderDetail.tsx:77 +#: src/pages/sales/SalesOrderDetail.tsx:81 #: src/tables/sales/SalesOrderTable.tsx:123 msgid "Customer Reference" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:267 +#: src/pages/sales/ReturnOrderDetail.tsx:269 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:276 +#: src/pages/sales/ReturnOrderDetail.tsx:278 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" @@ -4430,68 +4523,72 @@ msgstr "" msgid "Customers" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:219 +#: src/pages/sales/SalesOrderDetail.tsx:221 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:228 +#: src/pages/sales/SalesOrderDetail.tsx:230 #: src/tables/sales/SalesOrderTable.tsx:83 #: src/tables/sales/SalesOrderTable.tsx:95 msgid "Add Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:253 +#: src/pages/sales/SalesOrderDetail.tsx:255 msgid "Pending Shipments" msgstr "" -#: src/pages/stock/LocationDetail.tsx:105 +#: src/pages/stock/LocationDetail.tsx:107 msgid "Parent Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:123 +#: src/pages/stock/LocationDetail.tsx:125 msgid "Sublocations" msgstr "" -#: src/pages/stock/LocationDetail.tsx:135 +#: src/pages/stock/LocationDetail.tsx:137 msgid "External" msgstr "" -#: src/pages/stock/LocationDetail.tsx:144 +#: src/pages/stock/LocationDetail.tsx:143 +msgid "Location Type" +msgstr "" + +#: src/pages/stock/LocationDetail.tsx:154 msgid "Top level stock location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:155 +#: src/pages/stock/LocationDetail.tsx:165 msgid "Location Details" msgstr "" -#: src/pages/stock/LocationDetail.tsx:181 +#: src/pages/stock/LocationDetail.tsx:191 msgid "Default Parts" msgstr "" -#: src/pages/stock/LocationDetail.tsx:200 +#: src/pages/stock/LocationDetail.tsx:210 #: src/pages/stock/LocationDetail.tsx:328 -#: src/tables/stock/StockLocationTable.tsx:108 +#: src/tables/stock/StockLocationTable.tsx:100 msgid "Edit Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:221 +#: src/pages/stock/LocationDetail.tsx:231 #: src/pages/stock/LocationDetail.tsx:333 msgid "Delete Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:224 +#: src/pages/stock/LocationDetail.tsx:234 msgid "Items Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:225 +#: src/pages/stock/LocationDetail.tsx:235 msgid "Action for stock items in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:230 +#: src/pages/stock/LocationDetail.tsx:240 msgid "Child Locations Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:231 +#: src/pages/stock/LocationDetail.tsx:241 msgid "Action for child locations in this location" msgstr "" @@ -4499,11 +4596,11 @@ msgstr "" msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:100 +#: src/pages/stock/StockDetail.tsx:103 msgid "Base Part" msgstr "" -#: src/pages/stock/StockDetail.tsx:107 +#: src/pages/stock/StockDetail.tsx:110 msgid "Stock Status" msgstr "" @@ -4515,15 +4612,16 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:174 +#: src/pages/stock/StockDetail.tsx:177 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:190 +#: src/pages/stock/StockDetail.tsx:193 msgid "Consumed By" msgstr "" -#: src/pages/stock/StockDetail.tsx:199 +#: src/pages/stock/StockDetail.tsx:202 +#: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" msgstr "" @@ -4535,78 +4633,78 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:264 +#: src/pages/stock/StockDetail.tsx:267 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:270 +#: src/pages/stock/StockDetail.tsx:273 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:282 +#: src/pages/stock/StockDetail.tsx:290 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:296 +#: src/pages/stock/StockDetail.tsx:304 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:303 +#: src/pages/stock/StockDetail.tsx:311 msgid "Child Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:358 +#: src/pages/stock/StockDetail.tsx:366 msgid "Edit Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:385 +#: src/pages/stock/StockDetail.tsx:393 msgid "Delete Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:426 -msgid "Stock Operations" -msgstr "" - -#: src/pages/stock/StockDetail.tsx:431 -msgid "Count stock" -msgstr "" - #: src/pages/stock/StockDetail.tsx:433 #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:441 +#: src/pages/stock/StockDetail.tsx:440 +msgid "Stock Operations" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:445 +msgid "Count stock" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:455 #: src/tables/stock/StockItemTable.tsx:414 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:449 +#: src/pages/stock/StockDetail.tsx:463 #: src/tables/stock/StockItemTable.tsx:423 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:456 +#: src/pages/stock/StockDetail.tsx:470 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:457 +#: src/pages/stock/StockDetail.tsx:471 #: src/tables/stock/StockItemTable.tsx:443 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:469 +#: src/pages/stock/StockDetail.tsx:482 msgid "Stock Item Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:513 -msgid "Batch Code" -msgstr "" - -#: src/tables/ColumnRenderers.tsx:50 +#: src/tables/ColumnRenderers.tsx:42 msgid "No location set" msgstr "" -#: src/tables/ColumnRenderers.tsx:264 +#: src/tables/ColumnRenderers.tsx:207 +msgid "Shipment Date" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:227 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "" @@ -4616,20 +4714,32 @@ msgstr "" msgid "Select Columns" msgstr "" -#: src/tables/DownloadAction.tsx:11 +#: src/tables/DownloadAction.tsx:13 +#~ msgid "Excel" +#~ msgstr "Excel" + +#: src/tables/DownloadAction.tsx:21 +#~ msgid "Download selected data" +#~ msgstr "Download selected data" + +#: src/tables/DownloadAction.tsx:22 msgid "CSV" msgstr "" -#: src/tables/DownloadAction.tsx:12 +#: src/tables/DownloadAction.tsx:23 msgid "TSV" msgstr "" -#: src/tables/DownloadAction.tsx:13 -msgid "Excel" +#: src/tables/DownloadAction.tsx:24 +msgid "Excel (.xls)" msgstr "" -#: src/tables/DownloadAction.tsx:21 -msgid "Download selected data" +#: src/tables/DownloadAction.tsx:25 +msgid "Excel (.xlsx)" +msgstr "" + +#: src/tables/DownloadAction.tsx:39 +msgid "Download Data" msgstr "" #: src/tables/Filter.tsx:88 @@ -4663,102 +4773,102 @@ msgstr "" msgid "Remove filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:147 +#: src/tables/FilterSelectDrawer.tsx:136 msgid "Select filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:148 +#: src/tables/FilterSelectDrawer.tsx:137 msgid "Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:155 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:33 -#: src/tables/stock/StockItemTestResultTable.tsx:182 +#: src/tables/FilterSelectDrawer.tsx:144 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 +#: src/tables/stock/StockItemTestResultTable.tsx:180 msgid "Value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:156 +#: src/tables/FilterSelectDrawer.tsx:145 msgid "Select filter value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:196 +#: src/tables/FilterSelectDrawer.tsx:185 msgid "Table Filters" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:228 +#: src/tables/FilterSelectDrawer.tsx:217 msgid "Add Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:237 +#: src/tables/FilterSelectDrawer.tsx:226 msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:118 -#: src/tables/InvenTreeTable.tsx:384 -#: src/tables/InvenTreeTable.tsx:405 +#: src/tables/InvenTreeTable.tsx:119 +#: src/tables/InvenTreeTable.tsx:390 +#: src/tables/InvenTreeTable.tsx:411 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:416 +#: src/tables/InvenTreeTable.tsx:422 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:424 +#: src/tables/InvenTreeTable.tsx:430 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:427 +#: src/tables/InvenTreeTable.tsx:433 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:436 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:433 +#: src/tables/InvenTreeTable.tsx:439 msgid "Not found" msgstr "" -#: src/tables/InvenTreeTable.tsx:482 -#: src/tables/InvenTreeTable.tsx:604 +#: src/tables/InvenTreeTable.tsx:488 +#: src/tables/InvenTreeTable.tsx:611 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:486 +#: src/tables/InvenTreeTable.tsx:492 msgid "Are you sure you want to delete the selected records?" msgstr "" -#: src/tables/InvenTreeTable.tsx:488 +#: src/tables/InvenTreeTable.tsx:494 msgid "This action cannot be undone!" msgstr "" -#: src/tables/InvenTreeTable.tsx:516 +#: src/tables/InvenTreeTable.tsx:522 msgid "Deleted records" msgstr "" -#: src/tables/InvenTreeTable.tsx:517 +#: src/tables/InvenTreeTable.tsx:523 msgid "Records were deleted successfully" msgstr "" -#: src/tables/InvenTreeTable.tsx:526 +#: src/tables/InvenTreeTable.tsx:532 msgid "Failed to delete records" msgstr "" -#: src/tables/InvenTreeTable.tsx:585 -#: src/tables/InvenTreeTable.tsx:586 -msgid "Barcode actions" -msgstr "" - #: src/tables/InvenTreeTable.tsx:594 #: src/tables/InvenTreeTable.tsx:595 -msgid "Print actions" +#~ msgid "Print actions" +#~ msgstr "Print actions" + +#: src/tables/InvenTreeTable.tsx:601 +#: src/tables/InvenTreeTable.tsx:602 +msgid "Barcode actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:620 +#: src/tables/InvenTreeTable.tsx:630 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:638 +#: src/tables/InvenTreeTable.tsx:648 msgid "Table filters" msgstr "" @@ -4770,138 +4880,138 @@ msgstr "" msgid "Part Information" msgstr "" -#: src/tables/bom/BomTable.tsx:177 +#: src/tables/bom/BomTable.tsx:179 #: src/tables/part/PartTable.tsx:124 msgid "No stock" msgstr "" -#: src/tables/bom/BomTable.tsx:185 +#: src/tables/bom/BomTable.tsx:187 #: src/tables/build/BuildLineTable.tsx:104 #: src/tables/part/PartTable.tsx:115 msgid "External stock" msgstr "" -#: src/tables/bom/BomTable.tsx:193 +#: src/tables/bom/BomTable.tsx:195 #: src/tables/build/BuildLineTable.tsx:67 msgid "Includes substitute stock" msgstr "" -#: src/tables/bom/BomTable.tsx:202 +#: src/tables/bom/BomTable.tsx:204 #: src/tables/build/BuildLineTable.tsx:77 msgid "Includes variant stock" msgstr "" -#: src/tables/bom/BomTable.tsx:227 +#: src/tables/bom/BomTable.tsx:229 #: src/tables/part/PartTable.tsx:143 #: src/tables/stock/StockItemTable.tsx:205 msgid "Stock Information" msgstr "" -#: src/tables/bom/BomTable.tsx:239 +#: src/tables/bom/BomTable.tsx:241 #: src/tables/build/BuildLineTable.tsx:195 msgid "Consumable item" msgstr "" -#: src/tables/bom/BomTable.tsx:260 +#: src/tables/bom/BomTable.tsx:262 msgid "Show trackable items" msgstr "" -#: src/tables/bom/BomTable.tsx:265 +#: src/tables/bom/BomTable.tsx:267 msgid "Show asssmbled items" msgstr "" -#: src/tables/bom/BomTable.tsx:270 +#: src/tables/bom/BomTable.tsx:272 msgid "Show items with available stock" msgstr "" -#: src/tables/bom/BomTable.tsx:275 +#: src/tables/bom/BomTable.tsx:277 msgid "Show items on order" msgstr "" -#: src/tables/bom/BomTable.tsx:279 +#: src/tables/bom/BomTable.tsx:281 msgid "Validated" msgstr "" -#: src/tables/bom/BomTable.tsx:280 +#: src/tables/bom/BomTable.tsx:282 msgid "Show validated items" msgstr "" -#: src/tables/bom/BomTable.tsx:284 +#: src/tables/bom/BomTable.tsx:286 #: src/tables/bom/UsedInTable.tsx:63 msgid "Inherited" msgstr "" -#: src/tables/bom/BomTable.tsx:285 +#: src/tables/bom/BomTable.tsx:287 #: src/tables/bom/UsedInTable.tsx:64 msgid "Show inherited items" msgstr "" -#: src/tables/bom/BomTable.tsx:289 +#: src/tables/bom/BomTable.tsx:291 #: src/tables/bom/UsedInTable.tsx:68 #: src/tables/build/BuildLineTable.tsx:46 msgid "Optional" msgstr "" -#: src/tables/bom/BomTable.tsx:290 +#: src/tables/bom/BomTable.tsx:292 #: src/tables/bom/UsedInTable.tsx:69 msgid "Show optional items" msgstr "" -#: src/tables/bom/BomTable.tsx:294 +#: src/tables/bom/BomTable.tsx:296 #: src/tables/build/BuildLineTable.tsx:41 msgid "Consumable" msgstr "" -#: src/tables/bom/BomTable.tsx:295 +#: src/tables/bom/BomTable.tsx:297 msgid "Show consumable items" msgstr "" -#: src/tables/bom/BomTable.tsx:299 +#: src/tables/bom/BomTable.tsx:301 msgid "Has Pricing" msgstr "" -#: src/tables/bom/BomTable.tsx:300 -msgid "Show items with pricing" -msgstr "" - #: src/tables/bom/BomTable.tsx:301 #~ msgid "Create BOM Item" #~ msgstr "Create BOM Item" -#: src/tables/bom/BomTable.tsx:309 -#: src/tables/bom/BomTable.tsx:397 +#: src/tables/bom/BomTable.tsx:302 +msgid "Show items with pricing" +msgstr "" + +#: src/tables/bom/BomTable.tsx:311 +#: src/tables/bom/BomTable.tsx:399 msgid "Add BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:314 +#: src/tables/bom/BomTable.tsx:316 msgid "BOM item created" msgstr "" -#: src/tables/bom/BomTable.tsx:321 +#: src/tables/bom/BomTable.tsx:323 msgid "Edit BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:323 +#: src/tables/bom/BomTable.tsx:325 msgid "BOM item updated" msgstr "" -#: src/tables/bom/BomTable.tsx:330 -msgid "Delete BOM Item" -msgstr "" - -#: src/tables/bom/BomTable.tsx:331 -msgid "BOM item deleted" -msgstr "" - #: src/tables/bom/BomTable.tsx:331 #~ msgid "Edit Bom Item" #~ msgstr "Edit Bom Item" +#: src/tables/bom/BomTable.tsx:332 +msgid "Delete BOM Item" +msgstr "" + +#: src/tables/bom/BomTable.tsx:333 +msgid "BOM item deleted" +msgstr "" + #: src/tables/bom/BomTable.tsx:333 #~ msgid "Bom item updated" #~ msgstr "Bom item updated" -#: src/tables/bom/BomTable.tsx:341 +#: src/tables/bom/BomTable.tsx:343 msgid "View BOM" msgstr "" @@ -4917,11 +5027,11 @@ msgstr "" #~ msgid "Are you sure you want to remove this BOM item?" #~ msgstr "Are you sure you want to remove this BOM item?" -#: src/tables/bom/BomTable.tsx:352 +#: src/tables/bom/BomTable.tsx:354 msgid "Validate BOM line" msgstr "" -#: src/tables/bom/BomTable.tsx:360 +#: src/tables/bom/BomTable.tsx:362 msgid "Edit Substitutes" msgstr "" @@ -5038,11 +5148,11 @@ msgid "Filter by responsible owner" msgstr "" #: src/tables/build/BuildOutputTable.tsx:114 -#: src/tables/build/BuildOutputTable.tsx:150 +#: src/tables/build/BuildOutputTable.tsx:152 msgid "Add Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:155 +#: src/tables/build/BuildOutputTable.tsx:157 msgid "Complete selected outputs" msgstr "" @@ -5050,68 +5160,68 @@ msgstr "" #~ msgid "Delete build output" #~ msgstr "Delete build output" -#: src/tables/build/BuildOutputTable.tsx:165 +#: src/tables/build/BuildOutputTable.tsx:167 msgid "Scrap selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:175 +#: src/tables/build/BuildOutputTable.tsx:177 msgid "Cancel selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:191 +#: src/tables/build/BuildOutputTable.tsx:193 msgid "Allocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:192 +#: src/tables/build/BuildOutputTable.tsx:194 msgid "Allocate stock to build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:197 +#: src/tables/build/BuildOutputTable.tsx:199 msgid "Deallocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:198 +#: src/tables/build/BuildOutputTable.tsx:200 msgid "Deallocate stock from build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:203 +#: src/tables/build/BuildOutputTable.tsx:205 msgid "Complete" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:204 +#: src/tables/build/BuildOutputTable.tsx:206 msgid "Complete build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:213 +#: src/tables/build/BuildOutputTable.tsx:215 msgid "Scrap" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:214 +#: src/tables/build/BuildOutputTable.tsx:216 msgid "Scrap build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:224 +#: src/tables/build/BuildOutputTable.tsx:226 msgid "Cancel build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:251 +#: src/tables/build/BuildOutputTable.tsx:253 msgid "Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:264 +#: src/tables/build/BuildOutputTable.tsx:266 msgid "Batch" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:278 +#: src/tables/build/BuildOutputTable.tsx:280 msgid "Allocated Items" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:288 +#: src/tables/build/BuildOutputTable.tsx:290 msgid "Required Tests" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:317 -#: src/tables/stock/StockItemTestResultTable.tsx:146 +#: src/tables/build/BuildOutputTable.tsx:319 +#: src/tables/stock/StockItemTestResultTable.tsx:144 msgid "Test Results" msgstr "" @@ -5132,7 +5242,7 @@ msgstr "" msgid "Delete Address" msgstr "" -#: src/tables/company/AddressTable.tsx:145 +#: src/tables/company/AddressTable.tsx:144 msgid "Are you sure you want to delete this address?" msgstr "" @@ -5177,36 +5287,52 @@ msgstr "" msgid "Add contact" msgstr "" -#: src/tables/general/AttachmentTable.tsx:161 +#: src/tables/general/AttachmentTable.tsx:130 msgid "File uploaded" msgstr "" -#: src/tables/general/AttachmentTable.tsx:162 +#: src/tables/general/AttachmentTable.tsx:131 msgid "File {0} uploaded successfully" msgstr "" -#: src/tables/general/AttachmentTable.tsx:173 +#: src/tables/general/AttachmentTable.tsx:142 msgid "Upload Error" msgstr "" -#: src/tables/general/AttachmentTable.tsx:174 +#: src/tables/general/AttachmentTable.tsx:143 msgid "File could not be uploaded" msgstr "" #: src/tables/general/AttachmentTable.tsx:187 +msgid "Upload Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:197 +msgid "Edit Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:211 +msgid "Delete Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:221 msgid "Add attachment" msgstr "" -#: src/tables/general/AttachmentTable.tsx:207 +#: src/tables/general/AttachmentTable.tsx:232 msgid "Add external link" msgstr "" -#: src/tables/general/AttachmentTable.tsx:239 +#: src/tables/general/AttachmentTable.tsx:254 +#~ msgid "Upload attachment" +#~ msgstr "Upload attachment" + +#: src/tables/general/AttachmentTable.tsx:289 msgid "No attachments found" msgstr "" -#: src/tables/general/AttachmentTable.tsx:254 -msgid "Upload attachment" +#: src/tables/general/AttachmentTable.tsx:325 +msgid "Drag attachment file here to upload" msgstr "" #: src/tables/machine/MachineListTable.tsx:199 @@ -5332,8 +5458,8 @@ msgstr "" #: src/tables/machine/MachineTypeTable.tsx:135 #: src/tables/machine/MachineTypeTable.tsx:255 -#: src/tables/plugin/PluginListTable.tsx:215 -#: src/tables/plugin/PluginListTable.tsx:643 +#: src/tables/plugin/PluginListTable.tsx:180 +#: src/tables/plugin/PluginListTable.tsx:568 msgid "Builtin" msgstr "" @@ -5375,7 +5501,7 @@ msgid "Message" msgstr "" #: src/tables/part/ParametricPartTable.tsx:75 -#: src/tables/part/PartParameterTable.tsx:87 +#: src/tables/part/PartParameterTable.tsx:88 msgid "Internal Units" msgstr "" @@ -5388,29 +5514,29 @@ msgid "Add Part Parameter" msgstr "" #: src/tables/part/ParametricPartTable.tsx:147 -#: src/tables/part/PartParameterTable.tsx:128 -#: src/tables/part/PartParameterTable.tsx:150 +#: src/tables/part/PartParameterTable.tsx:121 +#: src/tables/part/PartParameterTable.tsx:144 msgid "Edit Part Parameter" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:64 +#: src/tables/part/PartCategoryTable.tsx:60 #: src/tables/part/PartTable.tsx:180 msgid "Include Subcategories" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:65 +#: src/tables/part/PartCategoryTable.tsx:61 msgid "Include subcategories in results" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:70 +#: src/tables/part/PartCategoryTable.tsx:66 msgid "Show structural categories" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:77 +#: src/tables/part/PartCategoryTable.tsx:73 msgid "New Part Category" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:106 +#: src/tables/part/PartCategoryTable.tsx:98 msgid "Add Part Category" msgstr "" @@ -5435,20 +5561,20 @@ msgstr "" #~ msgid "[{0}]" #~ msgstr "[{0}]" -#: src/tables/part/PartParameterTable.tsx:112 +#: src/tables/part/PartParameterTable.tsx:105 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:136 -#: src/tables/part/PartParameterTable.tsx:158 +#: src/tables/part/PartParameterTable.tsx:130 +#: src/tables/part/PartParameterTable.tsx:152 msgid "Delete Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:175 +#: src/tables/part/PartParameterTable.tsx:170 msgid "Add parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:196 +#: src/tables/part/PartParameterTable.tsx:191 #: src/tables/stock/StockItemTable.tsx:300 msgid "Include Variants" msgstr "" @@ -5482,15 +5608,15 @@ msgstr "" msgid "Add Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:97 +#: src/tables/part/PartParameterTemplateTable.tsx:100 msgid "Edit Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:105 +#: src/tables/part/PartParameterTemplateTable.tsx:111 msgid "Delete Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:135 +#: src/tables/part/PartParameterTemplateTable.tsx:141 msgid "Add parameter template" msgstr "" @@ -5588,7 +5714,7 @@ msgid "No Results" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:79 -#: src/tables/stock/StockItemTestResultTable.tsx:385 +#: src/tables/stock/StockItemTestResultTable.tsx:376 msgid "Required" msgstr "" @@ -5597,8 +5723,8 @@ msgid "Show required tests" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:84 -#: src/tables/settings/TemplateTable.tsx:213 -#: src/tables/settings/TemplateTable.tsx:275 +#: src/tables/settings/TemplateTable.tsx:160 +#: src/tables/settings/TemplateTable.tsx:270 msgid "Enabled" msgstr "" @@ -5639,26 +5765,30 @@ msgid "Show tests which have recorded results" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:126 -#: src/tables/part/PartTestTemplateTable.tsx:195 +#: src/tables/part/PartTestTemplateTable.tsx:201 msgid "Add Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:139 +#: src/tables/part/PartTestTemplateTable.tsx:142 msgid "Edit Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:147 +#: src/tables/part/PartTestTemplateTable.tsx:153 msgid "Delete Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:149 +#: src/tables/part/PartTestTemplateTable.tsx:155 msgid "This action cannot be reversed" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:151 +#: src/tables/part/PartTestTemplateTable.tsx:157 msgid "Any tests results associated with this template will be deleted" msgstr "" +#: src/tables/part/PartThumbTable.tsx:203 +msgid "Select" +msgstr "" + #: src/tables/part/PartVariantTable.tsx:16 msgid "Show active variants" msgstr "" @@ -5695,252 +5825,273 @@ msgstr "" msgid "Stage" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:113 -msgid "Plugin with id {id} not found" +#: src/tables/plugin/PluginListTable.tsx:95 +msgid "Plugin with key {pluginKey} not found" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:115 +#: src/tables/plugin/PluginListTable.tsx:97 msgid "An error occurred while fetching plugin details" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:134 -msgid "Plugin Actions" -msgstr "" +#: src/tables/plugin/PluginListTable.tsx:113 +#~ msgid "Plugin with id {id} not found" +#~ msgstr "Plugin with id {id} not found" -#: src/tables/plugin/PluginListTable.tsx:138 -#: src/tables/plugin/PluginListTable.tsx:141 -msgid "Edit plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:152 -#: src/tables/plugin/PluginListTable.tsx:153 -msgid "Reload" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:166 +#: src/tables/plugin/PluginListTable.tsx:122 msgid "Plugin information" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:177 +#: src/tables/plugin/PluginListTable.tsx:134 msgid "Author" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:198 +#: src/tables/plugin/PluginListTable.tsx:134 +#~ msgid "Plugin Actions" +#~ msgstr "Plugin Actions" + +#: src/tables/plugin/PluginListTable.tsx:138 +#: src/tables/plugin/PluginListTable.tsx:141 +#~ msgid "Edit plugin" +#~ msgstr "Edit plugin" + +#: src/tables/plugin/PluginListTable.tsx:152 +#: src/tables/plugin/PluginListTable.tsx:153 +#~ msgid "Reload" +#~ msgstr "Reload" + +#: src/tables/plugin/PluginListTable.tsx:154 +msgid "Plugin is not active" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:163 msgid "Package information" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:204 +#: src/tables/plugin/PluginListTable.tsx:169 msgid "Package Name" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:210 +#: src/tables/plugin/PluginListTable.tsx:175 msgid "Installation Path" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:220 +#: src/tables/plugin/PluginListTable.tsx:185 msgid "Package" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:231 +#: src/tables/plugin/PluginListTable.tsx:197 msgid "Plugin settings" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:248 +#: src/tables/plugin/PluginListTable.tsx:214 msgid "Plugin is active" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:254 +#: src/tables/plugin/PluginListTable.tsx:220 msgid "Plugin is inactive" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:261 +#: src/tables/plugin/PluginListTable.tsx:227 msgid "Plugin is not installed" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:287 +#: src/tables/plugin/PluginListTable.tsx:253 msgid "Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:312 +#: src/tables/plugin/PluginListTable.tsx:287 msgid "Description not available" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:338 +#: src/tables/plugin/PluginListTable.tsx:319 +msgid "Confirm plugin activation" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:320 +msgid "Confirm plugin deactivation" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:325 +msgid "The selected plugin will be activated" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:326 +msgid "The selected plugin will be deactivated" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:334 msgid "Activate Plugin" msgstr "" #: src/tables/plugin/PluginListTable.tsx:338 -msgid "Deactivate Plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:347 -msgid "Confirm plugin activation" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:348 -msgid "Confirm plugin deactivation" -msgstr "" +#~ msgid "Deactivate Plugin" +#~ msgstr "Deactivate Plugin" #: src/tables/plugin/PluginListTable.tsx:354 -msgid "The following plugin will be activated" -msgstr "" +#~ msgid "The following plugin will be activated" +#~ msgstr "The following plugin will be activated" #: src/tables/plugin/PluginListTable.tsx:355 -msgid "The following plugin will be deactivated" -msgstr "" +#~ msgid "The following plugin will be deactivated" +#~ msgstr "The following plugin will be deactivated" -#: src/tables/plugin/PluginListTable.tsx:366 -msgid "Confirm" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:376 -msgid "Activating plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:376 -msgid "Deactivating plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:392 -msgid "Plugin updated" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:394 -msgid "The plugin was activated" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:395 -msgid "The plugin was deactivated" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:403 -msgid "Error updating plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:423 +#: src/tables/plugin/PluginListTable.tsx:362 msgid "Deactivate" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:432 +#: src/tables/plugin/PluginListTable.tsx:366 +#~ msgid "Confirm" +#~ msgstr "Confirm" + +#: src/tables/plugin/PluginListTable.tsx:373 msgid "Activate" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:463 +#: src/tables/plugin/PluginListTable.tsx:376 +#~ msgid "Activating plugin" +#~ msgstr "Activating plugin" + +#: src/tables/plugin/PluginListTable.tsx:376 +#~ msgid "Deactivating plugin" +#~ msgstr "Deactivating plugin" + +#: src/tables/plugin/PluginListTable.tsx:392 +#~ msgid "Plugin updated" +#~ msgstr "Plugin updated" + +#: src/tables/plugin/PluginListTable.tsx:394 +#~ msgid "The plugin was activated" +#~ msgstr "The plugin was activated" + +#: src/tables/plugin/PluginListTable.tsx:395 +#~ msgid "The plugin was deactivated" +#~ msgstr "The plugin was deactivated" + +#: src/tables/plugin/PluginListTable.tsx:403 +#~ msgid "Error updating plugin" +#~ msgstr "Error updating plugin" + +#: src/tables/plugin/PluginListTable.tsx:406 msgid "Uninstall" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:495 +#: src/tables/plugin/PluginListTable.tsx:438 msgid "Install plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:508 +#: src/tables/plugin/PluginListTable.tsx:451 msgid "Install" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:512 +#: src/tables/plugin/PluginListTable.tsx:452 msgid "Plugin installed successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:525 +#: src/tables/plugin/PluginListTable.tsx:457 msgid "Uninstall Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:537 +#: src/tables/plugin/PluginListTable.tsx:469 msgid "Confirm plugin uninstall" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:540 +#: src/tables/plugin/PluginListTable.tsx:472 msgid "The selected plugin will be uninstalled." msgstr "" -#: src/tables/plugin/PluginListTable.tsx:541 +#: src/tables/plugin/PluginListTable.tsx:473 msgid "This action cannot be undone." msgstr "" -#: src/tables/plugin/PluginListTable.tsx:547 +#: src/tables/plugin/PluginListTable.tsx:477 msgid "Plugin uninstalled successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:560 +#: src/tables/plugin/PluginListTable.tsx:484 msgid "Delete Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:562 +#: src/tables/plugin/PluginListTable.tsx:485 msgid "Deleting this plugin configuration will remove all associated settings and data. Are you sure you want to delete this plugin?" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:574 +#: src/tables/plugin/PluginListTable.tsx:498 msgid "Plugins reloaded" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:575 +#: src/tables/plugin/PluginListTable.tsx:499 msgid "Plugins were reloaded successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:591 +#: src/tables/plugin/PluginListTable.tsx:515 msgid "Reload Plugins" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:600 +#: src/tables/plugin/PluginListTable.tsx:524 msgid "Install Plugin" msgstr "" +#: src/tables/plugin/PluginListTable.tsx:544 +msgid "Plugin Detail" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:573 +msgid "Sample" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:578 +#: src/tables/stock/StockItemTable.tsx:305 +msgid "Installed" +msgstr "" + #: src/tables/plugin/PluginListTable.tsx:615 #~ msgid "Plugin detail" #~ msgstr "Plugin detail" -#: src/tables/plugin/PluginListTable.tsx:619 -msgid "Plugin Detail" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:648 -msgid "Sample" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:653 -#: src/tables/stock/StockItemTable.tsx:305 -msgid "Installed" -msgstr "" - -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:57 -msgid "Edit Parameter" +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:59 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:108 +msgid "Add Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:60 -msgid "Parameter updated" -msgstr "" +#~ msgid "Parameter updated" +#~ msgstr "Parameter updated" -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:71 -msgid "Delete Parameter" +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:70 +msgid "Edit Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:73 -msgid "Parameter deleted" -msgstr "" +#~ msgid "Parameter deleted" +#~ msgstr "Parameter deleted" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:74 -msgid "Are you sure you want to delete this parameter?" +#~ msgid "Are you sure you want to delete this parameter?" +#~ msgstr "Are you sure you want to delete this parameter?" + +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:78 +msgid "Delete Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartTable.tsx:63 #~ msgid "Create Manufacturer Part" #~ msgstr "Create Manufacturer Part" -#: src/tables/purchasing/ManufacturerPartTable.tsx:100 -msgid "Manufacturer part updated" -msgstr "" - -#: src/tables/purchasing/ManufacturerPartTable.tsx:111 +#: src/tables/purchasing/ManufacturerPartTable.tsx:92 msgid "Delete Manufacturer Part" msgstr "" +#: src/tables/purchasing/ManufacturerPartTable.tsx:100 +#~ msgid "Manufacturer part updated" +#~ msgstr "Manufacturer part updated" + #: src/tables/purchasing/ManufacturerPartTable.tsx:112 -msgid "Manufacturer part deleted" -msgstr "" +#~ msgid "Manufacturer part deleted" +#~ msgstr "Manufacturer part deleted" #: src/tables/purchasing/ManufacturerPartTable.tsx:114 -msgid "Are you sure you want to remove this manufacturer part?" -msgstr "" +#~ msgid "Are you sure you want to remove this manufacturer part?" +#~ msgstr "Are you sure you want to remove this manufacturer part?" #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:86 msgid "Part Description" @@ -6087,18 +6238,22 @@ msgid "Error Information" msgstr "" #: src/tables/settings/ErrorTable.tsx:51 -msgid "Delete error report" +msgid "Delete Error Report" msgstr "" +#: src/tables/settings/ErrorTable.tsx:51 +#~ msgid "Delete error report" +#~ msgstr "Delete error report" + #: src/tables/settings/ErrorTable.tsx:53 -msgid "Error report deleted" -msgstr "" - -#: src/tables/settings/ErrorTable.tsx:54 msgid "Are you sure you want to delete this error report?" msgstr "" -#: src/tables/settings/ErrorTable.tsx:67 +#: src/tables/settings/ErrorTable.tsx:55 +msgid "Error report deleted" +msgstr "" + +#: src/tables/settings/ErrorTable.tsx:77 #: src/tables/settings/FailedTasksTable.tsx:57 msgid "Error Details" msgstr "" @@ -6115,7 +6270,7 @@ msgid "Task ID" msgstr "" #: src/tables/settings/FailedTasksTable.tsx:34 -#: src/tables/stock/StockItemTestResultTable.tsx:214 +#: src/tables/stock/StockItemTestResultTable.tsx:205 msgid "Started" msgstr "" @@ -6188,30 +6343,71 @@ msgstr "" msgid "Next Run" msgstr "" -#: src/tables/settings/TemplateTable.tsx:120 -msgid "{templateTypeTranslation} with id {id} not found" +#: src/tables/settings/TemplateTable.tsx:82 +msgid "Template not found" msgstr "" +#: src/tables/settings/TemplateTable.tsx:84 +msgid "An error occurred while fetching template details" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:120 +#~ msgid "{templateTypeTranslation} with id {id} not found" +#~ msgstr "{templateTypeTranslation} with id {id} not found" + #: src/tables/settings/TemplateTable.tsx:124 -msgid "An error occurred while fetching {templateTypeTranslation} details" -msgstr "" +#~ msgid "An error occurred while fetching {templateTypeTranslation} details" +#~ msgstr "An error occurred while fetching {templateTypeTranslation} details" #: src/tables/settings/TemplateTable.tsx:146 -msgid "actions" +#~ msgid "actions" +#~ msgstr "actions" + +#: src/tables/settings/TemplateTable.tsx:170 +msgid "Modify" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:171 +msgid "Modify template file" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:222 +#: src/tables/settings/TemplateTable.tsx:289 +msgid "Edit Template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:230 +msgid "Delete template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:236 +msgid "Add Template" msgstr "" #: src/tables/settings/TemplateTable.tsx:243 -msgid "Add new" -msgstr "" +#~ msgid "Add new" +#~ msgstr "Add new" #: src/tables/settings/TemplateTable.tsx:243 #~ msgid "Create new" #~ msgstr "Create new" -#: src/tables/settings/TemplateTable.tsx:276 +#: src/tables/settings/TemplateTable.tsx:249 +msgid "Add template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:271 msgid "Filter by enabled status" msgstr "" +#: src/tables/settings/TemplateTable.tsx:276 +msgid "Model Type" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:277 +msgid "Filter by target model type" +msgstr "" + #: src/tables/settings/UserTable.tsx:79 msgid "User with id {id} not found" msgstr "" @@ -6277,6 +6473,23 @@ msgstr "" msgid "Edit user" msgstr "" +#: src/tables/stock/LocationTypesTable.tsx:36 +#: src/tables/stock/LocationTypesTable.tsx:105 +msgid "Add Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:44 +msgid "Edit Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:52 +msgid "Delete Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:69 +msgid "Icon" +msgstr "" + #: src/tables/stock/StockItemTable.tsx:90 msgid "This stock item is in production" msgstr "" @@ -6338,7 +6551,7 @@ msgid "Show items which are available" msgstr "" #: src/tables/stock/StockItemTable.tsx:280 -#: src/tables/stock/StockLocationTable.tsx:37 +#: src/tables/stock/StockLocationTable.tsx:33 msgid "Include Sublocations" msgstr "" @@ -6467,123 +6680,135 @@ msgstr "" msgid "Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:153 +#: src/tables/stock/StockItemTestResultTable.tsx:151 msgid "Test result for installed stock item" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:164 +#: src/tables/stock/StockItemTestResultTable.tsx:162 msgid "Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:170 +#: src/tables/stock/StockItemTestResultTable.tsx:168 msgid "No Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:186 +#: src/tables/stock/StockItemTestResultTable.tsx:184 msgid "Attachment" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:209 +#: src/tables/stock/StockItemTestResultTable.tsx:200 msgid "Test station" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:229 +#: src/tables/stock/StockItemTestResultTable.tsx:220 msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:277 -#: src/tables/stock/StockItemTestResultTable.tsx:349 -#: src/tables/stock/StockItemTestResultTable.tsx:404 +#: src/tables/stock/StockItemTestResultTable.tsx:268 +#: src/tables/stock/StockItemTestResultTable.tsx:340 +#: src/tables/stock/StockItemTestResultTable.tsx:395 msgid "Add Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:279 +#: src/tables/stock/StockItemTestResultTable.tsx:270 msgid "Test result added" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:288 -#: src/tables/stock/StockItemTestResultTable.tsx:359 +#: src/tables/stock/StockItemTestResultTable.tsx:279 +#: src/tables/stock/StockItemTestResultTable.tsx:350 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:290 +#: src/tables/stock/StockItemTestResultTable.tsx:281 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:296 -#: src/tables/stock/StockItemTestResultTable.tsx:368 +#: src/tables/stock/StockItemTestResultTable.tsx:287 +#: src/tables/stock/StockItemTestResultTable.tsx:359 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:298 +#: src/tables/stock/StockItemTestResultTable.tsx:289 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:312 +#: src/tables/stock/StockItemTestResultTable.tsx:303 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:313 +#: src/tables/stock/StockItemTestResultTable.tsx:304 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:320 +#: src/tables/stock/StockItemTestResultTable.tsx:311 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:337 +#: src/tables/stock/StockItemTestResultTable.tsx:328 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:386 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:390 +#: src/tables/stock/StockItemTestResultTable.tsx:381 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:391 +#: src/tables/stock/StockItemTestResultTable.tsx:382 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:395 +#: src/tables/stock/StockItemTestResultTable.tsx:386 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:396 +#: src/tables/stock/StockItemTestResultTable.tsx:387 msgid "Show only passed tests" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:38 +#: src/tables/stock/StockLocationTable.tsx:34 msgid "Include sublocations in results" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:42 +#: src/tables/stock/StockLocationTable.tsx:38 msgid "structural" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:43 +#: src/tables/stock/StockLocationTable.tsx:39 msgid "Show structural locations" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:47 +#: src/tables/stock/StockLocationTable.tsx:43 msgid "external" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:48 +#: src/tables/stock/StockLocationTable.tsx:44 msgid "Show external locations" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:52 +#: src/tables/stock/StockLocationTable.tsx:48 msgid "Has location type" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:89 -#: src/tables/stock/StockLocationTable.tsx:118 +#: src/tables/stock/StockLocationTable.tsx:85 +#: src/tables/stock/StockLocationTable.tsx:110 msgid "Add Stock Location" msgstr "" +#: src/tables/stock/StockTrackingTable.tsx:64 +msgid "Added" +msgstr "" + +#: src/tables/stock/StockTrackingTable.tsx:69 +msgid "Removed" +msgstr "" + +#: src/tables/stock/StockTrackingTable.tsx:198 +msgid "No user information" +msgstr "" + #: src/views/MobileAppView.tsx:22 msgid "Mobile viewport detected" msgstr "" diff --git a/src/frontend/src/locales/vi/messages.po b/src/frontend/src/locales/vi/messages.po index 5df933bf2f..ca79ab23ed 100644 --- a/src/frontend/src/locales/vi/messages.po +++ b/src/frontend/src/locales/vi/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: vi\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-05-13 02:48\n" +"PO-Revision-Date: 2024-05-23 11:39\n" "Last-Translator: \n" "Language-Team: Vietnamese\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -30,10 +30,67 @@ msgstr "" msgid "Title" msgstr "Tiêu đề" +#: src/components/buttons/AdminButton.tsx:83 +msgid "Open in admin interface" +msgstr "" + #: src/components/buttons/CopyButton.tsx:18 msgid "Copy to clipboard" msgstr "Sao chép đến bảng tạm" +#: src/components/buttons/PrintingActions.tsx:95 +msgid "Print Label" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:101 +msgid "Label printing completed successfully" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:106 +#: src/components/buttons/PrintingActions.tsx:143 +#: src/components/forms/ApiForm.tsx:504 +#: src/components/forms/fields/ApiFormField.tsx:295 +#: src/components/modals/LicenseModal.tsx:75 +#: src/components/nav/SearchDrawer.tsx:413 +#: src/components/widgets/MarkdownEditor.tsx:107 +#: src/components/widgets/MarkdownEditor.tsx:153 +#: src/pages/ErrorPage.tsx:12 +#: src/pages/ErrorPage.tsx:25 +#: src/pages/part/PartPricingPanel.tsx:71 +#: src/tables/InvenTreeTable.tsx:451 +#: src/tables/InvenTreeTable.tsx:531 +#: src/tables/stock/StockItemTestResultTable.tsx:310 +msgid "Error" +msgstr "Lỗi" + +#: src/components/buttons/PrintingActions.tsx:107 +msgid "The label could not be generated" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:122 +msgid "Print Report" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:138 +msgid "Report printing completed successfully" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:144 +msgid "The report could not be generated" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:171 +msgid "Printing Actions" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:176 +msgid "Print Labels" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:182 +msgid "Print Reports" +msgstr "" + #: src/components/buttons/ScanButton.tsx:15 msgid "Scan QR code" msgstr "Quét mã QR" @@ -64,15 +121,15 @@ msgstr "Đồng ý" msgid "No" msgstr "Không" -#: src/components/details/Details.tsx:302 +#: src/components/details/Details.tsx:303 msgid "No name defined" msgstr "" -#: src/components/details/Details.tsx:339 +#: src/components/details/Details.tsx:340 msgid "Copied" msgstr "Đã sao chép" -#: src/components/details/Details.tsx:339 +#: src/components/details/Details.tsx:340 msgid "Copy" msgstr "Sao chép" @@ -85,24 +142,23 @@ msgid "Remove the associated image from this item?" msgstr "" #: src/components/details/DetailsImage.tsx:71 -#: src/forms/StockForms.tsx:442 +#: src/forms/StockForms.tsx:483 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:448 +#: src/pages/stock/StockDetail.tsx:462 msgid "Remove" msgstr "" #: src/components/details/DetailsImage.tsx:71 -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:163 -#: src/components/items/ActionDropdown.tsx:222 -#: src/components/items/ActionDropdown.tsx:223 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 +#: src/components/items/ActionDropdown.tsx:229 +#: src/components/items/ActionDropdown.tsx:230 #: src/contexts/ThemeContext.tsx:43 #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:40 -#: src/tables/FilterSelectDrawer.tsx:218 -#: src/tables/InvenTreeTable.tsx:493 -#: src/tables/build/BuildOutputTable.tsx:223 -#: src/tables/plugin/PluginListTable.tsx:365 +#: src/tables/FilterSelectDrawer.tsx:207 +#: src/tables/InvenTreeTable.tsx:499 +#: src/tables/build/BuildOutputTable.tsx:225 msgid "Cancel" msgstr "Hủy bỏ" @@ -119,7 +175,7 @@ msgid "Clear" msgstr "" #: src/components/details/DetailsImage.tsx:227 -#: src/components/forms/ApiForm.tsx:554 +#: src/components/forms/ApiForm.tsx:571 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:56 msgid "Submit" @@ -150,9 +206,10 @@ msgid "Part is not active" msgstr "" #: src/components/details/PartIcons.tsx:34 -#: src/pages/company/CompanyDetail.tsx:308 -#: src/pages/company/SupplierPartDetail.tsx:304 -#: src/pages/part/PartDetail.tsx:684 +#: src/components/render/Plugin.tsx:17 +#: src/pages/company/CompanyDetail.tsx:310 +#: src/pages/company/SupplierPartDetail.tsx:305 +#: src/pages/part/PartDetail.tsx:685 msgid "Inactive" msgstr "" @@ -196,10 +253,10 @@ msgid "Code" msgstr "" #: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:44 -msgid "Failed to parse error response from server." -msgstr "" +#~ msgid "Failed to parse error response from server." +#~ msgstr "Failed to parse error response from server." -#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:82 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:81 msgid "Preview not available, click \"Reload Preview\"." msgstr "" @@ -207,98 +264,99 @@ msgstr "" msgid "PDF Preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:113 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:104 msgid "Error loading template" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:125 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:116 msgid "Error saving template" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 -msgid "Save & Reload preview?" +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:146 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:270 +msgid "Save & Reload Preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:156 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 msgid "Are you sure you want to Save & Reload the preview?" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 +#~ msgid "Save & Reload preview?" +#~ msgstr "Save & Reload preview?" + +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:153 msgid "To render the preview the current template needs to be replaced on the server with your modifications which may break the label if it is under active use. Do you want to proceed?" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:162 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:157 msgid "Save & Reload" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:191 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:189 msgid "Preview updated" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:192 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:190 msgid "The preview has been updated successfully." msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:255 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:262 msgid "Reload preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:256 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:263 msgid "Use the currently stored template from the server" msgstr "" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:263 -msgid "Save & Reload preview" -msgstr "" +#~ msgid "Save & Reload preview" +#~ msgstr "Save & Reload preview" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:264 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:271 msgid "Save the current template and reload the preview" msgstr "" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:322 -#: src/tables/part/PartThumbTable.tsx:203 -msgid "Select" +#~ msgid "to preview" +#~ msgstr "to preview" + +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:329 +msgid "Select instance to preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:322 -msgid "to preview" -msgstr "" - -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:366 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:373 msgid "Error rendering template" msgstr "" -#: src/components/forms/ApiForm.tsx:143 +#: src/components/forms/ApiForm.tsx:148 #: src/functions/forms.tsx:259 msgid "Form Error" msgstr "Lỗi form" -#: src/components/forms/ApiForm.tsx:411 +#: src/components/forms/ApiForm.tsx:428 #: src/components/widgets/MarkdownEditor.tsx:145 msgid "Success" msgstr "Thành công" #: src/components/forms/ApiForm.tsx:487 -msgid "Form Errors Exist" -msgstr "Từ các lỗi hiện hữu" +#~ msgid "Form Errors Exist" +#~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:592 -#: src/tables/plugin/PluginListTable.tsx:445 +#: src/components/forms/ApiForm.tsx:609 +#: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "Cập nhật" -#: src/components/forms/ApiForm.tsx:612 -#: src/components/items/ActionDropdown.tsx:203 +#: src/components/forms/ApiForm.tsx:629 +#: src/components/items/ActionDropdown.tsx:210 #: src/functions/forms.tsx:299 #: src/hooks/UseForm.tsx:122 #: src/pages/Index/Scan.tsx:343 #: src/pages/Notifications.tsx:123 -#: src/tables/InvenTreeTable.tsx:492 +#: src/tables/InvenTreeTable.tsx:498 #: src/tables/RowActions.tsx:71 -#: src/tables/plugin/PluginListTable.tsx:477 -#: src/tables/settings/TemplateTable.tsx:105 -#: src/tables/settings/TemplateTable.tsx:154 -#: src/tables/settings/TemplateTable.tsx:236 +#: src/tables/plugin/PluginListTable.tsx:420 msgid "Delete" msgstr "Xóa" @@ -468,18 +526,19 @@ msgstr "Host" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 -#: src/pages/part/CategoryDetail.tsx:77 -#: src/pages/part/PartDetail.tsx:125 -#: src/pages/stock/LocationDetail.tsx:83 +#: src/pages/part/CategoryDetail.tsx:78 +#: src/pages/part/PartDetail.tsx:126 +#: src/pages/stock/LocationDetail.tsx:85 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 #: src/tables/machine/MachineTypeTable.tsx:216 #: src/tables/machine/MachineTypeTable.tsx:319 #: src/tables/plugin/PluginErrorTable.tsx:33 -#: src/tables/plugin/PluginListTable.tsx:169 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:27 +#: src/tables/plugin/PluginListTable.tsx:126 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:32 #: src/tables/settings/GroupTable.tsx:103 #: src/tables/settings/PendingTasksTable.tsx:26 +#: src/tables/stock/LocationTypesTable.tsx:60 msgid "Name" msgstr "Tên" @@ -520,35 +579,20 @@ msgstr "Tên: {0}" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "Trạng thái: <0>worker ({0}), <1>plugins{1}" -#: src/components/forms/fields/ApiFormField.tsx:276 -#: src/components/modals/LicenseModal.tsx:75 -#: src/components/nav/SearchDrawer.tsx:413 -#: src/components/widgets/MarkdownEditor.tsx:107 -#: src/components/widgets/MarkdownEditor.tsx:153 -#: src/pages/ErrorPage.tsx:12 -#: src/pages/ErrorPage.tsx:25 -#: src/pages/part/PartPricingPanel.tsx:71 -#: src/tables/InvenTreeTable.tsx:445 -#: src/tables/InvenTreeTable.tsx:525 -#: src/tables/plugin/PluginListTable.tsx:402 -#: src/tables/stock/StockItemTestResultTable.tsx:319 -msgid "Error" -msgstr "Lỗi" - -#: src/components/forms/fields/RelatedModelField.tsx:305 +#: src/components/forms/fields/RelatedModelField.tsx:315 #: src/pages/Index/Settings/UserSettings.tsx:64 #: src/tables/Search.tsx:23 msgid "Search" msgstr "Tìm kiếm" -#: src/components/forms/fields/RelatedModelField.tsx:306 +#: src/components/forms/fields/RelatedModelField.tsx:316 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:120 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "Đang tải" -#: src/components/forms/fields/RelatedModelField.tsx:308 +#: src/components/forms/fields/RelatedModelField.tsx:318 msgid "No results found" msgstr "Không có kết quả nào được tìm thấy" @@ -569,54 +613,51 @@ msgstr "" msgid "Thumbnail" msgstr "Ảnh thu nhỏ" -#: src/components/items/ActionDropdown.tsx:112 -#: src/pages/build/BuildDetail.tsx:354 +#: src/components/items/ActionDropdown.tsx:119 +#: src/pages/build/BuildDetail.tsx:360 msgid "Barcode Actions" msgstr "Chức năng mã vạch" -#: src/components/items/ActionDropdown.tsx:129 +#: src/components/items/ActionDropdown.tsx:136 msgid "View" msgstr "Xem" -#: src/components/items/ActionDropdown.tsx:130 +#: src/components/items/ActionDropdown.tsx:137 msgid "View barcode" msgstr "Xem mã vạch" -#: src/components/items/ActionDropdown.tsx:146 +#: src/components/items/ActionDropdown.tsx:153 msgid "Link Barcode" msgstr "Liên kết mã vạch" -#: src/components/items/ActionDropdown.tsx:147 +#: src/components/items/ActionDropdown.tsx:154 msgid "Link custom barcode" msgstr "Liên kết mã vạch tùy chỉnh" -#: src/components/items/ActionDropdown.tsx:163 -#: src/forms/PurchaseOrderForms.tsx:375 +#: src/components/items/ActionDropdown.tsx:170 +#: src/forms/PurchaseOrderForms.tsx:389 msgid "Unlink Barcode" msgstr "Gỡ liên kết mã vạch" -#: src/components/items/ActionDropdown.tsx:164 +#: src/components/items/ActionDropdown.tsx:171 msgid "Unlink custom barcode" msgstr "Gỡ bỏ mã vạch tùy chỉnh" -#: src/components/items/ActionDropdown.tsx:182 +#: src/components/items/ActionDropdown.tsx:189 #: src/tables/RowActions.tsx:51 -#: src/tables/settings/TemplateTable.tsx:87 -#: src/tables/settings/TemplateTable.tsx:150 -#: src/tables/settings/TemplateTable.tsx:287 msgid "Edit" msgstr "Sửa" -#: src/components/items/ActionDropdown.tsx:204 +#: src/components/items/ActionDropdown.tsx:211 msgid "Delete item" msgstr "Xoá mặt hàng" -#: src/components/items/ActionDropdown.tsx:241 +#: src/components/items/ActionDropdown.tsx:248 #: src/tables/RowActions.tsx:31 msgid "Duplicate" msgstr "Nhân bản" -#: src/components/items/ActionDropdown.tsx:242 +#: src/components/items/ActionDropdown.tsx:249 msgid "Duplicate item" msgstr "Nhân bản hàng hóa" @@ -625,7 +666,7 @@ msgid "Read More" msgstr "Xem thêm" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:437 +#: src/tables/InvenTreeTable.tsx:443 msgid "Unknown error" msgstr "Lỗi không xác định" @@ -785,27 +826,27 @@ msgstr "Lỗi trong khi dừng lại" #: src/components/modals/QrCodeModal.tsx:154 #: src/defaults/menuItems.tsx:21 -#: src/pages/Index/Scan.tsx:747 +#: src/pages/Index/Scan.tsx:746 msgid "Scanning" msgstr "Đang quét" #: src/components/modals/QrCodeModal.tsx:154 -#: src/pages/Index/Scan.tsx:747 +#: src/pages/Index/Scan.tsx:746 msgid "Not scanning" msgstr "Chưa quét" #: src/components/modals/QrCodeModal.tsx:159 -#: src/pages/Index/Scan.tsx:753 +#: src/pages/Index/Scan.tsx:752 msgid "Select Camera" msgstr "Chọn camera" #: src/components/modals/QrCodeModal.tsx:169 -#: src/pages/Index/Scan.tsx:738 +#: src/pages/Index/Scan.tsx:737 msgid "Start scanning" msgstr "Bắt đầu quét" #: src/components/modals/QrCodeModal.tsx:176 -#: src/pages/Index/Scan.tsx:730 +#: src/pages/Index/Scan.tsx:729 msgid "Stop scanning" msgstr "Dừng quét" @@ -891,8 +932,8 @@ msgid "Email settings not configured" msgstr "Chưa cấu hình thiết lập email" #: src/components/modals/ServerInfoModal.tsx:121 -#: src/tables/plugin/PluginListTable.tsx:187 -#: src/tables/plugin/PluginListTable.tsx:319 +#: src/tables/plugin/PluginListTable.tsx:144 +#: src/tables/plugin/PluginListTable.tsx:294 msgid "Version" msgstr "Phiên bản" @@ -926,13 +967,13 @@ msgstr "Cài đặt tài khoản" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:293 +#: src/pages/Index/Settings/SystemSettings.tsx:294 msgid "System Settings" msgstr "Thiết lập hệ thống" #: src/components/nav/MainMenu.tsx:67 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:172 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 msgid "Admin Center" msgstr "Trung tâm quản trị" @@ -975,7 +1016,7 @@ msgid "Pages" msgstr "Trang" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:133 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:153 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "Plugins" @@ -1013,9 +1054,9 @@ msgid "Mark as read" msgstr "Đánh dấu đã đọc" #: src/components/nav/PartCategoryTree.tsx:158 -#: src/components/render/ModelType.tsx:60 +#: src/components/render/ModelType.tsx:64 #: src/pages/Index/Settings/SystemSettings.tsx:162 -#: src/pages/part/CategoryDetail.tsx:248 +#: src/pages/part/CategoryDetail.tsx:249 msgid "Part Categories" msgstr "Danh mục phụ kiện" @@ -1052,142 +1093,147 @@ msgid "No results available for search query" msgstr "Không có kết quả nào được tìm thấy với truy vấn tìm kiếm" #: src/components/nav/StockLocationTree.tsx:93 -#: src/components/render/ModelType.tsx:76 -#: src/pages/stock/LocationDetail.tsx:175 +#: src/components/render/ModelType.tsx:82 +#: src/pages/stock/LocationDetail.tsx:185 msgid "Stock Locations" msgstr "Vị trí kho hàng" -#: src/components/render/Instance.tsx:137 +#: src/components/render/Instance.tsx:166 msgid "Unknown model: {model}" msgstr "Model không rõ: {model}" -#: src/components/render/ModelType.tsx:21 -#: src/forms/BuildForms.tsx:184 -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49 +#: src/components/render/ModelType.tsx:22 +#: src/forms/BuildForms.tsx:201 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:83 #: src/pages/part/PartDetail.tsx:828 #: src/tables/part/RelatedPartTable.tsx:45 +#: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" msgstr "Phụ kiện" -#: src/components/render/ModelType.tsx:22 +#: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 #: src/pages/Index/Settings/SystemSettings.tsx:167 -#: src/pages/part/CategoryDetail.tsx:109 -#: src/pages/part/CategoryDetail.tsx:234 -#: src/pages/part/CategoryDetail.tsx:264 -#: src/pages/part/PartDetail.tsx:638 +#: src/pages/part/CategoryDetail.tsx:110 +#: src/pages/part/CategoryDetail.tsx:235 +#: src/pages/part/CategoryDetail.tsx:265 +#: src/pages/part/PartDetail.tsx:639 msgid "Parts" msgstr "Phụ tùng" -#: src/components/render/ModelType.tsx:29 +#: src/components/render/ModelType.tsx:31 msgid "Part Parameter Template" msgstr "Mẫu tham số phụ kiện" -#: src/components/render/ModelType.tsx:30 +#: src/components/render/ModelType.tsx:32 msgid "Part Parameter Templates" msgstr "Mẫu tham số phụ kiện" -#: src/components/render/ModelType.tsx:36 +#: src/components/render/ModelType.tsx:38 msgid "Part Test Template" msgstr "" -#: src/components/render/ModelType.tsx:37 +#: src/components/render/ModelType.tsx:39 msgid "Part Test Templates" msgstr "" -#: src/components/render/ModelType.tsx:43 -#: src/pages/company/SupplierPartDetail.tsx:189 -#: src/pages/company/SupplierPartDetail.tsx:317 -#: src/pages/stock/StockDetail.tsx:159 +#: src/components/render/ModelType.tsx:45 +#: src/pages/company/SupplierPartDetail.tsx:190 +#: src/pages/company/SupplierPartDetail.tsx:318 +#: src/pages/stock/StockDetail.tsx:162 #: src/tables/purchasing/SupplierPartTable.tsx:68 msgid "Supplier Part" msgstr "Phụ kiện nhà cung cấp" -#: src/components/render/ModelType.tsx:44 +#: src/components/render/ModelType.tsx:46 msgid "Supplier Parts" msgstr "Nhà cung cấp phụ kiện" -#: src/components/render/ModelType.tsx:51 -#: src/pages/company/ManufacturerPartDetail.tsx:124 +#: src/components/render/ModelType.tsx:54 +#: src/pages/company/ManufacturerPartDetail.tsx:125 msgid "Manufacturer Part" msgstr "Phụ kiện nhà sản xuất" -#: src/components/render/ModelType.tsx:52 +#: src/components/render/ModelType.tsx:55 msgid "Manufacturer Parts" msgstr "Nhà sản xuất phụ kiện" -#: src/components/render/ModelType.tsx:59 -#: src/pages/part/CategoryDetail.tsx:287 +#: src/components/render/ModelType.tsx:63 +#: src/pages/part/CategoryDetail.tsx:288 msgid "Part Category" msgstr "Danh mục phụ kiện" -#: src/components/render/ModelType.tsx:67 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67 -#: src/pages/stock/StockDetail.tsx:535 +#: src/components/render/ModelType.tsx:72 +#: src/pages/stock/StockDetail.tsx:548 +#: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" msgstr "Hàng trong kho" -#: src/components/render/ModelType.tsx:68 -#: src/pages/company/CompanyDetail.tsx:197 -#: src/pages/stock/LocationDetail.tsx:116 -#: src/pages/stock/LocationDetail.tsx:161 +#: src/components/render/ModelType.tsx:73 +#: src/pages/company/CompanyDetail.tsx:199 +#: src/pages/stock/LocationDetail.tsx:118 +#: src/pages/stock/LocationDetail.tsx:171 #: src/pages/stock/LocationDetail.tsx:365 msgid "Stock Items" msgstr "Hàng trong kho" -#: src/components/render/ModelType.tsx:75 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:154 +#: src/components/render/ModelType.tsx:81 msgid "Stock Location" msgstr "Vị trí kho hàng" -#: src/components/render/ModelType.tsx:83 +#: src/components/render/ModelType.tsx:90 +msgid "Stock Location Type" +msgstr "" + +#: src/components/render/ModelType.tsx:91 +msgid "Stock Location Types" +msgstr "" + +#: src/components/render/ModelType.tsx:95 msgid "Stock History" msgstr "" -#: src/components/render/ModelType.tsx:84 +#: src/components/render/ModelType.tsx:96 msgid "Stock Histories" msgstr "" -#: src/components/render/ModelType.tsx:88 +#: src/components/render/ModelType.tsx:100 #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:43 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:126 msgid "Build" msgstr "Xây dựng" -#: src/components/render/ModelType.tsx:89 +#: src/components/render/ModelType.tsx:101 msgid "Builds" msgstr "Bản dựng" -#: src/components/render/ModelType.tsx:96 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:76 +#: src/components/render/ModelType.tsx:109 msgid "Build Line" msgstr "" -#: src/components/render/ModelType.tsx:97 +#: src/components/render/ModelType.tsx:110 msgid "Build Lines" msgstr "" -#: src/components/render/ModelType.tsx:104 -#: src/pages/company/CompanyDetail.tsx:321 +#: src/components/render/ModelType.tsx:117 +#: src/pages/company/CompanyDetail.tsx:323 msgid "Company" msgstr "Công ty" -#: src/components/render/ModelType.tsx:105 +#: src/components/render/ModelType.tsx:118 msgid "Companies" msgstr "Doanh nghiệp" -#: src/components/render/ModelType.tsx:112 +#: src/components/render/ModelType.tsx:126 #: src/tables/TableHoverCard.tsx:58 #: src/tables/build/BuildOrderTable.tsx:131 #: src/tables/purchasing/PurchaseOrderTable.tsx:64 @@ -1196,170 +1242,199 @@ msgstr "Doanh nghiệp" msgid "Project Code" msgstr "Mã dự án" -#: src/components/render/ModelType.tsx:113 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:97 +#: src/components/render/ModelType.tsx:127 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:105 msgid "Project Codes" msgstr "Mã dự án" -#: src/components/render/ModelType.tsx:119 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99 +#: src/components/render/ModelType.tsx:133 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:355 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:362 +#: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" msgstr "Đơn đặt mua" -#: src/components/render/ModelType.tsx:120 -#: src/pages/Index/Settings/SystemSettings.tsx:242 -#: src/pages/company/CompanyDetail.tsx:190 -#: src/pages/company/SupplierPartDetail.tsx:223 -#: src/pages/part/PartDetail.tsx:571 +#: src/components/render/ModelType.tsx:134 +#: src/pages/Index/Settings/SystemSettings.tsx:243 +#: src/pages/company/CompanyDetail.tsx:192 +#: src/pages/company/SupplierPartDetail.tsx:224 +#: src/pages/part/PartDetail.tsx:572 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "Đơn hàng mua" -#: src/components/render/ModelType.tsx:127 +#: src/components/render/ModelType.tsx:142 msgid "Purchase Order Line" msgstr "" -#: src/components/render/ModelType.tsx:128 +#: src/components/render/ModelType.tsx:143 msgid "Purchase Order Lines" msgstr "" -#: src/components/render/ModelType.tsx:132 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:108 +#: src/components/render/ModelType.tsx:147 #: src/pages/build/BuildDetail.tsx:131 -#: src/pages/sales/SalesOrderDetail.tsx:340 -#: src/pages/stock/StockDetail.tsx:207 +#: src/pages/sales/SalesOrderDetail.tsx:347 +#: src/pages/stock/StockDetail.tsx:210 +#: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" msgstr "Đơn đặt bán" -#: src/components/render/ModelType.tsx:133 -#: src/pages/Index/Settings/SystemSettings.tsx:257 -#: src/pages/company/CompanyDetail.tsx:210 -#: src/pages/part/PartDetail.tsx:577 +#: src/components/render/ModelType.tsx:148 +#: src/pages/Index/Settings/SystemSettings.tsx:258 +#: src/pages/company/CompanyDetail.tsx:212 +#: src/pages/part/PartDetail.tsx:578 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "Đơn hàng bán" -#: src/components/render/ModelType.tsx:140 +#: src/components/render/ModelType.tsx:156 msgid "Sales Order Shipment" msgstr "Vận chuyển đơn hàng" -#: src/components/render/ModelType.tsx:141 +#: src/components/render/ModelType.tsx:157 msgid "Sales Order Shipments" msgstr "Vận chuyển đơn hàng" -#: src/components/render/ModelType.tsx:147 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:117 -#: src/pages/sales/ReturnOrderDetail.tsx:318 +#: src/components/render/ModelType.tsx:163 +#: src/pages/sales/ReturnOrderDetail.tsx:325 +#: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "Đơn hàng trả lại" -#: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:272 -#: src/pages/company/CompanyDetail.tsx:217 +#: src/components/render/ModelType.tsx:164 +#: src/pages/Index/Settings/SystemSettings.tsx:273 +#: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" msgstr "Đơn hàng trả lại" -#: src/components/render/ModelType.tsx:155 +#: src/components/render/ModelType.tsx:172 #: src/tables/company/AddressTable.tsx:47 msgid "Address" msgstr "Địa chỉ" -#: src/components/render/ModelType.tsx:156 -#: src/pages/company/CompanyDetail.tsx:247 +#: src/components/render/ModelType.tsx:173 +#: src/pages/company/CompanyDetail.tsx:249 msgid "Addresses" msgstr "Địa chỉ" -#: src/components/render/ModelType.tsx:162 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:189 -#: src/pages/sales/ReturnOrderDetail.tsx:157 -#: src/pages/sales/SalesOrderDetail.tsx:161 +#: src/components/render/ModelType.tsx:179 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:191 +#: src/pages/sales/ReturnOrderDetail.tsx:159 +#: src/pages/sales/SalesOrderDetail.tsx:163 msgid "Contact" msgstr "Liên hệ" -#: src/components/render/ModelType.tsx:163 -#: src/pages/company/CompanyDetail.tsx:241 +#: src/components/render/ModelType.tsx:180 +#: src/pages/company/CompanyDetail.tsx:243 msgid "Contacts" msgstr "Danh bạ" -#: src/components/render/ModelType.tsx:169 +#: src/components/render/ModelType.tsx:186 msgid "Owner" msgstr "Chủ sở hữu" -#: src/components/render/ModelType.tsx:170 +#: src/components/render/ModelType.tsx:187 msgid "Owners" msgstr "Chủ sở hữu" -#: src/components/render/ModelType.tsx:176 +#: src/components/render/ModelType.tsx:193 +#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "Người dùng" -#: src/components/render/ModelType.tsx:177 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:73 +#: src/components/render/ModelType.tsx:194 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:81 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "Người dùng" -#: src/components/render/Order.tsx:87 +#: src/components/render/ModelType.tsx:200 +msgid "Label Template" +msgstr "" + +#: src/components/render/ModelType.tsx:201 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:135 +msgid "Label Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:207 +msgid "Report Template" +msgstr "" + +#: src/components/render/ModelType.tsx:208 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:141 +msgid "Report Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:214 +msgid "Plugin Configuration" +msgstr "" + +#: src/components/render/ModelType.tsx:215 +msgid "Plugin Configurations" +msgstr "" + +#: src/components/render/Order.tsx:104 msgid "Shipment" msgstr "Lô hàng" -#: src/components/render/Part.tsx:12 +#: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:198 -#: src/pages/part/PartDetail.tsx:491 +#: src/pages/Index/Settings/SystemSettings.tsx:199 +#: src/pages/part/PartDetail.tsx:492 #: src/pages/stock/LocationDetail.tsx:344 -#: src/pages/stock/StockDetail.tsx:344 +#: src/pages/stock/StockDetail.tsx:352 #: src/tables/stock/StockItemTable.tsx:57 msgid "Stock" msgstr "Kho hàng" -#: src/components/render/Stock.tsx:26 -#: src/pages/stock/StockDetail.tsx:142 -#: src/pages/stock/StockDetail.tsx:501 +#: src/components/render/Stock.tsx:52 +#: src/pages/stock/StockDetail.tsx:145 +#: src/pages/stock/StockDetail.tsx:514 msgid "Serial Number" msgstr "" -#: src/components/render/Stock.tsx:28 -#: src/forms/BuildForms.tsx:189 +#: src/components/render/Stock.tsx:54 +#: src/forms/BuildForms.tsx:206 #: src/pages/part/pricing/BomPricingPanel.tsx:144 -#: src/pages/part/pricing/PriceBreakPanel.tsx:96 -#: src/pages/stock/StockDetail.tsx:137 -#: src/pages/stock/StockDetail.tsx:507 +#: src/pages/part/pricing/PriceBreakPanel.tsx:94 +#: src/pages/stock/StockDetail.tsx:140 +#: src/pages/stock/StockDetail.tsx:520 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:73 +#: src/tables/stock/StockTrackingTable.tsx:59 msgid "Quantity" msgstr "Số lượng" -#: src/components/settings/SettingItem.tsx:46 -#: src/components/settings/SettingItem.tsx:99 -msgid "Setting updated" -msgstr "Cài đặt đã được cập nhật" - #: src/components/settings/SettingItem.tsx:47 #: src/components/settings/SettingItem.tsx:100 -msgid "{0} updated successfully" -msgstr "{0} đã được cập nhật thành công" +#~ msgid "{0} updated successfully" +#~ msgstr "{0} updated successfully" -#: src/components/settings/SettingItem.tsx:55 -msgid "Error editing setting" -msgstr "Lỗi sửa thiết lập" - -#: src/components/settings/SettingItem.tsx:92 +#: src/components/settings/SettingList.tsx:67 msgid "Edit Setting" msgstr "Sửa thiết lập" -#: src/components/settings/SettingList.tsx:63 -msgid "No settings specified" +#: src/components/settings/SettingList.tsx:78 +#: src/components/settings/SettingList.tsx:108 +msgid "Setting {0} updated successfully" msgstr "" -#: src/components/tables/ColumnRenderers.tsx:134 -#~ msgid "Shipment Date" -#~ msgstr "Shipment Date" +#: src/components/settings/SettingList.tsx:107 +msgid "Setting updated" +msgstr "Cài đặt đã được cập nhật" + +#: src/components/settings/SettingList.tsx:117 +msgid "Error editing setting" +msgstr "Lỗi sửa thiết lập" + +#: src/components/settings/SettingList.tsx:158 +msgid "No settings specified" +msgstr "" #: src/components/tables/FilterGroup.tsx:29 #~ msgid "Add table filter" @@ -1731,10 +1806,6 @@ msgstr "" #~ msgid "This is a test filter" #~ msgstr "This is a test filter" -#: src/components/tables/stock/StockLocationTable.tsx:91 -#~ msgid "Location Type" -#~ msgstr "Location Type" - #: src/components/tables/stock/StockLocationTable.tsx:145 #~ msgid "Stock location updated" #~ msgstr "Stock location updated" @@ -2072,7 +2143,7 @@ msgstr "Tin hiện tại" #~ msgstr "Local Server" #: src/defaults/links.tsx:11 -#: src/pages/company/CompanyDetail.tsx:90 +#: src/pages/company/CompanyDetail.tsx:92 msgid "Website" msgstr "Trang web" @@ -2087,10 +2158,10 @@ msgstr "Demo" #: src/defaults/links.tsx:31 #: src/defaults/menuItems.tsx:48 #: src/pages/company/ManufacturerDetail.tsx:9 -#: src/pages/company/ManufacturerPartDetail.tsx:231 +#: src/pages/company/ManufacturerPartDetail.tsx:235 #: src/pages/company/SupplierDetail.tsx:9 -#: src/pages/company/SupplierPartDetail.tsx:291 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:358 +#: src/pages/company/SupplierPartDetail.tsx:292 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:365 #: src/pages/purchasing/PurchasingIndex.tsx:52 msgid "Purchasing" msgstr "Mua sắm" @@ -2098,15 +2169,15 @@ msgstr "Mua sắm" #: src/defaults/links.tsx:32 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:323 +#: src/pages/sales/ReturnOrderDetail.tsx:330 #: src/pages/sales/SalesIndex.tsx:45 -#: src/pages/sales/SalesOrderDetail.tsx:345 +#: src/pages/sales/SalesOrderDetail.tsx:352 msgid "Sales" msgstr "Bán hàng" #: src/defaults/links.tsx:35 #: src/defaults/menuItems.tsx:71 -#: src/pages/Index/Playground.tsx:239 +#: src/pages/Index/Playground.tsx:238 msgid "Playground" msgstr "Sân chơi" @@ -2240,87 +2311,83 @@ msgstr "Khung nhìn để quét tương tác và đa chức năng." #~ msgstr "Combusken battles with the intensely hot flames it spews" #: src/forms/AttachmentForms.tsx:57 -msgid "Add File" -msgstr "Thêm tệp tin" +#~ msgid "Add File" +#~ msgstr "Add File" #: src/forms/AttachmentForms.tsx:57 -msgid "Add Link" -msgstr "Thêm liên kết" +#~ msgid "Add Link" +#~ msgstr "Add Link" #: src/forms/AttachmentForms.tsx:58 -msgid "File added" -msgstr "Tệp tin đã được thêm" +#~ msgid "File added" +#~ msgstr "File added" #: src/forms/AttachmentForms.tsx:58 -msgid "Link added" -msgstr "Liên kết đã được thêm" +#~ msgid "Link added" +#~ msgstr "Link added" #: src/forms/AttachmentForms.tsx:99 -msgid "Edit File" -msgstr "Sửa tệp tin" +#~ msgid "Edit File" +#~ msgstr "Edit File" #: src/forms/AttachmentForms.tsx:99 -msgid "Edit Link" -msgstr "Sửa liên kết" +#~ msgid "Edit Link" +#~ msgstr "Edit Link" #: src/forms/AttachmentForms.tsx:100 -msgid "File updated" -msgstr "Tệp tin đã được cập nhật" +#~ msgid "File updated" +#~ msgstr "File updated" #: src/forms/AttachmentForms.tsx:100 -msgid "Link updated" -msgstr "Liên kết đã được cập nhật" - -#: src/forms/AttachmentForms.tsx:124 -msgid "Delete Attachment" -msgstr "Xóa tệp đính kèm" +#~ msgid "Link updated" +#~ msgstr "Link updated" #: src/forms/AttachmentForms.tsx:125 -msgid "Attachment deleted" -msgstr "Đã xóa tệp đính kèm" +#~ msgid "Attachment deleted" +#~ msgstr "Attachment deleted" #: src/forms/AttachmentForms.tsx:128 -msgid "Are you sure you want to delete this attachment?" -msgstr "Bạn có chắc chắn muốn xóa tập tin đính kèm này?" +#~ msgid "Are you sure you want to delete this attachment?" +#~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BuildForms.tsx:129 +#: src/forms/BuildForms.tsx:146 msgid "Next serial number" msgstr "" -#: src/forms/BuildForms.tsx:133 +#: src/forms/BuildForms.tsx:150 msgid "Latest serial number" msgstr "" -#: src/forms/BuildForms.tsx:205 +#: src/forms/BuildForms.tsx:222 msgid "Remove output" msgstr "" -#: src/forms/BuildForms.tsx:287 +#: src/forms/BuildForms.tsx:304 msgid "Complete Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:291 +#: src/forms/BuildForms.tsx:308 msgid "Build outputs have been completed" msgstr "" -#: src/forms/BuildForms.tsx:360 +#: src/forms/BuildForms.tsx:377 msgid "Scrap Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:364 +#: src/forms/BuildForms.tsx:381 msgid "Build outputs have been scrapped" msgstr "" -#: src/forms/BuildForms.tsx:396 -#: src/forms/BuildForms.tsx:420 +#: src/forms/BuildForms.tsx:413 +#: src/forms/BuildForms.tsx:437 msgid "Cancel Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:397 +#: src/forms/BuildForms.tsx:414 msgid "Selected build outputs will be deleted" msgstr "" -#: src/forms/BuildForms.tsx:424 +#: src/forms/BuildForms.tsx:441 msgid "Build outputs have been cancelled" msgstr "" @@ -2344,76 +2411,76 @@ msgstr "Danh mục phụ kiện cha" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PurchaseOrderForms.tsx:265 +#: src/forms/PurchaseOrderForms.tsx:279 msgid "Choose Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:273 +#: src/forms/PurchaseOrderForms.tsx:287 msgid "Item Destination selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:282 +#: src/forms/PurchaseOrderForms.tsx:296 msgid "Part category default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:292 +#: src/forms/PurchaseOrderForms.tsx:306 msgid "Received stock location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:297 +#: src/forms/PurchaseOrderForms.tsx:311 msgid "Default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:308 -#: src/forms/PurchaseOrderForms.tsx:384 +#: src/forms/PurchaseOrderForms.tsx:322 +#: src/forms/PurchaseOrderForms.tsx:398 msgid "Scan Barcode" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:352 +#: src/forms/PurchaseOrderForms.tsx:366 msgid "Set Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:359 +#: src/forms/PurchaseOrderForms.tsx:373 msgid "Assign Batch Code{0}" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:368 +#: src/forms/PurchaseOrderForms.tsx:382 msgid "Change Status" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:393 -#: src/forms/StockForms.tsx:351 +#: src/forms/PurchaseOrderForms.tsx:407 +#: src/forms/StockForms.tsx:392 msgid "Remove item from list" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:418 -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:58 -#: src/pages/stock/StockDetail.tsx:167 -#: src/tables/ColumnRenderers.tsx:42 +#: src/forms/PurchaseOrderForms.tsx:432 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/pages/stock/StockDetail.tsx:170 +#: src/tables/ColumnRenderers.tsx:34 +#: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:434 +#: src/forms/PurchaseOrderForms.tsx:448 msgid "Store at default location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:447 +#: src/forms/PurchaseOrderForms.tsx:461 msgid "Store at line item destination" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:457 +#: src/forms/PurchaseOrderForms.tsx:471 msgid "Store with already received stock" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:613 +#: src/forms/PurchaseOrderForms.tsx:627 msgid "Receive Line Items" msgstr "" @@ -2421,119 +2488,118 @@ msgstr "" #~ msgid "Receive line items" #~ msgstr "Receive line items" -#: src/forms/StockForms.tsx:69 +#: src/forms/StockForms.tsx:101 msgid "Add given quantity as packs instead of individual items" msgstr "Thêm số lượng đã có theo gói thay vì các mục đơn lẻ" -#: src/forms/StockForms.tsx:80 -msgid "Enter initial quantity for this stock item" -msgstr "Nhập số lượng khởi đầu cho kho hàng này" - -#: src/forms/StockForms.tsx:85 -msgid "Serial Numbers" -msgstr "Số sê-ri" - -#: src/forms/StockForms.tsx:86 -msgid "Enter serial numbers for new stock (or leave blank)" -msgstr "Điền số sê-ri cho kho mới (hoặc để trống)" - #: src/forms/StockForms.tsx:110 #~ msgid "Create Stock Item" #~ msgstr "Create Stock Item" -#: src/forms/StockForms.tsx:135 -#: src/pages/stock/StockDetail.tsx:367 -#: src/tables/stock/StockItemTable.tsx:382 -#: src/tables/stock/StockItemTable.tsx:499 -msgid "Add Stock Item" -msgstr "" +#: src/forms/StockForms.tsx:114 +msgid "Enter initial quantity for this stock item" +msgstr "Nhập số lượng khởi đầu cho kho hàng này" + +#: src/forms/StockForms.tsx:121 +msgid "Serial Numbers" +msgstr "Số sê-ri" + +#: src/forms/StockForms.tsx:122 +msgid "Enter serial numbers for new stock (or leave blank)" +msgstr "Điền số sê-ri cho kho mới (hoặc để trống)" #: src/forms/StockForms.tsx:158 #~ msgid "Stock item updated" #~ msgstr "Stock item updated" -#: src/forms/StockForms.tsx:298 +#: src/forms/StockForms.tsx:176 +#: src/pages/stock/StockDetail.tsx:375 +#: src/tables/stock/StockItemTable.tsx:382 +#: src/tables/stock/StockItemTable.tsx:499 +msgid "Add Stock Item" +msgstr "" + +#: src/forms/StockForms.tsx:339 msgid "Loading..." msgstr "" -#: src/forms/StockForms.tsx:340 +#: src/forms/StockForms.tsx:381 msgid "Move to default location" msgstr "" -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/part/PartDetail.tsx:205 -#: src/pages/part/PartDetail.tsx:654 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/pages/part/PartDetail.tsx:206 +#: src/pages/part/PartDetail.tsx:655 #: src/tables/stock/StockItemTable.tsx:290 msgid "In Stock" msgstr "Còn hàng" -#: src/forms/StockForms.tsx:408 +#: src/forms/StockForms.tsx:449 msgid "Move" msgstr "" -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/tables/RowActions.tsx:147 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/tables/RowActions.tsx:149 msgid "Actions" msgstr "Chức năng" -#: src/forms/StockForms.tsx:471 -#: src/pages/stock/StockDetail.tsx:440 -#: src/tables/settings/TemplateTable.tsx:266 -#: src/tables/stock/StockItemTestResultTable.tsx:348 +#: src/forms/StockForms.tsx:512 +#: src/pages/stock/StockDetail.tsx:454 +#: src/tables/stock/StockItemTestResultTable.tsx:339 msgid "Add" msgstr "Thêm" -#: src/forms/StockForms.tsx:499 +#: src/forms/StockForms.tsx:540 #: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:430 +#: src/pages/stock/StockDetail.tsx:444 msgid "Count" msgstr "Đếm" -#: src/forms/StockForms.tsx:744 +#: src/forms/StockForms.tsx:785 msgid "Add Stock" msgstr "" -#: src/forms/StockForms.tsx:753 +#: src/forms/StockForms.tsx:794 msgid "Remove Stock" msgstr "" -#: src/forms/StockForms.tsx:762 -#: src/pages/part/PartDetail.tsx:781 +#: src/forms/StockForms.tsx:803 +#: src/pages/part/PartDetail.tsx:782 msgid "Transfer Stock" msgstr "" -#: src/forms/StockForms.tsx:771 -#: src/pages/part/PartDetail.tsx:770 +#: src/forms/StockForms.tsx:812 +#: src/pages/part/PartDetail.tsx:771 msgid "Count Stock" msgstr "" -#: src/forms/StockForms.tsx:780 +#: src/forms/StockForms.tsx:821 msgid "Change Stock Status" msgstr "" -#: src/forms/StockForms.tsx:789 +#: src/forms/StockForms.tsx:830 msgid "Merge Stock" msgstr "" -#: src/forms/StockForms.tsx:808 +#: src/forms/StockForms.tsx:849 msgid "Delete Stock Items" msgstr "" -#: src/forms/StockForms.tsx:815 +#: src/forms/StockForms.tsx:856 msgid "Parent stock location" msgstr "" @@ -2728,7 +2794,7 @@ msgstr "Trang này đã được thay thế cho trang khởi động cũ với t msgid "Welcome to your Dashboard{0}" msgstr "Chào mừng bạn đến với bảng điều khiển của bạn" -#: src/pages/Index/Playground.tsx:244 +#: src/pages/Index/Playground.tsx:243 msgid "This page is a showcase for the possibilities of Platform UI." msgstr "Trang này là trình diễn tính năng dự kiến cho nền tảng UI." @@ -3138,49 +3204,53 @@ msgstr "Thanh tải" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:79 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:87 msgid "Background Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:85 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:93 msgid "Error Reports" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:91 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:99 msgid "Currencies" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:109 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:117 msgid "Custom Units" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:115 -#: src/pages/part/CategoryDetail.tsx:254 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:123 +#: src/pages/part/CategoryDetail.tsx:255 msgid "Part Parameters" msgstr "Tham số phụ kiện" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:121 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 +#~ msgid "Templates" +#~ msgstr "Templates" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:129 msgid "Category Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 -msgid "Templates" +#: src/pages/Index/Settings/AdminCenter/Index.tsx:147 +msgid "Location types" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:139 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:159 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:149 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:169 msgid "Quick Actions" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:154 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 msgid "Add a new user" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:173 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:193 msgid "Advanced Options" msgstr "" @@ -3225,26 +3295,32 @@ msgstr "" msgid "Plugin Settings" msgstr "Thiết lập phần bổ sung" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:25 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:53 +msgid "Background Worker Not Running" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:54 +msgid "The background task manager service is not running. Contact your system administrator." +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:60 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:76 msgid "Pending Tasks" msgstr "Tác vụ chờ xử lý" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:33 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:64 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:84 msgid "Scheduled Tasks" msgstr "Tác vụ theo lịch" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:41 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:68 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:92 msgid "Failed Tasks" msgstr "Tác vụ thất bại" -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:139 -msgid "Labels" -msgstr "Nhãn" - #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:39 -msgid "Label" -msgstr "" +#~ msgid "Label" +#~ msgstr "Label" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67 #~ msgid "Stock item" @@ -3255,13 +3331,13 @@ msgstr "" #~ msgstr "Build line" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:88 -msgid "Reports" -msgstr "" +#~ msgid "Reports" +#~ msgstr "Reports" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:89 #: src/pages/build/BuildDetail.tsx:373 -msgid "Report" -msgstr "" +#~ msgid "Report" +#~ msgstr "Report" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99 #~ msgid "Purchase order" @@ -3275,14 +3351,9 @@ msgstr "" #~ msgid "Return order" #~ msgstr "Return order" -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135 -#: src/pages/part/PartDetail.tsx:518 -msgid "Bill of Materials" -msgstr "Hóa đơn nguyên vật liệu" - #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:145 -msgid "Tests" -msgstr "" +#~ msgid "Tests" +#~ msgstr "Tests" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:154 #~ msgid "Stock location" @@ -3321,26 +3392,30 @@ msgstr "Giá bán" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" +#: src/pages/Index/Settings/SystemSettings.tsx:139 +msgid "Labels" +msgstr "Nhãn" + #: src/pages/Index/Settings/SystemSettings.tsx:145 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "Báo cáo" -#: src/pages/Index/Settings/SystemSettings.tsx:223 -#: src/pages/part/PartDetail.tsx:589 +#: src/pages/Index/Settings/SystemSettings.tsx:224 +#: src/pages/part/PartDetail.tsx:590 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "Kiểm kê" -#: src/pages/Index/Settings/SystemSettings.tsx:228 -#: src/pages/build/BuildDetail.tsx:426 +#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:525 -#: src/pages/sales/SalesOrderDetail.tsx:263 +#: src/pages/part/PartDetail.tsx:526 +#: src/pages/sales/SalesOrderDetail.tsx:265 msgid "Build Orders" msgstr "Đơn đặt bản dựng" -#: src/pages/Index/Settings/SystemSettings.tsx:296 +#: src/pages/Index/Settings/SystemSettings.tsx:297 msgid "Switch to User Setting" msgstr "Chuyển sang thiết lập người dùng" @@ -3397,44 +3472,47 @@ msgstr "Đánh dấu chưa đọc" #~ msgstr "Build Status" #: src/pages/build/BuildDetail.tsx:89 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:128 -#: src/pages/sales/ReturnOrderDetail.tsx:95 -#: src/pages/sales/SalesOrderDetail.tsx:99 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:130 +#: src/pages/sales/ReturnOrderDetail.tsx:97 +#: src/pages/sales/SalesOrderDetail.tsx:101 #: src/tables/build/BuildOrderTable.tsx:113 #: src/tables/machine/MachineListTable.tsx:326 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderTable.tsx:46 #: src/tables/sales/SalesOrderTable.tsx:52 #: src/tables/stock/StockItemTable.tsx:259 +#: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "Trạng thái" #: src/pages/build/BuildDetail.tsx:95 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:101 -#: src/pages/sales/ReturnOrderDetail.tsx:69 -#: src/pages/sales/SalesOrderDetail.tsx:73 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:103 +#: src/pages/sales/ReturnOrderDetail.tsx:71 +#: src/pages/sales/SalesOrderDetail.tsx:75 +#: src/tables/ColumnRenderers.tsx:106 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" msgstr "" #: src/pages/build/BuildDetail.tsx:100 -#: src/pages/company/CompanyDetail.tsx:84 -#: src/pages/company/ManufacturerPartDetail.tsx:75 -#: src/pages/company/SupplierPartDetail.tsx:82 -#: src/pages/part/CategoryDetail.tsx:91 -#: src/pages/part/PartDetail.tsx:132 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:122 -#: src/pages/sales/ReturnOrderDetail.tsx:89 -#: src/pages/sales/SalesOrderDetail.tsx:93 -#: src/pages/stock/LocationDetail.tsx:97 -#: src/tables/ColumnRenderers.tsx:95 +#: src/pages/company/CompanyDetail.tsx:86 +#: src/pages/company/ManufacturerPartDetail.tsx:76 +#: src/pages/company/SupplierPartDetail.tsx:83 +#: src/pages/part/CategoryDetail.tsx:92 +#: src/pages/part/PartDetail.tsx:133 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:124 +#: src/pages/sales/ReturnOrderDetail.tsx:91 +#: src/pages/sales/SalesOrderDetail.tsx:95 +#: src/pages/stock/LocationDetail.tsx:99 +#: src/tables/ColumnRenderers.tsx:66 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 #: src/tables/machine/MachineTypeTable.tsx:323 #: src/tables/part/RelatedPartTable.tsx:64 -#: src/tables/plugin/PluginListTable.tsx:172 -#: src/tables/plugin/PluginListTable.tsx:302 +#: src/tables/plugin/PluginListTable.tsx:129 +#: src/tables/plugin/PluginListTable.tsx:276 +#: src/tables/stock/LocationTypesTable.tsx:65 msgid "Description" msgstr "Mô tả" @@ -3447,7 +3525,7 @@ msgid "Build Quantity" msgstr "" #: src/pages/build/BuildDetail.tsx:126 -#: src/pages/build/BuildDetail.tsx:249 +#: src/pages/build/BuildDetail.tsx:256 msgid "Completed Outputs" msgstr "Đầu ra hoàn thiện" @@ -3457,10 +3535,10 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:150 -#: src/pages/part/PartDetail.tsx:320 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:214 -#: src/pages/sales/ReturnOrderDetail.tsx:182 -#: src/pages/sales/SalesOrderDetail.tsx:186 +#: src/pages/part/PartDetail.tsx:321 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:184 +#: src/pages/sales/SalesOrderDetail.tsx:188 #: src/tables/build/BuildOrderTable.tsx:148 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 @@ -3474,10 +3552,10 @@ msgid "Created" msgstr "" #: src/pages/build/BuildDetail.tsx:164 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:207 -#: src/pages/sales/ReturnOrderDetail.tsx:175 -#: src/pages/sales/SalesOrderDetail.tsx:179 -#: src/tables/ColumnRenderers.tsx:227 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:209 +#: src/pages/sales/ReturnOrderDetail.tsx:177 +#: src/pages/sales/SalesOrderDetail.tsx:181 +#: src/tables/ColumnRenderers.tsx:191 msgid "Target Date" msgstr "Ngày mục tiêu" @@ -3513,6 +3591,11 @@ msgstr "" #~ msgid "Unlink custom barcode from part" #~ msgstr "Unlink custom barcode from part" +#: src/pages/build/BuildDetail.tsx:197 +#: src/pages/stock/StockDetail.tsx:526 +msgid "Batch Code" +msgstr "" + #: src/pages/build/BuildDetail.tsx:202 #~ msgid "Build Order updated" #~ msgstr "Build Order updated" @@ -3521,86 +3604,87 @@ msgstr "" #~ msgid "Edit build order" #~ msgstr "Edit build order" -#: src/pages/build/BuildDetail.tsx:222 -msgid "Build Details" -msgstr "Chi tiết bản dựng" - #: src/pages/build/BuildDetail.tsx:226 #~ msgid "Duplicate build order" #~ msgstr "Duplicate build order" -#: src/pages/build/BuildDetail.tsx:228 -#: src/tables/build/BuildLineTable.tsx:225 -msgid "Allocate Stock" -msgstr "Phân kho" +#: src/pages/build/BuildDetail.tsx:229 +msgid "Build Details" +msgstr "Chi tiết bản dựng" #: src/pages/build/BuildDetail.tsx:231 #~ msgid "Delete build order" #~ msgstr "Delete build order" -#: src/pages/build/BuildDetail.tsx:242 +#: src/pages/build/BuildDetail.tsx:235 +#: src/tables/build/BuildLineTable.tsx:225 +msgid "Allocate Stock" +msgstr "Phân kho" + +#: src/pages/build/BuildDetail.tsx:249 msgid "Incomplete Outputs" msgstr "Đầu ra chưa hoàn hiện" -#: src/pages/build/BuildDetail.tsx:264 +#: src/pages/build/BuildDetail.tsx:271 msgid "Consumed Stock" msgstr "Kho tiêu thụ" -#: src/pages/build/BuildDetail.tsx:278 +#: src/pages/build/BuildDetail.tsx:285 msgid "Child Build Orders" msgstr "Đơn đặt bản dựng con" -#: src/pages/build/BuildDetail.tsx:288 -#: src/pages/company/CompanyDetail.tsx:253 -#: src/pages/company/ManufacturerPartDetail.tsx:171 -#: src/pages/part/PartDetail.tsx:611 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:276 -#: src/pages/sales/ReturnOrderDetail.tsx:225 -#: src/pages/sales/SalesOrderDetail.tsx:273 -#: src/pages/stock/StockDetail.tsx:317 +#: src/pages/build/BuildDetail.tsx:295 +#: src/pages/company/CompanyDetail.tsx:255 +#: src/pages/company/ManufacturerPartDetail.tsx:172 +#: src/pages/part/PartDetail.tsx:612 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:278 +#: src/pages/sales/ReturnOrderDetail.tsx:227 +#: src/pages/sales/SalesOrderDetail.tsx:275 +#: src/pages/stock/StockDetail.tsx:325 msgid "Attachments" msgstr "Đính kèm" -#: src/pages/build/BuildDetail.tsx:300 -#: src/pages/company/CompanyDetail.tsx:265 -#: src/pages/part/PartDetail.tsx:623 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:288 -#: src/pages/sales/ReturnOrderDetail.tsx:237 -#: src/pages/sales/SalesOrderDetail.tsx:285 -#: src/pages/stock/StockDetail.tsx:329 +#: src/pages/build/BuildDetail.tsx:307 +#: src/pages/company/CompanyDetail.tsx:267 +#: src/pages/part/PartDetail.tsx:624 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:290 +#: src/pages/sales/ReturnOrderDetail.tsx:239 +#: src/pages/sales/SalesOrderDetail.tsx:287 +#: src/pages/stock/StockDetail.tsx:337 +#: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "Ghi chú" -#: src/pages/build/BuildDetail.tsx:318 +#: src/pages/build/BuildDetail.tsx:325 msgid "Edit Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:327 +#: src/pages/build/BuildDetail.tsx:334 msgid "Cancel Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:339 +#: src/pages/build/BuildDetail.tsx:346 #: src/tables/build/BuildOrderTable.tsx:167 #: src/tables/build/BuildOrderTable.tsx:182 msgid "Add Build Order" msgstr "" #: src/pages/build/BuildDetail.tsx:368 -msgid "Reporting Actions" -msgstr "" +#~ msgid "Reporting Actions" +#~ msgstr "Reporting Actions" #: src/pages/build/BuildDetail.tsx:374 -msgid "Print build report" -msgstr "" +#~ msgid "Print build report" +#~ msgstr "Print build report" -#: src/pages/build/BuildDetail.tsx:380 +#: src/pages/build/BuildDetail.tsx:378 msgid "Build Order Actions" msgstr "" -#: src/pages/build/BuildDetail.tsx:388 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:326 -#: src/pages/sales/ReturnOrderDetail.tsx:300 -#: src/pages/sales/SalesOrderDetail.tsx:310 +#: src/pages/build/BuildDetail.tsx:386 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:333 +#: src/pages/sales/ReturnOrderDetail.tsx:307 +#: src/pages/sales/SalesOrderDetail.tsx:317 msgid "Cancel order" msgstr "" @@ -3612,56 +3696,58 @@ msgstr "" #~ msgid "New Build Order" #~ msgstr "New Build Order" -#: src/pages/company/CompanyDetail.tsx:98 +#: src/pages/company/CompanyDetail.tsx:100 msgid "Phone Number" msgstr "" -#: src/pages/company/CompanyDetail.tsx:105 +#: src/pages/company/CompanyDetail.tsx:107 msgid "Email Address" msgstr "" -#: src/pages/company/CompanyDetail.tsx:115 +#: src/pages/company/CompanyDetail.tsx:117 msgid "Default Currency" msgstr "" -#: src/pages/company/CompanyDetail.tsx:120 +#: src/pages/company/CompanyDetail.tsx:122 #: src/pages/company/SupplierDetail.tsx:8 -#: src/pages/company/SupplierPartDetail.tsx:106 -#: src/pages/company/SupplierPartDetail.tsx:192 -#: src/pages/company/SupplierPartDetail.tsx:295 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:116 +#: src/pages/company/SupplierPartDetail.tsx:107 +#: src/pages/company/SupplierPartDetail.tsx:193 +#: src/pages/company/SupplierPartDetail.tsx:296 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:118 #: src/tables/company/CompanyTable.tsx:100 #: src/tables/purchasing/PurchaseOrderTable.tsx:88 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:36 msgid "Supplier" msgstr "Nhà cung cấp" -#: src/pages/company/CompanyDetail.tsx:126 +#: src/pages/company/CompanyDetail.tsx:128 #: src/pages/company/ManufacturerDetail.tsx:8 -#: src/pages/company/ManufacturerPartDetail.tsx:93 -#: src/pages/company/ManufacturerPartDetail.tsx:235 -#: src/pages/company/SupplierPartDetail.tsx:121 +#: src/pages/company/ManufacturerPartDetail.tsx:94 +#: src/pages/company/ManufacturerPartDetail.tsx:239 +#: src/pages/company/SupplierPartDetail.tsx:122 #: src/tables/company/CompanyTable.tsx:105 msgid "Manufacturer" msgstr "Nhà sản xuất" -#: src/pages/company/CompanyDetail.tsx:132 +#: src/pages/company/CompanyDetail.tsx:134 #: src/pages/company/CustomerDetail.tsx:8 #: src/pages/part/pricing/SaleHistoryPanel.tsx:39 -#: src/pages/sales/ReturnOrderDetail.tsx:83 -#: src/pages/sales/SalesOrderDetail.tsx:87 -#: src/pages/stock/StockDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:85 +#: src/pages/sales/SalesOrderDetail.tsx:89 +#: src/pages/stock/StockDetail.tsx:219 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:107 +#: src/tables/stock/StockTrackingTable.tsx:140 msgid "Customer" msgstr "" -#: src/pages/company/CompanyDetail.tsx:166 +#: src/pages/company/CompanyDetail.tsx:168 +#: src/tables/stock/StockTrackingTable.tsx:183 msgid "Details" msgstr "Chi tiết" -#: src/pages/company/CompanyDetail.tsx:172 +#: src/pages/company/CompanyDetail.tsx:174 msgid "Manufactured Parts" msgstr "" @@ -3669,7 +3755,7 @@ msgstr "" #~ msgid "Edit company" #~ msgstr "Edit company" -#: src/pages/company/CompanyDetail.tsx:181 +#: src/pages/company/CompanyDetail.tsx:183 msgid "Supplied Parts" msgstr "" @@ -3677,289 +3763,289 @@ msgstr "" #~ msgid "Delete company" #~ msgstr "Delete company" -#: src/pages/company/CompanyDetail.tsx:226 +#: src/pages/company/CompanyDetail.tsx:228 msgid "Assigned Stock" msgstr "" -#: src/pages/company/CompanyDetail.tsx:281 +#: src/pages/company/CompanyDetail.tsx:283 #: src/tables/company/CompanyTable.tsx:86 msgid "Edit Company" msgstr "Sửa doanh nghiệp" -#: src/pages/company/CompanyDetail.tsx:290 +#: src/pages/company/CompanyDetail.tsx:292 msgid "Company Actions" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:68 -#: src/pages/company/SupplierPartDetail.tsx:75 +#: src/pages/company/ManufacturerPartDetail.tsx:69 +#: src/pages/company/SupplierPartDetail.tsx:76 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:72 msgid "Internal Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:83 -#: src/pages/company/SupplierPartDetail.tsx:89 +#: src/pages/company/ManufacturerPartDetail.tsx:84 +#: src/pages/company/SupplierPartDetail.tsx:90 msgid "External Link" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:101 -#: src/pages/company/SupplierPartDetail.tsx:130 -#: src/tables/purchasing/ManufacturerPartTable.tsx:53 +#: src/pages/company/ManufacturerPartDetail.tsx:102 +#: src/pages/company/SupplierPartDetail.tsx:131 +#: src/tables/purchasing/ManufacturerPartTable.tsx:56 msgid "Manufacturer Part Number" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:130 +#: src/pages/company/ManufacturerPartDetail.tsx:131 msgid "Manufacturer Details" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:139 +#: src/pages/company/ManufacturerPartDetail.tsx:140 msgid "Manufacturer Part Details" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:145 -#: src/pages/part/PartDetail.tsx:485 +#: src/pages/company/ManufacturerPartDetail.tsx:146 +#: src/pages/part/PartDetail.tsx:486 msgid "Parameters" msgstr "Thông số" -#: src/pages/company/ManufacturerPartDetail.tsx:157 -#: src/pages/part/PartDetail.tsx:558 +#: src/pages/company/ManufacturerPartDetail.tsx:158 +#: src/pages/part/PartDetail.tsx:559 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "Nhà cung cấp" -#: src/pages/company/ManufacturerPartDetail.tsx:189 -#: src/tables/purchasing/ManufacturerPartTable.tsx:97 +#: src/pages/company/ManufacturerPartDetail.tsx:190 +#: src/tables/purchasing/ManufacturerPartTable.tsx:84 msgid "Edit Manufacturer Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:196 -#: src/tables/purchasing/ManufacturerPartTable.tsx:63 -#: src/tables/purchasing/ManufacturerPartTable.tsx:78 +#: src/pages/company/ManufacturerPartDetail.tsx:197 +#: src/tables/purchasing/ManufacturerPartTable.tsx:72 +#: src/tables/purchasing/ManufacturerPartTable.tsx:103 msgid "Add Manufacturer Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:209 +#: src/pages/company/ManufacturerPartDetail.tsx:213 msgid "Manufacturer Part Actions" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:247 +#: src/pages/company/ManufacturerPartDetail.tsx:251 msgid "ManufacturerPart" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:96 -#: src/tables/ColumnRenderers.tsx:146 +#: src/pages/company/SupplierPartDetail.tsx:97 +#: src/tables/ColumnRenderers.tsx:117 msgid "Note" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:114 +#: src/pages/company/SupplierPartDetail.tsx:115 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:57 msgid "SKU" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:142 -#: src/pages/company/SupplierPartDetail.tsx:193 -#: src/pages/stock/StockDetail.tsx:230 +#: src/pages/company/SupplierPartDetail.tsx:143 +#: src/pages/company/SupplierPartDetail.tsx:194 +#: src/pages/stock/StockDetail.tsx:233 msgid "Packaging" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:149 +#: src/pages/company/SupplierPartDetail.tsx:150 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:107 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143 #: src/tables/purchasing/SupplierPartTable.tsx:131 msgid "Pack Quantity" msgstr "Số lượng gói" -#: src/pages/company/SupplierPartDetail.tsx:160 +#: src/pages/company/SupplierPartDetail.tsx:161 msgid "Supplier Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:167 +#: src/pages/company/SupplierPartDetail.tsx:168 msgid "Availability Updated" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:194 +#: src/pages/company/SupplierPartDetail.tsx:195 msgid "Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:203 +#: src/pages/company/SupplierPartDetail.tsx:204 msgid "Supplier Part Details" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:209 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:263 +#: src/pages/company/SupplierPartDetail.tsx:210 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:265 msgid "Received Stock" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:233 +#: src/pages/company/SupplierPartDetail.tsx:234 #: src/pages/part/PartPricingPanel.tsx:115 #: src/pages/part/pricing/PricingOverviewPanel.tsx:130 msgid "Supplier Pricing" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:248 +#: src/pages/company/SupplierPartDetail.tsx:249 msgid "Supplier Part Actions" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:272 +#: src/pages/company/SupplierPartDetail.tsx:273 #: src/tables/purchasing/SupplierPartTable.tsx:210 msgid "Edit Supplier Part" msgstr "Sửa sản phẩm nhà cung cấp" -#: src/pages/company/SupplierPartDetail.tsx:279 +#: src/pages/company/SupplierPartDetail.tsx:280 #: src/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "Thêm sản phẩm nhà cung cấp" -#: src/pages/part/CategoryDetail.tsx:83 -#: src/pages/stock/LocationDetail.tsx:89 +#: src/pages/part/CategoryDetail.tsx:84 +#: src/pages/stock/LocationDetail.tsx:91 #: src/tables/settings/ErrorTable.tsx:34 msgid "Path" msgstr "Đường dẫn" -#: src/pages/part/CategoryDetail.tsx:99 +#: src/pages/part/CategoryDetail.tsx:100 msgid "Parent Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:116 +#: src/pages/part/CategoryDetail.tsx:117 msgid "Subcategories" msgstr "" -#: src/pages/part/CategoryDetail.tsx:123 -#: src/pages/stock/LocationDetail.tsx:129 -#: src/tables/part/PartCategoryTable.tsx:69 +#: src/pages/part/CategoryDetail.tsx:124 +#: src/pages/stock/LocationDetail.tsx:131 +#: src/tables/part/PartCategoryTable.tsx:65 msgid "Structural" msgstr "Cấu trúc" -#: src/pages/part/CategoryDetail.tsx:129 +#: src/pages/part/CategoryDetail.tsx:130 msgid "Parent default location" msgstr "" -#: src/pages/part/CategoryDetail.tsx:136 +#: src/pages/part/CategoryDetail.tsx:137 msgid "Default location" msgstr "" -#: src/pages/part/CategoryDetail.tsx:147 +#: src/pages/part/CategoryDetail.tsx:148 msgid "Top level part category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:157 -#: src/pages/part/CategoryDetail.tsx:211 -#: src/tables/part/PartCategoryTable.tsx:96 +#: src/pages/part/CategoryDetail.tsx:158 +#: src/pages/part/CategoryDetail.tsx:212 +#: src/tables/part/PartCategoryTable.tsx:88 msgid "Edit Part Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:170 -#: src/pages/stock/LocationDetail.tsx:213 +#: src/pages/part/CategoryDetail.tsx:171 +#: src/pages/stock/LocationDetail.tsx:223 msgid "Delete items" msgstr "" -#: src/pages/part/CategoryDetail.tsx:178 -#: src/pages/part/CategoryDetail.tsx:216 +#: src/pages/part/CategoryDetail.tsx:179 +#: src/pages/part/CategoryDetail.tsx:217 msgid "Delete Part Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:181 +#: src/pages/part/CategoryDetail.tsx:182 msgid "Parts Action" msgstr "" -#: src/pages/part/CategoryDetail.tsx:182 +#: src/pages/part/CategoryDetail.tsx:183 msgid "Action for parts in this category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:187 +#: src/pages/part/CategoryDetail.tsx:188 msgid "Child Categories Action" msgstr "" -#: src/pages/part/CategoryDetail.tsx:188 +#: src/pages/part/CategoryDetail.tsx:189 msgid "Action for child categories in this category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:206 +#: src/pages/part/CategoryDetail.tsx:207 msgid "Category Actions" msgstr "" -#: src/pages/part/CategoryDetail.tsx:228 +#: src/pages/part/CategoryDetail.tsx:229 msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:138 +#: src/pages/part/PartDetail.tsx:139 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:145 +#: src/pages/part/PartDetail.tsx:146 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "Danh mục" -#: src/pages/part/PartDetail.tsx:151 +#: src/pages/part/PartDetail.tsx:152 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:158 +#: src/pages/part/PartDetail.tsx:159 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:165 +#: src/pages/part/PartDetail.tsx:166 msgid "IPN" msgstr "IPN" -#: src/pages/part/PartDetail.tsx:172 +#: src/pages/part/PartDetail.tsx:173 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:179 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39 +#: src/pages/part/PartDetail.tsx:180 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "Đơn vị" -#: src/pages/part/PartDetail.tsx:186 +#: src/pages/part/PartDetail.tsx:187 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:193 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:180 -#: src/pages/sales/ReturnOrderDetail.tsx:148 -#: src/pages/sales/SalesOrderDetail.tsx:152 +#: src/pages/part/PartDetail.tsx:194 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:182 +#: src/pages/sales/ReturnOrderDetail.tsx:150 +#: src/pages/sales/SalesOrderDetail.tsx:154 msgid "Link" msgstr "Liên kết" -#: src/pages/part/PartDetail.tsx:211 -#: src/tables/bom/BomTable.tsx:269 +#: src/pages/part/PartDetail.tsx:212 +#: src/tables/bom/BomTable.tsx:271 #: src/tables/build/BuildLineTable.tsx:121 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:218 +#: src/pages/part/PartDetail.tsx:219 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:224 -#: src/tables/bom/BomTable.tsx:210 +#: src/pages/part/PartDetail.tsx:225 +#: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:233 +#: src/pages/part/PartDetail.tsx:234 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:241 +#: src/pages/part/PartDetail.tsx:242 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:248 -#: src/tables/bom/BomTable.tsx:234 +#: src/pages/part/PartDetail.tsx:249 +#: src/tables/bom/BomTable.tsx:236 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:255 -#: src/tables/bom/BomTable.tsx:218 +#: src/pages/part/PartDetail.tsx:256 +#: src/tables/bom/BomTable.tsx:220 #: src/tables/part/PartTable.tsx:82 msgid "Building" msgstr "" -#: src/pages/part/PartDetail.tsx:264 +#: src/pages/part/PartDetail.tsx:265 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 @@ -3968,45 +4054,47 @@ msgstr "" #: src/tables/machine/MachineListTable.tsx:585 #: src/tables/part/PartTable.tsx:168 #: src/tables/part/PartVariantTable.tsx:15 -#: src/tables/plugin/PluginListTable.tsx:190 -#: src/tables/plugin/PluginListTable.tsx:638 +#: src/tables/plugin/PluginListTable.tsx:149 +#: src/tables/plugin/PluginListTable.tsx:271 +#: src/tables/plugin/PluginListTable.tsx:563 #: src/tables/purchasing/SupplierPartTable.tsx:98 #: src/tables/purchasing/SupplierPartTable.tsx:187 #: src/tables/stock/StockItemTable.tsx:254 msgid "Active" msgstr "Hoạt động" -#: src/pages/part/PartDetail.tsx:269 +#: src/pages/part/PartDetail.tsx:270 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:274 -#: src/tables/bom/BomTable.tsx:264 +#: src/pages/part/PartDetail.tsx:275 +#: src/tables/bom/BomTable.tsx:266 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:279 +#: src/pages/part/PartDetail.tsx:280 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:284 -#: src/tables/bom/BomTable.tsx:259 +#: src/pages/part/PartDetail.tsx:285 +#: src/tables/bom/BomTable.tsx:261 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:289 +#: src/pages/part/PartDetail.tsx:290 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:294 +#: src/pages/part/PartDetail.tsx:295 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:299 +#: src/pages/part/PartDetail.tsx:300 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:307 +#: src/pages/part/PartDetail.tsx:308 +#: src/tables/ColumnRenderers.tsx:199 msgid "Creation Date" msgstr "" @@ -4014,7 +4102,7 @@ msgstr "" #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:312 +#: src/pages/part/PartDetail.tsx:313 msgid "Created By" msgstr "" @@ -4022,68 +4110,72 @@ msgstr "" #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:327 -msgid "Default Supplier" -msgstr "" - #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:338 +#: src/pages/part/PartDetail.tsx:328 +msgid "Default Supplier" +msgstr "" + +#: src/pages/part/PartDetail.tsx:339 #: src/tables/part/PartTable.tsx:151 msgid "Price Range" msgstr "Khoảng giá" -#: src/pages/part/PartDetail.tsx:373 -#: src/pages/stock/StockDetail.tsx:127 +#: src/pages/part/PartDetail.tsx:374 +#: src/pages/stock/StockDetail.tsx:130 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:408 +#: src/pages/part/PartDetail.tsx:409 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:479 +#: src/pages/part/PartDetail.tsx:480 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:505 +#: src/pages/part/PartDetail.tsx:506 msgid "Variants" msgstr "Biến thể" -#: src/pages/part/PartDetail.tsx:512 -#: src/pages/stock/StockDetail.tsx:275 +#: src/pages/part/PartDetail.tsx:513 +#: src/pages/stock/StockDetail.tsx:283 msgid "Allocations" msgstr "Phân bổ" -#: src/pages/part/PartDetail.tsx:532 +#: src/pages/part/PartDetail.tsx:519 +msgid "Bill of Materials" +msgstr "Hóa đơn nguyên vật liệu" + +#: src/pages/part/PartDetail.tsx:533 msgid "Used In" msgstr "Sử dụng trong" -#: src/pages/part/PartDetail.tsx:539 +#: src/pages/part/PartDetail.tsx:540 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:545 +#: src/pages/part/PartDetail.tsx:546 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:584 +#: src/pages/part/PartDetail.tsx:585 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:594 +#: src/pages/part/PartDetail.tsx:595 msgid "Test Templates" msgstr "Mẫu thử nghiệm" -#: src/pages/part/PartDetail.tsx:605 +#: src/pages/part/PartDetail.tsx:606 msgid "Related Parts" msgstr "Phụ kiện liên quan" -#: src/pages/part/PartDetail.tsx:660 -#: src/pages/stock/StockDetail.tsx:148 +#: src/pages/part/PartDetail.tsx:661 +#: src/pages/stock/StockDetail.tsx:151 #: src/tables/build/BuildLineTable.tsx:36 #: src/tables/part/PartTable.tsx:107 #: src/tables/stock/StockItemTable.tsx:166 @@ -4091,49 +4183,51 @@ msgstr "Phụ kiện liên quan" msgid "Available" msgstr "Có sẵn" -#: src/pages/part/PartDetail.tsx:666 +#: src/pages/part/PartDetail.tsx:667 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:672 -#: src/tables/bom/BomTable.tsx:274 +#: src/pages/part/PartDetail.tsx:673 +#: src/tables/bom/BomTable.tsx:276 #: src/tables/part/PartTable.tsx:76 msgid "On Order" msgstr "On Order" -#: src/pages/part/PartDetail.tsx:678 -#: src/pages/stock/StockDetail.tsx:496 +#: src/pages/part/PartDetail.tsx:679 +#: src/pages/stock/StockDetail.tsx:509 #: src/tables/stock/StockItemTable.tsx:295 msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:697 +#: src/pages/part/PartDetail.tsx:698 msgid "Edit Part" msgstr "Sửa phụ kiện" -#: src/pages/part/PartDetail.tsx:704 +#: src/pages/part/PartDetail.tsx:705 #: src/tables/part/PartTable.tsx:266 #: src/tables/part/PartTable.tsx:279 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:716 +#: src/pages/part/PartDetail.tsx:717 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:725 +#: src/pages/part/PartDetail.tsx:726 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:763 +#: src/pages/part/PartDetail.tsx:764 +#: src/pages/stock/LocationDetail.tsx:301 +#: src/tables/stock/StockItemTable.tsx:409 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:771 +#: src/pages/part/PartDetail.tsx:772 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:782 +#: src/pages/part/PartDetail.tsx:783 msgid "Transfer part stock" msgstr "" @@ -4199,15 +4293,15 @@ msgstr "Thành phần" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151 #: src/pages/part/pricing/SupplierPricingPanel.tsx:83 -#: src/tables/bom/BomTable.tsx:149 +#: src/tables/bom/BomTable.tsx:151 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 msgid "Unit Price" msgstr "Đơn giá" #: src/pages/part/pricing/BomPricingPanel.tsx:173 -#: src/tables/ColumnRenderers.tsx:278 -#: src/tables/bom/BomTable.tsx:158 +#: src/tables/ColumnRenderers.tsx:241 +#: src/tables/bom/BomTable.tsx:160 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 #: src/tables/sales/ReturnOrderTable.tsx:104 #: src/tables/sales/SalesOrderTable.tsx:134 @@ -4229,24 +4323,24 @@ msgid "Bar Chart" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:63 -#: src/pages/part/pricing/PriceBreakPanel.tsx:117 +#: src/pages/part/pricing/PriceBreakPanel.tsx:115 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:138 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:164 msgid "Add Price Break" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:76 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:149 msgid "Edit Price Break" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:86 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:157 msgid "Delete Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:102 -#: src/pages/part/pricing/PriceBreakPanel.tsx:193 +#: src/pages/part/pricing/PriceBreakPanel.tsx:100 +#: src/pages/part/pricing/PriceBreakPanel.tsx:191 msgid "Price Break" msgstr "" @@ -4275,7 +4369,7 @@ msgid "Overall Pricing" msgstr "" #: src/pages/part/pricing/PricingOverviewPanel.tsx:184 -#: src/pages/stock/StockDetail.tsx:121 +#: src/pages/stock/StockDetail.tsx:124 msgid "Last Updated" msgstr "" @@ -4309,9 +4403,8 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50 #: src/pages/part/pricing/SaleHistoryPanel.tsx:46 -#: src/tables/ColumnRenderers.tsx:217 -#: src/tables/plugin/PluginListTable.tsx:182 -#: src/tables/stock/StockItemTestResultTable.tsx:194 +#: src/tables/ColumnRenderers.tsx:180 +#: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" @@ -4338,89 +4431,89 @@ msgstr "" msgid "Variant Part" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:73 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:75 msgid "Edit Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:82 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:84 #: src/tables/purchasing/PurchaseOrderTable.tsx:128 #: src/tables/purchasing/PurchaseOrderTable.tsx:140 msgid "Add Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:107 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:109 msgid "Supplier Reference" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:137 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:252 -#: src/pages/sales/ReturnOrderDetail.tsx:104 -#: src/pages/sales/ReturnOrderDetail.tsx:220 -#: src/pages/sales/SalesOrderDetail.tsx:108 -#: src/pages/sales/SalesOrderDetail.tsx:248 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:139 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:254 +#: src/pages/sales/ReturnOrderDetail.tsx:106 +#: src/pages/sales/ReturnOrderDetail.tsx:222 +#: src/pages/sales/SalesOrderDetail.tsx:110 +#: src/pages/sales/SalesOrderDetail.tsx:250 msgid "Line Items" msgstr "Dòng hàng hóa" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:144 -#: src/pages/sales/ReturnOrderDetail.tsx:111 -#: src/pages/sales/SalesOrderDetail.tsx:115 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:146 +#: src/pages/sales/ReturnOrderDetail.tsx:113 +#: src/pages/sales/SalesOrderDetail.tsx:117 msgid "Completed Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:152 -#: src/pages/sales/ReturnOrderDetail.tsx:119 -#: src/pages/sales/SalesOrderDetail.tsx:123 -#: src/pages/sales/SalesOrderDetail.tsx:258 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:121 +#: src/pages/sales/SalesOrderDetail.tsx:125 +#: src/pages/sales/SalesOrderDetail.tsx:260 msgid "Completed Shipments" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:159 -#: src/pages/sales/ReturnOrderDetail.tsx:127 -#: src/pages/sales/SalesOrderDetail.tsx:131 -msgid "Order Currency" -msgstr "" - #: src/pages/purchasing/PurchaseOrderDetail.tsx:159 #: src/pages/sales/ReturnOrderDetail.tsx:126 #: src/pages/sales/SalesOrderDetail.tsx:130 #~ msgid "Order Currency," #~ msgstr "Order Currency," -#: src/pages/purchasing/PurchaseOrderDetail.tsx:166 -#: src/pages/sales/ReturnOrderDetail.tsx:134 -#: src/pages/sales/SalesOrderDetail.tsx:138 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:161 +#: src/pages/sales/ReturnOrderDetail.tsx:129 +#: src/pages/sales/SalesOrderDetail.tsx:133 +msgid "Order Currency" +msgstr "" + +#: src/pages/purchasing/PurchaseOrderDetail.tsx:168 +#: src/pages/sales/ReturnOrderDetail.tsx:136 +#: src/pages/sales/SalesOrderDetail.tsx:140 msgid "Total Cost" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:201 -#: src/pages/sales/ReturnOrderDetail.tsx:169 -#: src/pages/sales/SalesOrderDetail.tsx:173 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:203 +#: src/pages/sales/ReturnOrderDetail.tsx:171 +#: src/pages/sales/SalesOrderDetail.tsx:175 msgid "Created On" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:246 -#: src/pages/sales/ReturnOrderDetail.tsx:214 -#: src/pages/sales/SalesOrderDetail.tsx:242 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:248 +#: src/pages/sales/ReturnOrderDetail.tsx:216 +#: src/pages/sales/SalesOrderDetail.tsx:244 msgid "Order Details" msgstr "Chi tiết đơn đặt" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:316 -#: src/pages/sales/ReturnOrderDetail.tsx:290 -#: src/pages/sales/SalesOrderDetail.tsx:302 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:323 +#: src/pages/sales/ReturnOrderDetail.tsx:297 +#: src/pages/sales/SalesOrderDetail.tsx:309 msgid "Order Actions" msgstr "Chức năng đơn đặt" -#: src/pages/sales/ReturnOrderDetail.tsx:75 -#: src/pages/sales/SalesOrderDetail.tsx:79 +#: src/pages/sales/ReturnOrderDetail.tsx:77 +#: src/pages/sales/SalesOrderDetail.tsx:81 #: src/tables/sales/SalesOrderTable.tsx:123 msgid "Customer Reference" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:267 +#: src/pages/sales/ReturnOrderDetail.tsx:269 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:276 +#: src/pages/sales/ReturnOrderDetail.tsx:278 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" @@ -4430,68 +4523,72 @@ msgstr "" msgid "Customers" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:219 +#: src/pages/sales/SalesOrderDetail.tsx:221 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:228 +#: src/pages/sales/SalesOrderDetail.tsx:230 #: src/tables/sales/SalesOrderTable.tsx:83 #: src/tables/sales/SalesOrderTable.tsx:95 msgid "Add Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:253 +#: src/pages/sales/SalesOrderDetail.tsx:255 msgid "Pending Shipments" msgstr "" -#: src/pages/stock/LocationDetail.tsx:105 +#: src/pages/stock/LocationDetail.tsx:107 msgid "Parent Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:123 +#: src/pages/stock/LocationDetail.tsx:125 msgid "Sublocations" msgstr "" -#: src/pages/stock/LocationDetail.tsx:135 +#: src/pages/stock/LocationDetail.tsx:137 msgid "External" msgstr "" -#: src/pages/stock/LocationDetail.tsx:144 +#: src/pages/stock/LocationDetail.tsx:143 +msgid "Location Type" +msgstr "" + +#: src/pages/stock/LocationDetail.tsx:154 msgid "Top level stock location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:155 +#: src/pages/stock/LocationDetail.tsx:165 msgid "Location Details" msgstr "" -#: src/pages/stock/LocationDetail.tsx:181 +#: src/pages/stock/LocationDetail.tsx:191 msgid "Default Parts" msgstr "" -#: src/pages/stock/LocationDetail.tsx:200 +#: src/pages/stock/LocationDetail.tsx:210 #: src/pages/stock/LocationDetail.tsx:328 -#: src/tables/stock/StockLocationTable.tsx:108 +#: src/tables/stock/StockLocationTable.tsx:100 msgid "Edit Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:221 +#: src/pages/stock/LocationDetail.tsx:231 #: src/pages/stock/LocationDetail.tsx:333 msgid "Delete Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:224 +#: src/pages/stock/LocationDetail.tsx:234 msgid "Items Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:225 +#: src/pages/stock/LocationDetail.tsx:235 msgid "Action for stock items in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:230 +#: src/pages/stock/LocationDetail.tsx:240 msgid "Child Locations Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:231 +#: src/pages/stock/LocationDetail.tsx:241 msgid "Action for child locations in this location" msgstr "" @@ -4499,11 +4596,11 @@ msgstr "" msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:100 +#: src/pages/stock/StockDetail.tsx:103 msgid "Base Part" msgstr "Sản phẩm cơ bản" -#: src/pages/stock/StockDetail.tsx:107 +#: src/pages/stock/StockDetail.tsx:110 msgid "Stock Status" msgstr "" @@ -4515,15 +4612,16 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:174 +#: src/pages/stock/StockDetail.tsx:177 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:190 +#: src/pages/stock/StockDetail.tsx:193 msgid "Consumed By" msgstr "" -#: src/pages/stock/StockDetail.tsx:199 +#: src/pages/stock/StockDetail.tsx:202 +#: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" msgstr "" @@ -4535,78 +4633,78 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:264 +#: src/pages/stock/StockDetail.tsx:267 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:270 +#: src/pages/stock/StockDetail.tsx:273 msgid "Stock Tracking" msgstr "Theo dõi tồn kho" -#: src/pages/stock/StockDetail.tsx:282 +#: src/pages/stock/StockDetail.tsx:290 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:296 +#: src/pages/stock/StockDetail.tsx:304 msgid "Installed Items" msgstr "Mục đã cài đặt" -#: src/pages/stock/StockDetail.tsx:303 +#: src/pages/stock/StockDetail.tsx:311 msgid "Child Items" msgstr "Mục con" -#: src/pages/stock/StockDetail.tsx:358 +#: src/pages/stock/StockDetail.tsx:366 msgid "Edit Stock Item" msgstr "Sửa hàng trong kho" -#: src/pages/stock/StockDetail.tsx:385 +#: src/pages/stock/StockDetail.tsx:393 msgid "Delete Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:426 -msgid "Stock Operations" -msgstr "" - -#: src/pages/stock/StockDetail.tsx:431 -msgid "Count stock" -msgstr "Đếm hàng" - #: src/pages/stock/StockDetail.tsx:433 #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:441 +#: src/pages/stock/StockDetail.tsx:440 +msgid "Stock Operations" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:445 +msgid "Count stock" +msgstr "Đếm hàng" + +#: src/pages/stock/StockDetail.tsx:455 #: src/tables/stock/StockItemTable.tsx:414 msgid "Add stock" msgstr "Thêm hàng" -#: src/pages/stock/StockDetail.tsx:449 +#: src/pages/stock/StockDetail.tsx:463 #: src/tables/stock/StockItemTable.tsx:423 msgid "Remove stock" msgstr "Xóa hàng" -#: src/pages/stock/StockDetail.tsx:456 +#: src/pages/stock/StockDetail.tsx:470 msgid "Transfer" msgstr "Chuyển" -#: src/pages/stock/StockDetail.tsx:457 +#: src/pages/stock/StockDetail.tsx:471 #: src/tables/stock/StockItemTable.tsx:443 msgid "Transfer stock" msgstr "Chuyển giao hàng" -#: src/pages/stock/StockDetail.tsx:469 +#: src/pages/stock/StockDetail.tsx:482 msgid "Stock Item Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:513 -msgid "Batch Code" -msgstr "" - -#: src/tables/ColumnRenderers.tsx:50 +#: src/tables/ColumnRenderers.tsx:42 msgid "No location set" msgstr "" -#: src/tables/ColumnRenderers.tsx:264 +#: src/tables/ColumnRenderers.tsx:207 +msgid "Shipment Date" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:227 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "" @@ -4616,21 +4714,33 @@ msgstr "" msgid "Select Columns" msgstr "Chọn cột" -#: src/tables/DownloadAction.tsx:11 +#: src/tables/DownloadAction.tsx:13 +#~ msgid "Excel" +#~ msgstr "Excel" + +#: src/tables/DownloadAction.tsx:21 +#~ msgid "Download selected data" +#~ msgstr "Download selected data" + +#: src/tables/DownloadAction.tsx:22 msgid "CSV" msgstr "CSV" -#: src/tables/DownloadAction.tsx:12 +#: src/tables/DownloadAction.tsx:23 msgid "TSV" msgstr "TSV" -#: src/tables/DownloadAction.tsx:13 -msgid "Excel" -msgstr "Excel" +#: src/tables/DownloadAction.tsx:24 +msgid "Excel (.xls)" +msgstr "" -#: src/tables/DownloadAction.tsx:21 -msgid "Download selected data" -msgstr "Tải về thông tin đã chọn" +#: src/tables/DownloadAction.tsx:25 +msgid "Excel (.xlsx)" +msgstr "" + +#: src/tables/DownloadAction.tsx:39 +msgid "Download Data" +msgstr "" #: src/tables/Filter.tsx:88 #: src/tables/build/BuildOrderTable.tsx:126 @@ -4663,102 +4773,102 @@ msgstr "Hiện đơn hàng quá hạn" msgid "Remove filter" msgstr "Xoá bộ lọc" -#: src/tables/FilterSelectDrawer.tsx:147 +#: src/tables/FilterSelectDrawer.tsx:136 msgid "Select filter" msgstr "Chọn bộ lọc" -#: src/tables/FilterSelectDrawer.tsx:148 +#: src/tables/FilterSelectDrawer.tsx:137 msgid "Filter" msgstr "Bộ lọc" -#: src/tables/FilterSelectDrawer.tsx:155 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:33 -#: src/tables/stock/StockItemTestResultTable.tsx:182 +#: src/tables/FilterSelectDrawer.tsx:144 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 +#: src/tables/stock/StockItemTestResultTable.tsx:180 msgid "Value" msgstr "Giá trị" -#: src/tables/FilterSelectDrawer.tsx:156 +#: src/tables/FilterSelectDrawer.tsx:145 msgid "Select filter value" msgstr "Lựa chọn giá trị để lọc" -#: src/tables/FilterSelectDrawer.tsx:196 +#: src/tables/FilterSelectDrawer.tsx:185 msgid "Table Filters" msgstr "Bộ lọc bảng" -#: src/tables/FilterSelectDrawer.tsx:228 +#: src/tables/FilterSelectDrawer.tsx:217 msgid "Add Filter" msgstr "Thêm bộ lọc" -#: src/tables/FilterSelectDrawer.tsx:237 +#: src/tables/FilterSelectDrawer.tsx:226 msgid "Clear Filters" msgstr "Xóa bộ lọc" -#: src/tables/InvenTreeTable.tsx:118 -#: src/tables/InvenTreeTable.tsx:384 -#: src/tables/InvenTreeTable.tsx:405 +#: src/tables/InvenTreeTable.tsx:119 +#: src/tables/InvenTreeTable.tsx:390 +#: src/tables/InvenTreeTable.tsx:411 msgid "No records found" msgstr "Không tìm thấy biểu ghi" -#: src/tables/InvenTreeTable.tsx:416 +#: src/tables/InvenTreeTable.tsx:422 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:424 +#: src/tables/InvenTreeTable.tsx:430 msgid "Bad request" msgstr "Yêu cầu không hợp lệ" -#: src/tables/InvenTreeTable.tsx:427 +#: src/tables/InvenTreeTable.tsx:433 msgid "Unauthorized" msgstr "Chưa cấp quyền" -#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:436 msgid "Forbidden" msgstr "Bị cấm" -#: src/tables/InvenTreeTable.tsx:433 +#: src/tables/InvenTreeTable.tsx:439 msgid "Not found" msgstr "Không tìm thấy" -#: src/tables/InvenTreeTable.tsx:482 -#: src/tables/InvenTreeTable.tsx:604 +#: src/tables/InvenTreeTable.tsx:488 +#: src/tables/InvenTreeTable.tsx:611 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:486 +#: src/tables/InvenTreeTable.tsx:492 msgid "Are you sure you want to delete the selected records?" msgstr "" -#: src/tables/InvenTreeTable.tsx:488 +#: src/tables/InvenTreeTable.tsx:494 msgid "This action cannot be undone!" msgstr "" -#: src/tables/InvenTreeTable.tsx:516 +#: src/tables/InvenTreeTable.tsx:522 msgid "Deleted records" msgstr "" -#: src/tables/InvenTreeTable.tsx:517 +#: src/tables/InvenTreeTable.tsx:523 msgid "Records were deleted successfully" msgstr "" -#: src/tables/InvenTreeTable.tsx:526 +#: src/tables/InvenTreeTable.tsx:532 msgid "Failed to delete records" msgstr "" -#: src/tables/InvenTreeTable.tsx:585 -#: src/tables/InvenTreeTable.tsx:586 +#: src/tables/InvenTreeTable.tsx:594 +#: src/tables/InvenTreeTable.tsx:595 +#~ msgid "Print actions" +#~ msgstr "Print actions" + +#: src/tables/InvenTreeTable.tsx:601 +#: src/tables/InvenTreeTable.tsx:602 msgid "Barcode actions" msgstr "Chức năng mã vạch" -#: src/tables/InvenTreeTable.tsx:594 -#: src/tables/InvenTreeTable.tsx:595 -msgid "Print actions" -msgstr "Chức năng in ấn" - -#: src/tables/InvenTreeTable.tsx:620 +#: src/tables/InvenTreeTable.tsx:630 msgid "Refresh data" msgstr "Làm mới dữ liệu" -#: src/tables/InvenTreeTable.tsx:638 +#: src/tables/InvenTreeTable.tsx:648 msgid "Table filters" msgstr "Bộ lọc bảng" @@ -4770,138 +4880,138 @@ msgstr "" msgid "Part Information" msgstr "" -#: src/tables/bom/BomTable.tsx:177 +#: src/tables/bom/BomTable.tsx:179 #: src/tables/part/PartTable.tsx:124 msgid "No stock" msgstr "" -#: src/tables/bom/BomTable.tsx:185 +#: src/tables/bom/BomTable.tsx:187 #: src/tables/build/BuildLineTable.tsx:104 #: src/tables/part/PartTable.tsx:115 msgid "External stock" msgstr "" -#: src/tables/bom/BomTable.tsx:193 +#: src/tables/bom/BomTable.tsx:195 #: src/tables/build/BuildLineTable.tsx:67 msgid "Includes substitute stock" msgstr "" -#: src/tables/bom/BomTable.tsx:202 +#: src/tables/bom/BomTable.tsx:204 #: src/tables/build/BuildLineTable.tsx:77 msgid "Includes variant stock" msgstr "" -#: src/tables/bom/BomTable.tsx:227 +#: src/tables/bom/BomTable.tsx:229 #: src/tables/part/PartTable.tsx:143 #: src/tables/stock/StockItemTable.tsx:205 msgid "Stock Information" msgstr "" -#: src/tables/bom/BomTable.tsx:239 +#: src/tables/bom/BomTable.tsx:241 #: src/tables/build/BuildLineTable.tsx:195 msgid "Consumable item" msgstr "" -#: src/tables/bom/BomTable.tsx:260 +#: src/tables/bom/BomTable.tsx:262 msgid "Show trackable items" msgstr "" -#: src/tables/bom/BomTable.tsx:265 +#: src/tables/bom/BomTable.tsx:267 msgid "Show asssmbled items" msgstr "" -#: src/tables/bom/BomTable.tsx:270 +#: src/tables/bom/BomTable.tsx:272 msgid "Show items with available stock" msgstr "" -#: src/tables/bom/BomTable.tsx:275 +#: src/tables/bom/BomTable.tsx:277 msgid "Show items on order" msgstr "" -#: src/tables/bom/BomTable.tsx:279 +#: src/tables/bom/BomTable.tsx:281 msgid "Validated" msgstr "" -#: src/tables/bom/BomTable.tsx:280 +#: src/tables/bom/BomTable.tsx:282 msgid "Show validated items" msgstr "" -#: src/tables/bom/BomTable.tsx:284 +#: src/tables/bom/BomTable.tsx:286 #: src/tables/bom/UsedInTable.tsx:63 msgid "Inherited" msgstr "" -#: src/tables/bom/BomTable.tsx:285 +#: src/tables/bom/BomTable.tsx:287 #: src/tables/bom/UsedInTable.tsx:64 msgid "Show inherited items" msgstr "" -#: src/tables/bom/BomTable.tsx:289 +#: src/tables/bom/BomTable.tsx:291 #: src/tables/bom/UsedInTable.tsx:68 #: src/tables/build/BuildLineTable.tsx:46 msgid "Optional" msgstr "" -#: src/tables/bom/BomTable.tsx:290 +#: src/tables/bom/BomTable.tsx:292 #: src/tables/bom/UsedInTable.tsx:69 msgid "Show optional items" msgstr "" -#: src/tables/bom/BomTable.tsx:294 +#: src/tables/bom/BomTable.tsx:296 #: src/tables/build/BuildLineTable.tsx:41 msgid "Consumable" msgstr "" -#: src/tables/bom/BomTable.tsx:295 +#: src/tables/bom/BomTable.tsx:297 msgid "Show consumable items" msgstr "" -#: src/tables/bom/BomTable.tsx:299 +#: src/tables/bom/BomTable.tsx:301 msgid "Has Pricing" msgstr "" -#: src/tables/bom/BomTable.tsx:300 -msgid "Show items with pricing" -msgstr "" - #: src/tables/bom/BomTable.tsx:301 #~ msgid "Create BOM Item" #~ msgstr "Create BOM Item" -#: src/tables/bom/BomTable.tsx:309 -#: src/tables/bom/BomTable.tsx:397 +#: src/tables/bom/BomTable.tsx:302 +msgid "Show items with pricing" +msgstr "" + +#: src/tables/bom/BomTable.tsx:311 +#: src/tables/bom/BomTable.tsx:399 msgid "Add BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:314 +#: src/tables/bom/BomTable.tsx:316 msgid "BOM item created" msgstr "" -#: src/tables/bom/BomTable.tsx:321 +#: src/tables/bom/BomTable.tsx:323 msgid "Edit BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:323 +#: src/tables/bom/BomTable.tsx:325 msgid "BOM item updated" msgstr "" -#: src/tables/bom/BomTable.tsx:330 -msgid "Delete BOM Item" -msgstr "" - -#: src/tables/bom/BomTable.tsx:331 -msgid "BOM item deleted" -msgstr "" - #: src/tables/bom/BomTable.tsx:331 #~ msgid "Edit Bom Item" #~ msgstr "Edit Bom Item" +#: src/tables/bom/BomTable.tsx:332 +msgid "Delete BOM Item" +msgstr "" + +#: src/tables/bom/BomTable.tsx:333 +msgid "BOM item deleted" +msgstr "" + #: src/tables/bom/BomTable.tsx:333 #~ msgid "Bom item updated" #~ msgstr "Bom item updated" -#: src/tables/bom/BomTable.tsx:341 +#: src/tables/bom/BomTable.tsx:343 msgid "View BOM" msgstr "" @@ -4917,11 +5027,11 @@ msgstr "" #~ msgid "Are you sure you want to remove this BOM item?" #~ msgstr "Are you sure you want to remove this BOM item?" -#: src/tables/bom/BomTable.tsx:352 +#: src/tables/bom/BomTable.tsx:354 msgid "Validate BOM line" msgstr "" -#: src/tables/bom/BomTable.tsx:360 +#: src/tables/bom/BomTable.tsx:362 msgid "Edit Substitutes" msgstr "" @@ -5038,11 +5148,11 @@ msgid "Filter by responsible owner" msgstr "" #: src/tables/build/BuildOutputTable.tsx:114 -#: src/tables/build/BuildOutputTable.tsx:150 +#: src/tables/build/BuildOutputTable.tsx:152 msgid "Add Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:155 +#: src/tables/build/BuildOutputTable.tsx:157 msgid "Complete selected outputs" msgstr "" @@ -5050,68 +5160,68 @@ msgstr "" #~ msgid "Delete build output" #~ msgstr "Delete build output" -#: src/tables/build/BuildOutputTable.tsx:165 +#: src/tables/build/BuildOutputTable.tsx:167 msgid "Scrap selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:175 +#: src/tables/build/BuildOutputTable.tsx:177 msgid "Cancel selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:191 +#: src/tables/build/BuildOutputTable.tsx:193 msgid "Allocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:192 +#: src/tables/build/BuildOutputTable.tsx:194 msgid "Allocate stock to build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:197 +#: src/tables/build/BuildOutputTable.tsx:199 msgid "Deallocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:198 +#: src/tables/build/BuildOutputTable.tsx:200 msgid "Deallocate stock from build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:203 +#: src/tables/build/BuildOutputTable.tsx:205 msgid "Complete" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:204 +#: src/tables/build/BuildOutputTable.tsx:206 msgid "Complete build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:213 +#: src/tables/build/BuildOutputTable.tsx:215 msgid "Scrap" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:214 +#: src/tables/build/BuildOutputTable.tsx:216 msgid "Scrap build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:224 +#: src/tables/build/BuildOutputTable.tsx:226 msgid "Cancel build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:251 +#: src/tables/build/BuildOutputTable.tsx:253 msgid "Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:264 +#: src/tables/build/BuildOutputTable.tsx:266 msgid "Batch" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:278 +#: src/tables/build/BuildOutputTable.tsx:280 msgid "Allocated Items" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:288 +#: src/tables/build/BuildOutputTable.tsx:290 msgid "Required Tests" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:317 -#: src/tables/stock/StockItemTestResultTable.tsx:146 +#: src/tables/build/BuildOutputTable.tsx:319 +#: src/tables/stock/StockItemTestResultTable.tsx:144 msgid "Test Results" msgstr "" @@ -5132,7 +5242,7 @@ msgstr "" msgid "Delete Address" msgstr "" -#: src/tables/company/AddressTable.tsx:145 +#: src/tables/company/AddressTable.tsx:144 msgid "Are you sure you want to delete this address?" msgstr "" @@ -5177,37 +5287,53 @@ msgstr "" msgid "Add contact" msgstr "" -#: src/tables/general/AttachmentTable.tsx:161 +#: src/tables/general/AttachmentTable.tsx:130 msgid "File uploaded" msgstr "Tệp tin đã được tải lên" -#: src/tables/general/AttachmentTable.tsx:162 +#: src/tables/general/AttachmentTable.tsx:131 msgid "File {0} uploaded successfully" msgstr "Tệp tin {0} đã được tải lên thành công" -#: src/tables/general/AttachmentTable.tsx:173 +#: src/tables/general/AttachmentTable.tsx:142 msgid "Upload Error" msgstr "Lỗi tải lên" -#: src/tables/general/AttachmentTable.tsx:174 +#: src/tables/general/AttachmentTable.tsx:143 msgid "File could not be uploaded" msgstr "Tệp không thể tải lên" #: src/tables/general/AttachmentTable.tsx:187 +msgid "Upload Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:197 +msgid "Edit Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:211 +msgid "Delete Attachment" +msgstr "Xóa tệp đính kèm" + +#: src/tables/general/AttachmentTable.tsx:221 msgid "Add attachment" msgstr "Thêm tệp đính kèm" -#: src/tables/general/AttachmentTable.tsx:207 +#: src/tables/general/AttachmentTable.tsx:232 msgid "Add external link" msgstr "Thêm liên kết ngoại" -#: src/tables/general/AttachmentTable.tsx:239 +#: src/tables/general/AttachmentTable.tsx:254 +#~ msgid "Upload attachment" +#~ msgstr "Upload attachment" + +#: src/tables/general/AttachmentTable.tsx:289 msgid "No attachments found" msgstr "Không tìm thấy tệp đính kèm" -#: src/tables/general/AttachmentTable.tsx:254 -msgid "Upload attachment" -msgstr "Tải lên đính kèm" +#: src/tables/general/AttachmentTable.tsx:325 +msgid "Drag attachment file here to upload" +msgstr "" #: src/tables/machine/MachineListTable.tsx:199 msgid "Machine restarted" @@ -5332,8 +5458,8 @@ msgstr "" #: src/tables/machine/MachineTypeTable.tsx:135 #: src/tables/machine/MachineTypeTable.tsx:255 -#: src/tables/plugin/PluginListTable.tsx:215 -#: src/tables/plugin/PluginListTable.tsx:643 +#: src/tables/plugin/PluginListTable.tsx:180 +#: src/tables/plugin/PluginListTable.tsx:568 msgid "Builtin" msgstr "Gắn liền" @@ -5375,7 +5501,7 @@ msgid "Message" msgstr "Nội dụng tin nhắn" #: src/tables/part/ParametricPartTable.tsx:75 -#: src/tables/part/PartParameterTable.tsx:87 +#: src/tables/part/PartParameterTable.tsx:88 msgid "Internal Units" msgstr "" @@ -5388,29 +5514,29 @@ msgid "Add Part Parameter" msgstr "" #: src/tables/part/ParametricPartTable.tsx:147 -#: src/tables/part/PartParameterTable.tsx:128 -#: src/tables/part/PartParameterTable.tsx:150 +#: src/tables/part/PartParameterTable.tsx:121 +#: src/tables/part/PartParameterTable.tsx:144 msgid "Edit Part Parameter" msgstr "Sửa tham số phụ kiện" -#: src/tables/part/PartCategoryTable.tsx:64 +#: src/tables/part/PartCategoryTable.tsx:60 #: src/tables/part/PartTable.tsx:180 msgid "Include Subcategories" msgstr "Bao gồm danh mục con" -#: src/tables/part/PartCategoryTable.tsx:65 +#: src/tables/part/PartCategoryTable.tsx:61 msgid "Include subcategories in results" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:70 +#: src/tables/part/PartCategoryTable.tsx:66 msgid "Show structural categories" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:77 +#: src/tables/part/PartCategoryTable.tsx:73 msgid "New Part Category" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:106 +#: src/tables/part/PartCategoryTable.tsx:98 msgid "Add Part Category" msgstr "" @@ -5435,20 +5561,20 @@ msgstr "" #~ msgid "[{0}]" #~ msgstr "[{0}]" -#: src/tables/part/PartParameterTable.tsx:112 +#: src/tables/part/PartParameterTable.tsx:105 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:136 -#: src/tables/part/PartParameterTable.tsx:158 +#: src/tables/part/PartParameterTable.tsx:130 +#: src/tables/part/PartParameterTable.tsx:152 msgid "Delete Part Parameter" msgstr "Xóa tham số phụ kiện" -#: src/tables/part/PartParameterTable.tsx:175 +#: src/tables/part/PartParameterTable.tsx:170 msgid "Add parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:196 +#: src/tables/part/PartParameterTable.tsx:191 #: src/tables/stock/StockItemTable.tsx:300 msgid "Include Variants" msgstr "Bao gồm các biến thể" @@ -5482,15 +5608,15 @@ msgstr "" msgid "Add Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:97 +#: src/tables/part/PartParameterTemplateTable.tsx:100 msgid "Edit Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:105 +#: src/tables/part/PartParameterTemplateTable.tsx:111 msgid "Delete Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:135 +#: src/tables/part/PartParameterTemplateTable.tsx:141 msgid "Add parameter template" msgstr "Thêm mẫu tham số" @@ -5588,7 +5714,7 @@ msgid "No Results" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:79 -#: src/tables/stock/StockItemTestResultTable.tsx:385 +#: src/tables/stock/StockItemTestResultTable.tsx:376 msgid "Required" msgstr "" @@ -5597,8 +5723,8 @@ msgid "Show required tests" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:84 -#: src/tables/settings/TemplateTable.tsx:213 -#: src/tables/settings/TemplateTable.tsx:275 +#: src/tables/settings/TemplateTable.tsx:160 +#: src/tables/settings/TemplateTable.tsx:270 msgid "Enabled" msgstr "" @@ -5639,26 +5765,30 @@ msgid "Show tests which have recorded results" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:126 -#: src/tables/part/PartTestTemplateTable.tsx:195 +#: src/tables/part/PartTestTemplateTable.tsx:201 msgid "Add Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:139 +#: src/tables/part/PartTestTemplateTable.tsx:142 msgid "Edit Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:147 +#: src/tables/part/PartTestTemplateTable.tsx:153 msgid "Delete Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:149 +#: src/tables/part/PartTestTemplateTable.tsx:155 msgid "This action cannot be reversed" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:151 +#: src/tables/part/PartTestTemplateTable.tsx:157 msgid "Any tests results associated with this template will be deleted" msgstr "" +#: src/tables/part/PartThumbTable.tsx:203 +msgid "Select" +msgstr "" + #: src/tables/part/PartVariantTable.tsx:16 msgid "Show active variants" msgstr "" @@ -5695,252 +5825,273 @@ msgstr "Thêm phụ kiện liên quan" msgid "Stage" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:113 -msgid "Plugin with id {id} not found" +#: src/tables/plugin/PluginListTable.tsx:95 +msgid "Plugin with key {pluginKey} not found" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:115 +#: src/tables/plugin/PluginListTable.tsx:97 msgid "An error occurred while fetching plugin details" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:134 -msgid "Plugin Actions" -msgstr "" +#: src/tables/plugin/PluginListTable.tsx:113 +#~ msgid "Plugin with id {id} not found" +#~ msgstr "Plugin with id {id} not found" -#: src/tables/plugin/PluginListTable.tsx:138 -#: src/tables/plugin/PluginListTable.tsx:141 -msgid "Edit plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:152 -#: src/tables/plugin/PluginListTable.tsx:153 -msgid "Reload" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:166 +#: src/tables/plugin/PluginListTable.tsx:122 msgid "Plugin information" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:177 +#: src/tables/plugin/PluginListTable.tsx:134 msgid "Author" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:198 +#: src/tables/plugin/PluginListTable.tsx:134 +#~ msgid "Plugin Actions" +#~ msgstr "Plugin Actions" + +#: src/tables/plugin/PluginListTable.tsx:138 +#: src/tables/plugin/PluginListTable.tsx:141 +#~ msgid "Edit plugin" +#~ msgstr "Edit plugin" + +#: src/tables/plugin/PluginListTable.tsx:152 +#: src/tables/plugin/PluginListTable.tsx:153 +#~ msgid "Reload" +#~ msgstr "Reload" + +#: src/tables/plugin/PluginListTable.tsx:154 +msgid "Plugin is not active" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:163 msgid "Package information" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:204 +#: src/tables/plugin/PluginListTable.tsx:169 msgid "Package Name" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:210 +#: src/tables/plugin/PluginListTable.tsx:175 msgid "Installation Path" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:220 +#: src/tables/plugin/PluginListTable.tsx:185 msgid "Package" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:231 +#: src/tables/plugin/PluginListTable.tsx:197 msgid "Plugin settings" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:248 +#: src/tables/plugin/PluginListTable.tsx:214 msgid "Plugin is active" msgstr "Phần bổ sung hoạt động" -#: src/tables/plugin/PluginListTable.tsx:254 +#: src/tables/plugin/PluginListTable.tsx:220 msgid "Plugin is inactive" msgstr "Phần bổ sung đang tắt" -#: src/tables/plugin/PluginListTable.tsx:261 +#: src/tables/plugin/PluginListTable.tsx:227 msgid "Plugin is not installed" msgstr "Phần bổ sung chưa được cài đặt" -#: src/tables/plugin/PluginListTable.tsx:287 +#: src/tables/plugin/PluginListTable.tsx:253 msgid "Plugin" msgstr "Phần bổ sung" -#: src/tables/plugin/PluginListTable.tsx:312 +#: src/tables/plugin/PluginListTable.tsx:287 msgid "Description not available" msgstr "Mô tả không có sẵn" -#: src/tables/plugin/PluginListTable.tsx:338 +#: src/tables/plugin/PluginListTable.tsx:319 +msgid "Confirm plugin activation" +msgstr "Xác nhận kích hoạt phần bổ sung" + +#: src/tables/plugin/PluginListTable.tsx:320 +msgid "Confirm plugin deactivation" +msgstr "Xác nhận tắt phần bổ sung" + +#: src/tables/plugin/PluginListTable.tsx:325 +msgid "The selected plugin will be activated" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:326 +msgid "The selected plugin will be deactivated" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:334 msgid "Activate Plugin" msgstr "Kích hoạt phần bổ sung" #: src/tables/plugin/PluginListTable.tsx:338 -msgid "Deactivate Plugin" -msgstr "Tắt phần bổ sung" - -#: src/tables/plugin/PluginListTable.tsx:347 -msgid "Confirm plugin activation" -msgstr "Xác nhận kích hoạt phần bổ sung" - -#: src/tables/plugin/PluginListTable.tsx:348 -msgid "Confirm plugin deactivation" -msgstr "Xác nhận tắt phần bổ sung" +#~ msgid "Deactivate Plugin" +#~ msgstr "Deactivate Plugin" #: src/tables/plugin/PluginListTable.tsx:354 -msgid "The following plugin will be activated" -msgstr "Những phần bổ sung sau đây sẽ được kích hoạt" +#~ msgid "The following plugin will be activated" +#~ msgstr "The following plugin will be activated" #: src/tables/plugin/PluginListTable.tsx:355 -msgid "The following plugin will be deactivated" -msgstr "Những phần bổ sung sau đây sẽ bị tắt" +#~ msgid "The following plugin will be deactivated" +#~ msgstr "The following plugin will be deactivated" -#: src/tables/plugin/PluginListTable.tsx:366 -msgid "Confirm" -msgstr "Xác nhận" - -#: src/tables/plugin/PluginListTable.tsx:376 -msgid "Activating plugin" -msgstr "Kích hoạt phần bổ sung" - -#: src/tables/plugin/PluginListTable.tsx:376 -msgid "Deactivating plugin" -msgstr "Tắt phần bổ sung" - -#: src/tables/plugin/PluginListTable.tsx:392 -msgid "Plugin updated" -msgstr "Đã cập nhật phần bổ sung" - -#: src/tables/plugin/PluginListTable.tsx:394 -msgid "The plugin was activated" -msgstr "Phần bổ sung đã được kích hoạt" - -#: src/tables/plugin/PluginListTable.tsx:395 -msgid "The plugin was deactivated" -msgstr "Phần bổ sung đã bị tắt" - -#: src/tables/plugin/PluginListTable.tsx:403 -msgid "Error updating plugin" -msgstr "Lỗi cập nhật phần bổ sung" - -#: src/tables/plugin/PluginListTable.tsx:423 +#: src/tables/plugin/PluginListTable.tsx:362 msgid "Deactivate" msgstr "Hủy kích hoạt" -#: src/tables/plugin/PluginListTable.tsx:432 +#: src/tables/plugin/PluginListTable.tsx:366 +#~ msgid "Confirm" +#~ msgstr "Confirm" + +#: src/tables/plugin/PluginListTable.tsx:373 msgid "Activate" msgstr "Kích hoạt" -#: src/tables/plugin/PluginListTable.tsx:463 +#: src/tables/plugin/PluginListTable.tsx:376 +#~ msgid "Activating plugin" +#~ msgstr "Activating plugin" + +#: src/tables/plugin/PluginListTable.tsx:376 +#~ msgid "Deactivating plugin" +#~ msgstr "Deactivating plugin" + +#: src/tables/plugin/PluginListTable.tsx:392 +#~ msgid "Plugin updated" +#~ msgstr "Plugin updated" + +#: src/tables/plugin/PluginListTable.tsx:394 +#~ msgid "The plugin was activated" +#~ msgstr "The plugin was activated" + +#: src/tables/plugin/PluginListTable.tsx:395 +#~ msgid "The plugin was deactivated" +#~ msgstr "The plugin was deactivated" + +#: src/tables/plugin/PluginListTable.tsx:403 +#~ msgid "Error updating plugin" +#~ msgstr "Error updating plugin" + +#: src/tables/plugin/PluginListTable.tsx:406 msgid "Uninstall" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:495 +#: src/tables/plugin/PluginListTable.tsx:438 msgid "Install plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:508 +#: src/tables/plugin/PluginListTable.tsx:451 msgid "Install" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:512 +#: src/tables/plugin/PluginListTable.tsx:452 msgid "Plugin installed successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:525 +#: src/tables/plugin/PluginListTable.tsx:457 msgid "Uninstall Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:537 +#: src/tables/plugin/PluginListTable.tsx:469 msgid "Confirm plugin uninstall" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:540 +#: src/tables/plugin/PluginListTable.tsx:472 msgid "The selected plugin will be uninstalled." msgstr "" -#: src/tables/plugin/PluginListTable.tsx:541 +#: src/tables/plugin/PluginListTable.tsx:473 msgid "This action cannot be undone." msgstr "" -#: src/tables/plugin/PluginListTable.tsx:547 +#: src/tables/plugin/PluginListTable.tsx:477 msgid "Plugin uninstalled successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:560 +#: src/tables/plugin/PluginListTable.tsx:484 msgid "Delete Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:562 +#: src/tables/plugin/PluginListTable.tsx:485 msgid "Deleting this plugin configuration will remove all associated settings and data. Are you sure you want to delete this plugin?" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:574 +#: src/tables/plugin/PluginListTable.tsx:498 msgid "Plugins reloaded" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:575 +#: src/tables/plugin/PluginListTable.tsx:499 msgid "Plugins were reloaded successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:591 +#: src/tables/plugin/PluginListTable.tsx:515 msgid "Reload Plugins" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:600 +#: src/tables/plugin/PluginListTable.tsx:524 msgid "Install Plugin" msgstr "" +#: src/tables/plugin/PluginListTable.tsx:544 +msgid "Plugin Detail" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:573 +msgid "Sample" +msgstr "Mẫu" + +#: src/tables/plugin/PluginListTable.tsx:578 +#: src/tables/stock/StockItemTable.tsx:305 +msgid "Installed" +msgstr "Đã cài đặt" + #: src/tables/plugin/PluginListTable.tsx:615 #~ msgid "Plugin detail" #~ msgstr "Plugin detail" -#: src/tables/plugin/PluginListTable.tsx:619 -msgid "Plugin Detail" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:648 -msgid "Sample" -msgstr "Mẫu" - -#: src/tables/plugin/PluginListTable.tsx:653 -#: src/tables/stock/StockItemTable.tsx:305 -msgid "Installed" -msgstr "Đã cài đặt" - -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:57 -msgid "Edit Parameter" +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:59 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:108 +msgid "Add Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:60 -msgid "Parameter updated" -msgstr "" +#~ msgid "Parameter updated" +#~ msgstr "Parameter updated" -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:71 -msgid "Delete Parameter" +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:70 +msgid "Edit Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:73 -msgid "Parameter deleted" -msgstr "" +#~ msgid "Parameter deleted" +#~ msgstr "Parameter deleted" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:74 -msgid "Are you sure you want to delete this parameter?" +#~ msgid "Are you sure you want to delete this parameter?" +#~ msgstr "Are you sure you want to delete this parameter?" + +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:78 +msgid "Delete Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartTable.tsx:63 #~ msgid "Create Manufacturer Part" #~ msgstr "Create Manufacturer Part" -#: src/tables/purchasing/ManufacturerPartTable.tsx:100 -msgid "Manufacturer part updated" -msgstr "" - -#: src/tables/purchasing/ManufacturerPartTable.tsx:111 +#: src/tables/purchasing/ManufacturerPartTable.tsx:92 msgid "Delete Manufacturer Part" msgstr "" +#: src/tables/purchasing/ManufacturerPartTable.tsx:100 +#~ msgid "Manufacturer part updated" +#~ msgstr "Manufacturer part updated" + #: src/tables/purchasing/ManufacturerPartTable.tsx:112 -msgid "Manufacturer part deleted" -msgstr "" +#~ msgid "Manufacturer part deleted" +#~ msgstr "Manufacturer part deleted" #: src/tables/purchasing/ManufacturerPartTable.tsx:114 -msgid "Are you sure you want to remove this manufacturer part?" -msgstr "" +#~ msgid "Are you sure you want to remove this manufacturer part?" +#~ msgstr "Are you sure you want to remove this manufacturer part?" #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:86 msgid "Part Description" @@ -6087,18 +6238,22 @@ msgid "Error Information" msgstr "" #: src/tables/settings/ErrorTable.tsx:51 -msgid "Delete error report" +msgid "Delete Error Report" msgstr "" +#: src/tables/settings/ErrorTable.tsx:51 +#~ msgid "Delete error report" +#~ msgstr "Delete error report" + #: src/tables/settings/ErrorTable.tsx:53 -msgid "Error report deleted" -msgstr "" - -#: src/tables/settings/ErrorTable.tsx:54 msgid "Are you sure you want to delete this error report?" msgstr "" -#: src/tables/settings/ErrorTable.tsx:67 +#: src/tables/settings/ErrorTable.tsx:55 +msgid "Error report deleted" +msgstr "" + +#: src/tables/settings/ErrorTable.tsx:77 #: src/tables/settings/FailedTasksTable.tsx:57 msgid "Error Details" msgstr "" @@ -6115,7 +6270,7 @@ msgid "Task ID" msgstr "" #: src/tables/settings/FailedTasksTable.tsx:34 -#: src/tables/stock/StockItemTestResultTable.tsx:214 +#: src/tables/stock/StockItemTestResultTable.tsx:205 msgid "Started" msgstr "" @@ -6188,30 +6343,71 @@ msgstr "" msgid "Next Run" msgstr "" -#: src/tables/settings/TemplateTable.tsx:120 -msgid "{templateTypeTranslation} with id {id} not found" +#: src/tables/settings/TemplateTable.tsx:82 +msgid "Template not found" msgstr "" +#: src/tables/settings/TemplateTable.tsx:84 +msgid "An error occurred while fetching template details" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:120 +#~ msgid "{templateTypeTranslation} with id {id} not found" +#~ msgstr "{templateTypeTranslation} with id {id} not found" + #: src/tables/settings/TemplateTable.tsx:124 -msgid "An error occurred while fetching {templateTypeTranslation} details" -msgstr "" +#~ msgid "An error occurred while fetching {templateTypeTranslation} details" +#~ msgstr "An error occurred while fetching {templateTypeTranslation} details" #: src/tables/settings/TemplateTable.tsx:146 -msgid "actions" +#~ msgid "actions" +#~ msgstr "actions" + +#: src/tables/settings/TemplateTable.tsx:170 +msgid "Modify" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:171 +msgid "Modify template file" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:222 +#: src/tables/settings/TemplateTable.tsx:289 +msgid "Edit Template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:230 +msgid "Delete template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:236 +msgid "Add Template" msgstr "" #: src/tables/settings/TemplateTable.tsx:243 -msgid "Add new" -msgstr "" +#~ msgid "Add new" +#~ msgstr "Add new" #: src/tables/settings/TemplateTable.tsx:243 #~ msgid "Create new" #~ msgstr "Create new" -#: src/tables/settings/TemplateTable.tsx:276 +#: src/tables/settings/TemplateTable.tsx:249 +msgid "Add template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:271 msgid "Filter by enabled status" msgstr "" +#: src/tables/settings/TemplateTable.tsx:276 +msgid "Model Type" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:277 +msgid "Filter by target model type" +msgstr "" + #: src/tables/settings/UserTable.tsx:79 msgid "User with id {id} not found" msgstr "" @@ -6277,6 +6473,23 @@ msgstr "" msgid "Edit user" msgstr "" +#: src/tables/stock/LocationTypesTable.tsx:36 +#: src/tables/stock/LocationTypesTable.tsx:105 +msgid "Add Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:44 +msgid "Edit Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:52 +msgid "Delete Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:69 +msgid "Icon" +msgstr "" + #: src/tables/stock/StockItemTable.tsx:90 msgid "This stock item is in production" msgstr "" @@ -6338,7 +6551,7 @@ msgid "Show items which are available" msgstr "" #: src/tables/stock/StockItemTable.tsx:280 -#: src/tables/stock/StockLocationTable.tsx:37 +#: src/tables/stock/StockLocationTable.tsx:33 msgid "Include Sublocations" msgstr "" @@ -6467,123 +6680,135 @@ msgstr "" msgid "Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:153 +#: src/tables/stock/StockItemTestResultTable.tsx:151 msgid "Test result for installed stock item" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:164 +#: src/tables/stock/StockItemTestResultTable.tsx:162 msgid "Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:170 +#: src/tables/stock/StockItemTestResultTable.tsx:168 msgid "No Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:186 +#: src/tables/stock/StockItemTestResultTable.tsx:184 msgid "Attachment" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:209 +#: src/tables/stock/StockItemTestResultTable.tsx:200 msgid "Test station" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:229 +#: src/tables/stock/StockItemTestResultTable.tsx:220 msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:277 -#: src/tables/stock/StockItemTestResultTable.tsx:349 -#: src/tables/stock/StockItemTestResultTable.tsx:404 +#: src/tables/stock/StockItemTestResultTable.tsx:268 +#: src/tables/stock/StockItemTestResultTable.tsx:340 +#: src/tables/stock/StockItemTestResultTable.tsx:395 msgid "Add Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:279 +#: src/tables/stock/StockItemTestResultTable.tsx:270 msgid "Test result added" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:288 -#: src/tables/stock/StockItemTestResultTable.tsx:359 +#: src/tables/stock/StockItemTestResultTable.tsx:279 +#: src/tables/stock/StockItemTestResultTable.tsx:350 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:290 +#: src/tables/stock/StockItemTestResultTable.tsx:281 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:296 -#: src/tables/stock/StockItemTestResultTable.tsx:368 +#: src/tables/stock/StockItemTestResultTable.tsx:287 +#: src/tables/stock/StockItemTestResultTable.tsx:359 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:298 +#: src/tables/stock/StockItemTestResultTable.tsx:289 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:312 +#: src/tables/stock/StockItemTestResultTable.tsx:303 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:313 +#: src/tables/stock/StockItemTestResultTable.tsx:304 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:320 +#: src/tables/stock/StockItemTestResultTable.tsx:311 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:337 +#: src/tables/stock/StockItemTestResultTable.tsx:328 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:386 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:390 +#: src/tables/stock/StockItemTestResultTable.tsx:381 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:391 +#: src/tables/stock/StockItemTestResultTable.tsx:382 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:395 +#: src/tables/stock/StockItemTestResultTable.tsx:386 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:396 +#: src/tables/stock/StockItemTestResultTable.tsx:387 msgid "Show only passed tests" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:38 +#: src/tables/stock/StockLocationTable.tsx:34 msgid "Include sublocations in results" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:42 +#: src/tables/stock/StockLocationTable.tsx:38 msgid "structural" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:43 +#: src/tables/stock/StockLocationTable.tsx:39 msgid "Show structural locations" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:47 +#: src/tables/stock/StockLocationTable.tsx:43 msgid "external" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:48 +#: src/tables/stock/StockLocationTable.tsx:44 msgid "Show external locations" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:52 +#: src/tables/stock/StockLocationTable.tsx:48 msgid "Has location type" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:89 -#: src/tables/stock/StockLocationTable.tsx:118 +#: src/tables/stock/StockLocationTable.tsx:85 +#: src/tables/stock/StockLocationTable.tsx:110 msgid "Add Stock Location" msgstr "" +#: src/tables/stock/StockTrackingTable.tsx:64 +msgid "Added" +msgstr "" + +#: src/tables/stock/StockTrackingTable.tsx:69 +msgid "Removed" +msgstr "" + +#: src/tables/stock/StockTrackingTable.tsx:198 +msgid "No user information" +msgstr "" + #: src/views/MobileAppView.tsx:22 msgid "Mobile viewport detected" msgstr "Khung nhìn màn hình di dộng đã được nhận dạng" diff --git a/src/frontend/src/locales/zh-hans/messages.po b/src/frontend/src/locales/zh-hans/messages.po index 1db6e0b0d5..0e99d4d47a 100644 --- a/src/frontend/src/locales/zh-hans/messages.po +++ b/src/frontend/src/locales/zh-hans/messages.po @@ -25,10 +25,67 @@ msgstr "" msgid "Title" msgstr "" +#: src/components/buttons/AdminButton.tsx:83 +msgid "Open in admin interface" +msgstr "" + #: src/components/buttons/CopyButton.tsx:18 msgid "Copy to clipboard" msgstr "" +#: src/components/buttons/PrintingActions.tsx:95 +msgid "Print Label" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:101 +msgid "Label printing completed successfully" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:106 +#: src/components/buttons/PrintingActions.tsx:143 +#: src/components/forms/ApiForm.tsx:504 +#: src/components/forms/fields/ApiFormField.tsx:295 +#: src/components/modals/LicenseModal.tsx:75 +#: src/components/nav/SearchDrawer.tsx:413 +#: src/components/widgets/MarkdownEditor.tsx:107 +#: src/components/widgets/MarkdownEditor.tsx:153 +#: src/pages/ErrorPage.tsx:12 +#: src/pages/ErrorPage.tsx:25 +#: src/pages/part/PartPricingPanel.tsx:71 +#: src/tables/InvenTreeTable.tsx:451 +#: src/tables/InvenTreeTable.tsx:531 +#: src/tables/stock/StockItemTestResultTable.tsx:310 +msgid "Error" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:107 +msgid "The label could not be generated" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:122 +msgid "Print Report" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:138 +msgid "Report printing completed successfully" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:144 +msgid "The report could not be generated" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:171 +msgid "Printing Actions" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:176 +msgid "Print Labels" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:182 +msgid "Print Reports" +msgstr "" + #: src/components/buttons/ScanButton.tsx:15 msgid "Scan QR code" msgstr "" @@ -59,15 +116,15 @@ msgstr "" msgid "No" msgstr "" -#: src/components/details/Details.tsx:302 +#: src/components/details/Details.tsx:303 msgid "No name defined" msgstr "" -#: src/components/details/Details.tsx:339 +#: src/components/details/Details.tsx:340 msgid "Copied" msgstr "" -#: src/components/details/Details.tsx:339 +#: src/components/details/Details.tsx:340 msgid "Copy" msgstr "" @@ -80,24 +137,23 @@ msgid "Remove the associated image from this item?" msgstr "" #: src/components/details/DetailsImage.tsx:71 -#: src/forms/StockForms.tsx:442 +#: src/forms/StockForms.tsx:483 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:448 +#: src/pages/stock/StockDetail.tsx:462 msgid "Remove" msgstr "" #: src/components/details/DetailsImage.tsx:71 -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:163 -#: src/components/items/ActionDropdown.tsx:222 -#: src/components/items/ActionDropdown.tsx:223 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 +#: src/components/items/ActionDropdown.tsx:229 +#: src/components/items/ActionDropdown.tsx:230 #: src/contexts/ThemeContext.tsx:43 #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:40 -#: src/tables/FilterSelectDrawer.tsx:218 -#: src/tables/InvenTreeTable.tsx:493 -#: src/tables/build/BuildOutputTable.tsx:223 -#: src/tables/plugin/PluginListTable.tsx:365 +#: src/tables/FilterSelectDrawer.tsx:207 +#: src/tables/InvenTreeTable.tsx:499 +#: src/tables/build/BuildOutputTable.tsx:225 msgid "Cancel" msgstr "" @@ -114,7 +170,7 @@ msgid "Clear" msgstr "" #: src/components/details/DetailsImage.tsx:227 -#: src/components/forms/ApiForm.tsx:554 +#: src/components/forms/ApiForm.tsx:571 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:56 msgid "Submit" @@ -145,9 +201,10 @@ msgid "Part is not active" msgstr "" #: src/components/details/PartIcons.tsx:34 -#: src/pages/company/CompanyDetail.tsx:308 -#: src/pages/company/SupplierPartDetail.tsx:304 -#: src/pages/part/PartDetail.tsx:684 +#: src/components/render/Plugin.tsx:17 +#: src/pages/company/CompanyDetail.tsx:310 +#: src/pages/company/SupplierPartDetail.tsx:305 +#: src/pages/part/PartDetail.tsx:685 msgid "Inactive" msgstr "" @@ -191,10 +248,10 @@ msgid "Code" msgstr "" #: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:44 -msgid "Failed to parse error response from server." -msgstr "" +#~ msgid "Failed to parse error response from server." +#~ msgstr "" -#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:82 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:81 msgid "Preview not available, click \"Reload Preview\"." msgstr "" @@ -202,98 +259,99 @@ msgstr "" msgid "PDF Preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:113 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:104 msgid "Error loading template" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:125 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:116 msgid "Error saving template" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 -msgid "Save & Reload preview?" +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:146 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:270 +msgid "Save & Reload Preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:156 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 msgid "Are you sure you want to Save & Reload the preview?" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 +#~ msgid "Save & Reload preview?" +#~ msgstr "" + +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:153 msgid "To render the preview the current template needs to be replaced on the server with your modifications which may break the label if it is under active use. Do you want to proceed?" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:162 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:157 msgid "Save & Reload" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:191 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:189 msgid "Preview updated" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:192 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:190 msgid "The preview has been updated successfully." msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:255 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:262 msgid "Reload preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:256 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:263 msgid "Use the currently stored template from the server" msgstr "" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:263 -msgid "Save & Reload preview" -msgstr "" +#~ msgid "Save & Reload preview" +#~ msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:264 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:271 msgid "Save the current template and reload the preview" msgstr "" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:322 -#: src/tables/part/PartThumbTable.tsx:203 -msgid "Select" +#~ msgid "to preview" +#~ msgstr "" + +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:329 +msgid "Select instance to preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:322 -msgid "to preview" -msgstr "" - -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:366 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:373 msgid "Error rendering template" msgstr "" -#: src/components/forms/ApiForm.tsx:143 +#: src/components/forms/ApiForm.tsx:148 #: src/functions/forms.tsx:259 msgid "Form Error" msgstr "" -#: src/components/forms/ApiForm.tsx:411 +#: src/components/forms/ApiForm.tsx:428 #: src/components/widgets/MarkdownEditor.tsx:145 msgid "Success" msgstr "" #: src/components/forms/ApiForm.tsx:487 -msgid "Form Errors Exist" -msgstr "" +#~ msgid "Form Errors Exist" +#~ msgstr "" -#: src/components/forms/ApiForm.tsx:592 -#: src/tables/plugin/PluginListTable.tsx:445 +#: src/components/forms/ApiForm.tsx:609 +#: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "" -#: src/components/forms/ApiForm.tsx:612 -#: src/components/items/ActionDropdown.tsx:203 +#: src/components/forms/ApiForm.tsx:629 +#: src/components/items/ActionDropdown.tsx:210 #: src/functions/forms.tsx:299 #: src/hooks/UseForm.tsx:122 #: src/pages/Index/Scan.tsx:343 #: src/pages/Notifications.tsx:123 -#: src/tables/InvenTreeTable.tsx:492 +#: src/tables/InvenTreeTable.tsx:498 #: src/tables/RowActions.tsx:71 -#: src/tables/plugin/PluginListTable.tsx:477 -#: src/tables/settings/TemplateTable.tsx:105 -#: src/tables/settings/TemplateTable.tsx:154 -#: src/tables/settings/TemplateTable.tsx:236 +#: src/tables/plugin/PluginListTable.tsx:420 msgid "Delete" msgstr "" @@ -444,18 +502,19 @@ msgstr "" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 -#: src/pages/part/CategoryDetail.tsx:77 -#: src/pages/part/PartDetail.tsx:125 -#: src/pages/stock/LocationDetail.tsx:83 +#: src/pages/part/CategoryDetail.tsx:78 +#: src/pages/part/PartDetail.tsx:126 +#: src/pages/stock/LocationDetail.tsx:85 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 #: src/tables/machine/MachineTypeTable.tsx:216 #: src/tables/machine/MachineTypeTable.tsx:319 #: src/tables/plugin/PluginErrorTable.tsx:33 -#: src/tables/plugin/PluginListTable.tsx:169 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:27 +#: src/tables/plugin/PluginListTable.tsx:126 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:32 #: src/tables/settings/GroupTable.tsx:103 #: src/tables/settings/PendingTasksTable.tsx:26 +#: src/tables/stock/LocationTypesTable.tsx:60 msgid "Name" msgstr "" @@ -496,35 +555,20 @@ msgstr "" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/ApiFormField.tsx:276 -#: src/components/modals/LicenseModal.tsx:75 -#: src/components/nav/SearchDrawer.tsx:413 -#: src/components/widgets/MarkdownEditor.tsx:107 -#: src/components/widgets/MarkdownEditor.tsx:153 -#: src/pages/ErrorPage.tsx:12 -#: src/pages/ErrorPage.tsx:25 -#: src/pages/part/PartPricingPanel.tsx:71 -#: src/tables/InvenTreeTable.tsx:445 -#: src/tables/InvenTreeTable.tsx:525 -#: src/tables/plugin/PluginListTable.tsx:402 -#: src/tables/stock/StockItemTestResultTable.tsx:319 -msgid "Error" -msgstr "" - -#: src/components/forms/fields/RelatedModelField.tsx:305 +#: src/components/forms/fields/RelatedModelField.tsx:315 #: src/pages/Index/Settings/UserSettings.tsx:64 #: src/tables/Search.tsx:23 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:306 +#: src/components/forms/fields/RelatedModelField.tsx:316 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:120 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:308 +#: src/components/forms/fields/RelatedModelField.tsx:318 msgid "No results found" msgstr "" @@ -545,54 +589,51 @@ msgstr "" msgid "Thumbnail" msgstr "" -#: src/components/items/ActionDropdown.tsx:112 -#: src/pages/build/BuildDetail.tsx:354 +#: src/components/items/ActionDropdown.tsx:119 +#: src/pages/build/BuildDetail.tsx:360 msgid "Barcode Actions" msgstr "" -#: src/components/items/ActionDropdown.tsx:129 +#: src/components/items/ActionDropdown.tsx:136 msgid "View" msgstr "" -#: src/components/items/ActionDropdown.tsx:130 +#: src/components/items/ActionDropdown.tsx:137 msgid "View barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:146 +#: src/components/items/ActionDropdown.tsx:153 msgid "Link Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:147 +#: src/components/items/ActionDropdown.tsx:154 msgid "Link custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:163 -#: src/forms/PurchaseOrderForms.tsx:375 +#: src/components/items/ActionDropdown.tsx:170 +#: src/forms/PurchaseOrderForms.tsx:389 msgid "Unlink Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:164 +#: src/components/items/ActionDropdown.tsx:171 msgid "Unlink custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:182 +#: src/components/items/ActionDropdown.tsx:189 #: src/tables/RowActions.tsx:51 -#: src/tables/settings/TemplateTable.tsx:87 -#: src/tables/settings/TemplateTable.tsx:150 -#: src/tables/settings/TemplateTable.tsx:287 msgid "Edit" msgstr "" -#: src/components/items/ActionDropdown.tsx:204 +#: src/components/items/ActionDropdown.tsx:211 msgid "Delete item" msgstr "" -#: src/components/items/ActionDropdown.tsx:241 +#: src/components/items/ActionDropdown.tsx:248 #: src/tables/RowActions.tsx:31 msgid "Duplicate" msgstr "" -#: src/components/items/ActionDropdown.tsx:242 +#: src/components/items/ActionDropdown.tsx:249 msgid "Duplicate item" msgstr "" @@ -601,7 +642,7 @@ msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:437 +#: src/tables/InvenTreeTable.tsx:443 msgid "Unknown error" msgstr "" @@ -761,27 +802,27 @@ msgstr "" #: src/components/modals/QrCodeModal.tsx:154 #: src/defaults/menuItems.tsx:21 -#: src/pages/Index/Scan.tsx:747 +#: src/pages/Index/Scan.tsx:746 msgid "Scanning" msgstr "" #: src/components/modals/QrCodeModal.tsx:154 -#: src/pages/Index/Scan.tsx:747 +#: src/pages/Index/Scan.tsx:746 msgid "Not scanning" msgstr "" #: src/components/modals/QrCodeModal.tsx:159 -#: src/pages/Index/Scan.tsx:753 +#: src/pages/Index/Scan.tsx:752 msgid "Select Camera" msgstr "" #: src/components/modals/QrCodeModal.tsx:169 -#: src/pages/Index/Scan.tsx:738 +#: src/pages/Index/Scan.tsx:737 msgid "Start scanning" msgstr "" #: src/components/modals/QrCodeModal.tsx:176 -#: src/pages/Index/Scan.tsx:730 +#: src/pages/Index/Scan.tsx:729 msgid "Stop scanning" msgstr "" @@ -867,8 +908,8 @@ msgid "Email settings not configured" msgstr "" #: src/components/modals/ServerInfoModal.tsx:121 -#: src/tables/plugin/PluginListTable.tsx:187 -#: src/tables/plugin/PluginListTable.tsx:319 +#: src/tables/plugin/PluginListTable.tsx:144 +#: src/tables/plugin/PluginListTable.tsx:294 msgid "Version" msgstr "" @@ -902,13 +943,13 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:293 +#: src/pages/Index/Settings/SystemSettings.tsx:294 msgid "System Settings" msgstr "" #: src/components/nav/MainMenu.tsx:67 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:172 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 msgid "Admin Center" msgstr "" @@ -943,7 +984,7 @@ msgid "Pages" msgstr "" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:133 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:153 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "" @@ -981,9 +1022,9 @@ msgid "Mark as read" msgstr "" #: src/components/nav/PartCategoryTree.tsx:158 -#: src/components/render/ModelType.tsx:60 +#: src/components/render/ModelType.tsx:64 #: src/pages/Index/Settings/SystemSettings.tsx:162 -#: src/pages/part/CategoryDetail.tsx:248 +#: src/pages/part/CategoryDetail.tsx:249 msgid "Part Categories" msgstr "" @@ -1020,142 +1061,147 @@ msgid "No results available for search query" msgstr "" #: src/components/nav/StockLocationTree.tsx:93 -#: src/components/render/ModelType.tsx:76 -#: src/pages/stock/LocationDetail.tsx:175 +#: src/components/render/ModelType.tsx:82 +#: src/pages/stock/LocationDetail.tsx:185 msgid "Stock Locations" msgstr "" -#: src/components/render/Instance.tsx:137 +#: src/components/render/Instance.tsx:166 msgid "Unknown model: {model}" msgstr "" -#: src/components/render/ModelType.tsx:21 -#: src/forms/BuildForms.tsx:184 -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49 +#: src/components/render/ModelType.tsx:22 +#: src/forms/BuildForms.tsx:201 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:83 #: src/pages/part/PartDetail.tsx:828 #: src/tables/part/RelatedPartTable.tsx:45 +#: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" msgstr "" -#: src/components/render/ModelType.tsx:22 +#: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 #: src/pages/Index/Settings/SystemSettings.tsx:167 -#: src/pages/part/CategoryDetail.tsx:109 -#: src/pages/part/CategoryDetail.tsx:234 -#: src/pages/part/CategoryDetail.tsx:264 -#: src/pages/part/PartDetail.tsx:638 +#: src/pages/part/CategoryDetail.tsx:110 +#: src/pages/part/CategoryDetail.tsx:235 +#: src/pages/part/CategoryDetail.tsx:265 +#: src/pages/part/PartDetail.tsx:639 msgid "Parts" msgstr "" -#: src/components/render/ModelType.tsx:29 +#: src/components/render/ModelType.tsx:31 msgid "Part Parameter Template" msgstr "" -#: src/components/render/ModelType.tsx:30 +#: src/components/render/ModelType.tsx:32 msgid "Part Parameter Templates" msgstr "" -#: src/components/render/ModelType.tsx:36 +#: src/components/render/ModelType.tsx:38 msgid "Part Test Template" msgstr "" -#: src/components/render/ModelType.tsx:37 +#: src/components/render/ModelType.tsx:39 msgid "Part Test Templates" msgstr "" -#: src/components/render/ModelType.tsx:43 -#: src/pages/company/SupplierPartDetail.tsx:189 -#: src/pages/company/SupplierPartDetail.tsx:317 -#: src/pages/stock/StockDetail.tsx:159 +#: src/components/render/ModelType.tsx:45 +#: src/pages/company/SupplierPartDetail.tsx:190 +#: src/pages/company/SupplierPartDetail.tsx:318 +#: src/pages/stock/StockDetail.tsx:162 #: src/tables/purchasing/SupplierPartTable.tsx:68 msgid "Supplier Part" msgstr "" -#: src/components/render/ModelType.tsx:44 +#: src/components/render/ModelType.tsx:46 msgid "Supplier Parts" msgstr "" -#: src/components/render/ModelType.tsx:51 -#: src/pages/company/ManufacturerPartDetail.tsx:124 +#: src/components/render/ModelType.tsx:54 +#: src/pages/company/ManufacturerPartDetail.tsx:125 msgid "Manufacturer Part" msgstr "" -#: src/components/render/ModelType.tsx:52 +#: src/components/render/ModelType.tsx:55 msgid "Manufacturer Parts" msgstr "" -#: src/components/render/ModelType.tsx:59 -#: src/pages/part/CategoryDetail.tsx:287 +#: src/components/render/ModelType.tsx:63 +#: src/pages/part/CategoryDetail.tsx:288 msgid "Part Category" msgstr "" -#: src/components/render/ModelType.tsx:67 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67 -#: src/pages/stock/StockDetail.tsx:535 +#: src/components/render/ModelType.tsx:72 +#: src/pages/stock/StockDetail.tsx:548 +#: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" msgstr "" -#: src/components/render/ModelType.tsx:68 -#: src/pages/company/CompanyDetail.tsx:197 -#: src/pages/stock/LocationDetail.tsx:116 -#: src/pages/stock/LocationDetail.tsx:161 +#: src/components/render/ModelType.tsx:73 +#: src/pages/company/CompanyDetail.tsx:199 +#: src/pages/stock/LocationDetail.tsx:118 +#: src/pages/stock/LocationDetail.tsx:171 #: src/pages/stock/LocationDetail.tsx:365 msgid "Stock Items" msgstr "" -#: src/components/render/ModelType.tsx:75 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:154 +#: src/components/render/ModelType.tsx:81 msgid "Stock Location" msgstr "" -#: src/components/render/ModelType.tsx:83 +#: src/components/render/ModelType.tsx:90 +msgid "Stock Location Type" +msgstr "" + +#: src/components/render/ModelType.tsx:91 +msgid "Stock Location Types" +msgstr "" + +#: src/components/render/ModelType.tsx:95 msgid "Stock History" msgstr "" -#: src/components/render/ModelType.tsx:84 +#: src/components/render/ModelType.tsx:96 msgid "Stock Histories" msgstr "" -#: src/components/render/ModelType.tsx:88 +#: src/components/render/ModelType.tsx:100 #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:43 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:126 msgid "Build" msgstr "" -#: src/components/render/ModelType.tsx:89 +#: src/components/render/ModelType.tsx:101 msgid "Builds" msgstr "" -#: src/components/render/ModelType.tsx:96 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:76 +#: src/components/render/ModelType.tsx:109 msgid "Build Line" msgstr "" -#: src/components/render/ModelType.tsx:97 +#: src/components/render/ModelType.tsx:110 msgid "Build Lines" msgstr "" -#: src/components/render/ModelType.tsx:104 -#: src/pages/company/CompanyDetail.tsx:321 +#: src/components/render/ModelType.tsx:117 +#: src/pages/company/CompanyDetail.tsx:323 msgid "Company" msgstr "" -#: src/components/render/ModelType.tsx:105 +#: src/components/render/ModelType.tsx:118 msgid "Companies" msgstr "" -#: src/components/render/ModelType.tsx:112 +#: src/components/render/ModelType.tsx:126 #: src/tables/TableHoverCard.tsx:58 #: src/tables/build/BuildOrderTable.tsx:131 #: src/tables/purchasing/PurchaseOrderTable.tsx:64 @@ -1164,170 +1210,199 @@ msgstr "" msgid "Project Code" msgstr "" -#: src/components/render/ModelType.tsx:113 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:97 +#: src/components/render/ModelType.tsx:127 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:105 msgid "Project Codes" msgstr "" -#: src/components/render/ModelType.tsx:119 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99 +#: src/components/render/ModelType.tsx:133 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:355 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:362 +#: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" msgstr "" -#: src/components/render/ModelType.tsx:120 -#: src/pages/Index/Settings/SystemSettings.tsx:242 -#: src/pages/company/CompanyDetail.tsx:190 -#: src/pages/company/SupplierPartDetail.tsx:223 -#: src/pages/part/PartDetail.tsx:571 +#: src/components/render/ModelType.tsx:134 +#: src/pages/Index/Settings/SystemSettings.tsx:243 +#: src/pages/company/CompanyDetail.tsx:192 +#: src/pages/company/SupplierPartDetail.tsx:224 +#: src/pages/part/PartDetail.tsx:572 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" -#: src/components/render/ModelType.tsx:127 +#: src/components/render/ModelType.tsx:142 msgid "Purchase Order Line" msgstr "" -#: src/components/render/ModelType.tsx:128 +#: src/components/render/ModelType.tsx:143 msgid "Purchase Order Lines" msgstr "" -#: src/components/render/ModelType.tsx:132 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:108 +#: src/components/render/ModelType.tsx:147 #: src/pages/build/BuildDetail.tsx:131 -#: src/pages/sales/SalesOrderDetail.tsx:340 -#: src/pages/stock/StockDetail.tsx:207 +#: src/pages/sales/SalesOrderDetail.tsx:347 +#: src/pages/stock/StockDetail.tsx:210 +#: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" msgstr "" -#: src/components/render/ModelType.tsx:133 -#: src/pages/Index/Settings/SystemSettings.tsx:257 -#: src/pages/company/CompanyDetail.tsx:210 -#: src/pages/part/PartDetail.tsx:577 +#: src/components/render/ModelType.tsx:148 +#: src/pages/Index/Settings/SystemSettings.tsx:258 +#: src/pages/company/CompanyDetail.tsx:212 +#: src/pages/part/PartDetail.tsx:578 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" -#: src/components/render/ModelType.tsx:140 +#: src/components/render/ModelType.tsx:156 msgid "Sales Order Shipment" msgstr "" -#: src/components/render/ModelType.tsx:141 +#: src/components/render/ModelType.tsx:157 msgid "Sales Order Shipments" msgstr "" -#: src/components/render/ModelType.tsx:147 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:117 -#: src/pages/sales/ReturnOrderDetail.tsx:318 +#: src/components/render/ModelType.tsx:163 +#: src/pages/sales/ReturnOrderDetail.tsx:325 +#: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "" -#: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:272 -#: src/pages/company/CompanyDetail.tsx:217 +#: src/components/render/ModelType.tsx:164 +#: src/pages/Index/Settings/SystemSettings.tsx:273 +#: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" msgstr "" -#: src/components/render/ModelType.tsx:155 +#: src/components/render/ModelType.tsx:172 #: src/tables/company/AddressTable.tsx:47 msgid "Address" msgstr "" -#: src/components/render/ModelType.tsx:156 -#: src/pages/company/CompanyDetail.tsx:247 +#: src/components/render/ModelType.tsx:173 +#: src/pages/company/CompanyDetail.tsx:249 msgid "Addresses" msgstr "" -#: src/components/render/ModelType.tsx:162 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:189 -#: src/pages/sales/ReturnOrderDetail.tsx:157 -#: src/pages/sales/SalesOrderDetail.tsx:161 +#: src/components/render/ModelType.tsx:179 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:191 +#: src/pages/sales/ReturnOrderDetail.tsx:159 +#: src/pages/sales/SalesOrderDetail.tsx:163 msgid "Contact" msgstr "" -#: src/components/render/ModelType.tsx:163 -#: src/pages/company/CompanyDetail.tsx:241 +#: src/components/render/ModelType.tsx:180 +#: src/pages/company/CompanyDetail.tsx:243 msgid "Contacts" msgstr "" -#: src/components/render/ModelType.tsx:169 +#: src/components/render/ModelType.tsx:186 msgid "Owner" msgstr "" -#: src/components/render/ModelType.tsx:170 +#: src/components/render/ModelType.tsx:187 msgid "Owners" msgstr "" -#: src/components/render/ModelType.tsx:176 +#: src/components/render/ModelType.tsx:193 +#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "" -#: src/components/render/ModelType.tsx:177 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:73 +#: src/components/render/ModelType.tsx:194 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:81 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "" -#: src/components/render/Order.tsx:87 +#: src/components/render/ModelType.tsx:200 +msgid "Label Template" +msgstr "" + +#: src/components/render/ModelType.tsx:201 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:135 +msgid "Label Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:207 +msgid "Report Template" +msgstr "" + +#: src/components/render/ModelType.tsx:208 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:141 +msgid "Report Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:214 +msgid "Plugin Configuration" +msgstr "" + +#: src/components/render/ModelType.tsx:215 +msgid "Plugin Configurations" +msgstr "" + +#: src/components/render/Order.tsx:104 msgid "Shipment" msgstr "" -#: src/components/render/Part.tsx:12 +#: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:198 -#: src/pages/part/PartDetail.tsx:491 +#: src/pages/Index/Settings/SystemSettings.tsx:199 +#: src/pages/part/PartDetail.tsx:492 #: src/pages/stock/LocationDetail.tsx:344 -#: src/pages/stock/StockDetail.tsx:344 +#: src/pages/stock/StockDetail.tsx:352 #: src/tables/stock/StockItemTable.tsx:57 msgid "Stock" msgstr "" -#: src/components/render/Stock.tsx:26 -#: src/pages/stock/StockDetail.tsx:142 -#: src/pages/stock/StockDetail.tsx:501 +#: src/components/render/Stock.tsx:52 +#: src/pages/stock/StockDetail.tsx:145 +#: src/pages/stock/StockDetail.tsx:514 msgid "Serial Number" msgstr "" -#: src/components/render/Stock.tsx:28 -#: src/forms/BuildForms.tsx:189 +#: src/components/render/Stock.tsx:54 +#: src/forms/BuildForms.tsx:206 #: src/pages/part/pricing/BomPricingPanel.tsx:144 -#: src/pages/part/pricing/PriceBreakPanel.tsx:96 -#: src/pages/stock/StockDetail.tsx:137 -#: src/pages/stock/StockDetail.tsx:507 +#: src/pages/part/pricing/PriceBreakPanel.tsx:94 +#: src/pages/stock/StockDetail.tsx:140 +#: src/pages/stock/StockDetail.tsx:520 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:73 +#: src/tables/stock/StockTrackingTable.tsx:59 msgid "Quantity" msgstr "" -#: src/components/settings/SettingItem.tsx:46 -#: src/components/settings/SettingItem.tsx:99 -msgid "Setting updated" -msgstr "" - #: src/components/settings/SettingItem.tsx:47 #: src/components/settings/SettingItem.tsx:100 -msgid "{0} updated successfully" -msgstr "" +#~ msgid "{0} updated successfully" +#~ msgstr "" -#: src/components/settings/SettingItem.tsx:55 -msgid "Error editing setting" -msgstr "" - -#: src/components/settings/SettingItem.tsx:92 +#: src/components/settings/SettingList.tsx:67 msgid "Edit Setting" msgstr "" -#: src/components/settings/SettingList.tsx:63 -msgid "No settings specified" +#: src/components/settings/SettingList.tsx:78 +#: src/components/settings/SettingList.tsx:108 +msgid "Setting {0} updated successfully" msgstr "" -#: src/components/tables/ColumnRenderers.tsx:134 -#~ msgid "Shipment Date" -#~ msgstr "" +#: src/components/settings/SettingList.tsx:107 +msgid "Setting updated" +msgstr "" + +#: src/components/settings/SettingList.tsx:117 +msgid "Error editing setting" +msgstr "" + +#: src/components/settings/SettingList.tsx:158 +msgid "No settings specified" +msgstr "" #: src/components/tables/FilterGroup.tsx:29 #~ msgid "Add table filter" @@ -1695,10 +1770,6 @@ msgstr "" #~ msgid "This is a test filter" #~ msgstr "" -#: src/components/tables/stock/StockLocationTable.tsx:91 -#~ msgid "Location Type" -#~ msgstr "" - #: src/components/tables/stock/StockLocationTable.tsx:145 #~ msgid "Stock location updated" #~ msgstr "" @@ -2028,7 +2099,7 @@ msgid "Current News" msgstr "" #: src/defaults/links.tsx:11 -#: src/pages/company/CompanyDetail.tsx:90 +#: src/pages/company/CompanyDetail.tsx:92 msgid "Website" msgstr "" @@ -2043,10 +2114,10 @@ msgstr "" #: src/defaults/links.tsx:31 #: src/defaults/menuItems.tsx:48 #: src/pages/company/ManufacturerDetail.tsx:9 -#: src/pages/company/ManufacturerPartDetail.tsx:231 +#: src/pages/company/ManufacturerPartDetail.tsx:235 #: src/pages/company/SupplierDetail.tsx:9 -#: src/pages/company/SupplierPartDetail.tsx:291 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:358 +#: src/pages/company/SupplierPartDetail.tsx:292 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:365 #: src/pages/purchasing/PurchasingIndex.tsx:52 msgid "Purchasing" msgstr "" @@ -2054,15 +2125,15 @@ msgstr "" #: src/defaults/links.tsx:32 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:323 +#: src/pages/sales/ReturnOrderDetail.tsx:330 #: src/pages/sales/SalesIndex.tsx:45 -#: src/pages/sales/SalesOrderDetail.tsx:345 +#: src/pages/sales/SalesOrderDetail.tsx:352 msgid "Sales" msgstr "" #: src/defaults/links.tsx:35 #: src/defaults/menuItems.tsx:71 -#: src/pages/Index/Playground.tsx:239 +#: src/pages/Index/Playground.tsx:238 msgid "Playground" msgstr "" @@ -2132,87 +2203,83 @@ msgid "View for interactive scanning and multiple actions." msgstr "" #: src/forms/AttachmentForms.tsx:57 -msgid "Add File" -msgstr "" +#~ msgid "Add File" +#~ msgstr "" #: src/forms/AttachmentForms.tsx:57 -msgid "Add Link" -msgstr "" +#~ msgid "Add Link" +#~ msgstr "" #: src/forms/AttachmentForms.tsx:58 -msgid "File added" -msgstr "" +#~ msgid "File added" +#~ msgstr "" #: src/forms/AttachmentForms.tsx:58 -msgid "Link added" -msgstr "" +#~ msgid "Link added" +#~ msgstr "" #: src/forms/AttachmentForms.tsx:99 -msgid "Edit File" -msgstr "" +#~ msgid "Edit File" +#~ msgstr "" #: src/forms/AttachmentForms.tsx:99 -msgid "Edit Link" -msgstr "" +#~ msgid "Edit Link" +#~ msgstr "" #: src/forms/AttachmentForms.tsx:100 -msgid "File updated" -msgstr "" +#~ msgid "File updated" +#~ msgstr "" #: src/forms/AttachmentForms.tsx:100 -msgid "Link updated" -msgstr "" - -#: src/forms/AttachmentForms.tsx:124 -msgid "Delete Attachment" -msgstr "" +#~ msgid "Link updated" +#~ msgstr "" #: src/forms/AttachmentForms.tsx:125 -msgid "Attachment deleted" -msgstr "" +#~ msgid "Attachment deleted" +#~ msgstr "" #: src/forms/AttachmentForms.tsx:128 -msgid "Are you sure you want to delete this attachment?" -msgstr "" +#~ msgid "Are you sure you want to delete this attachment?" +#~ msgstr "" -#: src/forms/BuildForms.tsx:129 +#: src/forms/BuildForms.tsx:146 msgid "Next serial number" msgstr "" -#: src/forms/BuildForms.tsx:133 +#: src/forms/BuildForms.tsx:150 msgid "Latest serial number" msgstr "" -#: src/forms/BuildForms.tsx:205 +#: src/forms/BuildForms.tsx:222 msgid "Remove output" msgstr "" -#: src/forms/BuildForms.tsx:287 +#: src/forms/BuildForms.tsx:304 msgid "Complete Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:291 +#: src/forms/BuildForms.tsx:308 msgid "Build outputs have been completed" msgstr "" -#: src/forms/BuildForms.tsx:360 +#: src/forms/BuildForms.tsx:377 msgid "Scrap Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:364 +#: src/forms/BuildForms.tsx:381 msgid "Build outputs have been scrapped" msgstr "" -#: src/forms/BuildForms.tsx:396 -#: src/forms/BuildForms.tsx:420 +#: src/forms/BuildForms.tsx:413 +#: src/forms/BuildForms.tsx:437 msgid "Cancel Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:397 +#: src/forms/BuildForms.tsx:414 msgid "Selected build outputs will be deleted" msgstr "" -#: src/forms/BuildForms.tsx:424 +#: src/forms/BuildForms.tsx:441 msgid "Build outputs have been cancelled" msgstr "" @@ -2236,76 +2303,76 @@ msgstr "" #~ msgid "Part updated" #~ msgstr "" -#: src/forms/PurchaseOrderForms.tsx:265 +#: src/forms/PurchaseOrderForms.tsx:279 msgid "Choose Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:273 +#: src/forms/PurchaseOrderForms.tsx:287 msgid "Item Destination selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:282 +#: src/forms/PurchaseOrderForms.tsx:296 msgid "Part category default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:292 +#: src/forms/PurchaseOrderForms.tsx:306 msgid "Received stock location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:297 +#: src/forms/PurchaseOrderForms.tsx:311 msgid "Default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:308 -#: src/forms/PurchaseOrderForms.tsx:384 +#: src/forms/PurchaseOrderForms.tsx:322 +#: src/forms/PurchaseOrderForms.tsx:398 msgid "Scan Barcode" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:352 +#: src/forms/PurchaseOrderForms.tsx:366 msgid "Set Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:359 +#: src/forms/PurchaseOrderForms.tsx:373 msgid "Assign Batch Code{0}" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:368 +#: src/forms/PurchaseOrderForms.tsx:382 msgid "Change Status" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:393 -#: src/forms/StockForms.tsx:351 +#: src/forms/PurchaseOrderForms.tsx:407 +#: src/forms/StockForms.tsx:392 msgid "Remove item from list" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:418 -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:58 -#: src/pages/stock/StockDetail.tsx:167 -#: src/tables/ColumnRenderers.tsx:42 +#: src/forms/PurchaseOrderForms.tsx:432 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/pages/stock/StockDetail.tsx:170 +#: src/tables/ColumnRenderers.tsx:34 +#: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:434 +#: src/forms/PurchaseOrderForms.tsx:448 msgid "Store at default location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:447 +#: src/forms/PurchaseOrderForms.tsx:461 msgid "Store at line item destination" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:457 +#: src/forms/PurchaseOrderForms.tsx:471 msgid "Store with already received stock" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:613 +#: src/forms/PurchaseOrderForms.tsx:627 msgid "Receive Line Items" msgstr "" @@ -2313,119 +2380,118 @@ msgstr "" #~ msgid "Receive line items" #~ msgstr "" -#: src/forms/StockForms.tsx:69 +#: src/forms/StockForms.tsx:101 msgid "Add given quantity as packs instead of individual items" msgstr "" -#: src/forms/StockForms.tsx:80 -msgid "Enter initial quantity for this stock item" -msgstr "" - -#: src/forms/StockForms.tsx:85 -msgid "Serial Numbers" -msgstr "" - -#: src/forms/StockForms.tsx:86 -msgid "Enter serial numbers for new stock (or leave blank)" -msgstr "" - #: src/forms/StockForms.tsx:110 #~ msgid "Create Stock Item" #~ msgstr "" -#: src/forms/StockForms.tsx:135 -#: src/pages/stock/StockDetail.tsx:367 -#: src/tables/stock/StockItemTable.tsx:382 -#: src/tables/stock/StockItemTable.tsx:499 -msgid "Add Stock Item" +#: src/forms/StockForms.tsx:114 +msgid "Enter initial quantity for this stock item" +msgstr "" + +#: src/forms/StockForms.tsx:121 +msgid "Serial Numbers" +msgstr "" + +#: src/forms/StockForms.tsx:122 +msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" #: src/forms/StockForms.tsx:158 #~ msgid "Stock item updated" #~ msgstr "" -#: src/forms/StockForms.tsx:298 +#: src/forms/StockForms.tsx:176 +#: src/pages/stock/StockDetail.tsx:375 +#: src/tables/stock/StockItemTable.tsx:382 +#: src/tables/stock/StockItemTable.tsx:499 +msgid "Add Stock Item" +msgstr "" + +#: src/forms/StockForms.tsx:339 msgid "Loading..." msgstr "" -#: src/forms/StockForms.tsx:340 +#: src/forms/StockForms.tsx:381 msgid "Move to default location" msgstr "" -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/part/PartDetail.tsx:205 -#: src/pages/part/PartDetail.tsx:654 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/pages/part/PartDetail.tsx:206 +#: src/pages/part/PartDetail.tsx:655 #: src/tables/stock/StockItemTable.tsx:290 msgid "In Stock" msgstr "" -#: src/forms/StockForms.tsx:408 +#: src/forms/StockForms.tsx:449 msgid "Move" msgstr "" -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/tables/RowActions.tsx:147 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/tables/RowActions.tsx:149 msgid "Actions" msgstr "" -#: src/forms/StockForms.tsx:471 -#: src/pages/stock/StockDetail.tsx:440 -#: src/tables/settings/TemplateTable.tsx:266 -#: src/tables/stock/StockItemTestResultTable.tsx:348 +#: src/forms/StockForms.tsx:512 +#: src/pages/stock/StockDetail.tsx:454 +#: src/tables/stock/StockItemTestResultTable.tsx:339 msgid "Add" msgstr "" -#: src/forms/StockForms.tsx:499 +#: src/forms/StockForms.tsx:540 #: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:430 +#: src/pages/stock/StockDetail.tsx:444 msgid "Count" msgstr "" -#: src/forms/StockForms.tsx:744 +#: src/forms/StockForms.tsx:785 msgid "Add Stock" msgstr "" -#: src/forms/StockForms.tsx:753 +#: src/forms/StockForms.tsx:794 msgid "Remove Stock" msgstr "" -#: src/forms/StockForms.tsx:762 -#: src/pages/part/PartDetail.tsx:781 +#: src/forms/StockForms.tsx:803 +#: src/pages/part/PartDetail.tsx:782 msgid "Transfer Stock" msgstr "" -#: src/forms/StockForms.tsx:771 -#: src/pages/part/PartDetail.tsx:770 +#: src/forms/StockForms.tsx:812 +#: src/pages/part/PartDetail.tsx:771 msgid "Count Stock" msgstr "" -#: src/forms/StockForms.tsx:780 +#: src/forms/StockForms.tsx:821 msgid "Change Stock Status" msgstr "" -#: src/forms/StockForms.tsx:789 +#: src/forms/StockForms.tsx:830 msgid "Merge Stock" msgstr "" -#: src/forms/StockForms.tsx:808 +#: src/forms/StockForms.tsx:849 msgid "Delete Stock Items" msgstr "" -#: src/forms/StockForms.tsx:815 +#: src/forms/StockForms.tsx:856 msgid "Parent stock location" msgstr "" @@ -2612,7 +2678,7 @@ msgstr "" msgid "Welcome to your Dashboard{0}" msgstr "" -#: src/pages/Index/Playground.tsx:244 +#: src/pages/Index/Playground.tsx:243 msgid "This page is a showcase for the possibilities of Platform UI." msgstr "" @@ -2898,49 +2964,53 @@ msgstr "" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:79 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:87 msgid "Background Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:85 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:93 msgid "Error Reports" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:91 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:99 msgid "Currencies" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:109 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:117 msgid "Custom Units" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:115 -#: src/pages/part/CategoryDetail.tsx:254 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:123 +#: src/pages/part/CategoryDetail.tsx:255 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:121 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 +#~ msgid "Templates" +#~ msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:129 msgid "Category Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 -msgid "Templates" +#: src/pages/Index/Settings/AdminCenter/Index.tsx:147 +msgid "Location types" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:139 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:159 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:149 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:169 msgid "Quick Actions" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:154 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 msgid "Add a new user" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:173 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:193 msgid "Advanced Options" msgstr "" @@ -2985,26 +3055,32 @@ msgstr "" msgid "Plugin Settings" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:25 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:53 +msgid "Background Worker Not Running" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:54 +msgid "The background task manager service is not running. Contact your system administrator." +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:60 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:76 msgid "Pending Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:33 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:64 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:84 msgid "Scheduled Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:41 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:68 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:92 msgid "Failed Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:139 -msgid "Labels" -msgstr "" - #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:39 -msgid "Label" -msgstr "" +#~ msgid "Label" +#~ msgstr "" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67 #~ msgid "Stock item" @@ -3015,13 +3091,13 @@ msgstr "" #~ msgstr "" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:88 -msgid "Reports" -msgstr "" +#~ msgid "Reports" +#~ msgstr "" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:89 #: src/pages/build/BuildDetail.tsx:373 -msgid "Report" -msgstr "" +#~ msgid "Report" +#~ msgstr "" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99 #~ msgid "Purchase order" @@ -3035,14 +3111,9 @@ msgstr "" #~ msgid "Return order" #~ msgstr "" -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135 -#: src/pages/part/PartDetail.tsx:518 -msgid "Bill of Materials" -msgstr "" - #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:145 -msgid "Tests" -msgstr "" +#~ msgid "Tests" +#~ msgstr "" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:154 #~ msgid "Stock location" @@ -3081,26 +3152,30 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "" +#: src/pages/Index/Settings/SystemSettings.tsx:139 +msgid "Labels" +msgstr "" + #: src/pages/Index/Settings/SystemSettings.tsx:145 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:223 -#: src/pages/part/PartDetail.tsx:589 +#: src/pages/Index/Settings/SystemSettings.tsx:224 +#: src/pages/part/PartDetail.tsx:590 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:228 -#: src/pages/build/BuildDetail.tsx:426 +#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:525 -#: src/pages/sales/SalesOrderDetail.tsx:263 +#: src/pages/part/PartDetail.tsx:526 +#: src/pages/sales/SalesOrderDetail.tsx:265 msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:296 +#: src/pages/Index/Settings/SystemSettings.tsx:297 msgid "Switch to User Setting" msgstr "" @@ -3153,44 +3228,47 @@ msgstr "" #~ msgstr "" #: src/pages/build/BuildDetail.tsx:89 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:128 -#: src/pages/sales/ReturnOrderDetail.tsx:95 -#: src/pages/sales/SalesOrderDetail.tsx:99 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:130 +#: src/pages/sales/ReturnOrderDetail.tsx:97 +#: src/pages/sales/SalesOrderDetail.tsx:101 #: src/tables/build/BuildOrderTable.tsx:113 #: src/tables/machine/MachineListTable.tsx:326 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderTable.tsx:46 #: src/tables/sales/SalesOrderTable.tsx:52 #: src/tables/stock/StockItemTable.tsx:259 +#: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "" #: src/pages/build/BuildDetail.tsx:95 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:101 -#: src/pages/sales/ReturnOrderDetail.tsx:69 -#: src/pages/sales/SalesOrderDetail.tsx:73 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:103 +#: src/pages/sales/ReturnOrderDetail.tsx:71 +#: src/pages/sales/SalesOrderDetail.tsx:75 +#: src/tables/ColumnRenderers.tsx:106 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" msgstr "" #: src/pages/build/BuildDetail.tsx:100 -#: src/pages/company/CompanyDetail.tsx:84 -#: src/pages/company/ManufacturerPartDetail.tsx:75 -#: src/pages/company/SupplierPartDetail.tsx:82 -#: src/pages/part/CategoryDetail.tsx:91 -#: src/pages/part/PartDetail.tsx:132 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:122 -#: src/pages/sales/ReturnOrderDetail.tsx:89 -#: src/pages/sales/SalesOrderDetail.tsx:93 -#: src/pages/stock/LocationDetail.tsx:97 -#: src/tables/ColumnRenderers.tsx:95 +#: src/pages/company/CompanyDetail.tsx:86 +#: src/pages/company/ManufacturerPartDetail.tsx:76 +#: src/pages/company/SupplierPartDetail.tsx:83 +#: src/pages/part/CategoryDetail.tsx:92 +#: src/pages/part/PartDetail.tsx:133 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:124 +#: src/pages/sales/ReturnOrderDetail.tsx:91 +#: src/pages/sales/SalesOrderDetail.tsx:95 +#: src/pages/stock/LocationDetail.tsx:99 +#: src/tables/ColumnRenderers.tsx:66 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 #: src/tables/machine/MachineTypeTable.tsx:323 #: src/tables/part/RelatedPartTable.tsx:64 -#: src/tables/plugin/PluginListTable.tsx:172 -#: src/tables/plugin/PluginListTable.tsx:302 +#: src/tables/plugin/PluginListTable.tsx:129 +#: src/tables/plugin/PluginListTable.tsx:276 +#: src/tables/stock/LocationTypesTable.tsx:65 msgid "Description" msgstr "" @@ -3203,7 +3281,7 @@ msgid "Build Quantity" msgstr "" #: src/pages/build/BuildDetail.tsx:126 -#: src/pages/build/BuildDetail.tsx:249 +#: src/pages/build/BuildDetail.tsx:256 msgid "Completed Outputs" msgstr "" @@ -3213,10 +3291,10 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:150 -#: src/pages/part/PartDetail.tsx:320 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:214 -#: src/pages/sales/ReturnOrderDetail.tsx:182 -#: src/pages/sales/SalesOrderDetail.tsx:186 +#: src/pages/part/PartDetail.tsx:321 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:184 +#: src/pages/sales/SalesOrderDetail.tsx:188 #: src/tables/build/BuildOrderTable.tsx:148 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 @@ -3230,10 +3308,10 @@ msgid "Created" msgstr "" #: src/pages/build/BuildDetail.tsx:164 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:207 -#: src/pages/sales/ReturnOrderDetail.tsx:175 -#: src/pages/sales/SalesOrderDetail.tsx:179 -#: src/tables/ColumnRenderers.tsx:227 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:209 +#: src/pages/sales/ReturnOrderDetail.tsx:177 +#: src/pages/sales/SalesOrderDetail.tsx:181 +#: src/tables/ColumnRenderers.tsx:191 msgid "Target Date" msgstr "" @@ -3269,6 +3347,11 @@ msgstr "" #~ msgid "Unlink custom barcode from part" #~ msgstr "" +#: src/pages/build/BuildDetail.tsx:197 +#: src/pages/stock/StockDetail.tsx:526 +msgid "Batch Code" +msgstr "" + #: src/pages/build/BuildDetail.tsx:202 #~ msgid "Build Order updated" #~ msgstr "" @@ -3277,86 +3360,87 @@ msgstr "" #~ msgid "Edit build order" #~ msgstr "" -#: src/pages/build/BuildDetail.tsx:222 -msgid "Build Details" -msgstr "" - #: src/pages/build/BuildDetail.tsx:226 #~ msgid "Duplicate build order" #~ msgstr "" -#: src/pages/build/BuildDetail.tsx:228 -#: src/tables/build/BuildLineTable.tsx:225 -msgid "Allocate Stock" +#: src/pages/build/BuildDetail.tsx:229 +msgid "Build Details" msgstr "" #: src/pages/build/BuildDetail.tsx:231 #~ msgid "Delete build order" #~ msgstr "" -#: src/pages/build/BuildDetail.tsx:242 +#: src/pages/build/BuildDetail.tsx:235 +#: src/tables/build/BuildLineTable.tsx:225 +msgid "Allocate Stock" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:249 msgid "Incomplete Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:264 +#: src/pages/build/BuildDetail.tsx:271 msgid "Consumed Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:278 +#: src/pages/build/BuildDetail.tsx:285 msgid "Child Build Orders" msgstr "" -#: src/pages/build/BuildDetail.tsx:288 -#: src/pages/company/CompanyDetail.tsx:253 -#: src/pages/company/ManufacturerPartDetail.tsx:171 -#: src/pages/part/PartDetail.tsx:611 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:276 -#: src/pages/sales/ReturnOrderDetail.tsx:225 -#: src/pages/sales/SalesOrderDetail.tsx:273 -#: src/pages/stock/StockDetail.tsx:317 +#: src/pages/build/BuildDetail.tsx:295 +#: src/pages/company/CompanyDetail.tsx:255 +#: src/pages/company/ManufacturerPartDetail.tsx:172 +#: src/pages/part/PartDetail.tsx:612 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:278 +#: src/pages/sales/ReturnOrderDetail.tsx:227 +#: src/pages/sales/SalesOrderDetail.tsx:275 +#: src/pages/stock/StockDetail.tsx:325 msgid "Attachments" msgstr "" -#: src/pages/build/BuildDetail.tsx:300 -#: src/pages/company/CompanyDetail.tsx:265 -#: src/pages/part/PartDetail.tsx:623 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:288 -#: src/pages/sales/ReturnOrderDetail.tsx:237 -#: src/pages/sales/SalesOrderDetail.tsx:285 -#: src/pages/stock/StockDetail.tsx:329 +#: src/pages/build/BuildDetail.tsx:307 +#: src/pages/company/CompanyDetail.tsx:267 +#: src/pages/part/PartDetail.tsx:624 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:290 +#: src/pages/sales/ReturnOrderDetail.tsx:239 +#: src/pages/sales/SalesOrderDetail.tsx:287 +#: src/pages/stock/StockDetail.tsx:337 +#: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "" -#: src/pages/build/BuildDetail.tsx:318 +#: src/pages/build/BuildDetail.tsx:325 msgid "Edit Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:327 +#: src/pages/build/BuildDetail.tsx:334 msgid "Cancel Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:339 +#: src/pages/build/BuildDetail.tsx:346 #: src/tables/build/BuildOrderTable.tsx:167 #: src/tables/build/BuildOrderTable.tsx:182 msgid "Add Build Order" msgstr "" #: src/pages/build/BuildDetail.tsx:368 -msgid "Reporting Actions" -msgstr "" +#~ msgid "Reporting Actions" +#~ msgstr "" #: src/pages/build/BuildDetail.tsx:374 -msgid "Print build report" -msgstr "" +#~ msgid "Print build report" +#~ msgstr "" -#: src/pages/build/BuildDetail.tsx:380 +#: src/pages/build/BuildDetail.tsx:378 msgid "Build Order Actions" msgstr "" -#: src/pages/build/BuildDetail.tsx:388 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:326 -#: src/pages/sales/ReturnOrderDetail.tsx:300 -#: src/pages/sales/SalesOrderDetail.tsx:310 +#: src/pages/build/BuildDetail.tsx:386 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:333 +#: src/pages/sales/ReturnOrderDetail.tsx:307 +#: src/pages/sales/SalesOrderDetail.tsx:317 msgid "Cancel order" msgstr "" @@ -3368,56 +3452,58 @@ msgstr "" #~ msgid "New Build Order" #~ msgstr "" -#: src/pages/company/CompanyDetail.tsx:98 +#: src/pages/company/CompanyDetail.tsx:100 msgid "Phone Number" msgstr "" -#: src/pages/company/CompanyDetail.tsx:105 +#: src/pages/company/CompanyDetail.tsx:107 msgid "Email Address" msgstr "" -#: src/pages/company/CompanyDetail.tsx:115 +#: src/pages/company/CompanyDetail.tsx:117 msgid "Default Currency" msgstr "" -#: src/pages/company/CompanyDetail.tsx:120 +#: src/pages/company/CompanyDetail.tsx:122 #: src/pages/company/SupplierDetail.tsx:8 -#: src/pages/company/SupplierPartDetail.tsx:106 -#: src/pages/company/SupplierPartDetail.tsx:192 -#: src/pages/company/SupplierPartDetail.tsx:295 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:116 +#: src/pages/company/SupplierPartDetail.tsx:107 +#: src/pages/company/SupplierPartDetail.tsx:193 +#: src/pages/company/SupplierPartDetail.tsx:296 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:118 #: src/tables/company/CompanyTable.tsx:100 #: src/tables/purchasing/PurchaseOrderTable.tsx:88 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:36 msgid "Supplier" msgstr "" -#: src/pages/company/CompanyDetail.tsx:126 +#: src/pages/company/CompanyDetail.tsx:128 #: src/pages/company/ManufacturerDetail.tsx:8 -#: src/pages/company/ManufacturerPartDetail.tsx:93 -#: src/pages/company/ManufacturerPartDetail.tsx:235 -#: src/pages/company/SupplierPartDetail.tsx:121 +#: src/pages/company/ManufacturerPartDetail.tsx:94 +#: src/pages/company/ManufacturerPartDetail.tsx:239 +#: src/pages/company/SupplierPartDetail.tsx:122 #: src/tables/company/CompanyTable.tsx:105 msgid "Manufacturer" msgstr "" -#: src/pages/company/CompanyDetail.tsx:132 +#: src/pages/company/CompanyDetail.tsx:134 #: src/pages/company/CustomerDetail.tsx:8 #: src/pages/part/pricing/SaleHistoryPanel.tsx:39 -#: src/pages/sales/ReturnOrderDetail.tsx:83 -#: src/pages/sales/SalesOrderDetail.tsx:87 -#: src/pages/stock/StockDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:85 +#: src/pages/sales/SalesOrderDetail.tsx:89 +#: src/pages/stock/StockDetail.tsx:219 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:107 +#: src/tables/stock/StockTrackingTable.tsx:140 msgid "Customer" msgstr "" -#: src/pages/company/CompanyDetail.tsx:166 +#: src/pages/company/CompanyDetail.tsx:168 +#: src/tables/stock/StockTrackingTable.tsx:183 msgid "Details" msgstr "" -#: src/pages/company/CompanyDetail.tsx:172 +#: src/pages/company/CompanyDetail.tsx:174 msgid "Manufactured Parts" msgstr "" @@ -3425,7 +3511,7 @@ msgstr "" #~ msgid "Edit company" #~ msgstr "" -#: src/pages/company/CompanyDetail.tsx:181 +#: src/pages/company/CompanyDetail.tsx:183 msgid "Supplied Parts" msgstr "" @@ -3433,289 +3519,289 @@ msgstr "" #~ msgid "Delete company" #~ msgstr "" -#: src/pages/company/CompanyDetail.tsx:226 +#: src/pages/company/CompanyDetail.tsx:228 msgid "Assigned Stock" msgstr "" -#: src/pages/company/CompanyDetail.tsx:281 +#: src/pages/company/CompanyDetail.tsx:283 #: src/tables/company/CompanyTable.tsx:86 msgid "Edit Company" msgstr "" -#: src/pages/company/CompanyDetail.tsx:290 +#: src/pages/company/CompanyDetail.tsx:292 msgid "Company Actions" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:68 -#: src/pages/company/SupplierPartDetail.tsx:75 +#: src/pages/company/ManufacturerPartDetail.tsx:69 +#: src/pages/company/SupplierPartDetail.tsx:76 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:72 msgid "Internal Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:83 -#: src/pages/company/SupplierPartDetail.tsx:89 +#: src/pages/company/ManufacturerPartDetail.tsx:84 +#: src/pages/company/SupplierPartDetail.tsx:90 msgid "External Link" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:101 -#: src/pages/company/SupplierPartDetail.tsx:130 -#: src/tables/purchasing/ManufacturerPartTable.tsx:53 +#: src/pages/company/ManufacturerPartDetail.tsx:102 +#: src/pages/company/SupplierPartDetail.tsx:131 +#: src/tables/purchasing/ManufacturerPartTable.tsx:56 msgid "Manufacturer Part Number" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:130 +#: src/pages/company/ManufacturerPartDetail.tsx:131 msgid "Manufacturer Details" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:139 +#: src/pages/company/ManufacturerPartDetail.tsx:140 msgid "Manufacturer Part Details" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:145 -#: src/pages/part/PartDetail.tsx:485 +#: src/pages/company/ManufacturerPartDetail.tsx:146 +#: src/pages/part/PartDetail.tsx:486 msgid "Parameters" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:157 -#: src/pages/part/PartDetail.tsx:558 +#: src/pages/company/ManufacturerPartDetail.tsx:158 +#: src/pages/part/PartDetail.tsx:559 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:189 -#: src/tables/purchasing/ManufacturerPartTable.tsx:97 +#: src/pages/company/ManufacturerPartDetail.tsx:190 +#: src/tables/purchasing/ManufacturerPartTable.tsx:84 msgid "Edit Manufacturer Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:196 -#: src/tables/purchasing/ManufacturerPartTable.tsx:63 -#: src/tables/purchasing/ManufacturerPartTable.tsx:78 +#: src/pages/company/ManufacturerPartDetail.tsx:197 +#: src/tables/purchasing/ManufacturerPartTable.tsx:72 +#: src/tables/purchasing/ManufacturerPartTable.tsx:103 msgid "Add Manufacturer Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:209 +#: src/pages/company/ManufacturerPartDetail.tsx:213 msgid "Manufacturer Part Actions" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:247 +#: src/pages/company/ManufacturerPartDetail.tsx:251 msgid "ManufacturerPart" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:96 -#: src/tables/ColumnRenderers.tsx:146 +#: src/pages/company/SupplierPartDetail.tsx:97 +#: src/tables/ColumnRenderers.tsx:117 msgid "Note" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:114 +#: src/pages/company/SupplierPartDetail.tsx:115 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:57 msgid "SKU" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:142 -#: src/pages/company/SupplierPartDetail.tsx:193 -#: src/pages/stock/StockDetail.tsx:230 +#: src/pages/company/SupplierPartDetail.tsx:143 +#: src/pages/company/SupplierPartDetail.tsx:194 +#: src/pages/stock/StockDetail.tsx:233 msgid "Packaging" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:149 +#: src/pages/company/SupplierPartDetail.tsx:150 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:107 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143 #: src/tables/purchasing/SupplierPartTable.tsx:131 msgid "Pack Quantity" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:160 +#: src/pages/company/SupplierPartDetail.tsx:161 msgid "Supplier Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:167 +#: src/pages/company/SupplierPartDetail.tsx:168 msgid "Availability Updated" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:194 +#: src/pages/company/SupplierPartDetail.tsx:195 msgid "Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:203 +#: src/pages/company/SupplierPartDetail.tsx:204 msgid "Supplier Part Details" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:209 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:263 +#: src/pages/company/SupplierPartDetail.tsx:210 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:265 msgid "Received Stock" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:233 +#: src/pages/company/SupplierPartDetail.tsx:234 #: src/pages/part/PartPricingPanel.tsx:115 #: src/pages/part/pricing/PricingOverviewPanel.tsx:130 msgid "Supplier Pricing" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:248 +#: src/pages/company/SupplierPartDetail.tsx:249 msgid "Supplier Part Actions" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:272 +#: src/pages/company/SupplierPartDetail.tsx:273 #: src/tables/purchasing/SupplierPartTable.tsx:210 msgid "Edit Supplier Part" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:279 +#: src/pages/company/SupplierPartDetail.tsx:280 #: src/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "" -#: src/pages/part/CategoryDetail.tsx:83 -#: src/pages/stock/LocationDetail.tsx:89 +#: src/pages/part/CategoryDetail.tsx:84 +#: src/pages/stock/LocationDetail.tsx:91 #: src/tables/settings/ErrorTable.tsx:34 msgid "Path" msgstr "" -#: src/pages/part/CategoryDetail.tsx:99 +#: src/pages/part/CategoryDetail.tsx:100 msgid "Parent Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:116 +#: src/pages/part/CategoryDetail.tsx:117 msgid "Subcategories" msgstr "" -#: src/pages/part/CategoryDetail.tsx:123 -#: src/pages/stock/LocationDetail.tsx:129 -#: src/tables/part/PartCategoryTable.tsx:69 +#: src/pages/part/CategoryDetail.tsx:124 +#: src/pages/stock/LocationDetail.tsx:131 +#: src/tables/part/PartCategoryTable.tsx:65 msgid "Structural" msgstr "" -#: src/pages/part/CategoryDetail.tsx:129 +#: src/pages/part/CategoryDetail.tsx:130 msgid "Parent default location" msgstr "" -#: src/pages/part/CategoryDetail.tsx:136 +#: src/pages/part/CategoryDetail.tsx:137 msgid "Default location" msgstr "" -#: src/pages/part/CategoryDetail.tsx:147 +#: src/pages/part/CategoryDetail.tsx:148 msgid "Top level part category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:157 -#: src/pages/part/CategoryDetail.tsx:211 -#: src/tables/part/PartCategoryTable.tsx:96 +#: src/pages/part/CategoryDetail.tsx:158 +#: src/pages/part/CategoryDetail.tsx:212 +#: src/tables/part/PartCategoryTable.tsx:88 msgid "Edit Part Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:170 -#: src/pages/stock/LocationDetail.tsx:213 +#: src/pages/part/CategoryDetail.tsx:171 +#: src/pages/stock/LocationDetail.tsx:223 msgid "Delete items" msgstr "" -#: src/pages/part/CategoryDetail.tsx:178 -#: src/pages/part/CategoryDetail.tsx:216 +#: src/pages/part/CategoryDetail.tsx:179 +#: src/pages/part/CategoryDetail.tsx:217 msgid "Delete Part Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:181 +#: src/pages/part/CategoryDetail.tsx:182 msgid "Parts Action" msgstr "" -#: src/pages/part/CategoryDetail.tsx:182 +#: src/pages/part/CategoryDetail.tsx:183 msgid "Action for parts in this category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:187 +#: src/pages/part/CategoryDetail.tsx:188 msgid "Child Categories Action" msgstr "" -#: src/pages/part/CategoryDetail.tsx:188 +#: src/pages/part/CategoryDetail.tsx:189 msgid "Action for child categories in this category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:206 +#: src/pages/part/CategoryDetail.tsx:207 msgid "Category Actions" msgstr "" -#: src/pages/part/CategoryDetail.tsx:228 +#: src/pages/part/CategoryDetail.tsx:229 msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:138 +#: src/pages/part/PartDetail.tsx:139 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:145 +#: src/pages/part/PartDetail.tsx:146 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "" -#: src/pages/part/PartDetail.tsx:151 +#: src/pages/part/PartDetail.tsx:152 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:158 +#: src/pages/part/PartDetail.tsx:159 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:165 +#: src/pages/part/PartDetail.tsx:166 msgid "IPN" msgstr "" -#: src/pages/part/PartDetail.tsx:172 +#: src/pages/part/PartDetail.tsx:173 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:179 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39 +#: src/pages/part/PartDetail.tsx:180 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "" -#: src/pages/part/PartDetail.tsx:186 +#: src/pages/part/PartDetail.tsx:187 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:193 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:180 -#: src/pages/sales/ReturnOrderDetail.tsx:148 -#: src/pages/sales/SalesOrderDetail.tsx:152 +#: src/pages/part/PartDetail.tsx:194 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:182 +#: src/pages/sales/ReturnOrderDetail.tsx:150 +#: src/pages/sales/SalesOrderDetail.tsx:154 msgid "Link" msgstr "" -#: src/pages/part/PartDetail.tsx:211 -#: src/tables/bom/BomTable.tsx:269 +#: src/pages/part/PartDetail.tsx:212 +#: src/tables/bom/BomTable.tsx:271 #: src/tables/build/BuildLineTable.tsx:121 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:218 +#: src/pages/part/PartDetail.tsx:219 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:224 -#: src/tables/bom/BomTable.tsx:210 +#: src/pages/part/PartDetail.tsx:225 +#: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:233 +#: src/pages/part/PartDetail.tsx:234 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:241 +#: src/pages/part/PartDetail.tsx:242 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:248 -#: src/tables/bom/BomTable.tsx:234 +#: src/pages/part/PartDetail.tsx:249 +#: src/tables/bom/BomTable.tsx:236 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:255 -#: src/tables/bom/BomTable.tsx:218 +#: src/pages/part/PartDetail.tsx:256 +#: src/tables/bom/BomTable.tsx:220 #: src/tables/part/PartTable.tsx:82 msgid "Building" msgstr "" -#: src/pages/part/PartDetail.tsx:264 +#: src/pages/part/PartDetail.tsx:265 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 @@ -3724,45 +3810,47 @@ msgstr "" #: src/tables/machine/MachineListTable.tsx:585 #: src/tables/part/PartTable.tsx:168 #: src/tables/part/PartVariantTable.tsx:15 -#: src/tables/plugin/PluginListTable.tsx:190 -#: src/tables/plugin/PluginListTable.tsx:638 +#: src/tables/plugin/PluginListTable.tsx:149 +#: src/tables/plugin/PluginListTable.tsx:271 +#: src/tables/plugin/PluginListTable.tsx:563 #: src/tables/purchasing/SupplierPartTable.tsx:98 #: src/tables/purchasing/SupplierPartTable.tsx:187 #: src/tables/stock/StockItemTable.tsx:254 msgid "Active" msgstr "" -#: src/pages/part/PartDetail.tsx:269 +#: src/pages/part/PartDetail.tsx:270 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:274 -#: src/tables/bom/BomTable.tsx:264 +#: src/pages/part/PartDetail.tsx:275 +#: src/tables/bom/BomTable.tsx:266 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:279 +#: src/pages/part/PartDetail.tsx:280 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:284 -#: src/tables/bom/BomTable.tsx:259 +#: src/pages/part/PartDetail.tsx:285 +#: src/tables/bom/BomTable.tsx:261 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:289 +#: src/pages/part/PartDetail.tsx:290 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:294 +#: src/pages/part/PartDetail.tsx:295 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:299 +#: src/pages/part/PartDetail.tsx:300 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:307 +#: src/pages/part/PartDetail.tsx:308 +#: src/tables/ColumnRenderers.tsx:199 msgid "Creation Date" msgstr "" @@ -3770,7 +3858,7 @@ msgstr "" #~ msgid "Edit part" #~ msgstr "" -#: src/pages/part/PartDetail.tsx:312 +#: src/pages/part/PartDetail.tsx:313 msgid "Created By" msgstr "" @@ -3778,68 +3866,72 @@ msgstr "" #~ msgid "Duplicate part" #~ msgstr "" -#: src/pages/part/PartDetail.tsx:327 -msgid "Default Supplier" -msgstr "" - #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "" -#: src/pages/part/PartDetail.tsx:338 +#: src/pages/part/PartDetail.tsx:328 +msgid "Default Supplier" +msgstr "" + +#: src/pages/part/PartDetail.tsx:339 #: src/tables/part/PartTable.tsx:151 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:373 -#: src/pages/stock/StockDetail.tsx:127 +#: src/pages/part/PartDetail.tsx:374 +#: src/pages/stock/StockDetail.tsx:130 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:408 +#: src/pages/part/PartDetail.tsx:409 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:479 +#: src/pages/part/PartDetail.tsx:480 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:505 +#: src/pages/part/PartDetail.tsx:506 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:512 -#: src/pages/stock/StockDetail.tsx:275 +#: src/pages/part/PartDetail.tsx:513 +#: src/pages/stock/StockDetail.tsx:283 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:532 +#: src/pages/part/PartDetail.tsx:519 +msgid "Bill of Materials" +msgstr "" + +#: src/pages/part/PartDetail.tsx:533 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:539 +#: src/pages/part/PartDetail.tsx:540 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:545 +#: src/pages/part/PartDetail.tsx:546 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:584 +#: src/pages/part/PartDetail.tsx:585 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:594 +#: src/pages/part/PartDetail.tsx:595 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:605 +#: src/pages/part/PartDetail.tsx:606 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:660 -#: src/pages/stock/StockDetail.tsx:148 +#: src/pages/part/PartDetail.tsx:661 +#: src/pages/stock/StockDetail.tsx:151 #: src/tables/build/BuildLineTable.tsx:36 #: src/tables/part/PartTable.tsx:107 #: src/tables/stock/StockItemTable.tsx:166 @@ -3847,49 +3939,51 @@ msgstr "" msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:666 +#: src/pages/part/PartDetail.tsx:667 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:672 -#: src/tables/bom/BomTable.tsx:274 +#: src/pages/part/PartDetail.tsx:673 +#: src/tables/bom/BomTable.tsx:276 #: src/tables/part/PartTable.tsx:76 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:678 -#: src/pages/stock/StockDetail.tsx:496 +#: src/pages/part/PartDetail.tsx:679 +#: src/pages/stock/StockDetail.tsx:509 #: src/tables/stock/StockItemTable.tsx:295 msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:697 +#: src/pages/part/PartDetail.tsx:698 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:704 +#: src/pages/part/PartDetail.tsx:705 #: src/tables/part/PartTable.tsx:266 #: src/tables/part/PartTable.tsx:279 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:716 +#: src/pages/part/PartDetail.tsx:717 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:725 +#: src/pages/part/PartDetail.tsx:726 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:763 +#: src/pages/part/PartDetail.tsx:764 +#: src/pages/stock/LocationDetail.tsx:301 +#: src/tables/stock/StockItemTable.tsx:409 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:771 +#: src/pages/part/PartDetail.tsx:772 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:782 +#: src/pages/part/PartDetail.tsx:783 msgid "Transfer part stock" msgstr "" @@ -3951,15 +4045,15 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151 #: src/pages/part/pricing/SupplierPricingPanel.tsx:83 -#: src/tables/bom/BomTable.tsx:149 +#: src/tables/bom/BomTable.tsx:151 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 msgid "Unit Price" msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:173 -#: src/tables/ColumnRenderers.tsx:278 -#: src/tables/bom/BomTable.tsx:158 +#: src/tables/ColumnRenderers.tsx:241 +#: src/tables/bom/BomTable.tsx:160 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 #: src/tables/sales/ReturnOrderTable.tsx:104 #: src/tables/sales/SalesOrderTable.tsx:134 @@ -3981,24 +4075,24 @@ msgid "Bar Chart" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:63 -#: src/pages/part/pricing/PriceBreakPanel.tsx:117 +#: src/pages/part/pricing/PriceBreakPanel.tsx:115 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:138 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:164 msgid "Add Price Break" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:76 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:149 msgid "Edit Price Break" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:86 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:157 msgid "Delete Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:102 -#: src/pages/part/pricing/PriceBreakPanel.tsx:193 +#: src/pages/part/pricing/PriceBreakPanel.tsx:100 +#: src/pages/part/pricing/PriceBreakPanel.tsx:191 msgid "Price Break" msgstr "" @@ -4027,7 +4121,7 @@ msgid "Overall Pricing" msgstr "" #: src/pages/part/pricing/PricingOverviewPanel.tsx:184 -#: src/pages/stock/StockDetail.tsx:121 +#: src/pages/stock/StockDetail.tsx:124 msgid "Last Updated" msgstr "" @@ -4061,9 +4155,8 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50 #: src/pages/part/pricing/SaleHistoryPanel.tsx:46 -#: src/tables/ColumnRenderers.tsx:217 -#: src/tables/plugin/PluginListTable.tsx:182 -#: src/tables/stock/StockItemTestResultTable.tsx:194 +#: src/tables/ColumnRenderers.tsx:180 +#: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" @@ -4090,89 +4183,89 @@ msgstr "" msgid "Variant Part" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:73 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:75 msgid "Edit Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:82 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:84 #: src/tables/purchasing/PurchaseOrderTable.tsx:128 #: src/tables/purchasing/PurchaseOrderTable.tsx:140 msgid "Add Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:107 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:109 msgid "Supplier Reference" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:137 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:252 -#: src/pages/sales/ReturnOrderDetail.tsx:104 -#: src/pages/sales/ReturnOrderDetail.tsx:220 -#: src/pages/sales/SalesOrderDetail.tsx:108 -#: src/pages/sales/SalesOrderDetail.tsx:248 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:139 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:254 +#: src/pages/sales/ReturnOrderDetail.tsx:106 +#: src/pages/sales/ReturnOrderDetail.tsx:222 +#: src/pages/sales/SalesOrderDetail.tsx:110 +#: src/pages/sales/SalesOrderDetail.tsx:250 msgid "Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:144 -#: src/pages/sales/ReturnOrderDetail.tsx:111 -#: src/pages/sales/SalesOrderDetail.tsx:115 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:146 +#: src/pages/sales/ReturnOrderDetail.tsx:113 +#: src/pages/sales/SalesOrderDetail.tsx:117 msgid "Completed Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:152 -#: src/pages/sales/ReturnOrderDetail.tsx:119 -#: src/pages/sales/SalesOrderDetail.tsx:123 -#: src/pages/sales/SalesOrderDetail.tsx:258 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:121 +#: src/pages/sales/SalesOrderDetail.tsx:125 +#: src/pages/sales/SalesOrderDetail.tsx:260 msgid "Completed Shipments" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:159 -#: src/pages/sales/ReturnOrderDetail.tsx:127 -#: src/pages/sales/SalesOrderDetail.tsx:131 -msgid "Order Currency" -msgstr "" - #: src/pages/purchasing/PurchaseOrderDetail.tsx:159 #: src/pages/sales/ReturnOrderDetail.tsx:126 #: src/pages/sales/SalesOrderDetail.tsx:130 #~ msgid "Order Currency," #~ msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:166 -#: src/pages/sales/ReturnOrderDetail.tsx:134 -#: src/pages/sales/SalesOrderDetail.tsx:138 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:161 +#: src/pages/sales/ReturnOrderDetail.tsx:129 +#: src/pages/sales/SalesOrderDetail.tsx:133 +msgid "Order Currency" +msgstr "" + +#: src/pages/purchasing/PurchaseOrderDetail.tsx:168 +#: src/pages/sales/ReturnOrderDetail.tsx:136 +#: src/pages/sales/SalesOrderDetail.tsx:140 msgid "Total Cost" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:201 -#: src/pages/sales/ReturnOrderDetail.tsx:169 -#: src/pages/sales/SalesOrderDetail.tsx:173 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:203 +#: src/pages/sales/ReturnOrderDetail.tsx:171 +#: src/pages/sales/SalesOrderDetail.tsx:175 msgid "Created On" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:246 -#: src/pages/sales/ReturnOrderDetail.tsx:214 -#: src/pages/sales/SalesOrderDetail.tsx:242 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:248 +#: src/pages/sales/ReturnOrderDetail.tsx:216 +#: src/pages/sales/SalesOrderDetail.tsx:244 msgid "Order Details" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:316 -#: src/pages/sales/ReturnOrderDetail.tsx:290 -#: src/pages/sales/SalesOrderDetail.tsx:302 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:323 +#: src/pages/sales/ReturnOrderDetail.tsx:297 +#: src/pages/sales/SalesOrderDetail.tsx:309 msgid "Order Actions" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:75 -#: src/pages/sales/SalesOrderDetail.tsx:79 +#: src/pages/sales/ReturnOrderDetail.tsx:77 +#: src/pages/sales/SalesOrderDetail.tsx:81 #: src/tables/sales/SalesOrderTable.tsx:123 msgid "Customer Reference" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:267 +#: src/pages/sales/ReturnOrderDetail.tsx:269 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:276 +#: src/pages/sales/ReturnOrderDetail.tsx:278 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" @@ -4182,68 +4275,72 @@ msgstr "" msgid "Customers" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:219 +#: src/pages/sales/SalesOrderDetail.tsx:221 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:228 +#: src/pages/sales/SalesOrderDetail.tsx:230 #: src/tables/sales/SalesOrderTable.tsx:83 #: src/tables/sales/SalesOrderTable.tsx:95 msgid "Add Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:253 +#: src/pages/sales/SalesOrderDetail.tsx:255 msgid "Pending Shipments" msgstr "" -#: src/pages/stock/LocationDetail.tsx:105 +#: src/pages/stock/LocationDetail.tsx:107 msgid "Parent Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:123 +#: src/pages/stock/LocationDetail.tsx:125 msgid "Sublocations" msgstr "" -#: src/pages/stock/LocationDetail.tsx:135 +#: src/pages/stock/LocationDetail.tsx:137 msgid "External" msgstr "" -#: src/pages/stock/LocationDetail.tsx:144 +#: src/pages/stock/LocationDetail.tsx:143 +msgid "Location Type" +msgstr "" + +#: src/pages/stock/LocationDetail.tsx:154 msgid "Top level stock location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:155 +#: src/pages/stock/LocationDetail.tsx:165 msgid "Location Details" msgstr "" -#: src/pages/stock/LocationDetail.tsx:181 +#: src/pages/stock/LocationDetail.tsx:191 msgid "Default Parts" msgstr "" -#: src/pages/stock/LocationDetail.tsx:200 +#: src/pages/stock/LocationDetail.tsx:210 #: src/pages/stock/LocationDetail.tsx:328 -#: src/tables/stock/StockLocationTable.tsx:108 +#: src/tables/stock/StockLocationTable.tsx:100 msgid "Edit Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:221 +#: src/pages/stock/LocationDetail.tsx:231 #: src/pages/stock/LocationDetail.tsx:333 msgid "Delete Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:224 +#: src/pages/stock/LocationDetail.tsx:234 msgid "Items Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:225 +#: src/pages/stock/LocationDetail.tsx:235 msgid "Action for stock items in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:230 +#: src/pages/stock/LocationDetail.tsx:240 msgid "Child Locations Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:231 +#: src/pages/stock/LocationDetail.tsx:241 msgid "Action for child locations in this location" msgstr "" @@ -4251,11 +4348,11 @@ msgstr "" msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:100 +#: src/pages/stock/StockDetail.tsx:103 msgid "Base Part" msgstr "" -#: src/pages/stock/StockDetail.tsx:107 +#: src/pages/stock/StockDetail.tsx:110 msgid "Stock Status" msgstr "" @@ -4267,15 +4364,16 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "" -#: src/pages/stock/StockDetail.tsx:174 +#: src/pages/stock/StockDetail.tsx:177 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:190 +#: src/pages/stock/StockDetail.tsx:193 msgid "Consumed By" msgstr "" -#: src/pages/stock/StockDetail.tsx:199 +#: src/pages/stock/StockDetail.tsx:202 +#: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" msgstr "" @@ -4287,78 +4385,78 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "" -#: src/pages/stock/StockDetail.tsx:264 +#: src/pages/stock/StockDetail.tsx:267 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:270 +#: src/pages/stock/StockDetail.tsx:273 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:282 +#: src/pages/stock/StockDetail.tsx:290 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:296 +#: src/pages/stock/StockDetail.tsx:304 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:303 +#: src/pages/stock/StockDetail.tsx:311 msgid "Child Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:358 +#: src/pages/stock/StockDetail.tsx:366 msgid "Edit Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:385 +#: src/pages/stock/StockDetail.tsx:393 msgid "Delete Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:426 -msgid "Stock Operations" -msgstr "" - -#: src/pages/stock/StockDetail.tsx:431 -msgid "Count stock" -msgstr "" - #: src/pages/stock/StockDetail.tsx:433 #~ msgid "Duplicate stock item" #~ msgstr "" -#: src/pages/stock/StockDetail.tsx:441 +#: src/pages/stock/StockDetail.tsx:440 +msgid "Stock Operations" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:445 +msgid "Count stock" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:455 #: src/tables/stock/StockItemTable.tsx:414 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:449 +#: src/pages/stock/StockDetail.tsx:463 #: src/tables/stock/StockItemTable.tsx:423 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:456 +#: src/pages/stock/StockDetail.tsx:470 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:457 +#: src/pages/stock/StockDetail.tsx:471 #: src/tables/stock/StockItemTable.tsx:443 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:469 +#: src/pages/stock/StockDetail.tsx:482 msgid "Stock Item Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:513 -msgid "Batch Code" -msgstr "" - -#: src/tables/ColumnRenderers.tsx:50 +#: src/tables/ColumnRenderers.tsx:42 msgid "No location set" msgstr "" -#: src/tables/ColumnRenderers.tsx:264 +#: src/tables/ColumnRenderers.tsx:207 +msgid "Shipment Date" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:227 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "" @@ -4368,20 +4466,32 @@ msgstr "" msgid "Select Columns" msgstr "" -#: src/tables/DownloadAction.tsx:11 +#: src/tables/DownloadAction.tsx:13 +#~ msgid "Excel" +#~ msgstr "" + +#: src/tables/DownloadAction.tsx:21 +#~ msgid "Download selected data" +#~ msgstr "" + +#: src/tables/DownloadAction.tsx:22 msgid "CSV" msgstr "" -#: src/tables/DownloadAction.tsx:12 +#: src/tables/DownloadAction.tsx:23 msgid "TSV" msgstr "" -#: src/tables/DownloadAction.tsx:13 -msgid "Excel" +#: src/tables/DownloadAction.tsx:24 +msgid "Excel (.xls)" msgstr "" -#: src/tables/DownloadAction.tsx:21 -msgid "Download selected data" +#: src/tables/DownloadAction.tsx:25 +msgid "Excel (.xlsx)" +msgstr "" + +#: src/tables/DownloadAction.tsx:39 +msgid "Download Data" msgstr "" #: src/tables/Filter.tsx:88 @@ -4415,102 +4525,102 @@ msgstr "" msgid "Remove filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:147 +#: src/tables/FilterSelectDrawer.tsx:136 msgid "Select filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:148 +#: src/tables/FilterSelectDrawer.tsx:137 msgid "Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:155 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:33 -#: src/tables/stock/StockItemTestResultTable.tsx:182 +#: src/tables/FilterSelectDrawer.tsx:144 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 +#: src/tables/stock/StockItemTestResultTable.tsx:180 msgid "Value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:156 +#: src/tables/FilterSelectDrawer.tsx:145 msgid "Select filter value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:196 +#: src/tables/FilterSelectDrawer.tsx:185 msgid "Table Filters" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:228 +#: src/tables/FilterSelectDrawer.tsx:217 msgid "Add Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:237 +#: src/tables/FilterSelectDrawer.tsx:226 msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:118 -#: src/tables/InvenTreeTable.tsx:384 -#: src/tables/InvenTreeTable.tsx:405 +#: src/tables/InvenTreeTable.tsx:119 +#: src/tables/InvenTreeTable.tsx:390 +#: src/tables/InvenTreeTable.tsx:411 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:416 +#: src/tables/InvenTreeTable.tsx:422 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:424 +#: src/tables/InvenTreeTable.tsx:430 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:427 +#: src/tables/InvenTreeTable.tsx:433 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:436 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:433 +#: src/tables/InvenTreeTable.tsx:439 msgid "Not found" msgstr "" -#: src/tables/InvenTreeTable.tsx:482 -#: src/tables/InvenTreeTable.tsx:604 +#: src/tables/InvenTreeTable.tsx:488 +#: src/tables/InvenTreeTable.tsx:611 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:486 +#: src/tables/InvenTreeTable.tsx:492 msgid "Are you sure you want to delete the selected records?" msgstr "" -#: src/tables/InvenTreeTable.tsx:488 +#: src/tables/InvenTreeTable.tsx:494 msgid "This action cannot be undone!" msgstr "" -#: src/tables/InvenTreeTable.tsx:516 +#: src/tables/InvenTreeTable.tsx:522 msgid "Deleted records" msgstr "" -#: src/tables/InvenTreeTable.tsx:517 +#: src/tables/InvenTreeTable.tsx:523 msgid "Records were deleted successfully" msgstr "" -#: src/tables/InvenTreeTable.tsx:526 +#: src/tables/InvenTreeTable.tsx:532 msgid "Failed to delete records" msgstr "" -#: src/tables/InvenTreeTable.tsx:585 -#: src/tables/InvenTreeTable.tsx:586 -msgid "Barcode actions" -msgstr "" - #: src/tables/InvenTreeTable.tsx:594 #: src/tables/InvenTreeTable.tsx:595 -msgid "Print actions" +#~ msgid "Print actions" +#~ msgstr "" + +#: src/tables/InvenTreeTable.tsx:601 +#: src/tables/InvenTreeTable.tsx:602 +msgid "Barcode actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:620 +#: src/tables/InvenTreeTable.tsx:630 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:638 +#: src/tables/InvenTreeTable.tsx:648 msgid "Table filters" msgstr "" @@ -4522,138 +4632,138 @@ msgstr "" msgid "Part Information" msgstr "" -#: src/tables/bom/BomTable.tsx:177 +#: src/tables/bom/BomTable.tsx:179 #: src/tables/part/PartTable.tsx:124 msgid "No stock" msgstr "" -#: src/tables/bom/BomTable.tsx:185 +#: src/tables/bom/BomTable.tsx:187 #: src/tables/build/BuildLineTable.tsx:104 #: src/tables/part/PartTable.tsx:115 msgid "External stock" msgstr "" -#: src/tables/bom/BomTable.tsx:193 +#: src/tables/bom/BomTable.tsx:195 #: src/tables/build/BuildLineTable.tsx:67 msgid "Includes substitute stock" msgstr "" -#: src/tables/bom/BomTable.tsx:202 +#: src/tables/bom/BomTable.tsx:204 #: src/tables/build/BuildLineTable.tsx:77 msgid "Includes variant stock" msgstr "" -#: src/tables/bom/BomTable.tsx:227 +#: src/tables/bom/BomTable.tsx:229 #: src/tables/part/PartTable.tsx:143 #: src/tables/stock/StockItemTable.tsx:205 msgid "Stock Information" msgstr "" -#: src/tables/bom/BomTable.tsx:239 +#: src/tables/bom/BomTable.tsx:241 #: src/tables/build/BuildLineTable.tsx:195 msgid "Consumable item" msgstr "" -#: src/tables/bom/BomTable.tsx:260 +#: src/tables/bom/BomTable.tsx:262 msgid "Show trackable items" msgstr "" -#: src/tables/bom/BomTable.tsx:265 +#: src/tables/bom/BomTable.tsx:267 msgid "Show asssmbled items" msgstr "" -#: src/tables/bom/BomTable.tsx:270 +#: src/tables/bom/BomTable.tsx:272 msgid "Show items with available stock" msgstr "" -#: src/tables/bom/BomTable.tsx:275 +#: src/tables/bom/BomTable.tsx:277 msgid "Show items on order" msgstr "" -#: src/tables/bom/BomTable.tsx:279 +#: src/tables/bom/BomTable.tsx:281 msgid "Validated" msgstr "" -#: src/tables/bom/BomTable.tsx:280 +#: src/tables/bom/BomTable.tsx:282 msgid "Show validated items" msgstr "" -#: src/tables/bom/BomTable.tsx:284 +#: src/tables/bom/BomTable.tsx:286 #: src/tables/bom/UsedInTable.tsx:63 msgid "Inherited" msgstr "" -#: src/tables/bom/BomTable.tsx:285 +#: src/tables/bom/BomTable.tsx:287 #: src/tables/bom/UsedInTable.tsx:64 msgid "Show inherited items" msgstr "" -#: src/tables/bom/BomTable.tsx:289 +#: src/tables/bom/BomTable.tsx:291 #: src/tables/bom/UsedInTable.tsx:68 #: src/tables/build/BuildLineTable.tsx:46 msgid "Optional" msgstr "" -#: src/tables/bom/BomTable.tsx:290 +#: src/tables/bom/BomTable.tsx:292 #: src/tables/bom/UsedInTable.tsx:69 msgid "Show optional items" msgstr "" -#: src/tables/bom/BomTable.tsx:294 +#: src/tables/bom/BomTable.tsx:296 #: src/tables/build/BuildLineTable.tsx:41 msgid "Consumable" msgstr "" -#: src/tables/bom/BomTable.tsx:295 +#: src/tables/bom/BomTable.tsx:297 msgid "Show consumable items" msgstr "" -#: src/tables/bom/BomTable.tsx:299 +#: src/tables/bom/BomTable.tsx:301 msgid "Has Pricing" msgstr "" -#: src/tables/bom/BomTable.tsx:300 -msgid "Show items with pricing" -msgstr "" - #: src/tables/bom/BomTable.tsx:301 #~ msgid "Create BOM Item" #~ msgstr "" -#: src/tables/bom/BomTable.tsx:309 -#: src/tables/bom/BomTable.tsx:397 +#: src/tables/bom/BomTable.tsx:302 +msgid "Show items with pricing" +msgstr "" + +#: src/tables/bom/BomTable.tsx:311 +#: src/tables/bom/BomTable.tsx:399 msgid "Add BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:314 +#: src/tables/bom/BomTable.tsx:316 msgid "BOM item created" msgstr "" -#: src/tables/bom/BomTable.tsx:321 +#: src/tables/bom/BomTable.tsx:323 msgid "Edit BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:323 +#: src/tables/bom/BomTable.tsx:325 msgid "BOM item updated" msgstr "" -#: src/tables/bom/BomTable.tsx:330 -msgid "Delete BOM Item" -msgstr "" - -#: src/tables/bom/BomTable.tsx:331 -msgid "BOM item deleted" -msgstr "" - #: src/tables/bom/BomTable.tsx:331 #~ msgid "Edit Bom Item" #~ msgstr "" +#: src/tables/bom/BomTable.tsx:332 +msgid "Delete BOM Item" +msgstr "" + +#: src/tables/bom/BomTable.tsx:333 +msgid "BOM item deleted" +msgstr "" + #: src/tables/bom/BomTable.tsx:333 #~ msgid "Bom item updated" #~ msgstr "" -#: src/tables/bom/BomTable.tsx:341 +#: src/tables/bom/BomTable.tsx:343 msgid "View BOM" msgstr "" @@ -4669,11 +4779,11 @@ msgstr "" #~ msgid "Are you sure you want to remove this BOM item?" #~ msgstr "" -#: src/tables/bom/BomTable.tsx:352 +#: src/tables/bom/BomTable.tsx:354 msgid "Validate BOM line" msgstr "" -#: src/tables/bom/BomTable.tsx:360 +#: src/tables/bom/BomTable.tsx:362 msgid "Edit Substitutes" msgstr "" @@ -4790,11 +4900,11 @@ msgid "Filter by responsible owner" msgstr "" #: src/tables/build/BuildOutputTable.tsx:114 -#: src/tables/build/BuildOutputTable.tsx:150 +#: src/tables/build/BuildOutputTable.tsx:152 msgid "Add Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:155 +#: src/tables/build/BuildOutputTable.tsx:157 msgid "Complete selected outputs" msgstr "" @@ -4802,68 +4912,68 @@ msgstr "" #~ msgid "Delete build output" #~ msgstr "" -#: src/tables/build/BuildOutputTable.tsx:165 +#: src/tables/build/BuildOutputTable.tsx:167 msgid "Scrap selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:175 +#: src/tables/build/BuildOutputTable.tsx:177 msgid "Cancel selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:191 +#: src/tables/build/BuildOutputTable.tsx:193 msgid "Allocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:192 +#: src/tables/build/BuildOutputTable.tsx:194 msgid "Allocate stock to build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:197 +#: src/tables/build/BuildOutputTable.tsx:199 msgid "Deallocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:198 +#: src/tables/build/BuildOutputTable.tsx:200 msgid "Deallocate stock from build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:203 +#: src/tables/build/BuildOutputTable.tsx:205 msgid "Complete" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:204 +#: src/tables/build/BuildOutputTable.tsx:206 msgid "Complete build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:213 +#: src/tables/build/BuildOutputTable.tsx:215 msgid "Scrap" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:214 +#: src/tables/build/BuildOutputTable.tsx:216 msgid "Scrap build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:224 +#: src/tables/build/BuildOutputTable.tsx:226 msgid "Cancel build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:251 +#: src/tables/build/BuildOutputTable.tsx:253 msgid "Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:264 +#: src/tables/build/BuildOutputTable.tsx:266 msgid "Batch" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:278 +#: src/tables/build/BuildOutputTable.tsx:280 msgid "Allocated Items" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:288 +#: src/tables/build/BuildOutputTable.tsx:290 msgid "Required Tests" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:317 -#: src/tables/stock/StockItemTestResultTable.tsx:146 +#: src/tables/build/BuildOutputTable.tsx:319 +#: src/tables/stock/StockItemTestResultTable.tsx:144 msgid "Test Results" msgstr "" @@ -4884,7 +4994,7 @@ msgstr "" msgid "Delete Address" msgstr "" -#: src/tables/company/AddressTable.tsx:145 +#: src/tables/company/AddressTable.tsx:144 msgid "Are you sure you want to delete this address?" msgstr "" @@ -4929,36 +5039,52 @@ msgstr "" msgid "Add contact" msgstr "" -#: src/tables/general/AttachmentTable.tsx:161 +#: src/tables/general/AttachmentTable.tsx:130 msgid "File uploaded" msgstr "" -#: src/tables/general/AttachmentTable.tsx:162 +#: src/tables/general/AttachmentTable.tsx:131 msgid "File {0} uploaded successfully" msgstr "" -#: src/tables/general/AttachmentTable.tsx:173 +#: src/tables/general/AttachmentTable.tsx:142 msgid "Upload Error" msgstr "" -#: src/tables/general/AttachmentTable.tsx:174 +#: src/tables/general/AttachmentTable.tsx:143 msgid "File could not be uploaded" msgstr "" #: src/tables/general/AttachmentTable.tsx:187 +msgid "Upload Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:197 +msgid "Edit Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:211 +msgid "Delete Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:221 msgid "Add attachment" msgstr "" -#: src/tables/general/AttachmentTable.tsx:207 +#: src/tables/general/AttachmentTable.tsx:232 msgid "Add external link" msgstr "" -#: src/tables/general/AttachmentTable.tsx:239 +#: src/tables/general/AttachmentTable.tsx:254 +#~ msgid "Upload attachment" +#~ msgstr "" + +#: src/tables/general/AttachmentTable.tsx:289 msgid "No attachments found" msgstr "" -#: src/tables/general/AttachmentTable.tsx:254 -msgid "Upload attachment" +#: src/tables/general/AttachmentTable.tsx:325 +msgid "Drag attachment file here to upload" msgstr "" #: src/tables/machine/MachineListTable.tsx:199 @@ -5084,8 +5210,8 @@ msgstr "" #: src/tables/machine/MachineTypeTable.tsx:135 #: src/tables/machine/MachineTypeTable.tsx:255 -#: src/tables/plugin/PluginListTable.tsx:215 -#: src/tables/plugin/PluginListTable.tsx:643 +#: src/tables/plugin/PluginListTable.tsx:180 +#: src/tables/plugin/PluginListTable.tsx:568 msgid "Builtin" msgstr "" @@ -5127,7 +5253,7 @@ msgid "Message" msgstr "" #: src/tables/part/ParametricPartTable.tsx:75 -#: src/tables/part/PartParameterTable.tsx:87 +#: src/tables/part/PartParameterTable.tsx:88 msgid "Internal Units" msgstr "" @@ -5140,29 +5266,29 @@ msgid "Add Part Parameter" msgstr "" #: src/tables/part/ParametricPartTable.tsx:147 -#: src/tables/part/PartParameterTable.tsx:128 -#: src/tables/part/PartParameterTable.tsx:150 +#: src/tables/part/PartParameterTable.tsx:121 +#: src/tables/part/PartParameterTable.tsx:144 msgid "Edit Part Parameter" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:64 +#: src/tables/part/PartCategoryTable.tsx:60 #: src/tables/part/PartTable.tsx:180 msgid "Include Subcategories" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:65 +#: src/tables/part/PartCategoryTable.tsx:61 msgid "Include subcategories in results" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:70 +#: src/tables/part/PartCategoryTable.tsx:66 msgid "Show structural categories" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:77 +#: src/tables/part/PartCategoryTable.tsx:73 msgid "New Part Category" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:106 +#: src/tables/part/PartCategoryTable.tsx:98 msgid "Add Part Category" msgstr "" @@ -5187,20 +5313,20 @@ msgstr "" #~ msgid "[{0}]" #~ msgstr "" -#: src/tables/part/PartParameterTable.tsx:112 +#: src/tables/part/PartParameterTable.tsx:105 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:136 -#: src/tables/part/PartParameterTable.tsx:158 +#: src/tables/part/PartParameterTable.tsx:130 +#: src/tables/part/PartParameterTable.tsx:152 msgid "Delete Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:175 +#: src/tables/part/PartParameterTable.tsx:170 msgid "Add parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:196 +#: src/tables/part/PartParameterTable.tsx:191 #: src/tables/stock/StockItemTable.tsx:300 msgid "Include Variants" msgstr "" @@ -5234,15 +5360,15 @@ msgstr "" msgid "Add Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:97 +#: src/tables/part/PartParameterTemplateTable.tsx:100 msgid "Edit Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:105 +#: src/tables/part/PartParameterTemplateTable.tsx:111 msgid "Delete Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:135 +#: src/tables/part/PartParameterTemplateTable.tsx:141 msgid "Add parameter template" msgstr "" @@ -5340,7 +5466,7 @@ msgid "No Results" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:79 -#: src/tables/stock/StockItemTestResultTable.tsx:385 +#: src/tables/stock/StockItemTestResultTable.tsx:376 msgid "Required" msgstr "" @@ -5349,8 +5475,8 @@ msgid "Show required tests" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:84 -#: src/tables/settings/TemplateTable.tsx:213 -#: src/tables/settings/TemplateTable.tsx:275 +#: src/tables/settings/TemplateTable.tsx:160 +#: src/tables/settings/TemplateTable.tsx:270 msgid "Enabled" msgstr "" @@ -5391,26 +5517,30 @@ msgid "Show tests which have recorded results" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:126 -#: src/tables/part/PartTestTemplateTable.tsx:195 +#: src/tables/part/PartTestTemplateTable.tsx:201 msgid "Add Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:139 +#: src/tables/part/PartTestTemplateTable.tsx:142 msgid "Edit Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:147 +#: src/tables/part/PartTestTemplateTable.tsx:153 msgid "Delete Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:149 +#: src/tables/part/PartTestTemplateTable.tsx:155 msgid "This action cannot be reversed" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:151 +#: src/tables/part/PartTestTemplateTable.tsx:157 msgid "Any tests results associated with this template will be deleted" msgstr "" +#: src/tables/part/PartThumbTable.tsx:203 +msgid "Select" +msgstr "" + #: src/tables/part/PartVariantTable.tsx:16 msgid "Show active variants" msgstr "" @@ -5447,252 +5577,273 @@ msgstr "" msgid "Stage" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:113 -msgid "Plugin with id {id} not found" +#: src/tables/plugin/PluginListTable.tsx:95 +msgid "Plugin with key {pluginKey} not found" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:115 +#: src/tables/plugin/PluginListTable.tsx:97 msgid "An error occurred while fetching plugin details" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:134 -msgid "Plugin Actions" -msgstr "" +#: src/tables/plugin/PluginListTable.tsx:113 +#~ msgid "Plugin with id {id} not found" +#~ msgstr "" -#: src/tables/plugin/PluginListTable.tsx:138 -#: src/tables/plugin/PluginListTable.tsx:141 -msgid "Edit plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:152 -#: src/tables/plugin/PluginListTable.tsx:153 -msgid "Reload" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:166 +#: src/tables/plugin/PluginListTable.tsx:122 msgid "Plugin information" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:177 +#: src/tables/plugin/PluginListTable.tsx:134 msgid "Author" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:198 +#: src/tables/plugin/PluginListTable.tsx:134 +#~ msgid "Plugin Actions" +#~ msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:138 +#: src/tables/plugin/PluginListTable.tsx:141 +#~ msgid "Edit plugin" +#~ msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:152 +#: src/tables/plugin/PluginListTable.tsx:153 +#~ msgid "Reload" +#~ msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:154 +msgid "Plugin is not active" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:163 msgid "Package information" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:204 +#: src/tables/plugin/PluginListTable.tsx:169 msgid "Package Name" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:210 +#: src/tables/plugin/PluginListTable.tsx:175 msgid "Installation Path" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:220 +#: src/tables/plugin/PluginListTable.tsx:185 msgid "Package" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:231 +#: src/tables/plugin/PluginListTable.tsx:197 msgid "Plugin settings" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:248 +#: src/tables/plugin/PluginListTable.tsx:214 msgid "Plugin is active" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:254 +#: src/tables/plugin/PluginListTable.tsx:220 msgid "Plugin is inactive" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:261 +#: src/tables/plugin/PluginListTable.tsx:227 msgid "Plugin is not installed" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:287 +#: src/tables/plugin/PluginListTable.tsx:253 msgid "Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:312 +#: src/tables/plugin/PluginListTable.tsx:287 msgid "Description not available" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:338 +#: src/tables/plugin/PluginListTable.tsx:319 +msgid "Confirm plugin activation" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:320 +msgid "Confirm plugin deactivation" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:325 +msgid "The selected plugin will be activated" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:326 +msgid "The selected plugin will be deactivated" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:334 msgid "Activate Plugin" msgstr "" #: src/tables/plugin/PluginListTable.tsx:338 -msgid "Deactivate Plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:347 -msgid "Confirm plugin activation" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:348 -msgid "Confirm plugin deactivation" -msgstr "" +#~ msgid "Deactivate Plugin" +#~ msgstr "" #: src/tables/plugin/PluginListTable.tsx:354 -msgid "The following plugin will be activated" -msgstr "" +#~ msgid "The following plugin will be activated" +#~ msgstr "" #: src/tables/plugin/PluginListTable.tsx:355 -msgid "The following plugin will be deactivated" -msgstr "" +#~ msgid "The following plugin will be deactivated" +#~ msgstr "" -#: src/tables/plugin/PluginListTable.tsx:366 -msgid "Confirm" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:376 -msgid "Activating plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:376 -msgid "Deactivating plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:392 -msgid "Plugin updated" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:394 -msgid "The plugin was activated" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:395 -msgid "The plugin was deactivated" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:403 -msgid "Error updating plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:423 +#: src/tables/plugin/PluginListTable.tsx:362 msgid "Deactivate" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:432 +#: src/tables/plugin/PluginListTable.tsx:366 +#~ msgid "Confirm" +#~ msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:373 msgid "Activate" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:463 +#: src/tables/plugin/PluginListTable.tsx:376 +#~ msgid "Activating plugin" +#~ msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:376 +#~ msgid "Deactivating plugin" +#~ msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:392 +#~ msgid "Plugin updated" +#~ msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:394 +#~ msgid "The plugin was activated" +#~ msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:395 +#~ msgid "The plugin was deactivated" +#~ msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:403 +#~ msgid "Error updating plugin" +#~ msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:406 msgid "Uninstall" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:495 +#: src/tables/plugin/PluginListTable.tsx:438 msgid "Install plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:508 +#: src/tables/plugin/PluginListTable.tsx:451 msgid "Install" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:512 +#: src/tables/plugin/PluginListTable.tsx:452 msgid "Plugin installed successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:525 +#: src/tables/plugin/PluginListTable.tsx:457 msgid "Uninstall Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:537 +#: src/tables/plugin/PluginListTable.tsx:469 msgid "Confirm plugin uninstall" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:540 +#: src/tables/plugin/PluginListTable.tsx:472 msgid "The selected plugin will be uninstalled." msgstr "" -#: src/tables/plugin/PluginListTable.tsx:541 +#: src/tables/plugin/PluginListTable.tsx:473 msgid "This action cannot be undone." msgstr "" -#: src/tables/plugin/PluginListTable.tsx:547 +#: src/tables/plugin/PluginListTable.tsx:477 msgid "Plugin uninstalled successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:560 +#: src/tables/plugin/PluginListTable.tsx:484 msgid "Delete Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:562 +#: src/tables/plugin/PluginListTable.tsx:485 msgid "Deleting this plugin configuration will remove all associated settings and data. Are you sure you want to delete this plugin?" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:574 +#: src/tables/plugin/PluginListTable.tsx:498 msgid "Plugins reloaded" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:575 +#: src/tables/plugin/PluginListTable.tsx:499 msgid "Plugins were reloaded successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:591 +#: src/tables/plugin/PluginListTable.tsx:515 msgid "Reload Plugins" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:600 +#: src/tables/plugin/PluginListTable.tsx:524 msgid "Install Plugin" msgstr "" +#: src/tables/plugin/PluginListTable.tsx:544 +msgid "Plugin Detail" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:573 +msgid "Sample" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:578 +#: src/tables/stock/StockItemTable.tsx:305 +msgid "Installed" +msgstr "" + #: src/tables/plugin/PluginListTable.tsx:615 #~ msgid "Plugin detail" #~ msgstr "" -#: src/tables/plugin/PluginListTable.tsx:619 -msgid "Plugin Detail" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:648 -msgid "Sample" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:653 -#: src/tables/stock/StockItemTable.tsx:305 -msgid "Installed" -msgstr "" - -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:57 -msgid "Edit Parameter" +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:59 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:108 +msgid "Add Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:60 -msgid "Parameter updated" -msgstr "" +#~ msgid "Parameter updated" +#~ msgstr "" -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:71 -msgid "Delete Parameter" +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:70 +msgid "Edit Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:73 -msgid "Parameter deleted" -msgstr "" +#~ msgid "Parameter deleted" +#~ msgstr "" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:74 -msgid "Are you sure you want to delete this parameter?" +#~ msgid "Are you sure you want to delete this parameter?" +#~ msgstr "" + +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:78 +msgid "Delete Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartTable.tsx:63 #~ msgid "Create Manufacturer Part" #~ msgstr "" -#: src/tables/purchasing/ManufacturerPartTable.tsx:100 -msgid "Manufacturer part updated" -msgstr "" - -#: src/tables/purchasing/ManufacturerPartTable.tsx:111 +#: src/tables/purchasing/ManufacturerPartTable.tsx:92 msgid "Delete Manufacturer Part" msgstr "" +#: src/tables/purchasing/ManufacturerPartTable.tsx:100 +#~ msgid "Manufacturer part updated" +#~ msgstr "" + #: src/tables/purchasing/ManufacturerPartTable.tsx:112 -msgid "Manufacturer part deleted" -msgstr "" +#~ msgid "Manufacturer part deleted" +#~ msgstr "" #: src/tables/purchasing/ManufacturerPartTable.tsx:114 -msgid "Are you sure you want to remove this manufacturer part?" -msgstr "" +#~ msgid "Are you sure you want to remove this manufacturer part?" +#~ msgstr "" #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:86 msgid "Part Description" @@ -5839,18 +5990,22 @@ msgid "Error Information" msgstr "" #: src/tables/settings/ErrorTable.tsx:51 -msgid "Delete error report" +msgid "Delete Error Report" msgstr "" +#: src/tables/settings/ErrorTable.tsx:51 +#~ msgid "Delete error report" +#~ msgstr "" + #: src/tables/settings/ErrorTable.tsx:53 -msgid "Error report deleted" -msgstr "" - -#: src/tables/settings/ErrorTable.tsx:54 msgid "Are you sure you want to delete this error report?" msgstr "" -#: src/tables/settings/ErrorTable.tsx:67 +#: src/tables/settings/ErrorTable.tsx:55 +msgid "Error report deleted" +msgstr "" + +#: src/tables/settings/ErrorTable.tsx:77 #: src/tables/settings/FailedTasksTable.tsx:57 msgid "Error Details" msgstr "" @@ -5867,7 +6022,7 @@ msgid "Task ID" msgstr "" #: src/tables/settings/FailedTasksTable.tsx:34 -#: src/tables/stock/StockItemTestResultTable.tsx:214 +#: src/tables/stock/StockItemTestResultTable.tsx:205 msgid "Started" msgstr "" @@ -5940,30 +6095,71 @@ msgstr "" msgid "Next Run" msgstr "" -#: src/tables/settings/TemplateTable.tsx:120 -msgid "{templateTypeTranslation} with id {id} not found" +#: src/tables/settings/TemplateTable.tsx:82 +msgid "Template not found" msgstr "" +#: src/tables/settings/TemplateTable.tsx:84 +msgid "An error occurred while fetching template details" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:120 +#~ msgid "{templateTypeTranslation} with id {id} not found" +#~ msgstr "" + #: src/tables/settings/TemplateTable.tsx:124 -msgid "An error occurred while fetching {templateTypeTranslation} details" -msgstr "" +#~ msgid "An error occurred while fetching {templateTypeTranslation} details" +#~ msgstr "" #: src/tables/settings/TemplateTable.tsx:146 -msgid "actions" +#~ msgid "actions" +#~ msgstr "" + +#: src/tables/settings/TemplateTable.tsx:170 +msgid "Modify" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:171 +msgid "Modify template file" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:222 +#: src/tables/settings/TemplateTable.tsx:289 +msgid "Edit Template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:230 +msgid "Delete template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:236 +msgid "Add Template" msgstr "" #: src/tables/settings/TemplateTable.tsx:243 -msgid "Add new" -msgstr "" +#~ msgid "Add new" +#~ msgstr "" #: src/tables/settings/TemplateTable.tsx:243 #~ msgid "Create new" #~ msgstr "" -#: src/tables/settings/TemplateTable.tsx:276 +#: src/tables/settings/TemplateTable.tsx:249 +msgid "Add template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:271 msgid "Filter by enabled status" msgstr "" +#: src/tables/settings/TemplateTable.tsx:276 +msgid "Model Type" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:277 +msgid "Filter by target model type" +msgstr "" + #: src/tables/settings/UserTable.tsx:79 msgid "User with id {id} not found" msgstr "" @@ -6029,6 +6225,23 @@ msgstr "" msgid "Edit user" msgstr "" +#: src/tables/stock/LocationTypesTable.tsx:36 +#: src/tables/stock/LocationTypesTable.tsx:105 +msgid "Add Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:44 +msgid "Edit Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:52 +msgid "Delete Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:69 +msgid "Icon" +msgstr "" + #: src/tables/stock/StockItemTable.tsx:90 msgid "This stock item is in production" msgstr "" @@ -6090,7 +6303,7 @@ msgid "Show items which are available" msgstr "" #: src/tables/stock/StockItemTable.tsx:280 -#: src/tables/stock/StockLocationTable.tsx:37 +#: src/tables/stock/StockLocationTable.tsx:33 msgid "Include Sublocations" msgstr "" @@ -6219,123 +6432,135 @@ msgstr "" msgid "Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:153 +#: src/tables/stock/StockItemTestResultTable.tsx:151 msgid "Test result for installed stock item" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:164 +#: src/tables/stock/StockItemTestResultTable.tsx:162 msgid "Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:170 +#: src/tables/stock/StockItemTestResultTable.tsx:168 msgid "No Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:186 +#: src/tables/stock/StockItemTestResultTable.tsx:184 msgid "Attachment" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:209 +#: src/tables/stock/StockItemTestResultTable.tsx:200 msgid "Test station" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:229 +#: src/tables/stock/StockItemTestResultTable.tsx:220 msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:277 -#: src/tables/stock/StockItemTestResultTable.tsx:349 -#: src/tables/stock/StockItemTestResultTable.tsx:404 +#: src/tables/stock/StockItemTestResultTable.tsx:268 +#: src/tables/stock/StockItemTestResultTable.tsx:340 +#: src/tables/stock/StockItemTestResultTable.tsx:395 msgid "Add Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:279 +#: src/tables/stock/StockItemTestResultTable.tsx:270 msgid "Test result added" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:288 -#: src/tables/stock/StockItemTestResultTable.tsx:359 +#: src/tables/stock/StockItemTestResultTable.tsx:279 +#: src/tables/stock/StockItemTestResultTable.tsx:350 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:290 +#: src/tables/stock/StockItemTestResultTable.tsx:281 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:296 -#: src/tables/stock/StockItemTestResultTable.tsx:368 +#: src/tables/stock/StockItemTestResultTable.tsx:287 +#: src/tables/stock/StockItemTestResultTable.tsx:359 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:298 +#: src/tables/stock/StockItemTestResultTable.tsx:289 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:312 +#: src/tables/stock/StockItemTestResultTable.tsx:303 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:313 +#: src/tables/stock/StockItemTestResultTable.tsx:304 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:320 +#: src/tables/stock/StockItemTestResultTable.tsx:311 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:337 +#: src/tables/stock/StockItemTestResultTable.tsx:328 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:386 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:390 +#: src/tables/stock/StockItemTestResultTable.tsx:381 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:391 +#: src/tables/stock/StockItemTestResultTable.tsx:382 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:395 +#: src/tables/stock/StockItemTestResultTable.tsx:386 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:396 +#: src/tables/stock/StockItemTestResultTable.tsx:387 msgid "Show only passed tests" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:38 +#: src/tables/stock/StockLocationTable.tsx:34 msgid "Include sublocations in results" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:42 +#: src/tables/stock/StockLocationTable.tsx:38 msgid "structural" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:43 +#: src/tables/stock/StockLocationTable.tsx:39 msgid "Show structural locations" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:47 +#: src/tables/stock/StockLocationTable.tsx:43 msgid "external" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:48 +#: src/tables/stock/StockLocationTable.tsx:44 msgid "Show external locations" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:52 +#: src/tables/stock/StockLocationTable.tsx:48 msgid "Has location type" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:89 -#: src/tables/stock/StockLocationTable.tsx:118 +#: src/tables/stock/StockLocationTable.tsx:85 +#: src/tables/stock/StockLocationTable.tsx:110 msgid "Add Stock Location" msgstr "" +#: src/tables/stock/StockTrackingTable.tsx:64 +msgid "Added" +msgstr "" + +#: src/tables/stock/StockTrackingTable.tsx:69 +msgid "Removed" +msgstr "" + +#: src/tables/stock/StockTrackingTable.tsx:198 +msgid "No user information" +msgstr "" + #: src/views/MobileAppView.tsx:22 msgid "Mobile viewport detected" msgstr "" diff --git a/src/frontend/src/locales/zh-hant/messages.po b/src/frontend/src/locales/zh-hant/messages.po index 2aacc04bb8..eab8f9289c 100644 --- a/src/frontend/src/locales/zh-hant/messages.po +++ b/src/frontend/src/locales/zh-hant/messages.po @@ -25,10 +25,67 @@ msgstr "" msgid "Title" msgstr "" +#: src/components/buttons/AdminButton.tsx:83 +msgid "Open in admin interface" +msgstr "" + #: src/components/buttons/CopyButton.tsx:18 msgid "Copy to clipboard" msgstr "" +#: src/components/buttons/PrintingActions.tsx:95 +msgid "Print Label" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:101 +msgid "Label printing completed successfully" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:106 +#: src/components/buttons/PrintingActions.tsx:143 +#: src/components/forms/ApiForm.tsx:504 +#: src/components/forms/fields/ApiFormField.tsx:295 +#: src/components/modals/LicenseModal.tsx:75 +#: src/components/nav/SearchDrawer.tsx:413 +#: src/components/widgets/MarkdownEditor.tsx:107 +#: src/components/widgets/MarkdownEditor.tsx:153 +#: src/pages/ErrorPage.tsx:12 +#: src/pages/ErrorPage.tsx:25 +#: src/pages/part/PartPricingPanel.tsx:71 +#: src/tables/InvenTreeTable.tsx:451 +#: src/tables/InvenTreeTable.tsx:531 +#: src/tables/stock/StockItemTestResultTable.tsx:310 +msgid "Error" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:107 +msgid "The label could not be generated" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:122 +msgid "Print Report" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:138 +msgid "Report printing completed successfully" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:144 +msgid "The report could not be generated" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:171 +msgid "Printing Actions" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:176 +msgid "Print Labels" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:182 +msgid "Print Reports" +msgstr "" + #: src/components/buttons/ScanButton.tsx:15 msgid "Scan QR code" msgstr "" @@ -59,15 +116,15 @@ msgstr "" msgid "No" msgstr "" -#: src/components/details/Details.tsx:302 +#: src/components/details/Details.tsx:303 msgid "No name defined" msgstr "" -#: src/components/details/Details.tsx:339 +#: src/components/details/Details.tsx:340 msgid "Copied" msgstr "" -#: src/components/details/Details.tsx:339 +#: src/components/details/Details.tsx:340 msgid "Copy" msgstr "" @@ -80,24 +137,23 @@ msgid "Remove the associated image from this item?" msgstr "" #: src/components/details/DetailsImage.tsx:71 -#: src/forms/StockForms.tsx:442 +#: src/forms/StockForms.tsx:483 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:448 +#: src/pages/stock/StockDetail.tsx:462 msgid "Remove" msgstr "" #: src/components/details/DetailsImage.tsx:71 -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:163 -#: src/components/items/ActionDropdown.tsx:222 -#: src/components/items/ActionDropdown.tsx:223 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 +#: src/components/items/ActionDropdown.tsx:229 +#: src/components/items/ActionDropdown.tsx:230 #: src/contexts/ThemeContext.tsx:43 #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:40 -#: src/tables/FilterSelectDrawer.tsx:218 -#: src/tables/InvenTreeTable.tsx:493 -#: src/tables/build/BuildOutputTable.tsx:223 -#: src/tables/plugin/PluginListTable.tsx:365 +#: src/tables/FilterSelectDrawer.tsx:207 +#: src/tables/InvenTreeTable.tsx:499 +#: src/tables/build/BuildOutputTable.tsx:225 msgid "Cancel" msgstr "" @@ -114,7 +170,7 @@ msgid "Clear" msgstr "" #: src/components/details/DetailsImage.tsx:227 -#: src/components/forms/ApiForm.tsx:554 +#: src/components/forms/ApiForm.tsx:571 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:56 msgid "Submit" @@ -145,9 +201,10 @@ msgid "Part is not active" msgstr "" #: src/components/details/PartIcons.tsx:34 -#: src/pages/company/CompanyDetail.tsx:308 -#: src/pages/company/SupplierPartDetail.tsx:304 -#: src/pages/part/PartDetail.tsx:684 +#: src/components/render/Plugin.tsx:17 +#: src/pages/company/CompanyDetail.tsx:310 +#: src/pages/company/SupplierPartDetail.tsx:305 +#: src/pages/part/PartDetail.tsx:685 msgid "Inactive" msgstr "" @@ -191,10 +248,10 @@ msgid "Code" msgstr "" #: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:44 -msgid "Failed to parse error response from server." -msgstr "" +#~ msgid "Failed to parse error response from server." +#~ msgstr "" -#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:82 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:81 msgid "Preview not available, click \"Reload Preview\"." msgstr "" @@ -202,98 +259,99 @@ msgstr "" msgid "PDF Preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:113 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:104 msgid "Error loading template" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:125 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:116 msgid "Error saving template" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 -msgid "Save & Reload preview?" +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:146 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:270 +msgid "Save & Reload Preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:156 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 msgid "Are you sure you want to Save & Reload the preview?" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 +#~ msgid "Save & Reload preview?" +#~ msgstr "" + +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:153 msgid "To render the preview the current template needs to be replaced on the server with your modifications which may break the label if it is under active use. Do you want to proceed?" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:162 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:157 msgid "Save & Reload" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:191 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:189 msgid "Preview updated" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:192 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:190 msgid "The preview has been updated successfully." msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:255 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:262 msgid "Reload preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:256 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:263 msgid "Use the currently stored template from the server" msgstr "" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:263 -msgid "Save & Reload preview" -msgstr "" +#~ msgid "Save & Reload preview" +#~ msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:264 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:271 msgid "Save the current template and reload the preview" msgstr "" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:322 -#: src/tables/part/PartThumbTable.tsx:203 -msgid "Select" +#~ msgid "to preview" +#~ msgstr "" + +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:329 +msgid "Select instance to preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:322 -msgid "to preview" -msgstr "" - -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:366 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:373 msgid "Error rendering template" msgstr "" -#: src/components/forms/ApiForm.tsx:143 +#: src/components/forms/ApiForm.tsx:148 #: src/functions/forms.tsx:259 msgid "Form Error" msgstr "" -#: src/components/forms/ApiForm.tsx:411 +#: src/components/forms/ApiForm.tsx:428 #: src/components/widgets/MarkdownEditor.tsx:145 msgid "Success" msgstr "" #: src/components/forms/ApiForm.tsx:487 -msgid "Form Errors Exist" -msgstr "" +#~ msgid "Form Errors Exist" +#~ msgstr "" -#: src/components/forms/ApiForm.tsx:592 -#: src/tables/plugin/PluginListTable.tsx:445 +#: src/components/forms/ApiForm.tsx:609 +#: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "" -#: src/components/forms/ApiForm.tsx:612 -#: src/components/items/ActionDropdown.tsx:203 +#: src/components/forms/ApiForm.tsx:629 +#: src/components/items/ActionDropdown.tsx:210 #: src/functions/forms.tsx:299 #: src/hooks/UseForm.tsx:122 #: src/pages/Index/Scan.tsx:343 #: src/pages/Notifications.tsx:123 -#: src/tables/InvenTreeTable.tsx:492 +#: src/tables/InvenTreeTable.tsx:498 #: src/tables/RowActions.tsx:71 -#: src/tables/plugin/PluginListTable.tsx:477 -#: src/tables/settings/TemplateTable.tsx:105 -#: src/tables/settings/TemplateTable.tsx:154 -#: src/tables/settings/TemplateTable.tsx:236 +#: src/tables/plugin/PluginListTable.tsx:420 msgid "Delete" msgstr "" @@ -444,18 +502,19 @@ msgstr "" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 -#: src/pages/part/CategoryDetail.tsx:77 -#: src/pages/part/PartDetail.tsx:125 -#: src/pages/stock/LocationDetail.tsx:83 +#: src/pages/part/CategoryDetail.tsx:78 +#: src/pages/part/PartDetail.tsx:126 +#: src/pages/stock/LocationDetail.tsx:85 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 #: src/tables/machine/MachineTypeTable.tsx:216 #: src/tables/machine/MachineTypeTable.tsx:319 #: src/tables/plugin/PluginErrorTable.tsx:33 -#: src/tables/plugin/PluginListTable.tsx:169 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:27 +#: src/tables/plugin/PluginListTable.tsx:126 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:32 #: src/tables/settings/GroupTable.tsx:103 #: src/tables/settings/PendingTasksTable.tsx:26 +#: src/tables/stock/LocationTypesTable.tsx:60 msgid "Name" msgstr "" @@ -496,35 +555,20 @@ msgstr "" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/ApiFormField.tsx:276 -#: src/components/modals/LicenseModal.tsx:75 -#: src/components/nav/SearchDrawer.tsx:413 -#: src/components/widgets/MarkdownEditor.tsx:107 -#: src/components/widgets/MarkdownEditor.tsx:153 -#: src/pages/ErrorPage.tsx:12 -#: src/pages/ErrorPage.tsx:25 -#: src/pages/part/PartPricingPanel.tsx:71 -#: src/tables/InvenTreeTable.tsx:445 -#: src/tables/InvenTreeTable.tsx:525 -#: src/tables/plugin/PluginListTable.tsx:402 -#: src/tables/stock/StockItemTestResultTable.tsx:319 -msgid "Error" -msgstr "" - -#: src/components/forms/fields/RelatedModelField.tsx:305 +#: src/components/forms/fields/RelatedModelField.tsx:315 #: src/pages/Index/Settings/UserSettings.tsx:64 #: src/tables/Search.tsx:23 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:306 +#: src/components/forms/fields/RelatedModelField.tsx:316 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:120 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:308 +#: src/components/forms/fields/RelatedModelField.tsx:318 msgid "No results found" msgstr "" @@ -545,54 +589,51 @@ msgstr "" msgid "Thumbnail" msgstr "" -#: src/components/items/ActionDropdown.tsx:112 -#: src/pages/build/BuildDetail.tsx:354 +#: src/components/items/ActionDropdown.tsx:119 +#: src/pages/build/BuildDetail.tsx:360 msgid "Barcode Actions" msgstr "" -#: src/components/items/ActionDropdown.tsx:129 +#: src/components/items/ActionDropdown.tsx:136 msgid "View" msgstr "" -#: src/components/items/ActionDropdown.tsx:130 +#: src/components/items/ActionDropdown.tsx:137 msgid "View barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:146 +#: src/components/items/ActionDropdown.tsx:153 msgid "Link Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:147 +#: src/components/items/ActionDropdown.tsx:154 msgid "Link custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:163 -#: src/forms/PurchaseOrderForms.tsx:375 +#: src/components/items/ActionDropdown.tsx:170 +#: src/forms/PurchaseOrderForms.tsx:389 msgid "Unlink Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:164 +#: src/components/items/ActionDropdown.tsx:171 msgid "Unlink custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:182 +#: src/components/items/ActionDropdown.tsx:189 #: src/tables/RowActions.tsx:51 -#: src/tables/settings/TemplateTable.tsx:87 -#: src/tables/settings/TemplateTable.tsx:150 -#: src/tables/settings/TemplateTable.tsx:287 msgid "Edit" msgstr "" -#: src/components/items/ActionDropdown.tsx:204 +#: src/components/items/ActionDropdown.tsx:211 msgid "Delete item" msgstr "" -#: src/components/items/ActionDropdown.tsx:241 +#: src/components/items/ActionDropdown.tsx:248 #: src/tables/RowActions.tsx:31 msgid "Duplicate" msgstr "" -#: src/components/items/ActionDropdown.tsx:242 +#: src/components/items/ActionDropdown.tsx:249 msgid "Duplicate item" msgstr "" @@ -601,7 +642,7 @@ msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:437 +#: src/tables/InvenTreeTable.tsx:443 msgid "Unknown error" msgstr "" @@ -761,27 +802,27 @@ msgstr "" #: src/components/modals/QrCodeModal.tsx:154 #: src/defaults/menuItems.tsx:21 -#: src/pages/Index/Scan.tsx:747 +#: src/pages/Index/Scan.tsx:746 msgid "Scanning" msgstr "" #: src/components/modals/QrCodeModal.tsx:154 -#: src/pages/Index/Scan.tsx:747 +#: src/pages/Index/Scan.tsx:746 msgid "Not scanning" msgstr "" #: src/components/modals/QrCodeModal.tsx:159 -#: src/pages/Index/Scan.tsx:753 +#: src/pages/Index/Scan.tsx:752 msgid "Select Camera" msgstr "" #: src/components/modals/QrCodeModal.tsx:169 -#: src/pages/Index/Scan.tsx:738 +#: src/pages/Index/Scan.tsx:737 msgid "Start scanning" msgstr "" #: src/components/modals/QrCodeModal.tsx:176 -#: src/pages/Index/Scan.tsx:730 +#: src/pages/Index/Scan.tsx:729 msgid "Stop scanning" msgstr "" @@ -867,8 +908,8 @@ msgid "Email settings not configured" msgstr "" #: src/components/modals/ServerInfoModal.tsx:121 -#: src/tables/plugin/PluginListTable.tsx:187 -#: src/tables/plugin/PluginListTable.tsx:319 +#: src/tables/plugin/PluginListTable.tsx:144 +#: src/tables/plugin/PluginListTable.tsx:294 msgid "Version" msgstr "" @@ -902,13 +943,13 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:293 +#: src/pages/Index/Settings/SystemSettings.tsx:294 msgid "System Settings" msgstr "" #: src/components/nav/MainMenu.tsx:67 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:172 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 msgid "Admin Center" msgstr "" @@ -943,7 +984,7 @@ msgid "Pages" msgstr "" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:133 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:153 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "" @@ -981,9 +1022,9 @@ msgid "Mark as read" msgstr "" #: src/components/nav/PartCategoryTree.tsx:158 -#: src/components/render/ModelType.tsx:60 +#: src/components/render/ModelType.tsx:64 #: src/pages/Index/Settings/SystemSettings.tsx:162 -#: src/pages/part/CategoryDetail.tsx:248 +#: src/pages/part/CategoryDetail.tsx:249 msgid "Part Categories" msgstr "" @@ -1020,142 +1061,147 @@ msgid "No results available for search query" msgstr "" #: src/components/nav/StockLocationTree.tsx:93 -#: src/components/render/ModelType.tsx:76 -#: src/pages/stock/LocationDetail.tsx:175 +#: src/components/render/ModelType.tsx:82 +#: src/pages/stock/LocationDetail.tsx:185 msgid "Stock Locations" msgstr "" -#: src/components/render/Instance.tsx:137 +#: src/components/render/Instance.tsx:166 msgid "Unknown model: {model}" msgstr "" -#: src/components/render/ModelType.tsx:21 -#: src/forms/BuildForms.tsx:184 -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49 +#: src/components/render/ModelType.tsx:22 +#: src/forms/BuildForms.tsx:201 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:83 #: src/pages/part/PartDetail.tsx:828 #: src/tables/part/RelatedPartTable.tsx:45 +#: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" msgstr "" -#: src/components/render/ModelType.tsx:22 +#: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 #: src/pages/Index/Settings/SystemSettings.tsx:167 -#: src/pages/part/CategoryDetail.tsx:109 -#: src/pages/part/CategoryDetail.tsx:234 -#: src/pages/part/CategoryDetail.tsx:264 -#: src/pages/part/PartDetail.tsx:638 +#: src/pages/part/CategoryDetail.tsx:110 +#: src/pages/part/CategoryDetail.tsx:235 +#: src/pages/part/CategoryDetail.tsx:265 +#: src/pages/part/PartDetail.tsx:639 msgid "Parts" msgstr "" -#: src/components/render/ModelType.tsx:29 +#: src/components/render/ModelType.tsx:31 msgid "Part Parameter Template" msgstr "" -#: src/components/render/ModelType.tsx:30 +#: src/components/render/ModelType.tsx:32 msgid "Part Parameter Templates" msgstr "" -#: src/components/render/ModelType.tsx:36 +#: src/components/render/ModelType.tsx:38 msgid "Part Test Template" msgstr "" -#: src/components/render/ModelType.tsx:37 +#: src/components/render/ModelType.tsx:39 msgid "Part Test Templates" msgstr "" -#: src/components/render/ModelType.tsx:43 -#: src/pages/company/SupplierPartDetail.tsx:189 -#: src/pages/company/SupplierPartDetail.tsx:317 -#: src/pages/stock/StockDetail.tsx:159 +#: src/components/render/ModelType.tsx:45 +#: src/pages/company/SupplierPartDetail.tsx:190 +#: src/pages/company/SupplierPartDetail.tsx:318 +#: src/pages/stock/StockDetail.tsx:162 #: src/tables/purchasing/SupplierPartTable.tsx:68 msgid "Supplier Part" msgstr "" -#: src/components/render/ModelType.tsx:44 +#: src/components/render/ModelType.tsx:46 msgid "Supplier Parts" msgstr "" -#: src/components/render/ModelType.tsx:51 -#: src/pages/company/ManufacturerPartDetail.tsx:124 +#: src/components/render/ModelType.tsx:54 +#: src/pages/company/ManufacturerPartDetail.tsx:125 msgid "Manufacturer Part" msgstr "" -#: src/components/render/ModelType.tsx:52 +#: src/components/render/ModelType.tsx:55 msgid "Manufacturer Parts" msgstr "" -#: src/components/render/ModelType.tsx:59 -#: src/pages/part/CategoryDetail.tsx:287 +#: src/components/render/ModelType.tsx:63 +#: src/pages/part/CategoryDetail.tsx:288 msgid "Part Category" msgstr "" -#: src/components/render/ModelType.tsx:67 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67 -#: src/pages/stock/StockDetail.tsx:535 +#: src/components/render/ModelType.tsx:72 +#: src/pages/stock/StockDetail.tsx:548 +#: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" msgstr "" -#: src/components/render/ModelType.tsx:68 -#: src/pages/company/CompanyDetail.tsx:197 -#: src/pages/stock/LocationDetail.tsx:116 -#: src/pages/stock/LocationDetail.tsx:161 +#: src/components/render/ModelType.tsx:73 +#: src/pages/company/CompanyDetail.tsx:199 +#: src/pages/stock/LocationDetail.tsx:118 +#: src/pages/stock/LocationDetail.tsx:171 #: src/pages/stock/LocationDetail.tsx:365 msgid "Stock Items" msgstr "" -#: src/components/render/ModelType.tsx:75 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:154 +#: src/components/render/ModelType.tsx:81 msgid "Stock Location" msgstr "" -#: src/components/render/ModelType.tsx:83 +#: src/components/render/ModelType.tsx:90 +msgid "Stock Location Type" +msgstr "" + +#: src/components/render/ModelType.tsx:91 +msgid "Stock Location Types" +msgstr "" + +#: src/components/render/ModelType.tsx:95 msgid "Stock History" msgstr "" -#: src/components/render/ModelType.tsx:84 +#: src/components/render/ModelType.tsx:96 msgid "Stock Histories" msgstr "" -#: src/components/render/ModelType.tsx:88 +#: src/components/render/ModelType.tsx:100 #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:43 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:126 msgid "Build" msgstr "" -#: src/components/render/ModelType.tsx:89 +#: src/components/render/ModelType.tsx:101 msgid "Builds" msgstr "" -#: src/components/render/ModelType.tsx:96 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:76 +#: src/components/render/ModelType.tsx:109 msgid "Build Line" msgstr "" -#: src/components/render/ModelType.tsx:97 +#: src/components/render/ModelType.tsx:110 msgid "Build Lines" msgstr "" -#: src/components/render/ModelType.tsx:104 -#: src/pages/company/CompanyDetail.tsx:321 +#: src/components/render/ModelType.tsx:117 +#: src/pages/company/CompanyDetail.tsx:323 msgid "Company" msgstr "" -#: src/components/render/ModelType.tsx:105 +#: src/components/render/ModelType.tsx:118 msgid "Companies" msgstr "" -#: src/components/render/ModelType.tsx:112 +#: src/components/render/ModelType.tsx:126 #: src/tables/TableHoverCard.tsx:58 #: src/tables/build/BuildOrderTable.tsx:131 #: src/tables/purchasing/PurchaseOrderTable.tsx:64 @@ -1164,170 +1210,199 @@ msgstr "" msgid "Project Code" msgstr "" -#: src/components/render/ModelType.tsx:113 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:97 +#: src/components/render/ModelType.tsx:127 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:105 msgid "Project Codes" msgstr "" -#: src/components/render/ModelType.tsx:119 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99 +#: src/components/render/ModelType.tsx:133 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:355 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:362 +#: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" msgstr "" -#: src/components/render/ModelType.tsx:120 -#: src/pages/Index/Settings/SystemSettings.tsx:242 -#: src/pages/company/CompanyDetail.tsx:190 -#: src/pages/company/SupplierPartDetail.tsx:223 -#: src/pages/part/PartDetail.tsx:571 +#: src/components/render/ModelType.tsx:134 +#: src/pages/Index/Settings/SystemSettings.tsx:243 +#: src/pages/company/CompanyDetail.tsx:192 +#: src/pages/company/SupplierPartDetail.tsx:224 +#: src/pages/part/PartDetail.tsx:572 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" -#: src/components/render/ModelType.tsx:127 +#: src/components/render/ModelType.tsx:142 msgid "Purchase Order Line" msgstr "" -#: src/components/render/ModelType.tsx:128 +#: src/components/render/ModelType.tsx:143 msgid "Purchase Order Lines" msgstr "" -#: src/components/render/ModelType.tsx:132 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:108 +#: src/components/render/ModelType.tsx:147 #: src/pages/build/BuildDetail.tsx:131 -#: src/pages/sales/SalesOrderDetail.tsx:340 -#: src/pages/stock/StockDetail.tsx:207 +#: src/pages/sales/SalesOrderDetail.tsx:347 +#: src/pages/stock/StockDetail.tsx:210 +#: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" msgstr "" -#: src/components/render/ModelType.tsx:133 -#: src/pages/Index/Settings/SystemSettings.tsx:257 -#: src/pages/company/CompanyDetail.tsx:210 -#: src/pages/part/PartDetail.tsx:577 +#: src/components/render/ModelType.tsx:148 +#: src/pages/Index/Settings/SystemSettings.tsx:258 +#: src/pages/company/CompanyDetail.tsx:212 +#: src/pages/part/PartDetail.tsx:578 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" -#: src/components/render/ModelType.tsx:140 +#: src/components/render/ModelType.tsx:156 msgid "Sales Order Shipment" msgstr "" -#: src/components/render/ModelType.tsx:141 +#: src/components/render/ModelType.tsx:157 msgid "Sales Order Shipments" msgstr "" -#: src/components/render/ModelType.tsx:147 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:117 -#: src/pages/sales/ReturnOrderDetail.tsx:318 +#: src/components/render/ModelType.tsx:163 +#: src/pages/sales/ReturnOrderDetail.tsx:325 +#: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "" -#: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:272 -#: src/pages/company/CompanyDetail.tsx:217 +#: src/components/render/ModelType.tsx:164 +#: src/pages/Index/Settings/SystemSettings.tsx:273 +#: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" msgstr "" -#: src/components/render/ModelType.tsx:155 +#: src/components/render/ModelType.tsx:172 #: src/tables/company/AddressTable.tsx:47 msgid "Address" msgstr "" -#: src/components/render/ModelType.tsx:156 -#: src/pages/company/CompanyDetail.tsx:247 +#: src/components/render/ModelType.tsx:173 +#: src/pages/company/CompanyDetail.tsx:249 msgid "Addresses" msgstr "" -#: src/components/render/ModelType.tsx:162 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:189 -#: src/pages/sales/ReturnOrderDetail.tsx:157 -#: src/pages/sales/SalesOrderDetail.tsx:161 +#: src/components/render/ModelType.tsx:179 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:191 +#: src/pages/sales/ReturnOrderDetail.tsx:159 +#: src/pages/sales/SalesOrderDetail.tsx:163 msgid "Contact" msgstr "" -#: src/components/render/ModelType.tsx:163 -#: src/pages/company/CompanyDetail.tsx:241 +#: src/components/render/ModelType.tsx:180 +#: src/pages/company/CompanyDetail.tsx:243 msgid "Contacts" msgstr "" -#: src/components/render/ModelType.tsx:169 +#: src/components/render/ModelType.tsx:186 msgid "Owner" msgstr "" -#: src/components/render/ModelType.tsx:170 +#: src/components/render/ModelType.tsx:187 msgid "Owners" msgstr "" -#: src/components/render/ModelType.tsx:176 +#: src/components/render/ModelType.tsx:193 +#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "" -#: src/components/render/ModelType.tsx:177 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:73 +#: src/components/render/ModelType.tsx:194 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:81 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "" -#: src/components/render/Order.tsx:87 +#: src/components/render/ModelType.tsx:200 +msgid "Label Template" +msgstr "" + +#: src/components/render/ModelType.tsx:201 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:135 +msgid "Label Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:207 +msgid "Report Template" +msgstr "" + +#: src/components/render/ModelType.tsx:208 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:141 +msgid "Report Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:214 +msgid "Plugin Configuration" +msgstr "" + +#: src/components/render/ModelType.tsx:215 +msgid "Plugin Configurations" +msgstr "" + +#: src/components/render/Order.tsx:104 msgid "Shipment" msgstr "" -#: src/components/render/Part.tsx:12 +#: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:198 -#: src/pages/part/PartDetail.tsx:491 +#: src/pages/Index/Settings/SystemSettings.tsx:199 +#: src/pages/part/PartDetail.tsx:492 #: src/pages/stock/LocationDetail.tsx:344 -#: src/pages/stock/StockDetail.tsx:344 +#: src/pages/stock/StockDetail.tsx:352 #: src/tables/stock/StockItemTable.tsx:57 msgid "Stock" msgstr "" -#: src/components/render/Stock.tsx:26 -#: src/pages/stock/StockDetail.tsx:142 -#: src/pages/stock/StockDetail.tsx:501 +#: src/components/render/Stock.tsx:52 +#: src/pages/stock/StockDetail.tsx:145 +#: src/pages/stock/StockDetail.tsx:514 msgid "Serial Number" msgstr "" -#: src/components/render/Stock.tsx:28 -#: src/forms/BuildForms.tsx:189 +#: src/components/render/Stock.tsx:54 +#: src/forms/BuildForms.tsx:206 #: src/pages/part/pricing/BomPricingPanel.tsx:144 -#: src/pages/part/pricing/PriceBreakPanel.tsx:96 -#: src/pages/stock/StockDetail.tsx:137 -#: src/pages/stock/StockDetail.tsx:507 +#: src/pages/part/pricing/PriceBreakPanel.tsx:94 +#: src/pages/stock/StockDetail.tsx:140 +#: src/pages/stock/StockDetail.tsx:520 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:73 +#: src/tables/stock/StockTrackingTable.tsx:59 msgid "Quantity" msgstr "" -#: src/components/settings/SettingItem.tsx:46 -#: src/components/settings/SettingItem.tsx:99 -msgid "Setting updated" -msgstr "" - #: src/components/settings/SettingItem.tsx:47 #: src/components/settings/SettingItem.tsx:100 -msgid "{0} updated successfully" -msgstr "" +#~ msgid "{0} updated successfully" +#~ msgstr "" -#: src/components/settings/SettingItem.tsx:55 -msgid "Error editing setting" -msgstr "" - -#: src/components/settings/SettingItem.tsx:92 +#: src/components/settings/SettingList.tsx:67 msgid "Edit Setting" msgstr "" -#: src/components/settings/SettingList.tsx:63 -msgid "No settings specified" +#: src/components/settings/SettingList.tsx:78 +#: src/components/settings/SettingList.tsx:108 +msgid "Setting {0} updated successfully" msgstr "" -#: src/components/tables/ColumnRenderers.tsx:134 -#~ msgid "Shipment Date" -#~ msgstr "" +#: src/components/settings/SettingList.tsx:107 +msgid "Setting updated" +msgstr "" + +#: src/components/settings/SettingList.tsx:117 +msgid "Error editing setting" +msgstr "" + +#: src/components/settings/SettingList.tsx:158 +msgid "No settings specified" +msgstr "" #: src/components/tables/FilterGroup.tsx:29 #~ msgid "Add table filter" @@ -1695,10 +1770,6 @@ msgstr "" #~ msgid "This is a test filter" #~ msgstr "" -#: src/components/tables/stock/StockLocationTable.tsx:91 -#~ msgid "Location Type" -#~ msgstr "" - #: src/components/tables/stock/StockLocationTable.tsx:145 #~ msgid "Stock location updated" #~ msgstr "" @@ -2028,7 +2099,7 @@ msgid "Current News" msgstr "" #: src/defaults/links.tsx:11 -#: src/pages/company/CompanyDetail.tsx:90 +#: src/pages/company/CompanyDetail.tsx:92 msgid "Website" msgstr "" @@ -2043,10 +2114,10 @@ msgstr "" #: src/defaults/links.tsx:31 #: src/defaults/menuItems.tsx:48 #: src/pages/company/ManufacturerDetail.tsx:9 -#: src/pages/company/ManufacturerPartDetail.tsx:231 +#: src/pages/company/ManufacturerPartDetail.tsx:235 #: src/pages/company/SupplierDetail.tsx:9 -#: src/pages/company/SupplierPartDetail.tsx:291 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:358 +#: src/pages/company/SupplierPartDetail.tsx:292 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:365 #: src/pages/purchasing/PurchasingIndex.tsx:52 msgid "Purchasing" msgstr "" @@ -2054,15 +2125,15 @@ msgstr "" #: src/defaults/links.tsx:32 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:323 +#: src/pages/sales/ReturnOrderDetail.tsx:330 #: src/pages/sales/SalesIndex.tsx:45 -#: src/pages/sales/SalesOrderDetail.tsx:345 +#: src/pages/sales/SalesOrderDetail.tsx:352 msgid "Sales" msgstr "" #: src/defaults/links.tsx:35 #: src/defaults/menuItems.tsx:71 -#: src/pages/Index/Playground.tsx:239 +#: src/pages/Index/Playground.tsx:238 msgid "Playground" msgstr "" @@ -2132,87 +2203,83 @@ msgid "View for interactive scanning and multiple actions." msgstr "" #: src/forms/AttachmentForms.tsx:57 -msgid "Add File" -msgstr "" +#~ msgid "Add File" +#~ msgstr "" #: src/forms/AttachmentForms.tsx:57 -msgid "Add Link" -msgstr "" +#~ msgid "Add Link" +#~ msgstr "" #: src/forms/AttachmentForms.tsx:58 -msgid "File added" -msgstr "" +#~ msgid "File added" +#~ msgstr "" #: src/forms/AttachmentForms.tsx:58 -msgid "Link added" -msgstr "" +#~ msgid "Link added" +#~ msgstr "" #: src/forms/AttachmentForms.tsx:99 -msgid "Edit File" -msgstr "" +#~ msgid "Edit File" +#~ msgstr "" #: src/forms/AttachmentForms.tsx:99 -msgid "Edit Link" -msgstr "" +#~ msgid "Edit Link" +#~ msgstr "" #: src/forms/AttachmentForms.tsx:100 -msgid "File updated" -msgstr "" +#~ msgid "File updated" +#~ msgstr "" #: src/forms/AttachmentForms.tsx:100 -msgid "Link updated" -msgstr "" - -#: src/forms/AttachmentForms.tsx:124 -msgid "Delete Attachment" -msgstr "" +#~ msgid "Link updated" +#~ msgstr "" #: src/forms/AttachmentForms.tsx:125 -msgid "Attachment deleted" -msgstr "" +#~ msgid "Attachment deleted" +#~ msgstr "" #: src/forms/AttachmentForms.tsx:128 -msgid "Are you sure you want to delete this attachment?" -msgstr "" +#~ msgid "Are you sure you want to delete this attachment?" +#~ msgstr "" -#: src/forms/BuildForms.tsx:129 +#: src/forms/BuildForms.tsx:146 msgid "Next serial number" msgstr "" -#: src/forms/BuildForms.tsx:133 +#: src/forms/BuildForms.tsx:150 msgid "Latest serial number" msgstr "" -#: src/forms/BuildForms.tsx:205 +#: src/forms/BuildForms.tsx:222 msgid "Remove output" msgstr "" -#: src/forms/BuildForms.tsx:287 +#: src/forms/BuildForms.tsx:304 msgid "Complete Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:291 +#: src/forms/BuildForms.tsx:308 msgid "Build outputs have been completed" msgstr "" -#: src/forms/BuildForms.tsx:360 +#: src/forms/BuildForms.tsx:377 msgid "Scrap Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:364 +#: src/forms/BuildForms.tsx:381 msgid "Build outputs have been scrapped" msgstr "" -#: src/forms/BuildForms.tsx:396 -#: src/forms/BuildForms.tsx:420 +#: src/forms/BuildForms.tsx:413 +#: src/forms/BuildForms.tsx:437 msgid "Cancel Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:397 +#: src/forms/BuildForms.tsx:414 msgid "Selected build outputs will be deleted" msgstr "" -#: src/forms/BuildForms.tsx:424 +#: src/forms/BuildForms.tsx:441 msgid "Build outputs have been cancelled" msgstr "" @@ -2236,76 +2303,76 @@ msgstr "" #~ msgid "Part updated" #~ msgstr "" -#: src/forms/PurchaseOrderForms.tsx:265 +#: src/forms/PurchaseOrderForms.tsx:279 msgid "Choose Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:273 +#: src/forms/PurchaseOrderForms.tsx:287 msgid "Item Destination selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:282 +#: src/forms/PurchaseOrderForms.tsx:296 msgid "Part category default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:292 +#: src/forms/PurchaseOrderForms.tsx:306 msgid "Received stock location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:297 +#: src/forms/PurchaseOrderForms.tsx:311 msgid "Default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:308 -#: src/forms/PurchaseOrderForms.tsx:384 +#: src/forms/PurchaseOrderForms.tsx:322 +#: src/forms/PurchaseOrderForms.tsx:398 msgid "Scan Barcode" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:352 +#: src/forms/PurchaseOrderForms.tsx:366 msgid "Set Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:359 +#: src/forms/PurchaseOrderForms.tsx:373 msgid "Assign Batch Code{0}" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:368 +#: src/forms/PurchaseOrderForms.tsx:382 msgid "Change Status" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:393 -#: src/forms/StockForms.tsx:351 +#: src/forms/PurchaseOrderForms.tsx:407 +#: src/forms/StockForms.tsx:392 msgid "Remove item from list" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:418 -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:58 -#: src/pages/stock/StockDetail.tsx:167 -#: src/tables/ColumnRenderers.tsx:42 +#: src/forms/PurchaseOrderForms.tsx:432 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/pages/stock/StockDetail.tsx:170 +#: src/tables/ColumnRenderers.tsx:34 +#: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:434 +#: src/forms/PurchaseOrderForms.tsx:448 msgid "Store at default location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:447 +#: src/forms/PurchaseOrderForms.tsx:461 msgid "Store at line item destination" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:457 +#: src/forms/PurchaseOrderForms.tsx:471 msgid "Store with already received stock" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:613 +#: src/forms/PurchaseOrderForms.tsx:627 msgid "Receive Line Items" msgstr "" @@ -2313,119 +2380,118 @@ msgstr "" #~ msgid "Receive line items" #~ msgstr "" -#: src/forms/StockForms.tsx:69 +#: src/forms/StockForms.tsx:101 msgid "Add given quantity as packs instead of individual items" msgstr "" -#: src/forms/StockForms.tsx:80 -msgid "Enter initial quantity for this stock item" -msgstr "" - -#: src/forms/StockForms.tsx:85 -msgid "Serial Numbers" -msgstr "" - -#: src/forms/StockForms.tsx:86 -msgid "Enter serial numbers for new stock (or leave blank)" -msgstr "" - #: src/forms/StockForms.tsx:110 #~ msgid "Create Stock Item" #~ msgstr "" -#: src/forms/StockForms.tsx:135 -#: src/pages/stock/StockDetail.tsx:367 -#: src/tables/stock/StockItemTable.tsx:382 -#: src/tables/stock/StockItemTable.tsx:499 -msgid "Add Stock Item" +#: src/forms/StockForms.tsx:114 +msgid "Enter initial quantity for this stock item" +msgstr "" + +#: src/forms/StockForms.tsx:121 +msgid "Serial Numbers" +msgstr "" + +#: src/forms/StockForms.tsx:122 +msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" #: src/forms/StockForms.tsx:158 #~ msgid "Stock item updated" #~ msgstr "" -#: src/forms/StockForms.tsx:298 +#: src/forms/StockForms.tsx:176 +#: src/pages/stock/StockDetail.tsx:375 +#: src/tables/stock/StockItemTable.tsx:382 +#: src/tables/stock/StockItemTable.tsx:499 +msgid "Add Stock Item" +msgstr "" + +#: src/forms/StockForms.tsx:339 msgid "Loading..." msgstr "" -#: src/forms/StockForms.tsx:340 +#: src/forms/StockForms.tsx:381 msgid "Move to default location" msgstr "" -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/part/PartDetail.tsx:205 -#: src/pages/part/PartDetail.tsx:654 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/pages/part/PartDetail.tsx:206 +#: src/pages/part/PartDetail.tsx:655 #: src/tables/stock/StockItemTable.tsx:290 msgid "In Stock" msgstr "" -#: src/forms/StockForms.tsx:408 +#: src/forms/StockForms.tsx:449 msgid "Move" msgstr "" -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/tables/RowActions.tsx:147 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/tables/RowActions.tsx:149 msgid "Actions" msgstr "" -#: src/forms/StockForms.tsx:471 -#: src/pages/stock/StockDetail.tsx:440 -#: src/tables/settings/TemplateTable.tsx:266 -#: src/tables/stock/StockItemTestResultTable.tsx:348 +#: src/forms/StockForms.tsx:512 +#: src/pages/stock/StockDetail.tsx:454 +#: src/tables/stock/StockItemTestResultTable.tsx:339 msgid "Add" msgstr "" -#: src/forms/StockForms.tsx:499 +#: src/forms/StockForms.tsx:540 #: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:430 +#: src/pages/stock/StockDetail.tsx:444 msgid "Count" msgstr "" -#: src/forms/StockForms.tsx:744 +#: src/forms/StockForms.tsx:785 msgid "Add Stock" msgstr "" -#: src/forms/StockForms.tsx:753 +#: src/forms/StockForms.tsx:794 msgid "Remove Stock" msgstr "" -#: src/forms/StockForms.tsx:762 -#: src/pages/part/PartDetail.tsx:781 +#: src/forms/StockForms.tsx:803 +#: src/pages/part/PartDetail.tsx:782 msgid "Transfer Stock" msgstr "" -#: src/forms/StockForms.tsx:771 -#: src/pages/part/PartDetail.tsx:770 +#: src/forms/StockForms.tsx:812 +#: src/pages/part/PartDetail.tsx:771 msgid "Count Stock" msgstr "" -#: src/forms/StockForms.tsx:780 +#: src/forms/StockForms.tsx:821 msgid "Change Stock Status" msgstr "" -#: src/forms/StockForms.tsx:789 +#: src/forms/StockForms.tsx:830 msgid "Merge Stock" msgstr "" -#: src/forms/StockForms.tsx:808 +#: src/forms/StockForms.tsx:849 msgid "Delete Stock Items" msgstr "" -#: src/forms/StockForms.tsx:815 +#: src/forms/StockForms.tsx:856 msgid "Parent stock location" msgstr "" @@ -2612,7 +2678,7 @@ msgstr "" msgid "Welcome to your Dashboard{0}" msgstr "" -#: src/pages/Index/Playground.tsx:244 +#: src/pages/Index/Playground.tsx:243 msgid "This page is a showcase for the possibilities of Platform UI." msgstr "" @@ -2898,49 +2964,53 @@ msgstr "" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:79 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:87 msgid "Background Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:85 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:93 msgid "Error Reports" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:91 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:99 msgid "Currencies" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:109 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:117 msgid "Custom Units" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:115 -#: src/pages/part/CategoryDetail.tsx:254 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:123 +#: src/pages/part/CategoryDetail.tsx:255 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:121 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 +#~ msgid "Templates" +#~ msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:129 msgid "Category Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 -msgid "Templates" +#: src/pages/Index/Settings/AdminCenter/Index.tsx:147 +msgid "Location types" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:139 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:159 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:149 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:169 msgid "Quick Actions" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:154 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 msgid "Add a new user" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:173 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:193 msgid "Advanced Options" msgstr "" @@ -2985,26 +3055,32 @@ msgstr "" msgid "Plugin Settings" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:25 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:53 +msgid "Background Worker Not Running" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:54 +msgid "The background task manager service is not running. Contact your system administrator." +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:60 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:76 msgid "Pending Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:33 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:64 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:84 msgid "Scheduled Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:41 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:68 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:92 msgid "Failed Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:139 -msgid "Labels" -msgstr "" - #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:39 -msgid "Label" -msgstr "" +#~ msgid "Label" +#~ msgstr "" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67 #~ msgid "Stock item" @@ -3015,13 +3091,13 @@ msgstr "" #~ msgstr "" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:88 -msgid "Reports" -msgstr "" +#~ msgid "Reports" +#~ msgstr "" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:89 #: src/pages/build/BuildDetail.tsx:373 -msgid "Report" -msgstr "" +#~ msgid "Report" +#~ msgstr "" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99 #~ msgid "Purchase order" @@ -3035,14 +3111,9 @@ msgstr "" #~ msgid "Return order" #~ msgstr "" -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135 -#: src/pages/part/PartDetail.tsx:518 -msgid "Bill of Materials" -msgstr "" - #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:145 -msgid "Tests" -msgstr "" +#~ msgid "Tests" +#~ msgstr "" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:154 #~ msgid "Stock location" @@ -3081,26 +3152,30 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "" +#: src/pages/Index/Settings/SystemSettings.tsx:139 +msgid "Labels" +msgstr "" + #: src/pages/Index/Settings/SystemSettings.tsx:145 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:223 -#: src/pages/part/PartDetail.tsx:589 +#: src/pages/Index/Settings/SystemSettings.tsx:224 +#: src/pages/part/PartDetail.tsx:590 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:228 -#: src/pages/build/BuildDetail.tsx:426 +#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:525 -#: src/pages/sales/SalesOrderDetail.tsx:263 +#: src/pages/part/PartDetail.tsx:526 +#: src/pages/sales/SalesOrderDetail.tsx:265 msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:296 +#: src/pages/Index/Settings/SystemSettings.tsx:297 msgid "Switch to User Setting" msgstr "" @@ -3153,44 +3228,47 @@ msgstr "" #~ msgstr "" #: src/pages/build/BuildDetail.tsx:89 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:128 -#: src/pages/sales/ReturnOrderDetail.tsx:95 -#: src/pages/sales/SalesOrderDetail.tsx:99 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:130 +#: src/pages/sales/ReturnOrderDetail.tsx:97 +#: src/pages/sales/SalesOrderDetail.tsx:101 #: src/tables/build/BuildOrderTable.tsx:113 #: src/tables/machine/MachineListTable.tsx:326 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderTable.tsx:46 #: src/tables/sales/SalesOrderTable.tsx:52 #: src/tables/stock/StockItemTable.tsx:259 +#: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "" #: src/pages/build/BuildDetail.tsx:95 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:101 -#: src/pages/sales/ReturnOrderDetail.tsx:69 -#: src/pages/sales/SalesOrderDetail.tsx:73 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:103 +#: src/pages/sales/ReturnOrderDetail.tsx:71 +#: src/pages/sales/SalesOrderDetail.tsx:75 +#: src/tables/ColumnRenderers.tsx:106 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" msgstr "" #: src/pages/build/BuildDetail.tsx:100 -#: src/pages/company/CompanyDetail.tsx:84 -#: src/pages/company/ManufacturerPartDetail.tsx:75 -#: src/pages/company/SupplierPartDetail.tsx:82 -#: src/pages/part/CategoryDetail.tsx:91 -#: src/pages/part/PartDetail.tsx:132 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:122 -#: src/pages/sales/ReturnOrderDetail.tsx:89 -#: src/pages/sales/SalesOrderDetail.tsx:93 -#: src/pages/stock/LocationDetail.tsx:97 -#: src/tables/ColumnRenderers.tsx:95 +#: src/pages/company/CompanyDetail.tsx:86 +#: src/pages/company/ManufacturerPartDetail.tsx:76 +#: src/pages/company/SupplierPartDetail.tsx:83 +#: src/pages/part/CategoryDetail.tsx:92 +#: src/pages/part/PartDetail.tsx:133 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:124 +#: src/pages/sales/ReturnOrderDetail.tsx:91 +#: src/pages/sales/SalesOrderDetail.tsx:95 +#: src/pages/stock/LocationDetail.tsx:99 +#: src/tables/ColumnRenderers.tsx:66 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 #: src/tables/machine/MachineTypeTable.tsx:323 #: src/tables/part/RelatedPartTable.tsx:64 -#: src/tables/plugin/PluginListTable.tsx:172 -#: src/tables/plugin/PluginListTable.tsx:302 +#: src/tables/plugin/PluginListTable.tsx:129 +#: src/tables/plugin/PluginListTable.tsx:276 +#: src/tables/stock/LocationTypesTable.tsx:65 msgid "Description" msgstr "" @@ -3203,7 +3281,7 @@ msgid "Build Quantity" msgstr "" #: src/pages/build/BuildDetail.tsx:126 -#: src/pages/build/BuildDetail.tsx:249 +#: src/pages/build/BuildDetail.tsx:256 msgid "Completed Outputs" msgstr "" @@ -3213,10 +3291,10 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:150 -#: src/pages/part/PartDetail.tsx:320 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:214 -#: src/pages/sales/ReturnOrderDetail.tsx:182 -#: src/pages/sales/SalesOrderDetail.tsx:186 +#: src/pages/part/PartDetail.tsx:321 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:184 +#: src/pages/sales/SalesOrderDetail.tsx:188 #: src/tables/build/BuildOrderTable.tsx:148 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 @@ -3230,10 +3308,10 @@ msgid "Created" msgstr "" #: src/pages/build/BuildDetail.tsx:164 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:207 -#: src/pages/sales/ReturnOrderDetail.tsx:175 -#: src/pages/sales/SalesOrderDetail.tsx:179 -#: src/tables/ColumnRenderers.tsx:227 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:209 +#: src/pages/sales/ReturnOrderDetail.tsx:177 +#: src/pages/sales/SalesOrderDetail.tsx:181 +#: src/tables/ColumnRenderers.tsx:191 msgid "Target Date" msgstr "" @@ -3269,6 +3347,11 @@ msgstr "" #~ msgid "Unlink custom barcode from part" #~ msgstr "" +#: src/pages/build/BuildDetail.tsx:197 +#: src/pages/stock/StockDetail.tsx:526 +msgid "Batch Code" +msgstr "" + #: src/pages/build/BuildDetail.tsx:202 #~ msgid "Build Order updated" #~ msgstr "" @@ -3277,86 +3360,87 @@ msgstr "" #~ msgid "Edit build order" #~ msgstr "" -#: src/pages/build/BuildDetail.tsx:222 -msgid "Build Details" -msgstr "" - #: src/pages/build/BuildDetail.tsx:226 #~ msgid "Duplicate build order" #~ msgstr "" -#: src/pages/build/BuildDetail.tsx:228 -#: src/tables/build/BuildLineTable.tsx:225 -msgid "Allocate Stock" +#: src/pages/build/BuildDetail.tsx:229 +msgid "Build Details" msgstr "" #: src/pages/build/BuildDetail.tsx:231 #~ msgid "Delete build order" #~ msgstr "" -#: src/pages/build/BuildDetail.tsx:242 +#: src/pages/build/BuildDetail.tsx:235 +#: src/tables/build/BuildLineTable.tsx:225 +msgid "Allocate Stock" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:249 msgid "Incomplete Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:264 +#: src/pages/build/BuildDetail.tsx:271 msgid "Consumed Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:278 +#: src/pages/build/BuildDetail.tsx:285 msgid "Child Build Orders" msgstr "" -#: src/pages/build/BuildDetail.tsx:288 -#: src/pages/company/CompanyDetail.tsx:253 -#: src/pages/company/ManufacturerPartDetail.tsx:171 -#: src/pages/part/PartDetail.tsx:611 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:276 -#: src/pages/sales/ReturnOrderDetail.tsx:225 -#: src/pages/sales/SalesOrderDetail.tsx:273 -#: src/pages/stock/StockDetail.tsx:317 +#: src/pages/build/BuildDetail.tsx:295 +#: src/pages/company/CompanyDetail.tsx:255 +#: src/pages/company/ManufacturerPartDetail.tsx:172 +#: src/pages/part/PartDetail.tsx:612 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:278 +#: src/pages/sales/ReturnOrderDetail.tsx:227 +#: src/pages/sales/SalesOrderDetail.tsx:275 +#: src/pages/stock/StockDetail.tsx:325 msgid "Attachments" msgstr "" -#: src/pages/build/BuildDetail.tsx:300 -#: src/pages/company/CompanyDetail.tsx:265 -#: src/pages/part/PartDetail.tsx:623 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:288 -#: src/pages/sales/ReturnOrderDetail.tsx:237 -#: src/pages/sales/SalesOrderDetail.tsx:285 -#: src/pages/stock/StockDetail.tsx:329 +#: src/pages/build/BuildDetail.tsx:307 +#: src/pages/company/CompanyDetail.tsx:267 +#: src/pages/part/PartDetail.tsx:624 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:290 +#: src/pages/sales/ReturnOrderDetail.tsx:239 +#: src/pages/sales/SalesOrderDetail.tsx:287 +#: src/pages/stock/StockDetail.tsx:337 +#: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "" -#: src/pages/build/BuildDetail.tsx:318 +#: src/pages/build/BuildDetail.tsx:325 msgid "Edit Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:327 +#: src/pages/build/BuildDetail.tsx:334 msgid "Cancel Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:339 +#: src/pages/build/BuildDetail.tsx:346 #: src/tables/build/BuildOrderTable.tsx:167 #: src/tables/build/BuildOrderTable.tsx:182 msgid "Add Build Order" msgstr "" #: src/pages/build/BuildDetail.tsx:368 -msgid "Reporting Actions" -msgstr "" +#~ msgid "Reporting Actions" +#~ msgstr "" #: src/pages/build/BuildDetail.tsx:374 -msgid "Print build report" -msgstr "" +#~ msgid "Print build report" +#~ msgstr "" -#: src/pages/build/BuildDetail.tsx:380 +#: src/pages/build/BuildDetail.tsx:378 msgid "Build Order Actions" msgstr "" -#: src/pages/build/BuildDetail.tsx:388 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:326 -#: src/pages/sales/ReturnOrderDetail.tsx:300 -#: src/pages/sales/SalesOrderDetail.tsx:310 +#: src/pages/build/BuildDetail.tsx:386 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:333 +#: src/pages/sales/ReturnOrderDetail.tsx:307 +#: src/pages/sales/SalesOrderDetail.tsx:317 msgid "Cancel order" msgstr "" @@ -3368,56 +3452,58 @@ msgstr "" #~ msgid "New Build Order" #~ msgstr "" -#: src/pages/company/CompanyDetail.tsx:98 +#: src/pages/company/CompanyDetail.tsx:100 msgid "Phone Number" msgstr "" -#: src/pages/company/CompanyDetail.tsx:105 +#: src/pages/company/CompanyDetail.tsx:107 msgid "Email Address" msgstr "" -#: src/pages/company/CompanyDetail.tsx:115 +#: src/pages/company/CompanyDetail.tsx:117 msgid "Default Currency" msgstr "" -#: src/pages/company/CompanyDetail.tsx:120 +#: src/pages/company/CompanyDetail.tsx:122 #: src/pages/company/SupplierDetail.tsx:8 -#: src/pages/company/SupplierPartDetail.tsx:106 -#: src/pages/company/SupplierPartDetail.tsx:192 -#: src/pages/company/SupplierPartDetail.tsx:295 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:116 +#: src/pages/company/SupplierPartDetail.tsx:107 +#: src/pages/company/SupplierPartDetail.tsx:193 +#: src/pages/company/SupplierPartDetail.tsx:296 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:118 #: src/tables/company/CompanyTable.tsx:100 #: src/tables/purchasing/PurchaseOrderTable.tsx:88 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:36 msgid "Supplier" msgstr "" -#: src/pages/company/CompanyDetail.tsx:126 +#: src/pages/company/CompanyDetail.tsx:128 #: src/pages/company/ManufacturerDetail.tsx:8 -#: src/pages/company/ManufacturerPartDetail.tsx:93 -#: src/pages/company/ManufacturerPartDetail.tsx:235 -#: src/pages/company/SupplierPartDetail.tsx:121 +#: src/pages/company/ManufacturerPartDetail.tsx:94 +#: src/pages/company/ManufacturerPartDetail.tsx:239 +#: src/pages/company/SupplierPartDetail.tsx:122 #: src/tables/company/CompanyTable.tsx:105 msgid "Manufacturer" msgstr "" -#: src/pages/company/CompanyDetail.tsx:132 +#: src/pages/company/CompanyDetail.tsx:134 #: src/pages/company/CustomerDetail.tsx:8 #: src/pages/part/pricing/SaleHistoryPanel.tsx:39 -#: src/pages/sales/ReturnOrderDetail.tsx:83 -#: src/pages/sales/SalesOrderDetail.tsx:87 -#: src/pages/stock/StockDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:85 +#: src/pages/sales/SalesOrderDetail.tsx:89 +#: src/pages/stock/StockDetail.tsx:219 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:107 +#: src/tables/stock/StockTrackingTable.tsx:140 msgid "Customer" msgstr "" -#: src/pages/company/CompanyDetail.tsx:166 +#: src/pages/company/CompanyDetail.tsx:168 +#: src/tables/stock/StockTrackingTable.tsx:183 msgid "Details" msgstr "" -#: src/pages/company/CompanyDetail.tsx:172 +#: src/pages/company/CompanyDetail.tsx:174 msgid "Manufactured Parts" msgstr "" @@ -3425,7 +3511,7 @@ msgstr "" #~ msgid "Edit company" #~ msgstr "" -#: src/pages/company/CompanyDetail.tsx:181 +#: src/pages/company/CompanyDetail.tsx:183 msgid "Supplied Parts" msgstr "" @@ -3433,289 +3519,289 @@ msgstr "" #~ msgid "Delete company" #~ msgstr "" -#: src/pages/company/CompanyDetail.tsx:226 +#: src/pages/company/CompanyDetail.tsx:228 msgid "Assigned Stock" msgstr "" -#: src/pages/company/CompanyDetail.tsx:281 +#: src/pages/company/CompanyDetail.tsx:283 #: src/tables/company/CompanyTable.tsx:86 msgid "Edit Company" msgstr "" -#: src/pages/company/CompanyDetail.tsx:290 +#: src/pages/company/CompanyDetail.tsx:292 msgid "Company Actions" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:68 -#: src/pages/company/SupplierPartDetail.tsx:75 +#: src/pages/company/ManufacturerPartDetail.tsx:69 +#: src/pages/company/SupplierPartDetail.tsx:76 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:72 msgid "Internal Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:83 -#: src/pages/company/SupplierPartDetail.tsx:89 +#: src/pages/company/ManufacturerPartDetail.tsx:84 +#: src/pages/company/SupplierPartDetail.tsx:90 msgid "External Link" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:101 -#: src/pages/company/SupplierPartDetail.tsx:130 -#: src/tables/purchasing/ManufacturerPartTable.tsx:53 +#: src/pages/company/ManufacturerPartDetail.tsx:102 +#: src/pages/company/SupplierPartDetail.tsx:131 +#: src/tables/purchasing/ManufacturerPartTable.tsx:56 msgid "Manufacturer Part Number" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:130 +#: src/pages/company/ManufacturerPartDetail.tsx:131 msgid "Manufacturer Details" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:139 +#: src/pages/company/ManufacturerPartDetail.tsx:140 msgid "Manufacturer Part Details" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:145 -#: src/pages/part/PartDetail.tsx:485 +#: src/pages/company/ManufacturerPartDetail.tsx:146 +#: src/pages/part/PartDetail.tsx:486 msgid "Parameters" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:157 -#: src/pages/part/PartDetail.tsx:558 +#: src/pages/company/ManufacturerPartDetail.tsx:158 +#: src/pages/part/PartDetail.tsx:559 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:189 -#: src/tables/purchasing/ManufacturerPartTable.tsx:97 +#: src/pages/company/ManufacturerPartDetail.tsx:190 +#: src/tables/purchasing/ManufacturerPartTable.tsx:84 msgid "Edit Manufacturer Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:196 -#: src/tables/purchasing/ManufacturerPartTable.tsx:63 -#: src/tables/purchasing/ManufacturerPartTable.tsx:78 +#: src/pages/company/ManufacturerPartDetail.tsx:197 +#: src/tables/purchasing/ManufacturerPartTable.tsx:72 +#: src/tables/purchasing/ManufacturerPartTable.tsx:103 msgid "Add Manufacturer Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:209 +#: src/pages/company/ManufacturerPartDetail.tsx:213 msgid "Manufacturer Part Actions" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:247 +#: src/pages/company/ManufacturerPartDetail.tsx:251 msgid "ManufacturerPart" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:96 -#: src/tables/ColumnRenderers.tsx:146 +#: src/pages/company/SupplierPartDetail.tsx:97 +#: src/tables/ColumnRenderers.tsx:117 msgid "Note" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:114 +#: src/pages/company/SupplierPartDetail.tsx:115 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:57 msgid "SKU" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:142 -#: src/pages/company/SupplierPartDetail.tsx:193 -#: src/pages/stock/StockDetail.tsx:230 +#: src/pages/company/SupplierPartDetail.tsx:143 +#: src/pages/company/SupplierPartDetail.tsx:194 +#: src/pages/stock/StockDetail.tsx:233 msgid "Packaging" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:149 +#: src/pages/company/SupplierPartDetail.tsx:150 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:107 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143 #: src/tables/purchasing/SupplierPartTable.tsx:131 msgid "Pack Quantity" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:160 +#: src/pages/company/SupplierPartDetail.tsx:161 msgid "Supplier Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:167 +#: src/pages/company/SupplierPartDetail.tsx:168 msgid "Availability Updated" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:194 +#: src/pages/company/SupplierPartDetail.tsx:195 msgid "Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:203 +#: src/pages/company/SupplierPartDetail.tsx:204 msgid "Supplier Part Details" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:209 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:263 +#: src/pages/company/SupplierPartDetail.tsx:210 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:265 msgid "Received Stock" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:233 +#: src/pages/company/SupplierPartDetail.tsx:234 #: src/pages/part/PartPricingPanel.tsx:115 #: src/pages/part/pricing/PricingOverviewPanel.tsx:130 msgid "Supplier Pricing" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:248 +#: src/pages/company/SupplierPartDetail.tsx:249 msgid "Supplier Part Actions" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:272 +#: src/pages/company/SupplierPartDetail.tsx:273 #: src/tables/purchasing/SupplierPartTable.tsx:210 msgid "Edit Supplier Part" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:279 +#: src/pages/company/SupplierPartDetail.tsx:280 #: src/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "" -#: src/pages/part/CategoryDetail.tsx:83 -#: src/pages/stock/LocationDetail.tsx:89 +#: src/pages/part/CategoryDetail.tsx:84 +#: src/pages/stock/LocationDetail.tsx:91 #: src/tables/settings/ErrorTable.tsx:34 msgid "Path" msgstr "" -#: src/pages/part/CategoryDetail.tsx:99 +#: src/pages/part/CategoryDetail.tsx:100 msgid "Parent Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:116 +#: src/pages/part/CategoryDetail.tsx:117 msgid "Subcategories" msgstr "" -#: src/pages/part/CategoryDetail.tsx:123 -#: src/pages/stock/LocationDetail.tsx:129 -#: src/tables/part/PartCategoryTable.tsx:69 +#: src/pages/part/CategoryDetail.tsx:124 +#: src/pages/stock/LocationDetail.tsx:131 +#: src/tables/part/PartCategoryTable.tsx:65 msgid "Structural" msgstr "" -#: src/pages/part/CategoryDetail.tsx:129 +#: src/pages/part/CategoryDetail.tsx:130 msgid "Parent default location" msgstr "" -#: src/pages/part/CategoryDetail.tsx:136 +#: src/pages/part/CategoryDetail.tsx:137 msgid "Default location" msgstr "" -#: src/pages/part/CategoryDetail.tsx:147 +#: src/pages/part/CategoryDetail.tsx:148 msgid "Top level part category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:157 -#: src/pages/part/CategoryDetail.tsx:211 -#: src/tables/part/PartCategoryTable.tsx:96 +#: src/pages/part/CategoryDetail.tsx:158 +#: src/pages/part/CategoryDetail.tsx:212 +#: src/tables/part/PartCategoryTable.tsx:88 msgid "Edit Part Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:170 -#: src/pages/stock/LocationDetail.tsx:213 +#: src/pages/part/CategoryDetail.tsx:171 +#: src/pages/stock/LocationDetail.tsx:223 msgid "Delete items" msgstr "" -#: src/pages/part/CategoryDetail.tsx:178 -#: src/pages/part/CategoryDetail.tsx:216 +#: src/pages/part/CategoryDetail.tsx:179 +#: src/pages/part/CategoryDetail.tsx:217 msgid "Delete Part Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:181 +#: src/pages/part/CategoryDetail.tsx:182 msgid "Parts Action" msgstr "" -#: src/pages/part/CategoryDetail.tsx:182 +#: src/pages/part/CategoryDetail.tsx:183 msgid "Action for parts in this category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:187 +#: src/pages/part/CategoryDetail.tsx:188 msgid "Child Categories Action" msgstr "" -#: src/pages/part/CategoryDetail.tsx:188 +#: src/pages/part/CategoryDetail.tsx:189 msgid "Action for child categories in this category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:206 +#: src/pages/part/CategoryDetail.tsx:207 msgid "Category Actions" msgstr "" -#: src/pages/part/CategoryDetail.tsx:228 +#: src/pages/part/CategoryDetail.tsx:229 msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:138 +#: src/pages/part/PartDetail.tsx:139 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:145 +#: src/pages/part/PartDetail.tsx:146 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "" -#: src/pages/part/PartDetail.tsx:151 +#: src/pages/part/PartDetail.tsx:152 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:158 +#: src/pages/part/PartDetail.tsx:159 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:165 +#: src/pages/part/PartDetail.tsx:166 msgid "IPN" msgstr "" -#: src/pages/part/PartDetail.tsx:172 +#: src/pages/part/PartDetail.tsx:173 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:179 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39 +#: src/pages/part/PartDetail.tsx:180 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "" -#: src/pages/part/PartDetail.tsx:186 +#: src/pages/part/PartDetail.tsx:187 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:193 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:180 -#: src/pages/sales/ReturnOrderDetail.tsx:148 -#: src/pages/sales/SalesOrderDetail.tsx:152 +#: src/pages/part/PartDetail.tsx:194 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:182 +#: src/pages/sales/ReturnOrderDetail.tsx:150 +#: src/pages/sales/SalesOrderDetail.tsx:154 msgid "Link" msgstr "" -#: src/pages/part/PartDetail.tsx:211 -#: src/tables/bom/BomTable.tsx:269 +#: src/pages/part/PartDetail.tsx:212 +#: src/tables/bom/BomTable.tsx:271 #: src/tables/build/BuildLineTable.tsx:121 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:218 +#: src/pages/part/PartDetail.tsx:219 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:224 -#: src/tables/bom/BomTable.tsx:210 +#: src/pages/part/PartDetail.tsx:225 +#: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:233 +#: src/pages/part/PartDetail.tsx:234 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:241 +#: src/pages/part/PartDetail.tsx:242 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:248 -#: src/tables/bom/BomTable.tsx:234 +#: src/pages/part/PartDetail.tsx:249 +#: src/tables/bom/BomTable.tsx:236 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:255 -#: src/tables/bom/BomTable.tsx:218 +#: src/pages/part/PartDetail.tsx:256 +#: src/tables/bom/BomTable.tsx:220 #: src/tables/part/PartTable.tsx:82 msgid "Building" msgstr "" -#: src/pages/part/PartDetail.tsx:264 +#: src/pages/part/PartDetail.tsx:265 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 @@ -3724,45 +3810,47 @@ msgstr "" #: src/tables/machine/MachineListTable.tsx:585 #: src/tables/part/PartTable.tsx:168 #: src/tables/part/PartVariantTable.tsx:15 -#: src/tables/plugin/PluginListTable.tsx:190 -#: src/tables/plugin/PluginListTable.tsx:638 +#: src/tables/plugin/PluginListTable.tsx:149 +#: src/tables/plugin/PluginListTable.tsx:271 +#: src/tables/plugin/PluginListTable.tsx:563 #: src/tables/purchasing/SupplierPartTable.tsx:98 #: src/tables/purchasing/SupplierPartTable.tsx:187 #: src/tables/stock/StockItemTable.tsx:254 msgid "Active" msgstr "" -#: src/pages/part/PartDetail.tsx:269 +#: src/pages/part/PartDetail.tsx:270 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:274 -#: src/tables/bom/BomTable.tsx:264 +#: src/pages/part/PartDetail.tsx:275 +#: src/tables/bom/BomTable.tsx:266 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:279 +#: src/pages/part/PartDetail.tsx:280 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:284 -#: src/tables/bom/BomTable.tsx:259 +#: src/pages/part/PartDetail.tsx:285 +#: src/tables/bom/BomTable.tsx:261 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:289 +#: src/pages/part/PartDetail.tsx:290 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:294 +#: src/pages/part/PartDetail.tsx:295 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:299 +#: src/pages/part/PartDetail.tsx:300 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:307 +#: src/pages/part/PartDetail.tsx:308 +#: src/tables/ColumnRenderers.tsx:199 msgid "Creation Date" msgstr "" @@ -3770,7 +3858,7 @@ msgstr "" #~ msgid "Edit part" #~ msgstr "" -#: src/pages/part/PartDetail.tsx:312 +#: src/pages/part/PartDetail.tsx:313 msgid "Created By" msgstr "" @@ -3778,68 +3866,72 @@ msgstr "" #~ msgid "Duplicate part" #~ msgstr "" -#: src/pages/part/PartDetail.tsx:327 -msgid "Default Supplier" -msgstr "" - #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "" -#: src/pages/part/PartDetail.tsx:338 +#: src/pages/part/PartDetail.tsx:328 +msgid "Default Supplier" +msgstr "" + +#: src/pages/part/PartDetail.tsx:339 #: src/tables/part/PartTable.tsx:151 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:373 -#: src/pages/stock/StockDetail.tsx:127 +#: src/pages/part/PartDetail.tsx:374 +#: src/pages/stock/StockDetail.tsx:130 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:408 +#: src/pages/part/PartDetail.tsx:409 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:479 +#: src/pages/part/PartDetail.tsx:480 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:505 +#: src/pages/part/PartDetail.tsx:506 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:512 -#: src/pages/stock/StockDetail.tsx:275 +#: src/pages/part/PartDetail.tsx:513 +#: src/pages/stock/StockDetail.tsx:283 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:532 +#: src/pages/part/PartDetail.tsx:519 +msgid "Bill of Materials" +msgstr "" + +#: src/pages/part/PartDetail.tsx:533 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:539 +#: src/pages/part/PartDetail.tsx:540 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:545 +#: src/pages/part/PartDetail.tsx:546 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:584 +#: src/pages/part/PartDetail.tsx:585 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:594 +#: src/pages/part/PartDetail.tsx:595 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:605 +#: src/pages/part/PartDetail.tsx:606 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:660 -#: src/pages/stock/StockDetail.tsx:148 +#: src/pages/part/PartDetail.tsx:661 +#: src/pages/stock/StockDetail.tsx:151 #: src/tables/build/BuildLineTable.tsx:36 #: src/tables/part/PartTable.tsx:107 #: src/tables/stock/StockItemTable.tsx:166 @@ -3847,49 +3939,51 @@ msgstr "" msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:666 +#: src/pages/part/PartDetail.tsx:667 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:672 -#: src/tables/bom/BomTable.tsx:274 +#: src/pages/part/PartDetail.tsx:673 +#: src/tables/bom/BomTable.tsx:276 #: src/tables/part/PartTable.tsx:76 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:678 -#: src/pages/stock/StockDetail.tsx:496 +#: src/pages/part/PartDetail.tsx:679 +#: src/pages/stock/StockDetail.tsx:509 #: src/tables/stock/StockItemTable.tsx:295 msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:697 +#: src/pages/part/PartDetail.tsx:698 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:704 +#: src/pages/part/PartDetail.tsx:705 #: src/tables/part/PartTable.tsx:266 #: src/tables/part/PartTable.tsx:279 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:716 +#: src/pages/part/PartDetail.tsx:717 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:725 +#: src/pages/part/PartDetail.tsx:726 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:763 +#: src/pages/part/PartDetail.tsx:764 +#: src/pages/stock/LocationDetail.tsx:301 +#: src/tables/stock/StockItemTable.tsx:409 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:771 +#: src/pages/part/PartDetail.tsx:772 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:782 +#: src/pages/part/PartDetail.tsx:783 msgid "Transfer part stock" msgstr "" @@ -3951,15 +4045,15 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151 #: src/pages/part/pricing/SupplierPricingPanel.tsx:83 -#: src/tables/bom/BomTable.tsx:149 +#: src/tables/bom/BomTable.tsx:151 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 msgid "Unit Price" msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:173 -#: src/tables/ColumnRenderers.tsx:278 -#: src/tables/bom/BomTable.tsx:158 +#: src/tables/ColumnRenderers.tsx:241 +#: src/tables/bom/BomTable.tsx:160 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 #: src/tables/sales/ReturnOrderTable.tsx:104 #: src/tables/sales/SalesOrderTable.tsx:134 @@ -3981,24 +4075,24 @@ msgid "Bar Chart" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:63 -#: src/pages/part/pricing/PriceBreakPanel.tsx:117 +#: src/pages/part/pricing/PriceBreakPanel.tsx:115 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:138 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:164 msgid "Add Price Break" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:76 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:149 msgid "Edit Price Break" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:86 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:157 msgid "Delete Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:102 -#: src/pages/part/pricing/PriceBreakPanel.tsx:193 +#: src/pages/part/pricing/PriceBreakPanel.tsx:100 +#: src/pages/part/pricing/PriceBreakPanel.tsx:191 msgid "Price Break" msgstr "" @@ -4027,7 +4121,7 @@ msgid "Overall Pricing" msgstr "" #: src/pages/part/pricing/PricingOverviewPanel.tsx:184 -#: src/pages/stock/StockDetail.tsx:121 +#: src/pages/stock/StockDetail.tsx:124 msgid "Last Updated" msgstr "" @@ -4061,9 +4155,8 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50 #: src/pages/part/pricing/SaleHistoryPanel.tsx:46 -#: src/tables/ColumnRenderers.tsx:217 -#: src/tables/plugin/PluginListTable.tsx:182 -#: src/tables/stock/StockItemTestResultTable.tsx:194 +#: src/tables/ColumnRenderers.tsx:180 +#: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" @@ -4090,89 +4183,89 @@ msgstr "" msgid "Variant Part" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:73 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:75 msgid "Edit Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:82 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:84 #: src/tables/purchasing/PurchaseOrderTable.tsx:128 #: src/tables/purchasing/PurchaseOrderTable.tsx:140 msgid "Add Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:107 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:109 msgid "Supplier Reference" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:137 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:252 -#: src/pages/sales/ReturnOrderDetail.tsx:104 -#: src/pages/sales/ReturnOrderDetail.tsx:220 -#: src/pages/sales/SalesOrderDetail.tsx:108 -#: src/pages/sales/SalesOrderDetail.tsx:248 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:139 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:254 +#: src/pages/sales/ReturnOrderDetail.tsx:106 +#: src/pages/sales/ReturnOrderDetail.tsx:222 +#: src/pages/sales/SalesOrderDetail.tsx:110 +#: src/pages/sales/SalesOrderDetail.tsx:250 msgid "Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:144 -#: src/pages/sales/ReturnOrderDetail.tsx:111 -#: src/pages/sales/SalesOrderDetail.tsx:115 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:146 +#: src/pages/sales/ReturnOrderDetail.tsx:113 +#: src/pages/sales/SalesOrderDetail.tsx:117 msgid "Completed Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:152 -#: src/pages/sales/ReturnOrderDetail.tsx:119 -#: src/pages/sales/SalesOrderDetail.tsx:123 -#: src/pages/sales/SalesOrderDetail.tsx:258 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:121 +#: src/pages/sales/SalesOrderDetail.tsx:125 +#: src/pages/sales/SalesOrderDetail.tsx:260 msgid "Completed Shipments" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:159 -#: src/pages/sales/ReturnOrderDetail.tsx:127 -#: src/pages/sales/SalesOrderDetail.tsx:131 -msgid "Order Currency" -msgstr "" - #: src/pages/purchasing/PurchaseOrderDetail.tsx:159 #: src/pages/sales/ReturnOrderDetail.tsx:126 #: src/pages/sales/SalesOrderDetail.tsx:130 #~ msgid "Order Currency," #~ msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:166 -#: src/pages/sales/ReturnOrderDetail.tsx:134 -#: src/pages/sales/SalesOrderDetail.tsx:138 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:161 +#: src/pages/sales/ReturnOrderDetail.tsx:129 +#: src/pages/sales/SalesOrderDetail.tsx:133 +msgid "Order Currency" +msgstr "" + +#: src/pages/purchasing/PurchaseOrderDetail.tsx:168 +#: src/pages/sales/ReturnOrderDetail.tsx:136 +#: src/pages/sales/SalesOrderDetail.tsx:140 msgid "Total Cost" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:201 -#: src/pages/sales/ReturnOrderDetail.tsx:169 -#: src/pages/sales/SalesOrderDetail.tsx:173 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:203 +#: src/pages/sales/ReturnOrderDetail.tsx:171 +#: src/pages/sales/SalesOrderDetail.tsx:175 msgid "Created On" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:246 -#: src/pages/sales/ReturnOrderDetail.tsx:214 -#: src/pages/sales/SalesOrderDetail.tsx:242 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:248 +#: src/pages/sales/ReturnOrderDetail.tsx:216 +#: src/pages/sales/SalesOrderDetail.tsx:244 msgid "Order Details" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:316 -#: src/pages/sales/ReturnOrderDetail.tsx:290 -#: src/pages/sales/SalesOrderDetail.tsx:302 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:323 +#: src/pages/sales/ReturnOrderDetail.tsx:297 +#: src/pages/sales/SalesOrderDetail.tsx:309 msgid "Order Actions" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:75 -#: src/pages/sales/SalesOrderDetail.tsx:79 +#: src/pages/sales/ReturnOrderDetail.tsx:77 +#: src/pages/sales/SalesOrderDetail.tsx:81 #: src/tables/sales/SalesOrderTable.tsx:123 msgid "Customer Reference" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:267 +#: src/pages/sales/ReturnOrderDetail.tsx:269 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:276 +#: src/pages/sales/ReturnOrderDetail.tsx:278 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" @@ -4182,68 +4275,72 @@ msgstr "" msgid "Customers" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:219 +#: src/pages/sales/SalesOrderDetail.tsx:221 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:228 +#: src/pages/sales/SalesOrderDetail.tsx:230 #: src/tables/sales/SalesOrderTable.tsx:83 #: src/tables/sales/SalesOrderTable.tsx:95 msgid "Add Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:253 +#: src/pages/sales/SalesOrderDetail.tsx:255 msgid "Pending Shipments" msgstr "" -#: src/pages/stock/LocationDetail.tsx:105 +#: src/pages/stock/LocationDetail.tsx:107 msgid "Parent Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:123 +#: src/pages/stock/LocationDetail.tsx:125 msgid "Sublocations" msgstr "" -#: src/pages/stock/LocationDetail.tsx:135 +#: src/pages/stock/LocationDetail.tsx:137 msgid "External" msgstr "" -#: src/pages/stock/LocationDetail.tsx:144 +#: src/pages/stock/LocationDetail.tsx:143 +msgid "Location Type" +msgstr "" + +#: src/pages/stock/LocationDetail.tsx:154 msgid "Top level stock location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:155 +#: src/pages/stock/LocationDetail.tsx:165 msgid "Location Details" msgstr "" -#: src/pages/stock/LocationDetail.tsx:181 +#: src/pages/stock/LocationDetail.tsx:191 msgid "Default Parts" msgstr "" -#: src/pages/stock/LocationDetail.tsx:200 +#: src/pages/stock/LocationDetail.tsx:210 #: src/pages/stock/LocationDetail.tsx:328 -#: src/tables/stock/StockLocationTable.tsx:108 +#: src/tables/stock/StockLocationTable.tsx:100 msgid "Edit Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:221 +#: src/pages/stock/LocationDetail.tsx:231 #: src/pages/stock/LocationDetail.tsx:333 msgid "Delete Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:224 +#: src/pages/stock/LocationDetail.tsx:234 msgid "Items Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:225 +#: src/pages/stock/LocationDetail.tsx:235 msgid "Action for stock items in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:230 +#: src/pages/stock/LocationDetail.tsx:240 msgid "Child Locations Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:231 +#: src/pages/stock/LocationDetail.tsx:241 msgid "Action for child locations in this location" msgstr "" @@ -4251,11 +4348,11 @@ msgstr "" msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:100 +#: src/pages/stock/StockDetail.tsx:103 msgid "Base Part" msgstr "" -#: src/pages/stock/StockDetail.tsx:107 +#: src/pages/stock/StockDetail.tsx:110 msgid "Stock Status" msgstr "" @@ -4267,15 +4364,16 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "" -#: src/pages/stock/StockDetail.tsx:174 +#: src/pages/stock/StockDetail.tsx:177 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:190 +#: src/pages/stock/StockDetail.tsx:193 msgid "Consumed By" msgstr "" -#: src/pages/stock/StockDetail.tsx:199 +#: src/pages/stock/StockDetail.tsx:202 +#: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" msgstr "" @@ -4287,78 +4385,78 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "" -#: src/pages/stock/StockDetail.tsx:264 +#: src/pages/stock/StockDetail.tsx:267 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:270 +#: src/pages/stock/StockDetail.tsx:273 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:282 +#: src/pages/stock/StockDetail.tsx:290 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:296 +#: src/pages/stock/StockDetail.tsx:304 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:303 +#: src/pages/stock/StockDetail.tsx:311 msgid "Child Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:358 +#: src/pages/stock/StockDetail.tsx:366 msgid "Edit Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:385 +#: src/pages/stock/StockDetail.tsx:393 msgid "Delete Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:426 -msgid "Stock Operations" -msgstr "" - -#: src/pages/stock/StockDetail.tsx:431 -msgid "Count stock" -msgstr "" - #: src/pages/stock/StockDetail.tsx:433 #~ msgid "Duplicate stock item" #~ msgstr "" -#: src/pages/stock/StockDetail.tsx:441 +#: src/pages/stock/StockDetail.tsx:440 +msgid "Stock Operations" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:445 +msgid "Count stock" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:455 #: src/tables/stock/StockItemTable.tsx:414 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:449 +#: src/pages/stock/StockDetail.tsx:463 #: src/tables/stock/StockItemTable.tsx:423 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:456 +#: src/pages/stock/StockDetail.tsx:470 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:457 +#: src/pages/stock/StockDetail.tsx:471 #: src/tables/stock/StockItemTable.tsx:443 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:469 +#: src/pages/stock/StockDetail.tsx:482 msgid "Stock Item Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:513 -msgid "Batch Code" -msgstr "" - -#: src/tables/ColumnRenderers.tsx:50 +#: src/tables/ColumnRenderers.tsx:42 msgid "No location set" msgstr "" -#: src/tables/ColumnRenderers.tsx:264 +#: src/tables/ColumnRenderers.tsx:207 +msgid "Shipment Date" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:227 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "" @@ -4368,20 +4466,32 @@ msgstr "" msgid "Select Columns" msgstr "" -#: src/tables/DownloadAction.tsx:11 +#: src/tables/DownloadAction.tsx:13 +#~ msgid "Excel" +#~ msgstr "" + +#: src/tables/DownloadAction.tsx:21 +#~ msgid "Download selected data" +#~ msgstr "" + +#: src/tables/DownloadAction.tsx:22 msgid "CSV" msgstr "" -#: src/tables/DownloadAction.tsx:12 +#: src/tables/DownloadAction.tsx:23 msgid "TSV" msgstr "" -#: src/tables/DownloadAction.tsx:13 -msgid "Excel" +#: src/tables/DownloadAction.tsx:24 +msgid "Excel (.xls)" msgstr "" -#: src/tables/DownloadAction.tsx:21 -msgid "Download selected data" +#: src/tables/DownloadAction.tsx:25 +msgid "Excel (.xlsx)" +msgstr "" + +#: src/tables/DownloadAction.tsx:39 +msgid "Download Data" msgstr "" #: src/tables/Filter.tsx:88 @@ -4415,102 +4525,102 @@ msgstr "" msgid "Remove filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:147 +#: src/tables/FilterSelectDrawer.tsx:136 msgid "Select filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:148 +#: src/tables/FilterSelectDrawer.tsx:137 msgid "Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:155 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:33 -#: src/tables/stock/StockItemTestResultTable.tsx:182 +#: src/tables/FilterSelectDrawer.tsx:144 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 +#: src/tables/stock/StockItemTestResultTable.tsx:180 msgid "Value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:156 +#: src/tables/FilterSelectDrawer.tsx:145 msgid "Select filter value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:196 +#: src/tables/FilterSelectDrawer.tsx:185 msgid "Table Filters" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:228 +#: src/tables/FilterSelectDrawer.tsx:217 msgid "Add Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:237 +#: src/tables/FilterSelectDrawer.tsx:226 msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:118 -#: src/tables/InvenTreeTable.tsx:384 -#: src/tables/InvenTreeTable.tsx:405 +#: src/tables/InvenTreeTable.tsx:119 +#: src/tables/InvenTreeTable.tsx:390 +#: src/tables/InvenTreeTable.tsx:411 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:416 +#: src/tables/InvenTreeTable.tsx:422 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:424 +#: src/tables/InvenTreeTable.tsx:430 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:427 +#: src/tables/InvenTreeTable.tsx:433 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:436 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:433 +#: src/tables/InvenTreeTable.tsx:439 msgid "Not found" msgstr "" -#: src/tables/InvenTreeTable.tsx:482 -#: src/tables/InvenTreeTable.tsx:604 +#: src/tables/InvenTreeTable.tsx:488 +#: src/tables/InvenTreeTable.tsx:611 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:486 +#: src/tables/InvenTreeTable.tsx:492 msgid "Are you sure you want to delete the selected records?" msgstr "" -#: src/tables/InvenTreeTable.tsx:488 +#: src/tables/InvenTreeTable.tsx:494 msgid "This action cannot be undone!" msgstr "" -#: src/tables/InvenTreeTable.tsx:516 +#: src/tables/InvenTreeTable.tsx:522 msgid "Deleted records" msgstr "" -#: src/tables/InvenTreeTable.tsx:517 +#: src/tables/InvenTreeTable.tsx:523 msgid "Records were deleted successfully" msgstr "" -#: src/tables/InvenTreeTable.tsx:526 +#: src/tables/InvenTreeTable.tsx:532 msgid "Failed to delete records" msgstr "" -#: src/tables/InvenTreeTable.tsx:585 -#: src/tables/InvenTreeTable.tsx:586 -msgid "Barcode actions" -msgstr "" - #: src/tables/InvenTreeTable.tsx:594 #: src/tables/InvenTreeTable.tsx:595 -msgid "Print actions" +#~ msgid "Print actions" +#~ msgstr "" + +#: src/tables/InvenTreeTable.tsx:601 +#: src/tables/InvenTreeTable.tsx:602 +msgid "Barcode actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:620 +#: src/tables/InvenTreeTable.tsx:630 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:638 +#: src/tables/InvenTreeTable.tsx:648 msgid "Table filters" msgstr "" @@ -4522,138 +4632,138 @@ msgstr "" msgid "Part Information" msgstr "" -#: src/tables/bom/BomTable.tsx:177 +#: src/tables/bom/BomTable.tsx:179 #: src/tables/part/PartTable.tsx:124 msgid "No stock" msgstr "" -#: src/tables/bom/BomTable.tsx:185 +#: src/tables/bom/BomTable.tsx:187 #: src/tables/build/BuildLineTable.tsx:104 #: src/tables/part/PartTable.tsx:115 msgid "External stock" msgstr "" -#: src/tables/bom/BomTable.tsx:193 +#: src/tables/bom/BomTable.tsx:195 #: src/tables/build/BuildLineTable.tsx:67 msgid "Includes substitute stock" msgstr "" -#: src/tables/bom/BomTable.tsx:202 +#: src/tables/bom/BomTable.tsx:204 #: src/tables/build/BuildLineTable.tsx:77 msgid "Includes variant stock" msgstr "" -#: src/tables/bom/BomTable.tsx:227 +#: src/tables/bom/BomTable.tsx:229 #: src/tables/part/PartTable.tsx:143 #: src/tables/stock/StockItemTable.tsx:205 msgid "Stock Information" msgstr "" -#: src/tables/bom/BomTable.tsx:239 +#: src/tables/bom/BomTable.tsx:241 #: src/tables/build/BuildLineTable.tsx:195 msgid "Consumable item" msgstr "" -#: src/tables/bom/BomTable.tsx:260 +#: src/tables/bom/BomTable.tsx:262 msgid "Show trackable items" msgstr "" -#: src/tables/bom/BomTable.tsx:265 +#: src/tables/bom/BomTable.tsx:267 msgid "Show asssmbled items" msgstr "" -#: src/tables/bom/BomTable.tsx:270 +#: src/tables/bom/BomTable.tsx:272 msgid "Show items with available stock" msgstr "" -#: src/tables/bom/BomTable.tsx:275 +#: src/tables/bom/BomTable.tsx:277 msgid "Show items on order" msgstr "" -#: src/tables/bom/BomTable.tsx:279 +#: src/tables/bom/BomTable.tsx:281 msgid "Validated" msgstr "" -#: src/tables/bom/BomTable.tsx:280 +#: src/tables/bom/BomTable.tsx:282 msgid "Show validated items" msgstr "" -#: src/tables/bom/BomTable.tsx:284 +#: src/tables/bom/BomTable.tsx:286 #: src/tables/bom/UsedInTable.tsx:63 msgid "Inherited" msgstr "" -#: src/tables/bom/BomTable.tsx:285 +#: src/tables/bom/BomTable.tsx:287 #: src/tables/bom/UsedInTable.tsx:64 msgid "Show inherited items" msgstr "" -#: src/tables/bom/BomTable.tsx:289 +#: src/tables/bom/BomTable.tsx:291 #: src/tables/bom/UsedInTable.tsx:68 #: src/tables/build/BuildLineTable.tsx:46 msgid "Optional" msgstr "" -#: src/tables/bom/BomTable.tsx:290 +#: src/tables/bom/BomTable.tsx:292 #: src/tables/bom/UsedInTable.tsx:69 msgid "Show optional items" msgstr "" -#: src/tables/bom/BomTable.tsx:294 +#: src/tables/bom/BomTable.tsx:296 #: src/tables/build/BuildLineTable.tsx:41 msgid "Consumable" msgstr "" -#: src/tables/bom/BomTable.tsx:295 +#: src/tables/bom/BomTable.tsx:297 msgid "Show consumable items" msgstr "" -#: src/tables/bom/BomTable.tsx:299 +#: src/tables/bom/BomTable.tsx:301 msgid "Has Pricing" msgstr "" -#: src/tables/bom/BomTable.tsx:300 -msgid "Show items with pricing" -msgstr "" - #: src/tables/bom/BomTable.tsx:301 #~ msgid "Create BOM Item" #~ msgstr "" -#: src/tables/bom/BomTable.tsx:309 -#: src/tables/bom/BomTable.tsx:397 +#: src/tables/bom/BomTable.tsx:302 +msgid "Show items with pricing" +msgstr "" + +#: src/tables/bom/BomTable.tsx:311 +#: src/tables/bom/BomTable.tsx:399 msgid "Add BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:314 +#: src/tables/bom/BomTable.tsx:316 msgid "BOM item created" msgstr "" -#: src/tables/bom/BomTable.tsx:321 +#: src/tables/bom/BomTable.tsx:323 msgid "Edit BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:323 +#: src/tables/bom/BomTable.tsx:325 msgid "BOM item updated" msgstr "" -#: src/tables/bom/BomTable.tsx:330 -msgid "Delete BOM Item" -msgstr "" - -#: src/tables/bom/BomTable.tsx:331 -msgid "BOM item deleted" -msgstr "" - #: src/tables/bom/BomTable.tsx:331 #~ msgid "Edit Bom Item" #~ msgstr "" +#: src/tables/bom/BomTable.tsx:332 +msgid "Delete BOM Item" +msgstr "" + +#: src/tables/bom/BomTable.tsx:333 +msgid "BOM item deleted" +msgstr "" + #: src/tables/bom/BomTable.tsx:333 #~ msgid "Bom item updated" #~ msgstr "" -#: src/tables/bom/BomTable.tsx:341 +#: src/tables/bom/BomTable.tsx:343 msgid "View BOM" msgstr "" @@ -4669,11 +4779,11 @@ msgstr "" #~ msgid "Are you sure you want to remove this BOM item?" #~ msgstr "" -#: src/tables/bom/BomTable.tsx:352 +#: src/tables/bom/BomTable.tsx:354 msgid "Validate BOM line" msgstr "" -#: src/tables/bom/BomTable.tsx:360 +#: src/tables/bom/BomTable.tsx:362 msgid "Edit Substitutes" msgstr "" @@ -4790,11 +4900,11 @@ msgid "Filter by responsible owner" msgstr "" #: src/tables/build/BuildOutputTable.tsx:114 -#: src/tables/build/BuildOutputTable.tsx:150 +#: src/tables/build/BuildOutputTable.tsx:152 msgid "Add Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:155 +#: src/tables/build/BuildOutputTable.tsx:157 msgid "Complete selected outputs" msgstr "" @@ -4802,68 +4912,68 @@ msgstr "" #~ msgid "Delete build output" #~ msgstr "" -#: src/tables/build/BuildOutputTable.tsx:165 +#: src/tables/build/BuildOutputTable.tsx:167 msgid "Scrap selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:175 +#: src/tables/build/BuildOutputTable.tsx:177 msgid "Cancel selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:191 +#: src/tables/build/BuildOutputTable.tsx:193 msgid "Allocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:192 +#: src/tables/build/BuildOutputTable.tsx:194 msgid "Allocate stock to build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:197 +#: src/tables/build/BuildOutputTable.tsx:199 msgid "Deallocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:198 +#: src/tables/build/BuildOutputTable.tsx:200 msgid "Deallocate stock from build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:203 +#: src/tables/build/BuildOutputTable.tsx:205 msgid "Complete" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:204 +#: src/tables/build/BuildOutputTable.tsx:206 msgid "Complete build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:213 +#: src/tables/build/BuildOutputTable.tsx:215 msgid "Scrap" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:214 +#: src/tables/build/BuildOutputTable.tsx:216 msgid "Scrap build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:224 +#: src/tables/build/BuildOutputTable.tsx:226 msgid "Cancel build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:251 +#: src/tables/build/BuildOutputTable.tsx:253 msgid "Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:264 +#: src/tables/build/BuildOutputTable.tsx:266 msgid "Batch" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:278 +#: src/tables/build/BuildOutputTable.tsx:280 msgid "Allocated Items" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:288 +#: src/tables/build/BuildOutputTable.tsx:290 msgid "Required Tests" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:317 -#: src/tables/stock/StockItemTestResultTable.tsx:146 +#: src/tables/build/BuildOutputTable.tsx:319 +#: src/tables/stock/StockItemTestResultTable.tsx:144 msgid "Test Results" msgstr "" @@ -4884,7 +4994,7 @@ msgstr "" msgid "Delete Address" msgstr "" -#: src/tables/company/AddressTable.tsx:145 +#: src/tables/company/AddressTable.tsx:144 msgid "Are you sure you want to delete this address?" msgstr "" @@ -4929,36 +5039,52 @@ msgstr "" msgid "Add contact" msgstr "" -#: src/tables/general/AttachmentTable.tsx:161 +#: src/tables/general/AttachmentTable.tsx:130 msgid "File uploaded" msgstr "" -#: src/tables/general/AttachmentTable.tsx:162 +#: src/tables/general/AttachmentTable.tsx:131 msgid "File {0} uploaded successfully" msgstr "" -#: src/tables/general/AttachmentTable.tsx:173 +#: src/tables/general/AttachmentTable.tsx:142 msgid "Upload Error" msgstr "" -#: src/tables/general/AttachmentTable.tsx:174 +#: src/tables/general/AttachmentTable.tsx:143 msgid "File could not be uploaded" msgstr "" #: src/tables/general/AttachmentTable.tsx:187 +msgid "Upload Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:197 +msgid "Edit Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:211 +msgid "Delete Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:221 msgid "Add attachment" msgstr "" -#: src/tables/general/AttachmentTable.tsx:207 +#: src/tables/general/AttachmentTable.tsx:232 msgid "Add external link" msgstr "" -#: src/tables/general/AttachmentTable.tsx:239 +#: src/tables/general/AttachmentTable.tsx:254 +#~ msgid "Upload attachment" +#~ msgstr "" + +#: src/tables/general/AttachmentTable.tsx:289 msgid "No attachments found" msgstr "" -#: src/tables/general/AttachmentTable.tsx:254 -msgid "Upload attachment" +#: src/tables/general/AttachmentTable.tsx:325 +msgid "Drag attachment file here to upload" msgstr "" #: src/tables/machine/MachineListTable.tsx:199 @@ -5084,8 +5210,8 @@ msgstr "" #: src/tables/machine/MachineTypeTable.tsx:135 #: src/tables/machine/MachineTypeTable.tsx:255 -#: src/tables/plugin/PluginListTable.tsx:215 -#: src/tables/plugin/PluginListTable.tsx:643 +#: src/tables/plugin/PluginListTable.tsx:180 +#: src/tables/plugin/PluginListTable.tsx:568 msgid "Builtin" msgstr "" @@ -5127,7 +5253,7 @@ msgid "Message" msgstr "" #: src/tables/part/ParametricPartTable.tsx:75 -#: src/tables/part/PartParameterTable.tsx:87 +#: src/tables/part/PartParameterTable.tsx:88 msgid "Internal Units" msgstr "" @@ -5140,29 +5266,29 @@ msgid "Add Part Parameter" msgstr "" #: src/tables/part/ParametricPartTable.tsx:147 -#: src/tables/part/PartParameterTable.tsx:128 -#: src/tables/part/PartParameterTable.tsx:150 +#: src/tables/part/PartParameterTable.tsx:121 +#: src/tables/part/PartParameterTable.tsx:144 msgid "Edit Part Parameter" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:64 +#: src/tables/part/PartCategoryTable.tsx:60 #: src/tables/part/PartTable.tsx:180 msgid "Include Subcategories" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:65 +#: src/tables/part/PartCategoryTable.tsx:61 msgid "Include subcategories in results" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:70 +#: src/tables/part/PartCategoryTable.tsx:66 msgid "Show structural categories" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:77 +#: src/tables/part/PartCategoryTable.tsx:73 msgid "New Part Category" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:106 +#: src/tables/part/PartCategoryTable.tsx:98 msgid "Add Part Category" msgstr "" @@ -5187,20 +5313,20 @@ msgstr "" #~ msgid "[{0}]" #~ msgstr "" -#: src/tables/part/PartParameterTable.tsx:112 +#: src/tables/part/PartParameterTable.tsx:105 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:136 -#: src/tables/part/PartParameterTable.tsx:158 +#: src/tables/part/PartParameterTable.tsx:130 +#: src/tables/part/PartParameterTable.tsx:152 msgid "Delete Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:175 +#: src/tables/part/PartParameterTable.tsx:170 msgid "Add parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:196 +#: src/tables/part/PartParameterTable.tsx:191 #: src/tables/stock/StockItemTable.tsx:300 msgid "Include Variants" msgstr "" @@ -5234,15 +5360,15 @@ msgstr "" msgid "Add Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:97 +#: src/tables/part/PartParameterTemplateTable.tsx:100 msgid "Edit Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:105 +#: src/tables/part/PartParameterTemplateTable.tsx:111 msgid "Delete Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:135 +#: src/tables/part/PartParameterTemplateTable.tsx:141 msgid "Add parameter template" msgstr "" @@ -5340,7 +5466,7 @@ msgid "No Results" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:79 -#: src/tables/stock/StockItemTestResultTable.tsx:385 +#: src/tables/stock/StockItemTestResultTable.tsx:376 msgid "Required" msgstr "" @@ -5349,8 +5475,8 @@ msgid "Show required tests" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:84 -#: src/tables/settings/TemplateTable.tsx:213 -#: src/tables/settings/TemplateTable.tsx:275 +#: src/tables/settings/TemplateTable.tsx:160 +#: src/tables/settings/TemplateTable.tsx:270 msgid "Enabled" msgstr "" @@ -5391,26 +5517,30 @@ msgid "Show tests which have recorded results" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:126 -#: src/tables/part/PartTestTemplateTable.tsx:195 +#: src/tables/part/PartTestTemplateTable.tsx:201 msgid "Add Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:139 +#: src/tables/part/PartTestTemplateTable.tsx:142 msgid "Edit Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:147 +#: src/tables/part/PartTestTemplateTable.tsx:153 msgid "Delete Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:149 +#: src/tables/part/PartTestTemplateTable.tsx:155 msgid "This action cannot be reversed" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:151 +#: src/tables/part/PartTestTemplateTable.tsx:157 msgid "Any tests results associated with this template will be deleted" msgstr "" +#: src/tables/part/PartThumbTable.tsx:203 +msgid "Select" +msgstr "" + #: src/tables/part/PartVariantTable.tsx:16 msgid "Show active variants" msgstr "" @@ -5447,252 +5577,273 @@ msgstr "" msgid "Stage" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:113 -msgid "Plugin with id {id} not found" +#: src/tables/plugin/PluginListTable.tsx:95 +msgid "Plugin with key {pluginKey} not found" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:115 +#: src/tables/plugin/PluginListTable.tsx:97 msgid "An error occurred while fetching plugin details" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:134 -msgid "Plugin Actions" -msgstr "" +#: src/tables/plugin/PluginListTable.tsx:113 +#~ msgid "Plugin with id {id} not found" +#~ msgstr "" -#: src/tables/plugin/PluginListTable.tsx:138 -#: src/tables/plugin/PluginListTable.tsx:141 -msgid "Edit plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:152 -#: src/tables/plugin/PluginListTable.tsx:153 -msgid "Reload" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:166 +#: src/tables/plugin/PluginListTable.tsx:122 msgid "Plugin information" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:177 +#: src/tables/plugin/PluginListTable.tsx:134 msgid "Author" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:198 +#: src/tables/plugin/PluginListTable.tsx:134 +#~ msgid "Plugin Actions" +#~ msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:138 +#: src/tables/plugin/PluginListTable.tsx:141 +#~ msgid "Edit plugin" +#~ msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:152 +#: src/tables/plugin/PluginListTable.tsx:153 +#~ msgid "Reload" +#~ msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:154 +msgid "Plugin is not active" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:163 msgid "Package information" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:204 +#: src/tables/plugin/PluginListTable.tsx:169 msgid "Package Name" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:210 +#: src/tables/plugin/PluginListTable.tsx:175 msgid "Installation Path" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:220 +#: src/tables/plugin/PluginListTable.tsx:185 msgid "Package" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:231 +#: src/tables/plugin/PluginListTable.tsx:197 msgid "Plugin settings" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:248 +#: src/tables/plugin/PluginListTable.tsx:214 msgid "Plugin is active" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:254 +#: src/tables/plugin/PluginListTable.tsx:220 msgid "Plugin is inactive" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:261 +#: src/tables/plugin/PluginListTable.tsx:227 msgid "Plugin is not installed" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:287 +#: src/tables/plugin/PluginListTable.tsx:253 msgid "Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:312 +#: src/tables/plugin/PluginListTable.tsx:287 msgid "Description not available" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:338 +#: src/tables/plugin/PluginListTable.tsx:319 +msgid "Confirm plugin activation" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:320 +msgid "Confirm plugin deactivation" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:325 +msgid "The selected plugin will be activated" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:326 +msgid "The selected plugin will be deactivated" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:334 msgid "Activate Plugin" msgstr "" #: src/tables/plugin/PluginListTable.tsx:338 -msgid "Deactivate Plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:347 -msgid "Confirm plugin activation" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:348 -msgid "Confirm plugin deactivation" -msgstr "" +#~ msgid "Deactivate Plugin" +#~ msgstr "" #: src/tables/plugin/PluginListTable.tsx:354 -msgid "The following plugin will be activated" -msgstr "" +#~ msgid "The following plugin will be activated" +#~ msgstr "" #: src/tables/plugin/PluginListTable.tsx:355 -msgid "The following plugin will be deactivated" -msgstr "" +#~ msgid "The following plugin will be deactivated" +#~ msgstr "" -#: src/tables/plugin/PluginListTable.tsx:366 -msgid "Confirm" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:376 -msgid "Activating plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:376 -msgid "Deactivating plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:392 -msgid "Plugin updated" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:394 -msgid "The plugin was activated" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:395 -msgid "The plugin was deactivated" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:403 -msgid "Error updating plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:423 +#: src/tables/plugin/PluginListTable.tsx:362 msgid "Deactivate" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:432 +#: src/tables/plugin/PluginListTable.tsx:366 +#~ msgid "Confirm" +#~ msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:373 msgid "Activate" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:463 +#: src/tables/plugin/PluginListTable.tsx:376 +#~ msgid "Activating plugin" +#~ msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:376 +#~ msgid "Deactivating plugin" +#~ msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:392 +#~ msgid "Plugin updated" +#~ msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:394 +#~ msgid "The plugin was activated" +#~ msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:395 +#~ msgid "The plugin was deactivated" +#~ msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:403 +#~ msgid "Error updating plugin" +#~ msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:406 msgid "Uninstall" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:495 +#: src/tables/plugin/PluginListTable.tsx:438 msgid "Install plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:508 +#: src/tables/plugin/PluginListTable.tsx:451 msgid "Install" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:512 +#: src/tables/plugin/PluginListTable.tsx:452 msgid "Plugin installed successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:525 +#: src/tables/plugin/PluginListTable.tsx:457 msgid "Uninstall Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:537 +#: src/tables/plugin/PluginListTable.tsx:469 msgid "Confirm plugin uninstall" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:540 +#: src/tables/plugin/PluginListTable.tsx:472 msgid "The selected plugin will be uninstalled." msgstr "" -#: src/tables/plugin/PluginListTable.tsx:541 +#: src/tables/plugin/PluginListTable.tsx:473 msgid "This action cannot be undone." msgstr "" -#: src/tables/plugin/PluginListTable.tsx:547 +#: src/tables/plugin/PluginListTable.tsx:477 msgid "Plugin uninstalled successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:560 +#: src/tables/plugin/PluginListTable.tsx:484 msgid "Delete Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:562 +#: src/tables/plugin/PluginListTable.tsx:485 msgid "Deleting this plugin configuration will remove all associated settings and data. Are you sure you want to delete this plugin?" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:574 +#: src/tables/plugin/PluginListTable.tsx:498 msgid "Plugins reloaded" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:575 +#: src/tables/plugin/PluginListTable.tsx:499 msgid "Plugins were reloaded successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:591 +#: src/tables/plugin/PluginListTable.tsx:515 msgid "Reload Plugins" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:600 +#: src/tables/plugin/PluginListTable.tsx:524 msgid "Install Plugin" msgstr "" +#: src/tables/plugin/PluginListTable.tsx:544 +msgid "Plugin Detail" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:573 +msgid "Sample" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:578 +#: src/tables/stock/StockItemTable.tsx:305 +msgid "Installed" +msgstr "" + #: src/tables/plugin/PluginListTable.tsx:615 #~ msgid "Plugin detail" #~ msgstr "" -#: src/tables/plugin/PluginListTable.tsx:619 -msgid "Plugin Detail" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:648 -msgid "Sample" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:653 -#: src/tables/stock/StockItemTable.tsx:305 -msgid "Installed" -msgstr "" - -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:57 -msgid "Edit Parameter" +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:59 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:108 +msgid "Add Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:60 -msgid "Parameter updated" -msgstr "" +#~ msgid "Parameter updated" +#~ msgstr "" -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:71 -msgid "Delete Parameter" +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:70 +msgid "Edit Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:73 -msgid "Parameter deleted" -msgstr "" +#~ msgid "Parameter deleted" +#~ msgstr "" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:74 -msgid "Are you sure you want to delete this parameter?" +#~ msgid "Are you sure you want to delete this parameter?" +#~ msgstr "" + +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:78 +msgid "Delete Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartTable.tsx:63 #~ msgid "Create Manufacturer Part" #~ msgstr "" -#: src/tables/purchasing/ManufacturerPartTable.tsx:100 -msgid "Manufacturer part updated" -msgstr "" - -#: src/tables/purchasing/ManufacturerPartTable.tsx:111 +#: src/tables/purchasing/ManufacturerPartTable.tsx:92 msgid "Delete Manufacturer Part" msgstr "" +#: src/tables/purchasing/ManufacturerPartTable.tsx:100 +#~ msgid "Manufacturer part updated" +#~ msgstr "" + #: src/tables/purchasing/ManufacturerPartTable.tsx:112 -msgid "Manufacturer part deleted" -msgstr "" +#~ msgid "Manufacturer part deleted" +#~ msgstr "" #: src/tables/purchasing/ManufacturerPartTable.tsx:114 -msgid "Are you sure you want to remove this manufacturer part?" -msgstr "" +#~ msgid "Are you sure you want to remove this manufacturer part?" +#~ msgstr "" #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:86 msgid "Part Description" @@ -5839,18 +5990,22 @@ msgid "Error Information" msgstr "" #: src/tables/settings/ErrorTable.tsx:51 -msgid "Delete error report" +msgid "Delete Error Report" msgstr "" +#: src/tables/settings/ErrorTable.tsx:51 +#~ msgid "Delete error report" +#~ msgstr "" + #: src/tables/settings/ErrorTable.tsx:53 -msgid "Error report deleted" -msgstr "" - -#: src/tables/settings/ErrorTable.tsx:54 msgid "Are you sure you want to delete this error report?" msgstr "" -#: src/tables/settings/ErrorTable.tsx:67 +#: src/tables/settings/ErrorTable.tsx:55 +msgid "Error report deleted" +msgstr "" + +#: src/tables/settings/ErrorTable.tsx:77 #: src/tables/settings/FailedTasksTable.tsx:57 msgid "Error Details" msgstr "" @@ -5867,7 +6022,7 @@ msgid "Task ID" msgstr "" #: src/tables/settings/FailedTasksTable.tsx:34 -#: src/tables/stock/StockItemTestResultTable.tsx:214 +#: src/tables/stock/StockItemTestResultTable.tsx:205 msgid "Started" msgstr "" @@ -5940,30 +6095,71 @@ msgstr "" msgid "Next Run" msgstr "" -#: src/tables/settings/TemplateTable.tsx:120 -msgid "{templateTypeTranslation} with id {id} not found" +#: src/tables/settings/TemplateTable.tsx:82 +msgid "Template not found" msgstr "" +#: src/tables/settings/TemplateTable.tsx:84 +msgid "An error occurred while fetching template details" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:120 +#~ msgid "{templateTypeTranslation} with id {id} not found" +#~ msgstr "" + #: src/tables/settings/TemplateTable.tsx:124 -msgid "An error occurred while fetching {templateTypeTranslation} details" -msgstr "" +#~ msgid "An error occurred while fetching {templateTypeTranslation} details" +#~ msgstr "" #: src/tables/settings/TemplateTable.tsx:146 -msgid "actions" +#~ msgid "actions" +#~ msgstr "" + +#: src/tables/settings/TemplateTable.tsx:170 +msgid "Modify" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:171 +msgid "Modify template file" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:222 +#: src/tables/settings/TemplateTable.tsx:289 +msgid "Edit Template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:230 +msgid "Delete template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:236 +msgid "Add Template" msgstr "" #: src/tables/settings/TemplateTable.tsx:243 -msgid "Add new" -msgstr "" +#~ msgid "Add new" +#~ msgstr "" #: src/tables/settings/TemplateTable.tsx:243 #~ msgid "Create new" #~ msgstr "" -#: src/tables/settings/TemplateTable.tsx:276 +#: src/tables/settings/TemplateTable.tsx:249 +msgid "Add template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:271 msgid "Filter by enabled status" msgstr "" +#: src/tables/settings/TemplateTable.tsx:276 +msgid "Model Type" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:277 +msgid "Filter by target model type" +msgstr "" + #: src/tables/settings/UserTable.tsx:79 msgid "User with id {id} not found" msgstr "" @@ -6029,6 +6225,23 @@ msgstr "" msgid "Edit user" msgstr "" +#: src/tables/stock/LocationTypesTable.tsx:36 +#: src/tables/stock/LocationTypesTable.tsx:105 +msgid "Add Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:44 +msgid "Edit Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:52 +msgid "Delete Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:69 +msgid "Icon" +msgstr "" + #: src/tables/stock/StockItemTable.tsx:90 msgid "This stock item is in production" msgstr "" @@ -6090,7 +6303,7 @@ msgid "Show items which are available" msgstr "" #: src/tables/stock/StockItemTable.tsx:280 -#: src/tables/stock/StockLocationTable.tsx:37 +#: src/tables/stock/StockLocationTable.tsx:33 msgid "Include Sublocations" msgstr "" @@ -6219,123 +6432,135 @@ msgstr "" msgid "Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:153 +#: src/tables/stock/StockItemTestResultTable.tsx:151 msgid "Test result for installed stock item" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:164 +#: src/tables/stock/StockItemTestResultTable.tsx:162 msgid "Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:170 +#: src/tables/stock/StockItemTestResultTable.tsx:168 msgid "No Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:186 +#: src/tables/stock/StockItemTestResultTable.tsx:184 msgid "Attachment" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:209 +#: src/tables/stock/StockItemTestResultTable.tsx:200 msgid "Test station" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:229 +#: src/tables/stock/StockItemTestResultTable.tsx:220 msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:277 -#: src/tables/stock/StockItemTestResultTable.tsx:349 -#: src/tables/stock/StockItemTestResultTable.tsx:404 +#: src/tables/stock/StockItemTestResultTable.tsx:268 +#: src/tables/stock/StockItemTestResultTable.tsx:340 +#: src/tables/stock/StockItemTestResultTable.tsx:395 msgid "Add Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:279 +#: src/tables/stock/StockItemTestResultTable.tsx:270 msgid "Test result added" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:288 -#: src/tables/stock/StockItemTestResultTable.tsx:359 +#: src/tables/stock/StockItemTestResultTable.tsx:279 +#: src/tables/stock/StockItemTestResultTable.tsx:350 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:290 +#: src/tables/stock/StockItemTestResultTable.tsx:281 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:296 -#: src/tables/stock/StockItemTestResultTable.tsx:368 +#: src/tables/stock/StockItemTestResultTable.tsx:287 +#: src/tables/stock/StockItemTestResultTable.tsx:359 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:298 +#: src/tables/stock/StockItemTestResultTable.tsx:289 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:312 +#: src/tables/stock/StockItemTestResultTable.tsx:303 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:313 +#: src/tables/stock/StockItemTestResultTable.tsx:304 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:320 +#: src/tables/stock/StockItemTestResultTable.tsx:311 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:337 +#: src/tables/stock/StockItemTestResultTable.tsx:328 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:386 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:390 +#: src/tables/stock/StockItemTestResultTable.tsx:381 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:391 +#: src/tables/stock/StockItemTestResultTable.tsx:382 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:395 +#: src/tables/stock/StockItemTestResultTable.tsx:386 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:396 +#: src/tables/stock/StockItemTestResultTable.tsx:387 msgid "Show only passed tests" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:38 +#: src/tables/stock/StockLocationTable.tsx:34 msgid "Include sublocations in results" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:42 +#: src/tables/stock/StockLocationTable.tsx:38 msgid "structural" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:43 +#: src/tables/stock/StockLocationTable.tsx:39 msgid "Show structural locations" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:47 +#: src/tables/stock/StockLocationTable.tsx:43 msgid "external" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:48 +#: src/tables/stock/StockLocationTable.tsx:44 msgid "Show external locations" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:52 +#: src/tables/stock/StockLocationTable.tsx:48 msgid "Has location type" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:89 -#: src/tables/stock/StockLocationTable.tsx:118 +#: src/tables/stock/StockLocationTable.tsx:85 +#: src/tables/stock/StockLocationTable.tsx:110 msgid "Add Stock Location" msgstr "" +#: src/tables/stock/StockTrackingTable.tsx:64 +msgid "Added" +msgstr "" + +#: src/tables/stock/StockTrackingTable.tsx:69 +msgid "Removed" +msgstr "" + +#: src/tables/stock/StockTrackingTable.tsx:198 +msgid "No user information" +msgstr "" + #: src/views/MobileAppView.tsx:22 msgid "Mobile viewport detected" msgstr "" diff --git a/src/frontend/src/locales/zh/messages.po b/src/frontend/src/locales/zh/messages.po index 5f80b0f83a..117bb9900c 100644 --- a/src/frontend/src/locales/zh/messages.po +++ b/src/frontend/src/locales/zh/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: zh\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-05-13 02:48\n" +"PO-Revision-Date: 2024-05-23 11:39\n" "Last-Translator: \n" "Language-Team: Chinese Traditional\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -30,10 +30,67 @@ msgstr "" msgid "Title" msgstr "" +#: src/components/buttons/AdminButton.tsx:83 +msgid "Open in admin interface" +msgstr "" + #: src/components/buttons/CopyButton.tsx:18 msgid "Copy to clipboard" msgstr "" +#: src/components/buttons/PrintingActions.tsx:95 +msgid "Print Label" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:101 +msgid "Label printing completed successfully" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:106 +#: src/components/buttons/PrintingActions.tsx:143 +#: src/components/forms/ApiForm.tsx:504 +#: src/components/forms/fields/ApiFormField.tsx:295 +#: src/components/modals/LicenseModal.tsx:75 +#: src/components/nav/SearchDrawer.tsx:413 +#: src/components/widgets/MarkdownEditor.tsx:107 +#: src/components/widgets/MarkdownEditor.tsx:153 +#: src/pages/ErrorPage.tsx:12 +#: src/pages/ErrorPage.tsx:25 +#: src/pages/part/PartPricingPanel.tsx:71 +#: src/tables/InvenTreeTable.tsx:451 +#: src/tables/InvenTreeTable.tsx:531 +#: src/tables/stock/StockItemTestResultTable.tsx:310 +msgid "Error" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:107 +msgid "The label could not be generated" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:122 +msgid "Print Report" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:138 +msgid "Report printing completed successfully" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:144 +msgid "The report could not be generated" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:171 +msgid "Printing Actions" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:176 +msgid "Print Labels" +msgstr "" + +#: src/components/buttons/PrintingActions.tsx:182 +msgid "Print Reports" +msgstr "" + #: src/components/buttons/ScanButton.tsx:15 msgid "Scan QR code" msgstr "掃描 QR Code" @@ -64,15 +121,15 @@ msgstr "" msgid "No" msgstr "" -#: src/components/details/Details.tsx:302 +#: src/components/details/Details.tsx:303 msgid "No name defined" msgstr "" -#: src/components/details/Details.tsx:339 +#: src/components/details/Details.tsx:340 msgid "Copied" msgstr "" -#: src/components/details/Details.tsx:339 +#: src/components/details/Details.tsx:340 msgid "Copy" msgstr "" @@ -85,24 +142,23 @@ msgid "Remove the associated image from this item?" msgstr "" #: src/components/details/DetailsImage.tsx:71 -#: src/forms/StockForms.tsx:442 +#: src/forms/StockForms.tsx:483 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:448 +#: src/pages/stock/StockDetail.tsx:462 msgid "Remove" msgstr "" #: src/components/details/DetailsImage.tsx:71 -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:163 -#: src/components/items/ActionDropdown.tsx:222 -#: src/components/items/ActionDropdown.tsx:223 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 +#: src/components/items/ActionDropdown.tsx:229 +#: src/components/items/ActionDropdown.tsx:230 #: src/contexts/ThemeContext.tsx:43 #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:40 -#: src/tables/FilterSelectDrawer.tsx:218 -#: src/tables/InvenTreeTable.tsx:493 -#: src/tables/build/BuildOutputTable.tsx:223 -#: src/tables/plugin/PluginListTable.tsx:365 +#: src/tables/FilterSelectDrawer.tsx:207 +#: src/tables/InvenTreeTable.tsx:499 +#: src/tables/build/BuildOutputTable.tsx:225 msgid "Cancel" msgstr "取消" @@ -119,7 +175,7 @@ msgid "Clear" msgstr "" #: src/components/details/DetailsImage.tsx:227 -#: src/components/forms/ApiForm.tsx:554 +#: src/components/forms/ApiForm.tsx:571 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:56 msgid "Submit" @@ -150,9 +206,10 @@ msgid "Part is not active" msgstr "" #: src/components/details/PartIcons.tsx:34 -#: src/pages/company/CompanyDetail.tsx:308 -#: src/pages/company/SupplierPartDetail.tsx:304 -#: src/pages/part/PartDetail.tsx:684 +#: src/components/render/Plugin.tsx:17 +#: src/pages/company/CompanyDetail.tsx:310 +#: src/pages/company/SupplierPartDetail.tsx:305 +#: src/pages/part/PartDetail.tsx:685 msgid "Inactive" msgstr "" @@ -196,10 +253,10 @@ msgid "Code" msgstr "" #: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:44 -msgid "Failed to parse error response from server." -msgstr "" +#~ msgid "Failed to parse error response from server." +#~ msgstr "Failed to parse error response from server." -#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:82 +#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:81 msgid "Preview not available, click \"Reload Preview\"." msgstr "" @@ -207,98 +264,99 @@ msgstr "" msgid "PDF Preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:113 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:104 msgid "Error loading template" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:125 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:116 msgid "Error saving template" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 -msgid "Save & Reload preview?" +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:146 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:270 +msgid "Save & Reload Preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:156 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 msgid "Are you sure you want to Save & Reload the preview?" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:158 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:151 +#~ msgid "Save & Reload preview?" +#~ msgstr "Save & Reload preview?" + +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:153 msgid "To render the preview the current template needs to be replaced on the server with your modifications which may break the label if it is under active use. Do you want to proceed?" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:162 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:157 msgid "Save & Reload" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:191 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:189 msgid "Preview updated" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:192 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:190 msgid "The preview has been updated successfully." msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:255 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:262 msgid "Reload preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:256 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:263 msgid "Use the currently stored template from the server" msgstr "" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:263 -msgid "Save & Reload preview" -msgstr "" +#~ msgid "Save & Reload preview" +#~ msgstr "Save & Reload preview" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:264 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:271 msgid "Save the current template and reload the preview" msgstr "" #: src/components/editors/TemplateEditor/TemplateEditor.tsx:322 -#: src/tables/part/PartThumbTable.tsx:203 -msgid "Select" +#~ msgid "to preview" +#~ msgstr "to preview" + +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:329 +msgid "Select instance to preview" msgstr "" -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:322 -msgid "to preview" -msgstr "" - -#: src/components/editors/TemplateEditor/TemplateEditor.tsx:366 +#: src/components/editors/TemplateEditor/TemplateEditor.tsx:373 msgid "Error rendering template" msgstr "" -#: src/components/forms/ApiForm.tsx:143 +#: src/components/forms/ApiForm.tsx:148 #: src/functions/forms.tsx:259 msgid "Form Error" msgstr "" -#: src/components/forms/ApiForm.tsx:411 +#: src/components/forms/ApiForm.tsx:428 #: src/components/widgets/MarkdownEditor.tsx:145 msgid "Success" msgstr "" #: src/components/forms/ApiForm.tsx:487 -msgid "Form Errors Exist" -msgstr "" +#~ msgid "Form Errors Exist" +#~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:592 -#: src/tables/plugin/PluginListTable.tsx:445 +#: src/components/forms/ApiForm.tsx:609 +#: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "" -#: src/components/forms/ApiForm.tsx:612 -#: src/components/items/ActionDropdown.tsx:203 +#: src/components/forms/ApiForm.tsx:629 +#: src/components/items/ActionDropdown.tsx:210 #: src/functions/forms.tsx:299 #: src/hooks/UseForm.tsx:122 #: src/pages/Index/Scan.tsx:343 #: src/pages/Notifications.tsx:123 -#: src/tables/InvenTreeTable.tsx:492 +#: src/tables/InvenTreeTable.tsx:498 #: src/tables/RowActions.tsx:71 -#: src/tables/plugin/PluginListTable.tsx:477 -#: src/tables/settings/TemplateTable.tsx:105 -#: src/tables/settings/TemplateTable.tsx:154 -#: src/tables/settings/TemplateTable.tsx:236 +#: src/tables/plugin/PluginListTable.tsx:420 msgid "Delete" msgstr "" @@ -468,18 +526,19 @@ msgstr "" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 -#: src/pages/part/CategoryDetail.tsx:77 -#: src/pages/part/PartDetail.tsx:125 -#: src/pages/stock/LocationDetail.tsx:83 +#: src/pages/part/CategoryDetail.tsx:78 +#: src/pages/part/PartDetail.tsx:126 +#: src/pages/stock/LocationDetail.tsx:85 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 #: src/tables/machine/MachineTypeTable.tsx:216 #: src/tables/machine/MachineTypeTable.tsx:319 #: src/tables/plugin/PluginErrorTable.tsx:33 -#: src/tables/plugin/PluginListTable.tsx:169 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:27 +#: src/tables/plugin/PluginListTable.tsx:126 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:32 #: src/tables/settings/GroupTable.tsx:103 #: src/tables/settings/PendingTasksTable.tsx:26 +#: src/tables/stock/LocationTypesTable.tsx:60 msgid "Name" msgstr "" @@ -520,35 +579,20 @@ msgstr "" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/ApiFormField.tsx:276 -#: src/components/modals/LicenseModal.tsx:75 -#: src/components/nav/SearchDrawer.tsx:413 -#: src/components/widgets/MarkdownEditor.tsx:107 -#: src/components/widgets/MarkdownEditor.tsx:153 -#: src/pages/ErrorPage.tsx:12 -#: src/pages/ErrorPage.tsx:25 -#: src/pages/part/PartPricingPanel.tsx:71 -#: src/tables/InvenTreeTable.tsx:445 -#: src/tables/InvenTreeTable.tsx:525 -#: src/tables/plugin/PluginListTable.tsx:402 -#: src/tables/stock/StockItemTestResultTable.tsx:319 -msgid "Error" -msgstr "" - -#: src/components/forms/fields/RelatedModelField.tsx:305 +#: src/components/forms/fields/RelatedModelField.tsx:315 #: src/pages/Index/Settings/UserSettings.tsx:64 #: src/tables/Search.tsx:23 msgid "Search" msgstr "搜尋" -#: src/components/forms/fields/RelatedModelField.tsx:306 +#: src/components/forms/fields/RelatedModelField.tsx:316 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:120 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:308 +#: src/components/forms/fields/RelatedModelField.tsx:318 msgid "No results found" msgstr "找不到結果" @@ -569,54 +613,51 @@ msgstr "" msgid "Thumbnail" msgstr "縮圖" -#: src/components/items/ActionDropdown.tsx:112 -#: src/pages/build/BuildDetail.tsx:354 +#: src/components/items/ActionDropdown.tsx:119 +#: src/pages/build/BuildDetail.tsx:360 msgid "Barcode Actions" msgstr "" -#: src/components/items/ActionDropdown.tsx:129 +#: src/components/items/ActionDropdown.tsx:136 msgid "View" msgstr "" -#: src/components/items/ActionDropdown.tsx:130 +#: src/components/items/ActionDropdown.tsx:137 msgid "View barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:146 +#: src/components/items/ActionDropdown.tsx:153 msgid "Link Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:147 +#: src/components/items/ActionDropdown.tsx:154 msgid "Link custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:163 -#: src/forms/PurchaseOrderForms.tsx:375 +#: src/components/items/ActionDropdown.tsx:170 +#: src/forms/PurchaseOrderForms.tsx:389 msgid "Unlink Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:164 +#: src/components/items/ActionDropdown.tsx:171 msgid "Unlink custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:182 +#: src/components/items/ActionDropdown.tsx:189 #: src/tables/RowActions.tsx:51 -#: src/tables/settings/TemplateTable.tsx:87 -#: src/tables/settings/TemplateTable.tsx:150 -#: src/tables/settings/TemplateTable.tsx:287 msgid "Edit" msgstr "" -#: src/components/items/ActionDropdown.tsx:204 +#: src/components/items/ActionDropdown.tsx:211 msgid "Delete item" msgstr "" -#: src/components/items/ActionDropdown.tsx:241 +#: src/components/items/ActionDropdown.tsx:248 #: src/tables/RowActions.tsx:31 msgid "Duplicate" msgstr "" -#: src/components/items/ActionDropdown.tsx:242 +#: src/components/items/ActionDropdown.tsx:249 msgid "Duplicate item" msgstr "" @@ -625,7 +666,7 @@ msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:437 +#: src/tables/InvenTreeTable.tsx:443 msgid "Unknown error" msgstr "" @@ -785,27 +826,27 @@ msgstr "" #: src/components/modals/QrCodeModal.tsx:154 #: src/defaults/menuItems.tsx:21 -#: src/pages/Index/Scan.tsx:747 +#: src/pages/Index/Scan.tsx:746 msgid "Scanning" msgstr "" #: src/components/modals/QrCodeModal.tsx:154 -#: src/pages/Index/Scan.tsx:747 +#: src/pages/Index/Scan.tsx:746 msgid "Not scanning" msgstr "" #: src/components/modals/QrCodeModal.tsx:159 -#: src/pages/Index/Scan.tsx:753 +#: src/pages/Index/Scan.tsx:752 msgid "Select Camera" msgstr "" #: src/components/modals/QrCodeModal.tsx:169 -#: src/pages/Index/Scan.tsx:738 +#: src/pages/Index/Scan.tsx:737 msgid "Start scanning" msgstr "" #: src/components/modals/QrCodeModal.tsx:176 -#: src/pages/Index/Scan.tsx:730 +#: src/pages/Index/Scan.tsx:729 msgid "Stop scanning" msgstr "" @@ -891,8 +932,8 @@ msgid "Email settings not configured" msgstr "" #: src/components/modals/ServerInfoModal.tsx:121 -#: src/tables/plugin/PluginListTable.tsx:187 -#: src/tables/plugin/PluginListTable.tsx:319 +#: src/tables/plugin/PluginListTable.tsx:144 +#: src/tables/plugin/PluginListTable.tsx:294 msgid "Version" msgstr "" @@ -926,13 +967,13 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:293 +#: src/pages/Index/Settings/SystemSettings.tsx:294 msgid "System Settings" msgstr "" #: src/components/nav/MainMenu.tsx:67 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:172 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:192 msgid "Admin Center" msgstr "" @@ -975,7 +1016,7 @@ msgid "Pages" msgstr "" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:133 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:153 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "" @@ -1013,9 +1054,9 @@ msgid "Mark as read" msgstr "" #: src/components/nav/PartCategoryTree.tsx:158 -#: src/components/render/ModelType.tsx:60 +#: src/components/render/ModelType.tsx:64 #: src/pages/Index/Settings/SystemSettings.tsx:162 -#: src/pages/part/CategoryDetail.tsx:248 +#: src/pages/part/CategoryDetail.tsx:249 msgid "Part Categories" msgstr "" @@ -1052,142 +1093,147 @@ msgid "No results available for search query" msgstr "" #: src/components/nav/StockLocationTree.tsx:93 -#: src/components/render/ModelType.tsx:76 -#: src/pages/stock/LocationDetail.tsx:175 +#: src/components/render/ModelType.tsx:82 +#: src/pages/stock/LocationDetail.tsx:185 msgid "Stock Locations" msgstr "" -#: src/components/render/Instance.tsx:137 +#: src/components/render/Instance.tsx:166 msgid "Unknown model: {model}" msgstr "" -#: src/components/render/ModelType.tsx:21 -#: src/forms/BuildForms.tsx:184 -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49 +#: src/components/render/ModelType.tsx:22 +#: src/forms/BuildForms.tsx:201 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:83 #: src/pages/part/PartDetail.tsx:828 #: src/tables/part/RelatedPartTable.tsx:45 +#: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" msgstr "" -#: src/components/render/ModelType.tsx:22 +#: src/components/render/ModelType.tsx:23 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:33 #: src/pages/Index/Settings/SystemSettings.tsx:167 -#: src/pages/part/CategoryDetail.tsx:109 -#: src/pages/part/CategoryDetail.tsx:234 -#: src/pages/part/CategoryDetail.tsx:264 -#: src/pages/part/PartDetail.tsx:638 +#: src/pages/part/CategoryDetail.tsx:110 +#: src/pages/part/CategoryDetail.tsx:235 +#: src/pages/part/CategoryDetail.tsx:265 +#: src/pages/part/PartDetail.tsx:639 msgid "Parts" msgstr "" -#: src/components/render/ModelType.tsx:29 +#: src/components/render/ModelType.tsx:31 msgid "Part Parameter Template" msgstr "" -#: src/components/render/ModelType.tsx:30 +#: src/components/render/ModelType.tsx:32 msgid "Part Parameter Templates" msgstr "" -#: src/components/render/ModelType.tsx:36 +#: src/components/render/ModelType.tsx:38 msgid "Part Test Template" msgstr "" -#: src/components/render/ModelType.tsx:37 +#: src/components/render/ModelType.tsx:39 msgid "Part Test Templates" msgstr "" -#: src/components/render/ModelType.tsx:43 -#: src/pages/company/SupplierPartDetail.tsx:189 -#: src/pages/company/SupplierPartDetail.tsx:317 -#: src/pages/stock/StockDetail.tsx:159 +#: src/components/render/ModelType.tsx:45 +#: src/pages/company/SupplierPartDetail.tsx:190 +#: src/pages/company/SupplierPartDetail.tsx:318 +#: src/pages/stock/StockDetail.tsx:162 #: src/tables/purchasing/SupplierPartTable.tsx:68 msgid "Supplier Part" msgstr "" -#: src/components/render/ModelType.tsx:44 +#: src/components/render/ModelType.tsx:46 msgid "Supplier Parts" msgstr "" -#: src/components/render/ModelType.tsx:51 -#: src/pages/company/ManufacturerPartDetail.tsx:124 +#: src/components/render/ModelType.tsx:54 +#: src/pages/company/ManufacturerPartDetail.tsx:125 msgid "Manufacturer Part" msgstr "" -#: src/components/render/ModelType.tsx:52 +#: src/components/render/ModelType.tsx:55 msgid "Manufacturer Parts" msgstr "" -#: src/components/render/ModelType.tsx:59 -#: src/pages/part/CategoryDetail.tsx:287 +#: src/components/render/ModelType.tsx:63 +#: src/pages/part/CategoryDetail.tsx:288 msgid "Part Category" msgstr "" -#: src/components/render/ModelType.tsx:67 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67 -#: src/pages/stock/StockDetail.tsx:535 +#: src/components/render/ModelType.tsx:72 +#: src/pages/stock/StockDetail.tsx:548 +#: src/tables/stock/StockTrackingTable.tsx:45 msgid "Stock Item" msgstr "" -#: src/components/render/ModelType.tsx:68 -#: src/pages/company/CompanyDetail.tsx:197 -#: src/pages/stock/LocationDetail.tsx:116 -#: src/pages/stock/LocationDetail.tsx:161 +#: src/components/render/ModelType.tsx:73 +#: src/pages/company/CompanyDetail.tsx:199 +#: src/pages/stock/LocationDetail.tsx:118 +#: src/pages/stock/LocationDetail.tsx:171 #: src/pages/stock/LocationDetail.tsx:365 msgid "Stock Items" msgstr "" -#: src/components/render/ModelType.tsx:75 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:154 +#: src/components/render/ModelType.tsx:81 msgid "Stock Location" msgstr "" -#: src/components/render/ModelType.tsx:83 +#: src/components/render/ModelType.tsx:90 +msgid "Stock Location Type" +msgstr "" + +#: src/components/render/ModelType.tsx:91 +msgid "Stock Location Types" +msgstr "" + +#: src/components/render/ModelType.tsx:95 msgid "Stock History" msgstr "" -#: src/components/render/ModelType.tsx:84 +#: src/components/render/ModelType.tsx:96 msgid "Stock Histories" msgstr "" -#: src/components/render/ModelType.tsx:88 +#: src/components/render/ModelType.tsx:100 #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:43 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:126 msgid "Build" msgstr "" -#: src/components/render/ModelType.tsx:89 +#: src/components/render/ModelType.tsx:101 msgid "Builds" msgstr "" -#: src/components/render/ModelType.tsx:96 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:76 +#: src/components/render/ModelType.tsx:109 msgid "Build Line" msgstr "" -#: src/components/render/ModelType.tsx:97 +#: src/components/render/ModelType.tsx:110 msgid "Build Lines" msgstr "" -#: src/components/render/ModelType.tsx:104 -#: src/pages/company/CompanyDetail.tsx:321 +#: src/components/render/ModelType.tsx:117 +#: src/pages/company/CompanyDetail.tsx:323 msgid "Company" msgstr "" -#: src/components/render/ModelType.tsx:105 +#: src/components/render/ModelType.tsx:118 msgid "Companies" msgstr "" -#: src/components/render/ModelType.tsx:112 +#: src/components/render/ModelType.tsx:126 #: src/tables/TableHoverCard.tsx:58 #: src/tables/build/BuildOrderTable.tsx:131 #: src/tables/purchasing/PurchaseOrderTable.tsx:64 @@ -1196,170 +1242,199 @@ msgstr "" msgid "Project Code" msgstr "" -#: src/components/render/ModelType.tsx:113 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:97 +#: src/components/render/ModelType.tsx:127 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:105 msgid "Project Codes" msgstr "" -#: src/components/render/ModelType.tsx:119 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99 +#: src/components/render/ModelType.tsx:133 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:355 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:362 +#: src/tables/stock/StockTrackingTable.tsx:107 msgid "Purchase Order" msgstr "" -#: src/components/render/ModelType.tsx:120 -#: src/pages/Index/Settings/SystemSettings.tsx:242 -#: src/pages/company/CompanyDetail.tsx:190 -#: src/pages/company/SupplierPartDetail.tsx:223 -#: src/pages/part/PartDetail.tsx:571 +#: src/components/render/ModelType.tsx:134 +#: src/pages/Index/Settings/SystemSettings.tsx:243 +#: src/pages/company/CompanyDetail.tsx:192 +#: src/pages/company/SupplierPartDetail.tsx:224 +#: src/pages/part/PartDetail.tsx:572 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" -#: src/components/render/ModelType.tsx:127 +#: src/components/render/ModelType.tsx:142 msgid "Purchase Order Line" msgstr "" -#: src/components/render/ModelType.tsx:128 +#: src/components/render/ModelType.tsx:143 msgid "Purchase Order Lines" msgstr "" -#: src/components/render/ModelType.tsx:132 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:108 +#: src/components/render/ModelType.tsx:147 #: src/pages/build/BuildDetail.tsx:131 -#: src/pages/sales/SalesOrderDetail.tsx:340 -#: src/pages/stock/StockDetail.tsx:207 +#: src/pages/sales/SalesOrderDetail.tsx:347 +#: src/pages/stock/StockDetail.tsx:210 +#: src/tables/stock/StockTrackingTable.tsx:118 msgid "Sales Order" msgstr "" -#: src/components/render/ModelType.tsx:133 -#: src/pages/Index/Settings/SystemSettings.tsx:257 -#: src/pages/company/CompanyDetail.tsx:210 -#: src/pages/part/PartDetail.tsx:577 +#: src/components/render/ModelType.tsx:148 +#: src/pages/Index/Settings/SystemSettings.tsx:258 +#: src/pages/company/CompanyDetail.tsx:212 +#: src/pages/part/PartDetail.tsx:578 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" -#: src/components/render/ModelType.tsx:140 +#: src/components/render/ModelType.tsx:156 msgid "Sales Order Shipment" msgstr "" -#: src/components/render/ModelType.tsx:141 +#: src/components/render/ModelType.tsx:157 msgid "Sales Order Shipments" msgstr "" -#: src/components/render/ModelType.tsx:147 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:117 -#: src/pages/sales/ReturnOrderDetail.tsx:318 +#: src/components/render/ModelType.tsx:163 +#: src/pages/sales/ReturnOrderDetail.tsx:325 +#: src/tables/stock/StockTrackingTable.tsx:129 msgid "Return Order" msgstr "" -#: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:272 -#: src/pages/company/CompanyDetail.tsx:217 +#: src/components/render/ModelType.tsx:164 +#: src/pages/Index/Settings/SystemSettings.tsx:273 +#: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" msgstr "" -#: src/components/render/ModelType.tsx:155 +#: src/components/render/ModelType.tsx:172 #: src/tables/company/AddressTable.tsx:47 msgid "Address" msgstr "" -#: src/components/render/ModelType.tsx:156 -#: src/pages/company/CompanyDetail.tsx:247 +#: src/components/render/ModelType.tsx:173 +#: src/pages/company/CompanyDetail.tsx:249 msgid "Addresses" msgstr "" -#: src/components/render/ModelType.tsx:162 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:189 -#: src/pages/sales/ReturnOrderDetail.tsx:157 -#: src/pages/sales/SalesOrderDetail.tsx:161 +#: src/components/render/ModelType.tsx:179 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:191 +#: src/pages/sales/ReturnOrderDetail.tsx:159 +#: src/pages/sales/SalesOrderDetail.tsx:163 msgid "Contact" msgstr "" -#: src/components/render/ModelType.tsx:163 -#: src/pages/company/CompanyDetail.tsx:241 +#: src/components/render/ModelType.tsx:180 +#: src/pages/company/CompanyDetail.tsx:243 msgid "Contacts" msgstr "" -#: src/components/render/ModelType.tsx:169 +#: src/components/render/ModelType.tsx:186 msgid "Owner" msgstr "" -#: src/components/render/ModelType.tsx:170 +#: src/components/render/ModelType.tsx:187 msgid "Owners" msgstr "" -#: src/components/render/ModelType.tsx:176 +#: src/components/render/ModelType.tsx:193 +#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "" -#: src/components/render/ModelType.tsx:177 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:73 +#: src/components/render/ModelType.tsx:194 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:81 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "" -#: src/components/render/Order.tsx:87 +#: src/components/render/ModelType.tsx:200 +msgid "Label Template" +msgstr "" + +#: src/components/render/ModelType.tsx:201 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:135 +msgid "Label Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:207 +msgid "Report Template" +msgstr "" + +#: src/components/render/ModelType.tsx:208 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:141 +msgid "Report Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:214 +msgid "Plugin Configuration" +msgstr "" + +#: src/components/render/ModelType.tsx:215 +msgid "Plugin Configurations" +msgstr "" + +#: src/components/render/Order.tsx:104 msgid "Shipment" msgstr "" -#: src/components/render/Part.tsx:12 +#: src/components/render/Part.tsx:15 #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:198 -#: src/pages/part/PartDetail.tsx:491 +#: src/pages/Index/Settings/SystemSettings.tsx:199 +#: src/pages/part/PartDetail.tsx:492 #: src/pages/stock/LocationDetail.tsx:344 -#: src/pages/stock/StockDetail.tsx:344 +#: src/pages/stock/StockDetail.tsx:352 #: src/tables/stock/StockItemTable.tsx:57 msgid "Stock" msgstr "" -#: src/components/render/Stock.tsx:26 -#: src/pages/stock/StockDetail.tsx:142 -#: src/pages/stock/StockDetail.tsx:501 +#: src/components/render/Stock.tsx:52 +#: src/pages/stock/StockDetail.tsx:145 +#: src/pages/stock/StockDetail.tsx:514 msgid "Serial Number" msgstr "" -#: src/components/render/Stock.tsx:28 -#: src/forms/BuildForms.tsx:189 +#: src/components/render/Stock.tsx:54 +#: src/forms/BuildForms.tsx:206 #: src/pages/part/pricing/BomPricingPanel.tsx:144 -#: src/pages/part/pricing/PriceBreakPanel.tsx:96 -#: src/pages/stock/StockDetail.tsx:137 -#: src/pages/stock/StockDetail.tsx:507 +#: src/pages/part/pricing/PriceBreakPanel.tsx:94 +#: src/pages/stock/StockDetail.tsx:140 +#: src/pages/stock/StockDetail.tsx:520 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:73 +#: src/tables/stock/StockTrackingTable.tsx:59 msgid "Quantity" msgstr "" -#: src/components/settings/SettingItem.tsx:46 -#: src/components/settings/SettingItem.tsx:99 -msgid "Setting updated" -msgstr "" - #: src/components/settings/SettingItem.tsx:47 #: src/components/settings/SettingItem.tsx:100 -msgid "{0} updated successfully" -msgstr "" +#~ msgid "{0} updated successfully" +#~ msgstr "{0} updated successfully" -#: src/components/settings/SettingItem.tsx:55 -msgid "Error editing setting" -msgstr "" - -#: src/components/settings/SettingItem.tsx:92 +#: src/components/settings/SettingList.tsx:67 msgid "Edit Setting" msgstr "" -#: src/components/settings/SettingList.tsx:63 -msgid "No settings specified" +#: src/components/settings/SettingList.tsx:78 +#: src/components/settings/SettingList.tsx:108 +msgid "Setting {0} updated successfully" msgstr "" -#: src/components/tables/ColumnRenderers.tsx:134 -#~ msgid "Shipment Date" -#~ msgstr "Shipment Date" +#: src/components/settings/SettingList.tsx:107 +msgid "Setting updated" +msgstr "" + +#: src/components/settings/SettingList.tsx:117 +msgid "Error editing setting" +msgstr "" + +#: src/components/settings/SettingList.tsx:158 +msgid "No settings specified" +msgstr "" #: src/components/tables/FilterGroup.tsx:29 #~ msgid "Add table filter" @@ -1731,10 +1806,6 @@ msgstr "" #~ msgid "This is a test filter" #~ msgstr "This is a test filter" -#: src/components/tables/stock/StockLocationTable.tsx:91 -#~ msgid "Location Type" -#~ msgstr "Location Type" - #: src/components/tables/stock/StockLocationTable.tsx:145 #~ msgid "Stock location updated" #~ msgstr "Stock location updated" @@ -2072,7 +2143,7 @@ msgstr "" #~ msgstr "Local Server" #: src/defaults/links.tsx:11 -#: src/pages/company/CompanyDetail.tsx:90 +#: src/pages/company/CompanyDetail.tsx:92 msgid "Website" msgstr "" @@ -2087,10 +2158,10 @@ msgstr "" #: src/defaults/links.tsx:31 #: src/defaults/menuItems.tsx:48 #: src/pages/company/ManufacturerDetail.tsx:9 -#: src/pages/company/ManufacturerPartDetail.tsx:231 +#: src/pages/company/ManufacturerPartDetail.tsx:235 #: src/pages/company/SupplierDetail.tsx:9 -#: src/pages/company/SupplierPartDetail.tsx:291 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:358 +#: src/pages/company/SupplierPartDetail.tsx:292 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:365 #: src/pages/purchasing/PurchasingIndex.tsx:52 msgid "Purchasing" msgstr "" @@ -2098,15 +2169,15 @@ msgstr "" #: src/defaults/links.tsx:32 #: src/defaults/menuItems.tsx:53 #: src/pages/company/CustomerDetail.tsx:9 -#: src/pages/sales/ReturnOrderDetail.tsx:323 +#: src/pages/sales/ReturnOrderDetail.tsx:330 #: src/pages/sales/SalesIndex.tsx:45 -#: src/pages/sales/SalesOrderDetail.tsx:345 +#: src/pages/sales/SalesOrderDetail.tsx:352 msgid "Sales" msgstr "" #: src/defaults/links.tsx:35 #: src/defaults/menuItems.tsx:71 -#: src/pages/Index/Playground.tsx:239 +#: src/pages/Index/Playground.tsx:238 msgid "Playground" msgstr "" @@ -2240,87 +2311,83 @@ msgstr "" #~ msgstr "Combusken battles with the intensely hot flames it spews" #: src/forms/AttachmentForms.tsx:57 -msgid "Add File" -msgstr "" +#~ msgid "Add File" +#~ msgstr "Add File" #: src/forms/AttachmentForms.tsx:57 -msgid "Add Link" -msgstr "" +#~ msgid "Add Link" +#~ msgstr "Add Link" #: src/forms/AttachmentForms.tsx:58 -msgid "File added" -msgstr "" +#~ msgid "File added" +#~ msgstr "File added" #: src/forms/AttachmentForms.tsx:58 -msgid "Link added" -msgstr "" +#~ msgid "Link added" +#~ msgstr "Link added" #: src/forms/AttachmentForms.tsx:99 -msgid "Edit File" -msgstr "" +#~ msgid "Edit File" +#~ msgstr "Edit File" #: src/forms/AttachmentForms.tsx:99 -msgid "Edit Link" -msgstr "" +#~ msgid "Edit Link" +#~ msgstr "Edit Link" #: src/forms/AttachmentForms.tsx:100 -msgid "File updated" -msgstr "" +#~ msgid "File updated" +#~ msgstr "File updated" #: src/forms/AttachmentForms.tsx:100 -msgid "Link updated" -msgstr "" - -#: src/forms/AttachmentForms.tsx:124 -msgid "Delete Attachment" -msgstr "" +#~ msgid "Link updated" +#~ msgstr "Link updated" #: src/forms/AttachmentForms.tsx:125 -msgid "Attachment deleted" -msgstr "" +#~ msgid "Attachment deleted" +#~ msgstr "Attachment deleted" #: src/forms/AttachmentForms.tsx:128 -msgid "Are you sure you want to delete this attachment?" -msgstr "" +#~ msgid "Are you sure you want to delete this attachment?" +#~ msgstr "Are you sure you want to delete this attachment?" -#: src/forms/BuildForms.tsx:129 +#: src/forms/BuildForms.tsx:146 msgid "Next serial number" msgstr "" -#: src/forms/BuildForms.tsx:133 +#: src/forms/BuildForms.tsx:150 msgid "Latest serial number" msgstr "" -#: src/forms/BuildForms.tsx:205 +#: src/forms/BuildForms.tsx:222 msgid "Remove output" msgstr "" -#: src/forms/BuildForms.tsx:287 +#: src/forms/BuildForms.tsx:304 msgid "Complete Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:291 +#: src/forms/BuildForms.tsx:308 msgid "Build outputs have been completed" msgstr "" -#: src/forms/BuildForms.tsx:360 +#: src/forms/BuildForms.tsx:377 msgid "Scrap Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:364 +#: src/forms/BuildForms.tsx:381 msgid "Build outputs have been scrapped" msgstr "" -#: src/forms/BuildForms.tsx:396 -#: src/forms/BuildForms.tsx:420 +#: src/forms/BuildForms.tsx:413 +#: src/forms/BuildForms.tsx:437 msgid "Cancel Build Outputs" msgstr "" -#: src/forms/BuildForms.tsx:397 +#: src/forms/BuildForms.tsx:414 msgid "Selected build outputs will be deleted" msgstr "" -#: src/forms/BuildForms.tsx:424 +#: src/forms/BuildForms.tsx:441 msgid "Build outputs have been cancelled" msgstr "" @@ -2344,76 +2411,76 @@ msgstr "" #~ msgid "Part updated" #~ msgstr "Part updated" -#: src/forms/PurchaseOrderForms.tsx:265 +#: src/forms/PurchaseOrderForms.tsx:279 msgid "Choose Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:273 +#: src/forms/PurchaseOrderForms.tsx:287 msgid "Item Destination selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:282 +#: src/forms/PurchaseOrderForms.tsx:296 msgid "Part category default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:292 +#: src/forms/PurchaseOrderForms.tsx:306 msgid "Received stock location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:297 +#: src/forms/PurchaseOrderForms.tsx:311 msgid "Default location selected" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:308 -#: src/forms/PurchaseOrderForms.tsx:384 +#: src/forms/PurchaseOrderForms.tsx:322 +#: src/forms/PurchaseOrderForms.tsx:398 msgid "Scan Barcode" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:352 +#: src/forms/PurchaseOrderForms.tsx:366 msgid "Set Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:359 +#: src/forms/PurchaseOrderForms.tsx:373 msgid "Assign Batch Code{0}" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:368 +#: src/forms/PurchaseOrderForms.tsx:382 msgid "Change Status" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:393 -#: src/forms/StockForms.tsx:351 +#: src/forms/PurchaseOrderForms.tsx:407 +#: src/forms/StockForms.tsx:392 msgid "Remove item from list" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:418 -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:58 -#: src/pages/stock/StockDetail.tsx:167 -#: src/tables/ColumnRenderers.tsx:42 +#: src/forms/PurchaseOrderForms.tsx:432 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/pages/stock/StockDetail.tsx:170 +#: src/tables/ColumnRenderers.tsx:34 +#: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:434 +#: src/forms/PurchaseOrderForms.tsx:448 msgid "Store at default location" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:447 +#: src/forms/PurchaseOrderForms.tsx:461 msgid "Store at line item destination" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:457 +#: src/forms/PurchaseOrderForms.tsx:471 msgid "Store with already received stock" msgstr "" -#: src/forms/PurchaseOrderForms.tsx:613 +#: src/forms/PurchaseOrderForms.tsx:627 msgid "Receive Line Items" msgstr "" @@ -2421,119 +2488,118 @@ msgstr "" #~ msgid "Receive line items" #~ msgstr "Receive line items" -#: src/forms/StockForms.tsx:69 +#: src/forms/StockForms.tsx:101 msgid "Add given quantity as packs instead of individual items" msgstr "" -#: src/forms/StockForms.tsx:80 -msgid "Enter initial quantity for this stock item" -msgstr "" - -#: src/forms/StockForms.tsx:85 -msgid "Serial Numbers" -msgstr "" - -#: src/forms/StockForms.tsx:86 -msgid "Enter serial numbers for new stock (or leave blank)" -msgstr "" - #: src/forms/StockForms.tsx:110 #~ msgid "Create Stock Item" #~ msgstr "Create Stock Item" -#: src/forms/StockForms.tsx:135 -#: src/pages/stock/StockDetail.tsx:367 -#: src/tables/stock/StockItemTable.tsx:382 -#: src/tables/stock/StockItemTable.tsx:499 -msgid "Add Stock Item" +#: src/forms/StockForms.tsx:114 +msgid "Enter initial quantity for this stock item" +msgstr "" + +#: src/forms/StockForms.tsx:121 +msgid "Serial Numbers" +msgstr "" + +#: src/forms/StockForms.tsx:122 +msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" #: src/forms/StockForms.tsx:158 #~ msgid "Stock item updated" #~ msgstr "Stock item updated" -#: src/forms/StockForms.tsx:298 +#: src/forms/StockForms.tsx:176 +#: src/pages/stock/StockDetail.tsx:375 +#: src/tables/stock/StockItemTable.tsx:382 +#: src/tables/stock/StockItemTable.tsx:499 +msgid "Add Stock Item" +msgstr "" + +#: src/forms/StockForms.tsx:339 msgid "Loading..." msgstr "" -#: src/forms/StockForms.tsx:340 +#: src/forms/StockForms.tsx:381 msgid "Move to default location" msgstr "" -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/pages/part/PartDetail.tsx:205 -#: src/pages/part/PartDetail.tsx:654 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/pages/part/PartDetail.tsx:206 +#: src/pages/part/PartDetail.tsx:655 #: src/tables/stock/StockItemTable.tsx:290 msgid "In Stock" msgstr "" -#: src/forms/StockForms.tsx:408 +#: src/forms/StockForms.tsx:449 msgid "Move" msgstr "" -#: src/forms/StockForms.tsx:408 -#: src/forms/StockForms.tsx:442 -#: src/forms/StockForms.tsx:471 -#: src/forms/StockForms.tsx:499 -#: src/forms/StockForms.tsx:530 -#: src/forms/StockForms.tsx:565 -#: src/forms/StockForms.tsx:607 -#: src/forms/StockForms.tsx:643 -#: src/tables/RowActions.tsx:147 +#: src/forms/StockForms.tsx:449 +#: src/forms/StockForms.tsx:483 +#: src/forms/StockForms.tsx:512 +#: src/forms/StockForms.tsx:540 +#: src/forms/StockForms.tsx:571 +#: src/forms/StockForms.tsx:606 +#: src/forms/StockForms.tsx:648 +#: src/forms/StockForms.tsx:684 +#: src/tables/RowActions.tsx:149 msgid "Actions" msgstr "" -#: src/forms/StockForms.tsx:471 -#: src/pages/stock/StockDetail.tsx:440 -#: src/tables/settings/TemplateTable.tsx:266 -#: src/tables/stock/StockItemTestResultTable.tsx:348 +#: src/forms/StockForms.tsx:512 +#: src/pages/stock/StockDetail.tsx:454 +#: src/tables/stock/StockItemTestResultTable.tsx:339 msgid "Add" msgstr "" -#: src/forms/StockForms.tsx:499 +#: src/forms/StockForms.tsx:540 #: src/pages/Index/Scan.tsx:266 -#: src/pages/stock/StockDetail.tsx:430 +#: src/pages/stock/StockDetail.tsx:444 msgid "Count" msgstr "" -#: src/forms/StockForms.tsx:744 +#: src/forms/StockForms.tsx:785 msgid "Add Stock" msgstr "" -#: src/forms/StockForms.tsx:753 +#: src/forms/StockForms.tsx:794 msgid "Remove Stock" msgstr "" -#: src/forms/StockForms.tsx:762 -#: src/pages/part/PartDetail.tsx:781 +#: src/forms/StockForms.tsx:803 +#: src/pages/part/PartDetail.tsx:782 msgid "Transfer Stock" msgstr "" -#: src/forms/StockForms.tsx:771 -#: src/pages/part/PartDetail.tsx:770 +#: src/forms/StockForms.tsx:812 +#: src/pages/part/PartDetail.tsx:771 msgid "Count Stock" msgstr "" -#: src/forms/StockForms.tsx:780 +#: src/forms/StockForms.tsx:821 msgid "Change Stock Status" msgstr "" -#: src/forms/StockForms.tsx:789 +#: src/forms/StockForms.tsx:830 msgid "Merge Stock" msgstr "" -#: src/forms/StockForms.tsx:808 +#: src/forms/StockForms.tsx:849 msgid "Delete Stock Items" msgstr "" -#: src/forms/StockForms.tsx:815 +#: src/forms/StockForms.tsx:856 msgid "Parent stock location" msgstr "" @@ -2728,7 +2794,7 @@ msgstr "" msgid "Welcome to your Dashboard{0}" msgstr "" -#: src/pages/Index/Playground.tsx:244 +#: src/pages/Index/Playground.tsx:243 msgid "This page is a showcase for the possibilities of Platform UI." msgstr "" @@ -3138,49 +3204,53 @@ msgstr "" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:79 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:87 msgid "Background Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:85 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:93 msgid "Error Reports" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:91 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:99 msgid "Currencies" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:109 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:117 msgid "Custom Units" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:115 -#: src/pages/part/CategoryDetail.tsx:254 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:123 +#: src/pages/part/CategoryDetail.tsx:255 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:121 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 +#~ msgid "Templates" +#~ msgstr "Templates" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:129 msgid "Category Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 -msgid "Templates" +#: src/pages/Index/Settings/AdminCenter/Index.tsx:147 +msgid "Location types" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:139 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:159 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:149 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:169 msgid "Quick Actions" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:154 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 msgid "Add a new user" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:173 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:193 msgid "Advanced Options" msgstr "" @@ -3225,26 +3295,32 @@ msgstr "" msgid "Plugin Settings" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:25 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:53 +msgid "Background Worker Not Running" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:54 +msgid "The background task manager service is not running. Contact your system administrator." +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:60 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:76 msgid "Pending Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:33 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:64 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:84 msgid "Scheduled Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:41 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:68 +#: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:92 msgid "Failed Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:139 -msgid "Labels" -msgstr "" - #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:39 -msgid "Label" -msgstr "" +#~ msgid "Label" +#~ msgstr "Label" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67 #~ msgid "Stock item" @@ -3255,13 +3331,13 @@ msgstr "" #~ msgstr "Build line" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:88 -msgid "Reports" -msgstr "" +#~ msgid "Reports" +#~ msgstr "Reports" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:89 #: src/pages/build/BuildDetail.tsx:373 -msgid "Report" -msgstr "" +#~ msgid "Report" +#~ msgstr "Report" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99 #~ msgid "Purchase order" @@ -3275,14 +3351,9 @@ msgstr "" #~ msgid "Return order" #~ msgstr "Return order" -#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135 -#: src/pages/part/PartDetail.tsx:518 -msgid "Bill of Materials" -msgstr "" - #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:145 -msgid "Tests" -msgstr "" +#~ msgid "Tests" +#~ msgstr "Tests" #: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:154 #~ msgid "Stock location" @@ -3321,26 +3392,30 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" +#: src/pages/Index/Settings/SystemSettings.tsx:139 +msgid "Labels" +msgstr "" + #: src/pages/Index/Settings/SystemSettings.tsx:145 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:223 -#: src/pages/part/PartDetail.tsx:589 +#: src/pages/Index/Settings/SystemSettings.tsx:224 +#: src/pages/part/PartDetail.tsx:590 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:228 -#: src/pages/build/BuildDetail.tsx:426 +#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:525 -#: src/pages/sales/SalesOrderDetail.tsx:263 +#: src/pages/part/PartDetail.tsx:526 +#: src/pages/sales/SalesOrderDetail.tsx:265 msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:296 +#: src/pages/Index/Settings/SystemSettings.tsx:297 msgid "Switch to User Setting" msgstr "" @@ -3397,44 +3472,47 @@ msgstr "" #~ msgstr "Build Status" #: src/pages/build/BuildDetail.tsx:89 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:128 -#: src/pages/sales/ReturnOrderDetail.tsx:95 -#: src/pages/sales/SalesOrderDetail.tsx:99 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:130 +#: src/pages/sales/ReturnOrderDetail.tsx:97 +#: src/pages/sales/SalesOrderDetail.tsx:101 #: src/tables/build/BuildOrderTable.tsx:113 #: src/tables/machine/MachineListTable.tsx:326 #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderTable.tsx:46 #: src/tables/sales/SalesOrderTable.tsx:52 #: src/tables/stock/StockItemTable.tsx:259 +#: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "" #: src/pages/build/BuildDetail.tsx:95 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:101 -#: src/pages/sales/ReturnOrderDetail.tsx:69 -#: src/pages/sales/SalesOrderDetail.tsx:73 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:103 +#: src/pages/sales/ReturnOrderDetail.tsx:71 +#: src/pages/sales/SalesOrderDetail.tsx:75 +#: src/tables/ColumnRenderers.tsx:106 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" msgstr "" #: src/pages/build/BuildDetail.tsx:100 -#: src/pages/company/CompanyDetail.tsx:84 -#: src/pages/company/ManufacturerPartDetail.tsx:75 -#: src/pages/company/SupplierPartDetail.tsx:82 -#: src/pages/part/CategoryDetail.tsx:91 -#: src/pages/part/PartDetail.tsx:132 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:122 -#: src/pages/sales/ReturnOrderDetail.tsx:89 -#: src/pages/sales/SalesOrderDetail.tsx:93 -#: src/pages/stock/LocationDetail.tsx:97 -#: src/tables/ColumnRenderers.tsx:95 +#: src/pages/company/CompanyDetail.tsx:86 +#: src/pages/company/ManufacturerPartDetail.tsx:76 +#: src/pages/company/SupplierPartDetail.tsx:83 +#: src/pages/part/CategoryDetail.tsx:92 +#: src/pages/part/PartDetail.tsx:133 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:124 +#: src/pages/sales/ReturnOrderDetail.tsx:91 +#: src/pages/sales/SalesOrderDetail.tsx:95 +#: src/pages/stock/LocationDetail.tsx:99 +#: src/tables/ColumnRenderers.tsx:66 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 #: src/tables/machine/MachineTypeTable.tsx:323 #: src/tables/part/RelatedPartTable.tsx:64 -#: src/tables/plugin/PluginListTable.tsx:172 -#: src/tables/plugin/PluginListTable.tsx:302 +#: src/tables/plugin/PluginListTable.tsx:129 +#: src/tables/plugin/PluginListTable.tsx:276 +#: src/tables/stock/LocationTypesTable.tsx:65 msgid "Description" msgstr "" @@ -3447,7 +3525,7 @@ msgid "Build Quantity" msgstr "" #: src/pages/build/BuildDetail.tsx:126 -#: src/pages/build/BuildDetail.tsx:249 +#: src/pages/build/BuildDetail.tsx:256 msgid "Completed Outputs" msgstr "" @@ -3457,10 +3535,10 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:150 -#: src/pages/part/PartDetail.tsx:320 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:214 -#: src/pages/sales/ReturnOrderDetail.tsx:182 -#: src/pages/sales/SalesOrderDetail.tsx:186 +#: src/pages/part/PartDetail.tsx:321 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:184 +#: src/pages/sales/SalesOrderDetail.tsx:188 #: src/tables/build/BuildOrderTable.tsx:148 #: src/tables/purchasing/PurchaseOrderTable.tsx:75 #: src/tables/sales/ReturnOrderTable.tsx:66 @@ -3474,10 +3552,10 @@ msgid "Created" msgstr "" #: src/pages/build/BuildDetail.tsx:164 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:207 -#: src/pages/sales/ReturnOrderDetail.tsx:175 -#: src/pages/sales/SalesOrderDetail.tsx:179 -#: src/tables/ColumnRenderers.tsx:227 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:209 +#: src/pages/sales/ReturnOrderDetail.tsx:177 +#: src/pages/sales/SalesOrderDetail.tsx:181 +#: src/tables/ColumnRenderers.tsx:191 msgid "Target Date" msgstr "" @@ -3513,6 +3591,11 @@ msgstr "" #~ msgid "Unlink custom barcode from part" #~ msgstr "Unlink custom barcode from part" +#: src/pages/build/BuildDetail.tsx:197 +#: src/pages/stock/StockDetail.tsx:526 +msgid "Batch Code" +msgstr "" + #: src/pages/build/BuildDetail.tsx:202 #~ msgid "Build Order updated" #~ msgstr "Build Order updated" @@ -3521,86 +3604,87 @@ msgstr "" #~ msgid "Edit build order" #~ msgstr "Edit build order" -#: src/pages/build/BuildDetail.tsx:222 -msgid "Build Details" -msgstr "" - #: src/pages/build/BuildDetail.tsx:226 #~ msgid "Duplicate build order" #~ msgstr "Duplicate build order" -#: src/pages/build/BuildDetail.tsx:228 -#: src/tables/build/BuildLineTable.tsx:225 -msgid "Allocate Stock" +#: src/pages/build/BuildDetail.tsx:229 +msgid "Build Details" msgstr "" #: src/pages/build/BuildDetail.tsx:231 #~ msgid "Delete build order" #~ msgstr "Delete build order" -#: src/pages/build/BuildDetail.tsx:242 +#: src/pages/build/BuildDetail.tsx:235 +#: src/tables/build/BuildLineTable.tsx:225 +msgid "Allocate Stock" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:249 msgid "Incomplete Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:264 +#: src/pages/build/BuildDetail.tsx:271 msgid "Consumed Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:278 +#: src/pages/build/BuildDetail.tsx:285 msgid "Child Build Orders" msgstr "" -#: src/pages/build/BuildDetail.tsx:288 -#: src/pages/company/CompanyDetail.tsx:253 -#: src/pages/company/ManufacturerPartDetail.tsx:171 -#: src/pages/part/PartDetail.tsx:611 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:276 -#: src/pages/sales/ReturnOrderDetail.tsx:225 -#: src/pages/sales/SalesOrderDetail.tsx:273 -#: src/pages/stock/StockDetail.tsx:317 +#: src/pages/build/BuildDetail.tsx:295 +#: src/pages/company/CompanyDetail.tsx:255 +#: src/pages/company/ManufacturerPartDetail.tsx:172 +#: src/pages/part/PartDetail.tsx:612 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:278 +#: src/pages/sales/ReturnOrderDetail.tsx:227 +#: src/pages/sales/SalesOrderDetail.tsx:275 +#: src/pages/stock/StockDetail.tsx:325 msgid "Attachments" msgstr "" -#: src/pages/build/BuildDetail.tsx:300 -#: src/pages/company/CompanyDetail.tsx:265 -#: src/pages/part/PartDetail.tsx:623 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:288 -#: src/pages/sales/ReturnOrderDetail.tsx:237 -#: src/pages/sales/SalesOrderDetail.tsx:285 -#: src/pages/stock/StockDetail.tsx:329 +#: src/pages/build/BuildDetail.tsx:307 +#: src/pages/company/CompanyDetail.tsx:267 +#: src/pages/part/PartDetail.tsx:624 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:290 +#: src/pages/sales/ReturnOrderDetail.tsx:239 +#: src/pages/sales/SalesOrderDetail.tsx:287 +#: src/pages/stock/StockDetail.tsx:337 +#: src/tables/stock/StockTrackingTable.tsx:189 msgid "Notes" msgstr "" -#: src/pages/build/BuildDetail.tsx:318 +#: src/pages/build/BuildDetail.tsx:325 msgid "Edit Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:327 +#: src/pages/build/BuildDetail.tsx:334 msgid "Cancel Build Order" msgstr "" -#: src/pages/build/BuildDetail.tsx:339 +#: src/pages/build/BuildDetail.tsx:346 #: src/tables/build/BuildOrderTable.tsx:167 #: src/tables/build/BuildOrderTable.tsx:182 msgid "Add Build Order" msgstr "" #: src/pages/build/BuildDetail.tsx:368 -msgid "Reporting Actions" -msgstr "" +#~ msgid "Reporting Actions" +#~ msgstr "Reporting Actions" #: src/pages/build/BuildDetail.tsx:374 -msgid "Print build report" -msgstr "" +#~ msgid "Print build report" +#~ msgstr "Print build report" -#: src/pages/build/BuildDetail.tsx:380 +#: src/pages/build/BuildDetail.tsx:378 msgid "Build Order Actions" msgstr "" -#: src/pages/build/BuildDetail.tsx:388 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:326 -#: src/pages/sales/ReturnOrderDetail.tsx:300 -#: src/pages/sales/SalesOrderDetail.tsx:310 +#: src/pages/build/BuildDetail.tsx:386 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:333 +#: src/pages/sales/ReturnOrderDetail.tsx:307 +#: src/pages/sales/SalesOrderDetail.tsx:317 msgid "Cancel order" msgstr "" @@ -3612,56 +3696,58 @@ msgstr "" #~ msgid "New Build Order" #~ msgstr "New Build Order" -#: src/pages/company/CompanyDetail.tsx:98 +#: src/pages/company/CompanyDetail.tsx:100 msgid "Phone Number" msgstr "" -#: src/pages/company/CompanyDetail.tsx:105 +#: src/pages/company/CompanyDetail.tsx:107 msgid "Email Address" msgstr "" -#: src/pages/company/CompanyDetail.tsx:115 +#: src/pages/company/CompanyDetail.tsx:117 msgid "Default Currency" msgstr "" -#: src/pages/company/CompanyDetail.tsx:120 +#: src/pages/company/CompanyDetail.tsx:122 #: src/pages/company/SupplierDetail.tsx:8 -#: src/pages/company/SupplierPartDetail.tsx:106 -#: src/pages/company/SupplierPartDetail.tsx:192 -#: src/pages/company/SupplierPartDetail.tsx:295 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:116 +#: src/pages/company/SupplierPartDetail.tsx:107 +#: src/pages/company/SupplierPartDetail.tsx:193 +#: src/pages/company/SupplierPartDetail.tsx:296 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:118 #: src/tables/company/CompanyTable.tsx:100 #: src/tables/purchasing/PurchaseOrderTable.tsx:88 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:36 msgid "Supplier" msgstr "" -#: src/pages/company/CompanyDetail.tsx:126 +#: src/pages/company/CompanyDetail.tsx:128 #: src/pages/company/ManufacturerDetail.tsx:8 -#: src/pages/company/ManufacturerPartDetail.tsx:93 -#: src/pages/company/ManufacturerPartDetail.tsx:235 -#: src/pages/company/SupplierPartDetail.tsx:121 +#: src/pages/company/ManufacturerPartDetail.tsx:94 +#: src/pages/company/ManufacturerPartDetail.tsx:239 +#: src/pages/company/SupplierPartDetail.tsx:122 #: src/tables/company/CompanyTable.tsx:105 msgid "Manufacturer" msgstr "" -#: src/pages/company/CompanyDetail.tsx:132 +#: src/pages/company/CompanyDetail.tsx:134 #: src/pages/company/CustomerDetail.tsx:8 #: src/pages/part/pricing/SaleHistoryPanel.tsx:39 -#: src/pages/sales/ReturnOrderDetail.tsx:83 -#: src/pages/sales/SalesOrderDetail.tsx:87 -#: src/pages/stock/StockDetail.tsx:216 +#: src/pages/sales/ReturnOrderDetail.tsx:85 +#: src/pages/sales/SalesOrderDetail.tsx:89 +#: src/pages/stock/StockDetail.tsx:219 #: src/tables/company/CompanyTable.tsx:110 #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:107 +#: src/tables/stock/StockTrackingTable.tsx:140 msgid "Customer" msgstr "" -#: src/pages/company/CompanyDetail.tsx:166 +#: src/pages/company/CompanyDetail.tsx:168 +#: src/tables/stock/StockTrackingTable.tsx:183 msgid "Details" msgstr "" -#: src/pages/company/CompanyDetail.tsx:172 +#: src/pages/company/CompanyDetail.tsx:174 msgid "Manufactured Parts" msgstr "" @@ -3669,7 +3755,7 @@ msgstr "" #~ msgid "Edit company" #~ msgstr "Edit company" -#: src/pages/company/CompanyDetail.tsx:181 +#: src/pages/company/CompanyDetail.tsx:183 msgid "Supplied Parts" msgstr "" @@ -3677,289 +3763,289 @@ msgstr "" #~ msgid "Delete company" #~ msgstr "Delete company" -#: src/pages/company/CompanyDetail.tsx:226 +#: src/pages/company/CompanyDetail.tsx:228 msgid "Assigned Stock" msgstr "" -#: src/pages/company/CompanyDetail.tsx:281 +#: src/pages/company/CompanyDetail.tsx:283 #: src/tables/company/CompanyTable.tsx:86 msgid "Edit Company" msgstr "" -#: src/pages/company/CompanyDetail.tsx:290 +#: src/pages/company/CompanyDetail.tsx:292 msgid "Company Actions" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:68 -#: src/pages/company/SupplierPartDetail.tsx:75 +#: src/pages/company/ManufacturerPartDetail.tsx:69 +#: src/pages/company/SupplierPartDetail.tsx:76 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:72 msgid "Internal Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:83 -#: src/pages/company/SupplierPartDetail.tsx:89 +#: src/pages/company/ManufacturerPartDetail.tsx:84 +#: src/pages/company/SupplierPartDetail.tsx:90 msgid "External Link" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:101 -#: src/pages/company/SupplierPartDetail.tsx:130 -#: src/tables/purchasing/ManufacturerPartTable.tsx:53 +#: src/pages/company/ManufacturerPartDetail.tsx:102 +#: src/pages/company/SupplierPartDetail.tsx:131 +#: src/tables/purchasing/ManufacturerPartTable.tsx:56 msgid "Manufacturer Part Number" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:130 +#: src/pages/company/ManufacturerPartDetail.tsx:131 msgid "Manufacturer Details" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:139 +#: src/pages/company/ManufacturerPartDetail.tsx:140 msgid "Manufacturer Part Details" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:145 -#: src/pages/part/PartDetail.tsx:485 +#: src/pages/company/ManufacturerPartDetail.tsx:146 +#: src/pages/part/PartDetail.tsx:486 msgid "Parameters" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:157 -#: src/pages/part/PartDetail.tsx:558 +#: src/pages/company/ManufacturerPartDetail.tsx:158 +#: src/pages/part/PartDetail.tsx:559 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:189 -#: src/tables/purchasing/ManufacturerPartTable.tsx:97 +#: src/pages/company/ManufacturerPartDetail.tsx:190 +#: src/tables/purchasing/ManufacturerPartTable.tsx:84 msgid "Edit Manufacturer Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:196 -#: src/tables/purchasing/ManufacturerPartTable.tsx:63 -#: src/tables/purchasing/ManufacturerPartTable.tsx:78 +#: src/pages/company/ManufacturerPartDetail.tsx:197 +#: src/tables/purchasing/ManufacturerPartTable.tsx:72 +#: src/tables/purchasing/ManufacturerPartTable.tsx:103 msgid "Add Manufacturer Part" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:209 +#: src/pages/company/ManufacturerPartDetail.tsx:213 msgid "Manufacturer Part Actions" msgstr "" -#: src/pages/company/ManufacturerPartDetail.tsx:247 +#: src/pages/company/ManufacturerPartDetail.tsx:251 msgid "ManufacturerPart" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:96 -#: src/tables/ColumnRenderers.tsx:146 +#: src/pages/company/SupplierPartDetail.tsx:97 +#: src/tables/ColumnRenderers.tsx:117 msgid "Note" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:114 +#: src/pages/company/SupplierPartDetail.tsx:115 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:57 msgid "SKU" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:142 -#: src/pages/company/SupplierPartDetail.tsx:193 -#: src/pages/stock/StockDetail.tsx:230 +#: src/pages/company/SupplierPartDetail.tsx:143 +#: src/pages/company/SupplierPartDetail.tsx:194 +#: src/pages/stock/StockDetail.tsx:233 msgid "Packaging" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:149 +#: src/pages/company/SupplierPartDetail.tsx:150 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:107 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143 #: src/tables/purchasing/SupplierPartTable.tsx:131 msgid "Pack Quantity" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:160 +#: src/pages/company/SupplierPartDetail.tsx:161 msgid "Supplier Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:167 +#: src/pages/company/SupplierPartDetail.tsx:168 msgid "Availability Updated" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:194 +#: src/pages/company/SupplierPartDetail.tsx:195 msgid "Availability" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:203 +#: src/pages/company/SupplierPartDetail.tsx:204 msgid "Supplier Part Details" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:209 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:263 +#: src/pages/company/SupplierPartDetail.tsx:210 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:265 msgid "Received Stock" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:233 +#: src/pages/company/SupplierPartDetail.tsx:234 #: src/pages/part/PartPricingPanel.tsx:115 #: src/pages/part/pricing/PricingOverviewPanel.tsx:130 msgid "Supplier Pricing" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:248 +#: src/pages/company/SupplierPartDetail.tsx:249 msgid "Supplier Part Actions" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:272 +#: src/pages/company/SupplierPartDetail.tsx:273 #: src/tables/purchasing/SupplierPartTable.tsx:210 msgid "Edit Supplier Part" msgstr "" -#: src/pages/company/SupplierPartDetail.tsx:279 +#: src/pages/company/SupplierPartDetail.tsx:280 #: src/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "" -#: src/pages/part/CategoryDetail.tsx:83 -#: src/pages/stock/LocationDetail.tsx:89 +#: src/pages/part/CategoryDetail.tsx:84 +#: src/pages/stock/LocationDetail.tsx:91 #: src/tables/settings/ErrorTable.tsx:34 msgid "Path" msgstr "" -#: src/pages/part/CategoryDetail.tsx:99 +#: src/pages/part/CategoryDetail.tsx:100 msgid "Parent Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:116 +#: src/pages/part/CategoryDetail.tsx:117 msgid "Subcategories" msgstr "" -#: src/pages/part/CategoryDetail.tsx:123 -#: src/pages/stock/LocationDetail.tsx:129 -#: src/tables/part/PartCategoryTable.tsx:69 +#: src/pages/part/CategoryDetail.tsx:124 +#: src/pages/stock/LocationDetail.tsx:131 +#: src/tables/part/PartCategoryTable.tsx:65 msgid "Structural" msgstr "" -#: src/pages/part/CategoryDetail.tsx:129 +#: src/pages/part/CategoryDetail.tsx:130 msgid "Parent default location" msgstr "" -#: src/pages/part/CategoryDetail.tsx:136 +#: src/pages/part/CategoryDetail.tsx:137 msgid "Default location" msgstr "" -#: src/pages/part/CategoryDetail.tsx:147 +#: src/pages/part/CategoryDetail.tsx:148 msgid "Top level part category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:157 -#: src/pages/part/CategoryDetail.tsx:211 -#: src/tables/part/PartCategoryTable.tsx:96 +#: src/pages/part/CategoryDetail.tsx:158 +#: src/pages/part/CategoryDetail.tsx:212 +#: src/tables/part/PartCategoryTable.tsx:88 msgid "Edit Part Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:170 -#: src/pages/stock/LocationDetail.tsx:213 +#: src/pages/part/CategoryDetail.tsx:171 +#: src/pages/stock/LocationDetail.tsx:223 msgid "Delete items" msgstr "" -#: src/pages/part/CategoryDetail.tsx:178 -#: src/pages/part/CategoryDetail.tsx:216 +#: src/pages/part/CategoryDetail.tsx:179 +#: src/pages/part/CategoryDetail.tsx:217 msgid "Delete Part Category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:181 +#: src/pages/part/CategoryDetail.tsx:182 msgid "Parts Action" msgstr "" -#: src/pages/part/CategoryDetail.tsx:182 +#: src/pages/part/CategoryDetail.tsx:183 msgid "Action for parts in this category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:187 +#: src/pages/part/CategoryDetail.tsx:188 msgid "Child Categories Action" msgstr "" -#: src/pages/part/CategoryDetail.tsx:188 +#: src/pages/part/CategoryDetail.tsx:189 msgid "Action for child categories in this category" msgstr "" -#: src/pages/part/CategoryDetail.tsx:206 +#: src/pages/part/CategoryDetail.tsx:207 msgid "Category Actions" msgstr "" -#: src/pages/part/CategoryDetail.tsx:228 +#: src/pages/part/CategoryDetail.tsx:229 msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:138 +#: src/pages/part/PartDetail.tsx:139 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:145 +#: src/pages/part/PartDetail.tsx:146 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "" -#: src/pages/part/PartDetail.tsx:151 +#: src/pages/part/PartDetail.tsx:152 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:158 +#: src/pages/part/PartDetail.tsx:159 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:165 +#: src/pages/part/PartDetail.tsx:166 msgid "IPN" msgstr "" -#: src/pages/part/PartDetail.tsx:172 +#: src/pages/part/PartDetail.tsx:173 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:179 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39 +#: src/pages/part/PartDetail.tsx:180 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "" -#: src/pages/part/PartDetail.tsx:186 +#: src/pages/part/PartDetail.tsx:187 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:193 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:180 -#: src/pages/sales/ReturnOrderDetail.tsx:148 -#: src/pages/sales/SalesOrderDetail.tsx:152 +#: src/pages/part/PartDetail.tsx:194 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:182 +#: src/pages/sales/ReturnOrderDetail.tsx:150 +#: src/pages/sales/SalesOrderDetail.tsx:154 msgid "Link" msgstr "" -#: src/pages/part/PartDetail.tsx:211 -#: src/tables/bom/BomTable.tsx:269 +#: src/pages/part/PartDetail.tsx:212 +#: src/tables/bom/BomTable.tsx:271 #: src/tables/build/BuildLineTable.tsx:121 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:218 +#: src/pages/part/PartDetail.tsx:219 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:224 -#: src/tables/bom/BomTable.tsx:210 +#: src/pages/part/PartDetail.tsx:225 +#: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:233 +#: src/pages/part/PartDetail.tsx:234 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:241 +#: src/pages/part/PartDetail.tsx:242 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:248 -#: src/tables/bom/BomTable.tsx:234 +#: src/pages/part/PartDetail.tsx:249 +#: src/tables/bom/BomTable.tsx:236 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:255 -#: src/tables/bom/BomTable.tsx:218 +#: src/pages/part/PartDetail.tsx:256 +#: src/tables/bom/BomTable.tsx:220 #: src/tables/part/PartTable.tsx:82 msgid "Building" msgstr "" -#: src/pages/part/PartDetail.tsx:264 +#: src/pages/part/PartDetail.tsx:265 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 @@ -3968,45 +4054,47 @@ msgstr "" #: src/tables/machine/MachineListTable.tsx:585 #: src/tables/part/PartTable.tsx:168 #: src/tables/part/PartVariantTable.tsx:15 -#: src/tables/plugin/PluginListTable.tsx:190 -#: src/tables/plugin/PluginListTable.tsx:638 +#: src/tables/plugin/PluginListTable.tsx:149 +#: src/tables/plugin/PluginListTable.tsx:271 +#: src/tables/plugin/PluginListTable.tsx:563 #: src/tables/purchasing/SupplierPartTable.tsx:98 #: src/tables/purchasing/SupplierPartTable.tsx:187 #: src/tables/stock/StockItemTable.tsx:254 msgid "Active" msgstr "" -#: src/pages/part/PartDetail.tsx:269 +#: src/pages/part/PartDetail.tsx:270 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:274 -#: src/tables/bom/BomTable.tsx:264 +#: src/pages/part/PartDetail.tsx:275 +#: src/tables/bom/BomTable.tsx:266 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:279 +#: src/pages/part/PartDetail.tsx:280 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:284 -#: src/tables/bom/BomTable.tsx:259 +#: src/pages/part/PartDetail.tsx:285 +#: src/tables/bom/BomTable.tsx:261 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:289 +#: src/pages/part/PartDetail.tsx:290 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:294 +#: src/pages/part/PartDetail.tsx:295 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:299 +#: src/pages/part/PartDetail.tsx:300 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:307 +#: src/pages/part/PartDetail.tsx:308 +#: src/tables/ColumnRenderers.tsx:199 msgid "Creation Date" msgstr "" @@ -4014,7 +4102,7 @@ msgstr "" #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:312 +#: src/pages/part/PartDetail.tsx:313 msgid "Created By" msgstr "" @@ -4022,68 +4110,72 @@ msgstr "" #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:327 -msgid "Default Supplier" -msgstr "" - #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:338 +#: src/pages/part/PartDetail.tsx:328 +msgid "Default Supplier" +msgstr "" + +#: src/pages/part/PartDetail.tsx:339 #: src/tables/part/PartTable.tsx:151 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:373 -#: src/pages/stock/StockDetail.tsx:127 +#: src/pages/part/PartDetail.tsx:374 +#: src/pages/stock/StockDetail.tsx:130 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:408 +#: src/pages/part/PartDetail.tsx:409 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:479 +#: src/pages/part/PartDetail.tsx:480 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:505 +#: src/pages/part/PartDetail.tsx:506 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:512 -#: src/pages/stock/StockDetail.tsx:275 +#: src/pages/part/PartDetail.tsx:513 +#: src/pages/stock/StockDetail.tsx:283 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:532 +#: src/pages/part/PartDetail.tsx:519 +msgid "Bill of Materials" +msgstr "" + +#: src/pages/part/PartDetail.tsx:533 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:539 +#: src/pages/part/PartDetail.tsx:540 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:545 +#: src/pages/part/PartDetail.tsx:546 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:584 +#: src/pages/part/PartDetail.tsx:585 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:594 +#: src/pages/part/PartDetail.tsx:595 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:605 +#: src/pages/part/PartDetail.tsx:606 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:660 -#: src/pages/stock/StockDetail.tsx:148 +#: src/pages/part/PartDetail.tsx:661 +#: src/pages/stock/StockDetail.tsx:151 #: src/tables/build/BuildLineTable.tsx:36 #: src/tables/part/PartTable.tsx:107 #: src/tables/stock/StockItemTable.tsx:166 @@ -4091,49 +4183,51 @@ msgstr "" msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:666 +#: src/pages/part/PartDetail.tsx:667 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:672 -#: src/tables/bom/BomTable.tsx:274 +#: src/pages/part/PartDetail.tsx:673 +#: src/tables/bom/BomTable.tsx:276 #: src/tables/part/PartTable.tsx:76 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:678 -#: src/pages/stock/StockDetail.tsx:496 +#: src/pages/part/PartDetail.tsx:679 +#: src/pages/stock/StockDetail.tsx:509 #: src/tables/stock/StockItemTable.tsx:295 msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:697 +#: src/pages/part/PartDetail.tsx:698 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:704 +#: src/pages/part/PartDetail.tsx:705 #: src/tables/part/PartTable.tsx:266 #: src/tables/part/PartTable.tsx:279 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:716 +#: src/pages/part/PartDetail.tsx:717 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:725 +#: src/pages/part/PartDetail.tsx:726 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:763 +#: src/pages/part/PartDetail.tsx:764 +#: src/pages/stock/LocationDetail.tsx:301 +#: src/tables/stock/StockItemTable.tsx:409 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:771 +#: src/pages/part/PartDetail.tsx:772 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:782 +#: src/pages/part/PartDetail.tsx:783 msgid "Transfer part stock" msgstr "" @@ -4199,15 +4293,15 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151 #: src/pages/part/pricing/SupplierPricingPanel.tsx:83 -#: src/tables/bom/BomTable.tsx:149 +#: src/tables/bom/BomTable.tsx:151 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 msgid "Unit Price" msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:173 -#: src/tables/ColumnRenderers.tsx:278 -#: src/tables/bom/BomTable.tsx:158 +#: src/tables/ColumnRenderers.tsx:241 +#: src/tables/bom/BomTable.tsx:160 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 #: src/tables/sales/ReturnOrderTable.tsx:104 #: src/tables/sales/SalesOrderTable.tsx:134 @@ -4229,24 +4323,24 @@ msgid "Bar Chart" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:63 -#: src/pages/part/pricing/PriceBreakPanel.tsx:117 +#: src/pages/part/pricing/PriceBreakPanel.tsx:115 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:138 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:164 msgid "Add Price Break" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:76 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:149 msgid "Edit Price Break" msgstr "" #: src/pages/part/pricing/PriceBreakPanel.tsx:86 -#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161 +#: src/tables/purchasing/SupplierPriceBreakTable.tsx:157 msgid "Delete Price Break" msgstr "" -#: src/pages/part/pricing/PriceBreakPanel.tsx:102 -#: src/pages/part/pricing/PriceBreakPanel.tsx:193 +#: src/pages/part/pricing/PriceBreakPanel.tsx:100 +#: src/pages/part/pricing/PriceBreakPanel.tsx:191 msgid "Price Break" msgstr "" @@ -4275,7 +4369,7 @@ msgid "Overall Pricing" msgstr "" #: src/pages/part/pricing/PricingOverviewPanel.tsx:184 -#: src/pages/stock/StockDetail.tsx:121 +#: src/pages/stock/StockDetail.tsx:124 msgid "Last Updated" msgstr "" @@ -4309,9 +4403,8 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50 #: src/pages/part/pricing/SaleHistoryPanel.tsx:46 -#: src/tables/ColumnRenderers.tsx:217 -#: src/tables/plugin/PluginListTable.tsx:182 -#: src/tables/stock/StockItemTestResultTable.tsx:194 +#: src/tables/ColumnRenderers.tsx:180 +#: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" @@ -4338,89 +4431,89 @@ msgstr "" msgid "Variant Part" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:73 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:75 msgid "Edit Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:82 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:84 #: src/tables/purchasing/PurchaseOrderTable.tsx:128 #: src/tables/purchasing/PurchaseOrderTable.tsx:140 msgid "Add Purchase Order" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:107 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:109 msgid "Supplier Reference" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:137 -#: src/pages/purchasing/PurchaseOrderDetail.tsx:252 -#: src/pages/sales/ReturnOrderDetail.tsx:104 -#: src/pages/sales/ReturnOrderDetail.tsx:220 -#: src/pages/sales/SalesOrderDetail.tsx:108 -#: src/pages/sales/SalesOrderDetail.tsx:248 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:139 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:254 +#: src/pages/sales/ReturnOrderDetail.tsx:106 +#: src/pages/sales/ReturnOrderDetail.tsx:222 +#: src/pages/sales/SalesOrderDetail.tsx:110 +#: src/pages/sales/SalesOrderDetail.tsx:250 msgid "Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:144 -#: src/pages/sales/ReturnOrderDetail.tsx:111 -#: src/pages/sales/SalesOrderDetail.tsx:115 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:146 +#: src/pages/sales/ReturnOrderDetail.tsx:113 +#: src/pages/sales/SalesOrderDetail.tsx:117 msgid "Completed Line Items" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:152 -#: src/pages/sales/ReturnOrderDetail.tsx:119 -#: src/pages/sales/SalesOrderDetail.tsx:123 -#: src/pages/sales/SalesOrderDetail.tsx:258 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:154 +#: src/pages/sales/ReturnOrderDetail.tsx:121 +#: src/pages/sales/SalesOrderDetail.tsx:125 +#: src/pages/sales/SalesOrderDetail.tsx:260 msgid "Completed Shipments" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:159 -#: src/pages/sales/ReturnOrderDetail.tsx:127 -#: src/pages/sales/SalesOrderDetail.tsx:131 -msgid "Order Currency" -msgstr "" - #: src/pages/purchasing/PurchaseOrderDetail.tsx:159 #: src/pages/sales/ReturnOrderDetail.tsx:126 #: src/pages/sales/SalesOrderDetail.tsx:130 #~ msgid "Order Currency," #~ msgstr "Order Currency," -#: src/pages/purchasing/PurchaseOrderDetail.tsx:166 -#: src/pages/sales/ReturnOrderDetail.tsx:134 -#: src/pages/sales/SalesOrderDetail.tsx:138 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:161 +#: src/pages/sales/ReturnOrderDetail.tsx:129 +#: src/pages/sales/SalesOrderDetail.tsx:133 +msgid "Order Currency" +msgstr "" + +#: src/pages/purchasing/PurchaseOrderDetail.tsx:168 +#: src/pages/sales/ReturnOrderDetail.tsx:136 +#: src/pages/sales/SalesOrderDetail.tsx:140 msgid "Total Cost" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:201 -#: src/pages/sales/ReturnOrderDetail.tsx:169 -#: src/pages/sales/SalesOrderDetail.tsx:173 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:203 +#: src/pages/sales/ReturnOrderDetail.tsx:171 +#: src/pages/sales/SalesOrderDetail.tsx:175 msgid "Created On" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:246 -#: src/pages/sales/ReturnOrderDetail.tsx:214 -#: src/pages/sales/SalesOrderDetail.tsx:242 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:248 +#: src/pages/sales/ReturnOrderDetail.tsx:216 +#: src/pages/sales/SalesOrderDetail.tsx:244 msgid "Order Details" msgstr "" -#: src/pages/purchasing/PurchaseOrderDetail.tsx:316 -#: src/pages/sales/ReturnOrderDetail.tsx:290 -#: src/pages/sales/SalesOrderDetail.tsx:302 +#: src/pages/purchasing/PurchaseOrderDetail.tsx:323 +#: src/pages/sales/ReturnOrderDetail.tsx:297 +#: src/pages/sales/SalesOrderDetail.tsx:309 msgid "Order Actions" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:75 -#: src/pages/sales/SalesOrderDetail.tsx:79 +#: src/pages/sales/ReturnOrderDetail.tsx:77 +#: src/pages/sales/SalesOrderDetail.tsx:81 #: src/tables/sales/SalesOrderTable.tsx:123 msgid "Customer Reference" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:267 +#: src/pages/sales/ReturnOrderDetail.tsx:269 msgid "Edit Return Order" msgstr "" -#: src/pages/sales/ReturnOrderDetail.tsx:276 +#: src/pages/sales/ReturnOrderDetail.tsx:278 #: src/tables/sales/ReturnOrderTable.tsx:119 #: src/tables/sales/ReturnOrderTable.tsx:128 msgid "Add Return Order" @@ -4430,68 +4523,72 @@ msgstr "" msgid "Customers" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:219 +#: src/pages/sales/SalesOrderDetail.tsx:221 msgid "Edit Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:228 +#: src/pages/sales/SalesOrderDetail.tsx:230 #: src/tables/sales/SalesOrderTable.tsx:83 #: src/tables/sales/SalesOrderTable.tsx:95 msgid "Add Sales Order" msgstr "" -#: src/pages/sales/SalesOrderDetail.tsx:253 +#: src/pages/sales/SalesOrderDetail.tsx:255 msgid "Pending Shipments" msgstr "" -#: src/pages/stock/LocationDetail.tsx:105 +#: src/pages/stock/LocationDetail.tsx:107 msgid "Parent Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:123 +#: src/pages/stock/LocationDetail.tsx:125 msgid "Sublocations" msgstr "" -#: src/pages/stock/LocationDetail.tsx:135 +#: src/pages/stock/LocationDetail.tsx:137 msgid "External" msgstr "" -#: src/pages/stock/LocationDetail.tsx:144 +#: src/pages/stock/LocationDetail.tsx:143 +msgid "Location Type" +msgstr "" + +#: src/pages/stock/LocationDetail.tsx:154 msgid "Top level stock location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:155 +#: src/pages/stock/LocationDetail.tsx:165 msgid "Location Details" msgstr "" -#: src/pages/stock/LocationDetail.tsx:181 +#: src/pages/stock/LocationDetail.tsx:191 msgid "Default Parts" msgstr "" -#: src/pages/stock/LocationDetail.tsx:200 +#: src/pages/stock/LocationDetail.tsx:210 #: src/pages/stock/LocationDetail.tsx:328 -#: src/tables/stock/StockLocationTable.tsx:108 +#: src/tables/stock/StockLocationTable.tsx:100 msgid "Edit Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:221 +#: src/pages/stock/LocationDetail.tsx:231 #: src/pages/stock/LocationDetail.tsx:333 msgid "Delete Stock Location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:224 +#: src/pages/stock/LocationDetail.tsx:234 msgid "Items Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:225 +#: src/pages/stock/LocationDetail.tsx:235 msgid "Action for stock items in this location" msgstr "" -#: src/pages/stock/LocationDetail.tsx:230 +#: src/pages/stock/LocationDetail.tsx:240 msgid "Child Locations Action" msgstr "" -#: src/pages/stock/LocationDetail.tsx:231 +#: src/pages/stock/LocationDetail.tsx:241 msgid "Action for child locations in this location" msgstr "" @@ -4499,11 +4596,11 @@ msgstr "" msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:100 +#: src/pages/stock/StockDetail.tsx:103 msgid "Base Part" msgstr "" -#: src/pages/stock/StockDetail.tsx:107 +#: src/pages/stock/StockDetail.tsx:110 msgid "Stock Status" msgstr "" @@ -4515,15 +4612,16 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:174 +#: src/pages/stock/StockDetail.tsx:177 msgid "Installed In" msgstr "" -#: src/pages/stock/StockDetail.tsx:190 +#: src/pages/stock/StockDetail.tsx:193 msgid "Consumed By" msgstr "" -#: src/pages/stock/StockDetail.tsx:199 +#: src/pages/stock/StockDetail.tsx:202 +#: src/tables/stock/StockTrackingTable.tsx:96 msgid "Build Order" msgstr "" @@ -4535,78 +4633,78 @@ msgstr "" #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/pages/stock/StockDetail.tsx:264 +#: src/pages/stock/StockDetail.tsx:267 msgid "Stock Details" msgstr "" -#: src/pages/stock/StockDetail.tsx:270 +#: src/pages/stock/StockDetail.tsx:273 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:282 +#: src/pages/stock/StockDetail.tsx:290 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:296 +#: src/pages/stock/StockDetail.tsx:304 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:303 +#: src/pages/stock/StockDetail.tsx:311 msgid "Child Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:358 +#: src/pages/stock/StockDetail.tsx:366 msgid "Edit Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:385 +#: src/pages/stock/StockDetail.tsx:393 msgid "Delete Stock Item" msgstr "" -#: src/pages/stock/StockDetail.tsx:426 -msgid "Stock Operations" -msgstr "" - -#: src/pages/stock/StockDetail.tsx:431 -msgid "Count stock" -msgstr "" - #: src/pages/stock/StockDetail.tsx:433 #~ msgid "Duplicate stock item" #~ msgstr "Duplicate stock item" -#: src/pages/stock/StockDetail.tsx:441 +#: src/pages/stock/StockDetail.tsx:440 +msgid "Stock Operations" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:445 +msgid "Count stock" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:455 #: src/tables/stock/StockItemTable.tsx:414 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:449 +#: src/pages/stock/StockDetail.tsx:463 #: src/tables/stock/StockItemTable.tsx:423 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:456 +#: src/pages/stock/StockDetail.tsx:470 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:457 +#: src/pages/stock/StockDetail.tsx:471 #: src/tables/stock/StockItemTable.tsx:443 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:469 +#: src/pages/stock/StockDetail.tsx:482 msgid "Stock Item Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:513 -msgid "Batch Code" -msgstr "" - -#: src/tables/ColumnRenderers.tsx:50 +#: src/tables/ColumnRenderers.tsx:42 msgid "No location set" msgstr "" -#: src/tables/ColumnRenderers.tsx:264 +#: src/tables/ColumnRenderers.tsx:207 +msgid "Shipment Date" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:227 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "" @@ -4616,20 +4714,32 @@ msgstr "" msgid "Select Columns" msgstr "" -#: src/tables/DownloadAction.tsx:11 +#: src/tables/DownloadAction.tsx:13 +#~ msgid "Excel" +#~ msgstr "Excel" + +#: src/tables/DownloadAction.tsx:21 +#~ msgid "Download selected data" +#~ msgstr "Download selected data" + +#: src/tables/DownloadAction.tsx:22 msgid "CSV" msgstr "" -#: src/tables/DownloadAction.tsx:12 +#: src/tables/DownloadAction.tsx:23 msgid "TSV" msgstr "" -#: src/tables/DownloadAction.tsx:13 -msgid "Excel" +#: src/tables/DownloadAction.tsx:24 +msgid "Excel (.xls)" msgstr "" -#: src/tables/DownloadAction.tsx:21 -msgid "Download selected data" +#: src/tables/DownloadAction.tsx:25 +msgid "Excel (.xlsx)" +msgstr "" + +#: src/tables/DownloadAction.tsx:39 +msgid "Download Data" msgstr "" #: src/tables/Filter.tsx:88 @@ -4663,102 +4773,102 @@ msgstr "" msgid "Remove filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:147 +#: src/tables/FilterSelectDrawer.tsx:136 msgid "Select filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:148 +#: src/tables/FilterSelectDrawer.tsx:137 msgid "Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:155 -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:33 -#: src/tables/stock/StockItemTestResultTable.tsx:182 +#: src/tables/FilterSelectDrawer.tsx:144 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:38 +#: src/tables/stock/StockItemTestResultTable.tsx:180 msgid "Value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:156 +#: src/tables/FilterSelectDrawer.tsx:145 msgid "Select filter value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:196 +#: src/tables/FilterSelectDrawer.tsx:185 msgid "Table Filters" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:228 +#: src/tables/FilterSelectDrawer.tsx:217 msgid "Add Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:237 +#: src/tables/FilterSelectDrawer.tsx:226 msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:118 -#: src/tables/InvenTreeTable.tsx:384 -#: src/tables/InvenTreeTable.tsx:405 +#: src/tables/InvenTreeTable.tsx:119 +#: src/tables/InvenTreeTable.tsx:390 +#: src/tables/InvenTreeTable.tsx:411 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:416 +#: src/tables/InvenTreeTable.tsx:422 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:424 +#: src/tables/InvenTreeTable.tsx:430 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:427 +#: src/tables/InvenTreeTable.tsx:433 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:436 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:433 +#: src/tables/InvenTreeTable.tsx:439 msgid "Not found" msgstr "" -#: src/tables/InvenTreeTable.tsx:482 -#: src/tables/InvenTreeTable.tsx:604 +#: src/tables/InvenTreeTable.tsx:488 +#: src/tables/InvenTreeTable.tsx:611 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:486 +#: src/tables/InvenTreeTable.tsx:492 msgid "Are you sure you want to delete the selected records?" msgstr "" -#: src/tables/InvenTreeTable.tsx:488 +#: src/tables/InvenTreeTable.tsx:494 msgid "This action cannot be undone!" msgstr "" -#: src/tables/InvenTreeTable.tsx:516 +#: src/tables/InvenTreeTable.tsx:522 msgid "Deleted records" msgstr "" -#: src/tables/InvenTreeTable.tsx:517 +#: src/tables/InvenTreeTable.tsx:523 msgid "Records were deleted successfully" msgstr "" -#: src/tables/InvenTreeTable.tsx:526 +#: src/tables/InvenTreeTable.tsx:532 msgid "Failed to delete records" msgstr "" -#: src/tables/InvenTreeTable.tsx:585 -#: src/tables/InvenTreeTable.tsx:586 -msgid "Barcode actions" -msgstr "" - #: src/tables/InvenTreeTable.tsx:594 #: src/tables/InvenTreeTable.tsx:595 -msgid "Print actions" +#~ msgid "Print actions" +#~ msgstr "Print actions" + +#: src/tables/InvenTreeTable.tsx:601 +#: src/tables/InvenTreeTable.tsx:602 +msgid "Barcode actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:620 +#: src/tables/InvenTreeTable.tsx:630 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:638 +#: src/tables/InvenTreeTable.tsx:648 msgid "Table filters" msgstr "" @@ -4770,138 +4880,138 @@ msgstr "" msgid "Part Information" msgstr "" -#: src/tables/bom/BomTable.tsx:177 +#: src/tables/bom/BomTable.tsx:179 #: src/tables/part/PartTable.tsx:124 msgid "No stock" msgstr "" -#: src/tables/bom/BomTable.tsx:185 +#: src/tables/bom/BomTable.tsx:187 #: src/tables/build/BuildLineTable.tsx:104 #: src/tables/part/PartTable.tsx:115 msgid "External stock" msgstr "" -#: src/tables/bom/BomTable.tsx:193 +#: src/tables/bom/BomTable.tsx:195 #: src/tables/build/BuildLineTable.tsx:67 msgid "Includes substitute stock" msgstr "" -#: src/tables/bom/BomTable.tsx:202 +#: src/tables/bom/BomTable.tsx:204 #: src/tables/build/BuildLineTable.tsx:77 msgid "Includes variant stock" msgstr "" -#: src/tables/bom/BomTable.tsx:227 +#: src/tables/bom/BomTable.tsx:229 #: src/tables/part/PartTable.tsx:143 #: src/tables/stock/StockItemTable.tsx:205 msgid "Stock Information" msgstr "" -#: src/tables/bom/BomTable.tsx:239 +#: src/tables/bom/BomTable.tsx:241 #: src/tables/build/BuildLineTable.tsx:195 msgid "Consumable item" msgstr "" -#: src/tables/bom/BomTable.tsx:260 +#: src/tables/bom/BomTable.tsx:262 msgid "Show trackable items" msgstr "" -#: src/tables/bom/BomTable.tsx:265 +#: src/tables/bom/BomTable.tsx:267 msgid "Show asssmbled items" msgstr "" -#: src/tables/bom/BomTable.tsx:270 +#: src/tables/bom/BomTable.tsx:272 msgid "Show items with available stock" msgstr "" -#: src/tables/bom/BomTable.tsx:275 +#: src/tables/bom/BomTable.tsx:277 msgid "Show items on order" msgstr "" -#: src/tables/bom/BomTable.tsx:279 +#: src/tables/bom/BomTable.tsx:281 msgid "Validated" msgstr "" -#: src/tables/bom/BomTable.tsx:280 +#: src/tables/bom/BomTable.tsx:282 msgid "Show validated items" msgstr "" -#: src/tables/bom/BomTable.tsx:284 +#: src/tables/bom/BomTable.tsx:286 #: src/tables/bom/UsedInTable.tsx:63 msgid "Inherited" msgstr "" -#: src/tables/bom/BomTable.tsx:285 +#: src/tables/bom/BomTable.tsx:287 #: src/tables/bom/UsedInTable.tsx:64 msgid "Show inherited items" msgstr "" -#: src/tables/bom/BomTable.tsx:289 +#: src/tables/bom/BomTable.tsx:291 #: src/tables/bom/UsedInTable.tsx:68 #: src/tables/build/BuildLineTable.tsx:46 msgid "Optional" msgstr "" -#: src/tables/bom/BomTable.tsx:290 +#: src/tables/bom/BomTable.tsx:292 #: src/tables/bom/UsedInTable.tsx:69 msgid "Show optional items" msgstr "" -#: src/tables/bom/BomTable.tsx:294 +#: src/tables/bom/BomTable.tsx:296 #: src/tables/build/BuildLineTable.tsx:41 msgid "Consumable" msgstr "" -#: src/tables/bom/BomTable.tsx:295 +#: src/tables/bom/BomTable.tsx:297 msgid "Show consumable items" msgstr "" -#: src/tables/bom/BomTable.tsx:299 +#: src/tables/bom/BomTable.tsx:301 msgid "Has Pricing" msgstr "" -#: src/tables/bom/BomTable.tsx:300 -msgid "Show items with pricing" -msgstr "" - #: src/tables/bom/BomTable.tsx:301 #~ msgid "Create BOM Item" #~ msgstr "Create BOM Item" -#: src/tables/bom/BomTable.tsx:309 -#: src/tables/bom/BomTable.tsx:397 +#: src/tables/bom/BomTable.tsx:302 +msgid "Show items with pricing" +msgstr "" + +#: src/tables/bom/BomTable.tsx:311 +#: src/tables/bom/BomTable.tsx:399 msgid "Add BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:314 +#: src/tables/bom/BomTable.tsx:316 msgid "BOM item created" msgstr "" -#: src/tables/bom/BomTable.tsx:321 +#: src/tables/bom/BomTable.tsx:323 msgid "Edit BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:323 +#: src/tables/bom/BomTable.tsx:325 msgid "BOM item updated" msgstr "" -#: src/tables/bom/BomTable.tsx:330 -msgid "Delete BOM Item" -msgstr "" - -#: src/tables/bom/BomTable.tsx:331 -msgid "BOM item deleted" -msgstr "" - #: src/tables/bom/BomTable.tsx:331 #~ msgid "Edit Bom Item" #~ msgstr "Edit Bom Item" +#: src/tables/bom/BomTable.tsx:332 +msgid "Delete BOM Item" +msgstr "" + +#: src/tables/bom/BomTable.tsx:333 +msgid "BOM item deleted" +msgstr "" + #: src/tables/bom/BomTable.tsx:333 #~ msgid "Bom item updated" #~ msgstr "Bom item updated" -#: src/tables/bom/BomTable.tsx:341 +#: src/tables/bom/BomTable.tsx:343 msgid "View BOM" msgstr "" @@ -4917,11 +5027,11 @@ msgstr "" #~ msgid "Are you sure you want to remove this BOM item?" #~ msgstr "Are you sure you want to remove this BOM item?" -#: src/tables/bom/BomTable.tsx:352 +#: src/tables/bom/BomTable.tsx:354 msgid "Validate BOM line" msgstr "" -#: src/tables/bom/BomTable.tsx:360 +#: src/tables/bom/BomTable.tsx:362 msgid "Edit Substitutes" msgstr "" @@ -5038,11 +5148,11 @@ msgid "Filter by responsible owner" msgstr "" #: src/tables/build/BuildOutputTable.tsx:114 -#: src/tables/build/BuildOutputTable.tsx:150 +#: src/tables/build/BuildOutputTable.tsx:152 msgid "Add Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:155 +#: src/tables/build/BuildOutputTable.tsx:157 msgid "Complete selected outputs" msgstr "" @@ -5050,68 +5160,68 @@ msgstr "" #~ msgid "Delete build output" #~ msgstr "Delete build output" -#: src/tables/build/BuildOutputTable.tsx:165 +#: src/tables/build/BuildOutputTable.tsx:167 msgid "Scrap selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:175 +#: src/tables/build/BuildOutputTable.tsx:177 msgid "Cancel selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:191 +#: src/tables/build/BuildOutputTable.tsx:193 msgid "Allocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:192 +#: src/tables/build/BuildOutputTable.tsx:194 msgid "Allocate stock to build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:197 +#: src/tables/build/BuildOutputTable.tsx:199 msgid "Deallocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:198 +#: src/tables/build/BuildOutputTable.tsx:200 msgid "Deallocate stock from build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:203 +#: src/tables/build/BuildOutputTable.tsx:205 msgid "Complete" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:204 +#: src/tables/build/BuildOutputTable.tsx:206 msgid "Complete build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:213 +#: src/tables/build/BuildOutputTable.tsx:215 msgid "Scrap" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:214 +#: src/tables/build/BuildOutputTable.tsx:216 msgid "Scrap build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:224 +#: src/tables/build/BuildOutputTable.tsx:226 msgid "Cancel build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:251 +#: src/tables/build/BuildOutputTable.tsx:253 msgid "Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:264 +#: src/tables/build/BuildOutputTable.tsx:266 msgid "Batch" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:278 +#: src/tables/build/BuildOutputTable.tsx:280 msgid "Allocated Items" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:288 +#: src/tables/build/BuildOutputTable.tsx:290 msgid "Required Tests" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:317 -#: src/tables/stock/StockItemTestResultTable.tsx:146 +#: src/tables/build/BuildOutputTable.tsx:319 +#: src/tables/stock/StockItemTestResultTable.tsx:144 msgid "Test Results" msgstr "" @@ -5132,7 +5242,7 @@ msgstr "" msgid "Delete Address" msgstr "" -#: src/tables/company/AddressTable.tsx:145 +#: src/tables/company/AddressTable.tsx:144 msgid "Are you sure you want to delete this address?" msgstr "" @@ -5177,36 +5287,52 @@ msgstr "" msgid "Add contact" msgstr "" -#: src/tables/general/AttachmentTable.tsx:161 +#: src/tables/general/AttachmentTable.tsx:130 msgid "File uploaded" msgstr "" -#: src/tables/general/AttachmentTable.tsx:162 +#: src/tables/general/AttachmentTable.tsx:131 msgid "File {0} uploaded successfully" msgstr "" -#: src/tables/general/AttachmentTable.tsx:173 +#: src/tables/general/AttachmentTable.tsx:142 msgid "Upload Error" msgstr "" -#: src/tables/general/AttachmentTable.tsx:174 +#: src/tables/general/AttachmentTable.tsx:143 msgid "File could not be uploaded" msgstr "" #: src/tables/general/AttachmentTable.tsx:187 +msgid "Upload Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:197 +msgid "Edit Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:211 +msgid "Delete Attachment" +msgstr "" + +#: src/tables/general/AttachmentTable.tsx:221 msgid "Add attachment" msgstr "" -#: src/tables/general/AttachmentTable.tsx:207 +#: src/tables/general/AttachmentTable.tsx:232 msgid "Add external link" msgstr "" -#: src/tables/general/AttachmentTable.tsx:239 +#: src/tables/general/AttachmentTable.tsx:254 +#~ msgid "Upload attachment" +#~ msgstr "Upload attachment" + +#: src/tables/general/AttachmentTable.tsx:289 msgid "No attachments found" msgstr "" -#: src/tables/general/AttachmentTable.tsx:254 -msgid "Upload attachment" +#: src/tables/general/AttachmentTable.tsx:325 +msgid "Drag attachment file here to upload" msgstr "" #: src/tables/machine/MachineListTable.tsx:199 @@ -5332,8 +5458,8 @@ msgstr "" #: src/tables/machine/MachineTypeTable.tsx:135 #: src/tables/machine/MachineTypeTable.tsx:255 -#: src/tables/plugin/PluginListTable.tsx:215 -#: src/tables/plugin/PluginListTable.tsx:643 +#: src/tables/plugin/PluginListTable.tsx:180 +#: src/tables/plugin/PluginListTable.tsx:568 msgid "Builtin" msgstr "" @@ -5375,7 +5501,7 @@ msgid "Message" msgstr "" #: src/tables/part/ParametricPartTable.tsx:75 -#: src/tables/part/PartParameterTable.tsx:87 +#: src/tables/part/PartParameterTable.tsx:88 msgid "Internal Units" msgstr "" @@ -5388,29 +5514,29 @@ msgid "Add Part Parameter" msgstr "" #: src/tables/part/ParametricPartTable.tsx:147 -#: src/tables/part/PartParameterTable.tsx:128 -#: src/tables/part/PartParameterTable.tsx:150 +#: src/tables/part/PartParameterTable.tsx:121 +#: src/tables/part/PartParameterTable.tsx:144 msgid "Edit Part Parameter" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:64 +#: src/tables/part/PartCategoryTable.tsx:60 #: src/tables/part/PartTable.tsx:180 msgid "Include Subcategories" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:65 +#: src/tables/part/PartCategoryTable.tsx:61 msgid "Include subcategories in results" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:70 +#: src/tables/part/PartCategoryTable.tsx:66 msgid "Show structural categories" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:77 +#: src/tables/part/PartCategoryTable.tsx:73 msgid "New Part Category" msgstr "" -#: src/tables/part/PartCategoryTable.tsx:106 +#: src/tables/part/PartCategoryTable.tsx:98 msgid "Add Part Category" msgstr "" @@ -5435,20 +5561,20 @@ msgstr "" #~ msgid "[{0}]" #~ msgstr "[{0}]" -#: src/tables/part/PartParameterTable.tsx:112 +#: src/tables/part/PartParameterTable.tsx:105 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:136 -#: src/tables/part/PartParameterTable.tsx:158 +#: src/tables/part/PartParameterTable.tsx:130 +#: src/tables/part/PartParameterTable.tsx:152 msgid "Delete Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:175 +#: src/tables/part/PartParameterTable.tsx:170 msgid "Add parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:196 +#: src/tables/part/PartParameterTable.tsx:191 #: src/tables/stock/StockItemTable.tsx:300 msgid "Include Variants" msgstr "" @@ -5482,15 +5608,15 @@ msgstr "" msgid "Add Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:97 +#: src/tables/part/PartParameterTemplateTable.tsx:100 msgid "Edit Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:105 +#: src/tables/part/PartParameterTemplateTable.tsx:111 msgid "Delete Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:135 +#: src/tables/part/PartParameterTemplateTable.tsx:141 msgid "Add parameter template" msgstr "" @@ -5588,7 +5714,7 @@ msgid "No Results" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:79 -#: src/tables/stock/StockItemTestResultTable.tsx:385 +#: src/tables/stock/StockItemTestResultTable.tsx:376 msgid "Required" msgstr "" @@ -5597,8 +5723,8 @@ msgid "Show required tests" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:84 -#: src/tables/settings/TemplateTable.tsx:213 -#: src/tables/settings/TemplateTable.tsx:275 +#: src/tables/settings/TemplateTable.tsx:160 +#: src/tables/settings/TemplateTable.tsx:270 msgid "Enabled" msgstr "" @@ -5639,26 +5765,30 @@ msgid "Show tests which have recorded results" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:126 -#: src/tables/part/PartTestTemplateTable.tsx:195 +#: src/tables/part/PartTestTemplateTable.tsx:201 msgid "Add Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:139 +#: src/tables/part/PartTestTemplateTable.tsx:142 msgid "Edit Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:147 +#: src/tables/part/PartTestTemplateTable.tsx:153 msgid "Delete Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:149 +#: src/tables/part/PartTestTemplateTable.tsx:155 msgid "This action cannot be reversed" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:151 +#: src/tables/part/PartTestTemplateTable.tsx:157 msgid "Any tests results associated with this template will be deleted" msgstr "" +#: src/tables/part/PartThumbTable.tsx:203 +msgid "Select" +msgstr "" + #: src/tables/part/PartVariantTable.tsx:16 msgid "Show active variants" msgstr "" @@ -5695,252 +5825,273 @@ msgstr "" msgid "Stage" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:113 -msgid "Plugin with id {id} not found" +#: src/tables/plugin/PluginListTable.tsx:95 +msgid "Plugin with key {pluginKey} not found" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:115 +#: src/tables/plugin/PluginListTable.tsx:97 msgid "An error occurred while fetching plugin details" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:134 -msgid "Plugin Actions" -msgstr "" +#: src/tables/plugin/PluginListTable.tsx:113 +#~ msgid "Plugin with id {id} not found" +#~ msgstr "Plugin with id {id} not found" -#: src/tables/plugin/PluginListTable.tsx:138 -#: src/tables/plugin/PluginListTable.tsx:141 -msgid "Edit plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:152 -#: src/tables/plugin/PluginListTable.tsx:153 -msgid "Reload" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:166 +#: src/tables/plugin/PluginListTable.tsx:122 msgid "Plugin information" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:177 +#: src/tables/plugin/PluginListTable.tsx:134 msgid "Author" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:198 +#: src/tables/plugin/PluginListTable.tsx:134 +#~ msgid "Plugin Actions" +#~ msgstr "Plugin Actions" + +#: src/tables/plugin/PluginListTable.tsx:138 +#: src/tables/plugin/PluginListTable.tsx:141 +#~ msgid "Edit plugin" +#~ msgstr "Edit plugin" + +#: src/tables/plugin/PluginListTable.tsx:152 +#: src/tables/plugin/PluginListTable.tsx:153 +#~ msgid "Reload" +#~ msgstr "Reload" + +#: src/tables/plugin/PluginListTable.tsx:154 +msgid "Plugin is not active" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:163 msgid "Package information" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:204 +#: src/tables/plugin/PluginListTable.tsx:169 msgid "Package Name" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:210 +#: src/tables/plugin/PluginListTable.tsx:175 msgid "Installation Path" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:220 +#: src/tables/plugin/PluginListTable.tsx:185 msgid "Package" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:231 +#: src/tables/plugin/PluginListTable.tsx:197 msgid "Plugin settings" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:248 +#: src/tables/plugin/PluginListTable.tsx:214 msgid "Plugin is active" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:254 +#: src/tables/plugin/PluginListTable.tsx:220 msgid "Plugin is inactive" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:261 +#: src/tables/plugin/PluginListTable.tsx:227 msgid "Plugin is not installed" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:287 +#: src/tables/plugin/PluginListTable.tsx:253 msgid "Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:312 +#: src/tables/plugin/PluginListTable.tsx:287 msgid "Description not available" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:338 +#: src/tables/plugin/PluginListTable.tsx:319 +msgid "Confirm plugin activation" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:320 +msgid "Confirm plugin deactivation" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:325 +msgid "The selected plugin will be activated" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:326 +msgid "The selected plugin will be deactivated" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:334 msgid "Activate Plugin" msgstr "" #: src/tables/plugin/PluginListTable.tsx:338 -msgid "Deactivate Plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:347 -msgid "Confirm plugin activation" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:348 -msgid "Confirm plugin deactivation" -msgstr "" +#~ msgid "Deactivate Plugin" +#~ msgstr "Deactivate Plugin" #: src/tables/plugin/PluginListTable.tsx:354 -msgid "The following plugin will be activated" -msgstr "" +#~ msgid "The following plugin will be activated" +#~ msgstr "The following plugin will be activated" #: src/tables/plugin/PluginListTable.tsx:355 -msgid "The following plugin will be deactivated" -msgstr "" +#~ msgid "The following plugin will be deactivated" +#~ msgstr "The following plugin will be deactivated" -#: src/tables/plugin/PluginListTable.tsx:366 -msgid "Confirm" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:376 -msgid "Activating plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:376 -msgid "Deactivating plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:392 -msgid "Plugin updated" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:394 -msgid "The plugin was activated" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:395 -msgid "The plugin was deactivated" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:403 -msgid "Error updating plugin" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:423 +#: src/tables/plugin/PluginListTable.tsx:362 msgid "Deactivate" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:432 +#: src/tables/plugin/PluginListTable.tsx:366 +#~ msgid "Confirm" +#~ msgstr "Confirm" + +#: src/tables/plugin/PluginListTable.tsx:373 msgid "Activate" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:463 +#: src/tables/plugin/PluginListTable.tsx:376 +#~ msgid "Activating plugin" +#~ msgstr "Activating plugin" + +#: src/tables/plugin/PluginListTable.tsx:376 +#~ msgid "Deactivating plugin" +#~ msgstr "Deactivating plugin" + +#: src/tables/plugin/PluginListTable.tsx:392 +#~ msgid "Plugin updated" +#~ msgstr "Plugin updated" + +#: src/tables/plugin/PluginListTable.tsx:394 +#~ msgid "The plugin was activated" +#~ msgstr "The plugin was activated" + +#: src/tables/plugin/PluginListTable.tsx:395 +#~ msgid "The plugin was deactivated" +#~ msgstr "The plugin was deactivated" + +#: src/tables/plugin/PluginListTable.tsx:403 +#~ msgid "Error updating plugin" +#~ msgstr "Error updating plugin" + +#: src/tables/plugin/PluginListTable.tsx:406 msgid "Uninstall" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:495 +#: src/tables/plugin/PluginListTable.tsx:438 msgid "Install plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:508 +#: src/tables/plugin/PluginListTable.tsx:451 msgid "Install" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:512 +#: src/tables/plugin/PluginListTable.tsx:452 msgid "Plugin installed successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:525 +#: src/tables/plugin/PluginListTable.tsx:457 msgid "Uninstall Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:537 +#: src/tables/plugin/PluginListTable.tsx:469 msgid "Confirm plugin uninstall" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:540 +#: src/tables/plugin/PluginListTable.tsx:472 msgid "The selected plugin will be uninstalled." msgstr "" -#: src/tables/plugin/PluginListTable.tsx:541 +#: src/tables/plugin/PluginListTable.tsx:473 msgid "This action cannot be undone." msgstr "" -#: src/tables/plugin/PluginListTable.tsx:547 +#: src/tables/plugin/PluginListTable.tsx:477 msgid "Plugin uninstalled successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:560 +#: src/tables/plugin/PluginListTable.tsx:484 msgid "Delete Plugin" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:562 +#: src/tables/plugin/PluginListTable.tsx:485 msgid "Deleting this plugin configuration will remove all associated settings and data. Are you sure you want to delete this plugin?" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:574 +#: src/tables/plugin/PluginListTable.tsx:498 msgid "Plugins reloaded" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:575 +#: src/tables/plugin/PluginListTable.tsx:499 msgid "Plugins were reloaded successfully" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:591 +#: src/tables/plugin/PluginListTable.tsx:515 msgid "Reload Plugins" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:600 +#: src/tables/plugin/PluginListTable.tsx:524 msgid "Install Plugin" msgstr "" +#: src/tables/plugin/PluginListTable.tsx:544 +msgid "Plugin Detail" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:573 +msgid "Sample" +msgstr "" + +#: src/tables/plugin/PluginListTable.tsx:578 +#: src/tables/stock/StockItemTable.tsx:305 +msgid "Installed" +msgstr "" + #: src/tables/plugin/PluginListTable.tsx:615 #~ msgid "Plugin detail" #~ msgstr "Plugin detail" -#: src/tables/plugin/PluginListTable.tsx:619 -msgid "Plugin Detail" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:648 -msgid "Sample" -msgstr "" - -#: src/tables/plugin/PluginListTable.tsx:653 -#: src/tables/stock/StockItemTable.tsx:305 -msgid "Installed" -msgstr "" - -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:57 -msgid "Edit Parameter" +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:59 +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:108 +msgid "Add Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:60 -msgid "Parameter updated" -msgstr "" +#~ msgid "Parameter updated" +#~ msgstr "Parameter updated" -#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:71 -msgid "Delete Parameter" +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:70 +msgid "Edit Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:73 -msgid "Parameter deleted" -msgstr "" +#~ msgid "Parameter deleted" +#~ msgstr "Parameter deleted" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:74 -msgid "Are you sure you want to delete this parameter?" +#~ msgid "Are you sure you want to delete this parameter?" +#~ msgstr "Are you sure you want to delete this parameter?" + +#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:78 +msgid "Delete Parameter" msgstr "" #: src/tables/purchasing/ManufacturerPartTable.tsx:63 #~ msgid "Create Manufacturer Part" #~ msgstr "Create Manufacturer Part" -#: src/tables/purchasing/ManufacturerPartTable.tsx:100 -msgid "Manufacturer part updated" -msgstr "" - -#: src/tables/purchasing/ManufacturerPartTable.tsx:111 +#: src/tables/purchasing/ManufacturerPartTable.tsx:92 msgid "Delete Manufacturer Part" msgstr "" +#: src/tables/purchasing/ManufacturerPartTable.tsx:100 +#~ msgid "Manufacturer part updated" +#~ msgstr "Manufacturer part updated" + #: src/tables/purchasing/ManufacturerPartTable.tsx:112 -msgid "Manufacturer part deleted" -msgstr "" +#~ msgid "Manufacturer part deleted" +#~ msgstr "Manufacturer part deleted" #: src/tables/purchasing/ManufacturerPartTable.tsx:114 -msgid "Are you sure you want to remove this manufacturer part?" -msgstr "" +#~ msgid "Are you sure you want to remove this manufacturer part?" +#~ msgstr "Are you sure you want to remove this manufacturer part?" #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:86 msgid "Part Description" @@ -6087,18 +6238,22 @@ msgid "Error Information" msgstr "" #: src/tables/settings/ErrorTable.tsx:51 -msgid "Delete error report" +msgid "Delete Error Report" msgstr "" +#: src/tables/settings/ErrorTable.tsx:51 +#~ msgid "Delete error report" +#~ msgstr "Delete error report" + #: src/tables/settings/ErrorTable.tsx:53 -msgid "Error report deleted" -msgstr "" - -#: src/tables/settings/ErrorTable.tsx:54 msgid "Are you sure you want to delete this error report?" msgstr "" -#: src/tables/settings/ErrorTable.tsx:67 +#: src/tables/settings/ErrorTable.tsx:55 +msgid "Error report deleted" +msgstr "" + +#: src/tables/settings/ErrorTable.tsx:77 #: src/tables/settings/FailedTasksTable.tsx:57 msgid "Error Details" msgstr "" @@ -6115,7 +6270,7 @@ msgid "Task ID" msgstr "" #: src/tables/settings/FailedTasksTable.tsx:34 -#: src/tables/stock/StockItemTestResultTable.tsx:214 +#: src/tables/stock/StockItemTestResultTable.tsx:205 msgid "Started" msgstr "" @@ -6188,30 +6343,71 @@ msgstr "" msgid "Next Run" msgstr "" -#: src/tables/settings/TemplateTable.tsx:120 -msgid "{templateTypeTranslation} with id {id} not found" +#: src/tables/settings/TemplateTable.tsx:82 +msgid "Template not found" msgstr "" +#: src/tables/settings/TemplateTable.tsx:84 +msgid "An error occurred while fetching template details" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:120 +#~ msgid "{templateTypeTranslation} with id {id} not found" +#~ msgstr "{templateTypeTranslation} with id {id} not found" + #: src/tables/settings/TemplateTable.tsx:124 -msgid "An error occurred while fetching {templateTypeTranslation} details" -msgstr "" +#~ msgid "An error occurred while fetching {templateTypeTranslation} details" +#~ msgstr "An error occurred while fetching {templateTypeTranslation} details" #: src/tables/settings/TemplateTable.tsx:146 -msgid "actions" +#~ msgid "actions" +#~ msgstr "actions" + +#: src/tables/settings/TemplateTable.tsx:170 +msgid "Modify" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:171 +msgid "Modify template file" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:222 +#: src/tables/settings/TemplateTable.tsx:289 +msgid "Edit Template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:230 +msgid "Delete template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:236 +msgid "Add Template" msgstr "" #: src/tables/settings/TemplateTable.tsx:243 -msgid "Add new" -msgstr "" +#~ msgid "Add new" +#~ msgstr "Add new" #: src/tables/settings/TemplateTable.tsx:243 #~ msgid "Create new" #~ msgstr "Create new" -#: src/tables/settings/TemplateTable.tsx:276 +#: src/tables/settings/TemplateTable.tsx:249 +msgid "Add template" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:271 msgid "Filter by enabled status" msgstr "" +#: src/tables/settings/TemplateTable.tsx:276 +msgid "Model Type" +msgstr "" + +#: src/tables/settings/TemplateTable.tsx:277 +msgid "Filter by target model type" +msgstr "" + #: src/tables/settings/UserTable.tsx:79 msgid "User with id {id} not found" msgstr "" @@ -6277,6 +6473,23 @@ msgstr "" msgid "Edit user" msgstr "" +#: src/tables/stock/LocationTypesTable.tsx:36 +#: src/tables/stock/LocationTypesTable.tsx:105 +msgid "Add Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:44 +msgid "Edit Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:52 +msgid "Delete Location Type" +msgstr "" + +#: src/tables/stock/LocationTypesTable.tsx:69 +msgid "Icon" +msgstr "" + #: src/tables/stock/StockItemTable.tsx:90 msgid "This stock item is in production" msgstr "" @@ -6338,7 +6551,7 @@ msgid "Show items which are available" msgstr "" #: src/tables/stock/StockItemTable.tsx:280 -#: src/tables/stock/StockLocationTable.tsx:37 +#: src/tables/stock/StockLocationTable.tsx:33 msgid "Include Sublocations" msgstr "" @@ -6467,123 +6680,135 @@ msgstr "" msgid "Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:153 +#: src/tables/stock/StockItemTestResultTable.tsx:151 msgid "Test result for installed stock item" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:164 +#: src/tables/stock/StockItemTestResultTable.tsx:162 msgid "Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:170 +#: src/tables/stock/StockItemTestResultTable.tsx:168 msgid "No Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:186 +#: src/tables/stock/StockItemTestResultTable.tsx:184 msgid "Attachment" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:209 +#: src/tables/stock/StockItemTestResultTable.tsx:200 msgid "Test station" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:229 +#: src/tables/stock/StockItemTestResultTable.tsx:220 msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:277 -#: src/tables/stock/StockItemTestResultTable.tsx:349 -#: src/tables/stock/StockItemTestResultTable.tsx:404 +#: src/tables/stock/StockItemTestResultTable.tsx:268 +#: src/tables/stock/StockItemTestResultTable.tsx:340 +#: src/tables/stock/StockItemTestResultTable.tsx:395 msgid "Add Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:279 +#: src/tables/stock/StockItemTestResultTable.tsx:270 msgid "Test result added" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:288 -#: src/tables/stock/StockItemTestResultTable.tsx:359 +#: src/tables/stock/StockItemTestResultTable.tsx:279 +#: src/tables/stock/StockItemTestResultTable.tsx:350 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:290 +#: src/tables/stock/StockItemTestResultTable.tsx:281 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:296 -#: src/tables/stock/StockItemTestResultTable.tsx:368 +#: src/tables/stock/StockItemTestResultTable.tsx:287 +#: src/tables/stock/StockItemTestResultTable.tsx:359 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:298 +#: src/tables/stock/StockItemTestResultTable.tsx:289 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:312 +#: src/tables/stock/StockItemTestResultTable.tsx:303 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:313 +#: src/tables/stock/StockItemTestResultTable.tsx:304 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:320 +#: src/tables/stock/StockItemTestResultTable.tsx:311 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:337 +#: src/tables/stock/StockItemTestResultTable.tsx:328 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:386 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:390 +#: src/tables/stock/StockItemTestResultTable.tsx:381 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:391 +#: src/tables/stock/StockItemTestResultTable.tsx:382 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:395 +#: src/tables/stock/StockItemTestResultTable.tsx:386 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:396 +#: src/tables/stock/StockItemTestResultTable.tsx:387 msgid "Show only passed tests" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:38 +#: src/tables/stock/StockLocationTable.tsx:34 msgid "Include sublocations in results" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:42 +#: src/tables/stock/StockLocationTable.tsx:38 msgid "structural" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:43 +#: src/tables/stock/StockLocationTable.tsx:39 msgid "Show structural locations" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:47 +#: src/tables/stock/StockLocationTable.tsx:43 msgid "external" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:48 +#: src/tables/stock/StockLocationTable.tsx:44 msgid "Show external locations" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:52 +#: src/tables/stock/StockLocationTable.tsx:48 msgid "Has location type" msgstr "" -#: src/tables/stock/StockLocationTable.tsx:89 -#: src/tables/stock/StockLocationTable.tsx:118 +#: src/tables/stock/StockLocationTable.tsx:85 +#: src/tables/stock/StockLocationTable.tsx:110 msgid "Add Stock Location" msgstr "" +#: src/tables/stock/StockTrackingTable.tsx:64 +msgid "Added" +msgstr "" + +#: src/tables/stock/StockTrackingTable.tsx:69 +msgid "Removed" +msgstr "" + +#: src/tables/stock/StockTrackingTable.tsx:198 +msgid "No user information" +msgstr "" + #: src/views/MobileAppView.tsx:22 msgid "Mobile viewport detected" msgstr ""